let t,e=[],i=[],r=0,n=-1,s=[],l=[],a=[],u=new FinalizationRegistry(t=>i[t]=null),o=t=>{let e=a[t],i=l[t]();c(e,i)},c=(t,r)=>{i[t]=r;for(let i of s[t]||e){let t=typeof i;"function"===t?i():"number"===t&&o(i)}return r};class d{#t;constructor(){this.#t=++r,u.register(this,r)}get value(){let e=this.#t,r=t;return r?.indexOf(e)<0&&(r.push(e),r.sort()),i[e]}set value(t){return c(this.#t,t)}valueOf=()=>this.value;toString=()=>String(this.value);effect=(t,e)=>((t,e,i)=>{i&&e();let r=s[t]=s[t]||[],n=r.length;return r[n]=e,[t,n]})(this.#t,t,e)}let h=i=>{let r=new d,l=t||e;for(let t;t=l.shift();)s[t]||(s[t]=[]),s[t].push(n);return r.value=i,r},g=e=>{t=[];let i=++n;l[i]=e,a[i]=r+1;let s=h(e());return t=null,s},f=document,m="sig-nal",p={"&":"amp","<":"lt",'"':"quot","'":"apos"};class y extends WeakMap{use=(t,e={})=>this.get(t)||this.set(t,e).get(t)}let A=new y,b=new Proxy({},{get:async(t,e)=>(await import("./plugins/"+e+".js")).default}),v=(t,e,i,r,n,s,l)=>{let{ctx:a}=t,u=A.get(a.scope),o=u&&u[t.name];return t=>i=>t({ctx:a,name:n,signal:o,signals:u,domNode:s,nodes:l,id:e,kind:r,e:i,plugins:b})},x=(t,e,i,r)=>{if("function"==typeof t&&(t=t()),null!==t)switch(r){case 1:return i[e]!==t&&(i[e]=t);case 2:return i[t?"setAttribute":"removeAttribute"](e,"");case 3:return i.setAttribute(e,t);case 4:Array.isArray(t)||(t=[t]),i[e](...t)}},w=trustedTypes.createPolicy(m,{createHTML:t=>t.replace(/[&<"']/g,t=>`&${p[t]};`)});class E extends HTMLElement{#e=t=>this.getAttribute(t);static signal=h;static computed=g;static plugin=t=>e=>e.plugins[e.name].then(i=>i(e)(t(e)));static hydrate=t=>e=>{let{getById:i,root:r}=e,n=new Proxy({},{get:(t,e)=>i(e)});for(let s in t){let l=t[s];for(let t in l){let[a,u,o,c={}]=[l[t],t.slice(1),t[0]];Array.isArray(a)&&([a,c]=[a[0],a[1]]);let d="@.?!:".indexOf(o);if(d<0)continue;let h=s?i(s):r,g=v(e,s,0,d,u,h,n)(a);d?g():h.addEventListener(u,g,c)}}};static html=(t,e,i)=>{t instanceof HTMLTemplateElement&&(t=t.content.firstElementChild);let r=Object.keys(e).join(","),n=new Function(r,"return `"+t.outerHTML+"`");return i?n:n(...Object.values(e))};static sane=t=>w.createHTML(t);static object=({nodes:t,ctx:{name:e},signal:i})=>(r=i.value)=>{for(let i,n,s=0,l=0|r?.length;s(s=t.value,l=e[i])=>x(s,r,l,n);static renderWith=(t,e=!0)=>i=>i.signal.effect(t(i),e);static rerender=E.renderWith(E.render);constructor(){super();let t=this.root=this[this.#e("for")||"parentNode"],e=this.#e("scope");e=e?this.closest(e):this.getRootNode();let i=this.#e("new"),r=(this.name=i)||this.#e("ref")||crypto.randomUUID(),n=this.#e("type"),[s,l]=(this.#e("default")||"").split("#"),a="getElementById"in e?t=>e.getElementById(t):t=>e.querySelector("#"+t),u={".":1,"#":1,"[":1,":":1,"∀":1};if(this.getById=t=>u[t[0]]?"∀"===t[0]?[...e.querySelectorAll(t.slice(1))]:e.querySelector(t):a(t),this.ctx={root:t,scope:e,name:r,type:n},i){let t=s?this.getById(l)[s.slice(1)]:this.#e("value");A.use(e)[r]=h(((t,e)=>"number"===e?0|t:t)(t,n))}if(null!==this.#e("index")){let e=f.createTreeWalker(t,1);for(let t,i=0;e.nextNode();)t=e.currentNode,t!==this&&t.id===r&&(t.id=r+i++)}if(null!==this.#e("hydrate")){let e=()=>{let i=this.textContent.trim();if(125!==i.charCodeAt(i.length-1))return requestAnimationFrame(e);new Function(`let{hydrate,render,rerender,renderWith,object,plugin,computed,html,sane}=customElements.get('${m}');return hydrate(${i})`)()(this),t.dispatchEvent(new Event("init")),this.className||this.remove()};e()}}}customElements.define(m,E);