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 /* Cdigo fonte protegido - Pblica Tecnologia */$OOO000000=urldecode('%66%67%36%73%62..

Decoded Output download

$O000O0O00=$GLOBALS['OOO000O00']($OOO0O0O00,'rb');$GLOBALS['O0O00OO00']($O000O0O00,0x530);$OO00O00O0=$GLOBALS['OOO0000O0']($GLOBALS['OOO00000O']($GLOBALS['O0O00OO00']($O000O0O00,0x1a8),'EnteryouwkhRHYKNWOUTAaBbCcDdFfGgIiJjLlMmPpQqSsVvXxZz0123456789+/=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'));eval($OO00O00O0);$OO00O00O0=str_replace('__FILE__',"'".$OOO0O0O00."'",$GLOBALS['OOO0000O0']($GLOBALS['OOO00000O']($GLOBALS['O0O00OO00']($O000O0O00,$OO00O0000),'EnteryouwkhRHYKNWOUTAaBbCcDdFfGgIiJjLlMmPpQqSsVvXxZz0123456789+/=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')));fclose($O000O0O00);eval($OO00O00O0);
if (!defined('QRCODEDEFS')) {
define('QRCODEDEFS',true);
define('QR_MODE_NL',-1);
define('QR_MODE_NM',0);
define('QR_MODE_AN',1);
define('QR_MODE_8B',2);
define('QR_MODE_KJ',3);
define('QR_MODE_ST',4);
define('QR_ECLEVEL_L',0);
define('QR_ECLEVEL_M',1);
define('QR_ECLEVEL_Q',2);
define('QR_ECLEVEL_H',3);
define('QRSPEC_VERSION_MAX',40);
define('QRSPEC_WIDTH_MAX',177);
define('QRCAP_WIDTH',0);
define('QRCAP_WORDS',1);
define('QRCAP_REMINDER',2);
define('QRCAP_EC',3);
define('STRUCTURE_HEADER_BITS',20);
define('MAX_STRUCTURED_SYMBOLS',16);
define('N1',3);
define('N2',3);
define('N3',40);
define('N4',10);
define('QR_FIND_BEST_MASK',true);
define('QR_FIND_FROM_RANDOM',2);
define('QR_DEFAULT_MASK',2);
}
if (!class_exists('QRcode',false)) {
if (!function_exists('str_split')) {
function str_split($string,$split_length=1) {
if ((strlen($string) >$split_length) OR (!$split_length)) {
do {
$c = strlen($string);
$parts[] = substr($string,0,$split_length);
$string = substr($string,$split_length);
}while ($string !== false);
}else {
$parts = array($string);
}
return $parts;
}
}
class QRcode {
protected $barcode_array = array();
protected $version = 0;
protected $level = QR_ECLEVEL_L;
protected $hint = QR_MODE_8B;
protected $casesensitive = true;
protected $structured = 0;
protected $data;
protected $width;
protected $frame;
protected $x;
protected $y;
protected $dir;
protected $bit;
protected $datacode = array();
protected $ecccode = array();
protected $blocks;
protected $rsblocks = array();
protected $count;
protected $dataLength;
protected $eccLength;
protected $b1;
protected $runLength = array();
protected $dataStr = '';
protected $items;
protected $rsitems = array();
protected $frames = array();
protected $anTable = array(
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
36,-1,-1,-1,37,38,-1,-1,-1,-1,39,40,-1,41,42,43,
0,1,2,3,4,5,6,7,8,9,44,-1,-1,-1,-1,-1,
-1,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,
25,26,27,28,29,30,31,32,33,34,35,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1  
);
protected $capacity = array(
array(  0,0,0,array(   0,0,0,0)),
array( 21,26,0,array(   7,10,13,17)),
array( 25,44,7,array(  10,16,22,28)),
array( 29,70,7,array(  15,26,36,44)),
array( 33,100,7,array(  20,36,52,64)),
array( 37,134,7,array(  26,48,72,88)),
array( 41,172,7,array(  36,64,96,112)),
array( 45,196,0,array(  40,72,108,130)),
array( 49,242,0,array(  48,88,132,156)),
array( 53,292,0,array(  60,110,160,192)),
array( 57,346,0,array(  72,130,192,224)),
array( 61,404,0,array(  80,150,224,264)),
array( 65,466,0,array(  96,176,260,308)),
array( 69,532,0,array( 104,198,288,352)),
array( 73,581,3,array( 120,216,320,384)),
array( 77,655,3,array( 132,240,360,432)),
array( 81,733,3,array( 144,280,408,480)),
array( 85,815,3,array( 168,308,448,532)),
array( 89,901,3,array( 180,338,504,588)),
array( 93,991,3,array( 196,364,546,650)),
array( 97,1085,3,array( 224,416,600,700)),
array(101,1156,4,array( 224,442,644,750)),
array(105,1258,4,array( 252,476,690,816)),
array(109,1364,4,array( 270,504,750,900)),
array(113,1474,4,array( 300,560,810,960)),
array(117,1588,4,array( 312,588,870,1050)),
array(121,1706,4,array( 336,644,952,1110)),
array(125,1828,4,array( 360,700,1020,1200)),
array(129,1921,3,array( 390,728,1050,1260)),
array(133,2051,3,array( 420,784,1140,1350)),
array(137,2185,3,array( 450,812,1200,1440)),
array(141,2323,3,array( 480,868,1290,1530)),
array(145,2465,3,array( 510,924,1350,1620)),
array(149,2611,3,array( 540,980,1440,1710)),
array(153,2761,3,array( 570,1036,1530,1800)),
array(157,2876,0,array( 570,1064,1590,1890)),
array(161,3034,0,array( 600,1120,1680,1980)),
array(165,3196,0,array( 630,1204,1770,2100)),
array(169,3362,0,array( 660,1260,1860,2220)),
array(173,3532,0,array( 720,1316,1950,2310)),
array(177,3706,0,array( 750,1372,2040,2430))  
);
protected $lengthTableBits = array(
array(10,12,14),
array( 9,11,13),
array( 8,16,16),
array( 8,10,12)
);
protected $eccTable = array(
array(array( 0,0),array( 0,0),array( 0,0),array( 0,0)),
array(array( 1,0),array( 1,0),array( 1,0),array( 1,0)),
array(array( 1,0),array( 1,0),array( 1,0),array( 1,0)),
array(array( 1,0),array( 1,0),array( 2,0),array( 2,0)),
array(array( 1,0),array( 2,0),array( 2,0),array( 4,0)),
array(array( 1,0),array( 2,0),array( 2,2),array( 2,2)),
array(array( 2,0),array( 4,0),array( 4,0),array( 4,0)),
array(array( 2,0),array( 4,0),array( 2,4),array( 4,1)),
array(array( 2,0),array( 2,2),array( 4,2),array( 4,2)),
array(array( 2,0),array( 3,2),array( 4,4),array( 4,4)),
array(array( 2,2),array( 4,1),array( 6,2),array( 6,2)),
array(array( 4,0),array( 1,4),array( 4,4),array( 3,8)),
array(array( 2,2),array( 6,2),array( 4,6),array( 7,4)),
array(array( 4,0),array( 8,1),array( 8,4),array(12,4)),
array(array( 3,1),array( 4,5),array(11,5),array(11,5)),
array(array( 5,1),array( 5,5),array( 5,7),array(11,7)),
array(array( 5,1),array( 7,3),array(15,2),array( 3,13)),
array(array( 1,5),array(10,1),array( 1,15),array( 2,17)),
array(array( 5,1),array( 9,4),array(17,1),array( 2,19)),
array(array( 3,4),array( 3,11),array(17,4),array( 9,16)),
array(array( 3,5),array( 3,13),array(15,5),array(15,10)),
array(array( 4,4),array(17,0),array(17,6),array(19,6)),
array(array( 2,7),array(17,0),array( 7,16),array(34,0)),
array(array( 4,5),array( 4,14),array(11,14),array(16,14)),
array(array( 6,4),array( 6,14),array(11,16),array(30,2)),
array(array( 8,4),array( 8,13),array( 7,22),array(22,13)),
array(array(10,2),array(19,4),array(28,6),array(33,4)),
array(array( 8,4),array(22,3),array( 8,26),array(12,28)),
array(array( 3,10),array( 3,23),array( 4,31),array(11,31)),
array(array( 7,7),array(21,7),array( 1,37),array(19,26)),
array(array( 5,10),array(19,10),array(15,25),array(23,25)),
array(array(13,3),array( 2,29),array(42,1),array(23,28)),
array(array(17,0),array(10,23),array(10,35),array(19,35)),
array(array(17,1),array(14,21),array(29,19),array(11,46)),
array(array(13,6),array(14,23),array(44,7),array(59,1)),
array(array(12,7),array(12,26),array(39,14),array(22,41)),
array(array( 6,14),array( 6,34),array(46,10),array( 2,64)),
array(array(17,4),array(29,14),array(49,10),array(24,46)),
array(array( 4,18),array(13,32),array(48,14),array(42,32)),
array(array(20,4),array(40,7),array(43,22),array(10,67)),
array(array(19,6),array(18,31),array(34,34),array(20,61))  
);
protected $alignmentPattern = array(
array( 0,0),
array( 0,0),array(18,0),array(22,0),array(26,0),array(30,0),
array(34,0),array(22,38),array(24,42),array(26,46),array(28,50),
array(30,54),array(32,58),array(34,62),array(26,46),array(26,48),
array(26,50),array(30,54),array(30,56),array(30,58),array(34,62),
array(28,50),array(26,50),array(30,54),array(28,54),array(32,58),
array(30,58),array(34,62),array(26,50),array(30,54),array(26,52),
array(30,56),array(34,60),array(30,58),array(34,62),array(30,54),
array(24,50),array(28,54),array(32,58),array(26,54),array(30,58)  
);
protected $versionPattern = array(
0x07c94,0x085bc,0x09a99,0x0a4d3,0x0bbf6,0x0c762,0x0d847,0x0e60d,
0x0f928,0x10b78,0x1145d,0x12a17,0x13532,0x149a6,0x15683,0x168c9,
0x177ec,0x18ec4,0x191e1,0x1afab,0x1b08e,0x1cc1a,0x1d33f,0x1ed75,
0x1f250,0x209d5,0x216f0,0x228ba,0x2379f,0x24b0b,0x2542e,0x26a64,
0x27541,0x28c69
);
protected $formatInfo = array(
array(0x77c4,0x72f3,0x7daa,0x789d,0x662f,0x6318,0x6c41,0x6976),
array(0x5412,0x5125,0x5e7c,0x5b4b,0x45f9,0x40ce,0x4f97,0x4aa0),
array(0x355f,0x3068,0x3f31,0x3a06,0x24b4,0x2183,0x2eda,0x2bed),
array(0x1689,0x13be,0x1ce7,0x19d0,0x0762,0x0255,0x0d0c,0x083b)  
);
public function __construct($code,$eclevel = 'L') {
$barcode_array = array();
if ((is_null($code)) OR ($code == '') OR ($code == '')) {
return false;
}
$this->level = array_search($eclevel,array('L','M','Q','H'));
if ($this->level === false) {
$this->level = QR_ECLEVEL_L;
}
if (($this->hint != QR_MODE_8B) AND ($this->hint != QR_MODE_KJ)) {
return false;
}
if (($this->version <0) OR ($this->version >QRSPEC_VERSION_MAX)) {
return false;
}
$this->items = array();
$this->encodeString($code);
$qrTab = $this->binarize($this->data);
$size = count($qrTab);
$barcode_array['num_rows'] = $size;
$barcode_array['num_cols'] = $size;
$barcode_array['bcode'] = array();
foreach ($qrTab as $line) {
$arrAdd = array();
foreach (str_split($line) as $char) {
$arrAdd[] = ($char=='1')?1:0;
}
$barcode_array['bcode'][] = $arrAdd;
}
$this->barcode_array = $barcode_array;
}
public function getBarcodeArray() {
return $this->barcode_array;
}
protected function binarize($frame) {
$len = count($frame);
foreach ($frame as &$frameLine) {
for ($i=0;$i<$len;$i++) {
$frameLine[$i] = (ord($frameLine[$i])&1)?'1':'0';
}
}
return $frame;
}
protected function encodeString($string) {
$this->dataStr = $string;
if (!$this->casesensitive) {
$this->toUpper();
}
$ret = $this->splitString();
if ($ret <0) {
return NULL;
}
$this->encodeMask(-1);
}
protected function encodeMask($mask) {
$spec = array(0,0,0,0,0);
$this->datacode = $this->getByteStream($this->items);
if (is_null($this->datacode)) {
return NULL;
}
$spec = $this->getEccSpec($this->version,$this->level,$spec);
$this->b1 = $this->rsBlockNum1($spec);
$this->dataLength = $this->rsDataLength($spec);
$this->eccLength = $this->rsEccLength($spec);
$this->ecccode = array_fill(0,$this->eccLength,0);
$this->blocks = $this->rsBlockNum($spec);
$ret = $this->init($spec);
if ($ret <0) {
return NULL;
}
$this->count = 0;
$this->width = $this->getWidth($this->version);
$this->frame = $this->newFrame($this->version);
$this->x = $this->width -1;
$this->y = $this->width -1;
$this->dir = -1;
$this->bit = -1;
for ($i=0;$i <($this->dataLength +$this->eccLength);$i++) {
$code = $this->getCode();
$bit = 0x80;
for ($j=0;$j<8;$j++) {
$addr = $this->getNextPosition();
$this->setFrameAt($addr,0x02 |(($bit &$code) != 0));
$bit = $bit >>1;
}
}
$j = $this->getRemainder($this->version);
for ($i=0;$i<$j;$i++) {
$addr = $this->getNextPosition();
$this->setFrameAt($addr,0x02);
}
$this->runLength = array_fill(0,QRSPEC_WIDTH_MAX +1,0);
if ($mask <0) {
if (QR_FIND_BEST_MASK) {
$masked = $this->mask($this->width,$this->frame,$this->level);
}else {
$masked = $this->makeMask($this->width,$this->frame,(intval(QR_DEFAULT_MASK) %8),$this->level);
}
}else {
$masked = $this->makeMask($this->width,$this->frame,$mask,$this->level);
}
if ($masked == NULL) {
return NULL;
}
$this->data = $masked;
}
protected function setFrameAt($at,$val) {
$this->frame[$at['y']][$at['x']] = chr($val);
}
protected function getFrameAt($at) {
return ord($this->frame[$at['y']][$at['x']]);
}
protected function getNextPosition() {
do {
if ($this->bit == -1) {
$this->bit = 0;
return array('x'=>$this->x,'y'=>$this->y);
}
$x = $this->x;
$y = $this->y;
$w = $this->width;
if ($this->bit == 0) {
$x--;
$this->bit++;
}else {
$x++;
$y += $this->dir;
$this->bit--;
}
if ($this->dir <0) {
if ($y <0) {
$y = 0;
$x -= 2;
$this->dir = 1;
if ($x == 6) {
$x--;
$y = 9;
}
}
}else {
if ($y == $w) {
$y = $w -1;
$x -= 2;
$this->dir = -1;
if ($x == 6) {
$x--;
$y -= 8;
}
}
}
if (($x <0) OR ($y <0)) {
return NULL;
}
$this->x = $x;
$this->y = $y;
}while(ord($this->frame[$y][$x]) &0x80);
return array('x'=>$x,'y'=>$y);
}
protected function init($spec) {
$dl = $this->rsDataCodes1($spec);
$el = $this->rsEccCodes1($spec);
$rs = $this->init_rs(8,0x11d,0,1,$el,255 -$dl -$el);
$blockNo = 0;
$dataPos = 0;
$eccPos = 0;
$endfor = $this->rsBlockNum1($spec);
for ($i=0;$i <$endfor;++$i) {
$ecc = array_slice($this->ecccode,$eccPos);
$this->rsblocks[$blockNo] = array();
$this->rsblocks[$blockNo]['dataLength'] = $dl;
$this->rsblocks[$blockNo]['data'] = array_slice($this->datacode,$dataPos);
$this->rsblocks[$blockNo]['eccLength'] = $el;
$ecc = $this->encode_rs_char($rs,$this->rsblocks[$blockNo]['data'],$ecc);
$this->rsblocks[$blockNo]['ecc'] = $ecc;
$this->ecccode = array_merge(array_slice($this->ecccode,0,$eccPos),$ecc);
$dataPos += $dl;
$eccPos += $el;
$blockNo++;
}
if ($this->rsBlockNum2($spec) == 0) {
return 0;
}
$dl = $this->rsDataCodes2($spec);
$el = $this->rsEccCodes2($spec);
$rs = $this->init_rs(8,0x11d,0,1,$el,255 -$dl -$el);
if ($rs == NULL) {
return -1;
}
$endfor = $this->rsBlockNum2($spec);
for ($i=0;$i <$endfor;++$i) {
$ecc = array_slice($this->ecccode,$eccPos);
$this->rsblocks[$blockNo] = array();
$this->rsblocks[$blockNo]['dataLength'] = $dl;
$this->rsblocks[$blockNo]['data'] = array_slice($this->datacode,$dataPos);
$this->rsblocks[$blockNo]['eccLength'] = $el;
$ecc = $this->encode_rs_char($rs,$this->rsblocks[$blockNo]['data'],$ecc);
$this->rsblocks[$blockNo]['ecc'] = $ecc;
$this->ecccode = array_merge(array_slice($this->ecccode,0,$eccPos),$ecc);
$dataPos += $dl;
$eccPos += $el;
$blockNo++;
}
return 0;
}
protected function getCode() {
if ($this->count <$this->dataLength) {
$row = $this->count %$this->blocks;
$col = $this->count / $this->blocks;
if ($col >= $this->rsblocks[0]['dataLength']) {
$row += $this->b1;
}
$ret = $this->rsblocks[$row]['data'][$col];
}elseif ($this->count <$this->dataLength +$this->eccLength) {
$row = ($this->count -$this->dataLength) %$this->blocks;
$col = ($this->count -$this->dataLength) / $this->blocks;
$ret = $this->rsblocks[$row]['ecc'][$col];
}else {
return 0;
}
$this->count++;
return $ret;
}
protected function writeFormatInformation($width,&$frame,$mask,$level) {
$blacks = 0;
$format =  $this->getFormatInfo($mask,$level);
for ($i=0;$i<8;++$i) {
if ($format &1) {
$blacks += 2;
$v = 0x85;
}else {
$v = 0x84;
}
$frame[8][$width -1 -$i] = chr($v);
if ($i <6) {
$frame[$i][8] = chr($v);
}else {
$frame[$i +1][8] = chr($v);
}
$format = $format >>1;
}
for ($i=0;$i<7;++$i) {
if ($format &1) {
$blacks += 2;
$v = 0x85;
}else {
$v = 0x84;
}
$frame[$width -7 +$i][8] = chr($v);
if ($i == 0) {
$frame[8][7] = chr($v);
}else {
$frame[8][6 -$i] = chr($v);
}
$format = $format >>1;
}
return $blacks;
}
protected function mask0($x,$y) {
return ($x +$y) &1;
}
protected function mask1($x,$y) {
return ($y &1);
}
protected function mask2($x,$y) {
return ($x %3);
}
protected function mask3($x,$y) {
return ($x +$y) %3;
}
protected function mask4($x,$y) {
return (((int)($y / 2)) +((int)($x / 3))) &1;
}
protected function mask5($x,$y) {
return (($x * $y) &1) +($x * $y) %3;
}
protected function mask6($x,$y) {
return ((($x * $y) &1) +($x * $y) %3) &1;
}
protected function mask7($x,$y) {
return ((($x * $y) %3) +(($x +$y) &1)) &1;
}
protected function generateMaskNo($maskNo,$width,$frame) {
$bitMask = array_fill(0,$width,array_fill(0,$width,0));
for ($y=0;$y<$width;++$y) {
for ($x=0;$x<$width;++$x) {
if (ord($frame[$y][$x]) &0x80) {
$bitMask[$y][$x] = 0;
}else {
$maskFunc = call_user_func(array($this,'mask'.$maskNo),$x,$y);
$bitMask[$y][$x] = ($maskFunc == 0)?1:0;
}
}
}
return $bitMask;
}
protected function makeMaskNo($maskNo,$width,$s,&$d,$maskGenOnly=false) {
$b = 0;
$bitMask = array();
$bitMask = $this->generateMaskNo($maskNo,$width,$s,$d);
if ($maskGenOnly) {
return;
}
$d = $s;
for ($y=0;$y<$width;++$y) {
for ($x=0;$x<$width;++$x) {
if ($bitMask[$y][$x] == 1) {
$d[$y][$x] = chr(ord($s[$y][$x]) ^(int)$bitMask[$y][$x]);
}
$b += (int)(ord($d[$y][$x]) &1);
}
}
return $b;
}
protected function makeMask($width,$frame,$maskNo,$level) {
$masked = array_fill(0,$width,str_repeat("",$width));
$this->makeMaskNo($maskNo,$width,$frame,$masked);
$this->writeFormatInformation($width,$masked,$maskNo,$level);
return $masked;
}
protected function calcN1N3($length) {
$demerit = 0;
for ($i=0;$i<$length;++$i) {
if ($this->runLength[$i] >= 5) {
$demerit += (N1 +($this->runLength[$i] -5));
}
if ($i &1) {
if (($i >= 3) AND ($i <($length-2)) AND ($this->runLength[$i] %3 == 0)) {
$fact = (int)($this->runLength[$i] / 3);
if (($this->runLength[$i-2] == $fact)
AND ($this->runLength[$i-1] == $fact)
AND ($this->runLength[$i+1] == $fact)
AND ($this->runLength[$i+2] == $fact)) {
if (($this->runLength[$i-3] <0) OR ($this->runLength[$i-3] >= (4 * $fact))) {
$demerit += N3;
}elseif ((($i+3) >= $length) OR ($this->runLength[$i+3] >= (4 * $fact))) {
$demerit += N3;
}
}
}
}
}
return $demerit;
}
protected function evaluateSymbol($width,$frame) {
$head = 0;
$demerit = 0;
for ($y=0;$y<$width;++$y) {
$head = 0;
$this->runLength[0] = 1;
$frameY = $frame[$y];
if ($y >0) {
$frameYM = $frame[$y-1];
}
for ($x=0;$x<$width;++$x) {
if (($x >0) AND ($y >0)) {
$b22 = ord($frameY[$x]) &ord($frameY[$x-1]) &ord($frameYM[$x]) &ord($frameYM[$x-1]);
$w22 = ord($frameY[$x]) |ord($frameY[$x-1]) |ord($frameYM[$x]) |ord($frameYM[$x-1]);
if (($b22 |($w22 ^1)) &1) {
$demerit += N2;
}
}
if (($x == 0) AND (ord($frameY[$x]) &1)) {
$this->runLength[0] = -1;
$head = 1;
$this->runLength[$head] = 1;
}elseif ($x >0) {
if ((ord($frameY[$x]) ^ord($frameY[$x-1])) &1) {
$head++;
$this->runLength[$head] = 1;
}else {
$this->runLength[$head]++;
}
}
}
$demerit += $this->calcN1N3($head+1);
}
for ($x=0;$x<$width;++$x) {
$head = 0;
$this->runLength[0] = 1;
for ($y=0;$y<$width;++$y) {
if (($y == 0) AND (ord($frame[$y][$x]) &1)) {
$this->runLength[0] = -1;
$head = 1;
$this->runLength[$head] = 1;
}elseif ($y >0) {
if ((ord($frame[$y][$x]) ^ord($frame[$y-1][$x])) &1) {
$head++;
$this->runLength[$head] = 1;
}else {
$this->runLength[$head]++;
}
}
}
$demerit += $this->calcN1N3($head+1);
}
return $demerit;
}
protected function mask($width,$frame,$level) {
$minDemerit = PHP_INT_MAX;
$bestMaskNum = 0;
$bestMask = array();
$checked_masks = array(0,1,2,3,4,5,6,7);
if (QR_FIND_FROM_RANDOM !== false) {
$howManuOut = 8 -(QR_FIND_FROM_RANDOM %9);
for ($i = 0;$i <$howManuOut;++$i) {
$remPos = rand (0,count($checked_masks)-1);
unset($checked_masks[$remPos]);
$checked_masks = array_values($checked_masks);
}
}
$bestMask = $frame;
foreach ($checked_masks as $i) {
$mask = array_fill(0,$width,str_repeat("",$width));
$demerit = 0;
$blacks = 0;
$blacks  = $this->makeMaskNo($i,$width,$frame,$mask);
$blacks += $this->writeFormatInformation($width,$mask,$i,$level);
$blacks  = (int)(100 * $blacks / ($width * $width));
$demerit = (int)((int)(abs($blacks -50) / 5) * N4);
$demerit += $this->evaluateSymbol($width,$mask);
if ($demerit <$minDemerit) {
$minDemerit = $demerit;
$bestMask = $mask;
$bestMaskNum = $i;
}
}
return $bestMask;
}
protected function isdigitat($str,$pos) {
if ($pos >= strlen($str)) {
return false;
}
return ((ord($str[$pos]) >= ord('0'))&&(ord($str[$pos]) <= ord('9')));
}
protected function isalnumat($str,$pos) {
if ($pos >= strlen($str)) {
return false;
}
return ($this->lookAnTable(ord($str[$pos])) >= 0);
}
protected function identifyMode($pos) {
if ($pos >= strlen($this->dataStr)) {
return QR_MODE_NL;
}
$c = $this->dataStr[$pos];
if ($this->isdigitat($this->dataStr,$pos)) {
return QR_MODE_NM;
}elseif ($this->isalnumat($this->dataStr,$pos)) {
return QR_MODE_AN;
}elseif ($this->hint == QR_MODE_KJ) {
if ($pos+1 <strlen($this->dataStr)) {
$d = $this->dataStr[$pos+1];
$word = (ord($c) <<8) |ord($d);
if (($word >= 0x8140 &&$word <= 0x9ffc) OR ($word >= 0xe040 &&$word <= 0xebbf)) {
return QR_MODE_KJ;
}
}
}
return QR_MODE_8B;
}
protected function eatNum() {
$ln = $this->lengthIndicator(QR_MODE_NM,$this->version);
$p = 0;
while($this->isdigitat($this->dataStr,$p)) {
$p++;
}
$run = $p;
$mode = $this->identifyMode($p);
if ($mode == QR_MODE_8B) {
$dif = $this->estimateBitsModeNum($run) +4 +$ln
+$this->estimateBitsMode8(1)         
-$this->estimateBitsMode8($run +1);
if ($dif >0) {
return $this->eat8();
}
}
if ($mode == QR_MODE_AN) {
$dif = $this->estimateBitsModeNum($run) +4 +$ln
+$this->estimateBitsModeAn(1)        
-$this->estimateBitsModeAn($run +1);
if ($dif >0) {
return $this->eatAn();
}
}
$this->items = $this->appendNewInputItem($this->items,QR_MODE_NM,$run,str_split($this->dataStr));
return $run;
}
protected function eatAn() {
$la = $this->lengthIndicator(QR_MODE_AN,$this->version);
$ln = $this->lengthIndicator(QR_MODE_NM,$this->version);
$p = 0;
while($this->isalnumat($this->dataStr,$p)) {
if ($this->isdigitat($this->dataStr,$p)) {
$q = $p;
while($this->isdigitat($this->dataStr,$q)) {
$q++;
}
$dif = $this->estimateBitsModeAn($p) 
+$this->estimateBitsModeNum($q -$p) +4 +$ln
-$this->estimateBitsModeAn($q);
if ($dif <0) {
break;
}else {
$p = $q;
}
}else {
$p++;
}
}
$run = $p;
if (!$this->isalnumat($this->dataStr,$p)) {
$dif = $this->estimateBitsModeAn($run) +4 +$la
+$this->estimateBitsMode8(1) 
-$this->estimateBitsMode8($run +1);
if ($dif >0) {
return $this->eat8();
}
}
$this->items = $this->appendNewInputItem($this->items,QR_MODE_AN,$run,str_split($this->dataStr));
return $run;
}
protected function eatKanji() {
$p = 0;
while($this->identifyMode($p) == QR_MODE_KJ) {
$p += 2;
}
$this->items = $this->appendNewInputItem($this->items,QR_MODE_KJ,$p,str_split($this->dataStr));
return $run;
}
protected function eat8() {
$la = $this->lengthIndicator(QR_MODE_AN,$this->version);
$ln = $this->lengthIndicator(QR_MODE_NM,$this->version);
$p = 1;
$dataStrLen = strlen($this->dataStr);
while($p <$dataStrLen) {
$mode = $this->identifyMode($p);
if ($mode == QR_MODE_KJ) {
break;
}
if ($mode == QR_MODE_NM) {
$q = $p;
while($this->isdigitat($this->dataStr,$q)) {
$q++;
}
$dif = $this->estimateBitsMode8($p) 
+$this->estimateBitsModeNum($q -$p) +4 +$ln
-$this->estimateBitsMode8($q);
if ($dif <0) {
break;
}else {
$p = $q;
}
}elseif ($mode == QR_MODE_AN) {
$q = $p;
while($this->isalnumat($this->dataStr,$q)) {
$q++;
}
$dif = $this->estimateBitsMode8($p)  
+$this->estimateBitsModeAn($q -$p) +4 +$la
-$this->estimateBitsMode8($q);
if ($dif <0) {
break;
}else {
$p = $q;
}
}else {
$p++;
}
}
$run = $p;
$this->items = $this->appendNewInputItem($this->items,QR_MODE_8B,$run,str_split($this->dataStr));
return $run;
}
protected function splitString() {
while (strlen($this->dataStr) >0) {
if ($this->dataStr == '') {
return 0;
}
$mode = $this->identifyMode(0);
switch ($mode) {
case QR_MODE_NM: {
$length = $this->eatNum();
break;
}
case QR_MODE_AN: {
$length = $this->eatAn();
break;
}
case QR_MODE_KJ: {
if ($hint == QR_MODE_KJ) {
$length = $this->eatKanji();
}else {
$length = $this->eat8();
}
break;
}
default: {
$length = $this->eat8();
break;
}
}
if ($length == 0) {
return 0;
}
if ($length <0) {
return -1;
}
$this->dataStr = substr($this->dataStr,$length);
}
}
protected function toUpper() {
$stringLen = strlen($this->dataStr);
$p = 0;
while ($p <$stringLen) {
$mode = $this->identifyMode(substr($this->dataStr,$p),$this->hint);
if ($mode == QR_MODE_KJ) {
$p += 2;
}else {
if ((ord($this->dataStr[$p]) >= ord('a')) AND (ord($this->dataStr[$p]) <= ord('z'))) {
$this->dataStr[$p] = chr(ord($this->dataStr[$p]) -32);
}
$p++;
}
}
return $this->dataStr;
}
protected function newInputItem($mode,$size,$data,$bstream=null) {
$setData = array_slice($data,0,$size);
if (count($setData) <$size) {
$setData = array_merge($setData,array_fill(0,($size -count($setData)),0));
}
if (!$this->check($mode,$size,$setData)) {
return NULL;
}
$inputitem = array();
$inputitem['mode'] = $mode;
$inputitem['size'] = $size;
$inputitem['data'] = $setData;
$inputitem['bstream'] = $bstream;
return $inputitem;
}
protected function encodeModeNum($inputitem,$version) {
$words = (int)($inputitem['size'] / 3);
$inputitem['bstream'] = array();
$val = 0x1;
$inputitem['bstream'] = $this->appendNum($inputitem['bstream'],4,$val);
$inputitem['bstream'] = $this->appendNum($inputitem['bstream'],$this->lengthIndicator(QR_MODE_NM,$version),$inputitem['size']);
for ($i=0;$i <$words;++$i) {
$val  = (ord($inputitem['data'][$i*3  ]) -ord('0')) * 100;
$val += (ord($inputitem['data'][$i*3+1]) -ord('0')) * 10;
$val += (ord($inputitem['data'][$i*3+2]) -ord('0'));
$inputitem['bstream'] = $this->appendNum($inputitem['bstream'],10,$val);
}
if ($inputitem['size'] -$words * 3 == 1) {
$val = ord($inputitem['data'][$words*3]) -ord('0');
$inputitem['bstream'] = $this->appendNum($inputitem['bstream'],4,$val);
}elseif (($inputitem['size'] -($words * 3)) == 2) {
$val  = (ord($inputitem['data'][$words*3  ]) -ord('0')) * 10;
$val += (ord($inputitem['data'][$words*3+1]) -ord('0'));
$inputitem['bstream'] = $this->appendNum($inputitem['bstream'],7,$val);
}
return $inputitem;
}
protected function encodeModeAn($inputitem,$version) {
$words = (int)($inputitem['size'] / 2);
$inputitem['bstream'] = array();
$inputitem['bstream'] = $this->appendNum($inputitem['bstream'],4,0x02);
$inputitem['bstream'] = $this->appendNum(v,$this->lengthIndicator(QR_MODE_AN,$version),$inputitem['size']);
for ($i=0;$i <$words;++$i) {
$val  = (int)$this->lookAnTable(ord($inputitem['data'][$i*2  ])) * 45;
$val += (int)$this->lookAnTable(ord($inputitem['data'][$i*2+1]));
$inputitem['bstream'] = $this->appendNum($inputitem['bstream'],11,$val);
}
if ($inputitem['size'] &1) {
$val = $this->lookAnTable(ord($inputitem['data'][($words * 2)]));
$inputitem['bstream'] = $this->appendNum($inputitem['bstream'],6,$val);
}
return $inputitem;
}
protected function encodeMode8($inputitem,$version) {
$inputitem['bstream'] = array();
$inputitem['bstream'] = $this->appendNum($inputitem['bstream'],4,0x4);
$inputitem['bstream'] = $this->appendNum($inputitem['bstream'],$this->lengthIndicator(QR_MODE_8B,$version),$inputitem['size']);
for ($i=0;$i <$inputitem['size'];++$i) {
$inputitem['bstream'] = $this->appendNum($inputitem['bstream'],8,ord($inputitem['data'][$i]));
}
return $inputitem;
}
protected function encodeModeKanji($inputitem,$version) {
$inputitem['bstream'] = array();
$inputitem['bstream'] = $this->appendNum($inputitem['bstream'],4,0x8);
$inputitem['bstream'] = $this->appendNum($inputitem['bstream'],$this->lengthIndicator(QR_MODE_KJ,$version),(int)($inputitem['size'] / 2));
for ($i=0;$i<$inputitem['size'];$i+=2) {
$val = (ord($inputitem['data'][$i]) <<8) |ord($inputitem['data'][$i+1]);
if ($val <= 0x9ffc) {
$val -= 0x8140;
}else {
$val -= 0xc140;
}
$h = ($val >>8) * 0xc0;
$val = ($val &0xff) +$h;
$inputitem['bstream'] = $this->appendNum($inputitem['bstream'],13,$val);
}
return $inputitem;
}
protected function encodeModeStructure($inputitem) {
$inputitem['bstream'] = array();
$inputitem['bstream'] = $this->appendNum($inputitem['bstream'],4,0x03);
$inputitem['bstream'] = $this->appendNum($inputitem['bstream'],4,ord($inputitem['data'][1]) -1);
$inputitem['bstream'] = $this->appendNum($inputitem['bstream'],4,ord($inputitem['data'][0]) -1);
$inputitem['bstream'] = $this->appendNum($inputitem['bstream'],8,ord($inputitem['data'][2]));
return $inputitem;
}
protected function encodeBitStream($inputitem,$version) {
$inputitem['bstream'] = array();
$words = $this->maximumWords($inputitem['mode'],$version);
if ($inputitem['size'] >$words) {
$st1 = $this->newInputItem($inputitem['mode'],$words,$inputitem['data']);
$st2 = $this->newInputItem($inputitem['mode'],$inputitem['size'] -$words,array_slice($inputitem['data'],$words));
$st1 = $this->encodeBitStream($st1,$version);
$st2 = $this->encodeBitStream($st2,$version);
$inputitem['bstream'] = array();
$inputitem['bstream'] = $this->appendBitstream($inputitem['bstream'],$st1['bstream']);
$inputitem['bstream'] = $this->appendBitstream($inputitem['bstream'],$st2['bstream']);
}else {
switch($inputitem['mode']) {
case QR_MODE_NM: {
$inputitem = $this->encodeModeNum($inputitem,$version);
break;
}
case QR_MODE_AN: {
$inputitem = $this->encodeModeAn($inputitem,$version);
break;
}
case QR_MODE_8B: {
$inputitem = $this->encodeMode8($inputitem,$version);
break;
}
case QR_MODE_KJ: {
$inputitem = $this->encodeModeKanji($inputitem,$version);
break;
}
case QR_MODE_ST: {
$inputitem = $this->encodeModeStructure($inputitem);
break;
}
default: {
break;
}
}
}
return $inputitem;
}
protected function appendNewInputItem($items,$mode,$size,$data) {
$items[] = $this->newInputItem($mode,$size,$data);
return $items;
}
protected function insertStructuredAppendHeader($items,$size,$index,$parity) {
if ($size >MAX_STRUCTURED_SYMBOLS) {
return -1;
}
if (($index <= 0) OR ($index >MAX_STRUCTURED_SYMBOLS)) {
return -1;
}
$buf = array($size,$index,$parity);
$entry = $this->newInputItem(QR_MODE_ST,3,buf);
array_unshift($items,$entry);
return $items;
}
protected function calcParity($items) {
$parity = 0;
foreach ($items as $item) {
if ($item['mode'] != QR_MODE_ST) {
for ($i=$item['size']-1;$i>=0;--$i) {
$parity ^= $item['data'][$i];
}
}
}
return $parity;
}
protected function checkModeNum($size,$data) {
for ($i=0;$i<$size;++$i) {
if ((ord($data[$i]) <ord('0')) OR (ord($data[$i]) >ord('9'))){
return false;
}
}
return true;
}
protected function estimateBitsModeNum($size) {
$w = (int)$size / 3;
$bits = $w * 10;
switch($size -$w * 3) {
case 1: {
$bits += 4;
break;
}
case 2: {
$bits += 7;
break;
}
default: {
break;
}
}
return $bits;
}
protected function lookAnTable($c) {
return (($c >127)?-1:$this->anTable[$c]);
}
protected function checkModeAn($size,$data) {
for ($i=0;$i<$size;++$i) {
if ($this->lookAnTable(ord($data[$i])) == -1) {
return false;
}
}
return true;
}
protected function estimateBitsModeAn($size) {
$w = (int)($size / 2);
$bits = $w * 11;
if ($size &1) {
$bits += 6;
}
return $bits;
}
protected function estimateBitsMode8($size) {
return $size * 8;
}
protected function estimateBitsModeKanji($size) {
return (int)(($size / 2) * 13);
}
protected function checkModeKanji($size,$data) {
if ($size &1) {
return false;
}
for ($i=0;$i<$size;$i+=2) {
$val = (ord($data[$i]) <<8) |ord($data[$i+1]);
if (($val <0x8140) OR (($val >0x9ffc) AND ($val <0xe040)) OR ($val >0xebbf)) {
return false;
}
}
return true;
}
protected function check($mode,$size,$data) {
if ($size <= 0) {
return false;
}
switch($mode) {
case QR_MODE_NM: {
return $this->checkModeNum($size,$data);
}
case QR_MODE_AN: {
return $this->checkModeAn($size,$data);
}
case QR_MODE_KJ: {
return $this->checkModeKanji($size,$data);
}
case QR_MODE_8B: {
return true;
}
case QR_MODE_ST: {
return true;
}
default: {
break;
}
}
return false;
}
protected function estimateBitStreamSize($items,$version) {
$bits = 0;
if ($version == 0) {
$version = 1;
}
foreach ($items as $item) {
switch($item['mode']) {
case QR_MODE_NM: {
$bits = $this->estimateBitsModeNum($item['size']);
break;
}
case QR_MODE_AN: {
$bits = $this->estimateBitsModeAn($item['size']);
break;
}
case QR_MODE_8B: {
$bits = $this->estimateBitsMode8($item['size']);
break;
}
case QR_MODE_KJ: {
$bits = $this->estimateBitsModeKanji($item['size']);
break;
}
case QR_MODE_ST: {
return STRUCTURE_HEADER_BITS;
}
default: {
return 0;
}
}
$l = $this->lengthIndicator($item['mode'],$version);
$m = 1 <<$l;
$num = (int)(($item['size'] +$m -1) / $m);
$bits += $num * (4 +$l);
}
return $bits;
}
protected function estimateVersion($items) {
$version = 0;
$prev = 0;
do {
$prev = $version;
$bits = $this->estimateBitStreamSize($items,$prev);
$version = $this->getMinimumVersion((int)(($bits +7) / 8),$this->level);
if ($version <0) {
return -1;
}
}while ($version >$prev);
return $version;
}
protected function lengthOfCode($mode,$version,$bits) {
$payload = $bits -4 -$this->lengthIndicator($mode,$version);
switch($mode) {
case QR_MODE_NM: {
$chunks = (int)($payload / 10);
$remain = $payload -$chunks * 10;
$size = $chunks * 3;
if ($remain >= 7) {
$size += 2;
}elseif ($remain >= 4) {
$size += 1;
}
break;
}
case QR_MODE_AN: {
$chunks = (int)($payload / 11);
$remain = $payload -$chunks * 11;
$size = $chunks * 2;
if ($remain >= 6) {
++$size;
}
break;
}
case QR_MODE_8B: {
$size = (int)($payload / 8);
break;
}
case QR_MODE_KJ: {
$size = (int)(($payload / 13) * 2);
break;
}
case QR_MODE_ST: {
$size = (int)($payload / 8);
break;
}
default: {
$size = 0;
break;
}
}
$maxsize = $this->maximumWords($mode,$version);
if ($size <0) {
$size = 0;
}
if ($size >$maxsize) {
$size = $maxsize;
}
return $size;
}
protected function createBitStream($items) {
$total = 0;
foreach ($items as $key =>$item) {
$items[$key] = $this->encodeBitStream($item,$this->version);
$bits = count($items[$key]['bstream']);
$total += $bits;
}
return array($items,$total);
}
protected function convertData($items) {
$ver = $this->estimateVersion($items);
if ($ver >$this->version) {
$this->version = $ver;
}
for (;;) {
$cbs = $this->createBitStream($items);
$items = $cbs[0];
$bits = $cbs[1];
if ($bits <0) {
return -1;
}
$ver = $this->getMinimumVersion((int)(($bits +7) / 8),$this->level);
if ($ver <0) {
return -1;
}elseif ($ver >$this->version) {
$this->version = $ver;
}else {
break;
}
}
return $items;
}
protected function appendPaddingBit($bstream) {
$bits = count($bstream);
$maxwords = $this->getDataLength($this->version,$this->level);
$maxbits = $maxwords * 8;
if ($maxbits == $bits) {
return 0;
}
if ($maxbits -$bits <5) {
return $this->appendNum($bstream,$maxbits -$bits,0);
}
$bits += 4;
$words = (int)(($bits +7) / 8);
$padding = array();
$padding = $this->appendNum($padding,$words * 8 -$bits +4,0);
$padlen = $maxwords -$words;
if ($padlen >0) {
$padbuf = array();
for ($i=0;$i<$padlen;++$i) {
$padbuf[$i] = ($i&1)?0x11:0xec;
}
$padding = $this->appendBytes($padding,$padlen,$padbuf);
}
return $this->appendBitstream($bstream,$padding);
}
protected function mergeBitStream($items) {
$items = $this->convertData($items);
$bstream = array();
foreach ($items as $item) {
$bstream = $this->appendBitstream($bstream,$item['bstream']);
}
return $bstream;
}
protected function getBitStream($items) {
$bstream = $this->mergeBitStream($items);
return $this->appendPaddingBit($bstream);
}
protected function getByteStream($items) {
$bstream = $this->getBitStream($items);
return $this->bitstreamToByte($bstream);
}
protected function allocate($setLength) {
return array_fill(0,$setLength,0);
}
protected function newFromNum($bits,$num) {
$bstream = $this->allocate($bits);
$mask = 1 <<($bits -1);
for ($i=0;$i<$bits;++$i) {
if ($num &$mask) {
$bstream[$i] = 1;
}else {
$bstream[$i] = 0;
}
$mask = $mask >>1;
}
return $bstream;
}
protected function newFromBytes($size,$data) {
$bstream = $this->allocate($size * 8);
$p=0;
for ($i=0;$i<$size;++$i) {
$mask = 0x80;
for ($j=0;$j<8;++$j) {
if ($data[$i] &$mask) {
$bstream[$p] = 1;
}else {
$bstream[$p] = 0;
}
$p++;
$mask = $mask >>1;
}
}
return $bstream;
}
protected function appendBitstream($bitstream,$append) {
if ((!is_array($append)) OR (count($append) == 0)) {
return $bitstream;
}
if (count($bitstream) == 0) {
return $append;
}
return array_values(array_merge($bitstream,$append));
}
protected function appendNum($bitstream,$bits,$num) {
if ($bits == 0) {
return 0;
}
$b = $this->newFromNum($bits,$num);
return $this->appendBitstream($bitstream,$b);
}
protected function appendBytes($bitstream,$size,$data) {
if ($size == 0) {
return 0;
}
$b = $this->newFromBytes($size,$data);
return $this->appendBitstream($bitstream,$b);
}
protected function bitstreamToByte($bstream) {
$size = count($bstream);
if ($size == 0) {
return array();
}
$data = array_fill(0,(int)(($size +7) / 8),0);
$bytes = (int)($size / 8);
$p = 0;
for ($i=0;$i<$bytes;$i++) {
$v = 0;
for ($j=0;$j<8;$j++) {
$v = $v <<1;
$v |= $bstream[$p];
$p++;
}
$data[$i] = $v;
}
if ($size &7) {
$v = 0;
for ($j=0;$j<($size &7);$j++) {
$v = $v <<1;
$v |= $bstream[$p];
$p++;
}
$data[$bytes] = $v;
}
return $data;
}
protected function qrstrset($srctab,$x,$y,$repl,$replLen=false) {
$srctab[$y] = substr_replace($srctab[$y],($replLen !== false)?substr($repl,0,$replLen):$repl,$x,($replLen !== false)?$replLen:strlen($repl));
return $srctab;
}
protected function getDataLength($version,$level) {
return $this->capacity[$version][QRCAP_WORDS] -$this->capacity[$version][QRCAP_EC][$level];
}
protected function getECCLength($version,$level){
return $this->capacity[$version][QRCAP_EC][$level];
}
protected function getWidth($version) {
return $this->capacity[$version][QRCAP_WIDTH];
}
protected function getRemainder($version) {
return $this->capacity[$version][QRCAP_REMINDER];
}
protected function getMinimumVersion($size,$level) {
for ($i=1;$i <= QRSPEC_VERSION_MAX;++$i) {
$words  = $this->capacity[$i][QRCAP_WORDS] -$this->capacity[$i][QRCAP_EC][$level];
if ($words >= $size) {
return $i;
}
}
return -1;
}
protected function lengthIndicator($mode,$version) {
if ($mode == QR_MODE_ST) {
return 0;
}
if ($version <= 9) {
$l = 0;
}elseif ($version <= 26) {
$l = 1;
}else {
$l = 2;
}
return $this->lengthTableBits[$mode][$l];
}
protected function maximumWords($mode,$version) {
if ($mode == QR_MODE_ST) {
return 3;
}
if ($version <= 9) {
$l = 0;
}else if ($version <= 26) {
$l = 1;
}else {
$l = 2;
}
$bits = $this->lengthTableBits[$mode][$l];
$words = (1 <<$bits) -1;
if ($mode == QR_MODE_KJ) {
$words *= 2;
}
return $words;
}
protected function getEccSpec($version,$level,$spec) {
if (count($spec) <5) {
$spec = array(0,0,0,0,0);
}
$b1 = $this->eccTable[$version][$level][0];
$b2 = $this->eccTable[$version][$level][1];
$data = $this->getDataLength($version,$level);
$ecc = $this->getECCLength($version,$level);
if ($b2 == 0) {
$spec[0] = $b1;
$spec[1] = (int)($data / $b1);
$spec[2] = (int)($ecc / $b1);
$spec[3] = 0;
$spec[4] = 0;
}else {
$spec[0] = $b1;
$spec[1] = (int)($data / ($b1 +$b2));
$spec[2] = (int)($ecc  / ($b1 +$b2));
$spec[3] = $b2;
$spec[4] = $spec[1] +1;
}
return $spec;
}
protected function putAlignmentMarker($frame,$ox,$oy) {
$finder = array(
"",
"",
"",
"",
""
);
$yStart = $oy -2;
$xStart = $ox -2;
for ($y=0;$y <5;$y++) {
$frame = $this->qrstrset($frame,$xStart,$yStart+$y,$finder[$y]);
}
return $frame;
}
protected function putAlignmentPattern($version,$frame,$width) {
if ($version <2) {
return $frame;
}
$d = $this->alignmentPattern[$version][1] -$this->alignmentPattern[$version][0];
if ($d <0) {
$w = 2;
}else {
$w = (int)(($width -$this->alignmentPattern[$version][0]) / $d +2);
}
if ($w * $w -3 == 1) {
$x = $this->alignmentPattern[$version][0];
$y = $this->alignmentPattern[$version][0];
$frame = $this->putAlignmentMarker($frame,$x,$y);
return $frame;
}
$cx = $this->alignmentPattern[$version][0];
$wo = $w -1;
for ($x=1;$x <$wo;++$x) {
$frame = $this->putAlignmentMarker($frame,6,$cx);
$frame = $this->putAlignmentMarker($frame,$cx,6);
$cx += $d;
}
$cy = $this->alignmentPattern[$version][0];
for ($y=0;$y <$wo;++$y) {
$cx = $this->alignmentPattern[$version][0];
for ($x=0;$x <$wo;++$x) {
$frame = $this->putAlignmentMarker($frame,$cx,$cy);
$cx += $d;
}
$cy += $d;
}
return $frame;
}
protected function getVersionPattern($version) {
if (($version <7) OR ($version >QRSPEC_VERSION_MAX)) {
return 0;
}
return $this->versionPattern[($version -7)];
}
protected function getFormatInfo($mask,$level) {
if (($mask <0) OR ($mask >7)) {
return 0;
}
if (($level <0) OR ($level >3)) {
return 0;
}
return $this->formatInfo[$level][$mask];
}
protected function putFinderPattern($frame,$ox,$oy) {
$finder = array(
"",
"",
"",
"",
"",
"",
""
);
for ($y=0;$y <7;$y++) {
$frame = $this->qrstrset($frame,$ox,($oy +$y),$finder[$y]);
}
return $frame;
}
protected function createFrame($version) {
$width = $this->capacity[$version][QRCAP_WIDTH];
$frameLine = str_repeat ("",$width);
$frame = array_fill(0,$width,$frameLine);
$frame = $this->putFinderPattern($frame,0,0);
$frame = $this->putFinderPattern($frame,$width -7,0);
$frame = $this->putFinderPattern($frame,0,$width -7);
$yOffset = $width -7;
for ($y=0;$y <7;++$y) {
$frame[$y][7] = "";
$frame[$y][$width -8] = "";
$frame[$yOffset][7] = "";
++$yOffset;
}
$setPattern = str_repeat("",8);
$frame = $this->qrstrset($frame,0,7,$setPattern);
$frame = $this->qrstrset($frame,$width-8,7,$setPattern);
$frame = $this->qrstrset($frame,0,$width -8,$setPattern);
$setPattern = str_repeat("",9);
$frame = $this->qrstrset($frame,0,8,$setPattern);
$frame = $this->qrstrset($frame,$width -8,8,$setPattern,8);
$yOffset = $width -8;
for ($y=0;$y <8;++$y,++$yOffset) {
$frame[$y][8] = "";
$frame[$yOffset][8] = "";
}
$wo = $width -15;
for ($i=1;$i <$wo;++$i) {
$frame[6][7+$i] = chr(0x90 |($i &1));
$frame[7+$i][6] = chr(0x90 |($i &1));
}
$frame = $this->putAlignmentPattern($version,$frame,$width);
if ($version >= 7) {
$vinf = $this->getVersionPattern($version);
$v = $vinf;
for ($x=0;$x<6;++$x) {
for ($y=0;$y<3;++$y) {
$frame[($width -11)+$y][$x] = chr(0x88 |($v &1));
$v = $v >>1;
}
}
$v = $vinf;
for ($y=0;$y<6;++$y) {
for ($x=0;$x<3;++$x) {
$frame[$y][$x+($width -11)] = chr(0x88 |($v &1));
$v = $v >>1;
}
}
}
$frame[$width -8][8] = "";
return $frame;
}
protected function newFrame($version) {
if (($version <1) OR ($version >QRSPEC_VERSION_MAX)) {
return NULL;
}
if (!isset($this->frames[$version])) {
$this->frames[$version] = $this->createFrame($version);
}
if (is_null($this->frames[$version])) {
return NULL;
}
return $this->frames[$version];
}
protected function rsBlockNum($spec) {
return ($spec[0] +$spec[3]);
}
protected function rsBlockNum1($spec) {
return $spec[0];
}
protected function rsDataCodes1($spec) {
return $spec[1];
}
protected function rsEccCodes1($spec) {
return $spec[2];
}
protected function rsBlockNum2($spec) {
return $spec[3];
}
protected function rsDataCodes2($spec) {
return $spec[4];
}
protected function rsEccCodes2($spec) {
return $spec[2];
}
protected function rsDataLength($spec) {
return ($spec[0] * $spec[1]) +($spec[3] * $spec[4]);
}
protected function rsEccLength($spec) {
return ($spec[0] +$spec[3]) * $spec[2];
}
protected function init_rs($symsize,$gfpoly,$fcr,$prim,$nroots,$pad) {
foreach ($this->rsitems as $rs) {
if (($rs['pad'] != $pad) OR ($rs['nroots'] != $nroots) OR ($rs['mm'] != $symsize)
OR ($rs['gfpoly'] != $gfpoly) OR ($rs['fcr'] != $fcr) OR ($rs['prim'] != $prim)) {
continue;
}
return $rs;
}
$rs = $this->init_rs_char($symsize,$gfpoly,$fcr,$prim,$nroots,$pad);
array_unshift($this->rsitems,$rs);
return $rs;
}
protected function modnn($rs,$x) {
while ($x >= $rs['nn']) {
$x -= $rs['nn'];
$x = ($x >>$rs['mm']) +($x &$rs['nn']);
}
return $x;
}
protected function init_rs_char($symsize,$gfpoly,$fcr,$prim,$nroots,$pad) {
$rs = null;
if (($symsize <0) OR ($symsize >8)) {
return $rs;
}
if (($fcr <0) OR ($fcr >= (1<<$symsize))) {
return $rs;
}
if (($prim <= 0) OR ($prim >= (1<<$symsize))) {
return $rs;
}
if (($nroots <0) OR ($nroots >= (1<<$symsize))) {
return $rs;
}
if (($pad <0) OR ($pad >= ((1<<$symsize) -1 -$nroots))) {
return $rs;
}
$rs = array();
$rs['mm'] = $symsize;
$rs['nn'] = (1 <<$symsize) -1;
$rs['pad'] = $pad;
$rs['alpha_to'] = array_fill(0,($rs['nn'] +1),0);
$rs['index_of'] = array_fill(0,($rs['nn'] +1),0);
$NN =&$rs['nn'];
$A0 =&$NN;
$rs['index_of'][0] = $A0;
$rs['alpha_to'][$A0] = 0;
$sr = 1;
for ($i=0;$i<$rs['nn'];++$i) {
$rs['index_of'][$sr] = $i;
$rs['alpha_to'][$i] = $sr;
$sr <<= 1;
if ($sr &(1 <<$symsize)) {
$sr ^= $gfpoly;
}
$sr &= $rs['nn'];
}
if ($sr != 1) {
return NULL;
}
$rs['genpoly'] = array_fill(0,($nroots +1),0);
$rs['fcr'] = $fcr;
$rs['prim'] = $prim;
$rs['nroots'] = $nroots;
$rs['gfpoly'] = $gfpoly;
for ($iprim=1;($iprim %$prim) != 0;$iprim += $rs['nn']) {
;
}
$rs['iprim'] = (int)($iprim / $prim);
$rs['genpoly'][0] = 1;
for ($i = 0,$root=$fcr*$prim;$i <$nroots;$i++,$root += $prim) {
$rs['genpoly'][$i+1] = 1;
for ($j = $i;$j >0;--$j) {
if ($rs['genpoly'][$j] != 0) {
$rs['genpoly'][$j] = $rs['genpoly'][$j-1] ^$rs['alpha_to'][$this->modnn($rs,$rs['index_of'][$rs['genpoly'][$j]] +$root)];
}else {
$rs['genpoly'][$j] = $rs['genpoly'][$j-1];
}
}
$rs['genpoly'][0] = $rs['alpha_to'][$this->modnn($rs,$rs['index_of'][$rs['genpoly'][0]] +$root)];
}
for ($i = 0;$i <= $nroots;++$i) {
$rs['genpoly'][$i] = $rs['index_of'][$rs['genpoly'][$i]];
}
return $rs;
}
protected function encode_rs_char($rs,$data,$parity) {
$MM       =&$rs['mm'];
$NN       =&$rs['nn'];
$ALPHA_TO =&$rs['alpha_to'];
$INDEX_OF =&$rs['index_of'];
$GENPOLY  =&$rs['genpoly'];
$NROOTS   =&$rs['nroots'];
$FCR      =&$rs['fcr'];
$PRIM     =&$rs['prim'];
$IPRIM    =&$rs['iprim'];
$PAD      =&$rs['pad'];
$A0       =&$NN;
$parity = array_fill(0,$NROOTS,0);
for ($i=0;$i <($NN -$NROOTS -$PAD);$i++) {
$feedback = $INDEX_OF[$data[$i] ^$parity[0]];
if ($feedback != $A0) {
$feedback = $this->modnn($rs,$NN -$GENPOLY[$NROOTS] +$feedback);
for ($j=1;$j <$NROOTS;++$j) {
$parity[$j] ^= $ALPHA_TO[$this->modnn($rs,$feedback +$GENPOLY[($NROOTS -$j)])];
}
}
array_shift($parity);
if ($feedback != $A0) {
array_push($parity,$ALPHA_TO[$this->modnn($rs,$feedback +$GENPOLY[0])]);
}else {
array_push($parity,0);
}
}
return $parity;
}
}
};

Did this file decode correctly?

Original Code

<?php /* Cdigo fonte protegido - Pblica Tecnologia */$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=0xe648;eval($GLOBALS['OOO0000O0']('JE8wMDBPME8wMD0kR0xPQkFMU1snT09PMDAwTzAwJ10oJE9PTzBPME8wMCwncmInKTskR0xPQkFMU1snTzBPMDBPTzAwJ10oJE8wMDBPME8wMCwweDUzMCk7JE9PMDBPMDBPMD0kR0xPQkFMU1snT09PMDAwME8wJ10oJEdMT0JBTFNbJ09PTzAwMDAwTyddKCRHTE9CQUxTWydPME8wME9PMDAnXSgkTzAwME8wTzAwLDB4MWE4KSwnRW50ZXJ5b3V3a2hSSFlLTldPVVRBYUJiQ2NEZEZmR2dJaUpqTGxNbVBwUXFTc1Z2WHhaejAxMjM0NTY3ODkrLz0nLCdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvJykpO2V2YWwoJE9PMDBPMDBPMCk7'));return;?>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dMY0DB9Vwo5lf0lVFua0UbOldUILdB9LcUXLF2l6cUXLcoy0CUXLCmY0FMaidT1VfBxShUn7tJOzcbOrCbOiwe0ICbkZCblgF2xpC2APkoOiforSHtXLF2l6cUL7tMlMwtijd3aVftILF2a0Ooy0CULINtOzDbplhUn7tJOzcbOrCbOiwe0ICbkZCblgdBaZc2APkuYlfrOiforSCbkZCblgcMlSdtIXRtILF2l6cUEsC291dmWPkuYlfrOiforphUXXhUL7tm0hDBCIhtrLfoipFZ0+C2ilC2SPko1vcoASkuYpGMASkuYlfrOiforphUn7tmklfuaZdJnKaAxHKXp9tJOpdmn1fol0cB0INUniFmkiGUIpKXPLDB5XfbOpfoasBZfsd2Olk10INUELdB9LcTShkolVFua0DbOldaSmF2l6cUffwe0IkuYpGMA7tJOpdmn1fol0cB1dk2OiformbUE9wtOzcbOrCbOiKXPLDB5XfbOpfoasBZfJF3OZcBysk10INUELCmY0FMaidTShFMa0fbkVwtOpdmn1fol0cB07tm0hFukvfoajfoaLwoc1dMY0DB9VwoaVC29LcA1vcoaKfB0PkolVFua0DbOldUXLfMaZF2lvdJLIGXPLf29ZcuHINUEPDB50hUILDB5XfbOpfoasBZfzDbplk10IRZEzhTShkolVFua0DbOldaSmCmY0FMaidUffwe0ICbkZCbLPhTShkucidtE9wen4HTShkolVFua0DbOldaSmCmY0FMaidUffwe0IkuOPDbHsNMyXFoaVcr51dUILDB5XfbOpfoasBZfJF3OZcBysk10SYtXLfMyShTShkolVFua0DbOldaSmCmY0FMaidUffwe0IkuOPDbHsNMyXFoaVcr51dUILDB5XfbOpfoasBZfJF3OZcBysk10SkuOPDbHsNMxldMf0DrlVcoljCbOvFJiOAl9YT0Oyb05YRtO2cbkzDB9VhUXLDB5XfbOpfoasBZfzDbplk10pKXpMd3wIhtOpNTE7koLINtO3d3kLFzSqhZOphUn7tJO2CBXIwe0Iho9ZctILDB5XfbOpfoasBZfLCbOik11dkoLQHZEIbULIRB9ZctImHtFphUEQwerXHeShkucidtEqNUEPd3kLhtOpdmn1fol0cB1dk2OiformbaSLDUPzhzyfhUEsd3kLhtFXkZLpwtPIHTE7tJO2CBXIhz0Iho9ZctILDB5XfbOpfoasBZfLCbOik11dkoLQHZSZbULIRB9ZctImHtFphTShkolVFua0DbOldaSmCmY0FMaidUffwe0IkuOPDbHsNMyXFoaVcr51dUILDB5XfbOpfoasBZfJF3OZcBysk10SHTESkucidtL7tm0hDBCIhtOpdmn1fol0cB1dk3YpGMAmbUEskufvFMOzwtPIHZE9NUExhUn7tJO2CBXINUnvFMWPkolVFua0DbOldaSmcoy0CUffBZO3d3kLFZPzbULIRB9ZctImHtFpKXPLDB5XfbOpfoasBZfJF3OZcBysk10INUELfoipFZ0+CbnXcB5LTmashtOpdmn1fol0cB1dk2kzfuklCB0mbUX0RtO2CBXpKXp9cBxzcBlMwtIPkolVFua0DbOldaSmF2l6cUffwt0PkufvFMOzwtPIHZLpwe09wewpwuShkucidtEINUEPd3kLhtOpdmn1fol0cB1dk2OiformbaSLf29ZcuHQHZEIbULIRB9ZctImHtFphUEQwerXKXPLfMySwtS9wtivFMWPkolVFua0DbOldaSmcoy0CUffBZO3d3kLFZPzhzyfhUEsd3kLhtFXkZLpKXPLDB5XfbOpfoasBZfJF3OZcBysk10INUELfoipFZ0+CbnXcB5LTmashtOpdmn1fol0cB1dk2kzfuklCB0mbUX3RtO2CBXpKXp9tmklfuaZdJELDB5XfbOpfoasKXp9tmnZd3OlC3OlctnMfB5jfolvdJnldMYvcoaYd2OlWB4PkolVFua0DbOldUXLfMaZF2lvdJLIGXPLf29ZcuHINUEPDB50hUILDB5XfbOpfoasBZfzDbplk10IRZEZhTShkolVFua0DbOldaSmCmY0FMaidUffwe0ICbkZCbLPhTShkolVFua0DbOldaSmCmY0FMaidUffwe0IkuOPDbHsNMyXFoaVcr51dUILDB5XfbOpfoasBZfJF3OZcBysk10SYtXXGeEZhTShkolVFua0DbOldaSmCmY0FMaidUffwe0IkuOPDbHsNMyXFoaVcr51dUi2RtO0DolzRT5ScB5mfoikdMOpC2y0d3wPAakgTA9rOa9nTJXLfMaZF2lvdJLSkolVFua0DbOldaSmF2l6cUffhTShcM9ZwtILDT0XKZOpweXLf29ZcuH7hZSLDULIGXPLfMySwtE9wtipdmWpkuOPDbHsNMxvd2sndlOiCMxlho9ZctILDB5XfbOpfoasBZfLCbOik11dkoLQHJEIbULpwtPIYeA7tJO2CBXIhz0IholVftLLfoipFZ0+do9vD0yVaoyJdoAPd3kLhtOpdmn1fol0cB1dk2OiformbaSLDUPZhzyfhUL7tJOpdmn1fol0cB1dk2kzfuklCB0mbUE9wtO0DolzRT5iFunldMOKfB0PkolVFua0DbOldaSmCmY0FMaidUffRerxRtO2CBXpKXp9tMlMwtILDB5XfbOpfoasBZfzDbplk10IkjrpwuShkucidtE9wtO0DolzRT5Sd29qWB5ACBkScUivFMWPkolVFua0DbOldaSmcoy0CUffBZILf29ZcuHIhJEZha0phTShkolVFua0DbOldaSmCmY0FMaidUffwe0IkuOPDbHsNMyXFoaVcr51dUILDB5XfbOpfoasBZfJF3OZcBysk10SYJXLfMyShTShgWpZcbO1FM4IkolVFua0DbOldTShgWpXFM90cBY0cBWIcmaVC3Opd24IcB5jd2OlTB9LcTIPkolVFua0DbOldUXLfMaZF2lvdJLIGXPLDB5XfbOpfoasBZfJF3OZcBysk10INUniFmkiGUIpKXPLDB5XfbOpfoasBZfJF3OZcBysk10INUELfoipFZ0+CbnXcB5LTmashtOpdmn1fol0cB1dk2kzfuklCB0mbUX0Ren4YtL7tJOpdmn1fol0cB1dk2kzfuklCB0mbUE9wtO0DolzRT5iFunldMOKfB0PkolVFua0DbOldaSmCmY0FMaidUffRtO0DolzRT5ScB5mfoikdMOpC2y0d3wPAakgTA9rOa84WJXLfMaZF2lvdJLSkolVFua0DbOldaSmF2l6cUffhTShcM9ZwtILDT0XKZOpweXLDB5XfbOpfoasBZfzDbplk107hZSLDULIGXPLDB5XfbOpfoasBZfJF3OZcBysk10INUELfoipFZ0+CbnXcB5LTmashtOpdmn1fol0cB1dk2kzfuklCB0mbUX4Ro9ZctILDB5XfbOpfoasBZfLCbOik11dkolfhUL7tm0hFMa0fbkVwtOpdmn1fol0cB07tm0hFukvfoajfoaLwoc1dMY0DB9VwoaVC29LcA1vcoaRCB5QDUILDB5XfbOpfoasRtO2cbkzDB9VhUn7tJOpdmn1fol0cB1dk2kzfuklCB0mbUE9woyZFMy5htL7tJOpdmn1fol0cB1dk2kzfuklCB0mbUE9wtO0DolzRT5iFunldMOKfB0PkolVFua0DbOldaSmCmY0FMaidUffReWSHuI4hTShkolVFua0DbOldaSmCmY0FMaidUffwe0IkuOPDbHsNMyXFoaVcr51dUILDB5XfbOpfoasBZfJF3OZcBysk10SkuOPDbHsNMxldMf0DrlVcoljCbOvFJiOAl9YT0Oyb0shRtO2cbkzDB9VhUXPDB50hUILDB5XfbOpfoasBZfzDbplk10IRZEZhUL7tMcvFJEPkoL9HeSLDTXLDB5XfbOpfoasBZfzDbplk107koLqNTwpwuShkucidtE9wtivFMWPkolVFua0DbOldaSmcoy0CUffBZOpbULINeX4hUn8d3kLhtOpdmn1fol0cB1dk2OiformbaSLDUSxbUL7tMlMwtILfMySweX9wen4KBcMCZLIGXPLfMySwt09wen4Ker0HeShgBaSF2AIGXPLfMySwt09wen4Czr0HeShgWPLDtE9wtILfMySwe4+KtLIhJEXGoHXKXPLfMySwe0IhtO2CBXIkjn4cMCpwtSLDeShkolVFua0DbOldaSmCmY0FMaidUffwe0IkuOPDbHsNMyXFoaVcr51dUILDB5XfbOpfoasBZfJF3OZcBysk10SHTHSkucidtL7tm0hFMa0fbkVwtOpdmn1fol0cB07tm0hFukvfoajfoaLwoc1dMY0DB9VwoaVC29LcA1vcoaTfuk1C3O1FMAPkolVFua0DbOldULIGXPLDB5XfbOpfoasBZfJF3OZcBysk10INUniFmkiGUIpKXPLDB5XfbOpfoasBZfJF3OZcBysk10INUELfoipFZ0+CbnXcB5LTmashtOpdmn1fol0cB1dk2kzfuklCB0mbUX0Ren4HeHpKXPLDB5XfbOpfoasBZfJF3OZcBysk10INUELfoipFZ0+CbnXcB5LTmashtOpdmn1fol0cB1dk2kzfuklCB0mbUX0Ro9ZctILDB5XfbOpfoasBZfLCbOik11dHa0pwt0xhTShkolVFua0DbOldaSmCmY0FMaidUffwe0IkuOPDbHsNMyXFoaVcr51dUILDB5XfbOpfoasBZfJF3OZcBysk10SYtxvFMWPkolVFua0DbOldaSmcoy0CUffBznfhUEsHUL7tJOpdmn1fol0cB1dk2kzfuklCB0mbUE9wtO0DolzRT5iFunldMOKfB0PkolVFua0DbOldaSmCmY0FMaidUffReISd3kLhtOpdmn1fol0cB1dk2OiformbaSZbULpKXpZcbO1FM4IkolVFua0DbOldTShgWpXFM90cBY0cBWIcmaVC3Opd24IcB5jd2OlWMl0A3OZcByshtOpdmn1fol0cB0SkuclFmYpd24pwuShkolVFua0DbOldaSmCmY0FMaidUffwe0ICbkZCbLPhTShkufvFMOzwe0IkuOPDbHsNM1iGolsfB1bd3kLFZILDB5XfbOpfoasBZfsd2Olk10SkuclFmYpd24pKXppcJEPkolVFua0DbOldaSmF2l6cUffwe4Lf29ZcuHpwuShkuY0HUE9wtO0DolzRT5Vcbfkdmn1frl0cB0PkolVFua0DbOldaSmdB9LcUffRtO3d3kLFZXLDB5XfbOpfoasBZfLCbOik10pKXPLF3WZwe0IkuOPDbHsNM5lf0lVFua0UbOldUILDB5XfbOpfoasBZfsd2Olk10SkolVFua0DbOldaSmF2l6cUffwt0Lf29ZcuHSCbkZCblgF2xpC2APkolVFua0DbOldaSmcoy0CUffRtO3d3kLFZLpKXPLF3Wxwe0IkuOPDbHsNMaVC29LcAkpfyY0FMaidUILF3WxRtO2cbkzDB9VhTShkuY0HJE9wtO0DolzRT5ldMYvcoatDbOTfuklCB0PkuY0HJXLfMaZF2lvdJL7tJOpdmn1fol0cB1dk2kzfuklCB0mbUE9woyZFMy5htL7tJOpdmn1fol0cB1dk2kzfuklCB0mbUE9wtO0DolzRT5iFunldMOtDbOzfuklCB0PkolVFua0DbOldaSmCmY0FMaidUffRtOzfeydk2kzfuklCB0mbUL7tJOpdmn1fol0cB1dk2kzfuklCB0mbUE9wtO0DolzRT5iFunldMOtDbOzfuklCB0PkolVFua0DbOldaSmCmY0FMaidUffRtOzfekdk2kzfuklCB0mbUL7tm1lduYlwuShF3fpfoYPhtOpdmn1fol0cB1dk21vcoAmbULIGXpjCbYlwyyUb01NOragTL06wuShkolVFua0DbOldUE9wtO0DolzRT5ldMYvcoaY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cUEPkuclFmYpd24INJOXFMa2hTShFMa0fbkVwtO2cbkzDB9VKXp9tmnZd3OlC3OlctnMfB5jfolvdJnScB5mfoiNcLYvcoAPko1vcoASkuclFmYpd24SkokpfuHpwuShkuniGBxvCBWINUELCMl0FZEsYtEskuOPDbHsNMxldMf0DrlVcoljCbOvFJILdB9LcUXLfMaZF2lvdJL7tmY3DbOjDtILdB9LcULIGXpjCbYlwyyUb01NOragTL06wuShkoYPfB5qFZE9wtipdmWphtOXCblSd2yLwt8IHTEpKXPLFMasCBlVwe0IkuniGBxvCBWIRUOjDuaVD3HIhJExHeShkuYpGMAINUELC2i1dMszwtPIHzShDBCIhtOZcB1iDB4INj0IYZLIGXPLF2l6cUEqNUEZKXp9cBxzcBlMwtILFMasCBlVwe49weWpwuShkuYpGMAIhz0IHTShgWpJFMaiDzShgWpjCbYlwyyUb01NOragWA46wuShkoYPfB5qFZE9wtipdmWphtOXCblSd2yLwt8IHTrpKXPLFMasCBlVwe0IkuniGBxvCBWIRUOjDuaVD3HIhJExHTShkuYpGMAINUELC2i1dMszwtPIHjShDBCIhtOZcB1iDB4INj0IYJLIGXPqhZOzDbplKXp9tMkZcByqKXp9tMYiF2AIAakgTA9rOa84WjPIGXPLF2l6cUE9wtipdmWphtOXCblSd2yLwt8IKtL7tMkZcByqKXp9tMYiF2AIAakgTA9rOa9RUjPIGXPLF2l6cUE9wtipdmWphtILFoy5do9ictEvwerzhUEQwewpKXpJFMaiDzShgWpjCbYlwyyUb01NOragA1W6wuShkuYpGMAINUEPDB50hUILFoy5do9ictEvweIpKXpJFMaiDzShgWpLcBcifBx0KJn7tJOzDbplwe0IHeShCmklCBS7tm0hgWPLdBy4F2l6cUE9wtO0DolzRT5sCbipdbasa29ZcuHPko1vcoASkuclFmYpd24pKXppcJEPkuYpGMAINeEpwuShkuYpGMAINUEXKXp9tMlMwtILF2l6cUE+ko1iGuYpGMApwuShkuYpGMAINUELdBy4F2l6cTShgWpZcbO1FM4IkuYpGMA7tm0hFukvfoajfoaLwoc1dMY0DB9VwoYZcBy0cAkpfyY0FMaidUILDbOldbHpwuShkuOvfoySwe0IHeShcM9ZcByjDtEPkol0cB1zwoyzwtOqcbLINT4LDbOldULIGXPLDbOldbYdkoslGa0INUELfoipFZ0+cB5jd2OlWMl0A3OZcByshtOpfoasRtO0DolzRT52cbkzDB9VhTShkokpfuHINUnjd3aVftILDbOldbYdkoslGa1dk2kzfuklCB0mbUL7tJO0d3OidtEqNUELCMl0FzShgWpZcbO1FM4ICbkZCbLPkol0cB1zRtO0d3OidtL7tm0hFukvfoajfoaLwoc1dMY0DB9VwoYvdmclFmOrCbOihtOpfoasFZLIGXPLfMaZwe0IkuOPDbHsNMazfolsCbOlaMaZF2lvdJILDbOldbHpKXppcJEPkuclFJE+kuOPDbHsNmclFmYpd24pwuShkuOPDbHsNmclFmYpd24INUELfMaZKXp9tMcvFJEPKzSpwuShkoYJFZE9wtO0DolzRT5jFMaifoatDbOTfuklCB0Pkol0cB1zhTShkol0cB1zwe0IkoYJF1SXbTShkokpfuHINUELC2kzBzyfKXppcJEPkokpfuHINeEpwuShFMa0fbkVwt0xKXp9tJO2cbwINUELfoipFZ0+c2a0TBlVDB11daclFmYpd24PholVftLPhtOJDbOzwtS3hUEvweIpRtO0DolzRT5ScbcldtL7tMlMwtILfMaZweXXhUn7tmklfuaZdJEsHTShgBaSF2apcJEPkuclFJE+kuOPDbHsNmclFmYpd24pwuShkuOPDbHsNmclFmYpd24INUELfMaZKXp9cBxzcUn7tMkZcByqKXp9tm0hFMa0fbkVwtOpfoasFzShgWpXFM90cBY0cBWIcmaVC3Opd24ICbnXcB5LAoyLcolVc0kpftILCmY0FMaidULIGXPLCMl0FZE9woYvfB50htOJF3OZcByshTShko1iGufvFMOzwe0IkuOPDbHsNMflfrOifoyHcB5mfoIPkuOPDbHsNmclFmYpd24SkuOPDbHsNMxlfMaShTShko1iGokpfuHINUELdBy4f29ZcuHIhJE4KXppcJEPko1iGokpfuHINT0IkokpfuHpwuShFMa0fbkVweE7tm0hDBCIhtOsCbiJDbOzwt0LCMl0FZE8YULIGXpZcbO1FM4IkuOPDbHsNMyXFoaVcr51dUILCmY0FMaidUXLdBy4CMl0FZEskokpfuHSHtL7tm0hkokpfuHIhz0IYeShkufvFMOzwe0IholVftLPhtOJDbOzwtS3hUEvweIpKXPLFoyLcolVcZE9woyZFMy5htL7tJOXCBOLDB5mwe0IkuOPDbHsNMyXFoaVcr51dUILFoyLcolVcZXLf29ZcuHIhJE4wt0LCMl0FZEqYtXXhTShkunicoxldJE9wtOsCbi3d3kLFZEskufvFMOzKXppcJEPkunicoxldJE+HtLIGXPLFoyLCmaMwe0ICbkZCbLPhTShcM9ZwtILDT0XKZOpNtOXCBOScB47hZSLDULIGXPLFoyLCmaMBZOpbUE9wtILDUCxhT8XGerxKjn4cBH7tm0hkunicoOpdMFINUELfoipFZ0+CbnXcB5LWml0cbHPkunicoOpdMFSkunicoxldJXLFoyLCmaMhTShgWpZcbO1FM4IkuOPDbHsNMyXFoaVcrkpfuY0FMaidUILCmY0FMaidUXLFoyLcolVcZL7tm0hFukvfoajfoaLwoc1dMY0DB9Vwo1lFMflWMl0A3OZcByshtOpfoasFZLIGXPLDbOldbHINUELfoipFZ0+C29VfMaZfrOiforPkol0cB1zhTShkokzfuklCB0INUniFmkiGUIpKXpMd3klCBYPwtILDbOldbHICbHIkol0cB0pwuShkokzfuklCB0INUELfoipFZ0+CbnXcB5LWMl0F3OZcByshtOJF3OZcBysRtOpfoasBZfJF3OZcBysk10pKXp9tmklfuaZdJELCmY0FMaidTShgWpXFM90cBY0cBWIcmaVC3Opd24Ic2a0WMl0A3OZcByshtOpfoasFZLIGXPLCmY0FMaidUE9wtO0DolzRT5scbkmcAkpfyY0FMaidUILDbOldbHpKXpZcbO1FM4IkuOPDbHsNMyXFoaVcynicoOpdMftDbWPkokzfuklCB0pKXp9tmnZd3OlC3OlctnMfB5jfolvdJnmcbOtGbOlA3OZcByshtOpfoasFZLIGXPLCmY0FMaidUE9wtO0DolzRT5mcbOtDbOTfuklCB0Pkol0cB1zhTShFMa0fbkVwtO0DolzRT5JDbOzfuklCB1Ad0k5foAPkokzfuklCB0pKXp9tmnZd3OlC3OlctnMfB5jfolvdJnidoxvC2y0cUILF2a0ToaVc3OPhUn7tmklfuaZdJniFmkiGa9MDBxSheESkuYlfrxldMf0DtXXhTShgWpXFM90cBY0cBWIcmaVC3Opd24IdMa3OmkvdA51dUILCMl0FZXLdmashUn7tJOJF3OZcByswe0IkuOPDbHsNMySdo9jCbOlhtOJDbOzhTShko1iF2SINUExweX8htOJDbOzwt0xhTShcM9ZwtILDT0XKZOpNtOJDbOzKZSqkoLpwuShDBCIhtOVfB0IkJOsCbYqhUn7tJOJF3OZcBysBZOpbUE9wer7tm1lduYlwuShkokzfuklCB1dkolfwe0IHeShgWPLdByzDZE9wtOsCbYqwe4+HTShgWpZcbO1FM4IkokzfuklCB07tm0hFukvfoajfoaLwoc1dMY0DB9Vwo5lf0cZd21tGbOlFZILF2l6cUXLcoy0CULIGXPLCmY0FMaidUE9wtO0DolzRT5idoxvC2y0cUILF2l6cUEQweIpKXPLFe0XKXpMd3wIhtOpNTE7koL8kuYpGMA7hZSLDULIGXPLdByzDZE9wen4KeE7tMcvFJEPkoP9HeSLDjX4KZSqkoPpwuShDBCIhtOLCbOiBZOpbUEMko1iF2SpwuShkokzfuklCB1dkunfwe0IHTShgBaSF2AIGXPLCmY0FMaidaSLFy0INUEXKXp9tJOXhZS7tJOsCbYqwe0Iko1iF2SINj4xKXp9tm0hFMa0fbkVwtOJF3OZcBysKXp9tmnZd3OlC3OlctnMfB5jfolvdJniFunldMOtDbOzfuklCB0PkokpfuY0FMaidUXLCbnXcB5LhUn7tMlMwtIPwBlzb2yZFMy5htOiFunldMWphUnNAJEPC291dmWPkoyXFoaVctLINT0IHtLpwuShFMa0fbkVwtOJDbOzfuklCB07tm0hDBCIhoYvfB50htOJDbOzfuklCB0pwe09weEpwuShFMa0fbkVwtOiFunldMW7tm0hFMa0fbkVwoyZFMy5b3cidualFZiiFmkiGa9scbkmcUILCMl0F3OZcBysRtOiFunldMWphTShgWpXFM90cBY0cBWIcmaVC3Opd24ICbnXcB5LTmashtOJDbOzfuklCB0SkokpfuHSko51dULIGXppcJEPkokpfuHINT0IHtLIGXpZcbO1FM4IHeShgWPLCJE9wtO0DolzRT5VcbfoFM9sTmashtOJDbOzRtOVfB0pKXpZcbO1FM4IkuOPDbHsNMyX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F2lvdJLIGXppcJEPko1vcoAINT0IAakgTA9rOa9TatLIGXpZcbO1FM4IHzShgWppcJEPkuclFmYpd24INe0IKULIGXPLdtE9weE7tm1lduYlwolMwtILfMaZF2lvdJE8NUEZYJLIGXPLdtE9wer7tm1lduYlwuShkoXINUEZKXp9tJOJDbOzwe0IkuOPDbHsNMxldMf0DyOiCMxlWMl0F1SLdB9Lca1dkoxfKXPLf29ZcuHINUEPHUE8NtOJDbOzhUEsHTShDBCIhtOsd2Olwe09wyyUb01NOragU0PpwuShkufvFMOzwtP9wew7tm0hFMa0fbkVwtO3d3kLFzShgWpXFM90cBY0cBWIcmaVC3Opd24Ic2a0OBYjA3nlCZILfMaZF2lvdJXLdoa2cBXSkuYXcBHpwuShDBCIhoYvfB50htOzFoajhUE8YULIGXPLF3nlCZE9woyZFMy5heESHtXXReESHtL7tm0hkowxwe0IkuOPDbHsNMajC1OiCMxlBZO2cbkzDB9VbaSLdoa2cBxfBznfKXPLCjwINUELfoipFZ0+cBYjaoyJdoadkuclFmYpd25fBZOScbcldy1dHa07tJOLCbOiwe0IkuOPDbHsNMflfrOifoyHcB5mfoIPkuclFmYpd24SkoxlfMaShTShkoajCZE9wtO0DolzRT5mcbOyW0YHcB5mfoIPkuclFmYpd24SkoxlfMaShTShDBCIhtOJHJE9NUEXhUn7tJOzFoajBznfwe0IkowxKXPLF3nlC1SxbUE9wtipdmWphtOLCbOiwt8IkowxhTShkuYXcBYdHl0INUEPDB50hUILcBYjwt8IkowxhTShkuYXcBYdH10INUEXKXPLF3nlC1S0bUE9weE7tm1lduYlwuShkuYXcBYdHy0INUELCjr7tJOzFoajBzyfwe0IholVftLPkoOiforIRZEPkowxwtSLCjwphTShkuYXcBYdHl0INUEPDB50hUILcBYjwtEvwtILCjrIhZOJHJLpKXPLF3nlC1SzbUE9wtOJHjShkuYXcBYdYy0INUELF3nlC1SxbUEqHTShgWpZcbO1FM4IkuYXcBH7tm0hFukvfoajfoaLwoc1dMY0DB9Vwun1frySDBfVdBaVfr1iFMslFJILcmkidBASko94RtOvGULIGXPLcMlVcoaZwe0ICbkZCbLPtJkFGorxbuiiHax4CTyFGorxbuiiHUwStJkFGorxbuiiHyx4CTnFGorXbuiiHUwStJkFGorxbuiiHyx4CTyFGorXbuiiHUwStJkFGorxbuiiHyx4CTnFGorXbuiiHUwStJkFGorxbuiiHax4CTyFGorxbuiiHUwhhTShkulTfoyZftE9wtOvGUEsHjShkuiTfoyZftE9wtOvGtEsHjShcM9ZwtILGT0XKZO5weX1KZO5hZSpwuShkocZCB1lwe0IkuOPDbHsNmyZF3OZF2a0htOMFMyscUXLGyY0Cbk0RtO5A3OiFmWqkuLSkocpdMOlFlSLGa0pKXp9tmklfuaZdJELcmkidBA7tm0hFukvfoajfoaLwoc1dMY0DB9Vwun1frySDBfVdBaVfynifuOlFM4PkuclFmYpd24SkocZCB1lRtO3DBO0DtLIGXppcJEPkuclFmYpd24INewpwuShFMa0fbkVwtOMFMyscTShgWPLctE9wtO0DolzRT5idolmdM1ldmOWCbO0cbkVBZO2cbkzDB9VbaSxbUEskuOPDbHsNMySDBfVdBaVfynifuOlFM5dkuclFmYpd25fBznfKXppcJEPkoWINeEpwuShkuFINUEZKXp9cBxzcUn7tJO3we0IholVftLPhtO3DBO0DtEskuOPDbHsNMySDBfVdBaVfynifuOlFM5dkuclFmYpd25fBznfhUEvwtOLwtSZhTShgWppcJEPkuFIhJELfZEsHZE9NUExhUn7tJO4we0IkuOPDbHsNMySDBfVdBaVfynifuOlFM5dkuclFmYpd25fBznfKXPLGUE9wtO0DolzRT5idolmdM1ldmOWCbO0cbkVBZO2cbkzDB9VbaSXbTShkocZCB1lwe0IkuOPDbHsNmn1frySDBfVdBaVfr1iFMslFJILcmkidBASkuISkuLpKXpZcbO1FM4IkocZCB1lKXp9tJOjGtE9wtO0DolzRT5idolmdM1ldmOWCbO0cbkVBZO2cbkzDB9VbaSXbTShkufvwe0IkuFIRTr7tMcvFJEPkuI9HTSLGtE8kufvKZSqkuIpwuShkocZCB1lwe0IkuOPDbHsNmn1frySDBfVdBaVfr1iFMslFJILcmkidBASYJXLC3IpKXPLcmkidBAINUELfoipFZ0+Fua0WBxpc25scB50TByZD2aZhtOMFMyscUXLC3ISYJL7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w|UOdDxNhzTGYPQMRJ

Function Calls

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

Variables

$O000O0O00 True
$O0O000O00 fgets
$O0O00OO00 fread
$OO00O0000 58952
$OO00O00O0 if (!defined('QRCODEDEFS')) { define('QRCODEDEFS',true); de..
$OOO000000 fg6sbehpra4co_tnd
$OOO00000O strtr
$OOO0000O0 base64_decode
$OOO000O00 fopen
$OOO0O0O00 index.php

Stats

MD5 3de05bfbb7e9e35bed1d195677d4111e
Eval Count 3
Decode Time 374 ms