/* 
 * More info at: http://phpjs.org
 * 
 * This is version: 3.2
 * php.js is copyright 2011 Kevin van Zonneveld.
 * 
 * Portions copyright Brett Zamir (http://brett-zamir.me), Kevin van Zonneveld
 * (http://kevin.vanzonneveld.net), Onno Marsman, Theriault, Michael White
 * (http://getsprink.com), Waldo Malqui Silva, Paulo Freitas, Jonas Raoni
 * Soares Silva (http://www.jsfromhell.com), Jack, Philip Peterson, Ates Goral
 * (http://magnetiq.com), Legaev Andrey, Ratheous, Alex, Martijn Wieringa,
 * lmeyrick (https://sourceforge.net/projects/bcmath-js/), Nate, Enrique
 * Gonzalez, Philippe Baumann, Webtoolkit.info (http://www.webtoolkit.info/),
 * Rafał Kukawski (http://blog.kukawski.pl), Ash Searle
 * (http://hexmen.com/blog/), Ole Vrijenhoek, travc, Jani Hartikainen, Carlos
 * R. L. Rodrigues (http://www.jsfromhell.com), stag019, GeekFG
 * (http://geekfg.blogspot.com), WebDevHobo (http://webdevhobo.blogspot.com/),
 * Erkekjetter,
 * http://stackoverflow.com/questions/57803/how-to-convert-decimal-to-hex-in-javascript,
 * Rafał Kukawski (http://blog.kukawski.pl/), T.Wild, pilus, marrtins,
 * Michael Grier, Johnny Mast (http://www.phpvrouwen.nl), Andrea Giammarchi
 * (http://webreflection.blogspot.com), d3x, David, Arpad Ray
 * (mailto:arpad@php.net), Imgen Tata (http://www.myipdf.com/), AJ, Steven
 * Levithan (http://blog.stevenlevithan.com), Joris, Kevin van Zonneveld
 * (http://kevin.vanzonneveld.net/), Martin (http://www.erlenwiese.de/),
 * majak, gettimeofday, Dreamer, mdsjack (http://www.mdsjack.bo.it), Felix
 * Geisendoerfer (http://www.debuggable.com/felix), Paul Smith, Tim de Koning
 * (http://www.kingsquare.nl), Mailfaker (http://www.weedem.fr/), felix,
 * Michael White, Robin, Public Domain (http://www.json.org/json2.js), Karol
 * Kowalski, Mirek Slugen, Oleg Eremeev, KELAN, Josh Fraser
 * (http://onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/),
 * Breaking Par Consulting Inc
 * (http://www.breakingpar.com/bkp/home.nsf/0/87256B280015193F87256CFB006C45F7),
 * Chris, Marc Palau, Lars Fischer, saulius, gorthaur, Pellentesque Malesuada,
 * Tyler Akins (http://rumkin.com), Aman Gupta, Thunder.m, Sakimori, Diplom@t
 * (http://difane.com/), Steve Hilder, Caio Ariede (http://caioariede.com),
 * Kankrelune (http://www.webfaktory.info/), Alfonso Jimenez
 * (http://www.alfonsojimenez.com), ger, Nick Kolosov (http://sammy.ru), marc
 * andreu, nobbler, Fox, djmix, john (http://www.jd-tech.net), Frank Forte,
 * Thiago Mata (http://thiagomata.blog.com), Linuxworld, lmeyrick
 * (https://sourceforge.net/projects/bcmath-js/this.), Lincoln Ramsay, mktime,
 * Douglas Crockford (http://javascript.crockford.com), Arno, duncan, paulo
 * kuong, Adam Wallner (http://web2.bitbaro.hu/), Francois, date, Itsacon
 * (http://www.itsacon.net/), Billy, vlado houba, Jalal Berrami, Scott Cariss,
 * Slawomir Kaniecki, sankai, Nathan, Denny Wardhana, jmweb, Oskar Larsson
 * Högfeldt (http://oskar-lh.name/), ReverseSyntax, Mateusz "loonquawl"
 * Zalega, Bayron Guevara, Marco, madipta, 0m3r, XoraX
 * (http://www.xorax.info), Subhasis Deb, echo is bad, Der Simon
 * (http://innerdom.sourceforge.net/), Soren Hansen, EdorFaus, Eugene Bulkin
 * (http://doubleaw.com/), Ozh, nord_ua, David Randall, Bryan Elliott, Brad
 * Touesnard, Thomas Beaucourt (http://www.webapp.fr), JT, T0bsn, Peter-Paul
 * Koch (http://www.quirksmode.org/js/beat.html), MeEtc
 * (http://yass.meetcweb.com), josh, JB, LH, Jon Hohle, Pyerre, T. Wild, Steve
 * Clay, David James, Tim Wiel, noname, class_exists, Ole Vrijenhoek
 * (http://www.nervous.nl/), Raphael (Ao RUDLER), Francesco, Stoyan Kyosev
 * (http://www.svest.org/), merabi, Marc Jansen, J A R, Shingo, Gilbert,
 * kenneth, Sanjoy Roy, Luis Salazar (http://www.freaky-media.com/), stensi,
 * Devan Penner-Woelk, Saulo Vallory, Kristof Coomans (SCK-CEN Belgian
 * Nucleair Research Centre), Pierre-Luc Paour, Kirk Strobeck, Martin Pool,
 * Christoph, Daniel Esteban, Artur Tchernychev, uestla, Wagner B. Soares,
 * Valentina De Rosa, strftime, Jason Wong (http://carrot.org/), Brant
 * Messenger (http://www.brantmessenger.com/), Rick Waldron, Bug?, Blues
 * (http://tech.bluesmoon.info/), Bjorn Roesbeke
 * (http://www.bjornroesbeke.be/), Anton Ongson, Gabriel Paderni, Simon
 * Willison (http://simonwillison.net), Luke Godfrey, Pul, rezna, Mick@el,
 * Tomasz Wesolowski, Eric Nagel, Bobby Drake, Evertjan Garretsen, Alan C,
 * Taras Bogach, Ulrich, Zahlii, Yves Sucaet, sowberry, Norman "zEh" Fuchs,
 * hitwork, johnrembo, Brian Tafoya (http://www.premasolutions.com/), Nick
 * Callen, Steven Levithan (stevenlevithan.com), ejsanders, Scott Baker,
 * Philippe Jausions (http://pear.php.net/user/jausions), Aidan Lister
 * (http://aidanlister.com/), Rob, e-mike, ChaosNo1, Alexander Ermolaev
 * (http://snippets.dzone.com/user/AlexanderErmolaev), HKM, metjay, jpfle,
 * strcasecmp, strcmp, DxGx, James (http://www.james-bell.co.uk/), kilops,
 * Orlando, dptr1988, Le Torbi, Pedro Tainha (http://www.pedrotainha.com),
 * James, Marco van Oort, Philipp Lenssen, jakes, 3D-GRAF, Yannoo, gabriel
 * paderni, baris ozdil, FGFEmperor, daniel airton wermann
 * (http://wermann.com.br), Atli Þór, Howard Yeend, Diogo Resende, Allan
 * Jensen (http://www.winternet.no), Benjamin Lupton, Maximusya, davook, Greg
 * Frazier, Tod Gentille, Manish, Matt Bradley, Cord, fearphage
 * (http://http/my.opera.com/fearphage/), Matteo, Victor, taith, Tim de
 * Koning, Alexander M Beedie, Ryan W Tenney (http://ryan.10e.us), Riddler
 * (http://www.frontierwebdev.com/), T.J. Leahy, FremyCompany, Rafał
 * Kukawski, Rival, Luke Smith (http://lucassmith.name), Jamie Beck
 * (http://www.terabit.ca/), Ben (http://benblume.co.uk/), Russell Walker
 * (http://www.nbill.co.uk/), Garagoth, Le Torbi (http://www.letorbi.de/),
 * Andrej Pavlovic, DtTvB
 * (http://dt.in.th/2008-09-16.string-length-in-bytes.html), Andreas, Arnout
 * Kazemier (http://www.3rd-Eden.com), penutbutterjelly, Michael, setcookie,
 * Blues at http://hacks.bluesmoon.info/strftime/strftime.js, YUI Library:
 * http://developer.yahoo.com/yui/docs/YAHOO.util.DateLocale.html, Dino, rem,
 * Cagri Ekin, booeyOH, Amirouche, Amir Habibi
 * (http://www.residence-mixte.com/), Kheang Hok Chin
 * (http://www.distantia.ca/), Jay Klehr, Ben Bryan, Leslie Hoare, William,
 * Josep Sanz (http://www.ws3.es/), meo, Greenseed, mk.keck, Yen-Wei Liu
 * 
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 * 
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the
 * "Software"), to deal in the Software without restriction, including
 * without limitation the rights to use, copy, modify, merge, publish,
 * distribute, sublicense, and/or sell copies of the Software, and to
 * permit persons to whom the Software is furnished to do so, subject to
 * the following conditions:
 * 
 * The above copyright notice and this permission notice shall be included
 * in all copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 * IN NO EVENT SHALL KEVIN VAN ZONNEVELD BE LIABLE FOR ANY CLAIM, DAMAGES
 * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 * OTHER DEALINGS IN THE SOFTWARE.
 */ 


