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 
-----------------------------------------------------
 https://dle-news.ru/
-----------------------------------------------------
 Copyright (c) 2004-2024 SoftNews Media Group
=====================================================
 This code is protected by copyright
=====================================================
 File: engine.php
=====================================================
*/

if (!defined('DATALIFEENGINE')) {
	die ( "Hacking attempt!" );
}

if ($cstart < 0) $cstart = 0;

$CN_HALT = false;
$allow_add_comment = false;
$allow_active_news = true;
$allow_comments = false;
$allow_userinfo = false;
$active = false;
$disable_index = false;
$social_tags = array();
$canonical = false;
$url_page = false;
$user_query = false;
$news_author = false;
$attachments = array ();
$short_news_cache = false;
$sql_select_ids = false;

switch ( $do ) {
	
	case "search" :
		
		if (isset($_REQUEST['mode']) AND $_REQUEST['mode'] == "advanced") $_REQUEST['full_search'] = 1;
		include (DLEPlugins::Check(ENGINE_DIR . '/modules/search.php'));
		break;

	case "download" :
		if (isset($_REQUEST['mode']) AND $_REQUEST['mode'] == 'error') {
			include_once(DLEPlugins::Check(ENGINE_DIR . '/download.php'));
		}

		break;

	case "changemail":
		include(DLEPlugins::Check(ENGINE_DIR . '/modules/changemail.php'));
		break;

	case "findcomments":
		include(DLEPlugins::Check(ENGINE_DIR . '/modules/findcomments.php'));
		break;
		
	case "deletenews" :
		include (DLEPlugins::Check(ENGINE_DIR . '/modules/deletenews.php'));
		break;

	case "comments" :
		include (DLEPlugins::Check(ENGINE_DIR . '/modules/comments.php'));
		break;
	
	case "stats" :
		include (DLEPlugins::Check(ENGINE_DIR . '/modules/stats.php'));
		break;
	
	case "addnews" :
		include (DLEPlugins::Check(ENGINE_DIR . '/modules/addnews.php'));
		break;
	
	case "register" :
		include (DLEPlugins::Check(ENGINE_DIR . '/modules/register.php'));
		break;
	
	case "lostpassword" :
		include (DLEPlugins::Check(ENGINE_DIR . '/modules/lostpassword.php'));
		break;
	
	case "rules" :
		$_GET['page'] = "dle-rules-page";
		include (DLEPlugins::Check(ENGINE_DIR . '/modules/static.php'));
		break;
	
	case "static" :
		include (DLEPlugins::Check(ENGINE_DIR . '/modules/static.php'));
		break;
	
	case "alltags" :
		include_once (DLEPlugins::Check(ENGINE_DIR . '/modules/tagscloud.php'));
		break;

	case "auth-social" :
		include_once (DLEPlugins::Check(ENGINE_DIR . '/modules/social.php'));
		break;
	
	case "favorites" :
		
		if ($is_logged) {
			
			include (DLEPlugins::Check(ENGINE_DIR . '/modules/favorites.php'));
		
		} else {
			
			@header( "HTTP/1.1 403 Forbidden" );
			msgbox ( $lang['all_err_1'], $lang['fav_error'] );
			
		}
			
		break;
	
	case "feedback" :
		include (DLEPlugins::Check(ENGINE_DIR . '/modules/feedback.php'));
		break;
	
	case "lastcomments" :
		include (DLEPlugins::Check(ENGINE_DIR . '/modules/lastcomments.php'));
		break;
	
	case "pm" :
		include (DLEPlugins::Check(ENGINE_DIR . '/modules/pm.php'));
		break;

	case "unsubscribe" :
		$_GET['post_id'] = intval ($_GET['post_id']);
		$_GET['user_id'] = intval ($_GET['user_id']);

		if ($_GET['post_id'] AND $_GET['user_id'] AND $_GET['hash']) {

			$row = $db->super_query( "SELECT hash FROM " . PREFIX . "_subscribe WHERE news_id='{$_GET['post_id']}' AND user_id='{$_GET['user_id']}'" );

			if ($row['hash'] AND $row['hash'] == $_GET['hash']) {

				$db->query( "DELETE FROM " . PREFIX . "_subscribe WHERE news_id='{$_GET['post_id']}' AND user_id='{$_GET['user_id']}'" );
				msgbox( $lang['all_info'],  $lang['unsubscribe_ok']);

			} else {
				msgbox( $lang['all_info'],  $lang['unsubscribe_err']);
			}

		} else {
			msgbox( $lang['all_info'],  $lang['unsubscribe_err']);
		}

		break;
	
	case "newsletterunsubscribe" :
		
		$_GET['user_id'] = intval ($_GET['user_id']);

		if ($_GET['user_id'] AND $_GET['hash']) {

			$row = $db->super_query( "SELECT password, user_id FROM " . USERPREFIX . "_users WHERE user_id='{$_GET['user_id']}'" );
			
			if ($row['user_id']) {
				
				$unsubscribe_hash = md5( SECURE_AUTH_KEY . $_SERVER['HTTP_HOST'] . $row['user_id'] . sha1( substr($row['password'], 0, 6) ) . $config['key'] );
	
				if ($unsubscribe_hash == $_GET['hash']) {
	
					$db->query( "UPDATE " . USERPREFIX . "_users SET allow_mail='0' WHERE user_id = '{$_GET['user_id']}'" );
					
					msgbox( $lang['all_info'],  $lang['n_unsubscribe_ok']);
	
				} else {
					
					msgbox( $lang['all_info'],  $lang['n_unsubscribe_err']);
					
				}
				
			} else {
				msgbox( $lang['all_info'],  $lang['n_unsubscribe_err']);
			}

		} else {
			msgbox( $lang['all_info'],  $lang['n_unsubscribe_err']);
		}

		break;
	
	default :
		
		$active = false;
		$user_query = "";
		$url_page = "";
		
		$thisdate = date ( "Y-m-d H:i:s", time () );
		if ($config['no_date'] AND !$config['news_future']) $where_date = " AND date < '" . $thisdate . "'";
		else $where_date = "";
		
		if ($config['allow_fixed']) $fixed = "fixed desc, ";
		else $fixed = "";
		
		$config['news_number'] = intval ( $config['news_number'] );

		if( $config['news_number'] < 1 ) $config['news_number'] = 1;

		if ( $smartphone_detected AND $config['mobile_news'] ) $config['news_number'] = intval ( $config['mobile_news'] );
		
		$news_sort_by = $config['news_sort'] ? $config['news_sort'] : "date";
		$news_direction_by = $config['news_msort'] ? $config['news_msort'] : "DESC";

		$allow_list = explode ( ',', $user_group[$member_id['user_group']]['allow_cats'] );
		$stop_list = "";
		$cat_join = "";
		$cat_join_count = "";
		$extra_join = "LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) ";

		if ($allow_list[0] != "all") {
			
			if ($config['allow_multi_category']) {
				
				$cat_join = "INNER JOIN (SELECT DISTINCT(" . PREFIX . "_post_extras_cats.news_id) FROM " . PREFIX . "_post_extras_cats WHERE cat_id IN (" . implode ( ',', $allow_list ) . ")) c ON (p.id=c.news_id) ";
				$cat_join_count = "p ".$cat_join;
			
			} else {
				
				$stop_list = "category IN ('" . implode ( "','", $allow_list ) . "') AND ";
			
			}
		
		}
		
		$not_allow_cats = explode ( ',', $user_group[$member_id['user_group']]['not_allow_cats'] );
		
		if( $not_allow_cats[0] != "" ) {
			
			if ($config['allow_multi_category']) {
				
				$stop_list = "p.id NOT IN ( SELECT DISTINCT(" . PREFIX . "_post_extras_cats.news_id) FROM " . PREFIX . "_post_extras_cats WHERE cat_id IN (" . implode ( ',', $not_allow_cats ) . ") ) AND ";
				$cat_join_count = "p ";
				
			} else {
				
				$stop_list = "category NOT IN ('" . implode ( "','", $not_allow_cats ) . "') AND ";
			
			}
			
		}

		if( $config['user_in_news'] ) {
			
			$user_select = ", u.email, u.name, u.user_id, u.news_num, u.comm_num as user_comm_num, u.user_group, u.lastdate, u.reg_date, u.banned, u.allow_mail, u.info, u.signature, u.foto, u.fullname, u.land, u.favorites, u.pm_all, u.pm_unread, u.time_limit, u.xfields as user_xfields ";
			$user_join = "LEFT JOIN " . USERPREFIX . "_users u ON (e.user_id=u.user_id) ";
			
		} else { $user_select = ""; $user_join = ""; }
		
		if ($user_group[$member_id['user_group']]['allow_short']) { $stop_list = ""; $cat_join = ""; $cat_join_count = ""; }
		
		$sql_select = '';
		$sql_count = '';
		$sql_news = '';

		// ################ Show of a category #################
		if ($do == "cat" and $category != '' and $subaction == '') {

			$allow_sub_cats = true;
			
			if( $config['allow_alt_url'] AND $config['seo_control'] AND $category_id AND $view_template != "rss") {

				$re_cat = get_url( $category_id );

				if ($re_cat != $_GET['category'] OR substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' OR (isset($_GET['cstart']) AND $_GET['cstart'] == 1) OR substr ( $_SERVER['REQUEST_URI'], - 2 ) == '//' OR strpos ($_SERVER['REQUEST_URI'], "do=cat" ) !== false ) {
					$re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
					$re_url = reset ( $re_url );

					if( (substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' OR substr ( $_SERVER['REQUEST_URI'], - 2 ) == '//') AND $_GET['cstart'] AND $_GET['cstart'] != 1 ) {
					 $re_cat .= "/page/".intval($_GET['cstart']);
					}
					
					header("HTTP/1.0 301 Moved Permanently");
					header("Location: {$re_url}{$re_cat}/");
					die("Redirect");
				}
			}

			if (!$category_id) $category_id = 'not detected';
			
			if ($allow_list[0] != "all") {
				if (!$user_group[$member_id['user_group']]['allow_short'] AND !in_array( $category_id, $allow_list )) $category_id = 'not detected';
			}

			if ($not_allow_cats[0] != "") {
				if (!$user_group[$member_id['user_group']]['allow_short'] AND in_array( $category_id, $not_allow_cats )) $category_id = 'not detected';
			}

			if( !intval($category_id) ) {
				$allow_active_news = false;
			}
			
			if ( isset($cat_info[$category_id]['show_sub']) AND  $cat_info[$category_id]['show_sub'] ) {

				if ( $cat_info[$category_id]['show_sub'] == 1 ) $get_cats = get_sub_cats ( $category_id );
				else { $get_cats = $category_id; $allow_sub_cats = false; }

			} else {

				if ( $config['show_sub_cats'] ) $get_cats = get_sub_cats ( $category_id );
				else { $get_cats = $category_id; $allow_sub_cats = false; }

			}

			if (isset($cat_info[$category_id]['news_sort']) AND $cat_info[$category_id]['news_sort']) $news_sort_by = $cat_info[$category_id]['news_sort'];
			if (isset($cat_info[$category_id]['news_msort']) AND $cat_info[$category_id]['news_msort']) $news_direction_by = $cat_info[$category_id]['news_msort'];
			if (isset($cat_info[$category_id]['news_number']) AND $cat_info[$category_id]['news_number']) $config['news_number'] = $cat_info[$category_id]['news_number'];

			if ($cstart) {
				$cstart = $cstart - 1;
				$cstart = $cstart * $config['news_number'];
			}

			if( isset( $cat_info[$category_id]['alt_name'] ) ) {
				$url_page = $config['http_home_url'] . get_url ( $category_id );
				$user_query = "do=cat&amp;category=" . $cat_info[$category_id]['alt_name'];
			} else {
				$url_page = '';
				$user_query = '';
			}

			
			if( $config['allow_alt_url'] ) $canonical = $url_page . "/"; else $canonical = $PHP_SELF."?do=cat&category=" . $cat_info[$category_id]['alt_name'];
			
			if ($config['allow_multi_category']) {
		
				$get_cats = str_replace ( "|", "','", $get_cats );
				$join_category = "INNER JOIN (SELECT DISTINCT(" . PREFIX . "_post_extras_cats.news_id) FROM " . PREFIX . "_post_extras_cats WHERE cat_id IN ('" . $get_cats . "')) c ON (p.id=c.news_id) ";
				$where_category = "";
				
			} else {
				
				if ( $allow_sub_cats ) {
					
					$get_cats = str_replace ( "|", "','", $get_cats );
					$where_category = "category IN ('" . $get_cats . "') AND ";
				
				} else {
					
					$where_category = "category = '{$get_cats}' AND ";
				
				}
				
				$join_category = "";
			
			}
			
			if ($view_template == "rss") {
				
				if( $rssmode == 'dzen' ) {
					$where_rss = ' AND e.allow_rss_dzen=1';
				} elseif ( $rssmode == 'turbo' ) {
					$where_rss = ' AND e.allow_rss_turbo=1';
				} else $where_rss = '';

				$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, p.full_story, p.xfields, p.title, p.category, p.alt_name, p.comm_num, p.allow_comm, p.fixed, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.editdate, e.editor, e.reason, e.allow_rss_turbo, e.allow_rss_dzen {$user_select}FROM " . PREFIX . "_post p {$join_category}LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}WHERE {$where_category}approve=1 AND allow_rss=1" . $where_rss . $where_date . " ORDER BY date DESC LIMIT 0," . $config['rss_number'];


			} else {
				
				if (isset ( $_SESSION['dle_sort_cat_'.$category_id] )) $news_sort_by = $_SESSION['dle_sort_cat_'.$category_id];
				if (isset ( $_SESSION['dle_direction_cat_'.$category_id] )) $news_direction_by = $_SESSION['dle_direction_cat_'.$category_id];

				if( !in_array($news_sort_by, array('rating', 'news_read', 'editdate')) ) $extra_join = '';

				$sql_select_ids = "SELECT p.id FROM " . PREFIX . "_post p {$join_category}{$extra_join}WHERE {$where_category}approve=1" . $where_date . " ORDER BY " . $fixed . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];

				$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.editdate, e.editor, e.reason {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}";
				$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post p {$join_category}WHERE {$where_category}approve=1";
			}
			
		} elseif ($do == 'lastnews') {
			// ################ Show all news #################			
			if ($cstart) {
				$cstart = $cstart - 1;
				$cstart = $cstart * $config['news_number'];
			}

			if( $config['allow_alt_url'] AND $config['seo_control'] AND isset($_GET['cstart']) AND $_GET['cstart'] ) {
	
				if (substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' OR $_GET['cstart'] == 1 ) {

					$re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
					$re_url = reset ( $re_url );
						
					$re_url .= "lastnews/";
						
					if(substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' AND $_GET['cstart'] != 1 ) {
						$re_url .= "page/".intval($_GET['cstart'])."/";
					}
					
					header("HTTP/1.0 301 Moved Permanently");
					header("Location: {$re_url}");
					die("Redirect");
				}
			}
				
			$url_page = $config['http_home_url'] . "lastnews";
			$user_query = "do=lastnews";
			
			if( $config['allow_alt_url'] ) $canonical = $url_page . "/"; else $canonical = $PHP_SELF."?do=lastnews";
			
			if (isset ( $_SESSION['dle_sort_lastnews'] )) $news_sort_by = $_SESSION['dle_sort_lastnews']; else $news_sort_by = "date";
			if (isset ( $_SESSION['dle_direction_lastnews'] )) $news_direction_by = $_SESSION['dle_direction_lastnews']; else $news_direction_by = "DESC";

			if ( !in_array($news_sort_by, array('rating', 'news_read', 'editdate')) ) $extra_join = '';

			$sql_select_ids = "SELECT p.id FROM " . PREFIX . "_post p {$cat_join}{$extra_join}WHERE {$stop_list}approve=1" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];

			$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.editdate, e.editor, e.reason {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}";
			$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post {$cat_join_count}WHERE {$stop_list}approve=1";
		
		} elseif ($do == 'tags') {
			// ################ Seach news by tags #################			
			if ($cstart) {
				$cstart = $cstart - 1;
				$cstart = $cstart * $config['news_number'];
			}

			$tag = rawurldecode( $_GET['tag'] );

			$tag = htmlspecialchars ( strip_tags ( stripslashes ( trim ( $tag ) ) ), ENT_COMPAT, $config['charset'] );
			
			$encoded_tag = rawurlencode(dle_strtolower(str_replace(array("&#039;", "&quot;", "&amp;", "&amp;frasl;"), array("'", '"', "&", "&frasl;"), $tag)));

			$tag = str_replace( "&amp;frasl;", "/", $tag );

			$_CLOUDSTAG = $tag;
			
			$url_page = $config['http_home_url'] . "tags/" . $encoded_tag;
			$user_query = "do=tags&amp;tag=" . $encoded_tag;
			
			if( $config['allow_alt_url'] ) $canonical = $url_page . "/"; else $canonical = $PHP_SELF."?do=tags&tag=" . $encoded_tag;

			if( $config['allow_alt_url'] AND $config['seo_control'] ) {

				if ( substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' OR (isset($_GET['cstart']) AND $_GET['cstart'] == 1) OR substr ( $_SERVER['REQUEST_URI'], - 2 ) == '//' OR strpos ($_SERVER['REQUEST_URI'], "do=tags" ) !== false OR dle_strtolower($tag)  !== $tag ) {
	
					$re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
					$re_url = reset ( $re_url );
						
					$re_url .= "tags/" . $encoded_tag . "/";
						
					if( $_GET['cstart'] > 1 ) {
						$re_url .= "page/".intval($_GET['cstart'])."/";
					}
					
					header("HTTP/1.0 301 Moved Permanently");
					header("Location: {$re_url}");
					die("Redirect");
				}
			}
			
			if (isset ( $_SESSION['dle_sort_tags'] )) $news_sort_by = $_SESSION['dle_sort_tags'];
			if (isset ( $_SESSION['dle_direction_tags'] )) $news_direction_by = $_SESSION['dle_direction_tags'];

			$tag = $db->safesql($tag);

			if ( !in_array($news_sort_by, array('rating', 'news_read', 'editdate')) ) $extra_join = '';

			$sql_select_ids = "SELECT p.id, t.tag FROM " . PREFIX . "_post p INNER JOIN " . PREFIX . "_tags t on (t.news_id=p.id) {$cat_join}{$extra_join}WHERE {$stop_list}t.tag = '{$tag}' AND p.approve=1" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];

			$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.editdate, e.editor, e.reason {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}";
			$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post p INNER JOIN " . PREFIX . "_tags t on (t.news_id=p.id) {$cat_join}WHERE {$stop_list}t.tag = '{$tag}' AND approve=1";

		} elseif ($do == 'xfsearch') {
			// ################ Seach news by xfields #################		
			if ($cstart) {
				$cstart = $cstart - 1;
				$cstart = $cstart * $config['news_number'];
			}
			
			if (isset ( $_SESSION['dle_sort_xfsearch'] )) $news_sort_by = $_SESSION['dle_sort_xfsearch'];
			if (isset ( $_SESSION['dle_direction_xfsearch'] )) $news_direction_by = $_SESSION['dle_direction_xfsearch'];

			if ( !in_array($news_sort_by, array('rating', 'news_read', 'editdate')) ) $extra_join = '';

			$xf = rawurldecode($_GET['xf']);

			if (dle_substr ( $xf, - 1, 1, $config['charset'] ) == '/') $xf = dle_substr ( $xf, 0, - 1, $config['charset'] );
			
			$xf = explode ( '/', $xf );
			$xfname = "";
			
			if( isset($_GET['xfname']) AND $_GET['xfname'] ) {
				$xfname =totranslit(trim($_GET['xfname']));
			} elseif(count($xf) > 1 ) {
				$xfname =totranslit(trim($xf[0]));
				unset($xf[0]);
			}

			$xf = implode(' ', $xf);
			$xf = htmlspecialchars ( strip_tags ( stripslashes ( trim ( $xf ) ) ), ENT_QUOTES, $config['charset'] );
			$xf = str_replace( array("{", "[", ":", "&amp;frasl;"), array("&#123;", "&#91;", "&#58;", "/"), $xf );
			$xf_encoded = rawurlencode ( dle_strtolower(str_replace(array("&#039;", "&quot;", "&amp;", "&#123;", "&#91;", "&#58;", "/"), array("'", '"', "&", "{", "[", ":", "&frasl;"), $xf ) ) );

			if($xfname) {
				
				$url_page = $config['http_home_url'] . "xfsearch/{$xfname}/{$xf_encoded}";
				$user_query = "do=xfsearch&amp;xfname={$xfname}&amp;xf={$xf_encoded}";
				
				if( $config['allow_alt_url'] ) $canonical = $url_page . "/"; else $canonical = $PHP_SELF."?do=xfsearch&xfname={$xfname}&xf={$xf_encoded}";
				
			} else {
				
				$url_page = $config['http_home_url'] . "xfsearch/{$xf_encoded}";
				$user_query = "do=xfsearch&amp;xf={$xf_encoded}";
				
				if( $config['allow_alt_url'] ) $canonical = $url_page . "/"; else $canonical = $PHP_SELF."?do=xfsearch&xf={$xf_encoded}";
				
				$xfields = xfieldsload();
				$xfields_name = array();
				
				foreach ( $xfields as $value ) {
					$xfields_name[] = $value[0];
				}
				
				if( in_array($xf, $xfields_name) ) {$xf .= "|";}
				
				
			}
			
			$xfname = $db->safesql($xfname);
			$xf = $db->safesql($xf);

			if ( $xfname ) {
				
				if( $config['allow_alt_url'] AND $config['seo_control'] ) {

					if (substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' OR (isset($_GET['cstart']) AND $_GET['cstart'] == 1) OR substr ( $_SERVER['REQUEST_URI'], - 2 ) == '//' OR strpos ($_SERVER['REQUEST_URI'], "do=xfsearch" ) !== false OR dle_strtolower($xf) !== $xf) {
							
						$re_url = $url_page . "/";
							
						if( $_GET['cstart'] > 1 ) {
							$re_url .= "page/".intval($_GET['cstart'])."/";
						}
						
						header("HTTP/1.0 301 Moved Permanently");
						header("Location: {$re_url}");
						die("Redirect");
					}
				}

				$sql_select_ids = "SELECT p.id, xf.tagvalue FROM " . PREFIX . "_post p INNER JOIN " . PREFIX . "_xfsearch xf on (xf.news_id=p.id) {$cat_join}{$extra_join}WHERE {$stop_list}xf.tagname = '{$xfname}' AND xf.tagvalue='{$xf}' AND p.approve=1" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];

				$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.editdate, e.editor, e.reason {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}";
				$sql_count  = "SELECT COUNT(*) as count FROM " . PREFIX . "_post p INNER JOIN " . PREFIX . "_xfsearch xf on (xf.news_id=p.id) {$cat_join}WHERE {$stop_list}xf.tagname = '{$xfname}' AND xf.tagvalue='{$xf}' AND approve=1";
		
			} else {
				
				if(!$xf) {
					
					$re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
					$re_url = reset ( $re_url );
						
					header("HTTP/1.0 301 Moved Permanently");
					header("Location: {$re_url}");
					die("Redirect");
				}

				$sql_select_ids = "SELECT p.id FROM " . PREFIX . "_post p {$cat_join}{$extra_join}WHERE {$stop_list}p.xfields LIKE '%{$xf}%' AND approve=1" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];

				$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.editdate, e.editor, e.reason {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}";
				$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post {$cat_join_count}WHERE {$stop_list}xfields LIKE '%{$xf}%' AND approve=1";
		
				$xf = str_replace ( '|', '', $xf );
			}
		
		} elseif ($subaction == 'userinfo') {
			// ################ show user profile #################
			if ($cstart) {
				
				$cstart = $cstart - 1;
				$cstart = $cstart * $config['news_number'];
			
			}
			
			$url_page = $config['http_home_url'] . "user/" . urlencode ( $user );
			$user_query = "subaction=userinfo&amp;user=" . urlencode ( $user );
			
			if ($member_id['name'] == $user OR $user_group[$member_id['user_group']]['allow_all_edit']) {
				if (isset ( $_SESSION['dle_sort_userinfo'] )) $news_sort_by = $_SESSION['dle_sort_userinfo'];
				if (isset ( $_SESSION['dle_direction_userinfo'] )) $news_direction_by = $_SESSION['dle_direction_userinfo'];

				if ( !in_array($news_sort_by, array('rating', 'news_read', 'editdate')) ) $extra_join = '';

				$sql_select_ids = "SELECT p.id FROM " . PREFIX . "_post p {$extra_join}WHERE autor = '{$user}' AND approve=0 ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];

				$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.editdate, e.editor, e.reason {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}";
				$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE autor = '{$user}' AND approve=0";
				$where_date = "";
				
				if( !$config['profile_news'] ) {
					$allow_active_news = false;
					$news_found = false;		
				}

			} else {
				$allow_active_news = false;
				$news_found = false;
			}
			
			$config['allow_cache'] = false;
			
		} elseif ($subaction == 'allnews') {
			// ################ show all news by user #################
			if ($cstart) {
				
				$cstart = $cstart - 1;
				$cstart = $cstart * $config['news_number'];
			
			}
			
			$url_page = $config['http_home_url'] . "user/" . urlencode ( $user ) . "/news";
			$user_query = "subaction=allnews&amp;user=" . urlencode ( $user );
			
			if( $config['allow_alt_url'] ) $canonical = $url_page . "/"; else $canonical = $PHP_SELF."?subaction=allnews&user=" . urlencode ( $user );
			
			if ($view_template == "rss") {

				if ($rssmode == 'dzen') {
					$where_rss = ' AND e.allow_rss_dzen=1';
				} elseif ($rssmode == 'turbo') {
					$where_rss = ' AND e.allow_rss_turbo=1';
				} else $where_rss = '';

				$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, p.full_story, p.xfields, p.title, p.category, p.alt_name, p.comm_num, p.allow_comm, p.fixed, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.editdate, e.editor, e.reason, e.allow_rss_turbo, e.allow_rss_dzen {$user_select}FROM " . PREFIX . "_post p {$cat_join}LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}WHERE {$stop_list}p.autor = '{$user}' AND p.approve=1 AND e.allow_rss=1" . $where_rss. $where_date . " ORDER BY date DESC LIMIT 0," . $config['rss_number'];
			
			} else {
				
				if (isset ( $_SESSION['dle_sort_allnews'] )) $news_sort_by = $_SESSION['dle_sort_allnews'];
				if (isset ( $_SESSION['dle_direction_allnews'] )) $news_direction_by = $_SESSION['dle_direction_allnews'];

				if ( !in_array($news_sort_by, array('rating', 'news_read', 'editdate')) ) $extra_join = '';

				$sql_select_ids = "SELECT p.id FROM " . PREFIX . "_post p {$cat_join}{$extra_join}WHERE {$stop_list}autor = '$user' AND approve=1" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];

				$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.editdate, e.editor, e.reason {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}";
				$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post {$cat_join_count}WHERE {$stop_list}autor = '$user' AND approve=1";
			}
		
		} elseif ($subaction == 'newposts') {
			// ################ show all unread news #################
			if ($cstart) {
				$cstart = $cstart - 1;
				$cstart = $cstart * $config['news_number'];
			}
			
			$url_page = $config['http_home_url'] . "newposts";
			$user_query = "subaction=newposts";
			
			if( $config['allow_alt_url'] ) $canonical = $url_page . "/"; else $canonical = $PHP_SELF."?subaction=newposts";
			
			$thistime = date ( "Y-m-d H:i:s", $_TIME );
			
			if (isset ( $_SESSION['member_lasttime'] )) {
				$lasttime = date ( "Y-m-d H:i:s", $_SESSION['member_lasttime'] );
			} else {
				$lasttime = date ( "Y-m-d H:i:s", (time () - (3600 * 4)) );
			}
			
			if (isset ( $_SESSION['dle_sort_newposts'] )) $news_sort_by = $_SESSION['dle_sort_newposts'];
			if (isset ( $_SESSION['dle_direction_newposts'] )) $news_direction_by = $_SESSION['dle_direction_newposts'];

			if ( !in_array($news_sort_by, array('rating', 'news_read', 'editdate')) ) $extra_join = '';

			$sql_select_ids = "SELECT p.id FROM " . PREFIX . "_post p {$cat_join}{$extra_join}WHERE {$stop_list}approve=1 AND date between '$lasttime' and '$thistime' order by " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];

			$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.editdate, e.editor, e.reason {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}";
			$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post {$cat_join_count}WHERE {$stop_list}approve=1 AND date between '$lasttime' and '$thistime'";
			$where_date = "";
			
			$config['allow_cache'] = false;
			
		} elseif ( isset ($_GET['catalog']) ) {
			
			// ################ show by catalog #################
			if ($cstart) {
				$cstart = $cstart - 1;
				$cstart = $cstart * $config['news_number'];
			}

			if( $config['allow_alt_url'] AND $config['seo_control']) {

				if (substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' OR (isset($_GET['cstart']) AND $_GET['cstart'] == 1) OR substr ( $_SERVER['REQUEST_URI'], - 2 ) == '//' OR !$catalog) {
					
					$re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
					$re_url = reset ( $re_url );
					
					if( $catalog ) {
						$re_url .= "catalog/".urlencode ( $catalog )."/";
					}
					
					if( $_GET['cstart'] > 1 ) {
						$re_url .= "page/".intval($_GET['cstart'])."/";
					}
					
					
					header("HTTP/1.0 301 Moved Permanently");
					header("Location: {$re_url}");
					die("Redirect");
				}
			}
				
			$url_page = $config['http_home_url'] . "catalog/" . urlencode ( $catalog );
			$user_query = "catalog=" . urlencode ( $catalog );

			if( $config['allow_alt_url'] ) $canonical = $url_page . "/"; else $canonical = $PHP_SELF."?catalog=" . urlencode ( $catalog );

			$news_sort_by = $config['catalog_sort'] ? $config['catalog_sort'] : "date";
			$news_direction_by = $config['catalog_msort'] ? $config['catalog_msort'] : "DESC";
			
			if (isset ( $_SESSION['dle_sort_catalog'] )) $news_sort_by = $_SESSION['dle_sort_catalog'];
			if (isset ( $_SESSION['dle_direction_catalog'] )) $news_direction_by = $_SESSION['dle_direction_catalog'];
			if ( !in_array($news_sort_by, array('rating', 'news_read', 'editdate')) ) $extra_join = '';

			$sql_select_ids = "SELECT p.id FROM " . PREFIX . "_post p {$cat_join}{$extra_join}WHERE {$stop_list}symbol = '$catalog' AND approve=1" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];

			$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.editdate, e.editor, e.reason {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}";
			$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post {$cat_join_count}WHERE {$stop_list}symbol = '$catalog' AND approve=1";

		} else {

			// ################ show main page #################
			if ($year == '' AND $month == '' AND $day == '' AND !$newsid) {

				$canonical = $config['http_home_url'];

				if( $config['start_site'] == 2 AND $view_template != "rss") {
					
					break;				
				}
				
				if( $config['allow_alt_url'] AND $config['seo_control'] AND isset($_GET['cstart']) AND $_GET['cstart'] ) {
	
					if (substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' OR $_GET['cstart'] == 1 ) {
						
						$re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
						$re_url = reset ( $re_url );
						
						if(substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' AND $_GET['cstart'] != 1 ) {
							$re_url .= "page/".intval($_GET['cstart'])."/";
						}
					
						header("HTTP/1.0 301 Moved Permanently");
						header("Location: {$re_url}");
						die("Redirect");
					}
				}
			
				if ($cstart) {
					
					$cstart = $cstart - 1;
					$cstart = $cstart * $config['news_number'];		
				}
			
				$url_page = substr ( $config['http_home_url'], 0, strlen ( $config['http_home_url'] ) - 1 );
				$user_query = "";
				
				if ($view_template == "rss") {
	
					$not_allow_cats = array();
					
					foreach($cat_info as $value) {
						if( !$value['allow_rss'] ) $not_allow_cats[] = $value['id'];
					}
					
					if( count($not_allow_cats) ) {

						if ($config['allow_multi_category']) {
							
							$not_allow_cats = "id NOT IN ( SELECT DISTINCT(" . PREFIX . "_post_extras_cats.news_id) FROM " . PREFIX . "_post_extras_cats WHERE cat_id IN (" . implode ( ',', $not_allow_cats ) . ") ) AND ";
						
						} else {
							
							$not_allow_cats = "category NOT IN ('" . implode ( "','", $not_allow_cats ) . "') AND ";
						
						}
						
					} else $not_allow_cats = "";
					
					$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, p.full_story, p.xfields, p.title, p.category, p.alt_name, p.comm_num, p.allow_comm, p.fixed, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.editdate, e.editor, e.reason, e.allow_rss_turbo, e.allow_rss_dzen {$user_select}FROM " . PREFIX . "_post p {$cat_join}LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}WHERE {$not_allow_cats}{$stop_list}p.approve=1 AND e.allow_rss=1";
					
					if ($config['rss_mtype']) {
						
						$sql_select .= " AND p.allow_main=1";
					
					}

					if ($rssmode == 'dzen') {
						$sql_select .= " AND e.allow_rss_dzen=1";
					} elseif ($rssmode == 'turbo') {
						$sql_select .= " AND e.allow_rss_turbo=1";
					}

					$sql_select .= $where_date . " ORDER BY date DESC LIMIT 0," . $config['rss_number'];
				
				} else {
					
					if (isset ( $_SESSION['dle_sort_main'] )) $news_sort_by = $_SESSION['dle_sort_main'];
					if (isset ( $_SESSION['dle_direction_main'] )) $news_direction_by = $_SESSION['dle_direction_main'];
					if ( !in_array($news_sort_by, array('rating', 'news_read', 'editdate')) ) $extra_join = '';

					$sql_select_ids = "SELECT p.id FROM " . PREFIX . "_post p {$cat_join}{$extra_join}WHERE {$stop_list}approve=1 AND allow_main=1" . $where_date . " ORDER BY " . $fixed . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];

					$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.editdate, e.editor, e.reason {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}";
					$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post {$cat_join_count}WHERE {$stop_list}approve=1 AND allow_main=1";
				
				}
			}
	
			// ################ Show news by year #################
			if ($year != '' and $month == '' and $day == '') {
				if ($cstart) {
					
					$cstart = $cstart - 1;
					$cstart = $cstart * $config['news_number'];
				}
				
				if( $config['allow_alt_url'] AND $config['seo_control']) {

					if (substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' OR (isset($_GET['cstart']) AND $_GET['cstart'] == 1) OR substr ( $_SERVER['REQUEST_URI'], - 2 ) == '//' OR intval($_GET['year']) < 1970 OR intval($_GET['year']) > 2100) {
						
						$re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
						$re_url = reset ( $re_url );
						
						if (intval($_GET['year']) < 1970 OR intval($_GET['year']) > 2100) {
							$year= date( 'Y', $_TIME );
						}
						
						$re_url .= $year."/";
						
						if( $_GET['cstart'] > 1 ) {
							$re_url .= "page/".intval($_GET['cstart'])."/";
						}
						
						
						header("HTTP/1.0 301 Moved Permanently");
						header("Location: {$re_url}");
						die("Redirect");
					}
				}
				
				$url_page = $config['http_home_url'] . $year;
				$user_query = "year=" . $year;
				
				if( $config['allow_alt_url'] ) $canonical = $url_page . "/"; else $canonical = $PHP_SELF."?year=" . $year;
				
				if (isset ( $_SESSION['dle_sort_date'] )) $news_sort_by = $_SESSION['dle_sort_date'];
				if (isset ( $_SESSION['dle_direction_date'] )) $news_direction_by = $_SESSION['dle_direction_date'];

				if ( !in_array($news_sort_by, array('rating', 'news_read', 'editdate')) ) $extra_join = '';

				$sql_select_ids = "SELECT p.id FROM " . PREFIX . "_post p {$cat_join}{$extra_join}WHERE {$stop_list}date >= '{$year}-01-01'AND date < '{$year}-01-01' + INTERVAL 1 YEAR AND approve=1" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];

				$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.editdate, e.editor, e.reason {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}";
				$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post {$cat_join_count}where {$stop_list}date >= '{$year}-01-01'AND date < '{$year}-01-01' + INTERVAL 1 YEAR AND approve=1";
			}
			
			// ################ Show news by month #################
			if ($year != '' and $month != '' and $day == '') {
				if ($cstart) {
					$cstart = $cstart - 1;
					$cstart = $cstart * $config['news_number'];
				}
				
				if( $config['allow_alt_url'] AND $config['seo_control']) {

					if (substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' OR (isset($_GET['cstart']) AND $_GET['cstart'] == 1) OR substr ( $_SERVER['REQUEST_URI'], - 2 ) == '//' OR intval($_GET['year']) < 1970 OR intval($_GET['year']) > 2100 OR intval($_GET['month']) < 1 OR intval($_GET['month']) > 12) {
						
						$re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
						$re_url = reset ( $re_url );
						
						if (intval($_GET['year']) < 1970 OR intval($_GET['year']) > 2100) {
							$year= date( 'Y', $_TIME );
						}
						
						$re_url .= $year."/";
						
						if (intval($_GET['month']) < 1 OR intval($_GET['month']) > 12) {
							$month= date( 'm', $_TIME );
						}
						
						$re_url .= $month."/";
						
						if( $_GET['cstart'] > 1 ) {
							$re_url .= "page/".intval($_GET['cstart'])."/";
						}

						header("HTTP/1.0 301 Moved Permanently");
						header("Location: {$re_url}");
						die("Redirect");
					}
				}

				$url_page = $config['http_home_url'] . $year . "/" . $month;
				$user_query = "year=" . $year . "&amp;month=" . $month;
				
				if( $config['allow_alt_url'] ) $canonical = $url_page . "/"; else $canonical = $PHP_SELF."?year=" . $year . "&month=" . $month;
				
				if (isset ( $_SESSION['dle_sort_date'] )) $news_sort_by = $_SESSION['dle_sort_date'];
				if (isset ( $_SESSION['dle_direction_date'] )) $news_direction_by = $_SESSION['dle_direction_date'];
				if ( !in_array($news_sort_by, array('rating', 'news_read', 'editdate')) ) $extra_join = '';

				$sql_select_ids = "SELECT p.id FROM " . PREFIX . "_post p {$cat_join}{$extra_join}WHERE {$stop_list}date >= '{$year}-{$month}-01'AND date < '{$year}-{$month}-01' + INTERVAL 1 MONTH AND approve=1" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];

				$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.editdate, e.editor, e.reason {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}";
				$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post {$cat_join_count}where {$stop_list}date >= '{$year}-{$month}-01'AND date < '{$year}-{$month}-01' + INTERVAL 1 MONTH AND approve=1";
			}
		
			// ################ Show news by day #################

			if ($year != '' and $month != '' and $day != '' and $subaction == '') {
				if ($cstart) {
					$cstart = $cstart - 1;
					$cstart = $cstart * $config['news_number'];
				}

				if( $config['allow_alt_url'] AND $config['seo_control']) {

					if (substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' OR (isset($_GET['cstart']) AND $_GET['cstart'] == 1) OR substr ( $_SERVER['REQUEST_URI'], - 2 ) == '//' OR intval($_GET['year']) < 1970 OR intval($_GET['year']) > 2100 OR intval($_GET['month']) < 1 OR intval($_GET['month']) > 12 OR intval($_GET['day']) < 1 OR intval($_GET['day']) > 31) {
						
						$re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
						$re_url = reset ( $re_url );
						
						if (intval($_GET['year']) < 1970 OR intval($_GET['year']) > 2100) {
							$year= date( 'Y', $_TIME );
						}
						
						$re_url .= $year."/";
						
						if (intval($_GET['month']) < 1 OR intval($_GET['month']) > 12) {
							$month= date( 'm', $_TIME );
						}
						
						$re_url .= $month."/";
						
						if (intval($_GET['day']) < 1 OR intval($_GET['day']) > 31) {
							$day= date( 'd', $_TIME );
						}
						
						$re_url .= $day."/";
						
						if( $_GET['cstart'] > 1 ) {
							$re_url .= "page/".intval($_GET['cstart'])."/";
						}

						header("HTTP/1.0 301 Moved Permanently");
						header("Location: {$re_url}");
						die("Redirect");
					}
				}
				
				$url_page = $config['http_home_url'] . $year . "/" . $month . "/" . $day;
				$user_query = "year=" . $year . "&amp;month=" . $month . "&amp;day=" . $day;
				
				if( $config['allow_alt_url'] ) $canonical = $url_page . "/"; else $canonical = $PHP_SELF."?year=" . $year . "&month=" . $month . "&day=" . $day;
				
				if (isset ( $_SESSION['dle_sort_date'] )) $news_sort_by = $_SESSION['dle_sort_date'];
				if (isset ( $_SESSION['dle_direction_date'] )) $news_direction_by = $_SESSION['dle_direction_date'];
				if ( !in_array($news_sort_by, array('rating', 'news_read', 'editdate')) ) $extra_join = '';

				$sql_select_ids = "SELECT p.id FROM " . PREFIX . "_post p {$cat_join}{$extra_join}WHERE {$stop_list}date >= '{$year}-{$month}-{$day}' AND date < '{$year}-{$month}-{$day}' + INTERVAL 24 HOUR AND approve=1" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];

				$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.editdate, e.editor, e.reason {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}";
				$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post {$cat_join_count}WHERE {$stop_list}date >= '{$year}-{$month}-{$day}' AND date < '{$year}-{$month}-{$day}' + INTERVAL 24 HOUR AND approve=1";
		
			}
			
			// ################ Full News #################
			if ($subaction != '' OR $newsid) {
				
				if ( !$newsid ) $sql_news = "SELECT p.id, p.autor, p.date, p.short_story, p.full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.allow_br, p.symbol, p.tags, p.metatitle, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.related_ids, e.access, e.editdate, e.editor, e.reason, e.user_id, e.disable_search, e.need_pass, e.allow_rss, e.allow_rss_turbo, e.allow_rss_dzen {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}WHERE alt_name ='{$news_name}' AND date >= '{$year}-{$month}-{$day}' AND date < '{$year}-{$month}-{$day}' + INTERVAL 24 HOUR LIMIT 1";
				else $sql_news = "SELECT p.id, p.autor, p.date, p.short_story, p.full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.allow_br, p.symbol, p.tags, p.metatitle, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.related_ids, e.access, e.editdate, e.editor, e.reason, e.user_id, e.disable_search, e.need_pass, e.allow_rss, e.allow_rss_turbo, e.allow_rss_dzen {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}WHERE  p.id = '{$newsid}'";

				if ($subaction == '') $subaction = "showfull";
			}
		}
		
		if (($subaction == "showfull" or $subaction == "addcomment") AND ( (!isset($category) OR $category == "") )) {
			
			$allow_active_news = false;
			
			//####################################################################################################################
			//          Add a comment to the database
			//####################################################################################################################
			if (isset( $_POST['subaction'] ) AND $_POST['subaction'] == "addcomment") {
				
				$allow_add_comment = true;
				$allow_comments = true;
				$ajax_adds = false;
				
				include_once (DLEPlugins::Check(ENGINE_DIR . '/modules/addcomments.php'));
			}
			//####################################################################################################################
			//         Show the full news
			//####################################################################################################################
			if ($subaction == "showfull") {
				$allow_comments = true;
			
				include_once (DLEPlugins::Check(ENGINE_DIR . '/modules/show.full.php'));
			}
		
		} else {
			
			//####################################################################################################################
			//         Viewing user profile
			//####################################################################################################################
			if ($subaction == 'userinfo') {
				
				$allow_userinfo = true;
				include_once (DLEPlugins::Check(ENGINE_DIR . '/modules/profile.php'));
			
			}
			
			//####################################################################################################################
			//         Viewing short news
			//####################################################################################################################
			
			$cache_prefix = "content_".$dle_module;

			$_SESSION['referrer'] = htmlspecialchars($_SERVER['REQUEST_URI'], ENT_QUOTES, $config['charset'] );
			
			if ($catalog != "") {
				
				$cache_prefix .= "_catalog_" . $catalog;
			
			} elseif ($do == "lastnews") {
				
				$cache_prefix .= "_lastnews";
			
			} elseif ($subaction == 'allnews') {

				$cache_prefix .= "_allnews_". $user;

			} elseif ($do == 'tags') {

				$cache_prefix .= "_tagscl_". $tag;

			} elseif ($do == 'xfsearch') {
				
				if($xfname) $cache_prefix .= "_xfsearch_" . $xfname . "_" . $xf;
				else $cache_prefix .= "_xfsearch_". $xf;

			} else {
				
				$cache_prefix .= "_";
				
				if ($month) $cache_prefix .= "month_" . $month;
				if ($year) $cache_prefix .= "year_" . $year;
				if ($day) $cache_prefix .= "day_" . $day;
				if ($category) $cache_prefix .= "category_" . $category;
			}
			
			$cache_prefix .= "_tempate_" . $config['skin'];

			if ($view_template == "rss") {

				if ($catalog) $active = dle_cache ( "rss", $rssmode.$catalog, false );
				else $active = dle_cache ( "rss", $rssmode.$category_id, false );
				
				if( $active ) {
					$active = json_decode($active, true);
				}
					
			} else {
				
				if ($is_logged and ($user_group[$member_id['user_group']]['allow_edit'] and ! $user_group[$member_id['user_group']]['allow_all_edit'])) $config['allow_cache'] = false;
				if (isset($_SESSION['dle_no_cache']) AND $_SESSION['dle_no_cache']) $config['allow_cache'] = false;
				if ($cstart) $cache_id = ($cstart / $config['news_number']) + 1;
				else $cache_id = 1;
				
				$config['max_cache_pages'] = intval($config['max_cache_pages']);
				if($config['max_cache_pages'] < 3) $config['max_cache_pages'] = 3;

				if ($config['allow_cache'] AND $cache_id <= $config['max_cache_pages']) {
					$active = dle_cache( "news", $cache_id . $cache_prefix, true );
					
					if( $active ) {
						$active = json_decode($active, true);
					}
	
					$short_news_cache = true;
					
				} else {
					
					$active = false;
					$short_news_cache = false;
					
				}
			
			}
			
			if ( is_array($active) ) {

				if( isset( $active['content'] ) ) {
					$tpl->result['content'] .= $active['content'];
				}
				
				if( isset($active['navigation']) ) {
					
					$tpl->result['navigation'] = $active['navigation'];
					
				} else $tpl->result['navigation'] = '';
				
				if( isset( $active['last-modified'] ) ) {
					
					if( $active['last-modified'] > $_DOCUMENT_DATE ) {
						$_DOCUMENT_DATE = $active['last-modified'];
					}
					
				}

				if ($do == 'xfsearch' AND isset($active['xf']) AND $active['xf'] ) {
					$xf = $active['xf'];
				}

				if ($do == 'tags' and isset($active['tag']) and $active['tag']) {
					$_CLOUDSTAG = $tag = $active['tag'];
				}
	
				if( isset($_SERVER['QUERY_STRING']) AND $_SERVER['QUERY_STRING'] AND isset( $active['description'] ) AND $active['description'] ){
					$metatags['description'] = $active['description'];
				}
				
				$active = null;
				$news_found = true;
				if ($config['allow_quick_wysiwyg'] and ($user_group[$member_id['user_group']]['allow_edit'] or $user_group[$member_id['user_group']]['allow_all_edit'])) $allow_comments_ajax = true;
				else $allow_comments_ajax = false;

			} else {

				if(!$sql_select) {

					if ( !in_array($news_sort_by, array('rating', 'news_read', 'editdate')) ) $extra_join = '';

					$sql_select_ids = "SELECT p.id FROM " . PREFIX . "_post p {$cat_join}{$extra_join}WHERE {$stop_list}approve=1 AND allow_main=1" . $where_date . " ORDER BY " . $fixed . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];

					$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.descr, p.keywords, p.category, p.alt_name, p.comm_num, p.allow_comm, p.allow_main, p.approve, p.fixed, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.disable_index, e.editdate, e.editor, e.reason {$user_select}FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) {$user_join}";
					$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post {$cat_join_count}WHERE {$stop_list}approve=1 AND allow_main=1";

				}

				if( $sql_select_ids ) {

					$sql_select_ids = $db->super_query($sql_select_ids, true);

					if (count($sql_select_ids)) {

						$first_post = true;
						$temp_arr = array();
						foreach ($sql_select_ids as $value) {
							$temp_arr[] = $value['id'];

							if( isset($value['tagvalue']) AND $value['tagvalue'] AND $first_post ) {
								$xf = $value['tagvalue'];
								$first_post = false;
							}

							if (isset($value['tag']) and $value['tag'] and $first_post) {
								$_CLOUDSTAG = $tag = $value['tag'];
								$first_post = false;
							}

						}

						$sql_select_ids = implode(',', $temp_arr);

					} else { $sql_select_ids = '0'; $allow_active_news = false; $news_found = false; }

					$sql_select .= "WHERE p.id IN ({$sql_select_ids}) ORDER BY FIND_IN_SET(p.id, '" . $sql_select_ids . "')";
					
				}

				include_once (DLEPlugins::Check(ENGINE_DIR . '/modules/show.short.php'));

				if( isset($_SERVER['QUERY_STRING']) AND $_SERVER['QUERY_STRING'] AND isset($page_description) AND $page_description){
					$metatags['description'] = $page_description;
				}
				
				if (!$config['allow_quick_wysiwyg']) $allow_comments_ajax = false;
				
				if ($config['files_allow']) if (strpos ( $tpl->result['content'], "[attachment=" ) !== false) {
					$tpl->result['content'] = show_attach ( $tpl->result['content'], $attachments );
				}
				
				if ($view_template == "rss" AND $news_found) {
					
					if ($catalog) create_cache ( "rss", json_encode( array('content' => $tpl->result['content'] ) , JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES ), $rssmode . $catalog, false );
					else create_cache ( "rss", json_encode( array('content' => $tpl->result['content'] ) , JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES ), $rssmode . $category_id, false );
				
				} elseif ($news_found AND $cache_id <= $config['max_cache_pages'] ) {

					$cache_content = array('content' => $tpl->result['content'], 'navigation' => $tpl->result['navigation'], 'description' => $page_description, 'last-modified' => $_DOCUMENT_DATE);
					
					if (isset($xf) AND $xf) $cache_content['xf'] = $xf;

					if (isset($_CLOUDSTAG) AND $_CLOUDSTAG) $cache_content['tag'] = $_CLOUDSTAG;

					create_cache ( "news", json_encode( $cache_content , JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES ), $cache_id . $cache_prefix, true );

				}

			}
			
			if($tpl->result['content'] AND $canonical AND isset($_GET['cstart']) AND intval($_GET['cstart']) AND intval($_GET['cstart']) != 1 ) {
					
					if( $config['allow_alt_url'] ) {
						
						$canonical .= "page/".intval($_GET['cstart'])."/";
						
					} else {
						
						if ($user_query) {
							
							$canonical = "{$PHP_SELF}?cstart=".intval($_GET['cstart'])."&".str_replace('&amp;', '&', $user_query);
							
						} else $canonical = "{$PHP_SELF}?cstart=".intval($_GET['cstart']);
					}
					
			}
			
		
		}

}

