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='P1dNP1hwWGJaKmJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy..
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: filesystem.class.php
-----------------------------------------------------
Use: DLE Files System
=====================================================
*/
use League\Flysystem\Filesystem;
use League\Flysystem\Local\LocalFilesystemAdapter;
use League\Flysystem\Ftp\FtpAdapter;
use League\Flysystem\Ftp\FtpConnectionProvider;
use League\Flysystem\Ftp\FtpConnectionOptions;
use League\Flysystem\PhpseclibV3\SftpConnectionProvider;
use League\Flysystem\PhpseclibV3\SftpAdapter;
use League\Flysystem\UnixVisibility\PortableVisibilityConverter;
use League\Flysystem\FilesystemException;
use League\Flysystem\WebDAV\WebDAVAdapter;
use Sabre\DAV\Client as WebDAVClient;
if( !defined( 'DATALIFEENGINE' ) ) {
header( "HTTP/1.1 403 Forbidden" );
header ( 'Location: ../../' );
die( "Hacking attempt!" );
}
abstract class DLEFiles {
private static $root = null;
private static $local_on_remote_errors = null;
private static $run_force_local = false;
private static $base_local_url = '';
public static $driver = null;
public static $error = null;
public static $remote_error = null;
private static $storages = null;
private static $filesystem = array();
private static $storages_list = null;
public static function init( $driver = null, $local_on_remote_errors = false, $root = null ) {
global $config;
self::$error = self::$remote_error = null;
if( !is_array( self::$storages ) ) {
self::$storages = self::loadStorages();
}
if( is_null( $root ) ) {
self::$root = ROOT_DIR.'/uploads/';
self::$base_local_url = $config['http_home_url'] . 'uploads/';
} else {
$root = self::normalize_path( $root );
if( $root ) {
self::$root = ROOT_DIR.'/'. $root .'/';
self::$base_local_url = $config['http_home_url'] . $root .'/';
} else {
self::$root = ROOT_DIR.'/';
self::$base_local_url = $config['http_home_url'];
}
}
if( is_null( $driver ) ) {
self::$driver = self::$storages['default'];
} elseif ( $driver ) {
$driver = intval($driver);
if( isset( self::$storages[$driver] ) ) self::$driver = $driver;
else self::$driver = self::$storages['default'];
}
if( self::$driver > 0 AND $local_on_remote_errors ) {
self::$local_on_remote_errors = true;
}
if( !isset( self::$filesystem[0] ) ) {
try {
$visibilityConverter = PortableVisibilityConverter::fromArray([
'file' => [
'public' => 0666,
'private' => 0644
],
'dir' => [
'public' => 0777,
'private' => 0755
]
], "public");
$adapter = new LocalFilesystemAdapter(self::$root, $visibilityConverter, LOCK_EX, LocalFilesystemAdapter::DISALLOW_LINKS);
self::$filesystem[0] = new Filesystem($adapter, ['public_url' => self::$base_local_url, 'directory_visibility' => "public", 'visibility' => "public"]);
} catch (Throwable $e) {
self::error($e->getMessage());
return false;
} catch (FilesystemException $e) {
self::error($e->getMessage());
return false;
}
}
if( self::$driver > 0 AND isset( self::$storages[self::$driver] ) ) {
if( !isset(self::$filesystem[self::$driver]) ) {
$adapter_info = self::$storages[self::$driver];
if (!in_array($adapter_info['accesstype'], array("public", "private"))) {
$adapter_info['accesstype'] = "public";
}
$visibilityConverter = PortableVisibilityConverter::fromArray([
'file' => [
'public' => 0666,
'private' => 0644
],
'dir' => [
'public' => 0777,
'private' => 0755
]
], $adapter_info['accesstype']);
try {
$adapter_info['path'] = trim($adapter_info['path']);
if ($adapter_info['path'] and $adapter_info['type'] == '1' or $adapter_info['type'] == '2') {
if (!$adapter_info['path']) $adapter_info['path'] = '/';
else $adapter_info['path'] = '/' . trim($adapter_info['path'], '\\/') . '/';
} elseif( $adapter_info['path'] ) {
$adapter_info['path'] = trim($adapter_info['path'], '\\/');
}
if ($adapter_info['type'] == '1') {
$adapter = new FtpAdapter(
// Connection options
FtpConnectionOptions::fromArray([
'host' => $adapter_info['connect_url'],
'port' => intval($adapter_info['connect_port']),
'root' => $adapter_info['path'],
'username' => $adapter_info['username'],
'password' => $adapter_info['password'],
'timeout' => 5
]),
null,
null,
$visibilityConverter
);
} elseif ($adapter_info['type'] == '2') {
$adapter = new SftpAdapter(
new SftpConnectionProvider(
$adapter_info['connect_url'],
$adapter_info['username'],
$adapter_info['password'],
null, // private key (optional, default: null) can be used instead of password, set to null if password is set
null, // passphrase (optional, default: null), set to null if privateKey is not used or has no passphrase
intval($adapter_info['connect_port']),
false, // use agent (optional, default: false)
5, // timeout (optional, default: 10)
0, // max tries (optional, default: 4)
null, // host fingerprint (optional, default: null),
null
),
$adapter_info['path'],
$visibilityConverter
);
} elseif ($adapter_info['type'] == '3') {
$clientoptions = [];
if (trim($adapter_info['client_key']) and trim($adapter_info['secret_key'])) {
$clientoptions['accessKeyId'] = trim($adapter_info['client_key']);
$clientoptions['accessKeySecret'] = trim($adapter_info['secret_key']);
}
if (trim($adapter_info['region'])) {
$clientoptions['region'] = trim($adapter_info['region']);
}
$clientoptions['sharedCredentialsFile'] = '';
$clientoptions['sharedConfigFile'] = '';
$client = new AsyncAws\SimpleS3\SimpleS3Client($clientoptions);
$adapter = new League\Flysystem\AsyncAwsS3\AsyncAwsS3Adapter($client, $adapter_info['bucket'], $adapter_info['path'], new League\Flysystem\AsyncAwsS3\PortableVisibilityConverter($adapter_info['accesstype']));
} elseif ($adapter_info['type'] == '4' or $adapter_info['type'] == '5') {
if ($adapter_info['type'] == '4') {
$clientoptions = ['endpoint' => 'https://storage.yandexcloud.net'];
} else {
$clientoptions = ['endpoint' => $adapter_info['connect_url']];
}
if (trim($adapter_info['client_key']) and trim($adapter_info['secret_key'])) {
$clientoptions['accessKeyId'] = trim($adapter_info['client_key']);
$clientoptions['accessKeySecret'] = trim($adapter_info['secret_key']);
}
if (trim($adapter_info['region'])) {
$clientoptions['region'] = trim($adapter_info['region']);
}
$clientoptions['sharedCredentialsFile'] = '';
$clientoptions['sharedConfigFile'] = '';
$client = new AsyncAws\SimpleS3\SimpleS3Client($clientoptions);
$adapter = new League\Flysystem\AsyncAwsS3\AsyncAwsS3Adapter($client, $adapter_info['bucket'], $adapter_info['path'], new League\Flysystem\AsyncAwsS3\PortableVisibilityConverter($adapter_info['accesstype']));
} elseif ($adapter_info['type'] == '6') {
$client = new WebDAVClient([
'baseUri' => trim($adapter_info['connect_url']),
'userName' => trim($adapter_info['username']),
'password' => trim($adapter_info['password']),
]);
$adapter = new WebDAVAdapter($client);
} else {
self::$driver = 0;
return false;
}
$adapter_config = ['directory_visibility' => $adapter_info['accesstype'], 'visibility' => $adapter_info['accesstype']];
if( trim($adapter_info['http_url']) ) {
$adapter_config['public_url'] = $adapter_info['http_url'];
}
self::$filesystem[self::$driver] = new Filesystem($adapter, $adapter_config );
} catch (Throwable $e) {
self::error($e->getMessage());
return false;
} catch (FilesystemException $e) {
self::error($e->getMessage());
return false;
}
}
} else self::$driver = 0;
return true;
}
public static function Read( $path, $driver = null ) {
if( is_null( self::$driver ) ) {
DLEFiles::init();
}
if( is_null( $driver ) ) $driver = self::$driver;
if (!isset(self::$filesystem[$driver]) OR !is_object(self::$filesystem[$driver])) {
DLEFiles::init($driver);
if (!is_object(self::$filesystem[$driver])) {
$driver = self::$storages['default'];
}
}
$path = self::normalize_path( $path );
if( is_object(self::$filesystem[$driver]) ) {
try {
return self::$filesystem[$driver]->read($path);
} catch(Throwable $e) {
self::error( $e->getMessage() );
} catch (FilesystemException $e) {
self::error( $e->getMessage() );
}
}
return false;
}
public static function Save( $path, $contents, $driver = null ) {
if (is_null(self::$driver)) {
DLEFiles::init();
}
if (is_null($driver)) $driver = self::$driver;
if (!isset(self::$filesystem[$driver]) OR !is_object(self::$filesystem[$driver])) {
DLEFiles::init($driver);
if (!is_object(self::$filesystem[$driver])) {
$driver = self::$storages['default'];
}
}
$path = self::normalize_path( $path );
if( is_object(self::$filesystem[$driver]) ) {
try {
self::$filesystem[$driver]->write($path, $contents);
return true;
} catch(Throwable $e) {
self::error( $e->getMessage() );
} catch (FilesystemException $e) {
self::error( $e->getMessage() );
}
}
if( self::$run_force_local ) {
try {
self::$filesystem[0]->write($path, $contents);
return true;
} catch(Throwable $e) {
self::error( $e->getMessage() );
} catch (FilesystemException $e) {
self::error( $e->getMessage() );
}
self::$run_force_local = false;
}
return false;
}
public static function FileExists( $path, $driver = null ) {
if (is_null(self::$driver)) {
DLEFiles::init();
}
if (is_null($driver)) $driver = self::$driver;
if (!isset(self::$filesystem[$driver]) OR !is_object(self::$filesystem[$driver])) {
DLEFiles::init($driver);
if (!is_object(self::$filesystem[$driver])) {
$driver = self::$storages['default'];
}
}
$path = self::normalize_path( $path );
if( is_object(self::$filesystem[$driver]) ) {
try {
return self::$filesystem[$driver]->fileExists($path);
} catch(Throwable $e) {
self::error( $e->getMessage() );
} catch (FilesystemException $e) {
self::error( $e->getMessage() );
}
}
return false;
}
public static function Size( $path, $driver = null ) {
if (is_null(self::$driver)) {
DLEFiles::init();
}
if (is_null($driver)) $driver = self::$driver;
if (!isset(self::$filesystem[$driver]) OR !is_object(self::$filesystem[$driver])) {
DLEFiles::init($driver);
if (!is_object(self::$filesystem[$driver])) {
$driver = self::$storages['default'];
}
}
$path = self::normalize_path( $path );
if( is_object(self::$filesystem[$driver]) ) {
try {
return self::$filesystem[$driver]->fileSize($path);
} catch(Throwable $e) {
self::error( $e->getMessage() );
} catch (FilesystemException $e) {
self::error( $e->getMessage() );
}
}
return 0;
}
public static function Checksum($path, $driver = null)
{
if (is_null(self::$driver)) {
DLEFiles::init();
}
if (is_null($driver)) $driver = self::$driver;
if ( !is_object(self::$filesystem[$driver]) ) {
DLEFiles::init($driver);
}
$path = self::normalize_path($path);
if ( is_object(self::$filesystem[$driver]) ) {
try {
return self::$filesystem[$driver]->checksum($path);
} catch (Throwable $e) {
self::error($e->getMessage());
} catch (FilesystemException $e) {
self::error($e->getMessage());
}
}
return '';
}
public static function Delete( $path, $driver = null ) {
if (is_null(self::$driver)) {
DLEFiles::init();
}
if (is_null($driver)) $driver = self::$driver;
if (!isset(self::$filesystem[$driver]) OR !is_object(self::$filesystem[$driver])) {
DLEFiles::init($driver);
if (!is_object(self::$filesystem[$driver])) {
$driver = self::$storages['default'];
}
}
$path = self::normalize_path( $path );
if( is_object(self::$filesystem[$driver]) ) {
try {
return self::$filesystem[$driver]->delete($path);
} catch(Throwable $e) {
self::error( $e->getMessage() );
} catch (FilesystemException $e) {
self::error( $e->getMessage() );
}
}
return false;
}
public static function ReadStream( $path, $driver = null ) {
if (is_null(self::$driver)) {
DLEFiles::init();
}
if (is_null($driver)) $driver = self::$driver;
if (!isset(self::$filesystem[$driver]) OR !is_object(self::$filesystem[$driver])) {
DLEFiles::init($driver);
if (!is_object(self::$filesystem[$driver])) {
$driver = self::$storages['default'];
}
}
$path = self::normalize_path( $path );
if( is_object(self::$filesystem[$driver]) ) {
try {
return self::$filesystem[$driver]->readStream($path);
} catch(Throwable $e) {
self::error( $e->getMessage() );
} catch (FilesystemException $e) {
self::error( $e->getMessage() );
}
}
return false;
}
public static function WriteStream( $path, $stream, $driver = null ) {
if (is_null(self::$driver)) {
DLEFiles::init();
}
if (is_null($driver)) $driver = self::$driver;
if (!isset(self::$filesystem[$driver]) OR !is_object(self::$filesystem[$driver])) {
DLEFiles::init($driver);
if (!is_object(self::$filesystem[$driver])) {
$driver = self::$storages['default'];
}
}
$path = self::normalize_path( $path );
if( is_object(self::$filesystem[$driver]) ) {
try {
self::$filesystem[$driver]->writeStream($path, $stream);
return true;
} catch(Throwable $e) {
self::error( $e->getMessage() );
} catch (FilesystemException $e) {
self::error( $e->getMessage() );
}
}
if( self::$run_force_local ) {
try {
self::$filesystem[0]->writeStream($path, $stream);
return true;
} catch(Throwable $e) {
self::error( $e->getMessage() );
} catch (FilesystemException $e) {
self::error( $e->getMessage() );
}
self::$run_force_local = false;
}
return false;
}
public static function Rename( $source, $destination, $driver = null ) {
if (is_null(self::$driver)) {
DLEFiles::init();
}
if (is_null($driver)) $driver = self::$driver;
if (!isset(self::$filesystem[$driver]) OR !is_object(self::$filesystem[$driver])) {
DLEFiles::init($driver);
if (!is_object(self::$filesystem[$driver])) {
$driver = self::$storages['default'];
}
}
$source = self::normalize_path( $source );
$destination = self::normalize_path( $destination );
if( is_object(self::$filesystem[$driver]) ) {
try {
self::$filesystem[$driver]->move($source, $destination);
return true;
} catch(Throwable $e) {
self::error( $e->getMessage() );
} catch (FilesystemException $e) {
self::error( $e->getMessage() );
}
}
return false;
}
public static function MimeType( $path ) {
$path = self::normalize_path( $path );
try {
$detector = new League\MimeTypeDetection\ExtensionMimeTypeDetector();
return $detector->detectMimeTypeFromPath($path);
} catch(Throwable $e) {
self::error( $e->getMessage() );
} catch (FilesystemException $e) {
self::error( $e->getMessage() );
}
return false;
}
public static function ListDirectory( $path, $allowed_ext = null, $driver = null, $recursive = false ) {
if (is_null(self::$driver)) {
DLEFiles::init();
}
if (is_null($driver)) $driver = self::$driver;
if (!isset(self::$filesystem[$driver]) OR !is_object(self::$filesystem[$driver])) {
DLEFiles::init($driver);
if (!is_object(self::$filesystem[$driver])) {
$driver = self::$storages['default'];
}
}
$path = self::normalize_path( $path );
$listing = array();
if( is_object(self::$filesystem[$driver]) ) {
try {
$listing = self::$filesystem[$driver]->listContents($path)->sortByPath();
} catch(Throwable $e) {
self::error( $e->getMessage() );
} catch (FilesystemException $e) {
self::error( $e->getMessage() );
}
}
$array = array('dirs' => array(), 'files' => array());
foreach ($listing as $item) {
if( $path == $item->path() ) continue;
$path_info = $item->path();
$finfo = pathinfo( $path_info );
$name = $finfo['basename'];
if ($item instanceof \League\Flysystem\FileAttributes) {
if( is_array( $allowed_ext ) ) {
$ext = strtolower($finfo['extension']);
if(!$ext OR !in_array( $ext, $allowed_ext )) continue;
}
$array['files'][] = array('path' => $path_info, 'name' => $name, 'size' => $item->fileSize() );
} elseif ($item instanceof \League\Flysystem\DirectoryAttributes) {
$array['dirs'][] = array('path' => $path_info, 'name' => $name );
}
}
return $array;
}
public static function DeleteDirectory( $path, $driver = null ) {
if (is_null(self::$driver)) {
DLEFiles::init();
}
if (is_null($driver)) $driver = self::$driver;
if (!isset(self::$filesystem[$driver]) OR !is_object(self::$filesystem[$driver])) {
DLEFiles::init($driver);
if (!is_object(self::$filesystem[$driver])) {
$driver = self::$storages['default'];
}
}
$path = self::normalize_path( $path );
if( is_object(self::$filesystem[$driver]) ) {
try {
return self::$filesystem[$driver]->deleteDirectory($path);
} catch(Throwable $e) {
self::error( $e->getMessage() );
} catch (FilesystemException $e) {
self::error( $e->getMessage() );
}
}
return false;
}
public static function CreateDirectory( $path, $driver = null ) {
if (is_null(self::$driver)) {
DLEFiles::init();
}
if (is_null($driver)) $driver = self::$driver;
if (!isset(self::$filesystem[$driver]) OR !is_object(self::$filesystem[$driver])) {
DLEFiles::init($driver);
if (!is_object(self::$filesystem[$driver])) {
$driver = self::$storages['default'];
}
}
$path = self::normalize_path( $path );
if( is_object(self::$filesystem[$driver]) ) {
try {
return self::$filesystem[$driver]->createDirectory($path);
} catch(Throwable $e) {
self::error( $e->getMessage() );
} catch (FilesystemException $e) {
self::error( $e->getMessage() );
}
}
return false;
}
public static function GetBaseURL( $driver = null ) {
if (is_null(self::$driver)) {
DLEFiles::init();
}
if (is_null($driver)) $driver = self::$driver;
if (!isset(self::$filesystem[$driver]) OR !is_object(self::$filesystem[$driver])) {
DLEFiles::init($driver);
if (!is_object(self::$filesystem[$driver])) {
$driver = self::$storages['default'];
}
}
if (is_object(self::$filesystem[$driver])) {
try {
return self::$filesystem[$driver]->publicUrl('');
} catch (Throwable $e) {
if( $driver ) {
return isset(self::$storages[$driver]['http_url']) ? self::$storages[$driver]['http_url'] : '';
} else {
return self::$base_local_url;
}
}
}
return '';
}
private static function normalize_path( $path ) {
$path = trim(str_replace(chr(0), '', (string)$path));
$path = str_replace(array('/', '\\'), '/', $path);
if( !$path ) return '';
if (preg_match('#\p{C}+#u', $path)) {
return '';
}
$path_parts = pathinfo( $path );
$filename = $path_parts['basename'];
$parts = array_filter(explode('/', $path_parts['dirname']), 'strlen');
$absolutes = array();
foreach ($parts as $part) {
$part = trim($part);
if ('.' == $part OR '..' == $part OR !$part) continue;
$absolutes[] = $part;
}
$path = implode('/', $absolutes);
if ( $path ) {
$path = $path.'/';
}
if( $filename ) {
$path .= $filename;
}
if( is_null( self::$root ) ) {
$root = ROOT_DIR.'/';
} else {
$root = self::$root;
}
if(stripos ($path, $root) === 0) {
$path = str_ireplace($root, '', $path);
}
return $path;
}
private static function error( $message ) {
$message = str_ireplace( ROOT_DIR, '', $message );
if( self::$driver > 0 AND self::$local_on_remote_errors) {
self::$driver = 0;
self::$remote_error = $message;
self::$run_force_local = true;
} else {
self::$error = $message;
}
}
public static function getStorages() {
if (is_null(self::$storages_list)) {
self::$storages = self::loadStorages();
}
return self::$storages_list;
}
public static function getDefaultStorage() {
if (!is_array(self::$storages)) {
self::$storages = self::loadStorages();
}
return self::$storages['default'];
}
private static function loadStorages() {
global $db;
if ( file_exists( ENGINE_DIR . '/cache/system/storages.php' ) ) {
include_once ( ENGINE_DIR . '/cache/system/storages.php' );
if( isset($storages) ) {
$storages = json_decode($storages, true);
if( !is_array($storages)) unset($storages);
}
}
if ( !isset($storages) ) {
$storages = array( 'default' => 0) ;
$db->query("SELECT * FROM " . USERPREFIX . "_storage WHERE `enabled`='1' ORDER BY id ASC");
while ($row = $db->get_row()) {
$storages[$row['id']] = array();
if( $row['default_storage'] ) {
$storages['default'] = $row['id'];
}
foreach ($row as $key => $value) {
$storages[$row['id']][$key] = stripslashes($value);
}
}
$db->free();
$save_data = json_encode($storages, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
$save_data = str_replace("'", "\'", $save_data);
$save_data = "<?php \n\n//Storages Configurations\n\n\$storages = '" . $save_data . "';\n\n?>";
file_put_contents(ENGINE_DIR . '/cache/system/storages.php', $save_data, LOCK_EX);
@chmod(ENGINE_DIR . '/cache/system/storages.php', 0666);
}
self::$storages_list = array();
foreach ($storages as $value) {
if ( isset( $value['id'] ) ) {
self::$storages_list[$value['id']] = $value['name'];
}
}
return $storages;
}
public static function FindDriver( $url ) {
if (!is_array(self::$storages)) {
self::$storages = self::loadStorages();
}
$url = parse_url($url);
if ( isset($url['scheme']) ) {
$url = $url['scheme'] . '://' . $url['host'];
} else {
$url = '//' . $url['host'];
}
foreach (self::$storages as $value) {
if ( isset( $value['id'] ) ) {
if (isset($value['http_url']) AND stripos($value['http_url'], $url) === 0) {
return $value['id'];
}
}
}
return 0;
}
}
Did this file decode correctly?
Original Code
$_F=__FILE__;$_X='P1dNP1hwWGJaKmJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycmJFNiAyIEs3M1ZFdXNEN3NWRS1FLm1FdkgzMkNWY2hFblZ3NyBFUTBIeFhFYi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tYkVwMjJYaDpaWndUVi1zVmNoPjB4WmItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLWJFW0hYbTA3RHAyRShJKUVSZGRBLVJkUmxFdkgzMkNWY2hFblZ3NyBFUTBIeFhicnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJiRWZwN2hFSUh3VkU3aEVYMEgyVkkyVndFLm1FSUhYbTA3RHAyYnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJyYkV9N1RWOkUzN1RWaG1oMlZnPklUIGhoPlhwWGItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLWJFTmhWOkU2S3VFfTdUVmhFdm1oMlZnYnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJyYipaYmJ4aFZFS1YgRHhWXH1UbWhtaDJWZ1x9N1RWaG1oMlZnO2J4aFZFS1YgRHhWXH1UbWhtaDJWZ1xLSEkgVFxLSEkgVH03VFZobWgyVmdqdyBYMlYwO2J4aFZFS1YgRHhWXH1UbWhtaDJWZ1x9MlhcfTJYancgWDJWMDtieGhWRUtWIER4Vlx9VG1obWgyVmdcfTJYXH0yWFtIc3NWSTI3SHN6MEgxN3dWMDtieGhWRUtWIER4Vlx9VG1obWgyVmdcfTJYXH0yWFtIc3NWSTI3SHNdWDI3SHNoO2J4aFZFS1YgRHhWXH1UbWhtaDJWZ1x6cFhoVklUNy50bFx2MzJYW0hzc1ZJMjdIc3owSDE3d1YwO2J4aFZFS1YgRHhWXH1UbWhtaDJWZ1x6cFhoVklUNy50bFx2MzJYancgWDJWMDtieGhWRUtWIER4Vlx9VG1obWgyVmdcTnM3e3Q3aDcuN1Q3Mm1cekgwMiAuVFZ0N2g3LjdUNzJtW0hzMVYwMlYwO2J4aFZFS1YgRHhWXH1UbWhtaDJWZ1x9N1RWaG1oMlZndXtJVlgyN0hzO2J4aFZFS1YgRHhWXH1UbWhtaDJWZ1xHVi42anRcR1YuNmp0ancgWDJWMDtieGhWRXYgLjBWXDZqdFxbVDdWczJFIGhFR1YuNmp0W1Q3VnMyO2JiNzMoRSF3VjM3c1Z3KEUnNmpmaktxfXV1Q1FxQ3UnRSlFKUUvYglwViB3VjAoRSJMZmZ6Wjw+PEVBZGxFfUgwLjd3d1ZzIkUpO2IJcFYgd1YwRShFJ0tISSAyN0hzOkU+Plo+PlonRSk7Ygl3N1YoRSJMIElCN3NERSAyMlZnWDIhIkUpO2JQYmIgLmgyMCBJMkVJVCBoaEU2S3V9N1RWaEUvYmIJWDA3MSAyVkVoMiAyN0lFJDBISDJFckVzeFRUO2JiCVgwNzEgMlZFaDIgMjdJRSRUSEkgVF9Ic18wVmdIMlZfVjAwSDBoRXJFc3hUVDtiCVgwNzEgMlZFaDIgMjdJRSQweHNfM0gwSVZfVEhJIFRFckUzIFRoVjtiCVgwNzEgMlZFaDIgMjdJRSQuIGhWX1RISSBUX3gwVEVyRScnO2IJYglYeC5UN0lFaDIgMjdJRSR3MDcxVjBFckVzeFRUOwliCVh4LlQ3SUVoMiAyN0lFJFYwMEgwRUVyRXN4VFQ7YglYeC5UN0lFaDIgMjdJRSQwVmdIMlZfVjAwSDBFckVzeFRUO2JiCVgwNzEgMlZFaDIgMjdJRSRoMkgwIERWaEVyRXN4VFQ7YglYMDcxIDJWRWgyIDI3SUUkMzdUVmhtaDJWZ0VyRSAwMCBtKCk7YglYMDcxIDJWRWgyIDI3SUUkaDJIMCBEVmhfVDdoMkVyRXN4VFQ7YmIJWHguVDdJRWgyIDI3SUUzeHNJMjdIc0U3czcyKEUkdzA3MVYwRXJFc3hUVCxFJFRISSBUX0hzXzBWZ0gyVl9WMDBIMGhFckUzIFRoVixFJDBISDJFckVzeFRURSlFL2IJCURUSC4gVEUkSUhzMzdEO2JiCQloVlQzOjokVjAwSDBFckVoVlQzOjokMFZnSDJWX1YwMEgwRXJFc3hUVDtiCQliCQk3MyhFITdoXyAwMCBtKEVoVlQzOjokaDJIMCBEVmhFKUUpRS9iCQkJaFZUMzo6JGgySDAgRFZoRXJFaFZUMzo6VEggd3YySDAgRFZoKCk7YgkJUGJiCQk3MyhFN2hfc3hUVChFJDBISDJFKUUpRS9iCQkJYgkJCWhWVDM6OiQwSEgyRXJFNF1dZl82cTQ+J1p4WFRIIHdoWic7YgkJCWhWVDM6OiQuIGhWX1RISSBUX3gwVEVyRSRJSHMzN0RVJ3AyMlhfcEhnVl94MFQnWUU+RSd4WFRIIHdoWic7YgkJCWIJCVBFVlRoVkUvYgkJCWIJCQkkMEhIMkVyRWhWVDM6OnNIMGcgVDc4Vl9YIDJwKEUkMEhIMkUpO2IJCQliCQkJNzMoRSQwSEgyRSlFL2IJCQkJaFZUMzo6JDBISDJFckU0XV1mXzZxND4nWic+RSQwSEgyRT4nWic7YgkJCQloVlQzOjokLiBoVl9USEkgVF94MFRFckUkSUhzMzdEVSdwMjJYX3BIZ1ZfeDBUJ1lFPkUkMEhIMkU+J1onO2IJCQlQRVZUaFZFL2IJCQkJaFZUMzo6JDBISDJFckU0XV1mXzZxND4nWic7YgkJCQloVlQzOjokLiBoVl9USEkgVF94MFRFckUkSUhzMzdEVSdwMjJYX3BIZ1ZfeDBUJ1k7YgkJCVBiCQkJYgkJUGIJCWIJCTczKEU3aF9zeFRUKEUkdzA3MVYwRSlFKUUvYmIJCQloVlQzOjokdzA3MVYwRXJFaFZUMzo6JGgySDAgRFZoVSd3VjMgeFQyJ1k7YgkJCWIJCVBFVlRoVjczRShFJHcwNzFWMEUpRS9iYgkJCSR3MDcxVjBFckU3czIxIFQoJHcwNzFWMCk7YgkJCTczKEU3aGhWMihFaFZUMzo6JGgySDAgRFZoVSR3MDcxVjBZRSlFKUVoVlQzOjokdzA3MVYwRXJFJHcwNzFWMDtiCQkJVlRoVkVoVlQzOjokdzA3MVYwRXJFaFZUMzo6JGgySDAgRFZoVSd3VjMgeFQyJ1k7YgkJCWIJCVBiCQkJYgkJNzMoRWhWVDM6OiR3MDcxVjBFV0VkRWpDNkUkVEhJIFRfSHNfMFZnSDJWX1YwMEgwaEUpRS9iCQkJaFZUMzo6JFRISSBUX0hzXzBWZ0gyVl9WMDBIMGhFckUyMHhWO2IJCVBiYgkJNzMoRSE3aGhWMihFaFZUMzo6JDM3VFZobWgyVmdVZFlFKUUpRS9iYgkJCTIwbUUvYmIJCQkJJDE3aDcuN1Q3Mm1bSHMxVjAyVjBFckV6SDAyIC5UVnQ3aDcuN1Q3Mm1bSHMxVjAyVjA6OjMwSGdqMDAgbShVYgkJCQkJJzM3VFYnRXJXRVViCQkJCQkJJ1h4LlQ3SSdFcldFZGlpaSxiCQkJCQkJJ1gwNzEgMlYnRXJXRWRpQUFiCQkJCQlZLGIJCQkJCSd3NzAnRXJXRVViCQkJCQkJJ1h4LlQ3SSdFcldFZDU1NSxiCQkJCQkJJ1gwNzEgMlYnRXJXRWQ1a2tiCQkJCQlZYgkJCQlZLEUiWHguVDdJIik7YmIJCQkJJCB3IFgyVjBFckVzVmNFS0hJIFR9N1RWaG1oMlZnancgWDJWMChoVlQzOjokMEhIMixFJDE3aDcuN1Q3Mm1bSHMxVjAyVjAsRUtdW0pfdWEsRUtISSBUfTdUVmhtaDJWZ2p3IFgyVjA6OjZxdmpLS11HX0txQ0p2KTtiYgkJCQloVlQzOjokMzdUVmhtaDJWZ1VkWUVyRXNWY0V9N1RWaG1oMlZnKCQgdyBYMlYwLEVVJ1h4LlQ3SV94MFQnRXJXRWhWVDM6OiQuIGhWX1RISSBUX3gwVCxFJ3c3MFZJMkgwbV8xN2g3LjdUNzJtJ0VyV0UiWHguVDdJIixFJzE3aDcuN1Q3Mm0nRXJXRSJYeC5UN0kiWSk7YgkJCVBFSSAySXBFKGZwMEhjIC5UVkUkVilFL2JiCQkJCWhWVDM6OlYwMEgwKCRWLVdEVjJuVmhoIERWKCkpO2IJCQkJMFYyeDBzRTMgVGhWO2IJCQlQRUkgMklwRSh9N1RWaG1oMlZndXtJVlgyN0hzRSRWKUUvYgkJCQloVlQzOjpWMDBIMCgkVi1XRFYyblZoaCBEVigpKTtiCQkJCTBWMngwc0UzIFRoVjtiCQkJUGJiCQlQYmIJCTczKEVoVlQzOjokdzA3MVYwRVdFZEVFakM2RTdoaFYyKEVoVlQzOjokaDJIMCBEVmhVaFZUMzo6JHcwNzFWMFlFKUVFKUUvYmIJCQk3MyhFITdoaFYyKGhWVDM6OiQzN1RWaG1oMlZnVWhWVDM6OiR3MDcxVjBZKUUpRS9iCQkJCSQgdyBYMlYwXzdzM0hFckVoVlQzOjokaDJIMCBEVmhVaFZUMzo6JHcwNzFWMFk7YmIJCQkJNzNFKCE3c18gMDAgbSgkIHcgWDJWMF83czNIVScgSUlWaGgybVhWJ1ksRSAwMCBtKCJYeC5UN0kiLEUiWDA3MSAyViIpKSlFL2IJCQkJCSQgdyBYMlYwXzdzM0hVJyBJSVZoaDJtWFYnWUVyRSJYeC5UN0kiO2IJCQkJUGJiCQkJCSQxN2g3LjdUNzJtW0hzMVYwMlYwRXJFekgwMiAuVFZ0N2g3LjdUNzJtW0hzMVYwMlYwOjozMEhnajAwIG0oVWIJCQkJCSczN1RWJ0VyV0VVYgkJCQkJCSdYeC5UN0knRXJXRWRpaWksYgkJCQkJCSdYMDcxIDJWJ0VyV0VkaUFBYgkJCQkJWSxiCQkJCQkndzcwJ0VyV0VVYgkJCQkJCSdYeC5UN0knRXJXRWQ1NTUsYgkJCQkJCSdYMDcxIDJWJ0VyV0VkNWtrYgkJCQkJWWIJCQkJWSxFJCB3IFgyVjBfN3MzSFUnIElJVmhoMm1YVidZKTtiYmIJCQkJMjBtRS9iYgkJCQkJJCB3IFgyVjBfN3MzSFUnWCAycCdZRXJFMjA3ZygkIHcgWDJWMF83czNIVSdYIDJwJ1kpO2JiCQkJCQk3M0UoJCB3IFgyVjBfN3MzSFUnWCAycCdZRSBzd0VFJCB3IFgyVjBfN3MzSFUnMm1YVidZRXJyRSc8J0VIMEUkIHcgWDJWMF83czNIVScybVhWJ1lFcnJFJ1InKUUvYmIJCQkJCQk3M0UoISQgdyBYMlYwXzdzM0hVJ1ggMnAnWSlFJCB3IFgyVjBfN3MzSFUnWCAycCdZRXJFJ1onO2IJCQkJCQlWVGhWRSQgdyBYMlYwXzdzM0hVJ1ggMnAnWUVyRSdaJ0U+RTIwN2coJCB3IFgyVjBfN3MzSFUnWCAycCdZLEUnXFxaJylFPkUnWic7YgkJCQkJYgkJCQkJUEVWVGhWNzMoRSQgdyBYMlYwXzdzM0hVJ1ggMnAnWUUpRS9iCQkJCQkJYgkJCQkJCSQgdyBYMlYwXzdzM0hVJ1ggMnAnWUVyRTIwN2coJCB3IFgyVjBfN3MzSFUnWCAycCdZLEUnXFxaJyk7YgkJCQkJUGJiCQkJCQk3M0UoJCB3IFgyVjBfN3MzSFUnMm1YVidZRXJyRSc8JylFL2JiCQkJCQkJJCB3IFgyVjBFckVzVmNFfTJYancgWDJWMChiCQkJCQkJCVpaRVtIc3NWSTI3SHNFSFgyN0hzaGIJCQkJCQkJfTJYW0hzc1ZJMjdIc11YMjdIc2g6OjMwSGdqMDAgbShVYgkJCQkJCQkJJ3BIaDInRXJXRSQgdyBYMlYwXzdzM0hVJ0lIc3NWSTJfeDBUJ1ksYgkJCQkJCQkJJ1hIMDInRXJXRTdzMjEgVCgkIHcgWDJWMF83czNIVSdJSHNzVkkyX1hIMDInWSksYgkJCQkJCQkJJzBISDInRXJXRSQgdyBYMlYwXzdzM0hVJ1ggMnAnWSxiCQkJCQkJCQkneGhWMHMgZ1YnRXJXRSQgdyBYMlYwXzdzM0hVJ3hoVjBzIGdWJ1ksYgkJCQkJCQkJJ1ggaGhjSDB3J0VyV0UkIHcgWDJWMF83czNIVSdYIGhoY0gwdydZLGIJCQkJCQkJCScyN2dWSHgyJ0VyV0VrYgkJCQkJCQlZKSxiCQkJCQkJCXN4VFQsYgkJCQkJCQlzeFRULGIJCQkJCQkJJDE3aDcuN1Q3Mm1bSHMxVjAyVjBiCQkJCQkJKTtiCQkJCQlQRVZUaFY3M0UoJCB3IFgyVjBfN3MzSFUnMm1YVidZRXJyRSdSJylFL2JiCQkJCQkJJCB3IFgyVjBFckVzVmNFdjMyWGp3IFgyVjAoYgkJCQkJCQlzVmNFdjMyWFtIc3NWSTI3SHN6MEgxN3dWMChiCQkJCQkJCQkkIHcgWDJWMF83czNIVSdJSHNzVkkyX3gwVCdZLGIJCQkJCQkJCSQgdyBYMlYwXzdzM0hVJ3hoVjBzIGdWJ1ksYgkJCQkJCQkJJCB3IFgyVjBfN3MzSFUnWCBoaGNIMHcnWSxiCQkJCQkJCQlzeFRULEVaWkVYMDcxIDJWRUJWbUUoSFgyN0hzIFQsRXdWMyB4VDI6RXN4VFQpRUkgc0UuVkV4aFZ3RTdzaDJWIHdFSDNFWCBoaGNIMHcsRWhWMkUySEVzeFRURTczRVggaGhjSDB3RTdoRWhWMmIJCQkJCQkJCXN4VFQsRVpaRVggaGhYcDAgaFZFKEhYMjdIcyBULEV3VjMgeFQyOkVzeFRUKSxFaFYyRTJIRXN4VFRFNzNFWDA3MSAyVkpWbUU3aEVzSDJFeGhWd0VIMEVwIGhFc0hFWCBoaFhwMCBoVmIJCQkJCQkJCTdzMjEgVCgkIHcgWDJWMF83czNIVSdJSHNzVkkyX1hIMDInWSksYgkJCQkJCQkJMyBUaFYsRVpaRXhoVkUgRFZzMkUoSFgyN0hzIFQsRXdWMyB4VDI6RTMgVGhWKWIJCQkJCQkJCWssRVpaRTI3Z1ZIeDJFKEhYMjdIcyBULEV3VjMgeFQyOkU8ZCliCQkJCQkJCQlkLEVaWkVnIHtFMjA3VmhFKEhYMjdIcyBULEV3VjMgeFQyOkVBKWIJCQkJCQkJCXN4VFQsRVpaRXBIaDJFMzdzRFYwWDA3czJFKEhYMjdIcyBULEV3VjMgeFQyOkVzeFRUKSxiCQkJCQkJCQlzeFRUYgkJCQkJCQkpLGIJCQkJCQkJJCB3IFgyVjBfN3MzSFUnWCAycCdZLGIJCQkJCQkJJDE3aDcuN1Q3Mm1bSHMxVjAyVjBiCQkJCQkJKTtiCQkJCQlQRVZUaFY3M0UoJCB3IFgyVjBfN3MzSFUnMm1YVidZRXJyRSdsJylFL2JiCQkJCQkJJElUN1ZzMkhYMjdIc2hFckVVWTtiYgkJCQkJCTczRSgyMDdnKCQgdyBYMlYwXzdzM0hVJ0lUN1ZzMl9CVm0nWSlFIHN3RTIwN2coJCB3IFgyVjBfN3MzSFUnaFZJMFYyX0JWbSdZKSlFL2JiCQkJCQkJCSRJVDdWczJIWDI3SHNoVScgSUlWaGhKVm1xdydZRXJFMjA3ZygkIHcgWDJWMF83czNIVSdJVDdWczJfQlZtJ1kpO2IJCQkJCQkJJElUN1ZzMkhYMjdIc2hVJyBJSVZoaEpWbXZWSTBWMidZRXJFMjA3ZygkIHcgWDJWMF83czNIVSdoVkkwVjJfQlZtJ1kpO2IJCQkJCQlQYmIJCQkJCQk3M0UoMjA3ZygkIHcgWDJWMF83czNIVScwVkQ3SHMnWSkpRS9iCQkJCQkJCSRJVDdWczJIWDI3SHNoVScwVkQ3SHMnWUVyRTIwN2coJCB3IFgyVjBfN3MzSFUnMFZEN0hzJ1kpO2IJCQkJCQlQYmIJCQkJCQkkSVQ3VnMySFgyN0hzaFUnaHAgMFZ3WzBWd1ZzMjcgVGh9N1RWJ1lFckUnJztiCQkJCQkJJElUN1ZzMkhYMjdIc2hVJ2hwIDBWd1tIczM3RH03VFYnWUVyRScnO2JiCQkJCQkJJElUN1ZzMkVyRXNWY0VqaG1zSWpjaFx2N2dYVFZ2bFx2N2dYVFZ2bFtUN1ZzMigkSVQ3VnMySFgyN0hzaCk7YmIJCQkJCQkkIHcgWDJWMEVyRXNWY0VLViBEeFZcfVRtaG1oMlZnXGpobXNJamNodmxcamhtc0lqY2h2bGp3IFgyVjAoJElUN1ZzMixFJCB3IFgyVjBfN3MzSFUnLnhJQlYyJ1ksRSQgdyBYMlYwXzdzM0hVJ1ggMnAnWSxFc1ZjRUtWIER4Vlx9VG1obWgyVmdcamhtc0lqY2h2bFx6SDAyIC5UVnQ3aDcuN1Q3Mm1bSHMxVjAyVjAoJCB3IFgyVjBfN3MzSFUnIElJVmhoMm1YVidZKSk7YgkJCQkJUEVWVGhWNzNFKCQgdyBYMlYwXzdzM0hVJzJtWFYnWUVyckUnQSdFSDBFJCB3IFgyVjBfN3MzSFUnMm1YVidZRXJyRSdrJylFL2JiCQkJCQkJNzNFKCQgdyBYMlYwXzdzM0hVJzJtWFYnWUVyckUnQScpRS9iCQkJCQkJCSRJVDdWczJIWDI3SHNoRXJFVSdWc3dYSDdzMidFcldFJ3AyMlhoOlpaaDJIMCBEVj5tIHN3VntJVEh4dz5zVjInWTtiCQkJCQkJUEVWVGhWRS9iCQkJCQkJCSRJVDdWczJIWDI3SHNoRXJFVSdWc3dYSDdzMidFcldFJCB3IFgyVjBfN3MzSFUnSUhzc1ZJMl94MFQnWVk7YgkJCQkJCVBiYgkJCQkJCTczRSgyMDdnKCQgdyBYMlYwXzdzM0hVJ0lUN1ZzMl9CVm0nWSlFIHN3RTIwN2coJCB3IFgyVjBfN3MzSFUnaFZJMFYyX0JWbSdZKSlFL2JiCQkJCQkJCSRJVDdWczJIWDI3SHNoVScgSUlWaGhKVm1xdydZRXJFMjA3ZygkIHcgWDJWMF83czNIVSdJVDdWczJfQlZtJ1kpO2IJCQkJCQkJJElUN1ZzMkhYMjdIc2hVJyBJSVZoaEpWbXZWSTBWMidZRXJFMjA3ZygkIHcgWDJWMF83czNIVSdoVkkwVjJfQlZtJ1kpO2IJCQkJCQlQYmIJCQkJCQk3M0UoMjA3ZygkIHcgWDJWMF83czNIVScwVkQ3SHMnWSkpRS9iCQkJCQkJCSRJVDdWczJIWDI3SHNoVScwVkQ3SHMnWUVyRTIwN2coJCB3IFgyVjBfN3MzSFUnMFZEN0hzJ1kpO2IJCQkJCQlQYmIJCQkJCQkkSVQ3VnMySFgyN0hzaFUnaHAgMFZ3WzBWd1ZzMjcgVGh9N1RWJ1lFckUnJztiCQkJCQkJJElUN1ZzMkhYMjdIc2hVJ2hwIDBWd1tIczM3RH03VFYnWUVyRScnO2JiCQkJCQkJJElUN1ZzMkVyRXNWY0VqaG1zSWpjaFx2N2dYVFZ2bFx2N2dYVFZ2bFtUN1ZzMigkSVQ3VnMySFgyN0hzaCk7YmIJCQkJCQkkIHcgWDJWMEVyRXNWY0VLViBEeFZcfVRtaG1oMlZnXGpobXNJamNodmxcamhtc0lqY2h2bGp3IFgyVjAoJElUN1ZzMixFJCB3IFgyVjBfN3MzSFUnLnhJQlYyJ1ksRSQgdyBYMlYwXzdzM0hVJ1ggMnAnWSxFc1ZjRUtWIER4Vlx9VG1obWgyVmdcamhtc0lqY2h2bFx6SDAyIC5UVnQ3aDcuN1Q3Mm1bSHMxVjAyVjAoJCB3IFgyVjBfN3MzSFUnIElJVmhoMm1YVidZKSk7YgkJCQkJUEVWVGhWNzNFKCQgdyBYMlYwXzdzM0hVJzJtWFYnWUVyckUnaScpRS9iYgkJCQkJCSRJVDdWczJFckVzVmNFR1YuNmp0W1Q3VnMyKFViCQkJCQkJCScuIGhWTjA3J0VyV0UyMDdnKCQgdyBYMlYwXzdzM0hVJ0lIc3NWSTJfeDBUJ1kpLGIJCQkJCQkJJ3hoVjBDIGdWJ0VyV0UyMDdnKCQgdyBYMlYwXzdzM0hVJ3hoVjBzIGdWJ1kpLGIJCQkJCQkJJ1ggaGhjSDB3J0VyV0UyMDdnKCQgdyBYMlYwXzdzM0hVJ1ggaGhjSDB3J1kpLGIJCQkJCQlZKTtiYgkJCQkJCSQgdyBYMlYwRXJFc1ZjRUdWLjZqdGp3IFgyVjAoJElUN1ZzMik7YgkJCQkJYgkJCQkJUEVWVGhWRS9iYgkJCQkJCWhWVDM6OiR3MDcxVjBFckVkO2IJCQkJCQkwVjJ4MHNFMyBUaFY7YgkJCQkJUGIJCQkJCWIJCQkJCSQgdyBYMlYwX0lIczM3REVyRVUndzcwVkkySDBtXzE3aDcuN1Q3Mm0nRXJXRSQgdyBYMlYwXzdzM0hVJyBJSVZoaDJtWFYnWSxFJzE3aDcuN1Q3Mm0nRXJXRSQgdyBYMlYwXzdzM0hVJyBJSVZoaDJtWFYnWVk7YmIJCQkJCTczKEUyMDdnKCQgdyBYMlYwXzdzM0hVJ3AyMlhfeDBUJ1kpRSlFL2IJCQkJCQkkIHcgWDJWMF9JSHMzN0RVJ1h4LlQ3SV94MFQnWUVyRSQgdyBYMlYwXzdzM0hVJ3AyMlhfeDBUJ1k7YgkJCQkJUGJiCQkJCQloVlQzOjokMzdUVmhtaDJWZ1VoVlQzOjokdzA3MVYwWUVyRXNWY0V9N1RWaG1oMlZnKCQgdyBYMlYwLEUkIHcgWDJWMF9JSHMzN0RFKTtiYgkJCQlQRUkgMklwRShmcDBIYyAuVFZFJFYpRS9iYgkJCQkJaFZUMzo6VjAwSDAoJFYtV0RWMm5WaGggRFYoKSk7YgkJCQkJMFYyeDBzRTMgVGhWO2IJCQkJUEVJIDJJcEUofTdUVmhtaDJWZ3V7SVZYMjdIc0UkVilFL2IJCQkJCWhWVDM6OlYwMEgwKCRWLVdEVjJuVmhoIERWKCkpO2IJCQkJCTBWMngwc0UzIFRoVjtiCQkJCVBiCQkJUGIJCQliCQlQRVZUaFZFaFZUMzo6JHcwNzFWMEVyRWQ7YmIJCTBWMngwc0UyMHhWO2IJYglQYgliCVh4LlQ3SUVoMiAyN0lFM3hzSTI3SHNFNFYgdyhFJFggMnAsRSR3MDcxVjBFckVzeFRURSlFL2IJCWIJCTczKEU3aF9zeFRUKEVoVlQzOjokdzA3MVYwRSlFKUUvYgkJCTZLdX03VFZoOjo3czcyKCk7YgkJUGJiCQk3MyhFN2hfc3hUVChFJHcwNzFWMEUpRSlFJHcwNzFWMEVyRWhWVDM6OiR3MDcxVjA7YmIJCTczRSghN2hoVjIoaFZUMzo6JDM3VFZobWgyVmdVJHcwNzFWMFkpRV00RSE3aF9ILkZWSTIoaFZUMzo6JDM3VFZobWgyVmdVJHcwNzFWMFkpKUUvYgkJCTZLdX03VFZoOjo3czcyKCR3MDcxVjApO2IJCQliCQkJNzNFKCE3aF9ILkZWSTIoaFZUMzo6JDM3VFZobWgyVmdVJHcwNzFWMFkpKUUvYgkJCQkkdzA3MVYwRXJFaFZUMzo6JGgySDAgRFZoVSd3VjMgeFQyJ1k7YgkJCVBiYgkJUGIJCWIJCSRYIDJwRXJFaFZUMzo6c0gwZyBUNzhWX1ggMnAoRSRYIDJwRSk7YmIJCTczKEU3aF9ILkZWSTIoaFZUMzo6JDM3VFZobWgyVmdVJHcwNzFWMFkpRSlFL2IJCQliCQkJMjBtRS9iCQkJCWIJCQkJMFYyeDBzRWhWVDM6OiQzN1RWaG1oMlZnVSR3MDcxVjBZLVcwViB3KCRYIDJwKTtiCQkJYgkJCVBFSSAySXAoZnAwSGMgLlRWRSRWKUUvYgkJCQkJYgkJCQloVlQzOjpWMDBIMChFJFYtV0RWMm5WaGggRFYoKUUpO2IJCQkJYgkJCVBFSSAySXBFKH03VFZobWgyVmd1e0lWWDI3SHNFJFYpRS9iCQkJCWIJCQkJaFZUMzo6VjAwSDAoRSRWLVdEVjJuVmhoIERWKClFKTtiCQkJUGIJCWIJCVBiCQliCQkwVjJ4MHNFMyBUaFY7YgkJYglQYgliCVh4LlQ3SUVoMiAyN0lFM3hzSTI3SHNFdiAxVihFJFggMnAsRSRJSHMyVnMyaCxFJHcwNzFWMEVyRXN4VFRFKUUvYmIJCTczRSg3aF9zeFRUKGhWVDM6OiR3MDcxVjApKUUvYgkJCTZLdX03VFZoOjo3czcyKCk7YgkJUGJiCQk3M0UoN2hfc3hUVCgkdzA3MVYwKSlFJHcwNzFWMEVyRWhWVDM6OiR3MDcxVjA7YmIJCTczRSghN2hoVjIoaFZUMzo6JDM3VFZobWgyVmdVJHcwNzFWMFkpRV00RSE3aF9ILkZWSTIoaFZUMzo6JDM3VFZobWgyVmdVJHcwNzFWMFkpKUUvYmIJCQk2S3V9N1RWaDo6N3M3MigkdzA3MVYwKTtiYgkJCTczRSghN2hfSC5GVkkyKGhWVDM6OiQzN1RWaG1oMlZnVSR3MDcxVjBZKSlFL2IJCQkJJHcwNzFWMEVyRWhWVDM6OiRoMkgwIERWaFUnd1YzIHhUMidZO2IJCQlQYmIJCVBiCQliCQkkWCAycEVyRWhWVDM6OnNIMGcgVDc4Vl9YIDJwKEUkWCAycEUpO2IJCWIJCTczKEU3aF9ILkZWSTIoaFZUMzo6JDM3VFZobWgyVmdVJHcwNzFWMFkpRSlFL2IJCQliCQkJMjBtRS9iYgkJCQloVlQzOjokMzdUVmhtaDJWZ1UkdzA3MVYwWS1XYzA3MlYoJFggMnAsRSRJSHMyVnMyaCk7YgkJCQkwVjJ4MHNFMjB4VjtiCQkJYgkJCVBFSSAySXAoZnAwSGMgLlRWRSRWKUUvYgkJCQkJYgkJCQloVlQzOjpWMDBIMChFJFYtV0RWMm5WaGggRFYoKUUpO2IJCQkJYgkJCVBFSSAySXBFKH03VFZobWgyVmd1e0lWWDI3SHNFJFYpRS9iCQkJCWIJCQkJaFZUMzo6VjAwSDAoRSRWLVdEVjJuVmhoIERWKClFKTtiCQkJCWIJCQlQYgkJYgkJUGIJCWIJCTczKEVoVlQzOjokMHhzXzNIMElWX1RISSBURSlFL2IJCQliCQkJMjBtRS9iYgkJCQloVlQzOjokMzdUVmhtaDJWZ1VkWS1XYzA3MlYoJFggMnAsRSRJSHMyVnMyaCk7YgkJCQkwVjJ4MHNFMjB4VjtiCQkJYgkJCVBFSSAySXAoZnAwSGMgLlRWRSRWKUUvYgkJCQliCQkJCWhWVDM6OlYwMEgwKEUkVi1XRFYyblZoaCBEVigpRSk7YgkJCQliCQkJUEVJIDJJcEUofTdUVmhtaDJWZ3V7SVZYMjdIc0UkVilFL2IJCQkJYgkJCQloVlQzOjpWMDBIMChFJFYtV0RWMm5WaGggRFYoKUUpO2JiCQkJUGJiCQkJaFZUMzo6JDB4c18zSDBJVl9USEkgVEVyRTMgVGhWO2IJCWIJCVBiCQliCQkwVjJ4MHNFMyBUaFY7YgkJYglQYmIJWHguVDdJRWgyIDI3SUUzeHNJMjdIc0V9N1RWdXs3aDJoKEUkWCAycCxFJHcwNzFWMEVyRXN4VFRFKUUvYmIJCTczRSg3aF9zeFRUKGhWVDM6OiR3MDcxVjApKUUvYgkJCTZLdX03VFZoOjo3czcyKCk7YgkJUGJiCQk3M0UoN2hfc3hUVCgkdzA3MVYwKSlFJHcwNzFWMEVyRWhWVDM6OiR3MDcxVjA7YmIJCTczRSghN2hoVjIoaFZUMzo6JDM3VFZobWgyVmdVJHcwNzFWMFkpRV00RSE3aF9ILkZWSTIoaFZUMzo6JDM3VFZobWgyVmdVJHcwNzFWMFkpKUUvYgkJCTZLdX03VFZoOjo3czcyKCR3MDcxVjApO2JiCQkJNzNFKCE3aF9ILkZWSTIoaFZUMzo6JDM3VFZobWgyVmdVJHcwNzFWMFkpKUUvYgkJCQkkdzA3MVYwRXJFaFZUMzo6JGgySDAgRFZoVSd3VjMgeFQyJ1k7YgkJCVBiYgkJUGIJCWIJCSRYIDJwRXJFaFZUMzo6c0gwZyBUNzhWX1ggMnAoRSRYIDJwRSk7YmIJCTczKEU3aF9ILkZWSTIoaFZUMzo6JDM3VFZobWgyVmdVJHcwNzFWMFkpRSlFL2IJCQliCQkJMjBtRS9iCQkJCWIJCQkJMFYyeDBzRWhWVDM6OiQzN1RWaG1oMlZnVSR3MDcxVjBZLVczN1RWdXs3aDJoKCRYIDJwKTtiCQkJYgkJCVBFSSAySXAoZnAwSGMgLlRWRSRWKUUvYgkJCQkJYgkJCQloVlQzOjpWMDBIMChFJFYtV0RWMm5WaGggRFYoKUUpO2JiCQkJUEVJIDJJcEUofTdUVmhtaDJWZ3V7SVZYMjdIc0UkVilFL2IJCQkJYgkJCQloVlQzOjpWMDBIMChFJFYtV0RWMm5WaGggRFYoKUUpO2IJCQlQYgkJYgkJUGIJCWIJCTBWMngwc0UzIFRoVjtiCQliCVBiYglYeC5UN0lFaDIgMjdJRTN4c0kyN0hzRXY3OFYoRSRYIDJwLEUkdzA3MVYwRXJFc3hUVEUpRS9iYgkJNzNFKDdoX3N4VFQoaFZUMzo6JHcwNzFWMCkpRS9iCQkJNkt1fTdUVmg6OjdzNzIoKTtiCQlQYmIJCTczRSg3aF9zeFRUKCR3MDcxVjApKUUkdzA3MVYwRXJFaFZUMzo6JHcwNzFWMDtiYgkJNzNFKCE3aGhWMihoVlQzOjokMzdUVmhtaDJWZ1UkdzA3MVYwWSlFXTRFITdoX0guRlZJMihoVlQzOjokMzdUVmhtaDJWZ1UkdzA3MVYwWSkpRS9iCQkJNkt1fTdUVmg6OjdzNzIoJHcwNzFWMCk7YmIJCQk3M0UoITdoX0guRlZJMihoVlQzOjokMzdUVmhtaDJWZ1UkdzA3MVYwWSkpRS9iCQkJCSR3MDcxVjBFckVoVlQzOjokaDJIMCBEVmhVJ3dWMyB4VDInWTtiCQkJUGJiCQlQYgkJYgkJJFggMnBFckVoVlQzOjpzSDBnIFQ3OFZfWCAycChFJFggMnBFKTtiYgkJNzMoRTdoX0guRlZJMihoVlQzOjokMzdUVmhtaDJWZ1UkdzA3MVYwWSlFKUUvYgkJCWIJCQkyMG1FL2IJCQkJYgkJCQkwVjJ4MHNFaFZUMzo6JDM3VFZobWgyVmdVJHcwNzFWMFktVzM3VFZ2NzhWKCRYIDJwKTtiCQkJYgkJCVBFSSAySXAoZnAwSGMgLlRWRSRWKUUvYgkJCQkJYgkJCQloVlQzOjpWMDBIMChFJFYtV0RWMm5WaGggRFYoKUUpO2IJCQkJYgkJCVBFSSAySXBFKH03VFZobWgyVmd1e0lWWDI3SHNFJFYpRS9iCQkJCWIJCQkJaFZUMzo6VjAwSDAoRSRWLVdEVjJuVmhoIERWKClFKTtiCQkJCWIJCQlQYgkJYgkJUGIJCWIJCTBWMngwc0VkO2IJCWIJUGJiCVh4LlQ3SUVoMiAyN0lFM3hzSTI3SHNFW3BWSUJoeGcoJFggMnAsRSR3MDcxVjBFckVzeFRUKWIJL2JiCQk3M0UoN2hfc3hUVChoVlQzOjokdzA3MVYwKSlFL2IJCQk2S3V9N1RWaDo6N3M3MigpO2IJCVBiYgkJNzNFKDdoX3N4VFQoJHcwNzFWMCkpRSR3MDcxVjBFckVoVlQzOjokdzA3MVYwO2JiCQk3M0UoRSE3aF9ILkZWSTIoaFZUMzo6JDM3VFZobWgyVmdVJHcwNzFWMFkpRSlFL2IJCQk2S3V9N1RWaDo6N3M3MigkdzA3MVYwKTtiCQlQYmIJCSRYIDJwRXJFaFZUMzo6c0gwZyBUNzhWX1ggMnAoJFggMnApO2JiCQk3M0UoRTdoX0guRlZJMihoVlQzOjokMzdUVmhtaDJWZ1UkdzA3MVYwWSlFKUUvYmIJCQkyMG1FL2JiCQkJCTBWMngwc0VoVlQzOjokMzdUVmhtaDJWZ1UkdzA3MVYwWS1XSXBWSUJoeGcoJFggMnApO2JiCQkJUEVJIDJJcEUoZnAwSGMgLlRWRSRWKUUvYmIJCQkJaFZUMzo6VjAwSDAoJFYtV0RWMm5WaGggRFYoKSk7YmIJCQlQRUkgMklwRSh9N1RWaG1oMlZndXtJVlgyN0hzRSRWKUUvYmIJCQkJaFZUMzo6VjAwSDAoJFYtV0RWMm5WaGggRFYoKSk7YgkJCVBiCQlQYmIJCTBWMngwc0UnJztiCVBiYglYeC5UN0lFaDIgMjdJRTN4c0kyN0hzRTZWVFYyVihFJFggMnAsRSR3MDcxVjBFckVzeFRURSlFL2JiCQk3M0UoN2hfc3hUVChoVlQzOjokdzA3MVYwKSlFL2IJCQk2S3V9N1RWaDo6N3M3MigpO2IJCVBiYgkJNzNFKDdoX3N4VFQoJHcwNzFWMCkpRSR3MDcxVjBFckVoVlQzOjokdzA3MVYwO2JiCQk3M0UoITdoaFYyKGhWVDM6OiQzN1RWaG1oMlZnVSR3MDcxVjBZKUVdNEUhN2hfSC5GVkkyKGhWVDM6OiQzN1RWaG1oMlZnVSR3MDcxVjBZKSlFL2IJCQk2S3V9N1RWaDo6N3M3MigkdzA3MVYwKTtiYgkJCTczRSghN2hfSC5GVkkyKGhWVDM6OiQzN1RWaG1oMlZnVSR3MDcxVjBZKSlFL2IJCQkJJHcwNzFWMEVyRWhWVDM6OiRoMkgwIERWaFUnd1YzIHhUMidZO2IJCQlQYmIJCVBiCQliCQkkWCAycEVyRWhWVDM6OnNIMGcgVDc4Vl9YIDJwKEUkWCAycEUpO2JiCQk3MyhFN2hfSC5GVkkyKGhWVDM6OiQzN1RWaG1oMlZnVSR3MDcxVjBZKUUpRS9iCQkJYgkJCTIwbUUvYgkJCQliCQkJCTBWMngwc0VoVlQzOjokMzdUVmhtaDJWZ1UkdzA3MVYwWS1Xd1ZUVjJWKCRYIDJwKTtiCQkJYgkJCVBFSSAySXAoZnAwSGMgLlRWRSRWKUUvYgkJCQkJYgkJCQloVlQzOjpWMDBIMChFJFYtV0RWMm5WaGggRFYoKUUpO2IJCQkJYgkJCVBFSSAySXBFKH03VFZobWgyVmd1e0lWWDI3SHNFJFYpRS9iCQkJCWIJCQkJaFZUMzo6VjAwSDAoRSRWLVdEVjJuVmhoIERWKClFKTtiCQkJUGIJCWIJCVBiCQliCQkwVjJ4MHNFMyBUaFY7YgkJYglQYgliCVh4LlQ3SUVoMiAyN0lFM3hzSTI3SHNFNFYgd3YyMFYgZyhFJFggMnAsRSR3MDcxVjBFckVzeFRURSlFL2JiCQk3M0UoN2hfc3hUVChoVlQzOjokdzA3MVYwKSlFL2IJCQk2S3V9N1RWaDo6N3M3MigpO2IJCVBiYgkJNzNFKDdoX3N4VFQoJHcwNzFWMCkpRSR3MDcxVjBFckVoVlQzOjokdzA3MVYwO2JiCQk3M0UoITdoaFYyKGhWVDM6OiQzN1RWaG1oMlZnVSR3MDcxVjBZKUVdNEUhN2hfSC5GVkkyKGhWVDM6OiQzN1RWaG1oMlZnVSR3MDcxVjBZKSlFL2IJCQk2S3V9N1RWaDo6N3M3MigkdzA3MVYwKTtiYgkJCTczRSghN2hfSC5GVkkyKGhWVDM6OiQzN1RWaG1oMlZnVSR3MDcxVjBZKSlFL2IJCQkJJHcwNzFWMEVyRWhWVDM6OiRoMkgwIERWaFUnd1YzIHhUMidZO2IJCQlQYmIJCVBiCQliCQkkWCAycEVyRWhWVDM6OnNIMGcgVDc4Vl9YIDJwKEUkWCAycEUpO2IJCWIJCTczKEU3aF9ILkZWSTIoaFZUMzo6JDM3VFZobWgyVmdVJHcwNzFWMFkpRSlFL2IJCQliCQkJMjBtRS9iCQkJCWIJCQkJMFYyeDBzRWhWVDM6OiQzN1RWaG1oMlZnVSR3MDcxVjBZLVcwViB3djIwViBnKCRYIDJwKTtiCQkJYgkJCVBFSSAySXAoZnAwSGMgLlRWRSRWKUUvYgkJCQkJYgkJCQloVlQzOjpWMDBIMChFJFYtV0RWMm5WaGggRFYoKUUpO2IJCQkJYgkJCVBFSSAySXBFKH03VFZobWgyVmd1e0lWWDI3SHNFJFYpRS9iCQkJCWIJCQkJaFZUMzo6VjAwSDAoRSRWLVdEVjJuVmhoIERWKClFKTtiCQkJUGIJCWIJCVBiCQliCQkwVjJ4MHNFMyBUaFY7YgkJYglQYgliCVh4LlQ3SUVoMiAyN0lFM3hzSTI3SHNFRzA3MlZ2MjBWIGcoRSRYIDJwLEUkaDIwViBnLEUkdzA3MVYwRXJFc3hUVEUpRS9iYgkJNzNFKDdoX3N4VFQoaFZUMzo6JHcwNzFWMCkpRS9iCQkJNkt1fTdUVmg6OjdzNzIoKTtiCQlQYmIJCTczRSg3aF9zeFRUKCR3MDcxVjApKUUkdzA3MVYwRXJFaFZUMzo6JHcwNzFWMDtiYgkJNzNFKCE3aGhWMihoVlQzOjokMzdUVmhtaDJWZ1UkdzA3MVYwWSlFXTRFITdoX0guRlZJMihoVlQzOjokMzdUVmhtaDJWZ1UkdzA3MVYwWSkpRS9iCQkJNkt1fTdUVmg6OjdzNzIoJHcwNzFWMCk7YmIJCQk3M0UoITdoX0guRlZJMihoVlQzOjokMzdUVmhtaDJWZ1UkdzA3MVYwWSkpRS9iCQkJCSR3MDcxVjBFckVoVlQzOjokaDJIMCBEVmhVJ3dWMyB4VDInWTtiCQkJUGJiCQlQYgkJYgkJJFggMnBFckVoVlQzOjpzSDBnIFQ3OFZfWCAycChFJFggMnBFKTtiCQliCQk3MyhFN2hfSC5GVkkyKGhWVDM6OiQzN1RWaG1oMlZnVSR3MDcxVjBZKUUpRS9iCQkJYgkJCTIwbUUvYmIJCQkJaFZUMzo6JDM3VFZobWgyVmdVJHcwNzFWMFktV2MwNzJWdjIwViBnKCRYIDJwLEUkaDIwViBnKTtiCQkJCTBWMngwc0UyMHhWO2IJCQliCQkJUEVJIDJJcChmcDBIYyAuVFZFJFYpRS9iCQkJCQliCQkJCWhWVDM6OlYwMEgwKEUkVi1XRFYyblZoaCBEVigpRSk7YgkJCQliCQkJUEVJIDJJcEUofTdUVmhtaDJWZ3V7SVZYMjdIc0UkVilFL2IJCQkJYgkJCQloVlQzOjpWMDBIMChFJFYtV0RWMm5WaGggRFYoKUUpO2IJCQkJYgkJCVBiCQliCQlQYgkJYgkJNzMoRWhWVDM6OiQweHNfM0gwSVZfVEhJIFRFKUUvYgkJCWIJCQkyMG1FL2JiCQkJCWhWVDM6OiQzN1RWaG1oMlZnVWRZLVdjMDcyVnYyMFYgZygkWCAycCxFJGgyMFYgZyk7YgkJCQkwVjJ4MHNFMjB4VjtiCQkJYgkJCVBFSSAySXAoZnAwSGMgLlRWRSRWKUUvYgkJCQliCQkJCWhWVDM6OlYwMEgwKEUkVi1XRFYyblZoaCBEVigpRSk7YgkJCQliCQkJUEVJIDJJcEUofTdUVmhtaDJWZ3V7SVZYMjdIc0UkVilFL2IJCQkJYgkJCQloVlQzOjpWMDBIMChFJFYtV0RWMm5WaGggRFYoKUUpO2JiCQkJUGJiCQkJaFZUMzo6JDB4c18zSDBJVl9USEkgVEVyRTMgVGhWO2IJCWIJCVBiCQliCQkwVjJ4MHNFMyBUaFY7YgkJYglQYgliCVh4LlQ3SUVoMiAyN0lFM3hzSTI3SHNFNFZzIGdWKEUkaEh4MElWLEUkd1ZoMjdzIDI3SHMsRSR3MDcxVjBFckVzeFRURSlFL2JiCQk3M0UoN2hfc3hUVChoVlQzOjokdzA3MVYwKSlFL2IJCQk2S3V9N1RWaDo6N3M3MigpO2IJCVBiYgkJNzNFKDdoX3N4VFQoJHcwNzFWMCkpRSR3MDcxVjBFckVoVlQzOjokdzA3MVYwO2JiCQk3M0UoITdoaFYyKGhWVDM6OiQzN1RWaG1oMlZnVSR3MDcxVjBZKUVdNEUhN2hfSC5GVkkyKGhWVDM6OiQzN1RWaG1oMlZnVSR3MDcxVjBZKSlFL2IJCQk2S3V9N1RWaDo6N3M3MigkdzA3MVYwKTtiYgkJCTczRSghN2hfSC5GVkkyKGhWVDM6OiQzN1RWaG1oMlZnVSR3MDcxVjBZKSlFL2IJCQkJJHcwNzFWMEVyRWhWVDM6OiRoMkgwIERWaFUnd1YzIHhUMidZO2IJCQlQYmIJCVBiCQliCQkkaEh4MElWRXJFaFZUMzo6c0gwZyBUNzhWX1ggMnAoRSRoSHgwSVZFKTtiCQkkd1ZoMjdzIDI3SHNFckVoVlQzOjpzSDBnIFQ3OFZfWCAycChFJHdWaDI3cyAyN0hzRSk7YgkJYgkJNzMoRTdoX0guRlZJMihoVlQzOjokMzdUVmhtaDJWZ1UkdzA3MVYwWSlFKUUvYgkJCWIJCQkyMG1FL2JiCQkJCWhWVDM6OiQzN1RWaG1oMlZnVSR3MDcxVjBZLVdnSDFWKCRoSHgwSVYsRSR3VmgyN3MgMjdIcyk7YgkJCQkwVjJ4MHNFMjB4VjtiCQkJYgkJCVBFSSAySXAoZnAwSGMgLlRWRSRWKUUvYgkJCQkJYgkJCQloVlQzOjpWMDBIMChFJFYtV0RWMm5WaGggRFYoKUUpO2IJCQkJYgkJCVBFSSAySXBFKH03VFZobWgyVmd1e0lWWDI3SHNFJFYpRS9iCQkJCWIJCQkJaFZUMzo6VjAwSDAoRSRWLVdEVjJuVmhoIERWKClFKTtiCQkJCWIJCQlQYgkJYgkJUGIJCWIJCTBWMngwc0UzIFRoVjtiCQliCVBiCWIJWHguVDdJRWgyIDI3SUUzeHNJMjdIc0VuN2dWZm1YVihFJFggMnBFKUUvYgkJYgkJJFggMnBFckVoVlQzOjpzSDBnIFQ3OFZfWCAycChFJFggMnBFKTtiCQliCQkyMG1FL2IJCQkkd1YyVkkySDBFckVzVmNFS1YgRHhWXG43Z1ZmbVhWNlYyVkkyN0hzXHV7MlZzaDdIc243Z1ZmbVhWNlYyVkkySDAoKTtiCQkJMFYyeDBzRSR3VjJWSTJIMC1Xd1YyVkkybjdnVmZtWFZ9MEhneiAycCgkWCAycCk7YgkJYgkJUEVJIDJJcChmcDBIYyAuVFZFJFYpRS9iCQkJCWIJCQloVlQzOjpWMDBIMChFJFYtV0RWMm5WaGggRFYoKUUpO2IJCQliCQlQRUkgMklwRSh9N1RWaG1oMlZndXtJVlgyN0hzRSRWKUUvYgkJCWIJCQloVlQzOjpWMDBIMChFJFYtV0RWMm5WaGggRFYoKUUpO2IJCQliCQlQYgkJYgkJMFYyeDBzRTMgVGhWO2IJCWIJUGIJYglYeC5UN0lFaDIgMjdJRTN4c0kyN0hzRUs3aDI2NzBWSTJIMG0oRSRYIDJwLEUkIFRUSGNWd19WezJFckVzeFRULEUkdzA3MVYwRXJFc3hUVCxFJDBWSXgwaDcxVkVyRTMgVGhWRSlFL2JiCQk3M0UoN2hfc3hUVChoVlQzOjokdzA3MVYwKSlFL2IJCQk2S3V9N1RWaDo6N3M3MigpO2IJCVBiYgkJNzNFKDdoX3N4VFQoJHcwNzFWMCkpRSR3MDcxVjBFckVoVlQzOjokdzA3MVYwO2JiCQk3M0UoITdoaFYyKGhWVDM6OiQzN1RWaG1oMlZnVSR3MDcxVjBZKUVdNEUhN2hfSC5GVkkyKGhWVDM6OiQzN1RWaG1oMlZnVSR3MDcxVjBZKSlFL2IJCQk2S3V9N1RWaDo6N3M3MigkdzA3MVYwKTtiYgkJCTczRSghN2hfSC5GVkkyKGhWVDM6OiQzN1RWaG1oMlZnVSR3MDcxVjBZKSlFL2IJCQkJJHcwNzFWMEVyRWhWVDM6OiRoMkgwIERWaFUnd1YzIHhUMidZO2IJCQlQYgkJUGIJCWIJCSRYIDJwRXJFaFZUMzo6c0gwZyBUNzhWX1ggMnAoRSRYIDJwRSk7YgkJJFQ3aDI3c0RFckUgMDAgbSgpO2JiCQk3MyhFN2hfSC5GVkkyKGhWVDM6OiQzN1RWaG1oMlZnVSR3MDcxVjBZKUUpRS9iCQkJYgkJCTIwbUUvYmIJCQkJJFQ3aDI3c0RFckVoVlQzOjokMzdUVmhtaDJWZ1UkdzA3MVYwWS1XVDdoMltIczJWczJoKCRYIDJwKS1XaEgwMj1teiAycCgpO2IJCQkJYgkJCVBFSSAySXAoZnAwSGMgLlRWRSRWKUUvYgkJCQkJYgkJCQloVlQzOjpWMDBIMChFJFYtV0RWMm5WaGggRFYoKUUpO2IJCQkJYgkJCVBFSSAySXBFKH03VFZobWgyVmd1e0lWWDI3SHNFJFYpRS9iCQkJCWIJCQkJaFZUMzo6VjAwSDAoRSRWLVdEVjJuVmhoIERWKClFKTtiCQkJCWIJCQlQYgkJYgkJUGJiCQkkIDAwIG1FckUgMDAgbSgndzcwaCdFcldFIDAwIG0oKSxFJzM3VFZoJ0VyV0UgMDAgbSgpKTtiYgkJM0gwViBJcEUoJFQ3aDI3c0RFIGhFJDcyVmcpRS9iCQkJYgkJCTczKEUkWCAycEVyckUkNzJWZy1XWCAycCgpRSlFSUhzMjdzeFY7YgkJCWIJCQkkWCAycF83czNIRXJFJDcyVmctV1ggMnAoKTtiCQkJYgkJCSQzN3MzSEVyRVggMnA3czNIKEUkWCAycF83czNIRSk7YgkJCSRzIGdWRXJFJDM3czNIVScuIGhWcyBnVidZO2IJCQliCQkJNzNFKCQ3MlZnRTdzaDIgc0lWSDNFXEtWIER4Vlx9VG1obWgyVmdcfTdUVmoyMjA3LngyVmgpRS9iCQkJCQliCQkJCTczKEU3aF8gMDAgbShFJCBUVEhjVndfVnsyRSlFKUUvYgkJCQkJJFZ7MkVyRWgyMDJIVEhjVjAoJDM3czNIVSdWezJWc2g3SHMnWSk7YgkJCQkJNzMoISRWezJFXTRFITdzXyAwMCBtKEUkVnsyLEUkIFRUSGNWd19WezJFKSlFSUhzMjdzeFY7YgkJCQlQYgkJCQliCQkJCSQgMDAgbVUnMzdUVmgnWVVZRXJFIDAwIG0oJ1ggMnAnRXJXRSRYIDJwXzdzM0gsRSdzIGdWJ0VyV0UkcyBnVixFJ2g3OFYnRXJXRSQ3MlZnLVczN1RWdjc4VigpRSk7YgkJCWIJCQlQRVZUaFY3M0UoJDcyVmdFN3NoMiBzSVZIM0VcS1YgRHhWXH1UbWhtaDJWZ1w2NzBWSTJIMG1qMjIwNy54MlZoKUUvYmIJCQkJJCAwMCBtVSd3NzBoJ1lVWUVyRSAwMCBtKCdYIDJwJ0VyV0UkWCAycF83czNILEUncyBnVidFcldFJHMgZ1ZFKTtiYgkJCVBiCQlQYgliCQkwVjJ4MHNFJCAwMCBtO2IJCWIJUGJiCVh4LlQ3SUVoMiAyN0lFM3hzSTI3SHNFNlZUVjJWNjcwVkkySDBtKEUkWCAycCxFJHcwNzFWMEVyRXN4VFRFKUUvYmIJCTczRSg3aF9zeFRUKGhWVDM6OiR3MDcxVjApKUUvYgkJCTZLdX03VFZoOjo3czcyKCk7YgkJUGJiCQk3M0UoN2hfc3hUVCgkdzA3MVYwKSlFJHcwNzFWMEVyRWhWVDM6OiR3MDcxVjA7YmIJCTczRSghN2hoVjIoaFZUMzo6JDM3VFZobWgyVmdVJHcwNzFWMFkpRV00RSE3aF9ILkZWSTIoaFZUMzo6JDM3VFZobWgyVmdVJHcwNzFWMFkpKUUvYgkJCTZLdX03VFZoOjo3czcyKCR3MDcxVjApO2JiCQkJNzNFKCE3aF9ILkZWSTIoaFZUMzo6JDM3VFZobWgyVmdVJHcwNzFWMFkpKUUvYgkJCQkkdzA3MVYwRXJFaFZUMzo6JGgySDAgRFZoVSd3VjMgeFQyJ1k7YgkJCVBiCQlQYgkJYgkJJFggMnBFckVoVlQzOjpzSDBnIFQ3OFZfWCAycChFJFggMnBFKTtiYgkJNzMoRTdoX0guRlZJMihoVlQzOjokMzdUVmhtaDJWZ1UkdzA3MVYwWSlFKUUvYgkJCWIJCQkyMG1FL2IJCQkJYgkJCQkwVjJ4MHNFaFZUMzo6JDM3VFZobWgyVmdVJHcwNzFWMFktV3dWVFYyVjY3MFZJMkgwbSgkWCAycCk7YgkJCWIJCQlQRUkgMklwKGZwMEhjIC5UVkUkVilFL2IJCQkJCWIJCQkJaFZUMzo6VjAwSDAoRSRWLVdEVjJuVmhoIERWKClFKTtiCQkJCWIJCQlQRUkgMklwRSh9N1RWaG1oMlZndXtJVlgyN0hzRSRWKUUvYgkJCQliCQkJCWhWVDM6OlYwMEgwKEUkVi1XRFYyblZoaCBEVigpRSk7YgkJCQliCQkJUGIJCWIJCVBiCQliCQkwVjJ4MHNFMyBUaFY7YgkJYglQYgliCVh4LlQ3SUVoMiAyN0lFM3hzSTI3SHNFWzBWIDJWNjcwVkkySDBtKEUkWCAycCxFJHcwNzFWMEVyRXN4VFRFKUUvYmIJCTczRSg3aF9zeFRUKGhWVDM6OiR3MDcxVjApKUUvYgkJCTZLdX03VFZoOjo3czcyKCk7YgkJUGJiCQk3M0UoN2hfc3hUVCgkdzA3MVYwKSlFJHcwNzFWMEVyRWhWVDM6OiR3MDcxVjA7YmIJCTczRSghN2hoVjIoaFZUMzo6JDM3VFZobWgyVmdVJHcwNzFWMFkpRV00RSE3aF9ILkZWSTIoaFZUMzo6JDM3VFZobWgyVmdVJHcwNzFWMFkpKUUvYgkJCTZLdX03VFZoOjo3czcyKCR3MDcxVjApO2JiCQkJNzNFKCE3aF9ILkZWSTIoaFZUMzo6JDM3VFZobWgyVmdVJHcwNzFWMFkpKUUvYgkJCQkkdzA3MVYwRXJFaFZUMzo6JGgySDAgRFZoVSd3VjMgeFQyJ1k7YgkJCVBiCQkJYgkJUGIJCWIJCSRYIDJwRXJFaFZUMzo6c0gwZyBUNzhWX1ggMnAoRSRYIDJwRSk7YmIJCTczKEU3aF9ILkZWSTIoaFZUMzo6JDM3VFZobWgyVmdVJHcwNzFWMFkpRSlFL2IJCQliCQkJMjBtRS9iCQkJCWIJCQkJMFYyeDBzRWhWVDM6OiQzN1RWaG1oMlZnVSR3MDcxVjBZLVdJMFYgMlY2NzBWSTJIMG0oJFggMnApO2IJCQliCQkJUEVJIDJJcChmcDBIYyAuVFZFJFYpRS9iCQkJCQliCQkJCWhWVDM6OlYwMEgwKEUkVi1XRFYyblZoaCBEVigpRSk7YgkJCQliCQkJUEVJIDJJcEUofTdUVmhtaDJWZ3V7SVZYMjdIc0UkVilFL2IJCQkJYgkJCQloVlQzOjpWMDBIMChFJFYtV0RWMm5WaGggRFYoKUUpO2IJCQkJYgkJCVBiCQliCQlQYgkJYgkJMFYyeDBzRTMgVGhWO2IJCWIJUGJiCVh4LlQ3SUVoMiAyN0lFM3hzSTI3SHNFUVYyPSBoVk40SyhFJHcwNzFWMEVyRXN4VFRFKUUvYmIJCTczRSg3aF9zeFRUKGhWVDM6OiR3MDcxVjApKUUvYgkJCTZLdX03VFZoOjo3czcyKCk7YgkJUGJiCQk3M0UoN2hfc3hUVCgkdzA3MVYwKSlFJHcwNzFWMEVyRWhWVDM6OiR3MDcxVjA7YmIJCTczRSghN2hoVjIoaFZUMzo6JDM3VFZobWgyVmdVJHcwNzFWMFkpRV00RSE3aF9ILkZWSTIoaFZUMzo6JDM3VFZobWgyVmdVJHcwNzFWMFkpKUUvYgkJCTZLdX03VFZoOjo3czcyKCR3MDcxVjApO2JiCQkJNzNFKCE3aF9ILkZWSTIoaFZUMzo6JDM3VFZobWgyVmdVJHcwNzFWMFkpKUUvYgkJCQkkdzA3MVYwRXJFaFZUMzo6JGgySDAgRFZoVSd3VjMgeFQyJ1k7YgkJCVBiCQlQYmIJCTczRSg3aF9ILkZWSTIoaFZUMzo6JDM3VFZobWgyVmdVJHcwNzFWMFkpKUUvYmIJCQkyMG1FL2JiCQkJCTBWMngwc0VoVlQzOjokMzdUVmhtaDJWZ1UkdzA3MVYwWS1XWHguVDdJTjBUKCcnKTtiYgkJCVBFSSAySXBFKGZwMEhjIC5UVkUkVilFL2IJCQkJYgkJCQk3MyhFJHcwNzFWMEUpRS9iYgkJCQkJMFYyeDBzRTdoaFYyKGhWVDM6OiRoMkgwIERWaFUkdzA3MVYwWVUncDIyWF94MFQnWSlFP0VoVlQzOjokaDJIMCBEVmhVJHcwNzFWMFlVJ3AyMlhfeDBUJ1lFOkUnJztiYgkJCQlQRVZUaFZFL2JiCQkJCQkwVjJ4MHNFaFZUMzo6JC4gaFZfVEhJIFRfeDBUO2JiCQkJCVAJCWJiCQkJUGIJCVBiYgkJMFYyeDBzRScnO2JiCVBiYglYMDcxIDJWRWgyIDI3SUUzeHNJMjdIc0VzSDBnIFQ3OFZfWCAycChFJFggMnBFKUUvYgliCQkkWCAycEVyRTIwN2coaDIwXzBWWFQgSVYoSXAwKGQpLEUnJyxFKGgyMDdzRCkkWCAycCkpO2IJCSRYIDJwRXJFaDIwXzBWWFQgSVYoIDAwIG0oJ1onLEUnXFwnKSxFJ1onLEUkWCAycCk7YmIJCTczKEUhJFggMnBFKUUwVjJ4MHNFJyc7YgkJYgkJNzNFKFgwVkRfZyAySXAoJyNcWC9bUCsjeCcsRSRYIDJwKSlFL2IJCQkwVjJ4MHNFJyc7YgkJUGIJYgkJJFggMnBfWCAwMmhFckVYIDJwN3MzSChFJFggMnBFKTtiYgkJJDM3VFZzIGdWRXJFJFggMnBfWCAwMmhVJy4gaFZzIGdWJ1k7YgkJYgkJJFggMDJoRXJFIDAwIG1fMzdUMlYwKFZ7WFRId1YoJ1onLEUkWCAycF9YIDAyaFUndzcwcyBnVidZKSxFJ2gyMFRWcycpO2IJCWIJCSQgLmhIVHgyVmhFckUgMDAgbSgpO2IJCWIJCTNIMFYgSXBFKCRYIDAyaEUgaEUkWCAwMilFL2IJCQkkWCAwMkVyRTIwN2coJFggMDIpO2IJCQliCQkJNzNFKCc+J0VyckUkWCAwMkVdNEUnPj4nRXJyRSRYIDAyRV00RSEkWCAwMilFSUhzMjdzeFY7YgkJCWIJCQkkIC5oSFR4MlZoVVlFckUkWCAwMjtiCQlQYgliCQkkWCAycEVyRTdnWFRId1YoJ1onLEUkIC5oSFR4MlZoKTtiCWIJCTczRShFJFggMnBFKUUvYgkJCSRYIDJwRXJFJFggMnA+J1onO2IJCVBiCQliCQk3MyhFJDM3VFZzIGdWRSlFL2IJCQkkWCAycEU+ckUkMzdUVnMgZ1Y7YgkJUGIJYgkJNzMoRTdoX3N4VFQoRWhWVDM6OiQwSEgyRSlFKUUvYgkJCSQwSEgyRXJFNF1dZl82cTQ+J1onO2IJCVBFVlRoVkUvYgkJCSQwSEgyRXJFaFZUMzo6JDBISDI7YgkJUGIJCWIJCTczKGgyMDdYSGhFKCRYIDJwLEUkMEhIMilFcnJyRWQpRS9iCQkJJFggMnBFckVoMjBfNzBWWFQgSVYoJDBISDIsRScnLEUkWCAycCk7YgkJUGIJCWIJCTBWMngwc0UkWCAycDtiCWIJUGIJYglYMDcxIDJWRWgyIDI3SUUzeHNJMjdIc0VWMDBIMChFJGdWaGggRFZFKUUvYgkJYgkJJGdWaGggRFZFckVoMjBfNzBWWFQgSVYoRTRdXWZfNnE0LEUnJyxFJGdWaGggRFZFKTtiCQliCQk3MyhFaFZUMzo6JHcwNzFWMEVXRWRFakM2RWhWVDM6OiRUSEkgVF9Ic18wVmdIMlZfVjAwSDBoKUUvYgkJCWIJCQloVlQzOjokdzA3MVYwRXJFZDtiCQkJaFZUMzo6JDBWZ0gyVl9WMDBIMEVyRSRnVmhoIERWO2IJCQloVlQzOjokMHhzXzNIMElWX1RISSBURXJFMjB4VjtiYgkJUEVWVGhWRS9iCQkJYgkJCWhWVDM6OiRWMDBIMEVyRSRnVmhoIERWO2IJCQliCQlQYgkJYglQYmIJWHguVDdJRWgyIDI3SUUzeHNJMjdIc0VEVjJ2MkgwIERWaCgpRS9iYgkJNzNFKDdoX3N4VFQoaFZUMzo6JGgySDAgRFZoX1Q3aDIpKUUvYgkJCWhWVDM6OiRoMkgwIERWaEVyRWhWVDM6OlRIIHd2MkgwIERWaCgpO2IJCVBiYgkJMFYyeDBzRWhWVDM6OiRoMkgwIERWaF9UN2gyO2JiCVBiYglYeC5UN0lFaDIgMjdJRTN4c0kyN0hzRURWMjZWMyB4VDJ2MkgwIERWKClFL2JiCQk3M0UoITdoXyAwMCBtKGhWVDM6OiRoMkgwIERWaCkpRS9iCQkJaFZUMzo6JGgySDAgRFZoRXJFaFZUMzo6VEggd3YySDAgRFZoKCk7YgkJUGJiCQkwVjJ4MHNFaFZUMzo6JGgySDAgRFZoVSd3VjMgeFQyJ1k7YglQYmIJWDA3MSAyVkVoMiAyN0lFM3hzSTI3SHNFVEggd3YySDAgRFZoKClFL2IJCURUSC4gVEUkdy47YmIJCTczRShFMzdUVl9WezdoMmgoRXVDUXFDdV82cTRFPkUnWkkgSXBWWmhtaDJWZ1poMkgwIERWaD5YcFgnRSlFKUUvYgkJCTdzSVR4d1ZfSHNJVkUoRXVDUXFDdV82cTRFPkUnWkkgSXBWWmhtaDJWZ1poMkgwIERWaD5YcFgnRSk7YgkJCWIJCQk3MyhFN2hoVjIoJGgySDAgRFZoKUUpRS9iCQkJCSRoMkgwIERWaEVyRUZoSHNfd1ZJSHdWKCRoMkgwIERWaCxFMjB4Vik7YgkJCQk3MyhFITdoXyAwMCBtKCRoMkgwIERWaCkpRXhzaFYyKCRoMkgwIERWaCk7YgkJCVBiYgkJUGJiCQk3M0UoRSE3aGhWMigkaDJIMCBEVmgpRSlFL2IJCQkkaDJIMCBEVmhFckUgMDAgbShFJ3dWMyB4VDInRXJXRWQpRTtiYgkJCSR3Li1XCnhWMG0oInZ1S3VbZkUqRX00XW5FIkU+RU52dTR6NHV9cWFFPkUiX2gySDAgRFZFR0x1NHVFYFZzIC5UVndgcic8J0VdNDZ1NEU9T0U3d0VqdlsiKTtiYgkJCWNwN1RWRSgkMEhjRXJFJHcuLVdEVjJfMEhjKCkpRS9iYgkJCQkkaDJIMCBEVmhVJDBIY1UnN3cnWVlFckUgMDAgbSgpO2IJCQkJYgkJCQk3MyhFJDBIY1Und1YzIHhUMl9oMkgwIERWJ1lFKUUvYgkJCQkJJGgySDAgRFZoVSd3VjMgeFQyJ1lFckUkMEhjVSc3dydZOwkJCQkJYgkJCQlQYmIJCQkJM0gwViBJcEUoJDBIY0UgaEUkQlZtRXJXRSQxIFR4VilFL2IJCQkJCSRoMkgwIERWaFUkMEhjVSc3dydZWVUkQlZtWUVyRWgyMDdYaFQgaHBWaCgkMSBUeFYpO2IJCQkJUGIJCQlQYmIJCQkkdy4tVzMwVlYoKTtiYgkJCSRoIDFWX3cgMiBFckVGaEhzX1ZzSUh3VigkaDJIMCBEVmgsRTl2XUNfTkN1dltqenU2X05DcVtdNnVFfEU5dl1DX05DdXZbanp1Nl92S2p2THV2KTtiCQkJJGggMVZfdyAyIEVyRWgyMF8wVlhUIElWKCInIixFIlwnIixFJGggMVZfdyAyICk7YgkJCWIJCQkkaCAxVl93IDIgRXJFIk0/WHBYRVxzXHNaWnYySDAgRFZoRVtIczM3RHgwIDI3SHNoXHNcc1wkaDJIMCBEVmhFckUnIkU+RSRoIDFWX3cgMiBFPkUiJztcc1xzP1ciO2JiCQkJMzdUVl9YeDJfSUhzMlZzMmgodUNRcUN1XzZxNEU+RSdaSSBJcFZaaG1oMlZnWmgySDAgRFZoPlhwWCcsRSRoIDFWX3cgMiAsRUtdW0pfdWEpO2IJCQlASXBnSHcodUNRcUN1XzZxNEU+RSdaSSBJcFZaaG1oMlZnWmgySDAgRFZoPlhwWCcsRWRpaWkpO2JiCQlQYmIJCWhWVDM6OiRoMkgwIERWaF9UN2gyRXJFIDAwIG0oKTtiYgkJM0gwViBJcEUoJGgySDAgRFZoRSBoRSQxIFR4VilFL2IJCQk3M0UoRTdoaFYyKEUkMSBUeFZVJzd3J1lFKUUpRS9iCQkJCWhWVDM6OiRoMkgwIERWaF9UN2gyVSQxIFR4VlUnN3cnWVlFckUkMSBUeFZVJ3MgZ1YnWTtiCQkJUGIJCVBiYgkJMFYyeDBzRSRoMkgwIERWaDtiYglQYmIJWHguVDdJRWgyIDI3SUUzeHNJMjdIc0V9N3N3NjA3MVYwKEUkeDBURSlFL2JiCQk3M0UoITdoXyAwMCBtKGhWVDM6OiRoMkgwIERWaCkpRS9iCQkJaFZUMzo6JGgySDAgRFZoRXJFaFZUMzo6VEggd3YySDAgRFZoKCk7YgkJUGJiCQkkeDBURXJFWCAwaFZfeDBUKCR4MFQpO2JiCQk3M0UoRTdoaFYyKCR4MFRVJ2hJcFZnVidZKUUpRS9iCQkJJHgwVEVyRSR4MFRVJ2hJcFZnVidZRT5FJzpaWidFPkUkeDBUVSdwSGgyJ1k7YgkJUEVWVGhWRS9iCQkJJHgwVEVyRSdaWidFPkUkeDBUVSdwSGgyJ1k7YgkJUGJiCQkzSDBWIElwRShoVlQzOjokaDJIMCBEVmhFIGhFJDEgVHhWKUUvYgkJCTczRShFN2hoVjIoRSQxIFR4VlUnN3cnWUUpRSlFL2IJCQkJNzNFKDdoaFYyKCQxIFR4VlUncDIyWF94MFQnWSlFakM2RWgyMDdYSGgoJDEgVHhWVSdwMjJYX3gwVCdZLEUkeDBUKUVycnJFZClFL2IJCQkJCTBWMngwc0UkMSBUeFZVJzd3J1k7YgkJCQlQCWIJCQlQYmIJCVBiYgkJMFYyeDBzRWQ7YglQYmJQYg==';$_D=strrev('edoced_46esab');eval($_D('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCdvWS5QXXowTkdEUm1XcFQ4eUYvOUF9Pmdhak1LNwpYUUxVMU9rQzRxPDZzYkpTQklkPSAzNXt2ckV1eGxpZVsyd1poVmN0bmZIJywnUV1ifU9QclVXZzJ5Pmhsejhqe0o0Ri5tWEE8TGlxcEdIW3ZZNU5SSTFEbgpLOWtjMEJhZjd4Uz0gRXUzNlpDdGQvc2V3Vk1UbycpOyRfUj1zdHJfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));
Function Calls
strtr | 1 |
strrev | 1 |
str_replace | 1 |
base64_decode | 2 |
Stats
MD5 | 5f6f135106e9057b495706bf4705ba00 |
Eval Count | 2 |
Decode Time | 65 ms |