tutuca 0.9.13 → 0.9.14
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.
- package/dist/tutuca-dev.js +10 -0
- package/dist/tutuca-dev.min.js +3 -3
- package/dist/tutuca-extra.js +10 -0
- package/dist/tutuca-extra.min.js +3 -3
- package/dist/tutuca.js +10 -0
- package/dist/tutuca.min.js +3 -3
- package/package.json +1 -1
package/dist/tutuca-extra.js
CHANGED
|
@@ -7415,6 +7415,16 @@ class Renderer {
|
|
|
7415
7415
|
return r;
|
|
7416
7416
|
}
|
|
7417
7417
|
renderView(view, stack) {
|
|
7418
|
+
if (stack.binds.tail !== null) {
|
|
7419
|
+
for (const binds of stack.binds.tail) {
|
|
7420
|
+
if (!binds.isFrame)
|
|
7421
|
+
continue;
|
|
7422
|
+
if (stack.it !== binds.it)
|
|
7423
|
+
break;
|
|
7424
|
+
console.error("recursion detected", stack.it, binds.it);
|
|
7425
|
+
return this.renderComment("RECURSION AVOIDED");
|
|
7426
|
+
}
|
|
7427
|
+
}
|
|
7418
7428
|
return view.render(stack, this);
|
|
7419
7429
|
}
|
|
7420
7430
|
renderText(text) {
|
package/dist/tutuca-extra.min.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
class Ht{lookup(t,e=null){return e}setValue(t,e){return t}updateBindings(t,e){}isFrame=!0}class bt extends Ht{constructor(t){super();this.binds=t}lookup(t,e){return t}setValue(t,e){return e}withIndex(t){return new bt({...this.binds,key:t})}withKey(t){return new bt({...this.binds,key:t})}updateBindings(t,e){Object.assign(e,this.binds)}isFrame=!1}class de extends Ht{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 sr(this.field,t)}withKey(t){return new rr(this.field,t)}}class er extends Ht{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 rr extends er{}class sr extends er{}var R=Symbol("NONE");class ir extends Ht{constructor(t,e){super();this.seqField=t,this.keyField=e}lookup(t,e=null){let r=t?.get(this.seqField,R),s=t?.get(this.keyField,R);return s!==R&&r?.get?r.get(s,e):e}setValue(t,e){let r=t?.get(this.seqField,R),s=t?.get(this.keyField,R);return r===R||s===R?t:t.set(this.seqField,r.set(s,e))}updateBindings(t,e){e.key=t?.get(this.keyField,null)}}class tt{constructor(t=[]){this.steps=t}concat(t){return new tt(this.steps.concat(t))}popStep(){return new tt(this.steps.slice(0,-1))}lookup(t,e=null){let r=t;for(let s of this.steps)if(r=s.lookup(r,R),r===R)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,R),s===R)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,R),r===R)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:l,si:a,sk:y}=vs(t.previousSibling),{eid:g,cid:S,vid:T}=t.dataset;if(g!==void 0)o.push(g);if(S!==void 0){let v=i.getComponentForId(+S,T);if(_){if(c=Dh(v,o,T,e),c===null&&n)return Th;_=!1}let ms=Wh(v,f,T);if(ms)h.push(ms);o=[],f=[]}if(l!==void 0)f.push({nid:l,si:a,sk:y})}u+=1,t=t.parentNode}return[new tt(h.reverse()),c]}static fromEvent(t,e,r,s,i=!0){let{type:n,target:h}=t;return tt.fromNodeAndEventName(h,n,e,r,s,i)}}var Ns={};function vs(t){if(t?.nodeType===8&&t.textContent[0]==="§"){let e=vs(t.previousSibling);if(e!==Ns)return e;try{return JSON.parse(t.textContent.slice(1,-1))}catch(r){console.warn(r,t)}}return Ns}function Dh(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 Wh(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 Th=[null,null];class nr{constructor(){this.pathChanges=[]}add(t){return this.pathChanges.push(t),this}field(t){return this.add(new de(t))}index(t,e){return this.add(new sr(t,e))}key(t,e){return this.add(new rr(t,e))}}var Rh=/^[a-zA-Z][a-zA-Z0-9_]*$/,ht=(t)=>Rh.test(t),Jh=/^-?[0-9]+(\.[0-9]+)?$/,ti=(t,e)=>ur.parse(t,e),Xt=(t,e)=>new H(t),Zh=(t,e)=>ht(t)?new ut(t):null,Hh=(t,e)=>ht(t)?new ni(t):null,Xh=(t,e)=>ht(t)?new cr(t):null,Gh=(t,e)=>ht(t)?new oi(t):null,Qh=(t,e)=>ht(t)?new ci(t):null,Ch=(t,e)=>ht(t)?new fi(t):null,Yh=(t,e)=>ht(t)?new hi(t):null;class ei{constructor(){this.allowFieldOnly(),this.bindValIt=new cr("it"),this.nullConstVal=new H(null)}const(t){return new H(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 _i(s,i):null}parse(t,e){switch(Bh(t)){case li:return this.okStrTpl?ti(t,e):null;case yi:return this.okStrTpl?Xt(t,e):null;case ai:return this._parseSeqAccess(t,e);case pe:return this.okStrTpl?ti(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?Xt(t.slice(1),e):null;case 39:return this.okStrTpl?Xt(t.slice(1,-1),e):null;case 64:return this.okBind?Xh(t.slice(1),e):null;case 42:return this.okDyn?Gh(t.slice(1),e):null;case 46:return this.okField?Qh(t.slice(1),e):null;case 36:return this.okComputed?Ch(t.slice(1),e):null;case 33:return this.okRequest?Yh(t.slice(1),e):null}let s=Jh.test(t)?parseFloat(t):null;if(Number.isFinite(s))return this.okConst?Xt(s,e):null;else if(t==="true"||t==="false")return this.okConst?Xt(t==="true",e):null;else if(r>=97&&r<=122)return this.okName?Zh(t,e):null;else if(r>=65&&r<=90)return this.okType?Hh(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,ri)}parseAlter(t,e){return this._parseHandler(t,e,si)}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 ge{render(t,e){}eval(t){}toPathItem(){return null}}class H extends ge{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 hr extends ge{}class ur extends hr{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)==="}"?p.parseText(h.slice(1,-1),e):new H(h);s[n]=o,i&&=o instanceof H}return i?new H(s.map((n)=>n.val).join("")):new ur(s)}}class ut extends hr{constructor(t){super();this.name=t}eval(t){return t.lookupName(this.name)}toString(){return this.name}}class ri extends ut{eval(t){return t.getHandlerFor(this.name,"input")??ii("input",this.name)}}class si extends ut{eval(t){return t.getHandlerFor(this.name,"alter")??ii("alter",this.name)}}var ii=(t,e)=>function(...r){return console.warn("handler not found",{type:t,name:e,args:r},this),this};class ni extends ut{eval(t){return t.lookupType(this.name)}}class hi extends ut{eval(t){return t.lookupRequest(this.name)}toString(){return`!${this.name}`}}class ui extends ut{eval(t){return t.lookupFieldRaw(this.name)}toString(){return`.${this.name}`}}class or extends ge{render(t,e){return this.eval(t)}}class Gt extends or{constructor(t){super();this.name=t}}class cr extends Gt{eval(t){return t.lookupBind(this.name)}toString(){return`@${this.name}`}}class oi extends Gt{eval(t){return t.lookupDynamic(this.name)}toPathItem(){return null}toString(){return`*${this.name}`}}class ci extends Gt{eval(t){return t.lookupField(this.name)}toPathItem(){return new de(this.name)}toRawFieldVal(){return new ui(this.name)}toString(){return`.${this.name}`}}class fi extends Gt{eval(t){return t.lookupComputed(this.name)}toString(){return`$${this.name}`}}class _i extends or{constructor(t,e){super();this.seqVal=t,this.keyVal=e}toPathItem(){return new ir(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 li=0,ai=1,pe=2,yi=3;function Bh(t){let e=0,r=0;for(let s=0;s<t.length;s++)switch(t.charCodeAt(s)){case 91:if(e>0)return pe;e+=1;break;case 93:if(r>0||e===0)return pe;r+=1;break;case 123:return li;case 125:return yi}if(e>0||r>0)return e===1&&r===1?ai:pe;return-1}var p=new ei;class qt{constructor(t){this.items=t}eval(t){return{}}static parse(t,e,r=!1){return ar(e).parse(t,r)}isConstant(){return!1}}var xh="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",Ph=new Set(xh.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?p.parseAll(e,this.px):p.parseAttr(e,this.px);if(s!==null)this.attrs??=[],this.attrs.push(new ze(t,s)),this.hasDynamic||=!(s instanceof H)}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=p.parseCondValue(e,this.px);if(r)this.ifAttr=new wi(t.slice(3),r),this.attrs??=[],this.attrs.push(this.ifAttr),this.hasDynamic=!0}parseThen(t){if(this.ifAttr)this.ifAttr.thenVal=p.parseAttr(t,this.px)??Qt}parseElse(t){if(this.ifAttr)this.ifAttr.elseVal=p.parseAttr(t,this.px)??Qt}parseEvent(t,e){let[r,...s]=t.slice(3).split("+"),i=yr.parse(e,this.px);if(i){if(this.events===null)this.events=this.px.registerEvents(),this.attrs??=[],this.attrs.push(new we("data-eid",p.const(this.events.id)));this.events.add(r,i,s)}}parseDirective(t,e){switch(e){case"dangerouslysetinnerhtml":this.attrs??=[],this.attrs.push(new gi(p.parseText(t,this.px))),this.hasDynamic=!0;return;case"slot":this.pushWrapper("slot",t,p.const(t));return;case"push-view":this.pushWrapper("push-view",t,p.parseText(t,this.px));return;case"text":this.textChild=p.parseText(t,this.px);return;case"show":this.pushWrapper("show",t,p.parseCondValue(t,this.px));return;case"hide":this.pushWrapper("hide",t,p.parseCondValue(t,this.px));return;case"each":this.eachAttr=this.pushWrapper("each",t,p.parseEach(t,this.px));return;case"enrich-with":if(this.eachAttr!==null)this.eachAttr.enrichWithVal=p.parseAlter(t,this.px);else this.pushWrapper("scope",t,p.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=p.parseAlter(t,this.px)}_parseLoopWith(t){if(this.eachAttr!==null)this.eachAttr.loopWithVal=p.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===""&&Ph.has(n)?!0:h;this.attrs.push(new we(n,p.const(o)))}}let{attrs:r,hasDynamic:s}=this;return[s?new pi(r):_r.fromAttrs(r??[]),this.wrapperAttrs,this.textChild]}}class _r extends qt{eval(t){return this.items}static fromAttrs(t){let e={};for(let r of t)e[r.name]=r.val.eval(null);return new _r(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 pi extends qt{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 we(t,new H(e)))}toMacroVars(){let t={};for(let e of this.items)t[e.name]=e.val.toString();return t}}class lr{constructor(t){this.name=t}}class ze extends lr{constructor(t,e){super(t);this.val=e}eval(t){return this.val.eval(t)}}class we extends ze{}class gi extends ze{constructor(t){super("dangerouslySetInnerHTML",t??p.nullConstVal)}eval(t){return{__html:`${this.val.eval(t)}`}}}var Qt=p.nullConstVal;class wi extends lr{constructor(t,e){super(t);this.condVal=e,this.thenVal=this.elseVal=Qt}get anyBranchIsSet(){return this.thenVal!==Qt||this.elseVal!==Qt}eval(t){return this.condVal.eval(t)?this.thenVal.eval(t):this.elseVal.eval(t)}}var fr=null;function ar(t){return fr??=new di(t),fr.clear(t),fr}class yr{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=p.parseHandlerName(r,e);if(i===null)return null;let n=Array(s.length);p.allowHandlerArg();for(let h=0;h<s.length;h++){let u=p.parse(s[h],e);n[h]=u!==null?u:p.nullConstVal}return new yr(i,n)}}class dr{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 Et{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 Bt extends Et{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 Yt extends Bt{render(t,e){return e.renderComment(this.val)}}function Fh(t){for(let e=0;e<t.length;e++){let r=t[e];if(r.isConstant())t[e]=new Mr(r);else r.optimize()}}function wr(t){if(t.isConstant())return new Mr(t);return t.optimize(),t}class zr extends Et{constructor(t){super();this.childs=t}isConstant(){return this.childs.every((t)=>t.isConstant())}optimize(){Fh(this.childs)}}class Se extends zr{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 Oe extends zr{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 Ct=(t)=>t.length===1?t[0]:new Oe(t),kh=/^[a-zA-Z][a-zA-Z0-9-]*$/,zi=null;class et extends Et{constructor(t,e){super();this.nodeId=t,this.val=e}toPathItem(){return this.val.toPathItem()}static parse(t,e){zi??=e.newDOMParser();let r=zi.parseFromString(t,"text/html").body.childNodes;return et.fromDOM(r[0]??new e.Text(""),e)}static fromDOM(t,e){if(e.isTextNode(t))return new Bt(t.textContent);else if(e.isCommentNode(t))return new Yt(t.textContent);let{childNodes:r,attributes:s,tagName:i}=t,n=Array(r.length);for(let h=0;h<r.length;h++)n[h]=et.fromDOM(r[h],e);if(i==="X"){if(s.length===0)return Ct(n);let{name:h,value:u}=s[0],o=s.getNamedItem("as")?.value??null;switch(h){case"slot":return new be(null,p.const(u),Ct(n));case"text":{let c=p.parseText(u,e);return c!==null?new gr(null,c):null}case"render":return e.addNodeIf(Ii,p.parseRender(u,e),o);case"render-it":return e.addNodeIf(Ai,p.bindValIt,o);case"render-each":return Or.parse(e,p,u,o,s);case"show":return e.addNodeIf(br,p.parseCondValue(u,e),Ct(n));case"hide":return e.addNodeIf(qr,p.parseCondValue(u,e),Ct(n))}return new Yt(`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]??Ct(n)}let[u,o]=qt.parse(s,e,!0);return e.onAttributes(u,o,null),Si(e.newMacroNode(h,u.toMacroVars(),n),e,o)}else if(kh.test(i)){let[h,u,o]=qt.parse(s,e);if(e.onAttributes(h,u,o),o)n.unshift(new gr(null,o));let c=i!=="PRE"?tu(n):n;return Si(new Se(i.toLowerCase(),h,c),e,u)}return new Yt(`Error: InvalidTagName ${i}`)}}function Si(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=vh[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 Ei extends Et{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 Yt(`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 Sr{constructor(t,e){this.defaults=t,this.rawView=e}expand(t){return et.parse(this.rawView,t)}}class Me extends et{constructor(t,e,r){super(t,e);this.viewId=r}}class Ii extends Me{render(t,e){let r=t.enter(this.val.eval(t),{},!0);return e.renderIt(r,this.nodeId,"",this.viewId)}}class Ai extends Me{render(t,e){let r=t.enter(t.it,{},!0);return e.renderIt(r,this.nodeId,"",this.viewId)}pathInNext=!0}class Or extends Me{constructor(t,e,r){super(t,e,r);this.iterInfo=new Er(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(Or,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 gr extends et{render(t,e){return e.renderText(this.val.eval(t))}}class Mr extends Et{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 ot extends et{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 br extends ot{render(t,e){return this.val.eval(t)?this.node.render(t,e):e.renderEmpty()}}class qr extends ot{render(t,e){return this.val.eval(t)?e.renderEmpty():this.node.render(t,e)}}class ji extends ot{render(t,e){return this.node.render(t.pushViewName(this.val.eval(t)),e)}}class be extends ot{optimize(){this.node.optimize()}}class $i extends ot{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 bt({})}wrapNode(t){this.node=t,this.node.setDataAttr("data-nid",this.nodeId)}static register=!0}class Ki extends ot{constructor(t,e){super(t,e);this.iterInfo=new Er(e,null,null,null)}render(t,e){return e.renderEachWhen(t,this.iterInfo,this.node,this.nodeId)}toPathItem(){return new bt({})}static register=!0}class Er{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)??mh,s=this.loopWithVal?.eval(t)??Nh,i=this.enrichWithVal?.eval(t)??null;return{seq:e,filter:r,loopWith:s,enricher:i}}}var mh=(t,e,r)=>!0,Nh=(t)=>({seq:t}),vh={slot:be,show:br,hide:qr,each:Ki,scope:$i,"push-view":ji};class ct{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 ct(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 Ui(t);return this.events.push(e),e}newMacroNode(t,e,r){let s=[],i={_:new Oe(s)};for(let h of r)if(h instanceof be)i[h.val.val]=h.node;else if(!(h instanceof Bt)||!h.isWhiteSpace())s.push(h);let n=new Ei(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 pr=(t)=>t instanceof Bt&&t.isWhiteSpace(),Oi=(t)=>t instanceof Se||t instanceof Oe&&t.childs[0]instanceof Se;function tu(t){let e=t.length;if(e===0)return t;let r=0,s=!1;if(pr(t[0]))r=1,s=!0;if(e>1&&pr(t[e-1]))e-=1,s=!0;for(let i=1;i<e-1;i++){let n=t[i];if(pr(n)&&Oi(t[i-1])&&Oi(t[i+1])&&n.hasNewLine())n.condenseWhiteSpace()}return s?t.slice(r,e):t}class qe{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=et.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 Ui{constructor(t){this.id=t,this.handlers=[]}add(t,e,r){this.handlers.push(new Li(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 Li{constructor(t,e,r){this.name=t,this.handlerCall=e,this.modifierWrapper=hu(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 eu=(globalThis.navigator?.userAgent??"").toLowerCase().includes("mac"),Ee=(t)=>(e)=>(r,s,i,n)=>t(n)?e(r,s,i,n):r,Mi=(t)=>Ee((e)=>e.e.key===t),bi=Ee(({e:t})=>eu&&t.metaKey||t.ctrlKey),ru=Ee(({e:t})=>t.metaKey),su=Ee(({e:t})=>t.altKey),qi={ctrl:bi,cmd:bi,meta:ru,alt:su},iu={keydown:{send:Mi("Enter"),cancel:Mi("Escape"),...qi},click:{...qi}},nu=(t,e)=>t;function hu(t,e){if(e.length===0)return nu;let r=iu[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 Ir{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 Ar{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 jr{getKey(t,e,r){return r.call(t)}}class $r{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 Ie{constructor(){this.getComponentSymbol=Symbol("getComponent"),this.byId=new Map,this.computedCache=new $r}setNullComputedCache(){this.computedCache=new jr}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:Wi}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 Ae{constructor(t=new Ie,e=null){this.comps=t,this.parent=e,this.byName={},this.reqsByName={},this.macros={}}enter(){return new Ae(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 dr(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
|
|
3
|
-
`)}}function Wi(t){return t}var Ti=Symbol("STOP"),Wr=Symbol("NEXT");class xt{constructor(t,e){this.head=t,this.tail=e}push(t){return new xt(t,this)}lookup(t,e=null){let{tail:r}=this,s=this.head.lookup(t);return s===Ti?e:s===Wr?r!==null?r.lookup(t,e):e:s}*[Symbol.iterator](){let t=this;while(t!==null)yield t.head,t=t.tail}}class Lr{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:Wr:e}}class Dr{constructor(t){this.bindings=t}lookup(t){let e=this.bindings[t];return e===void 0?Wr:e}}class G{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 G(t,e.tail.head.it,e.tail,r,s,i)}static root(t,e,r){let s=new xt(new Lr(e,{it:e},!0),null),i=new xt(new Dr({}),null),n=new xt("main",null);return new G(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 Lr(t,e,r));return new G(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 G(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 Dr(e));return new G(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 Ji{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 Rr{constructor(t,e){this.comps=t,this.transactions=[],this.state=new Ji(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 Hr(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 Xi(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)??ou(e),o=s?.onResName??e,c=(f,_,l,a,y)=>{let S=new Hi(t,this,f??_,f?[l]:[a,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 Zi(t,e,r,this,s))}}function ou(t){return()=>{throw Error(`Request not found: ${t}`)}}function cu(){return this}class Jr{constructor(t,e,r=null){this.path=t,this.transactor=e,this.parentTransaction=r,this._task=null}get task(){return this._task??=new Gi,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 G.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 fu=(globalThis.navigator?.userAgent??"").toLowerCase().includes("mac"),Ri=(t)=>Number.isNaN(t)?null:t;function Tr(t){return t.target.type==="checkbox"?t.target.checked:(t instanceof CustomEvent?t.detail:t.target.value)??null}class Zi extends Jr{constructor(t,e,r,s,i){super(t,s);this.e=e,this.handler=r,this.dragInfo=i}buildRootStack(t,e){return G.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 Xr(this.path,this.transactor,this),n[u]=n[u].toHandlerArg(h);return[i,n]}lookupName(t){let{e}=this;switch(t){case"value":return Tr(e);case"valueAsInt":return Ri(parseInt(Tr(e),10));case"valueAsFloat":return Ri(parseFloat(Tr(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 fu&&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 Gr(this.path,this.transactor,this);case"dragInfo":return this.dragInfo}return null}}class Zr extends Jr{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]??cu}getHandlerAndArgs(t,e,r){return[this.getHandlerForName(r.getCompFor(e)),[...this.args,new Gr(this.path,this.transactor,this)]]}}class Hi extends Zr{handlerProp="response"}class Hr extends Zr{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 Xi extends Hr{handlerProp="bubble";stopPropagation(){this.opts.bubbles=!1}}class Gi{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 Xr{constructor(t,e,r=null){this.path=t,this.transactor=e,this.parent=r}get at(){return new Qi(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 Gr extends Xr{stopPropagation(){return this.parent.stopPropagation()}}class Qi extends nr{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 Qr{constructor(t,e,r,s,i){this.rootNode=t,this.comps=r,this.compStack=new Ae(r),this.transactor=new Rr(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]=tt.fromEvent(t,i,n,h,u);if(r){let f=_u(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),l=t.target.dataset.dragtype??"?",a=o.buildStack(this.makeStack(f));this.dragInfo=new Ci(o,a,t,_,l,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 G.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()}),je("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 tt([]),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 je(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 _u(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 Ci{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 $e extends ct{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 $e(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 H&&e.val!=="")this._addClasses(e.val);return!0}return!1}}function Pt(t,e){if(!t)throw Error(e)}function j(t){Pt(t!==1/0,"Cannot perform this action with an infinite size.")}function Yi(t,e,r,s,i,n){return j(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 lu=(t,e)=>e,au=(t,e)=>[e,t],Cr=(t)=>function(...e){return!t.apply(this,e)},Bi=(t)=>function(...e){return-t.apply(this,e)};function ln(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 xi=(t,e)=>t<e?1:t>e?-1:0,$={done:!0,value:void 0};class an{constructor(t){this.next=t}[Symbol.iterator](){return this}}function D(t){return new an(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 $})}var yu=D(()=>$),ft=()=>yu;function Xe(t){let e=0,r={done:!1,value:void 0};return D(()=>{if(e===t)return $;return r.value=e++,r})}function re(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 ss(t){if(Array.isArray(t))return!0;return!!Ge(t)}var du=(t)=>typeof t?.next==="function";function yn(t){return Ge(t)?.call(t)}function Ge(t){let e=t?.[Symbol.iterator];if(typeof e==="function")return e}function pu(t){let e=Ge(t);return e&&e===t.entries}function gu(t){let e=Ge(t);return e&&e===t.keys}var se="delete",z=5,E=1<<z,K=E-1,d={},mr=()=>({value:!1});function X(t){if(t)t.value=!0}class Qe{}function $t(t){if(t.size===void 0)t.size=t.__iterate(dn);return t.size}function st(t,e){if(typeof e!=="number"){let r=e>>>0;if(String(r)!==e||r===4294967295)return NaN;e=r}return e<0?$t(t)+e:e}var dn=()=>!0,pn=(t)=>t<0||Object.is(t,-0),ie=(t,e,r)=>(t===0&&!pn(t)||r!==void 0&&(t??0)<=-r)&&(e===void 0||r!==void 0&&e>=r),gn=(t,e,r)=>t===void 0?r:pn(t)?e===1/0?e:Math.max(0,e+t)|0:e===void 0||e===t?t:Math.min(e,t)|0,Dt=(t,e)=>gn(t,e,0),ne=(t,e)=>gn(t,e,e),wn="@@__IMMUTABLE_ITERABLE__@@",We="@@__IMMUTABLE_KEYED__@@",Te="@@__IMMUTABLE_INDEXED__@@",it="@@__IMMUTABLE_ORDERED__@@",he="@@__IMMUTABLE_SEQ__@@",zn="@@__IMMUTABLE_LIST__@@",Sn="@@__IMMUTABLE_MAP__@@",On="@@__IMMUTABLE_SET__@@",Mn="@@__IMMUTABLE_STACK__@@",bn="@@__IMMUTABLE_RECORD__@@";function F(t,e){return typeof t==="object"&&t!==null&&e in t}var J=(t)=>F(t,wn),w=(t)=>F(t,We),I=(t)=>F(t,Te),is=(t)=>w(t)||I(t),P=(t)=>F(t,it),ns=(t)=>F(t,he),qn=(t)=>F(t,zn),Ce=(t)=>F(t,Sn),hs=(t)=>F(t,On),us=(t)=>F(t,Mn),dt=(t)=>F(t,bn),B=(t)=>J(t)||dt(t),os=(t)=>Ce(t)&&P(t),En=(t)=>hs(t)&&P(t),Pi=(t)=>typeof t==="object"&&t!==null&&typeof t.equals==="function"&&typeof t.hashCode==="function";function In(t){let e=x(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=Tt,e.__iterate=function(r,s){return t.__iterate((i,n)=>r(n,i,this),s)},e.__iteratorUncached=(r)=>re(t.__iterator(r),(s,i,n)=>{n[0]=i,n[1]=s}),e}function An(t,e,r){let s=x(t);return s.size=t.size,s.has=(i)=>t.has(i),s.get=(i,n)=>{let h=t.get(i,d);return h===d?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)=>re(t.__iterator(i),(n,h,u)=>{u[0]=n,u[1]=e.call(r,h,n,t)}),s}function jn(t,e){let r=x(t);if(r._iter=t,r.size=t.size,r.reverse=()=>t,t.flip)r.flip=function(){let s=In(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=Tt,r.__iterate=function(s,i){let n=0;if(i)$t(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)$t(t);let n=this.size;return re(t.__iterator(!s),(h,u,o)=>{o[0]=e?h:s?n-++i:i++,o[1]=u})},r}function $n(t,e,r,s){let i=t.size;if(ie(e,r,i))return t;if(i===void 0&&(e<0||r<0))return $n(t.toSeq().cacheResult(),e,r,s);let n=Dt(e,i),u=ne(r,i)-n,o;if(!Number.isNaN(u))o=Math.max(0,u);let c=x(t);if(c.size=o===0?o:t.size&&o||void 0,!s&&ns(t)&&o>=0)c.get=function(f,_){return f=st(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 l=0,a=0;return t.__iterate((y,g)=>{if(l<n){l++;return}if(o!==void 0&&a>=o)return!1;if(a++,f(y,s?g:a-1,this)===!1)return!1},_),a},c.__iteratorUncached=function(f){if(o!==0&&f)return this.cacheResult().__iterator(f);if(o===0)return ft();let _=t.__iterator(f),l=0,a=0;if(s)return D(()=>{while(l<n)l++,_.next();if(o!==void 0&&a>=o)return $;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 g=_.next();if(g.done)return!1;return a++,y[0]=a-1,y[1]=g.value[1],!0})},c}function jt(t,e,r){if(!e)e=ln;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?ys(n):I(t)?yt(n):kt(n)}function Ke(t,e,r){if(!e)e=ln;if(r)return t.toSeq().map((i,n)=>[i,r(i,n,t)]).reduce((i,n)=>Fi(e,i[1],n[1])?n:i)?.[0];return t.reduce((s,i)=>Fi(e,s,i)?i:s)}function Fi(t,e,r){let s=t(r,e);return s===0&&r!==e&&(r===void 0||r===null||Number.isNaN(r))||s>0}function Yr(t,e,r,s){let i=x(t),n=new ue(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 l=V(_);return yn(h?l.reverse():l)}),o=0,c=Array(u.length),f=Array(u.length);return q((_)=>{let l=s;for(let a=0;a<u.length;a++)c[a]=u[a].next(),l=s?l&&c[a].done:l||c[a].done;if(l)return!1;for(let a=0;a<c.length;a++)f[a]=c[a].value;return _[0]=o++,_[1]=e(...f),!0})},i}function cs(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 Kn(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 nt=(t)=>typeof t==="object"&&(B(t)||Array.isArray(t)||Kn(t));function Un(t){if(cs(t)&&typeof t!=="string")return t;if(P(t))return t.toArray();throw TypeError(`Invalid keyPath: expected Ordered Collection or Array: ${t}`)}var wu=(t,e)=>B(t)?t.has(e):nt(t)&&Object.hasOwn(t,e);function Ln(t,e,r){return B(t)?t.get(e,r):!wu(t,e)?r:typeof t.get==="function"?t.get(e):t[e]}function fs(t,e,r){let s=Un(e),i=0;while(i!==s.length)if(t=Ln(t,s[i++],d),t===d)return r;return t}var Dn=(t,e)=>fs(t,e,d)!==d;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!!(Pi(t)&&Pi(e)&&t.equals(e))}function Re(t){if(!t||typeof t!=="object")return t;if(!J(t)){if(!nt(t))return t;t=m(t)}if(w(t)){let r={};return t.__iterate((s,i)=>{r[String(i)]=Re(s)}),r}let e=[];return t.__iterate((r)=>{e.push(Re(r))}),e}function _s(t,e){if(t===e)return!0;if(!J(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)||I(t)!==I(e)||P(t)!==P(e))return!1;if(t.size===0&&e.size===0)return!0;let r=!is(t);if(P(t)){let h=t.entries();return!!(e.every((u,o)=>{let c=h.next().value;return c&&A(c[1],u)&&(r||A(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?!A(h,t.get(u,d)):!A(t.get(u,d),h))return i=!1,!1;return!0});return i&&t.size===n}var Ye=(t)=>t>>>1&1073741824|t&3221225471;function Q(t){if(t===null||t===void 0)return ki(t);if(typeof t.hashCode==="function")return Ye(t.hashCode(t));let e=bu(t);if(e===null||e===void 0)return ki(e);switch(typeof e){case"boolean":return e?1108378657:1108378656;case"number":return zu(e);case"string":return e.length>qu?Su(e):Nr(e);case"object":case"function":return Mu(e);case"symbol":return Ou(e);default:if(typeof e.toString==="function")return Nr(e.toString());throw Error(`Value type ${typeof e} cannot be hashed.`)}}var ki=(t)=>t===null?1108378658:1108378659;function zu(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 Ye(e)}function Su(t){let e=Pr[t];if(e===void 0){if(e=Nr(t),xr===Eu)xr=0,Pr={};xr++,Pr[t]=e}return e}function Nr(t){let e=0;for(let r=0;r<t.length;r++)e=31*e+t.charCodeAt(r)|0;return Ye(e)}function Ou(t){let e=mi[t];if(e!==void 0)return e;return e=Wn(),mi[t]=e,e}function Mu(t){let e=Vi.get(t);if(e!==void 0)return e;return e=Wn(),Vi.set(t,e),e}var bu=(t)=>t.valueOf!==Object.prototype.valueOf?t.valueOf():t;function Wn(){let t=++Br;if(Br&1073741824)Br=0;return t}var Vi=new WeakMap,mi=Object.create(null),Br=0,qu=16,Eu=255,xr=0,Pr={};function Iu(t){if(t.size===1/0)return 0;let e=P(t),r=w(t),s=e?1:0;return t.__iterate(r?e?(i,n)=>{s=31*s+Ni(Q(i),Q(n))|0}:(i,n)=>{s=s+Ni(Q(i),Q(n))|0}:e?(i)=>{s=31*s+Q(i)|0}:(i)=>{s=s+Q(i)|0}),Au(t.size,s)}var Ni=(t,e)=>t^e+2654435769+(t<<6)+(t>>2)|0;function Au(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=Ye(e^e>>>16),e}function Ft(t){try{return typeof t==="string"?JSON.stringify(t):String(t)}catch{return JSON.stringify(t)}}var O=(t,e)=>t===e?t:ns(t)?e:t.create?t.create(e):t.constructor(e),Tn=(t,e)=>O(t,(w(t)?C:I(t)?pt:gt)(e)),vi=(...t)=>t,V=(t)=>J(t)?t:m(t);class b{size=0;static{this.prototype[wn]=!0,this.prototype.__toStringMapper=Ft,this.prototype[Symbol.iterator]=this.prototype.values,this.prototype.toJSON=this.prototype.toArray,this.prototype.contains=this.prototype.includes}equals(t){return _s(this,t)}hashCode(){return this.__hash??(this.__hash=Iu(this))}toArray(){j(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 Xn(this)}toJS(){return Re(this)}toKeyedSeq(){return new zs(this,!0)}toMap(){throw Error("toMap: not patched — import CollectionConversions")}toObject(){j(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 Gn(this)}toSeq(){return I(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(!J(s))s=e?Jn(s):Zn(Array.isArray(s)?s:[s]);else if(e)s=C(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)||I(this)&&I(s))return s}return O(this,new Hn(r))}includes(t){return this.some((e)=>A(e,t))}every(t,e){j(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=x(r);if(s)i.has=(n)=>{let h=r.get(n,d);return h!==d&&!!t.call(e,h,n,r)},i.get=(n,h)=>{let u=r.get(n,d);return u!==d&&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)=>Tn(this,i))}find(t,e,r){let s=this.findEntry(t,e);return s?s[1]:r}forEach(t,e){return j(this.size),this.__iterate(e?t.bind(e):t)}join(t){j(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 $;return e.value=r.value[0],e})}map(t,e){return O(this,An(this,t,e))}reduce(t,e=d,r){return Yi(this,t,e,r,e===d,!1)}reduceRight(t,e=d,r){return Yi(this,t,e,r,e===d,!0)}reverse(){return O(this,jn(this,w(this)))}slice(t,e){return O(this,$n(this,t,e,w(this)))}some(t,e){j(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,jt(this,t))}values(){let t=this.__iterator(),e={done:!1,value:void 0};return D(()=>{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 $t(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 ue(t._cache);let e=t.toSeq().map(au).toIndexedSeq();return e.fromEntrySeq=()=>t.toSeq(),e}filterNot(t,e){return this.filter(Cr(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(dn,null,t)}flatMap(t,e){return O(this,this.toSeq().map((r,s)=>(w(this)?C:I(this)?pt:gt)(t.call(e,r,s,this))).flatten(!0))}flatten(t){let e=this,r=w(this),s=x(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((_,l)=>{if((!t||f<t)&&J(_))o(_,f+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],c=o.iterator.next();if(c.done){h.pop();continue}let f=c.value[1];if((!t||o.depth<t)&&J(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 Qn(this)}get(t,e){return this.find((r,s)=>A(s,t),void 0,e)}getIn(t,e){return fs(this,t,e)}groupBy(t,e){throw Error("groupBy: not patched — import CollectionConversions")}has(t){return this.get(t,d)!==d}hasIn(t){return Dn(this,t)}isSubset(t){let e=typeof t.includes==="function"?t:V(t);return this.every((r)=>e.includes(r))}isSuperset(t){return(typeof t.isSubset==="function"?t:V(t)).isSubset(this)}keyOf(t){return this.findKey((e)=>A(e,t))}keySeq(){return this.toSeq().map(lu).toIndexedSeq()}last(t){return this.toSeq().reverse().first(t)}lastKeyOf(t){return this.toKeyedSeq().reverse().keyOf(t)}max(t){return Ke(this,t)}maxBy(t,e){return Ke(this,e,t)}min(t){return Ke(this,t?Bi(t):xi)}minBy(t,e){return Ke(this,e?Bi(e):xi,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=x(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 l=_.value[0],a=_.value[1];if(c&&t.call(e,a,l,o))continue;return c=!1,f[0]=s?l:u++,f[1]=a,!0}})},O(this,i)}skipUntil(t,e){return this.skipWhile(Cr(t),e)}sortBy(t,e){return O(this,jt(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=x(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 $;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(Cr(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 C=(t)=>w(t)?t:ys(t);class ls extends b{static{this.prototype[We]=!0,this.prototype.__toStringMapper=(t,e)=>`${Ft(e)}: ${Ft(t)}`,this.prototype[Symbol.iterator]=b.prototype.entries,this.prototype.toJSON=function(){j(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}}flip(){return O(this,In(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 pt=(t)=>I(t)?t:yt(t);class at extends b{static{this.prototype[Te]=!0,this.prototype[it]=!0}toKeyedSeq(){return new zs(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=d,...r){if(t===void 0)return this;let s=e!==d;if(e=s?Math.max(e||0,0):0,s&&!e&&r.length===0)return this;t=Dt(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=st(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=st(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=x(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=Yr(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(vi,...t)}zipAll(...t){let e=[this,...t];return O(this,Yr(this,vi,e,!0))}zipWith(t,...e){let r=[this,...e];return O(this,Yr(this,t,r))}}var gt=(t)=>J(t)&&!is(t)?t:kt(t);class Be extends b{static{this.prototype.has=b.prototype.includes,this.prototype.contains=b.prototype.includes,this.prototype.keys=Be.prototype.values}get(t,e){return this.has(t)?t:e}includes(t){return this.has(t)}keySeq(){return this.valueSeq()}}V.Keyed=C;V.Indexed=pt;V.Set=gt;var Fr=at.prototype,m=(t)=>t===void 0||t===null?gs():B(t)?t.toSeq():ju(t),x=(t)=>Object.create((w(t)?Wt:I(t)?wt:ds).prototype);class _t extends b{static{this.prototype[he]=!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 $;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},ys=(t)=>t===void 0||t===null?gs().toKeyedSeq():J(t)?w(t)?t.toSeq():t.fromEntrySeq():dt(t)?t.toSeq():Jn(t);class Wt extends ls{static{this.prototype[he]=!0,Object.assign(this.prototype,as)}toSeq(){return this}toKeyedSeq(){return this}}var yt=(t)=>t===void 0||t===null?gs():J(t)?w(t)?t.entrySeq():t.toIndexedSeq():dt(t)?t.toSeq().entrySeq():Zn(t);yt.of=(...t)=>yt(t);class wt extends at{static{this.prototype[he]=!0,Object.assign(this.prototype,as)}toSeq(){return this}toIndexedSeq(){return this}toString(){return this.__toString("Seq [","]")}}var kt=(t)=>(J(t)&&!is(t)?t:yt(t)).toSetSeq();kt.of=(...t)=>kt(t);class ds extends Be{static{this.prototype[he]=!0,Object.assign(this.prototype,as)}toSeq(){return this}toSetSeq(){return this}}m.isSeq=ns;m.Keyed=ys;m.Set=kt;m.Indexed=yt;class ue extends wt{constructor(t){super();this._array=t,this.size=t.length}get(t,e){return this.has(t)?this._array[st(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 ps extends Wt{static{this.prototype[it]=!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 Rn 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=yn(e);if(!du(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 gs=()=>new ue([]),ws=(t)=>cs(t)?new ue(t):ss(t)?new Rn(t):void 0;function Jn(t){let e=ws(t);if(e)return e.fromEntrySeq();if(typeof t==="object")return new ps(t);throw TypeError(`Expected Array or collection object of [k, v] entries, or keyed object: ${t}`)}function Zn(t){let e=ws(t);if(e)return e;throw TypeError(`Expected Array or collection object of values: ${t}`)}function ju(t){let e=ws(t);if(e)return pu(t)?e.fromEntrySeq():gu(t)?e.toSetSeq():e;if(typeof t==="object")return new ps(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[We])this[We]=!0;if(i[Te])this[Te]=!0;if(i[it])this[it]=!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 D(()=>n()||$)}}class zs extends Wt{static{this.prototype[it]=!0}constructor(t,e){super();this._iter=t,this._useKeys=e,this.size=t.size}cacheResult(){return Tt.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=jn(this,!0);if(!this._useKeys)t.valueSeq=()=>this._iter.toSeq().reverse();return t}map(t,e){let r=An(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 Xn extends wt{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Tt.call(this)}includes(t){return this._iter.includes(t)}__iterateUncached(t,e){let r=0;if(e)$t(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)$t(this);let r=this.size;return re(this._iter.__iterator(t),(s,i,n)=>{n[0]=t?r-++e:e++,n[1]=i})}}class Gn extends ds{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Tt.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 re(this._iter.__iterator(t),(e,r,s)=>{s[0]=r,s[1]=r})}}class Qn extends Wt{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Tt.call(this)}entrySeq(){return this._iter.toSeq()}__iterateUncached(t,e){let r=0;return this._iter.__iterate((s)=>{if(s){tn(s),r++;let i=J(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){tn(i);let n=J(i);return r[0]=n?i.get(0):i[0],r[1]=n?i.get(1):i[1],!0}}})}}function Tt(){if(this._iter.cacheResult)return this._iter.cacheResult(),this.size=this._iter.size,this;return _t.prototype.cacheResult.call(this)}function tn(t){if(t!==Object(t))throw TypeError(`Expected [K, V] tuple: ${t}`)}var W=(t)=>t===void 0||t===null?Y():Ce(t)&&!P(t)?t:Y().withMutations((e)=>{let r=C(t);j(r.size),r.forEach((s,i)=>e.set(i,s))});class Vt extends ls{static{St(this,{asImmutable:fe,asMutable:_e,deleteIn:Kt,merge:vr,mergeWith:kn,mergeDeep:mn,mergeDeepWith:Nn,mergeDeepIn:Ks,mergeIn:$s,setIn:Is,update:As,updateIn:js,wasAltered:Es,withMutations:le,removeIn:Kt,concat:vr,[Sn]:!0,[se]: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 W(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 rn(this,t,e)}remove(t){return rn(this,t,d)}deleteAll(t){let e=V(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 Y()}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 Ue(this._root,!1,0)}values(){if(!this._root)return ft();return Ue(this._root,!1,1)}entries(){if(!this._root)return ft();return Ue(this._root,!1)}__iterator(t){if(!this._root)return ft();return Ue(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 Y();return this.__ownerID=t,this.__altered=!1,this}return Ms(this.size,this._root,t,this.__hash)}}W.isMap=Ce;class Ss{constructor(t,e){this.ownerID=t,this.entries=e}get(t,e,r,s){return Cn(this.entries,r,s)}iterate(t,e){return Yn(this.entries,t,e)}update(t,e,r,s,i,n,h){let u=i===d,o=this.entries,c=0,f=o.length;for(;c<f;c++)if(A(s,o[c][0]))break;let _=c<f;if(_?o[c][1]===i:u)return this;if(X(h),u||!_)X(n);if(u&&f===1)return;if(!_&&!u&&f>=Wu)return $u(t,o,s,i);let l=t&&t===this.ownerID,a=l?o:o.slice();if(_)if(u)if(c===f-1)a.pop();else a[c]=a.pop();else a[c]=[s,i];else a.push([s,i]);if(l)return this.entries=a,this;return new Ss(t,a)}}class xe{constructor(t,e,r){this.ownerID=t,this.bitmap=e,this.nodes=r}iterate(t,e){return Bn(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[nn(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===d)return this;let _=nn(c&o-1),l=this.nodes,a=f?l[_]:void 0,y=bs(a,t,e+z,r,s,i,n,h);if(y===a)return this;if(!f&&y&&l.length>=Tu)return Uu(t,l,c,u,y);if(f&&!y&&l.length===2&&sn(l[_^1]))return l[_^1];if(f&&y&&l.length===1&&sn(y))return y;let g=t&&t===this.ownerID,S=f?y?c:c^o:c|o,T=f?y?xn(l,_,y,g):Du(l,_,g):Lu(l,_,y,g);if(g)return this.bitmap=S,this.nodes=T,this;return new xe(t,S,T)}}class Os{constructor(t,e,r){this.ownerID=t,this.count=e,this.nodes=r}iterate(t,e){return Bn(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===d,c=this.nodes,f=c[u];if(o&&!f)return this;let _=bs(f,t,e+z,r,s,i,n,h);if(_===f)return this;let l=this.count;if(!f)l++;else if(!_){if(l--,l<Ru)return Ku(t,c,l,u)}let a=t&&t===this.ownerID,y=xn(c,u,_,a);if(a)return this.count=l,this.nodes=y,this;return new Os(t,l,y)}}class Pe{constructor(t,e,r){this.ownerID=t,this.keyHash=e,this.entries=r}get(t,e,r,s){return Cn(this.entries,r,s)}iterate(t,e){return Yn(this.entries,t,e)}update(t,e,r,s,i,n,h){if(r!==this.keyHash){if(i===d)return this;return X(h),X(n),qs(this,t,e,r,[s,i])}let u=i===d,o=this.entries,c=0,f=o.length;for(;c<f;c++)if(A(s,o[c][0]))break;let _=c<f;if(_?o[c][1]===i:u)return this;if(X(h),u||!_)X(n);if(u&&f===2)return new zt(t,this.keyHash,o[c^1]);let l=t&&t===this.ownerID,a=l?o:o.slice();if(_)if(u)if(c===f-1)a.pop();else a[c]=a.pop();else a[c]=[s,i];else a.push([s,i]);if(l)return this.entries=a,this;return new Pe(t,this.keyHash,a)}}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 A(r,this.entry[0])?this.entry[1]:s}update(t,e,r,s,i,n,h){let u=i===d,o=A(s,this.entry[0]);if(o?i===this.entry[1]:u)return this;if(X(h),u){X(n);return}if(o){if(t&&t===this.ownerID)return this.entry[1]=i,this;return new zt(t,this.keyHash,[s,i])}return X(n),qs(this,t,e,Q(s),[s,i])}}function Cn(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 Yn(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 Bn(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 Ue(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 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 Ms=(t,e,r,s)=>new Vt(t,e,r,s),en,Y=()=>en||(en=Ms(0));function rn(t,e,r){let s,i;if(!t._root){if(r===d)return t;i=1,s=new Ss(t.__ownerID,[[e,r]])}else{let n=mr(),h=mr();if(s=bs(t._root,t.__ownerID,0,Q(e),e,r,n,h),!h.value)return t;i=t.size+(n.value?r===d?-1:1:0)}if(t.__ownerID)return t.size=i,t._root=s,t.__hash=void 0,t.__altered=!0,t;return s?Ms(i,s):Y()}function bs(t,e,r,s,i,n,h,u){if(!t){if(n===d)return t;return X(u),X(h),new zt(e,s,[i,n])}return t.update(e,r,s,i,n,h,u)}var sn=(t)=>t.constructor===zt||t.constructor===Pe;function qs(t,e,r,s,i){if(t.keyHash===s)return new Pe(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?[qs(t,e,r+z,s,i)]:n<h?[t,u]:[u,t];return new xe(e,1<<n|1<<h,o)}function $u(t,e,r,s){if(!t)t=new Qe;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 Ku(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 xe(t,i,h)}function Uu(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 Os(t,n+1,h)}function nn(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 xn(t,e,r,s){let i=s?t:t.slice();return i[e]=r,i}function Lu(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 Wu=E/4,Tu=E/2,Ru=E/4;function Je(t){if(Array.isArray(t))return t.slice();return{...t}}var cc=(t,...e)=>ce(t,e),fc=(t,e,...r)=>ce(e,r,t),oe=(t,e,r)=>ce(t,e,Ju(r)),_c=(t,...e)=>oe(t,e),lc=(t,e,...r)=>oe(e,r,t);function ce(t,e,r){if(!nt(t))throw TypeError(`Cannot merge into non-data-structure value: ${t}`);if(B(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?pt:C,h=s?(u)=>{if(i===t)i=Je(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=Je(i);i[o]=f}};for(let u of e)n(u).forEach(h);return i}function Ju(t){function e(r,s,i){return nt(r)&&nt(s)&&Zu(r,s)?ce(r,[s],e):t?t(r,s,i):s}return e}function Zu(t,e){let r=m(t),s=m(e);return I(r)===I(s)&&w(r)===w(s)}function Hu(t,e){if(!nt(t))throw TypeError(`Cannot update non-data-structure value: ${t}`);if(B(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=Je(t);if(Array.isArray(r))r.splice(e,1);else delete r[e];return r}function Xu(t,e,r){if(!nt(t))throw TypeError(`Cannot update non-data-structure value: ${t}`);if(B(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=Je(t);return s[e]=r,s}function Rt(t,e,r,s){if(!s)s=r,r=void 0;let i=Pn(B(t),t,Un(e),0,r,s);return i===d?r:i}function Pn(t,e,r,s,i,n){let h=e===d;if(s===r.length){let _=h?i:e,l=n(_);return l===_?e:l}if(!h&&!nt(e))throw TypeError(`Cannot update within non-data-structure value in path [${Array.from(r).slice(0,s).map(Ft)}]: ${e}`);let u=r[s],o=h?d:Ln(e,u,d),c=Pn(o===d?t:B(o),o,r,s+1,i,n);if(c===o)return e;if(c===d)return Hu(e,u);let f=h?t?Y():{}:e;return Xu(f,u,c)}var Gu=(t,e)=>Rt(t,e,()=>d),Qu=(t,e,r)=>Rt(t,e,d,()=>r);function Fn(t,e,r,s){return Rt(t,[e],r,s)}function fe(){return this.__ensureOwner()}function _e(){return this.__ownerID?this:this.__ensureOwner(new Qe)}function Es(){return this.__altered}function le(t){let e=this.asMutable();return t(e),e.wasAltered()?e.__ensureOwner(this.__ownerID):this}function Cu(t,e){return fs(this,t,e)}function Yu(t){return Dn(this,t)}function Kt(t){return Gu(this,t)}function Is(t,e){return Qu(this,t,e)}function As(t,e,r){return typeof t==="function"?t(this):Fn(this,t,e,r)}function js(t,e,r){return Rt(this,t,e,r)}function hn(){j(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}function vr(...t){return Vn(this,t)}function kn(t,...e){if(typeof t!=="function")throw TypeError(`Invalid merger function: ${t}`);return Vn(this,e,t)}function Vn(t,e,r){let s=[];for(let i of e){let n=C(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 dt(t)?t:t.create(s[0]);return t.withMutations((i)=>{let n=r?(h,u)=>{Fn(i,u,d,(o)=>o===d?h:r(o,h,u))}:(h,u)=>{i.set(u,h)};for(let h of s)h.forEach(n)})}function mn(...t){return oe(this,t)}function Nn(t,...e){return oe(this,e,t)}function $s(t,...e){return Rt(this,t,Y(),(r)=>ce(r,e))}function Ks(t,...e){return Rt(this,t,Y(),(r)=>oe(r,e))}function St(t,e){Object.assign(t.prototype,e)}var U=(t)=>{let e=mt();if(t===void 0||t===null)return e;if(qn(t))return t;let r=pt(t),s=r.size;if(s===0)return e;if(j(s),s>0&&s<E)return ae(0,s,z,null,new lt(r.toArray()));return e.withMutations((i)=>{i.setSize(s),r.forEach((n,h)=>i.set(h,n))})};U.of=(...t)=>U(t);class vn extends at{static{St(this,{asImmutable:fe,asMutable:_e,deleteIn:Kt,mergeDeepIn:Ks,mergeIn:$s,setIn:Is,update:As,updateIn:js,wasAltered:Es,withMutations:le,removeIn:Kt,[zn]:!0,[se]: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=st(this,t),t>=0&&t<this.size)return t+=this._origin,rh(this,t)?.array[t&K];return e}set(t,e){return xu(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 mt()}push(...t){let e=this.size;return this.withMutations((r)=>{rt(r,0,e+t.length);for(let s=0;s<t.length;s++)r.set(e+s,t[s])})}pop(){return rt(this,0,-1)}unshift(...t){return this.withMutations((e)=>{rt(e,-t.length);for(let r=0;r<t.length;r++)e.set(r,t[r])})}shift(){return rt(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=pt(typeof r!=="string"&&ss(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 rt(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(ie(t,e,r))return this;return rt(this,Dt(t,r),ne(e,r))}__iterate(t,e){let r=e?this.size:0;return Bu(this,(s)=>t(s,e?--r:r++,this),e),e?this.size-r:r}__iterator(t){let e=t?this.size:0,r=un(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 un(this,!1)}keys(){return Xe(this.size)}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return mt();return this.__ownerID=t,this.__altered=!1,this}return ae(this._origin,this._capacity,this._level,this._root,this._tail,t,this.__hash)}}U.isList=qn;class lt{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 lt([],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=Ut(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=Ut(this,t);if(n.array.splice(s+1),i)n.array[s]=i;return n}}function un(t,e){let{_origin:r,_capacity:s}=t,i=Lt(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 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],l=c.level-z,a=c.offset+(f<<c.level);o(_,l,a)}return $});function o(c,f,_){if(f===0){let l=_===i?n?.array:c?.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=c?.array,a=_>r?0:r-_>>f,y=(s-_>>f)+1;if(y>E)y=E;if(a!==y)h.push({array:l,from:a,to:y,level:f,offset:_,isLeaf:!1})}}}function Bu(t,e,r){let{_origin:s,_capacity:i}=t,n=Lt(i),h=t._tail,u=t._level,o=t._root;return u===0?th(o,0,s,i,n,h,e,r):eh(o,u,0,s,i,n,h,e,r)}function th(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 eh(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 l=e-z;while(f!==_){let a=o?--_:f++,y=r+(a<<e);if((l===0?th(c?.[a],y,s,i,n,h,u,o):eh(c?.[a],l,y,s,i,n,h,u,o))===!1)return!1}}var ae=(t,e,r,s,i,n,h)=>new vn(t,e,r,s,i,n,h),mt=()=>ae(0,0,z);function xu(t,e,r){if(e=st(t,e),Number.isNaN(e))return t;if(e>=t.size||e<0)return t.withMutations((h)=>{if(e<0)rt(h,e).set(0,r);else rt(h,0,e+1).set(e,r)});e+=t._origin;let{_tail:s,_root:i}=t,n=mr();if(e>=Lt(t._capacity))s=ts(s,t.__ownerID,0,e,r,n);else i=ts(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 ae(t._origin,t._capacity,t._level,i,s)}function ts(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=ts(c,e,r-z,s,i,n);if(f===c)return t;return o=Ut(t,e),o.array[h]=f,o}if(u&&t.array[h]===i)return t;if(n)X(n);if(o=Ut(t,e),i===void 0&&h===o.array.length-1)o.array.pop();else o.array[h]=i;return o}function Ut(t,e){if(e&&e===t?.ownerID)return t;return new lt(t?.array.slice()??[],e)}function rh(t,e){if(e>=Lt(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 rt(t,e,r){if(e!==void 0)e|=0;if(r!==void 0)r|=0;let s=t.__ownerID||new Qe,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 lt(c?.array.length?[void 0,c]:[],s),o+=z,f+=1<<o;if(f)h+=f,i+=f,u+=f,n+=f;let _=Lt(n),l=Lt(u);while(l>=1<<o+z)c=new lt(c?.array.length?[c]:[],s),o+=z;let a=t._tail,y=l<_?rh(t,u-1):l>_?new lt([],s):a;if(a&&l>_&&h<n&&a.array.length){c=Ut(c,s);let g=c;for(let S=o;S>z;S-=z){let T=_>>>S&K;g=g.array[T]=Ut(g.array[T],s)}g.array[_>>>z&K]=a}if(u<n)y=y?.removeAfter(s,0,u);if(h>=l)h-=l,u-=l,o=z,c=null,y=y?.removeBefore(s,0,h);else if(h>i||l<_){f=0;while(c){let g=h>>>o&K;if(g!==l>>>o&K)break;if(g)f+=(1<<o)*g;o-=z,c=c.array[g]}if(c&&h>i)c=c.removeBefore(s,o,h-f);if(c&&l<_)c=c.removeAfter(s,o,l-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 ae(h,u,o,c,y)}var Lt=(t)=>t<E?0:t-1>>>z<<z,L=(t)=>t===void 0||t===null?Nt():os(t)?t:Nt().withMutations((e)=>{let r=C(t);j(r.size),r.forEach((s,i)=>e.set(i,s))});L.of=(...t)=>L(t);class sh extends Vt{static{St(this,{[it]:!0,[se]: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 L(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 Nt()}set(t,e){return on(this,t,e)}remove(t){return on(this,t,d)}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 Nt();return this.__ownerID=t,this.__altered=!1,this._map=e,this._list=r,this}return Us(e,r,t,this.__hash)}}L.isOrderedMap=os;var Us=(t,e,r,s)=>new sh(t,e,r,s),Nt=()=>Us(Y(),mt());function on(t,e,r){let{_map:s,_list:i}=t,n=s.get(e),h=n!==void 0,u,o;if(r===d){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=mt().withMutations((f)=>{for(let _=0;_<c.length;_++)f.set(_,c[_])}),u=Y().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 Us(u,o)}var vt=(t)=>t===void 0||t===null?Ze():us(t)?t:Ze().pushAll(t);vt.of=(...t)=>vt(t);class ih extends at{static{St(this,{asImmutable:fe,asMutable:_e,wasAltered:Es,withMutations:le,[Mn]:!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 vt(t)}toString(){return this.__toString("Stack [","]")}get(t,e){let r=this._head;t=st(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 kr(this,e,r)}pushAll(t){if(t=pt(t),t.size===0)return this;if(this.size===0&&us(t))return t;j(t.size);let e=this.size,r=this._head;return t.__iterate((s)=>{e++,r={value:s,next:r}},!0),kr(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 Ze()}slice(t,e){if(ie(t,e,this.size))return this;let r=Dt(t,this.size);if(ne(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 kr(this,i,n)}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return Ze();return this.__ownerID=t,this.__altered=!1,this}return Ls(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 $;return e.value=t.value,t=t.next,e})}keys(){return Xe(this.size)}}vt.isStack=us;function kr(t,e,r){if(t.__ownerID)return t.size=e,t._head=r,t.__hash=void 0,t.__altered=!0,t;return Ls(e,r)}var Ls=(t,e,r,s)=>new ih(t,e,r,s),cn,Ze=()=>cn||(cn=Ls(0)),M=(t)=>t===void 0||t===null?ee():hs(t)&&!P(t)?t:ee().withMutations((e)=>{let r=gt(t);j(r.size),r.forEach((s)=>e.add(s))});M.of=(...t)=>M(t);M.fromKeys=(t)=>M(C(t).keySeq());M.intersect=(t)=>{return t=V(t).toArray(),t.length?M(t.pop()).intersect(...t):ee()};M.union=(t)=>{let e=V(t).toArray();return e.length?M(e.pop()).union(...e):ee()};class te extends Be{static{St(this,{withMutations:le,asImmutable:fe,asMutable:_e,[On]:!0,[se]: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 Le(this,this._map.set(t,t))}remove(t){return Le(this,this._map.remove(t))}clear(){return Le(this,this._map.clear())}map(t,e){let r=!1,s=Le(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 gt(r).forEach((s)=>e.add(s))})}intersect(...t){return _n(this,t,(e,r)=>!r.every((s)=>s.includes(e)))}subtract(...t){return _n(this,t,(e,r)=>r.some((s)=>s.includes(e)))}wasAltered(){return this._map.wasAltered()}__iterator(t){return this._map.__iterator(t)}__empty(){return ee()}__make(t,e){return nh(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=hs;var nh=(t,e)=>new te(t,e),fn,ee=()=>fn||(fn=nh(Y()));function _n(t,e,r){if(e.length===0)return t;return e=e.map((s)=>gt(s)),t.withMutations((s)=>{t.forEach((i)=>{if(r(i,e))s.remove(i)})})}function Le(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 k=(t)=>t===void 0||t===null?es():En(t)?t:es().withMutations((e)=>{let r=gt(t);j(r.size),r.forEach((s)=>e.add(s))});k.of=(...t)=>k(t);k.fromKeys=(t)=>k(C(t).keySeq());class hh extends te{static{St(this,{[it]:!0,[Symbol.toStringTag]:"Immutable.OrderedSet",zip:Fr.zip,zipWith:Fr.zipWith,zipAll:Fr.zipAll})}create(t){return k(t)}toString(){return this.__toString("OrderedSet {","}")}__empty(){return es()}__make(t,e){return uh(t,e)}}k.isOrderedSet=En;var uh=(t,e)=>new hh(t,e),es=()=>uh(Nt()),ac={LeftThenRight:-1,RightThenLeft:1};function Pu(t){if(dt(t))throw Error("Can not call `Record` with an immutable Record as default values. Use a plain javascript object instead.");if(B(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 Fe=(t,e)=>{let r;Pu(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 ${Ds(this)} with property "${f}" since that property name is part of the Record API.`);else ku(i,f)}}return this.__ownerID=void 0,this._values=U().withMutations((u)=>{u.setSize(this._keys.length),C(h).forEach((o,c)=>{u.set(this._indices[c],o===this._defaultValues[c]?void 0:o)})}),this},i=s.prototype=Object.create(Fu);if(i.constructor=s,i.create=s,e)s.displayName=e;return s};class oh{static{St(this,{asImmutable:fe,asMutable:_e,deleteIn:Kt,getIn:Cu,hasIn:Yu,merge:vr,mergeWith:kn,mergeDeep:mn,mergeDeepWith:Nn,mergeDeepIn:Ks,mergeIn:$s,setIn:Is,toObject:hn,update:As,updateIn:js,withMutations:le,removeIn:Kt,toJSON:hn,[bn]:!0,[se]:this.prototype.remove,[Symbol.iterator]:this.prototype.entries,[Symbol.toStringTag]:"Immutable.Record"})}toString(){let t=this._keys.map((e)=>`${e}: ${Ft(this.get(e))}`).join(", ");return`${Ds(this)} { ${t} }`}equals(t){return this===t||dt(t)&&At(this).equals(At(t))}hashCode(){return At(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 Vr(this,r)}return this}remove(t){return this.set(t)}clear(){let t=this._values.clear().setSize(this._keys.length);return this.__ownerID?this:Vr(this,t)}wasAltered(){return this._values.wasAltered()}toSeq(){return At(this)}toJS(){return Re(this)}entries(){return this.__iterator()}__iterate(t,e){return At(this).__iterate(t,e)}__iterator(t){return At(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 Vr(this,e,t)}}Fe.isRecord=dt;var Ds=(t)=>t.constructor.displayName||t.constructor.name||"Record";class ch extends Wt{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 At=(t)=>new ch(t);Fe.getDescriptiveName=Ds;var Fu=oh.prototype;function Vr(t,e,r){let s=Object.create(Object.getPrototypeOf(t));return s._values=e,s.__ownerID=r,s}function ku(t,e){Object.defineProperty(t,e,{get(){return this.get(e)},set(r){Pt(this.__ownerID,"Cannot set on an immutable record."),this.set(e,r)}})}var rs=(t,e,r=1)=>{if(Pt(r!==0,"Cannot step a Range by 0"),Pt(t!==void 0,"You must define a start value when using Range"),Pt(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 Ws(t,e,r,s)};class Ws 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+st(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(ie(t,e,this.size))return this;if(t=Dt(t,this.size),e=ne(e,this.size),e<=t)return rs(0,0);return rs(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 $;return i.value=r,r+=e,s++,i})}keys(){return Xe(this.size)}equals(t){return t instanceof Ws?this._start===t._start&&this._end===t._end&&this._step===t._step:_s(this,t)}static{this.prototype[Symbol.iterator]=this.prototype.values}}var yc=(t,e)=>{let r=e===void 0?1/0:Math.max(0,e);return new He(t,r)};class He 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 A(this._value,t)}slice(t,e){let r=this.size;return ie(t,e,r)?this:new He(this._value,ne(e,r)-Dt(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 $;return r++,s.value=e,s})}keys(){return Xe(this.size)}equals(t){return t instanceof He?this.size===t.size&&A(this._value,t._value):_s(this,t)}static{this.prototype[Symbol.iterator]=this.prototype.values}}var dc=(t,e)=>fh([],e??Vu,t,"",e?.length>2?[]:void 0,{"":t});function fh(t,e,r,s,i,n){if(typeof r!=="string"&&!B(r)&&(cs(r)||ss(r)||Kn(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,m(r).map((u,o)=>fh(t,e,u,o,i,r)),i?.slice());if(t.pop(),i)i.pop();return h}return r}var Vu=(t,e)=>I(e)?e.toList():w(e)?e.toMap():e.toSet(),De=(t)=>w(t)?t.valueSeq():t;function mu(){b.prototype.toMap=function(){return W(this.toKeyedSeq())},b.prototype.toOrderedMap=function(){return L(this.toKeyedSeq())},b.prototype.toOrderedSet=function(){return k(De(this))},b.prototype.toSet=function(){return M(De(this))},b.prototype.toStack=function(){return vt(De(this))},b.prototype.toList=function(){return U(De(this))},b.prototype.countBy=function(e,r){let s=W().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=(P(this)?L():W()).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 rs(0,this.size)},Vt.prototype.sort=function(e){return L(jt(this,e))},Vt.prototype.sortBy=function(e,r){return L(jt(this,r,e))},te.prototype.sort=function(e){return k(jt(this,e))},te.prototype.sortBy=function(e,r){return k(jt(this,r,e))}}var Nu="7.0.0",vu={version:Nu};mu();var{version:pc}=vu;var _h=Symbol("BadValue"),dh=(t)=>t;class Z{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,_h);if(h===_h)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 Rs{isValid(t){return!0}getMessage(t){return"Invalid"}}class ph extends Rs{}var to=new ph;class N extends Rs{constructor(t,e){super();this._isValid=t,this._getMessage=e}isValid(t){return this._isValid(t)}getMessage(t){return this._getMessage(t)}}var eo=new N((t)=>Number.isInteger(t),()=>"Integer expected"),ro=new N((t)=>Number.isFinite(t),()=>"Float expected"),so=new N((t)=>typeof t==="boolean",()=>"Boolean expected"),io=new N((t)=>typeof t==="string",()=>"String expected"),no=new N((t)=>U.isList(t),()=>"List expected"),ho=new N((t)=>W.isMap(t),()=>"Map expected"),uo=new N((t)=>L.isOrderedMap(t),()=>"OrderedMap expected"),oo=new N((t)=>M.isSet(t),()=>"Set expected"),co=(t)=>!!t;class Js extends Z{constructor(t,e=!1){super("bool",t,so,co,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 ke extends Z{constructor(t,e=null){super("any",t,to,dh,e)}toDataDef(){let{defaultValue:t}=this;return{type:Ts(t)??"any",defaultValue:t?.toJS?t.toJS():t}}}var fo=(t)=>t?.toString?.()??"";class Zs extends Z{constructor(t,e=""){super("text",t,io,fo,e)}extendProtoForType(t,e){Cs(t,this.name,e,"","length")}}var _o=(t)=>Number.isFinite(t)?Math.trunc(t):null;class gh extends Z{constructor(t,e=0){super("int",t,eo,_o,e)}}var lo=(t)=>null;class Hs extends Z{constructor(t,e=0){super("float",t,ro,lo,e)}}var Ts=(t)=>t?.constructor?.getMetaClass?.()?.name;class wh{constructor(t){this.typeName=t}isValid(t){return Ts(t)===this.typeName}getMessage(t){let e=Ts(t);return`Expected "${this.typeName}", got "${e}"`}}class zh extends Z{constructor(t,e,r){super(t,e,new wh(t),dh,null);this.args=r}toDataDef(){return{component:this.typeName,args:this.args}}}var lh=Symbol("NONE");function Jt(t,e,r){Cs(t,e,r,Oh),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,lh);if(h!==lh)return this.set(e,n.set(s,i(h)));return console.warn("key",s,"not found in",e,n),this},Sh(t,e,`${r}At`)}function Sh(t,e,r){t[`deleteIn${r}`]=function(s){return this.set(e,this.get(e).delete(s))},t[`removeIn${r}`]=t[`deleteIn${r}`]}var Oh=U(),ao=(t)=>Array.isArray(t)?U(t):null;class Xs extends Z{constructor(t,e=Oh){super("list",t,no,ao,e)}extendProtoForType(t,e){let{name:r}=this;Jt(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 yo=(t)=>W(t);class Gs extends Z{constructor(t,e=W()){super("map",t,ho,yo,e)}extendProtoForType(t,e){Jt(t,this.name,e)}}var po=(t)=>L(t);class Qs extends Z{constructor(t,e=L()){super("omap",t,uo,po,e)}extendProtoForType(t,e){Jt(t,this.name,e)}}function Cs(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 ah=M(),go=(t)=>Array.isArray(t)?M(t):t instanceof Set?M(t):null;class Ys extends Z{constructor(t,e=ah){super("set",t,oo,go,e)}extendProtoForType(t,e){let{name:r}=this;Cs(t,r,e,ah),t[`addIn${e}`]=function(s){return this.set(r,this.get(r).add(s))},Sh(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 yh(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 Mh{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]=yh(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]=yh(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]:Fe(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 zh(e,t,r);return this.compFields.add(t),this.fields[t]=s,s}}var Ve=new Map,wo={text:Zs,int:gh,float:Hs,bool:Js,list:Xs,map:Gs,omap:Qs,set:Ys,any:ke};function zo(t,{fields:e={},methods:r,statics:s}){let i=new Mh(t);for(let n in e){let h=e[n],u=typeof h;if(u==="string")i.addField(n,h,Zs);else if(u==="number")i.addField(n,h,Hs);else if(u==="boolean")i.addField(n,h,Js);else if(U.isList(h)||Array.isArray(h))i.addField(n,U(h),Xs);else if(M.isSet(h)||h instanceof Set)i.addField(n,M(h),Ys);else if(L.isOrderedMap(h))i.addField(n,h,Qs);else if(h?.type&&h?.defaultValue!==void 0){let o=wo[h.type]??ke;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(W.isMap(h)||h?.constructor===Object)i.addField(n,W(h),Gs);else{let o=Ve.get(h?.constructor)??ke;i.addField(n,h,o)}}if(r)i.methods(r);if(s)i.statics(s);return i.build()}var So=(t)=>new Ur(t.name??"Comp",zo(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 Oo=["nid","cid","eid","vid","si","sk"];class Bs{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??Ao,this.cache=h??new Ar}setNullCache(){this.cache=new Ir}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 Oo)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[_,l]of o(i))if(n.call(t.it,_,l,f)){let a=t.enter(l,{key:_},!0),y=this.renderIt(a,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[l,a]of c(i))if(n.call(t.it,l,a,_)){let y={key:l,value:a},g=`${s}-${l}`,S;if(u)u.call(t.it,y,l,a,_),S=this.cache.get2(t.it,a,g);else S=this.cache.get(a,g);if(S){this.pushEachEntry(f,s,o,l,S);continue}let T=t.enter(a,y,!1),v=this.renderView(r,T);if(this.pushEachEntry(f,s,o,l,v),u)this.cache.set2(t.it,a,g,v);else this.cache.set(a,g,v)}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*Mo(t){let e=0;for(let r of t)yield[e++,r]}function*bo(t){for(let[e,r]of t.toSeq().entries())yield[e,r]}var me=new Map,qo=["si",Mo],Eo=["sk",bo],Io=["si",function*(e){}];function Ao(t){return I(t)?qo:w(t)?Eo:me.get(t?.constructor)??Io}class Ot{constructor(t=W(),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 jo=(t)=>null;class bh{isValid(t){return t instanceof Ot}getMessage(t){return"KList expected"}}var $o=new bh;class qh extends Z{constructor(t,e=new Ot){super("KList",t,$o,jo,e)}extendProtoForType(t,e){Jt(t,this.name,e);let{name:r}=this;Jt(t,r,e),t[`pushIn${e}`]=function(s){return this.set(r,this.get(r).push(s))}}}Ve.set(Ot,qh);function*Ko(t){for(let e of t.order)yield[e,t.items.get(e)]}me.set(Ot,["data-sk",Ko]);var Ps=(t)=>t[4]==="-"&&(t[0]==="d"||t[0]==="a"),ye=(t)=>t!==null&&typeof t==="object",Ih=(t,e)=>Object.getPrototypeOf(t)!==Object.getPrototypeOf(e);function Ah(t,e,r){for(let s in e){let i=e[s];if(i===void 0)Uo(t,s,r);else if(Ps(s))t.setAttribute(s,i);else if(s==="dangerouslySetInnerHTML")t.innerHTML=i.__html??"";else if(ye(i))Lo(t,r,s,i);else if(s==="className")t.setAttribute("class",i);else t[s]=i}}function Uo(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"||Ps(e))t.removeAttribute(e);else t[e]=null}function Lo(t,e,r,s){let i=e?.[r];if(ye(i)&&Ih(i,s)){t[r]=s;return}if(!ye(t[r]))t[r]={};let n=t[r];for(let h in s)n[h]=s[h]}class Zt{}var xs=(t)=>t instanceof tr?t.key:void 0,Do=(t)=>t!=null&&typeof t!=="string"&&typeof t[Symbol.iterator]==="function";function jh(t,e){for(let r=0;r<t.length;r++)if(!t[r].isEqualTo(e[r]))return!1;return!0}function Fs(t,e,r){for(let s of e)t.appendChild(s.toDom(r))}function ks(t,e){if(e==null)return;if(Do(e))for(let r of e)ks(t,r);else if(e instanceof Zt)if(e instanceof Mt)t.push(...e.childs);else t.push(e);else t.push(new Vs(e))}class Vs extends Zt{constructor(t){super();this.text=String(t)}get nodeType(){return 3}isEqualTo(t){return t instanceof Vs&&this.text===t.text}toDom(t){return t.document.createTextNode(this.text)}}class ve extends Zt{constructor(t){super();this.text=t}get nodeType(){return 8}isEqualTo(t){return t instanceof ve&&this.text===t.text}toDom(t){return t.document.createComment(this.text)}}class Mt extends Zt{constructor(t){super();this.childs=[],ks(this.childs,t)}get nodeType(){return 11}isEqualTo(t){if(!(t instanceof Mt)||this.childs.length!==t.childs.length)return!1;return jh(this.childs,t.childs)}toDom(t){let e=t.document.createDocumentFragment();return Fs(e,this.childs,t),e}}class tr extends Zt{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 tr)||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 jh(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 Ah(r,this.attrs,{}),Fs(r,this.childs,t),r}}function $h(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(ye(i)&&ye(n))if(Ih(n,i))r??={},r[s]=n;else{let h=$h(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 Kh(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=$h(e.attrs,r.attrs);if(h)Ah(t,h,e.attrs);if(!r.attrs.dangerouslySetInnerHTML)Eh(t,e.childs,r.childs,s);return t}if(i===11)return Eh(t,e.childs,r.childs,s),t}let n=r.toDom(s);return t.parentNode?.replaceChild(n,t),n}function Eh(t,e,r,s){if(e.length===0){Fs(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=xs(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=xs(c),_=-1;if(f!=null){if(f in n&&!h[n[f]])_=n[f]}else while(u<e.length){if(!h[u]&&xs(e[u])==null){_=u++;break}u++}if(_>=0){h[_]=1;let l=Kh(i[_],e[_],c,s),a=t.childNodes[o]??null;if(l!==a)t.insertBefore(l,a)}else{let l=t.childNodes[o]??null;t.insertBefore(c.toDom(s),l)}}for(let o=e.length-1;o>=0;o--)if(!h[o]&&i[o].parentNode===t)t.removeChild(i[o])}var Ne=new WeakMap;function Uh(t,e,r){let s=Ne.get(e),i=t instanceof Mt;if(s&&s.vnode instanceof Mt===i){let h=i?e:s.dom,u=Kh(h,s.vnode,t,r);return Ne.set(e,{vnode:t,dom:i?e:u}),u}Ne.delete(e);let n=t.toDom(r);return e.replaceChildren(n),Ne.set(e,{vnode:t,dom:i?e:n}),n}function Lh(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]=Ps(o)?String(c):c}}let u=[];return ks(u,r),new tr(s,i,u,n,h)}var{raw:Wc,raw:Tc}=String;function Rc(t,e){return new Sr(t,e)}var Wo=(t)=>typeof t==="string"?document.querySelector(t):t;function Jc(t){let e=Wo(t),r=new Ie,s=(o)=>new Mt(o),i=(o)=>new ve(o),n={document},h=(o,c)=>Uh(o,c,n),u=new Bs(r,Lh,s,i,h);return new Qr(e,h,r,u,ct)}async function Pc(t,e,r="margaui-css"){let s=performance.now(),i=await To(t,e),n=performance.now();return je(r,i),n-s}async function To(t,e,r,s=$e){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))}export{pc as version,Rt as updateIn,Fn as update,Jc as tutuca,Qu as setIn,Xu as set,me as seqInfoByClass,Gu as removeIn,Hu as remove,fc as mergeWith,lc as mergeDeepWith,_c as mergeDeep,cc as merge,Rc as macro,Pi as isValueObject,us as isStack,hs as isSet,ns as isSeq,dt as isRecord,Kn as isPlainObject,En as isOrderedSet,os as isOrderedMap,P as isOrdered,os as isOMap,Ce as isMap,qn as isList,w as isKeyed,I as isIndexed,B as isImmutable,Ce as isIMap,J as isCollection,is as isAssociative,A as is,je as injectCss,Tc as html,Q as hash,Dn as hasIn,wu as has,fs as getIn,Ln as get,dc as fromJS,Ve as fieldsByClass,Wc as css,So as component,To as compileClassesToStyleText,Pc as compileClassesToStyle,vt as Stack,M as Set,m as Seq,yc as Repeat,Fe as Record,rs as Range,ct as ParseContext,ac as PairSorting,k as OrderedSet,L as OrderedMap,L as OMap,W as Map,U as List,Ot as KList,M as ISet,W as IMap,V as Collection};
|
|
1
|
+
class Ht{lookup(t,e=null){return e}setValue(t,e){return t}updateBindings(t,e){}isFrame=!0}class bt extends Ht{constructor(t){super();this.binds=t}lookup(t,e){return t}setValue(t,e){return e}withIndex(t){return new bt({...this.binds,key:t})}withKey(t){return new bt({...this.binds,key:t})}updateBindings(t,e){Object.assign(e,this.binds)}isFrame=!1}class de extends Ht{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 sr(this.field,t)}withKey(t){return new rr(this.field,t)}}class er extends Ht{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 rr extends er{}class sr extends er{}var R=Symbol("NONE");class ir extends Ht{constructor(t,e){super();this.seqField=t,this.keyField=e}lookup(t,e=null){let r=t?.get(this.seqField,R),s=t?.get(this.keyField,R);return s!==R&&r?.get?r.get(s,e):e}setValue(t,e){let r=t?.get(this.seqField,R),s=t?.get(this.keyField,R);return r===R||s===R?t:t.set(this.seqField,r.set(s,e))}updateBindings(t,e){e.key=t?.get(this.keyField,null)}}class tt{constructor(t=[]){this.steps=t}concat(t){return new tt(this.steps.concat(t))}popStep(){return new tt(this.steps.slice(0,-1))}lookup(t,e=null){let r=t;for(let s of this.steps)if(r=s.lookup(r,R),r===R)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,R),s===R)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,R),r===R)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:l,si:a,sk:y}=vs(t.previousSibling),{eid:g,cid:S,vid:T}=t.dataset;if(g!==void 0)o.push(g);if(S!==void 0){let v=i.getComponentForId(+S,T);if(_){if(c=Lh(v,o,T,e),c===null&&n)return Th;_=!1}let ms=Wh(v,f,T);if(ms)h.push(ms);o=[],f=[]}if(l!==void 0)f.push({nid:l,si:a,sk:y})}u+=1,t=t.parentNode}return[new tt(h.reverse()),c]}static fromEvent(t,e,r,s,i=!0){let{type:n,target:h}=t;return tt.fromNodeAndEventName(h,n,e,r,s,i)}}var Ns={};function vs(t){if(t?.nodeType===8&&t.textContent[0]==="§"){let e=vs(t.previousSibling);if(e!==Ns)return e;try{return JSON.parse(t.textContent.slice(1,-1))}catch(r){console.warn(r,t)}}return Ns}function Lh(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 Wh(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 Th=[null,null];class nr{constructor(){this.pathChanges=[]}add(t){return this.pathChanges.push(t),this}field(t){return this.add(new de(t))}index(t,e){return this.add(new sr(t,e))}key(t,e){return this.add(new rr(t,e))}}var Rh=/^[a-zA-Z][a-zA-Z0-9_]*$/,ht=(t)=>Rh.test(t),Jh=/^-?[0-9]+(\.[0-9]+)?$/,ti=(t,e)=>ur.parse(t,e),Xt=(t,e)=>new H(t),Zh=(t,e)=>ht(t)?new ut(t):null,Hh=(t,e)=>ht(t)?new ni(t):null,Xh=(t,e)=>ht(t)?new cr(t):null,Gh=(t,e)=>ht(t)?new oi(t):null,Qh=(t,e)=>ht(t)?new ci(t):null,Ch=(t,e)=>ht(t)?new fi(t):null,Yh=(t,e)=>ht(t)?new hi(t):null;class ei{constructor(){this.allowFieldOnly(),this.bindValIt=new cr("it"),this.nullConstVal=new H(null)}const(t){return new H(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 _i(s,i):null}parse(t,e){switch(Bh(t)){case li:return this.okStrTpl?ti(t,e):null;case yi:return this.okStrTpl?Xt(t,e):null;case ai:return this._parseSeqAccess(t,e);case pe:return this.okStrTpl?ti(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?Xt(t.slice(1),e):null;case 39:return this.okStrTpl?Xt(t.slice(1,-1),e):null;case 64:return this.okBind?Xh(t.slice(1),e):null;case 42:return this.okDyn?Gh(t.slice(1),e):null;case 46:return this.okField?Qh(t.slice(1),e):null;case 36:return this.okComputed?Ch(t.slice(1),e):null;case 33:return this.okRequest?Yh(t.slice(1),e):null}let s=Jh.test(t)?parseFloat(t):null;if(Number.isFinite(s))return this.okConst?Xt(s,e):null;else if(t==="true"||t==="false")return this.okConst?Xt(t==="true",e):null;else if(r>=97&&r<=122)return this.okName?Zh(t,e):null;else if(r>=65&&r<=90)return this.okType?Hh(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,ri)}parseAlter(t,e){return this._parseHandler(t,e,si)}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 ge{render(t,e){}eval(t){}toPathItem(){return null}}class H extends ge{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 hr extends ge{}class ur extends hr{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)==="}"?p.parseText(h.slice(1,-1),e):new H(h);s[n]=o,i&&=o instanceof H}return i?new H(s.map((n)=>n.val).join("")):new ur(s)}}class ut extends hr{constructor(t){super();this.name=t}eval(t){return t.lookupName(this.name)}toString(){return this.name}}class ri extends ut{eval(t){return t.getHandlerFor(this.name,"input")??ii("input",this.name)}}class si extends ut{eval(t){return t.getHandlerFor(this.name,"alter")??ii("alter",this.name)}}var ii=(t,e)=>function(...r){return console.warn("handler not found",{type:t,name:e,args:r},this),this};class ni extends ut{eval(t){return t.lookupType(this.name)}}class hi extends ut{eval(t){return t.lookupRequest(this.name)}toString(){return`!${this.name}`}}class ui extends ut{eval(t){return t.lookupFieldRaw(this.name)}toString(){return`.${this.name}`}}class or extends ge{render(t,e){return this.eval(t)}}class Gt extends or{constructor(t){super();this.name=t}}class cr extends Gt{eval(t){return t.lookupBind(this.name)}toString(){return`@${this.name}`}}class oi extends Gt{eval(t){return t.lookupDynamic(this.name)}toPathItem(){return null}toString(){return`*${this.name}`}}class ci extends Gt{eval(t){return t.lookupField(this.name)}toPathItem(){return new de(this.name)}toRawFieldVal(){return new ui(this.name)}toString(){return`.${this.name}`}}class fi extends Gt{eval(t){return t.lookupComputed(this.name)}toString(){return`$${this.name}`}}class _i extends or{constructor(t,e){super();this.seqVal=t,this.keyVal=e}toPathItem(){return new ir(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 li=0,ai=1,pe=2,yi=3;function Bh(t){let e=0,r=0;for(let s=0;s<t.length;s++)switch(t.charCodeAt(s)){case 91:if(e>0)return pe;e+=1;break;case 93:if(r>0||e===0)return pe;r+=1;break;case 123:return li;case 125:return yi}if(e>0||r>0)return e===1&&r===1?ai:pe;return-1}var p=new ei;class qt{constructor(t){this.items=t}eval(t){return{}}static parse(t,e,r=!1){return ar(e).parse(t,r)}isConstant(){return!1}}var xh="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",Ph=new Set(xh.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?p.parseAll(e,this.px):p.parseAttr(e,this.px);if(s!==null)this.attrs??=[],this.attrs.push(new ze(t,s)),this.hasDynamic||=!(s instanceof H)}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=p.parseCondValue(e,this.px);if(r)this.ifAttr=new wi(t.slice(3),r),this.attrs??=[],this.attrs.push(this.ifAttr),this.hasDynamic=!0}parseThen(t){if(this.ifAttr)this.ifAttr.thenVal=p.parseAttr(t,this.px)??Qt}parseElse(t){if(this.ifAttr)this.ifAttr.elseVal=p.parseAttr(t,this.px)??Qt}parseEvent(t,e){let[r,...s]=t.slice(3).split("+"),i=yr.parse(e,this.px);if(i){if(this.events===null)this.events=this.px.registerEvents(),this.attrs??=[],this.attrs.push(new we("data-eid",p.const(this.events.id)));this.events.add(r,i,s)}}parseDirective(t,e){switch(e){case"dangerouslysetinnerhtml":this.attrs??=[],this.attrs.push(new gi(p.parseText(t,this.px))),this.hasDynamic=!0;return;case"slot":this.pushWrapper("slot",t,p.const(t));return;case"push-view":this.pushWrapper("push-view",t,p.parseText(t,this.px));return;case"text":this.textChild=p.parseText(t,this.px);return;case"show":this.pushWrapper("show",t,p.parseCondValue(t,this.px));return;case"hide":this.pushWrapper("hide",t,p.parseCondValue(t,this.px));return;case"each":this.eachAttr=this.pushWrapper("each",t,p.parseEach(t,this.px));return;case"enrich-with":if(this.eachAttr!==null)this.eachAttr.enrichWithVal=p.parseAlter(t,this.px);else this.pushWrapper("scope",t,p.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=p.parseAlter(t,this.px)}_parseLoopWith(t){if(this.eachAttr!==null)this.eachAttr.loopWithVal=p.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===""&&Ph.has(n)?!0:h;this.attrs.push(new we(n,p.const(o)))}}let{attrs:r,hasDynamic:s}=this;return[s?new pi(r):_r.fromAttrs(r??[]),this.wrapperAttrs,this.textChild]}}class _r extends qt{eval(t){return this.items}static fromAttrs(t){let e={};for(let r of t)e[r.name]=r.val.eval(null);return new _r(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 pi extends qt{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 we(t,new H(e)))}toMacroVars(){let t={};for(let e of this.items)t[e.name]=e.val.toString();return t}}class lr{constructor(t){this.name=t}}class ze extends lr{constructor(t,e){super(t);this.val=e}eval(t){return this.val.eval(t)}}class we extends ze{}class gi extends ze{constructor(t){super("dangerouslySetInnerHTML",t??p.nullConstVal)}eval(t){return{__html:`${this.val.eval(t)}`}}}var Qt=p.nullConstVal;class wi extends lr{constructor(t,e){super(t);this.condVal=e,this.thenVal=this.elseVal=Qt}get anyBranchIsSet(){return this.thenVal!==Qt||this.elseVal!==Qt}eval(t){return this.condVal.eval(t)?this.thenVal.eval(t):this.elseVal.eval(t)}}var fr=null;function ar(t){return fr??=new di(t),fr.clear(t),fr}class yr{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=p.parseHandlerName(r,e);if(i===null)return null;let n=Array(s.length);p.allowHandlerArg();for(let h=0;h<s.length;h++){let u=p.parse(s[h],e);n[h]=u!==null?u:p.nullConstVal}return new yr(i,n)}}class dr{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 Et{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 Bt extends Et{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 Yt extends Bt{render(t,e){return e.renderComment(this.val)}}function Fh(t){for(let e=0;e<t.length;e++){let r=t[e];if(r.isConstant())t[e]=new Mr(r);else r.optimize()}}function wr(t){if(t.isConstant())return new Mr(t);return t.optimize(),t}class zr extends Et{constructor(t){super();this.childs=t}isConstant(){return this.childs.every((t)=>t.isConstant())}optimize(){Fh(this.childs)}}class Se extends zr{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 Oe extends zr{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 Ct=(t)=>t.length===1?t[0]:new Oe(t),kh=/^[a-zA-Z][a-zA-Z0-9-]*$/,zi=null;class et extends Et{constructor(t,e){super();this.nodeId=t,this.val=e}toPathItem(){return this.val.toPathItem()}static parse(t,e){zi??=e.newDOMParser();let r=zi.parseFromString(t,"text/html").body.childNodes;return et.fromDOM(r[0]??new e.Text(""),e)}static fromDOM(t,e){if(e.isTextNode(t))return new Bt(t.textContent);else if(e.isCommentNode(t))return new Yt(t.textContent);let{childNodes:r,attributes:s,tagName:i}=t,n=Array(r.length);for(let h=0;h<r.length;h++)n[h]=et.fromDOM(r[h],e);if(i==="X"){if(s.length===0)return Ct(n);let{name:h,value:u}=s[0],o=s.getNamedItem("as")?.value??null;switch(h){case"slot":return new be(null,p.const(u),Ct(n));case"text":{let c=p.parseText(u,e);return c!==null?new gr(null,c):null}case"render":return e.addNodeIf(Ii,p.parseRender(u,e),o);case"render-it":return e.addNodeIf(Ai,p.bindValIt,o);case"render-each":return Or.parse(e,p,u,o,s);case"show":return e.addNodeIf(br,p.parseCondValue(u,e),Ct(n));case"hide":return e.addNodeIf(qr,p.parseCondValue(u,e),Ct(n))}return new Yt(`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]??Ct(n)}let[u,o]=qt.parse(s,e,!0);return e.onAttributes(u,o,null),Si(e.newMacroNode(h,u.toMacroVars(),n),e,o)}else if(kh.test(i)){let[h,u,o]=qt.parse(s,e);if(e.onAttributes(h,u,o),o)n.unshift(new gr(null,o));let c=i!=="PRE"?tu(n):n;return Si(new Se(i.toLowerCase(),h,c),e,u)}return new Yt(`Error: InvalidTagName ${i}`)}}function Si(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=vh[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 Ei extends Et{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 Yt(`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 Sr{constructor(t,e){this.defaults=t,this.rawView=e}expand(t){return et.parse(this.rawView,t)}}class Me extends et{constructor(t,e,r){super(t,e);this.viewId=r}}class Ii extends Me{render(t,e){let r=t.enter(this.val.eval(t),{},!0);return e.renderIt(r,this.nodeId,"",this.viewId)}}class Ai extends Me{render(t,e){let r=t.enter(t.it,{},!0);return e.renderIt(r,this.nodeId,"",this.viewId)}pathInNext=!0}class Or extends Me{constructor(t,e,r){super(t,e,r);this.iterInfo=new Er(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(Or,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 gr extends et{render(t,e){return e.renderText(this.val.eval(t))}}class Mr extends Et{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 ot extends et{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 br extends ot{render(t,e){return this.val.eval(t)?this.node.render(t,e):e.renderEmpty()}}class qr extends ot{render(t,e){return this.val.eval(t)?e.renderEmpty():this.node.render(t,e)}}class ji extends ot{render(t,e){return this.node.render(t.pushViewName(this.val.eval(t)),e)}}class be extends ot{optimize(){this.node.optimize()}}class $i extends ot{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 bt({})}wrapNode(t){this.node=t,this.node.setDataAttr("data-nid",this.nodeId)}static register=!0}class Ui extends ot{constructor(t,e){super(t,e);this.iterInfo=new Er(e,null,null,null)}render(t,e){return e.renderEachWhen(t,this.iterInfo,this.node,this.nodeId)}toPathItem(){return new bt({})}static register=!0}class Er{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)??mh,s=this.loopWithVal?.eval(t)??Nh,i=this.enrichWithVal?.eval(t)??null;return{seq:e,filter:r,loopWith:s,enricher:i}}}var mh=(t,e,r)=>!0,Nh=(t)=>({seq:t}),vh={slot:be,show:br,hide:qr,each:Ui,scope:$i,"push-view":ji};class ct{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 ct(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 Ki(t);return this.events.push(e),e}newMacroNode(t,e,r){let s=[],i={_:new Oe(s)};for(let h of r)if(h instanceof be)i[h.val.val]=h.node;else if(!(h instanceof Bt)||!h.isWhiteSpace())s.push(h);let n=new Ei(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 pr=(t)=>t instanceof Bt&&t.isWhiteSpace(),Oi=(t)=>t instanceof Se||t instanceof Oe&&t.childs[0]instanceof Se;function tu(t){let e=t.length;if(e===0)return t;let r=0,s=!1;if(pr(t[0]))r=1,s=!0;if(e>1&&pr(t[e-1]))e-=1,s=!0;for(let i=1;i<e-1;i++){let n=t[i];if(pr(n)&&Oi(t[i-1])&&Oi(t[i+1])&&n.hasNewLine())n.condenseWhiteSpace()}return s?t.slice(r,e):t}class qe{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=et.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 Ki{constructor(t){this.id=t,this.handlers=[]}add(t,e,r){this.handlers.push(new Di(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 Di{constructor(t,e,r){this.name=t,this.handlerCall=e,this.modifierWrapper=hu(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 eu=(globalThis.navigator?.userAgent??"").toLowerCase().includes("mac"),Ee=(t)=>(e)=>(r,s,i,n)=>t(n)?e(r,s,i,n):r,Mi=(t)=>Ee((e)=>e.e.key===t),bi=Ee(({e:t})=>eu&&t.metaKey||t.ctrlKey),ru=Ee(({e:t})=>t.metaKey),su=Ee(({e:t})=>t.altKey),qi={ctrl:bi,cmd:bi,meta:ru,alt:su},iu={keydown:{send:Mi("Enter"),cancel:Mi("Escape"),...qi},click:{...qi}},nu=(t,e)=>t;function hu(t,e){if(e.length===0)return nu;let r=iu[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 Ir{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 Ar{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 jr{getKey(t,e,r){return r.call(t)}}class $r{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 Ie{constructor(){this.getComponentSymbol=Symbol("getComponent"),this.byId=new Map,this.computedCache=new $r}setNullComputedCache(){this.computedCache=new jr}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:Wi}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 Ae{constructor(t=new Ie,e=null){this.comps=t,this.parent=e,this.byName={},this.reqsByName={},this.macros={}}enter(){return new Ae(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 dr(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 Ur{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 Li extends Ur{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 It=(t)=>typeof t==="string",uu=0;class Kr{constructor(t,e,r,s={},i="",n="",h="",u={},o={},c={},f={},_={},l={},a={},y={}){this.id=uu++,this.name=t,this.Class=e,this.views={main:new qe("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=l,this.on={stackEnter:y?.stackEnter??Wi};for(let g in s){let S=s[g],{view:T,style:v}=It(S)?{view:S}:S;this.views[g]=new qe(g,T,v)}this._rawDynamic=a,this.dynamic={},this.scope=null}compile(t){for(let e in this._rawDynamic){let r=this._rawDynamic[e];if(It(r)){let s=p.parseDynamic(r,this.views.main.ctx);this.dynamic[e]=new Ur(e,s,Symbol(e))}else if(It(r?.default)&&It(r?.for)){let s=p.parseDynamic(r.default,this.views.main.ctx),[i,n]=r.for.split(".");if(It(i)&&It(n))this.dynamic[e]=new Li(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 Wi(t){return t}var Ti=Symbol("STOP"),Wr=Symbol("NEXT");class xt{constructor(t,e){this.head=t,this.tail=e}push(t){return new xt(t,this)}lookup(t,e=null){let{tail:r}=this,s=this.head.lookup(t);return s===Ti?e:s===Wr?r!==null?r.lookup(t,e):e:s}*[Symbol.iterator](){let t=this;while(t!==null)yield t.head,t=t.tail}}class Dr{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:Wr:e}}class Lr{constructor(t){this.bindings=t}lookup(t){let e=this.bindings[t];return e===void 0?Wr:e}}class G{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 G(t,e.tail.head.it,e.tail,r,s,i)}static root(t,e,r){let s=new xt(new Dr(e,{it:e},!0),null),i=new xt(new Lr({}),null),n=new xt("main",null);return new G(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 Dr(t,e,r));return new G(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 G(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 Lr(e));return new G(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 Ji{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 Rr{constructor(t,e){this.comps=t,this.transactions=[],this.state=new Ji(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 Hr(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 Xi(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)??ou(e),o=s?.onResName??e,c=(f,_,l,a,y)=>{let S=new Hi(t,this,f??_,f?[l]:[a,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 Zi(t,e,r,this,s))}}function ou(t){return()=>{throw Error(`Request not found: ${t}`)}}function cu(){return this}class Jr{constructor(t,e,r=null){this.path=t,this.transactor=e,this.parentTransaction=r,this._task=null}get task(){return this._task??=new Gi,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 G.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 fu=(globalThis.navigator?.userAgent??"").toLowerCase().includes("mac"),Ri=(t)=>Number.isNaN(t)?null:t;function Tr(t){return t.target.type==="checkbox"?t.target.checked:(t instanceof CustomEvent?t.detail:t.target.value)??null}class Zi extends Jr{constructor(t,e,r,s,i){super(t,s);this.e=e,this.handler=r,this.dragInfo=i}buildRootStack(t,e){return G.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 Xr(this.path,this.transactor,this),n[u]=n[u].toHandlerArg(h);return[i,n]}lookupName(t){let{e}=this;switch(t){case"value":return Tr(e);case"valueAsInt":return Ri(parseInt(Tr(e),10));case"valueAsFloat":return Ri(parseFloat(Tr(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 fu&&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 Gr(this.path,this.transactor,this);case"dragInfo":return this.dragInfo}return null}}class Zr extends Jr{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]??cu}getHandlerAndArgs(t,e,r){return[this.getHandlerForName(r.getCompFor(e)),[...this.args,new Gr(this.path,this.transactor,this)]]}}class Hi extends Zr{handlerProp="response"}class Hr extends Zr{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 Xi extends Hr{handlerProp="bubble";stopPropagation(){this.opts.bubbles=!1}}class Gi{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 Xr{constructor(t,e,r=null){this.path=t,this.transactor=e,this.parent=r}get at(){return new Qi(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 Gr extends Xr{stopPropagation(){return this.parent.stopPropagation()}}class Qi extends nr{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 Qr{constructor(t,e,r,s,i){this.rootNode=t,this.comps=r,this.compStack=new Ae(r),this.transactor=new Rr(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]=tt.fromEvent(t,i,n,h,u);if(r){let f=_u(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),l=t.target.dataset.dragtype??"?",a=o.buildStack(this.makeStack(f));this.dragInfo=new Ci(o,a,t,_,l,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 G.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()}),je("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 tt([]),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 je(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 _u(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 Ci{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 $e extends ct{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 $e(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 H&&e.val!=="")this._addClasses(e.val);return!0}return!1}}function Pt(t,e){if(!t)throw Error(e)}function j(t){Pt(t!==1/0,"Cannot perform this action with an infinite size.")}function Yi(t,e,r,s,i,n){return j(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 lu=(t,e)=>e,au=(t,e)=>[e,t],Cr=(t)=>function(...e){return!t.apply(this,e)},Bi=(t)=>function(...e){return-t.apply(this,e)};function ln(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 xi=(t,e)=>t<e?1:t>e?-1:0,$={done:!0,value:void 0};class an{constructor(t){this.next=t}[Symbol.iterator](){return this}}function L(t){return new an(t)}function q(t){let e=[void 0,void 0],r={done:!1,value:void 0};return L(()=>{if(t(e))return r.value=[e[0],e[1]],r;return $})}var yu=L(()=>$),ft=()=>yu;function Xe(t){let e=0,r={done:!1,value:void 0};return L(()=>{if(e===t)return $;return r.value=e++,r})}function re(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 ss(t){if(Array.isArray(t))return!0;return!!Ge(t)}var du=(t)=>typeof t?.next==="function";function yn(t){return Ge(t)?.call(t)}function Ge(t){let e=t?.[Symbol.iterator];if(typeof e==="function")return e}function pu(t){let e=Ge(t);return e&&e===t.entries}function gu(t){let e=Ge(t);return e&&e===t.keys}var se="delete",z=5,E=1<<z,U=E-1,d={},mr=()=>({value:!1});function X(t){if(t)t.value=!0}class Qe{}function $t(t){if(t.size===void 0)t.size=t.__iterate(dn);return t.size}function st(t,e){if(typeof e!=="number"){let r=e>>>0;if(String(r)!==e||r===4294967295)return NaN;e=r}return e<0?$t(t)+e:e}var dn=()=>!0,pn=(t)=>t<0||Object.is(t,-0),ie=(t,e,r)=>(t===0&&!pn(t)||r!==void 0&&(t??0)<=-r)&&(e===void 0||r!==void 0&&e>=r),gn=(t,e,r)=>t===void 0?r:pn(t)?e===1/0?e:Math.max(0,e+t)|0:e===void 0||e===t?t:Math.min(e,t)|0,Lt=(t,e)=>gn(t,e,0),ne=(t,e)=>gn(t,e,e),wn="@@__IMMUTABLE_ITERABLE__@@",We="@@__IMMUTABLE_KEYED__@@",Te="@@__IMMUTABLE_INDEXED__@@",it="@@__IMMUTABLE_ORDERED__@@",he="@@__IMMUTABLE_SEQ__@@",zn="@@__IMMUTABLE_LIST__@@",Sn="@@__IMMUTABLE_MAP__@@",On="@@__IMMUTABLE_SET__@@",Mn="@@__IMMUTABLE_STACK__@@",bn="@@__IMMUTABLE_RECORD__@@";function F(t,e){return typeof t==="object"&&t!==null&&e in t}var J=(t)=>F(t,wn),w=(t)=>F(t,We),I=(t)=>F(t,Te),is=(t)=>w(t)||I(t),P=(t)=>F(t,it),ns=(t)=>F(t,he),qn=(t)=>F(t,zn),Ce=(t)=>F(t,Sn),hs=(t)=>F(t,On),us=(t)=>F(t,Mn),dt=(t)=>F(t,bn),B=(t)=>J(t)||dt(t),os=(t)=>Ce(t)&&P(t),En=(t)=>hs(t)&&P(t),Pi=(t)=>typeof t==="object"&&t!==null&&typeof t.equals==="function"&&typeof t.hashCode==="function";function In(t){let e=x(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=Tt,e.__iterate=function(r,s){return t.__iterate((i,n)=>r(n,i,this),s)},e.__iteratorUncached=(r)=>re(t.__iterator(r),(s,i,n)=>{n[0]=i,n[1]=s}),e}function An(t,e,r){let s=x(t);return s.size=t.size,s.has=(i)=>t.has(i),s.get=(i,n)=>{let h=t.get(i,d);return h===d?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)=>re(t.__iterator(i),(n,h,u)=>{u[0]=n,u[1]=e.call(r,h,n,t)}),s}function jn(t,e){let r=x(t);if(r._iter=t,r.size=t.size,r.reverse=()=>t,t.flip)r.flip=function(){let s=In(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=Tt,r.__iterate=function(s,i){let n=0;if(i)$t(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)$t(t);let n=this.size;return re(t.__iterator(!s),(h,u,o)=>{o[0]=e?h:s?n-++i:i++,o[1]=u})},r}function $n(t,e,r,s){let i=t.size;if(ie(e,r,i))return t;if(i===void 0&&(e<0||r<0))return $n(t.toSeq().cacheResult(),e,r,s);let n=Lt(e,i),u=ne(r,i)-n,o;if(!Number.isNaN(u))o=Math.max(0,u);let c=x(t);if(c.size=o===0?o:t.size&&o||void 0,!s&&ns(t)&&o>=0)c.get=function(f,_){return f=st(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 l=0,a=0;return t.__iterate((y,g)=>{if(l<n){l++;return}if(o!==void 0&&a>=o)return!1;if(a++,f(y,s?g:a-1,this)===!1)return!1},_),a},c.__iteratorUncached=function(f){if(o!==0&&f)return this.cacheResult().__iterator(f);if(o===0)return ft();let _=t.__iterator(f),l=0,a=0;if(s)return L(()=>{while(l<n)l++,_.next();if(o!==void 0&&a>=o)return $;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 g=_.next();if(g.done)return!1;return a++,y[0]=a-1,y[1]=g.value[1],!0})},c}function jt(t,e,r){if(!e)e=ln;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?ys(n):I(t)?yt(n):kt(n)}function Ue(t,e,r){if(!e)e=ln;if(r)return t.toSeq().map((i,n)=>[i,r(i,n,t)]).reduce((i,n)=>Fi(e,i[1],n[1])?n:i)?.[0];return t.reduce((s,i)=>Fi(e,s,i)?i:s)}function Fi(t,e,r){let s=t(r,e);return s===0&&r!==e&&(r===void 0||r===null||Number.isNaN(r))||s>0}function Yr(t,e,r,s){let i=x(t),n=new ue(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 l=V(_);return yn(h?l.reverse():l)}),o=0,c=Array(u.length),f=Array(u.length);return q((_)=>{let l=s;for(let a=0;a<u.length;a++)c[a]=u[a].next(),l=s?l&&c[a].done:l||c[a].done;if(l)return!1;for(let a=0;a<c.length;a++)f[a]=c[a].value;return _[0]=o++,_[1]=e(...f),!0})},i}function cs(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 Un(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 nt=(t)=>typeof t==="object"&&(B(t)||Array.isArray(t)||Un(t));function Kn(t){if(cs(t)&&typeof t!=="string")return t;if(P(t))return t.toArray();throw TypeError(`Invalid keyPath: expected Ordered Collection or Array: ${t}`)}var wu=(t,e)=>B(t)?t.has(e):nt(t)&&Object.hasOwn(t,e);function Dn(t,e,r){return B(t)?t.get(e,r):!wu(t,e)?r:typeof t.get==="function"?t.get(e):t[e]}function fs(t,e,r){let s=Kn(e),i=0;while(i!==s.length)if(t=Dn(t,s[i++],d),t===d)return r;return t}var Ln=(t,e)=>fs(t,e,d)!==d;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!!(Pi(t)&&Pi(e)&&t.equals(e))}function Re(t){if(!t||typeof t!=="object")return t;if(!J(t)){if(!nt(t))return t;t=m(t)}if(w(t)){let r={};return t.__iterate((s,i)=>{r[String(i)]=Re(s)}),r}let e=[];return t.__iterate((r)=>{e.push(Re(r))}),e}function _s(t,e){if(t===e)return!0;if(!J(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)||I(t)!==I(e)||P(t)!==P(e))return!1;if(t.size===0&&e.size===0)return!0;let r=!is(t);if(P(t)){let h=t.entries();return!!(e.every((u,o)=>{let c=h.next().value;return c&&A(c[1],u)&&(r||A(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?!A(h,t.get(u,d)):!A(t.get(u,d),h))return i=!1,!1;return!0});return i&&t.size===n}var Ye=(t)=>t>>>1&1073741824|t&3221225471;function Q(t){if(t===null||t===void 0)return ki(t);if(typeof t.hashCode==="function")return Ye(t.hashCode(t));let e=bu(t);if(e===null||e===void 0)return ki(e);switch(typeof e){case"boolean":return e?1108378657:1108378656;case"number":return zu(e);case"string":return e.length>qu?Su(e):Nr(e);case"object":case"function":return Mu(e);case"symbol":return Ou(e);default:if(typeof e.toString==="function")return Nr(e.toString());throw Error(`Value type ${typeof e} cannot be hashed.`)}}var ki=(t)=>t===null?1108378658:1108378659;function zu(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 Ye(e)}function Su(t){let e=Pr[t];if(e===void 0){if(e=Nr(t),xr===Eu)xr=0,Pr={};xr++,Pr[t]=e}return e}function Nr(t){let e=0;for(let r=0;r<t.length;r++)e=31*e+t.charCodeAt(r)|0;return Ye(e)}function Ou(t){let e=mi[t];if(e!==void 0)return e;return e=Wn(),mi[t]=e,e}function Mu(t){let e=Vi.get(t);if(e!==void 0)return e;return e=Wn(),Vi.set(t,e),e}var bu=(t)=>t.valueOf!==Object.prototype.valueOf?t.valueOf():t;function Wn(){let t=++Br;if(Br&1073741824)Br=0;return t}var Vi=new WeakMap,mi=Object.create(null),Br=0,qu=16,Eu=255,xr=0,Pr={};function Iu(t){if(t.size===1/0)return 0;let e=P(t),r=w(t),s=e?1:0;return t.__iterate(r?e?(i,n)=>{s=31*s+Ni(Q(i),Q(n))|0}:(i,n)=>{s=s+Ni(Q(i),Q(n))|0}:e?(i)=>{s=31*s+Q(i)|0}:(i)=>{s=s+Q(i)|0}),Au(t.size,s)}var Ni=(t,e)=>t^e+2654435769+(t<<6)+(t>>2)|0;function Au(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=Ye(e^e>>>16),e}function Ft(t){try{return typeof t==="string"?JSON.stringify(t):String(t)}catch{return JSON.stringify(t)}}var O=(t,e)=>t===e?t:ns(t)?e:t.create?t.create(e):t.constructor(e),Tn=(t,e)=>O(t,(w(t)?C:I(t)?pt:gt)(e)),vi=(...t)=>t,V=(t)=>J(t)?t:m(t);class b{size=0;static{this.prototype[wn]=!0,this.prototype.__toStringMapper=Ft,this.prototype[Symbol.iterator]=this.prototype.values,this.prototype.toJSON=this.prototype.toArray,this.prototype.contains=this.prototype.includes}equals(t){return _s(this,t)}hashCode(){return this.__hash??(this.__hash=Iu(this))}toArray(){j(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 Xn(this)}toJS(){return Re(this)}toKeyedSeq(){return new zs(this,!0)}toMap(){throw Error("toMap: not patched — import CollectionConversions")}toObject(){j(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 Gn(this)}toSeq(){return I(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(!J(s))s=e?Jn(s):Zn(Array.isArray(s)?s:[s]);else if(e)s=C(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)||I(this)&&I(s))return s}return O(this,new Hn(r))}includes(t){return this.some((e)=>A(e,t))}every(t,e){j(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=x(r);if(s)i.has=(n)=>{let h=r.get(n,d);return h!==d&&!!t.call(e,h,n,r)},i.get=(n,h)=>{let u=r.get(n,d);return u!==d&&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)=>Tn(this,i))}find(t,e,r){let s=this.findEntry(t,e);return s?s[1]:r}forEach(t,e){return j(this.size),this.__iterate(e?t.bind(e):t)}join(t){j(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 L(()=>{let r=t.next();if(r.done)return $;return e.value=r.value[0],e})}map(t,e){return O(this,An(this,t,e))}reduce(t,e=d,r){return Yi(this,t,e,r,e===d,!1)}reduceRight(t,e=d,r){return Yi(this,t,e,r,e===d,!0)}reverse(){return O(this,jn(this,w(this)))}slice(t,e){return O(this,$n(this,t,e,w(this)))}some(t,e){j(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,jt(this,t))}values(){let t=this.__iterator(),e={done:!1,value:void 0};return L(()=>{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 $t(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 ue(t._cache);let e=t.toSeq().map(au).toIndexedSeq();return e.fromEntrySeq=()=>t.toSeq(),e}filterNot(t,e){return this.filter(Cr(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(dn,null,t)}flatMap(t,e){return O(this,this.toSeq().map((r,s)=>(w(this)?C:I(this)?pt:gt)(t.call(e,r,s,this))).flatten(!0))}flatten(t){let e=this,r=w(this),s=x(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((_,l)=>{if((!t||f<t)&&J(_))o(_,f+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],c=o.iterator.next();if(c.done){h.pop();continue}let f=c.value[1];if((!t||o.depth<t)&&J(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 Qn(this)}get(t,e){return this.find((r,s)=>A(s,t),void 0,e)}getIn(t,e){return fs(this,t,e)}groupBy(t,e){throw Error("groupBy: not patched — import CollectionConversions")}has(t){return this.get(t,d)!==d}hasIn(t){return Ln(this,t)}isSubset(t){let e=typeof t.includes==="function"?t:V(t);return this.every((r)=>e.includes(r))}isSuperset(t){return(typeof t.isSubset==="function"?t:V(t)).isSubset(this)}keyOf(t){return this.findKey((e)=>A(e,t))}keySeq(){return this.toSeq().map(lu).toIndexedSeq()}last(t){return this.toSeq().reverse().first(t)}lastKeyOf(t){return this.toKeyedSeq().reverse().keyOf(t)}max(t){return Ue(this,t)}maxBy(t,e){return Ue(this,e,t)}min(t){return Ue(this,t?Bi(t):xi)}minBy(t,e){return Ue(this,e?Bi(e):xi,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=x(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 l=_.value[0],a=_.value[1];if(c&&t.call(e,a,l,o))continue;return c=!1,f[0]=s?l:u++,f[1]=a,!0}})},O(this,i)}skipUntil(t,e){return this.skipWhile(Cr(t),e)}sortBy(t,e){return O(this,jt(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=x(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 L(()=>{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(Cr(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 C=(t)=>w(t)?t:ys(t);class ls extends b{static{this.prototype[We]=!0,this.prototype.__toStringMapper=(t,e)=>`${Ft(e)}: ${Ft(t)}`,this.prototype[Symbol.iterator]=b.prototype.entries,this.prototype.toJSON=function(){j(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}}flip(){return O(this,In(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 pt=(t)=>I(t)?t:yt(t);class at extends b{static{this.prototype[Te]=!0,this.prototype[it]=!0}toKeyedSeq(){return new zs(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=d,...r){if(t===void 0)return this;let s=e!==d;if(e=s?Math.max(e||0,0):0,s&&!e&&r.length===0)return this;t=Lt(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=st(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=st(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=x(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=Yr(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(vi,...t)}zipAll(...t){let e=[this,...t];return O(this,Yr(this,vi,e,!0))}zipWith(t,...e){let r=[this,...e];return O(this,Yr(this,t,r))}}var gt=(t)=>J(t)&&!is(t)?t:kt(t);class Be extends b{static{this.prototype.has=b.prototype.includes,this.prototype.contains=b.prototype.includes,this.prototype.keys=Be.prototype.values}get(t,e){return this.has(t)?t:e}includes(t){return this.has(t)}keySeq(){return this.valueSeq()}}V.Keyed=C;V.Indexed=pt;V.Set=gt;var Fr=at.prototype,m=(t)=>t===void 0||t===null?gs():B(t)?t.toSeq():ju(t),x=(t)=>Object.create((w(t)?Wt:I(t)?wt:ds).prototype);class _t extends b{static{this.prototype[he]=!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 L(()=>{if(s===r)return $;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},ys=(t)=>t===void 0||t===null?gs().toKeyedSeq():J(t)?w(t)?t.toSeq():t.fromEntrySeq():dt(t)?t.toSeq():Jn(t);class Wt extends ls{static{this.prototype[he]=!0,Object.assign(this.prototype,as)}toSeq(){return this}toKeyedSeq(){return this}}var yt=(t)=>t===void 0||t===null?gs():J(t)?w(t)?t.entrySeq():t.toIndexedSeq():dt(t)?t.toSeq().entrySeq():Zn(t);yt.of=(...t)=>yt(t);class wt extends at{static{this.prototype[he]=!0,Object.assign(this.prototype,as)}toSeq(){return this}toIndexedSeq(){return this}toString(){return this.__toString("Seq [","]")}}var kt=(t)=>(J(t)&&!is(t)?t:yt(t)).toSetSeq();kt.of=(...t)=>kt(t);class ds extends Be{static{this.prototype[he]=!0,Object.assign(this.prototype,as)}toSeq(){return this}toSetSeq(){return this}}m.isSeq=ns;m.Keyed=ys;m.Set=kt;m.Indexed=yt;class ue extends wt{constructor(t){super();this._array=t,this.size=t.length}get(t,e){return this.has(t)?this._array[st(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 ps extends Wt{static{this.prototype[it]=!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 Rn 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=yn(e);if(!du(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 gs=()=>new ue([]),ws=(t)=>cs(t)?new ue(t):ss(t)?new Rn(t):void 0;function Jn(t){let e=ws(t);if(e)return e.fromEntrySeq();if(typeof t==="object")return new ps(t);throw TypeError(`Expected Array or collection object of [k, v] entries, or keyed object: ${t}`)}function Zn(t){let e=ws(t);if(e)return e;throw TypeError(`Expected Array or collection object of values: ${t}`)}function ju(t){let e=ws(t);if(e)return pu(t)?e.fromEntrySeq():gu(t)?e.toSetSeq():e;if(typeof t==="object")return new ps(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[We])this[We]=!0;if(i[Te])this[Te]=!0;if(i[it])this[it]=!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 L(()=>n()||$)}}class zs extends Wt{static{this.prototype[it]=!0}constructor(t,e){super();this._iter=t,this._useKeys=e,this.size=t.size}cacheResult(){return Tt.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=jn(this,!0);if(!this._useKeys)t.valueSeq=()=>this._iter.toSeq().reverse();return t}map(t,e){let r=An(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 Xn extends wt{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Tt.call(this)}includes(t){return this._iter.includes(t)}__iterateUncached(t,e){let r=0;if(e)$t(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)$t(this);let r=this.size;return re(this._iter.__iterator(t),(s,i,n)=>{n[0]=t?r-++e:e++,n[1]=i})}}class Gn extends ds{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Tt.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 re(this._iter.__iterator(t),(e,r,s)=>{s[0]=r,s[1]=r})}}class Qn extends Wt{constructor(t){super();this._iter=t,this.size=t.size}cacheResult(){return Tt.call(this)}entrySeq(){return this._iter.toSeq()}__iterateUncached(t,e){let r=0;return this._iter.__iterate((s)=>{if(s){tn(s),r++;let i=J(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){tn(i);let n=J(i);return r[0]=n?i.get(0):i[0],r[1]=n?i.get(1):i[1],!0}}})}}function Tt(){if(this._iter.cacheResult)return this._iter.cacheResult(),this.size=this._iter.size,this;return _t.prototype.cacheResult.call(this)}function tn(t){if(t!==Object(t))throw TypeError(`Expected [K, V] tuple: ${t}`)}var W=(t)=>t===void 0||t===null?Y():Ce(t)&&!P(t)?t:Y().withMutations((e)=>{let r=C(t);j(r.size),r.forEach((s,i)=>e.set(i,s))});class Vt extends ls{static{St(this,{asImmutable:fe,asMutable:_e,deleteIn:Ut,merge:vr,mergeWith:kn,mergeDeep:mn,mergeDeepWith:Nn,mergeDeepIn:Us,mergeIn:$s,setIn:Is,update:As,updateIn:js,wasAltered:Es,withMutations:le,removeIn:Ut,concat:vr,[Sn]:!0,[se]: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 W(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 rn(this,t,e)}remove(t){return rn(this,t,d)}deleteAll(t){let e=V(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 Y()}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 Ke(this._root,!1,0)}values(){if(!this._root)return ft();return Ke(this._root,!1,1)}entries(){if(!this._root)return ft();return Ke(this._root,!1)}__iterator(t){if(!this._root)return ft();return Ke(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 Y();return this.__ownerID=t,this.__altered=!1,this}return Ms(this.size,this._root,t,this.__hash)}}W.isMap=Ce;class Ss{constructor(t,e){this.ownerID=t,this.entries=e}get(t,e,r,s){return Cn(this.entries,r,s)}iterate(t,e){return Yn(this.entries,t,e)}update(t,e,r,s,i,n,h){let u=i===d,o=this.entries,c=0,f=o.length;for(;c<f;c++)if(A(s,o[c][0]))break;let _=c<f;if(_?o[c][1]===i:u)return this;if(X(h),u||!_)X(n);if(u&&f===1)return;if(!_&&!u&&f>=Wu)return $u(t,o,s,i);let l=t&&t===this.ownerID,a=l?o:o.slice();if(_)if(u)if(c===f-1)a.pop();else a[c]=a.pop();else a[c]=[s,i];else a.push([s,i]);if(l)return this.entries=a,this;return new Ss(t,a)}}class xe{constructor(t,e,r){this.ownerID=t,this.bitmap=e,this.nodes=r}iterate(t,e){return Bn(this.nodes,t,e)}get(t,e,r,s){let i=1<<((t===0?e:e>>>t)&U),n=this.bitmap;return(n&i)===0?s:this.nodes[nn(n&i-1)].get(t+z,e,r,s)}update(t,e,r,s,i,n,h){let u=(e===0?r:r>>>e)&U,o=1<<u,c=this.bitmap,f=(c&o)!==0;if(!f&&i===d)return this;let _=nn(c&o-1),l=this.nodes,a=f?l[_]:void 0,y=bs(a,t,e+z,r,s,i,n,h);if(y===a)return this;if(!f&&y&&l.length>=Tu)return Ku(t,l,c,u,y);if(f&&!y&&l.length===2&&sn(l[_^1]))return l[_^1];if(f&&y&&l.length===1&&sn(y))return y;let g=t&&t===this.ownerID,S=f?y?c:c^o:c|o,T=f?y?xn(l,_,y,g):Lu(l,_,g):Du(l,_,y,g);if(g)return this.bitmap=S,this.nodes=T,this;return new xe(t,S,T)}}class Os{constructor(t,e,r){this.ownerID=t,this.count=e,this.nodes=r}iterate(t,e){return Bn(this.nodes,t,e)}get(t,e,r,s){let i=(t===0?e:e>>>t)&U,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)&U,o=i===d,c=this.nodes,f=c[u];if(o&&!f)return this;let _=bs(f,t,e+z,r,s,i,n,h);if(_===f)return this;let l=this.count;if(!f)l++;else if(!_){if(l--,l<Ru)return Uu(t,c,l,u)}let a=t&&t===this.ownerID,y=xn(c,u,_,a);if(a)return this.count=l,this.nodes=y,this;return new Os(t,l,y)}}class Pe{constructor(t,e,r){this.ownerID=t,this.keyHash=e,this.entries=r}get(t,e,r,s){return Cn(this.entries,r,s)}iterate(t,e){return Yn(this.entries,t,e)}update(t,e,r,s,i,n,h){if(r!==this.keyHash){if(i===d)return this;return X(h),X(n),qs(this,t,e,r,[s,i])}let u=i===d,o=this.entries,c=0,f=o.length;for(;c<f;c++)if(A(s,o[c][0]))break;let _=c<f;if(_?o[c][1]===i:u)return this;if(X(h),u||!_)X(n);if(u&&f===2)return new zt(t,this.keyHash,o[c^1]);let l=t&&t===this.ownerID,a=l?o:o.slice();if(_)if(u)if(c===f-1)a.pop();else a[c]=a.pop();else a[c]=[s,i];else a.push([s,i]);if(l)return this.entries=a,this;return new Pe(t,this.keyHash,a)}}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 A(r,this.entry[0])?this.entry[1]:s}update(t,e,r,s,i,n,h){let u=i===d,o=A(s,this.entry[0]);if(o?i===this.entry[1]:u)return this;if(X(h),u){X(n);return}if(o){if(t&&t===this.ownerID)return this.entry[1]=i,this;return new zt(t,this.keyHash,[s,i])}return X(n),qs(this,t,e,Q(s),[s,i])}}function Cn(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 Yn(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 Bn(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 Ke(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 L(()=>{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 Ms=(t,e,r,s)=>new Vt(t,e,r,s),en,Y=()=>en||(en=Ms(0));function rn(t,e,r){let s,i;if(!t._root){if(r===d)return t;i=1,s=new Ss(t.__ownerID,[[e,r]])}else{let n=mr(),h=mr();if(s=bs(t._root,t.__ownerID,0,Q(e),e,r,n,h),!h.value)return t;i=t.size+(n.value?r===d?-1:1:0)}if(t.__ownerID)return t.size=i,t._root=s,t.__hash=void 0,t.__altered=!0,t;return s?Ms(i,s):Y()}function bs(t,e,r,s,i,n,h,u){if(!t){if(n===d)return t;return X(u),X(h),new zt(e,s,[i,n])}return t.update(e,r,s,i,n,h,u)}var sn=(t)=>t.constructor===zt||t.constructor===Pe;function qs(t,e,r,s,i){if(t.keyHash===s)return new Pe(e,s,[t.entry,i]);let n=(r===0?t.keyHash:t.keyHash>>>r)&U,h=(r===0?s:s>>>r)&U,u=new zt(e,s,i),o=n===h?[qs(t,e,r+z,s,i)]:n<h?[t,u]:[u,t];return new xe(e,1<<n|1<<h,o)}function $u(t,e,r,s){if(!t)t=new Qe;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 Uu(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 xe(t,i,h)}function Ku(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 Os(t,n+1,h)}function nn(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 xn(t,e,r,s){let i=s?t:t.slice();return i[e]=r,i}function Du(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 Lu(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 Wu=E/4,Tu=E/2,Ru=E/4;function Je(t){if(Array.isArray(t))return t.slice();return{...t}}var cc=(t,...e)=>ce(t,e),fc=(t,e,...r)=>ce(e,r,t),oe=(t,e,r)=>ce(t,e,Ju(r)),_c=(t,...e)=>oe(t,e),lc=(t,e,...r)=>oe(e,r,t);function ce(t,e,r){if(!nt(t))throw TypeError(`Cannot merge into non-data-structure value: ${t}`);if(B(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?pt:C,h=s?(u)=>{if(i===t)i=Je(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=Je(i);i[o]=f}};for(let u of e)n(u).forEach(h);return i}function Ju(t){function e(r,s,i){return nt(r)&&nt(s)&&Zu(r,s)?ce(r,[s],e):t?t(r,s,i):s}return e}function Zu(t,e){let r=m(t),s=m(e);return I(r)===I(s)&&w(r)===w(s)}function Hu(t,e){if(!nt(t))throw TypeError(`Cannot update non-data-structure value: ${t}`);if(B(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=Je(t);if(Array.isArray(r))r.splice(e,1);else delete r[e];return r}function Xu(t,e,r){if(!nt(t))throw TypeError(`Cannot update non-data-structure value: ${t}`);if(B(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=Je(t);return s[e]=r,s}function Rt(t,e,r,s){if(!s)s=r,r=void 0;let i=Pn(B(t),t,Kn(e),0,r,s);return i===d?r:i}function Pn(t,e,r,s,i,n){let h=e===d;if(s===r.length){let _=h?i:e,l=n(_);return l===_?e:l}if(!h&&!nt(e))throw TypeError(`Cannot update within non-data-structure value in path [${Array.from(r).slice(0,s).map(Ft)}]: ${e}`);let u=r[s],o=h?d:Dn(e,u,d),c=Pn(o===d?t:B(o),o,r,s+1,i,n);if(c===o)return e;if(c===d)return Hu(e,u);let f=h?t?Y():{}:e;return Xu(f,u,c)}var Gu=(t,e)=>Rt(t,e,()=>d),Qu=(t,e,r)=>Rt(t,e,d,()=>r);function Fn(t,e,r,s){return Rt(t,[e],r,s)}function fe(){return this.__ensureOwner()}function _e(){return this.__ownerID?this:this.__ensureOwner(new Qe)}function Es(){return this.__altered}function le(t){let e=this.asMutable();return t(e),e.wasAltered()?e.__ensureOwner(this.__ownerID):this}function Cu(t,e){return fs(this,t,e)}function Yu(t){return Ln(this,t)}function Ut(t){return Gu(this,t)}function Is(t,e){return Qu(this,t,e)}function As(t,e,r){return typeof t==="function"?t(this):Fn(this,t,e,r)}function js(t,e,r){return Rt(this,t,e,r)}function hn(){j(this.size);let t={};return this.__iterate((e,r)=>{t[r]=e}),t}function vr(...t){return Vn(this,t)}function kn(t,...e){if(typeof t!=="function")throw TypeError(`Invalid merger function: ${t}`);return Vn(this,e,t)}function Vn(t,e,r){let s=[];for(let i of e){let n=C(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 dt(t)?t:t.create(s[0]);return t.withMutations((i)=>{let n=r?(h,u)=>{Fn(i,u,d,(o)=>o===d?h:r(o,h,u))}:(h,u)=>{i.set(u,h)};for(let h of s)h.forEach(n)})}function mn(...t){return oe(this,t)}function Nn(t,...e){return oe(this,e,t)}function $s(t,...e){return Rt(this,t,Y(),(r)=>ce(r,e))}function Us(t,...e){return Rt(this,t,Y(),(r)=>oe(r,e))}function St(t,e){Object.assign(t.prototype,e)}var K=(t)=>{let e=mt();if(t===void 0||t===null)return e;if(qn(t))return t;let r=pt(t),s=r.size;if(s===0)return e;if(j(s),s>0&&s<E)return ae(0,s,z,null,new lt(r.toArray()));return e.withMutations((i)=>{i.setSize(s),r.forEach((n,h)=>i.set(h,n))})};K.of=(...t)=>K(t);class vn extends at{static{St(this,{asImmutable:fe,asMutable:_e,deleteIn:Ut,mergeDeepIn:Us,mergeIn:$s,setIn:Is,update:As,updateIn:js,wasAltered:Es,withMutations:le,removeIn:Ut,[zn]:!0,[se]: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 K(t)}toString(){return this.__toString("List [","]")}get(t,e){if(t=st(this,t),t>=0&&t<this.size)return t+=this._origin,rh(this,t)?.array[t&U];return e}set(t,e){return xu(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 mt()}push(...t){let e=this.size;return this.withMutations((r)=>{rt(r,0,e+t.length);for(let s=0;s<t.length;s++)r.set(e+s,t[s])})}pop(){return rt(this,0,-1)}unshift(...t){return this.withMutations((e)=>{rt(e,-t.length);for(let r=0;r<t.length;r++)e.set(r,t[r])})}shift(){return rt(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=pt(typeof r!=="string"&&ss(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 K(e[0]);return this.withMutations((r)=>{e.forEach((s)=>s.forEach((i)=>r.push(i)))})}setSize(t){return rt(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(ie(t,e,r))return this;return rt(this,Lt(t,r),ne(e,r))}__iterate(t,e){let r=e?this.size:0;return Bu(this,(s)=>t(s,e?--r:r++,this),e),e?this.size-r:r}__iterator(t){let e=t?this.size:0,r=un(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 un(this,!1)}keys(){return Xe(this.size)}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return mt();return this.__ownerID=t,this.__altered=!1,this}return ae(this._origin,this._capacity,this._level,this._root,this._tail,t,this.__hash)}}K.isList=qn;class lt{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&U;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-z,r),n===u&&i)return this}if(i&&!n)return this;let h=Kt(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&U;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=Kt(this,t);if(n.array.splice(s+1),i)n.array[s]=i;return n}}function un(t,e){let{_origin:r,_capacity:s}=t,i=Dt(s),n=t._tail,h=[];o(t._root,t._level,0);let u={done:!1,value:void 0};return L(()=>{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],l=c.level-z,a=c.offset+(f<<c.level);o(_,l,a)}return $});function o(c,f,_){if(f===0){let l=_===i?n?.array:c?.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=c?.array,a=_>r?0:r-_>>f,y=(s-_>>f)+1;if(y>E)y=E;if(a!==y)h.push({array:l,from:a,to:y,level:f,offset:_,isLeaf:!1})}}}function Bu(t,e,r){let{_origin:s,_capacity:i}=t,n=Dt(i),h=t._tail,u=t._level,o=t._root;return u===0?th(o,0,s,i,n,h,e,r):eh(o,u,0,s,i,n,h,e,r)}function th(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 eh(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 l=e-z;while(f!==_){let a=o?--_:f++,y=r+(a<<e);if((l===0?th(c?.[a],y,s,i,n,h,u,o):eh(c?.[a],l,y,s,i,n,h,u,o))===!1)return!1}}var ae=(t,e,r,s,i,n,h)=>new vn(t,e,r,s,i,n,h),mt=()=>ae(0,0,z);function xu(t,e,r){if(e=st(t,e),Number.isNaN(e))return t;if(e>=t.size||e<0)return t.withMutations((h)=>{if(e<0)rt(h,e).set(0,r);else rt(h,0,e+1).set(e,r)});e+=t._origin;let{_tail:s,_root:i}=t,n=mr();if(e>=Dt(t._capacity))s=ts(s,t.__ownerID,0,e,r,n);else i=ts(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 ae(t._origin,t._capacity,t._level,i,s)}function ts(t,e,r,s,i,n){let h=s>>>r&U,u=t&&h<t.array.length;if(!u&&i===void 0)return t;let o;if(r>0){let c=t?.array[h],f=ts(c,e,r-z,s,i,n);if(f===c)return t;return o=Kt(t,e),o.array[h]=f,o}if(u&&t.array[h]===i)return t;if(n)X(n);if(o=Kt(t,e),i===void 0&&h===o.array.length-1)o.array.pop();else o.array[h]=i;return o}function Kt(t,e){if(e&&e===t?.ownerID)return t;return new lt(t?.array.slice()??[],e)}function rh(t,e){if(e>=Dt(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&U],s-=z;return r}}function rt(t,e,r){if(e!==void 0)e|=0;if(r!==void 0)r|=0;let s=t.__ownerID||new Qe,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 lt(c?.array.length?[void 0,c]:[],s),o+=z,f+=1<<o;if(f)h+=f,i+=f,u+=f,n+=f;let _=Dt(n),l=Dt(u);while(l>=1<<o+z)c=new lt(c?.array.length?[c]:[],s),o+=z;let a=t._tail,y=l<_?rh(t,u-1):l>_?new lt([],s):a;if(a&&l>_&&h<n&&a.array.length){c=Kt(c,s);let g=c;for(let S=o;S>z;S-=z){let T=_>>>S&U;g=g.array[T]=Kt(g.array[T],s)}g.array[_>>>z&U]=a}if(u<n)y=y?.removeAfter(s,0,u);if(h>=l)h-=l,u-=l,o=z,c=null,y=y?.removeBefore(s,0,h);else if(h>i||l<_){f=0;while(c){let g=h>>>o&U;if(g!==l>>>o&U)break;if(g)f+=(1<<o)*g;o-=z,c=c.array[g]}if(c&&h>i)c=c.removeBefore(s,o,h-f);if(c&&l<_)c=c.removeAfter(s,o,l-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 ae(h,u,o,c,y)}var Dt=(t)=>t<E?0:t-1>>>z<<z,D=(t)=>t===void 0||t===null?Nt():os(t)?t:Nt().withMutations((e)=>{let r=C(t);j(r.size),r.forEach((s,i)=>e.set(i,s))});D.of=(...t)=>D(t);class sh extends Vt{static{St(this,{[it]:!0,[se]: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 Nt()}set(t,e){return on(this,t,e)}remove(t){return on(this,t,d)}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 Nt();return this.__ownerID=t,this.__altered=!1,this._map=e,this._list=r,this}return Ks(e,r,t,this.__hash)}}D.isOrderedMap=os;var Ks=(t,e,r,s)=>new sh(t,e,r,s),Nt=()=>Ks(Y(),mt());function on(t,e,r){let{_map:s,_list:i}=t,n=s.get(e),h=n!==void 0,u,o;if(r===d){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=mt().withMutations((f)=>{for(let _=0;_<c.length;_++)f.set(_,c[_])}),u=Y().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 Ks(u,o)}var vt=(t)=>t===void 0||t===null?Ze():us(t)?t:Ze().pushAll(t);vt.of=(...t)=>vt(t);class ih extends at{static{St(this,{asImmutable:fe,asMutable:_e,wasAltered:Es,withMutations:le,[Mn]:!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 vt(t)}toString(){return this.__toString("Stack [","]")}get(t,e){let r=this._head;t=st(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 kr(this,e,r)}pushAll(t){if(t=pt(t),t.size===0)return this;if(this.size===0&&us(t))return t;j(t.size);let e=this.size,r=this._head;return t.__iterate((s)=>{e++,r={value:s,next:r}},!0),kr(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 Ze()}slice(t,e){if(ie(t,e,this.size))return this;let r=Lt(t,this.size);if(ne(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 kr(this,i,n)}__ensureOwner(t){if(t===this.__ownerID)return this;if(!t){if(this.size===0)return Ze();return this.__ownerID=t,this.__altered=!1,this}return Ds(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 L(()=>{if(!t)return $;return e.value=t.value,t=t.next,e})}keys(){return Xe(this.size)}}vt.isStack=us;function kr(t,e,r){if(t.__ownerID)return t.size=e,t._head=r,t.__hash=void 0,t.__altered=!0,t;return Ds(e,r)}var Ds=(t,e,r,s)=>new ih(t,e,r,s),cn,Ze=()=>cn||(cn=Ds(0)),M=(t)=>t===void 0||t===null?ee():hs(t)&&!P(t)?t:ee().withMutations((e)=>{let r=gt(t);j(r.size),r.forEach((s)=>e.add(s))});M.of=(...t)=>M(t);M.fromKeys=(t)=>M(C(t).keySeq());M.intersect=(t)=>{return t=V(t).toArray(),t.length?M(t.pop()).intersect(...t):ee()};M.union=(t)=>{let e=V(t).toArray();return e.length?M(e.pop()).union(...e):ee()};class te extends Be{static{St(this,{withMutations:le,asImmutable:fe,asMutable:_e,[On]:!0,[se]: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 De(this,this._map.set(t,t))}remove(t){return De(this,this._map.remove(t))}clear(){return De(this,this._map.clear())}map(t,e){let r=!1,s=De(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 gt(r).forEach((s)=>e.add(s))})}intersect(...t){return _n(this,t,(e,r)=>!r.every((s)=>s.includes(e)))}subtract(...t){return _n(this,t,(e,r)=>r.some((s)=>s.includes(e)))}wasAltered(){return this._map.wasAltered()}__iterator(t){return this._map.__iterator(t)}__empty(){return ee()}__make(t,e){return nh(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=hs;var nh=(t,e)=>new te(t,e),fn,ee=()=>fn||(fn=nh(Y()));function _n(t,e,r){if(e.length===0)return t;return e=e.map((s)=>gt(s)),t.withMutations((s)=>{t.forEach((i)=>{if(r(i,e))s.remove(i)})})}function De(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 k=(t)=>t===void 0||t===null?es():En(t)?t:es().withMutations((e)=>{let r=gt(t);j(r.size),r.forEach((s)=>e.add(s))});k.of=(...t)=>k(t);k.fromKeys=(t)=>k(C(t).keySeq());class hh extends te{static{St(this,{[it]:!0,[Symbol.toStringTag]:"Immutable.OrderedSet",zip:Fr.zip,zipWith:Fr.zipWith,zipAll:Fr.zipAll})}create(t){return k(t)}toString(){return this.__toString("OrderedSet {","}")}__empty(){return es()}__make(t,e){return uh(t,e)}}k.isOrderedSet=En;var uh=(t,e)=>new hh(t,e),es=()=>uh(Nt()),ac={LeftThenRight:-1,RightThenLeft:1};function Pu(t){if(dt(t))throw Error("Can not call `Record` with an immutable Record as default values. Use a plain javascript object instead.");if(B(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 Fe=(t,e)=>{let r;Pu(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 ${Ls(this)} with property "${f}" since that property name is part of the Record API.`);else ku(i,f)}}return this.__ownerID=void 0,this._values=K().withMutations((u)=>{u.setSize(this._keys.length),C(h).forEach((o,c)=>{u.set(this._indices[c],o===this._defaultValues[c]?void 0:o)})}),this},i=s.prototype=Object.create(Fu);if(i.constructor=s,i.create=s,e)s.displayName=e;return s};class oh{static{St(this,{asImmutable:fe,asMutable:_e,deleteIn:Ut,getIn:Cu,hasIn:Yu,merge:vr,mergeWith:kn,mergeDeep:mn,mergeDeepWith:Nn,mergeDeepIn:Us,mergeIn:$s,setIn:Is,toObject:hn,update:As,updateIn:js,withMutations:le,removeIn:Ut,toJSON:hn,[bn]:!0,[se]:this.prototype.remove,[Symbol.iterator]:this.prototype.entries,[Symbol.toStringTag]:"Immutable.Record"})}toString(){let t=this._keys.map((e)=>`${e}: ${Ft(this.get(e))}`).join(", ");return`${Ls(this)} { ${t} }`}equals(t){return this===t||dt(t)&&At(this).equals(At(t))}hashCode(){return At(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 Vr(this,r)}return this}remove(t){return this.set(t)}clear(){let t=this._values.clear().setSize(this._keys.length);return this.__ownerID?this:Vr(this,t)}wasAltered(){return this._values.wasAltered()}toSeq(){return At(this)}toJS(){return Re(this)}entries(){return this.__iterator()}__iterate(t,e){return At(this).__iterate(t,e)}__iterator(t){return At(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 Vr(this,e,t)}}Fe.isRecord=dt;var Ls=(t)=>t.constructor.displayName||t.constructor.name||"Record";class ch extends Wt{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 At=(t)=>new ch(t);Fe.getDescriptiveName=Ls;var Fu=oh.prototype;function Vr(t,e,r){let s=Object.create(Object.getPrototypeOf(t));return s._values=e,s.__ownerID=r,s}function ku(t,e){Object.defineProperty(t,e,{get(){return this.get(e)},set(r){Pt(this.__ownerID,"Cannot set on an immutable record."),this.set(e,r)}})}var rs=(t,e,r=1)=>{if(Pt(r!==0,"Cannot step a Range by 0"),Pt(t!==void 0,"You must define a start value when using Range"),Pt(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 Ws(t,e,r,s)};class Ws 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+st(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(ie(t,e,this.size))return this;if(t=Lt(t,this.size),e=ne(e,this.size),e<=t)return rs(0,0);return rs(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 L(()=>{if(s===t)return $;return i.value=r,r+=e,s++,i})}keys(){return Xe(this.size)}equals(t){return t instanceof Ws?this._start===t._start&&this._end===t._end&&this._step===t._step:_s(this,t)}static{this.prototype[Symbol.iterator]=this.prototype.values}}var yc=(t,e)=>{let r=e===void 0?1/0:Math.max(0,e);return new He(t,r)};class He 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 A(this._value,t)}slice(t,e){let r=this.size;return ie(t,e,r)?this:new He(this._value,ne(e,r)-Lt(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 L(()=>{if(r===t)return $;return r++,s.value=e,s})}keys(){return Xe(this.size)}equals(t){return t instanceof He?this.size===t.size&&A(this._value,t._value):_s(this,t)}static{this.prototype[Symbol.iterator]=this.prototype.values}}var dc=(t,e)=>fh([],e??Vu,t,"",e?.length>2?[]:void 0,{"":t});function fh(t,e,r,s,i,n){if(typeof r!=="string"&&!B(r)&&(cs(r)||ss(r)||Un(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,m(r).map((u,o)=>fh(t,e,u,o,i,r)),i?.slice());if(t.pop(),i)i.pop();return h}return r}var Vu=(t,e)=>I(e)?e.toList():w(e)?e.toMap():e.toSet(),Le=(t)=>w(t)?t.valueSeq():t;function mu(){b.prototype.toMap=function(){return W(this.toKeyedSeq())},b.prototype.toOrderedMap=function(){return D(this.toKeyedSeq())},b.prototype.toOrderedSet=function(){return k(Le(this))},b.prototype.toSet=function(){return M(Le(this))},b.prototype.toStack=function(){return vt(Le(this))},b.prototype.toList=function(){return K(Le(this))},b.prototype.countBy=function(e,r){let s=W().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=(P(this)?D():W()).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 rs(0,this.size)},Vt.prototype.sort=function(e){return D(jt(this,e))},Vt.prototype.sortBy=function(e,r){return D(jt(this,r,e))},te.prototype.sort=function(e){return k(jt(this,e))},te.prototype.sortBy=function(e,r){return k(jt(this,r,e))}}var Nu="7.0.0",vu={version:Nu};mu();var{version:pc}=vu;var _h=Symbol("BadValue"),dh=(t)=>t;class Z{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,_h);if(h===_h)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 Rs{isValid(t){return!0}getMessage(t){return"Invalid"}}class ph extends Rs{}var to=new ph;class N extends Rs{constructor(t,e){super();this._isValid=t,this._getMessage=e}isValid(t){return this._isValid(t)}getMessage(t){return this._getMessage(t)}}var eo=new N((t)=>Number.isInteger(t),()=>"Integer expected"),ro=new N((t)=>Number.isFinite(t),()=>"Float expected"),so=new N((t)=>typeof t==="boolean",()=>"Boolean expected"),io=new N((t)=>typeof t==="string",()=>"String expected"),no=new N((t)=>K.isList(t),()=>"List expected"),ho=new N((t)=>W.isMap(t),()=>"Map expected"),uo=new N((t)=>D.isOrderedMap(t),()=>"OrderedMap expected"),oo=new N((t)=>M.isSet(t),()=>"Set expected"),co=(t)=>!!t;class Js extends Z{constructor(t,e=!1){super("bool",t,so,co,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 ke extends Z{constructor(t,e=null){super("any",t,to,dh,e)}toDataDef(){let{defaultValue:t}=this;return{type:Ts(t)??"any",defaultValue:t?.toJS?t.toJS():t}}}var fo=(t)=>t?.toString?.()??"";class Zs extends Z{constructor(t,e=""){super("text",t,io,fo,e)}extendProtoForType(t,e){Cs(t,this.name,e,"","length")}}var _o=(t)=>Number.isFinite(t)?Math.trunc(t):null;class gh extends Z{constructor(t,e=0){super("int",t,eo,_o,e)}}var lo=(t)=>null;class Hs extends Z{constructor(t,e=0){super("float",t,ro,lo,e)}}var Ts=(t)=>t?.constructor?.getMetaClass?.()?.name;class wh{constructor(t){this.typeName=t}isValid(t){return Ts(t)===this.typeName}getMessage(t){let e=Ts(t);return`Expected "${this.typeName}", got "${e}"`}}class zh extends Z{constructor(t,e,r){super(t,e,new wh(t),dh,null);this.args=r}toDataDef(){return{component:this.typeName,args:this.args}}}var lh=Symbol("NONE");function Jt(t,e,r){Cs(t,e,r,Oh),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,lh);if(h!==lh)return this.set(e,n.set(s,i(h)));return console.warn("key",s,"not found in",e,n),this},Sh(t,e,`${r}At`)}function Sh(t,e,r){t[`deleteIn${r}`]=function(s){return this.set(e,this.get(e).delete(s))},t[`removeIn${r}`]=t[`deleteIn${r}`]}var Oh=K(),ao=(t)=>Array.isArray(t)?K(t):null;class Xs extends Z{constructor(t,e=Oh){super("list",t,no,ao,e)}extendProtoForType(t,e){let{name:r}=this;Jt(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 yo=(t)=>W(t);class Gs extends Z{constructor(t,e=W()){super("map",t,ho,yo,e)}extendProtoForType(t,e){Jt(t,this.name,e)}}var po=(t)=>D(t);class Qs extends Z{constructor(t,e=D()){super("omap",t,uo,po,e)}extendProtoForType(t,e){Jt(t,this.name,e)}}function Cs(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 ah=M(),go=(t)=>Array.isArray(t)?M(t):t instanceof Set?M(t):null;class Ys extends Z{constructor(t,e=ah){super("set",t,oo,go,e)}extendProtoForType(t,e){let{name:r}=this;Cs(t,r,e,ah),t[`addIn${e}`]=function(s){return this.set(r,this.get(r).add(s))},Sh(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 yh(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 Mh{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]=yh(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]=yh(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]:Fe(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 zh(e,t,r);return this.compFields.add(t),this.fields[t]=s,s}}var Ve=new Map,wo={text:Zs,int:gh,float:Hs,bool:Js,list:Xs,map:Gs,omap:Qs,set:Ys,any:ke};function zo(t,{fields:e={},methods:r,statics:s}){let i=new Mh(t);for(let n in e){let h=e[n],u=typeof h;if(u==="string")i.addField(n,h,Zs);else if(u==="number")i.addField(n,h,Hs);else if(u==="boolean")i.addField(n,h,Js);else if(K.isList(h)||Array.isArray(h))i.addField(n,K(h),Xs);else if(M.isSet(h)||h instanceof Set)i.addField(n,M(h),Ys);else if(D.isOrderedMap(h))i.addField(n,h,Qs);else if(h?.type&&h?.defaultValue!==void 0){let o=wo[h.type]??ke;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(W.isMap(h)||h?.constructor===Object)i.addField(n,W(h),Gs);else{let o=Ve.get(h?.constructor)??ke;i.addField(n,h,o)}}if(r)i.methods(r);if(s)i.statics(s);return i.build()}var So=(t)=>new Kr(t.name??"Comp",zo(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 Oo=["nid","cid","eid","vid","si","sk"];class Bs{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??Ao,this.cache=h??new Ar}setNullCache(){this.cache=new Ir}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 Oo)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[_,l]of o(i))if(n.call(t.it,_,l,f)){let a=t.enter(l,{key:_},!0),y=this.renderIt(a,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[l,a]of c(i))if(n.call(t.it,l,a,_)){let y={key:l,value:a},g=`${s}-${l}`,S;if(u)u.call(t.it,y,l,a,_),S=this.cache.get2(t.it,a,g);else S=this.cache.get(a,g);if(S){this.pushEachEntry(f,s,o,l,S);continue}let T=t.enter(a,y,!1),v=this.renderView(r,T);if(this.pushEachEntry(f,s,o,l,v),u)this.cache.set2(t.it,a,g,v);else this.cache.set(a,g,v)}return f}renderView(t,e){if(e.binds.tail!==null)for(let r of e.binds.tail){if(!r.isFrame)continue;if(e.it!==r.it)break;return console.error("recursion detected",e.it,r.it),this.renderComment("RECURSION AVOIDED")}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*Mo(t){let e=0;for(let r of t)yield[e++,r]}function*bo(t){for(let[e,r]of t.toSeq().entries())yield[e,r]}var me=new Map,qo=["si",Mo],Eo=["sk",bo],Io=["si",function*(e){}];function Ao(t){return I(t)?qo:w(t)?Eo:me.get(t?.constructor)??Io}class Ot{constructor(t=W(),e=K()){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 jo=(t)=>null;class bh{isValid(t){return t instanceof Ot}getMessage(t){return"KList expected"}}var $o=new bh;class qh extends Z{constructor(t,e=new Ot){super("KList",t,$o,jo,e)}extendProtoForType(t,e){Jt(t,this.name,e);let{name:r}=this;Jt(t,r,e),t[`pushIn${e}`]=function(s){return this.set(r,this.get(r).push(s))}}}Ve.set(Ot,qh);function*Uo(t){for(let e of t.order)yield[e,t.items.get(e)]}me.set(Ot,["data-sk",Uo]);var Ps=(t)=>t[4]==="-"&&(t[0]==="d"||t[0]==="a"),ye=(t)=>t!==null&&typeof t==="object",Ih=(t,e)=>Object.getPrototypeOf(t)!==Object.getPrototypeOf(e);function Ah(t,e,r){for(let s in e){let i=e[s];if(i===void 0)Ko(t,s,r);else if(Ps(s))t.setAttribute(s,i);else if(s==="dangerouslySetInnerHTML")t.innerHTML=i.__html??"";else if(ye(i))Do(t,r,s,i);else if(s==="className")t.setAttribute("class",i);else t[s]=i}}function Ko(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"||Ps(e))t.removeAttribute(e);else t[e]=null}function Do(t,e,r,s){let i=e?.[r];if(ye(i)&&Ih(i,s)){t[r]=s;return}if(!ye(t[r]))t[r]={};let n=t[r];for(let h in s)n[h]=s[h]}class Zt{}var xs=(t)=>t instanceof tr?t.key:void 0,Lo=(t)=>t!=null&&typeof t!=="string"&&typeof t[Symbol.iterator]==="function";function jh(t,e){for(let r=0;r<t.length;r++)if(!t[r].isEqualTo(e[r]))return!1;return!0}function Fs(t,e,r){for(let s of e)t.appendChild(s.toDom(r))}function ks(t,e){if(e==null)return;if(Lo(e))for(let r of e)ks(t,r);else if(e instanceof Zt)if(e instanceof Mt)t.push(...e.childs);else t.push(e);else t.push(new Vs(e))}class Vs extends Zt{constructor(t){super();this.text=String(t)}get nodeType(){return 3}isEqualTo(t){return t instanceof Vs&&this.text===t.text}toDom(t){return t.document.createTextNode(this.text)}}class ve extends Zt{constructor(t){super();this.text=t}get nodeType(){return 8}isEqualTo(t){return t instanceof ve&&this.text===t.text}toDom(t){return t.document.createComment(this.text)}}class Mt extends Zt{constructor(t){super();this.childs=[],ks(this.childs,t)}get nodeType(){return 11}isEqualTo(t){if(!(t instanceof Mt)||this.childs.length!==t.childs.length)return!1;return jh(this.childs,t.childs)}toDom(t){let e=t.document.createDocumentFragment();return Fs(e,this.childs,t),e}}class tr extends Zt{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 tr)||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 jh(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 Ah(r,this.attrs,{}),Fs(r,this.childs,t),r}}function $h(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(ye(i)&&ye(n))if(Ih(n,i))r??={},r[s]=n;else{let h=$h(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 Uh(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=$h(e.attrs,r.attrs);if(h)Ah(t,h,e.attrs);if(!r.attrs.dangerouslySetInnerHTML)Eh(t,e.childs,r.childs,s);return t}if(i===11)return Eh(t,e.childs,r.childs,s),t}let n=r.toDom(s);return t.parentNode?.replaceChild(n,t),n}function Eh(t,e,r,s){if(e.length===0){Fs(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=xs(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=xs(c),_=-1;if(f!=null){if(f in n&&!h[n[f]])_=n[f]}else while(u<e.length){if(!h[u]&&xs(e[u])==null){_=u++;break}u++}if(_>=0){h[_]=1;let l=Uh(i[_],e[_],c,s),a=t.childNodes[o]??null;if(l!==a)t.insertBefore(l,a)}else{let l=t.childNodes[o]??null;t.insertBefore(c.toDom(s),l)}}for(let o=e.length-1;o>=0;o--)if(!h[o]&&i[o].parentNode===t)t.removeChild(i[o])}var Ne=new WeakMap;function Kh(t,e,r){let s=Ne.get(e),i=t instanceof Mt;if(s&&s.vnode instanceof Mt===i){let h=i?e:s.dom,u=Uh(h,s.vnode,t,r);return Ne.set(e,{vnode:t,dom:i?e:u}),u}Ne.delete(e);let n=t.toDom(r);return e.replaceChildren(n),Ne.set(e,{vnode:t,dom:i?e:n}),n}function Dh(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]=Ps(o)?String(c):c}}let u=[];return ks(u,r),new tr(s,i,u,n,h)}var{raw:Wc,raw:Tc}=String;function Rc(t,e){return new Sr(t,e)}var Wo=(t)=>typeof t==="string"?document.querySelector(t):t;function Jc(t){let e=Wo(t),r=new Ie,s=(o)=>new Mt(o),i=(o)=>new ve(o),n={document},h=(o,c)=>Kh(o,c,n),u=new Bs(r,Dh,s,i,h);return new Qr(e,h,r,u,ct)}async function Pc(t,e,r="margaui-css"){let s=performance.now(),i=await To(t,e),n=performance.now();return je(r,i),n-s}async function To(t,e,r,s=$e){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))}export{pc as version,Rt as updateIn,Fn as update,Jc as tutuca,Qu as setIn,Xu as set,me as seqInfoByClass,Gu as removeIn,Hu as remove,fc as mergeWith,lc as mergeDeepWith,_c as mergeDeep,cc as merge,Rc as macro,Pi as isValueObject,us as isStack,hs as isSet,ns as isSeq,dt as isRecord,Un as isPlainObject,En as isOrderedSet,os as isOrderedMap,P as isOrdered,os as isOMap,Ce as isMap,qn as isList,w as isKeyed,I as isIndexed,B as isImmutable,Ce as isIMap,J as isCollection,is as isAssociative,A as is,je as injectCss,Tc as html,Q as hash,Ln as hasIn,wu as has,fs as getIn,Dn as get,dc as fromJS,Ve as fieldsByClass,Wc as css,So as component,To as compileClassesToStyleText,Pc as compileClassesToStyle,vt as Stack,M as Set,m as Seq,yc as Repeat,Fe as Record,rs as Range,ct as ParseContext,ac as PairSorting,k as OrderedSet,D as OrderedMap,D as OMap,W as Map,K as List,Ot as KList,M as ISet,W as IMap,V as Collection};
|
package/dist/tutuca.js
CHANGED
|
@@ -6953,6 +6953,16 @@ class Renderer {
|
|
|
6953
6953
|
return r;
|
|
6954
6954
|
}
|
|
6955
6955
|
renderView(view, stack) {
|
|
6956
|
+
if (stack.binds.tail !== null) {
|
|
6957
|
+
for (const binds of stack.binds.tail) {
|
|
6958
|
+
if (!binds.isFrame)
|
|
6959
|
+
continue;
|
|
6960
|
+
if (stack.it !== binds.it)
|
|
6961
|
+
break;
|
|
6962
|
+
console.error("recursion detected", stack.it, binds.it);
|
|
6963
|
+
return this.renderComment("RECURSION AVOIDED");
|
|
6964
|
+
}
|
|
6965
|
+
}
|
|
6956
6966
|
return view.render(stack, this);
|
|
6957
6967
|
}
|
|
6958
6968
|
renderText(text) {
|