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

Signing you up...

Thank you for signing up!

PHP Decode

<?php $_F=__FILE__;$_X='P2lCP1ouWlZoKipWPio+L085TTN4SHM9TXpWPipWPio+Rkg+T1pNSD5uT1F6Mk0+ZV..

Decoded Output download

$_X=base64_decode($_X);$_X=strtr($_X,'SgPO9YZWFKmqyfxcjLJRzuM5vNts1b.{B4nC]i/2Dl0EheA
[d8=Qp>VXo H}6GIw7ka3TrU<','=R9odmplAEPyk8gv[53xrMezqZHi7YhW<DsG{>CcX}1N/afj6]JtuS 
.BUnwVKLQO20ITF4b');$_R=str_replace('__FILE__',"'".$_F."'",$_X);eval($_R);$_R=0;$_X=0;?><?php
/**
 * CodeIgniter
 *
 * An open source application development framework for PHP
 *
 * This content is released under the MIT License (MIT)
 *
 * Copyright (c) 2014 - 2015, British Columbia Institute of Technology
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * @package	CodeIgniter
 * @author	EllisLab Dev Team
 * @copyright	Copyright (c) 2008 - 2014, EllisLab, Inc. (http://ellislab.com/)
 * @copyright	Copyright (c) 2014 - 2015, British Columbia Institute of Technology (http://bcit.ca/)
 * @license	http://opensource.org/licenses/MIT	MIT License
 * @link	http://codeigniter.com
 * @since	Version 1.3.0
 * @filesource
 */
defined('BASEPATH') OR exit('No direct script access allowed');

/**
 * MySQLi Database Adapter Class
 *
 * Note: _DB is an extender class that the app controller
 * creates dynamically based on whether the query builder
 * class is being used or not.
 *
 * @package		CodeIgniter
 * @subpackage	Drivers
 * @category	Database
 * @author		EllisLab Dev Team
 * @link		http://codeigniter.com/user_guide/database/
 */
class CI_DB_mysqli_driver extends CI_DB {

	/**
	 * Database driver
	 *
	 * @var	string
	 */
	public $dbdriver = 'mysqli';

	/**
	 * Compression flag
	 *
	 * @var	bool
	 */
	public $compress = FALSE;

	/**
	 * DELETE hack flag
	 *
	 * Whether to use the MySQL "delete hack" which allows the number
	 * of affected rows to be shown. Uses a preg_replace when enabled,
	 * adding a bit more processing to all queries.
	 *
	 * @var	bool
	 */
	public $delete_hack = TRUE;

	/**
	 * Strict ON flag
	 *
	 * Whether we're running in strict SQL mode.
	 *
	 * @var	bool
	 */
	public $stricton = FALSE;

	// --------------------------------------------------------------------

	/**
	 * Identifier escape character
	 *
	 * @var	string
	 */
	protected $_escape_char = '`';

	// --------------------------------------------------------------------

	/**
	 * Database connection
	 *
	 * @param	bool	$persistent
	 * @return	object
	 * @todo	SSL support
	 */
	public function db_connect($persistent = FALSE)
	{
		// Do we have a socket path?
		if ($this->hostname[0] === '/')
		{
			$hostname = NULL;
			$port = NULL;
			$socket = $this->hostname;
		}
		else
		{
			// Persistent connection support was added in PHP 5.3.0
			$hostname = ($persistent === TRUE && is_php('5.3'))
				? 'p:'.$this->hostname : $this->hostname;
			$port = empty($this->port) ? NULL : $this->port;
			$socket = NULL;
		}

		$client_flags = ($this->compress === TRUE) ? MYSQLI_CLIENT_COMPRESS : 0;
		$mysqli = mysqli_init();

		$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 10);

		if ($this->stricton)
		{
			$mysqli->options(MYSQLI_INIT_COMMAND, 'SET SESSION sql_mode="STRICT_ALL_TABLES"');
		}

		return $mysqli->real_connect($hostname, $this->username, $this->password, $this->database, $port, $socket, $client_flags)
			? $mysqli : FALSE;
	}

	// --------------------------------------------------------------------

	/**
	 * Reconnect
	 *
	 * Keep / reestablish the db connection if no queries have been
	 * sent for a length of time exceeding the server's idle timeout
	 *
	 * @return	void
	 */
	public function reconnect()
	{
		if ($this->conn_id !== FALSE && $this->conn_id->ping() === FALSE)
		{
			$this->conn_id = FALSE;
		}
	}

	// --------------------------------------------------------------------

	/**
	 * Select the database
	 *
	 * @param	string	$database
	 * @return	bool
	 */
	public function db_select($database = '')
	{
		if ($database === '')
		{
			$database = $this->database;
		}

		if ($this->conn_id->select_db($database))
		{
			$this->database = $database;
			return TRUE;
		}

		return FALSE;
	}

	// --------------------------------------------------------------------

	/**
	 * Set client character set
	 *
	 * @param	string	$charset
	 * @return	bool
	 */
	protected function _db_set_charset($charset)
	{
		return $this->conn_id->set_charset($charset);
	}

	// --------------------------------------------------------------------

	/**
	 * Database version number
	 *
	 * @return	string
	 */
	public function version()
	{
		if (isset($this->data_cache['version']))
		{
			return $this->data_cache['version'];
		}

		return $this->data_cache['version'] = $this->conn_id->server_info;
	}

	// --------------------------------------------------------------------

	/**
	 * Execute the query
	 *
	 * @param	string	$sql	an SQL query
	 * @return	mixed
	 */
	protected function _execute($sql)
	{
		return $this->conn_id->query($this->_prep_query($sql));
	}

	// --------------------------------------------------------------------

	/**
	 * Prep the query
	 *
	 * If needed, each database adapter can prep the query string
	 *
	 * @param	string	$sql	an SQL query
	 * @return	string
	 */
	protected function _prep_query($sql)
	{
		// mysqli_affected_rows() returns 0 for "DELETE FROM TABLE" queries. This hack
		// modifies the query so that it a proper number of affected rows is returned.
		if ($this->delete_hack === TRUE && preg_match('/^\s*DELETE\s+FROM\s+(\S+)\s*$/i', $sql))
		{
			return trim($sql).' WHERE 1=1';
		}

		return $sql;
	}

	// --------------------------------------------------------------------

	/**
	 * Begin Transaction
	 *
	 * @param	bool	$test_mode
	 * @return	bool
	 */
	public function trans_begin($test_mode = FALSE)
	{
		// When transactions are nested we only begin/commit/rollback the outermost ones
		if ( ! $this->trans_enabled OR $this->_trans_depth > 0)
		{
			return TRUE;
		}

		// Reset the transaction failure flag.
		// If the $test_mode flag is set to TRUE transactions will be rolled back
		// even if the queries produce a successful result.
		$this->_trans_failure = ($test_mode === TRUE);

		$this->conn_id->autocommit(FALSE);
		return is_php('5.5')
			? $this->conn_id->begin_transaction()
			: $this->simple_query('START TRANSACTION'); // can also be BEGIN or BEGIN WORK
	}

	// --------------------------------------------------------------------

	/**
	 * Commit Transaction
	 *
	 * @return	bool
	 */
	public function trans_commit()
	{
		// When transactions are nested we only begin/commit/rollback the outermost ones
		if ( ! $this->trans_enabled OR $this->_trans_depth > 0)
		{
			return TRUE;
		}

		if ($this->conn_id->commit())
		{
			$this->conn_id->autocommit(TRUE);
			return TRUE;
		}

		return FALSE;
	}

	// --------------------------------------------------------------------

	/**
	 * Rollback Transaction
	 *
	 * @return	bool
	 */
	public function trans_rollback()
	{
		// When transactions are nested we only begin/commit/rollback the outermost ones
		if ( ! $this->trans_enabled OR $this->_trans_depth > 0)
		{
			return TRUE;
		}

		if ($this->conn_id->rollback())
		{
			$this->conn_id->autocommit(TRUE);
			return TRUE;
		}

		return FALSE;
	}

	// --------------------------------------------------------------------

	/**
	 * Platform-dependant string escape
	 *
	 * @param	string
	 * @return	string
	 */
	protected function _escape_str($str)
	{
		return $this->conn_id->real_escape_string($str);
	}

	// --------------------------------------------------------------------

	/**
	 * Affected Rows
	 *
	 * @return	int
	 */
	public function affected_rows()
	{
		return $this->conn_id->affected_rows;
	}

	// --------------------------------------------------------------------

	/**
	 * Insert ID
	 *
	 * @return	int
	 */
	public function insert_id()
	{
		return $this->conn_id->insert_id;
	}

	// --------------------------------------------------------------------

	/**
	 * List table query
	 *
	 * Generates a platform-specific query string so that the table names can be fetched
	 *
	 * @param	bool	$prefix_limit
	 * @return	string
	 */
	protected function _list_tables($prefix_limit = FALSE)
	{
		$sql = 'SHOW TABLES FROM '.$this->escape_identifiers($this->database);

		if ($prefix_limit !== FALSE && $this->dbprefix !== '')
		{
			return $sql." LIKE '".$this->escape_like_str($this->dbprefix)."%'";
		}

		return $sql;
	}

	// --------------------------------------------------------------------

	/**
	 * Show column query
	 *
	 * Generates a platform-specific query string so that the column names can be fetched
	 *
	 * @param	string	$table
	 * @return	string
	 */
	protected function _list_columns($table = '')
	{
		return 'SHOW COLUMNS FROM '.$this->protect_identifiers($table, TRUE, NULL, FALSE);
	}

	// --------------------------------------------------------------------

	/**
	 * Returns an object with field data
	 *
	 * @param	string	$table
	 * @return	array
	 */
	public function field_data($table)
	{
		if (($query = $this->query('SHOW COLUMNS FROM '.$this->protect_identifiers($table, TRUE, NULL, FALSE))) === FALSE)
		{
			return FALSE;
		}
		$query = $query->result_object();

		$retval = array();
		for ($i = 0, $c = count($query); $i < $c; $i++)
		{
			$retval[$i]			= new stdClass();
			$retval[$i]->name		= $query[$i]->Field;

			sscanf($query[$i]->Type, '%[a-z](%d)',
				$retval[$i]->type,
				$retval[$i]->max_length
			);

			$retval[$i]->default		= $query[$i]->Default;
			$retval[$i]->primary_key	= (int) ($query[$i]->Key === 'PRI');
		}

		return $retval;
	}

	// --------------------------------------------------------------------

	/**
	 * Error
	 *
	 * Returns an array containing code and message of the last
	 * database error that has occurred.
	 *
	 * @return	array
	 */
	public function error()
	{
		if ( ! empty($this->conn_id->connect_errno))
		{
			return array(
				'code' => $this->conn_id->connect_errno,
				'message' => is_php('5.2.9') ? $this->conn_id->connect_error : mysqli_connect_error()
			);
		}

		return array('code' => $this->conn_id->errno, 'message' => $this->conn_id->error);
	}

	// --------------------------------------------------------------------

	/**
	 * FROM tables
	 *
	 * Groups tables in FROM clauses if needed, so there is no confusion
	 * about operator precedence.
	 *
	 * @return	string
	 */
	protected function _from_tables()
	{
		if ( ! empty($this->qb_join) && count($this->qb_from) > 1)
		{
			return '('.implode(', ', $this->qb_from).')';
		}

		return implode(', ', $this->qb_from);
	}

	// --------------------------------------------------------------------

	/**
	 * Close DB Connection
	 *
	 * @return	void
	 */
	protected function _close()
	{
		$this->conn_id->close();
	}

}

