<?php
/** Adminer - Compact database management
* @link http://www.adminer.org/
* @author Jakub Vrana, http://www.vrana.cz/
* @copyright 2007 Jakub Vrana
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2 (one or other)
* @version 3.7.1
*/error_reporting(6135);$lc=!ereg('^(unsafe_raw)?$',ini_get("filter.default"));if($lc||ini_get("filter.default_flags")){foreach(array('_GET','_POST','_COOKIE','_SERVER')as$X){$lg=filter_input_array(constant("INPUT$X"),FILTER_UNSAFE_RAW);if($lg)$$X=$lg;}}if(function_exists("mb_internal_encoding"))mb_internal_encoding("8bit");if(isset($_GET["file"])){if($_SERVER["HTTP_IF_MODIFIED_SINCE"]){header("HTTP/1.1 304 Not Modified");exit;}header("Expires: ".gmdate("D, d M Y H:i:s",time()+365*24*60*60)." GMT");header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");if($_GET["file"]=="favicon.ico"){header("Content-Type: image/x-icon");echo
lzw_decompress("\0\0\0` \0\0\n @\0C\"\0`EQ?tvM'Jdd\\b0\0\"fӈs5AXPaJ08#RTz`#.cXȀ?-\0Im?.M\0ȯ(̉/(%\0");}elseif($_GET["file"]=="default.css"){header("Content-Type: text/css; charset=utf-8");echo
lzw_decompress("\n1ٌ̇l7B14vb0fsn2Bѱ٘n:#(b.\rDc)a7Elñi1̎s-4f	i7Féa'3Id!S:4+Mdgǃtcb{H(Ɠєt1)t}Fp08\\82DL>9`'Cۗ889 xQ\0e4QʘlPVbT4\\W/\n` 7\"hq4ZM6T\rr\\C{h7\rx67J2.39KH,!mƆo\$.[\r&#\$<f)Z\0=r9jΪJ0c,|=Rs_6ݷZ62Bp\\-1s2> X:\rܺ3b-8SLK.-ҥ\rH@ml:;J0LR2!A2	m0eI-:U\r9MWL0GcJv2(F9`<J7+˚~}DJHWSNeu]1̥(OLЪ<lR[u&H3vUt6\$6X\"<}:O<3xO8>C1HRSd9%U1Sna|.ԁ`8:#C2*[o4X~7j\\6/09\r;;VnnމvkHB%.k\">[\nlp9cFZs|>6 5l1Vΐ67:\"Azde\\5*մ]p[*Am)Kt[\n8g=;2z|̣4t8.N#ʲB\"9%HQwqdF\$&VQ#Q'_m̡ \rh Xrt0j5W4דm\"CAF!엖h>b007;84Ka	\0p	aHXF1:8U9HIó;sQ7FcLpXM@e吞+g(73O3pblEE>Chb%DI8E'	#)=%CjY1yh;cA6jK\r9\$|g-Zo\0z\$+DVw*WpJ\\FO'ɲa1m,_ڧ\r1Po;\05e\r& 3^\r6MR2T\05?~5P>85hn1;\rRL8`\\@`;z\n\0ԃ89RyZP@ib?ƭv\$<%	A\r?\0Sʥ BÞ4JҨ:`#Hi7ε+}voJVڰ9W2Q\rTD`f wLI]MKd7*rk*j\nASjF-[ezzrʁfU3~\\ZZ{)>>Ѓp*;zDbw]mC\n訓KBBm@ִ>wU*N(baƶ@fv)`\0uD)mD@/49jHBm1I5DRuE9Aӗ=1b0ey1s;-]s5\\\n1;Q^bi;YJ2d!s#kghށ]W)>VIx]r;6JLcprd{pyM-UVH5'\ntвlpHoeZϨqeXF`Gy\r!Ww*Dut%dQ/p:iht&Pe,J͌t!O76GgRC[skvqU}yhAGV|lFޅL^.]u&w![jnnڏ[kCvkrmOɭJ>WT0\npMCbtVG|oy8c");}elseif($_GET["file"]=="functions.js"){header("Content-Type: text/javascript; charset=utf-8");echo
lzw_decompress("f:gCI\n:saPi2\nOgc	e6Le7s)Ћ\rHGI3as'cDi6N2H8uFR#r7#v}@`Qo5aI,2O'8R-q:PS(a*w(%p<F)nx8zA\"Z-CeV'sq;NF1䭲9Gͦ'0\rȿ9n`рX1݁G3tee9:NeNOSzczl`5	3y8.\rP\r@\\1\r \0@2j8ؗ=. -rá0Qꊺhb`^9qE! 7)#*Q\01\"h>-C \"XS`\\F֬h83`X:O,)8<BNЃ;>98c<#0L9?(R#e=\n:*0D9C@{ZO8ioVvkAr8&..cHE>H_hWU51r*^(bxܡY1&XH6ؓ.9xP\r.`v484daXV6FEHHfc-^=txY\r%xeQ,X=1!svjkQ2%W?Ů=dY&ٓVX4ـ\\5Xì!}NgvڃWY*Qi&lѵZ#Ց\rA\$ev5o#ޛ5gc3MTCL>vH<`*]_;%;Vi4X'`ij0gOۥi9ƙےdFk/lŞnc<b\n8`He}]\$Ҳ !C)\$ A`\0'&\0B!)5E)o\r8r`!2Ts=D˩>\n/l[ŠPa8%!1v/SUcoJ:4J+BvJ\rb{,|\0zcYl\ni.!)dmJ!' B\nC\\i\$J\"2+IkJ\$Gy\$#ܲi/CAbbC(:UX2&	, Q;~/Ky9?\r6tV!6CP	hYEl䏞(ؖTp'3C<dc?yCe0@&A?=%A:JD&SQ6R)Ab`0@u9(!0R\nF  wC\\υrܙ#~2'\$ :K`h@Eb[~ Tlf5BR]{\"-\0L>\r\$@\n(&\r9\0vh*ɇ*X!_djpy`jYwJ\$R(uaM+nxspU^Ap`ͤIH\nf02)!4a9	EwC˩ LPAi)p3AuAIAHu	!g͕UZUc*Mxf:^Xp+VKC#+ WhCP!;[pn\\%k\0,ڨ87xQC\nY\rbXvC d\nA;lF,_wr4RPHA!;&^Ͳ\"6;=#CI9f':DY!B+sxV8lÓ\"鑃HU%\"Z6u\re0[pa. +^``b5#CM\$ I˚AP5C\r SdWN6H[SR\\+X=kλ׺Sr^(oo7\\huklHaC(mnRBUup2C1[|ٽbeG0\"CG?\$x7n\$Z=ZӦsi5f&,fhiIyn20DvETxM{`ܤGN#遂Z,/R\$#\\I-	|0-0NP;s-v҆nwGtndiH|4(+v&Ņ+KL\nJ\$ԩ:\\Q<WB\"^WTIB~qɞ}3ο\":U|\r5n(n 7OD}B}\0\rvoܕ؆_JlİH3\"[ĸKA`ߖN&()\" f&\0 blF.jrJ\"P<\$F*|f/! OpR F#5gb8eRDi0P+*kZ;pHhl!\0\r\nco/CB<pyNTHhT	@px\$48\n#NU,\$PmYK\"H RLD\0aW`pglPo:L+\0 ]0<)Nxk\n(`c+rk{m\"3.0H1e*ZoeB9\r\0RLiQUԋ`.o:dT7QV DhWS1	g*2,W)@ϰT@C	Q(,4#d<\0! \$2 {es+rʫJvY*HPr\rTM\\\\`v<&nD\\HHoj^@	<񊆯8*#f*\r\nT \\\r*T^*ɠ\$6o7Ree8 粡,ҥ,,`|9K20r+ҧ1R\" *P*ȆM\\\rb0\0Y\"\"Ux`QE\r~Q@5 5sZ^fR@Q4d5b\0@Fb/8\"	8s8<@l2\$Sh\nR\"U43FNɫ7\"D\r4OI3\n\0\n``` Y2ob3<n6]<`\" N\"B2Z\nmE\0Zx[2@,<P?\r8#d<@JUK/E;\$6SDU	l;,ULΒ7fcG\"EG\$\"E3FHƤId=e	!UHБ23&jȬ*%%%2,JQ1Hl0tY3\$X<Ct4_\$\0>/F\n?mFj3pDHKv Ⱥɜ\0X*\rʚ\n0e\n%\riOflNM%]UQQL-S±T4!U5T\nndi0#EMi./U\rZFj;H☎d`mݩ\ntQS	e|iQt d12,DY1UQSUcdE)\\L	F\$@V{W6\"LlTA\$6abOdrLpc,esΞ<2`@bXP\$3@˃P,KVխ^MLu1@ct-(`\09n2sb/ Fm)Hl5@nl\$q+:/ d,\n޵.4\$ w0\$dV0\"rW4678VtqBaupÀI<\$#x`wd9^*kuofBEp	g2f4 L!r=\0\"	\r<hU%ThBk#>'Cp\n	(\r2\"3lMԋ7Gx.,Uu%Dt wy^Mf\" (vU3uJ^HC_IUYkSc_ylcc]rF_q%W#]@rkv3-cyVHJG<ZT@V8\$6o2H@\rª\0=ݍ\"39z:KuK >B\$r.J<KG~PXQMƹ	Xw\$;mpZp cK!OeOO?wp懤֠LI\n?9xB.]O:V9.mW\0˗s>*l'kophxvL`w1 !M4\"I\$\"o\$>˙Bea\"DBoʶ+ B0Pxp&7|p{|}7ְ\$-P@beVYmoMo\0Nzn*>΄)-Hl!hpg &tZ㜤\0!8 ɩZK@DZGF秩. lz%(x}'<Ū(<XZǬњ ɮgwzz{e'{;@噱(&R^Eݛx宛Y\"MܒV\n5zlzr[x˪G\$OW@Zx,be 	fdƻ2EËIDYT%k{J\\\rU N '_ɽf|w޵,l7kt1RD>ЋXZЊ|y|Z{|բ\r%;#\0eZ,\rKt\r>>\$>??c?+@ @ʰcqfc+3Ș؀&x]N*|b2<lnT\$AZ0.&˷`{p,@&|ϖ..oo@1=\$9{dB;ה#:\$@wң=C? (?Ӄ G1|\"]\05\0Ej\r@@*2KL#d*CA3,K` Cϭ]\rL9۝=<](jC) ,Bf\r -Rd5\$\0^\n4\0ڢSY܆k4@B\0W?x(u}ڠK~P\r/E\"#>R_\$< \rl[*`\n~b]jB\rqˣQ꾼+(W|+ep9j}R<w@db̴Qդ̀/(稦mI_}U<ոЗBy_f&F͌F.} zhyFcrU۫Fq:\n\n%`D@{s/wh]Bz\"J#fTC_dZؠ֣m2nnCKG\\9(Bo S#|d)Eހ|,bg1N1uP91\0T\0<p>iJ6p\r-S0tHJ`7Dcp)\nߢ\\%aQ Cf6\ne\n>@%h%I	`\0uAXK	`8+I\\(\rń\0lH#]*y\$,H?EFC7`țE@rGpLB3H,0+s\r\0\0!9Hua4 0aJ(\0DqgaJ!m~Aa&à/ *p\"IBD\r!9!vL:Ċ!\$AKe\0lb	i6%YzKrlRK\"AF{ 6XH&:h~9_2Ws>\$Ћ pC@vz0և8\\vp:s_\\:Y\rB\$|iGR#	YR9\0D28?+}YᩇJ#CiVCT6Q9piteLp\$4\$D#@@<APܑ\0f!а)B2YZ\0.S(. 4b1H`سY)RĂ`1gH:B]O#8K\njD%C*I\$AiN,0	 K(\0T`\n2OB74QCH	4@ )\$\0	Jq+Ke&.J'p=pQ[xXb <E'D#`360@@ڦ `|R쀾5. ?#?lS\"!jEq\0 Q\rT#<?1(HBFL[|@LE܆&Q:yĎFh4qU\"!C1FJ8#@f:dё8#2C82.\$Cb|\$0rI\0,00Ke!Ni@d|5h`	TU2Nji0Udk*&jF8*EzcάΗsÂ57\n\rU,2` @@X*p:-,\rRZL,ʃ|l^O0	BCRnV T]Mr#y\\\"y\$/ r*h%1Kρ|R`bB8r1n\0		\rU8ltB(\0003:%-|\0eTH\"Hq4(N\\jcTH\n\0m3?1S:>|gRc\rF8Q&@5r\0XV5\\fh@v,/\0\n&/!dqKRm;aD2d\0002b\$	L/1,E4@<}aی\$1*`>0 :d 	-	Ä\rDYl(6[6ksf' 8ITJDUD:A2hd\0a\0)2:B3:Z1=@-qN\\!\$kfNw	`n\$LCR5pcE3Ca\0=Hjڒg-ژEe.\0!o,'wI`\\s6RE}e0F\\m|F>q ?jД6ip	+N9qup2eɑm.+L~\$\"Rs]iqCИ<T(iیQbt\"NBmư@rxMMq#Oj /	 LDK.t0tIeBj160~s74bQQ!2ԖǼDH2PdmM DֈFfȹ\rDj\$L[\0`<@mV~9 v4=!2ْ6'*D#\0{'2lLRJўXë,E(C\\G;/R\$d\$QJ`τ!ҮK\n|9Tdx@h!'E-v}b;|cfLYAROڇ|3EgzQf@l/ioEŗgo^q\nAaΔg˰!@R41lE!pH0jbqAa@xTݙ\0\rF45HZm=xFC̙v?CL2}hfX\$`Ib\0ĭ7GDũβfP9U`\"\rIjԍʶT\rUz*T!CI`X2 Qk#ԅ\nee+[l~:~hn	h'͙ΧUVNWLՋQ=)nI҄^YpUOAXZUS\\@Cr\"̈́;^E-x\r\\Pv!I:Z	\\_2CPtWY̰ _]a+=s]uC-h* Һ	{+ZD\$c\$-vBP.s¤2Rj[Z/QQ:1Y+ھھ!Sb9Zyb,t0f=@\r-\nB-ɟ0&2_9hM,ב2HoTlbd \0[\"%A־4;2͒d.˗HZb545H\\ʓTARBʄ֤-lJsύ6\" Ȃk=<>jZgx`6t.b,ͩkY\\`'Sljհ!ln\0Wg+:+c6~KFʖĩ-h9-H@SDG;Π_	\n)fnQ-*C֩{MSnZED\0)Pg]6b%%Hj&%-* 9}j43@*(m\$QDۆҹ(m¼ukjO\" ,1Vv%s1kP`	/@0>F>#X8%lⴹKS|Yw0u̧bÉX4p\0\n%\0ZQ2WWEkoɇjy	.Z\0	PptHR>,%)k`|,prZhZ,P|CFLxn .PReVoB;xDk)M?n`/5Ilqh\0צ5Ehq폴AˉUdkDOy;ƆëA.OrƄ!H^ҋD3Ig>ce~Zon_^+!h|*3ޢG[nڶjp7H/T+3lP{<2ʞЩ)\"ãލYˣA2:&\0ۃ~cK\nD4GNg.`RB1H.j{}n|/o`]f_6y`\r x^@\\R='ς_{X-\\)LEPl\\\0]hareӝ8NG^I:ܵJ%r~-܍	1g+gVoσzm>54)mm\$oEbܒ)mEѨK6!*\nӔq	0?wPKg1i~X`\0XY	Z *Dh1El\r\0:?\r>#2@3h2袰Æ&Oе.Ʉ(.L<rK#@A[,L54<!r,YIHd)+l\$U\\|'ݣT\0'\$;\0Qwֹ~⌴0qt^2yL.a{(!*\0i~?9ÄGl23v4?f[rԆ;AYn) &P2D@ ]wK2x .p[4u6(} J3\0x\\T\\)!>bVEьs:88{>χAoHrySdvmr׃f>jO\nÀ5ֳ͂A002>nf16q3]+arFx6	S-3e+x̤/jhD\r-\nјG7z2i.A9f`YTx9\"^\\nݣs9{0s83\$:#3Y6{0\nJ\$#D\\ļ@Ў3u0\"*.rs؛5G_ȎDdHKm]\\4\0;d}[S2ܜ}ޞKd& trf	*j+Px܍\r7M8A[#m\n\n𧀯9+ZH|H[_ź|j5H|U1^u]P L`Xgh _rsmZ:l]ihsK>ec9p7jCLRp``");}else{header("Content-Type: image/gif");switch($_GET["file"]){case"plus.gif":echo"GIF87a\0\0\0\0\0\0\0\0\0\0,\0\0\0\0\0\0\0!M*)o) qe#L\0;";break;case"cross.gif":echo"GIF87a\0\0\0\0\0\0\0\0\0\0,\0\0\0\0\0\0\0##\naFo~y._wa1JGL6]\0\0;";break;case"up.gif":echo"GIF87a\0\0\0\0\0\0\0\0\0\0,\0\0\0\0\0\0\0 MQN\n}a8yaŶ\0\0;";break;case"down.gif":echo"GIF87a\0\0\0\0\0\0\0\0\0\0,\0\0\0\0\0\0\0 M*)[W\\L&ٜƶ\0\0;";break;case"arrow.gif":echo"GIF89a\0\n\0\0\0!\0\0\0,\0\0\0\0\0\n\0\0iӲ޻\0\0;";break;}}exit;}function
connection(){global$h;return$h;}function
adminer(){global$c;return$c;}function
idf_unescape($Ic){$cd=substr($Ic,-1);return
str_replace($cd.$cd,$cd,substr($Ic,1,-1));}function
escape_string($X){return
substr(q($X),1,-1);}function
remove_slashes($De,$lc=false){if(get_magic_quotes_gpc()){while(list($z,$X)=each($De)){foreach($X
as$Vc=>$W){unset($De[$z][$Vc]);if(is_array($W)){$De[$z][stripslashes($Vc)]=$W;$De[]=&$De[$z][stripslashes($Vc)];}else$De[$z][stripslashes($Vc)]=($lc?$W:stripslashes($W));}}}}function
bracket_escape($Ic,$ya=false){static$Yf=array(':'=>':1',']'=>':2','['=>':3');return
strtr($Ic,($ya?array_flip($Yf):$Yf));}function
h($tf){return
htmlspecialchars(str_replace("\0","",$tf),ENT_QUOTES);}function
nbsp($tf){return(trim($tf)!=""?h($tf):"&nbsp;");}function
nl_br($tf){return
str_replace("\n","<br>",$tf);}function
checkbox($F,$Y,$Ka,$Zc="",$Sd="",$Na=""){$L="<input type='checkbox' name='$F' value='".h($Y)."'".($Ka?" checked":"").($Sd?' onclick="'.h($Sd).'"':'').">";return($Zc!=""||$Na?"<label".($Na?" class='$Na'":"").">$L".h($Zc)."</label>":$L);}function
optionlist($Vd,$ff=null,$rg=false){$L="";foreach($Vd
as$Vc=>$W){$Wd=array($Vc=>$W);if(is_array($W)){$L.='<optgroup label="'.h($Vc).'">';$Wd=$W;}foreach($Wd
as$z=>$X)$L.='<option'.($rg||is_string($z)?' value="'.h($z).'"':'').(($rg||is_string($z)?(string)$z:$X)===$ff?' selected':'').'>'.h($X);if(is_array($W))$L.='</optgroup>';}return$L;}function
html_select($F,$Vd,$Y="",$Rd=true){if($Rd)return"<select name='".h($F)."'".(is_string($Rd)?' onchange="'.h($Rd).'"':"").">".optionlist($Vd,$Y)."</select>";$L="";foreach($Vd
as$z=>$X)$L.="<label><input type='radio' name='".h($F)."' value='".h($z)."'".($z==$Y?" checked":"").">".h($X)."</label>";return$L;}function
confirm($fb=""){return" onclick=\"return confirm('".lang(0).($fb?" (' + $fb + ')":"")."');\"";}function
print_fieldset($u,$hd,$xg=false,$Sd=""){echo"<fieldset><legend><a href='#fieldset-$u' onclick=\"".h($Sd)."return !toggle('fieldset-$u');\">$hd</a></legend><div id='fieldset-$u'".($xg?"":" class='hidden'").">\n";}function
bold($Ea){return($Ea?" class='active'":"");}function
odd($L=' class="odd"'){static$t=0;if(!$L)$t=-1;return($t++%2?$L:'');}function
js_escape($tf){return
addcslashes($tf,"\r\n'\\/");}function
json_row($z,$X=null){static$mc=true;if($mc)echo"{";if($z!=""){echo($mc?"":",")."\n\t\"".addcslashes($z,"\r\n\"\\").'": '.($X!==null?'"'.addcslashes($X,"\r\n\"\\").'"':'undefined');$mc=false;}else{echo"\n}\n";$mc=true;}}function
ini_bool($Mc){$X=ini_get($Mc);return(eregi('^(on|true|yes)$',$X)||(int)$X);}function
sid(){static$L;if($L===null)$L=(SID&&!($_COOKIE&&ini_bool("session.use_cookies")));return$L;}function
q($tf){global$h;return$h->quote($tf);}function
get_vals($J,$e=0){global$h;$L=array();$K=$h->query($J);if(is_object($K)){while($M=$K->fetch_row())$L[]=$M[$e];}return$L;}function
get_key_vals($J,$i=null){global$h;if(!is_object($i))$i=$h;$L=array();$K=$i->query($J);if(is_object($K)){while($M=$K->fetch_row())$L[$M[0]]=$M[1];}return$L;}function
get_rows($J,$i=null,$m="<p class='error'>"){global$h;$ab=(is_object($i)?$i:$h);$L=array();$K=$ab->query($J);if(is_object($K)){while($M=$K->fetch_assoc())$L[]=$M;}elseif(!$K&&!is_object($i)&&$m&&defined("PAGE_HEADER"))echo$m.error()."\n";return$L;}function
unique_array($M,$w){foreach($w
as$v){if(ereg("PRIMARY|UNIQUE",$v["type"])){$L=array();foreach($v["columns"]as$z){if(!isset($M[$z]))continue
2;$L[$z]=$M[$z];}return$L;}}}function
where($Z,$o=array()){global$y;$L=array();$wc='(^[\w\(]+'.str_replace("_",".*",preg_quote(idf_escape("_"))).'\)+$)';foreach((array)$Z["where"]as$z=>$X){$z=bracket_escape($z,1);$e=(preg_match($wc,$z)?$z:idf_escape($z));$L[]=$e.(($y=="sql"&&ereg('^[0-9]*\\.[0-9]*$',$X))||$y=="mssql"?" LIKE ".q(addcslashes($X,"%_\\")):" = ".unconvert_field($o[$z],q($X)));if($y=="sql"&&ereg("[^ -@]",$X))$L[]="$e = ".q($X)." COLLATE utf8_bin";}foreach((array)$Z["null"]as$z)$L[]=(preg_match($wc,$z)?$z:idf_escape($z))." IS NULL";return
implode(" AND ",$L);}function
where_check($X,$o=array()){parse_str($X,$Ja);remove_slashes(array(&$Ja));return
where($Ja,$o);}function
where_link($t,$e,$Y,$Td="="){return"&where%5B$t%5D%5Bcol%5D=".urlencode($e)."&where%5B$t%5D%5Bop%5D=".urlencode(($Y!==null?$Td:"IS NULL"))."&where%5B$t%5D%5Bval%5D=".urlencode($Y);}function
convert_fields($f,$o,$O=array()){$L="";foreach($f
as$z=>$X){if($O&&!in_array(idf_escape($z),$O))continue;$ta=convert_field($o[$z]);if($ta)$L.=", $ta AS ".idf_escape($z);}return$L;}function
cookie($F,$Y){global$ba;$ie=array($F,(ereg("\n",$Y)?"":$Y),time()+2592000,preg_replace('~\\?.*~','',$_SERVER["REQUEST_URI"]),"",$ba);if(version_compare(PHP_VERSION,'5.2.0')>=0)$ie[]=true;return
call_user_func_array('setcookie',$ie);}function
restart_session(){if(!ini_bool("session.use_cookies"))session_start();}function
stop_session(){if(!ini_bool("session.use_cookies"))session_write_close();}function&get_session($z){return$_SESSION[$z][DRIVER][SERVER][$_GET["username"]];}function
set_session($z,$X){$_SESSION[$z][DRIVER][SERVER][$_GET["username"]]=$X;}function
auth_url($_b,$P,$V,$l=null){global$Ab;preg_match('~([^?]*)\\??(.*)~',remove_from_uri(implode("|",array_keys($Ab))."|username|".($l!==null?"db|":"").session_name()),$C);return"$C[1]?".(sid()?SID."&":"").($_b!="server"||$P!=""?urlencode($_b)."=".urlencode($P)."&":"")."username=".urlencode($V).($l!=""?"&db=".urlencode($l):"").($C[2]?"&$C[2]":"");}function
is_ajax(){return($_SERVER["HTTP_X_REQUESTED_WITH"]=="XMLHttpRequest");}function
redirect($B,$D=null){if($D!==null){restart_session();$_SESSION["messages"][preg_replace('~^[^?]*~','',($B!==null?$B:$_SERVER["REQUEST_URI"]))][]=$D;}if($B!==null){if($B=="")$B=".";header("Location: $B");exit;}}function
query_redirect($J,$B,$D,$Je=true,$Zb=true,$fc=false){global$h,$m,$c;$Of="";if($Zb){$pf=microtime();$fc=!$h->query($J);$Of="; -- ".format_time($pf,microtime());}$of="";if($J)$of=$c->messageQuery($J.$Of);if($fc){$m=error().$of;return
false;}if($Je)redirect($B,$D.$of);return
true;}function
queries($J=null){global$h;static$Ge=array();if($J===null)return
implode("\n",$Ge);$pf=microtime();$L=$h->query($J);$Ge[]=(ereg(';$',$J)?"DELIMITER ;;\n$J;\nDELIMITER ":$J)."; -- ".format_time($pf,microtime());return$L;}function
apply_queries($J,$Ff,$Ub='table'){foreach($Ff
as$R){if(!queries("$J ".$Ub($R)))return
false;}return
true;}function
queries_redirect($B,$D,$Je){return
query_redirect(queries(),$B,$D,$Je,false,!$Je);}function
format_time($pf,$Ob){return
lang(1,max(0,array_sum(explode(" ",$Ob))-array_sum(explode(" ",$pf))));}function
remove_from_uri($he=""){return
substr(preg_replace("~(?<=[?&])($he".(SID?"":"|".session_name()).")=[^&]*&~",'',"$_SERVER[REQUEST_URI]&"),0,-1);}function
pagination($H,$jb){return" ".($H==$jb?$H+1:'<a href="'.h(remove_from_uri("page").($H?"&page=$H":"")).'">'.($H+1)."</a>");}function
get_file($z,$qb=false){$jc=$_FILES[$z];if(!$jc)return
null;foreach($jc
as$z=>$X)$jc[$z]=(array)$X;$L='';foreach($jc["error"]as$z=>$m){if($m)return$m;$F=$jc["name"][$z];$Vf=$jc["tmp_name"][$z];$bb=file_get_contents($qb&&ereg('\\.gz$',$F)?"compress.zlib://$Vf":$Vf);if($qb){$pf=substr($bb,0,3);if(function_exists("iconv")&&ereg("^\xFE\xFF|^\xFF\xFE",$pf,$Qe))$bb=iconv("utf-16","utf-8",$bb);elseif($pf=="\xEF\xBB\xBF")$bb=substr($bb,3);}$L.=$bb."\n\n";}return$L;}function
upload_error($m){$td=($m==UPLOAD_ERR_INI_SIZE?ini_get("upload_max_filesize"):0);return($m?lang(2).($td?" ".lang(3,$td):""):lang(4));}function
repeat_pattern($qe,$id){return
str_repeat("$qe{0,65535}",$id/65535)."$qe{0,".($id%65535)."}";}function
is_utf8($X){return(preg_match('~~u',$X)&&!preg_match('~[\\0-\\x8\\xB\\xC\\xE-\\x1F]~',$X));}function
shorten_utf8($tf,$id=80,$xf=""){if(!preg_match("(^(".repeat_pattern("[\t\r\n -\x{FFFF}]",$id).")($)?)u",$tf,$C))preg_match("(^(".repeat_pattern("[\t\r\n -~]",$id).")($)?)",$tf,$C);return
h($C[1]).$xf.(isset($C[2])?"":"<i>...</i>");}function
friendly_url($X){return
preg_replace('~[^a-z0-9_]~i','-',$X);}function
hidden_fields($De,$Jc=array()){while(list($z,$X)=each($De)){if(is_array($X)){foreach($X
as$Vc=>$W)$De[$z."[$Vc]"]=$W;}elseif(!in_array($z,$Jc))echo'<input type="hidden" name="'.h($z).'" value="'.h($X).'">';}}function
hidden_fields_get(){echo(sid()?'<input type="hidden" name="'.session_name().'" value="'.h(session_id()).'">':''),(SERVER!==null?'<input type="hidden" name="'.DRIVER.'" value="'.h(SERVER).'">':""),'<input type="hidden" name="username" value="'.h($_GET["username"]).'">';}function
table_status1($R,$gc=false){$L=table_status($R,$gc);return($L?$L:array("Name"=>$R));}function
column_foreign_keys($R){global$c;$L=array();foreach($c->foreignKeys($R)as$p){foreach($p["source"]as$X)$L[$X][]=$p;}return$L;}function
enum_input($U,$va,$n,$Y,$Nb=null){global$c;preg_match_all("~'((?:[^']|'')*)'~",$n["length"],$od);$L=($Nb!==null?"<label><input type='$U'$va value='$Nb'".((is_array($Y)?in_array($Nb,$Y):$Y===0)?" checked":"")."><i>".lang(5)."</i></label>":"");foreach($od[1]as$t=>$X){$X=stripcslashes(str_replace("''","'",$X));$Ka=(is_int($Y)?$Y==$t+1:(is_array($Y)?in_array($t+1,$Y):$Y===$X));$L.=" <label><input type='$U'$va value='".($t+1)."'".($Ka?' checked':'').'>'.h($c->editVal($X,$n)).'</label>';}return$L;}function
input($n,$Y,$r){global$h,$gg,$c,$y;$F=h(bracket_escape($n["field"]));echo"<td class='function'>";$Se=($y=="mssql"&&$n["auto_increment"]);if($Se&&!$_POST["save"])$r=null;$xc=(isset($_GET["select"])||$Se?array("orig"=>lang(6)):array())+$c->editFunctions($n);$va=" name='fields[$F]'";if($n["type"]=="enum")echo
nbsp($xc[""])."<td>".$c->editInput($_GET["edit"],$n,$va,$Y);else{$mc=0;foreach($xc
as$z=>$X){if($z===""||!$X)break;$mc++;}$Rd=($mc?" onchange=\"var f = this.form['function[".h(js_escape(bracket_escape($n["field"])))."]']; if ($mc > f.selectedIndex) f.selectedIndex = $mc;\"":"");$va.=$Rd;echo(count($xc)>1?html_select("function[$F]",$xc,$r===null||in_array($r,$xc)||isset($xc[$r])?$r:"","functionChange(this);"):nbsp(reset($xc))).'<td>';$Oc=$c->editInput($_GET["edit"],$n,$va,$Y);if($Oc!="")echo$Oc;elseif($n["type"]=="set"){preg_match_all("~'((?:[^']|'')*)'~",$n["length"],$od);foreach($od[1]as$t=>$X){$X=stripcslashes(str_replace("''","'",$X));$Ka=(is_int($Y)?($Y>>$t)&1:in_array($X,explode(",",$Y),true));echo" <label><input type='checkbox' name='fields[$F][$t]' value='".(1<<$t)."'".($Ka?' checked':'')."$Rd>".h($c->editVal($X,$n)).'</label>';}}elseif(ereg('blob|bytea|raw|file',$n["type"])&&ini_bool("file_uploads"))echo"<input type='file' name='fields-$F'$Rd>";elseif(($Mf=ereg('text|lob',$n["type"]))||ereg("\n",$Y)){if($Mf&&$y!="sqlite")$va.=" cols='50' rows='12'";else{$N=min(12,substr_count($Y,"\n")+1);$va.=" cols='30' rows='$N'".($N==1?" style='height: 1.2em;'":"");}echo"<textarea$va>".h($Y).'</textarea>';}else{$vd=(!ereg('int',$n["type"])&&preg_match('~^(\\d+)(,(\\d+))?$~',$n["length"],$C)?((ereg("binary",$n["type"])?2:1)*$C[1]+($C[3]?1:0)+($C[2]&&!$n["unsigned"]?1:0)):($gg[$n["type"]]?$gg[$n["type"]]+($n["unsigned"]?0:1):0));if($y=='sql'&&$h->server_info>=5.6&&ereg('time',$n["type"]))$vd+=7;echo"<input".(ereg('int',$n["type"])?" type='number'":"")." value='".h($Y)."'".($vd?" maxlength='$vd'":"").(ereg('char|binary',$n["type"])&&$vd>20?" size='40'":"")."$va>";}}}function
process_input($n){global$c;$Ic=bracket_escape($n["field"]);$r=$_POST["function"][$Ic];$Y=$_POST["fields"][$Ic];if($n["type"]=="enum"){if($Y==-1)return
false;if($Y=="")return"NULL";return+$Y;}if($n["auto_increment"]&&$Y=="")return
null;if($r=="orig")return($n["on_update"]=="CURRENT_TIMESTAMP"?idf_escape($n["field"]):false);if($r=="NULL")return"NULL";if($n["type"]=="set")return
array_sum((array)$Y);if(ereg('blob|bytea|raw|file',$n["type"])&&ini_bool("file_uploads")){$jc=get_file("fields-$Ic");if(!is_string($jc))return
false;return
q($jc);}return$c->processInput($n,$Y,$r);}function
search_tables(){global$c,$h;$_GET["where"][0]["op"]="LIKE %%";$_GET["where"][0]["val"]=$_POST["query"];$rc=false;foreach(table_status('',true)as$R=>$S){$F=$c->tableName($S);if(isset($S["Engine"])&&$F!=""&&(!$_POST["tables"]||in_array($R,$_POST["tables"]))){$K=$h->query("SELECT".limit("1 FROM ".table($R)," WHERE ".implode(" AND ",$c->selectSearchProcess(fields($R),array())),1));if(!$K||$K->fetch_row()){if(!$rc){echo"<ul>\n";$rc=true;}echo"<li>".($K?"<a href='".h(ME."select=".urlencode($R)."&where[0][op]=".urlencode($_GET["where"][0]["op"])."&where[0][val]=".urlencode($_GET["where"][0]["val"]))."'>$F</a>\n":"$F: <span class='error'>".error()."</span>\n");}}}echo($rc?"</ul>":"<p class='message'>".lang(7))."\n";}function
dump_headers($Hc,$Bd=false){global$c;$L=$c->dumpHeaders($Hc,$Bd);$fe=$_POST["output"];if($fe!="text")header("Content-Disposition: attachment; filename=".$c->dumpFilename($Hc).".$L".($fe!="file"&&!ereg('[^0-9a-z]',$fe)?".$fe":""));session_write_close();ob_flush();flush();return$L;}function
dump_csv($M){foreach($M
as$z=>$X){if(preg_match("~[\"\n,;\t]~",$X)||$X==="")$M[$z]='"'.str_replace('"','""',$X).'"';}echo
implode(($_POST["format"]=="csv"?",":($_POST["format"]=="tsv"?"\t":";")),$M)."\r\n";}function
apply_sql_function($r,$e){return($r?($r=="unixepoch"?"DATETIME($e, '$r')":($r=="count distinct"?"COUNT(DISTINCT ":strtoupper("$r("))."$e)"):$e);}function
password_file($j){$xb=ini_get("upload_tmp_dir");if(!$xb){if(function_exists('sys_get_temp_dir'))$xb=sys_get_temp_dir();else{$kc=@tempnam("","");if(!$kc)return
false;$xb=dirname($kc);unlink($kc);}}$kc="$xb/adminer.key";$L=@file_get_contents($kc);if($L||!$j)return$L;$tc=@fopen($kc,"w");if($tc){$L=md5(uniqid(mt_rand(),true));fwrite($tc,$L);fclose($tc);}return$L;}function
is_mail($Kb){$ua='[-a-z0-9!#$%&\'*+/=?^_`{|}~]';$zb='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';$qe="$ua+(\\.$ua+)*@($zb?\\.)+$zb";return
preg_match("(^$qe(,\\s*$qe)*\$)i",$Kb);}function
is_url($tf){$zb='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';return(preg_match("~^(https?)://($zb?\\.)+$zb(:\\d+)?(/.*)?(\\?.*)?(#.*)?\$~i",$tf,$C)?strtolower($C[1]):"");}function
is_shortable($n){return
ereg('char|text|lob|geometry|point|linestring|polygon',$n["type"]);}function
slow_query($J){global$c,$T;$l=$c->database();if(support("kill")&&is_object($i=connect())&&($l==""||$i->select_db($l))){$Xc=$i->result("SELECT CONNECTION_ID()");echo'<script type="text/javascript">
var timeout = setTimeout(function () {
	ajax(\'',js_escape(ME),'script=kill\', function () {
	}, \'token=',$T,'&kill=',$Xc,'\');
}, ',1000*$c->queryTimeout(),');
</script>
';}else$i=null;ob_flush();flush();$L=@get_key_vals($J,$i);if($i){echo"<script type='text/javascript'>clearTimeout(timeout);</script>\n";ob_flush();flush();}return
array_keys($L);}function
lzw_decompress($Ba){$wb=256;$Ca=8;$Pa=array();$Te=0;$Ue=0;for($t=0;$t<strlen($Ba);$t++){$Te=($Te<<8)+ord($Ba[$t]);$Ue+=8;if($Ue>=$Ca){$Ue-=$Ca;$Pa[]=$Te>>$Ue;$Te&=(1<<$Ue)-1;$wb++;if($wb>>$Ca)$Ca++;}}$vb=range("\0","\xFF");$L="";foreach($Pa
as$t=>$Oa){$Jb=$vb[$Oa];if(!isset($Jb))$Jb=$Ag.$Ag[0];$L.=$Jb;if($t)$vb[]=$Ag.$Jb[0];$Ag=$Jb;}return$L;}global$c,$h,$Ab,$Hb,$Rb,$m,$xc,$Ac,$ba,$Nc,$y,$a,$bd,$Qd,$re,$uf,$T,$ag,$gg,$ng,$fa;if(!$_SERVER["REQUEST_URI"])$_SERVER["REQUEST_URI"]=$_SERVER["ORIG_PATH_INFO"];if(!strpos($_SERVER["REQUEST_URI"],'?')&&$_SERVER["QUERY_STRING"]!="")$_SERVER["REQUEST_URI"].="?$_SERVER[QUERY_STRING]";$ba=$_SERVER["HTTPS"]&&strcasecmp($_SERVER["HTTPS"],"off");@ini_set("session.use_trans_sid",false);if(!defined("SID")){session_name("adminer_sid");$ie=array(0,preg_replace('~\\?.*~','',$_SERVER["REQUEST_URI"]),"",$ba);if(version_compare(PHP_VERSION,'5.2.0')>=0)$ie[]=true;call_user_func_array('session_set_cookie_params',$ie);session_start();}remove_slashes(array(&$_GET,&$_POST,&$_COOKIE),$lc);if(function_exists("set_magic_quotes_runtime"))set_magic_quotes_runtime(false);@set_time_limit(0);@ini_set("zend.ze1_compatibility_mode",false);@ini_set("precision",20);$bd=array('en'=>'English','ar'=>'العربية','bn'=>'বাংলা','ca'=>'Català','cs'=>'Čeština','de'=>'Deutsch','es'=>'Español','et'=>'Eesti','fa'=>'فارسی','fr'=>'Français','hu'=>'Magyar','id'=>'Bahasa Indonesia','it'=>'Italiano','ja'=>'日本語','ko'=>'한국어','lt'=>'Lietuvių','nl'=>'Nederlands','pl'=>'Polski','pt'=>'Português','ro'=>'Limba Română','ru'=>'Русский язык','sk'=>'Slovenčina','sl'=>'Slovenski','sr'=>'Српски','ta'=>'த‌மிழ்','tr'=>'Türkçe','uk'=>'Українська','zh'=>'简体中文','zh-tw'=>'繁體中文',);function
get_lang(){global$a;return$a;}function
lang($Ic,$G=null){if(is_string($Ic)){$te=array_search($Ic,get_translations("en"));if($te!==false)$Ic=$te;}global$a,$ag;$Zf=($ag[$Ic]?$ag[$Ic]:$Ic);if(is_array($Zf)){$te=($G==1?0:($a=='cs'||$a=='sk'?($G&&$G<5?1:2):($a=='fr'?(!$G?0:1):($a=='pl'?($G%10>1&&$G%10<5&&$G/10%10!=1?1:2):($a=='sl'?($G%100==1?0:($G%100==2?1:($G%100==3||$G%100==4?2:3))):($a=='lt'?($G%10==1&&$G%100!=11?0:($G%10>1&&$G/10%10!=1?1:2)):($a=='ru'||$a=='sr'||$a=='uk'?($G%10==1&&$G%100!=11?0:($G%10>1&&$G%10<5&&$G/10%10!=1?1:2)):1)))))));$Zf=$Zf[$te];}$sa=func_get_args();array_shift($sa);$qc=str_replace("%d","%s",$Zf);if($qc!=$Zf)$sa[0]=number_format($G,0,".",lang(8));return
vsprintf($qc,$sa);}function
switch_lang(){global$a,$bd;echo"<form action='' method='post'>\n<div id='lang'>",lang(9).": ".html_select("lang",$bd,$a,"this.form.submit();")," <input type='submit' value='".lang(10)."' class='hidden'>\n","<input type='hidden' name='token' value='$_SESSION[token]'>\n";echo"</div>\n</form>\n";}if(isset($_POST["lang"])&&$_SESSION["token"]==$_POST["token"]){cookie("adminer_lang",$_POST["lang"]);$_SESSION["lang"]=$_POST["lang"];$_SESSION["translations"]=array();redirect(remove_from_uri());}$a="en";if(isset($bd[$_COOKIE["adminer_lang"]])){cookie("adminer_lang",$_COOKIE["adminer_lang"]);$a=$_COOKIE["adminer_lang"];}elseif(isset($bd[$_SESSION["lang"]]))$a=$_SESSION["lang"];else{$ja=array();preg_match_all('~([-a-z]+)(;q=([0-9.]+))?~',str_replace("_","-",strtolower($_SERVER["HTTP_ACCEPT_LANGUAGE"])),$od,PREG_SET_ORDER);foreach($od
as$C)$ja[$C[1]]=(isset($C[3])?$C[3]:1);arsort($ja);foreach($ja
as$z=>$I){if(isset($bd[$z])){$a=$z;break;}$z=preg_replace('~-.*~','',$z);if(!isset($ja[$z])&&isset($bd[$z])){$a=$z;break;}}}$ag=&$_SESSION["translations"];if($_SESSION["translations_version"]!=-119515802){$ag=array();$_SESSION["translations_version"]=-119515802;}function
get_translations($ad){switch($ad){case"en":$g="A9Dy@s:G(ff	:Sa2\"1..L'Im#s,KOP#I@%9i4o2ύ,9%SiyF9(lGH\\(qa3bG;:^b2`!HNۑL[ɓӥ^0s)e\ngPS7;S.\n(Ng3h|EuW\"an^M)̱s4ɱϚ\rx>ń܈&@v4NடTAd]{BM\n\"3d\$&#%i<.!#s4r :3#p2#-4/,*H޾jԖ\"߷8	0\nCƶ3∘lv75xށC;8g\$Ѵ0݁BF0rR⽉*6% 2\0&Ko9BH;#`Ґb#;xޅA ;H&¯%\r8|>ՌъP5puJ8@*!\"U#\\J2;:KAC4\\ya-S85Mc\\\rJЀD4xy\0گ/!r3</4Q与P-XDM6;.x'/4o\"!Q,W_E\rW俤\"(eMYBH\nED\$ѢP%r`7.^biH썃\"|kJf@R%ލJ@(	☩&645>f1G*JPl&XT%-:)3֮;	*g5fH92;C|Eσf/\r:7gYXkwRk'c}NQJ+2#LhX38ѷyŨ|5_/㻌	czdT{e4h2H4^p \n@\"@T\"ҫ%<#RXK(*ZJ+%Y sF3*TPQMvAA;RdsplX.AX인xaHlk=@))Pᡑa	@\"m t`*^S;@n\n(7иSXO=8_PRN+ངSDo۹K:FC 8\$|>-=gOĹ9d3eL/39p&4ȗ,3p<30e%&Z91	ZKcT!,W,Gr5Q4&!3^eəh6MIbVFu'eTu9^(\$´VbPXIw[WH8%S| yIj=>z%U@S ,\n*gR.Zz\nw}%0M^:Ȳ骡y)TE\0{9848l	u Wbj5	,NXrPdLϳsm-UFkX38mO`x(\"M<v~Pa-lw5[8ņ2UkbݵQ6:<lnYrtP6_u,7&jeɽ3,ДG|Y|!?p&f_7]	Â hg.[e'NS\n׋HJ\n=o)L[y!߆b6nlb1<+at!՛8)05ce*tTq[mF\\9V+c.x8zGv\\e2P?/|\$'u%\\qsА3ӄ6L,{EWKX^\$fN^.D8I\n.7X!	T+EfzM0B`yWH𳽈//GζZHhi|i6ΞZ;DSufP\rR5;w;wHLxk\$]]Nmm(<Zbx)!Ydd\0娹zoߞ2ym'ز_yJ\r1#da	埤+uBF\\#B^䵛T)/iYQ\rR&+t?*Sd\0/{κY&W'àVb}A. +cjH\ngMYǐ O\$Ǔ9mm&=1d*{`ݢ}'x)rwB\n\\9ponRgP 		ې\"]tDJ/nJy'p֓Ԇ9[\n-b\"<fޟ\nCKZ=We9ܳ\$2vIyt7e>\r KjB";break;case"ar":$g="CPl*\r,&\nA(J.0T2]6QMO!b#e\\ɥ\$\\\nl+[\ndk4O&ղQ)̅7lIE\$ʑm_7TdQ%FPEdJ]MŖiEtT'템9sBNs%c5ut.w4ETgg99M*-<\0ƭqwB%~k\rªgC%v\\ݕ0EE^OgaY*Bsx^}X.b|>T.Op:-΂?E@07Zpá*|ʹaE)ݮHB,%Ir@)V)dE+(CAoZl۰lKRpCFn0,:`@:#2c7'S᭩9\n\nb!l% l{!*NSv[SKVZ,E\nTmJZ^:Oջ,JHqeBR,tB4^rݲjXQLOo]YCS8rE?%NC6B)\07c(܂7luS	\rM>IA1p*	>,*UK0q|kR ,<7\nxHJQMfl5[]Wd5l</; VP0c9h9x4C(r@4h0z\r8Ax^;p2\rHݛ \rØ7xE/#2x1LXD	#h1|a:\r|J:\rPnHla#d].2FOo>@䡨!JBH`	BWNT@xz(B]V+Dɥ=sؼ^'bo_ޚeF?bBzo~)5,\0SH\"Z \n (pè L|:JA30iL`;P!Ϝ76ó`9N R*NAz1u}R\0EEZ !H+±Wuc+㔲K:*.<PW<'(<(aM)@ԩ;	wUNE5\r#wrd	{%{\$h\$bPwBQ([Z.fbv:\$b?\$\0\0U\n @1@D0\"ag0hǪ\0Kt.!¶zSg*9#y%Zͫ;%2_0s5ȁ)-/ږ8Y5-:!\"}EϣFp	,h)Jg)\raH@\$dUbfWiD\$) /DA&TO	P54ҶQjuFڠb&,JbF_	mW25;9F̜)bRiݛrlR0QYY\n4	1\nlN``Q`,Jl7\0\"T9^\"XkO\$Vypx/k&ŗf0KgxD\0\$#V!5^vl5wVL	5Tc-{.kM!Ueo>^b*s]#(܎1A⫦(3HLʢ2FRO98ǒEZ6 J~\r(@\$TDx(X9Ȥ@T!0@pA6\\ 0dNHL)\n5/X*)'-e˻`Q4:a|;npg}l2Ғ74\rÜ	yQ皁'ǒSGV2Z_؟jD#',7s;SM1f\rTY(')dRԳ1lEGEW(.Gr#(H+1^)菰5ƥ`\"\ryy{rlذBfkvXR3Bh?\$(~T'	a-0XC!QuH<#0I-IG\r<\nZ}x|T̀^sbǧӤzuDfE,\"*sg\n2,sr?`9Z1鷷x/{gA\nd|K9\$.jJã+Tˎ!*I>CE@9zO)t^OJ3&#ٟS&0NJp~m22ѯH?w\$ȜY\rDHZF[W%3|Ezo)޽[e^BϼXƚi{ގ{OQ?j;&سE] ]N&~ϳ?4Q&h\$L!!А8P\06Š9jH`c6Q݇AZ+j:,Ekc~+G\nB&f1DM:c`)mZ@`\r`؄(X  qr&D\rf@Dkɒ\npp\r*>yM\$bSm %CTEbo<B@%2L0OޡeF&!9-Dv(^'M00 kQZh@Ʉ.\"\$\$O_\0*00Z2aQ@`q,x[М\0F)TeNZ֤rΛ\rKpO,d!T*n,F&B.R0Al~Y4 'Aj갨lEF&܈Ҍ+-p(>DcV\r ҮXzH3&4	\0@	t\n`";break;case"bn":$g="S)\nt]\0_ 	XD)L@4l5BQp 9\n\0,hSE0ba%. H\0.b2nDe*DM,OJÐvх\$:IKg5U4L	Nd!u>&a\\@'JxS4zZزSHMS]OE2\\J1|Ц[iL_?P\n}E\0mv|wKC2\n֦Ci\\}ce̼[W=9D:=2uJSȘK^%bIm*yBAKh{ SJ궥*S+6͠;Ij/>ΪK\03גmj0D;j5FqsH%OIĔRFm0c#0w2a5d\"CD<mJ*23~S210MCs\r\nJ/\$;)^Q\n,λ\\8@TE3*OM996Чسd#`6\00P(mp̮-ZSBC֋`T Bo:-C4dQ0t8V\n/qE&4-za12J%BS5ңDǵ4k\$S{8sf0_ 	aLgS\r0\rE)~;x/ѬdgEHC`9)e*\0)B6y\"\n2^KiBͭCk0KD@fR+Ƭ,=KW.^ᗚ-.b'wN<ҫeJI;!Z[(o8YLMGC\\*\\LM7spD`0c99x=4C(\rhC@:^ü2.|PC\r4aA2G\r`\0ms:ޞoa5\rU֜X戥;x:3D(ZeDM0\0Z #KTV6.BqWZee{Г3j=i\nLQrx)WU<tNE驆JrP&edYBYP0(P	L*FJdK2iG)0-dsO,#1(b(bè \\aXP  ~a4p@` p\0_F\n]r'	4@9Hv)	ixmtװޕ1!SWZZIW	-^dO!7ZriNR(W l}8ZnסsMWhKu2K\n!=6K:/QEXZƪ-S9D_UWEi.g(*4AUtJXy#eƈ[E'\n+\\Xh8W7FTAOW@LasU͇:.<JxHX[RY84F4̌Te_v@S\nzV#-miI-¨tV}Ѻ\0iI)JkhǦFՍqɡ[sޡQa?D4A\$LZvJڜcxJ:0k}LqvP\neJV9i!ty8!it%qMfbeAy޺aTdӚW)Ʃk2c搶}gv\\&U+]J¦ؘ|>STNԓrVY\"\\?/C]IE9@%ciSzW\rTnz4XQh7DWGw#[&:C<tZNe㧰!aڍE{4&Zƶ<r\\MiD)ul#ϻӊ޳rTC޺6zK93>myomuRW	bXk/PK\$>Lf(eJ]fA/tI~MLn[䍽-H60V[8(0Rlz~O*ђu)[M<]r}|xox<2en6昿jX5gSfܗ>(&Qq']aS\"\n4\nL[>fo3wQzsjyS~pB\0nA9 238@h\r>o.'8-)&9;FIwIh6߾CIs,|y\"wkGv\$K[~\\jDx݃jf޼glKW38OPm<*ηnj?ôړ.D.nau>e+Ǩb0zh,ŬƱ,.(l&8ةynO΢C&ک2\0PY+08@RiAdn+ޏh	()\0DoƸͰ`P/֭Pްb͐\r\"ާ^`GmS(@xۭ}pmV勃pӱ\".~-!s-D-䰭ЮKzȊvf)aqNq`,e\roPܐpHG#\nBqP@mڡг.Bs&D&xp&+<\\Wm.-mJxgI5IJdJ.>=zF4VBuѢepDEPfhF^\0=O\n.baQniq|\n|gHq\rZd,-ǡ!Q\n~уuҰjqOzv뱛,h:җztgsR/'.fBueN5bcLreT-+1\"1bDr\"nn%(F,Y[((Q'FU'K)]LS'W)0Rp\$sc/g*lZB;FF;S33-0.827e,2Ӓb9kxgg4lr6sP.ry,>7˩=0S0)?<::Lձ)A.T2Rk^CF?4\nk\r,XL&?ӉAy)?.S@Q@I7Wmsn694BTe破61Ӑ4J\"\0L?t],!HFlr#QLJKk*﬏vAAFLʦ\r7;OL\0 ZQj,(f\rV`\r \r`@Ԟ\r\\/F\rn\r  @\\ \0ć\nZ\0@SOtmuJkJFoFuLmPUWR/WW\"Յi\0)\0lqxOEKa,%NZr\\bcAs+;A2(ml4vC&4 4EHw`	af|źq4#kQtkO65Z<5f'ZCNZ7GD]Zƪ&6jIg\r>UK6@ʆO,V&\0Gc'86udM ˤ!҃*vO%Fdc,%Ne<(i<_By.2Qn?p|;p_G	eH07LDNBX*s\ns(MVuq\0f\"l5Ϋvlf{1'n4mR4/`	\0@	t\n`";break;case"ca":$g="E9je3NCP\\33ADis9LF(d5MC	@e6Ɠrd`gIhpL9Q*K5L S,W-\r<e4&&#o9Lq\n'W\rhc0C1D̆|U:Mц1`!H -|nɓ1u(lADs.tf/;Mh':κQ#9`8ʎm)\$i1f52YOA@9O?c)6/{1ϳܠ0h/xꓣ\"B+ @1#1Jɶ-P>#sJ 0/\0Rh8cb;\rH6\r'J4bl:&FZKcİ g%c\n6k',@)\"bȌSA+1:\rP?*2\$\$I8G0\nQܣ[0Pn;@3@&+B 3}DGM`ɍ*\r[>b#3p쁱c \\Yڏ\$(26JcW5ʞ<ՈV:BtT cN`9)<˲8\r.H/kE-{2R eP[8ED0c]CmD4xl&@ϣ.8^M60XD\"*ώ^0ʂ\nD:+:mѳ+2z8( }X>\0P-h:zb)va\$N@7z1P.*r\"x* \0ܚ	sv2\0wΟ|-!Avb7%hK{rb,[z?pKT<@ܦ0\"')AؗUd`[ǨAVPQў^|fMIU(4+	SD	TpJnqhuK* 1jn\$\n]Ѽ\"΀V^ZkYj!87^p@L/@ibg5'@BD!P\"(L0,#C`u\rĸÑnIepI~kD|Nn{N!\n@JN	09SС1Di@0ZauD31xK\\d'	a<Q#ZRfM#CqF*Z+҄caE@B.>b-dP*(Hd7a7\$0;z=-lLFK\0a0S*u*Rᖔ:B@%cLwXT#\$iN26/]w7+{1JB30:RiLC5<UTPb<;VhteFtEOMCDD	4U/9UD)dIR蘄@H*(pe哃XVn\$/!\r*YSriѰ\r)R_я\n[IĽCxnF)%dbSq\$2\$;XaVv\$,a,ۃvm!XAiba0 =RcLa7;V0y\$o7ɳ7xDO	hի1T\0GN1{.xV!UPrctyf\"3VbkB&tЍ׌MM/|u'qAlnMkxj_:81TTCMЌr],S	.[IƑwIDu)῞Sqɥ\n`nL2y4sbBUӓw\ntk(y=5ӄ tts Lj5RI8\nJmVjcW[sZ%lXR-GqJtsPl}tZ_i\n6;sjG,\\]k4129I.s )j:I1lU@8_f	.doHzWpNtZ8܀2^SDmA\$6~\\B^M9Rʻvmq.?6ҍ6~qBr=eX\r%RW΅7/4ئg[}7k,f''w]S'BI7M6NW-#<v	腫Uͬ-2`?1j}z7(K-HKJ^X]]IH9Anj2Xy!gh,)40?b[#E7Bmy%G mdw*c`\rVc\\*WixM| &+E \$F#ؐZV#MeRJ׈3PULjb&UMEjLx8y1#j*/0N}%l/Ħ\$\$9\"d~PB~jN01K~2J,/\0Lw!P:̢N荐ebbÂ*kqqlâ\n:@Y,1\"lG*.z#\ndn4~D\ntꝌ%ǪQNeވ^!Dc&\"I^*L@12..Y+`h\"2e8@	6Jޖ\$q	\0t	@\n`";break;case"cs":$g="O8'c!~\nfaN2\rC2i6Qh90'Hib7ii6ȍA;͆Y@v2\r&yHsJGQ8%9e:L:e2Zt\"=&Qئ*EjTk<\0Qy5Ǔ\nb#&3aD0@FaTMfPQLzO zr+ADs)۞9t36L*Ub'lH2\r(E&di\nCvf\$LU׃8\"Z7oiҖ5JX(\r\r\$\$.k:x&lp9CM(\00Cű|b<q`:, P:[F#825*,0XCBbaxW39,Љ\r̹.Ҋ\"bn&\rhB:L<	A#Ґ90cr(\nuUF: 		B;Lp\$È|É#P=KS \r\$,5eL~0c,h5\0)B0\\X+؝͡\0̔L\rD4:v-=ɲ4;C!B2ZroB#r_#keH'OqSx-m 8#PoK^.;`\0qcoC0ԝe(z;c;CƧxx\$(C@:^h].\rs%#8^1a|ܞeAxE>C;=\"AyF#(x!8\"jb.oq#|PiZڷq &p6/:M@rN\0\$\nUwb*JV!#fc+DQItյ#><VV)'\nx*V\"R\\/Hw,J\$@Hg;sϸ?fB\$rL#Ā> Qb`3P#A%pe}[!+2T爙F J7|~\",\nmeGVLJeMcPL4a3l.id+8x\n:ǆ^8ueǴvb0HTbYDH	&D]ZŊA	bX!YX4OdԜ~~.jlHl0H?`*#	'AՄI\r%Sc)gCVͱ<CscȞE\"eGJ~ge>S=(?6Bv1ĕCRld0jdD7};S1a,ĝ7!*5Jϙ4֙úHKa&BVÂB_CFAi^9pLzj<h9g4Pa\$!hߋJ]%Pk1C3p^΋:	TapKPX~k869 ݌,e=grˑ*f<;HVjK;2[YĈؒz-vXK!q=6X+_smܦklb\$<gbR!\"	זLF?z\nU\rJњh('j JiX% ⡂zc226p?@AL8Rʩ	t\$*(IYAeke¸kg2GW\"Y71D%C h/H\n=C|DW!K#HU?3Ы>gR n`axӏ*vR|#dAO=-OA#A\n,є?G֚2+ifR1M'*3D(d4	Jʱj~f'Cb	Nv.V\\*+8:\n(EW)Hxj׎[IG2FىpP1JqfWV݋c&ԏ_jh2tcuOzU~㻑3ї!XhE(7^\rMhJpo-/=q~g-{Ba^Jl&Ě9v;WsuIA5\"Re7f691Qs=W,\"ޢFPؽn=P\n[[ dGѱӲCuU;9\0]+SNK#jL\r3d*@ؘ~qb'hׅt}0֗Z~MOE]V\n6ؙ#s=4^*r\0'q~L-J*x_:*Ȩ; e䳧aރnvUoS;y*dj0cd	\0Ϊ00.I<jv8nnmBMjjNT\ne@<B88mYJi3JÎO\n(0.oiPn9PrzO<0~dOKߠ\"9ArՍ~2H'z@]+\0 sкb´&nkKb5:+r2d]\nEp9k[UB3AjE2^\rV\"W%#:f\08glNF^<.cdf~firc\npyR2 W1z\"5~1.V\"\$\"fle0vB#\".C~ׅs\$#r-EOK̛\"\$1օnC#yD Ī0-8,Ĵ\rmd#b#(&.W\$]\$e\$4,VTbQ*e\\1Xs\r5dcf̂\$Oa4ԢFL(B\$+b-z\ntcnĢ\nG#;(O ~ȒH CV>l,)JrP#@5lcu\n&d&V3ho@";break;case"de":$g="S4@s4S~\nfh8(o&C)@v7ǈ 3M90MQ4x4L&24u1ID9)rag81t	Nd)M=S0ʁh:M\rX`(r@g`\\*LFSef\ngeSn3F\\tD:D4&:bqtDva@9m0cqÝiSmvCՔa,mћW˨YEN3)GSY\rhl +?,D'@Px4LqB?N CJ<1J<&HB;4,p:I-@O1(02G Rݾh£sB<c|W\0,h8ۯB00<rLD,⎹[RC/BN@Ú	=3jۍizBʅ\$P6·&B(Jp\rӨ1cb##8	U0\\CK@@#9chHq2z@!5h ]Y0ޖBh0:\rs1xK+uaI82<P:䖧Hg#7Th*mh7[Òu+lݡ9h8\r0_A\n0z,xڀs3*AQ^K䖎1#LDRc\ràx!A6K}v6¶-09s#\n@ä	0@(	[6\\B\r,T9\r\rp'Ġؐ'0!\$HRav*VxФk'b\ne0@]G[c/s-#\nRn	cTA\0l|=	i̣=B#xLuδ`%&bPS\ne*@ʜ*#^AAU*!ðxC9UDs\"Rw΃b\"4*(AcR	AYcI\$<pBc`9\$1\r9glq\$%Ns4A\ro814At[\\!&\nȢ]aFWhxNT(@)fA\"\"\"Ut7`%=I҈y+\0#:20ܡCTbRSp~!%V	B\"8s@sh#q>F4NԋXI \rAUtb|B:FWQL'`Yhϒ?|8BH 4AMA(ĦZxeEzP,fao8mL7tE\nb	`3\nY]v4Vf/a\$6u=La@);A؆̿p	4Ρ:5HH\nJOSUNKt@Q t:^H`y[}UX9F\\\r!ypi̓,CsY5\$V%*lh`=),g7:&z%VD\$5o1'Xʊ&O9ig; h	'C \nˡIQPTZJ\"478=<蓃`^\nht'\0_J2l:6Bl9@ʸ_:@ܭ	.m8cрK07nߘHI8LaNAx2jhIKsP\n!|6cMC}5g,\$q9Ȍ>T̼v^FEoZٷ&Jnsi)Щ(\0&JPS&\$*7]6w7(|׍=Ԇps,iv\rh:{emUؚTj۩eΰk63FכQ􆁫JAm,]lvĺۉ#uVvQfqy,wp\nr><PAjtɵӯ9 2A+,hClƠB};0OH ˁ\\Bb]dy)돬gvs%j\\Nl94),]45;>c(cO/pz)ss>Uy?\"B˰_&;\n	AbjvnLi9:Xm-O.&Gxi-\ru9X32\rُ|(\$\$Z6.rВ	>?Tĳu<x}ssn<u;g49%:O׵~mc:U\$ih@̨1׮p޽[>l\ru\rKb]?ݐ0L<ԵXkp=c\$`czo{82)1H0h8Bȫ-D\0=\0f`jŢPo&.1N<{'ҡdzX%6ʎ\\fBq\0	\0X\rX5\r%&|. &Lk9d2=CLbJ\"i	-\r,Z#He\r`e\rqPJ&`Ȃ	b.eg6\\e	F.@\0GbPJBq{\0.!K\0bBv7JjBMQD6J;	ȲQ\n\n. \$#𸞊\$>vG~0S,fƪ1KR6[:\\\"@	t\n`";break;case"es":$g="E9jg:P\\33AADxs\r3IeMrIfI.&\rc6(A*Kс)̅0 rة*eLqgaygM:}De7\$	` L|U9uis 4WL |nœ\r0h(aDs-t90ոi]O+lTd0;dgY=o7h5lY[lc`an[	AqEli=In\roN^(c:Btcm/89=։*m4\"LO4*X0<K\nè1r.#8䃌1cne\rRŉн'Øƴ.kB\$CH8K8y0#6-C\n<IC\n*)\"`6q8)\r25.TK/`\0BQ+TO}\n\nlX\"	\$|'\n](9-S64	5\0)B2B7\0\0rRYK6#tdL26M^\nknª60 1X/k4LK6b n\\*4mX0%\ndXՠ@7A7'CkICeݏڳ9;a(f(D4xpګ/r3F-S(3\rXDS>!^0/`\$#2Mr`1,vQU\$_hE@(	\n7r\n(RH\"9JΘ1\rϸ'Ih08oΌ*Z-ܞ,v\0(	☩mqi8\"ԟYX:O-2\$ɢlRY#=rҢU-#7֘į`垙!TH)iXeU3(&	AeNK2B>i⃊\0+`Uњc«8X̑P\$r±L|f~#\$`8Fr*5Ǡx˨o PѿV/3*a	,9pKcIoB֍q`P*P!\0D0\"C3P		/&XP\$\rbHT*H:I.017Pu aĂW\\<f}3rFL3JIA'+ƱMRkR&A\n(`	lRtv!OZsW@\n]Ȑ1W1Ǹ\0WH&%x3`'4%eFY vɾUFU	z\\!6J)8V2pNXDR,2\"tED(,nDQ]\";OqG.1b,CsL.tJC1:qQ-HL)SPjRz/Cui#\$tU(L<kP*_S:qIš9^+s#g`Ƀe3D5d+#<Eס^I	Dzi?@hQjg0HFϛ*SFG\\B\r+2K-G堵rQGq=̌|6p˟hU1eX{w\$_-\$\rɦWNtI9LVsU/LsuǾJhxV79a*tOx6ƣ\rQ.7I4j1iӡ[O/%\$`\"`y	uV1.),U:',m2qlJ\nqeUZ!\\#̧dsm8z1e,YmmVʛwUa2\n*M{{H-TtL=5@ &2EmOtzSf9kKuXLsrs19TWgi0&^㐼M[ɧBՖY>^zT2ZX'%Lzg*g-jմ*\raj=!a힩,O?6;h7XbW7oSA\$ʎ]SoU&.>5J8mߊq&Uc0LMzS!R>A\r|񼮡z!.}k~E:y  E5тr9FzW>\0\"!<]1.LvQP\nA(6\$+2:{&f_:<S/\\]yw	4FT&XM+hU\$6{>ˎQHa=	\$ōw8_g~iDDK3@\\>^Pn~jqV9-`pՒ\"FjbU놜)o䮈\"96# N\"P,ji_Im-\n\"PO0;\0?	0. c1bWxJbPPCb1hbj>#\\sEcbR@Nl/ÀF\0\r`nHF-L0@^s	xi`f`R.И\$2d>-0BzDnVÚ5MʥFtF\"Ӫ24/@<\r.5*Ap.B\nèjАPi7Ę1`19X	\0@	t\n`";break;case"et":$g="K0a 5MC)~\nfaF0M\ry9&!\n2IIنcfp(a53#tΧS%9pNS\$4AF\nEC	OT,̰یt0SiA\\hgv0le3̳\n&Ny\\\na9SytH01G:6J(e9ZnV\rVdW4s2X[O\\͐QZG0--KtJ6dŝpàPV\$J♷,*RCS%Jʐ*>H7=Id2ʤ\"xO2Z\n+\rc\nH9/\"&ͣ5j3\$3:`A\0 *72#s\n3@P7LrBrceC@@4*5chaˉ#jV9\$P\r 9cx@P?(Dp1&*@!b%IF\rb*6&&UNcܞj2jێq0%C( `ō\\v7 w3j8XmYʹ(ʚp֮L^Oܛmŋr<I؊XшD4x\$X9vx<GCtMRA*P1\$Q DS\n\ràx!@;#7%*9]*\nzڵ9ȣHms8 QRGNki;x\$\nӹn;)nceTdܣz|(J&0يBj(	☨֑Sw#HHs\rh_Hvv}#@	\$h#xK\r\$\0124,X*p@S3M**7YCj	xKd\nR/\"8RU\\XL!w(˅2\\~5DSb-)璖Wl:\"Ui;,ecS@{êZ^\r1ξy?\\R#5dXxNT(@(\n \"PcGoN#@M24+BqxGDI&2˹;A\\V\"OC\rI;H2,ҵHNhLs1)3\$Kuxa\"Uvp)&& ̈I@˧Љ,ceP dK]}2qHb5y*#,LY@B8GH&QxN\$TJS\"<g*<N\ndx)BE	P)\0T\\%0ڙZd! ΅9]u9FX:!	TXDOa[=e=Vެ@zW`YT)e\0Kc,)mVB|)P7Ni]PO'#\$8\0x۳3I6WCB.5;bHiȂ|L\"~%I5_qH9@H\rVAZg8\$ARa#VUe :0xwS1a#ӬP6׀꘧g, RԔZY!RYbꬻP{ѥj7VklnKFĬdaPAAshhNr24y\r؇2I酕\nlM\".]f6Idpy\$fy'%vkInf*R<_Xsx+-'X8GУhѶs\"84\"Es(lBUCT-RnZӤZj->&\\=':3\\U0NVtH3^A1#[xs,7FFԻ +c)w5SuHN	k_R]D!n@hYtW[{4LO9J8\nu-2e9c~OӚ3I2S8D炌xv:@~VyeqÐ.RxL]B>M·)Xsn=(*Rei\$s0K\\3X2^}I cA򺷖.P=rE~DT^uyjq3\"4KW<!7h%JxuD(Jm4%ۍ&2Vv|;Wn[p#y^Sw+NJOE> (PEd\r7JD^-vaϦ\nFkAee@Qd'(^f,ǧ~%r\\_\$ :H_yosHn.!'TĈoA2ʘm'^Ie~5\0`&l1)gƼ6C_\0\npfjj*a8@&.@C#k\\+l4T0\rN#'\".ë+\"Fj#\"BBb'\${\n6&\"I#ʉKdhl)o̊\rލԬ#ippcz`pp쿏0L\0\$\0@\"R,z `2NB\\d@j.EJa,3ljSƦg^Pɩ(G %I&JC5ʒ(l`\nMd#<F\0bLGb~)H+ޜT)rB\0A\01DzD#VmZGhR	\0@	t\n`";break;case"fa":$g="B6P텛aTF6(J.0SeSěaQ\n\$6Ma+XQPdBBP(d:x2[\"SPm\\KICR)CfkIEN#y岈l++)Ic6d\$B!Z-~䌄,V}'!lUUiZ\\ԨBy 5Mi>Cajx#\r8~!nAK<|2yZa;Qa4b	Cc#'WdTmc{EdJ[)I,6Ck`-4uZuQk?\".blL@,&@?L\$@L)?sZBT-,Z*+LEdB:&R4\"<q1\rD.r\"lC4YTè61\r*61#sV;jzBI\n(:җbTa<t/o`jB{(S/Pn-OӔ&\$}:QQe(\$'0J\"T4*R13`P:\rl1✕sȱ)(A P@*\rX7)Lℐ'RKAbJϱ\\8Y,Q6Bh-&\r!4\"x!5Kԛp1=[V%v=Z8c(7h9(;*29%!\0ѪD4xﳅ6#vi8_ucƊ7cH70C8:k2a|\$6cx!94\r7#\r\r#\r/\":MOh\n\rBu%q\$ݯ	Hٲ9f2xP)+/)\"	^ኲ!P*sS?n7%mdˤ\rC^TÊVp,jj[%hU@\n(>f}*|Mӡ&6L7S\n Y`N,\"87@Ci)0iL ;P\n]376уouU.UYg)%F 9 @d\n_b\"Bر\$5Wь,∛ez!H<d!Д0@&'䪋x)\\E\rV0IĜ'hɉHʛG rL..:EA}\n Dq20K*h.g[\npxNT(@,؛A\"8R;;\"\0Uj<Zq>XMs@	#s?2-,2´YLAг.qВpJNk<Ó<eD?m)LzW4:w5FF\"K9[\"u/<X.~y#P\"Y=J,Mixmw,y ģK	i=(gKIo(ó_ʻ\rVS-SMS-㐆(i\nR8!I\rVSփ\"<I5f1ԳR2ݘ:\0%2p&*'&dkC\"#b<^~6O(~29)o+%y^cLH\rOrDV=_!dr@bw#1id4sd+,8%WK	@a 7:\0L=L.	9A\n aht4Z\rOUSqZyhV<\r/\rFΏ+oȪ>ϙ8)1q1Akk|pmIGl'vnŔ-%	IJ6\nh[tOlNSNL71;Zr/Ǖim=V.j'RG>̊W1]=`F)d#td+B-!SV3\0vIxOfK!hP%{SFL̳뼥's,9qjv\n*aKQԏ%0n|C\$aIn#\n\0HmU&sͅxԔT.~bβI1-GhwV3oHg7׼Wu3k_91:?1fJsP%%b)č\\ZFc2eRBj9XscYzX9͔FB.\$#ʦߊ5=94\nR :yEϝsyT\\=Ōk/k4aER&V!A\0@ŕ_q)IAS!26 ݪ)B&B`e^M)3gc\$)h-Z\0JOxk~`@`\r`x stuD\rh@Dm\npp<\rugD~ڰv0|0-hF.Yh֏iv͸1G3e.FJ\0h\nL?4\$[|*\\2b&Ep-mP:j@\$Fl,Rt@JCAC`7JJEȓͺ	/A\np0,G\r jZ=<Rq2>T*HE(/gyЎ*ʀrLMI\"#\0.m|<4!JX[.pxɦJnЅUh\"/\n*T^>ؙmVĤM0c";break;case"fr":$g="E1iu9fSi7(ffDis9LF('4M`H 3LfL0\\\n&DI^m0%&y0M!M%Srdc3@r23,if<B\n LgStd'qeNI\n'ͦ#D0tA&a`QӍjV5'3\rPml6ar;Q4N\0̒LqW2_\"i\\/p9P׹ ZԒ_؝6:22<@\$Bb'KH,#(5ccV;P<5k@K\01CEр:#MIB3<s3MX\"ʙc|7%	RYe*J2D\n9p(p/L:c(32#vƾRP:eS\$)\"b:|l0N:RR0T3\"jJ*.\rK(K+<<Tr8%G`D|KL\rF˨@7C)<0/Gsدx)ܱ8*0\\\n̲zAH%clꇱ{3N U:c-0\r꣰9,MÃN녁yZWQPYUeo.[=(J4 n&;cW82]t410z\r8Ax^;p2\rl{˳M*B9W/kI^07\" qp/oRu+\r.vrm<@B:hܑ\$Kh1lo_m.(\$[5w~Ͼ%n\"[4H'bvsxՌc\rz	大ʎ>'Wdc\"BUc:Ŀ\$DNK\n,DD]Hl\r} L);+H&R`XLHft	\"RpQֱ[\"㸇I.%~Il亩5b<1\r{J1LfkXY !(0HrLK96TH:pD&dcp QCLMY[\"\$:K}!ҰoIA9u1|rWi4pI	5cPMKP*P-\0D0\"0L\rH2aˀT\0ˏLy~<n\$3%±D7z2RRbf)0;B%} Hp?,1(\0IL	KDGʆଃ£s0QBJx\n@lH<0\r d\"A*\"_/WMtm.͡*s_P9\\<9l0L3\0iO\"C.=FAp@\"7(r1\\?\\NjP)]Q-}>Z*nD벓x@cf9[pmM+hTkl}bʸ+f\n=q!ShOieŢrn+͡2V*7c]zXkQ%;%r\$DV\$Rt9Da¹WDSvUccJцNQ}eQ2n F)()TW[R\n	j'<(\"<nNP6@8J^i8T_u\"A8T͜723V	¦\0ټf')\\ʯHHtq.#aSxDAF,s\"F(0_L+4,	RG%OE1	9\$!D\"{dBug!B2jMiTiIЫU`f{+S'SKT,I0\rʒo6y&%}7lM&\\}\"!:6!9^ibkEJE\r6\nT'mne1YL]9~{E!^*7F[-k%l\"x<!pk\\K	oh) e];J!]x82T;%7VS[1d*8QHs\$,ɫB[ʘ\r&׷|\\\"7lb{ҊpyzLC!<dCᛯk>ۿn@͞uO⥓3\\ӑsy0Y:T9v/d)s1(dEh|Aϔ:\\TZMn25uTV<UvFǘzh/uz}+1Sn zjt׼~ߦ o\n4pHX 'Em8\\?7x\rqGkc^v9JD^*tw(}#0`ª{ب/*\rwP#J6aRgJ2ʉ\n~\$. 8\$ԏ*/eMP,q0tOsb\05j\n:XLD \"ZςmHHy\0Pem|CEdZeG!ؽXhlN6[Fl!0.6c2+i(\r)^G\0'<`blGp)\$ \0Z	D/~\"Ruk;~nJhW>\$/\0(NI&Q7Ĕ?7}l8%Qvm+Qv!Dn2Q-LW!nk E4\"TEHe2)|*|)rs ܯN8,mKki\rc(' 3@(\rLif2UE!no#DIĜB\rHm+G>텴	ЛT\$jNj4.?`(f0\"fF\n|K|D)m'|rXrBf<BVa\0lHD\n@	\0t	@\n`";break;case"hu":$g="B4e7P\\33\r5	d8NF0Q8mC|e6kiL  0CT\\\n Č'LMBl4fjMRr2X)\no9D:OF\\݆Q)iM8,Bb6fPv'3Ѻ(lQCh(H*SIc)L BrY-'A 'CRbF QPho5((o'fBBUQVTG\n*NYdt9Mr6N1-VێyR1mM\rI\n3\r:2(ӤA(ȃ&	B\$-5%#ܾM7\rc\ri2+yRC79I7,n-X\rx5C0I[(3BiXb\rbB0(@9c\"`@8;Sr\r<0d7AKWc?k͊tjb<,vCB(3],\n\r\048:|Z\$~JK<VNdD#\nC\r>,C\\CP9DEL!\0)B2`=\ru\"ap@%`	e[9.5蛊jjYUQ80H5CX@c,4!H@*6.)~%4Ą#*n&X\"CR(텁\0Ԕ!=:8AviZ\rɃWdkڲ9Nk;\\\r*@sФD4xﱅ0ڵ#At~3F<+#p\rxE3XPՀ1Ox!#w	iӤO5G!Tn'-Ke>Y}#Z\nʏ8),|Pգ;V7\0\$\n L^bXhۀQ|qTk-2iD'<\n\\ZnS2-&\")VOym%#&03V(LK]DŐ`_ʲ\"Amh!iKM8%P91Qܦ&OUJr9TlK;ZkUqE	)j\rd9DO\"ghy`b~@E@P½i6el=Ҙ]Pň+)ͩKj%#WA̡*HԷ\$ZWT@-.V^huE\"ɸI,U#{Ԓ7JЕeb\n	LNb}Ehp\$DÂ*E:5\n*iXp^O'thMΡ#+ɘ̞TSjqcDl	92tsJHvG%S5.2VJDiP \nQq@9dfغ]R#*d rӰhyiE(	ե8³COH\n\nS*y8fڛsrgK!RZA5b:oCX9!t'W*kG󮪔zZ,+ej-hrVZ.!1bҭmKWr}Xk[=XcTsnv1Y5aq7\$:boVSRMnf2x#pN	&DG\nh3 \"j@ϛK7@01mU6+P#`eE4aAb>e4z!H0cXKg )LJa`0(E0a@Ec\nsynqApsT} MN9Pى̛JXՁv	(QFDwqg3~%<uHΉ.4 Ixgҗ@e!j>cb+&D/\n@vB*\\*퉳BQ,iQk@gWRTglZ0x`3rSS]EKvfZ\nHW/Oի(SJՑ6\"J>~PݗĸMf=68h>̋ev&hk	ڥJmg,UbƃpY\rǵۖz(_]khqOdP	'hճٙ`\$CUhl\\@+Upn/p.\"|%\\nٺNi1b3qn0´%)1?N]Vʦ;B4@eh728d\nLf⶗ UPڗSE\r)5.{I3S*N{({Onɯm/5RHStYuu<+5^/{OyrDGpSq(%0bwI|ݔzPǇ\"pS˩;	9;x{n.@2>\n3ah|y-´V_5rC׌~~kiݟOgr;k:M|0vNoP/i9b29`C<,D0ȢbLH?0<c@F>0K>T't	j\\@galkh\$\$pVB' d̴\rD00ޫ<\0`(\0aE\rl^U\r u\$>` )Fl܀\npbb\"^ވPVbV0'G)uFt#@\$BH\$HM^&,1\0A9!Bp\0~~d2wj\\QB{Fov\"6&x5C\0x=z	-p\"2z\"D~MC?vNʂ)KȪ<Ҹ`/МXgLޏnJic\rrdL.`',1QMģp2MB[)=FQRQG|\"E*,.rhH\$	h`zƠ-8KDPB#麕@(80	\0cK##r/%hqQ¸׈zdga&Q2\"Fa\r:(1\"&vh\r";break;case"id":$g="A7\"Ʉi7ᙘ@s\r0#Xp0)u&r5NbQs0yIaE&\"Rn`FK61NdQ*\"pim:决yF lhP:\\,FQAyLFpg\"Ӂt:gKa3RRDe71UmIbwwNɃi8Iͳ(i6d-3+8TEN;aܖc%Y֬\n2IiWM\n#H[ќe}s6 c@\nꥡ(:K6Mp5/5!-64.\r2R87:&C,礎zʛ8cZC lTݻ`,cP,N08K\"\\G#2r+n\r2:op61!();,\\	cJ6JjN456L	`L 0H̖\ntAH)#X9!3)`%>8#\"Xَjdc=#(@ cC3:t㽼(Pܓ@\r*Q3/T8ҸCx!3C@{!OHr97wز*+aSmZ(8(	nc%0\n8S吭I`:\"I*\r04\"'iW5q+OBb0\00#]\\X@(	☩(fQꂥ&mM3\r(``7#:zC8A	#\nSU=K4rC2W\"[4y?tvܓT5t&[##Q{9;Ȧ;EM-Z2:>8X:-KvFTՂ+M*D\"Xޢ>j]ҵ\"X\0cDgxNT(@(\n \"P`\n	&@c3jfa\0GK\"\rP}Wk&'I\nBqD<I~\rf|, k\$E 7\"m// I{\"<v#rG k0~Ke#b%&ԝQDd\$BIcX!\0lS4}L(ppFTz\")xa<wA,\"O񉢲HA5hQ}Y*duu/@jH\$J@LjZt*0@/<SQ\nNU\nL\"cF0B'010xLxY@)HAO9N,S\n#;b)t힣pGcV;TlY%)h)ңۊ4mYס6a8@TCD;R4B0Bij6(,'F0e<v2M+0IФxyeX'AVrXQFDdBv`LLF\$MPAhbTyVäpƮ6u\n	YbK?7F\n*<,Z]a\\(qo5hB\\m}6L40n-At~rj66B!MDeh%D?e	!3uQ2]a%YA:vFonWȄ_Kco.+0JkeoP!ϪC˛(\nz pH8 \rVa nVtd23\n1yUgRR3|,~e/տ52AEƂ9E)%m7:_j͒>MO89IJ߃K\"˘,ȼ}rtfd]n6JJL*MRDɓU\nGDs^<%1-Td3#Q]H2㑭*G,NBpk~/1\rcVu4r\r1QGS9jFRB]Ɲ+٦P**8kMp3\rİ#9(iK-#tI7'n3Xc8!&Qa I`FJdm<yT:ijEeʌX`a05C\nWLf>\\+G&5\"@R ɄjNq|0I%'iH¼GT뛜顺2`VǢ-]w.Tl,wLtr-MN^TBhVGNl[񠀗#O\"W8(	wvY&Cg_//9OKwzHIXiaYf˰k7Ø";break;case"it":$g="S4Χ#x%(a9@L&)ol2\rp\"u91qp(ab㙦I!6NsYf7Xj\0BcH 2NgC,u7Fn0Db%e|u0;85@A\\Αqejx~ i̦ӁU' v\\lABts;u tgHln\r)=9iElUi=KCsr9PMCLx0;f{=HAf\rZ12DSߐw;)@1*\n>\rHè\r̀30@;ڮ7#'N;J*8Khڕ0s2)PPkjR0s)\"(P8/+;<o=\rx1؇&	L֌RР)	#h,8OTL,J,5Ϩ60`P7h@!b\$\$\02\n`4+2ZK3(뵡\0Ƨƨczؐn4rF'lBZ2o/##d0\0\"9&7l2ōd\$tލ%jtA\0ӵ1*<L,2T!`4B0z\rx^Ar3:<4iHR\03X1=cpӨ>A^0(2C	*%w\"\\)k> 'Xs5j+B!\0\$\n`8N̪B#J\nZ* %MB(3Bp	\n\n26'bB)\r6Ő[\nU-[2]9C\r9:R A}o?HIbb0\$<h:\rc<c-d+azNjZѭTDE\0]}c8l}㳛<r\\u8.bk턣#ԎWFP2H\\D7ZMԒ=F!#Xک`U!0VCZF+<xNT(@(\n \"PbcM܆NY\"M[E\$S.FF #|1c	\\Y	Av+2J̄\r!@ҌAa0h)rCH(Oi]@*B#֑j'	!'~\$ &@)ۊ6-Cd)Y*@ITyREu)QQ疆O<(t|G!5'T*D!3]02\$2ODA<\0wkAp	>:5<gΗ|a'kLBvsIX@&z_]CbWaN8eFLWQo5NKo\rM-)J!tsSH!y/dpB(bQ}-I\"*\0qIǘtrO<*TvS)3JxQ]%orIت\r\rJ(gpIB]H+P)g-5HZj%NܒǨ	_!=*b\rۃ<c(e\n\$v]bYP*zi1|i\"TQ_weh^dY\r+AӼjD`\nd[F(^E{Ba}{+R0fg.t/3s@B[6H8ria4kgFtEgQ2Kfbw2Zo69zĻr;\\07MFeh;:Ńޮ\\k9|т|G/4;% qfГ+5̹%K|t\\`ĸ+0\"s_r1^2m?٫ڝMW^N5T+GubtB()+Б_\\@V,U\\m?fAlawmǷ؁PMwf`т/qojFݗ[qd(hQ!*7G\rq#Ij@H'FJoTgMљ' ڀb	MG)uD@,ŊIS\"3!SB9>S&WF3\$oxF+ !0\naQ=7㊉\"\nꄔ*@AP~gSelN5Ak	sq')l7Љr.y}%~q#y֡7ƷC6nn%\\<k@W2#̢]gr\$b?Uϊ9U5V\$_/27Z5AdrR+I4C07vB9Jb0:dG DjB8/'(Fdt,t^8\"͒3O(\r%Rl1J.B)N#>+Z\"	\0@	t\n`";break;case"ja":$g="W'\nc/ɘ2-޼Oᙘ@SN4UƂPԑ\\}%QGqB\r[^G0e<	&0S8r&#APKY}t Q\$I+ܪÕ8B0<sW@*TCL#i\$\nAGS,ƀAB\0U'NEΔTOR\n^zR82Yr2T}sDU{\rUA.#T9SȺ_!9	rT+*T~Ď\$*mʐF:hDwKK\nz\\9ɧ:i	ˣ<s܎7΃Y@\n&\$'16Z.%t!	BI@B\\a8s\0 Q[I6C\"C @I@1\$Ds2`TdC:IR9hQ1evs{`^2FѣB[I\"z4\rHtJY+B06\r\00C`c7B&#8O?ɔKh4rL<P;RB0`ӐI{A=LIHtEA'4%ARt.ڎʨ@Q\$F=iB>6GDMWDǱ6\\1ZQP)B3P߻4@4BΡGփLH%\$ԣTDCSIW\nK|7@\n<@\$Adĉ?\\\r|A h<BZ,7~pw.gbp&#2A\0ᤎc9F(8\r#2\0x0F3:t# 4`]x7oCƖ7cH߾S9(鲋5A6۽^0ʀr7à#\\4v6\\e	^1Rr\$)(	Svtwym%ad̞ |Ty_wR|(H<A\\i1[xmǈEE(@>a3< 	L* ]	5\$@#fKJ &6C\"-\n+_,*~0mzXb!:\0urHg\n&\0S `\"pnF57Z\"r\r>4ݙ\\-2>PX-hT\"DR\$l`\"#֤}\$l#)XLv8(eJ-=L(Apa0-q\"\\\"𨣄lq!jZ@@y;zIeDB< cd1QNRIXIdFb^d|rKX	0\\H6PO	*\0BE3\"Ph	l4G\\쾑+hal7i4*!I@\n1%M|rHl1X&V*`R7d'BӀЙd(l*d(Gy6'jj4TZJ5~hBn*؂ڰvdwUhyx+|9D8Ulڀ/&XTbpKXY</Q<#аUH3b#\r49r4riX< FX:Gh5g^ƵvN4\rCRRk%k	3)WbAu.ÜB;a`ЙDrt4(I+#@qZ.(~@@We(+PŁU~w<LU*Ͷr2+P rvFbf!>q	X\"(y\"\"Lp\0<y9OrVLQ\"\0nt9Kt\$8@Ӱh\r9<'f\\1jEI|X-yIYxƴM)U,tYNz0U5'^ZPA/dYF	pTe08F#i˖G5R՚ѓ#Ii=CM\r6CTN\$К-`Jƒl|fh\"ok76MG;쎙/pnQ޻f\rB9DC%m(kQlUo7Mj#ncrV9\rTAcHqRd聞0f%hHq1M2F@ rxW-ĜU^.nI:'F.&?i#FKBHdAn>W7w-ߕS}p޹>OU᎒Acj  FW&Q\0@r*r.\rD%`G⊟wQi\rNV#\r89ސ~&BDGb\$DJA*-rh)\$ߝVUs;OH\"x*5@Al;\0\0C#/	\rþzVXAv	L6VrD,kmnKB./EڪI#\neDF\nL̄m6e\rV`\r \r`@ph@\rOl\rH\r  @ufȰO`\0uh\nZ\0@o` fkLSEvezTpT\$~&lFe 0+LŤ!kp*47p'c	țN <D\$[\rioqұ#vqӱxP8\0ۯ(\n>̱\r\n\r kgfU\nd0k&\"Ibn*ZEĞ1-.;+>p:GGgl>(fJ% CG@Q ʡLDq0yAO\$ܥ-/>O4,Nt4!B0@";break;case"ko":$g="EdHڕL@؊ZhR?	E30شDc:!#t+BuӐd<LJN\$HiBvrZ2X\\,S\n%ɖ\n؞VA*zc*D\r֊L=qvkGZ)ZZg\\;K	XM*nH]}!rE@SYO\$|cT'nI9PXXɄu;P\\6RlҰ\rS	0Yg삧-Zuְ@oQmng;/u-)0u-q8L>_y۷-	`Ζe`e\0/d\$DZ0aNF&%#` H\"DG1%9\"a`\$SBi A؜.QR!A,TT&%PY@V.D[Y8B,@42r=lbȢ06\r\00C`c7B&ARZP2PHDJ/NPvE!SGQ4%J#ű(u;v@lF A!<LDJl,\"AKJC'XZ<MQ+i5C`9.KL]df!bѩXbBiA)/ru+]uĐI:9l{\" X(7~'YFF\\f	wWkVŵV&#2A\0ᒎc9E(8\r#2\\\rC@:^H\\0h7ev^3(ݪ89#~MC3/ͳH8Mn:x*cA@~0sx:eY@9ki2A`FR\n@qJ\nSU!Hv\$Ųh<D\"<K[	%j7\$rJ<jZh&I\\R@ues,~d:,~1x)d\0}AB-ebv%4|;Ħꏳ杅%tkP7GRa){nS=ƀPY\r' p\r03C8 N3iga*9CKoe!Â\0xmN;5?OdoI_%XeB{G-)8˛ϡCDz7b=5+,],5a1ڭO\nQ)\nTqHb%XoUР%EP:kr%Qz@re!fCȨw9(|_lUJDa.	^cL-bi<P*Yk- E	^<k%Xi)\"6\\&\rb<LL'U\\7\\*\$\\bLd\\e{haA1	̉@hD\$ǴbplRVb_ڝSwJ\0P={O#ށ|)uuԂP(3p\\wbv2slX_|R. JS|S 2,=YTj )E\n*\\c;\"\"ISJ쩯v֢	Ym(dW>X4YX!\"]VvK4'\$].J̬\$RY!]	sDq[D\\2'Sk5y2ĔH_)Jf:PȬ@&õ;TVA٧\nQXn_j%#-!˦/bU֫6	h0i)7d,5bna*\$)K&A]aՉKk*Q_ռe(	UeQ*Q7_bz\0\$_qW~\$l,̌9\\Dќd/qnSy\nZ&dj\"̋zbL¼|jUC\"bP16Sgsat>pYz)e)ϗY&u<(gʝUwoKbZh b)jA褮Jk/!|g4_95&#aKd	ҙ6'xYC~b3&GAj|b\nADX:HW+WqnK>h*i1\rOJ/QO:mqčћ#ޱ-ʖ4Ǌ~!uo\\oGlÌӫO\"(k*HYX  m`gi=+|6-CҨJ+%Q8|%uP9:r*YםdsH#U[@-qHs__;;P*9DgIEQoԟC%\rߩL(N`GT1hKsT+pÑ\0|ݠkxL9w\"kL6Hc\r`APC`uM6 p#BdC&Ap\npo\r(*UkUX/\\-LW~!: lg.NE\$VAhAf:aNAX ˚EDN_ZE(%&H`iPjf@DֹrAdާnENFN*=\\!Qpo10-\nnJ\0 oK侏j\0 Fna%2)zސHDj:p#X-qLA.18IJ8!(\$GB=@P	3{-ވC:`#V%GXbκQ\$B>\0";break;case"lt":$g="T4FH%(e8NǓY@W̦á@f\rQ4k9MaŌ!^-	Nd)!BaS9lt:F%!b#M&Qi3M9\rSq6ib\0Q.Xb'S!:\n)D0\"ICJYF\nSb!`t%e5pU(e7sUz]e,^V0jUtl00LUk\r\"RtFHzIn3\r\\ 8s9	UttqdΔǟ!uUg,(e2L!=k<وL˚BȢfo#1L;\$E.H贁N35nhކ#81J\$z*ɰ9>\rI[xIR,:?Ò	TTlj,4^2#VC`0CƆcܼ\n\"`@:[p*Ob#3ϳ\r@+p	s#܏c>#8B{}3M.X\"jBH8*p\"e&;KP#52+ȳ\rX4+%N09\$!2l\0@!b6\rҶ9\09&c\\T2AgK֨ܛ<@6LH%>I{a9:r|Dn\nc--<dOȌXlv9F}6\r*S8.5v ^\"R\"<vc[c¿xC@:^\\0jՅʰ\rH7،/Ӑհ౸cx!rC]V0եjʒ	cNj,H\$,CB@Z\$;Bt\n7Fij^6p6;{1{O'I ?#\nx*jSq|\n8o40\rpjԚ(ECpf+ȁ\0ŏqd5è N!;0 A+:)QC˥#АVk]cH\\g@'\$8,	k^DJJ,l\n\$FR!,eZ͋Q5i2(H`/	BNXA9Nav@rtrAdhtYIDJLagwL4аSI\$	%<2L6wZNAZ.)x)b\"k7\rƯ2%\\t\$:qʄl\0I\rU@JxmU-]Y^*QJ%#@j@2ұeb<B(#xΜ\0WBdx	hCgd1!\ny\n\"%Q@K9 L'ӱhBV,C\n]ĕs+Ng俨b*ޑgqV7Q^5|X2]4/Wc4hQZA\\DױmDǩd\r6k2z2#{e(2t=)sD\\W``(*ג桬%hB1u,c	\0cEzY'G#ȎĐ@]gr|(Z[Sl̈́BRR;\$Ԋx5\";h\nkc^Ѐ\\c-\rvL4d0]3xY;eMcc*zl 7Ԃ@Ü?5nSX!a![`>&BVOlPJ)!\nefBK{\0V\"v]Ev#c,Qw4%1WV:s69TS3Q5g(Pa_\"UQY .eVD9\$͋@|\\S\$mθPg[vzAOD\$\$]Jv\",GP̩ychy&ϼ3OG+m\r27R~tyLU\$*e\"W+8Xu|&D\\͍\0B!gV3PF=uAKIt]n풏{\0Maܧs=f6RyV=l}̷6%Ymߓ`bE=dj\n%1UmLQKKa2&%d\\2=8Ȥu\\M%q!̍3G.ԥZS!MKQKI)Am<\\_ADW/_Cg6|O?}k5h`GczE;-O;q}7QjwR=;)nh6rUq\rmu	TNٽ	/V/GܶrD}샚0;yEI㽡n{ɿjM%9b&7⊆V>iDm?=F_};(L1w͙`lx\nLLDu.<jj\\\r CxSF	\"2.F;-P-ox<FC(\08-4\$\$F,Q\$FbB:O\rm+VVm%k8<\0`f\r`@phR _	_jtzD#_\0\np7\$ݢ0K\rBo#*PޱKL!0u#B0eERLQ0\"/*¾?&<GmDA2eh1\\_ꢇ%pk%\"	NKftB_*f\\vGJ1v8v\"Hފx5pщ*k6f\n,b^ǣ/\"\n#tK@l\"TCS̃/ĀHE®OC:ȶ:PK\"q%r`Z+fi	n1: J&6l6\nF0!\n(U%J-CL=BdE-T\"";break;case"nl":$g="W2N)~\nfaO7Ms)j5FSn2X!o0p(a<MSle2tI&#y+Nb)̅5!Qq;9gF96,FlMSRqGSIADJA3G̀.J\n&G0Q\na4-s7`V..a1NrClmhnfa1zi'lt7gcƨ2w=)z.REGSVf	\r)[p*\n+#H<`L2C %Ȱ:TJ)8-'c7ܭO[8 xj~90̨֒ΕBUDT,ȨƓ\"\r9#9Rà:P⛒ی!\0Kc99 l?FMs\nC,	#hnȊ<QVAT-)P׶-5c`#\nȶ)dRv!஌ZkLl94/8ȚP4J#H2!L5/BbF.v#ycYZjVz9\$ksH22ju9}(Ќ@NCD3:^\\r-C8^c9+^Jc8:c\"ġ\rXDQsn^0ʢ@ޔ}0!(蚮l˗4mS@(	䰭_\nS	\$e~	Du#zRj(	☨i2\nZR\"̷	b4<73bk̶>#z+\\%3X\nrAʣ:¦ԭ4tsxbzَQk~lMR*q5&NwRME;0MO()H˺{\$:g^YeM)lښluX sOlp,rPa;cZ_Ks/ƺQKXj,(#[\n)6)UXNT(@,A\"\$5'0QP@3If'uj 7TZ)\n_qaLϼ\$;yB~xmud\\6\n̒> ⑸:<('J)?POˌMWe)@Zκ2+-NP!e/a~\0)L#+C~刟TDX(t\"ɬ3\neT35/p@C\r\$@=;H\n39K3?9O\0%~\rml9Al\\3[le.r%DgC4?:(8s2ߧ\n}SsCjEi%\"|HegJ(%JrL뿧uҒHrgZD8&BDG;LA%QLܓSvoH\0b{ԣWJfSގA^Hr	x\$\$Er\0wVۺB|t;\n\n\rH8Yy>%D4]3LUWL5}5]k'tiB%9\$D	I%Kn&ʉ\\6b/ZZN\$\0]\nL5yXuK W,gǊ_AXY>JJJ6[q\" lզbFK.>\r2MjiJ%\0*	&&;AC-PCA\r,Ș a<\\V%(-12J&c'vUPly_~BHnl2eP8:YT9\rx̷\rBRΚwKʂG`6,g(}M70~3xdw0霛\r;.q~ڵ8]+&nN`2Iv1'N#85XsTj\rnKu6DJ\$\rfrwPL8c\"fb	.ddpI}p\nVps2뙺p8)\rX<%`df2aJ]Bɝ[:?gvSY2sqa%KH\";<sF?S\$jߔXMS05VXk#ą.!,5.Qi_F\r)TG9Te7b5C]+ޒ 4\"ߏ:4PH!>\$}0'A\"Tasgz.;2BΞNË%\06`Lxg]0\ncrHUQ~LW8J1@sbCIwoK{O//;0^bF2'@!LO:b?\",Fp}L5I(I4; %##\rjb.t/F#	v%b	32\"*h&%T~,\0+)J,Zc2'@	\0t	@\n`";break;case"pl":$g="C=D)eb)e7BQp 9s\r&ybob\$Gs(M0gin0!Sa`b!29)V%9	Y 4I2FSЀm4ǁD(Xa&\0Q)G<z)c=\$C\r@ib1uNi@9߄: z0(EYF;DkPL9Z]wNEՂy1re=It:Dh!!xS3<;p;C,7C\"(P\"󨉌:!,:16,CĦf;CP:XƂB\n82nc؁C;^b\np'`ͭ\"%#Σ/,R\0<tCiz,T+5\n#\r2&Cx;K\n+f=.K1ԣSstj9)),m.=Nkv8#\n#znU	#l\\9KB*uaB6:PثRkY,#aM\rՕh=GecR4@!bPT1:9#3Bh66]<%fKԅA6rx0Ǫ\01`o ;(&͸5(0d{!bnLf3tUwPU	As'\0䅲cC(H%(#D3:t#\"At 3< s7xE>C8:lńF}`7^05C]xs4(`䞱\\l'!\07C:\0Q],RvpRp0id4͍1S	j1vիnyB\"=#zR:}{%iuDT.A\0.T:gL=vBм%jN/Vݓ\"GL``h:\",4t(I#05\0\0PY\r1C{qu\n(J@;'Ca\$C3\r`c\nMq 1\$ث\r90y) E}3ƋRfEK*xzYGS6A\n\rጂYo>d+h惘:iH3B\$\n	M2b rWuE0TOH݇5t!Ymu=lPB\"!*,ҾCt@Nd\$53њqpjqO \$98C;dt\$&[K~98sY,&	Ck'%r [pD5Ė0&PNK2ΣOS-e?Χ,aT6ҀdLfyO)cAN{2YT\$?)n 0K,3*t|*b_U^jf,cad`)0UGFeh9n՘GD	7\0S *eAAʈFB(ȵeu@X@P0YgVy2p	Zh\n%Zmz6̫lPդD>ZkEq`47¿\n*lV[Pvm;P6ьiX޼i5ܽ6~{[{N҂@8L\"S/JVR@Ie~lx:QI^EX-2*ISpӻ\nBABe,RPI	/~CM,Ѡ'-y%d\0JY4y8Msq+D6	`щjpd9@#jf}RU\nWuFh3!@|beG%0(2FrniY̘fM0ʋBe֖{A3[򴰅\n	fĕ|Ήճ3oӀP	ޯɤ\nj\0Mi|1]1Zi9(y5#SqSN+\r綵F#՜7jorn7[hw26ʇ\\̪mn޾U!+\"}Wx+(gqc9'T3IpLuKp+Y!µckg2qZlPX3a0t<%ft3\\Chn1h~h-)@M^6pg	l\rYzɈ{V)=xxYˈ]VT}{S'<Me5vΛ{^Kы[ԕݸ>|PmƫSpi=R:XÆ!jrCIhcBn~f&_epbp\nnf<.~@*n^l+/a2E,N`>#ťDkQV9*O*,xpvE\"\$	J\n0x6	0xWY;̧V­'	W 9l:\02g<bMBVej#VFlTN#@!\nzvf%o\r`qK(Q& Ck el?=\0KꕅN.v뢸ke1\\.cR\rVF#\$igBΣ0`A&\r(&B,m\0\npΉ5@lqi,\rhX&1wċ%8Ǧ~F#4[8wm|QCl«q\rd\$Dj\$v\$l2O1ܞb5+nQ)\0>#L|b[\$;g6HAZ@Ȣ\rկ̢\rbb-'\0Zo(Ox M'Bm)\ro|rr͹':J,bU(C X@\n_<\$Pf 2j4d|9->qV5\0jh/Ba-	t?\0U3g(.Edr(DHD,˓\$6ƌ]t挔R{'O!+46E94BrCctؿ:	簊c\$:.";break;case"pt":$g="E9jg:P\\33AAD aDyVv4NBu4QPm0sli6̒Ӕc2ЃEL\\?fc	oF9a6DZm&)4&JU9ʭKis7)(vr0f\$\"L4nc̦)Ǒ&Ζ!T@Bu#&R:\n)3ucFGav؂)M)+#6Lu<kCj`9	Yu:Buc%VޏTLީ\nH;2,(=4σz\0<L!	B3c{êSe4 I11M^%0@6\r'L>ʌc1p\rL'	҄-V1RbHN\n\r̓Ha\0(RLخ</d%n;h9o#jm;?{\"O;9.o&#H،66#Kz'?TCcF2cLZLb#0쁍JjP26)RԬ+T.\r62K%%2Au J&܋-EtX3)HH(En*DfGäJץ}`Zɠ-Xc2X4HC0z\r8Ax^;s)\$0\\zMJI0(镋r5A.8;6|aJ-^0荰l\"Ёpݡț:VHX\n@SN)aJJ\rɊF\n8k5B-sL#@\$mH(_wX0+d)Sʧlؐ:TR.IX:}u\\<!\"P7\0@:{)\\<4tc0̕AMlߊM:3(\n[\rvLHfpđ|TdO*WO#7l/<ۅe@D\001^,5skո\"\\KH3i|=AMC\r0j\\˩@%*2Uo\nrhW~%7ы;('@BD!P\"(LS#\"2*GJ4(9i`	+\"	oH\\ H@tO報G(RLgl\$SXAh9jc*;ed#bC`gCs2X.& \$P	Y #[I,=D_W,C)\n3b&>&P`I9Hܳf):\$ڢb.G2JHq1P\0p	aȅ5ۚY.D5`V\"-Sd|z|XfiF\0o9lKT^aP7bt\$cxd]\n4BI*Mp]5U6ViɮzނM];\"h]e@\\%EЙSW=KvI璸Y_-4G`nTI2kpJøeMrղVS12A!1fXH̾6rZP\r_B]0vci<^`Rs0Φޢo_П@2PvZK]lOږGKPt͂a[:f4[eD\"Tcq4ޓiR\r\$VxN\$rHxKIZQ<`%PPMYja!hy*aҕ\rcI\$\"\$#8\\r('VP'yDIC'\$ʁ	@3\nBa&R	)Ћ5:05#N\"!ףkSj5MamNe[v5*!w\",w3n#ll/zSS|]\rrJ!\";q-'\n)eeuamuOdX\n˪&cHOcA76f&ۤy`Lí3|c5\nИ&y*BhgJ,\"xŹtxVUr@Q@2K*x͒R'PՊ>q4ԓǐsDQ{c{IiO\"ǥM#ܗ+ÒW2iU8P:;kw]|漣5w>B''Q&M<1Y*:3	4]UUDz6;a[OQ4pо5eȴTjZS{\\o45OeQ&E#pM26K0#dYTYPpgZEX?jv0Խ\nI#Hd8Eĩ@(ȃ\n-|\rn6VC%Gj bߡEd(	/҉g(&\"0L^jV]Cj>\"k]I&N7bLk.n/\nMDó	\rI	M\raĒfHeP⋆41\0(}d)@lФک6EB.3\0HKCn\"Λ#	Ɲl:DDA'994 \$i'2 1ĄVR";break;case"ro":$g="Ed&Ne1NcP\\33`q@a6NH؁7؈3 3`&)lbRӴ\\\n#J2ta<c&! 2|܃er,eΒ9lF9a0z&FC	eVMAb2q`(B8#9(u6@%O+ЎS!0i.B	1cAЫ(i8[lo6N<qOXesIn?sF&Mb6(oM#I[?7o~Pe:j%:`Q42\r)JD 0==KT@F8\rØ4#p:(#p\0>\$2{:!,Q.A64L\nO\0q#:BF\nƽ.N1˔,ɰ0/K+r86{Ltv6&\"I0\n\"`@8hJC4ɣКį\009\rCAL\r!,S8ҬL)Ե ֊jGP6{\"2'r-3s`RܸQ;9}\n67`P)B27oP@\r19ap@)7K~G\0ʕ,9#99iv2S*d9Kʱ\rJ웵^*@\0\"Pz\r*=T5:s84nS,Hو+Iuon&9磘E@2x8C@:^\\(H,C8^lsm\rp^B:j0XDUܯa^0P7#| j9=NJV\n}ʌ#ҿp~\nj_b9/Ϩ@)aO'O'Rh+X+^x5,C\rҥw5ab)7\$o\n\ru|RMHh|MҔߝ\njI5 @6i uLtsd\0SN|<I0T\n\\7\"i(bed\"jβT`Z\\(!b.E)ZԬc	;/)A!89Z\$/3tsޥ\0k\r>8#HUܺ\$@\$AbIf7eFXZwZ#\0uiI!Q#:&\rIsK@7jT4iOٙΦL3P	\$.@i5AIon#f	/L%ܗpALVMDhxKc/9,`Gpbu1E:t'J)&g\$\03=\"Lr@ 9\n\rǀ\$>B,ޟ\0߲AMɼ}l9*\rcE3ʩ{r'!V̫4lᣓ]N^AKCvJ> 6BZIoUvQ.@\"s#bxOHI	QCŌ˖D&Cj\$Wb]ՐUZjR\$Ȳfnd\n4V2M5R\$@]V_ Z\rqykz\0(iTQR'd	IO!Q'D+K-d\r13]U8:}\$܀i+	37jRL%6j(I+EϬHђ>ޖТC5мHu1ͥŮLq|wHiC+K-7B(Koɹ݄pKo |sPpX?r`O)0fړbA'L;I21ÕhK^\r5T/\$GWVb4U=d\r[GkN_RVxƲ3:&ЌK]l+Ç6ֺ`&Kid>2K|L<7EG]bD7H9rA})NS,F]/ux!ge%G\rhA<	BP_,4ɤ]YkC[H΀N:)0sےRQ٤!vL헱eYrLQM͑~J[BA;Am( r`W_<Zq-,Q0^2Y0[#2{vY\nIаoYچi't<ȃDI.: y4w0˞kSԑM ^ku@=Z݋,RH'n~uɿZꉏ<`ȑh8Zhe[HC)KaL;1Da8%ꮻPFTZhi-6DN_0!d2jHjrίQ[C^Ι=1!Gx\r~zb\"ƍ(sG%W]Λgu|7g|^8&wTeu-M	˩I_mWOC [\0<Rd1M%/-/!HmmxŜcP(Zb&\\5\0PϘA̫J0pد4ډ\"Yv\rVc`ֹ,\$4#;,\$%&rN\0t0	\0\np]BBP~PGt`I\$ƐusB0#B8/=\0-F`Ē\\	:Fdh0z`hl%-Я'#bae9LAWFAv&,B^ c	e <(ΣBT92.8cM]þdeXްpkΡ'>5vnt&BQ49^B81j|iP䐬t'ZnY qʈlf\$|\"Ø0&BHelўA\n+Ch|FC	B>-\\K;C[!I\$PHB02aBa	\0@	t\n`";break;case"ru":$g="I4Qb\rh-Z(KA{ᙘ@s4\$hX4mEFyAg\nQBKW2)RA@apz\0]NKWRiAy-]!&	pD6}Eje>NShJs!Q\n*T]\$gr59&Q4):\n1 KIIзhIJ6HB?!([&	sD5AWꋬQcCXMe<Ι#_FR	g*YV|eC/9Pz4C5n*IzVn<kѠ,-;F&NܰŪD#\$db2H<\$[F.ʌPA	C\0K3ju	s+.\"lI|&K2GpZDIjIZȋ*\$&+R*2\$P\$.\"ݠ\nQ2P!sK	#4&L=R=@}\nMƁHY 9EI|lhd*\$u\nSJH0ɤ!Ѱ\n;E0<6r:Nlq`P! P:`@:#27B&%S#:J)dEJbJBҌ\nNP6h_\ntaK,^KZ?'sG3dŁ|\r;\")\r`9MV.30\$sNM\rS&c-DQ:R+d@o!b\\D,3(fAHQh+ (JG\0>j5qTd!I:h>5w#R/p󫧡ٲn<J|!t'\")HC+Ij\n#pV')dZO6MzY;jg.o!h9(;29&!\0D4xCHn{@p^Ctd70H\"Z9p_[K|5 |Chp[a@x>-B@zzַHt{h6J\nnF\0&esB*:FT)}<E9Ian\",@t (-ह8yK8]HJ%|n\\һ3QǞԎ1GZk@QQ2	nKSDtbmS@'0XGIaWMZ,UEzQLtD,<LHB\n\"LӰi&ŠbNO1/HHNMhXFAI2)6oo@ao \\4@KP(O@ܞL!|0\0xm\"h;@4ZךbP0\\czYtti\$d&EfDɚdrR:jRCDѕrf^N}s1AQ(EeijG%Z\$+yżB*@P2,-Ypqvh	OMo!\"ʖQDpD.Y#2VטMW)-NDW**rDG9r䠨v-X&CuoD(	Ѳ%#Ñʺ)ڂ7nZ\"Sz+i\nSEoT5DSUj9*\":G4S\$J0օ4Ƴա7LJ|<,y^435\$F\\kn:1\$ _Ôӥ-![عc.Wy&]wmT\"^t?3b\"EbBIc)jJ{aƯÕmAJk7gD=iM|csmf_f%sS*%~NXI8#\"dfVcAj*Z){jGDdR[l3rJ#\nM1\"NsuJ%pycBDtmyhCU:8vrHzGA(;g4ڌW@9K'Ԣ\nj(Ed@.7kf~!/c|ӖL-*6Ә\rwl{1R_Q_ikA\$qFTQA,/']v.9	2\"GJaسao6ɱ+tPx|_o߻p!rawbYU'F=i/M\rr^)厔͎4G͝L3J]/LqBqYj8\$3n]Fc8~	K<ߕdcIDy3#*+Gx%~g_X2AȬ-O0p+i*9	N\r\0hۂвZ4Ų:?wC.>3dR7ޯKkCdVngBI/}*jF}.б4OȏvdKgoKG,JZ@*r\0%EɔZ\"`FEJy\\l<,B/PB劏Riˀ*8hm(-eBƄ*JWoXDBd+	eP=	0	P-rjy	QP,h/0E^τb@u#\0_Ppc\$0\"*#\"\n/'PBJN1)zΜ6NN&CKlbjoI|Qrs1vyta{sb#Hqr0L&lLZ.p04mpTc\"r0F?:QńeE5\$qnNHK1iDsrb/D,zM~xR&,&I˅q9.8%Q%莉Q^nIo.3&KΩPo\rQ)'L0oy*E\0rp*eb3{j=&wPrĺ\rD-Jpt~8!1j%Iܢ蘒-ێ\$HU%'%1C'#\n%s 7v8iOAs#3e)2-O\"\r%E8m!432ަE\$7{)p)h(a#FC\$(,PB,!q+s)(e:ʬ:PO;S6Dx<!6ʓ.6&xCRUB*M&V@s+0H?uqҽ\nDA4ѨΌq1/124	)\nQbQe0ͽm;CN8\n-/\rʐ*SFtYG	)ed QׯEKF39\$S</Fu:qtGK1Z\"f\rW\":\"^u0m_b[\0ć	\nZ\0@\0Ɔ(?R/NxOXku8IUAM-DHڵM u=DfhUFxz_zHFMH\06gbS(. 1NqbN㈐+vcu0DLgLAW;Fg:*2A@S _i\r[`[Dxr0u\06USa6#\n(V(,U\0!MUj49b6q{'R@ʅ@U\0@\r\r }':bhe8R^<.2Gn.8.*U0č@Qak0Ya!X'gLQsRKeCM\n1X6sF^^8u1\0JF\0G_d\nQbVJQ%A\rɾSakP7NA)!9u ";break;case"sk":$g="N0FP%(](a@n2\rC	l7&P\rhl25rxdB\$r:\rFQ\0B18-9I0=#\0iLALUb&#yD	k&),F0է3aDVa{\n-@f(hds)e:G3e6Ì)P7XQt/D.0ߏxl4C80\"\nٜs#+D2dq%1T;)\r^7> 4'|P748c[()* @1 @:1\\[i1Jè5oP 36<CX2)z4-2D҄\r#bP,j tx:`A'`0p&<[\rK #47q B.\0H;ۍC6B\"5N\"ԓPP&11HڍS0<W02<SD\n7B#UN;Ft6602Ǝ{;Zrb#F&3*3\"tPՐ%59*b2C+3d2\rcCx@tӮ,1*\"j-9}?OP/5欩1L\n)HmR\"⸕3B(83ʸ4%\" 3:t-j݅Ș;dڜ!xEeC;aAl8'|a^:\r7A2>'#R-ˀ@9 O#@)J`/n0P0\\f5%G\0P)H_@c.<`&t4@[tPz9x	K\rB9#_^(	☨>/jQ2;G\nc,A:0u\$05?ZuDNY\0SO'FE0T\nP7\"b\\\\΀ɯxsVY*Uc5:\nMV=B\$A+%|P6<Q*~ZpЯ`do3V\"NX.A[@:q2P!NVGPSeo4\"xb^:dSB\n0Uɂ0p6]HC;OȃNKI2gxNT(@*A\"0`B0:&Jm J7L餠!OC30#^7+A\nY\\ML\r\$pAxd\$9Gs:؄W\\YGg&6r1̔AH#\r@(!~\$1ʰbtFZl݃:'z}P\rsnȢ\nWjuҲQ22&5S.\n\npcϔ]Xh3qIaf\nːz3Ϲo.Sqق:YDOvFWn\r./AE,d<vX2f=_*аkiI!RMe0mBlUlK\"'Kwhna3[@f<PZu>:^,.Kٛ2JJ)S@\$\0+B=w8HZhXA]	\r;@Ҋ09DJQNA݀!C\\C\rٽL8Zw0	3d,TFQ6۔ԉɽv.\\Տ@14zbn᨟]F*\"H<RCB\")!2pݜLuHXe%!W.~	b5c@D\n*jgxL4V\"(CY(E#c(r)%ًQޛ9^3Z	AIu\\DC.<xS}2 \\e\rWM&\nF\r9dnyZ>Uq7+\n4ܜ5*fGhYҕ>PE]N\"Ik`JwLZjjl\"FSS]R7zB8	Wj%d\"8%ӵb3ٮg|S l:w9qrAkfmN%yħb7%n/dRS-wyԲOgLɜgV&\\IbfY+}PL7cͳvm`5rѽ&*𘍨Mxr,X|eIG>3YKނH&G~v [9ORǴWקm-\"Ӭ4_@ұVBQ5'~5'Q6=HƸJP@{꣼N:ឬ8QЖIטN	3rBo\r@&,ߏ|Md\n|N._\0S\$GHAV\"JMN;̨\0/rJ7n/t[\$HP Af7r73884ݰbǰ\n.0o		znL?O\0^v\":c @?ꜯҍkPKcKs+{PF9z	b@^䠯<\r7 IL=@BBB\0%d Е#b\rV\rg\rd|f{2e\"g^SC<|>R>)*z)v\np#bNn\"pP˨2+W/Z¸K؛	8Y**4#<FZ\$H\nFD9^\$)䁇#PZ|OpCIf(Bp,I@\r1#DLQU@|CM',-@Q%m<_\r\0rT(G	,1&L\rNpq,'N*'fljBTp;bzJ0Oh\"F.Ē\r	@~/#-o<|gF9@J\"fl0_*,0\$v\nd:6+r8F%(Hj\$&΂Ɖc|~^d\nɘO(-	\0	\0t	@\n`";break;case"sl":$g="S:Dib#L&H%(6l7WƓ@d0\rY]0XI \r&y'̲%9JnnS鉆_0Thg4Ǎi1b2%\0Q(z՜\nb 'cI\na7\0QN6V	\n#M)	˔3)2ȡg1T392\0fP9fȡTך>I=Z803|-\rLz3̆*N	2:saɍ=VkFo;s=à+(xI<5,d\r0?2 P:X896HJ5Òx1JC\rCz	Hx9ibܣCè6ڊhZA\0(ȃC״/ғA#5=S3J\nʤӒ2ƍ\r*o6\0¾n0;\rcDx44<#*J6[,2.*u8)B0\\;M5\$̍\r*6H5^8Tn:cRP&n9ɨ\$367l΢XUz\rcۊX-9BkH92Uo30z\r8Ax^;tvȪ\\{ӕ9#xT31/D	#hCx!@h¢\$86oM )*U>LcJ4\$`\$\n\0P(L|&)j6KKꌆmf\\==;`9]hܺpHT v\ntѰ'b^-k{ep:#78s\n;⛩	x777}3\0@3/¦\\70ZgTw?{z= C/i×(T	yS]7%&tׂMǆ8AzMҬHv;\0\06iaB3mZ\$(7HFvNjq@HJR\0POd\0|8QL|Ñ1D9K uV50ꋀQш)<sC<I:sTY?qk8i#\$I+q8㪓WG.C2=fѕᛩ&Q9#mL-k=M||=C_FYAPفǨֵ҈zE5EHBf/\"bE \rv:D3%F!R,ř+RvI*në?'ú@P=\"Y	puZ\0&D䲅B6UF\"mD VB6KʒBLqkz3G	;T-B@J˥\0RLY,.RAu:\ri\njTU*I*Yj긜XimTƾ(*\\u\$ޞ7\rZ>\\7rS(m<t:.UĚJyT\0M\$Rǐ+\$Bv(U5J?Ve#\$xXW(Y~1rڔ js[Y!Rxt6XHȤmL%^jd;H4P}ϩ'Z\\IBTOc8ڥ=H[ȓӪT.PU	A[wCB R\$QzGX@h<%XbI)%ZjAc`YfGKXM;[WO3,ÖR]JE5,E7O^::HL+`\$w	2`'\\\\PF>Lyqv߾H_.oQ6VF.#`>Z(ql+%pER#KK'O>D]	oYAh]*m:j_b(z']hQؚrm]GǦX\0NWdk6QMuΚ؞q֌&i77Ub6jXQ_~RBz`\rD#XLݝ.(ci_MSk˨^%=*T16dINZ#Vn2KF)R*rBb(fC;?8*fro>SNkgĳ@_,bF'|xF['GPJҼH{6iKPuK\$P;nIk/0}ԟCzg\\ӥ;	򽣸m?uߥT̈MyAߨDh)MͶ\rfw6ǩ8]!v+6;߽Wߒ?=9;Ӧ?\\Ab;l5S7Z#yDKO\nhՓGQ2/z\r9\"7-Zm0M^\$	/\0^ݐ3cr?^Fd)\noGIA\n0RT?L\\\ny\$js\rBk1\nhpH<\rV~o'z,pB^ǺiA0\npc, θpf*pd-Dp-\rPZ66X\"@h@fj\0#^r:fnL,1603Ĵ I	@ Ǫ:PJ\"&'fP0>)H>'MWb=B\"gJ2'OЎE# B,\rfL&-'J'lQ'By~\rr-\"1pP1HBG}+1\rGfk	T\$D[ՉG\$o\r\"b.C,.2Jk\"80挰";break;case"sr":$g="J44P-Ak	@6\rh/`P\\33`hEC\\fLJⰦe_DehRƂhQ	jQ*1a1CV9%9P	u6ccUP/Ak\n6_I&N~]3%&h,k+\nHDRIVow⯳Ē_AEZ\$\"}!Eu\nI)Kŋ#XNeN-aa\$o4\"1G 3\$5^͡JT0!PϩEO/9\n?=Q/rӜ?Ⱥ:b#,m7T۵(\0a˪Yij]Ć?h>S_I!9)#%!L'(&_HkƁH=Ϋ ېp*P9h!?̓\n b[9I(BDvND%LLCoZm\$hi3n,nʟ RmB& Sd#ON`+;TI5zlPtMeHK0%%7qm&ErT\\\\\$-5*UQLMGChЋ.&̂;+\rsאu6shkm0\\ma\r䡦O\rM@!b\\E\\B[f-|\$%q2\"9LoNPOZH,ݦ-u3b	R#P]TKNX|(Ĉ&-j\"ǑdJj7Z	:@8pØ7Rh<H2xx0G.3:tT# 4H]x7v7cHA\00C8:t\"6#pH8\r(ێ^0z7ɣ#X\r#čokbM	FH!fоxM( \n (ˉT͝!Okf&Ĕ-\0^KS-lwq\\o࿬`C)S15JDD`RhBO\naRbg\rankM+Pܛ-Clv?.z\np,´N֒f-#B!:\0A\0uzւ8Hg\n\\`A\0v\r.p#HRhiznA>@o\rćgd@ F\$t[ OпrS_74b~ku&j尃dG\$\$bKA-8 KMm֔1ic(Q\"2	?`<3cdLЁp6.2B[9hBͼ!\"]M	ȈN͊!T'#jײBu\"BVЖtD԰PD;+mВZ\$J*N ('@BD!P\"\0Q*Ȕ9,\"\0e*\0S`B`E'4aT{h\$JLV/%:jaEMUF_ \$@[UU8&22O-,S254L#3&Es&yWEy@Uh`r_Р\$,Y/?ɝqTpwT!,)YV0if&E&ޔa]!BEnŤ\0nֺSۢpB}>I\n\naӕOEgS.PS\\xj9R\ri'%4bb20uV`\"jUem&\nR\"'%C؈\\BYg7X|Њn)Px^\\2f(cC-(Cl#p8ah/;؜Wpw!hgMA\rlL~yǥ#,=9 m.gx<tT0\\KX%sUY\"7VyR'SSt;%ceO{w!c+IQ]?pG*(nhmܱ\$B(\n1wv!V-{9oBkbqѴ~-x*Ch2iOUN Cd.!ǃ,dڲ,!&X6UҊ˨C3o/lgF4T=2mp>ޥ(m-YT!#Hx+4q2j!{>A2ױ^Ԋo}j.S٨zm\">\0p#Zy=<?qLmX-TUrrOvn-'V1u2Z{)k,=ݑehƇR\\<^-wľʕ|ן+bcؿ\\6~6·13oLn/p`,<ḼNjڀjTΖh2 k۩SbָDf\"ETʚj&ܢ&V* FR#yep*pNĨ\\/ kp6]P^R2b		e.؈#\rV-(\"Blj]\$W0(H.趡I\r^K.PlG,\0E4,*Ưm3΃Ka0RX)E000¾i}2-k%9Q12qJT&Lgae\n.(YQj~)3:DHE,\$q|S.\rq\0(`肑ZάFaL<MsŘ)v[\\(sCn%#\\NQEɠN\0`»qQMQ!+\"YQ^qμ6Q條\$e\$YoP-3R\"&pH\"-l'rm#a)\$\03\0knL*/# \"kM\$A,0\nډvǒ\r,2b\"\0H\$?.IK,J@Ht3lk90C)@cbȨH\$.\n~a(@\rp@Gv\nn\npngv\0ί-R(,8-3,fI-,\\8mdpi>aNpb]![4jZ3KК&-ښo&@G\nc>MUJF\rJ?̤Nb`	p\$Np1ТEndj+\r/04),oa\rT\$,T6F9Cn1)\$ΎEO1E/\\4\$ЃD.\0̑\rH;քHi%n.oIPRkv6<\$@2F*/E6`:*pRt\"Tx%Niمl\na+Pb;%>x%\"pt#3QonNHB\$K4QDų!";break;case"ta":$g="W* iF\\Hd_+BQp 9t\\U@W(<\\@1	|@(:\r	S.WAht]R&\\I`DJ\$:TϠX`*rj1k,Յz@%95|Udߠj䦸ɾ&{,MS_Rj^8<Z+e~`- uLTtY/2cmiǪˣi.zaV#knW{>·#Iϟyt򛥚XMY`ݠO*)(6[<O[<c4*h*r³'9\\@<\"ȩ\\<4*qr0)+6O\\R*%2c\"/\n;stJ{򻒋ƨȒkɭSǩrm%+\"jjm*R(1B/r\$8,9ҋZQtR봥s]\niO'LJ+t)\r\"%t<ᠬ؈\"S4%E%\0MgTE\"IѼ; ĩ\nS(<B07c7KfOI337U[ +NB7\"V6\0ɲvM,ͲoV:[GTK@/0^ϰL\\`6\00P(EkPn\\w\n;8<JLR09NA:\\auC1UluA&snQ9d~5sK23;\rӘf3JrS`[=ya}·\\,G\$s3^ɱ5%@͍ψ7WfWOWCCNHӼ5\":ԠҤJN\\n`B)CNzdfO\$nqY[`U-\n}4,-,TXa2%6UZzUkAC8xpm7cdW\0Y\0er݂	쩻 y`r0H)h (XZҔ4UpYvNA0e,?`Lq%rђ߈\$\"<-1L_+fQX 9wrC(x}G \r3Dt\0%qE\rrxe\r҄<!ں\"g9t##?hnPԢ|_Ø B4|!Xmh	D׉#J\n;~\0\nD01=r_؎hN*\rT00BV9P'<䰢)sq!JÙXS8웜'EĲP5HDbu7ѳUȱ:1\0RhaɑjPf>Y@'0Hk]ԗ(oƛظDkz1`5Hg~ʀ@\$ e]!fߔ8m\"4AC\r2\$Hb \0v\r2\$#IhiwL@\$##h:!quǱޜ#FYUiQ6Z\"iNɠWZDh_PQ۽jf1VQ\\|x={V5`a8vjs#І\rUpĩ<(\nҲɳ-Tg:70o3mjăS1-uᢡpA6sW8W!{7(s\nA`pЈzH+нJ>\\j0f&!\r,UL\0JI;\0U\n @@D0\"M:Y9r0_GJfu¸н뼎(\n04\\)6Gq0|-+=K4t:i?0W]mU]cx!,ZH J|:W4L/;vލ|K{H`v63C\r!ؔ̘wyeCxg˷?^`\$	G+)'ǡBN*rlAUCk񫺬RAqs[Vlڬp#bxozES]bwM⥻lq;;~`璾 N`f+\$4Ι7_:1#\rד(bc1p;W==\\VJr=JKO+~jK};?m]~_\$q}@>3(lʊ=AVĮRl,5}~,^!JZD\rW>*vjʳ|/!o@~}c;~ά?U~tqx~Ϟ2`b̴'\n(	m߇p\$(P(&pkdg.,)Z\"\nhUMP5/DlBʟPPRDiD,njW%O~jQJQbhko	ZdxZ\0h	XDTNccxtZPۮLT2+ԁ~΄Q p~	\$<\rp܋R1C\$p|aJ\0\$Z\0ܙ =\$h	\\)h)\r1gƀljƩ\$	*7\r9đ1dRQDd1UBRؐFEqܭ1D;qA QhB LH!:\"]?o!G##G\n?mI Ojj&č+nkv1pb`\nl2D［BЂ.\0SQ,9\"\$*ψh:+i\0 x/0o\\;\$^\$RovPf_%'\$r3!0n\\\rb2k)xv\0#1͎	\0;'%\$Ur\$Opog4K}4#,1PV/1~\$e42=4@BMN./sЗ\rW/R,fS4P^Nӳ9ЁcHFX\"-dr,uM`T>ʂK4 ӕ51:sX<l3%3r)\$rs2J[>\n>T@ '\nS)SAFҸަӣ5Sn-4xvV@̀)[(>'\nL\nzH*&TDTSe\nƸhty+Q'2\"2 Ӗ*'_ETCKpAT.x;M3#`{.6n/tbOA	R@K&Ig7\\G<CBt[ujk8+R=1O3ÝYP?OMЋ'q2\0Ewt!XWWՑU9\\'k\\u+1[\",f:5\\eu1sV#kS`\$`hA\\WGKbBb/`;a3QTnIe;\0PARO,a\nK0\0\$mdBONPv{156{]*ڳҹssRuijY]uZrJ\\_UxОeBOӻ_40X̮eDhNm4odӇ 5Rr\nҵjU5C3]3k4aLȷSmJr{j.SssTMaM[tluED#qnnVcN7rWLIUt Nec\"@\"a&:Um\r2rv3F20oyטT9VUznIz\\~s{Dmyl,.	\r8_jnXm	\"R[ES~K6?oØ:N^sHJس\n1ہtK\n :3?_J%.nI!toE855sX& P3ƀQFMRw_sJ/o5`=``\r`   ژ+\r+ \r*ę\nZN]=;U[\rX%Όjsd)m}͏*n3UL8Ryan\"rTp|T#bVKg/l5kgVKsI\r],uL\rvx};~*4ӆ0[2(8H֋SwzPieN	(=Yİ_J_fKjCDg\$T9G#h'/iB<'\\C628#sNy׵DUyf%{TCR&J3i%E\"Qh8X34\r Jm.Èp--uEhHZi7NzDGff'5)B~ܓIsC12c-rSY\0_@ˆ\rr8<!\\2RF_VMEq;p 7_^Q6bWIY Z	AyP3v~dXj*1FMxI5_ƸWM) :%AB{`	\0@	t\n`";break;case"tr":$g="E6M	i=BQp 9 3!i6`'y\\\nb,P!= 2̑Ho<NXbn)̅'b):GXnOTl&#aA\$5)\0(u6&QLy\\V|-2Fmz3ADIe&G2H6N>pP&9(}7܁EixbH`BD	҃GVY0'ׅb5eG&6j&Zt_,Jx\"]|t0;bc\"lHK7)p7Z\r2	 C4\r.h,:*D0mH9RJ=4c`꩎P<-\n6Ʋ+	\nb3IԂ0S<ÒIMT<o+མD:sOD\rܿ&J5ƅP L涢%/b\"45\ro\rN9SsAp63\" @b#!\026xK;b\$¬/9,+ȟ\$zv9B:<p m\n6'ֹbVn2ʋb2`@6;̘#-\rj:INQZ\r#h4 P0(cK%x\"E3:tl#\"7#rJ3鎂<1r\r\n91#Z/H8H|h%p4\r5r#[4\00:\$kB%zXI\n@q\r{ȠH(I`MbNh@ x\0Yr9͔Ae	)>qN98\\jCx֛;˻ߊx*0\r}sc˅+b61(7l:#;G:[NwR9zx1a\0\rN\r#8A(c2`KCIQ@C%m`fXrT-UT}\$/\$2Nbdp4kK*`9\"wN	A2>ڐл漏\0:lظ18Dbg`aغ9b@H%Ұ0[c)m-2Yy}CG9FxʿDA<'\0 A\nWJC28Qxbl82!B E	E\$XM73xdK6(QӮ\\󖦴*/ ݑu\reU\nvVњ8P\"	l:;CI*74(\\\"3\n\$\n*e\r%NyZv;DۖR,ˠD!\n!Orrg-76#fora8(AcŊ(*+(wNVPS5.j/IJR@E;}*V˒Di|ӗFke)NDH,JʸȺdIq9'ꅌL	vU\$%5qV:ZFbI-`eiwWgkJzoUW^>![j}vVYyX\nA4\"dj%qWXI8HPĬ'HTav#D^c\$)3KQ31SÙJZ\\뭘/l0S}EHz@^/\n@f*J<ea!'\\Iq;;'\0YީI(C~]uKJ`y0\$t;Kk\rCG'|,ЉXY#cyP˂*o#.m\r佄+\0_\"5ؑhe\nÒNdȻ\$ޜIdO)Y\\Z;)Ol9cPOѬv 	L	mw4ɟ8\r0εL*uuWk\0֩M1u[ukY>><(!~3Ģ:o!iW]=ډnE/h+SL^8yL:DG_\"'nح_jEis\$ظ=upm˾jBj櫛>.Gz#A\r7e'	l۳4vsǊ]	ƸISK0CŹ>S˶xGwkrI9(z4aʆA\np`ۉ|0:Xan<u,]2ܦi^p\"]s4nF\"8]c!D,P@lw%U@;A݋^gj33:al%pFZIӟSRO.ǷSwxoYž3U/ns8 9>^5=LMڿfŜ\" =7,lX.8fuTχY(^S0%ȏ@ln¦I3X86\nZ\rl@ϴjm%aMX[Jbk*LL%bbօ9n@D.grP\$\ro:Lk.>Fn'o\$\$.s\"\\xAx.IfM*&UPR'OtP\n0ĢB| c\$\"0D\$Mp0bNP6/JĜb̧2G>H,y\$7ދxd4?B4C@\r|p0&=(xgcE\0?\0pP>0\"𼗇P5ed,@f\$2ľog,-";break;case"uk":$g="I4ɠh-`&KBQp 9	rh--}[ZH`RdbrbhdZGH\rMs6@Se+ȃE6JTdJsh\$g\$Gfj>l]H_FM<hѨ*6J29<Oq2y,*Q<΅\$XFlm cJ	3(`fU4'X!Iä嬾]GtLt`m\r\\fsk0oi5.*(*|	O2\n225ؕV7K8MeNhD k@r4m:?-bjz*ꣂ*H#hiF	BbɤS-#lڬ&(C 	+Í!PpҪ&2 ė!,ϧ0t3P+PK\rDұH,!-(TrOpcit4Qh/qsK2(HBW-!t2nbdT43ͤJ\\)KN#`60P(bW'%Ӎ6LoYъrǶڒH*\nB ԭ[v[惵q\\\0O0(Ϧ\r}t:J9*5ޘ^64HF;7@ӛBэ!|\\b#HIT\"9ODt=b+*h(JpmI(R*QN:i\\-m&\")q-0\$%7*}\"J*\$`YQ:	(Q'.8)diH.':t8Ʃ`JmBh9(x;29&!\0D4x6#wdw#8^2؍Ø7!x0C8:yBb\ra|\$6x>,?z`ְCHtv6G/hcԠHyH\n\0\r:L\0I9NZ864Ds*\"=ÔB*!ĵz8.8EdPɋU GIQC)=h![QM(ڣܫ7\"C}`]i0	9<PvnSE5b\0¢d6KKHqR\"EBdv<ɧ*\n9(>Ckp.\\N\nEBrxCxu7\0{1:`\0^(F\nBe_˹PD`ivAr@Ңad0\nZCM8ʚZ\$Hmzsrb;npUB`mFzڠ\"ohQ8.Tf(yE9& :F¨X|t/Yء6SFv.@zQ#/	VdăP6ڪCP0:Eo2D9.A8IDFLDbOYB&Zc@J*]SҵU-^F:#Ы%L_ԫR)?	ҫJ1.HW+sL'?K0iT<5STkը)4D:*%AodrWiF79(˔uYYܳ-aE\$Pڤy޷F](`F-u[Ħ6eo=Ru2NP4i`jͽb 	m^E#N;t'grmF. \$UL\$Ff&Vc74Vh.3atՖhs\$\nvZ.}#g̘3s7nFyJyT*X\\C&lڤ7<6'r3PѣiJ&X1X\"ݪ'A%+a<H%6U͇p*Fj/3LC]'\rF{0_G2\$ܷK~]nܶ2kpSkOjN`(A{S((H]qҮ+ٿfHos`ZǐБ۽3d,!CU+XN##FZg\\+c.uB[fI5:rCMӌssgtYĮƫ٣4t4u\$2b@i*`nl<qkFߒ*MM,&>b)P+|g<ymZFKԵ-~\"z&gilbeJI3Dڤhd,o\"JpZQ{ś mӐ!pJY:hޘ[^Y\rןI>d_;,/'4PB^/%;*OFL0\\\n2d6ک\"\\iTv(bٰL;+jNOc(znJ0\$`K1\$/r_/La`pԄo`MC}.j>pP	\r	B;o[O	z\nɆbrs\r!l<լ@Ȁ0\$MFí1q!	flCH`!k,mR]+^*bD*B#qGC\0@pFFBq\r(JD@\"j]&nJ+n M\rmj#L\$qHK*bD>kڊB0M\$sd=nk0]pQ0 bHo,'&q>(JB[&uR- b w#BI,`z<ZD<@/o8EƌE@	DS\"1\rЋ)280Y#!)(W*#2@\rEe\nIC+\$\\l]2ĻRB^2S-Rڴb.(Ń)NE1\"12rH1.3(¼4J(eU&VlpI+n\"Q!5c5!6 q65a hтϲs(ˤh[3\nؒz\r:LmE;ĸs'ҝ\\Q#ҭ;έ<.Ѯ7\rc'\rFRE>XУ=>P=tA=PB0BmeAl@eq\0@O40̪?BR tLɨX `\0Ă	\nZ\0@|\0Ɓ'\nAu.ÞgIlCd<4\rjTa%ԯ@#k\$&>B̐KNS/ \"R\n8[MCfP&`4e:lɧ7EbFʲ[H#H*@ IuET\nw%ze&iL`AtԺ=\n=F1TOW0*!VWIc93%WX0z;p1fqZn;b@	d\\8S%(ZQj5!JPQLT=LV@@n)2\n3:e!oQ~\$.be*,6lpϊ=VT5\\868bD@SnrZUfvm*.pjlX\rY+?o0p6/o63oA~";break;case"zh":$g="^s\\r|%:\$\nr.2r/dȻ[8 S8r!T\\sI4brЀJs!KdueVDXTNTr}ʧEVJr%СBS^t*ΔTKR\n^ZR˓dҗZVթw:MYV	{=ȺF:*!m[C 	W*m|^NuλK3yȅ%[W\r`FWI=ZewJ21tN%̋T|t0sZ<֎dЧCiW*/tt%ZD9՗_(x/A;`o D%8sRN]\"^9zq\$rD{LvH ҔCaJLEB\0NB06\r\00C`c7B&<]9&r093:Cj^GL9Ou;93SGALt\$^)KK:seAJ.tBŃD9Nd2 P:KFJ\0)B0@9F*IFHr5\0Q?i\$NgADU%{sn_p5\"̕彍dU.Þ^KS	[ZZbh9(X;&29 \\@4c0z\r8Ax^;p2\rH݇بvx<ap4E+#28,XD	#h-\r|a:\r|&:\r5cHalN;IRr.̱^@(	@so[HGKD(aiyɂeLrB/1\\Z1-DOQAZiT|8)[5cw)=\$,c̳9Ii#xKp@:~fdC3LND#\nT	:+`j\\aٜ+c\"bxvČ\$ IZjAAw괶*Y20XØ@W@0M<󸷅p%Ÿjs\$-I-Wc`{v,)ڊA,ѤK4P*X E	2!.o(Cs'\nGI\"%	;I,OB.6@Ũ8%\"2\"Ȁ#\"EEܝrՊqvI?&HDjJlo/RÜM(:s>NJcġ>rl^`s4H&A\"L_#U7-5)~~/&	A<IAnŹ-┷@<)B#4<%pJT͍XQ&#Vn%A!j,NJ+r[Y(#P\$2LcGԧP&[Q'0EBBczj-¼ M6pɴD4\$Ud%p\"9)s5D*sAxA*#,Y'lGu5bEqG65L@a76KKM- aaX4JuM뀨+hTȶ5׊ꃐN#)dfJ2ķfVCZ,\$ѺDOSecLG##\\v[{oEᑷ>im,;DJrlH#N-кPZ/oe?uS\"K0M?\r=`mΩ؎}:!AѨ^숋\"Xnc\$,=4f]B!\$e#.%ȦbCxt/kܩ0!\\+PrFܑ),ˣ9;22fAUb6:Ja\"gC\r3CJ3D):iQg%,\nj)u2l&Ջ'MP\"\$uN7L	1F>Av&ړt:^3S%;F[NA&Y^3>fnӆ0ݓRgћ\\|aNP<ύM@\\ [0C)CغI4&e:5\"\n\"HܘXaBQ&䆪ɻ!D|Z`+a40+~6Tikf\r!<B3Ka:@k\nP#pcA3ZGDkS\nin8/`-[Ʌ\"Q7AUv/M#\rVM\nK#\"tTHM	23`,pZ־Rǹ(h:V&^Ave௢tWARVfl`g 8GCn6#4˦TtM-a[%%傲a̍itC,\$\",%FZ:B\nZ-zrS* ã|¶:3Vd+b: 1\0	\0@	t\n`";break;case"zh-tw":$g="^%ӕ\\r|%u:HB(\\4prneRQ̡D8 S\nt*.tI&GNAʤSV:	t%9Sy:\"<rST.r}ʧEI'2qYdˡBKB=1@:RJ*)zZ]KeO('JY'-V4ye-D%g\"@,r%nZeʺUk:cz^.YʸY0*\r-Vz.]˔ȹB Ss\$l]Nr[TKMȆDS%ȶ?kY`rePi>[b.[AxW @1#aK\$:ZCpd1H\nY N(K	]g1Gi^YI5{L1U!8*\$nהi#`6\01#p)\"aHH\$#D?r̈́5=\nsd]\0}\0mDebva^(Ds/It/R[EѰn];\r䋣,\0)B47c(ܸiC^4	rrTT1D)4p@r,DVr%s]s7YnY;sig\$`:\$)Km+_1Him\rA\0c9Bh4C(\rhC@:^\\0h7]}IU70C8:g4a|\$6Cx!@@4\r7#\r\r2xᤍN,K\"<%\\BABڐ*DeR1ZX(q<_ǖ\"D)f7|@DR!	zbW5GٔiQ)P)ؠ'bAIR~S'1pMX\nL\0B~/a2[b:E:~fc3`0iL;fP{}7CIpE_>wsVړ61TO\"Vzk\ntЎqP\"VWLEX\"DAe0M7@#tMW㜃UFB.aH;AWw0%FZ~nDs7&V?äFR`\n	8PT\nB@,3]#&ێBDaJ)L]%UjHI+(r*⌥GY=(.иsPRQ?'W2EŠc⟇<ٛfr9А\"lW82̽@o=G.U)ș쿝S|ILrL]UQą\rHFv`J'ꌘ\"XTͣ%5 B#5*'	LlX>/ܑfM]I.\\x_0\nT\"H4ݷij\"+l>HE':%lE0^早 (V\"Z pR e<]E!1\nQ|'!7tj lTVQ6Zyz˸L1΄t2K*ٝRiU&aRs@av<rN~0@pAF[ ~0MLI'&пDLL9ȼzס&KSAL	W'ql\$홻7ϦVXZasUb¥jb1Q&ɑ-GT#D	Dbh%s8fbnc!(diQ L-F5K,C2)0_Hob<QoA{{Q*5Hb#TI]gzÙՒtÑ\$eŝػ\0%S\$40'MdiB\nS.ܞqb<%'XRj3}5LyQu2ۉ|*Nk}-v8h&lm%'mXGX{tQ컢&i\nݦ;¢½!j\rN_L,4^u\$3u񗁽x\$\\1a\"0<ǋlOjdFJPJɇ%Y]i|?I/=>Z=7?\$1ˈH\$V(}2]s((\\#j ~1zE%Ʈ=-|}B~\nhxl!\nl\r!5ða\r2CHf-:8@\0(m}V!BF,pgp1`sWr+q5P}BKc\$V	F{'(ᓷ J[S#G7NLL\$BQ<KK+&!%6&o\n6[`efL\r e\",)FM%EbA*ň-!+P+\"pRO',D+|\"PT!N:!@a\nhgAA~Jx@	\0t	@\n`";break;}$ag=array();foreach(explode("\n",lzw_decompress($g))as$X)$ag[]=(strpos($X,"\t")?explode("\t",$X):$X);return$ag;}if(!$ag)$ag=get_translations($a);if(extension_loaded('pdo')){class
Min_PDO
extends
PDO{var$_result,$server_info,$affected_rows,$errno,$error;function
__construct(){global$c;$te=array_search("SQL",$c->operators);if($te!==false)unset($c->operators[$te]);}function
dsn($Eb,$V,$pe,$Yb='auth_error'){set_exception_handler($Yb);parent::__construct($Eb,$V,$pe);restore_exception_handler();$this->setAttribute(13,array('Min_PDOStatement'));$this->server_info=$this->getAttribute(4);}function
query($J,$hg=false){$K=parent::query($J);$this->error="";if(!$K){list(,$this->errno,$this->error)=$this->errorInfo();return
false;}$this->store_result($K);return$K;}function
multi_query($J){return$this->_result=$this->query($J);}function
store_result($K=null){if(!$K){$K=$this->_result;if(!$K)return
false;}if($K->columnCount()){$K->num_rows=$K->rowCount();return$K;}$this->affected_rows=$K->rowCount();return
true;}function
next_result(){if(!$this->_result)return
false;$this->_result->_offset=0;return@$this->_result->nextRowset();}function
result($J,$n=0){$K=$this->query($J);if(!$K)return
false;$M=$K->fetch();return$M[$n];}}class
Min_PDOStatement
extends
PDOStatement{var$_offset=0,$num_rows;function
fetch_assoc(){return$this->fetch(2);}function
fetch_row(){return$this->fetch(3);}function
fetch_field(){$M=(object)$this->getColumnMeta($this->_offset++);$M->orgtable=$M->table;$M->orgname=$M->name;$M->charsetnr=(in_array("blob",(array)$M->flags)?63:0);return$M;}}}$Ab=array();$Ab=array("server"=>"MySQL")+$Ab;if(!defined("DRIVER")){$we=array("MySQLi","MySQL","PDO_MySQL");define("DRIVER","server");if(extension_loaded("mysqli")){class
Min_DB
extends
MySQLi{var$extension="MySQLi";function
Min_DB(){parent::init();}function
connect($P,$V,$pe){mysqli_report(MYSQLI_REPORT_OFF);list($Fc,$se)=explode(":",$P,2);$L=@$this->real_connect(($P!=""?$Fc:ini_get("mysqli.default_host")),($P.$V!=""?$V:ini_get("mysqli.default_user")),($P.$V.$pe!=""?$pe:ini_get("mysqli.default_pw")),null,(is_numeric($se)?$se:ini_get("mysqli.default_port")),(!is_numeric($se)?$se:null));if($L){if(method_exists($this,'set_charset'))$this->set_charset("utf8");else$this->query("SET NAMES utf8");}return$L;}function
result($J,$n=0){$K=$this->query($J);if(!$K)return
false;$M=$K->fetch_array();return$M[$n];}function
quote($tf){return"'".$this->escape_string($tf)."'";}}}elseif(extension_loaded("mysql")&&!(ini_get("sql.safe_mode")&&extension_loaded("pdo_mysql"))){class
Min_DB{var$extension="MySQL",$server_info,$affected_rows,$errno,$error,$_link,$_result;function
connect($P,$V,$pe){$this->_link=@mysql_connect(($P!=""?$P:ini_get("mysql.default_host")),("$P$V"!=""?$V:ini_get("mysql.default_user")),("$P$V$pe"!=""?$pe:ini_get("mysql.default_password")),true,131072);if($this->_link){$this->server_info=mysql_get_server_info($this->_link);if(function_exists('mysql_set_charset'))mysql_set_charset("utf8",$this->_link);else$this->query("SET NAMES utf8");}else$this->error=mysql_error();return(bool)$this->_link;}function
quote($tf){return"'".mysql_real_escape_string($tf,$this->_link)."'";}function
select_db($mb){return
mysql_select_db($mb,$this->_link);}function
query($J,$hg=false){$K=@($hg?mysql_unbuffered_query($J,$this->_link):mysql_query($J,$this->_link));$this->error="";if(!$K){$this->errno=mysql_errno($this->_link);$this->error=mysql_error($this->_link);return
false;}if($K===true){$this->affected_rows=mysql_affected_rows($this->_link);$this->info=mysql_info($this->_link);return
true;}return
new
Min_Result($K);}function
multi_query($J){return$this->_result=$this->query($J);}function
store_result(){return$this->_result;}function
next_result(){return
false;}function
result($J,$n=0){$K=$this->query($J);if(!$K||!$K->num_rows)return
false;return
mysql_result($K->_result,0,$n);}}class
Min_Result{var$num_rows,$_result,$_offset=0;function
Min_Result($K){$this->_result=$K;$this->num_rows=mysql_num_rows($K);}function
fetch_assoc(){return
mysql_fetch_assoc($this->_result);}function
fetch_row(){return
mysql_fetch_row($this->_result);}function
fetch_field(){$L=mysql_fetch_field($this->_result,$this->_offset++);$L->orgtable=$L->table;$L->orgname=$L->name;$L->charsetnr=($L->blob?63:0);return$L;}function
__destruct(){mysql_free_result($this->_result);}}}elseif(extension_loaded("pdo_mysql")){class
Min_DB
extends
Min_PDO{var$extension="PDO_MySQL";function
connect($P,$V,$pe){$this->dsn("mysql:host=".str_replace(":",";unix_socket=",preg_replace('~:(\\d)~',';port=\\1',$P)),$V,$pe);$this->query("SET NAMES utf8");return
true;}function
select_db($mb){return$this->query("USE ".idf_escape($mb));}function
query($J,$hg=false){$this->setAttribute(1000,!$hg);return
parent::query($J,$hg);}}}function
idf_escape($Ic){return"`".str_replace("`","``",$Ic)."`";}function
table($Ic){return
idf_escape($Ic);}function
connect(){global$c;$h=new
Min_DB;$ib=$c->credentials();if($h->connect($ib[0],$ib[1],$ib[2])){$h->query("SET sql_quote_show_create = 1, autocommit = 1");return$h;}$L=$h->error;if(function_exists('iconv')&&!is_utf8($L)&&strlen($bf=iconv("windows-1250","utf-8",$L))>strlen($L))$L=$bf;return$L;}function
get_databases($nc){global$h;$L=get_session("dbs");if($L===null){$J=($h->server_info>=5?"SELECT SCHEMA_NAME FROM information_schema.SCHEMATA":"SHOW DATABASES");$L=($nc?slow_query($J):get_vals($J));restart_session();set_session("dbs",$L);stop_session();}return$L;}function
limit($J,$Z,$_,$Jd=0,$hf=" "){return" $J$Z".($_!==null?$hf."LIMIT $_".($Jd?" OFFSET $Jd":""):"");}function
limit1($J,$Z){return
limit($J,$Z,1);}function
db_collation($l,$Ta){global$h;$L=null;$j=$h->result("SHOW CREATE DATABASE ".idf_escape($l),1);if(preg_match('~ COLLATE ([^ ]+)~',$j,$C))$L=$C[1];elseif(preg_match('~ CHARACTER SET ([^ ]+)~',$j,$C))$L=$Ta[$C[1]][-1];return$L;}function
engines(){$L=array();foreach(get_rows("SHOW ENGINES")as$M){if(ereg("YES|DEFAULT",$M["Support"]))$L[]=$M["Engine"];}return$L;}function
logged_user(){global$h;return$h->result("SELECT USER()");}function
tables_list(){global$h;return
get_key_vals("SHOW".($h->server_info>=5?" FULL":"")." TABLES");}function
count_tables($k){$L=array();foreach($k
as$l)$L[$l]=count(get_vals("SHOW TABLES IN ".idf_escape($l)));return$L;}function
table_status($F="",$gc=false){global$h;$L=array();foreach(get_rows($gc&&$h->server_info>=5?"SELECT TABLE_NAME AS Name, Engine, TABLE_COMMENT AS Comment FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() ".($F!=""?"AND TABLE_NAME = ".q($F):"ORDER BY Name"):"SHOW TABLE STATUS".($F!=""?" LIKE ".q(addcslashes($F,"%_\\")):""))as$M){if($M["Engine"]=="InnoDB")$M["Comment"]=preg_replace('~(?:(.+); )?InnoDB free: .*~','\\1',$M["Comment"]);if(!isset($M["Engine"]))$M["Comment"]="";if($F!="")return$M;$L[$M["Name"]]=$M;}return$L;}function
is_view($S){return$S["Engine"]===null;}function
fk_support($S){return
eregi("InnoDB|IBMDB2I",$S["Engine"]);}function
fields($R){$L=array();foreach(get_rows("SHOW FULL COLUMNS FROM ".table($R))as$M){preg_match('~^([^( ]+)(?:\\((.+)\\))?( unsigned)?( zerofill)?$~',$M["Type"],$C);$L[$M["Field"]]=array("field"=>$M["Field"],"full_type"=>$M["Type"],"type"=>$C[1],"length"=>$C[2],"unsigned"=>ltrim($C[3].$C[4]),"default"=>($M["Default"]!=""||ereg("char|set",$C[1])?$M["Default"]:null),"null"=>($M["Null"]=="YES"),"auto_increment"=>($M["Extra"]=="auto_increment"),"on_update"=>(eregi('^on update (.+)',$M["Extra"],$C)?$C[1]:""),"collation"=>$M["Collation"],"privileges"=>array_flip(explode(",",$M["Privileges"])),"comment"=>$M["Comment"],"primary"=>($M["Key"]=="PRI"),);}return$L;}function
indexes($R,$i=null){$L=array();foreach(get_rows("SHOW INDEX FROM ".table($R),$i)as$M){$L[$M["Key_name"]]["type"]=($M["Key_name"]=="PRIMARY"?"PRIMARY":($M["Index_type"]=="FULLTEXT"?"FULLTEXT":($M["Non_unique"]?"INDEX":"UNIQUE")));$L[$M["Key_name"]]["columns"][]=$M["Column_name"];$L[$M["Key_name"]]["lengths"][]=$M["Sub_part"];$L[$M["Key_name"]]["descs"][]=null;}return$L;}function
foreign_keys($R){global$h,$Qd;static$qe='`(?:[^`]|``)+`';$L=array();$gb=$h->result("SHOW CREATE TABLE ".table($R),1);if($gb){preg_match_all("~CONSTRAINT ($qe) FOREIGN KEY \\(((?:$qe,? ?)+)\\) REFERENCES ($qe)(?:\\.($qe))? \\(((?:$qe,? ?)+)\\)(?: ON DELETE ($Qd))?(?: ON UPDATE ($Qd))?~",$gb,$od,PREG_SET_ORDER);foreach($od
as$C){preg_match_all("~$qe~",$C[2],$mf);preg_match_all("~$qe~",$C[5],$If);$L[idf_unescape($C[1])]=array("db"=>idf_unescape($C[4]!=""?$C[3]:$C[4]),"table"=>idf_unescape($C[4]!=""?$C[4]:$C[3]),"source"=>array_map('idf_unescape',$mf[0]),"target"=>array_map('idf_unescape',$If[0]),"on_delete"=>($C[6]?$C[6]:"RESTRICT"),"on_update"=>($C[7]?$C[7]:"RESTRICT"),);}}return$L;}function
view($F){global$h;return
array("select"=>preg_replace('~^(?:[^`]|`[^`]*`)*\\s+AS\\s+~isU','',$h->result("SHOW CREATE VIEW ".table($F),1)));}function
collations(){$L=array();foreach(get_rows("SHOW COLLATION")as$M){if($M["Default"])$L[$M["Charset"]][-1]=$M["Collation"];else$L[$M["Charset"]][]=$M["Collation"];}ksort($L);foreach($L
as$z=>$X)asort($L[$z]);return$L;}function
information_schema($l){global$h;return($h->server_info>=5&&$l=="information_schema")||($h->server_info>=5.5&&$l=="performance_schema");}function
error(){global$h;return
h(preg_replace('~^You have an error.*syntax to use~U',"Syntax error",$h->error));}function
error_line(){global$h;if(ereg(' at line ([0-9]+)$',$h->error,$Qe))return$Qe[1]-1;}function
create_database($l,$Sa){set_session("dbs",null);return
queries("CREATE DATABASE ".idf_escape($l).($Sa?" COLLATE ".q($Sa):""));}function
drop_databases($k){restart_session();set_session("dbs",null);return
apply_queries("DROP DATABASE",$k,'idf_escape');}function
rename_database($F,$Sa){if(create_database($F,$Sa)){$Re=array();foreach(tables_list()as$R=>$U)$Re[]=table($R)." TO ".idf_escape($F).".".table($R);if(!$Re||queries("RENAME TABLE ".implode(", ",$Re))){queries("DROP DATABASE ".idf_escape(DB));return
true;}}return
false;}function
auto_increment(){$xa=" PRIMARY KEY";if($_GET["create"]!=""&&$_POST["auto_increment_col"]){foreach(indexes($_GET["create"])as$v){if(in_array($_POST["fields"][$_POST["auto_increment_col"]]["orig"],$v["columns"],true)){$xa="";break;}if($v["type"]=="PRIMARY")$xa=" UNIQUE";}}return" AUTO_INCREMENT$xa";}function
alter_table($R,$F,$o,$oc,$Xa,$Pb,$Sa,$wa,$me){$ra=array();foreach($o
as$n)$ra[]=($n[1]?($R!=""?($n[0]!=""?"CHANGE ".idf_escape($n[0]):"ADD"):" ")." ".implode($n[1]).($R!=""?$n[2]:""):"DROP ".idf_escape($n[0]));$ra=array_merge($ra,$oc);$qf="COMMENT=".q($Xa).($Pb?" ENGINE=".q($Pb):"").($Sa?" COLLATE ".q($Sa):"").($wa!=""?" AUTO_INCREMENT=$wa":"").$me;if($R=="")return
queries("CREATE TABLE ".table($F)." (\n".implode(",\n",$ra)."\n) $qf");if($R!=$F)$ra[]="RENAME TO ".table($F);$ra[]=$qf;return
queries("ALTER TABLE ".table($R)."\n".implode(",\n",$ra));}function
alter_indexes($R,$ra){foreach($ra
as$z=>$X)$ra[$z]=($X[2]=="DROP"?"\nDROP INDEX ".idf_escape($X[1]):"\nADD $X[0] ".($X[0]=="PRIMARY"?"KEY ":"").($X[1]!=""?idf_escape($X[1])." ":"").$X[2]);return
queries("ALTER TABLE ".table($R).implode(",",$ra));}function
truncate_tables($Ff){return
apply_queries("TRUNCATE TABLE",$Ff);}function
drop_views($wg){return
queries("DROP VIEW ".implode(", ",array_map('table',$wg)));}function
drop_tables($Ff){return
queries("DROP TABLE ".implode(", ",array_map('table',$Ff)));}function
move_tables($Ff,$wg,$If){$Re=array();foreach(array_merge($Ff,$wg)as$R)$Re[]=table($R)." TO ".idf_escape($If).".".table($R);return
queries("RENAME TABLE ".implode(", ",$Re));}function
copy_tables($Ff,$wg,$If){queries("SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO'");foreach($Ff
as$R){$F=($If==DB?table("copy_$R"):idf_escape($If).".".table($R));if(!queries("DROP TABLE IF EXISTS $F")||!queries("CREATE TABLE $F LIKE ".table($R))||!queries("INSERT INTO $F SELECT * FROM ".table($R)))return
false;}foreach($wg
as$R){$F=($If==DB?table("copy_$R"):idf_escape($If).".".table($R));$vg=view($R);if(!queries("DROP VIEW IF EXISTS $F")||!queries("CREATE VIEW $F AS $vg[select]"))return
false;}return
true;}function
trigger($F){if($F=="")return
array();$N=get_rows("SHOW TRIGGERS WHERE `Trigger` = ".q($F));return
reset($N);}function
triggers($R){$L=array();foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($R,"%_\\")))as$M)$L[$M["Trigger"]]=array($M["Timing"],$M["Event"]);return$L;}function
trigger_options(){return
array("Timing"=>array("BEFORE","AFTER"),"Type"=>array("FOR EACH ROW"),);}function
routine($F,$U){global$h,$Rb,$Nc,$gg;$pa=array("bool","boolean","integer","double precision","real","dec","numeric","fixed","national char","national varchar");$fg="((".implode("|",array_merge(array_keys($gg),$pa)).")\\b(?:\\s*\\(((?:[^'\")]*|$Rb)+)\\))?\\s*(zerofill\\s*)?(unsigned(?:\\s+zerofill)?)?)(?:\\s*(?:CHARSET|CHARACTER\\s+SET)\\s*['\"]?([^'\"\\s]+)['\"]?)?";$qe="\\s*(".($U=="FUNCTION"?"":$Nc).")?\\s*(?:`((?:[^`]|``)*)`\\s*|\\b(\\S+)\\s+)$fg";$j=$h->result("SHOW CREATE $U ".idf_escape($F),2);preg_match("~\\(((?:$qe\\s*,?)*)\\)\\s*".($U=="FUNCTION"?"RETURNS\\s+$fg\\s+":"")."(.*)~is",$j,$C);$o=array();preg_match_all("~$qe\\s*,?~is",$C[1],$od,PREG_SET_ORDER);foreach($od
as$he){$F=str_replace("``","`",$he[2]).$he[3];$o[]=array("field"=>$F,"type"=>strtolower($he[5]),"length"=>preg_replace_callback("~$Rb~s",'normalize_enum',$he[6]),"unsigned"=>strtolower(preg_replace('~\\s+~',' ',trim("$he[8] $he[7]"))),"null"=>1,"full_type"=>$he[4],"inout"=>strtoupper($he[1]),"collation"=>strtolower($he[9]),);}if($U!="FUNCTION")return
array("fields"=>$o,"definition"=>$C[11]);return
array("fields"=>$o,"returns"=>array("type"=>$C[12],"length"=>$C[13],"unsigned"=>$C[15],"collation"=>$C[16]),"definition"=>$C[17],"language"=>"SQL",);}function
routines(){return
get_rows("SELECT ROUTINE_NAME, ROUTINE_TYPE, DTD_IDENTIFIER FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA = ".q(DB));}function
routine_languages(){return
array();}function
begin(){return
queries("BEGIN");}function
insert_into($R,$Q){return
queries("INSERT INTO ".table($R)." (".implode(", ",array_keys($Q)).")\nVALUES (".implode(", ",$Q).")");}function
insert_update($R,$Q,$ze){foreach($Q
as$z=>$X)$Q[$z]="$z = $X";$og=implode(", ",$Q);return
queries("INSERT INTO ".table($R)." SET $og ON DUPLICATE KEY UPDATE $og");}function
last_id(){global$h;return$h->result("SELECT LAST_INSERT_ID()");}function
explain($h,$J){return$h->query("EXPLAIN ".($h->server_info>=5.1?"PARTITIONS ":"").$J);}function
found_rows($S,$Z){return($Z||$S["Engine"]!="InnoDB"?null:$S["Rows"]);}function
types(){return
array();}function
schemas(){return
array();}function
get_schema(){return"";}function
set_schema($df){return
true;}function
create_sql($R,$wa){global$h;$L=$h->result("SHOW CREATE TABLE ".table($R),1);if(!$wa)$L=preg_replace('~ AUTO_INCREMENT=\\d+~','',$L);return$L;}function
truncate_sql($R){return"TRUNCATE ".table($R);}function
use_sql($mb){return"USE ".idf_escape($mb);}function
trigger_sql($R,$vf){$L="";foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($R,"%_\\")),null,"-- ")as$M)$L.="\n".($vf=='CREATE+ALTER'?"DROP TRIGGER IF EXISTS ".idf_escape($M["Trigger"]).";;\n":"")."CREATE TRIGGER ".idf_escape($M["Trigger"])." $M[Timing] $M[Event] ON ".table($M["Table"])." FOR EACH ROW\n$M[Statement];;\n";return$L;}function
show_variables(){return
get_key_vals("SHOW VARIABLES");}function
process_list(){return
get_rows("SHOW FULL PROCESSLIST");}function
show_status(){return
get_key_vals("SHOW STATUS");}function
convert_field($n){if(ereg("binary",$n["type"]))return"HEX(".idf_escape($n["field"]).")";if($n["type"]=="bit")return"BIN(".idf_escape($n["field"])." + 0)";if(ereg("geometry|point|linestring|polygon",$n["type"]))return"AsWKT(".idf_escape($n["field"]).")";}function
unconvert_field($n,$L){if(ereg("binary",$n["type"]))$L="UNHEX($L)";if($n["type"]=="bit")$L="CONV($L, 2, 10) + 0";if(ereg("geometry|point|linestring|polygon",$n["type"]))$L="GeomFromText($L)";return$L;}function
support($hc){global$h;return!ereg("scheme|sequence|type".($h->server_info<5.1?"|event|partitioning".($h->server_info<5?"|view|routine|trigger":""):""),$hc);}$y="sql";$gg=array();$uf=array();foreach(array(lang(11)=>array("tinyint"=>3,"smallint"=>5,"mediumint"=>8,"int"=>10,"bigint"=>20,"decimal"=>66,"float"=>12,"double"=>21),lang(12)=>array("date"=>10,"datetime"=>19,"timestamp"=>19,"time"=>10,"year"=>4),lang(13)=>array("char"=>255,"varchar"=>65535,"tinytext"=>255,"text"=>65535,"mediumtext"=>16777215,"longtext"=>4294967295),lang(14)=>array("enum"=>65535,"set"=>64),lang(15)=>array("bit"=>20,"binary"=>255,"varbinary"=>65535,"tinyblob"=>255,"blob"=>65535,"mediumblob"=>16777215,"longblob"=>4294967295),lang(16)=>array("geometry"=>0,"point"=>0,"linestring"=>0,"polygon"=>0,"multipoint"=>0,"multilinestring"=>0,"multipolygon"=>0,"geometrycollection"=>0),)as$z=>$X){$gg+=$X;$uf[$z]=array_keys($X);}$ng=array("unsigned","zerofill","unsigned zerofill");$Ud=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","REGEXP","IN","IS NULL","NOT LIKE","NOT REGEXP","NOT IN","IS NOT NULL","SQL");$xc=array("char_length","date","from_unixtime","lower","round","sec_to_time","time_to_sec","upper");$Ac=array("avg","count","count distinct","group_concat","max","min","sum");$Hb=array(array("char"=>"md5/sha1/password/encrypt/uuid","binary"=>"md5/sha1","date|time"=>"now",),array("(^|[^o])int|float|double|decimal"=>"+/-","date"=>"+ interval/- interval","time"=>"addtime/subtime","char|text"=>"concat",));}define("SERVER",$_GET[DRIVER]);define("DB",$_GET["db"]);define("ME",preg_replace('~^[^?]*/([^?]*).*~','\\1',$_SERVER["REQUEST_URI"]).'?'.(sid()?SID.'&':'').(SERVER!==null?DRIVER."=".urlencode(SERVER).'&':'').(isset($_GET["username"])?"username=".urlencode($_GET["username"]).'&':'').(DB!=""?'db='.urlencode(DB).'&'.(isset($_GET["ns"])?"ns=".urlencode($_GET["ns"])."&":""):''));$fa="3.7.1";class
Adminer{var$operators;function
name(){return"<a href='http://www.adminer.org/' id='h1'>Adminer</a>";}function
credentials(){return
array(SERVER,$_GET["username"],get_session("pwds"));}function
permanentLogin($j=false){return
password_file($j);}function
database(){return
DB;}function
databases($nc=true){return
get_databases($nc);}function
queryTimeout(){return
5;}function
headers(){return
true;}function
head(){return
true;}function
loginForm(){global$Ab;echo'<table cellspacing="0">
<tr><th>',lang(17),'<td>',html_select("auth[driver]",$Ab,DRIVER,"loginDriver(this);"),'<tr><th>',lang(18),'<td><input name="auth[server]" value="',h(SERVER),'" title="hostname[:port]" placeholder="localhost" autocapitalize="off">
<tr><th>',lang(19),'<td><input name="auth[username]" id="username" value="',h($_GET["username"]),'" autocapitalize="off">
<tr><th>',lang(20),'<td><input type="password" name="auth[password]">
<tr><th>',lang(21),'<td><input name="auth[db]" value="',h($_GET["db"]);?>" autocapitalize="off">
</table>
<script type="text/javascript">
var username = document.getElementById('username');
focus(username);
username.form['auth[driver]'].onchange();
</script>
<?php

echo"<p><input type='submit' value='".lang(22)."'>\n",checkbox("auth[permanent]",1,$_COOKIE["adminer_permanent"],lang(23))."\n";}function
login($md,$pe){return
true;}function
tableName($Af){return
h($Af["Name"]);}function
fieldName($n,$Xd=0){return'<span title="'.h($n["full_type"]).'">'.h($n["field"]).'</span>';}function
selectLinks($Af,$Q=""){echo'<p class="tabs">';$ld=array("select"=>lang(24),"table"=>lang(25));if(is_view($Af))$ld["view"]=lang(26);else$ld["create"]=lang(27);if($Q!==null)$ld["edit"]=lang(28);foreach($ld
as$z=>$X)echo" <a href='".h(ME)."$z=".urlencode($Af["Name"]).($z=="edit"?$Q:"")."'".bold(isset($_GET[$z])).">$X</a>";echo"\n";}function
foreignKeys($R){return
foreign_keys($R);}function
backwardKeys($R,$_f){return
array();}function
backwardKeysPrint($za,$M){}function
selectQuery($J){global$y,$T;return"<form action='".h(ME)."sql=' method='post'><p><span onclick=\"return !selectEditSql(event, this, '".lang(29)."');\">"."<code class='jush-$y'>".h(str_replace("\n"," ",$J))."</code>"." <a href='".h(ME)."sql=".urlencode($J)."'>".lang(30)."</a>"."</span><input type='hidden' name='token' value='$T'></p></form>\n";}function
rowDescription($R){return"";}function
rowDescriptions($N,$pc){return$N;}function
selectLink($X,$n){}function
selectVal($X,$A,$n){$L=($X===null?"<i>NULL</i>":(ereg("char|binary",$n["type"])&&!ereg("var",$n["type"])?"<code>$X</code>":$X));if(ereg('blob|bytea|raw|file',$n["type"])&&!is_utf8($X))$L=lang(31,strlen(html_entity_decode($X,ENT_QUOTES)));return($A?"<a href='".h($A)."'>$L</a>":$L);}function
editVal($X,$n){return$X;}function
selectColumnsPrint($O,$f){global$xc,$Ac;print_fieldset("select",lang(32),$O);$t=0;$vc=array(lang(33)=>$xc,lang(34)=>$Ac);foreach($O
as$z=>$X){$X=$_GET["columns"][$z];echo"<div>".html_select("columns[$t][fun]",array(-1=>"")+$vc,$X["fun"]),"(<select name='columns[$t][col]' onchange='selectFieldChange(this.form);'><option>".optionlist($f,$X["col"],true)."</select>)</div>\n";$t++;}echo"<div>".html_select("columns[$t][fun]",array(-1=>"")+$vc,"","this.nextSibling.nextSibling.onchange();"),"(<select name='columns[$t][col]' onchange='selectAddRow(this);'><option>".optionlist($f,null,true)."</select>)</div>\n","</div></fieldset>\n";}function
selectSearchPrint($Z,$f,$w){print_fieldset("search",lang(35),$Z);foreach($w
as$t=>$v){if($v["type"]=="FULLTEXT"){echo"(<i>".implode("</i>, <i>",array_map('h',$v["columns"]))."</i>) AGAINST"," <input type='search' name='fulltext[$t]' value='".h($_GET["fulltext"][$t])."' onchange='selectFieldChange(this.form);'>",checkbox("boolean[$t]",1,isset($_GET["boolean"][$t]),"BOOL"),"<br>\n";}}$_GET["where"]=(array)$_GET["where"];reset($_GET["where"]);$Ia="this.nextSibling.onchange();";for($t=0;$t<=count($_GET["where"]);$t++){list(,$X)=each($_GET["where"]);if(!$X||("$X[col]$X[val]"!=""&&in_array($X["op"],$this->operators))){echo"<div><select name='where[$t][col]' onchange='$Ia'><option value=''>(".lang(36).")".optionlist($f,$X["col"],true)."</select>",html_select("where[$t][op]",$this->operators,$X["op"],$Ia),"<input type='search' name='where[$t][val]' value='".h($X["val"])."' onchange='".($X?"selectFieldChange(this.form)":"selectAddRow(this)").";' onsearch='selectSearchSearch(this);'></div>\n";}}echo"</div></fieldset>\n";}function
selectOrderPrint($Xd,$f,$w){print_fieldset("sort",lang(37),$Xd);$t=0;foreach((array)$_GET["order"]as$z=>$X){if(isset($f[$X])){echo"<div><select name='order[$t]' onchange='selectFieldChange(this.form);'><option>".optionlist($f,$X,true)."</select>",checkbox("desc[$t]",1,isset($_GET["desc"][$z]),lang(38))."</div>\n";$t++;}}echo"<div><select name='order[$t]' onchange='selectAddRow(this);'><option>".optionlist($f,null,true)."</select>",checkbox("desc[$t]",1,false,lang(38))."</div>\n","</div></fieldset>\n";}function
selectLimitPrint($_){echo"<fieldset><legend>".lang(39)."</legend><div>";echo"<input type='number' name='limit' class='size' value='".h($_)."' onchange='selectFieldChange(this.form);'>","</div></fieldset>\n";}function
selectLengthPrint($Nf){if($Nf!==null){echo"<fieldset><legend>".lang(40)."</legend><div>","<input type='number' name='text_length' class='size' value='".h($Nf)."'>","</div></fieldset>\n";}}function
selectActionPrint($w){echo"<fieldset><legend>".lang(41)."</legend><div>","<input type='submit' value='".lang(32)."'>"," <span id='noindex' title='".lang(42)."'></span>","<script type='text/javascript'>\n","var indexColumns = ";$f=array();foreach($w
as$v){if($v["type"]!="FULLTEXT")$f[reset($v["columns"])]=1;}$f[""]=1;foreach($f
as$z=>$X)json_row($z);echo";\n","selectFieldChange(document.getElementById('form'));\n","</script>\n","</div></fieldset>\n";}function
selectCommandPrint(){return!information_schema(DB);}function
selectImportPrint(){return!information_schema(DB);}function
selectEmailPrint($Lb,$f){}function
selectColumnsProcess($f,$w){global$xc,$Ac;$O=array();$zc=array();foreach((array)$_GET["columns"]as$z=>$X){if($X["fun"]=="count"||(isset($f[$X["col"]])&&(!$X["fun"]||in_array($X["fun"],$xc)||in_array($X["fun"],$Ac)))){$O[$z]=apply_sql_function($X["fun"],(isset($f[$X["col"]])?idf_escape($X["col"]):"*"));if(!in_array($X["fun"],$Ac))$zc[]=$O[$z];}}return
array($O,$zc);}function
selectSearchProcess($o,$w){global$y;$L=array();foreach($w
as$t=>$v){if($v["type"]=="FULLTEXT"&&$_GET["fulltext"][$t]!="")$L[]="MATCH (".implode(", ",array_map('idf_escape',$v["columns"])).") AGAINST (".q($_GET["fulltext"][$t]).(isset($_GET["boolean"][$t])?" IN BOOLEAN MODE":"").")";}foreach((array)$_GET["where"]as$X){if("$X[col]$X[val]"!=""&&in_array($X["op"],$this->operators)){$Za=" $X[op]";if(ereg('IN$',$X["op"])){$Kc=process_length($X["val"]);$Za.=" (".($Kc!=""?$Kc:"NULL").")";}elseif($X["op"]=="SQL")$Za=" $X[val]";elseif($X["op"]=="LIKE %%")$Za=" LIKE ".$this->processInput($o[$X["col"]],"%$X[val]%");elseif(!ereg('NULL$',$X["op"]))$Za.=" ".$this->processInput($o[$X["col"]],$X["val"]);if($X["col"]!="")$L[]=idf_escape($X["col"]).$Za;else{$Ua=array();foreach($o
as$F=>$n){$Tc=ereg('char|text|enum|set',$n["type"]);if((is_numeric($X["val"])||!ereg('(^|[^o])int|float|double|decimal|bit',$n["type"]))&&(!ereg("[\x80-\xFF]",$X["val"])||$Tc)){$F=idf_escape($F);$Ua[]=($y=="sql"&&$Tc&&!ereg('^utf8',$n["collation"])?"CONVERT($F USING utf8)":$F);}}$L[]=($Ua?"(".implode("$Za OR ",$Ua)."$Za)":"0");}}}return$L;}function
selectOrderProcess($o,$w){$L=array();foreach((array)$_GET["order"]as$z=>$X){if(isset($o[$X])||preg_match('~^((COUNT\\(DISTINCT |[A-Z0-9_]+\\()(`(?:[^`]|``)+`|"(?:[^"]|"")+")\\)|COUNT\\(\\*\\))$~',$X))$L[]=(isset($o[$X])?idf_escape($X):$X).(isset($_GET["desc"][$z])?" DESC":"");}return$L;}function
selectLimitProcess(){return(isset($_GET["limit"])?$_GET["limit"]:"50");}function
selectLengthProcess(){return(isset($_GET["text_length"])?$_GET["text_length"]:"100");}function
selectEmailProcess($Z,$pc){return
false;}function
selectQueryBuild($O,$Z,$zc,$Xd,$_,$H){return"";}function
messageQuery($J){global$y;restart_session();$Dc=&get_session("queries");$u="sql-".count($Dc[$_GET["db"]]);if(strlen($J)>1e6)$J=ereg_replace('[\x80-\xFF]+$','',substr($J,0,1e6))."\n...";$Dc[$_GET["db"]][]=array($J,time());return" <span class='time'>".@date("H:i:s")."</span> <a href='#$u' onclick=\"return !toggle('$u');\">".lang(43)."</a><div id='$u' class='hidden'><pre><code class='jush-$y'>".shorten_utf8($J,1000).'</code></pre><p><a href="'.h(str_replace("db=".urlencode(DB),"db=".urlencode($_GET["db"]),ME).'sql=&history='.(count($Dc[$_GET["db"]])-1)).'">'.lang(30).'</a></div>';}function
editFunctions($n){global$Hb;$L=($n["null"]?"NULL/":"");foreach($Hb
as$z=>$xc){if(!$z||(!isset($_GET["call"])&&(isset($_GET["select"])||where($_GET)))){foreach($xc
as$qe=>$X){if(!$qe||ereg($qe,$n["type"]))$L.="/$X";}if($z&&!ereg('set|blob|bytea|raw|file',$n["type"]))$L.="/SQL";}}return
explode("/",$L);}function
editInput($R,$n,$va,$Y){if($n["type"]=="enum")return(isset($_GET["select"])?"<label><input type='radio'$va value='-1' checked><i>".lang(6)."</i></label> ":"").($n["null"]?"<label><input type='radio'$va value=''".($Y!==null||isset($_GET["select"])?"":" checked")."><i>NULL</i></label> ":"").enum_input("radio",$va,$n,$Y,0);return"";}function
processInput($n,$Y,$r=""){if($r=="SQL")return$Y;$F=$n["field"];$L=q($Y);if(ereg('^(now|getdate|uuid)$',$r))$L="$r()";elseif(ereg('^current_(date|timestamp)$',$r))$L=$r;elseif(ereg('^([+-]|\\|\\|)$',$r))$L=idf_escape($F)." $r $L";elseif(ereg('^[+-] interval$',$r))$L=idf_escape($F)." $r ".(preg_match("~^(\\d+|'[0-9.: -]') [A-Z_]+$~i",$Y)?$Y:$L);elseif(ereg('^(addtime|subtime|concat)$',$r))$L="$r(".idf_escape($F).", $L)";elseif(ereg('^(md5|sha1|password|encrypt)$',$r))$L="$r($L)";return
unconvert_field($n,$L);}function
dumpOutput(){$L=array('text'=>lang(44),'file'=>lang(45));if(function_exists('gzencode'))$L['gz']='gzip';return$L;}function
dumpFormat(){return
array('sql'=>'SQL','csv'=>'CSV,','csv;'=>'CSV;','tsv'=>'TSV');}function
dumpDatabase($l){}function
dumpTable($R,$vf,$Uc=0){if($_POST["format"]!="sql"){echo"\xef\xbb\xbf";if($vf)dump_csv(array_keys(fields($R)));}elseif($vf){if($Uc==2){$o=array();foreach(fields($R)as$F=>$n)$o[]=idf_escape($F)." $n[full_type]";$j="CREATE TABLE ".table($R)." (".implode(", ",$o).")";}else$j=create_sql($R,$_POST["auto_increment"]);if($j){if($vf=="DROP+CREATE"||$Uc==1)echo"DROP ".($Uc==2?"VIEW":"TABLE")." IF EXISTS ".table($R).";\n";if($Uc==1)$j=remove_definer($j);echo"$j;\n\n";}}}function
dumpData($R,$vf,$J){global$h,$y;$qd=($y=="sqlite"?0:1048576);if($vf){if($_POST["format"]=="sql"){if($vf=="TRUNCATE+INSERT")echo
truncate_sql($R).";\n";$o=fields($R);}$K=$h->query($J,1);if($K){$Pc="";$Ga="";$Wc=array();$xf="";$ic=($R!=''?'fetch_assoc':'fetch_row');while($M=$K->$ic()){if(!$Wc){$tg=array();foreach($M
as$X){$n=$K->fetch_field();$Wc[]=$n->name;$z=idf_escape($n->name);$tg[]="$z = VALUES($z)";}$xf=($vf=="INSERT+UPDATE"?"\nON DUPLICATE KEY UPDATE ".implode(", ",$tg):"").";\n";}if($_POST["format"]!="sql"){if($vf=="table"){dump_csv($Wc);$vf="INSERT";}dump_csv($M);}else{if(!$Pc)$Pc="INSERT INTO ".table($R)." (".implode(", ",array_map('idf_escape',$Wc)).") VALUES";foreach($M
as$z=>$X){$n=$o[$z];$M[$z]=($X!==null?unconvert_field($n,ereg('(^|[^o])int|float|double|decimal',$n["type"])&&$X!=''?$X:q($X)):"NULL");}$bf=($qd?"\n":" ")."(".implode(",\t",$M).")";if(!$Ga)$Ga=$Pc.$bf;elseif(strlen($Ga)+4+strlen($bf)+strlen($xf)<$qd)$Ga.=",$bf";else{echo$Ga.$xf;$Ga=$Pc.$bf;}}}if($Ga)echo$Ga.$xf;}elseif($_POST["format"]=="sql")echo"-- ".str_replace("\n"," ",$h->error)."\n";}}function
dumpFilename($Hc){return
friendly_url($Hc!=""?$Hc:(SERVER!=""?SERVER:"localhost"));}function
dumpHeaders($Hc,$Bd=false){$fe=$_POST["output"];$dc=(ereg('sql',$_POST["format"])?"sql":($Bd?"tar":"csv"));header("Content-Type: ".($fe=="gz"?"application/x-gzip":($dc=="tar"?"application/x-tar":($dc=="sql"||$fe!="file"?"text/plain":"text/csv")."; charset=utf-8")));if($fe=="gz")ob_start('gzencode',1e6);return$dc;}function
homepage(){echo'<p>'.($_GET["ns"]==""?'<a href="'.h(ME).'database=">'.lang(46)."</a>\n":""),(support("scheme")?"<a href='".h(ME)."scheme='>".($_GET["ns"]!=""?lang(47):lang(48))."</a>\n":""),($_GET["ns"]!==""?'<a href="'.h(ME).'schema=">'.lang(49)."</a>\n":""),(support("privileges")?"<a href='".h(ME)."privileges='>".lang(50)."</a>\n":"");return
true;}function
navigation($Ad){global$fa,$T,$y,$Ab;echo'<h1>
',$this->name(),' <span class="version">',$fa,'</span>
<a href="http://www.adminer.org/#download" id="version">',(version_compare($fa,$_COOKIE["adminer_version"])<0?h($_COOKIE["adminer_version"]):""),'</a>
</h1>
';if($Ad=="auth"){$mc=true;foreach((array)$_SESSION["pwds"]as$_b=>$jf){foreach($jf
as$P=>$sg){foreach($sg
as$V=>$pe){if($pe!==null){if($mc){echo"<p id='logins' onmouseover='menuOver(this, event);' onmouseout='menuOut(this);'>\n";$mc=false;}$pb=$_SESSION["db"][$_b][$P][$V];foreach(($pb?array_keys($pb):array(""))as$l)echo"<a href='".h(auth_url($_b,$P,$V,$l))."'>($Ab[$_b]) ".h($V.($P!=""?"@$P":"").($l!=""?" - $l":""))."</a><br>\n";}}}}}else{echo'<form action="" method="post">
<p class="logout">
';if(DB==""||!$Ad){echo"<a href='".h(ME)."sql='".bold(isset($_GET["sql"]))." title='".lang(51)."'>".lang(43)."</a>\n";if(support("dump"))echo"<a href='".h(ME)."dump=".urlencode(isset($_GET["table"])?$_GET["table"]:$_GET["select"])."' id='dump'".bold(isset($_GET["dump"])).">".lang(52)."</a>\n";}echo'<input type="submit" name="logout" value="',lang(53),'" id="logout">
<input type="hidden" name="token" value="',$T,'">
</p>
</form>
';$this->databasesPrint($Ad);if($_GET["ns"]!==""&&!$Ad&&DB!=""){echo'<p><a href="'.h(ME).'create="'.bold($_GET["create"]==="").">".lang(54)."</a>\n";$Ff=table_status('',true);if(!$Ff)echo"<p class='message'>".lang(7)."\n";else{$this->tablesPrint($Ff);$ld=array();foreach($Ff
as$R=>$U)$ld[]=preg_quote($R,'/');echo"<script type='text/javascript'>\n","var jushLinks = { $y: [ '".js_escape(ME)."table=\$&', /\\b(".implode("|",$ld).")\\b/g ] };\n";foreach(array("bac","bra","sqlite_quo","mssql_bra")as$X)echo"jushLinks.$X = jushLinks.$y;\n";echo"</script>\n";}}}}function
databasesPrint($Ad){global$h;$k=$this->databases();echo'<form action="">
<p id="dbs">
';hidden_fields_get();$nb=" onmousedown='dbMouseDown(event, this);' onchange='dbChange(this);'";echo($k?"<select name='db'$nb>".optionlist(array(""=>"(".lang(55).")")+$k,DB)."</select>":'<input name="db" value="'.h(DB).'" autocapitalize="off">'),"<input type='submit' value='".lang(10)."'".($k?" class='hidden'":"").">\n";if($Ad!="db"&&DB!=""&&$h->select_db(DB)){}echo(isset($_GET["sql"])?'<input type="hidden" name="sql" value="">':(isset($_GET["schema"])?'<input type="hidden" name="schema" value="">':(isset($_GET["dump"])?'<input type="hidden" name="dump" value="">':""))),"</p></form>\n";}function
tablesPrint($Ff){echo"<p id='tables' onmouseover='menuOver(this, event);' onmouseout='menuOut(this);'>\n";foreach($Ff
as$R=>$qf){echo'<a href="'.h(ME).'select='.urlencode($R).'"'.bold($_GET["select"]==$R||$_GET["edit"]==$R).">".lang(56)."</a> ",'<a href="'.h(ME).'table='.urlencode($R).'"'.bold(in_array($R,array($_GET["table"],$_GET["create"],$_GET["indexes"],$_GET["foreign"],$_GET["trigger"])))." title='".lang(25)."'>".$this->tableName($qf)."</a><br>\n";}}}$c=(function_exists('adminer_object')?adminer_object():new
Adminer);if($c->operators===null)$c->operators=$Ud;function
page_header($Qf,$m="",$Fa=array(),$Rf=""){global$a,$c,$h,$Ab;header("Content-Type: text/html; charset=utf-8");if($c->headers()){header("X-Frame-Options: deny");header("X-XSS-Protection: 0");}$Sf=$Qf.($Rf!=""?": ".h($Rf):"");$Tf=strip_tags($Sf.(SERVER!=""&&SERVER!="localhost"?h(" - ".SERVER):"")." - ".$c->name());echo'<!DOCTYPE html>
<html lang="',$a,'" dir="',lang(57),'">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta name="robots" content="noindex">
<title>',$Tf,'</title>
<link rel="stylesheet" type="text/css" href="',h(preg_replace("~\\?.*~","",ME))."?file=default.css&amp;version=3.7.1",'">
<script type="text/javascript" src="',h(preg_replace("~\\?.*~","",ME))."?file=functions.js&amp;version=3.7.1",'"></script>
';if($c->head()){echo'<link rel="shortcut icon" type="image/x-icon" href="',h(preg_replace("~\\?.*~","",ME))."?file=favicon.ico&amp;version=3.7.1",'">
<link rel="apple-touch-icon" href="',h(preg_replace("~\\?.*~","",ME))."?file=favicon.ico&amp;version=3.7.1",'">
';if(file_exists("adminer.css")){echo'<link rel="stylesheet" type="text/css" href="adminer.css">
';}}echo'
<body class="',lang(57),' nojs" onkeydown="bodyKeydown(event);" onclick="bodyClick(event);" onload="bodyLoad(\'',(is_object($h)?substr($h->server_info,0,3):""),'\');',(isset($_COOKIE["adminer_version"])?"":" verifyVersion();"),'">
<script type="text/javascript">
document.body.className = document.body.className.replace(/ nojs/, \' js\');
</script>

<div id="content">
';if($Fa!==null){$A=substr(preg_replace('~(username|db|ns)=[^&]*&~','',ME),0,-1);echo'<p id="breadcrumb"><a href="'.h($A?$A:".").'">'.$Ab[DRIVER].'</a> &raquo; ';$A=substr(preg_replace('~(db|ns)=[^&]*&~','',ME),0,-1);$P=(SERVER!=""?h(SERVER):lang(18));if($Fa===false)echo"$P\n";else{echo"<a href='".($A?h($A):".")."' accesskey='1' title='Alt+Shift+1'>$P</a> &raquo; ";if($_GET["ns"]!=""||(DB!=""&&is_array($Fa)))echo'<a href="'.h($A."&db=".urlencode(DB).(support("scheme")?"&ns=":"")).'">'.h(DB).'</a> &raquo; ';if(is_array($Fa)){if($_GET["ns"]!="")echo'<a href="'.h(substr(ME,0,-1)).'">'.h($_GET["ns"]).'</a> &raquo; ';foreach($Fa
as$z=>$X){$tb=(is_array($X)?$X[1]:$X);if($tb!="")echo'<a href="'.h(ME."$z=").urlencode(is_array($X)?$X[0]:$X).'">'.h($tb).'</a> &raquo; ';}}echo"$Qf\n";}}echo"<h2>$Sf</h2>\n";restart_session();$pg=preg_replace('~^[^?]*~','',$_SERVER["REQUEST_URI"]);$zd=$_SESSION["messages"][$pg];if($zd){echo"<div class='message'>".implode("</div>\n<div class='message'>",$zd)."</div>\n";unset($_SESSION["messages"][$pg]);}$k=&get_session("dbs");if(DB!=""&&$k&&!in_array(DB,$k,true))$k=null;stop_session();if($m)echo"<div class='error'>$m</div>\n";define("PAGE_HEADER",1);}function
page_footer($Ad=""){global$c;echo'</div>

';switch_lang();echo'<div id="menu">
';$c->navigation($Ad);echo'</div>
<script type="text/javascript">setupSubmitHighlight(document);</script>
';}function
int32($E){while($E>=2147483648)$E-=4294967296;while($E<=-2147483649)$E+=4294967296;return(int)$E;}function
long2str($W,$yg){$bf='';foreach($W
as$X)$bf.=pack('V',$X);if($yg)return
substr($bf,0,end($W));return$bf;}function
str2long($bf,$yg){$W=array_values(unpack('V*',str_pad($bf,4*ceil(strlen($bf)/4),"\0")));if($yg)$W[]=strlen($bf);return$W;}function
xxtea_mx($Cg,$Bg,$yf,$Vc){return
int32((($Cg>>5&0x7FFFFFF)^$Bg<<2)+(($Bg>>3&0x1FFFFFFF)^$Cg<<4))^int32(($yf^$Bg)+($Vc^$Cg));}function
encrypt_string($sf,$z){if($sf=="")return"";$z=array_values(unpack("V*",pack("H*",md5($z))));$W=str2long($sf,true);$E=count($W)-1;$Cg=$W[$E];$Bg=$W[0];$I=floor(6+52/($E+1));$yf=0;while($I-->0){$yf=int32($yf+0x9E3779B9);$Gb=$yf>>2&3;for($ge=0;$ge<$E;$ge++){$Bg=$W[$ge+1];$Cd=xxtea_mx($Cg,$Bg,$yf,$z[$ge&3^$Gb]);$Cg=int32($W[$ge]+$Cd);$W[$ge]=$Cg;}$Bg=$W[0];$Cd=xxtea_mx($Cg,$Bg,$yf,$z[$ge&3^$Gb]);$Cg=int32($W[$E]+$Cd);$W[$E]=$Cg;}return
long2str($W,false);}function
decrypt_string($sf,$z){if($sf=="")return"";if(!$z)return
false;$z=array_values(unpack("V*",pack("H*",md5($z))));$W=str2long($sf,false);$E=count($W)-1;$Cg=$W[$E];$Bg=$W[0];$I=floor(6+52/($E+1));$yf=int32($I*0x9E3779B9);while($yf){$Gb=$yf>>2&3;for($ge=$E;$ge>0;$ge--){$Cg=$W[$ge-1];$Cd=xxtea_mx($Cg,$Bg,$yf,$z[$ge&3^$Gb]);$Bg=int32($W[$ge]-$Cd);$W[$ge]=$Bg;}$Cg=$W[$E];$Cd=xxtea_mx($Cg,$Bg,$yf,$z[$ge&3^$Gb]);$Bg=int32($W[0]-$Cd);$W[0]=$Bg;$yf=int32($yf-0x9E3779B9);}return
long2str($W,true);}$h='';$T=$_SESSION["token"];if(!$_SESSION["token"])$_SESSION["token"]=rand(1,1e6);$re=array();if($_COOKIE["adminer_permanent"]){foreach(explode(" ",$_COOKIE["adminer_permanent"])as$X){list($z)=explode(":",$X);$re[$z]=$X;}}$d=$_POST["auth"];if($d){session_regenerate_id();$_SESSION["pwds"][$d["driver"]][$d["server"]][$d["username"]]=$d["password"];$_SESSION["db"][$d["driver"]][$d["server"]][$d["username"]][$d["db"]]=true;if($d["permanent"]){$z=base64_encode($d["driver"])."-".base64_encode($d["server"])."-".base64_encode($d["username"])."-".base64_encode($d["db"]);$Ae=$c->permanentLogin(true);$re[$z]="$z:".base64_encode($Ae?encrypt_string($d["password"],$Ae):"");cookie("adminer_permanent",implode(" ",$re));}if(count($_POST)==1||DRIVER!=$d["driver"]||SERVER!=$d["server"]||$_GET["username"]!==$d["username"]||DB!=$d["db"])redirect(auth_url($d["driver"],$d["server"],$d["username"],$d["db"]));}elseif($_POST["logout"]){if($T&&$_POST["token"]!=$T){page_header(lang(53),lang(58));page_footer("db");exit;}else{foreach(array("pwds","db","dbs","queries")as$z)set_session($z,null);unset_permanent();redirect(substr(preg_replace('~(username|db|ns)=[^&]*&~','',ME),0,-1),lang(59));}}elseif($re&&!$_SESSION["pwds"]){session_regenerate_id();$Ae=$c->permanentLogin();foreach($re
as$z=>$X){list(,$Ma)=explode(":",$X);list($_b,$P,$V,$l)=array_map('base64_decode',explode("-",$z));$_SESSION["pwds"][$_b][$P][$V]=decrypt_string(base64_decode($Ma),$Ae);$_SESSION["db"][$_b][$P][$V][$l]=true;}}function
unset_permanent(){global$re;foreach($re
as$z=>$X){list($_b,$P,$V,$l)=array_map('base64_decode',explode("-",$z));if($_b==DRIVER&&$P==SERVER&&$V==$_GET["username"]&&$l==DB)unset($re[$z]);}cookie("adminer_permanent",implode(" ",$re));}function
auth_error($Xb=null){global$h,$c,$T;$kf=session_name();$m="";if(!$_COOKIE[$kf]&&$_GET[$kf]&&ini_bool("session.use_only_cookies"))$m=lang(60);elseif(isset($_GET["username"])){if(($_COOKIE[$kf]||$_GET[$kf])&&!$T)$m=lang(61);else{$pe=&get_session("pwds");if($pe!==null){$m=h($Xb?$Xb->getMessage():(is_string($h)?$h:lang(62)));if($pe===false)$m.='<br>'.lang(63,'<code>permanentLogin()</code>');$pe=null;}unset_permanent();}}page_header(lang(22),$m,null);echo"<form action='' method='post'>\n";$c->loginForm();echo"<div>";hidden_fields($_POST,array("auth"));echo"</div>\n","</form>\n";page_footer("auth");}if(isset($_GET["username"])){if(!class_exists("Min_DB")){unset($_SESSION["pwds"][DRIVER]);unset_permanent();page_header(lang(64),lang(65,implode(", ",$we)),false);page_footer("auth");exit;}$h=connect();}if(is_string($h)||!$c->login($_GET["username"],get_session("pwds"))){auth_error();exit;}$T=$_SESSION["token"];if($d&&$_POST["token"])$_POST["token"]=$T;$m='';if($_POST){if($_POST["token"]!=$T){$Mc="max_input_vars";$ud=ini_get($Mc);if(extension_loaded("suhosin")){foreach(array("suhosin.request.max_vars","suhosin.post.max_vars")as$z){$X=ini_get($z);if($X&&(!$ud||$X<$ud)){$Mc=$z;$ud=$X;}}}$m=(!$_POST["token"]&&$ud?lang(66,"'$Mc'"):lang(58));}}elseif($_SERVER["REQUEST_METHOD"]=="POST"){$m=lang(67,"'post_max_size'");if(isset($_GET["sql"]))$m.=' '.lang(68);}if(!ini_bool("session.use_cookies")||@ini_set("session.use_cookies",false)!==false){session_cache_limiter("");session_write_close();}function
connect_error(){global$c,$h,$T,$m,$Ab;$k=array();if(DB!=""){header("HTTP/1.1 404 Not Found");page_header(lang(21).": ".h(DB),lang(69),true);}else{if($_POST["db"]&&!$m)queries_redirect(substr(ME,0,-1),lang(70),drop_databases($_POST["db"]));page_header(lang(71),$m,false);echo"<p><a href='".h(ME)."database='>".lang(72)."</a>\n";foreach(array('privileges'=>lang(50),'processlist'=>lang(73),'variables'=>lang(74),'status'=>lang(75),)as$z=>$X){if(support($z))echo"<a href='".h(ME)."$z='>$X</a>\n";}echo"<p>".lang(76,$Ab[DRIVER],"<b>$h->server_info</b>","<b>$h->extension</b>")."\n","<p>".lang(77,"<b>".h(logged_user())."</b>")."\n";$Oe="<a href='".h(ME)."refresh=1'>".lang(78)."</a>\n";$k=$c->databases();if($k){$ef=support("scheme");$Ta=collations();echo"<form action='' method='post'>\n","<table cellspacing='0' class='checkable' onclick='tableClick(event);' ondblclick='tableClick(event, true);'>\n","<thead><tr><td>&nbsp;<th>".lang(21)."<td>".lang(79)."<td>".lang(80)."</thead>\n";foreach($k
as$l){$Xe=h(ME)."db=".urlencode($l);echo"<tr".odd()."><td>".checkbox("db[]",$l,in_array($l,(array)$_POST["db"])),"<th><a href='$Xe'>".h($l)."</a>","<td><a href='$Xe".($ef?"&amp;ns=":"")."&amp;database=' title='".lang(46)."'>".nbsp(db_collation($l,$Ta))."</a>","<td align='right'><a href='$Xe&amp;schema=' id='tables-".h($l)."' title='".lang(49)."'>?</a>","\n";}echo"</table>\n","<script type='text/javascript'>tableCheck();</script>\n","<p><input type='submit' name='drop' value='".lang(81)."'".confirm("formChecked(this, /db/)").">\n","<input type='hidden' name='token' value='$T'>\n",$Oe,"</form>\n";}else
echo"<p>$Oe";}page_footer("db");if($k)echo"<script type='text/javascript'>ajaxSetHtml('".js_escape(ME)."script=connect');</script>\n";}if(isset($_GET["status"]))$_GET["variables"]=$_GET["status"];if(!(DB!=""?$h->select_db(DB):isset($_GET["sql"])||isset($_GET["dump"])||isset($_GET["database"])||isset($_GET["processlist"])||isset($_GET["privileges"])||isset($_GET["user"])||isset($_GET["variables"])||$_GET["script"]=="connect"||$_GET["script"]=="kill")){if(DB!=""||$_GET["refresh"]){restart_session();set_session("dbs",null);}connect_error();exit;}function
select($K,$i=null,$Gc="",$ae=array()){$ld=array();$w=array();$f=array();$Da=array();$gg=array();$L=array();odd('');for($t=0;$M=$K->fetch_row();$t++){if(!$t){echo"<table cellspacing='0' class='nowrap'>\n","<thead><tr>";for($x=0;$x<count($M);$x++){$n=$K->fetch_field();$F=$n->name;$Zd=$n->orgtable;$Yd=$n->orgname;$L[$n->table]=$Zd;if($Gc)$ld[$x]=($F=="table"?"table=":($F=="possible_keys"?"indexes=":null));elseif($Zd!=""){if(!isset($w[$Zd])){$w[$Zd]=array();foreach(indexes($Zd,$i)as$v){if($v["type"]=="PRIMARY"){$w[$Zd]=array_flip($v["columns"]);break;}}$f[$Zd]=$w[$Zd];}if(isset($f[$Zd][$Yd])){unset($f[$Zd][$Yd]);$w[$Zd][$Yd]=$x;$ld[$x]=$Zd;}}if($n->charsetnr==63)$Da[$x]=true;$gg[$x]=$n->type;$F=h($F);echo"<th".($Zd!=""||$n->name!=$Yd?" title='".h(($Zd!=""?"$Zd.":"").$Yd)."'":"").">".($Gc?"<a href='$Gc".strtolower($F)."' target='_blank' rel='noreferrer' class='help'>$F</a>":$F);}echo"</thead>\n";}echo"<tr".odd().">";foreach($M
as$z=>$X){if($X===null)$X="<i>NULL</i>";elseif($Da[$z]&&!is_utf8($X))$X="<i>".lang(31,strlen($X))."</i>";elseif(!strlen($X))$X="&nbsp;";else{$X=h($X);if($gg[$z]==254)$X="<code>$X</code>";}if(isset($ld[$z])&&!$f[$ld[$z]]){if($Gc){$R=$M[array_search("table=",$ld)];$A=$ld[$z].urlencode($ae[$R]!=""?$ae[$R]:$R);}else{$A="edit=".urlencode($ld[$z]);foreach($w[$ld[$z]]as$Qa=>$x)$A.="&where".urlencode("[".bracket_escape($Qa)."]")."=".urlencode($M[$x]);}$X="<a href='".h(ME.$A)."'>$X</a>";}echo"<td>$X";}}echo($t?"</table>":"<p class='message'>".lang(82))."\n";return$L;}function
referencable_primary($gf){$L=array();foreach(table_status('',true)as$Bf=>$R){if($Bf!=$gf&&fk_support($R)){foreach(fields($Bf)as$n){if($n["primary"]){if($L[$Bf]){unset($L[$Bf]);break;}$L[$Bf]=$n;}}}}return$L;}function
textarea($F,$Y,$N=10,$Ua=80){echo"<textarea name='$F' rows='$N' cols='$Ua' class='sqlarea' spellcheck='false' wrap='off' onkeydown='return textareaKeydown(this, event);'>";if(is_array($Y)){foreach($Y
as$X)echo
h($X[0])."\n\n\n";}else
echo
h($Y);echo"</textarea>";}function
edit_type($z,$n,$Ta,$q=array()){global$uf,$gg,$ng,$Qd;echo'<td><select name="',$z,'[type]" class="type" onfocus="lastType = selectValue(this);" onchange="editingTypeChange(this);">',optionlist((!$n["type"]||isset($gg[$n["type"]])?array():array($n["type"]))+$uf+($q?array(lang(83)=>$q):array()),$n["type"]),'</select>
<td><input name="',$z,'[length]" value="',h($n["length"]),'" size="3" onfocus="editingLengthFocus(this);"><td class="options">';echo"<select name='$z"."[collation]'".(ereg('(char|text|enum|set)$',$n["type"])?"":" class='hidden'").'><option value="">('.lang(84).')'.optionlist($Ta,$n["collation"]).'</select>',($ng?"<select name='$z"."[unsigned]'".(!$n["type"]||ereg('((^|[^o])int|float|double|decimal)$',$n["type"])?"":" class='hidden'").'><option>'.optionlist($ng,$n["unsigned"]).'</select>':''),(isset($n['on_update'])?"<select name='$z"."[on_update]'".($n["type"]=="timestamp"?"":" class='hidden'").'>'.optionlist(array(""=>"(".lang(85).")","CURRENT_TIMESTAMP"),$n["on_update"]).'</select>':''),($q?"<select name='$z"."[on_delete]'".(ereg("`",$n["type"])?"":" class='hidden'")."><option value=''>(".lang(86).")".optionlist(explode("|",$Qd),$n["on_delete"])."</select> ":" ");}function
process_length($id){global$Rb;return(preg_match("~^\\s*(?:$Rb)(?:\\s*,\\s*(?:$Rb))*\\s*\$~",$id)&&preg_match_all("~$Rb~",$id,$od)?implode(",",$od[0]):preg_replace('~[^0-9,+-]~','',$id));}function
process_type($n,$Ra="COLLATE"){global$ng;return" $n[type]".($n["length"]!=""?"(".process_length($n["length"]).")":"").(ereg('(^|[^o])int|float|double|decimal',$n["type"])&&in_array($n["unsigned"],$ng)?" $n[unsigned]":"").(ereg('char|text|enum|set',$n["type"])&&$n["collation"]?" $Ra ".q($n["collation"]):"");}function
process_field($n,$eg){return
array(idf_escape(trim($n["field"])),process_type($eg),($n["null"]?" NULL":" NOT NULL"),(isset($n["default"])?" DEFAULT ".((ereg("time",$n["type"])&&eregi('^CURRENT_TIMESTAMP$',$n["default"]))||($n["type"]=="bit"&&ereg("^([0-9]+|b'[0-1]+')\$",$n["default"]))?$n["default"]:q($n["default"])):""),($n["type"]=="timestamp"&&$n["on_update"]?" ON UPDATE $n[on_update]":""),(support("comment")&&$n["comment"]!=""?" COMMENT ".q($n["comment"]):""),($n["auto_increment"]?auto_increment():null),);}function
type_class($U){foreach(array('char'=>'text','date'=>'time|year','binary'=>'blob','enum'=>'set',)as$z=>$X){if(ereg("$z|$X",$U))return" class='$z'";}}function
edit_fields($o,$Ta,$U="TABLE",$q=array(),$Ya=false){global$h,$Nc;echo'<thead><tr class="wrap">
';if($U=="PROCEDURE"){echo'<td>&nbsp;';}echo'<th>',($U=="TABLE"?lang(87):lang(88)),'<td>',lang(89),'<textarea id="enum-edit" rows="4" cols="12" wrap="off" style="display: none;" onblur="editingLengthBlur(this);"></textarea>
<td>',lang(90),'<td>',lang(91);if($U=="TABLE"){echo'<td>NULL
<td><input type="radio" name="auto_increment_col" value=""><acronym title="',lang(92),'">AI</acronym>
<td>',lang(93),(support("comment")?"<td".($Ya?"":" class='hidden'").">".lang(94):"");}echo'<td>',"<input type='image' class='icon' name='add[".(support("move_col")?0:count($o))."]' src='".h(preg_replace("~\\?.*~","",ME))."?file=plus.gif&amp;version=3.7.1' alt='+' title='".lang(95)."'>",'<script type="text/javascript">row_count = ',count($o),';</script>
</thead>
<tbody onkeydown="return editingKeydown(event);">
';foreach($o
as$t=>$n){$t++;$be=$n[($_POST?"orig":"field")];$yb=(isset($_POST["add"][$t-1])||(isset($n["field"])&&!$_POST["drop_col"][$t]))&&(support("drop_col")||$be=="");echo'<tr',($yb?"":" style='display: none;'"),'>
',($U=="PROCEDURE"?"<td>".html_select("fields[$t][inout]",explode("|",$Nc),$n["inout"]):""),'<th>';if($yb){echo'<input name="fields[',$t,'][field]" value="',h($n["field"]),'" onchange="',($n["field"]!=""||count($o)>1?"":"editingAddRow(this); "),'editingNameChange(this);" maxlength="64" autocapitalize="off">';}echo'<input type="hidden" name="fields[',$t,'][orig]" value="',h($be),'">
';edit_type("fields[$t]",$n,$Ta,$q);if($U=="TABLE"){echo'<td>',checkbox("fields[$t][null]",1,$n["null"],"","","block"),'<td><label class="block"><input type="radio" name="auto_increment_col" value="',$t,'"';if($n["auto_increment"]){echo' checked';}?> onclick="var field = this.form['fields[' + this.value + '][field]']; if (!field.value) { field.value = 'id'; field.onchange(); }"></label><td><?php
echo
checkbox("fields[$t][has_default]",1,$n["has_default"]),'<input name="fields[',$t,'][default]" value="',h($n["default"]),'" onchange="this.previousSibling.checked = true;">
',(support("comment")?"<td".($Ya?"":" class='hidden'")."><input name='fields[$t][comment]' value='".h($n["comment"])."' maxlength='".($h->server_info>=5.5?1024:255)."'>":"");}echo"<td>",(support("move_col")?"<input type='image' class='icon' name='add[$t]' src='".h(preg_replace("~\\?.*~","",ME))."?file=plus.gif&amp;version=3.7.1' alt='+' title='".lang(95)."' onclick='return !editingAddRow(this, 1);'>&nbsp;"."<input type='image' class='icon' name='up[$t]' src='".h(preg_replace("~\\?.*~","",ME))."?file=up.gif&amp;version=3.7.1' alt='^' title='".lang(96)."'>&nbsp;"."<input type='image' class='icon' name='down[$t]' src='".h(preg_replace("~\\?.*~","",ME))."?file=down.gif&amp;version=3.7.1' alt='v' title='".lang(97)."'>&nbsp;":""),($be==""||support("drop_col")?"<input type='image' class='icon' name='drop_col[$t]' src='".h(preg_replace("~\\?.*~","",ME))."?file=cross.gif&amp;version=3.7.1' alt='x' title='".lang(98)."' onclick='return !editingRemoveRow(this);'>":""),"\n";}}function
process_fields(&$o){ksort($o);$Jd=0;if($_POST["up"]){$cd=0;foreach($o
as$z=>$n){if(key($_POST["up"])==$z){unset($o[$z]);array_splice($o,$cd,0,array($n));break;}if(isset($n["field"]))$cd=$Jd;$Jd++;}}elseif($_POST["down"]){$rc=false;foreach($o
as$z=>$n){if(isset($n["field"])&&$rc){unset($o[key($_POST["down"])]);array_splice($o,$Jd,0,array($rc));break;}if(key($_POST["down"])==$z)$rc=$n;$Jd++;}}elseif($_POST["add"]){$o=array_values($o);array_splice($o,key($_POST["add"]),0,array(array()));}elseif(!$_POST["drop_col"])return
false;return
true;}function
normalize_enum($C){return"'".str_replace("'","''",addcslashes(stripcslashes(str_replace($C[0][0].$C[0][0],$C[0][0],substr($C[0],1,-1))),'\\'))."'";}function
grant($s,$Ce,$f,$Pd){if(!$Ce)return
true;if($Ce==array("ALL PRIVILEGES","GRANT OPTION"))return($s=="GRANT"?queries("$s ALL PRIVILEGES$Pd WITH GRANT OPTION"):queries("$s ALL PRIVILEGES$Pd")&&queries("$s GRANT OPTION$Pd"));return
queries("$s ".preg_replace('~(GRANT OPTION)\\([^)]*\\)~','\\1',implode("$f, ",$Ce).$f).$Pd);}function
drop_create($Bb,$j,$Cb,$Lf,$Db,$B,$yd,$wd,$xd,$Md,$Fd){if($_POST["drop"])query_redirect($Bb,$B,$yd);elseif($Md=="")query_redirect($j,$B,$xd);elseif($Md!=$Fd){$hb=queries($j);queries_redirect($B,$wd,$hb&&queries($Bb));if($hb)queries($Cb);}else
queries_redirect($B,$wd,queries($Lf)&&queries($Db)&&queries($Bb)&&queries($j));}function
create_trigger($Pd,$M){global$y;$Pf=" $M[Timing] $M[Event]";return"CREATE TRIGGER ".idf_escape($M["Trigger"]).($y=="mssql"?$Pd.$Pf:$Pf.$Pd).rtrim(" $M[Type]\n$M[Statement]",";").";";}function
create_routine($Ye,$M){global$Nc;$Q=array();$o=(array)$M["fields"];ksort($o);foreach($o
as$n){if($n["field"]!="")$Q[]=(ereg("^($Nc)\$",$n["inout"])?"$n[inout] ":"").idf_escape($n["field"]).process_type($n,"CHARACTER SET");}return"CREATE $Ye ".idf_escape(trim($M["name"]))." (".implode(", ",$Q).")".(isset($_GET["function"])?" RETURNS".process_type($M["returns"],"CHARACTER SET"):"").($M["language"]?" LANGUAGE $M[language]":"").rtrim("\n$M[definition]",";").";";}function
remove_definer($J){return
preg_replace('~^([A-Z =]+) DEFINER=`'.preg_replace('~@(.*)~','`@`(%|\\1)',logged_user()).'`~','\\1',$J);}function
tar_file($kc,$Uf){$L=pack("a100a8a8a8a12a12",$kc,644,0,0,decoct($Uf->size),decoct(time()));$La=8*32;for($t=0;$t<strlen($L);$t++)$La+=ord($L[$t]);$L.=sprintf("%06o",$La)."\0 ";echo$L,str_repeat("\0",512-strlen($L));$Uf->send();echo
str_repeat("\0",511-($Uf->size+511)%512);}function
ini_bytes($Mc){$X=ini_get($Mc);switch(strtolower(substr($X,-1))){case'g':$X*=1024;case'm':$X*=1024;case'k':$X*=1024;}return$X;}$Qd="RESTRICT|NO ACTION|CASCADE|SET NULL|SET DEFAULT";class
TmpFile{var$handler;var$size;function
TmpFile(){$this->handler=tmpfile();}function
write($cb){$this->size+=strlen($cb);fwrite($this->handler,$cb);}function
send(){fseek($this->handler,0);fpassthru($this->handler);fclose($this->handler);}}$Rb="'(?:''|[^'\\\\]|\\\\.)*+'";$Nc="IN|OUT|INOUT";if(isset($_GET["select"])&&($_POST["edit"]||$_POST["clone"])&&!$_POST["save"])$_GET["edit"]=$_GET["select"];if(isset($_GET["callf"]))$_GET["call"]=$_GET["callf"];if(isset($_GET["function"]))$_GET["procedure"]=$_GET["function"];if(isset($_GET["download"])){$b=$_GET["download"];$o=fields($b);header("Content-Type: application/octet-stream");header("Content-Disposition: attachment; filename=".friendly_url("$b-".implode("_",$_GET["where"])).".".friendly_url($_GET["field"]));echo$h->result("SELECT".limit(idf_escape($_GET["field"])." FROM ".table($b)," WHERE ".where($_GET,$o),1));exit;}elseif(isset($_GET["table"])){$b=$_GET["table"];$o=fields($b);if(!$o)$m=error();$S=table_status1($b,true);page_header(($o&&is_view($S)?lang(99):lang(100)).": ".h($b),$m);$c->selectLinks($S);$Xa=$S["Comment"];if($Xa!="")echo"<p>".lang(94).": ".h($Xa)."\n";if($o){echo"<table cellspacing='0'>\n","<thead><tr><th>".lang(101)."<td>".lang(89).(support("comment")?"<td>".lang(94):"")."</thead>\n";foreach($o
as$n){echo"<tr".odd()."><th>".h($n["field"]),"<td title='".h($n["collation"])."'>".h($n["full_type"]).($n["null"]?" <i>NULL</i>":"").($n["auto_increment"]?" <i>".lang(92)."</i>":""),(isset($n["default"])?" [<b>".h($n["default"])."</b>]":""),(support("comment")?"<td>".nbsp($n["comment"]):""),"\n";}echo"</table>\n";if(!is_view($S)){echo"<h3 id='indexes'>".lang(102)."</h3>\n";$w=indexes($b);if($w){echo"<table cellspacing='0'>\n";foreach($w
as$F=>$v){ksort($v["columns"]);$_e=array();foreach($v["columns"]as$z=>$X)$_e[]="<i>".h($X)."</i>".($v["lengths"][$z]?"(".$v["lengths"][$z].")":"").($v["descs"][$z]?" DESC":"");echo"<tr title='".h($F)."'><th>$v[type]<td>".implode(", ",$_e)."\n";}echo"</table>\n";}echo'<p><a href="'.h(ME).'indexes='.urlencode($b).'">'.lang(103)."</a>\n";if(fk_support($S)){echo"<h3 id='foreign-keys'>".lang(83)."</h3>\n";$q=foreign_keys($b);if($q){echo"<table cellspacing='0'>\n","<thead><tr><th>".lang(104)."<td>".lang(105)."<td>".lang(86)."<td>".lang(85).($y!="sqlite"?"<td>&nbsp;":"")."</thead>\n";foreach($q
as$F=>$p){echo"<tr title='".h($F)."'>","<th><i>".implode("</i>, <i>",array_map('h',$p["source"]))."</i>","<td><a href='".h($p["db"]!=""?preg_replace('~db=[^&]*~',"db=".urlencode($p["db"]),ME):($p["ns"]!=""?preg_replace('~ns=[^&]*~',"ns=".urlencode($p["ns"]),ME):ME))."table=".urlencode($p["table"])."'>".($p["db"]!=""?"<b>".h($p["db"])."</b>.":"").($p["ns"]!=""?"<b>".h($p["ns"])."</b>.":"").h($p["table"])."</a>","(<i>".implode("</i>, <i>",array_map('h',$p["target"]))."</i>)","<td>".nbsp($p["on_delete"])."\n","<td>".nbsp($p["on_update"])."\n",($y=="sqlite"?"":'<td><a href="'.h(ME.'foreign='.urlencode($b).'&name='.urlencode($F)).'">'.lang(106).'</a>');}echo"</table>\n";}if($y!="sqlite")echo'<p><a href="'.h(ME).'foreign='.urlencode($b).'">'.lang(107)."</a>\n";}if(support("trigger")){echo"<h3 id='triggers'>".lang(108)."</h3>\n";$dg=triggers($b);if($dg){echo"<table cellspacing='0'>\n";foreach($dg
as$z=>$X)echo"<tr valign='top'><td>$X[0]<td>$X[1]<th>".h($z)."<td><a href='".h(ME.'trigger='.urlencode($b).'&name='.urlencode($z))."'>".lang(106)."</a>\n";echo"</table>\n";}echo'<p><a href="'.h(ME).'trigger='.urlencode($b).'">'.lang(109)."</a>\n";}}}}elseif(isset($_GET["schema"])){page_header(lang(49),"",array(),DB.($_GET["ns"]?".$_GET[ns]":""));$Cf=array();$Df=array();$F="adminer_schema";$da=($_GET["schema"]?$_GET["schema"]:$_COOKIE[($_COOKIE["$F-".DB]?"$F-".DB:$F)]);preg_match_all('~([^:]+):([-0-9.]+)x([-0-9.]+)(_|$)~',$da,$od,PREG_SET_ORDER);foreach($od
as$t=>$C){$Cf[$C[1]]=array($C[2],$C[3]);$Df[]="\n\t'".js_escape($C[1])."': [ $C[2], $C[3] ]";}$Wf=0;$Aa=-1;$df=array();$Ne=array();$gd=array();foreach(table_status('',true)as$R=>$S){if(is_view($S))continue;$te=0;$df[$R]["fields"]=array();foreach(fields($R)as$F=>$n){$te+=1.25;$n["pos"]=$te;$df[$R]["fields"][$F]=$n;}$df[$R]["pos"]=($Cf[$R]?$Cf[$R]:array($Wf,0));foreach($c->foreignKeys($R)as$X){if(!$X["db"]){$ed=$Aa;if($Cf[$R][1]||$Cf[$X["table"]][1])$ed=min(floatval($Cf[$R][1]),floatval($Cf[$X["table"]][1]))-1;else$Aa-=.1;while($gd[(string)$ed])$ed-=.0001;$df[$R]["references"][$X["table"]][(string)$ed]=array($X["source"],$X["target"]);$Ne[$X["table"]][$R][(string)$ed]=$X["target"];$gd[(string)$ed]=true;}}$Wf=max($Wf,$df[$R]["pos"][0]+2.5+$te);}echo'<div id="schema" style="height: ',$Wf,'em;" onselectstart="return false;">
<script type="text/javascript">
var tablePos = {',implode(",",$Df)."\n",'};
var em = document.getElementById(\'schema\').offsetHeight / ',$Wf,';
document.onmousemove = schemaMousemove;
document.onmouseup = function (ev) {
	schemaMouseup(ev, \'',js_escape(DB),'\');
};
</script>
';foreach($df
as$F=>$R){echo"<div class='table' style='top: ".$R["pos"][0]."em; left: ".$R["pos"][1]."em;' onmousedown='schemaMousedown(this, event);'>",'<a href="'.h(ME).'table='.urlencode($F).'"><b>'.h($F)."</b></a>";foreach($R["fields"]as$n){$X='<span'.type_class($n["type"]).' title="'.h($n["full_type"].($n["null"]?" NULL":'')).'">'.h($n["field"]).'</span>';echo"<br>".($n["primary"]?"<i>$X</i>":$X);}foreach((array)$R["references"]as$Jf=>$Pe){foreach($Pe
as$ed=>$Ke){$fd=$ed-$Cf[$F][1];$t=0;foreach($Ke[0]as$mf)echo"\n<div class='references' title='".h($Jf)."' id='refs$ed-".($t++)."' style='left: $fd"."em; top: ".$R["fields"][$mf]["pos"]."em; padding-top: .5em;'><div style='border-top: 1px solid Gray; width: ".(-$fd)."em;'></div></div>";}}foreach((array)$Ne[$F]as$Jf=>$Pe){foreach($Pe
as$ed=>$f){$fd=$ed-$Cf[$F][1];$t=0;foreach($f
as$If)echo"\n<div class='references' title='".h($Jf)."' id='refd$ed-".($t++)."' style='left: $fd"."em; top: ".$R["fields"][$If]["pos"]."em; height: 1.25em; background: url(".h(preg_replace("~\\?.*~","",ME))."?file=arrow.gif) no-repeat right center;&amp;version=3.7.1'><div style='height: .5em; border-bottom: 1px solid Gray; width: ".(-$fd)."em;'></div></div>";}}echo"\n</div>\n";}foreach($df
as$F=>$R){foreach((array)$R["references"]as$Jf=>$Pe){foreach($Pe
as$ed=>$Ke){$_d=$Wf;$sd=-10;foreach($Ke[0]as$z=>$mf){$ue=$R["pos"][0]+$R["fields"][$mf]["pos"];$ve=$df[$Jf]["pos"][0]+$df[$Jf]["fields"][$Ke[1][$z]]["pos"];$_d=min($_d,$ue,$ve);$sd=max($sd,$ue,$ve);}echo"<div class='references' id='refl$ed' style='left: $ed"."em; top: $_d"."em; padding: .5em 0;'><div style='border-right: 1px solid Gray; margin-top: 1px; height: ".($sd-$_d)."em;'></div></div>\n";}}}echo'</div>
<p><a href="',h(ME."schema=".urlencode($da)),'" id="schema-link">',lang(110),'</a>
';}elseif(isset($_GET["dump"])){$b=$_GET["dump"];if($_POST&&!$m){$eb="";foreach(array("output","format","db_style","routines","events","table_style","auto_increment","triggers","data_style")as$z)$eb.="&$z=".urlencode($_POST[$z]);cookie("adminer_export",substr($eb,1));$Ff=array_flip((array)$_POST["tables"])+array_flip((array)$_POST["data"]);$dc=dump_headers((count($Ff)==1?key($Ff):DB),(DB==""||count($Ff)>1));$Sc=ereg('sql',$_POST["format"]);if($Sc)echo"-- Adminer $fa ".$Ab[DRIVER]." dump

".($y!="sql"?"":"SET NAMES utf8;
".($_POST["data_style"]?"SET foreign_key_checks = 0;
SET time_zone = ".q(substr(preg_replace('~^[^-]~','+\0',$h->result("SELECT TIMEDIFF(NOW(), UTC_TIMESTAMP)")),0,6)).";
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
":"")."
");$vf=$_POST["db_style"];$k=array(DB);if(DB==""){$k=$_POST["databases"];if(is_string($k))$k=explode("\n",rtrim(str_replace("\r","",$k),"\n"));}foreach((array)$k
as$l){$c->dumpDatabase($l);if($h->select_db($l)){if($Sc&&ereg('CREATE',$vf)&&($j=$h->result("SHOW CREATE DATABASE ".idf_escape($l),1))){if($vf=="DROP+CREATE")echo"DROP DATABASE IF EXISTS ".idf_escape($l).";\n";echo"$j;\n";}if($Sc){if($vf)echo
use_sql($l).";\n\n";$ee="";if($_POST["routines"]){foreach(array("FUNCTION","PROCEDURE")as$Ye){foreach(get_rows("SHOW $Ye STATUS WHERE Db = ".q($l),null,"-- ")as$M)$ee.=($vf!='DROP+CREATE'?"DROP $Ye IF EXISTS ".idf_escape($M["Name"]).";;\n":"").remove_definer($h->result("SHOW CREATE $Ye ".idf_escape($M["Name"]),2)).";;\n\n";}}if($_POST["events"]){foreach(get_rows("SHOW EVENTS",null,"-- ")as$M)$ee.=($vf!='DROP+CREATE'?"DROP EVENT IF EXISTS ".idf_escape($M["Name"]).";;\n":"").remove_definer($h->result("SHOW CREATE EVENT ".idf_escape($M["Name"]),3)).";;\n\n";}if($ee)echo"DELIMITER ;;\n\n$ee"."DELIMITER ;\n\n";}if($_POST["table_style"]||$_POST["data_style"]){$wg=array();foreach(table_status('',true)as$F=>$S){$R=(DB==""||in_array($F,(array)$_POST["tables"]));$kb=(DB==""||in_array($F,(array)$_POST["data"]));if($R||$kb){if($dc=="tar"){$Uf=new
TmpFile;ob_start(array($Uf,'write'),1e5);}$c->dumpTable($F,($R?$_POST["table_style"]:""),(is_view($S)?2:0));if(is_view($S))$wg[]=$F;elseif($kb){$o=fields($F);$c->dumpData($F,$_POST["data_style"],"SELECT *".convert_fields($o,$o)." FROM ".table($F));}if($Sc&&$_POST["triggers"]&&$R&&($dg=trigger_sql($F,$_POST["table_style"])))echo"\nDELIMITER ;;\n$dg\nDELIMITER ;\n";if($dc=="tar"){ob_end_flush();tar_file((DB!=""?"":"$l/")."$F.csv",$Uf);}elseif($Sc)echo"\n";}}foreach($wg
as$vg)$c->dumpTable($vg,$_POST["table_style"],1);if($dc=="tar")echo
pack("x512");}}}if($Sc)echo"-- ".$h->result("SELECT NOW()")."\n";exit;}page_header(lang(111),$m,($_GET["export"]!=""?array("table"=>$_GET["export"]):array()),DB);echo'
<form action="" method="post">
<table cellspacing="0">
';$ob=array('','USE','DROP+CREATE','CREATE');$Ef=array('','DROP+CREATE','CREATE');$lb=array('','TRUNCATE+INSERT','INSERT');if($y=="sql")$lb[]='INSERT+UPDATE';parse_str($_COOKIE["adminer_export"],$M);if(!$M)$M=array("output"=>"text","format"=>"sql","db_style"=>(DB!=""?"":"CREATE"),"table_style"=>"DROP+CREATE","data_style"=>"INSERT");if(!isset($M["events"])){$M["routines"]=$M["events"]=($_GET["dump"]=="");$M["triggers"]=$M["table_style"];}echo"<tr><th>".lang(112)."<td>".html_select("output",$c->dumpOutput(),$M["output"],0)."\n";echo"<tr><th>".lang(113)."<td>".html_select("format",$c->dumpFormat(),$M["format"],0)."\n";echo($y=="sqlite"?"":"<tr><th>".lang(21)."<td>".html_select('db_style',$ob,$M["db_style"]).(support("routine")?checkbox("routines",1,$M["routines"],lang(114)):"").(support("event")?checkbox("events",1,$M["events"],lang(115)):"")),"<tr><th>".lang(80)."<td>".html_select('table_style',$Ef,$M["table_style"]).checkbox("auto_increment",1,$M["auto_increment"],lang(92)).(support("trigger")?checkbox("triggers",1,$M["triggers"],lang(108)):""),"<tr><th>".lang(116)."<td>".html_select('data_style',$lb,$M["data_style"]),'</table>
<p><input type="submit" value="',lang(111),'">
<input type="hidden" name="token" value="',$T,'">

<table cellspacing="0">
';$ye=array();if(DB!=""){$Ka=($b!=""?"":" checked");echo"<thead><tr>","<th style='text-align: left;'><label class='block'><input type='checkbox' id='check-tables'$Ka onclick='formCheck(this, /^tables\\[/);'>".lang(80)."</label>","<th style='text-align: right;'><label class='block'>".lang(116)."<input type='checkbox' id='check-data'$Ka onclick='formCheck(this, /^data\\[/);'></label>","</thead>\n";$wg="";$Gf=tables_list();foreach($Gf
as$F=>$U){$xe=ereg_replace("_.*","",$F);$Ka=($b==""||$b==(substr($b,-1)=="%"?"$xe%":$F));$_e="<tr><td>".checkbox("tables[]",$F,$Ka,$F,"checkboxClick(event, this); formUncheck('check-tables');","block");if($U!==null&&!eregi("table",$U))$wg.="$_e\n";else
echo"$_e<td align='right'><label class='block'><span id='Rows-".h($F)."'></span>".checkbox("data[]",$F,$Ka,"","checkboxClick(event, this); formUncheck('check-data');")."</label>\n";$ye[$xe]++;}echo$wg;if($Gf)echo"<script type='text/javascript'>ajaxSetHtml('".js_escape(ME)."script=db');</script>\n";}else{echo"<thead><tr><th style='text-align: left;'><label class='block'><input type='checkbox' id='check-databases'".($b==""?" checked":"")." onclick='formCheck(this, /^databases\\[/);'>".lang(21)."</label></thead>\n";$k=$c->databases();if($k){foreach($k
as$l){if(!information_schema($l)){$xe=ereg_replace("_.*","",$l);echo"<tr><td>".checkbox("databases[]",$l,$b==""||$b=="$xe%",$l,"formUncheck('check-databases');","block")."\n";$ye[$xe]++;}}}else
echo"<tr><td><textarea name='databases' rows='10' cols='20'></textarea>";}echo'</table>
</form>
';$mc=true;foreach($ye
as$z=>$X){if($z!=""&&$X>1){echo($mc?"<p>":" ")."<a href='".h(ME)."dump=".urlencode("$z%")."'>".h($z)."</a>";$mc=false;}}}elseif(isset($_GET["privileges"])){page_header(lang(50));$K=$h->query("SELECT User, Host FROM mysql.".(DB==""?"user":"db WHERE ".q(DB)." LIKE Db")." ORDER BY Host, User");$s=$K;if(!$K)$K=$h->query("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', 1) AS User, SUBSTRING_INDEX(CURRENT_USER, '@', -1) AS Host");echo"<form action=''><p>\n";hidden_fields_get();echo"<input type='hidden' name='db' value='".h(DB)."'>\n",($s?"":"<input type='hidden' name='grant' value=''>\n"),"<table cellspacing='0'>\n","<thead><tr><th>".lang(19)."<th>".lang(18)."<th>&nbsp;</thead>\n";while($M=$K->fetch_assoc())echo'<tr'.odd().'><td>'.h($M["User"])."<td>".h($M["Host"]).'<td><a href="'.h(ME.'user='.urlencode($M["User"]).'&host='.urlencode($M["Host"])).'">'.lang(30)."</a>\n";if(!$s||DB!="")echo"<tr".odd()."><td><input name='user' autocapitalize='off'><td><input name='host' value='localhost' autocapitalize='off'><td><input type='submit' value='".lang(30)."'>\n";echo"</table>\n","</form>\n",'<p><a href="'.h(ME).'user=">'.lang(117)."</a>";}elseif(isset($_GET["sql"])){if(!$m&&$_POST["export"]){dump_headers("sql");$c->dumpTable("","");$c->dumpData("","table",$_POST["query"]);exit;}restart_session();$Ec=&get_session("queries");$Dc=&$Ec[DB];if(!$m&&$_POST["clear"]){$Dc=array();redirect(remove_from_uri("history"));}page_header(lang(43),$m);if(!$m&&$_POST){$tc=false;$J=$_POST["query"];if($_POST["webfile"]){$tc=@fopen((file_exists("adminer.sql")?"adminer.sql":"compress.zlib://adminer.sql.gz"),"rb");$J=($tc?fread($tc,1e6):false);}elseif($_FILES&&$_FILES["sql_file"]["error"][0]!=4)$J=get_file("sql_file",true);if(is_string($J)){if(function_exists('memory_get_usage'))@ini_set("memory_limit",max(ini_bytes("memory_limit"),2*strlen($J)+memory_get_usage()+8e6));if($J!=""&&strlen($J)<1e6){$I=$J.(ereg(";[ \t\r\n]*\$",$J)?"":";");if(!$Dc||reset(end($Dc))!=$I){restart_session();$Dc[]=array($I,time());set_session("queries",$Ec);stop_session();}}$nf="(?:\\s|/\\*.*\\*/|(?:#|-- )[^\n]*\n|--\n)";$sb=";";$Jd=0;$Nb=true;$i=connect();if(is_object($i)&&DB!="")$i->select_db(DB);$Wa=0;$Tb=array();$kd=0;$je='[\'"'.($y=="sql"?'`#':($y=="sqlite"?'`[':($y=="mssql"?'[':''))).']|/\\*|-- |$'.($y=="pgsql"?'|\\$[^$]*\\$':'');$Xf=microtime();parse_str($_COOKIE["adminer_export"],$ka);$Fb=$c->dumpFormat();unset($Fb["sql"]);while($J!=""){if(!$Jd&&preg_match("~^$nf*DELIMITER\\s+(\\S+)~i",$J,$C)){$sb=$C[1];$J=substr($J,strlen($C[0]));}else{preg_match('('.preg_quote($sb)."\\s*|$je)",$J,$C,PREG_OFFSET_CAPTURE,$Jd);list($rc,$te)=$C[0];if(!$rc&&$tc&&!feof($tc))$J.=fread($tc,1e5);else{if(!$rc&&rtrim($J)=="")break;$Jd=$te+strlen($rc);if($rc&&rtrim($rc)!=$sb){while(preg_match('('.($rc=='/*'?'\\*/':($rc=='['?']':(ereg('^-- |^#',$rc)?"\n":preg_quote($rc)."|\\\\."))).'|$)s',$J,$C,PREG_OFFSET_CAPTURE,$Jd)){$bf=$C[0][0];if(!$bf&&$tc&&!feof($tc))$J.=fread($tc,1e5);else{$Jd=$C[0][1]+strlen($bf);if($bf[0]!="\\")break;}}}else{$Nb=false;$I=substr($J,0,$te);$Wa++;$_e="<pre id='sql-$Wa'><code class='jush-$y'>".shorten_utf8(trim($I),1000)."</code></pre>\n";if(!$_POST["only_errors"]){echo$_e;ob_flush();flush();}$pf=microtime();if($h->multi_query($I)&&is_object($i)&&preg_match("~^$nf*USE\\b~isU",$I))$i->query($I);do{$K=$h->store_result();$Ob=microtime();$Of=" <span class='time'>(".format_time($pf,$Ob).")</span>".(strlen($I)<1000?" <a href='".h(ME)."sql=".urlencode(trim($I))."'>".lang(30)."</a>":"");if($h->error){echo($_POST["only_errors"]?$_e:""),"<p class='error'>".lang(118).($h->errno?" ($h->errno)":"").": ".error()."\n";$Tb[]=" <a href='#sql-$Wa'>$Wa</a>";if($_POST["error_stops"])break
2;}elseif(is_object($K)){$ae=select($K,$i);if(!$_POST["only_errors"]){echo"<form action='' method='post'>\n","<p>".($K->num_rows?lang(119,$K->num_rows):"").$Of;$u="export-$Wa";$cc=", <a href='#$u' onclick=\"return !toggle('$u');\">".lang(111)."</a><span id='$u' class='hidden'>: ".html_select("output",$c->dumpOutput(),$ka["output"])." ".html_select("format",$Fb,$ka["format"])."<input type='hidden' name='query' value='".h($I)."'>"." <input type='submit' name='export' value='".lang(111)."'><input type='hidden' name='token' value='$T'></span>\n";if($i&&preg_match("~^($nf|\\()*SELECT\\b~isU",$I)&&($bc=explain($i,$I))){$u="explain-$Wa";echo", <a href='#$u' onclick=\"return !toggle('$u');\">EXPLAIN</a>$cc","<div id='$u' class='hidden'>\n";select($bc,$i,($y=="sql"?"http://dev.mysql.com/doc/refman/".substr($h->server_info,0,3)."/en/explain-output.html#explain_":""),$ae);echo"</div>\n";}else
echo$cc;echo"</form>\n";}}else{if(preg_match("~^$nf*(CREATE|DROP|ALTER)$nf+(DATABASE|SCHEMA)\\b~isU",$I)){restart_session();set_session("dbs",null);stop_session();}if(!$_POST["only_errors"])echo"<p class='message' title='".h($h->info)."'>".lang(120,$h->affected_rows)."$Of\n";}$pf=$Ob;}while($h->next_result());$kd+=substr_count($I.$rc,"\n");$J=substr($J,$Jd);$Jd=0;}}}}if($Nb)echo"<p class='message'>".lang(121)."\n";elseif($_POST["only_errors"]){echo"<p class='message'>".lang(122,$Wa-count($Tb))," <span class='time'>(".format_time($Xf,microtime()).")</span>\n";}elseif($Tb&&$Wa>1)echo"<p class='error'>".lang(118).": ".implode("",$Tb)."\n";}else
echo"<p class='error'>".upload_error($J)."\n";}echo'
<form action="" method="post" enctype="multipart/form-data" id="form">
<p>';$I=$_GET["sql"];if($_POST)$I=$_POST["query"];elseif($_GET["history"]=="all")$I=$Dc;elseif($_GET["history"]!="")$I=$Dc[$_GET["history"]][0];textarea("query",$I,20);echo($_POST?"":"<script type='text/javascript'>focus(document.getElementsByTagName('textarea')[0]);</script>\n"),"<p>".(ini_bool("file_uploads")?lang(123).': <input type="file" name="sql_file[]" multiple'.($_FILES&&$_FILES["sql_file"]["error"][0]!=4?'':' onchange="this.form[\'only_errors\'].checked = true;"').'> (&lt; '.ini_get("upload_max_filesize").'B)':lang(124)),'<p>
<input type="submit" value="',lang(29),'" title="Ctrl+Enter">
',checkbox("error_stops",1,$_POST["error_stops"],lang(125))."\n",checkbox("only_errors",1,$_POST["only_errors"],lang(126))."\n";print_fieldset("webfile",lang(127),$_POST["webfile"],"document.getElementById('form')['only_errors'].checked = true; ");echo
lang(128,"<code>adminer.sql".(extension_loaded("zlib")?"[.gz]":"")."</code>"),' <input type="submit" name="webfile" value="'.lang(129).'">',"</div></fieldset>\n";if($Dc){print_fieldset("history",lang(130),$_GET["history"]!="");for($X=end($Dc);$X;$X=prev($Dc)){$z=key($Dc);list($I,$Of)=$X;echo'<a href="'.h(ME."sql=&history=$z").'">'.lang(30)."</a> <span class='time' title='".@date('Y-m-d',$Of)."'>".@date("H:i:s",$Of)."</span> <code class='jush-$y'>".shorten_utf8(ltrim(str_replace("\n"," ",str_replace("\r","",preg_replace('~^(#|-- ).*~m','',$I)))),80,"</code>")."<br>\n";}echo"<input type='submit' name='clear' value='".lang(131)."'>\n","<a href='".h(ME."sql=&history=all")."'>".lang(132)."</a>\n","</div></fieldset>\n";}echo'<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["edit"])){$b=$_GET["edit"];$o=fields($b);$Z=(isset($_GET["select"])?(count($_POST["check"])==1?where_check($_POST["check"][0],$o):""):where($_GET,$o));$og=(isset($_GET["select"])?$_POST["edit"]:$Z);foreach($o
as$F=>$n){if(!isset($n["privileges"][$og?"update":"insert"])||$c->fieldName($n)=="")unset($o[$F]);}if($_POST&&!$m&&!isset($_GET["select"])){$B=$_POST["referer"];if($_POST["insert"])$B=($og?null:$_SERVER["REQUEST_URI"]);elseif(!ereg('^.+&select=.+$',$B))$B=ME."select=".urlencode($b);$w=indexes($b);$jg=unique_array($_GET["where"],$w);$He="\nWHERE $Z";if(isset($_POST["delete"])){$J="FROM ".table($b);query_redirect("DELETE".($jg?" $J$He":limit1($J,$He)),$B,lang(133));}else{$Q=array();foreach($o
as$F=>$n){$X=process_input($n);if($X!==false&&$X!==null)$Q[idf_escape($F)]=($og?"\n".idf_escape($F)." = $X":$X);}if($og){if(!$Q)redirect($B);$J=table($b)." SET".implode(",",$Q);query_redirect("UPDATE".($jg?" $J$He":limit1($J,$He)),$B,lang(134));}else{$K=insert_into($b,$Q);$dd=($K?last_id():0);queries_redirect($B,lang(135,($dd?" $dd":"")),$K);}}}$Bf=$c->tableName(table_status1($b,true));page_header(($og?lang(30):lang(136)),$m,array("select"=>array($b,$Bf)),$Bf);$M=null;if($_POST["save"])$M=(array)$_POST["fields"];elseif($Z){$O=array();foreach($o
as$F=>$n){if(isset($n["privileges"]["select"])){$ta=convert_field($n);if($_POST["clone"]&&$n["auto_increment"])$ta="''";if($y=="sql"&&ereg("enum|set",$n["type"]))$ta="1*".idf_escape($F);$O[]=($ta?"$ta AS ":"").idf_escape($F);}}$M=array();if($O){$N=get_rows("SELECT".limit(implode(", ",$O)." FROM ".table($b)," WHERE $Z",(isset($_GET["select"])?2:1)));$M=(isset($_GET["select"])&&count($N)!=1?null:reset($N));}}if($M===false)echo"<p class='error'>".lang(82)."\n";echo'
<form action="" method="post" enctype="multipart/form-data" id="form">
';if(!$o)echo"<p class='error'>".lang(137)."\n";else{echo"<table cellspacing='0' onkeydown='return editingKeydown(event);'>\n";foreach($o
as$F=>$n){echo"<tr><th>".$c->fieldName($n);$rb=$_GET["set"][bracket_escape($F)];if($rb===null){$rb=$n["default"];if($n["type"]=="bit"&&ereg("^b'([01]*)'\$",$rb,$Qe))$rb=$Qe[1];}$Y=($M!==null?($M[$F]!=""&&$y=="sql"&&ereg("enum|set",$n["type"])?(is_array($M[$F])?array_sum($M[$F]):+$M[$F]):$M[$F]):(!$og&&$n["auto_increment"]?"":(isset($_GET["select"])?false:$rb)));if(!$_POST["save"]&&is_string($Y))$Y=$c->editVal($Y,$n);$r=($_POST["save"]?(string)$_POST["function"][$F]:($og&&$n["on_update"]=="CURRENT_TIMESTAMP"?"now":($Y===false?null:($Y!==null?'':'NULL'))));if(ereg("time",$n["type"])&&$Y=="CURRENT_TIMESTAMP"){$Y="";$r="now";}input($n,$Y,$r);echo"\n";}echo"</table>\n";}echo'<p>
';if($o){echo"<input type='submit' value='".lang(138)."'>\n";if(!isset($_GET["select"]))echo"<input type='submit' name='insert' value='".($og?lang(139):lang(140))."' title='Ctrl+Shift+Enter'>\n";}echo($og?"<input type='submit' name='delete' value='".lang(141)."' onclick=\"return confirm('".lang(0)."');\">\n":($_POST||!$o?"":"<script type='text/javascript'>focus(document.getElementById('form').getElementsByTagName('td')[1].firstChild);</script>\n"));if(isset($_GET["select"]))hidden_fields(array("check"=>(array)$_POST["check"],"clone"=>$_POST["clone"],"all"=>$_POST["all"]));echo'<input type="hidden" name="referer" value="',h(isset($_POST["referer"])?$_POST["referer"]:$_SERVER["HTTP_REFERER"]),'">
<input type="hidden" name="save" value="1">
<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["create"])){$b=$_GET["create"];$ke=array('HASH','LINEAR HASH','KEY','LINEAR KEY','RANGE','LIST');$Me=referencable_primary($b);$q=array();foreach($Me
as$Bf=>$n)$q[str_replace("`","``",$Bf)."`".str_replace("`","``",$n["field"])]=$Bf;$de=array();$S=array();if($b!=""){$de=fields($b);$S=table_status($b);if(!$S)$m=lang(7);}$M=$_POST;$M["fields"]=(array)$M["fields"];if($M["auto_increment_col"])$M["fields"][$M["auto_increment_col"]]["auto_increment"]=true;if($_POST&&!process_fields($M["fields"])&&!$m){if($_POST["drop"])query_redirect("DROP TABLE ".table($b),substr(ME,0,-1),lang(142));else{$o=array();$qa=array();$qg=false;$oc=array();ksort($M["fields"]);$ce=reset($de);$oa=" FIRST";foreach($M["fields"]as$z=>$n){$p=$q[$n["type"]];$eg=($p!==null?$Me[$p]:$n);if($n["field"]!=""){if(!$n["has_default"])$n["default"]=null;if($z==$M["auto_increment_col"])$n["auto_increment"]=true;$Ee=process_field($n,$eg);$qa[]=array($n["orig"],$Ee,$oa);if($Ee!=process_field($ce,$ce)){$o[]=array($n["orig"],$Ee,$oa);if($n["orig"]!=""||$oa)$qg=true;}if($p!==null)$oc[idf_escape($n["field"])]=($b!=""&&$y!="sqlite"?"ADD":" ")." FOREIGN KEY (".idf_escape($n["field"]).") REFERENCES ".table($q[$n["type"]])." (".idf_escape($eg["field"]).")".(ereg("^($Qd)\$",$n["on_delete"])?" ON DELETE $n[on_delete]":"");$oa=" AFTER ".idf_escape($n["field"]);}elseif($n["orig"]!=""){$qg=true;$o[]=array($n["orig"]);}if($n["orig"]!=""){$ce=next($de);if(!$ce)$oa="";}}$me="";if(in_array($M["partition_by"],$ke)){$ne=array();if($M["partition_by"]=='RANGE'||$M["partition_by"]=='LIST'){foreach(array_filter($M["partition_names"])as$z=>$X){$Y=$M["partition_values"][$z];$ne[]="\n  PARTITION ".idf_escape($X)." VALUES ".($M["partition_by"]=='RANGE'?"LESS THAN":"IN").($Y!=""?" ($Y)":" MAXVALUE");}}$me.="\nPARTITION BY $M[partition_by]($M[partition])".($ne?" (".implode(",",$ne)."\n)":($M["partitions"]?" PARTITIONS ".(+$M["partitions"]):""));}elseif(support("partitioning")&&ereg("partitioned",$S["Create_options"]))$me.="\nREMOVE PARTITIONING";$D=lang(143);if($b==""){cookie("adminer_engine",$M["Engine"]);$D=lang(144);}$F=trim($M["name"]);queries_redirect(ME."table=".urlencode($F),$D,alter_table($b,$F,($y=="sqlite"&&($qg||$oc)?$qa:$o),$oc,$M["Comment"],($M["Engine"]&&$M["Engine"]!=$S["Engine"]?$M["Engine"]:""),($M["Collation"]&&$M["Collation"]!=$S["Collation"]?$M["Collation"]:""),($M["Auto_increment"]!=""?+$M["Auto_increment"]:""),$me));}}page_header(($b!=""?lang(27):lang(145)),$m,array("table"=>$b),$b);if(!$_POST){$M=array("Engine"=>$_COOKIE["adminer_engine"],"fields"=>array(array("field"=>"","type"=>(isset($gg["int"])?"int":(isset($gg["integer"])?"integer":"")))),"partition_names"=>array(""),);if($b!=""){$M=$S;$M["name"]=$b;$M["fields"]=array();if(!$_GET["auto_increment"])$M["Auto_increment"]="";foreach($de
as$n){$n["has_default"]=isset($n["default"]);$M["fields"][]=$n;}if(support("partitioning")){$uc="FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA = ".q(DB)." AND TABLE_NAME = ".q($b);$K=$h->query("SELECT PARTITION_METHOD, PARTITION_ORDINAL_POSITION, PARTITION_EXPRESSION $uc ORDER BY PARTITION_ORDINAL_POSITION DESC LIMIT 1");list($M["partition_by"],$M["partitions"],$M["partition"])=$K->fetch_row();$ne=get_key_vals("SELECT PARTITION_NAME, PARTITION_DESCRIPTION $uc AND PARTITION_NAME != '' ORDER BY PARTITION_ORDINAL_POSITION");$ne[""]="";$M["partition_names"]=array_keys($ne);$M["partition_values"]=array_values($ne);}}}$Ta=collations();$Qb=engines();foreach($Qb
as$Pb){if(!strcasecmp($Pb,$M["Engine"])){$M["Engine"]=$Pb;break;}}echo'
<form action="" method="post" id="form">
<p>
',lang(146),': <input name="name" maxlength="64" value="',h($M["name"]),'" autocapitalize="off">
';if($b==""&&!$_POST){?><script type='text/javascript'>focus(document.getElementById('form')['name']);</script><?php }echo($Qb?html_select("Engine",array(""=>"(".lang(147).")")+$Qb,$M["Engine"]):""),' ',($Ta&&!ereg("sqlite|mssql",$y)?html_select("Collation",array(""=>"(".lang(84).")")+$Ta,$M["Collation"]):""),' <input type="submit" value="',lang(138),'">
<table cellspacing="0" id="edit-fields" class="nowrap">
';$Ya=($_POST?$_POST["comments"]:$M["Comment"]!="");if(!$_POST&&!$Ya){foreach($M["fields"]as$n){if($n["comment"]!=""){$Ya=true;break;}}}edit_fields($M["fields"],$Ta,"TABLE",$q,$Ya);echo'</table>
<p>
',lang(92),': <input type="number" name="Auto_increment" size="6" value="',h($M["Auto_increment"]),'">
',checkbox("defaults",1,true,lang(93),"columnShow(this.checked, 5)","jsonly");if(!$_POST["defaults"]){echo'<script type="text/javascript">editingHideDefaults()</script>';}echo(support("comment")?"<label><input type='checkbox' name='comments' value='1' class='jsonly' onclick=\"columnShow(this.checked, 6); toggle('Comment'); if (this.checked) this.form['Comment'].focus();\"".($Ya?" checked":"").">".lang(94)."</label>".' <input name="Comment" id="Comment" value="'.h($M["Comment"]).'" maxlength="'.($h->server_info>=5.5?2048:60).'"'.($Ya?'':' class="hidden"').'>':''),'<p>
<input type="submit" value="',lang(138),'">
';if($_GET["create"]!=""){echo'<input type="submit" name="drop" value="',lang(81),'"',confirm(),'>';}if(support("partitioning")){$le=ereg('RANGE|LIST',$M["partition_by"]);print_fieldset("partition",lang(148),$M["partition_by"]);echo'<p>
',html_select("partition_by",array(-1=>"")+$ke,$M["partition_by"],"partitionByChange(this);"),'(<input name="partition" value="',h($M["partition"]),'">)
',lang(149),': <input type="number" name="partitions" class="size" value="',h($M["partitions"]),'"',($le||!$M["partition_by"]?" class='hidden'":""),'>
<table cellspacing="0" id="partition-table"',($le?"":" class='hidden'"),'>
<thead><tr><th>',lang(150),'<th>',lang(151),'</thead>
';foreach($M["partition_names"]as$z=>$X){echo'<tr>','<td><input name="partition_names[]" value="'.h($X).'"'.($z==count($M["partition_names"])-1?' onchange="partitionNameChange(this);"':'').' autocapitalize="off">','<td><input name="partition_values[]" value="'.h($M["partition_values"][$z]).'">';}echo'</table>
</div></fieldset>
';}echo'<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["indexes"])){$b=$_GET["indexes"];$Lc=array("PRIMARY","UNIQUE","INDEX");$S=table_status($b,true);if(eregi("MyISAM|M?aria".($h->server_info>=5.6?"|InnoDB":""),$S["Engine"]))$Lc[]="FULLTEXT";$w=indexes($b);if($y=="sqlite"){unset($Lc[0]);unset($w[""]);}$M=$_POST;if($_POST&&!$m&&!$_POST["add"]){$ra=array();foreach($M["indexes"]as$v){$F=$v["name"];if(in_array($v["type"],$Lc)){$f=array();$jd=array();$ub=array();$Q=array();ksort($v["columns"]);foreach($v["columns"]as$z=>$e){if($e!=""){$id=$v["lengths"][$z];$tb=$v["descs"][$z];$Q[]=idf_escape($e).($id?"(".(+$id).")":"").($tb?" DESC":"");$f[]=$e;$jd[]=($id?$id:null);$ub[]=$tb;}}if($f){$ac=$w[$F];if($ac){ksort($ac["columns"]);ksort($ac["lengths"]);ksort($ac["descs"]);if($v["type"]==$ac["type"]&&array_values($ac["columns"])===$f&&(!$ac["lengths"]||array_values($ac["lengths"])===$jd)&&array_values($ac["descs"])===$ub){unset($w[$F]);continue;}}$ra[]=array($v["type"],$F,"(".implode(", ",$Q).")");}}}foreach($w
as$F=>$ac)$ra[]=array($ac["type"],$F,"DROP");if(!$ra)redirect(ME."table=".urlencode($b));queries_redirect(ME."table=".urlencode($b),lang(152),alter_indexes($b,$ra));}page_header(lang(102),$m,array("table"=>$b),$b);$o=array_keys(fields($b));if($_POST["add"]){foreach($M["indexes"]as$z=>$v){if($v["columns"][count($v["columns"])]!="")$M["indexes"][$z]["columns"][]="";}$v=end($M["indexes"]);if($v["type"]||array_filter($v["columns"],'strlen')||array_filter($v["lengths"],'strlen')||array_filter($v["descs"]))$M["indexes"][]=array("columns"=>array(1=>""));}if(!$M){foreach($w
as$z=>$v){$w[$z]["name"]=$z;$w[$z]["columns"][]="";}$w[]=array("columns"=>array(1=>""));$M["indexes"]=$w;}echo'
<form action="" method="post">
<table cellspacing="0" class="nowrap">
<thead><tr><th>',lang(153),'<th>',lang(154),'<th>',lang(155),'</thead>
';$x=1;foreach($M["indexes"]as$v){echo"<tr><td>".html_select("indexes[$x][type]",array(-1=>"")+$Lc,$v["type"],($x==count($M["indexes"])?"indexesAddRow(this);":1))."<td>";ksort($v["columns"]);$t=1;foreach($v["columns"]as$z=>$e){echo"<span>".html_select("indexes[$x][columns][$t]",array(-1=>"")+$o,$e,($t==count($v["columns"])?"indexesAddColumn":"indexesChangeColumn")."(this, '".js_escape($y=="sql"?"":$_GET["indexes"]."_")."');"),($y=="sql"||$y=="mssql"?"<input type='number' name='indexes[$x][lengths][$t]' class='size' value='".h($v["lengths"][$z])."'>":""),($y!="sql"?checkbox("indexes[$x][descs][$t]",1,$v["descs"][$z],lang(38)):"")," </span>";$t++;}echo"<td><input name='indexes[$x][name]' value='".h($v["name"])."' autocapitalize='off'>\n";$x++;}echo'</table>
<p>
<input type="submit" value="',lang(138),'">
<noscript><p><input type="submit" name="add" value="',lang(95),'"></noscript>
<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["database"])){$M=$_POST;if($_POST&&!$m&&!isset($_POST["add_x"])){restart_session();$F=trim($M["name"]);if($_POST["drop"]){$_GET["db"]="";queries_redirect(remove_from_uri("db|database"),lang(156),drop_databases(array(DB)));}elseif(DB!==$F){if(DB!=""){$_GET["db"]=$F;queries_redirect(preg_replace('~db=[^&]*&~','',ME)."db=".urlencode($F),lang(157),rename_database($F,$M["collation"]));}else{$k=explode("\n",str_replace("\r","",$F));$wf=true;$cd="";foreach($k
as$l){if(count($k)==1||$l!=""){if(!create_database($l,$M["collation"]))$wf=false;$cd=$l;}}queries_redirect(ME."db=".urlencode($cd),lang(158),$wf);}}else{if(!$M["collation"])redirect(substr(ME,0,-1));query_redirect("ALTER DATABASE ".idf_escape($F).(eregi('^[a-z0-9_]+$',$M["collation"])?" COLLATE $M[collation]":""),substr(ME,0,-1),lang(159));}}page_header(DB!=""?lang(46):lang(160),$m,array(),DB);$Ta=collations();$F=DB;if($_POST)$F=$M["name"];elseif(DB!="")$M["collation"]=db_collation(DB,$Ta);elseif($y=="sql"){foreach(get_vals("SHOW GRANTS")as$s){if(preg_match('~ ON (`(([^\\\\`]|``|\\\\.)*)%`\\.\\*)?~',$s,$C)&&$C[1]){$F=stripcslashes(idf_unescape("`$C[2]`"));break;}}}echo'
<form action="" method="post">
<p>
',($_POST["add_x"]||strpos($F,"\n")?'<textarea id="name" name="name" rows="10" cols="40">'.h($F).'</textarea><br>':'<input name="name" id="name" value="'.h($F).'" maxlength="64" autocapitalize="off">')."\n".($Ta?html_select("collation",array(""=>"(".lang(84).")")+$Ta,$M["collation"]):"");?>
<script type='text/javascript'>focus(document.getElementById('name'));</script>
<input type="submit" value="<?php echo
lang(138),'">
';if(DB!="")echo"<input type='submit' name='drop' value='".lang(81)."'".confirm().">\n";elseif(!$_POST["add_x"]&&$_GET["db"]=="")echo"<input type='image' name='add' src='".h(preg_replace("~\\?.*~","",ME))."?file=plus.gif&amp;version=3.7.1' alt='+' title='".lang(95)."'>\n";echo'<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["call"])){$ca=$_GET["call"];page_header(lang(161).": ".h($ca),$m);$Ye=routine($ca,(isset($_GET["callf"])?"FUNCTION":"PROCEDURE"));$Kc=array();$ee=array();foreach($Ye["fields"]as$t=>$n){if(substr($n["inout"],-3)=="OUT")$ee[$t]="@".idf_escape($n["field"])." AS ".idf_escape($n["field"]);if(!$n["inout"]||substr($n["inout"],0,2)=="IN")$Kc[]=$t;}if(!$m&&$_POST){$Ha=array();foreach($Ye["fields"]as$z=>$n){if(in_array($z,$Kc)){$X=process_input($n);if($X===false)$X="''";if(isset($ee[$z]))$h->query("SET @".idf_escape($n["field"])." = $X");}$Ha[]=(isset($ee[$z])?"@".idf_escape($n["field"]):$X);}$J=(isset($_GET["callf"])?"SELECT":"CALL")." ".idf_escape($ca)."(".implode(", ",$Ha).")";echo"<p><code class='jush-$y'>".h($J)."</code> <a href='".h(ME)."sql=".urlencode($J)."'>".lang(30)."</a>\n";if(!$h->multi_query($J))echo"<p class='error'>".error()."\n";else{$i=connect();if(is_object($i))$i->select_db(DB);do{$K=$h->store_result();if(is_object($K))select($K,$i);else
echo"<p class='message'>".lang(162,$h->affected_rows)."\n";}while($h->next_result());if($ee)select($h->query("SELECT ".implode(", ",$ee)));}}echo'
<form action="" method="post">
';if($Kc){echo"<table cellspacing='0'>\n";foreach($Kc
as$z){$n=$Ye["fields"][$z];$F=$n["field"];echo"<tr><th>".$c->fieldName($n);$Y=$_POST["fields"][$F];if($Y!=""){if($n["type"]=="enum")$Y=+$Y;if($n["type"]=="set")$Y=array_sum($Y);}input($n,$Y,(string)$_POST["function"][$F]);echo"\n";}echo"</table>\n";}echo'<p>
<input type="submit" value="',lang(161),'">
<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["foreign"])){$b=$_GET["foreign"];$F=$_GET["name"];$M=$_POST;if($_POST&&!$m&&!$_POST["add"]&&!$_POST["change"]&&!$_POST["change-js"]){if($_POST["drop"])query_redirect("ALTER TABLE ".table($b)."\nDROP ".($y=="sql"?"FOREIGN KEY ":"CONSTRAINT ").idf_escape($F),ME."table=".urlencode($b),lang(163));else{$mf=array_filter($M["source"],'strlen');ksort($mf);$If=array();foreach($mf
as$z=>$X)$If[$z]=$M["target"][$z];query_redirect("ALTER TABLE ".table($b).($F!=""?"\nDROP ".($y=="sql"?"FOREIGN KEY ":"CONSTRAINT ").idf_escape($F).",":"")."\nADD FOREIGN KEY (".implode(", ",array_map('idf_escape',$mf)).") REFERENCES ".table($M["table"])." (".implode(", ",array_map('idf_escape',$If)).")".(ereg("^($Qd)\$",$M["on_delete"])?" ON DELETE $M[on_delete]":"").(ereg("^($Qd)\$",$M["on_update"])?" ON UPDATE $M[on_update]":""),ME."table=".urlencode($b),($F!=""?lang(164):lang(165)));$m=lang(166)."<br>$m";}}page_header(lang(167),$m,array("table"=>$b),$b);if($_POST){ksort($M["source"]);if($_POST["add"])$M["source"][]="";elseif($_POST["change"]||$_POST["change-js"])$M["target"]=array();}elseif($F!=""){$q=foreign_keys($b);$M=$q[$F];$M["source"][]="";}else{$M["table"]=$b;$M["source"]=array("");}$mf=array_keys(fields($b));$If=($b===$M["table"]?$mf:array_keys(fields($M["table"])));$Le=array_keys(array_filter(table_status('',true),'fk_support'));echo'
<form action="" method="post">
<p>
';if($M["db"]==""&&$M["ns"]==""){echo
lang(168),':
',html_select("table",$Le,$M["table"],"this.form['change-js'].value = '1'; this.form.submit();"),'<input type="hidden" name="change-js" value="">
<noscript><p><input type="submit" name="change" value="',lang(169),'"></noscript>
<table cellspacing="0">
<thead><tr><th>',lang(104),'<th>',lang(105),'</thead>
';$x=0;foreach($M["source"]as$z=>$X){echo"<tr>","<td>".html_select("source[".(+$z)."]",array(-1=>"")+$mf,$X,($x==count($M["source"])-1?"foreignAddRow(this);":1)),"<td>".html_select("target[".(+$z)."]",$If,$M["target"][$z]);$x++;}echo'</table>
<p>
',lang(86),': ',html_select("on_delete",array(-1=>"")+explode("|",$Qd),$M["on_delete"]),' ',lang(85),': ',html_select("on_update",array(-1=>"")+explode("|",$Qd),$M["on_update"]),'<p>
<input type="submit" value="',lang(138),'">
<noscript><p><input type="submit" name="add" value="',lang(170),'"></noscript>
';}if($F!=""){echo'<input type="submit" name="drop" value="',lang(81),'"',confirm(),'>';}echo'<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["view"])){$b=$_GET["view"];$M=$_POST;if($_POST&&!$m){$F=trim($M["name"]);$ta=" AS\n$M[select]";$B=ME."table=".urlencode($F);$D=lang(171);if(!$_POST["drop"]&&$b==$F&&$y!="sqlite")query_redirect(($y=="mssql"?"ALTER":"CREATE OR REPLACE")." VIEW ".table($F).$ta,$B,$D);else{$Kf=$F."_adminer_".uniqid();drop_create("DROP VIEW ".table($b),"CREATE VIEW ".table($F).$ta,"DROP VIEW ".table($F),"CREATE VIEW ".table($Kf).$ta,"DROP VIEW ".table($Kf),($_POST["drop"]?substr(ME,0,-1):$B),lang(172),$D,lang(173),$b,$F);}}if(!$_POST&&$b!=""){$M=view($b);$M["name"]=$b;if(!$m)$m=$h->error;}page_header(($b!=""?lang(26):lang(174)),$m,array("table"=>$b),$b);echo'
<form action="" method="post">
<p>',lang(155),': <input name="name" value="',h($M["name"]),'" maxlength="64" autocapitalize="off">
<p>';textarea("select",$M["select"]);echo'<p>
<input type="submit" value="',lang(138),'">
';if($_GET["view"]!=""){echo'<input type="submit" name="drop" value="',lang(81),'"',confirm(),'>';}echo'<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["event"])){$aa=$_GET["event"];$Qc=array("YEAR","QUARTER","MONTH","DAY","HOUR","MINUTE","WEEK","SECOND","YEAR_MONTH","DAY_HOUR","DAY_MINUTE","DAY_SECOND","HOUR_MINUTE","HOUR_SECOND","MINUTE_SECOND");$rf=array("ENABLED"=>"ENABLE","DISABLED"=>"DISABLE","SLAVESIDE_DISABLED"=>"DISABLE ON SLAVE");$M=$_POST;if($_POST&&!$m){if($_POST["drop"])query_redirect("DROP EVENT ".idf_escape($aa),substr(ME,0,-1),lang(175));elseif(in_array($M["INTERVAL_FIELD"],$Qc)&&isset($rf[$M["STATUS"]])){$cf="\nON SCHEDULE ".($M["INTERVAL_VALUE"]?"EVERY ".q($M["INTERVAL_VALUE"])." $M[INTERVAL_FIELD]".($M["STARTS"]?" STARTS ".q($M["STARTS"]):"").($M["ENDS"]?" ENDS ".q($M["ENDS"]):""):"AT ".q($M["STARTS"]))." ON COMPLETION".($M["ON_COMPLETION"]?"":" NOT")." PRESERVE";queries_redirect(substr(ME,0,-1),($aa!=""?lang(176):lang(177)),queries(($aa!=""?"ALTER EVENT ".idf_escape($aa).$cf.($aa!=$M["EVENT_NAME"]?"\nRENAME TO ".idf_escape($M["EVENT_NAME"]):""):"CREATE EVENT ".idf_escape($M["EVENT_NAME"]).$cf)."\n".$rf[$M["STATUS"]]." COMMENT ".q($M["EVENT_COMMENT"]).rtrim(" DO\n$M[EVENT_DEFINITION]",";").";"));}}page_header(($aa!=""?lang(178).": ".h($aa):lang(179)),$m);if(!$M&&$aa!=""){$N=get_rows("SELECT * FROM information_schema.EVENTS WHERE EVENT_SCHEMA = ".q(DB)." AND EVENT_NAME = ".q($aa));$M=reset($N);}echo'
<form action="" method="post">
<table cellspacing="0">
<tr><th>',lang(155),'<td><input name="EVENT_NAME" value="',h($M["EVENT_NAME"]),'" maxlength="64" autocapitalize="off">
<tr><th title="datetime">',lang(180),'<td><input name="STARTS" value="',h("$M[EXECUTE_AT]$M[STARTS]"),'">
<tr><th title="datetime">',lang(181),'<td><input name="ENDS" value="',h($M["ENDS"]),'">
<tr><th>',lang(182),'<td><input type="number" name="INTERVAL_VALUE" value="',h($M["INTERVAL_VALUE"]),'" class="size"> ',html_select("INTERVAL_FIELD",$Qc,$M["INTERVAL_FIELD"]),'<tr><th>',lang(75),'<td>',html_select("STATUS",$rf,$M["STATUS"]),'<tr><th>',lang(94),'<td><input name="EVENT_COMMENT" value="',h($M["EVENT_COMMENT"]),'" maxlength="64">
<tr><th>&nbsp;<td>',checkbox("ON_COMPLETION","PRESERVE",$M["ON_COMPLETION"]=="PRESERVE",lang(183)),'</table>
<p>';textarea("EVENT_DEFINITION",$M["EVENT_DEFINITION"]);echo'<p>
<input type="submit" value="',lang(138),'">
';if($aa!=""){echo'<input type="submit" name="drop" value="',lang(81),'"',confirm(),'>';}echo'<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["procedure"])){$ca=$_GET["procedure"];$Ye=(isset($_GET["function"])?"FUNCTION":"PROCEDURE");$M=$_POST;$M["fields"]=(array)$M["fields"];if($_POST&&!process_fields($M["fields"])&&!$m){$Kf="$M[name]_adminer_".uniqid();drop_create("DROP $Ye ".idf_escape($ca),create_routine($Ye,$M),"DROP $Ye ".idf_escape($M["name"]),create_routine($Ye,array("name"=>$Kf)+$M),"DROP $Ye ".idf_escape($Kf),substr(ME,0,-1),lang(184),lang(185),lang(186),$ca,$M["name"]);}page_header(($ca!=""?(isset($_GET["function"])?lang(187):lang(188)).": ".h($ca):(isset($_GET["function"])?lang(189):lang(190))),$m);if(!$_POST&&$ca!=""){$M=routine($ca,$Ye);$M["name"]=$ca;}$Ta=get_vals("SHOW CHARACTER SET");sort($Ta);$Ze=routine_languages();echo'
<form action="" method="post" id="form">
<p>',lang(155),': <input name="name" value="',h($M["name"]),'" maxlength="64" autocapitalize="off">
',($Ze?lang(9).": ".html_select("language",$Ze,$M["language"]):""),'<table cellspacing="0" class="nowrap">
';edit_fields($M["fields"],$Ta,$Ye);if(isset($_GET["function"])){echo"<tr><td>".lang(191);edit_type("returns",$M["returns"],$Ta);}echo'</table>
<p>';textarea("definition",$M["definition"]);echo'<p>
<input type="submit" value="',lang(138),'">
';if($ca!=""){echo'<input type="submit" name="drop" value="',lang(81),'"',confirm(),'>';}echo'<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["trigger"])){$b=$_GET["trigger"];$F=$_GET["name"];$cg=trigger_options();$bg=array("INSERT","UPDATE","DELETE");$M=(array)trigger($F)+array("Trigger"=>$b."_bi");if($_POST){if(!$m&&in_array($_POST["Timing"],$cg["Timing"])&&in_array($_POST["Event"],$bg)&&in_array($_POST["Type"],$cg["Type"])){$Pd=" ON ".table($b);$Bb="DROP TRIGGER ".idf_escape($F).($y=="pgsql"?$Pd:"");$B=ME."table=".urlencode($b);if($_POST["drop"])query_redirect($Bb,$B,lang(192));else{if($F!="")queries($Bb);queries_redirect($B,($F!=""?lang(193):lang(194)),queries(create_trigger($Pd,$_POST)));if($F!="")queries(create_trigger($Pd,$M+array("Type"=>reset($cg["Type"]))));}}$M=$_POST;}page_header(($F!=""?lang(195).": ".h($F):lang(196)),$m,array("table"=>$b));echo'
<form action="" method="post" id="form">
<table cellspacing="0">
<tr><th>',lang(197),'<td>',html_select("Timing",$cg["Timing"],$M["Timing"],"if (/^".preg_quote($b,"/")."_[ba][iud]$/.test(this.form['Trigger'].value)) this.form['Trigger'].value = '".js_escape($b)."_' + selectValue(this).charAt(0).toLowerCase() + selectValue(this.form['Event']).charAt(0).toLowerCase();"),'<tr><th>',lang(198),'<td>',html_select("Event",$bg,$M["Event"],"this.form['Timing'].onchange();"),'<tr><th>',lang(89),'<td>',html_select("Type",$cg["Type"],$M["Type"]),'</table>
<p>',lang(155),': <input name="Trigger" value="',h($M["Trigger"]),'" maxlength="64" autocapitalize="off">
<p>';textarea("Statement",$M["Statement"]);echo'<p>
<input type="submit" value="',lang(138),'">
';if($F!=""){echo'<input type="submit" name="drop" value="',lang(81),'"',confirm(),'>';}echo'<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["user"])){$ea=$_GET["user"];$Ce=array(""=>array("All privileges"=>""));foreach(get_rows("SHOW PRIVILEGES")as$M){foreach(explode(",",($M["Privilege"]=="Grant option"?"":$M["Context"]))as$db)$Ce[$db][$M["Privilege"]]=$M["Comment"];}$Ce["Server Admin"]+=$Ce["File access on server"];$Ce["Databases"]["Create routine"]=$Ce["Procedures"]["Create routine"];unset($Ce["Procedures"]["Create routine"]);$Ce["Columns"]=array();foreach(array("Select","Insert","Update","References")as$X)$Ce["Columns"][$X]=$Ce["Tables"][$X];unset($Ce["Server Admin"]["Usage"]);foreach($Ce["Tables"]as$z=>$X)unset($Ce["Databases"][$z]);$Ed=array();if($_POST){foreach($_POST["objects"]as$z=>$X)$Ed[$X]=(array)$Ed[$X]+(array)$_POST["grants"][$z];}$yc=array();$Nd="";if(isset($_GET["host"])&&($K=$h->query("SHOW GRANTS FOR ".q($ea)."@".q($_GET["host"])))){while($M=$K->fetch_row()){if(preg_match('~GRANT (.*) ON (.*) TO ~',$M[0],$C)&&preg_match_all('~ *([^(,]*[^ ,(])( *\\([^)]+\\))?~',$C[1],$od,PREG_SET_ORDER)){foreach($od
as$X){if($X[1]!="USAGE")$yc["$C[2]$X[2]"][$X[1]]=true;if(ereg(' WITH GRANT OPTION',$M[0]))$yc["$C[2]$X[2]"]["GRANT OPTION"]=true;}}if(preg_match("~ IDENTIFIED BY PASSWORD '([^']+)~",$M[0],$C))$Nd=$C[1];}}if($_POST&&!$m){$Od=(isset($_GET["host"])?q($ea)."@".q($_GET["host"]):"''");if($_POST["drop"])query_redirect("DROP USER $Od",ME."privileges=",lang(199));else{$Gd=q($_POST["user"])."@".q($_POST["host"]);$oe=$_POST["pass"];if($oe!=''&&!$_POST["hashed"]){$oe=$h->result("SELECT PASSWORD(".q($oe).")");$m=!$oe;}$hb=false;if(!$m){if($Od!=$Gd){$hb=queries(($h->server_info<5?"GRANT USAGE ON *.* TO":"CREATE USER")." $Gd IDENTIFIED BY PASSWORD ".q($oe));$m=!$hb;}elseif($oe!=$Nd)queries("SET PASSWORD FOR $Gd = ".q($oe));}if(!$m){$Ve=array();foreach($Ed
as$Id=>$s){if(isset($_GET["grant"]))$s=array_filter($s);$s=array_keys($s);if(isset($_GET["grant"]))$Ve=array_diff(array_keys(array_filter($Ed[$Id],'strlen')),$s);elseif($Od==$Gd){$Ld=array_keys((array)$yc[$Id]);$Ve=array_diff($Ld,$s);$s=array_diff($s,$Ld);unset($yc[$Id]);}if(preg_match('~^(.+)\\s*(\\(.*\\))?$~U',$Id,$C)&&(!grant("REVOKE",$Ve,$C[2]," ON $C[1] FROM $Gd")||!grant("GRANT",$s,$C[2]," ON $C[1] TO $Gd"))){$m=true;break;}}}if(!$m&&isset($_GET["host"])){if($Od!=$Gd)queries("DROP USER $Od");elseif(!isset($_GET["grant"])){foreach($yc
as$Id=>$Ve){if(preg_match('~^(.+)(\\(.*\\))?$~U',$Id,$C))grant("REVOKE",array_keys($Ve),$C[2]," ON $C[1] FROM $Gd");}}}queries_redirect(ME."privileges=",(isset($_GET["host"])?lang(200):lang(201)),!$m);if($hb)$h->query("DROP USER $Gd");}}page_header((isset($_GET["host"])?lang(19).": ".h("$ea@$_GET[host]"):lang(117)),$m,array("privileges"=>array('',lang(50))));if($_POST){$M=$_POST;$yc=$Ed;}else{$M=$_GET+array("host"=>$h->result("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', -1)"));$M["pass"]=$Nd;if($Nd!="")$M["hashed"]=true;$yc[(DB==""||$yc?"":idf_escape(addcslashes(DB,"%_\\"))).".*"]=array();}echo'<form action="" method="post">
<table cellspacing="0">
<tr><th>',lang(18),'<td><input name="host" maxlength="60" value="',h($M["host"]),'" autocapitalize="off">
<tr><th>',lang(19),'<td><input name="user" maxlength="16" value="',h($M["user"]),'" autocapitalize="off">
<tr><th>',lang(20),'<td><input name="pass" id="pass" value="',h($M["pass"]),'">
';if(!$M["hashed"]){echo'<script type="text/javascript">typePassword(document.getElementById(\'pass\'));</script>';}echo
checkbox("hashed",1,$M["hashed"],lang(202),"typePassword(this.form['pass'], this.checked);"),'</table>

';echo"<table cellspacing='0'>\n","<thead><tr><th colspan='2'><a href='http://dev.mysql.com/doc/refman/".substr($h->server_info,0,3)."/en/grant.html#priv_level' target='_blank' rel='noreferrer' class='help'>".lang(50)."</a>";$t=0;foreach($yc
as$Id=>$s){echo'<th>'.($Id!="*.*"?"<input name='objects[$t]' value='".h($Id)."' size='10' autocapitalize='off'>":"<input type='hidden' name='objects[$t]' value='*.*' size='10'>*.*");$t++;}echo"</thead>\n";foreach(array(""=>"","Server Admin"=>lang(18),"Databases"=>lang(21),"Tables"=>lang(100),"Columns"=>lang(101),"Procedures"=>lang(203),)as$db=>$tb){foreach((array)$Ce[$db]as$Be=>$Xa){echo"<tr".odd()."><td".($tb?">$tb<td":" colspan='2'").' lang="en" title="'.h($Xa).'">'.h($Be);$t=0;foreach($yc
as$Id=>$s){$F="'grants[$t][".h(strtoupper($Be))."]'";$Y=$s[strtoupper($Be)];if($db=="Server Admin"&&$Id!=(isset($yc["*.*"])?"*.*":".*"))echo"<td>&nbsp;";elseif(isset($_GET["grant"]))echo"<td><select name=$F><option><option value='1'".($Y?" selected":"").">".lang(204)."<option value='0'".($Y=="0"?" selected":"").">".lang(205)."</select>";else
echo"<td align='center'><label class='block'><input type='checkbox' name=$F value='1'".($Y?" checked":"").($Be=="All privileges"?" id='grants-$t-all'":($Be=="Grant option"?"":" onclick=\"if (this.checked) formUncheck('grants-$t-all');\""))."></label>";$t++;}}}echo"</table>\n",'<p>
<input type="submit" value="',lang(138),'">
';if(isset($_GET["host"])){echo'<input type="submit" name="drop" value="',lang(81),'"',confirm(),'>';}echo'<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["processlist"])){if(support("kill")&&$_POST&&!$m){$Yc=0;foreach((array)$_POST["kill"]as$X){if(queries("KILL ".(+$X)))$Yc++;}queries_redirect(ME."processlist=",lang(206,$Yc),$Yc||!$_POST["kill"]);}page_header(lang(73),$m);echo'
<form action="" method="post">
<table cellspacing="0" onclick="tableClick(event);" ondblclick="tableClick(event, true);" class="nowrap checkable">
';$t=-1;foreach(process_list()as$t=>$M){if(!$t){echo"<thead><tr lang='en'>".(support("kill")?"<th>&nbsp;":"");foreach($M
as$z=>$X)echo"<th>".($y=="sql"?"<a href='http://dev.mysql.com/doc/refman/".substr($h->server_info,0,3)."/en/show-processlist.html#processlist_".strtolower($z)."' target='_blank' rel='noreferrer' class='help'>$z</a>":$z);echo"</thead>\n";}echo"<tr".odd().">".(support("kill")?"<td>".checkbox("kill[]",$M["Id"],0):"");foreach($M
as$z=>$X)echo"<td>".(($y=="sql"&&$z=="Info"&&ereg("Query|Killed",$M["Command"])&&$X!="")||($y=="pgsql"&&$z=="current_query"&&$X!="<IDLE>")||($y=="oracle"&&$z=="sql_text"&&$X!="")?"<code class='jush-$y'>".shorten_utf8($X,100,"</code>").' <a href="'.h(ME.($M["db"]!=""?"db=".urlencode($M["db"])."&":"")."sql=".urlencode($X)).'">'.lang(207).'</a>':nbsp($X));echo"\n";}echo'</table>
<script type=\'text/javascript\'>tableCheck();</script>
<p>
';if(support("kill")){echo($t+1)."/".lang(208,$h->result("SELECT @@max_connections")),"<p><input type='submit' value='".lang(209)."'>\n";}echo'<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["select"])){$b=$_GET["select"];$S=table_status1($b);$w=indexes($b);$o=fields($b);$q=column_foreign_keys($b);$Kd="";if($S["Oid"]){$Kd=($y=="sqlite"?"rowid":"oid");$w[]=array("type"=>"PRIMARY","columns"=>array($Kd));}parse_str($_COOKIE["adminer_import"],$la);$We=array();$f=array();$Nf=null;foreach($o
as$z=>$n){$F=$c->fieldName($n);if(isset($n["privileges"]["select"])&&$F!=""){$f[$z]=html_entity_decode(strip_tags($F),ENT_QUOTES);if(is_shortable($n))$Nf=$c->selectLengthProcess();}$We+=$n["privileges"];}list($O,$zc)=$c->selectColumnsProcess($f,$w);$Rc=count($zc)<count($O);$Z=$c->selectSearchProcess($o,$w);$Xd=$c->selectOrderProcess($o,$w);$_=$c->selectLimitProcess();$uc=($O?implode(", ",$O):"*".($Kd?", $Kd":"")).convert_fields($f,$o,$O)."\nFROM ".table($b);$_c=($zc&&$Rc?"\nGROUP BY ".implode(", ",$zc):"").($Xd?"\nORDER BY ".implode(", ",$Xd):"");if($_GET["val"]&&is_ajax()){header("Content-Type: text/plain; charset=utf-8");foreach($_GET["val"]as$kg=>$M){$ta=convert_field($o[key($M)]);echo$h->result("SELECT".limit($ta?$ta:idf_escape(key($M))." FROM ".table($b)," WHERE ".where_check($kg,$o).($Z?" AND ".implode(" AND ",$Z):"").($Xd?" ORDER BY ".implode(", ",$Xd):""),1));}exit;}if($_POST&&!$m){$_g=$Z;if(is_array($_POST["check"]))$_g[]="((".implode(") OR (",array_map('where_check',$_POST["check"]))."))";$_g=($_g?"\nWHERE ".implode(" AND ",$_g):"");$ze=$mg=null;foreach($w
as$v){if($v["type"]=="PRIMARY"){$ze=array_flip($v["columns"]);$mg=($O?$ze:array());break;}}foreach((array)$mg
as$z=>$X){if(in_array(idf_escape($z),$O))unset($mg[$z]);}if($_POST["export"]){cookie("adminer_import","output=".urlencode($_POST["output"])."&format=".urlencode($_POST["format"]));dump_headers($b);$c->dumpTable($b,"");if(!is_array($_POST["check"])||$mg===array())$J="SELECT $uc$_g$_c";else{$ig=array();foreach($_POST["check"]as$X)$ig[]="(SELECT".limit($uc,"\nWHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($X,$o).$_c,1).")";$J=implode(" UNION ALL ",$ig);}$c->dumpData($b,"table",$J);exit;}if(!$c->selectEmailProcess($Z,$q)){if($_POST["save"]||$_POST["delete"]){$K=true;$ma=0;$J=table($b);$Q=array();if(!$_POST["delete"]){foreach($f
as$F=>$X){$X=process_input($o[$F]);if($X!==null){if($_POST["clone"])$Q[idf_escape($F)]=($X!==false?$X:idf_escape($F));elseif($X!==false)$Q[]=idf_escape($F)." = $X";}}$J.=($_POST["clone"]?" (".implode(", ",array_keys($Q)).")\nSELECT ".implode(", ",$Q)."\nFROM ".table($b):" SET\n".implode(",\n",$Q));}if($_POST["delete"]||$Q){$Va="UPDATE";if($_POST["delete"]){$Va="DELETE";$J="FROM $J";}if($_POST["clone"]){$Va="INSERT";$J="INTO $J";}if($_POST["all"]||($mg===array()&&is_array($_POST["check"]))||$Rc){$K=queries("$Va $J$_g");$ma=$h->affected_rows;}else{foreach((array)$_POST["check"]as$X){$K=queries($Va.limit1($J,"\nWHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($X,$o)));if(!$K)break;$ma+=$h->affected_rows;}}}$D=lang(210,$ma);if($_POST["clone"]&&$K&&$ma==1){$dd=last_id();if($dd)$D=lang(135," $dd");}queries_redirect(remove_from_uri($_POST["all"]&&$_POST["delete"]?"page":""),$D,$K);}elseif(!$_POST["import"]){if(!$_POST["val"])$m=lang(211);else{$K=true;$ma=0;foreach($_POST["val"]as$kg=>$M){$Q=array();foreach($M
as$z=>$X){$z=bracket_escape($z,1);$Q[]=idf_escape($z)." = ".(ereg('char|text',$o[$z]["type"])||$X!=""?$c->processInput($o[$z],$X):"NULL");}$J=table($b)." SET ".implode(", ",$Q);$zg=" WHERE ".where_check($kg,$o).($Z?" AND ".implode(" AND ",$Z):"");$K=queries("UPDATE".($Rc||$mg===array()?" $J$zg":limit1($J,$zg)));if(!$K)break;$ma+=$h->affected_rows;}queries_redirect(remove_from_uri(),lang(210,$ma),$K);}}elseif(!is_string($jc=get_file("csv_file",true)))$m=upload_error($jc);elseif(!preg_match('~~u',$jc))$m=lang(212);else{cookie("adminer_import","output=".urlencode($la["output"])."&format=".urlencode($_POST["separator"]));$K=true;$Ua=array_keys($o);preg_match_all('~(?>"[^"]*"|[^"\\r\\n]+)+~',$jc,$od);$ma=count($od[0]);begin();$hf=($_POST["separator"]=="csv"?",":($_POST["separator"]=="tsv"?"\t":";"));foreach($od[0]as$z=>$X){preg_match_all("~((?>\"[^\"]*\")+|[^$hf]*)$hf~",$X.$hf,$pd);if(!$z&&!array_diff($pd[1],$Ua)){$Ua=$pd[1];$ma--;}else{$Q=array();foreach($pd[1]as$t=>$Qa)$Q[idf_escape($Ua[$t])]=($Qa==""&&$o[$Ua[$t]]["null"]?"NULL":q(str_replace('""','"',preg_replace('~^"|"$~','',$Qa))));$K=insert_update($b,$Q,$ze);if(!$K)break;}}if($K)queries("COMMIT");queries_redirect(remove_from_uri("page"),lang(213,$ma),$K);queries("ROLLBACK");}}}$Bf=$c->tableName($S);if(is_ajax())ob_start();page_header(lang(32).": $Bf",$m);$Q=null;if(isset($We["insert"])){$Q="";foreach((array)$_GET["where"]as$X){if(count($q[$X["col"]])==1&&($X["op"]=="="||(!$X["op"]&&!ereg('[_%]',$X["val"]))))$Q.="&set".urlencode("[".bracket_escape($X["col"])."]")."=".urlencode($X["val"]);}}$c->selectLinks($S,$Q);if(!$f)echo"<p class='error'>".lang(214).($o?".":": ".error())."\n";else{echo"<form action='' id='form'>\n","<div style='display: none;'>";hidden_fields_get();echo(DB!=""?'<input type="hidden" name="db" value="'.h(DB).'">'.(isset($_GET["ns"])?'<input type="hidden" name="ns" value="'.h($_GET["ns"]).'">':""):"");echo'<input type="hidden" name="select" value="'.h($b).'">',"</div>\n";$c->selectColumnsPrint($O,$f);$c->selectSearchPrint($Z,$f,$w);$c->selectOrderPrint($Xd,$f,$w);$c->selectLimitPrint($_);$c->selectLengthPrint($Nf);$c->selectActionPrint($w);echo"</form>\n";$H=$_GET["page"];if($H=="last"){$sc=$h->result("SELECT COUNT(*) FROM ".table($b).($Z?" WHERE ".implode(" AND ",$Z):""));$H=floor(max(0,$sc-1)/$_);}$J=$c->selectQueryBuild($O,$Z,$zc,$Xd,$_,$H);if(!$J)$J="SELECT".limit((+$_&&$zc&&$Rc&&$y=="sql"?"SQL_CALC_FOUND_ROWS ":"").$uc,($Z?"\nWHERE ".implode(" AND ",$Z):"").$_c,($_!=""?+$_:null),($H?$_*$H:0),"\n");echo$c->selectQuery($J);$K=$h->query($J);if(!$K)echo"<p class='error'>".error()."\n";else{if($y=="mssql"&&$H)$K->seek($_*$H);$Mb=array();echo"<form action='' method='post' enctype='multipart/form-data'>\n";$N=array();while($M=$K->fetch_assoc()){if($H&&$y=="oracle")unset($M["RNUM"]);$N[]=$M;}if($_GET["page"]!="last")$sc=(+$_&&$zc&&$Rc?($y=="sql"?$h->result(" SELECT FOUND_ROWS()"):$h->result("SELECT COUNT(*) FROM ($J) x")):count($N));if(!$N)echo"<p class='message'>".lang(82)."\n";else{$_a=$c->backwardKeys($b,$Bf);echo"<table id='table' cellspacing='0' class='nowrap checkable' onclick='tableClick(event);' ondblclick='tableClick(event, true);' onkeydown='return editingKeydown(event);'>\n","<thead><tr>".(!$zc&&$O?"":"<td><input type='checkbox' id='all-page' onclick='formCheck(this, /check/);'> <a href='".h($_GET["modify"]?remove_from_uri("modify"):$_SERVER["REQUEST_URI"]."&modify=1")."'>".lang(215)."</a>");$Dd=array();$xc=array();reset($O);$Ie=1;foreach($N[0]as$z=>$X){if($z!=$Kd){$X=$_GET["columns"][key($O)];$n=$o[$O?($X?$X["col"]:current($O)):$z];$F=($n?$c->fieldName($n,$Ie):"*");if($F!=""){$Ie++;$Dd[$z]=$F;$e=idf_escape($z);$Gc=remove_from_uri('(order|desc)[^=]*|page').'&order%5B0%5D='.urlencode($z);$tb="&desc%5B0%5D=1";echo'<th onmouseover="columnMouse(this);" onmouseout="columnMouse(this, \' hidden\');">','<a href="'.h($Gc.($Xd[0]==$e||$Xd[0]==$z||(!$Xd&&$Rc&&$zc[0]==$e)?$tb:'')).'">';echo(!$O||$X?apply_sql_function($X["fun"],$F):h(current($O)))."</a>";echo"<span class='column hidden'>","<a href='".h($Gc.$tb)."' title='".lang(38)."' class='text'> ↓</a>";if(!$X["fun"])echo'<a href="#fieldset-search" onclick="selectSearch(\''.h(js_escape($z)).'\'); return false;" title="'.lang(35).'" class="text jsonly"> =</a>';echo"</span>";}$xc[$z]=$X["fun"];next($O);}}$jd=array();if($_GET["modify"]){foreach($N
as$M){foreach($M
as$z=>$X)$jd[$z]=max($jd[$z],min(40,strlen(utf8_decode($X))));}}echo($_a?"<th>".lang(216):"")."</thead>\n";if(is_ajax()){if($_%2==1&&$H%2==1)odd();ob_end_clean();}foreach($c->rowDescriptions($N,$q)as$E=>$M){$jg=unique_array($N[$E],$w);if(!$jg){$jg=array();foreach($N[$E]as$z=>$X){if(!preg_match('~^(COUNT\\((\\*|(DISTINCT )?`(?:[^`]|``)+`)\\)|(AVG|GROUP_CONCAT|MAX|MIN|SUM)\\(`(?:[^`]|``)+`\\))$~',$z))$jg[$z]=$X;}}$kg="";foreach($jg
as$z=>$X){if(strlen($X)>64){$z="MD5(".(strpos($z,'(')?$z:idf_escape($z)).")";$X=md5($X);}$kg.="&".($X!==null?urlencode("where[".bracket_escape($z)."]")."=".urlencode($X):"null%5B%5D=".urlencode($z));}echo"<tr".odd().">".(!$zc&&$O?"":"<td>".checkbox("check[]",substr($kg,1),in_array(substr($kg,1),(array)$_POST["check"]),"","this.form['all'].checked = false; formUncheck('all-page');").($Rc||information_schema(DB)?"":" <a href='".h(ME."edit=".urlencode($b).$kg)."'>".lang(215)."</a>"));foreach($M
as$z=>$X){if(isset($Dd[$z])){$n=$o[$z];if($X!=""&&(!isset($Mb[$z])||$Mb[$z]!=""))$Mb[$z]=(is_mail($X)?$Dd[$z]:"");$A="";$X=$c->editVal($X,$n);if($X!==null){if(ereg('blob|bytea|raw|file',$n["type"])&&$X!="")$A=ME.'download='.urlencode($b).'&field='.urlencode($z).$kg;if($X==="")$X="&nbsp;";elseif($Nf!=""&&is_shortable($n))$X=shorten_utf8($X,max(0,+$Nf));else$X=h($X);if(!$A){foreach((array)$q[$z]as$p){if(count($q[$z])==1||end($p["source"])==$z){$A="";foreach($p["source"]as$t=>$mf)$A.=where_link($t,$p["target"][$t],$N[$E][$mf]);$A=($p["db"]!=""?preg_replace('~([?&]db=)[^&]+~','\\1'.urlencode($p["db"]),ME):ME).'select='.urlencode($p["table"]).$A;if(count($p["source"])==1)break;}}}if($z=="COUNT(*)"){$A=ME."select=".urlencode($b);$t=0;foreach((array)$_GET["where"]as$W){if(!array_key_exists($W["col"],$jg))$A.=where_link($t++,$W["col"],$W["val"],$W["op"]);}foreach($jg
as$Vc=>$W)$A.=where_link($t++,$Vc,$W);}}if(!$A&&($A=$c->selectLink($M[$z],$n))===null){if(is_mail($M[$z]))$A="mailto:$M[$z]";if($Fe=is_url($M[$z]))$A=($Fe=="http"&&$ba?$M[$z]:"$Fe://www.adminer.org/redirect/?url=".urlencode($M[$z]));}$u=h("val[$kg][".bracket_escape($z)."]");$Y=$_POST["val"][$kg][bracket_escape($z)];$Bc=h($Y!==null?$Y:$M[$z]);$nd=strpos($X,"<i>...</i>");$Ib=is_utf8($X)&&$N[$E][$z]==$M[$z]&&!$xc[$z];$Mf=ereg('text|lob',$n["type"]);echo(($_GET["modify"]&&$Ib)||$Y!==null?"<td>".($Mf?"<textarea name='$u' cols='30' rows='".(substr_count($M[$z],"\n")+1)."'>$Bc</textarea>":"<input name='$u' value='$Bc' size='$jd[$z]'>"):"<td id='$u' onclick=\"selectClick(this, event, ".($nd?2:($Mf?1:0)).($Ib?"":", '".h(lang(217))."'").");\">".$c->selectVal($X,$A,$n));}}if($_a)echo"<td>";$c->backwardKeysPrint($_a,$N[$E]);echo"</tr>\n";}if(is_ajax())exit;echo"</table>\n",(!$zc&&$O?"":"<script type='text/javascript'>tableCheck();</script>\n");}if(($N||$H)&&!is_ajax()){$Wb=true;if($_GET["page"]!="last"&&+$_&&!$Rc&&($sc>=$_||$H)){$sc=found_rows($S,$Z);if($sc<max(1e4,2*($H+1)*$_))$sc=reset(slow_query("SELECT COUNT(*) FROM ".table($b).($Z?" WHERE ".implode(" AND ",$Z):"")));else$Wb=false;}if(+$_&&($sc===false||$sc>$_||$H)){echo"<p class='pages'>";$rd=($sc===false?$H+(count($N)>=$_?2:1):floor(($sc-1)/$_));echo'<a href="'.h(remove_from_uri("page"))."\" onclick=\"pageClick(this.href, +prompt('".lang(218)."', '".($H+1)."'), event); return false;\">".lang(218)."</a>:",pagination(0,$H).($H>5?" ...":"");for($t=max(1,$H-4);$t<min($rd,$H+5);$t++)echo
pagination($t,$H);if($rd>0){echo($H+5<$rd?" ...":""),($Wb&&$sc!==false?pagination($rd,$H):" <a href='".h(remove_from_uri("page")."&page=last")."' title='~$rd'>".lang(219)."</a>");}echo(($sc===false?count($N)+1:$sc-$H*$_)>$_?' <a href="'.h(remove_from_uri("page")."&page=".($H+1)).'" onclick="return !selectLoadMore(this, '.(+$_).', \''.lang(220).'\');">'.lang(221).'</a>':'');}echo"<p>\n",($sc!==false?"(".($Wb?"":"~ ").lang(119,$sc).") ":""),checkbox("all",1,0,lang(222))."\n";if($c->selectCommandPrint()){echo'<fieldset><legend>',lang(30),'</legend><div>
<input type="submit" value="',lang(138),'"',($_GET["modify"]?'':' title="'.lang(211).'" class="jsonly"'),'>
<input type="submit" name="edit" value="',lang(30),'">
<input type="submit" name="clone" value="',lang(207),'">
<input type="submit" name="delete" value="',lang(141),'" onclick="return confirm(\'',lang(0);?> (' + (this.form['all'].checked ? <?php echo$sc,' : formChecked(this, /check/)) + \')\');">
</div></fieldset>
';}$qc=$c->dumpFormat();foreach((array)$_GET["columns"]as$e){if($e["fun"]){unset($qc['sql']);break;}}if($qc){print_fieldset("export",lang(111));$fe=$c->dumpOutput();echo($fe?html_select("output",$fe,$la["output"])." ":""),html_select("format",$qc,$la["format"])," <input type='submit' name='export' value='".lang(111)."'>\n","</div></fieldset>\n";}}if($c->selectImportPrint()){print_fieldset("import",lang(51),!$N);echo"<input type='file' name='csv_file'> ",html_select("separator",array("csv"=>"CSV,","csv;"=>"CSV;","tsv"=>"TSV"),$la["format"],1);echo" <input type='submit' name='import' value='".lang(51)."'>","</div></fieldset>\n";}$c->selectEmailPrint(array_filter($Mb,'strlen'),$f);echo"<p><input type='hidden' name='token' value='$T'></p>\n","</form>\n";}}if(is_ajax()){ob_end_clean();exit;}}elseif(isset($_GET["variables"])){$qf=isset($_GET["status"]);page_header($qf?lang(75):lang(74));$ug=($qf?show_status():show_variables());if(!$ug)echo"<p class='message'>".lang(82)."\n";else{echo"<table cellspacing='0'>\n";foreach($ug
as$z=>$X){echo"<tr>","<th><code class='jush-".$y.($qf?"status":"set")."'>".h($z)."</code>","<td>".nbsp($X);}echo"</table>\n";}}elseif(isset($_GET["script"])){header("Content-Type: text/javascript; charset=utf-8");if($_GET["script"]=="db"){$zf=array("Data_length"=>0,"Index_length"=>0,"Data_free"=>0);foreach(table_status()as$F=>$S){$u=js_escape($F);json_row("Comment-$u",nbsp($S["Comment"]));if(!is_view($S)){foreach(array("Engine","Collation")as$z)json_row("$z-$u",nbsp($S[$z]));foreach($zf+array("Auto_increment"=>0,"Rows"=>0)as$z=>$X){if($S[$z]!=""){$X=number_format($S[$z],0,'.',lang(8));json_row("$z-$u",($z=="Rows"&&$X&&$S["Engine"]==($of=="pgsql"?"table":"InnoDB")?"~ $X":$X));if(isset($zf[$z]))$zf[$z]+=($S["Engine"]!="InnoDB"||$z!="Data_free"?$S[$z]:0);}elseif(array_key_exists($z,$S))json_row("$z-$u");}}}foreach($zf
as$z=>$X)json_row("sum-$z",number_format($X,0,'.',lang(8)));json_row("");}elseif($_GET["script"]=="kill")$h->query("KILL ".(+$_POST["kill"]));else{foreach(count_tables($c->databases())as$l=>$X)json_row("tables-".js_escape($l),$X);json_row("");}exit;}else{$Hf=array_merge((array)$_POST["tables"],(array)$_POST["views"]);if($Hf&&!$m&&!$_POST["search"]){$K=true;$D="";if($y=="sql"&&count($_POST["tables"])>1&&($_POST["drop"]||$_POST["truncate"]||$_POST["copy"]))queries("SET foreign_key_checks = 0");if($_POST["truncate"]){if($_POST["tables"])$K=truncate_tables($_POST["tables"]);$D=lang(223);}elseif($_POST["move"]){$K=move_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$D=lang(224);}elseif($_POST["copy"]){$K=copy_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$D=lang(225);}elseif($_POST["drop"]){if($_POST["views"])$K=drop_views($_POST["views"]);if($K&&$_POST["tables"])$K=drop_tables($_POST["tables"]);$D=lang(226);}elseif($y!="sql"){$K=($y=="sqlite"?queries("VACUUM"):apply_queries("VACUUM".($_POST["optimize"]?"":" ANALYZE"),$_POST["tables"]));$D=lang(227);}elseif(!$_POST["tables"])$D=lang(7);elseif($K=queries(($_POST["optimize"]?"OPTIMIZE":($_POST["check"]?"CHECK":($_POST["repair"]?"REPAIR":"ANALYZE")))." TABLE ".implode(", ",array_map('idf_escape',$_POST["tables"])))){while($M=$K->fetch_assoc())$D.="<b>".h($M["Table"])."</b>: ".h($M["Msg_text"])."<br>";}queries_redirect(substr(ME,0,-1),$D,$K);}page_header(($_GET["ns"]==""?lang(21).": ".h(DB):lang(228).": ".h($_GET["ns"])),$m,true);if($c->homepage()){if($_GET["ns"]!==""){echo"<h3 id='tables-views'>".lang(229)."</h3>\n";$Gf=tables_list();if(!$Gf)echo"<p class='message'>".lang(7)."\n";else{echo"<form action='' method='post'>\n","<p>".lang(230).": <input type='search' name='query' value='".h($_POST["query"])."'> <input type='submit' name='search' value='".lang(35)."'>\n";if($_POST["search"]&&$_POST["query"]!="")search_tables();echo"<table cellspacing='0' class='nowrap checkable' onclick='tableClick(event);' ondblclick='tableClick(event, true);'>\n",'<thead><tr class="wrap"><td><input id="check-all" type="checkbox" onclick="formCheck(this, /^(tables|views)\[/);">','<th>'.lang(100),'<td>'.lang(231),'<td>'.lang(79),'<td>'.lang(232),'<td>'.lang(233),'<td>'.lang(234),'<td>'.lang(92),'<td>'.lang(235),(support("comment")?'<td>'.lang(94):''),"</thead>\n";foreach($Gf
as$F=>$U){$vg=($U!==null&&!eregi("table",$U));echo'<tr'.odd().'><td>'.checkbox(($vg?"views[]":"tables[]"),$F,in_array($F,$Hf,true),"","formUncheck('check-all');"),'<th><a href="'.h(ME).'table='.urlencode($F).'" title="'.lang(25).'">'.h($F).'</a>';if($vg){echo'<td colspan="6"><a href="'.h(ME)."view=".urlencode($F).'" title="'.lang(26).'">'.lang(99).'</a>','<td align="right"><a href="'.h(ME)."select=".urlencode($F).'" title="'.lang(24).'">?</a>';}else{foreach(array("Engine"=>array(),"Collation"=>array(),"Data_length"=>array("create",lang(27)),"Index_length"=>array("indexes",lang(103)),"Data_free"=>array("edit",lang(28)),"Auto_increment"=>array("auto_increment=1&create",lang(27)),"Rows"=>array("select",lang(24)),)as$z=>$A)echo($A?"<td align='right'><a href='".h(ME."$A[0]=").urlencode($F)."' id='$z-".h($F)."' title='$A[1]'>?</a>":"<td id='$z-".h($F)."'>&nbsp;");}echo(support("comment")?"<td id='Comment-".h($F)."'>&nbsp;":"");}echo"<tr><td>&nbsp;<th>".lang(208,count($Gf)),"<td>".nbsp($y=="sql"?$h->result("SELECT @@storage_engine"):""),"<td>".nbsp(db_collation(DB,collations()));foreach(array("Data_length","Index_length","Data_free")as$z)echo"<td align='right' id='sum-$z'>&nbsp;";echo"</table>\n","<script type='text/javascript'>tableCheck();</script>\n";if(!information_schema(DB)){echo"<p>".(ereg('^(sql|sqlite|pgsql)$',$y)?($y!="sqlite"?"<input type='submit' value='".lang(236)."'> ":"")."<input type='submit' name='optimize' value='".lang(237)."'> ":"").($y=="sql"?"<input type='submit' name='check' value='".lang(238)."'> <input type='submit' name='repair' value='".lang(239)."'> ":"")."<input type='submit' name='truncate' value='".lang(240)."'".confirm("formChecked(this, /tables/)")."> <input type='submit' name='drop' value='".lang(81)."'".confirm("formChecked(this, /tables|views/)").">\n";$k=(support("scheme")?schemas():$c->databases());if(count($k)!=1&&$y!="sqlite"){$l=(isset($_POST["target"])?$_POST["target"]:(support("scheme")?$_GET["ns"]:DB));echo"<p>".lang(241).": ",($k?html_select("target",$k,$l):'<input name="target" value="'.h($l).'" autocapitalize="off">')," <input type='submit' name='move' value='".lang(242)."'>",(support("copy")?" <input type='submit' name='copy' value='".lang(243)."'>":""),"\n";}echo"<input type='hidden' name='token' value='$T'>\n";}echo"</form>\n";}echo'<p><a href="'.h(ME).'create=">'.lang(145)."</a>\n";if(support("view"))echo'<a href="'.h(ME).'view=">'.lang(174)."</a>\n";if(support("routine")){echo"<h3 id='routines'>".lang(114)."</h3>\n";$af=routines();if($af){echo"<table cellspacing='0'>\n",'<thead><tr><th>'.lang(155).'<td>'.lang(89).'<td>'.lang(191)."<td>&nbsp;</thead>\n";odd('');foreach($af
as$M){echo'<tr'.odd().'>','<th><a href="'.h(ME).($M["ROUTINE_TYPE"]!="PROCEDURE"?'callf=':'call=').urlencode($M["ROUTINE_NAME"]).'">'.h($M["ROUTINE_NAME"]).'</a>','<td>'.h($M["ROUTINE_TYPE"]),'<td>'.h($M["DTD_IDENTIFIER"]),'<td><a href="'.h(ME).($M["ROUTINE_TYPE"]!="PROCEDURE"?'function=':'procedure=').urlencode($M["ROUTINE_NAME"]).'">'.lang(106)."</a>";}echo"</table>\n";}echo'<p>'.(support("procedure")?'<a href="'.h(ME).'procedure=">'.lang(190).'</a> ':'').'<a href="'.h(ME).'function=">'.lang(189)."</a>\n";}if(support("event")){echo"<h3 id='events'>".lang(115)."</h3>\n";$N=get_rows("SHOW EVENTS");if($N){echo"<table cellspacing='0'>\n","<thead><tr><th>".lang(155)."<td>".lang(244)."<td>".lang(180)."<td>".lang(181)."<td></thead>\n";foreach($N
as$M){echo"<tr>","<th>".h($M["Name"]),"<td>".($M["Execute at"]?lang(245)."<td>".$M["Execute at"]:lang(182)." ".$M["Interval value"]." ".$M["Interval field"]."<td>$M[Starts]"),"<td>$M[Ends]",'<td><a href="'.h(ME).'event='.urlencode($M["Name"]).'">'.lang(106).'</a>';}echo"</table>\n";$Vb=$h->result("SELECT @@event_scheduler");if($Vb&&$Vb!="ON")echo"<p class='error'><code class='jush-sqlset'>event_scheduler</code>: ".h($Vb)."\n";}echo'<p><a href="'.h(ME).'event=">'.lang(179)."</a>\n";}if($Gf)echo"<script type='text/javascript'>ajaxSetHtml('".js_escape(ME)."script=db');</script>\n";}}}page_footer();