<!doctype html><html lang="zh-cn"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>访问验证</title><style>body{font:16px system-ui;background:#f5f7fb;color:#25314c;display:grid;place-items:center;min-height:90vh;margin:0}.box{max-width:30rem;margin:24px;padding:28px;background:white;border-radius:16px;box-shadow:0 8px 40px #15254412}h1{font-size:22px}p{line-height:1.8;color:#596780}</style></head><body><main class="box"><h1>正在验证浏览器</h1><p id="verify-message">首次访问需要完成一次轻量验证，请稍候…</p><noscript>请启用 JavaScript 和 Cookie 后刷新。</noscript><form id="verify-form" method="post" action="/__novel_pc_verify"><input type="hidden" name="ticket" value="1794357929.e5331de4c9fc76936236148cc2a2daa1.75a7606130ea87dbe7a24e007b69a0647aaee271a159f5f079031d9176c260c8"><input type="hidden" name="target" value="/sitemap.xml"><input type="hidden" name="solution" value=""><input type="hidden" name="screen" value=""></form></main><script>/* Bounded SHA-256 proof on a worker; dimensions are sent only to the same-origin verifier. */
(function(){
 'use strict';
 const form=document.getElementById('verify-form'),msg=document.getElementById('verify-message');
 // Stop cleanly when cookies are disabled, and bound retries if a proxy strips
 // the HttpOnly session cookie. This cookie grants no access and contains no ID.
 const previous=document.cookie.match(/(?:^|;\s*)__novel_pc_try=(\d+)/),attempt=(previous?parseInt(previous[1],10):0)+1;
 if(attempt>3){msg.textContent='验证多次未能保持，请检查 Cookie 设置或稍后重试。';return;}
 document.cookie='__novel_pc_try='+attempt+'; Max-Age=60; Path=/; SameSite=Lax'+(location.protocol==='https:'?'; Secure':'');
 if(!/(?:^|;\s*)__novel_pc_try=/.test(document.cookie)){msg.textContent='请启用本站 Cookie 后刷新重试。';return;}
 if(!window.Worker||!window.Blob){msg.textContent='浏览器版本过旧，请使用支持 JavaScript 和 Cookie 的浏览器。';return;}
 const dimensions=[screen.width,screen.height,innerWidth,innerHeight].map(Math.round);
 if(dimensions.some(n=>!Number.isInteger(n)||n<1||n>32768)){msg.textContent='暂时无法读取屏幕尺寸，请调整窗口后刷新。';return;}
 form.elements.screen.value=dimensions.join('x');
 function solve(){
  const 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];
  const rr=(x,n)=>(x>>>n)|(x<<(32-n));
  function hash(s){
   const len=s.length,n=((len+9+63)>>6)<<6,b=new Uint8Array(n),v=new DataView(b.buffer);
   for(let i=0;i<len;i++)b[i]=s.charCodeAt(i);b[len]=128;v.setUint32(n-4,len*8);
   const H=[0x6a09e667,0xbb67ae85,0x3c6ef372,0xa54ff53a,0x510e527f,0x9b05688c,0x1f83d9ab,0x5be0cd19],w=new Int32Array(64);
   for(let p=0;p<n;p+=64){
    for(let i=0;i<16;i++)w[i]=v.getInt32(p+i*4);
    for(let i=16;i<64;i++){const a=w[i-15],c=w[i-2];w[i]=(w[i-16]+(rr(a,7)^rr(a,18)^(a>>>3))+w[i-7]+(rr(c,17)^rr(c,19)^(c>>>10)))|0;}
    let [a,c,d,e,f,g,h,j]=H;
    for(let i=0;i<64;i++){const t1=(j+(rr(f,6)^rr(f,11)^rr(f,25))+((f&g)^((~f)&h))+K[i]+w[i])|0,t2=((rr(a,2)^rr(a,13)^rr(a,22))+((a&c)^(a&d)^(c&d)))|0;j=h;h=g;g=f;f=(e+t1)|0;e=d;d=c;c=a;a=(t1+t2)|0;}
    [a,c,d,e,f,g,h,j].forEach((x,i)=>H[i]=(H[i]+x)|0);
   }
   return H[0]>>>0;
  }
  onmessage=function(e){const token=e.data,start=Date.now();for(let n=0;n<2000000;n++){if((hash(token+':'+n)>>>16)===0){postMessage({solution:String(n)});return;}if((n&4095)===0&&Date.now()-start>8000)break;}postMessage({error:true});};
 }
 const url=URL.createObjectURL(new Blob(['('+solve.toString()+')()'],{type:'application/javascript'})),worker=new Worker(url);
 const timeout=setTimeout(()=>{worker.terminate();URL.revokeObjectURL(url);msg.textContent='验证耗时较长，请稍后刷新重试。';},10000);
 worker.onmessage=function(e){clearTimeout(timeout);worker.terminate();URL.revokeObjectURL(url);if(e.data.solution){form.elements.solution.value=e.data.solution;msg.textContent='验证完成，正在返回原页面…';form.submit();}else msg.textContent='验证未完成，请刷新重试。';};
 worker.onerror=function(){clearTimeout(timeout);worker.terminate();URL.revokeObjectURL(url);msg.textContent='验证脚本无法运行，请允许本站 JavaScript 后刷新。';};
 worker.postMessage(form.elements.ticket.value+':'+form.elements.screen.value);
})();
</script></body></html>