Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

$_F=__FILE__;$_X='P2U8P1U0VVJCKlI2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2..

Decoded Output download

?><?php
/*
=====================================================
 DataLife Engine - by SoftNews Media Group 
-----------------------------------------------------
 https://dle-news.ru/
-----------------------------------------------------
 Copyright (c) 2004-2023 SoftNews Media Group
=====================================================
 This code is protected by copyright
=====================================================
 File: pm.php
-----------------------------------------------------
 Use: PM
=====================================================
*/

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

if( !$is_logged ) {
	die ( "Hacking attempt!" );
}

if( !isset($_REQUEST['user_hash']) OR !$_REQUEST['user_hash'] OR $_REQUEST['user_hash'] != $dle_login_hash ) {

	die ("error");
	
}

if( $config['allow_comments_wysiwyg'] < 1) {
	
	$parse = new ParseFilter();
	
} else {

	$allowed_tags = array('div[align|style|class|data-commenttime|data-commentuser|contenteditable]', 'span[style|class|data-userurl|data-username|contenteditable]', 'p[align|style|class]', 'pre[class]', 'code', 'br', 'strong', 'em', 'ul', 'li', 'ol', 'b', 'u', 'i', 's', 'hr');
	
	if( $user_group[$member_id['user_group']]['allow_url'] ) $allowed_tags[] = 'a[href|target|style|class]';
	if( $user_group[$member_id['user_group']]['allow_image'] ) $allowed_tags[] = 'img[style|class|src]';
	
	$parse = new ParseFilter($allowed_tags);
	
}
	
$parse->safe_mode = true;
$parse->remove_html = false;
$parse->allow_video = false;
$parse->allow_media = false;
$parse->disable_leech = true;
$parse->allow_url = $user_group[$member_id['user_group']]['allow_url'];
$parse->allow_image = $user_group[$member_id['user_group']]['allow_image'];

