tutuca 0.9.11 → 0.9.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,3 @@
1
- class Yt{lookup(t,e=null){return e}setValue(t,e){return t}updateBindings(t,e){}isFrame=!0}class Et extends Yt{constructor(t){super();this.binds=t}lookup(t,e){return t}setValue(t,e){return e}withIndex(t){return new Et({...this.binds,key:t})}withKey(t){return new Et({...this.binds,key:t})}updateBindings(t,e){Object.assign(e,this.binds)}isFrame=!1}class be extends Yt{constructor(t){super();this.field=t}lookup(t,e=null){return t?.get?t.get(this.field,e):e}setValue(t,e){return t.set(this.field,e)}withIndex(t){return new zr(this.field,t)}withKey(t){return new pr(this.field,t)}}class wr extends Yt{constructor(t,e){super();this.field=t,this.key=e}lookup(t,e=null){let r=t?.get(this.field,null);return r?.get?r.get(this.key,e):e}setValue(t,e){return t.set(this.field,t.get(this.field).set(this.key,e))}updateBindings(t,e){e.key=this.key}}class pr extends wr{}class zr extends wr{}var T=Symbol("NONE");class Sr extends Yt{constructor(t,e){super();this.seqField=t,this.keyField=e}lookup(t,e=null){let r=t?.get(this.seqField,T),s=t?.get(this.keyField,T);return s!==T&&r?.get?r.get(s,e):e}setValue(t,e){let r=t?.get(this.seqField,T),s=t?.get(this.keyField,T);return r===T||s===T?t:t.set(this.seqField,r.set(s,e))}updateBindings(t,e){e.key=t?.get(this.keyField,null)}}class et{constructor(t=[]){this.steps=t}concat(t){return new et(this.steps.concat(t))}popStep(){return new et(this.steps.slice(0,-1))}lookup(t,e=null){let r=t;for(let s of this.steps)if(r=s.lookup(r,T),r===T)return e;return r}setValue(t,e){let r=Array(this.steps.length),s=t;for(let n=0;n<this.steps.length;n++)if(r[n]=s,s=this.steps[n].lookup(s,T),s===T)return t;let i=e;for(let n=this.steps.length-1;n>=0;n--)i=this.steps[n].setValue(r[n],i),r[n]=i;return i}buildStack(t){let e=t.it,r=e;for(let s of this.steps){if(r=s.lookup(r,T),r===T)return console.warn("bad PathItem",{root:e,curVal:r,step:s,path:this}),null;s.updateBindings(r,t.binds.head.bindings),t=t.enter(r,{},s.isFrame)}return t}static fromNodeAndEventName(t,e,r,s,i,n=!0){let h=[],u=0,o=[],f=null,c=[],_=!0;while(t&&t!==r&&u<s){if(t?.dataset){let{nid:l,si:a,sk:y}=_i(t.previousSibling),{eid:p,cid:d,vid:j}=t.dataset;if(p!==void 0)o.push(p);if(d!==void 0){let bt=i.getComponentForId(+d,j);if(_){if(f=Rh(bt,o,j,e),f===null&&n)return Zh;_=!1}let qt=Th(bt,c,j);if(qt)h.push(qt);o=[],c=[]}if(l!==void 0)c.push({nid:l,si:a,sk:y})}u+=1,t=t.parentNode}return[new et(h.reverse()),f]}static fromEvent(t,e,r,s,i=!0){let{type:n,target:h}=t;return et.fromNodeAndEventName(h,n,e,r,s,i)}}var ci={};function _i(t){if(t?.nodeType===8&&t.textContent[0]==="§"){let e=_i(t.previousSibling);if(e!==ci)return e;try{return JSON.parse(t.textContent.slice(1,-1))}catch(r){console.warn(r,t)}}return ci}function Rh(t,e,r,s){for(let i of e){let n=t.getEventForId(+i,r).getHandlersFor(s);if(n!==null)return n}return null}function Th(t,e,r){for(let s=0;s<e.length;s++){let i=t.getNodeForId(+e[s].nid,r),n=i.pathInNext?s+1:s,{si:h,sk:u,nid:o}=e[n],f=i.pathInNext?t.getNodeForId(+o,r).val.toPathItem():i.toPathItem();if(f!==null)return h!==void 0?f.withIndex(+h):u?f.withKey(u):f}return null}var Zh=[null,null];class dr{constructor(){this.pathChanges=[]}add(t){return this.pathChanges.push(t),this}field(t){return this.add(new be(t))}index(t,e){return this.add(new zr(t,e))}key(t,e){return this.add(new pr(t,e))}}var Xh=/^[a-zA-Z][a-zA-Z0-9_]*$/,ot=(t)=>Xh.test(t),Hh=/^-?[0-9]+(\.[0-9]+)?$/,li=(t,e)=>Mr.parse(t,e),Bt=(t,e)=>new W(t),Qh=(t,e)=>ot(t)?new k(t):null,Gh=(t,e)=>ot(t)?new $e(t):null,Yh=(t,e)=>ot(t)?new qr(t):null,Bh=(t,e)=>ot(t)?new wi(t):null,Ph=(t,e)=>ot(t)?new Ue(t):null,Ch=(t,e)=>ot(t)?new Ke(t):null,xh=(t,e)=>ot(t)?new Ae(t):null;class ai{constructor(){this.allowFieldOnly(),this.bindValIt=new qr("it"),this.nullConstVal=new W(null)}const(t){return new W(t)}allowFieldOnly(){this.okField=!0,this.okBind=!1,this.okComputed=!1,this.okDyn=!1,this.okType=!1,this.okRequest=!1,this.okName=!1,this.okConst=!1,this.okStrTpl=!1,this.okSeqAccess=!1}parseIfOk(t,e,r,s){return r?s(t,e):null}_parseSeqAccess(t,e){if(!this.okSeqAccess)return null;let r=t.indexOf("[");this.allowFieldOnly();let s=this.parse(t.slice(0,r),e),i=this.parse(t.slice(r+1,-1),e);return s&&i?new Ie(s,i):null}parse(t,e){switch(Fh(t)){case pi:return this.parseIfOk(t,e,this.okStrTpl,li);case Si:return this.parseIfOk(t,e,this.okStrTpl,Bt);case zi:return this._parseSeqAccess(t,e);case qe:return this.parseIfOk(t,e,this.okStrTpl,li)}let r=t.charCodeAt(0);switch(r){case 94:{let i=e.frame.macroVars?.[t.slice(1)];if(i!==void 0)return this.parse(i,e);return null}case 126:return this.parseIfOk(t.slice(1),e,this.okStrTpl,Bt);case 39:return this.parseIfOk(t.slice(1,-1),e,this.okStrTpl,Bt);case 64:return this.parseIfOk(t.slice(1),e,this.okBind,Yh);case 42:return this.parseIfOk(t.slice(1),e,this.okDyn,Bh);case 46:return this.parseIfOk(t.slice(1),e,this.okField,Ph);case 36:return this.parseIfOk(t.slice(1),e,this.okComputed,Ch);case 33:return this.parseIfOk(t.slice(1),e,this.okRequest,xh)}let s=Hh.test(t)?parseFloat(t):null;if(Number.isFinite(s))return this.parseIfOk(s,e,this.okConst,Bt);else if(t==="true"||t==="false")return this.parseIfOk(t==="true",e,this.okConst,Bt);else if(r>=97&&r<=122)return this.parseIfOk(t,e,this.okName,Qh);else if(r>=65&&r<=90)return this.parseIfOk(t,e,this.okType,Gh);return null}parseDynamic(t,e){return this.allowFieldOnly(),this.okComputed=!0,this.parse(t,e)}parseEach(t,e){return this.allowFieldOnly(),this.okComputed=!0,this.okDyn=!0,this.parse(t,e)}allowHandlerArg(){this.allowFieldOnly(),this.okBind=!0,this.okComputed=!0,this.okDyn=!0,this.okType=!0,this.okRequest=!0,this.okName=!0,this.okConst=!0}parseHandlerArg(t,e){return this.allowHandlerArg(),this.parse(t,e)}_parseHandler(t,e,r){this.allowFieldOnly(),this.okName=!0;let s=this.parse(t,e);return s&&(s.toRawFieldVal?s.toRawFieldVal():new r(s.name))}parseHandlerName(t,e){return this._parseHandler(t,e,je)}parseAlter(t,e){return this._parseHandler(t,e,yi)}parseAttr(t,e){return this.parseText(t,e)}parseAll(t,e){return this.allowHandlerArg(),this.okStrTpl=!0,this.okSeqAccess=!0,this.parse(t,e)}parseCondValue(t,e){return this.allowFieldOnly(),this.okBind=!0,this.okComputed=!0,this.okDyn=!0,this.okConst=!0,this.parse(t,e)}parseText(t,e){return this.allowFieldOnly(),this.okBind=!0,this.okComputed=!0,this.okDyn=!0,this.okConst=!0,this.okStrTpl=!0,this.parse(t,e)}parseRender(t,e){return this.allowFieldOnly(),this.okSeqAccess=!0,this.parse(t,e)}}class Ee{render(t,e){}eval(t){}toPathItem(){return null}}class W extends Ee{constructor(t){super();this.value=t}render(t,e){return this.value}eval(t){return this.value}toString(){let t=this.value;return typeof t==="string"?`'${t}'`:`${t}`}}class Or extends Ee{}class Mr extends Or{constructor(t){super();this.vals=t}render(t,e){return this.eval(t)}eval(t){let e=Array(this.vals.length);for(let r=0;r<this.vals.length;r++)e[r]=this.vals[r]?.eval(t,"");return e.join("")}static parse(t,e){let r=t.split(/(\{[^}]+\})/g),s=Array(r.length),i=!0;for(let n=0;n<r.length;n++){let h=r[n],o=h[0]==="{"&&h.at(-1)==="}"?w.parseText(h.slice(1,-1),e):new W(h);s[n]=o,i&&=o instanceof W}return i?new W(s.map((n)=>n.value).join("")):new Mr(s)}}class k extends Or{constructor(t){super();this.name=t}eval(t){return t.lookupName(this.name)}toString(){return this.name}}class je extends k{eval(t){return t.getInputHandler(this.name)??gi("input",this.name)}}class yi extends k{eval(t){return t.getAlterHandler(this.name)??gi("alter",this.name)}}var gi=(t,e)=>function(...r){return console.warn("handler not found",{type:t,name:e,args:r},this),this};class $e extends k{eval(t){return t.lookupType(this.name)}}class Ae extends k{eval(t){return t.lookupRequest(this.name)}toString(){return`!${this.name}`}}class Pt extends k{eval(t){return t.lookupFieldRaw(this.name)}toString(){return`.${this.name}`}}class br extends Ee{render(t,e){return this.eval(t)}}class Ct extends br{constructor(t){super();this.name=t}}class qr extends Ct{eval(t){return t.lookupBind(this.name)}toString(){return`@${this.name}`}}class wi extends Ct{eval(t){return t.lookupDynamic(this.name)}toPathItem(){return null}toString(){return`*${this.name}`}}class Ue extends Ct{eval(t){return t.lookupField(this.name)}toPathItem(){return new be(this.name)}toRawFieldVal(){return new Pt(this.name)}toString(){return`.${this.name}`}}class Ke extends Ct{eval(t){return t.lookupComputed(this.name)}toString(){return`$${this.name}`}}class Ie extends br{constructor(t,e){super();this.seqVal=t,this.keyVal=e}toPathItem(){return new Sr(this.seqVal.name,this.keyVal.name)}eval(t){let e=this.keyVal.eval(t);return this.seqVal.eval(t).get(e,null)}toString(){return`${this.seqVal}[${this.keyVal}]`}}var pi=0,zi=1,qe=2,Si=3;function Fh(t){let e=0,r=0;for(let s=0;s<t.length;s++)switch(t.charCodeAt(s)){case 91:if(e>0)return qe;e+=1;break;case 93:if(r>0||e===0)return qe;r+=1;break;case 123:return pi;case 125:return Si}if(e>0||r>0)return e===1&&r===1?zi:qe;return-1}var w=new ai;class jt{constructor(t){this.items=t}eval(t){return{}}static parse(t,e,r=!1){return Ar(e).parse(t,r)}isConstant(){return!1}}var kh="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected",Vh=new Set(kh.split(","));class di{constructor(t){this.clear(t)}clear(t){this.px=t,this.attrs=null,this.hasDynamic=!1,this.wrapperAttrs=null,this.textChild=null,this.eachAttr=null,this.ifAttr=null,this.events=null}parseAttr(t,e,r=!1){let s=r?w.parseAll(e,this.px):w.parseAttr(e,this.px);if(s!==null)this.attrs??=[],this.attrs.push(new $t(t,s)),this.hasDynamic||=!(s instanceof W)}pushWrapper(t,e,r){let s={name:t,val:r,raw:e};return this.wrapperAttrs??=[],this.wrapperAttrs.push(s),s}parseIf(t,e){let r=w.parseCondValue(e,this.px);if(r)this.ifAttr=new Mi(t.slice(3),r),this.attrs??=[],this.attrs.push(this.ifAttr),this.hasDynamic=!0}parseThen(t){if(this.ifAttr)this.ifAttr.thenVal=w.parseAttr(t,this.px)??xt}parseElse(t){if(this.ifAttr)this.ifAttr.elseVal=w.parseAttr(t,this.px)??xt}parseEvent(t,e){let[r,...s]=t.slice(3).split("+"),i=Ur.parse(e,this.px);if(i){if(this.events===null)this.events=this.px.registerEvents(),this.attrs??=[],this.attrs.push(new Le("data-eid",w.const(this.events.id)));this.events.add(r,i,s)}}parseDirective(t,e){switch(e){case"dangerouslysetinnerhtml":this.attrs??=[],this.attrs.push(new Oi(w.parseText(t,this.px))),this.hasDynamic=!0;return;case"slot":this.pushWrapper("slot",t,w.const(t));return;case"push-view":this.pushWrapper("push-view",t,w.parseText(t,this.px));return;case"text":this.textChild=w.parseText(t,this.px);return;case"show":this.pushWrapper("show",t,w.parseCondValue(t,this.px));return;case"hide":this.pushWrapper("hide",t,w.parseCondValue(t,this.px));return;case"each":this.eachAttr=this.pushWrapper("each",t,w.parseEach(t,this.px));return;case"enrich-with":if(this.eachAttr!==null)this.eachAttr.enrichWithVal=w.parseAlter(t,this.px);else this.pushWrapper("scope",t,w.parseAlter(t,this.px));return;case"when":this._parseWhen(t);return;case"loop-with":this._parseLoopWith(t);return;case"then":this.parseThen(t);return;case"else":this.parseElse(t);return}if(e.startsWith("on."))this.parseEvent(e,t);else if(e.startsWith("if."))this.parseIf(e,t);else if(e.startsWith("then."))this.parseThen(t);else if(e.startsWith("else."))this.parseElse(t)}_parseWhen(t){if(this.eachAttr!==null)this.eachAttr.whenVal=w.parseAlter(t,this.px)}_parseLoopWith(t){if(this.eachAttr!==null)this.eachAttr.loopWithVal=w.parseAlter(t,this.px)}parse(t,e=!1){for(let{name:n,value:h}of t){let u=n.charCodeAt(0);if(u===58)this.parseAttr(n===":viewbox"?"viewBox":n.slice(1),h,e);else if(u===64)this.parseDirective(h,n.slice(1));else{this.attrs??=[];let o=h===""&&Vh.has(n)?!0:h;this.attrs.push(new Le(n,w.const(o)))}}let{attrs:r,hasDynamic:s}=this;return[s?new We(r):jr.fromAttrs(r??[]),this.wrapperAttrs,this.textChild]}}class jr extends jt{eval(t){return this.items}static fromAttrs(t){let e={};for(let r of t)e[r.name]=r.value.eval(null);return new jr(e)}setDataAttr(t,e){this.items[t]=e}toMacroVars(){let t={};for(let e in this.items)t[e]=`'${this.items[e]}'`;return t}isConstant(){return!0}}class We extends jt{eval(t){let e={};for(let r of this.items)e[r.name]=r.eval(t);return e}setDataAttr(t,e){this.items.push(new Le(t,new W(e)))}toMacroVars(){let t={};for(let e of this.items)t[e.name]=e.value.toString();return t}}class $r{constructor(t){this.name=t}}class $t extends $r{constructor(t,e){super(t);this.value=e}eval(t){return this.value.eval(t)}}class Le extends $t{}class Oi extends $t{constructor(t){super("dangerouslySetInnerHTML",t??w.nullConstVal)}eval(t){return{__html:`${this.value.eval(t)}`}}}var xt=w.nullConstVal;class Mi extends $r{constructor(t,e){super(t);this.condVal=e,this.thenVal=this.elseVal=xt}get anyBranchIsSet(){return this.thenVal!==xt||this.elseVal!==xt}eval(t){return this.condVal.eval(t)?this.thenVal.eval(t):this.elseVal.eval(t)}}var Er=null;function Ar(t){return Er??=new di(t),Er.clear(t),Er}class Ur{constructor(t,e=[]){this.handlerVal=t,this.args=e}getHandlerAndArgs(t,e){let r=Array(this.args.length);for(let s=0;s<r.length;s++)r[s]=this.args[s].eval(t);return[this.handlerVal.eval(t),r]}static parse(t,e){let[r,...s]=t.trim().split(/\s+/),i=w.parseHandlerName(r,e);if(i===null)return null;let n=Array(s.length);w.allowHandlerArg();for(let h=0;h<s.length;h++){let u=w.parse(s[h],e);n[h]=u!==null?u:w.nullConstVal}return new Ur(i,n)}}class Kr{constructor(t,e){this.name=t,this.fn=e}toHandlerArg(t){let e=(...r)=>t.request(this.name,r);return e.withOpts=(...r)=>t.request(this.name,r.slice(0,-1),r.at(-1)),e}}class At{render(t,e){return e.renderEmpty()}setDataAttr(t,e){console.warn("setDataAttr not implemented for",this,{key:t,val:e})}isConstant(){return!1}optimize(){}}class Vt extends At{constructor(t){super();this.v=t}render(t,e){return e.renderText(this.v)}isWhiteSpace(){for(let t=0;t<this.v.length;t++){let e=this.v.charCodeAt(t);if(!(e===32||e===10||e===9||e===13))return!1}return!0}hasNewLine(){for(let t=0;t<this.v.length;t++){let e=this.v.charCodeAt(t);if(e===10||e===13)return!0}return!1}condenseWhiteSpace(){this.v=""}isConstant(){return!0}setDataAttr(t,e){}}class kt extends Vt{render(t,e){return e.renderComment(this.v)}}function Nh(t){for(let e=0;e<t.length;e++){let r=t[e];if(r.isConstant())t[e]=new Rr(r);else r.optimize()}}function Wr(t){if(t.isConstant())return new Rr(t);return t.optimize(),t}class Jr extends At{constructor(t){super();this.childs=t}isConstant(){return this.childs.every((t)=>t.isConstant())}optimize(){Nh(this.childs)}}class Je extends Jr{constructor(t,e,r){super(r);this.tagName=t,this.attrs=e}render(t,e){let r=Array(this.childs.length);for(let s=0;s<r.length;s++)r[s]=this.childs[s]?.render?.(t,e)??null;return e.renderTag(this.tagName,this.attrs.eval(t),r)}setDataAttr(t,e){this.attrs.setDataAttr(t,e)}isConstant(){return this.attrs.isConstant()&&super.isConstant()}}class De extends Jr{render(t,e){return e.renderFragment(this.childs.map((r)=>r?.render(t,e)))}setDataAttr(t,e){for(let r of this.childs)r.setDataAttr(t,e)}}var Ft=(t)=>t.length===1?t[0]:new De(t),mh=/^[a-zA-Z][a-zA-Z0-9-]*$/,bi=null;class rt extends At{constructor(t,e){super();this.nodeId=t,this.val=e}toPathItem(){return this.val.toPathItem()}static parse(t,e){bi??=e.newDOMParser();let r=bi.parseFromString(t,"text/html").body.childNodes;return rt.fromDOM(r[0]??new e.Text(""),e)}static fromDOM(t,e){if(e.isTextNode(t))return new Vt(t.textContent);else if(e.isCommentNode(t))return new kt(t.textContent);let{childNodes:r,attributes:s,tagName:i}=t,n=Array(r.length);for(let h=0;h<r.length;h++)n[h]=rt.fromDOM(r[h],e);if(i==="X"){if(s.length===0)return Ft(n);let{name:h,value:u}=s[0],o=s.getNamedItem("as")?.value??null;switch(h){case"slot":return new Ze(null,w.const(u),Ft(n));case"text":{let f=w.parseText(u,e);return f!==null?new Lr(null,f):null}case"render":return e.addNodeIf(Ki,w.parseRender(u,e),o);case"render-it":return e.addNodeIf(Te,w.bindValIt,o);case"render-each":return Nt.parse(e,w,u,o,s);case"show":return e.addNodeIf(Tr,w.parseCondValue(u,e),Ft(n));case"hide":return e.addNodeIf(Zr,w.parseCondValue(u,e),Ft(n))}return new kt(`Error: InvalidSpecialTagOp ${h}=${u}`)}else if(i.charCodeAt(1)===58&&i.charCodeAt(0)===88){let h=i.slice(2).toLowerCase();if(h==="slot"){let f=s.getNamedItem("name")?.value??"_";return e.frame.macroSlots[f]??Ft(n)}let[u,o]=jt.parse(s,e,!0);return e.onAttributes(u,o,null),qi(e.newMacroNode(h,u.toMacroVars(),n),e,o)}else if(mh.test(i)){let[h,u,o]=jt.parse(s,e);if(e.onAttributes(h,u,o),o)n.unshift(new Lr(null,o));let f=i!=="PRE"?su(n):n;return qi(new Je(i.toLowerCase(),h,f),e,u)}return new kt(`Error: InvalidTagName ${i}`)}}function qi(t,e,r){if(r)for(let s=r.length-1;s>=0;s--){let i=vh(r[s],e);if(i)i.wrapNode(t),t=i}return t}function vh(t,e){let r=ru[t.name],s=r.register?e.addNodeIf(r,t.val):t.val&&new r(null,t.val);if(s!==null&&t.name==="each")s.iterInfo.enrichWithVal=t.enrichWithVal??null,s.iterInfo.whenVal=t.whenVal??null,s.iterInfo.loopWithVal=t.loopWithVal??null;return s}class Ui extends At{constructor(t,e,r,s){super();this.name=t,this.attrs=e,this.slots=r,this.px=s,this.node=null,this.dataAttrs={}}compile(t){let{name:e,attrs:r,slots:s}=this;if(this.px.isInsideMacro(e))throw Error(`Recursive macro expansion: ${e}`);let i=t.lookupMacro(e);if(i===null)this.node=new kt(`bad macro: ${e}`);else{let n={...i.defaults,...r};this.node=i.expand(this.px.enterMacro(e,n,s));for(let h in this.dataAttrs)this.node.setDataAttr(h,this.dataAttrs[h])}}render(t,e){return this.node.render(t,e)}setDataAttr(t,e){this.dataAttrs[t]=e}isConstant(){return this.node.isConstant()}optimize(){this.node=Wr(this.node)}}class Dr{constructor(t,e){this.defaults=t,this.rawView=e}expand(t){return rt.parse(this.rawView,t)}}class Re extends rt{constructor(t,e,r){super(t,e);this.viewId=r}}class Ki extends Re{render(t,e){let r=t.enter(this.val.eval(t),{},!0);return e.renderIt(r,this.nodeId,"",this.viewId)}}class Te extends Re{render(t,e){return e.renderIt(t,this.nodeId,"",this.viewId)}pathInNext=!0}class Nt extends Re{constructor(t,e,r){super(t,e,r);this.iterInfo=new Xr(e,null,null,null)}render(t,e){return e.renderEach(t,this.iterInfo,this.nodeId,this.viewId)}static parse(t,e,r,s,i){let n=t.addNodeIf(Nt,e.parseEach(r,t),s);if(n!==null){let h=Ar(t);h.eachAttr=h.pushWrapper("each",r,n.val);let u=i.getNamedItem("when");u&&h._parseWhen(u.value);let o=i.getNamedItem("loop-with");o&&h._parseLoopWith(o.value),n.iterInfo.whenVal=h.eachAttr.whenVal??null,n.iterInfo.loopWithVal=h.eachAttr.loopWithVal??null}return n}}class Lr extends rt{render(t,e){return e.renderText(this.val.eval(t))}}class Rr extends At{constructor(t){super();this.node=t,this._render=(e,r)=>{let s=t.render(e,r);return this._render=(i,n)=>s,s}}render(t,e){return this._render(t,e)}}class ft extends rt{constructor(t,e,r=null){super(t,e);this.node=r}wrapNode(t){this.node=t}setDataAttr(t,e){this.node.setDataAttr(t,e)}optimize(){this.node=Wr(this.node)}static register=!1}class Tr extends ft{render(t,e){return this.val.eval(t)?this.node.render(t,e):e.renderEmpty()}}class Zr extends ft{render(t,e){return this.val.eval(t)?e.renderEmpty():this.node.render(t,e)}}class Ii extends ft{render(t,e){return this.node.render(t.pushViewName(this.val.eval(t)),e)}}class Ze extends ft{optimize(){this.node.optimize()}}class Li extends ft{render(t,e){let r=this.val.eval(t)?.call(t.it)??{};return this.node.render(t.enter(t.it,r,!1),e)}toPathItem(){return new Et({})}wrapNode(t){this.node=t,this.node.setDataAttr("data-nid",this.nodeId)}static register=!0}class Xe extends ft{constructor(t,e){super(t,e);this.iterInfo=new Xr(e,null,null,null)}render(t,e){return e.renderEachWhen(t,this.iterInfo,this.node,this.nodeId)}toPathItem(){return new Et({})}static register=!0}class Xr{constructor(t,e,r,s){this.val=t,this.whenVal=e,this.loopWithVal=r,this.enrichWithVal=s}eval(t){let e=this.val.eval(t)??[],r=this.whenVal?.eval(t)??tu,s=this.loopWithVal?.eval(t)??eu,i=this.enrichWithVal?.eval(t)??null;return{seq:e,filter:r,loopWith:s,enricher:i}}}var tu=(t,e,r)=>!0,eu=(t)=>({seq:t}),ru={slot:Ze,show:Tr,hide:Zr,each:Xe,scope:Li,"push-view":Ii};class V{constructor(t,e,r,s,i,n,h,u){this.nodes=s??[],this.events=i??[],this.macroNodes=n??[],this.parent=u??null,this.frame=h??{},this.DOMParser=t??globalThis.DOMParser,this.Text=e??globalThis.Text,this.Comment=r??globalThis.Comment,this.cacheConstNodes=!0}isInsideMacro(t){return this.frame.macroName===t||this.parent?.isInsideMacro(t)}enterMacro(t,e,r){let{DOMParser:s,Text:i,Comment:n,nodes:h,events:u,macroNodes:o}=this;return new V(s,i,n,h,u,o,{macroName:t,macroVars:e,macroSlots:r},this)}newDOMParser(){return new this.DOMParser}isTextNode(t){return t instanceof this.Text}isCommentNode(t){return t instanceof this.Comment}addNodeIf(t,e,r){if(e!==null){let s=this.nodes.length,i=new t(s,e,r);return this.nodes.push(i),i}return null}registerEvents(){let t=this.events.length,e=new Wi(t);return this.events.push(e),e}newMacroNode(t,e,r){let s=[],i={_:new De(s)};for(let h of r)if(h instanceof Ze)i[h.val.value]=h.node;else if(!(h instanceof Vt)||!h.isWhiteSpace())s.push(h);let n=new Ui(t,e,i,this);return this.macroNodes.push(n),n}compile(t){for(let e=0;e<this.macroNodes.length;e++)this.macroNodes[e].compile(t)}*genEventNames(){for(let t of this.events)yield*t.genEventNames()}getEventForId(t){return this.events[t]??null}getNodeForId(t){return this.nodes[t]??null}onAttributes(t,e,r){}}var Ir=(t)=>t instanceof Vt&&t.isWhiteSpace(),Ei=(t)=>t instanceof Je||t instanceof De&&t.childs[0]instanceof Je;function su(t){let e=t.length;if(e===0)return t;let r=0,s=!1;if(Ir(t[0]))r=1,s=!0;if(e>1&&Ir(t[e-1]))e-=1,s=!0;for(let i=1;i<e-1;i++){let n=t[i];if(Ir(n)&&Ei(t[i-1])&&Ei(t[i+1])&&n.hasNewLine())n.condenseWhiteSpace()}return s?t.slice(r,e):t}class He{constructor(t,e,r="",s=null,i=null){this.name=t,this.anode=s,this.style=r,this.ctx=i,this.rawView=e}compile(t,e,r){if(this.ctx=t,this.anode=rt.parse(this.rawView,t),this.anode.setDataAttr("data-cid",r),this.anode.setDataAttr("data-vid",this.name),this.ctx.compile(e),t.cacheConstNodes)this.anode=Wr(this.anode)}render(t,e){return this.anode.render(t,e)}}class Wi{constructor(t){this.id=t,this.handlers=[]}add(t,e,r){this.handlers.push(new Ji(t,e,r))}*genEventNames(){for(let t of this.handlers)yield t.name}getHandlersFor(t){let e=null;for(let r of this.handlers)if(r.handlesEventName(t))e??=[],e.push(r);return e}}class Ji{constructor(t,e,r){this.name=t,this.handlerCall=e,this.modifierWrapper=ou(t,r),this.modifiers=r}handlesEventName(t){return this.name===t}getHandlerAndArgs(t,e){let r=this.handlerCall.getHandlerAndArgs(t,e);return r[0]=this.modifierWrapper(r[0],e),r}}var iu=(globalThis.navigator?.userAgent??"").toLowerCase().includes("mac"),Qe=(t)=>(e)=>(r,s,i,n)=>t(n)?e(r,s,i,n):r,ji=(t)=>Qe((e)=>e.e.key===t),$i=Qe(({e:t})=>iu&&t.metaKey||t.ctrlKey),nu=Qe(({e:t})=>t.metaKey),hu=Qe(({e:t})=>t.altKey),Ai={ctrl:$i,cmd:$i,meta:nu,alt:hu},Hr={keydown:{send:ji("Enter"),cancel:ji("Escape"),...Ai},click:{...Ai}},uu=(t,e)=>t;function ou(t,e){if(e.length===0)return uu;let r=Hr[t]??{},s=(i,n,h,u)=>n.apply(i,h);for(let i of e){let n=r[i];if(n!==void 0)s=n(s)}return(i,n)=>function(...h){return s(this,i,h,n)}}class Qr{get(t,e){}set(t,e,r){}get2(t,e,r){}set2(t,e,r,s){}evict(){return{hit:0,miss:0,badKey:0}}}class Gr{constructor(){this.hit=this.miss=this.badKey=0,this.map=new WeakMap}_returnValue(t){if(t===void 0)this.miss+=1;else this.hit+=1;return t}get(t,e){return this._returnValue(this.map.get(t)?.[e])}set(t,e,r){let s=this.map.get(t);if(s)s[e]=r;else if(typeof t==="object")this.map.set(t,{[e]:r});else this.badKey+=1}get2(t,e,r){return this._returnValue(this.map.get(t)?.get?.(e)?.[r])}set2(t,e,r,s){let i=this.map.get(t);if(i){let n=i.get(e);if(n)n[r]=s;else i.set(e,{[r]:s})}else if(typeof t==="object"&&typeof e==="object"){let n=new WeakMap;n.set(e,{[r]:s}),this.map.set(t,n)}else this.badKey+=1}evict(){let{hit:t,miss:e,badKey:r}=this;return this.hit=this.miss=this.badKey=0,this.map=new WeakMap,{hit:t,miss:e,badKey:r}}}class Yr{getKey(t,e,r){return r.call(t)}}class Br{constructor(){this.map=new WeakMap}getKey(t,e,r){let s=this.map.get(t);if(s){let n=s[e];if(n!==void 0)return n;let h=r.call(t)??null;return s[e]=h,h}let i=r.call(t)??null;return this.map.set(t,{[e]:i}),i}}class Ge{constructor(){this.getComponentSymbol=Symbol("getComponent"),this.byId=new Map,this.computedCache=new Br}setNullComputedCache(){this.computedCache=new Yr}registerComponent(t){t.Class.prototype[this.getComponentSymbol]=()=>t,this.byId.set(t.id,t)}getComponentForId(t){return this.byId.get(t)??null}getCompFor(t){return t?.[this.getComponentSymbol]?.()??null}getOnEnterFor(t){let e=this.getCompFor(t);return e?e.on.stackEnter:Ri}getInputHandlerFor(t,e){return this.getCompFor(t)?.input[e]??null}getAlterHandlerFor(t,e){return this.getCompFor(t)?.alter[e]??null}getRequestFor(t,e){let r=this.getCompFor(t);return r?r.scope.lookupRequest(e):null}lookupComputed(t,e){let r=this.getCompFor(t)?.computed[e];return r?this.computedCache.getKey(t,e,r):null}compileStyles(){let t=[];for(let e of this.byId.values())t.push(e.compileStyle());return t.join(`
2
- `)}}class Ye{constructor(t=new Ge,e=null){this.comps=t,this.parent=e,this.byName={},this.reqsByName={},this.macros={}}enter(){return new Ye(this.comps,this)}registerComponents(t,e={}){for(let r=0;r<t.length;r++){let s=t[r];s.scope=this.enter(),this.comps.registerComponent(s),this.byName[s.name]=s;let i=e[s.name];if(i)this.byName[i]=s}}registerMacros(t){Object.assign(this.macros,t)}getCompFor(t){return this.comps.getCompFor(t)}registerRequestHandlers(t){for(let e in t)this.reqsByName[e]=new Kr(e,t[e])}lookupRequest(t){return this.reqsByName[t]??this.parent?.lookupRequest(t)??null}lookupComponent(t){return this.byName[t]??this.parent?.lookupComponent(t)??null}lookupMacro(t){return this.macros[t]??this.parent?.lookupMacro(t)??null}}class Pr{constructor(t,e,r){this.name=t,this.val=e,this.symbol=r}getSymbol(t){return this.symbol}evalAndBind(t,e){e[this.getSymbol(t)]=this.val.eval(t)}}class Di extends Pr{constructor(t,e,r,s){super(t,e,null);this.compName=r,this.dynName=s}_resolveSymbol(t){return t.lookupType(this.compName)?.dynamic[this.dynName]?.symbol??null}getSymbol(t){return this.symbol??=this._resolveSymbol(t),this.symbol}}var Ut=(t)=>typeof t==="string",fu=0;class Cr{constructor(t,e,r,s={},i="",n="",h="",u={},o={},f={},c={},_={},l={},a={},y={}){this.id=fu++,this.name=t,this.Class=e,this.views={main:new He("main",r,i)},this.commonStyle=n,this.globalStyle=h,this.computed=u,this.input=o,this.logic=f,this.bubble=c,this.response=_,this.alter=l,this.on={stackEnter:y?.stackEnter??Ri};for(let p in s){let d=s[p],{view:j,style:bt}=Ut(d)?{view:d}:d;this.views[p]=new He(p,j,bt)}this._rawDynamic=a,this.dynamic={},this.scope=null}compile(t){for(let e in this._rawDynamic){let r=this._rawDynamic[e];if(Ut(r)){let s=w.parseDynamic(r,this.views.main.ctx);this.dynamic[e]=new Pr(e,s,Symbol(e))}else if(Ut(r?.default)&&Ut(r?.for)){let s=w.parseDynamic(r.default,this.views.main.ctx),[i,n]=r.for.split(".");if(Ut(i)&&Ut(n))this.dynamic[e]=new Di(e,s,i,n)}}for(let e in this.views)this.views[e].compile(new t,this.scope,this.id)}make(t,e){return this.Class.make(t,e)}getView(t){return this.views[t]??this.views.main}getEventForId(t,e="main"){return this.getView(e).ctx.getEventForId(t)}getNodeForId(t,e="main"){return this.getView(e).ctx.getNodeForId(t)}compileStyle(){let{id:t,commonStyle:e,globalStyle:r,views:s}=this,i=e?[`[data-cid="${t}"]{${e}}`]:[];if(r!=="")i.push(r);for(let n in s){let{style:h}=s[n];if(h!=="")i.push(`[data-cid="${t}"][data-vid="${n}"]{${h}}`)}return i.join(`
3
- `)}}function Ri(t){return t}var Ti=Symbol("STOP"),kr=Symbol("NEXT");class mt{constructor(t,e){this.head=t,this.tail=e}push(t){return new mt(t,this)}lookup(t,e=null){let{tail:r}=this,s=this.head.lookup(t);return s===Ti?e:s===kr?r!==null?r.lookup(t,e):e:s}*[Symbol.iterator](){let t=this;while(t!==null)yield t.head,t=t.tail}}class xr{constructor(t,e,r){this.it=t,this.bindings=e,this.isFrame=r}lookup(t){let e=this.bindings[t];return e===void 0?this.isFrame?Ti:kr:e}}class Fr{constructor(t){this.bindings=t}lookup(t){let e=this.bindings[t];return e===void 0?kr:e}}class Q{constructor(t,e,r,s,i,n=null){this.comps=t,this.it=e,this.binds=r,this.dynBinds=s,this.views=i,this.ctx=n;let h=[...i].join("");this.viewsId=h==="main"?"":h}_enrichOnEnter(){return this.comps.getOnEnterFor(this.it).call(this.it,this)??this}upToFrameBinds(){let{comps:t,binds:e,dynBinds:r,views:s,ctx:i}=this;return e.head.isFrame?this:new Q(t,e.tail.head.it,e.tail,r,s,i)}static root(t,e,r){let s=new mt(new xr(e,{it:e},!0),null),i=new mt(new Fr({}),null),n=new mt("main",null);return new Q(t,e,s,i,n,r)._enrichOnEnter()}enter(t,e={},r=!0){let{comps:s,binds:i,dynBinds:n,views:h,ctx:u}=this,o=i.push(new xr(t,e,r));return new Q(s,t,o,n,h,u)._enrichOnEnter()}pushViewName(t){let{comps:e,it:r,binds:s,dynBinds:i,views:n,ctx:h}=this;return new Q(e,r,s,i,n.push(t),h)}withDynamicBindings(t){let e={},r=this.comps.getCompFor(this.it);for(let f of t)r.dynamic[f].evalAndBind(this,e);let{comps:s,it:i,binds:n,views:h,ctx:u}=this,o=this.dynBinds.push(new Fr(e));return new Q(s,i,n,o,h,u)}lookupDynamic(t){let e=this.comps.getCompFor(this.it)?.dynamic[t];return e?this.dynBinds.lookup(e.getSymbol(this))??e.val.eval(this):null}lookupBind(t){return this.binds.lookup(t)}lookupType(t){return this.comps.getCompFor(this.it).scope.lookupComponent(t)}lookupFieldRaw(t){return this.it[t]??null}lookupField(t){let e=this.lookupFieldRaw(t);return e instanceof Function?e.call(this.it):e}lookupName(t){return this.ctx.lookupName(t)}lookupComputed(t){let e=this.binds.head.isFrame?this.binds.head:this.binds.tail.head;return this.comps.lookupComputed(e.it,t)}getInputHandler(t){return this.comps.getInputHandlerFor(this.it,t)}getAlterHandler(t){return this.comps.getAlterHandlerFor(this.it,t)}lookupRequest(t){return this.comps.getRequestFor(this.it,t)}lookupBestView(t,e){for(let r of this.views){let s=t[r];if(s!==void 0)return s}return t[e]}}class Xi{constructor(t){this.value=t,this.changeSubs=[]}onChange(t){this.changeSubs.push(t)}set(t,e){let r=this.value;this.value=t;for(let s of this.changeSubs)s({value:t,old:r,info:e,timestamp:Date.now()})}update(t,e){return this.set(t(this.value),e)}}class Nr{constructor(t,e){this.comps=t,this.transactions=[],this.state=new Xi(e),this.onTransactionPushed=()=>{}}pushTransaction(t){return this.transactions.push(t),this.onTransactionPushed(t),t}pushLogic(t,e,r=[],s={},i=null){return this.pushTransaction(new ts(t,this,e,r,i,s))}pushBubble(t,e,r=[],s={},i=null){let n=s.skipSelf?{...s,skipSelf:!1}:s;return this.pushTransaction(new Gi(t,this,e,r,i,n))}async pushRequest(t,e,r=[],s={},i=null){let n=this.state.value,h=t.lookup(n),u=this.comps.getRequestFor(h,e)??cu(e),o=s?.onResName??e,f=(c,_,l,a,y)=>{let d=new Qi(t,this,c??_,c?[l]:[a,y],i);return this.pushTransaction(d)};try{let c=await u.fn.apply(null,r);return f(s?.onOkName,o,c,c,null)}catch(c){return f(s?.onErrorName,o,c,null,c)}}get hasPendingTransactions(){return this.transactions.length>0}transactNext(){if(this.hasPendingTransactions)this.transact(this.transactions.shift())}transactAll(){while(this.hasPendingTransactions)this.transact(this.transactions.shift())}transact(t){let e=this.state.value,r=t.run(e,this.comps);if(r!==void 0)this.state.set(r,{transaction:t}),t.afterTransaction();else console.warn("undefined new state",{curState:e,transaction:t})}transactInputNow(t,e,r,s){this.transact(new Hi(t,e,r,this,s))}}function cu(t){return()=>{throw Error(`Request not found: ${t}`)}}function _u(){return this}class mr{constructor(t,e){this.path=t,this.transactor=e,this.parentTransaction=null,this._task=null}get task(){return this._task??=new Yi,this._task}getCompletionPromise(){return this.task.promise}setParent(t){this.parentTransaction=t,t.task.addDep(this.task)}run(t,e){return this.updateRootValue(t,e)}afterTransaction(){}buildRootStack(t,e){return Q.root(e,t)}buildStack(t,e){let r=this.path.buildStack(this.buildRootStack(t,e));return r?r.upToFrameBinds():null}callHandler(t,e,r){let[s,i]=this.getHandlerAndArgs(t,e,r);return s.apply(e,i)}getHandlerAndArgs(t,e,r){return null}updateRootValue(t,e){let r=this.path.lookup(t),s=this.callHandler(t,r,e);return this._task?.complete?.({value:s,old:r}),r!==s?this.path.setValue(t,s):t}lookupName(t){return null}}var lu=(globalThis.navigator?.userAgent??"").toLowerCase().includes("mac"),Zi=(t)=>Number.isNaN(t)?null:t;function Vr(t){return t.target.type==="checkbox"?t.target.checked:(t instanceof CustomEvent?t.detail:t.target.value)??null}class Hi extends mr{constructor(t,e,r,s,i){super(t,s);this.e=e,this.handler=r,this.dragInfo=i}buildRootStack(t,e){return Q.root(e,t,this)}getHandlerAndArgs(t,e,r){let s=this.buildStack(t,r),[i,n]=this.handler.getHandlerAndArgs(s,this),h;for(let u=0;u<n.length;u++)if(n[u]?.toHandlerArg)h??=new es(this.path,this.transactor,this),n[u]=n[u].toHandlerArg(h);return[i,n]}lookupName(t){let{e}=this;switch(t){case"value":return Vr(e);case"valueAsInt":return Zi(parseInt(Vr(e),10));case"valueAsFloat":return Zi(parseFloat(Vr(e)));case"target":return e.target;case"event":return e;case"isAlt":return e.altKey;case"isShift":return e.shiftKey;case"isCtrl":case"isCmd":return lu&&e.metaKey||e.ctrlKey;case"key":return e.key;case"keyCode":return e.keyCode;case"isUpKey":return e.key==="ArrowUp";case"isDownKey":return e.key==="ArrowDown";case"isSend":return e.key==="Enter";case"isCancel":return e.key==="Escape";case"isTabKey":return e.key==="Tab";case"ctx":return new rs(this.path,this.transactor,this);case"dragInfo":return this.dragInfo}return null}}class vr extends mr{constructor(t,e,r,s,i,n={}){super(t,e,i);this.name=r,this.args=s,this.opts=n}handlerProp=null;getHandlerForName(t){return t?.[this.handlerProp]?.[this.name]??_u}getHandlerAndArgs(t,e,r){return[this.getHandlerForName(r.getCompFor(e)),[...this.args,new rs(this.path,this.transactor,this)]]}}class Qi extends vr{handlerProp="response"}class ts extends vr{handlerProp="logic";run(t,e){return this.opts.skipSelf?t:this.updateRootValue(t,e)}afterTransaction(){let{path:t,name:e,args:r,opts:s}=this;if(s.bubbles&&t.steps.length>0)this.transactor.pushBubble(t.popStep(),e,r,s,this)}}class Gi extends ts{handlerProp="bubble";stopPropagation(){this.opts.bubbles=!1}}class Yi{constructor(t){this.info=t,this.deps=[],this.value=this.resolve=this.reject=null,this.promise=new Promise((e,r)=>{this.resolve=e,this.reject=r}),this.isCompleted=!1}addDep(t){console.assert(!this.isCompleted,"addDep for completed task",this,t),this.deps.push(t),t.promise.then((e)=>this._check())}complete(t){this.value=t,this._check()}_check(){if(this.deps.every((t)=>t.isCompleted))this.isCompleted=!0,this.resolve(this)}}class es{constructor(t,e,r=null){this.path=t,this.transactor=e,this.parent=r}get at(){return new Bi(this)}logic(t,e,r){return this.logicAtPath(this.path,t,e,r)}bubble(t,e,r){return this.logic(t,e,{skipSelf:!0,bubbles:!0,...r})}logicAtPath(t,e,r,s){return this.transactor.pushLogic(t,e,r,s,this.parent)}request(t,e,r){return this.requestAtPath(this.path,t,e,r)}requestAtPath(t,e,r,s){return this.transactor.pushRequest(t,e,r,s,this.parent)}lookupTypeFor(t,e){return this.transactor.comps.getCompFor(e).scope.lookupComponent(t)}}class rs extends es{stopPropagation(){return this.parent.stopPropagation()}}class Bi extends dr{constructor(t){super();this.dispatcher=t}logic(t,e,r){return this.dispatcher.logicAtPath(this.buildPath(),t,e,r)}bubble(t,e,r){return this.logic(t,e,{skipSelf:!0,bubbles:!0,...r})}buildPath(){return this.dispatcher.path.concat(this.pathChanges)}}class ss{constructor(t,e,r,s,i){this.rootNode=t,this.comps=r,this.compStack=new Ye(r),this.transactor=new Nr(r,null),this.ParseContext=i,this.renderer=s,this.renderFn=e,this.maxEventNodeDepth=1/0,this._transactNextBatchId=this._evictCacheId=null,this._eventNames=new Set(["dragstart","dragover","dragend"]),this.dragInfo=this.curDragOver=null,this.transactor.onTransactionPushed=(n)=>{if(this._transactNextBatchId===null)this._scheduleNextTransactionBatchExecution()},this._compiled=!1}get state(){return this.transactor.state}handleEvent(t){let e=t.type==="dragstart",r=t.type==="dragover",s=t.type==="dragend",{rootNode:i,maxEventNodeDepth:n,comps:h}=this,u=!(r||e||s),[o,f]=et.fromEvent(t,i,n,h,u);if(r){let c=au(t.target,this.rootNode,50);if(c!==null)t.preventDefault(),this._cleanDragOverAttrs(),this.curDragOver=c,c.dataset.draggingover=this.dragInfo.type}else if(e){t.target.dataset.dragging=1;let c=this.state.value,_=o.lookup(c),l=t.target.dataset.dragtype??"?",a=o.buildStack(this.makeStack(c));this.dragInfo=new Pi(o,a,t,_,l,t.target)}else if(s)delete this.dragInfo.node.dataset.dragging,this.dragInfo=null,this._cleanDragOverAttrs();if(o!==null&&f!==null)for(let c of f)this.transactor.transactInputNow(o,t,c,this.dragInfo)}makeStack(t){return Q.root(this.comps,t)}_cleanDragOverAttrs(){if(this.curDragOver!==null)delete this.curDragOver.dataset.draggingover,this.curDragOver=null}render(){let t=this.state.value,e=this.makeStack(t);return this.renderFn(this.renderer.renderRoot(e,t),this.rootNode)}onChange(t){this.transactor.state.onChange(t)}compile(){for(let t of this.comps.byId.values()){t.compile(this.ParseContext);for(let e in t.views)for(let r of t.views[e].ctx.genEventNames())this._eventNames.add(r)}this._compiled=!0}start(t){if(!this._compiled)this.compile();for(let e of this._eventNames)this.rootNode.addEventListener(e,this);if(this.onChange((e)=>{if(e.value!==e.old)this.render()}),Be("tutuca-app",this.comps.compileStyles(),t?.head??document.head),t?.noCache)this.renderer.setNullCache(),this.comps.setNullComputedCache();else this.startCacheEvictionInterval();this.render()}stop(){this.stopCacheEvictionInterval();for(let t of this._eventNames)this.rootNode.removeEventListener(t,this)}dispatchLogicAtRoot(t,e,r){return this.transactor.pushLogic(new et([]),t,e,r)}registerComponents(t,e){let r=this.compStack.enter();return r.registerComponents(t,e),r}_transactNextBatch(t=10){this._transactNextBatchId=null;let e=Date.now(),r=this.transactor;while(r.hasPendingTransactions&&Date.now()-e<t)r.transactNext();if(r.hasPendingTransactions)this._scheduleNextTransactionBatchExecution()}_scheduleNextTransactionBatchExecution(){this._transactNextBatchId=setTimeout(()=>this._transactNextBatch(),0)}startCacheEvictionInterval(t=30000){this._evictCacheId=setInterval(()=>this.renderer.cache.evict(),t)}stopCacheEvictionInterval(){clearInterval(this._evictCacheId),this._evictCacheId=null}}function Be(t,e,r=document.head){let s=document.createElement("style"),i=r.querySelector(`#${t}`);if(i)r.removeChild(i);s.id=t,s.innerHTML=e,r.appendChild(s)}function au(t,e,r){let s=t;while(r-- >0&&s!==e){if(s.dataset?.droptarget!==void 0)return s;s=s.parentNode}return null}class Pi{constructor(t,e,r,s,i,n){this.path=t,this.stack=e,this.e=r,this.value=s,this.type=i,this.node=n}lookupBind(t){return this.stack.lookupBind(t)}}class Kt extends V{constructor(...t){super(...t);this.classes=new Set}_addClasses(t){for(let e of t.split(/\s+/))this.classes.add(e)}enterMacro(t,e,r){let{DOMParser:s,Text:i,Comment:n,nodes:h,events:u,macroNodes:o}=this,c=new Kt(s,i,n,h,u,o,{macroName:t,macroVars:e,macroSlots:r},this);return c.classes=this.classes,c}onAttributes(t,e,r){if(Array.isArray(t.items))for(let s of t.items){if(s.name!=="class")continue;let{value:i,thenVal:n,elseVal:h}=s;if(n!==void 0)this._maybeAddVal(n),this._maybeAddVal(h);else this._maybeAddVal(i)}else{let s=t.items.class;if(s)this._addClasses(s)}}_maybeAddVal(t){if(!this._maybeAddStrTpl(t)&&typeof t?.value==="string")this._addClasses(t.value)}_maybeAddStrTpl(t){if(t?.vals!==void 0){for(let e of t.vals)if(e instanceof W&&e.value!=="")this._addClasses(e.value);return!0}return!1}}function vt(t,e){if(!t)throw Error(e)}function U(t){vt(t!==1/0,"Cannot perform this action with an infinite size.")}function Ci(t,e,r,s,i,n){return U(t.size),t.__iterate((h,u,o)=>{if(i)i=!1,r=h;else r=e.call(s,r,h,u,o)},n),r}var yu=(t,e)=>e,gu=(t,e)=>[e,t],is=(t)=>function(...e){return!t.apply(this,e)},xi=(t)=>function(...e){return-t.apply(this,e)};function yn(t,e){if(t===void 0&&e===void 0)return 0;if(t===void 0)return 1;if(e===void 0)return-1;return t>e?1:t<e?-1:0}var Fi=(t,e)=>t<e?1:t>e?-1:0,K={done:!0,value:void 0};class gn{constructor(t){this.next=t}[Symbol.iterator](){return this}}function D(t){return new gn(t)}function q(t){let e=[void 0,void 0],r={done:!1,value:void 0};return D(()=>{if(t(e))return r.value=[e[0],e[1]],r;return K})}var wu=D(()=>K),ct=()=>wu;function er(t){let e=0,r={done:!1,value:void 0};return D(()=>{if(e===t)return K;return r.value=e++,r})}function oe(t,e){return q((r)=>{let s=t.next();if(s.done)return!1;return e(s.value[0],s.value[1],r),!0})}function zs(t){if(Array.isArray(t))return!0;return!!rr(t)}var pu=(t)=>typeof t?.next==="function";function wn(t){return rr(t)?.call(t)}function rr(t){let e=t?.[Symbol.iterator];if(typeof e==="function")return e}function zu(t){let e=rr(t);return e&&e===t.entries}function Su(t){let e=rr(t);return e&&e===t.keys}var fe="delete",S=5,E=1<<S,I=E-1,g={},ls=()=>({value:!1});function H(t){if(t)t.value=!0}class sr{}function Wt(t){if(t.size===void 0)t.size=t.__iterate(pn);return t.size}function it(t,e){if(typeof e!=="number"){let r=e>>>0;if(String(r)!==e||r===4294967295)return NaN;e=r}return e<0?Wt(t)+e:e}var pn=()=>!0,zn=(t)=>t<0||Object.is(t,-0),ce=(t,e,r)=>(t===0&&!zn(t)||r!==void 0&&(t??0)<=-r)&&(e===void 0||r!==void 0&&e>=r),Sn=(t,e,r)=>t===void 0?r:zn(t)?e===1/0?e:Math.max(0,e+t)|0:e===void 0||e===t?t:Math.min(e,t)|0,Tt=(t,e)=>Sn(t,e,0),_e=(t,e)=>Sn(t,e,e),dn="@@__IMMUTABLE_ITERABLE__@@",ke="@@__IMMUTABLE_KEYED__@@",Ve="@@__IMMUTABLE_INDEXED__@@",nt="@@__IMMUTABLE_ORDERED__@@",le="@@__IMMUTABLE_SEQ__@@",On="@@__IMMUTABLE_LIST__@@",Mn="@@__IMMUTABLE_MAP__@@",bn="@@__IMMUTABLE_SET__@@",qn="@@__IMMUTABLE_STACK__@@",En="@@__IMMUTABLE_RECORD__@@";function F(t,e){return typeof t==="object"&&t!==null&&e in t}var Z=(t)=>F(t,dn),z=(t)=>F(t,ke),$=(t)=>F(t,Ve),Ss=(t)=>z(t)||$(t),x=(t)=>F(t,nt),ds=(t)=>F(t,le),jn=(t)=>F(t,On),ir=(t)=>F(t,Mn),Os=(t)=>F(t,bn),Ms=(t)=>F(t,qn),gt=(t)=>F(t,En),P=(t)=>Z(t)||gt(t),bs=(t)=>ir(t)&&x(t),$n=(t)=>Os(t)&&x(t),ki=(t)=>typeof t==="object"&&t!==null&&typeof t.equals==="function"&&typeof t.hashCode==="function";function An(t){let e=C(t);return e._iter=t,e.size=t.size,e.flip=()=>t,e.reverse=function(){let r=t.reverse.call(this);return r.flip=()=>t.reverse(),r},e.has=(r)=>t.includes(r),e.includes=(r)=>t.has(r),e.cacheResult=Xt,e.__iterate=function(r,s){return t.__iterate((i,n)=>r(n,i,this),s)},e.__iteratorUncached=(r)=>oe(t.__iterator(r),(s,i,n)=>{n[0]=i,n[1]=s}),e}function Un(t,e,r){let s=C(t);return s.size=t.size,s.has=(i)=>t.has(i),s.get=(i,n)=>{let h=t.get(i,g);return h===g?n:e.call(r,h,i,t)},s.__iterate=function(i,n){return t.__iterate((h,u)=>i(e.call(r,h,u,t),u,this),n)},s.__iteratorUncached=(i)=>oe(t.__iterator(i),(n,h,u)=>{u[0]=n,u[1]=e.call(r,h,n,t)}),s}function Kn(t,e){let r=C(t);if(r._iter=t,r.size=t.size,r.reverse=()=>t,t.flip)r.flip=function(){let s=An(t);return s.reverse=()=>t.flip(),s};return r.get=(s,i)=>t.get(e?s:-1-s,i),r.has=(s)=>t.has(e?s:-1-s),r.includes=(s)=>t.includes(s),r.cacheResult=Xt,r.__iterate=function(s,i){let n=0;if(i)Wt(t);return t.__iterate((h,u)=>s(h,e?u:i?this.size-++n:n++,this),!i)},r.__iteratorUncached=function(s){let i=0;if(s)Wt(t);let n=this.size;return oe(t.__iterator(!s),(h,u,o)=>{o[0]=e?h:s?n-++i:i++,o[1]=u})},r}function In(t,e,r,s){let i=t.size;if(ce(e,r,i))return t;if(i===void 0&&(e<0||r<0))return In(t.toSeq().cacheResult(),e,r,s);let n=Tt(e,i),u=_e(r,i)-n,o;if(!Number.isNaN(u))o=Math.max(0,u);let f=C(t);if(f.size=o===0?o:t.size&&o||void 0,!s&&ds(t)&&o>=0)f.get=function(c,_){return c=it(this,c),c>=0&&c<o?t.get(c+n,_):_};return f.__iterateUncached=function(c,_){if(o!==0&&_)return this.cacheResult().__iterate(c,_);if(o===0)return 0;let l=0,a=0;return t.__iterate((y,p)=>{if(l<n){l++;return}if(o!==void 0&&a>=o)return!1;if(a++,c(y,s?p:a-1,this)===!1)return!1},_),a},f.__iteratorUncached=function(c){if(o!==0&&c)return this.cacheResult().__iterator(c);if(o===0)return ct();let _=t.__iterator(c),l=0,a=0;if(s)return D(()=>{while(l<n)l++,_.next();if(o!==void 0&&a>=o)return K;let y=_.next();if(y.done)return y;return a++,y});return q((y)=>{while(l<n)l++,_.next();if(o!==void 0&&a>=o)return!1;let p=_.next();if(p.done)return!1;return a++,y[0]=a-1,y[1]=p.value[1],!0})},f}function Lt(t,e,r){if(!e)e=yn;let s=z(t),i=0,n=t.toSeq().map((h,u)=>[u,h,i++,r?r(h,u,t):h]).valueSeq().toArray();return n.sort((h,u)=>e(h[3],u[3])||h[2]-u[2]).forEach(s?(h,u)=>{n[u].length=2}:(h,u)=>{n[u]=h[1]}),s?Us(n):$(t)?yt(n):ee(n)}function Pe(t,e,r){if(!e)e=yn;if(r)return t.toSeq().map((i,n)=>[i,r(i,n,t)]).reduce((i,n)=>Vi(e,i[1],n[1])?n:i)?.[0];return t.reduce((s,i)=>Vi(e,s,i)?i:s)}function Vi(t,e,r){let s=t(r,e);return s===0&&r!==e&&(r===void 0||r===null||Number.isNaN(r))||s>0}function ns(t,e,r,s){let i=C(t),n=new ae(r).map((h)=>h.size);return i.size=s?n.max():n.min(),i.__iterate=function(h,u){let o=this.__iterator(u),f=0,c;while(!(c=o.next()).done)if(h(c.value[1],f++,this)===!1)break;return f},i.__iteratorUncached=function(h){let u=r.map((_)=>{let l=m(_);return wn(h?l.reverse():l)}),o=0,f=Array(u.length),c=Array(u.length);return q((_)=>{let l=s;for(let a=0;a<u.length;a++)f[a]=u[a].next(),l=s?l&&f[a].done:l||f[a].done;if(l)return!1;for(let a=0;a<f.length;a++)c[a]=f[a].value;return _[0]=o++,_[1]=e(...c),!0})},i}function qs(t){if(Array.isArray(t)||typeof t==="string")return!0;return t&&typeof t==="object"&&Number.isInteger(t.length)&&t.length>=0&&(t.length===0?Object.keys(t).length===1:Object.hasOwn(t,t.length-1))}function Ln(t){if(!t||typeof t!=="object"||Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);if(e===null)return!0;let r=e,s=Object.getPrototypeOf(e);while(s!==null)r=s,s=Object.getPrototypeOf(r);return r===e}var ht=(t)=>typeof t==="object"&&(P(t)||Array.isArray(t)||Ln(t));function Wn(t){if(qs(t)&&typeof t!=="string")return t;if(x(t))return t.toArray();throw TypeError(`Invalid keyPath: expected Ordered Collection or Array: ${t}`)}var du=(t,e)=>P(t)?t.has(e):ht(t)&&Object.hasOwn(t,e);function Jn(t,e,r){return P(t)?t.get(e,r):!du(t,e)?r:typeof t.get==="function"?t.get(e):t[e]}function Es(t,e,r){let s=Wn(e),i=0;while(i!==s.length)if(t=Jn(t,s[i++],g),t===g)return r;return t}var Dn=(t,e)=>Es(t,e,g)!==g;function A(t,e){if(t===e||Number.isNaN(t)&&Number.isNaN(e))return!0;if(!t||!e)return!1;if(typeof t.valueOf==="function"&&typeof e.valueOf==="function"){if(t=t.valueOf(),e=e.valueOf(),t===e||Number.isNaN(t)&&Number.isNaN(e))return!0;if(!t||!e)return!1}return!!(ki(t)&&ki(e)&&t.equals(e))}function Ne(t){if(!t||typeof t!=="object")return t;if(!Z(t)){if(!ht(t))return t;t=v(t)}if(z(t)){let r={};return t.__iterate((s,i)=>{r[String(i)]=Ne(s)}),r}let e=[];return t.__iterate((r)=>{e.push(Ne(r))}),e}function js(t,e){if(t===e)return!0;if(!Z(e)||t.size!==void 0&&e.size!==void 0&&t.size!==e.size||t.__hash!==void 0&&e.__hash!==void 0&&t.__hash!==e.__hash||z(t)!==z(e)||$(t)!==$(e)||x(t)!==x(e))return!1;if(t.size===0&&e.size===0)return!0;let r=!Ss(t);if(x(t)){let h=t.entries();return!!(e.every((u,o)=>{let f=h.next().value;return f&&A(f[1],u)&&(r||A(f[0],o))})&&h.next().done)}let s=!1;if(t.size===void 0)if(e.size===void 0){if(typeof t.cacheResult==="function")t.cacheResult()}else{s=!0;let h=t;t=e,e=h}let i=!0,n=e.__iterate((h,u)=>{if(r?!t.has(h):s?!A(h,t.get(u,g)):!A(t.get(u,g),h))return i=!1,!1;return!0});return i&&t.size===n}var nr=(t)=>t>>>1&1073741824|t&3221225471;function G(t){if(t===null||t===void 0)return Ni(t);if(typeof t.hashCode==="function")return nr(t.hashCode(t));let e=Eu(t);if(e===null||e===void 0)return Ni(e);switch(typeof e){case"boolean":return e?1108378657:1108378656;case"number":return Ou(e);case"string":return e.length>ju?Mu(e):as(e);case"object":case"function":return qu(e);case"symbol":return bu(e);default:if(typeof e.toString==="function")return as(e.toString());throw Error(`Value type ${typeof e} cannot be hashed.`)}}var Ni=(t)=>t===null?1108378658:1108378659;function Ou(t){if(Number.isNaN(t)||t===1/0)return 0;let e=t|0;if(e!==t)e^=t*4294967295;while(t>4294967295)t/=4294967295,e^=t;return nr(e)}function Mu(t){let e=os[t];if(e===void 0){if(e=as(t),us===$u)us=0,os={};us++,os[t]=e}return e}function as(t){let e=0;for(let r=0;r<t.length;r++)e=31*e+t.charCodeAt(r)|0;return nr(e)}function bu(t){let e=vi[t];if(e!==void 0)return e;return e=Rn(),vi[t]=e,e}function qu(t){let e=mi.get(t);if(e!==void 0)return e;return e=Rn(),mi.set(t,e),e}var Eu=(t)=>t.valueOf!==Object.prototype.valueOf?t.valueOf():t;function Rn(){let t=++hs;if(hs&1073741824)hs=0;return t}var mi=new WeakMap,vi=Object.create(null),hs=0,ju=16,$u=255,us=0,os={};function Au(t){if(t.size===1/0)return 0;let e=x(t),r=z(t),s=e?1:0;return t.__iterate(r?e?(i,n)=>{s=31*s+tn(G(i),G(n))|0}:(i,n)=>{s=s+tn(G(i),G(n))|0}:e?(i)=>{s=31*s+G(i)|0}:(i)=>{s=s+G(i)|0}),Uu(t.size,s)}var tn=(t,e)=>t^e+2654435769+(t<<6)+(t>>2)|0;function Uu(t,e){return e=Math.imul(e,3432918353),e=Math.imul(e<<15|e>>>-15,461845907),e=Math.imul(e<<13|e>>>-13,5),e=(e+3864292196|0)^t,e=Math.imul(e^e>>>16,2246822507),e=Math.imul(e^e>>>13,3266489909),e=nr(e^e>>>16),e}function te(t){try{return typeof t==="string"?JSON.stringify(t):String(t)}catch{return JSON.stringify(t)}}var O=(t,e)=>t===e?t:ds(t)?e:t.create?t.create(e):t.constructor(e),Tn=(t,e)=>O(t,(z(t)?Y:$(t)?wt:pt)(e)),en=(...t)=>t,m=(t)=>Z(t)?t:v(t);class b{size=0;static{this.prototype[dn]=!0,this.prototype.__toStringMapper=te,this.prototype[Symbol.iterator]=this.prototype.values,this.prototype.toJSON=this.prototype.toArray,this.prototype.contains=this.prototype.includes}equals(t){return js(this,t)}hashCode(){return this.__hash??(this.__hash=Au(this))}toArray(){U(this.size);let t=Array(this.size||0),e=z(this),r=0;return this.__iterate((s,i)=>{t[r++]=e?[i,s]:s}),t}toIndexedSeq(){return new Gn(this)}toJS(){return Ne(this)}toKeyedSeq(){return new Js(this,!0)}toMap(){throw Error("toMap: not patched — import CollectionConversions")}toObject(){U(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}toOrderedMap(){throw Error("toOrderedMap: not patched — import CollectionConversions")}toOrderedSet(){throw Error("toOrderedSet: not patched — import CollectionConversions")}toSet(){throw Error("toSet: not patched — import CollectionConversions")}toSetSeq(){return new Yn(this)}toSeq(){return $(this)?this.toIndexedSeq():z(this)?this.toKeyedSeq():this.toSetSeq()}toStack(){throw Error("toStack: not patched — import CollectionConversions")}toList(){throw Error("toList: not patched — import CollectionConversions")}toString(){return"[Collection]"}__toString(t,e){if(this.size===0)return`${t}${e}`;return`${t} ${this.toSeq().map(this.__toStringMapper).join(", ")} ${e}`}concat(...t){let e=z(this),r=[this,...t].map((s)=>{if(!Z(s))s=e?Xn(s):Hn(Array.isArray(s)?s:[s]);else if(e)s=Y(s);return s}).filter((s)=>s.size!==0);if(r.length===0)return this;if(r.length===1){let s=r[0];if(s===this||e&&z(s)||$(this)&&$(s))return s}return O(this,new Qn(r))}includes(t){return this.some((e)=>A(e,t))}every(t,e){U(this.size);let r=!0;return this.__iterate((s,i,n)=>{if(!t.call(e,s,i,n))return r=!1,!1}),r}entries(){return this.__iterator()}filter(t,e){let r=this,s=z(this),i=C(r);if(s)i.has=(n)=>{let h=r.get(n,g);return h!==g&&!!t.call(e,h,n,r)},i.get=(n,h)=>{let u=r.get(n,g);return u!==g&&t.call(e,u,n,r)?u:h};return i.__iterateUncached=function(n,h){let u=0;return r.__iterate((o,f)=>{if(t.call(e,o,f,r))return u++,n(o,s?f:u-1,this)},h),u},i.__iteratorUncached=function(n){let h=r.__iterator(n),u=0;return q((o)=>{while(!0){let f=h.next();if(f.done)return!1;let c=f.value[0],_=f.value[1];if(t.call(e,_,c,r))return o[0]=s?c:u++,o[1]=_,!0}})},O(this,i)}partition(t,e){let r=z(this),s=[[],[]];return this.__iterate((i,n)=>{s[t.call(e,i,n,this)?1:0].push(r?[n,i]:i)}),s.map((i)=>Tn(this,i))}find(t,e,r){let s=this.findEntry(t,e);return s?s[1]:r}forEach(t,e){return U(this.size),this.__iterate(e?t.bind(e):t)}join(t){U(this.size),t=t!==void 0?String(t):",";let e="",r=!0;return this.__iterate((s)=>{if(r)r=!1;else e+=t;e+=s!==null&&s!==void 0?String(s):""}),e}keys(){let t=this.__iterator(),e={done:!1,value:void 0};return D(()=>{let r=t.next();if(r.done)return K;return e.value=r.value[0],e})}map(t,e){return O(this,Un(this,t,e))}reduce(t,e=g,r){return Ci(this,t,e,r,e===g,!1)}reduceRight(t,e=g,r){return Ci(this,t,e,r,e===g,!0)}reverse(){return O(this,Kn(this,z(this)))}slice(t,e){return O(this,In(this,t,e,z(this)))}some(t,e){U(this.size);let r=!1;return this.__iterate((s,i,n)=>{if(t.call(e,s,i,n))return r=!0,!1}),r}sort(t){return O(this,Lt(this,t))}values(){let t=this.__iterator(),e={done:!1,value:void 0};return D(()=>{let r=t.next();if(r.done)return K;return e.value=r.value[1],e})}butLast(){return this.slice(0,-1)}isEmpty(){return this.size!==void 0?this.size===0:!this.some(()=>!0)}count(t,e){return Wt(t?this.toSeq().filter(t,e):this)}countBy(t,e){throw Error("countBy: not patched — import CollectionConversions")}entrySeq(){let t=this;if(t._cache)return new ae(t._cache);let e=t.toSeq().map(gu).toIndexedSeq();return e.fromEntrySeq=()=>t.toSeq(),e}filterNot(t,e){return this.filter(is(t),e)}findEntry(t,e,r){let s=r;return this.__iterate((i,n,h)=>{if(t.call(e,i,n,h))return s=[n,i],!1}),s}findKey(t,e){return this.findEntry(t,e)?.[0]}findLast(t,e,r){return this.toKeyedSeq().reverse().find(t,e,r)}findLastEntry(t,e,r){return this.toKeyedSeq().reverse().findEntry(t,e,r)}findLastKey(t,e){return this.toKeyedSeq().reverse().findKey(t,e)}first(t){return this.find(pn,null,t)}flatMap(t,e){return O(this,this.toSeq().map((r,s)=>(z(this)?Y:$(this)?wt:pt)(t.call(e,r,s,this))).flatten(!0))}flatten(t){let e=this,r=z(this),s=C(e);return s.__iterateUncached=function(i,n){if(n)return this.cacheResult().__iterate(i,n);let h=0,u=!1;function o(f,c){f.__iterate((_,l)=>{if((!t||c<t)&&Z(_))o(_,c+1);else if(h++,i(_,r?l:h-1,s)===!1)u=!0;if(u)return!1},n)}return o(e,0),h},s.__iteratorUncached=function(i){if(i)return this.cacheResult().__iterator(i);let n=0,h=[{iterator:e.__iterator(i),depth:0}];return q((u)=>{while(h.length>0){let o=h[h.length-1],f=o.iterator.next();if(f.done){h.pop();continue}let c=f.value[1];if((!t||o.depth<t)&&Z(c)){h.push({iterator:c.__iterator(i),depth:o.depth+1});continue}return u[0]=r?f.value[0]:n++,u[1]=c,!0}return!1})},O(this,s)}fromEntrySeq(){return new Bn(this)}get(t,e){return this.find((r,s)=>A(s,t),void 0,e)}getIn(t,e){return Es(this,t,e)}groupBy(t,e){throw Error("groupBy: not patched — import CollectionConversions")}has(t){return this.get(t,g)!==g}hasIn(t){return Dn(this,t)}isSubset(t){let e=typeof t.includes==="function"?t:m(t);return this.every((r)=>e.includes(r))}isSuperset(t){return(typeof t.isSubset==="function"?t:m(t)).isSubset(this)}keyOf(t){return this.findKey((e)=>A(e,t))}keySeq(){return this.toSeq().map(yu).toIndexedSeq()}last(t){return this.toSeq().reverse().first(t)}lastKeyOf(t){return this.toKeyedSeq().reverse().keyOf(t)}max(t){return Pe(this,t)}maxBy(t,e){return Pe(this,e,t)}min(t){return Pe(this,t?xi(t):Fi)}minBy(t,e){return Pe(this,e?xi(e):Fi,t)}rest(){return this.slice(1)}skip(t){return t===0?this:this.slice(Math.max(0,t))}skipLast(t){return t===0?this:this.slice(0,-Math.max(0,t))}skipWhile(t,e){let r=this,s=z(this),i=C(r);return i.__iterateUncached=function(n,h){if(h)return this.cacheResult().__iterate(n,h);let u=!0,o=0;return r.__iterate((f,c)=>{if(u&&t.call(e,f,c,this))return;return u=!1,o++,n(f,s?c:o-1,this)},h),o},i.__iteratorUncached=function(n){if(n)return this.cacheResult().__iterator(n);let h=r.__iterator(n),u=0,o=this,f=!0;return q((c)=>{while(!0){let _=h.next();if(_.done)return!1;let l=_.value[0],a=_.value[1];if(f&&t.call(e,a,l,o))continue;return f=!1,c[0]=s?l:u++,c[1]=a,!0}})},O(this,i)}skipUntil(t,e){return this.skipWhile(is(t),e)}sortBy(t,e){return O(this,Lt(this,e,t))}take(t){return this.slice(0,Math.max(0,t))}takeLast(t){return this.slice(-Math.max(0,t))}takeWhile(t,e){let r=this,s=C(r);return s.__iterateUncached=function(i,n){if(n)return this.cacheResult().__iterate(i,n);let h=0;return r.__iterate((u,o)=>{if(!t.call(e,u,o,this))return!1;return h++,i(u,o,this)},n),h},s.__iteratorUncached=function(i){if(i)return this.cacheResult().__iterator(i);let n=r.__iterator(i),h=this,u=!1;return D(()=>{if(u)return K;let o=n.next();if(o.done)return o;if(!t.call(e,o.value[1],o.value[0],h))return u=!0,K;return o})},O(this,s)}takeUntil(t,e){return this.takeWhile(is(t),e)}update(t){return t(this)}valueSeq(){return this.toIndexedSeq()}__iterate(t,e=!1){let r=this.__iterator(e),s=0,i;while(!(i=r.next()).done)if(s++,t(i.value[1],i.value[0],this)===!1)break;return s}__iterator(t=!1){throw Error("CollectionImpl does not implement __iterator. Use a subclass instead.")}}var Y=(t)=>z(t)?t:Us(t);class $s extends b{static{this.prototype[ke]=!0,this.prototype.__toStringMapper=(t,e)=>`${te(e)}: ${te(t)}`,this.prototype[Symbol.iterator]=b.prototype.entries,this.prototype.toJSON=function(){U(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}}flip(){return O(this,An(this))}mapEntries(t,e){let r=0;return O(this,this.toSeq().map((s,i)=>t.call(e,[i,s],r++,this)).fromEntrySeq())}mapKeys(t,e){return O(this,this.toSeq().flip().map((r,s)=>t.call(e,r,s,this)).flip())}}var wt=(t)=>$(t)?t:yt(t);class at extends b{static{this.prototype[Ve]=!0,this.prototype[nt]=!0}toKeyedSeq(){return new Js(this,!1)}findIndex(t,e){let r=this.findEntry(t,e);return r?r[0]:-1}indexOf(t){let e=this.keyOf(t);return e===void 0?-1:e}lastIndexOf(t){let e=this.lastKeyOf(t);return e===void 0?-1:e}splice(t,e=g,...r){if(t===void 0)return this;let s=e!==g;if(e=s?Math.max(e||0,0):0,s&&!e&&r.length===0)return this;t=Tt(t,t<0?this.count():this.size);let i=this.slice(0,t);return O(this,!s?i:i.concat(r,this.slice(t+e)))}findLastIndex(t,e){let r=this.findLastEntry(t,e);return r?r[0]:-1}first(t){return this.get(0,t)}get(t,e){return t=it(this,t),t<0||this.size===1/0||this.size!==void 0&&t>this.size?e:this.find((r,s)=>s===t,void 0,e)}has(t){return t=it(this,t),t>=0&&(this.size!==void 0?this.size===1/0||t<this.size:this.indexOf(t)!==-1)}interpose(t){let e=this,r=C(e);return r.size=e.size&&e.size*2-1,r.__iterateUncached=function(s,i){let n=0,h=!0;return e.__iterate((u)=>{if(!h){if(s(t,n++,this)===!1)return!1}return h=!1,s(u,n++,this)},i),n},r.__iteratorUncached=function(s){let i=e.__iterator(s),n=0,h=!0,u,o=!1;return q((f)=>{if(o)return o=!1,f[0]=n++,f[1]=u,!0;let c=i.next();if(c.done)return!1;let _=c.value[1];if(!h)return u=_,o=!0,f[0]=n++,f[1]=t,!0;return h=!1,f[0]=n++,f[1]=_,!0})},O(this,r)}interleave(...t){let e=[this,...t],r=ns(this.toSeq(),yt.of,e),s=r.flatten(!0);if(r.size)s.size=r.size*e.length;return O(this,s)}keySeq(){throw Error("keySeq: not patched — import CollectionConversions")}last(t){return this.get(-1,t)}zip(...t){return this.zipWith(en,...t)}zipAll(...t){let e=[this,...t];return O(this,ns(this,en,e,!0))}zipWith(t,...e){let r=[this,...e];return O(this,ns(this,t,r))}}var pt=(t)=>Z(t)&&!Ss(t)?t:ee(t);class hr extends b{static{this.prototype.has=b.prototype.includes,this.prototype.contains=b.prototype.includes,this.prototype.keys=hr.prototype.values}get(t,e){return this.has(t)?t:e}includes(t){return this.has(t)}keySeq(){return this.valueSeq()}}m.Keyed=Y;m.Indexed=wt;m.Set=pt;var fs=at.prototype,v=(t)=>t===void 0||t===null?Ls():P(t)?t.toSeq():Ku(t),C=(t)=>Object.create((z(t)?Zt:$(t)?zt:Ks).prototype);class _t extends b{static{this.prototype[le]=!0}toSeq(){return this}toString(){return this.__toString("Seq {","}")}cacheResult(){if(!this._cache&&this.__iterateUncached)this._cache=this.entrySeq().toArray(),this.size=this._cache.length;return this}__iterateUncached(t,e){let r=this.__iteratorUncached(e),s=0,i;while(!(i=r.next()).done)if(s++,t(i.value[1],i.value[0],this)===!1)break;return s}__iterate(t,e){let r=this._cache;if(r){let s=r.length,i=0;while(i!==s){let n=r[e?s-++i:i++];if(t(n[1],n[0],this)===!1)break}return i}return this.__iterateUncached(t,e)}__iterator(t){let e=this._cache;if(e){let r=e.length,s=0,i={done:!1,value:void 0};return D(()=>{if(s===r)return K;return i.value=e[t?r-++s:s++],i})}return this.__iteratorUncached(t)}}var As={cacheResult:_t.prototype.cacheResult,__iterateUncached:_t.prototype.__iterateUncached,__iterate:_t.prototype.__iterate,__iterator:_t.prototype.__iterator},Us=(t)=>t===void 0||t===null?Ls().toKeyedSeq():Z(t)?z(t)?t.toSeq():t.fromEntrySeq():gt(t)?t.toSeq():Xn(t);class Zt extends $s{static{this.prototype[le]=!0,Object.assign(this.prototype,As)}toSeq(){return this}toKeyedSeq(){return this}}var yt=(t)=>t===void 0||t===null?Ls():Z(t)?z(t)?t.entrySeq():t.toIndexedSeq():gt(t)?t.toSeq().entrySeq():Hn(t);yt.of=(...t)=>yt(t);class zt extends at{static{this.prototype[le]=!0,Object.assign(this.prototype,As)}toSeq(){return this}toIndexedSeq(){return this}toString(){return this.__toString("Seq [","]")}}var ee=(t)=>(Z(t)&&!Ss(t)?t:yt(t)).toSetSeq();ee.of=(...t)=>ee(t);class Ks extends hr{static{this.prototype[le]=!0,Object.assign(this.prototype,As)}toSeq(){return this}toSetSeq(){return this}}v.isSeq=ds;v.Keyed=Us;v.Set=ee;v.Indexed=yt;class ae extends zt{constructor(t){super();this._array=t,this.size=t.length}get(t,e){return this.has(t)?this._array[it(this,t)]:e}__iterateUncached(t,e){let r=this._array,s=r.length,i=0;while(i!==s){let n=e?s-++i:i++;if(t(r[n],n,this)===!1)break}return i}__iteratorUncached(t){let e=this._array,r=e.length,s=0;return q((i)=>{if(s===r)return!1;let n=t?r-++s:s++;return i[0]=n,i[1]=e[n],!0})}}class Is extends Zt{static{this.prototype[nt]=!0}constructor(t){super();let e=[...Object.keys(t),...Object.getOwnPropertySymbols(t)];this._object=t,this._keys=e,this.size=e.length}get(t,e){if(e!==void 0&&!this.has(t))return e;return this._object[t]}has(t){return Object.hasOwn(this._object,t)}__iterateUncached(t,e){let r=this._object,s=this._keys,i=s.length,n=0;while(n!==i){let h=s[e?i-++n:n++];if(t(r[h],h,this)===!1)break}return n}__iteratorUncached(t){let e=this._object,r=this._keys,s=r.length,i=0;return q((n)=>{if(i===s)return!1;let h=r[t?s-++i:i++];return n[0]=h,n[1]=e[h],!0})}}class Zn extends zt{constructor(t){super();this._collection=t,this.size=t.length||t.size}__iterateUncached(t,e){if(e)return this.cacheResult().__iterate(t,e);let r=0;for(let s of this._collection){if(t(s,r,this)===!1)break;r++}return r}__iteratorUncached(t){if(t)return this.cacheResult().__iterator(t);let e=this._collection,r=wn(e);if(!pu(r))return ct();let s=0;return q((i)=>{let n=r.next();if(n.done)return!1;return i[0]=s++,i[1]=n.value,!0})}}var Ls=()=>new ae([]),Ws=(t)=>qs(t)?new ae(t):zs(t)?new Zn(t):void 0;function Xn(t){let e=Ws(t);if(e)return e.fromEntrySeq();if(typeof t==="object")return new Is(t);throw TypeError(`Expected Array or collection object of [k, v] entries, or keyed object: ${t}`)}function Hn(t){let e=Ws(t);if(e)return e;throw TypeError(`Expected Array or collection object of values: ${t}`)}function Ku(t){let e=Ws(t);if(e)return zu(t)?e.fromEntrySeq():Su(t)?e.toSetSeq():e;if(typeof t==="object")return new Is(t);throw TypeError(`Expected Array or collection object of values, or keyed object: ${t}`)}class Qn extends _t{constructor(t){super();let e=[],r=0,s=!0;for(let n of t)if(n._wrappedIterables){for(let h of n._wrappedIterables)if(e.push(h),s){let u=h.size;if(u!==void 0)r+=u;else s=!1}}else if(e.push(n),s){let h=n.size;if(h!==void 0)r+=h;else s=!1}this._wrappedIterables=e,this.size=s?r:void 0;let i=this._wrappedIterables[0];if(i[ke])this[ke]=!0;if(i[Ve])this[Ve]=!0;if(i[nt])this[nt]=!0}__iterateUncached(t,e){if(this._wrappedIterables.length===0)return 0;if(e)return this.cacheResult().__iterate(t,e);let r=this._wrappedIterables,s=!z(this),i=0,n=!1;for(let h of r)if(h.__iterate((u,o)=>{if(t(u,s?i++:o,this)===!1)return n=!0,!1},e),n)break;return i}__iteratorUncached(t){if(this._wrappedIterables.length===0)return ct();if(t)return this.cacheResult().__iterator(t);let e=this._wrappedIterables,r=!z(this),s=0,i=e[0].__iterator(t);function n(){while(s<e.length){let h=i.next();if(!h.done)return h;if(s++,s<e.length)i=e[s].__iterator(t)}return}if(r){let h=0;return q((u)=>{let o=n();if(!o)return!1;return u[0]=h++,u[1]=o.value[1],!0})}return D(()=>n()||K)}}class Js extends Zt{static{this.prototype[nt]=!0}constructor(t,e){super();this._iter=t,this._useKeys=e,this.size=t.size}cacheResult(){return Xt.call(this)}get(t,e){return this._iter.get(t,e)}has(t){return this._iter.has(t)}valueSeq(){return this._iter.valueSeq()}reverse(){let t=Kn(this,!0);if(!this._useKeys)t.valueSeq=()=>this._iter.toSeq().reverse();return t}map(t,e){let r=Un(this,t,e);if(!this._useKeys)r.valueSeq=()=>this._iter.toSeq().map(t,e);return r}__iterateUncached(t,e){return this._iter.__iterate(t,e)}__iteratorUncached(t){return this._iter.__iterator(t)}}class Gn extends zt{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Xt.call(this)}includes(t){return this._iter.includes(t)}__iterateUncached(t,e){let r=0;if(e)Wt(this);let s=this.size;return this._iter.__iterate((i)=>{let n=e?s-++r:r++;return t(i,n,this)},e),r}__iteratorUncached(t){let e=0;if(t)Wt(this);let r=this.size;return oe(this._iter.__iterator(t),(s,i,n)=>{n[0]=t?r-++e:e++,n[1]=i})}}class Yn extends Ks{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Xt.call(this)}has(t){return this._iter.includes(t)}__iterateUncached(t,e){return this._iter.__iterate((r)=>t(r,r,this),e)}__iteratorUncached(t){return oe(this._iter.__iterator(t),(e,r,s)=>{s[0]=r,s[1]=r})}}class Bn extends Zt{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Xt.call(this)}entrySeq(){return this._iter.toSeq()}__iterateUncached(t,e){let r=0;return this._iter.__iterate((s)=>{if(s){rn(s),r++;let i=Z(s);return t(i?s.get(1):s[1],i?s.get(0):s[0],this)}},e),r}__iteratorUncached(t){let e=this._iter.__iterator(t);return q((r)=>{while(!0){let s=e.next();if(s.done)return!1;let i=s.value[1];if(i){rn(i);let n=Z(i);return r[0]=n?i.get(0):i[0],r[1]=n?i.get(1):i[1],!0}}})}}function Xt(){if(this._iter.cacheResult)return this._iter.cacheResult(),this.size=this._iter.size,this;return _t.prototype.cacheResult.call(this)}function rn(t){if(t!==Object(t))throw TypeError(`Expected [K, V] tuple: ${t}`)}var R=(t)=>t===void 0||t===null?B():ir(t)&&!x(t)?t:B().withMutations((e)=>{let r=Y(t);U(r.size),r.forEach((s,i)=>e.set(i,s))});class re extends $s{static{dt(this,{asImmutable:we,asMutable:pe,deleteIn:Jt,merge:ys,mergeWith:Nn,mergeDeep:vn,mergeDeepWith:th,mergeDeepIn:Ps,mergeIn:Bs,setIn:Qs,update:Gs,updateIn:Ys,wasAltered:Hs,withMutations:ze,removeIn:Jt,concat:ys,[Mn]:!0,[fe]:this.prototype.remove,removeAll:this.prototype.deleteAll,[Symbol.iterator]:this.prototype.entries,[Symbol.toStringTag]:"Immutable.Map"})}constructor(t,e,r,s){super();this.size=t,this._root=e,this.__ownerID=r,this.__hash=s,this.__altered=!1}create(t){return R(t)}toString(){return this.__toString("Map {","}")}get(t,e){return this._root?this._root.get(0,G(t),t,e):e}set(t,e){return nn(this,t,e)}remove(t){return nn(this,t,g)}deleteAll(t){let e=m(t);if(e.size===0)return this;return this.withMutations((r)=>{e.forEach((s)=>r.remove(s))})}clear(){if(this.size===0)return this;if(this.__ownerID)return this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this;return B()}map(t,e){return this.withMutations((r)=>{r.forEach((s,i)=>{r.set(i,t.call(e,s,i,this))})})}keys(){if(!this._root)return ct();return Ce(this._root,!1,0)}values(){if(!this._root)return ct();return Ce(this._root,!1,1)}entries(){if(!this._root)return ct();return Ce(this._root,!1)}__iterator(t){if(!this._root)return ct();return Ce(this._root,t)}__iterate(t,e){let r=0;if(this._root)this._root.iterate(([s,i])=>{return r++,t(i,s,this)},e);return r}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return B();return this.__ownerID=t,this.__altered=!1,this}return Ts(this.size,this._root,t,this.__hash)}}R.isMap=ir;class Ds{constructor(t,e){this.ownerID=t,this.entries=e}get(t,e,r,s){return Pn(this.entries,r,s)}iterate(t,e){return Cn(this.entries,t,e)}update(t,e,r,s,i,n,h){let u=i===g,o=this.entries,f=0,c=o.length;for(;f<c;f++)if(A(s,o[f][0]))break;let _=f<c;if(_?o[f][1]===i:u)return this;if(H(h),u||!_)H(n);if(u&&c===1)return;if(!_&&!u&&c>=Ru)return Iu(t,o,s,i);let l=t&&t===this.ownerID,a=l?o:o.slice();if(_)if(u)if(f===c-1)a.pop();else a[f]=a.pop();else a[f]=[s,i];else a.push([s,i]);if(l)return this.entries=a,this;return new Ds(t,a)}}class ur{constructor(t,e,r){this.ownerID=t,this.bitmap=e,this.nodes=r}iterate(t,e){return xn(this.nodes,t,e)}get(t,e,r,s){let i=1<<((t===0?e:e>>>t)&I),n=this.bitmap;return(n&i)===0?s:this.nodes[un(n&i-1)].get(t+S,e,r,s)}update(t,e,r,s,i,n,h){let u=(e===0?r:r>>>e)&I,o=1<<u,f=this.bitmap,c=(f&o)!==0;if(!c&&i===g)return this;let _=un(f&o-1),l=this.nodes,a=c?l[_]:void 0,y=Zs(a,t,e+S,r,s,i,n,h);if(y===a)return this;if(!c&&y&&l.length>=Tu)return Wu(t,l,f,u,y);if(c&&!y&&l.length===2&&hn(l[_^1]))return l[_^1];if(c&&y&&l.length===1&&hn(y))return y;let p=t&&t===this.ownerID,d=c?y?f:f^o:f|o,j=c?y?Fn(l,_,y,p):Du(l,_,p):Ju(l,_,y,p);if(p)return this.bitmap=d,this.nodes=j,this;return new ur(t,d,j)}}class Rs{constructor(t,e,r){this.ownerID=t,this.count=e,this.nodes=r}iterate(t,e){return xn(this.nodes,t,e)}get(t,e,r,s){let i=(t===0?e:e>>>t)&I,n=this.nodes[i];return n?n.get(t+S,e,r,s):s}update(t,e,r,s,i,n,h){let u=(e===0?r:r>>>e)&I,o=i===g,f=this.nodes,c=f[u];if(o&&!c)return this;let _=Zs(c,t,e+S,r,s,i,n,h);if(_===c)return this;let l=this.count;if(!c)l++;else if(!_){if(l--,l<Zu)return Lu(t,f,l,u)}let a=t&&t===this.ownerID,y=Fn(f,u,_,a);if(a)return this.count=l,this.nodes=y,this;return new Rs(t,l,y)}}class or{constructor(t,e,r){this.ownerID=t,this.keyHash=e,this.entries=r}get(t,e,r,s){return Pn(this.entries,r,s)}iterate(t,e){return Cn(this.entries,t,e)}update(t,e,r,s,i,n,h){if(r!==this.keyHash){if(i===g)return this;return H(h),H(n),Xs(this,t,e,r,[s,i])}let u=i===g,o=this.entries,f=0,c=o.length;for(;f<c;f++)if(A(s,o[f][0]))break;let _=f<c;if(_?o[f][1]===i:u)return this;if(H(h),u||!_)H(n);if(u&&c===2)return new St(t,this.keyHash,o[f^1]);let l=t&&t===this.ownerID,a=l?o:o.slice();if(_)if(u)if(f===c-1)a.pop();else a[f]=a.pop();else a[f]=[s,i];else a.push([s,i]);if(l)return this.entries=a,this;return new or(t,this.keyHash,a)}}class St{constructor(t,e,r){this.ownerID=t,this.keyHash=e,this.entry=r}iterate(t,e){return t(this.entry)}get(t,e,r,s){return A(r,this.entry[0])?this.entry[1]:s}update(t,e,r,s,i,n,h){let u=i===g,o=A(s,this.entry[0]);if(o?i===this.entry[1]:u)return this;if(H(h),u){H(n);return}if(o){if(t&&t===this.ownerID)return this.entry[1]=i,this;return new St(t,this.keyHash,[s,i])}return H(n),Xs(this,t,e,G(s),[s,i])}}function Pn(t,e,r){for(let s=0,i=t.length;s<i;s++)if(A(e,t[s][0]))return t[s][1];return r}function Cn(t,e,r){for(let s=0,i=t.length-1;s<=i;s++)if(e(t[r?i-s:s])===!1)return!1}function xn(t,e,r){for(let s=0,i=t.length-1;s<=i;s++)if(t[r?i-s:s]?.iterate(e,r)===!1)return!1}function Ce(t,e,r){let s={node:t,index:0,__prev:null},i=r!==void 0?(h)=>h[r]:(h)=>h,n={done:!1,value:void 0};return D(()=>{while(s){let h=s.node,u=s.index++,o;if(h.entry){if(u===0)return n.value=i(h.entry),n}else if(h.entries){if(o=h.entries.length-1,u<=o)return n.value=i(h.entries[e?o-u:u]),n}else if(o=h.nodes.length-1,u<=o){let f=h.nodes[e?o-u:u];if(f){if(f.entry)return n.value=i(f.entry),n;s={node:f,index:0,__prev:s}}continue}s=s.__prev}return K})}var Ts=(t,e,r,s)=>new re(t,e,r,s),sn,B=()=>sn||(sn=Ts(0));function nn(t,e,r){let s,i;if(!t._root){if(r===g)return t;i=1,s=new Ds(t.__ownerID,[[e,r]])}else{let n=ls(),h=ls();if(s=Zs(t._root,t.__ownerID,0,G(e),e,r,n,h),!h.value)return t;i=t.size+(n.value?r===g?-1:1:0)}if(t.__ownerID)return t.size=i,t._root=s,t.__hash=void 0,t.__altered=!0,t;return s?Ts(i,s):B()}function Zs(t,e,r,s,i,n,h,u){if(!t){if(n===g)return t;return H(u),H(h),new St(e,s,[i,n])}return t.update(e,r,s,i,n,h,u)}var hn=(t)=>t.constructor===St||t.constructor===or;function Xs(t,e,r,s,i){if(t.keyHash===s)return new or(e,s,[t.entry,i]);let n=(r===0?t.keyHash:t.keyHash>>>r)&I,h=(r===0?s:s>>>r)&I,u=new St(e,s,i),o=n===h?[Xs(t,e,r+S,s,i)]:n<h?[t,u]:[u,t];return new ur(e,1<<n|1<<h,o)}function Iu(t,e,r,s){if(!t)t=new sr;let i=new St(t,G(r),[r,s]);for(let[n,h]of e)i=i.update(t,0,G(n),n,h);return i}function Lu(t,e,r,s){let i=0,n=0,h=Array(r);for(let u=0,o=1,f=e.length;u<f;u++,o<<=1){let c=e[u];if(c!==void 0&&u!==s)i|=o,h[n++]=c}return new ur(t,i,h)}function Wu(t,e,r,s,i){let n=0,h=Array(E);for(let u=0;r!==0;u++,r>>>=1)h[u]=r&1?e[n++]:void 0;return h[s]=i,new Rs(t,n+1,h)}function un(t){return t-=t>>1&1431655765,t=(t&858993459)+(t>>2&858993459),t=t+(t>>4)&252645135,t+=t>>8,t+=t>>16,t&127}function Fn(t,e,r,s){let i=s?t:t.slice();return i[e]=r,i}function Ju(t,e,r,s){let i=t.length+1;if(s&&e+1===i)return t[e]=r,t;let n=Array(i),h=0;for(let u=0;u<i;u++)if(u===e)n[u]=r,h=-1;else n[u]=t[u+h];return n}function Du(t,e,r){let s=t.length-1;if(r&&e===s)return t.pop(),t;let i=Array(s),n=0;for(let h=0;h<s;h++){if(h===e)n=1;i[h]=t[h+n]}return i}var Ru=E/4,Tu=E/2,Zu=E/4;function me(t){if(Array.isArray(t))return t.slice();return{...t}}var Df=(t,...e)=>ge(t,e),Rf=(t,e,...r)=>ge(e,r,t),ye=(t,e,r)=>ge(t,e,Xu(r)),Tf=(t,...e)=>ye(t,e),Zf=(t,e,...r)=>ye(e,r,t);function ge(t,e,r){if(!ht(t))throw TypeError(`Cannot merge into non-data-structure value: ${t}`);if(P(t))return typeof r==="function"&&t.mergeWith?t.mergeWith(r,...e):t.merge?t.merge(...e):t.concat(...e);let s=Array.isArray(t),i=t,n=s?wt:Y,h=s?(u)=>{if(i===t)i=me(i);i.push(u)}:(u,o)=>{let f=Object.hasOwn(i,o),c=f&&r?r(i[o],u,o):u;if(!f||c!==i[o]){if(i===t)i=me(i);i[o]=c}};for(let u of e)n(u).forEach(h);return i}function Xu(t){function e(r,s,i){return ht(r)&&ht(s)&&Hu(r,s)?ge(r,[s],e):t?t(r,s,i):s}return e}function Hu(t,e){let r=v(t),s=v(e);return $(r)===$(s)&&z(r)===z(s)}function Qu(t,e){if(!ht(t))throw TypeError(`Cannot update non-data-structure value: ${t}`);if(P(t)){if(!t.remove)throw TypeError(`Cannot update immutable value without .remove() method: ${t}`);return t.remove(e)}if(!Object.hasOwn(t,e))return t;let r=me(t);if(Array.isArray(r))r.splice(e,1);else delete r[e];return r}function Gu(t,e,r){if(!ht(t))throw TypeError(`Cannot update non-data-structure value: ${t}`);if(P(t)){if(!t.set)throw TypeError(`Cannot update immutable value without .set() method: ${t}`);return t.set(e,r)}if(Object.hasOwn(t,e)&&r===t[e])return t;let s=me(t);return s[e]=r,s}function Ht(t,e,r,s){if(!s)s=r,r=void 0;let i=kn(P(t),t,Wn(e),0,r,s);return i===g?r:i}function kn(t,e,r,s,i,n){let h=e===g;if(s===r.length){let _=h?i:e,l=n(_);return l===_?e:l}if(!h&&!ht(e))throw TypeError(`Cannot update within non-data-structure value in path [${Array.from(r).slice(0,s).map(te)}]: ${e}`);let u=r[s],o=h?g:Jn(e,u,g),f=kn(o===g?t:P(o),o,r,s+1,i,n);if(f===o)return e;if(f===g)return Qu(e,u);let c=h?t?B():{}:e;return Gu(c,u,f)}var Yu=(t,e)=>Ht(t,e,()=>g),Bu=(t,e,r)=>Ht(t,e,g,()=>r);function Vn(t,e,r,s){return Ht(t,[e],r,s)}function we(){return this.__ensureOwner()}function pe(){return this.__ownerID?this:this.__ensureOwner(new sr)}function Hs(){return this.__altered}function ze(t){let e=this.asMutable();return t(e),e.wasAltered()?e.__ensureOwner(this.__ownerID):this}function Pu(t,e){return Es(this,t,e)}function Cu(t){return Dn(this,t)}function Jt(t){return Yu(this,t)}function Qs(t,e){return Bu(this,t,e)}function Gs(t,e,r){return typeof t==="function"?t(this):Vn(this,t,e,r)}function Ys(t,e,r){return Ht(this,t,e,r)}function on(){U(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}function ys(...t){return mn(this,t)}function Nn(t,...e){if(typeof t!=="function")throw TypeError(`Invalid merger function: ${t}`);return mn(this,e,t)}function mn(t,e,r){let s=[];for(let i of e){let n=Y(i);if(n.size!==0)s.push(n)}if(s.length===0)return t;if(t.toSeq().size===0&&!t.__ownerID&&s.length===1)return gt(t)?t:t.create(s[0]);return t.withMutations((i)=>{let n=r?(h,u)=>{Vn(i,u,g,(o)=>o===g?h:r(o,h,u))}:(h,u)=>{i.set(u,h)};for(let h of s)h.forEach(n)})}function vn(...t){return ye(this,t)}function th(t,...e){return ye(this,e,t)}function Bs(t,...e){return Ht(this,t,B(),(r)=>ge(r,e))}function Ps(t,...e){return Ht(this,t,B(),(r)=>ye(r,e))}function dt(t,e){Object.assign(t.prototype,e)}var L=(t)=>{let e=se();if(t===void 0||t===null)return e;if(jn(t))return t;let r=wt(t),s=r.size;if(s===0)return e;if(U(s),s>0&&s<E)return Se(0,s,S,null,new lt(r.toArray()));return e.withMutations((i)=>{i.setSize(s),r.forEach((n,h)=>i.set(h,n))})};L.of=(...t)=>L(t);class eh extends at{static{dt(this,{asImmutable:we,asMutable:pe,deleteIn:Jt,mergeDeepIn:Ps,mergeIn:Bs,setIn:Qs,update:Gs,updateIn:Ys,wasAltered:Hs,withMutations:ze,removeIn:Jt,[On]:!0,[fe]:this.prototype.remove,merge:this.prototype.concat,[Symbol.toStringTag]:"Immutable.List",[Symbol.iterator]:this.prototype.values})}constructor(t,e,r,s,i,n,h){super();this.size=e-t,this._origin=t,this._capacity=e,this._level=r,this._root=s,this._tail=i,this.__ownerID=n,this.__hash=h,this.__altered=!1}create(t){return L(t)}toString(){return this.__toString("List [","]")}get(t,e){if(t=it(this,t),t>=0&&t<this.size)return t+=this._origin,ih(this,t)?.array[t&I];return e}set(t,e){return Fu(this,t,e)}remove(t){return!this.has(t)?this:t===0?this.shift():t===this.size-1?this.pop():this.splice(t,1)}insert(t,e){return this.splice(t,0,e)}clear(){if(this.size===0)return this;if(this.__ownerID)return this.size=this._origin=this._capacity=0,this._level=S,this._root=this._tail=this.__hash=void 0,this.__altered=!0,this;return se()}push(...t){let e=this.size;return this.withMutations((r)=>{st(r,0,e+t.length);for(let s=0;s<t.length;s++)r.set(e+s,t[s])})}pop(){return st(this,0,-1)}unshift(...t){return this.withMutations((e)=>{st(e,-t.length);for(let r=0;r<t.length;r++)e.set(r,t[r])})}shift(){return st(this,1)}shuffle(t=Math.random){return this.withMutations((e)=>{let r=e.size,s,i;while(r)s=Math.floor(t()*r--),i=e.get(s),e.set(s,e.get(r)),e.set(r,i)})}concat(...t){let e=[];for(let r of t){let s=wt(typeof r!=="string"&&zs(r)?r:[r]);if(s.size!==0)e.push(s)}if(e.length===0)return this;if(this.size===0&&!this.__ownerID&&e.length===1)return L(e[0]);return this.withMutations((r)=>{e.forEach((s)=>s.forEach((i)=>r.push(i)))})}setSize(t){return st(this,0,t)}map(t,e){return this.withMutations((r)=>{for(let s=0;s<this.size;s++)r.set(s,t.call(e,r.get(s),s,this))})}slice(t,e){let r=this.size;if(ce(t,e,r))return this;return st(this,Tt(t,r),_e(e,r))}__iterate(t,e){let r=e?this.size:0;return xu(this,(s)=>t(s,e?--r:r++,this),e),e?this.size-r:r}__iterator(t){let e=t?this.size:0,r=fn(this,t);return q((s)=>{let i=r.next();if(i.done)return!1;return s[0]=t?--e:e++,s[1]=i.value,!0})}values(){return fn(this,!1)}keys(){return er(this.size)}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return se();return this.__ownerID=t,this.__altered=!1,this}return Se(this._origin,this._capacity,this._level,this._root,this._tail,t,this.__hash)}}L.isList=jn;class lt{constructor(t,e){this.array=t,this.ownerID=e}removeBefore(t,e,r){if((r&(1<<e+S)-1)===0||this.array.length===0)return this;let s=r>>>e&I;if(s>=this.array.length)return new lt([],t);let i=s===0,n;if(e>0){let u=this.array[s];if(n=u?.removeBefore(t,e-S,r),n===u&&i)return this}if(i&&!n)return this;let h=Dt(this,t);if(!i)for(let u=0;u<s;u++)h.array[u]=void 0;if(n)h.array[s]=n;return h}removeAfter(t,e,r){if(r===(e?1<<e+S:E)||this.array.length===0)return this;let s=r-1>>>e&I;if(s>=this.array.length)return this;let i;if(e>0){let h=this.array[s];if(i=h?.removeAfter(t,e-S,r),i===h&&s===this.array.length-1)return this}let n=Dt(this,t);if(n.array.splice(s+1),i)n.array[s]=i;return n}}function fn(t,e){let{_origin:r,_capacity:s}=t,i=Rt(s),n=t._tail,h=[];o(t._root,t._level,0);let u={done:!1,value:void 0};return D(()=>{while(h.length>0){let f=h[h.length-1];if(f.from===f.to){h.pop();continue}let c=e?--f.to:f.from++;if(f.isLeaf)return u.value=f.array?.[c],u;let _=f.array?.[c],l=f.level-S,a=f.offset+(c<<f.level);o(_,l,a)}return K});function o(f,c,_){if(c===0){let l=_===i?n?.array:f?.array,a=_>r?0:r-_,y=s-_;if(y>E)y=E;if(a!==y)h.push({array:l,from:a,to:y,isLeaf:!0})}else{let l=f?.array,a=_>r?0:r-_>>c,y=(s-_>>c)+1;if(y>E)y=E;if(a!==y)h.push({array:l,from:a,to:y,level:c,offset:_,isLeaf:!1})}}}function xu(t,e,r){let{_origin:s,_capacity:i}=t,n=Rt(i),h=t._tail,u=t._level,o=t._root;return u===0?rh(o,0,s,i,n,h,e,r):sh(o,u,0,s,i,n,h,e,r)}function rh(t,e,r,s,i,n,h,u){let o=e===i?n?.array:t?.array,f=e>r?0:r-e,c=s-e;if(c>E)c=E;while(f!==c){let _=u?--c:f++;if(h(o?.[_])===!1)return!1}}function sh(t,e,r,s,i,n,h,u,o){let f=t?.array,c=r>s?0:s-r>>e,_=(i-r>>e)+1;if(_>E)_=E;let l=e-S;while(c!==_){let a=o?--_:c++,y=r+(a<<e);if((l===0?rh(f?.[a],y,s,i,n,h,u,o):sh(f?.[a],l,y,s,i,n,h,u,o))===!1)return!1}}var Se=(t,e,r,s,i,n,h)=>new eh(t,e,r,s,i,n,h),se=()=>Se(0,0,S);function Fu(t,e,r){if(e=it(t,e),Number.isNaN(e))return t;if(e>=t.size||e<0)return t.withMutations((h)=>{if(e<0)st(h,e).set(0,r);else st(h,0,e+1).set(e,r)});e+=t._origin;let{_tail:s,_root:i}=t,n=ls();if(e>=Rt(t._capacity))s=gs(s,t.__ownerID,0,e,r,n);else i=gs(i,t.__ownerID,t._level,e,r,n);if(!n.value)return t;if(t.__ownerID)return t._root=i,t._tail=s,t.__hash=void 0,t.__altered=!0,t;return Se(t._origin,t._capacity,t._level,i,s)}function gs(t,e,r,s,i,n){let h=s>>>r&I,u=t&&h<t.array.length;if(!u&&i===void 0)return t;let o;if(r>0){let f=t?.array[h],c=gs(f,e,r-S,s,i,n);if(c===f)return t;return o=Dt(t,e),o.array[h]=c,o}if(u&&t.array[h]===i)return t;if(n)H(n);if(o=Dt(t,e),i===void 0&&h===o.array.length-1)o.array.pop();else o.array[h]=i;return o}function Dt(t,e){if(e&&e===t?.ownerID)return t;return new lt(t?.array.slice()??[],e)}function ih(t,e){if(e>=Rt(t._capacity))return t._tail;if(e<1<<t._level+S){let{_root:r,_level:s}=t;while(r&&s>0)r=r.array[e>>>s&I],s-=S;return r}}function st(t,e,r){if(e!==void 0)e|=0;if(r!==void 0)r|=0;let s=t.__ownerID||new sr,i=t._origin,n=t._capacity,h=i+e,u=r===void 0?n:r<0?n+r:i+r;if(h===i&&u===n)return t;if(h>=u)return t.clear();let{_level:o,_root:f}=t,c=0;while(h+c<0)f=new lt(f?.array.length?[void 0,f]:[],s),o+=S,c+=1<<o;if(c)h+=c,i+=c,u+=c,n+=c;let _=Rt(n),l=Rt(u);while(l>=1<<o+S)f=new lt(f?.array.length?[f]:[],s),o+=S;let a=t._tail,y=l<_?ih(t,u-1):l>_?new lt([],s):a;if(a&&l>_&&h<n&&a.array.length){f=Dt(f,s);let p=f;for(let d=o;d>S;d-=S){let j=_>>>d&I;p=p.array[j]=Dt(p.array[j],s)}p.array[_>>>S&I]=a}if(u<n)y=y?.removeAfter(s,0,u);if(h>=l)h-=l,u-=l,o=S,f=null,y=y?.removeBefore(s,0,h);else if(h>i||l<_){c=0;while(f){let p=h>>>o&I;if(p!==l>>>o&I)break;if(p)c+=(1<<o)*p;o-=S,f=f.array[p]}if(f&&h>i)f=f.removeBefore(s,o,h-c);if(f&&l<_)f=f.removeAfter(s,o,l-c);if(c)h-=c,u-=c}if(t.__ownerID)return t.size=u-h,t._origin=h,t._capacity=u,t._level=o,t._root=f,t._tail=y,t.__hash=void 0,t.__altered=!0,t;return Se(h,u,o,f,y)}var Rt=(t)=>t<E?0:t-1>>>S<<S,J=(t)=>t===void 0||t===null?ie():bs(t)?t:ie().withMutations((e)=>{let r=Y(t);U(r.size),r.forEach((s,i)=>e.set(i,s))});J.of=(...t)=>J(t);class nh extends re{static{dt(this,{[nt]:!0,[fe]:this.prototype.remove,[Symbol.iterator]:this.prototype.entries,[Symbol.toStringTag]:"Immutable.OrderedMap",keys:b.prototype.keys,values:b.prototype.values,__iterate:b.prototype.__iterate})}constructor(t,e,r,s){super(t?t.size:0,void 0,r,s);this._map=t,this._list=e}create(t){return J(t)}toString(){return this.__toString("OrderedMap {","}")}get(t,e){let r=this._map.get(t);return r!==void 0?this._list.get(r)[1]:e}clear(){if(this.size===0)return this;if(this.__ownerID)return this.size=0,this._map.clear(),this._list.clear(),this.__altered=!0,this;return ie()}set(t,e){return cn(this,t,e)}remove(t){return cn(this,t,g)}entries(){return this.__iterator(!1)}__iterator(t){let e=this._list.__iterator(t);return q((r)=>{while(!0){let s=e.next();if(s.done)return!1;let i=s.value[1];if(i)return r[0]=i[0],r[1]=i[1],!0}})}__ensureOwner(t){if(t===this.__ownerID)return this;let e=this._map.__ensureOwner(t),r=this._list.__ensureOwner(t);if(!t){if(this.size===0)return ie();return this.__ownerID=t,this.__altered=!1,this._map=e,this._list=r,this}return Cs(e,r,t,this.__hash)}}J.isOrderedMap=bs;var Cs=(t,e,r,s)=>new nh(t,e,r,s),ie=()=>Cs(B(),se());function cn(t,e,r){let{_map:s,_list:i}=t,n=s.get(e),h=n!==void 0,u,o;if(r===g){if(!h)return t;if(i.size>=E&&i.size>=s.size*2){let f=[];if(i.forEach((c,_)=>{if(c!==void 0&&n!==_)f.push(c)}),o=se().withMutations((c)=>{for(let _=0;_<f.length;_++)c.set(_,f[_])}),u=B().withMutations((c)=>{for(let _=0;_<f.length;_++)c.set(f[_][0],_)}),t.__ownerID)u.__ownerID=o.__ownerID=t.__ownerID}else u=s.remove(e),o=n===i.size-1?i.pop():i.set(n,void 0)}else if(h){if(r===i.get(n)[1])return t;u=s,o=i.set(n,[e,r])}else{let f=i.size;u=s.set(e,f),o=i.set(f,[e,r])}if(t.__ownerID)return t.size=u.size,t._map=u,t._list=o,t.__hash=void 0,t.__altered=!0,t;return Cs(u,o)}var ne=(t)=>t===void 0||t===null?ve():Ms(t)?t:ve().pushAll(t);ne.of=(...t)=>ne(t);class hh extends at{static{dt(this,{asImmutable:we,asMutable:pe,wasAltered:Hs,withMutations:ze,[qn]:!0,shift:this.prototype.pop,unshift:this.prototype.push,unshiftAll:this.prototype.pushAll,[Symbol.toStringTag]:"Immutable.Stack",[Symbol.iterator]:this.prototype.values})}constructor(t,e,r,s){super();this.size=t,this._head=e,this.__ownerID=r,this.__hash=s,this.__altered=!1}create(t){return ne(t)}toString(){return this.__toString("Stack [","]")}get(t,e){let r=this._head;t=it(this,t);while(r&&t--)r=r.next;return r?r.value:e}peek(){return this._head?.value}push(...t){if(t.length===0)return this;let e=this.size+t.length,r=this._head;for(let s=t.length-1;s>=0;s--)r={value:t[s],next:r};return cs(this,e,r)}pushAll(t){if(t=wt(t),t.size===0)return this;if(this.size===0&&Ms(t))return t;U(t.size);let e=this.size,r=this._head;return t.__iterate((s)=>{e++,r={value:s,next:r}},!0),cs(this,e,r)}pop(){return this.slice(1)}clear(){if(this.size===0)return this;if(this.__ownerID)return this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this;return ve()}slice(t,e){if(ce(t,e,this.size))return this;let r=Tt(t,this.size);if(_e(e,this.size)!==this.size)return at.prototype.slice.call(this,t,e);let i=this.size-r,n=this._head;while(r--)n=n.next;return cs(this,i,n)}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return ve();return this.__ownerID=t,this.__altered=!1,this}return xs(this.size,this._head,t,this.__hash)}__iterate(t,e){if(e){let i=this.toArray(),n=i.length,h=0;while(h!==n)if(t(i[n-++h],n-h,this)===!1)break;return h}let r=0,s=this._head;while(s){if(t(s.value,r++,this)===!1)break;s=s.next}return r}__iterator(t){if(t){let s=this.toArray(),i=s.length,n=0;return q((h)=>{if(n===i)return!1;let u=i-++n;return h[0]=u,h[1]=s[u],!0})}let e=0,r=this._head;return q((s)=>{if(!r)return!1;return s[0]=e++,s[1]=r.value,r=r.next,!0})}values(){let t=this._head,e={done:!1,value:void 0};return D(()=>{if(!t)return K;return e.value=t.value,t=t.next,e})}keys(){return er(this.size)}}ne.isStack=Ms;function cs(t,e,r){if(t.__ownerID)return t.size=e,t._head=r,t.__hash=void 0,t.__altered=!0,t;return xs(e,r)}var xs=(t,e,r,s)=>new hh(t,e,r,s),_n,ve=()=>_n||(_n=xs(0)),M=(t)=>t===void 0||t===null?ue():Os(t)&&!x(t)?t:ue().withMutations((e)=>{let r=pt(t);U(r.size),r.forEach((s)=>e.add(s))});M.of=(...t)=>M(t);M.fromKeys=(t)=>M(Y(t).keySeq());M.intersect=(t)=>{return t=m(t).toArray(),t.length?M(t.pop()).intersect(...t):ue()};M.union=(t)=>{let e=m(t).toArray();return e.length?M(e.pop()).union(...e):ue()};class he extends hr{static{dt(this,{withMutations:ze,asImmutable:we,asMutable:pe,[bn]:!0,[fe]:this.prototype.remove,merge:this.prototype.union,concat:this.prototype.union,[Symbol.toStringTag]:"Immutable.Set"})}constructor(t,e){super();this.size=t?t.size:0,this._map=t,this.__ownerID=e}create(t){return M(t)}toString(){return this.__toString("Set {","}")}has(t){return this._map.has(t)}add(t){return xe(this,this._map.set(t,t))}remove(t){return xe(this,this._map.remove(t))}clear(){return xe(this,this._map.clear())}map(t,e){let r=!1,s=xe(this,this._map.mapEntries(([,i])=>{let n=t.call(e,i,i,this);if(n!==i)r=!0;return[n,n]},e));return r?s:this}union(...t){if(t=t.filter((e)=>e.size!==0),t.length===0)return this;if(this.size===0&&!this.__ownerID&&t.length===1)return M(t[0]);return this.withMutations((e)=>{for(let r of t)if(typeof r==="string")e.add(r);else pt(r).forEach((s)=>e.add(s))})}intersect(...t){return an(this,t,(e,r)=>!r.every((s)=>s.includes(e)))}subtract(...t){return an(this,t,(e,r)=>r.some((s)=>s.includes(e)))}wasAltered(){return this._map.wasAltered()}__iterator(t){return this._map.__iterator(t)}__empty(){return ue()}__make(t,e){return uh(t,e)}__ensureOwner(t){if(t===this.__ownerID)return this;let e=this._map.__ensureOwner(t);if(!t){if(this.size===0)return this.__empty();return this.__ownerID=t,this._map=e,this}return this.__make(e,t)}}M.isSet=Os;var uh=(t,e)=>new he(t,e),ln,ue=()=>ln||(ln=uh(B()));function an(t,e,r){if(e.length===0)return t;return e=e.map((s)=>pt(s)),t.withMutations((s)=>{t.forEach((i)=>{if(r(i,e))s.remove(i)})})}function xe(t,e){if(t.__ownerID)return t.size=e.size,t._map=e,t;return e===t._map?t:e.size===0?t.__empty():t.__make(e)}var N=(t)=>t===void 0||t===null?ws():$n(t)?t:ws().withMutations((e)=>{let r=pt(t);U(r.size),r.forEach((s)=>e.add(s))});N.of=(...t)=>N(t);N.fromKeys=(t)=>N(Y(t).keySeq());class oh extends he{static{dt(this,{[nt]:!0,[Symbol.toStringTag]:"Immutable.OrderedSet",zip:fs.zip,zipWith:fs.zipWith,zipAll:fs.zipAll})}create(t){return N(t)}toString(){return this.__toString("OrderedSet {","}")}__empty(){return ws()}__make(t,e){return fh(t,e)}}N.isOrderedSet=$n;var fh=(t,e)=>new oh(t,e),ws=()=>fh(ie()),Xf={LeftThenRight:-1,RightThenLeft:1};function ku(t){if(gt(t))throw Error("Can not call `Record` with an immutable Record as default values. Use a plain javascript object instead.");if(P(t))throw Error("Can not call `Record` with an immutable Collection as default values. Use a plain javascript object instead.");if(t===null||typeof t!=="object")throw Error("Can not call `Record` with a non-object as default values. Use a plain javascript object instead.")}var fr=(t,e)=>{let r;ku(t);let s=function(h){if(h instanceof s)return h;if(!(this instanceof s))return new s(h);if(!r){r=!0;let u=Object.keys(t),o=i._indices={};i._name=e,i._keys=u,i._defaultValues=t;for(let f=0;f<u.length;f++){let c=u[f];if(o[c]=f,i[c])console.warn(`Cannot define ${Fs(this)} with property "${c}" since that property name is part of the Record API.`);else Nu(i,c)}}return this.__ownerID=void 0,this._values=L().withMutations((u)=>{u.setSize(this._keys.length),Y(h).forEach((o,f)=>{u.set(this._indices[f],o===this._defaultValues[f]?void 0:o)})}),this},i=s.prototype=Object.create(Vu);if(i.constructor=s,i.create=s,e)s.displayName=e;return s};class ch{static{dt(this,{asImmutable:we,asMutable:pe,deleteIn:Jt,getIn:Pu,hasIn:Cu,merge:ys,mergeWith:Nn,mergeDeep:vn,mergeDeepWith:th,mergeDeepIn:Ps,mergeIn:Bs,setIn:Qs,toObject:on,update:Gs,updateIn:Ys,withMutations:ze,removeIn:Jt,toJSON:on,[En]:!0,[fe]:this.prototype.remove,[Symbol.iterator]:this.prototype.entries,[Symbol.toStringTag]:"Immutable.Record"})}toString(){let t=this._keys.map((e)=>`${e}: ${te(this.get(e))}`).join(", ");return`${Fs(this)} { ${t} }`}equals(t){return this===t||gt(t)&&It(this).equals(It(t))}hashCode(){return It(this).hashCode()}has(t){return Object.hasOwn(this._indices,t)}get(t,e){if(!this.has(t))return e;let r=this._indices[t],s=this._values.get(r);return s===void 0?this._defaultValues[t]:s}set(t,e){if(this.has(t)){let r=this._values.set(this._indices[t],e===this._defaultValues[t]?void 0:e);if(r!==this._values&&!this.__ownerID)return _s(this,r)}return this}remove(t){return this.set(t)}clear(){let t=this._values.clear().setSize(this._keys.length);return this.__ownerID?this:_s(this,t)}wasAltered(){return this._values.wasAltered()}toSeq(){return It(this)}toJS(){return Ne(this)}entries(){return this.__iterator()}__iterate(t,e){return It(this).__iterate(t,e)}__iterator(t){return It(this).__iterator(t)}__ensureOwner(t){if(t===this.__ownerID)return this;let e=this._values.__ensureOwner(t);if(!t)return this.__ownerID=t,this._values=e,this;return _s(this,e,t)}}fr.isRecord=gt;var Fs=(t)=>t.constructor.displayName||t.constructor.name||"Record";class _h extends Zt{constructor(t){super();this._record=t,this.size=t._keys.length}get(t,e){return this._record.get(t,e)}has(t){return this._record.has(t)}__iterateUncached(t,e){let r=this._record,s=r._keys,i=s.length,n=0;while(n!==i){let h=e?i-++n:n++,u=s[h];if(t(r.get(u),u,this)===!1)break}return n}__iteratorUncached(t){let e=this._record,r=e._keys,s=r.length,i=0;return q((n)=>{if(i===s)return!1;let h=t?s-++i:i++,u=r[h];return n[0]=u,n[1]=e.get(u),!0})}}var It=(t)=>new _h(t);fr.getDescriptiveName=Fs;var Vu=ch.prototype;function _s(t,e,r){let s=Object.create(Object.getPrototypeOf(t));return s._values=e,s.__ownerID=r,s}function Nu(t,e){Object.defineProperty(t,e,{get(){return this.get(e)},set(r){vt(this.__ownerID,"Cannot set on an immutable record."),this.set(e,r)}})}var ps=(t,e,r=1)=>{if(vt(r!==0,"Cannot step a Range by 0"),vt(t!==void 0,"You must define a start value when using Range"),vt(e!==void 0,"You must define an end value when using Range"),r=Math.abs(r),e<t)r=-r;let s=Math.max(0,Math.ceil((e-t)/r-1)+1);return new ks(t,e,r,s)};class ks extends zt{_start;_end;_step;constructor(t,e,r,s){super();this._start=t,this._end=e,this._step=r,this.size=s}toString(){return this.size===0?"Range []":`Range [ ${this._start}...${this._end}${this._step!==1?` by ${this._step}`:""} ]`}get(t,e){return this.has(t)?this._start+it(this,t)*this._step:e}includes(t){let e=(t-this._start)/this._step;return e>=0&&e<this.size&&e===Math.floor(e)}slice(t,e){if(ce(t,e,this.size))return this;if(t=Tt(t,this.size),e=_e(e,this.size),e<=t)return ps(0,0);return ps(this.get(t,this._end),this.get(e,this._end),this._step)}indexOf(t){let e=t-this._start;if(e%this._step===0){let r=e/this._step;if(r>=0&&r<this.size)return r}return-1}lastIndexOf(t){return this.indexOf(t)}__iterateUncached(t,e=!1){let r=this.size,s=this._step,i=e?this._start+(r-1)*s:this._start,n=0;while(n!==r){let h=i;i+=e?-s:s;let u=e?r-++n:n++;if(t(h,u,this)===!1)break}return n}__iteratorUncached(t=!1){let e=this.size,r=this._step,s=t?this._start+(e-1)*r:this._start,i=0;return q((n)=>{if(i===e)return!1;let h=s;return s+=t?-r:r,n[0]=t?e-++i:i++,n[1]=h,!0})}values(){let t=this.size,e=this._step,r=this._start,s=0,i={done:!1,value:void 0};return D(()=>{if(s===t)return K;return i.value=r,r+=e,s++,i})}keys(){return er(this.size)}equals(t){return t instanceof ks?this._start===t._start&&this._end===t._end&&this._step===t._step:js(this,t)}static{this.prototype[Symbol.iterator]=this.prototype.values}}var Hf=(t,e)=>{let r=e===void 0?1/0:Math.max(0,e);return new tr(t,r)};class tr extends zt{constructor(t,e){super();this._value=t,this.size=e}toString(){if(this.size===0)return"Repeat []";return`Repeat [ ${this._value} ${this.size} times ]`}get(t,e){return this.has(t)?this._value:e}includes(t){return A(this._value,t)}slice(t,e){let r=this.size;return ce(t,e,r)?this:new tr(this._value,_e(e,r)-Tt(t,r))}reverse(){return this}indexOf(t){if(A(this._value,t))return 0;return-1}lastIndexOf(t){if(A(this._value,t))return this.size;return-1}__iterateUncached(t,e){let r=this.size,s=0;while(s!==r)if(t(this._value,e?r-++s:s++,this)===!1)break;return s}__iteratorUncached(t){let e=this.size,r=this._value,s=0;return q((i)=>{if(s===e)return!1;return i[0]=t?e-++s:s++,i[1]=r,!0})}values(){let t=this.size,e=this._value,r=0,s={done:!1,value:void 0};return D(()=>{if(r===t)return K;return r++,s.value=e,s})}keys(){return er(this.size)}equals(t){return t instanceof tr?this.size===t.size&&A(this._value,t._value):js(this,t)}static{this.prototype[Symbol.iterator]=this.prototype.values}}var Qf=(t,e)=>lh([],e??mu,t,"",e?.length>2?[]:void 0,{"":t});function lh(t,e,r,s,i,n){if(typeof r!=="string"&&!P(r)&&(qs(r)||zs(r)||Ln(r))){if(t.includes(r))throw TypeError("Cannot convert circular structure to Immutable");if(t.push(r),i&&s!=="")i.push(s);let h=e.call(n,s,v(r).map((u,o)=>lh(t,e,u,o,i,r)),i?.slice());if(t.pop(),i)i.pop();return h}return r}var mu=(t,e)=>$(e)?e.toList():z(e)?e.toMap():e.toSet(),Fe=(t)=>z(t)?t.valueSeq():t;function vu(){b.prototype.toMap=function(){return R(this.toKeyedSeq())},b.prototype.toOrderedMap=function(){return J(this.toKeyedSeq())},b.prototype.toOrderedSet=function(){return N(Fe(this))},b.prototype.toSet=function(){return M(Fe(this))},b.prototype.toStack=function(){return ne(Fe(this))},b.prototype.toList=function(){return L(Fe(this))},b.prototype.countBy=function(e,r){let s=R().asMutable();return this.__iterate((i,n)=>{s.update(e.call(r,i,n,this),0,(h)=>h+1)}),s.asImmutable()},b.prototype.groupBy=function(e,r){let s=z(this),i=(x(this)?J():R()).asMutable();return this.__iterate((n,h)=>{i.update(e.call(r,n,h,this),(u)=>{return u??=[],u.push(s?[h,n]:n),u})}),i.map((n)=>Tn(this,n)).asImmutable()},at.prototype.keySeq=function(){return ps(0,this.size)},re.prototype.sort=function(e){return J(Lt(this,e))},re.prototype.sortBy=function(e,r){return J(Lt(this,r,e))},he.prototype.sort=function(e){return N(Lt(this,e))},he.prototype.sortBy=function(e,r){return N(Lt(this,r,e))}}var to="7.0.0",eo={version:to};vu();var{version:Gf}=eo;var ah=Symbol("BadValue"),ph=(t)=>t;class X{constructor(t,e,r,s,i=null){this.type=t,this.name=e,this.typeCheck=r,this.coercer=s,this.checks=[],this.defaultValue=i}toDataDef(){let{type:t,defaultValue:e}=this;return{type:t,defaultValue:e?.toJS?e.toJS():e}}getFirstFailingCheck(t){if(!this.typeCheck.isValid(t))return this.typeCheck;for(let e of this.checks)if(!e.isValid(t))return e;return null}isValid(t){return this.getFirstFailingCheck(t)===null}addCheck(t){return this.checks.push(t),this}coerceOr(t,e=null){if(this.isValid(t))return t;let r=this.coercer(t);return this.isValid(r)?r:e}coerceOrDefault(t){return this.coerceOr(t,this.defaultValue)}extendProtoForType(t,e){}extendProto(t){let{name:e}=this,r=e[0].toUpperCase()+e.slice(1),s=`set${r}`,i=this;t[s]=function(n){let h=i.coerceOr(n,ah);if(h===ah)return console.warn("invalid value",n),this;return this.set(e,h)},t[`update${r}`]=function(n){return this[s](n(this.get(e)))},t[`reset${r}`]=function(){return this.set(e,i.defaultValue)},t[`is${r}NotSet`]=function(){return this.get(e)==null},t[`is${r}Set`]=function(){return this.get(e)!=null},this.extendProtoForType(t,r)}}class Ns{isValid(t){return!0}getMessage(t){return"Invalid"}}class zh extends Ns{}var ro=new zh;class tt extends Ns{constructor(t,e){super();this._isValid=t,this._getMessage=e}isValid(t){return this._isValid(t)}getMessage(t){return this._getMessage(t)}}var so=new tt((t)=>Number.isInteger(t),()=>"Integer expected"),io=new tt((t)=>Number.isFinite(t),()=>"Float expected"),no=new tt((t)=>typeof t==="boolean",()=>"Boolean expected"),ho=new tt((t)=>typeof t==="string",()=>"String expected"),uo=new tt((t)=>L.isList(t),()=>"List expected"),oo=new tt((t)=>R.isMap(t),()=>"Map expected"),fo=new tt((t)=>J.isOrderedMap(t),()=>"OrderedMap expected"),co=new tt((t)=>M.isSet(t),()=>"Set expected"),_o=(t)=>!!t;class ms extends X{constructor(t,e=!1){super("bool",t,no,_o,e)}extendProtoForType(t,e){let{name:r}=this;t[`toggle${e}`]=function(){return this.set(r,!this.get(r,!1))},t[`set${e}`]=function(s){return this.set(r,!!s)}}}class cr extends X{constructor(t,e=null){super("any",t,ro,ph,e)}toDataDef(){let{defaultValue:t}=this;return{type:Vs(t)??"any",defaultValue:t?.toJS?t.toJS():t}}}var lo=(t)=>t?.toString?.()??"";class vs extends X{constructor(t,e=""){super("text",t,ho,lo,e)}extendProtoForType(t,e){ii(t,this.name,e,"","length")}}var ao=(t)=>Number.isFinite(t)?Math.trunc(t):null;class Sh extends X{constructor(t,e=0){super("int",t,so,ao,e)}}var yo=(t)=>null;class ti extends X{constructor(t,e=0){super("float",t,io,yo,e)}}var Vs=(t)=>t?.constructor?.getMetaClass?.()?.name;class dh{constructor(t){this.typeName=t}isValid(t){return Vs(t)===this.typeName}getMessage(t){let e=Vs(t);return`Expected "${this.typeName}", got "${e}"`}}class Oh extends X{constructor(t,e,r){super(t,e,new dh(t),ph,null);this.args=r}toDataDef(){return{component:this.typeName,args:this.args}}}var yh=Symbol("NONE");function Qt(t,e,r){ii(t,e,r,bh),t[`setIn${r}At`]=function(s,i){return this.set(e,this.get(e).set(s,i))},t[`getIn${r}At`]=function(s,i){return this.get(e).get(s,i)},t[`updateIn${r}At`]=function(s,i){let n=this.get(e),h=n.get(s,yh);if(h!==yh)return this.set(e,n.set(s,i(h)));return console.warn("key",s,"not found in",e,n),this},Mh(t,e,`${r}At`)}function Mh(t,e,r){t[`deleteIn${r}`]=function(s){return this.set(e,this.get(e).delete(s))},t[`removeIn${r}`]=t[`deleteIn${r}`]}var bh=L(),go=(t)=>Array.isArray(t)?L(t):null;class ei extends X{constructor(t,e=bh){super("list",t,uo,go,e)}extendProtoForType(t,e){let{name:r}=this;Qt(t,r,e),t[`pushIn${e}`]=function(s){return this.set(r,this.get(r).push(s))},t[`insertIn${e}At`]=function(s,i){return this.set(r,this.get(r).insert(s,i))}}}var wo=(t)=>R(t);class ri extends X{constructor(t,e=R()){super("map",t,oo,wo,e)}extendProtoForType(t,e){Qt(t,this.name,e)}}var po=(t)=>J(t);class si extends X{constructor(t,e=J()){super("omap",t,fo,po,e)}extendProtoForType(t,e){Qt(t,this.name,e)}}function ii(t,e,r,s,i="size"){t[`is${r}Empty`]=function(){return this.get(e,s)[i]===0},t[`${e}Len`]=function(){return this.get(e,s)[i]}}var gh=M(),zo=(t)=>Array.isArray(t)?M(t):t instanceof Set?M(t):null;class ni extends X{constructor(t,e=gh){super("set",t,co,zo,e)}extendProtoForType(t,e){let{name:r}=this;ii(t,r,e,gh),t[`addIn${e}`]=function(s){return this.set(r,this.get(r).add(s))},Mh(t,r,e),t[`hasIn${e}`]=function(s){return this.get(r).has(s)},t[`toggleIn${e}`]=function(s){let i=this.get(r);return this.set(r,i.has(s)?i.delete(s):i.add(s))}}}function wh(t,e,r){let s=e.lookupComponent(t.type);return console.assert(s!==null,"component not found",{field:t}),s?.make({...t.args,...r},{scope:e})??null}class qh{constructor(t){let e={},r=new Set;this.name=t,this.fields=e,this.compFields=r,this._methods={},this._statics={make:function(s={},i={}){let n={};for(let h in s){let u=e[h];if(r.has(h))n[h]=wh(u,i.scope,s[h]);else if(u===void 0){console.warn("extra argument to constructor:",t,h,s);continue}n[h]=u.coerceOrDefault(s[h])}for(let h of r)if(n[h]===void 0)n[h]=wh(e[h],i.scope,s[h]);return this(n)}}}build(){let t={},e={},{name:r,_methods:s,fields:i}=this;for(let u in i){let o=i[u];t[u]=o.defaultValue,o.extendProto(e)}let n={[r]:fr(t,r)}[r];Object.assign(n.prototype,e,s);let h={fields:i,name:r,methods:s};return Object.assign(n,this._statics,{getMetaClass:()=>h}),n}methods(t){return this._mergeProto(this._methods,t,"method")}statics(t){return this._mergeProto(this._statics,t,"static")}_mergeProto(t,e,r){for(let s in e)t[s]=e[s];return this}addField(t,e,r){let s=new r(t,e);return this.fields[t]=s,s}addCompField(t,e,r){let s=new Oh(e,t,r);return this.compFields.add(t),this.fields[t]=s,s}}var _r=new Map,So={text:vs,int:Sh,float:ti,bool:ms,list:ei,map:ri,omap:si,set:ni,any:cr};function Oo(t,{fields:e={},methods:r,statics:s}){let i=new qh(t);for(let n in e){let h=e[n],u=typeof h;if(u==="string")i.addField(n,h,vs);else if(u==="number")i.addField(n,h,ti);else if(u==="boolean")i.addField(n,h,ms);else if(L.isList(h)||Array.isArray(h))i.addField(n,L(h),ei);else if(M.isSet(h)||h instanceof Set)i.addField(n,M(h),ni);else if(J.isOrderedMap(h))i.addField(n,h,si);else if(h?.type&&h?.defaultValue!==void 0){let o=So[h.type]??cr;i.addField(n,new o().coerceOr(h.defaultValue),o)}else if(h?.component&&h?.args!==void 0)i.addCompField(n,h.component,h.args);else if(R.isMap(h)||h?.constructor===Object)i.addField(n,R(h),ri);else{let o=_r.get(h?.constructor)??cr;i.addField(n,h,o)}}if(r)i.methods(r);if(s)i.statics(s);return i.build()}var Mo=(t)=>new Cr(t.name??"Comp",Oo(t.name,t),t.view??"Not Defined",t.views,t.style,t.commonStyle??"",t.globalStyle??"",t.computed,t.input,t.logic,t.bubble,t.response,t.alter,t.dynamic,t.on);var bo=["nid","cid","eid","vid","si","sk"];class hi{constructor(t,e,r,s,i,n,h){this.comps=t,this.h=e,this.fragment=r,this.comment=s,this.renderFn=i,this.getSeqInfo=n??Uo,this.cache=h??new Gr}setNullCache(){this.cache=new Qr}renderToDOM(t,e){let r=document.createElement("div");return this.renderFn(this.h("div",null,[this.renderRoot(t,e)]),r),r.childNodes[0]}renderToString(t,e,r=!0){let s=this.renderToDOM(t,e,this.renderFn);if(r){let i=s.querySelectorAll("[data-nid],[data-cid],[data-eid]");for(let{dataset:n}of i)for(let h of bo)delete n[h]}return s.innerHTML}renderRoot(t,e,r=null){let s=this.comps.getCompFor(e),i=s.getView(r).anode.nodeId??null;return s?this._rValComp(t,e,s,i,"ROOT",r):null}renderIt(t,e,r,s){let i=this.comps.getCompFor(t.it);return i?this._rValComp(t,t.it,i,e,r,s):null}_rValComp(t,e,r,s,i,n){let h=`${n??t.viewsId??""}${s}-${i}`,u=this.cache.get(e,h);if(u)return u;let o=n?r.getView(n):t.lookupBestView(r.views,"main"),f=this.renderMetadata("Comp",{nid:s}),c=this.renderFragment([f,o.render(t,this)]);return this.cache.set(e,h,c),c}renderEach(t,e,r,s){let{seq:i,filter:n,loopWith:h}=e.eval(t),[u,o]=this.getSeqInfo(i),f=[],c=h.call(t.it,i);for(let[_,l]of o(i))if(n.call(t.it,_,l,c)){let a=t.enter(l,{key:_},!0),y=this.renderIt(a,r,_,s);f.push(this.renderMetadata("Each",{nid:r,[u]:_})),f.push(y)}return f}renderEachWhen(t,e,r,s){let{seq:i,filter:n,loopWith:h,enricher:u}=e.eval(t),[o,f]=this.getSeqInfo(i),c=!!u,_=[],l=h.call(t.it,i);for(let[a,y]of f(i))if(n.call(t.it,a,y,l)){let p={key:a,value:y},d=`${s}-${a}`,j;if(c)u.call(t.it,p,a,y,l),j=this.cache.get2(t.it,y,d);else j=this.cache.get(y,d);if(j){_.push(this.renderMetadata("Each",{nid:s,[o]:a})),_.push(j);continue}let bt=t.enter(y,p,!1),qt=r.render(bt,this);if(_.push(this.renderMetadata("Each",{nid:s,[o]:a})),c)this.cache.set2(t.it,y,d,qt);else this.cache.set(y,d,qt);_.push(qt)}return _}renderText(t){return t}renderMetadata(t,e){return e.$=t,this.renderComment(`§${JSON.stringify(e)}§`)}renderComment(t){return this.comment(t)}renderEmpty(t){return null}renderTag(t,e,r){return this.h(t,e,r)}renderFragment(t){return this.fragment(t)}}function*qo(t){let e=0;for(let r of t)yield[e++,r]}function*Eo(t){for(let[e,r]of t.toSeq().entries())yield[e,r]}var lr=new Map,jo=["si",qo],$o=["sk",Eo],Ao=["si",function*(e){}];function Uo(t){return $(t)?jo:z(t)?$o:lr.get(t?.constructor)??Ao}class Ot{constructor(t=R(),e=L()){this.items=t,this.order=e,this.$=0}_clonish(t,e){return new Ot(t,e,this.$)}toJS(){return this.order.toArray().map((t)=>this.items.get(t))}set(t,e){let r=this.items.has(t)?this.order:this.order.push(t);return this._clonish(this.items.set(t,e),r,this.$)}get(t,e=null){return this.items.get(t,e)}_nextFreeKey(){let t=this.$;while(!0){let e=`§${t}§`;if(!this.items.has(e))return[e,t];t+=1}}push(t){let[e,r]=this._nextFreeKey(),s=this.set(e,t);return s.$=r,s}get size(){return this.items.size}delete(t){if(this.items.has(t)){let e=this.order.delete(this.order.indexOf(t));return this._clonish(this.items.delete(t),e)}return this}moveKeyBeforeKey(t,e){let{order:r}=this;return this.moveKeyIndexToIndex(r.indexOf(t),r.indexOf(e),0)}moveKeyAfterKey(t,e){let{order:r}=this;return this.moveKeyIndexToIndex(r.indexOf(t),r.indexOf(e),1)}moveKeyIndexToIndex(t,e,r){if(t===-1||e===-1||t===e)return this;let{order:s}=this,i=e+r,n=i<t?t+1:t,h=s.insert(i,s.get(t)).delete(n);return this._clonish(this.items,h)}}var Ko=(t)=>null;class Eh{isValid(t){return t instanceof Ot}getMessage(t){return"KList expected"}}var Io=new Eh;class jh extends X{constructor(t,e=new Ot){super("KList",t,Io,Ko,e)}extendProtoForType(t,e){Qt(t,this.name,e);let{name:r}=this;Qt(t,r,e),t[`pushIn${e}`]=function(s){return this.set(r,this.get(r).push(s))}}}_r.set(Ot,jh);function*Lo(t){for(let e of t.order)yield[e,t.items.get(e)]}lr.set(Ot,["data-sk",Lo]);var oi=(t)=>t[4]==="-"&&(t[0]==="d"||t[0]==="a"),de=(t)=>t!==null&&typeof t==="object";function Ah(t,e,r){for(let s in e){let i=e[s];if(i===void 0)Wo(t,s,r);else if(oi(s))t.setAttribute(s,i);else if(s==="dangerouslySetInnerHTML")t.innerHTML=i.__html??"";else if(de(i))Jo(t,r,s,i);else if(s==="className")t.setAttribute("class",i);else t[s]=i}}function Wo(t,e,r){let s=r[e];if(e==="dangerouslySetInnerHTML")t.innerHTML="";else if(typeof s==="string"||oi(e)){let i=e==="className"?"class":e==="htmlFor"?"for":e;t.removeAttribute(i)}else t[e]=null}function Jo(t,e,r,s){let i=e?.[r];if(de(i)&&Object.getPrototypeOf(i)!==Object.getPrototypeOf(s)){t[r]=s;return}let n=t[r];if(!de(n))t[r]={},n=t[r];let h=n;for(let u in s)h[u]=s[u]}class Gt{isEqualTo(t){return this===t}toDom(t){return null}}var ui=(t)=>t instanceof Me?t.key:void 0,Do=(t)=>t!=null&&typeof t!=="string"&&typeof t[Symbol.iterator]==="function";function fi(t,e){if(e==null)return;if(Do(e))for(let r of e)fi(t,r);else if(e instanceof Gt)if(e instanceof ut)t.push(...e.childs);else t.push(e);else t.push(new gr(e))}class gr extends Gt{constructor(t){super();this.text=String(t)}get nodeType(){return 3}isEqualTo(t){return t instanceof gr&&this.text===t.text}toDom(t){return t.document.createTextNode(this.text)}}class Oe extends Gt{constructor(t){super();this.text=t}get nodeType(){return 8}isEqualTo(t){return t instanceof Oe&&this.text===t.text}toDom(t){return t.document.createComment(this.text)}}class ut extends Gt{constructor(t){super();this.childs=[],fi(this.childs,t)}get nodeType(){return 11}isEqualTo(t){if(!(t instanceof ut)||this.childs.length!==t.childs.length)return!1;for(let e=0;e<this.childs.length;e++)if(!this.childs[e].isEqualTo(t.childs[e]))return!1;return!0}toDom(t){let e=t.document.createDocumentFragment();for(let r of this.childs){let s=r.toDom(t);if(s)e.appendChild(s)}return e}}class Me extends Gt{constructor(t,e,r,s,i){super();this.tag=t,this.attrs=e??{},this.childs=r??[],this.key=s!=null?String(s):void 0,this.namespace=typeof i==="string"?i:null}get nodeType(){return 1}isEqualTo(t){if(!(t instanceof Me)||this.tag!==t.tag||this.key!==t.key||this.namespace!==t.namespace||this.childs.length!==t.childs.length)return!1;for(let e in this.attrs)if(this.attrs[e]!==t.attrs[e])return!1;for(let e in t.attrs)if(!Object.hasOwn(this.attrs,e))return!1;for(let e=0;e<this.childs.length;e++)if(!this.childs[e].isEqualTo(t.childs[e]))return!1;return!0}toDom(t){let e=t.document,r=this.namespace===null?e.createElement(this.tag):e.createElementNS(this.namespace,this.tag);Ah(r,this.attrs,{});for(let s of this.childs){let i=s.toDom(t);if(i)r.appendChild(i)}return r}}function Uh(t,e){let r=null;for(let s in t){if(!Object.hasOwn(e,s)){r??={},r[s]=void 0;continue}let i=t[s],n=e[s];if(i===n);else if(de(i)&&de(n))if(Object.getPrototypeOf(n)!==Object.getPrototypeOf(i))r??={},r[s]=n;else{let h=Uh(i,n);if(h)r??={},r[s]=h}else r??={},r[s]=n}for(let s in e)if(!Object.hasOwn(t,s))r??={},r[s]=e[s];return r}function Ro(t,e,r){let s=t.parentNode,i=e.toDom(r);if(s&&i&&i!==t)s.replaceChild(i,t);return i||t}var ar=(t,e,r)=>t instanceof r&&e instanceof r;function Kh(t,e,r,s){if(e===r||e.isEqualTo(r))return t;if(ar(e,r,gr)||ar(e,r,Oe))return t.data=r.text,t;if(ar(e,r,Me)&&e.tag===r.tag&&e.namespace===r.namespace&&e.key===r.key){let i=Uh(e.attrs,r.attrs);if(i)Ah(t,i,e.attrs);if(!r.attrs.dangerouslySetInnerHTML)$h(t,e.childs,r.childs,e.tag,s);return t}if(ar(e,r,ut))return $h(t,e.childs,r.childs,null,s),t;return Ro(t,r,s)}function $h(t,e,r,s,i){if(e.length===0){for(let f of r){let c=f.toDom(i);if(c)t.appendChild(c)}return}if(r.length===0){while(t.firstChild)t.removeChild(t.firstChild);return}let n=Array.from(t.childNodes),h={};for(let f=0;f<e.length;f++){let c=ui(e[f]);if(c!=null)h[c]=f}let u=new Uint8Array(e.length),o=0;for(let f=0;f<r.length;f++){let c=r[f],_=ui(c),l=-1;if(_!=null){if(_ in h&&!u[h[_]])l=h[_]}else while(o<e.length){if(!u[o]&&ui(e[o])==null){l=o++;break}o++}if(l>=0){u[l]=1;let a=n[l],y=Kh(a,e[l],c,i),p=t.childNodes[f]??null;if(y!==p)t.insertBefore(y,p)}else{let a=c.toDom(i);if(a){let y=t.childNodes[f]??null;t.insertBefore(a,y)}}}for(let f=e.length-1;f>=0;f--)if(!u[f]&&n[f].parentNode===t)t.removeChild(n[f])}var yr=new WeakMap;function Ih(t,e,r){let s=yr.get(e),i=t instanceof ut;if(s){let h=s.vnode instanceof ut;if(h===i){let u=h?e:s.dom,o=Kh(u,s.vnode,t,r),f=i?e:o;return yr.set(e,{vnode:t,dom:f}),o}yr.delete(e)}let n=t.toDom(r);if(n){e.innerHTML="",e.appendChild(n);let h=i?e:n;yr.set(e,{vnode:t,dom:h})}return n}function Lh(t,e,r){let s=t.toUpperCase(),i={},n,h;if(e)for(let o in e){let f=e[o];switch(o){case"key":n=f;break;case"namespace":h=f;break;case"class":i.className=f;break;case"for":i.htmlFor=f;break;default:i[o]=oi(o)?String(f):f}}let u=[];return fi(u,r),new Me(s,i,u,n,h)}var{raw:hc,raw:uc}=String;function oc(t,e){return new Dr(t,e)}var To=(t)=>typeof t==="string"?document.querySelector(t):t;function fc(t){let e=To(t),r=new Ge,s=(o)=>new ut(o),i=(o)=>new Oe(o),n={document},h=(o,f)=>Ih(o,f,n),u=new hi(r,Lh,s,i,h);return new ss(e,h,r,u,V)}async function Sc(t,e,r="margaui-css"){let s=performance.now(),i=await Zo(t,e),n=performance.now();return Be(r,i),n-s}async function Zo(t,e,r,s=Kt){t.ParseContext=s,t.compile();let i=new Set(r??[]);for(let n of t.comps.byId.values())for(let h in n.views){let u=n.views[h];for(let o of u.ctx.classes)i.add(o)}return await e(Array.from(i))}var Xo="RENDER_IT_OUTSIDE_OF_LOOP",Ho="UNKNOWN_EVENT_MODIFIER",Qo="UNKNOWN_HANDLER_ARG_NAME",Go="INPUT_HANDLER_NOT_IMPLEMENTED",Yo="INPUT_HANDLER_METHOD_NOT_IMPLEMENTED",Bo="INPUT_HANDLER_FOR_INPUT_HANDLER_METHOD",Po="INPUT_HANDLER_METHOD_FOR_INPUT_HANDLER",Co="FIELD_VAL_NOT_DEFINED",xo="COMPUTED_VAL_NOT_DEFINED",Fo="UNKNOWN_REQUEST_NAME",ko="UNKNOWN_COMPONENT_NAME",Vo="warn",Wh="error",No="hint";function jc(t,e=new Jh){nf(e,t),hf(e,t);for(let r in t.views)mo(e,t.views[r],t);return e}function mo(t,e,r){vo(t,e),ef(t,e),sf(t,e,r)}function vo(t,e){let{nodes:r}=e.ctx;for(let s=0;s<r.length;s++){let i=r[s];if(i instanceof Te){let n=r[s+1];if(!(n instanceof Xe||n instanceof Nt))t.error(Xo,{node:i})}}}var tf={};function ef(t,e){for(let r of e.ctx.events)for(let s of r.handlers){let{name:i,modifiers:n}=s,h=Hr[i]??tf;for(let u of n)if(h[u]===void 0)t.warn(Ho,{name:i,modifier:u,handler:s,event:r})}}function rf(t){switch(t){case"value":case"valueAsInt":case"valueAsFloat":case"target":case"event":case"isAlt":case"isShift":case"isCtrl":case"isCmd":case"key":case"keyCode":case"isUpKey":case"isDownKey":case"isSend":case"isCancel":case"isTabKey":case"ctx":case"dragInfo":return!0;default:return!1}}function sf(t,e,r){let{computed:s,scope:i,Class:n}=r,{prototype:h}=n,{fields:u}=n.getMetaClass();for(let o of e.ctx.events)for(let f of o.handlers){let{args:c}=f.handlerCall;for(let _=0;_<c.length;_++){let l=c[_];Mt(t,l,u,h,s,i)}}}function nf(t,e){let{input:r,views:s,Class:i}=e,{prototype:n}=i;for(let h in s){let u=s[h];for(let o of u.ctx.events)for(let f of o.handlers){let{handlerVal:c}=f.handlerCall;if(c instanceof je){if(r[c.name]===void 0){if(t.warn(Go,{name:c.name,handler:f,event:o}),n[c.name]!==void 0)t.hint(Po,{name:c.name,handler:f,event:o})}}else if(c instanceof Pt){if(n[c.name]===void 0){if(t.warn(Yo,{name:c.name,handler:f,event:o}),r[c.name]!==void 0)t.hint(Bo,{name:c.name,handler:f,event:o})}}}}}function Mt(t,e,r,s,i,n){if(e instanceof Ue||e instanceof Pt){let{name:h}=e;if(r[h]===void 0&&s[h]===void 0)t.error(Co,{val:e,name:h})}else if(e instanceof Ke){let{name:h}=e;if(i[h]===void 0)t.error(xo,{val:e,name:h})}else if(e instanceof Ie)Mt(t,e.seqVal,r,s,i,n),Mt(t,e.keyVal,r,s,i,n);else if(e instanceof Ae){if(n.lookupRequest(e.name)===null)t.warn(Fo,{name:e.name})}else if(e instanceof $e){if(n.lookupComponent(e.name)===null)t.warn(ko,{name:e.name})}else if(e instanceof k&&!rf(e.name))t.warn(Qo,{name:e.name});else if(!(e instanceof W))console.log(e)}function hf(t,e){let{computed:r,scope:s,views:i,Class:n}=e,{prototype:h}=n,{fields:u}=n.getMetaClass();for(let o in i){let f=i[o];for(let c of f.ctx.attrs){let{attrs:_,wrapperAttrs:l,textChild:a}=c;if(_ instanceof We){for(let y of _.items)if(y instanceof $t)Mt(t,y.value,u,h,r,s)}if(l!==null)for(let{val:y}of l)Mt(t,y,u,h,r,s);if(a)Mt(t,a,u,h,r,s)}for(let c of f.ctx.nodes)if(c.val)Mt(t,c.val,u,h,r,s)}}class Jh{constructor(){this.reports=[]}error(t,e){this.report(t,e,Wh)}warn(t,e){this.report(t,e,Vo)}hint(t,e){this.report(t,e,No)}report(t,e={},r=Wh){this.reports.push({id:t,info:e,level:r})}}class uf extends V{constructor(t,e,r){super(t,e,r);this.attrs=[]}onAttributes(t,e,r){this.attrs.push({attrs:t,wrapperAttrs:e,textChild:r})}}class Dh extends Kt{constructor(...t){super(...t);this.attrs=[]}enterMacro(t,e,r){let{DOMParser:s,Text:i,Comment:n,nodes:h,events:u,macroNodes:o}=this,c=new Dh(s,i,n,h,u,o,{macroName:t,macroVars:e,macroSlots:r},this);return c.classes=this.classes,c.attrs=this.attrs,c}onAttributes(t,e,r){super.onAttributes(t,e,r),this.attrs.push({attrs:t,wrapperAttrs:e,textChild:r})}}export{Gf as version,Ht as updateIn,Vn as update,fc as tutuca,Bu as setIn,Gu as set,lr as seqInfoByClass,Yu as removeIn,Qu as remove,Rf as mergeWith,Zf as mergeDeepWith,Tf as mergeDeep,Df as merge,oc as macro,ki as isValueObject,Ms as isStack,Os as isSet,ds as isSeq,gt as isRecord,Ln as isPlainObject,$n as isOrderedSet,bs as isOrderedMap,x as isOrdered,bs as isOMap,ir as isMap,jn as isList,z as isKeyed,$ as isIndexed,P as isImmutable,ir as isIMap,Z as isCollection,Ss as isAssociative,A as is,Be as injectCss,uc as html,G as hash,Dn as hasIn,du as has,Es as getIn,Jn as get,Qf as fromJS,_r as fieldsByClass,hc as css,Mo as component,Zo as compileClassesToStyleText,Sc as compileClassesToStyle,mo as checkView,jc as checkComponent,Fo as UNKNOWN_REQUEST_NAME,Qo as UNKNOWN_HANDLER_ARG_NAME,Ho as UNKNOWN_EVENT_MODIFIER,ko as UNKNOWN_COMPONENT_NAME,ne as Stack,M as Set,v as Seq,Hf as Repeat,fr as Record,ps as Range,Xo as RENDER_IT_OUTSIDE_OF_LOOP,V as ParseContext,Xf as PairSorting,N as OrderedSet,J as OrderedMap,J as OMap,R as Map,L as List,uf as LintParseContext,Jh as LintContext,Dh as LintClassCollectorCtx,Vo as LEVEL_WARN,No as LEVEL_HINT,Wh as LEVEL_ERROR,Ot as KList,M as ISet,Go as INPUT_HANDLER_NOT_IMPLEMENTED,Yo as INPUT_HANDLER_METHOD_NOT_IMPLEMENTED,Po as INPUT_HANDLER_METHOD_FOR_INPUT_HANDLER,Bo as INPUT_HANDLER_FOR_INPUT_HANDLER_METHOD,R as IMap,Co as FIELD_VAL_NOT_DEFINED,m as Collection,xo as COMPUTED_VAL_NOT_DEFINED};
1
+ class Qt{lookup(t,e=null){return e}setValue(t,e){return t}updateBindings(t,e){}isFrame=!0}class qt extends Qt{constructor(t){super();this.binds=t}lookup(t,e){return t}setValue(t,e){return e}withIndex(t){return new qt({...this.binds,key:t})}withKey(t){return new qt({...this.binds,key:t})}updateBindings(t,e){Object.assign(e,this.binds)}isFrame=!1}class Se extends Qt{constructor(t){super();this.field=t}lookup(t,e=null){return t?.get?t.get(this.field,e):e}setValue(t,e){return t.set(this.field,e)}withIndex(t){return new gr(this.field,t)}withKey(t){return new yr(this.field,t)}}class lr extends Qt{constructor(t,e){super();this.field=t,this.key=e}lookup(t,e=null){let r=t?.get(this.field,null);return r?.get?r.get(this.key,e):e}setValue(t,e){return t.set(this.field,t.get(this.field).set(this.key,e))}updateBindings(t,e){e.key=this.key}}class yr extends lr{}class gr extends lr{}var J=Symbol("NONE");class dr extends Qt{constructor(t,e){super();this.seqField=t,this.keyField=e}lookup(t,e=null){let r=t?.get(this.seqField,J),s=t?.get(this.keyField,J);return s!==J&&r?.get?r.get(s,e):e}setValue(t,e){let r=t?.get(this.seqField,J),s=t?.get(this.keyField,J);return r===J||s===J?t:t.set(this.seqField,r.set(s,e))}updateBindings(t,e){e.key=t?.get(this.keyField,null)}}class rt{constructor(t=[]){this.steps=t}concat(t){return new rt(this.steps.concat(t))}popStep(){return new rt(this.steps.slice(0,-1))}lookup(t,e=null){let r=t;for(let s of this.steps)if(r=s.lookup(r,J),r===J)return e;return r}setValue(t,e){let r=Array(this.steps.length),s=t;for(let n=0;n<this.steps.length;n++)if(r[n]=s,s=this.steps[n].lookup(s,J),s===J)return t;let i=e;for(let n=this.steps.length-1;n>=0;n--)i=this.steps[n].setValue(r[n],i),r[n]=i;return i}buildStack(t){let e=t.it,r=e;for(let s of this.steps){if(r=s.lookup(r,J),r===J)return console.warn("bad PathItem",{root:e,curVal:r,step:s,path:this}),null;s.updateBindings(r,t.binds.head.bindings),t=t.enter(r,{},s.isFrame)}return t}static fromNodeAndEventName(t,e,r,s,i,n=!0){let h=[],u=0,o=[],c=null,f=[],_=!0;while(t&&t!==r&&u<s){if(t?.dataset){let{nid:a,si:l,sk:y}=_i(t.previousSibling),{eid:p,cid:S,vid:T}=t.dataset;if(p!==void 0)o.push(p);if(S!==void 0){let et=i.getComponentForId(+S,T);if(_){if(c=Zh(et,o,T,e),c===null&&n)return Gh;_=!1}let ci=Xh(et,f,T);if(ci)h.push(ci);o=[],f=[]}if(a!==void 0)f.push({nid:a,si:l,sk:y})}u+=1,t=t.parentNode}return[new rt(h.reverse()),c]}static fromEvent(t,e,r,s,i=!0){let{type:n,target:h}=t;return rt.fromNodeAndEventName(h,n,e,r,s,i)}}var fi={};function _i(t){if(t?.nodeType===8&&t.textContent[0]==="§"){let e=_i(t.previousSibling);if(e!==fi)return e;try{return JSON.parse(t.textContent.slice(1,-1))}catch(r){console.warn(r,t)}}return fi}function Zh(t,e,r,s){for(let i of e){let n=t.getEventForId(+i,r).getHandlersFor(s);if(n!==null)return n}return null}function Xh(t,e,r){for(let s=0;s<e.length;s++){let i=t.getNodeForId(+e[s].nid,r),n=i.pathInNext?s+1:s,{si:h,sk:u,nid:o}=e[n],c=i.pathInNext?t.getNodeForId(+o,r).val.toPathItem():i.toPathItem();if(c!==null)return h!==void 0?c.withIndex(+h):u?c.withKey(u):c}return null}var Gh=[null,null];class pr{constructor(){this.pathChanges=[]}add(t){return this.pathChanges.push(t),this}field(t){return this.add(new Se(t))}index(t,e){return this.add(new gr(t,e))}key(t,e){return this.add(new yr(t,e))}}var Hh=/^[a-zA-Z][a-zA-Z0-9_]*$/,ot=(t)=>Hh.test(t),Qh=/^-?[0-9]+(\.[0-9]+)?$/,ai=(t,e)=>zr.parse(t,e),Yt=(t,e)=>new L(t),Yh=(t,e)=>ot(t)?new k(t):null,Bh=(t,e)=>ot(t)?new qe(t):null,Ph=(t,e)=>ot(t)?new Or(t):null,Ch=(t,e)=>ot(t)?new di(t):null,xh=(t,e)=>ot(t)?new je(t):null,Fh=(t,e)=>ot(t)?new Ie(t):null,kh=(t,e)=>ot(t)?new Ee(t):null;class li{constructor(){this.allowFieldOnly(),this.bindValIt=new Or("it"),this.nullConstVal=new L(null)}const(t){return new L(t)}allowFieldOnly(){this.okField=!0,this.okBind=!1,this.okComputed=!1,this.okDyn=!1,this.okType=!1,this.okRequest=!1,this.okName=!1,this.okConst=!1,this.okStrTpl=!1,this.okSeqAccess=!1}_parseSeqAccess(t,e){if(!this.okSeqAccess)return null;let r=t.indexOf("[");this.allowFieldOnly();let s=this.parse(t.slice(0,r),e),i=this.parse(t.slice(r+1,-1),e);return s&&i?new Ae(s,i):null}parse(t,e){switch(Vh(t)){case pi:return this.okStrTpl?ai(t,e):null;case zi:return this.okStrTpl?Yt(t,e):null;case wi:return this._parseSeqAccess(t,e);case Oe:return this.okStrTpl?ai(t,e):null}let r=t.charCodeAt(0);switch(r){case 94:{let i=e.frame.macroVars?.[t.slice(1)];if(i!==void 0)return this.parse(i,e);return null}case 126:return this.okStrTpl?Yt(t.slice(1),e):null;case 39:return this.okStrTpl?Yt(t.slice(1,-1),e):null;case 64:return this.okBind?Ph(t.slice(1),e):null;case 42:return this.okDyn?Ch(t.slice(1),e):null;case 46:return this.okField?xh(t.slice(1),e):null;case 36:return this.okComputed?Fh(t.slice(1),e):null;case 33:return this.okRequest?kh(t.slice(1),e):null}let s=Qh.test(t)?parseFloat(t):null;if(Number.isFinite(s))return this.okConst?Yt(s,e):null;else if(t==="true"||t==="false")return this.okConst?Yt(t==="true",e):null;else if(r>=97&&r<=122)return this.okName?Yh(t,e):null;else if(r>=65&&r<=90)return this.okType?Bh(t,e):null;return null}parseDynamic(t,e){return this.allowFieldOnly(),this.okComputed=!0,this.parse(t,e)}parseEach(t,e){return this.allowFieldOnly(),this.okComputed=!0,this.okDyn=!0,this.parse(t,e)}allowHandlerArg(){this.allowFieldOnly(),this.okBind=!0,this.okComputed=!0,this.okDyn=!0,this.okType=!0,this.okRequest=!0,this.okName=!0,this.okConst=!0}parseHandlerArg(t,e){return this.allowHandlerArg(),this.parse(t,e)}_parseHandler(t,e,r){this.allowFieldOnly(),this.okName=!0;let s=this.parse(t,e);return s&&(s.toRawFieldVal?s.toRawFieldVal():new r(s.name))}parseHandlerName(t,e){return this._parseHandler(t,e,be)}parseAlter(t,e){return this._parseHandler(t,e,yi)}parseAttr(t,e){return this.parseText(t,e)}parseAll(t,e){return this.allowHandlerArg(),this.okStrTpl=!0,this.okSeqAccess=!0,this.parse(t,e)}parseCondValue(t,e){return this.allowFieldOnly(),this.okBind=!0,this.okComputed=!0,this.okDyn=!0,this.okConst=!0,this.parse(t,e)}parseText(t,e){return this.allowFieldOnly(),this.okBind=!0,this.okComputed=!0,this.okDyn=!0,this.okConst=!0,this.okStrTpl=!0,this.parse(t,e)}parseRender(t,e){return this.allowFieldOnly(),this.okSeqAccess=!0,this.parse(t,e)}}class Me{render(t,e){}eval(t){}toPathItem(){return null}}class L extends Me{constructor(t){super();this.val=t}render(t,e){return this.val}eval(t){return this.val}toString(){let t=this.val;return typeof t==="string"?`'${t}'`:`${t}`}}class wr extends Me{}class zr extends wr{constructor(t){super();this.vals=t}render(t,e){return this.eval(t)}eval(t){let e=Array(this.vals.length);for(let r=0;r<this.vals.length;r++)e[r]=this.vals[r]?.eval(t,"");return e.join("")}static parse(t,e){let r=t.split(/(\{[^}]+\})/g),s=Array(r.length),i=!0;for(let n=0;n<r.length;n++){let h=r[n],o=h[0]==="{"&&h.at(-1)==="}"?d.parseText(h.slice(1,-1),e):new L(h);s[n]=o,i&&=o instanceof L}return i?new L(s.map((n)=>n.val).join("")):new zr(s)}}class k extends wr{constructor(t){super();this.name=t}eval(t){return t.lookupName(this.name)}toString(){return this.name}}class be extends k{eval(t){return t.getHandlerFor(this.name,"input")??gi("input",this.name)}}class yi extends k{eval(t){return t.getHandlerFor(this.name,"alter")??gi("alter",this.name)}}var gi=(t,e)=>function(...r){return console.warn("handler not found",{type:t,name:e,args:r},this),this};class qe extends k{eval(t){return t.lookupType(this.name)}}class Ee extends k{eval(t){return t.lookupRequest(this.name)}toString(){return`!${this.name}`}}class Bt extends k{eval(t){return t.lookupFieldRaw(this.name)}toString(){return`.${this.name}`}}class Sr extends Me{render(t,e){return this.eval(t)}}class Pt extends Sr{constructor(t){super();this.name=t}}class Or extends Pt{eval(t){return t.lookupBind(this.name)}toString(){return`@${this.name}`}}class di extends Pt{eval(t){return t.lookupDynamic(this.name)}toPathItem(){return null}toString(){return`*${this.name}`}}class je extends Pt{eval(t){return t.lookupField(this.name)}toPathItem(){return new Se(this.name)}toRawFieldVal(){return new Bt(this.name)}toString(){return`.${this.name}`}}class Ie extends Pt{eval(t){return t.lookupComputed(this.name)}toString(){return`$${this.name}`}}class Ae extends Sr{constructor(t,e){super();this.seqVal=t,this.keyVal=e}toPathItem(){return new dr(this.seqVal.name,this.keyVal.name)}eval(t){let e=this.keyVal.eval(t);return this.seqVal.eval(t).get(e,null)}toString(){return`${this.seqVal}[${this.keyVal}]`}}var pi=0,wi=1,Oe=2,zi=3;function Vh(t){let e=0,r=0;for(let s=0;s<t.length;s++)switch(t.charCodeAt(s)){case 91:if(e>0)return Oe;e+=1;break;case 93:if(r>0||e===0)return Oe;r+=1;break;case 123:return pi;case 125:return zi}if(e>0||r>0)return e===1&&r===1?wi:Oe;return-1}var d=new li;class Et{constructor(t){this.items=t}eval(t){return{}}static parse(t,e,r=!1){return Er(e).parse(t,r)}isConstant(){return!1}}var Nh="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected",mh=new Set(Nh.split(","));class Si{constructor(t){this.clear(t)}clear(t){this.px=t,this.attrs=null,this.hasDynamic=!1,this.wrapperAttrs=null,this.textChild=null,this.eachAttr=null,this.ifAttr=null,this.events=null}parseAttr(t,e,r=!1){let s=r?d.parseAll(e,this.px):d.parseAttr(e,this.px);if(s!==null)this.attrs??=[],this.attrs.push(new jt(t,s)),this.hasDynamic||=!(s instanceof L)}pushWrapper(t,e,r){let s={name:t,val:r,raw:e};return this.wrapperAttrs??=[],this.wrapperAttrs.push(s),s}parseIf(t,e){let r=d.parseCondValue(e,this.px);if(r)this.ifAttr=new Mi(t.slice(3),r),this.attrs??=[],this.attrs.push(this.ifAttr),this.hasDynamic=!0}parseThen(t){if(this.ifAttr)this.ifAttr.thenVal=d.parseAttr(t,this.px)??Ct}parseElse(t){if(this.ifAttr)this.ifAttr.elseVal=d.parseAttr(t,this.px)??Ct}parseEvent(t,e){let[r,...s]=t.slice(3).split("+"),i=jr.parse(e,this.px);if(i){if(this.events===null)this.events=this.px.registerEvents(),this.attrs??=[],this.attrs.push(new $e("data-eid",d.const(this.events.id)));this.events.add(r,i,s)}}parseDirective(t,e){switch(e){case"dangerouslysetinnerhtml":this.attrs??=[],this.attrs.push(new Oi(d.parseText(t,this.px))),this.hasDynamic=!0;return;case"slot":this.pushWrapper("slot",t,d.const(t));return;case"push-view":this.pushWrapper("push-view",t,d.parseText(t,this.px));return;case"text":this.textChild=d.parseText(t,this.px);return;case"show":this.pushWrapper("show",t,d.parseCondValue(t,this.px));return;case"hide":this.pushWrapper("hide",t,d.parseCondValue(t,this.px));return;case"each":this.eachAttr=this.pushWrapper("each",t,d.parseEach(t,this.px));return;case"enrich-with":if(this.eachAttr!==null)this.eachAttr.enrichWithVal=d.parseAlter(t,this.px);else this.pushWrapper("scope",t,d.parseAlter(t,this.px));return;case"when":this._parseWhen(t);return;case"loop-with":this._parseLoopWith(t);return;case"then":this.parseThen(t);return;case"else":this.parseElse(t);return}if(e.startsWith("on."))this.parseEvent(e,t);else if(e.startsWith("if."))this.parseIf(e,t);else if(e.startsWith("then."))this.parseThen(t);else if(e.startsWith("else."))this.parseElse(t)}_parseWhen(t){if(this.eachAttr!==null)this.eachAttr.whenVal=d.parseAlter(t,this.px)}_parseLoopWith(t){if(this.eachAttr!==null)this.eachAttr.loopWithVal=d.parseAlter(t,this.px)}parse(t,e=!1){for(let{name:n,value:h}of t){let u=n.charCodeAt(0);if(u===58)this.parseAttr(n===":viewbox"?"viewBox":n.slice(1),h,e);else if(u===64)this.parseDirective(h,n.slice(1));else{this.attrs??=[];let o=h===""&&mh.has(n)?!0:h;this.attrs.push(new $e(n,d.const(o)))}}let{attrs:r,hasDynamic:s}=this;return[s?new Ke(r):br.fromAttrs(r??[]),this.wrapperAttrs,this.textChild]}}class br extends Et{eval(t){return this.items}static fromAttrs(t){let e={};for(let r of t)e[r.name]=r.val.eval(null);return new br(e)}setDataAttr(t,e){this.items[t]=e}toMacroVars(){let t={};for(let e in this.items)t[e]=`'${this.items[e]}'`;return t}isConstant(){return!0}}class Ke extends Et{eval(t){let e={};for(let r of this.items)e[r.name]=r.eval(t);return e}setDataAttr(t,e){this.items.push(new $e(t,new L(e)))}toMacroVars(){let t={};for(let e of this.items)t[e.name]=e.val.toString();return t}}class qr{constructor(t){this.name=t}}class jt extends qr{constructor(t,e){super(t);this.val=e}eval(t){return this.val.eval(t)}}class $e extends jt{}class Oi extends jt{constructor(t){super("dangerouslySetInnerHTML",t??d.nullConstVal)}eval(t){return{__html:`${this.val.eval(t)}`}}}var Ct=d.nullConstVal;class Mi extends qr{constructor(t,e){super(t);this.condVal=e,this.thenVal=this.elseVal=Ct}get anyBranchIsSet(){return this.thenVal!==Ct||this.elseVal!==Ct}eval(t){return this.condVal.eval(t)?this.thenVal.eval(t):this.elseVal.eval(t)}}var Mr=null;function Er(t){return Mr??=new Si(t),Mr.clear(t),Mr}class jr{constructor(t,e=[]){this.handlerVal=t,this.args=e}getHandlerAndArgs(t,e){let r=Array(this.args.length);for(let s=0;s<r.length;s++)r[s]=this.args[s].eval(t);return[this.handlerVal.eval(t),r]}static parse(t,e){let[r,...s]=t.trim().split(/\s+/),i=d.parseHandlerName(r,e);if(i===null)return null;let n=Array(s.length);d.allowHandlerArg();for(let h=0;h<s.length;h++){let u=d.parse(s[h],e);n[h]=u!==null?u:d.nullConstVal}return new jr(i,n)}}class Ir{constructor(t,e){this.name=t,this.fn=e}toHandlerArg(t){let e=(...r)=>t.request(this.name,r);return e.withOpts=(...r)=>t.request(this.name,r.slice(0,-1),r.at(-1)),e}}class It{render(t,e){return e.renderEmpty()}setDataAttr(t,e){console.warn("setDataAttr not implemented for",this,{key:t,val:e})}isConstant(){return!1}optimize(){}}class kt extends It{constructor(t){super();this.val=t}render(t,e){return e.renderText(this.val)}isWhiteSpace(){for(let t=0;t<this.val.length;t++){let e=this.val.charCodeAt(t);if(!(e===32||e===10||e===9||e===13))return!1}return!0}hasNewLine(){for(let t=0;t<this.val.length;t++){let e=this.val.charCodeAt(t);if(e===10||e===13)return!0}return!1}condenseWhiteSpace(){this.val=""}isConstant(){return!0}setDataAttr(t,e){}}class Ft extends kt{render(t,e){return e.renderComment(this.val)}}function vh(t){for(let e=0;e<t.length;e++){let r=t[e];if(r.isConstant())t[e]=new Dr(r);else r.optimize()}}function Kr(t){if(t.isConstant())return new Dr(t);return t.optimize(),t}class Ur extends It{constructor(t){super();this.childs=t}isConstant(){return this.childs.every((t)=>t.isConstant())}optimize(){vh(this.childs)}}class Ue extends Ur{constructor(t,e,r){super(r);this.tagName=t,this.attrs=e}render(t,e){let r=Array(this.childs.length);for(let s=0;s<r.length;s++)r[s]=this.childs[s]?.render?.(t,e)??null;return e.renderTag(this.tagName,this.attrs.eval(t),r)}setDataAttr(t,e){this.attrs.setDataAttr(t,e)}isConstant(){return this.attrs.isConstant()&&super.isConstant()}}class Le extends Ur{render(t,e){return e.renderFragment(this.childs.map((r)=>r?.render(t,e)))}setDataAttr(t,e){for(let r of this.childs)r.setDataAttr(t,e)}}var xt=(t)=>t.length===1?t[0]:new Le(t),tu=/^[a-zA-Z][a-zA-Z0-9-]*$/,bi=null;class st extends It{constructor(t,e){super();this.nodeId=t,this.val=e}toPathItem(){return this.val.toPathItem()}static parse(t,e){bi??=e.newDOMParser();let r=bi.parseFromString(t,"text/html").body.childNodes;return st.fromDOM(r[0]??new e.Text(""),e)}static fromDOM(t,e){if(e.isTextNode(t))return new kt(t.textContent);else if(e.isCommentNode(t))return new Ft(t.textContent);let{childNodes:r,attributes:s,tagName:i}=t,n=Array(r.length);for(let h=0;h<r.length;h++)n[h]=st.fromDOM(r[h],e);if(i==="X"){if(s.length===0)return xt(n);let{name:h,value:u}=s[0],o=s.getNamedItem("as")?.value??null;switch(h){case"slot":return new Re(null,d.const(u),xt(n));case"text":{let c=d.parseText(u,e);return c!==null?new $r(null,c):null}case"render":return e.addNodeIf(Ki,d.parseRender(u,e),o);case"render-it":return e.addNodeIf(We,d.bindValIt,o);case"render-each":return Vt.parse(e,d,u,o,s);case"show":return e.addNodeIf(Wr,d.parseCondValue(u,e),xt(n));case"hide":return e.addNodeIf(Rr,d.parseCondValue(u,e),xt(n))}return new Ft(`Error: InvalidSpecialTagOp ${h}=${u}`)}else if(i.charCodeAt(1)===58&&i.charCodeAt(0)===88){let h=i.slice(2).toLowerCase();if(h==="slot"){let c=s.getNamedItem("name")?.value??"_";return e.frame.macroSlots[c]??xt(n)}let[u,o]=Et.parse(s,e,!0);return e.onAttributes(u,o,null),qi(e.newMacroNode(h,u.toMacroVars(),n),e,o)}else if(tu.test(i)){let[h,u,o]=Et.parse(s,e);if(e.onAttributes(h,u,o),o)n.unshift(new $r(null,o));let c=i!=="PRE"?nu(n):n;return qi(new Ue(i.toLowerCase(),h,c),e,u)}return new Ft(`Error: InvalidTagName ${i}`)}}function qi(t,e,r){if(r)for(let s=r.length-1;s>=0;s--){let i=eu(r[s],e);if(i)i.wrapNode(t),t=i}return t}function eu(t,e){let r=iu[t.name],s=r.register?e.addNodeIf(r,t.val):t.val&&new r(null,t.val);if(s!==null&&t.name==="each")s.iterInfo.enrichWithVal=t.enrichWithVal??null,s.iterInfo.whenVal=t.whenVal??null,s.iterInfo.loopWithVal=t.loopWithVal??null;return s}class $i extends It{constructor(t,e,r,s){super();this.name=t,this.attrs=e,this.slots=r,this.px=s,this.node=null,this.dataAttrs={}}compile(t){let{name:e,attrs:r,slots:s}=this;if(this.px.isInsideMacro(e))throw Error(`Recursive macro expansion: ${e}`);let i=t.lookupMacro(e);if(i===null)this.node=new Ft(`bad macro: ${e}`);else{let n={...i.defaults,...r};this.node=i.expand(this.px.enterMacro(e,n,s));for(let h in this.dataAttrs)this.node.setDataAttr(h,this.dataAttrs[h])}}render(t,e){return this.node.render(t,e)}setDataAttr(t,e){this.dataAttrs[t]=e}isConstant(){return this.node.isConstant()}optimize(){this.node=Kr(this.node)}}class Lr{constructor(t,e){this.defaults=t,this.rawView=e}expand(t){return st.parse(this.rawView,t)}}class De extends st{constructor(t,e,r){super(t,e);this.viewId=r}}class Ki extends De{render(t,e){let r=t.enter(this.val.eval(t),{},!0);return e.renderIt(r,this.nodeId,"",this.viewId)}}class We extends De{render(t,e){let r=t.enter(t.it,{},!0);return e.renderIt(r,this.nodeId,"",this.viewId)}pathInNext=!0}class Vt extends De{constructor(t,e,r){super(t,e,r);this.iterInfo=new Tr(e,null,null,null)}render(t,e){return e.renderEach(t,this.iterInfo,this.nodeId,this.viewId)}static parse(t,e,r,s,i){let n=t.addNodeIf(Vt,e.parseEach(r,t),s);if(n!==null){let h=Er(t);h.eachAttr=h.pushWrapper("each",r,n.val);let u=i.getNamedItem("when");u&&h._parseWhen(u.value);let o=i.getNamedItem("loop-with");o&&h._parseLoopWith(o.value),n.iterInfo.whenVal=h.eachAttr.whenVal??null,n.iterInfo.loopWithVal=h.eachAttr.loopWithVal??null}return n}}class $r extends st{render(t,e){return e.renderText(this.val.eval(t))}}class Dr extends It{constructor(t){super();this.node=t,this._render=(e,r)=>{let s=t.render(e,r);return this._render=(i,n)=>s,s}}render(t,e){return this._render(t,e)}}class ct extends st{constructor(t,e,r=null){super(t,e);this.node=r}wrapNode(t){this.node=t}setDataAttr(t,e){this.node.setDataAttr(t,e)}optimize(){this.node=Kr(this.node)}static register=!1}class Wr extends ct{render(t,e){return this.val.eval(t)?this.node.render(t,e):e.renderEmpty()}}class Rr extends ct{render(t,e){return this.val.eval(t)?e.renderEmpty():this.node.render(t,e)}}class Ui extends ct{render(t,e){return this.node.render(t.pushViewName(this.val.eval(t)),e)}}class Re extends ct{optimize(){this.node.optimize()}}class Li extends ct{render(t,e){let r=this.val.eval(t)?.call(t.it)??{};return this.node.render(t.enter(t.it,r,!1),e)}toPathItem(){return new qt({})}wrapNode(t){this.node=t,this.node.setDataAttr("data-nid",this.nodeId)}static register=!0}class Te extends ct{constructor(t,e){super(t,e);this.iterInfo=new Tr(e,null,null,null)}render(t,e){return e.renderEachWhen(t,this.iterInfo,this.node,this.nodeId)}toPathItem(){return new qt({})}static register=!0}class Tr{constructor(t,e,r,s){this.val=t,this.whenVal=e,this.loopWithVal=r,this.enrichWithVal=s}eval(t){let e=this.val.eval(t)??[],r=this.whenVal?.eval(t)??ru,s=this.loopWithVal?.eval(t)??su,i=this.enrichWithVal?.eval(t)??null;return{seq:e,filter:r,loopWith:s,enricher:i}}}var ru=(t,e,r)=>!0,su=(t)=>({seq:t}),iu={slot:Re,show:Wr,hide:Rr,each:Te,scope:Li,"push-view":Ui};class V{constructor(t,e,r,s,i,n,h,u){this.nodes=s??[],this.events=i??[],this.macroNodes=n??[],this.parent=u??null,this.frame=h??{},this.DOMParser=t??globalThis.DOMParser,this.Text=e??globalThis.Text,this.Comment=r??globalThis.Comment,this.cacheConstNodes=!0}isInsideMacro(t){return this.frame.macroName===t||this.parent?.isInsideMacro(t)}enterMacro(t,e,r){let{DOMParser:s,Text:i,Comment:n,nodes:h,events:u,macroNodes:o}=this;return new V(s,i,n,h,u,o,{macroName:t,macroVars:e,macroSlots:r},this)}newDOMParser(){return new this.DOMParser}isTextNode(t){return t instanceof this.Text}isCommentNode(t){return t instanceof this.Comment}addNodeIf(t,e,r){if(e!==null){let s=this.nodes.length,i=new t(s,e,r);return this.nodes.push(i),i}return null}registerEvents(){let t=this.events.length,e=new Di(t);return this.events.push(e),e}newMacroNode(t,e,r){let s=[],i={_:new Le(s)};for(let h of r)if(h instanceof Re)i[h.val.val]=h.node;else if(!(h instanceof kt)||!h.isWhiteSpace())s.push(h);let n=new $i(t,e,i,this);return this.macroNodes.push(n),n}compile(t){for(let e=0;e<this.macroNodes.length;e++)this.macroNodes[e].compile(t)}*genEventNames(){for(let t of this.events)yield*t.genEventNames()}getEventForId(t){return this.events[t]??null}getNodeForId(t){return this.nodes[t]??null}onAttributes(t,e,r){}}var Ar=(t)=>t instanceof kt&&t.isWhiteSpace(),Ei=(t)=>t instanceof Ue||t instanceof Le&&t.childs[0]instanceof Ue;function nu(t){let e=t.length;if(e===0)return t;let r=0,s=!1;if(Ar(t[0]))r=1,s=!0;if(e>1&&Ar(t[e-1]))e-=1,s=!0;for(let i=1;i<e-1;i++){let n=t[i];if(Ar(n)&&Ei(t[i-1])&&Ei(t[i+1])&&n.hasNewLine())n.condenseWhiteSpace()}return s?t.slice(r,e):t}class Je{constructor(t,e,r="",s=null,i=null){this.name=t,this.anode=s,this.style=r,this.ctx=i,this.rawView=e}compile(t,e,r){if(this.ctx=t,this.anode=st.parse(this.rawView,t),this.anode.setDataAttr("data-cid",r),this.anode.setDataAttr("data-vid",this.name),this.ctx.compile(e),t.cacheConstNodes)this.anode=Kr(this.anode)}render(t,e){return this.anode.render(t,e)}}class Di{constructor(t){this.id=t,this.handlers=[]}add(t,e,r){this.handlers.push(new Wi(t,e,r))}*genEventNames(){for(let t of this.handlers)yield t.name}getHandlersFor(t){let e=null;for(let r of this.handlers)if(r.handlesEventName(t))e??=[],e.push(r);return e}}class Wi{constructor(t,e,r){this.name=t,this.handlerCall=e,this.modifierWrapper=fu(t,r),this.modifiers=r}handlesEventName(t){return this.name===t}getHandlerAndArgs(t,e){let r=this.handlerCall.getHandlerAndArgs(t,e);return r[0]=this.modifierWrapper(r[0],e),r}}var hu=(globalThis.navigator?.userAgent??"").toLowerCase().includes("mac"),Ze=(t)=>(e)=>(r,s,i,n)=>t(n)?e(r,s,i,n):r,ji=(t)=>Ze((e)=>e.e.key===t),Ii=Ze(({e:t})=>hu&&t.metaKey||t.ctrlKey),uu=Ze(({e:t})=>t.metaKey),ou=Ze(({e:t})=>t.altKey),Ai={ctrl:Ii,cmd:Ii,meta:uu,alt:ou},Jr={keydown:{send:ji("Enter"),cancel:ji("Escape"),...Ai},click:{...Ai}},cu=(t,e)=>t;function fu(t,e){if(e.length===0)return cu;let r=Jr[t]??{},s=(i,n,h,u)=>n.apply(i,h);for(let i of e){let n=r[i];if(n!==void 0)s=n(s)}return(i,n)=>function(...h){return s(this,i,h,n)}}class Zr{get(t,e){}set(t,e,r){}get2(t,e,r){}set2(t,e,r,s){}evict(){return{hit:0,miss:0,badKey:0}}}class Xr{constructor(){this.hit=this.miss=this.badKey=0,this.map=new WeakMap}_returnValue(t){if(t===void 0)this.miss+=1;else this.hit+=1;return t}get(t,e){return this._returnValue(this.map.get(t)?.[e])}set(t,e,r){let s=this.map.get(t);if(s)s[e]=r;else if(typeof t==="object")this.map.set(t,{[e]:r});else this.badKey+=1}get2(t,e,r){return this._returnValue(this.map.get(t)?.get?.(e)?.[r])}set2(t,e,r,s){let i=this.map.get(t);if(i){let n=i.get(e);if(n)n[r]=s;else i.set(e,{[r]:s})}else if(typeof t==="object"&&typeof e==="object"){let n=new WeakMap;n.set(e,{[r]:s}),this.map.set(t,n)}else this.badKey+=1}evict(){let{hit:t,miss:e,badKey:r}=this;return this.hit=this.miss=this.badKey=0,this.map=new WeakMap,{hit:t,miss:e,badKey:r}}}class Gr{getKey(t,e,r){return r.call(t)}}class Hr{constructor(){this.map=new WeakMap}getKey(t,e,r){let s=this.map.get(t);if(s){let n=s[e];if(n!==void 0)return n;let h=r.call(t)??null;return s[e]=h,h}let i=r.call(t)??null;return this.map.set(t,{[e]:i}),i}}class Xe{constructor(){this.getComponentSymbol=Symbol("getComponent"),this.byId=new Map,this.computedCache=new Hr}setNullComputedCache(){this.computedCache=new Gr}registerComponent(t){t.Class.prototype[this.getComponentSymbol]=()=>t,this.byId.set(t.id,t)}getComponentForId(t){return this.byId.get(t)??null}getCompFor(t){return t?.[this.getComponentSymbol]?.()??null}getOnEnterFor(t){let e=this.getCompFor(t);return e?e.on.stackEnter:Ti}getHandlerFor(t,e,r){return this.getCompFor(t)?.[r][e]??null}getRequestFor(t,e){let r=this.getCompFor(t);return r?r.scope.lookupRequest(e):null}lookupComputed(t,e){let r=this.getHandlerFor(t,e,"computed");return r?this.computedCache.getKey(t,e,r):null}compileStyles(){let t=[];for(let e of this.byId.values())t.push(e.compileStyle());return t.join(`
2
+ `)}}class Ge{constructor(t=new Xe,e=null){this.comps=t,this.parent=e,this.byName={},this.reqsByName={},this.macros={}}enter(){return new Ge(this.comps,this)}registerComponents(t,e={}){for(let r=0;r<t.length;r++){let s=t[r];s.scope=this.enter(),this.comps.registerComponent(s),this.byName[s.name]=s;let i=e[s.name];if(i)this.byName[i]=s}}registerMacros(t){Object.assign(this.macros,t)}getCompFor(t){return this.comps.getCompFor(t)}registerRequestHandlers(t){for(let e in t)this.reqsByName[e]=new Ir(e,t[e])}lookupRequest(t){return this.reqsByName[t]??this.parent?.lookupRequest(t)??null}lookupComponent(t){return this.byName[t]??this.parent?.lookupComponent(t)??null}lookupMacro(t){return this.macros[t]??this.parent?.lookupMacro(t)??null}}class Qr{constructor(t,e,r){this.name=t,this.val=e,this.symbol=r}getSymbol(t){return this.symbol}evalAndBind(t,e){e[this.getSymbol(t)]=this.val.eval(t)}}class Ri extends Qr{constructor(t,e,r,s){super(t,e,null);this.compName=r,this.dynName=s}_resolveSymbol(t){return t.lookupType(this.compName)?.dynamic[this.dynName]?.symbol??null}getSymbol(t){return this.symbol??=this._resolveSymbol(t),this.symbol}}var At=(t)=>typeof t==="string",_u=0;class Yr{constructor(t,e,r,s={},i="",n="",h="",u={},o={},c={},f={},_={},a={},l={},y={}){this.id=_u++,this.name=t,this.Class=e,this.views={main:new Je("main",r,i)},this.commonStyle=n,this.globalStyle=h,this.computed=u,this.input=o,this.logic=c,this.bubble=f,this.response=_,this.alter=a,this.on={stackEnter:y?.stackEnter??Ti};for(let p in s){let S=s[p],{view:T,style:et}=At(S)?{view:S}:S;this.views[p]=new Je(p,T,et)}this._rawDynamic=l,this.dynamic={},this.scope=null}compile(t){for(let e in this._rawDynamic){let r=this._rawDynamic[e];if(At(r)){let s=d.parseDynamic(r,this.views.main.ctx);this.dynamic[e]=new Qr(e,s,Symbol(e))}else if(At(r?.default)&&At(r?.for)){let s=d.parseDynamic(r.default,this.views.main.ctx),[i,n]=r.for.split(".");if(At(i)&&At(n))this.dynamic[e]=new Ri(e,s,i,n)}}for(let e in this.views)this.views[e].compile(new t,this.scope,this.id)}make(t,e){return this.Class.make(t,e)}getView(t){return this.views[t]??this.views.main}getEventForId(t,e="main"){return this.getView(e).ctx.getEventForId(t)}getNodeForId(t,e="main"){return this.getView(e).ctx.getNodeForId(t)}compileStyle(){let{id:t,commonStyle:e,globalStyle:r,views:s}=this,i=e?[`[data-cid="${t}"]{${e}}`]:[];if(r!=="")i.push(r);for(let n in s){let{style:h}=s[n];if(h!=="")i.push(`[data-cid="${t}"][data-vid="${n}"]{${h}}`)}return i.join(`
3
+ `)}}function Ti(t){return t}var Ji=Symbol("STOP"),Cr=Symbol("NEXT");class Nt{constructor(t,e){this.head=t,this.tail=e}push(t){return new Nt(t,this)}lookup(t,e=null){let{tail:r}=this,s=this.head.lookup(t);return s===Ji?e:s===Cr?r!==null?r.lookup(t,e):e:s}*[Symbol.iterator](){let t=this;while(t!==null)yield t.head,t=t.tail}}class Br{constructor(t,e,r){this.it=t,this.bindings=e,this.isFrame=r}lookup(t){let e=this.bindings[t];return e===void 0?this.isFrame?Ji:Cr:e}}class Pr{constructor(t){this.bindings=t}lookup(t){let e=this.bindings[t];return e===void 0?Cr:e}}class H{constructor(t,e,r,s,i,n=null){this.comps=t,this.it=e,this.binds=r,this.dynBinds=s,this.views=i,this.ctx=n;let h=[...i].join("");this.viewsId=h==="main"?"":h}_enrichOnEnter(){return this.comps.getOnEnterFor(this.it).call(this.it,this)??this}upToFrameBinds(){let{comps:t,binds:e,dynBinds:r,views:s,ctx:i}=this;return e.head.isFrame?this:new H(t,e.tail.head.it,e.tail,r,s,i)}static root(t,e,r){let s=new Nt(new Br(e,{it:e},!0),null),i=new Nt(new Pr({}),null),n=new Nt("main",null);return new H(t,e,s,i,n,r)._enrichOnEnter()}enter(t,e={},r=!0){let{comps:s,binds:i,dynBinds:n,views:h,ctx:u}=this,o=i.push(new Br(t,e,r));return new H(s,t,o,n,h,u)._enrichOnEnter()}pushViewName(t){let{comps:e,it:r,binds:s,dynBinds:i,views:n,ctx:h}=this;return new H(e,r,s,i,n.push(t),h)}withDynamicBindings(t){let e={},r=this.comps.getCompFor(this.it);for(let c of t)r.dynamic[c].evalAndBind(this,e);let{comps:s,it:i,binds:n,views:h,ctx:u}=this,o=this.dynBinds.push(new Pr(e));return new H(s,i,n,o,h,u)}lookupDynamic(t){let e=this.comps.getCompFor(this.it)?.dynamic[t];return e?this.dynBinds.lookup(e.getSymbol(this))??e.val.eval(this):null}lookupBind(t){return this.binds.lookup(t)}lookupType(t){return this.comps.getCompFor(this.it).scope.lookupComponent(t)}lookupFieldRaw(t){return this.it[t]??null}lookupField(t){let e=this.lookupFieldRaw(t);return e instanceof Function?e.call(this.it):e}lookupName(t){return this.ctx.lookupName(t)}lookupComputed(t){let e=this.binds.head.isFrame?this.binds.head:this.binds.tail.head;return this.comps.lookupComputed(e.it,t)}getHandlerFor(t,e){return this.comps.getHandlerFor(this.it,t,e)}lookupRequest(t){return this.comps.getRequestFor(this.it,t)}lookupBestView(t,e){for(let r of this.views){let s=t[r];if(s!==void 0)return s}return t[e]}}class Xi{constructor(t){this.val=t,this.changeSubs=[]}onChange(t){this.changeSubs.push(t)}set(t,e){let r=this.val;this.val=t;for(let s of this.changeSubs)s({val:t,old:r,info:e,timestamp:Date.now()})}update(t,e){return this.set(t(this.val),e)}}class Fr{constructor(t,e){this.comps=t,this.transactions=[],this.state=new Xi(e),this.onTransactionPushed=()=>{}}pushTransaction(t){return this.transactions.push(t),this.onTransactionPushed(t),t}pushLogic(t,e,r=[],s={},i=null){return this.pushTransaction(new Nr(t,this,e,r,i,s))}pushBubble(t,e,r=[],s={},i=null){let n=s.skipSelf?{...s,skipSelf:!1}:s;return this.pushTransaction(new Qi(t,this,e,r,i,n))}async pushRequest(t,e,r=[],s={},i=null){let n=this.state.val,h=t.lookup(n),u=this.comps.getRequestFor(h,e)??au(e),o=s?.onResName??e,c=(f,_,a,l,y)=>{let S=new Hi(t,this,f??_,f?[a]:[l,y],i);return this.pushTransaction(S)};try{let f=await u.fn.apply(null,r);return c(s?.onOkName,o,f,f,null)}catch(f){return c(s?.onErrorName,o,f,null,f)}}get hasPendingTransactions(){return this.transactions.length>0}transactNext(){if(this.hasPendingTransactions)this.transact(this.transactions.shift())}transactAll(){while(this.hasPendingTransactions)this.transact(this.transactions.shift())}transact(t){let e=this.state.val,r=t.run(e,this.comps);if(r!==void 0)this.state.set(r,{transaction:t}),t.afterTransaction();else console.warn("undefined new state",{curState:e,transaction:t})}transactInputNow(t,e,r,s){this.transact(new Gi(t,e,r,this,s))}}function au(t){return()=>{throw Error(`Request not found: ${t}`)}}function lu(){return this}class kr{constructor(t,e,r=null){this.path=t,this.transactor=e,this.parentTransaction=r,this._task=null}get task(){return this._task??=new Yi,this._task}getCompletionPromise(){return this.task.promise}setParent(t){this.parentTransaction=t,t.task.addDep(this.task)}run(t,e){return this.updateRootValue(t,e)}afterTransaction(){}buildRootStack(t,e){return H.root(e,t)}buildStack(t,e){let r=this.path.buildStack(this.buildRootStack(t,e));return r?r.upToFrameBinds():null}callHandler(t,e,r){let[s,i]=this.getHandlerAndArgs(t,e,r);return s.apply(e,i)}getHandlerAndArgs(t,e,r){return null}updateRootValue(t,e){let r=this.path.lookup(t),s=this.callHandler(t,r,e);return this._task?.complete?.({value:s,old:r}),r!==s?this.path.setValue(t,s):t}lookupName(t){return null}}var yu=(globalThis.navigator?.userAgent??"").toLowerCase().includes("mac"),Zi=(t)=>Number.isNaN(t)?null:t;function xr(t){return t.target.type==="checkbox"?t.target.checked:(t instanceof CustomEvent?t.detail:t.target.value)??null}class Gi extends kr{constructor(t,e,r,s,i){super(t,s);this.e=e,this.handler=r,this.dragInfo=i}buildRootStack(t,e){return H.root(e,t,this)}getHandlerAndArgs(t,e,r){let s=this.buildStack(t,r),[i,n]=this.handler.getHandlerAndArgs(s,this),h;for(let u=0;u<n.length;u++)if(n[u]?.toHandlerArg)h??=new mr(this.path,this.transactor,this),n[u]=n[u].toHandlerArg(h);return[i,n]}lookupName(t){let{e}=this;switch(t){case"value":return xr(e);case"valueAsInt":return Zi(parseInt(xr(e),10));case"valueAsFloat":return Zi(parseFloat(xr(e)));case"target":return e.target;case"event":return e;case"isAlt":return e.altKey;case"isShift":return e.shiftKey;case"isCtrl":case"isCmd":return yu&&e.metaKey||e.ctrlKey;case"key":return e.key;case"keyCode":return e.keyCode;case"isUpKey":return e.key==="ArrowUp";case"isDownKey":return e.key==="ArrowDown";case"isSend":return e.key==="Enter";case"isCancel":return e.key==="Escape";case"isTabKey":return e.key==="Tab";case"ctx":return new vr(this.path,this.transactor,this);case"dragInfo":return this.dragInfo}return null}}class Vr extends kr{constructor(t,e,r,s,i,n={}){super(t,e,i);this.name=r,this.args=s,this.opts=n}handlerProp=null;getHandlerForName(t){return t?.[this.handlerProp]?.[this.name]??lu}getHandlerAndArgs(t,e,r){return[this.getHandlerForName(r.getCompFor(e)),[...this.args,new vr(this.path,this.transactor,this)]]}}class Hi extends Vr{handlerProp="response"}class Nr extends Vr{handlerProp="logic";run(t,e){return this.opts.skipSelf?t:this.updateRootValue(t,e)}afterTransaction(){let{path:t,name:e,args:r,opts:s}=this;if(s.bubbles&&t.steps.length>0)this.transactor.pushBubble(t.popStep(),e,r,s,this)}}class Qi extends Nr{handlerProp="bubble";stopPropagation(){this.opts.bubbles=!1}}class Yi{constructor(t){this.info=t,this.deps=[],this.val=this.resolve=this.reject=null,this.promise=new Promise((e,r)=>{this.resolve=e,this.reject=r}),this.isCompleted=!1}addDep(t){console.assert(!this.isCompleted,"addDep for completed task",this,t),this.deps.push(t),t.promise.then((e)=>this._check())}complete(t){this.val=t,this._check()}_check(){if(this.deps.every((t)=>t.isCompleted))this.isCompleted=!0,this.resolve(this)}}class mr{constructor(t,e,r=null){this.path=t,this.transactor=e,this.parent=r}get at(){return new Bi(this)}logic(t,e,r){return this.logicAtPath(this.path,t,e,r)}bubble(t,e,r){return this.logic(t,e,{skipSelf:!0,bubbles:!0,...r})}logicAtPath(t,e,r,s){return this.transactor.pushLogic(t,e,r,s,this.parent)}request(t,e,r){return this.requestAtPath(this.path,t,e,r)}requestAtPath(t,e,r,s){return this.transactor.pushRequest(t,e,r,s,this.parent)}lookupTypeFor(t,e){return this.transactor.comps.getCompFor(e).scope.lookupComponent(t)}}class vr extends mr{stopPropagation(){return this.parent.stopPropagation()}}class Bi extends pr{constructor(t){super();this.dispatcher=t}logic(t,e,r){return this.dispatcher.logicAtPath(this.buildPath(),t,e,r)}bubble(t,e,r){return this.logic(t,e,{skipSelf:!0,bubbles:!0,...r})}buildPath(){return this.dispatcher.path.concat(this.pathChanges)}}class ts{constructor(t,e,r,s,i){this.rootNode=t,this.comps=r,this.compStack=new Ge(r),this.transactor=new Fr(r,null),this.ParseContext=i,this.renderer=s,this.renderFn=e,this.maxEventNodeDepth=1/0,this._transactNextBatchId=this._evictCacheId=null,this._eventNames=new Set(["dragstart","dragover","dragend"]),this.dragInfo=this.curDragOver=null,this.transactor.onTransactionPushed=(n)=>{if(this._transactNextBatchId===null)this._scheduleNextTransactionBatchExecution()},this._compiled=!1}get state(){return this.transactor.state}handleEvent(t){let e=t.type==="dragstart",r=t.type==="dragover",s=t.type==="dragend",{rootNode:i,maxEventNodeDepth:n,comps:h}=this,u=!(r||e||s),[o,c]=rt.fromEvent(t,i,n,h,u);if(r){let f=gu(t.target,this.rootNode,50);if(f!==null)t.preventDefault(),this._cleanDragOverAttrs(),this.curDragOver=f,f.dataset.draggingover=this.dragInfo.type}else if(e){t.target.dataset.dragging=1;let f=this.state.val,_=o.lookup(f),a=t.target.dataset.dragtype??"?",l=o.buildStack(this.makeStack(f));this.dragInfo=new Pi(o,l,t,_,a,t.target)}else if(s)delete this.dragInfo.node.dataset.dragging,this.dragInfo=null,this._cleanDragOverAttrs();if(o!==null&&c!==null)for(let f of c)this.transactor.transactInputNow(o,t,f,this.dragInfo)}makeStack(t){return H.root(this.comps,t)}_cleanDragOverAttrs(){if(this.curDragOver!==null)delete this.curDragOver.dataset.draggingover,this.curDragOver=null}render(){let t=this.state.val,e=this.makeStack(t);return this.renderFn(this.renderer.renderRoot(e,t),this.rootNode)}onChange(t){this.transactor.state.onChange(t)}compile(){for(let t of this.comps.byId.values()){t.compile(this.ParseContext);for(let e in t.views)for(let r of t.views[e].ctx.genEventNames())this._eventNames.add(r)}this._compiled=!0}start(t){if(!this._compiled)this.compile();for(let e of this._eventNames)this.rootNode.addEventListener(e,this);if(this.onChange((e)=>{if(e.val!==e.old)this.render()}),He("tutuca-app",this.comps.compileStyles(),t?.head??document.head),t?.noCache)this.renderer.setNullCache(),this.comps.setNullComputedCache();else this.startCacheEvictionInterval();this.render()}stop(){this.stopCacheEvictionInterval();for(let t of this._eventNames)this.rootNode.removeEventListener(t,this)}dispatchLogicAtRoot(t,e,r){return this.transactor.pushLogic(new rt([]),t,e,r)}registerComponents(t,e){let r=this.compStack.enter();return r.registerComponents(t,e),r}_transactNextBatch(t=10){this._transactNextBatchId=null;let e=Date.now(),r=this.transactor;while(r.hasPendingTransactions&&Date.now()-e<t)r.transactNext();if(r.hasPendingTransactions)this._scheduleNextTransactionBatchExecution()}_scheduleNextTransactionBatchExecution(){this._transactNextBatchId=setTimeout(()=>this._transactNextBatch(),0)}startCacheEvictionInterval(t=30000){this._evictCacheId=setInterval(()=>this.renderer.cache.evict(),t)}stopCacheEvictionInterval(){clearInterval(this._evictCacheId),this._evictCacheId=null}}function He(t,e,r=document.head){let s=document.createElement("style"),i=r.querySelector(`#${t}`);if(i)r.removeChild(i);s.id=t,s.innerHTML=e,r.appendChild(s)}function gu(t,e,r){let s=t;while(r-- >0&&s!==e){if(s.dataset?.droptarget!==void 0)return s;s=s.parentNode}return null}class Pi{constructor(t,e,r,s,i,n){this.path=t,this.stack=e,this.e=r,this.val=s,this.type=i,this.node=n}lookupBind(t){return this.stack.lookupBind(t)}}class $t extends V{constructor(...t){super(...t);this.classes=new Set}_addClasses(t){for(let e of t.split(/\s+/))this.classes.add(e)}enterMacro(t,e,r){let{DOMParser:s,Text:i,Comment:n,nodes:h,events:u,macroNodes:o}=this,f=new $t(s,i,n,h,u,o,{macroName:t,macroVars:e,macroSlots:r},this);return f.classes=this.classes,f}onAttributes(t,e,r){if(Array.isArray(t.items))for(let s of t.items){if(s.name!=="class")continue;let{val:i,thenVal:n,elseVal:h}=s;if(n!==void 0)this._maybeAddVal(n),this._maybeAddVal(h);else this._maybeAddVal(i)}else{let s=t.items.class;if(s)this._addClasses(s)}}_maybeAddVal(t){if(!this._maybeAddStrTpl(t)&&typeof t?.val==="string")this._addClasses(t.val)}_maybeAddStrTpl(t){if(t?.vals!==void 0){for(let e of t.vals)if(e instanceof L&&e.val!=="")this._addClasses(e.val);return!0}return!1}}function mt(t,e){if(!t)throw Error(e)}function A(t){mt(t!==1/0,"Cannot perform this action with an infinite size.")}function Ci(t,e,r,s,i,n){return A(t.size),t.__iterate((h,u,o)=>{if(i)i=!1,r=h;else r=e.call(s,r,h,u,o)},n),r}var du=(t,e)=>e,pu=(t,e)=>[e,t],es=(t)=>function(...e){return!t.apply(this,e)},xi=(t)=>function(...e){return-t.apply(this,e)};function yn(t,e){if(t===void 0&&e===void 0)return 0;if(t===void 0)return 1;if(e===void 0)return-1;return t>e?1:t<e?-1:0}var Fi=(t,e)=>t<e?1:t>e?-1:0,$={done:!0,value:void 0};class gn{constructor(t){this.next=t}[Symbol.iterator](){return this}}function W(t){return new gn(t)}function q(t){let e=[void 0,void 0],r={done:!1,value:void 0};return W(()=>{if(t(e))return r.value=[e[0],e[1]],r;return $})}var wu=W(()=>$),ft=()=>wu;function me(t){let e=0,r={done:!1,value:void 0};return W(()=>{if(e===t)return $;return r.value=e++,r})}function ue(t,e){return q((r)=>{let s=t.next();if(s.done)return!1;return e(s.value[0],s.value[1],r),!0})}function gs(t){if(Array.isArray(t))return!0;return!!ve(t)}var zu=(t)=>typeof t?.next==="function";function dn(t){return ve(t)?.call(t)}function ve(t){let e=t?.[Symbol.iterator];if(typeof e==="function")return e}function Su(t){let e=ve(t);return e&&e===t.entries}function Ou(t){let e=ve(t);return e&&e===t.keys}var oe="delete",z=5,E=1<<z,K=E-1,g={},cs=()=>({value:!1});function G(t){if(t)t.value=!0}class tr{}function Lt(t){if(t.size===void 0)t.size=t.__iterate(pn);return t.size}function nt(t,e){if(typeof e!=="number"){let r=e>>>0;if(String(r)!==e||r===4294967295)return NaN;e=r}return e<0?Lt(t)+e:e}var pn=()=>!0,wn=(t)=>t<0||Object.is(t,-0),ce=(t,e,r)=>(t===0&&!wn(t)||r!==void 0&&(t??0)<=-r)&&(e===void 0||r!==void 0&&e>=r),zn=(t,e,r)=>t===void 0?r:wn(t)?e===1/0?e:Math.max(0,e+t)|0:e===void 0||e===t?t:Math.min(e,t)|0,Tt=(t,e)=>zn(t,e,0),fe=(t,e)=>zn(t,e,e),Sn="@@__IMMUTABLE_ITERABLE__@@",Ce="@@__IMMUTABLE_KEYED__@@",xe="@@__IMMUTABLE_INDEXED__@@",ht="@@__IMMUTABLE_ORDERED__@@",_e="@@__IMMUTABLE_SEQ__@@",On="@@__IMMUTABLE_LIST__@@",Mn="@@__IMMUTABLE_MAP__@@",bn="@@__IMMUTABLE_SET__@@",qn="@@__IMMUTABLE_STACK__@@",En="@@__IMMUTABLE_RECORD__@@";function F(t,e){return typeof t==="object"&&t!==null&&e in t}var Z=(t)=>F(t,Sn),w=(t)=>F(t,Ce),j=(t)=>F(t,xe),ds=(t)=>w(t)||j(t),x=(t)=>F(t,ht),ps=(t)=>F(t,_e),jn=(t)=>F(t,On),er=(t)=>F(t,Mn),ws=(t)=>F(t,bn),zs=(t)=>F(t,qn),gt=(t)=>F(t,En),P=(t)=>Z(t)||gt(t),Ss=(t)=>er(t)&&x(t),In=(t)=>ws(t)&&x(t),ki=(t)=>typeof t==="object"&&t!==null&&typeof t.equals==="function"&&typeof t.hashCode==="function";function An(t){let e=C(t);return e._iter=t,e.size=t.size,e.flip=()=>t,e.reverse=function(){let r=t.reverse.call(this);return r.flip=()=>t.reverse(),r},e.has=(r)=>t.includes(r),e.includes=(r)=>t.has(r),e.cacheResult=Zt,e.__iterate=function(r,s){return t.__iterate((i,n)=>r(n,i,this),s)},e.__iteratorUncached=(r)=>ue(t.__iterator(r),(s,i,n)=>{n[0]=i,n[1]=s}),e}function $n(t,e,r){let s=C(t);return s.size=t.size,s.has=(i)=>t.has(i),s.get=(i,n)=>{let h=t.get(i,g);return h===g?n:e.call(r,h,i,t)},s.__iterate=function(i,n){return t.__iterate((h,u)=>i(e.call(r,h,u,t),u,this),n)},s.__iteratorUncached=(i)=>ue(t.__iterator(i),(n,h,u)=>{u[0]=n,u[1]=e.call(r,h,n,t)}),s}function Kn(t,e){let r=C(t);if(r._iter=t,r.size=t.size,r.reverse=()=>t,t.flip)r.flip=function(){let s=An(t);return s.reverse=()=>t.flip(),s};return r.get=(s,i)=>t.get(e?s:-1-s,i),r.has=(s)=>t.has(e?s:-1-s),r.includes=(s)=>t.includes(s),r.cacheResult=Zt,r.__iterate=function(s,i){let n=0;if(i)Lt(t);return t.__iterate((h,u)=>s(h,e?u:i?this.size-++n:n++,this),!i)},r.__iteratorUncached=function(s){let i=0;if(s)Lt(t);let n=this.size;return ue(t.__iterator(!s),(h,u,o)=>{o[0]=e?h:s?n-++i:i++,o[1]=u})},r}function Un(t,e,r,s){let i=t.size;if(ce(e,r,i))return t;if(i===void 0&&(e<0||r<0))return Un(t.toSeq().cacheResult(),e,r,s);let n=Tt(e,i),u=fe(r,i)-n,o;if(!Number.isNaN(u))o=Math.max(0,u);let c=C(t);if(c.size=o===0?o:t.size&&o||void 0,!s&&ps(t)&&o>=0)c.get=function(f,_){return f=nt(this,f),f>=0&&f<o?t.get(f+n,_):_};return c.__iterateUncached=function(f,_){if(o!==0&&_)return this.cacheResult().__iterate(f,_);if(o===0)return 0;let a=0,l=0;return t.__iterate((y,p)=>{if(a<n){a++;return}if(o!==void 0&&l>=o)return!1;if(l++,f(y,s?p:l-1,this)===!1)return!1},_),l},c.__iteratorUncached=function(f){if(o!==0&&f)return this.cacheResult().__iterator(f);if(o===0)return ft();let _=t.__iterator(f),a=0,l=0;if(s)return W(()=>{while(a<n)a++,_.next();if(o!==void 0&&l>=o)return $;let y=_.next();if(y.done)return y;return l++,y});return q((y)=>{while(a<n)a++,_.next();if(o!==void 0&&l>=o)return!1;let p=_.next();if(p.done)return!1;return l++,y[0]=l-1,y[1]=p.value[1],!0})},c}function Ut(t,e,r){if(!e)e=yn;let s=w(t),i=0,n=t.toSeq().map((h,u)=>[u,h,i++,r?r(h,u,t):h]).valueSeq().toArray();return n.sort((h,u)=>e(h[3],u[3])||h[2]-u[2]).forEach(s?(h,u)=>{n[u].length=2}:(h,u)=>{n[u]=h[1]}),s?js(n):j(t)?yt(n):te(n)}function Qe(t,e,r){if(!e)e=yn;if(r)return t.toSeq().map((i,n)=>[i,r(i,n,t)]).reduce((i,n)=>Vi(e,i[1],n[1])?n:i)?.[0];return t.reduce((s,i)=>Vi(e,s,i)?i:s)}function Vi(t,e,r){let s=t(r,e);return s===0&&r!==e&&(r===void 0||r===null||Number.isNaN(r))||s>0}function rs(t,e,r,s){let i=C(t),n=new ae(r).map((h)=>h.size);return i.size=s?n.max():n.min(),i.__iterate=function(h,u){let o=this.__iterator(u),c=0,f;while(!(f=o.next()).done)if(h(f.value[1],c++,this)===!1)break;return c},i.__iteratorUncached=function(h){let u=r.map((_)=>{let a=m(_);return dn(h?a.reverse():a)}),o=0,c=Array(u.length),f=Array(u.length);return q((_)=>{let a=s;for(let l=0;l<u.length;l++)c[l]=u[l].next(),a=s?a&&c[l].done:a||c[l].done;if(a)return!1;for(let l=0;l<c.length;l++)f[l]=c[l].value;return _[0]=o++,_[1]=e(...f),!0})},i}function Os(t){if(Array.isArray(t)||typeof t==="string")return!0;return t&&typeof t==="object"&&Number.isInteger(t.length)&&t.length>=0&&(t.length===0?Object.keys(t).length===1:Object.hasOwn(t,t.length-1))}function Ln(t){if(!t||typeof t!=="object"||Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);if(e===null)return!0;let r=e,s=Object.getPrototypeOf(e);while(s!==null)r=s,s=Object.getPrototypeOf(r);return r===e}var ut=(t)=>typeof t==="object"&&(P(t)||Array.isArray(t)||Ln(t));function Dn(t){if(Os(t)&&typeof t!=="string")return t;if(x(t))return t.toArray();throw TypeError(`Invalid keyPath: expected Ordered Collection or Array: ${t}`)}var Mu=(t,e)=>P(t)?t.has(e):ut(t)&&Object.hasOwn(t,e);function Wn(t,e,r){return P(t)?t.get(e,r):!Mu(t,e)?r:typeof t.get==="function"?t.get(e):t[e]}function Ms(t,e,r){let s=Dn(e),i=0;while(i!==s.length)if(t=Wn(t,s[i++],g),t===g)return r;return t}var Rn=(t,e)=>Ms(t,e,g)!==g;function I(t,e){if(t===e||Number.isNaN(t)&&Number.isNaN(e))return!0;if(!t||!e)return!1;if(typeof t.valueOf==="function"&&typeof e.valueOf==="function"){if(t=t.valueOf(),e=e.valueOf(),t===e||Number.isNaN(t)&&Number.isNaN(e))return!0;if(!t||!e)return!1}return!!(ki(t)&&ki(e)&&t.equals(e))}function Fe(t){if(!t||typeof t!=="object")return t;if(!Z(t)){if(!ut(t))return t;t=v(t)}if(w(t)){let r={};return t.__iterate((s,i)=>{r[String(i)]=Fe(s)}),r}let e=[];return t.__iterate((r)=>{e.push(Fe(r))}),e}function bs(t,e){if(t===e)return!0;if(!Z(e)||t.size!==void 0&&e.size!==void 0&&t.size!==e.size||t.__hash!==void 0&&e.__hash!==void 0&&t.__hash!==e.__hash||w(t)!==w(e)||j(t)!==j(e)||x(t)!==x(e))return!1;if(t.size===0&&e.size===0)return!0;let r=!ds(t);if(x(t)){let h=t.entries();return!!(e.every((u,o)=>{let c=h.next().value;return c&&I(c[1],u)&&(r||I(c[0],o))})&&h.next().done)}let s=!1;if(t.size===void 0)if(e.size===void 0){if(typeof t.cacheResult==="function")t.cacheResult()}else{s=!0;let h=t;t=e,e=h}let i=!0,n=e.__iterate((h,u)=>{if(r?!t.has(h):s?!I(h,t.get(u,g)):!I(t.get(u,g),h))return i=!1,!1;return!0});return i&&t.size===n}var rr=(t)=>t>>>1&1073741824|t&3221225471;function Q(t){if(t===null||t===void 0)return Ni(t);if(typeof t.hashCode==="function")return rr(t.hashCode(t));let e=Iu(t);if(e===null||e===void 0)return Ni(e);switch(typeof e){case"boolean":return e?1108378657:1108378656;case"number":return bu(e);case"string":return e.length>Au?qu(e):fs(e);case"object":case"function":return ju(e);case"symbol":return Eu(e);default:if(typeof e.toString==="function")return fs(e.toString());throw Error(`Value type ${typeof e} cannot be hashed.`)}}var Ni=(t)=>t===null?1108378658:1108378659;function bu(t){if(Number.isNaN(t)||t===1/0)return 0;let e=t|0;if(e!==t)e^=t*4294967295;while(t>4294967295)t/=4294967295,e^=t;return rr(e)}function qu(t){let e=ns[t];if(e===void 0){if(e=fs(t),is===$u)is=0,ns={};is++,ns[t]=e}return e}function fs(t){let e=0;for(let r=0;r<t.length;r++)e=31*e+t.charCodeAt(r)|0;return rr(e)}function Eu(t){let e=vi[t];if(e!==void 0)return e;return e=Tn(),vi[t]=e,e}function ju(t){let e=mi.get(t);if(e!==void 0)return e;return e=Tn(),mi.set(t,e),e}var Iu=(t)=>t.valueOf!==Object.prototype.valueOf?t.valueOf():t;function Tn(){let t=++ss;if(ss&1073741824)ss=0;return t}var mi=new WeakMap,vi=Object.create(null),ss=0,Au=16,$u=255,is=0,ns={};function Ku(t){if(t.size===1/0)return 0;let e=x(t),r=w(t),s=e?1:0;return t.__iterate(r?e?(i,n)=>{s=31*s+tn(Q(i),Q(n))|0}:(i,n)=>{s=s+tn(Q(i),Q(n))|0}:e?(i)=>{s=31*s+Q(i)|0}:(i)=>{s=s+Q(i)|0}),Uu(t.size,s)}var tn=(t,e)=>t^e+2654435769+(t<<6)+(t>>2)|0;function Uu(t,e){return e=Math.imul(e,3432918353),e=Math.imul(e<<15|e>>>-15,461845907),e=Math.imul(e<<13|e>>>-13,5),e=(e+3864292196|0)^t,e=Math.imul(e^e>>>16,2246822507),e=Math.imul(e^e>>>13,3266489909),e=rr(e^e>>>16),e}function vt(t){try{return typeof t==="string"?JSON.stringify(t):String(t)}catch{return JSON.stringify(t)}}var O=(t,e)=>t===e?t:ps(t)?e:t.create?t.create(e):t.constructor(e),Jn=(t,e)=>O(t,(w(t)?Y:j(t)?dt:pt)(e)),en=(...t)=>t,m=(t)=>Z(t)?t:v(t);class b{size=0;static{this.prototype[Sn]=!0,this.prototype.__toStringMapper=vt,this.prototype[Symbol.iterator]=this.prototype.values,this.prototype.toJSON=this.prototype.toArray,this.prototype.contains=this.prototype.includes}equals(t){return bs(this,t)}hashCode(){return this.__hash??(this.__hash=Ku(this))}toArray(){A(this.size);let t=Array(this.size||0),e=w(this),r=0;return this.__iterate((s,i)=>{t[r++]=e?[i,s]:s}),t}toIndexedSeq(){return new Qn(this)}toJS(){return Fe(this)}toKeyedSeq(){return new Us(this,!0)}toMap(){throw Error("toMap: not patched — import CollectionConversions")}toObject(){A(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}toOrderedMap(){throw Error("toOrderedMap: not patched — import CollectionConversions")}toOrderedSet(){throw Error("toOrderedSet: not patched — import CollectionConversions")}toSet(){throw Error("toSet: not patched — import CollectionConversions")}toSetSeq(){return new Yn(this)}toSeq(){return j(this)?this.toIndexedSeq():w(this)?this.toKeyedSeq():this.toSetSeq()}toStack(){throw Error("toStack: not patched — import CollectionConversions")}toList(){throw Error("toList: not patched — import CollectionConversions")}toString(){return"[Collection]"}__toString(t,e){if(this.size===0)return`${t}${e}`;return`${t} ${this.toSeq().map(this.__toStringMapper).join(", ")} ${e}`}concat(...t){let e=w(this),r=[this,...t].map((s)=>{if(!Z(s))s=e?Xn(s):Gn(Array.isArray(s)?s:[s]);else if(e)s=Y(s);return s}).filter((s)=>s.size!==0);if(r.length===0)return this;if(r.length===1){let s=r[0];if(s===this||e&&w(s)||j(this)&&j(s))return s}return O(this,new Hn(r))}includes(t){return this.some((e)=>I(e,t))}every(t,e){A(this.size);let r=!0;return this.__iterate((s,i,n)=>{if(!t.call(e,s,i,n))return r=!1,!1}),r}entries(){return this.__iterator()}filter(t,e){let r=this,s=w(this),i=C(r);if(s)i.has=(n)=>{let h=r.get(n,g);return h!==g&&!!t.call(e,h,n,r)},i.get=(n,h)=>{let u=r.get(n,g);return u!==g&&t.call(e,u,n,r)?u:h};return i.__iterateUncached=function(n,h){let u=0;return r.__iterate((o,c)=>{if(t.call(e,o,c,r))return u++,n(o,s?c:u-1,this)},h),u},i.__iteratorUncached=function(n){let h=r.__iterator(n),u=0;return q((o)=>{while(!0){let c=h.next();if(c.done)return!1;let f=c.value[0],_=c.value[1];if(t.call(e,_,f,r))return o[0]=s?f:u++,o[1]=_,!0}})},O(this,i)}partition(t,e){let r=w(this),s=[[],[]];return this.__iterate((i,n)=>{s[t.call(e,i,n,this)?1:0].push(r?[n,i]:i)}),s.map((i)=>Jn(this,i))}find(t,e,r){let s=this.findEntry(t,e);return s?s[1]:r}forEach(t,e){return A(this.size),this.__iterate(e?t.bind(e):t)}join(t){A(this.size),t=t!==void 0?String(t):",";let e="",r=!0;return this.__iterate((s)=>{if(r)r=!1;else e+=t;e+=s!==null&&s!==void 0?String(s):""}),e}keys(){let t=this.__iterator(),e={done:!1,value:void 0};return W(()=>{let r=t.next();if(r.done)return $;return e.value=r.value[0],e})}map(t,e){return O(this,$n(this,t,e))}reduce(t,e=g,r){return Ci(this,t,e,r,e===g,!1)}reduceRight(t,e=g,r){return Ci(this,t,e,r,e===g,!0)}reverse(){return O(this,Kn(this,w(this)))}slice(t,e){return O(this,Un(this,t,e,w(this)))}some(t,e){A(this.size);let r=!1;return this.__iterate((s,i,n)=>{if(t.call(e,s,i,n))return r=!0,!1}),r}sort(t){return O(this,Ut(this,t))}values(){let t=this.__iterator(),e={done:!1,value:void 0};return W(()=>{let r=t.next();if(r.done)return $;return e.value=r.value[1],e})}butLast(){return this.slice(0,-1)}isEmpty(){return this.size!==void 0?this.size===0:!this.some(()=>!0)}count(t,e){return Lt(t?this.toSeq().filter(t,e):this)}countBy(t,e){throw Error("countBy: not patched — import CollectionConversions")}entrySeq(){let t=this;if(t._cache)return new ae(t._cache);let e=t.toSeq().map(pu).toIndexedSeq();return e.fromEntrySeq=()=>t.toSeq(),e}filterNot(t,e){return this.filter(es(t),e)}findEntry(t,e,r){let s=r;return this.__iterate((i,n,h)=>{if(t.call(e,i,n,h))return s=[n,i],!1}),s}findKey(t,e){return this.findEntry(t,e)?.[0]}findLast(t,e,r){return this.toKeyedSeq().reverse().find(t,e,r)}findLastEntry(t,e,r){return this.toKeyedSeq().reverse().findEntry(t,e,r)}findLastKey(t,e){return this.toKeyedSeq().reverse().findKey(t,e)}first(t){return this.find(pn,null,t)}flatMap(t,e){return O(this,this.toSeq().map((r,s)=>(w(this)?Y:j(this)?dt:pt)(t.call(e,r,s,this))).flatten(!0))}flatten(t){let e=this,r=w(this),s=C(e);return s.__iterateUncached=function(i,n){if(n)return this.cacheResult().__iterate(i,n);let h=0,u=!1;function o(c,f){c.__iterate((_,a)=>{if((!t||f<t)&&Z(_))o(_,f+1);else if(h++,i(_,r?a:h-1,s)===!1)u=!0;if(u)return!1},n)}return o(e,0),h},s.__iteratorUncached=function(i){if(i)return this.cacheResult().__iterator(i);let n=0,h=[{iterator:e.__iterator(i),depth:0}];return q((u)=>{while(h.length>0){let o=h[h.length-1],c=o.iterator.next();if(c.done){h.pop();continue}let f=c.value[1];if((!t||o.depth<t)&&Z(f)){h.push({iterator:f.__iterator(i),depth:o.depth+1});continue}return u[0]=r?c.value[0]:n++,u[1]=f,!0}return!1})},O(this,s)}fromEntrySeq(){return new Bn(this)}get(t,e){return this.find((r,s)=>I(s,t),void 0,e)}getIn(t,e){return Ms(this,t,e)}groupBy(t,e){throw Error("groupBy: not patched — import CollectionConversions")}has(t){return this.get(t,g)!==g}hasIn(t){return Rn(this,t)}isSubset(t){let e=typeof t.includes==="function"?t:m(t);return this.every((r)=>e.includes(r))}isSuperset(t){return(typeof t.isSubset==="function"?t:m(t)).isSubset(this)}keyOf(t){return this.findKey((e)=>I(e,t))}keySeq(){return this.toSeq().map(du).toIndexedSeq()}last(t){return this.toSeq().reverse().first(t)}lastKeyOf(t){return this.toKeyedSeq().reverse().keyOf(t)}max(t){return Qe(this,t)}maxBy(t,e){return Qe(this,e,t)}min(t){return Qe(this,t?xi(t):Fi)}minBy(t,e){return Qe(this,e?xi(e):Fi,t)}rest(){return this.slice(1)}skip(t){return t===0?this:this.slice(Math.max(0,t))}skipLast(t){return t===0?this:this.slice(0,-Math.max(0,t))}skipWhile(t,e){let r=this,s=w(this),i=C(r);return i.__iterateUncached=function(n,h){if(h)return this.cacheResult().__iterate(n,h);let u=!0,o=0;return r.__iterate((c,f)=>{if(u&&t.call(e,c,f,this))return;return u=!1,o++,n(c,s?f:o-1,this)},h),o},i.__iteratorUncached=function(n){if(n)return this.cacheResult().__iterator(n);let h=r.__iterator(n),u=0,o=this,c=!0;return q((f)=>{while(!0){let _=h.next();if(_.done)return!1;let a=_.value[0],l=_.value[1];if(c&&t.call(e,l,a,o))continue;return c=!1,f[0]=s?a:u++,f[1]=l,!0}})},O(this,i)}skipUntil(t,e){return this.skipWhile(es(t),e)}sortBy(t,e){return O(this,Ut(this,e,t))}take(t){return this.slice(0,Math.max(0,t))}takeLast(t){return this.slice(-Math.max(0,t))}takeWhile(t,e){let r=this,s=C(r);return s.__iterateUncached=function(i,n){if(n)return this.cacheResult().__iterate(i,n);let h=0;return r.__iterate((u,o)=>{if(!t.call(e,u,o,this))return!1;return h++,i(u,o,this)},n),h},s.__iteratorUncached=function(i){if(i)return this.cacheResult().__iterator(i);let n=r.__iterator(i),h=this,u=!1;return W(()=>{if(u)return $;let o=n.next();if(o.done)return o;if(!t.call(e,o.value[1],o.value[0],h))return u=!0,$;return o})},O(this,s)}takeUntil(t,e){return this.takeWhile(es(t),e)}update(t){return t(this)}valueSeq(){return this.toIndexedSeq()}__iterate(t,e=!1){let r=this.__iterator(e),s=0,i;while(!(i=r.next()).done)if(s++,t(i.value[1],i.value[0],this)===!1)break;return s}__iterator(t=!1){throw Error("CollectionImpl does not implement __iterator. Use a subclass instead.")}}var Y=(t)=>w(t)?t:js(t);class qs extends b{static{this.prototype[Ce]=!0,this.prototype.__toStringMapper=(t,e)=>`${vt(e)}: ${vt(t)}`,this.prototype[Symbol.iterator]=b.prototype.entries,this.prototype.toJSON=function(){A(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}}flip(){return O(this,An(this))}mapEntries(t,e){let r=0;return O(this,this.toSeq().map((s,i)=>t.call(e,[i,s],r++,this)).fromEntrySeq())}mapKeys(t,e){return O(this,this.toSeq().flip().map((r,s)=>t.call(e,r,s,this)).flip())}}var dt=(t)=>j(t)?t:yt(t);class lt extends b{static{this.prototype[xe]=!0,this.prototype[ht]=!0}toKeyedSeq(){return new Us(this,!1)}findIndex(t,e){let r=this.findEntry(t,e);return r?r[0]:-1}indexOf(t){let e=this.keyOf(t);return e===void 0?-1:e}lastIndexOf(t){let e=this.lastKeyOf(t);return e===void 0?-1:e}splice(t,e=g,...r){if(t===void 0)return this;let s=e!==g;if(e=s?Math.max(e||0,0):0,s&&!e&&r.length===0)return this;t=Tt(t,t<0?this.count():this.size);let i=this.slice(0,t);return O(this,!s?i:i.concat(r,this.slice(t+e)))}findLastIndex(t,e){let r=this.findLastEntry(t,e);return r?r[0]:-1}first(t){return this.get(0,t)}get(t,e){return t=nt(this,t),t<0||this.size===1/0||this.size!==void 0&&t>this.size?e:this.find((r,s)=>s===t,void 0,e)}has(t){return t=nt(this,t),t>=0&&(this.size!==void 0?this.size===1/0||t<this.size:this.indexOf(t)!==-1)}interpose(t){let e=this,r=C(e);return r.size=e.size&&e.size*2-1,r.__iterateUncached=function(s,i){let n=0,h=!0;return e.__iterate((u)=>{if(!h){if(s(t,n++,this)===!1)return!1}return h=!1,s(u,n++,this)},i),n},r.__iteratorUncached=function(s){let i=e.__iterator(s),n=0,h=!0,u,o=!1;return q((c)=>{if(o)return o=!1,c[0]=n++,c[1]=u,!0;let f=i.next();if(f.done)return!1;let _=f.value[1];if(!h)return u=_,o=!0,c[0]=n++,c[1]=t,!0;return h=!1,c[0]=n++,c[1]=_,!0})},O(this,r)}interleave(...t){let e=[this,...t],r=rs(this.toSeq(),yt.of,e),s=r.flatten(!0);if(r.size)s.size=r.size*e.length;return O(this,s)}keySeq(){throw Error("keySeq: not patched — import CollectionConversions")}last(t){return this.get(-1,t)}zip(...t){return this.zipWith(en,...t)}zipAll(...t){let e=[this,...t];return O(this,rs(this,en,e,!0))}zipWith(t,...e){let r=[this,...e];return O(this,rs(this,t,r))}}var pt=(t)=>Z(t)&&!ds(t)?t:te(t);class sr extends b{static{this.prototype.has=b.prototype.includes,this.prototype.contains=b.prototype.includes,this.prototype.keys=sr.prototype.values}get(t,e){return this.has(t)?t:e}includes(t){return this.has(t)}keySeq(){return this.valueSeq()}}m.Keyed=Y;m.Indexed=dt;m.Set=pt;var hs=lt.prototype,v=(t)=>t===void 0||t===null?$s():P(t)?t.toSeq():Lu(t),C=(t)=>Object.create((w(t)?Jt:j(t)?wt:Is).prototype);class _t extends b{static{this.prototype[_e]=!0}toSeq(){return this}toString(){return this.__toString("Seq {","}")}cacheResult(){if(!this._cache&&this.__iterateUncached)this._cache=this.entrySeq().toArray(),this.size=this._cache.length;return this}__iterateUncached(t,e){let r=this.__iteratorUncached(e),s=0,i;while(!(i=r.next()).done)if(s++,t(i.value[1],i.value[0],this)===!1)break;return s}__iterate(t,e){let r=this._cache;if(r){let s=r.length,i=0;while(i!==s){let n=r[e?s-++i:i++];if(t(n[1],n[0],this)===!1)break}return i}return this.__iterateUncached(t,e)}__iterator(t){let e=this._cache;if(e){let r=e.length,s=0,i={done:!1,value:void 0};return W(()=>{if(s===r)return $;return i.value=e[t?r-++s:s++],i})}return this.__iteratorUncached(t)}}var Es={cacheResult:_t.prototype.cacheResult,__iterateUncached:_t.prototype.__iterateUncached,__iterate:_t.prototype.__iterate,__iterator:_t.prototype.__iterator},js=(t)=>t===void 0||t===null?$s().toKeyedSeq():Z(t)?w(t)?t.toSeq():t.fromEntrySeq():gt(t)?t.toSeq():Xn(t);class Jt extends qs{static{this.prototype[_e]=!0,Object.assign(this.prototype,Es)}toSeq(){return this}toKeyedSeq(){return this}}var yt=(t)=>t===void 0||t===null?$s():Z(t)?w(t)?t.entrySeq():t.toIndexedSeq():gt(t)?t.toSeq().entrySeq():Gn(t);yt.of=(...t)=>yt(t);class wt extends lt{static{this.prototype[_e]=!0,Object.assign(this.prototype,Es)}toSeq(){return this}toIndexedSeq(){return this}toString(){return this.__toString("Seq [","]")}}var te=(t)=>(Z(t)&&!ds(t)?t:yt(t)).toSetSeq();te.of=(...t)=>te(t);class Is extends sr{static{this.prototype[_e]=!0,Object.assign(this.prototype,Es)}toSeq(){return this}toSetSeq(){return this}}v.isSeq=ps;v.Keyed=js;v.Set=te;v.Indexed=yt;class ae extends wt{constructor(t){super();this._array=t,this.size=t.length}get(t,e){return this.has(t)?this._array[nt(this,t)]:e}__iterateUncached(t,e){let r=this._array,s=r.length,i=0;while(i!==s){let n=e?s-++i:i++;if(t(r[n],n,this)===!1)break}return i}__iteratorUncached(t){let e=this._array,r=e.length,s=0;return q((i)=>{if(s===r)return!1;let n=t?r-++s:s++;return i[0]=n,i[1]=e[n],!0})}}class As extends Jt{static{this.prototype[ht]=!0}constructor(t){super();let e=[...Object.keys(t),...Object.getOwnPropertySymbols(t)];this._object=t,this._keys=e,this.size=e.length}get(t,e){if(e!==void 0&&!this.has(t))return e;return this._object[t]}has(t){return Object.hasOwn(this._object,t)}__iterateUncached(t,e){let r=this._object,s=this._keys,i=s.length,n=0;while(n!==i){let h=s[e?i-++n:n++];if(t(r[h],h,this)===!1)break}return n}__iteratorUncached(t){let e=this._object,r=this._keys,s=r.length,i=0;return q((n)=>{if(i===s)return!1;let h=r[t?s-++i:i++];return n[0]=h,n[1]=e[h],!0})}}class Zn extends wt{constructor(t){super();this._collection=t,this.size=t.length||t.size}__iterateUncached(t,e){if(e)return this.cacheResult().__iterate(t,e);let r=0;for(let s of this._collection){if(t(s,r,this)===!1)break;r++}return r}__iteratorUncached(t){if(t)return this.cacheResult().__iterator(t);let e=this._collection,r=dn(e);if(!zu(r))return ft();let s=0;return q((i)=>{let n=r.next();if(n.done)return!1;return i[0]=s++,i[1]=n.value,!0})}}var $s=()=>new ae([]),Ks=(t)=>Os(t)?new ae(t):gs(t)?new Zn(t):void 0;function Xn(t){let e=Ks(t);if(e)return e.fromEntrySeq();if(typeof t==="object")return new As(t);throw TypeError(`Expected Array or collection object of [k, v] entries, or keyed object: ${t}`)}function Gn(t){let e=Ks(t);if(e)return e;throw TypeError(`Expected Array or collection object of values: ${t}`)}function Lu(t){let e=Ks(t);if(e)return Su(t)?e.fromEntrySeq():Ou(t)?e.toSetSeq():e;if(typeof t==="object")return new As(t);throw TypeError(`Expected Array or collection object of values, or keyed object: ${t}`)}class Hn extends _t{constructor(t){super();let e=[],r=0,s=!0;for(let n of t)if(n._wrappedIterables){for(let h of n._wrappedIterables)if(e.push(h),s){let u=h.size;if(u!==void 0)r+=u;else s=!1}}else if(e.push(n),s){let h=n.size;if(h!==void 0)r+=h;else s=!1}this._wrappedIterables=e,this.size=s?r:void 0;let i=this._wrappedIterables[0];if(i[Ce])this[Ce]=!0;if(i[xe])this[xe]=!0;if(i[ht])this[ht]=!0}__iterateUncached(t,e){if(this._wrappedIterables.length===0)return 0;if(e)return this.cacheResult().__iterate(t,e);let r=this._wrappedIterables,s=!w(this),i=0,n=!1;for(let h of r)if(h.__iterate((u,o)=>{if(t(u,s?i++:o,this)===!1)return n=!0,!1},e),n)break;return i}__iteratorUncached(t){if(this._wrappedIterables.length===0)return ft();if(t)return this.cacheResult().__iterator(t);let e=this._wrappedIterables,r=!w(this),s=0,i=e[0].__iterator(t);function n(){while(s<e.length){let h=i.next();if(!h.done)return h;if(s++,s<e.length)i=e[s].__iterator(t)}return}if(r){let h=0;return q((u)=>{let o=n();if(!o)return!1;return u[0]=h++,u[1]=o.value[1],!0})}return W(()=>n()||$)}}class Us extends Jt{static{this.prototype[ht]=!0}constructor(t,e){super();this._iter=t,this._useKeys=e,this.size=t.size}cacheResult(){return Zt.call(this)}get(t,e){return this._iter.get(t,e)}has(t){return this._iter.has(t)}valueSeq(){return this._iter.valueSeq()}reverse(){let t=Kn(this,!0);if(!this._useKeys)t.valueSeq=()=>this._iter.toSeq().reverse();return t}map(t,e){let r=$n(this,t,e);if(!this._useKeys)r.valueSeq=()=>this._iter.toSeq().map(t,e);return r}__iterateUncached(t,e){return this._iter.__iterate(t,e)}__iteratorUncached(t){return this._iter.__iterator(t)}}class Qn extends wt{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Zt.call(this)}includes(t){return this._iter.includes(t)}__iterateUncached(t,e){let r=0;if(e)Lt(this);let s=this.size;return this._iter.__iterate((i)=>{let n=e?s-++r:r++;return t(i,n,this)},e),r}__iteratorUncached(t){let e=0;if(t)Lt(this);let r=this.size;return ue(this._iter.__iterator(t),(s,i,n)=>{n[0]=t?r-++e:e++,n[1]=i})}}class Yn extends Is{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Zt.call(this)}has(t){return this._iter.includes(t)}__iterateUncached(t,e){return this._iter.__iterate((r)=>t(r,r,this),e)}__iteratorUncached(t){return ue(this._iter.__iterator(t),(e,r,s)=>{s[0]=r,s[1]=r})}}class Bn extends Jt{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Zt.call(this)}entrySeq(){return this._iter.toSeq()}__iterateUncached(t,e){let r=0;return this._iter.__iterate((s)=>{if(s){rn(s),r++;let i=Z(s);return t(i?s.get(1):s[1],i?s.get(0):s[0],this)}},e),r}__iteratorUncached(t){let e=this._iter.__iterator(t);return q((r)=>{while(!0){let s=e.next();if(s.done)return!1;let i=s.value[1];if(i){rn(i);let n=Z(i);return r[0]=n?i.get(0):i[0],r[1]=n?i.get(1):i[1],!0}}})}}function Zt(){if(this._iter.cacheResult)return this._iter.cacheResult(),this.size=this._iter.size,this;return _t.prototype.cacheResult.call(this)}function rn(t){if(t!==Object(t))throw TypeError(`Expected [K, V] tuple: ${t}`)}var R=(t)=>t===void 0||t===null?B():er(t)&&!x(t)?t:B().withMutations((e)=>{let r=Y(t);A(r.size),r.forEach((s,i)=>e.set(i,s))});class ee extends qs{static{St(this,{asImmutable:ge,asMutable:de,deleteIn:Dt,merge:_s,mergeWith:Nn,mergeDeep:vn,mergeDeepWith:th,mergeDeepIn:Qs,mergeIn:Hs,setIn:Zs,update:Xs,updateIn:Gs,wasAltered:Js,withMutations:pe,removeIn:Dt,concat:_s,[Mn]:!0,[oe]:this.prototype.remove,removeAll:this.prototype.deleteAll,[Symbol.iterator]:this.prototype.entries,[Symbol.toStringTag]:"Immutable.Map"})}constructor(t,e,r,s){super();this.size=t,this._root=e,this.__ownerID=r,this.__hash=s,this.__altered=!1}create(t){return R(t)}toString(){return this.__toString("Map {","}")}get(t,e){return this._root?this._root.get(0,Q(t),t,e):e}set(t,e){return nn(this,t,e)}remove(t){return nn(this,t,g)}deleteAll(t){let e=m(t);if(e.size===0)return this;return this.withMutations((r)=>{e.forEach((s)=>r.remove(s))})}clear(){if(this.size===0)return this;if(this.__ownerID)return this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this;return B()}map(t,e){return this.withMutations((r)=>{r.forEach((s,i)=>{r.set(i,t.call(e,s,i,this))})})}keys(){if(!this._root)return ft();return Ye(this._root,!1,0)}values(){if(!this._root)return ft();return Ye(this._root,!1,1)}entries(){if(!this._root)return ft();return Ye(this._root,!1)}__iterator(t){if(!this._root)return ft();return Ye(this._root,t)}__iterate(t,e){let r=0;if(this._root)this._root.iterate(([s,i])=>{return r++,t(i,s,this)},e);return r}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return B();return this.__ownerID=t,this.__altered=!1,this}return Ws(this.size,this._root,t,this.__hash)}}R.isMap=er;class Ls{constructor(t,e){this.ownerID=t,this.entries=e}get(t,e,r,s){return Pn(this.entries,r,s)}iterate(t,e){return Cn(this.entries,t,e)}update(t,e,r,s,i,n,h){let u=i===g,o=this.entries,c=0,f=o.length;for(;c<f;c++)if(I(s,o[c][0]))break;let _=c<f;if(_?o[c][1]===i:u)return this;if(G(h),u||!_)G(n);if(u&&f===1)return;if(!_&&!u&&f>=Zu)return Du(t,o,s,i);let a=t&&t===this.ownerID,l=a?o:o.slice();if(_)if(u)if(c===f-1)l.pop();else l[c]=l.pop();else l[c]=[s,i];else l.push([s,i]);if(a)return this.entries=l,this;return new Ls(t,l)}}class ir{constructor(t,e,r){this.ownerID=t,this.bitmap=e,this.nodes=r}iterate(t,e){return xn(this.nodes,t,e)}get(t,e,r,s){let i=1<<((t===0?e:e>>>t)&K),n=this.bitmap;return(n&i)===0?s:this.nodes[un(n&i-1)].get(t+z,e,r,s)}update(t,e,r,s,i,n,h){let u=(e===0?r:r>>>e)&K,o=1<<u,c=this.bitmap,f=(c&o)!==0;if(!f&&i===g)return this;let _=un(c&o-1),a=this.nodes,l=f?a[_]:void 0,y=Rs(l,t,e+z,r,s,i,n,h);if(y===l)return this;if(!f&&y&&a.length>=Xu)return Ru(t,a,c,u,y);if(f&&!y&&a.length===2&&hn(a[_^1]))return a[_^1];if(f&&y&&a.length===1&&hn(y))return y;let p=t&&t===this.ownerID,S=f?y?c:c^o:c|o,T=f?y?Fn(a,_,y,p):Ju(a,_,p):Tu(a,_,y,p);if(p)return this.bitmap=S,this.nodes=T,this;return new ir(t,S,T)}}class Ds{constructor(t,e,r){this.ownerID=t,this.count=e,this.nodes=r}iterate(t,e){return xn(this.nodes,t,e)}get(t,e,r,s){let i=(t===0?e:e>>>t)&K,n=this.nodes[i];return n?n.get(t+z,e,r,s):s}update(t,e,r,s,i,n,h){let u=(e===0?r:r>>>e)&K,o=i===g,c=this.nodes,f=c[u];if(o&&!f)return this;let _=Rs(f,t,e+z,r,s,i,n,h);if(_===f)return this;let a=this.count;if(!f)a++;else if(!_){if(a--,a<Gu)return Wu(t,c,a,u)}let l=t&&t===this.ownerID,y=Fn(c,u,_,l);if(l)return this.count=a,this.nodes=y,this;return new Ds(t,a,y)}}class nr{constructor(t,e,r){this.ownerID=t,this.keyHash=e,this.entries=r}get(t,e,r,s){return Pn(this.entries,r,s)}iterate(t,e){return Cn(this.entries,t,e)}update(t,e,r,s,i,n,h){if(r!==this.keyHash){if(i===g)return this;return G(h),G(n),Ts(this,t,e,r,[s,i])}let u=i===g,o=this.entries,c=0,f=o.length;for(;c<f;c++)if(I(s,o[c][0]))break;let _=c<f;if(_?o[c][1]===i:u)return this;if(G(h),u||!_)G(n);if(u&&f===2)return new zt(t,this.keyHash,o[c^1]);let a=t&&t===this.ownerID,l=a?o:o.slice();if(_)if(u)if(c===f-1)l.pop();else l[c]=l.pop();else l[c]=[s,i];else l.push([s,i]);if(a)return this.entries=l,this;return new nr(t,this.keyHash,l)}}class zt{constructor(t,e,r){this.ownerID=t,this.keyHash=e,this.entry=r}iterate(t,e){return t(this.entry)}get(t,e,r,s){return I(r,this.entry[0])?this.entry[1]:s}update(t,e,r,s,i,n,h){let u=i===g,o=I(s,this.entry[0]);if(o?i===this.entry[1]:u)return this;if(G(h),u){G(n);return}if(o){if(t&&t===this.ownerID)return this.entry[1]=i,this;return new zt(t,this.keyHash,[s,i])}return G(n),Ts(this,t,e,Q(s),[s,i])}}function Pn(t,e,r){for(let s=0,i=t.length;s<i;s++)if(I(e,t[s][0]))return t[s][1];return r}function Cn(t,e,r){for(let s=0,i=t.length-1;s<=i;s++)if(e(t[r?i-s:s])===!1)return!1}function xn(t,e,r){for(let s=0,i=t.length-1;s<=i;s++)if(t[r?i-s:s]?.iterate(e,r)===!1)return!1}function Ye(t,e,r){let s={node:t,index:0,__prev:null},i=r!==void 0?(h)=>h[r]:(h)=>h,n={done:!1,value:void 0};return W(()=>{while(s){let h=s.node,u=s.index++,o;if(h.entry){if(u===0)return n.value=i(h.entry),n}else if(h.entries){if(o=h.entries.length-1,u<=o)return n.value=i(h.entries[e?o-u:u]),n}else if(o=h.nodes.length-1,u<=o){let c=h.nodes[e?o-u:u];if(c){if(c.entry)return n.value=i(c.entry),n;s={node:c,index:0,__prev:s}}continue}s=s.__prev}return $})}var Ws=(t,e,r,s)=>new ee(t,e,r,s),sn,B=()=>sn||(sn=Ws(0));function nn(t,e,r){let s,i;if(!t._root){if(r===g)return t;i=1,s=new Ls(t.__ownerID,[[e,r]])}else{let n=cs(),h=cs();if(s=Rs(t._root,t.__ownerID,0,Q(e),e,r,n,h),!h.value)return t;i=t.size+(n.value?r===g?-1:1:0)}if(t.__ownerID)return t.size=i,t._root=s,t.__hash=void 0,t.__altered=!0,t;return s?Ws(i,s):B()}function Rs(t,e,r,s,i,n,h,u){if(!t){if(n===g)return t;return G(u),G(h),new zt(e,s,[i,n])}return t.update(e,r,s,i,n,h,u)}var hn=(t)=>t.constructor===zt||t.constructor===nr;function Ts(t,e,r,s,i){if(t.keyHash===s)return new nr(e,s,[t.entry,i]);let n=(r===0?t.keyHash:t.keyHash>>>r)&K,h=(r===0?s:s>>>r)&K,u=new zt(e,s,i),o=n===h?[Ts(t,e,r+z,s,i)]:n<h?[t,u]:[u,t];return new ir(e,1<<n|1<<h,o)}function Du(t,e,r,s){if(!t)t=new tr;let i=new zt(t,Q(r),[r,s]);for(let[n,h]of e)i=i.update(t,0,Q(n),n,h);return i}function Wu(t,e,r,s){let i=0,n=0,h=Array(r);for(let u=0,o=1,c=e.length;u<c;u++,o<<=1){let f=e[u];if(f!==void 0&&u!==s)i|=o,h[n++]=f}return new ir(t,i,h)}function Ru(t,e,r,s,i){let n=0,h=Array(E);for(let u=0;r!==0;u++,r>>>=1)h[u]=r&1?e[n++]:void 0;return h[s]=i,new Ds(t,n+1,h)}function un(t){return t-=t>>1&1431655765,t=(t&858993459)+(t>>2&858993459),t=t+(t>>4)&252645135,t+=t>>8,t+=t>>16,t&127}function Fn(t,e,r,s){let i=s?t:t.slice();return i[e]=r,i}function Tu(t,e,r,s){let i=t.length+1;if(s&&e+1===i)return t[e]=r,t;let n=Array(i),h=0;for(let u=0;u<i;u++)if(u===e)n[u]=r,h=-1;else n[u]=t[u+h];return n}function Ju(t,e,r){let s=t.length-1;if(r&&e===s)return t.pop(),t;let i=Array(s),n=0;for(let h=0;h<s;h++){if(h===e)n=1;i[h]=t[h+n]}return i}var Zu=E/4,Xu=E/2,Gu=E/4;function ke(t){if(Array.isArray(t))return t.slice();return{...t}}var Tc=(t,...e)=>ye(t,e),Jc=(t,e,...r)=>ye(e,r,t),le=(t,e,r)=>ye(t,e,Hu(r)),Zc=(t,...e)=>le(t,e),Xc=(t,e,...r)=>le(e,r,t);function ye(t,e,r){if(!ut(t))throw TypeError(`Cannot merge into non-data-structure value: ${t}`);if(P(t))return typeof r==="function"&&t.mergeWith?t.mergeWith(r,...e):t.merge?t.merge(...e):t.concat(...e);let s=Array.isArray(t),i=t,n=s?dt:Y,h=s?(u)=>{if(i===t)i=ke(i);i.push(u)}:(u,o)=>{let c=Object.hasOwn(i,o),f=c&&r?r(i[o],u,o):u;if(!c||f!==i[o]){if(i===t)i=ke(i);i[o]=f}};for(let u of e)n(u).forEach(h);return i}function Hu(t){function e(r,s,i){return ut(r)&&ut(s)&&Qu(r,s)?ye(r,[s],e):t?t(r,s,i):s}return e}function Qu(t,e){let r=v(t),s=v(e);return j(r)===j(s)&&w(r)===w(s)}function Yu(t,e){if(!ut(t))throw TypeError(`Cannot update non-data-structure value: ${t}`);if(P(t)){if(!t.remove)throw TypeError(`Cannot update immutable value without .remove() method: ${t}`);return t.remove(e)}if(!Object.hasOwn(t,e))return t;let r=ke(t);if(Array.isArray(r))r.splice(e,1);else delete r[e];return r}function Bu(t,e,r){if(!ut(t))throw TypeError(`Cannot update non-data-structure value: ${t}`);if(P(t)){if(!t.set)throw TypeError(`Cannot update immutable value without .set() method: ${t}`);return t.set(e,r)}if(Object.hasOwn(t,e)&&r===t[e])return t;let s=ke(t);return s[e]=r,s}function Xt(t,e,r,s){if(!s)s=r,r=void 0;let i=kn(P(t),t,Dn(e),0,r,s);return i===g?r:i}function kn(t,e,r,s,i,n){let h=e===g;if(s===r.length){let _=h?i:e,a=n(_);return a===_?e:a}if(!h&&!ut(e))throw TypeError(`Cannot update within non-data-structure value in path [${Array.from(r).slice(0,s).map(vt)}]: ${e}`);let u=r[s],o=h?g:Wn(e,u,g),c=kn(o===g?t:P(o),o,r,s+1,i,n);if(c===o)return e;if(c===g)return Yu(e,u);let f=h?t?B():{}:e;return Bu(f,u,c)}var Pu=(t,e)=>Xt(t,e,()=>g),Cu=(t,e,r)=>Xt(t,e,g,()=>r);function Vn(t,e,r,s){return Xt(t,[e],r,s)}function ge(){return this.__ensureOwner()}function de(){return this.__ownerID?this:this.__ensureOwner(new tr)}function Js(){return this.__altered}function pe(t){let e=this.asMutable();return t(e),e.wasAltered()?e.__ensureOwner(this.__ownerID):this}function xu(t,e){return Ms(this,t,e)}function Fu(t){return Rn(this,t)}function Dt(t){return Pu(this,t)}function Zs(t,e){return Cu(this,t,e)}function Xs(t,e,r){return typeof t==="function"?t(this):Vn(this,t,e,r)}function Gs(t,e,r){return Xt(this,t,e,r)}function on(){A(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}function _s(...t){return mn(this,t)}function Nn(t,...e){if(typeof t!=="function")throw TypeError(`Invalid merger function: ${t}`);return mn(this,e,t)}function mn(t,e,r){let s=[];for(let i of e){let n=Y(i);if(n.size!==0)s.push(n)}if(s.length===0)return t;if(t.toSeq().size===0&&!t.__ownerID&&s.length===1)return gt(t)?t:t.create(s[0]);return t.withMutations((i)=>{let n=r?(h,u)=>{Vn(i,u,g,(o)=>o===g?h:r(o,h,u))}:(h,u)=>{i.set(u,h)};for(let h of s)h.forEach(n)})}function vn(...t){return le(this,t)}function th(t,...e){return le(this,e,t)}function Hs(t,...e){return Xt(this,t,B(),(r)=>ye(r,e))}function Qs(t,...e){return Xt(this,t,B(),(r)=>le(r,e))}function St(t,e){Object.assign(t.prototype,e)}var U=(t)=>{let e=re();if(t===void 0||t===null)return e;if(jn(t))return t;let r=dt(t),s=r.size;if(s===0)return e;if(A(s),s>0&&s<E)return we(0,s,z,null,new at(r.toArray()));return e.withMutations((i)=>{i.setSize(s),r.forEach((n,h)=>i.set(h,n))})};U.of=(...t)=>U(t);class eh extends lt{static{St(this,{asImmutable:ge,asMutable:de,deleteIn:Dt,mergeDeepIn:Qs,mergeIn:Hs,setIn:Zs,update:Xs,updateIn:Gs,wasAltered:Js,withMutations:pe,removeIn:Dt,[On]:!0,[oe]:this.prototype.remove,merge:this.prototype.concat,[Symbol.toStringTag]:"Immutable.List",[Symbol.iterator]:this.prototype.values})}constructor(t,e,r,s,i,n,h){super();this.size=e-t,this._origin=t,this._capacity=e,this._level=r,this._root=s,this._tail=i,this.__ownerID=n,this.__hash=h,this.__altered=!1}create(t){return U(t)}toString(){return this.__toString("List [","]")}get(t,e){if(t=nt(this,t),t>=0&&t<this.size)return t+=this._origin,ih(this,t)?.array[t&K];return e}set(t,e){return Vu(this,t,e)}remove(t){return!this.has(t)?this:t===0?this.shift():t===this.size-1?this.pop():this.splice(t,1)}insert(t,e){return this.splice(t,0,e)}clear(){if(this.size===0)return this;if(this.__ownerID)return this.size=this._origin=this._capacity=0,this._level=z,this._root=this._tail=this.__hash=void 0,this.__altered=!0,this;return re()}push(...t){let e=this.size;return this.withMutations((r)=>{it(r,0,e+t.length);for(let s=0;s<t.length;s++)r.set(e+s,t[s])})}pop(){return it(this,0,-1)}unshift(...t){return this.withMutations((e)=>{it(e,-t.length);for(let r=0;r<t.length;r++)e.set(r,t[r])})}shift(){return it(this,1)}shuffle(t=Math.random){return this.withMutations((e)=>{let r=e.size,s,i;while(r)s=Math.floor(t()*r--),i=e.get(s),e.set(s,e.get(r)),e.set(r,i)})}concat(...t){let e=[];for(let r of t){let s=dt(typeof r!=="string"&&gs(r)?r:[r]);if(s.size!==0)e.push(s)}if(e.length===0)return this;if(this.size===0&&!this.__ownerID&&e.length===1)return U(e[0]);return this.withMutations((r)=>{e.forEach((s)=>s.forEach((i)=>r.push(i)))})}setSize(t){return it(this,0,t)}map(t,e){return this.withMutations((r)=>{for(let s=0;s<this.size;s++)r.set(s,t.call(e,r.get(s),s,this))})}slice(t,e){let r=this.size;if(ce(t,e,r))return this;return it(this,Tt(t,r),fe(e,r))}__iterate(t,e){let r=e?this.size:0;return ku(this,(s)=>t(s,e?--r:r++,this),e),e?this.size-r:r}__iterator(t){let e=t?this.size:0,r=cn(this,t);return q((s)=>{let i=r.next();if(i.done)return!1;return s[0]=t?--e:e++,s[1]=i.value,!0})}values(){return cn(this,!1)}keys(){return me(this.size)}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return re();return this.__ownerID=t,this.__altered=!1,this}return we(this._origin,this._capacity,this._level,this._root,this._tail,t,this.__hash)}}U.isList=jn;class at{constructor(t,e){this.array=t,this.ownerID=e}removeBefore(t,e,r){if((r&(1<<e+z)-1)===0||this.array.length===0)return this;let s=r>>>e&K;if(s>=this.array.length)return new at([],t);let i=s===0,n;if(e>0){let u=this.array[s];if(n=u?.removeBefore(t,e-z,r),n===u&&i)return this}if(i&&!n)return this;let h=Wt(this,t);if(!i)for(let u=0;u<s;u++)h.array[u]=void 0;if(n)h.array[s]=n;return h}removeAfter(t,e,r){if(r===(e?1<<e+z:E)||this.array.length===0)return this;let s=r-1>>>e&K;if(s>=this.array.length)return this;let i;if(e>0){let h=this.array[s];if(i=h?.removeAfter(t,e-z,r),i===h&&s===this.array.length-1)return this}let n=Wt(this,t);if(n.array.splice(s+1),i)n.array[s]=i;return n}}function cn(t,e){let{_origin:r,_capacity:s}=t,i=Rt(s),n=t._tail,h=[];o(t._root,t._level,0);let u={done:!1,value:void 0};return W(()=>{while(h.length>0){let c=h[h.length-1];if(c.from===c.to){h.pop();continue}let f=e?--c.to:c.from++;if(c.isLeaf)return u.value=c.array?.[f],u;let _=c.array?.[f],a=c.level-z,l=c.offset+(f<<c.level);o(_,a,l)}return $});function o(c,f,_){if(f===0){let a=_===i?n?.array:c?.array,l=_>r?0:r-_,y=s-_;if(y>E)y=E;if(l!==y)h.push({array:a,from:l,to:y,isLeaf:!0})}else{let a=c?.array,l=_>r?0:r-_>>f,y=(s-_>>f)+1;if(y>E)y=E;if(l!==y)h.push({array:a,from:l,to:y,level:f,offset:_,isLeaf:!1})}}}function ku(t,e,r){let{_origin:s,_capacity:i}=t,n=Rt(i),h=t._tail,u=t._level,o=t._root;return u===0?rh(o,0,s,i,n,h,e,r):sh(o,u,0,s,i,n,h,e,r)}function rh(t,e,r,s,i,n,h,u){let o=e===i?n?.array:t?.array,c=e>r?0:r-e,f=s-e;if(f>E)f=E;while(c!==f){let _=u?--f:c++;if(h(o?.[_])===!1)return!1}}function sh(t,e,r,s,i,n,h,u,o){let c=t?.array,f=r>s?0:s-r>>e,_=(i-r>>e)+1;if(_>E)_=E;let a=e-z;while(f!==_){let l=o?--_:f++,y=r+(l<<e);if((a===0?rh(c?.[l],y,s,i,n,h,u,o):sh(c?.[l],a,y,s,i,n,h,u,o))===!1)return!1}}var we=(t,e,r,s,i,n,h)=>new eh(t,e,r,s,i,n,h),re=()=>we(0,0,z);function Vu(t,e,r){if(e=nt(t,e),Number.isNaN(e))return t;if(e>=t.size||e<0)return t.withMutations((h)=>{if(e<0)it(h,e).set(0,r);else it(h,0,e+1).set(e,r)});e+=t._origin;let{_tail:s,_root:i}=t,n=cs();if(e>=Rt(t._capacity))s=as(s,t.__ownerID,0,e,r,n);else i=as(i,t.__ownerID,t._level,e,r,n);if(!n.value)return t;if(t.__ownerID)return t._root=i,t._tail=s,t.__hash=void 0,t.__altered=!0,t;return we(t._origin,t._capacity,t._level,i,s)}function as(t,e,r,s,i,n){let h=s>>>r&K,u=t&&h<t.array.length;if(!u&&i===void 0)return t;let o;if(r>0){let c=t?.array[h],f=as(c,e,r-z,s,i,n);if(f===c)return t;return o=Wt(t,e),o.array[h]=f,o}if(u&&t.array[h]===i)return t;if(n)G(n);if(o=Wt(t,e),i===void 0&&h===o.array.length-1)o.array.pop();else o.array[h]=i;return o}function Wt(t,e){if(e&&e===t?.ownerID)return t;return new at(t?.array.slice()??[],e)}function ih(t,e){if(e>=Rt(t._capacity))return t._tail;if(e<1<<t._level+z){let{_root:r,_level:s}=t;while(r&&s>0)r=r.array[e>>>s&K],s-=z;return r}}function it(t,e,r){if(e!==void 0)e|=0;if(r!==void 0)r|=0;let s=t.__ownerID||new tr,i=t._origin,n=t._capacity,h=i+e,u=r===void 0?n:r<0?n+r:i+r;if(h===i&&u===n)return t;if(h>=u)return t.clear();let{_level:o,_root:c}=t,f=0;while(h+f<0)c=new at(c?.array.length?[void 0,c]:[],s),o+=z,f+=1<<o;if(f)h+=f,i+=f,u+=f,n+=f;let _=Rt(n),a=Rt(u);while(a>=1<<o+z)c=new at(c?.array.length?[c]:[],s),o+=z;let l=t._tail,y=a<_?ih(t,u-1):a>_?new at([],s):l;if(l&&a>_&&h<n&&l.array.length){c=Wt(c,s);let p=c;for(let S=o;S>z;S-=z){let T=_>>>S&K;p=p.array[T]=Wt(p.array[T],s)}p.array[_>>>z&K]=l}if(u<n)y=y?.removeAfter(s,0,u);if(h>=a)h-=a,u-=a,o=z,c=null,y=y?.removeBefore(s,0,h);else if(h>i||a<_){f=0;while(c){let p=h>>>o&K;if(p!==a>>>o&K)break;if(p)f+=(1<<o)*p;o-=z,c=c.array[p]}if(c&&h>i)c=c.removeBefore(s,o,h-f);if(c&&a<_)c=c.removeAfter(s,o,a-f);if(f)h-=f,u-=f}if(t.__ownerID)return t.size=u-h,t._origin=h,t._capacity=u,t._level=o,t._root=c,t._tail=y,t.__hash=void 0,t.__altered=!0,t;return we(h,u,o,c,y)}var Rt=(t)=>t<E?0:t-1>>>z<<z,D=(t)=>t===void 0||t===null?se():Ss(t)?t:se().withMutations((e)=>{let r=Y(t);A(r.size),r.forEach((s,i)=>e.set(i,s))});D.of=(...t)=>D(t);class nh extends ee{static{St(this,{[ht]:!0,[oe]:this.prototype.remove,[Symbol.iterator]:this.prototype.entries,[Symbol.toStringTag]:"Immutable.OrderedMap",keys:b.prototype.keys,values:b.prototype.values,__iterate:b.prototype.__iterate})}constructor(t,e,r,s){super(t?t.size:0,void 0,r,s);this._map=t,this._list=e}create(t){return D(t)}toString(){return this.__toString("OrderedMap {","}")}get(t,e){let r=this._map.get(t);return r!==void 0?this._list.get(r)[1]:e}clear(){if(this.size===0)return this;if(this.__ownerID)return this.size=0,this._map.clear(),this._list.clear(),this.__altered=!0,this;return se()}set(t,e){return fn(this,t,e)}remove(t){return fn(this,t,g)}entries(){return this.__iterator(!1)}__iterator(t){let e=this._list.__iterator(t);return q((r)=>{while(!0){let s=e.next();if(s.done)return!1;let i=s.value[1];if(i)return r[0]=i[0],r[1]=i[1],!0}})}__ensureOwner(t){if(t===this.__ownerID)return this;let e=this._map.__ensureOwner(t),r=this._list.__ensureOwner(t);if(!t){if(this.size===0)return se();return this.__ownerID=t,this.__altered=!1,this._map=e,this._list=r,this}return Ys(e,r,t,this.__hash)}}D.isOrderedMap=Ss;var Ys=(t,e,r,s)=>new nh(t,e,r,s),se=()=>Ys(B(),re());function fn(t,e,r){let{_map:s,_list:i}=t,n=s.get(e),h=n!==void 0,u,o;if(r===g){if(!h)return t;if(i.size>=E&&i.size>=s.size*2){let c=[];if(i.forEach((f,_)=>{if(f!==void 0&&n!==_)c.push(f)}),o=re().withMutations((f)=>{for(let _=0;_<c.length;_++)f.set(_,c[_])}),u=B().withMutations((f)=>{for(let _=0;_<c.length;_++)f.set(c[_][0],_)}),t.__ownerID)u.__ownerID=o.__ownerID=t.__ownerID}else u=s.remove(e),o=n===i.size-1?i.pop():i.set(n,void 0)}else if(h){if(r===i.get(n)[1])return t;u=s,o=i.set(n,[e,r])}else{let c=i.size;u=s.set(e,c),o=i.set(c,[e,r])}if(t.__ownerID)return t.size=u.size,t._map=u,t._list=o,t.__hash=void 0,t.__altered=!0,t;return Ys(u,o)}var ie=(t)=>t===void 0||t===null?Ve():zs(t)?t:Ve().pushAll(t);ie.of=(...t)=>ie(t);class hh extends lt{static{St(this,{asImmutable:ge,asMutable:de,wasAltered:Js,withMutations:pe,[qn]:!0,shift:this.prototype.pop,unshift:this.prototype.push,unshiftAll:this.prototype.pushAll,[Symbol.toStringTag]:"Immutable.Stack",[Symbol.iterator]:this.prototype.values})}constructor(t,e,r,s){super();this.size=t,this._head=e,this.__ownerID=r,this.__hash=s,this.__altered=!1}create(t){return ie(t)}toString(){return this.__toString("Stack [","]")}get(t,e){let r=this._head;t=nt(this,t);while(r&&t--)r=r.next;return r?r.value:e}peek(){return this._head?.value}push(...t){if(t.length===0)return this;let e=this.size+t.length,r=this._head;for(let s=t.length-1;s>=0;s--)r={value:t[s],next:r};return us(this,e,r)}pushAll(t){if(t=dt(t),t.size===0)return this;if(this.size===0&&zs(t))return t;A(t.size);let e=this.size,r=this._head;return t.__iterate((s)=>{e++,r={value:s,next:r}},!0),us(this,e,r)}pop(){return this.slice(1)}clear(){if(this.size===0)return this;if(this.__ownerID)return this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this;return Ve()}slice(t,e){if(ce(t,e,this.size))return this;let r=Tt(t,this.size);if(fe(e,this.size)!==this.size)return lt.prototype.slice.call(this,t,e);let i=this.size-r,n=this._head;while(r--)n=n.next;return us(this,i,n)}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return Ve();return this.__ownerID=t,this.__altered=!1,this}return Bs(this.size,this._head,t,this.__hash)}__iterate(t,e){if(e){let i=this.toArray(),n=i.length,h=0;while(h!==n)if(t(i[n-++h],n-h,this)===!1)break;return h}let r=0,s=this._head;while(s){if(t(s.value,r++,this)===!1)break;s=s.next}return r}__iterator(t){if(t){let s=this.toArray(),i=s.length,n=0;return q((h)=>{if(n===i)return!1;let u=i-++n;return h[0]=u,h[1]=s[u],!0})}let e=0,r=this._head;return q((s)=>{if(!r)return!1;return s[0]=e++,s[1]=r.value,r=r.next,!0})}values(){let t=this._head,e={done:!1,value:void 0};return W(()=>{if(!t)return $;return e.value=t.value,t=t.next,e})}keys(){return me(this.size)}}ie.isStack=zs;function us(t,e,r){if(t.__ownerID)return t.size=e,t._head=r,t.__hash=void 0,t.__altered=!0,t;return Bs(e,r)}var Bs=(t,e,r,s)=>new hh(t,e,r,s),_n,Ve=()=>_n||(_n=Bs(0)),M=(t)=>t===void 0||t===null?he():ws(t)&&!x(t)?t:he().withMutations((e)=>{let r=pt(t);A(r.size),r.forEach((s)=>e.add(s))});M.of=(...t)=>M(t);M.fromKeys=(t)=>M(Y(t).keySeq());M.intersect=(t)=>{return t=m(t).toArray(),t.length?M(t.pop()).intersect(...t):he()};M.union=(t)=>{let e=m(t).toArray();return e.length?M(e.pop()).union(...e):he()};class ne extends sr{static{St(this,{withMutations:pe,asImmutable:ge,asMutable:de,[bn]:!0,[oe]:this.prototype.remove,merge:this.prototype.union,concat:this.prototype.union,[Symbol.toStringTag]:"Immutable.Set"})}constructor(t,e){super();this.size=t?t.size:0,this._map=t,this.__ownerID=e}create(t){return M(t)}toString(){return this.__toString("Set {","}")}has(t){return this._map.has(t)}add(t){return Be(this,this._map.set(t,t))}remove(t){return Be(this,this._map.remove(t))}clear(){return Be(this,this._map.clear())}map(t,e){let r=!1,s=Be(this,this._map.mapEntries(([,i])=>{let n=t.call(e,i,i,this);if(n!==i)r=!0;return[n,n]},e));return r?s:this}union(...t){if(t=t.filter((e)=>e.size!==0),t.length===0)return this;if(this.size===0&&!this.__ownerID&&t.length===1)return M(t[0]);return this.withMutations((e)=>{for(let r of t)if(typeof r==="string")e.add(r);else pt(r).forEach((s)=>e.add(s))})}intersect(...t){return ln(this,t,(e,r)=>!r.every((s)=>s.includes(e)))}subtract(...t){return ln(this,t,(e,r)=>r.some((s)=>s.includes(e)))}wasAltered(){return this._map.wasAltered()}__iterator(t){return this._map.__iterator(t)}__empty(){return he()}__make(t,e){return uh(t,e)}__ensureOwner(t){if(t===this.__ownerID)return this;let e=this._map.__ensureOwner(t);if(!t){if(this.size===0)return this.__empty();return this.__ownerID=t,this._map=e,this}return this.__make(e,t)}}M.isSet=ws;var uh=(t,e)=>new ne(t,e),an,he=()=>an||(an=uh(B()));function ln(t,e,r){if(e.length===0)return t;return e=e.map((s)=>pt(s)),t.withMutations((s)=>{t.forEach((i)=>{if(r(i,e))s.remove(i)})})}function Be(t,e){if(t.__ownerID)return t.size=e.size,t._map=e,t;return e===t._map?t:e.size===0?t.__empty():t.__make(e)}var N=(t)=>t===void 0||t===null?ls():In(t)?t:ls().withMutations((e)=>{let r=pt(t);A(r.size),r.forEach((s)=>e.add(s))});N.of=(...t)=>N(t);N.fromKeys=(t)=>N(Y(t).keySeq());class oh extends ne{static{St(this,{[ht]:!0,[Symbol.toStringTag]:"Immutable.OrderedSet",zip:hs.zip,zipWith:hs.zipWith,zipAll:hs.zipAll})}create(t){return N(t)}toString(){return this.__toString("OrderedSet {","}")}__empty(){return ls()}__make(t,e){return ch(t,e)}}N.isOrderedSet=In;var ch=(t,e)=>new oh(t,e),ls=()=>ch(se()),Gc={LeftThenRight:-1,RightThenLeft:1};function Nu(t){if(gt(t))throw Error("Can not call `Record` with an immutable Record as default values. Use a plain javascript object instead.");if(P(t))throw Error("Can not call `Record` with an immutable Collection as default values. Use a plain javascript object instead.");if(t===null||typeof t!=="object")throw Error("Can not call `Record` with a non-object as default values. Use a plain javascript object instead.")}var hr=(t,e)=>{let r;Nu(t);let s=function(h){if(h instanceof s)return h;if(!(this instanceof s))return new s(h);if(!r){r=!0;let u=Object.keys(t),o=i._indices={};i._name=e,i._keys=u,i._defaultValues=t;for(let c=0;c<u.length;c++){let f=u[c];if(o[f]=c,i[f])console.warn(`Cannot define ${Ps(this)} with property "${f}" since that property name is part of the Record API.`);else vu(i,f)}}return this.__ownerID=void 0,this._values=U().withMutations((u)=>{u.setSize(this._keys.length),Y(h).forEach((o,c)=>{u.set(this._indices[c],o===this._defaultValues[c]?void 0:o)})}),this},i=s.prototype=Object.create(mu);if(i.constructor=s,i.create=s,e)s.displayName=e;return s};class fh{static{St(this,{asImmutable:ge,asMutable:de,deleteIn:Dt,getIn:xu,hasIn:Fu,merge:_s,mergeWith:Nn,mergeDeep:vn,mergeDeepWith:th,mergeDeepIn:Qs,mergeIn:Hs,setIn:Zs,toObject:on,update:Xs,updateIn:Gs,withMutations:pe,removeIn:Dt,toJSON:on,[En]:!0,[oe]:this.prototype.remove,[Symbol.iterator]:this.prototype.entries,[Symbol.toStringTag]:"Immutable.Record"})}toString(){let t=this._keys.map((e)=>`${e}: ${vt(this.get(e))}`).join(", ");return`${Ps(this)} { ${t} }`}equals(t){return this===t||gt(t)&&Kt(this).equals(Kt(t))}hashCode(){return Kt(this).hashCode()}has(t){return Object.hasOwn(this._indices,t)}get(t,e){if(!this.has(t))return e;let r=this._indices[t],s=this._values.get(r);return s===void 0?this._defaultValues[t]:s}set(t,e){if(this.has(t)){let r=this._values.set(this._indices[t],e===this._defaultValues[t]?void 0:e);if(r!==this._values&&!this.__ownerID)return os(this,r)}return this}remove(t){return this.set(t)}clear(){let t=this._values.clear().setSize(this._keys.length);return this.__ownerID?this:os(this,t)}wasAltered(){return this._values.wasAltered()}toSeq(){return Kt(this)}toJS(){return Fe(this)}entries(){return this.__iterator()}__iterate(t,e){return Kt(this).__iterate(t,e)}__iterator(t){return Kt(this).__iterator(t)}__ensureOwner(t){if(t===this.__ownerID)return this;let e=this._values.__ensureOwner(t);if(!t)return this.__ownerID=t,this._values=e,this;return os(this,e,t)}}hr.isRecord=gt;var Ps=(t)=>t.constructor.displayName||t.constructor.name||"Record";class _h extends Jt{constructor(t){super();this._record=t,this.size=t._keys.length}get(t,e){return this._record.get(t,e)}has(t){return this._record.has(t)}__iterateUncached(t,e){let r=this._record,s=r._keys,i=s.length,n=0;while(n!==i){let h=e?i-++n:n++,u=s[h];if(t(r.get(u),u,this)===!1)break}return n}__iteratorUncached(t){let e=this._record,r=e._keys,s=r.length,i=0;return q((n)=>{if(i===s)return!1;let h=t?s-++i:i++,u=r[h];return n[0]=u,n[1]=e.get(u),!0})}}var Kt=(t)=>new _h(t);hr.getDescriptiveName=Ps;var mu=fh.prototype;function os(t,e,r){let s=Object.create(Object.getPrototypeOf(t));return s._values=e,s.__ownerID=r,s}function vu(t,e){Object.defineProperty(t,e,{get(){return this.get(e)},set(r){mt(this.__ownerID,"Cannot set on an immutable record."),this.set(e,r)}})}var ys=(t,e,r=1)=>{if(mt(r!==0,"Cannot step a Range by 0"),mt(t!==void 0,"You must define a start value when using Range"),mt(e!==void 0,"You must define an end value when using Range"),r=Math.abs(r),e<t)r=-r;let s=Math.max(0,Math.ceil((e-t)/r-1)+1);return new Cs(t,e,r,s)};class Cs extends wt{_start;_end;_step;constructor(t,e,r,s){super();this._start=t,this._end=e,this._step=r,this.size=s}toString(){return this.size===0?"Range []":`Range [ ${this._start}...${this._end}${this._step!==1?` by ${this._step}`:""} ]`}get(t,e){return this.has(t)?this._start+nt(this,t)*this._step:e}includes(t){let e=(t-this._start)/this._step;return e>=0&&e<this.size&&e===Math.floor(e)}slice(t,e){if(ce(t,e,this.size))return this;if(t=Tt(t,this.size),e=fe(e,this.size),e<=t)return ys(0,0);return ys(this.get(t,this._end),this.get(e,this._end),this._step)}indexOf(t){let e=t-this._start;if(e%this._step===0){let r=e/this._step;if(r>=0&&r<this.size)return r}return-1}lastIndexOf(t){return this.indexOf(t)}__iterateUncached(t,e=!1){let r=this.size,s=this._step,i=e?this._start+(r-1)*s:this._start,n=0;while(n!==r){let h=i;i+=e?-s:s;let u=e?r-++n:n++;if(t(h,u,this)===!1)break}return n}__iteratorUncached(t=!1){let e=this.size,r=this._step,s=t?this._start+(e-1)*r:this._start,i=0;return q((n)=>{if(i===e)return!1;let h=s;return s+=t?-r:r,n[0]=t?e-++i:i++,n[1]=h,!0})}values(){let t=this.size,e=this._step,r=this._start,s=0,i={done:!1,value:void 0};return W(()=>{if(s===t)return $;return i.value=r,r+=e,s++,i})}keys(){return me(this.size)}equals(t){return t instanceof Cs?this._start===t._start&&this._end===t._end&&this._step===t._step:bs(this,t)}static{this.prototype[Symbol.iterator]=this.prototype.values}}var Hc=(t,e)=>{let r=e===void 0?1/0:Math.max(0,e);return new Ne(t,r)};class Ne extends wt{constructor(t,e){super();this._value=t,this.size=e}toString(){if(this.size===0)return"Repeat []";return`Repeat [ ${this._value} ${this.size} times ]`}get(t,e){return this.has(t)?this._value:e}includes(t){return I(this._value,t)}slice(t,e){let r=this.size;return ce(t,e,r)?this:new Ne(this._value,fe(e,r)-Tt(t,r))}reverse(){return this}indexOf(t){if(I(this._value,t))return 0;return-1}lastIndexOf(t){if(I(this._value,t))return this.size;return-1}__iterateUncached(t,e){let r=this.size,s=0;while(s!==r)if(t(this._value,e?r-++s:s++,this)===!1)break;return s}__iteratorUncached(t){let e=this.size,r=this._value,s=0;return q((i)=>{if(s===e)return!1;return i[0]=t?e-++s:s++,i[1]=r,!0})}values(){let t=this.size,e=this._value,r=0,s={done:!1,value:void 0};return W(()=>{if(r===t)return $;return r++,s.value=e,s})}keys(){return me(this.size)}equals(t){return t instanceof Ne?this.size===t.size&&I(this._value,t._value):bs(this,t)}static{this.prototype[Symbol.iterator]=this.prototype.values}}var Qc=(t,e)=>ah([],e??to,t,"",e?.length>2?[]:void 0,{"":t});function ah(t,e,r,s,i,n){if(typeof r!=="string"&&!P(r)&&(Os(r)||gs(r)||Ln(r))){if(t.includes(r))throw TypeError("Cannot convert circular structure to Immutable");if(t.push(r),i&&s!=="")i.push(s);let h=e.call(n,s,v(r).map((u,o)=>ah(t,e,u,o,i,r)),i?.slice());if(t.pop(),i)i.pop();return h}return r}var to=(t,e)=>j(e)?e.toList():w(e)?e.toMap():e.toSet(),Pe=(t)=>w(t)?t.valueSeq():t;function eo(){b.prototype.toMap=function(){return R(this.toKeyedSeq())},b.prototype.toOrderedMap=function(){return D(this.toKeyedSeq())},b.prototype.toOrderedSet=function(){return N(Pe(this))},b.prototype.toSet=function(){return M(Pe(this))},b.prototype.toStack=function(){return ie(Pe(this))},b.prototype.toList=function(){return U(Pe(this))},b.prototype.countBy=function(e,r){let s=R().asMutable();return this.__iterate((i,n)=>{s.update(e.call(r,i,n,this),0,(h)=>h+1)}),s.asImmutable()},b.prototype.groupBy=function(e,r){let s=w(this),i=(x(this)?D():R()).asMutable();return this.__iterate((n,h)=>{i.update(e.call(r,n,h,this),(u)=>{return u??=[],u.push(s?[h,n]:n),u})}),i.map((n)=>Jn(this,n)).asImmutable()},lt.prototype.keySeq=function(){return ys(0,this.size)},ee.prototype.sort=function(e){return D(Ut(this,e))},ee.prototype.sortBy=function(e,r){return D(Ut(this,r,e))},ne.prototype.sort=function(e){return N(Ut(this,e))},ne.prototype.sortBy=function(e,r){return N(Ut(this,r,e))}}var ro="7.0.0",so={version:ro};eo();var{version:Yc}=so;var lh=Symbol("BadValue"),ph=(t)=>t;class X{constructor(t,e,r,s,i=null){this.type=t,this.name=e,this.typeCheck=r,this.coercer=s,this.checks=[],this.defaultValue=i}toDataDef(){let{type:t,defaultValue:e}=this;return{type:t,defaultValue:e?.toJS?e.toJS():e}}getFirstFailingCheck(t){if(!this.typeCheck.isValid(t))return this.typeCheck;for(let e of this.checks)if(!e.isValid(t))return e;return null}isValid(t){return this.getFirstFailingCheck(t)===null}addCheck(t){return this.checks.push(t),this}coerceOr(t,e=null){if(this.isValid(t))return t;let r=this.coercer(t);return this.isValid(r)?r:e}coerceOrDefault(t){return this.coerceOr(t,this.defaultValue)}extendProtoForType(t,e){}extendProto(t){let{name:e}=this,r=e[0].toUpperCase()+e.slice(1),s=`set${r}`,i=this;t[s]=function(n){let h=i.coerceOr(n,lh);if(h===lh)return console.warn("invalid value",n),this;return this.set(e,h)},t[`update${r}`]=function(n){return this[s](n(this.get(e)))},t[`reset${r}`]=function(){return this.set(e,i.defaultValue)},t[`is${r}NotSet`]=function(){return this.get(e)==null},t[`is${r}Set`]=function(){return this.get(e)!=null},this.extendProtoForType(t,r)}}class Fs{isValid(t){return!0}getMessage(t){return"Invalid"}}class wh extends Fs{}var io=new wh;class tt extends Fs{constructor(t,e){super();this._isValid=t,this._getMessage=e}isValid(t){return this._isValid(t)}getMessage(t){return this._getMessage(t)}}var no=new tt((t)=>Number.isInteger(t),()=>"Integer expected"),ho=new tt((t)=>Number.isFinite(t),()=>"Float expected"),uo=new tt((t)=>typeof t==="boolean",()=>"Boolean expected"),oo=new tt((t)=>typeof t==="string",()=>"String expected"),co=new tt((t)=>U.isList(t),()=>"List expected"),fo=new tt((t)=>R.isMap(t),()=>"Map expected"),_o=new tt((t)=>D.isOrderedMap(t),()=>"OrderedMap expected"),ao=new tt((t)=>M.isSet(t),()=>"Set expected"),lo=(t)=>!!t;class ks extends X{constructor(t,e=!1){super("bool",t,uo,lo,e)}extendProtoForType(t,e){let{name:r}=this;t[`toggle${e}`]=function(){return this.set(r,!this.get(r,!1))},t[`set${e}`]=function(s){return this.set(r,!!s)}}}class ur extends X{constructor(t,e=null){super("any",t,io,ph,e)}toDataDef(){let{defaultValue:t}=this;return{type:xs(t)??"any",defaultValue:t?.toJS?t.toJS():t}}}var yo=(t)=>t?.toString?.()??"";class Vs extends X{constructor(t,e=""){super("text",t,oo,yo,e)}extendProtoForType(t,e){ei(t,this.name,e,"","length")}}var go=(t)=>Number.isFinite(t)?Math.trunc(t):null;class zh extends X{constructor(t,e=0){super("int",t,no,go,e)}}var po=(t)=>null;class Ns extends X{constructor(t,e=0){super("float",t,ho,po,e)}}var xs=(t)=>t?.constructor?.getMetaClass?.()?.name;class Sh{constructor(t){this.typeName=t}isValid(t){return xs(t)===this.typeName}getMessage(t){let e=xs(t);return`Expected "${this.typeName}", got "${e}"`}}class Oh extends X{constructor(t,e,r){super(t,e,new Sh(t),ph,null);this.args=r}toDataDef(){return{component:this.typeName,args:this.args}}}var yh=Symbol("NONE");function Gt(t,e,r){ei(t,e,r,bh),t[`setIn${r}At`]=function(s,i){return this.set(e,this.get(e).set(s,i))},t[`getIn${r}At`]=function(s,i){return this.get(e).get(s,i)},t[`updateIn${r}At`]=function(s,i){let n=this.get(e),h=n.get(s,yh);if(h!==yh)return this.set(e,n.set(s,i(h)));return console.warn("key",s,"not found in",e,n),this},Mh(t,e,`${r}At`)}function Mh(t,e,r){t[`deleteIn${r}`]=function(s){return this.set(e,this.get(e).delete(s))},t[`removeIn${r}`]=t[`deleteIn${r}`]}var bh=U(),wo=(t)=>Array.isArray(t)?U(t):null;class ms extends X{constructor(t,e=bh){super("list",t,co,wo,e)}extendProtoForType(t,e){let{name:r}=this;Gt(t,r,e),t[`pushIn${e}`]=function(s){return this.set(r,this.get(r).push(s))},t[`insertIn${e}At`]=function(s,i){return this.set(r,this.get(r).insert(s,i))}}}var zo=(t)=>R(t);class vs extends X{constructor(t,e=R()){super("map",t,fo,zo,e)}extendProtoForType(t,e){Gt(t,this.name,e)}}var So=(t)=>D(t);class ti extends X{constructor(t,e=D()){super("omap",t,_o,So,e)}extendProtoForType(t,e){Gt(t,this.name,e)}}function ei(t,e,r,s,i="size"){t[`is${r}Empty`]=function(){return this.get(e,s)[i]===0},t[`${e}Len`]=function(){return this.get(e,s)[i]}}var gh=M(),Oo=(t)=>Array.isArray(t)?M(t):t instanceof Set?M(t):null;class ri extends X{constructor(t,e=gh){super("set",t,ao,Oo,e)}extendProtoForType(t,e){let{name:r}=this;ei(t,r,e,gh),t[`addIn${e}`]=function(s){return this.set(r,this.get(r).add(s))},Mh(t,r,e),t[`hasIn${e}`]=function(s){return this.get(r).has(s)},t[`toggleIn${e}`]=function(s){let i=this.get(r);return this.set(r,i.has(s)?i.delete(s):i.add(s))}}}function dh(t,e,r){let s=e.lookupComponent(t.type);return console.assert(s!==null,"component not found",{field:t}),s?.make({...t.args,...r},{scope:e})??null}class qh{constructor(t){let e={},r=new Set;this.name=t,this.fields=e,this.compFields=r,this._methods={},this._statics={make:function(s={},i={}){let n={};for(let h in s){let u=e[h];if(r.has(h))n[h]=dh(u,i.scope,s[h]);else if(u===void 0){console.warn("extra argument to constructor:",t,h,s);continue}n[h]=u.coerceOrDefault(s[h])}for(let h of r)if(n[h]===void 0)n[h]=dh(e[h],i.scope,s[h]);return this(n)}}}build(){let t={},e={},{name:r,_methods:s,fields:i}=this;for(let u in i){let o=i[u];t[u]=o.defaultValue,o.extendProto(e)}let n={[r]:hr(t,r)}[r];Object.assign(n.prototype,e,s);let h={fields:i,name:r,methods:s};return Object.assign(n,this._statics,{getMetaClass:()=>h}),n}methods(t){return this._mergeProto(this._methods,t,"method")}statics(t){return this._mergeProto(this._statics,t,"static")}_mergeProto(t,e,r){for(let s in e)t[s]=e[s];return this}addField(t,e,r){let s=new r(t,e);return this.fields[t]=s,s}addCompField(t,e,r){let s=new Oh(e,t,r);return this.compFields.add(t),this.fields[t]=s,s}}var or=new Map,Mo={text:Vs,int:zh,float:Ns,bool:ks,list:ms,map:vs,omap:ti,set:ri,any:ur};function bo(t,{fields:e={},methods:r,statics:s}){let i=new qh(t);for(let n in e){let h=e[n],u=typeof h;if(u==="string")i.addField(n,h,Vs);else if(u==="number")i.addField(n,h,Ns);else if(u==="boolean")i.addField(n,h,ks);else if(U.isList(h)||Array.isArray(h))i.addField(n,U(h),ms);else if(M.isSet(h)||h instanceof Set)i.addField(n,M(h),ri);else if(D.isOrderedMap(h))i.addField(n,h,ti);else if(h?.type&&h?.defaultValue!==void 0){let o=Mo[h.type]??ur;i.addField(n,new o().coerceOr(h.defaultValue),o)}else if(h?.component&&h?.args!==void 0)i.addCompField(n,h.component,h.args);else if(R.isMap(h)||h?.constructor===Object)i.addField(n,R(h),vs);else{let o=or.get(h?.constructor)??ur;i.addField(n,h,o)}}if(r)i.methods(r);if(s)i.statics(s);return i.build()}var qo=(t)=>new Yr(t.name??"Comp",bo(t.name,t),t.view??"Not Defined",t.views,t.style,t.commonStyle??"",t.globalStyle??"",t.computed,t.input,t.logic,t.bubble,t.response,t.alter,t.dynamic,t.on);var Eo=["nid","cid","eid","vid","si","sk"];class si{constructor(t,e,r,s,i,n,h){this.comps=t,this.h=e,this.fragment=r,this.renderComment=s,this.renderFn=i,this.getSeqInfo=n??Uo,this.cache=h??new Xr}setNullCache(){this.cache=new Zr}renderToDOM(t,e){let r=document.createElement("div");return this.renderFn(this.h("div",null,[this.renderRoot(t,e)]),r),r.childNodes[0]}renderToString(t,e,r=!0){let s=this.renderToDOM(t,e,this.renderFn);if(r){let i=s.querySelectorAll("[data-nid],[data-cid],[data-eid]");for(let{dataset:n}of i)for(let h of Eo)delete n[h]}return s.innerHTML}renderRoot(t,e,r=null){let s=this.comps.getCompFor(e),i=s.getView(r).anode.nodeId??null;return s?this._rValComp(t,e,s,i,"ROOT",r):null}renderIt(t,e,r,s){let i=this.comps.getCompFor(t.it);return i?this._rValComp(t,t.it,i,e,r,s):null}_rValComp(t,e,r,s,i,n){let h=`${n??t.viewsId??""}${s}-${i}`,u=this.cache.get(e,h);if(u)return u;let o=n?r.getView(n):t.lookupBestView(r.views,"main"),c=this.renderMetadata("Comp",{nid:s}),f=this.renderFragment([c,this.renderView(o,t)]);return this.cache.set(e,h,f),f}pushEachEntry(t,e,r,s,i){t.push(this.renderMetadata("Each",{nid:e,[r]:s}),i)}renderEach(t,e,r,s){let{seq:i,filter:n,loopWith:h}=e.eval(t),[u,o]=this.getSeqInfo(i),c=[],f=h.call(t.it,i);for(let[_,a]of o(i))if(n.call(t.it,_,a,f)){let l=t.enter(a,{key:_},!0),y=this.renderIt(l,r,_,s);this.pushEachEntry(c,r,u,_,y)}return c}renderEachWhen(t,e,r,s){let{seq:i,filter:n,loopWith:h,enricher:u}=e.eval(t),[o,c]=this.getSeqInfo(i),f=[],_=h.call(t.it,i);for(let[a,l]of c(i))if(n.call(t.it,a,l,_)){let y={key:a,value:l},p=`${s}-${a}`,S;if(u)u.call(t.it,y,a,l,_),S=this.cache.get2(t.it,l,p);else S=this.cache.get(l,p);if(S){this.pushEachEntry(f,s,o,a,S);continue}let T=t.enter(l,y,!1),et=this.renderView(r,T);if(this.pushEachEntry(f,s,o,a,et),u)this.cache.set2(t.it,l,p,et);else this.cache.set(l,p,et)}return f}renderView(t,e){return t.render(e,this)}renderText(t){return t}renderMetadata(t,e){return e.$=t,this.renderComment(`§${JSON.stringify(e)}§`)}renderEmpty(){return null}renderTag(t,e,r){return this.h(t,e,r)}renderFragment(t){return this.fragment(t)}}function*jo(t){let e=0;for(let r of t)yield[e++,r]}function*Io(t){for(let[e,r]of t.toSeq().entries())yield[e,r]}var cr=new Map,Ao=["si",jo],$o=["sk",Io],Ko=["si",function*(e){}];function Uo(t){return j(t)?Ao:w(t)?$o:cr.get(t?.constructor)??Ko}class Ot{constructor(t=R(),e=U()){this.items=t,this.order=e,this.$=0}_clonish(t,e){return new Ot(t,e,this.$)}toJS(){return this.order.toArray().map((t)=>this.items.get(t))}set(t,e){let r=this.items.has(t)?this.order:this.order.push(t);return this._clonish(this.items.set(t,e),r,this.$)}get(t,e=null){return this.items.get(t,e)}_nextFreeKey(){let t=this.$;while(!0){let e=`§${t}§`;if(!this.items.has(e))return[e,t];t+=1}}push(t){let[e,r]=this._nextFreeKey(),s=this.set(e,t);return s.$=r,s}get size(){return this.items.size}delete(t){if(this.items.has(t)){let e=this.order.delete(this.order.indexOf(t));return this._clonish(this.items.delete(t),e)}return this}moveKeyBeforeKey(t,e){let{order:r}=this;return this.moveKeyIndexToIndex(r.indexOf(t),r.indexOf(e),0)}moveKeyAfterKey(t,e){let{order:r}=this;return this.moveKeyIndexToIndex(r.indexOf(t),r.indexOf(e),1)}moveKeyIndexToIndex(t,e,r){if(t===-1||e===-1||t===e)return this;let{order:s}=this,i=e+r,n=i<t?t+1:t,h=s.insert(i,s.get(t)).delete(n);return this._clonish(this.items,h)}}var Lo=(t)=>null;class Eh{isValid(t){return t instanceof Ot}getMessage(t){return"KList expected"}}var Do=new Eh;class jh extends X{constructor(t,e=new Ot){super("KList",t,Do,Lo,e)}extendProtoForType(t,e){Gt(t,this.name,e);let{name:r}=this;Gt(t,r,e),t[`pushIn${e}`]=function(s){return this.set(r,this.get(r).push(s))}}}or.set(Ot,jh);function*Wo(t){for(let e of t.order)yield[e,t.items.get(e)]}cr.set(Ot,["data-sk",Wo]);var ni=(t)=>t[4]==="-"&&(t[0]==="d"||t[0]==="a"),ze=(t)=>t!==null&&typeof t==="object",Ah=(t,e)=>Object.getPrototypeOf(t)!==Object.getPrototypeOf(e);function $h(t,e,r){for(let s in e){let i=e[s];if(i===void 0)Ro(t,s,r);else if(ni(s))t.setAttribute(s,i);else if(s==="dangerouslySetInnerHTML")t.innerHTML=i.__html??"";else if(ze(i))To(t,r,s,i);else if(s==="className")t.setAttribute("class",i);else t[s]=i}}function Ro(t,e,r){let s=r[e];if(e==="dangerouslySetInnerHTML")t.replaceChildren();else if(e==="className")t.removeAttribute("class");else if(e==="htmlFor")t.removeAttribute("for");else if(typeof s==="string"||ni(e))t.removeAttribute(e);else t[e]=null}function To(t,e,r,s){let i=e?.[r];if(ze(i)&&Ah(i,s)){t[r]=s;return}if(!ze(t[r]))t[r]={};let n=t[r];for(let h in s)n[h]=s[h]}class Ht{}var ii=(t)=>t instanceof ar?t.key:void 0,Jo=(t)=>t!=null&&typeof t!=="string"&&typeof t[Symbol.iterator]==="function";function Kh(t,e){for(let r=0;r<t.length;r++)if(!t[r].isEqualTo(e[r]))return!1;return!0}function hi(t,e,r){for(let s of e)t.appendChild(s.toDom(r))}function ui(t,e){if(e==null)return;if(Jo(e))for(let r of e)ui(t,r);else if(e instanceof Ht)if(e instanceof Mt)t.push(...e.childs);else t.push(e);else t.push(new oi(e))}class oi extends Ht{constructor(t){super();this.text=String(t)}get nodeType(){return 3}isEqualTo(t){return t instanceof oi&&this.text===t.text}toDom(t){return t.document.createTextNode(this.text)}}class _r extends Ht{constructor(t){super();this.text=t}get nodeType(){return 8}isEqualTo(t){return t instanceof _r&&this.text===t.text}toDom(t){return t.document.createComment(this.text)}}class Mt extends Ht{constructor(t){super();this.childs=[],ui(this.childs,t)}get nodeType(){return 11}isEqualTo(t){if(!(t instanceof Mt)||this.childs.length!==t.childs.length)return!1;return Kh(this.childs,t.childs)}toDom(t){let e=t.document.createDocumentFragment();return hi(e,this.childs,t),e}}class ar extends Ht{constructor(t,e,r,s,i){super();this.tag=t,this.attrs=e??{},this.childs=r??[],this.key=s!=null?String(s):void 0,this.namespace=typeof i==="string"?i:null}get nodeType(){return 1}isEqualTo(t){if(!(t instanceof ar)||this.tag!==t.tag||this.key!==t.key||this.namespace!==t.namespace||this.childs.length!==t.childs.length)return!1;for(let e in this.attrs)if(this.attrs[e]!==t.attrs[e])return!1;for(let e in t.attrs)if(!Object.hasOwn(this.attrs,e))return!1;return Kh(this.childs,t.childs)}toDom(t){let e=t.document,r=this.namespace===null?e.createElement(this.tag):e.createElementNS(this.namespace,this.tag);return $h(r,this.attrs,{}),hi(r,this.childs,t),r}}function Uh(t,e){let r=null;for(let s in t){if(!Object.hasOwn(e,s)){r??={},r[s]=void 0;continue}let i=t[s],n=e[s];if(i===n)continue;if(ze(i)&&ze(n))if(Ah(n,i))r??={},r[s]=n;else{let h=Uh(i,n);if(h)r??={},r[s]=h}else r??={},r[s]=n}for(let s in e)if(!Object.hasOwn(t,s))r??={},r[s]=e[s];return r}function Lh(t,e,r,s){if(e===r||e.isEqualTo(r))return t;let i=e.nodeType;if(i===r.nodeType){if(i===3||i===8)return t.data=r.text,t;if(i===1&&e.tag===r.tag&&e.namespace===r.namespace&&e.key===r.key){let h=Uh(e.attrs,r.attrs);if(h)$h(t,h,e.attrs);if(!r.attrs.dangerouslySetInnerHTML)Ih(t,e.childs,r.childs,s);return t}if(i===11)return Ih(t,e.childs,r.childs,s),t}let n=r.toDom(s);return t.parentNode?.replaceChild(n,t),n}function Ih(t,e,r,s){if(e.length===0){hi(t,r,s);return}if(r.length===0){t.replaceChildren();return}let i=Array.from(t.childNodes),n=Object.create(null);for(let o=0;o<e.length;o++){let c=ii(e[o]);if(c!=null)n[c]=o}let h=new Uint8Array(e.length),u=0;for(let o=0;o<r.length;o++){let c=r[o],f=ii(c),_=-1;if(f!=null){if(f in n&&!h[n[f]])_=n[f]}else while(u<e.length){if(!h[u]&&ii(e[u])==null){_=u++;break}u++}if(_>=0){h[_]=1;let a=Lh(i[_],e[_],c,s),l=t.childNodes[o]??null;if(a!==l)t.insertBefore(a,l)}else{let a=t.childNodes[o]??null;t.insertBefore(c.toDom(s),a)}}for(let o=e.length-1;o>=0;o--)if(!h[o]&&i[o].parentNode===t)t.removeChild(i[o])}var fr=new WeakMap;function Dh(t,e,r){let s=fr.get(e),i=t instanceof Mt;if(s&&s.vnode instanceof Mt===i){let h=i?e:s.dom,u=Lh(h,s.vnode,t,r);return fr.set(e,{vnode:t,dom:i?e:u}),u}fr.delete(e);let n=t.toDom(r);return e.replaceChildren(n),fr.set(e,{vnode:t,dom:i?e:n}),n}function Wh(t,e,r){let s=t.toUpperCase(),i={},n,h;if(e)for(let o in e){let c=e[o];switch(o){case"key":n=c;break;case"namespace":h=c;break;case"class":i.className=c;break;case"for":i.htmlFor=c;break;default:i[o]=ni(o)?String(c):c}}let u=[];return ui(u,r),new ar(s,i,u,n,h)}var{raw:of,raw:cf}=String;function ff(t,e){return new Lr(t,e)}var Zo=(t)=>typeof t==="string"?document.querySelector(t):t;function _f(t){let e=Zo(t),r=new Xe,s=(o)=>new Mt(o),i=(o)=>new _r(o),n={document},h=(o,c)=>Dh(o,c,n),u=new si(r,Wh,s,i,h);return new ts(e,h,r,u,V)}async function Of(t,e,r="margaui-css"){let s=performance.now(),i=await Xo(t,e),n=performance.now();return He(r,i),n-s}async function Xo(t,e,r,s=$t){t.ParseContext=s,t.compile();let i=new Set(r??[]);for(let n of t.comps.byId.values())for(let h in n.views){let u=n.views[h];for(let o of u.ctx.classes)i.add(o)}return await e(Array.from(i))}var Go="RENDER_IT_OUTSIDE_OF_LOOP",Ho="UNKNOWN_EVENT_MODIFIER",Qo="UNKNOWN_HANDLER_ARG_NAME",Yo="INPUT_HANDLER_NOT_IMPLEMENTED",Bo="INPUT_HANDLER_METHOD_NOT_IMPLEMENTED",Po="INPUT_HANDLER_FOR_INPUT_HANDLER_METHOD",Co="INPUT_HANDLER_METHOD_FOR_INPUT_HANDLER",xo="FIELD_VAL_NOT_DEFINED",Fo="COMPUTED_VAL_NOT_DEFINED",ko="UNKNOWN_REQUEST_NAME",Vo="UNKNOWN_COMPONENT_NAME",No="warn",Rh="error",mo="hint";function Af(t,e=new Th){hc(e,t),uc(e,t);for(let r in t.views)vo(e,t.views[r],t);return e}function vo(t,e,r){tc(t,e),rc(t,e),nc(t,e,r)}function tc(t,e){let{nodes:r}=e.ctx;for(let s=0;s<r.length;s++){let i=r[s];if(i instanceof We){let n=r[s+1];if(!(n instanceof Te||n instanceof Vt))t.error(Go,{node:i})}}}var ec={};function rc(t,e){for(let r of e.ctx.events)for(let s of r.handlers){let{name:i,modifiers:n}=s,h=Jr[i]??ec;for(let u of n)if(h[u]===void 0)t.warn(Ho,{name:i,modifier:u,handler:s,event:r})}}var sc=new Set(["value","valueAsInt","valueAsFloat","target","event","isAlt","isShift","isCtrl","isCmd","key","keyCode","isUpKey","isDownKey","isSend","isCancel","isTabKey","ctx","dragInfo"]);function ic(t){return sc.has(t)}function nc(t,e,r){let{computed:s,scope:i,Class:n}=r,{prototype:h}=n,{fields:u}=n.getMetaClass();for(let o of e.ctx.events)for(let c of o.handlers){let{args:f}=c.handlerCall;for(let _=0;_<f.length;_++){let a=f[_];bt(t,a,u,h,s,i)}}}function hc(t,e){let{input:r,views:s,Class:i}=e,{prototype:n}=i;for(let h in s){let u=s[h];for(let o of u.ctx.events)for(let c of o.handlers){let{handlerVal:f}=c.handlerCall;if(f instanceof be){if(r[f.name]===void 0){if(t.warn(Yo,{name:f.name,handler:c,event:o}),n[f.name]!==void 0)t.hint(Co,{name:f.name,handler:c,event:o})}}else if(f instanceof Bt){if(n[f.name]===void 0){if(t.warn(Bo,{name:f.name,handler:c,event:o}),r[f.name]!==void 0)t.hint(Po,{name:f.name,handler:c,event:o})}}}}}function bt(t,e,r,s,i,n){if(e instanceof je||e instanceof Bt){let{name:h}=e;if(r[h]===void 0&&s[h]===void 0)t.error(xo,{val:e,name:h})}else if(e instanceof Ie){let{name:h}=e;if(i[h]===void 0)t.error(Fo,{val:e,name:h})}else if(e instanceof Ae)bt(t,e.seqVal,r,s,i,n),bt(t,e.keyVal,r,s,i,n);else if(e instanceof Ee){if(n.lookupRequest(e.name)===null)t.warn(ko,{name:e.name})}else if(e instanceof qe){if(n.lookupComponent(e.name)===null)t.warn(Vo,{name:e.name})}else if(e instanceof k&&!ic(e.name))t.warn(Qo,{name:e.name});else if(!(e instanceof L))console.log(e)}function uc(t,e){let{computed:r,scope:s,views:i,Class:n}=e,{prototype:h}=n,{fields:u}=n.getMetaClass();for(let o in i){let c=i[o];for(let f of c.ctx.attrs){let{attrs:_,wrapperAttrs:a,textChild:l}=f;if(_ instanceof Ke){for(let y of _.items)if(y instanceof jt)bt(t,y.val,u,h,r,s)}if(a!==null)for(let{val:y}of a)bt(t,y,u,h,r,s);if(l)bt(t,l,u,h,r,s)}for(let f of c.ctx.nodes)if(f.val)bt(t,f.val,u,h,r,s)}}class Th{constructor(){this.reports=[]}error(t,e){this.report(t,e,Rh)}warn(t,e){this.report(t,e,No)}hint(t,e){this.report(t,e,mo)}report(t,e={},r=Rh){this.reports.push({id:t,info:e,level:r})}}class oc extends V{constructor(t,e,r){super(t,e,r);this.attrs=[]}onAttributes(t,e,r){this.attrs.push({attrs:t,wrapperAttrs:e,textChild:r})}}class Jh extends $t{constructor(...t){super(...t);this.attrs=[]}enterMacro(t,e,r){let{DOMParser:s,Text:i,Comment:n,nodes:h,events:u,macroNodes:o}=this,f=new Jh(s,i,n,h,u,o,{macroName:t,macroVars:e,macroSlots:r},this);return f.classes=this.classes,f.attrs=this.attrs,f}onAttributes(t,e,r){super.onAttributes(t,e,r),this.attrs.push({attrs:t,wrapperAttrs:e,textChild:r})}}export{Yc as version,Xt as updateIn,Vn as update,_f as tutuca,Cu as setIn,Bu as set,cr as seqInfoByClass,Pu as removeIn,Yu as remove,Jc as mergeWith,Xc as mergeDeepWith,Zc as mergeDeep,Tc as merge,ff as macro,ki as isValueObject,zs as isStack,ws as isSet,ps as isSeq,gt as isRecord,Ln as isPlainObject,In as isOrderedSet,Ss as isOrderedMap,x as isOrdered,Ss as isOMap,er as isMap,jn as isList,w as isKeyed,j as isIndexed,P as isImmutable,er as isIMap,Z as isCollection,ds as isAssociative,I as is,He as injectCss,cf as html,Q as hash,Rn as hasIn,Mu as has,Ms as getIn,Wn as get,Qc as fromJS,or as fieldsByClass,of as css,qo as component,Xo as compileClassesToStyleText,Of as compileClassesToStyle,vo as checkView,Af as checkComponent,ko as UNKNOWN_REQUEST_NAME,Qo as UNKNOWN_HANDLER_ARG_NAME,Ho as UNKNOWN_EVENT_MODIFIER,Vo as UNKNOWN_COMPONENT_NAME,ie as Stack,M as Set,v as Seq,Hc as Repeat,hr as Record,ys as Range,Go as RENDER_IT_OUTSIDE_OF_LOOP,V as ParseContext,Gc as PairSorting,N as OrderedSet,D as OrderedMap,D as OMap,R as Map,U as List,oc as LintParseContext,Th as LintContext,Jh as LintClassCollectorCtx,No as LEVEL_WARN,mo as LEVEL_HINT,Rh as LEVEL_ERROR,Ot as KList,M as ISet,Yo as INPUT_HANDLER_NOT_IMPLEMENTED,Bo as INPUT_HANDLER_METHOD_NOT_IMPLEMENTED,Co as INPUT_HANDLER_METHOD_FOR_INPUT_HANDLER,Po as INPUT_HANDLER_FOR_INPUT_HANDLER_METHOD,R as IMap,xo as FIELD_VAL_NOT_DEFINED,m as Collection,Fo as COMPUTED_VAL_NOT_DEFINED};