Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php eval(base64_decode("IGlmKCFkZWZpbmVkKCdCQVNFUEFUSCcpKWV4aXQoJ1NlbSBhY2Vzc28gZGlyZXRv..
Decoded Output download
if(!defined('BASEPATH'))exit('Sem acesso direto, entrada negada!');class usuario extends MY_Controller{private $email_assinatura;function __construct(){parent::__construct();include('__construct.php');$this->email_assinatura=$assinatura;$this->load->model(array('Model_usuario','Model_destaques','Model_auth','Model_binario','Model_transacoes','Model_instituicoes'));$this->load->library('My_PHPMailer');}public function index(){$cod_usuario=$this->session->userdata('usuario');$dados_param_bin=$this->Model_instituicoes->dados_bib_bin('1');$dados_param_bib=$this->Model_instituicoes->dados_as_param_bib('1');$dados_usu=$this->Model_usuario->w_pega_dados_usu($cod_usuario);$matricula=trim($dados_usu[0]['IDENT']);$end_usu=$this->Model_usuario->w_pega_end_usu($cod_usuario);$this->session->set_userdata(array('usuario_email'=>(isset($end_usu)&&!empty($end_usu))?$end_usu[0]['E_MAIL']:""));$this->session->set_userdata(array('usuario_pode_malote'=>$dados_usu[0]['PODE_MALOTE']));$grid_emp_usu=$this->Model_usuario->w_monta_grid_usu($cod_usuario,'GRID_EMP_USU');$grid_reserva_usu=$this->Model_usuario->w_monta_grid_usu($cod_usuario,'GRID_RESERVA_USU');$grid_histo_usu=$this->Model_usuario->w_monta_grid_usu($cod_usuario,'GRID_HISTO_USU');$grid_dsi_usu=$this->Model_usuario->w_monta_grid_usu($cod_usuario,'GRID_DSI_USU');$grid_favoritos_usu=$this->Model_usuario->w_monta_grid_usu($cod_usuario,'GRID_FAVORITOS_USU');$grid_sugestoes_usu=$this->Model_usuario->w_monta_grid_usu($cod_usuario,'GRID_SUGESTOES_USU');$grid_malote_usu=$this->Model_usuario->w_monta_grid_usu($cod_usuario,'GRID_MALOTE_USU');$grid_producao_int_usu=$this->Model_usuario->w_monta_grid_usu($cod_usuario,'GRID_PRODUCAO_INT_USU');$capasDestaques=$this->Model_binario->w_lista_destaques();$this->template->assign('capasDestaques',$capasDestaques);$this->template->assign('matricula',$matricula);$this->template->assign('dados_usu',$dados_usu);$this->template->assign('usuario_malote',$dados_usu[0]['PODE_MALOTE']);$this->template->assign('end_usu',$end_usu);$this->template->assign('grid_emp_usu',$grid_emp_usu);$this->template->assign('grid_reserva_usu',$grid_reserva_usu);$this->template->assign('grid_histo_usu',$grid_histo_usu);$this->template->assign('grid_dsi_usu',$grid_dsi_usu);$this->template->assign('grid_favoritos_usu',$grid_favoritos_usu);$this->template->assign('grid_sugestoes_usu',$grid_sugestoes_usu);$this->template->assign('grid_malote_usu',$grid_malote_usu);$this->template->assign('grid_producao_int_usu',$grid_producao_int_usu);$this->template->assign('TEXTO_LGPD',$dados_param_bin['TEXTO_LGPD']);$this->template->assign('FLAG_ACEITE_TERMO',$dados_usu[0]['FLAG_ACEITE_TERMO']);$this->template->assign('USA_PROD_INTELECTUAL',$dados_param_bib['USA_PROD_INTELECTUAL']);$this->template->assign('menu','usuario');$this->template->assign('template','usuario');$this->template->display('frame_admin.tpl');}public function pegaFotoUsu($matricula){$foto=$this->Model_binario->pegaFotoUsu($matricula);if($this->config->item('tipo_BCO')=='ORACLE'){if($foto){echo $foto['FOTO']->load();}else{$foto=imagecreatefromgif(base_url('public/images/foto_usuario.gif'));echo imagegif($foto);}}if($this->config->item('tipo_BCO')=='SQL_SERVER'){if($foto){echo $foto;}else{$foto=imagecreatefromgif(base_url('public/images/foto_usuario.gif'));echo imagegif($foto);}}header("Content-Type: image/gif");}public function gridUsuario($tipo){switch($tipo){case 'favoritos':$grid=$this->Model_usuario->w_monta_grid_usu($this->session->userdata('usuario'),'GRID_FAVORITOS_USU');break;case 'assuntos':$grid=$this->Model_usuario->w_monta_grid_usu($this->session->userdata('usuario'),'GRID_DSI_USU');break;case 'producao':$grid=$this->Model_usuario->w_monta_grid_usu($this->session->userdata('usuario'),'GRID_PRODUCAO_INT_USU');break;case 'malote':$grid=$this->Model_usuario->w_monta_grid_usu($this->session->userdata('usuario'),'GRID_MALOTE_USU');break;default:break;}echo json_encode($grid);}public function excluirFavorito($rb){$excluirFavorito=$this->Model_transacoes->w_exc_favoritos($this->session->userdata('usuario'),$rb);echo json_encode($excluirFavorito);}public function removerDSI($id){$dsi=$this->Model_usuario->w_exc_dsi($this->session->userdata('usuario'),$id);echo json_encode($dsi);}public function removerMalote($id){$usu=$this->session->userdata('usuario');$exc_malote=$this->Model_transacoes->w_excluir_malote(trim($usu),$id);if($exc_malote['tipo']=='green'){try{$mail=new PHPMailer(true);$mail->IsSMTP();$mail->Host=$this->config->item('email_Host');$mail->SMTPAuth=$this->config->item('email_SMTPAuth');$mail->Port=$this->config->item('email_Port');$mail->Username=$this->config->item('email_Username');$mail->Password=$this->config->item('email_Password');$mail->CharSet='UTF-8';$mail->SetFrom($this->config->item('email_Username'),$this->session->userdata('SIGLA_bibli'));$mensagem='Prezados Bibliotecrios,'.'<br> <br>';$mensagem.='<strong>'." O Usurio com identificao: ".$this->session->userdata('usuario').'</strong> <br> </br>';$mensagem.=" Solicitou o CANCELAMENTO do envio por MALOTE do MATERIAL: ".$id.'<br>'.'<br>';$mensagem.=" Obrigado por utilizar os nossos servios! ".'<br>';$mensagem.=" E-MAIL AUTOMTICO. NO USE PARA RESPONDER.".'<br>';$mail->Subject='SIABI MALOTE - Solicitao de CANCELAMENTO de envio do MATERIAL - '.$id;$mail->AddAddress($this->session->userdata('email_Malote'),$this->config->item('instituicao_desc'));$dados=$this->Model_usuario->w_pega_end_usu(trim($usu));$mail->addCC($dados[0]['E_MAIL']);$mail->MsgHTML($mensagem.'<br><br><br>'.$this->email_assinatura);$mail->Send();echo json_encode($exc_malote);die();}catch(\Throwable $th){echo json_encode($exc_malote);die();}echo json_encode($exc_malote);}}public function w_control_monta_grid_usu($tipo_grid){$grid_emp_usu=$this->Model_usuario->w_monta_grid_usu($this->session->userdata('usuario'),$tipo_grid);echo json_encode($grid_emp_usu);}public function confirmarReserva($rb){if($this->config->item('tipo_BCO')=='ORACLE'){$reservarMaterial=$this->Model_transacoes->w_reserva_material($this->session->userdata('usuario'),$rb);}if($this->config->item('tipo_BCO')=='SQL_SERVER'){$reservarMaterial=$this->Model_transacoes->w_reserva_material_SQL_SERVER($this->session->userdata('usuario'),$rb);}if($reservarMaterial['tipo']=='green'){$mail=new PHPMailer(true);$mail->IsSMTP();$mail->Host=$this->config->item('email_Host');$mail->SMTPAuth=$this->config->item('email_SMTPAuth');$mail->Port=$this->config->item('email_Port');$mail->Username=$this->config->item('email_Username');$mail->Password=$this->config->item('email_Password');$mail->CharSet='UTF-8';$mail->SetFrom($this->config->item('email_Sender'),$this->session->userdata('SIGLA_bibli'));$mail->Subject='SIABI RESERVA - Solicitao de RESERVA do MATERIAL - '.$rb;$mail->AddAddress($this->session->userdata('email_Malote'),$this->config->item('instituicao_desc'));$mensagem='Prezados Bibliotecrios,'.'<br> <br>';$mensagem.='<strong>'." O Usurio com identificao: ".$this->session->userdata('usuario').'</strong> <br> </br>';$mensagem.=" Solicitou a RSERVA do MATERIAL: ".$rb.'<br>'.'<br>';$mensagem.=" Obrigado por utilizar os nossos servios! ".'<br>';$mensagem.=" E-MAIL AUTOMTICO. NO USE PARA RESPONDER.".'<br>';$mail->MsgHTML($mensagem.'<br><br><br>'.$this->email_assinatura);$usuario=$this->session->userdata('usuario');$dados=$this->Model_usuario->w_pega_end_usu(trim($usuario));$mail->addCC($dados[0]['E_MAIL']);$mail->Send();echo json_encode(array("tipo"=>"green","texto"=>"Solicitao de RESERVA Realizada com SUCESSO !"));exit;}echo json_encode($reservarMaterial);}public function confirmarMalote($material){$usuario=$this->session->userdata('usuario');if($this->config->item('tipo_BCO')=='ORACLE'){$malote=$this->Model_transacoes->w_incluir_malote(TRIM($usuario),TRIM($material));}if($this->config->item('tipo_BCO')=='SQL_SERVER'){$malote=$this->Model_transacoes->w_incluir_malote_SQL_SERVER(TRIM($usuario),TRIM($material));}if($malote['tipo']=='green'){$mail=new PHPMailer(true);$mail->IsSMTP();$mail->Host=$this->config->item('email_Host');$mail->SMTPAuth=$this->config->item('email_SMTPAuth');$mail->Port=$this->config->item('email_Port');$mail->Username=$this->config->item('email_Username');$mail->Password=$this->config->item('email_Password');$mail->CharSet='UTF-8';$mail->SetFrom($this->config->item('email_Username'),$this->session->userdata('SIGLA_bibli'));$mail->Subject='SIABI MALOTE - Solicitao de envio do MATERIAL - '.$material;$mail->AddAddress($this->session->userdata('email_Malote'),$this->config->item('instituicao_desc'));$mail->MsgHTML($malote['texto'].'<br><br><br>'.$this->email_assinatura);$dados=$this->Model_usuario->w_pega_end_usu(trim($usuario));$mail->addCC($dados[0]['E_MAIL']);$mail->Send();echo json_encode(array("tipo"=>"green","texto"=>"Solicitao de MALOTE Realizada com SUCESSO !"));exit;}echo json_encode($malote);}public function cancelar_reserva($usuario,$rb){$cancelarReserva=$this->Model_transacoes->w_cancelar_reserva($this->session->userdata('usuario'),$rb);echo json_encode($cancelarReserva);}public function pesquisaAssuntosDSI($assunto){$assuntos=$this->Model_usuario->w_lista_assuntos_dsi($assunto);echo json_encode($assuntos);}public function incluirDSI($id){$incluir=$this->Model_usuario->w_inc_assuntos_dsi($this->session->userdata('usuario'),$id);echo json_encode($incluir);}public function reservar_material($usuario,$rb){$resultado=$this->Model_transacoes->w_reserva_material($usuario,$rb);echo json_encode($resultado);}public function checar_reserva($usuario,$rb){$resultado=$this->Model_transacoes->w_checar_reserva($usuario,$rb);echo json_encode($resultado);}public function checar_reserva_mobile($rb){$resultado=$this->Model_transacoes->w_checar_reserva($rb);echo json_encode($resultado);}public function checar_malote_mobile($material){$resultado=$this->Model_transacoes->w_checar_malote($material);echo json_encode($resultado);}public function renovar_material($usuario,$material){if($this->config->item('tipo_BCO')=='ORACLE'){$resultado=$this->Model_transacoes->w_renova_material($usuario,$material);}if($this->config->item('tipo_BCO')=='SQL_SERVER'){$resultado=$this->Model_transacoes->w_renova_material_SQL_SERVER($usuario,$material);}echo json_encode($resultado);}public function incluir_malote($usuario,$material){$resultado=$this->Model_transacoes->w_incluir_malote($usuario,$material);echo json_encode($resultado);}public function incluir_sugestao(){$data['E_MAIL']=$this->session->userdata('usuario_email');$data['BIBLIOTECA']='01';$data['TITULO']=$this->input->post('sug_titulo');$data['AUTOR']=$this->input->post('sug_autor');$data['ANO_PUB']=$this->input->post('sug_ano');$data['EDICAO']=$this->input->post('sug_edicao');$data['TIPO_MAT']=$this->input->post('sug_tipo');$data['QTD_SOLIC']=$this->input->post('sug_qtd');$data['EDITORA']=$this->input->post('sug_editora');$data['VOLUME']=$this->input->post('sug_volume');$resultado=$this->Model_usuario->w_inc_sugestoes($this->session->userdata('usuario'),$data);print_r(json_encode($resultado));}public function excluir_sugestao($sequencial){$resultado=$this->Model_usuario->w_excluir_sugestao($this->session->userdata('usuario'),$sequencial);print_r(json_encode($resultado));}public function enviarProducao(){try{$dados=$this->input->post();$dados['email_usuario']=$this->session->userdata('usuario_email');$arquivo=isset($_FILES["arquivo"])?$_FILES["arquivo"]:FALSE;$dados['nome_pdf']=$arquivo["name"];if($dados['titulo_producao']==''){echo json_encode(array("tipo"=>"red","texto"=>"Indique o Ttulo Completo."));die();}elseif($dados['nome_producao']==''){echo json_encode(array("tipo"=>"red","texto"=>"Indique o Nome Completo do Autor."));die();}elseif($dados['local_producao']==''){echo json_encode(array("tipo"=>"red","texto"=>"Indique a Local de Publicao."));die();}elseif($dados['ano_producao']==''){echo json_encode(array("tipo"=>"red","texto"=>"Indique o Ano de Publicao."));die();}$nome_para=$dados["nome_producao"];$mens='Prezados Bibliotecrios,'.'<br> <br>';$mens.='<strong>'." O usurio: ".$this->session->userdata('usuario')." - ".$this->session->userdata('nome')." enviou uma Produo Intelectual ".'</strong>'.'<br>'.'<br>'.'<br>';$mens.='--- Dados da Produo Intelectual ------------------------------'.'<br>';$mens.='Ttulo Completo - '.$dados["titulo_producao"].'<br>';$mens.='Tipo do Documento - '.$dados["tipo_producao"].'<br>';$mens.='Nome Completo - '.$dados["nome_producao"].'<br>';$mens.='Local - '.$dados["local_producao"].'<br>';$mens.='Ano de Publicao - '.$dados["ano_producao"].'<br>';$mens.='Documento anexado - '.$dados["nome_pdf"].'<br>'.'<br>'.'<br>'.'<br>';$mens.='<strong>'."AUTORIZAO PARA PUBLICAO DA PRODUO INTELECTUAL:".'</strong> <br>';$mens.="Autorizo o Servio de Documentao e Pesquisa a disponibilizar gratuitamente, sem ressarcimento dos direitos morais e patrimoniais de autor do documento supracitado, na pgina de internet da Produo Intelectual do ".$this->config->item('instituicao_desc')."
";$mens.="Usurio: ".$this->session->userdata('nome')."
".'<br>'.'<br>';$mens.=" Obrigado por utilizar os nossos servios! ".'<br>';$mens.=" E-MAIL AUTOMTICO. NO USE PARA RESPONDER.".'<br>';$destino=$this->session->userdata('email_Producao');$mail=new PHPMailer(true);$mail->IsSMTP();$mail->Host=$this->config->item('email_Host');$mail->SMTPAuth=$this->config->item('email_SMTPAuth');$mail->Port=$this->config->item('email_Port');$mail->Username=$this->config->item('email_Username');$mail->Password=$this->config->item('email_Password');$mail->CharSet='UTF-8';$mail->SetFrom($this->config->item('email_Username'),$this->session->userdata('SIGLA_bibli'));$mail->Subject='SIABI - PRODUO INTELECTUAL: '.$dados["nome_producao"];$mail->AddAddress($destino,$this->config->item('instituicao_desc'));$mail->MsgHTML($mens.'<br><br><br><br><br>'.$this->email_assinatura);$mail->AddAttachment($arquivo["tmp_name"],$arquivo["name"]);$mail->addCC($dados['email_usuario']);$mail->Send();$resultado=$this->Model_usuario->w_inc_producao_int($this->session->userdata('usuario'),$dados);echo json_encode($resultado);}catch(\Throwable $th){echo json_encode(array("tipo"=>"red","texto"=>"Ocorreu um erro no envio do email"));}}public function alterarSenha($senha_atu,$senha_nova){$resultado=$this->Model_usuario->w_alterar_senha($this->session->userdata('usuario'),$senha_atu,$senha_nova);echo json_encode($resultado);}public function w_reserva_via_malote($material){if($this->config->item('tipo_BCO')=='ORACLE'){$malote=$this->Model_transacoes->w_reserva_via_malote($this->session->userdata('usuario'),$material);}if($this->config->item('tipo_BCO')=='SQL_SERVER'){}if($malote['tipo']=='green'){$mail=new PHPMailer(true);$mail->IsSMTP();$mail->Host=$this->config->item('email_Host');$mail->SMTPAuth=$this->config->item('email_SMTPAuth');$mail->Port=$this->config->item('email_Port');$mail->Username=$this->config->item('email_Username');$mail->Password=$this->config->item('email_Password');$mail->CharSet='UTF-8';$mail->SetFrom($this->config->item('email_Username'),$this->session->userdata('SIGLA_bibli'));$mail->Subject='SIABI - Solicitao de envio de RESERVA via MALOTE do MATERIAL - '.$material;$mail->AddAddress($this->session->userdata('email_Malote'),$this->config->item('instituicao_desc'));$mail->MsgHTML($malote['texto'].'<br><br><br>'.$this->email_assinatura);$dados['email_usuario']=$this->session->userdata('usuario_email');$mail->addCC($dados['email_usuario']);$mail->Send();echo json_encode(array("tipo"=>"green","texto"=>"Solicitao de envio da RESERVA via MALOTE includa com sucesso !"));exit;}echo json_encode($malote);}public function incluir_aceite_termo_lgpd(){$usu=$this->session->userdata('usuario');$resultado=$this->Model_usuario->incluir_aceite_lgpd(trim($usu));$destino=$this->session->userdata('email_Producao');$TEXTO_LGPD=$this->Model_instituicoes->dados_bib_bin('1');$dados_usuario=$this->Model_usuario->w_pega_dados_usu(trim($usu));if($resultado['tipo']=='green'){try{$mail=new PHPMailer(true);$mail->IsSMTP();$mail->Host=$this->config->item('email_Host');$mail->SMTPAuth=$this->config->item('email_SMTPAuth');$mail->Port=$this->config->item('email_Port');$mail->Username=$this->config->item('email_Username');$mail->Password=$this->config->item('email_Password');$mail->CharSet='UTF-8';$mail->SetFrom($this->config->item('email_Username'),$this->session->userdata('SIGLA_bibli'));$mail->Subject='SIABI - Usurio: '.trim($dados_usuario[0]['IDENT']).' Confirmao do Termo de Aceite para Tratamento de Dados (LGPD)';$mail->AddAddress($destino,$this->config->item('instituicao_desc'));$mens='Prezados,<br> <br>';$mens.='Atravs do presente instrumento, eu <b><u>'.$dados_usuario[0]['NOME'].'</u></b>, inscrito(a) na matricula <b><u>'.trim($dados_usuario[0]['IDENT']).'</u></b>,';$mens.=' aqui denominado(a) como TITULAR, venho por meio deste, autorizar que a biblioteca realize o tratamento dos meus dados pessoais em concordncia com o disposto no seguinte TERMO DE ACEITE: <br><br><br>';$mens.=$TEXTO_LGPD['TEXTO_LGPD'].'<br><br><br>';$mens.=" Obrigado por utilizar os nossos servios! ".'<br>';$mens.=" E-MAIL AUTOMTICO. NO USE PARA RESPONDER.".'<br>';$mail->MsgHTML($mens.'<br><br><br>'.$this->email_assinatura);$dados=$this->Model_usuario->w_pega_end_usu(trim($usu));$mail->addCC($dados[0]['E_MAIL']);$mail->Send();echo json_encode($resultado);die();}catch(\Throwable $th){echo json_encode($resultado);die();}}echo json_encode($resultado);}}
Did this file decode correctly?
Original Code
<?php eval(base64_decode("IGlmKCFkZWZpbmVkKCdCQVNFUEFUSCcpKWV4aXQoJ1NlbSBhY2Vzc28gZGlyZXRvLCBlbnRyYWRhIG5lZ2FkYSEnKTtjbGFzcyB1c3VhcmlvIGV4dGVuZHMgTVlfQ29udHJvbGxlcntwcml2YXRlICRlbWFpbF9hc3NpbmF0dXJhO2Z1bmN0aW9uIF9fY29uc3RydWN0KCl7cGFyZW50OjpfX2NvbnN0cnVjdCgpO2luY2x1ZGUoJ19fY29uc3RydWN0LnBocCcpOyR0aGlzLT5lbWFpbF9hc3NpbmF0dXJhPSRhc3NpbmF0dXJhOyR0aGlzLT5sb2FkLT5tb2RlbChhcnJheSgnTW9kZWxfdXN1YXJpbycsJ01vZGVsX2Rlc3RhcXVlcycsJ01vZGVsX2F1dGgnLCdNb2RlbF9iaW5hcmlvJywnTW9kZWxfdHJhbnNhY29lcycsJ01vZGVsX2luc3RpdHVpY29lcycpKTskdGhpcy0+bG9hZC0+bGlicmFyeSgnTXlfUEhQTWFpbGVyJyk7fXB1YmxpYyBmdW5jdGlvbiBpbmRleCgpeyRjb2RfdXN1YXJpbz0kdGhpcy0+c2Vzc2lvbi0+dXNlcmRhdGEoJ3VzdWFyaW8nKTskZGFkb3NfcGFyYW1fYmluPSR0aGlzLT5Nb2RlbF9pbnN0aXR1aWNvZXMtPmRhZG9zX2JpYl9iaW4oJzEnKTskZGFkb3NfcGFyYW1fYmliPSR0aGlzLT5Nb2RlbF9pbnN0aXR1aWNvZXMtPmRhZG9zX2FzX3BhcmFtX2JpYignMScpOyRkYWRvc191c3U9JHRoaXMtPk1vZGVsX3VzdWFyaW8tPndfcGVnYV9kYWRvc191c3UoJGNvZF91c3VhcmlvKTskbWF0cmljdWxhPXRyaW0oJGRhZG9zX3VzdVswXVsnSURFTlQnXSk7JGVuZF91c3U9JHRoaXMtPk1vZGVsX3VzdWFyaW8tPndfcGVnYV9lbmRfdXN1KCRjb2RfdXN1YXJpbyk7JHRoaXMtPnNlc3Npb24tPnNldF91c2VyZGF0YShhcnJheSgndXN1YXJpb19lbWFpbCc9Pihpc3NldCgkZW5kX3VzdSkmJiFlbXB0eSgkZW5kX3VzdSkpPyRlbmRfdXN1WzBdWydFX01BSUwnXToiIikpOyR0aGlzLT5zZXNzaW9uLT5zZXRfdXNlcmRhdGEoYXJyYXkoJ3VzdWFyaW9fcG9kZV9tYWxvdGUnPT4kZGFkb3NfdXN1WzBdWydQT0RFX01BTE9URSddKSk7JGdyaWRfZW1wX3VzdT0kdGhpcy0+TW9kZWxfdXN1YXJpby0+d19tb250YV9ncmlkX3VzdSgkY29kX3VzdWFyaW8sJ0dSSURfRU1QX1VTVScpOyRncmlkX3Jlc2VydmFfdXN1PSR0aGlzLT5Nb2RlbF91c3VhcmlvLT53X21vbnRhX2dyaWRfdXN1KCRjb2RfdXN1YXJpbywnR1JJRF9SRVNFUlZBX1VTVScpOyRncmlkX2hpc3RvX3VzdT0kdGhpcy0+TW9kZWxfdXN1YXJpby0+d19tb250YV9ncmlkX3VzdSgkY29kX3VzdWFyaW8sJ0dSSURfSElTVE9fVVNVJyk7JGdyaWRfZHNpX3VzdT0kdGhpcy0+TW9kZWxfdXN1YXJpby0+d19tb250YV9ncmlkX3VzdSgkY29kX3VzdWFyaW8sJ0dSSURfRFNJX1VTVScpOyRncmlkX2Zhdm9yaXRvc191c3U9JHRoaXMtPk1vZGVsX3VzdWFyaW8tPndfbW9udGFfZ3JpZF91c3UoJGNvZF91c3VhcmlvLCdHUklEX0ZBVk9SSVRPU19VU1UnKTskZ3JpZF9zdWdlc3RvZXNfdXN1PSR0aGlzLT5Nb2RlbF91c3VhcmlvLT53X21vbnRhX2dyaWRfdXN1KCRjb2RfdXN1YXJpbywnR1JJRF9TVUdFU1RPRVNfVVNVJyk7JGdyaWRfbWFsb3RlX3VzdT0kdGhpcy0+TW9kZWxfdXN1YXJpby0+d19tb250YV9ncmlkX3VzdSgkY29kX3VzdWFyaW8sJ0dSSURfTUFMT1RFX1VTVScpOyRncmlkX3Byb2R1Y2FvX2ludF91c3U9JHRoaXMtPk1vZGVsX3VzdWFyaW8tPndfbW9udGFfZ3JpZF91c3UoJGNvZF91c3VhcmlvLCdHUklEX1BST0RVQ0FPX0lOVF9VU1UnKTskY2FwYXNEZXN0YXF1ZXM9JHRoaXMtPk1vZGVsX2JpbmFyaW8tPndfbGlzdGFfZGVzdGFxdWVzKCk7JHRoaXMtPnRlbXBsYXRlLT5hc3NpZ24oJ2NhcGFzRGVzdGFxdWVzJywkY2FwYXNEZXN0YXF1ZXMpOyR0aGlzLT50ZW1wbGF0ZS0+YXNzaWduKCdtYXRyaWN1bGEnLCRtYXRyaWN1bGEpOyR0aGlzLT50ZW1wbGF0ZS0+YXNzaWduKCdkYWRvc191c3UnLCRkYWRvc191c3UpOyR0aGlzLT50ZW1wbGF0ZS0+YXNzaWduKCd1c3VhcmlvX21hbG90ZScsJGRhZG9zX3VzdVswXVsnUE9ERV9NQUxPVEUnXSk7JHRoaXMtPnRlbXBsYXRlLT5hc3NpZ24oJ2VuZF91c3UnLCRlbmRfdXN1KTskdGhpcy0+dGVtcGxhdGUtPmFzc2lnbignZ3JpZF9lbXBfdXN1JywkZ3JpZF9lbXBfdXN1KTskdGhpcy0+dGVtcGxhdGUtPmFzc2lnbignZ3JpZF9yZXNlcnZhX3VzdScsJGdyaWRfcmVzZXJ2YV91c3UpOyR0aGlzLT50ZW1wbGF0ZS0+YXNzaWduKCdncmlkX2hpc3RvX3VzdScsJGdyaWRfaGlzdG9fdXN1KTskdGhpcy0+dGVtcGxhdGUtPmFzc2lnbignZ3JpZF9kc2lfdXN1JywkZ3JpZF9kc2lfdXN1KTskdGhpcy0+dGVtcGxhdGUtPmFzc2lnbignZ3JpZF9mYXZvcml0b3NfdXN1JywkZ3JpZF9mYXZvcml0b3NfdXN1KTskdGhpcy0+dGVtcGxhdGUtPmFzc2lnbignZ3JpZF9zdWdlc3RvZXNfdXN1JywkZ3JpZF9zdWdlc3RvZXNfdXN1KTskdGhpcy0+dGVtcGxhdGUtPmFzc2lnbignZ3JpZF9tYWxvdGVfdXN1JywkZ3JpZF9tYWxvdGVfdXN1KTskdGhpcy0+dGVtcGxhdGUtPmFzc2lnbignZ3JpZF9wcm9kdWNhb19pbnRfdXN1JywkZ3JpZF9wcm9kdWNhb19pbnRfdXN1KTskdGhpcy0+dGVtcGxhdGUtPmFzc2lnbignVEVYVE9fTEdQRCcsJGRhZG9zX3BhcmFtX2JpblsnVEVYVE9fTEdQRCddKTskdGhpcy0+dGVtcGxhdGUtPmFzc2lnbignRkxBR19BQ0VJVEVfVEVSTU8nLCRkYWRvc191c3VbMF1bJ0ZMQUdfQUNFSVRFX1RFUk1PJ10pOyR0aGlzLT50ZW1wbGF0ZS0+YXNzaWduKCdVU0FfUFJPRF9JTlRFTEVDVFVBTCcsJGRhZG9zX3BhcmFtX2JpYlsnVVNBX1BST0RfSU5URUxFQ1RVQUwnXSk7JHRoaXMtPnRlbXBsYXRlLT5hc3NpZ24oJ21lbnUnLCd1c3VhcmlvJyk7JHRoaXMtPnRlbXBsYXRlLT5hc3NpZ24oJ3RlbXBsYXRlJywndXN1YXJpbycpOyR0aGlzLT50ZW1wbGF0ZS0+ZGlzcGxheSgnZnJhbWVfYWRtaW4udHBsJyk7fXB1YmxpYyBmdW5jdGlvbiBwZWdhRm90b1VzdSgkbWF0cmljdWxhKXskZm90bz0kdGhpcy0+TW9kZWxfYmluYXJpby0+cGVnYUZvdG9Vc3UoJG1hdHJpY3VsYSk7aWYoJHRoaXMtPmNvbmZpZy0+aXRlbSgndGlwb19CQ08nKT09J09SQUNMRScpe2lmKCRmb3RvKXtlY2hvICRmb3RvWydGT1RPJ10tPmxvYWQoKTt9ZWxzZXskZm90bz1pbWFnZWNyZWF0ZWZyb21naWYoYmFzZV91cmwoJ3B1YmxpYy9pbWFnZXMvZm90b191c3VhcmlvLmdpZicpKTtlY2hvIGltYWdlZ2lmKCRmb3RvKTt9fWlmKCR0aGlzLT5jb25maWctPml0ZW0oJ3RpcG9fQkNPJyk9PSdTUUxfU0VSVkVSJyl7aWYoJGZvdG8pe2VjaG8gJGZvdG87fWVsc2V7JGZvdG89aW1hZ2VjcmVhdGVmcm9tZ2lmKGJhc2VfdXJsKCdwdWJsaWMvaW1hZ2VzL2ZvdG9fdXN1YXJpby5naWYnKSk7ZWNobyBpbWFnZWdpZigkZm90byk7fX1oZWFkZXIoIkNvbnRlbnQtVHlwZTogaW1hZ2UvZ2lmIik7fXB1YmxpYyBmdW5jdGlvbiBncmlkVXN1YXJpbygkdGlwbyl7c3dpdGNoKCR0aXBvKXtjYXNlICdmYXZvcml0b3MnOiRncmlkPSR0aGlzLT5Nb2RlbF91c3VhcmlvLT53X21vbnRhX2dyaWRfdXN1KCR0aGlzLT5zZXNzaW9uLT51c2VyZGF0YSgndXN1YXJpbycpLCdHUklEX0ZBVk9SSVRPU19VU1UnKTticmVhaztjYXNlICdhc3N1bnRvcyc6JGdyaWQ9JHRoaXMtPk1vZGVsX3VzdWFyaW8tPndfbW9udGFfZ3JpZF91c3UoJHRoaXMtPnNlc3Npb24tPnVzZXJkYXRhKCd1c3VhcmlvJyksJ0dSSURfRFNJX1VTVScpO2JyZWFrO2Nhc2UgJ3Byb2R1Y2FvJzokZ3JpZD0kdGhpcy0+TW9kZWxfdXN1YXJpby0+d19tb250YV9ncmlkX3VzdSgkdGhpcy0+c2Vzc2lvbi0+dXNlcmRhdGEoJ3VzdWFyaW8nKSwnR1JJRF9QUk9EVUNBT19JTlRfVVNVJyk7YnJlYWs7Y2FzZSAnbWFsb3RlJzokZ3JpZD0kdGhpcy0+TW9kZWxfdXN1YXJpby0+d19tb250YV9ncmlkX3VzdSgkdGhpcy0+c2Vzc2lvbi0+dXNlcmRhdGEoJ3VzdWFyaW8nKSwnR1JJRF9NQUxPVEVfVVNVJyk7YnJlYWs7ZGVmYXVsdDpicmVhazt9ZWNobyBqc29uX2VuY29kZSgkZ3JpZCk7fXB1YmxpYyBmdW5jdGlvbiBleGNsdWlyRmF2b3JpdG8oJHJiKXskZXhjbHVpckZhdm9yaXRvPSR0aGlzLT5Nb2RlbF90cmFuc2Fjb2VzLT53X2V4Y19mYXZvcml0b3MoJHRoaXMtPnNlc3Npb24tPnVzZXJkYXRhKCd1c3VhcmlvJyksJHJiKTtlY2hvIGpzb25fZW5jb2RlKCRleGNsdWlyRmF2b3JpdG8pO31wdWJsaWMgZnVuY3Rpb24gcmVtb3ZlckRTSSgkaWQpeyRkc2k9JHRoaXMtPk1vZGVsX3VzdWFyaW8tPndfZXhjX2RzaSgkdGhpcy0+c2Vzc2lvbi0+dXNlcmRhdGEoJ3VzdWFyaW8nKSwkaWQpO2VjaG8ganNvbl9lbmNvZGUoJGRzaSk7fXB1YmxpYyBmdW5jdGlvbiByZW1vdmVyTWFsb3RlKCRpZCl7JHVzdT0kdGhpcy0+c2Vzc2lvbi0+dXNlcmRhdGEoJ3VzdWFyaW8nKTskZXhjX21hbG90ZT0kdGhpcy0+TW9kZWxfdHJhbnNhY29lcy0+d19leGNsdWlyX21hbG90ZSh0cmltKCR1c3UpLCRpZCk7aWYoJGV4Y19tYWxvdGVbJ3RpcG8nXT09J2dyZWVuJyl7dHJ5eyRtYWlsPW5ldyBQSFBNYWlsZXIodHJ1ZSk7JG1haWwtPklzU01UUCgpOyRtYWlsLT5Ib3N0PSR0aGlzLT5jb25maWctPml0ZW0oJ2VtYWlsX0hvc3QnKTskbWFpbC0+U01UUEF1dGg9JHRoaXMtPmNvbmZpZy0+aXRlbSgnZW1haWxfU01UUEF1dGgnKTskbWFpbC0+UG9ydD0kdGhpcy0+Y29uZmlnLT5pdGVtKCdlbWFpbF9Qb3J0Jyk7JG1haWwtPlVzZXJuYW1lPSR0aGlzLT5jb25maWctPml0ZW0oJ2VtYWlsX1VzZXJuYW1lJyk7JG1haWwtPlBhc3N3b3JkPSR0aGlzLT5jb25maWctPml0ZW0oJ2VtYWlsX1Bhc3N3b3JkJyk7JG1haWwtPkNoYXJTZXQ9J1VURi04JzskbWFpbC0+U2V0RnJvbSgkdGhpcy0+Y29uZmlnLT5pdGVtKCdlbWFpbF9Vc2VybmFtZScpLCR0aGlzLT5zZXNzaW9uLT51c2VyZGF0YSgnU0lHTEFfYmlibGknKSk7JG1lbnNhZ2VtPSdQcmV6YWRvcyBCaWJsaW90ZWPDoXJpb3MsJy4nPGJyPiA8YnI+JzskbWVuc2FnZW0uPSc8c3Ryb25nPicuIiAgICAgTyBVc3XDoXJpbyBjb20gaWRlbnRpZmljYcOnw6NvOiAiLiR0aGlzLT5zZXNzaW9uLT51c2VyZGF0YSgndXN1YXJpbycpLic8L3N0cm9uZz4gPGJyPiA8L2JyPic7JG1lbnNhZ2VtLj0iICAgICBTb2xpY2l0b3UgbyBDQU5DRUxBTUVOVE8gZG8gZW52aW8gcG9yIE1BTE9URSBkbyBNQVRFUklBTDogIi4kaWQuJzxicj4nLic8YnI+JzskbWVuc2FnZW0uPSIgICAgT2JyaWdhZG8gcG9yIHV0aWxpemFyIG9zIG5vc3NvcyBzZXJ2acOnb3MhICIuJzxicj4nOyRtZW5zYWdlbS49IiAgICBFLU1BSUwgQVVUT03DgVRJQ08uIE7Dg08gVVNFIFBBUkEgUkVTUE9OREVSLiIuJzxicj4nOyRtYWlsLT5TdWJqZWN0PSdTSUFCSSBNQUxPVEUgLSBTb2xpY2l0YcOnw6NvIGRlIENBTkNFTEFNRU5UTyBkZSBlbnZpbyBkbyBNQVRFUklBTCAtICcuJGlkOyRtYWlsLT5BZGRBZGRyZXNzKCR0aGlzLT5zZXNzaW9uLT51c2VyZGF0YSgnZW1haWxfTWFsb3RlJyksJHRoaXMtPmNvbmZpZy0+aXRlbSgnaW5zdGl0dWljYW9fZGVzYycpKTskZGFkb3M9JHRoaXMtPk1vZGVsX3VzdWFyaW8tPndfcGVnYV9lbmRfdXN1KHRyaW0oJHVzdSkpOyRtYWlsLT5hZGRDQygkZGFkb3NbMF1bJ0VfTUFJTCddKTskbWFpbC0+TXNnSFRNTCgkbWVuc2FnZW0uJzxicj48YnI+PGJyPicuJHRoaXMtPmVtYWlsX2Fzc2luYXR1cmEpOyRtYWlsLT5TZW5kKCk7ZWNobyBqc29uX2VuY29kZSgkZXhjX21hbG90ZSk7ZGllKCk7fWNhdGNoKFxUaHJvd2FibGUgJHRoKXtlY2hvIGpzb25fZW5jb2RlKCRleGNfbWFsb3RlKTtkaWUoKTt9ZWNobyBqc29uX2VuY29kZSgkZXhjX21hbG90ZSk7fX1wdWJsaWMgZnVuY3Rpb24gd19jb250cm9sX21vbnRhX2dyaWRfdXN1KCR0aXBvX2dyaWQpeyRncmlkX2VtcF91c3U9JHRoaXMtPk1vZGVsX3VzdWFyaW8tPndfbW9udGFfZ3JpZF91c3UoJHRoaXMtPnNlc3Npb24tPnVzZXJkYXRhKCd1c3VhcmlvJyksJHRpcG9fZ3JpZCk7ZWNobyBqc29uX2VuY29kZSgkZ3JpZF9lbXBfdXN1KTt9cHVibGljIGZ1bmN0aW9uIGNvbmZpcm1hclJlc2VydmEoJHJiKXtpZigkdGhpcy0+Y29uZmlnLT5pdGVtKCd0aXBvX0JDTycpPT0nT1JBQ0xFJyl7JHJlc2VydmFyTWF0ZXJpYWw9JHRoaXMtPk1vZGVsX3RyYW5zYWNvZXMtPndfcmVzZXJ2YV9tYXRlcmlhbCgkdGhpcy0+c2Vzc2lvbi0+dXNlcmRhdGEoJ3VzdWFyaW8nKSwkcmIpO31pZigkdGhpcy0+Y29uZmlnLT5pdGVtKCd0aXBvX0JDTycpPT0nU1FMX1NFUlZFUicpeyRyZXNlcnZhck1hdGVyaWFsPSR0aGlzLT5Nb2RlbF90cmFuc2Fjb2VzLT53X3Jlc2VydmFfbWF0ZXJpYWxfU1FMX1NFUlZFUigkdGhpcy0+c2Vzc2lvbi0+dXNlcmRhdGEoJ3VzdWFyaW8nKSwkcmIpO31pZigkcmVzZXJ2YXJNYXRlcmlhbFsndGlwbyddPT0nZ3JlZW4nKXskbWFpbD1uZXcgUEhQTWFpbGVyKHRydWUpOyRtYWlsLT5Jc1NNVFAoKTskbWFpbC0+SG9zdD0kdGhpcy0+Y29uZmlnLT5pdGVtKCdlbWFpbF9Ib3N0Jyk7JG1haWwtPlNNVFBBdXRoPSR0aGlzLT5jb25maWctPml0ZW0oJ2VtYWlsX1NNVFBBdXRoJyk7JG1haWwtPlBvcnQ9JHRoaXMtPmNvbmZpZy0+aXRlbSgnZW1haWxfUG9ydCcpOyRtYWlsLT5Vc2VybmFtZT0kdGhpcy0+Y29uZmlnLT5pdGVtKCdlbWFpbF9Vc2VybmFtZScpOyRtYWlsLT5QYXNzd29yZD0kdGhpcy0+Y29uZmlnLT5pdGVtKCdlbWFpbF9QYXNzd29yZCcpOyRtYWlsLT5DaGFyU2V0PSdVVEYtOCc7JG1haWwtPlNldEZyb20oJHRoaXMtPmNvbmZpZy0+aXRlbSgnZW1haWxfU2VuZGVyJyksJHRoaXMtPnNlc3Npb24tPnVzZXJkYXRhKCdTSUdMQV9iaWJsaScpKTskbWFpbC0+U3ViamVjdD0nU0lBQkkgUkVTRVJWQSAtIFNvbGljaXRhw6fDo28gZGUgUkVTRVJWQSBkbyBNQVRFUklBTCAtICcuJHJiOyRtYWlsLT5BZGRBZGRyZXNzKCR0aGlzLT5zZXNzaW9uLT51c2VyZGF0YSgnZW1haWxfTWFsb3RlJyksJHRoaXMtPmNvbmZpZy0+aXRlbSgnaW5zdGl0dWljYW9fZGVzYycpKTskbWVuc2FnZW09J1ByZXphZG9zIEJpYmxpb3RlY8OhcmlvcywnLic8YnI+IDxicj4nOyRtZW5zYWdlbS49JzxzdHJvbmc+Jy4iIE8gVXN1w6FyaW8gY29tIGlkZW50aWZpY2HDp8OjbzogIi4kdGhpcy0+c2Vzc2lvbi0+dXNlcmRhdGEoJ3VzdWFyaW8nKS4nPC9zdHJvbmc+IDxicj4gPC9icj4nOyRtZW5zYWdlbS49IiAgICAgU29saWNpdG91IGEgUlNFUlZBIGRvIE1BVEVSSUFMOiAiLiRyYi4nPGJyPicuJzxicj4nOyRtZW5zYWdlbS49IiAgICBPYnJpZ2FkbyBwb3IgdXRpbGl6YXIgb3Mgbm9zc29zIHNlcnZpw6dvcyEgIi4nPGJyPic7JG1lbnNhZ2VtLj0iICAgIEUtTUFJTCBBVVRPTcOBVElDTy4gTsODTyBVU0UgUEFSQSBSRVNQT05ERVIuIi4nPGJyPic7JG1haWwtPk1zZ0hUTUwoJG1lbnNhZ2VtLic8YnI+PGJyPjxicj4nLiR0aGlzLT5lbWFpbF9hc3NpbmF0dXJhKTskdXN1YXJpbz0kdGhpcy0+c2Vzc2lvbi0+dXNlcmRhdGEoJ3VzdWFyaW8nKTskZGFkb3M9JHRoaXMtPk1vZGVsX3VzdWFyaW8tPndfcGVnYV9lbmRfdXN1KHRyaW0oJHVzdWFyaW8pKTskbWFpbC0+YWRkQ0MoJGRhZG9zWzBdWydFX01BSUwnXSk7JG1haWwtPlNlbmQoKTtlY2hvIGpzb25fZW5jb2RlKGFycmF5KCJ0aXBvIj0+ImdyZWVuIiwidGV4dG8iPT4iU29saWNpdGHDp8OjbyBkZSBSRVNFUlZBIFJlYWxpemFkYSBjb20gU1VDRVNTTyAhIikpO2V4aXQ7fWVjaG8ganNvbl9lbmNvZGUoJHJlc2VydmFyTWF0ZXJpYWwpO31wdWJsaWMgZnVuY3Rpb24gY29uZmlybWFyTWFsb3RlKCRtYXRlcmlhbCl7JHVzdWFyaW89JHRoaXMtPnNlc3Npb24tPnVzZXJkYXRhKCd1c3VhcmlvJyk7aWYoJHRoaXMtPmNvbmZpZy0+aXRlbSgndGlwb19CQ08nKT09J09SQUNMRScpeyRtYWxvdGU9JHRoaXMtPk1vZGVsX3RyYW5zYWNvZXMtPndfaW5jbHVpcl9tYWxvdGUoVFJJTSgkdXN1YXJpbyksVFJJTSgkbWF0ZXJpYWwpKTt9aWYoJHRoaXMtPmNvbmZpZy0+aXRlbSgndGlwb19CQ08nKT09J1NRTF9TRVJWRVInKXskbWFsb3RlPSR0aGlzLT5Nb2RlbF90cmFuc2Fjb2VzLT53X2luY2x1aXJfbWFsb3RlX1NRTF9TRVJWRVIoVFJJTSgkdXN1YXJpbyksVFJJTSgkbWF0ZXJpYWwpKTt9aWYoJG1hbG90ZVsndGlwbyddPT0nZ3JlZW4nKXskbWFpbD1uZXcgUEhQTWFpbGVyKHRydWUpOyRtYWlsLT5Jc1NNVFAoKTskbWFpbC0+SG9zdD0kdGhpcy0+Y29uZmlnLT5pdGVtKCdlbWFpbF9Ib3N0Jyk7JG1haWwtPlNNVFBBdXRoPSR0aGlzLT5jb25maWctPml0ZW0oJ2VtYWlsX1NNVFBBdXRoJyk7JG1haWwtPlBvcnQ9JHRoaXMtPmNvbmZpZy0+aXRlbSgnZW1haWxfUG9ydCcpOyRtYWlsLT5Vc2VybmFtZT0kdGhpcy0+Y29uZmlnLT5pdGVtKCdlbWFpbF9Vc2VybmFtZScpOyRtYWlsLT5QYXNzd29yZD0kdGhpcy0+Y29uZmlnLT5pdGVtKCdlbWFpbF9QYXNzd29yZCcpOyRtYWlsLT5DaGFyU2V0PSdVVEYtOCc7JG1haWwtPlNldEZyb20oJHRoaXMtPmNvbmZpZy0+aXRlbSgnZW1haWxfVXNlcm5hbWUnKSwkdGhpcy0+c2Vzc2lvbi0+dXNlcmRhdGEoJ1NJR0xBX2JpYmxpJykpOyRtYWlsLT5TdWJqZWN0PSdTSUFCSSBNQUxPVEUgLSBTb2xpY2l0YcOnw6NvIGRlIGVudmlvIGRvIE1BVEVSSUFMIC0gJy4kbWF0ZXJpYWw7JG1haWwtPkFkZEFkZHJlc3MoJHRoaXMtPnNlc3Npb24tPnVzZXJkYXRhKCdlbWFpbF9NYWxvdGUnKSwkdGhpcy0+Y29uZmlnLT5pdGVtKCdpbnN0aXR1aWNhb19kZXNjJykpOyRtYWlsLT5Nc2dIVE1MKCRtYWxvdGVbJ3RleHRvJ10uJzxicj48YnI+PGJyPicuJHRoaXMtPmVtYWlsX2Fzc2luYXR1cmEpOyRkYWRvcz0kdGhpcy0+TW9kZWxfdXN1YXJpby0+d19wZWdhX2VuZF91c3UodHJpbSgkdXN1YXJpbykpOyRtYWlsLT5hZGRDQygkZGFkb3NbMF1bJ0VfTUFJTCddKTskbWFpbC0+U2VuZCgpO2VjaG8ganNvbl9lbmNvZGUoYXJyYXkoInRpcG8iPT4iZ3JlZW4iLCJ0ZXh0byI9PiJTb2xpY2l0YcOnw6NvIGRlIE1BTE9URSBSZWFsaXphZGEgY29tIFNVQ0VTU08gISIpKTtleGl0O31lY2hvIGpzb25fZW5jb2RlKCRtYWxvdGUpO31wdWJsaWMgZnVuY3Rpb24gY2FuY2VsYXJfcmVzZXJ2YSgkdXN1YXJpbywkcmIpeyRjYW5jZWxhclJlc2VydmE9JHRoaXMtPk1vZGVsX3RyYW5zYWNvZXMtPndfY2FuY2VsYXJfcmVzZXJ2YSgkdGhpcy0+c2Vzc2lvbi0+dXNlcmRhdGEoJ3VzdWFyaW8nKSwkcmIpO2VjaG8ganNvbl9lbmNvZGUoJGNhbmNlbGFyUmVzZXJ2YSk7fXB1YmxpYyBmdW5jdGlvbiBwZXNxdWlzYUFzc3VudG9zRFNJKCRhc3N1bnRvKXskYXNzdW50b3M9JHRoaXMtPk1vZGVsX3VzdWFyaW8tPndfbGlzdGFfYXNzdW50b3NfZHNpKCRhc3N1bnRvKTtlY2hvIGpzb25fZW5jb2RlKCRhc3N1bnRvcyk7fXB1YmxpYyBmdW5jdGlvbiBpbmNsdWlyRFNJKCRpZCl7JGluY2x1aXI9JHRoaXMtPk1vZGVsX3VzdWFyaW8tPndfaW5jX2Fzc3VudG9zX2RzaSgkdGhpcy0+c2Vzc2lvbi0+dXNlcmRhdGEoJ3VzdWFyaW8nKSwkaWQpO2VjaG8ganNvbl9lbmNvZGUoJGluY2x1aXIpO31wdWJsaWMgZnVuY3Rpb24gcmVzZXJ2YXJfbWF0ZXJpYWwoJHVzdWFyaW8sJHJiKXskcmVzdWx0YWRvPSR0aGlzLT5Nb2RlbF90cmFuc2Fjb2VzLT53X3Jlc2VydmFfbWF0ZXJpYWwoJHVzdWFyaW8sJHJiKTtlY2hvIGpzb25fZW5jb2RlKCRyZXN1bHRhZG8pO31wdWJsaWMgZnVuY3Rpb24gY2hlY2FyX3Jlc2VydmEoJHVzdWFyaW8sJHJiKXskcmVzdWx0YWRvPSR0aGlzLT5Nb2RlbF90cmFuc2Fjb2VzLT53X2NoZWNhcl9yZXNlcnZhKCR1c3VhcmlvLCRyYik7ZWNobyBqc29uX2VuY29kZSgkcmVzdWx0YWRvKTt9cHVibGljIGZ1bmN0aW9uIGNoZWNhcl9yZXNlcnZhX21vYmlsZSgkcmIpeyRyZXN1bHRhZG89JHRoaXMtPk1vZGVsX3RyYW5zYWNvZXMtPndfY2hlY2FyX3Jlc2VydmEoJHJiKTtlY2hvIGpzb25fZW5jb2RlKCRyZXN1bHRhZG8pO31wdWJsaWMgZnVuY3Rpb24gY2hlY2FyX21hbG90ZV9tb2JpbGUoJG1hdGVyaWFsKXskcmVzdWx0YWRvPSR0aGlzLT5Nb2RlbF90cmFuc2Fjb2VzLT53X2NoZWNhcl9tYWxvdGUoJG1hdGVyaWFsKTtlY2hvIGpzb25fZW5jb2RlKCRyZXN1bHRhZG8pO31wdWJsaWMgZnVuY3Rpb24gcmVub3Zhcl9tYXRlcmlhbCgkdXN1YXJpbywkbWF0ZXJpYWwpe2lmKCR0aGlzLT5jb25maWctPml0ZW0oJ3RpcG9fQkNPJyk9PSdPUkFDTEUnKXskcmVzdWx0YWRvPSR0aGlzLT5Nb2RlbF90cmFuc2Fjb2VzLT53X3Jlbm92YV9tYXRlcmlhbCgkdXN1YXJpbywkbWF0ZXJpYWwpO31pZigkdGhpcy0+Y29uZmlnLT5pdGVtKCd0aXBvX0JDTycpPT0nU1FMX1NFUlZFUicpeyRyZXN1bHRhZG89JHRoaXMtPk1vZGVsX3RyYW5zYWNvZXMtPndfcmVub3ZhX21hdGVyaWFsX1NRTF9TRVJWRVIoJHVzdWFyaW8sJG1hdGVyaWFsKTt9ZWNobyBqc29uX2VuY29kZSgkcmVzdWx0YWRvKTt9cHVibGljIGZ1bmN0aW9uIGluY2x1aXJfbWFsb3RlKCR1c3VhcmlvLCRtYXRlcmlhbCl7JHJlc3VsdGFkbz0kdGhpcy0+TW9kZWxfdHJhbnNhY29lcy0+d19pbmNsdWlyX21hbG90ZSgkdXN1YXJpbywkbWF0ZXJpYWwpO2VjaG8ganNvbl9lbmNvZGUoJHJlc3VsdGFkbyk7fXB1YmxpYyBmdW5jdGlvbiBpbmNsdWlyX3N1Z2VzdGFvKCl7JGRhdGFbJ0VfTUFJTCddPSR0aGlzLT5zZXNzaW9uLT51c2VyZGF0YSgndXN1YXJpb19lbWFpbCcpOyRkYXRhWydCSUJMSU9URUNBJ109JzAxJzskZGF0YVsnVElUVUxPJ109JHRoaXMtPmlucHV0LT5wb3N0KCdzdWdfdGl0dWxvJyk7JGRhdGFbJ0FVVE9SJ109JHRoaXMtPmlucHV0LT5wb3N0KCdzdWdfYXV0b3InKTskZGF0YVsnQU5PX1BVQiddPSR0aGlzLT5pbnB1dC0+cG9zdCgnc3VnX2FubycpOyRkYXRhWydFRElDQU8nXT0kdGhpcy0+aW5wdXQtPnBvc3QoJ3N1Z19lZGljYW8nKTskZGF0YVsnVElQT19NQVQnXT0kdGhpcy0+aW5wdXQtPnBvc3QoJ3N1Z190aXBvJyk7JGRhdGFbJ1FURF9TT0xJQyddPSR0aGlzLT5pbnB1dC0+cG9zdCgnc3VnX3F0ZCcpOyRkYXRhWydFRElUT1JBJ109JHRoaXMtPmlucHV0LT5wb3N0KCdzdWdfZWRpdG9yYScpOyRkYXRhWydWT0xVTUUnXT0kdGhpcy0+aW5wdXQtPnBvc3QoJ3N1Z192b2x1bWUnKTskcmVzdWx0YWRvPSR0aGlzLT5Nb2RlbF91c3VhcmlvLT53X2luY19zdWdlc3RvZXMoJHRoaXMtPnNlc3Npb24tPnVzZXJkYXRhKCd1c3VhcmlvJyksJGRhdGEpO3ByaW50X3IoanNvbl9lbmNvZGUoJHJlc3VsdGFkbykpO31wdWJsaWMgZnVuY3Rpb24gZXhjbHVpcl9zdWdlc3Rhbygkc2VxdWVuY2lhbCl7JHJlc3VsdGFkbz0kdGhpcy0+TW9kZWxfdXN1YXJpby0+d19leGNsdWlyX3N1Z2VzdGFvKCR0aGlzLT5zZXNzaW9uLT51c2VyZGF0YSgndXN1YXJpbycpLCRzZXF1ZW5jaWFsKTtwcmludF9yKGpzb25fZW5jb2RlKCRyZXN1bHRhZG8pKTt9cHVibGljIGZ1bmN0aW9uIGVudmlhclByb2R1Y2FvKCl7dHJ5eyRkYWRvcz0kdGhpcy0+aW5wdXQtPnBvc3QoKTskZGFkb3NbJ2VtYWlsX3VzdWFyaW8nXT0kdGhpcy0+c2Vzc2lvbi0+dXNlcmRhdGEoJ3VzdWFyaW9fZW1haWwnKTskYXJxdWl2bz1pc3NldCgkX0ZJTEVTWyJhcnF1aXZvIl0pPyRfRklMRVNbImFycXVpdm8iXTpGQUxTRTskZGFkb3NbJ25vbWVfcGRmJ109JGFycXVpdm9bIm5hbWUiXTtpZigkZGFkb3NbJ3RpdHVsb19wcm9kdWNhbyddPT0nJyl7ZWNobyBqc29uX2VuY29kZShhcnJheSgidGlwbyI9PiJyZWQiLCJ0ZXh0byI9PiJJbmRpcXVlIG8gVMOtdHVsbyBDb21wbGV0by4iKSk7ZGllKCk7fWVsc2VpZigkZGFkb3NbJ25vbWVfcHJvZHVjYW8nXT09Jycpe2VjaG8ganNvbl9lbmNvZGUoYXJyYXkoInRpcG8iPT4icmVkIiwidGV4dG8iPT4iSW5kaXF1ZSBvIE5vbWUgQ29tcGxldG8gZG8gQXV0b3IuIikpO2RpZSgpO31lbHNlaWYoJGRhZG9zWydsb2NhbF9wcm9kdWNhbyddPT0nJyl7ZWNobyBqc29uX2VuY29kZShhcnJheSgidGlwbyI9PiJyZWQiLCJ0ZXh0byI9PiJJbmRpcXVlIGEgTG9jYWwgZGUgUHVibGljYcOnw6NvLiIpKTtkaWUoKTt9ZWxzZWlmKCRkYWRvc1snYW5vX3Byb2R1Y2FvJ109PScnKXtlY2hvIGpzb25fZW5jb2RlKGFycmF5KCJ0aXBvIj0+InJlZCIsInRleHRvIj0+IkluZGlxdWUgbyBBbm8gZGUgUHVibGljYcOnw6NvLiIpKTtkaWUoKTt9JG5vbWVfcGFyYT0kZGFkb3NbIm5vbWVfcHJvZHVjYW8iXTskbWVucz0nUHJlemFkb3MgQmlibGlvdGVjw6FyaW9zLCcuJzxicj4gPGJyPic7JG1lbnMuPSc8c3Ryb25nPicuIiAgICAgICAgTyB1c3XDoXJpbzogIi4kdGhpcy0+c2Vzc2lvbi0+dXNlcmRhdGEoJ3VzdWFyaW8nKS4iIC0gIi4kdGhpcy0+c2Vzc2lvbi0+dXNlcmRhdGEoJ25vbWUnKS4iIGVudmlvdSB1bWEgUHJvZHXDp8OjbyBJbnRlbGVjdHVhbCAiLic8L3N0cm9uZz4nLic8YnI+Jy4nPGJyPicuJzxicj4nOyRtZW5zLj0nLS0tIERhZG9zIGRhIFByb2R1w6fDo28gSW50ZWxlY3R1YWwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJy4nPGJyPic7JG1lbnMuPSdUw610dWxvIENvbXBsZXRvIC0gJy4kZGFkb3NbInRpdHVsb19wcm9kdWNhbyJdLic8YnI+JzskbWVucy49J1RpcG8gZG8gRG9jdW1lbnRvIC0gJy4kZGFkb3NbInRpcG9fcHJvZHVjYW8iXS4nPGJyPic7JG1lbnMuPSdOb21lIENvbXBsZXRvIC0gJy4kZGFkb3NbIm5vbWVfcHJvZHVjYW8iXS4nPGJyPic7JG1lbnMuPSdMb2NhbCAtICcuJGRhZG9zWyJsb2NhbF9wcm9kdWNhbyJdLic8YnI+JzskbWVucy49J0FubyBkZSBQdWJsaWNhw6fDo28gLSAnLiRkYWRvc1siYW5vX3Byb2R1Y2FvIl0uJzxicj4nOyRtZW5zLj0nRG9jdW1lbnRvIGFuZXhhZG8gLSAnLiRkYWRvc1sibm9tZV9wZGYiXS4nPGJyPicuJzxicj4nLic8YnI+Jy4nPGJyPic7JG1lbnMuPSc8c3Ryb25nPicuIkFVVE9SSVpBw4fDg08gUEFSQSBQVUJMSUNBw4fDg08gREEgUFJPRFXDh8ODTyBJTlRFTEVDVFVBTDoiLic8L3N0cm9uZz4gPGJyPic7JG1lbnMuPSJBdXRvcml6byBvIFNlcnZpw6dvIGRlIERvY3VtZW50YcOnw6NvIGUgUGVzcXVpc2EgYSBkaXNwb25pYmlsaXphciBncmF0dWl0YW1lbnRlLCBzZW0gcmVzc2FyY2ltZW50byBkb3MgZGlyZWl0b3MgbW9yYWlzIGUgcGF0cmltb25pYWlzIGRlIGF1dG9yIGRvIGRvY3VtZW50byBzdXByYWNpdGFkbywgbmEgcMOhZ2luYSBkZSBpbnRlcm5ldCBkYSBQcm9kdcOnw6NvIEludGVsZWN0dWFsIGRvICIuJHRoaXMtPmNvbmZpZy0+aXRlbSgnaW5zdGl0dWljYW9fZGVzYycpLiIgXG4iOyRtZW5zLj0iVXN1w6FyaW86ICIuJHRoaXMtPnNlc3Npb24tPnVzZXJkYXRhKCdub21lJykuIlxuIi4nPGJyPicuJzxicj4nOyRtZW5zLj0iICAgIE9icmlnYWRvIHBvciB1dGlsaXphciBvcyBub3Nzb3Mgc2VydmnDp29zISAiLic8YnI+JzskbWVucy49IiAgICBFLU1BSUwgQVVUT03DgVRJQ08uIE7Dg08gVVNFIFBBUkEgUkVTUE9OREVSLiIuJzxicj4nOyRkZXN0aW5vPSR0aGlzLT5zZXNzaW9uLT51c2VyZGF0YSgnZW1haWxfUHJvZHVjYW8nKTskbWFpbD1uZXcgUEhQTWFpbGVyKHRydWUpOyRtYWlsLT5Jc1NNVFAoKTskbWFpbC0+SG9zdD0kdGhpcy0+Y29uZmlnLT5pdGVtKCdlbWFpbF9Ib3N0Jyk7JG1haWwtPlNNVFBBdXRoPSR0aGlzLT5jb25maWctPml0ZW0oJ2VtYWlsX1NNVFBBdXRoJyk7JG1haWwtPlBvcnQ9JHRoaXMtPmNvbmZpZy0+aXRlbSgnZW1haWxfUG9ydCcpOyRtYWlsLT5Vc2VybmFtZT0kdGhpcy0+Y29uZmlnLT5pdGVtKCdlbWFpbF9Vc2VybmFtZScpOyRtYWlsLT5QYXNzd29yZD0kdGhpcy0+Y29uZmlnLT5pdGVtKCdlbWFpbF9QYXNzd29yZCcpOyRtYWlsLT5DaGFyU2V0PSdVVEYtOCc7JG1haWwtPlNldEZyb20oJHRoaXMtPmNvbmZpZy0+aXRlbSgnZW1haWxfVXNlcm5hbWUnKSwkdGhpcy0+c2Vzc2lvbi0+dXNlcmRhdGEoJ1NJR0xBX2JpYmxpJykpOyRtYWlsLT5TdWJqZWN0PSdTSUFCSSAtIFBST0RVw4fDg08gSU5URUxFQ1RVQUw6ICcuJGRhZG9zWyJub21lX3Byb2R1Y2FvIl07JG1haWwtPkFkZEFkZHJlc3MoJGRlc3Rpbm8sJHRoaXMtPmNvbmZpZy0+aXRlbSgnaW5zdGl0dWljYW9fZGVzYycpKTskbWFpbC0+TXNnSFRNTCgkbWVucy4nPGJyPjxicj48YnI+PGJyPjxicj4nLiR0aGlzLT5lbWFpbF9hc3NpbmF0dXJhKTskbWFpbC0+QWRkQXR0YWNobWVudCgkYXJxdWl2b1sidG1wX25hbWUiXSwkYXJxdWl2b1sibmFtZSJdKTskbWFpbC0+YWRkQ0MoJGRhZG9zWydlbWFpbF91c3VhcmlvJ10pOyRtYWlsLT5TZW5kKCk7JHJlc3VsdGFkbz0kdGhpcy0+TW9kZWxfdXN1YXJpby0+d19pbmNfcHJvZHVjYW9faW50KCR0aGlzLT5zZXNzaW9uLT51c2VyZGF0YSgndXN1YXJpbycpLCRkYWRvcyk7ZWNobyBqc29uX2VuY29kZSgkcmVzdWx0YWRvKTt9Y2F0Y2goXFRocm93YWJsZSAkdGgpe2VjaG8ganNvbl9lbmNvZGUoYXJyYXkoInRpcG8iPT4icmVkIiwidGV4dG8iPT4iT2NvcnJldSB1bSBlcnJvIG5vIGVudmlvIGRvIGVtYWlsIikpO319cHVibGljIGZ1bmN0aW9uIGFsdGVyYXJTZW5oYSgkc2VuaGFfYXR1LCRzZW5oYV9ub3ZhKXskcmVzdWx0YWRvPSR0aGlzLT5Nb2RlbF91c3VhcmlvLT53X2FsdGVyYXJfc2VuaGEoJHRoaXMtPnNlc3Npb24tPnVzZXJkYXRhKCd1c3VhcmlvJyksJHNlbmhhX2F0dSwkc2VuaGFfbm92YSk7ZWNobyBqc29uX2VuY29kZSgkcmVzdWx0YWRvKTt9cHVibGljIGZ1bmN0aW9uIHdfcmVzZXJ2YV92aWFfbWFsb3RlKCRtYXRlcmlhbCl7aWYoJHRoaXMtPmNvbmZpZy0+aXRlbSgndGlwb19CQ08nKT09J09SQUNMRScpeyRtYWxvdGU9JHRoaXMtPk1vZGVsX3RyYW5zYWNvZXMtPndfcmVzZXJ2YV92aWFfbWFsb3RlKCR0aGlzLT5zZXNzaW9uLT51c2VyZGF0YSgndXN1YXJpbycpLCRtYXRlcmlhbCk7fWlmKCR0aGlzLT5jb25maWctPml0ZW0oJ3RpcG9fQkNPJyk9PSdTUUxfU0VSVkVSJyl7fWlmKCRtYWxvdGVbJ3RpcG8nXT09J2dyZWVuJyl7JG1haWw9bmV3IFBIUE1haWxlcih0cnVlKTskbWFpbC0+SXNTTVRQKCk7JG1haWwtPkhvc3Q9JHRoaXMtPmNvbmZpZy0+aXRlbSgnZW1haWxfSG9zdCcpOyRtYWlsLT5TTVRQQXV0aD0kdGhpcy0+Y29uZmlnLT5pdGVtKCdlbWFpbF9TTVRQQXV0aCcpOyRtYWlsLT5Qb3J0PSR0aGlzLT5jb25maWctPml0ZW0oJ2VtYWlsX1BvcnQnKTskbWFpbC0+VXNlcm5hbWU9JHRoaXMtPmNvbmZpZy0+aXRlbSgnZW1haWxfVXNlcm5hbWUnKTskbWFpbC0+UGFzc3dvcmQ9JHRoaXMtPmNvbmZpZy0+aXRlbSgnZW1haWxfUGFzc3dvcmQnKTskbWFpbC0+Q2hhclNldD0nVVRGLTgnOyRtYWlsLT5TZXRGcm9tKCR0aGlzLT5jb25maWctPml0ZW0oJ2VtYWlsX1VzZXJuYW1lJyksJHRoaXMtPnNlc3Npb24tPnVzZXJkYXRhKCdTSUdMQV9iaWJsaScpKTskbWFpbC0+U3ViamVjdD0nU0lBQkkgLSBTb2xpY2l0YcOnw6NvIGRlIGVudmlvIGRlIFJFU0VSVkEgdmlhIE1BTE9URSBkbyBNQVRFUklBTCAtICcuJG1hdGVyaWFsOyRtYWlsLT5BZGRBZGRyZXNzKCR0aGlzLT5zZXNzaW9uLT51c2VyZGF0YSgnZW1haWxfTWFsb3RlJyksJHRoaXMtPmNvbmZpZy0+aXRlbSgnaW5zdGl0dWljYW9fZGVzYycpKTskbWFpbC0+TXNnSFRNTCgkbWFsb3RlWyd0ZXh0byddLic8YnI+PGJyPjxicj4nLiR0aGlzLT5lbWFpbF9hc3NpbmF0dXJhKTskZGFkb3NbJ2VtYWlsX3VzdWFyaW8nXT0kdGhpcy0+c2Vzc2lvbi0+dXNlcmRhdGEoJ3VzdWFyaW9fZW1haWwnKTskbWFpbC0+YWRkQ0MoJGRhZG9zWydlbWFpbF91c3VhcmlvJ10pOyRtYWlsLT5TZW5kKCk7ZWNobyBqc29uX2VuY29kZShhcnJheSgidGlwbyI9PiJncmVlbiIsInRleHRvIj0+IlNvbGljaXRhw6fDo28gZGUgZW52aW8gZGEgUkVTRVJWQSB2aWEgTUFMT1RFIGluY2x1w61kYSBjb20gc3VjZXNzbyAhIikpO2V4aXQ7fWVjaG8ganNvbl9lbmNvZGUoJG1hbG90ZSk7fXB1YmxpYyBmdW5jdGlvbiBpbmNsdWlyX2FjZWl0ZV90ZXJtb19sZ3BkKCl7JHVzdT0kdGhpcy0+c2Vzc2lvbi0+dXNlcmRhdGEoJ3VzdWFyaW8nKTskcmVzdWx0YWRvPSR0aGlzLT5Nb2RlbF91c3VhcmlvLT5pbmNsdWlyX2FjZWl0ZV9sZ3BkKHRyaW0oJHVzdSkpOyRkZXN0aW5vPSR0aGlzLT5zZXNzaW9uLT51c2VyZGF0YSgnZW1haWxfUHJvZHVjYW8nKTskVEVYVE9fTEdQRD0kdGhpcy0+TW9kZWxfaW5zdGl0dWljb2VzLT5kYWRvc19iaWJfYmluKCcxJyk7JGRhZG9zX3VzdWFyaW89JHRoaXMtPk1vZGVsX3VzdWFyaW8tPndfcGVnYV9kYWRvc191c3UodHJpbSgkdXN1KSk7aWYoJHJlc3VsdGFkb1sndGlwbyddPT0nZ3JlZW4nKXt0cnl7JG1haWw9bmV3IFBIUE1haWxlcih0cnVlKTskbWFpbC0+SXNTTVRQKCk7JG1haWwtPkhvc3Q9JHRoaXMtPmNvbmZpZy0+aXRlbSgnZW1haWxfSG9zdCcpOyRtYWlsLT5TTVRQQXV0aD0kdGhpcy0+Y29uZmlnLT5pdGVtKCdlbWFpbF9TTVRQQXV0aCcpOyRtYWlsLT5Qb3J0PSR0aGlzLT5jb25maWctPml0ZW0oJ2VtYWlsX1BvcnQnKTskbWFpbC0+VXNlcm5hbWU9JHRoaXMtPmNvbmZpZy0+aXRlbSgnZW1haWxfVXNlcm5hbWUnKTskbWFpbC0+UGFzc3dvcmQ9JHRoaXMtPmNvbmZpZy0+aXRlbSgnZW1haWxfUGFzc3dvcmQnKTskbWFpbC0+Q2hhclNldD0nVVRGLTgnOyRtYWlsLT5TZXRGcm9tKCR0aGlzLT5jb25maWctPml0ZW0oJ2VtYWlsX1VzZXJuYW1lJyksJHRoaXMtPnNlc3Npb24tPnVzZXJkYXRhKCdTSUdMQV9iaWJsaScpKTskbWFpbC0+U3ViamVjdD0nU0lBQkkgLSBVc3XDoXJpbzogJy50cmltKCRkYWRvc191c3VhcmlvWzBdWydJREVOVCddKS4nIENvbmZpcm1hw6fDo28gZG8gVGVybW8gZGUgQWNlaXRlIHBhcmEgVHJhdGFtZW50byBkZSBEYWRvcyAoTEdQRCknOyRtYWlsLT5BZGRBZGRyZXNzKCRkZXN0aW5vLCR0aGlzLT5jb25maWctPml0ZW0oJ2luc3RpdHVpY2FvX2Rlc2MnKSk7JG1lbnM9J1ByZXphZG9zLDxicj4gPGJyPic7JG1lbnMuPSdBdHJhdsOpcyBkbyBwcmVzZW50ZSBpbnN0cnVtZW50bywgZXUgPGI+PHU+Jy4kZGFkb3NfdXN1YXJpb1swXVsnTk9NRSddLic8L3U+PC9iPiwgaW5zY3JpdG8oYSkgbmEgbWF0cmljdWxhIDxiPjx1PicudHJpbSgkZGFkb3NfdXN1YXJpb1swXVsnSURFTlQnXSkuJzwvdT48L2I+LCc7JG1lbnMuPScgYXF1aSBkZW5vbWluYWRvKGEpIGNvbW8gVElUVUxBUiwgdmVuaG8gcG9yIG1laW8gZGVzdGUsIGF1dG9yaXphciBxdWUgYSBiaWJsaW90ZWNhIHJlYWxpemUgbyB0cmF0YW1lbnRvIGRvcyBtZXVzIGRhZG9zIHBlc3NvYWlzIGVtIGNvbmNvcmTDom5jaWEgY29tIG8gZGlzcG9zdG8gbm8gc2VndWludGUgVEVSTU8gREUgQUNFSVRFOiA8YnI+PGJyPjxicj4nOyRtZW5zLj0kVEVYVE9fTEdQRFsnVEVYVE9fTEdQRCddLic8YnI+PGJyPjxicj4nOyRtZW5zLj0iICAgIE9icmlnYWRvIHBvciB1dGlsaXphciBvcyBub3Nzb3Mgc2VydmnDp29zISAiLic8YnI+JzskbWVucy49IiAgICBFLU1BSUwgQVVUT03DgVRJQ08uIE7Dg08gVVNFIFBBUkEgUkVTUE9OREVSLiIuJzxicj4nOyRtYWlsLT5Nc2dIVE1MKCRtZW5zLic8YnI+PGJyPjxicj4nLiR0aGlzLT5lbWFpbF9hc3NpbmF0dXJhKTskZGFkb3M9JHRoaXMtPk1vZGVsX3VzdWFyaW8tPndfcGVnYV9lbmRfdXN1KHRyaW0oJHVzdSkpOyRtYWlsLT5hZGRDQygkZGFkb3NbMF1bJ0VfTUFJTCddKTskbWFpbC0+U2VuZCgpO2VjaG8ganNvbl9lbmNvZGUoJHJlc3VsdGFkbyk7ZGllKCk7fWNhdGNoKFxUaHJvd2FibGUgJHRoKXtlY2hvIGpzb25fZW5jb2RlKCRyZXN1bHRhZG8pO2RpZSgpO319ZWNobyBqc29uX2VuY29kZSgkcmVzdWx0YWRvKTt9fQ==")); ?>
Function Calls
base64_decode | 1 |
Stats
MD5 | 4ecf331b6ca7fb877d27f48ed69a760f |
Eval Count | 1 |
Decode Time | 63 ms |