Did this file decode correctly?

Original Code

<?php $_F=__FILE__;$_X='P2lCP1ouWlZoKipWPio+L085TTN4SHM9TXpWPipWPio+Rkg+T1pNSD5uT1F6Mk0+ZVpaV3MyZT1zT0g+OU1jTVdPWllNSD0+QXplWU19T3p5PkFPej5tdG1WPipWPio+VC5zbj4yT0g9TUg9PnNuPnpNV01lbk05PlFIOU16Pj0uTT51M1Q+SXMyTUhuTT4odTNUKVY+KlY+Kj4vT1pxenN4Lj0+KDIpPmthMFU+LT5rYTBMLD5venM9c24uPi9PV1FZPHNlPjNIbj1zPVE9TT5PQT5UTTIuSE9XT3hxVj4qVj4qPm1Nellzbm5zT0g+c24+Lk16TTxxPnh6ZUg9TTksPkF6TU0+T0E+Mi5lenhNLD49Tz5lSHE+Wk16bk9IPk88PWVzSHNIeD5lPjJPWnFWPio+T0E+PS5zbj5uT0E9fWV6TT5lSDk+ZW5uTzJzZT1NOT45TzJRWU1IPWU9c09IPkFzV01uPig9Lk0+InBPQT19ZXpNIiksPj1PPjlNZVdWPio+c0g+PS5NPnBPQT19ZXpNPn1zPS5PUT0+ek1uPXpzMj1zT0gsPnNIMldROXNIeD59cz0uT1E9PldzWXM9ZT1zT0g+PS5NPnpzeC49blY+Kj49Tz5Rbk0sPjJPWnEsPllPOXNBcSw+WU16eE0sPlpRPFdzbi4sPjlzbj16czxRPU0sPm5RPFdzMk1Ibk0sPmVIOWhPej5uTVdXVj4qPjJPWnNNbj5PQT49Lk0+cE9BPX1lek0sPmVIOT49Tz5aTXpZcz0+Wk16bk9Ibj49Tz59Lk9ZPj0uTT5wT0E9fWV6TT5zblY+Kj5BUXpIc24uTTk+PU8+OU8+bk8sPm5RPApNMj0+PU8+PS5NPkFPV1dPfXNIeD4yT0g5cz1zT0huOlY+KlY+Kj5ULk0+ZTxPY00+Mk9acXpzeC49PkhPPXMyTT5lSDk+PS5zbj5aTXpZc25uc09IPkhPPXMyTT5uLmVXVz48TT5zSDJXUTlNOT5zSFY+Kj5lV1c+Mk9ac01uPk96Pm5RPG49ZUg9c2VXPlpPej1zT0huPk9BPj0uTT5wT0E9fWV6TVhWPipWPio+VHRLPnA3clR7RmdLPjNwPm1nNzYzNEs0PiJGcD4zcCIsPnszVHQ3IFQ+e0ZnZ0ZFVGI+N3I+RkViPkczRTQsPktEbWdLcHA+N2dWPio+M3VtSTNLNCw+M0UvSSA0M0VDPm8gVD5FN1Q+STN1M1RLND5UNz5UdEs+e0ZnZ0ZFVDNLcD43cj51S2cvdEZFVEZvM0kzVGIsVj4qPnIzVEVLcHA+cjdnPkY+bUZnVDMvIElGZz5tIGdtN3BLPkZFND5FN0UzRXJnM0VDS3VLRVRYPjNFPkU3Pks2S0VUPnB0RklJPlR0S1Y+Kj5GIFR0N2dwPjdnPi83bWJnM0N0VD50N0k0S2dwPm9LPkkzRm9JSz5yN2c+RkViPi9JRjN1LD40RnVGQ0twPjdnPjdUdEtnVj4qPkkzRm8zSTNUYiw+e3RLVHRLZz4zRT5GRT5GL1QzN0U+N3I+LzdFVGdGL1QsPlQ3Z1Q+N2c+N1R0S2d7M3BLLD5GZzNwM0VDPnJnN3UsVj4qPjcgVD43cj43Zz4zRT4vN0VFSy9UMzdFPnszVHQ+VHRLPnA3clR7RmdLPjdnPlR0Sz4gcEs+N2c+N1R0S2c+NEtGSTNFQ3A+M0VWPio+VHRLPnA3clR7RmdLWFY+KlY+Kj5AWmUyeWV4TQkvTzlNM3hIcz1NelY+Kj5AZVE9Lk96CUtXV3NuSWU8PjRNYz5UTWVZVj4qPkAyT1pxenN4Lj0JL09acXpzeC49PigyKT5rYWFmPi0+a2EwVSw+S1dXc25JZTwsPjNIMlg+KC49PVo6aGhNV1dzbldlPFgyT1loKVY+Kj5AMk9acXpzeC49CS9PWnF6c3guPT4oMik+a2EwVT4tPmthMEwsPm96cz1zbi4+L09XUVk8c2U+M0huPXM9UT1NPk9BPlRNMi5IT1dPeHE+KC49PVo6aGg8MnM9WDJlaClWPio+QFdzMk1Ibk0JLj09WjpoaE9aTUhuT1F6Mk1YT3p4aFdzMk1Ibk1uaHUzVAl1M1Q+SXMyTUhuTVY+Kj5AV3NIeQkuPT1aOmhoMk85TXN4SHM9TXpYMk9ZVj4qPkBuc0gyTQk2TXpuc09IPjBYSlhhVj4qPkBBc1dNbk9RejJNVj4qaFY5TUFzSE05KCdvRnBLbUZUdCcpPjdnPk1Scz0oJ0VPPjlzek0yPT5uMnpzWj0+ZTIyTW5uPmVXV099TTknKTtWVmgqKlY+Kj51cXB3SXM+NGU9ZTxlbk0+RjllWj1Nej4vV2VublY+KlY+Kj5FTz1NOj5fNG8+c24+ZUg+TVI9TUg5TXo+Mldlbm4+PS5lPT49Lk0+ZVpaPjJPSD16T1dXTXpWPio+MnpNZT1Nbj45cUhlWXMyZVdXcT48ZW5NOT5PSD59Lk09Lk16Pj0uTT52UU16cT48UXNXOU16Vj4qPjJXZW5uPnNuPjxNc0h4PlFuTTk+T3o+SE89WFY+KlY+Kj5AWmUyeWV4TQkJL085TTN4SHM9TXpWPio+QG5RPFplMnlleE0JNHpzY016blY+Kj5AMmU9TXhPenEJNGU9ZTxlbk1WPio+QGVRPS5PegkJS1dXc25JZTw+NE1jPlRNZVlWPio+QFdzSHkJCS49PVo6aGgyTzlNc3hIcz1NelgyT1loUW5Nel94UXM5TWg5ZT1lPGVuTWhWPipoVjJXZW5uPi8zXzRvX1lxbnZXc185enNjTXo+TVI9TUg5bj4vM180bz5dVlYJaCoqVgk+Kj40ZT1lPGVuTT45enNjTXpWCT4qVgk+Kj5AY2V6CW49enNIeFYJPipoVglaUTxXczI+JDk8OXpzY016PlM+J1lxbnZXcyc7VlYJaCoqVgk+Kj4vT1laek1ubnNPSD5BV2V4Vgk+KlYJPio+QGNlegk8T09XVgk+KmhWCVpRPFdzMj4kMk9ZWnpNbm4+Uz5yRklwSztWVgloKipWCT4qPjRLSUtUSz4uZTJ5PkFXZXhWCT4qVgk+Kj57Lk09Lk16Pj1PPlFuTT49Lk0+dXFwd0k+IjlNV009TT4uZTJ5Ij59LnMyLj5lV1dPfW4+PS5NPkhRWTxNelYJPio+T0E+ZUFBTTI9TTk+ek99bj49Tz48TT5uLk99SFg+IG5Nbj5lPlp6TXhfek1aV2UyTT59Lk1IPk1IZTxXTTksVgk+Kj5lOTlzSHg+ZT48cz0+WU96TT5aek8yTW5uc0h4Pj1PPmVXVz52UU16c01uWFYJPipWCT4qPkBjZXoJPE9PV1YJPipoVglaUTxXczI+JDlNV009TV8uZTJ5PlM+VGcgSztWVgloKipWCT4qPnA9enMyPT43RT5BV2V4Vgk+KlYJPio+ey5NPS5Nej59TSd6TT56UUhIc0h4PnNIPm49enMyPT5wd0k+WU85TVhWCT4qVgk+Kj5AY2V6CTxPT1dWCT4qaFYJWlE8V3MyPiRuPXpzMj1PSD5TPnJGSXBLO1ZWCWhoPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tVlYJaCoqVgk+Kj4zOU1IPXNBc016Pk1uMmVaTT4yLmV6ZTI9TXpWCT4qVgk+Kj5AY2V6CW49enNIeFYJPipoVglaek89TTI9TTk+JF9NbjJlWk1fMi5lej5TPidgJztWVgloaD4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVZWCWgqKlYJPio+NGU9ZTxlbk0+Mk9ISE0yPXNPSFYJPipWCT4qPkBaZXplWQk8T09XCSRaTXpuc249TUg9Vgk+Kj5Aek09UXpICU88Ck0yPVYJPio+QD1POU8JcHBJPm5RWlpPej1WCT4qaFYJWlE8V3MyPkFRSDI9c09IPjk8XzJPSEhNMj0oJFpNem5zbj1NSD0+Uz5yRklwSylWCV1WCQloaD40Tz59TT4uZWNNPmU+bk8yeU09PlplPS4/VgkJc0E+KCQ9LnNuLWkuT249SGVZTWphZD5TU1M+J2gnKVYJCV1WCQkJJC5Pbj1IZVlNPlM+RSBJSTtWCQkJJFpPej0+Uz5FIElJO1YJCQkkbk8yeU09PlM+JD0uc24taS5Pbj1IZVlNO1YJCWxWCQlNV25NVgkJXVYJCQloaD5tTXpuc249TUg9PjJPSEhNMj1zT0g+blFaWk96PT59ZW4+ZTk5TTk+c0g+bXRtPkxYSlhhVgkJCSQuT249SGVZTT5TPigkWk16bnNuPU1IPT5TU1M+VGcgSz4mJj5zbl9aLlooJ0xYSicpKVYJCQkJPz4nWjonWCQ9LnNuLWkuT249SGVZTT46PiQ9LnNuLWkuT249SGVZTTtWCQkJJFpPej0+Uz5NWVo9cSgkPS5zbi1pWk96PSk+Pz5FIElJPjo+JD0uc24taVpPej07VgkJCSRuTzJ5TT0+Uz5FIElJO1YJCWxWVgkJJDJXc01IPV9BV2V4bj5TPigkPS5zbi1pMk9ZWnpNbm4+U1NTPlRnIEspPj8+dWJwd0kzXy9JM0tFVF8vN3VtZ0twcD46PmE7VgkJJFlxbnZXcz5TPllxbnZXc19zSHM9KCk7VlYJCSRZcW52V3MtaU9aPXNPSG4odWJwd0kzXzdtVF8vN0VFSy9UX1QzdUs3IFQsPjBhKTtWVgkJc0E+KCQ9LnNuLWluPXpzMj1PSClWCQldVgkJCSRZcW52V3MtaU9aPXNPSG4odWJwd0kzXzNFM1RfLzd1dUZFNCw+J3BLVD5wS3BwMzdFPm52V19ZTzlNUyJwVGczL1RfRklJX1RGb0lLcCInKTtWCQlsVlYJCXpNPVF6SD4kWXFudldzLWl6TWVXXzJPSEhNMj0oJC5Pbj1IZVlNLD4kPS5zbi1pUW5NekhlWU0sPiQ9LnNuLWlaZW5ufU96OSw+JD0uc24taTllPWU8ZW5NLD4kWk96PSw+JG5PMnlNPSw+JDJXc01IPV9BV2V4bilWCQkJPz4kWXFudldzPjo+ckZJcEs7VglsVlYJaGg+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1WVgloKipWCT4qPmdNMk9ISE0yPVYJPipWCT4qPkdNTVo+aD56TU1uPWU8V3NuLj49Lk0+OTw+Mk9ISE0yPXNPSD5zQT5ITz52UU16c01uPi5lY00+PE1NSFYJPio+bk1IPT5BT3o+ZT5XTUh4PS4+T0E+PXNZTT5NUjJNTTlzSHg+PS5NPm5NemNNeiduPnM5V00+PXNZTU9RPVYJPipWCT4qPkB6TT1RekgJY09zOVYJPipoVglaUTxXczI+QVFIMj1zT0g+ek0yT0hITTI9KClWCV1WCQlzQT4oJD0uc24taTJPSEhfczk+IVNTPnJGSXBLPiYmPiQ9LnNuLWkyT0hIX3M5LWlac0h4KCk+U1NTPnJGSXBLKVYJCV1WCQkJJD0uc24taTJPSEhfczk+Uz5yRklwSztWCQlsVglsVlYJaGg+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1WVgloKipWCT4qPnBNV00yPT49Lk0+OWU9ZTxlbk1WCT4qVgk+Kj5AWmV6ZVkJbj16c0h4CSQ5ZT1lPGVuTVYJPio+QHpNPVF6SAk8T09XVgk+KmhWCVpRPFdzMj5BUUgyPXNPSD45PF9uTVdNMj0oJDllPWU8ZW5NPlM+JycpVgldVgkJc0E+KCQ5ZT1lPGVuTT5TU1M+JycpVgkJXVYJCQkkOWU9ZTxlbk0+Uz4kPS5zbi1pOWU9ZTxlbk07VgkJbFZWCQlzQT4oJD0uc24taTJPSEhfczktaW5NV00yPV85PCgkOWU9ZTxlbk0pKVYJCV1WCQkJJD0uc24taTllPWU8ZW5NPlM+JDllPWU8ZW5NO1YJCQl6TT1Rekg+VGcgSztWCQlsVlYJCXpNPVF6SD5yRklwSztWCWxWVgloaD4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVZWCWgqKlYJPio+cE09PjJXc01IPT4yLmV6ZTI9TXo+bk09Vgk+KlYJPio+QFplemVZCW49enNIeAkkMi5lem5NPVYJPio+QHpNPVF6SAk8T09XVgk+KmhWCVp6Tz1NMj1NOT5BUUgyPXNPSD5fOTxfbk09XzIuZXpuTT0oJDIuZXpuTT0pVgldVgkJek09UXpIPiQ9LnNuLWkyT0hIX3M5LWluTT1fMi5lem5NPSgkMi5lem5NPSk7VglsVlYJaGg+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1WVgloKipWCT4qPjRlPWU8ZW5NPmNNem5zT0g+SFFZPE16Vgk+KlYJPio+QHpNPVF6SAluPXpzSHhWCT4qaFYJWlE8V3MyPkFRSDI9c09IPmNNem5zT0goKVYJXVYJCXNBPihzbm5NPSgkPS5zbi1pOWU9ZV8yZTIuTWonY016bnNPSCdkKSlWCQldVgkJCXpNPVF6SD4kPS5zbi1pOWU9ZV8yZTIuTWonY016bnNPSCdkO1YJCWxWVgkJek09UXpIPiQ9LnNuLWk5ZT1lXzJlMi5NaidjTXpuc09IJ2Q+Uz4kPS5zbi1pMk9ISF9zOS1pbk16Y016X3NIQU87VglsVlYJaGg+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1WVgloKipWCT4qPktSTTJRPU0+PS5NPnZRTXpxVgk+KlYJPio+QFplemVZCW49enNIeAkkbnZXCWVIPnB3ST52UU16cVYJPio+QHpNPVF6SAlZc1JNOVYJPipoVglaek89TTI9TTk+QVFIMj1zT0g+X01STTJRPU0oJG52VylWCV1WCQl6TT1Rekg+JD0uc24taTJPSEhfczktaXZRTXpxKCQ9LnNuLWlfWnpNWl92UU16cSgkbnZXKSk7VglsVlYJaGg+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1WVgloKipWCT4qPm16TVo+PS5NPnZRTXpxVgk+KlYJPio+M0E+SE1NOU05LD5NZTIuPjllPWU8ZW5NPmU5ZVo9TXo+MmVIPlp6TVo+PS5NPnZRTXpxPm49enNIeFYJPipWCT4qPkBaZXplWQluPXpzSHgJJG52VwllSD5wd0k+dlFNenFWCT4qPkB6TT1RekgJbj16c0h4Vgk+KmhWCVp6Tz1NMj1NOT5BUUgyPXNPSD5fWnpNWl92UU16cSgkbnZXKVYJXVYJCWhoPllxbnZXc19lQUFNMj1NOV96T31uKCk+ek09UXpIbj5hPkFPej4iNEtJS1RLPnJnN3U+VEZvSUsiPnZRTXpzTW5YPlQuc24+LmUyeVYJCWhoPllPOXNBc01uPj0uTT52UU16cT5uTz49LmU9PnM9PmU+WnpPWk16PkhRWTxNej5PQT5lQUFNMj1NOT56T31uPnNuPnpNPVF6SE05WFYJCXNBPigkPS5zbi1pOU1XTT1NXy5lMnk+U1NTPlRnIEs+JiY+WnpNeF9ZZT0yLignaF5cbio0S0lLVEtcbityZzd1XG4rKFxwKylcbiokaHMnLD4kbnZXKSlWCQldVgkJCXpNPVF6SD49enNZKCRudlcpWCc+e3RLZ0s+MFMwJztWCQlsVlYJCXpNPVF6SD4kbnZXO1YJbFZWCWhoPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tVlYJaCoqVgk+Kj5vTXhzSD5UemVIbmUyPXNPSFYJPipWCT4qPkBaZXplWQk8T09XCSQ9TW49X1lPOU1WCT4qPkB6TT1RekgJPE9PV1YJPipoVglaUTxXczI+QVFIMj1zT0g+PXplSG5fPE14c0goJD1Nbj1fWU85TT5TPnJGSXBLKVYJXVYJCWhoPnsuTUg+PXplSG5lMj1zT0huPmV6TT5ITW49TTk+fU0+T0hXcT48TXhzSGgyT1lZcz1oek9XVzxlMnk+PS5NPk9RPU16WU9uPT5PSE1uVgkJc0E+KD4hPiQ9LnNuLWk9emVIbl9NSGU8V005PjdnPiQ9LnNuLWlfPXplSG5fOU1aPS4+aT5hKVYJCV1WCQkJek09UXpIPlRnIEs7VgkJbFZWCQloaD5nTW5NPT49Lk0+PXplSG5lMj1zT0g+QWVzV1F6TT5BV2V4WFYJCWhoPjNBPj0uTT4kPU1uPV9ZTzlNPkFXZXg+c24+bk09Pj1PPlRnIEs+PXplSG5lMj1zT0huPn1zV1c+PE0+ek9XV005PjxlMnlWCQloaD5NY01IPnNBPj0uTT52UU16c01uPlp6TzlRMk0+ZT5uUTIyTW5uQVFXPnpNblFXPVhWCQkkPS5zbi1pXz16ZUhuX0Flc1dRek0+Uz4oJD1Nbj1fWU85TT5TU1M+VGcgSyk7VlYJCSQ9LnNuLWkyT0hIX3M5LWllUT1PMk9ZWXM9KHJGSXBLKTtWCQl6TT1Rekg+c25fWi5aKCdMWEwnKVYJCQk/PiQ9LnNuLWkyT0hIX3M5LWk8TXhzSF89emVIbmUyPXNPSCgpVgkJCTo+JD0uc24taW5zWVpXTV92UU16cSgncFRGZ1Q+VGdGRXBGL1QzN0UnKTs+aGg+MmVIPmVXbk8+PE0+b0tDM0U+T3o+b0tDM0U+ezdnR1YJbFZWCWhoPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tVlYJaCoqVgk+Kj4vT1lZcz0+VHplSG5lMj1zT0hWCT4qVgk+Kj5Aek09UXpICTxPT1dWCT4qaFYJWlE8V3MyPkFRSDI9c09IPj16ZUhuXzJPWVlzPSgpVgldVgkJaGg+ey5NSD49emVIbmUyPXNPSG4+ZXpNPkhNbj1NOT59TT5PSFdxPjxNeHNIaDJPWVlzPWh6T1dXPGUyeT49Lk0+T1E9TXpZT249Pk9ITW5WCQlzQT4oPiE+JD0uc24taT16ZUhuX01IZTxXTTk+N2c+JD0uc24taV89emVIbl85TVo9Lj5pPmEpVgkJXVYJCQl6TT1Rekg+VGcgSztWCQlsVlYJCXNBPigkPS5zbi1pMk9ISF9zOS1pMk9ZWXM9KCkpVgkJXVYJCQkkPS5zbi1pMk9ISF9zOS1pZVE9TzJPWVlzPShUZyBLKTtWCQkJek09UXpIPlRnIEs7VgkJbFZWCQl6TT1Rekg+ckZJcEs7VglsVlYJaGg+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1WVgloKipWCT4qPmdPV1c8ZTJ5PlR6ZUhuZTI9c09IVgk+KlYJPio+QHpNPVF6SAk8T09XVgk+KmhWCVpRPFdzMj5BUUgyPXNPSD49emVIbl96T1dXPGUyeSgpVgldVgkJaGg+ey5NSD49emVIbmUyPXNPSG4+ZXpNPkhNbj1NOT59TT5PSFdxPjxNeHNIaDJPWVlzPWh6T1dXPGUyeT49Lk0+T1E9TXpZT249Pk9ITW5WCQlzQT4oPiE+JD0uc24taT16ZUhuX01IZTxXTTk+N2c+JD0uc24taV89emVIbl85TVo9Lj5pPmEpVgkJXVYJCQl6TT1Rekg+VGcgSztWCQlsVlYJCXNBPigkPS5zbi1pMk9ISF9zOS1pek9XVzxlMnkoKSlWCQldVgkJCSQ9LnNuLWkyT0hIX3M5LWllUT1PMk9ZWXM9KFRnIEspO1YJCQl6TT1Rekg+VGcgSztWCQlsVlYJCXpNPVF6SD5yRklwSztWCWxWVgloaD4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVZWCWgqKlYJPio+bVdlPUFPelktOU1aTUg5ZUg9Pm49enNIeD5NbjJlWk1WCT4qVgk+Kj5AWmV6ZVkJbj16c0h4Vgk+Kj5Aek09UXpICW49enNIeFYJPipoVglaek89TTI9TTk+QVFIMj1zT0g+X01uMmVaTV9uPXooJG49eilWCV1WCQl6TT1Rekg+JD0uc24taTJPSEhfczktaXpNZVdfTW4yZVpNX249enNIeCgkbj16KTtWCWxWVgloaD4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVZWCWgqKlYJPio+RkFBTTI9TTk+Z099blYJPipWCT4qPkB6TT1RekgJc0g9Vgk+KmhWCVpRPFdzMj5BUUgyPXNPSD5lQUFNMj1NOV96T31uKClWCV1WCQl6TT1Rekg+JD0uc24taTJPSEhfczktaWVBQU0yPU05X3pPfW47VglsVlYJaGg+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1WVgloKipWCT4qPjNIbk16PT4zNFYJPipWCT4qPkB6TT1RekgJc0g9Vgk+KmhWCVpRPFdzMj5BUUgyPXNPSD5zSG5Nej1fczkoKVYJXVYJCXpNPVF6SD4kPS5zbi1pMk9ISF9zOS1pc0huTXo9X3M5O1YJbFZWCWhoPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tVlYJaCoqVgk+Kj5Jc249Pj1lPFdNPnZRTXpxVgk+KlYJPio+Q01ITXplPU1uPmU+WldlPUFPelktblpNMnNBczI+dlFNenE+bj16c0h4Pm5PPj0uZT0+PS5NPj1lPFdNPkhlWU1uPjJlSD48TT5BTT0yLk05Vgk+KlYJPio+QFplemVZCTxPT1cJJFp6TUFzUl9Xc1lzPVYJPio+QHpNPVF6SAluPXpzSHhWCT4qaFYJWnpPPU0yPU05PkFRSDI9c09IPl9Xc249Xz1lPFdNbigkWnpNQXNSX1dzWXM9PlM+ckZJcEspVgldVgkJJG52Vz5TPidwdDd7PlRGb0lLcD5yZzd1PidYJD0uc24taU1uMmVaTV9zOU1IPXNBc016bigkPS5zbi1pOWU9ZTxlbk0pO1ZWCQlzQT4oJFp6TUFzUl9Xc1lzPT4hU1M+ckZJcEs+JiY+JD0uc24taTk8WnpNQXNSPiFTUz4nJylWCQldVgkJCXpNPVF6SD4kbnZXWCI+STNHSz4nIlgkPS5zbi1pTW4yZVpNX1dzeU1fbj16KCQ9LnNuLWk5PFp6TUFzUilYIiUnIjtWCQlsVlYJCXpNPVF6SD4kbnZXO1YJbFZWCWhoPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tVlYJaCoqVgk+Kj5wLk99PjJPV1FZSD52UU16cVYJPipWCT4qPkNNSE16ZT1Nbj5lPlpXZT1BT3pZLW5aTTJzQXMyPnZRTXpxPm49enNIeD5uTz49LmU9Pj0uTT4yT1dRWUg+SGVZTW4+MmVIPjxNPkFNPTIuTTlWCT4qVgk+Kj5AWmV6ZVkJbj16c0h4CSQ9ZTxXTVYJPio+QHpNPVF6SAluPXpzSHhWCT4qaFYJWnpPPU0yPU05PkFRSDI9c09IPl9Xc249XzJPV1FZSG4oJD1lPFdNPlM+JycpVgldVgkJek09UXpIPidwdDd7Pi83SSB1RXA+cmc3dT4nWCQ9LnNuLWlaek89TTI9X3M5TUg9c0FzTXpuKCQ9ZTxXTSw+VGcgSyw+RSBJSSw+ckZJcEspO1YJbFZWCWhoPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tVlYJaCoqVgk+Kj5nTT1RekhuPmVIPk88Ck0yPT59cz0uPkFzTVc5PjllPWVWCT4qVgk+Kj5AWmV6ZVkJbj16c0h4CSQ9ZTxXTVYJPio+QHpNPVF6SAllenplcVYJPipoVglaUTxXczI+QVFIMj1zT0g+QXNNVzlfOWU9ZSgkPWU8V00pVgldVgkJc0E+KCgkdlFNenE+Uz4kPS5zbi1pdlFNenEoJ3B0N3s+LzdJIHVFcD5yZzd1PidYJD0uc24taVp6Tz1NMj1fczlNSD1zQXNNem4oJD1lPFdNLD5UZyBLLD5FIElJLD5yRklwSykpKT5TU1M+ckZJcEspVgkJXVYJCQl6TT1Rekg+ckZJcEs7VgkJbFYJCSR2UU16cT5TPiR2UU16cS1pek1uUVc9X088Ck0yPSgpO1ZWCQkkek09Y2VXPlM+ZXp6ZXEoKTtWCQlBT3o+KCRzPlM+YSw+JDI+Uz4yT1FIPSgkdlFNenEpOz4kcz5CPiQyOz4kcysrKVYJCV1WCQkJJHpNPWNlV2okc2QJCQlTPkhNfT5uPTkvV2VubigpO1YJCQkkek09Y2VXaiRzZC1pSGVZTQkJUz4kdlFNenFqJHNkLWlyc01XOTtWVgkJCW5uMmVIQSgkdlFNenFqJHNkLWlUcVpNLD4nJWplLTVkKCU5KScsVgkJCQkkek09Y2VXaiRzZC1pPXFaTSxWCQkJCSR6TT1jZVdqJHNkLWlZZVJfV01IeD0uVgkJCSk7VlYJCQkkek09Y2VXaiRzZC1pOU1BZVFXPQkJUz4kdlFNenFqJHNkLWk0TUFlUVc9O1YJCQkkek09Y2VXaiRzZC1pWnpzWWV6cV95TXEJUz4oc0g9KT4oJHZRTXpxaiRzZC1pR01xPlNTUz4nbWczJyk7VgkJbFZWCQl6TT1Rekg+JHpNPWNlVztWCWxWVgloaD4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVZWCWgqKlYJPio+S3p6T3pWCT4qVgk+Kj5nTT1RekhuPmVIPmV6emVxPjJPSD1lc0hzSHg+Mk85TT5lSDk+WU1ubmV4TT5PQT49Lk0+V2VuPVYJPio+OWU9ZTxlbk0+TXp6T3o+PS5lPT4uZW4+TzIyUXp6TTlYVgk+KlYJPio+QHpNPVF6SAllenplcVYJPipoVglaUTxXczI+QVFIMj1zT0g+TXp6T3ooKVYJXVYJCXNBPig+IT5NWVo9cSgkPS5zbi1pMk9ISF9zOS1pMk9ISE0yPV9NenpITykpVgkJXVYJCQl6TT1Rekg+ZXp6ZXEoVgkJCQknMk85TSc+U2k+JD0uc24taTJPSEhfczktaTJPSEhNMj1fTXp6SE8sVgkJCQknWU1ubmV4TSc+U2k+c25fWi5aKCdMWGtYUCcpPj8+JD0uc24taTJPSEhfczktaTJPSEhNMj1fTXp6T3o+Oj5ZcW52V3NfMk9ISE0yPV9NenpPeigpVgkJCSk7VgkJbFZWCQl6TT1Rekg+ZXp6ZXEoJzJPOU0nPlNpPiQ9LnNuLWkyT0hIX3M5LWlNenpITyw+J1lNbm5leE0nPlNpPiQ9LnNuLWkyT0hIX3M5LWlNenpPeik7VglsVlYJaGg+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1WVgloKipWCT4qPnJnN3U+PWU8V01uVgk+KlYJPio+Q3pPUVpuPj1lPFdNbj5zSD5yZzd1PjJXZVFuTW4+c0E+SE1NOU05LD5uTz49Lk16TT5zbj5ITz4yT0hBUW5zT0hWCT4qPmU8T1E9Pk9aTXplPU96Plp6TTJNOU1IMk1YVgk+KlYJPio+QHpNPVF6SAluPXpzSHhWCT4qaFYJWnpPPU0yPU05PkFRSDI9c09IPl9Bek9ZXz1lPFdNbigpVgldVgkJc0E+KD4hPk1ZWj1xKCQ9LnNuLWl2PF8KT3NIKT4mJj4yT1FIPSgkPS5zbi1pdjxfQXpPWSk+aT4wKVYJCV1WCQkJek09UXpIPicoJ1hzWVpXTzlNKCcsPicsPiQ9LnNuLWl2PF9Bek9ZKVgnKSc7VgkJbFZWCQl6TT1Rekg+c1laV085TSgnLD4nLD4kPS5zbi1pdjxfQXpPWSk7VglsVlYJaGg+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1WVgloKipWCT4qPi9XT25NPjRvPi9PSEhNMj1zT0hWCT4qVgk+Kj5Aek09UXpICWNPczlWCT4qaFYJWnpPPU0yPU05PkFRSDI9c09IPl8yV09uTSgpVgldVgkJJD0uc24taTJPSEhfczktaTJXT25NKCk7VglsVlZsVg=';$_D=strrev('edoced_46esab');eval($_D('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCdTZ1BPOVlaV0ZLbXF5ZnhjakxKUnp1TTV2TnRzMWIue0I0bkNdaS8yRGwwRWhlQQpbZDg9UXA+VlhvIEh9NkdJdzdrYTNUclU8JywnPVI5b2RtcGxBRVB5azhndls1M3hyTWV6cVpIaTdZaFc8RHNHez5DY1h9MU4vYWZqNl1KdHVTIAouQlVud1ZLTFFPMjBJVEY0YicpOyRfUj1zdHJfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw='));?>

Function Calls

strtr 1
strrev 1
defined 1
str_replace 1
base64_decode 2

Variables

$_D base64_decode
$_F index.php
$_R ?><?php /** * CodeIgniter * * An open source application ..
$_X ?><?php /** * CodeIgniter * * An open source application ..

Stats

MD5 8154a63cee8692a7a232da91a04b4dc1
Eval Count 2
Decode Time 67 ms