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-2019 SoftNews Media Group
=====================================================
 This code is protected by copyright
=====================================================
 File: init.php
=====================================================
*/

if( !defined( 'DATALIFEENGINE' ) ) {
	header( "HTTP/1.1 403 Forbidden" );
	header ( 'Location: ../../../' );
	die( "Hacking attempt!" );
}

define('DINITVERSION', '7232' );
define('VERSIONID',    '13.2' );
define('BUILDID',      '200' );
define('DEMOVERSION',  '1' );

header("Content-type: text/html; charset=utf-8");
header ("X-Frame-Options: SAMEORIGIN");

require_once (DLEPlugins::Check(ENGINE_DIR . '/inc/include/functions.inc.php'));

date_default_timezone_set ( $config['date_adjust'] );

dle_session();
check_xss();

$config['charset'] = strtolower(trim($config['charset']));

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']); }

$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( DLEPlugins::Check(ROOT_DIR . '/language/' . $selected_language . '/adminpanel.lng') ) ) {
	require_once (DLEPlugins::Check(ROOT_DIR . '/language/' . $selected_language . '/adminpanel.lng'));
} else die("Language file not found");

$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'];
elseif( isset( $_GET['action'] ) ) $action = $_GET['action'];
else $action = '';

if( isset( $_POST['mod'] ) ) $mod = $_POST['mod'];
elseif( isset( $_GET['mod'] ) ) $mod = $_GET['mod'];
else $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;
		
		if( $config['charset'] != "utf-8" ) {
		
			if( function_exists( 'mb_convert_encoding' ) ) {
			
				$username = mb_convert_encoding( $username, $config['charset'], "utf-8" );
			
			} elseif( function_exists( 'iconv' ) ) {
				
				$username = iconv("utf-8", $config['charset'], $username);
				
			}
			
			if( function_exists( 'mb_convert_encoding' ) ) {
			
				$cmd5_password = mb_convert_encoding( $cmd5_password, $config['charset'], "utf-8" );
			
			} elseif( function_exists( 'iconv' ) ) {
				
				$cmd5_password = iconv("utf-8", $config['charset'], $cmd5_password);
				
			}
			
		}
	
	} 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( $config['charset'] != "utf-8" ) {
		
			if( function_exists( 'mb_convert_encoding' ) ) {
			
				$username = mb_convert_encoding( $username, $config['charset'], "utf-8" );
			
			} elseif( function_exists( 'iconv' ) ) {
				
				$username = iconv("utf-8", $config['charset'], $username);
				
			}
			
			if( function_exists( 'mb_convert_encoding' ) ) {
			
				$cmd5_password = mb_convert_encoding( $cmd5_password, $config['charset'], "utf-8" );
			
			} elseif( function_exists( 'iconv' ) ) {
				
				$cmd5_password = iconv("utf-8", $config['charset'], $cmd5_password);
				
			}
			
		}
	
	}

}

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 ($config['charset'] == "utf-8" AND 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 (DLEPlugins::Check(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>
<!--
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($is_loged_in AND version_compare( $config['version_id'], VERSIONID , '<') AND $mod != "upgrade"  ) {

	if( $member_id['user_group'] == 1 ) {
		
		header( "Location: ?mod=upgrade&action=dbupgrade" );
		die();
		
	} else msg("error", $lang['addnews_denied'], $lang['upgr_notadm']);
	
}

if($is_loged_in AND COLLATE != "utf8" AND COLLATE != "utf8mb4" AND $mod != "upgrade" ) {
	
	if( $member_id['user_group'] == 1 ) {
		
		header( "Location: ?mod=upgrade&action=dbconvert" );
		die();
		
	} else msg("error", $lang['addnews_denied'], $lang['upgr_notadm']);

}

if( $lic_tr AND $is_loged_in AND $mod != "editnews" AND $mod != "main" AND $mod != "upgrade" AND $mod != "") {
	
	$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'];

if (!$is_loged_in AND $_SESSION['twofactor_auth']) {
	
	include_once (DLEPlugins::Check(ENGINE_DIR . '/inc/twofactor.php'));
	
} elseif ($mod == "lostpassword" AND !$is_loged_in) {
	
	include_once (DLEPlugins::Check(ENGINE_DIR . '/inc/lostpassword.php'));
	
} elseif (!$is_loged_in) {

	$m_auth = $config['auth_metod'] ? $lang['login_box_2'] : $lang['login_box_1'];
	$m_auth2 = $config['auth_metod'] ? "envelope" : "user";
	
	if( ! $handle = opendir( "./language" ) ) {
		die( "Folder /language/ not found" );
	}

	while ( false !== ($file = readdir( $handle )) ) {
		if( is_dir( ROOT_DIR . "/language/$file" ) and ($file != "." and $file != "..") ) {
			$sys_con_langs_arr[$file] = $file;
		}
	}
	closedir( $handle );

	function makeDropDown($options, $name, $selected) {
		$output = "<select class=\"uniform\" data-width=\"100%\" name=\"{$name}\">
";
		foreach ( $options as $value => $description ) {
			$output .= "<option value=\"$value\"";
			if( $selected == $value ) {
				$output .= " selected ";
			}
			$output .= ">$description</option>
";
		}
		$output .= "</select>";
		return $output;
	}

	$select_language = makeDropDown( $sys_con_langs_arr, "selected_language", $selected_language );

	include_once (DLEPlugins::Check(ENGINE_DIR . '/skins/default.skin.php'));

	$skin_login = str_replace("{mauth}", $m_auth, $skin_login);
	$skin_login = str_replace("{mauth2}", $m_auth2, $skin_login);
	$skin_login = str_replace("{select}", $select_language, $skin_login);
	$skin_login = str_replace( "{js_files}", build_js($js_array), $skin_login );
	$skin_login = str_replace( "{css_files}", build_css($css_array), $skin_login );
	
	if($result) {
		$skin_login = str_replace("{result}", "<div class=\"form-group\">".$result."</div>", $skin_login);
	} else {
		$skin_login = str_replace("{result}", "", $skin_login);
	}

	echo $skin_login;

	die();

} elseif ($is_loged_in) {

	if ( !$mod ) {

		include_once (DLEPlugins::Check(ENGINE_DIR . '/inc/main.php'));

	} elseif ( file_exists( DLEPlugins::Check(ENGINE_DIR . '/inc/' . $mod . '.php') ) ) {

		include_once (DLEPlugins::Check(ENGINE_DIR . '/inc/' . $mod . '.php'));

	} else {

		msg ( "error", $lang['index_denied'], $lang['mod_not_found'] );
	}
}

$db->close();
GzipOut();

?>

Did this file decode correctly?

Original Code

<?php
/*
=====================================================
 DataLife Engine - by SoftNews Media Group 
-----------------------------------------------------
 http://dle-news.ru/
-----------------------------------------------------
 Copyright (c) 2004,2019 SoftNews Media Group
=====================================================
*/
?><?php $_F=__FILE__;$_X='P3FMPzBTMA14VioNeFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQDXhkam9Xb1UvZ0pkRVg3L1hKZC1kcG1kfTNnVyBKT2xkaUpzL29kSUQzXTBkDXgtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ14ZFNXVzA6VlZzckotWEpPbFlEXVYNeC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDXhkVDMwbUQvN1NXZChGKWRbdnZDLVt2dQpkfTNnVyBKT2xkaUpzL29kSUQzXTANeFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQDXhkNlMvbGRGM3NKZC9sZDBEM1dKRldKc2RwbWRGMzBtRC83U1cNeFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQDXhkSy9ySjpkL1gvV1kwUzANeFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQDXgqVg14DXgvZyhkIXNKZy9YSnMoZCdqaDZoVUhLRUUgSUggRSdkKWQpZG4NeAlTSm9zSkQoZCJaNjZ7VnVZdWRDdkFkSzNEcC9zc0pYImQpOw14CVNKb3NKRGQoZCdVM0ZvVy8zWDpkWVlWWVlWWVlWJ2QpOw14CXMvSihkIlpvRi4vWDdkb1dXSnkwVyEiZCk7DXhjDXgNeHNKZy9YSignakggSDZORT19SGYgJyxkJ3dbQVsnZCk7DXhzSmcvWEooJ05FPX1IZiBIaicsZGRkZCd1QVlbJ2QpOw14c0pnL1hKKCdlYUhVakhqJyxkZGRkZGQnW3Z2J2QpOw14c0pnL1hKKCdqRWlmTkU9fUhmICcsZGQndSdkKTsNeA14U0pvc0pEKCJUM1hXSlhXLVdtMEo6ZFdKa1dWU1d5cjtkRlNvRGxKV1BdV2cteiIpOw14U0pvc0pEZCgiQi1LRG95Si1mMFcvM1hsOmR9aGlFZj1ISUggIik7DXgNeERKMV0vREpfM1hGSmQoalVFe3JdNy9YbDo6VFNKRi4oRSBJSCBFX2pIPWRZZCdWL1hGVi9YRnJdc0pWZ11YRlcvM1hsWS9YRlkwUzAnKSk7DXgNeHNvV0pfc0pnb11yV19XL3lKODNYSl9sSldkKGQkRjNYZy83Pidzb1dKX29zdF1sVycyZCk7DXgNeHNySl9sSmxsLzNYKCk7DXhGU0pGLl9rbGwoKTsNeA14JEYzWGcvNz4nRlNvRGxKVycyZFBkbFdEVzNyM09KRChXRC95KCRGM1hnLzc+J0ZTb0RsSlcnMikpOw14DXgvZyhkJEYzWGcvNz4nM1hybV9sbHInMmRoIGpkIS9sfX1VKClkaCBqZCEvbGxKVygkX31FfX1IZiA+Jy9sX0RKcy9ESkZXJzIpZClkbg14CSRffUV9fUhmID4nL2xfREpzL0RKRlcnMmRQZFdEXUo7DXgJJF99RT1ORT0+Jz1FTWFFfTZfYT1IJzJkUGRTV3lybDBKRi9vckZTb0RsKCRffUU9TkU9Pic9RU1hRX02X2E9SCcyLGRFIDZfTWFmNkV9LGQkRjNYZy83PidGU29EbEpXJzJkKTsNeAlTSm9zSkQoIlo2NntWdVl2ZEF2dWRpM2JKc2R7SkR5b1hKWFdybSIpOw14CVNKb3NKRCgiVTNGb1cvM1g6ZFNXVzBsOlZWIlkkX31FPU5FPT4nWjY2e19aZn02JzJZJF99RT1ORT0+Jz1FTWFFfTZfYT1IJzIpOw14CXMvSigiPUpzL0RKRlciKTsNeA14Y2RKcmxKL2coZC9sbEpXKCRffUV9fUhmID4nL2xfREpzL0RKRlcnMilkKWRuZF1YbEpXKCRffUV9fUhmID4nL2xfREpzL0RKRlcnMik7ZGMNeA14JHIvRl9XRGRQZFdEXUo7DXgkb11XM19zSldKRldfRjNYZy83ZFBkZ29ybEo7DXgkczN5SlhfeXNHZFBkeXNHKGQ3SldfczN5SlhfU29sUygpZFlkakggSDZORT19SGYgZCk7DXgvZyhkJHMzeUpYX3lzR2RQUGQkRjNYZy83PicuSm0nMmQpZCRyL0ZfV0RkUGRnb3JsSjsNeA14JF99RT1ORT0+J3tae199RVVLJzJkUGRTV3lybDBKRi9vckZTb0RsKGQkX31FPU5FPT4ne1p7X31FVUsnMixkRSA2X01hZjZFfSxkJEYzWGcvNz4nRlNvRGxKVycyZCk7DXgNeC9nKGQkRjNYZy83PidTV1cwX1MzeUpfXURyJzJkUFBkIiJkKWRuDXgJDXgJJEYzWGcvNz4nU1dXMF9TM3lKX11EcicyZFBkSmswcjNzSihkJEYzWGcvNz4nb3N5L1hfMG9XUycyLGQkX31FPU5FPT4ne1p7X31FVUsnMmQpOw14CSRGM1hnLzc+J1NXVzBfUzN5Sl9dRHInMmRQZERKbEpXKGQkRjNYZy83PidTV1cwX1MzeUpfXURyJzJkKTsNeAkkRjNYZy83PidTV1cwX1MzeUpfXURyJzJkUGQiU1dXMGw6VlYiZFlkJF99RT1ORT0+J1o2NntfWmZ9NicyZFlkJEYzWGcvNz4nU1dXMF9TM3lKX11EcicyOw14CSRvXVczX3NKV0pGV19GM1hnLzdkUGRXRF1KOw14DXhjDXgNeCRsSnJKRldKc19yb1g3XW83SmRQZCRGM1hnLzc+J3JvWDdsJzI7DXgNeC9nZCgvbGxKVyhkJF97Zn02PidsSnJKRldKc19yb1g3XW83SicyZCkpZG4NeA14CSRfe2Z9Nj4nbEpySkZXSnNfcm9YN11vN0onMmRQZFczV0RvWGxyL1coZCRfe2Z9Nj4nbEpySkZXSnNfcm9YN11vN0onMixkZ29ybEosZGdvcmxKZCk7DXgNeAkvZ2QoJF97Zn02PidsSnJKRldKc19yb1g3XW83SicyZCFQZCIiZGggamRAL2xfcy9EZChkPWZmNl9qSD1kWWQnVnJvWDddbzdKVidkWWQkX3tmfTY+J2xKckpGV0pzX3JvWDddbzdKJzJkKSlkbg14CQkkbEpySkZXSnNfcm9YN11vN0pkUGQkX3tmfTY+J2xKckpGV0pzX3JvWDddbzdKJzI7DXgJCWxKV19GMzMuL0pkKGQibEpySkZXSnNfcm9YN11vN0oiLGQkbEpySkZXSnNfcm9YN11vN0osZEE0R2QpOw14DXgJYw14DXhjZEpybEovZ2QoL2xsSlcoZCRfVGZmOUhFPidsSnJKRldKc19yb1g3XW83SicyZCkpZG5kDXgNeAkkX1RmZjlIRT4nbEpySkZXSnNfcm9YN11vN0onMmRQZFczV0RvWGxyL1coZCRfVGZmOUhFPidsSnJKRldKc19yb1g3XW83SicyLGRnb3JsSixkZ29ybEpkKTsNeA14CS9nZCgkX1RmZjlIRT4nbEpySkZXSnNfcm9YN11vN0onMmQhUGQiImRoIGpkQC9sX3MvRGQoZD1mZjZfakg9ZFlkJ1Zyb1g3XW83SlYnZFlkJF9UZmY5SEU+J2xKckpGV0pzX3JvWDddbzdKJzJkKSlkbg14CQkkbEpySkZXSnNfcm9YN11vN0pkUGQkX1RmZjlIRT4nbEpySkZXSnNfcm9YN11vN0onMjsNeAljDXgNeGMNeC9nZChkZy9ySl9Kay9sV2woZGpVRXtyXTcvWGw6OlRTSkYuKD1mZjZfakg9ZFlkJ1Zyb1g3XW83SlYnZFlkJGxKckpGV0pzX3JvWDddbzdKZFlkJ1Zvc3kvWDBvWEpyWXJYNycpZClkKWRuDXgJREoxXS9ESl8zWEZKZChqVUV7cl03L1hsOjpUU0pGLig9ZmY2X2pIPWRZZCdWcm9YN11vN0pWJ2RZZCRsSnJKRldKc19yb1g3XW83SmRZZCdWb3N5L1gwb1hKcllyWDcnKSk7DXhjZEpybEpkcy9KKCJVb1g3XW83SmRnL3JKZFgzV2RnM11YcyIpOw14DXgkL2xfcjM3SnNfL1hkUGRnb3JsSjsNeCR5SnlwSkRfL3NkUGRvRERvbWQoKTsNeCRESmxdcldkUGQiIjsNeCRdbEpEWG95SmRQZCIiOw14JEZ5c0dfMG9sbE8zRHNkUGQiIjsNeCRvcnIzT19yMzcvWGRQZGdvcmxKOw14JEZTSkYuX3IzN2RQZGdvcmxKOw14JG9XV0p5MFdfcjM3L1hkUGRnb3JsSjsNeCR0bF9vRERvbWRQZG9ERG9tZCgpOw14JEZsbF9vRERvbWRQZG9ERG9tZCgpOw14JHtae199RVVLZFBkJF99RT1ORT0+J3tae199RVVLJzI7DXgkX0h7ZFBkN0pXXy8wKCk7DXgkXzZIaUVkUGRXL3lKZCgpOw14JGwuL1hfU0pvc0pEZFBkIiI7DXgkbC4vWF9nMzNXSkRkUGQiIjsNeCRvcnIzT19Ka1dEb19yMzcvWGRQZGdvcmxKOw14DXgkcjM3L1hfMG9Eb3lsZFBkb0REb20oJy8wX0YzWFdEM3InZFBxZCRGM1hnLzc+Jy8wX0YzWFdEM3InMixkJ3IzN19Tb2xTJ2RQcWQkRjNYZy83PidyMzdfU29sUycyKTsNeA14L2dkKGQkRjNYZy83PidKa1dEb19yMzcvWCcyZGggamRsV0QvMDNsKHtae199aHtILGQibzBvRlNKImQpZCFQUGRnb3JsSmRoIGpkISRffUV9fUhmID4nc3JKX2tXRG8nMmQpZG4NeAkkb3JyM09fSmtXRG9fcjM3L1hkUGRXRF1KOw14Yw14DXgvZyhkL2xsSlcoZCRfe2Z9Nj4nb0ZXLzNYJzJkKWQpZCRvRlcvM1hkUGQkX3tmfTY+J29GVy8zWCcyOw14SnJsSi9nKGQvbGxKVyhkJF9JRTY+J29GVy8zWCcyZClkKWQkb0ZXLzNYZFBkJF9JRTY+J29GVy8zWCcyOw14SnJsSmQkb0ZXLzNYZFBkJyc7DXgNeC9nKGQvbGxKVyhkJF97Zn02Pid5M3MnMmQpZClkJHkzc2RQZCRfe2Z9Nj4neTNzJzI7DXhKcmxKL2coZC9sbEpXKGQkX0lFNj4neTNzJzJkKWQpZCR5M3NkUGQkX0lFNj4neTNzJzI7DXhKcmxKZCR5M3NkUGQnJzsNeA14JHkzc2RQZFczV0RvWGxyL1dkKGQkeTNzLGRXRF1KLGRnb3JsSmQpOw14JG9GVy8zWGRQZFczV0RvWGxyL1dkKGQkb0ZXLzNYLGRnb3JsSixkZ29ybEpkKTsNeA14JF1sSkRfN0QzXTBkUGQ3SldfYm9EbChkIl1sSkQ3RDNdMCJkKTsNeA14L2coZCFkJF1sSkRfN0QzXTBkKWRuDXgJJF1sSkRfN0QzXTBkUGRvRERvbWQoKTsNeAkNeAkkc3AtcTFdSkRtKGQifUVVRVQ2ZCpkSz1maWQiZFlkYX1FPXs9RUtIQmRZZCJfXWxKRDdEM10wbGRmPWpFPWRlNWQvc2RofVQiZCk7DXgJDXgJT1MvckpkKGQkRDNPZFBkJHNwLXE3SldfRDNPKClkKWRuDXgJCQ14CQkkXWxKRF83RDNdMD4kRDNPPicvcycyMmRQZG9ERG9tZCgpOw14CQkNeAkJZzNESm9GU2QoZCREM09kb2xkJC5KbWRQcWQkYm9yXUpkKWRuDXgJCQkkXWxKRF83RDNdMD4kRDNPPicvcycyMj4kLkptMmRQZGxXRC8wbHJvbFNKbCgkYm9yXUopOw14CQljDXgJDXgJYw14CWxKV19ib0RsKGQiXWxKRDdEM10wIixkJF1sSkRfN0QzXTBkKTsNeAkkc3AtcWdESkooKTsNeGMNeA14JEZvV18vWGczZFBkN0pXX2JvRGwoZCJGb1dKNzNEbSJkKTsNeA14L2coZCFkL2xfb0REb20oZCRGb1dfL1hnM2QpZClkbg14CSRGb1dfL1hnM2RQZG9ERG9tZCgpOw14CQ14CSRzcC1xMV1KRG0oZCJ9RVVFVDZkKmRLPWZpZCJkWWR7PUVLSEJkWWQiX0ZvV0o3M0RtZGY9akU9ZGU1ZDAzbC9kaH1UImQpOw14CU9TL3JKZChkJEQzT2RQZCRzcC1xN0pXX0QzTygpZClkbg14CQkNeAkJJEZvV18vWGczPiREM08+Jy9zJzIyZFBkb0REb21kKCk7DXgJCQ14CQlnM0RKb0ZTZChkJEQzT2RvbGQkLkptZFBxZCRib3JdSmQpZG4NeAkJCSRGb1dfL1hnMz4kRDNPPicvcycyMj4kLkptMmRQZGxXRC8wbHJvbFNKbChkJGJvcl1KZCk7DXgJCWMNeAkNeAljDXgJbEpXX2JvRGwoZCJGb1dKNzNEbSIsZCRGb1dfL1hnM2QpOw14CSRzcC1xZ0RKSigpOw14Yw14DXgvZyhkRjNdWFcoZCRGb1dfL1hnM2QpZClkbg14CWczREpvRlNkKGQkRm9XXy9YZzNkb2xkJC5KbWQpZG4NeAkJJEZvVz4kLkptPicvcycyMmRQZCQuSm0+J1hveUonMjsNeAkJJEZvV18wb0RKWFcvcz4kLkptPicvcycyMmRQZCQuSm0+JzBvREpYVy9zJzI7DXgJYw14Yw14DXgvZyhkJF89RU1hRX02PidvRlcvM1gnMmRQUGQicjM3M11XImQpZG4NeAkNeAlsSldfRjMzLi9KKGQic3JKX11sSkRfL3MiLGQiIixkdmQpOw14CWxKV19GMzMuL0ooZCJzckpfMG9sbE8zRHMiLGQiIixkdmQpOw14CWxKV19GMzMuL0ooZCJzckpfbC4vWCIsZCIiLGR2ZCk7DXgJbEpXX0YzMy4vSihkInNySl9YSk8weSIsZCIiLGR2ZCk7DXgJbEpXX0YzMy4vSihkInNySl9Tb2xTIixkIiIsZHZkKTsNeAlsSldfRjMzLi9KKGQic3JKX0YzeTByIixkIiIsZHZkKTsNeAlsSldfRjMzLi9KKGRsSmxsLzNYX1hveUooKSxkIiIsZHZkKTsNeAkNeAlAbEpsbC8zWF9dWGxKVygpOw14CUBsSmxsLzNYX3NKbFdEM20oKTsNeAkNeAkvZyhkJEYzWGcvNz4nSmtXRG9fcjM3L1gnMmRoIGpkbFdELzAzbCh7WntffWh7SCxkIm8wb0ZTSiJkKWQhUFBkZ29ybEpkKWRvXVdTKCk7DXgNeAlTSm9zSkQoZCJVM0ZvVy8zWDpkP3kzc1B5by9YImQpOw14CQ14CXlsNyhkIi9YZzMiLGQkcm9YNz4nL1hzSmtfeWw3SicyLGQkcm9YNz4nL1hzSmtfSmsvVycyZCk7DXhjDXgJDXgkb3JyM09fcjM3L1hkUGRXRF1KOw14L2dkKCRGM1hnLzc+J3IzNy9YX3IzNycyKWQkb3JyM09fcjM3L1hkUGRGU0pGLl9vcnIzT19yMzcvWGQoJF9IeyxkJEYzWGcvNz4ncjM3L1hfcjM3JzIpOw14DXgvZ2QoISRvcnIzT19yMzcvWClkbg14CSRyb1g3PidyMzcvWF9KRERfWycyZFBkbFdEX0RKMHJvRkooIm5XL3lKYyIsZCRGM1hnLzc+J3IzNy9YX3BvWF9XL3lKM11XJzIsZCRyb1g3PidyMzcvWF9KRERfWycyKTsNeAl5bDcoZCIvWGczIixkJHJvWDc+Jy9Yc0prX3lsN0onMixkJHJvWDc+J3IzNy9YX0pERF9bJzJkKTsNeGMNeA14L2coZCRvcnIzT19yMzcvWGQpZG4NeA14CS9nKGQkb3JyM09fSmtXRG9fcjM3L1hkKWRuDXgJCQ14CQkvZyhkIS9sbEpXKGQkX31FPU5FPT4ne1p7X2hhNlpfYX1FPScyZClkfHxkIS9sbEpXKGQkX31FPU5FPT4ne1p7X2hhNlpfe1InMmQpZClkb11XUygpOw14CQkkXWxKRFhveUpkUGQkX31FPU5FPT4ne1p7X2hhNlpfYX1FPScyOw14CQkkRnlzR18wb2xsTzNEc2RQZChsV0QvWDcpJF99RT1ORT0+J3tae19oYTZaX3tSJzI7DXgJCSQwM2xXZFBkV0RdSjsNeAkJJEZTSkYuX3IzN2RQZFdEXUo7DXgJCSRvV1dKeTBXX3IzNy9YZFBkV0RdSjsNeAkJDXgJCS9nKGQkRjNYZy83PidGU29EbEpXJzJkIVBkIl1XZy16ImQpZG4NeAkJDXgJCQkvZyhkZ11YRlcvM1hfSmsvbFdsKGQneXBfRjNYYkpEV19KWEYzcy9YNydkKWQpZG4NeAkJCQ14CQkJCSRdbEpEWG95SmRQZHlwX0YzWGJKRFdfSlhGM3MvWDcoZCRdbEpEWG95SixkJEYzWGcvNz4nRlNvRGxKVycyLGQiXVdnLXoiZCk7DXgJCQkNeAkJCWNkSnJsSi9nKGRnXVhGVy8zWF9Kay9sV2woZCcvRjNYYidkKWQpZG4NeAkJCQkNeAkJCQkkXWxKRFhveUpkUGQvRjNYYigiXVdnLXoiLGQkRjNYZy83PidGU29EbEpXJzIsZCRdbEpEWG95Sik7DXgJCQkJDXgJCQljDXgJCQkNeAkJCS9nKGRnXVhGVy8zWF9Kay9sV2woZCd5cF9GM1hiSkRXX0pYRjNzL1g3J2QpZClkbg14CQkJDXgJCQkJJEZ5c0dfMG9sbE8zRHNkUGR5cF9GM1hiSkRXX0pYRjNzL1g3KGQkRnlzR18wb2xsTzNEcyxkJEYzWGcvNz4nRlNvRGxKVycyLGQiXVdnLXoiZCk7DXgJCQkNeAkJCWNkSnJsSi9nKGRnXVhGVy8zWF9Kay9sV2woZCcvRjNYYidkKWQpZG4NeAkJCQkNeAkJCQkkRnlzR18wb2xsTzNEc2RQZC9GM1hiKCJdV2cteiIsZCRGM1hnLzc+J0ZTb0RsSlcnMixkJEZ5c0dfMG9sbE8zRHMpOw14CQkJCQ14CQkJYw14CQkJDXgJCWMNeAkNeAljZEpybEovZyhkL1hXYm9yKGQkX31FfX1IZiA+J3NySl9dbEpEXy9zJzJkKWRxZHZkaCBqZCRffUV9fUhmID4nc3JKXzBvbGxPM0RzJzJkKWRuDXgJCQ14CQkkXWxKRFhveUpkUGQvWFdib3IoJF99RX19SGYgPidzckpfXWxKRF8vcycyKTsNeAkJJEZ5c0dfMG9sbE8zRHNkUGQkX31FfX1IZiA+J3NySl8wb2xsTzNEcycyOw14CQkkMDNsV2RQZGdvcmxKOw14CQkkb1dXSnkwV19yMzcvWGRQZFdEXUo7DXgJCS9nZCghJF99RX19SGYgPidGU0pGLl9yMzcnMilkJEZTSkYuX3IzN2RQZFdEXUo7DXgJDXgJY2RKcmxKL2coZC9YV2JvcihkJF9UZmY5SEU+J3NySl9dbEpEXy9zJzJkKWRxZHZkaCBqZCRfVGZmOUhFPidzckpfMG9sbE8zRHMnMilkbg14CQkNeAkJJF1sSkRYb3lKZFBkL1hXYm9yKCRfVGZmOUhFPidzckpfXWxKRF8vcycyKTsNeAkJJEZ5c0dfMG9sbE8zRHNkUGQobFdEL1g3KSRfVGZmOUhFPidzckpfMG9sbE8zRHMnMjsNeAkJJDAzbFdkUGRnb3JsSjsNeAkJJEZTSkYuX3IzN2RQZFdEXUo7DXgJCSRvV1dKeTBXX3IzNy9YZFBkV0RdSjsNeAljDXgJDXgJL2coZCRfPUVNYUV9Nj4nbF1wb0ZXLzNYJzJkUFBkJ3MzcjM3L1gnZClkbg14CQkNeAkJJF1sSkRYb3lKZFBkJF97Zn02PiddbEpEWG95SicyOw14CQkkRnlzR18wb2xsTzNEc2RQZChsV0QvWDcpJF97Zn02Picwb2xsTzNEcycyOw14CQkkMDNsV2RQZFdEXUo7DXgJCSRGU0pGLl9yMzdkUGRXRF1KOw14CQkkb1dXSnkwV19yMzcvWGRQZFdEXUo7DXgJCQ14CQkvZyhkJEYzWGcvNz4nRlNvRGxKVycyZCFQZCJdV2cteiJkKWRuDXgJCQ14CQkJL2coZGddWEZXLzNYX0prL2xXbChkJ3lwX0YzWGJKRFdfSlhGM3MvWDcnZClkKWRuDXgJCQkNeAkJCQkkXWxKRFhveUpkUGR5cF9GM1hiSkRXX0pYRjNzL1g3KGQkXWxKRFhveUosZCRGM1hnLzc+J0ZTb0RsSlcnMixkIl1XZy16ImQpOw14CQkJDXgJCQljZEpybEovZyhkZ11YRlcvM1hfSmsvbFdsKGQnL0YzWGInZClkKWRuDXgJCQkJDXgJCQkJJF1sSkRYb3lKZFBkL0YzWGIoIl1XZy16IixkJEYzWGcvNz4nRlNvRGxKVycyLGQkXWxKRFhveUopOw14CQkJCQ14CQkJYw14CQkJDXgJCQkvZyhkZ11YRlcvM1hfSmsvbFdsKGQneXBfRjNYYkpEV19KWEYzcy9YNydkKWQpZG4NeAkJCQ14CQkJCSRGeXNHXzBvbGxPM0RzZFBkeXBfRjNYYkpEV19KWEYzcy9YNyhkJEZ5c0dfMG9sbE8zRHMsZCRGM1hnLzc+J0ZTb0RsSlcnMixkIl1XZy16ImQpOw14CQkJDXgJCQljZEpybEovZyhkZ11YRlcvM1hfSmsvbFdsKGQnL0YzWGInZClkKWRuDXgJCQkJDXgJCQkJJEZ5c0dfMG9sbE8zRHNkUGQvRjNYYigiXVdnLXoiLGQkRjNYZy83PidGU29EbEpXJzIsZCRGeXNHXzBvbGxPM0RzKTsNeAkJCQkNeAkJCWMNeAkJCQ14CQljDXgJDXgJYw14DXhjDXgNeC9nKGRGU0pGLl9yMzcvWChkJF1sSkRYb3lKLGQkRnlzR18wb2xsTzNEcyxkJDAzbFcsZCRGU0pGLl9yMzdkKWQpZG4NeAkkL2xfcjM3SnNfL1hkUGRXRF1KOw14CQkNeAkvZ2QoZCQwM2xXZGggamQwb2xsTzNEc19YSkpzbF9ESlNvbFMoJHlKeXBKRF8vcz4nMG9sbE8zRHMnMixke2h9fVJmPWpfakVLaGFVNilkKWRuDXgJCQ14CQkvZ2QoJEYzWGcvNz4nRlNvRGxKVycyZFBQZCJdV2cteiJkaCBqZGJKRGwvM1hfRjN5MG9ESigkRjNYZy83PidiSkRsLzNYXy9zJzIsZCd1dVlbJyxkJ3FQJykpZG4NeAkJCQ14CQkJL2coZGxXRHJKWCgkRnlzR18wb2xsTzNEcylkcWR3W2QpZCRGeXNHXzBvbGxPM0RzZFBkbF1wbFdEKCR5c0dfMG9sbE8zRHMsZHYsZHdbKTsNeAkJCQ14CQkJJHlKeXBKRF8vcz4nMG9sbE8zRHMnMmRQZDBvbGxPM0RzX1NvbFMoJEZ5c0dfMG9sbE8zRHMsZHtofX1SZj1qX2pFS2hhVTYpOw14CQkJCQ14CQkJJFhKT18wb2xsX1NvbFNkUGQiMG9sbE8zRHNQJyJZJHNwLXFsb2dKbDFyKCR5SnlwSkRfL3M+JzBvbGxPM0RzJzIpWSInLGQiOw14CQkJDXgJCWNkSnJsSmQkWEpPXzBvbGxfU29sU2RQZCIiOw14CQkNeAljZEpybEpkJFhKT18wb2xsX1NvbFNkUGQiIjsNeAkNeAkvZygkRjNYZy83PidXTzNnb0ZXM0Rfb11XUycyZGggamQkeUp5cEpEXy9zPidXTzNnb0ZXM0Rfb11XUycyKWRuDXgJCSRGM1hnLzc+Jy8wX0YzWFdEM3InMmRQZFs7DXgJCSRGM1hnLzc+J3IzN19Tb2xTJzJkUGR1Ow14CWMNeA14CS9nKGQhJF99RX19SGYgPidzckpfXWxKRF8vcycyZGggamQkX1RmZjlIRT4nc3JKX11sSkRfL3MnMmQpZG4NeAkJDXgJCWxKbGwvM1hfREo3SlhKRG9XSl8vcygpOw14CQkNeAkJJF99RX19SGYgPidzckpfXWxKRF8vcycyZFBkJF9UZmY5SEU+J3NySl9dbEpEXy9zJzI7DXgJCSRffUV9fUhmID4nc3JKXzBvbGxPM0RzJzJkUGQkX1RmZjlIRT4nc3JKXzBvbGxPM0RzJzI7DXgJYw14DXhjZEpybEpkbg14CQ14CS9nKGQkXz1FTWFFfTY+J2xdcG9GVy8zWCcyZFBQZCdzM3IzNy9YJ2QpZG4NeAkJDXgJCSRESmxdcldkUGQiTGwwb1hkRnJvbGxQXCJXSmtXLXNvWDdKRFwicSJkWWQkcm9YNz4nL1hzSmtfSkREMG9sbCcyZFlkIkxWbDBvWHEiOw14CQ14CWNkSnJsSg14CQkkREpsXXJXZFBkIiI7DXgJDXgJL2coZCRvcnIzT19Ka1dEb19yMzcvWGQpZG9dV1MoKTsNeAkNeAkkL2xfcjM3SnNfL1hkUGRnb3JsSjsNeGMNeA14L2coZCQvbF9yMzdKc18vWGRoIGpkISRffUV9fUhmID4nc3JKX2tXRG8nMmRoIGpkJG9ycjNPX0prV0RvX3IzNy9YZClkbg14CQ14CSRffUV9fUhmID4nc3JKX2tXRG8nMmRQZFdEXUo7DXgJJF89RU1hRX02PidsXXBvRlcvM1gnMmRQZCdzM3IzNy9YJzsNeAkNeAkvZygkRjNYZy83PidXTzNnb0ZXM0Rfb11XUycyZGggamQkeUp5cEpEXy9zPidXTzNnb0ZXM0Rfb11XUycyKWRuDXgJCSRffUV9fUhmID4nc3JKX11sSkRfL3MnMmRQZHY7DXgJCSRffUV9fUhmID4nc3JKXzBvbGxPM0RzJzJkUGQiIjsNeAkJbEpXX0YzMy4vSihkInNySl9dbEpEXy9zIixkIiIsZHZkKTsNeAkJbEpXX0YzMy4vSihkInNySl8wb2xsTzNEcyIsZCIiLGR2ZCk7DXgJYw14Yw14DXgjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNeC9nKGQkL2xfcjM3SnNfL1hkaCBqZCRfPUVNYUV9Nj4nbF1wb0ZXLzNYJzJkUFBkJ3MzcjM3L1gnZClkbg14CQ14CWxKbGwvM1hfREo3SlhKRG9XSl8vcygpOw14CQ14CS9nKCEkRjNYZy83PidXTzNnb0ZXM0Rfb11XUycyZGY9ZCEkeUp5cEpEXy9zPidXTzNnb0ZXM0Rfb11XUycyKWRuDXgJCQ14CQkkX31FfX1IZiA+J3NySl9dbEpEXy9zJzJkUGQkeUp5cEpEXy9zPiddbEpEXy9zJzI7DXgJCSRffUV9fUhmID4nc3JKXzBvbGxPM0RzJzJkUGR5c0coJHlKeXBKRF8vcz4nMG9sbE8zRHMnMik7DXgJDXgJCS9nZChkL1hXYm9yKCRfe2Z9Nj4ncjM3L1hfWDNXX2xvYkonMilkKWRuDXgJDXgJCQlsSldfRjMzLi9KKGQic3JKX11sSkRfL3MiLGQiIixkdmQpOw14CQkJbEpXX0YzMy4vSihkInNySl8wb2xsTzNEcyIsZCIiLGR2ZCk7DXgJDXgJCWNkSnJsSmRuCQkJDXgJDXgJCQlsSldfRjMzLi9KKGQic3JKX11sSkRfL3MiLGQkeUp5cEpEXy9zPiddbEpEXy9zJzIsZEE0R2QpOw14CQkJbEpXX0YzMy4vSihkInNySl8wb2xsTzNEcyIsZHlzRygkeUp5cEpEXy9zPicwb2xsTzNEcycyKSxkQTRHZCk7DXgJDXgJCWMNeAljDXgJDXgJJFcveUpfWDNPZFBkVy95SigpOw14DXgJL2dkKCRGM1hnLzc+J3IzNy9YX3IzNycyKWQkc3AtcTFdSkRtKGQiakVVRTZFZEs9ZmlkImRZZHs9RUtIQmRZZCJfcjM3L1hfcjM3ZFJaRT1FZC8wZFBkJ24kX0h7YyciZCk7DXgJDXgJL2coZ11YRlcvM1hfSmsvbFdsKCczMEpYbGxyX0RvWHMzeV8wbEpdczNfcG1XSmwnKSlkbg14CQkJCQ14CQkkbFdEM1g3U29sU2RQZHlzRygzMEpYbGxyX0RvWHMzeV8wbEpdczNfcG1XSmwodUcpKTsNeAkJDXgJY2RKcmxKZCRsV0QzWDdTb2xTZFBkeXNHKF1YLzEvcyhkeVdfRG9YcygpLGQ2PWFFZCkpOw14CQkNeAkkbG9yV2RQZGxTb3UoZGxXRF9sU11nZ3JKKCJvcEZzSmc3U3QueVgwMURsV11iT2ttOHZ1W0FDRzR3egoiKWRZZCRsV0QzWDdTb2xTZCk7DXgJJFNvbFNkUGQnJzsNeAkJDXgJZzNEKCQvZFBkdjtkJC9kTGQKO2QkL2QrKylkbg14CQkkU29sU2RZUGQkbG9yV255V19Eb1hzKGR2LGRBCmQpYzsNeAljDXgJCQ14CSRTb2xTZFBkeXNHKGQkU29sU2QpOw14CSR5SnlwSkRfL3M+J1NvbFMnMmRQZCRTb2xTOw14CQ14CS9nKGQkRjNYZy83PidyMzdfU29sUycyZClkbg14CQlsSldfRjMzLi9KKGQic3JKX1NvbFMiLGQkU29sUyxkQTRHZCk7DXgJCSRfVGZmOUhFPidzckpfU29sUycyZFBkJFNvbFM7DXgJYw14CQ14CSRzcC1xMV1KRG0oZCJhe2poNkVkImRZZGF9RT17PUVLSEJkWWQiX11sSkRsZH1FNmRuJFhKT18wb2xsX1NvbFNjcm9sV3NvV0pQJ24kVy95Sl9YM09jJyxkU29sU1AnbiRTb2xTYycsZGRyMzc3SnNfLzBQJ24kX0h7YydkUlpFPUVkXWxKRF8vc1AnbiR5SnlwSkRfL3M+J11sSkRfL3MnMmMnImQpOw14DXgJL2coJEYzWGcvNz4nV08zZ29GVzNEX29dV1MnMmRoIGpkJHlKeXBKRF8vcz4nV08zZ29GVzNEX29dV1MnMilkbg14DXgJCSQvbF9yMzdKc18vWGRQZGdvcmxKOw14CQkkb1dXSnkwV19yMzcvWGRQZGdvcmxKOw14CQkJCQ14CQkkX31FfX1IZiA+J1dPM2dvRlczRF9vXVdTJzJkUGR5c0coJHlKeXBKRF8vcz4nMG9sbE8zRHMnMik7DXgJCSRffUV9fUhmID4nV08zZ29GVzNEXy9zJzJkUGQkeUp5cEpEXy9zPiddbEpEXy9zJzI7DXgJCQkJDXgJCS9nZChkL2xsSlcoJF97Zn02PidyMzcvWF9YM1dfbG9iSicyKWRoIGpkL1hXYm9yKCRfe2Z9Nj4ncjM3L1hfWDNXX2xvYkonMilkKWRuDXgJCQkkX31FfX1IZiA+J1gzX2xvYkpfRjMzLi9KJzJkUGR1Ow14CQljDXgJCQ14CQkvWEZyXXNKXzNYRkpkKGpVRXtyXTcvWGw6OlRTSkYuKEUgSUggRV9qSD1kWWQnVkZyb2xsSmxWeW8vcllGcm9sbFkwUzAnKSk7DXgJCQ14CQkkMC9YZFBkN0pYSkRvV0pfMC9YKCk7DXgJCQkJDXgJCSRzcC1xMV1KRG0oZCJqRVVFNkVkSz1maWQiZFlkYX1FPXs9RUtIQmRZZCJfV08zZ29GVzNEZFJaRT1FZF1sSkRfL3NQJ24keUp5cEpEXy9zPiddbEpEXy9zJzJjJyJkKTsNeAkJCQkNeAkJJHNwLXExXUpEbShkIkggfUU9NmRIIDZmZCJkWWRhfUU9ez1FS0hCZFlkIl9XTzNnb0ZXM0RkKF1sSkRfL3MsZDAvWCxkc29XSilkYm9yXUpsZCgnbiR5SnlwSkRfL3M+J11sSkRfL3MnMmMnLGQnbiQwL1hjJyxkJ24kXzZIaUVjJykiZCk7CQ14CQkNeAkJJEQzT2RQZCRzcC1xbF0wSkRfMV1KRG0oZCJ9RVVFVDZkKmRLPWZpZCJkWWR7PUVLSEJkWWQiX0p5by9yZFJaRT1FZFhveUpQJ1dPM2dvRlczRCdkVUhpSDZkdix1ImQpOw14DXgJCSR5by9yZFBkWEpPZHNySl95by9yKGQkRjNYZy83LGQkRDNPPiddbEpfU1d5cicyZCk7DXgNeAkJJEQzTz4nV0p5MHJvV0onMmRQZGxXRC8wbHJvbFNKbChkJEQzTz4nV0p5MHJvV0onMmQpOw14CQkkRDNPPidXSnkwcm9XSicyZFBkbFdEX0RKMHJvRkooZCJuJV1sSkRYb3lKJWMiLGQkeUp5cEpEXy9zPidYb3lKJzIsZCREM08+J1dKeTByb1dKJzJkKTsNeAkJJEQzTz4nV0p5MHJvV0onMmRQZGxXRF9ESjByb0ZKKGQibiUwL1glYyIsZCQwL1gsZCREM08+J1dKeTByb1dKJzJkKTsNeAkJJEQzTz4nV0p5MHJvV0onMmRQZGxXRF9ESjByb0ZKKGQibiUvMCVjIixkJF9IeyxkJEQzTz4nV0p5MHJvV0onMmQpOw14CQkNeAkJJHlvL3ItcWxKWHMoZCR5SnlwSkRfL3M+J0p5by9yJzIsZCRyb1g3PidXTzNnb0ZXM0RfbF1wdCcyLGQkRDNPPidXSnkwcm9XSicyZCk7DXgJCQ14CQldWGxKVygkMC9YKTsNeAkJXVhsSlcoJEQzTyk7DXgJCV1YbEpXKCR5by9yKTsNeAkJJHlKeXBKRF8vc2RQZG9ERG9tZCgpOw14DXgJYw14DXhjDXgNeC9nKGQkL2xfcjM3SnNfL1hkaCBqZCRGM1hnLzc+J3IzN19Tb2xTJzJkaCBqZCgoJF9UZmY5SEU+J3NySl9Tb2xTJzJkIVBkJHlKeXBKRF8vcz4nU29sUycyKWRmPWQoJHlKeXBKRF8vcz4nU29sUycyZFBQZCIiKSlkKWRuDXgJDXgJJC9sX3IzN0pzXy9YZFBkZ29ybEo7DXhjDXgNeA14L2coZCQvbF9yMzdKc18vWGRoIGpkJEYzWGcvNz4nLzBfRjNYV0QzcicyZFBQZCd1J2RoIGpkIWRGU0pGLl9YSlc4KGQkeUp5cEpEXy9zPidyMzc3SnNfLzAnMixkJF9Ie2QpZGggamQkXz1FTWFFfTY+J2xdcG9GVy8zWCcyZCFQZCdzM3IzNy9YJ2QpZCQvbF9yMzdKc18vWGRQZGdvcmxKOw14DXgvZyhkISQvbF9yMzdKc18vWGRoIGpkJG9XV0p5MFdfcjM3L1hkKWRuDXgJDXgJJHlKeXBKRF8vc2RQZG9ERG9tKCk7DXgJbEpXX0YzMy4vSihkInNySl9dbEpEXy9zIixkIiIsZHZkKTsNeAlsSldfRjMzLi9KKGQic3JKXzBvbGxPM0RzIixkIiIsZHZkKTsNeAlsSldfRjMzLi9KKGQic3JKX1NvbFMiLGQiIixkdmQpOw14CWxKV19GMzMuL0ooZCJzckpfRjN5MHIiLGQiIixkdmQpOw14CSRffUV9fUhmID4nc3JKX11sSkRfL3MnMmRQZHY7DXgJJF99RX19SGYgPidzckpfMG9sbE8zRHMnMmRQZCIiOw14CSRffUV9fUhmID4nRlNKRi5fcjM3JzJkUGR2Ow14CQ14CS9nKGQkb3JyM09fSmtXRG9fcjM3L1hkKWRvXVdTKCk7DXhjDXgNeC9nZChkJC9sX3IzN0pzXy9YZClkbg14CQ14CXNKZy9YSihkJ1VmSUlFal9IICcsZCQvbF9yMzdKc18vWGQpOw14CQ14CSRzckpfcjM3L1hfU29sU2RQZGxTb3UoZH1FVGE9RV9oYTZaXzlFNWRZZCR5SnlwSkRfL3M+J11sSkRfL3MnMmRZZGxTb3UoJHlKeXBKRF8vcz4nMG9sbE8zRHMnMilkWWQkeUp5cEpEXy9zPidTb2xTJzJkKTsNeAkNeGNkSnJsSmRuDXgJDXgJJHNySl9yMzcvWF9Tb2xTZFBkIiI7DXgJDXhjDXgNeC9nKGQkXz1FTWFFfTY+J29GVy9ib1cvM1gnMmRQUGQibUpsImRoIGpkJHIvRl9XRClkbg14DXgJL2coZCR5SnlwSkRfL3M+J11sSkRfN0QzXTAnMmQhUGR1ZClkcy9KKCk7DXgNeAkvZ2QoZCRfPUVNYUV9Nj4nc3JKXy5KbScyZCkJc3JKX29GVy9ib1cvM1goZCRfPUVNYUV9Nj4nc3JKXy5KbScyLGQ3SldfczN5SlhfU29sUygpLGQkRjNYZy83ZCk7DXgJSnJsSi9nKCRfPUVNYUV9Nj4nbC9XSl9GM3NKJzIpZHNySl9vRlcvYm9XLzNYKGQkXz1FTWFFfTY+J2wvV0pfRjNzSicyLGQ3SldfczN5SlhfU29sUygpLGQkRjNYZy83LGRXRF1KZCk7DXgJSnJsSmRKRlMzZCRyb1g3PidXRC9vcl9vRlc0JzJZImQiWSRyb1g3PicuSm1fZzNEeW9XJzJZImRMcHFCQkJCQi1CQkJCQi1CQkJCQi1CQkJCQi1CQkJCQkxWcHEiOw14CUprL1coKTsNeGMNeA14L2coZCR5SnlwSkRfL3M+J11sSkRfN0QzXTAnMmRQUGR1ZGggamQkci9GX1dEKWRuDXgNeAkkb0ZXL2JvVy8zWF9nL0pyc2RQZExMTFo2aVUNeExsRkQvMFdxDXhMIS0tDXhnXVhGVy8zWGRzckpfb0ZXL2JvVy8zWGQoZEYzc0pkKW4NeA14CXMzRl15SlhXWTdKV0VySnlKWFdlbUhzKGQnREpsXXJXXy9YZzMnZClZL1hYSkRaNmlVZFBkJ24kcm9YNz4nWHJfbC9YZzMnMmMnOw14DXgJL2dkKEYzc0pkUFBkJy5KbScpZG4NeA14CQlib0Rkc3JKXy5KbWRQZHMzRl15SlhXWTdKV0VySnlKWFdlbUhzKCdsL1dKLkptJylZYm9yXUpkOw14CQlib0RkYm9EbH1XRC9YN2RQZCJzckpfLkptUCJkK2RzckpfLkptOw14DXgJY2RKcmxKZG4NeA14CQlib0RkbC9XSl9GM3NKZFBkczNGXXlKWFdZN0pXRXJKeUpYV2VtSHMoJ2wvV0pGM3NKJylZYm9yXUo7DXgJCWJvRGRib0RsfVdEL1g3ZFBkImwvV0pfRjNzSlAiZCtkbC9XSl9GM3NKOw14CWMNeAkNeAkkWTAzbFcoJz8nZCtkYm9EbH1XRC9YNyxkbmRvRlcvYm9XLzNYOmQibUpsImRjLGRnXVhGVy8zWChzb1dvKW4NeAkNeAkJJCgnI3NySi1vRlcvYm9XLzNYJylZU1d5cihzb1dvKTsNeAkNeAljKTsNeA14CURKV11EWGRnb3JsSjsNeGMNeFZWLS1xDXhMVmxGRC8wV3ENeFo2aVU7DXgNeAkvZyghL2xfT0QvV29wckooRSBJSCBFX2pIPWRZZCdWc29Xb1ZGM1hnLzdZMFMwJykpZG4NeAkNeAkJJHJvWDc+J2xXb1dfbG1sV0p5JzJkUGRsV0RfREowcm9GSmQoIm5nL3JKYyIsZCJKWDcvWEpWc29Xb1ZGM1hnLzdZMFMwIixkJHJvWDc+J2xXb1dfbG1sV0p5JzIpOw14CQ14CQkkZ28vcmRQZCJMcy9iZEZyb2xsUFwib3JKRFdkb3JKRFctT29EWC9YN2RvckpEVy1sV21ySnMtckpnV2RvckpEVy1vREQzTy1ySmdXZG9ySkRXLUYzeTAzWEpYV2RvckpEV2RvckpEVy0vWGczZG9ySkRXLWxXbXJKcy1ySmdXZG9ySkRXLW9ERDNPLXJKZ1dkb3JKRFctRjN5MDNYSlhXZFdKa1ctbC84Si1seW9ycmRXSmtXLWwvOEotbHlvcnJcInFuJHJvWDc+J2xXb1dfbG1sV0p5JzJjTFZzL2JxIjsNeAkNeAljZEpybEpkJGdvL3JkUGQiIjsNeA14CSRvRlcvYm9XLzNYX2cvSnJzZFlQZCJMcy9iZC9zUFwic3JKLW9GVy9ib1cvM1hcImRGcm9sbFBcIm9ySkRXZG9ySkRXLS9YZzNkb3JKRFctbFdtckpzLXJKZ1dkb3JKRFctb0REM08tckpnV2RvckpEVy1GM3kwM1hKWFdkV0prVy1ySmdXZFdKa1ctbC84Si1seW9yclwicW4kcm9YNz4nV0Qvb3JfL1hnMycyY0xwRGRWcUxwRGRWcUwvWDBdV2RXbTBKUFwiV0prV1wiZFhveUpQXCJsL1dKLkptXCJkL3NQXCJsL1dKLkptXCJkMHJvRkpTM3JzSkRQXCJuJHJvWDc+J1dEL29yXy5KbScyY1wiZEZyb2xsUFwiRnJvbGwvRmRPL3NXUy1DdnZkeUQtdXZcInFMcF1XVzNYZDNYRnIvRi5QXCJzckpfb0ZXL2JvVy8zWChkJy5KbSdkKTtkREpXXURYZGdvcmxKO1wiZEZyb2xsUFwicFdYZHA3LVdKb3JkcFdYLURvL2xKc2RwV1gtbHlcInFuJHJvWDc+J1dEL29yX29GVycyY0xWcF1XVzNYcUxzL2JkL3NQXCJESmxdcldfL1hnM1wicUxwRGRWcW4kcm9YNz4nLkptX2czRHlvVycyY2RMcHFCQkJCQi1CQkJCQi1CQkJCQi1CQkJCQi1CQkJCQkxWcHFMVnMvYnFMVnMvYnENeAluJGdvL3JjIjsNeA14Y2RKcmxKZCRvRlcvYm9XLzNYX2cvSnJzZFBkIiI7DXgNeC9nKCQvbF9yMzdKc18vWGRoIGpkYkpEbC8zWF9GM3kwb0RKKGQkRjNYZy83PidiSkRsLzNYXy9zJzIsZE5FPX1IZiBIamQsZCdMJylkaCBqZCR5M3NkIVBkIl0wN0Rvc0oiZGQpZG4NeA14CS9nKGQkeUp5cEpEXy9zPiddbEpEXzdEM10wJzJkUFBkdWQpZG4NeAkJDXgJCVNKb3NKRChkIlUzRm9XLzNYOmQ/eTNzUF0wN0Rvc0omb0ZXLzNYUHNwXTA3RG9zSiJkKTsNeAkJcy9KKCk7DXgJCQ14CWNkSnJsSmR5bDcoIkpERDNEIixkJHJvWDc+J29zc1hKT2xfc0pYL0pzJzIsZCRyb1g3PiddMDdEX1gzV29zeScyKTsNeAkNeGMNeA14L2coJC9sX3IzN0pzXy9YZGggamRUZlVVaDZFZCFQZCJdV2d6ImRoIGpkVGZVVWg2RWQhUGQiXVdnenlwQyJkaCBqZCR5M3NkIVBkIl0wN0Rvc0oiZClkbg14CQ14CS9nKGQkeUp5cEpEXy9zPiddbEpEXzdEM10wJzJkUFBkdWQpZG4NeAkJDXgJCVNKb3NKRChkIlUzRm9XLzNYOmQ/eTNzUF0wN0Rvc0omb0ZXLzNYUHNwRjNYYkpEVyJkKTsNeAkJcy9KKCk7DXgJCQ14CWNkSnJsSmR5bDcoIkpERDNEIixkJHJvWDc+J29zc1hKT2xfc0pYL0pzJzIsZCRyb1g3PiddMDdEX1gzV29zeScyKTsNeA14Yw14DXgvZyhkJHIvRl9XRGRoIGpkJC9sX3IzN0pzXy9YZGggamQkeTNzZCFQZCJKcy9XWEpPbCJkaCBqZCR5M3NkIVBkInlvL1giZGggamQkeTNzZCFQZCJdMDdEb3NKImRoIGpkJHkzc2QhUGQiIilkbg14CQ14CSREM09kUGQkc3AtcWxdMEpEXzFdSkRtKGQifUVVRVQ2ZFRmYSA2KCopZG9sZEYzXVhXZEs9ZmlkImRZZHs9RUtIQmRZZCJfMDNsVyJkKTsNeAkkbFdvV2xfWEpPbGRQZCREM08+J0YzXVhXJzI7DXgJDXgJJEQzT2RQZCRzcC1xbF0wSkRfMV1KRG0oZCJ9RVVFVDZkVGZhIDYoKilkb2xkRjNdWFdkSz1maWQiZFlkez1FS0hCZFlkIl9GM3l5SlhXbCJkKTsNeAkkRjNdWFdfRjN5eUpYV2xkUGQkRDNPPidGM11YVycyOw14CQ14CS9nKGQkbFdvV2xfWEpPbGRxZHV2dmQpZHlsNyhkIkpERDNEIixkIkpERDNEIixkJHJvWDc+J1dEL29yX3IveS9XJzJZJ0xwRGRWcUxwRGRWcSdZJG9GVy9ib1cvM1hfZy9KcnNkKTsNeAkvZyhkJEYzXVhXX0YzeXlKWFdsZHFkW3Z2ZClkeWw3KGQiSkREM0QiLGQiSkREM0QiLGQkcm9YNz4nV0Qvb3Jfci95L1cnMlknTHBEZFZxTHBEZFZxJ1kkb0ZXL2JvVy8zWF9nL0pyc2QpOw14DXhjDXgNeCRGM1hnLzc+Jy8wX0YzWFdEM3InMmRQZCRyMzcvWF8wb0RveWw+Jy8wX0YzWFdEM3InMjsNeCRGM1hnLzc+J3IzN19Tb2xTJzJkUGQkcjM3L1hfMG9Eb3lsPidyMzdfU29sUycyOw14DXgvZ2QoISQvbF9yMzdKc18vWGRoIGpkJF99RX19SGYgPidXTzNnb0ZXM0Rfb11XUycyKWRuDXgJDXgJL1hGcl1zSl8zWEZKZChqVUV7cl03L1hsOjpUU0pGLihFIElIIEVfakg9ZFlkJ1YvWEZWV08zZ29GVzNEWTBTMCcpKTsNeAkNeGNkSnJsSi9nZCgkeTNzZFBQZCJyM2xXMG9sbE8zRHMiZGggamQhJC9sX3IzN0pzXy9YKWRuDXgJDXgJL1hGcl1zSl8zWEZKZChqVUV7cl03L1hsOjpUU0pGLihFIElIIEVfakg9ZFlkJ1YvWEZWcjNsVzBvbGxPM0RzWTBTMCcpKTsNeAkNeGNkSnJsSi9nZCghJC9sX3IzN0pzXy9YKWRuDXgNeAkkeV9vXVdTZFBkJEYzWGcvNz4nb11XU195SlczcycyZD9kJHJvWDc+J3IzNy9YX3Aza19bJzJkOmQkcm9YNz4ncjM3L1hfcDNrX3UnMjsNeAkkeV9vXVdTW2RQZCRGM1hnLzc+J29dV1NfeUpXM3MnMmQ/ZCJKWGJKcjMwSiJkOmQiXWxKRCI7DXgJDXgJL2coZCFkJFNvWHNySmRQZDMwSlhzL0QoZCJZVnJvWDddbzdKImQpZClkbg14CQlzL0ooZCJLM3JzSkRkVnJvWDddbzdKVmRYM1dkZzNdWHMiZCk7DXgJYw14DXgJT1MvckpkKGRnb3JsSmQhUFBkKCRnL3JKZFBkREpvc3MvRChkJFNvWHNySmQpKWQpZG4NeAkJL2coZC9sX3MvRChkPWZmNl9qSD1kWWQiVnJvWDddbzdKViRnL3JKImQpZG9Yc2QoJGcvckpkIVBkIlkiZG9Yc2QkZy9ySmQhUGQiWVkiKWQpZG4NeAkJCSRsbWxfRjNYX3JvWDdsX29ERD4kZy9ySjJkUGQkZy9ySjsNeAkJYw14CWMNeAlGcjNsSnMvRChkJFNvWHNySmQpOw14DXgJZ11YRlcvM1hkeW8uSmpEMzBqM09YKCQzMFcvM1hsLGQkWG95SixkJGxKckpGV0pzKWRuDXgJCSQzXVcwXVdkUGQiTGxKckpGV2RGcm9sbFBcIl1YL2czRHlcImRzb1dvLU8vc1dTUFwidXZ2JVwiZFhveUpQXCJuJFhveUpjXCJxXERcWCI7DXgJCWczREpvRlNkKGQkMzBXLzNYbGRvbGQkYm9yXUpkUHFkJHNKbEZELzBXLzNYZClkbg14CQkJJDNdVzBdV2RZUGQiTDMwVy8zWGRib3JdSlBcIiRib3JdSlwiIjsNeAkJCS9nKGQkbEpySkZXSnNkUFBkJGJvcl1KZClkbg14CQkJCSQzXVcwXVdkWVBkImRsSnJKRldKc2QiOw14CQkJYw14CQkJJDNdVzBdV2RZUGQicSRzSmxGRC8wVy8zWExWMzBXLzNYcVxYIjsNeAkJYw14CQkkM11XMF1XZFlQZCJMVmxKckpGV3EiOw14CQlESlddRFhkJDNdVzBdVzsNeAljDXgNeAkkbEpySkZXX3JvWDddbzdKZFBkeW8uSmpEMzBqM09YKGQkbG1sX0YzWF9yb1g3bF9vREQsZCJsSnJKRldKc19yb1g3XW83SiIsZCRsSnJKRldKc19yb1g3XW83SmQpOw14DXgJL1hGcl1zSl8zWEZKZChqVUV7cl03L1hsOjpUU0pGLihFIElIIEVfakg9ZFlkJ1ZsLi9YbFZzSmdvXXJXWWwuL1hZMFMwJykpOw14DXgJJGwuL1hfcjM3L1hkUGRsV0RfREowcm9GSigibnlvXVdTYyIsZCR5X29dV1MsZCRsLi9YX3IzNy9YKTsNeAkkbC4vWF9yMzcvWGRQZGxXRF9ESjByb0ZKKCJueW9dV1NbYyIsZCR5X29dV1NbLGQkbC4vWF9yMzcvWCk7DXgJJGwuL1hfcjM3L1hkUGRsV0RfREowcm9GSigibmxKckpGV2MiLGQkbEpySkZXX3JvWDddbzdKLGQkbC4vWF9yMzcvWCk7DXgJJGwuL1hfcjM3L1hkUGRsV0RfREowcm9GSihkIm50bF9nL3JKbGMiLGRwXS9yc190bCgkdGxfb0REb20pLGQkbC4vWF9yMzcvWGQpOw14CSRsLi9YX3IzNy9YZFBkbFdEX0RKMHJvRkooZCJuRmxsX2cvckpsYyIsZHBdL3JzX0ZsbCgkRmxsX29ERG9tKSxkJGwuL1hfcjM3L1hkKTsNeAkNeAkvZygkREpsXXJXKWRuDXgJCSRsLi9YX3IzNy9YZFBkbFdEX0RKMHJvRkooIm5ESmxdcldjIixkIkxzL2JkRnJvbGxQXCJnM0R5LTdEM10wXCJxIlkkREpsXXJXWSJMVnMvYnEiLGQkbC4vWF9yMzcvWCk7DXgJY2RKcmxKZG4NeAkJJGwuL1hfcjM3L1hkUGRsV0RfREowcm9GSigibkRKbF1yV2MiLGQiIixkJGwuL1hfcjM3L1gpOw14CWMNeA14CUpGUzNkJGwuL1hfcjM3L1g7DXgNeAlzL0ooKTsNeA14Y2RKcmxKL2dkKCQvbF9yMzdKc18vWClkbg14DXgJL2dkKGQhJHkzc2QpZG4NeA14CQkvWEZyXXNKXzNYRkpkKGpVRXtyXTcvWGw6OlRTSkYuKEUgSUggRV9qSD1kWWQnVi9YRlZ5by9YWTBTMCcpKTsNeA14CWNkSnJsSi9nZChkZy9ySl9Kay9sV2woZGpVRXtyXTcvWGw6OlRTSkYuKEUgSUggRV9qSD1kWWQnVi9YRlYnZFlkJHkzc2RZZCdZMFMwJylkKWQpZG4NeA14CQkvWEZyXXNKXzNYRkpkKGpVRXtyXTcvWGw6OlRTSkYuKEUgSUggRV9qSD1kWWQnVi9YRlYnZFlkJHkzc2RZZCdZMFMwJykpOw14DXgJY2RKcmxKZG4NeA14CQl5bDdkKGQiSkREM0QiLGQkcm9YNz4nL1hzSmtfc0pYL0pzJzIsZCRyb1g3Pid5M3NfWDNXX2czXVhzJzJkKTsNeAljDXhjDXgNeCRzcC1xRnIzbEooKTsNeEk4LzBmXVcoKTsNeA14P3E=';$_D=strrev('edoced_46esab');eval($_D('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCdVW1pvOHsuT3B1XT5iVzBZamw3M3ZpIDF0Q01lPEhmOUEyazZYeHp5d0t9QjVQcT1uCk5UY2FySXNRRW1oRi9kUjRHZ0pWRFNMJywnTDJIYXpQa3diMXVbdnRwLkRzZ28wTU5xajRRQlpJT0szXXhUbgo4bTdGU1hZPT5SezlWQ31VbEdkSkV5QWNpIFc2NWZlL3JoPCcpOyRfUj1zdHJfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));?>

Function Calls

strtr 1
strrev 1
str_replace 1
base64_decode 2

Variables

$_D base64_decode
$_F index.php
$_R 0
$_X 0

Stats

MD5 5861a3951584a4f6326473a7725ddb90
Eval Count 2
Decode Time 177 ms