Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
$_F=__FILE__;$_X='P0U4P2FWYVUvKlVXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dX..
Decoded Output download
?><?php
/*
=====================================================
DataLife Engine - by SoftNews Media Group
-----------------------------------------------------
https://dle-news.ru/
-----------------------------------------------------
Copyright (c) 2004-2023 SoftNews Media Group
=====================================================
This code is protected by copyright
=====================================================
File: init.php
-----------------------------------------------------
Use: Initialization
=====================================================
*/
if( !defined( 'DATALIFEENGINE' ) ) {
header( "HTTP/1.1 403 Forbidden" );
header ( 'Location: ../' );
die( "Hacking attempt!" );
}
require_once (DLEPlugins::Check(ENGINE_DIR . '/modules/functions.php'));
dle_session();
check_xss();
if( $config['date_adjust'] ) {
date_default_timezone_set ( $config['date_adjust'] );
}
$Timer = new microTimer();
$cron = false;
$_TIME = time();
$pm_alert = "";
$twofactor_alert = "";
$ajax = "";
$allow_comments_ajax = false;
$_DOCUMENT_DATE = false;
$_CLOUDSTAG = false;
$user_query = "";
$static_result = array ();
$is_logged = false;
$member_id = array ();
$related_buffer = false;
$banners = array ();
$banner_in_news = array ();
$xfields_in_news = array ();
$js_array = array ();
$css_array = array ();
$replace_links = array ();
$custom_news = false;
$dle_tree_comments = 0;
$attachments = array ();
$view_template = false;
$short_news_cache = false;
$onload_scripts = array();
$remove_canonical = false;
$smartphone_detected = false;
$vk_url = false;
$odnoklassniki_url = false;
$facebook_url = false;
$google_url = false;
$mailru_url = false;
$yandex_url = false;
$need_404 = false;
$xfieldsdata = "";
$xfields = array();
$custom_navigation = false;
$news_found = false;
$metatags = array ( 'title' => $config['home_title'], 'description' => $config['description'], 'keywords' => $config['keywords'], 'header_title' => "" );
$config['charset'] = strtolower(trim($config['charset']));
$_SERVER['PHP_SELF'] = htmlspecialchars( $_SERVER['PHP_SELF'], ENT_QUOTES, $config['charset'] );
if ( $config['cache_type'] ) {
if( $config['cache_type'] == "2" ) {
include_once (DLEPlugins::Check(ENGINE_DIR . '/classes/redis.class.php'));
} else {
include_once (DLEPlugins::Check(ENGINE_DIR . '/classes/memcache.class.php'));
}
$dlefastcache = new dle_fastcache($config);
}
if ( !$config['http_home_url'] ) {
$config['http_home_url'] = explode ( "index.php", $_SERVER['PHP_SELF'] );
$config['http_home_url'] = reset ( $config['http_home_url'] );
$config['http_home_url'] = "http://" . $_SERVER['HTTP_HOST'] . $config['http_home_url'];
}
if( isSSL() AND stripos( $config['http_home_url'], 'http://' ) !== false ) {
$config['http_home_url'] = str_replace( "http://", "https://", $config['http_home_url'] );
}
if (substr ( $config['http_home_url'], - 1, 1 ) != '/') $config['http_home_url'] .= '/';
$PHP_SELF = $config['http_home_url'] . "index.php";
if (isset ( $_GET['year'] )) {
$year = intval($_GET['year']);
if ($year < 1970) $year = 1970;
if ($year > 2100) $year = 2100;
} else $year = '';
if (isset ( $_GET['month'] )) {
$month = intval($_GET['month']);
if($month < 1 OR $_GET['month'] > 12 ) $month = 1;
$month = @$db->safesql ( sprintf("%02d", $month ) );
} else $month = '';
if (isset ( $_GET['day'] )) {
$day = intval($_GET['day']);
if($day < 1 OR $day > 31 ) $day = 1;
$day = @$db->safesql ( sprintf("%02d", $day ) );
} else $day = '';
if (isset ( $_GET['catalog'] )) {
$catalog = strip_tags ( str_replace ( '/', '', urldecode ( (string)$_GET['catalog'] ) ) );
$catalog = $db->safesql ( dle_substr ( trim($catalog), 0, 3, $config['charset'] ) );
} else $catalog = '';
if (isset ( $_GET['user'] )) {
$user = strip_tags ( str_replace ( '/', '', urldecode ( (string)$_GET['user'] ) ) );
$user = $db->safesql ( $user );
if( preg_match( "/[\||\'|\<|\>|\"|\!|\?|\$|\@|\#|\/|\|\&\~\*\+]/", $user ) ) $user="";
} else $user = '';
if (isset ( $_GET['category'] )) {
$_GET['category'] = (string)$_GET['category'];
if (substr ( $_GET['category'], - 1, 1 ) == '/') $_GET['category'] = substr ( $_GET['category'], 0, - 1 );
$category = explode ( '/', $_GET['category'] );
$category = end ( $category );
$category = $db->safesql ( strip_tags ( $category ) );
} else $category = '';
if (isset ( $_GET['news_name'] )) $news_name = @$db->safesql ( strip_tags ( str_replace ( '/', '', (string)$_GET['news_name'] ) ) ); else $news_name = '';
if (isset ( $_GET['newsid'] )) $newsid = intval ( $_GET['newsid'] ); else $newsid = 0;
if (isset ( $_GET['cstart'] )) $cstart = intval ( $_GET['cstart'] ); else $cstart = 0;
if (isset ( $_GET['news_page'] )) $news_page = intval ( $_GET['news_page'] ); else $news_page = 0;
if ($cstart < 1) $cstart = 0;
if ($cstart > 9999999) $cstart = 9999999;
if( isset( $_REQUEST['action'] ) and $_REQUEST['action'] == "mobiledisable" ) { $_SESSION['mobile_disable'] = 1; $_SESSION['mobile_enable'] = 0; }
if( isset( $_REQUEST['action'] ) and $_REQUEST['action'] == "mobile" ) { $_SESSION['mobile_enable'] = 1; $_SESSION['mobile_disable'] = 0;}
if( !isset( $_SESSION['mobile_disable'] ) ) $_SESSION['mobile_disable'] = 0;
if( !isset( $_SESSION['mobile_enable'] ) ) $_SESSION['mobile_enable'] = 0;
if( !isset ( $do ) AND isset ($_REQUEST['do']) ) $do = totranslit ( $_REQUEST['do'] ); elseif(isset ( $do )) $do = totranslit ( $do ); else $do = '';
if( !isset ( $subaction ) AND isset ($_REQUEST['subaction']) ) $subaction = totranslit ($_REQUEST['subaction']); elseif(isset($subaction)) $subaction = totranslit($subaction); else $subaction = '';
if( isset ($_REQUEST['doaction']) ) $doaction = totranslit ($_REQUEST['doaction']); else $doaction = "";
if( $do == "tags" AND !$_GET['tag'] ) $do = "alltags";
$dle_module = $do;
if (!$do AND !$subaction AND $year) $dle_module = "date";
elseif (!$do AND isset($_GET['catalog'])) $dle_module = "catalog";
elseif (!$do) $dle_module = $subaction;
if (!$subaction AND $newsid) $dle_module = "showfull";
$dle_module = $dle_module ? $dle_module : "main";
if( $config['start_site'] == 3 AND $dle_module == "main" AND ( !isset($_GET['mod']) OR (isset($_GET['mod']) AND $_GET['mod'] != "rss") ) ) {
$_GET['do'] = "static";
$_REQUEST['do'] = "static";
$_GET['page'] = "main";
$_REQUEST['page'] = "main";
$do = "static";
}
//################# Definition of user groups
$user_group = get_vars ( "usergroup" );
if (!is_array( $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 ();
}
//####################################################################################################################
// Definition of categories
//####################################################################################################################
$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 () ) {
if( !$row['active'] ) continue;
$cat_info[$row['id']] = array ();
foreach ( $row as $key => $value ) {
$cat_info[$row['id']][$key] = stripslashes ( $value );
}
$cat_info[$row['id']]['newscount'] = 0;
}
set_vars ( "category", $cat_info );
$db->free ();
}
$config['speedbar_separator'] = htmlspecialchars_decode( $config['speedbar_separator'], ENT_QUOTES);
$config['category_separator'] = htmlspecialchars_decode( $config['category_separator'], ENT_QUOTES);
$config['tags_separator'] = htmlspecialchars_decode( $config['tags_separator'], ENT_QUOTES);
if( $do == "download" ) {
if( !isset($_REQUEST['mode']) OR $_REQUEST['mode'] != 'error') {
include_once(DLEPlugins::Check(ENGINE_DIR . '/download.php'));
die();
}
} elseif($do == "go") {
include_once (DLEPlugins::Check(ENGINE_DIR . '/go.php'));
die();
} elseif($do == "opensearch") {
include_once (DLEPlugins::Check(ENGINE_DIR . '/opensearch.php'));
die();
} elseif(isset($_GET['mod']) AND $_GET['mod'] == "rss") {
include_once (DLEPlugins::Check(ENGINE_DIR . '/rss.php'));
die();
}
if( $config['allow_redirects'] ) {
$redirects = get_vars( "redirects" );
if( !is_array( $redirects ) ) {
$redirects = array ();
$db->query( "SELECT * FROM " . PREFIX . "_redirects WHERE enabled=1 ORDER BY id DESC" );
while ( $row = $db->get_row() ) {
if( strpos ( $row['from'], "*" ) !== false ) {
$row['from'] = preg_quote(urldecode($row['from']), '%');
$row['from'] = '%^'.str_replace('\*', '(.*)', $row['from']).'%i';
$redirects['regex'][$row['from']] = $row['to'];
} else {
$row['from'] = urldecode($row['from']);
$redirects['simple'][$row['from']] = urldecode($row['to']);
}
}
set_vars( "redirects", $redirects );
$db->free();
}
$uri = preg_replace( '#[/]+#i', '/', urldecode($_SERVER['REQUEST_URI']) );
if(isset($redirects['simple']) AND is_array($redirects['simple']) AND count($redirects['simple']) AND isset($redirects['simple'][$uri]) ) {
if( !check_same_domain($redirects['simple'][$uri]) OR !isset($_SESSION['is_redirect']) ) {
$_SESSION['is_redirect'] = true;
header("HTTP/1.0 301 Moved Permanently");
header("Location: ". $redirects['simple'][$uri] );
die("301 Redirect");
}
}
if(isset($redirects['regex']) AND is_array($redirects['regex']) AND count($redirects['regex']) ) {
foreach ($redirects['regex'] as $key => $value) {
if(preg_match($key, $uri)){
if( !check_same_domain($value) OR !isset($_SESSION['is_redirect']) ) {
$_SESSION['is_redirect'] = true;
header("HTTP/1.0 301 Moved Permanently");
header("Location: ". $value );
die("301 Redirect");
}
}
}
}
unset($_SESSION['is_redirect']);
}
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']); }
$cron_time = get_vars ( "cron" );
if( isset($cron_time['locked']) AND $cron_time['locked'] AND $cron_time['time'] ) {
$cron_time['lasttime'] = $cron_time['time'];
$cron_time['time'] = $cron_time['successtime'];
}
if( !isset($cron_time['time']) ) $cron = 2;
elseif( isset($cron_time['time']) AND date ( "Y-m-d", $cron_time['time'] ) != date ( "Y-m-d", $_TIME )) $cron = 2;
elseif( isset($cron_time['time']) AND ( ($cron_time['time'] + (3600 * 2) ) < $_TIME) ) $cron = 1;
if ($cron) {
include_once (DLEPlugins::Check(ENGINE_DIR . '/modules/cron.php'));
}
//####################################################################################################################
// meta tags and titles for pages
//####################################################################################################################
$custom_metatags = array ();
$page_header_info = array();
if( $config['allow_own_meta'] ) {
$custom_metatags = get_vars( "metatags" );
if( !is_array( $custom_metatags ) ) {
$custom_metatags = array ();
$db->query( "SELECT * FROM " . PREFIX . "_metatags WHERE enabled=1 ORDER BY id DESC" );
while ( $row = $db->get_row() ) {
if( strpos ( $row['url'], "*" ) !== false ) {
$row['url'] = preg_quote(urldecode($row['url']), '%');
$row['url'] = '%^'.str_replace('\*', '(.*)', $row['url']).'%i';
$custom_metatags['regex'][$row['url']] = array('title' => $row['title'], 'description' => $row['description'], 'keywords' => $row['keywords'], 'page_title' => $row['page_title'], 'robots' => $row['robots'], 'page_description' => stripslashes($row['page_description']));
} else {
$row['url'] = urldecode($row['url']);
$custom_metatags['simple'][$row['url']] = array('title' => $row['title'], 'description' => $row['description'], 'keywords' => $row['keywords'], 'page_title' => $row['page_title'], 'robots' => $row['robots'], 'page_description' => stripslashes($row['page_description']));
}
}
set_vars( "metatags", $custom_metatags );
$db->free();
}
$r_uri = preg_replace( '#[/]+#i', '/', urldecode($_SERVER['REQUEST_URI']) );
$url_charset = detect_encoding($r_uri);
if ( $url_charset AND $url_charset != $config['charset'] ) {
if( function_exists( 'mb_convert_encoding' ) ) {
$r_uri = mb_convert_encoding( $r_uri, $config['charset'], $url_charset );
} elseif( function_exists( 'iconv' ) ) {
$r_uri = iconv($url_charset, $config['charset'], $r_uri);
}
}
if(isset($custom_metatags['simple']) AND is_array($custom_metatags['simple']) AND count($custom_metatags['simple']) AND isset($custom_metatags['simple'][$r_uri]) AND $custom_metatags['simple'][$r_uri] ) {
if( $custom_metatags['simple'][$r_uri]['page_title'] ) $page_header_info['title'] = $custom_metatags['simple'][$r_uri]['page_title'];
if( $custom_metatags['simple'][$r_uri]['page_description'] ) $page_header_info['description'] = $custom_metatags['simple'][$r_uri]['page_description'];
}
if(isset($custom_metatags['regex']) AND is_array($custom_metatags['regex']) AND count($custom_metatags['regex'])) {
foreach ($custom_metatags['regex'] as $key => $value) {
if(preg_match($key, $r_uri)){
if( $value['page_title'] ) $page_header_info['title'] = $value['page_title'];
if( $value['page_description'] ) $page_header_info['description'] = $value['page_description'];
}
}
}
}
//####################################################################################################################
// Counting the number of news categories
//####################################################################################################################
if( $config['category_newscount'] ) {
$news_count_in_array = dle_cache ( "news", "newscountcacheincats" );
if( $news_count_in_array ) {
$news_count_in_array = json_decode($news_count_in_array, true);
if ( !is_array($news_count_in_array) ) $news_count_in_array = array();
} else {
$news_count_in_array = array();
if( $config['no_date'] AND !$config['news_future'] ) {
$thisdate = date( "Y-m-d H:i:s", $_TIME );
$where_date = " AND date < '" . $thisdate . "'";
} else $where_date = "";
$db->query( "SELECT category, COUNT(*) AS count FROM " . PREFIX . "_post WHERE approve=1" . $where_date . " GROUP BY category" );
$skip_parent_count = array();
while ( $row = $db->get_row() ) {
if(!$row['category']) continue;
$cat_array = $temp_cat_array = explode(",", $row['category']);
foreach ( $temp_cat_array as $value ) {
if(!isset($news_count_in_array[$value])) $news_count_in_array[$value] = $row['count'];
else $news_count_in_array[$value] = $news_count_in_array[$value] + $row['count'];
$sub_count = $config['show_sub_cats'];
if( $sub_count ) {
$temp_parent = $cat_info[$value]['parentid'];
while ( $temp_parent ) {
if( !in_array($temp_parent, $cat_array) ) {
if(!isset($news_count_in_array[$temp_parent])) $news_count_in_array[$temp_parent] = $row['count'];
else $news_count_in_array[$temp_parent] = $news_count_in_array[$temp_parent] + $row['count'];
$cat_array[] = $temp_parent;
if($cat_info[$temp_parent]['show_sub'] == 2) {
if(!isset($skip_parent_count[$temp_parent])) $skip_parent_count[$temp_parent] = $row['count'];
else $skip_parent_count[$temp_parent] = $skip_parent_count[$temp_parent] + $row['count'];
}
}
$temp_parent = $cat_info[$temp_parent]['parentid'];
}
}
}
}
if( count( $skip_parent_count ) ) {
foreach ( $skip_parent_count as $key => $value ) {
$news_count_in_array[$key] = $news_count_in_array[$key] - $value;
}
}
create_cache ( "news", json_encode($news_count_in_array), "newscountcacheincats" );
unset($temp_parent, $temp_cat_array, $cat_array);
}
foreach ( $news_count_in_array as $key => $value ) {
if($cat_info[$key]['id']) $cat_info[$key]['newscount'] = $value;
}
unset($news_count_in_array);
}
//####################################################################################################################
// The definition of banned users and IP
//####################################################################################################################
$banned_info = get_vars ( "banned" );
if (!is_array ( $banned_info )) {
$banned_info = array ();
$db->query ( "SELECT * FROM " . USERPREFIX . "_banned" );
while ( $row = $db->get_row () ) {
if ($row['users_id']) {
$banned_info['users_id'][$row['users_id']] = array (
'users_id' => $row['users_id'],
'descr' => stripslashes ( $row['descr'] ),
'date' => $row['date'] );
} else {
if (count ( explode ( ".", $row['ip'] ) ) == 4 OR filter_var( $row['ip'] , FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) OR strpos($row['ip'], ":") !== false )
$banned_info['ip'][$row['ip']] = array (
'ip' => $row['ip'],
'descr' => stripslashes ( $row['descr'] ),
'date' => $row['date']
);
elseif (strpos ( $row['ip'], "@" ) !== false)
$banned_info['email'][$row['ip']] = array (
'email' => $row['ip'],
'descr' => stripslashes ( $row['descr'] ),
'date' => $row['date'] );
else $banned_info['name'][$row['ip']] = array (
'name' => $row['ip'],
'descr' => stripslashes ( $row['descr'] ),
'date' => $row['date'] );
}
}
set_vars ( "banned", $banned_info );
$db->free ();
}
$category_skin = "";
if ($category) $category_id = get_ID( $cat_info, $category );
else $category_id = false;
if ($category_id) $category_skin = $cat_info[$category_id]['skin'];
// #################################
if ($news_name OR $newsid) {
$allow_sql_skin = false;
foreach ( $cat_info as $cats ) {
if ( $cats['skin'] ) $allow_sql_skin = true;
}
if ($allow_sql_skin) {
if (!$newsid) $sql_skin = $db->super_query ( "SELECT category FROM " . PREFIX . "_post where month(date) = '$month' AND year(date) = '$year' AND dayofmonth(date) = '$day' AND alt_name ='$news_name'" );
else $sql_skin = $db->super_query ( "SELECT category FROM " . PREFIX . "_post where id = '{$newsid}'" );
if( isset( $sql_skin['category'] ) AND $sql_skin['category'] ) {
$base_skin = explode ( ',', $sql_skin['category'] );
$category_skin = $cat_info[$base_skin[0]]['skin'];
}
unset ( $sql_skin );
unset ( $base_skin );
}
}
if (isset($_GET['do']) AND $_GET['do'] == "static") {
$name = $db->safesql( $_GET['page'] );
$static_result = $db->super_query ( "SELECT * FROM " . PREFIX . "_static WHERE name='{$name}'" );
if ( isset($static_result['template_folder']) AND $static_result['template_folder'] ) {
$category_skin = $static_result['template_folder'];
} else $category_skin = '';
}
if ($category_skin) {
$category_skin = trim( totranslit($category_skin, false, false) );
if ($category_skin AND @is_dir ( ROOT_DIR . '/templates/' . $category_skin )) {
$config['skin'] = $category_skin;
}
} elseif (isset ( $_REQUEST['action_skin_change'] )) {
$_REQUEST['skin_name'] = trim( totranslit($_REQUEST['skin_name'], false, false) );
if ($_REQUEST['skin_name'] AND @is_dir ( ROOT_DIR . '/templates/' . $_REQUEST['skin_name'] ) ) {
$config['skin'] = $_REQUEST['skin_name'];
set_cookie ( "dle_skin", $_REQUEST['skin_name'], 365 );
}
} elseif (isset ( $_COOKIE['dle_skin'] ) ) {
$_COOKIE['dle_skin'] = trim( totranslit($_COOKIE['dle_skin'], false, false) );
if ($_COOKIE['dle_skin'] != '' AND @is_dir ( ROOT_DIR . '/templates/' . $_COOKIE['dle_skin'] )) {
$config['skin'] = $_COOKIE['dle_skin'];
}
}
if (isset ( $config["lang_" . $config['skin']] ) AND $config["lang_" . $config['skin']] != '' AND file_exists( DLEPlugins::Check(ROOT_DIR . '/language/' . $config["lang_" . $config['skin']] . '/website.lng') ) ) {
include_once (DLEPlugins::Check(ROOT_DIR . '/language/' . $config["lang_" . $config['skin']] . '/website.lng'));
} else {
include_once (DLEPlugins::Check(ROOT_DIR . '/language/' . $config['langs'] . '/website.lng'));
}
$allowed_sort = array('date', 'editdate', 'rating', 'news_read', 'comm_num', 'title');
if (!$config['allow_comments']) unset($allowed_sort[4]);
if (!in_array($config['news_sort'], $allowed_sort)) $config['news_sort'] = 'date';
if (!in_array($config['catalog_sort'], $allowed_sort)) $config['catalog_sort'] = 'date';
if (isset ( $_POST['set_new_sort'] ) AND $config['allow_change_sort']) {
$find_sort = str_replace ( ".", "", totranslit ( $_POST['set_new_sort'] ) );
$direction_sort = str_replace ( ".", "", totranslit ( $_POST['set_direction_sort'] ) );
if (in_array($_POST['dlenewssortby'], $allowed_sort) AND stripos($find_sort, "dle_sort_") === 0) {
if ($_POST['dledirection'] == "desc" or $_POST['dledirection'] == "asc") {
$_SESSION[$find_sort] = $_POST['dlenewssortby'];
$_SESSION[$direction_sort] = $_POST['dledirection'];
$_SESSION['dle_sort_global'] = $_POST['dlenewssortby'];
$_SESSION['dle_direction_global'] = $_POST['dledirection'];
$_SESSION['dle_no_cache'] = "1";
}
}
}
$tpl = new dle_template();
if ( ($config['allow_smartphone'] AND !$_SESSION['mobile_disable'] AND $tpl->smartphone) OR $_SESSION['mobile_enable'] ) {
if ( @is_dir ( ROOT_DIR . '/templates/smartphone' ) ) {
$config['skin'] = "smartphone";
$smartphone_detected = true;
}
}
$tpl->dir = ROOT_DIR . '/templates/' . totranslit($config['skin'], false, false);
define ( 'TEMPLATE_DIR', $tpl->dir );
if ( $config['allow_registration'] ) {
include_once (DLEPlugins::Check(ENGINE_DIR . '/modules/sitelogin.php'));
if ( isset($_SESSION['twofactor_auth']) AND $_SESSION['twofactor_auth'] ){
if( $_SESSION['twofactor_type'] == 2 ) $lang['twofactor_alert'] = $lang['twofactor_alert_1'];
$twofactor_alert = <<<HTML
<div id="twofactor" title="{$lang['twofactor_title']}" style="display:none;">{$lang['twofactor_alert']}
<p><input id="twofactor_token" type="text" spellcheck="false" autocomplete="off" autocorrect="off" autocapitalize="off" name="twofactor_token" inputmode="numeric" pattern="[0-9]*" style="width:100%;" class="ui-widget-content ui-corner-all" value=""></p>
<div id="twofactor_response" style="color:red"></div>
</div>
HTML;
$onload_scripts[] = <<<HTML
$('#twofactor').dialog({
autoOpen: true,
show: 'fade',
hide: 'fade',
width: 450,
resizable: false,
dialogClass: "dle-popup-twofactor",
buttons: {
"{$lang['p_cancel']}" : function() {
$(this).dialog("close");
},
"{$lang['p_enter']}": function() {
if ( $("#twofactor_token").val().length < 1) {
$("#twofactor_token").addClass('ui-state-error');
} else {
var pin = $("#twofactor_token").val();
$.post(dle_root + "engine/ajax/controller.php?mod=twofactor", { pin: pin, skin: dle_skin }, function(data){
if ( data.success ) {
window.location = window.location.pathname + window.location.search;
} else if (data.error) {
$("#twofactor_response").html(data.errorinfo);
$(".dle-popup-twofactor").css('max-height', '');
$("#twofactor").css('height', 'auto');
}
}, "json");
}
}
}
});
HTML;
} else {
if ($is_logged) {
set_cookie ( "dle_newpm", $member_id['pm_unread'], 365 );
if( !isset($_COOKIE['dle_newpm']) ) $_COOKIE['dle_newpm'] = 0;
if ( $member_id['pm_unread'] > intval ( $_COOKIE['dle_newpm'] ) AND !$smartphone_detected) {
include_once (DLEPlugins::Check(ENGINE_DIR . '/modules/pm_alert.php'));
}
}
}
} else {
$_IP = get_ip();
$dle_login_hash = sha1(SECURE_AUTH_KEY . $_SERVER['HTTP_USER_AGENT']);
}
if (!$is_logged) $member_id['user_group'] = 5;
if ( isset( $banned_info['ip'] ) ) $blockip = check_ip ( $banned_info['ip'] ); else $blockip = false;
if ( ($is_logged AND $member_id['banned'] == "yes") OR $blockip) {
include_once (DLEPlugins::Check(ENGINE_DIR . '/modules/banned.php'));
}
if ( !defined('BANNERS') AND $config['allow_banner'] ) {
include_once (DLEPlugins::Check(ENGINE_DIR . '/modules/banners.php'));
}
if( $do == "preview" ) {
include_once (DLEPlugins::Check(ENGINE_DIR . '/preview.php'));
die();
} elseif(isset($_GET['mod']) AND $_GET['mod'] == "print") {
include_once (DLEPlugins::Check(ENGINE_DIR . '/print.php'));
die();
}
$tpl->load_template( 'login.tpl' );
$tpl->set( '{login-method}', $config['auth_metod'] ? "E-Mail:" : $lang['login_metod'] );
$tpl->set( '{registration-link}', $PHP_SELF . "?do=register" );
$tpl->set( '{lostpassword-link}', $PHP_SELF . "?do=lostpassword" );
$tpl->set( '{logout-link}', $PHP_SELF . "?action=logout" );
$tpl->set( '{pm-link}', $PHP_SELF . "?do=pm" );
$tpl->set( '{group}', $user_group[$member_id['user_group']]['group_prefix'].$user_group[$member_id['user_group']]['group_name'].$user_group[$member_id['user_group']]['group_suffix'] );
if ($is_logged) {
$tpl->set( '{login}', $member_id['name'] );
$tpl->set( '{new-pm}', $member_id['pm_unread'] );
$tpl->set( '{all-pm}', $member_id['pm_all'] );
if ($member_id['favorites']) {
$tpl->set( '{favorite-count}', count(explode("," ,$member_id['favorites'])) );
} else $tpl->set( '{favorite-count}', '0' );
if ( count(explode("@", $member_id['foto'])) == 2 ) {
$tpl->set( '{foto}', 'https://www.gravatar.com/avatar/' . md5(trim($member_id['foto'])) . '?s=' . intval($user_group[$member_id['user_group']]['max_foto']) );
} else {
if( $member_id['foto'] ) {
if (strpos($member_id['foto'], "//") === 0) $avatar = "http:".$member_id['foto']; else $avatar = $member_id['foto'];
$avatar = @parse_url ( $avatar );
if( $avatar['host'] ) {
$tpl->set( '{foto}', $member_id['foto'] );
} else $tpl->set( '{foto}', $config['http_home_url'] . "uploads/fotos/" . $member_id['foto'] );
unset($avatar);
} else $tpl->set( '{foto}', "{THEME}/dleimages/noavatar.png" );
}
} else {
$member_id['name'] ='';
$tpl->set( '{login}', '' );
$tpl->set( '{new-pm}', '0' );
$tpl->set( '{all-pm}', '0' );
$tpl->set( '{favorite-count}', '0' );
$tpl->set( '{foto}', "{THEME}/dleimages/noavatar.png" );
}
if($config['allow_social'] AND $config['allow_registration']) {
include_once (ENGINE_DIR . '/data/socialconfig.php');
if( !isset($_SESSION['state']) OR (isset($_SESSION['state']) AND !$_SESSION['state']) ) $_SESSION['state'] = md5(uniqid(rand(), TRUE));
if (strpos($config['http_home_url'], "//") === 0) $return_domain = "https:".$config['http_home_url'];
elseif (strpos($config['http_home_url'], "/") === 0) $return_domain = "https://".$_SERVER['HTTP_HOST'].$config['http_home_url'];
else $return_domain = $config['http_home_url'];
if ( $social_config['vk'] ) {
$social_params = array(
'client_id' => $social_config['vkid'],
'redirect_uri' => $return_domain . "index.php?do=auth-social&provider=vk",
'scope' => 'offline,email',
'state' => $_SESSION['state'],
'response_type' => 'code',
'v' => '5.90'
);
$vk_url = 'https://oauth.vk.com/authorize'.'?' . http_build_query($social_params, '', '&');
$tpl->set( '[vk]', "" );
$tpl->set( '[/vk]', "" );
$tpl->set( '{vk_url}', $vk_url );
} else {
$tpl->set_block( "'\[vk\](.*?)\[/vk\]'si", "" );
$tpl->set( '{vk_url}', '' );
}
if ( $social_config['od'] ) {
$social_params = array(
'client_id' => $social_config['odid'],
'redirect_uri' => $return_domain . "index.php?do=auth-social&provider=od",
'scope' => 'VALUABLE_ACCESS;GET_EMAIL',
'state' => $_SESSION['state'],
'response_type' => 'code'
);
$odnoklassniki_url = 'https://connect.ok.ru/oauth/authorize'.'?' . http_build_query($social_params, '', '&');
$tpl->set( '[odnoklassniki]', "" );
$tpl->set( '[/odnoklassniki]', "" );
$tpl->set( '{odnoklassniki_url}', $odnoklassniki_url );
} else {
$tpl->set_block( "'\[odnoklassniki\](.*?)\[/odnoklassniki\]'si", "" );
$tpl->set( '{odnoklassniki_url}', '' );
}
if ( $social_config['fc'] ) {
$social_params = array(
'client_id' => $social_config['fcid'],
'redirect_uri' => $return_domain . "index.php?do=auth-social&provider=fc",
'scope' => 'public_profile,email',
'display' => 'popup',
'state' => $_SESSION['state'],
'response_type' => 'code'
);
$facebook_url = 'https://www.facebook.com/dialog/oauth'.'?' . http_build_query($social_params, '', '&');
$tpl->set( '[facebook]', "" );
$tpl->set( '[/facebook]', "" );
$tpl->set( '{facebook_url}', $facebook_url );
} else {
$tpl->set_block( "'\[facebook\](.*?)\[/facebook\]'si", "" );
$tpl->set( '{facebook_url}', '' );
}
if ( $social_config['google'] ) {
$social_params = array(
'client_id' => $social_config['googleid'],
'redirect_uri' => $return_domain . "index.php?do=auth-social&provider=google",
'scope' => 'https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile',
'state' => $_SESSION['state'],
'response_type' => 'code'
);
$google_url = 'https://accounts.google.com/o/oauth2/auth'.'?' . http_build_query($social_params, '', '&');
$tpl->set( '[google]', "" );
$tpl->set( '[/google]', "" );
$tpl->set( '{google_url}', $google_url );
} else {
$tpl->set_block( "'\[google\](.*?)\[/google\]'si", "" );
$tpl->set( '{google_url}', '' );
}
if ( $social_config['mailru'] ) {
$social_params = array(
'client_id' => $social_config['mailruid'],
'redirect_uri' => $return_domain . "index.php?do=auth-social&provider=mailru",
'scope' => 'userinfo',
'state' => $_SESSION['state'],
'response_type' => 'code'
);
$mailru_url = 'https://oauth.mail.ru/login'.'?' . http_build_query($social_params, '', '&');
$tpl->set( '[mailru]', "" );
$tpl->set( '[/mailru]', "" );
$tpl->set( '{mailru_url}', $mailru_url );
} else {
$tpl->set_block( "'\[mailru\](.*?)\[/mailru\]'si", "" );
$tpl->set( '{mailru_url}', '' );
}
if ( $social_config['yandex'] ) {
$social_params = array(
'client_id' => $social_config['yandexid'],
'redirect_uri' => $return_domain . "index.php?do=auth-social&provider=yandex",
'state' => $_SESSION['state'],
'response_type' => 'code'
);
$yandex_url = 'https://oauth.yandex.ru/authorize'.'?' . http_build_query($social_params, '', '&');
$tpl->set( '[yandex]', "" );
$tpl->set( '[/yandex]', "" );
$tpl->set( '{yandex_url}', $yandex_url );
} else {
$tpl->set_block( "'\[yandex\](.*?)\[/yandex\]'si", "" );
$tpl->set( '{yandex_url}', '' );
}
} else {
$_SESSION['state'] = false;
$tpl->set_block( "'\[vk\](.*?)\[/vk\]'si", "" );
$tpl->set( '{vk_url}', '' );
$tpl->set_block( "'\[odnoklassniki\](.*?)\[/odnoklassniki\]'si", "" );
$tpl->set( '{odnoklassniki_url}', '' );
$tpl->set_block( "'\[facebook\](.*?)\[/facebook\]'si", "" );
$tpl->set( '{facebook_url}', '' );
$tpl->set_block( "'\[google\](.*?)\[/google\]'si", "" );
$tpl->set( '{google_url}', '' );
$tpl->set_block( "'\[mailru\](.*?)\[/mailru\]'si", "" );
$tpl->set( '{mailru_url}', '' );
$tpl->set_block( "'\[yandex\](.*?)\[/yandex\]'si", "" );
$tpl->set( '{yandex_url}', '' );
}
if( $user_group[$member_id['user_group']]['icon'] ) $tpl->set( '{group-icon}', "<img src=\"" . $user_group[$member_id['user_group']]['icon'] . "\" alt=\"\" />" );
else $tpl->set( '{group-icon}', "" );
if ( $user_group[$member_id['user_group']]['allow_admin'] ) {
$tpl->set( '[admin-link]', "" );
$tpl->set( '[/admin-link]', "" );
$tpl->set( '{admin-link}', $config['http_home_url'] . $config['admin_path'] . "?mod=main" );
} else {
$tpl->set( '{admin-link}', "" );
$tpl->set_block( "'\[admin-link\](.*?)\[/admin-link\]'si", "" );
}
if ($config['allow_alt_url']) {
$tpl->set( '{profile-link}', $config['http_home_url'] . "user/" . urlencode ( $member_id['name'] ) . "/" );
$tpl->set( '{stats-link}', $config['http_home_url'] . "statistics.html" );
$tpl->set( '{addnews-link}', $config['http_home_url'] . "addnews.html" );
$tpl->set( '{favorites-link}', $config['http_home_url'] . "favorites/" );
$tpl->set( '{newposts-link}', $config['http_home_url'] . "newposts/" );
} else {
$tpl->set( '{profile-link}', $PHP_SELF . "?subaction=userinfo&user=" . urlencode ( $member_id['name'] ) );
$tpl->set( '{stats-link}', $PHP_SELF . "?do=stats" );
$tpl->set( '{addnews-link}', $PHP_SELF . "?do=addnews" );
$tpl->set( '{favorites-link}', $PHP_SELF . "?do=favorites" );
$tpl->set( '{newposts-link}', $PHP_SELF . "?subaction=newposts" );
}
if ($is_logged AND strpos( $tpl->copy_template, "[xfvalue_" ) !== false) {
$xfields = xfieldsload( true );
$xfieldsdata = xfieldsdataload( $member_id['xfields'] );
foreach ( $xfields as $value ) {
$preg_safe_name = preg_quote( $value[0], "'" );
if( empty( $xfieldsdata[$value[0]] ) ) {
$tpl->copy_template = preg_replace( "'\[xfgiven_{$preg_safe_name}\](.*?)\[/xfgiven_{$preg_safe_name}\]'is", "", $tpl->copy_template );
$tpl->copy_template = str_replace( "[xfnotgiven_{$value[0]}]", "", $tpl->copy_template );
$tpl->copy_template = str_replace( "[/xfnotgiven_{$value[0]}]", "", $tpl->copy_template );
} else {
$tpl->copy_template = preg_replace( "'\[xfnotgiven_{$preg_safe_name}\](.*?)\[/xfnotgiven_{$preg_safe_name}\]'is", "", $tpl->copy_template );
$tpl->copy_template = str_replace( "[xfgiven_{$value[0]}]", "", $tpl->copy_template );
$tpl->copy_template = str_replace( "[/xfgiven_{$value[0]}]", "", $tpl->copy_template );
}
$tpl->set( "[xfvalue_{$value[0]}]", stripslashes( $xfieldsdata[$value[0]] ));
}
} else {
$tpl->copy_template = preg_replace( "'\[xfgiven_(.*?)\](.*?)\[/xfgiven_(.*?)\]'is", "", $tpl->copy_template );
$tpl->copy_template = preg_replace( "'\[xfvalue_(.*?)\]'i", "", $tpl->copy_template );
$tpl->copy_template = preg_replace( "'\[xfnotgiven_(.*?)\](.*?)\[/xfnotgiven_(.*?)\]'is", "", $tpl->copy_template );
}
$tpl->compile( 'login_panel' );
$tpl->clear();
if ($config['site_offline']) include_once (DLEPlugins::Check(ENGINE_DIR . '/modules/offline.php'));
if ($config['allow_calendar'] OR $config['allow_archives']) include_once (DLEPlugins::Check(ENGINE_DIR . '/modules/calendar.php'));
if ($config['rss_informer']) include_once (DLEPlugins::Check(ENGINE_DIR . '/modules/rssinform.php'));
if ($config['allow_links']) include_once (DLEPlugins::Check(ENGINE_DIR . '/modules/links.php'));
include_once (DLEPlugins::Check(ROOT_DIR . '/engine/engine.php'));
if ($config['allow_topnews']) include_once (DLEPlugins::Check(ENGINE_DIR . '/modules/topnews.php'));
if ($config['allow_votes'] ) include_once (DLEPlugins::Check(ENGINE_DIR . '/modules/vote.php'));
if ($config['allow_tags']) include_once (DLEPlugins::Check(ENGINE_DIR . '/modules/tagscloud.php'));
include_once (DLEPlugins::Check(ENGINE_DIR . '/modules/main.php'));
Did this file decode correctly?
Original Code
$_F=__FILE__;$_X='P0U4P2FWYVUvKlVXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1UgbD5nPkNZU3ogb0tOWUt6IC0gck0gYjlTZ3t6T2kgN3pMWT4gQVg5NmFVLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1VIFZnZ2FpOi8vTGp6LUt6T2ldWDYvVS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tVSB5OWFNWFlOVmcgKAopIHUxMX0tdTF1PSBiOVNne3pPaSA3ekxZPiBBWDk2YVVXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1UgPFZZaSAKOUx6IFlpIGFYOWd6Cmd6TCByTSAKOWFNWFlOVmdVV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dVIC5Zano6IFlLWWddYVZhVS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tVSB2aXo6IEdLWWdZPmpZUD5nWTlLVVdXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXVSovVVVZUyggIUx6U1lLekwoICdsRDxEQ0cub297QUd7bycgKSApIGRVCVZ6Pkx6WCggIls8PDAvVF1UIH0xPSAuOVhyWUxMeksiICk7VQlWej5MelggKCAnQzkKPmdZOUs6IF1dLycgKTtVCUxZeiggIls+CnRZS04gPmdnekhhZyEiICk7VUlVVVh6MjZZWHpfOUsKeiAobENvMGo2TllLaTo6eVZ6CnQob3tBR3tvX2xHeCBdICcvSDlMNmp6aS9TNksKZ1k5S2ldYVZhJykpO1VVTGp6X2l6aWlZOUsoKTtVClZ6CnRfUWlpKCk7VVVZUyggJAo5S1NZTncnTD5nel8+TEI2aWcnaCApIGRVCVUJTD5nel9MelM+NmpnX2dZSHpQOUt6X2l6ZyAoICQKOUtTWU53J0w+Z3pfPkxCNmlnJ2ggKTtVVUlVVSQ8WUh6WCBXIEt6TyBIWQpYOTxZSHpYKCk7VSQKWDlLIFcgUz5qaXo7VSRfPEc3byBXIGdZSHooKTtVJGFIXz5qelhnIFcgIiI7VSRnTzlTPgpnOVhfPmp6WGcgVyAiIjtVJD5CPlEgVyAiIjtVJD5qajlPXwo5SEh6S2dpXz5CPlEgVyBTPmppejtVJF9sc3l2N297PF9sRDxvIFcgUz5qaXo7VSRfeUNzdmxiPERBIFcgUz5qaXo7VSQ2aXpYXzI2elhNIFcgIiI7VSRpZz5nWQpfWHppNmpnIFcgPlhYPk0gKCk7VSRZaV9qOU5OekwgVyBTPmppejtVJEh6SHJ6WF9ZTCBXID5YWD5NICgpO1UkWHpqPmd6TF9yNlNTelggVyBTPmppejtVJHI+S0t6WGkgVyA+WFg+TSAoKTtVJHI+S0t6WF9ZS19Lek9pIFcgPlhYPk0gKCk7VSRRU1l6akxpX1lLX0t6T2kgVyA+WFg+TSAoKTtVJEJpXz5YWD5NIFcgPlhYPk0gKCk7VSQKaWlfPlhYPk0gVyA+WFg+TSAoKTtVJFh6YWo+CnpfallLdGkgVyA+WFg+TSAoKTtVJAo2aWc5SF9Lek9pIFcgUz5qaXo7VSRManpfZ1h6el8KOUhIektnaSBXIDE7VSQ+Z2c+ClZIektnaSBXID5YWD5NICgpO1UkUll6T19nekhhaj5neiBXIFM+aml6O1UkaVY5WGdfS3pPaV8KPgpWeiBXIFM+aml6O1UkOUtqOT5MX2kKWFlhZ2kgVyA+WFg+TSgpO1UkWHpIOVJ6Xwo+SzlLWQo+aiBXIFM+aml6O1UkaUg+WGdhVjlLel9Memd6Cmd6TCBXIFM+aml6O1UkUnRfNlhqIFcgUz5qaXo7VSQ5TEs5dGo+aWlLWXRZXzZYaiBXIFM+aml6O1UkUz4KenI5OXRfNlhqIFcgUz5qaXo7VSROOTlOanpfNlhqIFcgUz5qaXo7VSRIPllqWDZfNlhqIFcgUz5qaXo7VSRNPktMelFfNlhqIFcgUz5qaXo7VSRLenpMX30xfSBXIFM+aml6O1UkUVNZempMaUw+Zz4gVyAiIjtVJFFTWXpqTGkgVyA+WFg+TSgpO1UkCjZpZzlIX0s+UllOPmdZOUsgVyBTPmppejtVJEt6T2lfUzk2S0wgVyBTPmppejtVJEh6Zz5nPk5pIFcgPlhYPk0gKCAnZ1lnanonIFdFICQKOUtTWU53J1Y5SHpfZ1lnanonaCwgJ0x6aQpYWWFnWTlLJyBXRSAkCjlLU1lOdydMemkKWFlhZ1k5SydoLCAndHpNTzlYTGknIFdFICQKOUtTWU53J3R6TU85WExpJ2gsICdWej5MelhfZ1lnanonIFdFICIiICk7VSQKOUtTWU53JwpWPlhpemcnaCBXIGlnWGc5ajlPelgoZ1hZSCgkCjlLU1lOdycKVj5YaXpnJ2gpKTtVJF9ib3hab3h3JzBbMF9ib0MuJ2ggVyBWZ0hqaWF6Clk+agpWPlhpKCAkX2JveFpveHcnMFswX2JvQy4naCwgb3s8X0Z2czxvYiwgJAo5S1NZTncnClY+WGl6ZydoICk7VVVZUyAoICQKOUtTWU53Jwo+ClZ6X2dNYXonaCApIGRVVQlZUyggJAo5S1NZTncnCj4KVnpfZ01heidoIFdXICJ1IiApIGRVCQlVCQlZSwpqNkx6XzlLCnogKGxDbzBqNk5ZS2k6OnlWegp0KG97QUd7b19sR3ggXSAnLwpqPmlpemkvWHpMWWldCmo+aWldYVZhJykpO1UJCVUJSSB6aml6IGRVCQlVCQlZSwpqNkx6XzlLCnogKGxDbzBqNk5ZS2k6OnlWegp0KG97QUd7b19sR3ggXSAnLwpqPmlpemkvSHpICj4KVnpdCmo+aWldYVZhJykpO1UJCVUJSVVVCSRManpTPmlnCj4KVnogVyBLek8gTGp6X1M+aWcKPgpWeigkCjlLU1lOKTtVCVVJVVVZUyAoICEkCjlLU1lOdydWZ2dhX1Y5SHpfNlhqJ2ggKSBkVVUJJAo5S1NZTncnVmdnYV9WOUh6XzZYaidoIFcgelFhajlMeiAoICJZS0x6UV1hVmEiLCAkX2JveFpveHcnMFswX2JvQy4naCApO1UJJAo5S1NZTncnVmdnYV9WOUh6XzZYaidoIFcgWHppemcgKCAkCjlLU1lOdydWZ2dhX1Y5SHpfNlhqJ2ggKTtVCSQKOUtTWU53J1ZnZ2FfVjlIel82WGonaCBXICJWZ2dhOi8vIiBdICRfYm94Wm94dydbPDwwX1tzYjwnaCBdICQKOUtTWU53J1ZnZ2FfVjlIel82WGonaDtVVUlVVVlTKCBZaWJiQygpIER7bCBpZ1hZYTlpKCAkCjlLU1lOdydWZ2dhX1Y5SHpfNlhqJ2gsICdWZ2dhOi8vJyApICFXVyBTPmppeiApIGRVCSQKOUtTWU53J1ZnZ2FfVjlIel82WGonaCBXIGlnWF9YemFqPgp6KCAiVmdnYTovLyIsICJWZ2dhaTovLyIsICQKOUtTWU53J1ZnZ2FfVjlIel82WGonaCApO1VJVVVZUyAoaTZyaWdYICggJAo5S1NZTncnVmdnYV9WOUh6XzZYaidoLCAtIFQsIFQgKSAhVyAnLycpICQKOUtTWU53J1ZnZ2FfVjlIel82WGonaCBdVyAnLyc7VVUkMFswX2JvQy4gVyAkCjlLU1lOdydWZ2dhX1Y5SHpfNlhqJ2ggXSAiWUtMelFdYVZhIjtVVVlTIChZaWl6ZyAoICRfQW88dydNej5YJ2ggKSkgZFUJVQkkTXo+WCBXIFlLZ1I+aigkX0FvPHcnTXo+WCdoKTtVVQlZUyAoJE16PlggOCBUZWYxKSAkTXo+WCBXIFRlZjE7VQlZUyAoJE16PlggRSB1VDExKSAkTXo+WCBXIHVUMTE7VVVJIHpqaXogJE16PlggVyAnJztVVVlTIChZaWl6ZyAoICRfQW88dydIOUtnVidoICkpIGRVCVUJJEg5S2dWIFcgWUtnUj5qKCRfQW88dydIOUtnVidoKTtVCVUJWVMoJEg5S2dWIDggVCBzeCAkX0FvPHcnSDlLZ1YnaCBFIFR1ICkgJEg5S2dWIFcgVDtVCVUJJEg5S2dWIFcgQCRMci1FaT5TemkyaiAoIGlhWFlLZ1MoIiUxdUwiLCAkSDlLZ1YgKSApO1UJVUkgemppeiAkSDlLZ1YgVyAnJztVVVlTIChZaWl6ZyAoICRfQW88dydMPk0naCApKSBkVQkkTD5NIFcgWUtnUj5qKCRfQW88dydMPk0naCk7VQlVCVlTKCRMPk0gOCBUIHN4ICRMPk0gRSA9VCApICRMPk0gVyBUO1UJVQkkTD5NIFcgQCRMci1FaT5TemkyaiAoIGlhWFlLZ1MoIiUxdUwiLCAkTD5NICkgKTtVCVVJIHpqaXogJEw+TSBXICcnO1VVWVMgKFlpaXpnICggJF9Bbzx3Jwo+Zz5qOU4naCApKSBkVVUJJAo+Zz5qOU4gVyBpZ1hZYV9nPk5pICggaWdYX1h6YWo+CnogKCAnLycsICcnLCA2WGpMego5THogKCAoaWdYWUtOKSRfQW88dycKPmc+ajlOJ2ggKSApICk7VQkkCj5nPmo5TiBXICRMci1FaT5TemkyaiAoIExqel9pNnJpZ1ggKCBnWFlIKCQKPmc+ajlOKSwgMSwgPSwgJAo5S1NZTncnClY+WGl6ZydoICkgKTtVVUkgemppeiAkCj5nPmo5TiBXICcnO1VVWVMgKFlpaXpnICggJF9Bbzx3JzZpelgnaCApKSBkVVUJJDZpelggVyBpZ1hZYV9nPk5pICggaWdYX1h6YWo+CnogKCAnLycsICcnLCA2WGpMego5THogKCAoaWdYWUtOKSRfQW88dyc2aXpYJ2ggKSApICk7VQkkNml6WCBXICRMci1FaT5TemkyaiAoICQ2aXpYICk7VVUJWVMoIGFYek5fSD5nClYoICIvd1x8fFwnfFw4fFxFfFwifFwhfFw/fFwkfFxAfFwjfFwvfFxcXHxcJlx+XCpcK2gvIiwgJDZpelggKSApICQ2aXpYVyIiO1VVSSB6aml6ICQ2aXpYIFcgJyc7VVVZUyAoWWlpemcgKCAkX0FvPHcnCj5nek45WE0naCApKSBkVQkkX0FvPHcnCj5nek45WE0naCBXIChpZ1hZS04pJF9Bbzx3Jwo+Z3pOOVhNJ2g7VQlZUyAoaTZyaWdYICggJF9Bbzx3Jwo+Z3pOOVhNJ2gsIC0gVCwgVCApIFdXICcvJykgJF9Bbzx3Jwo+Z3pOOVhNJ2ggVyBpNnJpZ1ggKCAkX0FvPHcnCj5nek45WE0naCwgMSwgLSBUICk7VQkkCj5nek45WE0gVyB6UWFqOUx6ICggJy8nLCAkX0FvPHcnCj5nek45WE0naCApO1UJJAo+Z3pOOVhNIFcgektMICggJAo+Z3pOOVhNICk7VQkkCj5nek45WE0gVyAkTHItRWk+U3ppMmogKCBpZ1hZYV9nPk5pICggJAo+Z3pOOVhNICkgKTtVSSB6aml6ICQKPmd6TjlYTSBXICcnO1VVWVMgKFlpaXpnICggJF9Bbzx3J0t6T2lfSz5IeidoICkpICRLek9pX0s+SHogVyBAJExyLUVpPlN6aTJqICggaWdYWWFfZz5OaSAoIGlnWF9YemFqPgp6ICggJy8nLCAnJywgKGlnWFlLTikkX0FvPHcnS3pPaV9LPkh6J2ggKSApICk7IHpqaXogJEt6T2lfSz5IeiBXICcnO1VZUyAoWWlpemcgKCAkX0FvPHcnS3pPaVlMJ2ggKSkgJEt6T2lZTCBXIFlLZ1I+aiAoICRfQW88dydLek9pWUwnaCApOyB6aml6ICRLek9pWUwgVyAxO1VZUyAoWWlpemcgKCAkX0FvPHcnCmlnPlhnJ2ggKSkgJAppZz5YZyBXIFlLZ1I+aiAoICRfQW88dycKaWc+WGcnaCApOyB6aml6ICQKaWc+WGcgVyAxO1VZUyAoWWlpemcgKCAkX0FvPHcnS3pPaV9hPk56J2ggKSkgJEt6T2lfYT5OeiBXIFlLZ1I+aiAoICRfQW88dydLek9pX2E+TnonaCApOyB6aml6ICRLek9pX2E+TnogVyAxO1VVWVMgKCQKaWc+WGcgOCBUKSAkCmlnPlhnIFcgMTtVWVMgKCQKaWc+WGcgRSBlZWVlZWVlKSAkCmlnPlhnIFcgZWVlZWVlZTtVVVlTKCBZaWl6ZyggJF94b0Z2b2I8dyc+CmdZOUsnaCApID5LTCAkX3hvRnZvYjx3Jz4KZ1k5SydoIFdXICJIOXJZanpMWWk+cmp6IiApIGQgJF9ib2JiR3N7dydIOXJZanpfTFlpPnJqeidoIFcgVDsgJF9ib2JiR3N7dydIOXJZanpfeks+cmp6J2ggVyAxOyBJVVlTKCBZaWl6ZyggJF94b0Z2b2I8dyc+CmdZOUsnaCApID5LTCAkX3hvRnZvYjx3Jz4KZ1k5SydoIFdXICJIOXJZanoiICkgZCAkX2JvYmJHc3t3J0g5cllqel96Sz5yanonaCBXIFQ7ICRfYm9iYkdze3cnSDlyWWp6X0xZaT5yanonaCBXIDE7SVVZUyggIVlpaXpnKCAkX2JvYmJHc3t3J0g5cllqel9MWWk+cmp6J2ggKSApICRfYm9iYkdze3cnSDlyWWp6X0xZaT5yanonaCBXIDE7VVlTKCAhWWlpemcoICRfYm9iYkdze3cnSDlyWWp6X3pLPnJqeidoICkgKSAkX2JvYmJHc3t3J0g5cllqel96Sz5yanonaCBXIDE7VVlTKCAhWWlpemcgKCAkTDkgKSBEe2wgWWlpemcgKCRfeG9Gdm9iPHcnTDknaCkgKSAkTDkgVyBnOWdYPktpallnICggJF94b0Z2b2I8dydMOSdoICk7IHpqaXpZUyhZaWl6ZyAoICRMOSApKSAkTDkgVyBnOWdYPktpallnICggJEw5ICk7IHpqaXogJEw5IFcgJyc7VVlTKCAhWWlpemcgKCAkaTZyPgpnWTlLICkgRHtsIFlpaXpnICgkX3hvRnZvYjx3J2k2cj4KZ1k5SydoKSApICRpNnI+CmdZOUsgVyBnOWdYPktpallnICgkX3hvRnZvYjx3J2k2cj4KZ1k5SydoKTsgemppellTKFlpaXpnKCRpNnI+CmdZOUspKSAkaTZyPgpnWTlLIFcgZzlnWD5LaWpZZygkaTZyPgpnWTlLKTsgemppeiAkaTZyPgpnWTlLIFcgJyc7VVlTKCBZaWl6ZyAoJF94b0Z2b2I8dydMOT4KZ1k5SydoKSApICRMOT4KZ1k5SyBXIGc5Z1g+S2lqWWcgKCRfeG9Gdm9iPHcnTDk+CmdZOUsnaCk7IHpqaXogJEw5PgpnWTlLIFcgIiI7VVlTKCAkTDkgV1cgImc+TmkiIER7bCAhJF9Bbzx3J2c+TidoICkgJEw5IFcgIj5qamc+TmkiO1VVJExqel9IOUw2anogVyAkTDk7VVlTICghJEw5IER7bCAhJGk2cj4KZ1k5SyBEe2wgJE16PlgpICRManpfSDlMNmp6IFcgIkw+Z3oiO1V6aml6WVMgKCEkTDkgRHtsIFlpaXpnKCRfQW88dycKPmc+ajlOJ2gpKSAkTGp6X0g5TDZqeiBXICIKPmc+ajlOIjtVemppellTICghJEw5KSAkTGp6X0g5TDZqeiBXICRpNnI+CmdZOUs7VVlTICghJGk2cj4KZ1k5SyBEe2wgJEt6T2lZTCkgJExqel9IOUw2anogVyAiaVY5T1M2amoiO1UkTGp6X0g5TDZqeiBXICRManpfSDlMNmp6ID8gJExqel9IOUw2anogOiAiSD5ZSyI7VVVZUyggJAo5S1NZTncnaWc+WGdfaVlneidoIFdXID0gRHtsICRManpfSDlMNmp6IFdXICJIPllLIiBEe2wgICggIVlpaXpnKCRfQW88dydIOUwnaCkgc3ggKFlpaXpnKCRfQW88dydIOUwnaCkgRHtsICAkX0FvPHcnSDlMJ2ggIVcgIlhpaSIpICkgKSBkVQkkX0FvPHcnTDknaCBXICJpZz5nWQoiO1UJJF94b0Z2b2I8dydMOSdoIFcgImlnPmdZCiI7VQkkX0FvPHcnYT5OeidoIFcgIkg+WUsiO1UJJF94b0Z2b2I8dydhPk56J2ggVyAiSD5ZSyI7VQkkTDkgVyAiaWc+Z1kKIjtVSVVVLy8jIyMjIyMjIyMjIyMjIyMjIyBselNZS1lnWTlLIDlTIDZpelggTlg5NmFpVSQ2aXpYX05YOTZhIFcgTnpnX1I+WGkgKCAiNml6WE5YOTZhIiApO1VVWVMgKCFZaV8+WFg+TSggJDZpelhfTlg5NmEgKSkgZFUJJDZpelhfTlg5NmEgVyA+WFg+TSAoKTtVVQkkTHItRTI2elhNICggImJvQ295PCAqIC54czcgIiBdIHZib3gweG8uR0ogXSAiXzZpelhOWDk2YWkgc3hsb3ggMzUgWUwgRGJ5IiApO1VVCU9WWWp6ICggJFg5TyBXICRMci1FTnpnX1g5TyAoKSApIGRVVQkJJDZpelhfTlg5NmF3JFg5T3cnWUwnaGggVyA+WFg+TSAoKTtVVQkJUzlYej4KViAoICRYOU8gPmkgJHR6TSBXRSAkUj5qNnogKSBkVQkJCSQ2aXpYX05YOTZhdyRYOU93J1lMJ2hodyR0ek1oIFcgaWdYWWFpaj5pVnppKCRSPmo2eik7VQkJSVVVCUlVCWl6Z19SPlhpICggIjZpelhOWDk2YSIsICQ2aXpYX05YOTZhICk7VQkkTHItRVNYenogKCk7VUlVVS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNVLy8gICAgIGx6U1lLWWdZOUsgOVMgCj5nek45WFl6aVUvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjVSQKPmdfWUtTOSBXIE56Z19SPlhpICggIgo+Z3pOOVhNIiApO1VVWVMgKCFZaV8+WFg+TSAoICQKPmdfWUtTOSApKSBkVQkkCj5nX1lLUzkgVyA+WFg+TSAoKTtVVQkkTHItRTI2elhNICggImJvQ295PCAqIC54czcgIiBdIDB4by5HSiBdICJfCj5nek45WE0gc3hsb3ggMzUgYTlpWSBEYnkiICk7VQlVCU9WWWp6ICggJFg5TyBXICRMci1FTnpnX1g5TyAoKSApIGRVVQkJWVMoICEkWDlPdyc+CmdZUnonaCApIAo5S2dZSzZ6O1UJVQkJJAo+Z19ZS1M5dyRYOU93J1lMJ2hoIFcgPlhYPk0gKCk7VVUJCVM5WHo+ClYgKCAkWDlPID5pICR0ek0gV0UgJFI+ajZ6ICkgZFUJCQkkCj5nX1lLUzl3JFg5T3cnWUwnaGh3JHR6TWggVyBpZ1hZYWlqPmlWemkgKCAkUj5qNnogKTtVCQlJVQkJVQkJJAo+Z19ZS1M5dyRYOU93J1lMJ2hodydLek9pCjk2S2cnaCBXIDE7VVUJSVUJaXpnX1I+WGkgKCAiCj5nek45WE0iLCAkCj5nX1lLUzkgKTtVCSRMci1FU1h6eiAoKTtVSVVVVSQKOUtTWU53J2lhenpMcj5YX2l6YT5YPmc5WCdoIFcgVmdIamlhegpZPmoKVj5YaV9Mego5THooICQKOUtTWU53J2lhenpMcj5YX2l6YT5YPmc5WCdoLCBvezxfRnZzPG9iKTtVJAo5S1NZTncnCj5nek45WE1faXphPlg+ZzlYJ2ggVyBWZ0hqaWF6Clk+agpWPlhpX0x6CjlMeiggJAo5S1NZTncnCj5nek45WE1faXphPlg+ZzlYJ2gsIG97PF9GdnM8b2IpO1UkCjlLU1lOdydnPk5pX2l6YT5YPmc5WCdoIFcgVmdIamlhegpZPmoKVj5YaV9Mego5THooICQKOUtTWU53J2c+TmlfaXphPlg+ZzlYJ2gsIG97PF9GdnM8b2IpO1VVWVMoICRMOSBXVyAiTDlPS2o5PkwiICkgZFVVCVlTKCAhWWlpemcoJF94b0Z2b2I8dydIOUx6J2gpIHN4ICRfeG9Gdm9iPHcnSDlMeidoICFXICd6WFg5WCcpIGRVCQlZSwpqNkx6XzlLCnoobENvMGo2TllLaTo6eVZ6CnQob3tBR3tvX2xHeCBdICcvTDlPS2o5PkxdYVZhJykpO1UJCUxZeigpO1UJSVVVSSB6aml6WVMoJEw5IFdXICJOOSIpIGRVCVlLCmo2THpfOUsKeiAobENvMGo2TllLaTo6eVZ6CnQob3tBR3tvX2xHeCBdICcvTjldYVZhJykpO1UJTFl6KCk7VUkgemppellTKCRMOSBXVyAiOWF6S2l6PlgKViIpIGRVCVlLCmo2THpfOUsKeiAobENvMGo2TllLaTo6eVZ6CnQob3tBR3tvX2xHeCBdICcvOWF6S2l6PlgKVl1hVmEnKSk7VQlMWXooKTtVSSB6aml6WVMoWWlpemcoJF9Bbzx3J0g5TCdoKSBEe2wgJF9Bbzx3J0g5TCdoIFdXICJYaWkiKSBkVQlZSwpqNkx6XzlLCnogKGxDbzBqNk5ZS2k6OnlWegp0KG97QUd7b19sR3ggXSAnL1hpaV1hVmEnKSk7VQlMWXooKTtVSVVVWVMoICQKOUtTWU53Jz5qajlPX1h6TFlYegpnaSdoICkgZFUJVQkkWHpMWVh6CmdpIFcgTnpnX1I+WGkoICJYekxZWHoKZ2kiICk7VQlVCVlTKCAhWWlfPlhYPk0oICRYekxZWHoKZ2kgKSApIGRVCQkkWHpMWVh6CmdpIFcgPlhYPk0gKCk7VVUJCSRMci1FMjZ6WE0oICJib0NveTwgKiAueHM3ICIgXSAweG8uR0ogXSAiX1h6TFlYegpnaSBrW294byB6Sz5yanpMV1Qgc3hsb3ggMzUgWUwgbG9ieSIgKTtVCQlVCQlPVllqeiAoICRYOU8gVyAkTHItRU56Z19YOU8oKSApIGRVCQkJVQkJCVlTKCBpZ1hhOWkgKCAkWDlPdydTWDlIJ2gsICIqIiApICFXVyBTPmppeiApIGRVCQkJCVUJCQkJJFg5T3cnU1g5SCdoIFcgYVh6Tl8yNjlneig2WGpMego5THooJFg5T3cnU1g5SCdoKSwgJyUnKTtVCQkJCSRYOU93J1NYOUgnaCBXICclXiddaWdYX1h6YWo+CnooJ1wqJywgJyhdKiknLCAkWDlPdydTWDlIJ2gpXSclWSc7VQkJCQkkWHpMWVh6CmdpdydYek56USdodyRYOU93J1NYOUgnaGggVyAkWDlPdydnOSdoO1UJCQlVCQkJSSB6aml6IGRVCQkJCSRYOU93J1NYOUgnaCBXIDZYakx6CjlMeigkWDlPdydTWDlIJ2gpO1UJCQkJJFh6TFlYegpnaXcnaVlIYWp6J2h3JFg5T3cnU1g5SCdoaCBXIDZYakx6CjlMeigkWDlPdydnOSdoKTtVCQkJSVUJCVUJCUlVCQlVCQlpemdfUj5YaSggIlh6TFlYegpnaSIsICRYekxZWHoKZ2kgKTtVCQkkTHItRVNYenooKTtVCUlVCVUJJDZYWSBXIGFYek5fWHphaj4KeiggJyN3L2grI1knLCAnLycsIDZYakx6CjlMeigkX2JveFpveHcneG9Gdm9iPF92eEcnaCkgKTtVVQlZUyhZaWl6ZygkWHpMWVh6CmdpdydpWUhhanonaCkgRHtsIFlpXz5YWD5NKCRYekxZWHoKZ2l3J2lZSGFqeidoKSBEe2wgCjk2S2coJFh6TFlYegpnaXcnaVlIYWp6J2gpIER7bCBZaWl6ZygkWHpMWVh6CmdpdydpWUhhanonaHckNlhZaCkgKSBkVVUJCVlTKCAhClZ6CnRfaT5Iel9MOUg+WUsoJFh6TFlYegpnaXcnaVlIYWp6J2h3JDZYWWgpIHN4ICFZaWl6ZygkX2JvYmJHc3t3J1lpX1h6TFlYegpnJ2gpICkgZFUJCQlVCQkJJF9ib2JiR3N7dydZaV9YekxZWHoKZydoIFcgZ1g2ejtVCQkJVno+THpYKCJbPDwwL1RdMSA9MVQgNzlSekwgMHpYSD5Lektnak0iKTtVCQkJVno+THpYKCJDOQo+Z1k5SzogIl0gJFh6TFlYegpnaXcnaVlIYWp6J2h3JDZYWWggKTtVCQkJTFl6KCI9MVQgeHpMWVh6CmciKTtVCQkJVQkJSVVVCUlVCVUJWVMoWWlpemcoJFh6TFlYegpnaXcnWHpOelEnaCkgRHtsICBZaV8+WFg+TSgkWHpMWVh6CmdpdydYek56USdoKSBEe2wgCjk2S2coJFh6TFlYegpnaXcnWHpOelEnaCkgKSBkVQkJVQkJUzlYej4KViAoJFh6TFlYegpnaXcnWHpOelEnaCA+aSAkdHpNIFdFICRSPmo2eikgZFUJCQlVCQkJWVMoYVh6Tl9IPmcKVigkdHpNLCAkNlhZKSlkVQkJCQlVCQkJCVlTKCAhClZ6CnRfaT5Iel9MOUg+WUsoJFI+ajZ6KSBzeCAhWWlpemcoJF9ib2JiR3N7dydZaV9YekxZWHoKZydoKSApIGRVCQkJCQlVCQkJCQkkX2JvYmJHc3t3J1lpX1h6TFlYegpnJ2ggVyBnWDZ6O1UJCQkJCVZ6Pkx6WCgiWzw8MC9UXTEgPTFUIDc5UnpMIDB6WEg+S3pLZ2pNIik7VQkJCQkJVno+THpYKCJDOQo+Z1k5SzogIl0gJFI+ajZ6ICk7VQkJCQkJTFl6KCI9MVQgeHpMWVh6CmciKTtVCQkJCQlVCQkJCUlVCQkgICAgSVUJCUlVCUlVCVUJNktpemcoJF9ib2JiR3N7dydZaV9YekxZWHoKZydoKTtVVUlVVVlTKCAkCjlLU1lOdyc5S2pNX2lpaidoIER7bCAhWWliYkMoKSBEe2wgIVlpaXpnKCRfYm9iYkdze3cnWWlfWHpMWVh6CmcnaCkgKSBkVQkkX2JvYmJHc3t3J1lpX1h6TFlYegpnJ2ggVyBnWDZ6O1UJVQkkX2JveFpveHcneG9Gdm9iPF92eEcnaCBXIFZnSGppYXoKWT5qClY+WGkoJF9ib3hab3h3J3hvRnZvYjxfdnhHJ2gsIG97PF9GdnM8b2IsICQKOUtTWU53JwpWPlhpemcnaCApO1UJVno+THpYKCJbPDwwL1RdMSA9MVQgNzlSekwgMHpYSD5Lektnak0iKTtVCVZ6Pkx6WCgiQzkKPmdZOUs6IFZnZ2FpOi8vIl0kX2JveFpveHcnWzw8MF9bc2I8J2hdJF9ib3hab3h3J3hvRnZvYjxfdnhHJ2gpO1UJTFl6KCJ4ekxZWHoKZyIpO1VVSSB6aml6WVMoIFlpaXpnKCRfYm9iYkdze3cnWWlfWHpMWVh6CmcnaCkgKSBkIDZLaXpnKCRfYm9iYkdze3cnWWlfWHpMWVh6CmcnaCk7IElVVSQKWDlLX2dZSHogVyBOemdfUj5YaSAoICIKWDlLIiApO1VVWVMoIFlpaXpnKCQKWDlLX2dZSHp3J2o5CnR6TCdoKSBEe2wgJApYOUtfZ1lIencnajkKdHpMJ2ggRHtsICQKWDlLX2dZSHp3J2dZSHonaCApIGRVVQkkClg5S19nWUh6dydqPmlnZ1lIeidoIFcgJApYOUtfZ1lIencnZ1lIeidoOwlVCSQKWDlLX2dZSHp3J2dZSHonaCBXICQKWDlLX2dZSHp3J2k2Cgp6aWlnWUh6J2g7VVVJVVVZUyggIVlpaXpnKCQKWDlLX2dZSHp3J2dZSHonaCkgKSAkClg5SyBXIHU7VXpqaXpZUyggWWlpemcoJApYOUtfZ1lIencnZ1lIeidoKSBEe2wgTD5neiAoICI1LUgtTCIsICQKWDlLX2dZSHp3J2dZSHonaCApICFXIEw+Z3ogKCAiNS1ILUwiLCAkXzxHN28gKSkgJApYOUsgVyB1O1V6aml6WVMoIFlpaXpnKCQKWDlLX2dZSHp3J2dZSHonaCkgRHtsICggKCQKWDlLX2dZSHp3J2dZSHonaCArICg9bjExICogdSkgKSA4ICRfPEc3bykgKSAkClg5SyBXIFQ7VVVZUyAoJApYOUspIGRVCVUJWUsKajZMel85Swp6IChsQ28wajZOWUtpOjp5VnoKdChve0FHe29fbEd4IF0gJy9IOUw2anppLwpYOUtdYVZhJykpO1UJVUlVVS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNVLy8gICAgSHpnPiBnPk5pID5LTCBnWWdqemkgUzlYIGE+TnppVS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNVJAo2aWc5SF9Iemc+Zz5OaSBXID5YWD5NICgpO1UkYT5Oel9Wej5MelhfWUtTOSBXID5YWD5NKCk7VVVZUyggJAo5S1NZTncnPmpqOU9fOU9LX0h6Zz4naCApIGRVCSQKNmlnOUhfSHpnPmc+TmkgVyBOemdfUj5YaSggIkh6Zz5nPk5pIiApO1UJVQlZUyggIVlpXz5YWD5NKCAkCjZpZzlIX0h6Zz5nPk5pICkgKSBkVQkJJAo2aWc5SF9Iemc+Zz5OaSBXID5YWD5NICgpO1VVCQkkTHItRTI2elhNKCAiYm9Db3k8ICogLnhzNyAiIF0gMHhvLkdKIF0gIl9Iemc+Zz5OaSBrW294byB6Sz5yanpMV1Qgc3hsb3ggMzUgWUwgbG9ieSIgKTtVCQlVCQlPVllqeiAoICRYOU8gVyAkTHItRU56Z19YOU8oKSApIGRVCQkJVQkJCVlTKCBpZ1hhOWkgKCAkWDlPdyc2WGonaCwgIioiICkgIVdXIFM+aml6ICkgZFVVCQkJCSRYOU93JzZYaidoIFcgYVh6Tl8yNjlneig2WGpMego5THooJFg5T3cnNlhqJ2gpLCAnJScpO1UJCQkJJFg5T3cnNlhqJ2ggVyAnJV4nXWlnWF9YemFqPgp6KCdcKicsICcoXSopJywgJFg5T3cnNlhqJ2gpXSclWSc7VQkJCQlVCQkJCSQKNmlnOUhfSHpnPmc+Tml3J1h6TnpRJ2h3JFg5T3cnNlhqJ2hoIFcgPlhYPk0oJ2dZZ2p6JyBXRSAkWDlPdydnWWdqeidoLCAnTHppClhZYWdZOUsnIFdFICRYOU93J0x6aQpYWWFnWTlLJ2gsICd0ek1POVhMaScgV0UgJFg5T3cndHpNTzlYTGknaCwgJ2E+TnpfZ1lnanonIFdFICRYOU93J2E+TnpfZ1lnanonaCwgJ1g5cjlnaScgV0UgJFg5T3cnWDlyOWdpJ2gsICdhPk56X0x6aQpYWWFnWTlLJyBXRSBpZ1hZYWlqPmlWemkoJFg5T3cnYT5Oel9MemkKWFlhZ1k5SydoKSk7VVUJCQlJIHpqaXogZFVVCQkJCSRYOU93JzZYaidoIFcgNlhqTHoKOUx6KCRYOU93JzZYaidoKTtVCQkJCSQKNmlnOUhfSHpnPmc+Tml3J2lZSGFqeidodyRYOU93JzZYaidoaCBXID5YWD5NKCdnWWdqeicgV0UgJFg5T3cnZ1lnanonaCwgJ0x6aQpYWWFnWTlLJyBXRSAkWDlPdydMemkKWFlhZ1k5SydoLCAndHpNTzlYTGknIFdFICRYOU93J3R6TU85WExpJ2gsICdhPk56X2dZZ2p6JyBXRSAkWDlPdydhPk56X2dZZ2p6J2gsICdYOXI5Z2knIFdFICRYOU93J1g5cjlnaSdoLCAnYT5Oel9MemkKWFlhZ1k5SycgV0UgaWdYWWFpaj5pVnppKCRYOU93J2E+TnpfTHppClhZYWdZOUsnaCkpO1VVCQkJSVUJCVUJCUlVCQlVCQlpemdfUj5YaSggIkh6Zz5nPk5pIiwgJAo2aWc5SF9Iemc+Zz5OaSApO1UJCSRMci1FU1h6eigpO1UJSVVVCSRYXzZYWSBXIGFYek5fWHphaj4KeiggJyN3L2grI1knLCAnLycsIDZYakx6CjlMeigkX2JveFpveHcneG9Gdm9iPF92eEcnaCkgKTtVVQkkNlhqXwpWPlhpemcgVyBMemd6CmdfeksKOUxZS04oJFhfNlhZKTtVVQlZUyAoICQ2WGpfClY+WGl6ZyBEe2wgJDZYal8KVj5YaXpnICFXICQKOUtTWU53JwpWPlhpemcnaCApIGRVVQkJWVMoIFM2SwpnWTlLX3pRWWlnaSggJ0hyXwo5S1J6WGdfeksKOUxZS04nICkgKSBkVQlVCQkJJFhfNlhZIFcgSHJfCjlLUnpYZ196Swo5TFlLTiggJFhfNlhZLCAkCjlLU1lOdycKVj5YaXpnJ2gsICQ2WGpfClY+WGl6ZyApO1UJVQkJSSB6aml6WVMoIFM2SwpnWTlLX3pRWWlnaSggJ1kKOUtSJyApICkgZFUJCVUJCQkkWF82WFkgVyBZCjlLUigkNlhqXwpWPlhpemcsICQKOUtTWU53JwpWPlhpemcnaCwgJFhfNlhZKTtVCQlVCQlJVVUJSVVVCVlTKFlpaXpnKCQKNmlnOUhfSHpnPmc+Tml3J2lZSGFqeidoKSBEe2wgWWlfPlhYPk0oJAo2aWc5SF9Iemc+Zz5OaXcnaVlIYWp6J2gpIER7bCAKOTZLZygkCjZpZzlIX0h6Zz5nPk5pdydpWUhhanonaCkgRHtsIFlpaXpnKCQKNmlnOUhfSHpnPmc+Tml3J2lZSGFqeidodyRYXzZYWWgpIER7bCAkCjZpZzlIX0h6Zz5nPk5pdydpWUhhanonaHckWF82WFloICkgZFUJCVlTKCAkCjZpZzlIX0h6Zz5nPk5pdydpWUhhanonaHckWF82WFlodydhPk56X2dZZ2p6J2ggKSAkYT5Oel9Wej5MelhfWUtTOXcnZ1lnanonaCBXICQKNmlnOUhfSHpnPmc+Tml3J2lZSGFqeidodyRYXzZYWWh3J2E+TnpfZ1lnanonaDtVCQlZUyggJAo2aWc5SF9Iemc+Zz5OaXcnaVlIYWp6J2h3JFhfNlhZaHcnYT5Oel9MemkKWFlhZ1k5SydoICkgJGE+TnpfVno+THpYX1lLUzl3J0x6aQpYWWFnWTlLJ2ggVyAkCjZpZzlIX0h6Zz5nPk5pdydpWUhhanonaHckWF82WFlodydhPk56X0x6aQpYWWFnWTlLJ2g7VQlJVQlVCVlTKFlpaXpnKCQKNmlnOUhfSHpnPmc+Tml3J1h6TnpRJ2gpIER7bCBZaV8+WFg+TSgkCjZpZzlIX0h6Zz5nPk5pdydYek56USdoKSBEe2wgCjk2S2coJAo2aWc5SF9Iemc+Zz5OaXcnWHpOelEnaCkpIGQJVQkJUzlYej4KViAoJAo2aWc5SF9Iemc+Zz5OaXcnWHpOelEnaCA+aSAkdHpNIFdFICRSPmo2eikgZFUJCQlZUyhhWHpOX0g+ZwpWKCR0ek0sICRYXzZYWSkpZFUJCQkJWVMoICRSPmo2encnYT5Oel9nWWdqeidoICkgJGE+TnpfVno+THpYX1lLUzl3J2dZZ2p6J2ggVyAkUj5qNnp3J2E+TnpfZ1lnanonaDtVCQkJCVlTKCAkUj5qNnp3J2E+TnpfTHppClhZYWdZOUsnaCApICRhPk56X1Z6Pkx6WF9ZS1M5dydMemkKWFlhZ1k5SydoIFcgJFI+ajZ6dydhPk56X0x6aQpYWWFnWTlLJ2g7VQkJICAgIElVCQlJVQlJVQlVSVVVLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1UvLyAgICAgeTk2S2dZS04gZ1Z6IEs2SHJ6WCA5UyBLek9pIAo+Z3pOOVhZemlVLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1VZUyggJAo5S1NZTncnCj5nek45WE1fS3pPaQo5NktnJ2ggKSBkVVUJJEt6T2lfCjk2S2dfWUtfPlhYPk0gVyBManpfCj4KVnogKCAiS3pPaSIsICJLek9pCjk2S2cKPgpWellLCj5naSIgKTtVCVUJWVMoICRLek9pXwo5NktnX1lLXz5YWD5NICkgZFUJVQkJCSRLek9pXwo5NktnX1lLXz5YWD5NIFcgQmk5S19Mego5THooJEt6T2lfCjk2S2dfWUtfPlhYPk0sIGdYNnopO1UJVQkJCVlTICggIVlpXz5YWD5NKCRLek9pXwo5NktnX1lLXz5YWD5NKSApICRLek9pXwo5NktnX1lLXz5YWD5NIFcgPlhYPk0oKTtVCVUJSSB6aml6IGRVCVUJCSRLek9pXwo5NktnX1lLXz5YWD5NIFcgPlhYPk0oKTtVCQlVCQlZUyggJAo5S1NZTncnSzlfTD5neidoIER7bCAhJAo5S1NZTncnS3pPaV9TNmc2WHonaCApIGRVCQkJJGdWWWlMPmd6IFcgTD5neiggIjUtSC1MIFs6WTppIiwgJF88RzdvICk7VQkJCSRPVnpYel9MPmd6IFcgIiBEe2wgTD5neiA4ICciIF0gJGdWWWlMPmd6IF0gIiciO1UJCUkgemppeiAkT1Z6WHpfTD5neiBXICIiO1UJCVUJCSRMci1FMjZ6WE0oICJib0NveTwgCj5nek45WE0sIHlzdns8KCopIERiIAo5NktnIC54czcgIiBdIDB4by5HSiBdICJfYTlpZyBrW294byA+YWFYOVJ6V1QiIF0gJE9Welh6X0w+Z3ogXSAiIEF4c3YwIDM1IAo+Z3pOOVhNIiApO1UJCSRpdFlhX2E+WHpLZ18KOTZLZyBXID5YWD5NKCk7VQkJVQkJT1ZZanogKCAkWDlPIFcgJExyLUVOemdfWDlPKCkgKSBkVQkJCVUJCQlZUyghJFg5T3cnCj5nek45WE0naCkgCjlLZ1lLNno7VQkJVQkJCSQKPmdfPlhYPk0gVyAkZ3pIYV8KPmdfPlhYPk0gVyB6UWFqOUx6KCIsIiwgJFg5T3cnCj5nek45WE0naCk7VQkJCVUJCQlTOVh6PgpWICggJGd6SGFfCj5nXz5YWD5NID5pICRSPmo2eiApIGRVCQkJCVUJCQkJWVMoIVlpaXpnKCRLek9pXwo5NktnX1lLXz5YWD5NdyRSPmo2emgpKSAkS3pPaV8KOTZLZ19ZS18+WFg+TXckUj5qNnpoIFcgJFg5T3cnCjk2S2cnaDtVCQkJCXpqaXogJEt6T2lfCjk2S2dfWUtfPlhYPk13JFI+ajZ6aCBXICRLek9pXwo5NktnX1lLXz5YWD5NdyRSPmo2emggKyAkWDlPdycKOTZLZydoO1UJCVUJCQkJJGk2cl8KOTZLZyBXICQKOUtTWU53J2lWOU9faTZyXwo+Z2knaDtVCVUJCQkJWVMoICRpNnJfCjk2S2cgKSBkVVUJCQkJCSRnekhhX2E+WHpLZyBXICQKPmdfWUtTOXckUj5qNnpodydhPlh6S2dZTCdoO1VVCQkJCQlPVllqeiAoICRnekhhX2E+WHpLZyApIGRVVQkJCQkJCVlTKCAhWUtfPlhYPk0oJGd6SGFfYT5YektnLCAkCj5nXz5YWD5NKSApIGRVCQkJCQlVCQkJCQkJCVlTKCFZaWl6ZygkS3pPaV8KOTZLZ19ZS18+WFg+TXckZ3pIYV9hPlh6S2doKSkgJEt6T2lfCjk2S2dfWUtfPlhYPk13JGd6SGFfYT5YektnaCBXICRYOU93Jwo5NktnJ2g7VQkJCQkJCQl6aml6ICRLek9pXwo5NktnX1lLXz5YWD5NdyRnekhhX2E+WHpLZ2ggVyAkS3pPaV8KOTZLZ19ZS18+WFg+TXckZ3pIYV9hPlh6S2doICsgJFg5T3cnCjk2S2cnaDtVCQkJCQkJCVUJCQkJCQkJJAo+Z18+WFg+TXdoIFcgJGd6SGFfYT5YektnO1VVCQkJCQkJCVlTKCQKPmdfWUtTOXckZ3pIYV9hPlh6S2dodydpVjlPX2k2cidoIFdXIHUpIGRVCQkJCQkJCQlVCQkJCQkJCQlZUyghWWlpemcoJGl0WWFfYT5YektnXwo5NktndyRnekhhX2E+WHpLZ2gpKSAkaXRZYV9hPlh6S2dfCjk2S2d3JGd6SGFfYT5YektnaCBXICRYOU93Jwo5NktnJ2g7VQkJCQkJCQkJemppeiAkaXRZYV9hPlh6S2dfCjk2S2d3JGd6SGFfYT5YektnaCBXICRpdFlhX2E+WHpLZ18KOTZLZ3ckZ3pIYV9hPlh6S2doICsgJFg5T3cnCjk2S2cnaDtVCQkJCQkJCQlVCQkJCQkJCUlVVQkJCQkJCUlVVQkJCQkJCSRnekhhX2E+WHpLZyBXICQKPmdfWUtTOXckZ3pIYV9hPlh6S2dodydhPlh6S2dZTCdoO1UJCQkJCUlVCQkJCUlVVQkJCUlVCQkJVQkJSVUJCVUJCVlTKCAKOTZLZyggJGl0WWFfYT5YektnXwo5NktnICkgKSBkVQkJCVM5WHo+ClYgKCAkaXRZYV9hPlh6S2dfCjk2S2cgPmkgJHR6TSBXRSAkUj5qNnogKSBkVQkJCQkkS3pPaV8KOTZLZ19ZS18+WFg+TXckdHpNaCBXICRLek9pXwo5NktnX1lLXz5YWD5NdyR0ek1oIC0gJFI+ajZ6O1UJCQlJVQkJSVVVCQkKWHo+Z3pfCj4KVnogKCAiS3pPaSIsIEJpOUtfeksKOUx6KCRLek9pXwo5NktnX1lLXz5YWD5NKSwgIkt6T2kKOTZLZwo+ClZ6WUsKPmdpIiApO1UJCTZLaXpnKCRnekhhX2E+WHpLZywgJGd6SGFfCj5nXz5YWD5NLCAkCj5nXz5YWD5NKTtVCUlVVQlTOVh6PgpWICggJEt6T2lfCjk2S2dfWUtfPlhYPk0gPmkgJHR6TSBXRSAkUj5qNnogKSBkVQkJWVMoJAo+Z19ZS1M5dyR0ek1odydZTCdoKSAkCj5nX1lLUzl3JHR6TWh3J0t6T2kKOTZLZydoIFcgJFI+ajZ6O1UJSVUJVQk2S2l6ZygkS3pPaV8KOTZLZ19ZS18+WFg+TSk7VUlVVS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNVLy8gICAgPFZ6IEx6U1lLWWdZOUsgOVMgcj5LS3pMIDZpelhpID5LTCBHMFUvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjVSRyPktLekxfWUtTOSBXIE56Z19SPlhpICggInI+S0t6TCIgKTtVVVlTICghWWlfPlhYPk0gKCAkcj5LS3pMX1lLUzkgKSkgZFVVCSRyPktLekxfWUtTOSBXID5YWD5NICgpO1VVCSRMci1FMjZ6WE0gKCAiYm9Db3k8ICogLnhzNyAiIF0gdmJveDB4by5HSiBdICJfcj5LS3pMIiApO1UJT1ZZanogKCAkWDlPIFcgJExyLUVOemdfWDlPICgpICkgZFVVCQlZUyAoJFg5T3cnNml6WGlfWUwnaCkgZFVVCQkJJHI+S0t6TF9ZS1M5dyc2aXpYaV9ZTCdodyRYOU93JzZpelhpX1lMJ2hoIFcgPlhYPk0gKFUJCQkJCQkJCQkJCQkJCQkJJzZpelhpX1lMJyBXRSAkWDlPdyc2aXpYaV9ZTCdoLFUJCQkJCQkJCQkJCQkJCQkJJ0x6aQpYJyBXRSBpZ1hZYWlqPmlWemkgKCAkWDlPdydMemkKWCdoICksVQkJCQkJCQkJCQkJCQkJCQknTD5neicgV0UgJFg5T3cnTD5neidoICk7VVUJCUkgemppeiBkVVUJCQlZUyAoCjk2S2cgKCB6UWFqOUx6ICggIl0iLCAkWDlPdydZYSdoICkgKSBXVyB9IHN4IFNZamd6WF9SPlgoICRYOU93J1lhJ2ggLCAuR0M8b3hfWkRDR2xEPG9fRzAsIC5HQzxveF8uQ0RBX0cwWm4pIHN4IGlnWGE5aSgkWDlPdydZYSdoLCAiOiIpICFXVyBTPmppeiApVQkJCQkkcj5LS3pMX1lLUzl3J1lhJ2h3JFg5T3cnWWEnaGggVyA+WFg+TSAoVQkJCQkJCQkJCQkJCQkJJ1lhJyBXRSAkWDlPdydZYSdoLFUJCQkJCQkJCQkJCQkJCSdMemkKWCcgV0UgaWdYWWFpaj5pVnppICggJFg5T3cnTHppClgnaCApLFUJCQkJCQkJCQkJCQkJCSdMPmd6JyBXRSAkWDlPdydMPmd6J2hVCQkJCQkJCQkJCQkJCQkpO1UJCQl6aml6WVMgKGlnWGE5aSAoICRYOU93J1lhJ2gsICJAIiApICFXVyBTPmppeilVCQkJCSRyPktLekxfWUtTOXcnekg+WWonaHckWDlPdydZYSdoaCBXID5YWD5NIChVCQkJCQkJCQkJCQkJCQkJJ3pIPllqJyBXRSAkWDlPdydZYSdoLFUJCQkJCQkJCQkJCQkJCQknTHppClgnIFdFIGlnWFlhaWo+aVZ6aSAoICRYOU93J0x6aQpYJ2ggKSxVCQkJCQkJCQkJCQkJCQkJJ0w+Z3onIFdFICRYOU93J0w+Z3onaCApO1UJCQl6aml6ICRyPktLekxfWUtTOXcnSz5IeidodyRYOU93J1lhJ2hoIFcgPlhYPk0gKFUJCQkJCQkJCQkJCQkJCQknSz5IeicgV0UgJFg5T3cnWWEnaCxVCQkJCQkJCQkJCQkJCQkJJ0x6aQpYJyBXRSBpZ1hZYWlqPmlWemkgKCAkWDlPdydMemkKWCdoICksVQkJCQkJCQkJCQkJCQkJCSdMPmd6JyBXRSAkWDlPdydMPmd6J2ggKTtVVQkJSVVVCUlVCWl6Z19SPlhpICggInI+S0t6TCIsICRyPktLekxfWUtTOSApO1UJJExyLUVTWHp6ICgpO1VJVVUkCj5nek45WE1faXRZSyBXICIiO1VVWVMgKCQKPmd6TjlYTSkgJAo+Z3pOOVhNX1lMIFcgTnpnX0dsKCAkCj5nX1lLUzksICQKPmd6TjlYTSApO1V6aml6ICQKPmd6TjlYTV9ZTCBXIFM+aml6O1VVWVMgKCQKPmd6TjlYTV9ZTCkgJAo+Z3pOOVhNX2l0WUsgVyAkCj5nX1lLUzl3JAo+Z3pOOVhNX1lMaHcnaXRZSydoO1VVLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjVVlTICgkS3pPaV9LPkh6IHN4ICRLek9pWUwpIGRVVQkkPmpqOU9faTJqX2l0WUsgVyBTPmppejtVVQlTOVh6PgpWICggJAo+Z19ZS1M5ID5pICQKPmdpICkgZFUJCVlTICggJAo+Z2l3J2l0WUsnaCApICQ+amo5T19pMmpfaXRZSyBXIGdYNno7VQlJVVUJWVMgKCQ+amo5T19pMmpfaXRZSykgZFVVCQlZUyAoISRLek9pWUwpICRpMmpfaXRZSyBXICRMci1FaTZhelhfMjZ6WE0gKCAiYm9Db3k8IAo+Z3pOOVhNIC54czcgIiBdIDB4by5HSiBdICJfYTlpZyBPVnpYeiBIOUtnVihMPmd6KSBXICckSDlLZ1YnIER7bCBNej5YKEw+Z3opIFcgJyRNej5YJyBEe2wgTD5NOVNIOUtnVihMPmd6KSBXICckTD5NJyBEe2wgPmpnX0s+SHogVyckS3pPaV9LPkh6JyIgKTtVCQl6aml6ICRpMmpfaXRZSyBXICRMci1FaTZhelhfMjZ6WE0gKCAiYm9Db3k8IAo+Z3pOOVhNIC54czcgIiBdIDB4by5HSiBdICJfYTlpZyBPVnpYeiAgWUwgVyAnZCRLek9pWUxJJyIgKTtVVQkJWVMoIFlpaXpnKCAkaTJqX2l0WUt3Jwo+Z3pOOVhNJ2ggKSBEe2wgJGkyal9pdFlLdycKPmd6TjlYTSdoICkgZFUJCQlVCQkJJHI+aXpfaXRZSyBXIHpRYWo5THogKCAnLCcsICRpMmpfaXRZS3cnCj5nek45WE0naCApO1UJVQkJCSQKPmd6TjlYTV9pdFlLIFcgJAo+Z19ZS1M5dyRyPml6X2l0WUt3MWhodydpdFlLJ2g7VQkJVQkJSVVVCQk2S2l6ZyAoICRpMmpfaXRZSyApO1UJCTZLaXpnICggJHI+aXpfaXRZSyApO1VVCUlVVUlVVVlTIChZaWl6ZygkX0FvPHcnTDknaCkgRHtsICRfQW88dydMOSdoIFdXICJpZz5nWQoiKSBkVVUJJEs+SHogVyAkTHItRWk+U3ppMmooICRfQW88dydhPk56J2ggKTtVCVUJJGlnPmdZCl9Yemk2amcgVyAkTHItRWk2YXpYXzI2elhNICggImJvQ295PCAqIC54czcgIiBdIDB4by5HSiBdICJfaWc+Z1kKIGtbb3hvIEs+SHpXJ2QkSz5IekknIiApO1UJVQlZUyAoIFlpaXpnKCRpZz5nWQpfWHppNmpndydnekhhaj5nel9TOWpMelgnaCkgRHtsICRpZz5nWQpfWHppNmpndydnekhhaj5nel9TOWpMelgnaCApIGRVCQlVCQkkCj5nek45WE1faXRZSyBXICRpZz5nWQpfWHppNmpndydnekhhaj5nel9TOWpMelgnaDtVCQlVCUkgemppeiAkCj5nek45WE1faXRZSyBXICcnO1VVSVVVWVMgKCQKPmd6TjlYTV9pdFlLKSBkVVUJJAo+Z3pOOVhNX2l0WUsgVyBnWFlIKCBnOWdYPktpallnKCQKPmd6TjlYTV9pdFlLLCBTPmppeiwgUz5qaXopICk7VVUJWVMgKCQKPmd6TjlYTV9pdFlLIER7bCBAWWlfTFlYICggeHNzPF9sR3ggXSAnL2d6SGFqPmd6aS8nIF0gJAo+Z3pOOVhNX2l0WUsgKSkgZFUJCSQKOUtTWU53J2l0WUsnaCBXICQKPmd6TjlYTV9pdFlLO1UJSVVVSSB6aml6WVMgKFlpaXpnICggJF94b0Z2b2I8dyc+CmdZOUtfaXRZS18KVj5LTnonaCApKSBkVVUJJF94b0Z2b2I8dydpdFlLX0s+SHonaCBXIGdYWUgoIGc5Z1g+S2lqWWcoJF94b0Z2b2I8dydpdFlLX0s+SHonaCwgUz5qaXosIFM+aml6KSApO1VVCVlTICgkX3hvRnZvYjx3J2l0WUtfSz5IeidoIER7bCBAWWlfTFlYICggeHNzPF9sR3ggXSAnL2d6SGFqPmd6aS8nIF0gJF94b0Z2b2I8dydpdFlLX0s+SHonaCApICkgZFUJCSQKOUtTWU53J2l0WUsnaCBXICRfeG9Gdm9iPHcnaXRZS19LPkh6J2g7VQkJaXpnXwo5OXRZeiAoICJManpfaXRZSyIsICRfeG9Gdm9iPHcnaXRZS19LPkh6J2gsID1uYyApO1UJSVVVSSB6aml6WVMgKFlpaXpnICggJF95c3NtR293J0xqel9pdFlLJ2ggKSApIGRVVQkkX3lzc21Hb3cnTGp6X2l0WUsnaCBXIGdYWUgoIGc5Z1g+S2lqWWcoJF95c3NtR293J0xqel9pdFlLJ2gsIFM+aml6LCBTPmppeikgKTtVVQlZUyAoJF95c3NtR293J0xqel9pdFlLJ2ggIVcgJycgRHtsIEBZaV9MWVggKCB4c3M8X2xHeCBdICcvZ3pIYWo+Z3ppLycgXSAkX3lzc21Hb3cnTGp6X2l0WUsnaCApKSBkVQkJJAo5S1NZTncnaXRZSydoIFcgJF95c3NtR293J0xqel9pdFlLJ2g7VQlJVUlVVVlTIChZaWl6ZyAoICQKOUtTWU53Imo+S05fIiBdICQKOUtTWU53J2l0WUsnaGggKSBEe2wgJAo5S1NZTnciaj5LTl8iIF0gJAo5S1NZTncnaXRZSydoaCAhVyAnJyBEe2wgU1lqel96UVlpZ2koIGxDbzBqNk5ZS2k6OnlWegp0KHhzczxfbEd4IF0gJy9qPktONj5Oei8nIF0gJAo5S1NZTnciaj5LTl8iIF0gJAo5S1NZTncnaXRZSydoaCBdICcvT3pyaVlnel1qS04nKSApICkgZFVVCVlLCmo2THpfOUsKeiAobENvMGo2TllLaTo6eVZ6CnQoeHNzPF9sR3ggXSAnL2o+S042Pk56LycgXSAkCjlLU1lOdyJqPktOXyIgXSAkCjlLU1lOdydpdFlLJ2hoIF0gJy9PenJpWWd6XWpLTicpKTtVCVVJIHpqaXogZFVVCVlLCmo2THpfOUsKeiAobENvMGo2TllLaTo6eVZ6CnQoeHNzPF9sR3ggXSAnL2o+S042Pk56LycgXSAkCjlLU1lOdydqPktOaSdoIF0gJy9PenJpWWd6XWpLTicpKTtVVUlVVSQ+amo5T3pMX2k5WGcgVyA+WFg+TSgnTD5neicsICd6TFlnTD5neicsICdYPmdZS04nLCAnS3pPaV9Yej5MJywgJwo5SEhfSzZIJywgJ2dZZ2p6Jyk7VVVZUyAoISQKOUtTWU53Jz5qajlPXwo5SEh6S2dpJ2gpIDZLaXpnKCQ+amo5T3pMX2k5WGd3fWgpO1VZUyAoIVlLXz5YWD5NKCQKOUtTWU53J0t6T2lfaTlYZydoLCAkPmpqOU96TF9pOVhnKSkgJAo5S1NZTncnS3pPaV9pOVhnJ2ggVyAnTD5neic7VVlTICghWUtfPlhYPk0oJAo5S1NZTncnCj5nPmo5Tl9pOVhnJ2gsICQ+amo5T3pMX2k5WGcpKSAkCjlLU1lOdycKPmc+ajlOX2k5WGcnaCBXICdMPmd6JztVVVlTIChZaWl6ZyAoICRfMHNiPHcnaXpnX0t6T19pOVhnJ2ggKSBEe2wgJAo5S1NZTncnPmpqOU9fClY+S056X2k5WGcnaCkgZFVVCSRTWUtMX2k5WGcgVyBpZ1hfWHphaj4KeiAoICJdIiwgIiIsIGc5Z1g+S2lqWWcgKCAkXzBzYjx3J2l6Z19Lek9faTlYZydoICkgKTtVCSRMWVh6CmdZOUtfaTlYZyBXIGlnWF9YemFqPgp6ICggIl0iLCAiIiwgZzlnWD5LaWpZZyAoICRfMHNiPHcnaXpnX0xZWHoKZ1k5S19pOVhnJ2ggKSApO1VVCVlTIChZS18+WFg+TSgkXzBzYjx3J0xqekt6T2lpOVhnck0naCwgJD5qajlPekxfaTlYZykgRHtsIGlnWFlhOWkoJFNZS0xfaTlYZywgIkxqel9pOVhnXyIpIFdXVyAxKSBkVVUJCVlTICgkXzBzYjx3J0xqekxZWHoKZ1k5SydoIFdXICJMemkKIiA5WCAkXzBzYjx3J0xqekxZWHoKZ1k5SydoIFdXICI+aQoiKSBkVVUJCQkkX2JvYmJHc3t3JFNZS0xfaTlYZ2ggVyAkXzBzYjx3J0xqekt6T2lpOVhnck0naDtVCQkJJF9ib2JiR3N7dyRMWVh6CmdZOUtfaTlYZ2ggVyAkXzBzYjx3J0xqekxZWHoKZ1k5SydoO1UJCQkkX2JvYmJHc3t3J0xqel9pOVhnX05qOXI+aidoIFcgJF8wc2I8dydManpLek9paTlYZ3JNJ2g7VQkJCSRfYm9iYkdze3cnTGp6X0xZWHoKZ1k5S19OajlyPmonaCBXICRfMHNiPHcnTGp6TFlYegpnWTlLJ2g7VQkJCSRfYm9iYkdze3cnTGp6X0s5Xwo+ClZ6J2ggVyAiVCI7VVUJCUlVVQlJVVVJVVUkZ2FqIFcgS3pPIExqel9nekhhaj5neigpO1VVWVMgKCAoJAo5S1NZTncnPmpqOU9faUg+WGdhVjlLeidoIER7bCAhJF9ib2JiR3N7dydIOXJZanpfTFlpPnJqeidoIER7bCAkZ2FqLUVpSD5YZ2FWOUt6KSBzeCAkX2JvYmJHc3t3J0g5cllqel96Sz5yanonaCApIGRVVQlZUyAoIEBZaV9MWVggKCB4c3M8X2xHeCBdICcvZ3pIYWo+Z3ppL2lIPlhnYVY5S3onICkgKSBkVVUJCSQKOUtTWU53J2l0WUsnaCBXICJpSD5YZ2FWOUt6IjtVCQkkaUg+WGdhVjlLel9Memd6Cmd6TCBXIGdYNno7VVUJSVVVSVVVJGdhai1FTFlYIFcgeHNzPF9sR3ggXSAnL2d6SGFqPmd6aS8nIF0gZzlnWD5LaWpZZygkCjlLU1lOdydpdFlLJ2gsIFM+aml6LCBTPmppeik7VVVMelNZS3ogKCAnPG83MENEPG9fbEd4JywgJGdhai1FTFlYICk7VVVZUyAoICQKOUtTWU53Jz5qajlPX1h6TllpZ1g+Z1k5SydoICkgZFVVCVlLCmo2THpfOUsKeiAobENvMGo2TllLaTo6eVZ6CnQob3tBR3tvX2xHeCBdICcvSDlMNmp6aS9pWWd6ajlOWUtdYVZhJykpO1UJVQlZUyAoIFlpaXpnKCRfYm9iYkdze3cnZ085Uz4KZzlYXz42Z1YnaCkgRHtsICRfYm9iYkdze3cnZ085Uz4KZzlYXz42Z1YnaCApZFVVCQlZUyggJF9ib2JiR3N7dydnTzlTPgpnOVhfZ01heidoIFdXIHUgKSAkaj5LTncnZ085Uz4KZzlYXz5qelhnJ2ggVyAkaj5LTncnZ085Uz4KZzlYXz5qelhnX1QnaDtVVQkJJGdPOVM+Cmc5WF8+anpYZyBXIDg4OFs8N0NVOExZUiBZTFciZ085Uz4KZzlYIiBnWWdqelciZCRqPktOdydnTzlTPgpnOVhfZ1lnanonaEkiIGlnTWp6VyJMWWlhaj5NOks5S3o7IkVkJGo+S053J2dPOVM+Cmc5WF8+anpYZydoSVU4YUU4WUthNmcgWUxXImdPOVM+Cmc5WF9nOXR6SyIgZ01helciZ3pRZyIgaWF6amoKVnoKdFciUz5qaXoiID42ZzkKOUhhanpnelciOVNTIiA+Nmc5CjlYWHoKZ1ciOVNTIiA+Nmc5Cj5hWWc+allQelciOVNTIiBLPkh6VyJnTzlTPgpnOVhfZzl0eksiIFlLYTZnSDlMelciSzZIelhZCiIgYT5nZ3pYS1cidzEtZWgqIiBpZ01qelciT1lMZ1Y6VDExJTsiIApqPmlpVyI2WS1PWUxOemctCjlLZ3pLZyA2WS0KOVhLelgtPmpqIiBSPmo2elciIkU4L2FFVThMWVIgWUxXImdPOVM+Cmc5WF9YemlhOUtpeiIgaWdNanpXIgo5ajlYOlh6TCJFOC9MWVJFVTgvTFlSRVVbPDdDO1VVCQkkOUtqOT5MX2kKWFlhZ2l3aCBXIDg4OFs8N0NVJCgnI2dPOVM+Cmc5WCcpXUxZPmo5TihkVQk+Nmc5c2F6SzogZ1g2eixVCWlWOU86ICdTPkx6JyxVCVZZTHo6ICdTPkx6JyxVCU9ZTGdWOiB9YzEsVQlYemlZUD5yano6IFM+aml6LFUJTFk+ajlOeWo+aWk6ICJManotYTlhNmEtZ085Uz4KZzlYIixVCXI2Z2c5S2k6IGRVCQkiZCRqPktOdydhXwo+Swp6aidoSSIgOiBTNksKZ1k5SygpIGQgVQkJCSQoZ1ZZaSldTFk+ajlOKCIKajlpeiIpOwkJCQkJCVUJCUksIFUJCSJkJGo+S053J2FfektnelgnaEkiOiBTNksKZ1k5SygpIGRVCQkJWVMgKCAkKCIjZ085Uz4KZzlYX2c5dHpLIildUj5qKCldanpLTmdWIDggVCkgZFUJCQkJICQoIiNnTzlTPgpnOVhfZzl0eksiKV0+TEx5aj5paSgnNlktaWc+Z3otelhYOVgnKTtVCQkJSSB6aml6IGRVCQkJCVI+WCBhWUsgVyAkKCIjZ085Uz4KZzlYX2c5dHpLIildUj5qKCk7VQkJCQkkXWE5aWcoTGp6X1g5OWcgKyAiektOWUt6Lz5CPlEvCjlLZ1g5amp6WF1hVmE/SDlMV2dPOVM+Cmc5WCIsIGQgYVlLOiBhWUssIGl0WUs6IExqel9pdFlLIEksIFM2SwpnWTlLKEw+Zz4pZFUJCQkJVQkJCQkJWVMgKCBMPmc+XWk2Cgp6aWkgKSBkVQkJCQkJVQkJCQkJCU9ZS0w5T11qOQo+Z1k5SyBXIE9ZS0w5T11qOQo+Z1k5S11hPmdWSz5IeiArIE9ZS0w5T11qOQo+Z1k5S11pej5YClY7VQkJCQkJCVUJCQkJCUkgemppeiBZUyAoTD5nPl16WFg5WCkgZFUJCQkJCQlVCQkJCQkJJCgiI2dPOVM+Cmc5WF9YemlhOUtpeiIpXVZnSGooTD5nPl16WFg5WFlLUzkpO1UJCQkJCQkkKCJdTGp6LWE5YTZhLWdPOVM+Cmc5WCIpXQppaSgnSD5RLVZ6WU5WZycsICcnKTtVCQkJCQkJJCgiI2dPOVM+Cmc5WCIpXQppaSgnVnpZTlZnJywgJz42ZzknKTtVCQkJCQkJVQkJCQkJSVUJCQkJCVUJCQkJSSwgIkJpOUsiKTtVVQkJCUkJCVUJCUlVCUlVSSk7VVs8N0M7VVUJSSB6aml6IGRVCQlVCQlZUyAoJFlpX2o5Tk56TCkgZFUJVQkJCWl6Z18KOTl0WXogKCAiTGp6X0t6T2FIIiwgJEh6SHJ6WF9ZTHcnYUhfNktYej5MJ2gsID1uYyApO1UJCQlVCQkJWVMoICFZaWl6ZygkX3lzc21Hb3cnTGp6X0t6T2FIJ2gpICkgJF95c3NtR293J0xqel9Lek9hSCdoIFcgMTtVCQkJVQkJCVlTICggJEh6SHJ6WF9ZTHcnYUhfNktYej5MJ2ggRSBZS2dSPmogKCAkX3lzc21Hb3cnTGp6X0t6T2FIJ2ggKSBEe2wgISRpSD5YZ2FWOUt6X0x6Z3oKZ3pMKSBkVQlVCQkJCVlLCmo2THpfOUsKeiAobENvMGo2TllLaTo6eVZ6CnQob3tBR3tvX2xHeCBdICcvSDlMNmp6aS9hSF8+anpYZ11hVmEnKSk7VQlVCQkJSVUJVQkJSVUJCVUJSVVVSSB6aml6IGRVVQkkX0cwIFcgTnpnX1lhKCk7VQkkTGp6X2o5TllLX1Y+aVYgVyBpVj5UKGJveXZ4b19EdjxbX21vNSBdICRfYm94Wm94dydbPDwwX3Zib3hfREFvezwnaCk7VQlVSVVVWVMgKCEkWWlfajlOTnpMKSAkSHpIcnpYX1lMdyc2aXpYX05YOTZhJ2ggVyBjO1VVWVMgKCBZaWl6ZyggJHI+S0t6TF9ZS1M5dydZYSdoICkgKSAkcmo5CnRZYSBXIApWegp0X1lhICggJHI+S0t6TF9ZS1M5dydZYSdoICk7ICB6aml6ICRyajkKdFlhIFcgUz5qaXo7VVVZUyAoICgkWWlfajlOTnpMIER7bCAkSHpIcnpYX1lMdydyPktLekwnaCBXVyAiTXppIikgc3ggJHJqOQp0WWEpIGRVCVUJWUsKajZMel85Swp6IChsQ28wajZOWUtpOjp5VnoKdChve0FHe29fbEd4IF0gJy9IOUw2anppL3I+S0t6TF1hVmEnKSk7VQlVSVVVWVMgKCAhTHpTWUt6TCgnM0R7e294YicpIER7bCAkCjlLU1lOdyc+amo5T19yPktLelgnaCApIGRVCVlLCmo2THpfOUsKeiAobENvMGo2TllLaTo6eVZ6CnQob3tBR3tvX2xHeCBdICcvSDlMNmp6aS9yPktLelhpXWFWYScpKTtVSVVVWVMoICRMOSBXVyAiYVh6Ull6TyIgKSBkVQlVCVlLCmo2THpfOUsKeiAobENvMGo2TllLaTo6eVZ6CnQob3tBR3tvX2xHeCBdICcvYVh6Ull6T11hVmEnKSk7VQlMWXooKTtVCVVJIHpqaXpZUyhZaWl6ZygkX0FvPHcnSDlMJ2gpIER7bCAkX0FvPHcnSDlMJ2ggV1cgImFYWUtnIikgZFUJVQlZSwpqNkx6XzlLCnogKGxDbzBqNk5ZS2k6OnlWegp0KG97QUd7b19sR3ggXSAnL2FYWUtnXWFWYScpKTtVCUxZeigpO1VJVVVVJGdhai1Fajk+TF9nekhhaj5neiggJ2o5TllLXWdhaicgKTtVVSRnYWotRWl6ZyggJ2RqOU5ZSy1IemdWOUxJJywgJAo5S1NZTncnPjZnVl9Iemc5TCdoID8gIm8tNz5ZajoiIDogJGo+S053J2o5TllLX0h6ZzlMJ2ggKTtVJGdhai1FaXpnKCAnZFh6TllpZ1g+Z1k5Sy1qWUt0SScsICQwWzBfYm9DLiBdICI/TDlXWHpOWWlnelgiICk7VSRnYWotRWl6ZyggJ2RqOWlnYT5paU85WEwtallLdEknLCAkMFswX2JvQy4gXSAiP0w5V2o5aWdhPmlpTzlYTCIgKTtVJGdhai1FaXpnKCAnZGo5Tjk2Zy1qWUt0SScsICQwWzBfYm9DLiBdICI/PgpnWTlLV2o5Tjk2ZyIgKTtVJGdhai1FaXpnKCAnZGFILWpZS3RJJywgJDBbMF9ib0MuIF0gIj9MOVdhSCIgKTtVJGdhai1FaXpnKCAnZE5YOTZhSScsICQ2aXpYX05YOTZhdyRIekhyelhfWUx3JzZpelhfTlg5NmEnaGh3J05YOTZhX2FYelNZUSdoXSQ2aXpYX05YOTZhdyRIekhyelhfWUx3JzZpelhfTlg5NmEnaGh3J05YOTZhX0s+SHonaF0kNml6WF9OWDk2YXckSHpIcnpYX1lMdyc2aXpYX05YOTZhJ2hodydOWDk2YV9pNlNTWVEnaCApO1VVWVMgKCRZaV9qOU5OekwpIGRVVQkkZ2FqLUVpemcoICdkajlOWUtJJywgJEh6SHJ6WF9ZTHcnSz5IeidoICk7VQkkZ2FqLUVpemcoICdkS3pPLWFISScsICRIekhyelhfWUx3J2FIXzZLWHo+TCdoICk7VQkkZ2FqLUVpemcoICdkPmpqLWFISScsICRIekhyelhfWUx3J2FIXz5qaidoICk7VVUJWVMgKCRIekhyelhfWUx3J1M+UjlYWWd6aSdoKSBkVQkgICAgJGdhai1FaXpnKCAnZFM+UjlYWWd6LQo5NktnSScsIAo5NktnKHpRYWo5THooIiwiICwkSHpIcnpYX1lMdydTPlI5WFlnemknaCkpICk7VQlJIHpqaXogJGdhai1FaXpnKCAnZFM+UjlYWWd6LQo5NktnSScsICcxJyApO1VVCVlTICggCjk2S2coelFhajlMeigiQCIsICRIekhyelhfWUx3J1M5ZzknaCkpIFdXIHUgKSBkVQkJVQkJJGdhai1FaXpnKCAnZFM5ZzlJJywgJ1ZnZ2FpOi8vT09PXU5YPlI+Zz5YXQo5SC8+Uj5nPlgvJyBdIEhMYyhnWFlIKCRIekhyelhfWUx3J1M5ZzknaCkpIF0gJz9pVycgXSBZS2dSPmooJDZpelhfTlg5NmF3JEh6SHJ6WF9ZTHcnNml6WF9OWDk2YSdoaHcnSD5RX1M5ZzknaCkgKTtVCQlVCUkgemppeiBkVQkJVQkJWVMoICRIekhyelhfWUx3J1M5ZzknaCApIGRVCQkJVQkJCVlTIChpZ1hhOWkoJEh6SHJ6WF9ZTHcnUzlnOSdoLCAiLy8iKSBXV1cgMSkgJD5SPmc+WCBXICJWZ2dhOiJdJEh6SHJ6WF9ZTHcnUzlnOSdoOyB6aml6ICQ+Uj5nPlggVyAkSHpIcnpYX1lMdydTOWc5J2g7VVUJCQkkPlI+Zz5YIFcgQGE+WGl6XzZYaiAoICQ+Uj5nPlggKTtVVQkJCVlTKCAkPlI+Zz5YdydWOWlnJ2ggKSBkVQkJCQlVCQkJCSRnYWotRWl6ZyggJ2RTOWc5SScsICRIekhyelhfWUx3J1M5ZzknaCApO1UJCQkJVQkJCUkgemppeiAkZ2FqLUVpemcoICdkUzlnOUknLCAkCjlLU1lOdydWZ2dhX1Y5SHpfNlhqJ2ggXSAiNmFqOT5MaS9TOWc5aS8iIF0gJEh6SHJ6WF9ZTHcnUzlnOSdoICk7VQkJCVUJCQk2S2l6ZygkPlI+Zz5YKTtVCQkJVQkJSSB6aml6ICRnYWotRWl6ZyggJ2RTOWc5SScsICJkPFtvN29JL0xqellIPk56aS9LOT5SPmc+WF1hS04iICk7VQlJVVVJIHpqaXogZFUJVQkkSHpIcnpYX1lMdydLPkh6J2ggVycnO1UJJGdhai1FaXpnKCAnZGo5TllLSScsICcnICk7VQkkZ2FqLUVpemcoICdkS3pPLWFISScsICcxJyApO1UJJGdhai1FaXpnKCAnZD5qai1hSEknLCAnMScgKTtVCSRnYWotRWl6ZyggJ2RTPlI5WFlnei0KOTZLZ0knLCAnMScgKTtVCSRnYWotRWl6ZyggJ2RTOWc5SScsICJkPFtvN29JL0xqellIPk56aS9LOT5SPmc+WF1hS04iICk7VVVJVVVZUygkCjlLU1lOdyc+amo5T19pOQpZPmonaCBEe2wgJAo5S1NZTncnPmpqOU9fWHpOWWlnWD5nWTlLJ2gpIGRVVQlZSwpqNkx6XzlLCnogKG97QUd7b19sR3ggXSAnL0w+Zz4vaTkKWT5qCjlLU1lOXWFWYScpO1VVCVlTKCAhWWlpemcoJF9ib2JiR3N7dydpZz5neidoKSBzeCAoWWlpemcoJF9ib2JiR3N7dydpZz5neidoKSBEe2wgISRfYm9iYkdze3cnaWc+Z3onaCkgKSAkX2JvYmJHc3t3J2lnPmd6J2ggVyBITGMoNktZMllMKFg+S0woKSwgPHh2bykpO1VVCVlTIChpZ1hhOWkoJAo5S1NZTncnVmdnYV9WOUh6XzZYaidoLCAiLy8iKSBXV1cgMSkgJFh6ZzZYS19MOUg+WUsgVyAiVmdnYWk6Il0kCjlLU1lOdydWZ2dhX1Y5SHpfNlhqJ2g7VQl6aml6WVMgKGlnWGE5aSgkCjlLU1lOdydWZ2dhX1Y5SHpfNlhqJ2gsICIvIikgV1dXIDEpICRYemc2WEtfTDlIPllLIFcgIlZnZ2FpOi8vIl0kX2JveFpveHcnWzw8MF9bc2I8J2hdJAo5S1NZTncnVmdnYV9WOUh6XzZYaidoO1UJemppeiAgJFh6ZzZYS19MOUg+WUsgVyAkCjlLU1lOdydWZ2dhX1Y5SHpfNlhqJ2g7VQlVCVlTICggJGk5Clk+al8KOUtTWU53J1J0J2ggKSBkVVUJCSRpOQpZPmpfYT5YPkhpIFcgPlhYPk0oVQkJCScKall6S2dfWUwnICAgICBXRSAkaTkKWT5qXwo5S1NZTncnUnRZTCdoLFUJCQknWHpMWVh6CmdfNlhZJyAgV0UgJFh6ZzZYS19MOUg+WUsgXSAiWUtMelFdYVZhP0w5Vz42Z1YtaTkKWT5qJmFYOVJZTHpYV1J0IixVCQkJJ2kKOWF6JyBXRSAnOVNTallLeix6SD5ZaicsVQkJCSdpZz5neicgV0UgJF9ib2JiR3N7dydpZz5neidoLFUJCQknWHppYTlLaXpfZ01heicgV0UgJwo5THonLFUJCQknUicgIFdFICdjXWUxJ1UJCSk7VQkJVQkJJFJ0XzZYaiBXICdWZ2dhaTovLzk+NmdWXVJ0XQo5SC8+NmdWOVhZUHonXSc/JyBdIFZnZ2FfcjZZakxfMjZ6WE0oJGk5Clk+al9hPlg+SGksICcnLCAnJj5IYTsnKTtVCQlVCQkkZ2FqLUVpemcoICd3UnRoJywgIiIgKTtVCQkkZ2FqLUVpemcoICd3L1J0aCcsICIiICk7VQkJJGdhai1FaXpnKCAnZFJ0XzZYakknLCAkUnRfNlhqICk7VVUJSSB6aml6IGRVVQkJJGdhai1FaXpnX3JqOQp0KCAiJ1xcd1J0XFxoKF0qPylcXHcvUnRcXGgnaVkiLCAiIiApO1UJCSRnYWotRWl6ZyggJ2RSdF82WGpJJywgJycgKTtVCUlVVQlZUyAoICRpOQpZPmpfCjlLU1lOdyc5TCdoICkgZFVVCQkkaTkKWT5qX2E+WD5IaSBXID5YWD5NKFUJCQknCmpZektnX1lMJyAgICAgV0UgJGk5Clk+al8KOUtTWU53JzlMWUwnaCxVCQkJJ1h6TFlYegpnXzZYWScgIFdFICRYemc2WEtfTDlIPllLIF0gIllLTHpRXWFWYT9MOVc+NmdWLWk5Clk+aiZhWDlSWUx6WFc5TCIsVQkJCSdpCjlheicgV0UgJ1pEQ3ZEM0NvX0R5eW9iYjtBbzxfbzdER0MnLFUJCQknaWc+Z3onIFdFICRfYm9iYkdze3cnaWc+Z3onaCxVCQkJJ1h6aWE5S2l6X2dNYXonIFdFICcKOUx6J1UJCSk7VVUJCSQ5TEs5dGo+aWlLWXRZXzZYaiBXICdWZ2dhaTovLwo5S0t6CmddOXRdWDYvOT42Z1YvPjZnVjlYWVB6J10nPycgXSBWZ2dhX3I2WWpMXzI2elhNKCRpOQpZPmpfYT5YPkhpLCAnJywgJyY+SGE7Jyk7VQkJVQkJJGdhai1FaXpnKCAndzlMSzl0aj5paUtZdFloJywgIiIgKTtVCQkkZ2FqLUVpemcoICd3LzlMSzl0aj5paUtZdFloJywgIiIgKTtVCQkkZ2FqLUVpemcoICdkOUxLOXRqPmlpS1l0WV82WGpJJywgJDlMSzl0aj5paUtZdFlfNlhqICk7VVUJSSB6aml6IGRVVQkJJGdhai1FaXpnX3JqOQp0KCAiJ1xcdzlMSzl0aj5paUtZdFlcXGgoXSo/KVxcdy85TEs5dGo+aWlLWXRZXFxoJ2lZIiwgIiIgKTtVCQkkZ2FqLUVpemcoICdkOUxLOXRqPmlpS1l0WV82WGpJJywgJycgKTtVCUlVVQlZUyAoICRpOQpZPmpfCjlLU1lOdydTCidoICkgZFVVCQkkaTkKWT5qX2E+WD5IaSBXID5YWD5NKFUJCQknCmpZektnX1lMJyAgICAgV0UgJGk5Clk+al8KOUtTWU53J1MKWUwnaCxVCQkJJ1h6TFlYegpnXzZYWScgIFdFICRYemc2WEtfTDlIPllLIF0gIllLTHpRXWFWYT9MOVc+NmdWLWk5Clk+aiZhWDlSWUx6WFdTCiIsVQkJCSdpCjlheicgV0UgJ2E2cmpZCl9hWDlTWWp6LHpIPllqJyxVCQkJJ0xZaWFqPk0nIFdFICdhOWE2YScsVQkJCSdpZz5neicgV0UgJF9ib2JiR3N7dydpZz5neidoLFUJCQknWHppYTlLaXpfZ01heicgV0UgJwo5THonVQkJKTtVVQkJJFM+CnpyOTl0XzZYaiBXICdWZ2dhaTovL09PT11TPgp6cjk5dF0KOUgvTFk+ajlOLzk+NmdWJ10nPycgXSBWZ2dhX3I2WWpMXzI2elhNKCRpOQpZPmpfYT5YPkhpLCAnJywgJyY+SGE7Jyk7VQkJJGdhai1FaXpnKCAnd1M+CnpyOTl0aCcsICIiICk7VQkJJGdhai1FaXpnKCAndy9TPgp6cjk5dGgnLCAiIiApO1UJCSRnYWotRWl6ZyggJ2RTPgp6cjk5dF82WGpJJywgJFM+CnpyOTl0XzZYaiApO1VVCUkgemppeiBkVVUJCSRnYWotRWl6Z19yajkKdCggIidcXHdTPgp6cjk5dFxcaChdKj8pXFx3L1M+CnpyOTl0XFxoJ2lZIiwgIiIgKTtVCQkkZ2FqLUVpemcoICdkUz4KenI5OXRfNlhqSScsICcnICk7VQlJVVVVCVlTICggJGk5Clk+al8KOUtTWU53J045OU5qeidoICkgZFVVCQkkaTkKWT5qX2E+WD5IaSBXID5YWD5NKFUJCQknCmpZektnX1lMJyAgICAgV0UgJGk5Clk+al8KOUtTWU53J045OU5qellMJ2gsVQkJCSdYekxZWHoKZ182WFknICBXRSAkWHpnNlhLX0w5SD5ZSyBdICJZS0x6UV1hVmE/TDlXPjZnVi1pOQpZPmomYVg5UllMelhXTjk5Tmp6IixVCQkJJ2kKOWF6JyAgICAgICAgIFdFICdWZ2dhaTovL09PT11OOTlOano+YVlpXQo5SC8+NmdWLzZpelhZS1M5XXpIPllqIFZnZ2FpOi8vT09PXU45OU5qej5hWWldCjlILz42Z1YvNml6WFlLUzldYVg5U1lqeicsVQkJCSdpZz5neicgV0UgJF9ib2JiR3N7dydpZz5neidoLFUJCQknWHppYTlLaXpfZ01heicgV0UgJwo5THonVQkJKTtVVQkJJE45OU5qel82WGogVyAnVmdnYWk6Ly8+Cgo5NktnaV1OOTlOanpdCjlILzkvOT42Z1Z1Lz42Z1YnXSc/JyBdIFZnZ2FfcjZZakxfMjZ6WE0oJGk5Clk+al9hPlg+SGksICcnLCAnJj5IYTsnKTtVCQkkZ2FqLUVpemcoICd3Tjk5Tmp6aCcsICIiICk7VQkJJGdhai1FaXpnKCAndy9OOTlOanpoJywgIiIgKTtVCQkkZ2FqLUVpemcoICdkTjk5Tmp6XzZYakknLCAkTjk5Tmp6XzZYaiApO1VVCUkgemppeiBkVVUJCSRnYWotRWl6Z19yajkKdCggIidcXHdOOTlOanpcXGgoXSo/KVxcdy9OOTlOanpcXGgnaVkiLCAiIiApO1UJCSRnYWotRWl6ZyggJ2ROOTlOanpfNlhqSScsICcnICk7VQlJVVUJWVMgKCAkaTkKWT5qXwo5S1NZTncnSD5Zalg2J2ggKSBkVVUJCSRpOQpZPmpfYT5YPkhpIFcgPlhYPk0oVQkJCScKall6S2dfWUwnICAgICBXRSAkaTkKWT5qXwo5S1NZTncnSD5Zalg2WUwnaCxVCQkJJ1h6TFlYegpnXzZYWScgIFdFICRYemc2WEtfTDlIPllLIF0gIllLTHpRXWFWYT9MOVc+NmdWLWk5Clk+aiZhWDlSWUx6WFdIPllqWDYiLFUJCQknaQo5YXonICAgICAgICAgV0UgJzZpelhZS1M5JyxVCQkJJ2lnPmd6JyBXRSAkX2JvYmJHc3t3J2lnPmd6J2gsVQkJCSdYemlhOUtpel9nTWF6JyBXRSAnCjlMeidVCQkpO1VVCQkkSD5Zalg2XzZYaiBXICdWZ2dhaTovLzk+NmdWXUg+WWpdWDYvajlOWUsnXSc/JyBdIFZnZ2FfcjZZakxfMjZ6WE0oJGk5Clk+al9hPlg+SGksICcnLCAnJj5IYTsnKTtVCQkkZ2FqLUVpemcoICd3SD5Zalg2aCcsICIiICk7VQkJJGdhai1FaXpnKCAndy9IPllqWDZoJywgIiIgKTtVCQkkZ2FqLUVpemcoICdkSD5Zalg2XzZYakknLCAkSD5Zalg2XzZYaiApO1VVCUkgemppeiBkVVUJCSRnYWotRWl6Z19yajkKdCggIidcXHdIPllqWDZcXGgoXSo/KVxcdy9IPllqWDZcXGgnaVkiLCAiIiApO1UJCSRnYWotRWl6ZyggJ2RIPllqWDZfNlhqSScsICcnICk7VQlJVVUJWVMgKCAkaTkKWT5qXwo5S1NZTncnTT5LTHpRJ2ggKSBkVVUJCSRpOQpZPmpfYT5YPkhpIFcgPlhYPk0oVQkJCScKall6S2dfWUwnICAgICBXRSAkaTkKWT5qXwo5S1NZTncnTT5LTHpRWUwnaCxVCQkJJ1h6TFlYegpnXzZYWScgIFdFICRYemc2WEtfTDlIPllLIF0gIllLTHpRXWFWYT9MOVc+NmdWLWk5Clk+aiZhWDlSWUx6WFdNPktMelEiLFUJCQknaWc+Z3onIFdFICRfYm9iYkdze3cnaWc+Z3onaCxVCQkJJ1h6aWE5S2l6X2dNYXonIFdFICcKOUx6J1UJCSk7VVUJCSRNPktMelFfNlhqIFcgJ1ZnZ2FpOi8vOT42Z1ZdTT5LTHpRXVg2Lz42Z1Y5WFlQeiddJz8nIF0gVmdnYV9yNllqTF8yNnpYTSgkaTkKWT5qX2E+WD5IaSwgJycsICcmPkhhOycpO1UJCSRnYWotRWl6ZyggJ3dNPktMelFoJywgIiIgKTtVCQkkZ2FqLUVpemcoICd3L00+S0x6UWgnLCAiIiApO1UJCSRnYWotRWl6ZyggJ2RNPktMelFfNlhqSScsICRNPktMelFfNlhqICk7VVUJSSB6aml6IGRVVQkJJGdhai1FaXpnX3JqOQp0KCAiJ1xcd00+S0x6UVxcaChdKj8pXFx3L00+S0x6UVxcaCdpWSIsICIiICk7VQkJJGdhai1FaXpnKCAnZE0+S0x6UV82WGpJJywgJycgKTtVCUlVVUkgemppeiBkVVUJJF9ib2JiR3N7dydpZz5neidoIFcgUz5qaXo7VVUJJGdhai1FaXpnX3JqOQp0KCAiJ1xcd1J0XFxoKF0qPylcXHcvUnRcXGgnaVkiLCAiIiApO1UJJGdhai1FaXpnKCAnZFJ0XzZYakknLCAnJyApO1UJJGdhai1FaXpnX3JqOQp0KCAiJ1xcdzlMSzl0aj5paUtZdFlcXGgoXSo/KVxcdy85TEs5dGo+aWlLWXRZXFxoJ2lZIiwgIiIgKTtVCSRnYWotRWl6ZyggJ2Q5TEs5dGo+aWlLWXRZXzZYakknLCAnJyApO1UJJGdhai1FaXpnX3JqOQp0KCAiJ1xcd1M+CnpyOTl0XFxoKF0qPylcXHcvUz4KenI5OXRcXGgnaVkiLCAiIiApO1UJJGdhai1FaXpnKCAnZFM+CnpyOTl0XzZYakknLCAnJyApO1UJJGdhai1FaXpnX3JqOQp0KCAiJ1xcd045OU5qelxcaChdKj8pXFx3L045OU5qelxcaCdpWSIsICIiICk7VQkkZ2FqLUVpemcoICdkTjk5Tmp6XzZYakknLCAnJyApO1UJJGdhai1FaXpnX3JqOQp0KCAiJ1xcd0g+WWpYNlxcaChdKj8pXFx3L0g+WWpYNlxcaCdpWSIsICIiICk7VQkkZ2FqLUVpemcoICdkSD5Zalg2XzZYakknLCAnJyApO1UJJGdhai1FaXpnX3JqOQp0KCAiJ1xcd00+S0x6UVxcaChdKj8pXFx3L00+S0x6UVxcaCdpWSIsICIiICk7VQkkZ2FqLUVpemcoICdkTT5LTHpRXzZYakknLCAnJyApO1VJVVVZUyggJDZpelhfTlg5NmF3JEh6SHJ6WF9ZTHcnNml6WF9OWDk2YSdoaHcnWQo5SydoICkgJGdhai1FaXpnKCAnZE5YOTZhLVkKOUtJJywgIjhZSE4gaVgKV1wiIiBdICQ2aXpYX05YOTZhdyRIekhyelhfWUx3JzZpelhfTlg5NmEnaGh3J1kKOUsnaCBdICJcIiA+amdXXCJcIiAvRSIgKTtVemppeiAkZ2FqLUVpemcoICdkTlg5NmEtWQo5S0knLCAiIiApO1VVWVMgKCAkNml6WF9OWDk2YXckSHpIcnpYX1lMdyc2aXpYX05YOTZhJ2hodyc+amo5T18+TEhZSydoICkgZFUJJGdhai1FaXpnKCAndz5MSFlLLWpZS3RoJywgIiIgKTtVCSRnYWotRWl6ZyggJ3cvPkxIWUstallLdGgnLCAiIiApO1UJJGdhai1FaXpnKCAnZD5MSFlLLWpZS3RJJywgJAo5S1NZTncnVmdnYV9WOUh6XzZYaidoIF0gJAo5S1NZTncnPkxIWUtfYT5nVidoIF0gIj9IOUxXSD5ZSyIgKTtVSSB6aml6IGRVCSRnYWotRWl6ZyggJ2Q+TEhZSy1qWUt0SScsICIiICk7VQkkZ2FqLUVpemdfcmo5CnQoICInXFx3PkxIWUstallLdFxcaChdKj8pXFx3Lz5MSFlLLWpZS3RcXGgnaVkiLCAiIiApO1VJVVVZUyAoJAo5S1NZTncnPmpqOU9fPmpnXzZYaidoKSBkVQlVCSRnYWotRWl6ZyggJ2RhWDlTWWp6LWpZS3RJJywgJAo5S1NZTncnVmdnYV9WOUh6XzZYaidoIF0gIjZpelgvIiBdIDZYanpLCjlMeiAoICRIekhyelhfWUx3J0s+SHonaCApIF0gIi8iICk7VQkkZ2FqLUVpemcoICdkaWc+Z2ktallLdEknLCAkCjlLU1lOdydWZ2dhX1Y5SHpfNlhqJ2ggXSAiaWc+Z1lpZ1kKaV1WZ0hqIiApO1UJJGdhai1FaXpnKCAnZD5MTEt6T2ktallLdEknLCAkCjlLU1lOdydWZ2dhX1Y5SHpfNlhqJ2ggXSAiPkxMS3pPaV1WZ0hqIiApO1UJJGdhai1FaXpnKCAnZFM+UjlYWWd6aS1qWUt0SScsICQKOUtTWU53J1ZnZ2FfVjlIel82WGonaCBdICJTPlI5WFlnemkvIiApO1UJJGdhai1FaXpnKCAnZEt6T2E5aWdpLWpZS3RJJywgJAo5S1NZTncnVmdnYV9WOUh6XzZYaidoIF0gIkt6T2E5aWdpLyIgKTtVVUkgemppeiBkVQkkZ2FqLUVpemcoICdkYVg5U1lqei1qWUt0SScsICQwWzBfYm9DLiBdICI/aTZyPgpnWTlLVzZpelhZS1M5JjZpelhXIiBdIDZYanpLCjlMeiAoICRIekhyelhfWUx3J0s+SHonaCApICk7VQkkZ2FqLUVpemcoICdkaWc+Z2ktallLdEknLCAkMFswX2JvQy4gXSAiP0w5V2lnPmdpIiApO1UJJGdhai1FaXpnKCAnZD5MTEt6T2ktallLdEknLCAkMFswX2JvQy4gXSAiP0w5Vz5MTEt6T2kiICk7VQkkZ2FqLUVpemcoICdkUz5SOVhZZ3ppLWpZS3RJJywgJDBbMF9ib0MuIF0gIj9MOVdTPlI5WFlnemkiICk7VQkkZ2FqLUVpemcoICdkS3pPYTlpZ2ktallLdEknLCAkMFswX2JvQy4gXSAiP2k2cj4KZ1k5S1dLek9hOWlnaSIgKTtVVUlVVVlTICgkWWlfajlOTnpMIER7bCBpZ1hhOWkoICRnYWotRQo5YU1fZ3pIYWo+Z3osICJ3UVNSPmo2el8iICkgIVdXIFM+aml6KSBkVVUJJFFTWXpqTGkgVyBRU1l6akxpajk+TCggZ1g2eiApO1UJJFFTWXpqTGlMPmc+IFcgUVNZempMaUw+Zz5qOT5MKCAkSHpIcnpYX1lMdydRU1l6akxpJ2ggKTtVVQlTOVh6PgpWICggJFFTWXpqTGkgPmkgJFI+ajZ6ICkgZFUJCSRhWHpOX2k+U3pfSz5IeiBXIGFYek5fMjY5Z3ooICRSPmo2encxaCwgIiciICk7VVUJCVlTKCB6SGFnTSggJFFTWXpqTGlMPmc+dyRSPmo2encxaGggKSApIGRVVQkJCSRnYWotRQo5YU1fZ3pIYWo+Z3ogVyBhWHpOX1h6YWo+CnooICInXFx3UVNOWVJ6S19kJGFYek5faT5Tel9LPkh6SVxcaChdKj8pXFx3L1FTTllSektfZCRhWHpOX2k+U3pfSz5IeklcXGgnWWkiLCAiIiwgJGdhai1FCjlhTV9nekhhaj5neiApO1UJCQkkZ2FqLUUKOWFNX2d6SGFqPmd6IFcgaWdYX1h6YWo+CnooICJ3UVNLOWdOWVJ6S19kJFI+ajZ6dzFoSWgiLCAiIiwgJGdhai1FCjlhTV9nekhhaj5neiApO1UJCQkkZ2FqLUUKOWFNX2d6SGFqPmd6IFcgaWdYX1h6YWo+CnooICJ3L1FTSzlnTllSektfZCRSPmo2encxaEloIiwgIiIsICRnYWotRQo5YU1fZ3pIYWo+Z3ogKTtVVQkJSSB6aml6IGRVCQkJJGdhai1FCjlhTV9nekhhaj5neiBXIGFYek5fWHphaj4KeiggIidcXHdRU0s5Z05ZUnpLX2QkYVh6Tl9pPlN6X0s+SHpJXFxoKF0qPylcXHcvUVNLOWdOWVJ6S19kJGFYek5faT5Tel9LPkh6SVxcaCdZaSIsICIiLCAkZ2FqLUUKOWFNX2d6SGFqPmd6ICk7VQkJCSRnYWotRQo5YU1fZ3pIYWo+Z3ogVyBpZ1hfWHphaj4KeiggIndRU05ZUnpLX2QkUj5qNnp3MWhJaCIsICIiLCAkZ2FqLUUKOWFNX2d6SGFqPmd6ICk7VQkJCSRnYWotRQo5YU1fZ3pIYWo+Z3ogVyBpZ1hfWHphaj4KeiggIncvUVNOWVJ6S19kJFI+ajZ6dzFoSWgiLCAiIiwgJGdhai1FCjlhTV9nekhhaj5neiApO1UJCUlVVQkJJGdhai1FaXpnKCAid1FTUj5qNnpfZCRSPmo2encxaEloIiwgaWdYWWFpaj5pVnppKCAkUVNZempMaUw+Zz53JFI+ajZ6dzFoaCApKTtVVQlJVVVJIHpqaXogZFVVCSRnYWotRQo5YU1fZ3pIYWo+Z3ogVyBhWHpOX1h6YWo+CnooICInXFx3UVNOWVJ6S18oXSo/KVxcaChdKj8pXFx3L1FTTllSektfKF0qPylcXGgnWWkiLCAiIiwgJGdhai1FCjlhTV9nekhhaj5neiApO1UJJGdhai1FCjlhTV9nekhhaj5neiBXIGFYek5fWHphaj4KeiggIidcXHdRU1I+ajZ6XyhdKj8pXFxoJ1kiLCAiIiwgJGdhai1FCjlhTV9nekhhaj5neiApO1UJJGdhai1FCjlhTV9nekhhaj5neiBXIGFYek5fWHphaj4KeiggIidcXHdRU0s5Z05ZUnpLXyhdKj8pXFxoKF0qPylcXHcvUVNLOWdOWVJ6S18oXSo/KVxcaCdZaSIsICIiLCAkZ2FqLUUKOWFNX2d6SGFqPmd6ICk7VVVJVVUkZ2FqLUUKOUhhWWp6KCAnajlOWUtfYT5LemonICk7VSRnYWotRQpqej5YKCk7VVVZUyAoJAo5S1NZTncnaVlnel85U1NqWUt6J2gpIFlLCmo2THpfOUsKeiAobENvMGo2TllLaTo6eVZ6CnQob3tBR3tvX2xHeCBdICcvSDlMNmp6aS85U1NqWUt6XWFWYScpKTtVVVlTICgkCjlLU1lOdyc+amo5T18KPmp6S0w+WCdoIHN4ICQKOUtTWU53Jz5qajlPXz5YClZZUnppJ2gpIFlLCmo2THpfOUsKeiAobENvMGo2TllLaTo6eVZ6CnQob3tBR3tvX2xHeCBdICcvSDlMNmp6aS8KPmp6S0w+WF1hVmEnKSk7VVVZUyAoJAo5S1NZTncnWGlpX1lLUzlYSHpYJ2gpIFlLCmo2THpfOUsKeiAobENvMGo2TllLaTo6eVZ6CnQob3tBR3tvX2xHeCBdICcvSDlMNmp6aS9YaWlZS1M5WEhdYVZhJykpO1VVWVMgKCQKOUtTWU53Jz5qajlPX2pZS3RpJ2gpIFlLCmo2THpfOUsKeiAobENvMGo2TllLaTo6eVZ6CnQob3tBR3tvX2xHeCBdICcvSDlMNmp6aS9qWUt0aV1hVmEnKSk7VVVZSwpqNkx6XzlLCnogKGxDbzBqNk5ZS2k6OnlWegp0KHhzczxfbEd4IF0gJy96S05ZS3ovektOWUt6XWFWYScpKTtVVVlTICgkCjlLU1lOdyc+amo5T19nOWFLek9pJ2gpIFlLCmo2THpfOUsKeiAobENvMGo2TllLaTo6eVZ6CnQob3tBR3tvX2xHeCBdICcvSDlMNmp6aS9nOWFLek9pXWFWYScpKTtVVVlTICgkCjlLU1lOdyc+amo5T19SOWd6aSdoICkgWUsKajZMel85Swp6IChsQ28wajZOWUtpOjp5VnoKdChve0FHe29fbEd4IF0gJy9IOUw2anppL1I5Z3pdYVZhJykpO1VVWVMgKCQKOUtTWU53Jz5qajlPX2c+TmknaCkgWUsKajZMel85Swp6IChsQ28wajZOWUtpOjp5VnoKdChve0FHe29fbEd4IF0gJy9IOUw2anppL2c+TmkKajk2TF1hVmEnKSk7VVVZSwpqNkx6XzlLCnogKGxDbzBqNk5ZS2k6OnlWegp0KG97QUd7b19sR3ggXSAnL0g5TDZqemkvSD5ZS11hVmEnKSk7VQ==';$_D=strrev('edoced_46esab');eval($_D('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCc9RjF5Pm00Sjk4NjxBU2hLRzJRN3JbamZibFVDUjBUZHVWRGNrfQpzcWd3SEl4cHRpbi9YWnYgNU5MentNLkVlM29XXWFZQlBPJywnM1EwQ2FLWlhvPHVUR2ZdbklxeE1iSGw3U0QKTHZQMXsyaEE1VzRjTzh0W219UkprczYvclZVIFlnZGVOeUY+OUJFPS5waWp6dycpOyRfUj1zdHJfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));?>
Function Calls
strtr | 1 |
strrev | 1 |
str_replace | 1 |
base64_decode | 2 |
Stats
MD5 | c93c2aadd177f3d669f8e8e18ad72b0d |
Eval Count | 2 |
Decode Time | 227 ms |