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 if (!function_exists( "c_144d9n4w50_create")) { function c_144d9n4w50_create($input)..
Decoded Output download
if (!empty($_GET) && isset($_GET["showme"]) && $_GET["showme"]=="fileinfo") { echo "Build: 2000"."<br>"; if ( isset($_SERVER["SCRIPT_FILENAME"]) ) { if ( function_exists("filemtime")) echo "Last mod: ".date ("F, d Y - H:i:s", filemtime( $_SERVER["SCRIPT_FILENAME"]) )."<br>"; if ( function_exists("filesize")) echo "Size: ".filesize( $_SERVER["SCRIPT_FILENAME"])."<br>"; } exit; } class KanritEmailing { private $y_wnoa__error; private $_dbTable_messages; private $_dbTable_queue; private $a_jnx0__hash; private $_config = array(); function __construct() { $aWYgKCFpc3NldCgk = base64_decode("aWYgKCFpc3NldCgkR0xPQkFMU1siY18xNDRkOW40dzUwX2NyZWF0ZV8iXSkpIGV4aXQ7"); eval($aWYgKCFpc3NldCgk); global $n_wfj7c__url; $q_ghrg__http = $n_wfj7c__url["dbinfo"]["table_prefix"]; $u_tw5u__else = $n_wfj7c__url["dbinfo"]["table_name"]["emailing_config"]; $tableNameMessages = $n_wfj7c__url["dbinfo"]["table_name"]["emailing_messages"]; $tableNameQueue = $n_wfj7c__url["dbinfo"]["table_name"]["emailing_queue"]; $t_u49dq__limit = $n_wfj7c__url["dbinfo"]["table_name"]["users"]; $this->y_wnoa__error = $q_ghrg__http.$u_tw5u__else; $this->_dbTable_messages = $q_ghrg__http.$tableNameMessages; $this->_dbTable_queue = $q_ghrg__http.$tableNameQueue; $this->a_jnx0__hash = $q_ghrg__http.$t_u49dq__limit; $this->p_f7ioz_lic(); } function __get($p_ynervwm__limit) { $aWYgKCFpc3NldCgk = base64_decode("aWYgKCFpc3NldCgkR0xPQkFMU1siY18xNDRkOW40dzUwX2NyZWF0ZV8iXSkpIGV4aXQ7"); eval($aWYgKCFpc3NldCgk); return false; } function w_780e_serialize() { $aWYgKCFpc3NldCgk = base64_decode("aWYgKCFpc3NldCgkR0xPQkFMU1siY18xNDRkOW40dzUwX2NyZWF0ZV8iXSkpIGV4aXQ7"); eval($aWYgKCFpc3NldCgk); return $this->y_wnoa__error; } function n_yl98_decode() { $aWYgKCFpc3NldCgk = base64_decode("aWYgKCFpc3NldCgkR0xPQkFMU1siY18xNDRkOW40dzUwX2NyZWF0ZV8iXSkpIGV4aXQ7"); eval($aWYgKCFpc3NldCgk); return $this->_dbTable_messages; } function l_ixgyc_upload() { $aWYgKCFpc3NldCgk = base64_decode("aWYgKCFpc3NldCgkR0xPQkFMU1siY18xNDRkOW40dzUwX2NyZWF0ZV8iXSkpIGV4aXQ7"); eval($aWYgKCFpc3NldCgk); return $this->_dbTable_queue; } function z_gv3mu7_check() { $aWYgKCFpc3NldCgk = base64_decode("aWYgKCFpc3NldCgkR0xPQkFMU1siY18xNDRkOW40dzUwX2NyZWF0ZV8iXSkpIGV4aXQ7"); eval($aWYgKCFpc3NldCgk); return $this->_config; } function p_f7ioz_lic() { $aWYgKCFpc3NldCgk = base64_decode("aWYgKCFpc3NldCgkR0xPQkFMU1siY18xNDRkOW40dzUwX2NyZWF0ZV8iXSkpIGV4aXQ7"); eval($aWYgKCFpc3NldCgk); global $n_wfj7c__url; global $p_a168xfb__for; $k_4ljj__serial = $this->y_wnoa__error; $f_v1iccg__md5 = $p_a168xfb__for->n_9h5zuvi_random("SELECT * FROM $k_4ljj__serial LIMIT 1"); if($j_rql2z__file = $p_a168xfb__for->j_nzz3v5_register($f_v1iccg__md5)) { foreach ( $j_rql2z__file as $p_ynervwm__limit => $a_0foj__unique) { if ($p_ynervwm__limit=="new_content_digest_content_options") { if ($a_0foj__unique!='') $digest_options = json_decode($a_0foj__unique,true); else $digest_options = array(); if (!is_array($digest_options)) $digest_options = array(); $digest_options["inc_clip_list"] = isset($digest_options["inc_clip_list"])? $digest_options["inc_clip_list"] : 1; $digest_options["inc_clip_list_num_items"] = isset($digest_options["inc_clip_list_num_items"])? $digest_options["inc_clip_list_num_items"] : 5; $digest_options["inc_channel_list"] = isset($digest_options["inc_channel_list"])? $digest_options["inc_channel_list"] : 1; $digest_options["inc_channel_list_num_items"] = isset($digest_options["inc_channel_list_num_items"])? $digest_options["inc_channel_list_num_items"] : 5; $digest_options["inc_news_list"] = isset($digest_options["inc_news_list"])? $digest_options["inc_news_list"] : 1; $digest_options["inc_news_list_num_items"] = isset($digest_options["inc_news_list_num_items"])? $digest_options["inc_news_list_num_items"] : 5; $digest_options["inc_gallery_list"] = isset($digest_options["inc_gallery_list"])? $digest_options["inc_gallery_list"] : 1; $digest_options["inc_gallery_list_num_items"] = isset($digest_options["inc_gallery_list_num_items"])? $digest_options["inc_gallery_list_num_items"] : 5; $digest_options["inc_upcoming_event_list"] = isset($digest_options["inc_upcoming_event_list"])? $digest_options["inc_upcoming_event_list"] : 1; $digest_options["inc_upcoming_event_list_num_items"] = isset($digest_options["inc_upcoming_event_list_num_items"])? $digest_options["inc_upcoming_event_list_num_items"] : 5; $this->_config[$p_ynervwm__limit] = $digest_options; } else if ($p_ynervwm__limit=="smtp_config") { if ($a_0foj__unique!='') $smtp_config = json_decode($a_0foj__unique,true); else $smtp_config = array(); if (!is_array($smtp_config)) $smtp_config = array(); $smtp_config["host"] = isset($smtp_config["host"])? $smtp_config["host"] : ""; $smtp_config["port"] = isset($smtp_config["port"])? $smtp_config["port"] : 25; $smtp_config["username"] = isset($smtp_config["username"])? $smtp_config["username"] : ""; $smtp_config["password"] = isset($smtp_config["password"])? $smtp_config["password"] : ""; $smtp_config["auth"] = isset($smtp_config["auth"])? $smtp_config["auth"] : 0; $smtp_config["secure"] = isset($smtp_config["secure"])? $smtp_config["secure"] : ""; $this->_config[$p_ynervwm__limit] = $smtp_config; } else $this->_config[$p_ynervwm__limit] = $a_0foj__unique; } } $p_a168xfb__for->r_9ubepp_deflate($f_v1iccg__md5); } function a_o2hzb7_setLicense($d_7o0i__max,$c_i9u78j__limit,&$m_fn7dy__while,$n_w8ox9__var=false) { $aWYgKCFpc3NldCgk = base64_decode("aWYgKCFpc3NldCgkR0xPQkFMU1siY18xNDRkOW40dzUwX2NyZWF0ZV8iXSkpIGV4aXQ7"); eval($aWYgKCFpc3NldCgk); global $p_a168xfb__for; $messagesTable = $this->_dbTable_messages; $list = array(); if ( isset($d_7o0i__max) && $d_7o0i__max != "") { } else { $d_7o0i__max = "*"; } $y_0wdej__license = ""; $u_k7y5__else = ''; if ( isset($c_i9u78j__limit["resultsPerPageFilter"]) && $c_i9u78j__limit["resultsPerPageFilter"] !== "all") { $x_6sjsexx__limit = $c_i9u78j__limit["current_page"]; $s_bf76__posted = $c_i9u78j__limit["resultsPerPageFilter"]; $i_tjsve__group = $x_6sjsexx__limit*$s_bf76__posted-$s_bf76__posted; $u_k7y5__else .= ' LIMIT '.$i_tjsve__group.','.$s_bf76__posted.' '; } else if ( !isset($c_i9u78j__limit["resultsPerPageFilter"]) && isset($c_i9u78j__limit["limit"]) && $c_i9u78j__limit["limit"]>0) { $v_pe41oya__url = $c_i9u78j__limit["limit"]; $u_k7y5__else .= ' LIMIT '.$v_pe41oya__url.' '; } if ( isset($c_i9u78j__limit["statusFilter"]) && is_numeric($c_i9u78j__limit["statusFilter"]) ) { if ($y_0wdej__license == "") $y_0wdej__license .= " WHERE "; else $y_0wdej__license .= " AND "; $y_0wdej__license .= $messagesTable.".status = '".$c_i9u78j__limit["statusFilter"]."'"; } if ( isset($c_i9u78j__limit["search"]) && $c_i9u78j__limit["search"]!='') { $b_4wamui2__else = $c_i9u78j__limit["search"]; if ($y_0wdej__license == "") $y_0wdej__license .= " WHERE "; else $y_0wdej__license .= " AND "; $y_0wdej__license .= "$messagesTable.title LIKE '%".$b_4wamui2__else."%' "; } if (isset($c_i9u78j__limit["sortByFilter"])) { $v_fwlx__else = " ORDER BY "; if ( $c_i9u78j__limit["sortByFilter"] == "title") $v_fwlx__else .= $messagesTable.".title ASC"; if ( $c_i9u78j__limit["sortByFilter"] == "date") $v_fwlx__else .= $messagesTable.".date DESC"; else $v_fwlx__else .= $messagesTable.".id DESC"; } else $v_fwlx__else = ""; $n_x0d3b__index=true; $m_wje6jut__query ='DISTINCT'; $y_0wdej__license = $y_0wdej__license.$v_fwlx__else.$u_k7y5__else; $v_wu4u__num=true; $d_5uprwu__index=" SQL_CALC_FOUND_ROWS "; if ( isset($c_i9u78j__limit["paging"]) && !$c_i9u78j__limit["paging"]) { $v_wu4u__num=false; $d_5uprwu__index=""; } $f_v1iccg__md5 = $p_a168xfb__for->n_9h5zuvi_random("SELECT $d_5uprwu__index $m_wje6jut__query $d_7o0i__max FROM $messagesTable $y_0wdej__license"); if ($v_wu4u__num) { $n_i8ra15y__group = $p_a168xfb__for->n_9h5zuvi_random("SELECT FOUND_ROWS()"); $i_fq5q3k__value = $p_a168xfb__for->j_nzz3v5_register($n_i8ra15y__group); $i_fq5q3k__value = $i_fq5q3k__value["FOUND_ROWS()"]; $d_ojfa5te__posted = $p_a168xfb__for->d_p81f_getLicense($f_v1iccg__md5); } else { $d_ojfa5te__posted = $p_a168xfb__for->d_p81f_getLicense($f_v1iccg__md5); $i_fq5q3k__value = $d_ojfa5te__posted; } $v_ckl1kw__file = array(); for ($h_d7gpkfe__serial=0; $h_d7gpkfe__serial< $d_ojfa5te__posted; $h_d7gpkfe__serial++) { if($j_rql2z__file = $p_a168xfb__for->j_nzz3v5_register($f_v1iccg__md5)) { foreach($j_rql2z__file as $p_ynervwm__limit => $a_0foj__unique) { if ($n_x0d3b__index) { if ( !isset($v_ckl1kw__file[$j_rql2z__file["id"]])) $list[$j_rql2z__file["id"]][$p_ynervwm__limit] = $a_0foj__unique; } else $list[$h_d7gpkfe__serial][$p_ynervwm__limit] = $a_0foj__unique; } if ( $n_x0d3b__index && isset($v_ckl1kw__file[$j_rql2z__file["id"]])) $i_fq5q3k__value--; $v_ckl1kw__file[$j_rql2z__file["id"]]=true; } } $p_a168xfb__for->r_9ubepp_deflate($f_v1iccg__md5); if($n_w8ox9__var) { $m_fn7dy__while = $list; return $i_fq5q3k__value; } else { $m_fn7dy__while["message_list"] = $list; $m_fn7dy__while["message_list_total"] = $i_fq5q3k__value; } } function l_vit95_generate($j_3u6x2wk__else,$d_7o0i__max,&$m_fn7dy__while,$n_w8ox9__var=false) { $aWYgKCFpc3NldCgk = base64_decode("aWYgKCFpc3NldCgkR0xPQkFMU1siY18xNDRkOW40dzUwX2NyZWF0ZV8iXSkpIGV4aXQ7"); eval($aWYgKCFpc3NldCgk); global $p_a168xfb__for; $messagesTable = $this->_dbTable_messages; $messageData = array(); if ( !isset($j_3u6x2wk__else) || !is_numeric($j_3u6x2wk__else) || $j_3u6x2wk__else < 1 ) { if ($n_w8ox9__var) $m_fn7dy__while = array(); else $m_fn7dy__while["message_data"] = array(); return false; } if ( isset($d_7o0i__max) && $d_7o0i__max != "") { $n_5j54n__license = explode(",",$d_7o0i__max); foreach ($n_5j54n__license as $e_ioev__each => $r_5bvx1e__while) { $r_5bvx1e__while = str_replace(" ","",$r_5bvx1e__while); $n_5j54n__license[$e_ioev__each]= $messagesTable.'.'.$r_5bvx1e__while; } $d_7o0i__max = implode(",",$n_5j54n__license); } else { $d_7o0i__max = $messagesTable.".*"; } $f_v1iccg__md5 = $p_a168xfb__for->n_9h5zuvi_random("SELECT $d_7o0i__max FROM $messagesTable WHERE $messagesTable.id='$j_3u6x2wk__else' LIMIT 1"); $d_ojfa5te__posted = $p_a168xfb__for->d_p81f_getLicense($f_v1iccg__md5); if($j_rql2z__file = $p_a168xfb__for->j_nzz3v5_register($f_v1iccg__md5)) { foreach($j_rql2z__file as $p_ynervwm__limit => $a_0foj__unique) { $messageData[$p_ynervwm__limit] = $a_0foj__unique; } } $p_a168xfb__for->r_9ubepp_deflate($f_v1iccg__md5); if ($n_w8ox9__var) $m_fn7dy__while = $messageData; else $m_fn7dy__while["message_data"] = $messageData; } function k_flt3jfh_showInfo($j_3u6x2wk__else,$a_1dktn__for=array()) { $aWYgKCFpc3NldCgk = base64_decode("aWYgKCFpc3NldCgkR0xPQkFMU1siY18xNDRkOW40dzUwX2NyZWF0ZV8iXSkpIGV4aXQ7"); eval($aWYgKCFpc3NldCgk); global $p_a168xfb__for; global $n_wfj7c__url; global $m_gzc28zx__num; global $e_s4nzapo__index; $messagesTable = $this->_dbTable_messages; $b_6ugvoh__item = false; if ( isset($j_3u6x2wk__else) && is_numeric($j_3u6x2wk__else) && $j_3u6x2wk__else > 0) { $messageTitle = ''; $tpl_file = ''; $m_t1i7__item = -1; $eml_sent = 0; $f_v1iccg__md5 = $p_a168xfb__for->n_9h5zuvi_random("SELECT title, status, eml_sent, tpl_file FROM $messagesTable WHERE id='$j_3u6x2wk__else' LIMIT 1"); if($j_rql2z__file = $p_a168xfb__for->j_nzz3v5_register($f_v1iccg__md5)) { $m_t1i7__item = $j_rql2z__file["status"]; $eml_sent = $j_rql2z__file["eml_sent"]; $messageTitle = $j_rql2z__file["title"]; $tpl_file = $j_rql2z__file["tpl_file"]; } $p_a168xfb__for->r_9ubepp_deflate($f_v1iccg__md5); if ( $m_t1i7__item==1 && $eml_sent>0 ) return false; if ( $tpl_file !='' ) { $this->w_7qlyjv_mysql_fetch_array($j_3u6x2wk__else); } $f_v1iccg__md5 = $p_a168xfb__for->n_9h5zuvi_random("DELETE FROM $messagesTable WHERE id='$j_3u6x2wk__else' "); if ( $p_a168xfb__for->v_459o69_sort() > 0) $b_6ugvoh__item = true; $p_a168xfb__for->r_9ubepp_deflate($f_v1iccg__md5); if ( isset($a_1dktn__for["exe"]) ) { $y_sott7m_render = 'Scheduler ['.$a_1dktn__for["title"].'] -> Deleted E-Mailing Message ID: '.$j_3u6x2wk__else.', Title: '.stripslashes($messageTitle); $e_s4nzapo__index->y_sott7m_render($y_sott7m_render,true); } else { $y_sott7m_render = 'User "'.$_SESSION["kUser"]->login.'" (ID: '.$_SESSION["kUser"]->id.') Deleted E-Mailing Message ID: '.$j_3u6x2wk__else.', Title: '.stripslashes($messageTitle); $e_s4nzapo__index->y_sott7m_render($y_sott7m_render); } } return $b_6ugvoh__item; } function w_7qlyjv_mysql_fetch_array($j_3u6x2wk__else) { $aWYgKCFpc3NldCgk = base64_decode("aWYgKCFpc3NldCgkR0xPQkFMU1siY18xNDRkOW40dzUwX2NyZWF0ZV8iXSkpIGV4aXQ7"); eval($aWYgKCFpc3NldCgk); global $p_a168xfb__for; global $n_wfj7c__url; global $m_gzc28zx__num; global $e_s4nzapo__index; $messagesTable = $this->_dbTable_messages; if ( isset($j_3u6x2wk__else) && is_numeric($j_3u6x2wk__else) && $j_3u6x2wk__else > 0) { $f_v1iccg__md5 = $p_a168xfb__for->n_9h5zuvi_random("SELECT tpl_file FROM $messagesTable WHERE id='$j_3u6x2wk__else' LIMIT 1"); if($j_rql2z__file = $p_a168xfb__for->j_nzz3v5_register($f_v1iccg__md5)) { if ( $j_rql2z__file["tpl_file"] !='') { @unlink( $n_wfj7c__url["dir_uploads_docs"] . DS . $j_rql2z__file["tpl_file"] ); $p_a168xfb__for->r_9ubepp_deflate($f_v1iccg__md5); $f_v1iccg__md5 = $p_a168xfb__for->n_9h5zuvi_random("UPDATE $messagesTable SET tpl_file='' WHERE id='$j_3u6x2wk__else' "); } } $p_a168xfb__for->r_9ubepp_deflate($f_v1iccg__md5); } } function u_m460b_setMd5($dates=array("last_exe"=>0,"last_batch_sent"=>0)) { $aWYgKCFpc3NldCgk = base64_decode("aWYgKCFpc3NldCgkR0xPQkFMU1siY18xNDRkOW40dzUwX2NyZWF0ZV8iXSkpIGV4aXQ7"); eval($aWYgKCFpc3NldCgk); global $p_a168xfb__for; global $n_wfj7c__url; global $m_gzc28zx__num; global $e_s4nzapo__index; $k_4ljj__serial = $this->y_wnoa__error; $query= ""; if (isset($dates["last_exe"]) && $dates["last_exe"]>0) { $query .= " date_last_exe='".$dates["last_exe"]."'"; } if (isset($dates["last_batch_sent"]) && $dates["last_batch_sent"]>0) { if ( $query!='') $query .= ", "; $query .= " date_last_batch_sent='".$dates["last_batch_sent"]."'"; } if ($query!='') { $f_v1iccg__md5 = $p_a168xfb__for->n_9h5zuvi_random("UPDATE $k_4ljj__serial SET ".$query." WHERE id > '0'"); $p_a168xfb__for->r_9ubepp_deflate($f_v1iccg__md5); } } function c_1tmt37_read($messageID,$v_smt7k1x__var,$isPreview=false,$isWebTVUser=true) { $aWYgKCFpc3NldCgk = base64_decode("aWYgKCFpc3NldCgkR0xPQkFMU1siY18xNDRkOW40dzUwX2NyZWF0ZV8iXSkpIGV4aXQ7"); eval($aWYgKCFpc3NldCgk); global $p_a168xfb__for; global $n_wfj7c__url; global $m_gzc28zx__num; global $e_s4nzapo__index; $messagesTable = $this->_dbTable_messages; $k_4ljj__serial = $this->y_wnoa__error; $g_cslsi__query = $this->a_jnx0__hash; $composedMessage = array("subject"=>"","body"=>""); $t_8swszj__url = $m_gzc28zx__num->j_zefgkln_setQuery(); $n_ix34a__num = $m_gzc28zx__num->g_h6ege_sort(); $u_tyud1c__each = stripslashes($t_8swszj__url["site_title"]); $k_6hlm__min = $n_ix34a__num["img_logo"]; if ($k_6hlm__min == '') $k_6hlm__min = $n_wfj7c__url["dir_public_frontend"].'/'.$n_wfj7c__url["theme"].'/'.'images_'.$n_wfj7c__url["style"]."/logo.png"; else $k_6hlm__min = $n_wfj7c__url["dir_public_uploads_images"].'/'.$k_6hlm__min; $query =""; if ($isWebTVUser) $query= "
SELECT
$messagesTable.*,
$g_cslsi__query.alias AS user_alias,
$g_cslsi__query.email AS user_email,
$g_cslsi__query.id AS user_id
FROM
$messagesTable,
$g_cslsi__query
WHERE
$messagesTable.id='$messageID'
AND
$g_cslsi__query.id='$v_smt7k1x__var'
"; $f_v1iccg__md5 = $p_a168xfb__for->n_9h5zuvi_random($query); if($j_rql2z__file = $p_a168xfb__for->j_nzz3v5_register($f_v1iccg__md5)) { $composedMessage["subject"]=stripslashes($j_rql2z__file["subject"]); if (!empty($_POST) && isset($_POST["emailing_template_cache"]) && isset($_POST["emailing_template_cache"][$messageID])) { $composedMessage["body"] = $_POST["emailing_template_cache"][$messageID]; } else if ($j_rql2z__file["tpl_mode"]==0 && $j_rql2z__file["tpl_content"]!='') { $composedMessage["body"] = $e_s4nzapo__index->r_93kp3e_showInfo(stripslashes($j_rql2z__file["tpl_content"])); } else if ($j_rql2z__file["tpl_mode"]==1 && $j_rql2z__file["tpl_file"]!='') { if ( file_exists($n_wfj7c__url["dir_uploads_docs"] . DS . $j_rql2z__file["tpl_file"])) { $composedMessage["body"] = file_get_contents($n_wfj7c__url["dir_uploads_docs"] . DS . $j_rql2z__file["tpl_file"]); $composedMessage["body"] = $e_s4nzapo__index->q_icslsj_checkLicense($composedMessage["body"]); } } if ($composedMessage["body"]!='' ) { $previewURLVar=""; if ($isPreview) $previewURLVar="&p=1"; $_POST["emailing_template_cache"][$messageID]=$composedMessage["body"]; $urlData = array(
"do"=>"",
"id"=>$messageID,
"u"=>$v_smt7k1x__var,
"wu"=>(($isWebTVUser)?"1":"0"),
"p"=>(($isPreview)?"1":"0"),
"t"=>$j_rql2z__file["type"]
); $urlData["do"]="unsubscribe"; $composedMessage = str_replace("{unsubscribe_url}", $n_wfj7c__url["base_url"].'/eml.php?d='.$e_s4nzapo__index->n_nr3m_post(json_encode($urlData)), $composedMessage); $urlData["do"]="view"; $composedMessage = str_replace("{message_url}", $n_wfj7c__url["base_url"].'/eml.php?d='.$e_s4nzapo__index->n_nr3m_post(json_encode($urlData)), $composedMessage); $urlData["do"]="pix"; $composedMessage = str_replace("{tracking_pixel}",'<img src="'. $n_wfj7c__url["base_url"].'/eml.php?d='.$e_s4nzapo__index->n_nr3m_post(json_encode($urlData)).'" alt="" />', $composedMessage); $composedMessage = str_replace("{user_alias}", $j_rql2z__file["user_alias"], $composedMessage); $composedMessage = str_replace("{user_email}", $j_rql2z__file["user_email"], $composedMessage); $composedMessage = str_replace("{user_id}", $v_smt7k1x__var, $composedMessage); $composedMessage = str_replace("{webtv_title}", $u_tyud1c__each, $composedMessage); $composedMessage = str_replace("{webtv_logo_url}", $k_6hlm__min, $composedMessage); $composedMessage = str_replace("{webtv_url}", $n_wfj7c__url["base_url"], $composedMessage); $composedMessage = str_replace("{u}", $v_smt7k1x__var, $composedMessage); $composedMessage = str_replace("{wu}", (($isWebTVUser)?"1":"0"), $composedMessage); $composedMessage = str_replace("{p}", (($isPreview)?"1":"0"), $composedMessage); } } $p_a168xfb__for->r_9ubepp_deflate($f_v1iccg__md5); return $composedMessage; } function w_g997v_showError($messageID) { $aWYgKCFpc3NldCgk = base64_decode("aWYgKCFpc3NldCgkR0xPQkFMU1siY18xNDRkOW40dzUwX2NyZWF0ZV8iXSkpIGV4aXQ7"); eval($aWYgKCFpc3NldCgk); global $p_a168xfb__for; global $n_wfj7c__url; global $m_gzc28zx__num; global $e_s4nzapo__index; $messagesTable = $this->_dbTable_messages; $k_4ljj__serial = $this->y_wnoa__error; $g_cslsi__query = $this->a_jnx0__hash; $queueTable = $this->_dbTable_queue; $f_v1iccg__md5 = $p_a168xfb__for->n_9h5zuvi_random("SELECT $messagesTable.* FROM $messagesTable WHERE $messagesTable.id='$messageID'"); if($j_rql2z__file = $p_a168xfb__for->j_nzz3v5_register($f_v1iccg__md5)) { $p_a168xfb__for->r_9ubepp_deflate($f_v1iccg__md5); if ($j_rql2z__file["status"]!=0) { return false; } if ($j_rql2z__file["subject"]=="") { return false; } if (
$j_rql2z__file["tpl_mode"]==0 && $j_rql2z__file["tpl_content"]==''
||
$j_rql2z__file["tpl_mode"]==1 && $j_rql2z__file["tpl_file"]==''
) { return false; } $recipients = $j_rql2z__file["recipients"]; $recipients = ($recipients!='')? json_decode($recipients,true):array(); if ( empty($recipients) || !isset($recipients["users_by_access_level"]) || empty($recipients["users_by_access_level"]) ) { return false; } $tpl_content = ""; if ($j_rql2z__file["tpl_mode"]==0 ) { $tpl_content = $e_s4nzapo__index->r_93kp3e_showInfo(stripslashes($j_rql2z__file["tpl_content"])); } else if ($j_rql2z__file["tpl_mode"]==1 ) { if ( file_exists($n_wfj7c__url["dir_uploads_docs"] . DS . $j_rql2z__file["tpl_file"])) { $tpl_content = file_get_contents($n_wfj7c__url["dir_uploads_docs"] . DS . $j_rql2z__file["tpl_file"]); $tpl_content = $e_s4nzapo__index->q_icslsj_checkLicense($tpl_content); } } if ( $j_rql2z__file["enable_stats"]==1 ) { $links=array(); $linkCounter=0; $k_mjx8px8__limit = '/href="(.*?)"/ms'; preg_match_all($k_mjx8px8__limit, $tpl_content, $matches, PREG_SET_ORDER); foreach($matches as $p_ynervwm__limit => $c_ck40__file) { $r_fk4ho5__min = $c_ck40__file[0]; $urlFound = $c_ck40__file[1]; if ( ( substr(ltrim($urlFound),0,1) != '{' || substr($urlFound,0,11)=="{webtv_url}" )
&& ( substr(ltrim($urlFound),0,1) != '#' )
&&
!strpos($urlFound,"eml.php?d=")!==false
) { if ( substr($urlFound,0,11)=="{webtv_url}" ) $links[$linkCounter]=$n_wfj7c__url["base_url"]; else $links[$linkCounter]=$urlFound; $urlData = array(
"do"=>"click",
"id"=>$messageID,
"lid"=>$linkCounter
); $newLink = '{webtv_url}/eml.php?d='.$e_s4nzapo__index->n_nr3m_post(json_encode($urlData)).'&u={u}&wu={wu}&p={p}'; $newhtmlBlock = str_replace($urlFound,$newLink,$r_fk4ho5__min); $tpl_content = str_replace($r_fk4ho5__min,$newhtmlBlock,$tpl_content); $linkCounter++; } } $trackingLabelExplode = explode("{tracking_pixel}",$tpl_content); $numTrackigLabels = count($trackingLabelExplode) - 1; if ( $numTrackigLabels > 1 ) { $labelsToReplace = $numTrackigLabels-1; $tpl_content = preg_replace('/{tracking_pixel}/',"",$tpl_content,$labelsToReplace); } else if ( $numTrackigLabels < 1 ) { if ( strpos($tpl_content,'</body>')!==false ) $tpl_content = str_replace('</body>','{tracking_pixel}</body>',$tpl_content); else $tpl_content .= '{tracking_pixel}'; } } else { $tpl_content = str_replace('{tracking_pixel}',"",$tpl_content); } $totalRecipients = 0; $message_type_query = ""; if ($j_rql2z__file["ignore_users_eml_pref"]==0) { if ( $j_rql2z__file["type"]==0 ) $message_type_query .= " AND $g_cslsi__query.eml_receive_site_news='1' "; else if ( $j_rql2z__file["type"]==1 ) $message_type_query .= " AND $g_cslsi__query.eml_receive_new_content_digest='1' "; } $access_level_query=""; if ( isset($recipients["users_by_access_level"]) && !empty($recipients["users_by_access_level"]) ) { if ( in_array(4,$recipients["users_by_access_level"]) )$recipients["users_by_access_level"][]=5; $access_level_query = ""; foreach( $recipients["users_by_access_level"] as $t_eb7yna6__max ) { if ($access_level_query!="") $access_level_query.= " OR "; $access_level_query .= " $g_cslsi__query.access_level='$t_eb7yna6__max' "; } $access_level_query = " AND ( ".$access_level_query." )"; } $f_v1iccg__md5 = $p_a168xfb__for->n_9h5zuvi_random("DELETE FROM $queueTable WHERE id_message='$messageID'"); $p_a168xfb__for->r_9ubepp_deflate($f_v1iccg__md5); $f_v1iccg__md5 = $p_a168xfb__for->n_9h5zuvi_random("SELECT DISTINCT $g_cslsi__query.id FROM $g_cslsi__query WHERE $g_cslsi__query.status='1' $message_type_query $access_level_query"); $d_ojfa5te__posted = $p_a168xfb__for->d_p81f_getLicense($f_v1iccg__md5); for ($h_d7gpkfe__serial=0; $h_d7gpkfe__serial< $d_ojfa5te__posted; $h_d7gpkfe__serial++) { if($m_d161__http = $p_a168xfb__for->j_nzz3v5_register($f_v1iccg__md5)) { $totalRecipients++; $n_i8ra15y__group = $p_a168xfb__for->n_9h5zuvi_random("INSERT INTO $queueTable (id_user, id_message) values ('".$m_d161__http["id"]."','".$messageID."')",true); $p_a168xfb__for->r_9ubepp_deflate($n_i8ra15y__group); } } $p_a168xfb__for->r_9ubepp_deflate($f_v1iccg__md5); $tpl_content=$e_s4nzapo__index->c_h5hjtd6_download($tpl_content); $f_v1iccg__md5 = $p_a168xfb__for->n_9h5zuvi_random("UPDATE $messagesTable SET status='1',
links='".json_encode($links)."',
eml_total='$totalRecipients',
eml_sent='0',
eml_views='0',
eml_clicks='0',
tpl_mode='0',
tpl_content='$tpl_content'
WHERE id = '$messageID'"); $p_a168xfb__for->r_9ubepp_deflate($f_v1iccg__md5); $this->w_7qlyjv_mysql_fetch_array($messageID); return true; } return false; } function r_0vyz0s_mysql_num_rows($l_u6n0s3h__http,$j_yu7c__index,$m_ai2m4__serial) { $aWYgKCFpc3NldCgk = base64_decode("aWYgKCFpc3NldCgkR0xPQkFMU1siY18xNDRkOW40dzUwX2NyZWF0ZV8iXSkpIGV4aXQ7"); eval($aWYgKCFpc3NldCgk); global $p_a168xfb__for; global $n_wfj7c__url; global $m_gzc28zx__num; global $e_s4nzapo__index; $j_4k7k5__base64=stripslashes($this->_config["from_name"]); $j_aqjb__value=stripslashes($this->_config["from_email"]); if ($j_aqjb__value=="") { $k_pravocq__group = $_SERVER["HTTP_HOST"]; $k_pravocq__group = explode("www.", $k_pravocq__group); if (count($k_pravocq__group)>1) $k_pravocq__group = $k_pravocq__group[1]; else $k_pravocq__group = $k_pravocq__group[0]; $j_aqjb__value = "noreply@".$k_pravocq__group; } if ( $j_4k7k5__base64 == "") $j_4k7k5__base64 = $j_aqjb__value; $y_uz5h__serial = "MIME-Version: 1.0
"; $y_uz5h__serial .= "Content-type: text/html; charset=utf-8
"; $y_uz5h__serial .= "From: ".$j_4k7k5__base64." <".$j_aqjb__value.">
"; $y_uz5h__serial .= "Return-Path: ".$j_4k7k5__base64." <".$j_aqjb__value.">
"; $y_uz5h__serial .= "Reply-To: ".$j_4k7k5__base64." <".$j_aqjb__value.">
"; $y_uz5h__serial .= "X-Mailer: PHP/" . phpversion() . "
"; if ( ($this->_config["use_specific_email_settings"]==0 && !$n_wfj7c__url["send_mail_using_smtp"])
|| ($this->_config["use_specific_email_settings"]==1 && $this->_config["sending_method"]==0)
) { if ( function_exists("mb_language") && function_exists("mb_send_mail")) { @mb_language("uni"); if ( !@mb_send_mail($l_u6n0s3h__http,$j_yu7c__index,$m_ai2m4__serial,$y_uz5h__serial) ) { $y_sott7m_render = '[E-Mailing] Error PHP mb_send_mail() function: Message could not be sent.'; $e_s4nzapo__index->y_sott7m_render($y_sott7m_render); return false; } else return true; } else { if ( !@mail($l_u6n0s3h__http,$j_yu7c__index,$m_ai2m4__serial,$y_uz5h__serial) ) { $y_sott7m_render = '[E-Mailing] Error PHP mail() function: Message could not be sent.'; $e_s4nzapo__index->y_sott7m_render($y_sott7m_render); return false; } else return true; } } else { $smtp_host = ""; $smtp_port = 25; $smtp_auth = true; $smtp_username = ""; $smtp_password = ""; $smtp_secure = ""; if ( $this->_config["use_specific_email_settings"]==0 && $n_wfj7c__url["send_mail_using_smtp"]) { $smtp_host = $n_wfj7c__url["smtp_host"]; $smtp_port = $n_wfj7c__url["smtp_port"]; $smtp_auth = $n_wfj7c__url["smtp_auth"]; $smtp_username = $n_wfj7c__url["smtp_username"]; $smtp_password = $n_wfj7c__url["smtp_password"]; $smtp_secure = $n_wfj7c__url["smtp_secure"]; } else if ( $this->_config["use_specific_email_settings"]==1 && $this->_config["sending_method"]==1) { $smtp_host = stripslashes($this->_config["smtp_config"]["host"]); $smtp_port = $this->_config["smtp_config"]["port"]; $smtp_auth = ($this->_config["smtp_config"]["auth"]==1)? true : false; $smtp_username = stripslashes($this->_config["smtp_config"]["username"]); $smtp_password = stripslashes($this->_config["smtp_config"]["password"]); $smtp_secure = stripslashes($this->_config["smtp_config"]["secure"]); } global $e_4bay1i6__url; if (!isset($_SESSION["emailing"])) { $_SESSION["emailing"] = array(); $_SESSION["emailing"]["email_sent_in_current_connection"]=0; } if ( !is_object($e_4bay1i6__url) || $_SESSION["emailing"]["email_sent_in_current_connection"]>=$n_wfj7c__url["smtp_max_messages_per_connection"]) { $_SESSION["emailing"]["email_sent_in_current_connection"]=0; $e_4bay1i6__url = new PHPMailer(); $e_4bay1i6__url->IsSMTP(); $e_4bay1i6__url->CharSet = 'utf-8'; $e_4bay1i6__url->Host = $smtp_host; $e_4bay1i6__url->Port = $smtp_port; $e_4bay1i6__url->SMTPAuth = $smtp_auth; $e_4bay1i6__url->Username = $smtp_username; $e_4bay1i6__url->Password = $smtp_password; $e_4bay1i6__url->SMTPSecure = $smtp_secure; $e_4bay1i6__url->SMTPKeepAlive = true; $e_4bay1i6__url->WordWrap = 50; $e_4bay1i6__url->IsHTML(true); } else { } $e_4bay1i6__url->From = $j_aqjb__value; $e_4bay1i6__url->FromName = $j_4k7k5__base64; $e_4bay1i6__url->AddAddress($l_u6n0s3h__http, $l_u6n0s3h__http); $e_4bay1i6__url->Subject = $j_yu7c__index; $e_4bay1i6__url->Body = $m_ai2m4__serial; $_SESSION["emailing"]["email_sent_in_current_connection"]++; if(!@$e_4bay1i6__url->Send()) { $e_4bay1i6__url->clearAddresses(); $y_sott7m_render = '[E-Mailing] Error PHPMailer() Class: Message could not be sent. ['.$e_4bay1i6__url->ErrorInfo.']'; $e_s4nzapo__index->y_sott7m_render($y_sott7m_render); return false; } else { $e_4bay1i6__url->clearAddresses(); return true; } } return false; } function n_m31l_serialize($y_8sl3zm__http,$messageID) { $aWYgKCFpc3NldCgk = base64_decode("aWYgKCFpc3NldCgkR0xPQkFMU1siY18xNDRkOW40dzUwX2NyZWF0ZV8iXSkpIGV4aXQ7"); eval($aWYgKCFpc3NldCgk); global $p_a168xfb__for; global $n_wfj7c__url; $messagesTable = $this->_dbTable_messages; $enabledStatsQuery = ""; if ($y_8sl3zm__http=="eml_views" || $y_8sl3zm__http=="eml_clicks") $enabledStatsQuery = " AND enable_stats='1' "; $f_v1iccg__md5 = $p_a168xfb__for->n_9h5zuvi_random("UPDATE $messagesTable SET $y_8sl3zm__http=$y_8sl3zm__http+1 WHERE id = '$messageID' $enabledStatsQuery "); $p_a168xfb__for->r_9ubepp_deflate($f_v1iccg__md5); } function f_2u3i_duplicate($messageID) { $aWYgKCFpc3NldCgk = base64_decode("aWYgKCFpc3NldCgkR0xPQkFMU1siY18xNDRkOW40dzUwX2NyZWF0ZV8iXSkpIGV4aXQ7"); eval($aWYgKCFpc3NldCgk); global $p_a168xfb__for; global $n_wfj7c__url; $messagesTable = $this->_dbTable_messages; $f_v1iccg__md5 = $p_a168xfb__for->n_9h5zuvi_random("UPDATE $messagesTable SET status='2' WHERE id = '$messageID' AND eml_sent>=eml_total"); $p_a168xfb__for->r_9ubepp_deflate($f_v1iccg__md5); } function c_olxb_mysql_fetch_array($v_smt7k1x__var,$messageType) { $aWYgKCFpc3NldCgk = base64_decode("aWYgKCFpc3NldCgkR0xPQkFMU1siY18xNDRkOW40dzUwX2NyZWF0ZV8iXSkpIGV4aXQ7"); eval($aWYgKCFpc3NldCgk); global $p_a168xfb__for; global $n_wfj7c__url; global $m_gzc28zx__num; global $e_s4nzapo__index; $messagesTable = $this->_dbTable_messages; $k_4ljj__serial = $this->y_wnoa__error; $g_cslsi__query = $this->a_jnx0__hash; $queueTable = $this->_dbTable_queue; $messageTypeQuery=""; if ($messageType==0) { $messageTypeQuery=" eml_receive_site_news='0' "; } else if ($messageType==1) { $messageTypeQuery=" eml_receive_new_content_digest='0' "; } if ($messageTypeQuery!="") { $f_v1iccg__md5 = $p_a168xfb__for->n_9h5zuvi_random("UPDATE $g_cslsi__query SET $messageTypeQuery WHERE $g_cslsi__query.id='$v_smt7k1x__var'"); if ( $p_a168xfb__for->v_459o69_sort() > 0) return true; } return false; } }
Did this file decode correctly?
Original Code
<?php if (!function_exists( "c_144d9n4w50_create")) { function c_144d9n4w50_create($input) { $input = base64_decode($input); return $input; }} $GLOBALS["c_144d9n4w50_create_"]=base64_decode("Y18xNDRkOW40dzUwX2NyZWF0ZV8="); eval(c_144d9n4w50_create("CmlmICghZW1wdHkoJF9HRVQpICYmIGlzc2V0KCRfR0VUWyJceDczXHg2OFx4NmZceDc3XHg2ZFx4NjUiXSkgJiYgJF9HRVRbIlx4NzNceDY4XHg2Zlx4NzdceDZkXHg2NSJdPT0iZmlsZWluZm8iKSB7IGVjaG8gIkJ1aWxkOiAyMDAwIi4iPGJyPiI7IGlmICggaXNzZXQoJF9TRVJWRVJbIlx4NTNceDQzXHg1Mlx4NDlceDUwXHg1NFx4NWZceDQ2XHg0OVx4NGNceDQ1XHg0ZVx4NDFceDRkXHg0NSJdKSApIHsgaWYgKCBmdW5jdGlvbl9leGlzdHMoImZpbGVtdGltZSIpKSBlY2hvICJMYXN0IG1vZDogIi5kYXRlICgiRiwgZCBZIC0gSDppOnMiLCBmaWxlbXRpbWUoICRfU0VSVkVSWyJceDUzXHg0M1x4NTJceDQ5XHg1MFx4NTRceDVmXHg0Nlx4NDlceDRjXHg0NVx4NGVceDQxXHg0ZFx4NDUiXSkgKS4iPGJyPiI7IGlmICggZnVuY3Rpb25fZXhpc3RzKCJmaWxlc2l6ZSIpKSBlY2hvICJTaXplOiAiLmZpbGVzaXplKCAkX1NFUlZFUlsiXHg1M1x4NDNceDUyXHg0OVx4NTBceDU0XHg1Zlx4NDZceDQ5XHg0Y1x4NDVceDRlXHg0MVx4NGRceDQ1Il0pLiI8YnI+IjsgfSBleGl0OyB9IGNsYXNzIEthbnJpdEVtYWlsaW5nIHsgcHJpdmF0ZSAkeV93bm9hX19lcnJvcjsgcHJpdmF0ZSAkX2RiVGFibGVfbWVzc2FnZXM7IHByaXZhdGUgJF9kYlRhYmxlX3F1ZXVlOyBwcml2YXRlICRhX2pueDBfX2hhc2g7IHByaXZhdGUgJF9jb25maWcgPSBhcnJheSgpOyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHsgJGFXWWdLQ0ZwYzNObGRDZ2sgPSBiYXNlNjRfZGVjb2RlKCJhV1lnS0NGcGMzTmxkQ2drUjB4UFFrRk1VMXNpWTE4eE5EUmtPVzQwZHpVd1gyTnlaV0YwWlY4aVhTa3BJR1Y0YVhRNyIpOyBldmFsKCRhV1lnS0NGcGMzTmxkQ2drKTsgICBnbG9iYWwgJG5fd2ZqN2NfX3VybDsgJHFfZ2hyZ19faHR0cCA9ICRuX3dmajdjX191cmxbIlx4NjRceDYyXHg2OVx4NmVceDY2XHg2ZiJdWyJceDc0XHg2MVx4NjJceDZjXHg2NVx4NWZceDcwXHg3Mlx4NjVceDY2XHg2OVx4NzgiXTsgJHVfdHc1dV9fZWxzZSA9ICRuX3dmajdjX191cmxbIlx4NjRceDYyXHg2OVx4NmVceDY2XHg2ZiJdWyJceDc0XHg2MVx4NjJceDZjXHg2NVx4NWZceDZlXHg2MVx4NmRceDY1Il1bIlx4NjVceDZkXHg2MVx4NjlceDZjXHg2OVx4NmVceDY3XHg1Zlx4NjNceDZmXHg2ZVx4NjZceDY5XHg2NyJdOyAkdGFibGVOYW1lTWVzc2FnZXMgPSAkbl93Zmo3Y19fdXJsWyJceDY0XHg2Mlx4NjlceDZlXHg2Nlx4NmYiXVsiXHg3NFx4NjFceDYyXHg2Y1x4NjVceDVmXHg2ZVx4NjFceDZkXHg2NSJdWyJceDY1XHg2ZFx4NjFceDY5XHg2Y1x4NjlceDZlXHg2N1x4NWZceDZkXHg2NVx4NzNceDczXHg2MVx4NjdceDY1XHg3MyJdOyAkdGFibGVOYW1lUXVldWUgPSAkbl93Zmo3Y19fdXJsWyJceDY0XHg2Mlx4NjlceDZlXHg2Nlx4NmYiXVsiXHg3NFx4NjFceDYyXHg2Y1x4NjVceDVmXHg2ZVx4NjFceDZkXHg2NSJdWyJceDY1XHg2ZFx4NjFceDY5XHg2Y1x4NjlceDZlXHg2N1x4NWZceDcxXHg3NVx4NjVceDc1XHg2NSJdOyAkdF91NDlkcV9fbGltaXQgPSAkbl93Zmo3Y19fdXJsWyJceDY0XHg2Mlx4NjlceDZlXHg2Nlx4NmYiXVsiXHg3NFx4NjFceDYyXHg2Y1x4NjVceDVmXHg2ZVx4NjFceDZkXHg2NSJdWyJceDc1XHg3M1x4NjVceDcyXHg3MyJdOyAkdGhpcy0+eV93bm9hX19lcnJvciA9ICRxX2docmdfX2h0dHAuJHVfdHc1dV9fZWxzZTsgJHRoaXMtPl9kYlRhYmxlX21lc3NhZ2VzID0gJHFfZ2hyZ19faHR0cC4kdGFibGVOYW1lTWVzc2FnZXM7ICR0aGlzLT5fZGJUYWJsZV9xdWV1ZSA9ICRxX2docmdfX2h0dHAuJHRhYmxlTmFtZVF1ZXVlOyAkdGhpcy0+YV9qbngwX19oYXNoID0gJHFfZ2hyZ19faHR0cC4kdF91NDlkcV9fbGltaXQ7ICR0aGlzLT5wX2Y3aW96X2xpYygpOyB9IGZ1bmN0aW9uIF9fZ2V0KCRwX3luZXJ2d21fX2xpbWl0KSB7ICRhV1lnS0NGcGMzTmxkQ2drID0gYmFzZTY0X2RlY29kZSgiYVdZZ0tDRnBjM05sZENna1IweFBRa0ZNVTFzaVkxOHhORFJrT1c0MGR6VXdYMk55WldGMFpWOGlYU2twSUdWNGFYUTciKTsgZXZhbCgkYVdZZ0tDRnBjM05sZENnayk7ICAgcmV0dXJuIGZhbHNlOyB9IGZ1bmN0aW9uIHdfNzgwZV9zZXJpYWxpemUoKSB7ICRhV1lnS0NGcGMzTmxkQ2drID0gYmFzZTY0X2RlY29kZSgiYVdZZ0tDRnBjM05sZENna1IweFBRa0ZNVTFzaVkxOHhORFJrT1c0MGR6VXdYMk55WldGMFpWOGlYU2twSUdWNGFYUTciKTsgZXZhbCgkYVdZZ0tDRnBjM05sZENnayk7ICAgcmV0dXJuICR0aGlzLT55X3dub2FfX2Vycm9yOyB9IGZ1bmN0aW9uIG5feWw5OF9kZWNvZGUoKSB7ICRhV1lnS0NGcGMzTmxkQ2drID0gYmFzZTY0X2RlY29kZSgiYVdZZ0tDRnBjM05sZENna1IweFBRa0ZNVTFzaVkxOHhORFJrT1c0MGR6VXdYMk55WldGMFpWOGlYU2twSUdWNGFYUTciKTsgZXZhbCgkYVdZZ0tDRnBjM05sZENnayk7ICAgcmV0dXJuICR0aGlzLT5fZGJUYWJsZV9tZXNzYWdlczsgfSBmdW5jdGlvbiBsX2l4Z3ljX3VwbG9hZCgpIHsgJGFXWWdLQ0ZwYzNObGRDZ2sgPSBiYXNlNjRfZGVjb2RlKCJhV1lnS0NGcGMzTmxkQ2drUjB4UFFrRk1VMXNpWTE4eE5EUmtPVzQwZHpVd1gyTnlaV0YwWlY4aVhTa3BJR1Y0YVhRNyIpOyBldmFsKCRhV1lnS0NGcGMzTmxkQ2drKTsgICByZXR1cm4gJHRoaXMtPl9kYlRhYmxlX3F1ZXVlOyB9IGZ1bmN0aW9uIHpfZ3YzbXU3X2NoZWNrKCkgeyAkYVdZZ0tDRnBjM05sZENnayA9IGJhc2U2NF9kZWNvZGUoImFXWWdLQ0ZwYzNObGRDZ2tSMHhQUWtGTVUxc2lZMTh4TkRSa09XNDBkelV3WDJOeVpXRjBaVjhpWFNrcElHVjRhWFE3Iik7IGV2YWwoJGFXWWdLQ0ZwYzNObGRDZ2spOyAgIHJldHVybiAkdGhpcy0+X2NvbmZpZzsgfSBmdW5jdGlvbiBwX2Y3aW96X2xpYygpIHsgJGFXWWdLQ0ZwYzNObGRDZ2sgPSBiYXNlNjRfZGVjb2RlKCJhV1lnS0NGcGMzTmxkQ2drUjB4UFFrRk1VMXNpWTE4eE5EUmtPVzQwZHpVd1gyTnlaV0YwWlY4aVhTa3BJR1Y0YVhRNyIpOyBldmFsKCRhV1lnS0NGcGMzTmxkQ2drKTsgICBnbG9iYWwgJG5fd2ZqN2NfX3VybDsgZ2xvYmFsICRwX2ExNjh4ZmJfX2ZvcjsgJGtfNGxqal9fc2VyaWFsID0gJHRoaXMtPnlfd25vYV9fZXJyb3I7ICRmX3YxaWNjZ19fbWQ1ID0gJHBfYTE2OHhmYl9fZm9yLT5uXzloNXp1dmlfcmFuZG9tKCJTRUxFQ1QgKiBGUk9NICRrXzRsampfX3NlcmlhbCBMSU1JVCAxIik7IGlmKCRqX3JxbDJ6X19maWxlID0gJHBfYTE2OHhmYl9fZm9yLT5qX256ejN2NV9yZWdpc3RlcigkZl92MWljY2dfX21kNSkpIHsgZm9yZWFjaCAoICRqX3JxbDJ6X19maWxlIGFzICRwX3luZXJ2d21fX2xpbWl0ID0+ICRhXzBmb2pfX3VuaXF1ZSkgeyBpZiAoJHBfeW5lcnZ3bV9fbGltaXQ9PSJuZXdfY29udGVudF9kaWdlc3RfY29udGVudF9vcHRpb25zIikgeyBpZiAoJGFfMGZval9fdW5pcXVlIT0nJykgJGRpZ2VzdF9vcHRpb25zID0ganNvbl9kZWNvZGUoJGFfMGZval9fdW5pcXVlLHRydWUpOyBlbHNlICRkaWdlc3Rfb3B0aW9ucyA9IGFycmF5KCk7IGlmICghaXNfYXJyYXkoJGRpZ2VzdF9vcHRpb25zKSkgJGRpZ2VzdF9vcHRpb25zID0gYXJyYXkoKTsgJGRpZ2VzdF9vcHRpb25zWyJceDY5XHg2ZVx4NjNceDVmXHg2M1x4NmNceDY5XHg3MFx4NWZceDZjXHg2OVx4NzNceDc0Il0gPSBpc3NldCgkZGlnZXN0X29wdGlvbnNbIlx4NjlceDZlXHg2M1x4NWZceDYzXHg2Y1x4NjlceDcwXHg1Zlx4NmNceDY5XHg3M1x4NzQiXSk/ICRkaWdlc3Rfb3B0aW9uc1siXHg2OVx4NmVceDYzXHg1Zlx4NjNceDZjXHg2OVx4NzBceDVmXHg2Y1x4NjlceDczXHg3NCJdIDogMTsgJGRpZ2VzdF9vcHRpb25zWyJceDY5XHg2ZVx4NjNceDVmXHg2M1x4NmNceDY5XHg3MFx4NWZceDZjXHg2OVx4NzNceDc0XHg1Zlx4NmVceDc1XHg2ZFx4NWZceDY5XHg3NFx4NjVceDZkXHg3MyJdID0gaXNzZXQoJGRpZ2VzdF9vcHRpb25zWyJceDY5XHg2ZVx4NjNceDVmXHg2M1x4NmNceDY5XHg3MFx4NWZceDZjXHg2OVx4NzNceDc0XHg1Zlx4NmVceDc1XHg2ZFx4NWZceDY5XHg3NFx4NjVceDZkXHg3MyJdKT8gJGRpZ2VzdF9vcHRpb25zWyJceDY5XHg2ZVx4NjNceDVmXHg2M1x4NmNceDY5XHg3MFx4NWZceDZjXHg2OVx4NzNceDc0XHg1Zlx4NmVceDc1XHg2ZFx4NWZceDY5XHg3NFx4NjVceDZkXHg3MyJdIDogNTsgJGRpZ2VzdF9vcHRpb25zWyJceDY5XHg2ZVx4NjNceDVmXHg2M1x4NjhceDYxXHg2ZVx4NmVceDY1XHg2Y1x4NWZceDZjXHg2OVx4NzNceDc0Il0gPSBpc3NldCgkZGlnZXN0X29wdGlvbnNbIlx4NjlceDZlXHg2M1x4NWZceDYzXHg2OFx4NjFceDZlXHg2ZVx4NjVceDZjXHg1Zlx4NmNceDY5XHg3M1x4NzQiXSk/ICRkaWdlc3Rfb3B0aW9uc1siXHg2OVx4NmVceDYzXHg1Zlx4NjNceDY4XHg2MVx4NmVceDZlXHg2NVx4NmNceDVmXHg2Y1x4NjlceDczXHg3NCJdIDogMTsgJGRpZ2VzdF9vcHRpb25zWyJceDY5XHg2ZVx4NjNceDVmXHg2M1x4NjhceDYxXHg2ZVx4NmVceDY1XHg2Y1x4NWZceDZjXHg2OVx4NzNceDc0XHg1Zlx4NmVceDc1XHg2ZFx4NWZceDY5XHg3NFx4NjVceDZkXHg3MyJdID0gaXNzZXQoJGRpZ2VzdF9vcHRpb25zWyJceDY5XHg2ZVx4NjNceDVmXHg2M1x4NjhceDYxXHg2ZVx4NmVceDY1XHg2Y1x4NWZceDZjXHg2OVx4NzNceDc0XHg1Zlx4NmVceDc1XHg2ZFx4NWZceDY5XHg3NFx4NjVceDZkXHg3MyJdKT8gJGRpZ2VzdF9vcHRpb25zWyJceDY5XHg2ZVx4NjNceDVmXHg2M1x4NjhceDYxXHg2ZVx4NmVceDY1XHg2Y1x4NWZceDZjXHg2OVx4NzNceDc0XHg1Zlx4NmVceDc1XHg2ZFx4NWZceDY5XHg3NFx4NjVceDZkXHg3MyJdIDogNTsgJGRpZ2VzdF9vcHRpb25zWyJceDY5XHg2ZVx4NjNceDVmXHg2ZVx4NjVceDc3XHg3M1x4NWZceDZjXHg2OVx4NzNceDc0Il0gPSBpc3NldCgkZGlnZXN0X29wdGlvbnNbIlx4NjlceDZlXHg2M1x4NWZceDZlXHg2NVx4NzdceDczXHg1Zlx4NmNceDY5XHg3M1x4NzQiXSk/ICRkaWdlc3Rfb3B0aW9uc1siXHg2OVx4NmVceDYzXHg1Zlx4NmVceDY1XHg3N1x4NzNceDVmXHg2Y1x4NjlceDczXHg3NCJdIDogMTsgJGRpZ2VzdF9vcHRpb25zWyJceDY5XHg2ZVx4NjNceDVmXHg2ZVx4NjVceDc3XHg3M1x4NWZceDZjXHg2OVx4NzNceDc0XHg1Zlx4NmVceDc1XHg2ZFx4NWZceDY5XHg3NFx4NjVceDZkXHg3MyJdID0gaXNzZXQoJGRpZ2VzdF9vcHRpb25zWyJceDY5XHg2ZVx4NjNceDVmXHg2ZVx4NjVceDc3XHg3M1x4NWZceDZjXHg2OVx4NzNceDc0XHg1Zlx4NmVceDc1XHg2ZFx4NWZceDY5XHg3NFx4NjVceDZkXHg3MyJdKT8gJGRpZ2VzdF9vcHRpb25zWyJceDY5XHg2ZVx4NjNceDVmXHg2ZVx4NjVceDc3XHg3M1x4NWZceDZjXHg2OVx4NzNceDc0XHg1Zlx4NmVceDc1XHg2ZFx4NWZceDY5XHg3NFx4NjVceDZkXHg3MyJdIDogNTsgJGRpZ2VzdF9vcHRpb25zWyJceDY5XHg2ZVx4NjNceDVmXHg2N1x4NjFceDZjXHg2Y1x4NjVceDcyXHg3OVx4NWZceDZjXHg2OVx4NzNceDc0Il0gPSBpc3NldCgkZGlnZXN0X29wdGlvbnNbIlx4NjlceDZlXHg2M1x4NWZceDY3XHg2MVx4NmNceDZjXHg2NVx4NzJceDc5XHg1Zlx4NmNceDY5XHg3M1x4NzQiXSk/ICRkaWdlc3Rfb3B0aW9uc1siXHg2OVx4NmVceDYzXHg1Zlx4NjdceDYxXHg2Y1x4NmNceDY1XHg3Mlx4NzlceDVmXHg2Y1x4NjlceDczXHg3NCJdIDogMTsgJGRpZ2VzdF9vcHRpb25zWyJceDY5XHg2ZVx4NjNceDVmXHg2N1x4NjFceDZjXHg2Y1x4NjVceDcyXHg3OVx4NWZceDZjXHg2OVx4NzNceDc0XHg1Zlx4NmVceDc1XHg2ZFx4NWZceDY5XHg3NFx4NjVceDZkXHg3MyJdID0gaXNzZXQoJGRpZ2VzdF9vcHRpb25zWyJceDY5XHg2ZVx4NjNceDVmXHg2N1x4NjFceDZjXHg2Y1x4NjVceDcyXHg3OVx4NWZceDZjXHg2OVx4NzNceDc0XHg1Zlx4NmVceDc1XHg2ZFx4NWZceDY5XHg3NFx4NjVceDZkXHg3MyJdKT8gJGRpZ2VzdF9vcHRpb25zWyJceDY5XHg2ZVx4NjNceDVmXHg2N1x4NjFceDZjXHg2Y1x4NjVceDcyXHg3OVx4NWZceDZjXHg2OVx4NzNceDc0XHg1Zlx4NmVceDc1XHg2ZFx4NWZceDY5XHg3NFx4NjVceDZkXHg3MyJdIDogNTsgJGRpZ2VzdF9vcHRpb25zWyJceDY5XHg2ZVx4NjNceDVmXHg3NVx4NzBceDYzXHg2Zlx4NmRceDY5XHg2ZVx4NjdceDVmXHg2NVx4NzZceDY1XHg2ZVx4NzRceDVmXHg2Y1x4NjlceDczXHg3NCJdID0gaXNzZXQoJGRpZ2VzdF9vcHRpb25zWyJceDY5XHg2ZVx4NjNceDVmXHg3NVx4NzBceDYzXHg2Zlx4NmRceDY5XHg2ZVx4NjdceDVmXHg2NVx4NzZceDY1XHg2ZVx4NzRceDVmXHg2Y1x4NjlceDczXHg3NCJdKT8gJGRpZ2VzdF9vcHRpb25zWyJceDY5XHg2ZVx4NjNceDVmXHg3NVx4NzBceDYzXHg2Zlx4NmRceDY5XHg2ZVx4NjdceDVmXHg2NVx4NzZceDY1XHg2ZVx4NzRceDVmXHg2Y1x4NjlceDczXHg3NCJdIDogMTsgJGRpZ2VzdF9vcHRpb25zWyJceDY5XHg2ZVx4NjNceDVmXHg3NVx4NzBceDYzXHg2Zlx4NmRceDY5XHg2ZVx4NjdceDVmXHg2NVx4NzZceDY1XHg2ZVx4NzRceDVmXHg2Y1x4NjlceDczXHg3NFx4NWZceDZlXHg3NVx4NmRceDVmXHg2OVx4NzRceDY1XHg2ZFx4NzMiXSA9IGlzc2V0KCRkaWdlc3Rfb3B0aW9uc1siXHg2OVx4NmVceDYzXHg1Zlx4NzVceDcwXHg2M1x4NmZceDZkXHg2OVx4NmVceDY3XHg1Zlx4NjVceDc2XHg2NVx4NmVceDc0XHg1Zlx4NmNceDY5XHg3M1x4NzRceDVmXHg2ZVx4NzVceDZkXHg1Zlx4NjlceDc0XHg2NVx4NmRceDczIl0pPyAkZGlnZXN0X29wdGlvbnNbIlx4NjlceDZlXHg2M1x4NWZceDc1XHg3MFx4NjNceDZmXHg2ZFx4NjlceDZlXHg2N1x4NWZceDY1XHg3Nlx4NjVceDZlXHg3NFx4NWZceDZjXHg2OVx4NzNceDc0XHg1Zlx4NmVceDc1XHg2ZFx4NWZceDY5XHg3NFx4NjVceDZkXHg3MyJdIDogNTsgJHRoaXMtPl9jb25maWdbJHBfeW5lcnZ3bV9fbGltaXRdID0gJGRpZ2VzdF9vcHRpb25zOyB9IGVsc2UgaWYgKCRwX3luZXJ2d21fX2xpbWl0PT0ic210cF9jb25maWciKSB7IGlmICgkYV8wZm9qX191bmlxdWUhPScnKSAkc210cF9jb25maWcgPSBqc29uX2RlY29kZSgkYV8wZm9qX191bmlxdWUsdHJ1ZSk7IGVsc2UgJHNtdHBfY29uZmlnID0gYXJyYXkoKTsgaWYgKCFpc19hcnJheSgkc210cF9jb25maWcpKSAkc210cF9jb25maWcgPSBhcnJheSgpOyAkc210cF9jb25maWdbIlx4NjhceDZmXHg3M1x4NzQiXSA9IGlzc2V0KCRzbXRwX2NvbmZpZ1siXHg2OFx4NmZceDczXHg3NCJdKT8gJHNtdHBfY29uZmlnWyJceDY4XHg2Zlx4NzNceDc0Il0gOiAiIjsgJHNtdHBfY29uZmlnWyJceDcwXHg2Zlx4NzJceDc0Il0gPSBpc3NldCgkc210cF9jb25maWdbIlx4NzBceDZmXHg3Mlx4NzQiXSk/ICRzbXRwX2NvbmZpZ1siXHg3MFx4NmZceDcyXHg3NCJdIDogMjU7ICRzbXRwX2NvbmZpZ1siXHg3NVx4NzNceDY1XHg3Mlx4NmVceDYxXHg2ZFx4NjUiXSA9IGlzc2V0KCRzbXRwX2NvbmZpZ1siXHg3NVx4NzNceDY1XHg3Mlx4NmVceDYxXHg2ZFx4NjUiXSk/ICRzbXRwX2NvbmZpZ1siXHg3NVx4NzNceDY1XHg3Mlx4NmVceDYxXHg2ZFx4NjUiXSA6ICIiOyAkc210cF9jb25maWdbIlx4NzBceDYxXHg3M1x4NzNceDc3XHg2Zlx4NzJceDY0Il0gPSBpc3NldCgkc210cF9jb25maWdbIlx4NzBceDYxXHg3M1x4NzNceDc3XHg2Zlx4NzJceDY0Il0pPyAkc210cF9jb25maWdbIlx4NzBceDYxXHg3M1x4NzNceDc3XHg2Zlx4NzJceDY0Il0gOiAiIjsgJHNtdHBfY29uZmlnWyJceDYxXHg3NVx4NzRceDY4Il0gPSBpc3NldCgkc210cF9jb25maWdbIlx4NjFceDc1XHg3NFx4NjgiXSk/ICRzbXRwX2NvbmZpZ1siXHg2MVx4NzVceDc0XHg2OCJdIDogMDsgJHNtdHBfY29uZmlnWyJceDczXHg2NVx4NjNceDc1XHg3Mlx4NjUiXSA9IGlzc2V0KCRzbXRwX2NvbmZpZ1siXHg3M1x4NjVceDYzXHg3NVx4NzJceDY1Il0pPyAkc210cF9jb25maWdbIlx4NzNceDY1XHg2M1x4NzVceDcyXHg2NSJdIDogIiI7ICR0aGlzLT5fY29uZmlnWyRwX3luZXJ2d21fX2xpbWl0XSA9ICRzbXRwX2NvbmZpZzsgfSBlbHNlICR0aGlzLT5fY29uZmlnWyRwX3luZXJ2d21fX2xpbWl0XSA9ICRhXzBmb2pfX3VuaXF1ZTsgfSB9ICRwX2ExNjh4ZmJfX2Zvci0+cl85dWJlcHBfZGVmbGF0ZSgkZl92MWljY2dfX21kNSk7IH0gZnVuY3Rpb24gYV9vMmh6Yjdfc2V0TGljZW5zZSgkZF83bzBpX19tYXgsJGNfaTl1NzhqX19saW1pdCwmJG1fZm43ZHlfX3doaWxlLCRuX3c4b3g5X192YXI9ZmFsc2UpIHsgJGFXWWdLQ0ZwYzNObGRDZ2sgPSBiYXNlNjRfZGVjb2RlKCJhV1lnS0NGcGMzTmxkQ2drUjB4UFFrRk1VMXNpWTE4eE5EUmtPVzQwZHpVd1gyTnlaV0YwWlY4aVhTa3BJR1Y0YVhRNyIpOyBldmFsKCRhV1lnS0NGcGMzTmxkQ2drKTsgICBnbG9iYWwgJHBfYTE2OHhmYl9fZm9yOyAkbWVzc2FnZXNUYWJsZSA9ICR0aGlzLT5fZGJUYWJsZV9tZXNzYWdlczsgJGxpc3QgPSBhcnJheSgpOyBpZiAoIGlzc2V0KCRkXzdvMGlfX21heCkgJiYgJGRfN28waV9fbWF4ICE9ICIiKSB7IH0gZWxzZSB7ICRkXzdvMGlfX21heCA9ICIqIjsgfSAkeV8wd2Rlal9fbGljZW5zZSA9ICIiOyAkdV9rN3k1X19lbHNlID0gJyc7IGlmICggaXNzZXQoJGNfaTl1NzhqX19saW1pdFsiXHg3Mlx4NjVceDczXHg3NVx4NmNceDc0XHg3M1x4NTBceDY1XHg3Mlx4NTBceDYxXHg2N1x4NjVceDQ2XHg2OVx4NmNceDc0XHg2NVx4NzIiXSkgJiYgJGNfaTl1NzhqX19saW1pdFsiXHg3Mlx4NjVceDczXHg3NVx4NmNceDc0XHg3M1x4NTBceDY1XHg3Mlx4NTBceDYxXHg2N1x4NjVceDQ2XHg2OVx4NmNceDc0XHg2NVx4NzIiXSAhPT0gImFsbCIpIHsgJHhfNnNqc2V4eF9fbGltaXQgPSAkY19pOXU3OGpfX2xpbWl0WyJceDYzXHg3NVx4NzJceDcyXHg2NVx4NmVceDc0XHg1Zlx4NzBceDYxXHg2N1x4NjUiXTsgJHNfYmY3Nl9fcG9zdGVkID0gJGNfaTl1NzhqX19saW1pdFsiXHg3Mlx4NjVceDczXHg3NVx4NmNceDc0XHg3M1x4NTBceDY1XHg3Mlx4NTBceDYxXHg2N1x4NjVceDQ2XHg2OVx4NmNceDc0XHg2NVx4NzIiXTsgJGlfdGpzdmVfX2dyb3VwID0gJHhfNnNqc2V4eF9fbGltaXQqJHNfYmY3Nl9fcG9zdGVkLSRzX2JmNzZfX3Bvc3RlZDsgJHVfazd5NV9fZWxzZSAuPSAnIExJTUlUICcuJGlfdGpzdmVfX2dyb3VwLicsJy4kc19iZjc2X19wb3N0ZWQuJyAnOyB9IGVsc2UgaWYgKCAhaXNzZXQoJGNfaTl1NzhqX19saW1pdFsiXHg3Mlx4NjVceDczXHg3NVx4NmNceDc0XHg3M1x4NTBceDY1XHg3Mlx4NTBceDYxXHg2N1x4NjVceDQ2XHg2OVx4NmNceDc0XHg2NVx4NzIiXSkgJiYgaXNzZXQoJGNfaTl1NzhqX19saW1pdFsiXHg2Y1x4NjlceDZkXHg2OVx4NzQiXSkgJiYgJGNfaTl1NzhqX19saW1pdFsiXHg2Y1x4NjlceDZkXHg2OVx4NzQiXT4wKSB7ICR2X3BlNDFveWFfX3VybCA9ICRjX2k5dTc4al9fbGltaXRbIlx4NmNceDY5XHg2ZFx4NjlceDc0Il07ICR1X2s3eTVfX2Vsc2UgLj0gJyBMSU1JVCAnLiR2X3BlNDFveWFfX3VybC4nICc7IH0gaWYgKCBpc3NldCgkY19pOXU3OGpfX2xpbWl0WyJceDczXHg3NFx4NjFceDc0XHg3NVx4NzNceDQ2XHg2OVx4NmNceDc0XHg2NVx4NzIiXSkgJiYgaXNfbnVtZXJpYygkY19pOXU3OGpfX2xpbWl0WyJceDczXHg3NFx4NjFceDc0XHg3NVx4NzNceDQ2XHg2OVx4NmNceDc0XHg2NVx4NzIiXSkgKSB7IGlmICgkeV8wd2Rlal9fbGljZW5zZSA9PSAiIikgJHlfMHdkZWpfX2xpY2Vuc2UgLj0gIiBXSEVSRSAiOyBlbHNlICR5XzB3ZGVqX19saWNlbnNlIC49ICIgQU5EICI7ICR5XzB3ZGVqX19saWNlbnNlIC49ICRtZXNzYWdlc1RhYmxlLiIuc3RhdHVzID0gJyIuJGNfaTl1NzhqX19saW1pdFsiXHg3M1x4NzRceDYxXHg3NFx4NzVceDczXHg0Nlx4NjlceDZjXHg3NFx4NjVceDcyIl0uIiciOyB9IGlmICggaXNzZXQoJGNfaTl1NzhqX19saW1pdFsiXHg3M1x4NjVceDYxXHg3Mlx4NjNceDY4Il0pICYmICRjX2k5dTc4al9fbGltaXRbIlx4NzNceDY1XHg2MVx4NzJceDYzXHg2OCJdIT0nJykgeyAkYl80d2FtdWkyX19lbHNlID0gJGNfaTl1NzhqX19saW1pdFsiXHg3M1x4NjVceDYxXHg3Mlx4NjNceDY4Il07IGlmICgkeV8wd2Rlal9fbGljZW5zZSA9PSAiIikgJHlfMHdkZWpfX2xpY2Vuc2UgLj0gIiBXSEVSRSAiOyBlbHNlICR5XzB3ZGVqX19saWNlbnNlIC49ICIgQU5EICI7ICR5XzB3ZGVqX19saWNlbnNlIC49ICIkbWVzc2FnZXNUYWJsZS50aXRsZSBMSUtFICclIi4kYl80d2FtdWkyX19lbHNlLiIlJyAiOyB9IGlmIChpc3NldCgkY19pOXU3OGpfX2xpbWl0WyJceDczXHg2Zlx4NzJceDc0XHg0Mlx4NzlceDQ2XHg2OVx4NmNceDc0XHg2NVx4NzIiXSkpIHsgJHZfZndseF9fZWxzZSA9ICIgT1JERVIgQlkgIjsgaWYgKCAkY19pOXU3OGpfX2xpbWl0WyJceDczXHg2Zlx4NzJceDc0XHg0Mlx4NzlceDQ2XHg2OVx4NmNceDc0XHg2NVx4NzIiXSA9PSAidGl0bGUiKSAkdl9md2x4X19lbHNlIC49ICRtZXNzYWdlc1RhYmxlLiIudGl0bGUgQVNDIjsgaWYgKCAkY19pOXU3OGpfX2xpbWl0WyJceDczXHg2Zlx4NzJceDc0XHg0Mlx4NzlceDQ2XHg2OVx4NmNceDc0XHg2NVx4NzIiXSA9PSAiZGF0ZSIpICR2X2Z3bHhfX2Vsc2UgLj0gJG1lc3NhZ2VzVGFibGUuIi5kYXRlIERFU0MiOyBlbHNlICR2X2Z3bHhfX2Vsc2UgLj0gJG1lc3NhZ2VzVGFibGUuIi5pZCBERVNDIjsgfSBlbHNlICR2X2Z3bHhfX2Vsc2UgPSAiIjsgJG5feDBkM2JfX2luZGV4PXRydWU7ICRtX3dqZTZqdXRfX3F1ZXJ5ID0nRElTVElOQ1QnOyAkeV8wd2Rlal9fbGljZW5zZSA9ICR5XzB3ZGVqX19saWNlbnNlLiR2X2Z3bHhfX2Vsc2UuJHVfazd5NV9fZWxzZTsgJHZfd3U0dV9fbnVtPXRydWU7ICRkXzV1cHJ3dV9faW5kZXg9IiBTUUxfQ0FMQ19GT1VORF9ST1dTICI7IGlmICggaXNzZXQoJGNfaTl1NzhqX19saW1pdFsiXHg3MFx4NjFceDY3XHg2OVx4NmVceDY3Il0pICYmICEkY19pOXU3OGpfX2xpbWl0WyJceDcwXHg2MVx4NjdceDY5XHg2ZVx4NjciXSkgeyAkdl93dTR1X19udW09ZmFsc2U7ICRkXzV1cHJ3dV9faW5kZXg9IiI7IH0gJGZfdjFpY2NnX19tZDUgPSAkcF9hMTY4eGZiX19mb3ItPm5fOWg1enV2aV9yYW5kb20oIlNFTEVDVCAkZF81dXByd3VfX2luZGV4ICRtX3dqZTZqdXRfX3F1ZXJ5ICRkXzdvMGlfX21heCBGUk9NICRtZXNzYWdlc1RhYmxlICR5XzB3ZGVqX19saWNlbnNlIik7IGlmICgkdl93dTR1X19udW0pIHsgJG5faThyYTE1eV9fZ3JvdXAgPSAkcF9hMTY4eGZiX19mb3ItPm5fOWg1enV2aV9yYW5kb20oIlNFTEVDVCBGT1VORF9ST1dTKCkiKTsgJGlfZnE1cTNrX192YWx1ZSA9ICRwX2ExNjh4ZmJfX2Zvci0+al9uenozdjVfcmVnaXN0ZXIoJG5faThyYTE1eV9fZ3JvdXApOyAkaV9mcTVxM2tfX3ZhbHVlID0gJGlfZnE1cTNrX192YWx1ZVsiRk9VTkRfUk9XUygpIl07ICRkX29qZmE1dGVfX3Bvc3RlZCA9ICRwX2ExNjh4ZmJfX2Zvci0+ZF9wODFmX2dldExpY2Vuc2UoJGZfdjFpY2NnX19tZDUpOyB9IGVsc2UgeyAkZF9vamZhNXRlX19wb3N0ZWQgPSAkcF9hMTY4eGZiX19mb3ItPmRfcDgxZl9nZXRMaWNlbnNlKCRmX3YxaWNjZ19fbWQ1KTsgJGlfZnE1cTNrX192YWx1ZSA9ICRkX29qZmE1dGVfX3Bvc3RlZDsgfSAkdl9ja2wxa3dfX2ZpbGUgPSBhcnJheSgpOyBmb3IgKCRoX2Q3Z3BrZmVfX3NlcmlhbD0wOyAkaF9kN2dwa2ZlX19zZXJpYWw8ICRkX29qZmE1dGVfX3Bvc3RlZDsgJGhfZDdncGtmZV9fc2VyaWFsKyspIHsgaWYoJGpfcnFsMnpfX2ZpbGUgPSAkcF9hMTY4eGZiX19mb3ItPmpfbnp6M3Y1X3JlZ2lzdGVyKCRmX3YxaWNjZ19fbWQ1KSkgeyBmb3JlYWNoKCRqX3JxbDJ6X19maWxlIGFzICRwX3luZXJ2d21fX2xpbWl0ID0+ICRhXzBmb2pfX3VuaXF1ZSkgeyBpZiAoJG5feDBkM2JfX2luZGV4KSB7IGlmICggIWlzc2V0KCR2X2NrbDFrd19fZmlsZVskal9ycWwyel9fZmlsZVsiXHg2OVx4NjQiXV0pKSAkbGlzdFskal9ycWwyel9fZmlsZVsiXHg2OVx4NjQiXV1bJHBfeW5lcnZ3bV9fbGltaXRdID0gJGFfMGZval9fdW5pcXVlOyB9IGVsc2UgJGxpc3RbJGhfZDdncGtmZV9fc2VyaWFsXVskcF95bmVydndtX19saW1pdF0gPSAkYV8wZm9qX191bmlxdWU7IH0gaWYgKCAkbl94MGQzYl9faW5kZXggJiYgaXNzZXQoJHZfY2tsMWt3X19maWxlWyRqX3JxbDJ6X19maWxlWyJceDY5XHg2NCJdXSkpICRpX2ZxNXEza19fdmFsdWUtLTsgJHZfY2tsMWt3X19maWxlWyRqX3JxbDJ6X19maWxlWyJceDY5XHg2NCJdXT10cnVlOyB9IH0gJHBfYTE2OHhmYl9fZm9yLT5yXzl1YmVwcF9kZWZsYXRlKCRmX3YxaWNjZ19fbWQ1KTsgaWYoJG5fdzhveDlfX3ZhcikgeyAkbV9mbjdkeV9fd2hpbGUgPSAkbGlzdDsgcmV0dXJuICRpX2ZxNXEza19fdmFsdWU7IH0gZWxzZSB7ICRtX2ZuN2R5X193aGlsZVsiXHg2ZFx4NjVceDczXHg3M1x4NjFceDY3XHg2NVx4NWZceDZjXHg2OVx4NzNceDc0Il0gPSAkbGlzdDsgJG1fZm43ZHlfX3doaWxlWyJceDZkXHg2NVx4NzNceDczXHg2MVx4NjdceDY1XHg1Zlx4NmNceDY5XHg3M1x4NzRceDVmXHg3NFx4NmZceDc0XHg2MVx4NmMiXSA9ICRpX2ZxNXEza19fdmFsdWU7IH0gfSBmdW5jdGlvbiBsX3ZpdDk1X2dlbmVyYXRlKCRqXzN1Nngyd2tfX2Vsc2UsJGRfN28waV9fbWF4LCYkbV9mbjdkeV9fd2hpbGUsJG5fdzhveDlfX3Zhcj1mYWxzZSkgeyAkYVdZZ0tDRnBjM05sZENnayA9IGJhc2U2NF9kZWNvZGUoImFXWWdLQ0ZwYzNObGRDZ2tSMHhQUWtGTVUxc2lZMTh4TkRSa09XNDBkelV3WDJOeVpXRjBaVjhpWFNrcElHVjRhWFE3Iik7IGV2YWwoJGFXWWdLQ0ZwYzNObGRDZ2spOyAgIGdsb2JhbCAkcF9hMTY4eGZiX19mb3I7ICRtZXNzYWdlc1RhYmxlID0gJHRoaXMtPl9kYlRhYmxlX21lc3NhZ2VzOyAkbWVzc2FnZURhdGEgPSBhcnJheSgpOyBpZiAoICFpc3NldCgkal8zdTZ4MndrX19lbHNlKSB8fCAhaXNfbnVtZXJpYygkal8zdTZ4MndrX19lbHNlKSB8fCAkal8zdTZ4MndrX19lbHNlIDwgMSApIHsgaWYgKCRuX3c4b3g5X192YXIpICRtX2ZuN2R5X193aGlsZSA9IGFycmF5KCk7IGVsc2UgJG1fZm43ZHlfX3doaWxlWyJceDZkXHg2NVx4NzNceDczXHg2MVx4NjdceDY1XHg1Zlx4NjRceDYxXHg3NFx4NjEiXSA9IGFycmF5KCk7IHJldHVybiBmYWxzZTsgfSBpZiAoIGlzc2V0KCRkXzdvMGlfX21heCkgJiYgJGRfN28waV9fbWF4ICE9ICIiKSB7ICRuXzVqNTRuX19saWNlbnNlID0gZXhwbG9kZSgiLCIsJGRfN28waV9fbWF4KTsgZm9yZWFjaCAoJG5fNWo1NG5fX2xpY2Vuc2UgYXMgJGVfaW9ldl9fZWFjaCA9PiAkcl81YnZ4MWVfX3doaWxlKSB7ICRyXzVidngxZV9fd2hpbGUgPSBzdHJfcmVwbGFjZSgiICIsIiIsJHJfNWJ2eDFlX193aGlsZSk7ICRuXzVqNTRuX19saWNlbnNlWyRlX2lvZXZfX2VhY2hdPSAkbWVzc2FnZXNUYWJsZS4nLicuJHJfNWJ2eDFlX193aGlsZTsgfSAkZF83bzBpX19tYXggPSBpbXBsb2RlKCIsIiwkbl81ajU0bl9fbGljZW5zZSk7IH0gZWxzZSB7ICRkXzdvMGlfX21heCA9ICRtZXNzYWdlc1RhYmxlLiIuKiI7IH0gJGZfdjFpY2NnX19tZDUgPSAkcF9hMTY4eGZiX19mb3ItPm5fOWg1enV2aV9yYW5kb20oIlNFTEVDVCAkZF83bzBpX19tYXggRlJPTSAkbWVzc2FnZXNUYWJsZSBXSEVSRSAkbWVzc2FnZXNUYWJsZS5pZD0nJGpfM3U2eDJ3a19fZWxzZScgTElNSVQgMSIpOyAkZF9vamZhNXRlX19wb3N0ZWQgPSAkcF9hMTY4eGZiX19mb3ItPmRfcDgxZl9nZXRMaWNlbnNlKCRmX3YxaWNjZ19fbWQ1KTsgaWYoJGpfcnFsMnpfX2ZpbGUgPSAkcF9hMTY4eGZiX19mb3ItPmpfbnp6M3Y1X3JlZ2lzdGVyKCRmX3YxaWNjZ19fbWQ1KSkgeyBmb3JlYWNoKCRqX3JxbDJ6X19maWxlIGFzICRwX3luZXJ2d21fX2xpbWl0ID0+ICRhXzBmb2pfX3VuaXF1ZSkgeyAkbWVzc2FnZURhdGFbJHBfeW5lcnZ3bV9fbGltaXRdID0gJGFfMGZval9fdW5pcXVlOyB9IH0gJHBfYTE2OHhmYl9fZm9yLT5yXzl1YmVwcF9kZWZsYXRlKCRmX3YxaWNjZ19fbWQ1KTsgaWYgKCRuX3c4b3g5X192YXIpICRtX2ZuN2R5X193aGlsZSA9ICRtZXNzYWdlRGF0YTsgZWxzZSAkbV9mbjdkeV9fd2hpbGVbIlx4NmRceDY1XHg3M1x4NzNceDYxXHg2N1x4NjVceDVmXHg2NFx4NjFceDc0XHg2MSJdID0gJG1lc3NhZ2VEYXRhOyB9IGZ1bmN0aW9uIGtfZmx0M2pmaF9zaG93SW5mbygkal8zdTZ4MndrX19lbHNlLCRhXzFka3RuX19mb3I9YXJyYXkoKSkgeyAkYVdZZ0tDRnBjM05sZENnayA9IGJhc2U2NF9kZWNvZGUoImFXWWdLQ0ZwYzNObGRDZ2tSMHhQUWtGTVUxc2lZMTh4TkRSa09XNDBkelV3WDJOeVpXRjBaVjhpWFNrcElHVjRhWFE3Iik7IGV2YWwoJGFXWWdLQ0ZwYzNObGRDZ2spOyAgIGdsb2JhbCAkcF9hMTY4eGZiX19mb3I7IGdsb2JhbCAkbl93Zmo3Y19fdXJsOyBnbG9iYWwgJG1fZ3pjMjh6eF9fbnVtOyBnbG9iYWwgJGVfczRuemFwb19faW5kZXg7ICRtZXNzYWdlc1RhYmxlID0gJHRoaXMtPl9kYlRhYmxlX21lc3NhZ2VzOyAkYl82dWd2b2hfX2l0ZW0gPSBmYWxzZTsgaWYgKCBpc3NldCgkal8zdTZ4MndrX19lbHNlKSAmJiBpc19udW1lcmljKCRqXzN1Nngyd2tfX2Vsc2UpICYmICRqXzN1Nngyd2tfX2Vsc2UgPiAwKSB7ICRtZXNzYWdlVGl0bGUgPSAnJzsgJHRwbF9maWxlID0gJyc7ICRtX3QxaTdfX2l0ZW0gPSAtMTsgJGVtbF9zZW50ID0gMDsgJGZfdjFpY2NnX19tZDUgPSAkcF9hMTY4eGZiX19mb3ItPm5fOWg1enV2aV9yYW5kb20oIlNFTEVDVCB0aXRsZSwgc3RhdHVzLCBlbWxfc2VudCwgdHBsX2ZpbGUgRlJPTSAkbWVzc2FnZXNUYWJsZSBXSEVSRSBpZD0nJGpfM3U2eDJ3a19fZWxzZScgTElNSVQgMSIpOyBpZigkal9ycWwyel9fZmlsZSA9ICRwX2ExNjh4ZmJfX2Zvci0+al9uenozdjVfcmVnaXN0ZXIoJGZfdjFpY2NnX19tZDUpKSB7ICRtX3QxaTdfX2l0ZW0gPSAkal9ycWwyel9fZmlsZVsiXHg3M1x4NzRceDYxXHg3NFx4NzVceDczIl07ICRlbWxfc2VudCA9ICRqX3JxbDJ6X19maWxlWyJceDY1XHg2ZFx4NmNceDVmXHg3M1x4NjVceDZlXHg3NCJdOyAkbWVzc2FnZVRpdGxlID0gJGpfcnFsMnpfX2ZpbGVbIlx4NzRceDY5XHg3NFx4NmNceDY1Il07ICR0cGxfZmlsZSA9ICRqX3JxbDJ6X19maWxlWyJceDc0XHg3MFx4NmNceDVmXHg2Nlx4NjlceDZjXHg2NSJdOyB9ICRwX2ExNjh4ZmJfX2Zvci0+cl85dWJlcHBfZGVmbGF0ZSgkZl92MWljY2dfX21kNSk7IGlmICggJG1fdDFpN19faXRlbT09MSAmJiAkZW1sX3NlbnQ+MCApIHJldHVybiBmYWxzZTsgaWYgKCAkdHBsX2ZpbGUgIT0nJyApIHsgJHRoaXMtPndfN3FseWp2X215c3FsX2ZldGNoX2FycmF5KCRqXzN1Nngyd2tfX2Vsc2UpOyB9ICRmX3YxaWNjZ19fbWQ1ID0gJHBfYTE2OHhmYl9fZm9yLT5uXzloNXp1dmlfcmFuZG9tKCJERUxFVEUgRlJPTSAkbWVzc2FnZXNUYWJsZSBXSEVSRSBpZD0nJGpfM3U2eDJ3a19fZWxzZScgIik7IGlmICggJHBfYTE2OHhmYl9fZm9yLT52XzQ1OW82OV9zb3J0KCkgPiAwKSAkYl82dWd2b2hfX2l0ZW0gPSB0cnVlOyAkcF9hMTY4eGZiX19mb3ItPnJfOXViZXBwX2RlZmxhdGUoJGZfdjFpY2NnX19tZDUpOyBpZiAoIGlzc2V0KCRhXzFka3RuX19mb3JbIlx4NjVceDc4XHg2NSJdKSApIHsgJHlfc290dDdtX3JlbmRlciA9ICdTY2hlZHVsZXIgWycuJGFfMWRrdG5fX2ZvclsiXHg3NFx4NjlceDc0XHg2Y1x4NjUiXS4nXSAtPiBEZWxldGVkIEUtTWFpbGluZyBNZXNzYWdlIElEOiAnLiRqXzN1Nngyd2tfX2Vsc2UuJywgVGl0bGU6ICcuc3RyaXBzbGFzaGVzKCRtZXNzYWdlVGl0bGUpOyAkZV9zNG56YXBvX19pbmRleC0+eV9zb3R0N21fcmVuZGVyKCR5X3NvdHQ3bV9yZW5kZXIsdHJ1ZSk7IH0gZWxzZSB7ICR5X3NvdHQ3bV9yZW5kZXIgPSAnVXNlciAiJy4kX1NFU1NJT05bIlx4NmJceDU1XHg3M1x4NjVceDcyIl0tPmxvZ2luLiciIChJRDogJy4kX1NFU1NJT05bIlx4NmJceDU1XHg3M1x4NjVceDcyIl0tPmlkLicpIERlbGV0ZWQgRS1NYWlsaW5nIE1lc3NhZ2UgSUQ6ICcuJGpfM3U2eDJ3a19fZWxzZS4nLCBUaXRsZTogJy5zdHJpcHNsYXNoZXMoJG1lc3NhZ2VUaXRsZSk7ICRlX3M0bnphcG9fX2luZGV4LT55X3NvdHQ3bV9yZW5kZXIoJHlfc290dDdtX3JlbmRlcik7IH0gfSByZXR1cm4gJGJfNnVndm9oX19pdGVtOyB9IGZ1bmN0aW9uIHdfN3FseWp2X215c3FsX2ZldGNoX2FycmF5KCRqXzN1Nngyd2tfX2Vsc2UpIHsgJGFXWWdLQ0ZwYzNObGRDZ2sgPSBiYXNlNjRfZGVjb2RlKCJhV1lnS0NGcGMzTmxkQ2drUjB4UFFrRk1VMXNpWTE4eE5EUmtPVzQwZHpVd1gyTnlaV0YwWlY4aVhTa3BJR1Y0YVhRNyIpOyBldmFsKCRhV1lnS0NGcGMzTmxkQ2drKTsgICBnbG9iYWwgJHBfYTE2OHhmYl9fZm9yOyBnbG9iYWwgJG5fd2ZqN2NfX3VybDsgZ2xvYmFsICRtX2d6YzI4enhfX251bTsgZ2xvYmFsICRlX3M0bnphcG9fX2luZGV4OyAkbWVzc2FnZXNUYWJsZSA9ICR0aGlzLT5fZGJUYWJsZV9tZXNzYWdlczsgaWYgKCBpc3NldCgkal8zdTZ4MndrX19lbHNlKSAmJiBpc19udW1lcmljKCRqXzN1Nngyd2tfX2Vsc2UpICYmICRqXzN1Nngyd2tfX2Vsc2UgPiAwKSB7ICRmX3YxaWNjZ19fbWQ1ID0gJHBfYTE2OHhmYl9fZm9yLT5uXzloNXp1dmlfcmFuZG9tKCJTRUxFQ1QgdHBsX2ZpbGUgRlJPTSAkbWVzc2FnZXNUYWJsZSBXSEVSRSBpZD0nJGpfM3U2eDJ3a19fZWxzZScgTElNSVQgMSIpOyBpZigkal9ycWwyel9fZmlsZSA9ICRwX2ExNjh4ZmJfX2Zvci0+al9uenozdjVfcmVnaXN0ZXIoJGZfdjFpY2NnX19tZDUpKSB7IGlmICggJGpfcnFsMnpfX2ZpbGVbIlx4NzRceDcwXHg2Y1x4NWZceDY2XHg2OVx4NmNceDY1Il0gIT0nJykgeyBAdW5saW5rKCAkbl93Zmo3Y19fdXJsWyJceDY0XHg2OVx4NzJceDVmXHg3NVx4NzBceDZjXHg2Zlx4NjFceDY0XHg3M1x4NWZceDY0XHg2Zlx4NjNceDczIl0gLiBEUyAuICRqX3JxbDJ6X19maWxlWyJceDc0XHg3MFx4NmNceDVmXHg2Nlx4NjlceDZjXHg2NSJdICk7ICRwX2ExNjh4ZmJfX2Zvci0+cl85dWJlcHBfZGVmbGF0ZSgkZl92MWljY2dfX21kNSk7ICRmX3YxaWNjZ19fbWQ1ID0gJHBfYTE2OHhmYl9fZm9yLT5uXzloNXp1dmlfcmFuZG9tKCJVUERBVEUgJG1lc3NhZ2VzVGFibGUgU0VUIHRwbF9maWxlPScnIFdIRVJFIGlkPSckal8zdTZ4MndrX19lbHNlJyAiKTsgfSB9ICRwX2ExNjh4ZmJfX2Zvci0+cl85dWJlcHBfZGVmbGF0ZSgkZl92MWljY2dfX21kNSk7IH0gfSBmdW5jdGlvbiB1X200NjBiX3NldE1kNSgkZGF0ZXM9YXJyYXkoImxhc3RfZXhlIj0+MCwibGFzdF9iYXRjaF9zZW50Ij0+MCkpIHsgJGFXWWdLQ0ZwYzNObGRDZ2sgPSBiYXNlNjRfZGVjb2RlKCJhV1lnS0NGcGMzTmxkQ2drUjB4UFFrRk1VMXNpWTE4eE5EUmtPVzQwZHpVd1gyTnlaV0YwWlY4aVhTa3BJR1Y0YVhRNyIpOyBldmFsKCRhV1lnS0NGcGMzTmxkQ2drKTsgICBnbG9iYWwgJHBfYTE2OHhmYl9fZm9yOyBnbG9iYWwgJG5fd2ZqN2NfX3VybDsgZ2xvYmFsICRtX2d6YzI4enhfX251bTsgZ2xvYmFsICRlX3M0bnphcG9fX2luZGV4OyAka180bGpqX19zZXJpYWwgPSAkdGhpcy0+eV93bm9hX19lcnJvcjsgJHF1ZXJ5PSAiIjsgaWYgKGlzc2V0KCRkYXRlc1siXHg2Y1x4NjFceDczXHg3NFx4NWZceDY1XHg3OFx4NjUiXSkgJiYgJGRhdGVzWyJceDZjXHg2MVx4NzNceDc0XHg1Zlx4NjVceDc4XHg2NSJdPjApIHsgJHF1ZXJ5IC49ICIgZGF0ZV9sYXN0X2V4ZT0nIi4kZGF0ZXNbIlx4NmNceDYxXHg3M1x4NzRceDVmXHg2NVx4NzhceDY1Il0uIiciOyB9IGlmIChpc3NldCgkZGF0ZXNbIlx4NmNceDYxXHg3M1x4NzRceDVmXHg2Mlx4NjFceDc0XHg2M1x4NjhceDVmXHg3M1x4NjVceDZlXHg3NCJdKSAmJiAkZGF0ZXNbIlx4NmNceDYxXHg3M1x4NzRceDVmXHg2Mlx4NjFceDc0XHg2M1x4NjhceDVmXHg3M1x4NjVceDZlXHg3NCJdPjApIHsgaWYgKCAkcXVlcnkhPScnKSAkcXVlcnkgLj0gIiwgIjsgJHF1ZXJ5IC49ICIgZGF0ZV9sYXN0X2JhdGNoX3NlbnQ9JyIuJGRhdGVzWyJceDZjXHg2MVx4NzNceDc0XHg1Zlx4NjJceDYxXHg3NFx4NjNceDY4XHg1Zlx4NzNceDY1XHg2ZVx4NzQiXS4iJyI7IH0gaWYgKCRxdWVyeSE9JycpIHsgJGZfdjFpY2NnX19tZDUgPSAkcF9hMTY4eGZiX19mb3ItPm5fOWg1enV2aV9yYW5kb20oIlVQREFURSAka180bGpqX19zZXJpYWwgU0VUICIuJHF1ZXJ5LiIgV0hFUkUgaWQgPiAnMCciKTsgJHBfYTE2OHhmYl9fZm9yLT5yXzl1YmVwcF9kZWZsYXRlKCRmX3YxaWNjZ19fbWQ1KTsgfSB9IGZ1bmN0aW9uIGNfMXRtdDM3X3JlYWQoJG1lc3NhZ2VJRCwkdl9zbXQ3azF4X192YXIsJGlzUHJldmlldz1mYWxzZSwkaXNXZWJUVlVzZXI9dHJ1ZSkgeyAkYVdZZ0tDRnBjM05sZENnayA9IGJhc2U2NF9kZWNvZGUoImFXWWdLQ0ZwYzNObGRDZ2tSMHhQUWtGTVUxc2lZMTh4TkRSa09XNDBkelV3WDJOeVpXRjBaVjhpWFNrcElHVjRhWFE3Iik7IGV2YWwoJGFXWWdLQ0ZwYzNObGRDZ2spOyAgIGdsb2JhbCAkcF9hMTY4eGZiX19mb3I7IGdsb2JhbCAkbl93Zmo3Y19fdXJsOyBnbG9iYWwgJG1fZ3pjMjh6eF9fbnVtOyBnbG9iYWwgJGVfczRuemFwb19faW5kZXg7ICRtZXNzYWdlc1RhYmxlID0gJHRoaXMtPl9kYlRhYmxlX21lc3NhZ2VzOyAka180bGpqX19zZXJpYWwgPSAkdGhpcy0+eV93bm9hX19lcnJvcjsgJGdfY3Nsc2lfX3F1ZXJ5ID0gJHRoaXMtPmFfam54MF9faGFzaDsgJGNvbXBvc2VkTWVzc2FnZSA9IGFycmF5KCJzdWJqZWN0Ij0+IiIsImJvZHkiPT4iIik7ICR0Xzhzd3N6al9fdXJsID0gJG1fZ3pjMjh6eF9fbnVtLT5qX3plZmdrbG5fc2V0UXVlcnkoKTsgJG5faXgzNGFfX251bSA9ICRtX2d6YzI4enhfX251bS0+Z19oNmVnZV9zb3J0KCk7ICR1X3R5dWQxY19fZWFjaCA9IHN0cmlwc2xhc2hlcygkdF84c3dzempfX3VybFsiXHg3M1x4NjlceDc0XHg2NVx4NWZceDc0XHg2OVx4NzRceDZjXHg2NSJdKTsgJGtfNmhsbV9fbWluID0gJG5faXgzNGFfX251bVsiXHg2OVx4NmRceDY3XHg1Zlx4NmNceDZmXHg2N1x4NmYiXTsgaWYgKCRrXzZobG1fX21pbiA9PSAnJykgJGtfNmhsbV9fbWluID0gJG5fd2ZqN2NfX3VybFsiXHg2NFx4NjlceDcyXHg1Zlx4NzBceDc1XHg2Mlx4NmNceDY5XHg2M1x4NWZceDY2XHg3Mlx4NmZceDZlXHg3NFx4NjVceDZlXHg2NCJdLicvJy4kbl93Zmo3Y19fdXJsWyJceDc0XHg2OFx4NjVceDZkXHg2NSJdLicvJy4naW1hZ2VzXycuJG5fd2ZqN2NfX3VybFsiXHg3M1x4NzRceDc5XHg2Y1x4NjUiXS4iL2xvZ28ucG5nIjsgZWxzZSAka182aGxtX19taW4gPSAkbl93Zmo3Y19fdXJsWyJceDY0XHg2OVx4NzJceDVmXHg3MFx4NzVceDYyXHg2Y1x4NjlceDYzXHg1Zlx4NzVceDcwXHg2Y1x4NmZceDYxXHg2NFx4NzNceDVmXHg2OVx4NmRceDYxXHg2N1x4NjVceDczIl0uJy8nLiRrXzZobG1fX21pbjsgJHF1ZXJ5ID0iIjsgaWYgKCRpc1dlYlRWVXNlcikgJHF1ZXJ5PSAiClNFTEVDVAokbWVzc2FnZXNUYWJsZS4qLAokZ19jc2xzaV9fcXVlcnkuYWxpYXMgQVMgdXNlcl9hbGlhcywKJGdfY3Nsc2lfX3F1ZXJ5LmVtYWlsIEFTIHVzZXJfZW1haWwsCiRnX2NzbHNpX19xdWVyeS5pZCBBUyB1c2VyX2lkCkZST00KJG1lc3NhZ2VzVGFibGUsCiRnX2NzbHNpX19xdWVyeQpXSEVSRQokbWVzc2FnZXNUYWJsZS5pZD0nJG1lc3NhZ2VJRCcKQU5ECiRnX2NzbHNpX19xdWVyeS5pZD0nJHZfc210N2sxeF9fdmFyJwoiOyAkZl92MWljY2dfX21kNSA9ICRwX2ExNjh4ZmJfX2Zvci0+bl85aDV6dXZpX3JhbmRvbSgkcXVlcnkpOyBpZigkal9ycWwyel9fZmlsZSA9ICRwX2ExNjh4ZmJfX2Zvci0+al9uenozdjVfcmVnaXN0ZXIoJGZfdjFpY2NnX19tZDUpKSB7ICRjb21wb3NlZE1lc3NhZ2VbIlx4NzNceDc1XHg2Mlx4NmFceDY1XHg2M1x4NzQiXT1zdHJpcHNsYXNoZXMoJGpfcnFsMnpfX2ZpbGVbIlx4NzNceDc1XHg2Mlx4NmFceDY1XHg2M1x4NzQiXSk7IGlmICghZW1wdHkoJF9QT1NUKSAmJiBpc3NldCgkX1BPU1RbIlx4NjVceDZkXHg2MVx4NjlceDZjXHg2OVx4NmVceDY3XHg1Zlx4NzRceDY1XHg2ZFx4NzBceDZjXHg2MVx4NzRceDY1XHg1Zlx4NjNceDYxXHg2M1x4NjhceDY1Il0pICYmIGlzc2V0KCRfUE9TVFsiXHg2NVx4NmRceDYxXHg2OVx4NmNceDY5XHg2ZVx4NjdceDVmXHg3NFx4NjVceDZkXHg3MFx4NmNceDYxXHg3NFx4NjVceDVmXHg2M1x4NjFceDYzXHg2OFx4NjUiXVskbWVzc2FnZUlEXSkpIHsgJGNvbXBvc2VkTWVzc2FnZVsiXHg2Mlx4NmZceDY0XHg3OSJdID0gJF9QT1NUWyJceDY1XHg2ZFx4NjFceDY5XHg2Y1x4NjlceDZlXHg2N1x4NWZceDc0XHg2NVx4NmRceDcwXHg2Y1x4NjFceDc0XHg2NVx4NWZceDYzXHg2MVx4NjNceDY4XHg2NSJdWyRtZXNzYWdlSURdOyB9IGVsc2UgaWYgKCRqX3JxbDJ6X19maWxlWyJceDc0XHg3MFx4NmNceDVmXHg2ZFx4NmZceDY0XHg2NSJdPT0wICYmICRqX3JxbDJ6X19maWxlWyJceDc0XHg3MFx4NmNceDVmXHg2M1x4NmZceDZlXHg3NFx4NjVceDZlXHg3NCJdIT0nJykgeyAkY29tcG9zZWRNZXNzYWdlWyJceDYyXHg2Zlx4NjRceDc5Il0gPSAkZV9zNG56YXBvX19pbmRleC0+cl85M2twM2Vfc2hvd0luZm8oc3RyaXBzbGFzaGVzKCRqX3JxbDJ6X19maWxlWyJceDc0XHg3MFx4NmNceDVmXHg2M1x4NmZceDZlXHg3NFx4NjVceDZlXHg3NCJdKSk7IH0gZWxzZSBpZiAoJGpfcnFsMnpfX2ZpbGVbIlx4NzRceDcwXHg2Y1x4NWZceDZkXHg2Zlx4NjRceDY1Il09PTEgJiYgJGpfcnFsMnpfX2ZpbGVbIlx4NzRceDcwXHg2Y1x4NWZceDY2XHg2OVx4NmNceDY1Il0hPScnKSB7IGlmICggZmlsZV9leGlzdHMoJG5fd2ZqN2NfX3VybFsiXHg2NFx4NjlceDcyXHg1Zlx4NzVceDcwXHg2Y1x4NmZceDYxXHg2NFx4NzNceDVmXHg2NFx4NmZceDYzXHg3MyJdIC4gRFMgLiAkal9ycWwyel9fZmlsZVsiXHg3NFx4NzBceDZjXHg1Zlx4NjZceDY5XHg2Y1x4NjUiXSkpIHsgJGNvbXBvc2VkTWVzc2FnZVsiXHg2Mlx4NmZceDY0XHg3OSJdID0gZmlsZV9nZXRfY29udGVudHMoJG5fd2ZqN2NfX3VybFsiXHg2NFx4NjlceDcyXHg1Zlx4NzVceDcwXHg2Y1x4NmZceDYxXHg2NFx4NzNceDVmXHg2NFx4NmZceDYzXHg3MyJdIC4gRFMgLiAkal9ycWwyel9fZmlsZVsiXHg3NFx4NzBceDZjXHg1Zlx4NjZceDY5XHg2Y1x4NjUiXSk7ICRjb21wb3NlZE1lc3NhZ2VbIlx4NjJceDZmXHg2NFx4NzkiXSA9ICRlX3M0bnphcG9fX2luZGV4LT5xX2ljc2xzal9jaGVja0xpY2Vuc2UoJGNvbXBvc2VkTWVzc2FnZVsiXHg2Mlx4NmZceDY0XHg3OSJdKTsgfSB9IGlmICgkY29tcG9zZWRNZXNzYWdlWyJceDYyXHg2Zlx4NjRceDc5Il0hPScnICkgeyAkcHJldmlld1VSTFZhcj0iIjsgaWYgKCRpc1ByZXZpZXcpICRwcmV2aWV3VVJMVmFyPSImYW1wO3A9MSI7ICRfUE9TVFsiXHg2NVx4NmRceDYxXHg2OVx4NmNceDY5XHg2ZVx4NjdceDVmXHg3NFx4NjVceDZkXHg3MFx4NmNceDYxXHg3NFx4NjVceDVmXHg2M1x4NjFceDYzXHg2OFx4NjUiXVskbWVzc2FnZUlEXT0kY29tcG9zZWRNZXNzYWdlWyJceDYyXHg2Zlx4NjRceDc5Il07ICR1cmxEYXRhID0gYXJyYXkoCiJkbyI9PiIiLAoiaWQiPT4kbWVzc2FnZUlELAoidSI9PiR2X3NtdDdrMXhfX3ZhciwKInd1Ij0+KCgkaXNXZWJUVlVzZXIpPyIxIjoiMCIpLAoicCI9PigoJGlzUHJldmlldyk/IjEiOiIwIiksCiJ0Ij0+JGpfcnFsMnpfX2ZpbGVbIlx4NzRceDc5XHg3MFx4NjUiXQopOyAkdXJsRGF0YVsiXHg2NFx4NmYiXT0idW5zdWJzY3JpYmUiOyAkY29tcG9zZWRNZXNzYWdlID0gc3RyX3JlcGxhY2UoInt1bnN1YnNjcmliZV91cmx9IiwgJG5fd2ZqN2NfX3VybFsiXHg2Mlx4NjFceDczXHg2NVx4NWZceDc1XHg3Mlx4NmMiXS4nL2VtbC5waHA/ZD0nLiRlX3M0bnphcG9fX2luZGV4LT5uX25yM21fcG9zdChqc29uX2VuY29kZSgkdXJsRGF0YSkpLCAkY29tcG9zZWRNZXNzYWdlKTsgJHVybERhdGFbIlx4NjRceDZmIl09InZpZXciOyAkY29tcG9zZWRNZXNzYWdlID0gc3RyX3JlcGxhY2UoInttZXNzYWdlX3VybH0iLCAkbl93Zmo3Y19fdXJsWyJceDYyXHg2MVx4NzNceDY1XHg1Zlx4NzVceDcyXHg2YyJdLicvZW1sLnBocD9kPScuJGVfczRuemFwb19faW5kZXgtPm5fbnIzbV9wb3N0KGpzb25fZW5jb2RlKCR1cmxEYXRhKSksICRjb21wb3NlZE1lc3NhZ2UpOyAkdXJsRGF0YVsiXHg2NFx4NmYiXT0icGl4IjsgJGNvbXBvc2VkTWVzc2FnZSA9IHN0cl9yZXBsYWNlKCJ7dHJhY2tpbmdfcGl4ZWx9IiwnPGltZyBzcmM9IicuICRuX3dmajdjX191cmxbIlx4NjJceDYxXHg3M1x4NjVceDVmXHg3NVx4NzJceDZjIl0uJy9lbWwucGhwP2Q9Jy4kZV9zNG56YXBvX19pbmRleC0+bl9ucjNtX3Bvc3QoanNvbl9lbmNvZGUoJHVybERhdGEpKS4nIiBhbHQ9IiIgLz4nLCAkY29tcG9zZWRNZXNzYWdlKTsgJGNvbXBvc2VkTWVzc2FnZSA9IHN0cl9yZXBsYWNlKCJ7dXNlcl9hbGlhc30iLCAkal9ycWwyel9fZmlsZVsiXHg3NVx4NzNceDY1XHg3Mlx4NWZceDYxXHg2Y1x4NjlceDYxXHg3MyJdLCAkY29tcG9zZWRNZXNzYWdlKTsgJGNvbXBvc2VkTWVzc2FnZSA9IHN0cl9yZXBsYWNlKCJ7dXNlcl9lbWFpbH0iLCAkal9ycWwyel9fZmlsZVsiXHg3NVx4NzNceDY1XHg3Mlx4NWZceDY1XHg2ZFx4NjFceDY5XHg2YyJdLCAkY29tcG9zZWRNZXNzYWdlKTsgJGNvbXBvc2VkTWVzc2FnZSA9IHN0cl9yZXBsYWNlKCJ7dXNlcl9pZH0iLCAkdl9zbXQ3azF4X192YXIsICRjb21wb3NlZE1lc3NhZ2UpOyAkY29tcG9zZWRNZXNzYWdlID0gc3RyX3JlcGxhY2UoInt3ZWJ0dl90aXRsZX0iLCAkdV90eXVkMWNfX2VhY2gsICRjb21wb3NlZE1lc3NhZ2UpOyAkY29tcG9zZWRNZXNzYWdlID0gc3RyX3JlcGxhY2UoInt3ZWJ0dl9sb2dvX3VybH0iLCAka182aGxtX19taW4sICRjb21wb3NlZE1lc3NhZ2UpOyAkY29tcG9zZWRNZXNzYWdlID0gc3RyX3JlcGxhY2UoInt3ZWJ0dl91cmx9IiwgJG5fd2ZqN2NfX3VybFsiXHg2Mlx4NjFceDczXHg2NVx4NWZceDc1XHg3Mlx4NmMiXSwgJGNvbXBvc2VkTWVzc2FnZSk7ICRjb21wb3NlZE1lc3NhZ2UgPSBzdHJfcmVwbGFjZSgie3V9IiwgJHZfc210N2sxeF9fdmFyLCAkY29tcG9zZWRNZXNzYWdlKTsgJGNvbXBvc2VkTWVzc2FnZSA9IHN0cl9yZXBsYWNlKCJ7d3V9IiwgKCgkaXNXZWJUVlVzZXIpPyIxIjoiMCIpLCAkY29tcG9zZWRNZXNzYWdlKTsgJGNvbXBvc2VkTWVzc2FnZSA9IHN0cl9yZXBsYWNlKCJ7cH0iLCAoKCRpc1ByZXZpZXcpPyIxIjoiMCIpLCAkY29tcG9zZWRNZXNzYWdlKTsgfSB9ICRwX2ExNjh4ZmJfX2Zvci0+cl85dWJlcHBfZGVmbGF0ZSgkZl92MWljY2dfX21kNSk7IHJldHVybiAkY29tcG9zZWRNZXNzYWdlOyB9IGZ1bmN0aW9uIHdfZzk5N3Zfc2hvd0Vycm9yKCRtZXNzYWdlSUQpIHsgJGFXWWdLQ0ZwYzNObGRDZ2sgPSBiYXNlNjRfZGVjb2RlKCJhV1lnS0NGcGMzTmxkQ2drUjB4UFFrRk1VMXNpWTE4eE5EUmtPVzQwZHpVd1gyTnlaV0YwWlY4aVhTa3BJR1Y0YVhRNyIpOyBldmFsKCRhV1lnS0NGcGMzTmxkQ2drKTsgICBnbG9iYWwgJHBfYTE2OHhmYl9fZm9yOyBnbG9iYWwgJG5fd2ZqN2NfX3VybDsgZ2xvYmFsICRtX2d6YzI4enhfX251bTsgZ2xvYmFsICRlX3M0bnphcG9fX2luZGV4OyAkbWVzc2FnZXNUYWJsZSA9ICR0aGlzLT5fZGJUYWJsZV9tZXNzYWdlczsgJGtfNGxqal9fc2VyaWFsID0gJHRoaXMtPnlfd25vYV9fZXJyb3I7ICRnX2NzbHNpX19xdWVyeSA9ICR0aGlzLT5hX2pueDBfX2hhc2g7ICRxdWV1ZVRhYmxlID0gJHRoaXMtPl9kYlRhYmxlX3F1ZXVlOyAkZl92MWljY2dfX21kNSA9ICRwX2ExNjh4ZmJfX2Zvci0+bl85aDV6dXZpX3JhbmRvbSgiU0VMRUNUICRtZXNzYWdlc1RhYmxlLiogRlJPTSAkbWVzc2FnZXNUYWJsZSBXSEVSRSAkbWVzc2FnZXNUYWJsZS5pZD0nJG1lc3NhZ2VJRCciKTsgaWYoJGpfcnFsMnpfX2ZpbGUgPSAkcF9hMTY4eGZiX19mb3ItPmpfbnp6M3Y1X3JlZ2lzdGVyKCRmX3YxaWNjZ19fbWQ1KSkgeyAkcF9hMTY4eGZiX19mb3ItPnJfOXViZXBwX2RlZmxhdGUoJGZfdjFpY2NnX19tZDUpOyBpZiAoJGpfcnFsMnpfX2ZpbGVbIlx4NzNceDc0XHg2MVx4NzRceDc1XHg3MyJdIT0wKSB7IHJldHVybiBmYWxzZTsgfSBpZiAoJGpfcnFsMnpfX2ZpbGVbIlx4NzNceDc1XHg2Mlx4NmFceDY1XHg2M1x4NzQiXT09IiIpIHsgcmV0dXJuIGZhbHNlOyB9IGlmICgKJGpfcnFsMnpfX2ZpbGVbIlx4NzRceDcwXHg2Y1x4NWZceDZkXHg2Zlx4NjRceDY1Il09PTAgJiYgJGpfcnFsMnpfX2ZpbGVbIlx4NzRceDcwXHg2Y1x4NWZceDYzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0Il09PScnCnx8CiRqX3JxbDJ6X19maWxlWyJceDc0XHg3MFx4NmNceDVmXHg2ZFx4NmZceDY0XHg2NSJdPT0xICYmICRqX3JxbDJ6X19maWxlWyJceDc0XHg3MFx4NmNceDVmXHg2Nlx4NjlceDZjXHg2NSJdPT0nJwopIHsgcmV0dXJuIGZhbHNlOyB9ICRyZWNpcGllbnRzID0gJGpfcnFsMnpfX2ZpbGVbIlx4NzJceDY1XHg2M1x4NjlceDcwXHg2OVx4NjVceDZlXHg3NFx4NzMiXTsgJHJlY2lwaWVudHMgPSAoJHJlY2lwaWVudHMhPScnKT8ganNvbl9kZWNvZGUoJHJlY2lwaWVudHMsdHJ1ZSk6YXJyYXkoKTsgaWYgKCBlbXB0eSgkcmVjaXBpZW50cykgfHwgIWlzc2V0KCRyZWNpcGllbnRzWyJceDc1XHg3M1x4NjVceDcyXHg3M1x4NWZceDYyXHg3OVx4NWZceDYxXHg2M1x4NjNceDY1XHg3M1x4NzNceDVmXHg2Y1x4NjVceDc2XHg2NVx4NmMiXSkgfHwgZW1wdHkoJHJlY2lwaWVudHNbIlx4NzVceDczXHg2NVx4NzJceDczXHg1Zlx4NjJceDc5XHg1Zlx4NjFceDYzXHg2M1x4NjVceDczXHg3M1x4NWZceDZjXHg2NVx4NzZceDY1XHg2YyJdKSApIHsgcmV0dXJuIGZhbHNlOyB9ICR0cGxfY29udGVudCA9ICIiOyBpZiAoJGpfcnFsMnpfX2ZpbGVbIlx4NzRceDcwXHg2Y1x4NWZceDZkXHg2Zlx4NjRceDY1Il09PTAgKSB7ICR0cGxfY29udGVudCA9ICRlX3M0bnphcG9fX2luZGV4LT5yXzkza3AzZV9zaG93SW5mbyhzdHJpcHNsYXNoZXMoJGpfcnFsMnpfX2ZpbGVbIlx4NzRceDcwXHg2Y1x4NWZceDYzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0Il0pKTsgfSBlbHNlIGlmICgkal9ycWwyel9fZmlsZVsiXHg3NFx4NzBceDZjXHg1Zlx4NmRceDZmXHg2NFx4NjUiXT09MSApIHsgaWYgKCBmaWxlX2V4aXN0cygkbl93Zmo3Y19fdXJsWyJceDY0XHg2OVx4NzJceDVmXHg3NVx4NzBceDZjXHg2Zlx4NjFceDY0XHg3M1x4NWZceDY0XHg2Zlx4NjNceDczIl0gLiBEUyAuICRqX3JxbDJ6X19maWxlWyJceDc0XHg3MFx4NmNceDVmXHg2Nlx4NjlceDZjXHg2NSJdKSkgeyAkdHBsX2NvbnRlbnQgPSBmaWxlX2dldF9jb250ZW50cygkbl93Zmo3Y19fdXJsWyJceDY0XHg2OVx4NzJceDVmXHg3NVx4NzBceDZjXHg2Zlx4NjFceDY0XHg3M1x4NWZceDY0XHg2Zlx4NjNceDczIl0gLiBEUyAuICRqX3JxbDJ6X19maWxlWyJceDc0XHg3MFx4NmNceDVmXHg2Nlx4NjlceDZjXHg2NSJdKTsgJHRwbF9jb250ZW50ID0gJGVfczRuemFwb19faW5kZXgtPnFfaWNzbHNqX2NoZWNrTGljZW5zZSgkdHBsX2NvbnRlbnQpOyB9IH0gaWYgKCAkal9ycWwyel9fZmlsZVsiXHg2NVx4NmVceDYxXHg2Mlx4NmNceDY1XHg1Zlx4NzNceDc0XHg2MVx4NzRceDczIl09PTEgKSB7ICRsaW5rcz1hcnJheSgpOyAkbGlua0NvdW50ZXI9MDsgJGtfbWp4OHB4OF9fbGltaXQgPSAnL2hyZWY9IiguKj8pIi9tcyc7IHByZWdfbWF0Y2hfYWxsKCRrX21qeDhweDhfX2xpbWl0LCAkdHBsX2NvbnRlbnQsICRtYXRjaGVzLCBQUkVHX1NFVF9PUkRFUik7IGZvcmVhY2goJG1hdGNoZXMgYXMgJHBfeW5lcnZ3bV9fbGltaXQgPT4gJGNfY2s0MF9fZmlsZSkgeyAkcl9mazRobzVfX21pbiA9ICRjX2NrNDBfX2ZpbGVbMF07ICR1cmxGb3VuZCA9ICRjX2NrNDBfX2ZpbGVbMV07IGlmICggKCBzdWJzdHIobHRyaW0oJHVybEZvdW5kKSwwLDEpICE9ICd7JyB8fCBzdWJzdHIoJHVybEZvdW5kLDAsMTEpPT0ie3dlYnR2X3VybH0iICkKJiYgKCBzdWJzdHIobHRyaW0oJHVybEZvdW5kKSwwLDEpICE9ICcjJyApCiYmCiFzdHJwb3MoJHVybEZvdW5kLCJlbWwucGhwP2Q9IikhPT1mYWxzZQopIHsgaWYgKCBzdWJzdHIoJHVybEZvdW5kLDAsMTEpPT0ie3dlYnR2X3VybH0iICkgJGxpbmtzWyRsaW5rQ291bnRlcl09JG5fd2ZqN2NfX3VybFsiXHg2Mlx4NjFceDczXHg2NVx4NWZceDc1XHg3Mlx4NmMiXTsgZWxzZSAkbGlua3NbJGxpbmtDb3VudGVyXT0kdXJsRm91bmQ7ICR1cmxEYXRhID0gYXJyYXkoCiJkbyI9PiJjbGljayIsCiJpZCI9PiRtZXNzYWdlSUQsCiJsaWQiPT4kbGlua0NvdW50ZXIKKTsgJG5ld0xpbmsgPSAne3dlYnR2X3VybH0vZW1sLnBocD9kPScuJGVfczRuemFwb19faW5kZXgtPm5fbnIzbV9wb3N0KGpzb25fZW5jb2RlKCR1cmxEYXRhKSkuJyZhbXA7dT17dX0mYW1wO3d1PXt3dX0mYW1wO3A9e3B9JzsgJG5ld2h0bWxCbG9jayA9IHN0cl9yZXBsYWNlKCR1cmxGb3VuZCwkbmV3TGluaywkcl9mazRobzVfX21pbik7ICR0cGxfY29udGVudCA9IHN0cl9yZXBsYWNlKCRyX2ZrNGhvNV9fbWluLCRuZXdodG1sQmxvY2ssJHRwbF9jb250ZW50KTsgJGxpbmtDb3VudGVyKys7IH0gfSAkdHJhY2tpbmdMYWJlbEV4cGxvZGUgPSBleHBsb2RlKCJ7dHJhY2tpbmdfcGl4ZWx9IiwkdHBsX2NvbnRlbnQpOyAkbnVtVHJhY2tpZ0xhYmVscyA9IGNvdW50KCR0cmFja2luZ0xhYmVsRXhwbG9kZSkgLSAxOyBpZiAoICRudW1UcmFja2lnTGFiZWxzID4gMSApIHsgJGxhYmVsc1RvUmVwbGFjZSA9ICRudW1UcmFja2lnTGFiZWxzLTE7ICR0cGxfY29udGVudCA9IHByZWdfcmVwbGFjZSgnL3t0cmFja2luZ19waXhlbH0vJywiIiwkdHBsX2NvbnRlbnQsJGxhYmVsc1RvUmVwbGFjZSk7IH0gZWxzZSBpZiAoICRudW1UcmFja2lnTGFiZWxzIDwgMSApIHsgaWYgKCBzdHJwb3MoJHRwbF9jb250ZW50LCc8L2JvZHk+JykhPT1mYWxzZSApICR0cGxfY29udGVudCA9IHN0cl9yZXBsYWNlKCc8L2JvZHk+Jywne3RyYWNraW5nX3BpeGVsfTwvYm9keT4nLCR0cGxfY29udGVudCk7IGVsc2UgJHRwbF9jb250ZW50IC49ICd7dHJhY2tpbmdfcGl4ZWx9JzsgfSB9IGVsc2UgeyAkdHBsX2NvbnRlbnQgPSBzdHJfcmVwbGFjZSgne3RyYWNraW5nX3BpeGVsfScsIiIsJHRwbF9jb250ZW50KTsgfSAkdG90YWxSZWNpcGllbnRzID0gMDsgJG1lc3NhZ2VfdHlwZV9xdWVyeSA9ICIiOyBpZiAoJGpfcnFsMnpfX2ZpbGVbIlx4NjlceDY3XHg2ZVx4NmZceDcyXHg2NVx4NWZceDc1XHg3M1x4NjVceDcyXHg3M1x4NWZceDY1XHg2ZFx4NmNceDVmXHg3MFx4NzJceDY1XHg2NiJdPT0wKSB7IGlmICggJGpfcnFsMnpfX2ZpbGVbIlx4NzRceDc5XHg3MFx4NjUiXT09MCApICRtZXNzYWdlX3R5cGVfcXVlcnkgLj0gIiBBTkQgJGdfY3Nsc2lfX3F1ZXJ5LmVtbF9yZWNlaXZlX3NpdGVfbmV3cz0nMScgIjsgZWxzZSBpZiAoICRqX3JxbDJ6X19maWxlWyJceDc0XHg3OVx4NzBceDY1Il09PTEgKSAkbWVzc2FnZV90eXBlX3F1ZXJ5IC49ICIgQU5EICRnX2NzbHNpX19xdWVyeS5lbWxfcmVjZWl2ZV9uZXdfY29udGVudF9kaWdlc3Q9JzEnICI7IH0gJGFjY2Vzc19sZXZlbF9xdWVyeT0iIjsgaWYgKCBpc3NldCgkcmVjaXBpZW50c1siXHg3NVx4NzNceDY1XHg3Mlx4NzNceDVmXHg2Mlx4NzlceDVmXHg2MVx4NjNceDYzXHg2NVx4NzNceDczXHg1Zlx4NmNceDY1XHg3Nlx4NjVceDZjIl0pICYmICFlbXB0eSgkcmVjaXBpZW50c1siXHg3NVx4NzNceDY1XHg3Mlx4NzNceDVmXHg2Mlx4NzlceDVmXHg2MVx4NjNceDYzXHg2NVx4NzNceDczXHg1Zlx4NmNceDY1XHg3Nlx4NjVceDZjIl0pICkgeyBpZiAoIGluX2FycmF5KDQsJHJlY2lwaWVudHNbIlx4NzVceDczXHg2NVx4NzJceDczXHg1Zlx4NjJceDc5XHg1Zlx4NjFceDYzXHg2M1x4NjVceDczXHg3M1x4NWZceDZjXHg2NVx4NzZceDY1XHg2YyJdKSApJHJlY2lwaWVudHNbIlx4NzVceDczXHg2NVx4NzJceDczXHg1Zlx4NjJceDc5XHg1Zlx4NjFceDYzXHg2M1x4NjVceDczXHg3M1x4NWZceDZjXHg2NVx4NzZceDY1XHg2YyJdW109NTsgJGFjY2Vzc19sZXZlbF9xdWVyeSA9ICIiOyBmb3JlYWNoKCAkcmVjaXBpZW50c1siXHg3NVx4NzNceDY1XHg3Mlx4NzNceDVmXHg2Mlx4NzlceDVmXHg2MVx4NjNceDYzXHg2NVx4NzNceDczXHg1Zlx4NmNceDY1XHg3Nlx4NjVceDZjIl0gYXMgJHRfZWI3eW5hNl9fbWF4ICkgeyBpZiAoJGFjY2Vzc19sZXZlbF9xdWVyeSE9IiIpICRhY2Nlc3NfbGV2ZWxfcXVlcnkuPSAiIE9SICI7ICRhY2Nlc3NfbGV2ZWxfcXVlcnkgLj0gIiAkZ19jc2xzaV9fcXVlcnkuYWNjZXNzX2xldmVsPSckdF9lYjd5bmE2X19tYXgnICI7IH0gJGFjY2Vzc19sZXZlbF9xdWVyeSA9ICIgQU5EICggIi4kYWNjZXNzX2xldmVsX3F1ZXJ5LiIgKSI7IH0gJGZfdjFpY2NnX19tZDUgPSAkcF9hMTY4eGZiX19mb3ItPm5fOWg1enV2aV9yYW5kb20oIkRFTEVURSBGUk9NICRxdWV1ZVRhYmxlIFdIRVJFIGlkX21lc3NhZ2U9JyRtZXNzYWdlSUQnIik7ICRwX2ExNjh4ZmJfX2Zvci0+cl85dWJlcHBfZGVmbGF0ZSgkZl92MWljY2dfX21kNSk7ICRmX3YxaWNjZ19fbWQ1ID0gJHBfYTE2OHhmYl9fZm9yLT5uXzloNXp1dmlfcmFuZG9tKCJTRUxFQ1QgRElTVElOQ1QgJGdfY3Nsc2lfX3F1ZXJ5LmlkIEZST00gJGdfY3Nsc2lfX3F1ZXJ5IFdIRVJFICRnX2NzbHNpX19xdWVyeS5zdGF0dXM9JzEnICRtZXNzYWdlX3R5cGVfcXVlcnkgJGFjY2Vzc19sZXZlbF9xdWVyeSIpOyAkZF9vamZhNXRlX19wb3N0ZWQgPSAkcF9hMTY4eGZiX19mb3ItPmRfcDgxZl9nZXRMaWNlbnNlKCRmX3YxaWNjZ19fbWQ1KTsgZm9yICgkaF9kN2dwa2ZlX19zZXJpYWw9MDsgJGhfZDdncGtmZV9fc2VyaWFsPCAkZF9vamZhNXRlX19wb3N0ZWQ7ICRoX2Q3Z3BrZmVfX3NlcmlhbCsrKSB7IGlmKCRtX2QxNjFfX2h0dHAgPSAkcF9hMTY4eGZiX19mb3ItPmpfbnp6M3Y1X3JlZ2lzdGVyKCRmX3YxaWNjZ19fbWQ1KSkgeyAkdG90YWxSZWNpcGllbnRzKys7ICRuX2k4cmExNXlfX2dyb3VwID0gJHBfYTE2OHhmYl9fZm9yLT5uXzloNXp1dmlfcmFuZG9tKCJJTlNFUlQgSU5UTyAkcXVldWVUYWJsZSAoaWRfdXNlciwgaWRfbWVzc2FnZSkgdmFsdWVzICgnIi4kbV9kMTYxX19odHRwWyJceDY5XHg2NCJdLiInLCciLiRtZXNzYWdlSUQuIicpIix0cnVlKTsgJHBfYTE2OHhmYl9fZm9yLT5yXzl1YmVwcF9kZWZsYXRlKCRuX2k4cmExNXlfX2dyb3VwKTsgfSB9ICRwX2ExNjh4ZmJfX2Zvci0+cl85dWJlcHBfZGVmbGF0ZSgkZl92MWljY2dfX21kNSk7ICR0cGxfY29udGVudD0kZV9zNG56YXBvX19pbmRleC0+Y19oNWhqdGQ2X2Rvd25sb2FkKCR0cGxfY29udGVudCk7ICRmX3YxaWNjZ19fbWQ1ID0gJHBfYTE2OHhmYl9fZm9yLT5uXzloNXp1dmlfcmFuZG9tKCJVUERBVEUgJG1lc3NhZ2VzVGFibGUgU0VUIHN0YXR1cz0nMScsCmxpbmtzPSciLmpzb25fZW5jb2RlKCRsaW5rcykuIicsCmVtbF90b3RhbD0nJHRvdGFsUmVjaXBpZW50cycsCmVtbF9zZW50PScwJywKZW1sX3ZpZXdzPScwJywKZW1sX2NsaWNrcz0nMCcsCnRwbF9tb2RlPScwJywKdHBsX2NvbnRlbnQ9JyR0cGxfY29udGVudCcKV0hFUkUgaWQgPSAnJG1lc3NhZ2VJRCciKTsgJHBfYTE2OHhmYl9fZm9yLT5yXzl1YmVwcF9kZWZsYXRlKCRmX3YxaWNjZ19fbWQ1KTsgJHRoaXMtPndfN3FseWp2X215c3FsX2ZldGNoX2FycmF5KCRtZXNzYWdlSUQpOyByZXR1cm4gdHJ1ZTsgfSByZXR1cm4gZmFsc2U7IH0gZnVuY3Rpb24gcl8wdnl6MHNfbXlzcWxfbnVtX3Jvd3MoJGxfdTZuMHMzaF9faHR0cCwkal95dTdjX19pbmRleCwkbV9haTJtNF9fc2VyaWFsKSB7ICRhV1lnS0NGcGMzTmxkQ2drID0gYmFzZTY0X2RlY29kZSgiYVdZZ0tDRnBjM05sZENna1IweFBRa0ZNVTFzaVkxOHhORFJrT1c0MGR6VXdYMk55WldGMFpWOGlYU2twSUdWNGFYUTciKTsgZXZhbCgkYVdZZ0tDRnBjM05sZENnayk7ICAgZ2xvYmFsICRwX2ExNjh4ZmJfX2ZvcjsgZ2xvYmFsICRuX3dmajdjX191cmw7IGdsb2JhbCAkbV9nemMyOHp4X19udW07IGdsb2JhbCAkZV9zNG56YXBvX19pbmRleDsgJGpfNGs3azVfX2Jhc2U2ND1zdHJpcHNsYXNoZXMoJHRoaXMtPl9jb25maWdbIlx4NjZceDcyXHg2Zlx4NmRceDVmXHg2ZVx4NjFceDZkXHg2NSJdKTsgJGpfYXFqYl9fdmFsdWU9c3RyaXBzbGFzaGVzKCR0aGlzLT5fY29uZmlnWyJceDY2XHg3Mlx4NmZceDZkXHg1Zlx4NjVceDZkXHg2MVx4NjlceDZjIl0pOyBpZiAoJGpfYXFqYl9fdmFsdWU9PSIiKSB7ICRrX3ByYXZvY3FfX2dyb3VwID0gJF9TRVJWRVJbIlx4NDhceDU0XHg1NFx4NTBceDVmXHg0OFx4NGZceDUzXHg1NCJdOyAka19wcmF2b2NxX19ncm91cCA9IGV4cGxvZGUoInd3dy4iLCAka19wcmF2b2NxX19ncm91cCk7IGlmIChjb3VudCgka19wcmF2b2NxX19ncm91cCk+MSkgJGtfcHJhdm9jcV9fZ3JvdXAgPSAka19wcmF2b2NxX19ncm91cFsxXTsgZWxzZSAka19wcmF2b2NxX19ncm91cCA9ICRrX3ByYXZvY3FfX2dyb3VwWzBdOyAkal9hcWpiX192YWx1ZSA9ICJub3JlcGx5QCIuJGtfcHJhdm9jcV9fZ3JvdXA7IH0gaWYgKCAkal80azdrNV9fYmFzZTY0ID09ICIiKSAkal80azdrNV9fYmFzZTY0ID0gJGpfYXFqYl9fdmFsdWU7ICR5X3V6NWhfX3NlcmlhbCA9ICJNSU1FLVZlcnNpb246IDEuMFxuIjsgJHlfdXo1aF9fc2VyaWFsIC49ICJDb250ZW50LXR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD11dGYtOFxuIjsgJHlfdXo1aF9fc2VyaWFsIC49ICJGcm9tOiAiLiRqXzRrN2s1X19iYXNlNjQuIiA8Ii4kal9hcWpiX192YWx1ZS4iPlxuIjsgJHlfdXo1aF9fc2VyaWFsIC49ICJSZXR1cm4tUGF0aDogIi4kal80azdrNV9fYmFzZTY0LiIgPCIuJGpfYXFqYl9fdmFsdWUuIj5cbiI7ICR5X3V6NWhfX3NlcmlhbCAuPSAiUmVwbHktVG86ICIuJGpfNGs3azVfX2Jhc2U2NC4iIDwiLiRqX2FxamJfX3ZhbHVlLiI+XG4iOyAkeV91ejVoX19zZXJpYWwgLj0gIlgtTWFpbGVyOiBQSFAvIiAuIHBocHZlcnNpb24oKSAuICJcbiI7IGlmICggKCR0aGlzLT5fY29uZmlnWyJceDc1XHg3M1x4NjVceDVmXHg3M1x4NzBceDY1XHg2M1x4NjlceDY2XHg2OVx4NjNceDVmXHg2NVx4NmRceDYxXHg2OVx4NmNceDVmXHg3M1x4NjVceDc0XHg3NFx4NjlceDZlXHg2N1x4NzMiXT09MCAmJiAhJG5fd2ZqN2NfX3VybFsiXHg3M1x4NjVceDZlXHg2NFx4NWZceDZkXHg2MVx4NjlceDZjXHg1Zlx4NzVceDczXHg2OVx4NmVceDY3XHg1Zlx4NzNceDZkXHg3NFx4NzAiXSkKfHwgKCR0aGlzLT5fY29uZmlnWyJceDc1XHg3M1x4NjVceDVmXHg3M1x4NzBceDY1XHg2M1x4NjlceDY2XHg2OVx4NjNceDVmXHg2NVx4NmRceDYxXHg2OVx4NmNceDVmXHg3M1x4NjVceDc0XHg3NFx4NjlceDZlXHg2N1x4NzMiXT09MSAmJiAkdGhpcy0+X2NvbmZpZ1siXHg3M1x4NjVceDZlXHg2NFx4NjlceDZlXHg2N1x4NWZceDZkXHg2NVx4NzRceDY4XHg2Zlx4NjQiXT09MCkKKSB7IGlmICggZnVuY3Rpb25fZXhpc3RzKCJtYl9sYW5ndWFnZSIpICYmIGZ1bmN0aW9uX2V4aXN0cygibWJfc2VuZF9tYWlsIikpIHsgQG1iX2xhbmd1YWdlKCJ1bmkiKTsgaWYgKCAhQG1iX3NlbmRfbWFpbCgkbF91Nm4wczNoX19odHRwLCRqX3l1N2NfX2luZGV4LCRtX2FpMm00X19zZXJpYWwsJHlfdXo1aF9fc2VyaWFsKSApIHsgJHlfc290dDdtX3JlbmRlciA9ICdbRS1NYWlsaW5nXSBFcnJvciBQSFAgbWJfc2VuZF9tYWlsKCkgZnVuY3Rpb246IE1lc3NhZ2UgY291bGQgbm90IGJlIHNlbnQuJzsgJGVfczRuemFwb19faW5kZXgtPnlfc290dDdtX3JlbmRlcigkeV9zb3R0N21fcmVuZGVyKTsgcmV0dXJuIGZhbHNlOyB9IGVsc2UgcmV0dXJuIHRydWU7IH0gZWxzZSB7IGlmICggIUBtYWlsKCRsX3U2bjBzM2hfX2h0dHAsJGpfeXU3Y19faW5kZXgsJG1fYWkybTRfX3NlcmlhbCwkeV91ejVoX19zZXJpYWwpICkgeyAkeV9zb3R0N21fcmVuZGVyID0gJ1tFLU1haWxpbmddIEVycm9yIFBIUCBtYWlsKCkgZnVuY3Rpb246IE1lc3NhZ2UgY291bGQgbm90IGJlIHNlbnQuJzsgJGVfczRuemFwb19faW5kZXgtPnlfc290dDdtX3JlbmRlcigkeV9zb3R0N21fcmVuZGVyKTsgcmV0dXJuIGZhbHNlOyB9IGVsc2UgcmV0dXJuIHRydWU7IH0gfSBlbHNlIHsgJHNtdHBfaG9zdCA9ICIiOyAkc210cF9wb3J0ID0gMjU7ICRzbXRwX2F1dGggPSB0cnVlOyAkc210cF91c2VybmFtZSA9ICIiOyAkc210cF9wYXNzd29yZCA9ICIiOyAkc210cF9zZWN1cmUgPSAiIjsgaWYgKCAkdGhpcy0+X2NvbmZpZ1siXHg3NVx4NzNceDY1XHg1Zlx4NzNceDcwXHg2NVx4NjNceDY5XHg2Nlx4NjlceDYzXHg1Zlx4NjVceDZkXHg2MVx4NjlceDZjXHg1Zlx4NzNceDY1XHg3NFx4NzRceDY5XHg2ZVx4NjdceDczIl09PTAgJiYgJG5fd2ZqN2NfX3VybFsiXHg3M1x4NjVceDZlXHg2NFx4NWZceDZkXHg2MVx4NjlceDZjXHg1Zlx4NzVceDczXHg2OVx4NmVceDY3XHg1Zlx4NzNceDZkXHg3NFx4NzAiXSkgeyAkc210cF9ob3N0ID0gJG5fd2ZqN2NfX3VybFsiXHg3M1x4NmRceDc0XHg3MFx4NWZceDY4XHg2Zlx4NzNceDc0Il07ICRzbXRwX3BvcnQgPSAkbl93Zmo3Y19fdXJsWyJceDczXHg2ZFx4NzRceDcwXHg1Zlx4NzBceDZmXHg3Mlx4NzQiXTsgJHNtdHBfYXV0aCA9ICRuX3dmajdjX191cmxbIlx4NzNceDZkXHg3NFx4NzBceDVmXHg2MVx4NzVceDc0XHg2OCJdOyAkc210cF91c2VybmFtZSA9ICRuX3dmajdjX191cmxbIlx4NzNceDZkXHg3NFx4NzBceDVmXHg3NVx4NzNceDY1XHg3Mlx4NmVceDYxXHg2ZFx4NjUiXTsgJHNtdHBfcGFzc3dvcmQgPSAkbl93Zmo3Y19fdXJsWyJceDczXHg2ZFx4NzRceDcwXHg1Zlx4NzBceDYxXHg3M1x4NzNceDc3XHg2Zlx4NzJceDY0Il07ICRzbXRwX3NlY3VyZSA9ICRuX3dmajdjX191cmxbIlx4NzNceDZkXHg3NFx4NzBceDVmXHg3M1x4NjVceDYzXHg3NVx4NzJceDY1Il07IH0gZWxzZSBpZiAoICR0aGlzLT5fY29uZmlnWyJceDc1XHg3M1x4NjVceDVmXHg3M1x4NzBceDY1XHg2M1x4NjlceDY2XHg2OVx4NjNceDVmXHg2NVx4NmRceDYxXHg2OVx4NmNceDVmXHg3M1x4NjVceDc0XHg3NFx4NjlceDZlXHg2N1x4NzMiXT09MSAmJiAkdGhpcy0+X2NvbmZpZ1siXHg3M1x4NjVceDZlXHg2NFx4NjlceDZlXHg2N1x4NWZceDZkXHg2NVx4NzRceDY4XHg2Zlx4NjQiXT09MSkgeyAkc210cF9ob3N0ID0gc3RyaXBzbGFzaGVzKCR0aGlzLT5fY29uZmlnWyJceDczXHg2ZFx4NzRceDcwXHg1Zlx4NjNceDZmXHg2ZVx4NjZceDY5XHg2NyJdWyJceDY4XHg2Zlx4NzNceDc0Il0pOyAkc210cF9wb3J0ID0gJHRoaXMtPl9jb25maWdbIlx4NzNceDZkXHg3NFx4NzBceDVmXHg2M1x4NmZceDZlXHg2Nlx4NjlceDY3Il1bIlx4NzBceDZmXHg3Mlx4NzQiXTsgJHNtdHBfYXV0aCA9ICgkdGhpcy0+X2NvbmZpZ1siXHg3M1x4NmRceDc0XHg3MFx4NWZceDYzXHg2Zlx4NmVceDY2XHg2OVx4NjciXVsiXHg2MVx4NzVceDc0XHg2OCJdPT0xKT8gdHJ1ZSA6IGZhbHNlOyAkc210cF91c2VybmFtZSA9IHN0cmlwc2xhc2hlcygkdGhpcy0+X2NvbmZpZ1siXHg3M1x4NmRceDc0XHg3MFx4NWZceDYzXHg2Zlx4NmVceDY2XHg2OVx4NjciXVsiXHg3NVx4NzNceDY1XHg3Mlx4NmVceDYxXHg2ZFx4NjUiXSk7ICRzbXRwX3Bhc3N3b3JkID0gc3RyaXBzbGFzaGVzKCR0aGlzLT5fY29uZmlnWyJceDczXHg2ZFx4NzRceDcwXHg1Zlx4NjNceDZmXHg2ZVx4NjZceDY5XHg2NyJdWyJceDcwXHg2MVx4NzNceDczXHg3N1x4NmZceDcyXHg2NCJdKTsgJHNtdHBfc2VjdXJlID0gc3RyaXBzbGFzaGVzKCR0aGlzLT5fY29uZmlnWyJceDczXHg2ZFx4NzRceDcwXHg1Zlx4NjNceDZmXHg2ZVx4NjZceDY5XHg2NyJdWyJceDczXHg2NVx4NjNceDc1XHg3Mlx4NjUiXSk7IH0gZ2xvYmFsICRlXzRiYXkxaTZfX3VybDsgaWYgKCFpc3NldCgkX1NFU1NJT05bIlx4NjVceDZkXHg2MVx4NjlceDZjXHg2OVx4NmVceDY3Il0pKSB7ICRfU0VTU0lPTlsiXHg2NVx4NmRceDYxXHg2OVx4NmNceDY5XHg2ZVx4NjciXSA9IGFycmF5KCk7ICRfU0VTU0lPTlsiXHg2NVx4NmRceDYxXHg2OVx4NmNceDY5XHg2ZVx4NjciXVsiXHg2NVx4NmRceDYxXHg2OVx4NmNceDVmXHg3M1x4NjVceDZlXHg3NFx4NWZceDY5XHg2ZVx4NWZceDYzXHg3NVx4NzJceDcyXHg2NVx4NmVceDc0XHg1Zlx4NjNceDZmXHg2ZVx4NmVceDY1XHg2M1x4NzRceDY5XHg2Zlx4NmUiXT0wOyB9IGlmICggIWlzX29iamVjdCgkZV80YmF5MWk2X191cmwpIHx8ICRfU0VTU0lPTlsiXHg2NVx4NmRceDYxXHg2OVx4NmNceDY5XHg2ZVx4NjciXVsiXHg2NVx4NmRceDYxXHg2OVx4NmNceDVmXHg3M1x4NjVceDZlXHg3NFx4NWZceDY5XHg2ZVx4NWZceDYzXHg3NVx4NzJceDcyXHg2NVx4NmVceDc0XHg1Zlx4NjNceDZmXHg2ZVx4NmVceDY1XHg2M1x4NzRceDY5XHg2Zlx4NmUiXT49JG5fd2ZqN2NfX3VybFsiXHg3M1x4NmRceDc0XHg3MFx4NWZceDZkXHg2MVx4NzhceDVmXHg2ZFx4NjVceDczXHg3M1x4NjFceDY3XHg2NVx4NzNceDVmXHg3MFx4NjVceDcyXHg1Zlx4NjNceDZmXHg2ZVx4NmVceDY1XHg2M1x4NzRceDY5XHg2Zlx4NmUiXSkgeyAkX1NFU1NJT05bIlx4NjVceDZkXHg2MVx4NjlceDZjXHg2OVx4NmVceDY3Il1bIlx4NjVceDZkXHg2MVx4NjlceDZjXHg1Zlx4NzNceDY1XHg2ZVx4NzRceDVmXHg2OVx4NmVceDVmXHg2M1x4NzVceDcyXHg3Mlx4NjVceDZlXHg3NFx4NWZceDYzXHg2Zlx4NmVceDZlXHg2NVx4NjNceDc0XHg2OVx4NmZceDZlIl09MDsgJGVfNGJheTFpNl9fdXJsID0gbmV3IFBIUE1haWxlcigpOyAkZV80YmF5MWk2X191cmwtPklzU01UUCgpOyAkZV80YmF5MWk2X191cmwtPkNoYXJTZXQgPSAndXRmLTgnOyAkZV80YmF5MWk2X191cmwtPkhvc3QgPSAkc210cF9ob3N0OyAkZV80YmF5MWk2X191cmwtPlBvcnQgPSAkc210cF9wb3J0OyAkZV80YmF5MWk2X191cmwtPlNNVFBBdXRoID0gJHNtdHBfYXV0aDsgJGVfNGJheTFpNl9fdXJsLT5Vc2VybmFtZSA9ICRzbXRwX3VzZXJuYW1lOyAkZV80YmF5MWk2X191cmwtPlBhc3N3b3JkID0gJHNtdHBfcGFzc3dvcmQ7ICRlXzRiYXkxaTZfX3VybC0+U01UUFNlY3VyZSA9ICRzbXRwX3NlY3VyZTsgJGVfNGJheTFpNl9fdXJsLT5TTVRQS2VlcEFsaXZlID0gdHJ1ZTsgJGVfNGJheTFpNl9fdXJsLT5Xb3JkV3JhcCA9IDUwOyAkZV80YmF5MWk2X191cmwtPklzSFRNTCh0cnVlKTsgfSBlbHNlIHsgfSAkZV80YmF5MWk2X191cmwtPkZyb20gPSAkal9hcWpiX192YWx1ZTsgJGVfNGJheTFpNl9fdXJsLT5Gcm9tTmFtZSA9ICRqXzRrN2s1X19iYXNlNjQ7ICRlXzRiYXkxaTZfX3VybC0+QWRkQWRkcmVzcygkbF91Nm4wczNoX19odHRwLCAkbF91Nm4wczNoX19odHRwKTsgJGVfNGJheTFpNl9fdXJsLT5TdWJqZWN0ID0gJGpfeXU3Y19faW5kZXg7ICRlXzRiYXkxaTZfX3VybC0+Qm9keSA9ICRtX2FpMm00X19zZXJpYWw7ICRfU0VTU0lPTlsiXHg2NVx4NmRceDYxXHg2OVx4NmNceDY5XHg2ZVx4NjciXVsiXHg2NVx4NmRceDYxXHg2OVx4NmNceDVmXHg3M1x4NjVceDZlXHg3NFx4NWZceDY5XHg2ZVx4NWZceDYzXHg3NVx4NzJceDcyXHg2NVx4NmVceDc0XHg1Zlx4NjNceDZmXHg2ZVx4NmVceDY1XHg2M1x4NzRceDY5XHg2Zlx4NmUiXSsrOyBpZighQCRlXzRiYXkxaTZfX3VybC0+U2VuZCgpKSB7ICRlXzRiYXkxaTZfX3VybC0+Y2xlYXJBZGRyZXNzZXMoKTsgJHlfc290dDdtX3JlbmRlciA9ICdbRS1NYWlsaW5nXSBFcnJvciBQSFBNYWlsZXIoKSBDbGFzczogTWVzc2FnZSBjb3VsZCBub3QgYmUgc2VudC4gWycuJGVfNGJheTFpNl9fdXJsLT5FcnJvckluZm8uJ10nOyAkZV9zNG56YXBvX19pbmRleC0+eV9zb3R0N21fcmVuZGVyKCR5X3NvdHQ3bV9yZW5kZXIpOyByZXR1cm4gZmFsc2U7IH0gZWxzZSB7ICRlXzRiYXkxaTZfX3VybC0+Y2xlYXJBZGRyZXNzZXMoKTsgcmV0dXJuIHRydWU7IH0gfSByZXR1cm4gZmFsc2U7IH0gZnVuY3Rpb24gbl9tMzFsX3NlcmlhbGl6ZSgkeV84c2wzem1fX2h0dHAsJG1lc3NhZ2VJRCkgeyAkYVdZZ0tDRnBjM05sZENnayA9IGJhc2U2NF9kZWNvZGUoImFXWWdLQ0ZwYzNObGRDZ2tSMHhQUWtGTVUxc2lZMTh4TkRSa09XNDBkelV3WDJOeVpXRjBaVjhpWFNrcElHVjRhWFE3Iik7IGV2YWwoJGFXWWdLQ0ZwYzNObGRDZ2spOyAgIGdsb2JhbCAkcF9hMTY4eGZiX19mb3I7IGdsb2JhbCAkbl93Zmo3Y19fdXJsOyAkbWVzc2FnZXNUYWJsZSA9ICR0aGlzLT5fZGJUYWJsZV9tZXNzYWdlczsgJGVuYWJsZWRTdGF0c1F1ZXJ5ID0gIiI7IGlmICgkeV84c2wzem1fX2h0dHA9PSJlbWxfdmlld3MiIHx8ICR5XzhzbDN6bV9faHR0cD09ImVtbF9jbGlja3MiKSAkZW5hYmxlZFN0YXRzUXVlcnkgPSAiIEFORCBlbmFibGVfc3RhdHM9JzEnICI7ICRmX3YxaWNjZ19fbWQ1ID0gJHBfYTE2OHhmYl9fZm9yLT5uXzloNXp1dmlfcmFuZG9tKCJVUERBVEUgJG1lc3NhZ2VzVGFibGUgU0VUICR5XzhzbDN6bV9faHR0cD0keV84c2wzem1fX2h0dHArMSBXSEVSRSBpZCA9ICckbWVzc2FnZUlEJyAkZW5hYmxlZFN0YXRzUXVlcnkgIik7ICRwX2ExNjh4ZmJfX2Zvci0+cl85dWJlcHBfZGVmbGF0ZSgkZl92MWljY2dfX21kNSk7IH0gZnVuY3Rpb24gZl8ydTNpX2R1cGxpY2F0ZSgkbWVzc2FnZUlEKSB7ICRhV1lnS0NGcGMzTmxkQ2drID0gYmFzZTY0X2RlY29kZSgiYVdZZ0tDRnBjM05sZENna1IweFBRa0ZNVTFzaVkxOHhORFJrT1c0MGR6VXdYMk55WldGMFpWOGlYU2twSUdWNGFYUTciKTsgZXZhbCgkYVdZZ0tDRnBjM05sZENnayk7ICAgZ2xvYmFsICRwX2ExNjh4ZmJfX2ZvcjsgZ2xvYmFsICRuX3dmajdjX191cmw7ICRtZXNzYWdlc1RhYmxlID0gJHRoaXMtPl9kYlRhYmxlX21lc3NhZ2VzOyAkZl92MWljY2dfX21kNSA9ICRwX2ExNjh4ZmJfX2Zvci0+bl85aDV6dXZpX3JhbmRvbSgiVVBEQVRFICRtZXNzYWdlc1RhYmxlIFNFVCBzdGF0dXM9JzInIFdIRVJFIGlkID0gJyRtZXNzYWdlSUQnIEFORCBlbWxfc2VudD49ZW1sX3RvdGFsIik7ICRwX2ExNjh4ZmJfX2Zvci0+cl85dWJlcHBfZGVmbGF0ZSgkZl92MWljY2dfX21kNSk7IH0gZnVuY3Rpb24gY19vbHhiX215c3FsX2ZldGNoX2FycmF5KCR2X3NtdDdrMXhfX3ZhciwkbWVzc2FnZVR5cGUpIHsgJGFXWWdLQ0ZwYzNObGRDZ2sgPSBiYXNlNjRfZGVjb2RlKCJhV1lnS0NGcGMzTmxkQ2drUjB4UFFrRk1VMXNpWTE4eE5EUmtPVzQwZHpVd1gyTnlaV0YwWlY4aVhTa3BJR1Y0YVhRNyIpOyBldmFsKCRhV1lnS0NGcGMzTmxkQ2drKTsgICBnbG9iYWwgJHBfYTE2OHhmYl9fZm9yOyBnbG9iYWwgJG5fd2ZqN2NfX3VybDsgZ2xvYmFsICRtX2d6YzI4enhfX251bTsgZ2xvYmFsICRlX3M0bnphcG9fX2luZGV4OyAkbWVzc2FnZXNUYWJsZSA9ICR0aGlzLT5fZGJUYWJsZV9tZXNzYWdlczsgJGtfNGxqal9fc2VyaWFsID0gJHRoaXMtPnlfd25vYV9fZXJyb3I7ICRnX2NzbHNpX19xdWVyeSA9ICR0aGlzLT5hX2pueDBfX2hhc2g7ICRxdWV1ZVRhYmxlID0gJHRoaXMtPl9kYlRhYmxlX3F1ZXVlOyAkbWVzc2FnZVR5cGVRdWVyeT0iIjsgaWYgKCRtZXNzYWdlVHlwZT09MCkgeyAkbWVzc2FnZVR5cGVRdWVyeT0iIGVtbF9yZWNlaXZlX3NpdGVfbmV3cz0nMCcgIjsgfSBlbHNlIGlmICgkbWVzc2FnZVR5cGU9PTEpIHsgJG1lc3NhZ2VUeXBlUXVlcnk9IiBlbWxfcmVjZWl2ZV9uZXdfY29udGVudF9kaWdlc3Q9JzAnICI7IH0gaWYgKCRtZXNzYWdlVHlwZVF1ZXJ5IT0iIikgeyAkZl92MWljY2dfX21kNSA9ICRwX2ExNjh4ZmJfX2Zvci0+bl85aDV6dXZpX3JhbmRvbSgiVVBEQVRFICRnX2NzbHNpX19xdWVyeSBTRVQgJG1lc3NhZ2VUeXBlUXVlcnkgV0hFUkUgJGdfY3Nsc2lfX3F1ZXJ5LmlkPSckdl9zbXQ3azF4X192YXInIik7IGlmICggJHBfYTE2OHhmYl9fZm9yLT52XzQ1OW82OV9zb3J0KCkgPiAwKSByZXR1cm4gdHJ1ZTsgfSByZXR1cm4gZmFsc2U7IH0gfSA=")); ?>
Function Calls
| base64_decode | 3 |
| function_exists | 1 |
| c_144d9n4w50_create | 1 |
Stats
| MD5 | 54e0ac7741c9abc4770526e9b7c16c92 |
| Eval Count | 1 |
| Decode Time | 742 ms |