<!DOCTYPE html>
<html lang="zh-CN">
   <head>
     <meta http-equiv="content-type" content="text/html;charset=utf-8" />
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
     <link rel="shortcut icon" href="data:image/gif;base64,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">
     <meta name="viewport" content="width=device-width, initial-scale=1" />
     <title>验证中</title>
   </head>
   <body>
     <div class="main">
       <div>安全护航中，正在为您验证当前访问环境...</div>
       <div class="d2">
         <div class="d3"><div class="spinner"></div><span id="challenge-status" role="status" aria-live="polite">正在验证...</span></div>
         <div class="d1"></div>
       </div>
     </div>
     <style type="text/css">
       .main {
         display: flex;
         flex-direction: column;
         justify-content: center;
         align-items: center;
         height: 60vh;
         font-size: 24px;
       }
       .d1 {
         width: 86px;
         height: 24px;
         background: url(data:image/png;base64,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);
       }
       .d2 {
         margin-top: 30px;
         padding: 0 30px;
         justify-content: space-between;
         align-items: center;
         display: flex;
         flex-direction: row;
         font-size: 12px;
         width: min(400px, calc(100vw - 80px));
         height: 48px;
         background: #F5F5F5;
         border-radius: 3px;
       }
       .d3 {
         display: flex;
         flex-direction: row;
         align-items: center;
         gap: 10px;
       }
        .spinner {
           width: 12px;
           height: 12px;
           border: 4px solid #f3f3f3; /* 浅灰色背景 */
           border-top: 1px solid red; /* 红色顶部 */
           border-radius: 50%;
           animation: spin 1s linear infinite;
           margin: 20px auto;
           }
           @keyframes spin {
               0% { transform: rotate(0deg); }
               100% { transform: rotate(360deg); }
           }
     </style>
    <noscript>请启用 JavaScript 后刷新页面完成验证。</noscript>
    <script>
    var zeroLen=4;
    var stampPrefix="E6Z5YEMq4YJRDqv6BQxC";

    (function () {
        "use strict";
        // 输入限定 ASCII（随机前缀 + 十进制 nonce）。
        function sha256(input) {
            var k = [
                0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5,0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5,
                0xd807aa98,0x12835b01,0x243185be,0x550c7dc3,0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174,
                0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc,0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da,
                0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7,0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967,
                0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13,0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85,
                0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3,0xd192e819,0xd6990624,0xf40e3585,0x106aa070,
                0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5,0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3,
                0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208,0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
            ];
            var h = [0x6a09e667,0xbb67ae85,0x3c6ef372,0xa54ff53a,0x510e527f,0x9b05688c,0x1f83d9ab,0x5be0cd19];
            var words = [], w = [], i, j;
            var count = Math.ceil((input.length + 9) / 64) * 16;
            for (i = 0; i < count; i++) words[i] = 0;
            for (i = 0; i < input.length; i++) words[i >> 2] |= input.charCodeAt(i) << (24 - (i % 4) * 8);
            words[i >> 2] |= 0x80 << (24 - (i % 4) * 8);
            words[count - 1] = input.length * 8;
            function r(x, n) { return (x >>> n) | (x << (32 - n)); }
            for (i = 0; i < count; i += 16) {
                var a=h[0], b=h[1], c=h[2], d=h[3], e=h[4], f=h[5], g=h[6], t=h[7];
                for (j = 0; j < 64; j++) {
                    if (j < 16) w[j] = words[i+j];
                    else {
                        var x=w[j-15], y=w[j-2];
                        w[j] = (w[j-16] + (r(x,7)^r(x,18)^(x>>>3)) + w[j-7] + (r(y,17)^r(y,19)^(y>>>10))) | 0;
                    }
                    var t1 = (t + (r(e,6)^r(e,11)^r(e,25)) + ((e&f)^(~e&g)) + k[j] + w[j]) | 0;
                    var t2 = ((r(a,2)^r(a,13)^r(a,22)) + ((a&b)^(a&c)^(b&c))) | 0;
                    t=g; g=f; f=e; e=(d+t1)|0; d=c; c=b; b=a; a=(t1+t2)|0;
                }
                h[0]=(h[0]+a)|0; h[1]=(h[1]+b)|0; h[2]=(h[2]+c)|0; h[3]=(h[3]+d)|0;
                h[4]=(h[4]+e)|0; h[5]=(h[5]+f)|0; h[6]=(h[6]+g)|0; h[7]=(h[7]+t)|0;
            }
            var hex = "";
            for (i=0; i<8; i++) hex += ("00000000" + (h[i]>>>0).toString(16)).slice(-8);
            return hex;
        }

        var status = document.getElementById("challenge-status");
        function fail(message) {
            document.querySelector(".spinner").style.display = "none";
            status.textContent = message;
        }
        if (typeof stampPrefix !== "string" || !/^[A-Za-z0-9_-]{1,256}$/.test(stampPrefix) ||
            typeof zeroLen !== "number" || zeroLen % 1 !== 0 || zeroLen < 1 || zeroLen > 64) {
            fail("验证参数无效，请刷新页面重试。");
            return;
        }
        var target = new Array(zeroLen + 1).join("0");
        var counter = 0;
        var started = Date.now();
        function batch() {
            var batchStarted = Date.now();
            do {
                if (Date.now() - started >= 120000 || counter > 9007199254740991) {
                    fail("验证超时，请刷新页面重试。");
                    return;
                }
                if (sha256(stampPrefix + String(counter)).slice(0, zeroLen) === target) {
                    var suffix = "; Path=/; SameSite=Lax" + (location.protocol === "https:" ? "; Secure" : "");
                    try {
                        document.cookie = "ctwjcode=" + String(counter) + suffix;
                        document.cookie = "stampprefix=" + stampPrefix + suffix;
                        var cookies = "; " + document.cookie + ";";
                        if (cookies.indexOf("; ctwjcode=" + String(counter) + ";") < 0 ||
                            cookies.indexOf("; stampprefix=" + stampPrefix + ";") < 0) {
                            fail("请允许 Cookie 后刷新页面重试。");
                            return;
                        }
                        location.reload();
                    } catch (error) {
                        fail("无法保存验证结果，请允许 Cookie 后重试。");
                    }
                    return;
                }
                counter++;
            } while (Date.now() - batchStarted < 8);
            setTimeout(batch, 0);
        }
        setTimeout(batch, 0);
    }());
    </script>
    </body>
  </html>

