2È£lØ)bI>5eêßç§tÇO?§öb!i)Xp¡·AR\$ÄguÕN4¼F7ã²¼xJ´L²·A&þLw\"»õ«K¸0á³BáóIs#:Ý®q9§hk ¬X\0ê³3%S;¸«
6¤Â\nî(8wÃÛäWåQÃI,WýT÷GF'Ö5i Ø.ÎÆ00Ò5X;\0ÞØ\0îùÆûm)\rÎDfWXÇR7G\\0f¾";break;case"sv":$e="%ÌÂ(e:ì5)È@i7¢ È 6ELÔàp&Ã)¸\\\n\$0ÖÆsÒ8t!CtrZo9I\rb%9¤äiC7áñ,X\nFC1 Ôl7ADqÚznä\na¡!ÆC¬zk³ÁDqäe0ât\n¿i[T1º\nÑ<Í2íÁζZêhãFTCò9ézÜ·i#z³RÔ³c(× )0²DÂHÛ¬O@@ÚùËéK±÷4Ör~¡à?öyßë½Ypã®O\0n-©iøPÈIÏÃí~ÇÂ(QIÉ!Á%µ÷êsÜ
zÃ\"8ÁMò6!)°&àÊtNÉá=tù\rSø.P*7ðÈ¥²ø Etþ\\ÉÒª-DSjL
°p8aÒøtQ¡)s¯ðê¨dÅÌC£DjLiª\"DhâuNéå=§Ö¿Pl´¢Ôkj09!g2ë*y^\n?tªB9\$\$²©4Î;ЬF0çô¨4c°ë)'l.ÒÍÌ,Lrרqòe}o´¿ fñ£W«f9C®KùÐtÖGçdOWá¬#(ä0 -âÚ&TFïL`¶
(\0RO!²dbNWÂZ\\ÉqtoI¦}íÄÚĦDç8¥\"AÐó&õÝ«9ÎÓ8ÍÄ7¼xÉJäd3ôÌ-£äÆô¢P@ËS,¾8éEÌíhñ#&Ô!
0¤§o.0Öf¡ÝRaÕ8R#©*%nLL¨Ñ57ëÄÈþY¹i©xCùIR /ÞÂê.A*¼Ô}åfeÈ)L*e°ÏCDüo\0¥§î&Æ?*QÌäl#Р-L æLÂò\r\0 ¤AYëÈqËÕè9Ú Ò]׺£ZÉÍ\"4øHüÑ´ä⪳ZHe<#*|{[[8ò¬ØyìK5ËRMÆ!`a,ìÒ0ÌaxI*
\0 T¡H\$àzoXB áH*@Âuõ¾ëAiRдݶL³\0\\B/cèºYc<üË>_\"\\¼ßY¸Ã,ÈÏÂÌ?u&STÀÔûPhWe6R\\dÎþ*,JqO*^*³tME\0äv¥³Ü>k¼Ãg×B6p¥0in¥Ó¥úwÏçÊ\$^{åÂ-ùÙAøÞcrOÃ*Bo¦\$Y*£2¨¢ÄMy0ÔÉÕ¹%hUÔmy̪¥¢RõY
eg[¹tiÆçØe¾eÎHxgáã\rBµÔñA4e_©\r>¦®ÊêÛ¼ûÃt3 (!´çÚABwÑà¤>Ò¶D0ÌGYaòf¡w2úl4%¬Ñô®HDE3\"þC¢c)LdÜÚbA
ßüÂEÇ8.Ä\\Ió>ÊY(fvX[bV!à\\QàèN¿}ébHÆÊ9!Íú¬¾Hc®~o=þâfâ¼(×éÆ~1.fd3h½)Ð3÷ ÜÎ!ÈyLY|×zÈ%É8K8Ý¢MÁ¹*.Í%ü£k·cÐr`ÈC©kçµD¦¹Gq\$L²¤èíHãöPņ̃4E'µ3KPé\n³Ù_Gó\nV~·}Í^³haá®;çI_7Þÿ`2c*áx|oµ{ÉÞ
2äøtà±ñ¦ÖÖOæb,A´7Ú¸ºaÉZæYä10ÍÄsOûŵeÁgöÞÊ-.óêµîÞ]r¦ ǰA\rÈ@ÐÜ ¬xÌ 0µâ4sãxÇVíݦcÝ ¥!2Üñ\"Ê\0¿&DüþÎüScü¾ÿþÄ%°îÔkÄÊðæZ¼®(îÐN2,Î6fº&6°Í°\nâÎJëÎPâb»n\"mr}øñÏÂòÇ-låÐ8×O*¢¯þÅçPL¼='PipXèEâ\rZ¹çʰpnà \"hdh\$l,ê!øî½`ؼpOêÔ=âÌÒdÁix¥jÆ.»°_¢à2ÍY|ÕÅjÖ\\\rfK° Á\r,øpVñPãÄïE8WéÈ&VNämìñìsHpäÿbNlñoÆ-^8àÊmÓ½ö#ÒK\$LX\0ä\rF\"@Ò37lÉPs°íQ\r°ÿM`ñQdîÏêñQ\"#Ì^¥îRÍF8ãpÉØl-¥ìûü#cFU¦B8ÍÖ¤ÆÄz¨T6ò¤¾Èâ>4bOñ²LC8(Ã*8ÑÀ×|ïÑÉÊ.ÂðÚÊz|Ø£þ-M.ñ1\nòMÚ[-lcÙqq!\r*1öb1trÚ@¨\r\$\"Dä!OG¸7bïLnv¢¸Ýr<6²@¡êÛhO#c%\"%rDñ©%à/#h@qdc\"b&gllCNYqÎì1J%Ïá,ÈñPã|ðòjHÆxy\\zþØò(lÈî²?\$-ª
oòTÂà¶2U,D8Ê)xU\0Ø`Ö{²Á¯~\"kLOÞÖ Ú·b3ð´JKØ\n ܤl\$ð(\"ï\r+¢m¯0çNHNí2â4Ï hzÂ/Eâ\rEnÎD[qX3¨²_\"Î<®Þ4òN@Pªh¬Þ%¨ªii/Ï4t{ÌÒC\"ÖTN\"Å\nr04én%¢Q5ª¤§¨ÑäLô£-rXtfh,C^òlå-B{lM©;Ê~\ràà¢3.ñs»°ï ÆîÓÌ&
¦j£O=ð¨VLæ`p¦ÐÎB`ô§ü¯¨dèÔ4\n@`íÌ]8¤é''¢6@Õ2ÐÍd&§Öê.Ú>£Ñ²ÃàÄ\$¶ÖÌÀÄÊÇâDsÂZóÍ=kxΧ>¦Hf5eH\"â&c4,";break;case"ta":$e="%ÌÂ)À®J¸è¸:ªÂ:º¬¢ðu>8â@#\"°ñ\0 êp6Ì&ALQ\\
! êøò¹_ FK£hÌⵯã3XÒ½.B!PÅt9_¦Ð`ê\$RT¡êmq?5MN%Õurι@W DS\nÂâ4ûª;¢Ô(´pP°0cA¨Øn8ÒUUɼ§_AìØårª®Z×.(
qg¤ª+S¤¿\\+²5¹~\n\$g#)æeµíô«GKN@çrú|º,¯¼FÕÑÝ,u]ÇFÉdòX¦Gi§óSTrPÅå+ú_Ë5ÉÈÊÆîÉaÊ^i6OCµÌåq)ÕJ½·jÉ^E.QÅ@Ð+°W@J§êã,W(I{ø»¿ËÒ\$¤#xê\rìÜ\rÃx@8CHì4(Î2a\0é\$ã Â:7 Ð4Æ# Â1EÛHµ%ú!¤p¢°#%9nÚÒ@P#xó;èj¹\"r\\ìÂK<ç´<2Jj°ï2èt ª8ª³³1ÍPd··Ï2âóN°x)ÄCHÜ3´(Q*ÚãÊÅ¢¤2Ó(7¨L(\n£p×ãp@2CÞ9HJÑp¾ïS cÈç\r¡Jü½E¢¸L»\rYPDcd4\rõxÜ0£(¶è.@cxÆ5££Ó²£TÉBI P*¶õòî¼SÒ*\r\$¬ùMl¥ÈõVÍÚõ=.¹BÁtrBʸÑ4²k)2KWw¥ØÍ}3µÌó:\0P2\r´@|`D£¢Ù#<0c`9ÐC8@0ã¼~Û7¸ÓCÙNÛc½F2\0y\r\r ÌC@è:t
ã¾%x¨ÝPÕΣp^8gÐä2áØ\rµqAÕÛ#xÜã}\0³K:¸½ÊS,Ò´,W¦Iâq«ÕCP.oñK5oÛ~.4N{)0æ*ïÏ28¹\\úpϹÇa´¤»45|Ç>´ÁZ³(1©ÊH²³²®¼Tx®0CvR£\"\\§a¯¨âøüA\\úÎp]ÞÉL¥vÀ¼°Ñ¢U¤D\\s\n÷nGõø ©ðü2Ãê6cðÂ6£/+½&»ê\\i\n^á: èÛCqIkôÏ?ÔIBgæÐ3¶ÆÜ¬ñ;<¥\$Gupi\\a3+IÁõ85æAØ\"ªM¥i ¤d0L¤Q)ã§§¶ÏY8{Ì\rö¸§`íáBx`\n²ÃÔLIw46ÄdÑia7'ð¢ sÓyîz=Ø
\\Ñ!ç!\$Âäì»±ñIyÍ ç:úÎ[ @ÇÌë°×Ë\rÎuG8:èãÝuq%ÔëcêSøog C\"=Qixâó â)NI£H4ó\\8QvhÔôtZ8D¿òµOTwAp¶AÉH½â\n_gCóÏT´oì6º÷ÀAÍPKét!e);\n\"HTî
(I\r¬:A\\ú#û^3:CÉOS¨EH¤Ç#X:¹v!?¸Èî[äLÑ!Á/rØhuUìø0¶3h«Áejyà Â[r)ý±6ÜHg¡!ãr¹)Eq?ÖsY¤Ô}gOðÊÄ êwäÕ@DíÙóW#ó¡^Ì%½DdÌX*Þ\naѨ9¼xOSÐnÒ%JWûÚ{UDIY
]ª\$¡2õSʲ~È!Ô>ð\rÀoÁ61cvZ v)Ð ¨Ñ3k\rÁä@PæY+'ÏÌÎ =®\nÒBóuG\0 9ï?*Ï&@\"]^¥{ïZY_IH\n
M#Ò¬+(P`µ%@ÏCne³ô@Ð#Fi\r)¦4àîÔ£TY¬5¦2°à;nl úë¶ÅGU+ âÜ®'¢aÁVÚÙã6 ùZªJ¥/](\"%7z0ó½dÆÃ\"Iø<¤Ól-Ã\\lå©ððI´Þã4árZ;Iim5§µ¤ÕCWk-b5QvsÓhU¥£õ`ÅI'Z+KÔB¯´Ô\0¬xúH`ÉB¸jJð\nFêVNwæ+NRJ>GED ÎÜí\$Ò\nÄÈ7%®RkÊ\nõQH-bOtçt\0¤~h`Ðϸ?Âvûínuêl{ ¦\r ôJ,k4@¦¤ZÕõO `÷-h%P²\0lòÄÅZÌÁú®±¢xÄV îÇ.PMH¹\rî^{£bË\$Rlìð7ê²þéR¢b¸ð%²ñgrJðé²\rÒõ¨úú¥!Aò¨T2=©\0õÎtBÐOª´ç¹¦þ'po\nîöÓ±îl²Zb\nchFìñ& ÖÒ;ixvPÊu#(/%i%B4úTfÖÄ%øB¤&`Ü2¬Oó³Té7m1(iOC8t4ùVõWIU-45VÍXUMZ²¹I\"ç@Ðî\\ÉLQ3\"¡,0ï/êÞ~'æª8ä å3P:
Dr5ôÒ\$Ó:LA\r6B²eBö\r*ÍLèOýòÕ^ÇÉFnTòB³E< o\"²3õ:µYÎc4\"2\r%*3v<¥à@\nòÇ¥d ØåFf`Ð\rP\rçð\r¨åNã}\\PÑg²,fh ÁM0Uu\$òRÕKSñT+ièØóût5\rCFïaAX4Edð}9³á\n6¼µ©/Ò`äTM[6Ó9³&2ñ%¹mñ\rlmX£Yð6aod¬¾nj¼Õòòt×KVIJ·AiWo³Ð\$3¶´ôÿÆõ÷Ï'OÔCõ9Iñq.Wq©7qõ)<µH¿p©rÎûs3M;ï;B÷:´7AX§>u?]WiDt%Ó3Us§nhµvW7 6\\le\"7Q)Ly&âiÈ/dMG¦\"k:o¿\\7ÉØgw2Ê8¸JüHü¬³9ü·{@U¹½¦§Wôù\rJv©AO¢µ:U?§º ¼Ç5ÓÊVÌx\r,2áµ'|2ÊV'5ïNq\0ø¿l¦{Q8å2¶yÈïJÙ!µå*ê5¯b)¾%j\0lÆZGÀÕ¼nPqc§õ¯KµtD-ºÙÂ_HJÿ#W@\\ûUvOiÍ¿\\ç%ï³ Y¸µL\$ª¨¦GYÎ=tè
¿²_½\rlú3Í5+
,j)M8î6y½Ízuz¢ûÚV°\nLF\$BDzSÀÞb±ßVãÖ,©ý¶?V8ÓõK²ÐÜÄÙy÷mxq%ë=ï~t ÎÒÈÕËM÷%bÒá¿©+~¹Þ£)×öÑxf\"\\\06õv÷åMA Æ ëgíy¸-
àP þ\rEq¢©üÂ)z_ÌqØS§BcWÐÖâØ,ö)\$ ¨]'I½Ò¹\0ظoe>`vs6sÍVI!vÎùOCÛÜHÑ.RÃä\råzñÿçýØ5xHvÝËp}î|)B+]ÁñÛ.É3³+;æ^à \0t @¦\n`";break;case"th":$e="%ÌÂáOZAS0U/Z\$CDAUPÈ´qp£¥ ªØ*Æ\n ª¸*\nÅW ùlM1ÄÑ\"èâT¸
®!«R4\\K3uÄmp¹¡ãPUÄåq\\-c8UR\n%bh9\\êÇEY*uq2[ÈÄS\ny8\\E×1ÌBñH¥#'\0PÀb2£a¸às=Gà«\n ASZåg\\ZsÕòf{2ª®q4\rv÷ ®u´Tq,É..+
h(n1¦æs»®6t9òK'ÙvKüÖ!ÎAvyOS.lU²äØ´t.}pçûâTkî½pü+næC®í´³>æË>èB¶¼¾iô¾\"êËXì È*~-h+øæ#Ð\0,ã¨@4#³7\rá\0à9\r#°Ò6£8Ê9¤R: Â:8à Ð4Æ Â1FKô=º\n[;Iì·+c¿:l¤¨Ö´p,,µC éÃì
\$45·¯Ëâ Ê0¨¥=È9s?ÂûB.jQ@oëB`P§#pÎ¥Ï.(cæñ´OsÌ
B¨Ü5Ÿܣä7NKÊ=ïÌjäæ¶ÐÃÂFC@Þ9pÂ6¢Øt8T ºT\0t9ãÖ2êÒÝMÓ³,Ò+J¹Ä§3o³Î\r,¶õË®ÊU§ËR§3«åO5QÅÂø^H)g>Ã}ÒõÝvÜÉÞÓùFÃN# ÛDÔ!\0È7ÆaP:q`X Â1qçDá\0ÃGrããL}ãQS9õ ÈæF48C0z\r è8aÐ^ú(\\0áXeKRáxÊ7ã_C ^.ðÛR8ÔHÍR\r±ØÒ7Áà^0ÐF·pÃf\\ê¾mz*EÊ~9«bð½ÏýÐÈѪÓí>=§ÒB³µaÁ¦°×;|Ù\r ³ÓI7¶¶Â=Ä9|Ë@ÜAàP®0Cv@9A(È>Ò¥´êã§\$B3%h´-Îé(ôû*é?
ÅÑ:Îð#{»ÒCá½*ÜD1\$=Iúú@\"£0Â: ì0¨Ëtm±©BÙ,)zM1óÜkôæ¶Åjõ¨-ÁdOJÁ©KÌaºiZ ¶(×½q=B%\r,(C\\{À¢'¥ñæ5í\\iCB. ¡d.ã}R\$|¯Eî¾ Ý(.gÀªCFT1ÝaN~eðC\0¦BcqÅ'&³2.ëxbáŹ\"øâ#:e±pÒÜ ÃrKâ%8TTrÐð4VÂO[úê*1²7ãka ¤ç!qO:ã%õ¹®r§ÊÀANÑÑHR±0S¡Åófº\rÃÅ_4ÕÈÄÐD`REN;fÝüq`ÿ9³ÆðKÛÛO ¶Ô]\0mªá²p uu,OºäCËfmñ5Ù0ió2Ì |qÁ8äð\"\$tq¥ÂÅió~l,YpCÂ<\rÌ}²zBrmhXd\\VAÙF¿ôÎ U¶IÎ7êäÜ,j4ÈÜSÄg42djâXO9!ôBÈÄÁ60Ãq/RFªô&PT\r襰àò¬ë¬qgÀ`oê\$9³@詸aámM§].THuG 9Nú©Q6k½TªõH+~ér°Æà¬ àTDm5ðåNú%
åBÍí\r!³dFÎYÛ=gí¡´PîÑÚMviaɦ´ð^ÃÕÐtlm@ë ØTÖ'H9ÎÅ>tôC \\W8zÅ<{«exÕÅõ(êìAurº2:}Ä\n6mðç´<N\"<íJεG_:i8AKÚþ÷l>h\r ¢4f]U.i9¨NÕg»Y !´8#x¤Ö\nñºôm.C\nË,P8*jÓáé¬e}Ârxå¾4±Y:ÓYc²M2ÙÆ¾¡Ê·+Ç^C5Âb´íÙÚ}*\rCSì¥#\\ÕÙÆ8!¾^Òù'qxAä:¢6}²dAÆ%¿¬dÐ\nÆåóÅêwæ¥L-Ù¦®fýk¦J-
î¨ÒSÁA5%þPA³VªF0CWÓÈÈÚÝM³|@ÃÍï9±C¯r?F\nJ#6(m®v%é>ê ÅÄÙÉ©#,õ~õùÓʧÛ!¹¹C¤\$\nzÄx¢ìpX\rzúÜD*=F2»rCàK;é\"Ð-r;D·6u_cS/iÜd49³Ákô,â DPõO£ÒQ\$ £Ñs#ÁS'Ãç^o\"Á¾}[±UB, IðëôfçÈ[z¢G}?O÷ñVRT^A<'\0ª A\n½÷ÐB`Eðk:ZÜk¸5Îìòj2ÉýB)ÝÅdM¡¶Ë,\nyÞ|gÇ)ãóäæ½'tåjA
YeW¤>FØõài½Ã¬±lëR²¢£Q¡É'=Æ#æ¶îâ>¡ï¸Üâ*7é5óþñµÔ§OÕ?øæÀ!߯¾Î¾ýTáô\$·õSí´ )'¡zz\0B§s)På°ZFÊAa2NxºøÄâ§ýbOlÉÃ\0iìåèNL5P.æ'ãpÚËl>¡'¯ì?i6Âø+¾îVp@¦\r ô|鼤|é\$FÅ>@\ræÍËʬDuæÅfelY«¸L^¤°nuä\\ î¤ Ïýo7èÚEè®
£âYâ\"(¦§ç(:y§xI0ÔJJîMz¯¶rrÕdö¢ürgE¢MÒõÉ&NÖ&Îzíãbî(ÌHÚYGXcGlU`Ö ;¤°Ü'lVoZqÄðF¤Xäd£°ÀT&TÍÀÄ0;¢Ø\"®ÚPK\0PòÏÆðÚ×hP}GêKâPJ^'¯Ç\0oÚ?¢Ø3nÞ3ì¶R§[ï\n`\rúE\"uNÎ60GèÆp¿h©à^0%\0ôÐà«\"
¤:bd+z×NN(öÈ\"æuä(ÐB¬z-Î@/ nP<çÍ Jï1z^¡pU#öQ±¢ynÝÒ(××!½!DJµ#f\0õÆè Àe@@T`îu: 6îf:£hÐ!åXeb%h\nàÊCNÐêÌÙ(y
.I2(x5%éb±+Ä_D\"LO._JP¢bFn°8âÃÚóúIM-x2\nZÿg²NÅÐ&HÌö1D\$±d'â°ØíTnG~«Ioºr/À:Äã&)yÑîµØö@Ë2\$\" q1ê<÷1ñ3¢9/¿SD¿_2rÜJsþéXöó63<ý0rï2÷̶2Svò²ÐvÓnC¯%b¬ÚOÞ/ãOæç¥½.ÇnO¨4ÀT`à8à~'¤ê_\"+º~C\\'åèR嵩=5²mô¾è©{·Í?·p0ãÃ;¨RÒË|·ÅY8@vmax \rtO2Û+XÛ£SF_EÓ>+4Êÿ2f?M1ÖË,g\"¡ï'U£Ög[ ÈùY³èW1xmjÃ
!k
i[KÎëR´ÔçÈahg36a(ÕÊ\rVá\0ÓvöñRJõÐþñh¥bxÒªIxÔ ´\n ¨ÀZ@8\0ÞÞe\$2JÑf(2T÷¶ùa±ÒÊÔ8ó\"EϱÛs&LÀ@`ÒÑa¯DnByëUapI³]7þ=xNqhÌMÓj'Î].Tgs³-{:°è'Byn kjBGDYq
:DÈp/i°ZnR?/´øeg5ØacjÊ\n§(zG³^-òíÆíAqÜyzùÒϸþ¿YP¶ËzU5G@¨ähDMxe>\ràà²F\n«7yhßqT%Q_§:\\ÐyÉF½qH7Òµ\\¯¦ãY¸Þ;¤Hä#Ò9³Ö:ê\r@è7;C(¶Ðè.Ð@cxÆ5°êʶ®«ë b\n®B²J2ã¼B8Ò¤û^¼ã@Â:&ñ2-h7£@ÿ5cê8C#V0c·\rÃ8@
0¼¯c¸Ò:B*28/#î`@!cBî3¡Ð:æáxïA
âAr43
é8_6stàIØ|6£KÚB3#Cl4¼Aà^0Èäd +#à5%l[ArMºÈ6¬[Û,٥ɥX³ [PÕ?HRpX«£cP:6Å´<»£{472Ë%¬,£C¨Ú ã ßOX-è+&ñ\\9Ùö¢½_õ°§UàPñ\rkr27ZªÍvÜ·`Uæ0Â\rùN1Glâ\$½i»)#Ö7r J.æ¬;!X©:XG¨ÖË»m2ͶO%<9Ç¢&Y·z`:C\rWg9q-NóæQºjØãMk¤ò-|ßq?`ê=:ÚÚ8A¤«á{©çZ<aµÐ9L#n\". 5¬'«£Î85æ¨2iÅÉÎÿÀƬֹ¯jû!KÕVhëNc\r,»¦#E}ÅÏ óQTäéKoÌ4û\0ËÒËã|'iôÙ¯|¤<÷=Ê£Ä7-Ïúõß8K.AS×&è=ïVCZ¬ù[6\r1ÈËw°ë@Ø:ZÆ¡°'O¦J¾=#2h5ý`WÌÖ0Â=+°ï:ºùÀkdD7²Ügq4\r¨X庶B!å\r+8ð2CYäF.Þücÿ;hÙÂ-6ôBÑ+Ð0\$tÃZ'
dФGÞoA-5µÌaÇN;Tðâ~P\n B(h^¢QÄ¥\n,Ä¥ò6¢ÅÀà§G,õ]ÀÜìâíl\09®dyÉL©È6@è;c7h#¶¡´-B¥bîqm,±½%Ç \\\r8l&©®3rrÄTC±=§Ôþ TwPªµ£CrxDâÊ*Áó(D¤2 Àêìl2+áº4Â#LiÜ8²TÊHFÙ[-\"ÉÈÔ6SÜ ,\"»*¶¡*°¡¾_4!O c_p¤òÂ\$ßOKO\$ÉiÀ#²8XðnHÈÎd¬\$A@\$Ñ>V g\$0v\nb#b ¡BÓCd-+L1ÌQbiIÌZè¢y¤óZl¬6!tiFÝI\$\"a°Ø-Áéf²'¸oX l@ÐDÒN
±-;6ÇOÝp(ÊAI7\0@Ã@io4töKÚh/tUËR9Lèr¦t!
0¤¨@j0ç:Èö´z(¸Ö8ÚÌU*\$È?§øBØù_-¥/£ÙÀM\$xLÑáÚ\$åD¨ÆKëÐX9xkÉA3(ä è!\"JYôq© b&Kà<¿¨Â³dó²ïÞ@òY\rèP áL*&[zÉ}>8m\n9r¢º[rDª\\<áÔ<ºÒD¸qåèyÀ¤þ#-vËmn&gLð mÅáé8tå¤J*a\$LH½Vjf
bäùõ¥ô(Ñs YÁÊÃ/¥MÔòì À*
\0B E ¡ ÷Dh0yÎQªÆ,¯åb § b0.Ãxt3aù ¾MZ{bÀ¸_²ì'ÉrðAt5ºcOJÖ6Bq)Êo\rY¸,±Ã\$[lyyö\"¼t÷«\rc¯YõLI[%!VE»üÞª!9rL±gd¸c4l¸KtöWâ}6Õ¬#Zër)\\ÀÚârròeN°`9&Zé:ìC{5à»p.Ä,3Biv\r+¸>Êá©M{)Xq|`¿áÌ{¹&õ{¾³Qâ9ìebdBá²:¸«¯lm*ÚÃfeÌ7Sò&t]ì®Ñ°W²G·hs MU§àò
2n\"!Ebf°à¢æª+ÁA½<?Dd!}¨*eDfYe(¼gùê.3ìÄNt,d08f¾L.¶Â)':¯l0C (·\n¬µ=!º C֢êak^SVóD5P?!u:?=ÞSEµ¢ÓÕÇM-jú±5g½ç`úG[ë¯÷¯ò.Ãaû!:ìÇC´ö³ÛCKñý«ÝåõEMèkgƬÎżzÔ\$ëº\n <û,ê:Þåå_u}~c¼x/.½Og
½Ò~JíAwã¤(Ã(b Ø¢¥\${ǯjùvZ=lࣸãØDj*B¤ýY«UX9G¼P¿ÃÔÜeBðжÝí³¥ð?µhÌÑýxµ<·ý?ʬMèÄêVÿ\rnù'B¶¯úflG0]ÆÂ^ç_k,Åü\"ø.L¦ÉjF!ÈêÒÃFP8Wg³m£¶PÏÄ« VÍà\"-ÜIFM®á`´`ðF
Ì,§C MÖu&º\r ôÉ`ê)&Hî+®k®k%\"A#·G¦P:bmU*á7¤IÀÄÚP@d¨=Â8á.%(Âò«ò2.àÉ)òér)N áÄ+0w*î!(®.20§®+×-N1'Qý¨dÉ#
.rß&\n@´;Cón`E &ÏQÿï0NFè]/0æá\$/®¼E#EXí@Tó2ïìnìe¬[ƬeÈ+2Ïìh[Ï94m\n
3L²¯J+ ÞFÜ×Ðä[
Kº²®êåbïǶ\$îÝ5NùnÙÖF+r[ Dv(CzD:& @gÈ\rVcJ_+.øL(\n pg É\"òÎJ,ï[1¿
P¿Î578óNFsíÈÿ#6ÏbL´¢:Ì#ǸG³Zæüªß¤g.Êà7ø1Tü¦\\/jH+Éæ}Âr.b»è\"HGògúÍkà=2R¾)ò>%¬=ZbR\\±Þ
êUmoâZpZY@QN6L7°3QNñShcôGjé-4®òº¬éi®z²:ýf¢jt¢cÀ01ÜnEmIÆà!lÖ» ©¸>FÄÉFá>hZx,)´ß \rr®^þèa ¬<¥ÔF\0û¢ö£ÄO£Ô|ÂPDûã´bµO.¸|r\rAͰ¬&¨.Ìp2ì¾ÇôF\0Þ¥@îÜõ\$\r`ì¦ÇºhéòyòüÊlÒ±ð";break;case"uk":$e="%ÌÂ) h-ZÆù ¶h.ÚÊ h-Ú¬m ½h £ÑÄ& h¡#˺.(.<»h£#ñvÒÐ_´Ps94R\\ÊøÒñ¢h %¨ä²p Nm¹ ¤ÄcØL¢¡4PÒá\0(`1ÆQ°Üp9(¦«ù;Au\r¨Äè*u`ÑCÓâ°dö-|
E¬©X~\n\$g#)æe¬ëÉxôZ9 G\"HûES°ÎÑXÄj8±ÀRáÙ9ÚÖ½|_b#rkü:-HB!PÅ£RÐÜD¤¨iÍyA Çx]5Òà¤KOcJ×vf[5{¸±ÙfØt¤k Òâ,TIjh´
0'\rz~²8Ȱ²\$\ry¢ê*©.ç#Î4nÀ¡NÛÆ4Ãþ¥Ãª*Ìü0(r}¤48ì£ÙÃ'plA\rDnÄ<©èÃø@¤Èã#)Û¡Fñ^ÕÆs§Èã¤ï X Äó À°ðúì?Vù¿ ú/å¼P°RDå£hÁ\"#O J#Ë\"JB ÓdrD`PÐ7c Ü0£(¶xä:¡CÞ1c(èMÌÚ»ît§(4æ6ÐòÁOF±EÌ©R£
àN×H1rhÿÈ\n# Ú4Ã(äø¾êZTÒ¡\$¥\\àÍÌ)k£\rÅX¾Ê)Ü÷n»¼ÊÃÔð(X@430z\r è8aÐ^÷è\\0ØÖEQÃ8^2ÁxàÏc½2á´KmpF\$BÊÅ\$ S¥¹z\0xÂ=É©c.H+R'óL.ÇÉ\0¦L\"qºÙÏR#huAçØãÅ9ð³¦hØrü¤6¨òø9ÈEéôIÁ(Ér*©±l
lÔìû5²°e8¢MÚü¯+Þæ!¥{È1!Z\$[ãñ¸L«âÉÎ3µ¤|n²0ä?!ê®nfHìLfÓIº9y'¢Z<û\n²&PÁh~ÃõÜ¡R¸\$Fpeq F®Ék>·5?âh3&â95º´Üo¨/'Néú,'nkì¿0rDïöÝÂ;Å&{»OP´ü(ÛÁZ)\"g2 !BI³/0hÁC éæN-½\"§g¡»ýVY\rtà_G«8Ý ó°´ÛÉvæ\0#²PCáp0í28\\4168Eãd¨%_Íx¢ >Á
<ÿb~,a@þS,Cåh2¬»XøA(ä´¤FBMÛ%däº46(BÃwLê'8ä (+ifîeU\01h_H(VMü0)À¦4I``5ñF¼)Ój\nKe=á,J±k#@P|_ÝJljï¦XdðþÉaÅ
dIÌ#IÁ°:'HF *\"ETÈVÔ\r#íyäFÂGg5a\\)LB¼ÈhOÅ>1Aâ1,¤«½é½ª
hV9!K´Btlå#Bh½Ò{6&³È¦ðMµa7ÌàPRrNa¡:<êmgÈNãù<´ò#%e±Ïbk>Ð.sõÊO÷\nÚf½'7³hÐwÓBHtáV2ÎYÏ7é
¢k6½¨ÑþÛÌ~-\r\r\\«ÔÄÚÎ6ÚûE±-l2X]XÚ¶46Á)ÒÙC¥¡}Mø)!)
,r¡ÑâÒ¸óe\"MÑõuºr3U¡áéh±´ÔÛr8L£
nbïtY]zßËËeƨ=8H[;(¥¡p\0þ¸çui²d ½ð^¼³*Ø£ô¶ D¦³øÕF³°*Õe!U;%PGAÇ
YC3JÅ\0ü[»T\ní<À@xS\nÁÚr^ç×Mj²0ü&®äq¬cZwðºó}Z*»%¦rMN<¤£&Xë½HÓf¬û?w@j ïáóâX6£a3Ø ~Ú @%Ì P}å%E7Ø3{D'¡_\0Ì@ÃzfªÎSÀV=@çB̸#D!»ÀÐïC@ƲàÄØÐ#¿U¾i¸3ÚYÇQÛkB5ä9z\\&Ó.Ko\$÷¢YòqÏdPJ*óÃsÈ¢#=c»|JÖ\$\\µ0ç&¢ÝÒT¤¦3³ÙVÔ®W\\%Æ{]nZ GH¥ÁyéÆ\"ûo\r¬ãªÆ(3X}ÏØÄ?mQ¬_¥ö(Ê~-8 Ëèz½gDÍ'¢?Ök:k\"dlÇi2r.L+I;
jÖÄx«õ\0 KJ,'Êd~H\":îÉ4o'àJd î!Âda\0ôFV²çÒ÷èt=ä¶×Ïá\nR®dÀøgbÈc6«®Pe6J§þÃf»ãf#LàÕLìD\niç¦ õ\$.IÃ2\r\r è`@Àä\ràÚ È,|æÌFèÀfh¢}î{.Fê ÁLܬ|ý«g²ôÄÇÎíc*éÌÊjü¤^L#¯âûÈ®Óè`L@|zD
FG'ROõ\r Å\n°®ºÆÆ@òkH¾º¾æ}¤m ¤öѨfШ,\rtpï<}hû¢:P\\í±tËãº%\n¨ ß)f÷1NYå¢&¬I&ËLÄLÍæM+PsqîÐâÚ¦nhäÆFÚ=Àâ1ÆÊ²¡dFâ90Â^¥¨y°ü!ÆýÊVA\n9~/ÊDý±Úd\\p®}%rÓ\$)Bô´Oj¸B§ÉN<XèfÛ52³JÓäSC0ȱ²ºÒMO\"˸«¾SÂ/µÄdbÑ3ò\"Fõ`Ã{TìÏPèòG¼i¨¶òÌh\$½`WÕ1ä6:ë kÑSÕXo{bé]VÒ+8CbÐc3J¬T¯
'ÆcÑÀkMjà´í8tKçÌÔócTñT6rdvidï#XU]cr|Û6tj6YsôÄ
SX¡tS`dPêS¢\":!¥I_L0srâqãXs\$tVõËPHq<6AfÕ[gÒôàÄ6
NóankmVæµ
X4Kè\niQv%'V|\\j7Éo6äghAQ{\r p§[h«rÀ/´ÛoW\"õB좾o\$7,)«3Qfóu*W9v79Ѧ£WUo÷_×qê²/1(ÛUKñ&ZQ*·Vyn÷{yq9yÖûJ¶UpY·P172Q6\"! UfVtvÖ°¬-¨ÉSxï£uÕC}cõÓÌsVëSö8èSèùóQVQs7JCf5ö¸
7Mèrvòæé úÏ +auOt\$ìcR&76±ÿUÐ;7u5%\"4õN2\$çXAn+÷\$ø©iò§&0&'B¾R¹l,w?XlþLÎSv²ANrkG
ÖíKØiPØÄx£UoT ÓfX+F)\rW#f&FåÕ*§§*zõ¶½c¡kÞì+ä+ÒÑ/5î·ä\\sAÚèîØ\n ¨ÀZ`£²E5ILæfõùùâ9ë¯eñã(Ñù+U;o¹y`Ô¾ÆóÖzÉð0tÇ|i÷{(\"¥vhâ4¦»3ÓJP¬ë2FnÎmÉ4õ\npÎGì³Ílc]6Pb9ä[\rRùná ÓSÏró*'dÒ Å±/ «ö¬ùÇ5\"C:½Yì80Hõ7³¿d¹\08WJð£:'ådj'ì¦ì9!8Ð¥´xNÖÝy#+ ùºÅ¢|B:\rYô.3ºã\rë4«¢AÔãÎÎsÑÒãÂuzúah@tÑi8[êéÚõ-:KíZÞ׺a¼O7;¬|kÕulÌÚ7*è'ìÒÖ´®+ÉÓËУh@<6`Ò5´²Fì£íKxæ:\rÃÚ2aÐàØëÙCÞ1it®«ë\nä\rËÒÖ(#ÞË#ð£þ:3Â=0k[Rõ´â Þ#Êðüµ¢È\rÑ@8H²;¢Bcd*7É*)'Ê)·*7Ã,6\"#ZçÌÔÚ«HXF2ÁèD4=#æáxïI
ÈÔÁ
ÍΣp_2cîØxDËÈN8HÃÑ%Mà^0Èì5IkK|ð\rÎÀ¨:Iû¢ÃTýµ*ça¡°ôOTË·UÙò-¤Ö.2,V7Î7\ný·tÈ PJ¤ÉÃÈèÝó}ä´B¬NãUøä¶W@ à ޼\"Ó#æöWí¢2Ê3r´5ëL8é³ßâÎÀ¦C¢D<-pÒÊ,T·JÜêPkZ5ÅHD\"ÏÇc@Ê\rã²<¦\r.¸I~ÎãM\\ÝÒJ9æJö\n\"b(:)8ÎqºÈÖ¥NÛ[[Ískg'Jµ¯lÚ2ãø<\\PslZ[³ºe&cdmÌݶJ(&ù(j^éWÀ¡#dC(ȳãB\\
±Ì\rß@Þ¥WÀ6Åö\"¤=-ÊÌj*ó¿ÚbhWÂ}B5BØðJMeZ>99wr{ä+BÕ·àxu¯ånð2èο7é{½¼rºwé\$e³¸èN´U|:±KÞ÷7*?_smK`Ö~ÐkA2¢\\Z \n\rÑ
2ìc1!¸®:ÏZrÓ E ø* àQaÄÙ²FEË:Ë-Å¥A¯RºÄC&d=¸b¼)!o¬Á³¡gYÂrï|,0Å&´èdr!¨gwÐàâ¨vÕ´!p¡ @\\ ô.Äu/)sgK1j+¤Ð32äù\"¼(8ÄÑ& Ô)Ì0*%E¨Õ¤TwR©|¹©
4§ðd.¬4LÃ]clAaâõ[¹ \"L Åh°\r¥ ®ó¾IPdÀðæ á¹àNgÒ2#fFÓ)%aRYPFà \n§+Ä´ÄPÑ8§4;pêê7ÑåCÇÅrRJQKHPä¦CSªp<E:H¤r§`ù#[Étz§P2ÊHĺyOe
?\"t¦A2&T ò^4d\$PÕ!r`«ÕÂlI¤ÂÊ8
\",^? R5Ã@Nöçjr\róÀÈÌ:Ôé2^MôÏéòD§Ú}¤Î`P @@P>/±ÅöÁA>'02:ZAF)(Á×FâÃ{!¨´§)¢rr\$ä¤DBLÍ#¨Ev¿RʰmTüó\$M\"F\r.ÐÔVÙÀrPaܤDè\$É,6ÝXÓa¬ä0!
0¤ªñ1@ó) ]ùð!ÄVO>ÂP±ÏA0¦ÊE1cfõ#,MͰ\\L\$t¼SI%£Z\rn\$`ìo£,Þ£¶mMC;RÖðzPs<4WÂhI67ÇH8[}I\\²\n<)
J ÚKLÁp4I\"vj¼§R|-àÌC;óÝ3ò^ftï,tÔ]àÚÉ5&ï #Jtla^!Ä@\\³|a!£¤ÕIK¼£°¥ÌÐf\"^\nñú_ä2²BpG !3|P\ná\$¥ñpNÆå}DO\0RDf(®\$¾CÓGC`(+>rfÿiAó.M:ià·q±¾tÇßµ¦:rUHÖô4DÏ+bõÅIÒZhjMí´4:ÔS
á{9z¹ç[Ç%ùv¬_?çétÒ,5¦a+LIÜÆMÁG:É[×Dk t÷©½9§t¨:»Ù1 Ùôn>ORÝÊg`%¹ó°ë'A´Ã¾&e~c,ÈiÂÉ8Ì8ëiPsfs÷ìçÈÚZUQYië\\ÜBôZÕ/ìøÕ¼ÌµàIü9º-ÖHUÓoo-É¡äÐÃ*Oy²B[°û4CD±;|®i¦ìËÙ©ðCÂÎ~Ñ\\ µpÎWÀTâ¼\\Ùð^¸êüæ^ä%d°Éæ\" ('HÃvVÎÙÅ|hÜKâK
@¨q¥½h9ë§`'éþ!¸ì¬VrßâGÉkÔåëX0r^
'¬áÓíTbEän̪nû¬·và´³è.!O°DÇ;)ìï>ÂÞ¸l\rnߤæ\"uß)Ækí3¤mHêõFÒu ÷h·F{×í\$sô ìg;ï)¿´xLëá½)5ýgxÅö}\riB\$¸,ì4C¦ã^L©ëi¼B^Y&æù§\"Ín\rhX6.²ÎV.AúÂC7¬U´Í j\r1(ÊÒ»<&¨ìU¸Éf]?=ÅÓþu:K&³&}3ó./Þø«o¦#ºá×~¯6ÿeªðE´ýnÿfÑ*Ý\0°ÇâÖj,¶Ã,\nf[I(&&_nµ\$\n¿d¢Bx/Ài£Ef\rÃni Ú_B ¤-MÊf_íÔØ3
ðoÙmØâÔ`bbË@èÀdB Ü ¦W¬B,(?IÍ\npdà\$L÷\0üM+Á\nèidÇâ¾é¦mpªðÿNgpɰo\0oÿbrb&RqäØ0&f/\\6ïÎØ60n/þ0èr0î>wOMºð0ÛÐßàÐà,Bý07:à\npþî\$àg^Ø#íì>¼#-ò#CǬôJ\nÎÓ¶%¤ä°*x¢@PqPßQV,ËL9bçBg\n\nt\rgæå-03>+G6b(åáK¡Añ#.ß|j¤-dííè_QlcNÛ͸1±ëÈT8oý\rèÜ#ïÙ&nçe¦sÇ@>îý@òoÝ\r%QC,ë!¦í-é\"RZpBÍDåûæÖ5Mb\$Ùh(o&{fÊ;Ç)\nðß%g%%²)%ç!%ñ ØÆ2dr'!Q5²a ÝQÌe2t\rÆ4ò(k&2oïT³\$©
úáFå%Ñ*Ò§&r²áò¯';+EmèãKàã°ýÌâÄÅ+ÔãdÅ,ë-n9(AàñÒ 4ì~zsòGhÞÒ¥®@Òræâg0É\rîlApGòä# °¥Ø)±\n6ê¾5 gðýãZ^®Ð!à;â,ùÒ îSDÑ-3<R5\0Ø.\rnEBzß`©4ó`Zeê\\ì\\ÿO;7ÏÑÒ}B:\n&\$hå!i`@h\rV\"£ìïd@¨ÀZÄ£L®° äCeÜïîÚÂ`ÂÑó®ð9=Fð\0ZZþØi6¸éß4à8êF\"PbvÆjãN7*brí?ã:À4jdèf³AÇÖY%VU«¾Icö\rÙ@Ü?äd£ª,l@ß Â-cq\$R%î_\0ÄÊÂs64lMÌÆÏ>ã8,\0æCÂδv6rGírMÀÞ Z3cM9ön¥©HÜ;Í·¥ñHãQ¦N¦NÞÐ\\Óc×b×Q'\"wFqCëÈ_ïVëÅÛ7/ºbàIÂGJ,D4D4\$³@á&'ñÖâpNàáKÔæÎdâË*e-¼ØîXôbéb³J¢MÅ3«\$Øf3Gê@EýA²~\r\0";break;case"vi":$e="%ÌÂ(ha\rÆqÐÐá] á®ÒÓ]¡Îc\rTnAjÓ¢hc,\" ³b5HÅØq Nd) R!/5Â!PäA&n®&°0cA¨Øn8Á1Ö0±Lâ³thb*L ¢QCH1°Öb ,Q^cMÆ3Âs2ÎNr=v©8]&-.Çcö\rF 1XîE)¶CÒñâ ÆÜnz4Ý77ÈJqm¬©U`Ô-MÈ@da¬±¦H¾9[×µê\r²ÝH ê!¡Äêy i=¤×Y®d\$ÉIÔäXWÓxmmt¿ÑWjYoqwµóùD¹Ä:<6½¨£à\ncì4¡`P°7e'í@@
¸°#hߢ,*ÃXÜ7ê@Ê9Cxä úNÒA\"l<®1N\rxæ:\rÃÚ2aÐáèAÐæ7cXÊ:B¢<¤!iJ N¢îs¢
hè((¡Róf1B\"ü0]¸ÃcC¼Æ! ŵÈytV\0Pä8Éà,²Ê66¢Ì¶Jh¸Î4#p l·ãxÊ9Âc|¶9£~9KcÆ1Òc&£ Â:#þÀãJ7´è@8/ãï`@&£Bú3¡Ð:æáxïe
Ã\rGÄñ0Σp_ZuµpIÐ|6ÄÌ3DÃmN4ãpx!òB,°48éûÌ\$Mk8¯]/\rî¨#¬âaVÚ³£Z3ÉÃt+#ÝQ ¡(ÈÌ# ÊaH!Ð2`7ÃNFI:FɳھÊP0H2Ãê6Kc°Â6£,xäpjZº°ìL÷&¢«Ãs¬V@[Ü_·MK-hRÊeÌÙEz6<@S^H¡OENéZ/9-ù[@«Î@ÓÐBBn²æ
Ù3#©TÐpa@¤3<6ÿè»8ð¢&CÆ6<¸Ã,EÙ*bÎ6ýÓ -âÛ-Ãb4vyöߨ\0AÔõ`Wìn×xë³sê)V¥´`û0±v°jÜÄ9Näå/ÁC«9&'ÊWlïâ
ÎèÐ@6±½v0ÛËèè:âÁýDÖ»I\n¼[Á\rt`ÒßÀeàøÁ`D\r!ÍTÃû\"Õ°]J\$GÜCÃ\rÊt7¬õPá\r¬]ÖVø
ØeAD`æÑ@\nEÆ\\6¢ôÊ\nS
) Uü0!¼3dÔ)=F¨5&Òhµ BnEÊ@5§UÅ&2ÊÝÊðlmÁ¹]F!÷rå(ÁB¼Æ,Ka¸âB±'A
-
Òâ\rjQr @üU Q:(%tá(iA^|Î\nÃX«d¬°î³V|ËIj-`ȺW:é[úW£BàY!\n 4¤òl('ä´Èä/ämzFQ'×ÊY! ©e-¥ÑtÛémºç'ü¡Xd,¥³¤¢#aÉiU©V¬\$ZËt9ãn
Ë¡\$²ü6À·\nD¡aÆk¢ìH¸RÈ\$k,8´A\nè\$DÀ©çºA\r°Ìàäj;ca31é¦ú¡ÌìõRi\$æ\n#²è_dØnyÌþr]\rðpNM½÷¦P@«Ñ¸·¶h.
º[\n (v®W0w@ËWlN\"é[Gli@ðX3V6¦Ã¢jUNÑ´A[ì_{ÑíÅȤ×&¡ÍZ*Rrâ\rÁÁX«5jÃòò}¨àΰèí3.èÀM)öH\0_¤ÕÔ
ÃLÊèMîRfA]¨¢èUX¤ÕÒÜjï¹®ªþ7 ¸\0eòRb-ÂÁ6ÜÎy¤w(NÓäLL¡5«ÑåÅJcTKaØåm¨)\$!\$\$Õt¢¹êæ_N²Ka &´)p\rØÀße(+l8«Ôäâ.d°P áL*FDåÅØÎ\nÕ¶²*ÕYy&!×( =¹-¸0黲ÂI0(`¤³ztW¨Î8\"Ebé?22ù+Ð*©üµøýè »LËÍ4¦»lÑgÕ{Âä. °úy7d^Þ½Ù³ È5&Ëê \0z)7(Òl0.m F¨£nÐ ïN¦ëÂâO
ïÆf¨`\$N\$eH/6<\0j#Fwî«KÌS.äD^jfÃgÝ6ð_(¡vÚXCG \rçÖ\"jö!cÙ¬ÒmHåeéw/Lß0@ê§Ua\"[2 &!©?fPMÐá¹ç9ÉCÑG kè\$DUKÂN¥ú¤ç\rë:·+6KÈ(s/x£TU:#Q ¨=oTC¹»`Éó¨ªKÓ¸5Ä_ÀÞn)5ù°ºx×>>e 7#Ö?üÜå¨Ìòë*0¡\$P_x\n1æ¬K¶RAJb:¡süÔ[ÉeàLy òyöÐ@Mré:ZAºdaÙÐH7q5ÞÁi©{4ÇÌÃ=ÔJ£\r+±\0 Aa\"2p%'¯SI¼4Rç¡]»çM°Æ1cÀ/\0)÷Ä.:+zä·!Õ×?\$Û2ÒÄ{ÊDxñÄ/RAfoKÿÉ(¾A !ÅËxá4÷ )QÀ8òL\\JR\"ºO/ £Ú%äòóäKðí[!h'E\n0i̽/¾ÇÚFFvû³!Ø
Ø«1¥2ï·h»ã~WÛáàû>·xfÆ&¬~kgÛï\"ÍaBá ,Ê#lÎ+\rªÀÇ&&mC\0ÂBáâ÷\"uÇJtð6çð:2£.&klTvªòØ0H@ÆÊê=â8?EúB¤îÂðofÅ*ÝD¢6'@~ç¢Bà¼\"bA)vl\"F¢Üf2j
\nO\nhs\$Çaþ.6¼#éÐPÜðTÊ#jtv\"NÍÜeO#o²¨çQåuç^\"ïD8/H7iíÖ÷1QXËn`µïsª¸>£º\$\"¬¹ÐL2SgÌ¡+Ä
cH%¬Íä¶È¡l¨ÚKÊWN/>ª0Ù\$2ÅO3qÉöÉL¨ÁØ\$ätF*¯äÌj)fåîc<2®Ru±0i°übQÀÎákXaá#pÐÎ`æã5Qÿ!R1p¹qÕBzv§½ Ë N¸0Ê'°_1,\rA(êøq¨s-#í\$2TåK%@öîÌÕRA%/,Ç!_°ö·ÃÌ n²?Æ\0B þeÆW@Èyúa:2ò>D¥bQòG\$±õRªVìò¨è¢tQóÉ<ÛÅï\$â0ämRvÏz7RÚÃoi{ªn\"£ö;&Vçiê:Z£J>I/ÒHRÄßgêLï®fI2ÿ1S¦âüéC\nLçD*1Lq®n\0ó<ÿbk4.-Ò»&ÓPèâ6N?5³G&ªÎNSDé î
¥Q&O\0±|í-ÎJîí±%4ÎÐíSo\"ÇòlJ3ísIÞ'\r§æ Ðc8#c¬x´I¬H%³¾;%@Mi BL÷%æýI@ÂvÂJ»¯z!>ê\"0!\$ÇG¶3eú£kIÉÅRîÔ'J\"SM\"ï½.ÛÌNÂãA £¦\rÄâ\n ¨ÀZ\$ÌðÎïLìª^Ñx7x+Ô^4YÆÆ;§§ö0ÁSLúQ¦5átRî?B1Ñ@3wAÃ49cÄhkEÊìë
OÜN«FA ÆÑðüqÇ ÎÀÖë#¬ëp9!x#³±.á/p9cC©\"pÎè!R\r2Ë,ÁÔqéN Ë®\"ãÊ6Gd\\ÔþÉ¢p`² ͦ©%#Þm¥éJQÎ_©¨õäÂLpfðj=*¶M\rÆlFÜìKJ,TmË̦ìl¬{ÆÑm2T@´ë>ÀÞÄFî&hLêªrÿ(rÙãòSPçö\r4êÍÙYK@¶UP^À";break;case"zh":$e="%ÌÂ:\$\nr.®ör/d²È»[8Ð S8r©NT*Ю\\9ÓHH¤Z1!S¹VøJè@%9£QÉl]m F¹U©*qQ;CÈf4ãÈ)ÎT9w:ÅvåO\"ã¨%CB®r«¤i»½xMÆ3Âs2ÍÎbèìV}¨\n%[L«Ñã`§*9>åSØË%yèPâ£uâYоHÇQé)\":¥Vdjºæ²dò©ÄK:t¦RdÚÒ(°t/Ó0Vc5_§hIG*å\\ëµ?M[Ïh9¼¾ÙÍ£ÒÂQp·C«q
åH\nt+Õ®
B½_âc©ÅS>R\$¡2øêAÎYnà(\$QBr%@4\rãè7#hÊ-CÞ9èAÐæ7cXÊ:*Ê´[¤Æä1ÎP(ëTÖ-Ñ&«*ùzJ¹§1ÄH',# Ú4Ã(ätdÂNR(1(WÈÉ1\\_\$¹\\Ù2Ç,k± Y͵§,|·àÂ\r¨ÌC@è:t
ã½2t¡)ÐøÎ£p^8.ãïxDÏLsd)ÐS¤ÎÒCÎ!xÂ)I\0ÚeLÖÕµ¨é0_å!tég1iLr\$PKR8rº¬¯,fTTv±ÐCG)T¥=QàT©+Å!Ê@µVsU¬a^Õ÷±7aB:H9hQ!Ùvs¡zFåé\\Í!uz·*>øZ/¤:så´Ã[g9XS!%×nY;ÑàëäFiÁ¹+aÒV 6ƲÐIt_ïD4\r\$ðrúÅ ±ÑèÃ*j\$\"i8nMÖÊàäIñ #ï0Ŧd\"øçè×A>:¢fçä¬\$ÔC\râÜt:È&¥j±X¢vO é>'å\0 ºPÐÁD%£Axdu¡:Z¥ñ¬7b°_á:X±%£¤PQÒ'En.ÑT²\"&Êâʽ(d-àÉ¿Oü¤¾ÑÀåqÔN òw¨eNéå=§Ôþ T
ê!E(ÅCÀtQ¡Î+(å.ê s>y/.6;á,Ö\$ï\$W1Ì,Àä\"rÁ,R(¿±¯V#|qKIq#ñZ)0¬ÜN%Q òîð¬Äq6.%BÁ\nÔyÒSëìøSkÌ¡O)\"&Ci0ÒìÛ@\$\0A:ÞXåòüTEâq£é\n\$x\\<9p¥\\Às°mÇ8«óèQóPÄDÝG¼²ö!E,ÛLÈÙ,y ç+8PÈp§Ð¯!LQ1^/X´L\"¸t!1HrÃXÔ@ÂRÀJ9ÈÜ\"Yeñ\"ª1¢6ÁÐ-ð¿eD~Ð2NJIZÛ¸ZªõèNàrñ˸P©pÚÐ6ÀèÎáEÄt.PáÊ}Uq\0I¡æ\"\n;AffôÇ4 ÂTé°´\nEÚ)=pnG!\"Ù]ü5ʺ;aÒ!XÃhÕ6/ öEÐ\0#@ `0\\&Ò^tl]È=¦fÿH%À¤Èa@Åx¹A<'\0ª A\níÝÐB`E¼m¼KÖ±jQúJ¾ø/a*/Óp¦qí#É9ù¤¤ \\¢\n.ð ÀåXS³Üiê+eMÂN\\G5À{DÌȳMT¯õ[³^l¾FäÝBazaw¬; \$D2²Ü&§ø¼0üè'À/Oúp_ÉÁëæüÝtÍv±U &KÔÎ+Jª¿Õ
ðxL\rê2à¨gJÌ2èdÚE5äËeû§XKø,äi@3 ÞJ³i§«árÃ
#¢èHa6Å\0jät[ñ( \rÓl!èSu
ä1ê`×VVBK8qO¬D³.!»@-A\0b&0M¢Ò&HÔ ÓQçá.³k%hkUnÞ³Á#Þ ¨BHÇüø#_¹~phLu²ÁîîE9'1i\r§±¼ÅB]%Ë2§A³6ͤ6\"g/)üÛ]í¦ ßJñ\rèÌY\0005L¤¿àSÛ*ëW)k ®C,¹
d¿pD\0æ¯u '¨-(¯Bµq\nËU¢¶ÝÆå#Þðæïc:gõË;\"ZacØ{¯äÖ5Æ/ÓØt¾XÒö\\N;V`Ã'µhÕÝ;'^pÂë¼Uê´`¼³\$G/dª×ÚýîB½óÖ°b·\\
ÇËW ¼µõñ&29÷e¤4ZÑ^®ÿ(C`gCú4hYhnͱFpèb2 ¢À:ÀÜ4óËÅâNÕZ5ðøÝçâ÷òÖÿú;è` ÏÑBn-ͺðèQö\nÆþ[3p^#{_Ã:êw_¦±ÿf£ý=ïøö2y¥ÀåSkKÝh\\)raB+á\nÉchɰ ´MK8ô¥ÊN,¯úÓ&ð!ðNÊúôgÖ¹p°qP/\0c¸(Ë¢ÔF6ìOüq<»Jä®ðøpbÎåý,0pÏælzôÏ´ñfôo2ùc \"}å Â0¯ÞWð¤|ð\n&ö'Ï\$\"*ÁvW!:Aa^k¡\\ßafH.\"é9!ÎÛïÔ_FàÄæêýÍûPìcð ØÐêûøÐª'`GêÄÄç\nl\n`¬180Da=Ï(Ô ÊE\$è.íÎ8\0àÌ¢ù4\r8Qñ'ÈÐb5îwáv°\n ¨ÀZ°M&ünên4ª!bË\0#âå'ÃftaÐ!(iã*!^êò42T,®®4\rÙjá^¡Eø\r>z`zfÊf£+£Ò^ÈÊæ #Â@â:!\0002Åp¯/êA\n¥Nø3.Õ+XÀîûI !m/±º=Óó¡x(í/:lM¦8Ïô|pÏ\"8ÊLa!,-ð¨5¡Ò¾ëòÑ-\"ðS:¿t¿FË.ÄÂ{ÎD÷ÖÎÀ¬ Æ ê\r¨Ô!¡,#¡G-ãþñåtÒ\$\$g.ì>{/l!á\nè ZÄ98Æf>LFÁ77¯¿3ð\"HÈ-Q°æQ1,`";break;case"zh-tw":$e="%ÌÂ:\$\ns¡.eUȸE9PK72©(æP¢h)Ê
@º:i Æaè§Je åR)Ü«{º Nd(ÜvQDCÑ®UjaÊTOABÀPÀb2£a¸àr\nr/Wît¢¡ÐBºT)ç*yX^¨ê%Ó\\r¥ÑÎõâ|I7ÎFS ÌË99SùTB\$³rÖNu²MТU¹P)Êå&9G'ܪ{;ds'.
ÌLº9hëo^^+ðieDÁçô:=.R¡FRÈ%F{A¢,\\¨õ{Xs&Öu¥\0r zM6£U¬!TDÇÇE©ëãt×l6N_ÓÔÛ'¡è¸zÎVÊÁ~N¾ÅÁZRZRGATO\$DЫ¬8UäùJt
|R)Nã|rEYÎYg9jX«átШdÉP\rxæ:\rÃÚ2aÐà7C ºH\0t9ãÖ2ñpYÊìrä2Ö^AëQhA2]£å+X!rBòüÂ# Ú4Ã(ätDV¨G1(æå¢DU¤©ã7r¤¬Q=©4E-Ä«¡!\0нÁèD4 à9Ax^;ÔpÃ7N] áxÊ7ãú9ò\0ÈIÐ|t(¡B1ë5%Bã|¥\$ psd=LK^s
ÔTHÌäWOEÊ*QW¤³¿mÛ¶}Æü6ó¤ÐMÐiZS¤£ @1# ÊaKVÉh¬k*ÎgANQÁ¤=\0E¶JÈÛÚ3¬îìËMf£Ä9zr}¢MÇ) D0d8¬ç!v]Ä!åíÚsÄI%ªUF\$sÝü¥ëx*£Àè\$©oÈö ¬ñ\n¯KMûGg1\nb^%î]ÄI&tË;èó¼§!n
Í.\\ÍÌÕÚöÎä]ÚÅ[·®»ü\rµ½Ä¼S:çéAPEçhñtG¤A.¬Oáv[#ÐìÖrôD9tp?\r¿Æ|d»Y=è9hë
l½¨ä70CÂ<Ø3Ýað7Ã0Ò3÷Ã/0àÀ0G9L@²¾ÉÌDÔ ?ð§AÆK|Dh§1PPÅD#J\n'6så+B'Ç0MÀIáZ%Èx²A]qCÞu
#Âä_*`tFâ6(pÂ¥&Àéð»CÌ%D¹Î!oádâ`&pèpÄå{9:DFÂ0tq®1¼E>tÔéã V Ò²
BmMéÄ9CV
ÄÙ\"vDRJQK)
4§ò êREÅNJ«áèè^´ÃFX/ . act%ÐD½rÃ(srà\" DsÿÊþ#HLJQL U+ÉèjÿÉìjRaJ©u2¦ÔêT*-ªePªcM_AºMÈjóaÐY¼XW®ø²Þ!£ W 2ÜØS\"f®KIy31dè¿,\"EÌeN0Fµf!Ê9Åc&Ås*9ÄÛùÀa\$V`ЬrÄ1Ê'Źª8&\\·Üüô¢ÜqË
ÜOIðZQH\nªWâü߬'RRTHIÖlàR¹`9ÄJÞ9ôPBRÄEÂDt\nÑp èäBZ<¡¹¦ìþ9ÅJ/ñG,½Â`W1:;ïPE~BÃ29DÝ=¡üJÔLS\nA@ÞÃq=1FÊa2/±!5cK\näB- #äÔø9
pµ
ââ\"Yú'0&B\0^X'~g 0(ra9ð8b û£EADôZT¡É4Ø\0H\\0æ\"\nQ.'ÓªI:(PP áL*ö)1'M:×_Y_fÞÔ½<ÅË{©¢¯²ä6 Ô5ÁP(³h3e ôÛÈåFUTr`% ¾â4Z1@(I á8P T + \0B`EÃKýÒ\$hç\$dxG¶ðɱN+j-L]5V4ºµ6çìþôJÈ(»+â«|
PY®ØB:äB×Räs((L¢.ìk®uÃÓ°Ph£H%g&ÎÜÌ5h4WðBX³¾p\"\r¬.iôa\ri\"¤¾Qê`!L+ïDXC©RJkØ?¥¼¸ïÁ4A¢¢ ç7+URAQÀÞ¨Ã*ö°:tàÀPs/AU4jiÀ©£c*\0¦\\YÖpÜiÐ3 ÞH@´L·fð.G>ÒÚ
cat\$Bì~KCk-Üsj&ÁC§\0 ²V°eî?ðǼZ\rââÞà\$f9]K«ß{õlm¶V©^áå1¦TÏLº\r©ci1xÈÏËn¨þ£+x²
OmZa¨BHÈi\\]/ÊÅ/-·¥pO¡Ä<*bõ\0¼/EíBõ¡\\Ã\0Ôw:¡G,KQz,GHç\nÛi\"Ú
ؤ«ôXb£%ë¡xÚ×D<¸õÎÒȶèy¼ÂDÈð¾?X\0N#g\$\$ÿEý÷w]Ûuc¢ë@dDy]%©ãê\$G@@-² !Y*_R«+[\"\rÖ\"(X®Æ<È ×ÅÑ:fÑuORèÞõvZ¿bÌnSAn³'é{b·+yù¦øïå.\"þÞ±x£\"ͨ³sN V±FÌ\0?AFú\nY¿Xåý¿ÇöãºG!ú\rÝní¦*µ\0Ä,à ØäÙ@ÐÚÕÚ
¢jF¨#ϸÅg\rÀÈÙI8ÒÄFD¬¤ö̪÷\r6ÒÆøî\0ËRí¯öÚðZ#Á\"âáK¬Tr.öiÌì¡é.~8héÎ êOpùLªÀìÁaj÷¢0Ýl¯¯ ð-ºÛìÒ¡\$>\rİsAÊDè>ãv ô¥\0¦QÉâ÷ÍÆÍ+íIȪp´#´ÿͨ=\"¨åÊé+XÝ0ݼة¨:¤Üãn9ÌJ`i= ¥¾\\#¿°DmCW\nL¹-
lúñHØmþ1PsÁm øo1^eÑcO¯§>1f1ttVã~Z&â3bÎp!:.ÁÌæD\"ÜÆ%ê>¢ÿCǰngqdÚâ²rñDã»á¸cÎ0o¡rN^(±ÈãkOC~N£Éêà,'\ràÝàÊIE\$/¥îÖ\0àÕ#Ò\0\rRx(2NRÝÍñ 'i\"V\rfÞ È0P_@å#ñÑZaMø°íýeÊàrTFQÂàRRâò`2ð%ßï¯'^Fo9M©ì+«Å%hãÒ,b㨱(ã. úÙ\0ÈrPpdFpÏuDÉ.tªÊ@ÙÀÆàP RºÃ EK^òDB
az!pcá\n.Ϊ²Öòr¾;OöAé¡6®ê.¦åá¢ázà@Ø>ó?£öåb^;F0\n £\"ÐÂb)AP\n ¨ÀZâJðtJìê§Â!¬°YÏ\\ذZ+:ôÃäBiîôãbâj3C.ÒÂ÷HnãS©DD,´(?³m¬ä4G¶1¬hЫ/øáСÈ3º#§XÃ1ÒÜà÷Îó˰
\0
ÄqC8³ìÏ´½·-0)\\ÆTe=\0Á?2Æp+P kAJ°ñ, îæª:Ì©\nÀÂ`ê Ú+#>~N`ýk`Ü\r¬ ¡RôS¶tó¿<,¦Â>É®ËTjÈ\$=2àA¡LÁÐc:g0n#ÂÁß'á,°";break;}$ii=array();foreach(explode("\n",lzw_decompress($e))as$X)$ii[]=(strpos($X,"\t")?explode("\t",$X):$X);return$ii;}abstract
class
SqlDb{static$instance;var$extension;var$flavor='';var$server_info;var$affected_rows=0;var$info='';var$errno=0;var$error='';protected$multi;abstract
function
attach($P,$V,$H);abstract
function
quote($xh);abstract
function
select_db($Cb);abstract
function
query($J,$pi=false);function
multi_query($J){return$this->multi=$this->query($J);}function
store_result(){return$this->multi;}function
next_result(){return
false;}}if(extension_loaded('pdo')){abstract
class
PdoDb
extends
SqlDb{protected$pdo;function
dsn($Zb,$V,$H,array$vf=array()){$vf[\PDO::ATTR_ERRMODE]=\PDO::ERRMODE_SILENT;$vf[\PDO::ATTR_STATEMENT_CLASS]=array('Adminer\PdoResult');try{$this->pdo=new
\PDO($Zb,$V,$H,$vf);}catch(\Exception$tc){return$tc->getMessage();}$this->server_info=@$this->pdo->getAttribute(\PDO::ATTR_SERVER_VERSION);return'';}function
quote($xh){return$this->pdo->quote($xh);}function
query($J,$pi=false){$K=$this->pdo->query($J);$this->error="";if(!$K){list(,$this->errno,$this->error)=$this->pdo->errorInfo();if(!$this->error)$this->error=lang(23);return
false;}$this->store_result($K);return$K;}function
store_result($K=null){if(!$K){$K=$this->multi;if(!$K)return
false;}if($K->columnCount()){$K->num_rows=$K->rowCount();return$K;}$this->affected_rows=$K->rowCount();return
true;}function
next_result(){$K=$this->multi;if(!is_object($K))return
false;$K->_offset=0;return@$K->nextRowset();}}class
PdoResult
extends
\PDOStatement{var$_offset=0,$num_rows;function
fetch_assoc(){return$this->fetch_array(\PDO::FETCH_ASSOC);}function
fetch_row(){return$this->fetch_array(\PDO::FETCH_NUM);}private
function
fetch_array($Se){$L=$this->fetch($Se);return($L?array_map(array($this,'unresource'),$L):$L);}private
function
unresource($X){return(is_resource($X)?stream_get_contents($X):$X);}function
fetch_field(){$M=(object)$this->getColumnMeta($this->_offset++);$U=$M->pdo_type;$M->type=($U==\PDO::PARAM_INT?0:15);$M->charsetnr=($U==\PDO::PARAM_LOB||(isset($M->flags)&&in_array("blob",(array)$M->flags))?63:0);return$M;}function
seek($if){for($t=0;$t<$if;$t++)$this->fetch();}}}function
add_driver($u,$E){SqlDriver::$drivers[$u]=$E;}function
get_driver($u){return
SqlDriver::$drivers[$u];}abstract
class
SqlDriver{static$instance;static$drivers=array();static$extensions=array();static$jush;protected$conn;protected$types=array();var$delimiter=";";var$insertFunctions=array();var$editFunctions=array();var$unsigned=array();var$operators=array();var$functions=array();var$grouping=array();var$onActions="RESTRICT|NO ACTION|CASCADE|SET NULL|SET DEFAULT";var$partitionBy=array();var$inout="IN|OUT|INOUT";var$enumLength="'(?:''|[^'\\\\]|\\\\.)*'";var$generated=array();static
function
connect($P,$V,$H){$f=new
Db;return($f->attach($P,$V,$H)?:$f);}function
__construct(Db$f){$this->conn=$f;}function
types(){return
call_user_func_array('array_merge',array_values($this->types));}function
structuredTypes(){return
array_map('array_keys',$this->types);}function
enumLength(array$m){}function
unconvertFunction(array$m){}function
select($R,array$O,array$Z,array$s,array$xf=array(),$_=1,$G=0,$ng=false){$Ud=(count($s)selectQueryBuild($O,$Z,$s,$xf,$_,$G);if(!$J)$J="SELECT".limit(($_GET["page"]!="last"&&$_&&$s&&$Ud&&JUSH=="sql"?"SQL_CALC_FOUND_ROWS ":"").implode(", ",$O)."\nFROM ".table($R),($Z?"\nWHERE ".implode(" AND ",$Z):"").($s&&$Ud?"\nGROUP BY ".implode(", ",$s):"").($xf?"\nORDER BY ".implode(", ",$xf):""),$_,($G?$_*$G:0),"\n");$th=microtime(true);$L=$this->conn->query($J);if($ng)echo
adminer()->selectQuery($J,$th,!$L);return$L;}function
delete($R,$ug,$_=0){$J="FROM ".table($R);return
queries("DELETE".($_?limit1($R,$J,$ug):" $J$ug"));}function
update($R,array$Q,$ug,$_=0,$bh="\n"){$Hi=array();foreach($Q
as$z=>$X)$Hi[]="$z = $X";$J=table($R)." SET$bh".implode(",$bh",$Hi);return
queries("UPDATE".($_?limit1($R,$J,$ug,$bh):" $J$ug"));}function
insert($R,array$Q){return
queries("INSERT INTO ".table($R).($Q?" (".implode(", ",array_keys($Q)).")\nVALUES (".implode(", ",$Q).")":" DEFAULT VALUES").$this->insertReturning($R));}function
insertReturning($R){return"";}function
insertUpdate($R,array$N,array$mg){return
false;}function
begin(){return
queries("BEGIN");}function
commit(){return
queries("COMMIT");}function
rollback(){return
queries("ROLLBACK");}function
slowQuery($J,$Uh){}function
convertSearch($v,array$X,array$m){return$v;}function
value($X,array$m){return(method_exists($this->conn,'value')?$this->conn->value($X,$m):$X);}function
quoteBinary($Pg){return
q($Pg);}function
warnings(){}function
tableHelp($E,$Yd=false){}function
inheritsFrom($R){return
array();}function
inheritedTables($R){return
array();}function
partitionsInfo($R){return
array();}function
hasCStyleEscapes(){return
false;}function
engines(){return
array();}function
supportsIndex(array$S){return!is_view($S);}function
indexAlgorithms(array$Eh){return
array();}function
checkConstraints($R){return
get_key_vals("SELECT c.CONSTRAINT_NAME, CHECK_CLAUSE
FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS c
JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS t ON c.CONSTRAINT_SCHEMA = t.CONSTRAINT_SCHEMA AND c.CONSTRAINT_NAME = t.CONSTRAINT_NAME".($this->conn->flavor=='maria'?" AND c.TABLE_NAME = t.TABLE_NAME":"")."
WHERE c.CONSTRAINT_SCHEMA = ".q($_GET["ns"]!=""?$_GET["ns"]:DB)."
AND t.TABLE_NAME = ".q($R).(JUSH=="pgsql"?"
AND CHECK_CLAUSE NOT LIKE '% IS NOT NULL'":""),$this->conn);}function
allFields(){$L=array();if(DB!=""){foreach(get_rows("SELECT TABLE_NAME AS tab, COLUMN_NAME AS field, IS_NULLABLE AS nullable, DATA_TYPE AS type, CHARACTER_MAXIMUM_LENGTH AS length".(JUSH=='sql'?", COLUMN_KEY = 'PRI' AS `primary`":"")."
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = ".q($_GET["ns"]!=""?$_GET["ns"]:DB)."
ORDER BY TABLE_NAME, ORDINAL_POSITION",$this->conn)as$M){$M["null"]=($M["nullable"]=="YES");$L[$M["tab"]][]=$M;}}return$L;}}class
Adminer{static$instance;var$error='';function
name(){return"
Adminer";}function
credentials(){return
array(SERVER,$_GET["username"],get_password());}function
connectSsl(){}function
permanentLogin($h=false){return
password_file($h);}function
bruteForceKey(){return$_SERVER["REMOTE_ADDR"];}function
serverName($P){return
h($P);}function
database(){return
DB;}function
databases($Oc=true){return
get_databases($Oc);}function
pluginsLinks(){}function
operators(){return
driver()->operators;}function
schemas(){return
schemas();}function
queryTimeout(){return
2;}function
afterConnect(){}function
headers(){}function
csp(array$wb){return$wb;}function
head($_b=null){return
true;}function
bodyClass(){echo" adminer";}function
css(){$L=array();foreach(array("","-dark")as$Se){$o="adminer$Se.css";if(file_exists($o)){$Jc=file_get_contents($o);$L["$o?v=".crc32($Jc)]=($Se?"dark":(preg_match('~prefers-color-scheme:\s*dark~',$Jc)?'':'light'));}}return$L;}function
loginForm(){echo"\n",adminer()->loginFormField('driver','| '.lang(24).' | ',input_hidden("auth[driver]","server")."MySQL / MariaDB"),adminer()->loginFormField('server',' |
|---|
| '.lang(25).' | ',''),adminer()->loginFormField('username',' |
|---|
| '.lang(27).' | ',''),adminer()->loginFormField('password',' |
|---|
| '.lang(28).' | ',''),adminer()->loginFormField('db',' |
|---|
| '.lang(29).' | ','')," |
|---|
\n","\n",checkbox("auth[permanent]",1,$_COOKIE["adminer_permanent"],lang(31))."\n";}function
loginFormField($E,$nd,$Y){return$nd.$Y."\n";}function
login($ue,$H){if($H=="")return
lang(32,target_blank());return
true;}function
tableName(array$Eh){return
h($Eh["Name"]);}function
fieldName(array$m,$xf=0){$U=$m["full_type"];$gb=$m["comment"];return''.h($m["field"]).'';}function
selectLinks(array$Eh,$Q=""){$E=$Eh["Name"];echo'
';$te=array("select"=>lang(33));if(support("table")||support("indexes"))$te["table"]=lang(34);$Yd=false;if(support("table")){$Yd=is_view($Eh);if($Yd){if(support("view"))$te["view"]=lang(35);}elseif(function_exists('Adminer\alter_table'))$te["create"]=lang(36);}if($Q!==null)$te["edit"]=lang(37);foreach($te
as$z=>$X)echo" $X";echo
doc_link(array(JUSH=>driver()->tableHelp($E,$Yd)),"?"),"\n";}function
foreignKeys($R){return
foreign_keys($R);}function
backwardKeys($R,$Dh){return
array();}function
backwardKeysPrint(array$Aa,array$M){}function
selectQuery($J,$th,$Dc=false){$L="
\n";if(!$Dc&&($Pi=driver()->warnings())){$u="warnings";$L=", ".lang(38)."".script("qsl('a').onclick = partial(toggle, '$u');","")."$L\n$Pi
\n";}return"".h(str_replace("\n"," ",$J))." (".format_time($th).")".(support("sql")?" ".lang(12)."":"").$L;}function
sqlCommandQuery($J){return
shorten_utf8(trim($J),1000);}function
sqlPrintAfter(){}function
rowDescription($R){return"";}function
rowDescriptions(array$N,array$Rc){return$N;}function
selectLink($X,array$m){}function
selectVal($X,$A,array$m,$Gf){$L=($X===null?"NULL":(preg_match("~char|binary|boolean~",$m["type"])&&!preg_match("~var~",$m["type"])?"$X":(preg_match('~json~',$m["type"])?"$X":$X)));if(is_blob($m)&&!is_utf8($X))$L="".lang(39,strlen($Gf))."";return($A?"$L":$L);}function
editVal($X,array$m){return$X;}function
config(){return
array();}function
tableStructurePrint(array$n,$Eh=null){echo"
\n";}function
tableIndexesPrint(array$x,array$Eh){$Of=false;foreach($x
as$E=>$w)$Of|=!!$w["partial"];echo"\n";$Hb=first(driver()->indexAlgorithms($Eh));foreach($x
as$E=>$w){ksort($w["columns"]);$ng=array();foreach($w["columns"]as$z=>$X)$ng[]="".h($X)."".($w["lengths"][$z]?"(".$w["lengths"][$z].")":"").($w["descs"][$z]?" DESC":"");echo"","| $w[type]".($Hb&&$w['algorithm']!=$Hb?" ($w[algorithm])":"")," | ".implode(", ",$ng);if($Of)echo" | ".($w['partial']?"WHERE ".h($w['partial']):"");echo"\n";}echo" |
\n";}function
selectColumnsPrint(array$O,array$d){print_fieldset("select",lang(45),$O);$t=0;$O[""]=array();foreach($O
as$z=>$X){$X=idx($_GET["columns"],$z,array());$c=select_input(" name='columns[$t][col]'",$d,$X["col"],($z!==""?"selectFieldChange":"selectAddRow"));echo"".(driver()->functions||driver()->grouping?html_select("columns[$t][fun]",array(-1=>"")+array_filter(array(lang(46)=>driver()->functions,lang(47)=>driver()->grouping)),$X["fun"]).on_help("event.target.value && event.target.value.replace(/ |\$/, '(') + ')'",1).script("qsl('select').onchange = function () { helpClose();".($z!==""?"":" qsl('select, input', this.parentNode).onchange();")." };","")."($c)":$c)."
\n";$t++;}echo"\n";}function
selectSearchPrint(array$Z,array$d,array$x){print_fieldset("search",lang(48),$Z);foreach($x
as$t=>$w){if($w["type"]=="FULLTEXT")echo"(".implode(", ",array_map('Adminer\h',$w["columns"])).") AGAINST"," ",script("qsl('input').oninput = selectFieldChange;",""),(JUSH=='sql'?checkbox("boolean[$t]",1,isset($_GET["boolean"][$t]),"BOOL"):''),"
\n";}$Oa="this.parentNode.firstChild.onchange();";foreach(array_merge((array)$_GET["where"],array(array()))as$t=>$X){if(!$X||("$X[col]$X[val]"!=""&&in_array($X["op"],adminer()->operators())))echo"".select_input(" name='where[$t][col]'",$d,$X["col"],($X?"selectFieldChange":"selectAddRow"),"(".lang(49).")"),html_select("where[$t][op]",adminer()->operators(),$X["op"],$Oa),"",script("mixin(qsl('input'), {oninput: function () { $Oa }, onkeydown: selectSearchKeydown, onsearch: selectSearchSearch});",""),"
\n";}echo"\n";}function
selectOrderPrint(array$xf,array$d,array$x){print_fieldset("sort",lang(50),$xf);$t=0;foreach((array)$_GET["order"]as$z=>$X){if($X!=""){echo"".select_input(" name='order[$t]'",$d,$X,"selectFieldChange"),checkbox("desc[$t]",1,isset($_GET["desc"][$z]),lang(51))."
\n";$t++;}}echo"".select_input(" name='order[$t]'",$d,"","selectAddRow"),checkbox("desc[$t]",1,false,lang(51))."
\n","\n";}function
selectLimitPrint($_){echo"\n";}function
selectLengthPrint($Sh){if($Sh!==null)echo"\n";}function
selectActionPrint(array$x){echo"\n";}function
selectCommandPrint(){return!information_schema(DB);}function
selectImportPrint(){return!information_schema(DB);}function
selectEmailPrint(array$gc,array$d){}function
selectColumnsProcess(array$d,array$x){$O=array();$s=array();foreach((array)$_GET["columns"]as$z=>$X){if($X["fun"]=="count"||($X["col"]!=""&&(!$X["fun"]||in_array($X["fun"],driver()->functions)||in_array($X["fun"],driver()->grouping)))){$O[$z]=apply_sql_function($X["fun"],($X["col"]!=""?idf_escape($X["col"]):"*"));if(!in_array($X["fun"],driver()->grouping))$s[]=$O[$z];}}return
array($O,$s);}function
selectSearchProcess(array$n,array$x){$L=array();foreach($x
as$t=>$w){if($w["type"]=="FULLTEXT"&&idx($_GET["fulltext"],$t)!="")$L[]="MATCH (".implode(", ",array_map('Adminer\idf_escape',$w["columns"])).") AGAINST (".q($_GET["fulltext"][$t]).(isset($_GET["boolean"][$t])?" IN BOOLEAN MODE":"").")";}foreach((array)$_GET["where"]as$z=>$X){$ab=$X["col"];if("$ab$X[val]"!=""&&in_array($X["op"],adminer()->operators())){$kb=array();foreach(($ab!=""?array($ab=>$n[$ab]):$n)as$E=>$m){$kg="";$jb=" $X[op]";if(preg_match('~IN$~',$X["op"])){$Ad=process_length($X["val"]);$jb
.=" ".($Ad!=""?$Ad:"(NULL)");}elseif($X["op"]=="SQL")$jb=" $X[val]";elseif(preg_match('~^(I?LIKE) %%$~',$X["op"],$C))$jb=" $C[1] ".adminer()->processInput($m,"%$X[val]%");elseif($X["op"]=="FIND_IN_SET"){$kg="$X[op](".q($X["val"]).", ";$jb=")";}elseif(!preg_match('~NULL$~',$X["op"]))$jb
.=" ".adminer()->processInput($m,$X["val"]);if($ab!=""||(isset($m["privileges"]["where"])&&(preg_match('~^[-\d.'.(preg_match('~IN$~',$X["op"])?',':'').']+$~',$X["val"])||!preg_match('~'.number_type().'|bit~',$m["type"]))&&(!preg_match("~[\x80-\xFF]~",$X["val"])||preg_match('~char|text|enum|set~',$m["type"]))&&(!preg_match('~date|timestamp~',$m["type"])||preg_match('~^\d+-\d+-\d+~',$X["val"]))))$kb[]=$kg.driver()->convertSearch(idf_escape($E),$X,$m).$jb;}$L[]=(count($kb)==1?$kb[0]:($kb?"(".implode(" OR ",$kb).")":"1 = 0"));}}return$L;}function
selectOrderProcess(array$n,array$x){$L=array();foreach((array)$_GET["order"]as$z=>$X){if($X!="")$L[]=(preg_match('~^((COUNT\(DISTINCT |[A-Z0-9_]+\()(`(?:[^`]|``)+`|"(?:[^"]|"")+")\)|COUNT\(\*\))$~',$X)?$X:idf_escape($X)).(isset($_GET["desc"][$z])?" DESC":"");}return$L;}function
selectLimitProcess(){return(isset($_GET["limit"])?intval($_GET["limit"]):50);}function
selectLengthProcess(){return(isset($_GET["text_length"])?"$_GET[text_length]":"100");}function
selectEmailProcess(array$Z,array$Rc){return
false;}function
selectQueryBuild(array$O,array$Z,array$s,array$xf,$_,$G){return"";}function
messageQuery($J,$Th,$Dc=false){restart_session();$pd=&get_session("queries");if(!idx($pd,$_GET["db"]))$pd[$_GET["db"]]=array();if(strlen($J)>1e6)$J=preg_replace('~[\x80-\xFF]+$~','',substr($J,0,1e6))."\nâ¦";$pd[$_GET["db"]][]=array($J,time(),$Th);$qh="sql-".count($pd[$_GET["db"]]);$L="".lang(56)." ð\n";if(!$Dc&&($Pi=driver()->warnings())){$u="warnings-".count($pd[$_GET["db"]]);$L="".lang(38).", $L\n$Pi
\n";}return" ".@date("H:i:s").""." $L".shorten_utf8($J,1e4)."
".($Th?"
($Th)":'').(support("sql")?'
'.lang(12).'':'').'
';}function
editRowPrint($R,array$n,$M,$wi){}function
editFunctions(array$m){$L=($m["null"]?"NULL/":"");$wi=isset($_GET["select"])||where($_GET);foreach(array(driver()->insertFunctions,driver()->editFunctions)as$z=>$Yc){if(!$z||(!isset($_GET["call"])&&$wi)){foreach($Yc
as$Yf=>$X){if(!$Yf||preg_match("~$Yf~",$m["type"]))$L
.="/$X";}}if($z&&$Yc&&!preg_match('~set|bool~',$m["type"])&&!is_blob($m))$L
.="/SQL";}if($m["auto_increment"]&&!$wi)$L=lang(43);return
explode("/",$L);}function
editInput($R,array$m,$va,$Y){if($m["type"]=="enum")return(isset($_GET["select"])?" ":"").enum_input("radio",$va,$m,$Y,"NULL");return"";}function
editHint($R,array$m,$Y){return"";}function
processInput(array$m,$Y,$r=""){if($r=="SQL")return$Y;$E=$m["field"];$L=q($Y);if(preg_match('~^(now|getdate|uuid)$~',$r))$L="$r()";elseif(preg_match('~^current_(date|timestamp)$~',$r))$L=$r;elseif(preg_match('~^([+-]|\|\|)$~',$r))$L=idf_escape($E)." $r $L";elseif(preg_match('~^[+-] interval$~',$r))$L=idf_escape($E)." $r ".(preg_match("~^(\\d+|'[0-9.: -]') [A-Z_]+\$~i",$Y)&&JUSH!="pgsql"?$Y:$L);elseif(preg_match('~^(addtime|subtime|concat)$~',$r))$L="$r(".idf_escape($E).", $L)";elseif(preg_match('~^(md5|sha1|password|encrypt)$~',$r))$L="$r($L)";return
unconvert_field($m,$L);}function
dumpOutput(){$L=array('text'=>lang(57),'file'=>lang(58));if(function_exists('gzencode'))$L['gz']='gzip';return$L;}function
dumpFormat(){return(support("dump")?array('sql'=>'SQL'):array())+array('csv'=>'CSV,','csv;'=>'CSV;','tsv'=>'TSV');}function
dumpDatabase($j){}function
dumpTable($R,$zh,$Yd=0){if($_POST["format"]!="sql"){echo"\xef\xbb\xbf";if($zh)dump_csv(array_keys(fields($R)));}else{if($Yd==2){$n=array();foreach(fields($R)as$E=>$m)$n[]=idf_escape($E)." $m[full_type]";$h="CREATE TABLE ".table($R)." (".implode(", ",$n).")";}else$h=create_sql($R,$_POST["auto_increment"],$zh);set_utf8mb4($h);if($zh&&$h){if($zh=="DROP+CREATE"||$Yd==1)echo"DROP ".($Yd==2?"VIEW":"TABLE")." IF EXISTS ".table($R).";\n";if($Yd==1)$h=remove_definer($h);echo"$h;\n\n";}}}function
dumpData($R,$zh,$J){if($zh){$Ce=(JUSH=="sqlite"?0:1048576);$n=array();$xd=false;if($_POST["format"]=="sql"){if($zh=="TRUNCATE+INSERT")echo
truncate_sql($R).";\n";$n=fields($R);if(JUSH=="mssql"){foreach($n
as$m){if($m["auto_increment"]){echo"SET IDENTITY_INSERT ".table($R)." ON;\n";$xd=true;break;}}}}$K=connection()->query($J,1);if($K){$Nd="";$Ka="";$ce=array();$Zc=array();$Ah="";$Gc=($R!=''?'fetch_assoc':'fetch_row');$sb=0;while($M=$K->$Gc()){if(!$ce){$Hi=array();foreach($M
as$X){$m=$K->fetch_field();if(idx($n[$m->name],'generated')){$Zc[$m->name]=true;continue;}$ce[]=$m->name;$z=idf_escape($m->name);$Hi[]="$z = VALUES($z)";}$Ah=($zh=="INSERT+UPDATE"?"\nON DUPLICATE KEY UPDATE ".implode(", ",$Hi):"").";\n";}if($_POST["format"]!="sql"){if($zh=="table"){dump_csv($ce);$zh="INSERT";}dump_csv($M);}else{if(!$Nd)$Nd="INSERT INTO ".table($R)." (".implode(", ",array_map('Adminer\idf_escape',$ce)).") VALUES";foreach($M
as$z=>$X){if($Zc[$z]){unset($M[$z]);continue;}$m=$n[$z];$M[$z]=($X!==null?unconvert_field($m,preg_match(number_type(),$m["type"])&&!preg_match('~\[~',$m["full_type"])&&is_numeric($X)?$X:q(($X===false?0:$X))):"NULL");}$Pg=($Ce?"\n":" ")."(".implode(",\t",$M).")";if(!$Ka)$Ka=$Nd.$Pg;elseif(JUSH=='mssql'?$sb%1000!=0:strlen($Ka)+4+strlen($Pg)+strlen($Ah)<$Ce)$Ka
.=",$Pg";else{echo$Ka.$Ah;$Ka=$Nd.$Pg;}}$sb++;}if($Ka)echo$Ka.$Ah;}elseif($_POST["format"]=="sql")echo"-- ".str_replace("\n"," ",connection()->error)."\n";if($xd)echo"SET IDENTITY_INSERT ".table($R)." OFF;\n";}}function
dumpFilename($wd){return
friendly_url($wd!=""?$wd:(SERVER?:"localhost"));}function
dumpHeaders($wd,$Ue=false){$If=$_POST["output"];$zc=(preg_match('~sql~',$_POST["format"])?"sql":($Ue?"tar":"csv"));header("Content-Type: ".($If=="gz"?"application/x-gzip":($zc=="tar"?"application/x-tar":($zc=="sql"||$If!="file"?"text/plain":"text/csv")."; charset=utf-8")));if($If=="gz"){ob_start(function($xh){return
gzencode($xh);},1e6);}return$zc;}function
dumpFooter(){if($_POST["format"]=="sql")echo"-- ".gmdate("Y-m-d H:i:s e")."\n";}function
importServerPath(){return"adminer.sql";}function
homepage(){echo''.($_GET["ns"]==""&&support("database")?''.lang(59)."\n":""),(support("scheme")?"".($_GET["ns"]!=""?lang(60):lang(61))."\n":""),($_GET["ns"]!==""?''.lang(62)."\n":""),(support("privileges")?"".lang(63)."\n":"");if($_GET["ns"]!=="")echo(support("routine")?"".lang(64)."\n":""),(support("sequence")?"".lang(65)."\n":""),(support("type")?"".lang(6)."\n":""),(support("event")?"".lang(66)."\n":"");return
true;}function
navigation($Re){echo"
\n";switch_lang();if($Re=="auth"){$If="";foreach((array)$_SESSION["pwds"]as$Ji=>$dh){foreach($dh
as$P=>$Ei){$E=h(get_setting("vendor-$Ji-$P")?:get_driver($Ji));foreach($Ei
as$V=>$H){if($H!==null){$Fb=$_SESSION["db"][$Ji][$P][$V];foreach(($Fb?array_keys($Fb):array(""))as$j)$If
.="($E) ".h("$V@".($P!=""?adminer()->serverName($P):"").($j!=""?" - $j":""))."\n";}}}}if($If)echo"\n".script("mixin(qs('#logins'), {onmouseover: menuOver, onmouseout: menuOut});");}else{$T=array();if($_GET["ns"]!==""&&!$Re&&DB!=""){connection()->select_db(DB);$T=table_status('',true);}adminer()->syntaxHighlighting($T);adminer()->databasesPrint($Re);$ha=array();if(DB==""||!$Re){if(support("sql")){$ha[]="".lang(56)."";$ha[]="".lang(67)."";}$ha[]="".lang(68)."";}$Bd=$_GET["ns"]!==""&&!$Re&&DB!="";if($Bd&&function_exists('Adminer\alter_table'))$ha[]='".lang(69)."";echo($ha?"\n".implode("\n",$ha)."\n":"");if($Bd){if($T)adminer()->tablesPrint($T);else
echo"
".lang(11)."
\n";}}}function
syntaxHighlighting(array$T){echo
script_src(preg_replace("~\\?.*~","",ME)."?file=jush.js&version=5.4.2",true);if(support("sql")){echo"\n";}echo
script("syntaxHighlighting('".preg_replace('~^(\d\.?\d).*~s','\1',connection()->server_info)."', '".connection()->flavor."');");}function
databasesPrint($Re){$i=adminer()->databases();if(DB&&$i&&!in_array(DB,$i))array_unshift($i,DB);echo"\n";}function
tablesPrint(array$T){echo"".script("mixin(qs('#tables'), {onmouseover: menuOver, onmouseout: menuOut});");foreach($T
as$R=>$uh){$R="$R";$E=adminer()->tableName($uh);if($E!=""&&!$uh["partition"])echo'- ".lang(71)." ",(support("table")||support("indexes")?'$E":"$E")."\n";}echo"
\n";}function
showVariables(){return
show_variables();}function
showStatus(){return
show_status();}function
processList(){return
process_list();}function
killProcess($u){return
kill_process($u);}}class
Plugins{private
static$append=array('dumpFormat'=>true,'dumpOutput'=>true,'editRowPrint'=>true,'editFunctions'=>true,'config'=>true);var$plugins;var$error='';private$hooks=array();function
__construct($dg){if($dg===null){$dg=array();$Ea="adminer-plugins";if(is_dir($Ea)){foreach(glob("$Ea/*.php")as$o)$this->includeOnce($o);}$od=" href='https://www.adminer.org/plugins/#use'".target_blank();if(file_exists("$Ea.php")){$Cd=$this->includeOnce("$Ea.php");if(is_array($Cd)){foreach($Cd
as$cg)$dg[get_class($cg)]=$cg;}else$this->error
.=lang(72,"$Ea.php",$od)."
";}foreach(get_declared_classes()as$Xa){if(!$dg[$Xa]&&(preg_match('~^Adminer\w~i',$Xa)||is_subclass_of($Xa,'Adminer\Plugin'))){$Cg=new
\ReflectionClass($Xa);$mb=$Cg->getConstructor();if($mb&&$mb->getNumberOfRequiredParameters())$this->error
.=lang(73,$od,"$Xa","$Ea.php")."
";else$dg[$Xa]=new$Xa;}}}$this->plugins=$dg;$ia=new
Adminer;$dg[]=$ia;$Cg=new
\ReflectionObject($ia);foreach($Cg->getMethods()as$Pe){foreach($dg
as$cg){$E=$Pe->getName();if(method_exists($cg,$E))$this->hooks[$E][]=$cg;}}}function
includeOnce($o){return
include_once"./$o";}function
__call($E,array$Mf){$ra=array();foreach($Mf
as$z=>$X)$ra[]=&$Mf[$z];$L=null;foreach($this->hooks[$E]as$cg){$Y=call_user_func_array(array($cg,$E),$ra);if($Y!==null){if(!self::$append[$E])return$Y;$L=$Y+(array)$L;}}return$L;}}abstract
class
Plugin{protected$translations=array();function
description(){return$this->lang('');}function
screenshot(){return"";}protected
function
lang($v,$F=null){$ra=func_get_args();$ra[0]=idx($this->translations[LANG],$v)?:$v;return
call_user_func_array('Adminer\lang_format',$ra);}}Adminer::$instance=(function_exists('adminer_object')?adminer_object():(is_dir("adminer-plugins")||file_exists("adminer-plugins.php")?new
Plugins(null):new
Adminer));SqlDriver::$drivers=array("server"=>"MySQL / MariaDB")+SqlDriver::$drivers;if(!defined('Adminer\DRIVER')){define('Adminer\DRIVER',"server");if(extension_loaded("mysqli")&&$_GET["ext"]!="pdo"){class
Db
extends
\MySQLi{static$instance;var$extension="MySQLi",$flavor='';function
__construct(){parent::init();}function
attach($P,$V,$H){mysqli_report(MYSQLI_REPORT_OFF);list($sd,$eg)=host_port($P);$sh=adminer()->connectSsl();if($sh)$this->ssl_set($sh['key'],$sh['cert'],$sh['ca'],'','');$L=@$this->real_connect(($P!=""?$sd:ini_get("mysqli.default_host")),($P.$V!=""?$V:ini_get("mysqli.default_user")),($P.$V.$H!=""?$H:ini_get("mysqli.default_pw")),null,(is_numeric($eg)?intval($eg):ini_get("mysqli.default_port")),(is_numeric($eg)?null:$eg),($sh?($sh['verify']!==false?2048:64):0));$this->options(MYSQLI_OPT_LOCAL_INFILE,0);return($L?'':$this->error);}function
set_charset($Qa){if(parent::set_charset($Qa))return
true;parent::set_charset('utf8');return$this->query("SET NAMES $Qa");}function
next_result(){return
self::more_results()&&parent::next_result();}function
quote($xh){return"'".$this->escape_string($xh)."'";}}}elseif(extension_loaded("mysql")&&!((ini_bool("sql.safe_mode")||ini_bool("mysql.allow_local_infile"))&&extension_loaded("pdo_mysql"))){class
Db
extends
SqlDb{private$link;function
attach($P,$V,$H){if(ini_bool("mysql.allow_local_infile"))return
lang(74,"'mysql.allow_local_infile'","MySQLi","PDO_MySQL");$this->link=@mysql_connect(($P!=""?$P:ini_get("mysql.default_host")),($P.$V!=""?$V:ini_get("mysql.default_user")),($P.$V.$H!=""?$H:ini_get("mysql.default_password")),true,131072);if(!$this->link)return
mysql_error();$this->server_info=mysql_get_server_info($this->link);return'';}function
set_charset($Qa){if(function_exists('mysql_set_charset')){if(mysql_set_charset($Qa,$this->link))return
true;mysql_set_charset('utf8',$this->link);}return$this->query("SET NAMES $Qa");}function
quote($xh){return"'".mysql_real_escape_string($xh,$this->link)."'";}function
select_db($Cb){return
mysql_select_db($Cb,$this->link);}function
query($J,$pi=false){$K=@($pi?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
Result($K);}}class
Result{var$num_rows;private$result;private$offset=0;function
__construct($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->charsetnr=($L->blob?63:0);return$L;}function
__destruct(){mysql_free_result($this->result);}}}elseif(extension_loaded("pdo_mysql")){class
Db
extends
PdoDb{var$extension="PDO_MySQL";function
attach($P,$V,$H){$vf=array(\PDO::MYSQL_ATTR_LOCAL_INFILE=>false);$sh=adminer()->connectSsl();if($sh){if($sh['key'])$vf[\PDO::MYSQL_ATTR_SSL_KEY]=$sh['key'];if($sh['cert'])$vf[\PDO::MYSQL_ATTR_SSL_CERT]=$sh['cert'];if($sh['ca'])$vf[\PDO::MYSQL_ATTR_SSL_CA]=$sh['ca'];if(isset($sh['verify']))$vf[\PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT]=$sh['verify'];}list($sd,$eg)=host_port($P);return$this->dsn("mysql:charset=utf8;host=$sd".($eg?(is_numeric($eg)?";port=":";unix_socket=").$eg:""),$V,$H,$vf);}function
set_charset($Qa){return$this->query("SET NAMES $Qa");}function
select_db($Cb){return$this->query("USE ".idf_escape($Cb));}function
query($J,$pi=false){$this->pdo->setAttribute(\PDO::MYSQL_ATTR_USE_BUFFERED_QUERY,!$pi);return
parent::query($J,$pi);}}}class
Driver
extends
SqlDriver{static$extensions=array("MySQLi","MySQL","PDO_MySQL");static$jush="sql";var$unsigned=array("unsigned","zerofill","unsigned zerofill");var$operators=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","REGEXP","IN","FIND_IN_SET","IS NULL","NOT LIKE","NOT REGEXP","NOT IN","IS NOT NULL","SQL");var$functions=array("char_length","date","from_unixtime","lower","round","floor","ceil","sec_to_time","time_to_sec","upper");var$grouping=array("avg","count","count distinct","group_concat","max","min","sum");static
function
connect($P,$V,$H){$f=parent::connect($P,$V,$H);if(is_string($f)){if(function_exists('iconv')&&!is_utf8($f)&&strlen($Pg=iconv("windows-1250","utf-8",$f))>strlen($f))$f=$Pg;return$f;}$f->set_charset(charset($f));$f->query("SET sql_quote_show_create = 1, autocommit = 1");$f->flavor=(preg_match('~MariaDB~',$f->server_info)?'maria':'mysql');add_driver(DRIVER,($f->flavor=='maria'?"MariaDB":"MySQL"));return$f;}function
__construct(Db$f){parent::__construct($f);$this->types=array(lang(75)=>array("tinyint"=>3,"smallint"=>5,"mediumint"=>8,"int"=>10,"bigint"=>20,"decimal"=>66,"float"=>12,"double"=>21),lang(76)=>array("date"=>10,"datetime"=>19,"timestamp"=>19,"time"=>10,"year"=>4),lang(77)=>array("char"=>255,"varchar"=>65535,"tinytext"=>255,"text"=>65535,"mediumtext"=>16777215,"longtext"=>4294967295),lang(78)=>array("enum"=>65535,"set"=>64),lang(79)=>array("bit"=>20,"binary"=>255,"varbinary"=>65535,"tinyblob"=>255,"blob"=>65535,"mediumblob"=>16777215,"longblob"=>4294967295),lang(80)=>array("geometry"=>0,"point"=>0,"linestring"=>0,"polygon"=>0,"multipoint"=>0,"multilinestring"=>0,"multipolygon"=>0,"geometrycollection"=>0),);$this->insertFunctions=array("char"=>"md5/sha1/password/encrypt/uuid","binary"=>"md5/sha1","date|time"=>"now",);$this->editFunctions=array(number_type()=>"+/-","date"=>"+ interval/- interval","time"=>"addtime/subtime","char|text"=>"concat",);if(min_version('5.7.8',10.2,$f))$this->types[lang(77)]["json"]=4294967295;if(min_version('',10.7,$f)){$this->types[lang(77)]["uuid"]=128;$this->insertFunctions['uuid']='uuid';}if(min_version(9,'',$f)){$this->types[lang(75)]["vector"]=16383;$this->insertFunctions['vector']='string_to_vector';}if(min_version(5.1,'',$f))$this->partitionBy=array("HASH","LINEAR HASH","KEY","LINEAR KEY","RANGE","LIST");if(min_version(5.7,10.2,$f))$this->generated=array("STORED","VIRTUAL");}function
unconvertFunction(array$m){return(preg_match("~binary~",$m["type"])?"UNHEX":($m["type"]=="bit"?doc_link(array('sql'=>'bit-value-literals.html'),"b''"):(preg_match("~geometry|point|linestring|polygon~",$m["type"])?"GeomFromText":"")));}function
insert($R,array$Q){return($Q?parent::insert($R,$Q):queries("INSERT INTO ".table($R)." ()\nVALUES ()"));}function
insertUpdate($R,array$N,array$mg){$d=array_keys(reset($N));$kg="INSERT INTO ".table($R)." (".implode(", ",$d).") VALUES\n";$Hi=array();foreach($d
as$z)$Hi[$z]="$z = VALUES($z)";$Ah="\nON DUPLICATE KEY UPDATE ".implode(", ",$Hi);$Hi=array();$pe=0;foreach($N
as$Q){$Y="(".implode(", ",$Q).")";if($Hi&&(strlen($kg)+$pe+strlen($Y)+strlen($Ah)>1e6)){if(!queries($kg.implode(",\n",$Hi).$Ah))return
false;$Hi=array();$pe=0;}$Hi[]=$Y;$pe+=strlen($Y)+2;}return
queries($kg.implode(",\n",$Hi).$Ah);}function
slowQuery($J,$Uh){if(min_version('5.7.8','10.1.2')){if($this->conn->flavor=='maria')return"SET STATEMENT max_statement_time=$Uh FOR $J";elseif(preg_match('~^(SELECT\b)(.+)~is',$J,$C))return"$C[1] /*+ MAX_EXECUTION_TIME(".($Uh*1000).") */ $C[2]";}}function
convertSearch($v,array$X,array$m){return(preg_match('~char|text|enum|set~',$m["type"])&&!preg_match("~^utf8~",$m["collation"])&&preg_match('~[\x80-\xFF]~',$X['val'])?"CONVERT($v USING ".charset($this->conn).")":$v);}function
warnings(){$K=$this->conn->query("SHOW WARNINGS");if($K&&$K->num_rows){ob_start();print_select_result($K);return
ob_get_clean();}}function
tableHelp($E,$Yd=false){$we=($this->conn->flavor=='maria');if(information_schema(DB))return
strtolower("information-schema-".($we?"$E-table/":str_replace("_","-",$E)."-table.html"));if(DB=="mysql")return($we?"mysql$E-table/":"system-schema.html");}function
partitionsInfo($R){$Wc="FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA = ".q(DB)." AND TABLE_NAME = ".q($R);$K=$this->conn->query("SELECT PARTITION_METHOD, PARTITION_EXPRESSION, PARTITION_ORDINAL_POSITION $Wc ORDER BY PARTITION_ORDINAL_POSITION DESC LIMIT 1");$L=array();list($L["partition_by"],$L["partition"],$L["partitions"])=$K->fetch_row();$Uf=get_key_vals("SELECT PARTITION_NAME, PARTITION_DESCRIPTION $Wc AND PARTITION_NAME != '' ORDER BY PARTITION_ORDINAL_POSITION");$L["partition_names"]=array_keys($Uf);$L["partition_values"]=array_values($Uf);return$L;}function
hasCStyleEscapes(){static$La;if($La===null){$rh=get_val("SHOW VARIABLES LIKE 'sql_mode'",1,$this->conn);$La=(strpos($rh,'NO_BACKSLASH_ESCAPES')===false);}return$La;}function
engines(){$L=array();foreach(get_rows("SHOW ENGINES")as$M){if(preg_match("~YES|DEFAULT~",$M["Support"]))$L[]=$M["Engine"];}return$L;}function
indexAlgorithms(array$Eh){return(preg_match('~^(MEMORY|NDB)$~',$Eh["Engine"])?array("HASH","BTREE"):array());}}function
idf_escape($v){return"`".str_replace("`","``",$v)."`";}function
table($v){return
idf_escape($v);}function
get_databases($Oc){$L=get_session("dbs");if($L===null){$J="SELECT SCHEMA_NAME FROM information_schema.SCHEMATA ORDER BY SCHEMA_NAME";$L=($Oc?slow_query($J):get_vals($J));restart_session();set_session("dbs",$L);stop_session();}return$L;}function
limit($J,$Z,$_,$if=0,$bh=" "){return" $J$Z".($_?$bh."LIMIT $_".($if?" OFFSET $if":""):"");}function
limit1($R,$J,$Z,$bh="\n"){return
limit($J,$Z,1,0,$bh);}function
db_collation($j,array$b){$L=null;$h=get_val("SHOW CREATE DATABASE ".idf_escape($j),1);if(preg_match('~ COLLATE ([^ ]+)~',$h,$C))$L=$C[1];elseif(preg_match('~ CHARACTER SET ([^ ]+)~',$h,$C))$L=$b[$C[1]][-1];return$L;}function
logged_user(){return
get_val("SELECT USER()");}function
tables_list(){return
get_key_vals("SELECT TABLE_NAME, TABLE_TYPE FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() ORDER BY TABLE_NAME");}function
count_tables(array$i){$L=array();foreach($i
as$j)$L[$j]=count(get_vals("SHOW TABLES IN ".idf_escape($j)));return$L;}function
table_status($E="",$Ec=false){$L=array();foreach(get_rows($Ec?"SELECT TABLE_NAME AS Name, ENGINE AS Engine, TABLE_COMMENT AS Comment FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() ".($E!=""?"AND TABLE_NAME = ".q($E):"ORDER BY Name"):"SHOW TABLE STATUS".($E!=""?" LIKE ".q(addcslashes($E,"%_\\")):""))as$M){if($M["Engine"]=="InnoDB")$M["Comment"]=preg_replace('~(?:(.+); )?InnoDB free: .*~','\1',$M["Comment"]);if(!isset($M["Engine"]))$M["Comment"]="";if($E!="")$M["Name"]=$E;$L[$M["Name"]]=$M;}return$L;}function
is_view(array$S){return$S["Engine"]===null;}function
fk_support(array$S){return
preg_match('~InnoDB|IBMDB2I'.(min_version(5.6)?'|NDB':'').'~i',$S["Engine"]);}function
fields($R){$we=(connection()->flavor=='maria');$L=array();foreach(get_rows("SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = ".q($R)." ORDER BY ORDINAL_POSITION")as$M){$m=$M["COLUMN_NAME"];$U=$M["COLUMN_TYPE"];$ad=$M["GENERATION_EXPRESSION"];$Bc=$M["EXTRA"];preg_match('~^(VIRTUAL|PERSISTENT|STORED)~',$Bc,$Zc);preg_match('~^([^( ]+)(?:\((.+)\))?( unsigned)?( zerofill)?$~',$U,$ye);$k=$M["COLUMN_DEFAULT"];if($k!=""){$Xd=preg_match('~text|json~',$ye[1]);if(!$we&&$Xd)$k=preg_replace("~^(_\w+)?('.*')$~",'\2',stripslashes($k));if($we||$Xd){$k=($k=="NULL"?null:preg_replace_callback("~^'(.*)'$~",function($C){return
stripslashes(str_replace("''","'",$C[1]));},$k));}if(!$we&&preg_match('~binary~',$ye[1])&&preg_match('~^0x(\w*)$~',$k,$C))$k=pack("H*",$C[1]);}$L[$m]=array("field"=>$m,"full_type"=>$U,"type"=>$ye[1],"length"=>$ye[2],"unsigned"=>ltrim($ye[3].$ye[4]),"default"=>($Zc?($we?$ad:stripslashes($ad)):$k),"null"=>($M["IS_NULLABLE"]=="YES"),"auto_increment"=>($Bc=="auto_increment"),"on_update"=>(preg_match('~\bon update (\w+)~i',$Bc,$C)?$C[1]:""),"collation"=>$M["COLLATION_NAME"],"privileges"=>array_flip(explode(",","$M[PRIVILEGES],where,order")),"comment"=>$M["COLUMN_COMMENT"],"primary"=>($M["COLUMN_KEY"]=="PRI"),"generated"=>($Zc[1]=="PERSISTENT"?"STORED":$Zc[1]),);}return$L;}function
indexes($R,$g=null){$L=array();foreach(get_rows("SHOW INDEX FROM ".table($R),$g)as$M){$E=$M["Key_name"];$L[$E]["type"]=($E=="PRIMARY"?"PRIMARY":($M["Index_type"]=="FULLTEXT"?"FULLTEXT":($M["Non_unique"]?($M["Index_type"]=="SPATIAL"?"SPATIAL":"INDEX"):"UNIQUE")));$L[$E]["columns"][]=$M["Column_name"];$L[$E]["lengths"][]=($M["Index_type"]=="SPATIAL"?null:$M["Sub_part"]);$L[$E]["descs"][]=null;$L[$E]["algorithm"]=$M["Index_type"];}return$L;}function
foreign_keys($R){static$Yf='(?:`(?:[^`]|``)+`|"(?:[^"]|"")+")';$L=array();$tb=get_val("SHOW CREATE TABLE ".table($R),1);if($tb){preg_match_all("~CONSTRAINT ($Yf) FOREIGN KEY ?\\(((?:$Yf,? ?)+)\\) REFERENCES ($Yf)(?:\\.($Yf))? \\(((?:$Yf,? ?)+)\\)(?: ON DELETE (".driver()->onActions."))?(?: ON UPDATE (".driver()->onActions."))?~",$tb,$ze,PREG_SET_ORDER);foreach($ze
as$C){preg_match_all("~$Yf~",$C[2],$mh);preg_match_all("~$Yf~",$C[5],$Nh);$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('Adminer\idf_unescape',$mh[0]),"target"=>array_map('Adminer\idf_unescape',$Nh[0]),"on_delete"=>($C[6]?:"RESTRICT"),"on_update"=>($C[7]?:"RESTRICT"),);}}return$L;}function
view($E){return
array("select"=>preg_replace('~^(?:[^`]|`[^`]*`)*\s+AS\s+~isU','',get_val("SHOW CREATE VIEW ".table($E),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)sort($L[$z]);return$L;}function
information_schema($j){return($j=="information_schema")||(min_version(5.5)&&$j=="performance_schema");}function
error(){return
h(preg_replace('~^You have an error.*syntax to use~U',"Syntax error",connection()->error));}function
create_database($j,$cb){return
queries("CREATE DATABASE ".idf_escape($j).($cb?" COLLATE ".q($cb):""));}function
drop_databases(array$i){$L=apply_queries("DROP DATABASE",$i,'Adminer\idf_escape');restart_session();set_session("dbs",null);return$L;}function
rename_database($E,$cb){$L=false;if(create_database($E,$cb)){$T=array();$Mi=array();foreach(tables_list()as$R=>$U){if($U=='VIEW')$Mi[]=$R;else$T[]=$R;}$L=(!$T&&!$Mi)||move_tables($T,$Mi,$E);drop_databases($L?array(DB):array());}return$L;}function
auto_increment(){$ya=" PRIMARY KEY";if($_GET["create"]!=""&&$_POST["auto_increment_col"]){foreach(indexes($_GET["create"])as$w){if(in_array($_POST["fields"][$_POST["auto_increment_col"]]["orig"],$w["columns"],true)){$ya="";break;}if($w["type"]=="PRIMARY")$ya=" UNIQUE";}}return" AUTO_INCREMENT$ya";}function
alter_table($R,$E,array$n,array$Qc,$gb,$jc,$cb,$xa,$Tf){$pa=array();foreach($n
as$m){if($m[1]){$k=$m[1][3];if(preg_match('~ GENERATED~',$k)){$m[1][3]=(connection()->flavor=='maria'?"":$m[1][2]);$m[1][2]=$k;}$pa[]=($R!=""?($m[0]!=""?"CHANGE ".idf_escape($m[0]):"ADD"):" ")." ".implode($m[1]).($R!=""?$m[2]:"");}else$pa[]="DROP ".idf_escape($m[0]);}$pa=array_merge($pa,$Qc);$uh=($gb!==null?" COMMENT=".q($gb):"").($jc?" ENGINE=".q($jc):"").($cb?" COLLATE ".q($cb):"").($xa!=""?" AUTO_INCREMENT=$xa":"");if($Tf){$Uf=array();if($Tf["partition_by"]=='RANGE'||$Tf["partition_by"]=='LIST'){foreach($Tf["partition_names"]as$z=>$X){$Y=$Tf["partition_values"][$z];$Uf[]="\n PARTITION ".idf_escape($X)." VALUES ".($Tf["partition_by"]=='RANGE'?"LESS THAN":"IN").($Y!=""?" ($Y)":" MAXVALUE");}}$uh
.="\nPARTITION BY $Tf[partition_by]($Tf[partition])";if($Uf)$uh
.=" (".implode(",",$Uf)."\n)";elseif($Tf["partitions"])$uh
.=" PARTITIONS ".(+$Tf["partitions"]);}elseif($Tf===null)$uh
.="\nREMOVE PARTITIONING";if($R=="")return
queries("CREATE TABLE ".table($E)." (\n".implode(",\n",$pa)."\n)$uh");if($R!=$E)$pa[]="RENAME TO ".table($E);if($uh)$pa[]=ltrim($uh);return($pa?queries("ALTER TABLE ".table($R)."\n".implode(",\n",$pa)):true);}function
alter_indexes($R,$pa){$Pa=array();foreach($pa
as$X)$Pa[]=($X[2]=="DROP"?"\nDROP INDEX ".idf_escape($X[1]):"\nADD $X[0] ".($X[0]=="PRIMARY"?"KEY ":"").($X[1]!=""?idf_escape($X[1])." ":"")."(".implode(", ",$X[2]).")");return
queries("ALTER TABLE ".table($R).implode(",",$Pa));}function
truncate_tables(array$T){return
apply_queries("TRUNCATE TABLE",$T);}function
drop_views(array$Mi){return
queries("DROP VIEW ".implode(", ",array_map('Adminer\table',$Mi)));}function
drop_tables(array$T){return
queries("DROP TABLE ".implode(", ",array_map('Adminer\table',$T)));}function
move_tables(array$T,array$Mi,$Nh){$Fg=array();foreach($T
as$R)$Fg[]=table($R)." TO ".idf_escape($Nh).".".table($R);if(!$Fg||queries("RENAME TABLE ".implode(", ",$Fg))){$Lb=array();foreach($Mi
as$R)$Lb[table($R)]=view($R);connection()->select_db($Nh);$j=idf_escape(DB);foreach($Lb
as$E=>$Li){if(!queries("CREATE VIEW $E AS ".str_replace(" $j."," ",$Li["select"]))||!queries("DROP VIEW $j.$E"))return
false;}return
true;}return
false;}function
copy_tables(array$T,array$Mi,$Nh){queries("SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO'");foreach($T
as$R){$E=($Nh==DB?table("copy_$R"):idf_escape($Nh).".".table($R));if(($_POST["overwrite"]&&!queries("\nDROP TABLE IF EXISTS $E"))||!queries("CREATE TABLE $E LIKE ".table($R))||!queries("INSERT INTO $E SELECT * FROM ".table($R)))return
false;foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($R,"%_\\")))as$M){$ji=$M["Trigger"];if(!queries("CREATE TRIGGER ".($Nh==DB?idf_escape("copy_$ji"):idf_escape($Nh).".".idf_escape($ji))." $M[Timing] $M[Event] ON $E FOR EACH ROW\n$M[Statement];"))return
false;}}foreach($Mi
as$R){$E=($Nh==DB?table("copy_$R"):idf_escape($Nh).".".table($R));$Li=view($R);if(($_POST["overwrite"]&&!queries("DROP VIEW IF EXISTS $E"))||!queries("CREATE VIEW $E AS $Li[select]"))return
false;}return
true;}function
trigger($E,$R){if($E=="")return
array();$N=get_rows("SHOW TRIGGERS WHERE `Trigger` = ".q($E));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"),"Event"=>array("INSERT","UPDATE","DELETE"),"Type"=>array("FOR EACH ROW"),);}function
routine($E,$U){$n=get_rows("SELECT
PARAMETER_NAME field,
DATA_TYPE type,
CHARACTER_MAXIMUM_LENGTH length,
REGEXP_REPLACE(DTD_IDENTIFIER, '^[^ ]+ ', '') `unsigned`,
1 `null`,
DTD_IDENTIFIER full_type,
PARAMETER_MODE `inout`,
CHARACTER_SET_NAME collation
FROM information_schema.PARAMETERS
WHERE SPECIFIC_SCHEMA = DATABASE() AND ROUTINE_TYPE = '$U' AND SPECIFIC_NAME = ".q($E)."
ORDER BY ORDINAL_POSITION");$L=connection()->query("SELECT ROUTINE_COMMENT comment, ROUTINE_DEFINITION definition, 'SQL' language
FROM information_schema.ROUTINES
WHERE ROUTINE_SCHEMA = DATABASE() AND ROUTINE_TYPE = '$U' AND ROUTINE_NAME = ".q($E))->fetch_assoc();if($n&&$n[0]['field']=='')$L['returns']=array_shift($n);$L['fields']=$n;return$L;}function
routines(){return
get_rows("SELECT SPECIFIC_NAME, ROUTINE_NAME, ROUTINE_TYPE, DTD_IDENTIFIER FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA = DATABASE()");}function
routine_languages(){return
array();}function
routine_id($E,array$M){return
idf_escape($E);}function
last_id($K){return
get_val("SELECT LAST_INSERT_ID()");}function
explain(Db$f,$J){return$f->query("EXPLAIN ".(min_version(5.1)&&!min_version(5.7)?"PARTITIONS ":"").$J);}function
found_rows(array$S,array$Z){return($Z||$S["Engine"]!="InnoDB"?null:$S["Rows"]);}function
create_sql($R,$xa,$zh){$L=get_val("SHOW CREATE TABLE ".table($R),1);if(!$xa)$L=preg_replace('~ AUTO_INCREMENT=\d+~','',$L);return$L;}function
truncate_sql($R){return"TRUNCATE ".table($R);}function
use_sql($Cb,$zh=""){$E=idf_escape($Cb);$L="";if(preg_match('~CREATE~',$zh)&&($h=get_val("SHOW CREATE DATABASE $E",1))){set_utf8mb4($h);if($zh=="DROP+CREATE")$L="DROP DATABASE IF EXISTS $E;\n";$L
.="$h;\n";}return$L."USE $E";}function
trigger_sql($R){$L="";foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($R,"%_\\")),null,"-- ")as$M)$L
.="\nCREATE 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_rows("SHOW VARIABLES");}function
show_status(){return
get_rows("SHOW STATUS");}function
process_list(){return
get_rows("SHOW FULL PROCESSLIST");}function
convert_field(array$m){if(preg_match("~binary~",$m["type"]))return"HEX(".idf_escape($m["field"]).")";if($m["type"]=="bit")return"BIN(".idf_escape($m["field"])." + 0)";if(preg_match("~geometry|point|linestring|polygon~",$m["type"]))return(min_version(8)?"ST_":"")."AsWKT(".idf_escape($m["field"]).")";}function
unconvert_field(array$m,$L){if(preg_match("~binary~",$m["type"]))$L="UNHEX($L)";if($m["type"]=="bit")$L="CONVERT(b$L, UNSIGNED)";if(preg_match("~geometry|point|linestring|polygon~",$m["type"])){$kg=(min_version(8)?"ST_":"");$L=$kg."GeomFromText($L, $kg"."SRID($m[field]))";}return$L;}function
support($Fc){return
preg_match('~^(comment|columns|copy|database|drop_col|dump|indexes|kill|privileges|move_col|procedure|processlist|routine|sql|status|table|trigger|variables|view'.(min_version(5.1)?'|event':'').(min_version(8)?'|descidx':'').(min_version('8.0.16','10.2.1')?'|check':'').')$~',$Fc);}function
kill_process($u){return
queries("KILL ".number($u));}function
connection_id(){return"SELECT CONNECTION_ID()";}function
max_connections(){return
get_val("SELECT @@max_connections");}function
types(){return
array();}function
type_values($u){return"";}function
schemas(){return
array();}function
get_schema(){return"";}function
set_schema($Rg,$g=null){return
true;}}define('Adminer\JUSH',Driver::$jush);define('Adminer\SERVER',"".$_GET[DRIVER]);define('Adminer\DB',"$_GET[db]");define('Adminer\ME',preg_replace('~\?.*~','',relative_uri()).'?'.(sid()?SID.'&':'').(SERVER!==null?DRIVER."=".urlencode(SERVER).'&':'').($_GET["ext"]?"ext=".urlencode($_GET["ext"]).'&':'').(isset($_GET["username"])?"username=".urlencode($_GET["username"]).'&':'').(DB!=""?'db='.urlencode(DB).'&'.(isset($_GET["ns"])?"ns=".urlencode($_GET["ns"])."&":""):''));function
page_header($Wh,$l="",$Ja=array(),$Xh=""){page_headers();if(is_ajax()&&$l){page_messages($l);exit;}if(!ob_get_level())ob_start('ob_gzhandler',4096);$Yh=$Wh.($Xh!=""?": $Xh":"");$Zh=strip_tags($Yh.(SERVER!=""&&SERVER!="localhost"?h(" - ".SERVER):"")." - ".adminer()->name());echo'
',$Zh,'
';$xb=adminer()->css();if(is_int(key($xb)))$xb=array_fill_keys($xb,'light');$ld=in_array('light',$xb)||in_array('',$xb);$jd=in_array('dark',$xb)||in_array('',$xb);$_b=($ld?($jd?null:false):($jd?:null));$Ie=" media='(prefers-color-scheme: dark)'";if($_b!==false)echo"\n";echo"\n",script_src(preg_replace("~\\?.*~","",ME)."?file=functions.js&version=5.4.2");if(adminer()->head($_b))echo"\n","\n";foreach($xb
as$_i=>$Se){$va=($Se=='dark'&&!$_b?$Ie:($Se=='light'&&$jd?" media='(prefers-color-scheme: light)'":""));echo"\n";}echo"\n\n";$o=get_temp_dir()."/adminer.version";echo
script("mixin(document.body, {onkeydown: bodyKeydown, onclick: bodyClick".(isset($_COOKIE["adminer_version"])?"":", onload: partial(verifyVersion, '".VERSION."')")."});
document.body.classList.replace('nojs', 'js');
const offlineMessage = '".js_escape(lang(82))."';
const thousandsSeparator = '".js_escape(lang(4))."';"),"\n",script("mixin(qs('#help'), {onmouseover: () => { helpOpen = 1; }, onmouseout: helpMouseout});"),"\n","".script("qs('#menuopen').onclick = event => { qs('#foot').classList.toggle('foot'); event.stopPropagation(); }");if($Ja!==null){$A=substr(preg_replace('~\b(username|db|ns)=[^&]*&~','',ME),0,-1);echo'
'.get_driver(DRIVER).' » ';$A=substr(preg_replace('~\b(db|ns)=[^&]*&~','',ME),0,-1);$P=adminer()->serverName(SERVER);$P=($P!=""?$P:lang(25));if($Ja===false)echo"$P\n";else{echo"$P » ";if($_GET["ns"]!=""||(DB!=""&&is_array($Ja)))echo''.h(DB).' » ';if(is_array($Ja)){if($_GET["ns"]!="")echo''.h($_GET["ns"]).' » ';foreach($Ja
as$z=>$X){$Nb=(is_array($X)?$X[1]:h($X));if($Nb!="")echo"$Nb » ";}}echo"$Wh\n";}}echo"
$Yh
\n","
\n";restart_session();page_messages($l);$i=&get_session("dbs");if(DB!=""&&$i&&!in_array(DB,$i,true))$i=null;stop_session();define('Adminer\PAGE_HEADER',1);}function
page_headers(){header("Content-Type: text/html; charset=utf-8");header("Cache-Control: no-cache");header("X-Frame-Options: deny");header("X-XSS-Protection: 0");header("X-Content-Type-Options: nosniff");header("Referrer-Policy: origin-when-cross-origin");foreach(adminer()->csp(csp())as$wb){$md=array();foreach($wb
as$z=>$X)$md[]="$z $X";header("Content-Security-Policy: ".implode("; ",$md));}adminer()->headers();}function
csp(){return
array(array("script-src"=>"'self' 'unsafe-inline' 'nonce-".get_nonce()."' 'strict-dynamic'","connect-src"=>"'self' https://www.adminer.org","frame-src"=>"'none'","object-src"=>"'none'","base-uri"=>"'none'","form-action"=>"'self'",),);}function
get_nonce(){static$ef;if(!$ef)$ef=base64_encode(rand_string());return$ef;}function
page_messages($l){$zi=preg_replace('~^[^?]*~','',$_SERVER["REQUEST_URI"]);$Oe=idx($_SESSION["messages"],$zi);if($Oe){echo"
".implode("
\n
",$Oe)."
".script("messagesPrint();");unset($_SESSION["messages"][$zi]);}if($l)echo"
$l
\n";if(adminer()->error)echo"
".adminer()->error."
\n";}function
page_footer($Re=""){echo"
\n\n\n\n",script("setupSubmitHighlight(document);");}function
int32($We){while($We>=2147483648)$We-=4294967296;while($We<=-2147483649)$We+=4294967296;return(int)$We;}function
long2str(array$W,$Oi){$Pg='';foreach($W
as$X)$Pg
.=pack('V',$X);if($Oi)return
substr($Pg,0,end($W));return$Pg;}function
str2long($Pg,$Oi){$W=array_values(unpack('V*',str_pad($Pg,4*ceil(strlen($Pg)/4),"\0")));if($Oi)$W[]=strlen($Pg);return$W;}function
xxtea_mx($Vi,$Ui,$Bh,$be){return
int32((($Vi>>5&0x7FFFFFF)^$Ui<<2)+(($Ui>>3&0x1FFFFFFF)^$Vi<<4))^int32(($Bh^$Ui)+($be^$Vi));}function
encrypt_string($wh,$z){if($wh=="")return"";$z=array_values(unpack("V*",pack("H*",md5($z))));$W=str2long($wh,true);$We=count($W)-1;$Vi=$W[$We];$Ui=$W[0];$I=floor(6+52/($We+1));$Bh=0;while($I-->0){$Bh=int32($Bh+0x9E3779B9);$ac=$Bh>>2&3;for($Jf=0;$Jf<$We;$Jf++){$Ui=$W[$Jf+1];$Ve=xxtea_mx($Vi,$Ui,$Bh,$z[$Jf&3^$ac]);$Vi=int32($W[$Jf]+$Ve);$W[$Jf]=$Vi;}$Ui=$W[0];$Ve=xxtea_mx($Vi,$Ui,$Bh,$z[$Jf&3^$ac]);$Vi=int32($W[$We]+$Ve);$W[$We]=$Vi;}return
long2str($W,false);}function
decrypt_string($wh,$z){if($wh=="")return"";if(!$z)return
false;$z=array_values(unpack("V*",pack("H*",md5($z))));$W=str2long($wh,false);$We=count($W)-1;$Vi=$W[$We];$Ui=$W[0];$I=floor(6+52/($We+1));$Bh=int32($I*0x9E3779B9);while($Bh){$ac=$Bh>>2&3;for($Jf=$We;$Jf>0;$Jf--){$Vi=$W[$Jf-1];$Ve=xxtea_mx($Vi,$Ui,$Bh,$z[$Jf&3^$ac]);$Ui=int32($W[$Jf]-$Ve);$W[$Jf]=$Ui;}$Vi=$W[$We];$Ve=xxtea_mx($Vi,$Ui,$Bh,$z[$Jf&3^$ac]);$Ui=int32($W[0]-$Ve);$W[0]=$Ui;$Bh=int32($Bh-0x9E3779B9);}return
long2str($W,true);}$ag=array();if($_COOKIE["adminer_permanent"]){foreach(explode(" ",$_COOKIE["adminer_permanent"])as$X){list($z)=explode(":",$X);$ag[$z]=$X;}}function
add_invalid_login(){$Ca=get_temp_dir()."/adminer.invalid";foreach(glob("$Ca*")?:array($Ca)as$o){$q=file_open_lock($o);if($q)break;}if(!$q)$q=file_open_lock("$Ca-".rand_string());if(!$q)return;$Sd=unserialize(stream_get_contents($q));$Th=time();if($Sd){foreach($Sd
as$Td=>$X){if($X[0]<$Th)unset($Sd[$Td]);}}$Rd=&$Sd[adminer()->bruteForceKey()];if(!$Rd)$Rd=array($Th+30*60,0);$Rd[1]++;file_write_unlock($q,serialize($Sd));}function
check_invalid_login(array&$ag){$Sd=array();foreach(glob(get_temp_dir()."/adminer.invalid*")as$o){$q=file_open_lock($o);if($q){$Sd=unserialize(stream_get_contents($q));file_unlock($q);break;}}$Rd=idx($Sd,adminer()->bruteForceKey(),array());$df=($Rd[1]>29?$Rd[0]-time():0);if($df>0)auth_error(lang(84,ceil($df/60)),$ag);}$wa=$_POST["auth"];if($wa){session_regenerate_id();$Ji=$wa["driver"];$P=$wa["server"];$V=$wa["username"];$H=(string)$wa["password"];$j=$wa["db"];set_password($Ji,$P,$V,$H);$_SESSION["db"][$Ji][$P][$V][$j]=true;if($wa["permanent"]){$z=implode("-",array_map('base64_encode',array($Ji,$P,$V,$j)));$og=adminer()->permanentLogin(true);$ag[$z]="$z:".base64_encode($og?encrypt_string($H,$og):"");cookie("adminer_permanent",implode(" ",$ag));}if(count($_POST)==1||DRIVER!=$Ji||SERVER!=$P||$_GET["username"]!==$V||DB!=$j)redirect(auth_url($Ji,$P,$V,$j));}elseif($_POST["logout"]&&(!$_SESSION["token"]||verify_token())){foreach(array("pwds","db","dbs","queries")as$z)set_session($z,null);unset_permanent($ag);redirect(substr(preg_replace('~\b(username|db|ns)=[^&]*&~','',ME),0,-1),lang(85).' '.lang(86));}elseif($ag&&!$_SESSION["pwds"]){session_regenerate_id();$og=adminer()->permanentLogin();foreach($ag
as$z=>$X){list(,$Wa)=explode(":",$X);list($Ji,$P,$V,$j)=array_map('base64_decode',explode("-",$z));set_password($Ji,$P,$V,decrypt_string(base64_decode($Wa),$og));$_SESSION["db"][$Ji][$P][$V][$j]=true;}}function
unset_permanent(array&$ag){foreach($ag
as$z=>$X){list($Ji,$P,$V,$j)=array_map('base64_decode',explode("-",$z));if($Ji==DRIVER&&$P==SERVER&&$V==$_GET["username"]&&$j==DB)unset($ag[$z]);}cookie("adminer_permanent",implode(" ",$ag));}function
auth_error($l,array&$ag){$eh=session_name();if(isset($_GET["username"])){header("HTTP/1.1 403 Forbidden");if(($_COOKIE[$eh]||$_GET[$eh])&&!$_SESSION["token"])$l=lang(87);else{restart_session();add_invalid_login();$H=get_password();if($H!==null){if($H===false)$l
.=($l?'
':'').lang(88,target_blank(),'permanentLogin()');set_password(DRIVER,SERVER,$_GET["username"],null);}unset_permanent($ag);}}if(!$_COOKIE[$eh]&&$_GET[$eh]&&ini_bool("session.use_only_cookies"))$l=lang(89);$Mf=session_get_cookie_params();cookie("adminer_key",($_COOKIE["adminer_key"]?:rand_string()),$Mf["lifetime"]);if(!$_SESSION["token"])$_SESSION["token"]=rand(1,1e6);page_header(lang(30),$l,null);echo"\n";page_footer("auth");exit;}if(isset($_GET["username"])&&!class_exists('Adminer\Db')){unset($_SESSION["pwds"][DRIVER]);unset_permanent($ag);page_header(lang(91),lang(92,implode(", ",Driver::$extensions)),false);page_footer("auth");exit;}$f='';if(isset($_GET["username"])&&is_string(get_password())){list(,$eg)=host_port(SERVER);if(preg_match('~^\s*([-+]?\d+)~',$eg,$C)&&($C[1]<1024||$C[1]>65535))auth_error(lang(93),$ag);check_invalid_login($ag);$vb=adminer()->credentials();$f=Driver::connect($vb[0],$vb[1],$vb[2]);if(is_object($f)){Db::$instance=$f;Driver::$instance=new
Driver($f);if($f->flavor)save_settings(array("vendor-".DRIVER."-".SERVER=>get_driver(DRIVER)));}}$ue=null;if(!is_object($f)||($ue=adminer()->login($_GET["username"],get_password()))!==true){$l=(is_string($f)?nl_br(h($f)):(is_string($ue)?$ue:lang(94))).(preg_match('~^ | $~',get_password())?'
'.lang(95):'');auth_error($l,$ag);}if($_POST["logout"]&&$_SESSION["token"]&&!verify_token()){page_header(lang(83),lang(96));page_footer("db");exit;}if(!$_SESSION["token"])$_SESSION["token"]=rand(1,1e6);stop_session(true);if($wa&&$_POST["token"])$_POST["token"]=get_token();$l='';if($_POST){if(!verify_token()){$Kd="max_input_vars";$Ge=ini_get($Kd);if(extension_loaded("suhosin")){foreach(array("suhosin.request.max_vars","suhosin.post.max_vars")as$z){$X=ini_get($z);if($X&&(!$Ge||$X<$Ge)){$Kd=$z;$Ge=$X;}}}$l=(!$_POST["token"]&&$Ge?lang(97,"'$Kd'"):lang(96).' '.lang(98));}}elseif($_SERVER["REQUEST_METHOD"]=="POST"){$l=lang(99,"'post_max_size'");if(isset($_GET["sql"]))$l
.=' '.lang(100);}function
print_select_result($K,$g=null,array$Af=array(),$_=0){$te=array();$x=array();$d=array();$Ha=array();$oi=array();$L=array();for($t=0;(!$_||$t<$_)&&($M=$K->fetch_row());$t++){if(!$t){echo"":"".lang(14))."\n";return$L;}function
referencable_primary($Zg){$L=array();foreach(table_status('',true)as$Fh=>$R){if($Fh!=$Zg&&fk_support($R)){foreach(fields($Fh)as$m){if($m["primary"]){if($L[$Fh]){unset($L[$Fh]);break;}$L[$Fh]=$m;}}}}return$L;}function
textarea($E,$Y,$N=10,$db=80){echo"";}function
select_input($va,array$vf,$Y="",$qf="",$bg=""){$Mh=($vf?"select":"input");return"<$Mh$va".($vf?">