/*
=====================================================
 The output of the page header
=====================================================
*/
$titl_e = '';
$nam_e = '';
$rss_url = '';
$rssturbo_url = '';
$rssdzen_url = '';
$rss_title = '';


if ($do == "cat" and $category != '' and $subaction == '') {
	
	if( isset($cat_info[$category_id]['descr']) AND $cat_info[$category_id]['descr'] ){
		
		if( !isset($_GET['cstart']) OR ( isset($_GET['cstart']) AND intval($_GET['cstart']) < 2 ) ) {
			$metatags['description'] = $cat_info[$category_id]['descr'];
		}
	}
	
	if( isset($cat_info[$category_id]['keywords']) AND $cat_info[$category_id]['keywords'] ){
		$metatags['keywords'] = $cat_info[$category_id]['keywords'];
	}	


	if (isset( $cat_info[$category_id]['metatitle'] ) AND $cat_info[$category_id]['metatitle']) {
		$metatags['header_title'] = $cat_info[$category_id]['metatitle'];
	} else {
		$nam_e = isset($cat_info[$category_id]['name']) ? stripslashes ( $cat_info[$category_id]['name'] ) : '';
	}
	
	if ($config['allow_alt_url'] ) {
		$rss_url = $url_page . "/" . "rss.xml";
		$rssturbo_url = $url_page . "/" . "rssturbo.xml";
		$rssdzen_url = $url_page . "/" . "rssdzen.xml";
	} else {
		$rss_url = $PHP_SELF . "?mod=rss&do=cat&category=" . $cat_info[$category_id]['alt_name'];
		$rssturbo_url = $PHP_SELF . "?mod=rss&rssmode=turbo&do=cat&category=" . $cat_info[$category_id]['alt_name'];
		$rssdzen_url = $PHP_SELF . "?mod=rss&rssmode=dzen&do=cat&category=" . $cat_info[$category_id]['alt_name'];

	}

} elseif ($subaction == 'userinfo') {

	$nam_e = $user;
	
	if ($config['allow_alt_url'] ) {
		$rss_url = $url_page . "/" . "rss.xml";
		$rssturbo_url = $url_page . "/" . "rssturbo.xml";
		$rssdzen_url = $url_page . "/" . "rssdzen.xml";
	} else {
		$rss_url = $PHP_SELF . "?mod=rss&subaction=allnews&user=" . urlencode ( $user );
		$rssturbo_url = $PHP_SELF . "?mod=rss&rssmode=turbo&subaction=allnews&user=" . urlencode($user);
		$rssdzen_url = $PHP_SELF . "?mod=rss&rssmode=dzen&subaction=allnews&user=" . urlencode($user);
	}

} elseif ($subaction == 'allnews') {
	$nam_e = $lang['show_user_news'] . ' ' . $user;
	
	if ($config['allow_alt_url']) {
		$rss_url = $config['http_home_url'] . "user/" . urlencode ( $user ) . "/" . "rss.xml";
		$rssturbo_url = $config['http_home_url'] . "user/" . urlencode($user) . "/" . "rssturbo.xml";
		$rssdzen_url = $config['http_home_url'] . "user/" . urlencode($user) . "/" . "rssdzen.xml";
	} else {
		$rss_url = $PHP_SELF . "?mod=rss&subaction=allnews&user=" . urlencode ( $user );
		$rssturbo_url = $PHP_SELF . "?mod=rss&rssmode=turbo&subaction=allnews&user=" . urlencode($user);
		$rssdzen_url = $PHP_SELF . "?mod=rss&rssmode=dzen&subaction=allnews&user=" . urlencode($user);
	}

} elseif ($subaction == 'newposts') $nam_e = $lang['title_new'];
elseif ($do == 'stats') $nam_e = $lang['title_stats'];
elseif ($do == 'addnews') { if( isset($_REQUEST['id']) AND intval($_REQUEST['id']) ) $nam_e = $lang['title_editnews']; else $nam_e = $lang['title_addnews']; }
elseif ($do == 'register') $nam_e = $lang['title_register'];
elseif ($do == 'favorites') $nam_e = $lang['title_fav'];
elseif ($do == 'pm') $nam_e = $lang['title_pm'];
elseif ($do == 'feedback') $nam_e = $lang['title_feed'];
elseif ($do == 'lastcomments') $nam_e = $lang['title_last'];
elseif ($do == 'lostpassword') $nam_e = $lang['title_lost'];
elseif ($do == 'search') $nam_e = $lang['title_search'];
elseif ($do == 'static' AND isset($static_descr) AND $static_descr) $titl_e = $static_descr;
elseif ($do == 'lastnews') $nam_e = $lang['last_news'];
elseif ($do == 'alltags') $nam_e = $lang['tag_cloud'];
elseif ($do == 'rules') $nam_e = $lang['rules_page'];
elseif ($do == 'tags') $nam_e = stripslashes($tag);
elseif ($do == 'xfsearch') $nam_e = $xf;
elseif ($catalog) { 
	$nam_e = $lang['title_catalog'] . ' &raquo; ' . $catalog;

	if ($config['allow_alt_url']) {

		$rss_url = $config['http_home_url'] . "catalog/" . urlencode ( $catalog ) . "/" . "rss.xml";
		$rssturbo_url = $config['http_home_url'] . "catalog/" . urlencode($catalog) . "/" . "rssturbo.xml";
		$rssdzen_url = $config['http_home_url'] . "catalog/" . urlencode($catalog) . "/" . "rssdzen.xml";

	} else {
		$rss_url = $PHP_SELF . "?mod=rss&catalog=" . urlencode ( $catalog );
		$rssturbo_url = $PHP_SELF . "?mod=rss&rssmode=turbo&catalog=" . urlencode($catalog);
		$rssdzen_url = $PHP_SELF . "?mod=rss&rssmode=dzen&catalog=" . urlencode($catalog);
	}

} else {

	if ($year != '' AND $month == '' AND $day == '') $nam_e = $lang['title_date'] . ' ' . $year . ' ' . $lang['title_year'];
	if ($year != '' AND $month != '' AND $day == '') $nam_e = $lang['title_date'] . ' ' . $r[$month - 1] . ' ' . $year . ' ' . $lang['title_year1'];
	if ($year != '' AND $month != '' AND $day != '' and $subaction == '') $nam_e = $lang['title_date'] . ' ' . $day . '.' . $month . '.' . $year;
	if (($subaction OR $newsid) AND $news_found) $titl_e = $metatags['title'];

}

if ( ( isset($_GET['cstart']) AND intval($_GET['cstart']) > 1 ) OR (isset($_GET['news_page']) AND intval($_GET['news_page']) > 1) ){

	if ( isset($_GET['cstart']) AND intval($_GET['cstart']) > 1 ) $page_extra = ' &raquo; '.$lang['news_site'].' '.intval($_GET['cstart']);
	else $page_extra = ' &raquo; '.$lang['news_site'].' '.intval($_GET['news_page']);

} else $page_extra = '';



if ($nam_e) {

	$metatags['title'] = $nam_e . $page_extra . ' &raquo; ' . $metatags['title'];
	$rss_title = $metatags['title'];

} elseif ($titl_e) {

	if ($config['start_site'] == 3 AND $dle_module == "main" AND (!isset($_GET['mod']) OR (isset($_GET['mod']) AND $_GET['mod'] != "rss"))) {

		$metatags['title'] = $config['home_title'];

	} else $metatags['title'] = $titl_e . $page_extra . ' &raquo; ' . $config['home_title'];

} else $metatags['title'] .= $page_extra;

if ( $metatags['header_title'] ) $metatags['title'] = stripslashes($metatags['header_title'].$page_extra);

if ( !$rss_url ) {
	
	if ($config['allow_alt_url']) {

		$rss_url = $config['http_home_url'] . "rss.xml";
		$rssturbo_url = $config['http_home_url'] . "rssturbo.xml";
		$rssdzen_url = $config['http_home_url'] . "rssdzen.xml";

	} else {
		$rss_url = $PHP_SELF . "?mod=rss";
		$rssturbo_url = $PHP_SELF . "?mod=rss&rssmode=turbo";
		$rssdzen_url = $PHP_SELF . "?mod=rss&rssmode=dzen";
	}
	
	$rss_title = $config['home_title'];
}

if( $config['allow_own_meta'] ) {
	
	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]['title'] ) $metatags['title'] = $custom_metatags['simple'][$r_uri]['title'];
		if( $custom_metatags['simple'][$r_uri]['description'] ) $metatags['description'] = $custom_metatags['simple'][$r_uri]['description'];
		if( $custom_metatags['simple'][$r_uri]['keywords'] ) $metatags['keywords'] = $custom_metatags['simple'][$r_uri]['keywords'];
		if( $custom_metatags['simple'][$r_uri]['robots'] ) $metatags['robots'] = $custom_metatags['simple'][$r_uri]['robots'];
	}
	
	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['title'] ) $metatags['title'] = $value['title'];
				if( $value['description'] ) $metatags['description'] = $value['description'];
				if( $value['keywords'] ) $metatags['keywords'] = $value['keywords'];
				if( $value['robots'] ) $metatags['robots'] = $value['robots'];
		    }
		}
	}

}

$meta = DLESEO::MetaTags( $config['charset'] );

if( !isset($social_tags['image']) OR !$social_tags['image'] ) {
	$meta->twitter('card', 'summary');
}

$meta->og('type', 'article');
$meta->og('site_name', $config['home_title']);
$meta->title($metatags['title']);

if( isset($social_tags['description']) AND $social_tags['description'] ) {
	$meta->meta('description', $metatags['description'] );
} else {
	$meta->description($metatags['description']);
}

$meta->meta('keywords', $metatags['keywords']);
$meta->meta('generator', "DataLife Engine (https://dle-news.ru)");

		
if ( $disable_index ) $metatags['robots'] = "noindex,nofollow";

if ( isset($metatags['robots']) ) {
	
	$meta->robots($metatags['robots']);
	
}

if ( count($social_tags) ) {

	foreach ($social_tags as $key => $value) {

		if( $key == "news_keywords" ) {
			$meta->meta('news_keywords', $value);
		} elseif ($key == "description") {
			$meta->og('description', $value);
			$meta->twitter('description', $value);
		} elseif ($key == "image") {
			$meta->image($value);
		} elseif ($key == "url") {
			$meta->url($value);
		} else {
			$meta->og($key, $value);
		}

	}
}

if ($canonical) {
	
	if (strpos($canonical, "//") === 0) $canonical = "http:".$canonical;
	elseif (strpos($canonical, "/") === 0) $canonical = "http://".$_SERVER['HTTP_HOST'].$canonical;

	if( stripos( $canonical, 'http://' ) !== false ) {
		
		if ( isSSL() OR $config['only_ssl'] ) {
			$canonical = str_replace( "http://", "https://", $canonical );
		}
		
	}
	
	$meta->canonical($canonical);

}

if ($config['allow_rss']) {
	
	$meta->push('link', [
			'rel' => 'alternate',
			'type' => 'application/rss+xml',
			'title' => $rss_title.' RSS',
			'href' => $rss_url
		]);

}

if ($config['allow_yandex_turbo']) {

	$meta->push('link', [
		'rel' => 'alternate',
		'type' => 'application/rss+xml',
		'title' => $rss_title . ' RSS Turbo',
		'href' => $rssturbo_url
	]);

}

if ($config['allow_yandex_dzen']) {

	$meta->push('link', [
		'rel' => 'alternate',
		'type' => 'application/rss+xml',
		'title' => $rss_title . ' RSS Dzen',
		'href' => $rssdzen_url
	]);
}

$meta->push('link', [
			'rel' => 'search',
			'type' => 'application/opensearchdescription+xml',
			'title' => $config['home_title'],
			'href' => "{$PHP_SELF}?do=opensearch"
		]);

$meta->push('link', [
	'rel' => 'preconnect',
	'href' => $config['http_home_url'],
	'fetchpriority' => 'high'
]);

$metatags = (string) $meta;
unset($meta);

/*
=====================================================
 speedbar creation
=====================================================
*/

if ($config['speedbar'] AND !$view_template ) {
	
	$elements	= [];
	$position	= 1;
	
	$elements[] = array(
		'@type'		=> "ListItem",
		'position'	=> $position,
		'item'		=> array(
			'@id'	=> $config['http_home_url'],
			'name'	=> $config['short_title'],
		)
	);
	$position++;
	
	$s_navigation = "<a href=\"{$config['http_home_url']}\">" . $config['short_title'] . "</a>";

	if( $config['start_site'] == 3 AND $dle_module == "main") $titl_e = "";

	if (intval($category_id)){
		
		if($titl_e OR (isset($_GET['cstart']) AND intval($_GET['cstart']) > 1) ) {
			$last_link = true;
		} else $last_link = false;
		
		$s_navigation .= "{$config['speedbar_separator']}" . get_breadcrumbcategories ( intval($category_id), $config['speedbar_separator'], $last_link );
		
	} elseif ($do == 'tags') {
		
		$elements[] = array(
			'@type'		=> "ListItem",
			'position'	=> $position,
			'item'		=> array(
				'@id'	=> $config['http_home_url'].'tags/',
				'name'	=> $lang['tag_cloud'],
			)
		);
		$position++;
	
		if ($config['allow_alt_url']){
			
			$uri = $url_page . "/";
			$s_navigation .= "{$config['speedbar_separator']}<a href=\"{$config['http_home_url']}tags/\">{$lang['tag_cloud']}</a>";

		} else {

			$uri = $PHP_SELF."?do=tags&tag=" . $encoded_tag;
			$s_navigation .= "{$config['speedbar_separator']}<a href=\"?do=tags\">{$lang['tag_cloud']}</a>";

		}

		if ( isset($_GET['cstart']) AND intval($_GET['cstart']) > 1 ){
			$s_navigation .= $config['speedbar_separator']."<a href=\"{$uri}\">{$tag}</a>";
		} else $s_navigation .= $config['speedbar_separator'].$tag;
		
		$elements[] = array(
			'@type'		=> "ListItem",
			'position'	=> $position,
			'item'		=> array(
				'@id'	=> $uri,
				'name'	=> $tag,
			)
		);
		$position++;
	
	} elseif ($nam_e) {
		
		$s_navigation .= "{$config['speedbar_separator']}" . $nam_e;
		
		if ($canonical) {
			$elements[] = array(
				'@type'		=> "ListItem",
				'position'	=> $position,
				'item'		=> array(
					'@id'	=> $canonical,
					'name'	=> $nam_e,
				)
			);
			$position++;
		}
	}

	if ($titl_e) {
		
		$s_navigation .= "{$config['speedbar_separator']}" . $titl_e;
		
		if ($canonical) {
			$elements[] = array(
				'@type'		=> "ListItem",
				'position'	=> $position,
				'item'		=> array(
					'@id'	=> $canonical,
					'name'	=> $titl_e,
				)
			);
			$position++;
		}
		
	} else {

		if ( isset($_GET['cstart']) AND intval($_GET['cstart']) > 1 ){
		
			$page_extra = "{$config['speedbar_separator']}".$lang['news_site']." ".intval($_GET['cstart']);
			
			if ($canonical) {
				$elements[] = array(
					'@type'		=> "ListItem",
					'position'	=> $position,
					'item'		=> array(
						'@id'	=> $canonical,
						'name'	=> $lang['news_site']." ".intval($_GET['cstart']),
					)
				);
				$position++;
			}
		
		} else $page_extra = '';

		$s_navigation .= $page_extra;

	}
	
	if ( is_array($elements) AND count($elements) > 1) {
		DLESEO::AddSchema( DLESEO::Thing('BreadcrumbList', array("itemListElement" => $elements) ) );
	}
	
	$tpl->load_template ( 'speedbar.tpl' );
	$tpl->set ( '{speedbar}', stripslashes ( $s_navigation ) );
	$tpl->compile ( 'speedbar' );
	$tpl->clear ();

}

Did this file decode correctly?

Original Code