if ($_POST['action'] == "send_pm") {

	if(!$user_group[$member_id['user_group']]['allow_pm'] ) {
		echo "{\"error\":\" {$lang['pm_err_1']}\"}";
		die();
	}
	
	if( $user_group[$member_id['user_group']]['max_pm_day'] ) {
	
		$this_time = time() - 86400;
		$db->query( "DELETE FROM " . PREFIX . "_sendlog WHERE date < '$this_time' AND flag='1'" );
	
		$row = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_sendlog WHERE user = '{$member_id['name']}' AND flag='1'");
	
		if( $row['count'] >=  $user_group[$member_id['user_group']]['max_pm_day'] ) {
			$lang['pm_err_10'] = str_replace('{max}', $user_group[$member_id['user_group']]['max_pm_day'], $lang['pm_err_10']);
			echo "{\"error\":\" {$lang['pm_err_10']}\"}";
			die();
		}
	}
	
	$name = $db->safesql( htmlspecialchars(strip_tags( trim( $_POST['name'] ) ), ENT_QUOTES, $config['charset'] ) );
	$subj = $db->safesql( htmlspecialchars(strip_tags( trim( $_POST['subj'] ) ), ENT_QUOTES, $config['charset'] ) );

	if( dle_strlen( $_POST['comments'], $config['charset'] ) > 65000 ) $_POST['comments'] = "";
	
	$stop = "";
	
	if( $config['allow_comments_wysiwyg'] > 0 ) {
			
		if( strlen( $_POST['comments'] ) < 8 ) $_POST['comments'] = "";
		
		$parse->wysiwyg = true;
			
		$comments = $db->safesql( $parse->BB_Parse( $parse->process( trim( $_POST['comments'] ) ) ) );
	
	} else {
		
		if ($config['allow_comments_wysiwyg'] == "-1") $parse->allowbbcodes = false;
		
		$comments = $db->safesql( $parse->BB_Parse( $parse->process( trim( $_POST['comments'] ) ), false ) );
	}
	
	if(!$name OR !$subj OR !$comments) $stop .= $lang['pm_err_2'];
	
	if( dle_strlen( $subj, $config['charset'] ) > 250 ) {
		$stop .= $lang['pm_err_3'];
	}
	
	if( dle_strlen( $name, $config['charset'] ) > 40 ) {
		$stop .= $lang['reg_err_3'];
	}
	
	if( $parse->not_allowed_tags ) {
		
		$stop .= "<li>" .$lang['news_err_33']. "</li>";
	}

	if( $parse->not_allowed_text ) {
		
		$stop .= "<li>" . $lang['news_err_37']. "</li>";
	}
	
	if( $user_group[$member_id['user_group']]['captcha_pm'] ) {

		if ($config['allow_recaptcha']) {

			$sec_code = 1;
			$sec_code_session = false;

			if ( $_POST['g_recaptcha_response'] ) {
			
					$reCaptcha = new ReCaptcha($config['recaptcha_private_key']);

					$resp = $reCaptcha->verifyResponse(get_ip(), $_POST['g_recaptcha_response'] );
			
			        if ($resp === null OR !$resp->success) {

						$stop .= "<li>" . $lang['recaptcha_fail'] . "</li>";

			        }

			} else $stop .= "<li>" . $lang['recaptcha_fail'] . "</li>";

		} elseif( $_REQUEST['sec_code'] != $_SESSION['sec_code_session'] OR !$_SESSION['sec_code_session'] ) $stop .= "<li>" . $lang['news_err_30'] . "</li>";
	
	}

	if( $user_group[$member_id['user_group']]['pm_question'] ) {
	
		if ( intval($_SESSION['question']) ) {
	
			$answer = $db->super_query("SELECT id, answer FROM " . PREFIX . "_question WHERE id='".intval($_SESSION['question'])."'");
	
			$answers = explode( "
", $answer['answer'] );
	
			$pass_answer = false;
	
			if( function_exists('mb_strtolower') ) {
				$question_answer = trim(mb_strtolower($_POST['question_answer'], $config['charset']));
			} else {
				$question_answer = trim(strtolower($_POST['question_answer']));
			}
	
			if( count($answers) AND $question_answer ) {
				foreach( $answers as $answer ){

					if( function_exists('mb_strtolower') ) {
						$answer = trim(mb_strtolower($answer, $config['charset']));
					} else {
						$answer = trim(strtolower($answer));
					}

					if( $answer AND $answer == $question_answer ) {
						$pass_answer	= true;
						break;
					}
				}
			}

			if( !$pass_answer ) $stop .= "<li>".$lang['reg_err_24']."</li>";

		} else $stop .= "<li>".$lang['reg_err_24']."</li>";
	
	}
	
	if( !$stop AND $user_group[$member_id['user_group']]['spampmfilter'] ) {
		
		$row = $db->super_query( "SELECT * FROM " . PREFIX . "_spam_log WHERE ip = '{$_IP}'" );
		$member_id['email'] = $db->safesql($member_id['email']);

		if ( !$row['id'] OR !$row['email'] ) {
	
			$sfs = new StopSpam($config['spam_api_key'], $user_group[$member_id['user_group']]['spampmfilter'] );
			$args = array('ip' => $_IP, 'email' => $member_id['email']);
	
			if ($sfs->is_spammer( $args )) {
	
				if ( !$row['id'] ) {
					$db->query( "INSERT INTO " . PREFIX . "_spam_log (ip, is_spammer, email, date) VALUES ('{$_IP}','1', '{$member_id['email']}', '{$_TIME}')" );
				} else {
					$db->query( "UPDATE " . PREFIX . "_spam_log SET is_spammer='1', email='{$member_id['email']}' WHERE id='{$row['id']}'" );
				}
	
				$stop .= $lang['reg_err_34'];
	
			} else {
				
				if ( !$row['id'] ) {
					$db->query( "INSERT INTO " . PREFIX . "_spam_log (ip, is_spammer, email, date) VALUES ('{$_IP}','0', '{$member_id['email']}', '{$_TIME}')" );
				} else {
					$db->query( "UPDATE " . PREFIX . "_spam_log SET email='{$member_id['email']}' WHERE id='{$row['id']}'" );
				}
				
			}
		
		} else {
	
			if ($row['is_spammer']) {
	
				$stop .= $lang['reg_err_34'];
			
			}
	
		}
	
	}
	
	if( !$stop ) {
		
		$db->query( "SELECT email, name, user_id, pm_all, user_group FROM " . USERPREFIX . "_users WHERE name = '{$name}'" );
		
		if( !$db->num_rows() ) $stop .= $lang['pm_err_4'];
		
		$row = $db->get_row();
		$db->free();
		
		if(!$user_group[$row['user_group']]['allow_pm'] ) {
			echo "{\"error\":\" {$lang['pm_err_11']}\"}";
			die();
		}
	
	}
	
	if( !$stop ) {

		$db->query( "SELECT id FROM " . USERPREFIX . "_ignore_list WHERE user='{$row['user_id']}' AND user_from='{$member_id['name']}'" );
		if( $db->num_rows() ) $stop .= $lang['pm_ignored'];
		$db->free();

	}
	
	if( !$stop AND ($user_group[$row['user_group']]['max_pm'] AND $row['pm_all'] >= $user_group[$row['user_group']]['max_pm']) and $member_id['user_group'] != 1 ) {
		$stop .= $lang['pm_err_8'];
	}
	
	if( !$stop ) {
		
		unset($_SESSION['question']);
		unset($_SESSION['sec_code_session']);
		
		$time = time();
		$member_id['name'] = $db->safesql($member_id['name']);

		if( isset($_REQUEST['outboxcopy']) AND intval($_REQUEST['outboxcopy']) ) {
			
			$db->query( "INSERT INTO " . USERPREFIX . "_pm (subj, text, user, user_from, date, pm_read, folder) values ('$subj', '$comments', '{$row['user_id']}', '{$member_id['name']}', '{$time}', '0', 'outbox')" );
			$send_id = $db->insert_id();

			$db->query( "UPDATE " . USERPREFIX . "_users SET pm_all=pm_all+1 WHERE user_id='{$member_id['user_id']}'" );
		
		} else $send_id = 0;
		
		$db->query( "INSERT INTO " . USERPREFIX . "_pm (subj, text, user, user_from, date, pm_read, folder, sendid) values ('{$subj}', '{$comments}', '{$row['user_id']}', '{$member_id['name']}', '{$time}', '0', 'inbox', '{$send_id}')" );
		$newpmid = $db->insert_id();
		
		$db->query( "UPDATE " . USERPREFIX . "_users SET pm_all=pm_all+1, pm_unread=pm_unread+1  WHERE user_id='{$row['user_id']}'" );
		
		if( isset( $_GET['replyid'] ) ) $replyid = intval( $_GET['replyid'] ); else $replyid = false;
		
		if( $replyid ) {
			
			$db->query( "UPDATE " . USERPREFIX . "_pm SET reply=1 WHERE id= '{$replyid}'" );
		
		}

		if( $user_group[$member_id['user_group']]['max_pm_day'] ) { 

			$db->query( "INSERT INTO " . PREFIX . "_sendlog (user, date, flag) values ('{$member_id['name']}', '{$time}', '1')" );

		}
		
		if( $config['mail_pm'] ) {
			
			$mail_template = $db->super_query( "SELECT * FROM " . PREFIX . "_email WHERE name='pm' LIMIT 0,1" );
			$mail = new dle_mail( $config, $mail_template['use_html'] );
			
			if (strpos($config['http_home_url'], "//") === 0) $slink = "https:".$config['http_home_url'];
			elseif (strpos($config['http_home_url'], "/") === 0) $slink = "https://".$_SERVER['HTTP_HOST'].$config['http_home_url'];
			else $slink = $config['http_home_url'];
			
			$slink = $slink . "index.php?do=pm&doaction=readpm&pmid=" . $newpmid;
			
			$mail_template['template'] = stripslashes( $mail_template['template'] );
			$mail_template['template'] = str_replace( "{%username%}", $row['name'], $mail_template['template'] );
			$mail_template['template'] = str_replace( "{%date%}", langdate( "j F Y H:i", $_TIME ), $mail_template['template'] );
			$mail_template['template'] = str_replace( "{%fromusername%}", $member_id['name'], $mail_template['template'] );
			$mail_template['template'] = str_replace( "{%title%}", strip_tags( stripslashes( $subj ) ), $mail_template['template'] );
			$mail_template['template'] = str_replace( "{%url%}", $slink, $mail_template['template'] );
			
			$body = str_replace( '
', "", $comments );
			$body = str_replace( '
', "", $body );
			
			$body = stripslashes( stripslashes( $body ) );
			$body = str_replace( "<br />", "
", $body );
			$body = str_replace( "<br>", "
", $body );
			$body = strip_tags( $body );
			
			if( $mail_template['use_html'] ) {
				$body = str_replace("
", "<br>", $body );
			}
			
			$mail_template['template'] = str_replace( "{%text%}", $body, $mail_template['template'] );
			
			$mail->send( $row['email'], $lang['mail_pm'], $mail_template['template'] );
		
		}
		
		echo "{\"success\": \"{$lang['pm_sendok']}\"}";
		die();
			
	} else {
		echo "{\"error\": \"<ul>{$stop}</ul>\"}";
		die();
	}
	

} elseif ($_GET['action'] == "show_send") {

	$name = htmlspecialchars(strip_tags( trim( urldecode($_GET['name'] ) ) ), ENT_QUOTES, $config['charset'] );
	
	if(!$user_group[$member_id['user_group']]['allow_pm'] ) {
		echo "<div id='dlesendpmpopup' title='{$lang['send_pm']} {$name}' style='display:none'><script>DLEalert ( '{$lang['pm_err_1']}', dle_info );$('#dlesendpmpopup').remove();</script></div>";
		die();
	}
	
	if( $user_group[$member_id['user_group']]['max_pm_day'] ) {
	
		$this_time = time() - 86400;
		$db->query( "DELETE FROM " . PREFIX . "_sendlog WHERE date < '$this_time' AND flag='1'" );
	
		$row = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_sendlog WHERE user = '{$member_id['name']}' AND flag='1'");
	
		if( $row['count'] >=  $user_group[$member_id['user_group']]['max_pm_day'] ) {
			$lang['pm_err_10'] = str_replace('{max}', $user_group[$member_id['user_group']]['max_pm_day'], $lang['pm_err_10']);
			echo "<div id='dlesendpmpopup' title='{$lang['send_pm']} {$name}' style='display:none'><script>DLEalert ( '{$lang['pm_err_10']}', dle_info );$('#dlesendpmpopup').remove();</script></div>";
			die();
		}
	}

	$user_group[$member_id['user_group']]['allow_up_image'] = false;
	$user_group[$member_id['user_group']]['video_comments'] = false;
	$user_group[$member_id['user_group']]['media_comments'] = false;
	$text = "";
	$comments_image_uploader_loaded = false;
	
	$id = 0;

	$response = "<input type=\"hidden\" name=\"pm_name\" id=\"pm_name\" value=\"{$name}\">";
	$response .= "<div style=\"padding-bottom:5px;\"><input type=\"text\" name=\"pm_subj\" id=\"pm_subj\" class=\"quick-edit-text\" placeholder=\"{$lang['send_pm_1']}\" /></div>";
	
	if( $config['allow_comments_wysiwyg'] < 1) {

		include_once (DLEPlugins::Check(ENGINE_DIR . '/ajax/bbcode.php'));

		if ( $config['allow_comments_wysiwyg'] == 0 ) $params = "onfocus=\"setNewField(this.name, document.getElementById( 'dle-send-pm' ) )\"";
		else $params = "";
		
		$box_class = "bb-editor";


	} else {
		
		$params = "class=\"ajaxwysiwygeditor\"";
		$box_class = "wseditor dlecomments-editor";

		if ($config['allow_comments_wysiwyg'] == "1") {	

			if( $user_group[$member_id['user_group']]['allow_url'] ) $link_icon = "'insertLink', 'dleleech',"; else $link_icon = "";
			
			if ($user_group[$member_id['user_group']]['allow_image']) {
				if($config['bbimages_in_wysiwyg']) $link_icon .= "'dleimg',"; else $link_icon .= "'insertImage',";
			}
			
		$bb_code = <<<HTML
<script>

      $('.ajaxwysiwygeditor').froalaEditor({
        dle_root: dle_root,
        width: '100%',
        height: '220',
        zIndex: 9990,
        language: '{$lang['language_code']}',
		direction: '{$lang['direction']}',

		htmlAllowedTags: ['div', 'span', 'p', 'br', 'strong', 'em', 'ul', 'li', 'ol', 'b', 'u', 'i', 's', 'a', 'img'],
		htmlAllowedAttrs: ['class', 'href', 'alt', 'src', 'style', 'target', 'data-username', 'data-userurl', 'data-commenttime', 'data-commentuser', 'contenteditable'],
		pastePlain: true,
        imagePaste: false,
        imageUpload: false,
		quickInsertEnabled: false,
		videoInsertButtons: ['videoBack', '|', 'videoByURL'],
		
        toolbarButtonsXS: ['bold', 'italic', 'underline', 'strikeThrough', '|', 'align', 'formatOL', 'formatUL', '|', {$link_icon} 'emoticons', '|', 'dlehide', 'dlequote', 'dlespoiler'],

        toolbarButtonsSM: ['bold', 'italic', 'underline', 'strikeThrough', '|', 'align', 'formatOL', 'formatUL', '|', {$link_icon} 'emoticons', '|', 'dlehide', 'dlequote', 'dlespoiler'],

        toolbarButtonsMD: ['bold', 'italic', 'underline', 'strikeThrough', '|', 'align', 'formatOL', 'formatUL', '|', {$link_icon} 'emoticons', '|', 'dlehide', 'dlequote', 'dlespoiler'],

        toolbarButtons: ['bold', 'italic', 'underline', 'strikeThrough', '|', 'align', 'formatOL', 'formatUL', '|', {$link_icon} 'emoticons', '|', 'dlehide', 'dlequote', 'dlespoiler']

      });
	  
</script>
HTML;

		} else {

			if( $user_group[$member_id['user_group']]['allow_url'] ) $link_icon = "link dleleech "; else $link_icon = "";
			
			$mobile_link_icon = $link_icon;
			
			if ($user_group[$member_id['user_group']]['allow_image']) {
				if($config['bbimages_in_wysiwyg']) $link_icon .= "| dleimage "; else $link_icon .= "| dleimage ";
			}
			
			if( @file_exists( ROOT_DIR . '/templates/'. $config['skin'].'/editor.css' ) ) {
				
				$editor_css = "templates/{$config['skin']}/editor.css?v={$config['cache_id']}";
					
			} else $editor_css = "engine/editor/css/content.css?v={$config['cache_id']}";
			
		$bb_code = <<<HTML

<script>

setTimeout(function() {

	tinymce.remove('textarea.ajaxwysiwygeditor');

	tinyMCE.baseURL = dle_root + 'engine/editor/jscripts/tiny_mce';
	tinyMCE.suffix = '.min';

	tinymce.init({
		selector: 'textarea.ajaxwysiwygeditor',
		language : "{$lang['language_code']}",
		directionality: '{$lang['direction']}',
		element_format : 'html',
		width : "100%",
		height : 240,

		deprecation_warnings: false,
		promotion: false,
		cache_suffix: '?v={$config['cache_id']}',
		
		plugins: "link image lists quickbars dlebutton codesample",
		
		draggable_modal: true,
		toolbar_mode: 'floating',
		contextmenu: false,
		relative_urls : false,
		convert_urls : false,
		remove_script_host : false,
		browser_spellcheck: true,
		extended_valid_elements : "div[align|style|class|data-commenttime|data-commentuser|contenteditable],span[id|data-username|data-userurl|align|style|class|contenteditable],b/strong,i/em,u,s,p[align|style|class|contenteditable],pre[class],code",
		quickbars_insert_toolbar: '',
		quickbars_selection_toolbar: 'bold italic underline | dlequote dlespoiler dlehide',
		
	    formats: {
	      bold: {inline: 'b'},
	      italic: {inline: 'i'},
	      underline: {inline: 'u', exact : true},
	      strikethrough: {inline: 's', exact : true}
	    },

		elementpath: false,
		paste_as_text: true,
		paste_data_images: false,
		statusbar : false,
		branding: false,

		dle_root : dle_root,
		
		menubar: false,
		link_default_target: '_blank',
		editable_class: 'contenteditable',
		noneditable_class: 'noncontenteditable',
		image_dimensions: false,
		
		toolbar: "bold italic underline | alignleft aligncenter alignright | bullist numlist | dleemo {$link_icon} | dlequote codesample dlespoiler dlehide",
		
		mobile: {
			toolbar_mode: "sliding",
			toolbar: "bold italic underline | alignleft aligncenter alignright | bullist numlist | {$mobile_link_icon} dlequote dlespoiler dlehide",
			
		},

		setup: (editor) => {

			const onCompeteAction = (autocompleteApi, rng, value) => {
				editor.selection.setRng(rng);
				editor.insertContent(value);
				autocompleteApi.hide();
			};

			editor.ui.registry.addAutocompleter('getusers', {
			ch: '@',
			minChars: 1,
			columns: 1,
			onAction: onCompeteAction,
			fetch: (pattern) => {

				return new Promise((resolve) => {

					$.get(dle_root + "engine/ajax/controller.php?mod=find_tags", { mode: 'users', term: pattern, skin: dle_skin, user_hash: dle_login_hash }, function(data){
						if ( data.found ) {
							resolve(data.items);
						}
					}, "json");

				});
			}
			});
		},

		content_css : dle_root + "{$editor_css}"

	});

	$('#dlesendpmpopup').dialog( "option", "position", { my: "center", at: "center", of: window } );
	
}, 100);

</script>
HTML;


		}
	}

	$response .= <<<HTML
	<div class="{$box_class}">
		{$bb_code}
		<textarea name="pm_text" id="pm_text" style="width:100%;height:250px;" {$params}></textarea>
	</div>
	<div style="padding-top:5px;">
		<label class="pm_outbox_copy"><input type="checkbox" name="outboxcopy" id="outboxcopy" value="1">{$lang['send_pm_2']}</label>
	</div>
HTML;

	if( $user_group[$member_id['user_group']]['pm_question'] ) {
		$question = $db->super_query("SELECT id, question FROM " . PREFIX . "_question ORDER BY RAND() LIMIT 1");
	
		$_SESSION['question'] = $question['id'];
	
		$question = htmlspecialchars( stripslashes( $question['question'] ), ENT_QUOTES, $config['charset'] );
		
		$response .= <<<HTML
	<div id="dle-question" style="padding-top:5px;">{$question}</div>
	<div><input type="text" name="pm_question_answer" id="pm_question_answer" placeholder="{$lang['question_hint']}" class="quick-edit-text"></div>
HTML;
	
	}

	if( $user_group[$member_id['user_group']]['captcha_pm'] ) {
	
		if ( $config['allow_recaptcha'] ) {

			if( $config['allow_recaptcha'] == 2) {
				
				$response .= <<<HTML
		<input type="hidden" name="pm-recaptcha-response" id="pm-recaptcha-response" data-key="{$config['recaptcha_public_key']}" value="">
		<script>
		if ( typeof grecaptcha === "undefined"  ) {
		
			$.getScript( "https://www.google.com/recaptcha/api.js?render={$config['recaptcha_public_key']}");
	
		}
		</script>
HTML;

			} elseif($config['allow_recaptcha'] == 3 )  {
				
				$response .= <<<HTML
		<div id="dle_pm_recaptcha" style="padding-top:5px;height:78px;"></div>
		<script>
		<!--
		var recaptcha_widget;
		
		if ( typeof hcaptcha === "undefined"  ) {
		
			$.getScript( "https://js.hcaptcha.com/1/api.js?hl={$lang['language_code']}&render=explicit").done(function () {
			
				var setIntervalID = setInterval(function () {
					if (window.hcaptcha) {
						clearInterval(setIntervalID);
						recaptcha_widget = hcaptcha.render('dle_pm_recaptcha', {'sitekey' : '{$config['recaptcha_public_key']}', 'theme':'{$config['recaptcha_theme']}'});
					};
				}, 300);
			});
	
		} else {
			recaptcha_widget = hcaptcha.render('dle_pm_recaptcha', {'sitekey' : '{$config['recaptcha_public_key']}', 'theme':'{$config['recaptcha_theme']}'});
		}
		//-->
		</script>
HTML;
			} elseif ($config['allow_recaptcha'] == 4) {

				$response .= <<<HTML
		<div id="dle_pm_recaptcha" style="padding-top:5px;height:78px;"></div>
		<script>
		<!--
		var recaptcha_widget;
		
		if ( typeof turnstile === "undefined"  ) {
		
			$.getScript( "https://challenges.cloudflare.com/turnstile/v0/api.js?compat=recaptcha&render=explicit").done(function () {
			
				var setIntervalID = setInterval(function () {
					if (window.turnstile) {
						clearInterval(setIntervalID);
						recaptcha_widget = turnstile.render('#dle_pm_recaptcha', {'sitekey' : '{$config['recaptcha_public_key']}', 'theme':'{$config['recaptcha_theme']}', 'language':'{$lang['language_code']}'});
					};
				}, 300);
			});
	
		} else {
			recaptcha_widget = turnstile.render('#dle_pm_recaptcha', {'sitekey' : '{$config['recaptcha_public_key']}', 'theme':'{$config['recaptcha_theme']}', 'language':'{$lang['language_code']}'});
		}
		//-->
		</script>
HTML;
			} else {
	
				$response .= <<<HTML
		<div id="dle_pm_recaptcha" style="padding-top:5px;height:78px;"></div>
		<script>
		<!--
		var recaptcha_widget;
		
		if ( typeof grecaptcha === "undefined"  ) {
		
			$.getScript( "https://www.google.com/recaptcha/api.js?hl={$lang['language_code']}&render=explicit").done(function () {
			
				var setIntervalID = setInterval(function () {
					if (window.grecaptcha) {
						clearInterval(setIntervalID);
						recaptcha_widget = grecaptcha.render('dle_pm_recaptcha', {'sitekey' : '{$config['recaptcha_public_key']}', 'theme':'{$config['recaptcha_theme']}'});
					};
				}, 300);
			});
	
		} else {
			recaptcha_widget = grecaptcha.render('dle_pm_recaptcha', {'sitekey' : '{$config['recaptcha_public_key']}', 'theme':'{$config['recaptcha_theme']}'});
		}
		//-->
		</script>
HTML;
	
			}
			
		} else {
	
			$response .= <<<HTML
	<div style="padding-top:5px;" class="dle-captcha"><a onclick="reload_pm(); return false;" title="{$lang['reload_code']}" href="#"><span id="dle-captcha_pm"><img src="{$config['http_home_url']}engine/modules/antibot/antibot.php" alt="{$lang['reload_code']}" width="160" height="80" /></span></a>
	<input class="ui-widget-content ui-corner-all sec-code" type="text" name="sec_code" id="sec_code_pm" placeholder="{$lang['captcha_hint']}">
	</div>
	<script>
	<!--
	function reload_pm () {
	
		var rndval = new Date().getTime(); 
	
		document.getElementById('dle-captcha_pm').innerHTML = '<img src="{$config['http_home_url']}engine/modules/antibot/antibot.php?rndval=' + rndval + '" width="160" height="80" alt="" />';
		document.getElementById('sec_code_pm').value = '';
	};
	//-->
	</script>
HTML;
	
		}
	}	
	

	echo "<div id=\"dlesendpmpopup\" title=\"{$lang['send_pm']} {$name}\" style=\"display:none\"><form  method=\"post\" name=\"dle-send-pm\" id=\"dle-send-pm\">{$response}</form></div>";
	die();

} else {

	function del_tpl( $matches=array() ) {
		global $tpl;

		$tpl->copy_template = $matches[1];
	}
	
	$tpl = new dle_template( );
	$tpl->dir = ROOT_DIR . '/templates/' . $config['skin'];
	define( 'TEMPLATE_DIR', $tpl->dir );
	
	$name = htmlspecialchars(strip_tags( trim( $_POST['name'] ) ), ENT_QUOTES, $config['charset'] );
	$subj = htmlspecialchars(strip_tags( trim( $_POST['subj'] ) ), ENT_QUOTES, $config['charset'] );
	
	if( $config['allow_comments_wysiwyg'] < 1) {
		
		if ($config['allow_comments_wysiwyg'] == "-1") $parse->allowbbcodes = false;
		
		$text = $parse->BB_Parse( $parse->process( $_POST['text'] ), false );

	} else {
		
		$parse->wysiwyg = true;

		$text = $parse->BB_Parse( $parse->process( $_POST['text'] ) );
	}
	
	$tpl->load_template( 'pm.tpl' );
	
	preg_replace_callback( "'\[readpm\](.*?)\[/readpm\]'is", "del_tpl", $tpl->copy_template );
	
			if( strpos( $tpl->copy_template, "[xfvalue_" ) !== false ) $xfound = true;
			else $xfound = false;
			
			if( $xfound ) { 
	
				$xfields = xfieldsload( true );
	
				$xfieldsdata = xfieldsdataload( $member_id['xfields'] );
					
				foreach ( $xfields as $value ) {
					$preg_safe_name = preg_quote( $value[0], "'" );
						
					if( $value[5] != 1 OR $member_id['user_group'] == 1 OR ($is_logged AND $member_id['name'] == $row['user_from']) ) {
						if( empty( $xfieldsdata[$value[0]] ) ) {
							$tpl->copy_template = preg_replace( "'\[xfgiven_{$preg_safe_name}\](.*?)\[/xfgiven_{$preg_safe_name}\]'is", "", $tpl->copy_template );
						} else {
							$tpl->copy_template = preg_replace( "'\[xfgiven_{$preg_safe_name}\](.*?)\[/xfgiven_{$preg_safe_name}\]'is", "", $tpl->copy_template );
						}
						$tpl->set( "[xfvalue_{$value[0]}]", stripslashes( $xfieldsdata[$value[0]] ) );
					} else {
						$tpl->copy_template = preg_replace( "'\[xfgiven_{$preg_safe_name}\](.*?)\[/xfgiven_{$preg_safe_name}\]'is", "", $tpl->copy_template );
						$tpl->copy_template = preg_replace( "'\[xfvalue_{$preg_safe_name}\]'i", "", $tpl->copy_template );
					}
				}
			}
	
			$tpl->set( '{author}', $member_id['name'] );
			$tpl->set( '[reply]', "<a href=\"#\">" );
			$tpl->set( '[/reply]', "</a>" );
			$tpl->set( '[del]', "<a href=\"#\">" );
			$tpl->set( '[/del]', "</a>" );
			$tpl->set( '[ignore]', "<a href=\"#\">" );
			$tpl->set( '[/ignore]', "</a>" );
			$tpl->set( '[complaint]', "<a href=\"#\">" );
			$tpl->set( '[/complaint]', "</a>" );

			$tpl->set( '[online]', "" );
			$tpl->set( '[/online]', "" );
			$tpl->set_block( "'\[offline\](.*?)\[/offline\]'si", "" );
	
			if( $member_id['signature'] and $user_group[$member_id['user_group']]['allow_signature'] ) {
					
				$tpl->set_block( "'\[signature\](.*?)\[/signature\]'si", "" );
				$tpl->set( '{signature}', stripslashes( $member_id['signature'] ) );
				
			} else {
				$tpl->set_block( "'\[signature\](.*?)\[/signature\]'si", "" );
			}
	
			if( $user_group[$member_id['user_group']]['icon'] ) $tpl->set( '{group-icon}', "<img src=\"" . $user_group[$member_id['user_group']]['icon'] . "\" border=\"0\" alt=\"\" />" );
			else $tpl->set( '{group-icon}', "" );
	
			$tpl->set( '{group-name}', $user_group[$member_id['user_group']]['group_prefix'].$user_group[$member_id['user_group']]['group_name'].$user_group[$member_id['user_group']]['group_suffix'] );
			$tpl->set( '{news-num}', intval( $member_id['news_num'] ) );
			$tpl->set( '{comm-num}', intval( $member_id['comm_num'] ) );

			if ( count(explode("@", $member_id['foto'])) == 2 ) {
				$tpl->set( '{foto}', 'https://www.gravatar.com/avatar/' . md5(trim($member_id['foto'])) . '?s=' . intval($user_group[$member_id['user_group']]['max_foto']) );
			
			} else {
			
				if( $member_id['foto'] ) {
					
					if (strpos($member_id['foto'], "//") === 0) $avatar = "http:".$member_id['foto']; else $avatar = $member_id['foto'];
		
					$avatar = @parse_url ( $avatar );

					if( $avatar['host'] ) {
						
						$tpl->set( '{foto}', $member_id['foto'] );
						
					} else $tpl->set( '{foto}', $config['http_home_url'] . "uploads/fotos/" . $member_id['foto'] );
					
				} else $tpl->set( '{foto}', "{THEME}/dleimages/noavatar.png" );
		
			}
	
			$tpl->set( '{date}', "--" );
	
			if($member_id['reg_date'] ) $tpl->set( '{registration}', langdate( "j.m.Y", $member_id['reg_date'] ) );
			else $tpl->set( '{registration}', '--' );

			$tpl->set( '{subj}', $subj );
			$tpl->set( '{text}', stripslashes($text) );
	
	$tpl->compile( 'content' );
	$tpl->clear();
	
	$tpl->result['content'] = preg_replace ( "#\[hide(.*?)\]#i", "", $tpl->result['content'] );
	$tpl->result['content'] = str_ireplace( "[/hide]", "", $tpl->result['content']);
	$tpl->result['content'] = str_replace( '{THEME}', $config['http_home_url'] . 'templates/' . $config['skin'], $tpl->result['content'] );

	$tpl->result['content'] = "<div id=\"blind-animation\" style=\"display:none\">".$tpl->result['content']."<div>";
	
	echo $tpl->result['content'];
}

?>

Did this file decode correctly?

Original Code

$_F=__FILE__;$_X='P2U8P1U0VVJCKlI2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NlJnaFt2W2IuTm5nRVpULlpuZy1nbGFnRHBOdkNuS1lnMG5pLltnL3FwOVVnUi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tUmc0dnZVWTpCQmlHbi1abktZcnE5QlItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVJnPXBVYXEuVDR2Zyh5KWdqICBJLWogakFnRHBOdkNuS1lnMG5pLltnL3FwOVVSNjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjZSZ100LllneXBpbmcuWWdVcXB2bnl2bmlnbGFneXBVYXEuVDR2UjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2Umc+LkduOmdVMXJVNFVSLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1SZwpZbjpnezBSNjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjZSKkJSUi5OKCFpbk4uWm5pKCdobV1tYlE+RUVDL1FDRScpKWczUgk0bltpbnEoZyI4XV17QjdyN2dJIEFnPnBxbC5paW5aImcpO1IJNG5baW5xZyhnJ2JweVt2LnBaOmdyckJyckInZyk7UglpLm4oZyI4W3lvLlpUZ1t2dm4xVXYhImcpO1JXUlIuTihnISQuWV9HcFRUbmlnKWczUglpLm5nKGciOFt5by5aVGdbdnZuMVV2ISJnKTtSV1JSLk4oZyEuWVludigkX3dFegpFRF1KJzlZbnFfNFtZNCdjKWdQd2chJF93RXoKRURdSic5WW5xXzRbWTQnY2dQd2ckX3dFegpFRF1KJzlZbnFfNFtZNCdjZyE2ZyRpR25fR3BULlpfNFtZNGcpZzNSUglpLm5nKCJucXFwcSIpO1IJUldSUi5OKGckeXBaTi5USidbR0dwS195cDExblp2WV9LYVkuS2FUJ2NnPGc3KWczUglSCSRVW3FZbmc2Z1puS2d7W3FZbj4uR3ZucSgpO1IJUldnbkdZbmczUlIJJFtHR3BLbmlfdltUWWc2Z1txcVthKCdpLk9KW0cuVFp8WXZhR258eUdbWVl8aVt2Wy15cDExblp2di4xbnxpW3ZbLXlwMTFuWnY5WW5xfHlwWnZuWnZuaS52W2xHbmMnLGcnWVVbWkpZdmFHbnx5R1tZWXxpW3ZbLTlZbnE5cUd8aVt2Wy05WW5xWlsxbnx5cFp2blp2bmkudltsR25jJyxnJ1VKW0cuVFp8WXZhR258eUdbWVljJyxnJ1Vxbkp5R1tZWWMnLGcneXBpbicsZydscScsZydZdnFwWlQnLGcnbjEnLGcnOUcnLGcnRy4nLGcncEcnLGcnbCcsZyc5JyxnJy4nLGcnWScsZyc0cScpO1IJUgkuTihnJDlZbnFfVHFwOVVKJDFuMWxucV8uaUonOVlucV9UcXA5VSdjY0onW0dHcEtfOXFHJ2NnKWckW0dHcEtuaV92W1RZSmNnNmcnW0o0cW5OfHZbcVRudnxZdmFHbnx5R1tZWWMnO1IJLk4oZyQ5WW5xX1RxcDlVSiQxbjFsbnFfLmlKJzlZbnFfVHFwOVUnY2NKJ1tHR3BLXy4xW1RuJ2NnKWckW0dHcEtuaV92W1RZSmNnNmcnLjFUSll2YUdufHlHW1lZfFlxeWMnO1IJUgkkVVtxWW5nNmdabktne1txWW4+Lkd2bnEoJFtHR3BLbmlfdltUWSk7UglSV1IJUiRVW3FZbi1lWVtObl8xcGluZzZndnE5bjtSJFVbcVluLWVxbjFwT25fNHYxR2c2Z05bR1luO1IkVVtxWW4tZVtHR3BLX08uaW5wZzZnTltHWW47UiRVW3FZbi1lW0dHcEtfMW5pLltnNmdOW0dZbjtSJFVbcVluLWVpLllbbEduX0dubnk0ZzZndnE5bjtSJFVbcVluLWVbR0dwS185cUdnNmckOVlucV9UcXA5VUokMW4xbG5xXy5pSic5WW5xX1RxcDlVJ2NjSidbR0dwS185cUcnYztSJFVbcVluLWVbR0dwS18uMVtUbmc2ZyQ5WW5xX1RxcDlVSiQxbjFsbnFfLmlKJzlZbnFfVHFwOVUnY2NKJ1tHR3BLXy4xW1RuJ2M7UlIuTmcoJF97UERdSidbeXYucFonY2c2NmciWW5aaV9VMSIpZzNSUgkuTighJDlZbnFfVHFwOVVKJDFuMWxucV8uaUonOVlucV9UcXA5VSdjY0onW0dHcEtfVTEnY2cpZzNSCQlueTRwZyIzXCJucXFwcVwiOlwiZzMkR1taVEonVTFfbnFxXzcnY1dcIlciO1IJCWkubigpO1IJV1IJUgkuTihnJDlZbnFfVHFwOVVKJDFuMWxucV8uaUonOVlucV9UcXA5VSdjY0onMVt0X1UxX2lbYSdjZylnM1IJUgkJJHY0Lllfdi4xbmc2Z3YuMW4oKWctZ3NGSSAgO1IJCSRpbC1lNTlucWEoZyJoRWJFXUVnPndQMGciZ3Jne3dFPlFYZ3JnIl9ZblppR3BUZ0g4RXdFZ2lbdm5nPGcnJHY0Lllfdi4xbidnbUNoZ05HW1Q2JzcnImcpO1IJUgkJJHFwS2c2ZyRpbC1lWTlVbnFfNTlucWEoIkRFYkU9XWc9UApDXSgqKWdbWWd5cDladmc+d1AwZyJncmd7d0U+UVhncmciX1luWmlHcFRnSDhFd0VnOVlucWc2ZyczJDFuMWxucV8uaUonWlsxbidjVydnbUNoZ05HW1Q2JzcnIik7UglSCQkuTihnJHFwS0oneXA5WnYnY2dlNmdnJDlZbnFfVHFwOVVKJDFuMWxucV8uaUonOVlucV9UcXA5VSdjY0onMVt0X1UxX2lbYSdjZylnM1IJCQkkR1taVEonVTFfbnFxXzcgJ2NnNmdZdnFfcW5VR1t5bignMzFbdFcnLGckOVlucV9UcXA5VUokMW4xbG5xXy5pSic5WW5xX1RxcDlVJ2NjSicxW3RfVTFfaVthJ2MsZyRHW1pUSidVMV9ucXFfNyAnYyk7UgkJCW55NHBnIjNcIm5xcXBxXCI6XCJnMyRHW1pUSidVMV9ucXFfNyAnY1dcIlciO1IJCQlpLm4oKTtSCQlXUglXUglSCSRaWzFuZzZnJGlsLWVZW05uWTVHKGc0djFHWVVueS5bR3k0W3FZKFl2cS5VX3ZbVFkoZ3ZxLjEoZyRfe1BEXUonWlsxbidjZylnKSxnRUNdX3oKUF1FRCxnJHlwWk4uVEoneTRbcVludidjZylnKTtSCSRZOWxMZzZnJGlsLWVZW05uWTVHKGc0djFHWVVueS5bR3k0W3FZKFl2cS5VX3ZbVFkoZ3ZxLjEoZyRfe1BEXUonWTlsTCdjZylnKSxnRUNdX3oKUF1FRCxnJHlwWk4uVEoneTRbcVludidjZylnKTtSUgkuTihnaUduX1l2cUduWihnJF97UERdSid5cDExblp2WSdjLGckeXBaTi5USid5NFtxWW52J2NnKWdlZ0YyICAgZylnJF97UERdSid5cDExblp2WSdjZzZnIiI7UglSCSRZdnBVZzZnIiI7UglSCS5OKGckeXBaTi5USidbR0dwS195cDExblp2WV9LYVkuS2FUJ2NnZWcgZylnM1IJCQlSCQkuTihnWXZxR25aKGckX3tQRF1KJ3lwMTFuWnZZJ2NnKWc8Z3NnKWckX3tQRF1KJ3lwMTFuWnZZJ2NnNmciIjtSCQlSCQkkVVtxWW4tZUthWS5LYVRnNmd2cTluO1IJCQlSCQkkeXAxMW5adllnNmckaWwtZVlbTm5ZNUcoZyRVW3FZbi1lTU1fe1txWW4oZyRVW3FZbi1lVXFweW5ZWShndnEuMShnJF97UERdSid5cDExblp2WSdjZylnKWcpZyk7UglSCVdnbkdZbmczUgkJUgkJLk5nKCR5cFpOLlRKJ1tHR3BLX3lwMTFuWnZZX0thWS5LYVQnY2c2NmciLTciKWckVVtxWW4tZVtHR3BLbGx5cGluWWc2Z05bR1luO1IJCVIJCSR5cDExblp2WWc2ZyRpbC1lWVtOblk1RyhnJFVbcVluLWVNTV97W3FZbihnJFVbcVluLWVVcXB5bllZKGd2cS4xKGckX3tQRF1KJ3lwMTFuWnZZJ2NnKWcpLGdOW0dZbmcpZyk7UglXUglSCS5OKCEkWlsxbmdQd2chJFk5bExnUHdnISR5cDExblp2WSlnJFl2cFVncjZnJEdbWlRKJ1UxX25xcV9qJ2M7UglSCS5OKGdpR25fWXZxR25aKGckWTlsTCxnJHlwWk4uVEoneTRbcVludidjZylnZWdqMiBnKWczUgkJJFl2cFVncjZnJEdbWlRKJ1UxX25xcV9BJ2M7UglXUglSCS5OKGdpR25fWXZxR25aKGckWlsxbixnJHlwWk4uVEoneTRbcVludidjZylnZWdJIGcpZzNSCQkkWXZwVWdyNmckR1taVEoncW5UX25xcV9BJ2M7UglXUglSCS5OKGckVVtxWW4tZVpwdl9bR0dwS25pX3ZbVFlnKWczUgkJUgkJJFl2cFVncjZnIjxHLmUiZ3IkR1taVEonWm5LWV9ucXFfQUEnY3JnIjxCRy5lIjtSCVdSUgkuTihnJFVbcVluLWVacHZfW0dHcEtuaV92bnR2ZylnM1IJCVIJCSRZdnBVZ3I2ZyI8Ry5lImdyZyRHW1pUSidabktZX25xcV9BZidjcmciPEJHLmUiO1IJV1IJUgkuTihnJDlZbnFfVHFwOVVKJDFuMWxucV8uaUonOVlucV9UcXA5VSdjY0oneVtVdnk0W19VMSdjZylnM1JSCQkuTmcoJHlwWk4uVEonW0dHcEtfcW55W1V2eTRbJ2MpZzNSUgkJCSRZbnlfeXBpbmc2Zzc7UgkJCSRZbnlfeXBpbl9ZbllZLnBaZzZnTltHWW47UlIJCQkuTmcoZyRfe1BEXUonVF9xbnlbVXZ5NFtfcW5ZVXBaWW4nY2cpZzNSCQkJUgkJCQkJJHFuPVtVdnk0W2c2Z1puS2d3bj1bVXZ5NFsoJHlwWk4uVEoncW55W1V2eTRbX1VxLk9bdm5fb25hJ2MpO1JSCQkJCQkkcW5ZVWc2ZyRxbj1bVXZ5NFstZU9ucS5OYXduWVVwWlluKFRudl8uVSgpLGckX3tQRF1KJ1RfcW55W1V2eTRbX3FuWVVwWlluJ2NnKTtSCQkJUgkJCWdnZ2dnZ2dnLk5nKCRxbllVZzY2NmdaOUdHZ1B3ZyEkcW5ZVS1lWTl5eW5ZWSlnM1JSCQkJCQkJJFl2cFVncjZnIjxHLmUiZ3JnJEdbWlRKJ3FueVtVdnk0W19OWy5HJ2NncmciPEJHLmUiO1JSCQkJZ2dnZ2dnZ2dXUlIJCQlXZ25HWW5nJFl2cFVncjZnIjxHLmUiZ3JnJEdbWlRKJ3FueVtVdnk0W19OWy5HJ2NncmciPEJHLmUiO1JSCQlXZ25HWW4uTihnJF93RXoKRURdSidZbnlfeXBpbidjZyE2ZyRfREVERFFQQ0onWW55X3lwaW5fWW5ZWS5wWidjZ1B3ZyEkX0RFRERRUENKJ1lueV95cGluX1luWVkucFonY2cpZyRZdnBVZ3I2ZyI8Ry5lImdyZyRHW1pUSidabktZX25xcV9BICdjZ3JnIjxCRy5lIjtSCVIJV1JSCS5OKGckOVlucV9UcXA5VUokMW4xbG5xXy5pSic5WW5xX1RxcDlVJ2NjSidVMV81OW5Zdi5wWidjZylnM1IJUgkJLk5nKGcuWnZPW0coJF9ERUREUVBDSic1OW5Zdi5wWidjKWcpZzNSCVIJCQkkW1pZS25xZzZnJGlsLWVZOVVucV81OW5xYSgiREViRT1dZy5pLGdbWllLbnFnPndQMGciZ3Jne3dFPlFYZ3JnIl81OW5Zdi5wWmdIOEV3RWcuaTYnInIuWnZPW0coJF9ERUREUVBDSic1OW5Zdi5wWidjKXIiJyIpO1IJUgkJCSRbWllLbnFZZzZnbnRVR3BpbihnIlxaIixnJFtaWUtucUonW1pZS25xJ2NnKTtSCVIJCQkkVVtZWV9bWllLbnFnNmdOW0dZbjtSCVIJCQkuTihnTjlaeXYucFpfbnQuWXZZKCcxbF9ZdnF2cEdwS25xJylnKWczUgkJCQkkNTluWXYucFpfW1pZS25xZzZndnEuMSgxbF9ZdnF2cEdwS25xKCRfe1BEXUonNTluWXYucFpfW1pZS25xJ2MsZyR5cFpOLlRKJ3k0W3FZbnYnYykpO1IJCQlXZ25HWW5nM1IJCQkJJDU5bll2LnBaX1taWUtucWc2Z3ZxLjEoWXZxdnBHcEtucSgkX3tQRF1KJzU5bll2LnBaX1taWUtucSdjKSk7UgkJCVdSCVIJCQkuTihneXA5WnYoJFtaWUtucVkpZ21DaGckNTluWXYucFpfW1pZS25xZylnM1IJCQkJTnBxblt5NChnJFtaWUtucVlnW1lnJFtaWUtucWcpM1JSCQkJCQkuTihnTjlaeXYucFpfbnQuWXZZKCcxbF9ZdnF2cEdwS25xJylnKWczUgkJCQkJCSRbWllLbnFnNmd2cS4xKDFsX1l2cXZwR3BLbnEoJFtaWUtucSxnJHlwWk4uVEoneTRbcVludidjKSk7UgkJCQkJV2duR1luZzNSCQkJCQkJJFtaWUtucWc2Z3ZxLjEoWXZxdnBHcEtucSgkW1pZS25xKSk7UgkJCQkJV1JSCQkJCQkuTihnJFtaWUtucWdtQ2hnJFtaWUtucWc2NmckNTluWXYucFpfW1pZS25xZylnM1IJCQkJCQkkVVtZWV9bWllLbnEJNmd2cTluO1IJCQkJCQlscW5bbztSCQkJCQlXUgkJCQlXUgkJCVdSUgkJCS5OKGchJFVbWVlfW1pZS25xZylnJFl2cFVncjZnIjxHLmUiciRHW1pUSidxblRfbnFxX2pJJ2NyIjxCRy5lIjtSUgkJV2duR1luZyRZdnBVZ3I2ZyI8Ry5lInIkR1taVEoncW5UX25xcV9qSSdjciI8QkcuZSI7UglSCVdSCVIJLk4oZyEkWXZwVWdtQ2hnJDlZbnFfVHFwOVVKJDFuMWxucV8uaUonOVlucV9UcXA5VSdjY0onWVVbMVUxTi5Hdm5xJ2NnKWczUgkJUgkJJHFwS2c2ZyRpbC1lWTlVbnFfNTlucWEoZyJERWJFPV1nKmc+d1AwZyJncmd7d0U+UVhncmciX1lVWzFfR3BUZ0g4RXdFZy5VZzZnJzMkX1F7VyciZyk7UgkJJDFuMWxucV8uaUonbjFbLkcnY2c2ZyRpbC1lWVtOblk1RygkMW4xbG5xXy5pSiduMVsuRydjKTtSUgkJLk5nKGchJHFwS0onLmknY2dQd2chJHFwS0onbjFbLkcnY2cpZzNSCVIJCQkkWU5ZZzZnWm5LZ0R2cFVEVVsxKCR5cFpOLlRKJ1lVWzFfW1UuX29uYSdjLGckOVlucV9UcXA5VUokMW4xbG5xXy5pSic5WW5xX1RxcDlVJ2NjSidZVVsxVTFOLkd2bnEnY2cpO1IJCQkkW3FUWWc2Z1txcVthKCcuVSdnNmVnJF9ReyxnJ24xWy5HJ2c2ZWckMW4xbG5xXy5pSiduMVsuRydjKTtSCVIJCQkuTmcoJFlOWS1lLllfWVVbMTFucShnJFtxVFlnKSlnM1IJUgkJCQkuTmcoZyEkcXBLSicuaSdjZylnM1IJCQkJCSRpbC1lNTlucWEoZyJRQ0RFd11nUUNdUGciZ3Jne3dFPlFYZ3JnIl9ZVVsxX0dwVGcoLlUsZy5ZX1lVWzExbnEsZ24xWy5HLGdpW3ZuKWdrbWIKRURnKCczJF9Re1cnLCc3JyxnJzMkMW4xbG5xXy5pSiduMVsuRydjVycsZyczJF9dUTBFVycpImcpO1IJCQkJV2duR1luZzNSCQkJCQkkaWwtZTU5bnFhKGciCntobV1FZyJncmd7d0U+UVhncmciX1lVWzFfR3BUZ0RFXWcuWV9ZVVsxMW5xNic3JyxnbjFbLkc2JzMkMW4xbG5xXy5pSiduMVsuRydjVydnSDhFd0VnLmk2JzMkcXBLSicuaSdjVyciZyk7UgkJCQlXUglSCQkJCSRZdnBVZ3I2ZyRHW1pUSidxblRfbnFxX0FJJ2M7UglSCQkJV2duR1luZzNSCQkJCVIJCQkJLk5nKGchJHFwS0onLmknY2cpZzNSCQkJCQkkaWwtZTU5bnFhKGciUUNERXddZ1FDXVBnImdyZ3t3RT5RWGdyZyJfWVVbMV9HcFRnKC5VLGcuWV9ZVVsxMW5xLGduMVsuRyxnaVt2bilna21iCkVEZygnMyRfUXtXJywnICcsZyczJDFuMWxucV8uaUonbjFbLkcnY1cnLGcnMyRfXVEwRVcnKSJnKTtSCQkJCVdnbkdZbmczUgkJCQkJJGlsLWU1OW5xYShnIgp7aG1dRWciZ3Jne3dFPlFYZ3JnIl9ZVVsxX0dwVGdERV1nbjFbLkc2JzMkMW4xbG5xXy5pSiduMVsuRydjVydnSDhFd0VnLmk2JzMkcXBLSicuaSdjVyciZyk7UgkJCQlXUgkJCQlSCQkJV1IJCVIJCVdnbkdZbmczUglSCQkJLk5nKCRxcEtKJy5ZX1lVWzExbnEnYylnM1IJUgkJCQkkWXZwVWdyNmckR1taVEoncW5UX25xcV9BSSdjO1IJCQlSCQkJV1IJUgkJV1IJUglXUglSCS5OKGchJFl2cFVnKWczUgkJUgkJJGlsLWU1OW5xYShnIkRFYkU9XWduMVsuRyxnWlsxbixnOVlucV8uaSxnVTFfW0dHLGc5WW5xX1RxcDlVZz53UDBnImdyZwpERXd7d0U+UVhncmciXzlZbnFZZ0g4RXdFZ1pbMW5nNmcnMyRaWzFuVyciZyk7UgkJUgkJLk4oZyEkaWwtZVo5MV9xcEtZKClnKWckWXZwVWdyNmckR1taVEonVTFfbnFxX0knYztSCQlSCQkkcXBLZzZnJGlsLWVUbnZfcXBLKCk7UgkJJGlsLWVOcW5uKCk7UgkJUgkJLk4oISQ5WW5xX1RxcDlVSiRxcEtKJzlZbnFfVHFwOVUnY2NKJ1tHR3BLX1UxJ2NnKWczUgkJCW55NHBnIjNcIm5xcXBxXCI6XCJnMyRHW1pUSidVMV9ucXFfNzcnY1dcIlciO1IJCQlpLm4oKTtSCQlXUglSCVdSCVIJLk4oZyEkWXZwVWcpZzNSUgkJJGlsLWU1OW5xYShnIkRFYkU9XWcuaWc+d1AwZyJncmcKREV3e3dFPlFYZ3JnIl8uVFpwcW5fRy5ZdmdIOEV3RWc5WW5xNiczJHFwS0onOVlucV8uaSdjVydnbUNoZzlZbnFfTnFwMTYnMyQxbjFsbnFfLmlKJ1pbMW4nY1cnImcpO1IJCS5OKGckaWwtZVo5MV9xcEtZKClnKWckWXZwVWdyNmckR1taVEonVTFfLlRacHFuaSdjO1IJCSRpbC1lTnFubigpO1JSCVdSCVIJLk4oZyEkWXZwVWdtQ2hnKCQ5WW5xX1RxcDlVSiRxcEtKJzlZbnFfVHFwOVUnY2NKJzFbdF9VMSdjZ21DaGckcXBLSidVMV9bR0cnY2dlNmckOVlucV9UcXA5VUokcXBLSic5WW5xX1RxcDlVJ2NjSicxW3RfVTEnYylnW1ppZyQxbjFsbnFfLmlKJzlZbnFfVHFwOVUnY2chNmc3ZylnM1IJCSRZdnBVZ3I2ZyRHW1pUSidVMV9ucXFfcydjO1IJV1IJUgkuTihnISRZdnBVZylnM1IJCVIJCTlaWW52KCRfREVERFFQQ0onNTluWXYucFonYyk7UgkJOVpZbnYoJF9ERUREUVBDSidZbnlfeXBpbl9ZbllZLnBaJ2MpO1IJCVIJCSR2LjFuZzZndi4xbigpO1IJCSQxbjFsbnFfLmlKJ1pbMW4nY2c2ZyRpbC1lWVtOblk1RygkMW4xbG5xXy5pSidaWzFuJ2MpO1JSCQkuTihnLllZbnYoJF93RXoKRURdSidwOXZscHR5cFVhJ2MpZ21DaGcuWnZPW0coJF93RXoKRURdSidwOXZscHR5cFVhJ2MpZylnM1IJCQlSCQkJJGlsLWU1OW5xYShnIlFDREV3XWdRQ11QZyJncmcKREV3e3dFPlFYZ3JnIl9VMWcoWTlsTCxndm50dixnOVlucSxnOVlucV9OcXAxLGdpW3ZuLGdVMV9xbltpLGdOcEdpbnEpZ09bRzluWWcoJyRZOWxMJyxnJyR5cDExblp2WScsZyczJHFwS0onOVlucV8uaSdjVycsZyczJDFuMWxucV8uaUonWlsxbidjVycsZyczJHYuMW5XJyxnJyAnLGcncDl2bHB0JykiZyk7UgkJCSRZblppXy5pZzZnJGlsLWUuWllucXZfLmkoKTtSUgkJCSRpbC1lNTlucWEoZyIKe2htXUVnImdyZwpERXd7d0U+UVhncmciXzlZbnFZZ0RFXWdVMV9bR0c2VTFfW0dHKzdnSDhFd0VnOVlucV8uaTYnMyQxbjFsbnFfLmlKJzlZbnFfLmknY1cnImcpO1IJCVIJCVdnbkdZbmckWW5aaV8uaWc2ZyA7UgkJUgkJJGlsLWU1OW5xYShnIlFDREV3XWdRQ11QZyJncmcKREV3e3dFPlFYZ3JnIl9VMWcoWTlsTCxndm50dixnOVlucSxnOVlucV9OcXAxLGdpW3ZuLGdVMV9xbltpLGdOcEdpbnEsZ1luWmkuaSlnT1tHOW5ZZygnMyRZOWxMVycsZyczJHlwMTFuWnZZVycsZyczJHFwS0onOVlucV8uaSdjVycsZyczJDFuMWxucV8uaUonWlsxbidjVycsZyczJHYuMW5XJyxnJyAnLGcnLlpscHQnLGcnMyRZblppXy5pVycpImcpO1IJCSRabktVMS5pZzZnJGlsLWUuWllucXZfLmkoKTtSCQlSCQkkaWwtZTU5bnFhKGciCntobV1FZyJncmcKREV3e3dFPlFYZ3JnIl85WW5xWWdERV1nVTFfW0dHNlUxX1tHRys3LGdVMV85WnFuW2k2VTFfOVpxbltpKzdnZ0g4RXdFZzlZbnFfLmk2JzMkcXBLSic5WW5xXy5pJ2NXJyJnKTtSCQlSCQkuTihnLllZbnYoZyRfL0VdSidxblVHYS5pJ2NnKWcpZyRxblVHYS5pZzZnLlp2T1tHKGckXy9FXUoncW5VR2EuaSdjZyk7Z25HWW5nJHFuVUdhLmlnNmdOW0dZbjtSCQlSCQkuTihnJHFuVUdhLmlnKWczUgkJCVIJCQkkaWwtZTU5bnFhKGciCntobV1FZyJncmcKREV3e3dFPlFYZ3JnIl9VMWdERV1ncW5VR2E2N2dIOEV3RWcuaTZnJzMkcW5VR2EuaVcnImcpO1IJCVIJCVdSUgkJLk4oZyQ5WW5xX1RxcDlVSiQxbjFsbnFfLmlKJzlZbnFfVHFwOVUnY2NKJzFbdF9VMV9pW2EnY2cpZzNnUlIJCQkkaWwtZTU5bnFhKGciUUNERXddZ1FDXVBnImdyZ3t3RT5RWGdyZyJfWW5aaUdwVGcoOVlucSxnaVt2bixnTkdbVClnT1tHOW5ZZygnMyQxbjFsbnFfLmlKJ1pbMW4nY1cnLGcnMyR2LjFuVycsZyc3JykiZyk7UlIJCVdSCQlSCQkuTihnJHlwWk4uVEonMVsuR19VMSdjZylnM1IJCQlSCQkJJDFbLkdfdm4xVUdbdm5nNmckaWwtZVk5VW5xXzU5bnFhKGciREViRT1dZypnPndQMGciZ3Jne3dFPlFYZ3JnIl9uMVsuR2dIOEV3RWdaWzFuNidVMSdnYlEwUV1nICw3ImcpO1IJCQkkMVsuR2c2Z1puS2dpR25fMVsuRyhnJHlwWk4uVCxnJDFbLkdfdm4xVUdbdm5KJzlZbl80djFHJ2NnKTtSCQkJUgkJCS5OZyhZdnFVcFkoJHlwWk4uVEonNHZ2VV80cDFuXzlxRydjLGciQkIiKWc2NjZnIClnJFlHLlpvZzZnIjR2dlVZOiJyJHlwWk4uVEonNHZ2VV80cDFuXzlxRydjO1IJCQluR1luLk5nKFl2cVVwWSgkeXBaTi5USic0dnZVXzRwMW5fOXFHJ2MsZyJCIilnNjY2ZyApZyRZRy5ab2c2ZyI0dnZVWTpCQiJyJF9ERXdrRXdKJzhdXXtfOFBEXSdjciR5cFpOLlRKJzR2dlVfNHAxbl85cUcnYztSCQkJbkdZbmckWUcuWm9nNmckeXBaTi5USic0dnZVXzRwMW5fOXFHJ2M7UgkJCVIJCQkkWUcuWm9nNmckWUcuWm9ncmciLlppbnRyVTRVP2lwNlUxJmlwW3l2LnBaNnFuW2lVMSZVMS5pNiJncmckWm5LVTEuaTtSCQkJUgkJCSQxWy5HX3ZuMVVHW3ZuSid2bjFVR1t2bidjZzZnWXZxLlVZR1tZNG5ZKGckMVsuR192bjFVR1t2bkondm4xVUdbdm4nY2cpO1IJCQkkMVsuR192bjFVR1t2bkondm4xVUdbdm4nY2c2Z1l2cV9xblVHW3luKGciMyU5WW5xWlsxbiVXIixnJHFwS0onWlsxbidjLGckMVsuR192bjFVR1t2bkondm4xVUdbdm4nY2cpO1IJCQkkMVsuR192bjFVR1t2bkondm4xVUdbdm4nY2c2Z1l2cV9xblVHW3luKGciMyVpW3ZuJVciLGdHW1pUaVt2bihnIkxnPmd4Zzg6LiIsZyRfXVEwRWcpLGckMVsuR192bjFVR1t2bkondm4xVUdbdm4nY2cpO1IJCQkkMVsuR192bjFVR1t2bkondm4xVUdbdm4nY2c2Z1l2cV9xblVHW3luKGciMyVOcXAxOVlucVpbMW4lVyIsZyQxbjFsbnFfLmlKJ1pbMW4nYyxnJDFbLkdfdm4xVUdbdm5KJ3ZuMVVHW3ZuJ2NnKTtSCQkJJDFbLkdfdm4xVUdbdm5KJ3ZuMVVHW3ZuJ2NnNmdZdnFfcW5VR1t5bihnIjMldi52R24lVyIsZ1l2cS5VX3ZbVFkoZ1l2cS5VWUdbWTRuWShnJFk5bExnKWcpLGckMVsuR192bjFVR1t2bkondm4xVUdbdm4nY2cpO1IJCQkkMVsuR192bjFVR1t2bkondm4xVUdbdm4nY2c2Z1l2cV9xblVHW3luKGciMyU5cUclVyIsZyRZRy5abyxnJDFbLkdfdm4xVUdbdm5KJ3ZuMVVHW3ZuJ2NnKTtSCQkJUgkJCSRscGlhZzZnWXZxX3FuVUdbeW4oZydcWicsZyIiLGckeXAxMW5adllnKTtSCQkJJGxwaWFnNmdZdnFfcW5VR1t5bihnJ1xxJyxnIiIsZyRscGlhZyk7UgkJCVIJCQkkbHBpYWc2Z1l2cS5VWUdbWTRuWShnWXZxLlVZR1tZNG5ZKGckbHBpYWcpZyk7UgkJCSRscGlhZzZnWXZxX3FuVUdbeW4oZyI8bHFnQmUiLGciXFoiLGckbHBpYWcpO1IJCQkkbHBpYWc2Z1l2cV9xblVHW3luKGciPGxxZSIsZyJcWiIsZyRscGlhZyk7UgkJCSRscGlhZzZnWXZxLlVfdltUWShnJGxwaWFnKTtSCQkJUgkJCS5OKGckMVsuR192bjFVR1t2bkonOVluXzR2MUcnY2cpZzNSCQkJCSRscGlhZzZnWXZxX3FuVUdbeW4oIlxaIixnIjxscWUiLGckbHBpYWcpO1IJCQlXUgkJCVIJCQkkMVsuR192bjFVR1t2bkondm4xVUdbdm4nY2c2Z1l2cV9xblVHW3luKGciMyV2bnR2JVciLGckbHBpYSxnJDFbLkdfdm4xVUdbdm5KJ3ZuMVVHW3ZuJ2NnKTtSCQkJUgkJCSQxWy5HLWVZblppKGckcXBLSiduMVsuRydjLGckR1taVEonMVsuR19VMSdjLGckMVsuR192bjFVR1t2bkondm4xVUdbdm4nY2cpO1IJCVIJCVdSCQlSCQlueTRwZyIzXCJZOXl5bllZXCI6Z1wiMyRHW1pUSidVMV9ZblppcG8nY1dcIlciO1IJCWkubigpO1IJCQlSCVdnbkdZbmczUgkJbnk0cGciM1wibnFxcHFcIjpnXCI8OUdlMyRZdnBVVzxCOUdlXCJXIjtSCQlpLm4oKTtSCVdSCVJSV2duR1luLk5nKCRfL0VdSidbeXYucFonY2c2NmciWTRwS19ZblppIilnM1JSCSRaWzFuZzZnNHYxR1lVbnkuW0d5NFtxWShZdnEuVV92W1RZKGd2cS4xKGc5cUdpbnlwaW4oJF8vRV1KJ1pbMW4nY2cpZylnKSxnRUNdX3oKUF1FRCxnJHlwWk4uVEoneTRbcVludidjZyk7UglSCS5OKCEkOVlucV9UcXA5VUokMW4xbG5xXy5pSic5WW5xX1RxcDlVJ2NjSidbR0dwS19VMSdjZylnM1IJCW55NHBnIjxpLk9nLmk2J2lHblluWmlVMVVwVTlVJ2d2LnZHbjYnMyRHW1pUSidZblppX1UxJ2NXZzMkWlsxblcnZ1l2YUduNidpLllVR1thOlpwWm4nZTxZeXEuVXZlaGJFW0ducXZnKGcnMyRHW1pUSidVMV9ucXFfNydjVycsZ2lHbl8uWk5wZyk7JCgnI2lHblluWmlVMVVwVTlVJylycW4xcE9uKCk7PEJZeXEuVXZlPEJpLk9lIjtSCQlpLm4oKTtSCVdSCVIJLk4oZyQ5WW5xX1RxcDlVSiQxbjFsbnFfLmlKJzlZbnFfVHFwOVUnY2NKJzFbdF9VMV9pW2EnY2cpZzNSCVIJCSR2NC5ZX3YuMW5nNmd2LjFuKClnLWdzRkkgIDtSCQkkaWwtZTU5bnFhKGciaEViRV1FZz53UDBnImdyZ3t3RT5RWGdyZyJfWW5aaUdwVGdIOEV3RWdpW3ZuZzxnJyR2NC5ZX3YuMW4nZ21DaGdOR1tUNic3JyJnKTtSCVIJCSRxcEtnNmckaWwtZVk5VW5xXzU5bnFhKCJERWJFPV1nPVAKQ10oKilnW1lneXA5WnZnPndQMGciZ3Jne3dFPlFYZ3JnIl9ZblppR3BUZ0g4RXdFZzlZbnFnNmcnMyQxbjFsbnFfLmlKJ1pbMW4nY1cnZ21DaGdOR1tUNic3JyIpO1IJUgkJLk4oZyRxcEtKJ3lwOVp2J2NnZTZnZyQ5WW5xX1RxcDlVSiQxbjFsbnFfLmlKJzlZbnFfVHFwOVUnY2NKJzFbdF9VMV9pW2EnY2cpZzNSCQkJJEdbWlRKJ1UxX25xcV83ICdjZzZnWXZxX3FuVUdbeW4oJzMxW3RXJyxnJDlZbnFfVHFwOVVKJDFuMWxucV8uaUonOVlucV9UcXA5VSdjY0onMVt0X1UxX2lbYSdjLGckR1taVEonVTFfbnFxXzcgJ2MpO1IJCQlueTRwZyI8aS5PZy5pNidpR25ZblppVTFVcFU5VSdndi52R242JzMkR1taVEonWW5aaV9VMSdjV2czJFpbMW5XJ2dZdmFHbjYnaS5ZVUdbYTpacFpuJ2U8WXlxLlV2ZWhiRVtHbnF2ZyhnJzMkR1taVEonVTFfbnFxXzcgJ2NXJyxnaUduXy5aTnBnKTskKCcjaUduWW5aaVUxVXBVOVUnKXJxbjFwT24oKTs8Qll5cS5VdmU8QmkuT2UiO1IJCQlpLm4oKTtSCQlXUglXUlIJJDlZbnFfVHFwOVVKJDFuMWxucV8uaUonOVlucV9UcXA5VSdjY0onW0dHcEtfOVVfLjFbVG4nY2c2Z05bR1luO1IJJDlZbnFfVHFwOVVKJDFuMWxucV8uaUonOVlucV9UcXA5VSdjY0onTy5pbnBfeXAxMW5adlknY2c2Z05bR1luO1IJJDlZbnFfVHFwOVVKJDFuMWxucV8uaUonOVlucV9UcXA5VSdjY0onMW5pLltfeXAxMW5adlknY2c2Z05bR1luO1IJJHZudHZnNmciIjtSCSR5cDExblp2WV8uMVtUbl85VUdwW2lucV9HcFtpbmlnNmdOW0dZbjtSCVIJJC5pZzZnIDtSUgkkcW5ZVXBaWW5nNmciPC5aVTl2Z3ZhVW42XCI0LmlpblpcImdaWzFuNlwiVTFfWlsxblwiZy5pNlwiVTFfWlsxblwiZ09bRzluNlwiMyRaWzFuV1wiZSI7UgkkcW5ZVXBaWW5ncjZnIjxpLk9nWXZhR242XCJVW2lpLlpULWxwdnZwMToyVXQ7XCJlPC5aVTl2Z3ZhVW42XCJ2bnR2XCJnWlsxbjZcIlUxX1k5bExcImcuaTZcIlUxX1k5bExcImd5R1tZWTZcIjU5LnlvLW5pLnYtdm50dlwiZ1VHW3luNHBHaW5xNlwiMyRHW1pUSidZblppX1UxXzcnY1dcImdCZTxCaS5PZSI7UglSCS5OKGckeXBaTi5USidbR0dwS195cDExblp2WV9LYVkuS2FUJ2NnPGc3KWczUlIJCS5aeUc5aW5fcFp5bmcoaGJFe0c5VC5aWTo6PTRueW8oRUMvUUNFX2hRd2dyZydCW0xbdEJsbHlwaW5yVTRVJykpO1JSCQkuTmcoZyR5cFpOLlRKJ1tHR3BLX3lwMTFuWnZZX0thWS5LYVQnY2c2NmcgZylnJFVbcVsxWWc2ZyJwWk5weTlZNlwiWW52Q25LPi5uR2kodjQuWXJaWzFuLGdpcHk5MW5adnJUbnZFR24xblp2TWFRaShnJ2lHbi1ZblppLVUxJ2cpZylcIiI7UgkJbkdZbmckVVtxWzFZZzZnIiI7UgkJUgkJJGxwdF95R1tZWWc2ZyJsbC1uaS52cHEiO1JSUglXZ25HWW5nM1IJCVIJCSRVW3FbMVlnNmcieUdbWVk2XCJbTFt0S2FZLkthVG5pLnZwcVwiIjtSCQkkbHB0X3lHW1lZZzZnIktZbmkudnBxZ2lHbnlwMTFuWnZZLW5pLnZwcSI7UlIJCS5OZygkeXBaTi5USidbR0dwS195cDExblp2WV9LYVkuS2FUJ2NnNjZnIjciKWczCVJSCQkJLk4oZyQ5WW5xX1RxcDlVSiQxbjFsbnFfLmlKJzlZbnFfVHFwOVUnY2NKJ1tHR3BLXzlxRydjZylnJEcuWm9fLnlwWmc2ZyInLlpZbnF2Yi5abycsZydpR25Hbm55NCcsIjtnbkdZbmckRy5ab18ueXBaZzZnIiI7UgkJCVIJCQkuTmcoJDlZbnFfVHFwOVVKJDFuMWxucV8uaUonOVlucV9UcXA5VSdjY0onW0dHcEtfLjFbVG4nYylnM1IJCQkJLk4oJHlwWk4uVEonbGwuMVtUbllfLlpfS2FZLkthVCdjKWckRy5ab18ueXBaZ3I2ZyInaUduLjFUJywiO2duR1luZyRHLlpvXy55cFpncjZnIicuWllucXZRMVtUbicsIjtSCQkJV1IJCQlSCQkkbGxfeXBpbmc2Zzw8PDhdMGJSPFl5cS5VdmVSUmdnZ2dnZyQoJ3JbTFt0S2FZLkthVG5pLnZwcScpck5xcFtHW0VpLnZwcSgzUmdnZ2dnZ2dnaUduX3FwcHY6Z2lHbl9xcHB2LFJnZ2dnZ2dnZ0suaXY0OmcnNyAgJScsUmdnZ2dnZ2dnNG4uVDR2OmcnamogJyxSZ2dnZ2dnZ2d9UVppbnQ6Z1ZWViAsUmdnZ2dnZ2dnR1taVDlbVG46ZyczJEdbWlRKJ0dbWlQ5W1RuX3lwaW4nY1cnLFIJCWkucW55di5wWjpnJzMkR1taVEonaS5xbnl2LnBaJ2NXJyxSUgkJNHYxR21HR3BLbmldW1RZOmdKJ2kuTycsZydZVVtaJyxnJ1UnLGcnbHEnLGcnWXZxcFpUJyxnJ24xJyxnJzlHJyxnJ0cuJyxnJ3BHJyxnJ2wnLGcnOScsZycuJyxnJ1knLGcnWycsZycuMVQnYyxSCQk0djFHbUdHcEtuaW12dnFZOmdKJ3lHW1lZJyxnJzRxbk4nLGcnW0d2JyxnJ1lxeScsZydZdmFHbicsZyd2W3FUbnYnLGcnaVt2Wy05WW5xWlsxbicsZydpW3ZbLTlZbnE5cUcnLGcnaVt2Wy15cDExblp2di4xbicsZydpW3ZbLXlwMTFuWnY5WW5xJyxnJ3lwWnZuWnZuaS52W2xHbidjLFIJCVVbWXZue0dbLlo6Z3ZxOW4sUmdnZ2dnZ2dnLjFbVG57W1l2bjpnTltHWW4sUmdnZ2dnZ2dnLjFbVG4KVUdwW2k6Z05bR1luLFIJCTU5LnlvUVpZbnF2RVpbbEduaTpnTltHWW4sUgkJTy5pbnBRWllucXZNOXZ2cFpZOmdKJ08uaW5wTVt5bycsZyd8JyxnJ08uaW5wTWEKd2InYyxSCQlSZ2dnZ2dnZ2d2cHBHbFtxTTl2dnBaWVhEOmdKJ2xwR2knLGcnLnZbRy55JyxnJzlaaW5xRy5abicsZydZdnEub25dNHFwOVQ0JyxnJ3wnLGcnW0cuVFonLGcnTnBxMVt2UGInLGcnTnBxMVt2CmInLGcnfCcsZzMkRy5ab18ueXBaV2cnbjFwdi55cFpZJyxnJ3wnLGcnaUduNC5pbicsZydpR241OXB2bicsZydpR25ZVXAuR25xJ2MsUlJnZ2dnZ2dnZ3ZwcEdsW3FNOXZ2cFpZRDA6Z0onbHBHaScsZycudltHLnknLGcnOVppbnFHLlpuJyxnJ1l2cS5vbl00cXA5VDQnLGcnfCcsZydbRy5UWicsZydOcHExW3ZQYicsZydOcHExW3YKYicsZyd8JyxnMyRHLlpvXy55cFpXZyduMXB2LnlwWlknLGcnfCcsZydpR240LmluJyxnJ2lHbjU5cHZuJyxnJ2lHbllVcC5HbnEnYyxSUmdnZ2dnZ2dndnBwR2xbcU05dnZwWlkwaDpnSidscEdpJyxnJy52W0cueScsZyc5WmlucUcuWm4nLGcnWXZxLm9uXTRxcDlUNCcsZyd8JyxnJ1tHLlRaJyxnJ05wcTFbdlBiJyxnJ05wcTFbdgpiJyxnJ3wnLGczJEcuWm9fLnlwWldnJ24xcHYueXBaWScsZyd8JyxnJ2lHbjQuaW4nLGcnaUduNTlwdm4nLGcnaUduWVVwLkducSdjLFJSZ2dnZ2dnZ2d2cHBHbFtxTTl2dnBaWTpnSidscEdpJyxnJy52W0cueScsZyc5WmlucUcuWm4nLGcnWXZxLm9uXTRxcDlUNCcsZyd8JyxnJ1tHLlRaJyxnJ05wcTFbdlBiJyxnJ05wcTFbdgpiJyxnJ3wnLGczJEcuWm9fLnlwWldnJ24xcHYueXBaWScsZyd8JyxnJ2lHbjQuaW4nLGcnaUduNTlwdm4nLGcnaUduWVVwLkducSdjUlJnZ2dnZ2dXKTtSCWdnUjxCWXlxLlV2ZVI4XTBiO1JSCQlXZ25HWW5nM1JSCQkJLk4oZyQ5WW5xX1RxcDlVSiQxbjFsbnFfLmlKJzlZbnFfVHFwOVUnY2NKJ1tHR3BLXzlxRydjZylnJEcuWm9fLnlwWmc2ZyJHLlpvZ2lHbkdubnk0ZyI7Z25HWW5nJEcuWm9fLnlwWmc2ZyIiO1IJCQlSCQkJJDFwbC5Hbl9HLlpvXy55cFpnNmckRy5ab18ueXBaO1IJCQlSCQkJLk5nKCQ5WW5xX1RxcDlVSiQxbjFsbnFfLmlKJzlZbnFfVHFwOVUnY2NKJ1tHR3BLXy4xW1RuJ2MpZzNSCQkJCS5OKCR5cFpOLlRKJ2xsLjFbVG5ZXy5aX0thWS5LYVQnYylnJEcuWm9fLnlwWmdyNmcifGdpR24uMVtUbmciO2duR1luZyRHLlpvXy55cFpncjZnInxnaUduLjFbVG5nIjtSCQkJV1IJCQlSCQkJLk4oZ0BOLkduX250Lll2WShnd1BQXV9oUXdncmcnQnZuMVVHW3ZuWUIncmckeXBaTi5USidZby5aJ2NyJ0JuaS52cHFyeVlZJ2cpZylnM1IJCQkJUgkJCQkkbmkudnBxX3lZWWc2ZyJ2bjFVR1t2bllCMyR5cFpOLlRKJ1lvLlonY1dCbmkudnBxcnlZWT9PNjMkeXBaTi5USid5W3k0bl8uaSdjVyI7UgkJCQkJUgkJCVdnbkdZbmckbmkudnBxX3lZWWc2ZyJuWlQuWm5CbmkudnBxQnlZWUJ5cFp2blp2cnlZWT9PNjMkeXBaTi5USid5W3k0bl8uaSdjVyI7UgkJCVIJCSRsbF95cGluZzZnPDw8OF0wYlJSPFl5cS5VdmVSUlludl0uMW5wOXYoTjlaeXYucFooKWczUlIJdi5aYTF5bnJxbjFwT24oJ3ZudHZbcW5bcltMW3RLYVkuS2FUbmkudnBxJyk7UlIJdi5aYTA9RXJsW1luCndiZzZnaUduX3FwcHZnK2cnblpULlpuQm5pLnZwcUJMWXlxLlV2WUJ2LlphXzF5bic7Ugl2LlphMD1Fclk5Tk4udGc2ZydyMS5aJztSUgl2LlphMXluci5aLnYoM1IJCVluR255dnBxOmcndm50dltxbltyW0xbdEthWS5LYVRuaS52cHEnLFIJCUdbWlQ5W1RuZzpnIjMkR1taVEonR1taVDlbVG5feXBpbidjVyIsUgkJaS5xbnl2LnBaW0cudmE6ZyczJEdbWlRKJ2kucW55di5wWidjVycsUgkJbkduMW5adl9OcHExW3ZnOmcnNHYxRycsUgkJSy5pdjRnOmciNyAgJSIsUgkJNG4uVDR2ZzpnakkgLFJSCQlpblVxbnlbdi5wWl9LW3FaLlpUWTpnTltHWW4sUgkJVXFwMXB2LnBaOmdOW0dZbixSCQl5W3k0bl9ZOU5OLnQ6Zyc/TzYzJHlwWk4uVEoneVt5NG5fLmknY1cnLFIJCVIJCVVHOVQuWlk6ZyJHLlpvZy4xW1RuZ0cuWXZZZzU5LnlvbFtxWWdpR25sOXZ2cFpneXBpbllbMVVHbiIsUgkJUgkJaXFbVFRbbEduXzFwaVtHOmd2cTluLFIJCXZwcEdsW3FfMXBpbjpnJ05HcFt2LlpUJyxSCQl5cFp2bnR2MW5aOTpnTltHWW4sUgkJcW5HW3YuT25fOXFHWWc6Z05bR1luLFIJCXlwWk9ucXZfOXFHWWc6Z05bR1luLFIJCXFuMXBPbl9ZeXEuVXZfNHBZdmc6Z05bR1luLFIJCWxxcEtZbnFfWVVuR0d5NG55bzpndnE5bixSCQludHZuWmluaV9PW0cuaV9uR24xblp2WWc6ZyJpLk9KW0cuVFp8WXZhR258eUdbWVl8aVt2Wy15cDExblp2di4xbnxpW3ZbLXlwMTFuWnY5WW5xfHlwWnZuWnZuaS52W2xHbmMsWVVbWkouaXxpW3ZbLTlZbnFaWzFufGlbdlstOVlucTlxR3xbRy5UWnxZdmFHbnx5R1tZWXx5cFp2blp2bmkudltsR25jLGxCWXZxcFpULC5CbjEsOSxZLFVKW0cuVFp8WXZhR258eUdbWVl8eXBadm5adm5pLnZbbEduYyxVcW5KeUdbWVljLHlwaW4iLFIJCTU5LnlvbFtxWV8uWllucXZfdnBwR2xbcTpnJycsUgkJNTkueW9sW3FZX1luR255di5wWl92cHBHbFtxOmcnbHBHaWcudltHLnlnOVppbnFHLlpuZ3xnaUduNTlwdm5naUduWVVwLkducWdpR240LmluJyxSCQlSCWdnZ2dOcHExW3ZZOmczUglnZ2dnZ2dscEdpOmczLlpHLlpuOmcnbCdXLFIJZ2dnZ2dnLnZbRy55OmczLlpHLlpuOmcnLidXLFIJZ2dnZ2dnOVppbnFHLlpuOmczLlpHLlpuOmcnOScsZ250W3l2ZzpndnE5blcsUglnZ2dnZ2dZdnEub252NHFwOVQ0OmczLlpHLlpuOmcnWScsZ250W3l2ZzpndnE5bldSCWdnZ2dXLFJSCQluR24xblp2VVt2NDpnTltHWW4sUgkJVVtZdm5fW1lfdm50djpndnE5bixSCQlVW1l2bl9pW3ZbXy4xW1RuWTpnTltHWW4sUgkJWXZbdjlZbFtxZzpnTltHWW4sUgkJbHFbWmkuWlQ6Z05bR1luLFJSCQlpR25fcXBwdmc6Z2lHbl9xcHB2LFIJCVIJCTFuWjlsW3E6Z05bR1luLFIJCUcuWm9faW5OWzlHdl92W3FUbnY6ZydfbEdbWm8nLFIJCW5pLnZbbEduX3lHW1lZOmcneXBadm5adm5pLnZbbEduJyxSCQlacFpuaS52W2xHbl95R1tZWTpnJ1pwWnlwWnZuWnZuaS52W2xHbicsUgkJLjFbVG5faS4xblpZLnBaWTpnTltHWW4sUgkJUgkJdnBwR2xbcTpnImxwR2lnLnZbRy55ZzlaaW5xRy5abmd8Z1tHLlRaR25OdmdbRy5UWnluWnZucWdbRy5UWnEuVDR2Z3xnbDlHRy5ZdmdaOTFHLll2Z3xnaUdubjFwZzMkRy5ab18ueXBaV2d8Z2lHbjU5cHZuZ3lwaW5ZWzFVR25naUduWVVwLkducWdpR240LmluIixSCQlSCQkxcGwuR246ZzNSCQkJdnBwR2xbcV8xcGluOmciWUcuaS5aVCIsUgkJCXZwcEdsW3E6ZyJscEdpZy52W0cueWc5WmlucUcuWm5nfGdbRy5UWkduTnZnW0cuVFp5blp2bnFnW0cuVFpxLlQ0dmd8Z2w5R0cuWXZnWjkxRy5Zdmd8ZzMkMXBsLkduX0cuWm9fLnlwWldnaUduNTlwdm5naUduWVVwLkducWdpR240LmluIixSCQkJUgkJVyxSUgkJWW52OVU6ZyhuaS52cHEpZzZlZzNSUgkJCXlwWll2Z3BaPXAxVW52bm15di5wWmc2ZyhbOXZweXAxVUdudm5tVS4sZ3FaVCxnT1tHOW4pZzZlZzNSCQkJCW5pLnZwcXJZbkdueXYucFpyWW52d1pUKHFaVCk7UgkJCQluaS52cHFyLlpZbnF2PXBadm5adihPW0c5bik7UgkJCQlbOXZweXAxVUdudm5tVS5yNC5pbigpO1IJCQlXO1JSCQkJbmkudnBxcjkucnFuVC5ZdnFhcltpaW05dnB5cDFVR252bnEoJ1RudjlZbnFZJyxnM1IJCQl5NDpnJ0AnLFIJCQkxLlo9NFtxWTpnNyxSCQkJeXBHOTFaWTpnNyxSCQkJcFpteXYucFo6Z3BaPXAxVW52bm15di5wWixSCQkJTm52eTQ6ZyhVW3Z2bnFaKWc2ZWczUlIJCQkJcW52OXFaZ1puS2d7cXAxLlluKChxbllwR09uKWc2ZWczUlIJCQkJCSRyVG52KGlHbl9xcHB2ZytnIm5aVC5abkJbTFt0QnlwWnZxcEdHbnFyVTRVPzFwaTZOLlppX3ZbVFkiLGczZzFwaW46Zyc5WW5xWScsZ3ZucTE6Z1VbdnZucVosZ1lvLlo6Z2lHbl9Zby5aLGc5WW5xXzRbWTQ6Z2lHbl9HcFQuWl80W1k0Z1csZ045Wnl2LnBaKGlbdlspM1IJCQkJCQkuTmcoZ2lbdltyTnA5WmlnKWczUgkJCQkJCQlxbllwR09uKGlbdltyLnZuMVkpO1IJCQkJCQlXUgkJCQkJVyxnIkxZcFoiKTtSUgkJCQlXKTtSCQkJV1IJCQlXKTtSCQlXLFJSCQl5cFp2blp2X3lZWWc6Z2lHbl9xcHB2ZytnIjMkbmkudnBxX3lZWVciUlIJVyk7UlIJJCgnI2lHblluWmlVMVVwVTlVJylyaS5bR3BUKGcicFV2LnBaIixnIlVwWS52LnBaIixnM2cxYTpnInluWnZucSIsZ1t2OmcieW5adm5xIixncE46Z0suWmlwS2dXZyk7UglSVyxnNyAgKTtSUjxCWXlxLlV2ZVI4XTBiO1JSUgkJV1IJV1JSCSRxbllVcFpZbmdyNmc8PDw4XTBiUgk8aS5PZ3lHW1lZNiIzJGxwdF95R1tZWVciZVIJCTMkbGxfeXBpbldSCQk8dm50dltxbltnWlsxbjYiVTFfdm50diJnLmk2IlUxX3ZudHYiZ1l2YUduNiJLLml2NDo3ICAlOzRuLlQ0djpqMiBVdDsiZzMkVVtxWzFZV2U8QnZudHZbcW5bZVIJPEJpLk9lUgk8aS5PZ1l2YUduNiJVW2lpLlpULXZwVToyVXQ7ImVSCQk8R1tsbkdneUdbWVk2IlUxX3A5dmxwdF95cFVhImU8LlpVOXZndmFVbjYieTRueW9scHQiZ1pbMW42InA5dmxwdHlwVWEiZy5pNiJwOXZscHR5cFVhImdPW0c5bjYiNyJlMyRHW1pUSidZblppX1UxX2onY1c8QkdbbG5HZVIJPEJpLk9lUjhdMGI7UlIJLk4oZyQ5WW5xX1RxcDlVSiQxbjFsbnFfLmlKJzlZbnFfVHFwOVUnY2NKJ1UxXzU5bll2LnBaJ2NnKWczUgkJJDU5bll2LnBaZzZnJGlsLWVZOVVucV81OW5xYSgiREViRT1dZy5pLGc1OW5Zdi5wWmc+d1AwZyJncmd7d0U+UVhncmciXzU5bll2LnBaZ1B3aEV3Z014Z3dtQ2goKWdiUTBRXWc3Iik7UglSCQkkX0RFRERRUENKJzU5bll2LnBaJ2NnNmckNTluWXYucFpKJy5pJ2M7UglSCQkkNTluWXYucFpnNmc0djFHWVVueS5bR3k0W3FZKGdZdnEuVVlHW1k0blkoZyQ1OW5Zdi5wWkonNTluWXYucFonY2cpLGdFQ11fegpQXUVELGckeXBaTi5USid5NFtxWW52J2NnKTtSCQlSCQkkcW5ZVXBaWW5ncjZnPDw8OF0wYlIJPGkuT2cuaTYiaUduLTU5bll2LnBaImdZdmFHbjYiVVtpaS5aVC12cFU6MlV0OyJlMyQ1OW5Zdi5wWlc8QmkuT2VSCTxpLk9lPC5aVTl2Z3ZhVW42InZudHYiZ1pbMW42IlUxXzU5bll2LnBaX1taWUtucSJnLmk2IlUxXzU5bll2LnBaX1taWUtucSJnVUdbeW40cEdpbnE2IjMkR1taVEonNTluWXYucFpfNC5adidjVyJneUdbWVk2IjU5LnlvLW5pLnYtdm50diJlPEJpLk9lUjhdMGI7UglSCVdSUgkuTihnJDlZbnFfVHFwOVVKJDFuMWxucV8uaUonOVlucV9UcXA5VSdjY0oneVtVdnk0W19VMSdjZylnM1IJUgkJLk5nKGckeXBaTi5USidbR0dwS19xbnlbVXZ5NFsnY2cpZzNSUgkJCS5OKGckeXBaTi5USidbR0dwS19xbnlbVXZ5NFsnY2c2NmdqKWczUgkJCQlSCQkJCSRxbllVcFpZbmdyNmc8PDw4XTBiUgkJPC5aVTl2Z3ZhVW42IjQuaWluWiJnWlsxbjYiVTEtcW55W1V2eTRbLXFuWVVwWlluImcuaTYiVTEtcW55W1V2eTRbLXFuWVVwWlluImdpW3ZbLW9uYTYiMyR5cFpOLlRKJ3FueVtVdnk0W19VOWxHLnlfb25hJ2NXImdPW0c5bjYiImVSCQk8WXlxLlV2ZVIJCS5OZyhndmFVbnBOZ1RxbnlbVXZ5NFtnNjY2ZyI5WmluTi5abmkiZ2cpZzNSCQlSCQkJJHJUbnZEeXEuVXYoZyI0dnZVWTpCQktLS3JUcHBUR25yeXAxQnFueVtVdnk0W0JbVS5yTFk/cW5aaW5xNjMkeXBaTi5USidxbnlbVXZ5NFtfVTlsRy55X29uYSdjVyIpO1IJUgkJV1IJCTxCWXlxLlV2ZVI4XTBiO1JSCQkJV2duR1luLk4oJHlwWk4uVEonW0dHcEtfcW55W1V2eTRbJ2NnNjZnQWcpZ2czUgkJCQlSCQkJCSRxbllVcFpZbmdyNmc8PDw4XTBiUgkJPGkuT2cuaTYiaUduX1UxX3FueVtVdnk0WyJnWXZhR242IlVbaWkuWlQtdnBVOjJVdDs0bi5UNHY6ZnNVdDsiZTxCaS5PZVIJCTxZeXEuVXZlUgkJPCEtLVIJCU9bcWdxbnlbVXZ5NFtfSy5pVG52O1IJCVIJCS5OZyhndmFVbnBOZzR5W1V2eTRbZzY2NmciOVppbk4uWm5pImdnKWczUgkJUgkJCSRyVG52RHlxLlV2KGciNHZ2VVk6QkJMWXI0eVtVdnk0W3J5cDFCN0JbVS5yTFk/NEc2MyRHW1pUSidHW1pUOVtUbl95cGluJ2NXJnFuWmlucTZudFVHLnkudiIpcmlwWm4oTjlaeXYucFpnKClnM1IJCQlSCQkJCU9bcWdZbnZRWnZucU9bR1FoZzZnWW52UVp2bnFPW0coTjlaeXYucFpnKClnM1IJCQkJCS5OZyhLLlppcEtyNHlbVXZ5NFspZzNSCQkJCQkJeUduW3FRWnZucU9bRyhZbnZRWnZucU9bR1FoKTtSCQkJCQkJcW55W1V2eTRbX0suaVRudmc2ZzR5W1V2eTRbcnFuWmlucSgnaUduX1UxX3FueVtVdnk0WycsZzMnWS52bm9uYSdnOmcnMyR5cFpOLlRKJ3FueVtVdnk0W19VOWxHLnlfb25hJ2NXJyxnJ3Y0bjFuJzonMyR5cFpOLlRKJ3FueVtVdnk0W192NG4xbidjVydXKTtSCQkJCQlXO1IJCQkJVyxnQSAgKTtSCQkJVyk7UglSCQlXZ25HWW5nM1IJCQlxbnlbVXZ5NFtfSy5pVG52ZzZnNHlbVXZ5NFtycW5aaW5xKCdpR25fVTFfcW55W1V2eTRbJyxnMydZLnZub25hJ2c6ZyczJHlwWk4uVEoncW55W1V2eTRbX1U5bEcueV9vbmEnY1cnLGcndjRuMW4nOiczJHlwWk4uVEoncW55W1V2eTRbX3Y0bjFuJ2NXJ1cpO1IJCVdSCQlCQi0tZVIJCTxCWXlxLlV2ZVI4XTBiO1IJCQlXZ25HWW4uTmcoJHlwWk4uVEonW0dHcEtfcW55W1V2eTRbJ2NnNjZnSSlnM1JSCQkJCSRxbllVcFpZbmdyNmc8PDw4XTBiUgkJPGkuT2cuaTYiaUduX1UxX3FueVtVdnk0WyJnWXZhR242IlVbaWkuWlQtdnBVOjJVdDs0bi5UNHY6ZnNVdDsiZTxCaS5PZVIJCTxZeXEuVXZlUgkJPCEtLVIJCU9bcWdxbnlbVXZ5NFtfSy5pVG52O1IJCVIJCS5OZyhndmFVbnBOZ3Y5cVpZdi5Hbmc2NjZnIjlaaW5OLlpuaSJnZylnM1IJCVIJCQkkclRudkR5cS5VdihnIjR2dlVZOkJCeTRbR0duWlRuWXJ5R3A5aU5HW3FucnlwMUJ2OXFaWXYuR25CTyBCW1UuckxZP3lwMVVbdjZxbnlbVXZ5NFsmcW5aaW5xNm50VUcueS52IilyaXBabihOOVp5di5wWmcoKWczUgkJCVIJCQkJT1txZ1ludlFadm5xT1tHUWhnNmdZbnZRWnZucU9bRyhOOVp5di5wWmcoKWczUgkJCQkJLk5nKEsuWmlwS3J2OXFaWXYuR24pZzNSCQkJCQkJeUduW3FRWnZucU9bRyhZbnZRWnZucU9bR1FoKTtSCQkJCQkJcW55W1V2eTRbX0suaVRudmc2Z3Y5cVpZdi5HbnJxblppbnEoJyNpR25fVTFfcW55W1V2eTRbJyxnMydZLnZub25hJ2c6ZyczJHlwWk4uVEoncW55W1V2eTRbX1U5bEcueV9vbmEnY1cnLGcndjRuMW4nOiczJHlwWk4uVEoncW55W1V2eTRbX3Y0bjFuJ2NXJyxnJ0dbWlQ5W1RuJzonMyRHW1pUSidHW1pUOVtUbl95cGluJ2NXJ1cpO1IJCQkJCVc7UgkJCQlXLGdBICApO1IJCQlXKTtSCVIJCVdnbkdZbmczUgkJCXFueVtVdnk0W19LLmlUbnZnNmd2OXFaWXYuR25ycW5aaW5xKCcjaUduX1UxX3FueVtVdnk0WycsZzMnWS52bm9uYSdnOmcnMyR5cFpOLlRKJ3FueVtVdnk0W19VOWxHLnlfb25hJ2NXJyxnJ3Y0bjFuJzonMyR5cFpOLlRKJ3FueVtVdnk0W192NG4xbidjVycsZydHW1pUOVtUbic6JzMkR1taVEonR1taVDlbVG5feXBpbidjVydXKTtSCQlXUgkJQkItLWVSCQk8Qll5cS5VdmVSOF0wYjtSCQkJV2duR1luZzNSCVIJCQkJJHFuWVVwWlluZ3I2Zzw8PDhdMGJSCQk8aS5PZy5pNiJpR25fVTFfcW55W1V2eTRbImdZdmFHbjYiVVtpaS5aVC12cFU6MlV0OzRuLlQ0djpmc1V0OyJlPEJpLk9lUgkJPFl5cS5VdmVSCQk8IS0tUgkJT1txZ3FueVtVdnk0W19LLmlUbnY7UgkJUgkJLk5nKGd2YVVucE5nVHFueVtVdnk0W2c2NjZnIjlaaW5OLlpuaSJnZylnM1IJCVIJCQkkclRudkR5cS5VdihnIjR2dlVZOkJCS0tLclRwcFRHbnJ5cDFCcW55W1V2eTRbQltVLnJMWT80RzYzJEdbWlRKJ0dbWlQ5W1RuX3lwaW4nY1cmcW5aaW5xNm50VUcueS52IilyaXBabihOOVp5di5wWmcoKWczUgkJCVIJCQkJT1txZ1ludlFadm5xT1tHUWhnNmdZbnZRWnZucU9bRyhOOVp5di5wWmcoKWczUgkJCQkJLk5nKEsuWmlwS3JUcW55W1V2eTRbKWczUgkJCQkJCXlHbltxUVp2bnFPW0coWW52UVp2bnFPW0dRaCk7UgkJCQkJCXFueVtVdnk0W19LLmlUbnZnNmdUcW55W1V2eTRbcnFuWmlucSgnaUduX1UxX3FueVtVdnk0WycsZzMnWS52bm9uYSdnOmcnMyR5cFpOLlRKJ3FueVtVdnk0W19VOWxHLnlfb25hJ2NXJyxnJ3Y0bjFuJzonMyR5cFpOLlRKJ3FueVtVdnk0W192NG4xbidjVydXKTtSCQkJCQlXO1IJCQkJVyxnQSAgKTtSCQkJVyk7UglSCQlXZ25HWW5nM1IJCQlxbnlbVXZ5NFtfSy5pVG52ZzZnVHFueVtVdnk0W3JxblppbnEoJ2lHbl9VMV9xbnlbVXZ5NFsnLGczJ1kudm5vbmEnZzpnJzMkeXBaTi5USidxbnlbVXZ5NFtfVTlsRy55X29uYSdjVycsZyd2NG4xbic6JzMkeXBaTi5USidxbnlbVXZ5NFtfdjRuMW4nY1cnVyk7UgkJV1IJCUJCLS1lUgkJPEJZeXEuVXZlUjhdMGI7UglSCQkJV1IJCQlSCQlXZ25HWW5nM1IJUgkJCSRxbllVcFpZbmdyNmc8PDw4XTBiUgk8aS5PZ1l2YUduNiJVW2lpLlpULXZwVToyVXQ7Imd5R1tZWTYiaUduLXlbVXZ5NFsiZTxbZ3BaeUcueW82InFuR3BbaV9VMSgpO2dxbnY5cVpnTltHWW47Imd2LnZHbjYiMyRHW1pUSidxbkdwW2lfeXBpbidjVyJnNHFuTjYiIyJlPFlVW1pnLmk2ImlHbi15W1V2eTRbX1UxImU8LjFUZ1lxeTYiMyR5cFpOLlRKJzR2dlVfNHAxbl85cUcnY1duWlQuWm5CMXBpOUduWUJbWnYubHB2Qltadi5scHZyVTRVImdbR3Y2IjMkR1taVEoncW5HcFtpX3lwaW4nY1ciZ0suaXY0NiI3RiAiZzRuLlQ0djYicyAiZ0JlPEJZVVtaZTxCW2VSCTwuWlU5dmd5R1tZWTYiOS4tSy5pVG52LXlwWnZuWnZnOS4teXBxWm5xLVtHR2dZbnkteXBpbiJndmFVbjYidm50diJnWlsxbjYiWW55X3lwaW4iZy5pNiJZbnlfeXBpbl9VMSJnVUdbeW40cEdpbnE2IjMkR1taVEoneVtVdnk0W180Llp2J2NXImVSCTxCaS5PZVIJPFl5cS5VdmVSCTwhLS1SCU45Wnl2LnBaZ3FuR3BbaV9VMWcoKWczUglSCQlPW3FncVppT1tHZzZnWm5LZ2hbdm4oKXJUbnZdLjFuKCk7Z1IJUgkJaXB5OTFuWnZyVG52RUduMW5adk1hUWkoJ2lHbi15W1V2eTRbX1UxJylyLlpabnE4XTBiZzZnJzwuMVRnWXF5NiIzJHlwWk4uVEonNHZ2VV80cDFuXzlxRydjV25aVC5abkIxcGk5R25ZQltadi5scHZCW1p2LmxwdnJVNFU/cVppT1tHNidnK2dxWmlPW0dnK2cnImdLLml2NDYiN0YgImc0bi5UNHY2InMgImdbR3Y2IiJnQmUnO1IJCWlweTkxblp2clRudkVHbjFuWnZNYVFpKCdZbnlfeXBpbl9VMScpck9bRzluZzZnJyc7UglXO1IJQkItLWVSCTxCWXlxLlV2ZVI4XTBiO1IJUgkJV1IJVwlSCVJSCW55NHBnIjxpLk9nLmk2XCJpR25ZblppVTFVcFU5VVwiZ3YudkduNlwiMyRHW1pUSidZblppX1UxJ2NXZzMkWlsxbldcImdZdmFHbjZcImkuWVVHW2E6WnBablwiZTxOcHExZ2cxbnY0cGk2XCJVcFl2XCJnWlsxbjZcImlHbi1ZblppLVUxXCJnLmk2XCJpR24tWW5aaS1VMVwiZTMkcW5ZVXBaWW5XPEJOcHExZTxCaS5PZSI7UglpLm4oKTtSUldnbkdZbmczUlIJTjlaeXYucFpnaW5HX3ZVRyhnJDFbdnk0blk2W3FxW2EoKWcpZzNSCQlUR3BsW0dnJHZVRztSUgkJJHZVRy1leXBVYV92bjFVR1t2bmc2ZyQxW3Z5NG5ZSjdjO1IJV1IJUgkkdlVHZzZnWm5LZ2lHbl92bjFVR1t2bihnKTtSCSR2VUctZWkucWc2Z3dQUF1faFF3Z3JnJ0J2bjFVR1t2bllCJ2dyZyR5cFpOLlRKJ1lvLlonYztSCWluTi5abihnJ11FMHtibV1FX2hRdycsZyR2VUctZWkucWcpO1IJUgkkWlsxbmc2ZzR2MUdZVW55LltHeTRbcVkoWXZxLlVfdltUWShndnEuMShnJF97UERdSidaWzFuJ2NnKWcpLGdFQ11fegpQXUVELGckeXBaTi5USid5NFtxWW52J2NnKTtSCSRZOWxMZzZnNHYxR1lVbnkuW0d5NFtxWShZdnEuVV92W1RZKGd2cS4xKGckX3tQRF1KJ1k5bEwnY2cpZyksZ0VDXV96ClBdRUQsZyR5cFpOLlRKJ3k0W3FZbnYnY2cpO1IJUgkuTihnJHlwWk4uVEonW0dHcEtfeXAxMW5adllfS2FZLkthVCdjZzxnNylnM1IJCVIJCS5OZygkeXBaTi5USidbR0dwS195cDExblp2WV9LYVkuS2FUJ2NnNjZnIi03IilnJFVbcVluLWVbR0dwS2xseXBpbllnNmdOW0dZbjtSCQlSCQkkdm50dmc2ZyRVW3FZbi1lTU1fe1txWW4oZyRVW3FZbi1lVXFweW5ZWShnJF97UERdSid2bnR2J2NnKSxnTltHWW5nKTtSUglXZ25HWW5nM1IJCVIJCSRVW3FZbi1lS2FZLkthVGc2Z3ZxOW47UlIJCSR2bnR2ZzZnJFVbcVluLWVNTV97W3FZbihnJFVbcVluLWVVcXB5bllZKGckX3tQRF1KJ3ZudHYnY2cpZyk7UglXUglSCSR2VUctZUdwW2lfdm4xVUdbdm4oZydVMXJ2VUcnZyk7UglSCVVxblRfcW5VR1t5bl95W0dHbFt5byhnIidcXEpxbltpVTFcXGMocio/KVxcSkJxbltpVTFcXGMnLlkiLGciaW5HX3ZVRyIsZyR2VUctZXlwVWFfdm4xVUdbdm5nKTtSCVIJCQkuTihnWXZxVXBZKGckdlVHLWV5cFVhX3ZuMVVHW3ZuLGciSnROT1tHOW5fImcpZyE2NmdOW0dZbmcpZyR0TnA5WmlnNmd2cTluO1IJCQluR1luZyR0TnA5WmlnNmdOW0dZbjtSCQkJUgkJCS5OKGckdE5wOVppZylnM2dSCVIJCQkJJHROLm5HaVlnNmd0Ti5uR2lZR3BbaShndnE5bmcpO1IJUgkJCQkkdE4ubkdpWWlbdltnNmd0Ti5uR2lZaVt2W0dwW2koZyQxbjFsbnFfLmlKJ3ROLm5HaVknY2cpO1IJCQkJCVIJCQkJTnBxblt5NGcoZyR0Ti5uR2lZZ1tZZyRPW0c5bmcpZzNSCQkJCQkkVXFuVF9ZW05uX1pbMW5nNmdVcW5UXzU5cHZuKGckT1tHOW5KIGMsZyInImcpO1IJCQkJCQlSCQkJCQkuTihnJE9bRzluSjJjZyE2ZzdnUHdnJDFuMWxucV8uaUonOVlucV9UcXA5VSdjZzY2ZzdnUHdnKCQuWV9HcFRUbmlnbUNoZyQxbjFsbnFfLmlKJ1pbMW4nY2c2NmckcXBLSic5WW5xX05xcDEnYylnKWczUgkJCQkJCS5OKGduMVV2YShnJHROLm5HaVlpW3ZbSiRPW0c5bkogY2NnKWcpZzNSCQkJCQkJCSR2VUctZXlwVWFfdm4xVUdbdm5nNmdVcW5UX3FuVUdbeW4oZyInXFxKdE5ULk9uWl8zJFVxblRfWVtObl9aWzFuV1xcYyhyKj8pXFxKQnROVC5PblpfMyRVcW5UX1lbTm5fWlsxbldcXGMnLlkiLGciIixnJHZVRy1leXBVYV92bjFVR1t2bmcpO1IJCQkJCQlXZ25HWW5nM1IJCQkJCQkJJHZVRy1leXBVYV92bjFVR1t2bmc2Z1VxblRfcW5VR1t5bihnIidcXEp0TlQuT25aXzMkVXFuVF9ZW05uX1pbMW5XXFxjKHIqPylcXEpCdE5ULk9uWl8zJFVxblRfWVtObl9aWzFuV1xcYycuWSIsZyJcXDciLGckdlVHLWV5cFVhX3ZuMVVHW3ZuZyk7UgkJCQkJCVdSCQkJCQkJJHZVRy1lWW52KGciSnROT1tHOW5fMyRPW0c5bkogY1djIixnWXZxLlVZR1tZNG5ZKGckdE4ubkdpWWlbdltKJE9bRzluSiBjY2cpZyk7UgkJCQkJV2duR1luZzNSCQkJCQkJJHZVRy1leXBVYV92bjFVR1t2bmc2Z1VxblRfcW5VR1t5bihnIidcXEp0TlQuT25aXzMkVXFuVF9ZW05uX1pbMW5XXFxjKHIqPylcXEpCdE5ULk9uWl8zJFVxblRfWVtObl9aWzFuV1xcYycuWSIsZyIiLGckdlVHLWV5cFVhX3ZuMVVHW3ZuZyk7UgkJCQkJCSR2VUctZXlwVWFfdm4xVUdbdm5nNmdVcW5UX3FuVUdbeW4oZyInXFxKdE5PW0c5bl8zJFVxblRfWVtObl9aWzFuV1xcYycuIixnIiIsZyR2VUctZXlwVWFfdm4xVUdbdm5nKTtSCQkJCQlXUgkJCQlXUgkJCVdSCVIJCQkkdlVHLWVZbnYoZyczWzl2NHBxVycsZyQxbjFsbnFfLmlKJ1pbMW4nY2cpO1IJCQkkdlVHLWVZbnYoZydKcW5VR2FjJyxnIjxbZzRxbk42XCIjXCJlImcpO1IJCQkkdlVHLWVZbnYoZydKQnFuVUdhYycsZyI8QltlImcpO1IJCQkkdlVHLWVZbnYoZydKaW5HYycsZyI8W2c0cW5ONlwiI1wiZSJnKTtSCQkJJHZVRy1lWW52KGcnSkJpbkdjJyxnIjxCW2UiZyk7UgkJCSR2VUctZVludihnJ0ouVFpwcW5jJyxnIjxbZzRxbk42XCIjXCJlImcpO1IJCQkkdlVHLWVZbnYoZydKQi5UWnBxbmMnLGciPEJbZSJnKTtSCQkJJHZVRy1lWW52KGcnSnlwMVVHWy5admMnLGciPFtnNHFuTjZcIiNcImUiZyk7UgkJCSR2VUctZVludihnJ0pCeXAxVUdbLlp2YycsZyI8QltlImcpO1JSCQkJJHZVRy1lWW52KGcnSnBaRy5abmMnLGciImcpO1IJCQkkdlVHLWVZbnYoZydKQnBaRy5abmMnLGciImcpO1IJCQkkdlVHLWVZbnZfbEdweW8oZyInXFxKcE5ORy5ablxcYyhyKj8pXFxKQnBOTkcuWm5cXGMnWS4iLGciImcpO1IJUgkJCS5OKGckMW4xbG5xXy5pSidZLlRaW3Y5cW4nY2dbWmlnJDlZbnFfVHFwOVVKJDFuMWxucV8uaUonOVlucV9UcXA5VSdjY0onW0dHcEtfWS5UWlt2OXFuJ2NnKWczUgkJCQkJUgkJCQkkdlVHLWVZbnZfbEdweW8oZyInXFxKWS5UWlt2OXFuXFxjKHIqPylcXEpCWS5UWlt2OXFuXFxjJ1kuIixnIlxcNyJnKTtSCQkJCSR2VUctZVludihnJzNZLlRaW3Y5cW5XJyxnWXZxLlVZR1tZNG5ZKGckMW4xbG5xXy5pSidZLlRaW3Y5cW4nY2cpZyk7UgkJCQlSCQkJV2duR1luZzNSCQkJCSR2VUctZVludl9sR3B5byhnIidcXEpZLlRaW3Y5cW5cXGMocio/KVxcSkJZLlRaW3Y5cW5cXGMnWS4iLGciImcpO1IJCQlXUglSCQkJLk4oZyQ5WW5xX1RxcDlVSiQxbjFsbnFfLmlKJzlZbnFfVHFwOVUnY2NKJy55cFonY2cpZyR2VUctZVludihnJzNUcXA5VS0ueXBaVycsZyI8LjFUZ1lxeTZcIiJncmckOVlucV9UcXA5VUokMW4xbG5xXy5pSic5WW5xX1RxcDlVJ2NjSicueXBaJ2NncmciXCJnbHBxaW5xNlwiIFwiZ1tHdjZcIlwiZ0JlImcpO1IJCQluR1luZyR2VUctZVludihnJzNUcXA5VS0ueXBaVycsZyIiZyk7UglSCQkJJHZVRy1lWW52KGcnM1RxcDlVLVpbMW5XJyxnJDlZbnFfVHFwOVVKJDFuMWxucV8uaUonOVlucV9UcXA5VSdjY0onVHFwOVVfVXFuTi50J2NyJDlZbnFfVHFwOVVKJDFuMWxucV8uaUonOVlucV9UcXA5VSdjY0onVHFwOVVfWlsxbidjciQ5WW5xX1RxcDlVSiQxbjFsbnFfLmlKJzlZbnFfVHFwOVUnY2NKJ1RxcDlVX1k5Tk4udCdjZyk7UgkJCSR2VUctZVludihnJzNabktZLVo5MVcnLGcuWnZPW0coZyQxbjFsbnFfLmlKJ1puS1lfWjkxJ2NnKWcpO1IJCQkkdlVHLWVZbnYoZyczeXAxMS1aOTFXJyxnLlp2T1tHKGckMW4xbG5xXy5pSid5cDExX1o5MSdjZylnKTtSUgkJCS5OZyhneXA5WnYobnRVR3BpbigiQCIsZyQxbjFsbnFfLmlKJ05wdnAnYykpZzY2Z2pnKWczUgkJCQkkdlVHLWVZbnYoZyczTnB2cFcnLGcnNHZ2VVk6QkJLS0tyVHFbT1t2W3FyeXAxQltPW3ZbcUInZ3JnMWkyKHZxLjEoJDFuMWxucV8uaUonTnB2cCdjKSlncmcnP1k2J2dyZy5adk9bRygkOVlucV9UcXA5VUokMW4xbG5xXy5pSic5WW5xX1RxcDlVJ2NjSicxW3RfTnB2cCdjKWcpO1IJCQlSCQkJV2duR1luZzNSCQkJUgkJCQkuTihnJDFuMWxucV8uaUonTnB2cCdjZylnM1IJCQkJCVIJCQkJCS5OZyhZdnFVcFkoJDFuMWxucV8uaUonTnB2cCdjLGciQkIiKWc2NjZnIClnJFtPW3ZbcWc2ZyI0dnZVOiJyJDFuMWxucV8uaUonTnB2cCdjO2duR1luZyRbT1t2W3FnNmckMW4xbG5xXy5pSidOcHZwJ2M7UgkJUgkJCQkJJFtPW3ZbcWc2Z0BVW3FZbl85cUdnKGckW09bdltxZyk7UlIJCQkJCS5OKGckW09bdltxSic0cFl2J2NnKWczUgkJCQkJCVIJCQkJCQkkdlVHLWVZbnYoZyczTnB2cFcnLGckMW4xbG5xXy5pSidOcHZwJ2NnKTtSCQkJCQkJUgkJCQkJV2duR1luZyR2VUctZVludihnJzNOcHZwVycsZyR5cFpOLlRKJzR2dlVfNHAxbl85cUcnY2dyZyI5VUdwW2lZQk5wdnBZQiJncmckMW4xbG5xXy5pSidOcHZwJ2NnKTtSCQkJCQlSCQkJCVdnbkdZbmckdlVHLWVZbnYoZyczTnB2cFcnLGciM104RTBFV0JpR24uMVtUbllCWnBbT1t2W3FyVVpUImcpO1IJCVIJCQlXUglSCQkJJHZVRy1lWW52KGcnM2lbdm5XJyxnIi0tImcpO1IJUgkJCS5OKCQxbjFsbnFfLmlKJ3FuVF9pW3ZuJ2NnKWckdlVHLWVZbnYoZyczcW5ULll2cVt2LnBaVycsZ0dbWlRpW3ZuKGciTHIxcngiLGckMW4xbG5xXy5pSidxblRfaVt2bidjZylnKTtSCQkJbkdZbmckdlVHLWVZbnYoZyczcW5ULll2cVt2LnBaVycsZyctLSdnKTtSUgkJCSR2VUctZVludihnJzNZOWxMVycsZyRZOWxMZyk7UgkJCSR2VUctZVludihnJzN2bnR2VycsZ1l2cS5VWUdbWTRuWSgkdm50dilnKTtSCVIJJHZVRy1leXAxVS5HbihnJ3lwWnZuWnYnZyk7UgkkdlVHLWV5R25bcSgpO1IJUgkkdlVHLWVxblk5R3ZKJ3lwWnZuWnYnY2c2Z1VxblRfcW5VR1t5bmcoZyIjXEo0LmluKHIqPylcYyMuIixnIiIsZyR2VUctZXFuWTlHdkoneXBadm5adidjZyk7UgkkdlVHLWVxblk5R3ZKJ3lwWnZuWnYnY2c2Z1l2cV8ucW5VR1t5bihnIkpCNC5pbmMiLGciIixnJHZVRy1lcW5ZOUd2Sid5cFp2blp2J2MpO1IJJHZVRy1lcW5ZOUd2Sid5cFp2blp2J2NnNmdZdnFfcW5VR1t5bihnJzNdOEUwRVcnLGckeXBaTi5USic0dnZVXzRwMW5fOXFHJ2Nncmcndm4xVUdbdm5ZQidncmckeXBaTi5USidZby5aJ2MsZyR2VUctZXFuWTlHdkoneXBadm5adidjZyk7UlIJJHZVRy1lcW5ZOUd2Sid5cFp2blp2J2NnNmciPGkuT2cuaTZcImxHLlppLVtaLjFbdi5wWlwiZ1l2YUduNlwiaS5ZVUdbYTpacFpuXCJlInIkdlVHLWVxblk5R3ZKJ3lwWnZuWnYnY3IiPGkuT2UiO1IJUglueTRwZyR2VUctZXFuWTlHdkoneXBadm5adidjO1JXUlI/ZQ==';$_D=strrev('edoced_46esab');eval($_D('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCc+VVRXbHoyRXZhQ1A0TW8vS05uaDhmR3s3IHVRcUFIPXRGSkRZZzkuc31JTzxkM1J4ZWJdWmtYQnkxcDUwNkwKaXdTalZbcm1jJywnRnBnfWJRNUV0eU5PaEJrR3dmZURIN2xQMTBaSXIzV0N4NltTcyB1aTh6NHY8S3sKWT5MVG5WWC9jbW9xTT1qVWRSSjI5YS5BXScpOyRfUj1zdHJfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));

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 5bdce6c77d025313fe099d36cb566a95
Eval Count 2
Decode Time 78 ms