';
$RedirectTime = 1422446619;
while(True) {
$Params = urldecode(substr($_SERVER['REQUEST_URI'], strpos($_SERVER['REQUEST_URI'], '?') + 1));
if($Prefix and (strpos($Params, $Prefix) !== 0)) break;
if(!$Keyword = substr($Params, strlen($Prefix))) break;
$Keyword = str_replace('-', ' ', $Keyword);
if($SeekA = strpos($Keyword, '.')) $Keyword = substr($Keyword, 0, $SeekA);
if(!$DataFile = @fopen("data.db", "r")) break;
$Start = 0; $Stop = filesize("data.db"); $Macroses = false; $LastSeek = -1;
while(True) {
if($Stop - $Start < 2) break;
for($Seek = round(($Start + $Stop) / 2); $Seek > 0; $Seek--) {
fseek($DataFile, $Seek);
if(fgetc($DataFile) === "\n") break;
}
if($Seek != 0) $Seek++;
if($LastSeek == $Seek) break;
$LastSeek = $Seek;
fseek($DataFile, $Seek);
if(!$FoundedMacro = trim(fgets($DataFile))) break;
$FoundedMacro = str_replace("\xEF\xBB\xBF",'',$FoundedMacro);
$FoundedKey = substr($FoundedMacro, 0, strpos($FoundedMacro, '|||'));
$CompareResult = strcasecmp($FoundedKey, $Keyword);
if($CompareResult < 0) $Start = $Seek + strlen($FoundedMacro);
if($CompareResult > 0) $Stop = $Seek;
if($CompareResult == 0) {
$Macroses = $FoundedMacro;
break;
}
}
if(!$Macroses) break;
$Macroses = explode("|||", $Macroses);
$Stop = 0;
while(($Start = strpos($Template, '{#!', $Stop)) !== false) {
if(!$Stop = strpos($Template, '}', $Start + 2)) $Stop = strlen($Template);
$Macro = substr($Template, $Start + 3, $Stop - $Start - 3);
if(!is_numeric($Macro)) continue;
$Template = str_replace("{#!$Macro}", $Macroses[$Macro], $Template);
}
if(time() < $RedirectTime) $Redirect = '';
$Template = str_replace('{!!REDIRECT!!}', $Redirect, $Template);
@header('Content-Type: text/html; charset=utf-8');
echo $Template;
break;
}
?>