Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php /* ===================================================== DataLife Engine - by So..
Decoded Output download
?><?php
/*
=====================================================
DataLife Engine - by SoftNews Media Group
-----------------------------------------------------
http://dle-news.ru/
-----------------------------------------------------
Copyright (c) 2004-2018 SoftNews Media Group
=====================================================
=====================================================
: init.php
-----------------------------------------------------
:
=====================================================
*/
if( !defined( 'DATALIFEENGINE' ) ) {
die( "Hacking attempt!" );
}
define( 'DINITVERSION', "2008" );
define( 'VERSIONID', "12.1" );
require_once (ENGINE_DIR . '/data/config.php');
require_once (ENGINE_DIR . '/classes/mysql.php');
require_once (ENGINE_DIR . '/data/dbconfig.php');
require_once (ENGINE_DIR . '/inc/include/functions.inc.php');
date_default_timezone_set ( $config['date_adjust'] );
dle_session();
check_xss();
if( $config['only_ssl'] AND !isSSL() AND !isset($_SESSION['is_redirect']) ) {
$_SESSION['is_redirect'] = true;
$_SERVER['REQUEST_URI'] = htmlspecialchars($_SERVER['REQUEST_URI'], ENT_QUOTES, $config['charset'] );
header("HTTP/1.0 301 Moved Permanently");
header("Location: https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
die("Redirect");
} elseif( isset($_SESSION['is_redirect']) ) { unset($_SESSION['is_redirect']); }
function send_activation( $query ) {
$data = http_get_contents("http://dle-news.ru/extras/activate2009.php?".$query);
if( $data !== false ) {
if( stripos( $data, "antw:activated" ) !== false ) return "1";
elseif( stripos( $data, "antw:denied;expires" ) !== false ) return "-4";
elseif( stripos( $data, "antw:denied" ) !== false ) return "0";
}
return "-1";
}
function get_domen_hash() {
$domen_md5 = explode( '.', $_SERVER['HTTP_HOST'] );
$count_key = count( $domen_md5 ) - 1;
unset( $domen_md5[$count_key] );
if( end( $domen_md5 ) == "com" or end( $domen_md5 ) == "net" ) $count_key --;
$domen_md5 = $domen_md5[$count_key - 1];
$domen_md5 = md5( md5( $domen_md5 . "780918" ) );
return $domen_md5;
}
function dle_activation($key, $domen_md5, $config, $offline = false) {
global $lang;
$config['charset'] = ($lang['charset'] != '') ? $lang['charset'] : $config['charset'];
$domain = urlencode( strip_tags( $_SERVER['HTTP_HOST'] ) );
$key = trim( strip_tags( $key ) );
@header( "Content-type: text/html; charset=" . $config['charset'] );
if ( $offline ) {
if( $key == md5( $domen_md5 . DINITVERSION ) ) {
$buffer = "1";
} else {
$buffer = "-2";
}
} else {
if( strlen( $key ) == 32 ) {
$buffer = "-3";
} else {
$buffer = send_activation( "domain={$domain}&key={$key}&site_key={$domen_md5}&c_id=" . VERSIONID );
}
}
switch ($buffer) {
case "-4" :
$buffer = $lang['trial_act7'];
break;
case "-3" :
$buffer = $lang['trial_act6']." ".$lang['key_format']." <b>XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</b>";
break;
case "-2" :
$buffer = $lang['trial_act5'];
break;
case "-1" :
$buffer = $lang['trial_act1'] . $lang['get_offline_key'] . " <a href=\"http://dle-news.ru/index.php?do=offlinekey&domain={$domain}&key={$key}&site_key={$domen_md5}&c_id=" . VERSIONID . "\" class=\"status-error\" target=\"_blank\">" . $lang['get_key'] . "</a> " . $lang['key_activation'];
$buffer .= "<br /><br /><b>$lang[site_code]</b><span class=\"sitecodefield\"><input class=\"edit\" type=\"text\" size=\"45\" name=\"sitecode\" id=\"sitecode\"> <button onclick=\"dle_activation( 'code' ); return false;\" class=\"btn btn-sm btn-green\">{$lang['trial_act']}</button></span><div id=\"result_info\" style=\"color:red;\"></div>";
break;
case "0" :
$buffer = $lang['trial_act2'];
break;
case "1" :
$config['key'] = md5( $domen_md5 . DINITVERSION );
$handler = fopen( ENGINE_DIR . '/data/config.php', "w" );
fwrite( $handler, "<?php
//System Configurations
\$config = array (
" );
foreach ( $config as $name => $value ) {
fwrite( $handler, "'{$name}' => \"{$value}\",
" );
}
fwrite( $handler, ");
?>" );
fclose( $handler );
$buffer = $lang['trial_act3'];
break;
default :
$buffer = $lang['trial_act4'] . $lang['get_offline_key'] . " <a href=\"http://dle-news.ru/index.php?do=offlinekey&domain={$domain}&key={$key}&site_key={$domen_md5}&c_id=" . VERSIONID . "\" >" . $lang['get_key'] . "</a> " . $lang['key_activation'];
}
echo $buffer;
die();
}
$lic_tr = true;
$auto_detect_config = false;
$domen_md5 = md5( get_domen_hash() . DINITVERSION );
if( $domen_md5 == $config['key'] ) $lic_tr = false;
$_SERVER['PHP_SELF'] = htmlspecialchars( $_SERVER['PHP_SELF'], ENT_QUOTES, $config['charset'] );
if( $config['http_home_url'] == "" ) {
$config['http_home_url'] = explode( $config['admin_path'], $_SERVER['PHP_SELF'] );
$config['http_home_url'] = reset( $config['http_home_url'] );
$config['http_home_url'] = "https://" . $_SERVER['HTTP_HOST'] . $config['http_home_url'];
$auto_detect_config = true;
}
$selected_language = $config['langs'];
if (isset( $_POST['selected_language'] )) {
$_POST['selected_language'] = totranslit( $_POST['selected_language'], false, false );
if ($_POST['selected_language'] != "" AND @is_dir ( ROOT_DIR . '/language/' . $_POST['selected_language'] )) {
$selected_language = $_POST['selected_language'];
set_cookie ( "selected_language", $selected_language, 365 );
}
} elseif (isset( $_COOKIE['selected_language'] )) {
$_COOKIE['selected_language'] = totranslit( $_COOKIE['selected_language'], false, false );
if ($_COOKIE['selected_language'] != "" AND @is_dir ( ROOT_DIR . '/language/' . $_COOKIE['selected_language'] )) {
$selected_language = $_COOKIE['selected_language'];
}
}
if ( file_exists( ROOT_DIR . '/language/' . $selected_language . '/adminpanel.lng' ) ) {
require_once (ROOT_DIR . '/language/' . $selected_language . '/adminpanel.lng');
} else die("Language file not found");
$config['charset'] = ($lang['charset'] != '') ? $lang['charset'] : $config['charset'];
@header("Content-type: text/html; charset=".$config['charset']);
@header ("X-Frame-Options: SAMEORIGIN");
$is_loged_in = false;
$member_id = array ();
$result = "";
$username = "";
$cmd5_password = "";
$allow_login = false;
$check_log = false;
$attempt_login = false;
$js_array = array ();
$css_array = array ();
$PHP_SELF = $_SERVER['PHP_SELF'];
$_IP = get_ip();
$_TIME = time ();
$skin_header = "";
$skin_footer = "";
$allow_extra_login = false;
$login_params = array('ip_control' => $config['ip_control'], 'log_hash' => $config['log_hash']);
if ( $config['extra_login'] AND stripos(PHP_SAPI, "apache" ) !== false AND !$_SESSION['dle_xtra'] ) {
$allow_extra_login = true;
}
if( isset( $_POST['action'] ) ) $action = $_POST['action'];
else $action = $_GET['action'];
if( isset( $_POST['mod'] ) ) $mod = $_POST['mod'];
else $mod = $_GET['mod'];
$mod = totranslit ( $mod, true, false );
$action = totranslit ( $action, false, false );
//#################
$user_group = get_vars( "usergroup" );
if( ! $user_group ) {
$user_group = array ();
$db->query( "SELECT * FROM " . USERPREFIX . "_usergroups ORDER BY id ASC" );
while ( $row = $db->get_row() ) {
$user_group[$row['id']] = array ();
foreach ( $row as $key => $value ) {
$user_group[$row['id']][$key] = stripslashes($value);
}
}
set_vars( "usergroup", $user_group );
$db->free();
}
//#################
//#################
$cat_info = get_vars( "category" );
if( ! is_array( $cat_info ) ) {
$cat_info = array ();
$db->query( "SELECT * FROM " . PREFIX . "_category ORDER BY posi ASC" );
while ( $row = $db->get_row() ) {
$cat_info[$row['id']] = array ();
foreach ( $row as $key => $value ) {
$cat_info[$row['id']][$key] = stripslashes( $value );
}
}
set_vars( "category", $cat_info );
$db->free();
}
if( count( $cat_info ) ) {
foreach ( $cat_info as $key ) {
$cat[$key['id']] = $key['name'];
$cat_parentid[$key['id']] = $key['parentid'];
}
}
if( $_REQUEST['action'] == "logout" ) {
set_cookie( "dle_user_id", "", 0 );
set_cookie( "dle_password", "", 0 );
set_cookie( "dle_skin", "", 0 );
set_cookie( "dle_newpm", "", 0 );
set_cookie( "dle_hash", "", 0 );
set_cookie( "dle_compl", "", 0 );
set_cookie( session_name(), "", 0 );
@session_unset();
@session_destroy();
if( $config['extra_login'] AND stripos(PHP_SAPI, "apache" ) !== false ) auth();
header( "Location: ?mod=main" );
msg( "info", $lang['index_msge'], $lang['index_exit'] );
}
$allow_login = true;
if ($config['login_log']) $allow_login = check_allow_login ($_IP, $config['login_log']);
if (!$allow_login) {
$lang['login_err_2'] = str_replace("{time}", $config['login_ban_timeout'], $lang['login_err_2']);
msg( "info", $lang['index_msge'], $lang['login_err_2'] );
}
if( $allow_login ) {
if( $allow_extra_login ) {
if( !isset( $_SERVER['PHP_AUTH_USER'] ) || !isset( $_SERVER['PHP_AUTH_PW'] ) ) auth();
$username = $_SERVER['PHP_AUTH_USER'];
$cmd5_password = (string)$_SERVER['PHP_AUTH_PW'];
$post = true;
$check_log = true;
$attempt_login = true;
} elseif( intval( $_SESSION['dle_user_id'] ) > 0 AND $_SESSION['dle_password'] ) {
$username = intval($_SESSION['dle_user_id']);
$cmd5_password = $_SESSION['dle_password'];
$post = false;
$attempt_login = true;
if (!$_SESSION['check_log']) $check_log = true;
} elseif( intval( $_COOKIE['dle_user_id'] ) > 0 AND $_COOKIE['dle_password']) {
$username = intval($_COOKIE['dle_user_id']);
$cmd5_password = (string)$_COOKIE['dle_password'];
$post = false;
$check_log = true;
$attempt_login = true;
}
if( $_REQUEST['subaction'] == 'dologin' ) {
$username = $_POST['username'];
$cmd5_password = (string)$_POST['password'];
$post = true;
$check_log = true;
$attempt_login = true;
}
}
if( check_login( $username, $cmd5_password, $post, $check_log ) ) {
$is_loged_in = true;
if ( $post AND password_needs_rehash($member_id['password'], PASSWORD_DEFAULT) ) {
if (version_compare($config['version_id'], '11.2', '>=')) {
if( strlen($cmd5_password) > 72 ) $cmd5_password = substr($md5_password, 0, 72);
$member_id['password'] = password_hash($cmd5_password, PASSWORD_DEFAULT);
$new_pass_hash = "password='".$db->safesql($member_id['password'])."', ";
} else $new_pass_hash = "";
} else $new_pass_hash = "";
if($config['twofactor_auth'] AND $member_id['twofactor_auth']) {
$config['ip_control'] = 2;
$config['log_hash'] = 1;
}
if( !$_SESSION['dle_user_id'] AND $_COOKIE['dle_user_id'] ) {
session_regenerate_id();
$_SESSION['dle_user_id'] = $_COOKIE['dle_user_id'];
$_SESSION['dle_password'] = $_COOKIE['dle_password'];
}
} else {
if( $_REQUEST['subaction'] == 'dologin' ) {
$result = "<span class=\"text-danger\">" . $lang['index_errpass'] . "</span>";
} else
$result = "";
if( $allow_extra_login ) auth();
$is_loged_in = false;
}
if( $is_loged_in AND !$_SESSION['dle_xtra'] AND $allow_extra_login ) {
$_SESSION['dle_xtra'] = true;
$_REQUEST['subaction'] = 'dologin';
if($config['twofactor_auth'] AND $member_id['twofactor_auth']) {
$_SESSION['dle_user_id'] = 0;
$_SESSION['dle_password'] = "";
set_cookie( "dle_user_id", "", 0 );
set_cookie( "dle_password", "", 0 );
}
}
###########################
if( $is_loged_in AND $_REQUEST['subaction'] == 'dologin' ) {
session_regenerate_id();
if(!$config['twofactor_auth'] OR !$member_id['twofactor_auth']) {
$_SESSION['dle_user_id'] = $member_id['user_id'];
$_SESSION['dle_password'] = md5($member_id['password']);
if ( intval($_POST['login_not_save']) ) {
set_cookie( "dle_user_id", "", 0 );
set_cookie( "dle_password", "", 0 );
} else {
set_cookie( "dle_user_id", $member_id['user_id'], 365 );
set_cookie( "dle_password", md5($member_id['password']), 365 );
}
}
$time_now = time();
if ($config['login_log']) $db->query( "DELETE FROM " . PREFIX . "_login_log WHERE ip = '{$_IP}'" );
if(function_exists('openssl_random_pseudo_bytes')) {
$stronghash = md5(openssl_random_pseudo_bytes(15));
} else $stronghash = md5(uniqid( mt_rand(), TRUE ));
$salt = sha1( str_shuffle("abcdefghjkmnpqrstuvwxyz0123456789") . $stronghash );
$hash = '';
for($i = 0; $i < 9; $i ++) {
$hash .= $salt{mt_rand( 0, 39 )};
}
$hash = md5( $hash );
$member_id['hash'] = $hash;
if( $config['log_hash'] ) {
set_cookie( "dle_hash", $hash, 365 );
$_COOKIE['dle_hash'] = $hash;
}
$db->query( "UPDATE " . USERPREFIX . "_users SET {$new_pass_hash}lastdate='{$time_now}', hash='{$hash}', logged_ip='{$_IP}' WHERE user_id='{$member_id['user_id']}'" );
if($config['twofactor_auth'] AND $member_id['twofactor_auth']) {
$is_loged_in = false;
$attempt_login = false;
$_SESSION['twofactor_auth'] = md5($member_id['password']);
$_SESSION['twofactor_id'] = $member_id['user_id'];
if ( isset($_POST['login_not_save']) AND intval($_POST['login_not_save']) ) {
$_SESSION['no_save_cookie'] = 1;
}
include_once ENGINE_DIR . '/classes/mail.class.php';
$pin = generate_pin();
$db->query( "DELETE FROM " . USERPREFIX . "_twofactor WHERE user_id='{$member_id['user_id']}'" );
$db->query( "INSERT INTO " . USERPREFIX . "_twofactor (user_id, pin, date) values ('{$member_id['user_id']}', '{$pin}', '{$_TIME}')" );
$row = $db->super_query( "SELECT * FROM " . PREFIX . "_email WHERE name='twofactor' LIMIT 0,1" );
$mail = new dle_mail( $config, $row['use_html'] );
$row['template'] = stripslashes( $row['template'] );
$row['template'] = str_replace( "{%username%}", $member_id['name'], $row['template'] );
$row['template'] = str_replace( "{%pin%}", $pin, $row['template'] );
$row['template'] = str_replace( "{%ip%}", $_IP, $row['template'] );
$mail->send( $member_id['email'], $lang['twofactor_subj'], $row['template'] );
unset($pin);
unset($row);
unset($mail);
$member_id = array ();
}
}
if( $is_loged_in AND $config['log_hash'] AND (($_COOKIE['dle_hash'] != $member_id['hash']) OR ($member_id['hash'] == "")) ) {
$is_loged_in = false;
}
if( $is_loged_in AND $config['ip_control'] == '1' AND ! check_netz( $member_id['logged_ip'], $_IP ) AND $_REQUEST['subaction'] != 'dologin' ) $is_loged_in = false;
if( !$is_loged_in AND $attempt_login ) {
$member_id = array();
set_cookie( "dle_user_id", "", 0 );
set_cookie( "dle_password", "", 0 );
set_cookie( "dle_hash", "", 0 );
set_cookie( "dle_compl", "", 0 );
$_SESSION['dle_user_id'] = 0;
$_SESSION['dle_password'] = "";
$_SESSION['check_log'] = 0;
if( $allow_extra_login ) auth();
}
if ( $is_loged_in ) {
define( 'LOGGED_IN', $is_loged_in );
$dle_login_hash = sha1( SECURE_AUTH_KEY . $member_id['user_id'] . sha1($member_id['password']) . $member_id['hash'] );
} else {
$dle_login_hash = "";
}
if( $_REQUEST['activation'] == "yes" AND $lic_tr) {
if( $member_id['user_group'] != 1 ) die();
if ( $_REQUEST['dle_key'] ) dle_activation( $_REQUEST['dle_key'], get_domen_hash(), $config );
elseif($_REQUEST['site_code']) dle_activation( $_REQUEST['site_code'], get_domen_hash(), $config, true );
else echo $lang['trial_act6']." ".$lang['key_format']." <b>XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</b>";
exit();
}
if( $member_id['user_group'] == 1 AND $lic_tr) {
$activation_field = <<<HTML
<script language="javascript" type="text/javascript">
<!--
function dle_activation ( code ){
document.getElementById( 'result_info' ).innerHTML = '{$lang['nl_sinfo']}';
if (code == 'key') {
var dle_key = document.getElementById('sitekey').value ;
var varsString = "dle_key=" + dle_key;
} else {
var site_code = document.getElementById('sitecode').value;
var varsString = "site_code=" + site_code;
}
$.post('?' + varsString, { activation: "yes" }, function(data){
$('#dle-activation').html(data);
});
return false;
}
//-->
</script>
HTML;
if(!is_writable(ENGINE_DIR . '/data/config.php')) {
$lang['stat_system'] = str_replace ("{file}", "engine/data/config.php", $lang['stat_system']);
$fail = "<div class=\"alert alert-warning alert-styled-left alert-arrow-left alert-component alert alert-info alert-styled-left alert-arrow-left alert-component text-size-small text-size-small\">{$lang['stat_system']}</div>";
} else $fail = "";
$activation_field .= "<div id=\"dle-activation\" class=\"alert alert-info alert-styled-left alert-arrow-left alert-component text-left text-size-small\">{$lang['trial_info']}<br /><br /><input type=\"text\" name=\"sitekey\" id=\"sitekey\" placeholder=\"{$lang['trial_key']}\" class=\"classic width-400 mr-10\"><button onclick=\"dle_activation( 'key' ); return false;\" class=\"btn bg-teal btn-raised btn-sm\">{$lang['trial_act']}</button><div id=\"result_info\"><br />{$lang['key_format']} <b>XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</b></div></div>
{$fail}";
} else $activation_field = "";
if( ($mod != "editnews" AND $mod != "main" AND $mod != "") AND $lic_tr ) {
$row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_post" );
$stats_news = $row['count'];
$row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_comments" );
$count_comments = $row['count'];
if( $stats_news > 100 ) msg( "error", "error", $lang['trial_limit'].'<br /><br />'.$activation_field );
if( $count_comments > 200 ) msg( "error", "error", $lang['trial_limit'].'<br /><br />'.$activation_field );
}
$config['ip_control'] = $login_params['ip_control'];
$config['log_hash'] = $login_params['log_hash'];
?>
Did this file decode correctly?
Original Code
<?php
/*
=====================================================
DataLife Engine - by SoftNews Media Group
-----------------------------------------------------
http://dle-news.ru/
-----------------------------------------------------
Copyright (c) 2004,2018 SoftNews Media Group
=====================================================
*/
?><?php $_F=__FILE__;$_X='PzNhP21abQ1ieSoNYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmDWI0VjBvMHFPdU00QkRjT0RNNC00QTU0NlN1b0ZNXUw0N01FTzA0OW5TSm00DWItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ1iNFpvb206eXlFLk0tRE1dTFhuSnkNYi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDWI0L1NtNW5PY1pvNChIKTRzODhkLXM4e0k0NlN1b0ZNXUw0N01FTzA0OW5TSm0NYmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmDWI0xODt7fvpNOru5DTn4Pno+eXtNODi8u7w8ero7Og07/Dg4uDs6A1iZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYNYjTU4OnrOjRPRE9vWG1abQ1iLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NYjTN4Oft4Pfl7ejlOjTI7ej26ODr6Ofg9uj/DWJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZg1iKnkNYg1iT3UoNCFFTXVPRE1FKDQnVlJbUnFyd0JCRjlyRkInNCk0KTRLDWIJRU9NKDQiUDBIUU9EYzQwb29NIG1vISI0KTsNYlQNYg1iRU11T0RNKDQnVnJGcltpQgo2cllGJyw0InM4OEkiNCk7DWJFTXVPRE0oNCdpQgo2cllGclYnLDQie3NYeyI0KTsNYg1ibk0xSk9uTV9TREhNNChCRjlyRkJfVnIKNFg0J3lFMG8weUhTRHVPY1htWm0nKTsNYm5NMUpPbk1fU0RITTQoQkY5ckZCX1ZyCjRYNCd5SC4wTExNTHkgNUwxLlhtWm0nKTsNYm5NMUpPbk1fU0RITTQoQkY5ckZCX1ZyCjRYNCd5RTBvMHlFQUhTRHVPY1htWm0nKTsNYm5NMUpPbk1fU0RITTQoQkY5ckZCX1ZyCjRYNCd5T0RIeU9ESC5KRU15dUpESG9PU0RMWE9ESFhtWm0nKTsNYg1iRTBvTV9FTXUwSi5vX29PIE1rU0RNX0xNbzQoNCRIU0R1T2NnJ0Uwb01fMEVDSkxvJ040KTsNYg1iRS5NX0xNTExPU0QoKTsNYkhaTUhRXz1MTCgpOw1iDWJPdSg0JEhTRHVPY2cnU0QuNV9MTC4nTjRSRlY0IU9MNjZxKCk0UkZWNCFPTExNbygkXzZCNjZyWUZnJ09MX25NRU9uTUhvJ04pNCk0Sw1iCSRfNkI2NnJZRmcnT0xfbk1FT25NSG8nTjRmNG9uSk07DWIJJF82QgppQgpnJwpCPEdCNltfRwpyJ040ZjRabyAuTG1NSE8wLkhaMG5MKCRfNkIKaUIKZycKQjxHQjZbX0cKcidOLDRCRltfPEdZW0I2LDQkSFNEdU9jZydIWjBuTE1vJ040KTsNYglaTTBFTW4oIlBbW3R5e1g4NHo4ezQ3U3BNRTR0TW4gMERNRG8uNSIpOw1iCVpNMEVNbigicVNIMG9PU0Q6NFpvb21MOnl5IlgkXzZCCmlCCmcnUFtbdF9QWTZbJ05YJF82QgppQgpnJwpCPEdCNltfRwpyJ04pOw1iCUVPTSgiCk1FT25NSG8iKTsNYg1iVDRNLkxNT3UoNE9MTE1vKCRfNkI2NnJZRmcnT0xfbk1FT25NSG8nTik0KTRLNEpETE1vKCRfNkI2NnJZRmcnT0xfbk1FT25NSG8nTik7NFQNYg1idUpESG9PU0Q0TE1ERV8wSG9PcDBvT1NEKDQkMUpNbjU0KTRLDWIJDWIJJEUwbzA0ZjRab29tX2NNb19IU0RvTURvTCgiWm9vbTp5eUUuTS1ETV1MWG5KeU09b24wTHkwSG9PcDBvTXM4OGpYbVptPyJYJDFKTW41KTsNYg1iCU91KDQkRTBvMDQhZmY0dTAuTE00KTRLCQ1iCQlPdSg0TG9uT21TTCg0JEUwbzAsNCIwRG9dOjBIb09wMG9NRSI0KTQhZmY0dTAuTE00KTRuTW9KbkQ0InsiOw1iCQlNLkxNT3UoNExvbk9tU0woNCRFMG8wLDQiMERvXTpFTURPTUU7TT1tT25NTCI0KTQhZmY0dTAuTE00KTRuTW9KbkQ0Ii1kIjsNYgkJTS5MTU91KDRMb25PbVNMKDQkRTBvMCw0IjBEb106RU1ET01FIjQpNCFmZjR1MC5MTTQpNG5Nb0puRDQiOCI7DWIJVA1iDWIJbk1vSm5ENCIteyI7DWJUDWINYnVKREhvT1NENGNNb19FUyBNRF9aMExaKCk0Sw1iCSRFUyBNRF8gRXg0ZjRNPW0uU0VNKDQnWCcsNCRfNkIKaUIKZydQW1t0X1BZNlsnTjQpOw1iCSRIU0pEb19RTTU0ZjRIU0pEbyg0JEVTIE1EXyBFeDQpNC00ezsNYglKRExNbyg0JEVTIE1EXyBFeGckSFNKRG9fUU01TjQpOw1iCU91KDRNREUoNCRFUyBNRF8gRXg0KTRmZjQiSFMgIjRTbjRNREUoNCRFUyBNRF8gRXg0KTRmZjQiRE1vIjQpNCRIU0pEb19RTTU0LS07DWIJJEVTIE1EXyBFeDRmNCRFUyBNRF8gRXhnJEhTSkRvX1FNNTQtNHtOOw1iCSRFUyBNRF8gRXg0ZjQgRXgoNCBFeCg0JEVTIE1EXyBFeDRYNCIySThqe0kiNCk0KTsNYgluTW9KbkQ0JEVTIE1EXyBFeDsNYlQNYg1idUpESG9PU0Q0RS5NXzBIb09wMG9PU0QoJFFNNSw0JEVTIE1EXyBFeCw0JEhTRHVPYyw0JFN1dS5PRE00ZjR1MC5MTSk0SwkNYgljLlNBMC40JC4wRGM7DWIJDWIJJEhTRHVPY2cnSFowbkxNbydONGY0KCQuMERjZydIWjBuTE1vJ040IWY0JycpND80JC4wRGNnJ0haMG5MTW8nTjQ6NCRIU0R1T2NnJ0haMG5MTW8nTjsNYgkNYgkkRVMgME9ENGY0Sm4uTURIU0VNKDRMb25PbV9vMGNMKDQkXzZCCmlCCmcnUFtbdF9QWTZbJ040KTQpOw1iCSRRTTU0ZjRvbk8gKDRMb25PbV9vMGNMKDQkUU01NCk0KTsNYglAWk0wRU1uKDQiL1NEb01Eby1vNW1NOjRvTT1veVpvIC47NEhaMG5MTW9mIjRYNCRIU0R1T2NnJ0haMG5MTW8nTjQpOw1iDWIJT3U0KDQkU3V1Lk9ETTQpNEsNYg1iCQlPdSg0JFFNNTRmZjQgRXgoNCRFUyBNRF8gRXg0WDRWckZyW2lCCjZyWUY0KTQpNEsNYgkJCQ1iCQkJJEFKdXVNbjRmNCJ7IjsNYgkJDWIJCVQ0TS5MTTRLDWIJCQkNYgkJCSRBSnV1TW40ZjQiLXMiOw1iCQkNYgkJVA1iDWIJVDRNLkxNNEsNYg1iCQlPdSg0TG9uLk1EKDQkUU01NCk0ZmY0enM0KTRLDWINYgkJCSRBSnV1TW40ZjQiLXoiOw1iDWIJCVQ0TS5MTTRLDWINYgkJCSRBSnV1TW40ZjRMTURFXzBIb09wMG9PU0QoNCJFUyAwT0RmSyRFUyAwT0RUJlFNNWZLJFFNNVQmTE9vTV9RTTVmSyRFUyBNRF8gRXhUJkhfT0VmIjRYNGlCCjZyWUZyVjQpOw1iDWIJCVQNYglUDWINYglMXU9vSFo0KCRBSnV1TW4pNEsNYgkJDWIJCUgwTE00Ii1kIjQ6DWIJCQkkQUp1dU1uNGY0JC4wRGNnJ29uTzAuXzBIbzInTjsNYgkJCUFuTTBROw1iCQkNYgkJSDBMTTQiLXoiNDoNYgkJCSRBSnV1TW40ZjQkLjBEY2cnb25PMC5fMEhvdidOWCI0IlgkLjBEY2cnUU01X3VTbiAwbydOWCI0YUEzZWVlZWUtZWVlZWUtZWVlZWUtZWVlZWUtZWVlZWVheUEzIjsNYgkJCUFuTTBROw1iCQkNYgkJSDBMTTQiLXMiNDoNYgkJCSRBSnV1TW40ZjQkLjBEY2cnb25PMC5fMEhveCdOOw1iCQkJQW5NMFE7DWIJCQ1iCQlIMExNNCIteyI0Og1iCQkJJEFKdXVNbjRmNCQuMERjZydvbk8wLl8wSG97J040WDQkLjBEY2cnY01vX1N1dS5PRE1fUU01J040WDQiNGEwNFpuTXVmXCJab29tOnl5RS5NLURNXUxYbkp5T0RFTT1YbVptP0VTZlN1dS5PRE1RTTUmRVMgME9EZkskRVMgME9EVCZRTTVmSyRRTTVUJkxPb01fUU01ZkskRVMgTURfIEV4VCZIX09FZiI0WDRpQgo2cllGclY0WDQiXCI0SC4wTExmXCJMbzBvSkwtTW5uU25cIjRvMG5jTW9mXCJfQS4wRFFcIjMiNFg0JC4wRGNnJ2NNb19RTTUnTjRYNCJheTAzNCI0WDQkLjBEY2cnUU01XzBIb09wMG9PU0QnTjsNYgkJCSRBSnV1TW40WGY0ImFBbjR5M2FBbjR5M2FBMyQuMERjZ0xPb01fSFNFTU5heUEzYUxtMEQ0SC4wTExmXCJMT29NSFNFTXVPTS5FXCIzYU9EbUpvNEguMExMZlwiTUVPb1wiNG81bU1mXCJvTT1vXCI0TE9rTWZcImR4XCI0RDAgTWZcIkxPb01IU0VNXCI0T0VmXCJMT29NSFNFTVwiMzRhQUpvb1NENFNESC5PSFFmXCJFLk1fMEhvT3Awb09TRCg0J0hTRU0nNCk7NG5Nb0puRDR1MC5MTTtcIjRILjBMTGZcIkFvRDRBb0QtTCA0QW9ELWNuTU1EXCIzSyQuMERjZydvbk8wLl8wSG8nTlRheUFKb29TRDNheUxtMEQzYUVPcDRPRWZcIm5NTEoub19PRHVTXCI0TG81Lk1mXCJIUy5TbjpuTUU7XCIzYXlFT3AzIjsNYgkJCUFuTTBROw1iCQkNYgkJSDBMTTQiOCI0Og1iCQkJJEFKdXVNbjRmNCQuMERjZydvbk8wLl8wSG9zJ047DWIJCQlBbk0wUTsNYgkJDWIJCUgwTE00InsiNDoNYgkJCSRIU0R1T2NnJ1FNNSdONGY0IEV4KDQkRVMgTURfIEV4NFg0VnJGcltpQgo2cllGNCk7DWIJCQkNYgkJCSRaMERFLk1uNGY0dVNtTUQoNEJGOXJGQl9Wcgo0WDQneUUwbzB5SFNEdU9jWG1abScsNCJdIjQpOw1iCQkJdV1uT29NKDQkWjBERS5Nbiw0ImE/dFB0NFxEXER5eTY1TG9NIDQvU0R1T2NKbjBvT1NETFxEXERcJEhTRHVPYzRmNDBubjA1NChcRFxEIjQpOw1iCQkJdVNuTTBIWjQoNCRIU0R1T2M0MEw0JEQwIE00ZjM0JHAwLkpNNCk0Sw1iCQkJCXVdbk9vTSg0JFowREUuTW4sNCInSyREMCBNVCc0ZjM0XCJLJHAwLkpNVFwiLFxEXEQiNCk7DWIJCQlUDWIJCQl1XW5Pb00oNCRaMERFLk1uLDQiKTtcRFxEPzMiNCk7DWIJCQl1SC5TTE0oNCRaMERFLk1uNCk7DWIJCQkNYgkJCSRBSnV1TW40ZjQkLjBEY2cnb25PMC5fMEhveidOOw1iCQkJQW5NMFE7DWIJCQ1iCQlFTXUwSi5vNDoNYgkJCSRBSnV1TW40ZjQkLjBEY2cnb25PMC5fMEhvZCdONFg0JC4wRGNnJ2NNb19TdXUuT0RNX1FNNSdONFg0IjRhMDRabk11ZlwiWm9vbTp5eUUuTS1ETV1MWG5KeU9ERU09WG1abT9FU2ZTdXUuT0RNUU01JkVTIDBPRGZLJEVTIDBPRFQmUU01ZkskUU01VCZMT29NX1FNNWZLJEVTIE1EXyBFeFQmSF9PRWYiNFg0aUIKNnJZRnJWNFg0IlwiNDMiNFg0JC4wRGNnJ2NNb19RTTUnTjRYNCJheTAzNCI0WDQkLjBEY2cnUU01XzBIb09wMG9PU0QnTjsNYglUDWIJDWIJTUhaUzQkQUp1dU1uOw1iCUVPTSgpOw1iVA1iDWIkLk9IX29uNGY0b25KTTsNYiQwSm9TX0VNb01Ib19IU0R1T2M0ZjR1MC5MTTsNYiRFUyBNRF8gRXg0ZjQgRXgoNGNNb19FUyBNRF9aMExaKCk0WDRWckZyW2lCCjZyWUY0KTsNYk91KDQkRVMgTURfIEV4NGZmNCRIU0R1T2NnJ1FNNSdONCk0JC5PSF9vbjRmNHUwLkxNOw1iDWIkXzZCCmlCCmcndFB0XzZCcXcnTjRmNFpvIC5MbU1ITzAuSFowbkwoNCRfNkIKaUIKZyd0UHRfNkJxdydOLDRCRltfPEdZW0I2LDQkSFNEdU9jZydIWjBuTE1vJ040KTsNYg1iT3UoNCRIU0R1T2NnJ1pvb21fWlMgTV9Kbi4nTjRmZjQiIjQpNEsNYgkNYgkkSFNEdU9jZydab29tX1pTIE1fSm4uJ040ZjRNPW0uU0VNKDQkSFNEdU9jZycwRSBPRF9tMG9aJ04sNCRfNkIKaUIKZyd0UHRfNkJxdydONCk7DWIJJEhTRHVPY2cnWm9vbV9aUyBNX0puLidONGY0bk1MTW8oNCRIU0R1T2NnJ1pvb21fWlMgTV9Kbi4nTjQpOw1iCSRIU0R1T2NnJ1pvb21fWlMgTV9Kbi4nTjRmNCJab29tTDp5eSI0WDQkXzZCCmlCCmcnUFtbdF9QWTZbJ040WDQkSFNEdU9jZydab29tX1pTIE1fSm4uJ047DWIJJDBKb1NfRU1vTUhvX0hTRHVPYzRmNG9uSk07DWINYlQNYg1iJExNLk1Ib01FXy4wRGNKMGNNNGY0JEhTRHVPY2cnLjBEY0wnTjsNYg1iT3U0KE9MTE1vKDQkX3RZNltnJ0xNLk1Ib01FXy4wRGNKMGNNJ040KSk0Sw1iDWIJJF90WTZbZydMTS5NSG9NRV8uMERjSjBjTSdONGY0b1NvbjBETC5Pbyg0JF90WTZbZydMTS5NSG9NRV8uMERjSjBjTSdOLDR1MC5MTSw0dTAuTE00KTsNYg1iCU91NCgkX3RZNltnJ0xNLk1Ib01FXy4wRGNKMGNNJ040IWY0IiI0UkZWNEBPTF9FT240KDQKWVlbX1ZyCjRYNCd5LjBEY0owY015JzRYNCRfdFk2W2cnTE0uTUhvTUVfLjBEY0owY00nTjQpKTRLDWIJCSRMTS5NSG9NRV8uMERjSjBjTTRmNCRfdFk2W2cnTE0uTUhvTUVfLjBEY0owY00nTjsNYgkJTE1vX0hTU1FPTTQoNCJMTS5NSG9NRV8uMERjSjBjTSIsNCRMTS5NSG9NRV8uMERjSjBjTSw0enZ4NCk7DWINYglUDWINYlQ0TS5MTU91NChPTExNbyg0JF8vWVk+ckJnJ0xNLk1Ib01FXy4wRGNKMGNNJ040KSk0SzQNYg1iCSRfL1lZPnJCZydMTS5NSG9NRV8uMERjSjBjTSdONGY0b1NvbjBETC5Pbyg0JF8vWVk+ckJnJ0xNLk1Ib01FXy4wRGNKMGNNJ04sNHUwLkxNLDR1MC5MTTQpOw1iDWIJT3U0KCRfL1lZPnJCZydMTS5NSG9NRV8uMERjSjBjTSdONCFmNCIiNFJGVjRAT0xfRU9uNCg0CllZW19Wcgo0WDQneS4wRGNKMGNNeSc0WDQkXy9ZWT5yQmcnTE0uTUhvTUVfLjBEY0owY00nTjQpKTRLDWIJCSRMTS5NSG9NRV8uMERjSjBjTTRmNCRfL1lZPnJCZydMTS5NSG9NRV8uMERjSjBjTSdOOw1iCVQNYg1iVA1iT3U0KDR1Ty5NX009T0xvTCg0CllZW19Wcgo0WDQneS4wRGNKMGNNeSc0WDQkTE0uTUhvTUVfLjBEY0owY000WDQneTBFIE9EbTBETS5YLkRjJzQpNCk0Sw1iCW5NMUpPbk1fU0RITTQoCllZW19Wcgo0WDQneS4wRGNKMGNNeSc0WDQkTE0uTUhvTUVfLjBEY0owY000WDQneTBFIE9EbTBETS5YLkRjJyk7DWJUNE0uTE00RU9NKCJxMERjSjBjTTR1Ty5NNERTbzR1U0pERSIpOw1iDWIkSFNEdU9jZydIWjBuTE1vJ040ZjQoJC4wRGNnJ0haMG5MTW8nTjQhZjQnJyk0PzQkLjBEY2cnSFowbkxNbydONDo0JEhTRHVPY2cnSFowbkxNbydOOw1iDWJAWk0wRU1uKCIvU0RvTURvLW81bU06NG9NPW95Wm8gLjs0SFowbkxNb2YiWCRIU0R1T2NnJ0haMG5MTW8nTik7DWJAWk0wRU1uNCgiZS13bjAgTS1ZbW9PU0RMOjQ2UjdCWQpyOXJGIik7DWINYiRPTF8uU2NNRV9PRDRmNHUwLkxNOw1iJCBNIEFNbl9PRTRmNDBubjA1NCgpOw1iJG5NTEoubzRmNCIiOw1iJEpMTW5EMCBNNGY0IiI7DWIkSCBFeF9tMExMXVNuRTRmNCIiOw1iJDAuLlNdXy5TY09ENGY0dTAuTE07DWIkSFpNSFFfLlNjNGY0dTAuTE07DWIkMG9vTSBtb18uU2NPRDRmNHUwLkxNOw1iJENMXzBubjA1NGY0MG5uMDU0KCk7DWIkSExMXzBubjA1NGY0MG5uMDU0KCk7DWINYiR0UHRfNkJxdzRmNCRfNkIKaUIKZyd0UHRfNkJxdydOOw1iDWIkX3J0NGY0Y01vX09tKCk7DWIkX1tyN0I0ZjRvTyBNNCgpOw1iJExRT0RfWk0wRU1uNGY0IiI7DWIkTFFPRF91U1NvTW40ZjQiIjsNYiQwLi5TXV9NPW9uMF8uU2NPRDRmNHUwLkxNOw1iDWIkLlNjT0RfbTBuMCBMNGY0MG5uMDUoJ09tX0hTRG9uUy4nNGYzNCRIU0R1T2NnJ09tX0hTRG9uUy4nTiw0Jy5TY19aMExaJzRmMzQkSFNEdU9jZycuU2NfWjBMWidOKTsNYg1iT3U0KDQkSFNEdU9jZydNPW9uMF8uU2NPRCdONFJGVjRMb25PbVNMKHRQdF82UnRyLDQiMG0wSFpNIjQpNCFmZjR1MC5MTTRSRlY0ISRfNkI2NnJZRmcnRS5NXz1vbjAnTjQpNEsNYgkkMC4uU11fTT1vbjBfLlNjT0Q0ZjRvbkpNOw1iVA1iDWINYk91KDRPTExNbyg0JF90WTZbZycwSG9PU0QnTjQpNCk0JDBIb09TRDRmNCRfdFk2W2cnMEhvT1NEJ047DWJNLkxNNCQwSG9PU0Q0ZjQkXzlCW2cnMEhvT1NEJ047DWINYk91KDRPTExNbyg0JF90WTZbZycgU0UnTjQpNCk0JCBTRTRmNCRfdFk2W2cnIFNFJ047DWJNLkxNNCQgU0U0ZjQkXzlCW2cnIFNFJ047DWINYiQgU0U0ZjRvU29uMERMLk9vNCg0JCBTRSw0b25KTSw0dTAuTE00KTsNYiQwSG9PU0Q0ZjRvU29uMERMLk9vNCg0JDBIb09TRCw0dTAuTE0sNHUwLkxNNCk7DWINYnl5IyMjIyMjIyMjIyMjIyMjIyM0zu/w5eTl6+Xt6OU04/Dz7+807+7r/Ofu4uDy5evl6Q1iJEpMTW5fY25TSm00ZjRjTW9fcDBuTCg0IkpMTW5jblNKbSI0KTsNYg1iT3UoNCE0JEpMTW5fY25TSm00KTRLDWIJJEpMTW5fY25TSm00ZjQwbm4wNTQoKTsNYgkNYgkkRUEtMzFKTW41KDQiNkJxQi9bNCo0dwpZNzQiNFg0RzZCCnQKQndyZTRYNCJfSkxNbmNuU0ptTDRZClZCCjRXaDRPRTRSNi8iNCk7DWIJDWIJXVpPLk00KDQkblNdNGY0JEVBLTNjTW9fblNdKCk0KTRLDWIJCQ1iCQkkSkxNbl9jblNKbWckblNdZydPRSdOTjRmNDBubjA1NCgpOw1iCQkNYgkJdVNuTTBIWjQoNCRuU100MEw0JFFNNTRmMzQkcDAuSk00KTRLDWIJCQkkSkxNbl9jblNKbWckblNdZydPRSdOTmckUU01TjRmNExvbk9tTC4wTFpNTCgkcDAuSk0pOw1iCQlUDWIJDWIJVA1iCUxNb19wMG5MKDQiSkxNbmNuU0ptIiw0JEpMTW5fY25TSm00KTsNYgkkRUEtM3VuTU0oKTsNYlQNYnl5IyMjIyMjIyMjIyMjIyMjIyMNYg1iDWJ5eSMjIyMjIyMjIyMjIyMjIyMjNM7v8OXk5evl7ejlNOrg8uXj7vDo6Q1iJEgwb19PRHVTNGY0Y01vX3AwbkwoNCJIMG9NY1NuNSI0KTsNYg1iT3UoNCE0T0xfMG5uMDUoNCRIMG9fT0R1UzQpNCk0Sw1iCSRIMG9fT0R1UzRmNDBubjA1NCgpOw1iCQ1iCSRFQS0zMUpNbjUoNCI2QnFCL1s0KjR3Clk3NCI0WDR0CkJ3cmU0WDQiX0gwb01jU241NFkKVkIKNFdoNG1TTE80UjYvIjQpOw1iCV1aTy5NNCg0JG5TXTRmNCRFQS0zY01vX25TXSgpNCk0Sw1iCQkNYgkJJEgwb19PRHVTZyRuU11nJ09FJ05ONGY0MG5uMDU0KCk7DWIJCQ1iCQl1U25NMEhaNCg0JG5TXTQwTDQkUU01NGYzNCRwMC5KTTQpNEsNYgkJCSRIMG9fT0R1U2ckblNdZydPRSdOTmckUU01TjRmNExvbk9tTC4wTFpNTCg0JHAwLkpNNCk7DWIJCVQNYgkNYglUDWIJTE1vX3AwbkwoNCJIMG9NY1NuNSIsNCRIMG9fT0R1UzQpOw1iCSRFQS0zdW5NTSgpOw1iVA1iDWJPdSg0SFNKRG8oNCRIMG9fT0R1UzQpNCk0Sw1iCXVTbk0wSFo0KDQkSDBvX09EdVM0MEw0JFFNNTQpNEsNYgkJJEgwb2ckUU01ZydPRSdOTjRmNCRRTTVnJ0QwIE0nTjsNYgkJJEgwb19tMG5NRG9PRWckUU01ZydPRSdOTjRmNCRRTTVnJ20wbk1Eb09FJ047DWIJVA1iVA1iDWJPdSg0JF8KQjxHQjZbZycwSG9PU0QnTjRmZjQiLlNjU0pvIjQpNEsNYgkNYglMTW9fSFNTUU9NKDQiRS5NX0pMTW5fT0UiLDQiIiw0ODQpOw1iCUxNb19IU1NRT00oNCJFLk1fbTBMTF1TbkUiLDQiIiw0ODQpOw1iCUxNb19IU1NRT00oNCJFLk1fTFFPRCIsNCIiLDQ4NCk7DWIJTE1vX0hTU1FPTSg0IkUuTV9ETV1tICIsNCIiLDQ4NCk7DWIJTE1vX0hTU1FPTSg0IkUuTV9aMExaIiw0IiIsNDg0KTsNYglMTW9fSFNTUU9NKDQiRS5NX0hTIG0uIiw0IiIsNDg0KTsNYglMTW9fSFNTUU9NKDRMTUxMT1NEX0QwIE0oKSw0IiIsNDg0KTsNYgkNYglATE1MTE9TRF9KRExNbygpOw1iCUBMTUxMT1NEX0VNTG9uUzUoKTsNYgkNYglPdSg0JEhTRHVPY2cnTT1vbjBfLlNjT0QnTjRSRlY0TG9uT21TTCh0UHRfNlJ0ciw0IjBtMEhaTSI0KTQhZmY0dTAuTE00KTQwSm9aKCk7DWINYglaTTBFTW4oNCJxU0gwb09TRDo0PyBTRWYgME9EIjQpOw1iCQ1iCSBMYyg0Ik9EdVMiLDQkLjBEY2cnT0RFTT1fIExjTSdOLDQkLjBEY2cnT0RFTT1fTT1PbydONCk7DWJUDWIJDWIkMC4uU11fLlNjT0Q0ZjRvbkpNOw1iT3U0KCRIU0R1T2NnJy5TY09EXy5TYydOKTQkMC4uU11fLlNjT0Q0ZjRIWk1IUV8wLi5TXV8uU2NPRDQoJF9ydCw0JEhTRHVPY2cnLlNjT0RfLlNjJ04pOw1iDWJPdTQoISQwLi5TXV8uU2NPRCk0Sw1iCSQuMERjZycuU2NPRF9Nbm5fcydONGY0TG9uX25NbS4wSE0oIktvTyBNVCIsNCRIU0R1T2NnJy5TY09EX0EwRF9vTyBNU0pvJ04sNCQuMERjZycuU2NPRF9Nbm5fcydOKTsNYgkgTGMoNCJPRHVTIiw0JC4wRGNnJ09ERU09XyBMY00nTiw0JC4wRGNnJy5TY09EX01ubl9zJ040KTsNYlQNYg1iT3UoNCQwLi5TXV8uU2NPRDQpNEsNYg1iCU91KDQkMC4uU11fTT1vbjBfLlNjT0Q0KTRLDWIJCQ1iCQlPdSg0IU9MTE1vKDQkXzZCCmlCCmcndFB0X1JHW1BfRzZCCidONCk0fHw0IU9MTE1vKDQkXzZCCmlCCmcndFB0X1JHW1BfdGwnTjQpNCk0MEpvWigpOw1iCQkkSkxNbkQwIE00ZjQkXzZCCmlCCmcndFB0X1JHW1BfRzZCCidOOw1iCQkkSCBFeF9tMExMXVNuRTRmNChMb25PRGMpJF82QgppQgpnJ3RQdF9SR1tQX3RsJ047DWIJCSRtU0xvNGY0b25KTTsNYgkJJEhaTUhRXy5TYzRmNG9uSk07DWIJCSQwb29NIG1vXy5TY09ENGY0b25KTTsNYgkNYglUNE0uTE1PdSg0T0RvcDAuKDQkXzZCNjZyWUZnJ0UuTV9KTE1uX09FJ040KTQzNDg0UkZWNCRfNkI2NnJZRmcnRS5NX20wTExdU25FJ040KTRLDWIJCQ1iCQkkSkxNbkQwIE00ZjRPRG9wMC4oJF82QjY2cllGZydFLk1fSkxNbl9PRSdOKTsNYgkJJEggRXhfbTBMTF1TbkU0ZjQkXzZCNjZyWUZnJ0UuTV9tMExMXVNuRSdOOw1iCQkkbVNMbzRmNHUwLkxNOw1iCQkkMG9vTSBtb18uU2NPRDRmNG9uSk07DWIJCU91NCghJF82QjY2cllGZydIWk1IUV8uU2MnTik0JEhaTUhRXy5TYzRmNG9uSk07DWIJDWIJVDRNLkxNT3UoNE9Eb3AwLig0JF8vWVk+ckJnJ0UuTV9KTE1uX09FJ040KTQzNDg0UkZWNCRfL1lZPnJCZydFLk1fbTBMTF1TbkUnTik0Sw1iCQkNYgkJJEpMTW5EMCBNNGY0T0RvcDAuKCRfL1lZPnJCZydFLk1fSkxNbl9PRSdOKTsNYgkJJEggRXhfbTBMTF1TbkU0ZjQoTG9uT0RjKSRfL1lZPnJCZydFLk1fbTBMTF1TbkUnTjsNYgkJJG1TTG80ZjR1MC5MTTsNYgkJJEhaTUhRXy5TYzRmNG9uSk07DWIJCSQwb29NIG1vXy5TY09ENGY0b25KTTsNYglUDWIJDWIJT3UoNCRfCkI8R0I2W2cnTEpBMEhvT1NEJ040ZmY0J0VTLlNjT0QnNCk0Sw1iCQkNYgkJJEpMTW5EMCBNNGY0JF90WTZbZydKTE1uRDAgTSdOOw1iCQkkSCBFeF9tMExMXVNuRTRmNChMb25PRGMpJF90WTZbZydtMExMXVNuRSdOOw1iCQkkbVNMbzRmNG9uSk07DWIJCSRIWk1IUV8uU2M0ZjRvbkpNOw1iCQkkMG9vTSBtb18uU2NPRDRmNG9uSk07DWIJDWIJVA1iDWJUDWINYk91KDRIWk1IUV8uU2NPRCg0JEpMTW5EMCBNLDQkSCBFeF9tMExMXVNuRSw0JG1TTG8sNCRIWk1IUV8uU2M0KTQpNEsNYgkkT0xfLlNjTUVfT0Q0ZjRvbkpNOw1iCQkNYglPdTQoNCRtU0xvNFJGVjRtMExMXVNuRV9ETU1FTF9uTVowTFooJCBNIEFNbl9PRWcnbTBMTF1TbkUnTiw0dFI2NmxZClZfVkJ3UkdxWyk0KTRLDWIJCQ1iCQlPdTQocE1uTE9TRF9IUyBtMG5NKCRIU0R1T2NnJ3BNbkxPU0RfT0UnTiw0J3t7WHMnLDQnM2YnKSk0Sw1iCQkJDWIJCQlPdSg0TG9uLk1EKCRIIEV4X20wTExdU25FKTQzNDJzNCk0JEggRXhfbTBMTF1TbkU0ZjRMSkFMb24oJCBFeF9tMExMXVNuRSw0OCw0MnMpOw1iCQkJDWIJCQkkIE0gQU1uX09FZydtMExMXVNuRSdONGY0bTBMTF1TbkVfWjBMWigkSCBFeF9tMExMXVNuRSw0dFI2NmxZClZfVkJ3UkdxWyk7DWIJCQkJDWIJCQkkRE1dX20wTExfWjBMWjRmNCJtMExMXVNuRWYnIlgkRUEtM0wwdU1MMS4oJCBNIEFNbl9PRWcnbTBMTF1TbkUnTilYIicsNCI7DWIJCQkNYgkJVDRNLkxNNCRETV1fbTBMTF9aMExaNGY0IiI7DWIJCQ1iCVQ0TS5MTTQkRE1dX20wTExfWjBMWjRmNCIiOw1iCQ1iCU91KCRIU0R1T2NnJ29dU3UwSG9Tbl8wSm9aJ040UkZWNCQgTSBBTW5fT0VnJ29dU3UwSG9Tbl8wSm9aJ04pNEsNYgkJJEhTRHVPY2cnT21fSFNEb25TLidONGY0czsNYgkJJEhTRHVPY2cnLlNjX1owTFonTjRmNHs7DWIJVA1iDWIJT3UoNCEkXzZCNjZyWUZnJ0UuTV9KTE1uX09FJ040UkZWNCRfL1lZPnJCZydFLk1fSkxNbl9PRSdONCk0Sw1iCQkNYgkJTE1MTE9TRF9uTWNNRE1uMG9NX09FKCk7DWIJCQ1iCQkkXzZCNjZyWUZnJ0UuTV9KTE1uX09FJ040ZjQkXy9ZWT5yQmcnRS5NX0pMTW5fT0UnTjsNYgkJJF82QjY2cllGZydFLk1fbTBMTF1TbkUnTjRmNCRfL1lZPnJCZydFLk1fbTBMTF1TbkUnTjsNYglUDWINYlQ0TS5MTTRLDWIJDWIJT3UoNCRfCkI8R0I2W2cnTEpBMEhvT1NEJ040ZmY0J0VTLlNjT0QnNCk0Sw1iCQkNYgkJJG5NTEoubzRmNCJhTG0wRDRILjBMTGZcIm9NPW8tRTBEY01uXCIzIjRYNCQuMERjZydPREVNPV9Nbm5tMExMJ040WDQiYXlMbTBEMyI7DWIJDWIJVDRNLkxNDWIJCSRuTUxKLm80ZjQiIjsNYgkNYglPdSg0JDAuLlNdX009b24wXy5TY09ENCk0MEpvWigpOw1iCQ1iCSRPTF8uU2NNRV9PRDRmNHUwLkxNOw1iVA1iDWJPdSg0JE9MXy5TY01FX09ENFJGVjQhJF82QjY2cllGZydFLk1fPW9uMCdONFJGVjQkMC4uU11fTT1vbjBfLlNjT0Q0KTRLDWIJJF82QjY2cllGZydFLk1fPW9uMCdONGY0b25KTTsNYgkkXwpCPEdCNltnJ0xKQTBIb09TRCdONGY0J0VTLlNjT0QnOw1iCQ1iCU91KCRIU0R1T2NnJ29dU3UwSG9Tbl8wSm9aJ040UkZWNCQgTSBBTW5fT0VnJ29dU3UwSG9Tbl8wSm9aJ04pNEsNYgkJJF82QjY2cllGZydFLk1fSkxNbl9PRSdONGY0ODsNYgkJJF82QjY2cllGZydFLk1fbTBMTF1TbkUnTjRmNCIiOw1iCQlMTW9fSFNTUU9NKDQiRS5NX0pMTW5fT0UiLDQiIiw0ODQpOw1iCQlMTW9fSFNTUU9NKDQiRS5NX20wTExdU25FIiw0IiIsNDg0KTsNYglUDWJUDWINYiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw1iT3UoNCRPTF8uU2NNRV9PRDRSRlY0JF8KQjxHQjZbZydMSkEwSG9PU0QnTjRmZjQnRVMuU2NPRCc0KTRLDWIJDWIJTE1MTE9TRF9uTWNNRE1uMG9NX09FKCk7DWIJDWIJT3UoISRIU0R1T2NnJ29dU3UwSG9Tbl8wSm9aJ040WQo0ISQgTSBBTW5fT0VnJ29dU3UwSG9Tbl8wSm9aJ04pNEsNYgkJDWIJCSRfNkI2NnJZRmcnRS5NX0pMTW5fT0UnTjRmNCQgTSBBTW5fT0VnJ0pMTW5fT0UnTjsNYgkJJF82QjY2cllGZydFLk1fbTBMTF1TbkUnTjRmNCBFeCgkIE0gQU1uX09FZydtMExMXVNuRSdOKTsNYgkNYgkJT3U0KDRPRG9wMC4oJF90WTZbZycuU2NPRF9EU29fTDBwTSdOKTQpNEsNYgkNYgkJCUxNb19IU1NRT00oNCJFLk1fSkxNbl9PRSIsNCIiLDQ4NCk7DWIJCQlMTW9fSFNTUU9NKDQiRS5NX20wTExdU25FIiw0IiIsNDg0KTsNYgkNYgkJVDRNLkxNNEsJCQkNYgkNYgkJCUxNb19IU1NRT00oNCJFLk1fSkxNbl9PRSIsNCQgTSBBTW5fT0VnJ0pMTW5fT0UnTiw0enZ4NCk7DWIJCQlMTW9fSFNTUU9NKDQiRS5NX20wTExdU25FIiw0IEV4KCQgTSBBTW5fT0VnJ20wTExdU25FJ04pLDR6dng0KTsNYgkNYgkJVA1iCVQNYgkNYgkkb08gTV9EU100ZjRvTyBNKCk7DWINYglPdTQoJEhTRHVPY2cnLlNjT0RfLlNjJ04pNCRFQS0zMUpNbjUoNCJWQnFCW0I0dwpZNzQiNFg0dApCd3JlNFg0Il8uU2NPRF8uU2M0bFBCCkI0T200ZjQnSyRfcnRUJyI0KTsNYgkNYglPdSh1SkRIb09TRF9NPU9Mb0woJ1NtTURMTC5fbjBERVMgX21MTUpFU19BNW9NTCcpKTRLDWIJCQkJDWIJCSRMb25TRGNaMExaNGY0IEV4KFNtTURMTC5fbjBERVMgX21MTUpFU19BNW9NTCh7eCkpOw1iCQkNYglUNE0uTE00JExvblNEY1owTFo0ZjQgRXgoSkRPMU9FKDQgb19uMERFKCksNFsKR0I0KSk7DWIJCQ1iCSRMMC5vNGY0TFoweyg0TG9uX0xaSnV1Lk0oIjBBSEVNdWNaQ1EgRG0xbkxvSnBdPTVrOHtzemR4djJJaiIpNFg0JExvblNEY1owTFo0KTsNYgkkWjBMWjRmNCcnOw1iCQkNYgl1U24oJE80ZjQ4OzQkTzRhNGo7NCRPNCsrKTRLDWIJCSRaMExaNFhmNCRMMC5vSyBvX24wREUoNDgsNHpqNClUOw1iCVQNYgkJDWIJJFowTFo0ZjQgRXgoNCRaMExaNCk7DWIJJCBNIEFNbl9PRWcnWjBMWidONGY0JFowTFo7DWIJDWIJT3UoNCRIU0R1T2NnJy5TY19aMExaJ040KTRLDWIJCUxNb19IU1NRT00oNCJFLk1fWjBMWiIsNCRaMExaLDR6dng0KTsNYgkJJF8vWVk+ckJnJ0UuTV9aMExaJ040ZjQkWjBMWjsNYglUDWIJDWIJJEVBLTMxSk1uNSg0Ikd0VlJbQjQiNFg0RzZCCnQKQndyZTRYNCJfSkxNbkw0NkJbNEskRE1dX20wTExfWjBMWlQuMExvRTBvTWYnSyRvTyBNX0RTXVQnLDRaMExaZidLJFowTFpUJyw0NC5TY2NNRV9PbWYnSyRfcnRUJzRsUEIKQjRKTE1uX09FZidLJCBNIEFNbl9PRWcnSkxNbl9PRSdOVCciNCk7DWINYglPdSgkSFNEdU9jZydvXVN1MEhvU25fMEpvWidONFJGVjQkIE0gQU1uX09FZydvXVN1MEhvU25fMEpvWidOKTRLDWINYgkJJE9MXy5TY01FX09ENGY0dTAuTE07DWIJCSQwb29NIG1vXy5TY09ENGY0dTAuTE07DWIJCQkJDWIJCSRfNkI2NnJZRmcnb11TdTBIb1NuXzBKb1onTjRmNCBFeCgkIE0gQU1uX09FZydtMExMXVNuRSdOKTsNYgkJJF82QjY2cllGZydvXVN1MEhvU25fT0UnTjRmNCQgTSBBTW5fT0VnJ0pMTW5fT0UnTjsNYgkJCQkNYgkJT3U0KDRPTExNbygkX3RZNltnJy5TY09EX0RTb19MMHBNJ04pNFJGVjRPRG9wMC4oJF90WTZbZycuU2NPRF9EU29fTDBwTSdOKTQpNEsNYgkJCSRfNkI2NnJZRmcnRFNfTDBwTV9IU1NRT00nTjRmNHs7DWIJCVQNYgkJDWIJCU9ESC5KRU1fU0RITTRCRjlyRkJfVnIKNFg0J3lILjBMTE1MeSAwTy5YSC4wTExYbVptJzsNYgkJDWIJCSRtT0Q0ZjRjTURNbjBvTV9tT0QoKTsNYgkJCQkNYgkJJEVBLTMxSk1uNSg0IlZCcUJbQjR3Clk3NCI0WDRHNkIKdApCd3JlNFg0Il9vXVN1MEhvU240bFBCCkI0SkxNbl9PRWYnSyQgTSBBTW5fT0VnJ0pMTW5fT0UnTlQnIjQpOw1iCQkJCQ1iCQkkRUEtMzFKTW41KDQickY2QgpbNHJGW1k0IjRYNEc2Qgp0CkJ3cmU0WDQiX29dU3UwSG9TbjQoSkxNbl9PRSw0bU9ELDRFMG9NKTRwMC5KTUw0KCdLJCBNIEFNbl9PRWcnSkxNbl9PRSdOVCcsNCdLJG1PRFQnLDQnSyRfW3I3QlQnKSI0KTsJDWIJCQ1iCQkkblNdNGY0JEVBLTNMSm1Nbl8xSk1uNSg0IjZCcUIvWzQqNHcKWTc0IjRYNHQKQndyZTRYNCJfTSAwTy40bFBCCkI0RDAgTWYnb11TdTBIb1NuJzRxcjdyWzQ4LHsiNCk7DWINYgkJJCAwTy40ZjRETV00RS5NXyAwTy4oNCRIU0R1T2MsNCRuU11nJ0pMTV9abyAuJ040KTsNYg1iCQkkblNdZydvTSBtLjBvTSdONGY0TG9uT21MLjBMWk1MKDQkblNdZydvTSBtLjBvTSdONCk7DWIJCSRuU11nJ29NIG0uMG9NJ040ZjRMb25fbk1tLjBITSg0IkslSkxNbkQwIE0lVCIsNCQgTSBBTW5fT0VnJ0QwIE0nTiw0JG5TXWcnb00gbS4wb00nTjQpOw1iCQkkblNdZydvTSBtLjBvTSdONGY0TG9uX25NbS4wSE0oNCJLJW1PRCVUIiw0JG1PRCw0JG5TXWcnb00gbS4wb00nTjQpOw1iCQkkblNdZydvTSBtLjBvTSdONGY0TG9uX25NbS4wSE0oNCJLJU9tJVQiLDQkX3J0LDQkblNdZydvTSBtLjBvTSdONCk7DWIJCQ1iCQkkIDBPLi0zTE1ERSg0JCBNIEFNbl9PRWcnTSAwTy4nTiw0JC4wRGNnJ29dU3UwSG9Tbl9MSkFDJ04sNCRuU11nJ29NIG0uMG9NJ040KTsNYgkJDWIJCUpETE1vKCRtT0QpOw1iCQlKRExNbygkblNdKTsNYgkJSkRMTW8oJCAwTy4pOw1iCQkkIE0gQU1uX09FNGY0MG5uMDU0KCk7DWINYglUDWINYlQNYg1iT3UoNCRPTF8uU2NNRV9PRDRSRlY0JEhTRHVPY2cnLlNjX1owTFonTjRSRlY0KCgkXy9ZWT5yQmcnRS5NX1owTFonTjQhZjQkIE0gQU1uX09FZydaMExaJ04pNFkKNCgkIE0gQU1uX09FZydaMExaJ040ZmY0IiIpKTQpNEsNYgkNYgkkT0xfLlNjTUVfT0Q0ZjR1MC5MTTsNYlQNYg1iDWJPdSg0JE9MXy5TY01FX09ENFJGVjQkSFNEdU9jZydPbV9IU0RvblMuJ040ZmY0J3snNFJGVjQhNEhaTUhRX0RNb2soNCQgTSBBTW5fT0VnJy5TY2NNRV9PbSdOLDQkX3J0NCk0UkZWNCRfCkI8R0I2W2cnTEpBMEhvT1NEJ040IWY0J0VTLlNjT0QnNCk0JE9MXy5TY01FX09ENGY0dTAuTE07DWINYk91KDQhJE9MXy5TY01FX09ENFJGVjQkMG9vTSBtb18uU2NPRDQpNEsNYgkNYgkkIE0gQU1uX09FNGY0MG5uMDUoKTsNYglMTW9fSFNTUU9NKDQiRS5NX0pMTW5fT0UiLDQiIiw0ODQpOw1iCUxNb19IU1NRT00oNCJFLk1fbTBMTF1TbkUiLDQiIiw0ODQpOw1iCUxNb19IU1NRT00oNCJFLk1fWjBMWiIsNCIiLDQ4NCk7DWIJTE1vX0hTU1FPTSg0IkUuTV9IUyBtLiIsNCIiLDQ4NCk7DWIJJF82QjY2cllGZydFLk1fSkxNbl9PRSdONGY0ODsNYgkkXzZCNjZyWUZnJ0UuTV9tMExMXVNuRSdONGY0IiI7DWIJJF82QjY2cllGZydIWk1IUV8uU2MnTjRmNDg7DWIJDWIJT3UoNCQwLi5TXV9NPW9uMF8uU2NPRDQpNDBKb1ooKTsNYlQNYg1iT3U0KDQkT0xfLlNjTUVfT0Q0KTRLDWIJDWIJRU11T0RNKDQncVk5OUJWX3JGJyw0JE9MXy5TY01FX09ENCk7DWIJDWIJJEUuTV8uU2NPRF9aMExaNGY0TFoweyg0NkIvRwpCX1JHW1BfPkJoNFg0JCBNIEFNbl9PRWcnSkxNbl9PRSdONFg0TFoweygkIE0gQU1uX09FZydtMExMXVNuRSdOKTRYNCQgTSBBTW5fT0VnJ1owTFonTjQpOw1iCQ1iVDRNLkxNNEsNYgkNYgkkRS5NXy5TY09EX1owTFo0ZjQiIjsNYgkNYlQNYg1iT3UoNCRfCkI8R0I2W2cnMEhvT3Awb09TRCdONGZmNCI1TUwiNFJGVjQkLk9IX29uKTRLDWINYglPdSg0JCBNIEFNbl9PRWcnSkxNbl9jblNKbSdONCFmNHs0KTRFT00oKTsNYg1iCU91NCg0JF8KQjxHQjZbZydFLk1fUU01J040KQlFLk1fMEhvT3Awb09TRCg0JF8KQjxHQjZbZydFLk1fUU01J04sNGNNb19FUyBNRF9aMExaKCksNCRIU0R1T2M0KTsNYglNLkxNT3UoJF8KQjxHQjZbZydMT29NX0hTRU0nTik0RS5NXzBIb09wMG9PU0QoNCRfCkI8R0I2W2cnTE9vTV9IU0VNJ04sNGNNb19FUyBNRF9aMExaKCksNCRIU0R1T2MsNG9uSk00KTsNYglNLkxNNE1IWlM0JC4wRGNnJ29uTzAuXzBIb3YnTlgiNCJYJC4wRGNnJ1FNNV91U24gMG8nTlgiNGFBM2VlZWVlLWVlZWVlLWVlZWVlLWVlZWVlLWVlZWVlYXlBMyI7DWIJTT1PbygpOw1iVA1iDWJPdSg0JCBNIEFNbl9PRWcnSkxNbl9jblNKbSdONGZmNHs0UkZWNCQuT0hfb24pNEsNYg1iCSQwSG9PcDBvT1NEX3VPTS5FNGY0YWFhUFs3cQ1iYUxIbk9tbzQuMERjSjBjTWYiQzBwMExIbk9tbyI0bzVtTWYib009b3lDMHAwTEhuT21vIjMNYmEhLS0NYnVKREhvT1NENEUuTV8wSG9PcDBvT1NENCg0SFNFTTQpSw1iDWIJRVNISiBNRG9YY01vQi5NIE1Eb1c1ckUoNCduTUxKLm9fT0R1Uyc0KVhPRERNblBbN3E0ZjQnSyQuMERjZydELl9MT0R1UydOVCc7DWINYglPdTQoSFNFTTRmZjQnUU01Jyk0Sw1iDWIJCXAwbjRFLk1fUU01NGY0RVNISiBNRG9YY01vQi5NIE1Eb1c1ckUoJ0xPb01RTTUnKVhwMC5KTTQ7DWIJCXAwbjRwMG5MNm9uT0RjNGY0IkUuTV9RTTVmIjQrNEUuTV9RTTU7DWINYglUNE0uTE00Sw1iDWIJCXAwbjRMT29NX0hTRU00ZjRFU0hKIE1Eb1hjTW9CLk0gTURvVzVyRSgnTE9vTUhTRU0nKVhwMC5KTTsNYgkJcDBuNHAwbkw2b25PRGM0ZjQiTE9vTV9IU0VNZiI0KzRMT29NX0hTRU07DWIJVA1iCSRYbVNMbygnPyc0KzRwMG5MNm9uT0RjLDRLNDBIb09wMG9PU0Q6NCI1TUwiNFQsNHVKREhvT1NEKEUwbzApSw1iCQ1iCQkkKCcjRS5NLTBIb09wMG9PU0QnKVhabyAuKEUwbzApOw1iCQ1iCVQpOw1iDWIJbk1vSm5ENHUwLkxNOw1iVA1ieXktLTMNYmF5TEhuT21vMw1iUFs3cTsNYg1iCU91KCFPTF9dbk9vMEEuTShCRjlyRkJfVnIKNFg0J3lFMG8weUhTRHVPY1htWm0nKSk0Sw1iCQ1iCQkkLjBEY2cnTG8wb19MNUxvTSAnTjRmNExvbl9uTW0uMEhNNCgiS3VPLk1UIiw0Ik1EY09ETXlFMG8weUhTRHVPY1htWm0iLDQkLjBEY2cnTG8wb19MNUxvTSAnTik7DWIJDWIJCSR1ME8uNGY0ImFFT3A0SC4wTExmXCIwLk1ubzQwLk1uby1dMG5ET0RjNDAuTW5vLUxvNS5NRS0uTXVvNDAuTW5vLTBublNdLS5NdW80MC5Nbm8tSFMgbVNETURvNDAuTW5vNDAuTW5vLU9EdVM0MC5Nbm8tTG81Lk1FLS5NdW80MC5Nbm8tMG5uU10tLk11bzQwLk1uby1IUyBtU0RNRG80b009by1MT2tNLUwgMC4uNG9NPW8tTE9rTS1MIDAuLlwiM0skLjBEY2cnTG8wb19MNUxvTSAnTlRheUVPcDMiOw1iCQ1iCVQ0TS5MTTQkdTBPLjRmNCIiOw1iDWIJJDBIb09wMG9PU0RfdU9NLkU0WGY0ImFFT3A0T0VmXCJFLk0tMEhvT3Awb09TRFwiNEguMExMZlwiMC5Nbm80MC5Nbm8tT0R1UzQwLk1uby1MbzUuTUUtLk11bzQwLk1uby0wbm5TXS0uTXVvNDAuTW5vLUhTIG1TRE1EbzRvTT1vLS5NdW80b009by1MT2tNLUwgMC4uXCIzSyQuMERjZydvbk8wLl9PRHVTJ05UYUFuNHkzYUFuNHkzYU9EbUpvNG81bU1mXCJvTT1vXCI0RDAgTWZcIkxPb01RTTVcIjRPRWZcIkxPb01RTTVcIjRtLjBITVpTLkVNbmZcIkskLjBEY2cnb25PMC5fUU01J05UXCI0SC4wTExmXCJILjBMTE9INF1PRW9aLWQ4ODQgbi17OFwiM2FBSm9vU0Q0U0RILk9IUWZcIkUuTV8wSG9PcDBvT1NEKDQnUU01JzQpOzRuTW9KbkQ0dTAuTE07XCI0SC4wTExmXCJBb0Q0QWMtb00wLjRBb0QtbjBPTE1FNEFvRC1MIFwiM0skLjBEY2cnb25PMC5fMEhvJ05UYXlBSm9vU0QzYUVPcDRPRWZcIm5NTEoub19PRHVTXCIzYUFuNHkzSyQuMERjZydRTTVfdVNuIDBvJ05UNGFBM2VlZWVlLWVlZWVlLWVlZWVlLWVlZWVlLWVlZWVlYXlBM2F5RU9wM2F5RU9wMw1iCUskdTBPLlQiOw1iDWJUNE0uTE00JDBIb09wMG9PU0RfdU9NLkU0ZjQiIjsNYg1iT3UoNCgkIFNFNCFmNCJNRU9vRE1dTCI0UkZWNCQgU0U0IWY0IiAwT0QiNFJGVjQkIFNFNCFmNCIiKTRSRlY0JC5PSF9vbjQpNEsNYgkNYgkkblNdNGY0JEVBLTNMSm1Nbl8xSk1uNSg0IjZCcUIvWzQvWUdGWygqKTQwTDRIU0pEbzR3Clk3NCI0WDR0CkJ3cmU0WDQiX21TTG8iNCk7DWIJJExvMG9MX0RNXUw0ZjQkblNdZydIU0pEbydOOw1iCQ1iCSRuU100ZjQkRUEtM0xKbU1uXzFKTW41KDQiNkJxQi9bNC9ZR0ZbKCopNDBMNEhTSkRvNHcKWTc0IjRYNHQKQndyZTRYNCJfSFMgIE1Eb0wiNCk7DWIJJEhTSkRvX0hTICBNRG9MNGY0JG5TXWcnSFNKRG8nTjsNYgkNYglPdSg0JExvMG9MX0RNXUw0MzR7ODg0KTQgTGMoNCJNbm5TbiIsNCJNbm5TbiIsNCQuMERjZydvbk8wLl8uTyBPbydOWCdhQW40eTNhQW40eTMnWCQwSG9PcDBvT1NEX3VPTS5FNCk7DWIJT3UoNCRIU0pEb19IUyAgTURvTDQzNHM4ODQpNCBMYyg0Ik1ublNuIiw0Ik1ublNuIiw0JC4wRGNnJ29uTzAuXy5PIE9vJ05YJ2FBbjR5M2FBbjR5MydYJDBIb09wMG9PU0RfdU9NLkU0KTsNYg1iVA1iDWIkSFNEdU9jZydPbV9IU0RvblMuJ040ZjQkLlNjT0RfbTBuMCBMZydPbV9IU0RvblMuJ047DWIkSFNEdU9jZycuU2NfWjBMWidONGY0JC5TY09EX20wbjAgTGcnLlNjX1owTFonTjsNYg1iPzM=';$_D=strrev('edoced_46esab');eval($_D('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCdPL2JwdXcza002QjJ0eEQxLlJvWF1sVlkgPkpBRUdUZno3SwpRSD1qc31acVVjZTh2NW5tPFs5YTRpMENyV3tOZ2hkSUxQeVNGJywnaUMKdmZGPnplU0U3UDVucWxBdC53V0RPbUt1YmRVfT0zTXtSa2N4OTJKaExaZ1gwNnlycFFURzwgVmFqSUIxXVtZNDhzSC9vTicpOyRfUj1zdHJfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));?>
Function Calls
| strtr | 1 |
| strrev | 1 |
| str_replace | 1 |
| base64_decode | 2 |
Stats
| MD5 | 2930b02aa9e396e35457ee3651c8a849 |
| Eval Count | 2 |
| Decode Time | 167 ms |