const _A = Object.freeze({
h: Object.freeze(['github.com','x.com','reddit.com']),
p: Object.freeze(['/dyologician','/dyologician','/user/dyologician']),
lbl:Object.freeze(['⌥ GitHub','𝕏 @dyologician','⬡ Reddit']),
tag:Object.freeze(['data-attr-0','data-attr-1','data-attr-2']),
});
const _SEAL=(()=>{
let v=0x4459;
const s=_A.h.map((h,i)=>`https://${h}${_A.p[i]}`).join('\x01');
for(let i=0;i<s.length;i++)v=((v<<5)-v+s.charCodeAt(i))>>>0;
return v;
})();
function attrUrl(i){return`https://${_A.h[i]}${_A.p[i]}`;}
let _integrityOk=true;
function checkIntegrity(){
let ok=true;
for(let i=0;i<3;i++){
const el=document.querySelector(`[${_A.tag[i]}]`);
if(!el||el.getAttribute('href')!==attrUrl(i)){ok=false;break;}
}
if(ok!==_integrityOk){
_integrityOk=ok;
const banner=document.getElementById('_attr_banner');
if(banner)banner.className='integrity-warn'+(ok?'':' show');
if(!ok){
for(let i=0;i<3;i++){
const el=document.querySelector(`[${_A.tag[i]}]`);
if(el){el.href=attrUrl(i);el.textContent=_A.lbl[i];}
}
}
}
}
const _mo=new MutationObserver(()=>checkIntegrity());
function startIntegrityWatch(){
_mo.observe(document.body,{childList:true,subtree:true,attributes:true,attributeFilter:['href']});
setInterval(checkIntegrity,3000);
}
window.addEventListener('DOMContentLoaded',()=>{startIntegrityWatch();});