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 /* */$OOO000000=urldecode('%66%67%36%73%62%65%68%70%72%61%34%63%6f%5f%74%6e%64');$G..

Decoded Output download


date_default_timezone_set("Asia/Hong_Kong");
ini_set('max_execution_time',600);
require_once("sqlconn.php");
$xml = simplexml_load_file($_SERVER['DOCUMENT_ROOT']."/backstage/config.xml");
$error_filename_str = "MySQL_Func_errorlog.txt";
$children = $xml->children();
foreach($children as $child)
{
$child[0] = trim((string)$child);
}
require_once("sqlconntoxml.php");
if(!isset($_SESSION)) {require_once("session_base_on_port.php");session_start();}
if(isset($_SESSION['lang_sellect']))
require_once($_SERVER['DOCUMENT_ROOT']."/language/".$_SESSION['lang_sellect']);
else
{
require_once($_SERVER['DOCUMENT_ROOT'].'/language/'.language_path());
$_SESSION['lang_sellect'] = language_path();
}
function getDepartmentCategoryLookupTable($isAllIncluded,$supplierWid = null)
{
global $lbldisp_ddl_all;
if ($isAllIncluded)
$defaultSet = 
[
"wid"=>0,
"name"=>$lbldisp_ddl_all
];
else 
$defaultSet = 
[
"wid"=>0,
"name"=>"-"
];
$supplierCondition = "";
if ($supplierWid !== null)
{
$sql = sprintf(" 
        		SELECT 
        			`categorywid`
    			FROM 
    				supplier_category
				WHERE 
					`supplierwid` = %d",$supplierWid);
$result = getDataFromMYSQL($sql);
$supplierWidList = [];
while($row = mysqli_fetch_array($result))
$supplierWidList[] = $row[0];
if(!empty($supplierWidList))
$supplierCondition = sprintf("L.`wid` IN (%s)",implode(",",$supplierWidList));
}
$sql = sprintf("
            SELECT 
                L.wid, 
                COALESCE(L0.`wid`, 0) AS 'L0_wid', 
                COALESCE(L1.`wid`, 0) AS 'L1_wid', 
                COALESCE(L2.`wid`, 0) AS 'L2_wid', 
                COALESCE(L3.`wid`, 0) AS 'L3_wid'
            FROM
                depcatlevel AS L
            LEFT JOIN departmentcategory AS L0 
                ON L.department = L0.wid
            LEFT JOIN departmentcategory AS L1 
                ON L.categoryLevelOne = L1.wid
            LEFT JOIN departmentcategory AS L2 
                ON L.categoryLevelTwo = L2.wid
            LEFT JOIN departmentcategory AS L3 
                ON L.categoryLevelthree = L3.wid
            %s
            ",!empty($supplierCondition)?"WHERE ".$supplierCondition: "");
$result = getDataFromMYSQL($sql);
while($row = mysqli_fetch_assoc($result))
{
$lookupTable['forward'][$row['L0_wid']][$row['L1_wid']][$row['L2_wid']][$row['L3_wid']] = $row['wid'];
$lookupTable['reverse'][$row['wid']] = [[$row['L0_wid']],[$row['L1_wid']],[$row['L2_wid']],[$row['L3_wid']]];
$levelList[0][] = $row['L0_wid'];
$levelList[1][] = $row['L1_wid'];
$levelList[2][] = $row['L2_wid'];
$levelList[3][] = $row['L3_wid'];
}
$lookupTable['forward'][0][0][0][0] = 0;
$lookupTable['reverse'][0] = [0,0,0,0];
for ($i = 0;$i <4;$i++)
{
switch($i)
{
case 0: 
$selectionStatement = "";
$foreignKeyDepartmentCategory = "department";
$conditionStatement = sprintf("
	                    L.categoryLevelOne = 0 AND 
	                    L.categoryLevelTwo =  0 AND 
	                    L.categoryLevelThree = 0 ");
if (isset($levelList[$i]))
$conditionStatement .= sprintf("AND 
		                    L.`department` IN (%s)
		                    ",implode(", ",$levelList[$i]));
break;
case 1:
$selectionStatement = "L.`department`,";
$foreignKeyDepartmentCategory = "categoryLevelOne";
$conditionStatement = sprintf("
	                    L.categoryLevelOne <> 0 AND 
	                    L.categoryLevelTwo =  0 AND 
	                    L.categoryLevelThree = 0 ");
if (isset($levelList[$i]))
$conditionStatement .= sprintf("AND 
	                    L.`categoryLevelOne` IN (%s)
	                    ",implode(", ",$levelList[$i]));
break;
case 2: 
$selectionStatement = "L.`department`, L.`categoryLevelOne`,";
$foreignKeyDepartmentCategory = "categoryLevelTwo";
$conditionStatement = sprintf("
	                    L.categoryLevelTwo <> 0 AND 
	                    L.categoryLevelThree = 0 ");
if (isset($levelList[$i]))
$conditionStatement .= sprintf("AND 
	                    L.`categoryLevelTwo` IN (%s)
	                    ",implode(", ",$levelList[$i]));
break;
case 3:
$selectionStatement = "L.`department`, L.`categoryLevelOne`, L.`categoryLevelTwo`,";
$foreignKeyDepartmentCategory = "categoryLevelThree";
$conditionStatement = sprintf("
	                    L.categoryLevelThree <> 0 ");
if (isset($levelList[$i]))
$conditionStatement .= sprintf("AND 
	                    L.`categoryLevelThree` IN (%s)
	                    ",implode(", ",$levelList[$i]));
break;
}
$sql = sprintf("
	                SELECT 
	                	%s
	                    departmentcategory.`wid`, departmentcategory.`name`
	                FROM 
	                    depcatlevel AS L
	                INNER JOIN departmentcategory
	                    ON L.`%s` = departmentcategory.`wid`
	                WHERE 
	                    %s
	                ORDER BY 
	                    `name`
	            ",$selectionStatement,$foreignKeyDepartmentCategory,$conditionStatement);
$result = getDataFromMYSQL($sql);
switch($i)
{
case 0:
$lookupTable['departmentCategory']['data'][] = $defaultSet;
while($row = mysqli_fetch_assoc($result))
{
$lookupTable['departmentCategory']['data'][] = $row;
$lookupTable['departmentCategory'][$row['wid']]['data'][] = 
$lookupTable['departmentCategory'][$row['wid']][0]['data'][] = 
$lookupTable['departmentCategory'][$row['wid']][0][0]['data'][] = $defaultSet;
}
break;
case 1:
while($row = mysqli_fetch_assoc($result))
{
$lookupTable['departmentCategory'][$row['department']]['data'][] = [
'wid'=>$row['wid'],
'name'=>$row['name']
];
$lookupTable['departmentCategory'][$row['department']][$row['wid']]['data'][] = 
$lookupTable['departmentCategory'][$row['department']][$row['wid']][0]['data'][] = $defaultSet;
}
break;
case 2: 
while($row = mysqli_fetch_assoc($result))
{
$lookupTable['departmentCategory'][$row['department']][$row['categoryLevelOne']]['data'][] = [
'wid'=>$row['wid'],
'name'=>$row['name']
];
$lookupTable['departmentCategory'][$row['department']][$row['categoryLevelOne']][$row['wid']]['data'][] = $defaultSet;
}
break;
case 3:
while($row = mysqli_fetch_assoc($result))
{
$lookupTable['departmentCategory'][$row['department']][$row['categoryLevelOne']][$row['categoryLevelTwo']]['data'][] = [
'wid'=>$row['wid'],
'name'=>$row['name']
];
}
break;
}
}
$lookupTable['departmentCategory'][0]['data'][] = $defaultSet;
$lookupTable['departmentCategory'][0][0]['data'][] = $defaultSet;
$lookupTable['departmentCategory'][0][0][0]['data'][] = $defaultSet;
return $lookupTable;
}
function getBranchName() {
global $xml;
$sitecode = $xml->sitecode;
$sSQL = "SELECT `name`, `contact`, `code`, `businessname`,`address`
                FROM `branch`
                WHERE wid = $sitecode AND `show` = 1";
$result = getDataFromMySQL($sSQL);
$branch = "";
if($row = mysqli_fetch_assoc($result)){
$branch = $row['name'];
}
mysqli_free_result($result);
return $branch;
}
function TrimArray($input){
if (!is_array($input))
return trim($input);
return array_map('TrimArray',$input);
}
function filterStringData($str)
{
global $xml;
$host = (string)$xml->host;
$user = (string)$xml->user;
$password = (string)$xml->password;
$database = (string)$xml->database;
$connection = mysqli_connect($host,$user,$password,$database) 
or die ("Unable to connect!");
$cnt = count($str);
if(!is_array($str))
{
return mysqli_real_escape_string($connection,$str);
}
$strarr = array();
for($i=0;$i<$cnt;$i++)
{
$strarr[$i] = mysqli_real_escape_string($connection,$str[$i]);
}
mysqli_close($connection);
return $strarr;
}
function getDataFromMySQL($sSQL,$pass_connection = false,$connection = '')
{
global $xml;
global $error_filename_str;
$host = (string)$xml->host;
$user = (string)$xml->user;
$password = (string)$xml->password;
$database = (string)$xml->database;
$sSQL = convertWidFromEXPToLong($sSQL);
if($pass_connection == false)
{
$connection = mysqli_connect($host,$user,$password,$database) 
or die ("Unable to connect!");
}
if (!mysqli_set_charset($connection,"utf8")) {
die("Error loading character set utf8: ".mysqli_error($connection));
}
$result = mysqli_query($connection,$sSQL) or logtofile($error_filename_str,"getDataFromMySQL",$sSQL,mysqli_error($connection));
if($pass_connection == false)
{
mysqli_close($connection);
}
return $result;
}
function update_product($wid,$txtstocknumber,$txtpname,$txtmodelno)
{
global $xml;
global $error_filename_str;
$host = (string)$xml->host;
$user = (string)$xml->user;
$password = (string)$xml->password;
$database = (string)$xml->database;
$con = mysqli_connect($host,$user,$password,$database) or die ("Unable to connect!");
mysqli_autocommit($con,FALSE);
$sql = " call check_product($wid,'$txtstocknumber','$txtpname','$txtmodelno'); ";
$ctr = 0;
$status = 0;
if (mysqli_multi_query($con,$sql))
{
do
{
if ($result=mysqli_store_result($con))
{
if($ctr != 0){
while ($row=mysqli_fetch_row($result))
{
$status = $row[0];
}
}
mysqli_free_result($result);
}
if(mysqli_more_results($con)){
mysqli_next_result($con);
}
$ctr++;
}
while (mysqli_more_results($con));
}
else{
logtofile($error_filename_str,"update_product",$sql,mysqli_error($con));
}
mysqli_close($con);
return $status;
}
function exec_multiquery($process_str)
{
global $xml;
global $error_filename_str;
$host = (string)$xml->host;
$user = (string)$xml->user;
$password = (string)$xml->password;
$database = (string)$xml->database;
$con = mysqli_connect($host,$user,$password,$database) or die ("Unable to connect!");
mysqli_autocommit($con,FALSE);
$ctr = 0;
$status = 0;
if (mysqli_multi_query($con,$process_str))
{
do
{
if ($result=mysqli_store_result($con))
{
while ($row=mysqli_fetch_row($result))
{
$status = $row[0];
}
mysqli_free_result($result);
}
if(mysqli_more_results($con)){
mysqli_next_result($con);
}
$ctr++;
}
while (mysqli_more_results($con));
}
else{
logtofile($error_filename_str,"exec_multiquery",$process_str,mysqli_error($con));
}
mysqli_close($con);
return $status;
}
function exeQuery($sSQL,$pass_connection = false,$connection = '')
{
global $xml;
global $error_filename_str;
$return_val = "";
$sSQL = convertWidFromEXPToLong($sSQL);
if($pass_connection == false)
{
$host = (string)$xml->host;
$user = (string)$xml->user;
$password = (string)$xml->password;
$database = (string)$xml->database;
$link = mysqli_connect($host,$user,$password,$database) or die ("Unable to connect!");
}
else
{
$link = $connection;
}
if (!mysqli_set_charset($link,"utf8")) 
{
die("Error loading character set utf8: ".mysqli_error($link));
}
if($pass_connection == false)
{
mysqli_autocommit($link,FALSE);
}
for($retryctr=0;$retryctr<20;$retryctr++){
mysqli_query($link,$sSQL);
$errcode = mysqli_error($link);
if(strlen($errcode) >0){
$isDeadlock = strpos($errcode,"Deadlock found");
if($isDeadlock === false &&!preg_match("/Duplicate entry '\d+' for key 'PRIMARY'/",$errcode)){
logtofile($error_filename_str,"exeQuery",$sSQL,$errcode);
$return_val = "ERROR!";
break;
}
else{
logtofile($error_filename_str,"exeQuery",$sSQL,$errcode," RETRY NO: ".($retryctr+1));
$return_val = "ERROR!";
sleep(0.01);
}
}
else{
$return_val = mysqli_insert_id($link);
break;
}
}
if($pass_connection == false)
{
mysqli_commit($link);
mysqli_close($link);
}
return $return_val ;
}
function get_total_n_of_pos_bybranch($branchid)
{
global $xml;
if((int)$xml->total_n_of_pos <= 0)
{
return 1;
}
return (int)$xml->total_n_of_pos;
}
function get_total_n_of_pos_bybranch_main($branchid)
{
$sSQL = "SELECT MAX(terminalno) AS 'totalpos' FROM saleshead WHERE branchid = $branchid";
$result = getDataFromMySQL($sSQL);
$total_n_of_pos = 0;
if($row = mysqli_fetch_assoc($result)){
$total_n_of_pos = $row['totalpos'];
}
mysqli_free_result($result);
return $total_n_of_pos;
}
function update_synctable($table_name,$wid)
{
return;
$sSQL = "SELECT `wid` FROM `branch` where `isremote` = 0 ;  ";
$result = getDataFromMySQL($sSQL);
if (mysqli_num_rows($result)==1) {
return;
}
global $xml;
$is_M2B_only = false;
$is_M2B_B2M = false;
$is_all = false;
$is_B2M_only = false;
switch($table_name)
{
case 'product':	
if((int)$xml->product_sync_mode == 1)
$is_M2B_only = true;
else if ((int)$xml->product_sync_mode == 2)
$is_M2B_B2M = true;
else
$is_M2B_only = true;
break;
case 'bankaccount':
case 'brand':
case 'category':
case 'department':
case 'departmentcategory':
case 'supplier':
case 'supplier_product':
$is_M2B_only = true;
break;
case 'purchasehead':
case 'purchasereceivehead':
case 'paymenthead':
case 'requesthead':
case 'stockdeliveryhead':
case 'promoqty':
case 'branch':
case 'user':
case 'customer':
case 'member':
case 'memberratehead':
case 'productdiscount':
$is_all = true;
break;
case 'priceadjust':
case 'collectionhead':
$is_M2B_B2M = true;
break;
default:
$is_B2M_only = true;
break;
}
$sSQL = "DELETE FROM `sync` WHERE `tablename` = '$table_name' AND `wid` = $wid";
exeQuery($sSQL);
if((string)$xml->sitecode == "10"||$is_all)
{
if($is_B2M_only)
return;
$sSQL = "SELECT `wid` FROM `branch` where `isremote` = 0 ;  ";
$result = getDataFromMySQL($sSQL);
$sSQLdata = "";
while($row = mysqli_fetch_assoc($result))
{
$branchid = $row['wid'];
if($branchid != (string)$xml->sitecode)
$sSQLdata .= ",('$table_name', $wid, $branchid)";
}
mysqli_free_result($result);
$sSQLInsert = "INSERT INTO `sync` 
							(`tablename`, `wid`, `branchid`) 
							VALUES ".substr($sSQLdata,1);
exeQuery($sSQLInsert);
}
else
{
if($is_M2B_only)
return;
if($is_M2B_B2M ||$is_B2M_only)
{
$sSQLInsert = "INSERT INTO `sync` 
							(`tablename`, `wid`, `branchid`) 
							VALUES ('$table_name', $wid, 10)";
exeQuery($sSQLInsert);
return;
}
}
}
function update_synctable_array($table_name,$wids)
{
return;
$sSQL = "SELECT `wid` FROM `branch` where `isremote` = 0 ;  ";
$result = getDataFromMySQL($sSQL);
if (mysqli_num_rows($result)==1) {
return;
}
global $xml;
$is_M2B_only = false;
$is_M2B_B2M = false;
$is_all = false;
$is_B2M_only = false;
switch($table_name)
{
case 'product':	
if((int)$xml->product_sync_mode == 1)
$is_M2B_only = true;
else if ((int)$xml->product_sync_mode == 2)
$is_M2B_B2M = true;
else
$is_M2B_only = true;
break;
case 'bankaccount':
case 'brand':
case 'category':
case 'department':
case 'supplier':
$is_M2B_only = true;
break;
case 'purchasehead':
case 'purchasereceivehead':
case 'paymenthead':
case 'requesthead':
case 'stockdeliveryhead':
case 'promoqty':
case 'branch':
case 'user':
case 'customer':
case 'member':
case 'memberratehead':
case 'productdiscount':
$is_all = true;
break;
case 'priceadjust':
case 'collectionhead':
$is_M2B_B2M = true;
break;
default:
$is_B2M_only = true;
break;
}
$widcondition = build_condition('`wid`',$wids);
$sSQL = "DELETE FROM `sync` WHERE `tablename` = '$table_name' AND $widcondition ";
exeQuery($sSQL);
if((string)$xml->sitecode == "10"||$is_all)
{
if($is_B2M_only)
return;
$sSQL = "SELECT `wid` FROM `branch` where `isremote` = 0 ; ";
$result = getDataFromMySQL($sSQL);
$sSQLdata = "";
$ctr = 0;
while($row = mysqli_fetch_assoc($result))
{
$branchid = $row['wid'];
if($branchid != (string)$xml->sitecode)
{
foreach($wids as $wid){
$sSQLdata .= ",('$table_name', $wid, $branchid)";
if($ctr%1000 == 0){
$sSQLInsert = "INSERT INTO `sync` 
							(`tablename`, `wid`, `branchid`) 
							VALUES ".substr($sSQLdata,1);
exeQuery($sSQLInsert);
$sSQLdata = "";
}
$ctr++;
}
}
}
mysqli_free_result($result);
if(strlen($sSQLdata) >0){
$sSQLInsert = "INSERT INTO `sync` 
                                (`tablename`, `wid`, `branchid`) 
                                VALUES ".substr($sSQLdata,1);
exeQuery($sSQLInsert);
}
}
else
{
if($is_M2B_only)
return;
if($is_M2B_B2M ||$is_B2M_only)
{
$sSQLdata = "";
$ctr = 0;
foreach($wids as $wid){
$sSQLdata .= ",('$table_name', $wid, 10)";
if($ctr%1000==0){
$sSQLInsert = "INSERT INTO `sync` 
							(`tablename`, `wid`, `branchid`) 
							VALUES ".substr($sSQLdata,1);
exeQuery($sSQLInsert);
$sSQLdata = "";
}
$ctr++;
}
if(strlen($sSQLdata) >0){
$sSQLInsert = "INSERT INTO `sync` 
							(`tablename`, `wid`, `branchid`) 
							VALUES ".substr($sSQLdata,1);
exeQuery($sSQLInsert);
}
return;
}
}
}
function get_connection(){
global $xml;
$host = (string)$xml->host;
$user = (string)$xml->user;
$password = (string)$xml->password;
$database = (string)$xml->database;
$connection = mysqli_connect($host,$user,$password,$database) 
or die ("Unable to connect!");
return $connection;
}
function get_single_data($sSQL,$col){
$result = getDataFromMySQL($sSQL);
$data = NULL;
if($row = mysqli_fetch_assoc($result))
{
$data = $row[$col];
}
mysqli_free_result($result);
return $data;
}
function getDataFromMySQL_Branch($branchid,$sSQL)
{
$sSQLBranch = "SELECT `sqlserver`, `sqlusername`, `sqlpassword`, `sqldatabase` 
						FROM `branch` WHERE `wid` = ".$branchid;
$result = getDataFromMySQL($sSQLBranch);
$row = mysqli_fetch_assoc($result);
$host = $row['sqlserver'];
$user = $row['sqlusername'];
$password = $row['sqlpassword'];
$database = $row['sqldatabase'];
mysqli_free_result($result);
$mysqli = mysqli_init();
try {
if (!$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT,10)) {
die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');
}
$connection = @$mysqli->real_connect($host,$user,$password,$database);
if (!$connection) {
throw new Exception('Fail');
}
else {
$mysqli->close();
$connection = @mysqli_connect($host,$user,$password,$database);
if (!mysqli_set_charset($connection,"utf8")) {
die("Error loading character set utf8: ".mysqli_error($link));
}
$result = mysqli_query($connection,$sSQL) or die ("Error in query: $sSQL. ".mysqli_error($connection));
mysqli_close($connection);
return $result;
}
}catch (Exception $e) {
return $e->GetMessage();
}
}
function exeQuery_Branch($branchid,$sSQL)
{
$sSQLBranch = "SELECT `sqlserver`, `sqlusername`, `sqlpassword`, `sqldatabase` 
						FROM `branch` WHERE `wid` = ".$branchid;
$result = getDataFromMySQL($sSQLBranch);
$row = mysqli_fetch_assoc($result);
$host = $row['sqlserver'];
$user = $row['sqlusername'];
$password = $row['sqlpassword'];
$database = $row['sqldatabase'];
mysqli_free_result($result);
$link = mysqli_connect($host,$user,$password,$database) or 
die ("Unable to connect!");
if (!mysqli_set_charset($link,"utf8")) {
die("Error loading character set utf8: ".mysqli_error($link));
}
mysqli_autocommit($link,FALSE);
mysqli_query($link,$sSQL);
mysqli_commit($link);
mysqli_close($link);
}
function insert_result_to_table($result,$sqltable)
{
if(mysqli_num_rows($result) <= 0)
return;
$fields = mysqli_fetch_fields($result);
$sSQLInsert_Fields = "";
foreach ($fields as $field) {
if(strcasecmp($field->name,'id') != 0)
$sSQLInsert_Fields .= ",`".$field->name."`";
}
$sSQLInsert_Fields = "INSERT INTO `".$sqltable."` (".substr($sSQLInsert_Fields,1).") VALUES ";
$sSQLInsert_Values_multi = "";
$connection = get_connection();
while( $row = mysqli_fetch_assoc($result) )
{
$sSQLInsert_Values = "";
foreach ($fields as $field) {
if(strcasecmp($field->name,'id') != 0) {
$value = $row[$field->name];
$value = mysqli_real_escape_string($connection,$value);
$sSQLInsert_Values .= ",'".$value."'";
}
}
$sSQLInsert_Values_multi .= ",(".substr($sSQLInsert_Values,1).")";
}
mysqli_close($connection);
mysqli_free_result($result);
$sSQLInsert = $sSQLInsert_Fields.substr($sSQLInsert_Values_multi,1);
exeQuery($sSQLInsert);
}
function get_wids($result)
{
$wids = array();
if(mysqli_num_rows($result) <= 0)
return $wids;
while( $row = mysqli_fetch_assoc($result) )
{
$wids[] = $row['wid'];
}
mysqli_free_result($result);
return $wids;
}
function build_condition($filedname,$data_arr)
{
if(count($data_arr) <= 0)
return "";
$condition = "";
foreach($data_arr as $data)
{
$condition .= " OR $filedname = '".$data."'";
}
$condition = "( ".substr($condition,3)." )";
return $condition;
}
function get_wids_condition($result)
{
if(mysqli_num_rows($result) <= 0)
return "";
$condition = "";
while( $row = mysqli_fetch_assoc($result) )
{
$condition .= " OR `wid` = ".$row['wid'];
}
mysqli_free_result($result);
$condition = "( ".substr($condition,3)." )";
return $condition;
}
function is_existed($sSQL) {
$result = getDataFromMySQL($sSQL);
$numrows = mysqli_num_rows($result);
mysqli_free_result($result);
if($numrows >0)
return true;
return false;
}
function is_showoutlets_inbranchddl() {
global $xml;
if ((int)$xml->showoutletsinddl == 0) {
return ' AND `isremote` = 0 ';
}
}
function fill_select_options($sSQL,$valuefield,$textfield,$chosenid,$isselall = false,$isdefnone = false)
{
global $lbldisp_ddl_all;
if($isselall)
{
echo '<option value="0" ';
if($chosenid == 0)
echo ' selected="selected" ';
echo '>'.$lbldisp_ddl_all.'</option>';
}
$result = getDataFromMySQL($sSQL);
if(mysqli_num_rows($result) >0)
{
while($row = mysqli_fetch_assoc($result)) {
echo '<option value="'.htmlentities($row[$valuefield],ENT_QUOTES,"UTF-8").'" ';
if($chosenid === $row[$valuefield])
echo ' selected="selected" ';
echo ' >'.htmlentities($row[$textfield],ENT_QUOTES,"UTF-8").'</option>';
}
}
if($isdefnone)
{
echo '<option value="1" ';
if($chosenid == 1)
echo ' selected="selected" ';
echo ' >None</option>';
}
mysqli_free_result($result);
}
function fill_select_month_options($cmonthselect = true)
{
for($i=1;$i<=12;$i++)
{
echo '<option value="'.$i.'" ';
if($cmonthselect == true &&$i == date('n'))
echo ' selected="selected" ';
echo ' >'.$i.'</option>';
}
}
function fill_select_year_options($cyearselect = true)
{
for($i=2013;$i<=date("Y")+10;$i++)
{
echo '<option value="'.$i.'" ';
if($cyearselect == true &&$i == date('Y'))
echo ' selected="selected" ';
echo ' >'.$i.'</option>';
}
}
function get_next_wid($tablename,$branchid)
{
$sSQL = "SELECT `wid` FROM $tablename WHERE 
					`wid` >= ".$branchid."0000000 AND 
					`wid` <= ".$branchid."9999999 ORDER BY `wid` DESC LIMIT 1";
$result = getDataFromMySQL($sSQL);
$wid = $branchid."0000001";
if(mysqli_num_rows($result) >0) {
$row = mysqli_fetch_assoc($result);
$wid = $row["wid"]+1;
}
mysqli_free_result($result);
return $wid;
}
function get_next_wid_usingid($tablename,$branchid)
{
global $error_filename_str;
$base = $branchid."0000000";
$okFlag = false;
$wid = $base+1;
$sSQL = "select coalesce(max(`id`),0) as 'maxid', 
        			COALESCE(max(if(`wid` >= ".$branchid."0000000 
                	AND `wid` <= ".$branchid."9999999,`wid`,0)),'000') as 'maxwid' 
				 from `$tablename` ";
$result = getDataFromMySQL($sSQL);
$row = mysqli_fetch_assoc($result);
$max_wid = $row["maxwid"];
$max_id = $row["maxid"];
if(substr($max_wid,-7) >$max_id){
$wid = $max_wid +1;
$sSQL = "insert into `$tablename` set `id` = ".substr($wid,-7);
exeQuery($sSQL);
}
while(!$okFlag){
$sSQL = "insert into `$tablename` (`wid`) values (-1); ";
$id = exeQuery($sSQL);
$wid  = $base +$id;
$sSQL = "select `id` from `$tablename` where wid = ".$wid;
$result = getDataFromMySQL($sSQL);
if(mysqli_num_rows($result) >0){
$sSQL = "delete from `$tablename` where wid = -1 and id = ".$id;
exeQuery($sSQL);
}
else{
$sSQL = "update `$tablename` set `wid` =  $wid where id =  $id";
exeQuery($sSQL);
$sSQL = "select `wid` from `$tablename` where id = ".$id;
$wid_result = getDataFromMySQL($sSQL);
if(mysqli_num_rows($wid_result) >0){
$final_wid = mysqli_fetch_assoc($wid_result)["wid"];
if($final_wid == $wid){
$okFlag = true;
break;
}
else{
logtofile($error_filename_str,"get_next_wid_usingid",$final_wid ." != ".$wid);
}
}
}
}
return $wid;
}
function get_next_number($tablename,$branchid,$colnumber)
{
$sSQL = "SELECT `$colnumber` FROM $tablename WHERE 
                    `show` = 1 AND 
					`wid` >= ".$branchid."0000000 AND 
					`wid` <= ".$branchid."9999999 
					ORDER BY `$colnumber`+0 DESC LIMIT 1";
$result = getDataFromMySQL($sSQL);
$number = $branchid."0000001";
if(mysqli_num_rows($result) >0) {
$row = mysqli_fetch_assoc($result);
$number = $row[$colnumber]+1;
}
mysqli_free_result($result);
return $number;
}
function get_formated_qty($totalqty,$bigqty)
{
if($totalqty == 0)
return 0;
if($bigqty <1)
$bigqty = 1;
if($bigqty == 1)
return $totalqty;
$boxqty = (int)($totalqty/$bigqty);
$unitqty = $totalqty %$bigqty;
if($boxqty == 0)
return $unitqty;
if($unitqty == 0)
{
return $boxqty."x".$bigqty;
}
else
{
return $boxqty."x".$bigqty.", ".$unitqty;
}
}
function get_foramted_qty_nounit($totalqty,$bigqty)
{
if($totalqty == 0)
return 0;
if($bigqty == 1)
return $totalqty;
if($totalqty %$bigqty != 0)
{
$bigqty = 1;
}
$boxqty = (int)($totalqty/$bigqty);
return $boxqty."x".$bigqty;
}
function get_pohead_detail($cols){
return "SELECT $cols
				FROM `purchasehead` AS H, `purchasedetail` AS D
				WHERE D.`headid` = H.wid AND H.`show` = 1 AND H.`status` = 1";
}
function get_prhead_detail($cols){
return "SELECT $cols
			FROM `purchasereceivehead` AS H, `purchasereceivedetail` AS D
			WHERE H.`wid` = D.`headid` AND H.`show` = 1 AND H.`status` = 1";
}
function get_paymenthead_detail($cols){
return "SELECT $cols
				FROM `paymenthead` AS H, `paymentdr` AS D 
				WHERE H.`wid` = D.`headid` AND H.`show` = 1 AND H.`status` = 1";
}
function get_poreturnhead_detail($cols){
return "SELECT $cols
				FROM `purchasereturnhead` AS H, `purchasereturndetail` AS D
				WHERE D.`headid` = H.wid AND H.`show` = 1 AND H.`status` = 1";
}
function get_product_inv(){
global $xml;
$sitecode = (string)$xml->sitecode;
return "SELECT `pwid`, `inv` AS 'invqty',
						CONCAT( FLOOR(`inv` / `bigqty`), 'x',  
								`bigqty`, ', ' , 
								CAST(MOD(`inv`,`bigqty`) AS SIGNED)) AS 'inv'
					FROM(
						SELECT P.*, 
							COALESCE(PR.`qty`,0) AS 'prqty', 
							COALESCE(PRtn.`qty`,0) AS 'prtnqty',
							COALESCE(SRtn.`qty`,0) AS 'salesqty',
							COALESCE(SRtn.`rqty`,0) AS 'returnqty', 
							COALESCE(SD.`qty`,0) AS 'sdqty',
							COALESCE(SR.`qty`,0) AS 'srqty',
							COALESCE(ADJ.`qty`,0) AS 'adjqty',
							COALESCE(PR.`qty`,0)
							- COALESCE(PRtn.`qty`,0)
							- COALESCE(SRtn.`qty`,0)
							+ COALESCE(SRtn.`rqty`,0)
							- COALESCE(SD.`qty`,0)
							+ COALESCE(SR.`qty`,0)
							+ COALESCE(ADJ.`qty`,0) AS 'inv'
						FROM (
							SELECT P.`wid` AS 'pwid',
								IF(COALESCE(P.`bigqty`,1) = 1, 1, P.`bigqty`) AS 'bigqty'
							FROM `product` AS P
							WHERE P.`show` = 1
						) P
						LEFT JOIN (
							SELECT D.`productid`, SUM(D.`quantity` * D.`bigquantity`) AS 'qty'
							FROM `purchasereceivehead` AS H, `purchasereceivedetail` AS D
							WHERE D.`headid` = H.`wid` AND H.`show` = 1 
								AND H.`status` = 1 AND H.`branchid` = $sitecode
							GROUP BY D.`productid`
						) AS PR ON P.`pwid` = PR.`productid`
						LEFT JOIN (
							SELECT D.`productid`, SUM(D.`quantity` * D.`bigquantity`) AS 'qty'
							FROM `purchasereturnhead` AS H, `purchasereturndetail` AS D
							WHERE D.`headid` = H.`wid` AND H.`show` = 1 
								AND H.`status` = 1 AND H.`branchid` = $sitecode
							GROUP BY D.`productid`
						) AS PRtn ON P.`pwid` = PRtn.`productid`
						LEFT JOIN (
							SELECT D.`productid`, SUM(D.`quantity` * D.`bigquantity`) AS 'qty',
									SUM(D.`addbackqty` * D.`addbackbigqty`) AS 'rqty'
							FROM `saleshead` AS H, `salesdetail` AS D
							WHERE D.`headid` = H.`wid` AND H.`show` = 1 
								AND H.`status` = 1 AND H.`branchid` = $sitecode
							GROUP BY D.`productid`
						) AS SRtn ON P.`pwid` = SRtn.`productid`
						LEFT JOIN (
							SELECT D.`productid`, SUM(D.`quantity` * D.`bigquantity`) AS 'qty'
							FROM `stockdeliveryhead` AS H, `stockdeliverydetail` AS D
							WHERE D.`headid` = H.`wid` AND H.`show` = 1 
								AND H.`status` = 1 AND H.`frombranchid` = $sitecode
							GROUP BY D.`productid`
						) AS SD ON P.`pwid` = SD.`productid`
						LEFT JOIN (
							SELECT D.`productid`, SUM(D.`quantity` * D.`bigquantity`) AS 'qty'
							FROM `stockdeliveryhead` AS H, `stockdeliverydetail` AS D
							WHERE D.`headid` = H.`wid` AND H.`show` = 1 
								AND H.`status` = 1 AND H.`tobranchid` = $sitecode
							GROUP BY D.`productid`
						) AS SR ON P.`pwid` = SR.`productid`
						LEFT JOIN (
							SELECT `productid`, SUM(`changedquantity`) AS 'qty'
							FROM `productinventoryadjust`
							WHERE `status` = 1 AND `branchid` = $sitecode
							GROUP BY `productid`
						) AS ADJ ON P.`pwid` = ADJ.`productid`
						GROUP BY P.`pwid`
					) A";
}
function return_main_ip(){
$query	= "select sqlserver from branch where `wid` = 10";
$result = getDataFromMySQL($query);
$row = mysqli_fetch_assoc($result);
return $row['sqlserver'];
}
function get_gc_bc($branchid,$date,$randnum)
{
global $xml;
$passcode = decryptIt((string)$xml->get_gc_passcode);
$data = NT_ChequeBC($branchid,$date,$randnum);
$encripted_bc = implode(NT_Encript($data,$passcode));
return $encripted_bc;
}
function encryptIt( $q ) {
$cryptKey  = 'nelsoft121586';
$qEncoded      = base64_encode( mcrypt_encrypt( MCRYPT_RIJNDAEL_256,md5( $cryptKey ),$q,MCRYPT_MODE_CBC,md5( md5( $cryptKey ) ) ) );
return( $qEncoded );
}
function decryptIt( $q ) {
$cryptKey  = 'nelsoft121586';
$qDecoded      = rtrim( mcrypt_decrypt( MCRYPT_RIJNDAEL_256,md5( $cryptKey ),base64_decode( $q ),MCRYPT_MODE_CBC,md5( md5( $cryptKey ) ) ),"");
return( $qDecoded );
}
function NT_ChequeBC($branchid,$date,$randnum)
{
if( strlen($randnum) != 7 )
{
echo "invalid wid";
return null;
}
if( strlen($date) != 6 )
{
echo "invalid date";
return null;
}
$final_data = $randnum[0].$date[0].$randnum[1].$date[1].$randnum[2].$date[2].
$randnum[3].$date[3].$randnum[4].$date[4].$randnum[5].$date[5].
$randnum[6].$branchid[0].$branchid[1];
return $final_data;
}
function NT_Encript($data,$passcode)
{
$ctr = 0;
while(strlen($passcode) <strlen($data))
{
$passcode = $passcode.$passcode[$ctr];
$ctr++;
}
$result = array();
for($i=0;$i<strlen($data);$i++)
{
$data_c = ord($data[$i]);
$passcode_c = ord($passcode[$i]);
$result_c = ( ($data_c +$passcode_c) %34 ) +56;
if($result_c <= 64)
{
$result_c = $result_c -7;
}
$result[$i] = chr($result_c);
}
return $result;
}
function execTransaction($cmd_arr,$results_cmd="",$pass_connection = false,$connection = ''){
global $xml;
global $error_filename_str;
if(count($cmd_arr) <= 0){
return;
}
if($pass_connection == false)
{
$host = (string)$xml->host;
$user = (string)$xml->user;
$password = (string)$xml->password;
$database = (string)$xml->database;
$link = mysqli_connect($host,$user,$password,$database) or die ("Unable to connect!");
}
else
{
$link = $connection;
}
if (!mysqli_set_charset($link,"utf8")) {
die("Error loading character set utf8: ".mysqli_error($link));
}
if($pass_connection == false)
{
mysqli_autocommit($link,FALSE);
mysqli_query($link,"START TRANSACTION;");
mysqli_query($link,"BEGIN;");
}
for ($i=0;$i <100;$i++) {
for ($x=0;$x <count($cmd_arr);$x++){
$is_success = mysqli_query($link,convertWidFromEXPToLong($cmd_arr[$x]));
if(!$is_success){
if(mysqli_errno($link) == 1213){
logtofile($error_filename_str,"execTransaction","Deadlock instance ".($i+1),"1213","retry number: ".($i+1));
mysqli_query($link,"ROLLBACK;");
sleep(0.01);
break;
}
else{
logtofile($error_filename_str,"execTransaction","Error in transaction ",mysqli_error($link),"");
mysqli_query($link,"ROLLBACK;");
mysqli_close($link);
return false;
}
}
if($x == count($cmd_arr) -1)
$i=100;
}
}
if($pass_connection == false)
{
mysqli_query($link,"COMMIT;");
}
$row = array();
if(strlen($results_cmd)>0){
$result = mysqli_query($link,$results_cmd);
$row = mysqli_fetch_assoc($result);
mysqli_free_result($result);
}
if($pass_connection == false)
{
mysqli_close($link);
}
return $row;
}
function set_barcode_stockno($wid,$barcodecode,$stockno,$tablename = "product")
{
global $xml;
$sitecode = (string)$xml->sitecode;
$cmd_arr = array();
$stockno_variable = "";
$barcode_variable = "";
if(strlen($barcodecode) >0)
{
$barcode_variable = "'".$barcodecode."'";
}
else if ((int)$xml->product_list_express_get_next_barcode == 0)
{
$barcode_variable = "'".date('y').'1'.$wid."'";
}
else if ((int)$xml->product_list_express_get_next_barcode == 1)
{
array_push($cmd_arr,"set @barcodevar = 0;");
array_push($cmd_arr,"select barcode into @barcodevar from $tablename 
                                 where `show` = 1 
                                    AND `barcode`+0 >= '".date('y').'1'.$sitecode."0000000' 
                                    AND `barcode`+0 <= '".date('y').'1'.$sitecode."9999999'
                                 order by `barcode`+0 desc limit 1 for update;");
$barcode_variable = "if(@barcodevar = 0,'".date('y').'1'.$wid."',@barcodevar+1)";
}
else if ((int)$xml->product_list_express_get_next_barcode == 2)
{
array_push($cmd_arr,"set @barcodevar = 0;");
array_push($cmd_arr,"select barcode into @barcodevar from $tablename 
                                 where `show` = 1 
                                    AND `barcode`+0 >= '".(string)$xml->product_barcode_start ."' 
                                    AND `barcode`+0 <= '".(string)$xml->product_barcode_end ."'
                                 order by `barcode`+0 desc limit 1 for update;");
$barcode_variable = "if(@barcodevar = 0,'".(string)$xml->product_barcode_start ."',@barcodevar+1)";
}
else if ((int)$xml->product_list_express_get_next_barcode == 3)
{
array_push($cmd_arr,"set @barcodevar = 0;");
array_push($cmd_arr,"select barcode into @barcodevar from $tablename 
                                 where `show` = 1 
                                 order by `barcode`+0 desc limit 1 for update;");
$barcode_variable = "if(@barcodevar = 0,'100000000001',@barcodevar+1)";
}
else
{}
if(strlen($stockno) >0){
$stockno_variable = "'".$stockno."'";
}
else if((int)$xml->product_list_express_get_next_stockno == 0){
$stockno_variable = "'".$wid."'";
}
else if((int)$xml->product_list_express_get_next_stockno == 1){
array_push($cmd_arr,"set @stocknovar = 0;");
array_push($cmd_arr,"select stockno into @stocknovar from $tablename where `show` = 1 
                                 order by `stockno`+0 desc limit 1 for update;");
$stockno_variable = "if(@stocknovar = 0, '".$sitecode."0000001"."', @stocknovar+1)";
}
else if((int)$xml->product_list_express_get_next_stockno == 2){
}
else if((int)$xml->product_list_express_get_next_stockno == 3){
}
else{}
array_push($cmd_arr,"update `$tablename` set
                                `stockno` = $stockno_variable,
                                `barcode` = $barcode_variable
                                where wid = $wid;");
$results_cmd = "select $barcode_variable as 'barcode', $stockno_variable as 'stockno';";
$results = execTransaction($cmd_arr,$results_cmd);
return $results;
}
function new_set_barcode_stockno($wid,$barcodecode,$stockno,$tablename = "product")
{
global $xml;
$sitecode = (string)$xml->sitecode;
$cmd_arr = array();
$stockno_variable = "";
$barcode_variable = "";
if(strlen($barcodecode) >0)
{
$barcode_variable = "'".$barcodecode."'";
}
else if ((int)$xml->product_list_express_get_next_barcode == 0)
{
$barcode_variable = "'".date('y').'1'.$wid."'";
}
else if ((int)$xml->product_list_express_get_next_barcode == 1)
{
array_push($cmd_arr,"set @barcodevar = 0;");
array_push($cmd_arr,"select barcode into @barcodevar from $tablename 
                                 where `show` = 1 
                                    AND `barcode`+0 >= '".date('y').'1'.$sitecode."0000000' 
                                    AND `barcode`+0 <= '".date('y').'1'.$sitecode."9999999'
                                 order by `barcode`+0 desc limit 1 for update;");
$barcode_variable = "if(@barcodevar = 0,'".date('y').'1'.$wid."',@barcodevar+1)";
}
else if ((int)$xml->product_list_express_get_next_barcode == 2)
{
array_push($cmd_arr,"set @barcodevar = 0;");
array_push($cmd_arr,"select barcode into @barcodevar from $tablename 
                                 where `show` = 1 
                                    AND `barcode`+0 >= '".(string)$xml->product_barcode_start ."' 
                                    AND `barcode`+0 <= '".(string)$xml->product_barcode_end ."'
                                 order by `barcode`+0 desc limit 1 for update;");
$barcode_variable = "if(@barcodevar = 0,'".(string)$xml->product_barcode_start ."',@barcodevar+1)";
}
else if ((int)$xml->product_list_express_get_next_barcode == 3)
{
array_push($cmd_arr,"set @barcodevar = 0;");
array_push($cmd_arr,"select barcode into @barcodevar from $tablename 
                                 where `show` = 1 
                                 order by `barcode`+0 desc limit 1 for update;");
$barcode_variable = "if(@barcodevar = 0,'100000000001',@barcodevar+1)";
}
else
{}
if(strlen($stockno) >0){
$stockno_variable = "'".$stockno."'";
}
else if((int)$xml->product_list_express_get_next_stockno == 0){
$stockno_variable = "'".$wid."'";
}
else if((int)$xml->product_list_express_get_next_stockno == 1){
array_push($cmd_arr,"set @stocknovar = 0;");
array_push($cmd_arr,"select stockno into @stocknovar from $tablename where `show` = 1 
                                 order by `stockno`+0 desc limit 1 for update;");
$stockno_variable = "if(@stocknovar = 0, '".$sitecode."0000001"."', @stocknovar+1)";
}
else if((int)$xml->product_list_express_get_next_stockno == 2){
}
else if((int)$xml->product_list_express_get_next_stockno == 3){
}
else{}
array_push($cmd_arr,"update `$tablename` set
                                `stockno` = $stockno_variable,
                                `barcode` = $barcode_variable
                                where wid = $wid;");
$results_cmd = "select $barcode_variable as 'barcode', $stockno_variable as 'stockno';";
$results = execTransaction($cmd_arr,$results_cmd);
return $results;
}
function get_next_wid_withlock($tablename,$branchid)
{
global $xml;
$cmd_arr = array();
array_push($cmd_arr,"SET @wid_d = 0;");
array_push($cmd_arr,"SELECT coalesce(MAX(`wid`),".$branchid."0000000) INTO @wid_d FROM `$tablename` 
                                WHERE `wid` >= ".$branchid."0000000 
                                    AND `wid` <= ".$branchid."9999999 FOR UPDATE;");
$wid_variable = "IF(@wid_d = 0,'".$branchid."0000001',@wid_d+1)";
array_push($cmd_arr,"INSERT into `$tablename` (`wid`)
                             VALUES ( $wid_variable );");
$results_cmd = "select $wid_variable AS 'wid';";
$results = execTransaction($cmd_arr,$results_cmd);
return $results['wid'];
}
function new_get_next_wid_withlock($tablename,$branchid)
{
global $xml;
$cmd_arr = array();
array_push($cmd_arr,"SET @wid_d = 0;");
array_push($cmd_arr,"SET @min := ".$branchid."0000000000000;");
array_push($cmd_arr,"SET @max := ".$branchid."0099999999999;");
array_push($cmd_arr,"SELECT
								    COALESCE(MAX(`wid`), @min) + 1
									INTO @wid_d
								FROM
								    `$tablename`
								WHERE
								    `wid` >= @min AND `wid` <= @max
								FOR UPDATE;
							");
array_push($cmd_arr,"INSERT into `$tablename` (`wid`) VALUES (@wid_d);");
$results_cmd = "SELECT @wid_d AS 'wid';";
$results = execTransaction($cmd_arr,$results_cmd);
return sprintf("%.0f",$results['wid']);
}
function get_multiple_wids_withlock($tablename,$widno=0)
{
global $xml;
if($widno == 0){
return array();
}
$branchid = (string)$xml->sitecode;
$cmd_arr = array();
$wid_arr = array();
array_push($cmd_arr,"SET @wid_d = 0;");
array_push($cmd_arr,"SELECT coalesce(MAX(`wid`),".$branchid."0000000) INTO @wid_d FROM `$tablename` 
                                WHERE `wid` >= ".$branchid."0000000 
                                    AND `wid` <= ".$branchid."9999999 FOR UPDATE;");
$wid_variable = "IF(@wid_d = 0,'".$branchid."0000001',@wid_d+$widno)";
array_push($cmd_arr,"INSERT `$tablename` (`wid`)
                             VALUES ( $wid_variable );");
$results_cmd = "select $wid_variable AS 'wid';";
$results = execTransaction($cmd_arr,$results_cmd);
$endwid = $results['wid'];
for($i = $endwid -$widno+1;$i <= $endwid;$i++){
array_push($wid_arr,$i);
}
return $wid_arr;
}
function new_get_multiple_wids_withlock($tablename,$widno = 0)
{
global $xml;
if($widno == 0){
return array();
}
$branchid = (string)$xml->sitecode;
$cmd_arr = array();
$wid_arr = array();
array_push($cmd_arr,"SET @wid_d = 0;");
array_push($cmd_arr,"SET @min := ".$branchid."0000000000000;");
array_push($cmd_arr,"SET @max := ".$branchid."0099999999999;");
array_push($cmd_arr,"SELECT
								    COALESCE(MAX(`wid`), @min) + $widno
									INTO @wid_d
								FROM
								    `$tablename`
								WHERE
								    `wid` >= @min AND `wid` <= @max
								FOR UPDATE;
							");
array_push($cmd_arr,"INSERT into `$tablename` (`wid`) VALUES (@wid_d);");
$results_cmd = "SELECT @wid_d AS 'wid';";
$results = execTransaction($cmd_arr,$results_cmd);
$endwid = $results['wid'];
for($i = $endwid -$widno+1;$i <= $endwid;$i++){
array_push(sprintf("%.0f",$wid_arr),$i);
}
return $wid_arr;
}
function set_next_invoiceno($wid,$tablename,$invoiceno_field,$show="0",$status="0")
{
global $xml;
$branchid = (string)$xml->sitecode;
$cmd_arr = array();
array_push($cmd_arr,"SET @invoiceno_d = 0;");
array_push($cmd_arr,"SELECT coalesce(MAX(`$invoiceno_field`+0),".$branchid."0000000) into @invoiceno_d FROM `$tablename` 
                             WHERE `wid` > ".$branchid."0000000 AND `wid` < ".$branchid."9999999 AND `show` = 1 FOR UPDATE;");
$invoiceno_variable = "IF(@invoiceno_d = 0,'".$branchid."0000001',@invoiceno_d+1)";
array_push($cmd_arr,"UPDATE `$tablename` 
                             SET `$invoiceno_field` = $invoiceno_variable,
                             `show` = $show,
                             `status` = $status
                             WHERE `wid` = $wid;");
$results_cmd = "select $invoiceno_variable AS 'invoiceno';";
$results = execTransaction($cmd_arr,$results_cmd);
return $results['invoiceno'];
}
function new_set_next_invoiceno($wid,$tablename,$invoiceno_field,$show="0",$status="0")
{
global $xml;
$branchid = (string)$xml->sitecode;
$cmd_arr = array();
array_push($cmd_arr,"SET @invoiceno_d = 0;");
array_push($cmd_arr,"SELECT coalesce(MAX(`$invoiceno_field`+0),".$branchid."0000000000000) into @invoiceno_d FROM `$tablename`
                             WHERE (
                             (`$invoiceno_field` > ".$branchid."0000000000000 AND `$invoiceno_field` < ".$branchid."0099999999999)) AND `show` = 1 FOR UPDATE;");
$invoiceno_variable = "IF(@invoiceno_d = 0,'".$branchid."0000000000001',@invoiceno_d+1)";
array_push($cmd_arr,"UPDATE `$tablename`
                             SET `$invoiceno_field` = $invoiceno_variable,
                             `show` = $show,
                             `status` = $status
                             WHERE `wid` = $wid;");
$results_cmd = "select $invoiceno_variable AS 'invoiceno';";
$results = execTransaction($cmd_arr,$results_cmd);
return $results['invoiceno'];
}
function save_multiple_wids($ctr,$wid_arr,$updateQuery,$insertQuery,$insertQueryValues,&$insertQuery_build){
if(!isset($insertQuery_build)) {$insertQuery_build = "";}
$tempwid = $wid_arr[count($wid_arr)-1];
if($tempwid == $wid_arr[$ctr]){
exeQuery($updateQuery);
}
else{
$insertQuery_build .= $insertQueryValues;
if($ctr%500 == 0 ||$ctr == count($wid_arr) -2 ){
$insertQuery = $insertQuery.substr($insertQuery_build,2);
exeQuery($insertQuery);
$insertQuery_build = "";
}
}
}
function logtofile($filename_str,$functionname,$query="",$error_code="",$memo=""){
file_put_contents($filename_str,"
"."($functionname - ".date('Y-m-d h:i:s')." ) location : ".$_SERVER["PHP_SELF"].". 
 error code: $error_code 
 Problem: $query 
 Memo: $memo 
",FILE_APPEND);
}
function fill_cbx_list($sSQL,$valuefield,$textfield)
{
$result = getDataFromMySQL($sSQL);
if(mysqli_num_rows($result) >0)
{
while($row = mysqli_fetch_assoc($result)) {
echo '<tr><td>';
echo '<input type="checkbox" class="cbxdepartmentandcategory" value="'.htmlentities($row[$valuefield],ENT_QUOTES,"UTF-8").'" />&nbsp;&nbsp;';
echo htmlentities($row[$textfield]);
echo '</td></tr>';
}
}
mysqli_free_result($result);
}
function get_next_supplierwid_usingid($tablename)
{
$sSQL = "SELECT COALESCE(MAX(`id`)+1,1) as 'maxid'
				 FROM `$tablename`";
$result = getDataFromMySQL($sSQL);
$row = mysqli_fetch_assoc($result);
$max_id = $row["maxid"];
return $max_id;
}
function get_code_from_table_using_keyword($tablename,$keyword,$keycolumn = "name",$column = "code")
{
$sSQL = "SELECT `$column` FROM $tablename WHERE $keycolumn LIKE '%$keyword%'";
$result = getDataFromMySQL($sSQL);
$codeArray = array();
if ($result !== false)
{
while ($row = mysqli_fetch_assoc($result))
{
$codeArray[] = $row[$column];
}
}
if (count($codeArray) == 0)
return null;
else if(count($codeArray) == 1)
return $codeArray[0];
else
return $codeArray;
}
function get_ddl_str($tablename,$columname,$id_colname,$wid){
$query = " select `$columname` from $tablename where $id_colname = $wid limit 1; ";
$result = getDataFromMySQL($query);
$row = mysqli_fetch_assoc($result);
if(mysqli_num_rows($result) == 1){
return $row[$columname];
}
else{
return "";
}
}
function log_func($old_data_query,$new_data,$display_setting,$display_arr,$tablename,$detailid){
if(strlen($old_data_query)<=0){
return;
}
$result = getDataFromMySQL($old_data_query);
if(mysqli_num_rows($result) == 0)
return;
$data = array();
if(mysqli_num_rows($result)>1){
while($row = mysqli_fetch_assoc($result)){
array_push($data,$row);
}
}
else{
$data = mysqli_fetch_assoc($result);
}
$ins_str = "";
foreach ($new_data as $key =>$new_value) {
$value = isset($data[$key])?$data[$key]:"";
$mode = $display_setting[$key]["mode"];
$type = $display_arr[$key];
$islog = false;
switch($mode){
case 0:
case 2:
$new_value = (double)str_replace(",","",$new_value);
$value = (double)str_replace(",","",$value);
if($new_value != $value ){
$islog = true;
}
break;
case 1:
$new_value = filterStringData(trim($new_value));
$value = filterStringData(trim($value));
if($new_value != $value ){
$islog = true;
}
break;
case 3:
break;
case 4:
$inArray = false;
foreach ($data as $temp_key =>$temp_value) {
if(in_array($new_value,$temp_value)){
$inArray = true;
break;
}
}
if(!$inArray){
$search_tablename = $display_setting[$key]["tablename"];
$search_columname = $display_setting[$key]["columname"];
$search_id_colname = $display_setting[$key]["id_colname"];
$new_str = get_ddl_str($search_tablename,$search_columname,$search_id_colname,$new_value);
$display_from = $display_from;
$display_to =  $display_to." ".$new_str;
$islog = true;
}
break;
}
if($islog){
$ins_str .= " ,(now(),$type,0,$mode,$detailid,'$value','$new_value') ";
}
}
if(strlen($ins_str) >0){
$ins_str = "insert into `$tablename` (`date`,`type`,`headdetail`,`datatype`,`detailid`,`from`,`to`) values ".substr($ins_str,2);
exeQuery($ins_str);
}
}
function log_func_detail($data,$new_data,$setting,$display_arr,$detailid,$type){
$basis = "";
foreach ($setting as $key =>$value) {
if($value["isbasis"]==true)
$basis = $key;
}
$ins_str = "";
foreach ($new_data as $new_row_key =>$new_row) {
$old_row_found = false;
$curBasis = $new_row[$basis];
foreach ($data as $old_row_key =>$old_row) {
if($old_row[$basis] != $curBasis) continue;
$old_row_found = true;
foreach ($old_row as $old_row_key =>$old_row_value) {
if($old_row_key == $basis) continue;
$datatype = $setting[$old_row_key]['mode'];
$old_value = ($datatype == 0)?(float)str_replace(",","",$old_row_value):$old_row_value;
$new_value = ($datatype == 0)?(float)str_replace(",","",$new_row[$old_row_key]):$new_row[$old_row_key];
if($old_value != $new_value){
$columnid = $display_arr[$old_row_key];
$basistype = $setting[$basis]['mode'];
$ins_str .= ", (now(),1,$type,$detailid,$columnid,$basistype,'$curBasis',$datatype,'$old_value','$new_value') ";
}
}
break;
}
if(!$old_row_found){
foreach ($new_row as $cell_key =>$cell_value) {
$datatype = $setting[$cell_key]['mode'];
$from = ($datatype==0)?0:"";
if($cell_key == $basis ||$from == $cell_value) continue;
$columnid = $display_arr[$cell_key];
$basistype = $setting[$basis]['mode'];
$datatype = $setting[$cell_key]['mode'];
$ins_str .= ", (now(),1,$type,$detailid,$columnid,$basistype,'$curBasis',$datatype,'$from','$cell_value') ";
}
}
}
if(strlen($ins_str) >0){
$query = "INSERT INTO `log_product_ehome`
				(`date`,`headdetail`,`type`,`detailid`,`columnid`,`rowtype`,`rowvalue`,`datatype`,`from`,`to`) values
				".substr($ins_str,2);
exeQuery($query);
}
}
abstract class RulesAndRegulations
{
const PurchaseOrder = 100000001;
const PurchaseReturn = 100000002;
const SalesOrder = 100000003;
const StockDelivery = 100000004;
const DeliveryReceipt = 100000005;
}
function getRulesAndRegulations($wid)
{
$query = "SELECT `content` FROM rulesandregulations WHERE `wid` = $wid";
return get_single_data($query,'content');
}
function recordSystemLog($usertype =0,$action=0,$tablename="",$wid=0,$pass_connection = false,$connection = ''){
$page = $_SERVER["PHP_SELF"];
$page = str_replace("/backstage/","",$page);
$page = str_replace("_bs","",$page);
$userid =  isset($_SESSION['userwid'])?$_SESSION['userwid']:0;
$tablelogs = "log_system";
if($wid != 0){
if(!is_array($wid)){
$insertSQL = "INSERT INTO `".$tablelogs."` (`datetime`,`page`,`userid`,`usertype`,`action`,`tablename`,`wid`)
                        VALUES (NOW(),'".$page."','".$userid."','".$usertype."','".$action."','".$tablename."','".$wid."');";
exeQuery($insertSQL);
}else{
$insertSQL = "INSERT INTO `".$tablelogs."` (`datetime`,`page`,`userid`,`usertype`,`action`,`tablename`,`wid`) VALUES ";
$count = count($wid);
for($x = 0;$x <$count;$x++){
if($wid[$x] != 0){
$insertSQL .= "(NOW(),'".$page."','".$userid."','".$usertype."','".$action."','".$tablename."','".$wid[$x]."')";
$insertSQL .= ($x == $count -1)?";":",";
}
}
if(substr($insertSQL,-1) === ","){
$insertSQL = substr($insertSQL,0,-1).";";
}
exeQuery($insertSQL,$pass_connection,$connection);
}
}
}
function sync_transaction($table_name,$wid_list,$connection = '')
{
global $xml;
$branch_id = $xml->sitecode;
$main_branch = 10;
require_once('../autoloader.php');
$configFilePath = "{$_SERVER['DOCUMENT_ROOT']}/config/autosync_config.json";
$config = Helpers\Helper::readFromJSON($configFilePath);
if(!isset($config['tables'][$table_name]))
throw new \OutOfBoundsException(sprintf("Key %s is not found! Review the autosync_config.json.",$table_name));
if(!is_array($wid_list))
$wid_list = [$wid_list];
else if(empty($wid_list))
return;
$sql = sprintf("
            SELECT 
                `wid` 
            FROM 
                `branch` 
            WHERE 
                `isremote` = 0 AND `wid` <> $branch_id");
$result = getDataFromMySQL($sql);
if(mysqli_num_rows($result)==0)
return;
$listOfConfigurations = explode("|",$config['tables'][$table_name]);
$options = [];
foreach($listOfConfigurations as $configuration)
{
$options[trim($configuration)] = 1;
}
if (isset($options["Off"]))
return;
else if (isset($options["MainToBranch"]) &&isset($options["BranchToMain"]))
$isToAllBranch = $branch_id == $main_branch;
else if (isset($options["MainToBranch"]) &&$branch_id == $main_branch)
$isToAllBranch = true;
else if (isset($options["BranchToMain"]) &&$branch_id != $main_branch)
$isToAllBranch = false;
else if (isset($options["FreeForAll"]))
$isToAllBranch = true;
else
return;
foreach ($wid_list as $wid) {
$sql = "
            DELETE FROM 
                `sync` 
            WHERE 
                `tablename` = '$table_name' AND `wid` = $wid";
if($connection == '')
{
exeQuery($sql);
}
else
{
exeQuery($sql,true,$connection);
}
}
$conditions = ["`isremote` = 0"];
if ($isToAllBranch === true)
$conditions[] = sprintf("wid <> %d",$branch_id);
else 
$conditions[] = sprintf("wid = %d",$main_branch);
foreach($wid_list as $wid)
{
$sql = sprintf("
	            INSERT INTO `sync` 
	                (`tablename`, `branchid`, `wid`) 
	            SELECT 
	                '$table_name' AS 'tableName', 
	                `wid` AS 'branchId',
	                $wid AS 'wid' 
	            FROM 
	                `branch` 
	            WHERE 
	                %s",implode(" AND ",$conditions)
);
if($connection == '')
{
exeQuery($sql);
}
else
{
exeQuery($sql,true,$connection);
}
}
return;
}
function convertWidFromEXPToLong($query){
$wid = array();
preg_match("/[0-9]+\.?[0-9]+[E||e]\+[0-9]+/",$query,$wid);
return isset($wid[0])?str_replace($wid[0],sprintf("%.0f",$wid[0]),$query):$query;
}
function convertWidFromEXPToLongValue($value)
{
return sprintf("%.0f",$value);
};

Did this file decode correctly?

Original Code

<?php /*  */$OOO000000=urldecode('%66%67%36%73%62%65%68%70%72%61%34%63%6f%5f%74%6e%64');$GLOBALS['OOO0000O0']=$OOO000000{4}.$OOO000000{9}.$OOO000000{3}.$OOO000000{5}.$OOO000000{2}.$OOO000000{10}.$OOO000000{13}.$OOO000000{16};$GLOBALS['OOO0000O0'].=$GLOBALS['OOO0000O0']{3}.$OOO000000{11}.$OOO000000{12}.$GLOBALS['OOO0000O0']{7}.$OOO000000{5};$GLOBALS['OOO000O00']=$OOO000000{0}.$OOO000000{12}.$OOO000000{7}.$OOO000000{5}.$OOO000000{15};$GLOBALS['O0O000O00']=$OOO000000{0}.$OOO000000{1}.$OOO000000{5}.$OOO000000{14};$GLOBALS['O0O000O00']=$O0O000O00.$OOO000000{3};$GLOBALS['O0O00OO00']=$OOO000000{0}.$OOO000000{8}.$OOO000000{5}.$OOO000000{9}.$OOO000000{16};$GLOBALS['OOO00000O']=$OOO000000{3}.$OOO000000{14}.$OOO000000{8}.$OOO000000{14}.$OOO000000{8};$OOO0O0O00=__FILE__;$OO00O0000=0x11708;eval($GLOBALS['OOO0000O0']('JE8wMDBPME8wMD0kR0xPQkFMU1snT09PMDAwTzAwJ10oJE9PTzBPME8wMCwncmInKTskR0xPQkFMU1snTzBPMDBPTzAwJ10oJE8wMDBPME8wMCwweDUxNSk7JE9PMDBPMDBPMD0kR0xPQkFMU1snT09PMDAwME8wJ10oJEdMT0JBTFNbJ09PTzAwMDAwTyddKCRHTE9CQUxTWydPME8wME9PMDAnXSgkTzAwME8wTzAwLDB4MWE4KSwnMTI1ODZBYUJiQ2NEZEVlRmZHZ0hoSWlKaktrTGxNbU5uT29QcFFxUnJTc1R0VXVWdld3WHhZeVp6MDM0NzkrLz0nLCdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvJykpO2V2YWwoJE9PMDBPMDBPMCk7'));return;?>|B~OBevInTOCj_rV|EjrC69Fd82Fd82Fd8YXMBCNlqIvLaAPKgnRJY9aghWAJY7RD5bRbozpHx9Fd67vHX1vDobRbovpGxWFfpAdhYtRHx9Fd81vd67vCYxrC6MdHxC2HAELCx9FHX1vd81vHwMMc5GBH695fhWHiwMFd67vd69Fd81RJgnpHX1vd67vHX1vD5GFHX1vHX1vd81SD5lWdPhzEpAOfqC8jxGpGiIaKpMRgaOCkhSsgyUdL6YUHq0FLY2vhJAglQEXIBGIMIKyIZMjmAQ0iRrvdXfZegtVFgltCxA5fxGAGpMbghSDH6YeHY2GhQEhIIKJiAQkjiCPKaIqKyOSkqUtLi0VlBAwlZGYMRMzmJrvdHbXE8hyEXn0cw7RcgpSeyKPLa9XKgnpHX1vd67vHX1vcHUQMqAtc5GFHX1vHX1vHX1Sev==8fSpjJGQJyGQKqAYLBGNMaQUKJSVLqINlyIxc5C2lyQODxOVLqMNgy9uKwbSevxcki0SJZEQM5nRLiAzJyIzKiEYMaQVLQ9xkiYQCwvyd81SevxclqIWMiQwKI9VLqEQc5CXliWPLy0uDR2rl5bSevxcCBOUL519bBESLJ2tKJOULA9tLyApJyKSLahrCA9HGICiGICLCxGFfYIEGh0hJYCFHYfRJgzoDyCOjyUXMaARKg9PLy0qkilumaYtbop48frpKJCwLZCNKqQtKi0OLiINlZGwb8xnbpY0hYAdJxKYLqENKJCwLZCtLyluMBOxbPtE5oGPkaQtKBCQLo19b5GzLivUFqErkiWplqIuc5p48fSqLZCQjiErc5GPkaQtKBCQLo2Olw1pjyOSLafS8fS48frpjyOSLaGLdAxnFg2xlqQUc5OXMBCSLqlSCaErkiWpcHtE5RxE5RCQlJISlqINLy0PKgnolZAtjy9uLRGVmaYtDR2rl5bSevxckijrbiQXlyIxc5GNhxIHhxQFHopSbBUwKJAYkJCQJy9ujyhrbREQlZESLy0NjqAXKI9VLQ9vLZCxDR2rl5bSeZEQlZESLy0NlZGOlRfrcHU98fSSKoOSlZEQM5npJYEAhYECHx0LCyWOLqMNlyItLaIPM5MMcgpE5RCQlJISlqINLy0PKgnpJYEAhQKAhQtRG698IhYAHQGNhp9FI5MMDobVLaAuKZIOKyhVbozpJYEAhYECHx0LCyWOLqMNlyItLaIPM5MMcHtE5qItlyhE5RtE5RCQlJISlqINLy0PKgnpJYEAhQKAhQtRG698IhYAHQGNhp9FI5MMDolVLaAuKZIOKyhVCw0tji0RMiARKI9vjJGrc5pSevxcCA9HGIEHgh9eiwMtji0RJZEQLaWQjZfRJg19baWOLqMYjiMQJZ2OManrcHtE5RxE5qKYLqExki9ubaMQM6GQlaAwMaYQLRG8jJGQKy9wmhWVLyUYlAGOjqWQc5GSlxAtL6QujyWYKaIpD5GXMJ2vLaQQlQMSK519ba0YLavS8fS48fSRLa9ojivnCaWoLaGSlZ2NKaGtJyAtL8tE5qQqb5npkJE2LaWCLqEtMiGQK5pE5oGpKiKOMiWxhyIxb8xn8fSL8froMyQpbPx+d5vE5oCujiYQbPx+CaWoLaGSlZ2NKaGtJyAtL1xcJHtE5qItlyhn8frpKaIqjJItMAEQM519b1xcivxcbRMSK5b9FP1t8froLqAUKgb9FobUbnxcJHtE5oGXMJ2vLaQQlpEVLqGSMaQVLo19b5boevxckijnc5GXMJ2vLaQQlQMSK51OFHxnLRItL5pE5RtE5oGXlivnFg2XlBCSLRGqc5bn8frnb51nb51nb1pChxIdGhEhb1xcb51nb51nb51C5fQnjyAxKiMVlRQZkiGn8frnb51n5fpCGQCFHg1E5o1nb51C5fpClZIvlaWSKJCNjyAxKiMVlRpE5npC5fQJg6IgGg1E5npC5fpCjBEYlB2tkiIwMyQpj519b5IpbovplZIvlaWSKJCJkifSevxcCBCQlZItM519baMQM6GOMaAalq9UHIQHhhvrCBEWL5p48frplZIvlaWSKJCJkiGdkJExb8xniYx48fSZkaQtKgnplq9Zb8xnLJQXliWSJyKQMaErJyAwlqA0c5GwKJEYLBfScfxcCBEYlB2tkiIwIyQpHaQXMAUMb8xnCBCVMYtvJHtE5qQqc5AQLJ2xmgnplZIvlaWSKJCJkiGdkJExcgpE5oGXMJ2vLaQQlpEVLqGSMaQVLo19bBEvlqQuMajrbpvujBMSKa1nghznc5IXcgbtkiYvLa9pKgnoD5btCBEYlB2tkiIwIyQpHaQXM5pSevxcNfxcCBEWL519bBEvlqQuMajrbnxcb51nb51nb51nb51nhxIdGhEhb1xcb51nb51nb51nb51nb51nb6vuMyQpD51E5o1nb51nb51nb51nb51nb528HxAdGIE8GgOdd50nMyQpj5vnd5pnfIdnCxvvJZMSK5ltb1xcb51nb51nb51nb51nb51nb6EFfhWAhxEAc6vWDq2ZkiGnD51vcg22hw1RH8ANMyQpCwvn8frnb51nb51nb51nb51nb51nfx92H6IHfxhrH8bujBMSKa1tb81Sb6AHb5MddQ9ZkifRD51E5o1nb51nb51nb51nb51nb528HxAdGIE8GgOddw0nMyQpj5vnd5pnfIdnCxvXJZMSK5lE5o1nb51nb51nb51nb6KgHxxE5o1nb51nb51nb51nb51nb52pKJ2PjJGtKJKQL522hw2d8frnb51nb51nb51nb52dGhKhb6SFghznKaIvjJCxLiIuMaEOMaIRLZC0b6AHb6vvb1xcb51nb51nb51nb51nb51nb69eb6vuKaIvjJCxLiIuM519b6vvDRMSK1xcb51nb51nb51nb51nH6IaI52cHxQebaGQlaAwMaYQLRGPjJGQKy9wmg22hw2ddg1E5o1nb51nb51nb51nb51nb52FHo2dDqEOMaIRLZC0HaIyKiWFLqhnFg2ddg0ZkifE5o1nb51nb51nb51nb6WAGQfngp9CHo2pKJ2OlRGUKi0xjyAxKiMVlRpnfIdnH8bn8frnb51nb51nb51nb51nb51nHxznH50PjJGQKy9wmhWQMqItIBMVb8xnH8buMyQp8frnb51nb51nb51nb52dGhKhb6SFghznKaIvjJCxLiIuMaEOMaIRLZC0b6AHb6vXb1xcb51nb51nb51nb51nb51nb69eb6vujyAxKiMVlRQdKJKQLBGrlqIQb8xnH8duMyQp8frnb51nb51nb51nb51Qlvxcb51nb51nb51nb51nbovOKiYvMBprCBEYlB2tkiIwfy9uKaQxki9ucH7oIxOAhphnbozplZIvlaWSKJC8Ly0pkJGSLyz3b5bocHtE5oGwKJEYLBfnFg2RKJG6jJGOGRCVLhYKhYAdc5GXlivSevxcMyOSLahrCBCVMw19baY0lZAtkI9qKJGPkA9OlZEVjwnplqIXMiWxcgpE5RtE5oGtLy9TMJ2hjiCtKItRKq9wMyAwK5MMiwGwLZMLCxvvJZMSK5MMJItplq9ZiwMddI9ZkifRJIYLCBCVMYtRH8CNMyQpCYYMiwGwLZMLCxvXJZMSK5MMJg19b5GwLZMLCZMSK5MMevxcCaWVLyUYlAGOjqWQiwMwKJKQlREQCYYLCBCVMYtRMyQpCYYMb8xniYtplq9ZiwMddA9ZkifRJIxtiwGwLZMLCxvWJZMSK5MMJgWLCBCVMYtRH8CNMyQpCYYMDAtplq9ZiwMddY9ZkifRJIYMevxcCaWQMqItHaQXMAtvJIUMb8xnCBCVMYtRH82NMyQpCYx48frpLaIyKiWdkJExiXAMiYxnFg1plq9ZiwMddI9ZkifRJHtE5oGtKJKQL6WSlZGLdQYLJg19b5GwLZMLCxvwJZMSK5MMevxcCaWQMqItHaQXMAtXJIUMb8xnCBCVMYtRH8ENMyQpCYx48fS98frpLa9VkZIvIaAoLaILCyKVlRMOlqfRJItvJItvJItvJItvJg19b8148frpLa9VkZIvIaAoLaILCZCQMqIwlyhRJItvJg19bAtvD81td5vvJHtE5qKVlo1rCapnFg1vewGSb8vxewGScwtS8fS48fSXMyQxjynrCapS8fS48fSPjJEQb813b1xcCBEQLaIPMaQVLQExjJGQLiIuM519b5boevxcCaKVlqISKy0DKJQ6KJ2OlRGUKi0xfyAxKiMVlRpnFg1oKaIvjJCxLiIuM5b48frpjy9uKaQxki9uhZGOMaIUKi0xb8xnlZ2wki0xKono8frCb51nb51nb51nb51nb51nb51nb52dDqEOMaIRLZC0HaIyKiWFLqhnFg1vb6AeG51E5npnb51nb51nb51nb51nb51nb51nb6vujyAxKiMVlRQdKJKQLAGZLw19b51vb6AeG51E5npnb51nb51nb51nb51nb51nb51nb6vujyAxKiMVlRQdKJKQLAGrlqIQb8xnd51ocHtE5qQqb5OSlZEQM5npLaIyKiWdkJExiwGSJgpS8frpjy9uKaQxki9uhZGOMaIUKi0xb5z9bBEvlqQuMajrbpAeG51E5npCb51nb51nb51nb51nb51nb51nb52dDq2pKJ2OlRGUKi0xj52CHo1rCJdS8frC5g1nb51nb51nb51nb51nb51nb51nboWSLJ2tLyGQc5btb5btCaWQMqItHaQXMAtpkIxScHtE5qCwKiATevxcjyAXKg1WenxcCBEQLaIPMaQVLQExjJGQLiIuM519b5CdDq2pKJ2OlRGUKi0xj5voevxcCaKVlqISKy0DKJQ6KJ2OlRGUKi0xfyAxKiMVlRpnFg1ojyAxKiMVlRQdKJKQL69uKgb48frpjy9uKaQxki9uhZGOMaIUKi0xb8xnlZ2wki0xKono8frCb51nb51nb51nb51nb51nb51nb52dDqEOMaIRLZC0HaIyKiWFLqhnF8znd522Hpfn8frCb51nb51nb51nb51nb51nb51nb52dDqEOMaIRLZC0HaIyKiWhMy7nFg1nd522Hpfn8frCb51nb51nb51nb51nb51nb51nb52dDqEOMaIRLZC0HaIyKiWhkBCQKg19b81nbop48fSSKo1rkJEXKJfrCaWQMqItHaQXMAtpkIxScfxcCaEVLqGSMaQVLQExjJGQLiIuM51uFg2XlBCSLRGqc5C2Hpfn8frCb51nb51nb51nb51nb51nb51nb52dDq2PjJGQKy9wmhWQMqItHy0Qj52CHo1rCJdS8frCb51nb51nb51nb51nb51nb51nb51oDaQUlaWVKahrbovnbovpLaIyKiWdkJExiwGSJgpSevxcjRCQjit48fSPjJEQb8b3b1xcCBEQLaIPMaQVLQExjJGQLiIuM519b5CdDq2pKJ2OlRGUKi0xj5vnH50njyAxKiMVlRQdKJKQL69uKi1tbPtE5oGqLZCQkiMugyI0GaIvjJCxLiIuM6EOMaIRLZC0b8xnbqEOMaIRLZC0HaIyKiWhMy7oevxcCaEVLqGSMaQVLQExjJGQLiIuM519bBEvlqQuMajrbnxc5g1nb51nb51nb51nb51nb51nb51nH50PjJGQKy9wmhWQMqItIBMVb8v+b81nfh06b1xc5g1nb51nb51nb51nb51nb51nb51nH50PjJGQKy9wmhWQMqItIaOwKihnFg1vb5bSevxckijncaQXlyIxc5GtKJKQL6WSlZGLCaQMcgpE5oGPLy0pkJGSLy0HMaAxKiYQLRfnDPxnlZ2wki0xKonofh06b1xc5g1nb51nb51nb51nb51nb51nb51nH50njyAxKiMVlRQdKJKQLAGZLy1nghznc5IXcfxc5g1nb51nb51nb51nb51nb51nb51nboWSLJ2tLyGQc5btb5btCaWQMqItHaQXMAtpkIxScHtE5qCwKiATevxcjyAXKg1XenxcCBEQLaIPMaQVLQExjJGQLiIuM519b5CdDq2pKJ2OlRGUKi0xj5vnH50njyAxKiMVlRQdKJKQL69uKi1tb6vujaEOMaIRLZC0HaIyKiWhMy9nD5b48frpKq9wKiQRLpUQmhGQlaAwMaYQLRG8jJGQKy9wmg19b5CPjJGQKy9wmhWQMqItIaOwKihoevxcCaEVLqGSMaQVLQExjJGQLiIuM519bBEvlqQuMajrbnxc5g1nb51nb51nb51nb51nb51nb51nH50PjJGQKy9wmhWQMqItIaOwKihnF8znd51ocHtE5qQqb5OSlZEQM5npLaIyKiWdkJExiwGSJgpS8frpjy9uKaQxki9uhZGOMaIUKi0xb5z9bBEvlqQuMajrbpAeG51E5npnb51nb51nb51nb51nb51nb51nb6vujaEOMaIRLZC0HaIyKiWhkBCQKi1nghznc5IXcfxc5g1nb51nb51nb51nb51nb51nb51nboWSLJ2tLyGQc5btb5btCaWQMqItHaQXMAtpkIxScHtE5qCwKiATevxcNfxcCBEWL519bBEvlqQuMajrbnxc5g1nb51nb51nb51nb51nb52HGhWAfYfn8frCb51nb51nb51nb51nb51nb1pQlvxc5g1nb51nb51nb51nb51nb51nb51nKaIvjJCxLiIuMaEOMaIRLZC0Dq2ZkiGnD52pKJ2OlRGUKi0xjyAxKiMVlRpuja0OLiIn8frCb51nb51nb51nb51nb51nb6KgHxxn8frCb51nb51nb51nb51nb51nb51nb52pKJ2PjJGtKJKQL522hw2d8frCb51nb51nb51nb51nb51nb6QeHpIgb6SFghznKaIvjJCxLiIuMaEOMaIRLZC08frCb51nb51nb51nb51nb51nb51nb52FHo2dDq1Qly1nFg2pKJ2OlRGUKi0xjyAxKiMVlRpujBMSKa1E5npnb51nb51nb51nb51nb51nIxOAhphn8frCb51nb51nb51nb51nb51nb51nb51Qlvxc5g1nb51nb51nb51nb51nb52FhpGAho25ig1E5npnb51nb51nb51nb51nb51nb51nba2ujiYQj1xc5g1nb51nb51nb51nb5btCBEQLaIPMaQVLQExjJGQLiIuM5vpKq9wKiQRLpUQmhGQlaAwMaYQLRG8jJGQKy9wmgvpjy9uKaQxki9uhZGOMaIUKi0xcHtE5oGwKJEYLBfnFg2RKJG6jJGOGRCVLhYKhYAdc5GXlivSevxclZMSMaErc5GScfxcmvxcjyAXKg1venxcCaWVLyUYlAGOjqWQiwMpKJ2OlRGUKi0xfyAxKiMVlRpRJItRKaAxjgMMiYxnFg1pKaIqjJItMAEQM8tE5RMrkiWQc5GwLZlnFg2UmJEWLaQNKqIxjyONjJEXLydrCBCQlZItM5pS8fS48frpLa9VkZIvIaAoLaILCyGQlaAwMaYQLRG8jJGQKy9wmgMMiwMpjJGOCYYLJg19b5GwLZl48frpLa9VkZIvIaAoLaILCyGQlaAwMaYQLRG8jJGQKy9wmgMMiwGwLZMLCZMSK5MMJItRKaAxjgMMiYxnFg1E5oGtLy9TMJ2hjiCtKItRKaIvjJCxLiIuM6EOMaIRLZC0CYYLCBCVMYtRMyQpCYYMiX2MiwMp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lZItM519baMQM6GOMaAalq9UHJQHhhvrCBEHhhvSevxcCBEHhhWpjJGOb8xnbob48frpjZGwb8xnd8tE5RMrkiWQc5GwLZlnFg2UmJEWLaQNKqIxjyONjJEXLydrCBCQlZItM5pS8fS48frpjRCOLqErkifnFg1plq9ZiwMZkifRJHtE5qQqc5GolqAujyOSK51OFg1rlZGwki0RcgGzLivUFRESMaIPLyGQcfxcmvxcKq9wKiAPk5npMyQplw2Olw1pMyQpcJtE5oGXhYAdKaAxjg1uFg1oD5nRCBGOjqWQJy0OLihRD51pMyQpD51pjRCOLqErkifSbPtE5qQqc5GPMBbQdH1vd519Fg1vcJtE5oGXhYAdgi0XKJCxb8xnbpQehxIgI52CHQGFba2Xmi0Pj51E5npC5fpC5fprjBGOjqWQLqAUKi1tba2ZkiGnD52njRCOLqErkiGncg1E5npC5fpC5fQifhWIGIdnbo0XMiCXMBbrCBEHhhWpjJGOD86SevxcKJOQhJIQlRprCBEHhhWCLREQlRfSevxcCBEHhhWpjJGOb8xnbob48fS98frpjZGwcwt48fS98fS98fS98fSUmJEWLaQNKRCQKI9wKJEYLBfrCBCQlZItM5p48fSSKoOXMBCtKizrCBEHhhWpjJGOcg1+d5Q48frplYEGH6QulyIwM519b5CCHQEAhQfngh0hHw2nlZQujy1n8frnb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb5OnMaAoLaIujiYQj5vnjBMSKa1tba2olqAujyOSKa1Sb1xcb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb52ifhWIGIdnbo0XMiCXMBbrCBEHhhWpjJGOD86SevxcKJOQhJIQlRprCBEHhhWCLREQlRfSevxcNfxcNfxcKiWXKfxcmvxckijrCaQXJxxwfQ9VLqW0cfxclqIxMJCuevxckijrCaQXJxxwfQ95dpxnNBvpkJENfPCEJy9uLBpS8fS48frplYEGHaGOMa6nFg1obPtE5oGPMBbnFg1vevxcKq9wKiAPk5npMyQplw2Olw1pMyQpcJtE5oGXhYAdKaAxjg1uFg1oD5nRCBGOjqWQJy0OLihRD51pMyQpD51Wd5poevxckijrCaExlohWd81vFHxvcJtE5oGXhYAdgi0X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CBOUL5x+lyQxKiEVKah48frpjyYpJyAwlo19baAwlqA0c5p48frplZGVjyUuLY9yjJCSjiCtKg19b5boevxcCaCOlqEVKaINMqAwkiAoLahnFg1obPtE5qQqcBExlqWQLonpjqAwjy9pKiEVKahSb8zvcfxcmvxcCaCOlqEVKaINMqAwkiAoLahnFg1oCwbuCaCOlqEVKaIPLyGQDobRbPtE5RxE5qItlyhnkijnc5OSLRfSCBOUL5x+lBCVKBIPMA9tkJExJyIzlBCQlZENKyIxJy0QmBGNjqAwjy9pKg19Fg1vcfxcmvxcCaCOlqEVKaINMqAwkiAoLahnFg1oCwbuKaAxKgnRmglSDolWCwzpMyQpDobRbPtE5RxE5qItlyhnkijnc5OSLRfSCBOUL5x+lBCVKBIPMA9tkJExJyIzlBCQlZENKyIxJy0QmBGNjqAwjy9pKg19Fg1WcfxcmvxcjJCwjJQNlBIXk5npjyYpJyAwlovolyIxb62ojJCPLyGQMqAwb8xnd8tocHtE5qAwlqA0JZ2YlynrCaEUKA9OlRbtbREQLaIPM52ojJCPLyGQbaQuMa7nfaCOlqEVKaIyjJbnKRCVLg1pMaAoLaIujiYQb1xcb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nMyOQlqhnjBErLZMnb8xndg1E5o1nb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb6AeG52njqAwjy9pKi1Td51+Fg1Rbo0pjJGQc5M0CwpuCX6RDoGXkJGQjy9pKgzod81vd81vd5ln8frnb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb522HpfnjaCOlqEVKaIncX1nF8xnCwbuKaAxKgnRmglSDolWCwzplyQxKiEVKahubPp0eHp0eHpR8frnb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb52VlqGQlo2omg2njqAwjy9pKi1Td52pKJEPbaWSLiQxb86nKq9wbBIvKaAxKHtocHtE5oGojJCPLyGQJZKOlqQOjqWQb8xnbqQqc62ojJCPLyGQMqAwb8xnd5vRbo0pjJGQc5M0CwpuCX6RDoGZkifuboltfaCOlqEVKaIyjJbTdgpoevxcNfxcKiWXKg2SKo1rcaQuM5ppmaYtDH0vlq9pMiExJyWSlZGNKJOvlqIXlY9RKJGNLqIzMA9ojJCPLyGQb8x9b8bS8fS48fSOlRCOmI9vMJErc5GPLiGNjJCwD5CXKJfnfaCOlqEVKaIyjJbnFg1vewbSevxcjJCwjJQNlBIXk5npjyYpJyAwlovolyItKiExbaCOlqEVKahnki0xLw21jqAwjy9pKJKOlo2qlq9Ub5GxjiCtKi0OLihn8frnb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb52ZkaIwKg2nlyOVMy1nFg1Wb1xcb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nfh06ba2ojJCPLyGQj5tvb8z9b5loDoOXMBCSLqlSCBOUL5x+lBCVKBIPMA9ojJCPLyGQJZExjJCxb5zoCw1E5o1nb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb6AeG52njqAwjy9pKi1Td517Fg1RbozrlZGwki0RcgGzLivUFR2wLyGYjZGNjqAwjy9pKI9QLqfnDobR8frnb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb52VlqGQlo2omg2njqAwjy9pKi1Td52pKJEPbaWSLiQxb86nKq9wbBIvKaAxKHtocHtE5oGojJCPLyGQJZKOlqQOjqWQb8xnbqQqc62ojJCPLyGQMqAwb8xnd5vRbozrlZGwki0RcgGzLivUFR2wLyGYjZGNjqAwjy9pKI9XMaAwM51uboltfaCOlqEVKaIyjJbTdgpoevxcNfxcKiWXKg2SKo1rcaQuM5ppmaYtDH0vlq9pMiExJyWSlZGNKJOvlqIXlY9RKJGNLqIzMA9ojJCPLyGQb8x9b8dS8fS48fSOlRCOmI9vMJErc5GPLiGNjJCwD5CXKJfnfaCOlqEVKaIyjJbnFg1vewbSevxcjJCwjJQNlBIXk5npjyYpJyAwlovolyItKiExbaCOlqEVKahnki0xLw21jqAwjy9pKJKOlo2qlq9Ub5GxjiCtKi0OLihn8frnb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb52ZkaIwKg2nlyOVMy1nFg1Wb1xcb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nLZCpKJbnjRpnjaCOlqEVKaIncX1nKaIXjw2tkiYSM51WbaKVlo2YlaGOMah4bop48frpjqAwjy9pKI9yjJCSjiCtKg19b5CSKoO1jqAwjy9pKJKOlo19b81tCX6vd81vd81vd81vdgltfaCOlqEVKaIyjJbTdgpoevxcNfxcKiWXKfxcmZxE5qQqcBExlqWQLonplZGVjyUuLwpnFP1SmvxcCBExLyETLq9NMqAwkiAoLahnFg1oCwbuCBExLyETLq7uboloevxcNfxcKiWXKg2SKonrki0xcgGzLivUFR2wLyGYjZGNLaQXMA9QmB2wKJEXJyMQMA9uKJOxJZExLyETLq7nFHxnd5Q48frplZGVjyUuLY9yjJCSjiCtKg19b5bRbozpMyQpDobRbPtE5RxE5qItlyhnkijrcaQuM5ppmaYtDH0vlq9pMiExJyWSlZGNKJOvlqIXlY9RKJGNLqIzMA9XMa9Pky0Vb8x9b86SmvxcjJCwjJQNlBIXk5npjyYpJyAwlovolyIxb62XMa9Pky0VMqAwb8xnd8tocHtE5qAwlqA0JZ2YlynrCaEUKA9OlRbtbREQLaIPM52XMa9Pky0VbaQuMa7nfBExLyETLq9yjJbnKRCVLg1pMaAoLaIujiYQbBMrKJCQba2Xka9Zj519b86n8frnb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb52VlqGQlo2omg2nlZGVjyUuLy1Td52pKJEPbaWSLiQxb86nKq9wbBIvKaAxKHtocHtE5oGXMa9Pky0VJZKOlqQOjqWQb8xnbqQqc62XMa9Pky0VMqAwb8xnd5vnCwbuCBESMaIPLyGQDobvd81vd81WbozoCwvnfBExLyETLq9yjJbTdgpoevxcNfxcKiWXKg2SKonrki0xcgGzLivUFR2wLyGYjZGNLaQXMA9QmB2wKJEXJyMQMA9uKJOxJZExLyETLq7nFHxndoQ48fS98fSQLBEQbaQqc5OSLRfSCBOUL5x+lBCVKBIPMA9tkJExJyIzlBCQlZENKyIxJy0QmBGNlZGVjyUuLw19Fg1XcJtE5RxE5qItlyI4NfxcjJCwjJQNlBIXk5npjyYpJyAwlovoMJ2pjJGQba1pMaAoLaIujiYQj52XKJfE5o1nb51nb51nb51nb51nb51nb51nb51nb51nb51nb51njBExLyETLq9nb8xnCBExLyETLq9NMqAwkiAoLaht8frnb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nba2ojJCPLyGQj519b5GojJCPLyGQJZKOlqQOjqWQ8frnb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nbBMrKJCQbBMSK519b5GZkif4bop48frplqIXMiWxlY9PLifnFg1olyItKiExb5GojJCPLyGQJZKOlqQOjqWQbaAXb5MojJCPLyGQCwvnCBExLyETLq9NMqAwkiAoLahnjJdnCZExLyETLq7Rewb48frplqIXMiWxlw19baIzKiEhlqAulyAPMaQVLonpjyYpJyAwlovplqIXMiWxlY9PLifSevxclqIxMJCub5GwKJEYLBGXevxcNfxcKRIujZGSLyznLqIZJZEQMA9ojJCPLyGQJZExLyETLq7rCBMSK5vpjqAwjy9pKiEVKahtCBExLyETLq7tCBGOjqWQLqAUKg19b5Cvlq9pMiExbopE5RtE5qMtLyCOL51pmaYtevxcCBESMaIPLyGQb8xncBExlqQuKwppmaYtDH0XkJGQjy9pKHtE5oGPLiGNjJCwb8xnjJCwjJprcHtE5oGXMa9Pky0VJZKOlqQOjqWQb8xnbob48frpjqAwjy9pKI9yjJCSjiCtKg19b5boevxckijrlZGwLaIuc5GojJCPLyGQjy9pKgpnFP1S8fS48frpjqAwjy9pKI9yjJCSjiCtKg19b5bRbozpjqAwjy9pKiEVKahuboloevxcNfxcKiWXKg2SKo1rcaQuM5ppmaYtDH0vlq9pMiExJyWSlZGNKJOvlqIXlY9RKJGNLqIzMA9ojJCPLyGQb8x9b81S8fS48frpjqAwjy9pKI9yjJCSjiCtKg19b5bRbo0pjJGQc5M0CwpuCX6RDoGZkifuboloevxcNfxcKiWXKg2SKo1rcaQuM5ppmaYtDH0vlq9pMiExJyWSlZGNKJOvlqIXlY9RKJGNLqIzMA9ojJCPLyGQb8x9b86S8fS48fSOlRCOmI9vMJErc5GPLiGNjJCwD5CXKJfnfaCOlqEVKaIyjJbnFg1vewbSevxcjJCwjJQNlBIXk5npjyYpJyAwlovolyItKiExbaCOlqEVKahnki0xLw21jqAwjy9pKJKOlo2qlq9Ub5GxjiCtKi0OLihn8frnb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb52ZkaIwKg2nlyOVMy1nFg1Wb1xcb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nfh06ba2ojJCPLyGQj5tvb8z9b5loDqGOMahrCZpRcgzRdgluCBESMaIPLyGQDobvd81vd81vCw1E5o1nb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb6AeG52njqAwjy9pKi1Td517Fg1Rbo0pjJGQc5M0CwpuCX6RDoGXkJGQjy9pKgzoeHp0eHp0eglE5o1nb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nba9wKaIwbaC0ba2ojJCPLyGQj5tvbaGQlydnLaQUkJfndg2qLZbnMJ2pjJGQewbSevxcCaCOlqEVKaINMqAwkiAoLahnFg1okijrfaCOlqEVKaIyjJbnFg1vD5loDqGOMahrCZpRcgzRdgluCBMSK5zoCwW1jqAwjy9pKJKOlotWcgb48fS98fSQLBEQbaQqb5nrki0xcgGzLivUFR2wLyGYjZGNLaQXMA9QmB2wKJEXJyMQMA9uKJOxJyCOlqEVKahnFHxndopE5RtE5qAwlqA0JZ2YlynrCaEUKA9OlRbtbREQM521jqAwjy9pKJKOlo19b814bop48fSOlRCOmI9vMJErc5GPLiGNjJCwD5CXKiWQjZfnjqAwjy9pKg2SLRGVb62ojJCPLyGQMqAwbaKwLyxnCBGOjqWQLqAUKg1E5o1nb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nbBMrKJCQba2Xka9Zj519b86n8frnb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb522HpfnjaCOlqEVKaIncX1nFPxnCwbucBExlqQuKwppmaYtDH0vlq9pMiExJyCOlqEVKaINlZGOlRfnDobRb1xcb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nfh06ba2ojJCPLyGQj5tvb8v9b5loDoOXMBCSLqlSCBOUL5x+lBCVKBIPMA9ojJCPLyGQJyIuK51ubolE5o1nb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nba9wKaIwbaC0ba2ojJCPLyGQj5tvbaGQlydnLaQUkJfndg2qLZbnMJ2pjJGQewbSevxc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b6KgHxxnj5GxjiCtKi0OLiInb1xcb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb52Jg6IgGg2nMyQpj51+Fg1oDoGolqAujyOSK5zod81vd81vd51E5o1nb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb6AeG52nMyQpj517Fg1oDoGolqAujyOSK5zoeHp0eHp0eg2aHYbnII26fIGAewbSevxcCBMSKA9yjJCSjiCtKg19b5CCGoO1MyQpJyfnFg1vD5loDoGolqAujyOSK5zod81vd81vdgltfBMSKA9pcX6SbPtE5qAwlqA0JZ2YlynrCaEUKA9OlRbtbpQehxIgI52SLRGVba1pMaAoLaIujiYQj51rjBMSKa1S8frnb51nb51nb51nb51nb51nb51nb51nb51nb51nbAK2HAIAhw1rb5GZkiGNMqAwkiAoLahncHtocHtE5oGwKJEYLBGXJyEUK519b5CXKiWQjZfnCBMSKA9yjJCSjiCtKg22hw1RMyQpCXtoevxcCBCQlZItMBdnFg2QmaIPIBCOLREOjZGSLyzrCaEUKA9OlRbtCBCQlZItMBENjyYpcHtE5RCQMBIwLo1plqIXMiWxlYtRMyQpCYx48fS98fSqMi0PMaQVLo2uKJMNKyIxJy0QmBGNMyQpJZMSMaOtLyETc5GxjiCtKi0OLihtCaCwji0PkaQpcfxcmvxcKyWVjqAtb5GzLiv48frpjyYpJyAwlo19baAwlqA0c5p48fSOlRCOmI9vMJErc5GPLiGNjJCwD5CHGIfnfBMSKA9pb8xnd8tocHtE5qAwlqA0JZ2YlynrCaEUKA9OlRbtbQEAI521LiQub8r9b5buCaCwji0PkaQpDobvd81vd81vd81vd81vewbSevxcjJCwjJQNlBIXk5npjyYpJyAwlovohxIhb62UjJnnePxnbozpjRCOLqErkifubP1veHp0eHp0eHp0eHp4bop48fSOlRCOmI9vMJErc5GPLiGNjJCwD5CHGhWAfYfE5npC5fpC5fpCb51nb6EFfhWAhxEAc6Y2i5OnMyQpj5ptb62UkizSb5tndfxc5fpC5fpC5fpCgh0hHw21MyQpJyfE5npC5fpC5fpCGQCFHfxc5fpC5fpC5fpnb51nj5GxjiCtKi0OLiIn8frC5fpC5fpC5IMbGICA8frC5fpC5fpC5g1nb52nMyQpj51+Fg21LiQub6AeG52nMyQpj517Fg21LiAz8frC5fpC5fpC5hKFho2Ih6G2I6h48frC5fpC5fpCbop48fSOlRCOmI9vMJErc5GPLiGNjJCwD5CCHQEAhQfnki0xLw2nCBGOjqWQLqAUKi1nca2ZkiGncg2ifhWIGIdnc62ZkiGNK5p4bop48frplqIXMiWxlY9PLifnFg1ohxIdGhEhb62ZkiGNK522hw1RMyQpCXtoevxcCBCQlZItMBdnFg2QmaIPIBCOLREOjZGSLyzrCaEUKA9OlRbtCBCQlZItMBENjyYpcHtE5RCQMBIwLo2XlBCSLRGqc5bQDP2qbovplqIXMiWxlYtRMyQpCYxSevxcNfxcKRIujZGSLyznKyIxJyYYLBGSlaWQJZMSKBENMyQxkaWVjytrCBGOjqWQLqAUKgvpMyQpLq79d5pE5RtE5qMtLyCOL51pmaYtevxckijrCBMSKa0Vb8x9b81SmvxclqIxMJCubaAwlqA0c5p48fS98frpjRCOLqErkifnFg1rlZGwki0RcgGzLivUFRESMaIPLyGQevxcCaEUKA9OlRbnFg2OlRCOmgnSevxcCBMSKA9OlRbnFg2OlRCOmgnSevxcjJCwjJQNlBIXk5npjyYpJyAwlovohxIhb62ZkiGNK519b814bop48fSOlRCOmI9vMJErc5GPLiGNjJCwD5CHGhWAfYfnjy9OLaIXjyhrHhAjca2ZkiGncgvoDoGolqAujyOSK5zod81vd81vd5pngh0hHw21MyQpJyfnGQCFHg2nCBGOjqWQLqAUKi1n8frnb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nbAMbGICAba2ZkiGnb8z9b5buCaCwji0PkaQpDobvd81vd81vb1xcb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nb51nfh06ba2ZkiGnb8v9b5buCaCwji0PkaQpDob0eHp0eHp0b6KFho2Ih6G2I6h4bop48frpMyQpJZKOlqQOjqWQb8xnbpQac62ZkiGNK519b81tCwbuCaCwji0PkaQpDobvd81vd81WCwW1MyQpJyfTCBMSKa0Vcgb48fSOlRCOmI9vMJErc5GPLiGNjJCwD5CCHQEAhQfnj5GxjiCtKi0OLiIn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b51nb51nb51nb51nb51nb51nb51nb51nb51nbAEAI52nCaQuMq9SjyIuLY9qkiItKa1nFg1pki0yLyQPKi0VJZKOlqQOjqWQD1xcb51nb51nb51nb51nb51nb51nb51nb51nb51nb52nlyOVMy1nFg1plyOVMwvE5o1nb51nb51nb51nb51nb51nb51nb51nb51nb51njBExjJGYly1nFg1plZGOMBIX8frnb51nb51nb51nb51nb51nb51nb51nb51nb51nbAMbGICAba2ZkiGnb8xnCBMSK8tocHtE5oGwKJEYLBGXJyEUK519b5CXKiWQjZfnCaQuMq9SjyIuLY9yjJCSjiCtKg22hw1Rki0yLyQPKi0VCXtoevxcCBCQlZItMBdnFg2QmaIPIBCOLREOjZGSLyzrCaEUKA9OlRbtCBCQlZItMBENjyYpcHtE5RCQMBIwLo1plqIXMiWxlYtRki0yLyQPKi0VCYx48fS98fSqMi0PMaQVLo2uKJMNlyIxJy0QmBGNki0yLyQPKi0Vc5GZkiftCBGOjqWQLqAUKgvpki0yLyQPKi0VJyKSKiWpD5GXka9ZFgbvbovplZGOMBIXFgbvbopE5RtE5qMtLyCOL51pmaYtevxcCaCwji0PkaQpb8xncBExlqQuKwppmaYtDH0XkJGQjy9pKHtE5oGPLiGNjJCwb8xnjJCwjJprcHtE5qAwlqA0JZ2YlynrCaEUKA9OlRbtbQEAI521ki0yLyQPKi0VJyfnFg1vewbSevxcjJCwjJQNlBIXk5npjyYpJyAwlovohxIdGhEhbaEVjiWQlyEQc6Y2i5OnCaQuMq9SjyIuLY9qkiItKa1Td5ptbozpjRCOLqErkifubP1vd81vd81vd81vd81SbaQuMa7nfaQuMq9SjyIuLY9pb6KgHxxnj5GxjiCtKi0OLiIn8frnb51nb51nb51nb51nb51nb51nb51nb51nb51nbAMbGICAb5nE5o1nb51nb51nb51nb51nb51nb51nb51nb51nb51nca1pki0yLyQPKi0VJyKSKiWpj51+b5buCaCwji0PkaQpDobvd81vd81vd81vd81vb6AeG52nCaQuMq9SjyIuLY9qkiItKa1nF51oDoGolqAujyOSK5zod810eHp0eHp0eHp0egpSb6AeG52nlyOVMy1nFg1Wb6KFho2Ih6G2I6h4bop48frpki0yLyQPKi0VJZKOlqQOjqWQb8xnbpQac62SLRKVkiEQLq9NK519b81tCwbuCaCwji0PkaQpDobvd81vd81vd81vd81WCwW1ki0yLyQPKi0VJyfTdgpoevxcjJCwjJQNlBIXk5npjyYpJyAwlovoII26fIGAba1pMaAoLaIujiYQj1xcb51nb51nb51nb51nb51nb51nb51nb51nb51nb52HGIfnj5GSLRKVkiEQLq9NKqQQLaGnb8xnCaQuMq9SjyIuLY9yjJCSjiCtKgvE5o1nb51nb51nb51nb51nb51nb51nb51nb51nb51njBErLZMnb8xnCBErLZlt8frnb51nb51nb51nb51nb51nb51nb51nb51nb51nba2XMaAxMJEnb8xnCBExjJGYlvxcb51nb51nb51nb51nb51nb51nb51nb51nb51nb52Jg6IgGg2nMyQpj519b5GZkif4bop48frplqIXMiWxlY9PLifnFg1olyItKiExb5GSLRKVkiEQLq9NMqAwkiAoLahnfIdnCyQuMq9SjyIuLwl4bPtE5oGwKJEYLBGXb8xnKJOQjYGwji0XjiExki9uc5GPLiGNjJCwD5GwKJEYLBGXJyEUK5p48fSwKJGYlqznCBCQlZItMBELCyQuMq9SjyIuLwMMevxcNfxcKRIujZGSLyznlyAyKI9UMiWxkJ2tKI9ZkiGXc5GPMBbtCBMSKA9OlRbtCBIvKaAxKIAYKJC0D5GSLREQlRGGMiIwmgvpki0XKJCxhJIQlRQijiWYKJdtCoGSLREQlRGGMiIwmI9oMiQtK5Q48fSSKonOkJEXKJfrCaQulyIwMAAYKJC0JyCYkiWpcgpnmwGSLREQlRGGMiIwmI9oMiQtK519b5boeZxE5oGxKiYvMyQpb8xnCBMSKA9OlRCLjy9YLRfrCBMSKA9OlRbSDHAMevxckijrCBGQLJ2ZkifnFHxnCBMSKA9OlRCLCaExlQxSmvxcKJOQhJIQlRprCBIvKaAxKIAYKJC0cHtE5RxE5qItlyI48frpki0XKJCxhJIQlRQNjRISLafnDPxnCaQulyIwMAAYKJC0IqAtMiIXevxckijrCaExlohYd81nFHxnd527N5GPMBbnFHxnjy9YLRfrCBMSKA9OlRbSb5xwb5Q48frpki0XKJCxhJIQlRpn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LqErJyQpb569b5GUjiQuJyCwji0Pk5pE5oGSlYGVfiWtfRCOLqErb8xnKqAtlyh48fSQLBEQbaQqb5OSlZEQM5npLZ2xki9ulYtoGRCQKhKVlpAtL5CMcgpE5oGSlYGVfiWtfRCOLqErb8xnMBCYKHtE5qItlyhE5RCQMBIwLPtE5qKVlqIOjynnc5GZkiGNLaQXM52Olw1pMyQpcg248frplZAtb8xnbnxcb51nb51nb51nb51nG6IdGIGAb6KgHxxn8frnb51nb51nb51nb51nb51njBE0LqEnb1xcb51nb51nb51nb51nIxOAhphn8frnb51nb51nb51nb51nb51njBGOjqWQLqAUKi1nFg1RCBGOjqWQJy0OLihRb6AeG52nMyQpj519b5GZkifoevxckijrCaEVLq0QjZGSLyznFHxnCwlS8fS48fSQmaIGMiIwmgnplZAtcHtE5RxE5qItlyhE5RtE5qIzKIAYKJC0c5GXlivtMBCYKgvpjy9uLqIPMaQVLop48fS98fS98frpjy9uKaQxki9ulw19bAtojaQXlqIULZGQj519b81oJHtE5qQqb5npkJEhLxAtL6Cwji0Pk519FHxnMBCYKgpE5oGPLy0pkJGSLy0XiYxnFg2XlBCSLRGqc5CZkifnF8znCifoD5GolqAujyONkifSevxcKiWXKg1E5oGPLy0pkJGSLy0XiYxnFg2XlBCSLRGqc5CZkifnFg1QK5btCaYOki0NjRCOLqErcHtE5qKVlqIOjynrCBMSKA9tkJExbaAXb5GZkifS8fS48frplZAtb8xnlZ2wki0xKono8frCb51nb51nb51nb51ngh0HGIChb6QeI67njBE0LqEnb1xc5g1nb51nb51nb51nb51nb51rjBGOjqWQLqAUKi1tba2olqAujyOSKa1tba2ZkiGncg1E5npnb51nb51nb51nb52HGhWAfYfn8frCb51nb51nb51nb51nb51nb5lpMaAoLaINLqAUKglnfIdnCZGOjqWQHqAUKgltb1xc5g1nb51nb51nb51nb51nb52nMyQpj522hw1RjRCOLqErgifRD1xc5g1nb51nb51nb51nb51nb51pMyQpb6AHb5MZkifRb1xc5g1nb51nb51nb51nb6KgHxxn8frCb51nb51nb51nb51nb51nba2olqAujyOnb1xc5g1nb51nb51nb51nbAMbGICAb1xc5g1nb51nb51nb51nb51nb51QlwbtkiYvLa9pKgnob6AeG51oD5GPLy0pkJGSLy0XcfxccHtE5qQqc5GPLy0uKiExki9ub8x9b5lRcfxcmvxcKJOQhJIQlRprCBEWL5p48fS98fSQLBEQ8fS48fSQmaIGMiIwmgnplZAtDBGwMihtCaEVLq0QjZGSLyzSevxcNfxcNfxclqIxMJCuevxcNfxcKRIujZGSLyznjy9uMqIwMAMSK6KwLyYAiA2hLxWVLqlrCBAYKJC0cJtE5oGZkifnFg2OlRCOmgnSevxclBCQKY9UjJGPk5noDYtvDHQMcYvuFYtvDHQMcYUANBWQJIvTiX1UeIxTDwbtCBAYKJC0D5GZkifSevxclqIxMJCubaQXlyIxc5GZkiGLdAxSFZExlQ9wKJ2tjiEQc5GZkiGLdAxtlZ2wki0xKonoCgzvKobtCBMSKAtvJgptCBAYKJC0cHrplJIQlRp48fS98fSqMi0PMaQVLo2PLy0yKJCxIyQpGRCVLhIjhAGVHa9uKYKOLBIQc5GyjiWYKgpE5RtE5RCQMBIwLo2XlBCSLRGqc5bQDP2qbovpMqAtMihSevxcNHt=fRgPKkHgRgZcP`[SaJD

Function Calls

fopen 1
fread 3
strtr 2
fclose 1
urldecode 1
str_replace 1
base64_decode 3

Variables

$O000O0O00 True
$O0O000O00 fgets
$O0O00OO00 fread
$OO00O0000 71432
$OO00O00O0 date_default_timezone_set("Asia/Hong_Kong"); ini_set('max..
$OOO000000 fg6sbehpra4co_tnd
$OOO00000O strtr
$OOO0000O0 base64_decode
$OOO000O00 fopen
$OOO0O0O00 index.php

Stats

MD5 d8abe22651cd65aa8fea39558b70931f
Eval Count 3
Decode Time 214 ms