// Compression: minified


function base64_decode(data){var b64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var o1,o2,o3,h1,h2,h3,h4,bits,i=0,ac=0,dec="",tmp_arr=[];if(!data){return data;}
data+='';do{h1=b64.indexOf(data.charAt(i++));h2=b64.indexOf(data.charAt(i++));h3=b64.indexOf(data.charAt(i++));h4=b64.indexOf(data.charAt(i++));bits=h1<<18|h2<<12|h3<<6|h4;o1=bits>>16&0xff;o2=bits>>8&0xff;o3=bits&0xff;if(h3==64){tmp_arr[ac++]=String.fromCharCode(o1);}else if(h4==64){tmp_arr[ac++]=String.fromCharCode(o1,o2);}else{tmp_arr[ac++]=String.fromCharCode(o1,o2,o3);}}while(i<data.length);dec=tmp_arr.join('');dec=this.utf8_decode(dec);return dec;}
function base64_encode(data){var b64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var o1,o2,o3,h1,h2,h3,h4,bits,i=0,ac=0,enc="",tmp_arr=[];if(!data){return data;}
data=this.utf8_encode(data+'');do{o1=data.charCodeAt(i++);o2=data.charCodeAt(i++);o3=data.charCodeAt(i++);bits=o1<<16|o2<<8|o3;h1=bits>>18&0x3f;h2=bits>>12&0x3f;h3=bits>>6&0x3f;h4=bits&0x3f;tmp_arr[ac++]=b64.charAt(h1)+b64.charAt(h2)+b64.charAt(h3)+b64.charAt(h4);}while(i<data.length);enc=tmp_arr.join('');switch(data.length%3){case 1:enc=enc.slice(0,-2)+'==';break;case 2:enc=enc.slice(0,-1)+'=';break;}
return enc;}
function serialize(mixed_value){var _utf8Size=function(str){var size=0,i=0,l=str.length,code='';for(i=0;i<l;i++){code=str.charCodeAt(i);if(code<0x0080){size+=1;}else if(code<0x0800){size+=2;}else{size+=3;}}
return size;};var _getType=function(inp){var type=typeof inp,match;var key;if(type==='object'&&!inp){return'null';}
if(type==="object"){if(!inp.constructor){return'object';}
var cons=inp.constructor.toString();match=cons.match(/(\w+)\(/);if(match){cons=match[1].toLowerCase();}
var types=["boolean","number","string","array"];for(key in types){if(cons==types[key]){type=types[key];break;}}}
return type;};var type=_getType(mixed_value);var val,ktype='';switch(type){case"function":val="";break;case"boolean":val="b:"+(mixed_value?"1":"0");break;case"number":val=(Math.round(mixed_value)==mixed_value?"i":"d")+":"+mixed_value;break;case"string":val="s:"+_utf8Size(mixed_value)+":\""+mixed_value+"\"";break;case"array":case"object":val="a";var count=0;var vals="";var okey;var key;for(key in mixed_value){if(mixed_value.hasOwnProperty(key)){ktype=_getType(mixed_value[key]);if(ktype==="function"){continue;}
okey=(key.match(/^[0-9]+$/)?parseInt(key,10):key);vals+=this.serialize(okey)+
this.serialize(mixed_value[key]);count++;}}
val+=":"+count+":{"+vals+"}";break;case"undefined":default:val="N";break;}
if(type!=="object"&&type!=="array"){val+=";";}
return val;}
function unserialize(data){var that=this;var utf8Overhead=function(chr){var code=chr.charCodeAt(0);if(code<0x0080){return 0;}
if(code<0x0800){return 1;}
return 2;};var error=function(type,msg,filename,line){throw new that.window[type](msg,filename,line);};var read_until=function(data,offset,stopchr){var buf=[];var chr=data.slice(offset,offset+1);var i=2;while(chr!=stopchr){if((i+offset)>data.length){error('Error','Invalid');}
buf.push(chr);chr=data.slice(offset+(i-1),offset+i);i+=1;}
return[buf.length,buf.join('')];};var read_chrs=function(data,offset,length){var buf;buf=[];for(var i=0;i<length;i++){var chr=data.slice(offset+(i-1),offset+i);buf.push(chr);length-=utf8Overhead(chr);}
return[buf.length,buf.join('')];};var _unserialize=function(data,offset){var readdata;var readData;var chrs=0;var ccount;var stringlength;var keyandchrs;var keys;if(!offset){offset=0;}
var dtype=(data.slice(offset,offset+1)).toLowerCase();var dataoffset=offset+2;var typeconvert=function(x){return x;};switch(dtype){case'i':typeconvert=function(x){return parseInt(x,10);};readData=read_until(data,dataoffset,';');chrs=readData[0];readdata=readData[1];dataoffset+=chrs+1;break;case'b':typeconvert=function(x){return parseInt(x,10)!==0;};readData=read_until(data,dataoffset,';');chrs=readData[0];readdata=readData[1];dataoffset+=chrs+1;break;case'd':typeconvert=function(x){return parseFloat(x);};readData=read_until(data,dataoffset,';');chrs=readData[0];readdata=readData[1];dataoffset+=chrs+1;break;case'n':readdata=null;break;case's':ccount=read_until(data,dataoffset,':');chrs=ccount[0];stringlength=ccount[1];dataoffset+=chrs+2;readData=read_chrs(data,dataoffset+1,parseInt(stringlength,10));chrs=readData[0];readdata=readData[1];dataoffset+=chrs+2;if(chrs!=parseInt(stringlength,10)&&chrs!=readdata.length){error('SyntaxError','String length mismatch');}
readdata=that.utf8_decode(readdata);break;case'a':readdata={};keyandchrs=read_until(data,dataoffset,':');chrs=keyandchrs[0];keys=keyandchrs[1];dataoffset+=chrs+2;for(var i=0;i<parseInt(keys,10);i++){var kprops=_unserialize(data,dataoffset);var kchrs=kprops[1];var key=kprops[2];dataoffset+=kchrs;var vprops=_unserialize(data,dataoffset);var vchrs=vprops[1];var value=vprops[2];dataoffset+=vchrs;readdata[key]=value;}
dataoffset+=1;break;default:error('SyntaxError','Unknown / Unhandled data type(s): '+dtype);break;}
return[dtype,dataoffset-offset,typeconvert(readdata)];};return _unserialize((data+''),0)[2];}
function utf8_decode(str_data){var tmp_arr=[],i=0,ac=0,c1=0,c2=0,c3=0;str_data+='';while(i<str_data.length){c1=str_data.charCodeAt(i);if(c1<128){tmp_arr[ac++]=String.fromCharCode(c1);i++;}else if((c1>191)&&(c1<224)){c2=str_data.charCodeAt(i+1);tmp_arr[ac++]=String.fromCharCode(((c1&31)<<6)|(c2&63));i+=2;}else{c2=str_data.charCodeAt(i+1);c3=str_data.charCodeAt(i+2);tmp_arr[ac++]=String.fromCharCode(((c1&15)<<12)|((c2&63)<<6)|(c3&63));i+=3;}}
return tmp_arr.join('');}
function utf8_encode(argString){var string=(argString+'');var utftext="";var start,end;var stringl=0;start=end=0;stringl=string.length;for(var n=0;n<stringl;n++){var c1=string.charCodeAt(n);var enc=null;if(c1<128){end++;}else if(c1>127&&c1<2048){enc=String.fromCharCode((c1>>6)|192)+String.fromCharCode((c1&63)|128);}else{enc=String.fromCharCode((c1>>12)|224)+String.fromCharCode(((c1>>6)&63)|128)+String.fromCharCode((c1&63)|128);}
if(enc!==null){if(end>start){utftext+=string.substring(start,end);}
utftext+=enc;start=end=n+1;}}
if(end>start){utftext+=string.substring(start,string.length);}
return utftext;}
