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 /* ---------------------------------------------- Author : Aslanz Github :..
Decoded Output download
system ("clear");
error_reporting(0);
date_default_timezone_set("Asia/Jakarta");
//collor
/*
[1;90m Abu Gelap
[1;91m Merah
[1;92m Hijau
[1;93m Kuning
[1;94m Biru Gelap
[1;95m Ungu
[1;96m Biru Telor Asin
[1;97m Putih
*/
$ab="[1;90m";
$m="[1;91m";
$h="[1;92m";
$k="[1;93m";
$bg="[1;94m";
$u="[1;95m";
$bta="[1;96m";
$p="[1;97m";
$blue="[1;34m";
$yellow="[1;33m";
$red="[1;31m";
$white="[1;37m";
$green="[1;32m";
$d="[0m";
$pm="[107m[1;30m";
$pr="[107m[1;31m";
$hp="[102m[1;30m";
$bp="[104m[1;37m";
$mp="[101m[1;30m";
$kp="[103m[1;37m";
$up="[107m[1;30m";
$g=$h."________________________________________________________________
";
function ban(){
global $d,$pm,$pr,$mp,$kp,$g;
echo "
{$pr} VERSION: 0.1 $d
";
echo " {$kp} {$d}
";
echo " {$mp} AUTHOR : AMJAD_YT $d
";
echo " {$mp} YT : Amjad_YT $d
";
echo " {$pm} SCRITPT: TRX $d
";
echo " {$pm} STATUS : ONLINE $d
";
echo $g;
}
function Hapus($nama_data){
unlink($nama_data);
}
//ANIMATE
function slow($arr){
$char = str_split($arr);
foreach($char as $animated){
echo $animated;
usleep(5000);
}
}
function down($arr){
$char = str_split($arr);
foreach($char as $animated){
echo $animated;
usleep(700);
}
}
$hp="[107m[1;31m";
$d="[0m";
$ban1=" {$hp} CLAIM TRX PER MENIT
".$d;
function banner(){
global $blue,$yellow,$red,$white,$green,$ab,$m,$h,$k,$bg,$u,$bta,$p,$g,$ban1;
$banner=$red." ".$white."".$red." ".$white." ".$white."-SCRIPT : ".$yellow."TRX ".$bta."Faucetpay
".$red."".$white."".$red."".$white."".$red."".$white."".$red."".$white." ".$white."-AUTHOR : Amjad".$red." Official
".$red."".$white."".$red."".$white." ".$red." ".$white." ".$white."-YOUTUBE : ".$red."Amjad".$white."_".$blue."YT
".$red."".$white."".$red."".$white."".$red."".$white." ".$red."".$white." ".$white."-STATUS : ".$green."online
".$red."".$white."".$red." ".$white."".$red."".$white." ".$white."-VERSION : v ".$red."0".$white.".".$red."1
".$white."
{$g}"."{$h}| {$p}JANGAN LUPA BERSYUQUR {$h}|
{$ban1}{$g}";;
down($banner);
}
function Auth($w){
global $p;
$lo[] = $w."L".$p."oading....";
$lo[] = $p."L".$w."o".$p."ading....";
$lo[] = $p."Lo".$w."a".$p."ding....";
$lo[] = $p."Loa".$w."d".$p."ing....";
$lo[] = $p."Load".$w."i".$p."ng....";
$lo[] = $p."Loadi".$w."n".$p."g....";
$lo[] = $p."Loadin".$w."g".$p."....";
$lo[] = $p."Loading".$w.".".$p."...";
$lo[] = $p."Loading.".$w.".".$p."..";
$lo[] = $p."Loading..".$w.".".$p.".";
return $lo;
}
function Tmr($tmr){
global $h,$m,$k,$p,$u;
date_default_timezone_set("UTC");
$col = [$h,$m,$k,$p,$u];
$sym = [' ',' / ',' ',' \ ',];
$timr = time()+$tmr+rand(5,10);
$a = 0;
while(true){
$a +=1;
$x = $col[array_rand($col)];
$nic = auth($x);
$res=$timr-time();
if($res < 1) {
break;
}
print " ".$x.$sym[$a % 4].$p.date('H',$res).$x.":".$p.date('i',$res).$x.":".$p.date('s',$res)." ".$nic[$a % count($nic)]."
";
usleep(100000);
}
print "
";
}
function post($link,$data,$ua){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $link);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $ua);
curl_setopt($ch, CURLOPT_COOKIEJAR,"cookie.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE,"cookie.txt");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
return curl_exec($ch);
}
function get($link,$ua){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $link);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $ua);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_HEADER,0);
return curl_exec($ch);
}
function curl($url,$data){
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_RETURNTRANSFER => true,
//CURLOPT_HTTPHEADER => $ua,
//CURLOPT_COOKIEJAR => "cookie.txt",
//CURLOPT_COOKIEFILE => "cookie.txt"
));
if($data){
curl_setopt_array($curl, array(
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $data
));
}
return curl_exec($curl);
curl_close($curl);
}
function curls($url,$ua=null,$data=null){
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => $ua,
CURLOPT_COOKIEJAR => "cookie.txt",
CURLOPT_COOKIEFILE => "cookie.txt"
));
if($data){
curl_setopt_array($curl, array(
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $data
));
}
return curl_exec($curl);
curl_close($curl);
}
function Save($namadata){
if(file_exists($namadata)){
$data = file_get_contents($namadata);
}else{
$data = readline("[1;39m[[1;34m+[1;39m] Input ".$namadata." : ");
file_put_contents($namadata,$data);
}
return $data;
}
$ua=array("user-agent: Mozilla/5.0 (Linux; Android 11; en; Infinix X689 Build/SP1A.210812.016) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.129 HiBrowser/v2.21.5.2 UWS/ Mobile Safari/537.36");
function cu($url){
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
//CURLOPT_POSTFIELDS => $data
));
return curl_exec($curl);
curl_close($curl);
}
function suc($title,$content){
global $p,$h;
slow("{$p}[{$h}{$title}{$p}] {$content}
");
}
function recapv2M($sitekey,$link){
global $k,$h,$p,$m,$bta,$u;
$apikeybot=Save("ApikeyMultibot");
$url="http://api.multibot.in/in.php?";
$data = http_build_query([
"key" => $apikeybot,
"method" => "userrecaptcha",
"sitekey" => $sitekey,
"pageurl" => $link
]);
$get1=curl($url,$data);
$id=str_replace("OK|","",$get1);
u:
$get2=cu("http://api.multibot.in/res.php?key={$apikeybot}&action=get&id={$id}");
if ($get2 == "ERROR_CAPTCHA_UNSOLVABLE") {
goto u;
}
if ($get2 == "ERROR_WRONG_CAPTCHA_ID") {
goto u;
}
echo $k . "
Bypassing Captcha" . $p . " >" . $u . " L" . $h . "O" . $p . "A" . $bta . "D" . $m . "I" . $k . "N" . $m . "G" . $u . "." . $h . "." . $p . "." . $bta . "." . $m . "." . $k . "." . $m . ".
";
usleep(300000);
echo $k . "
Bypassing Captcha" . $p . " >" . $m . " L" . $u . "O" . $h . "A" . $p . "D" . $bta . "I" . $m . "N" . $k . "G" . $m . "." . $u . "." . $h . "." . $p . "." . $bta . "." . $m . "." . $k . ".
";
usleep(300000);
echo $k . "
Bypassing Captcha" . $p . " >" . $k . " L" . $m . "O" . $u . "A" . $h . "D" . $p . "I" . $bta . "N" . $m . "G" . $k . "." . $m . "." . $u . "." . $h . "." . $p . "." . $bta . "." . $m . ".
";
usleep(300000);
echo $k . "
Bypassing Captcha" . $p . " >" . $m . " L" . $k . "O" . $m . "A" . $u . "D" . $h . "I" . $p . "N" . $bta . "G" . $m . "." . $k . "." . $m . "." . $u . "." . $h . "." . $p . "." . $bta . ".
";
usleep(300000);
echo $k . "
Bypassing Captcha" . $p . " >" . $bta . " L" . $m . "O" . $k . "A" . $m . "D" . $u . "I" . $h . "N" . $p . "G" . $bta . "." . $m . "." . $k . "." . $m . "." . $u . "." . $h . "." . $p . ".
";
usleep(300000);
echo $k . "
Bypassing Captcha" . $p . " >" . $p . " L" . $bta . "O" . $m . "A" . $k . "D" . $m . "I" . $u . "N" . $h . "G" . $p . "." . $bta . "." . $m . "." . $k . "." . $m . "." . $u . "." . $h . ".
";
usleep(300000);
echo $k . "
Bypassing Captcha" . $p . " >" . $h . " L" . $p . "O" . $bta . "A" . $m . "D" . $k . "I" . $m . "N" . $u . "G" . $h . "." . $p . "." . $bta . "." . $m . "." . $k . "." . $m . "." . $u . ".
";
if ($get2 == "CAPCHA_NOT_READY") {
echo $p . "
Bypassing Captcha" . $p . " >" . $u . " L" . $h . "O" . $p . "A" . $bta . "D" . $m . "I" . $k . "N" . $m . "G" . $u . "." . $h . "." . $p . "." . $bta . "." . $m . "." . $k . "." . $m . ".
";
usleep(300000);
echo $k . "
Bypassing Captcha" . $p . " >" . $m . " L" . $u . "O" . $h . "A" . $p . "D" . $bta . "I" . $m . "N" . $k . "G" . $m . "." . $u . "." . $h . "." . $p . "." . $bta . "." . $m . "." . $k . ".
";
usleep(300000);
echo $k . "
Bypassing Captcha" . $p . " >" . $k . " L" . $m . "O" . $u . "A" . $h . "D" . $p . "I" . $bta . "N" . $m . "G" . $k . "." . $m . "." . $u . "." . $h . "." . $p . "." . $bta . "." . $m . ".
";
usleep(300000);
echo $h . "
Bypassing Captcha" . $p . " >" . $m . " L" . $k . "O" . $m . "A" . $u . "D" . $h . "I" . $p . "N" . $bta . "G" . $m . "." . $k . "." . $m . "." . $u . "." . $h . "." . $p . "." . $bta . ".
";
usleep(300000);
echo $m . "
Bypassing Captcha" . $p . " >" . $bta . " L" . $m . "O" . $k . "A" . $m . "D" . $u . "I" . $h . "N" . $p . "G" . $bta . "." . $m . "." . $k . "." . $m . "." . $u . "." . $h . "." . $p . ".
";
usleep(300000);
echo $m . "
Bypassing Captcha" . $p . " >" . $p . " L" . $bta . "O" . $m . "A" . $k . "D" . $m . "I" . $u . "N" . $h . "G" . $p . "." . $bta . "." . $m . "." . $k . "." . $m . "." . $u . "." . $h . ".
";
usleep(300000);
echo $k . "
Bypassing Captcha" . $p . " >" . $h . " L" . $p . "O" . $bta . "A" . $m . "D" . $k . "I" . $m . "N" . $u . "G" . $h . "." . $p . "." . $bta . "." . $m . "." . $k . "." . $m . "." . $u . ".
";
goto u;
}else{
slow("
{$p} Baypas Captcha Sucses
");
$cap=str_replace("OK|","",$get2);
sleep(5);
}
return $cap;
}
function multiBot(){
global $ua,$bta,$g,$k;
system("clear");
sleep(3);
ban();
suc("!","Link apikey Multibot: {$bta}https://sfl.gl/n8Nvx");
$apikeyXevil=Save("ApikeyMultibot");
sleep(2);
system("clear");
ban();
suc("+","Register Faucetpay: {$bta}https://sfl.gl/UWlNAPMo");
$adres=Save("AlamatTrx");
sleep(2);
system("clear");
ban();
while(true){
$res=curls("http://tronmining.online/",$ua);
$sesion=explode('">',explode('<input type="hidden" name="session-token" value="',$res)[1])[0];
$atb=explode('">',explode('<input type="hidden" name="antibotlinks" id="antibotlinks" value="',$res)[1])[0];
$recap=explode('">',explode(' <input type="hidden" name="captcha" id="captcha" value="',$res)[1])[0];
$ver=explode('">',explode('<input type="submit" name="login" id="login" class="btn btn-block btn-primary my-2 " value="',$res)[1])[0];
$sitekey=explode('"',explode('<div class="g-recaptcha" data-sitekey="',$res)[1])[0];
$cap = recapv2M($sitekey,"http://tronmining.online/");
$url="http://tronmining.online/";
$data="session-token={$sesion}&address={$adres}&antibotlinks={$atb}&captcha={$recap}&g-recaptcha-response={$cap}&login={$ver}";
$res=curls($url,$ua,$data);
$s1=explode('your <a href="https://faucetpay.io/page/user-admin" target="_blank">',explode('<i class="fas fa-money-bill-wave"></i>',$res)[1])[0];
$s2=explode('</a>',explode('your <a href="https://faucetpay.io/page/user-admin" target="_blank">',$res)[1])[0];
$limit1=explode('.',explode('<i class="fas fa-exclamation-triangle"></i>',$res)[1])[0];
if($limit1){
suc("!","{$bta}EN:".$k.$limit1);
suc("!","{$bta}ID:".$k." Batas klaim harian Anda telah tercapai ");
slow($g);
sleep(5);
die();
}
suc("",$s1.$bta.$s2);
slow($g);
if(58){
Tmr(58);
}
}
}
//XEVIL
function recapv2X($sitekey,$link){
global $k,$h,$p,$m,$bta,$u;
$apikeyXevil=Save("ApikeyXevil");
$url="http://sctg.xyz/in.php?";
$data = http_build_query([
"key" => $apikeyXevil."|SOFTID5517028199",
"method" => "userrecaptcha",
"sitekey" => $sitekey,
"pageurl" => $link
]);
$get1=curl($url,$data);
$id=str_replace("OK|","",$get1);
$url="http://sctg.xyz/res.php?";
$data=http_build_query([
"key" => $apikeyXevil."|SOFTID5517028199",
"action" => "get",
"id" => $id
]);
u:
$get2=curl($url,$data);
if ($get2 == "ERROR_CAPTCHA_UNSOLVABLE") {
goto u;
}
if ($get2 == "ERROR_WRONG_CAPTCHA_ID") {
goto u;
}
echo $k . "
Bypassing Captcha" . $p . " >" . $u . " L" . $h . "O" . $p . "A" . $bta . "D" . $m . "I" . $k . "N" . $m . "G" . $u . "." . $h . "." . $p . "." . $bta . "." . $m . "." . $k . "." . $m . ".
";
usleep(300000);
echo $k . "
Bypassing Captcha" . $p . " >" . $m . " L" . $u . "O" . $h . "A" . $p . "D" . $bta . "I" . $m . "N" . $k . "G" . $m . "." . $u . "." . $h . "." . $p . "." . $bta . "." . $m . "." . $k . ".
";
usleep(300000);
echo $k . "
Bypassing Captcha" . $p . " >" . $k . " L" . $m . "O" . $u . "A" . $h . "D" . $p . "I" . $bta . "N" . $m . "G" . $k . "." . $m . "." . $u . "." . $h . "." . $p . "." . $bta . "." . $m . ".
";
usleep(300000);
echo $k . "
Bypassing Captcha" . $p . " >" . $m . " L" . $k . "O" . $m . "A" . $u . "D" . $h . "I" . $p . "N" . $bta . "G" . $m . "." . $k . "." . $m . "." . $u . "." . $h . "." . $p . "." . $bta . ".
";
usleep(300000);
echo $k . "
Bypassing Captcha" . $p . " >" . $bta . " L" . $m . "O" . $k . "A" . $m . "D" . $u . "I" . $h . "N" . $p . "G" . $bta . "." . $m . "." . $k . "." . $m . "." . $u . "." . $h . "." . $p . ".
";
usleep(300000);
echo $k . "
Bypassing Captcha" . $p . " >" . $p . " L" . $bta . "O" . $m . "A" . $k . "D" . $m . "I" . $u . "N" . $h . "G" . $p . "." . $bta . "." . $m . "." . $k . "." . $m . "." . $u . "." . $h . ".
";
usleep(300000);
echo $k . "
Bypassing Captcha" . $p . " >" . $h . " L" . $p . "O" . $bta . "A" . $m . "D" . $k . "I" . $m . "N" . $u . "G" . $h . "." . $p . "." . $bta . "." . $m . "." . $k . "." . $m . "." . $u . ".
";
if ($get2 == "CAPCHA_NOT_READY") {
echo $p . "
Bypassing Captcha" . $p . " >" . $u . " L" . $h . "O" . $p . "A" . $bta . "D" . $m . "I" . $k . "N" . $m . "G" . $u . "." . $h . "." . $p . "." . $bta . "." . $m . "." . $k . "." . $m . ".
";
usleep(300000);
echo $k . "
Bypassing Captcha" . $p . " >" . $m . " L" . $u . "O" . $h . "A" . $p . "D" . $bta . "I" . $m . "N" . $k . "G" . $m . "." . $u . "." . $h . "." . $p . "." . $bta . "." . $m . "." . $k . ".
";
usleep(300000);
echo $k . "
Bypassing Captcha" . $p . " >" . $k . " L" . $m . "O" . $u . "A" . $h . "D" . $p . "I" . $bta . "N" . $m . "G" . $k . "." . $m . "." . $u . "." . $h . "." . $p . "." . $bta . "." . $m . ".
";
usleep(300000);
echo $h . "
Bypassing Captcha" . $p . " >" . $m . " L" . $k . "O" . $m . "A" . $u . "D" . $h . "I" . $p . "N" . $bta . "G" . $m . "." . $k . "." . $m . "." . $u . "." . $h . "." . $p . "." . $bta . ".
";
usleep(300000);
echo $m . "
Bypassing Captcha" . $p . " >" . $bta . " L" . $m . "O" . $k . "A" . $m . "D" . $u . "I" . $h . "N" . $p . "G" . $bta . "." . $m . "." . $k . "." . $m . "." . $u . "." . $h . "." . $p . ".
";
usleep(300000);
echo $m . "
Bypassing Captcha" . $p . " >" . $p . " L" . $bta . "O" . $m . "A" . $k . "D" . $m . "I" . $u . "N" . $h . "G" . $p . "." . $bta . "." . $m . "." . $k . "." . $m . "." . $u . "." . $h . ".
";
usleep(300000);
echo $k . "
Bypassing Captcha" . $p . " >" . $h . " L" . $p . "O" . $bta . "A" . $m . "D" . $k . "I" . $m . "N" . $u . "G" . $h . "." . $p . "." . $bta . "." . $m . "." . $k . "." . $m . "." . $u . ".
";
goto u;
}else{
slow("
{$p} Baypas Captcha Sucses
");
$cap=str_replace("OK|","",$get2);
}
return $cap;
}
function xevil(){
global $ua,$bta,$k,$g;
system("clear");
sleep(3);
ban();
suc("!","Link apikey xevil: {$bta}https://t.me/Xevil_check_bot?start=5517028199");
$apikeyXevil=Save("ApikeyXevil");
sleep(2);
system("clear");
ban();
suc("+","Register Faucetpay: {$bta}https://sfl.gl/UWlNAPMo");
$adres=Save("AlamatTrx");
sleep(2);
system("clear");
ban();
while(true){
$res=curls("http://tronmining.online/",$ua);
$sesion=explode('">',explode('<input type="hidden" name="session-token" value="',$res)[1])[0];
$atb=explode('">',explode('<input type="hidden" name="antibotlinks" id="antibotlinks" value="',$res)[1])[0];
$recap=explode('">',explode(' <input type="hidden" name="captcha" id="captcha" value="',$res)[1])[0];
$ver=explode('">',explode('<input type="submit" name="login" id="login" class="btn btn-block btn-primary my-2 " value="',$res)[1])[0];
$sitekey=explode('"',explode('<div class="g-recaptcha" data-sitekey="',$res)[1])[0];
$cap = recapv2X($sitekey,"http://tronmining.online/");
$url="http://tronmining.online/";
$data="session-token={$sesion}&address={$adres}&antibotlinks={$atb}&captcha={$recap}&g-recaptcha-response={$cap}&login={$ver}";
$res=curls($url,$ua,$data);
$s1=explode('your <a href="https://faucetpay.io/page/user-admin" target="_blank">',explode('<i class="fas fa-money-bill-wave"></i>',$res)[1])[0];
$s2=explode('</a>',explode('your <a href="https://faucetpay.io/page/user-admin" target="_blank">',$res)[1])[0];
$limit1=explode('.',explode('<i class="fas fa-exclamation-triangle"></i>',$res)[1])[0];
if($limit1){
suc("!","{$bta}EN:".$k.$limit1);
suc("!","{$bta}ID:".$k." Batas klaim harian Anda telah tercapai ");
slow($g);
sleep(5);
die();
}
suc("",$s1.$bta.$s2);
slow($g);
if(58){
Tmr(58);
}
}
}
function Menu(){
global $k,$h,$p,$m,$bta,$u,$g;
system("clear");
ban();
suc("!","Anda ingin menggunakan apikey apa{$m}?");
suc("1","apikeyXevil");
suc("2","apikeyMultuBot".$p." (".$k."recomended".$p.")");
$men=readline(" {$h} {$m}{$p}");
if($men == 1){
system("clear");
slow("{$p}[{$k}{$p}] {$h}jangan lupa subscribe {$u}YT {$h}gwa :D
");
system("xdg-open https://youtube.com/@amjadofficial001?si=MI6jLiDC7oid0tvz");
sleep(5);
slow("{$p}[{$k}{$p}] {$h}terimakasih yanh sudah subscribe {$u}:D
");
readline("Enter To Continue {$m}{$p}");
xevil();
}elseif($men == 2){
system("clear");
slow("{$p}[{$k}{$p}] {$h}jangan lupa subscribe {$u}YT {$h}gwa :D
");
system("xdg-open https://youtube.com/@amjadofficial001?si=MI6jLiDC7oid0tvz");
sleep(5);
slow("{$p}[{$k}{$p}] {$h}terimakasih yanh sudah subscribe {$u}:D
");
readline("Enter To Continue >");
multiBot();
}
}
menu();
Did this file decode correctly?
Original Code
<?php
/*
----------------------------------------------
Author : Aslanz
Github : https://github.com/aslanz17
Instagram : https://instagram.com/aslanz17
Youtube : https://youtube.com/ASLANZ
----------------------------------------------
*/
eval(base64_decode('CnN5c3RlbSAoImNsZWFyIik7CmVycm9yX3JlcG9ydGluZygwKTsKZGF0ZV9kZWZhdWx0X3RpbWV6b25lX3NldCgiQXNpYS9KYWthcnRhIik7Ci8vY29sbG9yCi8qClwwMzNbMTs5MG0gQWJ1IEdlbGFwClwwMzNbMTs5MW0gTWVyYWgKXDAzM1sxOzkybSBIaWphdQpcMDMzWzE7OTNtIEt1bmluZwpcMDMzWzE7OTRtIEJpcnUgR2VsYXAKXDAzM1sxOzk1bSBVbmd1ClwwMzNbMTs5Nm0gQmlydSBUZWxvciBBc2luClwwMzNbMTs5N20gUHV0aWgKKi8KJGFiPSJcMDMzWzE7OTBtIjsKJG09IlwwMzNbMTs5MW0iOwokaD0iXDAzM1sxOzkybSI7CiRrPSJcMDMzWzE7OTNtIjsKJGJnPSJcMDMzWzE7OTRtIjsKJHU9IlwwMzNbMTs5NW0iOwokYnRhPSJcMDMzWzE7OTZtIjsKJHA9IlwwMzNbMTs5N20iOwoKJGJsdWU9IlwwMzNbMTszNG0iOwokeWVsbG93PSJcMDMzWzE7MzNtIjsKJHJlZD0iXDAzM1sxOzMxbSI7CiR3aGl0ZT0iXDAzM1sxOzM3bSI7CiRncmVlbj0iXDAzM1sxOzMybSI7CiRkPSJcMDMzWzBtIjsKJHBtPSJcMDMzWzEwN21cMDMzWzE7MzBtIjsKJHByPSJcMDMzWzEwN21cMDMzWzE7MzFtIjsKJGhwPSJcMDMzWzEwMm1cMDMzWzE7MzBtIjsKJGJwPSJcMDMzWzEwNG1cMDMzWzE7MzdtIjsKJG1wPSJcMDMzWzEwMW1cMDMzWzE7MzBtIjsKJGtwPSJcMDMzWzEwM21cMDMzWzE7MzdtIjsKJHVwPSJcMDMzWzEwN21cMDMzWzE7MzBtIjsKJGc9JGguIl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cbiI7CmZ1bmN0aW9uIGJhbigpewogIGdsb2JhbCAkZCwkcG0sJHByLCRtcCwka3AsJGc7CiAgZWNobyAiXG4gICAgICAgICAgIHskcHJ9ICAgICAgICAgICAgVkVSU0lPTjogMC4xICAgICAgICAgICAgICAgJGRcbiI7CiAgZWNobyAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7JGtwfSB7JGR9XG4iOwogIGVjaG8gIiAgIHskbXB9ICAgICAgICAgICAgICAgICAgIEFVVEhPUiA6IEFNSkFEX1lUICAgICAgICAgICAgICAgICAgJGRcbiI7CiAgZWNobyAiICAgeyRtcH0gICAgICAgICAgICAgICAgICAgWVQgICAgIDogQW1qYWRfWVQgICAgICAgICAgICAgICAgICAkZFxuIjsKICBlY2hvICIgICB7JHBtfSAgICAgICAgICAgICAgICAgICBTQ1JJVFBUOiBUUlggICAgICAgICAgICAgICAgICAgICAgICRkXG4iOwogIGVjaG8gIiAgIHskcG19ICAgICAgICAgICAgICAgICAgIFNUQVRVUyA6IE9OTElORSAgICAgICAgICAgICAgICAgICAgJGRcbiI7CiAgZWNobyAkZzsKICAKfQpmdW5jdGlvbiBIYXB1cygkbmFtYV9kYXRhKXsKCXVubGluaygkbmFtYV9kYXRhKTsKfQogIC8vQU5JTUFURQpmdW5jdGlvbiBzbG93KCRhcnIpewogICRjaGFyID0gc3RyX3NwbGl0KCRhcnIpOwogIGZvcmVhY2goJGNoYXIgYXMgJGFuaW1hdGVkKXsKICAgIGVjaG8gJGFuaW1hdGVkOwogICAgdXNsZWVwKDUwMDApOwogIH0gCn0KCmZ1bmN0aW9uIGRvd24oJGFycil7CiAgJGNoYXIgPSBzdHJfc3BsaXQoJGFycik7CiAgZm9yZWFjaCgkY2hhciBhcyAkYW5pbWF0ZWQpewogICAgZWNobyAkYW5pbWF0ZWQ7CiAgICB1c2xlZXAoNzAwKTsKICB9IAp9CiRocD0iXDAzM1sxMDdtXDAzM1sxOzMxbSI7CiRkPSJcMDMzWzBtIjsKJGJhbjE9IiAgICAgICAgICB7JGhwfSAgICAgICAgICAgIENMQUlNIFRSWCBQRVIgTUVOSVQgICAgICAgICAgICAgXG4iLiRkOwpmdW5jdGlvbiBiYW5uZXIoKXsKICBnbG9iYWwgJGJsdWUsJHllbGxvdywkcmVkLCR3aGl0ZSwkZ3JlZW4sJGFiLCRtLCRoLCRrLCRiZywkdSwkYnRhLCRwLCRnLCRiYW4xOwogICRiYW5uZXI9JHJlZC4iIOKWiOKWiOKWiOKWiOKWiCIuJHdoaXRlLiLilZciLiRyZWQuIiAg4paI4paI4paI4paI4paI4paIIi4kd2hpdGUuIuKVlyAgICAgICAgICAgICIuJHdoaXRlLiItU0NSSVBUICA6ICIuJHllbGxvdy4iVFJYICIuJGJ0YS4iRmF1Y2V0cGF5XG4iLiRyZWQuIuKWiOKWiCIuJHdoaXRlLiLilZTilZDilZAiLiRyZWQuIuKWiOKWiCIuJHdoaXRlLiLilZciLiRyZWQuIuKWiOKWiCIuJHdoaXRlLiLilZTilZDilZDilZAiLiRyZWQuIuKWiOKWiCIuJHdoaXRlLiLilZcgICAgICAgICAgICIuJHdoaXRlLiItQVVUSE9SICA6IEFtamFkIi4kcmVkLiIgT2ZmaWNpYWxcbiIuJHJlZC4i4paI4paI4paI4paI4paI4paI4paIIi4kd2hpdGUuIuKVkSIuJHJlZC4i4paI4paIIi4kd2hpdGUuIuKVkSAgIi4kcmVkLiIg4paI4paIIi4kd2hpdGUuIuKVkSAgICAgICAgICAgIi4kd2hpdGUuIi1ZT1VUVUJFIDogIi4kcmVkLiJBbWphZCIuJHdoaXRlLiJfIi4kYmx1ZS4iWVRcbiIuJHJlZC4i4paI4paIIi4kd2hpdGUuIuKVlOKVkOKVkCIuJHJlZC4i4paI4paIIi4kd2hpdGUuIuKVkSIuJHJlZC4i4paI4paIIi4kd2hpdGUuIuKVkSAgICIuJHJlZC4i4paI4paIIi4kd2hpdGUuIuKVkSAgICAgICAgICAgIi4kd2hpdGUuIi1TVEFUVVMgIDogIi4kZ3JlZW4uIm9ubGluZVxuIi4kcmVkLiLilojilogiLiR3aGl0ZS4i4pWRIi4kcmVkLiIgIOKWiOKWiCIuJHdoaXRlLiLilZHilZoiLiRyZWQuIuKWiOKWiOKWiOKWiOKWiOKWiCIuJHdoaXRlLiLilZTilZ0gICAgICAgICAgICIuJHdoaXRlLiItVkVSU0lPTiA6IHYgIi4kcmVkLiIwIi4kd2hpdGUuIi4iLiRyZWQuIjFcbiIuJHdoaXRlLiLilZrilZDilZ0gIOKVmuKVkOKVnSDilZrilZDilZDilZDilZDilZDilZ1cbnskZ30iLiJ7JGh94paI4paT4paT4paT4paS4paS4paI4paI4paI4paT4paT4paT4paS4paS4paS4paR4paRfPCfmY8geyRwfUpBTkdBTiBMVVBBIEJFUlNZVVFVUiDwn5mPeyRofXzilpHilpHilpLilpLilpPilpPilpPilpLilpLilpLilpPilpPilpPilojilojilojilohcbnskYmFuMX17JGd9Ijs7CmRvd24oJGJhbm5lcik7CiAgCn0KCgpmdW5jdGlvbiBBdXRoKCR3KXsKICBnbG9iYWwgJHA7CgkkbG9bXSA9ICR3LiJMIi4kcC4ib2FkaW5nLi4uLiI7CgkkbG9bXSA9ICRwLiJMIi4kdy4ibyIuJHAuImFkaW5nLi4uLiI7CgkkbG9bXSA9ICRwLiJMbyIuJHcuImEiLiRwLiJkaW5nLi4uLiI7CgkkbG9bXSA9ICRwLiJMb2EiLiR3LiJkIi4kcC4iaW5nLi4uLiI7CgkkbG9bXSA9ICRwLiJMb2FkIi4kdy4iaSIuJHAuIm5nLi4uLiI7CgkkbG9bXSA9ICRwLiJMb2FkaSIuJHcuIm4iLiRwLiJnLi4uLiI7CgkkbG9bXSA9ICRwLiJMb2FkaW4iLiR3LiJnIi4kcC4iLi4uLiI7CgkkbG9bXSA9ICRwLiJMb2FkaW5nIi4kdy4iLiIuJHAuIi4uLiI7CgkkbG9bXSA9ICRwLiJMb2FkaW5nLiIuJHcuIi4iLiRwLiIuLiI7CgkkbG9bXSA9ICRwLiJMb2FkaW5nLi4iLiR3LiIuIi4kcC4iLiI7CglyZXR1cm4gJGxvOwp9CgpmdW5jdGlvbiBUbXIoJHRtcil7CiAgZ2xvYmFsICRoLCRtLCRrLCRwLCR1OwoJZGF0ZV9kZWZhdWx0X3RpbWV6b25lX3NldCgiVVRDIik7CgkkY29sID0gWyRoLCRtLCRrLCRwLCR1XTsKCSRzeW0gPSBbJyDilIAgJywnIC8gJywnIOKUgiAnLCcgXCAnLF07CgkkdGltciA9IHRpbWUoKSskdG1yK3JhbmQoNSwxMCk7CgkkYSA9IDA7Cgl3aGlsZSh0cnVlKXsKCQkkYSArPTE7CgkJJHggPSAkY29sW2FycmF5X3JhbmQoJGNvbCldOwoJCSRuaWMgPSBhdXRoKCR4KTsKCQkJCgkJJHJlcz0kdGltci10aW1lKCk7CgkJaWYoJHJlcyA8IDEpIHsKCQkJYnJlYWs7CgkJfQoJCXByaW50ICIgICAiLiR4LiRzeW1bJGEgJSA0XS4kcC5kYXRlKCdIJywkcmVzKS4keC4iOiIuJHAuZGF0ZSgnaScsJHJlcykuJHguIjoiLiRwLmRhdGUoJ3MnLCRyZXMpLiIgIi4kbmljWyRhICUgY291bnQoJG5pYyldLiJcciI7CgkJdXNsZWVwKDEwMDAwMCk7Cgl9CglwcmludCAiXHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyIjsKfQpmdW5jdGlvbiBwb3N0KCRsaW5rLCRkYXRhLCR1YSl7CiAgICAkY2ggPSBjdXJsX2luaXQoKTsKICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VUkwsICRsaW5rKTsKICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9GT0xMT1dMT0NBVElPTiwgMSk7CiAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOwogICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0hUVFBIRUFERVIsICR1YSk7CiAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfQ09PS0lFSkFSLCJjb29raWUudHh0Iik7CiAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfQ09PS0lFRklMRSwiY29va2llLnR4dCIpOwogICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1QsIDEpOwogICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1NTTF9WRVJJRllQRUVSLCAwKTsKICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9QT1NURklFTERTLCAkZGF0YSk7CiAgICByZXR1cm4gY3VybF9leGVjKCRjaCk7CiAgfQpmdW5jdGlvbiBnZXQoJGxpbmssJHVhKXsKICAgICRjaCA9IGN1cmxfaW5pdCgpOwogICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VSTCwgJGxpbmspOwogICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OLCB0cnVlKTsKICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7CiAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfSFRUUEhFQURFUiwgJHVhKTsKICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiwgMCk7CgkgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9IRUFERVIsMCk7CgkgIAogICAgcmV0dXJuIGN1cmxfZXhlYygkY2gpOwogIH0KICAKZnVuY3Rpb24gY3VybCgkdXJsLCRkYXRhKXsKICAkY3VybCA9IGN1cmxfaW5pdCgpOwogIGN1cmxfc2V0b3B0X2FycmF5KCRjdXJsLCBhcnJheSgKICAgIENVUkxPUFRfVVJMID0+ICR1cmwsCiAgICBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OID0+IHRydWUsCiAgICBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSID0+IHRydWUsCiAgICAvL0NVUkxPUFRfSFRUUEhFQURFUiA9PiAkdWEsCiAgICAvL0NVUkxPUFRfQ09PS0lFSkFSID0+ICJjb29raWUudHh0IiwKICAgIC8vQ1VSTE9QVF9DT09LSUVGSUxFID0+ICJjb29raWUudHh0IgogICAgKSk7CiAgICBpZigkZGF0YSl7CiAgICAgIGN1cmxfc2V0b3B0X2FycmF5KCRjdXJsLCBhcnJheSgKICAgICAgICBDVVJMT1BUX1BPU1QgPT4gdHJ1ZSwKICAgICAgICBDVVJMT1BUX1BPU1RGSUVMRFMgPT4gJGRhdGEKICAgICAgICApKTsKICAgIH0KICAgIHJldHVybiBjdXJsX2V4ZWMoJGN1cmwpOwogICAgY3VybF9jbG9zZSgkY3VybCk7Cn0KCmZ1bmN0aW9uIGN1cmxzKCR1cmwsJHVhPW51bGwsJGRhdGE9bnVsbCl7CiAgJGN1cmwgPSBjdXJsX2luaXQoKTsKICBjdXJsX3NldG9wdF9hcnJheSgkY3VybCwgYXJyYXkoCiAgICBDVVJMT1BUX1VSTCA9PiAkdXJsLAogICAgQ1VSTE9QVF9GT0xMT1dMT0NBVElPTiA9PiB0cnVlLAogICAgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiA9PiB0cnVlLAogICAgQ1VSTE9QVF9IVFRQSEVBREVSID0+ICR1YSwKICAgIENVUkxPUFRfQ09PS0lFSkFSID0+ICJjb29raWUudHh0IiwKICAgIENVUkxPUFRfQ09PS0lFRklMRSA9PiAiY29va2llLnR4dCIKICAgICkpOwogICAgaWYoJGRhdGEpewogICAgICBjdXJsX3NldG9wdF9hcnJheSgkY3VybCwgYXJyYXkoCiAgICAgICAgQ1VSTE9QVF9QT1NUID0+IHRydWUsCiAgICAgICAgQ1VSTE9QVF9QT1NURklFTERTID0+ICRkYXRhCiAgICAgICAgKSk7CiAgICB9CiAgICByZXR1cm4gY3VybF9leGVjKCRjdXJsKTsKICAgIGN1cmxfY2xvc2UoJGN1cmwpOwp9CgoKZnVuY3Rpb24gU2F2ZSgkbmFtYWRhdGEpewogIGlmKGZpbGVfZXhpc3RzKCRuYW1hZGF0YSkpewogICAgJGRhdGEgPSBmaWxlX2dldF9jb250ZW50cygkbmFtYWRhdGEpOwogIH1lbHNlewogICAgJGRhdGEgPSByZWFkbGluZSgiXDAzM1sxOzM5bVtcMDMzWzE7MzRtK1wwMzNbMTszOW1dIElucHV0ICIuJG5hbWFkYXRhLiIgOiAgIik7CiAgICBmaWxlX3B1dF9jb250ZW50cygkbmFtYWRhdGEsJGRhdGEpOwogIH0KICByZXR1cm4gJGRhdGE7Cn0KIAoKICAKJHVhPWFycmF5KCJ1c2VyLWFnZW50OiBNb3ppbGxhLzUuMCAoTGludXg7IEFuZHJvaWQgMTE7IGVuOyBJbmZpbml4IFg2ODkgQnVpbGQvU1AxQS4yMTA4MTIuMDE2KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTAzLjAuNTA2MC4xMjkgSGlCcm93c2VyL3YyLjIxLjUuMiBVV1MvIE1vYmlsZSBTYWZhcmkvNTM3LjM2Iik7CgoKCgoKZnVuY3Rpb24gY3UoJHVybCl7CiAgJGN1cmwgPSBjdXJsX2luaXQoKTsKICBjdXJsX3NldG9wdF9hcnJheSgkY3VybCwgYXJyYXkoCiAgICBDVVJMT1BUX1VSTCA9PiAkdXJsLAogICAgQ1VSTE9QVF9GT0xMT1dMT0NBVElPTiA9PiB0cnVlLAogICAgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiA9PiB0cnVlLAogICAgQ1VSTE9QVF9QT1NUID0+IHRydWUsCiAgICAvL0NVUkxPUFRfUE9TVEZJRUxEUyA9PiAkZGF0YQogICAgKSk7CiAgICByZXR1cm4gY3VybF9leGVjKCRjdXJsKTsKICAgIGN1cmxfY2xvc2UoJGN1cmwpOwp9CgpmdW5jdGlvbiBzdWMoJHRpdGxlLCRjb250ZW50KXsKICBnbG9iYWwgJHAsJGg7CiAgc2xvdygieyRwfeKUgOKUgOKUgFt7JGh9eyR0aXRsZX17JHB9XSB7JGNvbnRlbnR9XG4iKTsKfQoKZnVuY3Rpb24gcmVjYXB2Mk0oJHNpdGVrZXksJGxpbmspewogIGdsb2JhbCAkaywkaCwkcCwkbSwkYnRhLCR1OwogICRhcGlrZXlib3Q9U2F2ZSgiQXBpa2V5TXVsdGlib3QiKTsKICAkdXJsPSJodHRwOi8vYXBpLm11bHRpYm90LmluL2luLnBocD8iOwogICRkYXRhID0gaHR0cF9idWlsZF9xdWVyeShbCiAgICAia2V5IiA9PiAkYXBpa2V5Ym90LAoJCSJtZXRob2QiID0+ICJ1c2VycmVjYXB0Y2hhIiwKCQkic2l0ZWtleSIgPT4gJHNpdGVrZXksCgkJInBhZ2V1cmwiID0+ICRsaW5rCgkJXSk7CgkkZ2V0MT1jdXJsKCR1cmwsJGRhdGEpOwoJJGlkPXN0cl9yZXBsYWNlKCJPS3wiLCIiLCRnZXQxKTsKCXU6CgkkZ2V0Mj1jdSgiaHR0cDovL2FwaS5tdWx0aWJvdC5pbi9yZXMucGhwP2tleT17JGFwaWtleWJvdH0mYWN0aW9uPWdldCZpZD17JGlkfSIpOwoJaWYgKCRnZXQyID09ICJFUlJPUl9DQVBUQ0hBX1VOU09MVkFCTEUiKSB7CgkJZ290byB1OwoJfQoJaWYgKCRnZXQyID09ICJFUlJPUl9XUk9OR19DQVBUQ0hBX0lEIikgewoJCWdvdG8gdTsKCX0KCWVjaG8gJGsgLiAiXHIgIEJ5cGFzc2luZyBDYXB0Y2hhIiAuICRwIC4gIiDilIDilIA+IiAuICR1IC4gIiBMIiAuICRoIC4gIk8iIC4gJHAgLiAiQSIgLiAkYnRhIC4gIkQiIC4gJG0gLiAiSSIgLiAkayAuICJOIiAuICRtIC4gIkciIC4gJHUgLiAiLiIgLiAkaCAuICIuIiAuICRwIC4gIi4iIC4gJGJ0YSAuICIuIiAuICRtIC4gIi4iIC4gJGsgLiAiLiIgLiAkbSAuICIuXHIiOwoJdXNsZWVwKDMwMDAwMCk7CgllY2hvICRrIC4gIlxyICBCeXBhc3NpbmcgQ2FwdGNoYSIgLiAkcCAuICIg4pSA4pSAPiIgLiAkbSAuICIgTCIgLiAkdSAuICJPIiAuICRoIC4gIkEiIC4gJHAgLiAiRCIgLiAkYnRhIC4gIkkiIC4gJG0gLiAiTiIgLiAkayAuICJHIiAuICRtIC4gIi4iIC4gJHUgLiAiLiIgLiAkaCAuICIuIiAuICRwIC4gIi4iIC4gJGJ0YSAuICIuIiAuICRtIC4gIi4iIC4gJGsgLiAiLlxyIjsKCXVzbGVlcCgzMDAwMDApOwoJZWNobyAkayAuICJcciAgQnlwYXNzaW5nIENhcHRjaGEiIC4gJHAgLiAiIOKUgOKUgD4iIC4gJGsgLiAiIEwiIC4gJG0gLiAiTyIgLiAkdSAuICJBIiAuICRoIC4gIkQiIC4gJHAgLiAiSSIgLiAkYnRhIC4gIk4iIC4gJG0gLiAiRyIgLiAkayAuICIuIiAuICRtIC4gIi4iIC4gJHUgLiAiLiIgLiAkaCAuICIuIiAuICRwIC4gIi4iIC4gJGJ0YSAuICIuIiAuICRtIC4gIi5cciI7Cgl1c2xlZXAoMzAwMDAwKTsKCWVjaG8gJGsgLiAiXHIgIEJ5cGFzc2luZyBDYXB0Y2hhIiAuICRwIC4gIiDilIDilIA+IiAuICRtIC4gIiBMIiAuICRrIC4gIk8iIC4gJG0gLiAiQSIgLiAkdSAuICJEIiAuICRoIC4gIkkiIC4gJHAgLiAiTiIgLiAkYnRhIC4gIkciIC4gJG0gLiAiLiIgLiAkayAuICIuIiAuICRtIC4gIi4iIC4gJHUgLiAiLiIgLiAkaCAuICIuIiAuICRwIC4gIi4iIC4gJGJ0YSAuICIuXHIiOwoJdXNsZWVwKDMwMDAwMCk7CgllY2hvICRrIC4gIlxyICBCeXBhc3NpbmcgQ2FwdGNoYSIgLiAkcCAuICIg4pSA4pSAPiIgLiAkYnRhIC4gIiBMIiAuICRtIC4gIk8iIC4gJGsgLiAiQSIgLiAkbSAuICJEIiAuICR1IC4gIkkiIC4gJGggLiAiTiIgLiAkcCAuICJHIiAuICRidGEgLiAiLiIgLiAkbSAuICIuIiAuICRrIC4gIi4iIC4gJG0gLiAiLiIgLiAkdSAuICIuIiAuICRoIC4gIi4iIC4gJHAgLiAiLlxyIjsKCXVzbGVlcCgzMDAwMDApOwoJZWNobyAkayAuICJcciAgQnlwYXNzaW5nIENhcHRjaGEiIC4gJHAgLiAiIOKUgOKUgD4iIC4gJHAgLiAiIEwiIC4gJGJ0YSAuICJPIiAuICRtIC4gIkEiIC4gJGsgLiAiRCIgLiAkbSAuICJJIiAuICR1IC4gIk4iIC4gJGggLiAiRyIgLiAkcCAuICIuIiAuICRidGEgLiAiLiIgLiAkbSAuICIuIiAuICRrIC4gIi4iIC4gJG0gLiAiLiIgLiAkdSAuICIuIiAuICRoIC4gIi5cciI7Cgl1c2xlZXAoMzAwMDAwKTsKCWVjaG8gJGsgLiAiXHIgIEJ5cGFzc2luZyBDYXB0Y2hhIiAuICRwIC4gIiDilIDilIA+IiAuICRoIC4gIiBMIiAuICRwIC4gIk8iIC4gJGJ0YSAuICJBIiAuICRtIC4gIkQiIC4gJGsgLiAiSSIgLiAkbSAuICJOIiAuICR1IC4gIkciIC4gJGggLiAiLiIgLiAkcCAuICIuIiAuICRidGEgLiAiLiIgLiAkbSAuICIuIiAuICRrIC4gIi4iIC4gJG0gLiAiLiIgLiAkdSAuICIuXHIiOwoJaWYgKCRnZXQyID09ICJDQVBDSEFfTk9UX1JFQURZIikgewoJCWVjaG8gJHAgLiAiXHIgIEJ5cGFzc2luZyBDYXB0Y2hhIiAuICRwIC4gIiDilIDilIA+IiAuICR1IC4gIiBMIiAuICRoIC4gIk8iIC4gJHAgLiAiQSIgLiAkYnRhIC4gIkQiIC4gJG0gLiAiSSIgLiAkayAuICJOIiAuICRtIC4gIkciIC4gJHUgLiAiLiIgLiAkaCAuICIuIiAuICRwIC4gIi4iIC4gJGJ0YSAuICIuIiAuICRtIC4gIi4iIC4gJGsgLiAiLiIgLiAkbSAuICIuXHIiOwoJCXVzbGVlcCgzMDAwMDApOwoJCWVjaG8gJGsgLiAiXHIgIEJ5cGFzc2luZyBDYXB0Y2hhIiAuICRwIC4gIiDilIDilIA+IiAuICRtIC4gIiBMIiAuICR1IC4gIk8iIC4gJGggLiAiQSIgLiAkcCAuICJEIiAuICRidGEgLiAiSSIgLiAkbSAuICJOIiAuICRrIC4gIkciIC4gJG0gLiAiLiIgLiAkdSAuICIuIiAuICRoIC4gIi4iIC4gJHAgLiAiLiIgLiAkYnRhIC4gIi4iIC4gJG0gLiAiLiIgLiAkayAuICIuXHIiOwoJCXVzbGVlcCgzMDAwMDApOwoJCWVjaG8gJGsgLiAiXHIgIEJ5cGFzc2luZyBDYXB0Y2hhIiAuICRwIC4gIiDilIDilIA+IiAuICRrIC4gIiBMIiAuICRtIC4gIk8iIC4gJHUgLiAiQSIgLiAkaCAuICJEIiAuICRwIC4gIkkiIC4gJGJ0YSAuICJOIiAuICRtIC4gIkciIC4gJGsgLiAiLiIgLiAkbSAuICIuIiAuICR1IC4gIi4iIC4gJGggLiAiLiIgLiAkcCAuICIuIiAuICRidGEgLiAiLiIgLiAkbSAuICIuXHIiOwoJCXVzbGVlcCgzMDAwMDApOwoJCWVjaG8gJGggLiAiXHIgIEJ5cGFzc2luZyBDYXB0Y2hhIiAuICRwIC4gIiDilIDilIA+IiAuICRtIC4gIiBMIiAuICRrIC4gIk8iIC4gJG0gLiAiQSIgLiAkdSAuICJEIiAuICRoIC4gIkkiIC4gJHAgLiAiTiIgLiAkYnRhIC4gIkciIC4gJG0gLiAiLiIgLiAkayAuICIuIiAuICRtIC4gIi4iIC4gJHUgLiAiLiIgLiAkaCAuICIuIiAuICRwIC4gIi4iIC4gJGJ0YSAuICIuXHIiOwoJCXVzbGVlcCgzMDAwMDApOwoJCWVjaG8gJG0gLiAiXHIgIEJ5cGFzc2luZyBDYXB0Y2hhIiAuICRwIC4gIiDilIDilIA+IiAuICRidGEgLiAiIEwiIC4gJG0gLiAiTyIgLiAkayAuICJBIiAuICRtIC4gIkQiIC4gJHUgLiAiSSIgLiAkaCAuICJOIiAuICRwIC4gIkciIC4gJGJ0YSAuICIuIiAuICRtIC4gIi4iIC4gJGsgLiAiLiIgLiAkbSAuICIuIiAuICR1IC4gIi4iIC4gJGggLiAiLiIgLiAkcCAuICIuXHIiOwoJCXVzbGVlcCgzMDAwMDApOwoJCWVjaG8gJG0gLiAiXHIgIEJ5cGFzc2luZyBDYXB0Y2hhIiAuICRwIC4gIiDilIDilIA+IiAuICRwIC4gIiBMIiAuICRidGEgLiAiTyIgLiAkbSAuICJBIiAuICRrIC4gIkQiIC4gJG0gLiAiSSIgLiAkdSAuICJOIiAuICRoIC4gIkciIC4gJHAgLiAiLiIgLiAkYnRhIC4gIi4iIC4gJG0gLiAiLiIgLiAkayAuICIuIiAuICRtIC4gIi4iIC4gJHUgLiAiLiIgLiAkaCAuICIuXHIiOwoJCXVzbGVlcCgzMDAwMDApOwoJCWVjaG8gJGsgLiAiXHIgIEJ5cGFzc2luZyBDYXB0Y2hhIiAuICRwIC4gIiDilIDilIA+IiAuICRoIC4gIiBMIiAuICRwIC4gIk8iIC4gJGJ0YSAuICJBIiAuICRtIC4gIkQiIC4gJGsgLiAiSSIgLiAkbSAuICJOIiAuICR1IC4gIkciIC4gJGggLiAiLiIgLiAkcCAuICIuIiAuICRidGEgLiAiLiIgLiAkbSAuICIuIiAuICRrIC4gIi4iIC4gJG0gLiAiLiIgLiAkdSAuICIuXHIiOwoJCWdvdG8gdTsKCX1lbHNlewoJICBzbG93KCJccnskcH0gIEJheXBhcyBDYXB0Y2hhIFN1Y3NlcyAgICAgICAgICAgICAgICAgXHIiKTsKCSAgJGNhcD1zdHJfcmVwbGFjZSgiT0t8IiwiIiwkZ2V0Mik7CgkgIHNsZWVwKDUpOwoJfQoJcmV0dXJuICRjYXA7Cn0KZnVuY3Rpb24gbXVsdGlCb3QoKXsKICBnbG9iYWwgJHVhLCRidGEsJGcsJGs7CiAgc3lzdGVtKCJjbGVhciIpOwogIHNsZWVwKDMpOwogIGJhbigpOwogIHN1YygiISIsIkxpbmsgYXBpa2V5IE11bHRpYm90OiB7JGJ0YX1odHRwczovL3NmbC5nbC9uOE52eCIpOwogICRhcGlrZXlYZXZpbD1TYXZlKCJBcGlrZXlNdWx0aWJvdCIpOwogIHNsZWVwKDIpOwogIHN5c3RlbSgiY2xlYXIiKTsKICBiYW4oKTsKICBzdWMoIisiLCJSZWdpc3RlciBGYXVjZXRwYXk6IHskYnRhfWh0dHBzOi8vc2ZsLmdsL1VXbE5BUE1vIik7CiAgJGFkcmVzPVNhdmUoIkFsYW1hdFRyeCIpOwogIHNsZWVwKDIpOwogIHN5c3RlbSgiY2xlYXIiKTsKICBiYW4oKTsKICB3aGlsZSh0cnVlKXsKICAgICRyZXM9Y3VybHMoImh0dHA6Ly90cm9ubWluaW5nLm9ubGluZS8iLCR1YSk7CiAgICAkc2VzaW9uPWV4cGxvZGUoJyI+JyxleHBsb2RlKCc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJzZXNzaW9uLXRva2VuIiB2YWx1ZT0iJywkcmVzKVsxXSlbMF07CiAgICAkYXRiPWV4cGxvZGUoJyI+JyxleHBsb2RlKCc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhbnRpYm90bGlua3MiIGlkPSJhbnRpYm90bGlua3MiIHZhbHVlPSInLCRyZXMpWzFdKVswXTsKICAgICRyZWNhcD1leHBsb2RlKCciPicsZXhwbG9kZSgnIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImNhcHRjaGEiIGlkPSJjYXB0Y2hhIiB2YWx1ZT0iJywkcmVzKVsxXSlbMF07CiAgICAkdmVyPWV4cGxvZGUoJyI+JyxleHBsb2RlKCc8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJsb2dpbiIgaWQ9ImxvZ2luIiBjbGFzcz0iYnRuIGJ0bi1ibG9jayBidG4tcHJpbWFyeSBteS0yICIgdmFsdWU9IicsJHJlcylbMV0pWzBdOwogICAgJHNpdGVrZXk9ZXhwbG9kZSgnIicsZXhwbG9kZSgnPGRpdiBjbGFzcz0iZy1yZWNhcHRjaGEiIGRhdGEtc2l0ZWtleT0iJywkcmVzKVsxXSlbMF07CiAgICAkY2FwID0gcmVjYXB2Mk0oJHNpdGVrZXksImh0dHA6Ly90cm9ubWluaW5nLm9ubGluZS8iKTsKICAgIAogICAgJHVybD0iaHR0cDovL3Ryb25taW5pbmcub25saW5lLyI7CiAgICAkZGF0YT0ic2Vzc2lvbi10b2tlbj17JHNlc2lvbn0mYWRkcmVzcz17JGFkcmVzfSZhbnRpYm90bGlua3M9eyRhdGJ9JmNhcHRjaGE9eyRyZWNhcH0mZy1yZWNhcHRjaGEtcmVzcG9uc2U9eyRjYXB9JmxvZ2luPXskdmVyfSI7CiAgICAkcmVzPWN1cmxzKCR1cmwsJHVhLCRkYXRhKTsKICAgICRzMT1leHBsb2RlKCd5b3VyIDxhIGhyZWY9Imh0dHBzOi8vZmF1Y2V0cGF5LmlvL3BhZ2UvdXNlci1hZG1pbiIgdGFyZ2V0PSJfYmxhbmsiPicsZXhwbG9kZSgnPGkgY2xhc3M9ImZhcyBmYS1tb25leS1iaWxsLXdhdmUiPjwvaT4nLCRyZXMpWzFdKVswXTsKICAgICRzMj1leHBsb2RlKCc8L2E+JyxleHBsb2RlKCd5b3VyIDxhIGhyZWY9Imh0dHBzOi8vZmF1Y2V0cGF5LmlvL3BhZ2UvdXNlci1hZG1pbiIgdGFyZ2V0PSJfYmxhbmsiPicsJHJlcylbMV0pWzBdOwogICAgJGxpbWl0MT1leHBsb2RlKCcuJyxleHBsb2RlKCc8aSBjbGFzcz0iZmFzIGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlIj48L2k+JywkcmVzKVsxXSlbMF07CiAgICBpZigkbGltaXQxKXsKICAgICAgc3VjKCIhIiwieyRidGF9RU46Ii4kay4kbGltaXQxKTsKICAgICAgc3VjKCIhIiwieyRidGF9SUQ6Ii4kay4iIEJhdGFzIGtsYWltIGhhcmlhbiBBbmRhIHRlbGFoIHRlcmNhcGFpICIpOwogICAgICBzbG93KCRnKTsKICAgICAgc2xlZXAoNSk7CiAgICAgIGRpZSgpOwogICAgfQogICAgc3VjKCLinJMiLCRzMS4kYnRhLiRzMik7CiAgICBzbG93KCRnKTsKICAgIGlmKDU4KXsKICAgICAgVG1yKDU4KTsKICAgIH0KICB9Cn0KLy9YRVZJTApmdW5jdGlvbiByZWNhcHYyWCgkc2l0ZWtleSwkbGluayl7CiAgZ2xvYmFsICRrLCRoLCRwLCRtLCRidGEsJHU7CiAgJGFwaWtleVhldmlsPVNhdmUoIkFwaWtleVhldmlsIik7CiAgJHVybD0iaHR0cDovL3NjdGcueHl6L2luLnBocD8iOwogICRkYXRhID0gaHR0cF9idWlsZF9xdWVyeShbCiAgICAia2V5IiA9PiAkYXBpa2V5WGV2aWwuInxTT0ZUSUQ1NTE3MDI4MTk5IiwKCQkibWV0aG9kIiA9PiAidXNlcnJlY2FwdGNoYSIsCgkJInNpdGVrZXkiID0+ICRzaXRla2V5LAoJCSJwYWdldXJsIiA9PiAkbGluawoJCV0pOwoJJGdldDE9Y3VybCgkdXJsLCRkYXRhKTsKCSRpZD1zdHJfcmVwbGFjZSgiT0t8IiwiIiwkZ2V0MSk7CgkkdXJsPSJodHRwOi8vc2N0Zy54eXovcmVzLnBocD8iOwoJJGRhdGE9aHR0cF9idWlsZF9xdWVyeShbCgkgICJrZXkiID0+ICRhcGlrZXlYZXZpbC4ifFNPRlRJRDU1MTcwMjgxOTkiLAoJICAiYWN0aW9uIiA9PiAiZ2V0IiwKCSAgImlkIiA9PiAkaWQKCSAgXSk7Cgl1OgogICRnZXQyPWN1cmwoJHVybCwkZGF0YSk7CglpZiAoJGdldDIgPT0gIkVSUk9SX0NBUFRDSEFfVU5TT0xWQUJMRSIpIHsKCQlnb3RvIHU7Cgl9CglpZiAoJGdldDIgPT0gIkVSUk9SX1dST05HX0NBUFRDSEFfSUQiKSB7CgkJZ290byB1OwoJfQoJZWNobyAkayAuICJcciAgQnlwYXNzaW5nIENhcHRjaGEiIC4gJHAgLiAiIOKUgOKUgD4iIC4gJHUgLiAiIEwiIC4gJGggLiAiTyIgLiAkcCAuICJBIiAuICRidGEgLiAiRCIgLiAkbSAuICJJIiAuICRrIC4gIk4iIC4gJG0gLiAiRyIgLiAkdSAuICIuIiAuICRoIC4gIi4iIC4gJHAgLiAiLiIgLiAkYnRhIC4gIi4iIC4gJG0gLiAiLiIgLiAkayAuICIuIiAuICRtIC4gIi5cciI7Cgl1c2xlZXAoMzAwMDAwKTsKCWVjaG8gJGsgLiAiXHIgIEJ5cGFzc2luZyBDYXB0Y2hhIiAuICRwIC4gIiDilIDilIA+IiAuICRtIC4gIiBMIiAuICR1IC4gIk8iIC4gJGggLiAiQSIgLiAkcCAuICJEIiAuICRidGEgLiAiSSIgLiAkbSAuICJOIiAuICRrIC4gIkciIC4gJG0gLiAiLiIgLiAkdSAuICIuIiAuICRoIC4gIi4iIC4gJHAgLiAiLiIgLiAkYnRhIC4gIi4iIC4gJG0gLiAiLiIgLiAkayAuICIuXHIiOwoJdXNsZWVwKDMwMDAwMCk7CgllY2hvICRrIC4gIlxyICBCeXBhc3NpbmcgQ2FwdGNoYSIgLiAkcCAuICIg4pSA4pSAPiIgLiAkayAuICIgTCIgLiAkbSAuICJPIiAuICR1IC4gIkEiIC4gJGggLiAiRCIgLiAkcCAuICJJIiAuICRidGEgLiAiTiIgLiAkbSAuICJHIiAuICRrIC4gIi4iIC4gJG0gLiAiLiIgLiAkdSAuICIuIiAuICRoIC4gIi4iIC4gJHAgLiAiLiIgLiAkYnRhIC4gIi4iIC4gJG0gLiAiLlxyIjsKCXVzbGVlcCgzMDAwMDApOwoJZWNobyAkayAuICJcciAgQnlwYXNzaW5nIENhcHRjaGEiIC4gJHAgLiAiIOKUgOKUgD4iIC4gJG0gLiAiIEwiIC4gJGsgLiAiTyIgLiAkbSAuICJBIiAuICR1IC4gIkQiIC4gJGggLiAiSSIgLiAkcCAuICJOIiAuICRidGEgLiAiRyIgLiAkbSAuICIuIiAuICRrIC4gIi4iIC4gJG0gLiAiLiIgLiAkdSAuICIuIiAuICRoIC4gIi4iIC4gJHAgLiAiLiIgLiAkYnRhIC4gIi5cciI7Cgl1c2xlZXAoMzAwMDAwKTsKCWVjaG8gJGsgLiAiXHIgIEJ5cGFzc2luZyBDYXB0Y2hhIiAuICRwIC4gIiDilIDilIA+IiAuICRidGEgLiAiIEwiIC4gJG0gLiAiTyIgLiAkayAuICJBIiAuICRtIC4gIkQiIC4gJHUgLiAiSSIgLiAkaCAuICJOIiAuICRwIC4gIkciIC4gJGJ0YSAuICIuIiAuICRtIC4gIi4iIC4gJGsgLiAiLiIgLiAkbSAuICIuIiAuICR1IC4gIi4iIC4gJGggLiAiLiIgLiAkcCAuICIuXHIiOwoJdXNsZWVwKDMwMDAwMCk7CgllY2hvICRrIC4gIlxyICBCeXBhc3NpbmcgQ2FwdGNoYSIgLiAkcCAuICIg4pSA4pSAPiIgLiAkcCAuICIgTCIgLiAkYnRhIC4gIk8iIC4gJG0gLiAiQSIgLiAkayAuICJEIiAuICRtIC4gIkkiIC4gJHUgLiAiTiIgLiAkaCAuICJHIiAuICRwIC4gIi4iIC4gJGJ0YSAuICIuIiAuICRtIC4gIi4iIC4gJGsgLiAiLiIgLiAkbSAuICIuIiAuICR1IC4gIi4iIC4gJGggLiAiLlxyIjsKCXVzbGVlcCgzMDAwMDApOwoJZWNobyAkayAuICJcciAgQnlwYXNzaW5nIENhcHRjaGEiIC4gJHAgLiAiIOKUgOKUgD4iIC4gJGggLiAiIEwiIC4gJHAgLiAiTyIgLiAkYnRhIC4gIkEiIC4gJG0gLiAiRCIgLiAkayAuICJJIiAuICRtIC4gIk4iIC4gJHUgLiAiRyIgLiAkaCAuICIuIiAuICRwIC4gIi4iIC4gJGJ0YSAuICIuIiAuICRtIC4gIi4iIC4gJGsgLiAiLiIgLiAkbSAuICIuIiAuICR1IC4gIi5cciI7CglpZiAoJGdldDIgPT0gIkNBUENIQV9OT1RfUkVBRFkiKSB7CgkJZWNobyAkcCAuICJcciAgQnlwYXNzaW5nIENhcHRjaGEiIC4gJHAgLiAiIOKUgOKUgD4iIC4gJHUgLiAiIEwiIC4gJGggLiAiTyIgLiAkcCAuICJBIiAuICRidGEgLiAiRCIgLiAkbSAuICJJIiAuICRrIC4gIk4iIC4gJG0gLiAiRyIgLiAkdSAuICIuIiAuICRoIC4gIi4iIC4gJHAgLiAiLiIgLiAkYnRhIC4gIi4iIC4gJG0gLiAiLiIgLiAkayAuICIuIiAuICRtIC4gIi5cciI7CgkJdXNsZWVwKDMwMDAwMCk7CgkJZWNobyAkayAuICJcciAgQnlwYXNzaW5nIENhcHRjaGEiIC4gJHAgLiAiIOKUgOKUgD4iIC4gJG0gLiAiIEwiIC4gJHUgLiAiTyIgLiAkaCAuICJBIiAuICRwIC4gIkQiIC4gJGJ0YSAuICJJIiAuICRtIC4gIk4iIC4gJGsgLiAiRyIgLiAkbSAuICIuIiAuICR1IC4gIi4iIC4gJGggLiAiLiIgLiAkcCAuICIuIiAuICRidGEgLiAiLiIgLiAkbSAuICIuIiAuICRrIC4gIi5cciI7CgkJdXNsZWVwKDMwMDAwMCk7CgkJZWNobyAkayAuICJcciAgQnlwYXNzaW5nIENhcHRjaGEiIC4gJHAgLiAiIOKUgOKUgD4iIC4gJGsgLiAiIEwiIC4gJG0gLiAiTyIgLiAkdSAuICJBIiAuICRoIC4gIkQiIC4gJHAgLiAiSSIgLiAkYnRhIC4gIk4iIC4gJG0gLiAiRyIgLiAkayAuICIuIiAuICRtIC4gIi4iIC4gJHUgLiAiLiIgLiAkaCAuICIuIiAuICRwIC4gIi4iIC4gJGJ0YSAuICIuIiAuICRtIC4gIi5cciI7CgkJdXNsZWVwKDMwMDAwMCk7CgkJZWNobyAkaCAuICJcciAgQnlwYXNzaW5nIENhcHRjaGEiIC4gJHAgLiAiIOKUgOKUgD4iIC4gJG0gLiAiIEwiIC4gJGsgLiAiTyIgLiAkbSAuICJBIiAuICR1IC4gIkQiIC4gJGggLiAiSSIgLiAkcCAuICJOIiAuICRidGEgLiAiRyIgLiAkbSAuICIuIiAuICRrIC4gIi4iIC4gJG0gLiAiLiIgLiAkdSAuICIuIiAuICRoIC4gIi4iIC4gJHAgLiAiLiIgLiAkYnRhIC4gIi5cciI7CgkJdXNsZWVwKDMwMDAwMCk7CgkJZWNobyAkbSAuICJcciAgQnlwYXNzaW5nIENhcHRjaGEiIC4gJHAgLiAiIOKUgOKUgD4iIC4gJGJ0YSAuICIgTCIgLiAkbSAuICJPIiAuICRrIC4gIkEiIC4gJG0gLiAiRCIgLiAkdSAuICJJIiAuICRoIC4gIk4iIC4gJHAgLiAiRyIgLiAkYnRhIC4gIi4iIC4gJG0gLiAiLiIgLiAkayAuICIuIiAuICRtIC4gIi4iIC4gJHUgLiAiLiIgLiAkaCAuICIuIiAuICRwIC4gIi5cciI7CgkJdXNsZWVwKDMwMDAwMCk7CgkJZWNobyAkbSAuICJcciAgQnlwYXNzaW5nIENhcHRjaGEiIC4gJHAgLiAiIOKUgOKUgD4iIC4gJHAgLiAiIEwiIC4gJGJ0YSAuICJPIiAuICRtIC4gIkEiIC4gJGsgLiAiRCIgLiAkbSAuICJJIiAuICR1IC4gIk4iIC4gJGggLiAiRyIgLiAkcCAuICIuIiAuICRidGEgLiAiLiIgLiAkbSAuICIuIiAuICRrIC4gIi4iIC4gJG0gLiAiLiIgLiAkdSAuICIuIiAuICRoIC4gIi5cciI7CgkJdXNsZWVwKDMwMDAwMCk7CgkJZWNobyAkayAuICJcciAgQnlwYXNzaW5nIENhcHRjaGEiIC4gJHAgLiAiIOKUgOKUgD4iIC4gJGggLiAiIEwiIC4gJHAgLiAiTyIgLiAkYnRhIC4gIkEiIC4gJG0gLiAiRCIgLiAkayAuICJJIiAuICRtIC4gIk4iIC4gJHUgLiAiRyIgLiAkaCAuICIuIiAuICRwIC4gIi4iIC4gJGJ0YSAuICIuIiAuICRtIC4gIi4iIC4gJGsgLiAiLiIgLiAkbSAuICIuIiAuICR1IC4gIi5cciI7CgkJZ290byB1OwoJfWVsc2V7CgkgIHNsb3coIlxyeyRwfSAgQmF5cGFzIENhcHRjaGEgU3Vjc2VzICAgICAgICAgICAgICAgIFxyIik7CgkgICRjYXA9c3RyX3JlcGxhY2UoIk9LfCIsIiIsJGdldDIpOwoJfQoJcmV0dXJuICRjYXA7Cn0KZnVuY3Rpb24geGV2aWwoKXsKICBnbG9iYWwgJHVhLCRidGEsJGssJGc7CiAgc3lzdGVtKCJjbGVhciIpOwogIHNsZWVwKDMpOwogIGJhbigpOwogIHN1YygiISIsIkxpbmsgYXBpa2V5IHhldmlsOiB7JGJ0YX1odHRwczovL3QubWUvWGV2aWxfY2hlY2tfYm90P3N0YXJ0PTU1MTcwMjgxOTkiKTsKICAkYXBpa2V5WGV2aWw9U2F2ZSgiQXBpa2V5WGV2aWwiKTsKICBzbGVlcCgyKTsKICBzeXN0ZW0oImNsZWFyIik7CiAgYmFuKCk7CiAgc3VjKCIrIiwiUmVnaXN0ZXIgRmF1Y2V0cGF5OiB7JGJ0YX1odHRwczovL3NmbC5nbC9VV2xOQVBNbyIpOwogICRhZHJlcz1TYXZlKCJBbGFtYXRUcngiKTsKICBzbGVlcCgyKTsKICBzeXN0ZW0oImNsZWFyIik7CiAgYmFuKCk7CiAgd2hpbGUodHJ1ZSl7CiAgICAkcmVzPWN1cmxzKCJodHRwOi8vdHJvbm1pbmluZy5vbmxpbmUvIiwkdWEpOwogICAgJHNlc2lvbj1leHBsb2RlKCciPicsZXhwbG9kZSgnPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ic2Vzc2lvbi10b2tlbiIgdmFsdWU9IicsJHJlcylbMV0pWzBdOwogICAgJGF0Yj1leHBsb2RlKCciPicsZXhwbG9kZSgnPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYW50aWJvdGxpbmtzIiBpZD0iYW50aWJvdGxpbmtzIiB2YWx1ZT0iJywkcmVzKVsxXSlbMF07CiAgICAkcmVjYXA9ZXhwbG9kZSgnIj4nLGV4cGxvZGUoJyA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJjYXB0Y2hhIiBpZD0iY2FwdGNoYSIgdmFsdWU9IicsJHJlcylbMV0pWzBdOwogICAgJHZlcj1leHBsb2RlKCciPicsZXhwbG9kZSgnPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ibG9naW4iIGlkPSJsb2dpbiIgY2xhc3M9ImJ0biBidG4tYmxvY2sgYnRuLXByaW1hcnkgbXktMiAiIHZhbHVlPSInLCRyZXMpWzFdKVswXTsKICAgICRzaXRla2V5PWV4cGxvZGUoJyInLGV4cGxvZGUoJzxkaXYgY2xhc3M9ImctcmVjYXB0Y2hhIiBkYXRhLXNpdGVrZXk9IicsJHJlcylbMV0pWzBdOwogICAgJGNhcCA9IHJlY2FwdjJYKCRzaXRla2V5LCJodHRwOi8vdHJvbm1pbmluZy5vbmxpbmUvIik7CiAgICAkdXJsPSJodHRwOi8vdHJvbm1pbmluZy5vbmxpbmUvIjsKICAgICRkYXRhPSJzZXNzaW9uLXRva2VuPXskc2VzaW9ufSZhZGRyZXNzPXskYWRyZXN9JmFudGlib3RsaW5rcz17JGF0Yn0mY2FwdGNoYT17JHJlY2FwfSZnLXJlY2FwdGNoYS1yZXNwb25zZT17JGNhcH0mbG9naW49eyR2ZXJ9IjsKICAgICRyZXM9Y3VybHMoJHVybCwkdWEsJGRhdGEpOwogICAgJHMxPWV4cGxvZGUoJ3lvdXIgPGEgaHJlZj0iaHR0cHM6Ly9mYXVjZXRwYXkuaW8vcGFnZS91c2VyLWFkbWluIiB0YXJnZXQ9Il9ibGFuayI+JyxleHBsb2RlKCc8aSBjbGFzcz0iZmFzIGZhLW1vbmV5LWJpbGwtd2F2ZSI+PC9pPicsJHJlcylbMV0pWzBdOwogICAgJHMyPWV4cGxvZGUoJzwvYT4nLGV4cGxvZGUoJ3lvdXIgPGEgaHJlZj0iaHR0cHM6Ly9mYXVjZXRwYXkuaW8vcGFnZS91c2VyLWFkbWluIiB0YXJnZXQ9Il9ibGFuayI+JywkcmVzKVsxXSlbMF07CiAgICAkbGltaXQxPWV4cGxvZGUoJy4nLGV4cGxvZGUoJzxpIGNsYXNzPSJmYXMgZmEtZXhjbGFtYXRpb24tdHJpYW5nbGUiPjwvaT4nLCRyZXMpWzFdKVswXTsKICAgIGlmKCRsaW1pdDEpewogICAgICBzdWMoIiEiLCJ7JGJ0YX1FTjoiLiRrLiRsaW1pdDEpOwogICAgICBzdWMoIiEiLCJ7JGJ0YX1JRDoiLiRrLiIgQmF0YXMga2xhaW0gaGFyaWFuIEFuZGEgdGVsYWggdGVyY2FwYWkgIik7CiAgICAgIHNsb3coJGcpOwogICAgICBzbGVlcCg1KTsKICAgICAgZGllKCk7CiAgICB9CiAgICBzdWMoIuKckyIsJHMxLiRidGEuJHMyKTsKICAgIHNsb3coJGcpOwogICAgaWYoNTgpewogICAgICBUbXIoNTgpOwogICAgfQogIH0KfQoKZnVuY3Rpb24gTWVudSgpewogIGdsb2JhbCAkaywkaCwkcCwkbSwkYnRhLCR1LCRnOwogIHN5c3RlbSgiY2xlYXIiKTsKICBiYW4oKTsKICBzdWMoIiEiLCJBbmRhIGluZ2luIG1lbmdndW5ha2FuIGFwaWtleSBhcGF7JG19PyIpOwogIHN1YygiMSIsImFwaWtleVhldmlsIik7CiAgc3VjKCIyIiwiYXBpa2V5TXVsdHVCb3QiLiRwLiIgKCIuJGsuInJlY29tZW5kZWQiLiRwLiIpIik7CiAgJG1lbj1yZWFkbGluZSgiIHskaH0gIOKUl3skbX3inqR7JHB94p6kIik7ICAKICBpZigkbWVuID09IDEpewogICAgc3lzdGVtKCJjbGVhciIpOwogICAgc2xvdygieyRwfVt7JGt9w7d7JHB9XSB7JGh9amFuZ2FuIGx1cGEgc3Vic2NyaWJlIHskdX1ZVCB7JGh9Z3dhIDpEXHIiKTsKICAgIHN5c3RlbSgieGRnLW9wZW4gaHR0cHM6Ly95b3V0dWJlLmNvbS9AYW1qYWRvZmZpY2lhbDAwMT9zaT1NSTZqTGlEQzdvaWQwdHZ6Iik7CiAgICBzbGVlcCg1KTsKICAgIHNsb3coInskcH1beyRrfcO3eyRwfV0geyRofXRlcmltYWthc2loIHlhbmggc3VkYWggc3Vic2NyaWJlIHskdX06RFxuXG4iKTsKICAgIHJlYWRsaW5lKCJFbnRlciBUbyBDb250aW51ZSB7JG194p6keyRwfeKepCIpOwogICAgeGV2aWwoKTsKICB9ZWxzZWlmKCRtZW4gPT0gMil7CiAgICBzeXN0ZW0oImNsZWFyIik7CiAgICBzbG93KCJ7JHB9W3ska33Dt3skcH1dIHskaH1qYW5nYW4gbHVwYSBzdWJzY3JpYmUgeyR1fVlUIHskaH1nd2EgOkRcciIpOwogICAgc3lzdGVtKCJ4ZGctb3BlbiBodHRwczovL3lvdXR1YmUuY29tL0BhbWphZG9mZmljaWFsMDAxP3NpPU1JNmpMaURDN29pZDB0dnoiKTsKICAgIHNsZWVwKDUpOwogICAgc2xvdygieyRwfVt7JGt9w7d7JHB9XSB7JGh9dGVyaW1ha2FzaWggeWFuaCBzdWRhaCBzdWJzY3JpYmUgeyR1fTpEXG5cbiIpOwogICAgcmVhZGxpbmUoIkVudGVyIFRvIENvbnRpbnVlID4iKTsKICAgIG11bHRpQm90KCk7CiAgfQp9Cm1lbnUoKTs='))
?>
Function Calls
base64_decode | 1 |
Stats
MD5 | e29d02d333ecaeabd9ab64e13be3867c |
Eval Count | 1 |
Decode Time | 122 ms |