New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@getforma/core

Package Overview
Dependencies
Maintainers
1
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@getforma/core - npm Package Compare versions

Comparing version
0.8.2
to
0.9.0
+1
-1
dist/forma-runtime-csp.js

@@ -1,2 +0,2 @@

"use strict";var FormaRuntime=(()=>{var xe=Object.defineProperty;var Ht=Object.getOwnPropertyDescriptor;var $t=Object.getOwnPropertyNames;var Ft=Object.prototype.hasOwnProperty;var Bt=(e,t)=>{for(var n in t)xe(e,n,{get:t[n],enumerable:!0})},Pt=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of $t(t))!Ft.call(e,i)&&i!==n&&xe(e,i,{get:()=>t[i],enumerable:!(r=Ht(t,i))||r.enumerable});return e};var Ut=e=>Pt(xe({},"__esModule",{value:!0}),e);var Lr={};Bt(Lr,{applyContainmentHints:()=>wt,clearDiagnostics:()=>Mr,destroyRuntime:()=>vr,getDiagnostics:()=>Rr,getScopes:()=>xr,getUnsafeEvalMode:()=>wr,initRuntime:()=>Ge,mount:()=>Er,reconcile:()=>Dr,resetScope:()=>kr,setDebug:()=>Sr,setDiagnostics:()=>_r,setDirectiveMap:()=>cr,setScopeValue:()=>Cr,setUnsafeEval:()=>Ar,setUnsafeEvalMode:()=>Tr,unmount:()=>yr,yieldToMain:()=>At});function Xe({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:s,shallowPropagate:c};function r(o,l,p){let m=l.depsTail;if(m!==void 0&&m.dep===o)return;let u=m!==void 0?m.nextDep:l.deps;if(u!==void 0&&u.dep===o){u.version=p,l.depsTail=u;return}let h=o.subsTail;if(h!==void 0&&h.version===p&&h.sub===l)return;let E=l.depsTail=o.subsTail={version:p,dep:o,sub:l,prevDep:m,nextDep:u,prevSub:h,nextSub:void 0};u!==void 0&&(u.prevDep=E),m!==void 0?m.nextDep=E:l.deps=E,h!==void 0?h.nextSub=E:o.subs=E}function i(o,l=o.sub){let p=o.dep,m=o.prevDep,u=o.nextDep,h=o.nextSub,E=o.prevSub;return u!==void 0?u.prevDep=m:l.depsTail=m,m!==void 0?m.nextDep=u:l.deps=u,h!==void 0?h.prevSub=E:p.subsTail=E,E!==void 0?E.nextSub=h:(p.subs=h)===void 0&&n(p),u}function a(o){let l=o.nextSub,p;e:do{let m=o.sub,u=m.flags;if(u&60?u&12?u&4?!(u&48)&&d(o,m)?(m.flags=u|40,u&=1):u=0:m.flags=u&-9|32:u=0:m.flags=u|32,u&2&&t(m),u&1){let h=m.subs;if(h!==void 0){let E=(o=h).nextSub;E!==void 0&&(p={value:l,prev:p},l=E);continue}}if((o=l)!==void 0){l=o.nextSub;continue}for(;p!==void 0;)if(o=p.value,p=p.prev,o!==void 0){l=o.nextSub;continue e}break}while(!0)}function s(o,l){let p,m=0,u=!1;e:do{let h=o.dep,E=h.flags;if(l.flags&16)u=!0;else if((E&17)===17){if(e(h)){let S=h.subs;S.nextSub!==void 0&&c(S),u=!0}}else if((E&33)===33){(o.nextSub!==void 0||o.prevSub!==void 0)&&(p={value:o,prev:p}),o=h.deps,l=h,++m;continue}if(!u){let S=o.nextDep;if(S!==void 0){o=S;continue}}for(;m--;){let S=l.subs,w=S.nextSub!==void 0;if(w?(o=p.value,p=p.prev):o=S,u){if(e(l)){w&&c(S),l=o.sub;continue}u=!1}else l.flags&=-33;l=o.sub;let y=o.nextDep;if(y!==void 0){o=y;continue e}}return u}while(!0)}function c(o){do{let l=o.sub,p=l.flags;(p&48)===32&&(l.flags=p|16,(p&6)===2&&t(l))}while((o=o.nextSub)!==void 0)}function d(o,l){let p=l.depsTail;for(;p!==void 0;){if(p===o)return!0;p=p.prevDep}return!1}}var Ee=0,Ce=0,K=0,le=0,z,W=[],{link:ke,unlink:Ye,propagate:Wt,checkDirty:Ze,shallowPropagate:Qe}=Xe({update(e){return e.depsTail!==void 0?ot(e):st(e)},notify(e){let t=le,n=t;do if(W[t++]=e,e.flags&=-3,e=e.subs?.sub,e===void 0||!(e.flags&2))break;while(!0);for(le=t;n<--t;){let r=W[n];W[n++]=W[t],W[t]=r}},unwatched(e){e.flags&1?e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=17,ye(e)):lt.call(e)}});function q(e){let t=z;return z=e,t}function et(){++Ce}function tt(){--Ce||at()}function nt(e){return Gt.bind({currentValue:e,pendingValue:e,subs:void 0,subsTail:void 0,flags:1})}function rt(e){return Vt.bind({value:void 0,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:0,getter:e})}function it(e){let t={fn:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:6},n=q(t);n!==void 0&&ke(t,n,0);try{t.fn()}finally{z=n,t.flags&=-5}return jt.bind(t)}function ot(e){++Ee,e.depsTail=void 0,e.flags=5;let t=q(e);try{let n=e.value;return n!==(e.value=e.getter(n))}finally{z=t,e.flags&=-5,ye(e)}}function st(e){return e.flags=1,e.currentValue!==(e.currentValue=e.pendingValue)}function qt(e){let t=e.flags;if(t&16||t&32&&Ze(e.deps,e)){++Ee,e.depsTail=void 0,e.flags=6;let n=q(e);try{e.fn()}finally{z=n,e.flags&=-5,ye(e)}}else e.flags=2}function at(){try{for(;K<le;){let e=W[K];W[K++]=void 0,qt(e)}}finally{for(;K<le;){let e=W[K];W[K++]=void 0,e.flags|=10}K=0,le=0}}function Vt(){let e=this.flags;if(e&16||e&32&&(Ze(this.deps,this)||(this.flags=e&-33,!1))){if(ot(this)){let n=this.subs;n!==void 0&&Qe(n)}}else if(!e){this.flags=5;let n=q(this);try{this.value=this.getter()}finally{z=n,this.flags&=-5}}let t=z;return t!==void 0&&ke(this,t,Ee),this.value}function Gt(...e){if(e.length){if(this.pendingValue!==(this.pendingValue=e[0])){this.flags=17;let t=this.subs;t!==void 0&&(Wt(t),Ce||at())}}else{if(this.flags&16&&st(this)){let n=this.subs;n!==void 0&&Qe(n)}let t=z;for(;t!==void 0;){if(t.flags&3){ke(this,t,Ee);break}t=t.subs?.sub}return this.currentValue}}function jt(){lt.call(this)}function lt(){this.depsTail=void 0,this.flags=0,ye(this);let e=this.subs;e!==void 0&&Ye(e)}function ye(e){let t=e.depsTail,n=t!==void 0?t.nextDep:e.deps;for(;n!==void 0;)n=Ye(n,e)}function zt(e,t,n){if(typeof t!="function"){if(n){let s=q(void 0),c=e();if(q(s),n(c,t))return}e(t);return}let r=q(void 0),i=e();q(r);let a=t(i);n&&n(i,a)||e(a)}function te(e,t){let n=nt(e),r=n,i=t?.equals;return[r,s=>zt(n,s,i)]}var Ne=null;function ct(e){Ne&&Ne.disposers.push(e)}function ut(){return Ne!==null}var Jt=32;var Kt=[];for(let e=0;e<Jt;e++)Kt.push([]);function P(e){let t=it(e);return ut()&&ct(t),t}function De(e){return rt(e)}function H(e){et();try{e()}finally{tt()}}function ft(e){let t=e.length;if(t===0)return[];let n=new Int32Array(t),r=new Int32Array(t),i=new Int32Array(t).fill(-1),a=0;for(let d=0;d<t;d++){let o=e[d],l=0,p=a;for(;l<p;){let m=l+p>>1;n[m]<o?l=m+1:p=m}n[l]=o,r[l]=d,l>0&&(i[d]=r[l-1]),l>=a&&a++}let s=new Array(a),c=r[a-1];for(let d=a-1;d>=0;d--)s[d]=c,c=i[c];return s}var Xt=32;function Yt(e,t,n,r,i,a,s,c,d){let o=t.length,l=n.length,p=new Array(o);for(let f=0;f<o;f++)p[f]=i(t[f]);let m=new Array(l),u=new Uint8Array(o);for(let f=0;f<l;f++){let g=i(n[f]),b=-1;for(let T=0;T<o;T++)if(!u[T]&&p[T]===g){b=T,u[T]=1;break}m[f]=b}for(let f=0;f<o;f++)if(!u[f])if(d?.onBeforeRemove){let g=r[f];d.onBeforeRemove(g,()=>{g.parentNode&&g.parentNode.removeChild(g)})}else e.removeChild(r[f]);if(o===l){let f=!0;for(let g=0;g<l;g++)if(m[g]!==g){f=!1;break}if(f){let g=new Array(l);for(let b=0;b<l;b++){let T=r[b];s(T,n[b]),g[b]=T}return{nodes:g,items:n}}}let h=[],E=[];for(let f=0;f<l;f++)m[f]!==-1&&(h.push(m[f]),E.push(f));let S=ft(h),w=new Uint8Array(l);for(let f of S)w[E[f]]=1;let y=new Array(l),v=c??null;for(let f=l-1;f>=0;f--){let g,b=!1;if(m[f]===-1)g=a(n[f]),b=!0;else if(g=r[m[f]],s(g,n[f]),w[f]){y[f]=g,v=g;continue}v?e.insertBefore(g,v):e.appendChild(g),b&&d?.onInsert?.(g),y[f]=g,v=g}return{nodes:y,items:n}}function Le(e,t,n,r,i,a,s,c,d){let o=t.length,l=n.length;if(l===0){for(let f=0;f<o;f++)if(d?.onBeforeRemove){let g=r[f];d.onBeforeRemove(g,()=>{g.parentNode&&g.parentNode.removeChild(g)})}else e.removeChild(r[f]);return{nodes:[],items:[]}}if(o===0){let f=new Array(l);for(let g=0;g<l;g++){let b=a(n[g]);c?e.insertBefore(b,c):e.appendChild(b),d?.onInsert?.(b),f[g]=b}return{nodes:f,items:n}}if(o<Xt)return Yt(e,t,n,r,i,a,s,c,d);let p=new Map;for(let f=0;f<o;f++)p.set(i(t[f]),f);let m=new Array(l),u=new Uint8Array(o);for(let f=0;f<l;f++){let g=i(n[f]),b=p.get(g);b!==void 0?(m[f]=b,u[b]=1):m[f]=-1}for(let f=0;f<o;f++)if(!u[f])if(d?.onBeforeRemove){let g=r[f];d.onBeforeRemove(g,()=>{g.parentNode&&g.parentNode.removeChild(g)})}else e.removeChild(r[f]);if(o===l){let f=!0;for(let g=0;g<l;g++)if(m[g]!==g){f=!1;break}if(f){let g=new Array(l);for(let b=0;b<l;b++){let T=r[b];s(T,n[b]),g[b]=T}return{nodes:g,items:n}}}let h=[],E=[];for(let f=0;f<l;f++)m[f]!==-1&&(h.push(m[f]),E.push(f));let S=ft(h),w=new Uint8Array(l);for(let f of S)w[E[f]]=1;let y=new Array(l),v=c??null;for(let f=l-1;f>=0;f--){let g,b=!1;if(m[f]===-1)g=a(n[f]),b=!0;else if(g=r[m[f]],s(g,n[f]),w[f]){y[f]=g,v=g;continue}v?e.insertBefore(g,v):e.appendChild(g),b&&d?.onInsert?.(g),y[f]=g,v=g}return{nodes:y,items:n}}function Zt(e){let t=new Set,n=e.attributes;for(let r=0;r<n.length;r++){let i=n[r].name;i.startsWith("data-bind:")&&t.add(i.slice(10))}return t}function Qt(e){return e.hasAttribute("data-list")||e.hasAttribute("data-if")}function dt(e){try{let t=JSON.parse(e);return Object.keys(t).sort()}catch{return[]}}function en(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function tn(e,t){let n=e.getAttribute("data-module"),r=t.getAttribute("data-module");if(n!==r)return"REPLACE";let a=e.__formaInitialState??e.getAttribute("data-forma-state")??"{}",s=t.getAttribute("data-forma-state")??"{}",c=dt(a),d=dt(s);return en(c,d)?"PRESERVE":"RESET"}var Se=null;function nn(e){return Se||(Se=document.createElement("template")),Se.innerHTML=e,Se.content}function Oe(e,t){let n=Zt(e),r=e.hasAttribute("data-show"),i=e.hasAttribute("data-model"),a=!1,s=e.attributes;for(let d=0;d<s.length;d++)if(s[d].name.startsWith("data-class:")){a=!0;break}let c=t.attributes;for(let d=0;d<c.length;d++){let o=c[d];if(o.name==="style"&&r||o.name==="class"&&a||(o.name==="value"||o.name==="checked")&&i||n.has(o.name))continue;e.getAttribute(o.name)!==o.value&&e.setAttribute(o.name,o.value)}for(let d=s.length-1;d>=0;d--){let o=s[d];if(!t.hasAttribute(o.name)){if(o.name==="style"&&r||o.name==="class"&&a||(o.name==="value"||o.name==="checked")&&i||n.has(o.name))continue;e.removeAttribute(o.name)}}}function rn(e,t){if(e.hasAttribute("data-text"))return;let n=[],r=[];for(let s of Array.from(e.childNodes))s.nodeType===Node.TEXT_NODE&&n.push(s);for(let s=0;s<t.childNodes.length;s++){let c=t.childNodes[s];c.nodeType===Node.TEXT_NODE&&r.push({node:c,index:s})}if(n.length===r.length){for(let s=0;s<n.length;s++)n[s].textContent!==r[s].node.textContent&&(n[s].textContent=r[s].node.textContent);return}let i=new Set,a=0;for(let{node:s,index:c}of r)if(a<n.length){let d=n[a];a++,i.add(d),d.textContent!==s.textContent&&(d.textContent=s.textContent)}else{let d=on(e,t,c);e.insertBefore(document.createTextNode(s.textContent??""),d)}for(let s of n)!i.has(s)&&s.parentNode===e&&e.removeChild(s)}function on(e,t,n){for(let r=n+1;r<t.childNodes.length;r++){let i=t.childNodes[r];if(i.nodeType===Node.ELEMENT_NODE){let a=i.getAttribute("data-forma-id");if(a){let s=e.querySelector(`[data-forma-id="${CSS.escape(a)}"]`);if(s&&s.parentElement===e)return s}}}return null}function Ie(e,t,n){if(Qt(e))return;rn(e,t);let r=Array.from(e.children),i=Array.from(t.children),a=new Map,s=[];for(let o of r){if(o.hasAttribute("data-forma-leaving"))continue;let l=o.getAttribute("data-forma-id");l?a.set(l,o):s.push(o)}let c=0,d=new Set;for(let o of i){let l=o.getAttribute("data-forma-id"),p;if(l)p=a.get(l);else for(;c<s.length;){let m=s[c];if(c++,m.tagName===o.tagName&&!d.has(m)){p=m;break}}if(p){if(d.add(p),p.hasAttribute("data-forma-state")&&o.hasAttribute("data-forma-state"))switch(tn(p,o)){case"PRESERVE":Oe(p,o),Ie(p,o,n);break;case"RESET":n.unmountScope(p),Oe(p,o),sn(p,o),n.mountScope(p);break;case"REPLACE":{n.unmountScope(p);let u=o.cloneNode(!0);e.replaceChild(u,p),n.mountScope(u),d.delete(p),p=u,d.add(u);break}}else Oe(p,o),Ie(p,o,n);an(e,p,o,i)}else{let m=o.cloneNode(!0),u=ln(e,o,i);e.insertBefore(m,u),d.add(m),m.hasAttribute("data-forma-state")&&n.mountScope(m);let h=m.querySelectorAll("[data-forma-state]");for(let E of Array.from(h))n.mountScope(E)}}for(let o of r)if(!d.has(o)){if(o.parentElement!==e||o.hasAttribute("data-forma-leaving"))continue;o.hasAttribute("data-forma-state")&&n.unmountScope(o);let l=o.querySelectorAll("[data-forma-state]");for(let p of Array.from(l))n.unmountScope(p);e.removeChild(o)}}function sn(e,t){for(;e.firstChild;)e.removeChild(e.firstChild);for(let n of Array.from(t.childNodes))e.appendChild(n.cloneNode(!0))}function an(e,t,n,r){let i=r.indexOf(n);if(Array.from(e.children).indexOf(t)!==i){let c=r[i+1];if(c){let d=c.getAttribute("data-forma-id");if(d){let o=e.querySelector(`[data-forma-id="${CSS.escape(d)}"]`);if(o&&o.parentElement===e){e.insertBefore(t,o);return}}}e.appendChild(t)}}function ln(e,t,n){let r=n.indexOf(t);for(let i=r+1;i<n.length;i++){let a=n[i].getAttribute("data-forma-id");if(a){let s=e.querySelector(`[data-forma-id="${CSS.escape(a)}"]`);if(s&&s.parentElement===e)return s}}return null}function mt(e){let t="";return function(r,i){let a=i.trim();if(a&&!(a===t&&r.hasChildNodes())){t=a,e.disconnectObserver();try{if(!r.hasChildNodes()||r.children.length===0){r.innerHTML=a,e.batch(()=>{let l=r.querySelectorAll("[data-forma-state]");for(let p of Array.from(l))e.mountScope(p)});return}let s=nn(a),c=document.createElement("div");c.appendChild(s);let d=new Set;for(let l of Array.from(r.children)){if(l.hasAttribute("data-forma-leaving"))continue;let p=l.getAttribute("data-forma-id");p&&d.add(p)}let o=!1;if(d.size>0)for(let l of Array.from(c.children)){let p=l.getAttribute("data-forma-id");if(p&&d.has(p)){o=!0;break}}if(d.size>0&&!o){e.batch(()=>{let l=r.querySelectorAll("[data-forma-state]");for(let m of Array.from(l))e.unmountScope(m);r.innerHTML=a;let p=r.querySelectorAll("[data-forma-state]");for(let m of Array.from(p))e.mountScope(m)});return}e.batch(()=>{Ie(r,c,e)})}finally{e.reconnectObserver()}}}}var Ue=new Map;function Tt(e){let t=Ue.get(e);t?t():O&&N(`$refetch: no data-fetch with id "${e}" found`)}function He(e,t){let n=Object.create(null);for(let r of Object.keys(t))n[r]=()=>t[r];return{getters:new Proxy(e.getters,{get(r,i){return i in n?n[i]:r[i]},has(r,i){return i in n||i in r}}),setters:e.setters}}var O=!1,$="mutable",F=!1,je=!0;function N(...e){(O||typeof window<"u"&&window.__FORMA_DEBUG)&&console.log("[FormaJS]",...e)}var pe=new Map;function Te(e){if(e==null)return;let t=e.trim().toLowerCase();if(t==="1"||t==="true"||t==="on"||t==="yes")return!0;if(t==="0"||t==="false"||t==="off"||t==="no")return!1}function We(e){if(e==null)return;let t=e.trim().toLowerCase();if(t==="mutable")return"mutable";if(t==="locked-off"||t==="off"||t==="disabled")return"locked-off";if(t==="locked-on"||t==="on"||t==="enabled")return"locked-on"}function cn(){let e={};if(typeof window<"u"){let t=window.__FORMA_RUNTIME_CONFIG;if(t){if(typeof t.allowUnsafeEval=="boolean"&&(e.allowUnsafeEval=t.allowUnsafeEval),typeof t.unsafeEvalMode=="string"){let n=We(t.unsafeEvalMode);n&&(e.unsafeEvalMode=n)}typeof t.lockUnsafeEval=="boolean"&&(e.lockUnsafeEval=t.lockUnsafeEval),typeof t.diagnostics=="boolean"&&(e.diagnostics=t.diagnostics),typeof t.autoContainment=="boolean"&&(e.autoContainment=t.autoContainment)}}if(typeof document<"u"){let t=document.currentScript;if(t){let n=Te(t.getAttribute("data-forma-unsafe-eval"));n!==void 0&&(e.allowUnsafeEval=n);let r=We(t.getAttribute("data-forma-unsafe-eval-mode"));r!==void 0&&(e.unsafeEvalMode=r);let i=Te(t.getAttribute("data-forma-lock-unsafe-eval"));i!==void 0&&(e.lockUnsafeEval=i);let a=Te(t.getAttribute("data-forma-diagnostics"));a!==void 0&&(e.diagnostics=a);let s=Te(t.getAttribute("data-forma-auto-containment"));s!==void 0&&(e.autoContainment=s)}}return e}function ne(e,t,n){if(!je)return;let r=`${e}|${n}|${t}`,i=Date.now(),a=pe.get(r);a?(a.count+=1,a.lastSeenAt=i):(pe.set(r,{kind:e,expr:t,reason:n,count:1,firstSeenAt:i,lastSeenAt:i}),console.warn(`[FormaJS] ${n}: ${t}`));try{if(typeof window<"u"){let s={kind:e,expr:t,reason:n,count:pe.get(r)?.count??1};window.dispatchEvent(new CustomEvent("formajs:diagnostic",{detail:s}))}}catch{}}var pt=We("locked-off");pt&&($=pt,$==="locked-off"&&(F=!1),$==="locked-on"&&(F=!0),$==="mutable"&&(F=!0));var ee=cn(),gt=ee.lockUnsafeEval?"locked-off":ee.unsafeEvalMode;gt&&($=gt,$==="locked-off"&&(F=!1),$==="locked-on"&&(F=!0));$==="mutable"&&typeof ee.allowUnsafeEval=="boolean"&&(F=ee.allowUnsafeEval);typeof ee.diagnostics=="boolean"&&(je=ee.diagnostics);var un=ee.autoContainment===!0;function fn(){let e=globalThis?.scheduler;if(e&&(typeof e.yield=="function"||typeof e.postTask=="function"))return e}async function At(){let e=fn();if(e?.yield){await e.yield();return}if(e?.postTask){await e.postTask(()=>{},{priority:"background"});return}await new Promise(t=>setTimeout(t,0))}function wt(e=document,t={}){let n=t.selector??"[data-forma-contain]";if(!n||typeof e.querySelectorAll!="function")return 0;let r=e.querySelectorAll(n),i=0;for(let a=0;a<r.length;a++){let s=r[a];if(!s?.style)continue;let c=s.getAttribute("data-forma-contain")??t.contain??"layout style paint",d=s.getAttribute("data-forma-content-visibility")??t.contentVisibility??"auto",o=s.getAttribute("data-forma-contain-intrinsic-size")??t.containIntrinsicSize??"auto 800px",l=t.skipIfAlreadySet===!0,p=!1,m=s.style.getPropertyValue("contain"),u=s.style.getPropertyValue("content-visibility"),h=s.style.getPropertyValue("contain-intrinsic-size");c!=="off"&&(!l||!m)&&(s.style.setProperty("contain",c),p=!0),d!=="off"&&(!l||!u)&&(s.style.setProperty("content-visibility",d),p=!0),o!=="off"&&(!l||!h)&&(s.style.setProperty("contain-intrinsic-size",o),p=!0),p&&i++}return O&&i>0&&N("applyContainmentHints: applied to",i,"element(s)"),i}var _t=/^'[^']*'$/,Rt=/^"[^"]*"$/,Mt=/^-?\d+(\.\d+)?$/,xt=/^[a-zA-Z_$]\w*$/,dn=/^(\w+)\.(\w+)$/;var mn=/^(\w+)\[(\d+|'[^']*'|"[^"]*")\]$/,pn=/^(.+?)\s*\?\s*(.+?)\s*:\s*(.+)$/,gn=/^(.+?)\s*\?\?\s*(.+)$/,hn=/^(.+?)\s*&&\s*(.+)$/,bn=/^(.+?)\s*\|\|\s*(.+)$/,vn=/^(.+?)\s*(===|!==|==|!=|>=|<=|>|<)\s*(.+)$/,En=/^(.+?)\s*([*/%])\s*(.+)$/,yn=/^(.+?)\s*([+-])\s*(.+)$/,Sn=/^`([^`]*)`$/,Tn=/\$\{([^}]+)\}/g;var An=/^\((.+)\)\.(\w+)\((.*)\)$/,qe=/^\{|\}$/g;var wn=/^\d+$/,_n=/^(\w+)(\+\+|--)$/,Rn=/^(\+\+|--)(\w+)$/,Mn=/^(\w+)\s*=\s*!(\w+)$/,xn=/^(\w+)\s*=\s*(.+)$/,Cn=/^(\w+)\s*(\+=|-=|\*=|\/=)\s*(.+)$/,kn=/^if\b/,Nn=/^(\w+)\s*=\s*(.+)$/,Dn=/^(.+?)(?:→|->)\s*(\S+)(.*)$/,Ln=/^(GET|POST|PUT|PATCH|DELETE)\s+(.+)$/i,On=/^\{item\.?|\}$/g,In=/\bevent\s*[.([]|\$event\b/,Hn=/^\$refetch\(\s*['"]([^'"]+)['"]\s*\)$/,Re=Symbol.for("forma-transition-state"),$n=2048,ue=new Map;function ce(e,t){if(ue.size>=$n){let n=ue.keys().next().value;n!==void 0&&ue.delete(n)}ue.set(e,t)}var ze=new WeakMap,Je=new WeakMap,fe=new Map,Fn=2048;function Bn(e,t){if(fe.size>=Fn){let n=fe.keys().next().value;n!==void 0&&fe.delete(n)}fe.set(e,t)}var re=new Set(["constructor","__proto__","prototype","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__","eval","Function"]),Pn=(()=>{let e=[];for(let t of re){let n=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e.push({name:t,dotRe:new RegExp(`(?:^|\\.)${n}(?:\\s*\\(|\\s*$|[^\\w$])`,"m"),bracketRe:new RegExp(`\\[\\s*(?:'${n}'|"${n}"|\``+n+"`)\\s*\\]")})}return e})();function Ct(e){let t=e.replace(/\/\*[\s\S]*?\*\//g,"");t=t.replace(/\/\/[^\n]*/g,""),t=t.replace(/\s*\.\s*/g,".");for(let{name:n,dotRe:r,bracketRe:i}of Pn)if(r.test(t)||i.test(t))return n;if(t.includes("[")){let n=Un(t);for(let r of n){if(!r.includes("+"))continue;let i=r.match(/['"`]([^'"`]*?)['"`]/g);if(!i)continue;let a=i.map(s=>s.slice(1,-1)).join("");if(re.has(a))return a}}return null}function Un(e){let t=[],n=0,r=-1;for(let i=0;i<e.length;i++)e[i]==="["?(n===0&&(r=i+1),n++):e[i]==="]"&&(n--,n===0&&r>=0&&(t.push(e.slice(r,i)),r=-1));return t}var ht=Symbol.for("forma-text-binding-cache");function Wn(e){return e==null?"":typeof e=="string"?e:typeof e=="symbol"?e.toString():String(e)}function qn(e,t){let n=e[ht];if(n||(n={initialized:!1,last:"",node:null},e[ht]=n),n.initialized&&n.last===t)return;let r=n.node;if(!r||r.parentNode!==e||e.childNodes.length!==1||e.firstChild!==r)if(e.childNodes.length===1&&e.firstChild?.nodeType===Node.TEXT_NODE)r=e.firstChild,n.node=r;else{e.textContent=t;let i=e.firstChild;n.node=i&&i.nodeType===Node.TEXT_NODE&&e.childNodes.length===1?i:null,n.last=t,n.initialized=!0;return}r.data=t,n.last=t,n.initialized=!0}function Ve(e){let t=[];if(e.trim()==="")return t;let n=0,r=!1,i=!1,a=!1,s=0;for(let c=0;c<e.length;c++){let d=e[c];if(a){a=!1;continue}if(d==="\\"){a=!0;continue}if(r){d==="'"&&(r=!1);continue}if(i){d==='"'&&(i=!1);continue}if(d==="'"){r=!0;continue}if(d==='"'){i=!0;continue}if(d==="("){n++;continue}if(d===")"){n>0&&n--;continue}d===","&&n===0&&(t.push(e.slice(s,c).trim()),s=c+1)}return t.push(e.slice(s).trim()),t.filter(Boolean)}function ie(e,t,n,r){if(e[t]!==n)return null;let i=0,a=!1,s=!1,c=!1,d=!1;for(let o=t;o<e.length;o++){let l=e[o];if(d){d=!1;continue}if(l==="\\"&&(a||s||c)){d=!0;continue}if(a){l==="'"&&(a=!1);continue}if(s){l==='"'&&(s=!1);continue}if(c){l==="`"&&(c=!1);continue}if(l==="'"){a=!0;continue}if(l==='"'){s=!0;continue}if(l==="`"){c=!0;continue}if(l===n){i++;continue}if(l===r&&(i--,i===0))return{inner:e.slice(t+1,o),end:o}}return null}function Vn(e){let t=e.trim();if(!t)return[];let n=[],r=0,i=0,a=0,s=!1,c=!1,d=!1,o=!1,l=0;for(let m=0;m<t.length;m++){let u=t[m];if(o){o=!1;continue}if(u==="\\"&&(s||c||d)){o=!0;continue}if(s){u==="'"&&(s=!1);continue}if(c){u==='"'&&(c=!1);continue}if(d){u==="`"&&(d=!1);continue}if(u==="'"){s=!0;continue}if(u==='"'){c=!0;continue}if(u==="`"){d=!0;continue}if(u==="("?r++:u===")"&&r>0?r--:u==="{"?i++:u==="}"&&i>0?i--:u==="["?a++:u==="]"&&a>0&&a--,u===";"&&r===0&&i===0&&a===0){let h=t.slice(l,m).trim();h&&n.push(h),l=m+1}}let p=t.slice(l).trim();return p&&n.push(p),n}function bt(e){let t=e.trim();if(!t)return null;if(t.startsWith("{")){let o=ie(t,0,"{","}");if(!o)return null;let l=o.inner.trim(),p=t.slice(o.end+1).trim();return p.startsWith(";")&&(p=p.slice(1).trim()),{body:l,rest:p}}let n=0,r=0,i=0,a=!1,s=!1,c=!1,d=!1;for(let o=0;o<t.length;o++){let l=t[o];if(d){d=!1;continue}if(l==="\\"&&(a||s||c)){d=!0;continue}if(a){l==="'"&&(a=!1);continue}if(s){l==='"'&&(s=!1);continue}if(c){l==="`"&&(c=!1);continue}if(l==="'"){a=!0;continue}if(l==='"'){s=!0;continue}if(l==="`"){c=!0;continue}if(l==="("?n++:l===")"&&n>0?n--:l==="{"?r++:l==="}"&&r>0?r--:l==="["?i++:l==="]"&&i>0&&i--,l===";"&&n===0&&r===0&&i===0)return{body:t.slice(0,o).trim(),rest:t.slice(o+1).trim()}}return{body:t,rest:""}}function Gn(e,t){let n=e.trim();if(!kn.test(n)||In.test(n))return null;let r=2;for(;r<n.length&&/\s/.test(n[r]);)r++;if(n[r]!=="(")return null;let i=ie(n,r,"(",")");if(!i)return null;let a=x(i.inner.trim(),t);if(!a)return null;let s=n.slice(i.end+1).trim(),c=bt(s);if(!c||!c.body)return null;let d=Me(c.body,t);if(!d)return null;s=c.rest.trim();let o=null;if(s.startsWith("else")){s=s.slice(4).trim();let l=bt(s);if(!l||!l.body||(o=Me(l.body,t),!o))return null;s=l.rest.trim()}return s.length>0?null:l=>{H(()=>{a()?d(l):o?.(l)})}}function jn(e){let t=e.trim();for(;t.startsWith("(");){let n=ie(t,0,"(",")");if(!n||n.end!==t.length-1)break;let r=n.inner.trim();if(!r)break;t=r}return t}function kt(e){let t=fe.get(e);if(t)return t;let n=[],r=[],i=0,a=/\{item\.?(\w*)\}/g,s;for(;(s=a.exec(e))!==null;)n.push(e.slice(i,s.index)),r.push(s[1]),i=a.lastIndex;n.push(e.slice(i));let c={statics:n,dynamics:r,hasItemRef:r.length>0};return Bn(e,c),c}var Nt=new WeakMap;function Ke(e,t){if(!e.hasItemRef)return e.statics[0];let n=e.statics[0];for(let r=0;r<e.dynamics.length;r++){let i=e.dynamics[r];i?n+=String(t?.[i]??""):n+=typeof t=="object"?JSON.stringify(t):String(t??""),n+=e.statics[r+1]??""}return n}function zn(e,t){let n=e.cloneNode(!0),r=document.createTreeWalker(n,NodeFilter.SHOW_TEXT);for(;r.nextNode();){let i=r.currentNode,a=i.textContent??"";if(a.includes("{item")){let s=kt(a);Nt.set(i,s),i.textContent=Ke(s,t)}}return tr(n,t),n}function Jn(e,t){let n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);for(;n.nextNode();){let r=n.currentNode,i=Nt.get(r);i&&(r.textContent=Ke(i,t))}}var Kn=new WeakMap,Xn=["data-list","data-show","data-text","data-if","data-model","data-on:","data-class:","data-bind:","data-computed","data-persist","data-fetch","data-transition","data-transition:"];function Yn(e){for(let t of Xn)if(e===t||e.startsWith(t))return!0;return!1}function de(e){return e?e.trim().split(/\s+/).map(t=>t.trim()).filter(Boolean):[]}function ge(e){let t=e.trim().toLowerCase();if(t.endsWith("ms")){let n=Number(t.slice(0,-2));return Number.isFinite(n)&&n>=0?n:null}if(t.endsWith("s")){let n=Number(t.slice(0,-1));return Number.isFinite(n)&&n>=0?n*1e3:null}return null}function $e(e){let t=[],n;for(let r of de(e)){let i=ge(r);i!=null?n=i:t.push(r)}return{classes:t,durationMs:n}}function J(e){return Array.from(new Set(e.filter(Boolean)))}function Ae(e){return e?e.split(",").map(t=>ge(t.trim())).filter(t=>t!=null):[]}function vt(e,t){if(e.length===0&&t.length===0)return 0;if(e.length===0)return Math.max(...t,0);if(t.length===0)return Math.max(...e,0);let n=Math.max(e.length,t.length),r=0;for(let i=0;i<n;i++){let a=e[i%e.length]??0,s=t[i%t.length]??0;a+s>r&&(r=a+s)}return r}function Zn(e,t){if(typeof t=="number")return t;let n=window.getComputedStyle(e),r=vt(Ae(n.transitionDuration),Ae(n.transitionDelay)),i=vt(Ae(n.animationDuration),Ae(n.animationDelay));return Math.max(r,i)}function G(e){let t=e[Re];if(t)return t;let n={token:0,cancel:null};return e[Re]=n,n}function we(e){let t=e[Re];t?.cancel&&t.cancel(),delete e[Re]}function Fe(e){if(!(e.hasAttribute("data-transition")||Array.from(e.attributes).some(m=>m.name.startsWith("data-transition:"))))return null;let n=$e(e.getAttribute("data-transition")).classes,r=$e(e.getAttribute("data-transition:enter")),i=$e(e.getAttribute("data-transition:leave")),a=de(e.getAttribute("data-transition:enter-from")??e.getAttribute("data-transition:enter-start")),s=de(e.getAttribute("data-transition:enter-to")??e.getAttribute("data-transition:enter-end")),c=de(e.getAttribute("data-transition:leave-from")??e.getAttribute("data-transition:leave-start")),d=de(e.getAttribute("data-transition:leave-to")??e.getAttribute("data-transition:leave-end")),o=ge(e.getAttribute("data-transition:duration")??""),l=ge(e.getAttribute("data-transition:duration-enter")??"")??r.durationMs??o??void 0,p=ge(e.getAttribute("data-transition:duration-leave")??"")??i.durationMs??o??void 0;return{enter:J([...n,...r.classes]),enterFrom:J(a),enterTo:J(s),leave:J([...n,...i.classes]),leaveFrom:J(c),leaveTo:J(d),enterDurationMs:l,leaveDurationMs:p}}function _e(e,t){for(let n of t)e.classList.remove(n)}function Be(e,t){for(let n of t)e.classList.add(n)}function be(e,t,n){let r=J([...t.base,...t.from,...t.to]),i=!1,a=null,s=null,c=null,d=()=>{i||(i=!0,a!=null&&window.clearTimeout(a),s!=null&&cancelAnimationFrame(s),c!=null&&cancelAnimationFrame(c),_e(e,r),n())};return Be(e,t.base),Be(e,t.from),_e(e,t.to),s=requestAnimationFrame(()=>{c=requestAnimationFrame(()=>{if(i)return;_e(e,t.from),Be(e,t.to);let o=Zn(e,t.durationMs);if(o<=0){d();return}a=window.setTimeout(d,o+25)})}),d}function Qn(e,t,n,r){if(t.insertBefore(e,n),!r)return;let i=G(e);i.token+=1;let a=i.token;i.cancel&&i.cancel(),i.cancel=be(e,{base:r.enter,from:r.enterFrom,to:r.enterTo,durationMs:r.enterDurationMs},()=>{let s=G(e);s.token===a&&(s.cancel=null)})}function Et(e,t,n){if(e.hasAttribute("data-forma-leaving")){n();return}if(!t){n();return}e.setAttribute("data-forma-leaving","");let r=G(e);r.token+=1;let i=r.token;r.cancel&&r.cancel(),r.cancel=be(e,{base:t.leave,from:t.leaveFrom,to:t.leaveTo,durationMs:t.leaveDurationMs},()=>{let a=G(e);a.token===i&&(a.cancel=null),e.removeAttribute("data-forma-leaving"),n()})}function er(e,t,n,r){if(!n||r){e.style.display=t?"":"none",n&&_e(e,J([...n.enter,...n.enterFrom,...n.enterTo,...n.leave,...n.leaveFrom,...n.leaveTo]));return}let i=G(e);i.token+=1;let a=i.token;if(i.cancel&&i.cancel(),i.cancel=null,t){e.style.display="",i.cancel=be(e,{base:n.enter,from:n.enterFrom,to:n.enterTo,durationMs:n.enterDurationMs},()=>{let s=G(e);s.token===a&&(s.cancel=null)});return}i.cancel=be(e,{base:n.leave,from:n.leaveFrom,to:n.leaveTo,durationMs:n.leaveDurationMs},()=>{let s=G(e);s.token===a&&(e.style.display="none",s.cancel=null)})}function tr(e,t){let n=[e,...Array.from(e.querySelectorAll("*"))];for(let r of n){let i=[];for(let a of Array.from(r.attributes))if(!Yn(a.name)&&a.value.includes("{item")){let s=kt(a.value);i.push({attr:a.name,compiled:s}),r.setAttribute(a.name,Ke(s,t))}i.length>0&&Kn.set(r,i)}}function nr(e,t){let n=0,r=e.match(/^[a-zA-Z_$]\w*/);if(!r)return null;let i=r[0];if(n=i.length,n>=e.length||e[n]!=="."&&!(e[n]==="?"&&e[n+1]==="."))return null;let a=[];for(;n<e.length;){let c=!1;if(e[n]==="?"&&e[n+1]===".")c=!0,n+=2;else if(e[n]===".")n+=1;else return null;let d=e.slice(n).match(/^\w+/);if(!d)return null;let o=d[0];if(n+=o.length,re.has(o))return()=>{};if(n<e.length&&e[n]==="("){let l=ie(e,n,"(",")");if(!l)return null;let p=l.inner.trim(),m=[];for(let u of Ve(p)){let h=x(u,t);if(!h)return null;m.push(h)}a.push({type:"call",name:o,optional:c,argFns:m}),n=l.end+1}else a.push({type:"prop",name:o,optional:c})}if(n!==e.length||a.length===0)return null;let s=i==="Math"?(()=>Math):(()=>t.getters[i]?.());return()=>{let c=s();for(let d of a){if(c==null)return d.optional,void 0;if(d.type==="prop")c=c[d.name];else{let o=c[d.name];if(typeof o!="function")return;let l=d.argFns.map(p=>p());c=o.apply(c,l)}}return c}}function x(e,t){let n=ue.get(e);if(n)return n(t);let r=rr(e,t);if(r!==null)if(e==="true"||e==="false"||e==="null"||e==="undefined"){let i=e==="true"?!0:e==="false"?!1:e==="null"?null:void 0;ce(e,()=>()=>i)}else if(xt.test(e))ce(e,i=>()=>i.getters[e]?.());else if(_t.test(e)||Rt.test(e)){let i=e.slice(1,-1);ce(e,()=>()=>i)}else if(Mt.test(e)){let i=Number(e);ce(e,()=>()=>i)}else{let i=e.match(dn);if(i){let a=i[1],s=i[2];ce(e,c=>()=>c.getters[a]?.()?.[s])}}return r}function rr(e,t){e=e.trim();let n=jn(e);if(n!==e)return x(n,t);if(_t.test(e)||Rt.test(e)){let u=e.slice(1,-1);return()=>u}if(Mt.test(e)){let u=Number(e);return()=>u}if(e==="true")return()=>!0;if(e==="false")return()=>!1;if(e==="null")return()=>null;if(e==="undefined")return()=>{};if(xt.test(e))return()=>t.getters[e]?.();{let u=nr(e,t);if(u)return u}let r=e.match(An);if(r){let u=r[1].trim(),h=r[2],E=r[3].trim();if(re.has(h))return()=>{};let S=x(u,t);if(!S)return null;let w=[];for(let y of Ve(E)){let v=x(y,t);if(!v)return null;w.push(v)}return()=>{let y=S(),v=y?.[h];if(typeof v!="function")return;let f=w.map(g=>g());return v.apply(y,f)}}if(e.startsWith("!")){let u=x(e.slice(1).trim(),t);if(u)return()=>!u()}let i=e.match(mn);if(i){let u=x(i[1],t),h,E=i[2];if(wn.test(E)?h=Number(E):h=E.slice(1,-1),u)return()=>u()?.[h]}if(e.startsWith("[")){let u=ie(e,0,"[","]");if(u&&u.end===e.length-1){let h=u.inner.trim();if(h==="")return()=>[];let E=Ve(h),S=[],w=!0;for(let y of E){let v=x(y.trim(),t);if(!v){w=!1;break}S.push(v)}if(w)return()=>S.map(y=>y())}}let a=e.match(pn);if(a){let u=x(a[1].trim(),t),h=x(a[2].trim(),t),E=x(a[3].trim(),t);if(u&&h&&E)return()=>u()?h():E()}let s=e.match(gn);if(s){let u=x(s[1].trim(),t),h=x(s[2].trim(),t);if(u&&h)return()=>u()??h()}let c=e.match(bn);if(c){let u=x(c[1].trim(),t),h=x(c[2].trim(),t);if(u&&h)return()=>u()||h()}let d=e.match(hn);if(d){let u=x(d[1].trim(),t),h=x(d[2].trim(),t);if(u&&h)return()=>u()&&h()}let o=e.match(vn);if(o){let u=x(o[1].trim(),t),h=x(o[3].trim(),t);if(u&&h){let E=o[2];return()=>{let S=u(),w=h();switch(E){case"===":return S===w;case"!==":return S!==w;case"==":return S==w;case"!=":return S!=w;case">":return S>w;case"<":return S<w;case">=":return S>=w;case"<=":return S<=w}}}}let l=e.match(yn);if(l){let u=x(l[1].trim(),t),h=x(l[3].trim(),t);if(u&&h){let E=l[2];return()=>{let S=u(),w=h();return E==="+"?S+w:S-w}}}let p=e.match(En);if(p){let u=x(p[1].trim(),t),h=x(p[3].trim(),t);if(u&&h){let E=p[2];return()=>{let S=u(),w=h();switch(E){case"*":return S*w;case"/":return S/w;case"%":return S%w}}}}let m=e.match(Sn);if(m){let u=m[1],h=[],E=[],S=0,w=new RegExp(Tn.source,"g"),y;for(;(y=w.exec(u))!==null;){h.push(u.slice(S,y.index));let v=x(y[1].trim(),t);if(!v)return null;E.push(v),S=w.lastIndex}return h.push(u.slice(S)),()=>{let v=h[0];for(let f=0;f<E.length;f++)v+=String(E[f]()??""),v+=h[f+1]??"";return v}}return null}function Dt(e,t){let n=e.get(t);return n||(n=new Map,e.set(t,n)),n}function Lt(e){return e.includes("...")?"Unsupported expression in CSP-safe mode: spread syntax detected. Use .concat() instead, or enable unsafe-eval via setUnsafeEval(true).":e.includes("=>")?"Unsupported expression in CSP-safe mode: arrow function detected. Extract logic to a data-computed attribute, or enable unsafe-eval via setUnsafeEval(true).":"Unsupported expression in CSP-safe mode. Simplify the expression or enable unsafe-eval via setUnsafeEval(true)."}function X(e,t){let n=e.replace(qe,"").trim(),r=Dt(ze,t),i=r.get(n);if(i)return i;let a=x(n,t);if(a)return r.set(n,a),a;if(!F){N("buildEvaluator: blocked unsafe eval fallback for expression:",n),ne("expression-unsupported",n,Lt(n));let c=()=>{};return r.set(n,c),c}let s=Ct(n);if(s){let c=`Blocked unsafe method "${s}" in expression`;throw ne("expression-unsupported",n,c),new Error(`[FormaJS] ${c}: ${n}`)}try{let c=new Function("__scope",`with(__scope) { return (${n}); }`),d=new Proxy(Object.create(null),{has(l,p){return p in t.getters},get(l,p){if(re.has(p))return;let m=t.getters[p];return m?m():void 0}}),o=()=>c(d);return r.set(n,o),o}catch{ne("expression-unsupported",n,"Expression too complex for CSP-safe mode. Enable unsafe-eval via FormaRuntime.unsafeEval = true, or use the standard (non-hardened) build.");let c=()=>{};return r.set(n,c),c}}function Me(e,t){let n=e.trim().replace(/;+$/g,"").trim();if(!n)return null;let r=Gn(n,t);if(r)return r;let i=Vn(n);if(i.length>1){let m=i.map(u=>Me(u,t));return m.every(u=>u!==null)?u=>{H(()=>{for(let h of m)h(u)})}:null}let a=i[0]??n,s=a.match(_n);if(s){let m=s[1],u=s[2];return()=>{H(()=>{let h=t.getters[m]?.()??0;t.setters[m]?.(u==="++"?h+1:h-1)})}}let c=a.match(Rn);if(c){let m=c[1],u=c[2];return()=>{H(()=>{let h=t.getters[u]?.()??0;t.setters[u]?.(m==="++"?h+1:h-1)})}}let d=a.match(Mn);if(d&&d[1]===d[2]){let m=d[1];return()=>{H(()=>{t.setters[m]?.(!t.getters[m]?.())})}}let o=a.match(xn);if(o){let m=o[1],u=x(o[2].trim(),t);if(u)return O&&N(`parseHandler: assignment "${m} = ..." \u2014 setter exists:`,!!t.setters[m],", getter exists:",!!t.getters[m]),()=>{H(()=>{let h=u();O&&N(`SETTER: ${m} = ${h} (was: ${t.getters[m]?.()})`),t.setters[m]?.(h)})}}let l=a.match(Cn);if(l){let m=l[1],u=l[2],h=x(l[3].trim(),t);if(h)return()=>{H(()=>{let E=t.getters[m]?.()??0,S=h();switch(u){case"+=":t.setters[m]?.(E+S);break;case"-=":t.setters[m]?.(E-S);break;case"*=":t.setters[m]?.(E*S);break;case"/=":t.setters[m]?.(E/S);break}})}}let p=a.match(Hn);if(p){let m=p[1];return()=>Tt(m)}return null}function ir(e,t){let n=e.trim();if(n.startsWith("{")){let c=ie(n,0,"{","}");c&&c.end===n.length-1&&(n=c.inner.trim())}let r=Dt(Je,t),i=r.get(n);if(i)return i;let a=Me(n,t);if(a){let c={handler:a,supported:!0};return r.set(n,c),c}if(!F){N("buildHandler: blocked unsafe eval fallback for expression:",n),ne("handler-unsupported",n,Lt(n));let c={handler:()=>{},supported:!1};return r.set(n,c),c}let s=Ct(n);if(s){let c=`Blocked unsafe method "${s}" in handler`;throw ne("handler-unsupported",n,c),new Error(`[FormaJS] ${c}: ${n}`)}try{let c=new Function("__scope","$event","event",`with(__scope) { ${n} }`),d=new Proxy(Object.create(null),{has(p,m){return m==="$event"||m==="event"?!1:m in t.getters||m in t.setters},get(p,m){if(re.has(m))return;let u=t.getters[m];return u?u():void 0},set(p,m,u){let h=t.setters[m];return h&&h(u),!0}}),l={handler:p=>{H(()=>c(d,p,p))},supported:!0};return r.set(n,l),l}catch{ne("handler-unsupported",n,"Expression too complex for CSP-safe mode. Enable unsafe-eval via FormaRuntime.unsafeEval = true, or use the standard (non-hardened) build.");let c={handler:()=>{},supported:!1};return r.set(n,c),c}}var or=new Set(["__proto__","constructor","prototype"]);function Ot(e){let t;try{t=JSON.parse(e)}catch{return O&&N("parseState: Invalid JSON in data-forma-state \u2014 use valid JSON with quoted keys. Got:",e.slice(0,200)),{}}for(let n of or)n in t&&delete t[n];return t}function sr(e){let t=e.getAttribute("data-forma-state")??"{}",n=Ot(t),r=Object.keys(n);O&&(N("initScope: parsed",r.length,"keys:",r.join(", ")),r.length===0&&N("initScope: WARNING \u2014 empty state! Raw attribute:",t.slice(0,200)));let i={},a={};for(let[s,c]of Object.entries(n)){let[d,o]=te(c);i[s]=d,a[s]=o}return i.$refetch=()=>Tt,{getters:i,setters:a}}var yt=new Set(["id","className","tagName","nodeName","getAttribute","setAttribute","removeAttribute","hasAttribute","toggleAttribute","dataset","classList","textContent","innerText","value","checked","disabled","selected","type","name","placeholder","readOnly","required","min","max","step","pattern","getBoundingClientRect","offsetWidth","offsetHeight","offsetTop","offsetLeft","clientWidth","clientHeight","scrollWidth","scrollHeight","scrollTop","scrollLeft","style","hidden","focus","blur","click","scrollIntoView","scrollTo","closest","matches","querySelector","querySelectorAll","children","childElementCount","firstElementChild","lastElementChild","nextElementSibling","previousElementSibling"]);function ar(e){return new Proxy(e,{get(t,n){if(typeof n=="symbol")return Reflect.get(t,n);if(!yt.has(n))return;let r=Reflect.get(t,n);return typeof r=="function"?r.bind(t):r},set(t,n,r){return typeof n=="symbol"||!yt.has(n)?!1:Reflect.set(t,n,r)}})}function Y(e,t,n){let r={$el:ar(e),$dispatch:(y,v)=>{e.dispatchEvent(new CustomEvent(y,{bubbles:!0,composed:!0,detail:v}))}};t=He(t,r);let i=fr(e),a=!i||i.has("data-computed")?e.getAttribute("data-computed"):null;if(a){let y=a.split(/;\s*(?=\w+\s*=[^=])/);for(let v of y){let f=v.trim();if(!f)continue;let g=f.match(Nn);if(g){let b=g[1],T=g[2],k=t.getters[b];delete t.getters[b];let R=X(`{${T}}`,t),D=De(R);t.getters[b]=D,k||delete t.setters[b]}}}let s=!i||i.has("data-text")?e.getAttribute("data-text"):null;if(s){let y=X(s,t),v=P(()=>{qn(e,Wn(y()))});n.push(v)}let c=!i||i.has("data-show")?e.getAttribute("data-show"):null;if(c){let y=X(c,t),v=Fe(e);if(O){let b=e.tagName.toLowerCase(),T=e.className?`.${String(e.className).split(" ")[0]}`:"";N(`bindElement: data-show="${c}" on <${b}${T}>`)}let f=!1,g=P(()=>{let b=!!y();O&&N(`data-show effect: "${c}" \u2192 ${b}`),er(e,b,v,!f),f=!0});n.push(g),v&&n.push(()=>we(e))}let d=!i||i.has("data-if")?e.getAttribute("data-if"):null;if(d){let y=X(d,t),v=Fe(e),f=document.createComment("forma-if"),g=e.parentNode,b=!0,T=!1,k=P(()=>{let R=!!y();R&&!b?(we(e),e.removeAttribute("data-forma-leaving"),T&&v?Qn(e,g,f,v):g?.insertBefore(e,f),b=!0):!R&&b&&(T&&v?Et(e,v,()=>{e.parentNode&&(g?.insertBefore(f,e),e.remove())}):(g?.insertBefore(f,e),e.remove()),b=!1),T=!0});n.push(k),v&&n.push(()=>we(e))}let o=!i||i.has("data-model")?e.getAttribute("data-model"):null;if(o){let y=o.replace(qe,"").trim(),v=t.getters[y],f=t.setters[y];if(v&&f){let g=e,b=P(()=>{let R=v();g.type==="checkbox"?g.checked=!!R:g.value=String(R??"")});n.push(b);let T=g.type==="checkbox"?"change":"input",k=()=>{g.type==="checkbox"?f(g.checked):g.type==="number"||g.type==="range"?f(Number(g.value)):f(g.value)};g.addEventListener(T,k),n.push(()=>{g.removeEventListener(T,k)})}}let l=!i||dr(i,"data-on:","data-class:","data-bind:"),p=e.attributes;if(l)for(let y=0;y<p.length;y++){let v=p[y],f=v.name;if(f.startsWith("data-on:")){let g=f.slice(8),b=ir(v.value,t),T=b.handler;if(O){let k=e.tagName.toLowerCase(),R=e.id?`#${e.id}`:"",D=e.className?`.${String(e.className).split(" ")[0]}`:"";N(`bindElement: data-on:${g}="${v.value}" on <${k}${R}${D}>`)}if(b.supported?e.hasAttribute("data-forma-handler-error")&&e.removeAttribute("data-forma-handler-error"):e.setAttribute("data-forma-handler-error","unsupported"),O){let k=v.value,R=D=>{N(`HANDLER FIRED: data-on:${g}="${k}"`,"isTrusted:",D.isTrusted),T(D)};e.addEventListener(g,R),n.push(()=>{e.removeEventListener(g,R)})}else e.addEventListener(g,T),n.push(()=>{e.removeEventListener(g,T)})}else if(f.startsWith("data-class:")){let g=f.slice(11),b=X(v.value,t),T=P(()=>{e.classList.toggle(g,!!b())});n.push(T)}else if(f.startsWith("data-bind:")){let g=f.slice(10),b=X(v.value,t),T=P(()=>{let k=b();k==null||k===!1?e.removeAttribute(g):e.setAttribute(g,String(k))});n.push(T)}}let m=!i||i.has("data-persist")?e.getAttribute("data-persist"):null;if(m){let y=m.replace(qe,"").trim(),v=t.getters[y],f=t.setters[y];if(v&&f){let g="forma:"+y;try{let T=localStorage.getItem(g);T!==null&&f(JSON.parse(T))}catch{}let b=P(()=>{try{localStorage.setItem(g,JSON.stringify(v()))}catch{}});n.push(b)}}let u=!i||i.has("data-list")?e.getAttribute("data-list"):null;if(u){let y=X(u,t),v=e.children[0];if(v){let D=function(C){let _=C;if(Array.isArray(_.__formaDisposers)){for(let A of _.__formaDisposers)try{A()}catch{}delete _.__formaDisposers}},j=function(C,_){let A=zn(f,C),L=He(t,{item:C,index:_}),M=[];Y(A,L,M);for(let B of Array.from(A.querySelectorAll("*")))Y(B,L,M);return A.__formaDisposers=M,A},oe=function(C,_,A){D(C),Jn(C,_);let L=He(t,{item:_,index:A}),M=[];Y(C,L,M);for(let B of Array.from(C.querySelectorAll("*")))Y(B,L,M);C.__formaDisposers=M};var E=D,S=j,w=oe;let f=v.cloneNode(!0);e.removeChild(v);let g=f.getAttribute("data-key"),b=g?g.replace(On,"").trim():null,T=Fe(e),k=[],R=[],se=T?{onInsert:C=>{let _=C;if(!_.setAttribute)return;let A=G(_);A.token+=1;let L=A.token;A.cancel&&A.cancel(),A.cancel=be(_,{base:T.enter,from:T.enterFrom,to:T.enterTo,durationMs:T.enterDurationMs},()=>{let M=G(_);M.token===L&&(M.cancel=null)})},onBeforeRemove:(C,_)=>{let A=C;if(!A.setAttribute){_();return}D(C),Et(A,T,()=>{_()})}}:void 0,ae=P(()=>{let C=y();if(!Array.isArray(C)){for(let A of R)D(A),e.removeChild(A);k=[],R=[];return}if(T){let A=e.querySelectorAll("[data-forma-leaving]");for(let L of Array.from(A))we(L),L.removeAttribute("data-forma-leaving"),L.parentNode&&L.parentNode.removeChild(L)}let _=new Set(R);if(b){let A=Le(e,k,C,R,M=>String(M?.[b]??""),M=>{let B=C.indexOf(M);return j(M,B)},(M,B)=>{let I=C.indexOf(B);oe(M,B,I)},void 0,se),L=new Set(A.nodes);for(let M of _)if(!L.has(M)){if(M.hasAttribute?.("data-forma-leaving"))continue;D(M)}k=A.items,R=A.nodes}else{let A=C.map((I,ve)=>({__idx:ve,__item:I})),M=Le(e,k,A,R,I=>I.__idx,I=>j(I.__item,I.__idx),(I,ve)=>oe(I,ve.__item,ve.__idx),void 0,se),B=new Set(M.nodes);for(let I of _)if(!B.has(I)){if(I.hasAttribute?.("data-forma-leaving"))continue;D(I)}k=M.items,R=M.nodes}});n.push(ae)}}let h=!i||i.has("data-fetch")?e.getAttribute("data-fetch"):null;if(h){let y=h.match(Dn);if(y){let v=y[1].trim(),f=y[2].trim(),g=y[3]?.trim()??"",b="GET",T=v,k=v.match(Ln);k&&(b=k[1].toUpperCase(),T=k[2].trim());let R,D,j;for(let _ of g.split("|").filter(Boolean)){let[A,L]=_.split(":").map(M=>M.trim());A==="loading"?R=L:A==="error"?D=L:A==="poll"&&(j=parseInt(L??"0",10))}let[oe,se]=te(null);if(t.getters[f]=oe,t.setters[f]=se,R){let[_,A]=te(!1);t.getters[R]=_,t.setters[R]=A}if(D){let[_,A]=te(null);t.getters[D]=_,t.setters[D]=A}let ae=()=>{R&&t.setters[R](!0),fetch(T,{method:b}).then(_=>_.json()).then(_=>{se(_),R&&t.setters[R](!1)}).catch(_=>{D&&t.setters[D](_.message),R&&t.setters[R](!1)})},C=e.getAttribute("data-fetch-id");if(C&&(Ue.set(C,ae),n.push(()=>Ue.delete(C))),ae(),j&&j>0){let _=setInterval(ae,j);n.push(()=>clearInterval(_))}}}}var gi=["[data-text]","[data-show]","[data-if]","[data-model]","[data-computed]","[data-persist]","[data-list]","[data-fetch]","[data-bind\\:*]","[data-class\\:*]","[data-on\\:*]","[data-transition]"].join(",");function lr(e){let t=e.attributes;for(let n=0;n<t.length;n++){let r=t[n].name;if(r.startsWith("data-text")||r.startsWith("data-show")||r.startsWith("data-if")||r.startsWith("data-model")||r.startsWith("data-computed")||r.startsWith("data-persist")||r.startsWith("data-list")||r.startsWith("data-fetch")||r.startsWith("data-on:")||r.startsWith("data-class:")||r.startsWith("data-bind:")||r.startsWith("data-transition"))return!0}return!1}var V=null;function cr(e){if(!e||Object.keys(e).length===0){V=null;return}V=new Map;for(let t in e)V.set(t,new Set(e[t]))}function ur(){if(!V||V.size===0||V.size>200)return null;let e=[];for(let t of V.keys())e.push(`[data-forma-id="${t}"]`);return e.join(",")}function fr(e){if(!V)return null;let t=e.getAttribute("data-forma-id");return t?V.get(t)??null:null}function dr(e,...t){for(let n of e)for(let r of t)if(n.startsWith(r))return!0;return!1}function Z(e){if(e.__formaDisposers){O&&N("mountScope: SKIPPED (already mounted)");return}let t=sr(e),n=[];Y(e,t,n);let r=0,i=ur();if(i){let a=e.querySelectorAll(i);for(let s=0;s<a.length;s++)Y(a[s],t,n),r++}else{let a=e.querySelectorAll("*");for(let s=0;s<a.length;s++){let c=a[s];lr(c)&&(Y(c,t,n),r++)}}e.__formaDisposers=n,e.__formaScope=t,e.__formaInitialState=e.getAttribute("data-forma-state")??"{}",O&&N("mountScope: DONE \u2014",r,"elements bound,",n.length,"disposers",i?"(targeted)":"(full scan)")}function Q(e){let t=e.__formaDisposers;if(t){for(let n of t)try{n()}catch{}delete e.__formaDisposers,delete e.__formaScope,delete e.__formaInitialState}}var U=null,St=1,mr=40,me=[],he=!1;function pr(e){for(let t=0;t<e.removedNodes.length;t++){let n=e.removedNodes[t];if(n.nodeType!==St)continue;let r=n;r.hasAttribute("data-forma-state")&&(O&&N("MutationObserver: REMOVED scope"),Q(r));let i=r.querySelectorAll("[data-forma-state]");for(let a=0;a<i.length;a++)Q(i[a])}for(let t=0;t<e.addedNodes.length;t++){let n=e.addedNodes[t];if(n.nodeType!==St)continue;let r=n;if(r.closest("[data-forma-leaving]"))continue;r.hasAttribute("data-forma-state")&&(O&&N("MutationObserver: ADDED scope via mutation"),Z(r));let i=r.querySelectorAll("[data-forma-state]");O&&i.length>0&&N("MutationObserver: found",i.length,"nested scope(s) in added subtree");for(let a=0;a<i.length;a++){let s=i[a];s.closest("[data-forma-leaving]")||Z(s)}}if(e.type==="attributes"&&e.attributeName==="data-forma-state"){let t=e.target;Q(t),t.hasAttribute("data-forma-state")&&Z(t)}}async function It(){try{for(;me.length>0;){let e=me.splice(0,mr);for(let t=0;t<e.length;t++)pr(e[t]);me.length>0&&await At()}}finally{he=!1,me.length>0&&!he&&(he=!0,It())}}function gr(e){O&&N("MutationObserver: queued",e.length,"mutation(s)"),me.push(...e),!he&&(he=!0,It())}function hr(){if(U)return;U=new MutationObserver(gr);let e=document.body||document.documentElement;e&&U.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-forma-state"]})}function br(){U&&(U.disconnect(),U=null)}function Ge(){un&&wt(document,{skipIfAlreadySet:!0});let e=document.querySelectorAll("[data-forma-state]");O&&N("initRuntime: found",e.length,"scope(s)");for(let t of Array.from(e))Z(t);hr(),O&&N("initRuntime: MutationObserver started")}function vr(){br();let e=document.querySelectorAll("[data-forma-state]");for(let t of Array.from(e))Q(t)}function Er(e){e.hasAttribute("data-forma-state")&&Z(e);let t=e.querySelectorAll("[data-forma-state]");for(let n of Array.from(t))Z(n)}function yr(e){e.hasAttribute("data-forma-state")&&Q(e);let t=e.querySelectorAll("[data-forma-state]");for(let n of Array.from(t))Q(n)}typeof document<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Ge):Ge());function Sr(e){O=e}function Tr(e){$!==e&&($=e,e==="locked-off"&&(F=!1),e==="locked-on"&&(F=!0),e==="mutable"&&(F=!0),ze=new WeakMap,Je=new WeakMap)}function Ar(e){if($!=="mutable"){N(`setUnsafeEval ignored (mode=${$}); unsafe fallback is locked`);return}F!==e&&(F=e,ze=new WeakMap,Je=new WeakMap)}function wr(){return $}function _r(e){je=e}function Rr(){return Array.from(pe.values()).map(e=>({...e}))}function Mr(){pe.clear()}function xr(){let e=document.querySelectorAll("[data-forma-state]"),t=[];for(let n of Array.from(e)){if(n.closest("[data-forma-leaving]"))continue;let r=n.__formaScope,i=n.__formaInitialState;if(!r)continue;let a={};for(let s of Object.keys(r.getters)){let c=r.getters[s]();a[s]={value:c,type:typeof c}}t.push({element:n,id:n.getAttribute("data-forma-id")||n.id||n.tagName.toLowerCase(),values:a,initialJSON:i??"{}"})}return t}function Cr(e,t,n){let r=e.__formaScope;r?.setters[t]&&H(()=>{r.setters[t](n)})}function kr(e){let t=e.__formaScope,n=e.__formaInitialState;if(!t||!n)return;let r=Ot(n);H(()=>{for(let[i,a]of Object.entries(r))t.setters[i]?.(a)})}var Pe=null;function Nr(){return Pe||(Pe=mt({mountScope:Z,unmountScope:Q,disconnectObserver(){U&&U.disconnect()},reconnectObserver(){if(U){let e=document.body||document.documentElement;e&&U.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-forma-state"]})}},batch:H})),Pe}function Dr(e,t){Nr()(e,t)}return Ut(Lr);})();
"use strict";var FormaRuntime=(()=>{var xe=Object.defineProperty;var $t=Object.getOwnPropertyDescriptor;var Ht=Object.getOwnPropertyNames;var Ft=Object.prototype.hasOwnProperty;var Pt=(e,t)=>{for(var n in t)xe(e,n,{get:t[n],enumerable:!0})},Bt=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ht(t))!Ft.call(e,i)&&i!==n&&xe(e,i,{get:()=>t[i],enumerable:!(r=$t(t,i))||r.enumerable});return e};var Ut=e=>Bt(xe({},"__esModule",{value:!0}),e);var Lr={};Pt(Lr,{applyContainmentHints:()=>wt,clearDiagnostics:()=>Mr,destroyRuntime:()=>vr,getDiagnostics:()=>Rr,getScopes:()=>xr,getUnsafeEvalMode:()=>wr,initRuntime:()=>Ge,mount:()=>Er,reconcile:()=>Dr,resetScope:()=>kr,setDebug:()=>Sr,setDiagnostics:()=>_r,setDirectiveMap:()=>cr,setScopeValue:()=>Cr,setUnsafeEval:()=>Ar,setUnsafeEvalMode:()=>Tr,unmount:()=>yr,yieldToMain:()=>At});function Xe({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:o,shallowPropagate:c};function r(s,l,p){let m=l.depsTail;if(m!==void 0&&m.dep===s)return;let u=m!==void 0?m.nextDep:l.deps;if(u!==void 0&&u.dep===s){u.version=p,l.depsTail=u;return}let h=s.subsTail;if(h!==void 0&&h.version===p&&h.sub===l)return;let E=l.depsTail=s.subsTail={version:p,dep:s,sub:l,prevDep:m,nextDep:u,prevSub:h,nextSub:void 0};u!==void 0&&(u.prevDep=E),m!==void 0?m.nextDep=E:l.deps=E,h!==void 0?h.nextSub=E:s.subs=E}function i(s,l=s.sub){let p=s.dep,m=s.prevDep,u=s.nextDep,h=s.nextSub,E=s.prevSub;return u!==void 0?u.prevDep=m:l.depsTail=m,m!==void 0?m.nextDep=u:l.deps=u,h!==void 0?h.prevSub=E:p.subsTail=E,E!==void 0?E.nextSub=h:(p.subs=h)===void 0&&n(p),u}function a(s){let l=s.nextSub,p;e:do{let m=s.sub,u=m.flags;if(u&60?u&12?u&4?!(u&48)&&f(s,m)?(m.flags=u|40,u&=1):u=0:m.flags=u&-9|32:u=0:m.flags=u|32,u&2&&t(m),u&1){let h=m.subs;if(h!==void 0){let E=(s=h).nextSub;E!==void 0&&(p={value:l,prev:p},l=E);continue}}if((s=l)!==void 0){l=s.nextSub;continue}for(;p!==void 0;)if(s=p.value,p=p.prev,s!==void 0){l=s.nextSub;continue e}break}while(!0)}function o(s,l){let p,m=0,u=!1;e:do{let h=s.dep,E=h.flags;if(l.flags&16)u=!0;else if((E&17)===17){if(e(h)){let S=h.subs;S.nextSub!==void 0&&c(S),u=!0}}else if((E&33)===33){(s.nextSub!==void 0||s.prevSub!==void 0)&&(p={value:s,prev:p}),s=h.deps,l=h,++m;continue}if(!u){let S=s.nextDep;if(S!==void 0){s=S;continue}}for(;m--;){let S=l.subs,w=S.nextSub!==void 0;if(w?(s=p.value,p=p.prev):s=S,u){if(e(l)){w&&c(S),l=s.sub;continue}u=!1}else l.flags&=-33;l=s.sub;let y=s.nextDep;if(y!==void 0){s=y;continue e}}return u}while(!0)}function c(s){do{let l=s.sub,p=l.flags;(p&48)===32&&(l.flags=p|16,(p&6)===2&&t(l))}while((s=s.nextSub)!==void 0)}function f(s,l){let p=l.depsTail;for(;p!==void 0;){if(p===s)return!0;p=p.prevDep}return!1}}var Ee=0,Ce=0,K=0,le=0,z,W=[],{link:ke,unlink:Ye,propagate:Wt,checkDirty:Ze,shallowPropagate:Qe}=Xe({update(e){return e.depsTail!==void 0?st(e):ot(e)},notify(e){let t=le,n=t;do if(W[t++]=e,e.flags&=-3,e=e.subs?.sub,e===void 0||!(e.flags&2))break;while(!0);for(le=t;n<--t;){let r=W[n];W[n++]=W[t],W[t]=r}},unwatched(e){e.flags&1?e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=17,ye(e)):lt.call(e)}});function q(e){let t=z;return z=e,t}function et(){++Ce}function tt(){--Ce||at()}function nt(e){return Gt.bind({currentValue:e,pendingValue:e,subs:void 0,subsTail:void 0,flags:1})}function rt(e){return Vt.bind({value:void 0,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:0,getter:e})}function it(e){let t={fn:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:6},n=q(t);n!==void 0&&ke(t,n,0);try{t.fn()}finally{z=n,t.flags&=-5}return jt.bind(t)}function st(e){++Ee,e.depsTail=void 0,e.flags=5;let t=q(e);try{let n=e.value;return n!==(e.value=e.getter(n))}finally{z=t,e.flags&=-5,ye(e)}}function ot(e){return e.flags=1,e.currentValue!==(e.currentValue=e.pendingValue)}function qt(e){let t=e.flags;if(t&16||t&32&&Ze(e.deps,e)){++Ee,e.depsTail=void 0,e.flags=6;let n=q(e);try{e.fn()}finally{z=n,e.flags&=-5,ye(e)}}else e.flags=2}function at(){try{for(;K<le;){let e=W[K];W[K++]=void 0,qt(e)}}finally{for(;K<le;){let e=W[K];W[K++]=void 0,e.flags|=10}K=0,le=0}}function Vt(){let e=this.flags;if(e&16||e&32&&(Ze(this.deps,this)||(this.flags=e&-33,!1))){if(st(this)){let n=this.subs;n!==void 0&&Qe(n)}}else if(!e){this.flags=5;let n=q(this);try{this.value=this.getter()}finally{z=n,this.flags&=-5}}let t=z;return t!==void 0&&ke(this,t,Ee),this.value}function Gt(...e){if(e.length){if(this.pendingValue!==(this.pendingValue=e[0])){this.flags=17;let t=this.subs;t!==void 0&&(Wt(t),Ce||at())}}else{if(this.flags&16&&ot(this)){let n=this.subs;n!==void 0&&Qe(n)}let t=z;for(;t!==void 0;){if(t.flags&3){ke(this,t,Ee);break}t=t.subs?.sub}return this.currentValue}}function jt(){lt.call(this)}function lt(){this.depsTail=void 0,this.flags=0,ye(this);let e=this.subs;e!==void 0&&Ye(e)}function ye(e){let t=e.depsTail,n=t!==void 0?t.nextDep:e.deps;for(;n!==void 0;)n=Ye(n,e)}function zt(e,t,n){if(typeof t!="function"){if(n){let o=q(void 0),c=e();if(q(o),n(c,t))return}e(t);return}let r=q(void 0),i=e();q(r);let a=t(i);n&&n(i,a)||e(a)}function te(e,t){let n=nt(e),r=n,i=t?.equals;return[r,o=>zt(n,o,i)]}var Ne=null;function ct(e){Ne&&Ne.disposers.push(e)}function ut(){return Ne!==null}var Jt=32;var Kt=[];for(let e=0;e<Jt;e++)Kt.push([]);function B(e){let t=it(e);return ut()&&ct(t),t}function De(e){return rt(e)}function $(e){et();try{e()}finally{tt()}}function ft(e){let t=e.length;if(t===0)return[];let n=new Int32Array(t),r=new Int32Array(t),i=new Int32Array(t).fill(-1),a=0;for(let f=0;f<t;f++){let s=e[f],l=0,p=a;for(;l<p;){let m=l+p>>1;n[m]<s?l=m+1:p=m}n[l]=s,r[l]=f,l>0&&(i[f]=r[l-1]),l>=a&&a++}let o=new Array(a),c=r[a-1];for(let f=a-1;f>=0;f--)o[f]=c,c=i[c];return o}var Xt=32;function Yt(e,t,n,r,i,a,o,c,f){let s=t.length,l=n.length,p=new Array(s);for(let d=0;d<s;d++)p[d]=i(t[d]);let m=new Array(l),u=new Uint8Array(s);for(let d=0;d<l;d++){let g=i(n[d]),b=-1;for(let T=0;T<s;T++)if(!u[T]&&p[T]===g){b=T,u[T]=1;break}m[d]=b}for(let d=0;d<s;d++)if(!u[d])if(f?.onBeforeRemove){let g=r[d];f.onBeforeRemove(g,()=>{g.parentNode&&g.parentNode.removeChild(g)})}else e.removeChild(r[d]);if(s===l){let d=!0;for(let g=0;g<l;g++)if(m[g]!==g){d=!1;break}if(d){let g=new Array(l);for(let b=0;b<l;b++){let T=r[b];o(T,n[b]),g[b]=T}return{nodes:g,items:n}}}let h=[],E=[];for(let d=0;d<l;d++)m[d]!==-1&&(h.push(m[d]),E.push(d));let S=ft(h),w=new Uint8Array(l);for(let d of S)w[E[d]]=1;let y=new Array(l),v=c??null;for(let d=l-1;d>=0;d--){let g,b=!1;if(m[d]===-1)g=a(n[d]),b=!0;else if(g=r[m[d]],o(g,n[d]),w[d]){y[d]=g,v=g;continue}v?e.insertBefore(g,v):e.appendChild(g),b&&f?.onInsert?.(g),y[d]=g,v=g}return{nodes:y,items:n}}function Le(e,t,n,r,i,a,o,c,f){let s=t.length,l=n.length;if(l===0){for(let d=0;d<s;d++)if(f?.onBeforeRemove){let g=r[d];f.onBeforeRemove(g,()=>{g.parentNode&&g.parentNode.removeChild(g)})}else e.removeChild(r[d]);return{nodes:[],items:[]}}if(s===0){let d=new Array(l);for(let g=0;g<l;g++){let b=a(n[g]);c?e.insertBefore(b,c):e.appendChild(b),f?.onInsert?.(b),d[g]=b}return{nodes:d,items:n}}if(s<Xt)return Yt(e,t,n,r,i,a,o,c,f);let p=new Map;for(let d=0;d<s;d++)p.set(i(t[d]),d);let m=new Array(l),u=new Uint8Array(s);for(let d=0;d<l;d++){let g=i(n[d]),b=p.get(g);b!==void 0?(m[d]=b,u[b]=1):m[d]=-1}for(let d=0;d<s;d++)if(!u[d])if(f?.onBeforeRemove){let g=r[d];f.onBeforeRemove(g,()=>{g.parentNode&&g.parentNode.removeChild(g)})}else e.removeChild(r[d]);if(s===l){let d=!0;for(let g=0;g<l;g++)if(m[g]!==g){d=!1;break}if(d){let g=new Array(l);for(let b=0;b<l;b++){let T=r[b];o(T,n[b]),g[b]=T}return{nodes:g,items:n}}}let h=[],E=[];for(let d=0;d<l;d++)m[d]!==-1&&(h.push(m[d]),E.push(d));let S=ft(h),w=new Uint8Array(l);for(let d of S)w[E[d]]=1;let y=new Array(l),v=c??null;for(let d=l-1;d>=0;d--){let g,b=!1;if(m[d]===-1)g=a(n[d]),b=!0;else if(g=r[m[d]],o(g,n[d]),w[d]){y[d]=g,v=g;continue}v?e.insertBefore(g,v):e.appendChild(g),b&&f?.onInsert?.(g),y[d]=g,v=g}return{nodes:y,items:n}}function Zt(e){let t=new Set,n=e.attributes;for(let r=0;r<n.length;r++){let i=n[r].name;i.startsWith("data-bind:")&&t.add(i.slice(10))}return t}function Qt(e){return e.hasAttribute("data-list")||e.hasAttribute("data-if")}function dt(e){try{let t=JSON.parse(e);return Object.keys(t).sort()}catch{return[]}}function en(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function tn(e,t){let n=e.getAttribute("data-module"),r=t.getAttribute("data-module");if(n!==r)return"REPLACE";let a=e.__formaInitialState??e.getAttribute("data-forma-state")??"{}",o=t.getAttribute("data-forma-state")??"{}",c=dt(a),f=dt(o);return en(c,f)?"PRESERVE":"RESET"}var Se=null;function nn(e){return Se||(Se=document.createElement("template")),Se.innerHTML=e,Se.content}function Oe(e,t){let n=Zt(e),r=e.hasAttribute("data-show"),i=e.hasAttribute("data-model"),a=!1,o=e.attributes;for(let f=0;f<o.length;f++)if(o[f].name.startsWith("data-class:")){a=!0;break}let c=t.attributes;for(let f=0;f<c.length;f++){let s=c[f];if(s.name==="style"&&r||s.name==="class"&&a||(s.name==="value"||s.name==="checked")&&i||n.has(s.name))continue;e.getAttribute(s.name)!==s.value&&e.setAttribute(s.name,s.value)}for(let f=o.length-1;f>=0;f--){let s=o[f];if(!t.hasAttribute(s.name)){if(s.name==="style"&&r||s.name==="class"&&a||(s.name==="value"||s.name==="checked")&&i||n.has(s.name))continue;e.removeAttribute(s.name)}}}function rn(e,t){if(e.hasAttribute("data-text"))return;let n=[],r=[];for(let o of Array.from(e.childNodes))o.nodeType===Node.TEXT_NODE&&n.push(o);for(let o=0;o<t.childNodes.length;o++){let c=t.childNodes[o];c.nodeType===Node.TEXT_NODE&&r.push({node:c,index:o})}if(n.length===r.length){for(let o=0;o<n.length;o++)n[o].textContent!==r[o].node.textContent&&(n[o].textContent=r[o].node.textContent);return}let i=new Set,a=0;for(let{node:o,index:c}of r)if(a<n.length){let f=n[a];a++,i.add(f),f.textContent!==o.textContent&&(f.textContent=o.textContent)}else{let f=sn(e,t,c);e.insertBefore(document.createTextNode(o.textContent??""),f)}for(let o of n)!i.has(o)&&o.parentNode===e&&e.removeChild(o)}function sn(e,t,n){for(let r=n+1;r<t.childNodes.length;r++){let i=t.childNodes[r];if(i.nodeType===Node.ELEMENT_NODE){let a=i.getAttribute("data-forma-id");if(a){let o=e.querySelector(`[data-forma-id="${CSS.escape(a)}"]`);if(o&&o.parentElement===e)return o}}}return null}function Ie(e,t,n){if(Qt(e))return;rn(e,t);let r=Array.from(e.children),i=Array.from(t.children),a=new Map,o=[];for(let s of r){if(s.hasAttribute("data-forma-leaving"))continue;let l=s.getAttribute("data-forma-id");l?a.set(l,s):o.push(s)}let c=0,f=new Set;for(let s of i){let l=s.getAttribute("data-forma-id"),p;if(l)p=a.get(l);else for(;c<o.length;){let m=o[c];if(c++,m.tagName===s.tagName&&!f.has(m)){p=m;break}}if(p){if(f.add(p),p.hasAttribute("data-forma-state")&&s.hasAttribute("data-forma-state"))switch(tn(p,s)){case"PRESERVE":Oe(p,s),Ie(p,s,n);break;case"RESET":n.unmountScope(p),Oe(p,s),on(p,s),n.mountScope(p);break;case"REPLACE":{n.unmountScope(p);let u=s.cloneNode(!0);e.replaceChild(u,p),n.mountScope(u),f.delete(p),p=u,f.add(u);break}}else Oe(p,s),Ie(p,s,n);an(e,p,s,i)}else{let m=s.cloneNode(!0),u=ln(e,s,i);e.insertBefore(m,u),f.add(m),m.hasAttribute("data-forma-state")&&n.mountScope(m);let h=m.querySelectorAll("[data-forma-state]");for(let E of Array.from(h))n.mountScope(E)}}for(let s of r)if(!f.has(s)){if(s.parentElement!==e||s.hasAttribute("data-forma-leaving"))continue;s.hasAttribute("data-forma-state")&&n.unmountScope(s);let l=s.querySelectorAll("[data-forma-state]");for(let p of Array.from(l))n.unmountScope(p);e.removeChild(s)}}function on(e,t){for(;e.firstChild;)e.removeChild(e.firstChild);for(let n of Array.from(t.childNodes))e.appendChild(n.cloneNode(!0))}function an(e,t,n,r){let i=r.indexOf(n);if(Array.from(e.children).indexOf(t)!==i){let c=r[i+1];if(c){let f=c.getAttribute("data-forma-id");if(f){let s=e.querySelector(`[data-forma-id="${CSS.escape(f)}"]`);if(s&&s.parentElement===e){e.insertBefore(t,s);return}}}e.appendChild(t)}}function ln(e,t,n){let r=n.indexOf(t);for(let i=r+1;i<n.length;i++){let a=n[i].getAttribute("data-forma-id");if(a){let o=e.querySelector(`[data-forma-id="${CSS.escape(a)}"]`);if(o&&o.parentElement===e)return o}}return null}function mt(e){let t="";return function(r,i){let a=i.trim();if(a&&!(a===t&&r.hasChildNodes())){t=a,e.disconnectObserver();try{if(!r.hasChildNodes()||r.children.length===0){r.innerHTML=a,e.batch(()=>{let l=r.querySelectorAll("[data-forma-state]");for(let p of Array.from(l))e.mountScope(p)});return}let o=nn(a),c=document.createElement("div");c.appendChild(o);let f=new Set;for(let l of Array.from(r.children)){if(l.hasAttribute("data-forma-leaving"))continue;let p=l.getAttribute("data-forma-id");p&&f.add(p)}let s=!1;if(f.size>0)for(let l of Array.from(c.children)){let p=l.getAttribute("data-forma-id");if(p&&f.has(p)){s=!0;break}}if(f.size>0&&!s){e.batch(()=>{let l=r.querySelectorAll("[data-forma-state]");for(let m of Array.from(l))e.unmountScope(m);r.innerHTML=a;let p=r.querySelectorAll("[data-forma-state]");for(let m of Array.from(p))e.mountScope(m)});return}e.batch(()=>{Ie(r,c,e)})}finally{e.reconnectObserver()}}}}var Ue=new Map;function Tt(e){let t=Ue.get(e);t?t():O&&N(`$refetch: no data-fetch with id "${e}" found`)}function $e(e,t){let n=Object.create(null);for(let r of Object.keys(t))n[r]=()=>t[r];return{getters:new Proxy(e.getters,{get(r,i){return i in n?n[i]:r[i]},has(r,i){return i in n||i in r}}),setters:e.setters}}var O=!1,H="mutable",F=!1,je=!0;function N(...e){(O||typeof window<"u"&&window.__FORMA_DEBUG)&&console.log("[FormaJS]",...e)}var pe=new Map;function Te(e){if(e==null)return;let t=e.trim().toLowerCase();if(t==="1"||t==="true"||t==="on"||t==="yes")return!0;if(t==="0"||t==="false"||t==="off"||t==="no")return!1}function We(e){if(e==null)return;let t=e.trim().toLowerCase();if(t==="mutable")return"mutable";if(t==="locked-off"||t==="off"||t==="disabled")return"locked-off";if(t==="locked-on"||t==="on"||t==="enabled")return"locked-on"}function cn(){let e={};if(typeof window<"u"){let t=window.__FORMA_RUNTIME_CONFIG;if(t){if(typeof t.allowUnsafeEval=="boolean"&&(e.allowUnsafeEval=t.allowUnsafeEval),typeof t.unsafeEvalMode=="string"){let n=We(t.unsafeEvalMode);n&&(e.unsafeEvalMode=n)}typeof t.lockUnsafeEval=="boolean"&&(e.lockUnsafeEval=t.lockUnsafeEval),typeof t.diagnostics=="boolean"&&(e.diagnostics=t.diagnostics),typeof t.autoContainment=="boolean"&&(e.autoContainment=t.autoContainment)}}if(typeof document<"u"){let t=document.currentScript;if(t){let n=Te(t.getAttribute("data-forma-unsafe-eval"));n!==void 0&&(e.allowUnsafeEval=n);let r=We(t.getAttribute("data-forma-unsafe-eval-mode"));r!==void 0&&(e.unsafeEvalMode=r);let i=Te(t.getAttribute("data-forma-lock-unsafe-eval"));i!==void 0&&(e.lockUnsafeEval=i);let a=Te(t.getAttribute("data-forma-diagnostics"));a!==void 0&&(e.diagnostics=a);let o=Te(t.getAttribute("data-forma-auto-containment"));o!==void 0&&(e.autoContainment=o)}}return e}function ne(e,t,n){if(!je)return;let r=`${e}|${n}|${t}`,i=Date.now(),a=pe.get(r);a?(a.count+=1,a.lastSeenAt=i):(pe.set(r,{kind:e,expr:t,reason:n,count:1,firstSeenAt:i,lastSeenAt:i}),console.warn(`[FormaJS] ${n}: ${t}`));try{if(typeof window<"u"){let o={kind:e,expr:t,reason:n,count:pe.get(r)?.count??1};window.dispatchEvent(new CustomEvent("formajs:diagnostic",{detail:o}))}}catch{}}var pt=We("locked-off");pt&&(H=pt,H==="locked-off"&&(F=!1),H==="locked-on"&&(F=!0),H==="mutable"&&(F=!0));var ee=cn(),gt=ee.lockUnsafeEval?"locked-off":ee.unsafeEvalMode;gt&&(H=gt,H==="locked-off"&&(F=!1),H==="locked-on"&&(F=!0));H==="mutable"&&typeof ee.allowUnsafeEval=="boolean"&&(F=ee.allowUnsafeEval);typeof ee.diagnostics=="boolean"&&(je=ee.diagnostics);var un=ee.autoContainment===!0;function fn(){let e=globalThis?.scheduler;if(e&&(typeof e.yield=="function"||typeof e.postTask=="function"))return e}async function At(){let e=fn();if(e?.yield){await e.yield();return}if(e?.postTask){await e.postTask(()=>{},{priority:"background"});return}await new Promise(t=>setTimeout(t,0))}function wt(e=document,t={}){let n=t.selector??"[data-forma-contain]";if(!n||typeof e.querySelectorAll!="function")return 0;let r=e.querySelectorAll(n),i=0;for(let a=0;a<r.length;a++){let o=r[a];if(!o?.style)continue;let c=o.getAttribute("data-forma-contain")??t.contain??"layout style paint",f=o.getAttribute("data-forma-content-visibility")??t.contentVisibility??"auto",s=o.getAttribute("data-forma-contain-intrinsic-size")??t.containIntrinsicSize??"auto 800px",l=t.skipIfAlreadySet===!0,p=!1,m=o.style.getPropertyValue("contain"),u=o.style.getPropertyValue("content-visibility"),h=o.style.getPropertyValue("contain-intrinsic-size");c!=="off"&&(!l||!m)&&(o.style.setProperty("contain",c),p=!0),f!=="off"&&(!l||!u)&&(o.style.setProperty("content-visibility",f),p=!0),s!=="off"&&(!l||!h)&&(o.style.setProperty("contain-intrinsic-size",s),p=!0),p&&i++}return O&&i>0&&N("applyContainmentHints: applied to",i,"element(s)"),i}var _t=/^'[^']*'$/,Rt=/^"[^"]*"$/,Mt=/^-?\d+(\.\d+)?$/,xt=/^[a-zA-Z_$]\w*$/,dn=/^(\w+)\.(\w+)$/;var mn=/^(\w+)\[(\d+|'[^']*'|"[^"]*")\]$/,pn=/^(.+?)\s*\?\s*(.+?)\s*:\s*(.+)$/,gn=/^(.+?)\s*\?\?\s*(.+)$/,hn=/^(.+?)\s*&&\s*(.+)$/,bn=/^(.+?)\s*\|\|\s*(.+)$/,vn=/^(.+?)\s*(===|!==|==|!=|>=|<=|>|<)\s*(.+)$/,En=/^(.+?)\s*([*/%])\s*(.+)$/,yn=/^(.+?)\s*([+-])\s*(.+)$/,Sn=/^`([^`]*)`$/,Tn=/\$\{([^}]+)\}/g;var An=/^\((.+)\)\.(\w+)\((.*)\)$/,qe=/^\{|\}$/g;var wn=/^\d+$/,_n=/^(\w+)(\+\+|--)$/,Rn=/^(\+\+|--)(\w+)$/,Mn=/^(\w+)\s*=\s*!(\w+)$/,xn=/^(\w+)\s*=\s*(.+)$/,Cn=/^(\w+)\s*(\+=|-=|\*=|\/=)\s*(.+)$/,kn=/^if\b/,Nn=/^(\w+)\s*=\s*(.+)$/,Dn=/^(.+?)(?:→|->)\s*(\S+)(.*)$/,Ln=/^(GET|POST|PUT|PATCH|DELETE)\s+(.+)$/i,On=/^\{item\.?|\}$/g,In=/\bevent\s*[.([]|\$event\b/,$n=/^\$refetch\(\s*['"]([^'"]+)['"]\s*\)$/,Re=Symbol.for("forma-transition-state"),Hn=2048,ue=new Map;function ce(e,t){if(ue.size>=Hn){let n=ue.keys().next().value;n!==void 0&&ue.delete(n)}ue.set(e,t)}var ze=new WeakMap,Je=new WeakMap,fe=new Map,Fn=2048;function Pn(e,t){if(fe.size>=Fn){let n=fe.keys().next().value;n!==void 0&&fe.delete(n)}fe.set(e,t)}var re=new Set(["constructor","__proto__","prototype","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__","eval","Function"]),Bn=(()=>{let e=[];for(let t of re){let n=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e.push({name:t,dotRe:new RegExp(`(?:^|\\.)${n}(?:\\s*\\(|\\s*$|[^\\w$])`,"m"),bracketRe:new RegExp(`\\[\\s*(?:'${n}'|"${n}"|\``+n+"`)\\s*\\]")})}return e})();function Ct(e){let t=e.replace(/\/\*[\s\S]*?\*\//g,"");t=t.replace(/\/\/[^\n]*/g,""),t=t.replace(/\s*\.\s*/g,".");for(let{name:n,dotRe:r,bracketRe:i}of Bn)if(r.test(t)||i.test(t))return n;if(t.includes("[")){let n=Un(t);for(let r of n){if(!r.includes("+"))continue;let i=r.match(/['"`]([^'"`]*?)['"`]/g);if(!i)continue;let a=i.map(o=>o.slice(1,-1)).join("");if(re.has(a))return a}}return null}function Un(e){let t=[],n=0,r=-1;for(let i=0;i<e.length;i++)e[i]==="["?(n===0&&(r=i+1),n++):e[i]==="]"&&(n--,n===0&&r>=0&&(t.push(e.slice(r,i)),r=-1));return t}var ht=Symbol.for("forma-text-binding-cache");function Wn(e){return e==null?"":typeof e=="string"?e:typeof e=="symbol"?e.toString():String(e)}function qn(e,t){let n=e[ht];if(n||(n={initialized:!1,last:"",node:null},e[ht]=n),n.initialized&&n.last===t)return;let r=n.node;if(!r||r.parentNode!==e||e.childNodes.length!==1||e.firstChild!==r)if(e.childNodes.length===1&&e.firstChild?.nodeType===Node.TEXT_NODE)r=e.firstChild,n.node=r;else{e.textContent=t;let i=e.firstChild;n.node=i&&i.nodeType===Node.TEXT_NODE&&e.childNodes.length===1?i:null,n.last=t,n.initialized=!0;return}r.data=t,n.last=t,n.initialized=!0}function Ve(e){let t=[];if(e.trim()==="")return t;let n=0,r=!1,i=!1,a=!1,o=0;for(let c=0;c<e.length;c++){let f=e[c];if(a){a=!1;continue}if(f==="\\"){a=!0;continue}if(r){f==="'"&&(r=!1);continue}if(i){f==='"'&&(i=!1);continue}if(f==="'"){r=!0;continue}if(f==='"'){i=!0;continue}if(f==="("){n++;continue}if(f===")"){n>0&&n--;continue}f===","&&n===0&&(t.push(e.slice(o,c).trim()),o=c+1)}return t.push(e.slice(o).trim()),t.filter(Boolean)}function ie(e,t,n,r){if(e[t]!==n)return null;let i=0,a=!1,o=!1,c=!1,f=!1;for(let s=t;s<e.length;s++){let l=e[s];if(f){f=!1;continue}if(l==="\\"&&(a||o||c)){f=!0;continue}if(a){l==="'"&&(a=!1);continue}if(o){l==='"'&&(o=!1);continue}if(c){l==="`"&&(c=!1);continue}if(l==="'"){a=!0;continue}if(l==='"'){o=!0;continue}if(l==="`"){c=!0;continue}if(l===n){i++;continue}if(l===r&&(i--,i===0))return{inner:e.slice(t+1,s),end:s}}return null}function Vn(e){let t=e.trim();if(!t)return[];let n=[],r=0,i=0,a=0,o=!1,c=!1,f=!1,s=!1,l=0;for(let m=0;m<t.length;m++){let u=t[m];if(s){s=!1;continue}if(u==="\\"&&(o||c||f)){s=!0;continue}if(o){u==="'"&&(o=!1);continue}if(c){u==='"'&&(c=!1);continue}if(f){u==="`"&&(f=!1);continue}if(u==="'"){o=!0;continue}if(u==='"'){c=!0;continue}if(u==="`"){f=!0;continue}if(u==="("?r++:u===")"&&r>0?r--:u==="{"?i++:u==="}"&&i>0?i--:u==="["?a++:u==="]"&&a>0&&a--,u===";"&&r===0&&i===0&&a===0){let h=t.slice(l,m).trim();h&&n.push(h),l=m+1}}let p=t.slice(l).trim();return p&&n.push(p),n}function bt(e){let t=e.trim();if(!t)return null;if(t.startsWith("{")){let s=ie(t,0,"{","}");if(!s)return null;let l=s.inner.trim(),p=t.slice(s.end+1).trim();return p.startsWith(";")&&(p=p.slice(1).trim()),{body:l,rest:p}}let n=0,r=0,i=0,a=!1,o=!1,c=!1,f=!1;for(let s=0;s<t.length;s++){let l=t[s];if(f){f=!1;continue}if(l==="\\"&&(a||o||c)){f=!0;continue}if(a){l==="'"&&(a=!1);continue}if(o){l==='"'&&(o=!1);continue}if(c){l==="`"&&(c=!1);continue}if(l==="'"){a=!0;continue}if(l==='"'){o=!0;continue}if(l==="`"){c=!0;continue}if(l==="("?n++:l===")"&&n>0?n--:l==="{"?r++:l==="}"&&r>0?r--:l==="["?i++:l==="]"&&i>0&&i--,l===";"&&n===0&&r===0&&i===0)return{body:t.slice(0,s).trim(),rest:t.slice(s+1).trim()}}return{body:t,rest:""}}function Gn(e,t){let n=e.trim();if(!kn.test(n)||In.test(n))return null;let r=2;for(;r<n.length&&/\s/.test(n[r]);)r++;if(n[r]!=="(")return null;let i=ie(n,r,"(",")");if(!i)return null;let a=x(i.inner.trim(),t);if(!a)return null;let o=n.slice(i.end+1).trim(),c=bt(o);if(!c||!c.body)return null;let f=Me(c.body,t);if(!f)return null;o=c.rest.trim();let s=null;if(o.startsWith("else")){o=o.slice(4).trim();let l=bt(o);if(!l||!l.body||(s=Me(l.body,t),!s))return null;o=l.rest.trim()}return o.length>0?null:l=>{$(()=>{a()?f(l):s?.(l)})}}function jn(e){let t=e.trim();for(;t.startsWith("(");){let n=ie(t,0,"(",")");if(!n||n.end!==t.length-1)break;let r=n.inner.trim();if(!r)break;t=r}return t}function kt(e){let t=fe.get(e);if(t)return t;let n=[],r=[],i=0,a=/\{item\.?(\w*)\}/g,o;for(;(o=a.exec(e))!==null;)n.push(e.slice(i,o.index)),r.push(o[1]),i=a.lastIndex;n.push(e.slice(i));let c={statics:n,dynamics:r,hasItemRef:r.length>0};return Pn(e,c),c}var Nt=new WeakMap;function Ke(e,t){if(!e.hasItemRef)return e.statics[0];let n=e.statics[0];for(let r=0;r<e.dynamics.length;r++){let i=e.dynamics[r];i?n+=String(t?.[i]??""):n+=typeof t=="object"?JSON.stringify(t):String(t??""),n+=e.statics[r+1]??""}return n}function zn(e,t){let n=e.cloneNode(!0),r=document.createTreeWalker(n,NodeFilter.SHOW_TEXT);for(;r.nextNode();){let i=r.currentNode,a=i.textContent??"";if(a.includes("{item")){let o=kt(a);Nt.set(i,o),i.textContent=Ke(o,t)}}return tr(n,t),n}function Jn(e,t){let n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);for(;n.nextNode();){let r=n.currentNode,i=Nt.get(r);i&&(r.textContent=Ke(i,t))}}var Kn=new WeakMap,Xn=["data-list","data-show","data-text","data-if","data-model","data-on:","data-class:","data-bind:","data-computed","data-persist","data-fetch","data-transition","data-transition:"];function Yn(e){for(let t of Xn)if(e===t||e.startsWith(t))return!0;return!1}function de(e){return e?e.trim().split(/\s+/).map(t=>t.trim()).filter(Boolean):[]}function ge(e){let t=e.trim().toLowerCase();if(t.endsWith("ms")){let n=Number(t.slice(0,-2));return Number.isFinite(n)&&n>=0?n:null}if(t.endsWith("s")){let n=Number(t.slice(0,-1));return Number.isFinite(n)&&n>=0?n*1e3:null}return null}function He(e){let t=[],n;for(let r of de(e)){let i=ge(r);i!=null?n=i:t.push(r)}return{classes:t,durationMs:n}}function J(e){return Array.from(new Set(e.filter(Boolean)))}function Ae(e){return e?e.split(",").map(t=>ge(t.trim())).filter(t=>t!=null):[]}function vt(e,t){if(e.length===0&&t.length===0)return 0;if(e.length===0)return Math.max(...t,0);if(t.length===0)return Math.max(...e,0);let n=Math.max(e.length,t.length),r=0;for(let i=0;i<n;i++){let a=e[i%e.length]??0,o=t[i%t.length]??0;a+o>r&&(r=a+o)}return r}function Zn(e,t){if(typeof t=="number")return t;let n=window.getComputedStyle(e),r=vt(Ae(n.transitionDuration),Ae(n.transitionDelay)),i=vt(Ae(n.animationDuration),Ae(n.animationDelay));return Math.max(r,i)}function G(e){let t=e[Re];if(t)return t;let n={token:0,cancel:null};return e[Re]=n,n}function we(e){let t=e[Re];t?.cancel&&t.cancel(),delete e[Re]}function Fe(e){if(!(e.hasAttribute("data-transition")||Array.from(e.attributes).some(m=>m.name.startsWith("data-transition:"))))return null;let n=He(e.getAttribute("data-transition")).classes,r=He(e.getAttribute("data-transition:enter")),i=He(e.getAttribute("data-transition:leave")),a=de(e.getAttribute("data-transition:enter-from")??e.getAttribute("data-transition:enter-start")),o=de(e.getAttribute("data-transition:enter-to")??e.getAttribute("data-transition:enter-end")),c=de(e.getAttribute("data-transition:leave-from")??e.getAttribute("data-transition:leave-start")),f=de(e.getAttribute("data-transition:leave-to")??e.getAttribute("data-transition:leave-end")),s=ge(e.getAttribute("data-transition:duration")??""),l=ge(e.getAttribute("data-transition:duration-enter")??"")??r.durationMs??s??void 0,p=ge(e.getAttribute("data-transition:duration-leave")??"")??i.durationMs??s??void 0;return{enter:J([...n,...r.classes]),enterFrom:J(a),enterTo:J(o),leave:J([...n,...i.classes]),leaveFrom:J(c),leaveTo:J(f),enterDurationMs:l,leaveDurationMs:p}}function _e(e,t){for(let n of t)e.classList.remove(n)}function Pe(e,t){for(let n of t)e.classList.add(n)}function be(e,t,n){let r=J([...t.base,...t.from,...t.to]),i=!1,a=null,o=null,c=null,f=()=>{i||(i=!0,a!=null&&window.clearTimeout(a),o!=null&&cancelAnimationFrame(o),c!=null&&cancelAnimationFrame(c),_e(e,r),n())};return Pe(e,t.base),Pe(e,t.from),_e(e,t.to),o=requestAnimationFrame(()=>{c=requestAnimationFrame(()=>{if(i)return;_e(e,t.from),Pe(e,t.to);let s=Zn(e,t.durationMs);if(s<=0){f();return}a=window.setTimeout(f,s+25)})}),f}function Qn(e,t,n,r){if(t.insertBefore(e,n),!r)return;let i=G(e);i.token+=1;let a=i.token;i.cancel&&i.cancel(),i.cancel=be(e,{base:r.enter,from:r.enterFrom,to:r.enterTo,durationMs:r.enterDurationMs},()=>{let o=G(e);o.token===a&&(o.cancel=null)})}function Et(e,t,n){if(e.hasAttribute("data-forma-leaving")){n();return}if(!t){n();return}e.setAttribute("data-forma-leaving","");let r=G(e);r.token+=1;let i=r.token;r.cancel&&r.cancel(),r.cancel=be(e,{base:t.leave,from:t.leaveFrom,to:t.leaveTo,durationMs:t.leaveDurationMs},()=>{let a=G(e);a.token===i&&(a.cancel=null),e.removeAttribute("data-forma-leaving"),n()})}function er(e,t,n,r){if(!n||r){e.style.display=t?"":"none",n&&_e(e,J([...n.enter,...n.enterFrom,...n.enterTo,...n.leave,...n.leaveFrom,...n.leaveTo]));return}let i=G(e);i.token+=1;let a=i.token;if(i.cancel&&i.cancel(),i.cancel=null,t){e.style.display="",i.cancel=be(e,{base:n.enter,from:n.enterFrom,to:n.enterTo,durationMs:n.enterDurationMs},()=>{let o=G(e);o.token===a&&(o.cancel=null)});return}i.cancel=be(e,{base:n.leave,from:n.leaveFrom,to:n.leaveTo,durationMs:n.leaveDurationMs},()=>{let o=G(e);o.token===a&&(e.style.display="none",o.cancel=null)})}function tr(e,t){let n=[e,...Array.from(e.querySelectorAll("*"))];for(let r of n){let i=[];for(let a of Array.from(r.attributes))if(!Yn(a.name)&&a.value.includes("{item")){let o=kt(a.value);i.push({attr:a.name,compiled:o}),r.setAttribute(a.name,Ke(o,t))}i.length>0&&Kn.set(r,i)}}function nr(e,t){let n=0,r=e.match(/^[a-zA-Z_$]\w*/);if(!r)return null;let i=r[0];if(n=i.length,n>=e.length||e[n]!=="."&&!(e[n]==="?"&&e[n+1]==="."))return null;let a=[];for(;n<e.length;){let c=!1;if(e[n]==="?"&&e[n+1]===".")c=!0,n+=2;else if(e[n]===".")n+=1;else return null;let f=e.slice(n).match(/^\w+/);if(!f)return null;let s=f[0];if(n+=s.length,re.has(s))return()=>{};if(n<e.length&&e[n]==="("){let l=ie(e,n,"(",")");if(!l)return null;let p=l.inner.trim(),m=[];for(let u of Ve(p)){let h=x(u,t);if(!h)return null;m.push(h)}a.push({type:"call",name:s,optional:c,argFns:m}),n=l.end+1}else a.push({type:"prop",name:s,optional:c})}if(n!==e.length||a.length===0)return null;let o=i==="Math"?(()=>Math):(()=>t.getters[i]?.());return()=>{let c=o();for(let f of a){if(c==null)return f.optional,void 0;if(f.type==="prop")c=c[f.name];else{let s=c[f.name];if(typeof s!="function")return;let l=f.argFns.map(p=>p());c=s.apply(c,l)}}return c}}function x(e,t){let n=ue.get(e);if(n)return n(t);let r=rr(e,t);if(r!==null)if(e==="true"||e==="false"||e==="null"||e==="undefined"){let i=e==="true"?!0:e==="false"?!1:e==="null"?null:void 0;ce(e,()=>()=>i)}else if(xt.test(e))ce(e,i=>()=>i.getters[e]?.());else if(_t.test(e)||Rt.test(e)){let i=e.slice(1,-1);ce(e,()=>()=>i)}else if(Mt.test(e)){let i=Number(e);ce(e,()=>()=>i)}else{let i=e.match(dn);if(i){let a=i[1],o=i[2];ce(e,c=>()=>c.getters[a]?.()?.[o])}}return r}function rr(e,t){e=e.trim();let n=jn(e);if(n!==e)return x(n,t);if(_t.test(e)||Rt.test(e)){let u=e.slice(1,-1);return()=>u}if(Mt.test(e)){let u=Number(e);return()=>u}if(e==="true")return()=>!0;if(e==="false")return()=>!1;if(e==="null")return()=>null;if(e==="undefined")return()=>{};if(xt.test(e))return()=>t.getters[e]?.();{let u=nr(e,t);if(u)return u}let r=e.match(An);if(r){let u=r[1].trim(),h=r[2],E=r[3].trim();if(re.has(h))return()=>{};let S=x(u,t);if(!S)return null;let w=[];for(let y of Ve(E)){let v=x(y,t);if(!v)return null;w.push(v)}return()=>{let y=S(),v=y?.[h];if(typeof v!="function")return;let d=w.map(g=>g());return v.apply(y,d)}}if(e.startsWith("!")){let u=x(e.slice(1).trim(),t);if(u)return()=>!u()}let i=e.match(mn);if(i){let u=x(i[1],t),h,E=i[2];if(wn.test(E)?h=Number(E):h=E.slice(1,-1),u)return()=>u()?.[h]}if(e.startsWith("[")){let u=ie(e,0,"[","]");if(u&&u.end===e.length-1){let h=u.inner.trim();if(h==="")return()=>[];let E=Ve(h),S=[],w=!0;for(let y of E){let v=x(y.trim(),t);if(!v){w=!1;break}S.push(v)}if(w)return()=>S.map(y=>y())}}let a=e.match(pn);if(a){let u=x(a[1].trim(),t),h=x(a[2].trim(),t),E=x(a[3].trim(),t);if(u&&h&&E)return()=>u()?h():E()}let o=e.match(gn);if(o){let u=x(o[1].trim(),t),h=x(o[2].trim(),t);if(u&&h)return()=>u()??h()}let c=e.match(bn);if(c){let u=x(c[1].trim(),t),h=x(c[2].trim(),t);if(u&&h)return()=>u()||h()}let f=e.match(hn);if(f){let u=x(f[1].trim(),t),h=x(f[2].trim(),t);if(u&&h)return()=>u()&&h()}let s=e.match(vn);if(s){let u=x(s[1].trim(),t),h=x(s[3].trim(),t);if(u&&h){let E=s[2];return()=>{let S=u(),w=h();switch(E){case"===":return S===w;case"!==":return S!==w;case"==":return S==w;case"!=":return S!=w;case">":return S>w;case"<":return S<w;case">=":return S>=w;case"<=":return S<=w}}}}let l=e.match(yn);if(l){let u=x(l[1].trim(),t),h=x(l[3].trim(),t);if(u&&h){let E=l[2];return()=>{let S=u(),w=h();return E==="+"?S+w:S-w}}}let p=e.match(En);if(p){let u=x(p[1].trim(),t),h=x(p[3].trim(),t);if(u&&h){let E=p[2];return()=>{let S=u(),w=h();switch(E){case"*":return S*w;case"/":return S/w;case"%":return S%w}}}}let m=e.match(Sn);if(m){let u=m[1],h=[],E=[],S=0,w=new RegExp(Tn.source,"g"),y;for(;(y=w.exec(u))!==null;){h.push(u.slice(S,y.index));let v=x(y[1].trim(),t);if(!v)return null;E.push(v),S=w.lastIndex}return h.push(u.slice(S)),()=>{let v=h[0];for(let d=0;d<E.length;d++)v+=String(E[d]()??""),v+=h[d+1]??"";return v}}return null}function Dt(e,t){let n=e.get(t);return n||(n=new Map,e.set(t,n)),n}function Lt(e){return e.includes("...")?"Unsupported expression in CSP-safe mode: spread syntax detected. Use .concat() instead, or enable unsafe-eval via setUnsafeEval(true).":e.includes("=>")?"Unsupported expression in CSP-safe mode: arrow function detected. Extract logic to a data-computed attribute, or enable unsafe-eval via setUnsafeEval(true).":"Unsupported expression in CSP-safe mode. Simplify the expression or enable unsafe-eval via setUnsafeEval(true)."}function X(e,t){let n=e.replace(qe,"").trim(),r=Dt(ze,t),i=r.get(n);if(i)return i;let a=x(n,t);if(a)return r.set(n,a),a;if(!F){N("buildEvaluator: blocked unsafe eval fallback for expression:",n),ne("expression-unsupported",n,Lt(n));let c=()=>{};return r.set(n,c),c}let o=Ct(n);if(o){let c=`Blocked unsafe method "${o}" in expression`;throw ne("expression-unsupported",n,c),new Error(`[FormaJS] ${c}: ${n}`)}try{let c=new Function("__scope",`with(__scope) { return (${n}); }`),f=new Proxy(Object.create(null),{has(l,p){return p in t.getters},get(l,p){if(re.has(p))return;let m=t.getters[p];return m?m():void 0}}),s=()=>c(f);return r.set(n,s),s}catch{ne("expression-unsupported",n,"Expression too complex for CSP-safe mode. Enable unsafe-eval via FormaRuntime.unsafeEval = true, or use the standard (non-hardened) build.");let c=()=>{};return r.set(n,c),c}}function Me(e,t){let n=e.trim().replace(/;+$/g,"").trim();if(!n)return null;let r=Gn(n,t);if(r)return r;let i=Vn(n);if(i.length>1){let m=i.map(u=>Me(u,t));return m.every(u=>u!==null)?u=>{$(()=>{for(let h of m)h(u)})}:null}let a=i[0]??n,o=a.match(_n);if(o){let m=o[1],u=o[2];return()=>{$(()=>{let h=t.getters[m]?.()??0;t.setters[m]?.(u==="++"?h+1:h-1)})}}let c=a.match(Rn);if(c){let m=c[1],u=c[2];return()=>{$(()=>{let h=t.getters[u]?.()??0;t.setters[u]?.(m==="++"?h+1:h-1)})}}let f=a.match(Mn);if(f&&f[1]===f[2]){let m=f[1];return()=>{$(()=>{t.setters[m]?.(!t.getters[m]?.())})}}let s=a.match(xn);if(s){let m=s[1],u=x(s[2].trim(),t);if(u)return O&&N(`parseHandler: assignment "${m} = ..." \u2014 setter exists:`,!!t.setters[m],", getter exists:",!!t.getters[m]),()=>{$(()=>{let h=u();O&&N(`SETTER: ${m} = ${h} (was: ${t.getters[m]?.()})`),t.setters[m]?.(h)})}}let l=a.match(Cn);if(l){let m=l[1],u=l[2],h=x(l[3].trim(),t);if(h)return()=>{$(()=>{let E=t.getters[m]?.()??0,S=h();switch(u){case"+=":t.setters[m]?.(E+S);break;case"-=":t.setters[m]?.(E-S);break;case"*=":t.setters[m]?.(E*S);break;case"/=":t.setters[m]?.(E/S);break}})}}let p=a.match($n);if(p){let m=p[1];return()=>Tt(m)}return null}function ir(e,t){let n=e.trim();if(n.startsWith("{")){let c=ie(n,0,"{","}");c&&c.end===n.length-1&&(n=c.inner.trim())}let r=Dt(Je,t),i=r.get(n);if(i)return i;let a=Me(n,t);if(a){let c={handler:a,supported:!0};return r.set(n,c),c}if(!F){N("buildHandler: blocked unsafe eval fallback for expression:",n),ne("handler-unsupported",n,Lt(n));let c={handler:()=>{},supported:!1};return r.set(n,c),c}let o=Ct(n);if(o){let c=`Blocked unsafe method "${o}" in handler`;throw ne("handler-unsupported",n,c),new Error(`[FormaJS] ${c}: ${n}`)}try{let c=new Function("__scope","$event","event",`with(__scope) { ${n} }`),f=new Proxy(Object.create(null),{has(p,m){return m==="$event"||m==="event"?!1:m in t.getters||m in t.setters},get(p,m){if(re.has(m))return;let u=t.getters[m];return u?u():void 0},set(p,m,u){let h=t.setters[m];return h&&h(u),!0}}),l={handler:p=>{$(()=>c(f,p,p))},supported:!0};return r.set(n,l),l}catch{ne("handler-unsupported",n,"Expression too complex for CSP-safe mode. Enable unsafe-eval via FormaRuntime.unsafeEval = true, or use the standard (non-hardened) build.");let c={handler:()=>{},supported:!1};return r.set(n,c),c}}var sr=new Set(["__proto__","constructor","prototype"]);function Ot(e){let t;try{t=JSON.parse(e)}catch{return O&&N("parseState: Invalid JSON in data-forma-state \u2014 use valid JSON with quoted keys. Got:",e.slice(0,200)),{}}for(let n of sr)n in t&&delete t[n];return t}function or(e){let t=e.getAttribute("data-forma-state")??"{}",n=Ot(t),r=Object.keys(n);O&&(N("initScope: parsed",r.length,"keys:",r.join(", ")),r.length===0&&N("initScope: WARNING \u2014 empty state! Raw attribute:",t.slice(0,200)));let i={},a={};for(let[o,c]of Object.entries(n)){let[f,s]=te(c);i[o]=f,a[o]=s}return i.$refetch=()=>Tt,{getters:i,setters:a}}var yt=new Set(["id","className","tagName","nodeName","getAttribute","setAttribute","removeAttribute","hasAttribute","toggleAttribute","dataset","classList","textContent","innerText","value","checked","disabled","selected","type","name","placeholder","readOnly","required","min","max","step","pattern","getBoundingClientRect","offsetWidth","offsetHeight","offsetTop","offsetLeft","clientWidth","clientHeight","scrollWidth","scrollHeight","scrollTop","scrollLeft","style","hidden","focus","blur","click","scrollIntoView","scrollTo","closest","matches","querySelector","querySelectorAll","children","childElementCount","firstElementChild","lastElementChild","nextElementSibling","previousElementSibling"]);function ar(e){return new Proxy(e,{get(t,n){if(typeof n=="symbol")return Reflect.get(t,n);if(!yt.has(n))return;let r=Reflect.get(t,n);return typeof r=="function"?r.bind(t):r},set(t,n,r){return typeof n=="symbol"||!yt.has(n)?!1:Reflect.set(t,n,r)}})}function Y(e,t,n){let r={$el:ar(e),$dispatch:(y,v)=>{e.dispatchEvent(new CustomEvent(y,{bubbles:!0,composed:!0,detail:v}))}};t=$e(t,r);let i=fr(e),a=!i||i.has("data-computed")?e.getAttribute("data-computed"):null;if(a){let y=a.split(/;\s*(?=\w+\s*=[^=])/);for(let v of y){let d=v.trim();if(!d)continue;let g=d.match(Nn);if(g){let b=g[1],T=g[2],k=t.getters[b];delete t.getters[b];let R=X(`{${T}}`,t),D=De(R);t.getters[b]=D,k||delete t.setters[b]}}}let o=!i||i.has("data-text")?e.getAttribute("data-text"):null;if(o){let y=X(o,t),v=B(()=>{qn(e,Wn(y()))});n.push(v)}let c=!i||i.has("data-show")?e.getAttribute("data-show"):null;if(c){let y=X(c,t),v=Fe(e);if(O){let b=e.tagName.toLowerCase(),T=e.className?`.${String(e.className).split(" ")[0]}`:"";N(`bindElement: data-show="${c}" on <${b}${T}>`)}let d=!1,g=B(()=>{let b=!!y();O&&N(`data-show effect: "${c}" \u2192 ${b}`),er(e,b,v,!d),d=!0});n.push(g),v&&n.push(()=>we(e))}let f=!i||i.has("data-if")?e.getAttribute("data-if"):null;if(f){let y=X(f,t),v=Fe(e),d=document.createComment("forma-if"),g=e.parentNode,b=!0,T=!1,k=B(()=>{let R=!!y();R&&!b?(we(e),e.removeAttribute("data-forma-leaving"),T&&v?Qn(e,g,d,v):g?.insertBefore(e,d),b=!0):!R&&b&&(T&&v?Et(e,v,()=>{e.parentNode&&(g?.insertBefore(d,e),e.remove())}):(g?.insertBefore(d,e),e.remove()),b=!1),T=!0});n.push(k),v&&n.push(()=>we(e))}let s=!i||i.has("data-model")?e.getAttribute("data-model"):null;if(s){let y=s.replace(qe,"").trim(),v=t.getters[y],d=t.setters[y];if(v&&d){let g=e,b=B(()=>{let R=v();g.type==="checkbox"?g.checked=!!R:g.value=String(R??"")});n.push(b);let T=g.type==="checkbox"?"change":"input",k=()=>{g.type==="checkbox"?d(g.checked):g.type==="number"||g.type==="range"?d(Number(g.value)):d(g.value)};g.addEventListener(T,k),n.push(()=>{g.removeEventListener(T,k)})}}let l=!i||dr(i,"data-on:","data-class:","data-bind:"),p=e.attributes;if(l)for(let y=0;y<p.length;y++){let v=p[y],d=v.name;if(d.startsWith("data-on:")){let g=d.slice(8),b=ir(v.value,t),T=b.handler;if(O){let k=e.tagName.toLowerCase(),R=e.id?`#${e.id}`:"",D=e.className?`.${String(e.className).split(" ")[0]}`:"";N(`bindElement: data-on:${g}="${v.value}" on <${k}${R}${D}>`)}if(b.supported?e.hasAttribute("data-forma-handler-error")&&e.removeAttribute("data-forma-handler-error"):e.setAttribute("data-forma-handler-error","unsupported"),O){let k=v.value,R=D=>{N(`HANDLER FIRED: data-on:${g}="${k}"`,"isTrusted:",D.isTrusted),T(D)};e.addEventListener(g,R),n.push(()=>{e.removeEventListener(g,R)})}else e.addEventListener(g,T),n.push(()=>{e.removeEventListener(g,T)})}else if(d.startsWith("data-class:")){let g=d.slice(11),b=X(v.value,t),T=B(()=>{e.classList.toggle(g,!!b())});n.push(T)}else if(d.startsWith("data-bind:")){let g=d.slice(10),b=X(v.value,t),T=B(()=>{let k=b();k==null||k===!1?e.removeAttribute(g):e.setAttribute(g,String(k))});n.push(T)}}let m=!i||i.has("data-persist")?e.getAttribute("data-persist"):null;if(m){let y=m.replace(qe,"").trim(),v=t.getters[y],d=t.setters[y];if(v&&d){let g="forma:"+y;try{let T=localStorage.getItem(g);T!==null&&d(JSON.parse(T))}catch{}let b=B(()=>{try{localStorage.setItem(g,JSON.stringify(v()))}catch{}});n.push(b)}}let u=!i||i.has("data-list")?e.getAttribute("data-list"):null;if(u){let y=X(u,t),v=e.children[0];if(v){let D=function(C){let _=C;if(Array.isArray(_.__formaDisposers)){for(let A of _.__formaDisposers)try{A()}catch{}delete _.__formaDisposers}},j=function(C,_){let A=zn(d,C),L=$e(t,{item:C,index:_}),M=[];Y(A,L,M);for(let P of Array.from(A.querySelectorAll("*")))Y(P,L,M);return A.__formaDisposers=M,A},se=function(C,_,A){D(C),Jn(C,_);let L=$e(t,{item:_,index:A}),M=[];Y(C,L,M);for(let P of Array.from(C.querySelectorAll("*")))Y(P,L,M);C.__formaDisposers=M};var E=D,S=j,w=se;let d=v.cloneNode(!0);e.removeChild(v);let g=d.getAttribute("data-key"),b=g?g.replace(On,"").trim():null,T=Fe(e),k=[],R=[],oe=T?{onInsert:C=>{let _=C;if(!_.setAttribute)return;let A=G(_);A.token+=1;let L=A.token;A.cancel&&A.cancel(),A.cancel=be(_,{base:T.enter,from:T.enterFrom,to:T.enterTo,durationMs:T.enterDurationMs},()=>{let M=G(_);M.token===L&&(M.cancel=null)})},onBeforeRemove:(C,_)=>{let A=C;if(!A.setAttribute){_();return}D(C),Et(A,T,()=>{_()})}}:void 0,ae=B(()=>{let C=y();if(!Array.isArray(C)){for(let A of R)D(A),e.removeChild(A);k=[],R=[];return}if(T){let A=e.querySelectorAll("[data-forma-leaving]");for(let L of Array.from(A))we(L),L.removeAttribute("data-forma-leaving"),L.parentNode&&L.parentNode.removeChild(L)}let _=new Set(R);if(b){let A=Le(e,k,C,R,M=>String(M?.[b]??""),M=>{let P=C.indexOf(M);return j(M,P)},(M,P)=>{let I=C.indexOf(P);se(M,P,I)},void 0,oe),L=new Set(A.nodes);for(let M of _)if(!L.has(M)){if(M.hasAttribute?.("data-forma-leaving"))continue;D(M)}k=A.items,R=A.nodes}else{let A=C.map((I,ve)=>({__idx:ve,__item:I})),M=Le(e,k,A,R,I=>I.__idx,I=>j(I.__item,I.__idx),(I,ve)=>se(I,ve.__item,ve.__idx),void 0,oe),P=new Set(M.nodes);for(let I of _)if(!P.has(I)){if(I.hasAttribute?.("data-forma-leaving"))continue;D(I)}k=M.items,R=M.nodes}});n.push(ae)}}let h=!i||i.has("data-fetch")?e.getAttribute("data-fetch"):null;if(h){let y=h.match(Dn);if(y){let v=y[1].trim(),d=y[2].trim(),g=y[3]?.trim()??"",b="GET",T=v,k=v.match(Ln);k&&(b=k[1].toUpperCase(),T=k[2].trim());let R,D,j;for(let _ of g.split("|").filter(Boolean)){let[A,L]=_.split(":").map(M=>M.trim());A==="loading"?R=L:A==="error"?D=L:A==="poll"&&(j=parseInt(L??"0",10))}let[se,oe]=te(null);if(t.getters[d]=se,t.setters[d]=oe,R){let[_,A]=te(!1);t.getters[R]=_,t.setters[R]=A}if(D){let[_,A]=te(null);t.getters[D]=_,t.setters[D]=A}let ae=()=>{R&&t.setters[R](!0),fetch(T,{method:b}).then(_=>_.json()).then(_=>{oe(_),R&&t.setters[R](!1)}).catch(_=>{D&&t.setters[D](_.message),R&&t.setters[R](!1)})},C=e.getAttribute("data-fetch-id");if(C&&(Ue.set(C,ae),n.push(()=>Ue.delete(C))),ae(),j&&j>0){let _=setInterval(ae,j);n.push(()=>clearInterval(_))}}}}var gi=["[data-text]","[data-show]","[data-if]","[data-model]","[data-computed]","[data-persist]","[data-list]","[data-fetch]","[data-bind\\:*]","[data-class\\:*]","[data-on\\:*]","[data-transition]"].join(",");function lr(e){let t=e.attributes;for(let n=0;n<t.length;n++){let r=t[n].name;if(r.startsWith("data-text")||r.startsWith("data-show")||r.startsWith("data-if")||r.startsWith("data-model")||r.startsWith("data-computed")||r.startsWith("data-persist")||r.startsWith("data-list")||r.startsWith("data-fetch")||r.startsWith("data-on:")||r.startsWith("data-class:")||r.startsWith("data-bind:")||r.startsWith("data-transition"))return!0}return!1}var V=null;function cr(e){if(!e||Object.keys(e).length===0){V=null;return}V=new Map;for(let t in e)V.set(t,new Set(e[t]))}function ur(){if(!V||V.size===0||V.size>200)return null;let e=[];for(let t of V.keys())e.push(`[data-forma-id="${t}"]`);return e.join(",")}function fr(e){if(!V)return null;let t=e.getAttribute("data-forma-id");return t?V.get(t)??null:null}function dr(e,...t){for(let n of e)for(let r of t)if(n.startsWith(r))return!0;return!1}function Z(e){if(e.__formaDisposers){O&&N("mountScope: SKIPPED (already mounted)");return}let t=or(e),n=[],r=new Map,i=e.querySelectorAll("[data-ref]");for(let f=0;f<i.length;f++){let s=i[f],l=s.getAttribute("data-ref");l&&r.set(l,s)}let a=e.getAttribute("data-ref");a&&r.set(a,e),t.getters.$refs=()=>new Proxy({},{get(f,s){return r.get(s)??void 0},has(f,s){return r.has(s)}}),Y(e,t,n);let o=0,c=ur();if(c){let f=e.querySelectorAll(c);for(let s=0;s<f.length;s++)Y(f[s],t,n),o++}else{let f=e.querySelectorAll("*");for(let s=0;s<f.length;s++){let l=f[s];lr(l)&&(Y(l,t,n),o++)}}e.__formaDisposers=n,e.__formaScope=t,e.__formaInitialState=e.getAttribute("data-forma-state")??"{}",O&&N("mountScope: DONE \u2014",o,"elements bound,",n.length,"disposers",c?"(targeted)":"(full scan)")}function Q(e){let t=e.__formaDisposers;if(t){for(let n of t)try{n()}catch{}delete e.__formaDisposers,delete e.__formaScope,delete e.__formaInitialState}}var U=null,St=1,mr=40,me=[],he=!1;function pr(e){for(let t=0;t<e.removedNodes.length;t++){let n=e.removedNodes[t];if(n.nodeType!==St)continue;let r=n;r.hasAttribute("data-forma-state")&&(O&&N("MutationObserver: REMOVED scope"),Q(r));let i=r.querySelectorAll("[data-forma-state]");for(let a=0;a<i.length;a++)Q(i[a])}for(let t=0;t<e.addedNodes.length;t++){let n=e.addedNodes[t];if(n.nodeType!==St)continue;let r=n;if(r.closest("[data-forma-leaving]"))continue;r.hasAttribute("data-forma-state")&&(O&&N("MutationObserver: ADDED scope via mutation"),Z(r));let i=r.querySelectorAll("[data-forma-state]");O&&i.length>0&&N("MutationObserver: found",i.length,"nested scope(s) in added subtree");for(let a=0;a<i.length;a++){let o=i[a];o.closest("[data-forma-leaving]")||Z(o)}}if(e.type==="attributes"&&e.attributeName==="data-forma-state"){let t=e.target;Q(t),t.hasAttribute("data-forma-state")&&Z(t)}}async function It(){try{for(;me.length>0;){let e=me.splice(0,mr);for(let t=0;t<e.length;t++)pr(e[t]);me.length>0&&await At()}}finally{he=!1,me.length>0&&!he&&(he=!0,It())}}function gr(e){O&&N("MutationObserver: queued",e.length,"mutation(s)"),me.push(...e),!he&&(he=!0,It())}function hr(){if(U)return;U=new MutationObserver(gr);let e=document.body||document.documentElement;e&&U.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-forma-state"]})}function br(){U&&(U.disconnect(),U=null)}function Ge(){un&&wt(document,{skipIfAlreadySet:!0});let e=document.querySelectorAll("[data-forma-state]");O&&N("initRuntime: found",e.length,"scope(s)");for(let t of Array.from(e))Z(t);hr(),O&&N("initRuntime: MutationObserver started")}function vr(){br();let e=document.querySelectorAll("[data-forma-state]");for(let t of Array.from(e))Q(t)}function Er(e){e.hasAttribute("data-forma-state")&&Z(e);let t=e.querySelectorAll("[data-forma-state]");for(let n of Array.from(t))Z(n)}function yr(e){e.hasAttribute("data-forma-state")&&Q(e);let t=e.querySelectorAll("[data-forma-state]");for(let n of Array.from(t))Q(n)}typeof document<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Ge):Ge());function Sr(e){O=e}function Tr(e){H!==e&&(H=e,e==="locked-off"&&(F=!1),e==="locked-on"&&(F=!0),e==="mutable"&&(F=!0),ze=new WeakMap,Je=new WeakMap)}function Ar(e){if(H!=="mutable"){N(`setUnsafeEval ignored (mode=${H}); unsafe fallback is locked`);return}F!==e&&(F=e,ze=new WeakMap,Je=new WeakMap)}function wr(){return H}function _r(e){je=e}function Rr(){return Array.from(pe.values()).map(e=>({...e}))}function Mr(){pe.clear()}function xr(){let e=document.querySelectorAll("[data-forma-state]"),t=[];for(let n of Array.from(e)){if(n.closest("[data-forma-leaving]"))continue;let r=n.__formaScope,i=n.__formaInitialState;if(!r)continue;let a={};for(let o of Object.keys(r.getters)){let c=r.getters[o]();a[o]={value:c,type:typeof c}}t.push({element:n,id:n.getAttribute("data-forma-id")||n.id||n.tagName.toLowerCase(),values:a,initialJSON:i??"{}"})}return t}function Cr(e,t,n){let r=e.__formaScope;r?.setters[t]&&$(()=>{r.setters[t](n)})}function kr(e){let t=e.__formaScope,n=e.__formaInitialState;if(!t||!n)return;let r=Ot(n);$(()=>{for(let[i,a]of Object.entries(r))t.setters[i]?.(a)})}var Be=null;function Nr(){return Be||(Be=mt({mountScope:Z,unmountScope:Q,disconnectObserver(){U&&U.disconnect()},reconnectObserver(){if(U){let e=document.body||document.documentElement;e&&U.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-forma-state"]})}},batch:$})),Be}function Dr(e,t){Nr()(e,t)}return Ut(Lr);})();
//# sourceMappingURL=formajs-runtime-hardened.global.js.map

@@ -1,2 +0,2 @@

"use strict";var FormaRuntime=(()=>{var xe=Object.defineProperty;var Ht=Object.getOwnPropertyDescriptor;var $t=Object.getOwnPropertyNames;var Ft=Object.prototype.hasOwnProperty;var Bt=(e,t)=>{for(var n in t)xe(e,n,{get:t[n],enumerable:!0})},Pt=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of $t(t))!Ft.call(e,i)&&i!==n&&xe(e,i,{get:()=>t[i],enumerable:!(r=Ht(t,i))||r.enumerable});return e};var Ut=e=>Pt(xe({},"__esModule",{value:!0}),e);var Lr={};Bt(Lr,{applyContainmentHints:()=>wt,clearDiagnostics:()=>Mr,destroyRuntime:()=>vr,getDiagnostics:()=>Rr,getScopes:()=>xr,getUnsafeEvalMode:()=>wr,initRuntime:()=>Ge,mount:()=>Er,reconcile:()=>Dr,resetScope:()=>kr,setDebug:()=>Sr,setDiagnostics:()=>_r,setDirectiveMap:()=>cr,setScopeValue:()=>Cr,setUnsafeEval:()=>Ar,setUnsafeEvalMode:()=>Tr,unmount:()=>yr,yieldToMain:()=>At});function Xe({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:s,shallowPropagate:c};function r(o,l,p){let m=l.depsTail;if(m!==void 0&&m.dep===o)return;let u=m!==void 0?m.nextDep:l.deps;if(u!==void 0&&u.dep===o){u.version=p,l.depsTail=u;return}let h=o.subsTail;if(h!==void 0&&h.version===p&&h.sub===l)return;let E=l.depsTail=o.subsTail={version:p,dep:o,sub:l,prevDep:m,nextDep:u,prevSub:h,nextSub:void 0};u!==void 0&&(u.prevDep=E),m!==void 0?m.nextDep=E:l.deps=E,h!==void 0?h.nextSub=E:o.subs=E}function i(o,l=o.sub){let p=o.dep,m=o.prevDep,u=o.nextDep,h=o.nextSub,E=o.prevSub;return u!==void 0?u.prevDep=m:l.depsTail=m,m!==void 0?m.nextDep=u:l.deps=u,h!==void 0?h.prevSub=E:p.subsTail=E,E!==void 0?E.nextSub=h:(p.subs=h)===void 0&&n(p),u}function a(o){let l=o.nextSub,p;e:do{let m=o.sub,u=m.flags;if(u&60?u&12?u&4?!(u&48)&&d(o,m)?(m.flags=u|40,u&=1):u=0:m.flags=u&-9|32:u=0:m.flags=u|32,u&2&&t(m),u&1){let h=m.subs;if(h!==void 0){let E=(o=h).nextSub;E!==void 0&&(p={value:l,prev:p},l=E);continue}}if((o=l)!==void 0){l=o.nextSub;continue}for(;p!==void 0;)if(o=p.value,p=p.prev,o!==void 0){l=o.nextSub;continue e}break}while(!0)}function s(o,l){let p,m=0,u=!1;e:do{let h=o.dep,E=h.flags;if(l.flags&16)u=!0;else if((E&17)===17){if(e(h)){let S=h.subs;S.nextSub!==void 0&&c(S),u=!0}}else if((E&33)===33){(o.nextSub!==void 0||o.prevSub!==void 0)&&(p={value:o,prev:p}),o=h.deps,l=h,++m;continue}if(!u){let S=o.nextDep;if(S!==void 0){o=S;continue}}for(;m--;){let S=l.subs,w=S.nextSub!==void 0;if(w?(o=p.value,p=p.prev):o=S,u){if(e(l)){w&&c(S),l=o.sub;continue}u=!1}else l.flags&=-33;l=o.sub;let y=o.nextDep;if(y!==void 0){o=y;continue e}}return u}while(!0)}function c(o){do{let l=o.sub,p=l.flags;(p&48)===32&&(l.flags=p|16,(p&6)===2&&t(l))}while((o=o.nextSub)!==void 0)}function d(o,l){let p=l.depsTail;for(;p!==void 0;){if(p===o)return!0;p=p.prevDep}return!1}}var Ee=0,Ce=0,K=0,le=0,z,W=[],{link:ke,unlink:Ye,propagate:Wt,checkDirty:Ze,shallowPropagate:Qe}=Xe({update(e){return e.depsTail!==void 0?ot(e):st(e)},notify(e){let t=le,n=t;do if(W[t++]=e,e.flags&=-3,e=e.subs?.sub,e===void 0||!(e.flags&2))break;while(!0);for(le=t;n<--t;){let r=W[n];W[n++]=W[t],W[t]=r}},unwatched(e){e.flags&1?e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=17,ye(e)):lt.call(e)}});function q(e){let t=z;return z=e,t}function et(){++Ce}function tt(){--Ce||at()}function nt(e){return Gt.bind({currentValue:e,pendingValue:e,subs:void 0,subsTail:void 0,flags:1})}function rt(e){return Vt.bind({value:void 0,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:0,getter:e})}function it(e){let t={fn:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:6},n=q(t);n!==void 0&&ke(t,n,0);try{t.fn()}finally{z=n,t.flags&=-5}return jt.bind(t)}function ot(e){++Ee,e.depsTail=void 0,e.flags=5;let t=q(e);try{let n=e.value;return n!==(e.value=e.getter(n))}finally{z=t,e.flags&=-5,ye(e)}}function st(e){return e.flags=1,e.currentValue!==(e.currentValue=e.pendingValue)}function qt(e){let t=e.flags;if(t&16||t&32&&Ze(e.deps,e)){++Ee,e.depsTail=void 0,e.flags=6;let n=q(e);try{e.fn()}finally{z=n,e.flags&=-5,ye(e)}}else e.flags=2}function at(){try{for(;K<le;){let e=W[K];W[K++]=void 0,qt(e)}}finally{for(;K<le;){let e=W[K];W[K++]=void 0,e.flags|=10}K=0,le=0}}function Vt(){let e=this.flags;if(e&16||e&32&&(Ze(this.deps,this)||(this.flags=e&-33,!1))){if(ot(this)){let n=this.subs;n!==void 0&&Qe(n)}}else if(!e){this.flags=5;let n=q(this);try{this.value=this.getter()}finally{z=n,this.flags&=-5}}let t=z;return t!==void 0&&ke(this,t,Ee),this.value}function Gt(...e){if(e.length){if(this.pendingValue!==(this.pendingValue=e[0])){this.flags=17;let t=this.subs;t!==void 0&&(Wt(t),Ce||at())}}else{if(this.flags&16&&st(this)){let n=this.subs;n!==void 0&&Qe(n)}let t=z;for(;t!==void 0;){if(t.flags&3){ke(this,t,Ee);break}t=t.subs?.sub}return this.currentValue}}function jt(){lt.call(this)}function lt(){this.depsTail=void 0,this.flags=0,ye(this);let e=this.subs;e!==void 0&&Ye(e)}function ye(e){let t=e.depsTail,n=t!==void 0?t.nextDep:e.deps;for(;n!==void 0;)n=Ye(n,e)}function zt(e,t,n){if(typeof t!="function"){if(n){let s=q(void 0),c=e();if(q(s),n(c,t))return}e(t);return}let r=q(void 0),i=e();q(r);let a=t(i);n&&n(i,a)||e(a)}function te(e,t){let n=nt(e),r=n,i=t?.equals;return[r,s=>zt(n,s,i)]}var Ne=null;function ct(e){Ne&&Ne.disposers.push(e)}function ut(){return Ne!==null}var Jt=32;var Kt=[];for(let e=0;e<Jt;e++)Kt.push([]);function P(e){let t=it(e);return ut()&&ct(t),t}function De(e){return rt(e)}function H(e){et();try{e()}finally{tt()}}function ft(e){let t=e.length;if(t===0)return[];let n=new Int32Array(t),r=new Int32Array(t),i=new Int32Array(t).fill(-1),a=0;for(let d=0;d<t;d++){let o=e[d],l=0,p=a;for(;l<p;){let m=l+p>>1;n[m]<o?l=m+1:p=m}n[l]=o,r[l]=d,l>0&&(i[d]=r[l-1]),l>=a&&a++}let s=new Array(a),c=r[a-1];for(let d=a-1;d>=0;d--)s[d]=c,c=i[c];return s}var Xt=32;function Yt(e,t,n,r,i,a,s,c,d){let o=t.length,l=n.length,p=new Array(o);for(let f=0;f<o;f++)p[f]=i(t[f]);let m=new Array(l),u=new Uint8Array(o);for(let f=0;f<l;f++){let g=i(n[f]),b=-1;for(let T=0;T<o;T++)if(!u[T]&&p[T]===g){b=T,u[T]=1;break}m[f]=b}for(let f=0;f<o;f++)if(!u[f])if(d?.onBeforeRemove){let g=r[f];d.onBeforeRemove(g,()=>{g.parentNode&&g.parentNode.removeChild(g)})}else e.removeChild(r[f]);if(o===l){let f=!0;for(let g=0;g<l;g++)if(m[g]!==g){f=!1;break}if(f){let g=new Array(l);for(let b=0;b<l;b++){let T=r[b];s(T,n[b]),g[b]=T}return{nodes:g,items:n}}}let h=[],E=[];for(let f=0;f<l;f++)m[f]!==-1&&(h.push(m[f]),E.push(f));let S=ft(h),w=new Uint8Array(l);for(let f of S)w[E[f]]=1;let y=new Array(l),v=c??null;for(let f=l-1;f>=0;f--){let g,b=!1;if(m[f]===-1)g=a(n[f]),b=!0;else if(g=r[m[f]],s(g,n[f]),w[f]){y[f]=g,v=g;continue}v?e.insertBefore(g,v):e.appendChild(g),b&&d?.onInsert?.(g),y[f]=g,v=g}return{nodes:y,items:n}}function Le(e,t,n,r,i,a,s,c,d){let o=t.length,l=n.length;if(l===0){for(let f=0;f<o;f++)if(d?.onBeforeRemove){let g=r[f];d.onBeforeRemove(g,()=>{g.parentNode&&g.parentNode.removeChild(g)})}else e.removeChild(r[f]);return{nodes:[],items:[]}}if(o===0){let f=new Array(l);for(let g=0;g<l;g++){let b=a(n[g]);c?e.insertBefore(b,c):e.appendChild(b),d?.onInsert?.(b),f[g]=b}return{nodes:f,items:n}}if(o<Xt)return Yt(e,t,n,r,i,a,s,c,d);let p=new Map;for(let f=0;f<o;f++)p.set(i(t[f]),f);let m=new Array(l),u=new Uint8Array(o);for(let f=0;f<l;f++){let g=i(n[f]),b=p.get(g);b!==void 0?(m[f]=b,u[b]=1):m[f]=-1}for(let f=0;f<o;f++)if(!u[f])if(d?.onBeforeRemove){let g=r[f];d.onBeforeRemove(g,()=>{g.parentNode&&g.parentNode.removeChild(g)})}else e.removeChild(r[f]);if(o===l){let f=!0;for(let g=0;g<l;g++)if(m[g]!==g){f=!1;break}if(f){let g=new Array(l);for(let b=0;b<l;b++){let T=r[b];s(T,n[b]),g[b]=T}return{nodes:g,items:n}}}let h=[],E=[];for(let f=0;f<l;f++)m[f]!==-1&&(h.push(m[f]),E.push(f));let S=ft(h),w=new Uint8Array(l);for(let f of S)w[E[f]]=1;let y=new Array(l),v=c??null;for(let f=l-1;f>=0;f--){let g,b=!1;if(m[f]===-1)g=a(n[f]),b=!0;else if(g=r[m[f]],s(g,n[f]),w[f]){y[f]=g,v=g;continue}v?e.insertBefore(g,v):e.appendChild(g),b&&d?.onInsert?.(g),y[f]=g,v=g}return{nodes:y,items:n}}function Zt(e){let t=new Set,n=e.attributes;for(let r=0;r<n.length;r++){let i=n[r].name;i.startsWith("data-bind:")&&t.add(i.slice(10))}return t}function Qt(e){return e.hasAttribute("data-list")||e.hasAttribute("data-if")}function dt(e){try{let t=JSON.parse(e);return Object.keys(t).sort()}catch{return[]}}function en(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function tn(e,t){let n=e.getAttribute("data-module"),r=t.getAttribute("data-module");if(n!==r)return"REPLACE";let a=e.__formaInitialState??e.getAttribute("data-forma-state")??"{}",s=t.getAttribute("data-forma-state")??"{}",c=dt(a),d=dt(s);return en(c,d)?"PRESERVE":"RESET"}var Se=null;function nn(e){return Se||(Se=document.createElement("template")),Se.innerHTML=e,Se.content}function Oe(e,t){let n=Zt(e),r=e.hasAttribute("data-show"),i=e.hasAttribute("data-model"),a=!1,s=e.attributes;for(let d=0;d<s.length;d++)if(s[d].name.startsWith("data-class:")){a=!0;break}let c=t.attributes;for(let d=0;d<c.length;d++){let o=c[d];if(o.name==="style"&&r||o.name==="class"&&a||(o.name==="value"||o.name==="checked")&&i||n.has(o.name))continue;e.getAttribute(o.name)!==o.value&&e.setAttribute(o.name,o.value)}for(let d=s.length-1;d>=0;d--){let o=s[d];if(!t.hasAttribute(o.name)){if(o.name==="style"&&r||o.name==="class"&&a||(o.name==="value"||o.name==="checked")&&i||n.has(o.name))continue;e.removeAttribute(o.name)}}}function rn(e,t){if(e.hasAttribute("data-text"))return;let n=[],r=[];for(let s of Array.from(e.childNodes))s.nodeType===Node.TEXT_NODE&&n.push(s);for(let s=0;s<t.childNodes.length;s++){let c=t.childNodes[s];c.nodeType===Node.TEXT_NODE&&r.push({node:c,index:s})}if(n.length===r.length){for(let s=0;s<n.length;s++)n[s].textContent!==r[s].node.textContent&&(n[s].textContent=r[s].node.textContent);return}let i=new Set,a=0;for(let{node:s,index:c}of r)if(a<n.length){let d=n[a];a++,i.add(d),d.textContent!==s.textContent&&(d.textContent=s.textContent)}else{let d=on(e,t,c);e.insertBefore(document.createTextNode(s.textContent??""),d)}for(let s of n)!i.has(s)&&s.parentNode===e&&e.removeChild(s)}function on(e,t,n){for(let r=n+1;r<t.childNodes.length;r++){let i=t.childNodes[r];if(i.nodeType===Node.ELEMENT_NODE){let a=i.getAttribute("data-forma-id");if(a){let s=e.querySelector(`[data-forma-id="${CSS.escape(a)}"]`);if(s&&s.parentElement===e)return s}}}return null}function Ie(e,t,n){if(Qt(e))return;rn(e,t);let r=Array.from(e.children),i=Array.from(t.children),a=new Map,s=[];for(let o of r){if(o.hasAttribute("data-forma-leaving"))continue;let l=o.getAttribute("data-forma-id");l?a.set(l,o):s.push(o)}let c=0,d=new Set;for(let o of i){let l=o.getAttribute("data-forma-id"),p;if(l)p=a.get(l);else for(;c<s.length;){let m=s[c];if(c++,m.tagName===o.tagName&&!d.has(m)){p=m;break}}if(p){if(d.add(p),p.hasAttribute("data-forma-state")&&o.hasAttribute("data-forma-state"))switch(tn(p,o)){case"PRESERVE":Oe(p,o),Ie(p,o,n);break;case"RESET":n.unmountScope(p),Oe(p,o),sn(p,o),n.mountScope(p);break;case"REPLACE":{n.unmountScope(p);let u=o.cloneNode(!0);e.replaceChild(u,p),n.mountScope(u),d.delete(p),p=u,d.add(u);break}}else Oe(p,o),Ie(p,o,n);an(e,p,o,i)}else{let m=o.cloneNode(!0),u=ln(e,o,i);e.insertBefore(m,u),d.add(m),m.hasAttribute("data-forma-state")&&n.mountScope(m);let h=m.querySelectorAll("[data-forma-state]");for(let E of Array.from(h))n.mountScope(E)}}for(let o of r)if(!d.has(o)){if(o.parentElement!==e||o.hasAttribute("data-forma-leaving"))continue;o.hasAttribute("data-forma-state")&&n.unmountScope(o);let l=o.querySelectorAll("[data-forma-state]");for(let p of Array.from(l))n.unmountScope(p);e.removeChild(o)}}function sn(e,t){for(;e.firstChild;)e.removeChild(e.firstChild);for(let n of Array.from(t.childNodes))e.appendChild(n.cloneNode(!0))}function an(e,t,n,r){let i=r.indexOf(n);if(Array.from(e.children).indexOf(t)!==i){let c=r[i+1];if(c){let d=c.getAttribute("data-forma-id");if(d){let o=e.querySelector(`[data-forma-id="${CSS.escape(d)}"]`);if(o&&o.parentElement===e){e.insertBefore(t,o);return}}}e.appendChild(t)}}function ln(e,t,n){let r=n.indexOf(t);for(let i=r+1;i<n.length;i++){let a=n[i].getAttribute("data-forma-id");if(a){let s=e.querySelector(`[data-forma-id="${CSS.escape(a)}"]`);if(s&&s.parentElement===e)return s}}return null}function mt(e){let t="";return function(r,i){let a=i.trim();if(a&&!(a===t&&r.hasChildNodes())){t=a,e.disconnectObserver();try{if(!r.hasChildNodes()||r.children.length===0){r.innerHTML=a,e.batch(()=>{let l=r.querySelectorAll("[data-forma-state]");for(let p of Array.from(l))e.mountScope(p)});return}let s=nn(a),c=document.createElement("div");c.appendChild(s);let d=new Set;for(let l of Array.from(r.children)){if(l.hasAttribute("data-forma-leaving"))continue;let p=l.getAttribute("data-forma-id");p&&d.add(p)}let o=!1;if(d.size>0)for(let l of Array.from(c.children)){let p=l.getAttribute("data-forma-id");if(p&&d.has(p)){o=!0;break}}if(d.size>0&&!o){e.batch(()=>{let l=r.querySelectorAll("[data-forma-state]");for(let m of Array.from(l))e.unmountScope(m);r.innerHTML=a;let p=r.querySelectorAll("[data-forma-state]");for(let m of Array.from(p))e.mountScope(m)});return}e.batch(()=>{Ie(r,c,e)})}finally{e.reconnectObserver()}}}}var Ue=new Map;function Tt(e){let t=Ue.get(e);t?t():O&&N(`$refetch: no data-fetch with id "${e}" found`)}function He(e,t){let n=Object.create(null);for(let r of Object.keys(t))n[r]=()=>t[r];return{getters:new Proxy(e.getters,{get(r,i){return i in n?n[i]:r[i]},has(r,i){return i in n||i in r}}),setters:e.setters}}var O=!1,$="mutable",F=!1,je=!0;function N(...e){(O||typeof window<"u"&&window.__FORMA_DEBUG)&&console.log("[FormaJS]",...e)}var pe=new Map;function Te(e){if(e==null)return;let t=e.trim().toLowerCase();if(t==="1"||t==="true"||t==="on"||t==="yes")return!0;if(t==="0"||t==="false"||t==="off"||t==="no")return!1}function We(e){if(e==null)return;let t=e.trim().toLowerCase();if(t==="mutable")return"mutable";if(t==="locked-off"||t==="off"||t==="disabled")return"locked-off";if(t==="locked-on"||t==="on"||t==="enabled")return"locked-on"}function cn(){let e={};if(typeof window<"u"){let t=window.__FORMA_RUNTIME_CONFIG;if(t){if(typeof t.allowUnsafeEval=="boolean"&&(e.allowUnsafeEval=t.allowUnsafeEval),typeof t.unsafeEvalMode=="string"){let n=We(t.unsafeEvalMode);n&&(e.unsafeEvalMode=n)}typeof t.lockUnsafeEval=="boolean"&&(e.lockUnsafeEval=t.lockUnsafeEval),typeof t.diagnostics=="boolean"&&(e.diagnostics=t.diagnostics),typeof t.autoContainment=="boolean"&&(e.autoContainment=t.autoContainment)}}if(typeof document<"u"){let t=document.currentScript;if(t){let n=Te(t.getAttribute("data-forma-unsafe-eval"));n!==void 0&&(e.allowUnsafeEval=n);let r=We(t.getAttribute("data-forma-unsafe-eval-mode"));r!==void 0&&(e.unsafeEvalMode=r);let i=Te(t.getAttribute("data-forma-lock-unsafe-eval"));i!==void 0&&(e.lockUnsafeEval=i);let a=Te(t.getAttribute("data-forma-diagnostics"));a!==void 0&&(e.diagnostics=a);let s=Te(t.getAttribute("data-forma-auto-containment"));s!==void 0&&(e.autoContainment=s)}}return e}function ne(e,t,n){if(!je)return;let r=`${e}|${n}|${t}`,i=Date.now(),a=pe.get(r);a?(a.count+=1,a.lastSeenAt=i):(pe.set(r,{kind:e,expr:t,reason:n,count:1,firstSeenAt:i,lastSeenAt:i}),console.warn(`[FormaJS] ${n}: ${t}`));try{if(typeof window<"u"){let s={kind:e,expr:t,reason:n,count:pe.get(r)?.count??1};window.dispatchEvent(new CustomEvent("formajs:diagnostic",{detail:s}))}}catch{}}var pt=We("mutable");pt&&($=pt,$==="locked-off"&&(F=!1),$==="locked-on"&&(F=!0),$==="mutable"&&(F=!0));var ee=cn(),gt=ee.lockUnsafeEval?"locked-off":ee.unsafeEvalMode;gt&&($=gt,$==="locked-off"&&(F=!1),$==="locked-on"&&(F=!0));$==="mutable"&&typeof ee.allowUnsafeEval=="boolean"&&(F=ee.allowUnsafeEval);typeof ee.diagnostics=="boolean"&&(je=ee.diagnostics);var un=ee.autoContainment===!0;function fn(){let e=globalThis?.scheduler;if(e&&(typeof e.yield=="function"||typeof e.postTask=="function"))return e}async function At(){let e=fn();if(e?.yield){await e.yield();return}if(e?.postTask){await e.postTask(()=>{},{priority:"background"});return}await new Promise(t=>setTimeout(t,0))}function wt(e=document,t={}){let n=t.selector??"[data-forma-contain]";if(!n||typeof e.querySelectorAll!="function")return 0;let r=e.querySelectorAll(n),i=0;for(let a=0;a<r.length;a++){let s=r[a];if(!s?.style)continue;let c=s.getAttribute("data-forma-contain")??t.contain??"layout style paint",d=s.getAttribute("data-forma-content-visibility")??t.contentVisibility??"auto",o=s.getAttribute("data-forma-contain-intrinsic-size")??t.containIntrinsicSize??"auto 800px",l=t.skipIfAlreadySet===!0,p=!1,m=s.style.getPropertyValue("contain"),u=s.style.getPropertyValue("content-visibility"),h=s.style.getPropertyValue("contain-intrinsic-size");c!=="off"&&(!l||!m)&&(s.style.setProperty("contain",c),p=!0),d!=="off"&&(!l||!u)&&(s.style.setProperty("content-visibility",d),p=!0),o!=="off"&&(!l||!h)&&(s.style.setProperty("contain-intrinsic-size",o),p=!0),p&&i++}return O&&i>0&&N("applyContainmentHints: applied to",i,"element(s)"),i}var _t=/^'[^']*'$/,Rt=/^"[^"]*"$/,Mt=/^-?\d+(\.\d+)?$/,xt=/^[a-zA-Z_$]\w*$/,dn=/^(\w+)\.(\w+)$/;var mn=/^(\w+)\[(\d+|'[^']*'|"[^"]*")\]$/,pn=/^(.+?)\s*\?\s*(.+?)\s*:\s*(.+)$/,gn=/^(.+?)\s*\?\?\s*(.+)$/,hn=/^(.+?)\s*&&\s*(.+)$/,bn=/^(.+?)\s*\|\|\s*(.+)$/,vn=/^(.+?)\s*(===|!==|==|!=|>=|<=|>|<)\s*(.+)$/,En=/^(.+?)\s*([*/%])\s*(.+)$/,yn=/^(.+?)\s*([+-])\s*(.+)$/,Sn=/^`([^`]*)`$/,Tn=/\$\{([^}]+)\}/g;var An=/^\((.+)\)\.(\w+)\((.*)\)$/,qe=/^\{|\}$/g;var wn=/^\d+$/,_n=/^(\w+)(\+\+|--)$/,Rn=/^(\+\+|--)(\w+)$/,Mn=/^(\w+)\s*=\s*!(\w+)$/,xn=/^(\w+)\s*=\s*(.+)$/,Cn=/^(\w+)\s*(\+=|-=|\*=|\/=)\s*(.+)$/,kn=/^if\b/,Nn=/^(\w+)\s*=\s*(.+)$/,Dn=/^(.+?)(?:→|->)\s*(\S+)(.*)$/,Ln=/^(GET|POST|PUT|PATCH|DELETE)\s+(.+)$/i,On=/^\{item\.?|\}$/g,In=/\bevent\s*[.([]|\$event\b/,Hn=/^\$refetch\(\s*['"]([^'"]+)['"]\s*\)$/,Re=Symbol.for("forma-transition-state"),$n=2048,ue=new Map;function ce(e,t){if(ue.size>=$n){let n=ue.keys().next().value;n!==void 0&&ue.delete(n)}ue.set(e,t)}var ze=new WeakMap,Je=new WeakMap,fe=new Map,Fn=2048;function Bn(e,t){if(fe.size>=Fn){let n=fe.keys().next().value;n!==void 0&&fe.delete(n)}fe.set(e,t)}var re=new Set(["constructor","__proto__","prototype","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__","eval","Function"]),Pn=(()=>{let e=[];for(let t of re){let n=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e.push({name:t,dotRe:new RegExp(`(?:^|\\.)${n}(?:\\s*\\(|\\s*$|[^\\w$])`,"m"),bracketRe:new RegExp(`\\[\\s*(?:'${n}'|"${n}"|\``+n+"`)\\s*\\]")})}return e})();function Ct(e){let t=e.replace(/\/\*[\s\S]*?\*\//g,"");t=t.replace(/\/\/[^\n]*/g,""),t=t.replace(/\s*\.\s*/g,".");for(let{name:n,dotRe:r,bracketRe:i}of Pn)if(r.test(t)||i.test(t))return n;if(t.includes("[")){let n=Un(t);for(let r of n){if(!r.includes("+"))continue;let i=r.match(/['"`]([^'"`]*?)['"`]/g);if(!i)continue;let a=i.map(s=>s.slice(1,-1)).join("");if(re.has(a))return a}}return null}function Un(e){let t=[],n=0,r=-1;for(let i=0;i<e.length;i++)e[i]==="["?(n===0&&(r=i+1),n++):e[i]==="]"&&(n--,n===0&&r>=0&&(t.push(e.slice(r,i)),r=-1));return t}var ht=Symbol.for("forma-text-binding-cache");function Wn(e){return e==null?"":typeof e=="string"?e:typeof e=="symbol"?e.toString():String(e)}function qn(e,t){let n=e[ht];if(n||(n={initialized:!1,last:"",node:null},e[ht]=n),n.initialized&&n.last===t)return;let r=n.node;if(!r||r.parentNode!==e||e.childNodes.length!==1||e.firstChild!==r)if(e.childNodes.length===1&&e.firstChild?.nodeType===Node.TEXT_NODE)r=e.firstChild,n.node=r;else{e.textContent=t;let i=e.firstChild;n.node=i&&i.nodeType===Node.TEXT_NODE&&e.childNodes.length===1?i:null,n.last=t,n.initialized=!0;return}r.data=t,n.last=t,n.initialized=!0}function Ve(e){let t=[];if(e.trim()==="")return t;let n=0,r=!1,i=!1,a=!1,s=0;for(let c=0;c<e.length;c++){let d=e[c];if(a){a=!1;continue}if(d==="\\"){a=!0;continue}if(r){d==="'"&&(r=!1);continue}if(i){d==='"'&&(i=!1);continue}if(d==="'"){r=!0;continue}if(d==='"'){i=!0;continue}if(d==="("){n++;continue}if(d===")"){n>0&&n--;continue}d===","&&n===0&&(t.push(e.slice(s,c).trim()),s=c+1)}return t.push(e.slice(s).trim()),t.filter(Boolean)}function ie(e,t,n,r){if(e[t]!==n)return null;let i=0,a=!1,s=!1,c=!1,d=!1;for(let o=t;o<e.length;o++){let l=e[o];if(d){d=!1;continue}if(l==="\\"&&(a||s||c)){d=!0;continue}if(a){l==="'"&&(a=!1);continue}if(s){l==='"'&&(s=!1);continue}if(c){l==="`"&&(c=!1);continue}if(l==="'"){a=!0;continue}if(l==='"'){s=!0;continue}if(l==="`"){c=!0;continue}if(l===n){i++;continue}if(l===r&&(i--,i===0))return{inner:e.slice(t+1,o),end:o}}return null}function Vn(e){let t=e.trim();if(!t)return[];let n=[],r=0,i=0,a=0,s=!1,c=!1,d=!1,o=!1,l=0;for(let m=0;m<t.length;m++){let u=t[m];if(o){o=!1;continue}if(u==="\\"&&(s||c||d)){o=!0;continue}if(s){u==="'"&&(s=!1);continue}if(c){u==='"'&&(c=!1);continue}if(d){u==="`"&&(d=!1);continue}if(u==="'"){s=!0;continue}if(u==='"'){c=!0;continue}if(u==="`"){d=!0;continue}if(u==="("?r++:u===")"&&r>0?r--:u==="{"?i++:u==="}"&&i>0?i--:u==="["?a++:u==="]"&&a>0&&a--,u===";"&&r===0&&i===0&&a===0){let h=t.slice(l,m).trim();h&&n.push(h),l=m+1}}let p=t.slice(l).trim();return p&&n.push(p),n}function bt(e){let t=e.trim();if(!t)return null;if(t.startsWith("{")){let o=ie(t,0,"{","}");if(!o)return null;let l=o.inner.trim(),p=t.slice(o.end+1).trim();return p.startsWith(";")&&(p=p.slice(1).trim()),{body:l,rest:p}}let n=0,r=0,i=0,a=!1,s=!1,c=!1,d=!1;for(let o=0;o<t.length;o++){let l=t[o];if(d){d=!1;continue}if(l==="\\"&&(a||s||c)){d=!0;continue}if(a){l==="'"&&(a=!1);continue}if(s){l==='"'&&(s=!1);continue}if(c){l==="`"&&(c=!1);continue}if(l==="'"){a=!0;continue}if(l==='"'){s=!0;continue}if(l==="`"){c=!0;continue}if(l==="("?n++:l===")"&&n>0?n--:l==="{"?r++:l==="}"&&r>0?r--:l==="["?i++:l==="]"&&i>0&&i--,l===";"&&n===0&&r===0&&i===0)return{body:t.slice(0,o).trim(),rest:t.slice(o+1).trim()}}return{body:t,rest:""}}function Gn(e,t){let n=e.trim();if(!kn.test(n)||In.test(n))return null;let r=2;for(;r<n.length&&/\s/.test(n[r]);)r++;if(n[r]!=="(")return null;let i=ie(n,r,"(",")");if(!i)return null;let a=x(i.inner.trim(),t);if(!a)return null;let s=n.slice(i.end+1).trim(),c=bt(s);if(!c||!c.body)return null;let d=Me(c.body,t);if(!d)return null;s=c.rest.trim();let o=null;if(s.startsWith("else")){s=s.slice(4).trim();let l=bt(s);if(!l||!l.body||(o=Me(l.body,t),!o))return null;s=l.rest.trim()}return s.length>0?null:l=>{H(()=>{a()?d(l):o?.(l)})}}function jn(e){let t=e.trim();for(;t.startsWith("(");){let n=ie(t,0,"(",")");if(!n||n.end!==t.length-1)break;let r=n.inner.trim();if(!r)break;t=r}return t}function kt(e){let t=fe.get(e);if(t)return t;let n=[],r=[],i=0,a=/\{item\.?(\w*)\}/g,s;for(;(s=a.exec(e))!==null;)n.push(e.slice(i,s.index)),r.push(s[1]),i=a.lastIndex;n.push(e.slice(i));let c={statics:n,dynamics:r,hasItemRef:r.length>0};return Bn(e,c),c}var Nt=new WeakMap;function Ke(e,t){if(!e.hasItemRef)return e.statics[0];let n=e.statics[0];for(let r=0;r<e.dynamics.length;r++){let i=e.dynamics[r];i?n+=String(t?.[i]??""):n+=typeof t=="object"?JSON.stringify(t):String(t??""),n+=e.statics[r+1]??""}return n}function zn(e,t){let n=e.cloneNode(!0),r=document.createTreeWalker(n,NodeFilter.SHOW_TEXT);for(;r.nextNode();){let i=r.currentNode,a=i.textContent??"";if(a.includes("{item")){let s=kt(a);Nt.set(i,s),i.textContent=Ke(s,t)}}return tr(n,t),n}function Jn(e,t){let n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);for(;n.nextNode();){let r=n.currentNode,i=Nt.get(r);i&&(r.textContent=Ke(i,t))}}var Kn=new WeakMap,Xn=["data-list","data-show","data-text","data-if","data-model","data-on:","data-class:","data-bind:","data-computed","data-persist","data-fetch","data-transition","data-transition:"];function Yn(e){for(let t of Xn)if(e===t||e.startsWith(t))return!0;return!1}function de(e){return e?e.trim().split(/\s+/).map(t=>t.trim()).filter(Boolean):[]}function ge(e){let t=e.trim().toLowerCase();if(t.endsWith("ms")){let n=Number(t.slice(0,-2));return Number.isFinite(n)&&n>=0?n:null}if(t.endsWith("s")){let n=Number(t.slice(0,-1));return Number.isFinite(n)&&n>=0?n*1e3:null}return null}function $e(e){let t=[],n;for(let r of de(e)){let i=ge(r);i!=null?n=i:t.push(r)}return{classes:t,durationMs:n}}function J(e){return Array.from(new Set(e.filter(Boolean)))}function Ae(e){return e?e.split(",").map(t=>ge(t.trim())).filter(t=>t!=null):[]}function vt(e,t){if(e.length===0&&t.length===0)return 0;if(e.length===0)return Math.max(...t,0);if(t.length===0)return Math.max(...e,0);let n=Math.max(e.length,t.length),r=0;for(let i=0;i<n;i++){let a=e[i%e.length]??0,s=t[i%t.length]??0;a+s>r&&(r=a+s)}return r}function Zn(e,t){if(typeof t=="number")return t;let n=window.getComputedStyle(e),r=vt(Ae(n.transitionDuration),Ae(n.transitionDelay)),i=vt(Ae(n.animationDuration),Ae(n.animationDelay));return Math.max(r,i)}function G(e){let t=e[Re];if(t)return t;let n={token:0,cancel:null};return e[Re]=n,n}function we(e){let t=e[Re];t?.cancel&&t.cancel(),delete e[Re]}function Fe(e){if(!(e.hasAttribute("data-transition")||Array.from(e.attributes).some(m=>m.name.startsWith("data-transition:"))))return null;let n=$e(e.getAttribute("data-transition")).classes,r=$e(e.getAttribute("data-transition:enter")),i=$e(e.getAttribute("data-transition:leave")),a=de(e.getAttribute("data-transition:enter-from")??e.getAttribute("data-transition:enter-start")),s=de(e.getAttribute("data-transition:enter-to")??e.getAttribute("data-transition:enter-end")),c=de(e.getAttribute("data-transition:leave-from")??e.getAttribute("data-transition:leave-start")),d=de(e.getAttribute("data-transition:leave-to")??e.getAttribute("data-transition:leave-end")),o=ge(e.getAttribute("data-transition:duration")??""),l=ge(e.getAttribute("data-transition:duration-enter")??"")??r.durationMs??o??void 0,p=ge(e.getAttribute("data-transition:duration-leave")??"")??i.durationMs??o??void 0;return{enter:J([...n,...r.classes]),enterFrom:J(a),enterTo:J(s),leave:J([...n,...i.classes]),leaveFrom:J(c),leaveTo:J(d),enterDurationMs:l,leaveDurationMs:p}}function _e(e,t){for(let n of t)e.classList.remove(n)}function Be(e,t){for(let n of t)e.classList.add(n)}function be(e,t,n){let r=J([...t.base,...t.from,...t.to]),i=!1,a=null,s=null,c=null,d=()=>{i||(i=!0,a!=null&&window.clearTimeout(a),s!=null&&cancelAnimationFrame(s),c!=null&&cancelAnimationFrame(c),_e(e,r),n())};return Be(e,t.base),Be(e,t.from),_e(e,t.to),s=requestAnimationFrame(()=>{c=requestAnimationFrame(()=>{if(i)return;_e(e,t.from),Be(e,t.to);let o=Zn(e,t.durationMs);if(o<=0){d();return}a=window.setTimeout(d,o+25)})}),d}function Qn(e,t,n,r){if(t.insertBefore(e,n),!r)return;let i=G(e);i.token+=1;let a=i.token;i.cancel&&i.cancel(),i.cancel=be(e,{base:r.enter,from:r.enterFrom,to:r.enterTo,durationMs:r.enterDurationMs},()=>{let s=G(e);s.token===a&&(s.cancel=null)})}function Et(e,t,n){if(e.hasAttribute("data-forma-leaving")){n();return}if(!t){n();return}e.setAttribute("data-forma-leaving","");let r=G(e);r.token+=1;let i=r.token;r.cancel&&r.cancel(),r.cancel=be(e,{base:t.leave,from:t.leaveFrom,to:t.leaveTo,durationMs:t.leaveDurationMs},()=>{let a=G(e);a.token===i&&(a.cancel=null),e.removeAttribute("data-forma-leaving"),n()})}function er(e,t,n,r){if(!n||r){e.style.display=t?"":"none",n&&_e(e,J([...n.enter,...n.enterFrom,...n.enterTo,...n.leave,...n.leaveFrom,...n.leaveTo]));return}let i=G(e);i.token+=1;let a=i.token;if(i.cancel&&i.cancel(),i.cancel=null,t){e.style.display="",i.cancel=be(e,{base:n.enter,from:n.enterFrom,to:n.enterTo,durationMs:n.enterDurationMs},()=>{let s=G(e);s.token===a&&(s.cancel=null)});return}i.cancel=be(e,{base:n.leave,from:n.leaveFrom,to:n.leaveTo,durationMs:n.leaveDurationMs},()=>{let s=G(e);s.token===a&&(e.style.display="none",s.cancel=null)})}function tr(e,t){let n=[e,...Array.from(e.querySelectorAll("*"))];for(let r of n){let i=[];for(let a of Array.from(r.attributes))if(!Yn(a.name)&&a.value.includes("{item")){let s=kt(a.value);i.push({attr:a.name,compiled:s}),r.setAttribute(a.name,Ke(s,t))}i.length>0&&Kn.set(r,i)}}function nr(e,t){let n=0,r=e.match(/^[a-zA-Z_$]\w*/);if(!r)return null;let i=r[0];if(n=i.length,n>=e.length||e[n]!=="."&&!(e[n]==="?"&&e[n+1]==="."))return null;let a=[];for(;n<e.length;){let c=!1;if(e[n]==="?"&&e[n+1]===".")c=!0,n+=2;else if(e[n]===".")n+=1;else return null;let d=e.slice(n).match(/^\w+/);if(!d)return null;let o=d[0];if(n+=o.length,re.has(o))return()=>{};if(n<e.length&&e[n]==="("){let l=ie(e,n,"(",")");if(!l)return null;let p=l.inner.trim(),m=[];for(let u of Ve(p)){let h=x(u,t);if(!h)return null;m.push(h)}a.push({type:"call",name:o,optional:c,argFns:m}),n=l.end+1}else a.push({type:"prop",name:o,optional:c})}if(n!==e.length||a.length===0)return null;let s=i==="Math"?(()=>Math):(()=>t.getters[i]?.());return()=>{let c=s();for(let d of a){if(c==null)return d.optional,void 0;if(d.type==="prop")c=c[d.name];else{let o=c[d.name];if(typeof o!="function")return;let l=d.argFns.map(p=>p());c=o.apply(c,l)}}return c}}function x(e,t){let n=ue.get(e);if(n)return n(t);let r=rr(e,t);if(r!==null)if(e==="true"||e==="false"||e==="null"||e==="undefined"){let i=e==="true"?!0:e==="false"?!1:e==="null"?null:void 0;ce(e,()=>()=>i)}else if(xt.test(e))ce(e,i=>()=>i.getters[e]?.());else if(_t.test(e)||Rt.test(e)){let i=e.slice(1,-1);ce(e,()=>()=>i)}else if(Mt.test(e)){let i=Number(e);ce(e,()=>()=>i)}else{let i=e.match(dn);if(i){let a=i[1],s=i[2];ce(e,c=>()=>c.getters[a]?.()?.[s])}}return r}function rr(e,t){e=e.trim();let n=jn(e);if(n!==e)return x(n,t);if(_t.test(e)||Rt.test(e)){let u=e.slice(1,-1);return()=>u}if(Mt.test(e)){let u=Number(e);return()=>u}if(e==="true")return()=>!0;if(e==="false")return()=>!1;if(e==="null")return()=>null;if(e==="undefined")return()=>{};if(xt.test(e))return()=>t.getters[e]?.();{let u=nr(e,t);if(u)return u}let r=e.match(An);if(r){let u=r[1].trim(),h=r[2],E=r[3].trim();if(re.has(h))return()=>{};let S=x(u,t);if(!S)return null;let w=[];for(let y of Ve(E)){let v=x(y,t);if(!v)return null;w.push(v)}return()=>{let y=S(),v=y?.[h];if(typeof v!="function")return;let f=w.map(g=>g());return v.apply(y,f)}}if(e.startsWith("!")){let u=x(e.slice(1).trim(),t);if(u)return()=>!u()}let i=e.match(mn);if(i){let u=x(i[1],t),h,E=i[2];if(wn.test(E)?h=Number(E):h=E.slice(1,-1),u)return()=>u()?.[h]}if(e.startsWith("[")){let u=ie(e,0,"[","]");if(u&&u.end===e.length-1){let h=u.inner.trim();if(h==="")return()=>[];let E=Ve(h),S=[],w=!0;for(let y of E){let v=x(y.trim(),t);if(!v){w=!1;break}S.push(v)}if(w)return()=>S.map(y=>y())}}let a=e.match(pn);if(a){let u=x(a[1].trim(),t),h=x(a[2].trim(),t),E=x(a[3].trim(),t);if(u&&h&&E)return()=>u()?h():E()}let s=e.match(gn);if(s){let u=x(s[1].trim(),t),h=x(s[2].trim(),t);if(u&&h)return()=>u()??h()}let c=e.match(bn);if(c){let u=x(c[1].trim(),t),h=x(c[2].trim(),t);if(u&&h)return()=>u()||h()}let d=e.match(hn);if(d){let u=x(d[1].trim(),t),h=x(d[2].trim(),t);if(u&&h)return()=>u()&&h()}let o=e.match(vn);if(o){let u=x(o[1].trim(),t),h=x(o[3].trim(),t);if(u&&h){let E=o[2];return()=>{let S=u(),w=h();switch(E){case"===":return S===w;case"!==":return S!==w;case"==":return S==w;case"!=":return S!=w;case">":return S>w;case"<":return S<w;case">=":return S>=w;case"<=":return S<=w}}}}let l=e.match(yn);if(l){let u=x(l[1].trim(),t),h=x(l[3].trim(),t);if(u&&h){let E=l[2];return()=>{let S=u(),w=h();return E==="+"?S+w:S-w}}}let p=e.match(En);if(p){let u=x(p[1].trim(),t),h=x(p[3].trim(),t);if(u&&h){let E=p[2];return()=>{let S=u(),w=h();switch(E){case"*":return S*w;case"/":return S/w;case"%":return S%w}}}}let m=e.match(Sn);if(m){let u=m[1],h=[],E=[],S=0,w=new RegExp(Tn.source,"g"),y;for(;(y=w.exec(u))!==null;){h.push(u.slice(S,y.index));let v=x(y[1].trim(),t);if(!v)return null;E.push(v),S=w.lastIndex}return h.push(u.slice(S)),()=>{let v=h[0];for(let f=0;f<E.length;f++)v+=String(E[f]()??""),v+=h[f+1]??"";return v}}return null}function Dt(e,t){let n=e.get(t);return n||(n=new Map,e.set(t,n)),n}function Lt(e){return e.includes("...")?"Unsupported expression in CSP-safe mode: spread syntax detected. Use .concat() instead, or enable unsafe-eval via setUnsafeEval(true).":e.includes("=>")?"Unsupported expression in CSP-safe mode: arrow function detected. Extract logic to a data-computed attribute, or enable unsafe-eval via setUnsafeEval(true).":"Unsupported expression in CSP-safe mode. Simplify the expression or enable unsafe-eval via setUnsafeEval(true)."}function X(e,t){let n=e.replace(qe,"").trim(),r=Dt(ze,t),i=r.get(n);if(i)return i;let a=x(n,t);if(a)return r.set(n,a),a;if(!F){N("buildEvaluator: blocked unsafe eval fallback for expression:",n),ne("expression-unsupported",n,Lt(n));let c=()=>{};return r.set(n,c),c}let s=Ct(n);if(s){let c=`Blocked unsafe method "${s}" in expression`;throw ne("expression-unsupported",n,c),new Error(`[FormaJS] ${c}: ${n}`)}try{let c=new Function("__scope",`with(__scope) { return (${n}); }`),d=new Proxy(Object.create(null),{has(l,p){return p in t.getters},get(l,p){if(re.has(p))return;let m=t.getters[p];return m?m():void 0}}),o=()=>c(d);return r.set(n,o),o}catch{ne("expression-unsupported",n,"Expression too complex for CSP-safe mode. Enable unsafe-eval via FormaRuntime.unsafeEval = true, or use the standard (non-hardened) build.");let c=()=>{};return r.set(n,c),c}}function Me(e,t){let n=e.trim().replace(/;+$/g,"").trim();if(!n)return null;let r=Gn(n,t);if(r)return r;let i=Vn(n);if(i.length>1){let m=i.map(u=>Me(u,t));return m.every(u=>u!==null)?u=>{H(()=>{for(let h of m)h(u)})}:null}let a=i[0]??n,s=a.match(_n);if(s){let m=s[1],u=s[2];return()=>{H(()=>{let h=t.getters[m]?.()??0;t.setters[m]?.(u==="++"?h+1:h-1)})}}let c=a.match(Rn);if(c){let m=c[1],u=c[2];return()=>{H(()=>{let h=t.getters[u]?.()??0;t.setters[u]?.(m==="++"?h+1:h-1)})}}let d=a.match(Mn);if(d&&d[1]===d[2]){let m=d[1];return()=>{H(()=>{t.setters[m]?.(!t.getters[m]?.())})}}let o=a.match(xn);if(o){let m=o[1],u=x(o[2].trim(),t);if(u)return O&&N(`parseHandler: assignment "${m} = ..." \u2014 setter exists:`,!!t.setters[m],", getter exists:",!!t.getters[m]),()=>{H(()=>{let h=u();O&&N(`SETTER: ${m} = ${h} (was: ${t.getters[m]?.()})`),t.setters[m]?.(h)})}}let l=a.match(Cn);if(l){let m=l[1],u=l[2],h=x(l[3].trim(),t);if(h)return()=>{H(()=>{let E=t.getters[m]?.()??0,S=h();switch(u){case"+=":t.setters[m]?.(E+S);break;case"-=":t.setters[m]?.(E-S);break;case"*=":t.setters[m]?.(E*S);break;case"/=":t.setters[m]?.(E/S);break}})}}let p=a.match(Hn);if(p){let m=p[1];return()=>Tt(m)}return null}function ir(e,t){let n=e.trim();if(n.startsWith("{")){let c=ie(n,0,"{","}");c&&c.end===n.length-1&&(n=c.inner.trim())}let r=Dt(Je,t),i=r.get(n);if(i)return i;let a=Me(n,t);if(a){let c={handler:a,supported:!0};return r.set(n,c),c}if(!F){N("buildHandler: blocked unsafe eval fallback for expression:",n),ne("handler-unsupported",n,Lt(n));let c={handler:()=>{},supported:!1};return r.set(n,c),c}let s=Ct(n);if(s){let c=`Blocked unsafe method "${s}" in handler`;throw ne("handler-unsupported",n,c),new Error(`[FormaJS] ${c}: ${n}`)}try{let c=new Function("__scope","$event","event",`with(__scope) { ${n} }`),d=new Proxy(Object.create(null),{has(p,m){return m==="$event"||m==="event"?!1:m in t.getters||m in t.setters},get(p,m){if(re.has(m))return;let u=t.getters[m];return u?u():void 0},set(p,m,u){let h=t.setters[m];return h&&h(u),!0}}),l={handler:p=>{H(()=>c(d,p,p))},supported:!0};return r.set(n,l),l}catch{ne("handler-unsupported",n,"Expression too complex for CSP-safe mode. Enable unsafe-eval via FormaRuntime.unsafeEval = true, or use the standard (non-hardened) build.");let c={handler:()=>{},supported:!1};return r.set(n,c),c}}var or=new Set(["__proto__","constructor","prototype"]);function Ot(e){let t;try{t=JSON.parse(e)}catch{return O&&N("parseState: Invalid JSON in data-forma-state \u2014 use valid JSON with quoted keys. Got:",e.slice(0,200)),{}}for(let n of or)n in t&&delete t[n];return t}function sr(e){let t=e.getAttribute("data-forma-state")??"{}",n=Ot(t),r=Object.keys(n);O&&(N("initScope: parsed",r.length,"keys:",r.join(", ")),r.length===0&&N("initScope: WARNING \u2014 empty state! Raw attribute:",t.slice(0,200)));let i={},a={};for(let[s,c]of Object.entries(n)){let[d,o]=te(c);i[s]=d,a[s]=o}return i.$refetch=()=>Tt,{getters:i,setters:a}}var yt=new Set(["id","className","tagName","nodeName","getAttribute","setAttribute","removeAttribute","hasAttribute","toggleAttribute","dataset","classList","textContent","innerText","value","checked","disabled","selected","type","name","placeholder","readOnly","required","min","max","step","pattern","getBoundingClientRect","offsetWidth","offsetHeight","offsetTop","offsetLeft","clientWidth","clientHeight","scrollWidth","scrollHeight","scrollTop","scrollLeft","style","hidden","focus","blur","click","scrollIntoView","scrollTo","closest","matches","querySelector","querySelectorAll","children","childElementCount","firstElementChild","lastElementChild","nextElementSibling","previousElementSibling"]);function ar(e){return new Proxy(e,{get(t,n){if(typeof n=="symbol")return Reflect.get(t,n);if(!yt.has(n))return;let r=Reflect.get(t,n);return typeof r=="function"?r.bind(t):r},set(t,n,r){return typeof n=="symbol"||!yt.has(n)?!1:Reflect.set(t,n,r)}})}function Y(e,t,n){let r={$el:ar(e),$dispatch:(y,v)=>{e.dispatchEvent(new CustomEvent(y,{bubbles:!0,composed:!0,detail:v}))}};t=He(t,r);let i=fr(e),a=!i||i.has("data-computed")?e.getAttribute("data-computed"):null;if(a){let y=a.split(/;\s*(?=\w+\s*=[^=])/);for(let v of y){let f=v.trim();if(!f)continue;let g=f.match(Nn);if(g){let b=g[1],T=g[2],k=t.getters[b];delete t.getters[b];let R=X(`{${T}}`,t),D=De(R);t.getters[b]=D,k||delete t.setters[b]}}}let s=!i||i.has("data-text")?e.getAttribute("data-text"):null;if(s){let y=X(s,t),v=P(()=>{qn(e,Wn(y()))});n.push(v)}let c=!i||i.has("data-show")?e.getAttribute("data-show"):null;if(c){let y=X(c,t),v=Fe(e);if(O){let b=e.tagName.toLowerCase(),T=e.className?`.${String(e.className).split(" ")[0]}`:"";N(`bindElement: data-show="${c}" on <${b}${T}>`)}let f=!1,g=P(()=>{let b=!!y();O&&N(`data-show effect: "${c}" \u2192 ${b}`),er(e,b,v,!f),f=!0});n.push(g),v&&n.push(()=>we(e))}let d=!i||i.has("data-if")?e.getAttribute("data-if"):null;if(d){let y=X(d,t),v=Fe(e),f=document.createComment("forma-if"),g=e.parentNode,b=!0,T=!1,k=P(()=>{let R=!!y();R&&!b?(we(e),e.removeAttribute("data-forma-leaving"),T&&v?Qn(e,g,f,v):g?.insertBefore(e,f),b=!0):!R&&b&&(T&&v?Et(e,v,()=>{e.parentNode&&(g?.insertBefore(f,e),e.remove())}):(g?.insertBefore(f,e),e.remove()),b=!1),T=!0});n.push(k),v&&n.push(()=>we(e))}let o=!i||i.has("data-model")?e.getAttribute("data-model"):null;if(o){let y=o.replace(qe,"").trim(),v=t.getters[y],f=t.setters[y];if(v&&f){let g=e,b=P(()=>{let R=v();g.type==="checkbox"?g.checked=!!R:g.value=String(R??"")});n.push(b);let T=g.type==="checkbox"?"change":"input",k=()=>{g.type==="checkbox"?f(g.checked):g.type==="number"||g.type==="range"?f(Number(g.value)):f(g.value)};g.addEventListener(T,k),n.push(()=>{g.removeEventListener(T,k)})}}let l=!i||dr(i,"data-on:","data-class:","data-bind:"),p=e.attributes;if(l)for(let y=0;y<p.length;y++){let v=p[y],f=v.name;if(f.startsWith("data-on:")){let g=f.slice(8),b=ir(v.value,t),T=b.handler;if(O){let k=e.tagName.toLowerCase(),R=e.id?`#${e.id}`:"",D=e.className?`.${String(e.className).split(" ")[0]}`:"";N(`bindElement: data-on:${g}="${v.value}" on <${k}${R}${D}>`)}if(b.supported?e.hasAttribute("data-forma-handler-error")&&e.removeAttribute("data-forma-handler-error"):e.setAttribute("data-forma-handler-error","unsupported"),O){let k=v.value,R=D=>{N(`HANDLER FIRED: data-on:${g}="${k}"`,"isTrusted:",D.isTrusted),T(D)};e.addEventListener(g,R),n.push(()=>{e.removeEventListener(g,R)})}else e.addEventListener(g,T),n.push(()=>{e.removeEventListener(g,T)})}else if(f.startsWith("data-class:")){let g=f.slice(11),b=X(v.value,t),T=P(()=>{e.classList.toggle(g,!!b())});n.push(T)}else if(f.startsWith("data-bind:")){let g=f.slice(10),b=X(v.value,t),T=P(()=>{let k=b();k==null||k===!1?e.removeAttribute(g):e.setAttribute(g,String(k))});n.push(T)}}let m=!i||i.has("data-persist")?e.getAttribute("data-persist"):null;if(m){let y=m.replace(qe,"").trim(),v=t.getters[y],f=t.setters[y];if(v&&f){let g="forma:"+y;try{let T=localStorage.getItem(g);T!==null&&f(JSON.parse(T))}catch{}let b=P(()=>{try{localStorage.setItem(g,JSON.stringify(v()))}catch{}});n.push(b)}}let u=!i||i.has("data-list")?e.getAttribute("data-list"):null;if(u){let y=X(u,t),v=e.children[0];if(v){let D=function(C){let _=C;if(Array.isArray(_.__formaDisposers)){for(let A of _.__formaDisposers)try{A()}catch{}delete _.__formaDisposers}},j=function(C,_){let A=zn(f,C),L=He(t,{item:C,index:_}),M=[];Y(A,L,M);for(let B of Array.from(A.querySelectorAll("*")))Y(B,L,M);return A.__formaDisposers=M,A},oe=function(C,_,A){D(C),Jn(C,_);let L=He(t,{item:_,index:A}),M=[];Y(C,L,M);for(let B of Array.from(C.querySelectorAll("*")))Y(B,L,M);C.__formaDisposers=M};var E=D,S=j,w=oe;let f=v.cloneNode(!0);e.removeChild(v);let g=f.getAttribute("data-key"),b=g?g.replace(On,"").trim():null,T=Fe(e),k=[],R=[],se=T?{onInsert:C=>{let _=C;if(!_.setAttribute)return;let A=G(_);A.token+=1;let L=A.token;A.cancel&&A.cancel(),A.cancel=be(_,{base:T.enter,from:T.enterFrom,to:T.enterTo,durationMs:T.enterDurationMs},()=>{let M=G(_);M.token===L&&(M.cancel=null)})},onBeforeRemove:(C,_)=>{let A=C;if(!A.setAttribute){_();return}D(C),Et(A,T,()=>{_()})}}:void 0,ae=P(()=>{let C=y();if(!Array.isArray(C)){for(let A of R)D(A),e.removeChild(A);k=[],R=[];return}if(T){let A=e.querySelectorAll("[data-forma-leaving]");for(let L of Array.from(A))we(L),L.removeAttribute("data-forma-leaving"),L.parentNode&&L.parentNode.removeChild(L)}let _=new Set(R);if(b){let A=Le(e,k,C,R,M=>String(M?.[b]??""),M=>{let B=C.indexOf(M);return j(M,B)},(M,B)=>{let I=C.indexOf(B);oe(M,B,I)},void 0,se),L=new Set(A.nodes);for(let M of _)if(!L.has(M)){if(M.hasAttribute?.("data-forma-leaving"))continue;D(M)}k=A.items,R=A.nodes}else{let A=C.map((I,ve)=>({__idx:ve,__item:I})),M=Le(e,k,A,R,I=>I.__idx,I=>j(I.__item,I.__idx),(I,ve)=>oe(I,ve.__item,ve.__idx),void 0,se),B=new Set(M.nodes);for(let I of _)if(!B.has(I)){if(I.hasAttribute?.("data-forma-leaving"))continue;D(I)}k=M.items,R=M.nodes}});n.push(ae)}}let h=!i||i.has("data-fetch")?e.getAttribute("data-fetch"):null;if(h){let y=h.match(Dn);if(y){let v=y[1].trim(),f=y[2].trim(),g=y[3]?.trim()??"",b="GET",T=v,k=v.match(Ln);k&&(b=k[1].toUpperCase(),T=k[2].trim());let R,D,j;for(let _ of g.split("|").filter(Boolean)){let[A,L]=_.split(":").map(M=>M.trim());A==="loading"?R=L:A==="error"?D=L:A==="poll"&&(j=parseInt(L??"0",10))}let[oe,se]=te(null);if(t.getters[f]=oe,t.setters[f]=se,R){let[_,A]=te(!1);t.getters[R]=_,t.setters[R]=A}if(D){let[_,A]=te(null);t.getters[D]=_,t.setters[D]=A}let ae=()=>{R&&t.setters[R](!0),fetch(T,{method:b}).then(_=>_.json()).then(_=>{se(_),R&&t.setters[R](!1)}).catch(_=>{D&&t.setters[D](_.message),R&&t.setters[R](!1)})},C=e.getAttribute("data-fetch-id");if(C&&(Ue.set(C,ae),n.push(()=>Ue.delete(C))),ae(),j&&j>0){let _=setInterval(ae,j);n.push(()=>clearInterval(_))}}}}var gi=["[data-text]","[data-show]","[data-if]","[data-model]","[data-computed]","[data-persist]","[data-list]","[data-fetch]","[data-bind\\:*]","[data-class\\:*]","[data-on\\:*]","[data-transition]"].join(",");function lr(e){let t=e.attributes;for(let n=0;n<t.length;n++){let r=t[n].name;if(r.startsWith("data-text")||r.startsWith("data-show")||r.startsWith("data-if")||r.startsWith("data-model")||r.startsWith("data-computed")||r.startsWith("data-persist")||r.startsWith("data-list")||r.startsWith("data-fetch")||r.startsWith("data-on:")||r.startsWith("data-class:")||r.startsWith("data-bind:")||r.startsWith("data-transition"))return!0}return!1}var V=null;function cr(e){if(!e||Object.keys(e).length===0){V=null;return}V=new Map;for(let t in e)V.set(t,new Set(e[t]))}function ur(){if(!V||V.size===0||V.size>200)return null;let e=[];for(let t of V.keys())e.push(`[data-forma-id="${t}"]`);return e.join(",")}function fr(e){if(!V)return null;let t=e.getAttribute("data-forma-id");return t?V.get(t)??null:null}function dr(e,...t){for(let n of e)for(let r of t)if(n.startsWith(r))return!0;return!1}function Z(e){if(e.__formaDisposers){O&&N("mountScope: SKIPPED (already mounted)");return}let t=sr(e),n=[];Y(e,t,n);let r=0,i=ur();if(i){let a=e.querySelectorAll(i);for(let s=0;s<a.length;s++)Y(a[s],t,n),r++}else{let a=e.querySelectorAll("*");for(let s=0;s<a.length;s++){let c=a[s];lr(c)&&(Y(c,t,n),r++)}}e.__formaDisposers=n,e.__formaScope=t,e.__formaInitialState=e.getAttribute("data-forma-state")??"{}",O&&N("mountScope: DONE \u2014",r,"elements bound,",n.length,"disposers",i?"(targeted)":"(full scan)")}function Q(e){let t=e.__formaDisposers;if(t){for(let n of t)try{n()}catch{}delete e.__formaDisposers,delete e.__formaScope,delete e.__formaInitialState}}var U=null,St=1,mr=40,me=[],he=!1;function pr(e){for(let t=0;t<e.removedNodes.length;t++){let n=e.removedNodes[t];if(n.nodeType!==St)continue;let r=n;r.hasAttribute("data-forma-state")&&(O&&N("MutationObserver: REMOVED scope"),Q(r));let i=r.querySelectorAll("[data-forma-state]");for(let a=0;a<i.length;a++)Q(i[a])}for(let t=0;t<e.addedNodes.length;t++){let n=e.addedNodes[t];if(n.nodeType!==St)continue;let r=n;if(r.closest("[data-forma-leaving]"))continue;r.hasAttribute("data-forma-state")&&(O&&N("MutationObserver: ADDED scope via mutation"),Z(r));let i=r.querySelectorAll("[data-forma-state]");O&&i.length>0&&N("MutationObserver: found",i.length,"nested scope(s) in added subtree");for(let a=0;a<i.length;a++){let s=i[a];s.closest("[data-forma-leaving]")||Z(s)}}if(e.type==="attributes"&&e.attributeName==="data-forma-state"){let t=e.target;Q(t),t.hasAttribute("data-forma-state")&&Z(t)}}async function It(){try{for(;me.length>0;){let e=me.splice(0,mr);for(let t=0;t<e.length;t++)pr(e[t]);me.length>0&&await At()}}finally{he=!1,me.length>0&&!he&&(he=!0,It())}}function gr(e){O&&N("MutationObserver: queued",e.length,"mutation(s)"),me.push(...e),!he&&(he=!0,It())}function hr(){if(U)return;U=new MutationObserver(gr);let e=document.body||document.documentElement;e&&U.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-forma-state"]})}function br(){U&&(U.disconnect(),U=null)}function Ge(){un&&wt(document,{skipIfAlreadySet:!0});let e=document.querySelectorAll("[data-forma-state]");O&&N("initRuntime: found",e.length,"scope(s)");for(let t of Array.from(e))Z(t);hr(),O&&N("initRuntime: MutationObserver started")}function vr(){br();let e=document.querySelectorAll("[data-forma-state]");for(let t of Array.from(e))Q(t)}function Er(e){e.hasAttribute("data-forma-state")&&Z(e);let t=e.querySelectorAll("[data-forma-state]");for(let n of Array.from(t))Z(n)}function yr(e){e.hasAttribute("data-forma-state")&&Q(e);let t=e.querySelectorAll("[data-forma-state]");for(let n of Array.from(t))Q(n)}typeof document<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Ge):Ge());function Sr(e){O=e}function Tr(e){$!==e&&($=e,e==="locked-off"&&(F=!1),e==="locked-on"&&(F=!0),e==="mutable"&&(F=!0),ze=new WeakMap,Je=new WeakMap)}function Ar(e){if($!=="mutable"){N(`setUnsafeEval ignored (mode=${$}); unsafe fallback is locked`);return}F!==e&&(F=e,ze=new WeakMap,Je=new WeakMap)}function wr(){return $}function _r(e){je=e}function Rr(){return Array.from(pe.values()).map(e=>({...e}))}function Mr(){pe.clear()}function xr(){let e=document.querySelectorAll("[data-forma-state]"),t=[];for(let n of Array.from(e)){if(n.closest("[data-forma-leaving]"))continue;let r=n.__formaScope,i=n.__formaInitialState;if(!r)continue;let a={};for(let s of Object.keys(r.getters)){let c=r.getters[s]();a[s]={value:c,type:typeof c}}t.push({element:n,id:n.getAttribute("data-forma-id")||n.id||n.tagName.toLowerCase(),values:a,initialJSON:i??"{}"})}return t}function Cr(e,t,n){let r=e.__formaScope;r?.setters[t]&&H(()=>{r.setters[t](n)})}function kr(e){let t=e.__formaScope,n=e.__formaInitialState;if(!t||!n)return;let r=Ot(n);H(()=>{for(let[i,a]of Object.entries(r))t.setters[i]?.(a)})}var Pe=null;function Nr(){return Pe||(Pe=mt({mountScope:Z,unmountScope:Q,disconnectObserver(){U&&U.disconnect()},reconnectObserver(){if(U){let e=document.body||document.documentElement;e&&U.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-forma-state"]})}},batch:H})),Pe}function Dr(e,t){Nr()(e,t)}return Ut(Lr);})();
"use strict";var FormaRuntime=(()=>{var xe=Object.defineProperty;var $t=Object.getOwnPropertyDescriptor;var Ht=Object.getOwnPropertyNames;var Ft=Object.prototype.hasOwnProperty;var Pt=(e,t)=>{for(var n in t)xe(e,n,{get:t[n],enumerable:!0})},Bt=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ht(t))!Ft.call(e,i)&&i!==n&&xe(e,i,{get:()=>t[i],enumerable:!(r=$t(t,i))||r.enumerable});return e};var Ut=e=>Bt(xe({},"__esModule",{value:!0}),e);var Lr={};Pt(Lr,{applyContainmentHints:()=>wt,clearDiagnostics:()=>Mr,destroyRuntime:()=>vr,getDiagnostics:()=>Rr,getScopes:()=>xr,getUnsafeEvalMode:()=>wr,initRuntime:()=>Ge,mount:()=>Er,reconcile:()=>Dr,resetScope:()=>kr,setDebug:()=>Sr,setDiagnostics:()=>_r,setDirectiveMap:()=>cr,setScopeValue:()=>Cr,setUnsafeEval:()=>Ar,setUnsafeEvalMode:()=>Tr,unmount:()=>yr,yieldToMain:()=>At});function Xe({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:o,shallowPropagate:c};function r(s,l,p){let m=l.depsTail;if(m!==void 0&&m.dep===s)return;let u=m!==void 0?m.nextDep:l.deps;if(u!==void 0&&u.dep===s){u.version=p,l.depsTail=u;return}let h=s.subsTail;if(h!==void 0&&h.version===p&&h.sub===l)return;let E=l.depsTail=s.subsTail={version:p,dep:s,sub:l,prevDep:m,nextDep:u,prevSub:h,nextSub:void 0};u!==void 0&&(u.prevDep=E),m!==void 0?m.nextDep=E:l.deps=E,h!==void 0?h.nextSub=E:s.subs=E}function i(s,l=s.sub){let p=s.dep,m=s.prevDep,u=s.nextDep,h=s.nextSub,E=s.prevSub;return u!==void 0?u.prevDep=m:l.depsTail=m,m!==void 0?m.nextDep=u:l.deps=u,h!==void 0?h.prevSub=E:p.subsTail=E,E!==void 0?E.nextSub=h:(p.subs=h)===void 0&&n(p),u}function a(s){let l=s.nextSub,p;e:do{let m=s.sub,u=m.flags;if(u&60?u&12?u&4?!(u&48)&&f(s,m)?(m.flags=u|40,u&=1):u=0:m.flags=u&-9|32:u=0:m.flags=u|32,u&2&&t(m),u&1){let h=m.subs;if(h!==void 0){let E=(s=h).nextSub;E!==void 0&&(p={value:l,prev:p},l=E);continue}}if((s=l)!==void 0){l=s.nextSub;continue}for(;p!==void 0;)if(s=p.value,p=p.prev,s!==void 0){l=s.nextSub;continue e}break}while(!0)}function o(s,l){let p,m=0,u=!1;e:do{let h=s.dep,E=h.flags;if(l.flags&16)u=!0;else if((E&17)===17){if(e(h)){let S=h.subs;S.nextSub!==void 0&&c(S),u=!0}}else if((E&33)===33){(s.nextSub!==void 0||s.prevSub!==void 0)&&(p={value:s,prev:p}),s=h.deps,l=h,++m;continue}if(!u){let S=s.nextDep;if(S!==void 0){s=S;continue}}for(;m--;){let S=l.subs,w=S.nextSub!==void 0;if(w?(s=p.value,p=p.prev):s=S,u){if(e(l)){w&&c(S),l=s.sub;continue}u=!1}else l.flags&=-33;l=s.sub;let y=s.nextDep;if(y!==void 0){s=y;continue e}}return u}while(!0)}function c(s){do{let l=s.sub,p=l.flags;(p&48)===32&&(l.flags=p|16,(p&6)===2&&t(l))}while((s=s.nextSub)!==void 0)}function f(s,l){let p=l.depsTail;for(;p!==void 0;){if(p===s)return!0;p=p.prevDep}return!1}}var Ee=0,Ce=0,K=0,le=0,z,W=[],{link:ke,unlink:Ye,propagate:Wt,checkDirty:Ze,shallowPropagate:Qe}=Xe({update(e){return e.depsTail!==void 0?st(e):ot(e)},notify(e){let t=le,n=t;do if(W[t++]=e,e.flags&=-3,e=e.subs?.sub,e===void 0||!(e.flags&2))break;while(!0);for(le=t;n<--t;){let r=W[n];W[n++]=W[t],W[t]=r}},unwatched(e){e.flags&1?e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=17,ye(e)):lt.call(e)}});function q(e){let t=z;return z=e,t}function et(){++Ce}function tt(){--Ce||at()}function nt(e){return Gt.bind({currentValue:e,pendingValue:e,subs:void 0,subsTail:void 0,flags:1})}function rt(e){return Vt.bind({value:void 0,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:0,getter:e})}function it(e){let t={fn:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:6},n=q(t);n!==void 0&&ke(t,n,0);try{t.fn()}finally{z=n,t.flags&=-5}return jt.bind(t)}function st(e){++Ee,e.depsTail=void 0,e.flags=5;let t=q(e);try{let n=e.value;return n!==(e.value=e.getter(n))}finally{z=t,e.flags&=-5,ye(e)}}function ot(e){return e.flags=1,e.currentValue!==(e.currentValue=e.pendingValue)}function qt(e){let t=e.flags;if(t&16||t&32&&Ze(e.deps,e)){++Ee,e.depsTail=void 0,e.flags=6;let n=q(e);try{e.fn()}finally{z=n,e.flags&=-5,ye(e)}}else e.flags=2}function at(){try{for(;K<le;){let e=W[K];W[K++]=void 0,qt(e)}}finally{for(;K<le;){let e=W[K];W[K++]=void 0,e.flags|=10}K=0,le=0}}function Vt(){let e=this.flags;if(e&16||e&32&&(Ze(this.deps,this)||(this.flags=e&-33,!1))){if(st(this)){let n=this.subs;n!==void 0&&Qe(n)}}else if(!e){this.flags=5;let n=q(this);try{this.value=this.getter()}finally{z=n,this.flags&=-5}}let t=z;return t!==void 0&&ke(this,t,Ee),this.value}function Gt(...e){if(e.length){if(this.pendingValue!==(this.pendingValue=e[0])){this.flags=17;let t=this.subs;t!==void 0&&(Wt(t),Ce||at())}}else{if(this.flags&16&&ot(this)){let n=this.subs;n!==void 0&&Qe(n)}let t=z;for(;t!==void 0;){if(t.flags&3){ke(this,t,Ee);break}t=t.subs?.sub}return this.currentValue}}function jt(){lt.call(this)}function lt(){this.depsTail=void 0,this.flags=0,ye(this);let e=this.subs;e!==void 0&&Ye(e)}function ye(e){let t=e.depsTail,n=t!==void 0?t.nextDep:e.deps;for(;n!==void 0;)n=Ye(n,e)}function zt(e,t,n){if(typeof t!="function"){if(n){let o=q(void 0),c=e();if(q(o),n(c,t))return}e(t);return}let r=q(void 0),i=e();q(r);let a=t(i);n&&n(i,a)||e(a)}function te(e,t){let n=nt(e),r=n,i=t?.equals;return[r,o=>zt(n,o,i)]}var Ne=null;function ct(e){Ne&&Ne.disposers.push(e)}function ut(){return Ne!==null}var Jt=32;var Kt=[];for(let e=0;e<Jt;e++)Kt.push([]);function B(e){let t=it(e);return ut()&&ct(t),t}function De(e){return rt(e)}function $(e){et();try{e()}finally{tt()}}function ft(e){let t=e.length;if(t===0)return[];let n=new Int32Array(t),r=new Int32Array(t),i=new Int32Array(t).fill(-1),a=0;for(let f=0;f<t;f++){let s=e[f],l=0,p=a;for(;l<p;){let m=l+p>>1;n[m]<s?l=m+1:p=m}n[l]=s,r[l]=f,l>0&&(i[f]=r[l-1]),l>=a&&a++}let o=new Array(a),c=r[a-1];for(let f=a-1;f>=0;f--)o[f]=c,c=i[c];return o}var Xt=32;function Yt(e,t,n,r,i,a,o,c,f){let s=t.length,l=n.length,p=new Array(s);for(let d=0;d<s;d++)p[d]=i(t[d]);let m=new Array(l),u=new Uint8Array(s);for(let d=0;d<l;d++){let g=i(n[d]),b=-1;for(let T=0;T<s;T++)if(!u[T]&&p[T]===g){b=T,u[T]=1;break}m[d]=b}for(let d=0;d<s;d++)if(!u[d])if(f?.onBeforeRemove){let g=r[d];f.onBeforeRemove(g,()=>{g.parentNode&&g.parentNode.removeChild(g)})}else e.removeChild(r[d]);if(s===l){let d=!0;for(let g=0;g<l;g++)if(m[g]!==g){d=!1;break}if(d){let g=new Array(l);for(let b=0;b<l;b++){let T=r[b];o(T,n[b]),g[b]=T}return{nodes:g,items:n}}}let h=[],E=[];for(let d=0;d<l;d++)m[d]!==-1&&(h.push(m[d]),E.push(d));let S=ft(h),w=new Uint8Array(l);for(let d of S)w[E[d]]=1;let y=new Array(l),v=c??null;for(let d=l-1;d>=0;d--){let g,b=!1;if(m[d]===-1)g=a(n[d]),b=!0;else if(g=r[m[d]],o(g,n[d]),w[d]){y[d]=g,v=g;continue}v?e.insertBefore(g,v):e.appendChild(g),b&&f?.onInsert?.(g),y[d]=g,v=g}return{nodes:y,items:n}}function Le(e,t,n,r,i,a,o,c,f){let s=t.length,l=n.length;if(l===0){for(let d=0;d<s;d++)if(f?.onBeforeRemove){let g=r[d];f.onBeforeRemove(g,()=>{g.parentNode&&g.parentNode.removeChild(g)})}else e.removeChild(r[d]);return{nodes:[],items:[]}}if(s===0){let d=new Array(l);for(let g=0;g<l;g++){let b=a(n[g]);c?e.insertBefore(b,c):e.appendChild(b),f?.onInsert?.(b),d[g]=b}return{nodes:d,items:n}}if(s<Xt)return Yt(e,t,n,r,i,a,o,c,f);let p=new Map;for(let d=0;d<s;d++)p.set(i(t[d]),d);let m=new Array(l),u=new Uint8Array(s);for(let d=0;d<l;d++){let g=i(n[d]),b=p.get(g);b!==void 0?(m[d]=b,u[b]=1):m[d]=-1}for(let d=0;d<s;d++)if(!u[d])if(f?.onBeforeRemove){let g=r[d];f.onBeforeRemove(g,()=>{g.parentNode&&g.parentNode.removeChild(g)})}else e.removeChild(r[d]);if(s===l){let d=!0;for(let g=0;g<l;g++)if(m[g]!==g){d=!1;break}if(d){let g=new Array(l);for(let b=0;b<l;b++){let T=r[b];o(T,n[b]),g[b]=T}return{nodes:g,items:n}}}let h=[],E=[];for(let d=0;d<l;d++)m[d]!==-1&&(h.push(m[d]),E.push(d));let S=ft(h),w=new Uint8Array(l);for(let d of S)w[E[d]]=1;let y=new Array(l),v=c??null;for(let d=l-1;d>=0;d--){let g,b=!1;if(m[d]===-1)g=a(n[d]),b=!0;else if(g=r[m[d]],o(g,n[d]),w[d]){y[d]=g,v=g;continue}v?e.insertBefore(g,v):e.appendChild(g),b&&f?.onInsert?.(g),y[d]=g,v=g}return{nodes:y,items:n}}function Zt(e){let t=new Set,n=e.attributes;for(let r=0;r<n.length;r++){let i=n[r].name;i.startsWith("data-bind:")&&t.add(i.slice(10))}return t}function Qt(e){return e.hasAttribute("data-list")||e.hasAttribute("data-if")}function dt(e){try{let t=JSON.parse(e);return Object.keys(t).sort()}catch{return[]}}function en(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function tn(e,t){let n=e.getAttribute("data-module"),r=t.getAttribute("data-module");if(n!==r)return"REPLACE";let a=e.__formaInitialState??e.getAttribute("data-forma-state")??"{}",o=t.getAttribute("data-forma-state")??"{}",c=dt(a),f=dt(o);return en(c,f)?"PRESERVE":"RESET"}var Se=null;function nn(e){return Se||(Se=document.createElement("template")),Se.innerHTML=e,Se.content}function Oe(e,t){let n=Zt(e),r=e.hasAttribute("data-show"),i=e.hasAttribute("data-model"),a=!1,o=e.attributes;for(let f=0;f<o.length;f++)if(o[f].name.startsWith("data-class:")){a=!0;break}let c=t.attributes;for(let f=0;f<c.length;f++){let s=c[f];if(s.name==="style"&&r||s.name==="class"&&a||(s.name==="value"||s.name==="checked")&&i||n.has(s.name))continue;e.getAttribute(s.name)!==s.value&&e.setAttribute(s.name,s.value)}for(let f=o.length-1;f>=0;f--){let s=o[f];if(!t.hasAttribute(s.name)){if(s.name==="style"&&r||s.name==="class"&&a||(s.name==="value"||s.name==="checked")&&i||n.has(s.name))continue;e.removeAttribute(s.name)}}}function rn(e,t){if(e.hasAttribute("data-text"))return;let n=[],r=[];for(let o of Array.from(e.childNodes))o.nodeType===Node.TEXT_NODE&&n.push(o);for(let o=0;o<t.childNodes.length;o++){let c=t.childNodes[o];c.nodeType===Node.TEXT_NODE&&r.push({node:c,index:o})}if(n.length===r.length){for(let o=0;o<n.length;o++)n[o].textContent!==r[o].node.textContent&&(n[o].textContent=r[o].node.textContent);return}let i=new Set,a=0;for(let{node:o,index:c}of r)if(a<n.length){let f=n[a];a++,i.add(f),f.textContent!==o.textContent&&(f.textContent=o.textContent)}else{let f=sn(e,t,c);e.insertBefore(document.createTextNode(o.textContent??""),f)}for(let o of n)!i.has(o)&&o.parentNode===e&&e.removeChild(o)}function sn(e,t,n){for(let r=n+1;r<t.childNodes.length;r++){let i=t.childNodes[r];if(i.nodeType===Node.ELEMENT_NODE){let a=i.getAttribute("data-forma-id");if(a){let o=e.querySelector(`[data-forma-id="${CSS.escape(a)}"]`);if(o&&o.parentElement===e)return o}}}return null}function Ie(e,t,n){if(Qt(e))return;rn(e,t);let r=Array.from(e.children),i=Array.from(t.children),a=new Map,o=[];for(let s of r){if(s.hasAttribute("data-forma-leaving"))continue;let l=s.getAttribute("data-forma-id");l?a.set(l,s):o.push(s)}let c=0,f=new Set;for(let s of i){let l=s.getAttribute("data-forma-id"),p;if(l)p=a.get(l);else for(;c<o.length;){let m=o[c];if(c++,m.tagName===s.tagName&&!f.has(m)){p=m;break}}if(p){if(f.add(p),p.hasAttribute("data-forma-state")&&s.hasAttribute("data-forma-state"))switch(tn(p,s)){case"PRESERVE":Oe(p,s),Ie(p,s,n);break;case"RESET":n.unmountScope(p),Oe(p,s),on(p,s),n.mountScope(p);break;case"REPLACE":{n.unmountScope(p);let u=s.cloneNode(!0);e.replaceChild(u,p),n.mountScope(u),f.delete(p),p=u,f.add(u);break}}else Oe(p,s),Ie(p,s,n);an(e,p,s,i)}else{let m=s.cloneNode(!0),u=ln(e,s,i);e.insertBefore(m,u),f.add(m),m.hasAttribute("data-forma-state")&&n.mountScope(m);let h=m.querySelectorAll("[data-forma-state]");for(let E of Array.from(h))n.mountScope(E)}}for(let s of r)if(!f.has(s)){if(s.parentElement!==e||s.hasAttribute("data-forma-leaving"))continue;s.hasAttribute("data-forma-state")&&n.unmountScope(s);let l=s.querySelectorAll("[data-forma-state]");for(let p of Array.from(l))n.unmountScope(p);e.removeChild(s)}}function on(e,t){for(;e.firstChild;)e.removeChild(e.firstChild);for(let n of Array.from(t.childNodes))e.appendChild(n.cloneNode(!0))}function an(e,t,n,r){let i=r.indexOf(n);if(Array.from(e.children).indexOf(t)!==i){let c=r[i+1];if(c){let f=c.getAttribute("data-forma-id");if(f){let s=e.querySelector(`[data-forma-id="${CSS.escape(f)}"]`);if(s&&s.parentElement===e){e.insertBefore(t,s);return}}}e.appendChild(t)}}function ln(e,t,n){let r=n.indexOf(t);for(let i=r+1;i<n.length;i++){let a=n[i].getAttribute("data-forma-id");if(a){let o=e.querySelector(`[data-forma-id="${CSS.escape(a)}"]`);if(o&&o.parentElement===e)return o}}return null}function mt(e){let t="";return function(r,i){let a=i.trim();if(a&&!(a===t&&r.hasChildNodes())){t=a,e.disconnectObserver();try{if(!r.hasChildNodes()||r.children.length===0){r.innerHTML=a,e.batch(()=>{let l=r.querySelectorAll("[data-forma-state]");for(let p of Array.from(l))e.mountScope(p)});return}let o=nn(a),c=document.createElement("div");c.appendChild(o);let f=new Set;for(let l of Array.from(r.children)){if(l.hasAttribute("data-forma-leaving"))continue;let p=l.getAttribute("data-forma-id");p&&f.add(p)}let s=!1;if(f.size>0)for(let l of Array.from(c.children)){let p=l.getAttribute("data-forma-id");if(p&&f.has(p)){s=!0;break}}if(f.size>0&&!s){e.batch(()=>{let l=r.querySelectorAll("[data-forma-state]");for(let m of Array.from(l))e.unmountScope(m);r.innerHTML=a;let p=r.querySelectorAll("[data-forma-state]");for(let m of Array.from(p))e.mountScope(m)});return}e.batch(()=>{Ie(r,c,e)})}finally{e.reconnectObserver()}}}}var Ue=new Map;function Tt(e){let t=Ue.get(e);t?t():O&&N(`$refetch: no data-fetch with id "${e}" found`)}function $e(e,t){let n=Object.create(null);for(let r of Object.keys(t))n[r]=()=>t[r];return{getters:new Proxy(e.getters,{get(r,i){return i in n?n[i]:r[i]},has(r,i){return i in n||i in r}}),setters:e.setters}}var O=!1,H="mutable",F=!1,je=!0;function N(...e){(O||typeof window<"u"&&window.__FORMA_DEBUG)&&console.log("[FormaJS]",...e)}var pe=new Map;function Te(e){if(e==null)return;let t=e.trim().toLowerCase();if(t==="1"||t==="true"||t==="on"||t==="yes")return!0;if(t==="0"||t==="false"||t==="off"||t==="no")return!1}function We(e){if(e==null)return;let t=e.trim().toLowerCase();if(t==="mutable")return"mutable";if(t==="locked-off"||t==="off"||t==="disabled")return"locked-off";if(t==="locked-on"||t==="on"||t==="enabled")return"locked-on"}function cn(){let e={};if(typeof window<"u"){let t=window.__FORMA_RUNTIME_CONFIG;if(t){if(typeof t.allowUnsafeEval=="boolean"&&(e.allowUnsafeEval=t.allowUnsafeEval),typeof t.unsafeEvalMode=="string"){let n=We(t.unsafeEvalMode);n&&(e.unsafeEvalMode=n)}typeof t.lockUnsafeEval=="boolean"&&(e.lockUnsafeEval=t.lockUnsafeEval),typeof t.diagnostics=="boolean"&&(e.diagnostics=t.diagnostics),typeof t.autoContainment=="boolean"&&(e.autoContainment=t.autoContainment)}}if(typeof document<"u"){let t=document.currentScript;if(t){let n=Te(t.getAttribute("data-forma-unsafe-eval"));n!==void 0&&(e.allowUnsafeEval=n);let r=We(t.getAttribute("data-forma-unsafe-eval-mode"));r!==void 0&&(e.unsafeEvalMode=r);let i=Te(t.getAttribute("data-forma-lock-unsafe-eval"));i!==void 0&&(e.lockUnsafeEval=i);let a=Te(t.getAttribute("data-forma-diagnostics"));a!==void 0&&(e.diagnostics=a);let o=Te(t.getAttribute("data-forma-auto-containment"));o!==void 0&&(e.autoContainment=o)}}return e}function ne(e,t,n){if(!je)return;let r=`${e}|${n}|${t}`,i=Date.now(),a=pe.get(r);a?(a.count+=1,a.lastSeenAt=i):(pe.set(r,{kind:e,expr:t,reason:n,count:1,firstSeenAt:i,lastSeenAt:i}),console.warn(`[FormaJS] ${n}: ${t}`));try{if(typeof window<"u"){let o={kind:e,expr:t,reason:n,count:pe.get(r)?.count??1};window.dispatchEvent(new CustomEvent("formajs:diagnostic",{detail:o}))}}catch{}}var pt=We("mutable");pt&&(H=pt,H==="locked-off"&&(F=!1),H==="locked-on"&&(F=!0),H==="mutable"&&(F=!0));var ee=cn(),gt=ee.lockUnsafeEval?"locked-off":ee.unsafeEvalMode;gt&&(H=gt,H==="locked-off"&&(F=!1),H==="locked-on"&&(F=!0));H==="mutable"&&typeof ee.allowUnsafeEval=="boolean"&&(F=ee.allowUnsafeEval);typeof ee.diagnostics=="boolean"&&(je=ee.diagnostics);var un=ee.autoContainment===!0;function fn(){let e=globalThis?.scheduler;if(e&&(typeof e.yield=="function"||typeof e.postTask=="function"))return e}async function At(){let e=fn();if(e?.yield){await e.yield();return}if(e?.postTask){await e.postTask(()=>{},{priority:"background"});return}await new Promise(t=>setTimeout(t,0))}function wt(e=document,t={}){let n=t.selector??"[data-forma-contain]";if(!n||typeof e.querySelectorAll!="function")return 0;let r=e.querySelectorAll(n),i=0;for(let a=0;a<r.length;a++){let o=r[a];if(!o?.style)continue;let c=o.getAttribute("data-forma-contain")??t.contain??"layout style paint",f=o.getAttribute("data-forma-content-visibility")??t.contentVisibility??"auto",s=o.getAttribute("data-forma-contain-intrinsic-size")??t.containIntrinsicSize??"auto 800px",l=t.skipIfAlreadySet===!0,p=!1,m=o.style.getPropertyValue("contain"),u=o.style.getPropertyValue("content-visibility"),h=o.style.getPropertyValue("contain-intrinsic-size");c!=="off"&&(!l||!m)&&(o.style.setProperty("contain",c),p=!0),f!=="off"&&(!l||!u)&&(o.style.setProperty("content-visibility",f),p=!0),s!=="off"&&(!l||!h)&&(o.style.setProperty("contain-intrinsic-size",s),p=!0),p&&i++}return O&&i>0&&N("applyContainmentHints: applied to",i,"element(s)"),i}var _t=/^'[^']*'$/,Rt=/^"[^"]*"$/,Mt=/^-?\d+(\.\d+)?$/,xt=/^[a-zA-Z_$]\w*$/,dn=/^(\w+)\.(\w+)$/;var mn=/^(\w+)\[(\d+|'[^']*'|"[^"]*")\]$/,pn=/^(.+?)\s*\?\s*(.+?)\s*:\s*(.+)$/,gn=/^(.+?)\s*\?\?\s*(.+)$/,hn=/^(.+?)\s*&&\s*(.+)$/,bn=/^(.+?)\s*\|\|\s*(.+)$/,vn=/^(.+?)\s*(===|!==|==|!=|>=|<=|>|<)\s*(.+)$/,En=/^(.+?)\s*([*/%])\s*(.+)$/,yn=/^(.+?)\s*([+-])\s*(.+)$/,Sn=/^`([^`]*)`$/,Tn=/\$\{([^}]+)\}/g;var An=/^\((.+)\)\.(\w+)\((.*)\)$/,qe=/^\{|\}$/g;var wn=/^\d+$/,_n=/^(\w+)(\+\+|--)$/,Rn=/^(\+\+|--)(\w+)$/,Mn=/^(\w+)\s*=\s*!(\w+)$/,xn=/^(\w+)\s*=\s*(.+)$/,Cn=/^(\w+)\s*(\+=|-=|\*=|\/=)\s*(.+)$/,kn=/^if\b/,Nn=/^(\w+)\s*=\s*(.+)$/,Dn=/^(.+?)(?:→|->)\s*(\S+)(.*)$/,Ln=/^(GET|POST|PUT|PATCH|DELETE)\s+(.+)$/i,On=/^\{item\.?|\}$/g,In=/\bevent\s*[.([]|\$event\b/,$n=/^\$refetch\(\s*['"]([^'"]+)['"]\s*\)$/,Re=Symbol.for("forma-transition-state"),Hn=2048,ue=new Map;function ce(e,t){if(ue.size>=Hn){let n=ue.keys().next().value;n!==void 0&&ue.delete(n)}ue.set(e,t)}var ze=new WeakMap,Je=new WeakMap,fe=new Map,Fn=2048;function Pn(e,t){if(fe.size>=Fn){let n=fe.keys().next().value;n!==void 0&&fe.delete(n)}fe.set(e,t)}var re=new Set(["constructor","__proto__","prototype","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__","eval","Function"]),Bn=(()=>{let e=[];for(let t of re){let n=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e.push({name:t,dotRe:new RegExp(`(?:^|\\.)${n}(?:\\s*\\(|\\s*$|[^\\w$])`,"m"),bracketRe:new RegExp(`\\[\\s*(?:'${n}'|"${n}"|\``+n+"`)\\s*\\]")})}return e})();function Ct(e){let t=e.replace(/\/\*[\s\S]*?\*\//g,"");t=t.replace(/\/\/[^\n]*/g,""),t=t.replace(/\s*\.\s*/g,".");for(let{name:n,dotRe:r,bracketRe:i}of Bn)if(r.test(t)||i.test(t))return n;if(t.includes("[")){let n=Un(t);for(let r of n){if(!r.includes("+"))continue;let i=r.match(/['"`]([^'"`]*?)['"`]/g);if(!i)continue;let a=i.map(o=>o.slice(1,-1)).join("");if(re.has(a))return a}}return null}function Un(e){let t=[],n=0,r=-1;for(let i=0;i<e.length;i++)e[i]==="["?(n===0&&(r=i+1),n++):e[i]==="]"&&(n--,n===0&&r>=0&&(t.push(e.slice(r,i)),r=-1));return t}var ht=Symbol.for("forma-text-binding-cache");function Wn(e){return e==null?"":typeof e=="string"?e:typeof e=="symbol"?e.toString():String(e)}function qn(e,t){let n=e[ht];if(n||(n={initialized:!1,last:"",node:null},e[ht]=n),n.initialized&&n.last===t)return;let r=n.node;if(!r||r.parentNode!==e||e.childNodes.length!==1||e.firstChild!==r)if(e.childNodes.length===1&&e.firstChild?.nodeType===Node.TEXT_NODE)r=e.firstChild,n.node=r;else{e.textContent=t;let i=e.firstChild;n.node=i&&i.nodeType===Node.TEXT_NODE&&e.childNodes.length===1?i:null,n.last=t,n.initialized=!0;return}r.data=t,n.last=t,n.initialized=!0}function Ve(e){let t=[];if(e.trim()==="")return t;let n=0,r=!1,i=!1,a=!1,o=0;for(let c=0;c<e.length;c++){let f=e[c];if(a){a=!1;continue}if(f==="\\"){a=!0;continue}if(r){f==="'"&&(r=!1);continue}if(i){f==='"'&&(i=!1);continue}if(f==="'"){r=!0;continue}if(f==='"'){i=!0;continue}if(f==="("){n++;continue}if(f===")"){n>0&&n--;continue}f===","&&n===0&&(t.push(e.slice(o,c).trim()),o=c+1)}return t.push(e.slice(o).trim()),t.filter(Boolean)}function ie(e,t,n,r){if(e[t]!==n)return null;let i=0,a=!1,o=!1,c=!1,f=!1;for(let s=t;s<e.length;s++){let l=e[s];if(f){f=!1;continue}if(l==="\\"&&(a||o||c)){f=!0;continue}if(a){l==="'"&&(a=!1);continue}if(o){l==='"'&&(o=!1);continue}if(c){l==="`"&&(c=!1);continue}if(l==="'"){a=!0;continue}if(l==='"'){o=!0;continue}if(l==="`"){c=!0;continue}if(l===n){i++;continue}if(l===r&&(i--,i===0))return{inner:e.slice(t+1,s),end:s}}return null}function Vn(e){let t=e.trim();if(!t)return[];let n=[],r=0,i=0,a=0,o=!1,c=!1,f=!1,s=!1,l=0;for(let m=0;m<t.length;m++){let u=t[m];if(s){s=!1;continue}if(u==="\\"&&(o||c||f)){s=!0;continue}if(o){u==="'"&&(o=!1);continue}if(c){u==='"'&&(c=!1);continue}if(f){u==="`"&&(f=!1);continue}if(u==="'"){o=!0;continue}if(u==='"'){c=!0;continue}if(u==="`"){f=!0;continue}if(u==="("?r++:u===")"&&r>0?r--:u==="{"?i++:u==="}"&&i>0?i--:u==="["?a++:u==="]"&&a>0&&a--,u===";"&&r===0&&i===0&&a===0){let h=t.slice(l,m).trim();h&&n.push(h),l=m+1}}let p=t.slice(l).trim();return p&&n.push(p),n}function bt(e){let t=e.trim();if(!t)return null;if(t.startsWith("{")){let s=ie(t,0,"{","}");if(!s)return null;let l=s.inner.trim(),p=t.slice(s.end+1).trim();return p.startsWith(";")&&(p=p.slice(1).trim()),{body:l,rest:p}}let n=0,r=0,i=0,a=!1,o=!1,c=!1,f=!1;for(let s=0;s<t.length;s++){let l=t[s];if(f){f=!1;continue}if(l==="\\"&&(a||o||c)){f=!0;continue}if(a){l==="'"&&(a=!1);continue}if(o){l==='"'&&(o=!1);continue}if(c){l==="`"&&(c=!1);continue}if(l==="'"){a=!0;continue}if(l==='"'){o=!0;continue}if(l==="`"){c=!0;continue}if(l==="("?n++:l===")"&&n>0?n--:l==="{"?r++:l==="}"&&r>0?r--:l==="["?i++:l==="]"&&i>0&&i--,l===";"&&n===0&&r===0&&i===0)return{body:t.slice(0,s).trim(),rest:t.slice(s+1).trim()}}return{body:t,rest:""}}function Gn(e,t){let n=e.trim();if(!kn.test(n)||In.test(n))return null;let r=2;for(;r<n.length&&/\s/.test(n[r]);)r++;if(n[r]!=="(")return null;let i=ie(n,r,"(",")");if(!i)return null;let a=x(i.inner.trim(),t);if(!a)return null;let o=n.slice(i.end+1).trim(),c=bt(o);if(!c||!c.body)return null;let f=Me(c.body,t);if(!f)return null;o=c.rest.trim();let s=null;if(o.startsWith("else")){o=o.slice(4).trim();let l=bt(o);if(!l||!l.body||(s=Me(l.body,t),!s))return null;o=l.rest.trim()}return o.length>0?null:l=>{$(()=>{a()?f(l):s?.(l)})}}function jn(e){let t=e.trim();for(;t.startsWith("(");){let n=ie(t,0,"(",")");if(!n||n.end!==t.length-1)break;let r=n.inner.trim();if(!r)break;t=r}return t}function kt(e){let t=fe.get(e);if(t)return t;let n=[],r=[],i=0,a=/\{item\.?(\w*)\}/g,o;for(;(o=a.exec(e))!==null;)n.push(e.slice(i,o.index)),r.push(o[1]),i=a.lastIndex;n.push(e.slice(i));let c={statics:n,dynamics:r,hasItemRef:r.length>0};return Pn(e,c),c}var Nt=new WeakMap;function Ke(e,t){if(!e.hasItemRef)return e.statics[0];let n=e.statics[0];for(let r=0;r<e.dynamics.length;r++){let i=e.dynamics[r];i?n+=String(t?.[i]??""):n+=typeof t=="object"?JSON.stringify(t):String(t??""),n+=e.statics[r+1]??""}return n}function zn(e,t){let n=e.cloneNode(!0),r=document.createTreeWalker(n,NodeFilter.SHOW_TEXT);for(;r.nextNode();){let i=r.currentNode,a=i.textContent??"";if(a.includes("{item")){let o=kt(a);Nt.set(i,o),i.textContent=Ke(o,t)}}return tr(n,t),n}function Jn(e,t){let n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);for(;n.nextNode();){let r=n.currentNode,i=Nt.get(r);i&&(r.textContent=Ke(i,t))}}var Kn=new WeakMap,Xn=["data-list","data-show","data-text","data-if","data-model","data-on:","data-class:","data-bind:","data-computed","data-persist","data-fetch","data-transition","data-transition:"];function Yn(e){for(let t of Xn)if(e===t||e.startsWith(t))return!0;return!1}function de(e){return e?e.trim().split(/\s+/).map(t=>t.trim()).filter(Boolean):[]}function ge(e){let t=e.trim().toLowerCase();if(t.endsWith("ms")){let n=Number(t.slice(0,-2));return Number.isFinite(n)&&n>=0?n:null}if(t.endsWith("s")){let n=Number(t.slice(0,-1));return Number.isFinite(n)&&n>=0?n*1e3:null}return null}function He(e){let t=[],n;for(let r of de(e)){let i=ge(r);i!=null?n=i:t.push(r)}return{classes:t,durationMs:n}}function J(e){return Array.from(new Set(e.filter(Boolean)))}function Ae(e){return e?e.split(",").map(t=>ge(t.trim())).filter(t=>t!=null):[]}function vt(e,t){if(e.length===0&&t.length===0)return 0;if(e.length===0)return Math.max(...t,0);if(t.length===0)return Math.max(...e,0);let n=Math.max(e.length,t.length),r=0;for(let i=0;i<n;i++){let a=e[i%e.length]??0,o=t[i%t.length]??0;a+o>r&&(r=a+o)}return r}function Zn(e,t){if(typeof t=="number")return t;let n=window.getComputedStyle(e),r=vt(Ae(n.transitionDuration),Ae(n.transitionDelay)),i=vt(Ae(n.animationDuration),Ae(n.animationDelay));return Math.max(r,i)}function G(e){let t=e[Re];if(t)return t;let n={token:0,cancel:null};return e[Re]=n,n}function we(e){let t=e[Re];t?.cancel&&t.cancel(),delete e[Re]}function Fe(e){if(!(e.hasAttribute("data-transition")||Array.from(e.attributes).some(m=>m.name.startsWith("data-transition:"))))return null;let n=He(e.getAttribute("data-transition")).classes,r=He(e.getAttribute("data-transition:enter")),i=He(e.getAttribute("data-transition:leave")),a=de(e.getAttribute("data-transition:enter-from")??e.getAttribute("data-transition:enter-start")),o=de(e.getAttribute("data-transition:enter-to")??e.getAttribute("data-transition:enter-end")),c=de(e.getAttribute("data-transition:leave-from")??e.getAttribute("data-transition:leave-start")),f=de(e.getAttribute("data-transition:leave-to")??e.getAttribute("data-transition:leave-end")),s=ge(e.getAttribute("data-transition:duration")??""),l=ge(e.getAttribute("data-transition:duration-enter")??"")??r.durationMs??s??void 0,p=ge(e.getAttribute("data-transition:duration-leave")??"")??i.durationMs??s??void 0;return{enter:J([...n,...r.classes]),enterFrom:J(a),enterTo:J(o),leave:J([...n,...i.classes]),leaveFrom:J(c),leaveTo:J(f),enterDurationMs:l,leaveDurationMs:p}}function _e(e,t){for(let n of t)e.classList.remove(n)}function Pe(e,t){for(let n of t)e.classList.add(n)}function be(e,t,n){let r=J([...t.base,...t.from,...t.to]),i=!1,a=null,o=null,c=null,f=()=>{i||(i=!0,a!=null&&window.clearTimeout(a),o!=null&&cancelAnimationFrame(o),c!=null&&cancelAnimationFrame(c),_e(e,r),n())};return Pe(e,t.base),Pe(e,t.from),_e(e,t.to),o=requestAnimationFrame(()=>{c=requestAnimationFrame(()=>{if(i)return;_e(e,t.from),Pe(e,t.to);let s=Zn(e,t.durationMs);if(s<=0){f();return}a=window.setTimeout(f,s+25)})}),f}function Qn(e,t,n,r){if(t.insertBefore(e,n),!r)return;let i=G(e);i.token+=1;let a=i.token;i.cancel&&i.cancel(),i.cancel=be(e,{base:r.enter,from:r.enterFrom,to:r.enterTo,durationMs:r.enterDurationMs},()=>{let o=G(e);o.token===a&&(o.cancel=null)})}function Et(e,t,n){if(e.hasAttribute("data-forma-leaving")){n();return}if(!t){n();return}e.setAttribute("data-forma-leaving","");let r=G(e);r.token+=1;let i=r.token;r.cancel&&r.cancel(),r.cancel=be(e,{base:t.leave,from:t.leaveFrom,to:t.leaveTo,durationMs:t.leaveDurationMs},()=>{let a=G(e);a.token===i&&(a.cancel=null),e.removeAttribute("data-forma-leaving"),n()})}function er(e,t,n,r){if(!n||r){e.style.display=t?"":"none",n&&_e(e,J([...n.enter,...n.enterFrom,...n.enterTo,...n.leave,...n.leaveFrom,...n.leaveTo]));return}let i=G(e);i.token+=1;let a=i.token;if(i.cancel&&i.cancel(),i.cancel=null,t){e.style.display="",i.cancel=be(e,{base:n.enter,from:n.enterFrom,to:n.enterTo,durationMs:n.enterDurationMs},()=>{let o=G(e);o.token===a&&(o.cancel=null)});return}i.cancel=be(e,{base:n.leave,from:n.leaveFrom,to:n.leaveTo,durationMs:n.leaveDurationMs},()=>{let o=G(e);o.token===a&&(e.style.display="none",o.cancel=null)})}function tr(e,t){let n=[e,...Array.from(e.querySelectorAll("*"))];for(let r of n){let i=[];for(let a of Array.from(r.attributes))if(!Yn(a.name)&&a.value.includes("{item")){let o=kt(a.value);i.push({attr:a.name,compiled:o}),r.setAttribute(a.name,Ke(o,t))}i.length>0&&Kn.set(r,i)}}function nr(e,t){let n=0,r=e.match(/^[a-zA-Z_$]\w*/);if(!r)return null;let i=r[0];if(n=i.length,n>=e.length||e[n]!=="."&&!(e[n]==="?"&&e[n+1]==="."))return null;let a=[];for(;n<e.length;){let c=!1;if(e[n]==="?"&&e[n+1]===".")c=!0,n+=2;else if(e[n]===".")n+=1;else return null;let f=e.slice(n).match(/^\w+/);if(!f)return null;let s=f[0];if(n+=s.length,re.has(s))return()=>{};if(n<e.length&&e[n]==="("){let l=ie(e,n,"(",")");if(!l)return null;let p=l.inner.trim(),m=[];for(let u of Ve(p)){let h=x(u,t);if(!h)return null;m.push(h)}a.push({type:"call",name:s,optional:c,argFns:m}),n=l.end+1}else a.push({type:"prop",name:s,optional:c})}if(n!==e.length||a.length===0)return null;let o=i==="Math"?(()=>Math):(()=>t.getters[i]?.());return()=>{let c=o();for(let f of a){if(c==null)return f.optional,void 0;if(f.type==="prop")c=c[f.name];else{let s=c[f.name];if(typeof s!="function")return;let l=f.argFns.map(p=>p());c=s.apply(c,l)}}return c}}function x(e,t){let n=ue.get(e);if(n)return n(t);let r=rr(e,t);if(r!==null)if(e==="true"||e==="false"||e==="null"||e==="undefined"){let i=e==="true"?!0:e==="false"?!1:e==="null"?null:void 0;ce(e,()=>()=>i)}else if(xt.test(e))ce(e,i=>()=>i.getters[e]?.());else if(_t.test(e)||Rt.test(e)){let i=e.slice(1,-1);ce(e,()=>()=>i)}else if(Mt.test(e)){let i=Number(e);ce(e,()=>()=>i)}else{let i=e.match(dn);if(i){let a=i[1],o=i[2];ce(e,c=>()=>c.getters[a]?.()?.[o])}}return r}function rr(e,t){e=e.trim();let n=jn(e);if(n!==e)return x(n,t);if(_t.test(e)||Rt.test(e)){let u=e.slice(1,-1);return()=>u}if(Mt.test(e)){let u=Number(e);return()=>u}if(e==="true")return()=>!0;if(e==="false")return()=>!1;if(e==="null")return()=>null;if(e==="undefined")return()=>{};if(xt.test(e))return()=>t.getters[e]?.();{let u=nr(e,t);if(u)return u}let r=e.match(An);if(r){let u=r[1].trim(),h=r[2],E=r[3].trim();if(re.has(h))return()=>{};let S=x(u,t);if(!S)return null;let w=[];for(let y of Ve(E)){let v=x(y,t);if(!v)return null;w.push(v)}return()=>{let y=S(),v=y?.[h];if(typeof v!="function")return;let d=w.map(g=>g());return v.apply(y,d)}}if(e.startsWith("!")){let u=x(e.slice(1).trim(),t);if(u)return()=>!u()}let i=e.match(mn);if(i){let u=x(i[1],t),h,E=i[2];if(wn.test(E)?h=Number(E):h=E.slice(1,-1),u)return()=>u()?.[h]}if(e.startsWith("[")){let u=ie(e,0,"[","]");if(u&&u.end===e.length-1){let h=u.inner.trim();if(h==="")return()=>[];let E=Ve(h),S=[],w=!0;for(let y of E){let v=x(y.trim(),t);if(!v){w=!1;break}S.push(v)}if(w)return()=>S.map(y=>y())}}let a=e.match(pn);if(a){let u=x(a[1].trim(),t),h=x(a[2].trim(),t),E=x(a[3].trim(),t);if(u&&h&&E)return()=>u()?h():E()}let o=e.match(gn);if(o){let u=x(o[1].trim(),t),h=x(o[2].trim(),t);if(u&&h)return()=>u()??h()}let c=e.match(bn);if(c){let u=x(c[1].trim(),t),h=x(c[2].trim(),t);if(u&&h)return()=>u()||h()}let f=e.match(hn);if(f){let u=x(f[1].trim(),t),h=x(f[2].trim(),t);if(u&&h)return()=>u()&&h()}let s=e.match(vn);if(s){let u=x(s[1].trim(),t),h=x(s[3].trim(),t);if(u&&h){let E=s[2];return()=>{let S=u(),w=h();switch(E){case"===":return S===w;case"!==":return S!==w;case"==":return S==w;case"!=":return S!=w;case">":return S>w;case"<":return S<w;case">=":return S>=w;case"<=":return S<=w}}}}let l=e.match(yn);if(l){let u=x(l[1].trim(),t),h=x(l[3].trim(),t);if(u&&h){let E=l[2];return()=>{let S=u(),w=h();return E==="+"?S+w:S-w}}}let p=e.match(En);if(p){let u=x(p[1].trim(),t),h=x(p[3].trim(),t);if(u&&h){let E=p[2];return()=>{let S=u(),w=h();switch(E){case"*":return S*w;case"/":return S/w;case"%":return S%w}}}}let m=e.match(Sn);if(m){let u=m[1],h=[],E=[],S=0,w=new RegExp(Tn.source,"g"),y;for(;(y=w.exec(u))!==null;){h.push(u.slice(S,y.index));let v=x(y[1].trim(),t);if(!v)return null;E.push(v),S=w.lastIndex}return h.push(u.slice(S)),()=>{let v=h[0];for(let d=0;d<E.length;d++)v+=String(E[d]()??""),v+=h[d+1]??"";return v}}return null}function Dt(e,t){let n=e.get(t);return n||(n=new Map,e.set(t,n)),n}function Lt(e){return e.includes("...")?"Unsupported expression in CSP-safe mode: spread syntax detected. Use .concat() instead, or enable unsafe-eval via setUnsafeEval(true).":e.includes("=>")?"Unsupported expression in CSP-safe mode: arrow function detected. Extract logic to a data-computed attribute, or enable unsafe-eval via setUnsafeEval(true).":"Unsupported expression in CSP-safe mode. Simplify the expression or enable unsafe-eval via setUnsafeEval(true)."}function X(e,t){let n=e.replace(qe,"").trim(),r=Dt(ze,t),i=r.get(n);if(i)return i;let a=x(n,t);if(a)return r.set(n,a),a;if(!F){N("buildEvaluator: blocked unsafe eval fallback for expression:",n),ne("expression-unsupported",n,Lt(n));let c=()=>{};return r.set(n,c),c}let o=Ct(n);if(o){let c=`Blocked unsafe method "${o}" in expression`;throw ne("expression-unsupported",n,c),new Error(`[FormaJS] ${c}: ${n}`)}try{let c=new Function("__scope",`with(__scope) { return (${n}); }`),f=new Proxy(Object.create(null),{has(l,p){return p in t.getters},get(l,p){if(re.has(p))return;let m=t.getters[p];return m?m():void 0}}),s=()=>c(f);return r.set(n,s),s}catch{ne("expression-unsupported",n,"Expression too complex for CSP-safe mode. Enable unsafe-eval via FormaRuntime.unsafeEval = true, or use the standard (non-hardened) build.");let c=()=>{};return r.set(n,c),c}}function Me(e,t){let n=e.trim().replace(/;+$/g,"").trim();if(!n)return null;let r=Gn(n,t);if(r)return r;let i=Vn(n);if(i.length>1){let m=i.map(u=>Me(u,t));return m.every(u=>u!==null)?u=>{$(()=>{for(let h of m)h(u)})}:null}let a=i[0]??n,o=a.match(_n);if(o){let m=o[1],u=o[2];return()=>{$(()=>{let h=t.getters[m]?.()??0;t.setters[m]?.(u==="++"?h+1:h-1)})}}let c=a.match(Rn);if(c){let m=c[1],u=c[2];return()=>{$(()=>{let h=t.getters[u]?.()??0;t.setters[u]?.(m==="++"?h+1:h-1)})}}let f=a.match(Mn);if(f&&f[1]===f[2]){let m=f[1];return()=>{$(()=>{t.setters[m]?.(!t.getters[m]?.())})}}let s=a.match(xn);if(s){let m=s[1],u=x(s[2].trim(),t);if(u)return O&&N(`parseHandler: assignment "${m} = ..." \u2014 setter exists:`,!!t.setters[m],", getter exists:",!!t.getters[m]),()=>{$(()=>{let h=u();O&&N(`SETTER: ${m} = ${h} (was: ${t.getters[m]?.()})`),t.setters[m]?.(h)})}}let l=a.match(Cn);if(l){let m=l[1],u=l[2],h=x(l[3].trim(),t);if(h)return()=>{$(()=>{let E=t.getters[m]?.()??0,S=h();switch(u){case"+=":t.setters[m]?.(E+S);break;case"-=":t.setters[m]?.(E-S);break;case"*=":t.setters[m]?.(E*S);break;case"/=":t.setters[m]?.(E/S);break}})}}let p=a.match($n);if(p){let m=p[1];return()=>Tt(m)}return null}function ir(e,t){let n=e.trim();if(n.startsWith("{")){let c=ie(n,0,"{","}");c&&c.end===n.length-1&&(n=c.inner.trim())}let r=Dt(Je,t),i=r.get(n);if(i)return i;let a=Me(n,t);if(a){let c={handler:a,supported:!0};return r.set(n,c),c}if(!F){N("buildHandler: blocked unsafe eval fallback for expression:",n),ne("handler-unsupported",n,Lt(n));let c={handler:()=>{},supported:!1};return r.set(n,c),c}let o=Ct(n);if(o){let c=`Blocked unsafe method "${o}" in handler`;throw ne("handler-unsupported",n,c),new Error(`[FormaJS] ${c}: ${n}`)}try{let c=new Function("__scope","$event","event",`with(__scope) { ${n} }`),f=new Proxy(Object.create(null),{has(p,m){return m==="$event"||m==="event"?!1:m in t.getters||m in t.setters},get(p,m){if(re.has(m))return;let u=t.getters[m];return u?u():void 0},set(p,m,u){let h=t.setters[m];return h&&h(u),!0}}),l={handler:p=>{$(()=>c(f,p,p))},supported:!0};return r.set(n,l),l}catch{ne("handler-unsupported",n,"Expression too complex for CSP-safe mode. Enable unsafe-eval via FormaRuntime.unsafeEval = true, or use the standard (non-hardened) build.");let c={handler:()=>{},supported:!1};return r.set(n,c),c}}var sr=new Set(["__proto__","constructor","prototype"]);function Ot(e){let t;try{t=JSON.parse(e)}catch{return O&&N("parseState: Invalid JSON in data-forma-state \u2014 use valid JSON with quoted keys. Got:",e.slice(0,200)),{}}for(let n of sr)n in t&&delete t[n];return t}function or(e){let t=e.getAttribute("data-forma-state")??"{}",n=Ot(t),r=Object.keys(n);O&&(N("initScope: parsed",r.length,"keys:",r.join(", ")),r.length===0&&N("initScope: WARNING \u2014 empty state! Raw attribute:",t.slice(0,200)));let i={},a={};for(let[o,c]of Object.entries(n)){let[f,s]=te(c);i[o]=f,a[o]=s}return i.$refetch=()=>Tt,{getters:i,setters:a}}var yt=new Set(["id","className","tagName","nodeName","getAttribute","setAttribute","removeAttribute","hasAttribute","toggleAttribute","dataset","classList","textContent","innerText","value","checked","disabled","selected","type","name","placeholder","readOnly","required","min","max","step","pattern","getBoundingClientRect","offsetWidth","offsetHeight","offsetTop","offsetLeft","clientWidth","clientHeight","scrollWidth","scrollHeight","scrollTop","scrollLeft","style","hidden","focus","blur","click","scrollIntoView","scrollTo","closest","matches","querySelector","querySelectorAll","children","childElementCount","firstElementChild","lastElementChild","nextElementSibling","previousElementSibling"]);function ar(e){return new Proxy(e,{get(t,n){if(typeof n=="symbol")return Reflect.get(t,n);if(!yt.has(n))return;let r=Reflect.get(t,n);return typeof r=="function"?r.bind(t):r},set(t,n,r){return typeof n=="symbol"||!yt.has(n)?!1:Reflect.set(t,n,r)}})}function Y(e,t,n){let r={$el:ar(e),$dispatch:(y,v)=>{e.dispatchEvent(new CustomEvent(y,{bubbles:!0,composed:!0,detail:v}))}};t=$e(t,r);let i=fr(e),a=!i||i.has("data-computed")?e.getAttribute("data-computed"):null;if(a){let y=a.split(/;\s*(?=\w+\s*=[^=])/);for(let v of y){let d=v.trim();if(!d)continue;let g=d.match(Nn);if(g){let b=g[1],T=g[2],k=t.getters[b];delete t.getters[b];let R=X(`{${T}}`,t),D=De(R);t.getters[b]=D,k||delete t.setters[b]}}}let o=!i||i.has("data-text")?e.getAttribute("data-text"):null;if(o){let y=X(o,t),v=B(()=>{qn(e,Wn(y()))});n.push(v)}let c=!i||i.has("data-show")?e.getAttribute("data-show"):null;if(c){let y=X(c,t),v=Fe(e);if(O){let b=e.tagName.toLowerCase(),T=e.className?`.${String(e.className).split(" ")[0]}`:"";N(`bindElement: data-show="${c}" on <${b}${T}>`)}let d=!1,g=B(()=>{let b=!!y();O&&N(`data-show effect: "${c}" \u2192 ${b}`),er(e,b,v,!d),d=!0});n.push(g),v&&n.push(()=>we(e))}let f=!i||i.has("data-if")?e.getAttribute("data-if"):null;if(f){let y=X(f,t),v=Fe(e),d=document.createComment("forma-if"),g=e.parentNode,b=!0,T=!1,k=B(()=>{let R=!!y();R&&!b?(we(e),e.removeAttribute("data-forma-leaving"),T&&v?Qn(e,g,d,v):g?.insertBefore(e,d),b=!0):!R&&b&&(T&&v?Et(e,v,()=>{e.parentNode&&(g?.insertBefore(d,e),e.remove())}):(g?.insertBefore(d,e),e.remove()),b=!1),T=!0});n.push(k),v&&n.push(()=>we(e))}let s=!i||i.has("data-model")?e.getAttribute("data-model"):null;if(s){let y=s.replace(qe,"").trim(),v=t.getters[y],d=t.setters[y];if(v&&d){let g=e,b=B(()=>{let R=v();g.type==="checkbox"?g.checked=!!R:g.value=String(R??"")});n.push(b);let T=g.type==="checkbox"?"change":"input",k=()=>{g.type==="checkbox"?d(g.checked):g.type==="number"||g.type==="range"?d(Number(g.value)):d(g.value)};g.addEventListener(T,k),n.push(()=>{g.removeEventListener(T,k)})}}let l=!i||dr(i,"data-on:","data-class:","data-bind:"),p=e.attributes;if(l)for(let y=0;y<p.length;y++){let v=p[y],d=v.name;if(d.startsWith("data-on:")){let g=d.slice(8),b=ir(v.value,t),T=b.handler;if(O){let k=e.tagName.toLowerCase(),R=e.id?`#${e.id}`:"",D=e.className?`.${String(e.className).split(" ")[0]}`:"";N(`bindElement: data-on:${g}="${v.value}" on <${k}${R}${D}>`)}if(b.supported?e.hasAttribute("data-forma-handler-error")&&e.removeAttribute("data-forma-handler-error"):e.setAttribute("data-forma-handler-error","unsupported"),O){let k=v.value,R=D=>{N(`HANDLER FIRED: data-on:${g}="${k}"`,"isTrusted:",D.isTrusted),T(D)};e.addEventListener(g,R),n.push(()=>{e.removeEventListener(g,R)})}else e.addEventListener(g,T),n.push(()=>{e.removeEventListener(g,T)})}else if(d.startsWith("data-class:")){let g=d.slice(11),b=X(v.value,t),T=B(()=>{e.classList.toggle(g,!!b())});n.push(T)}else if(d.startsWith("data-bind:")){let g=d.slice(10),b=X(v.value,t),T=B(()=>{let k=b();k==null||k===!1?e.removeAttribute(g):e.setAttribute(g,String(k))});n.push(T)}}let m=!i||i.has("data-persist")?e.getAttribute("data-persist"):null;if(m){let y=m.replace(qe,"").trim(),v=t.getters[y],d=t.setters[y];if(v&&d){let g="forma:"+y;try{let T=localStorage.getItem(g);T!==null&&d(JSON.parse(T))}catch{}let b=B(()=>{try{localStorage.setItem(g,JSON.stringify(v()))}catch{}});n.push(b)}}let u=!i||i.has("data-list")?e.getAttribute("data-list"):null;if(u){let y=X(u,t),v=e.children[0];if(v){let D=function(C){let _=C;if(Array.isArray(_.__formaDisposers)){for(let A of _.__formaDisposers)try{A()}catch{}delete _.__formaDisposers}},j=function(C,_){let A=zn(d,C),L=$e(t,{item:C,index:_}),M=[];Y(A,L,M);for(let P of Array.from(A.querySelectorAll("*")))Y(P,L,M);return A.__formaDisposers=M,A},se=function(C,_,A){D(C),Jn(C,_);let L=$e(t,{item:_,index:A}),M=[];Y(C,L,M);for(let P of Array.from(C.querySelectorAll("*")))Y(P,L,M);C.__formaDisposers=M};var E=D,S=j,w=se;let d=v.cloneNode(!0);e.removeChild(v);let g=d.getAttribute("data-key"),b=g?g.replace(On,"").trim():null,T=Fe(e),k=[],R=[],oe=T?{onInsert:C=>{let _=C;if(!_.setAttribute)return;let A=G(_);A.token+=1;let L=A.token;A.cancel&&A.cancel(),A.cancel=be(_,{base:T.enter,from:T.enterFrom,to:T.enterTo,durationMs:T.enterDurationMs},()=>{let M=G(_);M.token===L&&(M.cancel=null)})},onBeforeRemove:(C,_)=>{let A=C;if(!A.setAttribute){_();return}D(C),Et(A,T,()=>{_()})}}:void 0,ae=B(()=>{let C=y();if(!Array.isArray(C)){for(let A of R)D(A),e.removeChild(A);k=[],R=[];return}if(T){let A=e.querySelectorAll("[data-forma-leaving]");for(let L of Array.from(A))we(L),L.removeAttribute("data-forma-leaving"),L.parentNode&&L.parentNode.removeChild(L)}let _=new Set(R);if(b){let A=Le(e,k,C,R,M=>String(M?.[b]??""),M=>{let P=C.indexOf(M);return j(M,P)},(M,P)=>{let I=C.indexOf(P);se(M,P,I)},void 0,oe),L=new Set(A.nodes);for(let M of _)if(!L.has(M)){if(M.hasAttribute?.("data-forma-leaving"))continue;D(M)}k=A.items,R=A.nodes}else{let A=C.map((I,ve)=>({__idx:ve,__item:I})),M=Le(e,k,A,R,I=>I.__idx,I=>j(I.__item,I.__idx),(I,ve)=>se(I,ve.__item,ve.__idx),void 0,oe),P=new Set(M.nodes);for(let I of _)if(!P.has(I)){if(I.hasAttribute?.("data-forma-leaving"))continue;D(I)}k=M.items,R=M.nodes}});n.push(ae)}}let h=!i||i.has("data-fetch")?e.getAttribute("data-fetch"):null;if(h){let y=h.match(Dn);if(y){let v=y[1].trim(),d=y[2].trim(),g=y[3]?.trim()??"",b="GET",T=v,k=v.match(Ln);k&&(b=k[1].toUpperCase(),T=k[2].trim());let R,D,j;for(let _ of g.split("|").filter(Boolean)){let[A,L]=_.split(":").map(M=>M.trim());A==="loading"?R=L:A==="error"?D=L:A==="poll"&&(j=parseInt(L??"0",10))}let[se,oe]=te(null);if(t.getters[d]=se,t.setters[d]=oe,R){let[_,A]=te(!1);t.getters[R]=_,t.setters[R]=A}if(D){let[_,A]=te(null);t.getters[D]=_,t.setters[D]=A}let ae=()=>{R&&t.setters[R](!0),fetch(T,{method:b}).then(_=>_.json()).then(_=>{oe(_),R&&t.setters[R](!1)}).catch(_=>{D&&t.setters[D](_.message),R&&t.setters[R](!1)})},C=e.getAttribute("data-fetch-id");if(C&&(Ue.set(C,ae),n.push(()=>Ue.delete(C))),ae(),j&&j>0){let _=setInterval(ae,j);n.push(()=>clearInterval(_))}}}}var gi=["[data-text]","[data-show]","[data-if]","[data-model]","[data-computed]","[data-persist]","[data-list]","[data-fetch]","[data-bind\\:*]","[data-class\\:*]","[data-on\\:*]","[data-transition]"].join(",");function lr(e){let t=e.attributes;for(let n=0;n<t.length;n++){let r=t[n].name;if(r.startsWith("data-text")||r.startsWith("data-show")||r.startsWith("data-if")||r.startsWith("data-model")||r.startsWith("data-computed")||r.startsWith("data-persist")||r.startsWith("data-list")||r.startsWith("data-fetch")||r.startsWith("data-on:")||r.startsWith("data-class:")||r.startsWith("data-bind:")||r.startsWith("data-transition"))return!0}return!1}var V=null;function cr(e){if(!e||Object.keys(e).length===0){V=null;return}V=new Map;for(let t in e)V.set(t,new Set(e[t]))}function ur(){if(!V||V.size===0||V.size>200)return null;let e=[];for(let t of V.keys())e.push(`[data-forma-id="${t}"]`);return e.join(",")}function fr(e){if(!V)return null;let t=e.getAttribute("data-forma-id");return t?V.get(t)??null:null}function dr(e,...t){for(let n of e)for(let r of t)if(n.startsWith(r))return!0;return!1}function Z(e){if(e.__formaDisposers){O&&N("mountScope: SKIPPED (already mounted)");return}let t=or(e),n=[],r=new Map,i=e.querySelectorAll("[data-ref]");for(let f=0;f<i.length;f++){let s=i[f],l=s.getAttribute("data-ref");l&&r.set(l,s)}let a=e.getAttribute("data-ref");a&&r.set(a,e),t.getters.$refs=()=>new Proxy({},{get(f,s){return r.get(s)??void 0},has(f,s){return r.has(s)}}),Y(e,t,n);let o=0,c=ur();if(c){let f=e.querySelectorAll(c);for(let s=0;s<f.length;s++)Y(f[s],t,n),o++}else{let f=e.querySelectorAll("*");for(let s=0;s<f.length;s++){let l=f[s];lr(l)&&(Y(l,t,n),o++)}}e.__formaDisposers=n,e.__formaScope=t,e.__formaInitialState=e.getAttribute("data-forma-state")??"{}",O&&N("mountScope: DONE \u2014",o,"elements bound,",n.length,"disposers",c?"(targeted)":"(full scan)")}function Q(e){let t=e.__formaDisposers;if(t){for(let n of t)try{n()}catch{}delete e.__formaDisposers,delete e.__formaScope,delete e.__formaInitialState}}var U=null,St=1,mr=40,me=[],he=!1;function pr(e){for(let t=0;t<e.removedNodes.length;t++){let n=e.removedNodes[t];if(n.nodeType!==St)continue;let r=n;r.hasAttribute("data-forma-state")&&(O&&N("MutationObserver: REMOVED scope"),Q(r));let i=r.querySelectorAll("[data-forma-state]");for(let a=0;a<i.length;a++)Q(i[a])}for(let t=0;t<e.addedNodes.length;t++){let n=e.addedNodes[t];if(n.nodeType!==St)continue;let r=n;if(r.closest("[data-forma-leaving]"))continue;r.hasAttribute("data-forma-state")&&(O&&N("MutationObserver: ADDED scope via mutation"),Z(r));let i=r.querySelectorAll("[data-forma-state]");O&&i.length>0&&N("MutationObserver: found",i.length,"nested scope(s) in added subtree");for(let a=0;a<i.length;a++){let o=i[a];o.closest("[data-forma-leaving]")||Z(o)}}if(e.type==="attributes"&&e.attributeName==="data-forma-state"){let t=e.target;Q(t),t.hasAttribute("data-forma-state")&&Z(t)}}async function It(){try{for(;me.length>0;){let e=me.splice(0,mr);for(let t=0;t<e.length;t++)pr(e[t]);me.length>0&&await At()}}finally{he=!1,me.length>0&&!he&&(he=!0,It())}}function gr(e){O&&N("MutationObserver: queued",e.length,"mutation(s)"),me.push(...e),!he&&(he=!0,It())}function hr(){if(U)return;U=new MutationObserver(gr);let e=document.body||document.documentElement;e&&U.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-forma-state"]})}function br(){U&&(U.disconnect(),U=null)}function Ge(){un&&wt(document,{skipIfAlreadySet:!0});let e=document.querySelectorAll("[data-forma-state]");O&&N("initRuntime: found",e.length,"scope(s)");for(let t of Array.from(e))Z(t);hr(),O&&N("initRuntime: MutationObserver started")}function vr(){br();let e=document.querySelectorAll("[data-forma-state]");for(let t of Array.from(e))Q(t)}function Er(e){e.hasAttribute("data-forma-state")&&Z(e);let t=e.querySelectorAll("[data-forma-state]");for(let n of Array.from(t))Z(n)}function yr(e){e.hasAttribute("data-forma-state")&&Q(e);let t=e.querySelectorAll("[data-forma-state]");for(let n of Array.from(t))Q(n)}typeof document<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Ge):Ge());function Sr(e){O=e}function Tr(e){H!==e&&(H=e,e==="locked-off"&&(F=!1),e==="locked-on"&&(F=!0),e==="mutable"&&(F=!0),ze=new WeakMap,Je=new WeakMap)}function Ar(e){if(H!=="mutable"){N(`setUnsafeEval ignored (mode=${H}); unsafe fallback is locked`);return}F!==e&&(F=e,ze=new WeakMap,Je=new WeakMap)}function wr(){return H}function _r(e){je=e}function Rr(){return Array.from(pe.values()).map(e=>({...e}))}function Mr(){pe.clear()}function xr(){let e=document.querySelectorAll("[data-forma-state]"),t=[];for(let n of Array.from(e)){if(n.closest("[data-forma-leaving]"))continue;let r=n.__formaScope,i=n.__formaInitialState;if(!r)continue;let a={};for(let o of Object.keys(r.getters)){let c=r.getters[o]();a[o]={value:c,type:typeof c}}t.push({element:n,id:n.getAttribute("data-forma-id")||n.id||n.tagName.toLowerCase(),values:a,initialJSON:i??"{}"})}return t}function Cr(e,t,n){let r=e.__formaScope;r?.setters[t]&&$(()=>{r.setters[t](n)})}function kr(e){let t=e.__formaScope,n=e.__formaInitialState;if(!t||!n)return;let r=Ot(n);$(()=>{for(let[i,a]of Object.entries(r))t.setters[i]?.(a)})}var Be=null;function Nr(){return Be||(Be=mt({mountScope:Z,unmountScope:Q,disconnectObserver(){U&&U.disconnect()},reconnectObserver(){if(U){let e=document.body||document.documentElement;e&&U.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-forma-state"]})}},batch:$})),Be}function Dr(e,t){Nr()(e,t)}return Ut(Lr);})();
//# sourceMappingURL=formajs-runtime.global.js.map

@@ -1,2 +0,2 @@

"use strict";var FormaRuntime=(()=>{var xe=Object.defineProperty;var Ht=Object.getOwnPropertyDescriptor;var $t=Object.getOwnPropertyNames;var Ft=Object.prototype.hasOwnProperty;var Bt=(e,t)=>{for(var n in t)xe(e,n,{get:t[n],enumerable:!0})},Pt=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of $t(t))!Ft.call(e,i)&&i!==n&&xe(e,i,{get:()=>t[i],enumerable:!(r=Ht(t,i))||r.enumerable});return e};var Ut=e=>Pt(xe({},"__esModule",{value:!0}),e);var Lr={};Bt(Lr,{applyContainmentHints:()=>wt,clearDiagnostics:()=>Mr,destroyRuntime:()=>vr,getDiagnostics:()=>Rr,getScopes:()=>xr,getUnsafeEvalMode:()=>wr,initRuntime:()=>Ge,mount:()=>Er,reconcile:()=>Dr,resetScope:()=>kr,setDebug:()=>Sr,setDiagnostics:()=>_r,setDirectiveMap:()=>cr,setScopeValue:()=>Cr,setUnsafeEval:()=>Ar,setUnsafeEvalMode:()=>Tr,unmount:()=>yr,yieldToMain:()=>At});function Xe({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:s,shallowPropagate:c};function r(o,l,p){let m=l.depsTail;if(m!==void 0&&m.dep===o)return;let u=m!==void 0?m.nextDep:l.deps;if(u!==void 0&&u.dep===o){u.version=p,l.depsTail=u;return}let h=o.subsTail;if(h!==void 0&&h.version===p&&h.sub===l)return;let E=l.depsTail=o.subsTail={version:p,dep:o,sub:l,prevDep:m,nextDep:u,prevSub:h,nextSub:void 0};u!==void 0&&(u.prevDep=E),m!==void 0?m.nextDep=E:l.deps=E,h!==void 0?h.nextSub=E:o.subs=E}function i(o,l=o.sub){let p=o.dep,m=o.prevDep,u=o.nextDep,h=o.nextSub,E=o.prevSub;return u!==void 0?u.prevDep=m:l.depsTail=m,m!==void 0?m.nextDep=u:l.deps=u,h!==void 0?h.prevSub=E:p.subsTail=E,E!==void 0?E.nextSub=h:(p.subs=h)===void 0&&n(p),u}function a(o){let l=o.nextSub,p;e:do{let m=o.sub,u=m.flags;if(u&60?u&12?u&4?!(u&48)&&d(o,m)?(m.flags=u|40,u&=1):u=0:m.flags=u&-9|32:u=0:m.flags=u|32,u&2&&t(m),u&1){let h=m.subs;if(h!==void 0){let E=(o=h).nextSub;E!==void 0&&(p={value:l,prev:p},l=E);continue}}if((o=l)!==void 0){l=o.nextSub;continue}for(;p!==void 0;)if(o=p.value,p=p.prev,o!==void 0){l=o.nextSub;continue e}break}while(!0)}function s(o,l){let p,m=0,u=!1;e:do{let h=o.dep,E=h.flags;if(l.flags&16)u=!0;else if((E&17)===17){if(e(h)){let S=h.subs;S.nextSub!==void 0&&c(S),u=!0}}else if((E&33)===33){(o.nextSub!==void 0||o.prevSub!==void 0)&&(p={value:o,prev:p}),o=h.deps,l=h,++m;continue}if(!u){let S=o.nextDep;if(S!==void 0){o=S;continue}}for(;m--;){let S=l.subs,w=S.nextSub!==void 0;if(w?(o=p.value,p=p.prev):o=S,u){if(e(l)){w&&c(S),l=o.sub;continue}u=!1}else l.flags&=-33;l=o.sub;let y=o.nextDep;if(y!==void 0){o=y;continue e}}return u}while(!0)}function c(o){do{let l=o.sub,p=l.flags;(p&48)===32&&(l.flags=p|16,(p&6)===2&&t(l))}while((o=o.nextSub)!==void 0)}function d(o,l){let p=l.depsTail;for(;p!==void 0;){if(p===o)return!0;p=p.prevDep}return!1}}var Ee=0,Ce=0,K=0,le=0,z,W=[],{link:ke,unlink:Ye,propagate:Wt,checkDirty:Ze,shallowPropagate:Qe}=Xe({update(e){return e.depsTail!==void 0?ot(e):st(e)},notify(e){let t=le,n=t;do if(W[t++]=e,e.flags&=-3,e=e.subs?.sub,e===void 0||!(e.flags&2))break;while(!0);for(le=t;n<--t;){let r=W[n];W[n++]=W[t],W[t]=r}},unwatched(e){e.flags&1?e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=17,ye(e)):lt.call(e)}});function q(e){let t=z;return z=e,t}function et(){++Ce}function tt(){--Ce||at()}function nt(e){return Gt.bind({currentValue:e,pendingValue:e,subs:void 0,subsTail:void 0,flags:1})}function rt(e){return Vt.bind({value:void 0,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:0,getter:e})}function it(e){let t={fn:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:6},n=q(t);n!==void 0&&ke(t,n,0);try{t.fn()}finally{z=n,t.flags&=-5}return jt.bind(t)}function ot(e){++Ee,e.depsTail=void 0,e.flags=5;let t=q(e);try{let n=e.value;return n!==(e.value=e.getter(n))}finally{z=t,e.flags&=-5,ye(e)}}function st(e){return e.flags=1,e.currentValue!==(e.currentValue=e.pendingValue)}function qt(e){let t=e.flags;if(t&16||t&32&&Ze(e.deps,e)){++Ee,e.depsTail=void 0,e.flags=6;let n=q(e);try{e.fn()}finally{z=n,e.flags&=-5,ye(e)}}else e.flags=2}function at(){try{for(;K<le;){let e=W[K];W[K++]=void 0,qt(e)}}finally{for(;K<le;){let e=W[K];W[K++]=void 0,e.flags|=10}K=0,le=0}}function Vt(){let e=this.flags;if(e&16||e&32&&(Ze(this.deps,this)||(this.flags=e&-33,!1))){if(ot(this)){let n=this.subs;n!==void 0&&Qe(n)}}else if(!e){this.flags=5;let n=q(this);try{this.value=this.getter()}finally{z=n,this.flags&=-5}}let t=z;return t!==void 0&&ke(this,t,Ee),this.value}function Gt(...e){if(e.length){if(this.pendingValue!==(this.pendingValue=e[0])){this.flags=17;let t=this.subs;t!==void 0&&(Wt(t),Ce||at())}}else{if(this.flags&16&&st(this)){let n=this.subs;n!==void 0&&Qe(n)}let t=z;for(;t!==void 0;){if(t.flags&3){ke(this,t,Ee);break}t=t.subs?.sub}return this.currentValue}}function jt(){lt.call(this)}function lt(){this.depsTail=void 0,this.flags=0,ye(this);let e=this.subs;e!==void 0&&Ye(e)}function ye(e){let t=e.depsTail,n=t!==void 0?t.nextDep:e.deps;for(;n!==void 0;)n=Ye(n,e)}function zt(e,t,n){if(typeof t!="function"){if(n){let s=q(void 0),c=e();if(q(s),n(c,t))return}e(t);return}let r=q(void 0),i=e();q(r);let a=t(i);n&&n(i,a)||e(a)}function te(e,t){let n=nt(e),r=n,i=t?.equals;return[r,s=>zt(n,s,i)]}var Ne=null;function ct(e){Ne&&Ne.disposers.push(e)}function ut(){return Ne!==null}var Jt=32;var Kt=[];for(let e=0;e<Jt;e++)Kt.push([]);function P(e){let t=it(e);return ut()&&ct(t),t}function De(e){return rt(e)}function H(e){et();try{e()}finally{tt()}}function ft(e){let t=e.length;if(t===0)return[];let n=new Int32Array(t),r=new Int32Array(t),i=new Int32Array(t).fill(-1),a=0;for(let d=0;d<t;d++){let o=e[d],l=0,p=a;for(;l<p;){let m=l+p>>1;n[m]<o?l=m+1:p=m}n[l]=o,r[l]=d,l>0&&(i[d]=r[l-1]),l>=a&&a++}let s=new Array(a),c=r[a-1];for(let d=a-1;d>=0;d--)s[d]=c,c=i[c];return s}var Xt=32;function Yt(e,t,n,r,i,a,s,c,d){let o=t.length,l=n.length,p=new Array(o);for(let f=0;f<o;f++)p[f]=i(t[f]);let m=new Array(l),u=new Uint8Array(o);for(let f=0;f<l;f++){let g=i(n[f]),b=-1;for(let T=0;T<o;T++)if(!u[T]&&p[T]===g){b=T,u[T]=1;break}m[f]=b}for(let f=0;f<o;f++)if(!u[f])if(d?.onBeforeRemove){let g=r[f];d.onBeforeRemove(g,()=>{g.parentNode&&g.parentNode.removeChild(g)})}else e.removeChild(r[f]);if(o===l){let f=!0;for(let g=0;g<l;g++)if(m[g]!==g){f=!1;break}if(f){let g=new Array(l);for(let b=0;b<l;b++){let T=r[b];s(T,n[b]),g[b]=T}return{nodes:g,items:n}}}let h=[],E=[];for(let f=0;f<l;f++)m[f]!==-1&&(h.push(m[f]),E.push(f));let S=ft(h),w=new Uint8Array(l);for(let f of S)w[E[f]]=1;let y=new Array(l),v=c??null;for(let f=l-1;f>=0;f--){let g,b=!1;if(m[f]===-1)g=a(n[f]),b=!0;else if(g=r[m[f]],s(g,n[f]),w[f]){y[f]=g,v=g;continue}v?e.insertBefore(g,v):e.appendChild(g),b&&d?.onInsert?.(g),y[f]=g,v=g}return{nodes:y,items:n}}function Le(e,t,n,r,i,a,s,c,d){let o=t.length,l=n.length;if(l===0){for(let f=0;f<o;f++)if(d?.onBeforeRemove){let g=r[f];d.onBeforeRemove(g,()=>{g.parentNode&&g.parentNode.removeChild(g)})}else e.removeChild(r[f]);return{nodes:[],items:[]}}if(o===0){let f=new Array(l);for(let g=0;g<l;g++){let b=a(n[g]);c?e.insertBefore(b,c):e.appendChild(b),d?.onInsert?.(b),f[g]=b}return{nodes:f,items:n}}if(o<Xt)return Yt(e,t,n,r,i,a,s,c,d);let p=new Map;for(let f=0;f<o;f++)p.set(i(t[f]),f);let m=new Array(l),u=new Uint8Array(o);for(let f=0;f<l;f++){let g=i(n[f]),b=p.get(g);b!==void 0?(m[f]=b,u[b]=1):m[f]=-1}for(let f=0;f<o;f++)if(!u[f])if(d?.onBeforeRemove){let g=r[f];d.onBeforeRemove(g,()=>{g.parentNode&&g.parentNode.removeChild(g)})}else e.removeChild(r[f]);if(o===l){let f=!0;for(let g=0;g<l;g++)if(m[g]!==g){f=!1;break}if(f){let g=new Array(l);for(let b=0;b<l;b++){let T=r[b];s(T,n[b]),g[b]=T}return{nodes:g,items:n}}}let h=[],E=[];for(let f=0;f<l;f++)m[f]!==-1&&(h.push(m[f]),E.push(f));let S=ft(h),w=new Uint8Array(l);for(let f of S)w[E[f]]=1;let y=new Array(l),v=c??null;for(let f=l-1;f>=0;f--){let g,b=!1;if(m[f]===-1)g=a(n[f]),b=!0;else if(g=r[m[f]],s(g,n[f]),w[f]){y[f]=g,v=g;continue}v?e.insertBefore(g,v):e.appendChild(g),b&&d?.onInsert?.(g),y[f]=g,v=g}return{nodes:y,items:n}}function Zt(e){let t=new Set,n=e.attributes;for(let r=0;r<n.length;r++){let i=n[r].name;i.startsWith("data-bind:")&&t.add(i.slice(10))}return t}function Qt(e){return e.hasAttribute("data-list")||e.hasAttribute("data-if")}function dt(e){try{let t=JSON.parse(e);return Object.keys(t).sort()}catch{return[]}}function en(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function tn(e,t){let n=e.getAttribute("data-module"),r=t.getAttribute("data-module");if(n!==r)return"REPLACE";let a=e.__formaInitialState??e.getAttribute("data-forma-state")??"{}",s=t.getAttribute("data-forma-state")??"{}",c=dt(a),d=dt(s);return en(c,d)?"PRESERVE":"RESET"}var Se=null;function nn(e){return Se||(Se=document.createElement("template")),Se.innerHTML=e,Se.content}function Oe(e,t){let n=Zt(e),r=e.hasAttribute("data-show"),i=e.hasAttribute("data-model"),a=!1,s=e.attributes;for(let d=0;d<s.length;d++)if(s[d].name.startsWith("data-class:")){a=!0;break}let c=t.attributes;for(let d=0;d<c.length;d++){let o=c[d];if(o.name==="style"&&r||o.name==="class"&&a||(o.name==="value"||o.name==="checked")&&i||n.has(o.name))continue;e.getAttribute(o.name)!==o.value&&e.setAttribute(o.name,o.value)}for(let d=s.length-1;d>=0;d--){let o=s[d];if(!t.hasAttribute(o.name)){if(o.name==="style"&&r||o.name==="class"&&a||(o.name==="value"||o.name==="checked")&&i||n.has(o.name))continue;e.removeAttribute(o.name)}}}function rn(e,t){if(e.hasAttribute("data-text"))return;let n=[],r=[];for(let s of Array.from(e.childNodes))s.nodeType===Node.TEXT_NODE&&n.push(s);for(let s=0;s<t.childNodes.length;s++){let c=t.childNodes[s];c.nodeType===Node.TEXT_NODE&&r.push({node:c,index:s})}if(n.length===r.length){for(let s=0;s<n.length;s++)n[s].textContent!==r[s].node.textContent&&(n[s].textContent=r[s].node.textContent);return}let i=new Set,a=0;for(let{node:s,index:c}of r)if(a<n.length){let d=n[a];a++,i.add(d),d.textContent!==s.textContent&&(d.textContent=s.textContent)}else{let d=on(e,t,c);e.insertBefore(document.createTextNode(s.textContent??""),d)}for(let s of n)!i.has(s)&&s.parentNode===e&&e.removeChild(s)}function on(e,t,n){for(let r=n+1;r<t.childNodes.length;r++){let i=t.childNodes[r];if(i.nodeType===Node.ELEMENT_NODE){let a=i.getAttribute("data-forma-id");if(a){let s=e.querySelector(`[data-forma-id="${CSS.escape(a)}"]`);if(s&&s.parentElement===e)return s}}}return null}function Ie(e,t,n){if(Qt(e))return;rn(e,t);let r=Array.from(e.children),i=Array.from(t.children),a=new Map,s=[];for(let o of r){if(o.hasAttribute("data-forma-leaving"))continue;let l=o.getAttribute("data-forma-id");l?a.set(l,o):s.push(o)}let c=0,d=new Set;for(let o of i){let l=o.getAttribute("data-forma-id"),p;if(l)p=a.get(l);else for(;c<s.length;){let m=s[c];if(c++,m.tagName===o.tagName&&!d.has(m)){p=m;break}}if(p){if(d.add(p),p.hasAttribute("data-forma-state")&&o.hasAttribute("data-forma-state"))switch(tn(p,o)){case"PRESERVE":Oe(p,o),Ie(p,o,n);break;case"RESET":n.unmountScope(p),Oe(p,o),sn(p,o),n.mountScope(p);break;case"REPLACE":{n.unmountScope(p);let u=o.cloneNode(!0);e.replaceChild(u,p),n.mountScope(u),d.delete(p),p=u,d.add(u);break}}else Oe(p,o),Ie(p,o,n);an(e,p,o,i)}else{let m=o.cloneNode(!0),u=ln(e,o,i);e.insertBefore(m,u),d.add(m),m.hasAttribute("data-forma-state")&&n.mountScope(m);let h=m.querySelectorAll("[data-forma-state]");for(let E of Array.from(h))n.mountScope(E)}}for(let o of r)if(!d.has(o)){if(o.parentElement!==e||o.hasAttribute("data-forma-leaving"))continue;o.hasAttribute("data-forma-state")&&n.unmountScope(o);let l=o.querySelectorAll("[data-forma-state]");for(let p of Array.from(l))n.unmountScope(p);e.removeChild(o)}}function sn(e,t){for(;e.firstChild;)e.removeChild(e.firstChild);for(let n of Array.from(t.childNodes))e.appendChild(n.cloneNode(!0))}function an(e,t,n,r){let i=r.indexOf(n);if(Array.from(e.children).indexOf(t)!==i){let c=r[i+1];if(c){let d=c.getAttribute("data-forma-id");if(d){let o=e.querySelector(`[data-forma-id="${CSS.escape(d)}"]`);if(o&&o.parentElement===e){e.insertBefore(t,o);return}}}e.appendChild(t)}}function ln(e,t,n){let r=n.indexOf(t);for(let i=r+1;i<n.length;i++){let a=n[i].getAttribute("data-forma-id");if(a){let s=e.querySelector(`[data-forma-id="${CSS.escape(a)}"]`);if(s&&s.parentElement===e)return s}}return null}function mt(e){let t="";return function(r,i){let a=i.trim();if(a&&!(a===t&&r.hasChildNodes())){t=a,e.disconnectObserver();try{if(!r.hasChildNodes()||r.children.length===0){r.innerHTML=a,e.batch(()=>{let l=r.querySelectorAll("[data-forma-state]");for(let p of Array.from(l))e.mountScope(p)});return}let s=nn(a),c=document.createElement("div");c.appendChild(s);let d=new Set;for(let l of Array.from(r.children)){if(l.hasAttribute("data-forma-leaving"))continue;let p=l.getAttribute("data-forma-id");p&&d.add(p)}let o=!1;if(d.size>0)for(let l of Array.from(c.children)){let p=l.getAttribute("data-forma-id");if(p&&d.has(p)){o=!0;break}}if(d.size>0&&!o){e.batch(()=>{let l=r.querySelectorAll("[data-forma-state]");for(let m of Array.from(l))e.unmountScope(m);r.innerHTML=a;let p=r.querySelectorAll("[data-forma-state]");for(let m of Array.from(p))e.mountScope(m)});return}e.batch(()=>{Ie(r,c,e)})}finally{e.reconnectObserver()}}}}var Ue=new Map;function Tt(e){let t=Ue.get(e);t?t():O&&N(`$refetch: no data-fetch with id "${e}" found`)}function He(e,t){let n=Object.create(null);for(let r of Object.keys(t))n[r]=()=>t[r];return{getters:new Proxy(e.getters,{get(r,i){return i in n?n[i]:r[i]},has(r,i){return i in n||i in r}}),setters:e.setters}}var O=!1,$="mutable",F=!1,je=!0;function N(...e){(O||typeof window<"u"&&window.__FORMA_DEBUG)&&console.log("[FormaJS]",...e)}var pe=new Map;function Te(e){if(e==null)return;let t=e.trim().toLowerCase();if(t==="1"||t==="true"||t==="on"||t==="yes")return!0;if(t==="0"||t==="false"||t==="off"||t==="no")return!1}function We(e){if(e==null)return;let t=e.trim().toLowerCase();if(t==="mutable")return"mutable";if(t==="locked-off"||t==="off"||t==="disabled")return"locked-off";if(t==="locked-on"||t==="on"||t==="enabled")return"locked-on"}function cn(){let e={};if(typeof window<"u"){let t=window.__FORMA_RUNTIME_CONFIG;if(t){if(typeof t.allowUnsafeEval=="boolean"&&(e.allowUnsafeEval=t.allowUnsafeEval),typeof t.unsafeEvalMode=="string"){let n=We(t.unsafeEvalMode);n&&(e.unsafeEvalMode=n)}typeof t.lockUnsafeEval=="boolean"&&(e.lockUnsafeEval=t.lockUnsafeEval),typeof t.diagnostics=="boolean"&&(e.diagnostics=t.diagnostics),typeof t.autoContainment=="boolean"&&(e.autoContainment=t.autoContainment)}}if(typeof document<"u"){let t=document.currentScript;if(t){let n=Te(t.getAttribute("data-forma-unsafe-eval"));n!==void 0&&(e.allowUnsafeEval=n);let r=We(t.getAttribute("data-forma-unsafe-eval-mode"));r!==void 0&&(e.unsafeEvalMode=r);let i=Te(t.getAttribute("data-forma-lock-unsafe-eval"));i!==void 0&&(e.lockUnsafeEval=i);let a=Te(t.getAttribute("data-forma-diagnostics"));a!==void 0&&(e.diagnostics=a);let s=Te(t.getAttribute("data-forma-auto-containment"));s!==void 0&&(e.autoContainment=s)}}return e}function ne(e,t,n){if(!je)return;let r=`${e}|${n}|${t}`,i=Date.now(),a=pe.get(r);a?(a.count+=1,a.lastSeenAt=i):(pe.set(r,{kind:e,expr:t,reason:n,count:1,firstSeenAt:i,lastSeenAt:i}),console.warn(`[FormaJS] ${n}: ${t}`));try{if(typeof window<"u"){let s={kind:e,expr:t,reason:n,count:pe.get(r)?.count??1};window.dispatchEvent(new CustomEvent("formajs:diagnostic",{detail:s}))}}catch{}}var pt=We("locked-off");pt&&($=pt,$==="locked-off"&&(F=!1),$==="locked-on"&&(F=!0),$==="mutable"&&(F=!0));var ee=cn(),gt=ee.lockUnsafeEval?"locked-off":ee.unsafeEvalMode;gt&&($=gt,$==="locked-off"&&(F=!1),$==="locked-on"&&(F=!0));$==="mutable"&&typeof ee.allowUnsafeEval=="boolean"&&(F=ee.allowUnsafeEval);typeof ee.diagnostics=="boolean"&&(je=ee.diagnostics);var un=ee.autoContainment===!0;function fn(){let e=globalThis?.scheduler;if(e&&(typeof e.yield=="function"||typeof e.postTask=="function"))return e}async function At(){let e=fn();if(e?.yield){await e.yield();return}if(e?.postTask){await e.postTask(()=>{},{priority:"background"});return}await new Promise(t=>setTimeout(t,0))}function wt(e=document,t={}){let n=t.selector??"[data-forma-contain]";if(!n||typeof e.querySelectorAll!="function")return 0;let r=e.querySelectorAll(n),i=0;for(let a=0;a<r.length;a++){let s=r[a];if(!s?.style)continue;let c=s.getAttribute("data-forma-contain")??t.contain??"layout style paint",d=s.getAttribute("data-forma-content-visibility")??t.contentVisibility??"auto",o=s.getAttribute("data-forma-contain-intrinsic-size")??t.containIntrinsicSize??"auto 800px",l=t.skipIfAlreadySet===!0,p=!1,m=s.style.getPropertyValue("contain"),u=s.style.getPropertyValue("content-visibility"),h=s.style.getPropertyValue("contain-intrinsic-size");c!=="off"&&(!l||!m)&&(s.style.setProperty("contain",c),p=!0),d!=="off"&&(!l||!u)&&(s.style.setProperty("content-visibility",d),p=!0),o!=="off"&&(!l||!h)&&(s.style.setProperty("contain-intrinsic-size",o),p=!0),p&&i++}return O&&i>0&&N("applyContainmentHints: applied to",i,"element(s)"),i}var _t=/^'[^']*'$/,Rt=/^"[^"]*"$/,Mt=/^-?\d+(\.\d+)?$/,xt=/^[a-zA-Z_$]\w*$/,dn=/^(\w+)\.(\w+)$/;var mn=/^(\w+)\[(\d+|'[^']*'|"[^"]*")\]$/,pn=/^(.+?)\s*\?\s*(.+?)\s*:\s*(.+)$/,gn=/^(.+?)\s*\?\?\s*(.+)$/,hn=/^(.+?)\s*&&\s*(.+)$/,bn=/^(.+?)\s*\|\|\s*(.+)$/,vn=/^(.+?)\s*(===|!==|==|!=|>=|<=|>|<)\s*(.+)$/,En=/^(.+?)\s*([*/%])\s*(.+)$/,yn=/^(.+?)\s*([+-])\s*(.+)$/,Sn=/^`([^`]*)`$/,Tn=/\$\{([^}]+)\}/g;var An=/^\((.+)\)\.(\w+)\((.*)\)$/,qe=/^\{|\}$/g;var wn=/^\d+$/,_n=/^(\w+)(\+\+|--)$/,Rn=/^(\+\+|--)(\w+)$/,Mn=/^(\w+)\s*=\s*!(\w+)$/,xn=/^(\w+)\s*=\s*(.+)$/,Cn=/^(\w+)\s*(\+=|-=|\*=|\/=)\s*(.+)$/,kn=/^if\b/,Nn=/^(\w+)\s*=\s*(.+)$/,Dn=/^(.+?)(?:→|->)\s*(\S+)(.*)$/,Ln=/^(GET|POST|PUT|PATCH|DELETE)\s+(.+)$/i,On=/^\{item\.?|\}$/g,In=/\bevent\s*[.([]|\$event\b/,Hn=/^\$refetch\(\s*['"]([^'"]+)['"]\s*\)$/,Re=Symbol.for("forma-transition-state"),$n=2048,ue=new Map;function ce(e,t){if(ue.size>=$n){let n=ue.keys().next().value;n!==void 0&&ue.delete(n)}ue.set(e,t)}var ze=new WeakMap,Je=new WeakMap,fe=new Map,Fn=2048;function Bn(e,t){if(fe.size>=Fn){let n=fe.keys().next().value;n!==void 0&&fe.delete(n)}fe.set(e,t)}var re=new Set(["constructor","__proto__","prototype","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__","eval","Function"]),Pn=(()=>{let e=[];for(let t of re){let n=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e.push({name:t,dotRe:new RegExp(`(?:^|\\.)${n}(?:\\s*\\(|\\s*$|[^\\w$])`,"m"),bracketRe:new RegExp(`\\[\\s*(?:'${n}'|"${n}"|\``+n+"`)\\s*\\]")})}return e})();function Ct(e){let t=e.replace(/\/\*[\s\S]*?\*\//g,"");t=t.replace(/\/\/[^\n]*/g,""),t=t.replace(/\s*\.\s*/g,".");for(let{name:n,dotRe:r,bracketRe:i}of Pn)if(r.test(t)||i.test(t))return n;if(t.includes("[")){let n=Un(t);for(let r of n){if(!r.includes("+"))continue;let i=r.match(/['"`]([^'"`]*?)['"`]/g);if(!i)continue;let a=i.map(s=>s.slice(1,-1)).join("");if(re.has(a))return a}}return null}function Un(e){let t=[],n=0,r=-1;for(let i=0;i<e.length;i++)e[i]==="["?(n===0&&(r=i+1),n++):e[i]==="]"&&(n--,n===0&&r>=0&&(t.push(e.slice(r,i)),r=-1));return t}var ht=Symbol.for("forma-text-binding-cache");function Wn(e){return e==null?"":typeof e=="string"?e:typeof e=="symbol"?e.toString():String(e)}function qn(e,t){let n=e[ht];if(n||(n={initialized:!1,last:"",node:null},e[ht]=n),n.initialized&&n.last===t)return;let r=n.node;if(!r||r.parentNode!==e||e.childNodes.length!==1||e.firstChild!==r)if(e.childNodes.length===1&&e.firstChild?.nodeType===Node.TEXT_NODE)r=e.firstChild,n.node=r;else{e.textContent=t;let i=e.firstChild;n.node=i&&i.nodeType===Node.TEXT_NODE&&e.childNodes.length===1?i:null,n.last=t,n.initialized=!0;return}r.data=t,n.last=t,n.initialized=!0}function Ve(e){let t=[];if(e.trim()==="")return t;let n=0,r=!1,i=!1,a=!1,s=0;for(let c=0;c<e.length;c++){let d=e[c];if(a){a=!1;continue}if(d==="\\"){a=!0;continue}if(r){d==="'"&&(r=!1);continue}if(i){d==='"'&&(i=!1);continue}if(d==="'"){r=!0;continue}if(d==='"'){i=!0;continue}if(d==="("){n++;continue}if(d===")"){n>0&&n--;continue}d===","&&n===0&&(t.push(e.slice(s,c).trim()),s=c+1)}return t.push(e.slice(s).trim()),t.filter(Boolean)}function ie(e,t,n,r){if(e[t]!==n)return null;let i=0,a=!1,s=!1,c=!1,d=!1;for(let o=t;o<e.length;o++){let l=e[o];if(d){d=!1;continue}if(l==="\\"&&(a||s||c)){d=!0;continue}if(a){l==="'"&&(a=!1);continue}if(s){l==='"'&&(s=!1);continue}if(c){l==="`"&&(c=!1);continue}if(l==="'"){a=!0;continue}if(l==='"'){s=!0;continue}if(l==="`"){c=!0;continue}if(l===n){i++;continue}if(l===r&&(i--,i===0))return{inner:e.slice(t+1,o),end:o}}return null}function Vn(e){let t=e.trim();if(!t)return[];let n=[],r=0,i=0,a=0,s=!1,c=!1,d=!1,o=!1,l=0;for(let m=0;m<t.length;m++){let u=t[m];if(o){o=!1;continue}if(u==="\\"&&(s||c||d)){o=!0;continue}if(s){u==="'"&&(s=!1);continue}if(c){u==='"'&&(c=!1);continue}if(d){u==="`"&&(d=!1);continue}if(u==="'"){s=!0;continue}if(u==='"'){c=!0;continue}if(u==="`"){d=!0;continue}if(u==="("?r++:u===")"&&r>0?r--:u==="{"?i++:u==="}"&&i>0?i--:u==="["?a++:u==="]"&&a>0&&a--,u===";"&&r===0&&i===0&&a===0){let h=t.slice(l,m).trim();h&&n.push(h),l=m+1}}let p=t.slice(l).trim();return p&&n.push(p),n}function bt(e){let t=e.trim();if(!t)return null;if(t.startsWith("{")){let o=ie(t,0,"{","}");if(!o)return null;let l=o.inner.trim(),p=t.slice(o.end+1).trim();return p.startsWith(";")&&(p=p.slice(1).trim()),{body:l,rest:p}}let n=0,r=0,i=0,a=!1,s=!1,c=!1,d=!1;for(let o=0;o<t.length;o++){let l=t[o];if(d){d=!1;continue}if(l==="\\"&&(a||s||c)){d=!0;continue}if(a){l==="'"&&(a=!1);continue}if(s){l==='"'&&(s=!1);continue}if(c){l==="`"&&(c=!1);continue}if(l==="'"){a=!0;continue}if(l==='"'){s=!0;continue}if(l==="`"){c=!0;continue}if(l==="("?n++:l===")"&&n>0?n--:l==="{"?r++:l==="}"&&r>0?r--:l==="["?i++:l==="]"&&i>0&&i--,l===";"&&n===0&&r===0&&i===0)return{body:t.slice(0,o).trim(),rest:t.slice(o+1).trim()}}return{body:t,rest:""}}function Gn(e,t){let n=e.trim();if(!kn.test(n)||In.test(n))return null;let r=2;for(;r<n.length&&/\s/.test(n[r]);)r++;if(n[r]!=="(")return null;let i=ie(n,r,"(",")");if(!i)return null;let a=x(i.inner.trim(),t);if(!a)return null;let s=n.slice(i.end+1).trim(),c=bt(s);if(!c||!c.body)return null;let d=Me(c.body,t);if(!d)return null;s=c.rest.trim();let o=null;if(s.startsWith("else")){s=s.slice(4).trim();let l=bt(s);if(!l||!l.body||(o=Me(l.body,t),!o))return null;s=l.rest.trim()}return s.length>0?null:l=>{H(()=>{a()?d(l):o?.(l)})}}function jn(e){let t=e.trim();for(;t.startsWith("(");){let n=ie(t,0,"(",")");if(!n||n.end!==t.length-1)break;let r=n.inner.trim();if(!r)break;t=r}return t}function kt(e){let t=fe.get(e);if(t)return t;let n=[],r=[],i=0,a=/\{item\.?(\w*)\}/g,s;for(;(s=a.exec(e))!==null;)n.push(e.slice(i,s.index)),r.push(s[1]),i=a.lastIndex;n.push(e.slice(i));let c={statics:n,dynamics:r,hasItemRef:r.length>0};return Bn(e,c),c}var Nt=new WeakMap;function Ke(e,t){if(!e.hasItemRef)return e.statics[0];let n=e.statics[0];for(let r=0;r<e.dynamics.length;r++){let i=e.dynamics[r];i?n+=String(t?.[i]??""):n+=typeof t=="object"?JSON.stringify(t):String(t??""),n+=e.statics[r+1]??""}return n}function zn(e,t){let n=e.cloneNode(!0),r=document.createTreeWalker(n,NodeFilter.SHOW_TEXT);for(;r.nextNode();){let i=r.currentNode,a=i.textContent??"";if(a.includes("{item")){let s=kt(a);Nt.set(i,s),i.textContent=Ke(s,t)}}return tr(n,t),n}function Jn(e,t){let n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);for(;n.nextNode();){let r=n.currentNode,i=Nt.get(r);i&&(r.textContent=Ke(i,t))}}var Kn=new WeakMap,Xn=["data-list","data-show","data-text","data-if","data-model","data-on:","data-class:","data-bind:","data-computed","data-persist","data-fetch","data-transition","data-transition:"];function Yn(e){for(let t of Xn)if(e===t||e.startsWith(t))return!0;return!1}function de(e){return e?e.trim().split(/\s+/).map(t=>t.trim()).filter(Boolean):[]}function ge(e){let t=e.trim().toLowerCase();if(t.endsWith("ms")){let n=Number(t.slice(0,-2));return Number.isFinite(n)&&n>=0?n:null}if(t.endsWith("s")){let n=Number(t.slice(0,-1));return Number.isFinite(n)&&n>=0?n*1e3:null}return null}function $e(e){let t=[],n;for(let r of de(e)){let i=ge(r);i!=null?n=i:t.push(r)}return{classes:t,durationMs:n}}function J(e){return Array.from(new Set(e.filter(Boolean)))}function Ae(e){return e?e.split(",").map(t=>ge(t.trim())).filter(t=>t!=null):[]}function vt(e,t){if(e.length===0&&t.length===0)return 0;if(e.length===0)return Math.max(...t,0);if(t.length===0)return Math.max(...e,0);let n=Math.max(e.length,t.length),r=0;for(let i=0;i<n;i++){let a=e[i%e.length]??0,s=t[i%t.length]??0;a+s>r&&(r=a+s)}return r}function Zn(e,t){if(typeof t=="number")return t;let n=window.getComputedStyle(e),r=vt(Ae(n.transitionDuration),Ae(n.transitionDelay)),i=vt(Ae(n.animationDuration),Ae(n.animationDelay));return Math.max(r,i)}function G(e){let t=e[Re];if(t)return t;let n={token:0,cancel:null};return e[Re]=n,n}function we(e){let t=e[Re];t?.cancel&&t.cancel(),delete e[Re]}function Fe(e){if(!(e.hasAttribute("data-transition")||Array.from(e.attributes).some(m=>m.name.startsWith("data-transition:"))))return null;let n=$e(e.getAttribute("data-transition")).classes,r=$e(e.getAttribute("data-transition:enter")),i=$e(e.getAttribute("data-transition:leave")),a=de(e.getAttribute("data-transition:enter-from")??e.getAttribute("data-transition:enter-start")),s=de(e.getAttribute("data-transition:enter-to")??e.getAttribute("data-transition:enter-end")),c=de(e.getAttribute("data-transition:leave-from")??e.getAttribute("data-transition:leave-start")),d=de(e.getAttribute("data-transition:leave-to")??e.getAttribute("data-transition:leave-end")),o=ge(e.getAttribute("data-transition:duration")??""),l=ge(e.getAttribute("data-transition:duration-enter")??"")??r.durationMs??o??void 0,p=ge(e.getAttribute("data-transition:duration-leave")??"")??i.durationMs??o??void 0;return{enter:J([...n,...r.classes]),enterFrom:J(a),enterTo:J(s),leave:J([...n,...i.classes]),leaveFrom:J(c),leaveTo:J(d),enterDurationMs:l,leaveDurationMs:p}}function _e(e,t){for(let n of t)e.classList.remove(n)}function Be(e,t){for(let n of t)e.classList.add(n)}function be(e,t,n){let r=J([...t.base,...t.from,...t.to]),i=!1,a=null,s=null,c=null,d=()=>{i||(i=!0,a!=null&&window.clearTimeout(a),s!=null&&cancelAnimationFrame(s),c!=null&&cancelAnimationFrame(c),_e(e,r),n())};return Be(e,t.base),Be(e,t.from),_e(e,t.to),s=requestAnimationFrame(()=>{c=requestAnimationFrame(()=>{if(i)return;_e(e,t.from),Be(e,t.to);let o=Zn(e,t.durationMs);if(o<=0){d();return}a=window.setTimeout(d,o+25)})}),d}function Qn(e,t,n,r){if(t.insertBefore(e,n),!r)return;let i=G(e);i.token+=1;let a=i.token;i.cancel&&i.cancel(),i.cancel=be(e,{base:r.enter,from:r.enterFrom,to:r.enterTo,durationMs:r.enterDurationMs},()=>{let s=G(e);s.token===a&&(s.cancel=null)})}function Et(e,t,n){if(e.hasAttribute("data-forma-leaving")){n();return}if(!t){n();return}e.setAttribute("data-forma-leaving","");let r=G(e);r.token+=1;let i=r.token;r.cancel&&r.cancel(),r.cancel=be(e,{base:t.leave,from:t.leaveFrom,to:t.leaveTo,durationMs:t.leaveDurationMs},()=>{let a=G(e);a.token===i&&(a.cancel=null),e.removeAttribute("data-forma-leaving"),n()})}function er(e,t,n,r){if(!n||r){e.style.display=t?"":"none",n&&_e(e,J([...n.enter,...n.enterFrom,...n.enterTo,...n.leave,...n.leaveFrom,...n.leaveTo]));return}let i=G(e);i.token+=1;let a=i.token;if(i.cancel&&i.cancel(),i.cancel=null,t){e.style.display="",i.cancel=be(e,{base:n.enter,from:n.enterFrom,to:n.enterTo,durationMs:n.enterDurationMs},()=>{let s=G(e);s.token===a&&(s.cancel=null)});return}i.cancel=be(e,{base:n.leave,from:n.leaveFrom,to:n.leaveTo,durationMs:n.leaveDurationMs},()=>{let s=G(e);s.token===a&&(e.style.display="none",s.cancel=null)})}function tr(e,t){let n=[e,...Array.from(e.querySelectorAll("*"))];for(let r of n){let i=[];for(let a of Array.from(r.attributes))if(!Yn(a.name)&&a.value.includes("{item")){let s=kt(a.value);i.push({attr:a.name,compiled:s}),r.setAttribute(a.name,Ke(s,t))}i.length>0&&Kn.set(r,i)}}function nr(e,t){let n=0,r=e.match(/^[a-zA-Z_$]\w*/);if(!r)return null;let i=r[0];if(n=i.length,n>=e.length||e[n]!=="."&&!(e[n]==="?"&&e[n+1]==="."))return null;let a=[];for(;n<e.length;){let c=!1;if(e[n]==="?"&&e[n+1]===".")c=!0,n+=2;else if(e[n]===".")n+=1;else return null;let d=e.slice(n).match(/^\w+/);if(!d)return null;let o=d[0];if(n+=o.length,re.has(o))return()=>{};if(n<e.length&&e[n]==="("){let l=ie(e,n,"(",")");if(!l)return null;let p=l.inner.trim(),m=[];for(let u of Ve(p)){let h=x(u,t);if(!h)return null;m.push(h)}a.push({type:"call",name:o,optional:c,argFns:m}),n=l.end+1}else a.push({type:"prop",name:o,optional:c})}if(n!==e.length||a.length===0)return null;let s=i==="Math"?(()=>Math):(()=>t.getters[i]?.());return()=>{let c=s();for(let d of a){if(c==null)return d.optional,void 0;if(d.type==="prop")c=c[d.name];else{let o=c[d.name];if(typeof o!="function")return;let l=d.argFns.map(p=>p());c=o.apply(c,l)}}return c}}function x(e,t){let n=ue.get(e);if(n)return n(t);let r=rr(e,t);if(r!==null)if(e==="true"||e==="false"||e==="null"||e==="undefined"){let i=e==="true"?!0:e==="false"?!1:e==="null"?null:void 0;ce(e,()=>()=>i)}else if(xt.test(e))ce(e,i=>()=>i.getters[e]?.());else if(_t.test(e)||Rt.test(e)){let i=e.slice(1,-1);ce(e,()=>()=>i)}else if(Mt.test(e)){let i=Number(e);ce(e,()=>()=>i)}else{let i=e.match(dn);if(i){let a=i[1],s=i[2];ce(e,c=>()=>c.getters[a]?.()?.[s])}}return r}function rr(e,t){e=e.trim();let n=jn(e);if(n!==e)return x(n,t);if(_t.test(e)||Rt.test(e)){let u=e.slice(1,-1);return()=>u}if(Mt.test(e)){let u=Number(e);return()=>u}if(e==="true")return()=>!0;if(e==="false")return()=>!1;if(e==="null")return()=>null;if(e==="undefined")return()=>{};if(xt.test(e))return()=>t.getters[e]?.();{let u=nr(e,t);if(u)return u}let r=e.match(An);if(r){let u=r[1].trim(),h=r[2],E=r[3].trim();if(re.has(h))return()=>{};let S=x(u,t);if(!S)return null;let w=[];for(let y of Ve(E)){let v=x(y,t);if(!v)return null;w.push(v)}return()=>{let y=S(),v=y?.[h];if(typeof v!="function")return;let f=w.map(g=>g());return v.apply(y,f)}}if(e.startsWith("!")){let u=x(e.slice(1).trim(),t);if(u)return()=>!u()}let i=e.match(mn);if(i){let u=x(i[1],t),h,E=i[2];if(wn.test(E)?h=Number(E):h=E.slice(1,-1),u)return()=>u()?.[h]}if(e.startsWith("[")){let u=ie(e,0,"[","]");if(u&&u.end===e.length-1){let h=u.inner.trim();if(h==="")return()=>[];let E=Ve(h),S=[],w=!0;for(let y of E){let v=x(y.trim(),t);if(!v){w=!1;break}S.push(v)}if(w)return()=>S.map(y=>y())}}let a=e.match(pn);if(a){let u=x(a[1].trim(),t),h=x(a[2].trim(),t),E=x(a[3].trim(),t);if(u&&h&&E)return()=>u()?h():E()}let s=e.match(gn);if(s){let u=x(s[1].trim(),t),h=x(s[2].trim(),t);if(u&&h)return()=>u()??h()}let c=e.match(bn);if(c){let u=x(c[1].trim(),t),h=x(c[2].trim(),t);if(u&&h)return()=>u()||h()}let d=e.match(hn);if(d){let u=x(d[1].trim(),t),h=x(d[2].trim(),t);if(u&&h)return()=>u()&&h()}let o=e.match(vn);if(o){let u=x(o[1].trim(),t),h=x(o[3].trim(),t);if(u&&h){let E=o[2];return()=>{let S=u(),w=h();switch(E){case"===":return S===w;case"!==":return S!==w;case"==":return S==w;case"!=":return S!=w;case">":return S>w;case"<":return S<w;case">=":return S>=w;case"<=":return S<=w}}}}let l=e.match(yn);if(l){let u=x(l[1].trim(),t),h=x(l[3].trim(),t);if(u&&h){let E=l[2];return()=>{let S=u(),w=h();return E==="+"?S+w:S-w}}}let p=e.match(En);if(p){let u=x(p[1].trim(),t),h=x(p[3].trim(),t);if(u&&h){let E=p[2];return()=>{let S=u(),w=h();switch(E){case"*":return S*w;case"/":return S/w;case"%":return S%w}}}}let m=e.match(Sn);if(m){let u=m[1],h=[],E=[],S=0,w=new RegExp(Tn.source,"g"),y;for(;(y=w.exec(u))!==null;){h.push(u.slice(S,y.index));let v=x(y[1].trim(),t);if(!v)return null;E.push(v),S=w.lastIndex}return h.push(u.slice(S)),()=>{let v=h[0];for(let f=0;f<E.length;f++)v+=String(E[f]()??""),v+=h[f+1]??"";return v}}return null}function Dt(e,t){let n=e.get(t);return n||(n=new Map,e.set(t,n)),n}function Lt(e){return e.includes("...")?"Unsupported expression in CSP-safe mode: spread syntax detected. Use .concat() instead, or enable unsafe-eval via setUnsafeEval(true).":e.includes("=>")?"Unsupported expression in CSP-safe mode: arrow function detected. Extract logic to a data-computed attribute, or enable unsafe-eval via setUnsafeEval(true).":"Unsupported expression in CSP-safe mode. Simplify the expression or enable unsafe-eval via setUnsafeEval(true)."}function X(e,t){let n=e.replace(qe,"").trim(),r=Dt(ze,t),i=r.get(n);if(i)return i;let a=x(n,t);if(a)return r.set(n,a),a;if(!F){N("buildEvaluator: blocked unsafe eval fallback for expression:",n),ne("expression-unsupported",n,Lt(n));let c=()=>{};return r.set(n,c),c}let s=Ct(n);if(s){let c=`Blocked unsafe method "${s}" in expression`;throw ne("expression-unsupported",n,c),new Error(`[FormaJS] ${c}: ${n}`)}try{let c=new Function("__scope",`with(__scope) { return (${n}); }`),d=new Proxy(Object.create(null),{has(l,p){return p in t.getters},get(l,p){if(re.has(p))return;let m=t.getters[p];return m?m():void 0}}),o=()=>c(d);return r.set(n,o),o}catch{ne("expression-unsupported",n,"Expression too complex for CSP-safe mode. Enable unsafe-eval via FormaRuntime.unsafeEval = true, or use the standard (non-hardened) build.");let c=()=>{};return r.set(n,c),c}}function Me(e,t){let n=e.trim().replace(/;+$/g,"").trim();if(!n)return null;let r=Gn(n,t);if(r)return r;let i=Vn(n);if(i.length>1){let m=i.map(u=>Me(u,t));return m.every(u=>u!==null)?u=>{H(()=>{for(let h of m)h(u)})}:null}let a=i[0]??n,s=a.match(_n);if(s){let m=s[1],u=s[2];return()=>{H(()=>{let h=t.getters[m]?.()??0;t.setters[m]?.(u==="++"?h+1:h-1)})}}let c=a.match(Rn);if(c){let m=c[1],u=c[2];return()=>{H(()=>{let h=t.getters[u]?.()??0;t.setters[u]?.(m==="++"?h+1:h-1)})}}let d=a.match(Mn);if(d&&d[1]===d[2]){let m=d[1];return()=>{H(()=>{t.setters[m]?.(!t.getters[m]?.())})}}let o=a.match(xn);if(o){let m=o[1],u=x(o[2].trim(),t);if(u)return O&&N(`parseHandler: assignment "${m} = ..." \u2014 setter exists:`,!!t.setters[m],", getter exists:",!!t.getters[m]),()=>{H(()=>{let h=u();O&&N(`SETTER: ${m} = ${h} (was: ${t.getters[m]?.()})`),t.setters[m]?.(h)})}}let l=a.match(Cn);if(l){let m=l[1],u=l[2],h=x(l[3].trim(),t);if(h)return()=>{H(()=>{let E=t.getters[m]?.()??0,S=h();switch(u){case"+=":t.setters[m]?.(E+S);break;case"-=":t.setters[m]?.(E-S);break;case"*=":t.setters[m]?.(E*S);break;case"/=":t.setters[m]?.(E/S);break}})}}let p=a.match(Hn);if(p){let m=p[1];return()=>Tt(m)}return null}function ir(e,t){let n=e.trim();if(n.startsWith("{")){let c=ie(n,0,"{","}");c&&c.end===n.length-1&&(n=c.inner.trim())}let r=Dt(Je,t),i=r.get(n);if(i)return i;let a=Me(n,t);if(a){let c={handler:a,supported:!0};return r.set(n,c),c}if(!F){N("buildHandler: blocked unsafe eval fallback for expression:",n),ne("handler-unsupported",n,Lt(n));let c={handler:()=>{},supported:!1};return r.set(n,c),c}let s=Ct(n);if(s){let c=`Blocked unsafe method "${s}" in handler`;throw ne("handler-unsupported",n,c),new Error(`[FormaJS] ${c}: ${n}`)}try{let c=new Function("__scope","$event","event",`with(__scope) { ${n} }`),d=new Proxy(Object.create(null),{has(p,m){return m==="$event"||m==="event"?!1:m in t.getters||m in t.setters},get(p,m){if(re.has(m))return;let u=t.getters[m];return u?u():void 0},set(p,m,u){let h=t.setters[m];return h&&h(u),!0}}),l={handler:p=>{H(()=>c(d,p,p))},supported:!0};return r.set(n,l),l}catch{ne("handler-unsupported",n,"Expression too complex for CSP-safe mode. Enable unsafe-eval via FormaRuntime.unsafeEval = true, or use the standard (non-hardened) build.");let c={handler:()=>{},supported:!1};return r.set(n,c),c}}var or=new Set(["__proto__","constructor","prototype"]);function Ot(e){let t;try{t=JSON.parse(e)}catch{return O&&N("parseState: Invalid JSON in data-forma-state \u2014 use valid JSON with quoted keys. Got:",e.slice(0,200)),{}}for(let n of or)n in t&&delete t[n];return t}function sr(e){let t=e.getAttribute("data-forma-state")??"{}",n=Ot(t),r=Object.keys(n);O&&(N("initScope: parsed",r.length,"keys:",r.join(", ")),r.length===0&&N("initScope: WARNING \u2014 empty state! Raw attribute:",t.slice(0,200)));let i={},a={};for(let[s,c]of Object.entries(n)){let[d,o]=te(c);i[s]=d,a[s]=o}return i.$refetch=()=>Tt,{getters:i,setters:a}}var yt=new Set(["id","className","tagName","nodeName","getAttribute","setAttribute","removeAttribute","hasAttribute","toggleAttribute","dataset","classList","textContent","innerText","value","checked","disabled","selected","type","name","placeholder","readOnly","required","min","max","step","pattern","getBoundingClientRect","offsetWidth","offsetHeight","offsetTop","offsetLeft","clientWidth","clientHeight","scrollWidth","scrollHeight","scrollTop","scrollLeft","style","hidden","focus","blur","click","scrollIntoView","scrollTo","closest","matches","querySelector","querySelectorAll","children","childElementCount","firstElementChild","lastElementChild","nextElementSibling","previousElementSibling"]);function ar(e){return new Proxy(e,{get(t,n){if(typeof n=="symbol")return Reflect.get(t,n);if(!yt.has(n))return;let r=Reflect.get(t,n);return typeof r=="function"?r.bind(t):r},set(t,n,r){return typeof n=="symbol"||!yt.has(n)?!1:Reflect.set(t,n,r)}})}function Y(e,t,n){let r={$el:ar(e),$dispatch:(y,v)=>{e.dispatchEvent(new CustomEvent(y,{bubbles:!0,composed:!0,detail:v}))}};t=He(t,r);let i=fr(e),a=!i||i.has("data-computed")?e.getAttribute("data-computed"):null;if(a){let y=a.split(/;\s*(?=\w+\s*=[^=])/);for(let v of y){let f=v.trim();if(!f)continue;let g=f.match(Nn);if(g){let b=g[1],T=g[2],k=t.getters[b];delete t.getters[b];let R=X(`{${T}}`,t),D=De(R);t.getters[b]=D,k||delete t.setters[b]}}}let s=!i||i.has("data-text")?e.getAttribute("data-text"):null;if(s){let y=X(s,t),v=P(()=>{qn(e,Wn(y()))});n.push(v)}let c=!i||i.has("data-show")?e.getAttribute("data-show"):null;if(c){let y=X(c,t),v=Fe(e);if(O){let b=e.tagName.toLowerCase(),T=e.className?`.${String(e.className).split(" ")[0]}`:"";N(`bindElement: data-show="${c}" on <${b}${T}>`)}let f=!1,g=P(()=>{let b=!!y();O&&N(`data-show effect: "${c}" \u2192 ${b}`),er(e,b,v,!f),f=!0});n.push(g),v&&n.push(()=>we(e))}let d=!i||i.has("data-if")?e.getAttribute("data-if"):null;if(d){let y=X(d,t),v=Fe(e),f=document.createComment("forma-if"),g=e.parentNode,b=!0,T=!1,k=P(()=>{let R=!!y();R&&!b?(we(e),e.removeAttribute("data-forma-leaving"),T&&v?Qn(e,g,f,v):g?.insertBefore(e,f),b=!0):!R&&b&&(T&&v?Et(e,v,()=>{e.parentNode&&(g?.insertBefore(f,e),e.remove())}):(g?.insertBefore(f,e),e.remove()),b=!1),T=!0});n.push(k),v&&n.push(()=>we(e))}let o=!i||i.has("data-model")?e.getAttribute("data-model"):null;if(o){let y=o.replace(qe,"").trim(),v=t.getters[y],f=t.setters[y];if(v&&f){let g=e,b=P(()=>{let R=v();g.type==="checkbox"?g.checked=!!R:g.value=String(R??"")});n.push(b);let T=g.type==="checkbox"?"change":"input",k=()=>{g.type==="checkbox"?f(g.checked):g.type==="number"||g.type==="range"?f(Number(g.value)):f(g.value)};g.addEventListener(T,k),n.push(()=>{g.removeEventListener(T,k)})}}let l=!i||dr(i,"data-on:","data-class:","data-bind:"),p=e.attributes;if(l)for(let y=0;y<p.length;y++){let v=p[y],f=v.name;if(f.startsWith("data-on:")){let g=f.slice(8),b=ir(v.value,t),T=b.handler;if(O){let k=e.tagName.toLowerCase(),R=e.id?`#${e.id}`:"",D=e.className?`.${String(e.className).split(" ")[0]}`:"";N(`bindElement: data-on:${g}="${v.value}" on <${k}${R}${D}>`)}if(b.supported?e.hasAttribute("data-forma-handler-error")&&e.removeAttribute("data-forma-handler-error"):e.setAttribute("data-forma-handler-error","unsupported"),O){let k=v.value,R=D=>{N(`HANDLER FIRED: data-on:${g}="${k}"`,"isTrusted:",D.isTrusted),T(D)};e.addEventListener(g,R),n.push(()=>{e.removeEventListener(g,R)})}else e.addEventListener(g,T),n.push(()=>{e.removeEventListener(g,T)})}else if(f.startsWith("data-class:")){let g=f.slice(11),b=X(v.value,t),T=P(()=>{e.classList.toggle(g,!!b())});n.push(T)}else if(f.startsWith("data-bind:")){let g=f.slice(10),b=X(v.value,t),T=P(()=>{let k=b();k==null||k===!1?e.removeAttribute(g):e.setAttribute(g,String(k))});n.push(T)}}let m=!i||i.has("data-persist")?e.getAttribute("data-persist"):null;if(m){let y=m.replace(qe,"").trim(),v=t.getters[y],f=t.setters[y];if(v&&f){let g="forma:"+y;try{let T=localStorage.getItem(g);T!==null&&f(JSON.parse(T))}catch{}let b=P(()=>{try{localStorage.setItem(g,JSON.stringify(v()))}catch{}});n.push(b)}}let u=!i||i.has("data-list")?e.getAttribute("data-list"):null;if(u){let y=X(u,t),v=e.children[0];if(v){let D=function(C){let _=C;if(Array.isArray(_.__formaDisposers)){for(let A of _.__formaDisposers)try{A()}catch{}delete _.__formaDisposers}},j=function(C,_){let A=zn(f,C),L=He(t,{item:C,index:_}),M=[];Y(A,L,M);for(let B of Array.from(A.querySelectorAll("*")))Y(B,L,M);return A.__formaDisposers=M,A},oe=function(C,_,A){D(C),Jn(C,_);let L=He(t,{item:_,index:A}),M=[];Y(C,L,M);for(let B of Array.from(C.querySelectorAll("*")))Y(B,L,M);C.__formaDisposers=M};var E=D,S=j,w=oe;let f=v.cloneNode(!0);e.removeChild(v);let g=f.getAttribute("data-key"),b=g?g.replace(On,"").trim():null,T=Fe(e),k=[],R=[],se=T?{onInsert:C=>{let _=C;if(!_.setAttribute)return;let A=G(_);A.token+=1;let L=A.token;A.cancel&&A.cancel(),A.cancel=be(_,{base:T.enter,from:T.enterFrom,to:T.enterTo,durationMs:T.enterDurationMs},()=>{let M=G(_);M.token===L&&(M.cancel=null)})},onBeforeRemove:(C,_)=>{let A=C;if(!A.setAttribute){_();return}D(C),Et(A,T,()=>{_()})}}:void 0,ae=P(()=>{let C=y();if(!Array.isArray(C)){for(let A of R)D(A),e.removeChild(A);k=[],R=[];return}if(T){let A=e.querySelectorAll("[data-forma-leaving]");for(let L of Array.from(A))we(L),L.removeAttribute("data-forma-leaving"),L.parentNode&&L.parentNode.removeChild(L)}let _=new Set(R);if(b){let A=Le(e,k,C,R,M=>String(M?.[b]??""),M=>{let B=C.indexOf(M);return j(M,B)},(M,B)=>{let I=C.indexOf(B);oe(M,B,I)},void 0,se),L=new Set(A.nodes);for(let M of _)if(!L.has(M)){if(M.hasAttribute?.("data-forma-leaving"))continue;D(M)}k=A.items,R=A.nodes}else{let A=C.map((I,ve)=>({__idx:ve,__item:I})),M=Le(e,k,A,R,I=>I.__idx,I=>j(I.__item,I.__idx),(I,ve)=>oe(I,ve.__item,ve.__idx),void 0,se),B=new Set(M.nodes);for(let I of _)if(!B.has(I)){if(I.hasAttribute?.("data-forma-leaving"))continue;D(I)}k=M.items,R=M.nodes}});n.push(ae)}}let h=!i||i.has("data-fetch")?e.getAttribute("data-fetch"):null;if(h){let y=h.match(Dn);if(y){let v=y[1].trim(),f=y[2].trim(),g=y[3]?.trim()??"",b="GET",T=v,k=v.match(Ln);k&&(b=k[1].toUpperCase(),T=k[2].trim());let R,D,j;for(let _ of g.split("|").filter(Boolean)){let[A,L]=_.split(":").map(M=>M.trim());A==="loading"?R=L:A==="error"?D=L:A==="poll"&&(j=parseInt(L??"0",10))}let[oe,se]=te(null);if(t.getters[f]=oe,t.setters[f]=se,R){let[_,A]=te(!1);t.getters[R]=_,t.setters[R]=A}if(D){let[_,A]=te(null);t.getters[D]=_,t.setters[D]=A}let ae=()=>{R&&t.setters[R](!0),fetch(T,{method:b}).then(_=>_.json()).then(_=>{se(_),R&&t.setters[R](!1)}).catch(_=>{D&&t.setters[D](_.message),R&&t.setters[R](!1)})},C=e.getAttribute("data-fetch-id");if(C&&(Ue.set(C,ae),n.push(()=>Ue.delete(C))),ae(),j&&j>0){let _=setInterval(ae,j);n.push(()=>clearInterval(_))}}}}var gi=["[data-text]","[data-show]","[data-if]","[data-model]","[data-computed]","[data-persist]","[data-list]","[data-fetch]","[data-bind\\:*]","[data-class\\:*]","[data-on\\:*]","[data-transition]"].join(",");function lr(e){let t=e.attributes;for(let n=0;n<t.length;n++){let r=t[n].name;if(r.startsWith("data-text")||r.startsWith("data-show")||r.startsWith("data-if")||r.startsWith("data-model")||r.startsWith("data-computed")||r.startsWith("data-persist")||r.startsWith("data-list")||r.startsWith("data-fetch")||r.startsWith("data-on:")||r.startsWith("data-class:")||r.startsWith("data-bind:")||r.startsWith("data-transition"))return!0}return!1}var V=null;function cr(e){if(!e||Object.keys(e).length===0){V=null;return}V=new Map;for(let t in e)V.set(t,new Set(e[t]))}function ur(){if(!V||V.size===0||V.size>200)return null;let e=[];for(let t of V.keys())e.push(`[data-forma-id="${t}"]`);return e.join(",")}function fr(e){if(!V)return null;let t=e.getAttribute("data-forma-id");return t?V.get(t)??null:null}function dr(e,...t){for(let n of e)for(let r of t)if(n.startsWith(r))return!0;return!1}function Z(e){if(e.__formaDisposers){O&&N("mountScope: SKIPPED (already mounted)");return}let t=sr(e),n=[];Y(e,t,n);let r=0,i=ur();if(i){let a=e.querySelectorAll(i);for(let s=0;s<a.length;s++)Y(a[s],t,n),r++}else{let a=e.querySelectorAll("*");for(let s=0;s<a.length;s++){let c=a[s];lr(c)&&(Y(c,t,n),r++)}}e.__formaDisposers=n,e.__formaScope=t,e.__formaInitialState=e.getAttribute("data-forma-state")??"{}",O&&N("mountScope: DONE \u2014",r,"elements bound,",n.length,"disposers",i?"(targeted)":"(full scan)")}function Q(e){let t=e.__formaDisposers;if(t){for(let n of t)try{n()}catch{}delete e.__formaDisposers,delete e.__formaScope,delete e.__formaInitialState}}var U=null,St=1,mr=40,me=[],he=!1;function pr(e){for(let t=0;t<e.removedNodes.length;t++){let n=e.removedNodes[t];if(n.nodeType!==St)continue;let r=n;r.hasAttribute("data-forma-state")&&(O&&N("MutationObserver: REMOVED scope"),Q(r));let i=r.querySelectorAll("[data-forma-state]");for(let a=0;a<i.length;a++)Q(i[a])}for(let t=0;t<e.addedNodes.length;t++){let n=e.addedNodes[t];if(n.nodeType!==St)continue;let r=n;if(r.closest("[data-forma-leaving]"))continue;r.hasAttribute("data-forma-state")&&(O&&N("MutationObserver: ADDED scope via mutation"),Z(r));let i=r.querySelectorAll("[data-forma-state]");O&&i.length>0&&N("MutationObserver: found",i.length,"nested scope(s) in added subtree");for(let a=0;a<i.length;a++){let s=i[a];s.closest("[data-forma-leaving]")||Z(s)}}if(e.type==="attributes"&&e.attributeName==="data-forma-state"){let t=e.target;Q(t),t.hasAttribute("data-forma-state")&&Z(t)}}async function It(){try{for(;me.length>0;){let e=me.splice(0,mr);for(let t=0;t<e.length;t++)pr(e[t]);me.length>0&&await At()}}finally{he=!1,me.length>0&&!he&&(he=!0,It())}}function gr(e){O&&N("MutationObserver: queued",e.length,"mutation(s)"),me.push(...e),!he&&(he=!0,It())}function hr(){if(U)return;U=new MutationObserver(gr);let e=document.body||document.documentElement;e&&U.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-forma-state"]})}function br(){U&&(U.disconnect(),U=null)}function Ge(){un&&wt(document,{skipIfAlreadySet:!0});let e=document.querySelectorAll("[data-forma-state]");O&&N("initRuntime: found",e.length,"scope(s)");for(let t of Array.from(e))Z(t);hr(),O&&N("initRuntime: MutationObserver started")}function vr(){br();let e=document.querySelectorAll("[data-forma-state]");for(let t of Array.from(e))Q(t)}function Er(e){e.hasAttribute("data-forma-state")&&Z(e);let t=e.querySelectorAll("[data-forma-state]");for(let n of Array.from(t))Z(n)}function yr(e){e.hasAttribute("data-forma-state")&&Q(e);let t=e.querySelectorAll("[data-forma-state]");for(let n of Array.from(t))Q(n)}typeof document<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Ge):Ge());function Sr(e){O=e}function Tr(e){$!==e&&($=e,e==="locked-off"&&(F=!1),e==="locked-on"&&(F=!0),e==="mutable"&&(F=!0),ze=new WeakMap,Je=new WeakMap)}function Ar(e){if($!=="mutable"){N(`setUnsafeEval ignored (mode=${$}); unsafe fallback is locked`);return}F!==e&&(F=e,ze=new WeakMap,Je=new WeakMap)}function wr(){return $}function _r(e){je=e}function Rr(){return Array.from(pe.values()).map(e=>({...e}))}function Mr(){pe.clear()}function xr(){let e=document.querySelectorAll("[data-forma-state]"),t=[];for(let n of Array.from(e)){if(n.closest("[data-forma-leaving]"))continue;let r=n.__formaScope,i=n.__formaInitialState;if(!r)continue;let a={};for(let s of Object.keys(r.getters)){let c=r.getters[s]();a[s]={value:c,type:typeof c}}t.push({element:n,id:n.getAttribute("data-forma-id")||n.id||n.tagName.toLowerCase(),values:a,initialJSON:i??"{}"})}return t}function Cr(e,t,n){let r=e.__formaScope;r?.setters[t]&&H(()=>{r.setters[t](n)})}function kr(e){let t=e.__formaScope,n=e.__formaInitialState;if(!t||!n)return;let r=Ot(n);H(()=>{for(let[i,a]of Object.entries(r))t.setters[i]?.(a)})}var Pe=null;function Nr(){return Pe||(Pe=mt({mountScope:Z,unmountScope:Q,disconnectObserver(){U&&U.disconnect()},reconnectObserver(){if(U){let e=document.body||document.documentElement;e&&U.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-forma-state"]})}},batch:H})),Pe}function Dr(e,t){Nr()(e,t)}return Ut(Lr);})();
"use strict";var FormaRuntime=(()=>{var xe=Object.defineProperty;var $t=Object.getOwnPropertyDescriptor;var Ht=Object.getOwnPropertyNames;var Ft=Object.prototype.hasOwnProperty;var Pt=(e,t)=>{for(var n in t)xe(e,n,{get:t[n],enumerable:!0})},Bt=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ht(t))!Ft.call(e,i)&&i!==n&&xe(e,i,{get:()=>t[i],enumerable:!(r=$t(t,i))||r.enumerable});return e};var Ut=e=>Bt(xe({},"__esModule",{value:!0}),e);var Lr={};Pt(Lr,{applyContainmentHints:()=>wt,clearDiagnostics:()=>Mr,destroyRuntime:()=>vr,getDiagnostics:()=>Rr,getScopes:()=>xr,getUnsafeEvalMode:()=>wr,initRuntime:()=>Ge,mount:()=>Er,reconcile:()=>Dr,resetScope:()=>kr,setDebug:()=>Sr,setDiagnostics:()=>_r,setDirectiveMap:()=>cr,setScopeValue:()=>Cr,setUnsafeEval:()=>Ar,setUnsafeEvalMode:()=>Tr,unmount:()=>yr,yieldToMain:()=>At});function Xe({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:o,shallowPropagate:c};function r(s,l,p){let m=l.depsTail;if(m!==void 0&&m.dep===s)return;let u=m!==void 0?m.nextDep:l.deps;if(u!==void 0&&u.dep===s){u.version=p,l.depsTail=u;return}let h=s.subsTail;if(h!==void 0&&h.version===p&&h.sub===l)return;let E=l.depsTail=s.subsTail={version:p,dep:s,sub:l,prevDep:m,nextDep:u,prevSub:h,nextSub:void 0};u!==void 0&&(u.prevDep=E),m!==void 0?m.nextDep=E:l.deps=E,h!==void 0?h.nextSub=E:s.subs=E}function i(s,l=s.sub){let p=s.dep,m=s.prevDep,u=s.nextDep,h=s.nextSub,E=s.prevSub;return u!==void 0?u.prevDep=m:l.depsTail=m,m!==void 0?m.nextDep=u:l.deps=u,h!==void 0?h.prevSub=E:p.subsTail=E,E!==void 0?E.nextSub=h:(p.subs=h)===void 0&&n(p),u}function a(s){let l=s.nextSub,p;e:do{let m=s.sub,u=m.flags;if(u&60?u&12?u&4?!(u&48)&&f(s,m)?(m.flags=u|40,u&=1):u=0:m.flags=u&-9|32:u=0:m.flags=u|32,u&2&&t(m),u&1){let h=m.subs;if(h!==void 0){let E=(s=h).nextSub;E!==void 0&&(p={value:l,prev:p},l=E);continue}}if((s=l)!==void 0){l=s.nextSub;continue}for(;p!==void 0;)if(s=p.value,p=p.prev,s!==void 0){l=s.nextSub;continue e}break}while(!0)}function o(s,l){let p,m=0,u=!1;e:do{let h=s.dep,E=h.flags;if(l.flags&16)u=!0;else if((E&17)===17){if(e(h)){let S=h.subs;S.nextSub!==void 0&&c(S),u=!0}}else if((E&33)===33){(s.nextSub!==void 0||s.prevSub!==void 0)&&(p={value:s,prev:p}),s=h.deps,l=h,++m;continue}if(!u){let S=s.nextDep;if(S!==void 0){s=S;continue}}for(;m--;){let S=l.subs,w=S.nextSub!==void 0;if(w?(s=p.value,p=p.prev):s=S,u){if(e(l)){w&&c(S),l=s.sub;continue}u=!1}else l.flags&=-33;l=s.sub;let y=s.nextDep;if(y!==void 0){s=y;continue e}}return u}while(!0)}function c(s){do{let l=s.sub,p=l.flags;(p&48)===32&&(l.flags=p|16,(p&6)===2&&t(l))}while((s=s.nextSub)!==void 0)}function f(s,l){let p=l.depsTail;for(;p!==void 0;){if(p===s)return!0;p=p.prevDep}return!1}}var Ee=0,Ce=0,K=0,le=0,z,W=[],{link:ke,unlink:Ye,propagate:Wt,checkDirty:Ze,shallowPropagate:Qe}=Xe({update(e){return e.depsTail!==void 0?st(e):ot(e)},notify(e){let t=le,n=t;do if(W[t++]=e,e.flags&=-3,e=e.subs?.sub,e===void 0||!(e.flags&2))break;while(!0);for(le=t;n<--t;){let r=W[n];W[n++]=W[t],W[t]=r}},unwatched(e){e.flags&1?e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=17,ye(e)):lt.call(e)}});function q(e){let t=z;return z=e,t}function et(){++Ce}function tt(){--Ce||at()}function nt(e){return Gt.bind({currentValue:e,pendingValue:e,subs:void 0,subsTail:void 0,flags:1})}function rt(e){return Vt.bind({value:void 0,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:0,getter:e})}function it(e){let t={fn:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:6},n=q(t);n!==void 0&&ke(t,n,0);try{t.fn()}finally{z=n,t.flags&=-5}return jt.bind(t)}function st(e){++Ee,e.depsTail=void 0,e.flags=5;let t=q(e);try{let n=e.value;return n!==(e.value=e.getter(n))}finally{z=t,e.flags&=-5,ye(e)}}function ot(e){return e.flags=1,e.currentValue!==(e.currentValue=e.pendingValue)}function qt(e){let t=e.flags;if(t&16||t&32&&Ze(e.deps,e)){++Ee,e.depsTail=void 0,e.flags=6;let n=q(e);try{e.fn()}finally{z=n,e.flags&=-5,ye(e)}}else e.flags=2}function at(){try{for(;K<le;){let e=W[K];W[K++]=void 0,qt(e)}}finally{for(;K<le;){let e=W[K];W[K++]=void 0,e.flags|=10}K=0,le=0}}function Vt(){let e=this.flags;if(e&16||e&32&&(Ze(this.deps,this)||(this.flags=e&-33,!1))){if(st(this)){let n=this.subs;n!==void 0&&Qe(n)}}else if(!e){this.flags=5;let n=q(this);try{this.value=this.getter()}finally{z=n,this.flags&=-5}}let t=z;return t!==void 0&&ke(this,t,Ee),this.value}function Gt(...e){if(e.length){if(this.pendingValue!==(this.pendingValue=e[0])){this.flags=17;let t=this.subs;t!==void 0&&(Wt(t),Ce||at())}}else{if(this.flags&16&&ot(this)){let n=this.subs;n!==void 0&&Qe(n)}let t=z;for(;t!==void 0;){if(t.flags&3){ke(this,t,Ee);break}t=t.subs?.sub}return this.currentValue}}function jt(){lt.call(this)}function lt(){this.depsTail=void 0,this.flags=0,ye(this);let e=this.subs;e!==void 0&&Ye(e)}function ye(e){let t=e.depsTail,n=t!==void 0?t.nextDep:e.deps;for(;n!==void 0;)n=Ye(n,e)}function zt(e,t,n){if(typeof t!="function"){if(n){let o=q(void 0),c=e();if(q(o),n(c,t))return}e(t);return}let r=q(void 0),i=e();q(r);let a=t(i);n&&n(i,a)||e(a)}function te(e,t){let n=nt(e),r=n,i=t?.equals;return[r,o=>zt(n,o,i)]}var Ne=null;function ct(e){Ne&&Ne.disposers.push(e)}function ut(){return Ne!==null}var Jt=32;var Kt=[];for(let e=0;e<Jt;e++)Kt.push([]);function B(e){let t=it(e);return ut()&&ct(t),t}function De(e){return rt(e)}function $(e){et();try{e()}finally{tt()}}function ft(e){let t=e.length;if(t===0)return[];let n=new Int32Array(t),r=new Int32Array(t),i=new Int32Array(t).fill(-1),a=0;for(let f=0;f<t;f++){let s=e[f],l=0,p=a;for(;l<p;){let m=l+p>>1;n[m]<s?l=m+1:p=m}n[l]=s,r[l]=f,l>0&&(i[f]=r[l-1]),l>=a&&a++}let o=new Array(a),c=r[a-1];for(let f=a-1;f>=0;f--)o[f]=c,c=i[c];return o}var Xt=32;function Yt(e,t,n,r,i,a,o,c,f){let s=t.length,l=n.length,p=new Array(s);for(let d=0;d<s;d++)p[d]=i(t[d]);let m=new Array(l),u=new Uint8Array(s);for(let d=0;d<l;d++){let g=i(n[d]),b=-1;for(let T=0;T<s;T++)if(!u[T]&&p[T]===g){b=T,u[T]=1;break}m[d]=b}for(let d=0;d<s;d++)if(!u[d])if(f?.onBeforeRemove){let g=r[d];f.onBeforeRemove(g,()=>{g.parentNode&&g.parentNode.removeChild(g)})}else e.removeChild(r[d]);if(s===l){let d=!0;for(let g=0;g<l;g++)if(m[g]!==g){d=!1;break}if(d){let g=new Array(l);for(let b=0;b<l;b++){let T=r[b];o(T,n[b]),g[b]=T}return{nodes:g,items:n}}}let h=[],E=[];for(let d=0;d<l;d++)m[d]!==-1&&(h.push(m[d]),E.push(d));let S=ft(h),w=new Uint8Array(l);for(let d of S)w[E[d]]=1;let y=new Array(l),v=c??null;for(let d=l-1;d>=0;d--){let g,b=!1;if(m[d]===-1)g=a(n[d]),b=!0;else if(g=r[m[d]],o(g,n[d]),w[d]){y[d]=g,v=g;continue}v?e.insertBefore(g,v):e.appendChild(g),b&&f?.onInsert?.(g),y[d]=g,v=g}return{nodes:y,items:n}}function Le(e,t,n,r,i,a,o,c,f){let s=t.length,l=n.length;if(l===0){for(let d=0;d<s;d++)if(f?.onBeforeRemove){let g=r[d];f.onBeforeRemove(g,()=>{g.parentNode&&g.parentNode.removeChild(g)})}else e.removeChild(r[d]);return{nodes:[],items:[]}}if(s===0){let d=new Array(l);for(let g=0;g<l;g++){let b=a(n[g]);c?e.insertBefore(b,c):e.appendChild(b),f?.onInsert?.(b),d[g]=b}return{nodes:d,items:n}}if(s<Xt)return Yt(e,t,n,r,i,a,o,c,f);let p=new Map;for(let d=0;d<s;d++)p.set(i(t[d]),d);let m=new Array(l),u=new Uint8Array(s);for(let d=0;d<l;d++){let g=i(n[d]),b=p.get(g);b!==void 0?(m[d]=b,u[b]=1):m[d]=-1}for(let d=0;d<s;d++)if(!u[d])if(f?.onBeforeRemove){let g=r[d];f.onBeforeRemove(g,()=>{g.parentNode&&g.parentNode.removeChild(g)})}else e.removeChild(r[d]);if(s===l){let d=!0;for(let g=0;g<l;g++)if(m[g]!==g){d=!1;break}if(d){let g=new Array(l);for(let b=0;b<l;b++){let T=r[b];o(T,n[b]),g[b]=T}return{nodes:g,items:n}}}let h=[],E=[];for(let d=0;d<l;d++)m[d]!==-1&&(h.push(m[d]),E.push(d));let S=ft(h),w=new Uint8Array(l);for(let d of S)w[E[d]]=1;let y=new Array(l),v=c??null;for(let d=l-1;d>=0;d--){let g,b=!1;if(m[d]===-1)g=a(n[d]),b=!0;else if(g=r[m[d]],o(g,n[d]),w[d]){y[d]=g,v=g;continue}v?e.insertBefore(g,v):e.appendChild(g),b&&f?.onInsert?.(g),y[d]=g,v=g}return{nodes:y,items:n}}function Zt(e){let t=new Set,n=e.attributes;for(let r=0;r<n.length;r++){let i=n[r].name;i.startsWith("data-bind:")&&t.add(i.slice(10))}return t}function Qt(e){return e.hasAttribute("data-list")||e.hasAttribute("data-if")}function dt(e){try{let t=JSON.parse(e);return Object.keys(t).sort()}catch{return[]}}function en(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function tn(e,t){let n=e.getAttribute("data-module"),r=t.getAttribute("data-module");if(n!==r)return"REPLACE";let a=e.__formaInitialState??e.getAttribute("data-forma-state")??"{}",o=t.getAttribute("data-forma-state")??"{}",c=dt(a),f=dt(o);return en(c,f)?"PRESERVE":"RESET"}var Se=null;function nn(e){return Se||(Se=document.createElement("template")),Se.innerHTML=e,Se.content}function Oe(e,t){let n=Zt(e),r=e.hasAttribute("data-show"),i=e.hasAttribute("data-model"),a=!1,o=e.attributes;for(let f=0;f<o.length;f++)if(o[f].name.startsWith("data-class:")){a=!0;break}let c=t.attributes;for(let f=0;f<c.length;f++){let s=c[f];if(s.name==="style"&&r||s.name==="class"&&a||(s.name==="value"||s.name==="checked")&&i||n.has(s.name))continue;e.getAttribute(s.name)!==s.value&&e.setAttribute(s.name,s.value)}for(let f=o.length-1;f>=0;f--){let s=o[f];if(!t.hasAttribute(s.name)){if(s.name==="style"&&r||s.name==="class"&&a||(s.name==="value"||s.name==="checked")&&i||n.has(s.name))continue;e.removeAttribute(s.name)}}}function rn(e,t){if(e.hasAttribute("data-text"))return;let n=[],r=[];for(let o of Array.from(e.childNodes))o.nodeType===Node.TEXT_NODE&&n.push(o);for(let o=0;o<t.childNodes.length;o++){let c=t.childNodes[o];c.nodeType===Node.TEXT_NODE&&r.push({node:c,index:o})}if(n.length===r.length){for(let o=0;o<n.length;o++)n[o].textContent!==r[o].node.textContent&&(n[o].textContent=r[o].node.textContent);return}let i=new Set,a=0;for(let{node:o,index:c}of r)if(a<n.length){let f=n[a];a++,i.add(f),f.textContent!==o.textContent&&(f.textContent=o.textContent)}else{let f=sn(e,t,c);e.insertBefore(document.createTextNode(o.textContent??""),f)}for(let o of n)!i.has(o)&&o.parentNode===e&&e.removeChild(o)}function sn(e,t,n){for(let r=n+1;r<t.childNodes.length;r++){let i=t.childNodes[r];if(i.nodeType===Node.ELEMENT_NODE){let a=i.getAttribute("data-forma-id");if(a){let o=e.querySelector(`[data-forma-id="${CSS.escape(a)}"]`);if(o&&o.parentElement===e)return o}}}return null}function Ie(e,t,n){if(Qt(e))return;rn(e,t);let r=Array.from(e.children),i=Array.from(t.children),a=new Map,o=[];for(let s of r){if(s.hasAttribute("data-forma-leaving"))continue;let l=s.getAttribute("data-forma-id");l?a.set(l,s):o.push(s)}let c=0,f=new Set;for(let s of i){let l=s.getAttribute("data-forma-id"),p;if(l)p=a.get(l);else for(;c<o.length;){let m=o[c];if(c++,m.tagName===s.tagName&&!f.has(m)){p=m;break}}if(p){if(f.add(p),p.hasAttribute("data-forma-state")&&s.hasAttribute("data-forma-state"))switch(tn(p,s)){case"PRESERVE":Oe(p,s),Ie(p,s,n);break;case"RESET":n.unmountScope(p),Oe(p,s),on(p,s),n.mountScope(p);break;case"REPLACE":{n.unmountScope(p);let u=s.cloneNode(!0);e.replaceChild(u,p),n.mountScope(u),f.delete(p),p=u,f.add(u);break}}else Oe(p,s),Ie(p,s,n);an(e,p,s,i)}else{let m=s.cloneNode(!0),u=ln(e,s,i);e.insertBefore(m,u),f.add(m),m.hasAttribute("data-forma-state")&&n.mountScope(m);let h=m.querySelectorAll("[data-forma-state]");for(let E of Array.from(h))n.mountScope(E)}}for(let s of r)if(!f.has(s)){if(s.parentElement!==e||s.hasAttribute("data-forma-leaving"))continue;s.hasAttribute("data-forma-state")&&n.unmountScope(s);let l=s.querySelectorAll("[data-forma-state]");for(let p of Array.from(l))n.unmountScope(p);e.removeChild(s)}}function on(e,t){for(;e.firstChild;)e.removeChild(e.firstChild);for(let n of Array.from(t.childNodes))e.appendChild(n.cloneNode(!0))}function an(e,t,n,r){let i=r.indexOf(n);if(Array.from(e.children).indexOf(t)!==i){let c=r[i+1];if(c){let f=c.getAttribute("data-forma-id");if(f){let s=e.querySelector(`[data-forma-id="${CSS.escape(f)}"]`);if(s&&s.parentElement===e){e.insertBefore(t,s);return}}}e.appendChild(t)}}function ln(e,t,n){let r=n.indexOf(t);for(let i=r+1;i<n.length;i++){let a=n[i].getAttribute("data-forma-id");if(a){let o=e.querySelector(`[data-forma-id="${CSS.escape(a)}"]`);if(o&&o.parentElement===e)return o}}return null}function mt(e){let t="";return function(r,i){let a=i.trim();if(a&&!(a===t&&r.hasChildNodes())){t=a,e.disconnectObserver();try{if(!r.hasChildNodes()||r.children.length===0){r.innerHTML=a,e.batch(()=>{let l=r.querySelectorAll("[data-forma-state]");for(let p of Array.from(l))e.mountScope(p)});return}let o=nn(a),c=document.createElement("div");c.appendChild(o);let f=new Set;for(let l of Array.from(r.children)){if(l.hasAttribute("data-forma-leaving"))continue;let p=l.getAttribute("data-forma-id");p&&f.add(p)}let s=!1;if(f.size>0)for(let l of Array.from(c.children)){let p=l.getAttribute("data-forma-id");if(p&&f.has(p)){s=!0;break}}if(f.size>0&&!s){e.batch(()=>{let l=r.querySelectorAll("[data-forma-state]");for(let m of Array.from(l))e.unmountScope(m);r.innerHTML=a;let p=r.querySelectorAll("[data-forma-state]");for(let m of Array.from(p))e.mountScope(m)});return}e.batch(()=>{Ie(r,c,e)})}finally{e.reconnectObserver()}}}}var Ue=new Map;function Tt(e){let t=Ue.get(e);t?t():O&&N(`$refetch: no data-fetch with id "${e}" found`)}function $e(e,t){let n=Object.create(null);for(let r of Object.keys(t))n[r]=()=>t[r];return{getters:new Proxy(e.getters,{get(r,i){return i in n?n[i]:r[i]},has(r,i){return i in n||i in r}}),setters:e.setters}}var O=!1,H="mutable",F=!1,je=!0;function N(...e){(O||typeof window<"u"&&window.__FORMA_DEBUG)&&console.log("[FormaJS]",...e)}var pe=new Map;function Te(e){if(e==null)return;let t=e.trim().toLowerCase();if(t==="1"||t==="true"||t==="on"||t==="yes")return!0;if(t==="0"||t==="false"||t==="off"||t==="no")return!1}function We(e){if(e==null)return;let t=e.trim().toLowerCase();if(t==="mutable")return"mutable";if(t==="locked-off"||t==="off"||t==="disabled")return"locked-off";if(t==="locked-on"||t==="on"||t==="enabled")return"locked-on"}function cn(){let e={};if(typeof window<"u"){let t=window.__FORMA_RUNTIME_CONFIG;if(t){if(typeof t.allowUnsafeEval=="boolean"&&(e.allowUnsafeEval=t.allowUnsafeEval),typeof t.unsafeEvalMode=="string"){let n=We(t.unsafeEvalMode);n&&(e.unsafeEvalMode=n)}typeof t.lockUnsafeEval=="boolean"&&(e.lockUnsafeEval=t.lockUnsafeEval),typeof t.diagnostics=="boolean"&&(e.diagnostics=t.diagnostics),typeof t.autoContainment=="boolean"&&(e.autoContainment=t.autoContainment)}}if(typeof document<"u"){let t=document.currentScript;if(t){let n=Te(t.getAttribute("data-forma-unsafe-eval"));n!==void 0&&(e.allowUnsafeEval=n);let r=We(t.getAttribute("data-forma-unsafe-eval-mode"));r!==void 0&&(e.unsafeEvalMode=r);let i=Te(t.getAttribute("data-forma-lock-unsafe-eval"));i!==void 0&&(e.lockUnsafeEval=i);let a=Te(t.getAttribute("data-forma-diagnostics"));a!==void 0&&(e.diagnostics=a);let o=Te(t.getAttribute("data-forma-auto-containment"));o!==void 0&&(e.autoContainment=o)}}return e}function ne(e,t,n){if(!je)return;let r=`${e}|${n}|${t}`,i=Date.now(),a=pe.get(r);a?(a.count+=1,a.lastSeenAt=i):(pe.set(r,{kind:e,expr:t,reason:n,count:1,firstSeenAt:i,lastSeenAt:i}),console.warn(`[FormaJS] ${n}: ${t}`));try{if(typeof window<"u"){let o={kind:e,expr:t,reason:n,count:pe.get(r)?.count??1};window.dispatchEvent(new CustomEvent("formajs:diagnostic",{detail:o}))}}catch{}}var pt=We("locked-off");pt&&(H=pt,H==="locked-off"&&(F=!1),H==="locked-on"&&(F=!0),H==="mutable"&&(F=!0));var ee=cn(),gt=ee.lockUnsafeEval?"locked-off":ee.unsafeEvalMode;gt&&(H=gt,H==="locked-off"&&(F=!1),H==="locked-on"&&(F=!0));H==="mutable"&&typeof ee.allowUnsafeEval=="boolean"&&(F=ee.allowUnsafeEval);typeof ee.diagnostics=="boolean"&&(je=ee.diagnostics);var un=ee.autoContainment===!0;function fn(){let e=globalThis?.scheduler;if(e&&(typeof e.yield=="function"||typeof e.postTask=="function"))return e}async function At(){let e=fn();if(e?.yield){await e.yield();return}if(e?.postTask){await e.postTask(()=>{},{priority:"background"});return}await new Promise(t=>setTimeout(t,0))}function wt(e=document,t={}){let n=t.selector??"[data-forma-contain]";if(!n||typeof e.querySelectorAll!="function")return 0;let r=e.querySelectorAll(n),i=0;for(let a=0;a<r.length;a++){let o=r[a];if(!o?.style)continue;let c=o.getAttribute("data-forma-contain")??t.contain??"layout style paint",f=o.getAttribute("data-forma-content-visibility")??t.contentVisibility??"auto",s=o.getAttribute("data-forma-contain-intrinsic-size")??t.containIntrinsicSize??"auto 800px",l=t.skipIfAlreadySet===!0,p=!1,m=o.style.getPropertyValue("contain"),u=o.style.getPropertyValue("content-visibility"),h=o.style.getPropertyValue("contain-intrinsic-size");c!=="off"&&(!l||!m)&&(o.style.setProperty("contain",c),p=!0),f!=="off"&&(!l||!u)&&(o.style.setProperty("content-visibility",f),p=!0),s!=="off"&&(!l||!h)&&(o.style.setProperty("contain-intrinsic-size",s),p=!0),p&&i++}return O&&i>0&&N("applyContainmentHints: applied to",i,"element(s)"),i}var _t=/^'[^']*'$/,Rt=/^"[^"]*"$/,Mt=/^-?\d+(\.\d+)?$/,xt=/^[a-zA-Z_$]\w*$/,dn=/^(\w+)\.(\w+)$/;var mn=/^(\w+)\[(\d+|'[^']*'|"[^"]*")\]$/,pn=/^(.+?)\s*\?\s*(.+?)\s*:\s*(.+)$/,gn=/^(.+?)\s*\?\?\s*(.+)$/,hn=/^(.+?)\s*&&\s*(.+)$/,bn=/^(.+?)\s*\|\|\s*(.+)$/,vn=/^(.+?)\s*(===|!==|==|!=|>=|<=|>|<)\s*(.+)$/,En=/^(.+?)\s*([*/%])\s*(.+)$/,yn=/^(.+?)\s*([+-])\s*(.+)$/,Sn=/^`([^`]*)`$/,Tn=/\$\{([^}]+)\}/g;var An=/^\((.+)\)\.(\w+)\((.*)\)$/,qe=/^\{|\}$/g;var wn=/^\d+$/,_n=/^(\w+)(\+\+|--)$/,Rn=/^(\+\+|--)(\w+)$/,Mn=/^(\w+)\s*=\s*!(\w+)$/,xn=/^(\w+)\s*=\s*(.+)$/,Cn=/^(\w+)\s*(\+=|-=|\*=|\/=)\s*(.+)$/,kn=/^if\b/,Nn=/^(\w+)\s*=\s*(.+)$/,Dn=/^(.+?)(?:→|->)\s*(\S+)(.*)$/,Ln=/^(GET|POST|PUT|PATCH|DELETE)\s+(.+)$/i,On=/^\{item\.?|\}$/g,In=/\bevent\s*[.([]|\$event\b/,$n=/^\$refetch\(\s*['"]([^'"]+)['"]\s*\)$/,Re=Symbol.for("forma-transition-state"),Hn=2048,ue=new Map;function ce(e,t){if(ue.size>=Hn){let n=ue.keys().next().value;n!==void 0&&ue.delete(n)}ue.set(e,t)}var ze=new WeakMap,Je=new WeakMap,fe=new Map,Fn=2048;function Pn(e,t){if(fe.size>=Fn){let n=fe.keys().next().value;n!==void 0&&fe.delete(n)}fe.set(e,t)}var re=new Set(["constructor","__proto__","prototype","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__","eval","Function"]),Bn=(()=>{let e=[];for(let t of re){let n=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e.push({name:t,dotRe:new RegExp(`(?:^|\\.)${n}(?:\\s*\\(|\\s*$|[^\\w$])`,"m"),bracketRe:new RegExp(`\\[\\s*(?:'${n}'|"${n}"|\``+n+"`)\\s*\\]")})}return e})();function Ct(e){let t=e.replace(/\/\*[\s\S]*?\*\//g,"");t=t.replace(/\/\/[^\n]*/g,""),t=t.replace(/\s*\.\s*/g,".");for(let{name:n,dotRe:r,bracketRe:i}of Bn)if(r.test(t)||i.test(t))return n;if(t.includes("[")){let n=Un(t);for(let r of n){if(!r.includes("+"))continue;let i=r.match(/['"`]([^'"`]*?)['"`]/g);if(!i)continue;let a=i.map(o=>o.slice(1,-1)).join("");if(re.has(a))return a}}return null}function Un(e){let t=[],n=0,r=-1;for(let i=0;i<e.length;i++)e[i]==="["?(n===0&&(r=i+1),n++):e[i]==="]"&&(n--,n===0&&r>=0&&(t.push(e.slice(r,i)),r=-1));return t}var ht=Symbol.for("forma-text-binding-cache");function Wn(e){return e==null?"":typeof e=="string"?e:typeof e=="symbol"?e.toString():String(e)}function qn(e,t){let n=e[ht];if(n||(n={initialized:!1,last:"",node:null},e[ht]=n),n.initialized&&n.last===t)return;let r=n.node;if(!r||r.parentNode!==e||e.childNodes.length!==1||e.firstChild!==r)if(e.childNodes.length===1&&e.firstChild?.nodeType===Node.TEXT_NODE)r=e.firstChild,n.node=r;else{e.textContent=t;let i=e.firstChild;n.node=i&&i.nodeType===Node.TEXT_NODE&&e.childNodes.length===1?i:null,n.last=t,n.initialized=!0;return}r.data=t,n.last=t,n.initialized=!0}function Ve(e){let t=[];if(e.trim()==="")return t;let n=0,r=!1,i=!1,a=!1,o=0;for(let c=0;c<e.length;c++){let f=e[c];if(a){a=!1;continue}if(f==="\\"){a=!0;continue}if(r){f==="'"&&(r=!1);continue}if(i){f==='"'&&(i=!1);continue}if(f==="'"){r=!0;continue}if(f==='"'){i=!0;continue}if(f==="("){n++;continue}if(f===")"){n>0&&n--;continue}f===","&&n===0&&(t.push(e.slice(o,c).trim()),o=c+1)}return t.push(e.slice(o).trim()),t.filter(Boolean)}function ie(e,t,n,r){if(e[t]!==n)return null;let i=0,a=!1,o=!1,c=!1,f=!1;for(let s=t;s<e.length;s++){let l=e[s];if(f){f=!1;continue}if(l==="\\"&&(a||o||c)){f=!0;continue}if(a){l==="'"&&(a=!1);continue}if(o){l==='"'&&(o=!1);continue}if(c){l==="`"&&(c=!1);continue}if(l==="'"){a=!0;continue}if(l==='"'){o=!0;continue}if(l==="`"){c=!0;continue}if(l===n){i++;continue}if(l===r&&(i--,i===0))return{inner:e.slice(t+1,s),end:s}}return null}function Vn(e){let t=e.trim();if(!t)return[];let n=[],r=0,i=0,a=0,o=!1,c=!1,f=!1,s=!1,l=0;for(let m=0;m<t.length;m++){let u=t[m];if(s){s=!1;continue}if(u==="\\"&&(o||c||f)){s=!0;continue}if(o){u==="'"&&(o=!1);continue}if(c){u==='"'&&(c=!1);continue}if(f){u==="`"&&(f=!1);continue}if(u==="'"){o=!0;continue}if(u==='"'){c=!0;continue}if(u==="`"){f=!0;continue}if(u==="("?r++:u===")"&&r>0?r--:u==="{"?i++:u==="}"&&i>0?i--:u==="["?a++:u==="]"&&a>0&&a--,u===";"&&r===0&&i===0&&a===0){let h=t.slice(l,m).trim();h&&n.push(h),l=m+1}}let p=t.slice(l).trim();return p&&n.push(p),n}function bt(e){let t=e.trim();if(!t)return null;if(t.startsWith("{")){let s=ie(t,0,"{","}");if(!s)return null;let l=s.inner.trim(),p=t.slice(s.end+1).trim();return p.startsWith(";")&&(p=p.slice(1).trim()),{body:l,rest:p}}let n=0,r=0,i=0,a=!1,o=!1,c=!1,f=!1;for(let s=0;s<t.length;s++){let l=t[s];if(f){f=!1;continue}if(l==="\\"&&(a||o||c)){f=!0;continue}if(a){l==="'"&&(a=!1);continue}if(o){l==='"'&&(o=!1);continue}if(c){l==="`"&&(c=!1);continue}if(l==="'"){a=!0;continue}if(l==='"'){o=!0;continue}if(l==="`"){c=!0;continue}if(l==="("?n++:l===")"&&n>0?n--:l==="{"?r++:l==="}"&&r>0?r--:l==="["?i++:l==="]"&&i>0&&i--,l===";"&&n===0&&r===0&&i===0)return{body:t.slice(0,s).trim(),rest:t.slice(s+1).trim()}}return{body:t,rest:""}}function Gn(e,t){let n=e.trim();if(!kn.test(n)||In.test(n))return null;let r=2;for(;r<n.length&&/\s/.test(n[r]);)r++;if(n[r]!=="(")return null;let i=ie(n,r,"(",")");if(!i)return null;let a=x(i.inner.trim(),t);if(!a)return null;let o=n.slice(i.end+1).trim(),c=bt(o);if(!c||!c.body)return null;let f=Me(c.body,t);if(!f)return null;o=c.rest.trim();let s=null;if(o.startsWith("else")){o=o.slice(4).trim();let l=bt(o);if(!l||!l.body||(s=Me(l.body,t),!s))return null;o=l.rest.trim()}return o.length>0?null:l=>{$(()=>{a()?f(l):s?.(l)})}}function jn(e){let t=e.trim();for(;t.startsWith("(");){let n=ie(t,0,"(",")");if(!n||n.end!==t.length-1)break;let r=n.inner.trim();if(!r)break;t=r}return t}function kt(e){let t=fe.get(e);if(t)return t;let n=[],r=[],i=0,a=/\{item\.?(\w*)\}/g,o;for(;(o=a.exec(e))!==null;)n.push(e.slice(i,o.index)),r.push(o[1]),i=a.lastIndex;n.push(e.slice(i));let c={statics:n,dynamics:r,hasItemRef:r.length>0};return Pn(e,c),c}var Nt=new WeakMap;function Ke(e,t){if(!e.hasItemRef)return e.statics[0];let n=e.statics[0];for(let r=0;r<e.dynamics.length;r++){let i=e.dynamics[r];i?n+=String(t?.[i]??""):n+=typeof t=="object"?JSON.stringify(t):String(t??""),n+=e.statics[r+1]??""}return n}function zn(e,t){let n=e.cloneNode(!0),r=document.createTreeWalker(n,NodeFilter.SHOW_TEXT);for(;r.nextNode();){let i=r.currentNode,a=i.textContent??"";if(a.includes("{item")){let o=kt(a);Nt.set(i,o),i.textContent=Ke(o,t)}}return tr(n,t),n}function Jn(e,t){let n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);for(;n.nextNode();){let r=n.currentNode,i=Nt.get(r);i&&(r.textContent=Ke(i,t))}}var Kn=new WeakMap,Xn=["data-list","data-show","data-text","data-if","data-model","data-on:","data-class:","data-bind:","data-computed","data-persist","data-fetch","data-transition","data-transition:"];function Yn(e){for(let t of Xn)if(e===t||e.startsWith(t))return!0;return!1}function de(e){return e?e.trim().split(/\s+/).map(t=>t.trim()).filter(Boolean):[]}function ge(e){let t=e.trim().toLowerCase();if(t.endsWith("ms")){let n=Number(t.slice(0,-2));return Number.isFinite(n)&&n>=0?n:null}if(t.endsWith("s")){let n=Number(t.slice(0,-1));return Number.isFinite(n)&&n>=0?n*1e3:null}return null}function He(e){let t=[],n;for(let r of de(e)){let i=ge(r);i!=null?n=i:t.push(r)}return{classes:t,durationMs:n}}function J(e){return Array.from(new Set(e.filter(Boolean)))}function Ae(e){return e?e.split(",").map(t=>ge(t.trim())).filter(t=>t!=null):[]}function vt(e,t){if(e.length===0&&t.length===0)return 0;if(e.length===0)return Math.max(...t,0);if(t.length===0)return Math.max(...e,0);let n=Math.max(e.length,t.length),r=0;for(let i=0;i<n;i++){let a=e[i%e.length]??0,o=t[i%t.length]??0;a+o>r&&(r=a+o)}return r}function Zn(e,t){if(typeof t=="number")return t;let n=window.getComputedStyle(e),r=vt(Ae(n.transitionDuration),Ae(n.transitionDelay)),i=vt(Ae(n.animationDuration),Ae(n.animationDelay));return Math.max(r,i)}function G(e){let t=e[Re];if(t)return t;let n={token:0,cancel:null};return e[Re]=n,n}function we(e){let t=e[Re];t?.cancel&&t.cancel(),delete e[Re]}function Fe(e){if(!(e.hasAttribute("data-transition")||Array.from(e.attributes).some(m=>m.name.startsWith("data-transition:"))))return null;let n=He(e.getAttribute("data-transition")).classes,r=He(e.getAttribute("data-transition:enter")),i=He(e.getAttribute("data-transition:leave")),a=de(e.getAttribute("data-transition:enter-from")??e.getAttribute("data-transition:enter-start")),o=de(e.getAttribute("data-transition:enter-to")??e.getAttribute("data-transition:enter-end")),c=de(e.getAttribute("data-transition:leave-from")??e.getAttribute("data-transition:leave-start")),f=de(e.getAttribute("data-transition:leave-to")??e.getAttribute("data-transition:leave-end")),s=ge(e.getAttribute("data-transition:duration")??""),l=ge(e.getAttribute("data-transition:duration-enter")??"")??r.durationMs??s??void 0,p=ge(e.getAttribute("data-transition:duration-leave")??"")??i.durationMs??s??void 0;return{enter:J([...n,...r.classes]),enterFrom:J(a),enterTo:J(o),leave:J([...n,...i.classes]),leaveFrom:J(c),leaveTo:J(f),enterDurationMs:l,leaveDurationMs:p}}function _e(e,t){for(let n of t)e.classList.remove(n)}function Pe(e,t){for(let n of t)e.classList.add(n)}function be(e,t,n){let r=J([...t.base,...t.from,...t.to]),i=!1,a=null,o=null,c=null,f=()=>{i||(i=!0,a!=null&&window.clearTimeout(a),o!=null&&cancelAnimationFrame(o),c!=null&&cancelAnimationFrame(c),_e(e,r),n())};return Pe(e,t.base),Pe(e,t.from),_e(e,t.to),o=requestAnimationFrame(()=>{c=requestAnimationFrame(()=>{if(i)return;_e(e,t.from),Pe(e,t.to);let s=Zn(e,t.durationMs);if(s<=0){f();return}a=window.setTimeout(f,s+25)})}),f}function Qn(e,t,n,r){if(t.insertBefore(e,n),!r)return;let i=G(e);i.token+=1;let a=i.token;i.cancel&&i.cancel(),i.cancel=be(e,{base:r.enter,from:r.enterFrom,to:r.enterTo,durationMs:r.enterDurationMs},()=>{let o=G(e);o.token===a&&(o.cancel=null)})}function Et(e,t,n){if(e.hasAttribute("data-forma-leaving")){n();return}if(!t){n();return}e.setAttribute("data-forma-leaving","");let r=G(e);r.token+=1;let i=r.token;r.cancel&&r.cancel(),r.cancel=be(e,{base:t.leave,from:t.leaveFrom,to:t.leaveTo,durationMs:t.leaveDurationMs},()=>{let a=G(e);a.token===i&&(a.cancel=null),e.removeAttribute("data-forma-leaving"),n()})}function er(e,t,n,r){if(!n||r){e.style.display=t?"":"none",n&&_e(e,J([...n.enter,...n.enterFrom,...n.enterTo,...n.leave,...n.leaveFrom,...n.leaveTo]));return}let i=G(e);i.token+=1;let a=i.token;if(i.cancel&&i.cancel(),i.cancel=null,t){e.style.display="",i.cancel=be(e,{base:n.enter,from:n.enterFrom,to:n.enterTo,durationMs:n.enterDurationMs},()=>{let o=G(e);o.token===a&&(o.cancel=null)});return}i.cancel=be(e,{base:n.leave,from:n.leaveFrom,to:n.leaveTo,durationMs:n.leaveDurationMs},()=>{let o=G(e);o.token===a&&(e.style.display="none",o.cancel=null)})}function tr(e,t){let n=[e,...Array.from(e.querySelectorAll("*"))];for(let r of n){let i=[];for(let a of Array.from(r.attributes))if(!Yn(a.name)&&a.value.includes("{item")){let o=kt(a.value);i.push({attr:a.name,compiled:o}),r.setAttribute(a.name,Ke(o,t))}i.length>0&&Kn.set(r,i)}}function nr(e,t){let n=0,r=e.match(/^[a-zA-Z_$]\w*/);if(!r)return null;let i=r[0];if(n=i.length,n>=e.length||e[n]!=="."&&!(e[n]==="?"&&e[n+1]==="."))return null;let a=[];for(;n<e.length;){let c=!1;if(e[n]==="?"&&e[n+1]===".")c=!0,n+=2;else if(e[n]===".")n+=1;else return null;let f=e.slice(n).match(/^\w+/);if(!f)return null;let s=f[0];if(n+=s.length,re.has(s))return()=>{};if(n<e.length&&e[n]==="("){let l=ie(e,n,"(",")");if(!l)return null;let p=l.inner.trim(),m=[];for(let u of Ve(p)){let h=x(u,t);if(!h)return null;m.push(h)}a.push({type:"call",name:s,optional:c,argFns:m}),n=l.end+1}else a.push({type:"prop",name:s,optional:c})}if(n!==e.length||a.length===0)return null;let o=i==="Math"?(()=>Math):(()=>t.getters[i]?.());return()=>{let c=o();for(let f of a){if(c==null)return f.optional,void 0;if(f.type==="prop")c=c[f.name];else{let s=c[f.name];if(typeof s!="function")return;let l=f.argFns.map(p=>p());c=s.apply(c,l)}}return c}}function x(e,t){let n=ue.get(e);if(n)return n(t);let r=rr(e,t);if(r!==null)if(e==="true"||e==="false"||e==="null"||e==="undefined"){let i=e==="true"?!0:e==="false"?!1:e==="null"?null:void 0;ce(e,()=>()=>i)}else if(xt.test(e))ce(e,i=>()=>i.getters[e]?.());else if(_t.test(e)||Rt.test(e)){let i=e.slice(1,-1);ce(e,()=>()=>i)}else if(Mt.test(e)){let i=Number(e);ce(e,()=>()=>i)}else{let i=e.match(dn);if(i){let a=i[1],o=i[2];ce(e,c=>()=>c.getters[a]?.()?.[o])}}return r}function rr(e,t){e=e.trim();let n=jn(e);if(n!==e)return x(n,t);if(_t.test(e)||Rt.test(e)){let u=e.slice(1,-1);return()=>u}if(Mt.test(e)){let u=Number(e);return()=>u}if(e==="true")return()=>!0;if(e==="false")return()=>!1;if(e==="null")return()=>null;if(e==="undefined")return()=>{};if(xt.test(e))return()=>t.getters[e]?.();{let u=nr(e,t);if(u)return u}let r=e.match(An);if(r){let u=r[1].trim(),h=r[2],E=r[3].trim();if(re.has(h))return()=>{};let S=x(u,t);if(!S)return null;let w=[];for(let y of Ve(E)){let v=x(y,t);if(!v)return null;w.push(v)}return()=>{let y=S(),v=y?.[h];if(typeof v!="function")return;let d=w.map(g=>g());return v.apply(y,d)}}if(e.startsWith("!")){let u=x(e.slice(1).trim(),t);if(u)return()=>!u()}let i=e.match(mn);if(i){let u=x(i[1],t),h,E=i[2];if(wn.test(E)?h=Number(E):h=E.slice(1,-1),u)return()=>u()?.[h]}if(e.startsWith("[")){let u=ie(e,0,"[","]");if(u&&u.end===e.length-1){let h=u.inner.trim();if(h==="")return()=>[];let E=Ve(h),S=[],w=!0;for(let y of E){let v=x(y.trim(),t);if(!v){w=!1;break}S.push(v)}if(w)return()=>S.map(y=>y())}}let a=e.match(pn);if(a){let u=x(a[1].trim(),t),h=x(a[2].trim(),t),E=x(a[3].trim(),t);if(u&&h&&E)return()=>u()?h():E()}let o=e.match(gn);if(o){let u=x(o[1].trim(),t),h=x(o[2].trim(),t);if(u&&h)return()=>u()??h()}let c=e.match(bn);if(c){let u=x(c[1].trim(),t),h=x(c[2].trim(),t);if(u&&h)return()=>u()||h()}let f=e.match(hn);if(f){let u=x(f[1].trim(),t),h=x(f[2].trim(),t);if(u&&h)return()=>u()&&h()}let s=e.match(vn);if(s){let u=x(s[1].trim(),t),h=x(s[3].trim(),t);if(u&&h){let E=s[2];return()=>{let S=u(),w=h();switch(E){case"===":return S===w;case"!==":return S!==w;case"==":return S==w;case"!=":return S!=w;case">":return S>w;case"<":return S<w;case">=":return S>=w;case"<=":return S<=w}}}}let l=e.match(yn);if(l){let u=x(l[1].trim(),t),h=x(l[3].trim(),t);if(u&&h){let E=l[2];return()=>{let S=u(),w=h();return E==="+"?S+w:S-w}}}let p=e.match(En);if(p){let u=x(p[1].trim(),t),h=x(p[3].trim(),t);if(u&&h){let E=p[2];return()=>{let S=u(),w=h();switch(E){case"*":return S*w;case"/":return S/w;case"%":return S%w}}}}let m=e.match(Sn);if(m){let u=m[1],h=[],E=[],S=0,w=new RegExp(Tn.source,"g"),y;for(;(y=w.exec(u))!==null;){h.push(u.slice(S,y.index));let v=x(y[1].trim(),t);if(!v)return null;E.push(v),S=w.lastIndex}return h.push(u.slice(S)),()=>{let v=h[0];for(let d=0;d<E.length;d++)v+=String(E[d]()??""),v+=h[d+1]??"";return v}}return null}function Dt(e,t){let n=e.get(t);return n||(n=new Map,e.set(t,n)),n}function Lt(e){return e.includes("...")?"Unsupported expression in CSP-safe mode: spread syntax detected. Use .concat() instead, or enable unsafe-eval via setUnsafeEval(true).":e.includes("=>")?"Unsupported expression in CSP-safe mode: arrow function detected. Extract logic to a data-computed attribute, or enable unsafe-eval via setUnsafeEval(true).":"Unsupported expression in CSP-safe mode. Simplify the expression or enable unsafe-eval via setUnsafeEval(true)."}function X(e,t){let n=e.replace(qe,"").trim(),r=Dt(ze,t),i=r.get(n);if(i)return i;let a=x(n,t);if(a)return r.set(n,a),a;if(!F){N("buildEvaluator: blocked unsafe eval fallback for expression:",n),ne("expression-unsupported",n,Lt(n));let c=()=>{};return r.set(n,c),c}let o=Ct(n);if(o){let c=`Blocked unsafe method "${o}" in expression`;throw ne("expression-unsupported",n,c),new Error(`[FormaJS] ${c}: ${n}`)}try{let c=new Function("__scope",`with(__scope) { return (${n}); }`),f=new Proxy(Object.create(null),{has(l,p){return p in t.getters},get(l,p){if(re.has(p))return;let m=t.getters[p];return m?m():void 0}}),s=()=>c(f);return r.set(n,s),s}catch{ne("expression-unsupported",n,"Expression too complex for CSP-safe mode. Enable unsafe-eval via FormaRuntime.unsafeEval = true, or use the standard (non-hardened) build.");let c=()=>{};return r.set(n,c),c}}function Me(e,t){let n=e.trim().replace(/;+$/g,"").trim();if(!n)return null;let r=Gn(n,t);if(r)return r;let i=Vn(n);if(i.length>1){let m=i.map(u=>Me(u,t));return m.every(u=>u!==null)?u=>{$(()=>{for(let h of m)h(u)})}:null}let a=i[0]??n,o=a.match(_n);if(o){let m=o[1],u=o[2];return()=>{$(()=>{let h=t.getters[m]?.()??0;t.setters[m]?.(u==="++"?h+1:h-1)})}}let c=a.match(Rn);if(c){let m=c[1],u=c[2];return()=>{$(()=>{let h=t.getters[u]?.()??0;t.setters[u]?.(m==="++"?h+1:h-1)})}}let f=a.match(Mn);if(f&&f[1]===f[2]){let m=f[1];return()=>{$(()=>{t.setters[m]?.(!t.getters[m]?.())})}}let s=a.match(xn);if(s){let m=s[1],u=x(s[2].trim(),t);if(u)return O&&N(`parseHandler: assignment "${m} = ..." \u2014 setter exists:`,!!t.setters[m],", getter exists:",!!t.getters[m]),()=>{$(()=>{let h=u();O&&N(`SETTER: ${m} = ${h} (was: ${t.getters[m]?.()})`),t.setters[m]?.(h)})}}let l=a.match(Cn);if(l){let m=l[1],u=l[2],h=x(l[3].trim(),t);if(h)return()=>{$(()=>{let E=t.getters[m]?.()??0,S=h();switch(u){case"+=":t.setters[m]?.(E+S);break;case"-=":t.setters[m]?.(E-S);break;case"*=":t.setters[m]?.(E*S);break;case"/=":t.setters[m]?.(E/S);break}})}}let p=a.match($n);if(p){let m=p[1];return()=>Tt(m)}return null}function ir(e,t){let n=e.trim();if(n.startsWith("{")){let c=ie(n,0,"{","}");c&&c.end===n.length-1&&(n=c.inner.trim())}let r=Dt(Je,t),i=r.get(n);if(i)return i;let a=Me(n,t);if(a){let c={handler:a,supported:!0};return r.set(n,c),c}if(!F){N("buildHandler: blocked unsafe eval fallback for expression:",n),ne("handler-unsupported",n,Lt(n));let c={handler:()=>{},supported:!1};return r.set(n,c),c}let o=Ct(n);if(o){let c=`Blocked unsafe method "${o}" in handler`;throw ne("handler-unsupported",n,c),new Error(`[FormaJS] ${c}: ${n}`)}try{let c=new Function("__scope","$event","event",`with(__scope) { ${n} }`),f=new Proxy(Object.create(null),{has(p,m){return m==="$event"||m==="event"?!1:m in t.getters||m in t.setters},get(p,m){if(re.has(m))return;let u=t.getters[m];return u?u():void 0},set(p,m,u){let h=t.setters[m];return h&&h(u),!0}}),l={handler:p=>{$(()=>c(f,p,p))},supported:!0};return r.set(n,l),l}catch{ne("handler-unsupported",n,"Expression too complex for CSP-safe mode. Enable unsafe-eval via FormaRuntime.unsafeEval = true, or use the standard (non-hardened) build.");let c={handler:()=>{},supported:!1};return r.set(n,c),c}}var sr=new Set(["__proto__","constructor","prototype"]);function Ot(e){let t;try{t=JSON.parse(e)}catch{return O&&N("parseState: Invalid JSON in data-forma-state \u2014 use valid JSON with quoted keys. Got:",e.slice(0,200)),{}}for(let n of sr)n in t&&delete t[n];return t}function or(e){let t=e.getAttribute("data-forma-state")??"{}",n=Ot(t),r=Object.keys(n);O&&(N("initScope: parsed",r.length,"keys:",r.join(", ")),r.length===0&&N("initScope: WARNING \u2014 empty state! Raw attribute:",t.slice(0,200)));let i={},a={};for(let[o,c]of Object.entries(n)){let[f,s]=te(c);i[o]=f,a[o]=s}return i.$refetch=()=>Tt,{getters:i,setters:a}}var yt=new Set(["id","className","tagName","nodeName","getAttribute","setAttribute","removeAttribute","hasAttribute","toggleAttribute","dataset","classList","textContent","innerText","value","checked","disabled","selected","type","name","placeholder","readOnly","required","min","max","step","pattern","getBoundingClientRect","offsetWidth","offsetHeight","offsetTop","offsetLeft","clientWidth","clientHeight","scrollWidth","scrollHeight","scrollTop","scrollLeft","style","hidden","focus","blur","click","scrollIntoView","scrollTo","closest","matches","querySelector","querySelectorAll","children","childElementCount","firstElementChild","lastElementChild","nextElementSibling","previousElementSibling"]);function ar(e){return new Proxy(e,{get(t,n){if(typeof n=="symbol")return Reflect.get(t,n);if(!yt.has(n))return;let r=Reflect.get(t,n);return typeof r=="function"?r.bind(t):r},set(t,n,r){return typeof n=="symbol"||!yt.has(n)?!1:Reflect.set(t,n,r)}})}function Y(e,t,n){let r={$el:ar(e),$dispatch:(y,v)=>{e.dispatchEvent(new CustomEvent(y,{bubbles:!0,composed:!0,detail:v}))}};t=$e(t,r);let i=fr(e),a=!i||i.has("data-computed")?e.getAttribute("data-computed"):null;if(a){let y=a.split(/;\s*(?=\w+\s*=[^=])/);for(let v of y){let d=v.trim();if(!d)continue;let g=d.match(Nn);if(g){let b=g[1],T=g[2],k=t.getters[b];delete t.getters[b];let R=X(`{${T}}`,t),D=De(R);t.getters[b]=D,k||delete t.setters[b]}}}let o=!i||i.has("data-text")?e.getAttribute("data-text"):null;if(o){let y=X(o,t),v=B(()=>{qn(e,Wn(y()))});n.push(v)}let c=!i||i.has("data-show")?e.getAttribute("data-show"):null;if(c){let y=X(c,t),v=Fe(e);if(O){let b=e.tagName.toLowerCase(),T=e.className?`.${String(e.className).split(" ")[0]}`:"";N(`bindElement: data-show="${c}" on <${b}${T}>`)}let d=!1,g=B(()=>{let b=!!y();O&&N(`data-show effect: "${c}" \u2192 ${b}`),er(e,b,v,!d),d=!0});n.push(g),v&&n.push(()=>we(e))}let f=!i||i.has("data-if")?e.getAttribute("data-if"):null;if(f){let y=X(f,t),v=Fe(e),d=document.createComment("forma-if"),g=e.parentNode,b=!0,T=!1,k=B(()=>{let R=!!y();R&&!b?(we(e),e.removeAttribute("data-forma-leaving"),T&&v?Qn(e,g,d,v):g?.insertBefore(e,d),b=!0):!R&&b&&(T&&v?Et(e,v,()=>{e.parentNode&&(g?.insertBefore(d,e),e.remove())}):(g?.insertBefore(d,e),e.remove()),b=!1),T=!0});n.push(k),v&&n.push(()=>we(e))}let s=!i||i.has("data-model")?e.getAttribute("data-model"):null;if(s){let y=s.replace(qe,"").trim(),v=t.getters[y],d=t.setters[y];if(v&&d){let g=e,b=B(()=>{let R=v();g.type==="checkbox"?g.checked=!!R:g.value=String(R??"")});n.push(b);let T=g.type==="checkbox"?"change":"input",k=()=>{g.type==="checkbox"?d(g.checked):g.type==="number"||g.type==="range"?d(Number(g.value)):d(g.value)};g.addEventListener(T,k),n.push(()=>{g.removeEventListener(T,k)})}}let l=!i||dr(i,"data-on:","data-class:","data-bind:"),p=e.attributes;if(l)for(let y=0;y<p.length;y++){let v=p[y],d=v.name;if(d.startsWith("data-on:")){let g=d.slice(8),b=ir(v.value,t),T=b.handler;if(O){let k=e.tagName.toLowerCase(),R=e.id?`#${e.id}`:"",D=e.className?`.${String(e.className).split(" ")[0]}`:"";N(`bindElement: data-on:${g}="${v.value}" on <${k}${R}${D}>`)}if(b.supported?e.hasAttribute("data-forma-handler-error")&&e.removeAttribute("data-forma-handler-error"):e.setAttribute("data-forma-handler-error","unsupported"),O){let k=v.value,R=D=>{N(`HANDLER FIRED: data-on:${g}="${k}"`,"isTrusted:",D.isTrusted),T(D)};e.addEventListener(g,R),n.push(()=>{e.removeEventListener(g,R)})}else e.addEventListener(g,T),n.push(()=>{e.removeEventListener(g,T)})}else if(d.startsWith("data-class:")){let g=d.slice(11),b=X(v.value,t),T=B(()=>{e.classList.toggle(g,!!b())});n.push(T)}else if(d.startsWith("data-bind:")){let g=d.slice(10),b=X(v.value,t),T=B(()=>{let k=b();k==null||k===!1?e.removeAttribute(g):e.setAttribute(g,String(k))});n.push(T)}}let m=!i||i.has("data-persist")?e.getAttribute("data-persist"):null;if(m){let y=m.replace(qe,"").trim(),v=t.getters[y],d=t.setters[y];if(v&&d){let g="forma:"+y;try{let T=localStorage.getItem(g);T!==null&&d(JSON.parse(T))}catch{}let b=B(()=>{try{localStorage.setItem(g,JSON.stringify(v()))}catch{}});n.push(b)}}let u=!i||i.has("data-list")?e.getAttribute("data-list"):null;if(u){let y=X(u,t),v=e.children[0];if(v){let D=function(C){let _=C;if(Array.isArray(_.__formaDisposers)){for(let A of _.__formaDisposers)try{A()}catch{}delete _.__formaDisposers}},j=function(C,_){let A=zn(d,C),L=$e(t,{item:C,index:_}),M=[];Y(A,L,M);for(let P of Array.from(A.querySelectorAll("*")))Y(P,L,M);return A.__formaDisposers=M,A},se=function(C,_,A){D(C),Jn(C,_);let L=$e(t,{item:_,index:A}),M=[];Y(C,L,M);for(let P of Array.from(C.querySelectorAll("*")))Y(P,L,M);C.__formaDisposers=M};var E=D,S=j,w=se;let d=v.cloneNode(!0);e.removeChild(v);let g=d.getAttribute("data-key"),b=g?g.replace(On,"").trim():null,T=Fe(e),k=[],R=[],oe=T?{onInsert:C=>{let _=C;if(!_.setAttribute)return;let A=G(_);A.token+=1;let L=A.token;A.cancel&&A.cancel(),A.cancel=be(_,{base:T.enter,from:T.enterFrom,to:T.enterTo,durationMs:T.enterDurationMs},()=>{let M=G(_);M.token===L&&(M.cancel=null)})},onBeforeRemove:(C,_)=>{let A=C;if(!A.setAttribute){_();return}D(C),Et(A,T,()=>{_()})}}:void 0,ae=B(()=>{let C=y();if(!Array.isArray(C)){for(let A of R)D(A),e.removeChild(A);k=[],R=[];return}if(T){let A=e.querySelectorAll("[data-forma-leaving]");for(let L of Array.from(A))we(L),L.removeAttribute("data-forma-leaving"),L.parentNode&&L.parentNode.removeChild(L)}let _=new Set(R);if(b){let A=Le(e,k,C,R,M=>String(M?.[b]??""),M=>{let P=C.indexOf(M);return j(M,P)},(M,P)=>{let I=C.indexOf(P);se(M,P,I)},void 0,oe),L=new Set(A.nodes);for(let M of _)if(!L.has(M)){if(M.hasAttribute?.("data-forma-leaving"))continue;D(M)}k=A.items,R=A.nodes}else{let A=C.map((I,ve)=>({__idx:ve,__item:I})),M=Le(e,k,A,R,I=>I.__idx,I=>j(I.__item,I.__idx),(I,ve)=>se(I,ve.__item,ve.__idx),void 0,oe),P=new Set(M.nodes);for(let I of _)if(!P.has(I)){if(I.hasAttribute?.("data-forma-leaving"))continue;D(I)}k=M.items,R=M.nodes}});n.push(ae)}}let h=!i||i.has("data-fetch")?e.getAttribute("data-fetch"):null;if(h){let y=h.match(Dn);if(y){let v=y[1].trim(),d=y[2].trim(),g=y[3]?.trim()??"",b="GET",T=v,k=v.match(Ln);k&&(b=k[1].toUpperCase(),T=k[2].trim());let R,D,j;for(let _ of g.split("|").filter(Boolean)){let[A,L]=_.split(":").map(M=>M.trim());A==="loading"?R=L:A==="error"?D=L:A==="poll"&&(j=parseInt(L??"0",10))}let[se,oe]=te(null);if(t.getters[d]=se,t.setters[d]=oe,R){let[_,A]=te(!1);t.getters[R]=_,t.setters[R]=A}if(D){let[_,A]=te(null);t.getters[D]=_,t.setters[D]=A}let ae=()=>{R&&t.setters[R](!0),fetch(T,{method:b}).then(_=>_.json()).then(_=>{oe(_),R&&t.setters[R](!1)}).catch(_=>{D&&t.setters[D](_.message),R&&t.setters[R](!1)})},C=e.getAttribute("data-fetch-id");if(C&&(Ue.set(C,ae),n.push(()=>Ue.delete(C))),ae(),j&&j>0){let _=setInterval(ae,j);n.push(()=>clearInterval(_))}}}}var gi=["[data-text]","[data-show]","[data-if]","[data-model]","[data-computed]","[data-persist]","[data-list]","[data-fetch]","[data-bind\\:*]","[data-class\\:*]","[data-on\\:*]","[data-transition]"].join(",");function lr(e){let t=e.attributes;for(let n=0;n<t.length;n++){let r=t[n].name;if(r.startsWith("data-text")||r.startsWith("data-show")||r.startsWith("data-if")||r.startsWith("data-model")||r.startsWith("data-computed")||r.startsWith("data-persist")||r.startsWith("data-list")||r.startsWith("data-fetch")||r.startsWith("data-on:")||r.startsWith("data-class:")||r.startsWith("data-bind:")||r.startsWith("data-transition"))return!0}return!1}var V=null;function cr(e){if(!e||Object.keys(e).length===0){V=null;return}V=new Map;for(let t in e)V.set(t,new Set(e[t]))}function ur(){if(!V||V.size===0||V.size>200)return null;let e=[];for(let t of V.keys())e.push(`[data-forma-id="${t}"]`);return e.join(",")}function fr(e){if(!V)return null;let t=e.getAttribute("data-forma-id");return t?V.get(t)??null:null}function dr(e,...t){for(let n of e)for(let r of t)if(n.startsWith(r))return!0;return!1}function Z(e){if(e.__formaDisposers){O&&N("mountScope: SKIPPED (already mounted)");return}let t=or(e),n=[],r=new Map,i=e.querySelectorAll("[data-ref]");for(let f=0;f<i.length;f++){let s=i[f],l=s.getAttribute("data-ref");l&&r.set(l,s)}let a=e.getAttribute("data-ref");a&&r.set(a,e),t.getters.$refs=()=>new Proxy({},{get(f,s){return r.get(s)??void 0},has(f,s){return r.has(s)}}),Y(e,t,n);let o=0,c=ur();if(c){let f=e.querySelectorAll(c);for(let s=0;s<f.length;s++)Y(f[s],t,n),o++}else{let f=e.querySelectorAll("*");for(let s=0;s<f.length;s++){let l=f[s];lr(l)&&(Y(l,t,n),o++)}}e.__formaDisposers=n,e.__formaScope=t,e.__formaInitialState=e.getAttribute("data-forma-state")??"{}",O&&N("mountScope: DONE \u2014",o,"elements bound,",n.length,"disposers",c?"(targeted)":"(full scan)")}function Q(e){let t=e.__formaDisposers;if(t){for(let n of t)try{n()}catch{}delete e.__formaDisposers,delete e.__formaScope,delete e.__formaInitialState}}var U=null,St=1,mr=40,me=[],he=!1;function pr(e){for(let t=0;t<e.removedNodes.length;t++){let n=e.removedNodes[t];if(n.nodeType!==St)continue;let r=n;r.hasAttribute("data-forma-state")&&(O&&N("MutationObserver: REMOVED scope"),Q(r));let i=r.querySelectorAll("[data-forma-state]");for(let a=0;a<i.length;a++)Q(i[a])}for(let t=0;t<e.addedNodes.length;t++){let n=e.addedNodes[t];if(n.nodeType!==St)continue;let r=n;if(r.closest("[data-forma-leaving]"))continue;r.hasAttribute("data-forma-state")&&(O&&N("MutationObserver: ADDED scope via mutation"),Z(r));let i=r.querySelectorAll("[data-forma-state]");O&&i.length>0&&N("MutationObserver: found",i.length,"nested scope(s) in added subtree");for(let a=0;a<i.length;a++){let o=i[a];o.closest("[data-forma-leaving]")||Z(o)}}if(e.type==="attributes"&&e.attributeName==="data-forma-state"){let t=e.target;Q(t),t.hasAttribute("data-forma-state")&&Z(t)}}async function It(){try{for(;me.length>0;){let e=me.splice(0,mr);for(let t=0;t<e.length;t++)pr(e[t]);me.length>0&&await At()}}finally{he=!1,me.length>0&&!he&&(he=!0,It())}}function gr(e){O&&N("MutationObserver: queued",e.length,"mutation(s)"),me.push(...e),!he&&(he=!0,It())}function hr(){if(U)return;U=new MutationObserver(gr);let e=document.body||document.documentElement;e&&U.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-forma-state"]})}function br(){U&&(U.disconnect(),U=null)}function Ge(){un&&wt(document,{skipIfAlreadySet:!0});let e=document.querySelectorAll("[data-forma-state]");O&&N("initRuntime: found",e.length,"scope(s)");for(let t of Array.from(e))Z(t);hr(),O&&N("initRuntime: MutationObserver started")}function vr(){br();let e=document.querySelectorAll("[data-forma-state]");for(let t of Array.from(e))Q(t)}function Er(e){e.hasAttribute("data-forma-state")&&Z(e);let t=e.querySelectorAll("[data-forma-state]");for(let n of Array.from(t))Z(n)}function yr(e){e.hasAttribute("data-forma-state")&&Q(e);let t=e.querySelectorAll("[data-forma-state]");for(let n of Array.from(t))Q(n)}typeof document<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Ge):Ge());function Sr(e){O=e}function Tr(e){H!==e&&(H=e,e==="locked-off"&&(F=!1),e==="locked-on"&&(F=!0),e==="mutable"&&(F=!0),ze=new WeakMap,Je=new WeakMap)}function Ar(e){if(H!=="mutable"){N(`setUnsafeEval ignored (mode=${H}); unsafe fallback is locked`);return}F!==e&&(F=e,ze=new WeakMap,Je=new WeakMap)}function wr(){return H}function _r(e){je=e}function Rr(){return Array.from(pe.values()).map(e=>({...e}))}function Mr(){pe.clear()}function xr(){let e=document.querySelectorAll("[data-forma-state]"),t=[];for(let n of Array.from(e)){if(n.closest("[data-forma-leaving]"))continue;let r=n.__formaScope,i=n.__formaInitialState;if(!r)continue;let a={};for(let o of Object.keys(r.getters)){let c=r.getters[o]();a[o]={value:c,type:typeof c}}t.push({element:n,id:n.getAttribute("data-forma-id")||n.id||n.tagName.toLowerCase(),values:a,initialJSON:i??"{}"})}return t}function Cr(e,t,n){let r=e.__formaScope;r?.setters[t]&&$(()=>{r.setters[t](n)})}function kr(e){let t=e.__formaScope,n=e.__formaInitialState;if(!t||!n)return;let r=Ot(n);$(()=>{for(let[i,a]of Object.entries(r))t.setters[i]?.(a)})}var Be=null;function Nr(){return Be||(Be=mt({mountScope:Z,unmountScope:Q,disconnectObserver(){U&&U.disconnect()},reconnectObserver(){if(U){let e=document.body||document.documentElement;e&&U.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-forma-state"]})}},batch:$})),Be}function Dr(e,t){Nr()(e,t)}return Ut(Lr);})();
//# sourceMappingURL=formajs-runtime-hardened.global.js.map

@@ -1,2 +0,2 @@

"use strict";var FormaRuntime=(()=>{var xe=Object.defineProperty;var Ht=Object.getOwnPropertyDescriptor;var $t=Object.getOwnPropertyNames;var Ft=Object.prototype.hasOwnProperty;var Bt=(e,t)=>{for(var n in t)xe(e,n,{get:t[n],enumerable:!0})},Pt=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of $t(t))!Ft.call(e,i)&&i!==n&&xe(e,i,{get:()=>t[i],enumerable:!(r=Ht(t,i))||r.enumerable});return e};var Ut=e=>Pt(xe({},"__esModule",{value:!0}),e);var Lr={};Bt(Lr,{applyContainmentHints:()=>wt,clearDiagnostics:()=>Mr,destroyRuntime:()=>vr,getDiagnostics:()=>Rr,getScopes:()=>xr,getUnsafeEvalMode:()=>wr,initRuntime:()=>Ge,mount:()=>Er,reconcile:()=>Dr,resetScope:()=>kr,setDebug:()=>Sr,setDiagnostics:()=>_r,setDirectiveMap:()=>cr,setScopeValue:()=>Cr,setUnsafeEval:()=>Ar,setUnsafeEvalMode:()=>Tr,unmount:()=>yr,yieldToMain:()=>At});function Xe({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:s,shallowPropagate:c};function r(o,l,p){let m=l.depsTail;if(m!==void 0&&m.dep===o)return;let u=m!==void 0?m.nextDep:l.deps;if(u!==void 0&&u.dep===o){u.version=p,l.depsTail=u;return}let h=o.subsTail;if(h!==void 0&&h.version===p&&h.sub===l)return;let E=l.depsTail=o.subsTail={version:p,dep:o,sub:l,prevDep:m,nextDep:u,prevSub:h,nextSub:void 0};u!==void 0&&(u.prevDep=E),m!==void 0?m.nextDep=E:l.deps=E,h!==void 0?h.nextSub=E:o.subs=E}function i(o,l=o.sub){let p=o.dep,m=o.prevDep,u=o.nextDep,h=o.nextSub,E=o.prevSub;return u!==void 0?u.prevDep=m:l.depsTail=m,m!==void 0?m.nextDep=u:l.deps=u,h!==void 0?h.prevSub=E:p.subsTail=E,E!==void 0?E.nextSub=h:(p.subs=h)===void 0&&n(p),u}function a(o){let l=o.nextSub,p;e:do{let m=o.sub,u=m.flags;if(u&60?u&12?u&4?!(u&48)&&d(o,m)?(m.flags=u|40,u&=1):u=0:m.flags=u&-9|32:u=0:m.flags=u|32,u&2&&t(m),u&1){let h=m.subs;if(h!==void 0){let E=(o=h).nextSub;E!==void 0&&(p={value:l,prev:p},l=E);continue}}if((o=l)!==void 0){l=o.nextSub;continue}for(;p!==void 0;)if(o=p.value,p=p.prev,o!==void 0){l=o.nextSub;continue e}break}while(!0)}function s(o,l){let p,m=0,u=!1;e:do{let h=o.dep,E=h.flags;if(l.flags&16)u=!0;else if((E&17)===17){if(e(h)){let S=h.subs;S.nextSub!==void 0&&c(S),u=!0}}else if((E&33)===33){(o.nextSub!==void 0||o.prevSub!==void 0)&&(p={value:o,prev:p}),o=h.deps,l=h,++m;continue}if(!u){let S=o.nextDep;if(S!==void 0){o=S;continue}}for(;m--;){let S=l.subs,w=S.nextSub!==void 0;if(w?(o=p.value,p=p.prev):o=S,u){if(e(l)){w&&c(S),l=o.sub;continue}u=!1}else l.flags&=-33;l=o.sub;let y=o.nextDep;if(y!==void 0){o=y;continue e}}return u}while(!0)}function c(o){do{let l=o.sub,p=l.flags;(p&48)===32&&(l.flags=p|16,(p&6)===2&&t(l))}while((o=o.nextSub)!==void 0)}function d(o,l){let p=l.depsTail;for(;p!==void 0;){if(p===o)return!0;p=p.prevDep}return!1}}var Ee=0,Ce=0,K=0,le=0,z,W=[],{link:ke,unlink:Ye,propagate:Wt,checkDirty:Ze,shallowPropagate:Qe}=Xe({update(e){return e.depsTail!==void 0?ot(e):st(e)},notify(e){let t=le,n=t;do if(W[t++]=e,e.flags&=-3,e=e.subs?.sub,e===void 0||!(e.flags&2))break;while(!0);for(le=t;n<--t;){let r=W[n];W[n++]=W[t],W[t]=r}},unwatched(e){e.flags&1?e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=17,ye(e)):lt.call(e)}});function q(e){let t=z;return z=e,t}function et(){++Ce}function tt(){--Ce||at()}function nt(e){return Gt.bind({currentValue:e,pendingValue:e,subs:void 0,subsTail:void 0,flags:1})}function rt(e){return Vt.bind({value:void 0,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:0,getter:e})}function it(e){let t={fn:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:6},n=q(t);n!==void 0&&ke(t,n,0);try{t.fn()}finally{z=n,t.flags&=-5}return jt.bind(t)}function ot(e){++Ee,e.depsTail=void 0,e.flags=5;let t=q(e);try{let n=e.value;return n!==(e.value=e.getter(n))}finally{z=t,e.flags&=-5,ye(e)}}function st(e){return e.flags=1,e.currentValue!==(e.currentValue=e.pendingValue)}function qt(e){let t=e.flags;if(t&16||t&32&&Ze(e.deps,e)){++Ee,e.depsTail=void 0,e.flags=6;let n=q(e);try{e.fn()}finally{z=n,e.flags&=-5,ye(e)}}else e.flags=2}function at(){try{for(;K<le;){let e=W[K];W[K++]=void 0,qt(e)}}finally{for(;K<le;){let e=W[K];W[K++]=void 0,e.flags|=10}K=0,le=0}}function Vt(){let e=this.flags;if(e&16||e&32&&(Ze(this.deps,this)||(this.flags=e&-33,!1))){if(ot(this)){let n=this.subs;n!==void 0&&Qe(n)}}else if(!e){this.flags=5;let n=q(this);try{this.value=this.getter()}finally{z=n,this.flags&=-5}}let t=z;return t!==void 0&&ke(this,t,Ee),this.value}function Gt(...e){if(e.length){if(this.pendingValue!==(this.pendingValue=e[0])){this.flags=17;let t=this.subs;t!==void 0&&(Wt(t),Ce||at())}}else{if(this.flags&16&&st(this)){let n=this.subs;n!==void 0&&Qe(n)}let t=z;for(;t!==void 0;){if(t.flags&3){ke(this,t,Ee);break}t=t.subs?.sub}return this.currentValue}}function jt(){lt.call(this)}function lt(){this.depsTail=void 0,this.flags=0,ye(this);let e=this.subs;e!==void 0&&Ye(e)}function ye(e){let t=e.depsTail,n=t!==void 0?t.nextDep:e.deps;for(;n!==void 0;)n=Ye(n,e)}function zt(e,t,n){if(typeof t!="function"){if(n){let s=q(void 0),c=e();if(q(s),n(c,t))return}e(t);return}let r=q(void 0),i=e();q(r);let a=t(i);n&&n(i,a)||e(a)}function te(e,t){let n=nt(e),r=n,i=t?.equals;return[r,s=>zt(n,s,i)]}var Ne=null;function ct(e){Ne&&Ne.disposers.push(e)}function ut(){return Ne!==null}var Jt=32;var Kt=[];for(let e=0;e<Jt;e++)Kt.push([]);function P(e){let t=it(e);return ut()&&ct(t),t}function De(e){return rt(e)}function H(e){et();try{e()}finally{tt()}}function ft(e){let t=e.length;if(t===0)return[];let n=new Int32Array(t),r=new Int32Array(t),i=new Int32Array(t).fill(-1),a=0;for(let d=0;d<t;d++){let o=e[d],l=0,p=a;for(;l<p;){let m=l+p>>1;n[m]<o?l=m+1:p=m}n[l]=o,r[l]=d,l>0&&(i[d]=r[l-1]),l>=a&&a++}let s=new Array(a),c=r[a-1];for(let d=a-1;d>=0;d--)s[d]=c,c=i[c];return s}var Xt=32;function Yt(e,t,n,r,i,a,s,c,d){let o=t.length,l=n.length,p=new Array(o);for(let f=0;f<o;f++)p[f]=i(t[f]);let m=new Array(l),u=new Uint8Array(o);for(let f=0;f<l;f++){let g=i(n[f]),b=-1;for(let T=0;T<o;T++)if(!u[T]&&p[T]===g){b=T,u[T]=1;break}m[f]=b}for(let f=0;f<o;f++)if(!u[f])if(d?.onBeforeRemove){let g=r[f];d.onBeforeRemove(g,()=>{g.parentNode&&g.parentNode.removeChild(g)})}else e.removeChild(r[f]);if(o===l){let f=!0;for(let g=0;g<l;g++)if(m[g]!==g){f=!1;break}if(f){let g=new Array(l);for(let b=0;b<l;b++){let T=r[b];s(T,n[b]),g[b]=T}return{nodes:g,items:n}}}let h=[],E=[];for(let f=0;f<l;f++)m[f]!==-1&&(h.push(m[f]),E.push(f));let S=ft(h),w=new Uint8Array(l);for(let f of S)w[E[f]]=1;let y=new Array(l),v=c??null;for(let f=l-1;f>=0;f--){let g,b=!1;if(m[f]===-1)g=a(n[f]),b=!0;else if(g=r[m[f]],s(g,n[f]),w[f]){y[f]=g,v=g;continue}v?e.insertBefore(g,v):e.appendChild(g),b&&d?.onInsert?.(g),y[f]=g,v=g}return{nodes:y,items:n}}function Le(e,t,n,r,i,a,s,c,d){let o=t.length,l=n.length;if(l===0){for(let f=0;f<o;f++)if(d?.onBeforeRemove){let g=r[f];d.onBeforeRemove(g,()=>{g.parentNode&&g.parentNode.removeChild(g)})}else e.removeChild(r[f]);return{nodes:[],items:[]}}if(o===0){let f=new Array(l);for(let g=0;g<l;g++){let b=a(n[g]);c?e.insertBefore(b,c):e.appendChild(b),d?.onInsert?.(b),f[g]=b}return{nodes:f,items:n}}if(o<Xt)return Yt(e,t,n,r,i,a,s,c,d);let p=new Map;for(let f=0;f<o;f++)p.set(i(t[f]),f);let m=new Array(l),u=new Uint8Array(o);for(let f=0;f<l;f++){let g=i(n[f]),b=p.get(g);b!==void 0?(m[f]=b,u[b]=1):m[f]=-1}for(let f=0;f<o;f++)if(!u[f])if(d?.onBeforeRemove){let g=r[f];d.onBeforeRemove(g,()=>{g.parentNode&&g.parentNode.removeChild(g)})}else e.removeChild(r[f]);if(o===l){let f=!0;for(let g=0;g<l;g++)if(m[g]!==g){f=!1;break}if(f){let g=new Array(l);for(let b=0;b<l;b++){let T=r[b];s(T,n[b]),g[b]=T}return{nodes:g,items:n}}}let h=[],E=[];for(let f=0;f<l;f++)m[f]!==-1&&(h.push(m[f]),E.push(f));let S=ft(h),w=new Uint8Array(l);for(let f of S)w[E[f]]=1;let y=new Array(l),v=c??null;for(let f=l-1;f>=0;f--){let g,b=!1;if(m[f]===-1)g=a(n[f]),b=!0;else if(g=r[m[f]],s(g,n[f]),w[f]){y[f]=g,v=g;continue}v?e.insertBefore(g,v):e.appendChild(g),b&&d?.onInsert?.(g),y[f]=g,v=g}return{nodes:y,items:n}}function Zt(e){let t=new Set,n=e.attributes;for(let r=0;r<n.length;r++){let i=n[r].name;i.startsWith("data-bind:")&&t.add(i.slice(10))}return t}function Qt(e){return e.hasAttribute("data-list")||e.hasAttribute("data-if")}function dt(e){try{let t=JSON.parse(e);return Object.keys(t).sort()}catch{return[]}}function en(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function tn(e,t){let n=e.getAttribute("data-module"),r=t.getAttribute("data-module");if(n!==r)return"REPLACE";let a=e.__formaInitialState??e.getAttribute("data-forma-state")??"{}",s=t.getAttribute("data-forma-state")??"{}",c=dt(a),d=dt(s);return en(c,d)?"PRESERVE":"RESET"}var Se=null;function nn(e){return Se||(Se=document.createElement("template")),Se.innerHTML=e,Se.content}function Oe(e,t){let n=Zt(e),r=e.hasAttribute("data-show"),i=e.hasAttribute("data-model"),a=!1,s=e.attributes;for(let d=0;d<s.length;d++)if(s[d].name.startsWith("data-class:")){a=!0;break}let c=t.attributes;for(let d=0;d<c.length;d++){let o=c[d];if(o.name==="style"&&r||o.name==="class"&&a||(o.name==="value"||o.name==="checked")&&i||n.has(o.name))continue;e.getAttribute(o.name)!==o.value&&e.setAttribute(o.name,o.value)}for(let d=s.length-1;d>=0;d--){let o=s[d];if(!t.hasAttribute(o.name)){if(o.name==="style"&&r||o.name==="class"&&a||(o.name==="value"||o.name==="checked")&&i||n.has(o.name))continue;e.removeAttribute(o.name)}}}function rn(e,t){if(e.hasAttribute("data-text"))return;let n=[],r=[];for(let s of Array.from(e.childNodes))s.nodeType===Node.TEXT_NODE&&n.push(s);for(let s=0;s<t.childNodes.length;s++){let c=t.childNodes[s];c.nodeType===Node.TEXT_NODE&&r.push({node:c,index:s})}if(n.length===r.length){for(let s=0;s<n.length;s++)n[s].textContent!==r[s].node.textContent&&(n[s].textContent=r[s].node.textContent);return}let i=new Set,a=0;for(let{node:s,index:c}of r)if(a<n.length){let d=n[a];a++,i.add(d),d.textContent!==s.textContent&&(d.textContent=s.textContent)}else{let d=on(e,t,c);e.insertBefore(document.createTextNode(s.textContent??""),d)}for(let s of n)!i.has(s)&&s.parentNode===e&&e.removeChild(s)}function on(e,t,n){for(let r=n+1;r<t.childNodes.length;r++){let i=t.childNodes[r];if(i.nodeType===Node.ELEMENT_NODE){let a=i.getAttribute("data-forma-id");if(a){let s=e.querySelector(`[data-forma-id="${CSS.escape(a)}"]`);if(s&&s.parentElement===e)return s}}}return null}function Ie(e,t,n){if(Qt(e))return;rn(e,t);let r=Array.from(e.children),i=Array.from(t.children),a=new Map,s=[];for(let o of r){if(o.hasAttribute("data-forma-leaving"))continue;let l=o.getAttribute("data-forma-id");l?a.set(l,o):s.push(o)}let c=0,d=new Set;for(let o of i){let l=o.getAttribute("data-forma-id"),p;if(l)p=a.get(l);else for(;c<s.length;){let m=s[c];if(c++,m.tagName===o.tagName&&!d.has(m)){p=m;break}}if(p){if(d.add(p),p.hasAttribute("data-forma-state")&&o.hasAttribute("data-forma-state"))switch(tn(p,o)){case"PRESERVE":Oe(p,o),Ie(p,o,n);break;case"RESET":n.unmountScope(p),Oe(p,o),sn(p,o),n.mountScope(p);break;case"REPLACE":{n.unmountScope(p);let u=o.cloneNode(!0);e.replaceChild(u,p),n.mountScope(u),d.delete(p),p=u,d.add(u);break}}else Oe(p,o),Ie(p,o,n);an(e,p,o,i)}else{let m=o.cloneNode(!0),u=ln(e,o,i);e.insertBefore(m,u),d.add(m),m.hasAttribute("data-forma-state")&&n.mountScope(m);let h=m.querySelectorAll("[data-forma-state]");for(let E of Array.from(h))n.mountScope(E)}}for(let o of r)if(!d.has(o)){if(o.parentElement!==e||o.hasAttribute("data-forma-leaving"))continue;o.hasAttribute("data-forma-state")&&n.unmountScope(o);let l=o.querySelectorAll("[data-forma-state]");for(let p of Array.from(l))n.unmountScope(p);e.removeChild(o)}}function sn(e,t){for(;e.firstChild;)e.removeChild(e.firstChild);for(let n of Array.from(t.childNodes))e.appendChild(n.cloneNode(!0))}function an(e,t,n,r){let i=r.indexOf(n);if(Array.from(e.children).indexOf(t)!==i){let c=r[i+1];if(c){let d=c.getAttribute("data-forma-id");if(d){let o=e.querySelector(`[data-forma-id="${CSS.escape(d)}"]`);if(o&&o.parentElement===e){e.insertBefore(t,o);return}}}e.appendChild(t)}}function ln(e,t,n){let r=n.indexOf(t);for(let i=r+1;i<n.length;i++){let a=n[i].getAttribute("data-forma-id");if(a){let s=e.querySelector(`[data-forma-id="${CSS.escape(a)}"]`);if(s&&s.parentElement===e)return s}}return null}function mt(e){let t="";return function(r,i){let a=i.trim();if(a&&!(a===t&&r.hasChildNodes())){t=a,e.disconnectObserver();try{if(!r.hasChildNodes()||r.children.length===0){r.innerHTML=a,e.batch(()=>{let l=r.querySelectorAll("[data-forma-state]");for(let p of Array.from(l))e.mountScope(p)});return}let s=nn(a),c=document.createElement("div");c.appendChild(s);let d=new Set;for(let l of Array.from(r.children)){if(l.hasAttribute("data-forma-leaving"))continue;let p=l.getAttribute("data-forma-id");p&&d.add(p)}let o=!1;if(d.size>0)for(let l of Array.from(c.children)){let p=l.getAttribute("data-forma-id");if(p&&d.has(p)){o=!0;break}}if(d.size>0&&!o){e.batch(()=>{let l=r.querySelectorAll("[data-forma-state]");for(let m of Array.from(l))e.unmountScope(m);r.innerHTML=a;let p=r.querySelectorAll("[data-forma-state]");for(let m of Array.from(p))e.mountScope(m)});return}e.batch(()=>{Ie(r,c,e)})}finally{e.reconnectObserver()}}}}var Ue=new Map;function Tt(e){let t=Ue.get(e);t?t():O&&N(`$refetch: no data-fetch with id "${e}" found`)}function He(e,t){let n=Object.create(null);for(let r of Object.keys(t))n[r]=()=>t[r];return{getters:new Proxy(e.getters,{get(r,i){return i in n?n[i]:r[i]},has(r,i){return i in n||i in r}}),setters:e.setters}}var O=!1,$="mutable",F=!1,je=!0;function N(...e){(O||typeof window<"u"&&window.__FORMA_DEBUG)&&console.log("[FormaJS]",...e)}var pe=new Map;function Te(e){if(e==null)return;let t=e.trim().toLowerCase();if(t==="1"||t==="true"||t==="on"||t==="yes")return!0;if(t==="0"||t==="false"||t==="off"||t==="no")return!1}function We(e){if(e==null)return;let t=e.trim().toLowerCase();if(t==="mutable")return"mutable";if(t==="locked-off"||t==="off"||t==="disabled")return"locked-off";if(t==="locked-on"||t==="on"||t==="enabled")return"locked-on"}function cn(){let e={};if(typeof window<"u"){let t=window.__FORMA_RUNTIME_CONFIG;if(t){if(typeof t.allowUnsafeEval=="boolean"&&(e.allowUnsafeEval=t.allowUnsafeEval),typeof t.unsafeEvalMode=="string"){let n=We(t.unsafeEvalMode);n&&(e.unsafeEvalMode=n)}typeof t.lockUnsafeEval=="boolean"&&(e.lockUnsafeEval=t.lockUnsafeEval),typeof t.diagnostics=="boolean"&&(e.diagnostics=t.diagnostics),typeof t.autoContainment=="boolean"&&(e.autoContainment=t.autoContainment)}}if(typeof document<"u"){let t=document.currentScript;if(t){let n=Te(t.getAttribute("data-forma-unsafe-eval"));n!==void 0&&(e.allowUnsafeEval=n);let r=We(t.getAttribute("data-forma-unsafe-eval-mode"));r!==void 0&&(e.unsafeEvalMode=r);let i=Te(t.getAttribute("data-forma-lock-unsafe-eval"));i!==void 0&&(e.lockUnsafeEval=i);let a=Te(t.getAttribute("data-forma-diagnostics"));a!==void 0&&(e.diagnostics=a);let s=Te(t.getAttribute("data-forma-auto-containment"));s!==void 0&&(e.autoContainment=s)}}return e}function ne(e,t,n){if(!je)return;let r=`${e}|${n}|${t}`,i=Date.now(),a=pe.get(r);a?(a.count+=1,a.lastSeenAt=i):(pe.set(r,{kind:e,expr:t,reason:n,count:1,firstSeenAt:i,lastSeenAt:i}),console.warn(`[FormaJS] ${n}: ${t}`));try{if(typeof window<"u"){let s={kind:e,expr:t,reason:n,count:pe.get(r)?.count??1};window.dispatchEvent(new CustomEvent("formajs:diagnostic",{detail:s}))}}catch{}}var pt=We("mutable");pt&&($=pt,$==="locked-off"&&(F=!1),$==="locked-on"&&(F=!0),$==="mutable"&&(F=!0));var ee=cn(),gt=ee.lockUnsafeEval?"locked-off":ee.unsafeEvalMode;gt&&($=gt,$==="locked-off"&&(F=!1),$==="locked-on"&&(F=!0));$==="mutable"&&typeof ee.allowUnsafeEval=="boolean"&&(F=ee.allowUnsafeEval);typeof ee.diagnostics=="boolean"&&(je=ee.diagnostics);var un=ee.autoContainment===!0;function fn(){let e=globalThis?.scheduler;if(e&&(typeof e.yield=="function"||typeof e.postTask=="function"))return e}async function At(){let e=fn();if(e?.yield){await e.yield();return}if(e?.postTask){await e.postTask(()=>{},{priority:"background"});return}await new Promise(t=>setTimeout(t,0))}function wt(e=document,t={}){let n=t.selector??"[data-forma-contain]";if(!n||typeof e.querySelectorAll!="function")return 0;let r=e.querySelectorAll(n),i=0;for(let a=0;a<r.length;a++){let s=r[a];if(!s?.style)continue;let c=s.getAttribute("data-forma-contain")??t.contain??"layout style paint",d=s.getAttribute("data-forma-content-visibility")??t.contentVisibility??"auto",o=s.getAttribute("data-forma-contain-intrinsic-size")??t.containIntrinsicSize??"auto 800px",l=t.skipIfAlreadySet===!0,p=!1,m=s.style.getPropertyValue("contain"),u=s.style.getPropertyValue("content-visibility"),h=s.style.getPropertyValue("contain-intrinsic-size");c!=="off"&&(!l||!m)&&(s.style.setProperty("contain",c),p=!0),d!=="off"&&(!l||!u)&&(s.style.setProperty("content-visibility",d),p=!0),o!=="off"&&(!l||!h)&&(s.style.setProperty("contain-intrinsic-size",o),p=!0),p&&i++}return O&&i>0&&N("applyContainmentHints: applied to",i,"element(s)"),i}var _t=/^'[^']*'$/,Rt=/^"[^"]*"$/,Mt=/^-?\d+(\.\d+)?$/,xt=/^[a-zA-Z_$]\w*$/,dn=/^(\w+)\.(\w+)$/;var mn=/^(\w+)\[(\d+|'[^']*'|"[^"]*")\]$/,pn=/^(.+?)\s*\?\s*(.+?)\s*:\s*(.+)$/,gn=/^(.+?)\s*\?\?\s*(.+)$/,hn=/^(.+?)\s*&&\s*(.+)$/,bn=/^(.+?)\s*\|\|\s*(.+)$/,vn=/^(.+?)\s*(===|!==|==|!=|>=|<=|>|<)\s*(.+)$/,En=/^(.+?)\s*([*/%])\s*(.+)$/,yn=/^(.+?)\s*([+-])\s*(.+)$/,Sn=/^`([^`]*)`$/,Tn=/\$\{([^}]+)\}/g;var An=/^\((.+)\)\.(\w+)\((.*)\)$/,qe=/^\{|\}$/g;var wn=/^\d+$/,_n=/^(\w+)(\+\+|--)$/,Rn=/^(\+\+|--)(\w+)$/,Mn=/^(\w+)\s*=\s*!(\w+)$/,xn=/^(\w+)\s*=\s*(.+)$/,Cn=/^(\w+)\s*(\+=|-=|\*=|\/=)\s*(.+)$/,kn=/^if\b/,Nn=/^(\w+)\s*=\s*(.+)$/,Dn=/^(.+?)(?:→|->)\s*(\S+)(.*)$/,Ln=/^(GET|POST|PUT|PATCH|DELETE)\s+(.+)$/i,On=/^\{item\.?|\}$/g,In=/\bevent\s*[.([]|\$event\b/,Hn=/^\$refetch\(\s*['"]([^'"]+)['"]\s*\)$/,Re=Symbol.for("forma-transition-state"),$n=2048,ue=new Map;function ce(e,t){if(ue.size>=$n){let n=ue.keys().next().value;n!==void 0&&ue.delete(n)}ue.set(e,t)}var ze=new WeakMap,Je=new WeakMap,fe=new Map,Fn=2048;function Bn(e,t){if(fe.size>=Fn){let n=fe.keys().next().value;n!==void 0&&fe.delete(n)}fe.set(e,t)}var re=new Set(["constructor","__proto__","prototype","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__","eval","Function"]),Pn=(()=>{let e=[];for(let t of re){let n=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e.push({name:t,dotRe:new RegExp(`(?:^|\\.)${n}(?:\\s*\\(|\\s*$|[^\\w$])`,"m"),bracketRe:new RegExp(`\\[\\s*(?:'${n}'|"${n}"|\``+n+"`)\\s*\\]")})}return e})();function Ct(e){let t=e.replace(/\/\*[\s\S]*?\*\//g,"");t=t.replace(/\/\/[^\n]*/g,""),t=t.replace(/\s*\.\s*/g,".");for(let{name:n,dotRe:r,bracketRe:i}of Pn)if(r.test(t)||i.test(t))return n;if(t.includes("[")){let n=Un(t);for(let r of n){if(!r.includes("+"))continue;let i=r.match(/['"`]([^'"`]*?)['"`]/g);if(!i)continue;let a=i.map(s=>s.slice(1,-1)).join("");if(re.has(a))return a}}return null}function Un(e){let t=[],n=0,r=-1;for(let i=0;i<e.length;i++)e[i]==="["?(n===0&&(r=i+1),n++):e[i]==="]"&&(n--,n===0&&r>=0&&(t.push(e.slice(r,i)),r=-1));return t}var ht=Symbol.for("forma-text-binding-cache");function Wn(e){return e==null?"":typeof e=="string"?e:typeof e=="symbol"?e.toString():String(e)}function qn(e,t){let n=e[ht];if(n||(n={initialized:!1,last:"",node:null},e[ht]=n),n.initialized&&n.last===t)return;let r=n.node;if(!r||r.parentNode!==e||e.childNodes.length!==1||e.firstChild!==r)if(e.childNodes.length===1&&e.firstChild?.nodeType===Node.TEXT_NODE)r=e.firstChild,n.node=r;else{e.textContent=t;let i=e.firstChild;n.node=i&&i.nodeType===Node.TEXT_NODE&&e.childNodes.length===1?i:null,n.last=t,n.initialized=!0;return}r.data=t,n.last=t,n.initialized=!0}function Ve(e){let t=[];if(e.trim()==="")return t;let n=0,r=!1,i=!1,a=!1,s=0;for(let c=0;c<e.length;c++){let d=e[c];if(a){a=!1;continue}if(d==="\\"){a=!0;continue}if(r){d==="'"&&(r=!1);continue}if(i){d==='"'&&(i=!1);continue}if(d==="'"){r=!0;continue}if(d==='"'){i=!0;continue}if(d==="("){n++;continue}if(d===")"){n>0&&n--;continue}d===","&&n===0&&(t.push(e.slice(s,c).trim()),s=c+1)}return t.push(e.slice(s).trim()),t.filter(Boolean)}function ie(e,t,n,r){if(e[t]!==n)return null;let i=0,a=!1,s=!1,c=!1,d=!1;for(let o=t;o<e.length;o++){let l=e[o];if(d){d=!1;continue}if(l==="\\"&&(a||s||c)){d=!0;continue}if(a){l==="'"&&(a=!1);continue}if(s){l==='"'&&(s=!1);continue}if(c){l==="`"&&(c=!1);continue}if(l==="'"){a=!0;continue}if(l==='"'){s=!0;continue}if(l==="`"){c=!0;continue}if(l===n){i++;continue}if(l===r&&(i--,i===0))return{inner:e.slice(t+1,o),end:o}}return null}function Vn(e){let t=e.trim();if(!t)return[];let n=[],r=0,i=0,a=0,s=!1,c=!1,d=!1,o=!1,l=0;for(let m=0;m<t.length;m++){let u=t[m];if(o){o=!1;continue}if(u==="\\"&&(s||c||d)){o=!0;continue}if(s){u==="'"&&(s=!1);continue}if(c){u==='"'&&(c=!1);continue}if(d){u==="`"&&(d=!1);continue}if(u==="'"){s=!0;continue}if(u==='"'){c=!0;continue}if(u==="`"){d=!0;continue}if(u==="("?r++:u===")"&&r>0?r--:u==="{"?i++:u==="}"&&i>0?i--:u==="["?a++:u==="]"&&a>0&&a--,u===";"&&r===0&&i===0&&a===0){let h=t.slice(l,m).trim();h&&n.push(h),l=m+1}}let p=t.slice(l).trim();return p&&n.push(p),n}function bt(e){let t=e.trim();if(!t)return null;if(t.startsWith("{")){let o=ie(t,0,"{","}");if(!o)return null;let l=o.inner.trim(),p=t.slice(o.end+1).trim();return p.startsWith(";")&&(p=p.slice(1).trim()),{body:l,rest:p}}let n=0,r=0,i=0,a=!1,s=!1,c=!1,d=!1;for(let o=0;o<t.length;o++){let l=t[o];if(d){d=!1;continue}if(l==="\\"&&(a||s||c)){d=!0;continue}if(a){l==="'"&&(a=!1);continue}if(s){l==='"'&&(s=!1);continue}if(c){l==="`"&&(c=!1);continue}if(l==="'"){a=!0;continue}if(l==='"'){s=!0;continue}if(l==="`"){c=!0;continue}if(l==="("?n++:l===")"&&n>0?n--:l==="{"?r++:l==="}"&&r>0?r--:l==="["?i++:l==="]"&&i>0&&i--,l===";"&&n===0&&r===0&&i===0)return{body:t.slice(0,o).trim(),rest:t.slice(o+1).trim()}}return{body:t,rest:""}}function Gn(e,t){let n=e.trim();if(!kn.test(n)||In.test(n))return null;let r=2;for(;r<n.length&&/\s/.test(n[r]);)r++;if(n[r]!=="(")return null;let i=ie(n,r,"(",")");if(!i)return null;let a=x(i.inner.trim(),t);if(!a)return null;let s=n.slice(i.end+1).trim(),c=bt(s);if(!c||!c.body)return null;let d=Me(c.body,t);if(!d)return null;s=c.rest.trim();let o=null;if(s.startsWith("else")){s=s.slice(4).trim();let l=bt(s);if(!l||!l.body||(o=Me(l.body,t),!o))return null;s=l.rest.trim()}return s.length>0?null:l=>{H(()=>{a()?d(l):o?.(l)})}}function jn(e){let t=e.trim();for(;t.startsWith("(");){let n=ie(t,0,"(",")");if(!n||n.end!==t.length-1)break;let r=n.inner.trim();if(!r)break;t=r}return t}function kt(e){let t=fe.get(e);if(t)return t;let n=[],r=[],i=0,a=/\{item\.?(\w*)\}/g,s;for(;(s=a.exec(e))!==null;)n.push(e.slice(i,s.index)),r.push(s[1]),i=a.lastIndex;n.push(e.slice(i));let c={statics:n,dynamics:r,hasItemRef:r.length>0};return Bn(e,c),c}var Nt=new WeakMap;function Ke(e,t){if(!e.hasItemRef)return e.statics[0];let n=e.statics[0];for(let r=0;r<e.dynamics.length;r++){let i=e.dynamics[r];i?n+=String(t?.[i]??""):n+=typeof t=="object"?JSON.stringify(t):String(t??""),n+=e.statics[r+1]??""}return n}function zn(e,t){let n=e.cloneNode(!0),r=document.createTreeWalker(n,NodeFilter.SHOW_TEXT);for(;r.nextNode();){let i=r.currentNode,a=i.textContent??"";if(a.includes("{item")){let s=kt(a);Nt.set(i,s),i.textContent=Ke(s,t)}}return tr(n,t),n}function Jn(e,t){let n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);for(;n.nextNode();){let r=n.currentNode,i=Nt.get(r);i&&(r.textContent=Ke(i,t))}}var Kn=new WeakMap,Xn=["data-list","data-show","data-text","data-if","data-model","data-on:","data-class:","data-bind:","data-computed","data-persist","data-fetch","data-transition","data-transition:"];function Yn(e){for(let t of Xn)if(e===t||e.startsWith(t))return!0;return!1}function de(e){return e?e.trim().split(/\s+/).map(t=>t.trim()).filter(Boolean):[]}function ge(e){let t=e.trim().toLowerCase();if(t.endsWith("ms")){let n=Number(t.slice(0,-2));return Number.isFinite(n)&&n>=0?n:null}if(t.endsWith("s")){let n=Number(t.slice(0,-1));return Number.isFinite(n)&&n>=0?n*1e3:null}return null}function $e(e){let t=[],n;for(let r of de(e)){let i=ge(r);i!=null?n=i:t.push(r)}return{classes:t,durationMs:n}}function J(e){return Array.from(new Set(e.filter(Boolean)))}function Ae(e){return e?e.split(",").map(t=>ge(t.trim())).filter(t=>t!=null):[]}function vt(e,t){if(e.length===0&&t.length===0)return 0;if(e.length===0)return Math.max(...t,0);if(t.length===0)return Math.max(...e,0);let n=Math.max(e.length,t.length),r=0;for(let i=0;i<n;i++){let a=e[i%e.length]??0,s=t[i%t.length]??0;a+s>r&&(r=a+s)}return r}function Zn(e,t){if(typeof t=="number")return t;let n=window.getComputedStyle(e),r=vt(Ae(n.transitionDuration),Ae(n.transitionDelay)),i=vt(Ae(n.animationDuration),Ae(n.animationDelay));return Math.max(r,i)}function G(e){let t=e[Re];if(t)return t;let n={token:0,cancel:null};return e[Re]=n,n}function we(e){let t=e[Re];t?.cancel&&t.cancel(),delete e[Re]}function Fe(e){if(!(e.hasAttribute("data-transition")||Array.from(e.attributes).some(m=>m.name.startsWith("data-transition:"))))return null;let n=$e(e.getAttribute("data-transition")).classes,r=$e(e.getAttribute("data-transition:enter")),i=$e(e.getAttribute("data-transition:leave")),a=de(e.getAttribute("data-transition:enter-from")??e.getAttribute("data-transition:enter-start")),s=de(e.getAttribute("data-transition:enter-to")??e.getAttribute("data-transition:enter-end")),c=de(e.getAttribute("data-transition:leave-from")??e.getAttribute("data-transition:leave-start")),d=de(e.getAttribute("data-transition:leave-to")??e.getAttribute("data-transition:leave-end")),o=ge(e.getAttribute("data-transition:duration")??""),l=ge(e.getAttribute("data-transition:duration-enter")??"")??r.durationMs??o??void 0,p=ge(e.getAttribute("data-transition:duration-leave")??"")??i.durationMs??o??void 0;return{enter:J([...n,...r.classes]),enterFrom:J(a),enterTo:J(s),leave:J([...n,...i.classes]),leaveFrom:J(c),leaveTo:J(d),enterDurationMs:l,leaveDurationMs:p}}function _e(e,t){for(let n of t)e.classList.remove(n)}function Be(e,t){for(let n of t)e.classList.add(n)}function be(e,t,n){let r=J([...t.base,...t.from,...t.to]),i=!1,a=null,s=null,c=null,d=()=>{i||(i=!0,a!=null&&window.clearTimeout(a),s!=null&&cancelAnimationFrame(s),c!=null&&cancelAnimationFrame(c),_e(e,r),n())};return Be(e,t.base),Be(e,t.from),_e(e,t.to),s=requestAnimationFrame(()=>{c=requestAnimationFrame(()=>{if(i)return;_e(e,t.from),Be(e,t.to);let o=Zn(e,t.durationMs);if(o<=0){d();return}a=window.setTimeout(d,o+25)})}),d}function Qn(e,t,n,r){if(t.insertBefore(e,n),!r)return;let i=G(e);i.token+=1;let a=i.token;i.cancel&&i.cancel(),i.cancel=be(e,{base:r.enter,from:r.enterFrom,to:r.enterTo,durationMs:r.enterDurationMs},()=>{let s=G(e);s.token===a&&(s.cancel=null)})}function Et(e,t,n){if(e.hasAttribute("data-forma-leaving")){n();return}if(!t){n();return}e.setAttribute("data-forma-leaving","");let r=G(e);r.token+=1;let i=r.token;r.cancel&&r.cancel(),r.cancel=be(e,{base:t.leave,from:t.leaveFrom,to:t.leaveTo,durationMs:t.leaveDurationMs},()=>{let a=G(e);a.token===i&&(a.cancel=null),e.removeAttribute("data-forma-leaving"),n()})}function er(e,t,n,r){if(!n||r){e.style.display=t?"":"none",n&&_e(e,J([...n.enter,...n.enterFrom,...n.enterTo,...n.leave,...n.leaveFrom,...n.leaveTo]));return}let i=G(e);i.token+=1;let a=i.token;if(i.cancel&&i.cancel(),i.cancel=null,t){e.style.display="",i.cancel=be(e,{base:n.enter,from:n.enterFrom,to:n.enterTo,durationMs:n.enterDurationMs},()=>{let s=G(e);s.token===a&&(s.cancel=null)});return}i.cancel=be(e,{base:n.leave,from:n.leaveFrom,to:n.leaveTo,durationMs:n.leaveDurationMs},()=>{let s=G(e);s.token===a&&(e.style.display="none",s.cancel=null)})}function tr(e,t){let n=[e,...Array.from(e.querySelectorAll("*"))];for(let r of n){let i=[];for(let a of Array.from(r.attributes))if(!Yn(a.name)&&a.value.includes("{item")){let s=kt(a.value);i.push({attr:a.name,compiled:s}),r.setAttribute(a.name,Ke(s,t))}i.length>0&&Kn.set(r,i)}}function nr(e,t){let n=0,r=e.match(/^[a-zA-Z_$]\w*/);if(!r)return null;let i=r[0];if(n=i.length,n>=e.length||e[n]!=="."&&!(e[n]==="?"&&e[n+1]==="."))return null;let a=[];for(;n<e.length;){let c=!1;if(e[n]==="?"&&e[n+1]===".")c=!0,n+=2;else if(e[n]===".")n+=1;else return null;let d=e.slice(n).match(/^\w+/);if(!d)return null;let o=d[0];if(n+=o.length,re.has(o))return()=>{};if(n<e.length&&e[n]==="("){let l=ie(e,n,"(",")");if(!l)return null;let p=l.inner.trim(),m=[];for(let u of Ve(p)){let h=x(u,t);if(!h)return null;m.push(h)}a.push({type:"call",name:o,optional:c,argFns:m}),n=l.end+1}else a.push({type:"prop",name:o,optional:c})}if(n!==e.length||a.length===0)return null;let s=i==="Math"?(()=>Math):(()=>t.getters[i]?.());return()=>{let c=s();for(let d of a){if(c==null)return d.optional,void 0;if(d.type==="prop")c=c[d.name];else{let o=c[d.name];if(typeof o!="function")return;let l=d.argFns.map(p=>p());c=o.apply(c,l)}}return c}}function x(e,t){let n=ue.get(e);if(n)return n(t);let r=rr(e,t);if(r!==null)if(e==="true"||e==="false"||e==="null"||e==="undefined"){let i=e==="true"?!0:e==="false"?!1:e==="null"?null:void 0;ce(e,()=>()=>i)}else if(xt.test(e))ce(e,i=>()=>i.getters[e]?.());else if(_t.test(e)||Rt.test(e)){let i=e.slice(1,-1);ce(e,()=>()=>i)}else if(Mt.test(e)){let i=Number(e);ce(e,()=>()=>i)}else{let i=e.match(dn);if(i){let a=i[1],s=i[2];ce(e,c=>()=>c.getters[a]?.()?.[s])}}return r}function rr(e,t){e=e.trim();let n=jn(e);if(n!==e)return x(n,t);if(_t.test(e)||Rt.test(e)){let u=e.slice(1,-1);return()=>u}if(Mt.test(e)){let u=Number(e);return()=>u}if(e==="true")return()=>!0;if(e==="false")return()=>!1;if(e==="null")return()=>null;if(e==="undefined")return()=>{};if(xt.test(e))return()=>t.getters[e]?.();{let u=nr(e,t);if(u)return u}let r=e.match(An);if(r){let u=r[1].trim(),h=r[2],E=r[3].trim();if(re.has(h))return()=>{};let S=x(u,t);if(!S)return null;let w=[];for(let y of Ve(E)){let v=x(y,t);if(!v)return null;w.push(v)}return()=>{let y=S(),v=y?.[h];if(typeof v!="function")return;let f=w.map(g=>g());return v.apply(y,f)}}if(e.startsWith("!")){let u=x(e.slice(1).trim(),t);if(u)return()=>!u()}let i=e.match(mn);if(i){let u=x(i[1],t),h,E=i[2];if(wn.test(E)?h=Number(E):h=E.slice(1,-1),u)return()=>u()?.[h]}if(e.startsWith("[")){let u=ie(e,0,"[","]");if(u&&u.end===e.length-1){let h=u.inner.trim();if(h==="")return()=>[];let E=Ve(h),S=[],w=!0;for(let y of E){let v=x(y.trim(),t);if(!v){w=!1;break}S.push(v)}if(w)return()=>S.map(y=>y())}}let a=e.match(pn);if(a){let u=x(a[1].trim(),t),h=x(a[2].trim(),t),E=x(a[3].trim(),t);if(u&&h&&E)return()=>u()?h():E()}let s=e.match(gn);if(s){let u=x(s[1].trim(),t),h=x(s[2].trim(),t);if(u&&h)return()=>u()??h()}let c=e.match(bn);if(c){let u=x(c[1].trim(),t),h=x(c[2].trim(),t);if(u&&h)return()=>u()||h()}let d=e.match(hn);if(d){let u=x(d[1].trim(),t),h=x(d[2].trim(),t);if(u&&h)return()=>u()&&h()}let o=e.match(vn);if(o){let u=x(o[1].trim(),t),h=x(o[3].trim(),t);if(u&&h){let E=o[2];return()=>{let S=u(),w=h();switch(E){case"===":return S===w;case"!==":return S!==w;case"==":return S==w;case"!=":return S!=w;case">":return S>w;case"<":return S<w;case">=":return S>=w;case"<=":return S<=w}}}}let l=e.match(yn);if(l){let u=x(l[1].trim(),t),h=x(l[3].trim(),t);if(u&&h){let E=l[2];return()=>{let S=u(),w=h();return E==="+"?S+w:S-w}}}let p=e.match(En);if(p){let u=x(p[1].trim(),t),h=x(p[3].trim(),t);if(u&&h){let E=p[2];return()=>{let S=u(),w=h();switch(E){case"*":return S*w;case"/":return S/w;case"%":return S%w}}}}let m=e.match(Sn);if(m){let u=m[1],h=[],E=[],S=0,w=new RegExp(Tn.source,"g"),y;for(;(y=w.exec(u))!==null;){h.push(u.slice(S,y.index));let v=x(y[1].trim(),t);if(!v)return null;E.push(v),S=w.lastIndex}return h.push(u.slice(S)),()=>{let v=h[0];for(let f=0;f<E.length;f++)v+=String(E[f]()??""),v+=h[f+1]??"";return v}}return null}function Dt(e,t){let n=e.get(t);return n||(n=new Map,e.set(t,n)),n}function Lt(e){return e.includes("...")?"Unsupported expression in CSP-safe mode: spread syntax detected. Use .concat() instead, or enable unsafe-eval via setUnsafeEval(true).":e.includes("=>")?"Unsupported expression in CSP-safe mode: arrow function detected. Extract logic to a data-computed attribute, or enable unsafe-eval via setUnsafeEval(true).":"Unsupported expression in CSP-safe mode. Simplify the expression or enable unsafe-eval via setUnsafeEval(true)."}function X(e,t){let n=e.replace(qe,"").trim(),r=Dt(ze,t),i=r.get(n);if(i)return i;let a=x(n,t);if(a)return r.set(n,a),a;if(!F){N("buildEvaluator: blocked unsafe eval fallback for expression:",n),ne("expression-unsupported",n,Lt(n));let c=()=>{};return r.set(n,c),c}let s=Ct(n);if(s){let c=`Blocked unsafe method "${s}" in expression`;throw ne("expression-unsupported",n,c),new Error(`[FormaJS] ${c}: ${n}`)}try{let c=new Function("__scope",`with(__scope) { return (${n}); }`),d=new Proxy(Object.create(null),{has(l,p){return p in t.getters},get(l,p){if(re.has(p))return;let m=t.getters[p];return m?m():void 0}}),o=()=>c(d);return r.set(n,o),o}catch{ne("expression-unsupported",n,"Expression too complex for CSP-safe mode. Enable unsafe-eval via FormaRuntime.unsafeEval = true, or use the standard (non-hardened) build.");let c=()=>{};return r.set(n,c),c}}function Me(e,t){let n=e.trim().replace(/;+$/g,"").trim();if(!n)return null;let r=Gn(n,t);if(r)return r;let i=Vn(n);if(i.length>1){let m=i.map(u=>Me(u,t));return m.every(u=>u!==null)?u=>{H(()=>{for(let h of m)h(u)})}:null}let a=i[0]??n,s=a.match(_n);if(s){let m=s[1],u=s[2];return()=>{H(()=>{let h=t.getters[m]?.()??0;t.setters[m]?.(u==="++"?h+1:h-1)})}}let c=a.match(Rn);if(c){let m=c[1],u=c[2];return()=>{H(()=>{let h=t.getters[u]?.()??0;t.setters[u]?.(m==="++"?h+1:h-1)})}}let d=a.match(Mn);if(d&&d[1]===d[2]){let m=d[1];return()=>{H(()=>{t.setters[m]?.(!t.getters[m]?.())})}}let o=a.match(xn);if(o){let m=o[1],u=x(o[2].trim(),t);if(u)return O&&N(`parseHandler: assignment "${m} = ..." \u2014 setter exists:`,!!t.setters[m],", getter exists:",!!t.getters[m]),()=>{H(()=>{let h=u();O&&N(`SETTER: ${m} = ${h} (was: ${t.getters[m]?.()})`),t.setters[m]?.(h)})}}let l=a.match(Cn);if(l){let m=l[1],u=l[2],h=x(l[3].trim(),t);if(h)return()=>{H(()=>{let E=t.getters[m]?.()??0,S=h();switch(u){case"+=":t.setters[m]?.(E+S);break;case"-=":t.setters[m]?.(E-S);break;case"*=":t.setters[m]?.(E*S);break;case"/=":t.setters[m]?.(E/S);break}})}}let p=a.match(Hn);if(p){let m=p[1];return()=>Tt(m)}return null}function ir(e,t){let n=e.trim();if(n.startsWith("{")){let c=ie(n,0,"{","}");c&&c.end===n.length-1&&(n=c.inner.trim())}let r=Dt(Je,t),i=r.get(n);if(i)return i;let a=Me(n,t);if(a){let c={handler:a,supported:!0};return r.set(n,c),c}if(!F){N("buildHandler: blocked unsafe eval fallback for expression:",n),ne("handler-unsupported",n,Lt(n));let c={handler:()=>{},supported:!1};return r.set(n,c),c}let s=Ct(n);if(s){let c=`Blocked unsafe method "${s}" in handler`;throw ne("handler-unsupported",n,c),new Error(`[FormaJS] ${c}: ${n}`)}try{let c=new Function("__scope","$event","event",`with(__scope) { ${n} }`),d=new Proxy(Object.create(null),{has(p,m){return m==="$event"||m==="event"?!1:m in t.getters||m in t.setters},get(p,m){if(re.has(m))return;let u=t.getters[m];return u?u():void 0},set(p,m,u){let h=t.setters[m];return h&&h(u),!0}}),l={handler:p=>{H(()=>c(d,p,p))},supported:!0};return r.set(n,l),l}catch{ne("handler-unsupported",n,"Expression too complex for CSP-safe mode. Enable unsafe-eval via FormaRuntime.unsafeEval = true, or use the standard (non-hardened) build.");let c={handler:()=>{},supported:!1};return r.set(n,c),c}}var or=new Set(["__proto__","constructor","prototype"]);function Ot(e){let t;try{t=JSON.parse(e)}catch{return O&&N("parseState: Invalid JSON in data-forma-state \u2014 use valid JSON with quoted keys. Got:",e.slice(0,200)),{}}for(let n of or)n in t&&delete t[n];return t}function sr(e){let t=e.getAttribute("data-forma-state")??"{}",n=Ot(t),r=Object.keys(n);O&&(N("initScope: parsed",r.length,"keys:",r.join(", ")),r.length===0&&N("initScope: WARNING \u2014 empty state! Raw attribute:",t.slice(0,200)));let i={},a={};for(let[s,c]of Object.entries(n)){let[d,o]=te(c);i[s]=d,a[s]=o}return i.$refetch=()=>Tt,{getters:i,setters:a}}var yt=new Set(["id","className","tagName","nodeName","getAttribute","setAttribute","removeAttribute","hasAttribute","toggleAttribute","dataset","classList","textContent","innerText","value","checked","disabled","selected","type","name","placeholder","readOnly","required","min","max","step","pattern","getBoundingClientRect","offsetWidth","offsetHeight","offsetTop","offsetLeft","clientWidth","clientHeight","scrollWidth","scrollHeight","scrollTop","scrollLeft","style","hidden","focus","blur","click","scrollIntoView","scrollTo","closest","matches","querySelector","querySelectorAll","children","childElementCount","firstElementChild","lastElementChild","nextElementSibling","previousElementSibling"]);function ar(e){return new Proxy(e,{get(t,n){if(typeof n=="symbol")return Reflect.get(t,n);if(!yt.has(n))return;let r=Reflect.get(t,n);return typeof r=="function"?r.bind(t):r},set(t,n,r){return typeof n=="symbol"||!yt.has(n)?!1:Reflect.set(t,n,r)}})}function Y(e,t,n){let r={$el:ar(e),$dispatch:(y,v)=>{e.dispatchEvent(new CustomEvent(y,{bubbles:!0,composed:!0,detail:v}))}};t=He(t,r);let i=fr(e),a=!i||i.has("data-computed")?e.getAttribute("data-computed"):null;if(a){let y=a.split(/;\s*(?=\w+\s*=[^=])/);for(let v of y){let f=v.trim();if(!f)continue;let g=f.match(Nn);if(g){let b=g[1],T=g[2],k=t.getters[b];delete t.getters[b];let R=X(`{${T}}`,t),D=De(R);t.getters[b]=D,k||delete t.setters[b]}}}let s=!i||i.has("data-text")?e.getAttribute("data-text"):null;if(s){let y=X(s,t),v=P(()=>{qn(e,Wn(y()))});n.push(v)}let c=!i||i.has("data-show")?e.getAttribute("data-show"):null;if(c){let y=X(c,t),v=Fe(e);if(O){let b=e.tagName.toLowerCase(),T=e.className?`.${String(e.className).split(" ")[0]}`:"";N(`bindElement: data-show="${c}" on <${b}${T}>`)}let f=!1,g=P(()=>{let b=!!y();O&&N(`data-show effect: "${c}" \u2192 ${b}`),er(e,b,v,!f),f=!0});n.push(g),v&&n.push(()=>we(e))}let d=!i||i.has("data-if")?e.getAttribute("data-if"):null;if(d){let y=X(d,t),v=Fe(e),f=document.createComment("forma-if"),g=e.parentNode,b=!0,T=!1,k=P(()=>{let R=!!y();R&&!b?(we(e),e.removeAttribute("data-forma-leaving"),T&&v?Qn(e,g,f,v):g?.insertBefore(e,f),b=!0):!R&&b&&(T&&v?Et(e,v,()=>{e.parentNode&&(g?.insertBefore(f,e),e.remove())}):(g?.insertBefore(f,e),e.remove()),b=!1),T=!0});n.push(k),v&&n.push(()=>we(e))}let o=!i||i.has("data-model")?e.getAttribute("data-model"):null;if(o){let y=o.replace(qe,"").trim(),v=t.getters[y],f=t.setters[y];if(v&&f){let g=e,b=P(()=>{let R=v();g.type==="checkbox"?g.checked=!!R:g.value=String(R??"")});n.push(b);let T=g.type==="checkbox"?"change":"input",k=()=>{g.type==="checkbox"?f(g.checked):g.type==="number"||g.type==="range"?f(Number(g.value)):f(g.value)};g.addEventListener(T,k),n.push(()=>{g.removeEventListener(T,k)})}}let l=!i||dr(i,"data-on:","data-class:","data-bind:"),p=e.attributes;if(l)for(let y=0;y<p.length;y++){let v=p[y],f=v.name;if(f.startsWith("data-on:")){let g=f.slice(8),b=ir(v.value,t),T=b.handler;if(O){let k=e.tagName.toLowerCase(),R=e.id?`#${e.id}`:"",D=e.className?`.${String(e.className).split(" ")[0]}`:"";N(`bindElement: data-on:${g}="${v.value}" on <${k}${R}${D}>`)}if(b.supported?e.hasAttribute("data-forma-handler-error")&&e.removeAttribute("data-forma-handler-error"):e.setAttribute("data-forma-handler-error","unsupported"),O){let k=v.value,R=D=>{N(`HANDLER FIRED: data-on:${g}="${k}"`,"isTrusted:",D.isTrusted),T(D)};e.addEventListener(g,R),n.push(()=>{e.removeEventListener(g,R)})}else e.addEventListener(g,T),n.push(()=>{e.removeEventListener(g,T)})}else if(f.startsWith("data-class:")){let g=f.slice(11),b=X(v.value,t),T=P(()=>{e.classList.toggle(g,!!b())});n.push(T)}else if(f.startsWith("data-bind:")){let g=f.slice(10),b=X(v.value,t),T=P(()=>{let k=b();k==null||k===!1?e.removeAttribute(g):e.setAttribute(g,String(k))});n.push(T)}}let m=!i||i.has("data-persist")?e.getAttribute("data-persist"):null;if(m){let y=m.replace(qe,"").trim(),v=t.getters[y],f=t.setters[y];if(v&&f){let g="forma:"+y;try{let T=localStorage.getItem(g);T!==null&&f(JSON.parse(T))}catch{}let b=P(()=>{try{localStorage.setItem(g,JSON.stringify(v()))}catch{}});n.push(b)}}let u=!i||i.has("data-list")?e.getAttribute("data-list"):null;if(u){let y=X(u,t),v=e.children[0];if(v){let D=function(C){let _=C;if(Array.isArray(_.__formaDisposers)){for(let A of _.__formaDisposers)try{A()}catch{}delete _.__formaDisposers}},j=function(C,_){let A=zn(f,C),L=He(t,{item:C,index:_}),M=[];Y(A,L,M);for(let B of Array.from(A.querySelectorAll("*")))Y(B,L,M);return A.__formaDisposers=M,A},oe=function(C,_,A){D(C),Jn(C,_);let L=He(t,{item:_,index:A}),M=[];Y(C,L,M);for(let B of Array.from(C.querySelectorAll("*")))Y(B,L,M);C.__formaDisposers=M};var E=D,S=j,w=oe;let f=v.cloneNode(!0);e.removeChild(v);let g=f.getAttribute("data-key"),b=g?g.replace(On,"").trim():null,T=Fe(e),k=[],R=[],se=T?{onInsert:C=>{let _=C;if(!_.setAttribute)return;let A=G(_);A.token+=1;let L=A.token;A.cancel&&A.cancel(),A.cancel=be(_,{base:T.enter,from:T.enterFrom,to:T.enterTo,durationMs:T.enterDurationMs},()=>{let M=G(_);M.token===L&&(M.cancel=null)})},onBeforeRemove:(C,_)=>{let A=C;if(!A.setAttribute){_();return}D(C),Et(A,T,()=>{_()})}}:void 0,ae=P(()=>{let C=y();if(!Array.isArray(C)){for(let A of R)D(A),e.removeChild(A);k=[],R=[];return}if(T){let A=e.querySelectorAll("[data-forma-leaving]");for(let L of Array.from(A))we(L),L.removeAttribute("data-forma-leaving"),L.parentNode&&L.parentNode.removeChild(L)}let _=new Set(R);if(b){let A=Le(e,k,C,R,M=>String(M?.[b]??""),M=>{let B=C.indexOf(M);return j(M,B)},(M,B)=>{let I=C.indexOf(B);oe(M,B,I)},void 0,se),L=new Set(A.nodes);for(let M of _)if(!L.has(M)){if(M.hasAttribute?.("data-forma-leaving"))continue;D(M)}k=A.items,R=A.nodes}else{let A=C.map((I,ve)=>({__idx:ve,__item:I})),M=Le(e,k,A,R,I=>I.__idx,I=>j(I.__item,I.__idx),(I,ve)=>oe(I,ve.__item,ve.__idx),void 0,se),B=new Set(M.nodes);for(let I of _)if(!B.has(I)){if(I.hasAttribute?.("data-forma-leaving"))continue;D(I)}k=M.items,R=M.nodes}});n.push(ae)}}let h=!i||i.has("data-fetch")?e.getAttribute("data-fetch"):null;if(h){let y=h.match(Dn);if(y){let v=y[1].trim(),f=y[2].trim(),g=y[3]?.trim()??"",b="GET",T=v,k=v.match(Ln);k&&(b=k[1].toUpperCase(),T=k[2].trim());let R,D,j;for(let _ of g.split("|").filter(Boolean)){let[A,L]=_.split(":").map(M=>M.trim());A==="loading"?R=L:A==="error"?D=L:A==="poll"&&(j=parseInt(L??"0",10))}let[oe,se]=te(null);if(t.getters[f]=oe,t.setters[f]=se,R){let[_,A]=te(!1);t.getters[R]=_,t.setters[R]=A}if(D){let[_,A]=te(null);t.getters[D]=_,t.setters[D]=A}let ae=()=>{R&&t.setters[R](!0),fetch(T,{method:b}).then(_=>_.json()).then(_=>{se(_),R&&t.setters[R](!1)}).catch(_=>{D&&t.setters[D](_.message),R&&t.setters[R](!1)})},C=e.getAttribute("data-fetch-id");if(C&&(Ue.set(C,ae),n.push(()=>Ue.delete(C))),ae(),j&&j>0){let _=setInterval(ae,j);n.push(()=>clearInterval(_))}}}}var gi=["[data-text]","[data-show]","[data-if]","[data-model]","[data-computed]","[data-persist]","[data-list]","[data-fetch]","[data-bind\\:*]","[data-class\\:*]","[data-on\\:*]","[data-transition]"].join(",");function lr(e){let t=e.attributes;for(let n=0;n<t.length;n++){let r=t[n].name;if(r.startsWith("data-text")||r.startsWith("data-show")||r.startsWith("data-if")||r.startsWith("data-model")||r.startsWith("data-computed")||r.startsWith("data-persist")||r.startsWith("data-list")||r.startsWith("data-fetch")||r.startsWith("data-on:")||r.startsWith("data-class:")||r.startsWith("data-bind:")||r.startsWith("data-transition"))return!0}return!1}var V=null;function cr(e){if(!e||Object.keys(e).length===0){V=null;return}V=new Map;for(let t in e)V.set(t,new Set(e[t]))}function ur(){if(!V||V.size===0||V.size>200)return null;let e=[];for(let t of V.keys())e.push(`[data-forma-id="${t}"]`);return e.join(",")}function fr(e){if(!V)return null;let t=e.getAttribute("data-forma-id");return t?V.get(t)??null:null}function dr(e,...t){for(let n of e)for(let r of t)if(n.startsWith(r))return!0;return!1}function Z(e){if(e.__formaDisposers){O&&N("mountScope: SKIPPED (already mounted)");return}let t=sr(e),n=[];Y(e,t,n);let r=0,i=ur();if(i){let a=e.querySelectorAll(i);for(let s=0;s<a.length;s++)Y(a[s],t,n),r++}else{let a=e.querySelectorAll("*");for(let s=0;s<a.length;s++){let c=a[s];lr(c)&&(Y(c,t,n),r++)}}e.__formaDisposers=n,e.__formaScope=t,e.__formaInitialState=e.getAttribute("data-forma-state")??"{}",O&&N("mountScope: DONE \u2014",r,"elements bound,",n.length,"disposers",i?"(targeted)":"(full scan)")}function Q(e){let t=e.__formaDisposers;if(t){for(let n of t)try{n()}catch{}delete e.__formaDisposers,delete e.__formaScope,delete e.__formaInitialState}}var U=null,St=1,mr=40,me=[],he=!1;function pr(e){for(let t=0;t<e.removedNodes.length;t++){let n=e.removedNodes[t];if(n.nodeType!==St)continue;let r=n;r.hasAttribute("data-forma-state")&&(O&&N("MutationObserver: REMOVED scope"),Q(r));let i=r.querySelectorAll("[data-forma-state]");for(let a=0;a<i.length;a++)Q(i[a])}for(let t=0;t<e.addedNodes.length;t++){let n=e.addedNodes[t];if(n.nodeType!==St)continue;let r=n;if(r.closest("[data-forma-leaving]"))continue;r.hasAttribute("data-forma-state")&&(O&&N("MutationObserver: ADDED scope via mutation"),Z(r));let i=r.querySelectorAll("[data-forma-state]");O&&i.length>0&&N("MutationObserver: found",i.length,"nested scope(s) in added subtree");for(let a=0;a<i.length;a++){let s=i[a];s.closest("[data-forma-leaving]")||Z(s)}}if(e.type==="attributes"&&e.attributeName==="data-forma-state"){let t=e.target;Q(t),t.hasAttribute("data-forma-state")&&Z(t)}}async function It(){try{for(;me.length>0;){let e=me.splice(0,mr);for(let t=0;t<e.length;t++)pr(e[t]);me.length>0&&await At()}}finally{he=!1,me.length>0&&!he&&(he=!0,It())}}function gr(e){O&&N("MutationObserver: queued",e.length,"mutation(s)"),me.push(...e),!he&&(he=!0,It())}function hr(){if(U)return;U=new MutationObserver(gr);let e=document.body||document.documentElement;e&&U.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-forma-state"]})}function br(){U&&(U.disconnect(),U=null)}function Ge(){un&&wt(document,{skipIfAlreadySet:!0});let e=document.querySelectorAll("[data-forma-state]");O&&N("initRuntime: found",e.length,"scope(s)");for(let t of Array.from(e))Z(t);hr(),O&&N("initRuntime: MutationObserver started")}function vr(){br();let e=document.querySelectorAll("[data-forma-state]");for(let t of Array.from(e))Q(t)}function Er(e){e.hasAttribute("data-forma-state")&&Z(e);let t=e.querySelectorAll("[data-forma-state]");for(let n of Array.from(t))Z(n)}function yr(e){e.hasAttribute("data-forma-state")&&Q(e);let t=e.querySelectorAll("[data-forma-state]");for(let n of Array.from(t))Q(n)}typeof document<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Ge):Ge());function Sr(e){O=e}function Tr(e){$!==e&&($=e,e==="locked-off"&&(F=!1),e==="locked-on"&&(F=!0),e==="mutable"&&(F=!0),ze=new WeakMap,Je=new WeakMap)}function Ar(e){if($!=="mutable"){N(`setUnsafeEval ignored (mode=${$}); unsafe fallback is locked`);return}F!==e&&(F=e,ze=new WeakMap,Je=new WeakMap)}function wr(){return $}function _r(e){je=e}function Rr(){return Array.from(pe.values()).map(e=>({...e}))}function Mr(){pe.clear()}function xr(){let e=document.querySelectorAll("[data-forma-state]"),t=[];for(let n of Array.from(e)){if(n.closest("[data-forma-leaving]"))continue;let r=n.__formaScope,i=n.__formaInitialState;if(!r)continue;let a={};for(let s of Object.keys(r.getters)){let c=r.getters[s]();a[s]={value:c,type:typeof c}}t.push({element:n,id:n.getAttribute("data-forma-id")||n.id||n.tagName.toLowerCase(),values:a,initialJSON:i??"{}"})}return t}function Cr(e,t,n){let r=e.__formaScope;r?.setters[t]&&H(()=>{r.setters[t](n)})}function kr(e){let t=e.__formaScope,n=e.__formaInitialState;if(!t||!n)return;let r=Ot(n);H(()=>{for(let[i,a]of Object.entries(r))t.setters[i]?.(a)})}var Pe=null;function Nr(){return Pe||(Pe=mt({mountScope:Z,unmountScope:Q,disconnectObserver(){U&&U.disconnect()},reconnectObserver(){if(U){let e=document.body||document.documentElement;e&&U.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-forma-state"]})}},batch:H})),Pe}function Dr(e,t){Nr()(e,t)}return Ut(Lr);})();
"use strict";var FormaRuntime=(()=>{var xe=Object.defineProperty;var $t=Object.getOwnPropertyDescriptor;var Ht=Object.getOwnPropertyNames;var Ft=Object.prototype.hasOwnProperty;var Pt=(e,t)=>{for(var n in t)xe(e,n,{get:t[n],enumerable:!0})},Bt=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ht(t))!Ft.call(e,i)&&i!==n&&xe(e,i,{get:()=>t[i],enumerable:!(r=$t(t,i))||r.enumerable});return e};var Ut=e=>Bt(xe({},"__esModule",{value:!0}),e);var Lr={};Pt(Lr,{applyContainmentHints:()=>wt,clearDiagnostics:()=>Mr,destroyRuntime:()=>vr,getDiagnostics:()=>Rr,getScopes:()=>xr,getUnsafeEvalMode:()=>wr,initRuntime:()=>Ge,mount:()=>Er,reconcile:()=>Dr,resetScope:()=>kr,setDebug:()=>Sr,setDiagnostics:()=>_r,setDirectiveMap:()=>cr,setScopeValue:()=>Cr,setUnsafeEval:()=>Ar,setUnsafeEvalMode:()=>Tr,unmount:()=>yr,yieldToMain:()=>At});function Xe({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:o,shallowPropagate:c};function r(s,l,p){let m=l.depsTail;if(m!==void 0&&m.dep===s)return;let u=m!==void 0?m.nextDep:l.deps;if(u!==void 0&&u.dep===s){u.version=p,l.depsTail=u;return}let h=s.subsTail;if(h!==void 0&&h.version===p&&h.sub===l)return;let E=l.depsTail=s.subsTail={version:p,dep:s,sub:l,prevDep:m,nextDep:u,prevSub:h,nextSub:void 0};u!==void 0&&(u.prevDep=E),m!==void 0?m.nextDep=E:l.deps=E,h!==void 0?h.nextSub=E:s.subs=E}function i(s,l=s.sub){let p=s.dep,m=s.prevDep,u=s.nextDep,h=s.nextSub,E=s.prevSub;return u!==void 0?u.prevDep=m:l.depsTail=m,m!==void 0?m.nextDep=u:l.deps=u,h!==void 0?h.prevSub=E:p.subsTail=E,E!==void 0?E.nextSub=h:(p.subs=h)===void 0&&n(p),u}function a(s){let l=s.nextSub,p;e:do{let m=s.sub,u=m.flags;if(u&60?u&12?u&4?!(u&48)&&f(s,m)?(m.flags=u|40,u&=1):u=0:m.flags=u&-9|32:u=0:m.flags=u|32,u&2&&t(m),u&1){let h=m.subs;if(h!==void 0){let E=(s=h).nextSub;E!==void 0&&(p={value:l,prev:p},l=E);continue}}if((s=l)!==void 0){l=s.nextSub;continue}for(;p!==void 0;)if(s=p.value,p=p.prev,s!==void 0){l=s.nextSub;continue e}break}while(!0)}function o(s,l){let p,m=0,u=!1;e:do{let h=s.dep,E=h.flags;if(l.flags&16)u=!0;else if((E&17)===17){if(e(h)){let S=h.subs;S.nextSub!==void 0&&c(S),u=!0}}else if((E&33)===33){(s.nextSub!==void 0||s.prevSub!==void 0)&&(p={value:s,prev:p}),s=h.deps,l=h,++m;continue}if(!u){let S=s.nextDep;if(S!==void 0){s=S;continue}}for(;m--;){let S=l.subs,w=S.nextSub!==void 0;if(w?(s=p.value,p=p.prev):s=S,u){if(e(l)){w&&c(S),l=s.sub;continue}u=!1}else l.flags&=-33;l=s.sub;let y=s.nextDep;if(y!==void 0){s=y;continue e}}return u}while(!0)}function c(s){do{let l=s.sub,p=l.flags;(p&48)===32&&(l.flags=p|16,(p&6)===2&&t(l))}while((s=s.nextSub)!==void 0)}function f(s,l){let p=l.depsTail;for(;p!==void 0;){if(p===s)return!0;p=p.prevDep}return!1}}var Ee=0,Ce=0,K=0,le=0,z,W=[],{link:ke,unlink:Ye,propagate:Wt,checkDirty:Ze,shallowPropagate:Qe}=Xe({update(e){return e.depsTail!==void 0?st(e):ot(e)},notify(e){let t=le,n=t;do if(W[t++]=e,e.flags&=-3,e=e.subs?.sub,e===void 0||!(e.flags&2))break;while(!0);for(le=t;n<--t;){let r=W[n];W[n++]=W[t],W[t]=r}},unwatched(e){e.flags&1?e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=17,ye(e)):lt.call(e)}});function q(e){let t=z;return z=e,t}function et(){++Ce}function tt(){--Ce||at()}function nt(e){return Gt.bind({currentValue:e,pendingValue:e,subs:void 0,subsTail:void 0,flags:1})}function rt(e){return Vt.bind({value:void 0,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:0,getter:e})}function it(e){let t={fn:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:6},n=q(t);n!==void 0&&ke(t,n,0);try{t.fn()}finally{z=n,t.flags&=-5}return jt.bind(t)}function st(e){++Ee,e.depsTail=void 0,e.flags=5;let t=q(e);try{let n=e.value;return n!==(e.value=e.getter(n))}finally{z=t,e.flags&=-5,ye(e)}}function ot(e){return e.flags=1,e.currentValue!==(e.currentValue=e.pendingValue)}function qt(e){let t=e.flags;if(t&16||t&32&&Ze(e.deps,e)){++Ee,e.depsTail=void 0,e.flags=6;let n=q(e);try{e.fn()}finally{z=n,e.flags&=-5,ye(e)}}else e.flags=2}function at(){try{for(;K<le;){let e=W[K];W[K++]=void 0,qt(e)}}finally{for(;K<le;){let e=W[K];W[K++]=void 0,e.flags|=10}K=0,le=0}}function Vt(){let e=this.flags;if(e&16||e&32&&(Ze(this.deps,this)||(this.flags=e&-33,!1))){if(st(this)){let n=this.subs;n!==void 0&&Qe(n)}}else if(!e){this.flags=5;let n=q(this);try{this.value=this.getter()}finally{z=n,this.flags&=-5}}let t=z;return t!==void 0&&ke(this,t,Ee),this.value}function Gt(...e){if(e.length){if(this.pendingValue!==(this.pendingValue=e[0])){this.flags=17;let t=this.subs;t!==void 0&&(Wt(t),Ce||at())}}else{if(this.flags&16&&ot(this)){let n=this.subs;n!==void 0&&Qe(n)}let t=z;for(;t!==void 0;){if(t.flags&3){ke(this,t,Ee);break}t=t.subs?.sub}return this.currentValue}}function jt(){lt.call(this)}function lt(){this.depsTail=void 0,this.flags=0,ye(this);let e=this.subs;e!==void 0&&Ye(e)}function ye(e){let t=e.depsTail,n=t!==void 0?t.nextDep:e.deps;for(;n!==void 0;)n=Ye(n,e)}function zt(e,t,n){if(typeof t!="function"){if(n){let o=q(void 0),c=e();if(q(o),n(c,t))return}e(t);return}let r=q(void 0),i=e();q(r);let a=t(i);n&&n(i,a)||e(a)}function te(e,t){let n=nt(e),r=n,i=t?.equals;return[r,o=>zt(n,o,i)]}var Ne=null;function ct(e){Ne&&Ne.disposers.push(e)}function ut(){return Ne!==null}var Jt=32;var Kt=[];for(let e=0;e<Jt;e++)Kt.push([]);function B(e){let t=it(e);return ut()&&ct(t),t}function De(e){return rt(e)}function $(e){et();try{e()}finally{tt()}}function ft(e){let t=e.length;if(t===0)return[];let n=new Int32Array(t),r=new Int32Array(t),i=new Int32Array(t).fill(-1),a=0;for(let f=0;f<t;f++){let s=e[f],l=0,p=a;for(;l<p;){let m=l+p>>1;n[m]<s?l=m+1:p=m}n[l]=s,r[l]=f,l>0&&(i[f]=r[l-1]),l>=a&&a++}let o=new Array(a),c=r[a-1];for(let f=a-1;f>=0;f--)o[f]=c,c=i[c];return o}var Xt=32;function Yt(e,t,n,r,i,a,o,c,f){let s=t.length,l=n.length,p=new Array(s);for(let d=0;d<s;d++)p[d]=i(t[d]);let m=new Array(l),u=new Uint8Array(s);for(let d=0;d<l;d++){let g=i(n[d]),b=-1;for(let T=0;T<s;T++)if(!u[T]&&p[T]===g){b=T,u[T]=1;break}m[d]=b}for(let d=0;d<s;d++)if(!u[d])if(f?.onBeforeRemove){let g=r[d];f.onBeforeRemove(g,()=>{g.parentNode&&g.parentNode.removeChild(g)})}else e.removeChild(r[d]);if(s===l){let d=!0;for(let g=0;g<l;g++)if(m[g]!==g){d=!1;break}if(d){let g=new Array(l);for(let b=0;b<l;b++){let T=r[b];o(T,n[b]),g[b]=T}return{nodes:g,items:n}}}let h=[],E=[];for(let d=0;d<l;d++)m[d]!==-1&&(h.push(m[d]),E.push(d));let S=ft(h),w=new Uint8Array(l);for(let d of S)w[E[d]]=1;let y=new Array(l),v=c??null;for(let d=l-1;d>=0;d--){let g,b=!1;if(m[d]===-1)g=a(n[d]),b=!0;else if(g=r[m[d]],o(g,n[d]),w[d]){y[d]=g,v=g;continue}v?e.insertBefore(g,v):e.appendChild(g),b&&f?.onInsert?.(g),y[d]=g,v=g}return{nodes:y,items:n}}function Le(e,t,n,r,i,a,o,c,f){let s=t.length,l=n.length;if(l===0){for(let d=0;d<s;d++)if(f?.onBeforeRemove){let g=r[d];f.onBeforeRemove(g,()=>{g.parentNode&&g.parentNode.removeChild(g)})}else e.removeChild(r[d]);return{nodes:[],items:[]}}if(s===0){let d=new Array(l);for(let g=0;g<l;g++){let b=a(n[g]);c?e.insertBefore(b,c):e.appendChild(b),f?.onInsert?.(b),d[g]=b}return{nodes:d,items:n}}if(s<Xt)return Yt(e,t,n,r,i,a,o,c,f);let p=new Map;for(let d=0;d<s;d++)p.set(i(t[d]),d);let m=new Array(l),u=new Uint8Array(s);for(let d=0;d<l;d++){let g=i(n[d]),b=p.get(g);b!==void 0?(m[d]=b,u[b]=1):m[d]=-1}for(let d=0;d<s;d++)if(!u[d])if(f?.onBeforeRemove){let g=r[d];f.onBeforeRemove(g,()=>{g.parentNode&&g.parentNode.removeChild(g)})}else e.removeChild(r[d]);if(s===l){let d=!0;for(let g=0;g<l;g++)if(m[g]!==g){d=!1;break}if(d){let g=new Array(l);for(let b=0;b<l;b++){let T=r[b];o(T,n[b]),g[b]=T}return{nodes:g,items:n}}}let h=[],E=[];for(let d=0;d<l;d++)m[d]!==-1&&(h.push(m[d]),E.push(d));let S=ft(h),w=new Uint8Array(l);for(let d of S)w[E[d]]=1;let y=new Array(l),v=c??null;for(let d=l-1;d>=0;d--){let g,b=!1;if(m[d]===-1)g=a(n[d]),b=!0;else if(g=r[m[d]],o(g,n[d]),w[d]){y[d]=g,v=g;continue}v?e.insertBefore(g,v):e.appendChild(g),b&&f?.onInsert?.(g),y[d]=g,v=g}return{nodes:y,items:n}}function Zt(e){let t=new Set,n=e.attributes;for(let r=0;r<n.length;r++){let i=n[r].name;i.startsWith("data-bind:")&&t.add(i.slice(10))}return t}function Qt(e){return e.hasAttribute("data-list")||e.hasAttribute("data-if")}function dt(e){try{let t=JSON.parse(e);return Object.keys(t).sort()}catch{return[]}}function en(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function tn(e,t){let n=e.getAttribute("data-module"),r=t.getAttribute("data-module");if(n!==r)return"REPLACE";let a=e.__formaInitialState??e.getAttribute("data-forma-state")??"{}",o=t.getAttribute("data-forma-state")??"{}",c=dt(a),f=dt(o);return en(c,f)?"PRESERVE":"RESET"}var Se=null;function nn(e){return Se||(Se=document.createElement("template")),Se.innerHTML=e,Se.content}function Oe(e,t){let n=Zt(e),r=e.hasAttribute("data-show"),i=e.hasAttribute("data-model"),a=!1,o=e.attributes;for(let f=0;f<o.length;f++)if(o[f].name.startsWith("data-class:")){a=!0;break}let c=t.attributes;for(let f=0;f<c.length;f++){let s=c[f];if(s.name==="style"&&r||s.name==="class"&&a||(s.name==="value"||s.name==="checked")&&i||n.has(s.name))continue;e.getAttribute(s.name)!==s.value&&e.setAttribute(s.name,s.value)}for(let f=o.length-1;f>=0;f--){let s=o[f];if(!t.hasAttribute(s.name)){if(s.name==="style"&&r||s.name==="class"&&a||(s.name==="value"||s.name==="checked")&&i||n.has(s.name))continue;e.removeAttribute(s.name)}}}function rn(e,t){if(e.hasAttribute("data-text"))return;let n=[],r=[];for(let o of Array.from(e.childNodes))o.nodeType===Node.TEXT_NODE&&n.push(o);for(let o=0;o<t.childNodes.length;o++){let c=t.childNodes[o];c.nodeType===Node.TEXT_NODE&&r.push({node:c,index:o})}if(n.length===r.length){for(let o=0;o<n.length;o++)n[o].textContent!==r[o].node.textContent&&(n[o].textContent=r[o].node.textContent);return}let i=new Set,a=0;for(let{node:o,index:c}of r)if(a<n.length){let f=n[a];a++,i.add(f),f.textContent!==o.textContent&&(f.textContent=o.textContent)}else{let f=sn(e,t,c);e.insertBefore(document.createTextNode(o.textContent??""),f)}for(let o of n)!i.has(o)&&o.parentNode===e&&e.removeChild(o)}function sn(e,t,n){for(let r=n+1;r<t.childNodes.length;r++){let i=t.childNodes[r];if(i.nodeType===Node.ELEMENT_NODE){let a=i.getAttribute("data-forma-id");if(a){let o=e.querySelector(`[data-forma-id="${CSS.escape(a)}"]`);if(o&&o.parentElement===e)return o}}}return null}function Ie(e,t,n){if(Qt(e))return;rn(e,t);let r=Array.from(e.children),i=Array.from(t.children),a=new Map,o=[];for(let s of r){if(s.hasAttribute("data-forma-leaving"))continue;let l=s.getAttribute("data-forma-id");l?a.set(l,s):o.push(s)}let c=0,f=new Set;for(let s of i){let l=s.getAttribute("data-forma-id"),p;if(l)p=a.get(l);else for(;c<o.length;){let m=o[c];if(c++,m.tagName===s.tagName&&!f.has(m)){p=m;break}}if(p){if(f.add(p),p.hasAttribute("data-forma-state")&&s.hasAttribute("data-forma-state"))switch(tn(p,s)){case"PRESERVE":Oe(p,s),Ie(p,s,n);break;case"RESET":n.unmountScope(p),Oe(p,s),on(p,s),n.mountScope(p);break;case"REPLACE":{n.unmountScope(p);let u=s.cloneNode(!0);e.replaceChild(u,p),n.mountScope(u),f.delete(p),p=u,f.add(u);break}}else Oe(p,s),Ie(p,s,n);an(e,p,s,i)}else{let m=s.cloneNode(!0),u=ln(e,s,i);e.insertBefore(m,u),f.add(m),m.hasAttribute("data-forma-state")&&n.mountScope(m);let h=m.querySelectorAll("[data-forma-state]");for(let E of Array.from(h))n.mountScope(E)}}for(let s of r)if(!f.has(s)){if(s.parentElement!==e||s.hasAttribute("data-forma-leaving"))continue;s.hasAttribute("data-forma-state")&&n.unmountScope(s);let l=s.querySelectorAll("[data-forma-state]");for(let p of Array.from(l))n.unmountScope(p);e.removeChild(s)}}function on(e,t){for(;e.firstChild;)e.removeChild(e.firstChild);for(let n of Array.from(t.childNodes))e.appendChild(n.cloneNode(!0))}function an(e,t,n,r){let i=r.indexOf(n);if(Array.from(e.children).indexOf(t)!==i){let c=r[i+1];if(c){let f=c.getAttribute("data-forma-id");if(f){let s=e.querySelector(`[data-forma-id="${CSS.escape(f)}"]`);if(s&&s.parentElement===e){e.insertBefore(t,s);return}}}e.appendChild(t)}}function ln(e,t,n){let r=n.indexOf(t);for(let i=r+1;i<n.length;i++){let a=n[i].getAttribute("data-forma-id");if(a){let o=e.querySelector(`[data-forma-id="${CSS.escape(a)}"]`);if(o&&o.parentElement===e)return o}}return null}function mt(e){let t="";return function(r,i){let a=i.trim();if(a&&!(a===t&&r.hasChildNodes())){t=a,e.disconnectObserver();try{if(!r.hasChildNodes()||r.children.length===0){r.innerHTML=a,e.batch(()=>{let l=r.querySelectorAll("[data-forma-state]");for(let p of Array.from(l))e.mountScope(p)});return}let o=nn(a),c=document.createElement("div");c.appendChild(o);let f=new Set;for(let l of Array.from(r.children)){if(l.hasAttribute("data-forma-leaving"))continue;let p=l.getAttribute("data-forma-id");p&&f.add(p)}let s=!1;if(f.size>0)for(let l of Array.from(c.children)){let p=l.getAttribute("data-forma-id");if(p&&f.has(p)){s=!0;break}}if(f.size>0&&!s){e.batch(()=>{let l=r.querySelectorAll("[data-forma-state]");for(let m of Array.from(l))e.unmountScope(m);r.innerHTML=a;let p=r.querySelectorAll("[data-forma-state]");for(let m of Array.from(p))e.mountScope(m)});return}e.batch(()=>{Ie(r,c,e)})}finally{e.reconnectObserver()}}}}var Ue=new Map;function Tt(e){let t=Ue.get(e);t?t():O&&N(`$refetch: no data-fetch with id "${e}" found`)}function $e(e,t){let n=Object.create(null);for(let r of Object.keys(t))n[r]=()=>t[r];return{getters:new Proxy(e.getters,{get(r,i){return i in n?n[i]:r[i]},has(r,i){return i in n||i in r}}),setters:e.setters}}var O=!1,H="mutable",F=!1,je=!0;function N(...e){(O||typeof window<"u"&&window.__FORMA_DEBUG)&&console.log("[FormaJS]",...e)}var pe=new Map;function Te(e){if(e==null)return;let t=e.trim().toLowerCase();if(t==="1"||t==="true"||t==="on"||t==="yes")return!0;if(t==="0"||t==="false"||t==="off"||t==="no")return!1}function We(e){if(e==null)return;let t=e.trim().toLowerCase();if(t==="mutable")return"mutable";if(t==="locked-off"||t==="off"||t==="disabled")return"locked-off";if(t==="locked-on"||t==="on"||t==="enabled")return"locked-on"}function cn(){let e={};if(typeof window<"u"){let t=window.__FORMA_RUNTIME_CONFIG;if(t){if(typeof t.allowUnsafeEval=="boolean"&&(e.allowUnsafeEval=t.allowUnsafeEval),typeof t.unsafeEvalMode=="string"){let n=We(t.unsafeEvalMode);n&&(e.unsafeEvalMode=n)}typeof t.lockUnsafeEval=="boolean"&&(e.lockUnsafeEval=t.lockUnsafeEval),typeof t.diagnostics=="boolean"&&(e.diagnostics=t.diagnostics),typeof t.autoContainment=="boolean"&&(e.autoContainment=t.autoContainment)}}if(typeof document<"u"){let t=document.currentScript;if(t){let n=Te(t.getAttribute("data-forma-unsafe-eval"));n!==void 0&&(e.allowUnsafeEval=n);let r=We(t.getAttribute("data-forma-unsafe-eval-mode"));r!==void 0&&(e.unsafeEvalMode=r);let i=Te(t.getAttribute("data-forma-lock-unsafe-eval"));i!==void 0&&(e.lockUnsafeEval=i);let a=Te(t.getAttribute("data-forma-diagnostics"));a!==void 0&&(e.diagnostics=a);let o=Te(t.getAttribute("data-forma-auto-containment"));o!==void 0&&(e.autoContainment=o)}}return e}function ne(e,t,n){if(!je)return;let r=`${e}|${n}|${t}`,i=Date.now(),a=pe.get(r);a?(a.count+=1,a.lastSeenAt=i):(pe.set(r,{kind:e,expr:t,reason:n,count:1,firstSeenAt:i,lastSeenAt:i}),console.warn(`[FormaJS] ${n}: ${t}`));try{if(typeof window<"u"){let o={kind:e,expr:t,reason:n,count:pe.get(r)?.count??1};window.dispatchEvent(new CustomEvent("formajs:diagnostic",{detail:o}))}}catch{}}var pt=We("mutable");pt&&(H=pt,H==="locked-off"&&(F=!1),H==="locked-on"&&(F=!0),H==="mutable"&&(F=!0));var ee=cn(),gt=ee.lockUnsafeEval?"locked-off":ee.unsafeEvalMode;gt&&(H=gt,H==="locked-off"&&(F=!1),H==="locked-on"&&(F=!0));H==="mutable"&&typeof ee.allowUnsafeEval=="boolean"&&(F=ee.allowUnsafeEval);typeof ee.diagnostics=="boolean"&&(je=ee.diagnostics);var un=ee.autoContainment===!0;function fn(){let e=globalThis?.scheduler;if(e&&(typeof e.yield=="function"||typeof e.postTask=="function"))return e}async function At(){let e=fn();if(e?.yield){await e.yield();return}if(e?.postTask){await e.postTask(()=>{},{priority:"background"});return}await new Promise(t=>setTimeout(t,0))}function wt(e=document,t={}){let n=t.selector??"[data-forma-contain]";if(!n||typeof e.querySelectorAll!="function")return 0;let r=e.querySelectorAll(n),i=0;for(let a=0;a<r.length;a++){let o=r[a];if(!o?.style)continue;let c=o.getAttribute("data-forma-contain")??t.contain??"layout style paint",f=o.getAttribute("data-forma-content-visibility")??t.contentVisibility??"auto",s=o.getAttribute("data-forma-contain-intrinsic-size")??t.containIntrinsicSize??"auto 800px",l=t.skipIfAlreadySet===!0,p=!1,m=o.style.getPropertyValue("contain"),u=o.style.getPropertyValue("content-visibility"),h=o.style.getPropertyValue("contain-intrinsic-size");c!=="off"&&(!l||!m)&&(o.style.setProperty("contain",c),p=!0),f!=="off"&&(!l||!u)&&(o.style.setProperty("content-visibility",f),p=!0),s!=="off"&&(!l||!h)&&(o.style.setProperty("contain-intrinsic-size",s),p=!0),p&&i++}return O&&i>0&&N("applyContainmentHints: applied to",i,"element(s)"),i}var _t=/^'[^']*'$/,Rt=/^"[^"]*"$/,Mt=/^-?\d+(\.\d+)?$/,xt=/^[a-zA-Z_$]\w*$/,dn=/^(\w+)\.(\w+)$/;var mn=/^(\w+)\[(\d+|'[^']*'|"[^"]*")\]$/,pn=/^(.+?)\s*\?\s*(.+?)\s*:\s*(.+)$/,gn=/^(.+?)\s*\?\?\s*(.+)$/,hn=/^(.+?)\s*&&\s*(.+)$/,bn=/^(.+?)\s*\|\|\s*(.+)$/,vn=/^(.+?)\s*(===|!==|==|!=|>=|<=|>|<)\s*(.+)$/,En=/^(.+?)\s*([*/%])\s*(.+)$/,yn=/^(.+?)\s*([+-])\s*(.+)$/,Sn=/^`([^`]*)`$/,Tn=/\$\{([^}]+)\}/g;var An=/^\((.+)\)\.(\w+)\((.*)\)$/,qe=/^\{|\}$/g;var wn=/^\d+$/,_n=/^(\w+)(\+\+|--)$/,Rn=/^(\+\+|--)(\w+)$/,Mn=/^(\w+)\s*=\s*!(\w+)$/,xn=/^(\w+)\s*=\s*(.+)$/,Cn=/^(\w+)\s*(\+=|-=|\*=|\/=)\s*(.+)$/,kn=/^if\b/,Nn=/^(\w+)\s*=\s*(.+)$/,Dn=/^(.+?)(?:→|->)\s*(\S+)(.*)$/,Ln=/^(GET|POST|PUT|PATCH|DELETE)\s+(.+)$/i,On=/^\{item\.?|\}$/g,In=/\bevent\s*[.([]|\$event\b/,$n=/^\$refetch\(\s*['"]([^'"]+)['"]\s*\)$/,Re=Symbol.for("forma-transition-state"),Hn=2048,ue=new Map;function ce(e,t){if(ue.size>=Hn){let n=ue.keys().next().value;n!==void 0&&ue.delete(n)}ue.set(e,t)}var ze=new WeakMap,Je=new WeakMap,fe=new Map,Fn=2048;function Pn(e,t){if(fe.size>=Fn){let n=fe.keys().next().value;n!==void 0&&fe.delete(n)}fe.set(e,t)}var re=new Set(["constructor","__proto__","prototype","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__","eval","Function"]),Bn=(()=>{let e=[];for(let t of re){let n=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e.push({name:t,dotRe:new RegExp(`(?:^|\\.)${n}(?:\\s*\\(|\\s*$|[^\\w$])`,"m"),bracketRe:new RegExp(`\\[\\s*(?:'${n}'|"${n}"|\``+n+"`)\\s*\\]")})}return e})();function Ct(e){let t=e.replace(/\/\*[\s\S]*?\*\//g,"");t=t.replace(/\/\/[^\n]*/g,""),t=t.replace(/\s*\.\s*/g,".");for(let{name:n,dotRe:r,bracketRe:i}of Bn)if(r.test(t)||i.test(t))return n;if(t.includes("[")){let n=Un(t);for(let r of n){if(!r.includes("+"))continue;let i=r.match(/['"`]([^'"`]*?)['"`]/g);if(!i)continue;let a=i.map(o=>o.slice(1,-1)).join("");if(re.has(a))return a}}return null}function Un(e){let t=[],n=0,r=-1;for(let i=0;i<e.length;i++)e[i]==="["?(n===0&&(r=i+1),n++):e[i]==="]"&&(n--,n===0&&r>=0&&(t.push(e.slice(r,i)),r=-1));return t}var ht=Symbol.for("forma-text-binding-cache");function Wn(e){return e==null?"":typeof e=="string"?e:typeof e=="symbol"?e.toString():String(e)}function qn(e,t){let n=e[ht];if(n||(n={initialized:!1,last:"",node:null},e[ht]=n),n.initialized&&n.last===t)return;let r=n.node;if(!r||r.parentNode!==e||e.childNodes.length!==1||e.firstChild!==r)if(e.childNodes.length===1&&e.firstChild?.nodeType===Node.TEXT_NODE)r=e.firstChild,n.node=r;else{e.textContent=t;let i=e.firstChild;n.node=i&&i.nodeType===Node.TEXT_NODE&&e.childNodes.length===1?i:null,n.last=t,n.initialized=!0;return}r.data=t,n.last=t,n.initialized=!0}function Ve(e){let t=[];if(e.trim()==="")return t;let n=0,r=!1,i=!1,a=!1,o=0;for(let c=0;c<e.length;c++){let f=e[c];if(a){a=!1;continue}if(f==="\\"){a=!0;continue}if(r){f==="'"&&(r=!1);continue}if(i){f==='"'&&(i=!1);continue}if(f==="'"){r=!0;continue}if(f==='"'){i=!0;continue}if(f==="("){n++;continue}if(f===")"){n>0&&n--;continue}f===","&&n===0&&(t.push(e.slice(o,c).trim()),o=c+1)}return t.push(e.slice(o).trim()),t.filter(Boolean)}function ie(e,t,n,r){if(e[t]!==n)return null;let i=0,a=!1,o=!1,c=!1,f=!1;for(let s=t;s<e.length;s++){let l=e[s];if(f){f=!1;continue}if(l==="\\"&&(a||o||c)){f=!0;continue}if(a){l==="'"&&(a=!1);continue}if(o){l==='"'&&(o=!1);continue}if(c){l==="`"&&(c=!1);continue}if(l==="'"){a=!0;continue}if(l==='"'){o=!0;continue}if(l==="`"){c=!0;continue}if(l===n){i++;continue}if(l===r&&(i--,i===0))return{inner:e.slice(t+1,s),end:s}}return null}function Vn(e){let t=e.trim();if(!t)return[];let n=[],r=0,i=0,a=0,o=!1,c=!1,f=!1,s=!1,l=0;for(let m=0;m<t.length;m++){let u=t[m];if(s){s=!1;continue}if(u==="\\"&&(o||c||f)){s=!0;continue}if(o){u==="'"&&(o=!1);continue}if(c){u==='"'&&(c=!1);continue}if(f){u==="`"&&(f=!1);continue}if(u==="'"){o=!0;continue}if(u==='"'){c=!0;continue}if(u==="`"){f=!0;continue}if(u==="("?r++:u===")"&&r>0?r--:u==="{"?i++:u==="}"&&i>0?i--:u==="["?a++:u==="]"&&a>0&&a--,u===";"&&r===0&&i===0&&a===0){let h=t.slice(l,m).trim();h&&n.push(h),l=m+1}}let p=t.slice(l).trim();return p&&n.push(p),n}function bt(e){let t=e.trim();if(!t)return null;if(t.startsWith("{")){let s=ie(t,0,"{","}");if(!s)return null;let l=s.inner.trim(),p=t.slice(s.end+1).trim();return p.startsWith(";")&&(p=p.slice(1).trim()),{body:l,rest:p}}let n=0,r=0,i=0,a=!1,o=!1,c=!1,f=!1;for(let s=0;s<t.length;s++){let l=t[s];if(f){f=!1;continue}if(l==="\\"&&(a||o||c)){f=!0;continue}if(a){l==="'"&&(a=!1);continue}if(o){l==='"'&&(o=!1);continue}if(c){l==="`"&&(c=!1);continue}if(l==="'"){a=!0;continue}if(l==='"'){o=!0;continue}if(l==="`"){c=!0;continue}if(l==="("?n++:l===")"&&n>0?n--:l==="{"?r++:l==="}"&&r>0?r--:l==="["?i++:l==="]"&&i>0&&i--,l===";"&&n===0&&r===0&&i===0)return{body:t.slice(0,s).trim(),rest:t.slice(s+1).trim()}}return{body:t,rest:""}}function Gn(e,t){let n=e.trim();if(!kn.test(n)||In.test(n))return null;let r=2;for(;r<n.length&&/\s/.test(n[r]);)r++;if(n[r]!=="(")return null;let i=ie(n,r,"(",")");if(!i)return null;let a=x(i.inner.trim(),t);if(!a)return null;let o=n.slice(i.end+1).trim(),c=bt(o);if(!c||!c.body)return null;let f=Me(c.body,t);if(!f)return null;o=c.rest.trim();let s=null;if(o.startsWith("else")){o=o.slice(4).trim();let l=bt(o);if(!l||!l.body||(s=Me(l.body,t),!s))return null;o=l.rest.trim()}return o.length>0?null:l=>{$(()=>{a()?f(l):s?.(l)})}}function jn(e){let t=e.trim();for(;t.startsWith("(");){let n=ie(t,0,"(",")");if(!n||n.end!==t.length-1)break;let r=n.inner.trim();if(!r)break;t=r}return t}function kt(e){let t=fe.get(e);if(t)return t;let n=[],r=[],i=0,a=/\{item\.?(\w*)\}/g,o;for(;(o=a.exec(e))!==null;)n.push(e.slice(i,o.index)),r.push(o[1]),i=a.lastIndex;n.push(e.slice(i));let c={statics:n,dynamics:r,hasItemRef:r.length>0};return Pn(e,c),c}var Nt=new WeakMap;function Ke(e,t){if(!e.hasItemRef)return e.statics[0];let n=e.statics[0];for(let r=0;r<e.dynamics.length;r++){let i=e.dynamics[r];i?n+=String(t?.[i]??""):n+=typeof t=="object"?JSON.stringify(t):String(t??""),n+=e.statics[r+1]??""}return n}function zn(e,t){let n=e.cloneNode(!0),r=document.createTreeWalker(n,NodeFilter.SHOW_TEXT);for(;r.nextNode();){let i=r.currentNode,a=i.textContent??"";if(a.includes("{item")){let o=kt(a);Nt.set(i,o),i.textContent=Ke(o,t)}}return tr(n,t),n}function Jn(e,t){let n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);for(;n.nextNode();){let r=n.currentNode,i=Nt.get(r);i&&(r.textContent=Ke(i,t))}}var Kn=new WeakMap,Xn=["data-list","data-show","data-text","data-if","data-model","data-on:","data-class:","data-bind:","data-computed","data-persist","data-fetch","data-transition","data-transition:"];function Yn(e){for(let t of Xn)if(e===t||e.startsWith(t))return!0;return!1}function de(e){return e?e.trim().split(/\s+/).map(t=>t.trim()).filter(Boolean):[]}function ge(e){let t=e.trim().toLowerCase();if(t.endsWith("ms")){let n=Number(t.slice(0,-2));return Number.isFinite(n)&&n>=0?n:null}if(t.endsWith("s")){let n=Number(t.slice(0,-1));return Number.isFinite(n)&&n>=0?n*1e3:null}return null}function He(e){let t=[],n;for(let r of de(e)){let i=ge(r);i!=null?n=i:t.push(r)}return{classes:t,durationMs:n}}function J(e){return Array.from(new Set(e.filter(Boolean)))}function Ae(e){return e?e.split(",").map(t=>ge(t.trim())).filter(t=>t!=null):[]}function vt(e,t){if(e.length===0&&t.length===0)return 0;if(e.length===0)return Math.max(...t,0);if(t.length===0)return Math.max(...e,0);let n=Math.max(e.length,t.length),r=0;for(let i=0;i<n;i++){let a=e[i%e.length]??0,o=t[i%t.length]??0;a+o>r&&(r=a+o)}return r}function Zn(e,t){if(typeof t=="number")return t;let n=window.getComputedStyle(e),r=vt(Ae(n.transitionDuration),Ae(n.transitionDelay)),i=vt(Ae(n.animationDuration),Ae(n.animationDelay));return Math.max(r,i)}function G(e){let t=e[Re];if(t)return t;let n={token:0,cancel:null};return e[Re]=n,n}function we(e){let t=e[Re];t?.cancel&&t.cancel(),delete e[Re]}function Fe(e){if(!(e.hasAttribute("data-transition")||Array.from(e.attributes).some(m=>m.name.startsWith("data-transition:"))))return null;let n=He(e.getAttribute("data-transition")).classes,r=He(e.getAttribute("data-transition:enter")),i=He(e.getAttribute("data-transition:leave")),a=de(e.getAttribute("data-transition:enter-from")??e.getAttribute("data-transition:enter-start")),o=de(e.getAttribute("data-transition:enter-to")??e.getAttribute("data-transition:enter-end")),c=de(e.getAttribute("data-transition:leave-from")??e.getAttribute("data-transition:leave-start")),f=de(e.getAttribute("data-transition:leave-to")??e.getAttribute("data-transition:leave-end")),s=ge(e.getAttribute("data-transition:duration")??""),l=ge(e.getAttribute("data-transition:duration-enter")??"")??r.durationMs??s??void 0,p=ge(e.getAttribute("data-transition:duration-leave")??"")??i.durationMs??s??void 0;return{enter:J([...n,...r.classes]),enterFrom:J(a),enterTo:J(o),leave:J([...n,...i.classes]),leaveFrom:J(c),leaveTo:J(f),enterDurationMs:l,leaveDurationMs:p}}function _e(e,t){for(let n of t)e.classList.remove(n)}function Pe(e,t){for(let n of t)e.classList.add(n)}function be(e,t,n){let r=J([...t.base,...t.from,...t.to]),i=!1,a=null,o=null,c=null,f=()=>{i||(i=!0,a!=null&&window.clearTimeout(a),o!=null&&cancelAnimationFrame(o),c!=null&&cancelAnimationFrame(c),_e(e,r),n())};return Pe(e,t.base),Pe(e,t.from),_e(e,t.to),o=requestAnimationFrame(()=>{c=requestAnimationFrame(()=>{if(i)return;_e(e,t.from),Pe(e,t.to);let s=Zn(e,t.durationMs);if(s<=0){f();return}a=window.setTimeout(f,s+25)})}),f}function Qn(e,t,n,r){if(t.insertBefore(e,n),!r)return;let i=G(e);i.token+=1;let a=i.token;i.cancel&&i.cancel(),i.cancel=be(e,{base:r.enter,from:r.enterFrom,to:r.enterTo,durationMs:r.enterDurationMs},()=>{let o=G(e);o.token===a&&(o.cancel=null)})}function Et(e,t,n){if(e.hasAttribute("data-forma-leaving")){n();return}if(!t){n();return}e.setAttribute("data-forma-leaving","");let r=G(e);r.token+=1;let i=r.token;r.cancel&&r.cancel(),r.cancel=be(e,{base:t.leave,from:t.leaveFrom,to:t.leaveTo,durationMs:t.leaveDurationMs},()=>{let a=G(e);a.token===i&&(a.cancel=null),e.removeAttribute("data-forma-leaving"),n()})}function er(e,t,n,r){if(!n||r){e.style.display=t?"":"none",n&&_e(e,J([...n.enter,...n.enterFrom,...n.enterTo,...n.leave,...n.leaveFrom,...n.leaveTo]));return}let i=G(e);i.token+=1;let a=i.token;if(i.cancel&&i.cancel(),i.cancel=null,t){e.style.display="",i.cancel=be(e,{base:n.enter,from:n.enterFrom,to:n.enterTo,durationMs:n.enterDurationMs},()=>{let o=G(e);o.token===a&&(o.cancel=null)});return}i.cancel=be(e,{base:n.leave,from:n.leaveFrom,to:n.leaveTo,durationMs:n.leaveDurationMs},()=>{let o=G(e);o.token===a&&(e.style.display="none",o.cancel=null)})}function tr(e,t){let n=[e,...Array.from(e.querySelectorAll("*"))];for(let r of n){let i=[];for(let a of Array.from(r.attributes))if(!Yn(a.name)&&a.value.includes("{item")){let o=kt(a.value);i.push({attr:a.name,compiled:o}),r.setAttribute(a.name,Ke(o,t))}i.length>0&&Kn.set(r,i)}}function nr(e,t){let n=0,r=e.match(/^[a-zA-Z_$]\w*/);if(!r)return null;let i=r[0];if(n=i.length,n>=e.length||e[n]!=="."&&!(e[n]==="?"&&e[n+1]==="."))return null;let a=[];for(;n<e.length;){let c=!1;if(e[n]==="?"&&e[n+1]===".")c=!0,n+=2;else if(e[n]===".")n+=1;else return null;let f=e.slice(n).match(/^\w+/);if(!f)return null;let s=f[0];if(n+=s.length,re.has(s))return()=>{};if(n<e.length&&e[n]==="("){let l=ie(e,n,"(",")");if(!l)return null;let p=l.inner.trim(),m=[];for(let u of Ve(p)){let h=x(u,t);if(!h)return null;m.push(h)}a.push({type:"call",name:s,optional:c,argFns:m}),n=l.end+1}else a.push({type:"prop",name:s,optional:c})}if(n!==e.length||a.length===0)return null;let o=i==="Math"?(()=>Math):(()=>t.getters[i]?.());return()=>{let c=o();for(let f of a){if(c==null)return f.optional,void 0;if(f.type==="prop")c=c[f.name];else{let s=c[f.name];if(typeof s!="function")return;let l=f.argFns.map(p=>p());c=s.apply(c,l)}}return c}}function x(e,t){let n=ue.get(e);if(n)return n(t);let r=rr(e,t);if(r!==null)if(e==="true"||e==="false"||e==="null"||e==="undefined"){let i=e==="true"?!0:e==="false"?!1:e==="null"?null:void 0;ce(e,()=>()=>i)}else if(xt.test(e))ce(e,i=>()=>i.getters[e]?.());else if(_t.test(e)||Rt.test(e)){let i=e.slice(1,-1);ce(e,()=>()=>i)}else if(Mt.test(e)){let i=Number(e);ce(e,()=>()=>i)}else{let i=e.match(dn);if(i){let a=i[1],o=i[2];ce(e,c=>()=>c.getters[a]?.()?.[o])}}return r}function rr(e,t){e=e.trim();let n=jn(e);if(n!==e)return x(n,t);if(_t.test(e)||Rt.test(e)){let u=e.slice(1,-1);return()=>u}if(Mt.test(e)){let u=Number(e);return()=>u}if(e==="true")return()=>!0;if(e==="false")return()=>!1;if(e==="null")return()=>null;if(e==="undefined")return()=>{};if(xt.test(e))return()=>t.getters[e]?.();{let u=nr(e,t);if(u)return u}let r=e.match(An);if(r){let u=r[1].trim(),h=r[2],E=r[3].trim();if(re.has(h))return()=>{};let S=x(u,t);if(!S)return null;let w=[];for(let y of Ve(E)){let v=x(y,t);if(!v)return null;w.push(v)}return()=>{let y=S(),v=y?.[h];if(typeof v!="function")return;let d=w.map(g=>g());return v.apply(y,d)}}if(e.startsWith("!")){let u=x(e.slice(1).trim(),t);if(u)return()=>!u()}let i=e.match(mn);if(i){let u=x(i[1],t),h,E=i[2];if(wn.test(E)?h=Number(E):h=E.slice(1,-1),u)return()=>u()?.[h]}if(e.startsWith("[")){let u=ie(e,0,"[","]");if(u&&u.end===e.length-1){let h=u.inner.trim();if(h==="")return()=>[];let E=Ve(h),S=[],w=!0;for(let y of E){let v=x(y.trim(),t);if(!v){w=!1;break}S.push(v)}if(w)return()=>S.map(y=>y())}}let a=e.match(pn);if(a){let u=x(a[1].trim(),t),h=x(a[2].trim(),t),E=x(a[3].trim(),t);if(u&&h&&E)return()=>u()?h():E()}let o=e.match(gn);if(o){let u=x(o[1].trim(),t),h=x(o[2].trim(),t);if(u&&h)return()=>u()??h()}let c=e.match(bn);if(c){let u=x(c[1].trim(),t),h=x(c[2].trim(),t);if(u&&h)return()=>u()||h()}let f=e.match(hn);if(f){let u=x(f[1].trim(),t),h=x(f[2].trim(),t);if(u&&h)return()=>u()&&h()}let s=e.match(vn);if(s){let u=x(s[1].trim(),t),h=x(s[3].trim(),t);if(u&&h){let E=s[2];return()=>{let S=u(),w=h();switch(E){case"===":return S===w;case"!==":return S!==w;case"==":return S==w;case"!=":return S!=w;case">":return S>w;case"<":return S<w;case">=":return S>=w;case"<=":return S<=w}}}}let l=e.match(yn);if(l){let u=x(l[1].trim(),t),h=x(l[3].trim(),t);if(u&&h){let E=l[2];return()=>{let S=u(),w=h();return E==="+"?S+w:S-w}}}let p=e.match(En);if(p){let u=x(p[1].trim(),t),h=x(p[3].trim(),t);if(u&&h){let E=p[2];return()=>{let S=u(),w=h();switch(E){case"*":return S*w;case"/":return S/w;case"%":return S%w}}}}let m=e.match(Sn);if(m){let u=m[1],h=[],E=[],S=0,w=new RegExp(Tn.source,"g"),y;for(;(y=w.exec(u))!==null;){h.push(u.slice(S,y.index));let v=x(y[1].trim(),t);if(!v)return null;E.push(v),S=w.lastIndex}return h.push(u.slice(S)),()=>{let v=h[0];for(let d=0;d<E.length;d++)v+=String(E[d]()??""),v+=h[d+1]??"";return v}}return null}function Dt(e,t){let n=e.get(t);return n||(n=new Map,e.set(t,n)),n}function Lt(e){return e.includes("...")?"Unsupported expression in CSP-safe mode: spread syntax detected. Use .concat() instead, or enable unsafe-eval via setUnsafeEval(true).":e.includes("=>")?"Unsupported expression in CSP-safe mode: arrow function detected. Extract logic to a data-computed attribute, or enable unsafe-eval via setUnsafeEval(true).":"Unsupported expression in CSP-safe mode. Simplify the expression or enable unsafe-eval via setUnsafeEval(true)."}function X(e,t){let n=e.replace(qe,"").trim(),r=Dt(ze,t),i=r.get(n);if(i)return i;let a=x(n,t);if(a)return r.set(n,a),a;if(!F){N("buildEvaluator: blocked unsafe eval fallback for expression:",n),ne("expression-unsupported",n,Lt(n));let c=()=>{};return r.set(n,c),c}let o=Ct(n);if(o){let c=`Blocked unsafe method "${o}" in expression`;throw ne("expression-unsupported",n,c),new Error(`[FormaJS] ${c}: ${n}`)}try{let c=new Function("__scope",`with(__scope) { return (${n}); }`),f=new Proxy(Object.create(null),{has(l,p){return p in t.getters},get(l,p){if(re.has(p))return;let m=t.getters[p];return m?m():void 0}}),s=()=>c(f);return r.set(n,s),s}catch{ne("expression-unsupported",n,"Expression too complex for CSP-safe mode. Enable unsafe-eval via FormaRuntime.unsafeEval = true, or use the standard (non-hardened) build.");let c=()=>{};return r.set(n,c),c}}function Me(e,t){let n=e.trim().replace(/;+$/g,"").trim();if(!n)return null;let r=Gn(n,t);if(r)return r;let i=Vn(n);if(i.length>1){let m=i.map(u=>Me(u,t));return m.every(u=>u!==null)?u=>{$(()=>{for(let h of m)h(u)})}:null}let a=i[0]??n,o=a.match(_n);if(o){let m=o[1],u=o[2];return()=>{$(()=>{let h=t.getters[m]?.()??0;t.setters[m]?.(u==="++"?h+1:h-1)})}}let c=a.match(Rn);if(c){let m=c[1],u=c[2];return()=>{$(()=>{let h=t.getters[u]?.()??0;t.setters[u]?.(m==="++"?h+1:h-1)})}}let f=a.match(Mn);if(f&&f[1]===f[2]){let m=f[1];return()=>{$(()=>{t.setters[m]?.(!t.getters[m]?.())})}}let s=a.match(xn);if(s){let m=s[1],u=x(s[2].trim(),t);if(u)return O&&N(`parseHandler: assignment "${m} = ..." \u2014 setter exists:`,!!t.setters[m],", getter exists:",!!t.getters[m]),()=>{$(()=>{let h=u();O&&N(`SETTER: ${m} = ${h} (was: ${t.getters[m]?.()})`),t.setters[m]?.(h)})}}let l=a.match(Cn);if(l){let m=l[1],u=l[2],h=x(l[3].trim(),t);if(h)return()=>{$(()=>{let E=t.getters[m]?.()??0,S=h();switch(u){case"+=":t.setters[m]?.(E+S);break;case"-=":t.setters[m]?.(E-S);break;case"*=":t.setters[m]?.(E*S);break;case"/=":t.setters[m]?.(E/S);break}})}}let p=a.match($n);if(p){let m=p[1];return()=>Tt(m)}return null}function ir(e,t){let n=e.trim();if(n.startsWith("{")){let c=ie(n,0,"{","}");c&&c.end===n.length-1&&(n=c.inner.trim())}let r=Dt(Je,t),i=r.get(n);if(i)return i;let a=Me(n,t);if(a){let c={handler:a,supported:!0};return r.set(n,c),c}if(!F){N("buildHandler: blocked unsafe eval fallback for expression:",n),ne("handler-unsupported",n,Lt(n));let c={handler:()=>{},supported:!1};return r.set(n,c),c}let o=Ct(n);if(o){let c=`Blocked unsafe method "${o}" in handler`;throw ne("handler-unsupported",n,c),new Error(`[FormaJS] ${c}: ${n}`)}try{let c=new Function("__scope","$event","event",`with(__scope) { ${n} }`),f=new Proxy(Object.create(null),{has(p,m){return m==="$event"||m==="event"?!1:m in t.getters||m in t.setters},get(p,m){if(re.has(m))return;let u=t.getters[m];return u?u():void 0},set(p,m,u){let h=t.setters[m];return h&&h(u),!0}}),l={handler:p=>{$(()=>c(f,p,p))},supported:!0};return r.set(n,l),l}catch{ne("handler-unsupported",n,"Expression too complex for CSP-safe mode. Enable unsafe-eval via FormaRuntime.unsafeEval = true, or use the standard (non-hardened) build.");let c={handler:()=>{},supported:!1};return r.set(n,c),c}}var sr=new Set(["__proto__","constructor","prototype"]);function Ot(e){let t;try{t=JSON.parse(e)}catch{return O&&N("parseState: Invalid JSON in data-forma-state \u2014 use valid JSON with quoted keys. Got:",e.slice(0,200)),{}}for(let n of sr)n in t&&delete t[n];return t}function or(e){let t=e.getAttribute("data-forma-state")??"{}",n=Ot(t),r=Object.keys(n);O&&(N("initScope: parsed",r.length,"keys:",r.join(", ")),r.length===0&&N("initScope: WARNING \u2014 empty state! Raw attribute:",t.slice(0,200)));let i={},a={};for(let[o,c]of Object.entries(n)){let[f,s]=te(c);i[o]=f,a[o]=s}return i.$refetch=()=>Tt,{getters:i,setters:a}}var yt=new Set(["id","className","tagName","nodeName","getAttribute","setAttribute","removeAttribute","hasAttribute","toggleAttribute","dataset","classList","textContent","innerText","value","checked","disabled","selected","type","name","placeholder","readOnly","required","min","max","step","pattern","getBoundingClientRect","offsetWidth","offsetHeight","offsetTop","offsetLeft","clientWidth","clientHeight","scrollWidth","scrollHeight","scrollTop","scrollLeft","style","hidden","focus","blur","click","scrollIntoView","scrollTo","closest","matches","querySelector","querySelectorAll","children","childElementCount","firstElementChild","lastElementChild","nextElementSibling","previousElementSibling"]);function ar(e){return new Proxy(e,{get(t,n){if(typeof n=="symbol")return Reflect.get(t,n);if(!yt.has(n))return;let r=Reflect.get(t,n);return typeof r=="function"?r.bind(t):r},set(t,n,r){return typeof n=="symbol"||!yt.has(n)?!1:Reflect.set(t,n,r)}})}function Y(e,t,n){let r={$el:ar(e),$dispatch:(y,v)=>{e.dispatchEvent(new CustomEvent(y,{bubbles:!0,composed:!0,detail:v}))}};t=$e(t,r);let i=fr(e),a=!i||i.has("data-computed")?e.getAttribute("data-computed"):null;if(a){let y=a.split(/;\s*(?=\w+\s*=[^=])/);for(let v of y){let d=v.trim();if(!d)continue;let g=d.match(Nn);if(g){let b=g[1],T=g[2],k=t.getters[b];delete t.getters[b];let R=X(`{${T}}`,t),D=De(R);t.getters[b]=D,k||delete t.setters[b]}}}let o=!i||i.has("data-text")?e.getAttribute("data-text"):null;if(o){let y=X(o,t),v=B(()=>{qn(e,Wn(y()))});n.push(v)}let c=!i||i.has("data-show")?e.getAttribute("data-show"):null;if(c){let y=X(c,t),v=Fe(e);if(O){let b=e.tagName.toLowerCase(),T=e.className?`.${String(e.className).split(" ")[0]}`:"";N(`bindElement: data-show="${c}" on <${b}${T}>`)}let d=!1,g=B(()=>{let b=!!y();O&&N(`data-show effect: "${c}" \u2192 ${b}`),er(e,b,v,!d),d=!0});n.push(g),v&&n.push(()=>we(e))}let f=!i||i.has("data-if")?e.getAttribute("data-if"):null;if(f){let y=X(f,t),v=Fe(e),d=document.createComment("forma-if"),g=e.parentNode,b=!0,T=!1,k=B(()=>{let R=!!y();R&&!b?(we(e),e.removeAttribute("data-forma-leaving"),T&&v?Qn(e,g,d,v):g?.insertBefore(e,d),b=!0):!R&&b&&(T&&v?Et(e,v,()=>{e.parentNode&&(g?.insertBefore(d,e),e.remove())}):(g?.insertBefore(d,e),e.remove()),b=!1),T=!0});n.push(k),v&&n.push(()=>we(e))}let s=!i||i.has("data-model")?e.getAttribute("data-model"):null;if(s){let y=s.replace(qe,"").trim(),v=t.getters[y],d=t.setters[y];if(v&&d){let g=e,b=B(()=>{let R=v();g.type==="checkbox"?g.checked=!!R:g.value=String(R??"")});n.push(b);let T=g.type==="checkbox"?"change":"input",k=()=>{g.type==="checkbox"?d(g.checked):g.type==="number"||g.type==="range"?d(Number(g.value)):d(g.value)};g.addEventListener(T,k),n.push(()=>{g.removeEventListener(T,k)})}}let l=!i||dr(i,"data-on:","data-class:","data-bind:"),p=e.attributes;if(l)for(let y=0;y<p.length;y++){let v=p[y],d=v.name;if(d.startsWith("data-on:")){let g=d.slice(8),b=ir(v.value,t),T=b.handler;if(O){let k=e.tagName.toLowerCase(),R=e.id?`#${e.id}`:"",D=e.className?`.${String(e.className).split(" ")[0]}`:"";N(`bindElement: data-on:${g}="${v.value}" on <${k}${R}${D}>`)}if(b.supported?e.hasAttribute("data-forma-handler-error")&&e.removeAttribute("data-forma-handler-error"):e.setAttribute("data-forma-handler-error","unsupported"),O){let k=v.value,R=D=>{N(`HANDLER FIRED: data-on:${g}="${k}"`,"isTrusted:",D.isTrusted),T(D)};e.addEventListener(g,R),n.push(()=>{e.removeEventListener(g,R)})}else e.addEventListener(g,T),n.push(()=>{e.removeEventListener(g,T)})}else if(d.startsWith("data-class:")){let g=d.slice(11),b=X(v.value,t),T=B(()=>{e.classList.toggle(g,!!b())});n.push(T)}else if(d.startsWith("data-bind:")){let g=d.slice(10),b=X(v.value,t),T=B(()=>{let k=b();k==null||k===!1?e.removeAttribute(g):e.setAttribute(g,String(k))});n.push(T)}}let m=!i||i.has("data-persist")?e.getAttribute("data-persist"):null;if(m){let y=m.replace(qe,"").trim(),v=t.getters[y],d=t.setters[y];if(v&&d){let g="forma:"+y;try{let T=localStorage.getItem(g);T!==null&&d(JSON.parse(T))}catch{}let b=B(()=>{try{localStorage.setItem(g,JSON.stringify(v()))}catch{}});n.push(b)}}let u=!i||i.has("data-list")?e.getAttribute("data-list"):null;if(u){let y=X(u,t),v=e.children[0];if(v){let D=function(C){let _=C;if(Array.isArray(_.__formaDisposers)){for(let A of _.__formaDisposers)try{A()}catch{}delete _.__formaDisposers}},j=function(C,_){let A=zn(d,C),L=$e(t,{item:C,index:_}),M=[];Y(A,L,M);for(let P of Array.from(A.querySelectorAll("*")))Y(P,L,M);return A.__formaDisposers=M,A},se=function(C,_,A){D(C),Jn(C,_);let L=$e(t,{item:_,index:A}),M=[];Y(C,L,M);for(let P of Array.from(C.querySelectorAll("*")))Y(P,L,M);C.__formaDisposers=M};var E=D,S=j,w=se;let d=v.cloneNode(!0);e.removeChild(v);let g=d.getAttribute("data-key"),b=g?g.replace(On,"").trim():null,T=Fe(e),k=[],R=[],oe=T?{onInsert:C=>{let _=C;if(!_.setAttribute)return;let A=G(_);A.token+=1;let L=A.token;A.cancel&&A.cancel(),A.cancel=be(_,{base:T.enter,from:T.enterFrom,to:T.enterTo,durationMs:T.enterDurationMs},()=>{let M=G(_);M.token===L&&(M.cancel=null)})},onBeforeRemove:(C,_)=>{let A=C;if(!A.setAttribute){_();return}D(C),Et(A,T,()=>{_()})}}:void 0,ae=B(()=>{let C=y();if(!Array.isArray(C)){for(let A of R)D(A),e.removeChild(A);k=[],R=[];return}if(T){let A=e.querySelectorAll("[data-forma-leaving]");for(let L of Array.from(A))we(L),L.removeAttribute("data-forma-leaving"),L.parentNode&&L.parentNode.removeChild(L)}let _=new Set(R);if(b){let A=Le(e,k,C,R,M=>String(M?.[b]??""),M=>{let P=C.indexOf(M);return j(M,P)},(M,P)=>{let I=C.indexOf(P);se(M,P,I)},void 0,oe),L=new Set(A.nodes);for(let M of _)if(!L.has(M)){if(M.hasAttribute?.("data-forma-leaving"))continue;D(M)}k=A.items,R=A.nodes}else{let A=C.map((I,ve)=>({__idx:ve,__item:I})),M=Le(e,k,A,R,I=>I.__idx,I=>j(I.__item,I.__idx),(I,ve)=>se(I,ve.__item,ve.__idx),void 0,oe),P=new Set(M.nodes);for(let I of _)if(!P.has(I)){if(I.hasAttribute?.("data-forma-leaving"))continue;D(I)}k=M.items,R=M.nodes}});n.push(ae)}}let h=!i||i.has("data-fetch")?e.getAttribute("data-fetch"):null;if(h){let y=h.match(Dn);if(y){let v=y[1].trim(),d=y[2].trim(),g=y[3]?.trim()??"",b="GET",T=v,k=v.match(Ln);k&&(b=k[1].toUpperCase(),T=k[2].trim());let R,D,j;for(let _ of g.split("|").filter(Boolean)){let[A,L]=_.split(":").map(M=>M.trim());A==="loading"?R=L:A==="error"?D=L:A==="poll"&&(j=parseInt(L??"0",10))}let[se,oe]=te(null);if(t.getters[d]=se,t.setters[d]=oe,R){let[_,A]=te(!1);t.getters[R]=_,t.setters[R]=A}if(D){let[_,A]=te(null);t.getters[D]=_,t.setters[D]=A}let ae=()=>{R&&t.setters[R](!0),fetch(T,{method:b}).then(_=>_.json()).then(_=>{oe(_),R&&t.setters[R](!1)}).catch(_=>{D&&t.setters[D](_.message),R&&t.setters[R](!1)})},C=e.getAttribute("data-fetch-id");if(C&&(Ue.set(C,ae),n.push(()=>Ue.delete(C))),ae(),j&&j>0){let _=setInterval(ae,j);n.push(()=>clearInterval(_))}}}}var gi=["[data-text]","[data-show]","[data-if]","[data-model]","[data-computed]","[data-persist]","[data-list]","[data-fetch]","[data-bind\\:*]","[data-class\\:*]","[data-on\\:*]","[data-transition]"].join(",");function lr(e){let t=e.attributes;for(let n=0;n<t.length;n++){let r=t[n].name;if(r.startsWith("data-text")||r.startsWith("data-show")||r.startsWith("data-if")||r.startsWith("data-model")||r.startsWith("data-computed")||r.startsWith("data-persist")||r.startsWith("data-list")||r.startsWith("data-fetch")||r.startsWith("data-on:")||r.startsWith("data-class:")||r.startsWith("data-bind:")||r.startsWith("data-transition"))return!0}return!1}var V=null;function cr(e){if(!e||Object.keys(e).length===0){V=null;return}V=new Map;for(let t in e)V.set(t,new Set(e[t]))}function ur(){if(!V||V.size===0||V.size>200)return null;let e=[];for(let t of V.keys())e.push(`[data-forma-id="${t}"]`);return e.join(",")}function fr(e){if(!V)return null;let t=e.getAttribute("data-forma-id");return t?V.get(t)??null:null}function dr(e,...t){for(let n of e)for(let r of t)if(n.startsWith(r))return!0;return!1}function Z(e){if(e.__formaDisposers){O&&N("mountScope: SKIPPED (already mounted)");return}let t=or(e),n=[],r=new Map,i=e.querySelectorAll("[data-ref]");for(let f=0;f<i.length;f++){let s=i[f],l=s.getAttribute("data-ref");l&&r.set(l,s)}let a=e.getAttribute("data-ref");a&&r.set(a,e),t.getters.$refs=()=>new Proxy({},{get(f,s){return r.get(s)??void 0},has(f,s){return r.has(s)}}),Y(e,t,n);let o=0,c=ur();if(c){let f=e.querySelectorAll(c);for(let s=0;s<f.length;s++)Y(f[s],t,n),o++}else{let f=e.querySelectorAll("*");for(let s=0;s<f.length;s++){let l=f[s];lr(l)&&(Y(l,t,n),o++)}}e.__formaDisposers=n,e.__formaScope=t,e.__formaInitialState=e.getAttribute("data-forma-state")??"{}",O&&N("mountScope: DONE \u2014",o,"elements bound,",n.length,"disposers",c?"(targeted)":"(full scan)")}function Q(e){let t=e.__formaDisposers;if(t){for(let n of t)try{n()}catch{}delete e.__formaDisposers,delete e.__formaScope,delete e.__formaInitialState}}var U=null,St=1,mr=40,me=[],he=!1;function pr(e){for(let t=0;t<e.removedNodes.length;t++){let n=e.removedNodes[t];if(n.nodeType!==St)continue;let r=n;r.hasAttribute("data-forma-state")&&(O&&N("MutationObserver: REMOVED scope"),Q(r));let i=r.querySelectorAll("[data-forma-state]");for(let a=0;a<i.length;a++)Q(i[a])}for(let t=0;t<e.addedNodes.length;t++){let n=e.addedNodes[t];if(n.nodeType!==St)continue;let r=n;if(r.closest("[data-forma-leaving]"))continue;r.hasAttribute("data-forma-state")&&(O&&N("MutationObserver: ADDED scope via mutation"),Z(r));let i=r.querySelectorAll("[data-forma-state]");O&&i.length>0&&N("MutationObserver: found",i.length,"nested scope(s) in added subtree");for(let a=0;a<i.length;a++){let o=i[a];o.closest("[data-forma-leaving]")||Z(o)}}if(e.type==="attributes"&&e.attributeName==="data-forma-state"){let t=e.target;Q(t),t.hasAttribute("data-forma-state")&&Z(t)}}async function It(){try{for(;me.length>0;){let e=me.splice(0,mr);for(let t=0;t<e.length;t++)pr(e[t]);me.length>0&&await At()}}finally{he=!1,me.length>0&&!he&&(he=!0,It())}}function gr(e){O&&N("MutationObserver: queued",e.length,"mutation(s)"),me.push(...e),!he&&(he=!0,It())}function hr(){if(U)return;U=new MutationObserver(gr);let e=document.body||document.documentElement;e&&U.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-forma-state"]})}function br(){U&&(U.disconnect(),U=null)}function Ge(){un&&wt(document,{skipIfAlreadySet:!0});let e=document.querySelectorAll("[data-forma-state]");O&&N("initRuntime: found",e.length,"scope(s)");for(let t of Array.from(e))Z(t);hr(),O&&N("initRuntime: MutationObserver started")}function vr(){br();let e=document.querySelectorAll("[data-forma-state]");for(let t of Array.from(e))Q(t)}function Er(e){e.hasAttribute("data-forma-state")&&Z(e);let t=e.querySelectorAll("[data-forma-state]");for(let n of Array.from(t))Z(n)}function yr(e){e.hasAttribute("data-forma-state")&&Q(e);let t=e.querySelectorAll("[data-forma-state]");for(let n of Array.from(t))Q(n)}typeof document<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Ge):Ge());function Sr(e){O=e}function Tr(e){H!==e&&(H=e,e==="locked-off"&&(F=!1),e==="locked-on"&&(F=!0),e==="mutable"&&(F=!0),ze=new WeakMap,Je=new WeakMap)}function Ar(e){if(H!=="mutable"){N(`setUnsafeEval ignored (mode=${H}); unsafe fallback is locked`);return}F!==e&&(F=e,ze=new WeakMap,Je=new WeakMap)}function wr(){return H}function _r(e){je=e}function Rr(){return Array.from(pe.values()).map(e=>({...e}))}function Mr(){pe.clear()}function xr(){let e=document.querySelectorAll("[data-forma-state]"),t=[];for(let n of Array.from(e)){if(n.closest("[data-forma-leaving]"))continue;let r=n.__formaScope,i=n.__formaInitialState;if(!r)continue;let a={};for(let o of Object.keys(r.getters)){let c=r.getters[o]();a[o]={value:c,type:typeof c}}t.push({element:n,id:n.getAttribute("data-forma-id")||n.id||n.tagName.toLowerCase(),values:a,initialJSON:i??"{}"})}return t}function Cr(e,t,n){let r=e.__formaScope;r?.setters[t]&&$(()=>{r.setters[t](n)})}function kr(e){let t=e.__formaScope,n=e.__formaInitialState;if(!t||!n)return;let r=Ot(n);$(()=>{for(let[i,a]of Object.entries(r))t.setters[i]?.(a)})}var Be=null;function Nr(){return Be||(Be=mt({mountScope:Z,unmountScope:Q,disconnectObserver(){U&&U.disconnect()},reconnectObserver(){if(U){let e=document.body||document.documentElement;e&&U.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-forma-state"]})}},batch:$})),Be}function Dr(e,t){Nr()(e,t)}return Ut(Lr);})();
//# sourceMappingURL=formajs-runtime.global.js.map
{
"name": "@getforma/core",
"author": "Forma <victor@getforma.dev>",
"version": "0.8.2",
"version": "0.9.0",
"description": "Real DOM reactive library — fine-grained signals, islands architecture, SSR hydration. No virtual DOM, no diffing. ~15KB gzipped.",

@@ -100,2 +100,3 @@ "type": "module",

"test:e2e": "npm run build && cp dist/formajs-runtime.global.js e2e/fixtures/ && npx playwright test",
"docs": "typedoc",
"prepublishOnly": "npm run build"

@@ -143,2 +144,3 @@ },

"tsup": "^8.5.1",
"typedoc": "^0.28.17",
"typescript": "^5.7.3",

@@ -145,0 +147,0 @@ "vitest": "^4.0.18"

@@ -103,4 +103,6 @@ # FormaJS

| `data-transition:*` | Enter/leave CSS transitions | `data-transition:enter="fade-in"` |
| `data-ref` | Register element for `$refs` access | `data-ref="myInput"` |
| `$el` | Reference to the current DOM element | `data-on:click="{$el.classList.toggle('active')}"` |
| `$dispatch` | Fire a CustomEvent (bubbles, crosses Shadow DOM) | `data-on:click="{$dispatch('selected', {id: itemId})}"` |
| `$refs` | Named element references | `data-on:click="{$refs.myInput.focus()}"` |

@@ -107,0 +109,0 @@ CSP-safe expression parser — no `eval()` or `new Function()` by default. For strict CSP environments, use the hardened build:

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display