<?php
/*
=====================================================
 DataLife Engine - by SoftNews Media Group 
-----------------------------------------------------
 https://dle-news.ru/
-----------------------------------------------------
 Copyright (c) 2004,2024 SoftNews Media Group
-----------------------------------------------------
 You use Demo Version of DataLife Engine
=====================================================
*/
?><?php $_F=__FILE__;$_X='PyBxP2pMalJKKlJOTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTlJTUWkKaTJwbjdTNXJZcHI3Uy1TT3NTTUJuCjQ3YjlTUDdDcGlTOC5CaEhTUi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tUlNBCgpIOTpKSkNmNy1yN2I5ei5oSlItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVJTREJIcy5wWUEKUyhrKVM2VVU+LTZVNj5TTUJuCjQ3YjlTUDdDcGlTOC5CaEhSTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5SU31BcDlTa0JDN1NwOVNILkIKN2sKN0NTT3NTa0JIcy5wWUEKUk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OUlNtcGY3OlM3cllwcjd6SEFIUk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OUipKUlJwblMoIUM3bnByN0MoJ1FFfUUyXW01NTQ4XTQ1JykpU2NSCUNwN1MoUyJMaWtYcHJZU2kKCjd5SAohIlMpO1JlUlJwblMoJGs5CmkuClNxU1UpUyRrOQppLgpTTlNVO1JSJEQ0X0xFMn1TTlNuaWY5NztSJGlmZkJiX2lDQ19rQnl5N3IKU05TbmlmOTc7UiRpZmZCYl9pawpwdDdfcjdiOVNOUwouaDc7UiRpZmZCYl9rQnl5N3IKOVNOU25pZjk3O1IkaWZmQmJfaDk3LnBybkJTTlNuaWY5NztSJGlrCnB0N1NOU25pZjk3O1IkQ3A5aU9mN19wckM3MVNOU25pZjk3O1IkOUJrcGlmXwppWTlTTlNpLi5pcygpO1Ika2lyQnJwa2lmU05TbmlmOTc7UiRoLmZfSGlZN1NOU25pZjk3O1IkaDk3Ll9UaDcuc1NOU25pZjk3O1IkcjdiOV9paApBQi5TTlNuaWY5NztSJGkKCmlrQXk3cgo5U05TaS4uaXNTKCk7UiQ5QUIuCl9yN2I5X2tpa0E3U05TbmlmOTc7UiQ5VGZfOTdmN2sKX3BDOVNOU25pZjk3O1JSOWJwCmtBUyhTJENCUylTY1IJUglraTk3UyI5N2kua0EiUzpSCQlSCQlwblMocDk5NwooJF92NXVJNU19MCd5QkM3J0spU0U0UVMkX3Y1dUk1TX0wJ3lCQzcnS1NOTlMiaUN0aXJrN0MiKVMkX3Y1dUk1TX0wJ25oZmZfOTdpLmtBJ0tTTlNkO1IJCXBya2ZoQzdTKFEyNWpmaFlwcjk6OkRBN2tYKDU0OF00NV9RXXZTelMnSnlCQ2hmNzlKOTdpLmtBekhBSCcpKTtSCQlPLjdpWDtSUglraTk3UyJDQmJyZkJpQyJTOlIJCXBuUyhwOTk3CigkX3Y1dUk1TX0wJ3lCQzcnSylTRTRRUyRfdjV1STVNfTAneUJDNydLU05OUyc3Li5CLicpU2NSCQkJcHJrZmhDN19Ccms3KFEyNWpmaFlwcjk6OkRBN2tYKDU0OF00NV9RXXZTelMnSkNCYnJmQmlDekhBSCcpKTtSCQllUlIJCU8uN2lYO1JSCWtpOTdTImtBaXJZN3lpcGYiOlIJCXBya2ZoQzcoUTI1amZoWXByOTo6REE3a1goNTQ4XTQ1X1FddlN6UydKeUJDaGY3OUprQWlyWTd5aXBmekhBSCcpKTtSCQlPLjdpWDtSUglraTk3UyJucHJDa0J5eTdyCjkiOlIJCXBya2ZoQzcoUTI1amZoWXByOTo6REE3a1goNTQ4XTQ1X1FddlN6UydKeUJDaGY3OUpucHJDa0J5eTdyCjl6SEFIJykpO1IJCU8uN2lYO1IJCVIJa2k5N1MiQzdmNwo3cjdiOSJTOlIJCXBya2ZoQzdTKFEyNWpmaFlwcjk6OkRBN2tYKDU0OF00NV9RXXZTelMnSnlCQ2hmNzlKQzdmNwo3cjdiOXpIQUgnKSk7UgkJTy43aVg7UlIJa2k5N1Mia0J5eTdyCjkiUzpSCQlwcmtmaEM3UyhRMjVqZmhZcHI5OjpEQTdrWCg1NDhdNDVfUV12U3pTJ0p5QkNoZjc5SmtCeXk3cgo5ekhBSCcpKTtSCQlPLjdpWDtSCVIJa2k5N1MiOQppCjkiUzpSCQlwcmtmaEM3UyhRMjVqZmhZcHI5OjpEQTdrWCg1NDhdNDVfUV12U3pTJ0p5QkNoZjc5SjkKaQo5ekhBSCcpKTtSCQlPLjdpWDtSCVIJa2k5N1MiaUNDcjdiOSJTOlIJCXBya2ZoQzdTKFEyNWpmaFlwcjk6OkRBN2tYKDU0OF00NV9RXXZTelMnSnlCQ2hmNzlKaUNDcjdiOXpIQUgnKSk7UgkJTy43aVg7UglSCWtpOTdTIi43WXA5CjcuIlM6UgkJcHJrZmhDN1MoUTI1amZoWXByOTo6REE3a1goNTQ4XTQ1X1FddlN6UydKeUJDaGY3OUouN1lwOQo3LnpIQUgnKSk7UgkJTy43aVg7UglSCWtpOTdTImZCOQpIaTk5YkIuQyJTOlIJCXBya2ZoQzdTKFEyNWpmaFlwcjk6OkRBN2tYKDU0OF00NV9RXXZTelMnSnlCQ2hmNzlKZkI5CkhpOTliQi5DekhBSCcpKTtSCQlPLjdpWDtSCVIJa2k5N1MiLmhmNzkiUzpSCQkkXzg1fTAnSGlZNydLU05TIkNmNy0uaGY3OS1IaVk3IjtSCQlwcmtmaEM3UyhRMjVqZmhZcHI5OjpEQTdrWCg1NDhdNDVfUV12U3pTJ0p5QkNoZjc5SjkKaQpwa3pIQUgnKSk7UgkJTy43aVg7UglSCWtpOTdTIjkKaQpwayJTOlIJCXBya2ZoQzdTKFEyNWpmaFlwcjk6OkRBN2tYKDU0OF00NV9RXXZTelMnSnlCQ2hmNzlKOQppCnBrekhBSCcpKTtSCQlPLjdpWDtSCVIJa2k5N1MiaWZmCmlZOSJTOlIJCXBya2ZoQzdfQnJrN1MoUTI1amZoWXByOTo6REE3a1goNTQ4XTQ1X1FddlN6UydKeUJDaGY3OUoKaVk5a2ZCaEN6SEFIJykpO1IJCU8uN2lYO1JSCWtpOTdTImloCkEtOUJrcGlmIlM6UgkJcHJrZmhDN19Ccms3UyhRMjVqZmhZcHI5OjpEQTdrWCg1NDhdNDVfUV12U3pTJ0p5QkNoZjc5SjlCa3BpZnpIQUgnKSk7UgkJTy43aVg7UglSCWtpOTdTIm5pdEIucAo3OSJTOlIJCVIJCXBuUygkcDlfZkJZWTdDKVNjUgkJCVIJCQlwcmtmaEM3UyhRMjVqZmhZcHI5OjpEQTdrWCg1NDhdNDVfUV12U3pTJ0p5QkNoZjc5Sm5pdEIucAo3OXpIQUgnKSk7UgkJUgkJZVM3Zjk3U2NSCQkJUgkJCUBBN2lDNy4oUyJMfX1qSmR6ZFM+VUdTbUIuT3BDQzdyIlMpO1IJCQl5OVlPQjFTKFMkZmlyWTAnaWZmXzcuLl9kJ0ssUyRmaXJZMCduaXRfNy4uQi4nS1MpO1IJCQlSCQllUgkJCVIJCU8uN2lYO1IJUglraTk3UyJuNzdDT2lrWCJTOlIJCXBya2ZoQzdTKFEyNWpmaFlwcjk6OkRBN2tYKDU0OF00NV9RXXZTelMnSnlCQ2hmNzlKbjc3Q09pa1h6SEFIJykpO1IJCU8uN2lYO1IJUglraTk3UyJmaTkKa0J5eTdyCjkiUzpSCQlwcmtmaEM3UyhRMjVqZmhZcHI5OjpEQTdrWCg1NDhdNDVfUV12U3pTJ0p5QkNoZjc5SmZpOQprQnl5N3IKOXpIQUgnKSk7UgkJTy43aVg7UglSCWtpOTdTIkh5IlM6UgkJcHJrZmhDN1MoUTI1amZoWXByOTo6REE3a1goNTQ4XTQ1X1FddlN6UydKeUJDaGY3OUpIeXpIQUgnKSk7UgkJTy43aVg7UlIJa2k5N1MiaHI5aE85ay5wTzciUzpSCQkkXzg1fTAnSEI5Cl9wQydLU05TcHIKdGlmUygkXzg1fTAnSEI5Cl9wQydLKTtSCQkkXzg1fTAnaDk3Ll9wQydLU05TcHIKdGlmUygkXzg1fTAnaDk3Ll9wQydLKTtSUgkJcG5TKCRfODV9MCdIQjkKX3BDJ0tTRTRRUyRfODV9MCdoOTcuX3BDJ0tTRTRRUyRfODV9MCdBaTlBJ0spU2NSUgkJCSQuQmJTTlMkQ08tIDloSDcuX1RoNy5zKFMiTTUyNUR9U0FpOUFTbXZ4UFMiU3pTanY1bV17U3pTIl85aE85ay5wTzdTd0w1djVTcjdiOV9wQ04nYyRfODV9MCdIQjkKX3BDJ0tlJ1NFNFFTaDk3Ll9wQ04nYyRfODV9MCdoOTcuX3BDJ0tlJyJTKTtSUgkJCXBuUygkLkJiMCdBaTlBJ0tTRTRRUyQuQmIwJ0FpOUEnS1NOTlMkXzg1fTAnQWk5QSdLKVNjUlIJCQkJJENPLSBUaDcucyhTIlE1MjV9NVNtdnhQUyJTelNqdjVtXXtTelMiXzloTzlrLnBPN1N3TDV2NVNyN2I5X3BDTidjJF84NX0wJ0hCOQpfcEMnS2UnU0U0UVNoOTcuX3BDTidjJF84NX0wJ2g5Ny5fcEMnS2UnIlMpO1IJCQkJeTlZT0IxKFMkZmlyWTAnaWZmX3BybkInSyxTUyRmaXJZMCdocjloTzlrLnBPN19CWCdLKTtSUgkJCWVTN2Y5N1NjUgkJCQl5OVlPQjEoUyRmaXJZMCdpZmZfcHJuQidLLFNTJGZpclkwJ2hyOWhPOWsucE83XzcuLidLKTtSCQkJZVJSCQllUzdmOTdTY1IJCQl5OVlPQjEoUyRmaXJZMCdpZmZfcHJuQidLLFNTJGZpclkwJ2hyOWhPOWsucE83XzcuLidLKTtSCQllUlIJCU8uN2lYO1IJUglraTk3UyJyN2I5ZjcKCjcuaHI5aE85ay5wTzciUzpSCQlSCQkkXzg1fTAnaDk3Ll9wQydLU05TcHIKdGlmUygkXzg1fTAnaDk3Ll9wQydLKTtSUgkJcG5TKCRfODV9MCdoOTcuX3BDJ0tTRTRRUyRfODV9MCdBaTlBJ0spU2NSUgkJCSQuQmJTTlMkQ08tIDloSDcuX1RoNy5zKFMiTTUyNUR9U0hpOTliQi5DLFNoOTcuX3BDU212eFBTIlN6U0lNNXZqdjVtXXtTelMiX2g5Ny45U3dMNXY1U2g5Ny5fcENOJ2MkXzg1fTAnaDk3Ll9wQydLZSciUyk7UgkJCVIJCQlwblMoJC5CYjAnaDk3Ll9wQydLKVNjUgkJCQlSCQkJCSRocjloTzlrLnBPN19BaTlBU05TeUM8KFNNNURJdjVfRUl9TF9hNS9TelMkX001dlc1djAnTH19al9MeE19J0tTelMkLkJiMCdoOTcuX3BDJ0tTelM5QWlkKFM5aE85Ci4oJC5CYjAnSGk5OWJCLkMnSyxTVSxTZylTKVN6UyRrQnJucFkwJ1g3cydLUyk7UglSCQkJCXBuUygkaHI5aE85ay5wTzdfQWk5QVNOTlMkXzg1fTAnQWk5QSdLKVNjUglSCQkJCQkkQ08tIFRoNy5zKFMiSWpRRX01UyJTelNJTTV2anY1bV17U3pTIl9oOTcuOVNNNX1TaWZmQmJfeWlwZk4nVSdTd0w1djVTaDk3Ll9wQ1NOUydjJF84NX0wJ2g5Ny5fcEMnS2UnIlMpO1IJCQkJCVIJCQkJCXk5WU9CMShTJGZpclkwJ2lmZl9wcm5CJ0ssU1MkZmlyWTAncl9ocjloTzlrLnBPN19CWCdLKTtSCVIJCQkJZVM3Zjk3U2NSCQkJCQlSCQkJCQl5OVlPQjEoUyRmaXJZMCdpZmZfcHJuQidLLFNTJGZpclkwJ3JfaHI5aE85ay5wTzdfNy4uJ0spO1IJCQkJCVIJCQkJZVIJCQkJUgkJCWVTN2Y5N1NjUgkJCQl5OVlPQjEoUyRmaXJZMCdpZmZfcHJuQidLLFNTJGZpclkwJ3JfaHI5aE85ay5wTzdfNy4uJ0spO1IJCQllUlIJCWVTN2Y5N1NjUgkJCXk5WU9CMShTJGZpclkwJ2lmZl9wcm5CJ0ssU1MkZmlyWTAncl9ocjloTzlrLnBPN183Li4nSyk7UgkJZVJSCQlPLjdpWDtSCVIJQzduaWhmClM6UgkJUgkJJGlrCnB0N1NOU25pZjk3O1IJCSRoOTcuX1RoNy5zU05TIiI7UgkJJGguZl9IaVk3U05TIiI7UgkJUgkJJApBcDlDaQo3U05TQ2kKN1MoUyIvLXktQ1NMOnA6OSIsUwpweTdTKClTKTtSCQlwblMoJGtCcm5wWTAnckJfQ2kKNydLU0U0UVMhJGtCcm5wWTAncjdiOV9uaApoLjcnSylTJGJBNy43X0NpCjdTTlMiU0U0UVNDaQo3U3FTJyJTelMkCkFwOUNpCjdTelMiJyI7UgkJN2Y5N1MkYkE3LjdfQ2kKN1NOUyIiO1IJCVIJCXBuUygka0JybnBZMCdpZmZCYl9ucDE3QydLKVMkbnAxN0NTTlMibnAxN0NTQzc5ayxTIjtSCQk3Zjk3UyRucDE3Q1NOUyIiO1IJCVIJCSRrQnJucFkwJ3I3Yjlfcmh5TzcuJ0tTTlNwcgp0aWZTKFMka0JybnBZMCdyN2I5X3JoeU83LidLUyk7UlIJCXBuKFMka0JybnBZMCdyN2I5X3JoeU83LidLU3FTZFMpUyRrQnJucFkwJ3I3Yjlfcmh5TzcuJ0tTTlNkO1JSCQlwblMoUyQ5eWkuCkhBQnI3X0M3CjdrCjdDU0U0UVMka0JybnBZMCd5Qk9wZjdfcjdiOSdLUylTJGtCcm5wWTAncjdiOV9yaHlPNy4nS1NOU3ByCnRpZlMoUyRrQnJucFkwJ3lCT3BmN19yN2I5J0tTKTtSCQlSCQkkcjdiOV85Qi4KX09zU05TJGtCcm5wWTAncjdiOV85Qi4KJ0tTP1Mka0JybnBZMCdyN2I5XzlCLgonS1M6UyJDaQo3IjtSCQkkcjdiOV9DcC43awpwQnJfT3NTTlMka0JybnBZMCdyN2I5X3k5Qi4KJ0tTP1Mka0JybnBZMCdyN2I5X3k5Qi4KJ0tTOlMiUTVNRCI7UlIJCSRpZmZCYl9mcDkKU05TNzFIZkJDN1MoUycsJyxTJGg5Ny5fWS5CaEgwJHk3eU83Ll9wQzAnaDk3Ll9ZLkJoSCdLSzAnaWZmQmJfa2kKOSdLUyk7UgkJJDkKQkhfZnA5ClNOUyIiO1IJCSRraQpfW0JwclNOUyIiO1IJCSRraQpfW0Jwcl9rQmhyClNOUyIiO1IJCSQ3MQouaV9bQnByU05TIjI1bX1TPXhdNFMiU3pTanY1bV17U3pTIl9IQjkKXzcxCi5pOVM3U3g0UyhIenBDTjd6cjdiOV9wQylTIjtSUgkJcG5TKCRpZmZCYl9mcDkKMFVLUyFOUyJpZmYiKVNjUgkJCVIJCQlwblMoJGtCcm5wWTAnaWZmQmJfeWhmCnBfa2kKN1lCLnMnSylTY1IJCQkJUgkJCQkka2kKX1tCcHJTTlMiXTQ0NXZTPXhdNFMoTTUyNUR9U1FdTX1dNER9KCJTelNqdjVtXXtTelMiX0hCOQpfNzEKLmk5X2tpCjl6cjdiOV9wQylTbXZ4UFMiU3pTanY1bV17U3pTIl9IQjkKXzcxCi5pOV9raQo5U3dMNXY1U2tpCl9wQ1NdNFMoIlN6U3B5SGZCQzdTKFMnLCcsUyRpZmZCYl9mcDkKUylTelMiKSlTa1N4NFMoSHpwQ05renI3YjlfcEMpUyI7UgkJCQkka2kKX1tCcHJfa0JocgpTTlMiSFMieiRraQpfW0JwcjtSCQkJUgkJCWVTN2Y5N1NjUgkJCQlSCQkJCSQ5CkJIX2ZwOQpTTlMia2kKN1lCLnNTXTRTKCciU3pTcHlIZkJDN1MoUyInLCciLFMkaWZmQmJfZnA5ClMpU3pTIicpU0U0UVMiO1IJCQlSCQkJZVIJCVIJCWVSCQlSCQkkckIKX2lmZkJiX2tpCjlTTlM3MUhmQkM3UyhTJywnLFMkaDk3Ll9ZLkJoSDAkeTd5TzcuX3BDMCdoOTcuX1kuQmhIJ0tLMCdyQgpfaWZmQmJfa2kKOSdLUyk7UgkJUgkJcG4oUyRyQgpfaWZmQmJfa2kKOTBVS1MhTlMiIlMpU2NSCQkJUgkJCXBuUygka0JybnBZMCdpZmZCYl95aGYKcF9raQo3WUIucydLKVNjUgkJCQlSCQkJCSQ5CkJIX2ZwOQpTTlMiSHpwQ1M0eH1TXTRTKFNNNTI1RH1TUV1NfV00RH0oIlN6U2p2NW1de1N6UyJfSEI5Cl83MQouaTlfa2kKOXpyN2I5X3BDKVNtdnhQUyJTelNqdjVtXXtTelMiX0hCOQpfNzEKLmk5X2tpCjlTd0w1djVTa2kKX3BDU100UygiU3pTcHlIZkJDN1MoUycsJyxTJHJCCl9pZmZCYl9raQo5UylTelMiKVMpU0U0UVMiO1IJCQkJJGtpCl9bQnByX2tCaHIKU05TIkhTIjtSCQkJCVIJCQllUzdmOTdTY1IJCQkJUgkJCQkkOQpCSF9mcDkKU05TImtpCjdZQi5zUzR4fVNdNFMoJyJTelNweUhmQkM3UyhTIicsJyIsUyRyQgpfaWZmQmJfa2kKOVMpU3pTIicpU0U0UVMiO1IJCQlSCQkJZVIJCQlSCQllUlIJCXBuKFMka0JybnBZMCdoOTcuX3ByX3I3YjknS1MpU2NSCQkJUgkJCSRoOTcuXzk3ZjdrClNOUyIsU2h6N3lpcGYsU2h6cml5NyxTaHpoOTcuX3BDLFNoenI3Yjlfcmh5LFNoemtCeXlfcmh5U2k5U2g5Ny5fa0J5eV9yaHksU2h6aDk3Ll9ZLkJoSCxTaHpmaTkKQ2kKNyxTaHouN1lfQ2kKNyxTaHpPaXJyN0MsU2h6aWZmQmJfeWlwZixTaHpwcm5CLFNoejlwWXJpCmguNyxTaHpuQgpCLFNoem5oZmZyaXk3LFNoemZpckMsU2h6bml0Qi5wCjc5LFNoekh5X2lmZixTaHpIeV9oci43aUMsU2h6CnB5N19mcHlwCixTaHoxbnA3ZkM5U2k5U2g5Ny5fMW5wN2ZDOVMiO1IJCQkkaDk3Ll9bQnByU05TIjI1bX1TPXhdNFMiU3pTSU01dmp2NW1de1N6UyJfaDk3LjlTaFN4NFMoN3poOTcuX3BDTmh6aDk3Ll9wQylTIjtSCQkJUgkJZVM3Zjk3U2NTJGg5Ny5fOTdmN2sKU05TIiI7UyRoOTcuX1tCcHJTTlMiIjtTZVIJCVIJCXBuUygkaDk3Ll9ZLkJoSDAkeTd5TzcuX3BDMCdoOTcuX1kuQmhIJ0tLMCdpZmZCYl85QUIuCidLKVNjUyQ5CkJIX2ZwOQpTTlMiIjtTJGtpCl9bQnByU05TIiI7UyRraQpfW0Jwcl9rQmhyClNOUyIiO1NlUgkJUgkJJDlUZl85N2Y3awpTTlMnJztSCQkkOVRmX2tCaHIKU05TJyc7UgkJJDlUZl9yN2I5U05TJyc7UlIJCUpKUyMjIyMjIyMjIyMjIyMjIyNTTUFCYlNCblNpU2tpCjdZQi5zUyMjIyMjIyMjIyMjIyMjIyMjUgkJcG5TKCRDQlNOTlMia2kKIlNpckNTJGtpCjdZQi5zUyFOUycnU2lyQ1MkOWhPaWsKcEJyU05OUycnKVNjUlIJCQkkaWZmQmJfOWhPX2tpCjlTTlMKLmg3O1IJCQlSCQkJcG4oUyRrQnJucFkwJ2lmZkJiX2lmCl9oLmYnS1NFNFFTJGtCcm5wWTAnOTdCX2tCcgouQmYnS1NFNFFTJGtpCjdZQi5zX3BDU0U0UVMkdHA3Yl8KN3lIZmkKN1MhTlMiLjk5IilTY1JSCQkJCSQuN19raQpTTlNZNwpfaC5mKFMka2kKN1lCLnNfcENTKTtSUgkJCQlwblMoJC43X2tpClMhTlMkXzg1fTAna2kKN1lCLnMnS1N4dlM5aE85Ci5TKFMkX001dlc1djAndjV1STVNfV9Jdl0nSyxTLVNkLFNkUylTIU5TJ0onU3h2UyhwOTk3CigkXzg1fTAnazkKaS4KJ0spU0U0UVMkXzg1fTAnazkKaS4KJ0tTTk5TZClTeHZTOWhPOQouUyhTJF9NNXZXNXYwJ3Y1dUk1TX1fSXZdJ0ssUy1TNlMpU05OUydKSidTeHZTOQouSEI5UygkX001dlc1djAndjV1STVNfV9Jdl0nSyxTIkNCTmtpCiJTKVMhTk5TbmlmOTdTKVNjUgkJCQkJJC43X2guZlNOUzcxSGZCQzdTKFMicHJDNzF6SEFIIixTOQouCkJmQmI3LlMoUyRfTTV2VzV2MCdqTGpfTTUybSdLUylTKTtSCQkJCQkkLjdfaC5mU05TLjc5NwpTKFMkLjdfaC5mUyk7UlIJCQkJCXBuKFMoOWhPOQouUyhTJF9NNXZXNXYwJ3Y1dUk1TX1fSXZdJ0ssUy1TZCxTZFMpUyFOUydKJ1N4dlM5aE85Ci5TKFMkX001dlc1djAndjV1STVNfV9Jdl0nSyxTLVM2UylTTk5TJ0pKJylTRTRRUyRfODV9MCdrOQppLgonS1NFNFFTJF84NX0wJ2s5CmkuCidLUyFOU2RTKVNjUgkJCQkJUyQuN19raQpTek5TIkpIaVk3SiJ6cHIKdGlmKCRfODV9MCdrOQppLgonSyk7UgkJCQkJZVIJCQkJCVIJCQkJCUE3aUM3LigiTH19akpkelVTR1VkU1BCdDdDU2o3LnlpcjdyCmZzIik7UgkJCQkJQTdpQzcuKCIyQmtpCnBCcjpTYyQuN19oLmZlYyQuN19raQplSiIpO1IJCQkJCUNwNygidjdDcC43awoiKTtSCQkJCWVSCQkJZVJSCQkJcG5TKCEka2kKN1lCLnNfcEMpUyRraQo3WUIuc19wQ1NOUydyQgpTQzcKN2sKN0MnO1IJCQlSCQkJcG5TKCRpZmZCYl9mcDkKMFVLUyFOUyJpZmYiKVNjUgkJCQlwblMoISRoOTcuX1kuQmhIMCR5N3lPNy5fcEMwJ2g5Ny5fWS5CaEgnS0swJ2lmZkJiXzlBQi4KJ0tTRTRRUyFwcl9pLi5pcyhTJGtpCjdZQi5zX3BDLFMkaWZmQmJfZnA5ClMpKVMka2kKN1lCLnNfcENTTlMnckIKU0M3CjdrCjdDJztSCQkJZVJSCQkJcG5TKCRyQgpfaWZmQmJfa2kKOTBVS1MhTlMiIilTY1IJCQkJcG5TKCEkaDk3Ll9ZLkJoSDAkeTd5TzcuX3BDMCdoOTcuX1kuQmhIJ0tLMCdpZmZCYl85QUIuCidLU0U0UVNwcl9pLi5pcyhTJGtpCjdZQi5zX3BDLFMkckIKX2lmZkJiX2tpCjlTKSlTJGtpCjdZQi5zX3BDU05TJ3JCClNDNwo3awo3Qyc7UgkJCWVSUgkJCXBuKFMhcHIKdGlmKCRraQo3WUIuc19wQylTKVNjUgkJCQkkaWZmQmJfaWsKcHQ3X3I3YjlTTlNuaWY5NztSCQkJZVIJCQlSCQkJcG5TKFNwOTk3Cigka2kKX3BybkIwJGtpCjdZQi5zX3BDSzAnOUFCYl85aE8nSylTRTRRU1Mka2kKX3BybkIwJGtpCjdZQi5zX3BDSzAnOUFCYl85aE8nS1MpU2NSUgkJCQlwblMoUyRraQpfcHJuQjAka2kKN1lCLnNfcENLMCc5QUJiXzloTydLU05OU2RTKVMkWTcKX2tpCjlTTlNZNwpfOWhPX2tpCjlTKFMka2kKN1lCLnNfcENTKTtSCQkJCTdmOTdTY1MkWTcKX2tpCjlTTlMka2kKN1lCLnNfcEM7UyRpZmZCYl85aE9fa2kKOVNOU25pZjk3O1NlUlIJCQllUzdmOTdTY1JSCQkJCXBuUyhTJGtCcm5wWTAnOUFCYl85aE9fa2kKOSdLUylTJFk3Cl9raQo5U05TWTcKXzloT19raQo5UyhTJGtpCjdZQi5zX3BDUyk7UgkJCQk3Zjk3U2NTJFk3Cl9raQo5U05TJGtpCjdZQi5zX3BDO1MkaWZmQmJfOWhPX2tpCjlTTlNuaWY5NztTZVJSCQkJZVJSCQkJcG5TKHA5OTcKKCRraQpfcHJuQjAka2kKN1lCLnNfcENLMCdyN2I5XzlCLgonSylTRTRRUyRraQpfcHJuQjAka2kKN1lCLnNfcENLMCdyN2I5XzlCLgonSylTJHI3YjlfOUIuCl9Pc1NOUyRraQpfcHJuQjAka2kKN1lCLnNfcENLMCdyN2I5XzlCLgonSztSCQkJcG5TKHA5OTcKKCRraQpfcHJuQjAka2kKN1lCLnNfcENLMCdyN2I5X3k5Qi4KJ0spU0U0UVMka2kKX3BybkIwJGtpCjdZQi5zX3BDSzAncjdiOV95OUIuCidLKVMkcjdiOV9DcC43awpwQnJfT3NTTlMka2kKX3BybkIwJGtpCjdZQi5zX3BDSzAncjdiOV95OUIuCidLO1IJCQlwblMocDk5NwooJGtpCl9wcm5CMCRraQo3WUIuc19wQ0swJ3I3Yjlfcmh5TzcuJ0spU0U0UVMka2kKX3BybkIwJGtpCjdZQi5zX3BDSzAncjdiOV9yaHlPNy4nSylTJGtCcm5wWTAncjdiOV9yaHlPNy4nS1NOUyRraQpfcHJuQjAka2kKN1lCLnNfcENLMCdyN2I5X3JoeU83LidLO1JSCQkJcG5TKCRrOQppLgopU2NSCQkJCSRrOQppLgpTTlMkazkKaS4KUy1TZDtSCQkJCSRrOQppLgpTTlMkazkKaS4KUypTJGtCcm5wWTAncjdiOV9yaHlPNy4nSztSCQkJZVJSCQkJcG4oU3A5OTcKKFMka2kKX3BybkIwJGtpCjdZQi5zX3BDSzAnaWYKX3JpeTcnS1MpUylTY1IJCQkJJGguZl9IaVk3U05TJGtCcm5wWTAnQQoKSF9BQnk3X2guZidLU3pTWTcKX2guZlMoUyRraQo3WUIuc19wQ1MpO1IJCQkJJGg5Ny5fVGg3LnNTTlMiQ0JOa2kKJml5SDtraQo3WUIuc04iU3pTJGtpCl9wcm5CMCRraQo3WUIuc19wQ0swJ2lmCl9yaXk3J0s7UgkJCWVTN2Y5N1NjUgkJCQkkaC5mX0hpWTdTTlMnJztSCQkJCSRoOTcuX1RoNy5zU05TJyc7UgkJCWVSUgkJCVIJCQlwbihTJGtCcm5wWTAnaWZmQmJfaWYKX2guZidLUylTJGtpckJycGtpZlNOUyRoLmZfSGlZN1N6UyJKIjtTN2Y5N1Mka2lyQnJwa2lmU05TJGpMal9NNTJteiI/Q0JOa2kKJmtpCjdZQi5zTiJTelMka2kKX3BybkIwJGtpCjdZQi5zX3BDSzAnaWYKX3JpeTcnSztSCQkJUgkJCXBuUygka0JybnBZMCdpZmZCYl95aGYKcF9raQo3WUIucydLKVNjUgkJUgkJCQkkWTcKX2tpCjlTTlM5Ci5fLjdIZmlrN1MoUyJ8IixTIicsJyIsUyRZNwpfa2kKOVMpO1IJCQkJJFtCcHJfa2kKN1lCLnNTTlMiXTQ0NXZTPXhdNFMoTTUyNUR9U1FdTX1dNER9KCJTelNqdjVtXXtTelMiX0hCOQpfNzEKLmk5X2tpCjl6cjdiOV9wQylTbXZ4UFMiU3pTanY1bV17U3pTIl9IQjkKXzcxCi5pOV9raQo5U3dMNXY1U2tpCl9wQ1NdNFMoJyJTelMkWTcKX2tpCjlTelMiJykpU2tTeDRTKEh6cENOa3pyN2I5X3BDKVMiO1IJCQkJJGJBNy43X2tpCjdZQi5zU05TIiI7UgkJCQlSCQkJZVM3Zjk3U2NSCQkJCVIJCQkJcG5TKFMkaWZmQmJfOWhPX2tpCjlTKVNjUgkJCQkJUgkJCQkJJFk3Cl9raQo5U05TOQouXy43SGZpazdTKFMifCIsUyInLCciLFMkWTcKX2tpCjlTKTtSCQkJCQkkYkE3Ljdfa2kKN1lCLnNTTlMia2kKN1lCLnNTXTRTKCciU3pTJFk3Cl9raQo5U3pTIicpU0U0UVMiO1IJCQkJUgkJCQllUzdmOTdTY1IJCQkJCVIJCQkJCSRiQTcuN19raQo3WUIuc1NOUyJraQo3WUIuc1NOUydjJFk3Cl9raQo5ZSdTRTRRUyI7UgkJCQlSCQkJCWVSCQkJCVIJCQkJJFtCcHJfa2kKN1lCLnNTTlMiIjtSCQkJUgkJCWVSCQkJUgkJCXBuUygkdHA3Yl8KN3lIZmkKN1NOTlMiLjk5IilTY1IJCQkJUgkJCQlwbihTJC45OXlCQzdTTk5TJ0NaN3InUylTY1IJCQkJCSRiQTcuN18uOTlTTlMnU0U0UVM3emlmZkJiXy45OV9DWjdyTmQnO1IJCQkJZVM3Zjk3cG5TKFMkLjk5eUJDN1NOTlMnCmguT0InUylTY1IJCQkJCSRiQTcuN18uOTlTTlMnU0U0UVM3emlmZkJiXy45OV8KaC5PQk5kJztSCQkJCWVTN2Y5N1MkYkE3LjdfLjk5U05TJyc7UlIJCQkJJDlUZl85N2Y3awpTTlMiTTUyNUR9U0h6cEMsU0h6aWgKQi4sU0h6Q2kKNyxTSHo5QUIuCl85CkIucyxTSHpuaGZmXzkKQi5zLFNIejFucDdmQzksU0h6CnAKZjcsU0h6a2kKN1lCLnMsU0h6aWYKX3JpeTcsU0h6a0J5eV9yaHksU0h6aWZmQmJfa0J5eSxTSHpucDE3QyxTSHoKaVk5LFM3enI3YjlfLjdpQyxTN3ppZmZCYl8uaQo3LFM3ei5pCnByWSxTN3p0Qgo3X3JoeSxTN3p0Qgo3OSxTN3p0cDdiXzdDcAosUzd6N0NwCkNpCjcsUzd6N0NwCkIuLFM3ei43aTlCcixTN3ppZmZCYl8uOTlfCmguT0IsUzd6aWZmQmJfLjk5X0NaN3JTYyRoOTcuXzk3ZjdrCmVtdnhQUyJTelNqdjVtXXtTelMiX0hCOQpTSFNjJFtCcHJfa2kKN1lCLnNlMjVtfVM9eF00UyJTelNqdjVtXXtTelMiX0hCOQpfNzEKLmk5UzdTeDRTKEh6cENON3pyN2I5X3BDKVNjJGg5Ny5fW0JwcmV3TDV2NVNjJGJBNy43X2tpCjdZQi5zZWlISC5CdDdOZFNFNFFTaWZmQmJfLjk5TmQiU3pTJGJBNy43Xy45OVN6UyRiQTcuN19DaQo3U3pTIlN4dlE1dlNvL1NDaQo3U1E1TURTMl1QXX1TVSwiU3pTJGtCcm5wWTAnLjk5X3JoeU83LidLO1JSUgkJCWVTN2Y5N1NjUgkJCQlSCQkJCXBuUyhwOTk3ClMoUyRfTTVNTV14NDAnQ2Y3XzlCLgpfa2kKXyd6JGtpCjdZQi5zX3BDS1MpKVMkcjdiOV85Qi4KX09zU05TJF9NNU1NXXg0MCdDZjdfOUIuCl9raQpfJ3oka2kKN1lCLnNfcENLO1IJCQkJcG5TKHA5OTcKUyhTJF9NNU1NXXg0MCdDZjdfQ3AuN2sKcEJyX2tpCl8neiRraQo3WUIuc19wQ0tTKSlTJHI3YjlfQ3AuN2sKcEJyX09zU05TJF9NNU1NXXg0MCdDZjdfQ3AuN2sKcEJyX2tpCl8neiRraQo3WUIuc19wQ0s7UlIJCQkJcG4oUyFwcl9pLi5pcygkcjdiOV85Qi4KX09zLFNpLi5pcygnLmkKcHJZJyxTJ3I3YjlfLjdpQycsUyc3Q3AKQ2kKNycpKVMpUyQ3MQouaV9bQnByU05TJyc7UlIJCQkJJDlUZl85N2Y3awpfcEM5U05TIk01MjVEfVNIenBDU212eFBTIlN6U2p2NW1de1N6UyJfSEI5ClNIU2MkW0Jwcl9raQo3WUIuc2VjJDcxCi5pX1tCcHJld0w1djVTYyRiQTcuN19raQo3WUIuc2VpSEguQnQ3TmQiU3pTJGJBNy43X0NpCjdTelMiU3h2UTV2U28vUyJTelMkbnAxN0NTelMkcjdiOV85Qi4KX09zU3pTIlMiU3pTJHI3YjlfQ3AuN2sKcEJyX09zU3pTIlMyXVBdfVMiU3pTJGs5CmkuClN6UyIsIlN6UyRrQnJucFkwJ3I3Yjlfcmh5TzcuJ0s7UlIJCQkJJDlUZl85N2Y3awpTTlMiTTUyNUR9U0h6cEMsU0h6aWgKQi4sU0h6Q2kKNyxTSHo5QUIuCl85CkIucyxTRExFdl8yNTQ4fUwoSHpuaGZmXzkKQi5zKVNpOVNuaGZmXzkKQi5zLFNIejFucDdmQzksU0h6CnAKZjcsU0h6Qzc5ay4sU0h6WDdzYkIuQzksU0h6a2kKN1lCLnMsU0h6aWYKX3JpeTcsU0h6a0J5eV9yaHksU0h6aWZmQmJfa0J5eSxTSHppZmZCYl95aXByLFNIemlISC5CdDcsU0h6bnAxN0MsU0h6OXN5T0JmLFNIegppWTksUzd6cjdiOV8uN2lDLFM3emlmZkJiXy5pCjcsUzd6LmkKcHJZLFM3enRCCjdfcmh5LFM3enRCCjc5LFM3enRwN2JfN0NwCixTN3pDcDlpT2Y3X3ByQzcxLFM3ejdDcApDaQo3LFM3ejdDcApCLixTN3ouN2k5QnJTYyRoOTcuXzk3ZjdrCmVtdnhQUyJTelNqdjVtXXtTelMiX0hCOQpTSFMyNW19Uz14XTRTIlN6U2p2NW1de1N6UyJfSEI5Cl83MQouaTlTN1N4NFMoSHpwQ043enI3YjlfcEMpU2MkaDk3Ll9bQnByZSI7UgkJCQkkOVRmX2tCaHIKU05TIk01MjVEfVNEeEk0fSgqKVNpOVNrQmhyClNtdnhQUyJTelNqdjVtXXtTelMiX0hCOQpTSFNjJFtCcHJfa2kKN1lCLnNld0w1djVTYyRiQTcuN19raQo3WUIuc2VpSEguQnQ3TmQiO1IJCQllUgkJCVIJCWVTN2Y5N3BuUygkQ0JTTk5TJ2ZpOQpyN2I5JylTY1IJCQlKSlMjIyMjIyMjIyMjIyMjIyMjU01BQmJTaWZmU3I3YjlTIyMjIyMjIyMjIyMjIyMjIyMJCQlSCQkJcG5TKCRrOQppLgopU2NSCQkJCSRrOQppLgpTTlMkazkKaS4KUy1TZDtSCQkJCSRrOQppLgpTTlMkazkKaS4KUypTJGtCcm5wWTAncjdiOV9yaHlPNy4nSztSCQkJZVJSCQkJcG4oUyRrQnJucFkwJ2lmZkJiX2lmCl9oLmYnS1NFNFFTJGtCcm5wWTAnOTdCX2tCcgouQmYnS1NFNFFTcDk5NwooJF84NX0wJ2s5CmkuCidLKVNFNFFTJF84NX0wJ2s5CmkuCidLUylTY1IJUgkJCQlwblMoOWhPOQouUyhTJF9NNXZXNXYwJ3Y1dUk1TX1fSXZdJ0ssUy1TZCxTZFMpUyFOUydKJ1N4dlMkXzg1fTAnazkKaS4KJ0tTTk5TZFMpU2NSUgkJCQkJJC43X2guZlNOUzcxSGZCQzdTKFMicHJDNzF6SEFIIixTOQouCkJmQmI3LlMoUyRfTTV2VzV2MCdqTGpfTTUybSdLUylTKTtSCQkJCQkkLjdfaC5mU05TLjc5NwpTKFMkLjdfaC5mUyk7UgkJCQkJCVIJCQkJCSQuN19oLmZTek5TImZpOQpyN2I5SiI7UgkJCQkJCVIJCQkJCXBuKDloTzkKLlMoUyRfTTV2VzV2MCd2NXVJNU19X0l2XSdLLFMtU2QsU2RTKVMhTlMnSidTRTRRUyRfODV9MCdrOQppLgonS1MhTlNkUylTY1IJCQkJCQkkLjdfaC5mU3pOUyJIaVk3SiJ6cHIKdGlmKCRfODV9MCdrOQppLgonSyl6IkoiO1IJCQkJCWVSCQkJCQlSCQkJCQlBN2lDNy4oIkx9fWpKZHpVU0dVZFNQQnQ3Q1NqNy55aXI3cgpmcyIpO1IJCQkJCUE3aUM3LigiMkJraQpwQnI6U2MkLjdfaC5mZSIpO1IJCQkJCUNwNygidjdDcC43awoiKTtSCQkJCWVSCQkJZVIJCQkJUgkJCSRoLmZfSGlZN1NOUyRrQnJucFkwJ0EKCkhfQUJ5N19oLmYnS1N6UyJmaTkKcjdiOSI7UgkJCSRoOTcuX1RoNy5zU05TIkNCTmZpOQpyN2I5IjtSCQkJUgkJCXBuKFMka0JybnBZMCdpZmZCYl9pZgpfaC5mJ0tTKVMka2lyQnJwa2lmU05TJGguZl9IaVk3U3pTIkoiO1M3Zjk3UyRraXJCcnBraWZTTlMkakxqX001Mm16Ij9DQk5maTkKcjdiOSI7UgkJCVIJCQlwblMocDk5NwpTKFMkX001TU1deDQwJ0NmN185Qi4KX2ZpOQpyN2I5J0tTKSlTJHI3YjlfOUIuCl9Pc1NOUyRfTTVNTV14NDAnQ2Y3XzlCLgpfZmk5CnI3YjknSztTN2Y5N1MkcjdiOV85Qi4KX09zU05TIkNpCjciO1IJCQlwblMocDk5NwpTKFMkX001TU1deDQwJ0NmN19DcC43awpwQnJfZmk5CnI3YjknS1MpKVMkcjdiOV9DcC43awpwQnJfT3NTTlMkX001TU1deDQwJ0NmN19DcC43awpwQnJfZmk5CnI3YjknSztTN2Y5N1MkcjdiOV9DcC43awpwQnJfT3NTTlMiUTVNRCI7UlIJCQlwblMoUyFwcl9pLi5pcygkcjdiOV85Qi4KX09zLFNpLi5pcygnLmkKcHJZJyxTJ3I3YjlfLjdpQycsUyc3Q3AKQ2kKNycpKVMpUyQ3MQouaV9bQnByU05TJyc7UlIJCQkkOVRmXzk3ZjdrCl9wQzlTTlMiTTUyNUR9U0h6cENTbXZ4UFMiU3pTanY1bV17U3pTIl9IQjkKU0hTYyRraQpfW0JwcmVjJDcxCi5pX1tCcHJld0w1djVTYyQ5CkJIX2ZwOQplaUhILkJ0N05kIlN6UyRiQTcuN19DaQo3U3pTIlN4dlE1dlNvL1MiU3pTJHI3YjlfOUIuCl9Pc1N6UyJTIlN6UyRyN2I5X0NwLjdrCnBCcl9Pc1N6UyJTMl1QXX1TIlN6UyRrOQppLgpTelMiLCJTelMka0JybnBZMCdyN2I5X3JoeU83LidLO1JSCQkJJDlUZl85N2Y3awpTTlMiTTUyNUR9U0h6cEMsU0h6aWgKQi4sU0h6Q2kKNyxTSHo5QUIuCl85CkIucyxTRExFdl8yNTQ4fUwoSHpuaGZmXzkKQi5zKVNpOVNuaGZmXzkKQi5zLFNIejFucDdmQzksU0h6CnAKZjcsU0h6Qzc5ay4sU0h6WDdzYkIuQzksU0h6a2kKN1lCLnMsU0h6aWYKX3JpeTcsU0h6a0J5eV9yaHksU0h6aWZmQmJfa0J5eSxTSHppZmZCYl95aXByLFNIemlISC5CdDcsU0h6bnAxN0MsU0h6OXN5T0JmLFNIegppWTksUzd6cjdiOV8uN2lDLFM3emlmZkJiXy5pCjcsUzd6LmkKcHJZLFM3enRCCjdfcmh5LFM3enRCCjc5LFM3enRwN2JfN0NwCixTN3pDcDlpT2Y3X3ByQzcxLFM3ejdDcApDaQo3LFM3ejdDcApCLixTN3ouN2k5QnJTYyRoOTcuXzk3ZjdrCmVtdnhQUyJTelNqdjVtXXtTelMiX0hCOQpTSFMyNW19Uz14XTRTIlN6U2p2NW1de1N6UyJfSEI5Cl83MQouaTlTN1N4NFMoSHpwQ043enI3YjlfcEMpU2MkaDk3Ll9bQnByZSI7UgkJCSQ5VGZfa0JocgpTTlMiTTUyNUR9U0R4STR9KCopU2k5U2tCaHIKU212eFBTIlN6U2p2NW1de1N6UyJfSEI5ClNjJGtpCl9bQnByX2tCaHIKZXdMNXY1U2MkOQpCSF9mcDkKZWlISC5CdDdOZCI7UgkJUgkJZVM3Zjk3cG5TKCRDQlNOTlMnCmlZOScpU2NSCQkJSkpTIyMjIyMjIyMjIyMjIyMjI1NNN2lrQVNyN2I5U09zUwppWTlTIyMjIyMjIyMjIyMjIyMjIyMJCQlSCQkJcG5TKCRrOQppLgopU2NSCQkJCSRrOQppLgpTTlMkazkKaS4KUy1TZDtSCQkJCSRrOQppLgpTTlMkazkKaS4KUypTJGtCcm5wWTAncjdiOV9yaHlPNy4nSztSCQkJZVJSCQkJJAppWVNOUy5pYmguZkM3a0JDNyhTJF84NX0wJwppWSdLUyk7UlIJCQkkCmlZU05TQQp5ZjlIN2twaWZrQWkuOVMoUzkKLnBIXwppWTlTKFM5Ci5wSDlmaTlBNzlTKFMKLnB5UyhTJAppWVMpUylTKSxTNTR9X0R4UGpFfSxTJGtCcm5wWTAna0FpLjk3CidLUyk7UgkJCVIJCQkkN3JrQkM3Q18KaVlTTlMuaWJoLmY3cmtCQzcoQ2Y3XzkKLgpCZkJiNy4oOQouXy43SGZpazcoaS4uaXMoIiYjVUdGOyIsUyImVGhCCjsiLFMiJml5SDsiLFMiJml5SDtuLmk5ZjsiKSxTaS4uaXMoIiciLFMnIicsUyImIixTIiZuLmk5ZjsiKSxTJAppWSkpKTtSUgkJCSQKaVlTTlM5Ci5fLjdIZmlrNyhTIiZpeUg7bi5pOWY7IixTIkoiLFMkCmlZUyk7UlIJCQkkX0QyeElRTX1FOFNOUyQKaVk7UgkJCVIJCQkkaC5mX0hpWTdTTlMka0JybnBZMCdBCgpIX0FCeTdfaC5mJ0tTelMiCmlZOUoiU3pTJDdya0JDN0NfCmlZO1IJCQkkaDk3Ll9UaDcuc1NOUyJDQk4KaVk5Jml5SDsKaVlOIlN6UyQ3cmtCQzdDXwppWTtSCQkJUgkJCXBuKFMka0JybnBZMCdpZmZCYl9pZgpfaC5mJ0tTKVMka2lyQnJwa2lmU05TJGguZl9IaVk3U3pTIkoiO1M3Zjk3UyRraXJCcnBraWZTTlMkakxqX001Mm16Ij9DQk4KaVk5JgppWU4iU3pTJDdya0JDN0NfCmlZO1JSCQkJcG4oUyRrQnJucFkwJ2lmZkJiX2lmCl9oLmYnS1NFNFFTJGtCcm5wWTAnOTdCX2tCcgouQmYnS1MpU2NSUgkJCQlwblMoUzloTzkKLlMoUyRfTTV2VzV2MCd2NXVJNU19X0l2XSdLLFMtU2QsU2RTKVMhTlMnSidTeHZTKHA5OTcKKCRfODV9MCdrOQppLgonSylTRTRRUyRfODV9MCdrOQppLgonS1NOTlNkKVN4dlM5aE85Ci5TKFMkX001dlc1djAndjV1STVNfV9Jdl0nSyxTLVM2UylTTk5TJ0pKJ1N4dlM5Ci5IQjlTKCRfTTV2VzV2MCd2NXVJNU19X0l2XSdLLFMiQ0JOCmlZOSJTKVMhTk5TbmlmOTdTeHZTQ2Y3XzkKLgpCZkJiNy4oJAppWSlTUyFOTlMkCmlZUylTY1IJUgkJCQkJJC43X2guZlNOUzcxSGZCQzdTKFMicHJDNzF6SEFIIixTOQouCkJmQmI3LlMoUyRfTTV2VzV2MCdqTGpfTTUybSdLUylTKTtSCQkJCQkkLjdfaC5mU05TLjc5NwpTKFMkLjdfaC5mUyk7UgkJCQkJCVIJCQkJCSQuN19oLmZTek5TIgppWTlKIlN6UyQ3cmtCQzdDXwppWVN6UyJKIjtSCQkJCQkJUgkJCQkJcG4oUyRfODV9MCdrOQppLgonS1MgU2RTKVNjUgkJCQkJCSQuN19oLmZTek5TIkhpWTdKInpwcgp0aWYoJF84NX0wJ2s5CmkuCidLKXoiSiI7UgkJCQkJZVIJCQkJCVIJCQkJCUE3aUM3LigiTH19akpkelVTR1VkU1BCdDdDU2o3LnlpcjdyCmZzIik7UgkJCQkJQTdpQzcuKCIyQmtpCnBCcjpTYyQuN19oLmZlIik7UgkJCQkJQ3A3KCJ2N0NwLjdrCiIpO1IJCQkJZVIJCQllUgkJCVIJCQlwblMocDk5NwpTKFMkX001TU1deDQwJ0NmN185Qi4KXwppWTknS1MpKVMkcjdiOV85Qi4KX09zU05TJF9NNU1NXXg0MCdDZjdfOUIuCl8KaVk5J0s7UgkJCXBuUyhwOTk3ClMoUyRfTTVNTV14NDAnQ2Y3X0NwLjdrCnBCcl8KaVk5J0tTKSlTJHI3YjlfQ3AuN2sKcEJyX09zU05TJF9NNU1NXXg0MCdDZjdfQ3AuN2sKcEJyXwppWTknSztSUgkJCSQKaVlTTlMkQ08tIDlpbjc5VGYoJAppWSk7UlIJCQlwblMoUyFwcl9pLi5pcygkcjdiOV85Qi4KX09zLFNpLi5pcygnLmkKcHJZJyxTJ3I3YjlfLjdpQycsUyc3Q3AKQ2kKNycpKVMpUyQ3MQouaV9bQnByU05TJyc7UlIJCQkkOVRmXzk3ZjdrCl9wQzlTTlMiTTUyNUR9U0h6cEMsUwp6CmlZU212eFBTIlN6U2p2NW1de1N6UyJfSEI5ClNIU100NDV2Uz14XTRTIlN6U2p2NW1de1N6UyJfCmlZOVMKU0JyUygKenI3YjlfcENOSHpwQylTYyRraQpfW0JwcmVjJDcxCi5pX1tCcHJld0w1djVTYyQ5CkJIX2ZwOQplCnoKaVlTTlMnYyQKaVllJ1NFNFFTSHppSEguQnQ3TmQiU3pTJGJBNy43X0NpCjdTelMiU3h2UTV2U28vUyJTelMkcjdiOV85Qi4KX09zU3pTIlMiU3pTJHI3YjlfQ3AuN2sKcEJyX09zU3pTIlMyXVBdfVMiU3pTJGs5CmkuClN6UyIsIlN6UyRrQnJucFkwJ3I3Yjlfcmh5TzcuJ0s7UlIJCQkkOVRmXzk3ZjdrClNOUyJNNTI1RH1TSHpwQyxTSHppaApCLixTSHpDaQo3LFNIejlBQi4KXzkKQi5zLFNETEV2XzI1NDh9TChIem5oZmZfOQpCLnMpU2k5U25oZmZfOQpCLnMsU0h6MW5wN2ZDOSxTSHoKcApmNyxTSHpDNzlrLixTSHpYN3NiQi5DOSxTSHpraQo3WUIucyxTSHppZgpfcml5NyxTSHprQnl5X3JoeSxTSHppZmZCYl9rQnl5LFNIemlmZkJiX3lpcHIsU0h6aUhILkJ0NyxTSHpucDE3QyxTSHo5c3lPQmYsU0h6CmlZOSxTN3pyN2I5Xy43aUMsUzd6aWZmQmJfLmkKNyxTN3ouaQpwclksUzd6dEIKN19yaHksUzd6dEIKNzksUzd6dHA3Yl83Q3AKLFM3ekNwOWlPZjdfcHJDNzEsUzd6N0NwCkNpCjcsUzd6N0NwCkIuLFM3ei43aTlCclNjJGg5Ny5fOTdmN2sKZW12eFBTIlN6U2p2NW1de1N6UyJfSEI5ClNIUzI1bX1TPXhdNFMiU3pTanY1bV17U3pTIl9IQjkKXzcxCi5pOVM3U3g0UyhIenBDTjd6cjdiOV9wQylTYyRoOTcuX1tCcHJlIjtSCQkJJDlUZl9rQmhyClNOUyJNNTI1RH1TRHhJNH0oKilTaTlTa0JocgpTbXZ4UFMiU3pTanY1bV17U3pTIl9IQjkKU0hTXTQ0NXZTPXhdNFMiU3pTanY1bV17U3pTIl8KaVk5UwpTQnJTKAp6cjdiOV9wQ05IenBDKVNjJGtpCl9bQnByZXdMNXY1U2MkOQpCSF9mcDkKZQp6CmlZU05TJ2MkCmlZZSdTRTRRU2lISC5CdDdOZCI7UlIJCWVTN2Y5N3BuUygkQ0JTTk5TJzFuOTdpLmtBJylTY1IJCQlKSlMjIyMjIyMjIyMjIyMjIyMjU003aWtBU3I3YjlTT3NTMW5wN2ZDOVMjIyMjIyMjIyMjIyMjIyMjIwkJUgkJCXBuUygkazkKaS4KKVNjUgkJCQkkazkKaS4KU05TJGs5CmkuClMtU2Q7UgkJCQkkazkKaS4KU05TJGs5CmkuClMqUyRrQnJucFkwJ3I3Yjlfcmh5TzcuJ0s7UgkJCWVSCQkJUgkJCXBuUyhwOTk3ClMoUyRfTTVNTV14NDAnQ2Y3XzlCLgpfMW45N2kua0EnS1MpKVMkcjdiOV85Qi4KX09zU05TJF9NNU1NXXg0MCdDZjdfOUIuCl8xbjk3aS5rQSdLO1IJCQlwblMocDk5NwpTKFMkX001TU1deDQwJ0NmN19DcC43awpwQnJfMW45N2kua0EnS1MpKVMkcjdiOV9DcC43awpwQnJfT3NTTlMkX001TU1deDQwJ0NmN19DcC43awpwQnJfMW45N2kua0EnSztSUgkJCXBuUyhTIXByX2kuLmlzKCRyN2I5XzlCLgpfT3MsU2kuLmlzKCcuaQpwclknLFMncjdiOV8uN2lDJyxTJzdDcApDaQo3JykpUylTJDcxCi5pX1tCcHJTTlMnJztSUgkJCSQxblNOUy5pYmguZkM3a0JDNygkXzg1fTAnMW4nSyk7UlIJCQlwblMoQ2Y3XzloTzkKLlMoUyQxbixTLVNkLFNkLFMka0JybnBZMCdrQWkuOTcKJ0tTKVNOTlMnSicpUyQxblNOU0NmN185aE85Ci5TKFMkMW4sU1UsUy1TZCxTJGtCcm5wWTAna0FpLjk3CidLUyk7UgkJCVIJCQkkMW5TTlM3MUhmQkM3UyhTJ0onLFMkMW5TKTtSCQkJJDFucml5N1NOUyIiO1IJCQlSCQkJcG4oU3A5OTcKKCRfODV9MCcxbnJpeTcnSylTRTRRUyRfODV9MCcxbnJpeTcnS1MpU2NSCQkJCSQxbnJpeTdTTgpCCi5pcjlmcAooCi5weSgkXzg1fTAnMW5yaXk3J0spKTtSCQkJZVM3Zjk3cG4oa0JocgooJDFuKVMgU2RTKVNjUgkJCQkkMW5yaXk3U04KQgouaXI5ZnAKKAoucHkoJDFuMFVLKSk7UgkJCQlocjk3CigkMW4wVUspO1IJCQllUlIJCQkkMW5TTlNweUhmQkM3KCdTJyxTJDFuKTtSCQkJJDFuU05TQQp5ZjlIN2twaWZrQWkuOVMoUzkKLnBIXwppWTlTKFM5Ci5wSDlmaTlBNzlTKFMKLnB5UyhTJDFuUylTKVMpLFM1NH1fdUl4fTVNLFMka0JybnBZMCdrQWkuOTcKJ0tTKTtSCQkJJDFuU05TOQouXy43SGZpazcoU2kuLmlzKCJjIixTIjAiLFMiOiIsUyImaXlIO24uaTlmOyIpLFNpLi5pcygiJiNkNkc7IixTIiYjRmQ7IixTIiYjPGw7IixTIkoiKSxTJDFuUyk7UgkJCSQxbl83cmtCQzdDU05TLmliaC5mN3JrQkM3UyhTQ2Y3XzkKLgpCZkJiNy4oOQouXy43SGZpazcoaS4uaXMoIiYjVUdGOyIsUyImVGhCCjsiLFMiJml5SDsiLFMiJiNkNkc7IixTIiYjRmQ7IixTIiYjPGw7IixTIkoiKSxTaS4uaXMoIiciLFMnIicsUyImIixTImMiLFMiMCIsUyI6IixTIiZuLmk5ZjsiKSxTJDFuUylTKVMpO1JSCQkJcG4oJDFucml5NylTY1IJCQkJUgkJCQkkaC5mX0hpWTdTTlMka0JybnBZMCdBCgpIX0FCeTdfaC5mJ0tTelMiMW45N2kua0FKYyQxbnJpeTdlSmMkMW5fN3JrQkM3Q2UiO1IJCQkJJGg5Ny5fVGg3LnNTTlMiQ0JOMW45N2kua0EmaXlIOzFucml5N05jJDFucml5N2UmaXlIOzFuTmMkMW5fN3JrQkM3Q2UiO1IJCQkJUgkJCQlwbihTJGtCcm5wWTAnaWZmQmJfaWYKX2guZidLUylTJGtpckJycGtpZlNOUyRoLmZfSGlZN1N6UyJKIjtTN2Y5N1Mka2lyQnJwa2lmU05TJGpMal9NNTJteiI/Q0JOMW45N2kua0EmMW5yaXk3TmMkMW5yaXk3ZSYxbk5jJDFuXzdya0JDN0NlIjtSCQkJCVIJCQllUzdmOTdTY1IJCQkJUgkJCQkkaC5mX0hpWTdTTlMka0JybnBZMCdBCgpIX0FCeTdfaC5mJ0tTelMiMW45N2kua0FKYyQxbl83cmtCQzdDZSI7UgkJCQkkaDk3Ll9UaDcuc1NOUyJDQk4xbjk3aS5rQSZpeUg7MW5OYyQxbl83cmtCQzdDZSI7UgkJCQlSCQkJCXBuKFMka0JybnBZMCdpZmZCYl9pZgpfaC5mJ0tTKVMka2lyQnJwa2lmU05TJGguZl9IaVk3U3pTIkoiO1M3Zjk3UyRraXJCcnBraWZTTlMkakxqX001Mm16Ij9DQk4xbjk3aS5rQSYxbk5jJDFuXzdya0JDN0NlIjtSCQkJCVIJCQkJJDFucDdmQzlTTlMxbnA3ZkM5ZkJpQygpO1IJCQkJJDFucDdmQzlfcml5N1NOU2kuLmlzKCk7UgkJCQlSCQkJCW5CLjdpa0FTKFMkMW5wN2ZDOVNpOVMkdGlmaDdTKVNjUgkJCQkJJDFucDdmQzlfcml5NzBLU05TJHRpZmg3MFVLO1IJCQkJZVIJCQkJUgkJCQlwbihTcHJfaS4uaXMoJDFuLFMkMW5wN2ZDOV9yaXk3KVMpU2MkMW5Tek5TInwiO2VSCQkJCVIJCQkJUgkJCWVSCQkJUgkJCSQxbnJpeTdTTlMkQ08tIDlpbjc5VGYoJDFucml5Nyk7UgkJCSQxblNOUyRDTy0gOWluNzlUZigkMW4pO1JSCQkJcG5TKFMkMW5yaXk3UylTY1IJCQkJUgkJCQlwbihTJGtCcm5wWTAnaWZmQmJfaWYKX2guZidLU0U0UVMka0JybnBZMCc5N0Jfa0JyCi5CZidLUylTY1JSCQkJCQlwblMoOWhPOQouUyhTJF9NNXZXNXYwJ3Y1dUk1TX1fSXZdJ0ssUy1TZCxTZFMpUyFOUydKJ1N4dlMocDk5NwooJF84NX0wJ2s5CmkuCidLKVNFNFFTJF84NX0wJ2s5CmkuCidLU05OU2QpU3h2UzloTzkKLlMoUyRfTTV2VzV2MCd2NXVJNU19X0l2XSdLLFMtUzZTKVNOTlMnSkonU3h2UzkKLkhCOVMoJF9NNXZXNXYwJ3Y1dUk1TX1fSXZdJ0ssUyJDQk4xbjk3aS5rQSJTKVMhTk5TbmlmOTdTeHZTQ2Y3XzkKLgpCZkJiNy4oJDFuKVMhTk5TJDFuKVNjUgkJCQkJCQlSCQkJCQkJJC43X2guZlNOUyRoLmZfSGlZN1N6UyJKIjtSCQkJCQkJCVIJCQkJCQlwbihTJF84NX0wJ2s5CmkuCidLUyBTZFMpU2NSCQkJCQkJCSQuN19oLmZTek5TIkhpWTdKInpwcgp0aWYoJF84NX0wJ2s5CmkuCidLKXoiSiI7UgkJCQkJCWVSCQkJCQkJUgkJCQkJCUE3aUM3LigiTH19akpkelVTR1VkU1BCdDdDU2o3LnlpcjdyCmZzIik7UgkJCQkJCUE3aUM3LigiMkJraQpwQnI6U2MkLjdfaC5mZSIpO1IJCQkJCQlDcDcoInY3Q3AuN2sKIik7UgkJCQkJZVIJCQkJZVJSCQkJCSQ5VGZfOTdmN2sKX3BDOVNOUyJNNTI1RH1TSHpwQyxTMW56CmlZdGlmaDdTbXZ4UFMiU3pTanY1bV17U3pTIl9IQjkKU0hTXTQ0NXZTPXhdNFMiU3pTanY1bV17U3pTIl8xbjk3aS5rQVMxblNCclMoMW56cjdiOV9wQ05IenBDKVNjJGtpCl9bQnByZWMkNzEKLmlfW0JwcmV3TDV2NVNjJDkKQkhfZnA5CmUxbnoKaVlyaXk3U05TJ2MkMW5yaXk3ZSdTRTRRUzFuegppWXRpZmg3TidjJDFuZSdTRTRRU0h6aUhILkJ0N05kIlN6UyRiQTcuN19DaQo3U3pTIlN4dlE1dlNvL1MiU3pTJHI3YjlfOUIuCl9Pc1N6UyJTIlN6UyRyN2I5X0NwLjdrCnBCcl9Pc1N6UyJTMl1QXX1TIlN6UyRrOQppLgpTelMiLCJTelMka0JybnBZMCdyN2I5X3JoeU83LidLO1JSCQkJCSQ5VGZfOTdmN2sKU05TIk01MjVEfVNIenBDLFNIemloCkIuLFNIekNpCjcsU0h6OUFCLgpfOQpCLnMsU0RMRXZfMjU0OH1MKEh6bmhmZl85CkIucylTaTlTbmhmZl85CkIucyxTSHoxbnA3ZkM5LFNIegpwCmY3LFNIekM3OWsuLFNIelg3c2JCLkM5LFNIemtpCjdZQi5zLFNIemlmCl9yaXk3LFNIemtCeXlfcmh5LFNIemlmZkJiX2tCeXksU0h6aWZmQmJfeWlwcixTSHppSEguQnQ3LFNIem5wMTdDLFNIejlzeU9CZixTSHoKaVk5LFM3enI3YjlfLjdpQyxTN3ppZmZCYl8uaQo3LFM3ei5pCnByWSxTN3p0Qgo3X3JoeSxTN3p0Qgo3OSxTN3p0cDdiXzdDcAosUzd6Q3A5aU9mN19wckM3MSxTN3o3Q3AKQ2kKNyxTN3o3Q3AKQi4sUzd6LjdpOUJyU2MkaDk3Ll85N2Y3awplbXZ4UFMiU3pTanY1bV17U3pTIl9IQjkKU0hTMjVtfVM9eF00UyJTelNqdjVtXXtTelMiX0hCOQpfNzEKLmk5UzdTeDRTKEh6cENON3pyN2I5X3BDKVNjJGg5Ny5fW0JwcmUiO1IJCQkJJDlUZl9rQmhyClNTTlMiTTUyNUR9U0R4STR9KCopU2k5U2tCaHIKU212eFBTIlN6U2p2NW1de1N6UyJfSEI5ClNIU100NDV2Uz14XTRTIlN6U2p2NW1de1N6UyJfMW45N2kua0FTMW5TQnJTKDFuenI3YjlfcENOSHpwQylTYyRraQpfW0JwcmV3TDV2NVNjJDkKQkhfZnA5CmUxbnoKaVlyaXk3U05TJ2MkMW5yaXk3ZSdTRTRRUzFuegppWXRpZmg3TidjJDFuZSdTRTRRU2lISC5CdDdOZCI7UgkJUgkJCWVTN2Y5N1NjUgkJCQlSCQkJCXBuKCEkMW4pU2NSCQkJCQlSCQkJCQkkLjdfaC5mU05TNzFIZkJDN1MoUyJwckM3MXpIQUgiLFM5Ci4KQmZCYjcuUyhTJF9NNXZXNXYwJ2pMal9NNTJtJ0tTKVMpO1IJCQkJCSQuN19oLmZTTlMuNzk3ClMoUyQuN19oLmZTKTtSCQkJCQkJUgkJCQkJQTdpQzcuKCJMfX1qSmR6VVNHVWRTUEJ0N0NTajcueWlyN3IKZnMiKTtSCQkJCQlBN2lDNy4oIjJCa2kKcEJyOlNjJC43X2guZmUiKTtSCQkJCQlDcDcoInY3Q3AuN2sKIik7UgkJCQllUlIJCQkJJDlUZl85N2Y3awpfcEM5U05TIk01MjVEfVNIenBDU212eFBTIlN6U2p2NW1de1N6UyJfSEI5ClNIU2Mka2kKX1tCcHJlYyQ3MQouaV9bQnByZXdMNXY1U2MkOQpCSF9mcDkKZUh6MW5wN2ZDOVMyXWE1UyclYyQxbmUlJ1NFNFFTaUhILkJ0N05kIlN6UyRiQTcuN19DaQo3U3pTIlN4dlE1dlNvL1MiU3pTJHI3YjlfOUIuCl9Pc1N6UyJTIlN6UyRyN2I5X0NwLjdrCnBCcl9Pc1N6UyJTMl1QXX1TIlN6UyRrOQppLgpTelMiLCJTelMka0JybnBZMCdyN2I5X3JoeU83LidLO1JSCQkJCSQ5VGZfOTdmN2sKU05TIk01MjVEfVNIenBDLFNIemloCkIuLFNIekNpCjcsU0h6OUFCLgpfOQpCLnMsU0RMRXZfMjU0OH1MKEh6bmhmZl85CkIucylTaTlTbmhmZl85CkIucyxTSHoxbnA3ZkM5LFNIegpwCmY3LFNIekM3OWsuLFNIelg3c2JCLkM5LFNIemtpCjdZQi5zLFNIemlmCl9yaXk3LFNIemtCeXlfcmh5LFNIemlmZkJiX2tCeXksU0h6aWZmQmJfeWlwcixTSHppSEguQnQ3LFNIem5wMTdDLFNIejlzeU9CZixTSHoKaVk5LFM3enI3YjlfLjdpQyxTN3ppZmZCYl8uaQo3LFM3ei5pCnByWSxTN3p0Qgo3X3JoeSxTN3p0Qgo3OSxTN3p0cDdiXzdDcAosUzd6Q3A5aU9mN19wckM3MSxTN3o3Q3AKQ2kKNyxTN3o3Q3AKQi4sUzd6LjdpOUJyU2MkaDk3Ll85N2Y3awplbXZ4UFMiU3pTanY1bV17U3pTIl9IQjkKU0hTMjVtfVM9eF00UyJTelNqdjVtXXtTelMiX0hCOQpfNzEKLmk5UzdTeDRTKEh6cENON3pyN2I5X3BDKVNjJGg5Ny5fW0JwcmUiO1IJCQkJJDlUZl9rQmhyClNOUyJNNTI1RH1TRHhJNH0oKilTaTlTa0JocgpTbXZ4UFMiU3pTanY1bV17U3pTIl9IQjkKU2Mka2kKX1tCcHJfa0Jocgpld0w1djVTYyQ5CkJIX2ZwOQplMW5wN2ZDOVMyXWE1UyclYyQxbmUlJ1NFNFFTaUhILkJ0N05kIjtSCQlSCQkJCSQxblNOUzkKLl8uN0hmaWs3UyhTJ3wnLFMnJyxTJDFuUyk7UgkJCWVSCQlSCQllUzdmOTdwblMoJDloT2lrCnBCclNOTlMnaDk3LnBybkInKVNjUgkJCUpKUyMjIyMjIyMjIyMjIyMjIyNTOUFCYlNoOTcuU0guQm5wZjdTIyMjIyMjIyMjIyMjIyMjIyNSCQkJcG5TKCRrOQppLgopU2NSCQkJCVIJCQkJJGs5CmkuClNOUyRrOQppLgpTLVNkO1IJCQkJJGs5CmkuClNOUyRrOQppLgpTKlMka0JybnBZMCdyN2I5X3JoeU83LidLO1IJCQlSCQkJZVIJCQlSCQkJJGguZl9IaVk3U05TJGtCcm5wWTAnQQoKSF9BQnk3X2guZidLU3pTImg5Ny5KIlN6U2guZjdya0JDN1MoUyRoOTcuUyk7UgkJCSRoOTcuX1RoNy5zU05TIjloT2lrCnBCck5oOTcucHJuQiZpeUg7aDk3Lk4iU3pTaC5mN3JrQkM3UyhTJGg5Ny5TKTtSCQkJUgkJCXBuUygkeTd5TzcuX3BDMCdyaXk3J0tTTk5TJGg5Ny5TeHZTJGg5Ny5fWS5CaEgwJHk3eU83Ll9wQzAnaDk3Ll9ZLkJoSCdLSzAnaWZmQmJfaWZmXzdDcAonSylTY1IJCQkJcG5TKHA5OTcKUyhTJF9NNU1NXXg0MCdDZjdfOUIuCl9oOTcucHJuQidLUykpUyRyN2I5XzlCLgpfT3NTTlMkX001TU1deDQwJ0NmN185Qi4KX2g5Ny5wcm5CJ0s7UgkJCQlwblMocDk5NwpTKFMkX001TU1deDQwJ0NmN19DcC43awpwQnJfaDk3LnBybkInS1MpKVMkcjdiOV9DcC43awpwQnJfT3NTTlMkX001TU1deDQwJ0NmN19DcC43awpwQnJfaDk3LnBybkInSztSUgkJCQlwblMoUyFwcl9pLi5pcygkcjdiOV85Qi4KX09zLFNpLi5pcygnLmkKcHJZJyxTJ3I3YjlfLjdpQycsUyc3Q3AKQ2kKNycpKVMpUyQ3MQouaV9bQnByU05TJyc7UlIJCQkJJDlUZl85N2Y3awpfcEM5U05TIk01MjVEfVNIenBDU212eFBTIlN6U2p2NW1de1N6UyJfSEI5ClNIU2MkNzEKLmlfW0JwcmV3TDV2NVNpaApCLlNOUydjJGg5Ny5lJ1NFNFFTaUhILkJ0N05VU3h2UTV2U28vUyJTelMkcjdiOV85Qi4KX09zU3pTIlMiU3pTJHI3YjlfQ3AuN2sKcEJyX09zU3pTIlMyXVBdfVMiU3pTJGs5CmkuClN6UyIsIlN6UyRrQnJucFkwJ3I3Yjlfcmh5TzcuJ0s7UlIJCQkJJDlUZl85N2Y3awpTTlMiTTUyNUR9U0h6cEMsU0h6aWgKQi4sU0h6Q2kKNyxTSHo5QUIuCl85CkIucyxTRExFdl8yNTQ4fUwoSHpuaGZmXzkKQi5zKVNpOVNuaGZmXzkKQi5zLFNIejFucDdmQzksU0h6CnAKZjcsU0h6Qzc5ay4sU0h6WDdzYkIuQzksU0h6a2kKN1lCLnMsU0h6aWYKX3JpeTcsU0h6a0J5eV9yaHksU0h6aWZmQmJfa0J5eSxTSHppZmZCYl95aXByLFNIemlISC5CdDcsU0h6bnAxN0MsU0h6OXN5T0JmLFNIegppWTksUzd6cjdiOV8uN2lDLFM3emlmZkJiXy5pCjcsUzd6LmkKcHJZLFM3enRCCjdfcmh5LFM3enRCCjc5LFM3enRwN2JfN0NwCixTN3pDcDlpT2Y3X3ByQzcxLFM3ejdDcApDaQo3LFM3ejdDcApCLixTN3ouN2k5QnJTYyRoOTcuXzk3ZjdrCmVtdnhQUyJTelNqdjVtXXtTelMiX0hCOQpTSFMyNW19Uz14XTRTIlN6U2p2NW1de1N6UyJfSEI5Cl83MQouaTlTN1N4NFMoSHpwQ043enI3YjlfcEMpU2MkaDk3Ll9bQnByZSI7UgkJCQkkOVRmX2tCaHIKU05TIk01MjVEfVNEeEk0fSgqKVNpOVNrQmhyClNtdnhQUyJTelNqdjVtXXtTelMiX0hCOQpTd0w1djVTaWgKQi5TTlMnYyRoOTcuZSdTRTRRU2lISC5CdDdOVSI7UgkJCQkkYkE3LjdfQ2kKN1NOUyIiO1IJCQkJUgkJCQlwbihTISRrQnJucFkwJ0guQm5wZjdfcjdiOSdLUylTY1IJCQkJCSRpZmZCYl9pawpwdDdfcjdiOVNOU25pZjk3O1IJCQkJCSRyN2I5X25CaHJDU05TbmlmOTc7CQlSCQkJCWVSUgkJCWVTN2Y5N1NjUgkJCQkkaWZmQmJfaWsKcHQ3X3I3YjlTTlNuaWY5NztSCQkJCSRyN2I5X25CaHJDU05TbmlmOTc7UgkJCWVSCQkJUgkJCSRrQnJucFkwJ2lmZkJiX2tpa0E3J0tTTlNuaWY5NztSCQkJUgkJZVM3Zjk3cG5TKCQ5aE9pawpwQnJTTk5TJ2lmZnI3YjknKVNjUgkJCUpKUyMjIyMjIyMjIyMjIyMjIyNTOUFCYlNpZmZTcjdiOVNPc1NoOTcuUyMjIyMjIyMjIyMjIyMjIyMjUgkJCXBuUygkazkKaS4KKVNjUgkJCQlSCQkJCSRrOQppLgpTTlMkazkKaS4KUy1TZDtSCQkJCSRrOQppLgpTTlMkazkKaS4KUypTJGtCcm5wWTAncjdiOV9yaHlPNy4nSztSCQkJUgkJCWVSCQkJUgkJCSRoLmZfSGlZN1NOUyRrQnJucFkwJ0EKCkhfQUJ5N19oLmYnS1N6UyJoOTcuSiJTelNoLmY3cmtCQzdTKFMkaDk3LlMpU3pTIkpyN2I5IjtSCQkJJGg5Ny5fVGg3LnNTTlMiOWhPaWsKcEJyTmlmZnI3YjkmaXlIO2g5Ny5OIlN6U2guZjdya0JDN1MoUyRoOTcuUyk7UgkJCVIJCQlwbihTJGtCcm5wWTAnaWZmQmJfaWYKX2guZidLUylTJGtpckJycGtpZlNOUyRoLmZfSGlZN1N6UyJKIjtTN2Y5N1Mka2lyQnJwa2lmU05TJGpMal9NNTJteiI/OWhPaWsKcEJyTmlmZnI3YjkmaDk3Lk4iU3pTaC5mN3JrQkM3UyhTJGg5Ny5TKTtSCQkJUgkJCXBuUygkdHA3Yl8KN3lIZmkKN1NOTlMiLjk5IilTY1JSCQkJCXBuUygkLjk5eUJDN1NOTlMnQ1o3cicpU2NSCQkJCQkkYkE3LjdfLjk5U05TJ1NFNFFTN3ppZmZCYl8uOTlfQ1o3ck5kJztSCQkJCWVTN2Y5N3BuUygkLjk5eUJDN1NOTlMnCmguT0InKVNjUgkJCQkJJGJBNy43Xy45OVNOUydTRTRRUzd6aWZmQmJfLjk5XwpoLk9CTmQnO1IJCQkJZVM3Zjk3UyRiQTcuN18uOTlTTlMnJztSUgkJCQkkOVRmXzk3ZjdrClNOUyJNNTI1RH1TSHpwQyxTSHppaApCLixTSHpDaQo3LFNIejlBQi4KXzkKQi5zLFNIem5oZmZfOQpCLnMsU0h6MW5wN2ZDOSxTSHoKcApmNyxTSHpraQo3WUIucyxTSHppZgpfcml5NyxTSHprQnl5X3JoeSxTSHppZmZCYl9rQnl5LFNIem5wMTdDLFNIegppWTksUzd6cjdiOV8uN2lDLFM3emlmZkJiXy5pCjcsUzd6LmkKcHJZLFM3enRCCjdfcmh5LFM3enRCCjc5LFM3enRwN2JfN0NwCixTN3o3Q3AKQ2kKNyxTN3o3Q3AKQi4sUzd6LjdpOUJyLFM3emlmZkJiXy45OV8KaC5PQixTN3ppZmZCYl8uOTlfQ1o3clNjJGg5Ny5fOTdmN2sKZW12eFBTIlN6U2p2NW1de1N6UyJfSEI5ClNIU2Mka2kKX1tCcHJlMjVtfVM9eF00UyJTelNqdjVtXXtTelMiX0hCOQpfNzEKLmk5UzdTeDRTKEh6cENON3pyN2I5X3BDKVNjJGg5Ny5fW0JwcmV3TDV2NVNjJDkKQkhfZnA5CmVIemloCkIuU05TJ2MkaDk3LmUnU0U0UVNIemlISC5CdDdOZFNFNFFTN3ppZmZCYl8uOTlOZCJTelMkYkE3LjdfLjk5elMkYkE3LjdfQ2kKN1N6UyJTeHZRNXZTby9TQ2kKN1NRNU1EUzJdUF19U1UsIlN6UyRrQnJucFkwJy45OV9yaHlPNy4nSztSCQkJUgkJCWVTN2Y5N1NjUgkJCQlSCQkJCXBuUyhwOTk3ClMoUyRfTTVNTV14NDAnQ2Y3XzlCLgpfaWZmcjdiOSdLUykpUyRyN2I5XzlCLgpfT3NTTlMkX001TU1deDQwJ0NmN185Qi4KX2lmZnI3YjknSztSCQkJCXBuUyhwOTk3ClMoUyRfTTVNTV14NDAnQ2Y3X0NwLjdrCnBCcl9pZmZyN2I5J0tTKSlTJHI3YjlfQ3AuN2sKcEJyX09zU05TJF9NNU1NXXg0MCdDZjdfQ3AuN2sKcEJyX2lmZnI3YjknSztSUgkJCQlwblMoUyFwcl9pLi5pcygkcjdiOV85Qi4KX09zLFNpLi5pcygnLmkKcHJZJyxTJ3I3YjlfLjdpQycsUyc3Q3AKQ2kKNycpKVMpUyQ3MQouaV9bQnByU05TJyc7UlIJCQkJJDlUZl85N2Y3awpfcEM5U05TIk01MjVEfVNIenBDU212eFBTIlN6U2p2NW1de1N6UyJfSEI5ClNIU2Mka2kKX1tCcHJlYyQ3MQouaV9bQnByZXdMNXY1U2MkOQpCSF9mcDkKZWloCkIuU05TJyRoOTcuJ1NFNFFTaUhILkJ0N05kIlN6UyRiQTcuN19DaQo3U3pTIlN4dlE1dlNvL1MiU3pTJHI3YjlfOUIuCl9Pc1N6UyJTIlN6UyRyN2I5X0NwLjdrCnBCcl9Pc1N6UyJTMl1QXX1TIlN6UyRrOQppLgpTelMiLCJTelMka0JybnBZMCdyN2I5X3JoeU83LidLO1JSCQkJCSQ5VGZfOTdmN2sKU05TIk01MjVEfVNIenBDLFNIemloCkIuLFNIekNpCjcsU0h6OUFCLgpfOQpCLnMsU0RMRXZfMjU0OH1MKEh6bmhmZl85CkIucylTaTlTbmhmZl85CkIucyxTSHoxbnA3ZkM5LFNIegpwCmY3LFNIekM3OWsuLFNIelg3c2JCLkM5LFNIemtpCjdZQi5zLFNIemlmCl9yaXk3LFNIemtCeXlfcmh5LFNIemlmZkJiX2tCeXksU0h6aWZmQmJfeWlwcixTSHppSEguQnQ3LFNIem5wMTdDLFNIejlzeU9CZixTSHoKaVk5LFM3enI3YjlfLjdpQyxTN3ppZmZCYl8uaQo3LFM3ei5pCnByWSxTN3p0Qgo3X3JoeSxTN3p0Qgo3OSxTN3p0cDdiXzdDcAosUzd6Q3A5aU9mN19wckM3MSxTN3o3Q3AKQ2kKNyxTN3o3Q3AKQi4sUzd6LjdpOUJyU2MkaDk3Ll85N2Y3awplbXZ4UFMiU3pTanY1bV17U3pTIl9IQjkKU0hTMjVtfVM9eF00UyJTelNqdjVtXXtTelMiX0hCOQpfNzEKLmk5UzdTeDRTKEh6cENON3pyN2I5X3BDKVNjJGg5Ny5fW0JwcmUiO1IJCQkJJDlUZl9rQmhyClNOUyJNNTI1RH1TRHhJNH0oKilTaTlTa0JocgpTbXZ4UFMiU3pTanY1bV17U3pTIl9IQjkKU2Mka2kKX1tCcHJfa0Jocgpld0w1djVTYyQ5CkJIX2ZwOQplaWgKQi5TTlMnJGg5Ny4nU0U0UVNpSEguQnQ3TmQiO1IJCQllUgkJUgkJZVM3Zjk3cG5TKCQ5aE9pawpwQnJTTk5TJ3I3YkhCOQo5JylTY1IJCQlKSlMjIyMjIyMjIyMjIyMjIyMjUzlBQmJTaWZmU2hyLjdpQ1NyN2I5UyMjIyMjIyMjIyMjIyMjIyMjUgkJCXBuUygkazkKaS4KKVNjUgkJCQkkazkKaS4KU05TJGs5CmkuClMtU2Q7UgkJCQkkazkKaS4KU05TJGs5CmkuClMqUyRrQnJucFkwJ3I3Yjlfcmh5TzcuJ0s7UgkJCWVSCQkJUgkJCSRoLmZfSGlZN1NOUyRrQnJucFkwJ0EKCkhfQUJ5N19oLmYnS1N6UyJyN2JIQjkKOSI7UgkJCSRoOTcuX1RoNy5zU05TIjloT2lrCnBCck5yN2JIQjkKOSI7UgkJCVIJCQlwbihTJGtCcm5wWTAnaWZmQmJfaWYKX2guZidLUylTJGtpckJycGtpZlNOUyRoLmZfSGlZN1N6UyJKIjtTN2Y5N1Mka2lyQnJwa2lmU05TJGpMal9NNTJteiI/OWhPaWsKcEJyTnI3YkhCOQo5IjtSCQkJUgkJCSQKQXA5CnB5N1NOU0NpCjdTKFMiLy15LUNTTDpwOjkiLFMkX31dUDVTKTtSCQkJUgkJCXBuUyhwOTk3ClMoUyRfTTVNTV14NDAneTd5TzcuX2ZpOQoKcHk3J0tTKSlTY1IJCQkJJGZpOQoKcHk3U05TQ2kKN1MoUyIvLXktQ1NMOnA6OSIsUyRfTTVNTV14NDAneTd5TzcuX2ZpOQoKcHk3J0tTKTtSCQkJZVM3Zjk3U2NSCQkJCSRmaTkKCnB5N1NOU0NpCjdTKFMiLy15LUNTTDpwOjkiLFMoCnB5N1MoKVMtUyhHZ1VVUypTPikpUyk7UgkJCWVSCQkJUgkJCXBuUyhwOTk3ClMoUyRfTTVNTV14NDAnQ2Y3XzlCLgpfcjdiSEI5CjknS1MpKVMkcjdiOV85Qi4KX09zU05TJF9NNU1NXXg0MCdDZjdfOUIuCl9yN2JIQjkKOSdLO1IJCQlwblMocDk5NwpTKFMkX001TU1deDQwJ0NmN19DcC43awpwQnJfcjdiSEI5CjknS1MpKVMkcjdiOV9DcC43awpwQnJfT3NTTlMkX001TU1deDQwJ0NmN19DcC43awpwQnJfcjdiSEI5CjknSztSUgkJCXBuUyhTIXByX2kuLmlzKCRyN2I5XzlCLgpfT3MsU2kuLmlzKCcuaQpwclknLFMncjdiOV8uN2lDJyxTJzdDcApDaQo3JykpUylTJDcxCi5pX1tCcHJTTlMnJztSUgkJCSQ5VGZfOTdmN2sKX3BDOVNOUyJNNTI1RH1TSHpwQ1NtdnhQUyJTelNqdjVtXXtTelMiX0hCOQpTSFNjJGtpCl9bQnByZWMkNzEKLmlfW0JwcmV3TDV2NVNjJDkKQkhfZnA5CmVpSEguQnQ3TmRTRTRRU0NpCjdTTzcKYjc3clMnJGZpOQoKcHk3J1NpckNTJyQKQXA5CnB5NydTQi5DNy5TT3NTIlN6UyRyN2I5XzlCLgpfT3NTelMiUyJTelMkcjdiOV9DcC43awpwQnJfT3NTelMiUzJdUF19UyJTelMkazkKaS4KU3pTIiwiU3pTJGtCcm5wWTAncjdiOV9yaHlPNy4nSztSUgkJCSQ5VGZfOTdmN2sKU05TIk01MjVEfVNIenBDLFNIemloCkIuLFNIekNpCjcsU0h6OUFCLgpfOQpCLnMsU0RMRXZfMjU0OH1MKEh6bmhmZl85CkIucylTaTlTbmhmZl85CkIucyxTSHoxbnA3ZkM5LFNIegpwCmY3LFNIekM3OWsuLFNIelg3c2JCLkM5LFNIemtpCjdZQi5zLFNIemlmCl9yaXk3LFNIemtCeXlfcmh5LFNIemlmZkJiX2tCeXksU0h6aWZmQmJfeWlwcixTSHppSEguQnQ3LFNIem5wMTdDLFNIejlzeU9CZixTSHoKaVk5LFM3enI3YjlfLjdpQyxTN3ppZmZCYl8uaQo3LFM3ei5pCnByWSxTN3p0Qgo3X3JoeSxTN3p0Qgo3OSxTN3p0cDdiXzdDcAosUzd6Q3A5aU9mN19wckM3MSxTN3o3Q3AKQ2kKNyxTN3o3Q3AKQi4sUzd6LjdpOUJyU2MkaDk3Ll85N2Y3awplbXZ4UFMiU3pTanY1bV17U3pTIl9IQjkKU0hTMjVtfVM9eF00UyJTelNqdjVtXXtTelMiX0hCOQpfNzEKLmk5UzdTeDRTKEh6cENON3pyN2I5X3BDKVNjJGg5Ny5fW0JwcmUiO1IJCQkkOVRmX2tCaHIKU05TIk01MjVEfVNEeEk0fSgqKVNpOVNrQmhyClNtdnhQUyJTelNqdjVtXXtTelMiX0hCOQpTYyRraQpfW0Jwcl9rQmhyCmV3TDV2NVNjJDkKQkhfZnA5CmVpSEguQnQ3TmRTRTRRU0NpCjdTTzcKYjc3clMnJGZpOQoKcHk3J1NpckNTJyQKQXA5CnB5NyciO1IJCQkkYkE3LjdfQ2kKN1NOUyIiO1IJCQlSCQkJJGtCcm5wWTAnaWZmQmJfa2lrQTcnS1NOU25pZjk3O1IJCQlSCQllUzdmOTdwblMoU3A5OTcKUygkXzg1fTAna2kKaWZCWSdLKVMpU2NSCQkJUgkJCUpKUyMjIyMjIyMjIyMjIyMjIyNTOUFCYlNPc1NraQppZkJZUyMjIyMjIyMjIyMjIyMjIyMjUgkJCXBuUygkazkKaS4KKVNjUgkJCQkkazkKaS4KU05TJGs5CmkuClMtU2Q7UgkJCQkkazkKaS4KU05TJGs5CmkuClMqUyRrQnJucFkwJ3I3Yjlfcmh5TzcuJ0s7UgkJCWVSUgkJCXBuKFMka0JybnBZMCdpZmZCYl9pZgpfaC5mJ0tTRTRRUyRrQnJucFkwJzk3Ql9rQnIKLkJmJ0spU2NSUgkJCQlwblMoOWhPOQouUyhTJF9NNXZXNXYwJ3Y1dUk1TX1fSXZdJ0ssUy1TZCxTZFMpUyFOUydKJ1N4dlMocDk5NwooJF84NX0wJ2s5CmkuCidLKVNFNFFTJF84NX0wJ2s5CmkuCidLU05OU2QpU3h2UzloTzkKLlMoUyRfTTV2VzV2MCd2NXVJNU19X0l2XSdLLFMtUzZTKVNOTlMnSkonU3h2UyEka2kKaWZCWSlTY1IJCQkJCVIJCQkJCSQuN19oLmZTTlM3MUhmQkM3UyhTInByQzcxekhBSCIsUzkKLgpCZkJiNy5TKFMkX001dlc1djAnakxqX001Mm0nS1MpUyk7UgkJCQkJJC43X2guZlNOUy43OTcKUyhTJC43X2guZlMpO1IJCQkJCVIJCQkJCXBuKFMka2kKaWZCWVMpU2NSCQkJCQkJJC43X2guZlN6TlMia2kKaWZCWUoiemguZjdya0JDN1MoUyRraQppZkJZUyl6IkoiO1IJCQkJCWVSCQkJCQlSCQkJCQlwbihTJF84NX0wJ2s5CmkuCidLUyBTZFMpU2NSCQkJCQkJJC43X2guZlN6TlMiSGlZN0oienByCnRpZigkXzg1fTAnazkKaS4KJ0speiJKIjtSCQkJCQllUgkJCQkJUgkJCQkJUgkJCQkJQTdpQzcuKCJMfX1qSmR6VVNHVWRTUEJ0N0NTajcueWlyN3IKZnMiKTtSCQkJCQlBN2lDNy4oIjJCa2kKcEJyOlNjJC43X2guZmUiKTtSCQkJCQlDcDcoInY3Q3AuN2sKIik7UgkJCQllUgkJCWVSCQkJCVIJCQkkaC5mX0hpWTdTTlMka0JybnBZMCdBCgpIX0FCeTdfaC5mJ0tTelMia2kKaWZCWUoiU3pTaC5mN3JrQkM3UyhTJGtpCmlmQllTKTtSCQkJJGg5Ny5fVGg3LnNTTlMia2kKaWZCWU4iU3pTaC5mN3JrQkM3UyhTJGtpCmlmQllTKTtSUgkJCXBuKFMka0JybnBZMCdpZmZCYl9pZgpfaC5mJ0tTKVMka2lyQnJwa2lmU05TJGguZl9IaVk3U3pTIkoiO1M3Zjk3UyRraXJCcnBraWZTTlMkakxqX001Mm16Ij9raQppZkJZTiJTelNoLmY3cmtCQzdTKFMka2kKaWZCWVMpO1JSCQkJJHI3YjlfOUIuCl9Pc1NOUyRrQnJucFkwJ2tpCmlmQllfOUIuCidLUz9TJGtCcm5wWTAna2kKaWZCWV85Qi4KJ0tTOlMiQ2kKNyI7UgkJCSRyN2I5X0NwLjdrCnBCcl9Pc1NOUyRrQnJucFkwJ2tpCmlmQllfeTlCLgonS1M/UyRrQnJucFkwJ2tpCmlmQllfeTlCLgonS1M6UyJRNU1EIjtSCQkJUgkJCXBuUyhwOTk3ClMoUyRfTTVNTV14NDAnQ2Y3XzlCLgpfa2kKaWZCWSdLUykpUyRyN2I5XzlCLgpfT3NTTlMkX001TU1deDQwJ0NmN185Qi4KX2tpCmlmQlknSztSCQkJcG5TKHA5OTcKUyhTJF9NNU1NXXg0MCdDZjdfQ3AuN2sKcEJyX2tpCmlmQlknS1MpKVMkcjdiOV9DcC43awpwQnJfT3NTTlMkX001TU1deDQwJ0NmN19DcC43awpwQnJfa2kKaWZCWSdLO1IJCQlwblMoUyFwcl9pLi5pcygkcjdiOV85Qi4KX09zLFNpLi5pcygnLmkKcHJZJyxTJ3I3YjlfLjdpQycsUyc3Q3AKQ2kKNycpKVMpUyQ3MQouaV9bQnByU05TJyc7UlIJCQkkOVRmXzk3ZjdrCl9wQzlTTlMiTTUyNUR9U0h6cENTbXZ4UFMiU3pTanY1bV17U3pTIl9IQjkKU0hTYyRraQpfW0JwcmVjJDcxCi5pX1tCcHJld0w1djVTYyQ5CkJIX2ZwOQplOXN5T0JmU05TJyRraQppZkJZJ1NFNFFTaUhILkJ0N05kIlN6UyRiQTcuN19DaQo3U3pTIlN4dlE1dlNvL1MiU3pTJHI3YjlfOUIuCl9Pc1N6UyJTIlN6UyRyN2I5X0NwLjdrCnBCcl9Pc1N6UyJTMl1QXX1TIlN6UyRrOQppLgpTelMiLCJTelMka0JybnBZMCdyN2I5X3JoeU83LidLO1JSCQkJJDlUZl85N2Y3awpTTlMiTTUyNUR9U0h6cEMsU0h6aWgKQi4sU0h6Q2kKNyxTSHo5QUIuCl85CkIucyxTRExFdl8yNTQ4fUwoSHpuaGZmXzkKQi5zKVNpOVNuaGZmXzkKQi5zLFNIejFucDdmQzksU0h6CnAKZjcsU0h6Qzc5ay4sU0h6WDdzYkIuQzksU0h6a2kKN1lCLnMsU0h6aWYKX3JpeTcsU0h6a0J5eV9yaHksU0h6aWZmQmJfa0J5eSxTSHppZmZCYl95aXByLFNIemlISC5CdDcsU0h6bnAxN0MsU0h6OXN5T0JmLFNIegppWTksUzd6cjdiOV8uN2lDLFM3emlmZkJiXy5pCjcsUzd6LmkKcHJZLFM3enRCCjdfcmh5LFM3enRCCjc5LFM3enRwN2JfN0NwCixTN3pDcDlpT2Y3X3ByQzcxLFM3ejdDcApDaQo3LFM3ejdDcApCLixTN3ouN2k5QnJTYyRoOTcuXzk3ZjdrCmVtdnhQUyJTelNqdjVtXXtTelMiX0hCOQpTSFMyNW19Uz14XTRTIlN6U2p2NW1de1N6UyJfSEI5Cl83MQouaTlTN1N4NFMoSHpwQ043enI3YjlfcEMpU2MkaDk3Ll9bQnByZSI7UgkJCSQ5VGZfa0JocgpTTlMiTTUyNUR9U0R4STR9KCopU2k5U2tCaHIKU212eFBTIlN6U2p2NW1de1N6UyJfSEI5ClNjJGtpCl9bQnByX2tCaHIKZXdMNXY1U2MkOQpCSF9mcDkKZTlzeU9CZlNOUycka2kKaWZCWSdTRTRRU2lISC5CdDdOZCI7UlIJCWVTN2Y5N1NjUlIJCQlKSlMjIyMjIyMjIyMjIyMjIyMjUzlBQmJTeWlwclNIaVk3UyMjIyMjIyMjIyMjIyMjIyMjUgkJCXBuUygkczdpLlNOTlMnJ1NFNFFTJHlCcgpBU05OUycnU0U0UVMkQ2lzU05OUycnU0U0UVMhJHI3YjlwQylTY1JSCQkJCSRraXJCcnBraWZTTlMka0JybnBZMCdBCgpIX0FCeTdfaC5mJ0s7UlIJCQkJcG4oUyRrQnJucFkwJzkKaS4KXzlwCjcnS1NOTlM2U0U0UVMkdHA3Yl8KN3lIZmkKN1MhTlMiLjk5IilTY1IJCQkJCVIJCQkJCU8uN2lYOwkJCQlSCQkJCWVSCQkJCVIJCQkJcG4oUyRrQnJucFkwJ2lmZkJiX2lmCl9oLmYnS1NFNFFTJGtCcm5wWTAnOTdCX2tCcgouQmYnS1NFNFFTcDk5NwooJF84NX0wJ2s5CmkuCidLKVNFNFFTJF84NX0wJ2s5CmkuCidLUylTY1IJUgkJCQkJcG5TKDloTzkKLlMoUyRfTTV2VzV2MCd2NXVJNU19X0l2XSdLLFMtU2QsU2RTKVMhTlMnSidTeHZTJF84NX0wJ2s5CmkuCidLU05OU2RTKVNjUgkJCQkJCVIJCQkJCQkkLjdfaC5mU05TNzFIZkJDN1MoUyJwckM3MXpIQUgiLFM5Ci4KQmZCYjcuUyhTJF9NNXZXNXYwJ2pMal9NNTJtJ0tTKVMpO1IJCQkJCQkkLjdfaC5mU05TLjc5NwpTKFMkLjdfaC5mUyk7UgkJCQkJCVIJCQkJCQlwbig5aE85Ci5TKFMkX001dlc1djAndjV1STVNfV9Jdl0nSyxTLVNkLFNkUylTIU5TJ0onU0U0UVMkXzg1fTAnazkKaS4KJ0tTIU5TZFMpU2NSCQkJCQkJCSQuN19oLmZTek5TIkhpWTdKInpwcgp0aWYoJF84NX0wJ2s5CmkuCidLKXoiSiI7UgkJCQkJCWVSCQkJCQlSCQkJCQkJQTdpQzcuKCJMfX1qSmR6VVNHVWRTUEJ0N0NTajcueWlyN3IKZnMiKTtSCQkJCQkJQTdpQzcuKCIyQmtpCnBCcjpTYyQuN19oLmZlIik7UgkJCQkJCUNwNygidjdDcC43awoiKTtSCQkJCQllUgkJCQllUgkJCVIJCQkJcG5TKCRrOQppLgopU2NSCQkJCQlSCQkJCQkkazkKaS4KU05TJGs5CmkuClMtU2Q7UgkJCQkJJGs5CmkuClNOUyRrOQppLgpTKlMka0JybnBZMCdyN2I5X3JoeU83LidLOwkJUgkJCQllUgkJCVIJCQkJJGguZl9IaVk3U05TOWhPOQouUyhTJGtCcm5wWTAnQQoKSF9BQnk3X2guZidLLFNVLFM5Ci5mN3JTKFMka0JybnBZMCdBCgpIX0FCeTdfaC5mJ0tTKVMtU2RTKTtSCQkJCSRoOTcuX1RoNy5zU05TIiI7UgkJCQlSCQkJCXBuUygkdHA3Yl8KN3lIZmkKN1NOTlMiLjk5IilTY1IJUgkJCQkJJHJCCl9pZmZCYl9raQo5U05TaS4uaXMoKTtSCQkJCQlSCQkJCQluQi43aWtBKCRraQpfcHJuQlNpOVMkdGlmaDcpU2NSCQkJCQkJcG4oUyEkdGlmaDcwJ2lmZkJiXy45OSdLUylTJHJCCl9pZmZCYl9raQo5MEtTTlMkdGlmaDcwJ3BDJ0s7UgkJCQkJZVIJCQkJCVIJCQkJCXBuKFNrQmhyCigkckIKX2lmZkJiX2tpCjkpUylTY1JSCQkJCQkJcG5TKCRrQnJucFkwJ2lmZkJiX3loZgpwX2tpCjdZQi5zJ0spU2NSCQkJCQkJCVIJCQkJCQkJJHJCCl9pZmZCYl9raQo5U05TInBDUzR4fVNdNFMoU001MjVEfVNRXU19XTREfSgiU3pTanY1bV17U3pTIl9IQjkKXzcxCi5pOV9raQo5enI3YjlfcEMpU212eFBTIlN6U2p2NW1de1N6UyJfSEI5Cl83MQouaTlfa2kKOVN3TDV2NVNraQpfcENTXTRTKCJTelNweUhmQkM3UyhTJywnLFMkckIKX2lmZkJiX2tpCjlTKVN6UyIpUylTRTRRUyI7UgkJCQkJCVIJCQkJCQllUzdmOTdTY1IJCQkJCQkJUgkJCQkJCQkkckIKX2lmZkJiX2tpCjlTTlMia2kKN1lCLnNTNHh9U100UygnIlN6U3B5SGZCQzdTKFMiJywnIixTJHJCCl9pZmZCYl9raQo5UylTelMiJylTRTRRUyI7UgkJCQkJCVIJCQkJCQllUgkJCQkJCVIJCQkJCWVTN2Y5N1MkckIKX2lmZkJiX2tpCjlTTlMiIjtSCQkJCQlSCQkJCQkkOVRmXzk3ZjdrClNOUyJNNTI1RH1TSHpwQyxTSHppaApCLixTSHpDaQo3LFNIejlBQi4KXzkKQi5zLFNIem5oZmZfOQpCLnMsU0h6MW5wN2ZDOSxTSHoKcApmNyxTSHpraQo3WUIucyxTSHppZgpfcml5NyxTSHprQnl5X3JoeSxTSHppZmZCYl9rQnl5LFNIem5wMTdDLFNIegppWTksUzd6cjdiOV8uN2lDLFM3emlmZkJiXy5pCjcsUzd6LmkKcHJZLFM3enRCCjdfcmh5LFM3enRCCjc5LFM3enRwN2JfN0NwCixTN3o3Q3AKQ2kKNyxTN3o3Q3AKQi4sUzd6LjdpOUJyLFM3emlmZkJiXy45OV8KaC5PQixTN3ppZmZCYl8uOTlfQ1o3clNjJGg5Ny5fOTdmN2sKZW12eFBTIlN6U2p2NW1de1N6UyJfSEI5ClNIU2Mka2kKX1tCcHJlMjVtfVM9eF00UyJTelNqdjVtXXtTelMiX0hCOQpfNzEKLmk5UzdTeDRTKEh6cENON3pyN2I5X3BDKVNjJGg5Ny5fW0JwcmV3TDV2NVNjJHJCCl9pZmZCYl9raQo5ZWMkOQpCSF9mcDkKZUh6aUhILkJ0N05kU0U0UVM3emlmZkJiXy45OU5kIjtSCQkJCQlSCQkJCQlwblMoJGtCcm5wWTAnLjk5X3kKc0g3J0spU2NSCQkJCQkJUgkJCQkJCSQ5VGZfOTdmN2sKU3pOUyJTRTRRU0h6aWZmQmJfeWlwck5kIjtSCQkJCQlSCQkJCQllUlIJCQkJCXBuUygkLjk5eUJDN1NOTlMnQ1o3cicpU2NSCQkJCQkJJDlUZl85N2Y3awpTek5TIlNFNFFTN3ppZmZCYl8uOTlfQ1o3ck5kIjtSCQkJCQllUzdmOTdwblMoJC45OXlCQzdTTk5TJwpoLk9CJylTY1IJCQkJCQkkOVRmXzk3ZjdrClN6TlMiU0U0UVM3emlmZkJiXy45OV8KaC5PQk5kIjtSCQkJCQllUlIJCQkJCSQ5VGZfOTdmN2sKU3pOUyRiQTcuN19DaQo3U3pTIlN4dlE1dlNvL1NDaQo3U1E1TURTMl1QXX1TVSwiU3pTJGtCcm5wWTAnLjk5X3JoeU83LidLO1IJCQkJUgkJCQllUzdmOTdTY1IJCQkJCVIJCQkJCXBuUyhwOTk3ClMoUyRfTTVNTV14NDAnQ2Y3XzlCLgpfeWlwcidLUykpUyRyN2I5XzlCLgpfT3NTTlMkX001TU1deDQwJ0NmN185Qi4KX3lpcHInSztSCQkJCQlwblMocDk5NwpTKFMkX001TU1deDQwJ0NmN19DcC43awpwQnJfeWlwcidLUykpUyRyN2I5X0NwLjdrCnBCcl9Pc1NOUyRfTTVNTV14NDAnQ2Y3X0NwLjdrCnBCcl95aXByJ0s7UgkJCQkJcG5TKFMhcHJfaS4uaXMoJHI3YjlfOUIuCl9PcyxTaS4uaXMoJy5pCnByWScsUydyN2I5Xy43aUMnLFMnN0NwCkNpCjcnKSlTKVMkNzEKLmlfW0JwclNOUycnO1JSCQkJCQkkOVRmXzk3ZjdrCl9wQzlTTlMiTTUyNUR9U0h6cENTbXZ4UFMiU3pTanY1bV17U3pTIl9IQjkKU0hTYyRraQpfW0JwcmVjJDcxCi5pX1tCcHJld0w1djVTYyQ5CkJIX2ZwOQplaUhILkJ0N05kU0U0UVNpZmZCYl95aXByTmQiU3pTJGJBNy43X0NpCjdTelMiU3h2UTV2U28vUyJTelMkbnAxN0NTelMkcjdiOV85Qi4KX09zU3pTIlMiU3pTJHI3YjlfQ3AuN2sKcEJyX09zU3pTIlMyXVBdfVMiU3pTJGs5CmkuClN6UyIsIlN6UyRrQnJucFkwJ3I3Yjlfcmh5TzcuJ0s7UlIJCQkJCSQ5VGZfOTdmN2sKU05TIk01MjVEfVNIenBDLFNIemloCkIuLFNIekNpCjcsU0h6OUFCLgpfOQpCLnMsU0RMRXZfMjU0OH1MKEh6bmhmZl85CkIucylTaTlTbmhmZl85CkIucyxTSHoxbnA3ZkM5LFNIegpwCmY3LFNIekM3OWsuLFNIelg3c2JCLkM5LFNIemtpCjdZQi5zLFNIemlmCl9yaXk3LFNIemtCeXlfcmh5LFNIemlmZkJiX2tCeXksU0h6aWZmQmJfeWlwcixTSHppSEguQnQ3LFNIem5wMTdDLFNIejlzeU9CZixTSHoKaVk5LFM3enI3YjlfLjdpQyxTN3ppZmZCYl8uaQo3LFM3ei5pCnByWSxTN3p0Qgo3X3JoeSxTN3p0Qgo3OSxTN3p0cDdiXzdDcAosUzd6Q3A5aU9mN19wckM3MSxTN3o3Q3AKQ2kKNyxTN3o3Q3AKQi4sUzd6LjdpOUJyU2MkaDk3Ll85N2Y3awplbXZ4UFMiU3pTanY1bV17U3pTIl9IQjkKU0hTMjVtfVM9eF00UyJTelNqdjVtXXtTelMiX0hCOQpfNzEKLmk5UzdTeDRTKEh6cENON3pyN2I5X3BDKVNjJGg5Ny5fW0JwcmUiO1IJCQkJCSQ5VGZfa0JocgpTTlMiTTUyNUR9U0R4STR9KCopU2k5U2tCaHIKU212eFBTIlN6U2p2NW1de1N6UyJfSEI5ClNjJGtpCl9bQnByX2tCaHIKZXdMNXY1U2MkOQpCSF9mcDkKZWlISC5CdDdOZFNFNFFTaWZmQmJfeWlwck5kIjtSCQkJCVIJCQkJZVIJCQllUglSCQkJSkpTIyMjIyMjIyMjIyMjIyMjI1NNQUJiU3I3YjlTT3NTczdpLlMjIyMjIyMjIyMjIyMjIyMjI1IJCQlwblMoJHM3aS5TIU5TJydTaXJDUyR5QnIKQVNOTlMnJ1NpckNTJENpc1NOTlMnJylTY1IJCQkJcG5TKCRrOQppLgopU2NSCQkJCQlSCQkJCQkkazkKaS4KU05TJGs5CmkuClMtU2Q7UgkJCQkJJGs5CmkuClNOUyRrOQppLgpTKlMka0JybnBZMCdyN2I5X3JoeU83LidLO1IJCQkJZVIJCQkJUgkJCQlwbihTJGtCcm5wWTAnaWZmQmJfaWYKX2guZidLU0U0UVMka0JybnBZMCc5N0Jfa0JyCi5CZidLKVNjUlIJCQkJCXBuUyg5aE85Ci5TKFMkX001dlc1djAndjV1STVNfV9Jdl0nSyxTLVNkLFNkUylTIU5TJ0onU3h2UyhwOTk3CigkXzg1fTAnazkKaS4KJ0spU0U0UVMkXzg1fTAnazkKaS4KJ0tTTk5TZClTeHZTOWhPOQouUyhTJF9NNXZXNXYwJ3Y1dUk1TX1fSXZdJ0ssUy1TNlMpU05OUydKSidTeHZTcHIKdGlmKCRfODV9MCdzN2kuJ0spU3FTZEYzVVN4dlNwcgp0aWYoJF84NX0wJ3M3aS4nSylTIFM2ZFVVKVNjUgkJCQkJCVIJCQkJCQkkLjdfaC5mU05TNzFIZkJDN1MoUyJwckM3MXpIQUgiLFM5Ci4KQmZCYjcuUyhTJF9NNXZXNXYwJ2pMal9NNTJtJ0tTKVMpO1IJCQkJCQkkLjdfaC5mU05TLjc5NwpTKFMkLjdfaC5mUyk7UgkJCQkJCVIJCQkJCQlwblMocHIKdGlmKCRfODV9MCdzN2kuJ0spU3FTZEYzVVN4dlNwcgp0aWYoJF84NX0wJ3M3aS4nSylTIFM2ZFVVKVNjUgkJCQkJCQkkczdpLk5TQ2kKNyhTJy8nLFMkX31dUDVTKTtSCQkJCQkJZVIJCQkJCQlSCQkJCQkJJC43X2guZlN6TlMkczdpLnoiSiI7UgkJCQkJCVIJCQkJCQlwbihTJF84NX0wJ2s5CmkuCidLUyBTZFMpU2NSCQkJCQkJCSQuN19oLmZTek5TIkhpWTdKInpwcgp0aWYoJF84NX0wJ2s5CmkuCidLKXoiSiI7UgkJCQkJCWVSCQkJCQkJUgkJCQkJCVIJCQkJCQlBN2lDNy4oIkx9fWpKZHpVU0dVZFNQQnQ3Q1NqNy55aXI3cgpmcyIpO1IJCQkJCQlBN2lDNy4oIjJCa2kKcEJyOlNjJC43X2guZmUiKTtSCQkJCQkJQ3A3KCJ2N0NwLjdrCiIpO1IJCQkJCWVSCQkJCWVSCQkJCVIJCQkJJGguZl9IaVk3U05TJGtCcm5wWTAnQQoKSF9BQnk3X2guZidLU3pTJHM3aS47UgkJCQkkaDk3Ll9UaDcuc1NOUyJzN2kuTiJTelMkczdpLjtSCQkJCVIJCQkJcG4oUyRrQnJucFkwJ2lmZkJiX2lmCl9oLmYnS1MpUyRraXJCcnBraWZTTlMkaC5mX0hpWTdTelMiSiI7UzdmOTdTJGtpckJycGtpZlNOUyRqTGpfTTUybXoiP3M3aS5OIlN6UyRzN2kuO1IJCQkJUgkJCQlwblMocDk5NwpTKFMkX001TU1deDQwJ0NmN185Qi4KX0NpCjcnS1MpKVMkcjdiOV85Qi4KX09zU05TJF9NNU1NXXg0MCdDZjdfOUIuCl9DaQo3J0s7UgkJCQlwblMocDk5NwpTKFMkX001TU1deDQwJ0NmN19DcC43awpwQnJfQ2kKNydLUykpUyRyN2I5X0NwLjdrCnBCcl9Pc1NOUyRfTTVNTV14NDAnQ2Y3X0NwLjdrCnBCcl9DaQo3J0s7UlIJCQkJcG5TKFMhcHJfaS4uaXMoJHI3YjlfOUIuCl9PcyxTaS4uaXMoJy5pCnByWScsUydyN2I5Xy43aUMnLFMnN0NwCkNpCjcnKSlTKVMkNzEKLmlfW0JwclNOUycnO1JSCQkJCSQ5VGZfOTdmN2sKX3BDOVNOUyJNNTI1RH1TSHpwQ1NtdnhQUyJTelNqdjVtXXtTelMiX0hCOQpTSFNjJGtpCl9bQnByZWMkNzEKLmlfW0JwcmV3TDV2NVNjJDkKQkhfZnA5CmVDaQo3UyBOUydjJHM3aS5lLVVkLVVkJ0U0UVNDaQo3U3FTJ2MkczdpLmUtVWQtVWQnUytTXTR9NXZXRTJTZFMvNUV2U0U0UVNpSEguQnQ3TmQiU3pTJGJBNy43X0NpCjdTelMiU3h2UTV2U28vUyJTelMkcjdiOV85Qi4KX09zU3pTIlMiU3pTJHI3YjlfQ3AuN2sKcEJyX09zU3pTIlMyXVBdfVMiU3pTJGs5CmkuClN6UyIsIlN6UyRrQnJucFkwJ3I3Yjlfcmh5TzcuJ0s7UlIJCQkJJDlUZl85N2Y3awpTTlMiTTUyNUR9U0h6cEMsU0h6aWgKQi4sU0h6Q2kKNyxTSHo5QUIuCl85CkIucyxTRExFdl8yNTQ4fUwoSHpuaGZmXzkKQi5zKVNpOVNuaGZmXzkKQi5zLFNIejFucDdmQzksU0h6CnAKZjcsU0h6Qzc5ay4sU0h6WDdzYkIuQzksU0h6a2kKN1lCLnMsU0h6aWYKX3JpeTcsU0h6a0J5eV9yaHksU0h6aWZmQmJfa0J5eSxTSHppZmZCYl95aXByLFNIemlISC5CdDcsU0h6bnAxN0MsU0h6OXN5T0JmLFNIegppWTksUzd6cjdiOV8uN2lDLFM3emlmZkJiXy5pCjcsUzd6LmkKcHJZLFM3enRCCjdfcmh5LFM3enRCCjc5LFM3enRwN2JfN0NwCixTN3pDcDlpT2Y3X3ByQzcxLFM3ejdDcApDaQo3LFM3ejdDcApCLixTN3ouN2k5QnJTYyRoOTcuXzk3ZjdrCmVtdnhQUyJTelNqdjVtXXtTelMiX0hCOQpTSFMyNW19Uz14XTRTIlN6U2p2NW1de1N6UyJfSEI5Cl83MQouaTlTN1N4NFMoSHpwQ043enI3YjlfcEMpU2MkaDk3Ll9bQnByZSI7UgkJCQkkOVRmX2tCaHIKU05TIk01MjVEfVNEeEk0fSgqKVNpOVNrQmhyClNtdnhQUyJTelNqdjVtXXtTelMiX0hCOQpTYyRraQpfW0Jwcl9rQmhyCmViQTcuN1NjJDkKQkhfZnA5CmVDaQo3UyBOUydjJHM3aS5lLVVkLVVkJ0U0UVNDaQo3U3FTJ2MkczdpLmUtVWQtVWQnUytTXTR9NXZXRTJTZFMvNUV2U0U0UVNpSEguQnQ3TmQiO1IJCQllUgkJCVIJCQlKSlMjIyMjIyMjIyMjIyMjIyMjU01BQmJTcjdiOVNPc1N5QnIKQVMjIyMjIyMjIyMjIyMjIyMjI1IJCQlwblMoJHM3aS5TIU5TJydTaXJDUyR5QnIKQVMhTlMnJ1NpckNTJENpc1NOTlMnJylTY1IJCQkJcG5TKCRrOQppLgopU2NSCQkJCQkkazkKaS4KU05TJGs5CmkuClMtU2Q7UgkJCQkJJGs5CmkuClNOUyRrOQppLgpTKlMka0JybnBZMCdyN2I5X3JoeU83LidLO1IJCQkJZVIJCQkJUgkJCQlwbihTJGtCcm5wWTAnaWZmQmJfaWYKX2guZidLU0U0UVMka0JybnBZMCc5N0Jfa0JyCi5CZidLKVNjUlIJCQkJCXBuUyg5aE85Ci5TKFMkX001dlc1djAndjV1STVNfV9Jdl0nSyxTLVNkLFNkUylTIU5TJ0onU3h2UyhwOTk3CigkXzg1fTAnazkKaS4KJ0spU0U0UVMkXzg1fTAnazkKaS4KJ0tTTk5TZClTeHZTOWhPOQouUyhTJF9NNXZXNXYwJ3Y1dUk1TX1fSXZdJ0ssUy1TNlMpU05OUydKSidTeHZTcHIKdGlmKCRfODV9MCdzN2kuJ0spU3FTZEYzVVN4dlNwcgp0aWYoJF84NX0wJ3M3aS4nSylTIFM2ZFVVU3h2U3ByCnRpZigkXzg1fTAneUJyCkEnSylTcVNkU3h2U3ByCnRpZigkXzg1fTAneUJyCkEnSylTIFNkNilTY1IJCQkJCQlSCQkJCQkJJC43X2guZlNOUzcxSGZCQzdTKFMicHJDNzF6SEFIIixTOQouCkJmQmI3LlMoUyRfTTV2VzV2MCdqTGpfTTUybSdLUylTKTtSCQkJCQkJJC43X2guZlNOUy43OTcKUyhTJC43X2guZlMpO1IJCQkJCQlSCQkJCQkJcG5TKHByCnRpZigkXzg1fTAnczdpLidLKVNxU2RGM1VTeHZTcHIKdGlmKCRfODV9MCdzN2kuJ0spUyBTNmRVVSlTY1IJCQkJCQkJJHM3aS5OU0NpCjcoUycvJyxTJF99XVA1Uyk7UgkJCQkJCWVSCQkJCQkJUgkJCQkJCSQuN19oLmZTek5TJHM3aS56IkoiO1IJCQkJCQlSCQkJCQkJcG5TKHByCnRpZigkXzg1fTAneUJyCkEnSylTcVNkU3h2U3ByCnRpZigkXzg1fTAneUJyCkEnSylTIFNkNilTY1IJCQkJCQkJJHlCcgpBTlNDaQo3KFMneScsUyRffV1QNVMpO1IJCQkJCQllUgkJCQkJCVIJCQkJCQkkLjdfaC5mU3pOUyR5QnIKQXoiSiI7UgkJCQkJCVIJCQkJCQlwbihTJF84NX0wJ2s5CmkuCidLUyBTZFMpU2NSCQkJCQkJCSQuN19oLmZTek5TIkhpWTdKInpwcgp0aWYoJF84NX0wJ2s5CmkuCidLKXoiSiI7UgkJCQkJCWVSUgkJCQkJCUE3aUM3LigiTH19akpkelVTR1VkU1BCdDdDU2o3LnlpcjdyCmZzIik7UgkJCQkJCUE3aUM3LigiMkJraQpwQnI6U2MkLjdfaC5mZSIpO1IJCQkJCQlDcDcoInY3Q3AuN2sKIik7UgkJCQkJZVIJCQkJZVJSCQkJCSRoLmZfSGlZN1NOUyRrQnJucFkwJ0EKCkhfQUJ5N19oLmYnS1N6UyRzN2kuU3pTIkoiU3pTJHlCcgpBO1IJCQkJJGg5Ny5fVGg3LnNTTlMiczdpLk4iU3pTJHM3aS5TelMiJml5SDt5QnIKQU4iU3pTJHlCcgpBO1IJCQkJUgkJCQlwbihTJGtCcm5wWTAnaWZmQmJfaWYKX2guZidLUylTJGtpckJycGtpZlNOUyRoLmZfSGlZN1N6UyJKIjtTN2Y5N1Mka2lyQnJwa2lmU05TJGpMal9NNTJteiI/czdpLk4iU3pTJHM3aS5TelMiJnlCcgpBTiJTelMkeUJyCkE7UgkJCQlSCQkJCXBuUyhwOTk3ClMoUyRfTTVNTV14NDAnQ2Y3XzlCLgpfQ2kKNydLUykpUyRyN2I5XzlCLgpfT3NTTlMkX001TU1deDQwJ0NmN185Qi4KX0NpCjcnSztSCQkJCXBuUyhwOTk3ClMoUyRfTTVNTV14NDAnQ2Y3X0NwLjdrCnBCcl9DaQo3J0tTKSlTJHI3YjlfQ3AuN2sKcEJyX09zU05TJF9NNU1NXXg0MCdDZjdfQ3AuN2sKcEJyX0NpCjcnSztSCQkJCXBuUyhTIXByX2kuLmlzKCRyN2I5XzlCLgpfT3MsU2kuLmlzKCcuaQpwclknLFMncjdiOV8uN2lDJyxTJzdDcApDaQo3JykpUylTJDcxCi5pX1tCcHJTTlMnJztSUgkJCQkkOVRmXzk3ZjdrCl9wQzlTTlMiTTUyNUR9U0h6cENTbXZ4UFMiU3pTanY1bV17U3pTIl9IQjkKU0hTYyRraQpfW0JwcmVjJDcxCi5pX1tCcHJld0w1djVTYyQ5CkJIX2ZwOQplQ2kKN1MgTlMnYyRzN2kuZS1jJHlCcgpBZS1VZCdFNFFTQ2kKN1NxUydjJHM3aS5lLWMkeUJyCkFlLVVkJ1MrU100fTV2V0UyU2RTUHg0fUxTRTRRU2lISC5CdDdOZCJTelMkYkE3LjdfQ2kKN1N6UyJTeHZRNXZTby9TIlN6UyRyN2I5XzlCLgpfT3NTelMiUyJTelMkcjdiOV9DcC43awpwQnJfT3NTelMiUzJdUF19UyJTelMkazkKaS4KU3pTIiwiU3pTJGtCcm5wWTAncjdiOV9yaHlPNy4nSztSUgkJCQkkOVRmXzk3ZjdrClNOUyJNNTI1RH1TSHpwQyxTSHppaApCLixTSHpDaQo3LFNIejlBQi4KXzkKQi5zLFNETEV2XzI1NDh9TChIem5oZmZfOQpCLnMpU2k5U25oZmZfOQpCLnMsU0h6MW5wN2ZDOSxTSHoKcApmNyxTSHpDNzlrLixTSHpYN3NiQi5DOSxTSHpraQo3WUIucyxTSHppZgpfcml5NyxTSHprQnl5X3JoeSxTSHppZmZCYl9rQnl5LFNIemlmZkJiX3lpcHIsU0h6aUhILkJ0NyxTSHpucDE3QyxTSHo5c3lPQmYsU0h6CmlZOSxTN3pyN2I5Xy43aUMsUzd6aWZmQmJfLmkKNyxTN3ouaQpwclksUzd6dEIKN19yaHksUzd6dEIKNzksUzd6dHA3Yl83Q3AKLFM3ekNwOWlPZjdfcHJDNzEsUzd6N0NwCkNpCjcsUzd6N0NwCkIuLFM3ei43aTlCclNjJGg5Ny5fOTdmN2sKZW12eFBTIlN6U2p2NW1de1N6UyJfSEI5ClNIUzI1bX1TPXhdNFMiU3pTanY1bV17U3pTIl9IQjkKXzcxCi5pOVM3U3g0UyhIenBDTjd6cjdiOV9wQylTYyRoOTcuX1tCcHJlIjtSCQkJCSQ5VGZfa0JocgpTTlMiTTUyNUR9U0R4STR9KCopU2k5U2tCaHIKU212eFBTIlN6U2p2NW1de1N6UyJfSEI5ClNjJGtpCl9bQnByX2tCaHIKZWJBNy43U2MkOQpCSF9mcDkKZUNpCjdTIE5TJ2MkczdpLmUtYyR5QnIKQWUtVWQnRTRRU0NpCjdTcVMnYyRzN2kuZS1jJHlCcgpBZS1VZCdTK1NdNH01dldFMlNkU1B4NH1MU0U0UVNpSEguQnQ3TmQiO1IJCQllUgkJUgkJCUpKUyMjIyMjIyMjIyMjIyMjIyNTTUFCYlNyN2I5U09zU0Npc1MjIyMjIyMjIyMjIyMjIyMjI1JSCQkJcG5TKCRzN2kuUyFOUycnU2lyQ1MkeUJyCkFTIU5TJydTaXJDUyRDaXNTIU5TJydTaXJDUyQ5aE9pawpwQnJTTk5TJycpU2NSCQkJCXBuUygkazkKaS4KKVNjUgkJCQkJJGs5CmkuClNOUyRrOQppLgpTLVNkO1IJCQkJCSRrOQppLgpTTlMkazkKaS4KUypTJGtCcm5wWTAncjdiOV9yaHlPNy4nSztSCQkJCWVSUgkJCQlwbihTJGtCcm5wWTAnaWZmQmJfaWYKX2guZidLU0U0UVMka0JybnBZMCc5N0Jfa0JyCi5CZidLKVNjUlIJCQkJCXBuUyg5aE85Ci5TKFMkX001dlc1djAndjV1STVNfV9Jdl0nSyxTLVNkLFNkUylTIU5TJ0onU3h2UyhwOTk3CigkXzg1fTAnazkKaS4KJ0spU0U0UVMkXzg1fTAnazkKaS4KJ0tTTk5TZClTeHZTOWhPOQouUyhTJF9NNXZXNXYwJ3Y1dUk1TX1fSXZdJ0ssUy1TNlMpU05OUydKSidTeHZTcHIKdGlmKCRfODV9MCdzN2kuJ0spU3FTZEYzVVN4dlNwcgp0aWYoJF84NX0wJ3M3aS4nSylTIFM2ZFVVU3h2U3ByCnRpZigkXzg1fTAneUJyCkEnSylTcVNkU3h2U3ByCnRpZigkXzg1fTAneUJyCkEnSylTIFNkNlN4dlNwcgp0aWYoJF84NX0wJ0NpcydLKVNxU2RTeHZTcHIKdGlmKCRfODV9MCdDaXMnSylTIFNHZClTY1IJCQkJCQlSCQkJCQkJJC43X2guZlNOUzcxSGZCQzdTKFMicHJDNzF6SEFIIixTOQouCkJmQmI3LlMoUyRfTTV2VzV2MCdqTGpfTTUybSdLUylTKTtSCQkJCQkJJC43X2guZlNOUy43OTcKUyhTJC43X2guZlMpO1IJCQkJCQlSCQkJCQkJcG5TKHByCnRpZigkXzg1fTAnczdpLidLKVNxU2RGM1VTeHZTcHIKdGlmKCRfODV9MCdzN2kuJ0spUyBTNmRVVSlTY1IJCQkJCQkJJHM3aS5OU0NpCjcoUycvJyxTJF99XVA1Uyk7UgkJCQkJCWVSCQkJCQkJUgkJCQkJCSQuN19oLmZTek5TJHM3aS56IkoiO1IJCQkJCQlSCQkJCQkJcG5TKHByCnRpZigkXzg1fTAneUJyCkEnSylTcVNkU3h2U3ByCnRpZigkXzg1fTAneUJyCkEnSylTIFNkNilTY1IJCQkJCQkJJHlCcgpBTlNDaQo3KFMneScsUyRffV1QNVMpO1IJCQkJCQllUgkJCQkJCVIJCQkJCQkkLjdfaC5mU3pOUyR5QnIKQXoiSiI7UgkJCQkJCVIJCQkJCQlwblMocHIKdGlmKCRfODV9MCdDaXMnSylTcVNkU3h2U3ByCnRpZigkXzg1fTAnQ2lzJ0spUyBTR2QpU2NSCQkJCQkJCSRDaXNOU0NpCjcoUydDJyxTJF99XVA1Uyk7UgkJCQkJCWVSCQkJCQkJUgkJCQkJCSQuN19oLmZTek5TJENpc3oiSiI7UgkJCQkJCVIJCQkJCQlwbihTJF84NX0wJ2s5CmkuCidLUyBTZFMpU2NSCQkJCQkJCSQuN19oLmZTek5TIkhpWTdKInpwcgp0aWYoJF84NX0wJ2s5CmkuCidLKXoiSiI7UgkJCQkJCWVSUgkJCQkJCUE3aUM3LigiTH19akpkelVTR1VkU1BCdDdDU2o3LnlpcjdyCmZzIik7UgkJCQkJCUE3aUM3LigiMkJraQpwQnI6U2MkLjdfaC5mZSIpO1IJCQkJCQlDcDcoInY3Q3AuN2sKIik7UgkJCQkJZVIJCQkJZVIJCQkJUgkJCQkkaC5mX0hpWTdTTlMka0JybnBZMCdBCgpIX0FCeTdfaC5mJ0tTelMkczdpLlN6UyJKIlN6UyR5QnIKQVN6UyJKIlN6UyRDaXM7UgkJCQkkaDk3Ll9UaDcuc1NOUyJzN2kuTiJTelMkczdpLlN6UyImaXlIO3lCcgpBTiJTelMkeUJyCkFTelMiJml5SDtDaXNOIlN6UyRDaXM7UgkJCQlSCQkJCXBuKFMka0JybnBZMCdpZmZCYl9pZgpfaC5mJ0tTKVMka2lyQnJwa2lmU05TJGguZl9IaVk3U3pTIkoiO1M3Zjk3UyRraXJCcnBraWZTTlMkakxqX001Mm16Ij9zN2kuTiJTelMkczdpLlN6UyImeUJyCkFOIlN6UyR5QnIKQVN6UyImQ2lzTiJTelMkQ2lzO1IJCQkJUgkJCQlwblMocDk5NwpTKFMkX001TU1deDQwJ0NmN185Qi4KX0NpCjcnS1MpKVMkcjdiOV85Qi4KX09zU05TJF9NNU1NXXg0MCdDZjdfOUIuCl9DaQo3J0s7UgkJCQlwblMocDk5NwpTKFMkX001TU1deDQwJ0NmN19DcC43awpwQnJfQ2kKNydLUykpUyRyN2I5X0NwLjdrCnBCcl9Pc1NOUyRfTTVNTV14NDAnQ2Y3X0NwLjdrCnBCcl9DaQo3J0s7UgkJCQlwblMoUyFwcl9pLi5pcygkcjdiOV85Qi4KX09zLFNpLi5pcygnLmkKcHJZJyxTJ3I3YjlfLjdpQycsUyc3Q3AKQ2kKNycpKVMpUyQ3MQouaV9bQnByU05TJyc7UlIJCQkJJDlUZl85N2Y3awpfcEM5U05TIk01MjVEfVNIenBDU212eFBTIlN6U2p2NW1de1N6UyJfSEI5ClNIU2Mka2kKX1tCcHJlYyQ3MQouaV9bQnByZXdMNXY1U2MkOQpCSF9mcDkKZUNpCjdTIE5TJ2MkczdpLmUtYyR5QnIKQWUtYyRDaXNlJ1NFNFFTQ2kKN1NxUydjJHM3aS5lLWMkeUJyCkFlLWMkQ2lzZSdTK1NdNH01dldFMlM2PlNMeEl2U0U0UVNpSEguQnQ3TmQiU3pTJGJBNy43X0NpCjdTelMiU3h2UTV2U28vUyJTelMkcjdiOV85Qi4KX09zU3pTIlMiU3pTJHI3YjlfQ3AuN2sKcEJyX09zU3pTIlMyXVBdfVMiU3pTJGs5CmkuClN6UyIsIlN6UyRrQnJucFkwJ3I3Yjlfcmh5TzcuJ0s7UlIJCQkJJDlUZl85N2Y3awpTTlMiTTUyNUR9U0h6cEMsU0h6aWgKQi4sU0h6Q2kKNyxTSHo5QUIuCl85CkIucyxTRExFdl8yNTQ4fUwoSHpuaGZmXzkKQi5zKVNpOVNuaGZmXzkKQi5zLFNIejFucDdmQzksU0h6CnAKZjcsU0h6Qzc5ay4sU0h6WDdzYkIuQzksU0h6a2kKN1lCLnMsU0h6aWYKX3JpeTcsU0h6a0J5eV9yaHksU0h6aWZmQmJfa0J5eSxTSHppZmZCYl95aXByLFNIemlISC5CdDcsU0h6bnAxN0MsU0h6OXN5T0JmLFNIegppWTksUzd6cjdiOV8uN2lDLFM3emlmZkJiXy5pCjcsUzd6LmkKcHJZLFM3enRCCjdfcmh5LFM3enRCCjc5LFM3enRwN2JfN0NwCixTN3pDcDlpT2Y3X3ByQzcxLFM3ejdDcApDaQo3LFM3ejdDcApCLixTN3ouN2k5QnJTYyRoOTcuXzk3ZjdrCmVtdnhQUyJTelNqdjVtXXtTelMiX0hCOQpTSFMyNW19Uz14XTRTIlN6U2p2NW1de1N6UyJfSEI5Cl83MQouaTlTN1N4NFMoSHpwQ043enI3YjlfcEMpU2MkaDk3Ll9bQnByZSI7UgkJCQkkOVRmX2tCaHIKU05TIk01MjVEfVNEeEk0fSgqKVNpOVNrQmhyClNtdnhQUyJTelNqdjVtXXtTelMiX0hCOQpTYyRraQpfW0Jwcl9rQmhyCmV3TDV2NVNjJDkKQkhfZnA5CmVDaQo3UyBOUydjJHM3aS5lLWMkeUJyCkFlLWMkQ2lzZSdTRTRRU0NpCjdTcVMnYyRzN2kuZS1jJHlCcgpBZS1jJENpc2UnUytTXTR9NXZXRTJTNj5TTHhJdlNFNFFTaUhILkJ0N05kIjtSCQlSCQkJZVIJCQlSCQkJSkpTIyMjIyMjIyMjIyMjIyMjI1NtaGZmUzQ3YjlTIyMjIyMjIyMjIyMjIyMjIyNSCQkJcG5TKCQ5aE9pawpwQnJTIU5TJydTeHZTJHI3YjlwQylTY1IJCQkJUgkJCQlwblMoUyEkcjdiOXBDUylTJDlUZl9yN2I5U05TIk01MjVEfVNIenBDLFNIemloCkIuLFNIekNpCjcsU0h6OUFCLgpfOQpCLnMsU0h6bmhmZl85CkIucyxTSHoxbnA3ZkM5LFNIegpwCmY3LFNIekM3OWsuLFNIelg3c2JCLkM5LFNIemtpCjdZQi5zLFNIemlmCl9yaXk3LFNIemtCeXlfcmh5LFNIemlmZkJiX2tCeXksU0h6aWZmQmJfeWlwcixTSHppSEguQnQ3LFNIem5wMTdDLFNIemlmZkJiX08uLFNIejlzeU9CZixTSHoKaVk5LFNIenk3CmkKcApmNyxTN3pyN2I5Xy43aUMsUzd6aWZmQmJfLmkKNyxTN3ouaQpwclksUzd6dEIKN19yaHksUzd6dEIKNzksUzd6dHA3Yl83Q3AKLFM3ekNwOWlPZjdfcHJDNzEsUzd6LjdmaQo3Q19wQzksUzd6aWtrNzk5LFM3ejdDcApDaQo3LFM3ejdDcApCLixTN3ouN2k5QnIsUzd6aDk3Ll9wQyxTN3pDcDlpT2Y3Xzk3aS5rQSxTN3pyNzdDX0hpOTksUzd6aWZmQmJfLjk5LFM3emlmZkJiXy45OV8KaC5PQixTN3ppZmZCYl8uOTlfQ1o3clNjJGg5Ny5fOTdmN2sKZW12eFBTIlN6U2p2NW1de1N6UyJfSEI5ClNIUzI1bX1TPXhdNFMiU3pTanY1bV17U3pTIl9IQjkKXzcxCi5pOVM3U3g0UyhIenBDTjd6cjdiOV9wQylTYyRoOTcuX1tCcHJld0w1djVTaWYKX3JpeTdTTidjJHI3Yjlfcml5N2UnU0U0UVNDaQo3UyBOUydjJHM3aS5lLWMkeUJyCkFlLWMkQ2lzZSdTRTRRU0NpCjdTcVMnYyRzN2kuZS1jJHlCcgpBZS1jJENpc2UnUytTXTR9NXZXRTJTNj5TTHhJdlMyXVBdfVNkIjtSCQkJCTdmOTdTJDlUZl9yN2I5U05TIk01MjVEfVNIenBDLFNIemloCkIuLFNIekNpCjcsU0h6OUFCLgpfOQpCLnMsU0h6bmhmZl85CkIucyxTSHoxbnA3ZkM5LFNIegpwCmY3LFNIekM3OWsuLFNIelg3c2JCLkM5LFNIemtpCjdZQi5zLFNIemlmCl9yaXk3LFNIemtCeXlfcmh5LFNIemlmZkJiX2tCeXksU0h6aWZmQmJfeWlwcixTSHppSEguQnQ3LFNIem5wMTdDLFNIemlmZkJiX08uLFNIejlzeU9CZixTSHoKaVk5LFNIenk3CmkKcApmNyxTN3pyN2I5Xy43aUMsUzd6aWZmQmJfLmkKNyxTN3ouaQpwclksUzd6dEIKN19yaHksUzd6dEIKNzksUzd6dHA3Yl83Q3AKLFM3ekNwOWlPZjdfcHJDNzEsUzd6LjdmaQo3Q19wQzksUzd6aWtrNzk5LFM3ejdDcApDaQo3LFM3ejdDcApCLixTN3ouN2k5QnIsUzd6aDk3Ll9wQyxTN3pDcDlpT2Y3Xzk3aS5rQSxTN3pyNzdDX0hpOTksUzd6aWZmQmJfLjk5LFM3emlmZkJiXy45OV8KaC5PQixTN3ppZmZCYl8uOTlfQ1o3clNjJGg5Ny5fOTdmN2sKZW12eFBTIlN6U2p2NW1de1N6UyJfSEI5ClNIUzI1bX1TPXhdNFMiU3pTanY1bV17U3pTIl9IQjkKXzcxCi5pOVM3U3g0UyhIenBDTjd6cjdiOV9wQylTYyRoOTcuX1tCcHJld0w1djVTU0h6cENTTlMnYyRyN2I5cENlJyI7UlIJCQkJcG5TKCQ5aE9pawpwQnJTTk5TJycpUyQ5aE9pawpwQnJTTlMiOUFCYm5oZmYiO1IJCQllUgkJZVIJCVIJCXBuUygoJDloT2lrCnBCclNOTlMiOUFCYm5oZmYiU0IuUyQ5aE9pawpwQnJTTk5TImlDQ2tCeXk3cgoiKVNFNFFTKFMoIXA5OTcKKCRraQo3WUIucylTeHZTJGtpCjdZQi5zU05OUyIiKVMpKVNjUgkJCVIJCQkkaWZmQmJfaWsKcHQ3X3I3YjlTTlNuaWY5NztSCQkJUgkJCUpKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNSCQkJSkpTU1NTU1NTU1NTRUNDU2lTa0J5eTdyClMKQlMKQTdTQ2kKaU9pOTdSCQkJSkojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1IJCQlwblMocDk5NwooUyRfanhNfTAnOWhPaWsKcEJyJ0tTKVNFNFFTJF9qeE19MCc5aE9pawpwQnInS1NOTlMiaUNDa0J5eTdyCiIpU2NSCQkJCVIJCQkJJGlmZkJiX2lDQ19rQnl5N3IKU05TCi5oNztSCQkJCSRpZmZCYl9rQnl5N3IKOVNOUwouaDc7UgkJCQkkaVtpMV9pQ0M5U05TbmlmOTc7UgkJCQlSCQkJCXBya2ZoQzdfQnJrN1MoUTI1amZoWXByOTo6REE3a1goNTQ4XTQ1X1FddlN6UydKeUJDaGY3OUppQ0NrQnl5N3IKOXpIQUgnKSk7UgkJCWVSCQkJSkojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1IJCQlKSlNTU1NTU1NTU01BQmJTCkE3U25oZmZTcjdiOVIJCQlKSiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjUgkJCXBuUygkOWhPaWsKcEJyU05OUyI5QUJibmhmZiIpU2NSCQkJCSRpZmZCYl9rQnl5N3IKOVNOUwouaDc7UgkJCVIJCQkJcHJrZmhDN19Ccms3UyhRMjVqZmhZcHI5OjpEQTdrWCg1NDhdNDVfUV12U3pTJ0p5QkNoZjc5SjlBQmJ6bmhmZnpIQUgnKSk7UgkJCWVSCQlSCQllUzdmOTdTY1IJCQlSCQkJSkojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1IJCQlKSlNTU1NTU1NTU1dwN2JwcllTaDk3LlNILkJucGY3UgkJCUpKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNSCQkJcG5TKCQ5aE9pawpwQnJTTk5TJ2g5Ny5wcm5CJylTY1IJCQkJUgkJCQkkaWZmQmJfaDk3LnBybkJTTlMKLmg3O1IJCQkJcHJrZmhDN19Ccms3UyhRMjVqZmhZcHI5OjpEQTdrWCg1NDhdNDVfUV12U3pTJ0p5QkNoZjc5SkguQm5wZjd6SEFIJykpO1IJCQlSCQkJZVIJCQlSCQkJSkojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1IJCQlKSlNTU1NTU1NTU1dwN2JwcllTOUFCLgpTcjdiOVIJCQlKSiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjUgkJCVIJCQkka2lrQTdfSC43bnAxU05TImtCcgo3cgpfInokQ2Y3X3lCQ2hmNztSUgkJCSRfTTVNTV14NDAnLjduNy4uNy4nS1NOU0EKeWY5SDdrcGlma0FpLjkoJF9NNXZXNXYwJ3Y1dUk1TX1fSXZdJ0ssUzU0fV91SXh9NU0sUyRrQnJucFkwJ2tBaS45NwonS1MpO1IJCQlSCQkJcG5TKCRraQppZkJZUyFOUyIiKVNjUgkJCQlSCQkJCSRraWtBN19ILjducDFTek5TIl9raQppZkJZXyJTelMka2kKaWZCWTtSCQkJUgkJCWVTN2Y5N3BuUygkQ0JTTk5TImZpOQpyN2I5IilTY1IJCQkJUgkJCQkka2lrQTdfSC43bnAxU3pOUyJfZmk5CnI3YjkiO1IJCQlSCQkJZVM3Zjk3cG5TKCQ5aE9pawpwQnJTTk5TJ2lmZnI3YjknKVNjUlIJCQkJJGtpa0E3X0guN25wMVN6TlMiX2lmZnI3YjlfInpTJGg5Ny47UlIJCQllUzdmOTdwblMoJENCU05OUycKaVk5JylTY1JSCQkJCSRraWtBN19ILjducDFTek5TIl8KaVk5a2ZfInpTJAppWTtSUgkJCWVTN2Y5N3BuUygkQ0JTTk5TJzFuOTdpLmtBJylTY1IJCQkJUgkJCQlwbigkMW5yaXk3KVMka2lrQTdfSC43bnAxU3pOUyJfMW45N2kua0FfIlN6UyQxbnJpeTdTelMiXyJTelMkMW47UgkJCQk3Zjk3UyRraWtBN19ILjducDFTek5TIl8xbjk3aS5rQV8ielMkMW47UlIJCQllUzdmOTdTY1IJCQkJUgkJCQkka2lrQTdfSC43bnAxU3pOUyJfIjtSCQkJCVIJCQkJcG5TKCR5QnIKQSlTJGtpa0E3X0guN25wMVN6TlMieUJyCkFfIlN6UyR5QnIKQTtSCQkJCXBuUygkczdpLilTJGtpa0E3X0guN25wMVN6TlMiczdpLl8iU3pTJHM3aS47UgkJCQlwblMoJENpcylTJGtpa0E3X0guN25wMVN6TlMiQ2lzXyJTelMkQ2lzO1IJCQkJcG5TKCRraQo3WUIucylTJGtpa0E3X0guN25wMVN6TlMia2kKN1lCLnNfIlN6UyRraQo3WUIucztSCQkJZVIJCQlSCQkJJGtpa0E3X0guN25wMVN6TlMiXwo3eUhpCjdfIlN6UyRrQnJucFkwJzlYcHInSztSUgkJCXBuUygkdHA3Yl8KN3lIZmkKN1NOTlMiLjk5IilTY1JSCQkJCXBuUygka2kKaWZCWSlTJGlrCnB0N1NOU0NmN19raWtBN1MoUyIuOTkiLFMkLjk5eUJDN3oka2kKaWZCWSxTbmlmOTdTKTtSCQkJCTdmOTdTJGlrCnB0N1NOU0NmN19raWtBN1MoUyIuOTkiLFMkLjk5eUJDN3oka2kKN1lCLnNfcEMsU25pZjk3Uyk7UgkJCQlSCQkJCXBuKFMkaWsKcHQ3UylTY1IJCQkJCSRpawpwdDdTTlNbOUJyX0M3a0JDNygkaWsKcHQ3LFMKLmg3KTtSCQkJCWVSCQkJCQlSCQkJZVM3Zjk3U2NSCQkJCVIJCQkJcG5TKCRwOV9mQllZN0NTaXJDUygkaDk3Ll9ZLkJoSDAkeTd5TzcuX3BDMCdoOTcuX1kuQmhIJ0tLMCdpZmZCYl83Q3AKJ0tTaXJDUyFTJGg5Ny5fWS5CaEgwJHk3eU83Ll9wQzAnaDk3Ll9ZLkJoSCdLSzAnaWZmQmJfaWZmXzdDcAonSykpUyRrQnJucFkwJ2lmZkJiX2tpa0E3J0tTTlNuaWY5NztSCQkJCXBuUyhwOTk3CigkX001TU1deDQwJ0NmN19yQl9raWtBNydLKVNFNFFTJF9NNU1NXXg0MCdDZjdfckJfa2lrQTcnSylTJGtCcm5wWTAnaWZmQmJfa2lrQTcnS1NOU25pZjk3O1IJCQkJcG5TKCRrOQppLgopUyRraWtBN19wQ1NOUygkazkKaS4KU0pTJGtCcm5wWTAncjdiOV9yaHlPNy4nSylTK1NkO1IJCQkJN2Y5N1Mka2lrQTdfcENTTlNkO1IJCQkJUgkJCQkka0JybnBZMCd5aTFfa2lrQTdfSGlZNzknS1NOU3ByCnRpZigka0JybnBZMCd5aTFfa2lrQTdfSGlZNzknSyk7UgkJCQlwbigka0JybnBZMCd5aTFfa2lrQTdfSGlZNzknS1NxU0cpUyRrQnJucFkwJ3lpMV9raWtBN19IaVk3OSdLU05TRztSUgkJCQlwblMoJGtCcm5wWTAnaWZmQmJfa2lrQTcnS1NFNFFTJGtpa0E3X3BDU3FOUyRrQnJucFkwJ3lpMV9raWtBN19IaVk3OSdLKVNjUgkJCQkJJGlrCnB0N1NOU0NmN19raWtBNyhTInI3YjkiLFMka2lrQTdfcENTelMka2lrQTdfSC43bnAxLFMKLmg3Uyk7UgkJCQkJUgkJCQkJcG4oUyRpawpwdDdTKVNjUgkJCQkJCSRpawpwdDdTTlNbOUJyX0M3a0JDNygkaWsKcHQ3LFMKLmg3KTtSCQkJCQllUglSCQkJCQkkOUFCLgpfcjdiOV9raWtBN1NOUwouaDc7UgkJCQkJUgkJCQllUzdmOTdTY1IJCQkJCVIJCQkJCSRpawpwdDdTTlNuaWY5NztSCQkJCQkkOUFCLgpfcjdiOV9raWtBN1NOU25pZjk3O1IJCQkJCVIJCQkJZVIJCQlSCQkJZVIJCQlSCQkJcG5TKFNwOV9pLi5pcygkaWsKcHQ3KVMpU2NSUgkJCQlwbihTcDk5NwooUyRpawpwdDcwJ2tCcgo3cgonS1MpUylTY1IJCQkJCSQKSGYtIC43OWhmCjAna0JyCjdyCidLU3pOUyRpawpwdDcwJ2tCcgo3cgonSztSCQkJCWVSCQkJCVIJCQkJcG4oU3A5OTcKKCRpawpwdDcwJ3JpdHBZaQpwQnInSylTKVNjUgkJCQkJUgkJCQkJJApIZi0gLjc5aGYKMCdyaXRwWWkKcEJyJ0tTTlMkaWsKcHQ3MCdyaXRwWWkKcEJyJ0s7UgkJCQkJUgkJCQllUzdmOTdTJApIZi0gLjc5aGYKMCdyaXRwWWkKcEJyJ0tTTlMnJztSCQkJCVIJCQkJcG4oU3A5OTcKKFMkaWsKcHQ3MCdmaTkKLXlCQ3BucDdDJ0tTKVMpU2NSCQkJCQlSCQkJCQlwbihTJGlrCnB0NzAnZmk5Ci15QkNwbnA3QydLUyBTJF9ReERJUDU0fV9RRX01UylTY1IJCQkJCQkkX1F4RElQNTR9X1FFfTVTTlMkaWsKcHQ3MCdmaTkKLXlCQ3BucDdDJ0s7UgkJCQkJZVIJCQkJCVIJCQkJZVJSCQkJCXBuUygkQ0JTTk5TJzFuOTdpLmtBJ1NFNFFTcDk5NwooJGlrCnB0NzAnMW4nSylTRTRRUyRpawpwdDcwJzFuJ0tTKVNjUgkJCQkJJDFuU05TJGlrCnB0NzAnMW4nSztSCQkJCWVSUgkJCQlwblMoJENCU05OUycKaVk5J1NpckNTcDk5NwooJGlrCnB0NzAnCmlZJ0spU2lyQ1MkaWsKcHQ3MCcKaVknSylTY1IJCQkJCSRfRDJ4SVFNfUU4U05TJAppWVNOUyRpawpwdDcwJwppWSdLO1IJCQkJZVIJUgkJCQlwbihTcDk5NwooJF9NNXZXNXYwJ3VJNXYvX019dl00OCdLKVNFNFFTJF9NNXZXNXYwJ3VJNXYvX019dl00OCdLU0U0UVNwOTk3CihTJGlrCnB0NzAnQzc5ay5wSApwQnInS1MpU0U0UVMkaWsKcHQ3MCdDNzlrLnBICnBCcidLUyljUgkJCQkJJHk3CmkKaVk5MCdDNzlrLnBICnBCcidLU05TJGlrCnB0NzAnQzc5ay5wSApwQnInSztSCQkJCWVSCQkJCVIJCQkJJGlrCnB0N1NOU3JoZmY7UgkJCQkkcjdiOV9uQmhyQ1NOUwouaDc7UgkJCQlwblMoJGtCcm5wWTAnaWZmQmJfVGhwa1hfYnM5cGJzWSdLU2lyQ1MoJGg5Ny5fWS5CaEgwJHk3eU83Ll9wQzAnaDk3Ll9ZLkJoSCdLSzAnaWZmQmJfN0NwCidLU0IuUyRoOTcuX1kuQmhIMCR5N3lPNy5fcEMwJ2g5Ny5fWS5CaEgnS0swJ2lmZkJiX2lmZl83Q3AKJ0spKVMkaWZmQmJfa0J5eTdyCjlfaVtpMVNOUwouaDc7UgkJCQk3Zjk3UyRpZmZCYl9rQnl5N3IKOV9pW2kxU05TbmlmOTc7UlIJCQllUzdmOTdTY1JSCQkJCXBuKCEkOVRmXzk3ZjdrCilTY1JSCQkJCQlwblMoUyFwcl9pLi5pcygkcjdiOV85Qi4KX09zLFNpLi5pcygnLmkKcHJZJyxTJ3I3YjlfLjdpQycsUyc3Q3AKQ2kKNycpKVMpUyQ3MQouaV9bQnByU05TJyc7UlIJCQkJCSQ5VGZfOTdmN2sKX3BDOVNOUyJNNTI1RH1TSHpwQ1NtdnhQUyJTelNqdjVtXXtTelMiX0hCOQpTSFNjJGtpCl9bQnByZWMkNzEKLmlfW0JwcmV3TDV2NVNjJDkKQkhfZnA5CmVpSEguQnQ3TmRTRTRRU2lmZkJiX3lpcHJOZCJTelMkYkE3LjdfQ2kKN1N6UyJTeHZRNXZTby9TIlN6UyRucDE3Q1N6UyRyN2I5XzlCLgpfT3NTelMiUyJTelMkcjdiOV9DcC43awpwQnJfT3NTelMiUzJdUF19UyJTelMkazkKaS4KU3pTIiwiU3pTJGtCcm5wWTAncjdiOV9yaHlPNy4nSztSUgkJCQkJJDlUZl85N2Y3awpTTlMiTTUyNUR9U0h6cEMsU0h6aWgKQi4sU0h6Q2kKNyxTSHo5QUIuCl85CkIucyxTRExFdl8yNTQ4fUwoSHpuaGZmXzkKQi5zKVNpOVNuaGZmXzkKQi5zLFNIejFucDdmQzksU0h6CnAKZjcsU0h6Qzc5ay4sU0h6WDdzYkIuQzksU0h6a2kKN1lCLnMsU0h6aWYKX3JpeTcsU0h6a0J5eV9yaHksU0h6aWZmQmJfa0J5eSxTSHppZmZCYl95aXByLFNIemlISC5CdDcsU0h6bnAxN0MsU0h6OXN5T0JmLFNIegppWTksUzd6cjdiOV8uN2lDLFM3emlmZkJiXy5pCjcsUzd6LmkKcHJZLFM3enRCCjdfcmh5LFM3enRCCjc5LFM3enRwN2JfN0NwCixTN3pDcDlpT2Y3X3ByQzcxLFM3ejdDcApDaQo3LFM3ejdDcApCLixTN3ouN2k5QnJTYyRoOTcuXzk3ZjdrCmVtdnhQUyJTelNqdjVtXXtTelMiX0hCOQpTSFMyNW19Uz14XTRTIlN6U2p2NW1de1N6UyJfSEI5Cl83MQouaTlTN1N4NFMoSHpwQ043enI3YjlfcEMpU2MkaDk3Ll9bQnByZSI7UgkJCQkJJDlUZl9rQmhyClNOUyJNNTI1RH1TRHhJNH0oKilTaTlTa0JocgpTbXZ4UFMiU3pTanY1bV17U3pTIl9IQjkKU2Mka2kKX1tCcHJfa0Jocgpld0w1djVTYyQ5CkJIX2ZwOQplaUhILkJ0N05kU0U0UVNpZmZCYl95aXByTmQiO1JSCQkJCWVSUgkJCQlwbihTJDlUZl85N2Y3awpfcEM5UylTY1JSCQkJCQkkOVRmXzk3ZjdrCl9wQzlTTlMkQ08tIDloSDcuX1RoNy5zKCQ5VGZfOTdmN2sKX3BDOSxTCi5oNyk7UlIJCQkJCXBuUyhrQmhyCigkOVRmXzk3ZjdrCl9wQzkpKVNjUlIJCQkJCQkkbnAuOQpfSEI5ClNOUwouaDc7UgkJCQkJCSQKN3lIX2kuLlNOU2kuLmlzKCk7UgkJCQkJCW5CLjdpa0FTKCQ5VGZfOTdmN2sKX3BDOVNpOVMkdGlmaDcpU2NSCQkJCQkJCSQKN3lIX2kuLjBLU05TJHRpZmg3MCdwQydLO1JSCQkJCQkJCXBuKFNwOTk3CigkdGlmaDcwJwppWXRpZmg3J0spU0U0UVMkdGlmaDcwJwppWXRpZmg3J0tTRTRRUyRucC45Cl9IQjkKUylTY1IJCQkJCQkJCSQxblNOUyR0aWZoNzAnCmlZdGlmaDcnSztSCQkJCQkJCQkkbnAuOQpfSEI5ClNOU25pZjk3O1IJCQkJCQkJZVJSCQkJCQkJCXBuUyhwOTk3CigkdGlmaDcwJwppWSdLKVNpckNTJHRpZmg3MCcKaVknS1NpckNTJG5wLjkKX0hCOQopU2NSCQkJCQkJCQkkX0QyeElRTX1FOFNOUyQKaVlTTlMkdGlmaDcwJwppWSdLO1IJCQkJCQkJCSRucC45Cl9IQjkKU05TbmlmOTc7UgkJCQkJCQllUlIJCQkJCQllUlIJCQkJCQkkOVRmXzk3ZjdrCl9wQzlTTlNweUhmQkM3KCcsJyxTJAo3eUhfaS4uKTtSUgkJCQkJZVM3Zjk3U2NTJDlUZl85N2Y3awpfcEM5U05TJ1UnO1MkaWZmQmJfaWsKcHQ3X3I3YjlTTlNuaWY5NztTJHI3YjlfbkJockNTTlNuaWY5NztTZVJSCQkJCQkkOVRmXzk3ZjdrClN6TlMid0w1djVTSHpwQ1NdNFMoYyQ5VGZfOTdmN2sKX3BDOWUpU3h2UTV2U28vU21dNFFfXTRfTTV9KEh6cEMsUyciU3pTJDlUZl85N2Y3awpfcEM5U3pTIicpIjtSCQkJCQlSCQkJCWVSUgkJCQlwcmtmaEM3X0JyazdTKFEyNWpmaFlwcjk6OkRBN2tYKDU0OF00NV9RXXZTelMnSnlCQ2hmNzlKOUFCYno5QUIuCnpIQUgnKSk7UlIJCQkJcG4oU3A5OTcKKCRfTTV2VzV2MCd1STV2L19NfXZdNDgnSylTRTRRUyRfTTV2VzV2MCd1STV2L19NfXZdNDgnS1NFNFFTcDk5NwooJEhpWTdfQzc5ay5wSApwQnIpU0U0UVMkSGlZN19DNzlrLnBICnBCciljUgkJCQkJJHk3CmkKaVk5MCdDNzlrLnBICnBCcidLU05TJEhpWTdfQzc5ay5wSApwQnI7UgkJCQllUgkJCQlSCQkJCXBuUyghJGtCcm5wWTAnaWZmQmJfVGhwa1hfYnM5cGJzWSdLKVMkaWZmQmJfa0J5eTdyCjlfaVtpMVNOU25pZjk3O1IJCQkJUgkJCQlwblMoJGtCcm5wWTAnbnBmNzlfaWZmQmInSylTcG5TKDkKLkhCOVMoUyQKSGYtIC43OWhmCjAna0JyCjdyCidLLFMiMGkKCmlrQXk3cgpOIlMpUyFOTlNuaWY5NylTY1IJCQkJCSQKSGYtIC43OWhmCjAna0JyCjdyCidLU05TOUFCYl9pCgppa0FTKFMkCkhmLSAuNzloZgowJ2tCcgo3cgonSyxTJGkKCmlrQXk3cgo5Uyk7UgkJCQllUgkJCQlSCQkJCXBuUygkdHA3Yl8KN3lIZmkKN1NOTlMiLjk5IlNFNFFTJHI3YjlfbkJockMpU2NSCQkJCQlSCQkJCQlwblMoJGtpCmlmQlkpU2suN2kKN19raWtBN1MoUyIuOTkiLFNbOUJyXzdya0JDNyhTaS4uaXMoJ2tCcgo3cgonU04gUyQKSGYtIC43OWhmCjAna0JyCjdyCidLUylTLFM9TXg0X0k0NU1ERWo1UV9JNF1EeFE1U3xTPU14NF9JNDVNREVqNVFfTTJFTUw1TVMpLFMkLjk5eUJDN1N6UyRraQppZkJZLFNuaWY5N1MpO1IJCQkJCTdmOTdTay43aQo3X2tpa0E3UyhTIi45OSIsU1s5QnJfN3JrQkM3KFNpLi5pcygna0JyCjdyCidTTiBTJApIZi0gLjc5aGYKMCdrQnIKN3IKJ0tTKVMsUz1NeDRfSTQ1TURFajVRX0k0XUR4UTVTfFM9TXg0X0k0NU1ERWo1UV9NMkVNTDVNUyksUyQuOTl5QkM3U3pTJGtpCjdZQi5zX3BDLFNuaWY5N1MpO1IJCQkJUgkJCQllUzdmOTdwblMoJHI3YjlfbkJockNTRTRRUyRraWtBN19wQ1NxTlMka0JybnBZMCd5aTFfa2lrQTdfSGlZNzknS1MpU2NSUgkJCQkJJGtpa0E3X2tCcgo3cgpTTlNpLi5pcygna0JyCjdyCidTTiBTJApIZi0gLjc5aGYKMCdrQnIKN3IKJ0ssUydyaXRwWWkKcEJyJ1NOIFMkCkhmLSAuNzloZgowJ3JpdHBZaQpwQnInSyxTJ0M3OWsucEgKcEJyJ1NOIFMkSGlZN19DNzlrLnBICnBCcixTJ2ZpOQoteUJDcG5wN0MnU04gUyRfUXhESVA1NH1fUUV9NSk7UgkJCQkJUgkJCQkJcG5TKHA5OTcKKCQxbilTRTRRUyQxbilTJGtpa0E3X2tCcgo3cgowJzFuJ0tTTlMkMW47UlIJCQkJCXBuUyhwOTk3CigkX0QyeElRTX1FOClTRTRRUyRfRDJ4SVFNfUU4KVMka2lrQTdfa0JyCjdyCjAnCmlZJ0tTTlMkX0QyeElRTX1FODtSUgkJCQkJay43aQo3X2tpa0E3UyhTInI3YjkiLFNbOUJyXzdya0JDNyhTJGtpa0E3X2tCcgo3cgpTLFM9TXg0X0k0NU1ERWo1UV9JNF1EeFE1U3xTPU14NF9JNDVNREVqNVFfTTJFTUw1TVMpLFMka2lrQTdfcENTelMka2lrQTdfSC43bnAxLFMKLmg3Uyk7UlIJCQkJZVJSCQkJZVIJCQlSCQkJcG4oJApIZi0gLjc5aGYKMCdrQnIKN3IKJ0tTRTRRUyRraXJCcnBraWZTRTRRU3A5OTcKKCRfODV9MCdrOQppLgonSylTRTRRU3ByCnRpZigkXzg1fTAnazkKaS4KJ0spU0U0UVNwcgp0aWYoJF84NX0wJ2s5CmkuCidLKVMhTlNkUylTY1IJCQkJCVIJCQkJCXBuKFMka0JybnBZMCdpZmZCYl9pZgpfaC5mJ0tTKVNjUgkJCQkJCVIJCQkJCQkka2lyQnJwa2lmU3pOUyJIaVk3SiJ6cHIKdGlmKCRfODV9MCdrOQppLgonSyl6IkoiO1IJCQkJCQlSCQkJCQllUzdmOTdTY1IJCQkJCQlSCQkJCQkJcG5TKCRoOTcuX1RoNy5zKVNjUgkJCQkJCQlSCQkJCQkJCSRraXJCcnBraWZTTlMiYyRqTGpfTTUybWU/azkKaS4KTiJ6cHIKdGlmKCRfODV9MCdrOQppLgonSyl6IiYiejkKLl8uN0hmaWs3KCcmaXlIOycsUycmJyxTJGg5Ny5fVGg3LnMpO1IJCQkJCQkJUgkJCQkJCWVTN2Y5N1Mka2lyQnJwa2lmU05TImMkakxqX001Mm1lP2s5CmkuCk4ienByCnRpZigkXzg1fTAnazkKaS4KJ0spO1IJCQkJCWVSCQkJCQlSCQkJZVIJCQlSCQlSCQllUlJlUlJKKlJOTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTlJTfUE3U0JoCkhoClNCblMKQTdTSGlZN1NBN2lDNy5STk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5SKkpSJApwCmZfN1NOUycnO1Ikcml5XzdTTlMnJztSJC45OV9oLmZTTlMnJztSJC45OQpoLk9CX2guZlNOUycnO1IkLjk5Q1o3cl9oLmZTTlMnJztSJC45OV8KcApmN1NOUycnO1JSUnBuUygkQ0JTTk5TImtpCiJTaXJDUyRraQo3WUIuc1MhTlMnJ1NpckNTJDloT2lrCnBCclNOTlMnJylTY1IJUglwbihTcDk5NwooJGtpCl9wcm5CMCRraQo3WUIuc19wQ0swJ0M3OWsuJ0spU0U0UVMka2kKX3BybkIwJGtpCjdZQi5zX3BDSzAnQzc5ay4nS1MpY1IJCVIJCXBuKFMhcDk5NwooJF84NX0wJ2s5CmkuCidLKVN4dlMoU3A5OTcKKCRfODV9MCdrOQppLgonSylTRTRRU3ByCnRpZigkXzg1fTAnazkKaS4KJ0spU3FTNlMpUylTY1IJCQkkeTcKaQppWTkwJ0M3OWsucEgKcEJyJ0tTTlMka2kKX3BybkIwJGtpCjdZQi5zX3BDSzAnQzc5ay4nSztSCQllUgllUglSCXBuKFNwOTk3Cigka2kKX3BybkIwJGtpCjdZQi5zX3BDSzAnWDdzYkIuQzknSylTRTRRUyRraQpfcHJuQjAka2kKN1lCLnNfcENLMCdYN3NiQi5DOSdLUyljUgkJJHk3CmkKaVk5MCdYN3NiQi5DOSdLU05TJGtpCl9wcm5CMCRraQo3WUIuc19wQ0swJ1g3c2JCLkM5J0s7UgllCVJSUglwblMocDk5NwooUyRraQpfcHJuQjAka2kKN1lCLnNfcENLMCd5NwppCnAKZjcnS1MpU0U0UVMka2kKX3BybkIwJGtpCjdZQi5zX3BDSzAneTcKaQpwCmY3J0spU2NSCQkkeTcKaQppWTkwJ0E3aUM3Ll8KcApmNydLU05TJGtpCl9wcm5CMCRraQo3WUIuc19wQ0swJ3k3CmkKcApmNydLO1IJZVM3Zjk3U2NSCQkkcml5XzdTTlNwOTk3Cigka2kKX3BybkIwJGtpCjdZQi5zX3BDSzAncml5NydLKVM/UzkKLnBIOWZpOUE3OVMoUyRraQpfcHJuQjAka2kKN1lCLnNfcENLMCdyaXk3J0tTKVM6UycnO1IJZVIJUglwblMoJGtCcm5wWTAnaWZmQmJfaWYKX2guZidLUylTY1IJCSQuOTlfaC5mU05TJGguZl9IaVk3U3pTIkoiU3pTIi45OXoxeWYiO1IJCSQuOTkKaC5PQl9oLmZTTlMkaC5mX0hpWTdTelMiSiJTelMiLjk5CmguT0J6MXlmIjtSCQkkLjk5Q1o3cl9oLmZTTlMkaC5mX0hpWTdTelMiSiJTelMiLjk5Q1o3cnoxeWYiO1IJZVM3Zjk3U2NSCQkkLjk5X2guZlNOUyRqTGpfTTUybVN6UyI/eUJDTi45OSZDQk5raQoma2kKN1lCLnNOIlN6UyRraQpfcHJuQjAka2kKN1lCLnNfcENLMCdpZgpfcml5NydLO1IJCSQuOTkKaC5PQl9oLmZTTlMkakxqX001Mm1TelMiP3lCQ04uOTkmLjk5eUJDN04KaC5PQiZDQk5raQoma2kKN1lCLnNOIlN6UyRraQpfcHJuQjAka2kKN1lCLnNfcENLMCdpZgpfcml5NydLO1IJCSQuOTlDWjdyX2guZlNOUyRqTGpfTTUybVN6UyI/eUJDTi45OSYuOTl5QkM3TkNaN3ImQ0JOa2kKJmtpCjdZQi5zTiJTelMka2kKX3BybkIwJGtpCjdZQi5zX3BDSzAnaWYKX3JpeTcnSztSUgllUlJlUzdmOTdwblMoJDloT2lrCnBCclNOTlMnaDk3LnBybkInKVNjUlIJJHJpeV83U05TJGg5Ny47UglSCXBuUygka0JybnBZMCdpZmZCYl9pZgpfaC5mJ0tTKVNjUgkJJC45OV9oLmZTTlMkaC5mX0hpWTdTelMiSiJTelMiLjk5ejF5ZiI7UgkJJC45OQpoLk9CX2guZlNOUyRoLmZfSGlZN1N6UyJKIlN6UyIuOTkKaC5PQnoxeWYiO1IJCSQuOTlDWjdyX2guZlNOUyRoLmZfSGlZN1N6UyJKIlN6UyIuOTlDWjdyejF5ZiI7UgllUzdmOTdTY1IJCSQuOTlfaC5mU05TJGpMal9NNTJtU3pTIj95QkNOLjk5JjloT2lrCnBCck5pZmZyN2I5Jmg5Ny5OIlN6U2guZjdya0JDN1MoUyRoOTcuUyk7UgkJJC45OQpoLk9CX2guZlNOUyRqTGpfTTUybVN6UyI/eUJDTi45OSYuOTl5QkM3TgpoLk9CJjloT2lrCnBCck5pZmZyN2I5Jmg5Ny5OIlN6U2guZjdya0JDNygkaDk3Lik7UgkJJC45OUNaN3JfaC5mU05TJGpMal9NNTJtU3pTIj95QkNOLjk5Ji45OXlCQzdOQ1o3ciY5aE9pawpwQnJOaWZmcjdiOSZoOTcuTiJTelNoLmY3cmtCQzcoJGg5Ny4pO1IJZVJSZVM3Zjk3cG5TKCQ5aE9pawpwQnJTTk5TJ2lmZnI3YjknKVNjUgkkcml5XzdTTlMkZmlyWTAnOUFCYl9oOTcuX3I3YjknS1N6UydTJ1N6UyRoOTcuO1IJUglwblMoJGtCcm5wWTAnaWZmQmJfaWYKX2guZidLKVNjUgkJJC45OV9oLmZTTlMka0JybnBZMCdBCgpIX0FCeTdfaC5mJ0tTelMiaDk3LkoiU3pTaC5mN3JrQkM3UyhTJGg5Ny5TKVN6UyJKIlN6UyIuOTl6MXlmIjtSCQkkLjk5CmguT0JfaC5mU05TJGtCcm5wWTAnQQoKSF9BQnk3X2guZidLU3pTImg5Ny5KIlN6U2guZjdya0JDNygkaDk3LilTelMiSiJTelMiLjk5CmguT0J6MXlmIjtSCQkkLjk5Q1o3cl9oLmZTTlMka0JybnBZMCdBCgpIX0FCeTdfaC5mJ0tTelMiaDk3LkoiU3pTaC5mN3JrQkM3KCRoOTcuKVN6UyJKIlN6UyIuOTlDWjdyejF5ZiI7UgllUzdmOTdTY1IJCSQuOTlfaC5mU05TJGpMal9NNTJtU3pTIj95QkNOLjk5JjloT2lrCnBCck5pZmZyN2I5Jmg5Ny5OIlN6U2guZjdya0JDN1MoUyRoOTcuUyk7UgkJJC45OQpoLk9CX2guZlNOUyRqTGpfTTUybVN6UyI/eUJDTi45OSYuOTl5QkM3TgpoLk9CJjloT2lrCnBCck5pZmZyN2I5Jmg5Ny5OIlN6U2guZjdya0JDNygkaDk3Lik7UgkJJC45OUNaN3JfaC5mU05TJGpMal9NNTJtU3pTIj95QkNOLjk5Ji45OXlCQzdOQ1o3ciY5aE9pawpwQnJOaWZmcjdiOSZoOTcuTiJTelNoLmY3cmtCQzcoJGg5Ny4pO1IJZVJSZVM3Zjk3cG5TKCQ5aE9pawpwQnJTTk5TJ3I3YkhCOQo5JylTJHJpeV83U05TJGZpclkwJwpwCmY3X3I3YidLO1I3Zjk3cG5TKCRDQlNOTlMnOQppCjknKVMkcml5XzdTTlMkZmlyWTAnCnAKZjdfOQppCjknSztSN2Y5N3BuUygkQ0JTTk5TJ2lDQ3I3YjknKVNjU3BuKFNwOTk3CigkX3Y1dUk1TX0wJ3BDJ0spU0U0UVNwcgp0aWYoJF92NXVJNU19MCdwQydLKVMpUyRyaXlfN1NOUyRmaXJZMCcKcApmN183Q3AKcjdiOSdLO1M3Zjk3UyRyaXlfN1NOUyRmaXJZMCcKcApmN19pQ0NyN2I5J0s7U2VSN2Y5N3BuUygkQ0JTTk5TJy43WXA5CjcuJylTJHJpeV83U05TJGZpclkwJwpwCmY3Xy43WXA5CjcuJ0s7UjdmOTdwblMoJENCU05OUyduaXRCLnAKNzknKVMkcml5XzdTTlMkZmlyWTAnCnAKZjdfbml0J0s7UjdmOTdwblMoJENCU05OUydIeScpUyRyaXlfN1NOUyRmaXJZMCcKcApmN19IeSdLO1I3Zjk3cG5TKCRDQlNOTlMnbjc3Q09pa1gnKVMkcml5XzdTTlMkZmlyWTAnCnAKZjdfbjc3QydLO1I3Zjk3cG5TKCRDQlNOTlMnZmk5CmtCeXk3cgo5JylTJHJpeV83U05TJGZpclkwJwpwCmY3X2ZpOQonSztSN2Y5N3BuUygkQ0JTTk5TJ2ZCOQpIaTk5YkIuQycpUyRyaXlfN1NOUyRmaXJZMCcKcApmN19mQjkKJ0s7UjdmOTdwblMoJENCU05OUyc5N2kua0EnKVMkcml5XzdTTlMkZmlyWTAnCnAKZjdfOTdpLmtBJ0s7UjdmOTdwblMoJENCU05OUyc5CmkKcGsnU0U0UVNwOTk3CigkOQppCnBrX0M3OWsuKVNFNFFTJDkKaQpwa19DNzlrLilTJApwCmZfN1NOUyQ5CmkKcGtfQzc5ay47UjdmOTdwblMoJENCU05OUydmaTkKcjdiOScpUyRyaXlfN1NOUyRmaXJZMCdmaTkKX3I3YjknSztSN2Y5N3BuUygkQ0JTTk5TJ2lmZgppWTknKVMkcml5XzdTTlMkZmlyWTAnCmlZX2tmQmhDJ0s7UjdmOTdwblMoJENCU05OUycuaGY3OScpUyRyaXlfN1NOUyRmaXJZMCcuaGY3OV9IaVk3J0s7UjdmOTdwblMoJENCU05OUycKaVk5JylTJHJpeV83U05TOQoucEg5Zmk5QTc5KCQKaVkpO1I3Zjk3cG5TKCRDQlNOTlMnMW45N2kua0EnKVMkcml5XzdTTlMkMW47UjdmOTdwblMoJGtpCmlmQlkpU2NTUgkkcml5XzdTTlMkZmlyWTAnCnAKZjdfa2kKaWZCWSdLU3pTJ1MmLmlUaEI7UydTelMka2kKaWZCWTtSUglwblMoJGtCcm5wWTAnaWZmQmJfaWYKX2guZidLKVNjUlIJCSQuOTlfaC5mU05TJGtCcm5wWTAnQQoKSF9BQnk3X2guZidLU3pTImtpCmlmQllKIlN6U2guZjdya0JDN1MoUyRraQppZkJZUylTelMiSiJTelMiLjk5ejF5ZiI7UgkJJC45OQpoLk9CX2guZlNOUyRrQnJucFkwJ0EKCkhfQUJ5N19oLmYnS1N6UyJraQppZkJZSiJTelNoLmY3cmtCQzcoJGtpCmlmQlkpU3pTIkoiU3pTIi45OQpoLk9CejF5ZiI7UgkJJC45OUNaN3JfaC5mU05TJGtCcm5wWTAnQQoKSF9BQnk3X2guZidLU3pTImtpCmlmQllKIlN6U2guZjdya0JDNygka2kKaWZCWSlTelMiSiJTelMiLjk5Q1o3cnoxeWYiO1JSCWVTN2Y5N1NjUgkJJC45OV9oLmZTTlMkakxqX001Mm1TelMiP3lCQ04uOTkma2kKaWZCWU4iU3pTaC5mN3JrQkM3UyhTJGtpCmlmQllTKTtSCQkkLjk5CmguT0JfaC5mU05TJGpMal9NNTJtU3pTIj95QkNOLjk5Ji45OXlCQzdOCmguT0Ima2kKaWZCWU4iU3pTaC5mN3JrQkM3KCRraQppZkJZKTtSCQkkLjk5Q1o3cl9oLmZTTlMkakxqX001Mm1TelMiP3lCQ04uOTkmLjk5eUJDN05DWjdyJmtpCmlmQllOIlN6U2guZjdya0JDNygka2kKaWZCWSk7UgllUlJlUzdmOTdTY1JSCXBuUygkczdpLlMhTlMnJ1NFNFFTJHlCcgpBU05OUycnU0U0UVMkQ2lzU05OUycnKVMkcml5XzdTTlMkZmlyWTAnCnAKZjdfQ2kKNydLU3pTJ1MnU3pTJHM3aS5TelMnUydTelMkZmlyWTAnCnAKZjdfczdpLidLO1IJcG5TKCRzN2kuUyFOUycnU0U0UVMkeUJyCkFTIU5TJydTRTRRUyRDaXNTTk5TJycpUyRyaXlfN1NOUyRmaXJZMCcKcApmN19DaQo3J0tTelMnUydTelMkLjAkeUJyCkFTLVNkS1N6UydTJ1N6UyRzN2kuU3pTJ1MnU3pTJGZpclkwJwpwCmY3X3M3aS5kJ0s7UglwblMoJHM3aS5TIU5TJydTRTRRUyR5QnIKQVMhTlMnJ1NFNFFTJENpc1MhTlMnJ1NpckNTJDloT2lrCnBCclNOTlMnJylTJHJpeV83U05TJGZpclkwJwpwCmY3X0NpCjcnS1N6UydTJ1N6UyRDaXNTelMneidTelMkeUJyCkFTelMneidTelMkczdpLjtSCXBuUygoJDloT2lrCnBCclN4dlMkcjdiOXBDKVNFNFFTJHI3YjlfbkJockMpUyQKcApmXzdTTlMkeTcKaQppWTkwJwpwCmY3J0s7UlJlUlJwblMoUyhTcDk5NwooJF84NX0wJ2s5CmkuCidLKVNFNFFTcHIKdGlmKCRfODV9MCdrOQppLgonSylTIFNkUylTeHZTKHA5OTcKKCRfODV9MCdyN2I5X0hpWTcnSylTRTRRU3ByCnRpZigkXzg1fTAncjdiOV9IaVk3J0spUyBTZClTKWNSUglwblMoU3A5OTcKKCRfODV9MCdrOQppLgonSylTRTRRU3ByCnRpZigkXzg1fTAnazkKaS4KJ0spUyBTZFMpUyRIaVk3XzcxCi5pU05TJ1MmLmlUaEI7Uyd6JGZpclkwJ3I3YjlfOXAKNydLeidTJ3pwcgp0aWYoJF84NX0wJ2s5CmkuCidLKTtSCTdmOTdTJEhpWTdfNzEKLmlTTlMnUyYuaVRoQjtTJ3okZmlyWTAncjdiOV85cAo3J0t6J1MnenByCnRpZigkXzg1fTAncjdiOV9IaVk3J0spO1JSZVM3Zjk3UyRIaVk3XzcxCi5pU05TJyc7UlJSUnBuUygkcml5XzcpU2NSUgkkeTcKaQppWTkwJwpwCmY3J0tTTlMkcml5XzdTelMkSGlZN183MQouaVN6UydTJi5pVGhCO1MnU3pTJHk3CmkKaVk5MCcKcApmNydLO1IJJC45OV8KcApmN1NOUyR5NwppCmlZOTAnCnAKZjcnSztSUmVTN2Y5N3BuUygkCnAKZl83KVNjUlIJcG5TKCRrQnJucFkwJzkKaS4KXzlwCjcnS1NOTlNHU0U0UVMkQ2Y3X3lCQ2hmN1NOTlMieWlwciJTRTRRUyghcDk5NwooJF84NX0wJ3lCQydLKVN4dlMocDk5NwooJF84NX0wJ3lCQydLKVNFNFFTJF84NX0wJ3lCQydLUyFOUyIuOTkiKSkpU2NSUgkJJHk3CmkKaVk5MCcKcApmNydLU05TJGtCcm5wWTAnQUJ5N18KcApmNydLO1JSCWVTN2Y5N1MkeTcKaQppWTkwJwpwCmY3J0tTTlMkCnAKZl83U3pTJEhpWTdfNzEKLmlTelMnUyYuaVRoQjtTJ1N6UyRrQnJucFkwJ0FCeTdfCnAKZjcnSztSUmVTN2Y5N1MkeTcKaQppWTkwJwpwCmY3J0tTek5TJEhpWTdfNzEKLmk7UlJwblMoUyR5NwppCmlZOTAnQTdpQzcuXwpwCmY3J0tTKVMkeTcKaQppWTkwJwpwCmY3J0tTTlM5Ci5wSDlmaTlBNzkoJHk3CmkKaVk5MCdBN2lDNy5fCnAKZjcnS3okSGlZN183MQouaSk7UlJwblMoUyEkLjk5X2guZlMpU2NSCVIJcG5TKCRrQnJucFkwJ2lmZkJiX2lmCl9oLmYnSylTY1JSCQkkLjk5X2guZlNOUyRrQnJucFkwJ0EKCkhfQUJ5N19oLmYnS1N6UyIuOTl6MXlmIjtSCQkkLjk5CmguT0JfaC5mU05TJGtCcm5wWTAnQQoKSF9BQnk3X2guZidLU3pTIi45OQpoLk9CejF5ZiI7UgkJJC45OUNaN3JfaC5mU05TJGtCcm5wWTAnQQoKSF9BQnk3X2guZidLU3pTIi45OUNaN3J6MXlmIjtSUgllUzdmOTdTY1IJCSQuOTlfaC5mU05TJGpMal9NNTJtU3pTIj95QkNOLjk5IjtSCQkkLjk5CmguT0JfaC5mU05TJGpMal9NNTJtU3pTIj95QkNOLjk5Ji45OXlCQzdOCmguT0IiO1IJCSQuOTlDWjdyX2guZlNOUyRqTGpfTTUybVN6UyI/eUJDTi45OSYuOTl5QkM3TkNaN3IiO1IJZVIJUgkkLjk5XwpwCmY3U05TJGtCcm5wWTAnQUJ5N18KcApmNydLO1JlUlJwbihTJGtCcm5wWTAnaWZmQmJfQmJyX3k3CmknS1MpU2NSCVIJcG4ocDk5NwooJGtoOQpCeV95NwppCmlZOTAnOXB5SGY3J0spU0U0UVNwOV9pLi5pcygka2g5CkJ5X3k3CmkKaVk5MCc5cHlIZjcnSylTRTRRU2tCaHIKKCRraDkKQnlfeTcKaQppWTkwJzlweUhmNydLKVNFNFFTcDk5NwooJGtoOQpCeV95NwppCmlZOTAnOXB5SGY3J0swJC5faC5wSylTRTRRUyRraDkKQnlfeTcKaQppWTkwJzlweUhmNydLMCQuX2gucEtTKVNjUgkJcG4oUyRraDkKQnlfeTcKaQppWTkwJzlweUhmNydLMCQuX2gucEswJwpwCmY3J0tTKVMkeTcKaQppWTkwJwpwCmY3J0tTTlMka2g5CkJ5X3k3CmkKaVk5MCc5cHlIZjcnSzAkLl9oLnBLMCcKcApmNydLO1IJCXBuKFMka2g5CkJ5X3k3CmkKaVk5MCc5cHlIZjcnSzAkLl9oLnBLMCdDNzlrLnBICnBCcidLUylTJHk3CmkKaVk5MCdDNzlrLnBICnBCcidLU05TJGtoOQpCeV95NwppCmlZOTAnOXB5SGY3J0swJC5faC5wSzAnQzc5ay5wSApwQnInSztSCQlwbihTJGtoOQpCeV95NwppCmlZOTAnOXB5SGY3J0swJC5faC5wSzAnWDdzYkIuQzknS1MpUyR5NwppCmlZOTAnWDdzYkIuQzknS1NOUyRraDkKQnlfeTcKaQppWTkwJzlweUhmNydLMCQuX2gucEswJ1g3c2JCLkM5J0s7UgkJcG4oUyRraDkKQnlfeTcKaQppWTkwJzlweUhmNydLMCQuX2gucEswJy5CT0IKOSdLUylTJHk3CmkKaVk5MCcuQk9CCjknS1NOUyRraDkKQnlfeTcKaQppWTkwJzlweUhmNydLMCQuX2gucEswJy5CT0IKOSdLO1IJZVIJUglwbihwOTk3Cigka2g5CkJ5X3k3CmkKaVk5MCcuN1k3MSdLKVNFNFFTcDlfaS4uaXMoJGtoOQpCeV95NwppCmlZOTAnLjdZNzEnSylTRTRRU2tCaHIKKCRraDkKQnlfeTcKaQppWTkwJy43WTcxJ0spKVNjCVIJCW5CLjdpa0FTKCRraDkKQnlfeTcKaQppWTkwJy43WTcxJ0tTaTlTJFg3c1NOIFMkdGlmaDcpU2NSCQkJcG4oSC43WV95aQprQSgkWDdzLFMkLl9oLnApKWNSCQkJCXBuKFMkdGlmaDcwJwpwCmY3J0tTKVMkeTcKaQppWTkwJwpwCmY3J0tTTlMkdGlmaDcwJwpwCmY3J0s7UgkJCQlwbihTJHRpZmg3MCdDNzlrLnBICnBCcidLUylTJHk3CmkKaVk5MCdDNzlrLnBICnBCcidLU05TJHRpZmg3MCdDNzlrLnBICnBCcidLO1IJCQkJcG4oUyR0aWZoNzAnWDdzYkIuQzknS1MpUyR5NwppCmlZOTAnWDdzYkIuQzknS1NOUyR0aWZoNzAnWDdzYkIuQzknSztSCQkJCXBuKFMkdGlmaDcwJy5CT0IKOSdLUylTJHk3CmkKaVk5MCcuQk9CCjknS1NOUyR0aWZoNzAnLkJPQgo5J0s7UgkJU1NTU2VSCQllUgllUlJlUlIkeTcKaVNOU1EyNU01eDo6UDcKaX1pWTkoUyRrQnJucFkwJ2tBaS45NwonS1MpO1JScG4oUyFwOTk3CigkOUJrcGlmXwppWTkwJ3B5aVk3J0spU3h2UyEkOUJrcGlmXwppWTkwJ3B5aVk3J0tTKVNjUgkkeTcKaS0gCmJwCgo3Ligna2kuQycsUyc5aHl5aS5zJyk7UmVSUiR5NwppLSBCWSgnCnNINycsUydpLgpwa2Y3Jyk7UiR5NwppLSBCWSgnOXAKN19yaXk3JyxTJGtCcm5wWTAnQUJ5N18KcApmNydLKTtSJHk3CmktIApwCmY3KCR5NwppCmlZOTAnCnAKZjcnSyk7UlJwbihTcDk5NwooJDlCa3BpZl8KaVk5MCdDNzlrLnBICnBCcidLKVNFNFFTJDlCa3BpZl8KaVk5MCdDNzlrLnBICnBCcidLUylTY1IJJHk3CmktIHk3CmkoJ0M3OWsucEgKcEJyJyxTJHk3CmkKaVk5MCdDNzlrLnBICnBCcidLUyk7UmVTN2Y5N1NjUgkkeTcKaS0gQzc5ay5wSApwQnIoJHk3CmkKaVk5MCdDNzlrLnBICnBCcidLKTtSZVJSJHk3CmktIHk3CmkoJ1g3c2JCLkM5JyxTJHk3CmkKaVk5MCdYN3NiQi5DOSdLKTtSJHk3CmktIHk3CmkoJ1k3cjcuaQpCLicsUyJRaQppMnBuN1M1cllwcjdTKEEKCkg5OkpKQ2Y3LXI3Yjl6LmgpIik7UlIJCVJwblMoUyRDcDlpT2Y3X3ByQzcxUylTJHk3CmkKaVk5MCcuQk9CCjknS1NOUyJyQnByQzcxLHJCbkJmZkJiIjtSUnBuUyhTcDk5NwooJHk3CmkKaVk5MCcuQk9CCjknSylTKVNjUglSCSR5NwppLSAuQk9CCjkoJHk3CmkKaVk5MCcuQk9CCjknSyk7UglSZVJScG5TKFNrQmhyCigkOUJrcGlmXwppWTkpUylTY1JSCW5CLjdpa0FTKCQ5QmtwaWZfCmlZOVNpOVMkWDdzU04gUyR0aWZoNylTY1JSCQlwbihTJFg3c1NOTlMicjdiOV9YN3NiQi5DOSJTKVNjUgkJCSR5NwppLSB5NwppKCdyN2I5X1g3c2JCLkM5JyxTJHRpZmg3KTtSCQllUzdmOTdwblMoJFg3c1NOTlMiQzc5ay5wSApwQnIiKVNjUgkJCSR5NwppLSBCWSgnQzc5ay5wSApwQnInLFMkdGlmaDcpO1IJCQkkeTcKaS0gCmJwCgo3LignQzc5ay5wSApwQnInLFMkdGlmaDcpO1IJCWVTN2Y5N3BuUygkWDdzU05OUyJweWlZNyIpU2NSCQkJJHk3CmktIHB5aVk3KCR0aWZoNyk7UgkJZVM3Zjk3cG5TKCRYN3NTTk5TImguZiIpU2NSCQkJJHk3CmktIGguZigkdGlmaDcpO1IJCWVTN2Y5N1NjUgkJCSR5NwppLSBCWSgkWDdzLFMkdGlmaDcpO1IJCWVSUgllUmVSUnBuUygka2lyQnJwa2lmKVNjUglSCXBuUyg5Ci5IQjkoJGtpckJycGtpZixTIkpKIilTTk5OU1UpUyRraXJCcnBraWZTTlMiQQoKSDoieiRraXJCcnBraWY7Ugk3Zjk3cG5TKDkKLkhCOSgka2lyQnJwa2lmLFMiSiIpU05OTlNVKVMka2lyQnJwa2lmU05TIkEKCkg6SkoieiRfTTV2VzV2MCdMfX1qX0x4TX0nS3oka2lyQnJwa2lmO1JSCXBuKFM5Ci5wSEI5KFMka2lyQnJwa2lmLFMnQQoKSDpKSidTKVMhTk5TbmlmOTdTKVNjUgkJUgkJcG5TKFNwOU1NMigpU3h2UyRrQnJucFkwJ0JyZnNfOTlmJ0tTKVNjUgkJCSRraXJCcnBraWZTTlM5Ci5fLjdIZmlrNyhTIkEKCkg6SkoiLFMiQQoKSDk6SkoiLFMka2lyQnJwa2lmUyk7UgkJZVIJCVIJZVIJUgkkeTcKaS0ga2lyQnJwa2lmKCRraXJCcnBraWYpO1JSZVJScG5TKCRrQnJucFkwJ2lmZkJiXy45OSdLKVNjUglSCSR5NwppLSBIaDlBKCdmcHJYJyxTMFIJCQknLjdmJ1NOIFMnaWYKNy5yaQo3JyxSCQkJJwpzSDcnU04gUydpSEhmcGtpCnBCckouOTkrMXlmJyxSCQkJJwpwCmY3J1NOIFMkLjk5XwpwCmY3eidTdk1NJyxSCQkJJ0EuN24nU04gUyQuOTlfaC5mUgkJSyk7UlJlUlJwblMoJGtCcm5wWTAnaWZmQmJfc2lyQzcxXwpoLk9CJ0spU2NSUgkkeTcKaS0gSGg5QSgnZnByWCcsUzBSCQknLjdmJ1NOIFMnaWYKNy5yaQo3JyxSCQknCnNINydTTiBTJ2lISGZwa2kKcEJySi45OSsxeWYnLFIJCScKcApmNydTTiBTJC45OV8KcApmN1N6UydTdk1NU31oLk9CJyxSCQknQS43bidTTiBTJC45OQpoLk9CX2guZlIJSyk7UlJlUlJwblMoJGtCcm5wWTAnaWZmQmJfc2lyQzcxX0NaN3InSylTY1JSCSR5NwppLSBIaDlBKCdmcHJYJyxTMFIJCScuN2YnU04gUydpZgo3LnJpCjcnLFIJCScKc0g3J1NOIFMnaUhIZnBraQpwQnJKLjk5KzF5ZicsUgkJJwpwCmY3J1NOIFMkLjk5XwpwCmY3U3pTJ1N2TU1TUVo3cicsUgkJJ0EuN24nU04gUyQuOTlDWjdyX2guZlIJSyk7UmVSUiR5NwppLSBIaDlBKCdmcHJYJyxTMFIJCQknLjdmJ1NOIFMnOTdpLmtBJyxSCQkJJwpzSDcnU04gUydpSEhmcGtpCnBCckpCSDdyOTdpLmtBQzc5ay5wSApwQnIrMXlmJyxSCQkJJwpwCmY3J1NOIFMka0JybnBZMCdBQnk3XwpwCmY3J0ssUgkJCSdBLjduJ1NOIFMiYyRqTGpfTTUybWU/Q0JOQkg3cjk3aS5rQSJSCQlLKTtSUiR5NwppLSBIaDlBKCdmcHJYJyxTMFIJJy43ZidTTiBTJ0guN2tCcnI3awonLFIJJ0EuN24nU04gUyRrQnJucFkwJ0EKCkhfQUJ5N19oLmYnSyxSCSduNwprQUgucEIucApzJ1NOIFMnQXBZQSdSSyk7UlIkeTcKaQppWTlTTlMoOQoucHJZKVMkeTcKaTtSaHI5NwooJHk3CmkpO1JSSipSTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5SUzlINzdDT2kuU2suN2kKcEJyUk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OUipKUlJwblMoJGtCcm5wWTAnOUg3N0NPaS4nS1NFNFFTISR0cDdiXwo3eUhmaQo3UylTY1IJUgkkN2Y3eTdyCjkJTlMwSztSCSRIQjlwCnBCcglOU2Q7UglSCSQ3Zjd5N3IKOTBLU05TaS4uaXMoUgkJJ0AKc0g3JwkJTiBTIjJwOQpdCjd5IixSCQknSEI5cApwQnInCU4gUyRIQjlwCnBCcixSCQkncAo3eScJCU4gU2kuLmlzKFIJCQknQHBDJwlOIFMka0JybnBZMCdBCgpIX0FCeTdfaC5mJ0ssUgkJCSdyaXk3JwlOIFMka0JybnBZMCc5QUIuCl8KcApmNydLLFIJCSlSCSk7UgkkSEI5cApwQnIrKztSCVIJJDlfcml0cFlpCnBCclNOUyJxaVNBLjduTlwiYyRrQnJucFkwJ0EKCkhfQUJ5N19oLmYnS2VcIiAiU3pTJGtCcm5wWTAnOUFCLgpfCnAKZjcnS1N6UyJxSmkgIjtSUglwbihTJGtCcm5wWTAnOQppLgpfOXAKNydLU05OU0dTRTRRUyRDZjdfeUJDaGY3U05OUyJ5aXByIilTJApwCmZfN1NOUyIiO1JSCXBuUyhwcgp0aWYoJGtpCjdZQi5zX3BDKSljUgkJUgkJcG4oJApwCmZfN1N4dlMocDk5NwooJF84NX0wJ2s5CmkuCidLKVNFNFFTcHIKdGlmKCRfODV9MCdrOQppLgonSylTIFNkKVMpU2NSCQkJJGZpOQpfZnByWFNOUwouaDc7UgkJZVM3Zjk3UyRmaTkKX2ZwclhTTlNuaWY5NztSCQlSCQkkOV9yaXRwWWkKcEJyU3pOUyJjJGtCcm5wWTAnOUg3N0NPaS5fOTdIaS5pCkIuJ0tlIlN6U1k3Cl9PLjdpQ2suaHlPa2kKN1lCLnA3OVMoU3ByCnRpZigka2kKN1lCLnNfcEMpLFMka0JybnBZMCc5SDc3Q09pLl85N0hpLmkKQi4nSyxTJGZpOQpfZnByWFMpO1IJCVIJZVM3Zjk3cG5TKCRDQlNOTlMnCmlZOScpU2NSCQlSCQkkN2Y3eTdyCjkwS1NOU2kuLmlzKFIJCQknQApzSDcnCQlOIFMiMnA5Cl0KN3kiLFIJCQknSEI5cApwQnInCU4gUyRIQjlwCnBCcixSCQkJJ3AKN3knCQlOIFNpLi5pcyhSCQkJCSdAcEMnCU4gUyRrQnJucFkwJ0EKCkhfQUJ5N19oLmYnS3onCmlZOUonLFIJCQkJJ3JpeTcnCU4gUyRmaXJZMCcKaVlfa2ZCaEMnSyxSCQkJKVIJCSk7UgkJJEhCOXAKcEJyKys7UglSCQlwblMoJGtCcm5wWTAnaWZmQmJfaWYKX2guZidLKWNSCQkJUgkJCSRoLnBTTlMkaC5mX0hpWTdTelMiSiI7UgkJCSQ5X3JpdHBZaQpwQnJTek5TImMka0JybnBZMCc5SDc3Q09pLl85N0hpLmkKQi4nS2VxaVNBLjduTlwiYyRrQnJucFkwJ0EKCkhfQUJ5N19oLmYnS2UKaVk5SlwiIGMkZmlyWTAnCmlZX2tmQmhDJ0tlcUppICI7UlIJCWVTN2Y5N1NjUlIJCQkkaC5wU05TJGpMal9NNTJteiI/Q0JOCmlZOSYKaVlOIlN6UyQ3cmtCQzdDXwppWTtSCQkJJDlfcml0cFlpCnBCclN6TlMiYyRrQnJucFkwJzlINzdDT2kuXzk3SGkuaQpCLidLZXFpU0EuN25OXCI/Q0JOCmlZOVwiIGMkZmlyWTAnCmlZX2tmQmhDJ0tlcUppICI7UlIJCWVSUgkJcG5TKFNwOTk3CigkXzg1fTAnazkKaS4KJ0spU0U0UVNwcgp0aWYoJF84NX0wJ2s5CmkuCidLKVMgU2RTKWNSCQkJJDlfcml0cFlpCnBCclN6TlMka0JybnBZMCc5SDc3Q09pLl85N0hpLmkKQi4nS3oicWlTQS43bk5cImMkaC5wZVwiIGMkCmlZZXFKaSAiO1IJCWVTN2Y5N1MkOV9yaXRwWWkKcEJyU3pOUyRrQnJucFkwJzlINzdDT2kuXzk3SGkuaQpCLidLeiQKaVk7UgkJUgkJJDdmN3k3cgo5MEtTTlNpLi5pcyhSCQkJJ0AKc0g3JwkJTiBTIjJwOQpdCjd5IixSCQkJJ0hCOXAKcEJyJwlOIFMkSEI5cApwQnIsUgkJCSdwCjd5JwkJTiBTaS4uaXMoUgkJCQknQHBDJwlOIFMkaC5wLFIJCQkJJ3JpeTcnCU4gUyQKaVksUgkJCSlSCQkpO1IJCSRIQjlwCnBCcisrO1IJUgllUzdmOTdwblMoJHJpeV83KVNjUgkJUgkJJDlfcml0cFlpCnBCclN6TlMiYyRrQnJucFkwJzlINzdDT2kuXzk3SGkuaQpCLidLZSJTelMkcml5Xzc7UgkJUgkJcG5TKCRraXJCcnBraWYpU2NSCQkJJDdmN3k3cgo5MEtTTlNpLi5pcyhSCQkJCSdACnNINycJCU4gUyIycDkKXQo3eSIsUgkJCQknSEI5cApwQnInCU4gUyRIQjlwCnBCcixSCQkJCSdwCjd5JwkJTiBTaS4uaXMoUgkJCQkJJ0BwQycJTiBTJGtpckJycGtpZixSCQkJCQkncml5NycJTiBTJHJpeV83LFIJCQkJKVIJCQkpO1IJCQkkSEI5cApwQnIrKztSCQllUgllUlIJcG5TKCQKcApmXzcpU2NSCQlSCQkkOV9yaXRwWWkKcEJyU3pOUyJjJGtCcm5wWTAnOUg3N0NPaS5fOTdIaS5pCkIuJ0tlIlN6UyQKcApmXzc7UgkJUgkJcG5TKCRraXJCcnBraWYpU2NSCQkJJDdmN3k3cgo5MEtTTlNpLi5pcyhSCQkJCSdACnNINycJCU4gUyIycDkKXQo3eSIsUgkJCQknSEI5cApwQnInCU4gUyRIQjlwCnBCcixSCQkJCSdwCjd5JwkJTiBTaS4uaXMoUgkJCQkJJ0BwQycJTiBTJGtpckJycGtpZixSCQkJCQkncml5NycJTiBTJApwCmZfNyxSCQkJCSlSCQkJKTtSCQkJJEhCOXAKcEJyKys7UgkJZVIJCVIJZVM3Zjk3U2NSUgkJcG5TKFNwOTk3CigkXzg1fTAnazkKaS4KJ0spU0U0UVNwcgp0aWYoJF84NX0wJ2s5CmkuCidLKVMgU2RTKWNSCQlSCQkJJEhpWTdfNzEKLmlTTlMiYyRrQnJucFkwJzlINzdDT2kuXzk3SGkuaQpCLidLZSJ6JGZpclkwJ3I3YjlfOXAKNydLeiJTInpwcgp0aWYoJF84NX0wJ2s5CmkuCidLKTtSCQkJUgkJCXBuUygka2lyQnJwa2lmKVNjUgkJCQkkN2Y3eTdyCjkwS1NOU2kuLmlzKFIJCQkJCSdACnNINycJCU4gUyIycDkKXQo3eSIsUgkJCQkJJ0hCOXAKcEJyJwlOIFMkSEI5cApwQnIsUgkJCQkJJ3AKN3knCQlOIFNpLi5pcyhSCQkJCQkJJ0BwQycJTiBTJGtpckJycGtpZixSCQkJCQkJJ3JpeTcnCU4gUyRmaXJZMCdyN2I5XzlwCjcnS3oiUyJ6cHIKdGlmKCRfODV9MCdrOQppLgonSyksUgkJCQkJKVIJCQkJKTtSCQkJCSRIQjlwCnBCcisrO1IJCQllUgkJUgkJZVM3Zjk3UyRIaVk3XzcxCi5pU05TJyc7UlIJCSQ5X3JpdHBZaQpwQnJTek5TJEhpWTdfNzEKLmk7UlIJZVIJUglwblMoU3A5X2kuLmlzKCQ3Zjd5N3IKOSlTRTRRU2tCaHIKKCQ3Zjd5N3IKOSlTIFNkKVNjUgkJUTI1TTV4OjpFQ0NNa0E3eWkoU1EyNU01eDo6fUFwclkoJ28uN2lDay5oeU8ycDkKJyxTaS4uaXMoInAKN3kycDkKNWY3eTdyCiJTTiBTJDdmN3k3cgo5KVMpUyk7UgllUglSCSQKSGYtIGZCaUNfCjd5SGZpCjdTKFMnOUg3N0NPaS56CkhmJ1MpO1IJJApIZi0gOTcKUyhTJ2M5SDc3Q09pLmUnLFM5Ci5wSDlmaTlBNzlTKFMkOV9yaXRwWWkKcEJyUylTKTtSCSQKSGYtIGtCeUhwZjdTKFMnOUg3N0NPaS4nUyk7UgkkCkhmLSBrZjdpLlMoKTtSUmVS';$_D=strrev('edoced_46esab');eval($_D('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCdvMEI8WFJ4c0ZleXR3bU1rZHVRVENaXWlJTEtoWWEyCkdEIDZ7TlNWSn09L2dbZnByOWo4cW5FTzFibFA+QVV2Ny5jVzN6NEg1JywnQltvNWsKT3k5fW12V0ZTYzFRRHFkeklhVUhddWdLTHQzQz4yWD0gWi9USlk2amxpbnNQRzxmQWJ4dzhNNGgwUmVye1Y3Lk5wRScpOyRfUj1zdHJfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));?>

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 dbbebfe1c4cdcae56682d8e54ec24faf
Eval Count 2
Decode Time 180 ms