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 /* WARNING: This script is protected. Any attempt to reverse engineer, debug or de-..
Decoded Output download
$codelock_active_key="chea"; @extract($_REQUEST); error_reporting(E_ALL ^ E_NOTICE); if ($codelock_act >= 1) { } else { @set_time_limit(240); } if ($codelock_enc == "") { $codelock_enc="codelock.php"; } else {} if ($codelock_act >= 1) { if ($codelock_rfiled == $codelock_filed){} else { if ($codelock_rfiled == "") { } else { @copy ("$codelock_rfiled/$codelock_enc","$codelock_filed/$codelock_enc"); } } } else {} $codelock_encbrowser=""; $codelock_usezlib=""; $codelock_scname="i4B"; $codelock_coname="i4B"; $codelock_extranotes=""; if (!function_exists('gzdeflate') AND $codelock_usezlib=="^") { echo"<font face='verdana' size='2'><br><b>Error!</b> You need to install the ZLIB module for PHP to run this script!</font>"; die(); } else {} if (function_exists('codelock_enc_int')) { } else { function codelock_enc_int($codelock_enc_int_code,$codelock_enc_key) { $codelock_encint_code=base64_encode($codelock_enc_int_code); if ($codelock_enc_key == "") { } else { $codelock_enc_key=base64_encode($codelock_enc_key); $codelock_k1=substr($codelock_enc_key,0,1); $codelock_k2=substr($codelock_enc_key,1,1); $codelock_k3=substr($codelock_enc_key,2,1); $codelock_encint_code=str_replace("$codelock_k1", "$", $codelock_encint_code); $codelock_encint_code=str_replace("$codelock_k2", "(", $codelock_encint_code); $codelock_encint_code=str_replace("$codelock_k3", ")", $codelock_encint_code); } return $codelock_encint_code; } } if (function_exists('codelock_dec_int')) { } else { function codelock_dec_int($codelock_decint_code,$codelock_calc_key) { if ($codelock_calc_key == "") { } else { $codelock_calc_key=base64_encode($codelock_calc_key); $codelock_k1=substr($codelock_calc_key,0,1); $codelock_k2=substr($codelock_calc_key,1,1); $codelock_k3=substr($codelock_calc_key,2,1); $codelock_decint_code=str_replace("$", "$codelock_k1", $codelock_decint_code); $codelock_decint_code=str_replace("(", "$codelock_k2", $codelock_decint_code); $codelock_decint_code=str_replace(")", "$codelock_k3", $codelock_decint_code); } $codelock_decint_code=base64_decode($codelock_decint_code); return $codelock_decint_code; } } if (function_exists('codelock_dec')) { } else { function codelock_dec($codelock_v){ switch($codelock_v){ case "A":$dv=0;break; case "B":$dv=1;break; case "C":$dv=2;break; case "D":$dv=3;break; case "E":$dv=4;break; case "F":$dv=5;break; case "G":$dv=6;break; case "H":$dv=7;break; case "I":$dv=8;break; case "J":$dv=9;break; case "K":$dv=10;break; case "L":$dv=11;break; case "M":$dv=12;break; case "N":$dv=13;break; case "O":$dv=14;break; case "P":$dv=15;break; case "Q":$dv=16;break; case "R":$dv=17;break; case "S":$dv=18;break; case "T":$dv=19;break; case "U":$dv=20;break; case "V":$dv=21;break; case "W":$dv=22;break; case "X":$dv=23;break; case "Y":$dv=24;break; case "Z":$dv=25;break; case "a":$dv=26;break; case "b":$dv=27;break; case "c":$dv=28;break; case "d":$dv=29;break; case "e":$dv=30;break; case "f":$dv=31;break; case "g":$dv=32;break; case "h":$dv=33;break; case "i":$dv=34;break; case "j":$dv=35;break; case "k":$dv=36;break; case "l":$dv=37;break; case "m":$dv=38;break; case "n":$dv=39;break; case "o":$dv=40;break; case "p":$dv=41;break; case "q":$dv=42;break; case "r":$dv=43;break; case "s":$dv=44;break; case "t":$dv=45;break; case "u":$dv=46;break; case "v":$dv=47;break; case "w":$dv=48;break; case "x":$dv=49;break; case "y":$dv=50;break; case "z":$dv=51;break; case "0":$dv=52;break; case "1":$dv=53;break; case "2":$dv=54;break; case "3":$dv=55;break; case "4":$dv=56;break; case "5":$dv=57;break; case "6":$dv=58;break; case "7":$dv=59;break; case "8":$dv=60;break; case "9":$dv=61;break; case "+":$dv=62;break; case "/":$dv=63;break; case "=":$dv=64;break; default: $dv=0;break; } return $dv; } } if (function_exists('codelock_run')) { } else { function codelock_run($ciph,$key){ $m=0; $abc=""; for($i=0;$i<strlen($ciph);$i++){ $c=substr($ciph,$i,1); $dv=codelock_dec($c); $dv=($dv-$m)/4; $fb=decbin($dv); while(strlen($fb)<4){ $fb="0".$fb; } $abc=$abc.$fb; $m++; if($m>3){ $m=0; } } $kl=0; $pd=""; for($j=0;$j<strlen($abc);$j=$j+8){ $c=substr($abc,$j,8); $k=substr($key,$kl,1); $dc=bindec($c); $dc=$dc - strlen($key); $c=chr($dc); $kl++; if($kl>=strlen($key)){ $kl=0; } $dc=ord($c)^ord($k); $p=chr($dc); $pd=$pd.$p; } return $pd; } } if (substr($codelock_active_key, 0, 15) != "codelock_active") { if ($codelock_enc == "") { $codelock_enc="codelock.php"; } else {} $codelock_located_file_temp=$codelock_enc; $codelock_fp3 = fopen("$codelock_located_file_temp", "rb"); $codelock_skip = fgets($codelock_fp3, 10000); $codelock_skip2 = fgets($codelock_fp3, 100000); $codelock_skip3 = fgets($codelock_fp3, 100000); $codelock_key_data = fread($codelock_fp3, filesize("$codelock_located_file_temp")); fclose ($codelock_fp3); if ($codelock_usezlib == "^") { $codelock_key_data=base64_decode($codelock_key_data); $codelock_key_data=gzinflate($codelock_key_data); } else {} $codelock_key_data=codelock_dec_int($codelock_key_data,$codelock_active_key); eval($codelock_key_data); if ($codelock_act >= 1) { } else { return; } } else { $codelock_askforkey="y"; if($codelock_askforkey == "y") { } else { $codelock_unlock="chea"; $codelock_sub="y"; } if ($codelock_enc == "") { $codelock_enc="codelock.php"; } else {} if($codelock_sub == "y") { $codelock_fp = fopen("$codelock_enc", "rb"); $codelock_skip = fgets($codelock_fp, 10000); $codelock_skip2 = fgets($codelock_fp, 100000); $codelock_skip3 = fgets($codelock_fp, 100000); $codelock_key_data = fread($codelock_fp, filesize("$codelock_enc")); fclose ($codelock_fp); if ($codelock_usezlib == "^") { $codelock_key_data=base64_decode($codelock_key_data); $codelock_key_data=gzinflate($codelock_key_data); } else {} $codelock_exec=codelock_run($codelock_key_data,$codelock_unlock); if (eregi("codelock_decrypted", $codelock_exec)) { if ($codelock_usezlib == "^") { $codelock_codeii=$codelock_lock; for ($codelock_ii=0; $codelock_ii < 11; $codelock_ii++) { $codelock_codeii=gzinflate(base64_decode($codelock_codeii)); $codelock_codeii=str_replace("eval(gzinf"."late(base64_de"."code('", "", $codelock_codeii); $codelock_codeii=str_replace("')));", "", $codelock_codeii); } $codelock_lock=$codelock_codeii; } else { $codelock_lock=base64_decode($codelock_lock); } $codelock_skip3=$codelock_lock; $codelock_skip3=str_replace("codelock_ac"."tive_key_text", $codelock_unlock, $codelock_skip3); $pres_codelock_skip3=$codelock_skip3; if ($codelock_usezlib == "^") { $codelock_codeii=$codelock_skip3; $codelock_codeii=gzdeflate($codelock_codeii); $codelock_codeii=base64_encode($codelock_codeii); for ($codelock_ii=0; $codelock_ii < 10; $codelock_ii++) { $codelock_codeii="eval(gzinflate(base64_decode('".$codelock_codeii."')));"; $codelock_codeii=gzdeflate($codelock_codeii); $codelock_codeii=base64_encode($codelock_codeii); } $codelock_skip3=$codelock_codeii; } else { $codelock_skip3=base64_encode($codelock_skip3); } $codelock_nskip3=$codelock_skip3; $codelock_nnskip3=""; if ($codelock_exp == "") { } else { $codelock_nnskip3.="$"."codelock_exp=\"$codelock_exp\"; "; } if ($codelock_usezlib == "^") { $codelock_nnnskip3="if ("."$"."codelock_file == '') { echo \"<font face='verdana' size='2'><br><b>Error!</b> You cannot run codelock directly...</font>\"; die(); } else {} ".$codelock_nnskip3."$"."codelock_lock=\"$codelock_nskip3\"; eval(gzinflate(base64_decode("."$"."codelock_lock))); return; ?".chr(62).chr(13).chr(10); } else { $codelock_nnnskip3="if ("."$"."codelock_file == '') { echo \"<font face='verdana' size='2'><br><b>Error!</b> You cannot run codelock directly...</font>\"; die(); } else {} ".$codelock_nnskip3."$"."codelock_lock=\"$codelock_nskip3\"; eval(base64_decode("."$"."codelock_lock)); return; ?".chr(62).chr(13).chr(10); } $codelock_exec2=codelock_enc_int($codelock_exec,$codelock_unlock); if ($codelock_usezlib == "^") { $codelock_exec2=gzdeflate($codelock_exec2); $codelock_exec2=base64_encode($codelock_exec2); } else {} $codelock_fdata=$codelock_skip.$codelock_skip2.$codelock_nnnskip3.$codelock_exec2; @chmod("$codelock_enc", 0777); $codelock_fp2 = @fopen("$codelock_enc", "wb"); if ($codelock_fp2) { } else { echo "<br><b>Error!</b> There is a write permission problem. You need to CHMOD the file: <b>$codelock_enc</b> to 777."; die(); } fwrite($codelock_fp2, $codelock_fdata); fclose ($codelock_fp2); @chmod("$codelock_enc", 0777); ob_start(); phpinfo(INFO_GENERAL); $codelock_op_string = ob_get_contents(); ob_end_clean(); if (strstr($codelock_op_string, "indows")) { $codelock_w_op="y"; } else {} if ($codelock_w_op == "y") { $codelock_sep_str=";"; } else { $codelock_sep_str=":"; } $include_curr_dir=$codelock_filed; $include_dir_write=ini_get('include_path'); $include_dir_write=$include_dir_write.$codelock_sep_str.$include_curr_dir; ini_set('include_path', $include_dir_write); eval($codelock_exec); } else {} } else {} if ($codelock_act >= 1) { return; } else { echo"
"; echo"<br><table width=\"600\" border=\"1\" cellspacing=\"10\" cellpadding=\"10\" bgcolor=\"#E1EAFF\" bordercolor=\"#006699\"><tr><td>"; echo"<form method=\"post\" action=\"$codelock_file\"><div align=\"center\">"; if ($codelock_scname == "") { echo "<font face=\"arial\" color=\"#006699\" size=\"4\"><b>This script is protected</b></font><br><br>"; } else { echo "<font face=\"arial\" color=\"#006699\" size=\"4\"><b>$codelock_scname is protected</b></font><br><br>"; } if ($codelock_sub == "y") { echo "<font face=\"arial\" color=\"#cc0000\" size=\"4\"><b>error </b></font><font face=\"arial\" color=\"#006699\" size=\"2\"><b>wrong unlock key</b></font><br><br>"; } else {} echo"<font face=\"Arial\" size=\"2\">Please enter your unlock key to proceed:</font><br><input type=\"text\" name=\"codelock_unlock\" size=\"32\" maxlength=\"64\">"; echo"<input type=\"hidden\" name=\"codelock_sub\" value=\"y\">"; echo"<input type=\"hidden\" name=\"codelock_encbrowser\" value=\"$codelock_encbrowser\">"; echo"<input type=\"hidden\" name=\"codelock_enc\" value=\"$codelock_enc\">"; echo"<br><br><input type=\"submit\" name=\"Submit\" value=\"Unlock Now >>>\">"; if ($codelock_coname == "") { } else { echo "<br><br><font face=\"arial\" color=\"#000000\" size=\"2\">This software is licensed to: $codelock_coname</font>"; } if ($codelock_extranotes == "") {} else { echo "<br><font face=\"arial\" color=\"#000000\" size=\"2\"><b>Note: </b>$codelock_extranotes</font>"; } echo"</div></form></td></tr></table>"; } } return;
Did this file decode correctly?
Original Code
<?PHP
/* WARNING: This script is protected. Any attempt to reverse engineer, debug or de-code this file or its dependent files is strictly prohibited */
if ($codelock_file == '') { echo "<font face='verdana' size='2'><br><b>Error!</b> You cannot run codelock directly...</font>"; die(); } else {} $codelock_lock="ICRjb2RlbG9ja19hY3RpdmVfa2V5PSJjaGVhIjsgQGV4dHJhY3QoJF9SRVFVRVNUKTsgZXJyb3JfcmVwb3J0aW5nKEVfQUxMIF4gRV9OT1RJQ0UpOyBpZiAoJGNvZGVsb2NrX2FjdCA+PSAxKSB7IH0gZWxzZSB7IEBzZXRfdGltZV9saW1pdCgyNDApOyB9IGlmICgkY29kZWxvY2tfZW5jID09ICIiKSB7ICRjb2RlbG9ja19lbmM9ImNvZGVsb2NrLnBocCI7IH0gZWxzZSB7fSBpZiAoJGNvZGVsb2NrX2FjdCA+PSAxKSB7IAlpZiAoJGNvZGVsb2NrX3JmaWxlZCA9PSAkY29kZWxvY2tfZmlsZWQpe30gZWxzZSB7ICAJaWYgKCRjb2RlbG9ja19yZmlsZWQgPT0gIiIpIHsgICAgIH0gZWxzZSB7IAlAY29weSAoIiRjb2RlbG9ja19yZmlsZWQvJGNvZGVsb2NrX2VuYyIsIiRjb2RlbG9ja19maWxlZC8kY29kZWxvY2tfZW5jIik7IAkJfSAJfSB9IGVsc2Uge30gICRjb2RlbG9ja19lbmNicm93c2VyPSIiOyAkY29kZWxvY2tfdXNlemxpYj0iIjsgJGNvZGVsb2NrX3NjbmFtZT0iaTRCIjsgJGNvZGVsb2NrX2NvbmFtZT0iaTRCIjsgJGNvZGVsb2NrX2V4dHJhbm90ZXM9IiI7ICBpZiAoIWZ1bmN0aW9uX2V4aXN0cygnZ3pkZWZsYXRlJykgQU5EICRjb2RlbG9ja191c2V6bGliPT0iXiIpIHsgCWVjaG8iPGZvbnQgZmFjZT0ndmVyZGFuYScgc2l6ZT0nMic+PGJyPjxiPkVycm9yITwvYj4gWW91IG5lZWQgdG8gaW5zdGFsbCB0aGUgWkxJQiBtb2R1bGUgZm9yIFBIUCB0byBydW4gdGhpcyBzY3JpcHQhPC9mb250PiI7IAlkaWUoKTsgfSBlbHNlIHt9ICBpZiAoZnVuY3Rpb25fZXhpc3RzKCdjb2RlbG9ja19lbmNfaW50JykpIHsgfSBlbHNlIHsgZnVuY3Rpb24gY29kZWxvY2tfZW5jX2ludCgkY29kZWxvY2tfZW5jX2ludF9jb2RlLCRjb2RlbG9ja19lbmNfa2V5KSB7ICRjb2RlbG9ja19lbmNpbnRfY29kZT1iYXNlNjRfZW5jb2RlKCRjb2RlbG9ja19lbmNfaW50X2NvZGUpOyAgaWYgKCRjb2RlbG9ja19lbmNfa2V5ID09ICIiKSB7IH0gZWxzZSB7ICRjb2RlbG9ja19lbmNfa2V5PWJhc2U2NF9lbmNvZGUoJGNvZGVsb2NrX2VuY19rZXkpOyAkY29kZWxvY2tfazE9c3Vic3RyKCRjb2RlbG9ja19lbmNfa2V5LDAsMSk7ICRjb2RlbG9ja19rMj1zdWJzdHIoJGNvZGVsb2NrX2VuY19rZXksMSwxKTsgJGNvZGVsb2NrX2szPXN1YnN0cigkY29kZWxvY2tfZW5jX2tleSwyLDEpOyAkY29kZWxvY2tfZW5jaW50X2NvZGU9c3RyX3JlcGxhY2UoIiRjb2RlbG9ja19rMSIsICIkIiwgJGNvZGVsb2NrX2VuY2ludF9jb2RlKTsgJGNvZGVsb2NrX2VuY2ludF9jb2RlPXN0cl9yZXBsYWNlKCIkY29kZWxvY2tfazIiLCAiKCIsICRjb2RlbG9ja19lbmNpbnRfY29kZSk7ICRjb2RlbG9ja19lbmNpbnRfY29kZT1zdHJfcmVwbGFjZSgiJGNvZGVsb2NrX2szIiwgIikiLCAkY29kZWxvY2tfZW5jaW50X2NvZGUpOyB9IHJldHVybiAkY29kZWxvY2tfZW5jaW50X2NvZGU7IH0gfSAgaWYgKGZ1bmN0aW9uX2V4aXN0cygnY29kZWxvY2tfZGVjX2ludCcpKSB7IH0gZWxzZSB7IGZ1bmN0aW9uIGNvZGVsb2NrX2RlY19pbnQoJGNvZGVsb2NrX2RlY2ludF9jb2RlLCRjb2RlbG9ja19jYWxjX2tleSkgeyAgaWYgKCRjb2RlbG9ja19jYWxjX2tleSA9PSAiIikgeyB9IGVsc2UgeyAkY29kZWxvY2tfY2FsY19rZXk9YmFzZTY0X2VuY29kZSgkY29kZWxvY2tfY2FsY19rZXkpOyAkY29kZWxvY2tfazE9c3Vic3RyKCRjb2RlbG9ja19jYWxjX2tleSwwLDEpOyAkY29kZWxvY2tfazI9c3Vic3RyKCRjb2RlbG9ja19jYWxjX2tleSwxLDEpOyAkY29kZWxvY2tfazM9c3Vic3RyKCRjb2RlbG9ja19jYWxjX2tleSwyLDEpOyAkY29kZWxvY2tfZGVjaW50X2NvZGU9c3RyX3JlcGxhY2UoIiQiLCAiJGNvZGVsb2NrX2sxIiwgJGNvZGVsb2NrX2RlY2ludF9jb2RlKTsgJGNvZGVsb2NrX2RlY2ludF9jb2RlPXN0cl9yZXBsYWNlKCIoIiwgIiRjb2RlbG9ja19rMiIsICRjb2RlbG9ja19kZWNpbnRfY29kZSk7ICRjb2RlbG9ja19kZWNpbnRfY29kZT1zdHJfcmVwbGFjZSgiKSIsICIkY29kZWxvY2tfazMiLCAkY29kZWxvY2tfZGVjaW50X2NvZGUpOyB9ICRjb2RlbG9ja19kZWNpbnRfY29kZT1iYXNlNjRfZGVjb2RlKCRjb2RlbG9ja19kZWNpbnRfY29kZSk7ICByZXR1cm4gJGNvZGVsb2NrX2RlY2ludF9jb2RlOyB9IH0gaWYgKGZ1bmN0aW9uX2V4aXN0cygnY29kZWxvY2tfZGVjJykpIHsgfSBlbHNlIHsgZnVuY3Rpb24gY29kZWxvY2tfZGVjKCRjb2RlbG9ja192KXsgc3dpdGNoKCRjb2RlbG9ja192KXsgY2FzZSAiQSI6JGR2PTA7YnJlYWs7IGNhc2UgIkIiOiRkdj0xO2JyZWFrOyBjYXNlICJDIjokZHY9MjticmVhazsgY2FzZSAiRCI6JGR2PTM7YnJlYWs7IGNhc2UgIkUiOiRkdj00O2JyZWFrOyBjYXNlICJGIjokZHY9NTticmVhazsgY2FzZSAiRyI6JGR2PTY7YnJlYWs7IGNhc2UgIkgiOiRkdj03O2JyZWFrOwljYXNlICJJIjokZHY9ODticmVhazsgY2FzZSAiSiI6JGR2PTk7YnJlYWs7IGNhc2UgIksiOiRkdj0xMDticmVhazsgY2FzZSAiTCI6JGR2PTExO2JyZWFrOyBjYXNlICJNIjokZHY9MTI7YnJlYWs7IGNhc2UgIk4iOiRkdj0xMzticmVhazsgY2FzZSAiTyI6JGR2PTE0O2JyZWFrOyBjYXNlICJQIjokZHY9MTU7YnJlYWs7IGNhc2UgIlEiOiRkdj0xNjticmVhazsgY2FzZSAiUiI6JGR2PTE3O2JyZWFrOyBjYXNlICJTIjokZHY9MTg7YnJlYWs7IGNhc2UgIlQiOiRkdj0xOTticmVhazsgY2FzZSAiVSI6JGR2PTIwO2JyZWFrOyBjYXNlICJWIjokZHY9MjE7YnJlYWs7IGNhc2UgIlciOiRkdj0yMjticmVhazsgY2FzZSAiWCI6JGR2PTIzO2JyZWFrOyBjYXNlICJZIjokZHY9MjQ7YnJlYWs7IGNhc2UgIloiOiRkdj0yNTticmVhazsgY2FzZSAiYSI6JGR2PTI2O2JyZWFrOyBjYXNlICJiIjokZHY9Mjc7YnJlYWs7IGNhc2UgImMiOiRkdj0yODticmVhazsgY2FzZSAiZCI6JGR2PTI5O2JyZWFrOyBjYXNlICJlIjokZHY9MzA7YnJlYWs7IGNhc2UgImYiOiRkdj0zMTticmVhazsgY2FzZSAiZyI6JGR2PTMyO2JyZWFrOyBjYXNlICJoIjokZHY9MzM7YnJlYWs7IGNhc2UgImkiOiRkdj0zNDticmVhazsgY2FzZSAiaiI6JGR2PTM1O2JyZWFrOyBjYXNlICJrIjokZHY9MzY7YnJlYWs7IGNhc2UgImwiOiRkdj0zNzticmVhazsgY2FzZSAibSI6JGR2PTM4O2JyZWFrOyBjYXNlICJuIjokZHY9Mzk7YnJlYWs7CWNhc2UgIm8iOiRkdj00MDticmVhazsgY2FzZSAicCI6JGR2PTQxO2JyZWFrOyBjYXNlICJxIjokZHY9NDI7YnJlYWs7IGNhc2UgInIiOiRkdj00MzticmVhazsgY2FzZSAicyI6JGR2PTQ0O2JyZWFrOyBjYXNlICJ0IjokZHY9NDU7YnJlYWs7IGNhc2UgInUiOiRkdj00NjticmVhazsgY2FzZSAidiI6JGR2PTQ3O2JyZWFrOyBjYXNlICJ3IjokZHY9NDg7YnJlYWs7IGNhc2UgIngiOiRkdj00OTticmVhazsgY2FzZSAieSI6JGR2PTUwO2JyZWFrOyBjYXNlICJ6IjokZHY9NTE7YnJlYWs7IGNhc2UgIjAiOiRkdj01MjticmVhazsgY2FzZSAiMSI6JGR2PTUzO2JyZWFrOyBjYXNlICIyIjokZHY9NTQ7YnJlYWs7IGNhc2UgIjMiOiRkdj01NTticmVhazsJY2FzZSAiNCI6JGR2PTU2O2JyZWFrOyBjYXNlICI1IjokZHY9NTc7YnJlYWs7IGNhc2UgIjYiOiRkdj01ODticmVhazsgY2FzZSAiNyI6JGR2PTU5O2JyZWFrOyBjYXNlICI4IjokZHY9NjA7YnJlYWs7IGNhc2UgIjkiOiRkdj02MTticmVhazsgY2FzZSAiKyI6JGR2PTYyO2JyZWFrOyBjYXNlICIvIjokZHY9NjM7YnJlYWs7IGNhc2UgIj0iOiRkdj02NDticmVhazsgZGVmYXVsdDogJGR2PTA7YnJlYWs7IH0gcmV0dXJuICRkdjsgfSB9IGlmIChmdW5jdGlvbl9leGlzdHMoJ2NvZGVsb2NrX3J1bicpKSB7IH0gZWxzZSB7IGZ1bmN0aW9uIGNvZGVsb2NrX3J1bigkY2lwaCwka2V5KXsgJG09MDsgJGFiYz0iIjsgZm9yKCRpPTA7JGk8c3RybGVuKCRjaXBoKTskaSsrKXsgJGM9c3Vic3RyKCRjaXBoLCRpLDEpOyAkZHY9Y29kZWxvY2tfZGVjKCRjKTsgJGR2PSgkZHYtJG0pLzQ7ICRmYj1kZWNiaW4oJGR2KTsgd2hpbGUoc3RybGVuKCRmYik8NCl7ICRmYj0iMCIuJGZiOyB9ICRhYmM9JGFiYy4kZmI7ICRtKys7IGlmKCRtPjMpeyAkbT0wOyB9IH0gJGtsPTA7ICRwZD0iIjsgZm9yKCRqPTA7JGo8c3RybGVuKCRhYmMpOyRqPSRqKzgpeyAkYz1zdWJzdHIoJGFiYywkaiw4KTsgJGs9c3Vic3RyKCRrZXksJGtsLDEpOyAkZGM9YmluZGVjKCRjKTsgJGRjPSRkYyAtIHN0cmxlbigka2V5KTsgJGM9Y2hyKCRkYyk7ICRrbCsrOyBpZigka2w+PXN0cmxlbigka2V5KSl7ICRrbD0wOyB9ICRkYz1vcmQoJGMpXm9yZCgkayk7ICRwPWNocigkZGMpOyAkcGQ9JHBkLiRwOyB9IHJldHVybiAkcGQ7IH0gfSAgaWYgKHN1YnN0cigkY29kZWxvY2tfYWN0aXZlX2tleSwgMCwgMTUpICE9ICJjb2RlbG9ja19hY3RpdmUiKSB7IAlpZiAoJGNvZGVsb2NrX2VuYyA9PSAiIikgeyAkY29kZWxvY2tfZW5jPSJjb2RlbG9jay5waHAiOyB9IGVsc2Uge30gIAkkY29kZWxvY2tfbG9jYXRlZF9maWxlX3RlbXA9JGNvZGVsb2NrX2VuYzsgIAkkY29kZWxvY2tfZnAzID0gZm9wZW4oIiRjb2RlbG9ja19sb2NhdGVkX2ZpbGVfdGVtcCIsICJyYiIpOyAJJGNvZGVsb2NrX3NraXAgPSBmZ2V0cygkY29kZWxvY2tfZnAzLCAxMDAwMCk7IAkkY29kZWxvY2tfc2tpcDIgPSBmZ2V0cygkY29kZWxvY2tfZnAzLCAxMDAwMDApOyAJJGNvZGVsb2NrX3NraXAzID0gZmdldHMoJGNvZGVsb2NrX2ZwMywgMTAwMDAwKTsgCSRjb2RlbG9ja19rZXlfZGF0YSA9IGZyZWFkKCRjb2RlbG9ja19mcDMsIGZpbGVzaXplKCIkY29kZWxvY2tfbG9jYXRlZF9maWxlX3RlbXAiKSk7IAlmY2xvc2UgKCRjb2RlbG9ja19mcDMpOyAJaWYgKCRjb2RlbG9ja191c2V6bGliID09ICJeIikgeyAJJGNvZGVsb2NrX2tleV9kYXRhPWJhc2U2NF9kZWNvZGUoJGNvZGVsb2NrX2tleV9kYXRhKTsgCSRjb2RlbG9ja19rZXlfZGF0YT1nemluZmxhdGUoJGNvZGVsb2NrX2tleV9kYXRhKTsgCX0gZWxzZSB7fSAJJGNvZGVsb2NrX2tleV9kYXRhPWNvZGVsb2NrX2RlY19pbnQoJGNvZGVsb2NrX2tleV9kYXRhLCRjb2RlbG9ja19hY3RpdmVfa2V5KTsgCWV2YWwoJGNvZGVsb2NrX2tleV9kYXRhKTsgCWlmICgkY29kZWxvY2tfYWN0ID49IDEpIHsgCX0gZWxzZSB7IAlyZXR1cm47IAl9IH0gZWxzZSB7ICAJJGNvZGVsb2NrX2Fza2ZvcmtleT0ieSI7IAlpZigkY29kZWxvY2tfYXNrZm9ya2V5ID09ICJ5IikgeyAJfSBlbHNlIHsgCSRjb2RlbG9ja191bmxvY2s9ImNoZWEiOyAJJGNvZGVsb2NrX3N1Yj0ieSI7IAl9ICAJIGlmICgkY29kZWxvY2tfZW5jID09ICIiKSB7ICRjb2RlbG9ja19lbmM9ImNvZGVsb2NrLnBocCI7IH0gZWxzZSB7fSAJIAlpZigkY29kZWxvY2tfc3ViID09ICJ5IikgeyAJCSRjb2RlbG9ja19mcCA9IGZvcGVuKCIkY29kZWxvY2tfZW5jIiwgInJiIik7IAkJJGNvZGVsb2NrX3NraXAgPSBmZ2V0cygkY29kZWxvY2tfZnAsIDEwMDAwKTsgCQkkY29kZWxvY2tfc2tpcDIgPSBmZ2V0cygkY29kZWxvY2tfZnAsIDEwMDAwMCk7IAkJJGNvZGVsb2NrX3NraXAzID0gZmdldHMoJGNvZGVsb2NrX2ZwLCAxMDAwMDApOyAJCSRjb2RlbG9ja19rZXlfZGF0YSA9IGZyZWFkKCRjb2RlbG9ja19mcCwgZmlsZXNpemUoIiRjb2RlbG9ja19lbmMiKSk7IAkJZmNsb3NlICgkY29kZWxvY2tfZnApOyAJCQlpZiAoJGNvZGVsb2NrX3VzZXpsaWIgPT0gIl4iKSB7IAkJCSRjb2RlbG9ja19rZXlfZGF0YT1iYXNlNjRfZGVjb2RlKCRjb2RlbG9ja19rZXlfZGF0YSk7IAkJCSRjb2RlbG9ja19rZXlfZGF0YT1nemluZmxhdGUoJGNvZGVsb2NrX2tleV9kYXRhKTsgCQkJfSBlbHNlIHt9IAkJJGNvZGVsb2NrX2V4ZWM9Y29kZWxvY2tfcnVuKCRjb2RlbG9ja19rZXlfZGF0YSwkY29kZWxvY2tfdW5sb2NrKTsgCQlpZiAoZXJlZ2koImNvZGVsb2NrX2RlY3J5cHRlZCIsICRjb2RlbG9ja19leGVjKSkgeyAgCQkJaWYgKCRjb2RlbG9ja191c2V6bGliID09ICJeIikgeyAJCQkkY29kZWxvY2tfY29kZWlpPSRjb2RlbG9ja19sb2NrOyAJCQlmb3IgKCRjb2RlbG9ja19paT0wOyAkY29kZWxvY2tfaWkgPCAxMTsgJGNvZGVsb2NrX2lpKyspIHsgCQkJJGNvZGVsb2NrX2NvZGVpaT1nemluZmxhdGUoYmFzZTY0X2RlY29kZSgkY29kZWxvY2tfY29kZWlpKSk7IAkJCSRjb2RlbG9ja19jb2RlaWk9c3RyX3JlcGxhY2UoImV2YWwoZ3ppbmYiLiJsYXRlKGJhc2U2NF9kZSIuImNvZGUoJyIsICIiLCAkY29kZWxvY2tfY29kZWlpKTsgCQkJJGNvZGVsb2NrX2NvZGVpaT1zdHJfcmVwbGFjZSgiJykpKTsiLCAiIiwgJGNvZGVsb2NrX2NvZGVpaSk7IAkJCX0gCQkJJGNvZGVsb2NrX2xvY2s9JGNvZGVsb2NrX2NvZGVpaTsgCQkJfSBlbHNlIHsgCQkJJGNvZGVsb2NrX2xvY2s9YmFzZTY0X2RlY29kZSgkY29kZWxvY2tfbG9jayk7IAkJCX0gIAkJCSRjb2RlbG9ja19za2lwMz0kY29kZWxvY2tfbG9jazsgCQkJJGNvZGVsb2NrX3NraXAzPXN0cl9yZXBsYWNlKCJjb2RlbG9ja19hYyIuInRpdmVfa2V5X3RleHQiLCAkY29kZWxvY2tfdW5sb2NrLCAkY29kZWxvY2tfc2tpcDMpOyAJCQkkcHJlc19jb2RlbG9ja19za2lwMz0kY29kZWxvY2tfc2tpcDM7IAkgCQkJaWYgKCRjb2RlbG9ja191c2V6bGliID09ICJeIikgeyAJCQkkY29kZWxvY2tfY29kZWlpPSRjb2RlbG9ja19za2lwMzsgCQkJJGNvZGVsb2NrX2NvZGVpaT1nemRlZmxhdGUoJGNvZGVsb2NrX2NvZGVpaSk7ICRjb2RlbG9ja19jb2RlaWk9YmFzZTY0X2VuY29kZSgkY29kZWxvY2tfY29kZWlpKTsgCQkJZm9yICgkY29kZWxvY2tfaWk9MDsgJGNvZGVsb2NrX2lpIDwgMTA7ICRjb2RlbG9ja19paSsrKSB7IAkJCSRjb2RlbG9ja19jb2RlaWk9ImV2YWwoZ3ppbmZsYXRlKGJhc2U2NF9kZWNvZGUoJyIuJGNvZGVsb2NrX2NvZGVpaS4iJykpKTsiOyAJCQkkY29kZWxvY2tfY29kZWlpPWd6ZGVmbGF0ZSgkY29kZWxvY2tfY29kZWlpKTsgJGNvZGVsb2NrX2NvZGVpaT1iYXNlNjRfZW5jb2RlKCRjb2RlbG9ja19jb2RlaWkpOyAJCQl9IAkJCSRjb2RlbG9ja19za2lwMz0kY29kZWxvY2tfY29kZWlpOyAJCQl9IGVsc2UgeyAJCQkkY29kZWxvY2tfc2tpcDM9YmFzZTY0X2VuY29kZSgkY29kZWxvY2tfc2tpcDMpOyAJCQl9ICAJCSRjb2RlbG9ja19uc2tpcDM9JGNvZGVsb2NrX3NraXAzOyAJCSRjb2RlbG9ja19ubnNraXAzPSIiOyAJCWlmICgkY29kZWxvY2tfZXhwID09ICIiKSB7IH0gZWxzZSB7ICRjb2RlbG9ja19ubnNraXAzLj0iJCIuImNvZGVsb2NrX2V4cD1cIiRjb2RlbG9ja19leHBcIjsgIjsgfSAgCQkJaWYgKCRjb2RlbG9ja191c2V6bGliID09ICJeIikgeyAJCQkkY29kZWxvY2tfbm5uc2tpcDM9ImlmICgiLiIkIi4iY29kZWxvY2tfZmlsZSA9PSAnJykgeyBlY2hvIFwiPGZvbnQgZmFjZT0ndmVyZGFuYScgc2l6ZT0nMic+PGJyPjxiPkVycm9yITwvYj4gWW91IGNhbm5vdCBydW4gY29kZWxvY2sgZGlyZWN0bHkuLi48L2ZvbnQ+XCI7IGRpZSgpOyB9IGVsc2Uge30gIi4kY29kZWxvY2tfbm5za2lwMy4iJCIuImNvZGVsb2NrX2xvY2s9XCIkY29kZWxvY2tfbnNraXAzXCI7IGV2YWwoZ3ppbmZsYXRlKGJhc2U2NF9kZWNvZGUoIi4iJCIuImNvZGVsb2NrX2xvY2spKSk7IHJldHVybjsgPyIuY2hyKDYyKS5jaHIoMTMpLmNocigxMCk7IAkJCX0gZWxzZSB7IAkJCSRjb2RlbG9ja19ubm5za2lwMz0iaWYgKCIuIiQiLiJjb2RlbG9ja19maWxlID09ICcnKSB7IGVjaG8gXCI8Zm9udCBmYWNlPSd2ZXJkYW5hJyBzaXplPScyJz48YnI+PGI+RXJyb3IhPC9iPiBZb3UgY2Fubm90IHJ1biBjb2RlbG9jayBkaXJlY3RseS4uLjwvZm9udD5cIjsgZGllKCk7IH0gZWxzZSB7fSAiLiRjb2RlbG9ja19ubnNraXAzLiIkIi4iY29kZWxvY2tfbG9jaz1cIiRjb2RlbG9ja19uc2tpcDNcIjsgZXZhbChiYXNlNjRfZGVjb2RlKCIuIiQiLiJjb2RlbG9ja19sb2NrKSk7IHJldHVybjsgPyIuY2hyKDYyKS5jaHIoMTMpLmNocigxMCk7IAkJCX0gCQkkY29kZWxvY2tfZXhlYzI9Y29kZWxvY2tfZW5jX2ludCgkY29kZWxvY2tfZXhlYywkY29kZWxvY2tfdW5sb2NrKTsgIAkJaWYgKCRjb2RlbG9ja191c2V6bGliID09ICJeIikgeyAJCQkkY29kZWxvY2tfZXhlYzI9Z3pkZWZsYXRlKCRjb2RlbG9ja19leGVjMik7IAkJCSRjb2RlbG9ja19leGVjMj1iYXNlNjRfZW5jb2RlKCRjb2RlbG9ja19leGVjMik7IAkJCX0gZWxzZSB7fSAJCSRjb2RlbG9ja19mZGF0YT0kY29kZWxvY2tfc2tpcC4kY29kZWxvY2tfc2tpcDIuJGNvZGVsb2NrX25ubnNraXAzLiRjb2RlbG9ja19leGVjMjsgCQlAY2htb2QoIiRjb2RlbG9ja19lbmMiLCAwNzc3KTsgCQkkY29kZWxvY2tfZnAyID0gQGZvcGVuKCIkY29kZWxvY2tfZW5jIiwgIndiIik7IAkJaWYgKCRjb2RlbG9ja19mcDIpIHsgfSBlbHNlIHsgZWNobyAiPGJyPjxiPkVycm9yITwvYj4gVGhlcmUgaXMgYSB3cml0ZSBwZXJtaXNzaW9uIHByb2JsZW0uICBZb3UgbmVlZCB0byBDSE1PRCB0aGUgZmlsZTogPGI+JGNvZGVsb2NrX2VuYzwvYj4gdG8gNzc3LiI7IGRpZSgpOyB9IAkJZndyaXRlKCRjb2RlbG9ja19mcDIsICRjb2RlbG9ja19mZGF0YSk7IAkJZmNsb3NlICgkY29kZWxvY2tfZnAyKTsgCQlAY2htb2QoIiRjb2RlbG9ja19lbmMiLCAwNzc3KTsgICAgICAgICBvYl9zdGFydCgpOyBwaHBpbmZvKElORk9fR0VORVJBTCk7ICRjb2RlbG9ja19vcF9zdHJpbmcgPSBvYl9nZXRfY29udGVudHMoKTsgICAgICAgICBvYl9lbmRfY2xlYW4oKTsgaWYgKHN0cnN0cigkY29kZWxvY2tfb3Bfc3RyaW5nLCAiaW5kb3dzIikpIHsgJGNvZGVsb2NrX3dfb3A9InkiOyB9IGVsc2Uge30gCQlpZiAoJGNvZGVsb2NrX3dfb3AgPT0gInkiKSB7ICRjb2RlbG9ja19zZXBfc3RyPSI7IjsgfSBlbHNlIHsgJGNvZGVsb2NrX3NlcF9zdHI9IjoiOyB9IAkJJGluY2x1ZGVfY3Vycl9kaXI9JGNvZGVsb2NrX2ZpbGVkOyAJCSRpbmNsdWRlX2Rpcl93cml0ZT1pbmlfZ2V0KCdpbmNsdWRlX3BhdGgnKTsgJGluY2x1ZGVfZGlyX3dyaXRlPSRpbmNsdWRlX2Rpcl93cml0ZS4kY29kZWxvY2tfc2VwX3N0ci4kaW5jbHVkZV9jdXJyX2RpcjsgCQlpbmlfc2V0KCdpbmNsdWRlX3BhdGgnLCAkaW5jbHVkZV9kaXJfd3JpdGUpOyAJCWV2YWwoJGNvZGVsb2NrX2V4ZWMpOyAJCX0gZWxzZSB7fSAJCX0gZWxzZSB7fSAgaWYgKCRjb2RlbG9ja19hY3QgPj0gMSkgeyAJcmV0dXJuOyAJfSBlbHNlIHsgCQllY2hvIgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoiOyAJCWVjaG8iPGJyPjx0YWJsZSB3aWR0aD1cIjYwMFwiIGJvcmRlcj1cIjFcIiBjZWxsc3BhY2luZz1cIjEwXCIgY2VsbHBhZGRpbmc9XCIxMFwiIGJnY29sb3I9XCIjRTFFQUZGXCIgYm9yZGVyY29sb3I9XCIjMDA2Njk5XCI+PHRyPjx0ZD4iOyAJCWVjaG8iPGZvcm0gbWV0aG9kPVwicG9zdFwiIGFjdGlvbj1cIiRjb2RlbG9ja19maWxlXCI+PGRpdiBhbGlnbj1cImNlbnRlclwiPiI7IAkJCWlmICgkY29kZWxvY2tfc2NuYW1lID09ICIiKSB7IAkJCWVjaG8gIjxmb250IGZhY2U9XCJhcmlhbFwiIGNvbG9yPVwiIzAwNjY5OVwiIHNpemU9XCI0XCI+PGI+VGhpcyBzY3JpcHQgaXMgcHJvdGVjdGVkPC9iPjwvZm9udD48YnI+PGJyPiI7IAkJCX0gZWxzZSB7IAkJCWVjaG8gIjxmb250IGZhY2U9XCJhcmlhbFwiIGNvbG9yPVwiIzAwNjY5OVwiIHNpemU9XCI0XCI+PGI+JGNvZGVsb2NrX3NjbmFtZSBpcyBwcm90ZWN0ZWQ8L2I+PC9mb250Pjxicj48YnI+IjsgCQkJfSAJCWlmICgkY29kZWxvY2tfc3ViID09ICJ5IikgeyAJCWVjaG8gIjxmb250IGZhY2U9XCJhcmlhbFwiIGNvbG9yPVwiI2NjMDAwMFwiIHNpemU9XCI0XCI+PGI+ZXJyb3IgPC9iPjwvZm9udD48Zm9udCBmYWNlPVwiYXJpYWxcIiBjb2xvcj1cIiMwMDY2OTlcIiBzaXplPVwiMlwiPjxiPndyb25nIHVubG9jayBrZXk8L2I+PC9mb250Pjxicj48YnI+IjsgCQl9IGVsc2Uge30gCQllY2hvIjxmb250IGZhY2U9XCJBcmlhbFwiIHNpemU9XCIyXCI+UGxlYXNlIGVudGVyIHlvdXIgdW5sb2NrIGtleSB0byBwcm9jZWVkOjwvZm9udD48YnI+PGlucHV0IHR5cGU9XCJ0ZXh0XCIgbmFtZT1cImNvZGVsb2NrX3VubG9ja1wiIHNpemU9XCIzMlwiIG1heGxlbmd0aD1cIjY0XCI+IjsgCQllY2hvIjxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1cImNvZGVsb2NrX3N1YlwiIHZhbHVlPVwieVwiPiI7IAkJZWNobyI8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJjb2RlbG9ja19lbmNicm93c2VyXCIgdmFsdWU9XCIkY29kZWxvY2tfZW5jYnJvd3NlclwiPiI7IAkJZWNobyI8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJjb2RlbG9ja19lbmNcIiB2YWx1ZT1cIiRjb2RlbG9ja19lbmNcIj4iOyAJCWVjaG8iPGJyPjxicj48aW5wdXQgdHlwZT1cInN1Ym1pdFwiIG5hbWU9XCJTdWJtaXRcIiB2YWx1ZT1cIlVubG9jayBOb3cgPj4+XCI+IjsgCQlpZiAoJGNvZGVsb2NrX2NvbmFtZSA9PSAiIikgeyB9IGVsc2UgeyAgCQllY2hvICI8YnI+PGJyPjxmb250IGZhY2U9XCJhcmlhbFwiIGNvbG9yPVwiIzAwMDAwMFwiIHNpemU9XCIyXCI+VGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB0bzogJGNvZGVsb2NrX2NvbmFtZTwvZm9udD4iOyAJCX0gCQlpZiAoJGNvZGVsb2NrX2V4dHJhbm90ZXMgPT0gIiIpIHt9IGVsc2UgeyAJCWVjaG8gIjxicj48Zm9udCBmYWNlPVwiYXJpYWxcIiBjb2xvcj1cIiMwMDAwMDBcIiBzaXplPVwiMlwiPjxiPk5vdGU6IDwvYj4kY29kZWxvY2tfZXh0cmFub3RlczwvZm9udD4iOyAJCQl9IAkJZWNobyI8L2Rpdj48L2Zvcm0+PC90ZD48L3RyPjwvdGFibGU+IjsgCX0gfSByZXR1cm47"; eval(base64_decode($codelock_lock)); return; ?>
JGNvZGVsb(NrX(V4cGlyeV9tZXNz$WdlPSJWR()w$3lCelkzSnBjSFFn$UdGeklHVjRjR(x5WldRaCI7ICBlcnJvcl9yZXBvcnRpbmcoRV9BTEwgXiBFX05PVElDRSk7ICRjb(RlbG9ja19kZWNyeXB0ZWQ9IiI7ICRjb(RlbG9ja19)$3RpdmVfZX)waXJ5PSJjb(RlbG9ja19)$3RpdmVfZX)waXJ5X3RleHQiOyBpZiAoJGNvZGVsb(NrX(lwID09ICIiKSB7IH0gZWxzZSB7ICRjb(RlbG9ja19pcD1jb(RlbG9ja19kZWNfaW50KCRjb(RlbG9ja19pcCwiIik7IH0gJGNvZGVsb(NrX(V4cD1jb(RlbG9ja19kZWNfaW50KCRjb(RlbG9ja19leHAsIiIpOyAgaW$gKCRjb(RlbG9ja19leHAgPT0gIjAiIG9yICRjb(RlbG9ja19leHAgPT0gIiIpIHsgfSBlbHNlIHsgCSRjb(RlbG9ja19leHBpcnlfbWVzc(FnZT1jb(RlbG9ja19kZWNfaW50KCRjb(RlbG9ja19leHBpcnlfbWVzc(FnZSwiIik7IAkk$(9kZWxv$(tfZX)waXJ5X(1lc3N)Z(U9c3RyaXBzbGFzaGVzKCRjb(RlbG9ja19leHBpcnlfbWVzc(FnZSk7IAkk$(9kZWxv$(tfdG9k$Xk9ZGF0ZSgiWW1kIix0aW1lKCkpOyAJaW$gKCBzdWJzdHIoJGNvZGVsb(NrX(V4cCwgOCwgMSkgPT0gIioiKSB7IAkk$(9kZWxv$(tfZHk9c3Vic3RyKCRjb(RlbG9ja19leHAsID$sIDIpOyAJJGNvZGVsb(NrX(1uPXN1$nN0cigk$(9kZWxv$(tfZX)wLCA0LCAyKTsgCSRjb(RlbG9ja195cj1zdWJzdHIoJGNvZGVsb(NrX(V4cCwgMCwgNCk7IAkk$(9kZWxv$(tfdG9k$Xlf$WRkPXN0cmZ0aW1lKCIlWSVtJWQiLCBta3RpbWUoMCwwLDAsJGNvZGVsb(NrX(1uLCRjb(RlbG9ja19keSwk$(9kZWxv$(tfeXIpKTsgCX0gZWxzZSB7IAkk$(9kZWxv$(tfZHk9c3Vic3RyKCRjb(RlbG9ja190b(R)eSwgNiwgMik7IAkk$(9kZWxv$(tfbW49c3Vic3RyKCRjb(RlbG9ja190b(R)eSwgNCwgMik7IAkk$(9kZWxv$(tfeXI9c3Vic3RyKCRjb(RlbG9ja190b(R)eSwgMCwgNCk7IAkk$(9kZWxv$(tfdG9k$Xlf$WRkPXN0cmZ0aW1lKCIlWSVtJWQiLCBta3RpbWUoMCwwLDAsJGNvZGVsb(NrX(1uLCRjb(RlbG9ja19keSsk$(9kZWxv$(tfZX)wLCRjb(RlbG9ja195cikpOyAJfSAJJGNvZGVsb(NrX3RvZGF5X3dyaXRlPWJ)c(U(NF9lbmNvZGUoJGNvZGVsb(NrX3RvZGF5X(FkZCk7IAlpZiAoc3Vic3RyKCRjb(RlbG9ja19)$3RpdmVfZX)waXJ5LCAwLCA4KSA9PSAi$(9kZWxv$(siIEFORCBzdWJzdHIoJGNvZGVsb(NrX(V4cCwgOCwgMSkgIT0gIioiKSB7ICRjb(RlbG9ja19leGVjPXN0cl9yZXBs$WNlKCJjb(RlbG9ja19)$3RpIi4idmVfZX)waXJ5X3RleHQiLCIk$(9kZWxv$(tfdG9k$Xlfd3JpdGUiLCRjb(RlbG9ja19leGVjKTsgIAkk$(9kZWxv$(tfZX)l$zI9$(9kZWxv$(tfZW5jX(ludCgk$(9kZWxv$(tfZX)l$ywk$(9kZWxv$(tfdW5sb(NrKTsgIGlmICgk$(9kZWxv$(tfdXNlemxp$iA9PSAiXiIpIHsgJGNvZGVsb(NrX(V4ZWMyPWd6ZGVmbGF0ZSgk$(9kZWxv$(tfZX)l$zIpOyAk$(9kZWxv$(tfZX)l$zI9$mFzZT$0X(Vu$(9kZSgk$(9kZWxv$(tfZX)l$zIpOyB9IGVsc(Uge30gICRjb(RlbG9ja19za(lwMz0kcHJlc19jb(RlbG9ja19za(lwMzsgaW$gKCRjb(RlbG9ja191c(V6bGliID09ICJeIikgeyAJJGNvZGVsb(NrX(NvZGVpaT0k$(9kZWxv$(tfc(tpcDM7IAkk$(9kZWxv$(tf$(9kZWlpPWd6ZGVmbGF0ZSgk$(9kZWxv$(tf$(9kZWlpKTsgJGNvZGVsb(NrX(NvZGVpaT1i$XNlNjRfZW5jb(RlKCRjb(RlbG9ja19jb(RlaWkpOyAJZm9yICgk$(9kZWxv$(tfaWk9MDsgJGNvZGVsb(NrX(lpIDwgMTA7ICRjb(RlbG9ja19paSsrKSB7IAkk$(9kZWxv$(tf$(9kZWlpPSJldmFsKGd6aW5mbGF0ZS)i$XNlNjRfZGVjb(RlKCciLiRjb(RlbG9ja19jb(RlaWkuIicpKSk7IjsgCSRjb(RlbG9ja19jb(RlaWk9Z3pkZWZs$XRlKCRjb(RlbG9ja19jb(RlaWkpOyAk$(9kZWxv$(tf$(9kZWlpPWJ)c(U(NF9lbmNvZGUoJGNvZGVsb(NrX(NvZGVpaSk7IAl9IAkk$(9kZWxv$(tfc(tpcDM9JGNvZGVsb(NrX(NvZGVpaTsgCX0gZWxzZSB7IAkk$(9kZWxv$(tfc(tpcDM9$mFzZT$0X(Vu$(9kZSgk$(9kZWxv$(tfc(tpcDMpOyAJfSAgCSRjb(RlbG9ja19uc(tpcDM9JGNvZGVsb(NrX3NraXAzOyBpZiAoJGNvZGVsb(NrX3VzZXpsaWIgPT0gIl4iKSB7IAkk$(9kZWxv$(tfbm5uc(tpcDM9ImlmICgiLiIkIi4i$(9kZWxv$(tfZmlsZSA9PSAnJykgeyBl$()vIFwiPGZvbnQgZmFjZT0ndmVyZGFu$Scgc(l6ZT0nMic+PGJyPjxiPkVycm9yITwv$j4gWW91IGN)bm5vdCBydW4g$(9kZWxv$(sgZGlyZWN0bHkuLi48L(ZvbnQ+XCI7IGRpZSgpOyB9IGVsc(Uge30gIi4k$(9kZWxv$(tfbm5za(lwMy4iJCIuImNvZGVsb(NrX(xv$(s9XCIk$(9kZWxv$(tfbnNraXAzXCI7IGV($WwoZ3ppbmZs$XRlKGJ)c(U(NF9kZWNvZGUoIi4iJCIuImNvZGVsb(NrX(xv$(spKSk7IHJldHVybjsgPyIu$()yKD$yKS5jaHIoMTMpLmNocigxMCk7IAl9IGVsc(UgeyAJJGNvZGVsb(NrX(5ubnNraXAzPSJpZiAoIi4iJCIuImNvZGVsb(NrX(ZpbGUgPT0gJycpIHsgZWNobyBcIjxmb(50IGZ)$(U9J3ZlcmR)bmEnIHNpemU9JzInPjxicj48$j5FcnJvciE8L(I+IFlvdSBj$W5ub3QgcnVuIGNvZGVsb(NrIGRpcmVjdGx5Li4uPC9mb(50PlwiOyBkaWUoKTsgfSBlbHNlIHt9ICIuJGNvZGVsb(NrX(5uc(tpcDMuIiQiLiJjb(RlbG9ja19sb(NrPVwiJGNvZGVsb(NrX(5za(lwM1wiOyBldmFsKGJ)c(U(NF9kZWNvZGUoIi4iJCIuImNvZGVsb(NrX(xv$(spKTsgcmV0dXJuOyA/Ii5jaHIoNjIpLmNocigxMyku$()yKDEwKTsgCX0gCSRjb(RlbG9ja19mZGF0$T0k$(9kZWxv$(tfc(tpcC4k$(9kZWxv$(tfc(tpcDIuJGNvZGVsb(NrX(5ubnNraXAzLiRjb(RlbG9ja19leGVjMjsgCUBjaG1vZCgiJGNvZGVsb(NrX(Vu$yIsIDA3NzcpOyAJJGNvZGVsb(NrX(ZwMiA9IEBmb3BlbigiJGNvZGVsb(NrX(Vu$yIsICJ3$iIpOyAJaW$gKCRjb(RlbG9ja19mcDIpIHsgfSBlbHNlIHsgZWNobyAiPGJyPjxiPkVycm9yITwv$j4gVG)lcmUgaXMg$SB3cml0ZSBwZXJtaXNzaW9uIHByb(JsZW0uICBZb3UgbmVlZCB0byBDSE1PRCB0aGUgZmlsZTogPGI+JGNvZGVsb(NrX(Vu$zwv$j4gdG8gNzc1LiI7IGRpZSgpOyB9IAlmd3JpdGUoJGNvZGVsb(NrX(ZwMiwgJGNvZGVsb(NrX(Zk$XR)KTsgCWZjbG9zZSAoJGNvZGVsb(NrX(ZwMik7IAlA$()tb(QoIiRjb(RlbG9ja19lbmMiLCAwNzc3KTsgCX0gZWxzZSB7IAlpZiAoc3Vic3RyKCRjb(RlbG9ja19leHAsIDgsIDEpID09ICIqIikgeyAJJGNvZGVsb(NrX(FjdGl(ZV9leHBpcnk9c3Vic3RyKCRjb(RlbG9ja19leHAsIDAsIDgpOyAJfSBlbHNlIHsgJGNvZGVsb(NrX(FjdGl(ZV9leHBpcnk9$(9kZWxv$(tfZGVjX(ludCgk$(9kZWxv$(tf$WN0aXZlX(V4cGlyeSwiIik7IH0gCX0gCWlmICgk$(9kZWxv$(tf$WN0aXZlX(V4cGlyeSA8PSAk$(9kZWxv$(tfdG9k$XkpIHsgCWVjaG8gIjxicj48$nI+Ii4k$(9kZWxv$(tfZX)waXJ5X(1lc3N)Z(U7IAll$()vICI8$nI+RX)waXJ5IGR)dGU6ICIuJGNvZGVsb(NrX(FjdGl(ZV9leHBpcnk7IAlkaWUoKTsgCX0gZWxzZSB7fSB9ICBpZiAoJGNvZGVsb(NrX(lwID09ICIiKSB7IH0gZWxzZSB7IAkk$(9kZWxv$(tfaXA9c3RyX3JlcGx)$(UoIm)0dCIuInA6Ly8iLCAiIiwgJGNvZGVsb(NrX(lwKTsgCSRjb(RlbG9ja19jaGVja19pcD0kSFRUUF9TRVJWRVJfVkFSU1siU0VSVkVSX0FERFIiXTsgCSRjb(RlbG9ja19ob3N0PSRIVFRQX1NFUlZFUl9WQVJTWyJTRVJWRVJfTkFNRSJdOyAJJGNvZGVsb(NrX(lwPXN0cl9yZXBs$WNlKCIgIiwgIiIsICRjb(RlbG9ja19pcCk7IAkk$(9kZWxv$(tfbWF4PXN1$nN0cl9jb3VudCgk$(9kZWxv$(tfaXAsICIsIik7IAkk$(9kZWxv$(tf$(9tcF9pcD1leHBsb(RlKCIsIiwk$(9kZWxv$(tfaXApOyAJZm9yKCRjb(RlbG9ja19pPTA7JGNvZGVsb(NrX(k8KCRjb(RlbG9ja19t$XgrMSk7JGNvZGVsb(NrX(krKyl7IAkJaW$gKGVyZWdpKCRjb(RlbG9ja19jb(1wX(lwWyRjb(RlbG9ja19pXSwgJGNvZGVsb(NrX(NoZWNrX(lwKSkgeyAk$(9kZWxv$(tfZj0ieSI7IH0gZWxzZSB7fSAJCWlmIC)lcmVnaSgk$(9kZWxv$(tf$(9tcF9pcFsk$(9kZWxv$(tfaV0sICRjb(RlbG9ja19ob3N0KSkgeyAk$(9kZWxv$(tfZj0ieSI7IH0gZWxzZSB7fSAJfSAJaW$gKCRjb(RlbG9ja19mID09ICJ5IikgeyB9IGVsc(UgeyAgCWVjaG8gIjxmb(50IGZ)$(U9XCJ(ZXJk$W5)XCIgc(l6ZT1cIjJcIj48$nI+PGI+RXJyb3I)PC9iPiBZb3VyIElQIEFkZHJlc3Mgb3IgSG9zdG5)bWUgZG9lcyBub3QgbWF0$(ggdG)lIHJlcXVpcmVkIElQPC9mb(50Pjxicj48$nI+IjsgCWVjaG8gIlRoaXMgc(NyaXB0IGlzIHJlc3RyaWN0ZWQgdG8gdG)lIElQIG9yIFVSTDogIjsgZm9yKCRjb(RlbG9ja19pPTA7JGNvZGVsb(NrX(k8KCRjb(RlbG9ja19t$XgrMSk7JGNvZGVsb(NrX(krKyl7IGVjaG8iJGNvZGVsb(NrX(NvbXBfaXBbJGNvZGVsb(NrX(ldLCAiOyB9IGVjaG8iPEJSPjxicj5Zb3VyIElQOiAk$(9kZWxv$(tf$()l$(tfaXAgaG9zdDogJGNvZGVsb(NrX()vc3QiOyAJZGllKCk7IH0gfSAgaW$gKCRjb(RlbG9ja19)$3RpdmVfa(V5ID09ICJjb(RlbG9ja19)$3RpdmVfa(V5X3RleHQiKSB7ICRjb(RlbG9ja19)$3RpdmVfa(V5PSRjb(RlbG9ja191bmxv$(s7IH0gZWxzZSB7fSAgJGNvZGVsb(NrX(FjdF9zdWJkaXI9JGNvZGVsb(NrX(ZpbGVkOyAgJGNvZGVsb(NrX(5ld(NvZGU9IiI7ICRjb(RlbG9ja19odG1sPSIiOyAk$(9kZWxv$(tfaHRtbF9uZXc9IiI7IEB1bmxpbmsoJGNvZGVsb(NrX3RtcGZu$W1lKTsgICRjb(RlbG9ja19jd(R0ZW1wPWdldGN3ZCgpOyAk$(9kZWxv$(tf$WN0X3N1$mRpcj0k$(9kZWxv$(tfZmlsZWQ7ICBA$()kaXIoJGNvZGVsb(NrX(FjdF9zdWJkaXIpOyAgJGNvZGVsb(NrX(FjdD0k$(9kZWxv$(tf$WN0KzE7ICAk$(9kZWxv$(tfaW5jbHVkZV9)ZGRyZXNzPXN0cl9yZXBs$WNlKCRjb(RlbG9ja19jd(R0ZW1wLCAiIiwgJGNvZGVsb(NrX(ZpbGVkKTsgaW$oJGNvZGVsb(NrX(lu$(x1ZGVf$WRkcmVzcz09IiIpIHt9IGVsc(UgeyAk$(9kZWxv$(tfaW5jbHVkZV9)ZGRyZXNzLj0iLyI7IH0gIAlAdW5saW5rKCRjb(RlbG9ja190bXBmbmFtZSk7IAlpZigk$(9kZWxv$(tf$WN0ID49MSkgeyBA$()kaXIoJGNvZGVsb(NrX(lu$(x1ZGVf$WRkcmVzcyk7IH0gZWxzZSB7IGNoZGlyKCRjb(RlbG9ja19maWxlZCk7IH0gCUB1bmxpbmsoJGNvZGVsb(NrX3RtcGZu$W1lKTsgIAkk$(9kZWxv$(tfZnA9Zm9wZW4oJGNvZGVsb(NrX(ZpbGUsICJy$iIpOyAJJGNvZGVsb(NrX(lnbj1mZ(V0cygk$(9kZWxv$(tfZnAsIDEwMDAwKTsgCSRjb(RlbG9ja19pZ(4yPWZnZXRzKCRjb(RlbG9ja19mcCwgMTAwMDAwKTsgCSRjb(RlbG9ja19za(lwPWZnZXRzKCRjb(RlbG9ja19mcCwgMTAwMDAwKTsgCSRjb(RlbG9ja19k$XR)PWZyZWFkKCRjb(RlbG9ja19mcCwgZmlsZXNpemUoIiRjb(RlbG9ja19maWxlIikpOyAJZmNsb3NlICgk$(9kZWxv$(tfZnApOyAJaW$gKCRjb(RlbG9ja191c(V6bGliID09ICJeIikgeyAJCSRjb(RlbG9ja19k$XR)PWJ)c(U(NF9kZWNvZGUoJGNvZGVsb(NrX(R)dGEpOyAJCSRjb(RlbG9ja19k$XR)PWd6aW5mbGF0ZSgk$(9kZWxv$(tfZGF0$Sk7IAl9IGVsc(Uge30gIAkk$(9kZWxv$(tfcGFnZT1jb(RlbG9ja19kZWNfaW50KCRjb(RlbG9ja19k$XR)LCRjb(RlbG9ja19)$3RpdmVfa(V5KTsgICAgIAlpZiAoZXJlZ(koInNlc3NpbyIuIm5fc(V0X3N)dmVfaGFuZGxlcigpIiwgJGNvZGVsb(NrX3B)Z(UpKSB7IAkk$(9kZWxv$(tfZmlyc3Q9$()yKD$wKS4iP3BocCBAb(Jfc3R)cnQoKTsgQHNlc3NpbyIuIm5fc(V0X3N)dmVfaGFuZGxlcigpOyA/Ii5jaHIoNjIpLmNocigxMyku$()yKDEwKTsgCSRjb(RlbG9ja19w$WdlPXN0cl9yZXBs$WNlKCJzZXNzaW8iLiJuX3NldF9z$XZlX())bmRsZXIoKSIsICIjIiwgJGNvZGVsb(NrX3B)Z(UpOyAJJGNvZGVsb(NrX3B)Z(U9JGNvZGVsb(NrX(ZpcnN0LiRjb(RlbG9ja19w$WdlOyAJfSBlbHNlIHt9ICAJaW$oJGNvZGVsb(NrX(Vu$(Jyb3dzZXIgPT0gIl4iIEFORCAk$(9kZWxv$(tfaW5jX3RydWUgIT0gInkiKSB7IAkk$(9kZWxv$(tfaHRtbD0iIjsgCSRjb(RlbG9ja19z$WZlbW9kZT1AaW5pX(dldCAoJ3N)ZmVfbW9kZScpOyAgCUBjaGRpcigk$(9kZWxv$(tf$WN0X(Rpcik7IAlAdW5saW5rKCRjb(RlbG9ja190bXBmbmFtZSk7IAlpZiAoZmlsZV9leGlzdHMoInRlbXAiKSkgeyAJJGNvZGVsb(NrX(ZpbGV0bXBzbmFtZT1zdWJzdHIoJGNvZGVsb(NrX(ZpbGUsIDAsIDMpOyAJJGNvZGVsb(NrX3RtcGZu$W1lPSJ0ZW1wLyRjb(RlbG9ja19)$3Qu$(RrIjsgJGNvZGVsb(NrX(ZwMyA9IEBmb3Blbigk$(9kZWxv$(tfdG1wZm5)bWUsIndiIik7IAl9IGVsc(UgeyAJJGNvZGVsb(NrX3RtcGZu$W1lPSIk$(9kZWxv$(tf$WN0LmNkayI7ICRjb(RlbG9ja19mcDMgPSBAZm9wZW4oJGNvZGVsb(NrX3RtcGZu$W1lLCJ3$iIpOyAJfSAJaW$gKCRjb(RlbG9ja19mcDMpIHsgfSBlbHNlIHsgCQlpZiAoJGNvZGVsb(NrX3N)ZmVtb(RlID09ICIxIikgeyB9IGVsc(UgeyAJCSRjb(RlbG9ja190bXBmbmFtZT0iJGNvZGVsb(NrX(FjdC5jZGsiOyAk$(9kZWxv$(tfZnAzPUBmb3Blbigk$(9kZWxv$(tfdG1wZm5)bWUsIndiIik7IAkJfSAJfSAJb(Jfc3R)cnQoKTsgCWlmIC)lcmVnaSgiZGkiLiJlIiwk$(9kZWxv$(tfcGFnZSkgT1IgZXJlZ(koImV4aSIuInQiLCRjb(RlbG9ja19w$WdlKSkgeyBAZmNsb3NlKCRjb(RlbG9ja19mcDMpOyAk$(9kZWxv$(tfZnAzPSIiOyBAdW5saW5rKCRjb(RlbG9ja190bXBmbmFtZSk7IH0gZWxzZSB7fSAJaW$oJGNvZGVsb(NrX(ZwMykgeyAJZndyaXRlKCRjb(RlbG9ja19mcDMsICRjb(RlbG9ja19w$WdlKTsgCWZjbG9zZSgk$(9kZWxv$(tfZnAzKTsgaW5jbHVkZSgk$(9kZWxv$(tfdG1wZm5)bWUpOyAJQHVubGluaygk$(9kZWxv$(tfdG1wZm5)bWUpOyAgCWlmICgk$(9kZWxv$(tf$WN0ID49MSkgeyBA$()kaXIoJGNvZGVsb(NrX(lu$(x1ZGVf$WRkcmVzcyk7IH0gZWxzZSB7IEBjaGRpcigk$(9kZWxv$(tfZmlsZWQpOyB9IAkk$(9kZWxv$(tfcGFnZT0iIjsgCX0gZWxzZSB7IAlldmFsKCI/Ii5jaHIoNjIpLiRjb(RlbG9ja19w$WdlLmNocig(MCkuIj8iKTsgCWlmICgk$(9kZWxv$(tf$WN0ID49MSkgeyBA$()kaXIoJGNvZGVsb(NrX(lu$(x1ZGVf$WRkcmVzcyk7IH0gZWxzZSB7IEBjaGRpcigk$(9kZWxv$(tfZmlsZWQpOyB9IAl9IAkk$(9kZWxv$(tf$WxsID0gb(JfZ(V0X(NvbnRlbnRzKCk7IAlv$l9lbmRf$(xl$W4oKTsgCX0gZWxzZSB7fSAgCWlmKCRjb(RlbG9ja19lbmNicm93c(VyID09ICJeIikgeyAJJGNvZGVsb(NrX()0bWxfbmV3PSIiOyAJJGNvZGVsb(NrX()0bWw9ICRjb(RlbG9ja19)bGw7IAkk$(9kZWxv$(tfbGVuZ3RoID0gc3RybGVuKCRjb(RlbG9ja19odG1sKTsgCSRjb(RlbG9ja19uZXdjb(RlPSIiOyAJZm9yICgk$(9kZWxv$(tfZ(89MDsgJGNvZGVsb(NrX(dvIDwgJGNvZGVsb(NrX(xlbmd0aDsgJGNvZGVsb(NrX(dvKyspIHsgCSRjb(RlbG9ja19jdXJyX3N0cmluZz0k$(9kZWxv$(tfaHRtbFsk$(9kZWxv$(tfZ(9dOyAJaW$gKG9yZCgk$(9kZWxv$(tf$3Vycl9zdHJpbmcpIDwgMTI4KSB7ICRjb(RlbG9ja19odG1sX(5ldy49JGNvZGVsb(NrX(N1cnJfc3RyaW5nOyB9IGVsc(UgeyAJJGNvZGVsb(NrX()0bWxfbmV3Lj0iJiMiLm9yZCgk$(9kZWxv$(tf$3Vycl9zdHJpbmcpLiI7IjsgCX0gfSAJJGNvZGVsb(NrX(Rpc(FibGVyaWdodGNsaWNrPSJuIjsgCSRjb(RlbG9ja19odG1sPSRjb(RlbG9ja19odG1sX(5ldzsgCWlmICgk$(9kZWxv$(tfZGlz$WJsZXJpZ()0$(xp$(s9PSJ5IikgeyAJJGNvZGVsb(NrX()0bWwuPSI8c(NyaXB0IGx)bmd1$WdlPUp)dmFT$3JpcHQ+dmFyIG1lc3N)Z(U9XCJUaGlzIGNvZGUgaXMgcHJvdGVjdGVkIVwiOyBmdW5jdGlvbiBjbGlja0lFNCgpeyBpZiAoZXZlbnQu$nV0dG9uPT0yKXsg$WxlcnQobWVzc(FnZSk7IHJldHVybiBm$WxzZTsgfSB9IGZ1bmN0aW9uIGNsaWNrTlM0KGUpeyBpZiAoZG9jdW1lbnQubGF5ZXJzfHxkb(N1bWVudC5nZXRFbGVtZW50QnlJZC$mIWRv$3VtZW50LmFsbCl7IGlmIC)lLndoaWNoPT0yfHxlLndoaWNoPT0zKXsg$WxlcnQobWVzc(FnZSk7IHJldHVybiBm$WxzZTsgfSB9IH0gaW$gKGRv$3VtZW50Lmx)eWVycyl7IGRv$3VtZW50LmN)cHR1cmVFdmVudHMoRXZlbnQuTU9VU0VET1dOKTsgZG9jdW1lbnQub(5tb3VzZWRvd(49$(xp$(tOUzQ7IH0gZWxzZSBpZiAoZG9jdW1lbnQu$WxsJi$)ZG9jdW1lbnQuZ(V0RWxlbWVudEJ5SWQpeyBkb(N1bWVudC5vbm1vdXNlZG93bj1jbGlja0lFNDsgfSBkb(N1bWVudC5vbmNvbnRleHRtZW51PW5ldyBGdW5jdGlvbi)cImFsZXJ0KG1lc3N)Z(UpO3JldHVybiBm$WxzZVwiKSA8L3NjcmlwdD4iOyAJfSBlbHNlIHt9IAkk$(9kZWxv$(tfbGVuZ3RoID0gc3RybGVuKCRjb(RlbG9ja19odG1sKTsgCSRjb(RlbG9ja19udF9oPWJ)c(U(NF9lbmNvZGUoJGNvZGVsb(NrX()0bWwpOyAJJGNvZGVsb(NrX(50X(g9c3RyX3JlcGx)$(UoIkNBZ0kiLCAiKiIsICRjb(RlbG9ja19udF9oKTsgCSRjb(RlbG9ja19udF9oPXN0cl9yZXBs$WNlKCJXNSIsICI)IiwgJGNvZGVsb(NrX(50X(gpOyAJJGNvZGVsb(NrX(50X(g9c3RyX3JlcGx)$(UoIkNBZyIsICJAIiwgJGNvZGVsb(NrX(50X(gpOyAJJGNvZGVsb(NrX(JvZHk9InZ)ciUyMGNvZGVsb(NrX(J)cyUzRCUyN0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFla$WJjZGVmZ()pamtsbW5vcHFyc3R1dnd4eXowMTIzNDU(Nzg5JTJCJTJGJTI3JTNCJTIwZnVu$3Rpb(4lMjBjb(RlbG9ja19kZWMlMj)zdHIlMjklMjAlN0IlMjBzdHIlM0RzdHIuc3BsaXQlMjglMjclNDAlMjclMjkuam9pbiUyOCUyN0NBZyUyNyUyOSUzQiUyMHN0ciUzRHN0ci5zcGxpdCUyOCUyNyUyMSUyNyUyOS5qb(luJTI4JTI3VzUlMjclMjklM0IlMjBzdHIlM0RzdHIuc3BsaXQlMjglMjclMkElMjclMjkuam9pbiUyOCUyN0NBZ0klMjclMjklM0IlMjB($XIlMjBidCUyQyUyMGR0JTIwJTNEJTIwJTI3JTI3JTNCJTIwZm9yJTI4aSUzRDAlM0IlMjBpJTNDc3RyLmxlbmd0aCUzQiUyMGklMjAlMkIlM0QlMjA0JTI5JTIwJTdCJTIw$nQlMjAlM0QlMjAlMj)jb(RlbG9ja19i$XMuaW5kZX)PZiUyOHN0ci5jaGFyQXQlMj)pJTI5JTI5JTIwJTI(JTIwMH)mZiUyOSUyMCUzQyUzQzE4JTIwJTdDJTIwJTI4$(9kZWxv$(tf$mFzLmluZGV4T($lMj)zdHIu$())ckF0JTI4aSUyMCUyQjElMjklMjklMjAlMj$lMjAweGZmJTI5JTIwJTNDJTNDMTIlMjAlN0MlMjAlMj)jb(RlbG9ja19i$XMuaW5kZX)PZiUyOHN0ci5jaGFyQXQlMj)pJTIwJTJCMiUyOSUyOSUyMCUyNiUyMDB4Zm$lMjklMjAlM0MlM0MlMjA(JTIwJTdDJTIw$(9kZWxv$(tf$mFzLmluZGV4T($lMj)zdHIu$())ckF0JTI4aSUyMCUyQjMlMjklMjklMjAlMj$lMjAweGZmJTNCJTIwZHQlMjAlMkIlM0QlMjBTdHJpbmcuZnJvbUNo$XJDb(RlJTI4JTI4$nQlMjAlMj$lMjAweGZmMDAwMCUyOSUyMCUzRSUzRTE(JTJDJTIwJTI4$nQlMjAlMj$lMjAweGZmMDAlMjklMjAlM0UlM0U4JTJDJTIw$nQlMjAlMj$lMjAweGZmJTI5JTNCJTIwJTdEJTIwaW$lMj)zdHIu$())ckNvZGVBdCUyOGklMjAtMiUyOSUyMCUzRCUzRCUyMD$xJTI5JTIwJTdCJTIwcmV0dXJuJTI4ZHQuc3Vic3RyaW5nJTI4MCUyQyUyMGR0Lmxlbmd0aCUyMC0yJTI5JTI5JTNCJTIwJTdEJTIwZWxzZSUyMGlmJTI4c3RyLmNo$XJDb(RlQXQlMj)pJTIwLTElMjklMjAlM0QlM0QlMjA(MSUyOSUyMCU3QiUyMHJldHVybiUyOGR0LnN1$nN0cmluZyUyODAlMkMlMjBkdC5sZW5ndGglMjAtMSUyOSUyOSUzQiUyMCU3RCUyMGVsc(UlMjAlN0JyZXR1cm4lMj)kdCUyOSU3RCUzQiUyMCU3RCI7IAkk$(9kZWxv$(tfbmV3$(9kZS49ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c(NyaXB0IGx)bmd1$WdlPUp)dmFT$3JpcHQ+ZXZ)bC)1bmVz$(FwZSgnJGNvZGVsb(NrX(JvZHknKSk7IGRv$3VtZW50LndyaXRlKGNvZGVsb(NrX(Rl$ygnJGNvZGVsb(NrX(50X(gnKSk7IDwvc(NyaXB0PiIu$()yKDEzKS5jaHIoMTApOyAJZWNobyAk$(9kZWxv$(tfbmV3$(9kZTsgCXJldHVybjsgCX0gZWxzZSB7IAlA$()kaXIoJGNvZGVsb(NrX(FjdF9kaXIpOyAJQHVubGluaygk$(9kZWxv$(tfdG1wZm5)bWUpOyAJJGNvZGVsb(NrX3N)ZmVtb(RlPUBpbmlfZ(V0ICgnc(FmZV9tb(RlJyk7ICAJaW$gKGZpbGVfZX)pc3RzKCJ0ZW1wIikpIHsgCSRjb(RlbG9ja19maWxldG1wc(5)bWU9c3Vic3RyKCRjb(RlbG9ja19maWxlLCAwLCAzKTsgCSRjb(RlbG9ja190bXBmbmFtZT0idGVtcC8k$(9kZWxv$(tf$WN0LmNkayI7ICRjb(RlbG9ja19mcDMgPSBAZm9wZW4oJGNvZGVsb(NrX3RtcGZu$W1lLCJ3$iIpOyAJfSBlbHNlIHsgCSRjb(RlbG9ja190bXBmbmFtZT0iJGNvZGVsb(NrX(FjdC5jZGsiOyAk$(9kZWxv$(tfZnAzID0gQGZvcGVuKCRjb(RlbG9ja190bXBmbmFtZSwid(IiKTsgCX0gCWlmICgk$(9kZWxv$(tfZnAzKSB7IH0gZWxzZSB7IAkJaW$gKCRjb(RlbG9ja19z$WZlbW9kZSA9PSAiMSIpIHsgfSBlbHNlIHsgCQkk$(9kZWxv$(tfdG1wZm5)bWU9IiRjb(RlbG9ja19)$3Qu$(RrIjsgJGNvZGVsb(NrX(ZwMz1AZm9wZW4oJGNvZGVsb(NrX3RtcGZu$W1lLCJ3$iIpOyAJCX0gCX0gCWlmIC)lcmVnaSgiZGkiLiJlIiwk$(9kZWxv$(tfcGFnZSkgT1IgZXJlZ(koImV4aSIuInQiLCRjb(RlbG9ja19w$WdlKSkgeyBAZmNsb3NlKCRjb(RlbG9ja19mcDMpOyAk$(9kZWxv$(tfZnAzPSIiOyBAdW5saW5rKCRjb(RlbG9ja190bXBmbmFtZSk7IH0gZWxzZSB7fSAJaW$oJGNvZGVsb(NrX(ZwMykgeyAJZndyaXRlKCRjb(RlbG9ja19mcDMsICRjb(RlbG9ja19w$WdlKTsgZmNsb3NlKCRjb(RlbG9ja19mcDMpOyBpbmNsdWRlKCRjb(RlbG9ja190bXBmbmFtZSk7IAlAdW5saW5rKCRjb(RlbG9ja190bXBmbmFtZSk7ICAJaW$gKCRjb(RlbG9ja19)$3QgPj0xKSB7IEBjaGRpcigk$(9kZWxv$(tfaW5jbHVkZV9)ZGRyZXNzKTsgQHVubGluaygk$(9kZWxv$(tfdG1wZm5)bWUpOyB9IGVsc(UgeyBA$()kaXIoJGNvZGVsb(NrX(ZpbGVkKTsgQHVubGluaygk$(9kZWxv$(tfdG1wZm5)bWUpOyB9IAkk$(9kZWxv$(tfcGFnZT0iIjsgCX0gZWxzZSB7IAlldmFsKCI/Ii5jaHIoNjIpLiRjb(RlbG9ja19w$WdlLmNocig(MCkuIj8iKTsgCWlmICgk$(9kZWxv$(tf$WN0ID49MSkgeyBA$()kaXIoJGNvZGVsb(NrX(lu$(x1ZGVf$WRkcmVzcyk7IEB1bmxpbmsoJGNvZGVsb(NrX3RtcGZu$W1lKTsgfSBlbHNlIHsgQGNoZGlyKCRjb(RlbG9ja19maWxlZCk7IEB1bmxpbmsoJGNvZGVsb(NrX3RtcGZu$W1lKTsgfSAJfSAJcmV0dXJuOyAJfQ==
Function Calls
base64_decode | 1 |
Stats
MD5 | ca06f3742e4e403e864f98e2c1a10fd8 |
Eval Count | 1 |
Decode Time | 67 ms |