<?php
/** Adminer - Compact database management
* @link https://www.adminer.org/
* @author Jakub Vrana, https://www.vrana.cz/
* @copyright 2007 Jakub Vrana
* @license https://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
* @license https://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2 (one or other)
* @version 4.6.3
*/error_reporting(6135);$tc=!preg_match('~^(unsafe_raw)?$~',ini_get("filter.default"));if($tc||ini_get("filter.default_flags")){foreach(array('_GET','_POST','_COOKIE','_SERVER')as$X){$Yg=filter_input_array(constant("INPUT$X"),FILTER_UNSAFE_RAW);if($Yg)$$X=$Yg;}}if(function_exists("mb_internal_encoding"))mb_internal_encoding("8bit");function
connection(){global$g;return$g;}function
adminer(){global$c;return$c;}function
version(){global$fa;return$fa;}function
idf_unescape($w){$rd=substr($w,-1);return
str_replace($rd.$rd,$rd,substr($w,1,-1));}function
escape_string($X){return
substr(q($X),1,-1);}function
number($X){return
preg_replace('~[^0-9]+~','',$X);}function
number_type(){return'((?<!o)int(?!er)|numeric|real|float|double|decimal|money)';}function
remove_slashes($ef,$tc=false){if(get_magic_quotes_gpc()){while(list($_,$X)=each($ef)){foreach($X
as$jd=>$W){unset($ef[$_][$jd]);if(is_array($W)){$ef[$_][stripslashes($jd)]=$W;$ef[]=&$ef[$_][stripslashes($jd)];}else$ef[$_][stripslashes($jd)]=($tc?$W:stripslashes($W));}}}}function
bracket_escape($w,$_a=false){static$Lg=array(':'=>':1',']'=>':2','['=>':3','"'=>':4');return
strtr($w,($_a?array_flip($Lg):$Lg));}function
min_version($mh,$Dd="",$h=null){global$g;if(!$h)$h=$g;$Mf=$h->server_info;if($Dd&&preg_match('~([\d.]+)-MariaDB~',$Mf,$D)){$Mf=$D[1];$mh=$Dd;}return(version_compare($Mf,$mh)>=0);}function
charset($g){return(min_version("5.5.3",0,$g)?"utf8mb4":"utf8");}function
script($Uf,$Kg="\n"){return"<script".nonce().">$Uf</script>$Kg";}function
script_src($dh){return"<script src='".h($dh)."'".nonce()."></script>\n";}function
nonce(){return' nonce="'.get_nonce().'"';}function
target_blank(){return' target="_blank" rel="noreferrer noopener"';}function
h($eg){return
str_replace("\0","&#0;",htmlspecialchars($eg,ENT_QUOTES,'utf-8'));}function
nl_br($eg){return
str_replace("\n","<br>",$eg);}function
checkbox($F,$Y,$Na,$nd="",$ne="",$Ra="",$od=""){$K="<input type='checkbox' name='$F' value='".h($Y)."'".($Na?" checked":"").($od?" aria-labelledby='$od'":"").">".($ne?script("qsl('input').onclick = function () { $ne };",""):"");return($nd!=""||$Ra?"<label".($Ra?" class='$Ra'":"").">$K".h($nd)."</label>":$K);}function
optionlist($re,$Hf=null,$gh=false){$K="";foreach($re
as$jd=>$W){$se=array($jd=>$W);if(is_array($W)){$K.='<optgroup label="'.h($jd).'">';$se=$W;}foreach($se
as$_=>$X)$K.='<option'.($gh||is_string($_)?' value="'.h($_).'"':'').(($gh||is_string($_)?(string)$_:$X)===$Hf?' selected':'').'>'.h($X);if(is_array($W))$K.='</optgroup>';}return$K;}function
html_select($F,$re,$Y="",$me=true,$od=""){if($me)return"<select name='".h($F)."'".($od?" aria-labelledby='$od'":"").">".optionlist($re,$Y)."</select>".(is_string($me)?script("qsl('select').onchange = function () { $me };",""):"");$K="";foreach($re
as$_=>$X)$K.="<label><input type='radio' name='".h($F)."' value='".h($_)."'".($_==$Y?" checked":"").">".h($X)."</label>";return$K;}function
select_input($wa,$re,$Y="",$me="",$Re=""){$tg=($re?"select":"input");return"<$tg$wa".($re?"><option value=''>$Re".optionlist($re,$Y,true)."</select>":" size='10' value='".h($Y)."' placeholder='$Re'>").($me?script("qsl('$tg').onchange = $me;",""):"");}function
confirm($E="",$If="qsl('input')"){return
script("$If.onclick = function () { return confirm('".($E?js_escape($E):lang(0))."'); };","");}function
print_fieldset($v,$wd,$ph=false){echo"<fieldset><legend>","<a href='#fieldset-$v'>$wd</a>",script("qsl('a').onclick = partial(toggle, 'fieldset-$v');",""),"</legend>","<div id='fieldset-$v'".($ph?"":" class='hidden'").">\n";}function
bold($Ga,$Ra=""){return($Ga?" class='active $Ra'":($Ra?" class='$Ra'":""));}function
odd($K=' class="odd"'){static$u=0;if(!$K)$u=-1;return($u++%2?$K:'');}function
js_escape($eg){return
addcslashes($eg,"\r\n'\\/");}function
json_row($_,$X=null){static$uc=true;if($uc)echo"{";if($_!=""){echo($uc?"":",")."\n\t\"".addcslashes($_,"\r\n\t\"\\/").'": '.($X!==null?'"'.addcslashes($X,"\r\n\"\\/").'"':'null');$uc=false;}else{echo"\n}\n";$uc=true;}}function
ini_bool($Xc){$X=ini_get($Xc);return(preg_match('~^(on|true|yes)$~i',$X)||(int)$X);}function
sid(){static$K;if($K===null)$K=(SID&&!($_COOKIE&&ini_bool("session.use_cookies")));return$K;}function
set_password($lh,$O,$V,$Ne){$_SESSION["pwds"][$lh][$O][$V]=($_COOKIE["adminer_key"]&&is_string($Ne)?array(encrypt_string($Ne,$_COOKIE["adminer_key"])):$Ne);}function
get_password(){$K=get_session("pwds");if(is_array($K))$K=($_COOKIE["adminer_key"]?decrypt_string($K[0],$_COOKIE["adminer_key"]):false);return$K;}function
q($eg){global$g;return$g->quote($eg);}function
get_vals($I,$d=0){global$g;$K=array();$J=$g->query($I);if(is_object($J)){while($L=$J->fetch_row())$K[]=$L[$d];}return$K;}function
get_key_vals($I,$h=null,$Pf=true){global$g;if(!is_object($h))$h=$g;$K=array();$J=$h->query($I);if(is_object($J)){while($L=$J->fetch_row()){if($Pf)$K[$L[0]]=$L[1];else$K[]=$L[0];}}return$K;}function
get_rows($I,$h=null,$m="<p class='error'>"){global$g;$eb=(is_object($h)?$h:$g);$K=array();$J=$eb->query($I);if(is_object($J)){while($L=$J->fetch_assoc())$K[]=$L;}elseif(!$J&&!is_object($h)&&$m&&defined("PAGE_HEADER"))echo$m.error()."\n";return$K;}function
unique_array($L,$y){foreach($y
as$x){if(preg_match("~PRIMARY|UNIQUE~",$x["type"])){$K=array();foreach($x["columns"]as$_){if(!isset($L[$_]))continue
2;$K[$_]=$L[$_];}return$K;}}}function
escape_key($_){if(preg_match('(^([\w(]+)('.str_replace("_",".*",preg_quote(idf_escape("_"))).')([ \w)]+)$)',$_,$D))return$D[1].idf_escape(idf_unescape($D[2])).$D[3];return
idf_escape($_);}function
where($Z,$o=array()){global$g,$z;$K=array();foreach((array)$Z["where"]as$_=>$X){$_=bracket_escape($_,1);$d=escape_key($_);$K[]=$d.($z=="sql"&&preg_match('~^[0-9]*\.[0-9]*$~',$X)?" LIKE ".q(addcslashes($X,"%_\\")):($z=="mssql"?" LIKE ".q(preg_replace('~[_%[]~','[\0]',$X)):" = ".unconvert_field($o[$_],q($X))));if($z=="sql"&&preg_match('~char|text~',$o[$_]["type"])&&preg_match("~[^ -@]~",$X))$K[]="$d = ".q($X)." COLLATE ".charset($g)."_bin";}foreach((array)$Z["null"]as$_)$K[]=escape_key($_)." IS NULL";return
implode(" AND ",$K);}function
where_check($X,$o=array()){parse_str($X,$Ma);remove_slashes(array(&$Ma));return
where($Ma,$o);}function
where_link($u,$d,$Y,$oe="="){return"&where%5B$u%5D%5Bcol%5D=".urlencode($d)."&where%5B$u%5D%5Bop%5D=".urlencode(($Y!==null?$oe:"IS NULL"))."&where%5B$u%5D%5Bval%5D=".urlencode($Y);}function
convert_fields($e,$o,$N=array()){$K="";foreach($e
as$_=>$X){if($N&&!in_array(idf_escape($_),$N))continue;$ua=convert_field($o[$_]);if($ua)$K.=", $ua AS ".idf_escape($_);}return$K;}function
cookie($F,$Y,$zd=2592000){global$ba;return
header("Set-Cookie: $F=".urlencode($Y).($zd?"; expires=".gmdate("D, d M Y H:i:s",time()+$zd)." GMT":"")."; path=".preg_replace('~\?.*~','',$_SERVER["REQUEST_URI"]).($ba?"; secure":"")."; HttpOnly; SameSite=lax",false);}function
restart_session(){if(!ini_bool("session.use_cookies"))session_start();}function
stop_session($wc=false){if(!ini_bool("session.use_cookies")||($wc&&@ini_set("session.use_cookies",false)!==false))session_write_close();}function&get_session($_){return$_SESSION[$_][DRIVER][SERVER][$_GET["username"]];}function
set_session($_,$X){$_SESSION[$_][DRIVER][SERVER][$_GET["username"]]=$X;}function
auth_url($lh,$O,$V,$k=null){global$Ib;preg_match('~([^?]*)\??(.*)~',remove_from_uri(implode("|",array_keys($Ib))."|username|".($k!==null?"db|":"").session_name()),$D);return"$D[1]?".(sid()?SID."&":"").($lh!="server"||$O!=""?urlencode($lh)."=".urlencode($O)."&":"")."username=".urlencode($V).($k!=""?"&db=".urlencode($k):"").($D[2]?"&$D[2]":"");}function
is_ajax(){return($_SERVER["HTTP_X_REQUESTED_WITH"]=="XMLHttpRequest");}function
redirect($C,$E=null){if($E!==null){restart_session();$_SESSION["messages"][preg_replace('~^[^?]*~','',($C!==null?$C:$_SERVER["REQUEST_URI"]))][]=$E;}if($C!==null){if($C=="")$C=".";header("Location: $C");exit;}}function
query_redirect($I,$C,$E,$mf=true,$gc=true,$nc=false,$_g=""){global$g,$m,$c;if($gc){$ag=microtime(true);$nc=!$g->query($I);$_g=format_time($ag);}$Wf="";if($I)$Wf=$c->messageQuery($I,$_g,$nc);if($nc){$m=error().$Wf.script("messagesPrint();");return
false;}if($mf)redirect($C,$E.$Wf);return
true;}function
queries($I){global$g;static$hf=array();static$ag;if(!$ag)$ag=microtime(true);if($I===null)return
array(implode("\n",$hf),format_time($ag));$hf[]=(preg_match('~;$~',$I)?"DELIMITER ;;\n$I;\nDELIMITER ":$I).";";return$g->query($I);}function
apply_queries($I,$S,$cc='table'){foreach($S
as$Q){if(!queries("$I ".$cc($Q)))return
false;}return
true;}function
queries_redirect($C,$E,$mf){list($hf,$_g)=queries(null);return
query_redirect($hf,$C,$E,$mf,false,!$mf,$_g);}function
format_time($ag){return
lang(1,max(0,microtime(true)-$ag));}function
remove_from_uri($Fe=""){return
substr(preg_replace("~(?<=[?&])($Fe".(SID?"":"|".session_name()).")=[^&]*&~",'',"$_SERVER[REQUEST_URI]&"),0,-1);}function
pagination($G,$pb){return" ".($G==$pb?$G+1:'<a href="'.h(remove_from_uri("page").($G?"&page=$G".($_GET["next"]?"&next=".urlencode($_GET["next"]):""):"")).'">'.($G+1)."</a>");}function
get_file($_,$xb=false){$rc=$_FILES[$_];if(!$rc)return
null;foreach($rc
as$_=>$X)$rc[$_]=(array)$X;$K='';foreach($rc["error"]as$_=>$m){if($m)return$m;$F=$rc["name"][$_];$Hg=$rc["tmp_name"][$_];$fb=file_get_contents($xb&&preg_match('~\.gz$~',$F)?"compress.zlib://$Hg":$Hg);if($xb){$ag=substr($fb,0,3);if(function_exists("iconv")&&preg_match("~^\xFE\xFF|^\xFF\xFE~",$ag,$sf))$fb=iconv("utf-16","utf-8",$fb);elseif($ag=="\xEF\xBB\xBF")$fb=substr($fb,3);$K.=$fb."\n\n";}else$K.=$fb;}return$K;}function
upload_error($m){$Jd=($m==UPLOAD_ERR_INI_SIZE?ini_get("upload_max_filesize"):0);return($m?lang(2).($Jd?" ".lang(3,$Jd):""):lang(4));}function
repeat_pattern($Pe,$xd){return
str_repeat("$Pe{0,65535}",$xd/65535)."$Pe{0,".($xd%65535)."}";}function
is_utf8($X){return(preg_match('~~u',$X)&&!preg_match('~[\0-\x8\xB\xC\xE-\x1F]~',$X));}function
shorten_utf8($eg,$xd=80,$ig=""){if(!preg_match("(^(".repeat_pattern("[\t\r\n -\x{10FFFF}]",$xd).")($)?)u",$eg,$D))preg_match("(^(".repeat_pattern("[\t\r\n -~]",$xd).")($)?)",$eg,$D);return
h($D[1]).$ig.(isset($D[2])?"":"<i>...</i>");}function
format_number($X){return
strtr(number_format($X,0,".",lang(5)),preg_split('~~u',lang(6),-1,PREG_SPLIT_NO_EMPTY));}function
friendly_url($X){return
preg_replace('~[^a-z0-9_]~i','-',$X);}function
hidden_fields($ef,$Uc=array()){$K=false;while(list($_,$X)=each($ef)){if(!in_array($_,$Uc)){if(is_array($X)){foreach($X
as$jd=>$W)$ef[$_."[$jd]"]=$W;}else{$K=true;echo'<input type="hidden" name="'.h($_).'" value="'.h($X).'">';}}}return$K;}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($Q,$oc=false){$K=table_status($Q,$oc);return($K?$K:array("Name"=>$Q));}function
column_foreign_keys($Q){global$c;$K=array();foreach($c->foreignKeys($Q)as$p){foreach($p["source"]as$X)$K[$X][]=$p;}return$K;}function
enum_input($U,$wa,$n,$Y,$Wb=null){global$c;preg_match_all("~'((?:[^']|'')*)'~",$n["length"],$Ed);$K=($Wb!==null?"<label><input type='$U'$wa value='$Wb'".((is_array($Y)?in_array($Wb,$Y):$Y===0)?" checked":"")."><i>".lang(7)."</i></label>":"");foreach($Ed[1]as$u=>$X){$X=stripcslashes(str_replace("''","'",$X));$Na=(is_int($Y)?$Y==$u+1:(is_array($Y)?in_array($u+1,$Y):$Y===$X));$K.=" <label><input type='$U'$wa value='".($u+1)."'".($Na?' checked':'').'>'.h($c->editVal($X,$n)).'</label>';}return$K;}function
input($n,$Y,$s){global$Tg,$c,$z;$F=h(bracket_escape($n["field"]));echo"<td class='function'>";if(is_array($Y)&&!$s){$ta=array($Y);if(version_compare(PHP_VERSION,5.4)>=0)$ta[]=JSON_PRETTY_PRINT;$Y=call_user_func_array('json_encode',$ta);$s="json";}$uf=($z=="mssql"&&$n["auto_increment"]);if($uf&&!$_POST["save"])$s=null;$Cc=(isset($_GET["select"])||$uf?array("orig"=>lang(8)):array())+$c->editFunctions($n);$wa=" name='fields[$F]'";if($n["type"]=="enum")echo
h($Cc[""])."<td>".$c->editInput($_GET["edit"],$n,$wa,$Y);else{$Lc=(in_array($s,$Cc)||isset($Cc[$s]));echo(count($Cc)>1?"<select name='function[$F]'>".optionlist($Cc,$s===null||$Lc?$s:"")."</select>".on_help("getTarget(event).value.replace(/^SQL\$/, '')",1).script("qsl('select').onchange = functionChange;",""):h(reset($Cc))).'<td>';$Zc=$c->editInput($_GET["edit"],$n,$wa,$Y);if($Zc!="")echo$Zc;elseif(preg_match('~bool~',$n["type"]))echo"<input type='hidden'$wa value='0'>"."<input type='checkbox'".(preg_match('~^(1|t|true|y|yes|on)$~i',$Y)?" checked='checked'":"")."$wa value='1'>";elseif($n["type"]=="set"){preg_match_all("~'((?:[^']|'')*)'~",$n["length"],$Ed);foreach($Ed[1]as$u=>$X){$X=stripcslashes(str_replace("''","'",$X));$Na=(is_int($Y)?($Y>>$u)&1:in_array($X,explode(",",$Y),true));echo" <label><input type='checkbox' name='fields[$F][$u]' value='".(1<<$u)."'".($Na?' checked':'').">".h($c->editVal($X,$n)).'</label>';}}elseif(preg_match('~blob|bytea|raw|file~',$n["type"])&&ini_bool("file_uploads"))echo"<input type='file' name='fields-$F'>";elseif(($yg=preg_match('~text|lob~',$n["type"]))||preg_match("~\n~",$Y)){if($yg&&$z!="sqlite")$wa.=" cols='50' rows='12'";else{$M=min(12,substr_count($Y,"\n")+1);$wa.=" cols='30' rows='$M'".($M==1?" style='height: 1.2em;'":"");}echo"<textarea$wa>".h($Y).'</textarea>';}elseif($s=="json"||preg_match('~^jsonb?$~',$n["type"]))echo"<textarea$wa cols='50' rows='12' class='jush-js'>".h($Y).'</textarea>';else{$Ld=(!preg_match('~int~',$n["type"])&&preg_match('~^(\d+)(,(\d+))?$~',$n["length"],$D)?((preg_match("~binary~",$n["type"])?2:1)*$D[1]+($D[3]?1:0)+($D[2]&&!$n["unsigned"]?1:0)):($Tg[$n["type"]]?$Tg[$n["type"]]+($n["unsigned"]?0:1):0));if($z=='sql'&&min_version(5.6)&&preg_match('~time~',$n["type"]))$Ld+=7;echo"<input".((!$Lc||$s==="")&&preg_match('~(?<!o)int(?!er)~',$n["type"])&&!preg_match('~\[\]~',$n["full_type"])?" type='number'":"")." value='".h($Y)."'".($Ld?" data-maxlength='$Ld'":"").(preg_match('~char|binary~',$n["type"])&&$Ld>20?" size='40'":"")."$wa>";}echo$c->editHint($_GET["edit"],$n,$Y);$uc=0;foreach($Cc
as$_=>$X){if($_===""||!$X)break;$uc++;}if($uc)echo
script("mixin(qsl('td'), {onchange: partial(skipOriginal, $uc), oninput: function () { this.onchange(); }});");}}function
process_input($n){global$c,$l;$w=bracket_escape($n["field"]);$s=$_POST["function"][$w];$Y=$_POST["fields"][$w];if($n["type"]=="enum"){if($Y==-1)return
false;if($Y=="")return"NULL";return+$Y;}if($n["auto_increment"]&&$Y=="")return
null;if($s=="orig")return($n["on_update"]=="CURRENT_TIMESTAMP"?idf_escape($n["field"]):false);if($s=="NULL")return"NULL";if($n["type"]=="set")return
array_sum((array)$Y);if($s=="json"){$s="";$Y=json_decode($Y,true);if(!is_array($Y))return
false;return$Y;}if(preg_match('~blob|bytea|raw|file~',$n["type"])&&ini_bool("file_uploads")){$rc=get_file("fields-$w");if(!is_string($rc))return
false;return$l->quoteBinary($rc);}return$c->processInput($n,$Y,$s);}function
fields_from_edit(){global$l;$K=array();foreach((array)$_POST["field_keys"]as$_=>$X){if($X!=""){$X=bracket_escape($X);$_POST["function"][$X]=$_POST["field_funs"][$_];$_POST["fields"][$X]=$_POST["field_vals"][$_];}}foreach((array)$_POST["fields"]as$_=>$X){$F=bracket_escape($_,1);$K[$F]=array("field"=>$F,"privileges"=>array("insert"=>1,"update"=>1),"null"=>1,"auto_increment"=>($_==$l->primary),);}return$K;}function
search_tables(){global$c,$g;$_GET["where"][0]["val"]=$_POST["query"];$Kf="<ul>\n";foreach(table_status('',true)as$Q=>$R){$F=$c->tableName($R);if(isset($R["Engine"])&&$F!=""&&(!$_POST["tables"]||in_array($Q,$_POST["tables"]))){$J=$g->query("SELECT".limit("1 FROM ".table($Q)," WHERE ".implode(" AND ",$c->selectSearchProcess(fields($Q),array())),1));if(!$J||$J->fetch_row()){$af="<a href='".h(ME."select=".urlencode($Q)."&where[0][op]=".urlencode($_GET["where"][0]["op"])."&where[0][val]=".urlencode($_GET["where"][0]["val"]))."'>$F</a>";echo"$Kf<li>".($J?$af:"<p class='error'>$af: ".error())."\n";$Kf="";}}}echo($Kf?"<p class='message'>".lang(9):"</ul>")."\n";}function
dump_headers($Tc,$Sd=false){global$c;$K=$c->dumpHeaders($Tc,$Sd);$Ce=$_POST["output"];if($Ce!="text")header("Content-Disposition: attachment; filename=".$c->dumpFilename($Tc).".$K".($Ce!="file"&&!preg_match('~[^0-9a-z]~',$Ce)?".$Ce":""));session_write_close();ob_flush();flush();return$K;}function
dump_csv($L){foreach($L
as$_=>$X){if(preg_match("~[\"\n,;\t]~",$X)||$X==="")$L[$_]='"'.str_replace('"','""',$X).'"';}echo
implode(($_POST["format"]=="csv"?",":($_POST["format"]=="tsv"?"\t":";")),$L)."\r\n";}function
apply_sql_function($s,$d){return($s?($s=="unixepoch"?"DATETIME($d, '$s')":($s=="count distinct"?"COUNT(DISTINCT ":strtoupper("$s("))."$d)"):$d);}function
get_temp_dir(){$K=ini_get("upload_tmp_dir");if(!$K){if(function_exists('sys_get_temp_dir'))$K=sys_get_temp_dir();else{$sc=@tempnam("","");if(!$sc)return
false;$K=dirname($sc);unlink($sc);}}return$K;}function
file_open_lock($sc){$r=@fopen($sc,"r+");if(!$r){$r=@fopen($sc,"w");if(!$r)return;chmod($sc,0660);}flock($r,LOCK_EX);return$r;}function
file_write_unlock($r,$rb){rewind($r);fwrite($r,$rb);ftruncate($r,strlen($rb));flock($r,LOCK_UN);fclose($r);}function
password_file($i){$sc=get_temp_dir()."/adminer.key";$K=@file_get_contents($sc);if($K||!$i)return$K;$r=@fopen($sc,"w");if($r){chmod($sc,0660);$K=rand_string();fwrite($r,$K);fclose($r);}return$K;}function
rand_string(){return
md5(uniqid(mt_rand(),true));}function
select_value($X,$B,$n,$zg){global$c;if(is_array($X)){$K="";foreach($X
as$jd=>$W)$K.="<tr>".($X!=array_values($X)?"<th>".h($jd):"")."<td>".select_value($W,$B,$n,$zg);return"<table cellspacing='0'>$K</table>";}if(!$B)$B=$c->selectLink($X,$n);if($B===null){if(is_mail($X))$B="mailto:$X";if(is_url($X))$B=$X;}$K=$c->editVal($X,$n);if($K!==null){if(!is_utf8($K))$K="\0";elseif($zg!=""&&is_shortable($n))$K=shorten_utf8($K,max(0,+$zg));else$K=h($K);}return$c->selectVal($K,$B,$n,$X);}function
is_mail($Tb){$va='[-a-z0-9!#$%&\'*+/=?^_`{|}~]';$Hb='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';$Pe="$va+(\\.$va+)*@($Hb?\\.)+$Hb";return
is_string($Tb)&&preg_match("(^$Pe(,\\s*$Pe)*\$)i",$Tb);}function
is_url($eg){$Hb='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';return
preg_match("~^(https?)://($Hb?\\.)+$Hb(:\\d+)?(/.*)?(\\?.*)?(#.*)?\$~i",$eg);}function
is_shortable($n){return
preg_match('~char|text|json|lob|geometry|point|linestring|polygon|string|bytea~',$n["type"]);}function
count_rows($Q,$Z,$fd,$t){global$z;$I=" FROM ".table($Q).($Z?" WHERE ".implode(" AND ",$Z):"");return($fd&&($z=="sql"||count($t)==1)?"SELECT COUNT(DISTINCT ".implode(", ",$t).")$I":"SELECT COUNT(*)".($fd?" FROM (SELECT 1$I GROUP BY ".implode(", ",$t).") x":$I));}function
slow_query($I){global$c,$T,$l;$k=$c->database();$Ag=$c->queryTimeout();$Sf=$l->slowQuery($I,$Ag);if(!$Sf&&support("kill")&&is_object($h=connect())&&($k==""||$h->select_db($k))){$ld=$h->result(connection_id());echo'<script',nonce(),'>
var timeout = setTimeout(function () {
	ajax(\'',js_escape(ME),'script=kill\', function () {
	}, \'kill=',$ld,'&token=',$T,'\');
}, ',1000*$Ag,');
</script>
';}else$h=null;ob_flush();flush();$K=@get_key_vals(($Sf?$Sf:$I),$h,false);if($h){echo
script("clearTimeout(timeout);");ob_flush();flush();}return$K;}function
get_token(){$kf=rand(1,1e6);return($kf^$_SESSION["token"]).":$kf";}function
verify_token(){list($T,$kf)=explode(":",$_POST["token"]);return($kf^$_SESSION["token"])==$T;}function
lzw_decompress($Da){$Db=256;$Ea=8;$Ta=array();$vf=0;$wf=0;for($u=0;$u<strlen($Da);$u++){$vf=($vf<<8)+ord($Da[$u]);$wf+=8;if($wf>=$Ea){$wf-=$Ea;$Ta[]=$vf>>$wf;$vf&=(1<<$wf)-1;$Db++;if($Db>>$Ea)$Ea++;}}$Cb=range("\0","\xFF");$K="";foreach($Ta
as$u=>$Sa){$Sb=$Cb[$Sa];if(!isset($Sb))$Sb=$vh.$vh[0];$K.=$Sb;if($u)$Cb[]=$vh.$Sb[0];$vh=$Sb;}return$K;}function
on_help($Za,$Qf=0){return
script("mixin(qsl('select, input'), {onmouseover: function (event) { helpMouseover.call(this, event, $Za, $Qf) }, onmouseout: helpMouseout});","");}function
edit_form($b,$o,$L,$bh){global$c,$z,$T,$m;$ng=$c->tableName(table_status1($b,true));page_header(($bh?lang(10):lang(11)),$m,array("select"=>array($b,$ng)),$ng);if($L===false)echo"<p class='error'>".lang(12)."\n";echo'<form action="" method="post" enctype="multipart/form-data" id="form">
';if(!$o)echo"<p class='error'>".lang(13)."\n";else{echo"<table cellspacing='0'>".script("qsl('table').onkeydown = editingKeydown;");foreach($o
as$F=>$n){echo"<tr><th>".$c->fieldName($n);$yb=$_GET["set"][bracket_escape($F)];if($yb===null){$yb=$n["default"];if($n["type"]=="bit"&&preg_match("~^b'([01]*)'\$~",$yb,$sf))$yb=$sf[1];}$Y=($L!==null?($L[$F]!=""&&$z=="sql"&&preg_match("~enum|set~",$n["type"])?(is_array($L[$F])?array_sum($L[$F]):+$L[$F]):$L[$F]):(!$bh&&$n["auto_increment"]?"":(isset($_GET["select"])?false:$yb)));if(!$_POST["save"]&&is_string($Y))$Y=$c->editVal($Y,$n);$s=($_POST["save"]?(string)$_POST["function"][$F]:($bh&&$n["on_update"]=="CURRENT_TIMESTAMP"?"now":($Y===false?null:($Y!==null?'':'NULL'))));if(preg_match("~time~",$n["type"])&&$Y=="CURRENT_TIMESTAMP"){$Y="";$s="now";}input($n,$Y,$s);echo"\n";}if(!support("table"))echo"<tr>"."<th><input name='field_keys[]'>".script("qsl('input').oninput = fieldChange;")."<td class='function'>".html_select("field_funs[]",$c->editFunctions(array("null"=>isset($_GET["select"]))))."<td><input name='field_vals[]'>"."\n";echo"</table>\n";}echo"<p>\n";if($o){echo"<input type='submit' value='".lang(14)."'>\n";if(!isset($_GET["select"])){echo"<input type='submit' name='insert' value='".($bh?lang(15):lang(16))."' title='Ctrl+Shift+Enter'>\n",($bh?script("qsl('input').onclick = function () { return !ajaxForm(this.form, '".lang(17)."...', this); };"):"");}}echo($bh?"<input type='submit' name='delete' value='".lang(18)."'>".confirm()."\n":($_POST||!$o?"":script("focus(qsa('td', qs('#form'))[1].firstChild);")));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>
';}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");header("Cache-Control: immutable");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évt2!r0t~U'3MWB'cP:6T\rcAzr_WK\r-VNFS%~c&\\^ruŎÞً4'7kQh'g\rFB\ryT7SSP1=ǤcI:dm>S8LJt.M	ϋ`'C889 Q2#8А6mjh<9/:J)ʂ\0d>!\0Zvno(k7s>!R\"*nS\0@P\"(#[@gozn9k8n1I*=n0c(;à!*c>ΎE7DLJ1`8(3M\"39?Ee=Ҭ~Ӹ7;CE\rd!)a*5ajo\0#`38\0]e2	mke]AZsStZZ!)BRG+#Jv2(c4<#sB06YL\r=[73<:bxJ=	m_ fltIH3x*6`t6%ULeق<\0AQ<P<:#u/:T\\>-xJ͍QH\njL+jz7`\nk'NvX>C-T˩4*L%Cj>7ߨި`;yqr3#} :#n\r^=CAܸƎs&8K&*0tS=[:\\]E݌/O>^]ø<gZVq x\\޺\"J\\î##Dx65x\rHl br76j|ۖ*FAquvyOWeMD.F:R\$-T!DS`8D~A`(emT@O1@X\nLpPmyf)	GSEIxC(s(a?\$`tEn, \$aU>,В\$ZkDm,G\0\\i%ʹ ngb	y`ԆW 䗗_CT\niH%dai7At,JX4n0o͹9g\nzmM%`'IО-7:p3pQrEDb2]PF>e3j\n߰t!?4ftK;\rΞи!ou?Ph0uIC}'~2vQ8)7DI=y&eas*hɕjlA(\"\\m^iM)^	|~l#!Yf81RS!62PCl&xd!|9`_OY=G[E-eLCvT )@j-5pSg.G=ZE\$\0цKjU\$G'IP~ځ ;hNێG%*RjX[XPf^|T!*NІ\rU^q1V!Uz,I|77r,7ľB;+ߕAp^~ؼW!3PI8]vJfq|,9Wf`\0qZp}[JdhyNY|Cy,<s A{eQhdǇ B4;ks&a;˹}SJ)=d|NdI*8dlѓE6~ϨFX`M\rʞ/%B/VIN&;0UC cT&.E+@0`;G5ަj'ƐY+QZ-iyvI5,O|P]Fۏ\0249͢n/χ]س&I^=lqfI= ]x1GR&e7)':BB>az-2.bz#UᓍL7-wt3ɵeD\$#j@G8 7pRYC~:@EUJ;67v]J'q1ϳElQІi/{k<֡Mpo}rq؞cä_mw^uln	_~Gn{kܞw\rj~K\0-B;b`}CC,-L8\r,klǌn}-53ugmŸ*/׏``#x+B?#ۏN;OR\r\$kϙ\01\0k\08a/t#(&l&p삅iM{zp*-gv6k	d؋A`6lX)+d 7 \r ځcj6\rp\r\r\"oP7\r\0\0yP\rQ7Z4Qڍp/y\r##D;<g\0fi2)f\\	mGh\r#n@[ G\"Sqm\r#(Ajqѣ%̑3qE\0r0я.Q7шWu @Hq'vs0\n+0SGpO`\r)c#R=\$ƐR\rGы\$R?%2C[\0؍~!\\p#@O(rg%?ra\$)r](&?&#&R',\rqV3\"Hm+lQ\"\04\$r,=&2;.H@`a\$_*RIS&q_11+13)2V72lڄ!1g-2f`,Q70qg]!qm6_M7 7o6Qkp3g9s 36\r:S9ӏ; \r9-\0Yӧ0Q<b#<Ӂw/G>r\r=3^&Q;ѣ?q0\"0HЙ|ʖSi@*T2T# \0C07]?&ED;:/3E5EQeT\"m5E;#=48*LS5HrJE TO\rԅJJJeG)8B8,&G	+Mɲ^*G146\$.\"拢I4w!\$L 8bA2L'M?MF\$,Nr/4BJ¨");}elseif($_GET["file"]=="functions.js"){header("Content-Type: text/javascript; charset=utf-8");echo
lzw_decompress("f:gCI\n83)781x:\nOg#)r7\n\"`|2gSiH)NS\r\"0@)`(\$s6O!V/=' T4=iS6IOerx9*źn3\rщvC`2G%Y1fȂl1\ny*pC\r\$nT3=\\r9O\"	l<\r\\I,s\nAeh+M!q0f`(N{c+wYp٧33+Ijknqzi#^r3[o;(6#Ґ\":cz>ߣC2vCX<Pc*5\n/P97|Fc0!!!\nZ%ć#CH!r8\$,Rܔ2^0@2(88P/݄\\\$La\\;cHHX\nʃt8A<sZ*;I3@2<!A8G<j-K({*\ra1N4Tc\"\\!=1^M9O:;j\rXL#H7#Tݪ/-p;B \n2!t]apΎ\0RCvMI,\r\0Hv?kT4uٱ;&+&\rXbu4ݡi882B/⃖4N8AA)522s85pWC@:t㾴eh\"#8_cp^I]OH:zd3g(Ök\\62ږi7]\rxOnp<pQUn|@#G38bA6267%#\\8\r2c\rݟk.(	-J; L W㧓ѥɤnҧM9ZНs]zy^[4-U\0ta62^.`.Cj[ᄠ% Q\0`dM8\$O0`4\n\0a\rA<@\r!:BA9?h>Ǻ~̌6Ȉh=-A7Xև\\\rQ<蚧q'!XΓ2T !D\r,K\"%HqR\r̠C =<c\n#<5M Eyo\"cJKL2&eRWAΐTwё;J\\`)5ޜBqhT3R	'\r+\":8tVA+]S72YFZ85c,J/+SnBpoWd\"QaZKpާy\$4I@L'@xCdf~}Q*ҺAQ\"B*2\0.kF\"\r o\\ԢVijYMO\$2ThH0XH5~kLT*:~P2tB\0YjvDs.9s̤P*xboP\$W/*z';\$*dmÃ'b\rn%47W-K@<gèbB[7\\|VdR6leQ`(Ԣ,d8\r]S:?1`Y`Aғ%ZkQsM*{`J*wӊ>վD>eӾ\"t+poW\$Q@3t`-k7g]lE^dW>nvtlzPHFvWV\nh;BDس/:J\\+ %]ъwaݫ=XN/wJ_[t)5QR2l-:Y9&l R;u#S	 htkE!l>SHX<,OYyЃ%L]\0	^dw3,ScQte=M:42]PTsn:u>/d a'%qҨ&@֐HG@w8p΁Z\n{[t2a>	wJ^+u~oµXkզBZk˱X=0>tlŃ)Wbܦ'A,mY,Ae#V+n1IE+[[-RmK9~L-3O`_0sL;]6|hVT:ޞerMa\$~e9>Д\r\\J1Ú%=0{	|ޗtڼ=Q|\0?[g@u?ɝ|4*c-74\ri'^n;({KhnfZϝ}l]\rpJ>,gp{;\0u)sN'HC9M5*`k㬎AhY*jJǅPN+^ D*ÀDPLQ`O&\0}\$6Zn>0 e\n	trp!hV'Py^*|r%|\nr\r#@wT.Rv8j\nmBp Y0Ϣm\0@P\r8Y\rGd	QGP%E/@]\r{\0QbR M\rF|%0SDrf/\":moރ%@3Hx\0l\0	W\n8\r\0}@D`#t.jEoDrǢlbtf40%0kz2\r W@%\r\n~1XD2!O*{0<Ek*m0ı|\r\n^i !.r  fĬ+:ŋJB5\$LPLĂ Z@`^PL%5%jpHWonkA#&8<K6/̏XWe+&%c&rj'%xnK22ֶl*.r΢*\r+jpBg{ 0%1(Z`Q#Ԏn*hvB\\F\nWr f\$93G4%db:JZ!,_f%26s*FҺEQq~`tsҀ(`\r#RRrX:R)A*3\$l*ν:\"XltbK-O>R-d=\$S\$2}7Sf[}\"@][6S|SE_>q-@z`;0ƻC*[{DjC\nfsP6'ȕ QEN\\%ro7oG+dW4A*#TqEf%DZ32.Rkz@@ED`CV!Cŕ\0I)38M3@3LZB1F@Lh~G1M64Xє}ƞfˢIN34XBtd8\nbtNQb;ܑDL\0\"\nV6]UcVfD`M6O44sJ555\\x	<5[Fߵy7m)@SVĞ#x8 ոы`\\`-v2p+vULxY.\0005(@ⰵ[U@#VJuX4u_\"JO(Dt_	5s^5^^VI\rg&]\r\"ZCI6#\rܓ]7q06}o`uab(XDfMN)VUUFо=jSWi\"\\B1ĞE0 amP&<O_L.c1Z*R\$hmv[v>ݭp(0cPom\0Rp&w+KQs6}5[sJ2/O V*)R.Du33F\r;v4H	_!2k+%:_,eoFAJO\"%\nk5`z %|%Ϋg|}lv2n7~\0	YRH@rxN-Jp\0f#@ˀmvx\r2WMO/\nD7}2VWWwɀ7Hk]\$Mz\\e.fRZaBQdKZvtw4\0Z@	Bc;b>B	3mn\noJ3k(܍\"yG\$:\rņݎG6ɲJyQ\\Qif(m)/r\$J/H]*gZODѬ]1g22f=HT]N&M\0[8xȮE8&LVmvjטF\\	&s@Q \\\"b	\rBsIw	YɜN 7C/&٫`\n\n[k*ATV*UZtz{.yS#3ipzW@yC\nKT1@|z#_CJz(B,V(K_dOP@XtЅc;WZzW_٠\0ފCFxR 	\nPA&,pfV|@N\"\$[iZ\0Zd\\\"|W`]tzo\$\0[ueəbhU-,r Lk8֫V&ald2;	'-Jyua\0a{s[9V\0FR VB0S;D>L4&ZHO1\0wgStKRzi+3wzX](G\$D+tչ(#oc:	Y6\0&	@	)!w# txND)CFZpa*Fb	ͼģSi/S!zUH*40K-/-k`nLiJ~wJn\"`=V3Oį8t>voE.Rz`pPE\\ɧ3Llѥs]ToV\n	*\r@7)Dm0W5Ӏǰwb|	JV\"ur\r&N0NBdd8D_ͫ^TH#]d+v~U,PR%xfACm͸cyŜD)uHpp^u\0}{ѡ\rgsQMY2j\r|0\0X@qI`5F6NV@ӔsEp#\rPTDeWؼ񛭁z!û:DMV(~X9\0@40Nܽ~Q[TeqSv\"\"h\0R-hZdF5P`9D&xs9W֗5Er@owkb1PO-OOxlHD6/ֿmޠ37TK~54	p#I>YIN\\5NӃMpr&GxMsq.F8Cs he5*b)Sڪ̭e0-X {5|i֢aȕ6z޽/YێM ƃ \nR*8r o @78BfzKrA\$˰	p\0?dk|45}AɶWJ2k Gi\0\"d8\0>m `8w7o4cGhQ(퀨8@\$<\0p0LeX+Ja{Bh8CyP2Ӯ*EH2DqSۘp0Ik`S\n:B7{-`6AWܖ\rpW#?{\0cD[<f--pԌ*B]nW^R70\r+NGN\$(\0#+y@@iD(8@\rhHHezz{1hW1FWho&aɜd6jw`h{v`RE\nj`ܷ*ʸ}Y	\rYH6#\0廆a QHEl4dp#obr+_)\r`!|dQ>=QʡζEOB'>PӶ A\rnKi 		%<	o;S@!	x:A+\\1d\$jO7%	/guz*GH5\"8,]raq/h#\$ /tn8y-OHb<Z!1`.(uo|`GːSBaM	ڂ9ƞD@1BtDʡ@?o(HqC8ETcncR6N%rHj2G\0aq rz9b>(Px<)x#8誹th2vWo2Ut+=l#jD	0&Rc\$*̑-Z`\r;|Ap=1	1ƈbEv(^XP2=\0}WG<GR#PHܮr9	Y!LB4NCZICMLm,f@eYxBS(+<4Y)-\rz?\$\"\" 6E\r)z@ȑr*J윋%\$eJ\0A\$ڰ/5B0SxIQ)<4YS&{b+IG=>\rPY`ZD`UF14d8X(C%`㜭0I\$7Wpǁ,Ac&Ԍp\$:>].VY\$p ]`;e\00\nK+@DLSr(onM\0@9%\"WS\" 䥙ٍػj_J-rʜ5\\25>Ze\"0%9y^WMax&a)DL2Qt?=,/of3IJ\$\r;7}\rW@ҰM|\rY]5\\*s:FV!kنRL3L	52Msb\$7\0ly& 9|m!0J4TSdGnKV:lD'/:Zs\ny%i,@ҲLj1<3ĨD2/;'Pݻ`qKȰfIL Dݬ43 OHJ	q&X!r)FXx^QwOPh՞-_>a(	x%Kb<Ej7hHt`.rPx\"{\0006CVQE&>ޅwe'?B9x>:\"73xT\0ej	[tҜ\"(\\Kezre> \0002hʇXa<JtUz`達?#2-4hFY|C\"MyƔKd E7+(UʖX /D)\"بމjohFz4tD׌GRZćȿ\0FV4Q6vbi=G;Ϭkd+\n>E\02f{!JQJؘ9(2#\\Z,Qܥ3?8`	bwR6\n*㋀ƒ(tL*Sd\0x)(*wH]7ONv(Гdgq	\nLpLNH@1M 		nze4!!	'槝-tAQPL,7\\i^\$,|Z(S9\n* +TDz?(T>LæR\$zдi̼WͨDs{)@	vPgqIVҨ\n )!8|\$pZ*!7ANjNWUQ)eFUASx\0[N2X :ST~S*T4	3]9F]:KUg;*Aya1j|8ΫIMRVh7uUr,h%<qR@N9ާk	B|8rDР@\"ɋz\rO_Q\0\0|]f\nzUeHĄ/k+TF?*03!\0It	f\0(SUZAF1\0k]WZNQ܂%x1'!-,Ƕvzg#Gh;fPH9Bju\nAVR1K+MN!SμYvdZ\\,g٨\"}WYɵtPg,	\0b-hB/@̎/MJY\0)\nI?v	Ȕ1\$(w\r+n ssQfQOP.DbV\0-J<i;[=#n,j?)\"lYL.A::BxOF7`d}}=i)@к\$ q˷(y%huzb23Ƨ.-hoO\0`VZ&yt9C鋭ZґZ!XU.kV#8G}Qu8cΫtbE>v{@{QP]<aryj\\\$jxnc6k;qsTKjJn\\C{`g65Rkts|@_0΅5:B3rѡ&㴸\0&׈ԡSXʕGmʶWr,jq\0\$޺sWP.A\n49(u.lVJuԌ+AuC>hl62GeNn='~ÞPҀ%0zur\09uEs\"\\ט^(3ՑS%<+9Ծ\0~'̞֓<+,i:@N\$o ]Z!]n,x>_fW\0006%}I\nh߀wǃ -H@_Vi{R^۔}5b,!5Hp/k<<jh|ikhLv݄\n`[WC6z\ngru=!zCţe#nj\0`^;=E*@y% LQe2A1,CixtG]qO(\nV9drD'5@x\$r6;\"ǣ7\0M0ņH_#cpn><aaq@g2lm-8?87p>jiN\$#E/0s\nB\r*zoyn[Ι 6ag8qC⼜IrNFȫ170/i(B0Z(+SJ,91/Y+jxӱFAkfJee\rCͳrzmh@9O ؝GKAdOH=<&`KPA!WO;-XLmKz7-e[upqo/`CKXfiY7=M/FR۔TdY\"=`1k1Տh\rf@Nz(@	h\0I}PJKrpR`xfo(A[19(&jo<I@p	@,y	nIs^Ўѫ:Yvc؏9q.C8bWV?҅9\$u@5#S(4YK6!N6<|v13ʊ:!`Mlf`ZJ=GXY)_lАT)P`%:!Z\"lYSUؤ(Y1Z니rv)F`K~=Y>Sc!lDBrF\$RA:\\P4VR6<OS_BCS+'V2T#LcFNBD%GWnRSI\n'k0OЎ8rݯAS?xmyvabͰ,ЅA]pJ\\\\XiEuB)Z@Ώ \"gg0{n'APR٨v~0Rw쀱\"HJΖ\\\r}i?Ғ:2g{I3)B͙Zs`.#2vtXIGU>`)%(|f<Κ_ޯ_G<_ ˟[:6G8l#J(JC`wFw\"b!,!r@K(\n@AsVSֹ4_\ns٠eڋj)&3{kQGcX^L{C\nmAD1O?((2\"UL+#o@X\0٭^n_peQ˙X}%*em{GNXlq]R\\Zv!) xd΀,cK鮇mI~K{+Gݥ=@Q,1!aEOc#6<urB\nȲdHt	{C<x3H1KwB\0u'ӆQ^򕥂irRvVɷlS.O)[xStc)kB+vBw.wC22d.Hp+a\\H[\$}nNN7H.S\rȒTw	*Hg\\\$,:KBOx>5Ӷu2n`YqDxwMBn2>GڄYaKw(2`w1m-:&LD8U8l\\<	za:,K'%7:MU[*;Kj;/wG\n^eV',;B6G1OKW(iX\npCکc6^㷀=^ûcQRp`\$	D(\0D>{ETcI\r{\$oR	ZZ4*??+jnQ`X3	\$M\n׉w\"dW~@'I᭫0+-wy6vȽ'Ԇ:Y)Y0\0*)?'ǞvfI\nz9.b!cE[F麙ks}Bvg5V,)J\$jZJ\$Yח9\0\n.^JڋbmI0:g˗ATPI]~!;D	z<PQ>m`?%YT\n\0D\0\0'H@0`<׭10(m-ɞ7A\0~~ꁡĤ?thє.w%)0	#c\"cjfW\0\0pCkC885+i:[8bl[\"5Sy\0*Q6Vs97!;\"c)OQ,Ա\r7,*0aQu?_C|R(o(<j(Tv\r|_\"3mS7D!׸h|(&@:	\"-ގ&Mu;,bк=p>A6ɭ7- WW9O,o'v2<3\0h@` 3TXϚ|\"FC_~x`'fQ-4/`'=A\$>`P_G(E&/JIv'm餧zpޞFo	/[i؋G*y(<7qY.眪B\rlr\nUnƧT>	Q_|K8ډe_xzxLp14dU#4tK\$!pwZx_i5T?}C{h/Gzj\$.BҨ=#Ϗ|*Iw/ax`**]>a?'}FJSԖA0'ʟ0:63лn'U/r|=slb0\0WrBʤ@T~\$H	D\\-(ᩖBMz+%(i㹃I5/.y/\${Q}pܻdI\\ՎB\0V0B9{T\$n8\$ZePĳ%9&Vbx}g\"%h*ٸvOw˾/oL,=V5Bg ϶3>~`\nxi\"v@nףϳyacG'%[4`n47!5ހrɉ>z(Yt0VPZXT`2~Cl[ont8jB\0d\0000Vg@V!h\0006d<=[Wf@pbaټs;G<~a?NL\"(?%x#7|SOƓ)B4+*!)6#+?'(XJO\0");}elseif($_GET["file"]=="jush.js"){header("Content-Type: text/javascript; charset=utf-8");echo
lzw_decompress("v0F==FS	_6MƳr:ECIo:CXc\r؄J(:=Ea28x?'iSANNxsNBVl0S	Ul(D|҄P>E㩶yHch-3Eb bpEp9.~\n?Kbiw|`d.x8EN!23\rYy6GFmY8o7\n\r0\0Dbc!Q7Шd8~N)Eг`Ns`S)O/<x9o3n2!r:;+9CȨ\n<`b\\?`4\r#`<BeB#N \r.D`j4par㢺>8\$c1cc{n7ANRLi\r1!(j´+62X8+.\r!xh'6S\0RO\n1(W07q:NE:68n+մ5_(s\r/m6P@EQ9\nV-\".:J8weq|؇X]Y XezW 7Z1hQfuj4Z{p\\AUJ<k@ɍ@}&L7UwuYh2@u P7Ah3ÛXEͅZ]l@Mplv) HWy>Y-Y/hC[*F#~!`\r#0PC˝f\\^%B<\\fޱ&/OL\\jFjZ1\\:ƴ>NXaFAfh{\"s\n64?8^p\"띰ȸ\\e(PNq[gr&}PhW*r_sPh\nom#.\0@pdW \$ҺQ۽Tl0 HdH)ۏ)PHgUBe\rt:\0)\"t,[(DO\nR8!Ƭ֚lAV4hSq<@}gK]]=90'wA<a~WD|A2XU2yŊ=p)\0P	sn3rf\0FvGI@%+_I`\r.NKI[ʖSJaUfSzM%\"Q|9Bcaq\08#<a:z1Uf>Zle5#U@iUGn%Ұs;gxLpP?BQ\\b龒Q=7:ݡQ\r:t:y( \nd)\nX;CaA\rPGH!@9\n\nAl~HV\nsիƯbBr3\rP%ф\r}b/Α\$5PC\"wB_UgAt夅^QUjBvh졄4)+)<j^<L4U*Bg*nʖ-	9O\$طzyM3\\9.oE(i7	tߚ-&\nj!\ryyD1g]yR7\"~)TZ0E9MYZtXe!f@{Ȭyl	8;R{8Įe+UL'F18PE5-	_!7[2J;HRǹ8p痲݇@0,ծpsK0\r4\$sJ4DZI'\$cLRMpY&iz3GzҚJ%P-[/xT{pzCv:V'\\KJaM&Ӿ\"eo^Q+h^iT1ORl,5[ݘ\$)jLƁU`S`Z^|r=n登TU	1Hykt+\0vD\r	<ƙjGt*3%kYܲT*|\"ClhE(\r8r{0D_.6и;rBjO'ۜ>\$`^69#4Xmh8:c0;/ԉ;\\'(t'+̷^]Nv#,vOiϖ><SA\\\\!3*tl`u\0p'7P9bs{v{7\"{ra(^Eg/U9g/`\nL\n)(Aa\" 	&P@O\n師0(M&FJ'! 0<H*|*OZm*n/b/.o\0dn)i:RP2m\0/vOXFʳψ\"000bgj\$n0}	@=MƂ0nP/pot.̽g\0)o\n0\rFbio}\n̯	NQ'xFaJL\r\r0'd	oep4Dʐq(~ \rEprQVFHlKjN&j!H`_bh\r1n!Ɏz\\\r`V_k\"\\ׂ'V\0ʾ`ACV`\r%\rk@NB횙 !\n\0Z6\$d,%%laH\n#S\$!\$@2I\$r{!J2HZM\\hb,'||cj~gr`ļ\$+A1E <L\$Y%-FDdL焳\n@bVf;2_(Lп<%@ڜ,\"dNer\0`Z4'ld9-#`Ŗj6ƣvN͐f@܆&B\$(Z&278I P\rk\\2`\rdLb@E2`P( B'0&{:dB1^؉*\r\0c<K|5sZ`O35=@5C>@W*	=\0N<g6s67Sm7u?	{<&L.3~D\rŚx),rin/O\0o{0k]3>m1\0I@9T34+ԙ@eGFMC\rE3Etm!#1D @H(n <g,V`R]@3Cr7s~GIi@\0v5\rV'P\r\$<b%(DdPWbfO x\0} lb&vj4LSִԶ5&dsF M4\".HM01uL\"/J`{xǐYu*\"U.I53Q3QJg5s&jьu٭ЪGQMTmGBtl-c*\rZ7*hs/RUVBNˈԊiLk.t龩rYi-S3\\TOM^G>ZQj\"iMsSS\$Ib	fu:SB|iY¦8	v#D4`.^HM_ռuUz`ZJ	e@Cea\"mb6ԯJRT?ԣXMZІpQvjjV{C\r7Tʞ 5{P]\r?QAA2񾠓V)Ji-N99fl Jm;u@<FѠejĦI<+CW@Zl1<2iF7`KG~L&+NYtWH飑w	ls'gq+LzbizŢ.ЊzW zdW(y)vE4,\0\"d\$B{!)1U5bp#}m=@w	P\0\r`O|	ɍYJՂEOu_\n`F`}M.#1f*ա  zuc xf8kZRs2ʂ-Z2+ʷ(sUcDѷX!u&-vPر\0'LX Lo	>Վ\r@P\rxFEȭ%=5N֜?7NÅw`hX98 qzd%6̂t/Ll,KaN~,'ǀM\rf9w!xx[ϑG8;xA-I&5\$D\$%xѬ´]&o-39Lzy6;uzZ 8_ɐx\0D?X7yOY.#38ǀeQ=؀*Gwm Y]YOYF)z#\$e)/z?z;^FZg`^e#?eM3u偃0>\"?@חXv\"*Ԣ\r6v~OV~&ר^gđٞ'f6:-Z~O6;zx;&!+{9Mٳd \r,9Wݭ:\rٜ@睂+]-[gۇ[s[iiqyx+|7{7|w}EWWk|J؁xmq xwyj#e(ߞþ {ڏyM@ɂY(g͚-J(@;y#SYp@%so9;+	;ZNٯº kVu[x|qON?	`u6||Xس|Ox!:ϗY]c\rh9n8'\rS.1USȸX+z]ɵ?C\r\\\$`)U|ˤ|Ѩx'՜<̙e|ͳLMy(ۧlкO]{ѾFD}yuĒ,XL\\x;UWtv\\OxWJ9ȒR5WiMi[Kf(\0dĚ迩\rM7;6KʦI\rxv\rV3ɱ.R|^2^0߾\$Q[Dܣ>1'^X~t1\"6L+AeI~@pM>m<SK-HT76SMfg=GPʰP\r>2Sb\$C[()%Q#G`uGwp\rkKezhjzi(rOT=7~4\"ef~dVZU-b'VJZ7)T8.<RM\$'by\n5_wU`ei޿JbguS?`+ Mg7`\0_-_?F\0X[J8&~D#{P4ܗ\"\0@ғ\0F ?*^wО:u3xK^w߯y[Ԟ(#/zr_g?\0?1wMR&M?StT]ݴG:I)B v1<t6:W{x:=ޚ:!!\0xq&0}z\"]ozjw6JP۞[\\ }`S\0qHM/7BP]FT8S5/I\r\n O0aQ\n>2j;=ڬdA=pVL)X\n¦`e\$TƦQJlJyI	:BbPZnU;>_\n	`uM򌂂֍mLwB\0\\b8M[z&1\0	\rT+\\3Plb4-)%Wd#\nrMX\"ϡ(Ei11(b`@fSjDbf}rDR1bAIy\"WvgCIJ8z\"P\\i\\m~ZRv1ZB5Ii@x-uM\njKUh\$oJϤ!L\"#p7\0 P\0D\$	GK4e\$\nG?3EAJF4Ip\0F4<f@ %q<kw	LOp\0x(	G>@9\0TGB7-G:<Q#Ǵ1&tz0*J='J>8qХ	OXFQ,\"9p*66A',yIFRT\"HR!j#kyFezG\0paJ`Ci@T|\nIxK\"*Tk\$cƔaAh!\"E\0OdSx\0T	\0!F\nU|#S&		IvL\"\$hEAN\$%%/\nP1{) <L-R16<@O*\0J@qԪ#@ǵ0\$t|]`ĊA]PᑀCp\\pҤ\07@9bmroC+]Jrf\r)d^hI\\. g>8'HfrJ[ro.v##yR+y^F\0᱁]!ɕޔ++_,\0<@M-2WR,ce2*@\0P ca0\\PO`I_2Qs\$w=:z\0)`h\nJ@@ʫ\0 6qT4J%N-m.ɋ%*cnN6\"\r͑fApMۀI7\0M>lO4S	7c\"ߧ\06psy.	RKPAo1FtIb*<@7˂p,0N:Nm,xO%!vgz(MI	~yh\0U:OZyA8<2us~lEO00]'>ɍ:;/w'~3GΖ~ӭc.	vT\0ct';P\$\$-se|!@dObwc'@`P\"x0O5/|U{:bR\"0шk`BD\nkPc4^ p6S`\$f;7?ls߆gD'4Xja	AE%	86b:qr\r]C8cF\n'ьf_9%(*~iS@(85T[Jڍ4Il=Q\$dh@D	-!_]HƊk6:\\M-\rFJ>\n.qeG5QZ' ɢہ0zP#rtˎ<QT3D\\pOE%)77Wt[@\$F)5qG0-Wv`*)Rr=9qE*K\$g	A!PjBT:K!H R0?6yA)B@:Q8B+J5U]`Ҭ:*%Ip9̀`KcQQ.BLtbyJET7Am䢕Ku:Sji 5.q%LiFTriKҨz55T%UUIՂY\"\nSmxChNZUZ( B\$YVu@蔻|	\$\0\0oZw2Ҁx2k\$*I6InI,QU4\n).QaI]Lh\"f>:Z>L`nض7VLZueXBBZ`;J]S8f \nڶ#\$jM(ޡaG+A!xL/\0)	C\nW@4۩ RZ=8`8~hP \r	D-FyX+fQSj+X|9-sx+Vcbp쿔o6Hq@.l8gYMWMPUYL3PaH29:a`d\0&YY0٘S-%;/TBSP%f@F(֍*q +[Z:QY\0޴JUY֓/pkzȈ,𪇃jꀥW״eJFVBI\rpFNقֶ*ը3k0D{`qҲBqeDcVEnFGE>j0ga|Sh7u݄\$;a7&R[WX(q#Pזc8!HVXĎjZQ,DUaQX0ըGblBt9-oZL­pˇx6&MysҐ\"̀RIWU`c}l<|~w\"vI%r+R\n\\][6&ȭaӺj(ړTѓC' '%de,\nFCэe9CNЍ-6UeȵCXV+R+3BڌJ虜T2]\0Pat29(i#aƮ1\"S:oF)kfЪ\0ӿ,wJ@V򄎵q.e}KmZXnZ{G-ZQ}׶6ɸ_؁Չ\n@7` C\0]_ ʵ}GWW: fCYk+b۶2S,	ڋ9\0﯁+WZ!e2k.Oc(v̮8DeG`ۇL,d\"CB-İ(pp=!k}(Bkr_Rܼ08a%ۘL	\0b@\"r,0TrV>Q\"rP&3bP-xuW~\"*舞Nh%7KY^ACp\0..`c+ϊGJHEl@|I#AcD|+<[c2+*WS<rg}>i݀!`f8(cQ=f\n2ch4+q8\naRB|Rm\\qgXώ0X`nFO pHCjdfEuDVbJɦ:\\!mɱ?,TIaaT.L],J??FMct!a٧RFG!Arr-pX\rC^7&R\0f*A\n՛HyY=l<A_	+tA\0B<Ay(fy1cO;pᦝ`4СM*f 5fvy {?:y^cu'8\0ӱ?g 8B&p9O\"zrs0B!u3f{\0:\n@\0p6v.;bƫ:J>˂-BhkR`-awxEjr8\0\\\\Uhm (mH3̴Sq\0NVhHy	5M͎e\\g\nIP:Sjۡٶ<x&L;nfͶcq\$f&li0%yΞt/gU̳d\0e:hZ	^@1m#Nw@OzG\$m66}ҋX'Ii\\QY4k-.:yzH]xG3M\0@z76-DO34ދ\0Κΰt\"\"vC\"JfRʞku3M~5V j/3@gG}DBNq=]\$IӞ3x=_jX٨fk(C]^jMFաϣCzV=]&\rA<	6Ԯ״`jk7:g4ծYZqftu|hZ6i〰0?骭{-7_:ސtѯck`Y&IlP`: j{h=f	[byʀoЋBRSB6^@'41UDq}N(X6j}c{@8,	PFCB\$mvP\"LCS]ElUfwh{o()\0@*a1G (D4-cP8N|RVMn8G`e}!}p@_nCt9\0]us~r#Cnp;%>wunwݞ.[hT{值	ˁJƗiJ6O=EٴImV'@&{;op;^6Ŷ@2lNMr_ܰÍ` ( y67ǂ7/pe>|	=]oc&xNm烻oGN	pxýy\\3'I`rG]ľ7\\749]^p{<Zq4u|Qۙpi\$@ox_<9pBU\"\0005 iׂCp\ni@[4jЁ6bP\0&F2~U&}ɘ	Da<zxk=r3(l_FeF41K	\\ӎld	1H\rp!%bGXf'\0	'6ps_\$?0\0~p(H\n1W:9͢`:hBgBkpƁtEBI@<%` yd\\Y@DP?|+!W.:Lev,>qA:bY@8d>r/)B4(`|:t!?<@/SP\0>\\ |3:Vuwx(4ZjD^L'C['jº[E u{KZ[s6S1z%1cB4B\n3M`0;3.&?!YAI,)lW['ITj>FSBбPcaǌuNH	LS0Y`\"il\rB/%PNG0JX\n?a!3@MF&ó,\"lb:KJ\r`k_bAį1I,;B,:Y%J#v'{	wx:\ni}ceN`!w\0BRU#S!<`&v<&qO+ΣsfL9QBʇb_+*Su>%08@l?L1po.C&ɠBqhz\0`1_9\"!\$~~-.*3r?òds\0>z\n\001~J|Sޜk7g\0KԠdaPg%wDzm)j`kQ^1+>/wbGwOk_'-CJ7&E\0L\r>!q́7o`9O`+!}P~ENcQ)##Jz_u{K%\0=OX߶C>\n|w?FaϩUb	NYh/)G2K|y/\0Z{PYG;?Z}T!0=mNf\"%4a\"!ޟ\0}[ܾbU}ڕm2/t%#.ؖseBp&}[˟7<aK8P\0g?,\0߈r,>W/[qk~CӋ4G:XGr\0L%VFLUc䑢HybP'#	\0п`99~_0q5K-E0bϭt`lmbƘ; ,='S.bSCcʍAR,X@'8Z0&Xnc<<ȣ3\0(+*3@&\r+@h, \$O\0Œt+>bʰ\r><]#%;NsŎ*c0-@L >Yp#-f0ʱa,>`P:9oovR)e\0ڢ\\\nr{îX:A*.D7#,N\rEhQK2ݩz>P@	T<=:XGJ<GAf&A^p`{0`:);U !e\0cp\r:(@%2	S\$Y3hC:O#L/k,Koo7BD0{jj&X2{}Rxvأ9A0;0-5/< N8E	+ЅPd;*n&8/jX\r>	PϐW>KOV/U\n<\0\nIk@㦃[Ϧ²#?%.\0001\0k`1T ɐlp< .>5\0	O>k@Bn<\"i%>z3P!\r\"\r >adU?ǔ3Pj3䰑>;>t62[޾M\r>\0PBOe*Rny; 8\0o0i3ʀ2@?x[Law\nsAx\r[a6clc=ʼX0z/>+W[o2)e2HQPDYzG4#YDp)	Hp&4*@/:	T	aH5h.A>`;.Ya	t/ =3BnhD?(\n!Bs\0D&DJ)\0jQyhDh(K/!>h,=tJ+S,\"MĿN1[;Т+#<IZğP)LJDP1\$Q>dOv#/mh8881N:Z0ZT BCq3%@\0\"XD	3\0!\\8#hvibT!dV\\2SŒ\nA+ͽpxiD((<*+ETBSCȿT eA\"|uv8T\0002@8D^oo|NJ8[3Jz׳WL\0\0Ȇ8:y,6&@ Eʯݑh;!f.B;:[Z3nȑAqP4,Xc8^`׃l.ShޔO+%P#Ρ\n?IBeˑO\\]6#۽؁(!c)N?EB##D DdoPA\0:nƟ`  Q>!\r6\0V%cbHF)m&\0B2I5#]D>3<\n:ML9C0\0(ᏩH\nM\"GR\n@`[\ni*\0)u)Hp\0N	\"N:9q.\r!J{,'4BlqXc4N1ɨ5Wm3\nF`'Ҋx&>z>N\$4?(\n쀨>	ϵP!Cq͌pqGLqqGyH.^\0z\$AT9FsЅD{acc_Gz) }QhHBָ<y!L!\\'H(-\"in]Ğ\\!`MH,gȎ*Kf*\0>662hJ7{nq8H#cH#\r:78܀ZZrD߲`rG\0l\nIi\0<\0Lg~E\$P\$@PƼT03HGHlQ%*\"N?%	\nCrWC\$p%uR`%R\$<`Ifx\$/\$\$O(\0\0RY*/	\rܜC9&hh=I'\$RRI'\\a=Eu·'̙wI'TK9%d!j&v̟\\=<,E`Y\\*b0>r,dpd0DD ̖`,T 1% P/\rb(JT0``ƾJtʟ((dʪh+ <Ɉ+H%i#` 'B>tJZ\\`<J+hR8hR,J]gI0\n%J*YJwD&ʖDRK\"1Q AJKC,mV-KI*r\0L\"Kb(J:qKrdʟ-)ˆ#Ը޸[A@.[Ҩʼ4.1J.̮u#Jg\0򑧣<&K+	M?/d%'/2Y>\$l\0+}-tͅ*R\$ߔK.JHʉ2\rB(P6\"nf\0#Ї %\$[\nnoLJe'<1KyY1s0&zLf#Ƴ/%y-ˣ3-KL΁0[,̵,0(.D@2L+.|2(L*S:\03G3laːl@L3z4ǽ%̒L3!033=L4|ȗ+\"47,\$SPM\\?JY̡+(a=K4C̤<Ё=\$,UJ]5hW&tI%5ҳ\\M38g́5HN?W1H^ԸY͗ؠ͏.N3M4Å`i/P7dM>d/LR=K60>I\0[\0\r2Z@1279FG+Ҝ\r)hQtL}8\$BeC#r*H۫-H/6\$RC9ب!7k/P0Xr53D<TԒqKnH<F:1SLr%(u)Xr1nJIS\$\$.·9IΟ3 LlΙ9CN#ԡ\$/s9@6tN9N:7Ӭ:DM)<#M}+2NO&JNy*ٸ[;O\"mM<c´8K,N=07sJE=TO<J=D:C<ˉ=Kʻ̳L3LTЀ3S,.q-s7>?7O;ܠ`OA9ϻ\$O;`9nIAxpE=O<52O?d`NiO>3P	?OmSMˬ=(dAȭ9\0#@9D&?i9\n/AȭASPo?kuN5~46=򖌓*@(N\0\\۔dGp#>0\$24z )`W+\080菦z\"T0:\0\ne \$rM=r\nNPCmt80 #J=&3\0*B6\"#>	(Q\n81C\rt2EC\n`(x?j8N\0[QN>'\0x	c\n3Ch`&\08\0\nO`/A`#XcD tR\n>dBDLDt4jpGAoQoG8,-sK#);E5TQG4Ao\0>tMD8yRG@'PC	<PC\"K\0x~\0ei9v))ѵGb6H\r48@M:FtQ!H{R} URpO\0It8[D4FD#+D'M>RgIQJU)EmTZE'iEqFzA>)TQ3H#TLqIjNT&ChX\nTK\00005JH\0FE@'љFphS5F\"oѮe%aoS E) DUQFmѣMѲe(tn U1ܣ~>\$ǂ(hǑGy`\0	G35Sp(PG\$#	N\nV\$]ԜP=\"RӨ?Lzt1L\$\0G~,KN=GMNS)O]:ԊS}81RGe@C\0OPSN1T!P@SSG`\n:Pj7R @3\n DӠL	\0Q5CPSMPv4?h	hTD0֏>&ITxO?@UR8@%ԖKNKRyEE# @%LQQ?N5\0R\0ԁTFԔRS!oTEC(ĵ\0?3iSS@UQeM	K\n4PCeS\0NCPO!\"RTSNU5OU>UiIPU#UnKPUYT*CU/\0+):ReA\$\0xWD3`U5IHUY:P	e\0MJiQ>@TC{u?^v\0WR]U}C1-5+U?\rW<?5JU-SXL \\t?sMbՃV܁tT>MU+	Ec9Nm\rRǃC8SX'RXjCI#G|!QGhtQ )<Y*RmX0MOQYhduZ(Ao#NlyNVZ9IMVZuOՅTTEՇַSe\nXSQER[MFVO=/>gչTVoUTZN*T\\*S-pSVqM(Q=\\-UUUVCZ\nuV\$?M@UWJ\r\rU\\'UW]WW8N'#h=oCF(:9YuV-U9]C:U\\\nqW(TT?5P\$ R3⺟C}`>\0E]#R	#R)W:`#G)4R;ViD%8)Ǔ^Q#h	HX	\$Nx#i xԒXR'9`m\\\nEQ`bu@NdT#YYGV]j5#?Lxt/##酽OPQ6^ M\\R5tӚp*XV\"WD	oRALm\rdGN	6p\$P废E5Tx\n+C[V8UDu}ػF\$.Q-;4ȀNX\n.Xb͐\0b)#NG4KZS^״M8d\"C>dHe\nY8. ҏFDW1cZ6QKH@*\0^\\QF4U3Y|=ӤEۤ?-47YPmhYw_\rVeױMُe(0F\r!PUIu7QCю?0gu\rqधY-Q=g\0\0M#US5Zt֟ae^\$>ArV_\r;tHWZ@HhzD\0S2J HIO'ǁeg6[R<? /KM\n>HZ!iTX6iC !ӛg G }Q64>w!ڙC}VB>UQڑj8cUT'<>HC]V7jj3v`023x@Uk\n:Si5#Y-wM?cMQGQуb`\0@ҧ\0M)ZrKX֟WllTMD\r4QsS40sQ́mYhdC`{VgE\nXkՁ',4^6#<4NXnM):OM_6d[\"KUn?lx\0&\0R56T~>ո?Jn Z/i6glͦUF}.JLCTbM4cLTjSD}JtZ:Ld:Ezʤ>V\$2>[p6R9uW.?1RHuR?58ԮDupcZ?r׻ Eaf}5wYϒWwT[Sp7'_aEk\"[/i#\$;mfأWOF\r%\$ju-t#<!\n:KEA]\nUQKE#X5[>`/D֭VEp)I%qnx):le[e\\eV[j7 -+GWEwtWkE~uQ/m#ԐW`yuǣDA'ױ\rՙOD )ZM^u-|v8]ghLW\06X=YdQ7ϓ9r <֏DB`c9`D=wxI%,ᄬj[њO ``|.	AO	@@ 0h2\\ЀM{e9^>@7\0˂W\$,Ś@؀w^fm,\0yD,ם^X.ֆ72f;6\n^zCקmzn^&LFF,[eaXy9h!:z9cQ9b !Gw_Wg9S+tptɃ\nm+_	\\k5]4_h9 N]%|7֜];|X9|G[\0}UMCI:qOVԃa\0\rR6π\0@HP+rSWp7I~p/H^E-%̻&.+Jђ;:!N	~/W!BL+\$q=+`/Ƅe\\xpElpSJSݢ6_(ůb\\O&\\59\09nD{\$Kv2	d]vC?tf|W:p&Ln賞{;GR9T.yI8\rl 	Tn3T.93ZsG:	0z.]ģQ?gT%xՌ.n<-8B˳,BrgQɎ`2:{gsgZ ׌<w{bU9	`5`4\0BxMp8qnah@ؼ-(>S|038h\0CzLQ@\n?`A>2,N&xl8sah1|BɇDxB#VV׊`Wa'@	X_?\n  _. Pr2bUarI~S\0ׅ\"2>b;vPh{[7a`\0˲jo~v|fv4[\${P\rvBKGbpO5ݠ2\0jلL)mVejBB.'R{CV'`؂ %ǀ\$O\0`4 N>;4/π*\\5!`X*%N3SAMƔ,1\\caϧ @˃B/0`v2`hDJO\$@p!9!\n17pB,>8F4fπ:733T8=+~n\\e<brFز CN:c:l<\r\\3>6ONn!;@tw^FL;,^a\ra\"ڮ':vJe4א;_d\r4\r:S2[cXʦPl\$ޣiwd#Bb`:~ <\02RP\rJ8Dt@E\0\r͜67Y\"\r3.+z3;_ʟvLwJ94IJa,A;s?N\nR!ݐOms_-zۭwzܭ7zMo\0aݹ48PfY?ieBS1\0jDTeKUYS?66R	c6Ry[c5]B͔R_eA)&[凕XYRW6VYaeUfYewUbwEʆ;z^W9קݖ\0<ޘe9Sda	_-L8ǅQTH[!<p\0Py5|#P	9v2|Ǹfao,j8\$A@kabcf4!4cr,;b=;\0źcdXbxaRx0Ah+wxN[BpwT8T%Ml2}s.kY0\$/fU=sgKM ?`4c.!&分gf/f1=V AE<#̹f\n)Np`.\"\"AqX٬:a8fVsGr:VcgVlg=`WygU˙ẼeT=x 0 M@%κbwfO筘*0|t%PpgK?p@J<Bٟ#`192g!3~nlfVh.aC?-168>Aa\ry0iJ}z:\r)S@h@YmCEgcyφ<h@@zh<W`:zO\rWV08f7(Gy`St#f#C(9؀d8T:0 q79phAg6.7Frb jA5a1hZCh:%gUD9Ɉ׹0~vTi;VvSw\r΃?fnϛiYa3·9,\nr,/,@.:Y>&F)}biOi:dAnc=L9Oh{ 8hY.\rև1QU	CheO+2oNzp(]hZ|OczD;T\0j\08#>Ύ=bZ8Fj;޺T酡w)N`ÅB{z\rc|dTGi/!i0'`Z:CH(8`V\0ꧩWǪzgG-[	iN\rqno	ƥfEJapb}6=o,tY+EC\rPx4=@.F[zqX6:FG#\$@&abhE:`S11g12uhY_:Bߡdc*\0ƗFYF:n=ۨH*ZMhk/냡zٹ]h@1\0ZK^+,vfs>O|s\0֜5XѯFnAr]|Ii4 C h@عcߥ6smOgXV26g?~YѰscl \\R\0cA+1\n(^368cz:=z( ;裨sF@`;,>yT&dLן%-CHL8\rbMj]4Ym9ZBP}<X̥+g^M + B_FdXlw~\r⽋\":qA1X3ΓEh4ZZ&1~!Nfo\nMe଄XI΄G@V*X;Y5{V\nTz\rF3}mp1[>tew@Vz#2	i{9p̝gh+[elUAٶӼi1!omm*K}!Ƴ{mef`mCz=n:}g TmLu1F}=8ZOmFFMfOO/ޓVoqjn!+ZI.9!nG\\3a~O+::K@\n@Hph\\BdmfvCP\" .nW&nHY+\rzi>MfqۤQc[H+o*1'#āEwD_X)>s-~\rT=- ym{hjM)^'@V+i;FD[b!B	:MPۭoCvAE?CIiY#pP\$kJq.07xlsC|bo2X>M\rl&:2~cQod-URoYnM;n#\0PfPo׿(Cv<[o۸fѿ;ẖ[Y.oUppU.B!'\0<T:1<nFIǔV0ǁRO8w,aFɥ[ΟYO/\0oxQ?:ً`h@:/Mmx:۰c1v;^@@\n{;B8 g坒\\*gyC)E^Oh	Au>@DY`o<>pķq,Y1Q߸/qg\0+\0D? k:\$ץ6~I=@!vzO񁚲+9iag?0Gnq]{Ҹ,FO <_>f+,	&·yǩO:U¯L\núI:2-;_Ģ|%崿!f\$Xr\"Kni\$8#gt-r@L圏@S<rN\nD/rLdQk࣓eЭ\n=4)Bך");}else{header("Content-Type: image/gif");switch($_GET["file"]){case"plus.gif":echo"GIF89a\0\0\0001\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"GIF89a\0\0\0001\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"GIF89a\0\0\0001\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"GIF89a\0\0\0001\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;}if($_GET["script"]=="version"){$r=file_open_lock(get_temp_dir()."/adminer.version");if($r)file_write_unlock($r,serialize(array("signature"=>$_POST["signature"],"version"=>$_POST["version"])));exit;}global$c,$g,$l,$Ib,$Pb,$Zb,$m,$Cc,$Hc,$ba,$Yc,$z,$a,$qd,$le,$Qe,$fg,$Mc,$T,$Ng,$Tg,$ah,$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]";if($_SERVER["HTTP_X_FORWARDED_PREFIX"])$_SERVER["REQUEST_URI"]=$_SERVER["HTTP_X_FORWARDED_PREFIX"].$_SERVER["REQUEST_URI"];$ba=($_SERVER["HTTPS"]&&strcasecmp($_SERVER["HTTPS"],"off"))||ini_bool("session.cookie_secure");@ini_set("session.use_trans_sid",false);if(!defined("SID")){session_cache_limiter("");session_name("adminer_sid");$Ge=array(0,preg_replace('~\?.*~','',$_SERVER["REQUEST_URI"]),"",$ba);if(version_compare(PHP_VERSION,'5.2.0')>=0)$Ge[]=true;call_user_func_array('session_set_cookie_params',$Ge);session_start();}remove_slashes(array(&$_GET,&$_POST,&$_COOKIE),$tc);if(get_magic_quotes_runtime())set_magic_quotes_runtime(false);@set_time_limit(0);@ini_set("zend.ze1_compatibility_mode",false);@ini_set("precision",15);$qd=array('en'=>'English','ar'=>'العربية','bg'=>'Български','bn'=>'বাংলা','bs'=>'Bosanski','ca'=>'Català','cs'=>'Čeština','da'=>'Dansk','de'=>'Deutsch','el'=>'Ελληνικά','es'=>'Español','et'=>'Eesti','fa'=>'فارسی','fi'=>'Suomi','fr'=>'Français','gl'=>'Galego','he'=>'עברית','hu'=>'Magyar','id'=>'Bahasa Indonesia','it'=>'Italiano','ja'=>'日本語','ko'=>'한국어','lt'=>'Lietuvių','ms'=>'Bahasa Melayu','nl'=>'Nederlands','no'=>'Norsk','pl'=>'Polski','pt'=>'Português','pt-br'=>'Português (Brazil)','ro'=>'Limba Română','ru'=>'Русский','sk'=>'Slovenčina','sl'=>'Slovenski','sr'=>'Српски','ta'=>'த‌மிழ்','th'=>'ภาษาไทย','tr'=>'Türkçe','uk'=>'Українська','vi'=>'Tiếng Việt','zh'=>'简体中文','zh-tw'=>'繁體中文',);function
get_lang(){global$a;return$a;}function
lang($w,$ce=null){if(is_string($w)){$Te=array_search($w,get_translations("en"));if($Te!==false)$w=$Te;}global$a,$Ng;$Mg=($Ng[$w]?$Ng[$w]:$w);if(is_array($Mg)){$Te=($ce==1?0:($a=='cs'||$a=='sk'?($ce&&$ce<5?1:2):($a=='fr'?(!$ce?0:1):($a=='pl'?($ce%10>1&&$ce%10<5&&$ce/10%10!=1?1:2):($a=='sl'?($ce%100==1?0:($ce%100==2?1:($ce%100==3||$ce%100==4?2:3))):($a=='lt'?($ce%10==1&&$ce%100!=11?0:($ce%10>1&&$ce/10%10!=1?1:2)):($a=='bs'||$a=='ru'||$a=='sr'||$a=='uk'?($ce%10==1&&$ce%100!=11?0:($ce%10>1&&$ce%10<5&&$ce/10%10!=1?1:2)):1)))))));$Mg=$Mg[$Te];}$ta=func_get_args();array_shift($ta);$zc=str_replace("%d","%s",$Mg);if($zc!=$Mg)$ta[0]=format_number($ce);return
vsprintf($zc,$ta);}function
switch_lang(){global$a,$qd;echo"<form action='' method='post'>\n<div id='lang'>",lang(19).": ".html_select("lang",$qd,$a,"this.form.submit();")," <input type='submit' value='".lang(20)."' class='hidden'>\n","<input type='hidden' name='token' value='".get_token()."'>\n";echo"</div>\n</form>\n";}if(isset($_POST["lang"])&&verify_token()){cookie("adminer_lang",$_POST["lang"]);$_SESSION["lang"]=$_POST["lang"];$_SESSION["translations"]=array();redirect(remove_from_uri());}$a="en";if(isset($qd[$_COOKIE["adminer_lang"]])){cookie("adminer_lang",$_COOKIE["adminer_lang"]);$a=$_COOKIE["adminer_lang"];}elseif(isset($qd[$_SESSION["lang"]]))$a=$_SESSION["lang"];else{$ka=array();preg_match_all('~([-a-z]+)(;q=([0-9.]+))?~',str_replace("_","-",strtolower($_SERVER["HTTP_ACCEPT_LANGUAGE"])),$Ed,PREG_SET_ORDER);foreach($Ed
as$D)$ka[$D[1]]=(isset($D[3])?$D[3]:1);arsort($ka);foreach($ka
as$_=>$H){if(isset($qd[$_])){$a=$_;break;}$_=preg_replace('~-.*~','',$_);if(!isset($ka[$_])&&isset($qd[$_])){$a=$_;break;}}}$Ng=$_SESSION["translations"];if($_SESSION["translations_version"]!=2138479313){$Ng=array();$_SESSION["translations_version"]=2138479313;}function
get_translations($pd){switch($pd){case"en":$f="A9Dy@s:G(ff	:Sa2\"1..L'Im#s,KOP#I@%9i4o2ύ,9%Pb2ar\n2NC(r41C`(:Eb9Ai:&㙔yFY\r\n 8ZS=\$A`=܌0\ndF	n:Zΰ)QmwOmfpQ΂qaį#qw7SX3=OztR-<igKG4nr&r\$-ӉKX9,87o)*/h/Ȥ\n98ⳈE\rP/k)\\# ڵ)jj8:0c9i}QX@;B#I\0xC@:t\$~8^ㄵC ^(ڳp̳M^|8(ƦkQ+;:hKN 2c(T10@B78oJC:rξ6%x<\r=6mp:ƀ٫ˌ3#CR6#N)4#u&/3#;9tCX4N`;#C\"%5£\"hz7;_qCcB\n\"`@YdMTTR}Wy#!/+|QFNyl@2J_(\"~bh(e /PlB\rCx3\rP&E*\rd7(NIQmakw.Iܵ{9Z\rl׶ԄI2^߉Fۛ/nom/c4\")̸5pAp5Qjׯ6pP*1n}CcKsTr1L\0D(bєu!\nv4#\$pܔ%PG=DsBkx1̳<5ͳ|Ni5@E֫ǈ!\\U5d&΍L5\"\$hi<2;7NQJ_(*!!F;qEM*bȐ{(4``Eߞ ht\0E\nI\$NX\"Pq\\dȹ\$1LLI/A5[̈́E\r\\LqGj<BjIIj\0P\"H7\n\"rCaffTI!&C8d=WfUi!<)FL]R&pdRzf2ӞINpr]lcICVcg0̑@\nlfH&H0TWz^% d5ZNˠB()xNT(@(\n \"Ph/Xk>fGyc]sJCy#sR1>KiT~r>0i=.*h9p`@(+ yϹ35af:p&bY=([j(3-VtpobSRI-\\J´TPGdϳACJ2D_d&3YBh]gؠtePPF(UD/!Dp4RўHwV@@ Hodq\"/!`\"\$&laORMU\$MmIE@\\o~m81@AE0)8`Xgny`3:Jv\nL.~),h}!8##ݑxJHhp%˖A㸥&d\rN#1g,M>m	&t}R9=mI#WBgӟI7eXF)4J\r3'/4TQO0jL?tBsQ~kem_c!t|Yuxh׫>SqUKrh\rd0NInƜ]Fk''TT5=I 4vϤbُ[-6zyy&D߅36\r}\$)]{D\r\\pO\n7Nӓ[^MmEIK[KlxƪҶrhmaMaQisˬbЄ-3\$>WQy*b_KGRG޲偗+WJvFʮiU5wV݄sT{0J\0<*~:r}d^/УLñ|qJK{r)39Hdqn/9%yu\$\\9\"PdSލ6`S2G̠BNd#=;dOl>H\rBZ44/ 7l\0o\0QM`	D_\$NbYɔ>4zd \$.2\nIc,\r4<7o2.\"	pM. PPW`\rSB\rV\0`\"F0l.m\"(b`F\nZ59P\"%.;0H\"c3Uf	\r06gТ3җe[XN̮@`DB: DB\n'\n[B԰ZRSeQQMMHRi\"Պ0vqi2d\nfXf^.'*+h@	L\rڱaE\0 #N*%SvG1e\nOGl`c=HTn߱@BfXF\"-K2d\$\"\"2#\"i\"\\";break;case"ar":$f="CPl*\r,&\nA(J.0Se\\\rb@0,\nQ,l)µAj_1CMeS\ng@OgXDM)0cAn8e*y#au4 Ir*;rSUdJ	}*zU@X;ai1l(n[ydu'c(oFe3Nbp2NSӳ:LZzP\\bu.[Q`u	!Jy&2(gTSњMx5g5KK¦0ʀ(7\rm87(9\rf\"7^pL\n7A*BP<7cp4Y+dHB&O̤\\<iH2lk4ﲠƗ\ns WHBƯ(z >%t\$(R\nv-R0ӣet@2 k 4x荶I#CX@0ѭӄ0m(40ԃ`@T@2D49Ax^;؁pDpT3(m^9xDlҽC46Q\0|%[FڏtwkjPӬ m~sPinE9\rPΎ\$ؠ#r8#:Yc(r\"W6Rc6+)/wI(J'	j?ɩUHE*߂]Z\r~Fdi	[r(}B6n6661#s-p@)\"bԇdl1\\]1Kű\"J\\nS_7k!ٖN;^qjZ1̃ŇW4O=7x\" &B9`4J70EµɺțB\\pMS6n\rxu9}cOP ,d(M(`r,\0C\naH#B#\rO9EN\nS-Lil]IBF09\0QYƗ)@o'اC8 Q+ ƈPdQЫurØ\"9\nF,1OwCPRH\\C:5K/Ee'Xn\n&a5RCV<\0ҭ\$\\+xXc,܁rY=\r>V	!8ڳ`BURƍ!n)0L]ԈRR~ܚLoGP(HBIT\rLB8lnpe;!?)G _p~*szm&Y29*K;e<[|*æ@',E(80d5Ar?JYMD!.&`XҖzߩ14xw=㺕LӡĔBl*I0eXBie2QϑGtϲQΡ'0FɟQu&Ct7[zԘfA%IeoVt~tRUli\rd`T!dELjj;K\r4PQ!6i.Rе㈆\$Bס5\$Н@@\$;V6c@LIo0j<\rjP()\0\"UiQ8ĪNCII{6p \n@\"@U\"yۼ4O+bˉ0(6JbM^G([RK.̎|\\U{\$tCY˚\$/[*(4\ngiv,_f4stDĳ`7v]9cLJ:QCnŧ'KAJIXJ9rĝܣ@ 5aw(4LNskb\r@5M@L4}Ee\$gL21H\"%\0*>G35;	Id4R;RX6}TP@02ac]bvqJ\r}=pN9؉L;U-\",P)X\n)>\\>6R*yA*2sG-䤕8T\n!AY0iRZ)@H܉#8KB(O\"Tx \"k7t^{#%'XBgKVPO~c S&^Y|:eBy8U\\6GᙃHHD>&{izo:L@e\0TRA܎#ĩ1I01PBW'?ڗ;%(q\r*]YZU(.敱VA9B\niQ	%\rϐTp'UGx!-'ưc=f0{Dݬ;>#|13{G{`,x\\;^- \n\"tWǔécOk4HOO_ZBmL,*+\"VMX\"@\0P: @RJIOJ]H^LVD\$)qdc>H0DuJ̀PAxy	\0f\n'dĶ'|D\"VNJ]P>LbNݭ|Cװ+K#q\0t'0	p\rc\rRo	-d1>#0_#8flHVBq\n!cH\n#侌ImfpdT(aq+ڢ@xBjOlT?/:֍l;qp\$Bc\"y`Pw60Ѥ\"&p\\.MOdOsE\"aG:mE;FHڌq2/·'f r	{!\0q##I\"Dɰdpf@0\\\$i!]p+&5'f(q\$'Ŀ\$nri(Km!u\0Ļ\"L+.GlR:NjfTfwPM&l~e,\rG&(i&Hs\r<\"nLc VJZ)c*(``{`\rd0@@gFx7\r\r }eP&`ж@\npBh4bmb:c\$o>aϠP	I4aNq\$nJ@2\r\0E!L<AK/ġf	޶VB8.=t=%*n+N-!/Xj&Brxg-\$&l\"-0C	J/AT#B Bf4CI6\n\r)L2Cg]\"&.+ED!lϼ\$&hAT)/\074v{~qq܅s8 \n2\r2yxE&j9C\$@(̅-PbtK'0\n d4pOdp&\rd 	\0t	@\n`";break;case"bg":$f="P\rE@4!AwhZ(&~\nfaN`D4\"]4\r;Ae2a.arp@ד|.W.X4FP\$hRs}@ЗpДB4sE΢7f&E,iX\nFC1l7cMEo)_G_<Gӭ},k놊qPX}F+97iZ贚iQ_aZ*n^S9YV~]X\\R6}j}	l4v=3	\0@D|¤[^]#s.3d\0*X7p@2C9( 9#2pAtcƣn9G8:p43Jn<(5\nKz\0++0KXe>IJLH/sP9K<hT <p(h.J*p!S4&\n<J6#tPxDc::WY#Wp5`:F#H4\rp0;c X90z\r8a^H\\0LPEc8_\"iڡxDlWU#4V6r@|.JbBN]0Pl8M'l<8ݴN<+ŒدzB9\rHΏ\"-(J䧍_NݝK(B>H;hL|AM\\Ԑ1\nIbU9%\rM݆ڊ#|ՌL\"\$ۛ\0SHm4G:ں|̙MS\"#D)+ r>)I-+eN☢&!ƔL2LvTPKbȽy=q-,*%sM|eJv.͹C&:1	\$!8,9:<	eBSZLHBϞ>RlD'\0ۉ\n.(i7V#(lƘVNI\n\$T&rO>Ќ%6V^-9CcF2FVp	P \nF/1%0Dǋ:+)ȳ4\\;/H-#\r,D*3hV!b`X!/Dhk%5)%*	;uB_hnPvhZI=Àj\"9z (@aD(\$\0UU\n9-pƒR8dUkd-p\"ʵFQq %U	)z7<Ȧi\"7EN.\").	QqM!\$ʏ4p\\6dPMɼ\\t.4z^ay4J_5~Jh!U@43o(8q࣍w;Qႆ\nWѷ*t\$,\0bFLZ0a 0ꮕf6Ϊk*\r\0eDa[\0c[h7N`8pf4 oJjB~,Ⱥ@P>N<g0(-yEA\r\$9\r@9QgA[^蒸\$ SwLX%\n&1M<RQI8}4F&Exgbnk*轔@(M\$QtR%j+gX8 KjӃQ.J]-J̌,24ZJl@#*idPc9ZWqĀ,P^@.\0Il`aj,mtv)],[1u9=~]Y48d#KT3]*Heqn'Ҡ6,5fs{O³ϬB/jgYiO>Jm\nqJA6(\"ڨҨo	}<Ӡ&L?U6 JXSzp	#vX\"RK#9@)vJ];N,P`tnHDhy͚CJGwP+F*\nNH6YY,qI-Q1.X܇qG,§y(5)t vO*&1cP3HnftD82&ÞBLh:K'6\\ާ%>FIbIS.r045쏅v5כDʲ(ܢ3Կ[wwvt'+\\]WH+x)\$d'zWȺz]18ޟC	\08TPUz[@7*UMx0i00ю0iaB=Q|p+v&JHNJigaJWw\\icǂдX~6G`/D+,<m97!m*(o\"IJ϶r'tP%BJ6%ĳN&j-rQ(lPt-PRh.!</\r%O[	gI\\-\"GQL%\nvNo3 E\0zVHǨbp̘2;MB3nn.R6hg6@BjсBMe\nB^k ,N1BmP+n|.M:1:gu=1`?q8*Nv맖¹Ј.'@:yfJGmnE(\nPTz\"\0qbr'[԰cMn3qpJ~Pу!7B,i&0j+B+\"A`1J\$q fQl\$p1\$Jqχ00g\\`rd͹HRc\$j_p3Q)9,@bdV?0&o\0E%*++F	+ʐc/ͼ\"r%#XS\0G&rҞ	11)Q*2&\" NlNB'\r\n2|:<u@slrZNPȍ2?\"gj8x-2G7\\xs2c22E vq`B&r|NS|:R0rkrPPG_3%bݢ%-(ftR\"\$-=~6)o>I?{1iRH-B?%-3)u;.N@t3L+2ڢf&jf:arS/CS-\r|6Jp;dͨoR8/+KI<ؓ22I)CK2'(@]'#4:HR[(6q?h-Lq.4N1+\"+*)e	I5)m+BRB_QikBqK4EMO@NN5&3QcNt4wdPhQSi.VQw=MWuutS33}tI\"?	i F	iWq++A-sH0?<\0r\r2S]Dp.&+ClU腏fU]/fs&6ܧ\0-(b:bbئlrrD +hlW5/J.\"\n6)\n`\np@na,WSrϬbpe6%bl^G~pz|SB jR4?Xr.{)'@Emtж\0E+MʪNKk>oqopmmR\n<0cΒ0igP7:Qb^2t4|AҟO^Thhuqtn ƳjwjQw_tRjt4|h@ė%?Wm:Q4Ho8\$bXNO.\"s#&0} n\"%\nePf(.k#HbZl@v4I\\y}yt{vL?NmC*xG*mwǂMo%H4>Ȏ0U`wԭ;Qj";break;case"bn":$f="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S4PDz.SE<OSkbOafhb\0Br)QWE{KPP~9\\l*_W	7ɼ 4NQ 8'cIg2O9d0<CA:#ܺ%35!nnJmk,q@ᭋ(n+L9xkI2L\0I#Vܦ#`B4: ,X2,(_)7*\npp@2C9.#\0ˋ7ct.A>7cHB@GCwF0;IF~#5@RSz+	,;1O#(w0cGl-ъvMYL/q)jبhmb0\nPz-Lѥ*Sђ\n^S[̐ l6 x>Ä{#вh@0/0o 4a7`@`@2D49Ax^;pv3(&9xDlI4640}Dw)c8\"ej}PF5S4|4/_BV@U3+ڳpAw%9Z +#&J2!˵<#Tz@ˣsO3R{{FrQ]PM. \nB&80e;#`2VP-:'sh;k?U&6R/\\N*CVUW]},@mܐ1hU}+^3\r=\0CrI\n!0\$lG\0ћ4NS݀B\n>L*C|7R *#9UcwvUFunuD :\\%-5[F-j6?PQ\"Ynfpy,-I̔6,j\nا|LĢe,Y-(\"'F#cD= wN<3`ػJ S,(yh<\0`\0:LlX:)JC8aI]e<Q!051+jkhSI=Pn3bxS1hAS0dMX1u\n<mOA4LnzoۗҾ[{x!MrMZMͲlC\$m\r(RXA9&(p\r,l2.hcd2fPS,\rɰ2b\nP3C\r:Q`|ca@V	QJ0mޜz>ET̥ͨI/(\rL1Jcr3S*쬂rX\$\0Q+ ixD&YQ*Ia@\$=_3Q唀[n0\08Sr,w&ca0*zOY=/^Ɇ{IJ-v,nDZcԢh\n\"s]X%ez%(TDc<-&IJk@0-4 v#0a׵vCq}(\$wir{[ca5pmIxek{	7ɚ҉@S\0¡hx_ \"@\n(Rl)8R:]*[Qvlq\"TbSV A865`qÐ\r5}̟Il<i!e#WJņi#8QsQD?ckh ~F!Д#cd\nRו\"\nGyO#F.Il#9)\"gݼ\"Ν[}E8Mo<:CaNHrP kOI4kEn' c#P5L96l<̘,\r0QR+jڪ'&W=`3J.@;1dq.5ͰUyK;`FϗF#Ek9ȴ3Oݯg?8斅[\0:\\FI!=<X&\na^KJ{Sulr2vƬLu6DzӤ-8 od!N#p[^GE8SNw.FX\rY!n<9zWr(y)c]0ԢyJ^	o騢\\hlk \n 	\0@Ʉ\r%K_\0֏g\n)Kr^6r\n~rLlVvBb2FFkĢVZYHWԄH(=/p.F(x:P{`Ў\"lWn3``\"M/#9	p1	h@D8nPq6(T胰Po#np\noϲk fBJ-B,.[Znv&NTT~+<((Y4}hD&dֱ/NFD1Fipe\\`2l-5Njl8e\0db&Т7%NVYr0o%Dp)/IR͆6	QpnQ\0 -A\"6;oﭕ!\"c5G&ĥ\"sqB;1.k2-!\"	(rq)t;'DH/Em\r'ܐ#O~\rڭލ+RGL[so2G\$Rk*LwV\0@\nːD)Yb悿'\"O)(3-)5f[3R\rBD+)rI)7(pH(S/6G%9k8O%y*i\$.0VE1.Ѐ0#09	D1%a<<S+<w<ɢ7SQC1)u+2\$QA9_&;(8,M2:\n{/AKT7B4;9P?O?0hֹ 7!@-QX-Bt\n>k:,\"BoLEtrn/)1FӢ;%QFd:t!	&hر݆RI)87+ST4'H/E/lHة*\r/HGVs>YO>Q)fۓEJݒyB'B[C/S):泗E4YA;UER#\r4G5+*t?D-G3C=2L2sU4We,U*U-X;,:#)Lr~kȝU)HJ/F2A-+\\AM.FB/V#'qYoR`J)5)8GX;0BUO8ut4zF UZҪUAQ`Q_ZdgcTW {O8U\0Y;`(؞%W^''<u@PQ֒%\nSbY/j(vyU1Y5bV\r 'giIj[TmZZF	:#aacvďmCR/&VbMlS;Gb6K-Ouh3yKU5nt*=@2)GZw);#Nr6quu/?\"vtk\r+.qnbv,%t/N8Wrs(SV t{,&ij\rVi.`O`x@JaD\r4h\nZI{T@cw¾soF5gq7w#@.9l\"ң7\"A0(	 ]m4@aL\\aPE[XjQ2(.L5.J	.r|cf\n@\0VqƷPt6oDA%BUJ(?b8;XOYo\r1vExQ2vjKYVl+]1'V;`ǒb\n>C<x\n(]4v{FUp\\XTLF|b\0|`]A<(shNg)M]dVW4VRy2p%d\n\r8\\z(-[P]d{`)/\rL^3Y64ِ9svl]3\rUvJ5dE]U\"	\0t	@\n`";break;case"bs":$f="D0\reLS?	E34S6MƨAt7ptp@u9xN0V\"d7dp؈LAHa)̅.RL	p7LX\nFC1l7AGn7(UlbeēѴ>4)yFY\n,΢Af -e3Nw|H\r]ŧ43XݣwA!D6eo7Y>9q\$iMpVtbq\$٤\n%LITk)乪\rӄ\nh@n@D289#|&\n:#`&>n!2`(R6f9>(c[Z4br܀\n@\$,\nhԣ4cS=##J84	\n\n:\n:1P60h@4L&O`@ #C&3:xKr3p^8P42\r˘ڏ£px!=/	&(	_;15`6:43%i.lp \$\n\"2b:!-y\rK{wk!\r*\r#z\rx \0ZѭJ0:c-%zB0l;'	4Xlf058ɖ\nqH+H\rCjj1Ƣ c4Z^K-\"[&h46\r;׭:.(#ː	L%jC7`/N㹸H65ejog'I\"\"rBv=<r+c6~&q\"!CMxdx̳wR72%~o-ʃ{[YO	|3ct4gf\nwA/(P9)p2;b#lx\\J*˶Or%ªR2*73տbN8 K|`ƅL* (SA>'5nIpVX(&E!drH9~K:aTA(C2\n(*TzRjUKu2JQ!\$Ua%v >@kOU鰕?r4s.	̏5ZBɪ|W<9f2} Oa6/_^3Cȑ34lh!0@̙a!2\\^8r'2b<~:M@PLR2dAA%\r``I 4EҚsRPt5f2üC%cG\\<ŷIkB6S':_-fTD&/4+)&h\\by\rM&CM	9Ҝ'C7!%EAO\naQk9\n! \0C)Z̚`@p Ϥ7bCr#	fJK#F)HSlJ@B0TM9#r,h%\r[C4P*P@\n\rkh95a *\0B`E>Ȟc=d=GCiVs;%)LimM)00rM\0V1dΫIW519XXK6zėM]1EL@fQ3:KspmBAi)m'rWrGv-Ƶi53aB`5@JbX\0쐂qMU,/`,9QTt&c\\{.dbyAԺ|^\r(e%lLX`hi-ݞLu#i{[Bш%zhB6pLN]3↕F&jhUAIv<+\$2R^\n>!Ǿ@@ \n2;)MoM\nIr|YXd{UJb\nl\$Ģ }pC=iS\nd6Nh]c >Ӧ\"9ݯWav>Ps.2dNV\\%ylLH%Y4WboMcK&;wm}0֜n덝ᩄ%dú#:\$ʴwhG|Вc\nA!*f\\WDvH*RTpqFO;̖xZb 3Mig2q,BݲUiՄKA3bL%Ҟؓ?\nꔄn>勛L8*l=Ne§{໼#xZز[Ѕ],UY!Gݟȃ9	Io2<`sރ\nɎyC(Of*߶nR!_ݱ%Hwybvz\$mm?rPݱ?N*DM+/\$.e\$mlzoR&BI{-s&*èd{F\0`BU3ff>+I`(^\"GOz \"٢(( 4ehFPy\nj0*	RYrȥp'VZԙLo\rf&v8O\r,0NLLQ\0G9%~g*o#J.2Nv`@W1o0\\ϏqYq ZdYv8ؿ(Y~#0ūd\$F#>	80L'̱sq͑2D%fz>.q\${c9\\HR\0%ӧ.n.Crgl\r(R0\$6aYbajiFYd4%1Ff7菛\0FJ\\̔m'U'B	솠F`hY ,7\\zPM\0z\npA(cm\rZ2\02S.{bZ6GTctY'\n1/N*6\\o0\">̔R\rҾĞF4G}ʒjF\rPn2O<Xrsr%svۆw8P`SI.3ŰSu\0 0\\q'9\$	1*Xe\n0Vp\$Kxȼ+v(0\rqBj@@HT'<}#@g0Χ<-2k Ô(!k26.dML\n*b`";break;case"ca":$f="E9je3NCP\\33ADis9LF(d5MC	@e6Ɠrd`gIhpL9Q*K5L S,W-\r<e4&\"Pb2ar\n1eyg4&Q:h4\rC MXa+\\>RLK&v3épt0Y\$l1\"P d\$Ě`o9>U^y==\n)n+OoM|*uNr9]x&:*!p\r#{\$hhnx8	cC\" P2(2F2\"^*89@!x !HꞜ(Ȓ7\r#Қ1h2e-2V#s:BțL4r+cڢÔ0c7y\r#`N\\9h420z\r8a^\\͉x\\{]9xDjꎯ#2=px!c#O&0@6^:cYrV\\}*	Ų*QLPʓ2\0<\0M{_6j\nHqjG!Jc(\$h:=1(0S콎,bs #\$Y+%40^I 87#`7}`27(pa&AŭzKqM64e@3\n7Z&.E(7,H<y'BPͲ4rŢ9 !DҀp)nBZס& \"=5sYB 30\rxѴ*:74E38\nL֫ *\r}\$	<c3g%HE<3+ˌ_sf&2R[b#{pAVBh5*NUيE90ܙbxg2g`ϑWD@(rRbLRDr^b|W4F+4\$6{U+ Ziz&!5#LH¯^&GT\"S\niN)@!yTʡUTAZ@Gt`T\\׫&dPL@a	01\n\n 8GS½>\"; B^3DdgU(StbA(Ε|0%ļ_0Ǒ-#\n @\$ӪJ RJ<H\nSr5\0ʽ]?h7v|üB7%b8sG\0Nf[<%r!fN<\r<YkLШDCɤ8*'p\$\"&7O1n60%dxS\n.b|F	-L)MBXV}-o(܁2VnR;Y	Y1PoD͌Ἇ]Kk)\r\0&2e^Gj:zr5!*xdT0f^xNT(@+eA\"bOK/\r0# _UQAȁ\$^ȑ	%{ᲇTBf!TsscOe\"h)g\$YyOOh FE]=V\$\reV:b\rԷYGSYOD` 4b_-:,bb)c3g_z4HUD<=2,#|\"zeVZ%\nM@k(w}a 0kHA-q7+LAdHLZWP	ĩ0S9V}MN|730:c5nAIŤ2MA#C!:GLRBP 0	v6Nr'\$s\0'#X_`M\0e_Z]2+5]jY\$*A}>Mq}_.z`8YPӆ~ϐUmB&֢~VPN\$}Eu\$װ/THvlke0i*R\"{>w!UQ2zNbS\rL:ܛRJFM C\$ҵ1AAN84Э`(\$\"1,x\"T9MN{MnRэI\"vZut׾deꉞtC5zrK.a]ad.l\\LlĽ+f)ǯ;?yڥȂ!0DcdS<h3*IX²\$u,\"uC=y2|laS(\"V\np'E/C?O:@Rz`iA\\LcsZ(\08^vM{Y{˫QvrVm/Za\";֟q}!aHaN_6OW+%1̘Ȅ&j\0/ \0	g^6B.0\$ AZ4)&nRW=PR\r&DzZG//X:kT2k=pɧ˜ZLB)E,,b [HL<d\nˋ'JgK	и0 -g\0Mc\n\rOZ0oPHkp];Lȣ\nPDЌ\\\$̹/NpPpnbhzMkfo5>9	Dg1`#(Q,#\rZ#ΤQ<ȋuN<\nhS?/pG.)pNhHRU\0Чv}NCeNEKb.BdH>(\$2	bFn\"kdpEjJJp>NJ~&.l GǾ`ZxcO; 24NҐC\ns`?dbPeG<=cL1lG1%\$£f</qj\nV6@;1f'~g/r6q9.6En2#3hi3y4+213N1S0| 5֙&*~>q'ų\\LNFm>fbm4&FYFfTY7Z0&|\r\"dRjBfr\$/DE- o  '3́3%gvBB?Sno4hCM(GLM\0	\0t	@\n`";break;case"cs":$f="O8'c!~\nfaN2\rC2i6Qh90'Hib7ii6ȍA;͆Y@v2\r&yHsJGQ8%9e:L:e2Zt@\nFC1l7AP4Tت;j\nbdWeHa1M̬Ne^/J-{JplPDle2bcu:F\rbʻP77LDn[?j1F7I61T7r{FE3iǓ^0bbp@c4{2ф֊â9C<@CpҠ:42F!c`h60#hCJz94P2l.9\r0<R6c(N{@C`\$5\n4;ގp%.8KD'2\rC\"\$ɻ.Vc@5f!\0D\0xߤ(C@:tD3%#8^1axcR2ɬ6F2Rix!V+4CDb< 襍mz\nx6szL\rEm[+zٰCXꇵo\n\$?`9]rP5M}_|W蹼h8*Y PLB`	#p9Ŋz[IzYLX:\\7\0CECCX2\$+#2-6	\"\"HA@K_0Կ0Lf)\"dLe(?lvݺكܶH+:'24pH-HBȒ6lX<s?+jre@PdoD&J3<32bx7LL\rhЍ\"WP湄d0\r5\"=ySb>Z76\rᦾ2}[z/z죞ߺ;{č|<uy趴\nq=4_/\"4@R;v\nW6&.kwA\"nLh;.eQ+j=~Db94TQK`lx8EV#QTҪc\rḟTLTΑ~QI((BZQj\"4D(Bu#pDP-)XT\n;EL@rUJrVl8Dk<i!2T\$4E	;TG\\D\neM^BpN%mm]C#\01u\r!.1@M4~v'XX\"wM(J2fUzMH!2S^&A/s =JN4\"?\0('t\nd\"^\"AzΕ@CHv#3M9	KΙNldNX<Md{hCckhBcK3eT82%Sfq:&-:󴂈9HCS/VJ@\"x(=AU8aR%BQ5Lz(ix\0TPf2\$b{z>ˊaD\r4ppl5,jҙvaA\rl6R	9V\rhH	Y\r`E0s>F\\W%a4TwM-tBED^oF-CO-^'%[7uQjtPL읱[y(sf疵UfBJ5}\"RYoETvD\0as&a<QY L_Er/D7U*\0T	Ehq9)7̬9xWpׁ£0ġBx긍&ńaSKZJi>v?aֆ0\nodhf\"\r@(!Kbmvia\0003tuZvW\$k#\"m2e29O.ffpBeAr%eћآdACAa ֒MC.ZpSAKz]kk`fYDd\rl\"6D`9K|.#*Ms0i<Atxxgؔ6K\$mzXpSIEI\nB\\#>ZFmmo(G_h[!1tJy!/6P<pޫnzj!Dm\"9RI!#[ws\$YtbR)S5sB8n*9dٶ)(H\$ÄLU&Ҍbfu?塎ju\0%0QJA=ׇC\"a*\$5ow|\$7 I~2CpO>6i6'R:3sKCQύ||E]\ryW+%d/S2>fw7 [@4 'lǊFoྡྷ'\0]`e\\Fm+)vL#Jņ PM*+/.aF`@\r\"İP2ͤnj\rFDC8^\n#ЋЏ	> bt=\0͌ O\n#H_V3\n A\n.RT[DD^[t^k!䏼υУQ1	Bx?2\rHDRb3veBb@Iض]G\0\0R\"<l'#1Z&ɘ:,FJWRc̥|1XeB\rOmTӧ^->#C&-Ĭr G3tq>tLj[\\@ɂϫ\r2O!j\nM \r\0\"?.bgva@\re«DT<PJ\rCp /Đ72s\rr1=\nM@`@Fj9(&KN]m\"I)lRک'cb\$ք-W,O/,[,p\"\n8?/Xֲ0g-CXٲ7D,k `0J1CK1\r0Q.?>&0DeA\"?fuCPVLа4N4)SX#S\\4sLe)6H%`#(r=l@d#4#5:Rp15lM9fq	:h45sse\rV;ieBR%IN?6AR(󑄙fLeafe@\np%sJc3ǎ35wA@6.q\nFT;ExswxO\"*\"2^f1]%(d/F#\"	b8HǶ[\0Ҍj4BF4'ȫ^\"\$D#PG (+hW!{K\roE'.-V%olHhG\0T\"j^+NtMNQOl<<g pR\\\rFf|K#s>?\0a4F\"(r\0hͲa\0'I`/03X/h(\" ˘c\"<=\0E'Uzr@f-D,&:4	u'V,e`O5z1&DT[3+";break;case"da":$f="E9Qk5NCP\\33AADeA\"o0#cI\\\n&Mpci :IMJs:0#sBS\nNFM,8PFY80cAn8h(r4&	I7S	|lIFS%o7l51r(6n713/)@a:0\n]te8g:`	hB\rgЛ)03h\n!pQTk7WX'\"SωzOxԜ:'	s91\06	zkK[	5 \0\r P<(K`7\"czD#@* px2(УTX j֡x<-掎\r>1rZf1F4@:#@8F\0y3\r	CC.8a^\\Ȼγz\r:0\"^08\rB:AC44W-J}-`B9\rX9 @1W(Vbkd	cz>@b8@v ̐Z1\"0:춎>ST PcK6w+)N;,'pbDp\njp64c:D	6Xe|c%\n\"`Z5[XVylW09,'0N.鍆(-/H(P\"{#\r2ݢƑ!Txxϴx3eN&8*\r\\z<*J5H+X6`3+[T2R8--)B0Z*XZ53YT\n#c:\$%mΎJ@Sh 7:(}\$MSGbd#kE(IIPLT`Ԋ'O&v=':JCSRnQ=`R0Hq>TϚN#R[XBԢaJ	I@Kdגf)i|լ1|3	' rM0a#ͣ[C'. EfHeg:2l\0kPQK&d\ng7̃PY\r-x2%ڏrI|՞\"S.NQG7\0\\g	VFz%M0޵'nb9JD\"\"[}YRKd©q^P3b^g.aΩAr4(-S\$L6{ iTBLܡM	Ny)a@I:4̑#Ă2p5+4PAe8rR*f*s!\0HS)	8PT>@-RE]LdXjBhiܬP@r1^u]I|_AboSG(ɫ҂@CxD8WUKiuB,\nk*6PsÍ\$2Xʄ R!Lv\r1wDn˓86lQ  )sMHTeƬctj	A%Ef[F\"V_IG,xJhJj6T*KE*7ߒaMGBQ{I/Υd,BaljA`C	\0qT܈u 2pR,8CVH YhBVz1B [VSЄr.K1+0B^@	Z:62XYcKr@E--L	̰LZA28ʡ,dAdpK7d<GH!_ULRI%gR%9SH_¸eTRmq;6ĕ04]7-ʘ*m\$BEBtYh~71.\rCv8]o\rEϡB6Kk4Co's:%Ut0m-71)H42Î\\{He`l TtɌR/+׸r ^ij7zuEV#\0D\nP%^jwXԶ@oL95ֲ'7g|Ϟ,:enP/缩6L#y8n:+AuBH\\\r9kPXN[{U彌X2sA8?ٌ	ϡ\\n&״4HƔ޷\rņq[,vz{3y	IC/aK}p lwrCs2;k]n	vFu_r\"OX?VW2\"4!#n\0PlLe*X.'oA\0nꯨn\$;h%r:8/Z@o60C bz\$6U(7ϖ`p(48D0 l8LD`)p\$0İntj3C\rFL)&Ar1i&\r.L^xK<LQB\"&Z,fZ-0̊Wˮ-\rر@\0`e\0ˁJtycL56#*\nfEŌ\$͉\$&ۭn(BlEB#ސ4iPT&n\$AzCįX7Zp1.?B[6bFN9oB**<d{#	|#^^LCm򡅈p\rݱKHcl\rk \" fg\0V݃T2@0e\"Bb2+?<j02f%a\nQQ%\0fDF0%rhdnܢ\"BtĞ;#\0-\0 /d'10殯bd)*Z/0B<f`@@-IdZ";break;case"de":$f="S4@s4S%pQ \n6LSpo'C)@f2\rs)0aii6Mddb\$RCI[0cI S:y7at\$tCf4(e*,t\n%Mbe6[@rdQfa&7n9ԇCіg/* )aRA`m+G;=DY:֎QK\nc\n|j']C\\<,:\r٨U;Izdg#7%_,aa#\\\np7\r:Cx)ިa\rrN02Zi0C\nTm{lP&)ЄC#x22 6h`츰sB9c:H9#@Q3 T,KC9 j6#zZ@X8v1ij7bҺ;C@PÄ,C#Z-3:tL#SC8^J\rR7Rr:\r)\0x!/#,Q[ 3H/on	(:2F=BЃCHIp#G/0˂ZѺSRN{&˄b\$\0P\n703yS:eĭJ*9X<ֺessB\\;nfS@:B8#bxD2\r.s\0r\\S)6d#irMKW!#l58OX<p,/ dOX jcx3\rf Q؍t;+\\^c`dƀ!apA0<z:N\n@Rx#`\\Hj!w7x>y\n7z(zh{a0FP7c(dA2e,x}@!D&:Z`!f\rB*ꬲS!1\0܁SAN+``BB,5gSG2,_a>%ֳ!%\"MO0rJ1jnYYQmD ЦT*RuR`rUmW8rV8(CtNAt #f's+)jL	)F)s\"uBH\n\0)&TCjB&`;BA/!i`Z~#C1 @}s:@)Ar?N	N`\"#ba4RVQ{6)ʠdL2v<(* F>Ā8Coe1@j)\0dGDH\0xeb\n_3AB#'\$|P5/H\0o2%97Iǂ]RY\nqh.)xf>HGà-h\\jĨHh*\0 -d\nBS50=I	)WG(\$(~ϲ;VzQ鱃4W\05X&2ӠF\n@2z̐KPf(kKr@f&l2)`0sjKNT(@-(A&[\\\\(t^ұGĆÄg dqO?\\Q>lV\0gX@>G\$9pڍ4a@\n\$ΥRyPV0,FweH@ItS-NxD  eunE\n8!]b3~ĶHW`krA,Y!*`aMN4u&tVY\\E1es\r8S^YAiڀ!k&FBv/u@24,:ai\"W]I&K]^fP7cYL<~TBHT3vp\$On2bR[INںL޿3Fq!APs%;C[VB3Y  Nq\0NyDC#w;Ă飤\rt65R޵[t1mZCy+kx>ۍo2>AȎz3&og[շ'72H˖9Blƒ,3b']ܨrMy019i˶\rchDU}E~=aqs:\n]G[\0R[+x7\0gîEqgɛNJ/ְ\n/~l7*ɞQgøscVl}i\rH&0V1()y uXa[2w}bR?rY9GC*0[PA@L~	M}qH.L(J.lM4=`	.JhMNOb&@/Knpǧ	\rm+K#\r*0\0%\r('oð^\rb%PgK\0O`@]cу\0M#b:#`|H\$%\n5\$9餸\$HCF:	,Sg\nx+''PjHm#B-61O/R-l;/	*B[O\\#Q<Q@&qX(]ñf׊F0\rwq~p>MC#`	J>HlHaTЪBQxq\rsЁQy%FPM\n\\V\rdq16B 2 \rf`/2\$Q_6\$42ë!N\"rDbT1^ĢJr	2&rJݒ+\032T?rY\0bf	!`d\$J~=`qPOL)O\0A()*3)f	gtgؽd;G'4w H rBE\n;\0d\"A,B \np4ނ46&m ΆQ)H;1qbP%J%'1RN;.&Nզ7#a..\r6d.Z&`%#d~=`#Df-Hdx#\rdQU:\"c@PZ\0jH/Upn,:\rr8OE<8\0P;Ӥo3)eNQ6n30KE\ngWs;<DrPz2ˢ@B+(Hp^8GqPT#̊^'ĎV2(p RD :I; <3b.nR\0ֳg<M0`̒>vN%`#I#/b";break;case"el":$f="J=Z &r͜gY{=;	E30\ng%!F3,̙i`dLIs9e'A='\nH|xVeH56@TБ:hΧg;B=\\EPTD\rd.g2MF2AV2iq+Nd*S:d[hڲG%..YJ#!j62>h\nQQ34d%Y_\\Rk_U[\nOWx:X +\\g+[Jy\"Ebw1uXK;rhs3D6%`YJF((zlܦ&s/2/%A[7[JX	đKںm늕!iBdABpT20:%#q\\5)*@I\$Ф6>rϼgfy/.J?*X7p@2C9)B 9#2A9t=ϣ9Px:p4s\nM)ҧz@KTL]ɒh`3NgI\rذB@Qm_\rRK>{`g&g6hʪFq4ViXĐ\\;5F{_)Kq8HXmܫ6#txCMc<:#ǃp8 :O#>H4\r ;c X90z\r8a^\\0Nc8_FHxDl>`#46t|߲Kv\"\\MЕ\$uo\\8Ծ)&¼+-V'sKЮ0Cv3(CGUݖl)g:M XB'q>̑zph=- /fdt21ZPqv/ϽIڪZWL\rfqLE9֩H4@!9EԮpvg8p^Lm5hXb @L\$i'	J=ߜkF˄@N:R^\\R*D^(p[s\\Q8WYQ,})X=VpaJT@(^!A\$.5O[iezk@H\rYyq-\0:-(_\"ȁ}oNp\n;X:AeT+FDgEH)YI8׃Le\$Vy.5RJU,,S,a[\"RMr!.LRL	A0Y4a̢	q	\riqXaRދZPC\naH#G~b]?heE&pJ4Cв\r=-P	kr.)AP4ҡ҈U\0/jEGFA3f |TttmQ.,<TY{J.%0'Rc:3\n\"&E\$-a&[gnBf3|DZQE5HVY@EkN,ŤT) hU^<RpP1Jؖ#T.Q顲L|*r[TISS)xRПJR pN6WNC2Q:&(\r3ȃ@ di<]@٥>\r(0aMU6T5?SYPN(:9w1v`b2k\n (\0P`Kk<\"=#jJI//\\[XcLZPHv\r)3P2w%]dw!K\$LH+eEfJaE);PhEóM'mS>l t)hěDqD'*D@6w%c@̝V%Fp4@%4jrPVc4WLp	l@`@xS\nө^wTE޻l`<T4P0M}X\$moQ2C!Н*[|1X\01-\\G;J#@Y\$9[аqf%lf}!rVST RD;LS\0I9V8}e0HS/\$\nJH;8=9NrA+ԋ Qj9Okv#۔?/0fCR28HW `CCi6I1\nvԀQ12lD/DH3bR?pW6dzYTx^Iʋi~H\$Q9,8,I[W2[˚DҶ*'Obd#Ħ	v\\Ay	:>S^SF!hH3\nąڣZ+s<:ewnnun6he\\Po~E:퇌]&oLH4Tܡ(v(\\BAΪbɸ-FDwbv0D1%dXg!_)6I  _ԁ\" -NlB7OW@GlmЎo.¤م@\n 	\0@ N\0`0f\ra]ݎxEEUu^2t;C&u;;g*Ks	2\$fލ7L!4(	,i\$t\"H\r..b{{CQHBaOX;\"*1(B-ó(ZnDp) H/gZ!QRCB[Int_4P	i[(4b*̝ZTDpÎ\$b,6P<Em,M!bN]J:0ZYkS %@JRNĂq\$bX\n+-5@q*vgrl,}]2G/HDʰz2,V,ϧ /жR#Tv^4Jo+(D0G9.s.By/в/#(Ƣ@\0dXң0'2\0Ar>223^mhG\r4tZNr3>(TPly҆zªzZ\nTHN(㢞-mL)9|㳈\\	+sD/4l>s1<kL,D-@Rh`X/e7\0T([?@11ZW4 	42+=T-3W')o<!d1O\"GAyj̚JNrTSqyE&ͱQHu)C\$Pxmh.1_@//S76T8T{J*R2ȀsBpL-+N!5a=2d>F,-#E_\"+1FHJ!j(bfXC`.PIS*A\0Od.PIeSqDBjTUcMgMԤ>ԩ\0So5sU\\Y8lH2o'eDpbړC*c@>r\0&3\0[լBpN]5]U}şI!ҪԬJ5\\584=[_V]5DaSMBNc]Bη Eb\"[%ZAVIv!\\(bH65L+D«G@t]rUucCei0E%^vCjbx\"V(Eqr*!_JblP\\,U|2䎶B\n[Ymv¦Y,4==IJM135^6<\"cqi4C,CWm(:73=c(esc-jPtaUpv<BM\nhsOwdwtts:Z)7jb`jm6[h\nlϢdwD v~E=HwFK\"%Q)+/C-Z&{h#tħI\nb='}BҮΗEFQ/1P/cE¥^.Q<`\r`֟+43?L.\"ߍ2-H?#M\"%uR`j\"r[Vʉ|\nZFg126\rF1GoJV1Z%>ꮘ@D}3r9[P?}3Bg\$i-nv:CPIړИS;KMMV4k)\n&x\$LfnbM5j֥.G	\$ArWՆETGDԃjݲ4+	Rt}Sǎ8U,e5KO[5/yxrv'c9F*x٨wq	Y6Ç\r3,Ub3ԃS,Yg^Z}xw]UHCqYp3t%/3E˖	.\06[:B\\htFnGZ˂F݄[*ԃX#W¦1Z:g;	'IY2ӧ kSxyrϗZ<q!Gt-XkRf";break;case"es":$f="_NgF@s2Χ#x%pQ8 2yb6Dlpt0h4QY(6Xk\nxE̒)te	Nd)\nrb蹖2\0d3\rFqn4U@Qi3L&ȭVt24&̆1)L(N\"-DˌMQvU#vBgSx#WЎu@R <fqӸprq߼n3t\"OB7(%vI U7{є9MtDr07/A\0@P:Kc\n\"t6#x3p	P9B7+2Vl(a\0Ŀ\$Q]ҹEǉF!G|B`޸΃|8n(&12\rK)\rJ: bM6#ƌR[)5,;#9p>410z\r8a^]	Ls-8^BC ^)Aڷ\$KH̷'.3|\npM\r.p3Ƭ7*hl+6:8`++B\$t<\0MwD6l(*\r(%C*S	#p`1Z:B8`P26MpX݈î\rSCBPԔIY.s!T,B9yc2ď++-SwG+3]Cxo(;,bUKvXj%R)GPڐ8XYC2hԣ)\0P4\$4\$rP݈n+nQCB 2,57l8Cx3<h!T#|*\rC9c͋dtDb#8´=N(P9)p5B)Π삼p\\\n\0ٍNJ~ef9\rΞ^*XI@0I@Fh4\0uN&5:}B]#(:TyJ@®4HN՘\$\$`\"\$#z;M6zhW20LUB*4b=H5*wSi3BrieEV\\`p\$,&F~0FH`p>OSCYf#L`!i2B3\n\"d>Y H~awSjrN<d%h6,0i.f`Ǚも#\"!s\"̂\08orf\nJA 9ySI;0\r9#n8@l\rD\0/\"^-'PSCs0fVqs'_#Hz	b5@LY0Hy3iIbpޛA637\r`mqO-d\$Is*cPMO\naQ<NH)-7θ uFZNatvC\$b9K%y4tиǌt&CGx RdTFI<x5>穩\"k;15 0BL	!h +&O\nAJΗPc\nkOjQP%\$8f\\VxdA<8VsFLI1TJaѸĵM*7mW>u_?&ڐ	]ё02q\rp/{7UD4цj\0,/E(Fv\\ lf4)H+\np~k3x}AQC@`^-S &,4;zV\$/(aX2nH#n\\Yeb=Ç`d(~)e8zಂU52_H7YED?;b0!4MsA;y!P*YPo5.Ri5>lPԇXbA\\t&X7%ݪы*laA\nKV?H.,kB15WbF9Ъ:Gڮ.>s,^MΔ·]Gvg쌿\rӶVjV5	D6#K7퐙\0u-G<13\ny&d[IP(	\$:*J`b׀mț-vH>HF4cϛCڸU(	#~w;9n\\!euotEV=Wg\0\n\"k%\rv+ܷh֢W0ѹ/3#gs08F̘\$7oE4%D\r՜C)381V!|<fnAOs1q5yorNp©ko|w^WA3b5-/H/VvzΣoq>P2iQk,Z;lbU[^}oTr-̠/Cgc4B\":ꎣU_Q\$BDȚ\"\r\$IoY\0D.Q/-9ؓ* p.'	\0uo.G̦-Cv'KB~@Wo	/0Ч,%Eԭ\0РꐶOP&`m\0Ar\r`Z9-%%0D`7AK9Lpgp0dQq	η\r&xfFQ0q%P74&ɿq\niH4Ԭ,HZL@Q,:%QlQeowѤ1z0	\ra_㈠Q17e)m|\\ ^c\$FP.'؉HM ͠g^F i0ɒpO0`xi*^\nZ8c-BhoğK!\$5\"8#!̷ˤ1 D&=<檢LPDX\$Ĭ^\$<' Dd,c덊M\$Biޥ#H *Ib/I/n0B1m1x?ˉ2I8(&nF80FĦޤ@il^hL4LǊ#fX`3Ch9q\$Gcv\\qlSƀ޹d>sOЋ\$5D`>XULe 	\0@	t\n`";break;case"et":$f="K0a 5MC)~\nfaF0M\ry9&!\n2IIنcfp(a53#tΧS%9pNS\$X\nFC1l7AGH\n7&xT\n*LP| j\n)NfS9f\\U}:Rɼ 4NғqUj;F| :/IIR7aýatpAߚ'#<{Л]a	U7spr9ZfL\n @^wR/2\r`ܝ\r:j*4P:Ԡ88#(!jD0`PA##xR qđCh7pqr\00ܓ,[G0޶\"	Nx B?c ҳ*ԥc0c;A~ծH\nR;CC-9H;# X90z\r8a^\\:x\\x7\rDC ^)}HP̴x&F1	8*~¨Z,j߲I 7\"J7YQ3\r#2B[%HJj{\n#FQE+Xl7(J%OB%\"0@\rHD]JB	J\rT0KX[2(\r7jA4cZ4p#ccL\"\n\"`Z(:hS7Y--0kR,9~=G#,v6+}&GݛL\"[6F*Ȓ6)(\"<5\n6,\"d\\ʲjR726c|p5<::6:JPEƾ\03/jL(S2R\rb)]U[e4q_]IPܞ4 V6 @rQa~iR\nIX0DQAi^hJ?=%=6NU12d >҆n\"ZԛSޡLJ.ᥩtRjUK6CL9*3B@!TAP|ÁaAqV ⓂRTQwʜ:AYYBxuGej\rXƐ\0љ!Kji(8}I2d\"^T+>%NT@\$	ReY7`	'\rsLg4F93`mOR7r\r)k-*Ag9K7'\$6>\rOA\na仅GA\$,	)FɉMṮTvJ:,h5\n<)@Z薹)W*T7(XNHgBwũ%A8h\nut<㱿{8)h*K劭\\:VNY_X/%З\n OY)t'\0 A\n\0B`EltI-hеMcN\"E\0:y=!+g3c~L \\2_'Jr,gMRԴJǬߗ%Pҳ W=*a5vgaM{\$ʃp:@J,Ť.G6^`!,*ER`ȧ+@z^%=y\\Afb;yLN\n 2v\09r<a\$δ\"Ħ\r!RJ\"./)i#RidI T\nA\$#p`نCU\"a;9F#@(N\nMo\\2 BHEW]6Ro	~ZӞ0x \"[{7eE_gӡCY*蚯̛&q\\7hgT96\"׺eGù'\$r,S#V_)QqQ\rp~zK+6mWg@Ӱ\ro-B:rxEFpX2Zé7؄Y^Bk\\sQ Wz\0='^볰1\r]1٥sDqEÜ;doYxG\0.rH:wCIȩ^P{2LeV8=o6<VTB!fO|\r-evpemKߒGS+\rߘގǺOKv.Fփ<mqw4O	b:j]O֫կZ-~[\nn~}n'1zr/+zL8*T2@N=9R:<W(jP,x`Qo:jH~̜K!O EBBhv-Erx@>嬘[R~/%%[eMXPgmO/l(ki\nlJg<Z//pأ=Vpnp8nY	=\rн\n ΦBo<\0zL%F\$#yжk}MzךּxOc.Vr-Q&]PoGe≣q(o	dʎ\0ܺ,3`]z0\n`~\$1-pNu.c0ɱiXg=ќilDȽ}PQϋ_1>objH	N^`\"̕\0P	f,\\G 100{`Q밍#6߯	n \rզ%Bl:!%.΀9 F`&eDB)jܐ\nZJ;Bj*B8_:\$.&D.I\"l@ޜP&냊8A</ˠvL\"%\$JHlDLj>;p6l:f:깮s\r,PyF[4p\rg5Iu5Do+@34%\"slANCh	6BeѦ`fBJ¸DPg(HWKp5T&2iS̳dB\nD >bq`BGdta>,^0( ,NXL)e`/_6#|1fJG	P#|f<`	\0t	@\n`";break;case"fa":$f="B6P텛aTF6(J.0SeSěaQ\n\$6Ma+X!(At^.2[\"S-\\J)Cfh!(i2o	D6\nsRXĨ\0Sm`ۘk6Ѷmkvᶹ6	C!ZQdJɊX+<NCiWQMb\"*5o#dv\\%ZA#g+>mc[Pvrs\rZUs/Hr%)NƓqGXU+)6\r*<7\rcp;\09CxH0C`ʡa\rЄ%\nBÔ827cH9KIh*YN<̳^&	\\\nO4,Rnz\nҤlb!\n)MrTjRno*M)#򺖰dԢŌH4 k 2°荎Pc1+3:B	H4\r;C X90z\r8a^\\03|F#GR\rT&PIpx!ƌBTN\\*6NJ,T=Zܬ43JiQ'ru,Ȯ0Cs3(^Pa8qɰb½\"%k>zHR.Є2u3%iV3uh2ɬe\"u0ʊBH\n!si>+6VYFM\nH)\"c\$%l.笗]33B5\\\\W:Wu]ސ'Li<\"!%\n+6^C2l)\nClç|,q\"YC66\rJQ*ɺ\$*d+v-T!GΨe.%77L\$DblAt%>\$=2JU|='g͠}M1ߋ)ȱUA) o\rhC !:6S	\r\$ɴ`!_3xI\n\n0*PuQ':hDAU |t`]lk,7hM}O8xZXazr:nsb\nQ 0(Ei\$XױC\$uT*XV\\+y8.X7,\$B*'Y+-]1,\\z1pASNv\";o%4\"DRi&fTB\rMEF\$Nl\r1!0@m,0dDuQj43Yxg=MA6a@1Ȭa\r̭dLQ|	%2QK:]BhU-+(\\z%C\n\n).l/6)V 4ObQP zАgjD!THu( IJ\0HN}Ej,H&efW2#իȸYxF I#ANꊗ\r-MXCPaؚbSp1υ/?zUQ]R2\nC=Z+ԍ\"I\$1zy2~t^8Gv@e&rJQN F\n4b&i`II+i/6J-qPPO	*\0BE8\"PpKQ|95\n\$@#Sk)Ȗ~TvBDYe:`J]Ȃb7t]峑]#DC]i!0t|}.HlFs`I)zlq2p4\n<e]\$dűbEDQ\$zgȪZRHEBlcrJ._aGy䡷ybo]w\0;Wk=et}߮'\n{GXSpϧe\$vV\"ZLtΚ!\\2,JԱEG#7j3#?\r.{f٦?(c!5v'''[f-?kS&8l`BHA\0eP\rxeUw	8ǊZ1MbFgJixJmݮϭ]Nյ3)\$1y82P'4k\n]!X5Ua@UΎ21PS8UUiCq>ڒWT5\$=	vMc_ObC`)N4ښwҜ0Xrc.}067.9QĶd!iD,^H/1W4]7G/R̕kSeMQfS33C842s|ֺz2<c٤}hyx\$@1Y~;eȌtz3)f8#PPg+nj)J>Z0.]'R\$xƾ%j&HPHLGr☂nr#oOlPx`.CSsaRpvp T2è:?'nI{?'lop	ك\\oV~?]nP3ڧZ\\Pr0ծ\n7<؇E/TQ%F\r121:tGh_aGL#nIATKp8Z?a	#'l?Q9npOeA|F.FRq<O)J1IDH1\$9/Q+4C6FLBKq)rQ\"2rP\r<oK4IN\$#:~t,j Hn\"kHԮ&~51\"Colį)r8&3xej@k:\r \rnDƾ&g \np.*KH1'#@D0_,`/P<g) | Kj2FF3W#*hBX6\$.\$øQ~̯0#&rD6h,6vk|t)\rS[[62lӔ%:K;93m<7ol' s:O%FFVzl\\*>ov,/zkoNOrU7pN&p\ns1n.'B4.Frlc3O4\npNvsbPuJʬj8:sS\0,? SE;hjDt*/r>nl1kr";break;case"fi":$f="O6Nxa9L#P\\33`d7Άi&H\$:GNal4ep(u:&蔲`t:DHb4oABbv?Kd3\rFqt<\rL5 *Xk:+dndj0IZAa\r';e KjINw}G\r,k2h@Ʃ(våap1I݈*mMqzaMC^mv;c㞄凃PFKuҩn735\"b&,:9#ͻ2h:.Ҧl#R7P:O2(4L,&6C\0P)Ӹ(ޙ%-2Ix\n	b\\/AH=lܘ)X0cn\"79O\$|\$%x8#\rcL##@Ā>\$0c\r8@ܩ87TX@c`@#@2D4(xW<ϰ}1MSxDk'c3(`x!j+%;Q@݌S#r52K^ر(rR\nDDa(׎è}_m[<%锸ӁBE:1 Wz;\rUP8vL2 =F3|32[3?6P0M<WnʃR7(ע:p/0aC[Ӈr6 BR6EҎ+%;rqu8Kq,rÿclC\"	\nȶ Ÿ[\"@R[ds33@52\002č#LX\\<8-dN-:Kc7u5'KB4SJ>ΧתּK'2'|-\$ŵ><1cϛ4~Jj{F͛A26.S\nABRP.0@ŰQv.MB,i\0i*!+4@'j):0䧃\$eOFUs@rVZ&%%\nAtK輄Pl.	* RJX͙jI	1JV\r*\0@\"UU*\\v>\\pj\$5\">A\0H<A崥Pv\\h:)R6PSiK'pu.jNalhB,xN` H(pLaљ?U E)\n'5FXy,B&>et~ny	4RPNI\n (L\ruis\nLX@y%P)\r2@(!z#j\\ȆȺPH\$ŧ0a\"=7@uS,y00MBYwbܞ|P1\\-s#\\I*0h%BA%C2*xǨՊE̥:\\bC:Ts/Ivh\0T6Be\0Pq([>8vApf\r!&J1uk<'LS9M:U\n` P(xan*X,%d^Jhsb,2Ac1d!<'\0 A\nЈB`El\r\nX@\nH]#\$.N]FO*@):,x LpzR<,7\$\rٕ'*sg<3p,`b:f_EPL 䃃x:AvN<ZY3MRr0\$وs\"MɵnN6xBZdm96p:65ƹLpN!CsUhew10uPћ[} mK%f.g%2{QI4DjB\"ȉ40B'l@ܒP\0\n\\g?U\n!@QI:Od!'TP.}^N\r_`kM2_t4l̪wfH\r'oc]~͒=a<l7}:*񬚰ɵL0wltjuD<б#6TM\$ڴke3~nUf5&MUP)\"BdqUUSl[:+EAJ9GAt.חi͛\$kD	5QN7o%q5yfyV*+^]Ŷ]E'NѸMɱ䢠TM~#d.;\n0.tV#d1Ԫ8  63\$WJ!\")w|d`%(2 (aEw5v/x}Xzn*O{!]4LZ{nm\\nuUN>:bv]NoOgO,t~o#鰜@#!Fpaz)>AǸ(0:+2cjS,RbxbR<=c`d\"-\0PI0*qLL1K'%ȭWAI\nc\\.]0o\\r,-*-.!N\rp0-,yO̢S-0DF\"E\"`J0l.'bXy`3okM&/X@P#=Tn2\"pGM:PY1j%JʺDN4fvPDJQ|qP0QRGa,/\0Di<I]Q̟FQj5h2\$	vأ\r`u,(Qͅ&AK!X)lB12<p\0rR&_rHjG cnUC`J8FnR\$	4Z|\n(	(2|C!5B*.&@i\\9BnUC02IC58vB'c'5\\¯bJ~\$/,_4vdbk\r(xsʦ-ClO\0;2\n0(aL21R2XF3&f`@]bMJix\"oN3iEF\$2@1\0V\$F\"6s7.hK2-ܽ\"61hL^/pD&jdLrN-QdLJ@-";break;case"fr":$f="E1iu9fSi7\n\0%(m8g3IeIcIiDi6Lİ22@sY2:JeS\ntLM&Ӄ PsLeCf4(iƓ<B\n LgStgMCL7j?7Y3:NxINa;OB',f&BuLK^\rfΈ9g!uzc7'z\\ήknM<303P퍏*X7P\n+t**1ȍ.c@a*:'\rhʣ :\02*vH脿\r1#q&'\0P<PIcR@P\$(KRpMrQ0ɠl\0:Gn+,NX(l+# ڈ&J,hI%13h4 z֤c\\2\0xCCx8a^\\0C|ԃL9xDj\\\"2\\#px!t *b`%3T؎ۊv1r%xNvzäT`:#`@ɍ:B9\rԲ:ƁN!b7T|*#}:ʲ6TΣ+(ׅ,7 ˉ+#;:LX>s{LRa P9+PC{9/6R:\nhπ1쪒}PJ}\nZvdaQ(:31䘧94\\EL+P90yZ`#YGEoܴǽM#t#@6\"͗We3\"@TƓ`S>hF©U\0ׯ*t\"lkcx;C;!;@:uJ-Vp[\0FBX\rɼ\00Ȱ1RM;+Č0Vo50LXw	:\n5@RǜRuB<(ՙPA++L2rЛe I	ZK̒@`QU/ĒҮVPjO[\$)W*EM+÷AO)E\0éW%9/J	!TXC*V*Zurڽh@`, ܰz\$ee,ǂYbz A5(jKT	hfS2C(*:(/SJcR#\$T;^(n EtΆ5(1&!<	lR:':R'X2Щ(P	@UK\0CLW`s\$,4:F<\"t\rݔ\0؋U!'DPP`em7H*J(:O9TS'&<eH ӚV@2d(ݣ*R֒E|J9.JTpk]zD\$(	c}%N߬շ0v(ԺaI5my^I\0M1P h!,1xI\$E,	]RiEYl%dғX!2La+*,M3\$XH`c]\$2pp \n@\"n&['a+O#p5nXzNaK<8-UpdB\$dÂ?H9u=EDcP?)271b4(#͋(Vq%63Х{v:gܾ*v鵳mk!\0)5*GBg(!%ܞۦ(}I=Vq;@UhÕLWVU5(63RC\r;ꄙ@ӈ̓Ɉ*8RC1kd}@t~-& J6r>}\\n/|yU'~IdA@ЧBkDوGFH°tkCi%l`T!\$fú\nS%\n2r_Jΐr2{W\"DL_(ebEt\\C-`G&ؤHcy)5RkY3PWJȎ33Fn32Zo1~\09W,桟:\\IE+>ZBzgTO'{gPpro5\\t&[gk&@LPӶĭ1LsvۂeSϰ`.tB̷b	~1Ghw=3Z;\0^n?f>aב;J1N{ISv|ҧLYa2_/ONgOܲ'хo~M	>5^\n,``b6Զ/N̘fHBnp)dD%\"V\rNcky`P7\r/lL\rkb\"y<JjcJrJvNoR^L?h/䨎%N?ǗG4n^\npR.ЮCiNmsh-lsϨPiPMnP0	0!P-qi\\)KcR#R%M/bM.ΐ/\n!Td U\"\\#h\0b \n\nԱ~Q³\\xFVRgˍkmr.2G\\\r`xc=e\\-'\n#ѶQQmOf-\rШ0XBEVC22qzy2v(m\0WHEORcc\"fJ!Db/qpQ1q\$p0%002oŤŪNH_L!R&Q~&f'2 =e(zD+\r׭\$ui'dlGmZƾ׍+»\n+2uح},--਺hM!@Kҳ/ĵ0&,0O/+Bt	uRڭ0i=PPF3g\n4{[R8E1.4!\n3Tn23;D.rY1b\rV@ͣV3M6''2OG\n-1c8C+\np%rbjӒrx\"D\$L\r2'иoriҿ;@mʰ@\\T KDߔ PTG~=`{Њ\\r*ag~w!+C<42;n)T?1,CpgpBG=9Rc,l0HŔ	IԟGυ0}IJ* 1}öPGZtQB:iƢ%ߧ=HKmcK|)QrwOk&o.OV< \$\rLċиc\0C@J\nԇ\r:'\r:-wIl²e{O&x1%ȍ/A!eelD\r";break;case"gl":$f="E9jg:P\\33AADy@Tl2\r&a9\r1h2aBQ<A'6XkYx̒lc\nNFId1\0BM	h,@\nFC1l7AF#\n74u&e7B\rƃb7fS%6P\n\$ף]EFS'M\"cr5z;djQ0·[(p% \n#	ˇ)A`Y'7T8N6BiRhGcKz&Q\nrǓ;T*uZ\n9M|~B%IK\0000ʨ\0ҲCJ*9¡s06H\"):\r~7C%p,|0:FZߊoJBԪEB+(6<*B8c5!\r+dǊ\nRs(jP@1@#\"(*L(8\$Kc,r00l	%s]8\n43c0z\r8a^]	jP\\{\0(@xDj2Ȩx!i\$/,;\r5S #!-7+pԷ@Ufx\"cx알07IP\r\\L\0<Mu]!\rھBҍqs\0O#\"1v:OrKP(\"\\JU*ǈè]e\$#;63pЄ:c0߉4ʨyk\0(&FJc&\"gt	p5ӐRJ)\\\$;7M+\"&P#(e+i6rR!Oemsr8,p!noM'*B9;\n\rCTA0/8<M~2>Ir^\r@R\r\\W>ʴzT.J*J{p#L_jr	\\\n]izw\$>'exOm]>|[\0b#\$Cp쁍x/쌝[D72JqK3ȥDIw\r=%F4\r\n xa	L%C%*(U>*fPX:C_%!0R+[*ez1u4a]ؖ\\(ʢbR\nIJ)e0vҜSO \0GHUL8-a>%@\nP=حV_啒 x&9CO0@\rQ8hA|ly5Q^IP!Ҝf36v%t\rO0<)N:d@j!8T,ȍP\0\rfM\0PUI7LvG\"b6q &!G~Bt\r;Ĕ#0L'o2Ā|<(v/`ŇcZ^Bf>Ô@ &0c'>4`䩅2j8cHI\\\$	p5:8TpZLx\nQ\$:rU\$`5\n+Ef\0vNtz*(,LgCcİ؂e 0vJߺ3*M	3P4x^WƙĶ|JL\nCBlBT\n&B	8PT `R@-µR_RԀ!@4^BE)ԡP\\YezZ%_7ˡ{<3KPԯ d(D\$#nxn0I=ㄑ2\$CRxyz@ÊT@M`H6I6J*ijf3lǅEH-!TCu\ny\"\nN.V0ӝ\$hʅdlaU6޾r\nb4V)FY8R '`hHԌ\n9 S')Gi\$˦OB=gᥔIG&:e^PROٷnsH	\0LJ`oM&u69YԃH/8Ι~x ]˧lKC`aupdPbJI	bLn⫷TѕxM\"aNEA]տ	A4]|.Jt{q4i߮Ew[=Mo%d\$[(zU9]!3Oќ(9Ys*3Y3<{z*\$Xo	a(h\$#fB^kp.a/	+철ɦ%nwtMF]=V}}Vcm%쐛?owݩIٵdOC,a\rgWlWhJ)[7T\"]5w^Aϔf58EFzs\n\n%nhא25΂a9VF8&]X~h8 \"׍Br2 `@Xj\$n	\0P\0ܰ1nM(\$+:O4Kk51J&䏪@/\"bp&\"&3T&\rPLF\"ϤK'ʚ+#j[ZQ\"*{vAP?+2LZ*ь\r1:_D\$4osp0YOQ\nx0Sp \rv*2/~<j\$\$Πj\\R7ёĪ.oQd!QV!QZNQKHf<znYg[/scqj@IjL[c>0nGB @?q+1S2oEQU\n( & &H`beJZ2[m]bX\r(b4-#cZ\"\$\nNB/1}\$wqQ%%nއox\$&侓F\0` ƛ@3h\"ᣜ1jr)	p\n%\$vz\np0Fn\\\$Njॲ\"2#b:@NhYO\"mb[ldh1|Ԭ{ϘURXJ\$FңBS\$ghc~3>(2f<(.8Ylp\"@X@iC6+6L\rS6/A+)n8,ZoGXCDVɅ|]7kkKIA;o;.g\0T (I\r?\rI.16\$?b.,2N&C5%Do\n36BVF;e +";break;case"he":$f="J5\rtU@ ak(ffP<=R\rt]SFRd~kT-t^q `z\02nI&A-yZV\r%S`(`1ƃQp9'K&cu4Q K*u\ruIЌ4 MH㖩|Bjs=5.-uF}D 3~G=`1:F9k)\\N5%(n5spr9BQs0ZQA>o2Sq7#\"\r:4' ĢħZiZK[,סd,ׯ6QZ.\\n3_	&!	3K1p!C`S5# 4@2\r+80c\r8@0#;#7@8N#`@M@2D49Ax^;ҁp)J\\{σ@\r*7?px!9RW'j m+^%q:_bL&v3a4j\"7d榥H+#*J2!q|kvc\nfL9(j\r-űuYiɯ&'>'TN8 '\nɮOƆk% .k8,!B<\$rw\$9z=JD)\"f!5]d5y^G'ijqmb\rFs-z@z{&n8zgnsiM|\")rC[cI2!H;RnDGΥwa%ij_H<=̡WEԥ\\7\rI8srHh:\n#2JM 2b@=yunz!am/)ʯM183B5E)a|!,Y;Yְ:p 9-ТtNRxc2f9;D,T:Qj5G&^ڙ<jqO<~@\nSJb;obC#LZ&XqCjY.X\"N{ \n&@At\r#A2@a2pbl\r*Ev=.\0ơ!64]\"F?HR5 \n (\0PRL7c|4\0COM17Ci=a.{8 K)(P^LȃjKt;@Y%Λ3pC.\\0/\$E,?B4KvfÀZ^V#&Z!;TV?\rk&/2LaӘ0si\0¤#(<' dATAˤRFfG=b/\$#IIG\0bHE \$:icR|L*rGf	ǰYz[95ЏR̒'t@ت-l8)d4tH\rckx۹O[؈\noԊ!Qaoɨ}wM2y	saPI_LS)%,28k!Ld|ݣ#F!N-=#kDֽ'\r6\rNL7K(7q\$X&	+vQ9S%d՘.unӮA6UK#\nj5B_ojAWj\n' 	*\"bRV-st`t{2 Aa!{NG@Qm#dHMqVYW1v+\$*A)0,Gfdnk2p|\\Μ2ԓEm]Ry)YC;i#QՄB&%B	__M\"ʋ`4dS39|nV\nOVfX/W7p^vdNJR1f؀j<9 ŬꜹCTL|LAd2y33_[v.\raJk밂\nE5lDst`=âvxy;\rỗ@2Vf%0{hBE{^rsG0\nW\n<kv1\$3`:uX9<_I}5\$#%N8]0\$~o\0Mmqa˅뢧n9Q-f~ڌ4Q_D<.>V-C\niW^ѽ5u;f5C=x	韽UHmYevWYPII7soy\rmCX`RBޒd9P[ޫhUI\$|M|w%k?lw46驺&!kS=۾1i3u55g6lMih9ϤX*dJ-k'1NvF,2*0{&k-n:(L\"0aN5bk\$-m~'fj5Z:TȨJ`PVE\$Nf׌ΎHhdF#HdE*Z#l4vB8nC\$vO q\\fnf`Ͱt.-F0)dFK\$E)u\"%vB@:ΐJ-Ct!<1\"j/'c\\7-W\"Lr02Exp&6/]#HjaQ\\gFkַ,j&4k1',&95jjn#q'JXy\"a ̦jO0NGNP;( #<H!1!'쒂a\$r";break;case"hu":$f="B4e7P\\33\r5	d8NF0Q8mC|e6kiL  0CT\\\n Č'LMBl4fjMRr2X)\no9D:OF\\@\nFC1l7AL5 \nLLtn1eJ7)F)\n!aOL5xLsTV\r*DAq2QǙdu'c-L 8'cI'Χ!!4Pd&nMJ6Ap<W>do6N\n\"a}c1=]\n*JUn\\t(;1(6B5x737I`A\nC(Ø7,[5{\rP\$I4&(.#*;z:H(XCTf	IC\r+'<PlBP\"=A\0Kj	#qCv8AP1l,D78Z;,O?6; XФD49Ax^;ppl3@^8RT2\rcZ`Dcpx!n*#6\$P:C֕1JR&Y0ς(6qM\rI\n7=xJ2 ɠw2:B{\rh1Z8c&ʌ#a\"mc跈(0H@;#`2B[fì12֜:3ʨbO9\rťI7.x޼c[7F\\8DW2mJ<)c)9R68n(@9ci\n\"e\"9n2}/hu7m|U])	jkpDi6(6M3#{#lghx<vxC/6suWy \ry܀RR4E֍0̠!IdL7FgSAO|7\r/j)0Cv42RMAث5B\0C\naH#\0`\"<|\n|\04@^Yf\$*Op H)pƉsJaM)<S>\$]EN;:\ramR=\\ʛci<57Î\n;VIS>IHQL|\nTThVHy\"\$HU۱&H)-5~2taJ#!DTL!\$2I:XrUZ5713d1H`lnjI(\\f-:xes~0Zw q䆖ZɸN.4eL11pɿQt3P@ \n (M8˔2R2>M\$!Rblͩ_䂜\$L%.P@ASxdtO	@2%hΥTYL-\$R+Rt&MI&:C\\HD8\$^PfAdٜП\0+ILcp\"C\0¡0H!l֎Hs_6ѷQJR챊\n_ZI?YƑXFnϒAViPM* RzeO]̑&U-5NAAdEq8Ӗ׌q*xp*a:ut!V\$6pC<gŐ:Un9(N}&霔@vo03X\"`(%=/<S?xbe\\q'~C{\\o{?\nfP\nV1K0y{3}kgEbS ,'.Wp#o(	~@mt\0@<9'AL!ʃ	6Z@7.tP44|3lwDf\rk	62>F ()1S<4AгO?J͙6gP~ T!\$\nMӧ8;&~KQP5unVnE\0_]74vuiGjB(Bs/Ю.eP\$sbUQ١g뽢QI{_l-a!.A%l鳊^{Hn6ެf!xY\nbpdnOTjn@ż#Fu9lqdJ9	BL1S|֑dh9Cp쨷93T'qgTaqjp3W֩\"p6O9Q9s[6FZĴd0GKK^ْk\$j%n.>ᅗXd-`NK#)R\"ګ*Oʽ f8 Ja[+W\"E0Y\$v}6|M3pمH \\ğpGr^L=(( :	m_\rFw8|n x&2`3Ш0\rm߭0~0܍6P p&P\0C6FʾRHO0,%o:\"J ƕ6@@3 \\Au	'|6\re.&0& a~̨	>6+\n.<nejPOĎBsb	XKAPf˰L';fҋ@'/.[jdS̾/wq2d\rq,)JQ[o\$J.~/#?q7e	b\0`	!\$*j`#:Bū\0+/(!mAhfrgo}x\$vOuBxq\rQt\0;:\"^g\0\$/\nZQ]\0\"\$j͒,q#qs;F|j<M\"*!T%rZoRN#n?`3qPOCj CVF`%;,ʯn/{*,c*2r+~\0%\nVNA2aFߐN2ײ9/.Zj*be\\5W\r ~%&\0@\nZ,&PovD?5K155I6'i6o#@\$BH\$fn^&/l	/2\nD/tNt(X?:#<c\rL;R0D!Rꑼ\"(sn	_z)GSUcC7\0cC\\Dn:oʍM[έ#d03BQ).AA|\"A_B`Yd0 Tbrcȃ\0s/(/*<q0+&\rfnl\$<lt& f1\0OuˑDZ #?)Qѧ)@5eAKl#B	Rj\"f-aLR*a8+ )C~bH\$h3d-afMJ@\r";break;case"id":$f="A7\"Ʉi7BQp 9A8Nig:@e9'1p(e9NRiD0I*70#d@%9L@tAP)l`1ƃQp93||+6bUt0͒Ҝf)NfS+Դo:\r@n7#Il2:c>㘺Mp*4Sq7hA]l7c''D\$H4U7zo9KH>: #<24&ݖX̀R\$:P0ˀ! #z;\0KЍrP=r:#dBjV:qn	@ڜP2\rBP l#c1tVKFJ,V9@4C(C@:t(r(ܔ@z29̓0^)1@G|Ғ POHBV˻Z.@P7D	2eޢ!(ȓKh7%#c0\$3m!\0:C՜\"M6#c6(N#@#\$#:!jGyplr5ۯ끵	)(ֈhӸZ[0C֔!J)\"`1Gj`5euT5J9c,~.q9sm-B(209BKVV؜Y7\r]\" rB;1x3-3Z%.*\r<	)ʣ5Y#:90h@AXHی@rb#)b \04n&9\rHZ7Beʱo\no2S!D1Ȥ51SlFa|2,?LSKalc4vx9@ҖC#3hd8NS<OC\"HMr?Dxpp3EG*_XkqﳗFH\n#lZa{1J웠JJX؂9%4(hI{J!1j^U:#As\"*\05P	@ : بU\0PC,1wS2d26	Ie\nIhAbfn)\"bu D=@CiE\$#&j]u+잓rNr:f<0P-	\$<<vL %<tWJ#uG<-HY-2ZR2fQ a@'0CE]ИDBK%2I;M0i\$\r+3\$%Y@LuQb\\'+%/.DgƶVf,EyP*PE\0D0\"Dk*4B3((]l9QZ)fM0#I*9\nuIs[FeHrRvF\\bhre3J`٥]BhT#@PV0Ŏ5R(DVlXWQj.tHL0n\$TLHiXRVƲ^CF\"c1cFOc\r!;u^m:ZىdB-a.骬UefG(7PEhFBnis}3]P\0mB1	FQ\"Ep*dmޓrPn摲JAd-aAє\"!-tBhlM4)xl@ud3yWhP	kX-9.)<܈QA6dd}x7sɱ;RO#	B(%ԧ4̒b+ʌrJΌKȅ5d@@9ʌ.iA4uW:Ӛ%vuVq&'s}]5mIUQ}Br'>Uw+c_aVi}%8iehcQJԝX-D<\"`4k}rZ2b`jզ@kΙzoNM]yY\"X)ib&\rIs0`M[wmͨ	ޜt̑+[u˻Z\r8,Q\r4+'-w۟JVCt3}}D]OziLmG G\"b7#p@}KN}BIsILm|遛iQFߝ\r\"\\BĒjVn+a6Sa>ÿ&֛}ut)m[2vZniݯLE}(<l|^#aĄ)l0NDܱ1\$Z]%^I[^~ɖ8S^+кW3ZN*=>tniW	=|2>}Pg\"X/Uf˼0F}@\na7\0BL`f..	;l`l&d\rVbb,,\\4F\rKZut'\nZ䷰H7B#&DҾ4j	oˬcDb;e&\"x#b,7\"@fE~(WZ	ޞMTP_b:B_4.FNP'b,@Ȱ&bM0Bbm<FS_`Gfh\"bU,ktưFc\nh'K96 +[@%,\$ .\\ >8F9\"c\n+`\$P15ZʀAƲaA1(p?d .p`";break;case"it":$f="S4Χ#x%(a9@L&)ol2\rp\"u91qp(ab㙦I!6NsYf7Xj\0BcH 2NgC,Z0cAn8S|\\o&N&(܂ZM7\r1Ib2Ms:\$Ɠ9ZY7D	C#\"'j	 !4NzSfʠ 1c0x-TE% \n\"&V3Nw⩸#;pPChEBb)4M%>W82(B#L=*P@87g^2Ót9@u\0#@O\0&\rRJ80I܊6l274c##ù`ҮQSXɌGC X90z\r8a^\\0ʴz*LJ0|63-	vx%T޺C)-,-M4*c\\: k/8K56/r;#3\rP\rr\0<MeY7\"\nLi+X4[4##C`\0\nub/3yؠP3C|@8P0R-phČF*6\0^սj#nd\"0)\"`0L+5ei*.qXUk1Ї4T2q+@6ΰH%K9ꚶ2iyЈ!NA|/\\<2HB73+	l\rt<DÌPAjÜoe \rpaJZ*\rZ*b#)-4Ap@)[8W^4s.J2jܤ(5t`&pG܃15̬5PDeKcwR4(&3jU߃J@sL3L5ޜSu<>ܚEp\$yjЪ[Y&rGHBp\r\$^`	s#UҐcQ,\"fL\"\$0g;p\$q8ĲAL0čmmԩX*]	MPaJS.hdH\n	 85zAF\$Ŭ@	-kX2\$hY\$ydVjrLV;Ȫ1T1ё.A#3/L4`1Q)I#I&DC	1:Aḱ\n,9ƵRX\nJp*Hʝ<0Rt\r48ٲnd[֗ЛI/FΪXM2cEzxJK(X\nM*GRZK\nL\0dQ9B2\$vʷ,|'@BD!P\"L(LHy!SSSl(8/\nSg\$4A֤Uم@UEBQE\\JlZ9SIN\$Ơɨ\n\n@4ãkˑf\n\n3}QGӒЛ(H&xHD¡sfQ0(hQʪT!/ؐ_0[+*gjVۀ@L(SO\0\rڼlقYGTI\$h<gyPKXk\\ʬYX!F*	2ѶVL,=\nP 0&)3_G˵ÕYuZC\n0ygX\\7tKv`]\n.#c*+zKcy;13n0ihe,}r)üE0XCYN\$A\r!FU\nku\"`_,Ep{(bШw;ט󽀚 a5p*\03-*y.I΋(.aYU	`ʁrɺQh{٫[gp&Zk2+QSb.QZ5\0kTƨKY+RdDUj`+sMvmq6gu˭0Z\rZPC*;\0U5\\9GGnti\r+\$@!בN<\$S_Ts&/!Hq-m~dd3ݰ9]\rލDPzp>Q`6hLy\rU;M¨\r6j9IKN8\"S};|z7J#wкgN<.\r ^\"izAèGdݮ^үV;zvo\$K5{1V7Qy{EyGټwoq|&||j2{\$Ȫ~3\\#{5]u\n\0G10HOJ֐ǎ溻+ʼAB\"կ\n@~p8PPBbo]@'CDģ^K0PWY\rbm,Ռqf,!/Şq..B0/80e԰/~\$4mz%)C1ⲰCe|[`9@i +1bږhREBPHq\np=r/G%d1\\&-(&H+TǌVkV\$bJ\$hfPW\r'fȨ0-*b0]Y%p%z9qF\nd/М0B1\nX.H\$0VNb,%CH_܏}-1{0<|@5c(si7d\0005/()BU`@gvV\"\\c\nq\"Sk+pi8jI@F`-2i\"KCg&ު'fq݊XZ_F8/Jv,	\0t	@\n`";break;case"ja":$f="W'\nc/ɘ2-޼Oᙘ@SN4UƂPԑ\\}%QGqB\r[^G0e<	&0S8r&#APKY}t Q\$I+ܪÕ8B0<h5\rSR9P:aKI T\n\n>Ygn4\nT:Shi1zRxL&g`ɼ 4NQ 8'cIg2Myd05CAtt0S~9s=O\\FqE:S*Lҡ\0U'(TB5ø7N`9-A@A\nC(\rØ7.aK.rzJRzK12#R>\\BH*AU#dpDBAOjE8i\\A\\t/>K( ҡlrjHh^dL*J-*^A\nføsD\"2\rd{r֍@9ÄO#Oh@00m`45HV`@U@2D49Ax^;pJRl3(v9xDl=461|#*9tB8I,I(\$IM	]IP96W q^137=8̫d]'(fIy_JȂ%0e<;#`2	psOKG4a2sd|sZNiv]!\"|)V]\$nJd#h#cwS7=\"#\"glns^į*GR`DΥ)ObAtN=}ߩPTS=4SwaQ%{KSB\"tZcM#MUp3\rF	B?4݃pSU6\rx{O`  PN(`Ap#G0dU02=JA39D3iuܡ\r68y)OCROTp@r	W\" ȥXkq0Dx/% *#A6fÉw()\"\ncawdC SHUkt9xp\r+2~bY)f,֒\r\$-u DHq.@C\rh:E|VKB%ȿD+Q3b|\"O2<\$ǈb a#CXb\$\n68 k%rR T8':84eX r2V0#^Q*HlΘsYP	AjA(5(Cɝ#\00Id4?PF\$qmUKSblͩQ n2Tt7zw`b\$Å^EpTQ+D\"8Gt1#L:If &%3c{EHy{4\\n,0Ú,6y4\"ڟOXJM\n<)G2ҵ(\$@qC1\$28<4RhUXW^`rbE*i\0UʯZٞX|PwZj h0T\n\n@PU}^E \"\r:!E;VmC]60\0U\n @8 &\\^QjlMXA5\$bYvo4y1(拄|!AضA9iދ^+ܲ\"#R:O4{sS\$cvIc*?ⲋ\"D*!k6°ADtБzeD\$< dbl \"0aO E0A0m;= PU\0`IgI]Zo-lQk2XIl\",7_>k>(vP!6:[\\aSztq]	y	/ulf	\"JBXf*ՖX4*A!M#YaHp\nFWX6ea\n`\0/n8X\0 D\"Gzc`` 3w1iH1\\ב& fԆ\\Y{B8<말@JS,;zQJʤ.'Dʲa`AP +胜BP12`H\$5GU(+PĘӧ~\n<asrqǸѫ Xk[m0 ER,Qa#[#e db_ BGs8b[	&\"ȭH9/1M0\$2yZ?9\r:OSo'\r;ќ>Q\0>A`B`~'L/b8um(K0\"׍|g@b/\"08a.n餤M0̪GV\$hxfA\"oBnmD<\$OpA!x,\"Q\\p .g\nfdk/0X0?\rpP\r	pL'>ޭfE<fhN\nV/C@, |JmipfB+u>02M҂̆#\rv%mbdsk1`0ю`q-a,o	\"a_Bt26?B\0|0Vrãg	qyм#摂ސ \"j*.0\"KLf\"\"3R}#B9#c̼P4N`ےQRj`m<I&/2rv2RF'DzϊKR\rR,}	` \rvs\$!v,lw3	,Ec\$l&'LPf*/2/'<,2r@``|\rd6@Xh8g\rV\r+]\nZ,=\rXsvgzt10gϾɧkF	H\r3M\"#1&ЭxA%:\"2bή\r\\8<edl'//OV <o{9s~8Q8?v@o@a(/i8yQ&s&\" Ct5#W54\re*htcy,s1ד¸O/F}mp!+GkZ3B\nJ\rdXyBA^:fT\08&Ep0f#obAo4B-xa\">ҡR\$lDX5TB0@";break;case"ko":$f="EdHڕL@؊ZhR?	E30شDc:!#t+BuӐd<LJN\$HiBvrZ2X\\,S\n%ɖ\n؞VA*zc*D0cAn8ȡR`MiXZ:	J>]ñN,	v%qUY7D	 7i6LS:h4NP +[Gbu,ݔ#^hA?IR(X E=ig̫z	[*KXvEH*[b;\09Cx䠈Kܪm%\rл^@2(9#|Nec*O\rvZH/ZXQU)q:Oă|F\nBZ!\$JB&zvPGYMeu2vğ(Ȳ+Ȳ|E*Na0@EP'a8^%ɝ#@s2\r{x\r@9#%Q#E@0ӎ#0mx4MPփ	`@V@2D49Ax^;ځpLSP\$3(~9xDl\$׾4\$6H}JQ0BXGři\$\04x.Ya(9[/9NF&%\$\n7>8挌9`O\$U\nK3vTnTYL1:>B%0eD;#`2!@vrTF,H2dL|U	@꒧Y@V/D?̈́ű|c\$ʡAh\n(C0Ϙ&<RZP;Lf<s=-x6iRe9sr=tOkߔQ߅\\#4}61Q)cww*JܪˁB\"/M;SW3\rY@PK3M`P7W<N:U`͢`ϰsXA9?@	(U2!00iX@HS1.v\n2P\":P?%_[\nK*EMCVJ`):\n^<BQ\nN]b2tyB,DfPBj8p5|pxcHM2YK1g-[嶷V\$Dȡ.eChp7!oH 咛DCZTA);\"	2&aS\n4SP V᱿#_+?0h«\0U7Q8}3\$&R	\$\nS@hyk2 ((AA\0G LAXyi*,*Lm\r7A`\rT\nbG Pf\rƈl[#uiEA*LAJ)7\"oAE(#ĀB!(du_SR0GCDCt9cfB!\"H6qm%nP	L*w-b¶;D4F'\0\niO*56HwR()TA@KΧQMTl5ӂ40\0f@۫\0'dLxZkZA	2.Xn}6fp \n@\"@U\"wqH1*XGuhYyhAV糊UKOOE,9s9bͱ->=7AS!u<\$cU5;.-MUrO=`0*JA)\r̝\"qP?+@JvϙU!\0KYڠbvLY\r!Q3Z`SQ~TqsFJm(w`,\r<F%/\$B<b]#/Fa\$v\\tlZ{44Qi(eA)[@ur]GTX LJ7y]BH>Ǎ}^X_A\0/MoDTR{%:\$^{~\$5ZZSǾm\\G6fB=\$sˈ쌑*&/ϥZKɊ;,^cCR8DKg^\n1PhA%Bto2KɄ Be8^01r\$cr:m'2&LʙrFXhNqdh6hqķ0Ddޱ&)ڌ؞|eڻg4XG~0IX/ð<kbS[i1~Y1f.zD8!1uQ_؎g_(tnr;1%\r4AJD	=*xv?|a?`'/][&0y^kwm{kw69mf֭nd2Zdޯdˤ >,︹ˡNm'm+0'O0'2w)aؿV+:)tgNvrdK@̨*H.!<kP=kA3	u,++F,\0(eH>G2τpޝ0o.b&ʄ0\$!n*Q\0ynpodY|QA<3BZq*td\$-*;\"ihrmh·7	)Q\\gxa*jpPG(:-/QxNciuQ`wf2'-bfeMDp0!k7mBѭPQⲫ>1Ӣqq-t>-vP\rNFі`\0Vzbvjn<4&GeэfR,l\n>b=Xc !1F#;eBI o\nh\rVg`D\$ViC~ ޫ`~p( `жeA\npCc(-3>'n#212F\rĦߊ~12\r2_h`fGj*AX )0@\rb]G8cSZB\$AD\rDBk~#Pay*eTpcR4\\!Q.:rXL4'L\n<7X5Ұ S,9;E7OIFkBo¤q\nM<F@a8lf@U /:-d|HjIPV_SR8'Ю/go2V%D/:*vLdtKt#";break;case"lt":$f="T4FH%(e8NǓY@W̦á@f\rQ4k9MaŌ!^-	Nd)!BaS9lt:F 0cAn8Ui0#InP!D@l2Kg\$)L=&:\nb+ulF0jo:\r#(8Yƛ/:E@t4MHI'S9P춛hb&Nq|JPVuo^<k49`\$g,#H(,1XI3&U7spr9XI5t@P8<.crR7 2)h\"< ؂C(hh \"(2:l(6\"(*V>jȆд*\\M_\r\")1ܻHB4C\nB;%2L̕6@l4c:1K@X242\05(`@RcC3:xU:Ar3^t0I|6l3,iZ;x\$n *1(e:&)V9;k\0C%܎\"#n\nNR0ܳhJ2K(\$,97.\0+\r膠08@\$+Xʐ̖(gZ1\rc7#;3S\$*c9B4*W'RT8BbTP*342#fc``0&5ir+Krٺ-ľi+xL#c;b.6r1qb_G4ln#l#B*Qn7#z6^VG,KR!PbC̨3dfL1ދ%cpíBJ7u5gnB47c(P9)\"\\a(\0!08o#E9@3;g&G+8qN7@R9\$)o>ql42gėC~K NOƄ	HdNp)BN>= S33ǬRTaA;+eH*fN]&\0Á/P:\")NUTUuZVj7+T\\P|W;\\\$O\0#P`L\$	@1 XQa,F@Cp4%qUϪmIdl\0aߴgή_Kk\$O(Piܹ(2\"K\0l9\nHi\rp\"<fˋ`#t@PMO\0KAA:(!hg)֔B/5F]I6FI~Sy2qamc|a%dRy`\r`Ზ\$B/Ya\$ zP̸Pj0qev5j*4\rQ3Đ('bm\0P	L*AcAiF:\\iiBa@#ҥ	5FYVf\r?I@:hQ֖G3jL#IQO@jC	5p\"qI:1R<زChH#Wygn)\n_8V.iL؈q.BTV;'nr7,z0YFI<W	ag0N\0(?n-%y-\r,CJ^]=8Ggq%ޡ,EЗ~rj@(!BRXP:B{AII=Xg%d4ku&[Tdc^8!]?]H~3l'@wI3W9!TiΈQъ(	dbq}:@։<Ex%3ˀWGa/vP&CB2QD7(@`YL\"D#bvT\n!ARyz5	>qDB\\/mջRs9H(J\n^}өpUڦ=hLе5#EeNv)21)L2l\"mwM.mcg\"Ʒmow\"{\\`׼!|I'ɍm@	\re6r|gb_7,!N&Ozp]O>s 3fGÃK;2@{Y4vn8lprR]7H`|	]Gn@6vo8;إ3(\$W)OSRoC]5ɺw1 k+)HeyI~C\0 `5Va;9U>b7+'@}yQn~{%\rS\"{\0(l\$ߩuVoy|<+oLL\0.8oL>/K^\rį<rIh-[E,Nn_./maB% \"\"/\nmFPp(P8IʑGNwnFF7:%5JZb/)K)^#<\"\":O\":OЋ\\EWi\\cC)iT,~\"⣐(%kǐ\nw̦P\r%Ӭ]0l\r.0g4]9֊ܑ9R\"V	oK\rh#\rtw[URuEa-QhM'9P'K?-]0p!Yh\$<}#c\"lZ*-@\\mwjLWiRb&qW -*1,rHpqCN,74>x	I\rgHĐ)N@/rNI1?	Ҵ-Q'te/30\"6Bc(/R^6q&)>K)1D`h	ґ*D!00=021n0e\rVg`AFX2<Xj;\"z)*Ix~@\nZIK)-K_4*33L#F&yJp]D@J2j&\"Ì\\m	-N]8ϰ'@(ڧ3\\cXp,dF\r\$XQ\$-;k<\0%ĘFepc\0FRb%OnL>R4/)6j*\$\nkq7??2dZ\rklΊ',u/Nj:EͤTh\\t>\\Hog'g`MD+Fr4&%@\0\\`@Cd>\"zԝ,\$Lbg\0\nȽ#kEpô&/AMJ-D0\",r.\n49`";break;case"ms":$f="A7\"t4BQp 9S	@n0Mb4d 3d&p(=G#is4Nn30r5h	Nd))WFSQ%h5\rQs7PcaT4 f\$RH\n*(1A7[0!i9`JXe6鱤@k2!)Bɝ/Bk4C%A4Js.g@	œoF6sBe9NyCJ|y`J#h(GuH>Tk7r1I9=	?C\0002xܘ-,JL:0P7z0Z%\nLH˼p2s(2l8'8BZ*b(&:7hꉃzrT%1!B6.t7ҋ9C1˩pQ9:\rx20; X90z\r8a^\\Ks=8^(=ϡxDk#3ޖHx!J(\r+l/c\n\n(H;5C5oaXBK0è+Rp#\n<Mm舖7蔟1Jo43	ժ2Gi[B3EqEB\$2;! RwjZ\$Γ&3p\"B(Nz_*p<-i)X6JС\nb77\nd^B9	kLK)q!莭&,>:B*_lAe.x-p\"[]j4d*('#x3-K'j)a\nz:lƃkwĕH^)(&_	,oҳJ*\rv!b1棅gctO|l32w.GУ\n.^&():4Jԫ?,G@CAJ[W-eyF)G>Ps.J;z&;'pVLN?%RQAI)D|ʛ\rm\nsǌugК6**C0P;HMp&8vK@f04t̫Mr\r|䪃[A3r:iԏĔjArN*8#xE6 \\d(H\nも\nIшɭUא\0\$bkkp;Td='MDM*h\$\"Hx`H317C,ӛ(r)B`t9(P̯18R9B6	Â	ȄN8?y>(D rqoMݟ\0@C92ʗ	ڟ4^)M06GUf҄cYREi(%/Y\"o̜(i3ƹ\n4XA<'\0 A\nPB`EkeQ	lLB4)Eǒ\n_mcI\nfpH\0FRVHF<^HؑlY\\HY\$ +*Hm\r4V,plp{Sa4TEN\n\nB%t)\n>2Iw\"dYJy(ѧHCMAL2KmAPZ@PJm,CJ-@873pXa1SXe6)]HA\",3'Uy({cSKdA>Mku'n\nڑaz/}~*w5,ÐpgPDWTnu:T4;-Pȱ0 B/Pq%zb^Mq7O|)t~'hJ֓io^C9ve:imd\"Dȭ\r#DZ*F3#Y7i(aE^s]ٞMv\$CЊeL;Ln9Kc6]OqduVq\nH#{+5I4H\\fl	.)Z3+.eZW_5Hٛp\$iԖ\\	F42t6<d(o?#I\\jeQ!n^~va;txY\\ MH:XپCN\\IXzD`^-ak̹DWp/7y̎0Z+yH5(7֖r%+]wߗﾃDEQKHaULy2fUeoE#aOjؚs5q\\ud;;:%TIrz-[+aXt`B~BbTbg^E8u1g4:K6Anks0,4򗱅OR6up^أ\05/H!\nz0^Q2lp>V|w<^_?yBKy-bǖpkVk\\{ؾ5G).vޫ?ow\0/&2lel4f'|\0Id/l Ȫ\rDvf&![htpGâx/l'ǄM̠BJd\rVbg T(,63* B%c8(heh,0\nZJɎj>k2Kl(MN8KLK,@}О2\"'I\"_\0ʗnh'bcPX\\\rc\n:I:K\r>hF-o/ ͅHwgV!b\06&iXjMC\\Cjoa	u-l N*crFќ\rz P;jD	kr;Đf^1L4-'Epg\njNL		M#r0-G-`";break;case"nl":$f="W2N)~\nfaO7Ms)j5FSn2X!o0p(a<MSle2tI&#y+Nb)̅5!Qq;9`1ƃQp9 &pQi3M`(ɤf˔Y;M`@߰\n,ঃ	Xn7s4'S,:*R	5't)<_uFĜ'5>2vt+CN6DϾG#U7~	ʘr*[[R	*9+暊ZJ\$#\"\"(iP#H#f/xځ.(0C16B2O[چC0ǂ1ѐ7%;ãR(^6P2\r'@m` rXƒA@Ѭn<m5:Q'x8RhAx^;rc4o3^8P@J|D3.j^0ɪ\rʜni\\N1*:=:@PORqڣjZPҕ.0*R1)Xu\$WjH	cz_\nqt^7\$Τ:A\0ܞE0:0d%Ȱ:2)أ\"-'Zb膲\"̗iC2nS	 l(Ε獰lcz)\"d֎R\\,L\")ɑۮC뵐AYdѤ?=d\nC,BH9V\"\"kvϻ\\d\"@P׏6k2`3eRj*r̷b8W;ڣ6 K+3Ī*%42RL(ȼ):Yn:vMz2<2aP\$ >*O#8A3ӈk1KQh5H*|2,U­×Z(jT#0,C<޺UĨ9.M	[\0L_QH(wSI5)	AjT*K3\0@@o%,U{`@RHD{%@gi)lAB<m\"Qy)!aWD\r5	T_i 4NL\0ib<(d(ߑ@@P'6{8ࠪCq{c邚8i)oL٦ay|D]ަF˽WvOS8n4N{yQjHy3GI0bEIC6EM,IA\0f)Bp/O٪B8MBO\naPXL)('fL1/jg'0Ô}T^^bǂQMa/&)<҃48r`\$Qn#N6&RQHb9O+2Ep \n@\"j\0 &Z.H(H&l²;t\0~xmD\\6x#,9bFKw&QJu'Fqja`7ad@:D±ԐF\rg`A\rAC^@䄒TIgLI_Űi!R}nHr%iWMywbR0rж\r0dR2dDS`D' ;s)2N!wKVh_\"8qA@ĘuK\\f=fޕdPݍ1yS<jH'&bhT\n!A7kOjW'ߡ3PpO D	H/JL\n,[EX	v5E6bH	d5Ϟ\"^䢒1+pv%E4[u\\qtd<(.#ݚÞm>Ee9}42ȱY\$	\0YcG#g\"L	\rD\0001jQ)()[*ۘdK̩j2B\n*d`(E-h&8&NGh-Ѯ;Lܫgsp׺YiX4JCB08U[Vɥ߳\"Uu4}A+kkuRbDtJJ9%]zjw`k&ݧ?w9ޝ&y2e,qo4<t-1:.Cʙb{~rk)uطvWGC__@&&Q^y\n\rO`ƈI\rE5d3Xo!THc#,%ge;`oiavёY?s:(:uhv֎d:(NƫQ`M~uUɂ&o:ũ]ٞXlTI<szgk?Ufcf:kC΄8gϾ#,09y%p<k-pA\0.k,e\n,d'Dd,&HdD=L(Hk}PJwW@3 \nEރ!bfKYd4o*cPL,\$  ND^f5F/jfbƅGp*nqY\0`#B&. rBz&B\r1C.D'if\nZ6~~L\"jmjVo\",o8B9QB0#B#B*~K	\r (NQfІ=u\0ED\r`8`%lC&ȠU\nCJ .#BY.I2Hb#\n\0b(	fkqN!]nai +E @b3\$ctfk2\$˜\0dvBކu\ng\$hL&y&`2#dIeG'KFD#\rs+x`	4%b	 9 M4OoXbFU+تDb7WTC	\0t	@\n`";break;case"no":$f="E9Qk5NCP\\33AADeA\"atl\\u6xA%kl9!B)̅)#I̦Zi¨q,@\nFC1l7AGCyo9Lq\n\$?6B%#)\n̳hZr&K(6nWmj4`qe>䶁\rKM7'*\\^w6^MҒa>mv>t4	j	Lw;iy`N-1B9{Sqo;!G+DP^h-%/4)@7 |\0c@Br`6 ²?Mf27*@KaS78ʲkK<+39!Kh7B<ΎP:.ܹm\nS\"p孀P2\rb2\r+DØꑭp1r\n*@;#7@8Fc2\0y1\r	CBl8a^(\\ɨ-8^9Q^(ڴ#`̴2)|z2LP 3:Եc2Un#`ˈŁB9\r`9 @1)\0VAh	c|Gb8GvH[\0 ͣz5@0:pR6PT\nc\rΥå0)ۼ4C:6*),1اx2HH*)d3Pe_c^0\"k,(M0Hw_WYaGZecPȁBzFJ0 z(-5H8c[7ζi,v\"UrE02	3d6dA6xHv2++K|#D:3l0*iQ3haJR*ؿL)Hߐh@5.~2,23͘*8εKb<R*\r+EO#tJ:p 3A<޳҂L˒TĤashl'a<\nHit%\$ Z(p&|O@(%BNQj5GZ`9!P@`y7%7NY9ː9\$2,:lFilնSp4ό̦ƨbh6+LEGЃa\\WJ;6{N4&eC\n#p[).%̦&tc\n;e0cXb A@\$\0[%L(&PRSHz,\"g'>vKj4Da6'z?{Oqg@G3%e<\$#f':NފCf/J\"G(\rgIҙ2i&`O9ti3ODH4|7kPH\r07'RPؔ'Li+@@D3Y>̑#ܑBESg3et0T\nDӋLTtcnbFP#D.xNT(@+YA\"\\ޗG\".F2l#&D@d?DY\".3VY^gd\n	lH>Rg`EAnmYOaARle#CG\nh:<JIM*%QZ1(*QEAZT(%0]9\na=#rݲ\"(J9n+xXf\0YlvZM1oġ+AabD\$BʑxY bԂU2Q\\L_A\nk0ap]oC!'Z@@ \$)]%cCzUJQcIJQ޶\0/*E)	e&pO	i2,)Ur!0h盳 Y4K{F 48z\0K|P3t8]ͺk@\"RTPB4\nJG\$dt=cQu\08eسbF1DNC\\!U2]Q	o@Ilfk𐅋Bd옶W( 9-z\rowRIadÃO!Qcz{ĺ=,͖rc`R&ŠR\$/62P%\rNPLC:ܿ?.0Q:RvaqZ\0(ef0ˏ[LNԥ[YOQQ~,c	:V'Ylrر~7M9<i4%\0䓸f74s=Xd);OxC[0-t#SU#qmo@p)aH2tEȝb4\"Nw^Dr>bz\"|hW)>缾%XEr1?+nUoka(~dRh6\0HDnHkfk\nYf6\r^`RZI\r6.:HMH.PG\0i,&\$\$a#\rGfto0wVl\\,>8	04%,L\nRe΀'dEl ;O9\rXд^c2PG`)F:<)qFdL p*\$(i;	eZ)|1ήM@d\rV\rfd!.D'4O\0cXzb.Rȣ \ncʉ%%1DҪ~m?O4 1ʑ\"j*`P֎V:ÊPq8Zb1JHjæ%Z6:0)RGb:@/+0fOJPM\$ƃ.Xn|r0,.+!B1\"Ϊ`R&bС!2(5\"\$Bf2+y&FP*%\njRo2f:.81S(WkmHkR^L\"ڲ,\nf!NIR K+*02PHoG`#[B0x\n!Ń";break;case"pl":$f="C=D)eb)e7BQp 9s\r&ybob\$Gs(M0gin0!Sa`b!29)V%9	Y 4I0cAn8X1b2i<\n!GjC\r6\"'CD78k@r2юFF6ՎZB.j4 Ui'\nv7v;=SF7&A<؉rZpk'z\n*κ\0Q+5Ə&(y7r7J2\n@\0#9A.8Ø7)ȠϢ'h99#ܷ\n0\"b/J9D`P29.Pm`0 Pj3<BDXĈM47c`3Г+5\n5LbȺpcFx3c;#ƂCpK2@p4\rŃ`@(#C 3:xSCs3^8R4&J|\r3?)	^0ʘ5)D-v:l\":֯̀\r\n9heLv[\n\$'> FC:23:758W!	cx\0P<Dr/p X7l<C-riµYvixëӭ\n82	#V bs\n'Br\\:R:>JL 8oHCIrGorf>n>˚\0(T;V=5}N]-K59itLf##sQ7K.L*.^I>5P6Y\"]*\nNd}!-[p6+\rʂL3F\n̽00͓Eեih{k*149}n4NsKWGo7\"50@GD\n}8  [BU\0AuC6	=Ґȕ)\0F)Rk!s%!\0Cl^e\n:w#r%i6~CC9dEd@	8!cxz;8 SAN+/(LeM8s\rE z+{4K^.lE \$\0g%,'C1>B*26^bAA	!Epiv@!Ba7<@K*\nX\"_s% e e,7ku5H\nX4 СB\r!6d\0r_!3txEe>Ya2:iXv\rzNQvs.Q/&\$̻4S)y &iSÙЀ\n`, ̘	8F(t2334KH%K%90)8aeh\r~M\\'\$\nCJ*RXʗ@ș'EȨ`Bᯩ0IĲRBQ#\n\"aRȬ6 k\nr>AR9GXz\$W\"+g>t&2},-G)+b\"\0SX5q\\*ɞL,r&ʚIl\0)_(a;JCi6	l.N!A;乔`em *2B]`F	lAU`̮8cG9\"ۚaÑȠB:uj	5Ã40\$ʚv\rPmǉtNS:ǌ(,IǂV\nO%o\r@f&Uq;S5LDT rYT*tm?7br5ZH?\"ڣA.gITYt@POl̤ob\rq6=\"H#SÑ\rCh4Ks8GwK#^/̭D0nqF[.aEmJkϓAӹMV\$Ts\no'zBq%et4\"1Muqu=f7r\0A\nP 0F&q-1NqBATy^_˽J0#dTyܰsgI98B-[~`d7<S\"-D?4y<9PKLz`bsY\\u:p|1:o>ߙ?cw!\";0L4~H!3\$ufxs5lDa\$F.UPmbiW\${0V1S3\0-Y?`/?(PR]燒^roUn9&߉J~L Z\"ߗ(BB(/ķRaɿ\0NXB\0LTrL:nB6\0\rh4hd+FL\r\\'d\"@^c4WbdCglFMcQGd\r͘'pu\nB WЊFa`ڜPZl`Rɰ:Jǈ0bʋ0pDV5\r+\rK\rl\nlQe\r0s	N\rO.cp(2(6C,M=΃f\reb/:&͞(p(#DƊaNkfp%`梦8BR!Z\r|+BdC	d5\nb@?\$q*EZd@6C gq(ź-|\\l=*r&\0L\n6r;3#,w\\\rt\\H%phj*0	c'ei'͒%Rr2;0EGk\$%=C8Ƣɢ@Yĉ\0)JfܠU1	p	p/QE\$M-(&Ҏ֐]/\0Lgx͂012U0\\M;6e&ǺUr.'p\$s/ŸǠ41Ҙ`kV#2`\nuQ#;{7G4R{5du|Lt2)<enB-QD<kdz3c;;VD21@m*o=>|c3o:0[=,UhAZkv\rV\rb#L\\N i9;C)BBL&JLX\0\np&VhOooo޳¾;Gj2fTdJ@J0B;\r\$SɍfwDƗ7X5\$4Rxkg;lgПCOX@OH8a*>=Ls6 /;\$A @ވbR[ZS PCS\$'I(>SCUˀ8FX\ng:jL5%\\-~;t{gȐQ/Rgx\rKI!GLu6	0%\rG -\\BBaWOg\"\$UHjuHj54=@jzzʬFDFHL36bChidV	\rS6(";break;case"pt":$f="T2Dr:OF(J.0Q97js9էc)@e7&2f4SI.&	6'I2dfsXl@%9jTl 7E&Z!8h5\rQz4Fi7MZԞ	&))8&̆X\n\$py1~4נ\"^&aV#'ٞ2Hd0vfβK\$Syx`\\[\rOZxN-&gM[<7ES<n5stI̷*.:15:\\.,p!#\"h0ڃPܺm2	KB8V1-[\r\rG\nh:T8thGrCȔ4T|ɒ3pǉ\n4n'*C6<7-P艶h2@rdH1G\04>0; X ΌD49Ax^;t36\r8\\zP)9xD3:/29hx!q\"*HQKkbIì1Lbb%J8ılkgV%ȤEK\r:(\0< My^!`꼧#J=}Ǝt^pr2 ϊk26Nku2v-a4J((&ǎ.ٚ`/b}`1ؠvA͈Jr٫ 3@Û7`ܤ&Ljl KRnp>Boc,Ǵ-h6#kB\$,Z[U,q{!L>\"Ѵd73R\0R9L@\nz!9b9A.x0{ԒpaOr7i@@!b֤9I}wTa̹	wgs&ӟdhui5*BتCDHe(\" Xo,MPaQ1ʳtp,&hGTR^0GTRaM)<Mi\0TPxBpL%h >LQxo\\'0A( '|HYrY\$	grKq05zTY^H7( ׈a@IPjݵv9Ĭ6H\",eABBD`<OɨPBH\n	͛d\n\n)\$zUGi\$\r\\Y\rqƼ3B:]79t1G=o5R2^h}ᄜ((%Dxc#B_1Ho( lX@@\$M\"L33voL8+ԛ(+\$l,(Szf8\n<)D`<ilt+\\:\\oN4&9HJ\$gNynqd6Կ99-}FކSb.͕W R]Q\\m3\"HW٧\$f٫k1怠\0U\n @_\0D0\"b*-z_q%!	`Q񓪂\\xpeŬcr`e-J7(bHx.KV⛬N~BɖKVȭ;r	9ӔKHm8XZ!\nC2zVHAX2T7)}ee/]](͓#_s41L~9WC,:*}`kĕPzL9Ќ1Ɋ[XE~.T6%^3n-NҲ7\\2YLw5CevAPP9<&᫫r\\1o.FEoE'aBAa 3]yNy9I\"Aya^te\r_10Rt1QMt['M:_7KWYM\"`*jf\$/x3{\$saR\$F{DÎYmv*M\n'gaf\"lR!0tyʴCG֤FNG.\\Ɵg	In)g`za>IRB6\"!Zo1ֳ5[wVP~Ûe9:OpL0o>ʥ}QFGWDk5Bl9\r d;e\"U?smgFtbpzf4qq4+{\nZ(+>\nlz~ٟt!1v,adl\nӓÍtnۚ^o57՛Wg&IkC\\MFI&ycѮ73daN9#Szl}1n{ G6wzeUI\\ED,n\"6O9b2	R%\"&.`	hL/1\n.tEN1k/V`@[-ܚ\"KwC\"3Hy\"[_pi	F2\"DǤ0̆`6\$Њ>(#*(~˚p:aϱ.wp1FLްA\"Z͐skf0cGT',Y.1#\ro\0@2F1?\"r &	\nJ\$p'XqA0PdKb[ 	\r8\rLC6,8Kj썦^1\$	Pʐ@gLTC/n1P6shڕpe<@jF\r&qN(En#1-\$Z ZgBD0 ZbW	gτ#/r)<OiLʤGB@ N	f/H؋VĴ(C\"z\$8atccb&PjRXdZ)+!'jce+-v0ΐkd|*gA+HjDr_-.#\r9Mp,iXebfGg+\r1k<iFb:2E 3x]\"(fd*08/1v8.\\l1_jIb˨YL<^)lrL\$5CD";break;case"pt-br":$f="V7jm̧(1?	E30\n'0f\rR 8g6e6㱤rG%oihXj2LSIp6NLv>%9\$\\n 7FZ)\r9h5\rQz4Fi7M&)A9\"*RQ\$sNXHfF[\"MQ'Sfs!\r4g฽䧂fLo7TY|%7RA\\iA_fDIA\$QT*fyܕM8䜈+	`Aȃ2.c0څO[|0\00Bc>\"\0Ў2or\nqZ!ij;ì`i[\\Ls\r\rꒋN͉zz7%h0 )-b:\"Bƅ\$oL&cꒀ: c2\0y\r\rC@:t,CS/8^GAC ^+ѻp̾'|=,<nσO/4%\"7dYVMbpޯM\$V\nx(CW%ہB6\nt47ljk,1p3桪cdٌ2ȭt25akvLN1]N1̢h&X@6 ,'԰c7\rߍR/'rځ&0:/B?gbRM,1״b1odnhhl0X甾om@˱r\\5I6#B\$[mra1TI.\"Zs]vK65{700'Cz!9{n9^W+<+،#?Vu1O(P9)Ȩ7iX@!bVN_-aizخS\$s|}9LX2CdC\n\"\$ έ\$f4\nM`r`;>@PM1((Hਗ਼UTZQEIU.]BS|7)JTj>B B\$T/D濾7eߢC1ٸCfaS\\{4ܬyiOƇaбpO1XICgDgh(f\nDF0un	Ds.\rP	A4HAX\$I\$\n\$q\$Ϳe?fNO]\r!4G/l0u\$N;dH\$Q-\":#<!P\n}H\"K*MZM*pMe%rb?ፖ6Hpg@'0S@'\0Ή˩d2RLN>#}BtdS.͖\0HB54vs5P&*%#IXOFpv:\n:]#LO\",p \n@\"k &ZFt9y-i /b*fzO/~4\$	0xRRn~Cz[%[%hMԾerp7F`¸bNrZkb͙9 .gP9q<bXQL\"w*cR\$Bq ʩXVJV;Ct8ͮf:1f4sy,D2fK*Jhe(+ŀeCF\$82FiXf▽e CyZV8Th9v;f/O+0\nz27֨7#	:rv_\nP 0I}LΊ;@{@\$p.Q\\`FiO(o]CBɽA0t243NvHiSotƌZ\$H-<N\$\"UK%tGH[Y),0dޠקC_,vdgljrO!9ZY*bh2QdΤScQ8jZCM#ľWJnpgMnAzB29sHEcYjє2;|0JY\r]NN0W}~+gUi؝I	F0/n6uk.>;D3wY3p rӇ\"D,Nkwegd]n	bYZ:yˊ]LMC\rw\\y\rC\\w;랗?{TD,`5s9	{RQ4nպw~͆=R}ozGZ*?`FlV8\$/Ǥo\"Ɔ\$<.C(\n^P)D#ZTJH600\0Cp\n?#/ӯbWJKc=\0xrf?>2Ij6:o0p3pkl\"`Y>(	TεONpWxd/P2&]0K84zkVo0rll&r,/mI}P20f(\n lʧ\"N^LeQ	ȑDl(npk&tɐb#6\n^_rH%'._BF1zQ|\rBr	\r\0DP!c*pN3eGk|YDk|D*e2Cb7#0n2*CC	\"y D\"<j(\r&R\"EX#ZB1N1@Zerʢ\rꡃU\nqf2L~׍T记M{O /#(23<\$DivQ\r11\0\"Z?gFC:&Mp\r|%*JUf2(\nJPatY\"Cn>qh7)Ej	H+s k2RGy71`, 3.3s.k4C^;H?*,.2Gpm3c	k*Rk.kw3LWJdLȱ~0˶O0#TG,.\"dDer0~0+2/z%c(S*2~&\$/x/>],\0CEDˡR\nE/";break;case"ro":$f="S:VBl 9LSBQp	@p:\$\"cfLL#>eL1p(/iiLI@-	Nde9%	@nh|X\nFC1l7AFsyo9B&\rن7F԰82`uZ:LFSazE2`xHx(n9̹gIf;=,foNƜ :nN,h2YYN;΁ Af2r'-K !{:<ٸ\nd& g-(0`PތP7\rcp;)'\"\n@*12B\r.枿#Jh8@CڔB#;..H/c(6Z)'IM(EB\r,+%R0B1T\nL7Rp8&j(\r肥iZ7RFJ愾[m@;CCeF#\r; X`D49Ax^;ցrOc\\|4PC ^*Aڼ'̼(J7x9c>Ji@7)rP<=Ot\r7SȲcbj/XSҊPܽ&2B`n H!x73(:\"a%\nC'L2PحvոǊN&.3;EL;V5h|)CFDI2bm|C^6\n\"`@8jCo;s#MMr&\\:X2-7w Ί{ 0w8(7.	#m9\\\0P<uc\$9W͜<\n\"@SBoHm7;B06P)蒂&:07 ,pGc26NG)z꽄F\";P9))B37p\rHop \nIDÑE*U4;+*DSCR'pLD*P@ق*@CbBZQ3BBHi 䰱Tbcّd\"zTS}P`СTZՊV@xrŎ]Hp2@C |\"QSL0Jx,m>-pRzrw/GGR2nBPa3E'6|\rtp\$}K_Q9C)+Fe.6î7\rpڂ\0?@ܙR1wvc)%CԂ[[N/ĆX(<6Cxr'ؔ2Q.\$֢2S,G1@5\n\"\"')iF0Ij#z28%`Vj(a@'0.Zk@L Ǵ*eE<(pbC+dz22/cob91F Sn%mXP#JRy9D]1wA`rO`(V+ϑ%-\n?f2S/c2#iVRlLX&5Ƽ(ilćPuq%2XPM\n*͛@cHnf02Ta'[NNL	U@k!!r/\0(+\$N@Z[\$K\n:ƹ-\0P	 (^ґXTCVrlk J:B3ܷǄTK4K01gQ{yt0ҧUmS&RJ&)4lmyri|c6Ѫy.NLz;\$KI!8|lL9%C	\rͺ\")	v3#a2h1ԝ0@mM1AErĶHtTo`PRqeY+@'b=6AEG_6MӐ+Eӟ'mz&(kInݛ\$`K˯)ɬRF_%Kȭ\nYSK),błlnӯJ\nKg(^]A=A&o2W9Q-ع!Ι_*Ȥ3aˏȡP4fStUy!nCρ3S >wQw޳-79CA5WZL~(^2e=#\"%g6?	a&TcjIi\"۹`)<<cYzi׃sH}]{v~}%uۘ]XyEk}zgW\$eNA[mgdU21{v0rB//cR\\#60`x:CF닭7o0HOFOol+8\r Bm\0|c<1oEP5F:z +bnO-\0>,q/ʋh:EdF\0A'xFRO p>PN]Ǧ4k2#BD&u2q(ip`\$rG&C1XN#bB:@aDCvB~[f:c:^h	Dbn#\\m1[1R|b沯Хʽb@/c(c\$P2bbʎ!K9qOxQ) oʉ1KQIduQA-&@Ť990L	&P #-6Lr9! 	<qW4O*C\"@O?epGޠ.'Ē1r~G_2\"lb/y&\0q\$ٍ҉(+*x5J@j`p@\npl\"&\$zJ'~Cڸ\nZ2\$>afXލ1L#\"t#>\$\"Fw0}.̎nètC3F#4Ȏxu%I:eb @AW\0\"Av')O\0MLXMjZG\"zn\rS1Eon	 w;+RC-=X\r|21,326l2g>SL)s':'{1beIJHb6ZS--C3\\3g~&#X&*#g2d_/+F@	@e\"cc.6D3&n4\$+0\"G;Dqu1>gІ#03H <%@	t\n`";break;case"ru":$f="I4Qb\rh-Z(KA{ᙘ@s4\$hX4mEFyAg\nQBKW2)RA@apz\0]NKWRiAy-]!&	pCE#yl\n@N'R)\0	Nd*;AEJKF\$V&'AA0@\nFC1l7c+&\"IIз>ĹK,qϴ.u9꠆L,&NsDMe!_ZG*r;i9Xpd'ˌ6ky}V\nPػN3\0\$,:)f(nB>\$e\nmz!0<=S<lP*Ei䦖;(P1WjtEB5x7(9\r㒎\"\r#1\r*97Kr0S8<(9#|n;%;(?IQpC%GNC;&:±Æ~hkήhOi9\0GBЌ\nu/*=*4?@NՒ2)56d+RC<%N=jtB h7JA\07:\"8J 1w7\0o#0r4@:A\0|c2\0yy3:x\rmAt3p_x.K|6ʲ3Jm8^0˪\"wRSN-X,dO!ifEdnG&Z!6\r۴Ci=@Z.-j:b9\rΌ#V&N󽯯luB)M/*~*3I!J	t0pD._#(hP\"hGH.\"b)d2F)t2Y2i]/4]LY%JiU8kB`.L2M{G7spq]6eEIBEBُAL(Zۏ:\$dDZH)sךE 2Tp6=5`P6a\r)C;	\nXeb[sw\nyIZh#\"Ȟљ26!X'VEQ#:rHB(\niP	3N*\"7DD'wKv\0,RЩi	\0.%QA(1\$G@`ZЇ3 p	TzB9SI{-Tm]2VK)3&̝wҁ9HOZ<;>+2AW\"!zh^H0#eKГOYS&y2R+Iu:i?\nCU*) OD>Se\"N'1AWBbDd+1W \$trǢhV3(P4ix	i8E\raD | tn'D;H3ȵWPOZد5),z̆DĎ\\;')^aY)1&(ŘczFCs%M8'&Xˆ;>0%(ƌ䊀K0U02؅18:74K\r3\r	yu\$l\r1%m0dښCu]3[xg[wA~@RZ@1a\r΁#D`*keVh%+y05cKh>C(H0HY(hX!M(.@4R^7 CiK%Ҙ \\k\$N:Dd}3m\$+W<|yE5\")>28yH_*XA5/Jz&'fHwIP(ϒ\\)D\$ml9b/gy`\$\n|*fCiPQ+H&t	v5FHCJP\0¤x=] ս*z\03٬N\r)K2͹`KT%YiM9WN.Kp-i,עW6&8hO F\nAAiW.52l^!w!sSDGDpʃnͬL\"3gwHbYu'԰_B8Jζ(\rO@ok:O,<J2E['i%P![p}ieYZė`\$\r;ڭwoK\"XV{lW,W#v/۲:uFŽ=m]-h tP	B:#02KGR.K+6\\FliLEtWɡ#%6ɭS\"q5Rmw4+x?{ChdU5B''W[<<ֿRjNUhlTLklG:@*g,/GobyB!hȆ\"J*dkH@\"bj#!JLGL\$jƘ N\nߧNSPz̖*L|Enȅ \n`,\\2BY:&NYm5pZM\"8L\$o@^1J\$G¥qIuZmδ&uC\0P\"NuQ/\r2+(,)Qaq+Qm7BFnvE!r\r ͈v,herl((1֎F#(N0\$c%qò	qTCѤq/qHʯB% Xm-av=EU\" Ǖ!\"eF= L!ql\$a\"\"4Lg|(2\$R(3\\H^ª\$E䩞p\\>qbՉpW>rϔRJ8CጜC2fnnn0dP[\$.KQu\nń|]+9,2x/B0#-G/\"0F,Nz&Nrk1H/.uv(Gj)nw&wJK\"%E[6@#n|<= ϏWm\$.0hT>Nq6ғ;8gtPCGS2bY2-.~hγXQC2c=<12.=ȆɁ>#9х?2\0#?S20򰘕°a1BS\rT#.&**@t4\$9q#tC9D@дET/EEaF2CFuAQ,rȎ:k/N7Jt#tKw1\n.\$4k	1c	*SޗzPtQg\nӖ*\\# NP4޷h0i]P\r+#Lm]Ktpuէ!.8u0dl0P~T}FcI	IQ`82,B=qY0r5@ADuY:YZպmc\\]]4oAu]MH]!V_@R/3 ޵`-kxk82r\r(A\raZBƯn\\.@MH|u|@4DZ3Y0YTI12IVOf51`_la	\n';Gh\\Yf`0`oh*wuAiX<\$0B('P?BM5J./BKLP<vmw[V|iCPvjOmV\0P\nuv2iPJ£K[(YVVfsɎs>VMp:	e1EΉq*uo,D\$}D;ѾVwyF1wU	xj4u.	wFC=r6jDs 2`I\"ZXUfxW:C7YIwFc;{# a0REJ{HT+ZL&SF!'LTb3%Rs!6B-J4|+#\nZ3UkF,IdU|.yfxuQ1,lV#	*NRҵe03Ao\$*<jE\$7E@>-5bݪ.P0?VxAh\"PAw,b[!c!n*C@\"!DABSt'cC*a)\$bSP\"VCs3IU/3NSSE9#M/h͏#c:2Vym~x~}jORىEN6YtիX6Xy3P/:xxH!yO\r*}\"nFDD!{j\"GPPT x89+xeăJVyV0ǁ**v누yI]*\$3N!,|c<R(3|53חR:j";break;case"sk":$f="N0FP%(](a@n2\rC	l7&P\rhl25rxdB\$r:\rFQ\0B18-9H0cAn8)D&sLb\nbM&}0a1g̤k02pQZ@_bԷ0 _0ɾh\rY83Nbp/ƃNbaaWwM\r+o;ICv\0!F\"<lbXjv&g0<zn59\"iHڰ	ժ\n)9#|&C*Nc(b6 P+Ck8\n- I<BK2h:3(peHڇ?\n -~	\rRA-6&9ĢH@\nr46@2\rR.7c^S1ã(7[bE`4C=AMqp;c XH2D49Ax^;Ձr:#\\zr09xDj&.2&|9SQ<2\05s\r	rM#n('9	4ݍq(B\0ĂN`\rcSZ;!á](\n%ǩPbքH1C-:D\0::֍V̌`:#>R3+t\rc ʠHC҄R6&_-d\"h^}c`Ah`0p&Mka[|K#f`7vtXĶRhr\"S'#^B6\0Ƃz֘#m^ww-;ZVl꒎x3\rR'iC12bސcpgB5C͘		r0\n}=a@\"r3zk9) :HŌ`d\0=3ތi*_\$!5#4IHT4JrVM4,qSO~>OdYDi#w\nMhVP* 0VVSP퀕pYHd%HBUW'4ꬕ\r<!\$(u28 GD	CZOV7F=T4K˔&*b%rraHh)\rd`@sC1\"y(g3QDJ*(87,Iy/e#xJC98\nɯb(dPq)'\0PCB`1U\r)VmSڂm;̷h.3D\\Fݼ\0q;=d	i9vJlG@^:Y@\$gi`&>Te!Ś@*Qb H š\nԒxi'\$P@xS\nXPdO\r%)6n1sFPPYJJlʀ\$\"w|,P85:&TO\$1\$RèdSt5!HQ9͠p \n@\"m&[i!I7;(Z\$W\$EV.\"%\n\$G;ǀDj(I{N&-.;RZl<\nl.T;]X<SFT0+hq\"cO\"8H;:HHx^ٳ7Ju\r/J7\$~5!<1AfPu\rџC\0!\r!O\\A8.L1%r轼ܸLPe07ו	uGNYui?D\0pJy'ޅz_[qg5!%ڄZ?0=<{|1p\0:(e\$hHXY(kG\0vF\"[C	\0jE	ON!3)514&eU{( RMB`êQrtF@a\r޻ӿ	̧MLDg86˅B^!qF([QȚ&Vj:}3*RRQB#rd_9sI\\K6Z虘ƾ\04NjQJHa9N{\rқSzbq'IJ09Ҍ_2H\"7Ԭ./*R银!\rjٔ@yF ڮfV`Ò_rñG:/BMy=dUCxy\$8+:;	7w))ܑb7sGYzuc/ؘ~׻-e oß\nfSoO\" \00R M:4̦F(H#p\r	\n`dnHRZGπsbƞ\0/m\0\$Ϟ&0RB6'/Pbtlǀj0uo#Kh, nBJ9PPĮ0@;	t\$\n`.ШЬаLJ0k𜂐D.D߮X@\"klC,^Q\0ұ	{-\$@ҍ-zp\nB-\r^\",'@f&:O/i(&`b^Sbf`1FhNLJ>D((,BEb6oMP,X*:OQ/r,ΌaZL)1]Qތ;Q2C\"(p;9p!!`#9〶2(c&r~(=\"/DK#cd,N.	bLИ΍@'Q( oJ-g	R(%(gQ\$RxmR lGP\$l.m7!qNR2rq*go/G+-6CE#\$K*.Q\rls\$'I0M3.42)o=) Kcg'\n\rɠ.Bs\rvր\r5p)`N0cbA#`:\rH79n2&'S9е\rV\rg?*E<c(%6\\&äC\$% TAk\np?N#c8%^\r.,lBKO.Le9CEBPL:#Fx&pi`AFJ\$dh5Lѩ\\6F\$/⨇#SBQ|<Ѷ@\r(XFRt\"JTjb1_+rDi\0z܏x-ЋMqR{dr4 fSE/!2AcV4zHON*'>L0V]G\0j脇pC&2\$\n!6g,|d5CZ@pP`t\"˲i`&pX\njHB9#t~1lTHKk\rKӴ+%C&\n\$nf9\rE	\0@	t\n`";break;case"sl":$f="S:Dib#L&H%(6l7WƓ@d0\rY]0XI \r&y'̲%9JnnS鉆^ #!j6 !n7F9<lI/*LQZvccMQ3g#N\0e3Nb	Pp@sNnbf.Pl5MBz67Qfn_T9n3'Q(p]/SqwNG(/Ktˈ)ЀQ_Ø7){F)@8!#\n*)hھKp9!P2h:HLB) 5Z1!x4B\nl\"(*5R<ɍ2< ڠ9\${4ȧ?'1P3	BB\r\\Ø`@&`3:xEʹx:J@|8̍\rL7x% c{BB5)L=h1-\"2͓3#aث-\"p;2c,B>LJ2b:6q7-q\rI-sݶ\r1cH	q+Nr22s\$&hH;!j4?#؟`%UR#((B9:J5Òx8K&b7@P4k7Ԟ*{c`>1npފb89u5=X6f\r\"*eamN&Rԕ\"#;\rCA`Yˬ \r.4bxC3'J^':L9BTp@#2ؐ@-t0+P906H9[)pA[:HTcۉC>[Z:%,Ǧ{:^*1+74*Q1	,Oj\ns@2 ELJ5LebKaVyx@v-	%(9Kj )aK4x<PDRnR\nIJ(Ϻ@qO\$#6q\\uRBH@S_Y#bnʀ\"HI(oFrJidҗ	^eC4#\"2BgZ݁MDѴ\0c/K4K7Y%]NBV-d9PЖdԌ<\$\0@\n\n@)#'pxC@B9ZRJKJ\rk<\"rʁo\$\"h#`qA%lQd<@	L֜\\gV0b8i\\.xi,\\\0{Ib(`H\\̾\nNIVDJnxS\n8-:Pu3nn	S2I3K㔃\r7)&|5gM+(4 F\0`+ZgٓRHr&aLue@(B:tl4pY=fP:RAKؠkYA\$dxB/AgepLD#ahR*Ĳ8OxfǤ&3N2QN4tuq,ͭl\"L7U䰛\0nzAZ\n_OQ&8D媎~Vj|9:\\Ґxs&jlXpTY\\8ԕ.;IH`5yLxrARtݗZƥ_/SA\$70@րl:`CLLܐa3/{lFj,r4:qHI\$\\FT^+J\$Ufx3Aa P64ܬK0L`8V.4yX\\5ߝ	+<\\p.lZˊ@A_O>rUДGC>pLѤQi>\\ϖҬ|iߦ ZOBnpZRN5Y.B==\rZR\0)ΨVͫ\0l}mqBG_\ra[feRݸ2+7n̕ی\rֻYnB1*_=ǳ,?\n*%DjJk(DA/7O،iC)\$\"~JEG-Ff2r/96йmsA|V]Idhd1U0#59-?b<ָt>p8;\\\r V9Z߂Kzԗpw؟3CVN]FK\r\\ʷcDa\$<CL+!\$&u=F]RJ\n\\٭Pq\0h1:Ѓ)&p;\$ػ~sVy:cScx>߂gtuXY:݊34JkIo݁t\"~olҌ\r-ZO\0/\rz\"%\0/!o-xl-07lHANj!.m#SM:06Chcp6L^GN\$Z*6:6BJ	.bl\$</~9j,6.pf>h*B\nL2G=CEPm!L5\"n\"æ\\hwEZ\0܋\\rmpGV1g(q)lf=.E/>(c\"LH%@(nV\rc\rD%lp\\ȰQ1\r \$ZcĢl	(ccQ/Zp_LN\$fEd\n\$ld'qC\0qQ~0uYg ;-eʱ\$Qb\"q;#oQPx/cb-1Xsn7M-!D\0=\n2r8ܲ|3P%&p&%@À.7e&D+*M/Hղ\nu'.rs((G-ZirE\0j	jz'V~^ʕ#\0\np>Lo+ͤ-.\n1O,23>}3?S54pL\"0#Egp d\r  \nO@ɳZ\"g7b&kXnh#bh0^	ިE@ DgS2F8\$bǢ(sIPŘmzxcbssQ?.3c2x̎\$6Tnd@chXeBaIFZi\r@'Bx\\\naD~Hx°m\0\n\$\0B*`\"H&h*L5\08&*PË2dZFnPk+\0&#DJl#*KR.E";break;case"sr":$f="J44P-Ak	@6\rh/`P\\33`hEC\\fLJⰦe_DehRƂhQ	jQ*1a1CV9%9P	u6ccUP/ABPb2as\$_TI0.\"uZH-0ՃAcYXZ5V\$Q4Yiqc9m:MQv2\ri;MS9 :q!:\r<˵ɫxbx>DqM|];ٴRTRҔ=q0!/kV֠N)\nS)H3<Ӛƨ2EH2	׊pp@2C9(B#9aFqx81{î7cH\$-ed]!Hc.&BدO)y*,RդT2?ƃ0*R4d@\"ƷOX(FNh\\!\nM\$31j)lŮ)!?N2HQ1O;13rζP2\r`{\rDl0c\$a\0X:9#uۋccf2\0ya3:xs\rYWFp^8Z2\r	јICpx!D3ښL#G(O,,*KƂZҌdM\n#l㏭\n7BC:F#>N(ahƄHʵ>ȺHH'ixZӈ¾Dl/@m#[:ayR<ԠC&3k+5/!'G쒀y~+@)Ǯ,'prHIT	G.5FsĠQfhNu%)i\\\nbxtC:RzbC\0Rx񼭺qY>ΖIEy2hy/\r&EhRs,3@Ԍate/L\"H@JqP*O-ޠRŪVt}ً ѣĔ!C\$naܛfW<ɔ\n00A\0uI^܁\0l\r	5@!0 AZ\r낀\nKYD,f݌RAŋedAH~T\"Ob+\"\r*99DHj4C\"Zm->V(:4K[~Ĉ\"f>q`[B@%qB	֊E8#t[+mn¸*u`r^I#WI\r%8>GG>w,ƊtA\rk[aykqKFSLDŔHFDIRRKk!AW%` G);(a[YJeFIa1[s-fa@_YD̽E+cOLP@@P2?,y0.生=2\\r`σrQ\\ sڴWt7zIdcFU\"SYk	|!2BkqUs\\ђ&1BƠ.27\r\nb[{PI!02pղ\r[sV#7Uy^4%,o^WͱL>tBBO\naRim:1Y'	Cj#Mu#cY1Pe5d앏\$<70R¤AH<מ 9+#JZ(ij+;HFȶl|R'en1B䅕=8'@BD!P\"\0Q.HP˫T +\0B`Eș\$9b\$RP\$T-`&R3SrIPw\\e|71.伦XWenh>9 \r̢W6hP1|,i\$*G\0(CJn!QA\",T^/|?DJjIq\n̸I]pfeI[ !Dt畆:qғ6Zp\\HT`gE-Oddf.\$=4s\r+(<4Z'\\\\o!L2\\Nhl9P!h\$2u4΃o2IU Iip'=\0I17<9wQubr1v]\",!d2NN&M\0)BdIq\$\rgPJ%Q9osi\\T!\$Jg+p]NtB3Ktdm,:_sP6Oz'ܢL\rw<-D)wFVK}޶;hUAp	Dg=ۋs/8!~_Q{g75>a ~V;#bl*.KDAŎh{:q8{o2iX\0g\00ib'P\"p&/(4Ed\$^x\"耂IQ\nt̌-fp\$)͠ %/-VGg *)Qv|bdvFhP>͘b0b0c\rv=?/*rD`K\rP!BVOXf\"ݯN4DΖԭWNQX?<0QМ\r('y\rcq:A1\"@(*ě]\"wd~H7@q\"3x*rMwCͰDd	#^sH'#V^L%B졆NtqT4q\$nF͂=^>LM3Rn`qQ*تKd%逌Y!\rC!MI!c!S!2!qP1\nfQ+-F6B212W r\\bfl&q\${#da&ON2j,JFrBF#r+%s,l\\c+M6u&&ς.l\rէ*f>1 Ew/ܥBii_#b2#X1O0AGDBڽG\r/h!2Ͳ,+3tk\"8rf'-G-rveS U2&:ޏzNV-9Rr;&8;3#S҇3=K7>{vPX}DF#\$40u>Cvx%-RBTs-1W+(Xg#viEoHe\r|#~nEEpSwTt7,&\rC8PBkC8Ԩ\"N='=TT=]EFl{GmMTM\\L?kFuK8IOlK9HxuD4r\$J4MnC<΢e2Nޏ?b\0&dsLIQ<,+Tԏ1)XpcF5F{tv*\$ts*ﰢMY*ZC\rV,BIbA7\$Fb2\rJD_\\\nZ|jBoi%Ϣ̵bưu^O*+\0.\"mZRϖJS@F	޶.oSTP3	bMw]]t\\Q/\r&2dg41GQ,edm?YZӎc5\nFW쐱еZAuV@amyTmv)&15HQ=l;.T!+H5\rQsm.^zBHcYoq v\"qq>0\\Qc>bP%\"\nQ@<\nx\r3(\rv¬@#{3kch3x'	c2]cM#Ayg&5#JBP\rdQ]RPolf";break;case"ta":$f="W* iF\\Hd_+BQp 9t\\U@W(<\\@1	|@(:\r	S.WAht]R&\\I`DJ\$:TϠX`*rj1k,Յz@%95|Udߠj䦸Cf4~Lgp:E5e&@.quW[\"+@m\0,-һ[׋&a;Dxr4&)s<!:\r?8\nRl[zR.<\n8N\"0AN*Åq`	&B%0dBBʳ(BֶnK*9QāB4:Nr\$Ţ)20\n*[;\09Cx/3\r{29#|\0*Lc\$h7\r/iB&r̤ʲpIG:.zX.p{s^87-EyqVP\0<oFh*rMV6(ѰP*s=I\$HDl\"D,mJYDJf茙еEθ*5&ܡםEK# \$L\07:\$\n5d187h@;/˹٨;C X90z\r8a^\\ctMC8^2xhL\0|6O3MCk@^0\\LD/R^6fY)JVh]HK|%(b0R1d;Nau\"/sfUo)uM\nWzr2CVP0Ct3!(vxz^C]JXx\"A=*e)_rկHCc\$6Pʥ70u\r:7BBrAV|;HA-E0eI0ѫ|'F;y&\"X+YֈXK~i`@s`..1Vl\r;\0CrE\n!0=PLQR_n+\0NcJq:7X+i0\n̿t04>d ]C0H\"sH^g6qc!{ϙ|/\"^4r&IP\$/*XEttKރ`d#󉥾AhɴBOIeQ3cuؑHݢ\\:iIԟ(%4ƎGxl B/D9\0w^a\r38pU	P+r\rA Y[-\00ΒCXAIY0RWS\nA3\r'h-N||h.FJL0.b9n\$sLP#M\n{&=gR(K-rd8]/r+Pe1cPJ\00021֊wCJm!>`In\0q\\-ʲ5F)yHf˿al_7&q}FȂ:`%r{N#JMf޸0\nf4PGi--ڨwji&\n|OA64JlŃ+:zgۙ pLJd\r),T|[EĲ4_	Lu־ʠf-#zpXL0khhͷqnRfp~O\$b\0oiΫ0n`pIUQ>1\0/DWu^\$XiKO\nj	AG|O)='WÐt>2þ^P\"Yw#,ΩONι7ƝM\"=9Og[47T#\r+b-G)n*ڏU(_56\"[qH('^M\\VW>N\r/L2E>\r 8e2i\r5~[&(lF{,§)Q\n<)D)򿪻Q/&{:ok'[5]0Xb\r (A3C\$Lކ\\xrk)¹㵰be(%\0@p \nqhe@zF\n0=04\r'dEb(O\"iBph#dPO	*\0BE=L\"Pz(>s8t;%n%t[*@xe2{=6C8BNH6_N63dHQ?Ǥ=t|gRFi%\$%X/bT\"Q	FPRp5[P8o^k)vU)*pw|6P<y=\\\$0>GY9fרj;WsjeF +<T?ZB`S\0op?\\#cx~. tM |bON%T\"a*.0xx(p'i&`]fG\r\n,`\r 4V=(8dTЊzcgB*/R!Ϗ͎r`(\r+YPگ'Rd&*+}T]TsvϺ zOb֞q.Dr\":i6qpoHdD05++4IP+,k.^Ѕ>ŨD,xo\0g4OZzPJ\\NiΊ8ΰ\n`\rLd*̦J>~(aŌBbS\$8ǰ6zpqF7' Qx1iv\$Mq2F{!Cu.w)#0D`!i\"\"KZ\"ʎ2Lr6#@\$Gqnou&FIrQ))1ó 1E%1)L&rq)+% ] 	vk,-D%*#)\"h\"AOLw`r.m\npNnb(ѓ2P`P֕,'4(R4du*R\"60Jx4y!\",xg1\$\$`ڌ)]	2qb*q	5̐GFb\0bs-wq|\n*B.S5㰾WF_'Z\0=ZZF&+g8iГ19OR20ҍ.s>/t\r2RT#)5-X8	Ȫ2:\0ZLrt?;r\$C1TO\$'TkHXWtӤ_GqDTh4fAT-Cԗ6C%GJo pȐ/)+T:fxSfL\\1P)b2@M N\"5Hr-'SPt,s!Ezt)O\"+P2|(4U\r\0002tcHEHu<\n		T@\nPSG<\\K,P)lnz{ҋFj5[0JfVR̞OI({564B%YJwDβaK5KuK.ʝIIF3HLbG%<v5YSId)x\\3+>@m6i*uDrVxqlϳO`\$1M\"#A+5)5[q4v1?6U0/t)\$^y]uBU1*g.rC^_5S1i]BiIs:cGnƜ!bAxU{SaH6jvMI&Q`LeɧC<A!vQ+mI\0V4wl\"V,vI9lhvRRagNn5j ƶ@~7qW-gn\rR6!KԝJSs/\"ghuQvVu:]6+p4ozoVWf)WBUw^J}JֹhAUUAP.JY*s\0R%\"[< Y9U\\O\0#yɞ\"pbH7x;A%8h֥]֩iFnx'ywX<)X_Xd XD?]Wx'Z|/A3V-sS,-?'+ss1c)pd6OI֫cw}'ka珵f88ko4((&\$j0rb)`b8t@XAy5fѕMP~w0AQ?cכeɏ1tlw+G%^'ah7!y^|cWk8Y1qI{{{rYmŔ\rT3Áx|p-^Fѱ8_v%\nor}9#F\nKpyQJ'KfX둉imc&wL3V`R=rcx:+/Qrm65aYn{rZw#?.82	[P@Z`B	4>yGd4wzo5SyIHlV.4i.Y:߇EfQeQ~Lަ\rVj`O\$f( ̢r+HNL\npNℒ+ڍsק[֚qnRʃulITU1E)u9Ywr	@'\r&A;Aɚlt}Ӳ*VPAD,yRS33ғh{H54p)3MQsK\ry 3kmd?yV-vT۸CiJm8/xrB`PQH\${y75eXuf/HK[bu4\"z!mz'f-t\n><.N\rQ1UA)\rȜG2+WGG-7\"6E:եXsbʼG^pDsLMMOcLvu\\n\0i@f`@Ɛ]\nr`\r+Y]Q'̦7rx#xpʦ9'他|2C\\κSŰ\nƣ.D7sWa^]X	]8ՄǯO8]adA]\0}ZAlbMmE,	\0@	t\n`";break;case"th":$f="\\! M@0tD\0 \nX:&\0*\n8\0	E30/\0ZB(^\0AK2\0&b8KGn	I?J\\)b.)\\S\"s\0CWJ_6\\+eV6rJé5k]8@%994fv2 #!j65:i\\(zʳyW ej\0MLrS{q\0ק|\\Iq	n[R|馛7;Z4	=j.Y7D	 7i6LS0x4\r/0Oڶp\0@-pBP,JQpXD1jCb2α;󤅗\$3\$\r6мJ+.6Q󄟨1`P#pάP.JV!\00@P7\ro7(9\r㒰\"A0cÿ7N{OS<@p44Èr|2DA4h1#R-tI1R -QaT8n󄙠΃\$!- iS#3\0\\+bpqfVUJTE^Rm,s7(\\1圔خm]]N* l7 >xp8c1<8l	#;0;ӌy(;# X90z\r8a^(\\08\\8x7]C ^188%7x8lŎrtJd\\i~V+h\n4`\\;.KM|G%6pR\r<1I{B9\rҨ9#\"LCIu&qd'qc|i(Qj{\$>\\V\"7'6RŐ`߬B&r0f&;#`2[)Ћ*Swt4\n6*G%^U\nl\"\0(IHq߻COIڥ'8㾇+-{,J_\0(#>a7?\0D)ձTC*h!T/ˑTS. \r\"'%C[	YohRc턓+(MaނȵsƢQDvhJ1mʍ[tBEUb|!>:S@(N{xfXW;k\rϓa\rUXτҨsfa9K\nUH<VQ<2U\$\0FuT\$^v͂-ԜH<0s\"vѷZr{,!XJ,xq{Ak^DM1c5=l5O6VVlqr<XH^:Ђ.,X+잯BW},j͡A5Z8ԃ/f)<\0 .fږ3zChݣܛsLiAAUZY	!8å6XvT!0ՈQtDҫ&\n\"SE; tDP!b=\\9QfR`10ƙ	 sjCa1֋_(s85=LzF65ėc]Uv햢~I%a@\$\0@\n@)R)\0(2NExrWA\rD{V>똸r3lxw>Lbu|ISq 4jE<ԙaqdXWKav8F0R,N0T;]<ICa&ɃuAؘfNWf}̘̚V~土)f4)rK6GRgKU%פ9uj\"n0Rls~ P#]ϔl@32\0@M0l!RC\\l#y1D{>pLi2*f*3%[<'\0 A\nm@(L,q7ݲw\$ݐ8Ty:(ӂ7Q*u(m?#y\"s'q'iapvcِR{vHDP48EbsíıgrR]pż凜\"TeCb)\nE捑_.WIQ@hUt\nNH()\nRMH܈\\:ko<U`^#rnWC^:ƕHv1hp~&iOXI)x=,uЕMpIsCǖVVA]&2+l\r#ع8k\"OӥHF{XrBF.IHn.\0riphg?r8b;\$EL~w<2+^(Ì<E+`xZڥb ΢BL`Y9%Le\n`& ,\$\n-ӧ:Nt(U\0^3jDorQĳ&pXP\\G80\\;hX^.pk海P-P%tpE'p +rpp搧{\n	~AĪ[n@RXVzOpn,2b~z\n+gcM'.Zc\0WXgBw`d\rj\0\$\$5&}ޱTnЪbU'm.E-F56'<99q%) `&h%ޣ9~EKGvbqzpnz*Fţ%+#O0,l'7:Wg1 f.8B+rk;\"EALa#15\r\0002\r#ݱ bЍ&Nhp-[<G{JY8Fn0 BSRTn5&ty9%m%-0v~OdMI*+ޛS*[0Y\rpr.m*Κ\\S-Io=1lnL1\"r.Ɗ3n%0A'*Tq[G\0+Zs`	B_	^;pw0M\n(\\Јb<d&jϦJH5R:S٢g:\r\r܀cHqS%);';mI:?CQ2K3%	F@-ϧ.gč<#+\"\\nӚXH77rx,zss4A\$Ѓ@jDGq@S73<MZEώDƋgwE'Eo;n'-<It%;v71q>\"S!g.`\09ԛJTt⡐N	>T!4OqOT42xFz-C6[Qv+\$)QjV#)T.[Gef 0Է4j5o8AOJ<w:zWTIPQ/o<<\0@45OnF>dcqRTIZ}[H{Y\\\0\\U}?eKE0H<\nuu2\06XXXS`aP,8S3at4uAbO\\dDVTURN0]7l`Z3QUXCd01b'͟foykb	J\r+ZBz5K/ \r*49-:(yBٖm1BLafu@)Ȯm8!kPs9l3i*̙`ƕ\rm)>K\"Ôo.J+\0M\npOjJU\r8ӇK+ʕLn]PkmI>.bi*`u..v[G9 	*YPL6ԍ8(H\"rm-g6+p	զgDA`~uGqPFTgh΢X172%5\"64ޙ	[bJ'oQD6\$S/0350wRGb@\n?=D \nhaOH)v2peuJxaL\"0ݴ&4&nUA/(F؛Dyc\"e,%r?KGv@c@HrPCq((^zRߩEtp4U1DL;e~:n^rJC4jF.ђA)amcn\$yǂ+yR3e6.w	\0t	@\n`";break;case"tr":$f="E6M	i=BQp 9 3!i6`'y\\\nb,P!= 2̑Ho<NXbn)̅'b):GX@\nFC1l7ASv*|%4F`(a1\r	!^2Q|%O3vKsfSdkXjyat5XlF:ډix\\Fa63]7F	ӺAE= 4\\KK:L&QTk78KH4(K7z?q<&0n	=S#`քpBc\$.RЍH#z:#\rX7{Tb1P0+%1;q4+@:(12 #r<+𰣘8	+\n0l\r8@:0mp4@ި\"9(.4C(C@:t2b(!|/ΣJ(|6r3\$l4!^0<p+6#@m492+ڼ6ʘҲƧ	⤪YP\"[;Xț0Cԉq/(:C;0 RAb;E)?^uNփ\$%LD_43E8 .:+f, l\"4-HϥYmlcSq(<PY;wWzv}O.O\$Vcjz/p:p@9cmzqȂ5H|kŲj0VLb\"@TY\0aj>6>mprd;=xlLIbV̖!uo k8.\rnDÛ4a@)B0R\rL:9\rX3{7aon[\$\\'qc\n>sd͒Xk]莑F|O\0 | ,8*ereX\"7*Xsk)rfêx\r:bbC#	Ok*>b\n}v2>\0@`Ca>F\rmIdI@5\nJQ)%(?j4)iL&q5B`|_.\rС:14*|	31fd<&hCj3l6r`Gߙ~}E|)7-Sx8d`7SH!2m pr4I)<BP	@KH\00fڰ)85 CrX-GT eg-\\H	Cl=E\$6\$ZdrRMlԺ.Ȣ;ZmɌb|Bd4=22c_%x,J<9yFH\rGE4cFu*k'%+E<0xS\n;rcd.{L駤l qèy蝱 s`1	#cڞS}A&e*xrLc+\"H5{zB}10\nZʆŐPU0\n	8PT,\$90\"R!za٫8(LZ`j\"{Z0LkgmWIr j56vgcwt=\"v\\I\$阢9*_Ƙ(,[&PeAApoU-DSRQ/z<EʸP2#8ڜ{i姸6ʅ\$@\r/1e\re^HBϤHX6lcTS2_j5bK\$E,eP5_ve+U=A0X\nA5#Bp \\-nXK-38Úŭ,\ry>7bґ͆-{^jƆ}a\n	xQE|09Č]_F&,\"Uަő	OtBv.x9;BC	\09U&3D5\$S,LxwHju'nNֳ772wd-ZM3`}j~*lhpڻbav0nCX43RI[N?-)Oat&'|c)H!&RI5/k(8ęZ⪉B;PD:)Y(WGM kdͩ1*.'fWJDBuz	aB3^^pqxdNŻ̄\$2fWnkUnyvNs};{4j!L0\$6@kL,|\nXӱm!|DkI{ºN.Qv,3>mIJXJs8xGK@@u:0mRZ7m\0\\^SP'd9}wf*6<vbniSNpDƳwo	/	Ϻw_[sϬ\"ct\0\0Ld\r|hKBpH#TO,0~#\n`l`:K}ɦ)\n)Τ\"YK8-OXOzD	̺ԏ%|\rJM9\0L60P\np\rP\r>\r PjɥִAL;T\"Aum\nL\$_F;*&\"4\"D<YQ2ac	p@#dIV@#hB\rY#1''ϱ-Y)kC1cD;EmBO܏1KbN[q@@~ch @U֐kn22ǋ'|3)7+wl,Fɏ\\JeMظONF8H.236^I@d@\rV_BkJp:\nph@@F##VozC(eV,bc\"RLnFbC,4+Z*dsG|F%6#f\\\r;es\$.Y9%h#@gRq\n{fȰ4,8r14'6'w1Gߒ*Y5 }(n* d\$)Yl37Q	2W,̦\"JE`>h`#e7x\r6i\"_4C\\Rr4E/ZIӘCpc8r#ϒ3\$F\"޽E3\$l-CF\$]X";break;case"uk":$f="I4ɠh-`&KBQp 9	rh--}[ZH`RdbrbhdZGH\rMs6@Se+ȃE6JTdJsh\$g\$Gfj>Cf4jSdRB\rhSE6\rVG!TIV{ZLʔi%QBvUXhZ<,΢Aev4s)@tNC	Ӑt4zC	kK4\\L+U0\\F>kC5A2@\$M4TAJ\\GOR	.%\nKB4;\\\r'TSX55C7I<G 8A\"C(\rØ7-*bENI!`<̔`@E\n.hL% h'L6K#D#a+a56d\nhͶJbsbd,(3@#D Щ{VF:4Oj@#E1- hFG\n7iR%eNܦ2GB6@2\r7ô8G1n\rKZe94C(C@:t6=ǃ8^2xuݣK8|6ǎD@3Gk)^0Z1|0FZS_?4@5jg7|>r6-Hٴv#jt(+#J2 ė;ʜ׻Nl|YS*jH!4Q\$>!s=@O!\n&hٲK3ADp(|\"^6Z#6,GeO4R5{ɢѮ5õJ^5六&gYMi:%urE!Hl0EP\nX3rC0&C)Z#S|11<ޔmK@)/鵳\"Ry3V05~)|\"gLAW&FU=hbTTJזzin!&XjMB@PDOԒS@(6rxfdfkBo9lx7@Ru[h39@xgDx@g(GԲpu;9fsV	H'@@RtW!yuba`pBP#24\"VAtrhbI*Tfurl3 iQ)E\"^T9 |8tl԰TȒTTDbEIPS*DAe\\PR\"<	L&bG8\$^|/rKa9(%\$I\r&>H`.vv)a\rlihs)|Ahs􊊛BnEQ46 \\#O͐0j\n]8G\$nOת`0@}/\r.|9slWf4oI.M\\\0m@\n8)R*9O¢#Se! \\ICJx1ͥNi:'L2E<K=kU~!G'EQTA-BiҞZ\rh̻+Q!oZ1H7{k9)0ZM[&3U:srN{JOI'	er\re]sZ!ٍGVQa8.:py=&M`C}*vE	L*</p.LhzT |B'!zr&A,#*FʙM*eNKѹڎn\0f(S}3[@tF\nAn8J֬}xt#PkT%hѭ e.RVA#r̼	zI.#N\r\r<@52plhCR9ʬTؚ5Ch%\"^{jhu]f!LBYzn\rw#TJp \\TH! DFgto-jB<~![)iTb.wO<Eh>y6si-pŵSFRD跱>Ȫk2ΚAy(2lQv:6F5祈^ANh7̘\nx\na=:+eJ\na[[{wT׸[!rn{&-8t\\CJa\n{fq	{S%E\r	~7|^F59Tu(ELM3)Go{eԩ:Ne3GnmbAx{S7!N%=j+غN\npy23,PC	\0#ҳZAߝ ЀYN'槓j(qfX~Hߌ{d4(ф4	4\$g\\0&/PN(Ni.0fK	wk\"_ذ=?\"lKchA'Ԉa	HyBO./	hG	0g\nC#mFPmpW\05\r%Z\$v3-.eb@-,\$\$d'*AiD,F\rp4/\r4П-R͂-lج^!FR(Q2R]\nq:>CV~o KF0hXbNph|*BM44flJEʗz#CLdg`-A	^h,W\0oC0Nr\$qBNc4-nAΠE+pv{qh6*K\n%JޭfW\0PA2Nd7'B<Cm%Jax\$v\"A4@%'|r(zq+IDc\"h8=2?n)/{\rB)P8T!4iBV!m%@S'vUDcpUN,lRNg!y0R/ɲR2bf#h2K26Ŏ,(\\m4KQ13Q02<!4)a44\ngy53Sdݓ?6O4kS!781o-3(C#51.3\"pHMs1!0:V;0\"!mh?*W&{1e\"GX#,?\$*Σ?c@1eqh19)\"jLl\"S!zBc;@,\$0+:3S#Or+DƠ/B)&k?+h531\$h7s.?&OJW>v+S	bVjT߳JMq=Q N\"Ns)S\rLS#HQmNN=L5IIatS0v%R4\$)KE\n4g)\$.L(!\"A9fx	4l5JS8R5aUgNoPn&RjjU6So#U\nXbXW3EU(8ol:KJ:/>+./VW2!E]W0Vf\$W*uS2nCORUhfLRoSP5]#av(Umh0JA)D5TӕZ6قRy_KP%U GSRm4\"c	Sgg V5ӀBLw%WZH7nxQ	Ph5jCiӧ_7qh3hUN4ޖg*mѲbtt7+<2r@skot tR\rLcDn\nZ`l),!u0|#RxTW\\cIeAmiƟyuavVQ0	\$d(-\0ȝԃ\"X\rNAdWct%1>J@MN'?dAl/VO]	lrU&BC2Tx	͆0^<\nl<.8oC!/^Di#q(z.!Rv2\$6iOJ@V@Mo.%^1#i΍VC!x55YU\"HT+1\$>Ht(?B_t)szG@O\"D!Vڲ8.X]U48x\nŮ\r\"Nx%|g_)fF!G_KiBR\"?Ҫ%N\nE#\$߅c'S8y]Aba~";break;case"vi":$f="Bp& *(J.0Q,Z)v@Tf\npjp*VC`]rY<#\$b\$L2@%9IΓ4˅d3\rFqt9N1QE3ڡhj[J;o\n(UbdaI¾RiD\0\0A)X8@q:g!C_#y̸6:ڋ.K;.}FͼS06\\vN5n5x!r7CI1\r*9@229#x9:d@3:ܙnd	F\r\r	B()2	\njh-C&IN%h\"4'H2JV-ȆcGI>2AQtV\0P8i@!K쪒Ep k=cx>R:.#G2#0p4xLH94C(C@:t㽌4M?#8_pXVAxDk;c360|+2dRC\"Eނh	J-tNRV\r;1B9\rΊ\"<A@B\0G:Iaڤ2#!-%t0d;#`2WK!HJpTcvT'sc[_KK.ޥSerEzP<:P]h	O6NHG, P\$/x(va\n#T.@-36X\ro)\"`<]@PacM dH!b'4\\Ji©މW;{_PµEXMJ>3/NS{Zr`2\"ivMI3r\"\\;@PU|757X#?.jD	\$B_\r;G轺9FhAR4(X82Da%\"p Ιh(n)h\0`6DȽ>r^QH3I]\nKj6&.,߲.\rho HڈQO9+@ƅdQ+t\n@\".41.\n4()\$/ä1lJXim.tZ7ujʻW`5LS>fܳЊ\\KYlsA	24\\H9yh^`zND%&@Jd:. @`l/(8hC+!	 &ff74@GhUstg(`ŚBB O3[\r nBH\nѩ<%A8F۔2c:;pI@!h.\rbd9R#Ѐ\0fd),]69NDnivXSȨ\"vPM\"<]P|\nIpI\"A@Ŕ\rXrjz]%8l\rꖂ E]Gi]dHJ`/\n<)Hw9=rY93#P'a>WAXQBI\nE`fwr?ae' %9n+M\$2`5#Lז\$D\$}(gV]	9(6#2d!&L9:	:S	%y	E>A-dl2Y>wo#	ʐAKb,^1BHգob.F52 h3BTՍqR\$A (+׃QDP&S<{q`Q,-PK\$֞+Q{#'ݞhOig!=QӴC`&̋KfP8(vPﮃz_\".]\rk%Kld	\$Z@jdэPRUTMG[	3	wj(]S&+4T\n!T{W4I)E,d!ʋ<\"9wkDC*x !&O'v\\؎y3&OdpݤkfcKx5Iv ۏnRgh[q]œ2T_,XOw\"ܔ4Zh@.\\Q/7Xr\nP~5M\$V7#ЅO)nO\$\n\nrXNYv)lm=ރޛeQ/Uڽ4˻D\r#BK!SC1	H:#:b]>|B(5Q<MJ1	W!\"RsKANѵ7'teo4CJ\n@?QHl-QK@@Dn.Df쇦}Eh_U䄏9iN1\rc9.V۸ic<1I|.;؟/[n|CIUeVut/\" h0/&o*{%,M1.ujlD9~k*kb&i伫ix-1ITg&:bdtJ*\\+0M2GXC1+μ6`F	O	mZL?\r0O)lLzR<vY',91	q'(\rʶa^KrP&H!C>\$#_eh_!YoP\n֑\r\0fQq{oC^pN\$n/ÏB/c5qiPo:GBQ*1 C5 Q.B͈D`1,.حqE0!QjK^P55̨\$&\n:^..dn=ðNw&\"ǚ^bЙKjP1NHG)CJCd \npN˖]{Nå-'^\r&p]#aQE6eRQtA/#h]	CrM\\6d|NT{Lq\rmR5\rV%vpCK\r0Nhp¢v/4\rB|\$p%b\rgK`JXj&m+װ4:{>7<_#K6k;	-{;)U;f'm-sLd@2f,ַ&@tx*\$	hr 0<\nʲ0.-x\$14iR\r~:5ՉL3lJ.h-J4uBC2";break;case"zh":$f="^s\\r|%:\$\nr.2r/dȻ[8 S8r!T\\sI4brЀJs!KdueVDX,#!j6 :t\nrU:.ZPˑ.\rVWd^%䌵rTԼ*s#U`Qdu'c(oFe3Nb`p2NSӣ:LYta~&6ۊrsk{6c(2fqЈP:S*@S^t*ΔT^\\nNG#yj\"5>4o7@L@X<5cp4j9XS#%Z!J1.[\$hrDa_g)[-9@)6_Deۂ%yP1[\$jW9@@CrDLr	*ݜas̓0 k 2xm8c1P3T#*;-k@4h; XH90z\r8a^h\\03x7-LC ^(T(7x6I\0DYRs0I\\RN	&s#lWġrt4|_\\MֺE]VĽm7;8懌0tIdlKO-1fT\$9QE)DObx\"T#6Oc6(iZr^Yy7wBZH9i!B(esG0D)sFqV%anHF6T #dcIσ7;\"r(vI&r[7NUu_V1pWTIEF\\,01tNz^:=C]E\r0jNaj VP91}PA06Nm%X7H<\$:t(͓`36:^`3.A,7XP9>l\0)B0@9F*ةI+HQ#Dxc&\"\nH5j8>sBa:)\"`'d\nY)UFbd+Ż	2]j5pa]5.OxP@\\(TjSVCV!hB(M\nChp3[Hd  IXCZOa<\r!`BB.@d\$W\$)HP^:0PZ|z\n'=6RIc qV:Vp.MTQb4PJ\nҚ \n (	1菒CIhV28`3xV\nÐt4f<<ü}D:qZ``L	5&B!+d%X%F>1\$tK2Gk,9li֫yttСqHƅ!Ú!@'05Ɋ*ΜG\"@/B\0B=F#F)a2\rw@ A\r64uD`5[{\r1@>:]L2\nA-PI\\\0U\n @cD0\"b+DT 0\nf^u:gTÞ`(t\"d7%DEPp0rÔlxOL&1٭kS\$#169@anr0K 9. rD!jojPaBkt(J	H[2wż\0%(rʽiLqˡӸb\\xM*]='Jgt\$ ]CKEeBq(`E&>JY4	tAb2Ft:ωx0:W	*@@ g4eibZ')Ǝ	x C^(ȧ\n+( b<Kb9DS(D\$E^3P4UP9Q.`^Ԉ ?݁G)D۽;N2XLI(+PŸ^MĢ1!mw[bтPLal9Dµ\nѧWzF2^b'\\qmW2a6- e][sȅqGT].+g^]uI^.6@F}wÇ+郗u>κ)h<EIUkЦH4qN,:,FܾI_^J_ŗ1t3.gL?Xx_7/SjU9iȶ#.|G#8zHFqv!TɔBƅ	~\"SscG/~M(P˕)*2Xso1-_!WbG~*|:܏y>PW\0R.c\0\0atfo-slor.aZo^BL_NF1bth0|]a~0XfprFoa<-tLl	lIVɐ\0<^P\n̜lREp	0>d	s\ro\np1Q0fiktA>:kߋ\n)n-\n\"l\"#ԡ^zRG\rVg`AQ&TeXy ޤ\0y\"6@ZE?\0\np@B6\$0H0P`#B8#%	Z\r1_Af.!࣌##LFۯJx1\rXgx5#bCj!:Hj!.|o!\0.P\",X.Vzz˜\0hO\"\n4c\$2p`NLHxGoD/XD\\#)gf.y Z,\\2,E\$<h\n\r0,r&\$a!\"kzF\"<\r(oM/` E@	\0@	t\n`";break;case"zh-tw":$f="^%ӕ\\r|%u:HB(\\4prneRQ̡D8 S\nt*.tI&GNAʤSV:	t%9Sy:\"<rST,#!j61uL\0U:.I9BK&]\nDX[}-,r&a;Dxr4&)s3St\rAbEE1ԣg:x]#0,'}üb1Q\\y\0VE<gS )ЪOLP\0ΔMƼ 2F6 @7@,	@(\rØ7-ҢKŒJK>s\$Ko	.#t\0F|2')tUvs^KL)pYr2.h2]*X!rB# ?!\07:X8?1m<\$׶KdO94C(C@:tT3t8^2xIңJ@|6Ӽ3?k_	^0@1&C1t%yRR! s-a~WġrGALKEsZ\$PM\\\n7;8懌\0<@VBOܘgANQ9Trd1@PO#<:ii^M) D)d8-!v]!sĔ|GʠCAF>s'8*AJL8030آ&{<1Iq7u\\1^[]ۥYŜˇ1<[rJYXiWg/Nr[0GR.Uh`VN92LN06N\r0up@PC6L\rxt9zc0x:8_BhB)Hա~XtqtSHFQ,+E	ё\n\\6BA8,T`'4\nY)%(K<G\"\"# q\n)LMQF+p4ʛ\nQ*ELPwU7\\Ul*	!ExHm6@5GST4\0}I8>B\0_U\"@cJcAOI\nC4TO/]@w>4BC}/Gʃ#BLZ\n9@H!Ѕ8\\shH\nJfY4f \"ФmpBHs>hM> j\rvOҜ7y2H[;YX@\\L	BWVj. )D&@Y^E\ndBHf@LxQaC3PC,i3	#bq6Ja/\n4(l&\rqf	.\0!i]-@ZAE(&Lʷ3kP40\0f (`='`j2y?&dH% äFR(	BF<'\0 A\nZ@@(L3h9Dxs%3.!<u;D.]\"]B.&q&<GȻaw{r.a2%G8J EĊݠ*q 0- s\\aH8g̙BiWR\"Y0b%5kAh<]L4[<#eO9xO<J*Lw)ܥҺk*ÜZ\n!/\\n&d{,B@&\\`ٛ7gO0\$r\\j͙s&D%\0[ǘ^!כOjؤ,{Oy*@@ '4Uf̳E'(\">:]9<@y-ǎmQO	qp%(#O\\{b:včAbR9v\rQ\0\"{gpJoO;2NH!yHNLɱ'4\$\$ےŶ#Ė*7Z^n.2ְ̅rq+E-rYlCEP&7@\\ 5k[s`@AmUȮ\\c˶0E{꣝}R#xM<*V4Y=vx\\?lP4HzxZB9k![1h8H ~xYȍ=!O]x[ʽESQt)i-F;}رWpz7mwv]޿;WG@/B雷bC6V޾f,՜˸.o׹w2:ds6Z'#d	#B=Jr\\-\\C@]\\t,.cˢɮ8b<*ڽ}\0mγ\n,1G8.FO2\\]E/rH]`EĽPldpbIhAl[,	P/0êMg-r!:!\0b\$'|8#~\r\r	*!!\r	T澆ZuhfТ	\ntE'¥Zf \$P\0Pl-Ip,q,19\n[lI:΄JDS\nq&M >Ь2\\fAsv QIB/M)aFuDi\0@\nN*DNN!az\"p\\-Ȉ\r\"kP` e1٩|``y\0\rd\n>e&V6'\rlǦQt\rfXC\nZ*l;,'VO:~8ŦJ	\r2Z.|9#`Aj\n#\"	ޯEx\\6(r:<\"K),\0.g\"pM~A%	PVA&(E4A#P23\"j\rtG4brЀ]gƀ%oZ<N,N\"zfO)\0 fuA,<˅%|\"+:u,\\k7kfQ\0aHDP@	\0t	@\n`";break;}$Ng=array();foreach(explode("\n",lzw_decompress($f))as$X)$Ng[]=(strpos($X,"\t")?explode("\t",$X):$X);return$Ng;}if(!$Ng){$Ng=get_translations($a);$_SESSION["translations"]=$Ng;}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($Mb,$V,$Ne,$re=array()){try{parent::__construct($Mb,$V,$Ne,$re);}catch(Exception$ec){auth_error(h($ec->getMessage()));}$this->setAttribute(13,array('Min_PDOStatement'));$this->server_info=@$this->getAttribute(4);}function
query($I,$Ug=false){$J=parent::query($I);$this->error="";if(!$J){list(,$this->errno,$this->error)=$this->errorInfo();if(!$this->error)$this->error=lang(21);return
false;}$this->store_result($J);return$J;}function
multi_query($I){return$this->_result=$this->query($I);}function
store_result($J=null){if(!$J){$J=$this->_result;if(!$J)return
false;}if($J->columnCount()){$J->num_rows=$J->rowCount();return$J;}$this->affected_rows=$J->rowCount();return
true;}function
next_result(){if(!$this->_result)return
false;$this->_result->_offset=0;return@$this->_result->nextRowset();}function
result($I,$n=0){$J=$this->query($I);if(!$J)return
false;$L=$J->fetch();return$L[$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(){$L=(object)$this->getColumnMeta($this->_offset++);$L->orgtable=$L->table;$L->orgname=$L->name;$L->charsetnr=(in_array("blob",(array)$L->flags)?63:0);return$L;}}}$Ib=array();class
Min_SQL{var$_conn;function
__construct($g){$this->_conn=$g;}function
select($Q,$N,$Z,$t,$te=array(),$A=1,$G=0,$af=false){global$c,$z;$fd=(count($t)<count($N));$I=$c->selectQueryBuild($N,$Z,$t,$te,$A,$G);if(!$I)$I="SELECT".limit(($_GET["page"]!="last"&&$A!=""&&$t&&$fd&&$z=="sql"?"SQL_CALC_FOUND_ROWS ":"").implode(", ",$N)."\nFROM ".table($Q),($Z?"\nWHERE ".implode(" AND ",$Z):"").($t&&$fd?"\nGROUP BY ".implode(", ",$t):"").($te?"\nORDER BY ".implode(", ",$te):""),($A!=""?+$A:null),($G?$A*$G:0),"\n");$ag=microtime(true);$K=$this->_conn->query($I);if($af)echo$c->selectQuery($I,$ag,!$K);return$K;}function
delete($Q,$if,$A=0){$I="FROM ".table($Q);return
queries("DELETE".($A?limit1($Q,$I,$if):" $I$if"));}function
update($Q,$P,$if,$A=0,$Lf="\n"){$jh=array();foreach($P
as$_=>$X)$jh[]="$_ = $X";$I=table($Q)." SET$Lf".implode(",$Lf",$jh);return
queries("UPDATE".($A?limit1($Q,$I,$if,$Lf):" $I$if"));}function
insert($Q,$P){return
queries("INSERT INTO ".table($Q).($P?" (".implode(", ",array_keys($P)).")\nVALUES (".implode(", ",$P).")":" DEFAULT VALUES"));}function
insertUpdate($Q,$M,$Ze){return
false;}function
begin(){return
queries("BEGIN");}function
commit(){return
queries("COMMIT");}function
rollback(){return
queries("ROLLBACK");}function
slowQuery($I,$Ag){}function
convertSearch($w,$X,$n){return$w;}function
value($X,$n){return(method_exists($this->_conn,'value')?$this->_conn->value($X,$n):(is_resource($X)?stream_get_contents($X):$X));}function
quoteBinary($Cf){return
q($Cf);}function
warnings(){return'';}function
tableHelp($F){}}$Ib=array("server"=>"MySQL")+$Ib;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
__construct(){parent::init();}function
connect($O="",$V="",$Ne="",$tb=null,$Se=null,$Tf=null){global$c;mysqli_report(MYSQLI_REPORT_OFF);list($Rc,$Se)=explode(":",$O,2);$Zf=$c->connectSsl();if($Zf)$this->ssl_set($Zf['key'],$Zf['cert'],$Zf['ca'],'','');$K=@$this->real_connect(($O!=""?$Rc:ini_get("mysqli.default_host")),($O.$V!=""?$V:ini_get("mysqli.default_user")),($O.$V.$Ne!=""?$Ne:ini_get("mysqli.default_pw")),$tb,(is_numeric($Se)?$Se:ini_get("mysqli.default_port")),(!is_numeric($Se)?$Se:$Tf),($Zf?64:0));$this->options(MYSQLI_OPT_LOCAL_INFILE,false);return$K;}function
set_charset($La){if(parent::set_charset($La))return
true;parent::set_charset('utf8');return$this->query("SET NAMES $La");}function
result($I,$n=0){$J=$this->query($I);if(!$J)return
false;$L=$J->fetch_array();return$L[$n];}function
quote($eg){return"'".$this->escape_string($eg)."'";}}}elseif(extension_loaded("mysql")&&!((ini_bool("sql.safe_mode")||ini_bool("mysql.allow_local_infile"))&&extension_loaded("pdo_mysql"))){class
Min_DB{var$extension="MySQL",$server_info,$affected_rows,$errno,$error,$_link,$_result;function
connect($O,$V,$Ne){if(ini_bool("mysql.allow_local_infile")){$this->error=lang(22,"'mysql.allow_local_infile'","MySQLi","PDO_MySQL");return
false;}$this->_link=@mysql_connect(($O!=""?$O:ini_get("mysql.default_host")),("$O$V"!=""?$V:ini_get("mysql.default_user")),("$O$V$Ne"!=""?$Ne:ini_get("mysql.default_password")),true,131072);if($this->_link)$this->server_info=mysql_get_server_info($this->_link);else$this->error=mysql_error();return(bool)$this->_link;}function
set_charset($La){if(function_exists('mysql_set_charset')){if(mysql_set_charset($La,$this->_link))return
true;mysql_set_charset('utf8',$this->_link);}return$this->query("SET NAMES $La");}function
quote($eg){return"'".mysql_real_escape_string($eg,$this->_link)."'";}function
select_db($tb){return
mysql_select_db($tb,$this->_link);}function
query($I,$Ug=false){$J=@($Ug?mysql_unbuffered_query($I,$this->_link):mysql_query($I,$this->_link));$this->error="";if(!$J){$this->errno=mysql_errno($this->_link);$this->error=mysql_error($this->_link);return
false;}if($J===true){$this->affected_rows=mysql_affected_rows($this->_link);$this->info=mysql_info($this->_link);return
true;}return
new
Min_Result($J);}function
multi_query($I){return$this->_result=$this->query($I);}function
store_result(){return$this->_result;}function
next_result(){return
false;}function
result($I,$n=0){$J=$this->query($I);if(!$J||!$J->num_rows)return
false;return
mysql_result($J->_result,0,$n);}}class
Min_Result{var$num_rows,$_result,$_offset=0;function
__construct($J){$this->_result=$J;$this->num_rows=mysql_num_rows($J);}function
fetch_assoc(){return
mysql_fetch_assoc($this->_result);}function
fetch_row(){return
mysql_fetch_row($this->_result);}function
fetch_field(){$K=mysql_fetch_field($this->_result,$this->_offset++);$K->orgtable=$K->table;$K->orgname=$K->name;$K->charsetnr=($K->blob?63:0);return$K;}function
__destruct(){mysql_free_result($this->_result);}}}elseif(extension_loaded("pdo_mysql")){class
Min_DB
extends
Min_PDO{var$extension="PDO_MySQL";function
connect($O,$V,$Ne){global$c;$re=array(PDO::MYSQL_ATTR_LOCAL_INFILE=>false);$Zf=$c->connectSsl();if($Zf)$re+=array(PDO::MYSQL_ATTR_SSL_KEY=>$Zf['key'],PDO::MYSQL_ATTR_SSL_CERT=>$Zf['cert'],PDO::MYSQL_ATTR_SSL_CA=>$Zf['ca'],);$this->dsn("mysql:charset=utf8;host=".str_replace(":",";unix_socket=",preg_replace('~:(\d)~',';port=\1',$O)),$V,$Ne,$re);return
true;}function
set_charset($La){$this->query("SET NAMES $La");}function
select_db($tb){return$this->query("USE ".idf_escape($tb));}function
query($I,$Ug=false){$this->setAttribute(1000,!$Ug);return
parent::query($I,$Ug);}}}class
Min_Driver
extends
Min_SQL{function
insert($Q,$P){return($P?parent::insert($Q,$P):queries("INSERT INTO ".table($Q)." ()\nVALUES ()"));}function
insertUpdate($Q,$M,$Ze){$e=array_keys(reset($M));$Xe="INSERT INTO ".table($Q)." (".implode(", ",$e).") VALUES\n";$jh=array();foreach($e
as$_)$jh[$_]="$_ = VALUES($_)";$ig="\nON DUPLICATE KEY UPDATE ".implode(", ",$jh);$jh=array();$xd=0;foreach($M
as$P){$Y="(".implode(", ",$P).")";if($jh&&(strlen($Xe)+$xd+strlen($Y)+strlen($ig)>1e6)){if(!queries($Xe.implode(",\n",$jh).$ig))return
false;$jh=array();$xd=0;}$jh[]=$Y;$xd+=strlen($Y)+2;}return
queries($Xe.implode(",\n",$jh).$ig);}function
slowQuery($I,$Ag){if(min_version('5.7.8','10.1.2')){if(preg_match('~MariaDB~',$this->_conn->server_info))return"SET STATEMENT max_statement_time=$Ag FOR $I";elseif(preg_match('~^(SELECT\b)(.+)~is',$I,$D))return"$D[1] /*+ MAX_EXECUTION_TIME(".($Ag*1000).") */ $D[2]";}}function
convertSearch($w,$X,$n){return(preg_match('~char|text|enum|set~',$n["type"])&&!preg_match("~^utf8~",$n["collation"])&&preg_match('~[\x80-\xFF]~',$X['val'])?"CONVERT($w USING ".charset($this->_conn).")":$w);}function
warnings(){$J=$this->_conn->query("SHOW WARNINGS");if($J&&$J->num_rows){ob_start();select($J);return
ob_get_clean();}}function
tableHelp($F){$Cd=preg_match('~MariaDB~',$this->_conn->server_info);if(information_schema(DB))return
strtolower(($Cd?"information-schema-$F-table/":str_replace("_","-",$F)."-table.html"));if(DB=="mysql")return($Cd?"mysql$F-table/":"system-database.html");}}function
idf_escape($w){return"`".str_replace("`","``",$w)."`";}function
table($w){return
idf_escape($w);}function
connect(){global$c,$Tg,$fg;$g=new
Min_DB;$mb=$c->credentials();if($g->connect($mb[0],$mb[1],$mb[2])){$g->set_charset(charset($g));$g->query("SET sql_quote_show_create = 1, autocommit = 1");if(min_version('5.7.8',10.2,$g)){$fg[lang(23)][]="json";$Tg["json"]=4294967295;}return$g;}$K=$g->error;if(function_exists('iconv')&&!is_utf8($K)&&strlen($Cf=iconv("windows-1250","utf-8",$K))>strlen($K))$K=$Cf;return$K;}function
get_databases($vc){$K=get_session("dbs");if($K===null){$I=(min_version(5)?"SELECT SCHEMA_NAME FROM information_schema.SCHEMATA ORDER BY SCHEMA_NAME":"SHOW DATABASES");$K=($vc?slow_query($I):get_vals($I));restart_session();set_session("dbs",$K);stop_session();}return$K;}function
limit($I,$Z,$A,$ee=0,$Lf=" "){return" $I$Z".($A!==null?$Lf."LIMIT $A".($ee?" OFFSET $ee":""):"");}function
limit1($Q,$I,$Z,$Lf="\n"){return
limit($I,$Z,1,0,$Lf);}function
db_collation($k,$Xa){global$g;$K=null;$i=$g->result("SHOW CREATE DATABASE ".idf_escape($k),1);if(preg_match('~ COLLATE ([^ ]+)~',$i,$D))$K=$D[1];elseif(preg_match('~ CHARACTER SET ([^ ]+)~',$i,$D))$K=$Xa[$D[1]][-1];return$K;}function
engines(){$K=array();foreach(get_rows("SHOW ENGINES")as$L){if(preg_match("~YES|DEFAULT~",$L["Support"]))$K[]=$L["Engine"];}return$K;}function
logged_user(){global$g;return$g->result("SELECT USER()");}function
tables_list(){return
get_key_vals(min_version(5)?"SELECT TABLE_NAME, TABLE_TYPE FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() ORDER BY TABLE_NAME":"SHOW TABLES");}function
count_tables($j){$K=array();foreach($j
as$k)$K[$k]=count(get_vals("SHOW TABLES IN ".idf_escape($k)));return$K;}function
table_status($F="",$oc=false){$K=array();foreach(get_rows($oc&&min_version(5)?"SELECT TABLE_NAME AS Name, ENGINE AS 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$L){if($L["Engine"]=="InnoDB")$L["Comment"]=preg_replace('~(?:(.+); )?InnoDB free: .*~','\1',$L["Comment"]);if(!isset($L["Engine"]))$L["Comment"]="";if($F!="")return$L;$K[$L["Name"]]=$L;}return$K;}function
is_view($R){return$R["Engine"]===null;}function
fk_support($R){return
preg_match('~InnoDB|IBMDB2I~i',$R["Engine"])||(preg_match('~NDB~i',$R["Engine"])&&min_version(5.6));}function
fields($Q){$K=array();foreach(get_rows("SHOW FULL COLUMNS FROM ".table($Q))as$L){preg_match('~^([^( ]+)(?:\((.+)\))?( unsigned)?( zerofill)?$~',$L["Type"],$D);$K[$L["Field"]]=array("field"=>$L["Field"],"full_type"=>$L["Type"],"type"=>$D[1],"length"=>$D[2],"unsigned"=>ltrim($D[3].$D[4]),"default"=>($L["Default"]!=""||preg_match("~char|set~",$D[1])?$L["Default"]:null),"null"=>($L["Null"]=="YES"),"auto_increment"=>($L["Extra"]=="auto_increment"),"on_update"=>(preg_match('~^on update (.+)~i',$L["Extra"],$D)?$D[1]:""),"collation"=>$L["Collation"],"privileges"=>array_flip(preg_split('~, *~',$L["Privileges"])),"comment"=>$L["Comment"],"primary"=>($L["Key"]=="PRI"),);}return$K;}function
indexes($Q,$h=null){$K=array();foreach(get_rows("SHOW INDEX FROM ".table($Q),$h)as$L){$F=$L["Key_name"];$K[$F]["type"]=($F=="PRIMARY"?"PRIMARY":($L["Index_type"]=="FULLTEXT"?"FULLTEXT":($L["Non_unique"]?($L["Index_type"]=="SPATIAL"?"SPATIAL":"INDEX"):"UNIQUE")));$K[$F]["columns"][]=$L["Column_name"];$K[$F]["lengths"][]=($L["Index_type"]=="SPATIAL"?null:$L["Sub_part"]);$K[$F]["descs"][]=null;}return$K;}function
foreign_keys($Q){global$g,$le;static$Pe='`(?:[^`]|``)+`';$K=array();$kb=$g->result("SHOW CREATE TABLE ".table($Q),1);if($kb){preg_match_all("~CONSTRAINT ($Pe) FOREIGN KEY ?\\(((?:$Pe,? ?)+)\\) REFERENCES ($Pe)(?:\\.($Pe))? \\(((?:$Pe,? ?)+)\\)(?: ON DELETE ($le))?(?: ON UPDATE ($le))?~",$kb,$Ed,PREG_SET_ORDER);foreach($Ed
as$D){preg_match_all("~$Pe~",$D[2],$Uf);preg_match_all("~$Pe~",$D[5],$ug);$K[idf_unescape($D[1])]=array("db"=>idf_unescape($D[4]!=""?$D[3]:$D[4]),"table"=>idf_unescape($D[4]!=""?$D[4]:$D[3]),"source"=>array_map('idf_unescape',$Uf[0]),"target"=>array_map('idf_unescape',$ug[0]),"on_delete"=>($D[6]?$D[6]:"RESTRICT"),"on_update"=>($D[7]?$D[7]:"RESTRICT"),);}}return$K;}function
view($F){global$g;return
array("select"=>preg_replace('~^(?:[^`]|`[^`]*`)*\s+AS\s+~isU','',$g->result("SHOW CREATE VIEW ".table($F),1)));}function
collations(){$K=array();foreach(get_rows("SHOW COLLATION")as$L){if($L["Default"])$K[$L["Charset"]][-1]=$L["Collation"];else$K[$L["Charset"]][]=$L["Collation"];}ksort($K);foreach($K
as$_=>$X)asort($K[$_]);return$K;}function
information_schema($k){return(min_version(5)&&$k=="information_schema")||(min_version(5.5)&&$k=="performance_schema");}function
error(){global$g;return
h(preg_replace('~^You have an error.*syntax to use~U',"Syntax error",$g->error));}function
create_database($k,$Wa){return
queries("CREATE DATABASE ".idf_escape($k).($Wa?" COLLATE ".q($Wa):""));}function
drop_databases($j){$K=apply_queries("DROP DATABASE",$j,'idf_escape');restart_session();set_session("dbs",null);return$K;}function
rename_database($F,$Wa){$K=false;if(create_database($F,$Wa)){$tf=array();foreach(tables_list()as$Q=>$U)$tf[]=table($Q)." TO ".idf_escape($F).".".table($Q);$K=(!$tf||queries("RENAME TABLE ".implode(", ",$tf)));if($K)queries("DROP DATABASE ".idf_escape(DB));restart_session();set_session("dbs",null);}return$K;}function
auto_increment(){$za=" PRIMARY KEY";if($_GET["create"]!=""&&$_POST["auto_increment_col"]){foreach(indexes($_GET["create"])as$x){if(in_array($_POST["fields"][$_POST["auto_increment_col"]]["orig"],$x["columns"],true)){$za="";break;}if($x["type"]=="PRIMARY")$za=" UNIQUE";}}return" AUTO_INCREMENT$za";}function
alter_table($Q,$F,$o,$xc,$bb,$Xb,$Wa,$ya,$Ke){$sa=array();foreach($o
as$n)$sa[]=($n[1]?($Q!=""?($n[0]!=""?"CHANGE ".idf_escape($n[0]):"ADD"):" ")." ".implode($n[1]).($Q!=""?$n[2]:""):"DROP ".idf_escape($n[0]));$sa=array_merge($sa,$xc);$bg=($bb!==null?" COMMENT=".q($bb):"").($Xb?" ENGINE=".q($Xb):"").($Wa?" COLLATE ".q($Wa):"").($ya!=""?" AUTO_INCREMENT=$ya":"");if($Q=="")return
queries("CREATE TABLE ".table($F)." (\n".implode(",\n",$sa)."\n)$bg$Ke");if($Q!=$F)$sa[]="RENAME TO ".table($F);if($bg)$sa[]=ltrim($bg);return($sa||$Ke?queries("ALTER TABLE ".table($Q)."\n".implode(",\n",$sa).$Ke):true);}function
alter_indexes($Q,$sa){foreach($sa
as$_=>$X)$sa[$_]=($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($Q).implode(",",$sa));}function
truncate_tables($S){return
apply_queries("TRUNCATE TABLE",$S);}function
drop_views($oh){return
queries("DROP VIEW ".implode(", ",array_map('table',$oh)));}function
drop_tables($S){return
queries("DROP TABLE ".implode(", ",array_map('table',$S)));}function
move_tables($S,$oh,$ug){$tf=array();foreach(array_merge($S,$oh)as$Q)$tf[]=table($Q)." TO ".idf_escape($ug).".".table($Q);return
queries("RENAME TABLE ".implode(", ",$tf));}function
copy_tables($S,$oh,$ug){queries("SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO'");foreach($S
as$Q){$F=($ug==DB?table("copy_$Q"):idf_escape($ug).".".table($Q));if(!queries("\nDROP TABLE IF EXISTS $F")||!queries("CREATE TABLE $F LIKE ".table($Q))||!queries("INSERT INTO $F SELECT * FROM ".table($Q)))return
false;foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($Q,"%_\\")))as$L){$Og=$L["Trigger"];if(!queries("CREATE TRIGGER ".($ug==DB?idf_escape("copy_$Og"):idf_escape($ug).".".idf_escape($Og))." $L[Timing] $L[Event] ON $F FOR EACH ROW\n$L[Statement];"))return
false;}}foreach($oh
as$Q){$F=($ug==DB?table("copy_$Q"):idf_escape($ug).".".table($Q));$nh=view($Q);if(!queries("DROP VIEW IF EXISTS $F")||!queries("CREATE VIEW $F AS $nh[select]"))return
false;}return
true;}function
trigger($F){if($F=="")return
array();$M=get_rows("SHOW TRIGGERS WHERE `Trigger` = ".q($F));return
reset($M);}function
triggers($Q){$K=array();foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($Q,"%_\\")))as$L)$K[$L["Trigger"]]=array($L["Timing"],$L["Event"]);return$K;}function
trigger_options(){return
array("Timing"=>array("BEFORE","AFTER"),"Event"=>array("INSERT","UPDATE","DELETE"),"Type"=>array("FOR EACH ROW"),);}function
routine($F,$U){global$g,$Zb,$Yc,$Tg;$qa=array("bool","boolean","integer","double precision","real","dec","numeric","fixed","national char","national varchar");$Vf="(?:\\s|/\\*[\s\S]*?\\*/|(?:#|-- )[^\n]*\n?|--\r?\n)";$Sg="((".implode("|",array_merge(array_keys($Tg),$qa)).")\\b(?:\\s*\\(((?:[^'\")]|$Zb)++)\\))?\\s*(zerofill\\s*)?(unsigned(?:\\s+zerofill)?)?)(?:\\s*(?:CHARSET|CHARACTER\\s+SET)\\s*['\"]?([^'\"\\s,]+)['\"]?)?";$Pe="$Vf*(".($U=="FUNCTION"?"":$Yc).")?\\s*(?:`((?:[^`]|``)*)`\\s*|\\b(\\S+)\\s+)$Sg";$i=$g->result("SHOW CREATE $U ".idf_escape($F),2);preg_match("~\\(((?:$Pe\\s*,?)*)\\)\\s*".($U=="FUNCTION"?"RETURNS\\s+$Sg\\s+":"")."(.*)~is",$i,$D);$o=array();preg_match_all("~$Pe\\s*,?~is",$D[1],$Ed,PREG_SET_ORDER);foreach($Ed
as$Fe){$F=str_replace("``","`",$Fe[2]).$Fe[3];$o[]=array("field"=>$F,"type"=>strtolower($Fe[5]),"length"=>preg_replace_callback("~$Zb~s",'normalize_enum',$Fe[6]),"unsigned"=>strtolower(preg_replace('~\s+~',' ',trim("$Fe[8] $Fe[7]"))),"null"=>1,"full_type"=>$Fe[4],"inout"=>strtoupper($Fe[1]),"collation"=>strtolower($Fe[9]),);}if($U!="FUNCTION")return
array("fields"=>$o,"definition"=>$D[11]);return
array("fields"=>$o,"returns"=>array("type"=>$D[12],"length"=>$D[13],"unsigned"=>$D[15],"collation"=>$D[16]),"definition"=>$D[17],"language"=>"SQL",);}function
routines(){return
get_rows("SELECT ROUTINE_NAME AS SPECIFIC_NAME, ROUTINE_NAME, ROUTINE_TYPE, DTD_IDENTIFIER FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA = ".q(DB));}function
routine_languages(){return
array();}function
routine_id($F,$L){return
idf_escape($F);}function
last_id(){global$g;return$g->result("SELECT LAST_INSERT_ID()");}function
explain($g,$I){return$g->query("EXPLAIN ".(min_version(5.1)?"PARTITIONS ":"").$I);}function
found_rows($R,$Z){return($Z||$R["Engine"]!="InnoDB"?null:$R["Rows"]);}function
types(){return
array();}function
schemas(){return
array();}function
get_schema(){return"";}function
set_schema($Ef){return
true;}function
create_sql($Q,$ya,$gg){global$g;$K=$g->result("SHOW CREATE TABLE ".table($Q),1);if(!$ya)$K=preg_replace('~ AUTO_INCREMENT=\d+~','',$K);return$K;}function
truncate_sql($Q){return"TRUNCATE ".table($Q);}function
use_sql($tb){return"USE ".idf_escape($tb);}function
trigger_sql($Q){$K="";foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($Q,"%_\\")),null,"-- ")as$L)$K.="\nCREATE TRIGGER ".idf_escape($L["Trigger"])." $L[Timing] $L[Event] ON ".table($L["Table"])." FOR EACH ROW\n$L[Statement];;\n";return$K;}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(preg_match("~binary~",$n["type"]))return"HEX(".idf_escape($n["field"]).")";if($n["type"]=="bit")return"BIN(".idf_escape($n["field"])." + 0)";if(preg_match("~geometry|point|linestring|polygon~",$n["type"]))return(min_version(8)?"ST_":"")."AsWKT(".idf_escape($n["field"]).")";}function
unconvert_field($n,$K){if(preg_match("~binary~",$n["type"]))$K="UNHEX($K)";if($n["type"]=="bit")$K="CONV($K, 2, 10) + 0";if(preg_match("~geometry|point|linestring|polygon~",$n["type"]))$K=(min_version(8)?"ST_":"")."GeomFromText($K)";return$K;}function
support($pc){return!preg_match("~scheme|sequence|type|view_trigger|materializedview".(min_version(5.1)?"":"|event|partitioning".(min_version(5)?"":"|routine|trigger|view"))."~",$pc);}function
kill_process($X){return
queries("KILL ".number($X));}function
connection_id(){return"SELECT CONNECTION_ID()";}function
max_connections(){global$g;return$g->result("SELECT @@max_connections");}$z="sql";$Tg=array();$fg=array();foreach(array(lang(24)=>array("tinyint"=>3,"smallint"=>5,"mediumint"=>8,"int"=>10,"bigint"=>20,"decimal"=>66,"float"=>12,"double"=>21),lang(25)=>array("date"=>10,"datetime"=>19,"timestamp"=>19,"time"=>10,"year"=>4),lang(23)=>array("char"=>255,"varchar"=>65535,"tinytext"=>255,"text"=>65535,"mediumtext"=>16777215,"longtext"=>4294967295),lang(26)=>array("enum"=>65535,"set"=>64),lang(27)=>array("bit"=>20,"binary"=>255,"varbinary"=>65535,"tinyblob"=>255,"blob"=>65535,"mediumblob"=>16777215,"longblob"=>4294967295),lang(28)=>array("geometry"=>0,"point"=>0,"linestring"=>0,"polygon"=>0,"multipoint"=>0,"multilinestring"=>0,"multipolygon"=>0,"geometrycollection"=>0),)as$_=>$X){$Tg+=$X;$fg[$_]=array_keys($X);}$ah=array("unsigned","zerofill","unsigned zerofill");$pe=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","REGEXP","IN","FIND_IN_SET","IS NULL","NOT LIKE","NOT REGEXP","NOT IN","IS NOT NULL","SQL");$Cc=array("char_length","date","from_unixtime","lower","round","floor","ceil","sec_to_time","time_to_sec","upper");$Hc=array("avg","count","count distinct","group_concat","max","min","sum");$Pb=array(array("char"=>"md5/sha1/password/encrypt/uuid","binary"=>"md5/sha1","date|time"=>"now",),array(number_type()=>"+/-","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="4.6.3";class
Adminer{var$operators;function
name(){return"<a href='https://www.adminer.org/'".target_blank()." id='h1'>Adminer</a>";}function
credentials(){return
array(SERVER,$_GET["username"],get_password());}function
connectSsl(){}function
permanentLogin($i=false){return
password_file($i);}function
bruteForceKey(){return$_SERVER["REMOTE_ADDR"];}function
serverName($O){return
h($O);}function
database(){return
DB;}function
databases($vc=true){return
get_databases($vc);}function
schemas(){return
schemas();}function
queryTimeout(){return
2;}function
headers(){}function
csp(){return
csp();}function
head(){return
true;}function
css(){$K=array();$sc="adminer.css";if(file_exists($sc))$K[]=$sc;return$K;}function
loginForm(){global$Ib;echo"<table cellspacing='0'>\n",$this->loginFormField('driver','<tr><th>'.lang(29).'<td>',html_select("auth[driver]",$Ib,DRIVER)."\n"),$this->loginFormField('server','<tr><th>'.lang(30).'<td>','<input name="auth[server]" value="'.h(SERVER).'" title="hostname[:port]" placeholder="localhost" autocapitalize="off">'."\n"),$this->loginFormField('username','<tr><th>'.lang(31).'<td>','<input name="auth[username]" id="username" value="'.h($_GET["username"]).'" autocapitalize="off">'.script("focus(qs('#username'));")),$this->loginFormField('password','<tr><th>'.lang(32).'<td>','<input type="password" name="auth[password]">'."\n"),$this->loginFormField('db','<tr><th>'.lang(33).'<td>','<input name="auth[db]" value="'.h($_GET["db"]).'" autocapitalize="off">'."\n"),"</table>\n","<p><input type='submit' value='".lang(34)."'>\n",checkbox("auth[permanent]",1,$_COOKIE["adminer_permanent"],lang(35))."\n";}function
loginFormField($F,$Oc,$Y){return$Oc.$Y;}function
login($Ad,$Ne){if($Ne=="")return
lang(36,target_blank());return
true;}function
tableName($mg){return
h($mg["Name"]);}function
fieldName($n,$te=0){return'<span title="'.h($n["full_type"]).'">'.h($n["field"]).'</span>';}function
selectLinks($mg,$P=""){global$z,$l;echo'<p class="links">';$_d=array("select"=>lang(37));if(support("table")||support("indexes"))$_d["table"]=lang(38);if(support("table")){if(is_view($mg))$_d["view"]=lang(39);else$_d["create"]=lang(40);}if($P!==null)$_d["edit"]=lang(41);$F=$mg["Name"];foreach($_d
as$_=>$X)echo" <a href='".h(ME)."$_=".urlencode($F).($_=="edit"?$P:"")."'".bold(isset($_GET[$_])).">$X</a>";echo
doc_link(array($z=>$l->tableHelp($F)),"?"),"\n";}function
foreignKeys($Q){return
foreign_keys($Q);}function
backwardKeys($Q,$lg){return
array();}function
backwardKeysPrint($Aa,$L){}function
selectQuery($I,$ag,$nc=false){global$z,$l;$K="</p>\n";if(!$nc&&($rh=$l->warnings())){$v="warnings";$K=", <a href='#$v'>".lang(42)."</a>".script("qsl('a').onclick = partial(toggle, '$v');","")."$K<div id='$v' class='hidden'>\n$rh</div>\n";}return"<p><code class='jush-$z'>".h(str_replace("\n"," ",$I))."</code> <span class='time'>(".format_time($ag).")</span>".(support("sql")?" <a href='".h(ME)."sql=".urlencode($I)."'>".lang(10)."</a>":"").$K;}function
sqlCommandQuery($I){return
shorten_utf8(trim($I),1000);}function
rowDescription($Q){return"";}function
rowDescriptions($M,$yc){return$M;}function
selectLink($X,$n){}function
selectVal($X,$B,$n,$Ae){$K=($X===null?"<i>NULL</i>":(preg_match("~char|binary|boolean~",$n["type"])&&!preg_match("~var~",$n["type"])?"<code>$X</code>":$X));if(preg_match('~blob|bytea|raw|file~',$n["type"])&&!is_utf8($X))$K="<i>".lang(43,strlen($Ae))."</i>";if(preg_match('~json~',$n["type"]))$K="<code class='jush-js'>$K</code>";return($B?"<a href='".h($B)."'".(is_url($B)?target_blank():"").">$K</a>":$K);}function
editVal($X,$n){return$X;}function
tableStructurePrint($o){echo"<table cellspacing='0' class='nowrap'>\n","<thead><tr><th>".lang(44)."<td>".lang(45).(support("comment")?"<td>".lang(46):"")."</thead>\n";foreach($o
as$n){echo"<tr".odd()."><th>".h($n["field"]),"<td><span title='".h($n["collation"])."'>".h($n["full_type"])."</span>",($n["null"]?" <i>NULL</i>":""),($n["auto_increment"]?" <i>".lang(47)."</i>":""),(isset($n["default"])?" <span title='".lang(48)."'>[<b>".h($n["default"])."</b>]</span>":""),(support("comment")?"<td>".h($n["comment"]):""),"\n";}echo"</table>\n";}function
tableIndexesPrint($y){echo"<table cellspacing='0'>\n";foreach($y
as$F=>$x){ksort($x["columns"]);$af=array();foreach($x["columns"]as$_=>$X)$af[]="<i>".h($X)."</i>".($x["lengths"][$_]?"(".$x["lengths"][$_].")":"").($x["descs"][$_]?" DESC":"");echo"<tr title='".h($F)."'><th>$x[type]<td>".implode(", ",$af)."\n";}echo"</table>\n";}function
selectColumnsPrint($N,$e){global$Cc,$Hc;print_fieldset("select",lang(49),$N);$u=0;$N[""]=array();foreach($N
as$_=>$X){$X=$_GET["columns"][$_];$d=select_input(" name='columns[$u][col]'",$e,$X["col"],($_!==""?"selectFieldChange":"selectAddRow"));echo"<div>".($Cc||$Hc?"<select name='columns[$u][fun]'>".optionlist(array(-1=>"")+array_filter(array(lang(50)=>$Cc,lang(51)=>$Hc)),$X["fun"])."</select>".on_help("getTarget(event).value && getTarget(event).value.replace(/ |\$/, '(') + ')'",1).script("qsl('select').onchange = function () { helpClose();".($_!==""?"":" qsl('select, input', this.parentNode).onchange();")." };","")."($d)":$d)."</div>\n";$u++;}echo"</div></fieldset>\n";}function
selectSearchPrint($Z,$e,$y){print_fieldset("search",lang(52),$Z);foreach($y
as$u=>$x){if($x["type"]=="FULLTEXT"){echo"<div>(<i>".implode("</i>, <i>",array_map('h',$x["columns"]))."</i>) AGAINST"," <input type='search' name='fulltext[$u]' value='".h($_GET["fulltext"][$u])."'>",script("qsl('input').oninput = selectFieldChange;",""),checkbox("boolean[$u]",1,isset($_GET["boolean"][$u]),"BOOL"),"</div>\n";}}$Ka="this.parentNode.firstChild.onchange();";foreach(array_merge((array)$_GET["where"],array(array()))as$u=>$X){if(!$X||("$X[col]$X[val]"!=""&&in_array($X["op"],$this->operators))){echo"<div>".select_input(" name='where[$u][col]'",$e,$X["col"],($X?"selectFieldChange":"selectAddRow"),"(".lang(53).")"),html_select("where[$u][op]",$this->operators,$X["op"],$Ka),"<input type='search' name='where[$u][val]' value='".h($X["val"])."'>",script("mixin(qsl('input'), {oninput: function () { $Ka }, onkeydown: selectSearchKeydown, onsearch: selectSearchSearch});",""),"</div>\n";}}echo"</div></fieldset>\n";}function
selectOrderPrint($te,$e,$y){print_fieldset("sort",lang(54),$te);$u=0;foreach((array)$_GET["order"]as$_=>$X){if($X!=""){echo"<div>".select_input(" name='order[$u]'",$e,$X,"selectFieldChange"),checkbox("desc[$u]",1,isset($_GET["desc"][$_]),lang(55))."</div>\n";$u++;}}echo"<div>".select_input(" name='order[$u]'",$e,"","selectAddRow"),checkbox("desc[$u]",1,false,lang(55))."</div>\n","</div></fieldset>\n";}function
selectLimitPrint($A){echo"<fieldset><legend>".lang(56)."</legend><div>";echo"<input type='number' name='limit' class='size' value='".h($A)."'>",script("qsl('input').oninput = selectFieldChange;",""),"</div></fieldset>\n";}function
selectLengthPrint($zg){if($zg!==null){echo"<fieldset><legend>".lang(57)."</legend><div>","<input type='number' name='text_length' class='size' value='".h($zg)."'>","</div></fieldset>\n";}}function
selectActionPrint($y){echo"<fieldset><legend>".lang(58)."</legend><div>","<input type='submit' value='".lang(49)."'>"," <span id='noindex' title='".lang(59)."'></span>","<script".nonce().">\n","var indexColumns = ";$e=array();foreach($y
as$x){$qb=reset($x["columns"]);if($x["type"]!="FULLTEXT"&&$qb)$e[$qb]=1;}$e[""]=1;foreach($e
as$_=>$X)json_row($_);echo";\n","selectFieldChange.call(qs('#form')['select']);\n","</script>\n","</div></fieldset>\n";}function
selectCommandPrint(){return!information_schema(DB);}function
selectImportPrint(){return!information_schema(DB);}function
selectEmailPrint($Ub,$e){}function
selectColumnsProcess($e,$y){global$Cc,$Hc;$N=array();$t=array();foreach((array)$_GET["columns"]as$_=>$X){if($X["fun"]=="count"||($X["col"]!=""&&(!$X["fun"]||in_array($X["fun"],$Cc)||in_array($X["fun"],$Hc)))){$N[$_]=apply_sql_function($X["fun"],($X["col"]!=""?idf_escape($X["col"]):"*"));if(!in_array($X["fun"],$Hc))$t[]=$N[$_];}}return
array($N,$t);}function
selectSearchProcess($o,$y){global$g,$l;$K=array();foreach($y
as$u=>$x){if($x["type"]=="FULLTEXT"&&$_GET["fulltext"][$u]!="")$K[]="MATCH (".implode(", ",array_map('idf_escape',$x["columns"])).") AGAINST (".q($_GET["fulltext"][$u]).(isset($_GET["boolean"][$u])?" IN BOOLEAN MODE":"").")";}foreach((array)$_GET["where"]as$_=>$X){if("$X[col]$X[val]"!=""&&in_array($X["op"],$this->operators)){$Xe="";$db=" $X[op]";if(preg_match('~IN$~',$X["op"])){$Vc=process_length($X["val"]);$db.=" ".($Vc!=""?$Vc:"(NULL)");}elseif($X["op"]=="SQL")$db=" $X[val]";elseif($X["op"]=="LIKE %%")$db=" LIKE ".$this->processInput($o[$X["col"]],"%$X[val]%");elseif($X["op"]=="ILIKE %%")$db=" ILIKE ".$this->processInput($o[$X["col"]],"%$X[val]%");elseif($X["op"]=="FIND_IN_SET"){$Xe="$X[op](".q($X["val"]).", ";$db=")";}elseif(!preg_match('~NULL$~',$X["op"]))$db.=" ".$this->processInput($o[$X["col"]],$X["val"]);if($X["col"]!="")$K[]=$Xe.$l->convertSearch(idf_escape($X["col"]),$X,$o[$X["col"]]).$db;else{$Ya=array();foreach($o
as$F=>$n){if((preg_match('~^[-\d.'.(preg_match('~IN$~',$X["op"])?',':'').']+$~',$X["val"])||!preg_match('~'.number_type().'|bit~',$n["type"]))&&(!preg_match("~[\x80-\xFF]~",$X["val"])||preg_match('~char|text|enum|set~',$n["type"])))$Ya[]=$Xe.$l->convertSearch(idf_escape($F),$X,$n).$db;}$K[]=($Ya?"(".implode(" OR ",$Ya).")":"1 = 0");}}}return$K;}function
selectOrderProcess($o,$y){$K=array();foreach((array)$_GET["order"]as$_=>$X){if($X!="")$K[]=(preg_match('~^((COUNT\(DISTINCT |[A-Z0-9_]+\()(`(?:[^`]|``)+`|"(?:[^"]|"")+")\)|COUNT\(\*\))$~',$X)?$X:idf_escape($X)).(isset($_GET["desc"][$_])?" DESC":"");}return$K;}function
selectLimitProcess(){return(isset($_GET["limit"])?$_GET["limit"]:"50");}function
selectLengthProcess(){return(isset($_GET["text_length"])?$_GET["text_length"]:"100");}function
selectEmailProcess($Z,$yc){return
false;}function
selectQueryBuild($N,$Z,$t,$te,$A,$G){return"";}function
messageQuery($I,$_g,$nc=false){global$z,$l;restart_session();$Pc=&get_session("queries");if(!$Pc[$_GET["db"]])$Pc[$_GET["db"]]=array();if(strlen($I)>1e6)$I=preg_replace('~[\x80-\xFF]+$~','',substr($I,0,1e6))."\n...";$Pc[$_GET["db"]][]=array($I,time(),$_g);$Yf="sql-".count($Pc[$_GET["db"]]);$K="<a href='#$Yf' class='toggle'>".lang(60)."</a>\n";if(!$nc&&($rh=$l->warnings())){$v="warnings-".count($Pc[$_GET["db"]]);$K="<a href='#$v' class='toggle'>".lang(42)."</a>, $K<div id='$v' class='hidden'>\n$rh</div>\n";}return" <span class='time'>".@date("H:i:s")."</span>"." $K<div id='$Yf' class='hidden'><pre><code class='jush-$z'>".shorten_utf8($I,1000)."</code></pre>".($_g?" <span class='time'>($_g)</span>":'').(support("sql")?'<p><a href="'.h(str_replace("db=".urlencode(DB),"db=".urlencode($_GET["db"]),ME).'sql=&history='.(count($Pc[$_GET["db"]])-1)).'">'.lang(10).'</a>':'').'</div>';}function
editFunctions($n){global$Pb;$K=($n["null"]?"NULL/":"");foreach($Pb
as$_=>$Cc){if(!$_||(!isset($_GET["call"])&&(isset($_GET["select"])||where($_GET)))){foreach($Cc
as$Pe=>$X){if(!$Pe||preg_match("~$Pe~",$n["type"]))$K.="/$X";}if($_&&!preg_match('~set|blob|bytea|raw|file~',$n["type"]))$K.="/SQL";}}if($n["auto_increment"]&&!isset($_GET["select"])&&!where($_GET))$K=lang(47);return
explode("/",$K);}function
editInput($Q,$n,$wa,$Y){if($n["type"]=="enum")return(isset($_GET["select"])?"<label><input type='radio'$wa value='-1' checked><i>".lang(8)."</i></label> ":"").($n["null"]?"<label><input type='radio'$wa value=''".($Y!==null||isset($_GET["select"])?"":" checked")."><i>NULL</i></label> ":"").enum_input("radio",$wa,$n,$Y,0);return"";}function
editHint($Q,$n,$Y){return"";}function
processInput($n,$Y,$s=""){if($s=="SQL")return$Y;$F=$n["field"];$K=q($Y);if(preg_match('~^(now|getdate|uuid)$~',$s))$K="$s()";elseif(preg_match('~^current_(date|timestamp)$~',$s))$K=$s;elseif(preg_match('~^([+-]|\|\|)$~',$s))$K=idf_escape($F)." $s $K";elseif(preg_match('~^[+-] interval$~',$s))$K=idf_escape($F)." $s ".(preg_match("~^(\\d+|'[0-9.: -]') [A-Z_]+\$~i",$Y)?$Y:$K);elseif(preg_match('~^(addtime|subtime|concat)$~',$s))$K="$s(".idf_escape($F).", $K)";elseif(preg_match('~^(md5|sha1|password|encrypt)$~',$s))$K="$s($K)";return
unconvert_field($n,$K);}function
dumpOutput(){$K=array('text'=>lang(61),'file'=>lang(62));if(function_exists('gzencode'))$K['gz']='gzip';return$K;}function
dumpFormat(){return
array('sql'=>'SQL','csv'=>'CSV,','csv;'=>'CSV;','tsv'=>'TSV');}function
dumpDatabase($k){}function
dumpTable($Q,$gg,$hd=0){if($_POST["format"]!="sql"){echo"\xef\xbb\xbf";if($gg)dump_csv(array_keys(fields($Q)));}else{if($hd==2){$o=array();foreach(fields($Q)as$F=>$n)$o[]=idf_escape($F)." $n[full_type]";$i="CREATE TABLE ".table($Q)." (".implode(", ",$o).")";}else$i=create_sql($Q,$_POST["auto_increment"],$gg);set_utf8mb4($i);if($gg&&$i){if($gg=="DROP+CREATE"||$hd==1)echo"DROP ".($hd==2?"VIEW":"TABLE")." IF EXISTS ".table($Q).";\n";if($hd==1)$i=remove_definer($i);echo"$i;\n\n";}}}function
dumpData($Q,$gg,$I){global$g,$z;$Gd=($z=="sqlite"?0:1048576);if($gg){if($_POST["format"]=="sql"){if($gg=="TRUNCATE+INSERT")echo
truncate_sql($Q).";\n";$o=fields($Q);}$J=$g->query($I,1);if($J){$ad="";$Ia="";$kd=array();$ig="";$qc=($Q!=''?'fetch_assoc':'fetch_row');while($L=$J->$qc()){if(!$kd){$jh=array();foreach($L
as$X){$n=$J->fetch_field();$kd[]=$n->name;$_=idf_escape($n->name);$jh[]="$_ = VALUES($_)";}$ig=($gg=="INSERT+UPDATE"?"\nON DUPLICATE KEY UPDATE ".implode(", ",$jh):"").";\n";}if($_POST["format"]!="sql"){if($gg=="table"){dump_csv($kd);$gg="INSERT";}dump_csv($L);}else{if(!$ad)$ad="INSERT INTO ".table($Q)." (".implode(", ",array_map('idf_escape',$kd)).") VALUES";foreach($L
as$_=>$X){$n=$o[$_];$L[$_]=($X!==null?unconvert_field($n,preg_match(number_type(),$n["type"])&&$X!=''?$X:q(($X===false?0:$X))):"NULL");}$Cf=($Gd?"\n":" ")."(".implode(",\t",$L).")";if(!$Ia)$Ia=$ad.$Cf;elseif(strlen($Ia)+4+strlen($Cf)+strlen($ig)<$Gd)$Ia.=",$Cf";else{echo$Ia.$ig;$Ia=$ad.$Cf;}}}if($Ia)echo$Ia.$ig;}elseif($_POST["format"]=="sql")echo"-- ".str_replace("\n"," ",$g->error)."\n";}}function
dumpFilename($Tc){return
friendly_url($Tc!=""?$Tc:(SERVER!=""?SERVER:"localhost"));}function
dumpHeaders($Tc,$Sd=false){$Ce=$_POST["output"];$kc=(preg_match('~sql~',$_POST["format"])?"sql":($Sd?"tar":"csv"));header("Content-Type: ".($Ce=="gz"?"application/x-gzip":($kc=="tar"?"application/x-tar":($kc=="sql"||$Ce!="file"?"text/plain":"text/csv")."; charset=utf-8")));if($Ce=="gz")ob_start('ob_gzencode',1e6);return$kc;}function
importServerPath(){return"adminer.sql";}function
homepage(){echo'<p class="links">'.($_GET["ns"]==""&&support("database")?'<a href="'.h(ME).'database=">'.lang(63)."</a>\n":""),(support("scheme")?"<a href='".h(ME)."scheme='>".($_GET["ns"]!=""?lang(64):lang(65))."</a>\n":""),($_GET["ns"]!==""?'<a href="'.h(ME).'schema=">'.lang(66)."</a>\n":""),(support("privileges")?"<a href='".h(ME)."privileges='>".lang(67)."</a>\n":"");return
true;}function
navigation($Rd){global$fa,$z,$Ib,$g;echo'<h1>
',$this->name(),' <span class="version">',$fa,'</span>
<a href="https://www.adminer.org/#download"',target_blank(),' id="version">',(version_compare($fa,$_COOKIE["adminer_version"])<0?h($_COOKIE["adminer_version"]):""),'</a>
</h1>
';if($Rd=="auth"){$uc=true;foreach((array)$_SESSION["pwds"]as$lh=>$Nf){foreach($Nf
as$O=>$hh){foreach($hh
as$V=>$Ne){if($Ne!==null){if($uc){echo"<p id='logins'>".script("mixin(qs('#logins'), {onmouseover: menuOver, onmouseout: menuOut});");$uc=false;}$wb=$_SESSION["db"][$lh][$O][$V];foreach(($wb?array_keys($wb):array(""))as$k)echo"<a href='".h(auth_url($lh,$O,$V,$k))."'>($Ib[$lh]) ".h($V.($O!=""?"@".$this->serverName($O):"").($k!=""?" - $k":""))."</a><br>\n";}}}}}else{if($_GET["ns"]!==""&&!$Rd&&DB!=""){$g->select_db(DB);$S=table_status('',true);}echo
script_src(preg_replace("~\\?.*~","",ME)."?file=jush.js&version=4.6.3");if(support("sql")){echo'<script',nonce(),'>
';if($S){$_d=array();foreach($S
as$Q=>$U)$_d[]=preg_quote($Q,'/');echo"var jushLinks = { $z: [ '".js_escape(ME).(support("table")?"table=":"select=")."\$&', /\\b(".implode("|",$_d).")\\b/g ] };\n";foreach(array("bac","bra","sqlite_quo","mssql_bra")as$X)echo"jushLinks.$X = jushLinks.$z;\n";}$Mf=$g->server_info;echo'bodyLoad(\'',(is_object($g)?preg_replace('~^(\d\.?\d).*~s','\1',$Mf):""),'\'',(preg_match('~MariaDB~',$Mf)?", true":""),');
</script>
';}$this->databasesPrint($Rd);if(DB==""||!$Rd){echo"<p class='links'>".(support("sql")?"<a href='".h(ME)."sql='".bold(isset($_GET["sql"])&&!isset($_GET["import"])).">".lang(60)."</a>\n<a href='".h(ME)."import='".bold(isset($_GET["import"])).">".lang(68)."</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(69)."</a>\n";}if($_GET["ns"]!==""&&!$Rd&&DB!=""){echo'<a href="'.h(ME).'create="'.bold($_GET["create"]==="").">".lang(70)."</a>\n";if(!$S)echo"<p class='message'>".lang(9)."\n";else$this->tablesPrint($S);}}}function
databasesPrint($Rd){global$c,$g;$j=$this->databases();if($j&&!in_array(DB,$j))array_unshift($j,DB);echo'<form action="">
<p id="dbs">
';hidden_fields_get();$ub=script("mixin(qsl('select'), {onmousedown: dbMouseDown, onchange: dbChange});");echo"<span title='".lang(71)."'>".lang(72)."</span>: ".($j?"<select name='db'>".optionlist(array(""=>"")+$j,DB)."</select>$ub":"<input name='db' value='".h(DB)."' autocapitalize='off'>\n"),"<input type='submit' value='".lang(20)."'".($j?" class='hidden'":"").">\n";if($Rd!="db"&&DB!=""&&$g->select_db(DB)){}foreach(array("import","sql","schema","dump","privileges")as$X){if(isset($_GET[$X])){echo"<input type='hidden' name='$X' value=''>";break;}}echo"</p></form>\n";}function
tablesPrint($S){echo"<ul id='tables'>".script("mixin(qs('#tables'), {onmouseover: menuOver, onmouseout: menuOut});");foreach($S
as$Q=>$bg){$F=$this->tableName($bg);if($F!=""){echo'<li><a href="'.h(ME).'select='.urlencode($Q).'"'.bold($_GET["select"]==$Q||$_GET["edit"]==$Q,"select").">".lang(73)."</a> ",(support("table")||support("indexes")?'<a href="'.h(ME).'table='.urlencode($Q).'"'.bold(in_array($Q,array($_GET["table"],$_GET["create"],$_GET["indexes"],$_GET["foreign"],$_GET["trigger"])),(is_view($bg)?"view":"structure"))." title='".lang(38)."'>$F</a>":"<span>$F</span>")."\n";}}echo"</ul>\n";}}$c=(function_exists('adminer_object')?adminer_object():new
Adminer);if($c->operators===null)$c->operators=$pe;function
page_header($Cg,$m="",$Ha=array(),$Dg=""){global$a,$fa,$c,$Ib,$z;page_headers();if(is_ajax()&&$m){page_messages($m);exit;}$Eg=$Cg.($Dg!=""?": $Dg":"");$Fg=strip_tags($Eg.(SERVER!=""&&SERVER!="localhost"?h(" - ".SERVER):"")." - ".$c->name());echo'<!DOCTYPE html>
<html lang="',$a,'" dir="',lang(74),'">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="robots" content="noindex">
<title>',$Fg,'</title>
<link rel="stylesheet" type="text/css" href="',h(preg_replace("~\\?.*~","",ME)."?file=default.css&version=4.6.3"),'">
',script_src(preg_replace("~\\?.*~","",ME)."?file=functions.js&version=4.6.3");if($c->head()){echo'<link rel="shortcut icon" type="image/x-icon" href="',h(preg_replace("~\\?.*~","",ME)."?file=favicon.ico&version=4.6.3"),'">
<link rel="apple-touch-icon" href="',h(preg_replace("~\\?.*~","",ME)."?file=favicon.ico&version=4.6.3"),'">
';foreach($c->css()as$ob){echo'<link rel="stylesheet" type="text/css" href="',h($ob),'">
';}}echo'
<body class="',lang(74),' nojs">
';$sc=get_temp_dir()."/adminer.version";if(!$_COOKIE["adminer_version"]&&function_exists('openssl_verify')&&file_exists($sc)&&filemtime($sc)+86400>time()){$mh=unserialize(file_get_contents($sc));$gf="-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwqWOVuF5uw7/+Z70djoK
RlHIZFZPO0uYRezq90+7Amk+FDNd7KkL5eDve+vHRJBLAszF/7XKXe11xwliIsFs
DFWQlsABVZB3oisKCBEuI71J4kPH8dKGEWR9jDHFw3cWmoH3PmqImX6FISWbG3B8
h7FIx3jEaw5ckVPVTeo5JRm/1DZzJxjyDenXvBQ/6o9DgZKeNDgxwKzH+sw9/YCO
jHnq1cFpOIISzARlrHMa/43YfeNRAm/tsBXjSxembBPo7aQZLAWHmaj5+K19H10B
nCpz9Y++cipkVEiKRGih4ZEvjoFysEOdRLj6WiD/uUNky4xGeA6LaJqh5XpkFkcQ
fQIDAQAB
-----END PUBLIC KEY-----
";if(openssl_verify($mh["version"],base64_decode($mh["signature"]),$gf)==1)$_COOKIE["adminer_version"]=$mh["version"];}echo'<script',nonce(),'>
mixin(document.body, {onkeydown: bodyKeydown, onclick: bodyClick',(isset($_COOKIE["adminer_version"])?"":", onload: partial(verifyVersion, '$fa', '".js_escape(ME)."', '".get_token()."')");?>});
document.body.className = document.body.className.replace(/ nojs/, ' js');
var offlineMessage = '<?php echo
js_escape(lang(75)),'\';
var thousandsSeparator = \'',js_escape(lang(5)),'\';
</script>

<div id="help" class="jush-',$z,' jsonly hidden"></div>
',script("mixin(qs('#help'), {onmouseover: function () { helpOpen = 1; }, onmouseout: helpMouseout});"),'
<div id="content">
';if($Ha!==null){$B=substr(preg_replace('~\b(username|db|ns)=[^&]*&~','',ME),0,-1);echo'<p id="breadcrumb"><a href="'.h($B?$B:".").'">'.$Ib[DRIVER].'</a> &raquo; ';$B=substr(preg_replace('~\b(db|ns)=[^&]*&~','',ME),0,-1);$O=$c->serverName(SERVER);$O=($O!=""?$O:lang(30));if($Ha===false)echo"$O\n";else{echo"<a href='".($B?h($B):".")."' accesskey='1' title='Alt+Shift+1'>$O</a> &raquo; ";if($_GET["ns"]!=""||(DB!=""&&is_array($Ha)))echo'<a href="'.h($B."&db=".urlencode(DB).(support("scheme")?"&ns=":"")).'">'.h(DB).'</a> &raquo; ';if(is_array($Ha)){if($_GET["ns"]!="")echo'<a href="'.h(substr(ME,0,-1)).'">'.h($_GET["ns"]).'</a> &raquo; ';foreach($Ha
as$_=>$X){$Ab=(is_array($X)?$X[1]:h($X));if($Ab!="")echo"<a href='".h(ME."$_=").urlencode(is_array($X)?$X[0]:$X)."'>$Ab</a> &raquo; ";}}echo"$Cg\n";}}echo"<h2>$Eg</h2>\n","<div id='ajaxstatus' class='jsonly hidden'></div>\n";restart_session();page_messages($m);$j=&get_session("dbs");if(DB!=""&&$j&&!in_array(DB,$j,true))$j=null;stop_session();define("PAGE_HEADER",1);}function
page_headers(){global$c;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($c->csp()as$nb){$Nc=array();foreach($nb
as$_=>$X)$Nc[]="$_ $X";header("Content-Security-Policy: ".implode("; ",$Nc));}$c->headers();}function
csp(){return
array(array("script-src"=>"'self' 'unsafe-inline' 'nonce-".get_nonce()."' 'strict-dynamic'","connect-src"=>"'self'","frame-src"=>"https://www.adminer.org","object-src"=>"'none'","base-uri"=>"'none'","form-action"=>"'self'",),);}function
get_nonce(){static$ae;if(!$ae)$ae=base64_encode(rand_string());return$ae;}function
page_messages($m){$ch=preg_replace('~^[^?]*~','',$_SERVER["REQUEST_URI"]);$Pd=$_SESSION["messages"][$ch];if($Pd){echo"<div class='message'>".implode("</div>\n<div class='message'>",$Pd)."</div>".script("messagesPrint();");unset($_SESSION["messages"][$ch]);}if($m)echo"<div class='error'>$m</div>\n";}function
page_footer($Rd=""){global$c,$T;echo'</div>

';switch_lang();if($Rd!="auth"){echo'<form action="" method="post">
<p class="logout">
<input type="submit" name="logout" value="',lang(76),'" id="logout">
<input type="hidden" name="token" value="',$T,'">
</p>
</form>
';}echo'<div id="menu">
';$c->navigation($Rd);echo'</div>
',script("setupSubmitHighlight(document);");}function
int32($Ud){while($Ud>=2147483648)$Ud-=4294967296;while($Ud<=-2147483649)$Ud+=4294967296;return(int)$Ud;}function
long2str($W,$qh){$Cf='';foreach($W
as$X)$Cf.=pack('V',$X);if($qh)return
substr($Cf,0,end($W));return$Cf;}function
str2long($Cf,$qh){$W=array_values(unpack('V*',str_pad($Cf,4*ceil(strlen($Cf)/4),"\0")));if($qh)$W[]=strlen($Cf);return$W;}function
xxtea_mx($xh,$wh,$jg,$jd){return
int32((($xh>>5&0x7FFFFFF)^$wh<<2)+(($wh>>3&0x1FFFFFFF)^$xh<<4))^int32(($jg^$wh)+($jd^$xh));}function
encrypt_string($dg,$_){if($dg=="")return"";$_=array_values(unpack("V*",pack("H*",md5($_))));$W=str2long($dg,true);$Ud=count($W)-1;$xh=$W[$Ud];$wh=$W[0];$H=floor(6+52/($Ud+1));$jg=0;while($H-->0){$jg=int32($jg+0x9E3779B9);$Ob=$jg>>2&3;for($De=0;$De<$Ud;$De++){$wh=$W[$De+1];$Td=xxtea_mx($xh,$wh,$jg,$_[$De&3^$Ob]);$xh=int32($W[$De]+$Td);$W[$De]=$xh;}$wh=$W[0];$Td=xxtea_mx($xh,$wh,$jg,$_[$De&3^$Ob]);$xh=int32($W[$Ud]+$Td);$W[$Ud]=$xh;}return
long2str($W,false);}function
decrypt_string($dg,$_){if($dg=="")return"";if(!$_)return
false;$_=array_values(unpack("V*",pack("H*",md5($_))));$W=str2long($dg,false);$Ud=count($W)-1;$xh=$W[$Ud];$wh=$W[0];$H=floor(6+52/($Ud+1));$jg=int32($H*0x9E3779B9);while($jg){$Ob=$jg>>2&3;for($De=$Ud;$De>0;$De--){$xh=$W[$De-1];$Td=xxtea_mx($xh,$wh,$jg,$_[$De&3^$Ob]);$wh=int32($W[$De]-$Td);$W[$De]=$wh;}$xh=$W[$Ud];$Td=xxtea_mx($xh,$wh,$jg,$_[$De&3^$Ob]);$wh=int32($W[0]-$Td);$W[0]=$wh;$jg=int32($jg-0x9E3779B9);}return
long2str($W,true);}$g='';$Mc=$_SESSION["token"];if(!$Mc)$_SESSION["token"]=rand(1,1e6);$T=get_token();$Qe=array();if($_COOKIE["adminer_permanent"]){foreach(explode(" ",$_COOKIE["adminer_permanent"])as$X){list($_)=explode(":",$X);$Qe[$_]=$X;}}function
add_invalid_login(){global$c;$r=file_open_lock(get_temp_dir()."/adminer.invalid");if(!$r)return;$dd=unserialize(stream_get_contents($r));$_g=time();if($dd){foreach($dd
as$ed=>$X){if($X[0]<$_g)unset($dd[$ed]);}}$cd=&$dd[$c->bruteForceKey()];if(!$cd)$cd=array($_g+30*60,0);$cd[1]++;file_write_unlock($r,serialize($dd));}function
check_invalid_login(){global$c;$dd=unserialize(@file_get_contents(get_temp_dir()."/adminer.invalid"));$cd=$dd[$c->bruteForceKey()];$Zd=($cd[1]>29?$cd[0]-time():0);if($Zd>0)auth_error(lang(77,ceil($Zd/60)));}$xa=$_POST["auth"];if($xa){session_regenerate_id();$lh=$xa["driver"];$O=$xa["server"];$V=$xa["username"];$Ne=(string)$xa["password"];$k=$xa["db"];set_password($lh,$O,$V,$Ne);$_SESSION["db"][$lh][$O][$V][$k]=true;if($xa["permanent"]){$_=base64_encode($lh)."-".base64_encode($O)."-".base64_encode($V)."-".base64_encode($k);$bf=$c->permanentLogin(true);$Qe[$_]="$_:".base64_encode($bf?encrypt_string($Ne,$bf):"");cookie("adminer_permanent",implode(" ",$Qe));}if(count($_POST)==1||DRIVER!=$lh||SERVER!=$O||$_GET["username"]!==$V||DB!=$k)redirect(auth_url($lh,$O,$V,$k));}elseif($_POST["logout"]){if($Mc&&!verify_token()){page_header(lang(76),lang(78));page_footer("db");exit;}else{foreach(array("pwds","db","dbs","queries")as$_)set_session($_,null);unset_permanent();redirect(substr(preg_replace('~\b(username|db|ns)=[^&]*&~','',ME),0,-1),lang(79).' '.lang(80,'https://sourceforge.net/donate/index.php?group_id=264133'));}}elseif($Qe&&!$_SESSION["pwds"]){session_regenerate_id();$bf=$c->permanentLogin();foreach($Qe
as$_=>$X){list(,$Qa)=explode(":",$X);list($lh,$O,$V,$k)=array_map('base64_decode',explode("-",$_));set_password($lh,$O,$V,decrypt_string(base64_decode($Qa),$bf));$_SESSION["db"][$lh][$O][$V][$k]=true;}}function
unset_permanent(){global$Qe;foreach($Qe
as$_=>$X){list($lh,$O,$V,$k)=array_map('base64_decode',explode("-",$_));if($lh==DRIVER&&$O==SERVER&&$V==$_GET["username"]&&$k==DB)unset($Qe[$_]);}cookie("adminer_permanent",implode(" ",$Qe));}function
auth_error($m){global$c,$Mc;$Of=session_name();if(isset($_GET["username"])){header("HTTP/1.1 403 Forbidden");if(($_COOKIE[$Of]||$_GET[$Of])&&!$Mc)$m=lang(81);else{restart_session();add_invalid_login();$Ne=get_password();if($Ne!==null){if($Ne===false)$m.='<br>'.lang(82,target_blank(),'<code>permanentLogin()</code>');set_password(DRIVER,SERVER,$_GET["username"],null);}unset_permanent();}}if(!$_COOKIE[$Of]&&$_GET[$Of]&&ini_bool("session.use_only_cookies"))$m=lang(83);$Ge=session_get_cookie_params();cookie("adminer_key",($_COOKIE["adminer_key"]?$_COOKIE["adminer_key"]:rand_string()),$Ge["lifetime"]);page_header(lang(34),$m,null);echo"<form action='' method='post'>\n","<div>";if(hidden_fields($_POST,array("auth")))echo"<p class='message'>".lang(84)."\n";echo"</div>\n";$c->loginForm();echo"</form>\n";page_footer("auth");exit;}if(isset($_GET["username"])&&!class_exists("Min_DB")){unset($_SESSION["pwds"][DRIVER]);unset_permanent();page_header(lang(85),lang(86,implode(", ",$We)),false);page_footer("auth");exit;}stop_session(true);if(isset($_GET["username"])){list($Rc,$Se)=explode(":",SERVER,2);if(is_numeric($Se)&&$Se<1024)auth_error(lang(87));check_invalid_login();$g=connect();$l=new
Min_Driver($g);}$Ad=null;if(!is_object($g)||($Ad=$c->login($_GET["username"],get_password()))!==true)auth_error((is_string($g)?h($g):(is_string($Ad)?$Ad:lang(88))));if($xa&&$_POST["token"])$_POST["token"]=$T;$m='';if($_POST){if(!verify_token()){$Xc="max_input_vars";$Kd=ini_get($Xc);if(extension_loaded("suhosin")){foreach(array("suhosin.request.max_vars","suhosin.post.max_vars")as$_){$X=ini_get($_);if($X&&(!$Kd||$X<$Kd)){$Xc=$_;$Kd=$X;}}}$m=(!$_POST["token"]&&$Kd?lang(89,"'$Xc'"):lang(78).' '.lang(90));}}elseif($_SERVER["REQUEST_METHOD"]=="POST"){$m=lang(91,"'post_max_size'");if(isset($_GET["sql"]))$m.=' '.lang(92);}function
select($J,$h=null,$we=array(),$A=0){global$z;$_d=array();$y=array();$e=array();$Fa=array();$Tg=array();$K=array();odd('');for($u=0;(!$A||$u<$A)&&($L=$J->fetch_row());$u++){if(!$u){echo"<table cellspacing='0' class='nowrap'>\n","<thead><tr>";for($id=0;$id<count($L);$id++){$n=$J->fetch_field();$F=$n->name;$ve=$n->orgtable;$ue=$n->orgname;$K[$n->table]=$ve;if($we&&$z=="sql")$_d[$id]=($F=="table"?"table=":($F=="possible_keys"?"indexes=":null));elseif($ve!=""){if(!isset($y[$ve])){$y[$ve]=array();foreach(indexes($ve,$h)as$x){if($x["type"]=="PRIMARY"){$y[$ve]=array_flip($x["columns"]);break;}}$e[$ve]=$y[$ve];}if(isset($e[$ve][$ue])){unset($e[$ve][$ue]);$y[$ve][$ue]=$id;$_d[$id]=$ve;}}if($n->charsetnr==63)$Fa[$id]=true;$Tg[$id]=$n->type;echo"<th".($ve!=""||$n->name!=$ue?" title='".h(($ve!=""?"$ve.":"").$ue)."'":"").">".h($F).($we?doc_link(array('sql'=>"explain-output.html#explain_".strtolower($F),'mariadb'=>"explain/#the-columns-in-explain-select",)):"");}echo"</thead>\n";}echo"<tr".odd().">";foreach($L
as$_=>$X){if($X===null)$X="<i>NULL</i>";elseif($Fa[$_]&&!is_utf8($X))$X="<i>".lang(43,strlen($X))."</i>";else{$X=h($X);if($Tg[$_]==254)$X="<code>$X</code>";}if(isset($_d[$_])&&!$e[$_d[$_]]){if($we&&$z=="sql"){$Q=$L[array_search("table=",$_d)];$B=$_d[$_].urlencode($we[$Q]!=""?$we[$Q]:$Q);}else{$B="edit=".urlencode($_d[$_]);foreach($y[$_d[$_]]as$Ua=>$id)$B.="&where".urlencode("[".bracket_escape($Ua)."]")."=".urlencode($L[$id]);}$X="<a href='".h(ME.$B)."'>$X</a>";}echo"<td>$X";}}echo($u?"</table>":"<p class='message'>".lang(12))."\n";return$K;}function
referencable_primary($Jf){$K=array();foreach(table_status('',true)as$ng=>$Q){if($ng!=$Jf&&fk_support($Q)){foreach(fields($ng)as$n){if($n["primary"]){if($K[$ng]){unset($K[$ng]);break;}$K[$ng]=$n;}}}}return$K;}function
textarea($F,$Y,$M=10,$Ya=80){global$z;echo"<textarea name='$F' rows='$M' cols='$Ya' class='sqlarea jush-$z' spellcheck='false' wrap='off'>";if(is_array($Y)){foreach($Y
as$X)echo
h($X[0])."\n\n\n";}else
echo
h($Y);echo"</textarea>";}function
edit_type($_,$n,$Xa,$q=array(),$mc=array()){global$fg,$Tg,$ah,$le;$U=$n["type"];echo'<td><select name="',h($_),'[type]" class="type" aria-labelledby="label-type">';if($U&&!isset($Tg[$U])&&!isset($q[$U])&&!in_array($U,$mc))$mc[]=$U;if($q)$fg[lang(93)]=$q;echo
optionlist(array_merge($mc,$fg),$U),'</select>
',on_help("getTarget(event).value",1),script("mixin(qsl('select'), {onfocus: function () { lastType = selectValue(this); }, onchange: editingTypeChange});",""),'<td><input name="',h($_),'[length]" value="',h($n["length"]),'" size="3"',(!$n["length"]&&preg_match('~var(char|binary)$~',$U)?" class='required'":"");echo' aria-labelledby="label-length">',script("mixin(qsl('input'), {onfocus: editingLengthFocus, oninput: editingLengthChange});",""),'<td class="options">',"<select name='".h($_)."[collation]'".(preg_match('~(char|text|enum|set)$~',$U)?"":" class='hidden'").'><option value="">('.lang(94).')'.optionlist($Xa,$n["collation"]).'</select>',($ah?"<select name='".h($_)."[unsigned]'".(!$U||preg_match(number_type(),$U)?"":" class='hidden'").'><option>'.optionlist($ah,$n["unsigned"]).'</select>':''),(isset($n['on_update'])?"<select name='".h($_)."[on_update]'".(preg_match('~timestamp|datetime~',$U)?"":" class='hidden'").'>'.optionlist(array(""=>"(".lang(95).")","CURRENT_TIMESTAMP"),$n["on_update"]).'</select>':''),($q?"<select name='".h($_)."[on_delete]'".(preg_match("~`~",$U)?"":" class='hidden'")."><option value=''>(".lang(96).")".optionlist(explode("|",$le),$n["on_delete"])."</select> ":" ");}function
process_length($xd){global$Zb;return(preg_match("~^\\s*\\(?\\s*$Zb(?:\\s*,\\s*$Zb)*+\\s*\\)?\\s*\$~",$xd)&&preg_match_all("~$Zb~",$xd,$Ed)?"(".implode(",",$Ed[0]).")":preg_replace('~^[0-9].*~','(\0)',preg_replace('~[^-0-9,+()[\]]~','',$xd)));}function
process_type($n,$Va="COLLATE"){global$ah;return" $n[type]".process_length($n["length"]).(preg_match(number_type(),$n["type"])&&in_array($n["unsigned"],$ah)?" $n[unsigned]":"").(preg_match('~char|text|enum|set~',$n["type"])&&$n["collation"]?" $Va ".q($n["collation"]):"");}function
process_field($n,$Rg){return
array(idf_escape(trim($n["field"])),process_type($Rg),($n["null"]?" NULL":" NOT NULL"),default_value($n),(preg_match('~timestamp|datetime~',$n["type"])&&$n["on_update"]?" ON UPDATE $n[on_update]":""),(support("comment")&&$n["comment"]!=""?" COMMENT ".q($n["comment"]):""),($n["auto_increment"]?auto_increment():null),);}function
default_value($n){$yb=$n["default"];return($yb===null?"":" DEFAULT ".(preg_match('~char|binary|text|enum|set~',$n["type"])||preg_match('~^(?![a-z])~i',$yb)?q($yb):$yb));}function
type_class($U){foreach(array('char'=>'text','date'=>'time|year','binary'=>'blob','enum'=>'set',)as$_=>$X){if(preg_match("~$_|$X~",$U))return" class='$_'";}}function
edit_fields($o,$Xa,$U="TABLE",$q=array(),$cb=false){global$Yc;$o=array_values($o);echo'<thead><tr>
';if($U=="PROCEDURE"){echo'<td>';}echo'<th id="label-name">',($U=="TABLE"?lang(97):lang(98)),'<td id="label-type">',lang(45),'<textarea id="enum-edit" rows="4" cols="12" wrap="off" style="display: none;"></textarea>',script("qs('#enum-edit').onblur = editingLengthBlur;"),'<td id="label-length">',lang(99),'<td>',lang(100);if($U=="TABLE"){echo'<td id="label-null">NULL
<td><input type="radio" name="auto_increment_col" value=""><acronym id="label-ai" title="',lang(47),'">AI</acronym>',doc_link(array('sql'=>"example-auto-increment.html",'mariadb'=>"auto_increment/",'sqlite'=>"autoinc.html",'pgsql'=>"datatype.html#DATATYPE-SERIAL",'mssql'=>"ms186775.aspx",)),'<td id="label-default">',lang(48),(support("comment")?"<td id='label-comment'".($cb?"":" class='hidden'").">".lang(46):"");}echo'<td>',"<input type='image' class='icon' name='add[".(support("move_col")?0:count($o))."]' src='".h(preg_replace("~\\?.*~","",ME)."?file=plus.gif&version=4.6.3")."' alt='+' title='".lang(101)."'>".script("row_count = ".count($o).";"),'</thead>
<tbody>
',script("mixin(qsl('tbody'), {onclick: editingClick, onkeydown: editingKeydown, oninput: editingInput});");foreach($o
as$u=>$n){$u++;$xe=$n[($_POST?"orig":"field")];$Eb=(isset($_POST["add"][$u-1])||(isset($n["field"])&&!$_POST["drop_col"][$u]))&&(support("drop_col")||$xe=="");echo'<tr',($Eb?"":" style='display: none;'"),'>
',($U=="PROCEDURE"?"<td>".html_select("fields[$u][inout]",explode("|",$Yc),$n["inout"]):""),'<th>';if($Eb){echo'<input name="fields[',$u,'][field]" value="',h($n["field"]),'" maxlength="64" autocapitalize="off" aria-labelledby="label-name">',script("qsl('input').oninput = function () { editingNameChange.call(this);".($n["field"]!=""||count($o)>1?"":" editingAddRow.call(this);")." };","");}echo'<input type="hidden" name="fields[',$u,'][orig]" value="',h($xe),'">
';edit_type("fields[$u]",$n,$Xa,$q);if($U=="TABLE"){echo'<td>',checkbox("fields[$u][null]",1,$n["null"],"","","block","label-null"),'<td><label class="block"><input type="radio" name="auto_increment_col" value="',$u,'"';if($n["auto_increment"]){echo' checked';}echo' aria-labelledby="label-ai"></label><td>',checkbox("fields[$u][has_default]",1,$n["has_default"],"","","","label-default"),'<input name="fields[',$u,'][default]" value="',h($n["default"]),'" aria-labelledby="label-default">',(support("comment")?"<td".($cb?"":" class='hidden'")."><input name='fields[$u][comment]' value='".h($n["comment"])."' maxlength='".(min_version(5.5)?1024:255)."' aria-labelledby='label-comment'>":"");}echo"<td>",(support("move_col")?"<input type='image' class='icon' name='add[$u]' src='".h(preg_replace("~\\?.*~","",ME)."?file=plus.gif&version=4.6.3")."' alt='+' title='".lang(101)."'> "."<input type='image' class='icon' name='up[$u]' src='".h(preg_replace("~\\?.*~","",ME)."?file=up.gif&version=4.6.3")."' alt='↑' title='".lang(102)."'> "."<input type='image' class='icon' name='down[$u]' src='".h(preg_replace("~\\?.*~","",ME)."?file=down.gif&version=4.6.3")."' alt='↓' title='".lang(103)."'> ":""),($xe==""||support("drop_col")?"<input type='image' class='icon' name='drop_col[$u]' src='".h(preg_replace("~\\?.*~","",ME)."?file=cross.gif&version=4.6.3")."' alt='x' title='".lang(104)."'>":"");}}function
process_fields(&$o){$ee=0;if($_POST["up"]){$rd=0;foreach($o
as$_=>$n){if(key($_POST["up"])==$_){unset($o[$_]);array_splice($o,$rd,0,array($n));break;}if(isset($n["field"]))$rd=$ee;$ee++;}}elseif($_POST["down"]){$_c=false;foreach($o
as$_=>$n){if(isset($n["field"])&&$_c){unset($o[key($_POST["down"])]);array_splice($o,$ee,0,array($_c));break;}if(key($_POST["down"])==$_)$_c=$n;$ee++;}}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($D){return"'".str_replace("'","''",addcslashes(stripcslashes(str_replace($D[0][0].$D[0][0],$D[0][0],substr($D[0],1,-1))),'\\'))."'";}function
grant($Dc,$df,$e,$ke){if(!$df)return
true;if($df==array("ALL PRIVILEGES","GRANT OPTION"))return($Dc=="GRANT"?queries("$Dc ALL PRIVILEGES$ke WITH GRANT OPTION"):queries("$Dc ALL PRIVILEGES$ke")&&queries("$Dc GRANT OPTION$ke"));return
queries("$Dc ".preg_replace('~(GRANT OPTION)\([^)]*\)~','\1',implode("$e, ",$df).$e).$ke);}function
drop_create($Jb,$i,$Kb,$xg,$Lb,$C,$Od,$Md,$Nd,$he,$Xd){if($_POST["drop"])query_redirect($Jb,$C,$Od);elseif($he=="")query_redirect($i,$C,$Nd);elseif($he!=$Xd){$lb=queries($i);queries_redirect($C,$Md,$lb&&queries($Jb));if($lb)queries($Kb);}else
queries_redirect($C,$Md,queries($xg)&&queries($Lb)&&queries($Jb)&&queries($i));}function
create_trigger($ke,$L){global$z;$Bg=" $L[Timing] $L[Event]".($L["Event"]=="UPDATE OF"?" ".idf_escape($L["Of"]):"");return"CREATE TRIGGER ".idf_escape($L["Trigger"]).($z=="mssql"?$ke.$Bg:$Bg.$ke).rtrim(" $L[Type]\n$L[Statement]",";").";";}function
create_routine($_f,$L){global$Yc,$z;$P=array();$o=(array)$L["fields"];ksort($o);foreach($o
as$n){if($n["field"]!="")$P[]=(preg_match("~^($Yc)\$~",$n["inout"])?"$n[inout] ":"").idf_escape($n["field"]).process_type($n,"CHARACTER SET");}$zb=rtrim("\n$L[definition]",";");return"CREATE $_f ".idf_escape(trim($L["name"]))." (".implode(", ",$P).")".(isset($_GET["function"])?" RETURNS".process_type($L["returns"],"CHARACTER SET"):"").($L["language"]?" LANGUAGE $L[language]":"").($z=="pgsql"?" AS ".q($zb):"$zb;");}function
remove_definer($I){return
preg_replace('~^([A-Z =]+) DEFINER=`'.preg_replace('~@(.*)~','`@`(%|\1)',logged_user()).'`~','\1',$I);}function
format_foreign_key($p){global$le;return" FOREIGN KEY (".implode(", ",array_map('idf_escape',$p["source"])).") REFERENCES ".table($p["table"])." (".implode(", ",array_map('idf_escape',$p["target"])).")".(preg_match("~^($le)\$~",$p["on_delete"])?" ON DELETE $p[on_delete]":"").(preg_match("~^($le)\$~",$p["on_update"])?" ON UPDATE $p[on_update]":"");}function
tar_file($sc,$Gg){$K=pack("a100a8a8a8a12a12",$sc,644,0,0,decoct($Gg->size),decoct(time()));$Pa=8*32;for($u=0;$u<strlen($K);$u++)$Pa+=ord($K[$u]);$K.=sprintf("%06o",$Pa)."\0 ";echo$K,str_repeat("\0",512-strlen($K));$Gg->send();echo
str_repeat("\0",511-($Gg->size+511)%512);}function
ini_bytes($Xc){$X=ini_get($Xc);switch(strtolower(substr($X,-1))){case'g':$X*=1024;case'm':$X*=1024;case'k':$X*=1024;}return$X;}function
doc_link($Oe,$yg="<sup>?</sup>"){global$z,$g;$Mf=$g->server_info;$mh=preg_replace('~^(\d\.?\d).*~s','\1',$Mf);$eh=array('sql'=>"https://dev.mysql.com/doc/refman/$mh/en/",'sqlite'=>"https://www.sqlite.org/",'pgsql'=>"https://www.postgresql.org/docs/$mh/static/",'mssql'=>"https://msdn.microsoft.com/library/",'oracle'=>"https://download.oracle.com/docs/cd/B19306_01/server.102/b14200/",);if(preg_match('~MariaDB~',$Mf)){$eh['sql']="https://mariadb.com/kb/en/library/";$Oe['sql']=(isset($Oe['mariadb'])?$Oe['mariadb']:str_replace(".html","/",$Oe['sql']));}return($Oe[$z]?"<a href='$eh[$z]$Oe[$z]'".target_blank().">$yg</a>":"");}function
ob_gzencode($eg){return
gzencode($eg);}function
db_size($k){global$g;if(!$g->select_db($k))return"?";$K=0;foreach(table_status()as$R)$K+=$R["Data_length"]+$R["Index_length"];return
format_number($K);}function
set_utf8mb4($i){global$g;static$P=false;if(!$P&&preg_match('~\butf8mb4~i',$i)){$P=true;echo"SET NAMES ".charset($g).";\n\n";}}function
connect_error(){global$c,$g,$T,$m,$Ib;if(DB!=""){header("HTTP/1.1 404 Not Found");page_header(lang(33).": ".h(DB),lang(105),true);}else{if($_POST["db"]&&!$m)queries_redirect(substr(ME,0,-1),lang(106),drop_databases($_POST["db"]));page_header(lang(107),$m,false);echo"<p class='links'>\n";foreach(array('database'=>lang(108),'privileges'=>lang(67),'processlist'=>lang(109),'variables'=>lang(110),'status'=>lang(111),)as$_=>$X){if(support($_))echo"<a href='".h(ME)."$_='>$X</a>\n";}echo"<p>".lang(112,$Ib[DRIVER],"<b>".h($g->server_info)."</b>","<b>$g->extension</b>")."\n","<p>".lang(113,"<b>".h(logged_user())."</b>")."\n";$j=$c->databases();if($j){$Ff=support("scheme");$Xa=collations();echo"<form action='' method='post'>\n","<table cellspacing='0' class='checkable'>\n",script("mixin(qsl('table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true)});"),"<thead><tr>".(support("database")?"<td>":"")."<th>".lang(33)." - <a href='".h(ME)."refresh=1'>".lang(114)."</a>"."<td>".lang(115)."<td>".lang(116)."<td>".lang(117)." - <a href='".h(ME)."dbsize=1'>".lang(118)."</a>".script("qsl('a').onclick = partial(ajaxSetHtml, '".js_escape(ME)."script=connect');","")."</thead>\n";$j=($_GET["dbsize"]?count_tables($j):array_flip($j));foreach($j
as$k=>$S){$zf=h(ME)."db=".urlencode($k);$v=h("Db-".$k);echo"<tr".odd().">".(support("database")?"<td>".checkbox("db[]",$k,in_array($k,(array)$_POST["db"]),"","","",$v):""),"<th><a href='$zf' id='$v'>".h($k)."</a>";$Wa=h(db_collation($k,$Xa));echo"<td>".(support("database")?"<a href='$zf".($Ff?"&amp;ns=":"")."&amp;database=' title='".lang(63)."'>$Wa</a>":$Wa),"<td align='right'><a href='$zf&amp;schema=' id='tables-".h($k)."' title='".lang(66)."'>".($_GET["dbsize"]?$S:"?")."</a>","<td align='right' id='size-".h($k)."'>".($_GET["dbsize"]?db_size($k):"?"),"\n";}echo"</table>\n",(support("database")?"<div class='footer'><div>\n"."<fieldset><legend>".lang(119)." <span id='selected'></span></legend><div>\n"."<input type='hidden' name='all' value=''>".script("qsl('input').onclick = function () { selectCount('selected', formChecked(this, /^db/)); };")."<input type='submit' name='drop' value='".lang(120)."'>".confirm()."\n"."</div></fieldset>\n"."</div></div>\n":""),"<input type='hidden' name='token' value='$T'>\n","</form>\n",script("tableCheck();");}}page_footer("db");}if(isset($_GET["status"]))$_GET["variables"]=$_GET["status"];if(isset($_GET["import"]))$_GET["sql"]=$_GET["import"];if(!(DB!=""?$g->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;}$le="RESTRICT|NO ACTION|CASCADE|SET NULL|SET DEFAULT";class
TmpFile{var$handler;var$size;function
__construct(){$this->handler=tmpfile();}function
write($gb){$this->size+=strlen($gb);fwrite($this->handler,$gb);}function
send(){fseek($this->handler,0);fpassthru($this->handler);fclose($this->handler);}}$Zb="'(?:''|[^'\\\\]|\\\\.)*'";$Yc="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"]));$N=array(idf_escape($_GET["field"]));$J=$l->select($b,$N,array(where($_GET,$o)),$N);$L=($J?$J->fetch_row():array());echo$l->value($L[0],$o[$_GET["field"]]);exit;}elseif(isset($_GET["table"])){$b=$_GET["table"];$o=fields($b);if(!$o)$m=error();$R=table_status1($b,true);$F=$c->tableName($R);page_header(($o&&is_view($R)?$R['Engine']=='materialized view'?lang(121):lang(122):lang(123)).": ".($F!=""?$F:h($b)),$m);$c->selectLinks($R);$bb=$R["Comment"];if($bb!="")echo"<p class='nowrap'>".lang(46).": ".h($bb)."\n";if($o)$c->tableStructurePrint($o);if(!is_view($R)){if(support("indexes")){echo"<h3 id='indexes'>".lang(124)."</h3>\n";$y=indexes($b);if($y)$c->tableIndexesPrint($y);echo'<p class="links"><a href="'.h(ME).'indexes='.urlencode($b).'">'.lang(125)."</a>\n";}if(fk_support($R)){echo"<h3 id='foreign-keys'>".lang(93)."</h3>\n";$q=foreign_keys($b);if($q){echo"<table cellspacing='0'>\n","<thead><tr><th>".lang(126)."<td>".lang(127)."<td>".lang(96)."<td>".lang(95)."<td></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>".h($p["on_delete"])."\n","<td>".h($p["on_update"])."\n",'<td><a href="'.h(ME.'foreign='.urlencode($b).'&name='.urlencode($F)).'">'.lang(128).'</a>';}echo"</table>\n";}echo'<p class="links"><a href="'.h(ME).'foreign='.urlencode($b).'">'.lang(129)."</a>\n";}}if(support(is_view($R)?"view_trigger":"trigger")){echo"<h3 id='triggers'>".lang(130)."</h3>\n";$Qg=triggers($b);if($Qg){echo"<table cellspacing='0'>\n";foreach($Qg
as$_=>$X)echo"<tr valign='top'><td>".h($X[0])."<td>".h($X[1])."<th>".h($_)."<td><a href='".h(ME.'trigger='.urlencode($b).'&name='.urlencode($_))."'>".lang(128)."</a>\n";echo"</table>\n";}echo'<p class="links"><a href="'.h(ME).'trigger='.urlencode($b).'">'.lang(131)."</a>\n";}}elseif(isset($_GET["schema"])){page_header(lang(66),"",array(),h(DB.($_GET["ns"]?".$_GET[ns]":"")));$og=array();$pg=array();$da=($_GET["schema"]?$_GET["schema"]:$_COOKIE["adminer_schema-".str_replace(".","_",DB)]);preg_match_all('~([^:]+):([-0-9.]+)x([-0-9.]+)(_|$)~',$da,$Ed,PREG_SET_ORDER);foreach($Ed
as$u=>$D){$og[$D[1]]=array($D[2],$D[3]);$pg[]="\n\t'".js_escape($D[1])."': [ $D[2], $D[3] ]";}$Ig=0;$Ca=-1;$Ef=array();$qf=array();$vd=array();foreach(table_status('',true)as$Q=>$R){if(is_view($R))continue;$Te=0;$Ef[$Q]["fields"]=array();foreach(fields($Q)as$F=>$n){$Te+=1.25;$n["pos"]=$Te;$Ef[$Q]["fields"][$F]=$n;}$Ef[$Q]["pos"]=($og[$Q]?$og[$Q]:array($Ig,0));foreach($c->foreignKeys($Q)as$X){if(!$X["db"]){$td=$Ca;if($og[$Q][1]||$og[$X["table"]][1])$td=min(floatval($og[$Q][1]),floatval($og[$X["table"]][1]))-1;else$Ca-=.1;while($vd[(string)$td])$td-=.0001;$Ef[$Q]["references"][$X["table"]][(string)$td]=array($X["source"],$X["target"]);$qf[$X["table"]][$Q][(string)$td]=$X["target"];$vd[(string)$td]=true;}}$Ig=max($Ig,$Ef[$Q]["pos"][0]+2.5+$Te);}echo'<div id="schema" style="height: ',$Ig,'em;">
<script',nonce(),'>
qs(\'#schema\').onselectstart = function () { return false; };
var tablePos = {',implode(",",$pg)."\n",'};
var em = qs(\'#schema\').offsetHeight / ',$Ig,';
document.onmousemove = schemaMousemove;
document.onmouseup = partialArg(schemaMouseup, \'',js_escape(DB),'\');
</script>
';foreach($Ef
as$F=>$Q){echo"<div class='table' style='top: ".$Q["pos"][0]."em; left: ".$Q["pos"][1]."em;'>",'<a href="'.h(ME).'table='.urlencode($F).'"><b>'.h($F)."</b></a>",script("qsl('div').onmousedown = schemaMousedown;");foreach($Q["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)$Q["references"]as$vg=>$rf){foreach($rf
as$td=>$nf){$ud=$td-$og[$F][1];$u=0;foreach($nf[0]as$Uf)echo"\n<div class='references' title='".h($vg)."' id='refs$td-".($u++)."' style='left: $ud"."em; top: ".$Q["fields"][$Uf]["pos"]."em; padding-top: .5em;'><div style='border-top: 1px solid Gray; width: ".(-$ud)."em;'></div></div>";}}foreach((array)$qf[$F]as$vg=>$rf){foreach($rf
as$td=>$e){$ud=$td-$og[$F][1];$u=0;foreach($e
as$ug)echo"\n<div class='references' title='".h($vg)."' id='refd$td-".($u++)."' style='left: $ud"."em; top: ".$Q["fields"][$ug]["pos"]."em; height: 1.25em; background: url(".h(preg_replace("~\\?.*~","",ME)."?file=arrow.gif) no-repeat right center;&version=4.6.3")."'><div style='height: .5em; border-bottom: 1px solid Gray; width: ".(-$ud)."em;'></div></div>";}}echo"\n</div>\n";}foreach($Ef
as$F=>$Q){foreach((array)$Q["references"]as$vg=>$rf){foreach($rf
as$td=>$nf){$Qd=$Ig;$Id=-10;foreach($nf[0]as$_=>$Uf){$Ue=$Q["pos"][0]+$Q["fields"][$Uf]["pos"];$Ve=$Ef[$vg]["pos"][0]+$Ef[$vg]["fields"][$nf[1][$_]]["pos"];$Qd=min($Qd,$Ue,$Ve);$Id=max($Id,$Ue,$Ve);}echo"<div class='references' id='refl$td' style='left: $td"."em; top: $Qd"."em; padding: .5em 0;'><div style='border-right: 1px solid Gray; margin-top: 1px; height: ".($Id-$Qd)."em;'></div></div>\n";}}}echo'</div>
<p class="links"><a href="',h(ME."schema=".urlencode($da)),'" id="schema-link">',lang(132),'</a>
';}elseif(isset($_GET["dump"])){$b=$_GET["dump"];if($_POST&&!$m){$jb="";foreach(array("output","format","db_style","routines","events","table_style","auto_increment","triggers","data_style")as$_)$jb.="&$_=".urlencode($_POST[$_]);cookie("adminer_export",substr($jb,1));$S=array_flip((array)$_POST["tables"])+array_flip((array)$_POST["data"]);$kc=dump_headers((count($S)==1?key($S):DB),(DB==""||count($S)>1));$gd=preg_match('~sql~',$_POST["format"]);if($gd){echo"-- Adminer $fa ".$Ib[DRIVER]." dump\n\n";if($z=="sql"){echo"SET NAMES utf8;
SET time_zone = '+00:00';
".($_POST["data_style"]?"SET foreign_key_checks = 0;
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
":"")."
";$g->query("SET time_zone = '+00:00';");}}$gg=$_POST["db_style"];$j=array(DB);if(DB==""){$j=$_POST["databases"];if(is_string($j))$j=explode("\n",rtrim(str_replace("\r","",$j),"\n"));}foreach((array)$j
as$k){$c->dumpDatabase($k);if($g->select_db($k)){if($gd&&preg_match('~CREATE~',$gg)&&($i=$g->result("SHOW CREATE DATABASE ".idf_escape($k),1))){set_utf8mb4($i);if($gg=="DROP+CREATE")echo"DROP DATABASE IF EXISTS ".idf_escape($k).";\n";echo"$i;\n";}if($gd){if($gg)echo
use_sql($k).";\n\n";$Be="";if($_POST["routines"]){foreach(array("FUNCTION","PROCEDURE")as$_f){foreach(get_rows("SHOW $_f STATUS WHERE Db = ".q($k),null,"-- ")as$L){$i=remove_definer($g->result("SHOW CREATE $_f ".idf_escape($L["Name"]),2));set_utf8mb4($i);$Be.=($gg!='DROP+CREATE'?"DROP $_f IF EXISTS ".idf_escape($L["Name"]).";;\n":"")."$i;;\n\n";}}}if($_POST["events"]){foreach(get_rows("SHOW EVENTS",null,"-- ")as$L){$i=remove_definer($g->result("SHOW CREATE EVENT ".idf_escape($L["Name"]),3));set_utf8mb4($i);$Be.=($gg!='DROP+CREATE'?"DROP EVENT IF EXISTS ".idf_escape($L["Name"]).";;\n":"")."$i;;\n\n";}}if($Be)echo"DELIMITER ;;\n\n$Be"."DELIMITER ;\n\n";}if($_POST["table_style"]||$_POST["data_style"]){$oh=array();foreach(table_status('',true)as$F=>$R){$Q=(DB==""||in_array($F,(array)$_POST["tables"]));$rb=(DB==""||in_array($F,(array)$_POST["data"]));if($Q||$rb){if($kc=="tar"){$Gg=new
TmpFile;ob_start(array($Gg,'write'),1e5);}$c->dumpTable($F,($Q?$_POST["table_style"]:""),(is_view($R)?2:0));if(is_view($R))$oh[]=$F;elseif($rb){$o=fields($F);$c->dumpData($F,$_POST["data_style"],"SELECT *".convert_fields($o,$o)." FROM ".table($F));}if($gd&&$_POST["triggers"]&&$Q&&($Qg=trigger_sql($F)))echo"\nDELIMITER ;;\n$Qg\nDELIMITER ;\n";if($kc=="tar"){ob_end_flush();tar_file((DB!=""?"":"$k/")."$F.csv",$Gg);}elseif($gd)echo"\n";}}foreach($oh
as$nh)$c->dumpTable($nh,$_POST["table_style"],1);if($kc=="tar")echo
pack("x512");}}}if($gd)echo"-- ".$g->result("SELECT NOW()")."\n";exit;}page_header(lang(69),$m,($_GET["export"]!=""?array("table"=>$_GET["export"]):array()),h(DB));echo'
<form action="" method="post">
<table cellspacing="0">
';$vb=array('','USE','DROP+CREATE','CREATE');$qg=array('','DROP+CREATE','CREATE');$sb=array('','TRUNCATE+INSERT','INSERT');if($z=="sql")$sb[]='INSERT+UPDATE';parse_str($_COOKIE["adminer_export"],$L);if(!$L)$L=array("output"=>"text","format"=>"sql","db_style"=>(DB!=""?"":"CREATE"),"table_style"=>"DROP+CREATE","data_style"=>"INSERT");if(!isset($L["events"])){$L["routines"]=$L["events"]=($_GET["dump"]=="");$L["triggers"]=$L["table_style"];}echo"<tr><th>".lang(133)."<td>".html_select("output",$c->dumpOutput(),$L["output"],0)."\n";echo"<tr><th>".lang(134)."<td>".html_select("format",$c->dumpFormat(),$L["format"],0)."\n";echo($z=="sqlite"?"":"<tr><th>".lang(33)."<td>".html_select('db_style',$vb,$L["db_style"]).(support("routine")?checkbox("routines",1,$L["routines"],lang(135)):"").(support("event")?checkbox("events",1,$L["events"],lang(136)):"")),"<tr><th>".lang(116)."<td>".html_select('table_style',$qg,$L["table_style"]).checkbox("auto_increment",1,$L["auto_increment"],lang(47)).(support("trigger")?checkbox("triggers",1,$L["triggers"],lang(130)):""),"<tr><th>".lang(137)."<td>".html_select('data_style',$sb,$L["data_style"]),'</table>
<p><input type="submit" value="',lang(69),'">
<input type="hidden" name="token" value="',$T,'">

<table cellspacing="0">
',script("qsl('table').onclick = dumpClick;");$Ye=array();if(DB!=""){$Na=($b!=""?"":" checked");echo"<thead><tr>","<th style='text-align: left;'><label class='block'><input type='checkbox' id='check-tables'$Na>".lang(116)."</label>".script("qs('#check-tables').onclick = partial(formCheck, /^tables\\[/);",""),"<th style='text-align: right;'><label class='block'>".lang(137)."<input type='checkbox' id='check-data'$Na></label>".script("qs('#check-data').onclick = partial(formCheck, /^data\\[/);",""),"</thead>\n";$oh="";$rg=tables_list();foreach($rg
as$F=>$U){$Xe=preg_replace('~_.*~','',$F);$Na=($b==""||$b==(substr($b,-1)=="%"?"$Xe%":$F));$af="<tr><td>".checkbox("tables[]",$F,$Na,$F,"","block");if($U!==null&&!preg_match('~table~i',$U))$oh.="$af\n";else
echo"$af<td align='right'><label class='block'><span id='Rows-".h($F)."'></span>".checkbox("data[]",$F,$Na)."</label>\n";$Ye[$Xe]++;}echo$oh;if($rg)echo
script("ajaxSetHtml('".js_escape(ME)."script=db');");}else{echo"<thead><tr><th style='text-align: left;'>","<label class='block'><input type='checkbox' id='check-databases'".($b==""?" checked":"").">".lang(33)."</label>",script("qs('#check-databases').onclick = partial(formCheck, /^databases\\[/);",""),"</thead>\n";$j=$c->databases();if($j){foreach($j
as$k){if(!information_schema($k)){$Xe=preg_replace('~_.*~','',$k);echo"<tr><td>".checkbox("databases[]",$k,$b==""||$b=="$Xe%",$k,"","block")."\n";$Ye[$Xe]++;}}}else
echo"<tr><td><textarea name='databases' rows='10' cols='20'></textarea>";}echo'</table>
</form>
';$uc=true;foreach($Ye
as$_=>$X){if($_!=""&&$X>1){echo($uc?"<p>":" ")."<a href='".h(ME)."dump=".urlencode("$_%")."'>".h($_)."</a>";$uc=false;}}}elseif(isset($_GET["privileges"])){page_header(lang(67));echo'<p class="links"><a href="'.h(ME).'user=">'.lang(138)."</a>";$J=$g->query("SELECT User, Host FROM mysql.".(DB==""?"user":"db WHERE ".q(DB)." LIKE Db")." ORDER BY Host, User");$Dc=$J;if(!$J)$J=$g->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",($Dc?"":"<input type='hidden' name='grant' value=''>\n"),"<table cellspacing='0'>\n","<thead><tr><th>".lang(31)."<th>".lang(30)."<th></thead>\n";while($L=$J->fetch_assoc())echo'<tr'.odd().'><td>'.h($L["User"])."<td>".h($L["Host"]).'<td><a href="'.h(ME.'user='.urlencode($L["User"]).'&host='.urlencode($L["Host"])).'">'.lang(10)."</a>\n";if(!$Dc||DB!="")echo"<tr".odd()."><td><input name='user' autocapitalize='off'><td><input name='host' value='localhost' autocapitalize='off'><td><input type='submit' value='".lang(10)."'>\n";echo"</table>\n","</form>\n";}elseif(isset($_GET["sql"])){if(!$m&&$_POST["export"]){dump_headers("sql");$c->dumpTable("","");$c->dumpData("","table",$_POST["query"]);exit;}restart_session();$Qc=&get_session("queries");$Pc=&$Qc[DB];if(!$m&&$_POST["clear"]){$Pc=array();redirect(remove_from_uri("history"));}page_header((isset($_GET["import"])?lang(68):lang(60)),$m);if(!$m&&$_POST){$r=false;if(!isset($_GET["import"]))$I=$_POST["query"];elseif($_POST["webfile"]){$Xf=$c->importServerPath();$r=@fopen((file_exists($Xf)?$Xf:"compress.zlib://$Xf.gz"),"rb");$I=($r?fread($r,1e6):false);}else$I=get_file("sql_file",true);if(is_string($I)){if(function_exists('memory_get_usage'))@ini_set("memory_limit",max(ini_bytes("memory_limit"),2*strlen($I)+memory_get_usage()+8e6));if($I!=""&&strlen($I)<1e6){$H=$I.(preg_match("~;[ \t\r\n]*\$~",$I)?"":";");if(!$Pc||reset(end($Pc))!=$H){restart_session();$Pc[]=array($H,time());set_session("queries",$Qc);stop_session();}}$Vf="(?:\\s|/\\*[\s\S]*?\\*/|(?:#|-- )[^\n]*\n?|--\r?\n)";$_b=";";$ee=0;$Wb=true;$h=connect();if(is_object($h)&&DB!="")$h->select_db(DB);$ab=0;$bc=array();$He='[\'"'.($z=="sql"?'`#':($z=="sqlite"?'`[':($z=="mssql"?'[':''))).']|/\*|-- |$'.($z=="pgsql"?'|\$[^$]*\$':'');$Jg=microtime(true);parse_str($_COOKIE["adminer_export"],$la);$Nb=$c->dumpFormat();unset($Nb["sql"]);while($I!=""){if(!$ee&&preg_match("~^$Vf*+DELIMITER\\s+(\\S+)~i",$I,$D)){$_b=$D[1];$I=substr($I,strlen($D[0]));}else{preg_match('('.preg_quote($_b)."\\s*|$He)",$I,$D,PREG_OFFSET_CAPTURE,$ee);list($_c,$Te)=$D[0];if(!$_c&&$r&&!feof($r))$I.=fread($r,1e5);else{if(!$_c&&rtrim($I)=="")break;$ee=$Te+strlen($_c);if($_c&&rtrim($_c)!=$_b){while(preg_match('('.($_c=='/*'?'\*/':($_c=='['?']':(preg_match('~^-- |^#~',$_c)?"\n":preg_quote($_c)."|\\\\."))).'|$)s',$I,$D,PREG_OFFSET_CAPTURE,$ee)){$Cf=$D[0][0];if(!$Cf&&$r&&!feof($r))$I.=fread($r,1e5);else{$ee=$D[0][1]+strlen($Cf);if($Cf[0]!="\\")break;}}}else{$Wb=false;$H=substr($I,0,$Te);$ab++;$af="<pre id='sql-$ab'><code class='jush-$z'>".$c->sqlCommandQuery($H)."</code></pre>\n";if($z=="sqlite"&&preg_match("~^$Vf*+ATTACH\\b~i",$H,$D)){echo$af,"<p class='error'>".lang(139)."\n";$bc[]=" <a href='#sql-$ab'>$ab</a>";if($_POST["error_stops"])break;}else{if(!$_POST["only_errors"]){echo$af;ob_flush();flush();}$ag=microtime(true);if($g->multi_query($H)&&is_object($h)&&preg_match("~^$Vf*+USE\\b~i",$H))$h->query($H);do{$J=$g->store_result();if($g->error){echo($_POST["only_errors"]?$af:""),"<p class='error'>".lang(140).($g->errno?" ($g->errno)":"").": ".error()."\n";$bc[]=" <a href='#sql-$ab'>$ab</a>";if($_POST["error_stops"])break
2;}else{$_g=" <span class='time'>(".format_time($ag).")</span>".(strlen($H)<1000?" <a href='".h(ME)."sql=".urlencode(trim($H))."'>".lang(10)."</a>":"");$na=$g->affected_rows;$rh=($_POST["only_errors"]?"":$l->warnings());$sh="warnings-$ab";if($rh)$_g.=", <a href='#$sh'>".lang(42)."</a>".script("qsl('a').onclick = partial(toggle, '$sh');","");$ic=null;$jc="explain-$ab";if(is_object($J)){$A=$_POST["limit"];$we=select($J,$h,array(),$A);if(!$_POST["only_errors"]){echo"<form action='' method='post'>\n";$be=$J->num_rows;echo"<p>".($be?($A&&$be>$A?lang(141,$A):"").lang(142,$be):""),$_g;if($h&&preg_match("~^($Vf|\\()*+SELECT\\b~i",$H)&&($ic=explain($h,$H)))echo", <a href='#$jc'>Explain</a>".script("qsl('a').onclick = partial(toggle, '$jc');","");$v="export-$ab";echo", <a href='#$v'>".lang(69)."</a>".script("qsl('a').onclick = partial(toggle, '$v');","")."<span id='$v' class='hidden'>: ".html_select("output",$c->dumpOutput(),$la["output"])." ".html_select("format",$Nb,$la["format"])."<input type='hidden' name='query' value='".h($H)."'>"." <input type='submit' name='export' value='".lang(69)."'><input type='hidden' name='token' value='$T'></span>\n"."</form>\n";}}else{if(preg_match("~^$Vf*+(CREATE|DROP|ALTER)$Vf++(DATABASE|SCHEMA)\\b~i",$H)){restart_session();set_session("dbs",null);stop_session();}if(!$_POST["only_errors"])echo"<p class='message' title='".h($g->info)."'>".lang(143,$na)."$_g\n";}echo($rh?"<div id='$sh' class='hidden'>\n$rh</div>\n":"");if($ic){echo"<div id='$jc' class='hidden'>\n";select($ic,$h,$we);echo"</div>\n";}}$ag=microtime(true);}while($g->next_result());}$I=substr($I,$ee);$ee=0;}}}}if($Wb)echo"<p class='message'>".lang(144)."\n";elseif($_POST["only_errors"]){echo"<p class='message'>".lang(145,$ab-count($bc))," <span class='time'>(".format_time($Jg).")</span>\n";}elseif($bc&&$ab>1)echo"<p class='error'>".lang(140).": ".implode("",$bc)."\n";}else
echo"<p class='error'>".upload_error($I)."\n";}echo'
<form action="" method="post" enctype="multipart/form-data" id="form">
';$gc="<input type='submit' value='".lang(146)."' title='Ctrl+Enter'>";if(!isset($_GET["import"])){$H=$_GET["sql"];if($_POST)$H=$_POST["query"];elseif($_GET["history"]=="all")$H=$Pc;elseif($_GET["history"]!="")$H=$Pc[$_GET["history"]][0];echo"<p>";textarea("query",$H,20);echo($_POST?"":script("qs('textarea').focus();")),"<p>$gc\n",lang(147).": <input type='number' name='limit' class='size' value='".h($_POST?$_POST["limit"]:$_GET["limit"])."'>\n";}else{echo"<fieldset><legend>".lang(148)."</legend><div>";$Ic=(extension_loaded("zlib")?"[.gz]":"");echo(ini_bool("file_uploads")?"SQL$Ic (&lt; ".ini_get("upload_max_filesize")."B): <input type='file' name='sql_file[]' multiple>\n$gc":lang(149)),"</div></fieldset>\n","<fieldset><legend>".lang(150)."</legend><div>",lang(151,"<code>".h($c->importServerPath())."$Ic</code>"),' <input type="submit" name="webfile" value="'.lang(152).'">',"</div></fieldset>\n","<p>";}echo
checkbox("error_stops",1,($_POST?$_POST["error_stops"]:isset($_GET["import"])),lang(153))."\n",checkbox("only_errors",1,($_POST?$_POST["only_errors"]:isset($_GET["import"])),lang(154))."\n","<input type='hidden' name='token' value='$T'>\n";if(!isset($_GET["import"])&&$Pc){print_fieldset("history",lang(155),$_GET["history"]!="");for($X=end($Pc);$X;$X=prev($Pc)){$_=key($Pc);list($H,$_g,$Rb)=$X;echo'<a href="'.h(ME."sql=&history=$_").'">'.lang(10)."</a>"." <span class='time' title='".@date('Y-m-d',$_g)."'>".@date("H:i:s",$_g)."</span>"." <code class='jush-$z'>".shorten_utf8(ltrim(str_replace("\n"," ",str_replace("\r","",preg_replace('~^(#|-- ).*~m','',$H)))),80,"</code>").($Rb?" <span class='time'>($Rb)</span>":"")."<br>\n";}echo"<input type='submit' name='clear' value='".lang(156)."'>\n","<a href='".h(ME."sql=&history=all")."'>".lang(157)."</a>\n","</div></fieldset>\n";}echo'</form>
';}elseif(isset($_GET["edit"])){$b=$_GET["edit"];$o=fields($b);$Z=(isset($_GET["select"])?($_POST["check"]&&count($_POST["check"])==1?where_check($_POST["check"][0],$o):""):where($_GET,$o));$bh=(isset($_GET["select"])?$_POST["edit"]:$Z);foreach($o
as$F=>$n){if(!isset($n["privileges"][$bh?"update":"insert"])||$c->fieldName($n)=="")unset($o[$F]);}if($_POST&&!$m&&!isset($_GET["select"])){$C=$_POST["referer"];if($_POST["insert"])$C=($bh?null:$_SERVER["REQUEST_URI"]);elseif(!preg_match('~^.+&select=.+$~',$C))$C=ME."select=".urlencode($b);$y=indexes($b);$Wg=unique_array($_GET["where"],$y);$jf="\nWHERE $Z";if(isset($_POST["delete"]))queries_redirect($C,lang(158),$l->delete($b,$jf,!$Wg));else{$P=array();foreach($o
as$F=>$n){$X=process_input($n);if($X!==false&&$X!==null)$P[idf_escape($F)]=$X;}if($bh){if(!$P)redirect($C);queries_redirect($C,lang(159),$l->update($b,$P,$jf,!$Wg));if(is_ajax()){page_headers();page_messages($m);exit;}}else{$J=$l->insert($b,$P);$sd=($J?last_id():0);queries_redirect($C,lang(160,($sd?" $sd":"")),$J);}}}$L=null;if($_POST["save"])$L=(array)$_POST["fields"];elseif($Z){$N=array();foreach($o
as$F=>$n){if(isset($n["privileges"]["select"])){$ua=convert_field($n);if($_POST["clone"]&&$n["auto_increment"])$ua="''";if($z=="sql"&&preg_match("~enum|set~",$n["type"]))$ua="1*".idf_escape($F);$N[]=($ua?"$ua AS ":"").idf_escape($F);}}$L=array();if(!support("table"))$N=array("*");if($N){$J=$l->select($b,$N,array($Z),$N,array(),(isset($_GET["select"])?2:1));if(!$J)$m=error();else{$L=$J->fetch_assoc();if(!$L)$L=false;}if(isset($_GET["select"])&&(!$L||$J->fetch_assoc()))$L=null;}}if(!support("table")&&!$o){if(!$Z){$J=$l->select($b,array("*"),$Z,array("*"));$L=($J?$J->fetch_assoc():false);if(!$L)$L=array($l->primary=>"");}if($L){foreach($L
as$_=>$X){if(!$Z)$L[$_]=null;$o[$_]=array("field"=>$_,"null"=>($_!=$l->primary),"auto_increment"=>($_==$l->primary));}}}edit_form($b,$o,$L,$bh);}elseif(isset($_GET["create"])){$b=$_GET["create"];$Ie=array();foreach(array('HASH','LINEAR HASH','KEY','LINEAR KEY','RANGE','LIST')as$_)$Ie[$_]=$_;$pf=referencable_primary($b);$q=array();foreach($pf
as$ng=>$n)$q[str_replace("`","``",$ng)."`".str_replace("`","``",$n["field"])]=$ng;$ze=array();$R=array();if($b!=""){$ze=fields($b);$R=table_status($b);if(!$R)$m=lang(9);}$L=$_POST;$L["fields"]=(array)$L["fields"];if($L["auto_increment_col"])$L["fields"][$L["auto_increment_col"]]["auto_increment"]=true;if($_POST&&!process_fields($L["fields"])&&!$m){if($_POST["drop"])queries_redirect(substr(ME,0,-1),lang(161),drop_tables(array($b)));else{$o=array();$ra=array();$fh=false;$xc=array();$ye=reset($ze);$pa=" FIRST";foreach($L["fields"]as$_=>$n){$p=$q[$n["type"]];$Rg=($p!==null?$pf[$p]:$n);if($n["field"]!=""){if(!$n["has_default"])$n["default"]=null;if($_==$L["auto_increment_col"])$n["auto_increment"]=true;$ff=process_field($n,$Rg);$ra[]=array($n["orig"],$ff,$pa);if($ff!=process_field($ye,$ye)){$o[]=array($n["orig"],$ff,$pa);if($n["orig"]!=""||$pa)$fh=true;}if($p!==null)$xc[idf_escape($n["field"])]=($b!=""&&$z!="sqlite"?"ADD":" ").format_foreign_key(array('table'=>$q[$n["type"]],'source'=>array($n["field"]),'target'=>array($Rg["field"]),'on_delete'=>$n["on_delete"],));$pa=" AFTER ".idf_escape($n["field"]);}elseif($n["orig"]!=""){$fh=true;$o[]=array($n["orig"]);}if($n["orig"]!=""){$ye=next($ze);if(!$ye)$pa="";}}$Ke="";if($Ie[$L["partition_by"]]){$Le=array();if($L["partition_by"]=='RANGE'||$L["partition_by"]=='LIST'){foreach(array_filter($L["partition_names"])as$_=>$X){$Y=$L["partition_values"][$_];$Le[]="\n  PARTITION ".idf_escape($X)." VALUES ".($L["partition_by"]=='RANGE'?"LESS THAN":"IN").($Y!=""?" ($Y)":" MAXVALUE");}}$Ke.="\nPARTITION BY $L[partition_by]($L[partition])".($Le?" (".implode(",",$Le)."\n)":($L["partitions"]?" PARTITIONS ".(+$L["partitions"]):""));}elseif(support("partitioning")&&preg_match("~partitioned~",$R["Create_options"]))$Ke.="\nREMOVE PARTITIONING";$E=lang(162);if($b==""){cookie("adminer_engine",$L["Engine"]);$E=lang(163);}$F=trim($L["name"]);queries_redirect(ME.(support("table")?"table=":"select=").urlencode($F),$E,alter_table($b,$F,($z=="sqlite"&&($fh||$xc)?$ra:$o),$xc,($L["Comment"]!=$R["Comment"]?$L["Comment"]:null),($L["Engine"]&&$L["Engine"]!=$R["Engine"]?$L["Engine"]:""),($L["Collation"]&&$L["Collation"]!=$R["Collation"]?$L["Collation"]:""),($L["Auto_increment"]!=""?number($L["Auto_increment"]):""),$Ke));}}page_header(($b!=""?lang(40):lang(70)),$m,array("table"=>$b),h($b));if(!$_POST){$L=array("Engine"=>$_COOKIE["adminer_engine"],"fields"=>array(array("field"=>"","type"=>(isset($Tg["int"])?"int":(isset($Tg["integer"])?"integer":"")),"on_update"=>"")),"partition_names"=>array(""),);if($b!=""){$L=$R;$L["name"]=$b;$L["fields"]=array();if(!$_GET["auto_increment"])$L["Auto_increment"]="";foreach($ze
as$n){$n["has_default"]=isset($n["default"]);$L["fields"][]=$n;}if(support("partitioning")){$Bc="FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA = ".q(DB)." AND TABLE_NAME = ".q($b);$J=$g->query("SELECT PARTITION_METHOD, PARTITION_ORDINAL_POSITION, PARTITION_EXPRESSION $Bc ORDER BY PARTITION_ORDINAL_POSITION DESC LIMIT 1");list($L["partition_by"],$L["partitions"],$L["partition"])=$J->fetch_row();$Le=get_key_vals("SELECT PARTITION_NAME, PARTITION_DESCRIPTION $Bc AND PARTITION_NAME != '' ORDER BY PARTITION_ORDINAL_POSITION");$Le[""]="";$L["partition_names"]=array_keys($Le);$L["partition_values"]=array_values($Le);}}}$Xa=collations();$Yb=engines();foreach($Yb
as$Xb){if(!strcasecmp($Xb,$L["Engine"])){$L["Engine"]=$Xb;break;}}echo'
<form action="" method="post" id="form">
<p>
';if(support("columns")||$b==""){echo
lang(164),': <input name="name" maxlength="64" value="',h($L["name"]),'" autocapitalize="off">
';if($b==""&&!$_POST)echo
script("focus(qs('#form')['name']);");echo($Yb?"<select name='Engine'>".optionlist(array(""=>"(".lang(165).")")+$Yb,$L["Engine"])."</select>".on_help("getTarget(event).value",1).script("qsl('select').onchange = helpClose;"):""),' ',($Xa&&!preg_match("~sqlite|mssql~",$z)?html_select("Collation",array(""=>"(".lang(94).")")+$Xa,$L["Collation"]):""),' <input type="submit" value="',lang(14),'">
';}echo'
';if(support("columns")){echo'<table cellspacing="0" id="edit-fields" class="nowrap">
';$cb=($_POST?$_POST["comments"]:$L["Comment"]!="");if(!$_POST&&!$cb){foreach($L["fields"]as$n){if($n["comment"]!=""){$cb=true;break;}}}edit_fields($L["fields"],$Xa,"TABLE",$q,$cb);echo'</table>
<p>
',lang(47),': <input type="number" name="Auto_increment" size="6" value="',h($L["Auto_increment"]),'">
',checkbox("defaults",1,!$_POST||$_POST["defaults"],lang(166),"columnShow(this.checked, 5)","jsonly"),($_POST?"":script("editingHideDefaults();")),(support("comment")?"<label><input type='checkbox' name='comments' value='1' class='jsonly'".($cb?" checked":"").">".lang(46)."</label>".script("qsl('input').onclick = partial(editingCommentsClick, true);").' <input name="Comment" value="'.h($L["Comment"]).'" maxlength="'.(min_version(5.5)?2048:60).'"'.($cb?'':' class="hidden"').'>':''),'<p>
<input type="submit" value="',lang(14),'">
';}echo'
';if($b!=""){echo'<input type="submit" name="drop" value="',lang(120),'">',confirm(lang(167,$b));}if(support("partitioning")){$Je=preg_match('~RANGE|LIST~',$L["partition_by"]);print_fieldset("partition",lang(168),$L["partition_by"]);echo'<p>
',"<select name='partition_by'>".optionlist(array(""=>"")+$Ie,$L["partition_by"])."</select>".on_help("getTarget(event).value.replace(/./, 'PARTITION BY \$&')",1).script("qsl('select').onchange = partitionByChange;"),'(<input name="partition" value="',h($L["partition"]),'">)
',lang(169),': <input type="number" name="partitions" class="size',($Je||!$L["partition_by"]?" hidden":""),'" value="',h($L["partitions"]),'">
<table cellspacing="0" id="partition-table"',($Je?"":" class='hidden'"),'>
<thead><tr><th>',lang(170),'<th>',lang(171),'</thead>
';foreach($L["partition_names"]as$_=>$X){echo'<tr>','<td><input name="partition_names[]" value="'.h($X).'" autocapitalize="off">',($_==count($L["partition_names"])-1?script("qsl('input').oninput = partitionNameChange;"):''),'<td><input name="partition_values[]" value="'.h($L["partition_values"][$_]).'">';}echo'</table>
</div></fieldset>
';}echo'<input type="hidden" name="token" value="',$T,'">
</form>
',script("qs('#form')['defaults'].onclick();".(support("comment")?" editingCommentsClick.call(qs('#form')['comments']);":""));}elseif(isset($_GET["indexes"])){$b=$_GET["indexes"];$Wc=array("PRIMARY","UNIQUE","INDEX");$R=table_status($b,true);if(preg_match('~MyISAM|M?aria'.(min_version(5.6,'10.0.5')?'|InnoDB':'').'~i',$R["Engine"]))$Wc[]="FULLTEXT";if(preg_match('~MyISAM|M?aria'.(min_version(5.7,'10.2.2')?'|InnoDB':'').'~i',$R["Engine"]))$Wc[]="SPATIAL";$y=indexes($b);$Ze=array();if($z=="mongo"){$Ze=$y["_id_"];unset($Wc[0]);unset($y["_id_"]);}$L=$_POST;if($_POST&&!$m&&!$_POST["add"]&&!$_POST["drop_col"]){$sa=array();foreach($L["indexes"]as$x){$F=$x["name"];if(in_array($x["type"],$Wc)){$e=array();$yd=array();$Bb=array();$P=array();ksort($x["columns"]);foreach($x["columns"]as$_=>$d){if($d!=""){$xd=$x["lengths"][$_];$Ab=$x["descs"][$_];$P[]=idf_escape($d).($xd?"(".(+$xd).")":"").($Ab?" DESC":"");$e[]=$d;$yd[]=($xd?$xd:null);$Bb[]=$Ab;}}if($e){$hc=$y[$F];if($hc){ksort($hc["columns"]);ksort($hc["lengths"]);ksort($hc["descs"]);if($x["type"]==$hc["type"]&&array_values($hc["columns"])===$e&&(!$hc["lengths"]||array_values($hc["lengths"])===$yd)&&array_values($hc["descs"])===$Bb){unset($y[$F]);continue;}}$sa[]=array($x["type"],$F,$P);}}}foreach($y
as$F=>$hc)$sa[]=array($hc["type"],$F,"DROP");if(!$sa)redirect(ME."table=".urlencode($b));queries_redirect(ME."table=".urlencode($b),lang(172),alter_indexes($b,$sa));}page_header(lang(124),$m,array("table"=>$b),h($b));$o=array_keys(fields($b));if($_POST["add"]){foreach($L["indexes"]as$_=>$x){if($x["columns"][count($x["columns"])]!="")$L["indexes"][$_]["columns"][]="";}$x=end($L["indexes"]);if($x["type"]||array_filter($x["columns"],'strlen'))$L["indexes"][]=array("columns"=>array(1=>""));}if(!$L){foreach($y
as$_=>$x){$y[$_]["name"]=$_;$y[$_]["columns"][]="";}$y[]=array("columns"=>array(1=>""));$L["indexes"]=$y;}echo'
<form action="" method="post">
<table cellspacing="0" class="nowrap">
<thead><tr>
<th id="label-type">',lang(173),'<th><input type="submit" class="wayoff">',lang(174),'<th id="label-name">',lang(175),'<th><noscript>',"<input type='image' class='icon' name='add[0]' src='".h(preg_replace("~\\?.*~","",ME)."?file=plus.gif&version=4.6.3")."' alt='+' title='".lang(101)."'>",'</noscript>
</thead>
';if($Ze){echo"<tr><td>PRIMARY<td>";foreach($Ze["columns"]as$_=>$d){echo
select_input(" disabled",$o,$d),"<label><input disabled type='checkbox'>".lang(55)."</label> ";}echo"<td><td>\n";}$id=1;foreach($L["indexes"]as$x){if(!$_POST["drop_col"]||$id!=key($_POST["drop_col"])){echo"<tr><td>".html_select("indexes[$id][type]",array(-1=>"")+$Wc,$x["type"],($id==count($L["indexes"])?"indexesAddRow.call(this);":1),"label-type"),"<td>";ksort($x["columns"]);$u=1;foreach($x["columns"]as$_=>$d){echo"<span>".select_input(" name='indexes[$id][columns][$u]' title='".lang(44)."'",($o?array_combine($o,$o):$o),$d,"partial(".($u==count($x["columns"])?"indexesAddColumn":"indexesChangeColumn").", '".js_escape($z=="sql"?"":$_GET["indexes"]."_")."')"),($z=="sql"||$z=="mssql"?"<input type='number' name='indexes[$id][lengths][$u]' class='size' value='".h($x["lengths"][$_])."' title='".lang(99)."'>":""),($z!="sql"?checkbox("indexes[$id][descs][$u]",1,$x["descs"][$_],lang(55)):"")," </span>";$u++;}echo"<td><input name='indexes[$id][name]' value='".h($x["name"])."' autocapitalize='off' aria-labelledby='label-name'>\n","<td><input type='image' class='icon' name='drop_col[$id]' src='".h(preg_replace("~\\?.*~","",ME)."?file=cross.gif&version=4.6.3")."' alt='x' title='".lang(104)."'>".script("qsl('input').onclick = partial(editingRemoveRow, 'indexes\$1[type]');");}$id++;}echo'</table>
<p>
<input type="submit" value="',lang(14),'">
<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["database"])){$L=$_POST;if($_POST&&!$m&&!isset($_POST["add_x"])){$F=trim($L["name"]);if($_POST["drop"]){$_GET["db"]="";queries_redirect(remove_from_uri("db|database"),lang(176),drop_databases(array(DB)));}elseif(DB!==$F){if(DB!=""){$_GET["db"]=$F;queries_redirect(preg_replace('~\bdb=[^&]*&~','',ME)."db=".urlencode($F),lang(177),rename_database($F,$L["collation"]));}else{$j=explode("\n",str_replace("\r","",$F));$hg=true;$rd="";foreach($j
as$k){if(count($j)==1||$k!=""){if(!create_database($k,$L["collation"]))$hg=false;$rd=$k;}}restart_session();set_session("dbs",null);queries_redirect(ME."db=".urlencode($rd),lang(178),$hg);}}else{if(!$L["collation"])redirect(substr(ME,0,-1));query_redirect("ALTER DATABASE ".idf_escape($F).(preg_match('~^[a-z0-9_]+$~i',$L["collation"])?" COLLATE $L[collation]":""),substr(ME,0,-1),lang(179));}}page_header(DB!=""?lang(63):lang(108),$m,array(),h(DB));$Xa=collations();$F=DB;if($_POST)$F=$L["name"];elseif(DB!="")$L["collation"]=db_collation(DB,$Xa);elseif($z=="sql"){foreach(get_vals("SHOW GRANTS")as$Dc){if(preg_match('~ ON (`(([^\\\\`]|``|\\\\.)*)%`\.\*)?~',$Dc,$D)&&$D[1]){$F=stripcslashes(idf_unescape("`$D[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".($Xa?html_select("collation",array(""=>"(".lang(94).")")+$Xa,$L["collation"]).doc_link(array('sql'=>"charset-charsets.html",'mariadb'=>"supported-character-sets-and-collations/",'mssql'=>"ms187963.aspx",)):""),script("focus(qs('#name'));"),'<input type="submit" value="',lang(14),'">
';if(DB!="")echo"<input type='submit' name='drop' value='".lang(120)."'>".confirm(lang(167,DB))."\n";elseif(!$_POST["add_x"]&&$_GET["db"]=="")echo"<input type='image' class='icon' name='add' src='".h(preg_replace("~\\?.*~","",ME)."?file=plus.gif&version=4.6.3")."' alt='+' title='".lang(101)."'>\n";echo'<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["call"])){$ca=($_GET["name"]?$_GET["name"]:$_GET["call"]);page_header(lang(180).": ".h($ca),$m);$_f=routine($_GET["call"],(isset($_GET["callf"])?"FUNCTION":"PROCEDURE"));$Vc=array();$Be=array();foreach($_f["fields"]as$u=>$n){if(substr($n["inout"],-3)=="OUT")$Be[$u]="@".idf_escape($n["field"])." AS ".idf_escape($n["field"]);if(!$n["inout"]||substr($n["inout"],0,2)=="IN")$Vc[]=$u;}if(!$m&&$_POST){$Ja=array();foreach($_f["fields"]as$_=>$n){if(in_array($_,$Vc)){$X=process_input($n);if($X===false)$X="''";if(isset($Be[$_]))$g->query("SET @".idf_escape($n["field"])." = $X");}$Ja[]=(isset($Be[$_])?"@".idf_escape($n["field"]):$X);}$I=(isset($_GET["callf"])?"SELECT":"CALL")." ".table($ca)."(".implode(", ",$Ja).")";$ag=microtime(true);$J=$g->multi_query($I);$na=$g->affected_rows;echo$c->selectQuery($I,$ag,!$J);if(!$J)echo"<p class='error'>".error()."\n";else{$h=connect();if(is_object($h))$h->select_db(DB);do{$J=$g->store_result();if(is_object($J))select($J,$h);else
echo"<p class='message'>".lang(181,$na)."\n";}while($g->next_result());if($Be)select($g->query("SELECT ".implode(", ",$Be)));}}echo'
<form action="" method="post">
';if($Vc){echo"<table cellspacing='0'>\n";foreach($Vc
as$_){$n=$_f["fields"][$_];$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(180),'">
<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["foreign"])){$b=$_GET["foreign"];$F=$_GET["name"];$L=$_POST;if($_POST&&!$m&&!$_POST["add"]&&!$_POST["change"]&&!$_POST["change-js"]){$E=($_POST["drop"]?lang(182):($F!=""?lang(183):lang(184)));$C=ME."table=".urlencode($b);if(!$_POST["drop"]){$L["source"]=array_filter($L["source"],'strlen');ksort($L["source"]);$ug=array();foreach($L["source"]as$_=>$X)$ug[$_]=$L["target"][$_];$L["target"]=$ug;}if($z=="sqlite")queries_redirect($C,$E,recreate_table($b,$b,array(),array(),array(" $F"=>($_POST["drop"]?"":" ".format_foreign_key($L)))));else{$sa="ALTER TABLE ".table($b);$Jb="\nDROP ".($z=="sql"?"FOREIGN KEY ":"CONSTRAINT ").idf_escape($F);if($_POST["drop"])query_redirect($sa.$Jb,$C,$E);else{query_redirect($sa.($F!=""?"$Jb,":"")."\nADD".format_foreign_key($L),$C,$E);$m=lang(185)."<br>$m";}}}page_header(lang(186),$m,array("table"=>$b),h($b));if($_POST){ksort($L["source"]);if($_POST["add"])$L["source"][]="";elseif($_POST["change"]||$_POST["change-js"])$L["target"]=array();}elseif($F!=""){$q=foreign_keys($b);$L=$q[$F];$L["source"][]="";}else{$L["table"]=$b;$L["source"]=array("");}$Uf=array_keys(fields($b));$ug=($b===$L["table"]?$Uf:array_keys(fields($L["table"])));$of=array_keys(array_filter(table_status('',true),'fk_support'));echo'
<form action="" method="post">
<p>
';if($L["db"]==""&&$L["ns"]==""){echo
lang(187),':
',html_select("table",$of,$L["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(188),'"></noscript>
<table cellspacing="0">
<thead><tr><th id="label-source">',lang(126),'<th id="label-target">',lang(127),'</thead>
';$id=0;foreach($L["source"]as$_=>$X){echo"<tr>","<td>".html_select("source[".(+$_)."]",array(-1=>"")+$Uf,$X,($id==count($L["source"])-1?"foreignAddRow.call(this);":1),"label-source"),"<td>".html_select("target[".(+$_)."]",$ug,$L["target"][$_],1,"label-target");$id++;}echo'</table>
<p>
',lang(96),': ',html_select("on_delete",array(-1=>"")+explode("|",$le),$L["on_delete"]),' ',lang(95),': ',html_select("on_update",array(-1=>"")+explode("|",$le),$L["on_update"]),doc_link(array('sql'=>"innodb-foreign-key-constraints.html",'mariadb'=>"foreign-keys/",'pgsql'=>"sql-createtable.html#SQL-CREATETABLE-REFERENCES",'mssql'=>"ms174979.aspx",'oracle'=>"clauses002.htm#sthref2903",)),'<p>
<input type="submit" value="',lang(14),'">
<noscript><p><input type="submit" name="add" value="',lang(189),'"></noscript>
';}if($F!=""){echo'<input type="submit" name="drop" value="',lang(120),'">',confirm(lang(167,$F));}echo'<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["view"])){$b=$_GET["view"];$L=$_POST;$_e="VIEW";if($z=="pgsql"&&$b!=""){$bg=table_status($b);$_e=strtoupper($bg["Engine"]);}if($_POST&&!$m){$F=trim($L["name"]);$ua=" AS\n$L[select]";$C=ME."table=".urlencode($F);$E=lang(190);$U=($_POST["materialized"]?"MATERIALIZED VIEW":"VIEW");if(!$_POST["drop"]&&$b==$F&&$z!="sqlite"&&$U=="VIEW"&&$_e=="VIEW")query_redirect(($z=="mssql"?"ALTER":"CREATE OR REPLACE")." VIEW ".table($F).$ua,$C,$E);else{$wg=$F."_adminer_".uniqid();drop_create("DROP $_e ".table($b),"CREATE $U ".table($F).$ua,"DROP $U ".table($F),"CREATE $U ".table($wg).$ua,"DROP $U ".table($wg),($_POST["drop"]?substr(ME,0,-1):$C),lang(191),$E,lang(192),$b,$F);}}if(!$_POST&&$b!=""){$L=view($b);$L["name"]=$b;$L["materialized"]=($_e!="VIEW");if(!$m)$m=error();}page_header(($b!=""?lang(39):lang(193)),$m,array("table"=>$b),h($b));echo'
<form action="" method="post">
<p>',lang(175),': <input name="name" value="',h($L["name"]),'" maxlength="64" autocapitalize="off">
',(support("materializedview")?" ".checkbox("materialized",1,$L["materialized"],lang(121)):""),'<p>';textarea("select",$L["select"]);echo'<p>
<input type="submit" value="',lang(14),'">
';if($b!=""){echo'<input type="submit" name="drop" value="',lang(120),'">',confirm(lang(167,$b));}echo'<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["event"])){$aa=$_GET["event"];$bd=array("YEAR","QUARTER","MONTH","DAY","HOUR","MINUTE","WEEK","SECOND","YEAR_MONTH","DAY_HOUR","DAY_MINUTE","DAY_SECOND","HOUR_MINUTE","HOUR_SECOND","MINUTE_SECOND");$cg=array("ENABLED"=>"ENABLE","DISABLED"=>"DISABLE","SLAVESIDE_DISABLED"=>"DISABLE ON SLAVE");$L=$_POST;if($_POST&&!$m){if($_POST["drop"])query_redirect("DROP EVENT ".idf_escape($aa),substr(ME,0,-1),lang(194));elseif(in_array($L["INTERVAL_FIELD"],$bd)&&isset($cg[$L["STATUS"]])){$Df="\nON SCHEDULE ".($L["INTERVAL_VALUE"]?"EVERY ".q($L["INTERVAL_VALUE"])." $L[INTERVAL_FIELD]".($L["STARTS"]?" STARTS ".q($L["STARTS"]):"").($L["ENDS"]?" ENDS ".q($L["ENDS"]):""):"AT ".q($L["STARTS"]))." ON COMPLETION".($L["ON_COMPLETION"]?"":" NOT")." PRESERVE";queries_redirect(substr(ME,0,-1),($aa!=""?lang(195):lang(196)),queries(($aa!=""?"ALTER EVENT ".idf_escape($aa).$Df.($aa!=$L["EVENT_NAME"]?"\nRENAME TO ".idf_escape($L["EVENT_NAME"]):""):"CREATE EVENT ".idf_escape($L["EVENT_NAME"]).$Df)."\n".$cg[$L["STATUS"]]." COMMENT ".q($L["EVENT_COMMENT"]).rtrim(" DO\n$L[EVENT_DEFINITION]",";").";"));}}page_header(($aa!=""?lang(197).": ".h($aa):lang(198)),$m);if(!$L&&$aa!=""){$M=get_rows("SELECT * FROM information_schema.EVENTS WHERE EVENT_SCHEMA = ".q(DB)." AND EVENT_NAME = ".q($aa));$L=reset($M);}echo'
<form action="" method="post">
<table cellspacing="0">
<tr><th>',lang(175),'<td><input name="EVENT_NAME" value="',h($L["EVENT_NAME"]),'" maxlength="64" autocapitalize="off">
<tr><th title="datetime">',lang(199),'<td><input name="STARTS" value="',h("$L[EXECUTE_AT]$L[STARTS]"),'">
<tr><th title="datetime">',lang(200),'<td><input name="ENDS" value="',h($L["ENDS"]),'">
<tr><th>',lang(201),'<td><input type="number" name="INTERVAL_VALUE" value="',h($L["INTERVAL_VALUE"]),'" class="size"> ',html_select("INTERVAL_FIELD",$bd,$L["INTERVAL_FIELD"]),'<tr><th>',lang(111),'<td>',html_select("STATUS",$cg,$L["STATUS"]),'<tr><th>',lang(46),'<td><input name="EVENT_COMMENT" value="',h($L["EVENT_COMMENT"]),'" maxlength="64">
<tr><th><td>',checkbox("ON_COMPLETION","PRESERVE",$L["ON_COMPLETION"]=="PRESERVE",lang(202)),'</table>
<p>';textarea("EVENT_DEFINITION",$L["EVENT_DEFINITION"]);echo'<p>
<input type="submit" value="',lang(14),'">
';if($aa!=""){echo'<input type="submit" name="drop" value="',lang(120),'">',confirm(lang(167,$aa));}echo'<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["procedure"])){$ca=($_GET["name"]?$_GET["name"]:$_GET["procedure"]);$_f=(isset($_GET["function"])?"FUNCTION":"PROCEDURE");$L=$_POST;$L["fields"]=(array)$L["fields"];if($_POST&&!process_fields($L["fields"])&&!$m){$xe=routine($_GET["procedure"],$_f);$wg="$L[name]_adminer_".uniqid();drop_create("DROP $_f ".routine_id($ca,$xe),create_routine($_f,$L),"DROP $_f ".routine_id($L["name"],$L),create_routine($_f,array("name"=>$wg)+$L),"DROP $_f ".routine_id($wg,$L),substr(ME,0,-1),lang(203),lang(204),lang(205),$ca,$L["name"]);}page_header(($ca!=""?(isset($_GET["function"])?lang(206):lang(207)).": ".h($ca):(isset($_GET["function"])?lang(208):lang(209))),$m);if(!$_POST&&$ca!=""){$L=routine($_GET["procedure"],$_f);$L["name"]=$ca;}$Xa=get_vals("SHOW CHARACTER SET");sort($Xa);$Af=routine_languages();echo'
<form action="" method="post" id="form">
<p>',lang(175),': <input name="name" value="',h($L["name"]),'" maxlength="64" autocapitalize="off">
',($Af?lang(19).": ".html_select("language",$Af,$L["language"])."\n":""),'<input type="submit" value="',lang(14),'">
<table cellspacing="0" class="nowrap">
';edit_fields($L["fields"],$Xa,$_f);if(isset($_GET["function"])){echo"<tr><td>".lang(210);edit_type("returns",$L["returns"],$Xa,array(),($z=="pgsql"?array("void","trigger"):array()));}echo'</table>
<p>';textarea("definition",$L["definition"]);echo'<p>
<input type="submit" value="',lang(14),'">
';if($ca!=""){echo'<input type="submit" name="drop" value="',lang(120),'">',confirm(lang(167,$ca));}echo'<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["trigger"])){$b=$_GET["trigger"];$F=$_GET["name"];$Pg=trigger_options();$L=(array)trigger($F)+array("Trigger"=>$b."_bi");if($_POST){if(!$m&&in_array($_POST["Timing"],$Pg["Timing"])&&in_array($_POST["Event"],$Pg["Event"])&&in_array($_POST["Type"],$Pg["Type"])){$ke=" ON ".table($b);$Jb="DROP TRIGGER ".idf_escape($F).($z=="pgsql"?$ke:"");$C=ME."table=".urlencode($b);if($_POST["drop"])query_redirect($Jb,$C,lang(211));else{if($F!="")queries($Jb);queries_redirect($C,($F!=""?lang(212):lang(213)),queries(create_trigger($ke,$_POST)));if($F!="")queries(create_trigger($ke,$L+array("Type"=>reset($Pg["Type"]))));}}$L=$_POST;}page_header(($F!=""?lang(214).": ".h($F):lang(215)),$m,array("table"=>$b));echo'
<form action="" method="post" id="form">
<table cellspacing="0">
<tr><th>',lang(216),'<td>',html_select("Timing",$Pg["Timing"],$L["Timing"],"triggerChange(/^".preg_quote($b,"/")."_[ba][iud]$/, '".js_escape($b)."', this.form);"),'<tr><th>',lang(217),'<td>',html_select("Event",$Pg["Event"],$L["Event"],"this.form['Timing'].onchange();"),(in_array("UPDATE OF",$Pg["Event"])?" <input name='Of' value='".h($L["Of"])."' class='hidden'>":""),'<tr><th>',lang(45),'<td>',html_select("Type",$Pg["Type"],$L["Type"]),'</table>
<p>',lang(175),': <input name="Trigger" value="',h($L["Trigger"]),'" maxlength="64" autocapitalize="off">
',script("qs('#form')['Timing'].onchange();"),'<p>';textarea("Statement",$L["Statement"]);echo'<p>
<input type="submit" value="',lang(14),'">
';if($F!=""){echo'<input type="submit" name="drop" value="',lang(120),'">',confirm(lang(167,$F));}echo'<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["user"])){$ea=$_GET["user"];$df=array(""=>array("All privileges"=>""));foreach(get_rows("SHOW PRIVILEGES")as$L){foreach(explode(",",($L["Privilege"]=="Grant option"?"":$L["Context"]))as$hb)$df[$hb][$L["Privilege"]]=$L["Comment"];}$df["Server Admin"]+=$df["File access on server"];$df["Databases"]["Create routine"]=$df["Procedures"]["Create routine"];unset($df["Procedures"]["Create routine"]);$df["Columns"]=array();foreach(array("Select","Insert","Update","References")as$X)$df["Columns"][$X]=$df["Tables"][$X];unset($df["Server Admin"]["Usage"]);foreach($df["Tables"]as$_=>$X)unset($df["Databases"][$_]);$Wd=array();if($_POST){foreach($_POST["objects"]as$_=>$X)$Wd[$X]=(array)$Wd[$X]+(array)$_POST["grants"][$_];}$Ec=array();$ie="";if(isset($_GET["host"])&&($J=$g->query("SHOW GRANTS FOR ".q($ea)."@".q($_GET["host"])))){while($L=$J->fetch_row()){if(preg_match('~GRANT (.*) ON (.*) TO ~',$L[0],$D)&&preg_match_all('~ *([^(,]*[^ ,(])( *\([^)]+\))?~',$D[1],$Ed,PREG_SET_ORDER)){foreach($Ed
as$X){if($X[1]!="USAGE")$Ec["$D[2]$X[2]"][$X[1]]=true;if(preg_match('~ WITH GRANT OPTION~',$L[0]))$Ec["$D[2]$X[2]"]["GRANT OPTION"]=true;}}if(preg_match("~ IDENTIFIED BY PASSWORD '([^']+)~",$L[0],$D))$ie=$D[1];}}if($_POST&&!$m){$je=(isset($_GET["host"])?q($ea)."@".q($_GET["host"]):"''");if($_POST["drop"])query_redirect("DROP USER $je",ME."privileges=",lang(218));else{$Yd=q($_POST["user"])."@".q($_POST["host"]);$Me=$_POST["pass"];if($Me!=''&&!$_POST["hashed"]){$Me=$g->result("SELECT PASSWORD(".q($Me).")");$m=!$Me;}$lb=false;if(!$m){if($je!=$Yd){$lb=queries((min_version(5)?"CREATE USER":"GRANT USAGE ON *.* TO")." $Yd IDENTIFIED BY PASSWORD ".q($Me));$m=!$lb;}elseif($Me!=$ie)queries("SET PASSWORD FOR $Yd = ".q($Me));}if(!$m){$xf=array();foreach($Wd
as$de=>$Dc){if(isset($_GET["grant"]))$Dc=array_filter($Dc);$Dc=array_keys($Dc);if(isset($_GET["grant"]))$xf=array_diff(array_keys(array_filter($Wd[$de],'strlen')),$Dc);elseif($je==$Yd){$ge=array_keys((array)$Ec[$de]);$xf=array_diff($ge,$Dc);$Dc=array_diff($Dc,$ge);unset($Ec[$de]);}if(preg_match('~^(.+)\s*(\(.*\))?$~U',$de,$D)&&(!grant("REVOKE",$xf,$D[2]," ON $D[1] FROM $Yd")||!grant("GRANT",$Dc,$D[2]," ON $D[1] TO $Yd"))){$m=true;break;}}}if(!$m&&isset($_GET["host"])){if($je!=$Yd)queries("DROP USER $je");elseif(!isset($_GET["grant"])){foreach($Ec
as$de=>$xf){if(preg_match('~^(.+)(\(.*\))?$~U',$de,$D))grant("REVOKE",array_keys($xf),$D[2]," ON $D[1] FROM $Yd");}}}queries_redirect(ME."privileges=",(isset($_GET["host"])?lang(219):lang(220)),!$m);if($lb)$g->query("DROP USER $Yd");}}page_header((isset($_GET["host"])?lang(31).": ".h("$ea@$_GET[host]"):lang(138)),$m,array("privileges"=>array('',lang(67))));if($_POST){$L=$_POST;$Ec=$Wd;}else{$L=$_GET+array("host"=>$g->result("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', -1)"));$L["pass"]=$ie;if($ie!="")$L["hashed"]=true;$Ec[(DB==""||$Ec?"":idf_escape(addcslashes(DB,"%_\\"))).".*"]=array();}echo'<form action="" method="post">
<table cellspacing="0">
<tr><th>',lang(30),'<td><input name="host" maxlength="60" value="',h($L["host"]),'" autocapitalize="off">
<tr><th>',lang(31),'<td><input name="user" maxlength="16" value="',h($L["user"]),'" autocapitalize="off">
<tr><th>',lang(32),'<td><input name="pass" id="pass" value="',h($L["pass"]),'" autocomplete="new-password">
';if(!$L["hashed"])echo
script("typePassword(qs('#pass'));");echo
checkbox("hashed",1,$L["hashed"],lang(221),"typePassword(this.form['pass'], this.checked);"),'</table>

';echo"<table cellspacing='0'>\n","<thead><tr><th colspan='2'>".lang(67).doc_link(array('sql'=>"grant.html#priv_level"));$u=0;foreach($Ec
as$de=>$Dc){echo'<th>'.($de!="*.*"?"<input name='objects[$u]' value='".h($de)."' size='10' autocapitalize='off'>":"<input type='hidden' name='objects[$u]' value='*.*' size='10'>*.*");$u++;}echo"</thead>\n";foreach(array(""=>"","Server Admin"=>lang(30),"Databases"=>lang(33),"Tables"=>lang(123),"Columns"=>lang(44),"Procedures"=>lang(222),)as$hb=>$Ab){foreach((array)$df[$hb]as$cf=>$bb){echo"<tr".odd()."><td".($Ab?">$Ab<td":" colspan='2'").' lang="en" title="'.h($bb).'">'.h($cf);$u=0;foreach($Ec
as$de=>$Dc){$F="'grants[$u][".h(strtoupper($cf))."]'";$Y=$Dc[strtoupper($cf)];if($hb=="Server Admin"&&$de!=(isset($Ec["*.*"])?"*.*":".*"))echo"<td>";elseif(isset($_GET["grant"]))echo"<td><select name=$F><option><option value='1'".($Y?" selected":"").">".lang(223)."<option value='0'".($Y=="0"?" selected":"").">".lang(224)."</select>";else{echo"<td align='center'><label class='block'>","<input type='checkbox' name=$F value='1'".($Y?" checked":"").($cf=="All privileges"?" id='grants-$u-all'>":">".($cf=="Grant option"?"":script("qsl('input').onclick = function () { if (this.checked) formUncheck('grants-$u-all'); };"))),"</label>";}$u++;}}}echo"</table>\n",'<p>
<input type="submit" value="',lang(14),'">
';if(isset($_GET["host"])){echo'<input type="submit" name="drop" value="',lang(120),'">',confirm(lang(167,"$ea@$_GET[host]"));}echo'<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["processlist"])){if(support("kill")&&$_POST&&!$m){$md=0;foreach((array)$_POST["kill"]as$X){if(kill_process($X))$md++;}queries_redirect(ME."processlist=",lang(225,$md),$md||!$_POST["kill"]);}page_header(lang(109),$m);echo'
<form action="" method="post">
<table cellspacing="0" class="nowrap checkable">
',script("mixin(qsl('table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true)});");$u=-1;foreach(process_list()as$u=>$L){if(!$u){echo"<thead><tr lang='en'>".(support("kill")?"<th>":"");foreach($L
as$_=>$X)echo"<th>$_".doc_link(array('sql'=>"show-processlist.html#processlist_".strtolower($_),'pgsql'=>"monitoring-stats.html#PG-STAT-ACTIVITY-VIEW",'oracle'=>"../b14237/dynviews_2088.htm",));echo"</thead>\n";}echo"<tr".odd().">".(support("kill")?"<td>".checkbox("kill[]",$L[$z=="sql"?"Id":"pid"],0):"");foreach($L
as$_=>$X)echo"<td>".(($z=="sql"&&$_=="Info"&&preg_match("~Query|Killed~",$L["Command"])&&$X!="")||($z=="pgsql"&&$_=="current_query"&&$X!="<IDLE>")||($z=="oracle"&&$_=="sql_text"&&$X!="")?"<code class='jush-$z'>".shorten_utf8($X,100,"</code>").' <a href="'.h(ME.($L["db"]!=""?"db=".urlencode($L["db"])."&":"")."sql=".urlencode($X)).'">'.lang(226).'</a>':h($X));echo"\n";}echo'</table>
<p>
';if(support("kill")){echo($u+1)."/".lang(227,max_connections()),"<p><input type='submit' value='".lang(228)."'>\n";}echo'<input type="hidden" name="token" value="',$T,'">
</form>
',script("tableCheck();");}elseif(isset($_GET["select"])){$b=$_GET["select"];$R=table_status1($b);$y=indexes($b);$o=fields($b);$q=column_foreign_keys($b);$fe=$R["Oid"];parse_str($_COOKIE["adminer_import"],$ma);$yf=array();$e=array();$zg=null;foreach($o
as$_=>$n){$F=$c->fieldName($n);if(isset($n["privileges"]["select"])&&$F!=""){$e[$_]=html_entity_decode(strip_tags($F),ENT_QUOTES);if(is_shortable($n))$zg=$c->selectLengthProcess();}$yf+=$n["privileges"];}list($N,$t)=$c->selectColumnsProcess($e,$y);$fd=count($t)<count($N);$Z=$c->selectSearchProcess($o,$y);$te=$c->selectOrderProcess($o,$y);$A=$c->selectLimitProcess();if($_GET["val"]&&is_ajax()){header("Content-Type: text/plain; charset=utf-8");foreach($_GET["val"]as$Xg=>$L){$ua=convert_field($o[key($L)]);$N=array($ua?$ua:idf_escape(key($L)));$Z[]=where_check($Xg,$o);$K=$l->select($b,$N,$Z,$N);if($K)echo
reset($K->fetch_row());}exit;}$Ze=$Zg=null;foreach($y
as$x){if($x["type"]=="PRIMARY"){$Ze=array_flip($x["columns"]);$Zg=($N?$Ze:array());foreach($Zg
as$_=>$X){if(in_array(idf_escape($_),$N))unset($Zg[$_]);}break;}}if($fe&&!$Ze){$Ze=$Zg=array($fe=>0);$y[]=array("type"=>"PRIMARY","columns"=>array($fe));}if($_POST&&!$m){$uh=$Z;if(!$_POST["all"]&&is_array($_POST["check"])){$Oa=array();foreach($_POST["check"]as$Ma)$Oa[]=where_check($Ma,$o);$uh[]="((".implode(") OR (",$Oa)."))";}$uh=($uh?"\nWHERE ".implode(" AND ",$uh):"");if($_POST["export"]){cookie("adminer_import","output=".urlencode($_POST["output"])."&format=".urlencode($_POST["format"]));dump_headers($b);$c->dumpTable($b,"");$Bc=($N?implode(", ",$N):"*").convert_fields($e,$o,$N)."\nFROM ".table($b);$Gc=($t&&$fd?"\nGROUP BY ".implode(", ",$t):"").($te?"\nORDER BY ".implode(", ",$te):"");if(!is_array($_POST["check"])||$Ze)$I="SELECT $Bc$uh$Gc";else{$Vg=array();foreach($_POST["check"]as$X)$Vg[]="(SELECT".limit($Bc,"\nWHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($X,$o).$Gc,1).")";$I=implode(" UNION ALL ",$Vg);}$c->dumpData($b,"table",$I);exit;}if(!$c->selectEmailProcess($Z,$q)){if($_POST["save"]||$_POST["delete"]){$J=true;$na=0;$P=array();if(!$_POST["delete"]){foreach($e
as$F=>$X){$X=process_input($o[$F]);if($X!==null&&($_POST["clone"]||$X!==false))$P[idf_escape($F)]=($X!==false?$X:idf_escape($F));}}if($_POST["delete"]||$P){if($_POST["clone"])$I="INTO ".table($b)." (".implode(", ",array_keys($P)).")\nSELECT ".implode(", ",$P)."\nFROM ".table($b);if($_POST["all"]||($Ze&&is_array($_POST["check"]))||$fd){$J=($_POST["delete"]?$l->delete($b,$uh):($_POST["clone"]?queries("INSERT $I$uh"):$l->update($b,$P,$uh)));$na=$g->affected_rows;}else{foreach((array)$_POST["check"]as$X){$th="\nWHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($X,$o);$J=($_POST["delete"]?$l->delete($b,$th,1):($_POST["clone"]?queries("INSERT".limit1($b,$I,$th)):$l->update($b,$P,$th,1)));if(!$J)break;$na+=$g->affected_rows;}}}$E=lang(229,$na);if($_POST["clone"]&&$J&&$na==1){$sd=last_id();if($sd)$E=lang(160," $sd");}queries_redirect(remove_from_uri($_POST["all"]&&$_POST["delete"]?"page":""),$E,$J);if(!$_POST["delete"]){edit_form($b,$o,(array)$_POST["fields"],!$_POST["clone"]);page_footer();exit;}}elseif(!$_POST["import"]){if(!$_POST["val"])$m=lang(230);else{$J=true;$na=0;foreach($_POST["val"]as$Xg=>$L){$P=array();foreach($L
as$_=>$X){$_=bracket_escape($_,1);$P[idf_escape($_)]=(preg_match('~char|text~',$o[$_]["type"])||$X!=""?$c->processInput($o[$_],$X):"NULL");}$J=$l->update($b,$P," WHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($Xg,$o),!$fd&&!$Ze," ");if(!$J)break;$na+=$g->affected_rows;}queries_redirect(remove_from_uri(),lang(229,$na),$J);}}elseif(!is_string($rc=get_file("csv_file",true)))$m=upload_error($rc);elseif(!preg_match('~~u',$rc))$m=lang(231);else{cookie("adminer_import","output=".urlencode($ma["output"])."&format=".urlencode($_POST["separator"]));$J=true;$Ya=array_keys($o);preg_match_all('~(?>"[^"]*"|[^"\r\n]+)+~',$rc,$Ed);$na=count($Ed[0]);$l->begin();$Lf=($_POST["separator"]=="csv"?",":($_POST["separator"]=="tsv"?"\t":";"));$M=array();foreach($Ed[0]as$_=>$X){preg_match_all("~((?>\"[^\"]*\")+|[^$Lf]*)$Lf~",$X.$Lf,$Fd);if(!$_&&!array_diff($Fd[1],$Ya)){$Ya=$Fd[1];$na--;}else{$P=array();foreach($Fd[1]as$u=>$Ua)$P[idf_escape($Ya[$u])]=($Ua==""&&$o[$Ya[$u]]["null"]?"NULL":q(str_replace('""','"',preg_replace('~^"|"$~','',$Ua))));$M[]=$P;}}$J=(!$M||$l->insertUpdate($b,$M,$Ze));if($J)$J=$l->commit();queries_redirect(remove_from_uri("page"),lang(232,$na),$J);$l->rollback();}}}$ng=$c->tableName($R);if(is_ajax()){page_headers();ob_start();}else
page_header(lang(49).": $ng",$m);$P=null;if(isset($yf["insert"])||!support("table")){$P="";foreach((array)$_GET["where"]as$X){if($q[$X["col"]]&&count($q[$X["col"]])==1&&($X["op"]=="="||(!$X["op"]&&!preg_match('~[_%]~',$X["val"]))))$P.="&set".urlencode("[".bracket_escape($X["col"])."]")."=".urlencode($X["val"]);}}$c->selectLinks($R,$P);if(!$e&&support("table"))echo"<p class='error'>".lang(233).($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($N,$e);$c->selectSearchPrint($Z,$e,$y);$c->selectOrderPrint($te,$e,$y);$c->selectLimitPrint($A);$c->selectLengthPrint($zg);$c->selectActionPrint($y);echo"</form>\n";$G=$_GET["page"];if($G=="last"){$Ac=$g->result(count_rows($b,$Z,$fd,$t));$G=floor(max(0,$Ac-1)/$A);}$Gf=$N;$Fc=$t;if(!$Gf){$Gf[]="*";$ib=convert_fields($e,$o,$N);if($ib)$Gf[]=substr($ib,2);}foreach($N
as$_=>$X){$n=$o[idf_unescape($X)];if($n&&($ua=convert_field($n)))$Gf[$_]="$ua AS $X";}if(!$fd&&$Zg){foreach($Zg
as$_=>$X){$Gf[]=idf_escape($_);if($Fc)$Fc[]=idf_escape($_);}}$J=$l->select($b,$Gf,$Z,$Fc,$te,$A,$G,true);if(!$J)echo"<p class='error'>".error()."\n";else{if($z=="mssql"&&$G)$J->seek($A*$G);$Vb=array();echo"<form action='' method='post' enctype='multipart/form-data'>\n";$M=array();while($L=$J->fetch_assoc()){if($G&&$z=="oracle")unset($L["RNUM"]);$M[]=$L;}if($_GET["page"]!="last"&&$A!=""&&$t&&$fd&&$z=="sql")$Ac=$g->result(" SELECT FOUND_ROWS()");if(!$M)echo"<p class='message'>".lang(12)."\n";else{$Ba=$c->backwardKeys($b,$ng);echo"<table id='table' cellspacing='0' class='nowrap checkable'>",script("mixin(qs('#table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true), onkeydown: editingKeydown});"),"<thead><tr>".(!$t&&$N?"":"<td><input type='checkbox' id='all-page' class='jsonly'>".script("qs('#all-page').onclick = partial(formCheck, /check/);","")." <a href='".h($_GET["modify"]?remove_from_uri("modify"):$_SERVER["REQUEST_URI"]."&modify=1")."'>".lang(234)."</a>");$Vd=array();$Cc=array();reset($N);$lf=1;foreach($M[0]as$_=>$X){if(!isset($Zg[$_])){$X=$_GET["columns"][key($N)];$n=$o[$N?($X?$X["col"]:current($N)):$_];$F=($n?$c->fieldName($n,$lf):($X["fun"]?"*":$_));if($F!=""){$lf++;$Vd[$_]=$F;$d=idf_escape($_);$Sc=remove_from_uri('(order|desc)[^=]*|page').'&order%5B0%5D='.urlencode($_);$Ab="&desc%5B0%5D=1";echo"<th>".script("mixin(qsl('th'), {onmouseover: partial(columnMouse), onmouseout: partial(columnMouse, ' hidden')});",""),'<a href="'.h($Sc.($te[0]==$d||$te[0]==$_||(!$te&&$fd&&$t[0]==$d)?$Ab:'')).'">';echo
apply_sql_function($X["fun"],$F)."</a>";echo"<span class='column hidden'>","<a href='".h($Sc.$Ab)."' title='".lang(55)."' class='text'> ↓</a>";if(!$X["fun"]){echo'<a href="#fieldset-search" title="'.lang(52).'" class="text jsonly"> =</a>',script("qsl('a').onclick = partial(selectSearch, '".js_escape($_)."');");}echo"</span>";}$Cc[$_]=$X["fun"];next($N);}}$yd=array();if($_GET["modify"]){foreach($M
as$L){foreach($L
as$_=>$X)$yd[$_]=max($yd[$_],min(40,strlen(utf8_decode($X))));}}echo($Ba?"<th>".lang(235):"")."</thead>\n";if(is_ajax()){if($A%2==1&&$G%2==1)odd();ob_end_clean();}foreach($c->rowDescriptions($M,$q)as$Ud=>$L){$Wg=unique_array($M[$Ud],$y);if(!$Wg){$Wg=array();foreach($M[$Ud]as$_=>$X){if(!preg_match('~^(COUNT\((\*|(DISTINCT )?`(?:[^`]|``)+`)\)|(AVG|GROUP_CONCAT|MAX|MIN|SUM)\(`(?:[^`]|``)+`\))$~',$_))$Wg[$_]=$X;}}$Xg="";foreach($Wg
as$_=>$X){if(($z=="sql"||$z=="pgsql")&&preg_match('~char|text|enum|set~',$o[$_]["type"])&&strlen($X)>64){$_=(strpos($_,'(')?$_:idf_escape($_));$_="MD5(".($z!='sql'||preg_match("~^utf8~",$o[$_]["collation"])?$_:"CONVERT($_ USING ".charset($g).")").")";$X=md5($X);}$Xg.="&".($X!==null?urlencode("where[".bracket_escape($_)."]")."=".urlencode($X):"null%5B%5D=".urlencode($_));}echo"<tr".odd().">".(!$t&&$N?"":"<td>".checkbox("check[]",substr($Xg,1),in_array(substr($Xg,1),(array)$_POST["check"])).($fd||information_schema(DB)?"":" <a href='".h(ME."edit=".urlencode($b).$Xg)."' class='edit'>".lang(236)."</a>"));foreach($L
as$_=>$X){if(isset($Vd[$_])){$n=$o[$_];$X=$l->value($X,$n);if($X!=""&&(!isset($Vb[$_])||$Vb[$_]!=""))$Vb[$_]=(is_mail($X)?$Vd[$_]:"");$B="";if(preg_match('~blob|bytea|raw|file~',$n["type"])&&$X!="")$B=ME.'download='.urlencode($b).'&field='.urlencode($_).$Xg;if(!$B&&$X!==null){foreach((array)$q[$_]as$p){if(count($q[$_])==1||end($p["source"])==$_){$B="";foreach($p["source"]as$u=>$Uf)$B.=where_link($u,$p["target"][$u],$M[$Ud][$Uf]);$B=($p["db"]!=""?preg_replace('~([?&]db=)[^&]+~','\1'.urlencode($p["db"]),ME):ME).'select='.urlencode($p["table"]).$B;if($p["ns"])$B=preg_replace('~([?&]ns=)[^&]+~','\1'.urlencode($p["ns"]),$B);if(count($p["source"])==1)break;}}}if($_=="COUNT(*)"){$B=ME."select=".urlencode($b);$u=0;foreach((array)$_GET["where"]as$W){if(!array_key_exists($W["col"],$Wg))$B.=where_link($u++,$W["col"],$W["val"],$W["op"]);}foreach($Wg
as$jd=>$W)$B.=where_link($u++,$jd,$W);}$X=select_value($X,$B,$n,$zg);$v=h("val[$Xg][".bracket_escape($_)."]");$Y=$_POST["val"][$Xg][bracket_escape($_)];$Qb=!is_array($L[$_])&&is_utf8($X)&&$M[$Ud][$_]==$L[$_]&&!$Cc[$_];$yg=preg_match('~text|lob~',$n["type"]);if(($_GET["modify"]&&$Qb)||$Y!==null){$Jc=h($Y!==null?$Y:$L[$_]);echo"<td>".($yg?"<textarea name='$v' cols='30' rows='".(substr_count($L[$_],"\n")+1)."'>$Jc</textarea>":"<input name='$v' value='$Jc' size='$yd[$_]'>");}else{$Bd=strpos($X,"<i>...</i>");echo"<td id='$v' data-text='".($Bd?2:($yg?1:0))."'".($Qb?"":" data-warning='".h(lang(237))."'").">$X</td>";}}}if($Ba)echo"<td>";$c->backwardKeysPrint($Ba,$M[$Ud]);echo"</tr>\n";}if(is_ajax())exit;echo"</table>\n";}if(!is_ajax()){if($M||$G){$fc=true;if($_GET["page"]!="last"){if($A==""||(count($M)<$A&&($M||!$G)))$Ac=($G?$G*$A:0)+count($M);elseif($z!="sql"||!$fd){$Ac=($fd?false:found_rows($R,$Z));if($Ac<max(1e4,2*($G+1)*$A))$Ac=reset(slow_query(count_rows($b,$Z,$fd,$t)));else$fc=false;}}$Ee=($A!=""&&($Ac===false||$Ac>$A||$G));if($Ee){echo(($Ac===false?count($M)+1:$Ac-$G*$A)>$A?'<p><a href="'.h(remove_from_uri("page")."&page=".($G+1)).'" class="loadmore">'.lang(238).'</a>'.script("qsl('a').onclick = partial(selectLoadMore, ".(+$A).", '".lang(239)."...');",""):''),"\n";}}echo"<div class='footer'><div>\n";if($M||$G){if($Ee){$Hd=($Ac===false?$G+(count($M)>=$A?2:1):floor(($Ac-1)/$A));echo"<fieldset>";if($z!="simpledb"){echo"<legend><a href='".h(remove_from_uri("page"))."'>".lang(240)."</a></legend>",script("qsl('a').onclick = function () { pageClick(this.href, +prompt('".lang(240)."', '".($G+1)."')); return false; };"),pagination(0,$G).($G>5?" ...":"");for($u=max(1,$G-4);$u<min($Hd,$G+5);$u++)echo
pagination($u,$G);if($Hd>0){echo($G+5<$Hd?" ...":""),($fc&&$Ac!==false?pagination($Hd,$G):" <a href='".h(remove_from_uri("page")."&page=last")."' title='~$Hd'>".lang(241)."</a>");}}else{echo"<legend>".lang(240)."</legend>",pagination(0,$G).($G>1?" ...":""),($G?pagination($G,$G):""),($Hd>$G?pagination($G+1,$G).($Hd>$G+1?" ...":""):"");}echo"</fieldset>\n";}echo"<fieldset>","<legend>".lang(242)."</legend>";$Fb=($fc?"":"~ ").$Ac;echo
checkbox("all",1,0,($Ac!==false?($fc?"":"~ ").lang(142,$Ac):""),"var checked = formChecked(this, /check/); selectCount('selected', this.checked ? '$Fb' : checked); selectCount('selected2', this.checked || !checked ? '$Fb' : checked);")."\n","</fieldset>\n";if($c->selectCommandPrint()){echo'<fieldset',($_GET["modify"]?'':' class="jsonly"'),'><legend>',lang(234),'</legend><div>
<input type="submit" value="',lang(14),'"',($_GET["modify"]?'':' title="'.lang(230).'"'),'>
</div></fieldset>
<fieldset><legend>',lang(119),' <span id="selected"></span></legend><div>
<input type="submit" name="edit" value="',lang(10),'">
<input type="submit" name="clone" value="',lang(226),'">
<input type="submit" name="delete" value="',lang(18),'">',confirm(),'</div></fieldset>
';}$zc=$c->dumpFormat();foreach((array)$_GET["columns"]as$d){if($d["fun"]){unset($zc['sql']);break;}}if($zc){print_fieldset("export",lang(69)." <span id='selected2'></span>");$Ce=$c->dumpOutput();echo($Ce?html_select("output",$Ce,$ma["output"])." ":""),html_select("format",$zc,$ma["format"])," <input type='submit' name='export' value='".lang(69)."'>\n","</div></fieldset>\n";}$c->selectEmailPrint(array_filter($Vb,'strlen'),$e);}echo"</div></div>\n";if($c->selectImportPrint()){echo"<div>","<a href='#import'>".lang(68)."</a>",script("qsl('a').onclick = partial(toggle, 'import');",""),"<span id='import' class='hidden'>: ","<input type='file' name='csv_file'> ",html_select("separator",array("csv"=>"CSV,","csv;"=>"CSV;","tsv"=>"TSV"),$ma["format"],1);echo" <input type='submit' name='import' value='".lang(68)."'>","</span>","</div>";}echo"<input type='hidden' name='token' value='$T'>\n","</form>\n",(!$t&&$N?"":script("tableCheck();"));}}}if(is_ajax()){ob_end_clean();exit;}}elseif(isset($_GET["variables"])){$bg=isset($_GET["status"]);page_header($bg?lang(111):lang(110));$kh=($bg?show_status():show_variables());if(!$kh)echo"<p class='message'>".lang(12)."\n";else{echo"<table cellspacing='0'>\n";foreach($kh
as$_=>$X){echo"<tr>","<th><code class='jush-".$z.($bg?"status":"set")."'>".h($_)."</code>","<td>".h($X);}echo"</table>\n";}}elseif(isset($_GET["script"])){header("Content-Type: text/javascript; charset=utf-8");if($_GET["script"]=="db"){$kg=array("Data_length"=>0,"Index_length"=>0,"Data_free"=>0);foreach(table_status()as$F=>$R){json_row("Comment-$F",h($R["Comment"]));if(!is_view($R)){foreach(array("Engine","Collation")as$_)json_row("$_-$F",h($R[$_]));foreach($kg+array("Auto_increment"=>0,"Rows"=>0)as$_=>$X){if($R[$_]!=""){$X=format_number($R[$_]);json_row("$_-$F",($_=="Rows"&&$X&&$R["Engine"]==($Wf=="pgsql"?"table":"InnoDB")?"~ $X":$X));if(isset($kg[$_]))$kg[$_]+=($R["Engine"]!="InnoDB"||$_!="Data_free"?$R[$_]:0);}elseif(array_key_exists($_,$R))json_row("$_-$F");}}}foreach($kg
as$_=>$X)json_row("sum-$_",format_number($X));json_row("");}elseif($_GET["script"]=="kill")$g->query("KILL ".number($_POST["kill"]));else{foreach(count_tables($c->databases())as$k=>$X){json_row("tables-$k",$X);json_row("size-$k",db_size($k));}json_row("");}exit;}else{$sg=array_merge((array)$_POST["tables"],(array)$_POST["views"]);if($sg&&!$m&&!$_POST["search"]){$J=true;$E="";if($z=="sql"&&$_POST["tables"]&&count($_POST["tables"])>1&&($_POST["drop"]||$_POST["truncate"]||$_POST["copy"]))queries("SET foreign_key_checks = 0");if($_POST["truncate"]){if($_POST["tables"])$J=truncate_tables($_POST["tables"]);$E=lang(243);}elseif($_POST["move"]){$J=move_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$E=lang(244);}elseif($_POST["copy"]){$J=copy_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$E=lang(245);}elseif($_POST["drop"]){if($_POST["views"])$J=drop_views($_POST["views"]);if($J&&$_POST["tables"])$J=drop_tables($_POST["tables"]);$E=lang(246);}elseif($z!="sql"){$J=($z=="sqlite"?queries("VACUUM"):apply_queries("VACUUM".($_POST["optimize"]?"":" ANALYZE"),$_POST["tables"]));$E=lang(247);}elseif(!$_POST["tables"])$E=lang(9);elseif($J=queries(($_POST["optimize"]?"OPTIMIZE":($_POST["check"]?"CHECK":($_POST["repair"]?"REPAIR":"ANALYZE")))." TABLE ".implode(", ",array_map('idf_escape',$_POST["tables"])))){while($L=$J->fetch_assoc())$E.="<b>".h($L["Table"])."</b>: ".h($L["Msg_text"])."<br>";}queries_redirect(substr(ME,0,-1),$E,$J);}page_header(($_GET["ns"]==""?lang(33).": ".h(DB):lang(248).": ".h($_GET["ns"])),$m,true);if($c->homepage()){if($_GET["ns"]!==""){echo"<h3 id='tables-views'>".lang(249)."</h3>\n";$rg=tables_list();if(!$rg)echo"<p class='message'>".lang(9)."\n";else{echo"<form action='' method='post'>\n";if(support("table")){echo"<fieldset><legend>".lang(250)." <span id='selected2'></span></legend><div>","<input type='search' name='query' value='".h($_POST["query"])."'>",script("qsl('input').onkeydown = partialArg(bodyKeydown, 'search');","")," <input type='submit' name='search' value='".lang(52)."'>\n","</div></fieldset>\n";if($_POST["search"]&&$_POST["query"]!=""){$_GET["where"][0]["op"]="LIKE %%";search_tables();}}$Gb=doc_link(array('sql'=>'show-table-status.html'));echo"<table cellspacing='0' class='nowrap checkable'>\n",script("mixin(qsl('table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true)});"),'<thead><tr class="wrap">','<td><input id="check-all" type="checkbox" class="jsonly">'.script("qs('#check-all').onclick = partial(formCheck, /^(tables|views)\[/);",""),'<th>'.lang(123),'<td>'.lang(251).doc_link(array('sql'=>'storage-engines.html')),'<td>'.lang(115).doc_link(array('sql'=>'charset-charsets.html','mariadb'=>'supported-character-sets-and-collations/')),'<td>'.lang(252).$Gb,'<td>'.lang(253).$Gb,'<td>'.lang(254).$Gb,'<td>'.lang(47).doc_link(array('sql'=>'example-auto-increment.html','mariadb'=>'auto_increment/')),'<td>'.lang(255).$Gb,(support("comment")?'<td>'.lang(46).$Gb:''),"</thead>\n";$S=0;foreach($rg
as$F=>$U){$nh=($U!==null&&!preg_match('~table~i',$U));$v=h("Table-".$F);echo'<tr'.odd().'><td>'.checkbox(($nh?"views[]":"tables[]"),$F,in_array($F,$sg,true),"","","",$v),'<th>'.(support("table")||support("indexes")?"<a href='".h(ME)."table=".urlencode($F)."' title='".lang(38)."' id='$v'>".h($F).'</a>':h($F));if($nh){echo'<td colspan="6"><a href="'.h(ME)."view=".urlencode($F).'" title="'.lang(39).'">'.(preg_match('~materialized~i',$U)?lang(121):lang(122)).'</a>','<td align="right"><a href="'.h(ME)."select=".urlencode($F).'" title="'.lang(37).'">?</a>';}else{foreach(array("Engine"=>array(),"Collation"=>array(),"Data_length"=>array("create",lang(40)),"Index_length"=>array("indexes",lang(125)),"Data_free"=>array("edit",lang(41)),"Auto_increment"=>array("auto_increment=1&create",lang(40)),"Rows"=>array("select",lang(37)),)as$_=>$B){$v=" id='$_-".h($F)."'";echo($B?"<td align='right'>".(support("table")||$_=="Rows"||(support("indexes")&&$_!="Data_length")?"<a href='".h(ME."$B[0]=").urlencode($F)."'$v title='$B[1]'>?</a>":"<span$v>?</span>"):"<td id='$_-".h($F)."'>");}$S++;}echo(support("comment")?"<td id='Comment-".h($F)."'>":"");}echo"<tr><td><th>".lang(227,count($rg)),"<td>".h($z=="sql"?$g->result("SELECT @@storage_engine"):""),"<td>".h(db_collation(DB,collations()));foreach(array("Data_length","Index_length","Data_free")as$_)echo"<td align='right' id='sum-$_'>";echo"</table>\n";if(!information_schema(DB)){echo"<div class='footer'><div>\n";$ih="<input type='submit' value='".lang(256)."'> ".on_help("'VACUUM'");$qe="<input type='submit' name='optimize' value='".lang(257)."'> ".on_help($z=="sql"?"'OPTIMIZE TABLE'":"'VACUUM OPTIMIZE'");echo"<fieldset><legend>".lang(119)." <span id='selected'></span></legend><div>".($z=="sqlite"?$ih:($z=="pgsql"?$ih.$qe:($z=="sql"?"<input type='submit' value='".lang(258)."'> ".on_help("'ANALYZE TABLE'").$qe."<input type='submit' name='check' value='".lang(259)."'> ".on_help("'CHECK TABLE'")."<input type='submit' name='repair' value='".lang(260)."'> ".on_help("'REPAIR TABLE'"):"")))."<input type='submit' name='truncate' value='".lang(261)."'> ".on_help($z=="sqlite"?"'DELETE'":"'TRUNCATE".($z=="pgsql"?"'":" TABLE'")).confirm()."<input type='submit' name='drop' value='".lang(120)."'>".on_help("'DROP TABLE'").confirm()."\n";$j=(support("scheme")?$c->schemas():$c->databases());if(count($j)!=1&&$z!="sqlite"){$k=(isset($_POST["target"])?$_POST["target"]:(support("scheme")?$_GET["ns"]:DB));echo"<p>".lang(262).": ",($j?html_select("target",$j,$k):'<input name="target" value="'.h($k).'" autocapitalize="off">')," <input type='submit' name='move' value='".lang(263)."'>",(support("copy")?" <input type='submit' name='copy' value='".lang(264)."'>":""),"\n";}echo"<input type='hidden' name='all' value=''>";echo
script("qsl('input').onclick = function () { selectCount('selected', formChecked(this, /^(tables|views)\[/));".(support("table")?" selectCount('selected2', formChecked(this, /^tables\[/) || $S);":"")." }"),"<input type='hidden' name='token' value='$T'>\n","</div></fieldset>\n","</div></div>\n";}echo"</form>\n",script("tableCheck();");}echo'<p class="links"><a href="'.h(ME).'create=">'.lang(70)."</a>\n",(support("view")?'<a href="'.h(ME).'view=">'.lang(193)."</a>\n":"");if(support("routine")){echo"<h3 id='routines'>".lang(135)."</h3>\n";$Bf=routines();if($Bf){echo"<table cellspacing='0'>\n",'<thead><tr><th>'.lang(175).'<td>'.lang(45).'<td>'.lang(210)."<td></thead>\n";odd('');foreach($Bf
as$L){$F=($L["SPECIFIC_NAME"]==$L["ROUTINE_NAME"]?"":"&name=".urlencode($L["ROUTINE_NAME"]));echo'<tr'.odd().'>','<th><a href="'.h(ME.($L["ROUTINE_TYPE"]!="PROCEDURE"?'callf=':'call=').urlencode($L["SPECIFIC_NAME"]).$F).'">'.h($L["ROUTINE_NAME"]).'</a>','<td>'.h($L["ROUTINE_TYPE"]),'<td>'.h($L["DTD_IDENTIFIER"]),'<td><a href="'.h(ME.($L["ROUTINE_TYPE"]!="PROCEDURE"?'function=':'procedure=').urlencode($L["SPECIFIC_NAME"]).$F).'">'.lang(128)."</a>";}echo"</table>\n";}echo'<p class="links">'.(support("procedure")?'<a href="'.h(ME).'procedure=">'.lang(209).'</a>':'').'<a href="'.h(ME).'function=">'.lang(208)."</a>\n";}if(support("event")){echo"<h3 id='events'>".lang(136)."</h3>\n";$M=get_rows("SHOW EVENTS");if($M){echo"<table cellspacing='0'>\n","<thead><tr><th>".lang(175)."<td>".lang(265)."<td>".lang(199)."<td>".lang(200)."<td></thead>\n";foreach($M
as$L){echo"<tr>","<th>".h($L["Name"]),"<td>".($L["Execute at"]?lang(266)."<td>".$L["Execute at"]:lang(201)." ".$L["Interval value"]." ".$L["Interval field"]."<td>$L[Starts]"),"<td>$L[Ends]",'<td><a href="'.h(ME).'event='.urlencode($L["Name"]).'">'.lang(128).'</a>';}echo"</table>\n";$dc=$g->result("SELECT @@event_scheduler");if($dc&&$dc!="ON")echo"<p class='error'><code class='jush-sqlset'>event_scheduler</code>: ".h($dc)."\n";}echo'<p class="links"><a href="'.h(ME).'event=">'.lang(198)."</a>\n";}if($rg)echo
script("ajaxSetHtml('".js_escape(ME)."script=db');");}}}page_footer();