@optionfactory/fml 8.0.0 → 8.0.1

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.
Files changed (45) hide show
  1. package/dist/client-errors.iife.js +11 -8
  2. package/dist/client-errors.iife.js.map +1 -1
  3. package/dist/client-errors.iife.min.js +1 -1
  4. package/dist/client-errors.iife.min.js.map +1 -1
  5. package/dist/fml.css +10 -1
  6. package/dist/fml.css.map +1 -1
  7. package/dist/fml.d.mts +73 -13
  8. package/dist/fml.iife.js +598 -208
  9. package/dist/fml.iife.js.map +1 -1
  10. package/dist/fml.iife.min.js +1 -1
  11. package/dist/fml.iife.min.js.map +1 -1
  12. package/dist/fml.min.mjs +1 -1
  13. package/dist/fml.min.mjs.map +1 -1
  14. package/dist/fml.mjs +598 -208
  15. package/dist/fml.mjs.map +1 -1
  16. package/dist/ftl.d.mts +2 -1
  17. package/dist/ftl.iife.js +60 -33
  18. package/dist/ftl.iife.js.map +1 -1
  19. package/dist/ftl.iife.min.js +1 -1
  20. package/dist/ftl.iife.min.js.map +1 -1
  21. package/dist/ftl.min.mjs +1 -1
  22. package/dist/ftl.min.mjs.map +1 -1
  23. package/dist/ftl.mjs +60 -33
  24. package/dist/ftl.mjs.map +1 -1
  25. package/dist/ful.css +10 -1
  26. package/dist/ful.css.map +1 -1
  27. package/dist/ful.d.mts +22 -6
  28. package/dist/ful.iife.js +496 -166
  29. package/dist/ful.iife.js.map +1 -1
  30. package/dist/ful.iife.min.js +1 -1
  31. package/dist/ful.iife.min.js.map +1 -1
  32. package/dist/ful.min.mjs +1 -1
  33. package/dist/ful.min.mjs.map +1 -1
  34. package/dist/ful.mjs +496 -166
  35. package/dist/ful.mjs.map +1 -1
  36. package/dist/httpc.d.mts +49 -6
  37. package/dist/httpc.iife.js +40 -9
  38. package/dist/httpc.iife.js.map +1 -1
  39. package/dist/httpc.iife.min.js +1 -1
  40. package/dist/httpc.iife.min.js.map +1 -1
  41. package/dist/httpc.min.mjs +1 -1
  42. package/dist/httpc.min.mjs.map +1 -1
  43. package/dist/httpc.mjs +40 -9
  44. package/dist/httpc.mjs.map +1 -1
  45. package/package.json +6 -7
package/dist/ftl.min.mjs CHANGED
@@ -1,2 +1,2 @@
1
- const t={ter:Symbol("ternary"),elv:Symbol("elvis"),nullc:Symbol("null-coalescence"),or:Symbol("or"),and:Symbol("and"),eq:Symbol("eq"),cmp:Symbol("cmp"),not:Symbol("not"),access:Symbol("access"),member:Symbol("access-member"),subscript:Symbol("access-subscript"),method:Symbol("access-method-call"),call:Symbol("module-function-call"),tstring:Symbol("tstring"),literal:Symbol("literal"),array:Symbol("array-literal"),dict:Symbol("dict-literal"),function:Symbol("module-function"),symbol:Symbol("symbol"),templated:{ten:Symbol("templated-node"),teh:Symbol("templated-html"),tet:Symbol("templated-text"),tel:Symbol("templated-literal")},dom:{t:Symbol("text"),h:Symbol("html"),n:Symbol("node")}};class e extends SyntaxError{constructor(t,e,r,n){super(t),this.expected=e,this.found=r,this.location=n,this.name="SyntaxError"}format(t){let e="Error: "+this.message;if(this.location){let r=null;const n=t.find(t=>t.source===this.location.source);n&&(r=n.text.split(/\r\n|\n|\r/g));const s=this.location.start,o=this.location.source&&"function"==typeof this.location.source.offset?this.location.source.offset(s):s,l=this.location.source+":"+o.line+":"+o.column;if(r){const t=this.location.end,n="".padEnd(o.line.toString().length," "),a=r[s.line-1],i=(s.line===t.line?t.column:a.length+1)-s.column||1;e+="\n --\x3e "+l+"\n"+n+" |\n"+o.line+" | "+a+"\n"+n+" | "+"".padEnd(s.column-1," ")+"".padEnd(i,"^")}else e+="\n at "+l}return e}static buildMessage(t,e){function r(t){return t.codePointAt(0).toString(16).toUpperCase()}const n=Object.prototype.hasOwnProperty.call(RegExp.prototype,"unicode")?new RegExp("[\\p{C}\\p{Mn}\\p{Mc}]","gu"):null;function s(t){return n?t.replace(n,t=>"\\u{"+r(t)+"}"):t}function o(t){return s(t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,t=>"\\x0"+r(t)).replace(/[\x10-\x1F\x7F-\x9F]/g,t=>"\\x"+r(t)))}function l(t){return s(t.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,t=>"\\x0"+r(t)).replace(/[\x10-\x1F\x7F-\x9F]/g,t=>"\\x"+r(t)))}const a={literal:t=>'"'+o(t.text)+'"',class(t){const e=t.parts.map(t=>Array.isArray(t)?l(t[0])+"-"+l(t[1]):l(t));return"["+(t.inverted?"^":"")+e.join("")+"]"+(t.unicode?"u":"")},any:()=>"any character",end:()=>"end of input",other:t=>t.description};function i(t){return a[t.type](t)}return"Expected "+function(t){const e=t.map(i);if(e.sort(),e.length>0){let t=1;for(let r=1;r<e.length;r++)e[r-1]!==e[r]&&(e[t]=e[r],t++);e.length=t}switch(e.length){case 1:return e[0];case 2:return e[0]+" or "+e[1];default:return e.slice(0,-1).join(", ")+", or "+e[e.length-1]}}(t)+" but "+function(t){return t?'"'+o(t)+'"':"end of input"}(e)+" found."}}function r(r,n){const s={},o=(n=void 0!==n?n:{}).grammarSource,l={TemplatedRoot:Se,ExpressionRoot:Te};let a=Se;const i="{{{{",u="}}}}",c="{{{",h="}}}",d="{{",p="}}",f="\\",m="{",g="?",b=":",y="?:",A="??",v="||",x="&&",E="!",P="?.",C=".",S="[",w="]",T="(",M=",",O=")",D="true",N="false",_="null",R="undefined",F="-",k="'",L='"',$="`",H="}",j="#",I="==",q="!=",V=">=",B=">",W="<=",X="<",Z=/^[^\\{]/,z=/^[0-9]/,J=/^[^']/,Q=/^[^"]/,U=/^[^\\`{]/,G=/^[a-zA-Z$_]/,K=/^[a-zA-Z$_0-9_]/,Y=/^[ \t\n\r]/,tt=Ae("{{{{",!1),et=Ae("}}}}",!1),rt=Ae("{{{",!1),nt=Ae("}}}",!1),st=Ae("{{",!1),ot=Ae("}}",!1),lt=ve(["\\","{"],!0,!1,!1),at=Ae("\\",!1),it={type:"any"},ut=Ae("{",!1),ct=Ae("?",!1),ht=Ae(":",!1),dt=Ae("?:",!1),pt=Ae("??",!1),ft=Ae("||",!1),mt=Ae("&&",!1),gt=Ae("!",!1),bt=xe("member"),yt=Ae("?.",!1),At=Ae(".",!1),vt=xe("subscript"),xt=Ae("[",!1),Et=Ae("]",!1),Pt=xe("method-call"),Ct=Ae("(",!1),St=Ae(",",!1),wt=Ae(")",!1),Tt=xe("module-function-call"),Mt=xe("boolean-literal"),Ot=Ae("true",!1),Dt=Ae("false",!1),Nt=xe("null-literal"),_t=Ae("null",!1),Rt=xe("undefined-literal"),Ft=Ae("undefined",!1),kt=xe("number-literal"),Lt=Ae("-",!1),$t=ve([["0","9"]],!1,!1,!1),Ht=xe("string-literal"),jt=Ae("'",!1),It=ve(["'"],!0,!1,!1),qt=Ae('"',!1),Vt=ve(['"'],!0,!1,!1),Bt=Ae("`",!1),Wt=xe("tstring-expression"),Xt=Ae("}",!1),Zt=xe("tstring-literal"),zt=ve(["\\","`","{"],!0,!1,!1),Jt=xe("array-literal"),Qt=xe("dict-literal"),Ut=xe("module-function"),Gt=Ae("#",!1),Kt=ve([["a","z"],["A","Z"],"$","_"],!1,!1,!1),Yt=ve([["a","z"],["A","Z"],"$","_",["0","9"],"_"],!1,!1,!1),te=xe("symbol"),ee=Ae("==",!1),re=Ae("!=",!1),ne=Ae(">=",!1),se=Ae(">",!1),oe=Ae("<=",!1),le=Ae("<",!1),ae=ve([" ","\t","\n","\r"],!1,!1,!1);function ie(t){return t}function ue(t,e,r){return{op:e,rhs:r}}function ce(t,e,r){return{op:e,rhs:r}}function he(t){return t}let de=0|n.peg$currPos;const pe=[{line:1,column:1}];let fe,me=de,ge=n.peg$maxFailExpected||[],be=0|n.peg$silentFails,ye={};if(n.startRule){if(!(n.startRule in l))throw new Error("Can't start parsing from rule \""+n.startRule+'".');a=l[n.startRule]}function Ae(t,e){return{type:"literal",text:t,ignoreCase:e}}function ve(t,e,r,n){return{type:"class",parts:t,inverted:e,ignoreCase:r,unicode:n}}function xe(t){return{type:"other",description:t}}function Ee(t){let e,n=pe[t];if(n)return n;if(t>=pe.length)e=pe.length-1;else for(e=t;!pe[--e];);for(n=pe[e],n={line:n.line,column:n.column};e<t;)10===r.charCodeAt(e)?(n.line++,n.column=1):n.column++,e++;return pe[t]=n,n}function Pe(t,e,r){const n=Ee(t),s=Ee(e);return{source:o,start:{offset:t,line:n.line,column:n.column},end:{offset:e,line:s.line,column:s.column}}}function Ce(t){de<me||(de>me&&(me=de,ge=[]),ge.push(t))}function Se(){let t,e;const r=40*de+0,n=ye[r];if(n)return de=n.nextPos,n.result;for(t=[],e=we();e!==s;)t.push(e),e=we();return ye[r]={nextPos:de,result:t},t}function we(){let e,n,o,l,a;const g=40*de+1,b=ye[g];return b?(de=b.nextPos,b.result):(e=de,n=de,o=function(){let t;const e=40*de+2,n=ye[e];if(n)return de=n.nextPos,n.result;r.substr(de,4)===i?(t=i,de+=4):(t=s,0===be&&Ce(tt));return ye[e]={nextPos:de,result:t},t}(),o!==s?(l=Te(),l!==s?(a=function(){let t;const e=40*de+3,n=ye[e];if(n)return de=n.nextPos,n.result;r.substr(de,4)===u?(t=u,de+=4):(t=s,0===be&&Ce(et));return ye[e]={nextPos:de,result:t},t}(),a!==s?n=l:(de=n,n=s)):(de=n,n=s)):(de=n,n=s),n!==s&&(y=n,n={type:t.templated.ten,value:y}),e=n,e===s&&(e=de,n=de,o=function(){let t;const e=40*de+4,n=ye[e];if(n)return de=n.nextPos,n.result;r.substr(de,3)===c?(t=c,de+=3):(t=s,0===be&&Ce(rt));return ye[e]={nextPos:de,result:t},t}(),o!==s?(l=Te(),l!==s?(a=function(){let t;const e=40*de+5,n=ye[e];if(n)return de=n.nextPos,n.result;r.substr(de,3)===h?(t=h,de+=3):(t=s,0===be&&Ce(nt));return ye[e]={nextPos:de,result:t},t}(),a!==s?n=l:(de=n,n=s)):(de=n,n=s)):(de=n,n=s),n!==s&&(n=function(e){return{type:t.templated.teh,value:e}}(n)),e=n,e===s&&(e=de,n=de,o=function(){let t;const e=40*de+6,n=ye[e];if(n)return de=n.nextPos,n.result;r.substr(de,2)===d?(t=d,de+=2):(t=s,0===be&&Ce(st));return ye[e]={nextPos:de,result:t},t}(),o!==s?(l=Te(),l!==s?(a=function(){let t;const e=40*de+7,n=ye[e];if(n)return de=n.nextPos,n.result;r.substr(de,2)===p?(t=p,de+=2):(t=s,0===be&&Ce(ot));return ye[e]={nextPos:de,result:t},t}(),a!==s?n=l:(de=n,n=s)):(de=n,n=s)):(de=n,n=s),n!==s&&(n=function(e){return{type:t.templated.tet,value:e}}(n)),e=n,e===s&&(e=de,n=function(){let t,e,n,o,l,a;const i=40*de+8,u=ye[i];if(u)return de=u.nextPos,u.result;t=de,e=[],n=de,o=[],l=r.charAt(de),Z.test(l)?de++:(l=s,0===be&&Ce(lt));if(l!==s)for(;l!==s;)o.push(l),l=r.charAt(de),Z.test(l)?de++:(l=s,0===be&&Ce(lt));else o=s;n=o!==s?r.substring(n,de):o;n===s&&(n=de,92===r.charCodeAt(de)?(o=f,de++):(o=s,0===be&&Ce(at)),o!==s?(r.length>de?(l=r.charAt(de),de++):(l=s,0===be&&Ce(it)),l!==s?n=l:(de=n,n=s)):(de=n,n=s),n===s&&(n=de,123===r.charCodeAt(de)?(o=m,de++):(o=s,0===be&&Ce(ut)),o!==s?(l=de,be++,123===r.charCodeAt(de)?(a=m,de++):(a=s,0===be&&Ce(ut)),be--,a===s?l=void 0:(de=l,l=s),l!==s?(o=[o,l],n=o):(de=n,n=s)):(de=n,n=s)));if(n!==s)for(;n!==s;){if(e.push(n),n=de,o=[],l=r.charAt(de),Z.test(l)?de++:(l=s,0===be&&Ce(lt)),l!==s)for(;l!==s;)o.push(l),l=r.charAt(de),Z.test(l)?de++:(l=s,0===be&&Ce(lt));else o=s;n=o!==s?r.substring(n,de):o,n===s&&(n=de,92===r.charCodeAt(de)?(o=f,de++):(o=s,0===be&&Ce(at)),o!==s?(r.length>de?(l=r.charAt(de),de++):(l=s,0===be&&Ce(it)),l!==s?n=ie(l):(de=n,n=s)):(de=n,n=s),n===s&&(n=de,123===r.charCodeAt(de)?(o=m,de++):(o=s,0===be&&Ce(ut)),o!==s?(l=de,be++,123===r.charCodeAt(de)?(a=m,de++):(a=s,0===be&&Ce(ut)),be--,a===s?l=void 0:(de=l,l=s),l!==s?(o=[o,l],n=o):(de=n,n=s)):(de=n,n=s)))}else e=s;e!==s&&(e=e.join(""));return t=e,ye[i]={nextPos:de,result:t},t}(),n!==s&&(n=function(e){return{type:t.templated.tel,value:e}}(n)),e=n))),ye[g]={nextPos:de,result:e},e);var y}function Te(){let t,e;const r=40*de+9,n=ye[r];return n?(de=n.nextPos,n.result):(t=de,We(),e=Me(),e!==s?(We(),t=e):(de=t,t=s),ye[r]={nextPos:de,result:t},t)}function Me(){let e,n,o,l,a,i;const u=40*de+10,c=ye[u];return c?(de=c.nextPos,c.result):(e=de,n=Oe(),n!==s?(We(),63===r.charCodeAt(de)?(o=g,de++):(o=s,0===be&&Ce(ct)),o!==s?(We(),l=Me(),l!==s?(We(),58===r.charCodeAt(de)?(a=b,de++):(a=s,0===be&&Ce(ht)),a!==s?(We(),i=Me(),i!==s?e={type:t.ter,cond:n,ifTrue:l,ifFalse:i}:(de=e,e=s)):(de=e,e=s)):(de=e,e=s)):(de=e,e=s)):(de=e,e=s),e===s&&(e=Oe()),ye[u]={nextPos:de,result:e},e)}function Oe(){let e,n,o,l;const a=40*de+11,i=ye[a];return i?(de=i.nextPos,i.result):(e=de,n=De(),n!==s?(We(),r.substr(de,2)===y?(o=y,de+=2):(o=s,0===be&&Ce(dt)),o!==s?(We(),l=Oe(),l!==s?e={type:t.elv,cond:n,ifFalse:l}:(de=e,e=s)):(de=e,e=s)):(de=e,e=s),e===s&&(e=De()),ye[a]={nextPos:de,result:e},e)}function De(){let e,n,o,l;const a=40*de+12,i=ye[a];return i?(de=i.nextPos,i.result):(e=de,n=Ne(),n!==s?(We(),r.substr(de,2)===A?(o=A,de+=2):(o=s,0===be&&Ce(pt)),o!==s?(We(),l=De(),l!==s?e={type:t.nullc,lhs:n,rhs:l}:(de=e,e=s)):(de=e,e=s)):(de=e,e=s),e===s&&(e=Ne()),ye[a]={nextPos:de,result:e},e)}function Ne(){let e,n,o,l,a,i;const u=40*de+13,c=ye[u];if(c)return de=c.nextPos,c.result;if(e=de,n=_e(),n!==s){for(o=[],l=de,We(),r.substr(de,2)===v?(a=v,de+=2):(a=s,0===be&&Ce(ft)),a!==s?(We(),i=_e(),i!==s?l=i:(de=l,l=s)):(de=l,l=s);l!==s;)o.push(l),l=de,We(),r.substr(de,2)===v?(a=v,de+=2):(a=s,0===be&&Ce(ft)),a!==s?(We(),i=_e(),i!==s?l=i:(de=l,l=s)):(de=l,l=s);e=function(e,r){let n=e;for(const e of r)n={type:t.or,lhs:n,rhs:e};return n}(n,o)}else de=e,e=s;return ye[u]={nextPos:de,result:e},e}function _e(){let e,n,o,l,a,i;const u=40*de+14,c=ye[u];if(c)return de=c.nextPos,c.result;if(e=de,n=Re(),n!==s){for(o=[],l=de,We(),r.substr(de,2)===x?(a=x,de+=2):(a=s,0===be&&Ce(mt)),a!==s?(We(),i=Re(),i!==s?l=i:(de=l,l=s)):(de=l,l=s);l!==s;)o.push(l),l=de,We(),r.substr(de,2)===x?(a=x,de+=2):(a=s,0===be&&Ce(mt)),a!==s?(We(),i=Re(),i!==s?l=i:(de=l,l=s)):(de=l,l=s);e=function(e,r){let n=e;for(const e of r)n={type:t.and,lhs:n,rhs:e};return n}(n,o)}else de=e,e=s;return ye[u]={nextPos:de,result:e},e}function Re(){let e,r,n,o,l,a;const i=40*de+15,u=ye[i];if(u)return de=u.nextPos,u.result;if(e=de,r=Fe(),r!==s){for(n=[],o=de,We(),l=Ve(),l!==s?(We(),a=Fe(),a!==s?o=ue(0,l,a):(de=o,o=s)):(de=o,o=s);o!==s;)n.push(o),o=de,We(),l=Ve(),l!==s?(We(),a=Fe(),a!==s?o=ue(0,l,a):(de=o,o=s)):(de=o,o=s);e=function(e,r){let n=e;for(const e of r)n={type:t.eq,op:e.op,lhs:n,rhs:e.rhs};return n}(r,n)}else de=e,e=s;return ye[i]={nextPos:de,result:e},e}function Fe(){let e,r,n,o,l,a;const i=40*de+16,u=ye[i];if(u)return de=u.nextPos,u.result;if(e=de,r=ke(),r!==s){for(n=[],o=de,We(),l=Be(),l!==s?(We(),a=ke(),a!==s?o=ce(0,l,a):(de=o,o=s)):(de=o,o=s);o!==s;)n.push(o),o=de,We(),l=Be(),l!==s?(We(),a=ke(),a!==s?o=ce(0,l,a):(de=o,o=s)):(de=o,o=s);e=function(e,r){let n=e;for(const e of r)n={type:t.cmp,op:e.op,lhs:n,rhs:e.rhs};return n}(r,n)}else de=e,e=s;return ye[i]={nextPos:de,result:e},e}function ke(){let e,n,o;const l=40*de+17,a=ye[l];return a?(de=a.nextPos,a.result):(e=de,33===r.charCodeAt(de)?(n=E,de++):(n=s,0===be&&Ce(gt)),n!==s?(We(),o=ke(),o!==s?e={type:t.not,expr:o}:(de=e,e=s)):(de=e,e=s),e===s&&(e=function(){let e,r,n,o,l;const a=40*de+18,i=ye[a];if(i)return de=i.nextPos,i.result;if(e=de,r=$e(),r!==s){if(We(),n=[],o=de,l=Le(),l!==s?(We(),o=l):(de=o,o=s),o!==s)for(;o!==s;)n.push(o),o=de,l=Le(),l!==s?(We(),o=l):(de=o,o=s);else n=s;n!==s?e={type:t.access,lhs:r,rhs:n}:(de=e,e=s)}else de=e,e=s;e===s&&(e=$e());return ye[a]={nextPos:de,result:e},e}()),ye[l]={nextPos:de,result:e},e)}function Le(){let e;const n=40*de+19,o=ye[n];return o?(de=o.nextPos,o.result):(e=function(){let e,n,o;const l=40*de+20,a=ye[l];if(a)return de=a.nextPos,a.result;be++,e=de,r.substr(de,2)===P?(n=P,de+=2):(n=s,0===be&&Ce(yt));n===s&&(46===r.charCodeAt(de)?(n=C,de++):(n=s,0===be&&Ce(At)));n!==s?(We(),o=qe(),o!==s?e={type:t.member,ns:"?."===n,rhs:o.value}:(de=e,e=s)):(de=e,e=s);be--,e===s&&(n=s,0===be&&Ce(bt));return ye[l]={nextPos:de,result:e},e}(),e===s&&(e=function(){let e,n,o,l,a;const i=40*de+21,u=ye[i];if(u)return de=u.nextPos,u.result;be++,e=de,r.substr(de,2)===P?(n=P,de+=2):(n=s,0===be&&Ce(yt));n===s&&(n=null);91===r.charCodeAt(de)?(o=S,de++):(o=s,0===be&&Ce(xt));o!==s?(We(),l=Me(),l!==s?(We(),93===r.charCodeAt(de)?(a=w,de++):(a=s,0===be&&Ce(Et)),a!==s?e={type:t.subscript,ns:null!==n,rhs:l}:(de=e,e=s)):(de=e,e=s)):(de=e,e=s);be--,e===s&&(n=s,0===be&&Ce(vt));return ye[i]={nextPos:de,result:e},e}(),e===s&&(e=function(){let e,n,o,l,a,i,u,c;const h=40*de+22,d=ye[h];if(d)return de=d.nextPos,d.result;be++,e=de,r.substr(de,2)===P?(n=P,de+=2):(n=s,0===be&&Ce(yt));n===s&&(n=null);40===r.charCodeAt(de)?(o=T,de++):(o=s,0===be&&Ce(Ct));if(o!==s){for(We(),l=de,a=Me(),a!==s?(i=We(),l=a):(de=l,l=s),l===s&&(l=null),a=[],i=de,44===r.charCodeAt(de)?(u=M,de++):(u=s,0===be&&Ce(St)),u!==s?(We(),c=Me(),c!==s?(We(),i=c):(de=i,i=s)):(de=i,i=s);i!==s;)a.push(i),i=de,44===r.charCodeAt(de)?(u=M,de++):(u=s,0===be&&Ce(St)),u!==s?(We(),c=Me(),c!==s?(We(),i=c):(de=i,i=s)):(de=i,i=s);41===r.charCodeAt(de)?(i=O,de++):(i=s,0===be&&Ce(wt)),i!==s?(f=a,e={type:t.method,ns:null!==n,args:null===(p=l)?[]:[p,...f]}):(de=e,e=s)}else de=e,e=s;var p,f;be--,e===s&&(n=s,0===be&&Ce(Pt));return ye[h]={nextPos:de,result:e},e}())),ye[n]={nextPos:de,result:e},e)}function $e(){let e,n,o,l;const a=40*de+23,i=ye[a];return i?(de=i.nextPos,i.result):(e=de,40===r.charCodeAt(de)?(n=T,de++):(n=s,0===be&&Ce(Ct)),n!==s?(We(),o=Me(),o!==s?(We(),41===r.charCodeAt(de)?(l=O,de++):(l=s,0===be&&Ce(wt)),l!==s?e=o:(de=e,e=s)):(de=e,e=s)):(de=e,e=s),e===s&&(e=function(){let e,n,o,l,a,i,u,c;const h=40*de+24,d=ye[h];if(d)return de=d.nextPos,d.result;if(be++,e=de,n=function(){let e,n,o,l,a,i,u,c;const h=40*de+35,d=ye[h];if(d)return de=d.nextPos,d.result;be++,e=de,35===r.charCodeAt(de)?(n=j,de++):(n=s,0===be&&Ce(Gt));if(n!==s){if(o=de,l=de,a=de,i=r.charAt(de),G.test(i)?de++:(i=s,0===be&&Ce(Kt)),i!==s){for(u=[],c=r.charAt(de),K.test(c)?de++:(c=s,0===be&&Ce(Yt));c!==s;)u.push(c),c=r.charAt(de),K.test(c)?de++:(c=s,0===be&&Ce(Yt));i=[i,u],a=i}else de=a,a=s;if(l=a!==s?r.substring(l,de):a,l!==s?(58===r.charCodeAt(de)?(a=b,de++):(a=s,0===be&&Ce(ht)),a!==s?o=l:(de=o,o=s)):(de=o,o=s),o===s&&(o=null),l=de,a=de,i=r.charAt(de),G.test(i)?de++:(i=s,0===be&&Ce(Kt)),i!==s){for(u=[],c=r.charAt(de),K.test(c)?de++:(c=s,0===be&&Ce(Yt));c!==s;)u.push(c),c=r.charAt(de),K.test(c)?de++:(c=s,0===be&&Ce(Yt));i=[i,u],a=i}else de=a,a=s;l=a!==s?r.substring(l,de):a,l!==s?e={type:t.function,module:o,value:l}:(de=e,e=s)}else de=e,e=s;be--,e===s&&(n=s,0===be&&Ce(Ut));return ye[h]={nextPos:de,result:e},e}(),n!==s)if(40===r.charCodeAt(de)?(o=T,de++):(o=s,0===be&&Ce(Ct)),o!==s){for(We(),l=de,a=Me(),a!==s?(i=We(),l=a):(de=l,l=s),l===s&&(l=null),a=[],i=de,44===r.charCodeAt(de)?(u=M,de++):(u=s,0===be&&Ce(St)),u!==s?(We(),c=Me(),c!==s?(We(),i=c):(de=i,i=s)):(de=i,i=s);i!==s;)a.push(i),i=de,44===r.charCodeAt(de)?(u=M,de++):(u=s,0===be&&Ce(St)),u!==s?(We(),c=Me(),c!==s?(We(),i=c):(de=i,i=s)):(de=i,i=s);41===r.charCodeAt(de)?(i=O,de++):(i=s,0===be&&Ce(wt)),i!==s?e=function(e,r,n){const s=null===r?[]:[r,...n];return{type:t.call,value:e,args:s}}(n,l,a):(de=e,e=s)}else de=e,e=s;else de=e,e=s;be--,e===s&&(n=s,0===be&&Ce(Tt));return ye[h]={nextPos:de,result:e},e}(),e===s&&(e=function(){let e;const n=40*de+25,o=ye[n];if(o)return de=o.nextPos,o.result;e=function(){let e,n,o,l,a,i,u,c,h,d;const p=40*de+29,f=ye[p];if(f)return de=f.nextPos,f.result;be++,e=de,n=de,o=de,45===r.charCodeAt(de)?(l=F,de++):(l=s,0===be&&Ce(Lt));l===s&&(l=null);a=de,i=[],u=r.charAt(de),z.test(u)?de++:(u=s,0===be&&Ce($t));if(u!==s)for(;u!==s;)i.push(u),u=r.charAt(de),z.test(u)?de++:(u=s,0===be&&Ce($t));else i=s;if(i!==s){if(u=de,46===r.charCodeAt(de)?(c=C,de++):(c=s,0===be&&Ce(At)),c!==s){for(h=[],d=r.charAt(de),z.test(d)?de++:(d=s,0===be&&Ce($t));d!==s;)h.push(d),d=r.charAt(de),z.test(d)?de++:(d=s,0===be&&Ce($t));c=[c,h],u=c}else de=u,u=s;u===s&&(u=null),i=[i,u],a=i}else de=a,a=s;if(a===s)if(a=de,46===r.charCodeAt(de)?(i=C,de++):(i=s,0===be&&Ce(At)),i!==s){if(u=[],c=r.charAt(de),z.test(c)?de++:(c=s,0===be&&Ce($t)),c!==s)for(;c!==s;)u.push(c),c=r.charAt(de),z.test(c)?de++:(c=s,0===be&&Ce($t));else u=s;u!==s?(i=[i,u],a=i):(de=a,a=s)}else de=a,a=s;a!==s?(l=[l,a],o=l):(de=o,o=s);n=o!==s?r.substring(n,de):o;n!==s&&(n={type:t.literal,value:parseFloat(n)});e=n,be--,e===s&&(n=s,0===be&&Ce(kt));return ye[p]={nextPos:de,result:e},e}(),e===s&&(e=function(){let e,n;const o=40*de+26,l=ye[o];if(l)return de=l.nextPos,l.result;be++,e=de,r.substr(de,4)===D?(n=D,de+=4):(n=s,0===be&&Ce(Ot));n!==s&&(n={type:t.literal,value:!0});e=n,e===s&&(e=de,r.substr(de,5)===N?(n=N,de+=5):(n=s,0===be&&Ce(Dt)),n!==s&&(n={type:t.literal,value:!1}),e=n);be--,e===s&&(n=s,0===be&&Ce(Mt));return ye[o]={nextPos:de,result:e},e}(),e===s&&(e=function(){let e,n;const o=40*de+27,l=ye[o];if(l)return de=l.nextPos,l.result;be++,e=de,r.substr(de,4)===_?(n=_,de+=4):(n=s,0===be&&Ce(_t));n!==s&&(n={type:t.literal,value:null});e=n,be--,e===s&&(n=s,0===be&&Ce(Nt));return ye[o]={nextPos:de,result:e},e}(),e===s&&(e=function(){let e,n;const o=40*de+28,l=ye[o];if(l)return de=l.nextPos,l.result;be++,e=de,r.substr(de,9)===R?(n=R,de+=9):(n=s,0===be&&Ce(Ft));n!==s&&(n={type:t.literal,value:void 0});e=n,be--,e===s&&(n=s,0===be&&Ce(Rt));return ye[o]={nextPos:de,result:e},e}(),e===s&&(e=He(),e===s&&(e=function(){let e,n,o,l,a,i,u;const c=40*de+33,h=ye[c];if(h)return de=h.nextPos,h.result;be++,e=de,91===r.charCodeAt(de)?(n=S,de++):(n=s,0===be&&Ce(xt));if(n!==s){for(We(),o=Me(),o===s&&(o=null),We(),l=[],a=de,44===r.charCodeAt(de)?(i=M,de++):(i=s,0===be&&Ce(St)),i!==s?(We(),u=Me(),u!==s?(We(),a=u):(de=a,a=s)):(de=a,a=s);a!==s;)l.push(a),a=de,44===r.charCodeAt(de)?(i=M,de++):(i=s,0===be&&Ce(St)),i!==s?(We(),u=Me(),u!==s?(We(),a=u):(de=a,a=s)):(de=a,a=s);93===r.charCodeAt(de)?(a=w,de++):(a=s,0===be&&Ce(Et)),a!==s?e=function(e,r){const n=null===e?[]:[e,...r];return{type:t.array,value:n}}(o,l):(de=e,e=s)}else de=e,e=s;be--,e===s&&(n=s,0===be&&Ce(Jt));return ye[c]={nextPos:de,result:e},e}(),e===s&&(e=function(){let e,n,o,l,a,i,u,c,h,d,p;const f=40*de+34,g=ye[f];if(g)return de=g.nextPos,g.result;be++,e=de,123===r.charCodeAt(de)?(n=m,de++):(n=s,0===be&&Ce(ut));if(n!==s){for(We(),o=de,l=He(),l!==s?(a=We(),58===r.charCodeAt(de)?(i=b,de++):(i=s,0===be&&Ce(ht)),i!==s?(u=We(),c=Me(),c!==s?o=[l,c]:(de=o,o=s)):(de=o,o=s)):(de=o,o=s),o===s&&(o=null),l=We(),a=[],i=de,44===r.charCodeAt(de)?(u=M,de++):(u=s,0===be&&Ce(St)),u!==s?(c=We(),h=He(),h!==s?(We(),58===r.charCodeAt(de)?(d=b,de++):(d=s,0===be&&Ce(ht)),d!==s?(We(),p=Me(),p!==s?(We(),i=[h,p]):(de=i,i=s)):(de=i,i=s)):(de=i,i=s)):(de=i,i=s);i!==s;)a.push(i),i=de,44===r.charCodeAt(de)?(u=M,de++):(u=s,0===be&&Ce(St)),u!==s?(c=We(),h=He(),h!==s?(We(),58===r.charCodeAt(de)?(d=b,de++):(d=s,0===be&&Ce(ht)),d!==s?(We(),p=Me(),p!==s?(We(),i=[h,p]):(de=i,i=s)):(de=i,i=s)):(de=i,i=s)):(de=i,i=s);125===r.charCodeAt(de)?(i=H,de++):(i=s,0===be&&Ce(Xt)),i!==s?(A=a,v=[],null!==(y=o)&&v.push(y),v.push.apply(v,A),e={type:t.dict,value:v}):(de=e,e=s)}else de=e,e=s;var y,A,v;be--,e===s&&(n=s,0===be&&Ce(Qt));return ye[f]={nextPos:de,result:e},e}()))))));return ye[n]={nextPos:de,result:e},e}(),e===s&&(e=qe()))),ye[a]={nextPos:de,result:e},e)}function He(){let e,n,o,l,a;const i=40*de+30,u=ye[i];if(u)return de=u.nextPos,u.result;if(be++,e=de,39===r.charCodeAt(de)?(n=k,de++):(n=s,0===be&&Ce(jt)),n!==s){for(o=de,l=[],a=r.charAt(de),J.test(a)?de++:(a=s,0===be&&Ce(It));a!==s;)l.push(a),a=r.charAt(de),J.test(a)?de++:(a=s,0===be&&Ce(It));o=r.substring(o,de),39===r.charCodeAt(de)?(l=k,de++):(l=s,0===be&&Ce(jt)),l!==s?e={type:t.literal,value:o}:(de=e,e=s)}else de=e,e=s;if(e===s){if(e=de,34===r.charCodeAt(de)?(n=L,de++):(n=s,0===be&&Ce(qt)),n!==s){for(o=de,l=[],a=r.charAt(de),Q.test(a)?de++:(a=s,0===be&&Ce(Vt));a!==s;)l.push(a),a=r.charAt(de),Q.test(a)?de++:(a=s,0===be&&Ce(Vt));o=r.substring(o,de),34===r.charCodeAt(de)?(l=L,de++):(l=s,0===be&&Ce(qt)),l!==s?e=function(e){return{type:t.literal,value:e}}(o):(de=e,e=s)}else de=e,e=s;if(e===s)if(e=de,96===r.charCodeAt(de)?(n=$,de++):(n=s,0===be&&Ce(Bt)),n!==s){for(o=[],l=je(),l===s&&(l=Ie());l!==s;)o.push(l),l=je(),l===s&&(l=Ie());96===r.charCodeAt(de)?(l=$,de++):(l=s,0===be&&Ce(Bt)),l!==s?e={type:t.tstring,parts:o}:(de=e,e=s)}else de=e,e=s}return be--,e===s&&(n=s,0===be&&Ce(Ht)),ye[i]={nextPos:de,result:e},e}function je(){let t,e,n,o;const l=40*de+31,a=ye[l];return a?(de=a.nextPos,a.result):(be++,t=de,123===r.charCodeAt(de)?(e=m,de++):(e=s,0===be&&Ce(ut)),e!==s?(We(),n=Me(),n!==s?(We(),125===r.charCodeAt(de)?(o=H,de++):(o=s,0===be&&Ce(Xt)),o!==s?t=n:(de=t,t=s)):(de=t,t=s)):(de=t,t=s),be--,t===s&&(e=s,0===be&&Ce(Wt)),ye[l]={nextPos:de,result:t},t)}function Ie(){let e,n,o,l,a;const i=40*de+32,u=ye[i];if(u)return de=u.nextPos,u.result;if(be++,e=de,n=[],o=de,l=[],a=r.charAt(de),U.test(a)?de++:(a=s,0===be&&Ce(zt)),a!==s)for(;a!==s;)l.push(a),a=r.charAt(de),U.test(a)?de++:(a=s,0===be&&Ce(zt));else l=s;if(o=l!==s?r.substring(o,de):l,o===s&&(o=de,92===r.charCodeAt(de)?(l=f,de++):(l=s,0===be&&Ce(at)),l!==s?(r.length>de?(a=r.charAt(de),de++):(a=s,0===be&&Ce(it)),a!==s?o=a:(de=o,o=s)):(de=o,o=s)),o!==s)for(;o!==s;){if(n.push(o),o=de,l=[],a=r.charAt(de),U.test(a)?de++:(a=s,0===be&&Ce(zt)),a!==s)for(;a!==s;)l.push(a),a=r.charAt(de),U.test(a)?de++:(a=s,0===be&&Ce(zt));else l=s;o=l!==s?r.substring(o,de):l,o===s&&(o=de,92===r.charCodeAt(de)?(l=f,de++):(l=s,0===be&&Ce(at)),l!==s?(r.length>de?(a=r.charAt(de),de++):(a=s,0===be&&Ce(it)),a!==s?o=he(a):(de=o,o=s)):(de=o,o=s))}else n=s;return n!==s&&(n={type:t.literal,value:n.join("")}),e=n,e===s&&(e=de,123===r.charCodeAt(de)?(n=m,de++):(n=s,0===be&&Ce(ut)),n!==s&&(n={type:t.literal,value:n}),e=n),be--,e===s&&(n=s,0===be&&Ce(Zt)),ye[i]={nextPos:de,result:e},e}function qe(){let e,n,o,l,a,i;const u=40*de+36,c=ye[u];if(c)return de=c.nextPos,c.result;if(be++,e=de,n=de,o=de,l=r.charAt(de),G.test(l)?de++:(l=s,0===be&&Ce(Kt)),l!==s){for(a=[],i=r.charAt(de),K.test(i)?de++:(i=s,0===be&&Ce(Yt));i!==s;)a.push(i),i=r.charAt(de),K.test(i)?de++:(i=s,0===be&&Ce(Yt));l=[l,a],o=l}else de=o,o=s;return n=o!==s?r.substring(n,de):o,n!==s&&(n={type:t.symbol,value:n}),e=n,be--,e===s&&(n=s,0===be&&Ce(te)),ye[u]={nextPos:de,result:e},e}function Ve(){let t;const e=40*de+37,n=ye[e];return n?(de=n.nextPos,n.result):(r.substr(de,2)===I?(t=I,de+=2):(t=s,0===be&&Ce(ee)),t===s&&(r.substr(de,2)===q?(t=q,de+=2):(t=s,0===be&&Ce(re))),ye[e]={nextPos:de,result:t},t)}function Be(){let t;const e=40*de+38,n=ye[e];return n?(de=n.nextPos,n.result):(r.substr(de,2)===V?(t=V,de+=2):(t=s,0===be&&Ce(ne)),t===s&&(62===r.charCodeAt(de)?(t=B,de++):(t=s,0===be&&Ce(se)),t===s&&(r.substr(de,2)===W?(t=W,de+=2):(t=s,0===be&&Ce(oe)),t===s&&(60===r.charCodeAt(de)?(t=X,de++):(t=s,0===be&&Ce(le))))),ye[e]={nextPos:de,result:t},t)}function We(){let t,e;const n=40*de+39,o=ye[n];if(o)return de=o.nextPos,o.result;for(be++,t=[],e=r.charAt(de),Y.test(e)?de++:(e=s,0===be&&Ce(ae));e!==s;)t.push(e),e=r.charAt(de),Y.test(e)?de++:(e=s,0===be&&Ce(ae));return be--,ye[n]={nextPos:de,result:t},t}fe=a();const Xe=fe!==s&&de===r.length;function Ze(){throw fe!==s&&de<r.length&&Ce({type:"end"}),t=ge,n=me<r.length?function(t=de){const e=r.codePointAt(t);return void 0===e?"":String.fromCodePoint(e)}(me):null,o=me<r.length?Pe(me,me+1):Pe(me,me),new e(e.buildMessage(t,n),t,n,o);var t,n,o}return n.peg$library?{peg$result:fe,peg$currPos:de,peg$FAILED:s,peg$maxFailExpected:ge,peg$maxFailPos:me,peg$success:Xe,peg$throw:Xe?void 0:Ze}:Xe?fe:void Ze()}class n{#t;#e;constructor(t,e){this.#t=t,this.#e=e}#r(t){if("self"===t)return this.#e[this.#e.length-1];for(let e=this.#e.length-1;e>=0;e--){const r=this.#e[e];if(null!=r&&("object"==typeof r||"function"==typeof r)&&t in r)return r[t]}}#n;#s(){return this.#n||(this.#n=new Proxy(this.#e,{get:(t,e)=>this.#r(e)})),this.#n}[t.and](t){return this.visit(t.lhs)&&this.visit(t.rhs)}[t.or](t){return this.visit(t.lhs)||this.visit(t.rhs)}[t.nullc](t){const e=this.visit(t.lhs);return null!=e?e:this.visit(t.rhs)}[t.not](t){return!this.visit(t.expr)}[t.eq](t){const e=this.visit(t.lhs)===this.visit(t.rhs);return"=="===t.op?e:!e}[t.cmp](t){const e=this.visit(t.lhs),r=this.visit(t.rhs);switch(t.op){case">":return e>r;case"<":return e<r;case">=":return e>=r;case"<=":return e<=r;default:throw new Error("unknown cmp op "+t.op)}}[t.call](t){const e=t.value,r=null===e.module?this.#t:this.#t?.[e.module];if(!r)throw new Error(`Module "${e.module}" not found`);const n=r[e.value];if(!n)throw new Error(`Function "#${null===e.module?"":e.module+":"}${e.value}" not found`);const s=t.args.map(t=>this.visit(t));return n.apply(this.#s(),s)}[t.literal](t){return t.value}[t.tstring](t){let e="";const r=t.parts;for(let t=0,n=r.length;t<n;t++){const n=this.visit(r[t]);null!=n&&(e+=n)}return e}[t.symbol](t){return this.#r(t.value)}[t.dict](t){return Object.fromEntries(t.value.map(t=>[t[0].value,this.visit(t[1])]))}[t.array](t){return t.value.map(t=>this.visit(t))}[t.ter](t){return this.visit(t.cond)?this.visit(t.ifTrue):this.visit(t.ifFalse)}[t.elv](t){const e=this.visit(t.cond);return e||this.visit(t.ifFalse)}[t.access](e){let r,n=this.visit(e.lhs);for(let s=0;s!==e.rhs.length;++s){const o=e.rhs[s];if(o.ns&&null==n)return;let l;switch(o.type){case t.member:l=n[o.rhs];break;case t.subscript:l=n[this.visit(o.rhs)];break;case t.method:{if(!n)throw new Error(`Method missing "${e.rhs[s-1].rhs}"`);const t=o.args.map(t=>this.visit(t));l=n.apply(r,t);break}}r=n,n=l}return n}visit(t,...e){return this[t.type](t,...e)}visitRoot(e,r){return r?e.map(e=>{switch(e.type){case t.templated.tel:return{type:t.dom.t,value:e.value};case t.templated.tet:return{type:t.dom.t,value:this.visit(e.value)};case t.templated.teh:return{type:t.dom.h,value:this.visit(e.value)};case t.templated.ten:return{type:t.dom.n,value:this.visit(e.value)};default:throw new Error("unknown node type "+e.type.toString())}}):this.visit(e)}}class s{static MODE_EXPRESSION=Symbol("MODE_EXPRESSION");static MODE_TEMPLATED=Symbol("MODE_TEMPLATED");static#o=new Map;static#l=1e3;static parse(t,e){const n=e?.toString()+t;if(!this.#o.has(n)){if(this.#o.size>=this.#l){const t=this.#o.keys().next().value;this.#o.delete(t)}this.#o.set(n,r(t,{startRule:e===s.MODE_TEMPLATED?"TemplatedRoot":"ExpressionRoot"}))}return this.#o.get(n)}static evaluate(t,e,r,o){return new n(t,e).visitRoot(r,o===s.MODE_TEMPLATED)}static interpret(t,e,r,n){return s.evaluate(t,e,s.parse(r,n),n)}}class o{#t;#e;constructor(t,e){this.#t=t,this.#e=e}withModule(t,e){const r=t?{[t]:e}:e;return new o({...this.#t,...r},this.#e)}withOverlay(...t){return new o(this.#t,0===t.length?this.#e:[...this.#e,...t])}evaluate(t,e){return s.interpret(this.#t,this.#e,t,e)}evaluateExpression(t){return this.evaluate(t,s.MODE_EXPRESSION)}evaluateTemplated(t){return this.evaluate(t,s.MODE_TEMPLATED)}}class l{static fromHtml(...t){const e=document.createElement("template");return e.innerHTML=t.map(t=>t.trim()).join(""),document.adoptNode(e.content)}static toHtml(t){var e=document.createElement("template");return e.content.appendChild(t),e.innerHTML}static isBlank(t){return 0===t.childElementCount&&""===t.textContent.trim()}static from(...t){const e=new DocumentFragment;for(const r of t)e.appendChild(r);return e}static fromChildNodes(t){const e=new DocumentFragment;for(;t.firstChild;)e.appendChild(t.firstChild);return e}}class a{static id=0;static uid(t){return`${t}-${++a.id}`}static defaultValue(t,e,r){return t.hasAttribute(e)||t.setAttribute(e,r),t.getAttribute(e)}static forward(t,e,r){e.getAttributeNames().filter(e=>e.startsWith(t)).forEach(n=>{const s=n.substring(t.length);if("class"===s){const n=e.getAttribute(t+"class")?.split(/\s+/).filter(t=>t.length)??[];return void r.classList.add(...n)}r.setAttribute(s,e.getAttribute(n))})}static toggle(t,e,r){r?t.setAttribute(e,""):t.removeAttribute(e)}static flip(t,e){t.hasAttribute(e)?t.removeAttribute(e):t.setAttribute(e,"")}static set(t,e,r){null==r?t.removeAttribute(e):t.setAttribute(e,r)}}class i{static from(t){const e=Array.from(t.children).filter(t=>t.matches("[slot]")).map(t=>{t.remove();const e=t.getAttribute("slot")||"unnamed";return t.removeAttribute("slot"),[e,i.slotFromNode(t)]}),r={};r.default=new DocumentFragment,r.default.append(...t.childNodes);for(const[t,n]of e)t in r||(r[t]=new DocumentFragment),r[t].append(n);return r}static slotFromNode(t){return t instanceof HTMLTemplateElement?document.adoptNode(t.content):t instanceof HTMLScriptElement&&""!==t.type&&"text/javascript"!==t.type?l.fromHtml(t.innerHTML):t}}class u{static isParsed(t){for(let e=t;e;e=e.parentNode)if(e.nextSibling)return!0;return!1}static waitParsed(t){return"complete"===t.ownerDocument.readyState||u.isParsed(t)?Promise.resolve(t):new Promise(e=>{const r=new AbortController,n=()=>{r.abort(),s.disconnect(),e(t)};t.ownerDocument.addEventListener("DOMContentLoaded",n,{signal:r.signal});const s=new MutationObserver(()=>{u.isParsed(t)&&n()}),o=t.parentNode;s.observe(o,{childList:!0})})}static queryChildren(t,e){for(const r of t.children)if(r.matches(e))return r;return null}static queryChildrenAll(t,e){const r=[];for(const n of t.children)n.matches(e)&&r.push(n);return r}}class c{#a;constructor(){this.#a=[]}removed(t){return this.#a.includes(t)}remove(t){t.replaceChildren?.(),Object.keys(t.dataset||{}).filter(t=>t.startsWith("tpl")).forEach(e=>delete t.dataset[e]),this.#a.push(t)}popData(t,e){const r=t.dataset[e];return delete t.dataset[e],r}prepend(t,e){t.parentNode.insertBefore(e,t)}append(t,e){t.parentNode.insertBefore(e,t.nextSibling)}replace(t,e){this.prepend(t,e),this.remove(t)}cleanup(){for(;this.#a.length;)this.#a.pop().remove()}}class h{static ORDERED_COMMANDS=["tplIf","tplWith","tplEach","tplWhen","tplClassAppend","tplAttrAppend","tplText","tplHtml","tplRemove","tplVerbatim"];static tplIf(t,e,r,n,o){s.interpret(n,o,e)||r.remove(t)}static tplWith(t,e,r,n,o){const l=s.interpret(n,o,e),a=r.popData(t,"tplVar"),i=new f(t,n,o).withOverlay(a?{[a]:l}:l).render();r.replace(t,i)}static tplEach(t,e,r,n,o){const l=r.popData(t,"tplVar"),a=new f(t,n,o),i=s.interpret(n,o,e);if(!i?.[Symbol.iterator])throw new Error(`Expected an iterable got '${i}'`);for(const e of i)r.prepend(t,a.withOverlay(l?{[l]:e}:e).render());r.remove(t)}static tplWhen(t,e,r,n,o){s.interpret(n,o,e)||r.remove(t)}static tplVerbatim(t,e,r,n,s){const o=t.cloneNode(!0);r.replace(t,o)}static tplRemove(t,e,r,n,s){switch(e.toLowerCase()){case"tag":const e=new DocumentFragment;for(;t.firstChild;)e.appendChild(t.firstChild);"tplVerbatim"in t.dataset?(r.popData(t,"tplVerbatim"),r.replace(t,e)):(r.append(t,e),r.remove(t));break;case"body":t.replaceChildren();break;case"all":r.remove(t)}}static tplText(t,e,r,n,o){const l=s.interpret(n,o,e),a=t.cloneNode();a.replaceChildren(null==l?"":l),r.replace(t,a)}static tplHtml(t,e,r,n,o){const l=s.interpret(n,o,e),a=t.cloneNode();a.innerHTML=null==l?"":l,r.replace(t,a)}static tplClassAppend(t,e,r,n,o){const l=s.interpret(n,o,e);if(!l)return;const a=(Array.isArray(l)?l:[l]).flatMap(t=>"string"==typeof t?t.split(" "):t).filter(Boolean);0!==a.length&&t.classList.add(...a)}static tplAttrAppend(t,e,r,n,o){const l=s.interpret(n,o,e);if(!l||0===l.length)return;(Array.isArray(l[0])?l:[l]).forEach(([e,r])=>{t.setAttribute(e,r)})}static textNode(e,r,n,o,a){for(const i of s.interpret(o,a,r,s.MODE_TEMPLATED))if(null!=i.value)switch(i.type){case t.dom.t:n.prepend(e,document.createTextNode(i.value));break;case t.dom.h:n.prepend(e,l.fromHtml(i.value));break;case t.dom.n:n.prepend(e,i.value)}n.remove(e)}}const d=new Map;function p(t){let e=d.get(t);return e||(e=t.substring(3).split(/(?=[A-Z])/).join("-").toLowerCase(),d.set(t,e)),e}class f{static fromHtml(t,e,...r){return new f(l.fromHtml(t),e,r)}static fromSelector(t,e,...r){const n=document.querySelector(t);if(!(n instanceof HTMLTemplateElement))throw new Error("template selector does not match any template tag");const s=document.adoptNode(n.content);return new f(s,e,r)}static fromTemplate(t,e,...r){const n=document.adoptNode(t.content);return new f(n,e,r)}static fromFragment(t,e,...r){return new f(t,e,r)}#i;#t;#e;constructor(t,e,r){this.#i=t,this.#t=e,this.#e=r}withContext({modules:t,data:e}){return new f(this.#i,t,e)}withContextFrom(t){return this.withContext(t.context())}withFragment(t){return new f(t,this.#t,this.#e)}withModule(t,e){const r=t?{[t]:e}:e;return new f(this.#i,{...this.#t,...r},this.#e)}withModules(t){return new f(this.#i,t,this.#e)}withData(t){return new f(this.#i,this.#t,t)}withOverlay(...t){return new f(this.#i,this.#t,0===t.length?this.#e:[...this.#e,...t])}evaluate(t,e,...r){new o(this.#t,this.#e).withOverlay(...r).evaluate(t,e)}evaluator(){return new o(this.#t,this.#e)}render(){try{const t=new c,e=document.importNode(this.#i,!0),r=e.nodeType===Node.DOCUMENT_FRAGMENT_NODE?e:(()=>{const t=new DocumentFragment;return t.appendChild(e),t})(),n=document.createNodeIterator(r,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,f.#u);let o;for(;null!==(o=n.nextNode());){if(t.cleanup(),o.nodeType===Node.TEXT_NODE){try{h.textNode(o,o.nodeValue,t,this.#t,this.#e)}catch(t){throw new m("Error evaluating text node",o,t)}continue}const e=o;for(const r of h.ORDERED_COMMANDS){if(!(r in e.dataset))continue;const n=t.popData(e,r);try{h[r](e,n,t,this.#t,this.#e)}catch(t){throw new m(`Error evaluating command ${r}`,e,t)}if(t.removed(e))break}for(const r of Object.keys(e.dataset||{})){if(!r.startsWith("tpl"))continue;const n=p(r);try{const o=t.popData(e,r),l=s.interpret(this.#t,this.#e,o);if("boolean"==typeof l){a.toggle(e,n,l);continue}null!=l&&e.setAttribute(n,l)}catch(t){throw new m(`Error evaluating command ${r}`,e,t)}}}return t.cleanup(),r}catch(t){throw new m("Error rendering template",this.#i,t)}}renderTo(t){t.replaceChildren(this.render())}appendTo(t){t.appendChild(this.render())}renderToSelector(t){const e=document.querySelector(t);e&&this.renderTo(e)}appendToSelector(t){const e=document.querySelector(t);e&&this.appendTo(e)}static#u(t){if(t.nodeType===Node.TEXT_NODE)return t.nodeValue.includes("{{")&&t.nodeValue.includes("}}")?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT;for(const e of t.attributes)if(e.name.startsWith("data-tpl-"))return NodeFilter.FILTER_ACCEPT;return NodeFilter.FILTER_SKIP}}class m extends Error{constructor(t,e,r){super(`${t} in \`${m.stringify(e)}\``,{cause:r}),this.name="RenderError",this.node=e.cloneNode(!0)}static stringify(t){const e=document.createElement("template");return e.content.appendChild(m.#c(t.cloneNode(!0))),e.innerHTML}static#c(t){t.nodeType===Node.TEXT_NODE&&(t.nodeValue=t.nodeValue.trim());for(var e=0;e<t.childNodes.length;e++){var r=t.childNodes[e];r.nodeType===Node.TEXT_NODE?(r.nodeValue=r.nodeValue.trim(),0===r.nodeValue.length&&(t.removeChild(r),e--)):r.nodeType===Node.ELEMENT_NODE&&m.#c(r)}return t}}class g{#h=new Map;constructor(){document.addEventListener("DOMContentLoaded",async()=>{const t=Array.from(this.entries).map(([t,e])=>e);await Promise.all(t),document.dispatchEvent(new CustomEvent("ftl:ready",{bubbles:!1,cancelable:!1}))})}enqueue(t){if(this.#h.has(t))return;const e=u.waitParsed(t).then(()=>t.upgrade()).finally(()=>this.#h.delete(t));this.#h.set(t,e)}get entries(){return this.#h.entries()}}class b{#d={};#p=!1;#f={string:{unmarshal:(t,e,r)=>t,marshal:(t,e,r)=>null==t?null:String(t)},number:{unmarshal:(t,e,r)=>null===t?null:Number(t),marshal:(t,e,r)=>null==t?null:String(t)},presence:{unmarshal:(t,e,r)=>null!==t,marshal:(t,e,r)=>t?"":null},bool:{unmarshal:(t,e,r)=>"true"===t,marshal:(t,e,r)=>null==t?null:String(!0===t)},json:{unmarshal:(t,e,r)=>null===t?null:JSON.parse(t),marshal:(t,e,r)=>null==t?null:JSON.stringify(t)},csv:{unmarshal:(t,e,r)=>null===t?[]:t.split(",").map(t=>t.trim()).filter(t=>t),marshal:(t,e,r)=>null==t?null:t.join(",")},csvm:{unmarshal:(t,e,r)=>r.hasAttribute("multiple")?null===t?[]:t.split(",").map(t=>t.trim()).filter(t=>t):null===t||""===t?null:t,marshal:(t,e,r)=>r.hasAttribute("multiple")?null===t?null:t.join(","):null==t?null:String(t)}};#m={};#t;#g=[];#b=new g;defineElement(t,e){return this.#p?(this.#y(t,e),this):(this.#d[t]=e,this)}#y(t,e){const{observed:r,attributes:n,template:s,templates:o,slots:l,mappers:a}=e,i=(r??[]).map(t=>t.split(":")[0]),u=[...n??[],...r??[]].reduce((t,e)=>{const[r,n]=e.split(":"),s=n?.trim()??"string";if(!(s in this.#f)&&!(s in(a??{})))throw new Error(`unsupported attribute type: ${s}`);return t[r.trim()]=a?.[s]??this.#f[s],t},{}),c=Object.entries(Object.assign({},o,s?{default:s}:{})).map(([t,e])=>[t,f.fromHtml(e)]),h=Object.fromEntries(c);e.BITS={enqueue:t=>this.#b.enqueue(t),SLOTS:l,OBSERVED:i,ATTR_TO_MAPPER:u,TEMPLATES:h},customElements.define(t,e)}defineModule(t,e){const r=t?{[t]:e}:e;return this.#t={...this.#t,...r},this}defineModules(t){return this.#t=t,this}defineComponent(t,e){return this.#m[t]=e,this}defineData(...t){return this.#g=t,this}defineOverlay(...t){return this.#g=[...this.#g,...t],this}defineMapper(t,e){return this.#f[t]=e,this}plugin(t){return t.configure(this),this}configure(){for(const[t,e]of Object.entries(this.#d))this.#y(t,e),delete this.#d[t];return this.#p=!0,this}get upgrades(){return this.#b.entries}context(){return{modules:this.#t,data:this.#g}}evaluator(){return new o(this.#t,this.#g)}component(t){return this.#m[t]}}const y=new b;class A{static fromHtml(t){const{modules:e,data:r}=y.context();return f.fromHtml(t,e,...r)}static fromSelector(t){const{modules:e,data:r}=y.context();return f.fromSelector(t,e,...r)}static fromTemplate(t){const{modules:e,data:r}=y.context();return f.fromTemplate(t,e,...r)}static fromFragment(t){const{modules:e,data:r}=y.context();return f.fromFragment(t,e,...r)}}class v{static async waitFor(t){const e=Array.from(y.upgrades).filter(([e,r])=>t.contains(e)).map(([t,e])=>e);await Promise.all(e)}static async waitForChildren(t){const e=Array.from(y.upgrades).filter(([e,r])=>t!==e&&t.contains(e)).map(([t,e])=>e);await Promise.all(e)}}class x extends HTMLElement{static BITS={enqueue:t=>{},SLOTS:!1,OBSERVED:[],ATTR_TO_MAPPER:{},TEMPLATES:{}};static get observedAttributes(){return this.BITS.OBSERVED}#A=!1;#v=0;#x(){return this.constructor.BITS}unmarshal(t,e){return this.#x().ATTR_TO_MAPPER[t].unmarshal(e,t,this)}marshal(t,e){return this.#x().ATTR_TO_MAPPER[t].marshal(e,t,this)}template(t){const{modules:e,data:r}=y.context();let n=this.#x().TEMPLATES[t??"default"].withData(r).withModules(e);for(let t of["l10n","config"]){const e=this.constructor[t];e&&(n=n.withOverlay({[t]:e}))}return n}connectedCallback(){this.#A||this.#x().enqueue(this)}attributeChangedCallback(t,e,r){this.#A&&e!==r&&(this.#v>0||(this[t]=this.unmarshal(t,r)))}#E=null;formDisabledCallback(t){this.#A?Reflect.set(this,"disabled",t):this.#E=t}async upgrade(){if(this.#A)return;this.#A=!0;const t=this.#x().SLOTS?i.from(this):void 0,e=Object.fromEntries(this.#x().OBSERVED.map(t=>[t,this.unmarshal(t,this.getAttribute(t))])),r=this.#E??!1;await this.render({slots:t,observed:e,disabled:r})}render(t){}reflect(t){++this.#v;try{t()}finally{--this.#v}}reflectTo(t,e){++this.#v;try{a.set(this,t,this.marshal(t,e))}finally{--this.#v}}}export{a as Attributes,o as ExpressionEvaluator,s as Expressions,l as Fragments,i as LightSlots,u as Nodes,x as ParsedElement,b as Registry,m as RenderError,v as Rendering,f as Template,A as Templates,y as registry};
1
+ const t={ter:Symbol("ternary"),elv:Symbol("elvis"),nullc:Symbol("null-coalescence"),or:Symbol("or"),and:Symbol("and"),eq:Symbol("eq"),cmp:Symbol("cmp"),not:Symbol("not"),access:Symbol("access"),member:Symbol("access-member"),subscript:Symbol("access-subscript"),method:Symbol("access-method-call"),call:Symbol("module-function-call"),tstring:Symbol("tstring"),literal:Symbol("literal"),array:Symbol("array-literal"),dict:Symbol("dict-literal"),function:Symbol("module-function"),symbol:Symbol("symbol"),templated:{ten:Symbol("templated-node"),teh:Symbol("templated-html"),tet:Symbol("templated-text"),tel:Symbol("templated-literal")},dom:{t:Symbol("text"),h:Symbol("html"),n:Symbol("node")}};class e extends SyntaxError{constructor(t,e,r,n){super(t),this.expected=e,this.found=r,this.location=n,this.name="SyntaxError"}format(t){let e="Error: "+this.message;if(this.location){let r=null;const n=t.find(t=>t.source===this.location.source);n&&(r=n.text.split(/\r\n|\n|\r/g));const s=this.location.start,o=this.location.source&&"function"==typeof this.location.source.offset?this.location.source.offset(s):s,l=this.location.source+":"+o.line+":"+o.column;if(r){const t=this.location.end,n="".padEnd(o.line.toString().length," "),a=r[s.line-1],i=(s.line===t.line?t.column:a.length+1)-s.column||1;e+="\n --\x3e "+l+"\n"+n+" |\n"+o.line+" | "+a+"\n"+n+" | "+"".padEnd(s.column-1," ")+"".padEnd(i,"^")}else e+="\n at "+l}return e}static buildMessage(t,e){function r(t){return t.codePointAt(0).toString(16).toUpperCase()}const n=Object.prototype.hasOwnProperty.call(RegExp.prototype,"unicode")?new RegExp("[\\p{C}\\p{Mn}\\p{Mc}]","gu"):null;function s(t){return n?t.replace(n,t=>"\\u{"+r(t)+"}"):t}function o(t){return s(t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,t=>"\\x0"+r(t)).replace(/[\x10-\x1F\x7F-\x9F]/g,t=>"\\x"+r(t)))}function l(t){return s(t.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,t=>"\\x0"+r(t)).replace(/[\x10-\x1F\x7F-\x9F]/g,t=>"\\x"+r(t)))}const a={literal:t=>'"'+o(t.text)+'"',class(t){const e=t.parts.map(t=>Array.isArray(t)?l(t[0])+"-"+l(t[1]):l(t));return"["+(t.inverted?"^":"")+e.join("")+"]"+(t.unicode?"u":"")},any:()=>"any character",end:()=>"end of input",other:t=>t.description};function i(t){return a[t.type](t)}return"Expected "+function(t){const e=t.map(i);if(e.sort(),e.length>0){let t=1;for(let r=1;r<e.length;r++)e[r-1]!==e[r]&&(e[t]=e[r],t++);e.length=t}switch(e.length){case 1:return e[0];case 2:return e[0]+" or "+e[1];default:return e.slice(0,-1).join(", ")+", or "+e[e.length-1]}}(t)+" but "+function(t){return t?'"'+o(t)+'"':"end of input"}(e)+" found."}}function r(r,n){const s={},o=(n=void 0!==n?n:{}).grammarSource,l={TemplatedRoot:Se,ExpressionRoot:Te};let a=Se;const i="{{{{",u="}}}}",c="{{{",h="}}}",d="{{",p="}}",f="\\",m="{",g="?",b=":",y="?:",A="??",v="||",x="&&",E="!",P="?.",C=".",S="[",w="]",T="(",M=",",O=")",D="true",N="false",_="null",R="undefined",F="-",k="'",L='"',$="`",H="}",q="#",j="==",I="!=",V=">=",B=">",W="<=",X="<",z=/^[^\\{]/,Z=/^[0-9]/,J=/^[^']/,Q=/^[^"]/,U=/^[^\\`{]/,G=/^[a-zA-Z$_]/,K=/^[a-zA-Z$_0-9_]/,Y=/^[ \t\n\r]/,tt=Ae("{{{{",!1),et=Ae("}}}}",!1),rt=Ae("{{{",!1),nt=Ae("}}}",!1),st=Ae("{{",!1),ot=Ae("}}",!1),lt=ve(["\\","{"],!0,!1,!1),at=Ae("\\",!1),it={type:"any"},ut=Ae("{",!1),ct=Ae("?",!1),ht=Ae(":",!1),dt=Ae("?:",!1),pt=Ae("??",!1),ft=Ae("||",!1),mt=Ae("&&",!1),gt=Ae("!",!1),bt=xe("member"),yt=Ae("?.",!1),At=Ae(".",!1),vt=xe("subscript"),xt=Ae("[",!1),Et=Ae("]",!1),Pt=xe("method-call"),Ct=Ae("(",!1),St=Ae(",",!1),wt=Ae(")",!1),Tt=xe("module-function-call"),Mt=xe("boolean-literal"),Ot=Ae("true",!1),Dt=Ae("false",!1),Nt=xe("null-literal"),_t=Ae("null",!1),Rt=xe("undefined-literal"),Ft=Ae("undefined",!1),kt=xe("number-literal"),Lt=Ae("-",!1),$t=ve([["0","9"]],!1,!1,!1),Ht=xe("string-literal"),qt=Ae("'",!1),jt=ve(["'"],!0,!1,!1),It=Ae('"',!1),Vt=ve(['"'],!0,!1,!1),Bt=Ae("`",!1),Wt=xe("tstring-expression"),Xt=Ae("}",!1),zt=xe("tstring-literal"),Zt=ve(["\\","`","{"],!0,!1,!1),Jt=xe("array-literal"),Qt=xe("dict-literal"),Ut=xe("module-function"),Gt=Ae("#",!1),Kt=ve([["a","z"],["A","Z"],"$","_"],!1,!1,!1),Yt=ve([["a","z"],["A","Z"],"$","_",["0","9"],"_"],!1,!1,!1),te=xe("symbol"),ee=Ae("==",!1),re=Ae("!=",!1),ne=Ae(">=",!1),se=Ae(">",!1),oe=Ae("<=",!1),le=Ae("<",!1),ae=ve([" ","\t","\n","\r"],!1,!1,!1);function ie(t){return t}function ue(t,e,r){return{op:e,rhs:r}}function ce(t,e,r){return{op:e,rhs:r}}function he(t){return t}let de=0|n.peg$currPos;const pe=[{line:1,column:1}];let fe,me=de,ge=n.peg$maxFailExpected||[],be=0|n.peg$silentFails,ye={};if(n.startRule){if(!(n.startRule in l))throw new Error("Can't start parsing from rule \""+n.startRule+'".');a=l[n.startRule]}function Ae(t,e){return{type:"literal",text:t,ignoreCase:e}}function ve(t,e,r,n){return{type:"class",parts:t,inverted:e,ignoreCase:r,unicode:n}}function xe(t){return{type:"other",description:t}}function Ee(t){let e,n=pe[t];if(n)return n;if(t>=pe.length)e=pe.length-1;else for(e=t;!pe[--e];);for(n=pe[e],n={line:n.line,column:n.column};e<t;)10===r.charCodeAt(e)?(n.line++,n.column=1):n.column++,e++;return pe[t]=n,n}function Pe(t,e,r){const n=Ee(t),s=Ee(e);return{source:o,start:{offset:t,line:n.line,column:n.column},end:{offset:e,line:s.line,column:s.column}}}function Ce(t){de<me||(de>me&&(me=de,ge=[]),ge.push(t))}function Se(){let t,e;const r=40*de+0,n=ye[r];if(n)return de=n.nextPos,n.result;for(t=[],e=we();e!==s;)t.push(e),e=we();return ye[r]={nextPos:de,result:t},t}function we(){let e,n,o,l,a;const g=40*de+1,b=ye[g];return b?(de=b.nextPos,b.result):(e=de,n=de,o=function(){let t;const e=40*de+2,n=ye[e];if(n)return de=n.nextPos,n.result;r.substr(de,4)===i?(t=i,de+=4):(t=s,0===be&&Ce(tt));return ye[e]={nextPos:de,result:t},t}(),o!==s?(l=Te(),l!==s?(a=function(){let t;const e=40*de+3,n=ye[e];if(n)return de=n.nextPos,n.result;r.substr(de,4)===u?(t=u,de+=4):(t=s,0===be&&Ce(et));return ye[e]={nextPos:de,result:t},t}(),a!==s?n=l:(de=n,n=s)):(de=n,n=s)):(de=n,n=s),n!==s&&(y=n,n={type:t.templated.ten,value:y}),e=n,e===s&&(e=de,n=de,o=function(){let t;const e=40*de+4,n=ye[e];if(n)return de=n.nextPos,n.result;r.substr(de,3)===c?(t=c,de+=3):(t=s,0===be&&Ce(rt));return ye[e]={nextPos:de,result:t},t}(),o!==s?(l=Te(),l!==s?(a=function(){let t;const e=40*de+5,n=ye[e];if(n)return de=n.nextPos,n.result;r.substr(de,3)===h?(t=h,de+=3):(t=s,0===be&&Ce(nt));return ye[e]={nextPos:de,result:t},t}(),a!==s?n=l:(de=n,n=s)):(de=n,n=s)):(de=n,n=s),n!==s&&(n=function(e){return{type:t.templated.teh,value:e}}(n)),e=n,e===s&&(e=de,n=de,o=function(){let t;const e=40*de+6,n=ye[e];if(n)return de=n.nextPos,n.result;r.substr(de,2)===d?(t=d,de+=2):(t=s,0===be&&Ce(st));return ye[e]={nextPos:de,result:t},t}(),o!==s?(l=Te(),l!==s?(a=function(){let t;const e=40*de+7,n=ye[e];if(n)return de=n.nextPos,n.result;r.substr(de,2)===p?(t=p,de+=2):(t=s,0===be&&Ce(ot));return ye[e]={nextPos:de,result:t},t}(),a!==s?n=l:(de=n,n=s)):(de=n,n=s)):(de=n,n=s),n!==s&&(n=function(e){return{type:t.templated.tet,value:e}}(n)),e=n,e===s&&(e=de,n=function(){let t,e,n,o,l,a;const i=40*de+8,u=ye[i];if(u)return de=u.nextPos,u.result;t=de,e=[],n=de,o=[],l=r.charAt(de),z.test(l)?de++:(l=s,0===be&&Ce(lt));if(l!==s)for(;l!==s;)o.push(l),l=r.charAt(de),z.test(l)?de++:(l=s,0===be&&Ce(lt));else o=s;n=o!==s?r.substring(n,de):o;n===s&&(n=de,92===r.charCodeAt(de)?(o=f,de++):(o=s,0===be&&Ce(at)),o!==s?(r.length>de?(l=r.charAt(de),de++):(l=s,0===be&&Ce(it)),l!==s?n=l:(de=n,n=s)):(de=n,n=s),n===s&&(n=de,123===r.charCodeAt(de)?(o=m,de++):(o=s,0===be&&Ce(ut)),o!==s?(l=de,be++,123===r.charCodeAt(de)?(a=m,de++):(a=s,0===be&&Ce(ut)),be--,a===s?l=void 0:(de=l,l=s),l!==s?(o=[o,l],n=o):(de=n,n=s)):(de=n,n=s)));if(n!==s)for(;n!==s;){if(e.push(n),n=de,o=[],l=r.charAt(de),z.test(l)?de++:(l=s,0===be&&Ce(lt)),l!==s)for(;l!==s;)o.push(l),l=r.charAt(de),z.test(l)?de++:(l=s,0===be&&Ce(lt));else o=s;n=o!==s?r.substring(n,de):o,n===s&&(n=de,92===r.charCodeAt(de)?(o=f,de++):(o=s,0===be&&Ce(at)),o!==s?(r.length>de?(l=r.charAt(de),de++):(l=s,0===be&&Ce(it)),l!==s?n=ie(l):(de=n,n=s)):(de=n,n=s),n===s&&(n=de,123===r.charCodeAt(de)?(o=m,de++):(o=s,0===be&&Ce(ut)),o!==s?(l=de,be++,123===r.charCodeAt(de)?(a=m,de++):(a=s,0===be&&Ce(ut)),be--,a===s?l=void 0:(de=l,l=s),l!==s?(o=[o,l],n=o):(de=n,n=s)):(de=n,n=s)))}else e=s;e!==s&&(e=e.join(""));return t=e,ye[i]={nextPos:de,result:t},t}(),n!==s&&(n=function(e){return{type:t.templated.tel,value:e}}(n)),e=n))),ye[g]={nextPos:de,result:e},e);var y}function Te(){let t,e;const r=40*de+9,n=ye[r];return n?(de=n.nextPos,n.result):(t=de,We(),e=Me(),e!==s?(We(),t=e):(de=t,t=s),ye[r]={nextPos:de,result:t},t)}function Me(){let e,n,o,l,a,i;const u=40*de+10,c=ye[u];return c?(de=c.nextPos,c.result):(e=de,n=Oe(),n!==s?(We(),63===r.charCodeAt(de)?(o=g,de++):(o=s,0===be&&Ce(ct)),o!==s?(We(),l=Me(),l!==s?(We(),58===r.charCodeAt(de)?(a=b,de++):(a=s,0===be&&Ce(ht)),a!==s?(We(),i=Me(),i!==s?e={type:t.ter,cond:n,ifTrue:l,ifFalse:i}:(de=e,e=s)):(de=e,e=s)):(de=e,e=s)):(de=e,e=s)):(de=e,e=s),e===s&&(e=Oe()),ye[u]={nextPos:de,result:e},e)}function Oe(){let e,n,o,l;const a=40*de+11,i=ye[a];return i?(de=i.nextPos,i.result):(e=de,n=De(),n!==s?(We(),r.substr(de,2)===y?(o=y,de+=2):(o=s,0===be&&Ce(dt)),o!==s?(We(),l=Oe(),l!==s?e={type:t.elv,cond:n,ifFalse:l}:(de=e,e=s)):(de=e,e=s)):(de=e,e=s),e===s&&(e=De()),ye[a]={nextPos:de,result:e},e)}function De(){let e,n,o,l;const a=40*de+12,i=ye[a];return i?(de=i.nextPos,i.result):(e=de,n=Ne(),n!==s?(We(),r.substr(de,2)===A?(o=A,de+=2):(o=s,0===be&&Ce(pt)),o!==s?(We(),l=De(),l!==s?e={type:t.nullc,lhs:n,rhs:l}:(de=e,e=s)):(de=e,e=s)):(de=e,e=s),e===s&&(e=Ne()),ye[a]={nextPos:de,result:e},e)}function Ne(){let e,n,o,l,a,i;const u=40*de+13,c=ye[u];if(c)return de=c.nextPos,c.result;if(e=de,n=_e(),n!==s){for(o=[],l=de,We(),r.substr(de,2)===v?(a=v,de+=2):(a=s,0===be&&Ce(ft)),a!==s?(We(),i=_e(),i!==s?l=i:(de=l,l=s)):(de=l,l=s);l!==s;)o.push(l),l=de,We(),r.substr(de,2)===v?(a=v,de+=2):(a=s,0===be&&Ce(ft)),a!==s?(We(),i=_e(),i!==s?l=i:(de=l,l=s)):(de=l,l=s);e=function(e,r){let n=e;for(const e of r)n={type:t.or,lhs:n,rhs:e};return n}(n,o)}else de=e,e=s;return ye[u]={nextPos:de,result:e},e}function _e(){let e,n,o,l,a,i;const u=40*de+14,c=ye[u];if(c)return de=c.nextPos,c.result;if(e=de,n=Re(),n!==s){for(o=[],l=de,We(),r.substr(de,2)===x?(a=x,de+=2):(a=s,0===be&&Ce(mt)),a!==s?(We(),i=Re(),i!==s?l=i:(de=l,l=s)):(de=l,l=s);l!==s;)o.push(l),l=de,We(),r.substr(de,2)===x?(a=x,de+=2):(a=s,0===be&&Ce(mt)),a!==s?(We(),i=Re(),i!==s?l=i:(de=l,l=s)):(de=l,l=s);e=function(e,r){let n=e;for(const e of r)n={type:t.and,lhs:n,rhs:e};return n}(n,o)}else de=e,e=s;return ye[u]={nextPos:de,result:e},e}function Re(){let e,r,n,o,l,a;const i=40*de+15,u=ye[i];if(u)return de=u.nextPos,u.result;if(e=de,r=Fe(),r!==s){for(n=[],o=de,We(),l=Ve(),l!==s?(We(),a=Fe(),a!==s?o=ue(0,l,a):(de=o,o=s)):(de=o,o=s);o!==s;)n.push(o),o=de,We(),l=Ve(),l!==s?(We(),a=Fe(),a!==s?o=ue(0,l,a):(de=o,o=s)):(de=o,o=s);e=function(e,r){let n=e;for(const e of r)n={type:t.eq,op:e.op,lhs:n,rhs:e.rhs};return n}(r,n)}else de=e,e=s;return ye[i]={nextPos:de,result:e},e}function Fe(){let e,r,n,o,l,a;const i=40*de+16,u=ye[i];if(u)return de=u.nextPos,u.result;if(e=de,r=ke(),r!==s){for(n=[],o=de,We(),l=Be(),l!==s?(We(),a=ke(),a!==s?o=ce(0,l,a):(de=o,o=s)):(de=o,o=s);o!==s;)n.push(o),o=de,We(),l=Be(),l!==s?(We(),a=ke(),a!==s?o=ce(0,l,a):(de=o,o=s)):(de=o,o=s);e=function(e,r){let n=e;for(const e of r)n={type:t.cmp,op:e.op,lhs:n,rhs:e.rhs};return n}(r,n)}else de=e,e=s;return ye[i]={nextPos:de,result:e},e}function ke(){let e,n,o;const l=40*de+17,a=ye[l];return a?(de=a.nextPos,a.result):(e=de,33===r.charCodeAt(de)?(n=E,de++):(n=s,0===be&&Ce(gt)),n!==s?(We(),o=ke(),o!==s?e={type:t.not,expr:o}:(de=e,e=s)):(de=e,e=s),e===s&&(e=function(){let e,r,n,o,l;const a=40*de+18,i=ye[a];if(i)return de=i.nextPos,i.result;if(e=de,r=$e(),r!==s){if(We(),n=[],o=de,l=Le(),l!==s?(We(),o=l):(de=o,o=s),o!==s)for(;o!==s;)n.push(o),o=de,l=Le(),l!==s?(We(),o=l):(de=o,o=s);else n=s;n!==s?e={type:t.access,lhs:r,rhs:n}:(de=e,e=s)}else de=e,e=s;e===s&&(e=$e());return ye[a]={nextPos:de,result:e},e}()),ye[l]={nextPos:de,result:e},e)}function Le(){let e;const n=40*de+19,o=ye[n];return o?(de=o.nextPos,o.result):(e=function(){let e,n,o;const l=40*de+20,a=ye[l];if(a)return de=a.nextPos,a.result;be++,e=de,r.substr(de,2)===P?(n=P,de+=2):(n=s,0===be&&Ce(yt));n===s&&(46===r.charCodeAt(de)?(n=C,de++):(n=s,0===be&&Ce(At)));n!==s?(We(),o=Ie(),o!==s?e={type:t.member,ns:"?."===n,rhs:o.value}:(de=e,e=s)):(de=e,e=s);be--,e===s&&(n=s,0===be&&Ce(bt));return ye[l]={nextPos:de,result:e},e}(),e===s&&(e=function(){let e,n,o,l,a;const i=40*de+21,u=ye[i];if(u)return de=u.nextPos,u.result;be++,e=de,r.substr(de,2)===P?(n=P,de+=2):(n=s,0===be&&Ce(yt));n===s&&(n=null);91===r.charCodeAt(de)?(o=S,de++):(o=s,0===be&&Ce(xt));o!==s?(We(),l=Me(),l!==s?(We(),93===r.charCodeAt(de)?(a=w,de++):(a=s,0===be&&Ce(Et)),a!==s?e={type:t.subscript,ns:null!==n,rhs:l}:(de=e,e=s)):(de=e,e=s)):(de=e,e=s);be--,e===s&&(n=s,0===be&&Ce(vt));return ye[i]={nextPos:de,result:e},e}(),e===s&&(e=function(){let e,n,o,l,a,i,u,c;const h=40*de+22,d=ye[h];if(d)return de=d.nextPos,d.result;be++,e=de,r.substr(de,2)===P?(n=P,de+=2):(n=s,0===be&&Ce(yt));n===s&&(n=null);40===r.charCodeAt(de)?(o=T,de++):(o=s,0===be&&Ce(Ct));if(o!==s){for(We(),l=de,a=Me(),a!==s?(i=We(),l=a):(de=l,l=s),l===s&&(l=null),a=[],i=de,44===r.charCodeAt(de)?(u=M,de++):(u=s,0===be&&Ce(St)),u!==s?(We(),c=Me(),c!==s?(We(),i=c):(de=i,i=s)):(de=i,i=s);i!==s;)a.push(i),i=de,44===r.charCodeAt(de)?(u=M,de++):(u=s,0===be&&Ce(St)),u!==s?(We(),c=Me(),c!==s?(We(),i=c):(de=i,i=s)):(de=i,i=s);41===r.charCodeAt(de)?(i=O,de++):(i=s,0===be&&Ce(wt)),i!==s?(f=a,e={type:t.method,ns:null!==n,args:null===(p=l)?[]:[p,...f]}):(de=e,e=s)}else de=e,e=s;var p,f;be--,e===s&&(n=s,0===be&&Ce(Pt));return ye[h]={nextPos:de,result:e},e}())),ye[n]={nextPos:de,result:e},e)}function $e(){let e,n,o,l;const a=40*de+23,i=ye[a];return i?(de=i.nextPos,i.result):(e=de,40===r.charCodeAt(de)?(n=T,de++):(n=s,0===be&&Ce(Ct)),n!==s?(We(),o=Me(),o!==s?(We(),41===r.charCodeAt(de)?(l=O,de++):(l=s,0===be&&Ce(wt)),l!==s?e=o:(de=e,e=s)):(de=e,e=s)):(de=e,e=s),e===s&&(e=function(){let e,n,o,l,a,i,u,c;const h=40*de+24,d=ye[h];if(d)return de=d.nextPos,d.result;if(be++,e=de,n=function(){let e,n,o,l,a,i,u,c;const h=40*de+35,d=ye[h];if(d)return de=d.nextPos,d.result;be++,e=de,35===r.charCodeAt(de)?(n=q,de++):(n=s,0===be&&Ce(Gt));if(n!==s){if(o=de,l=de,a=de,i=r.charAt(de),G.test(i)?de++:(i=s,0===be&&Ce(Kt)),i!==s){for(u=[],c=r.charAt(de),K.test(c)?de++:(c=s,0===be&&Ce(Yt));c!==s;)u.push(c),c=r.charAt(de),K.test(c)?de++:(c=s,0===be&&Ce(Yt));i=[i,u],a=i}else de=a,a=s;if(l=a!==s?r.substring(l,de):a,l!==s?(58===r.charCodeAt(de)?(a=b,de++):(a=s,0===be&&Ce(ht)),a!==s?o=l:(de=o,o=s)):(de=o,o=s),o===s&&(o=null),l=de,a=de,i=r.charAt(de),G.test(i)?de++:(i=s,0===be&&Ce(Kt)),i!==s){for(u=[],c=r.charAt(de),K.test(c)?de++:(c=s,0===be&&Ce(Yt));c!==s;)u.push(c),c=r.charAt(de),K.test(c)?de++:(c=s,0===be&&Ce(Yt));i=[i,u],a=i}else de=a,a=s;l=a!==s?r.substring(l,de):a,l!==s?e={type:t.function,module:o,value:l}:(de=e,e=s)}else de=e,e=s;be--,e===s&&(n=s,0===be&&Ce(Ut));return ye[h]={nextPos:de,result:e},e}(),n!==s)if(40===r.charCodeAt(de)?(o=T,de++):(o=s,0===be&&Ce(Ct)),o!==s){for(We(),l=de,a=Me(),a!==s?(i=We(),l=a):(de=l,l=s),l===s&&(l=null),a=[],i=de,44===r.charCodeAt(de)?(u=M,de++):(u=s,0===be&&Ce(St)),u!==s?(We(),c=Me(),c!==s?(We(),i=c):(de=i,i=s)):(de=i,i=s);i!==s;)a.push(i),i=de,44===r.charCodeAt(de)?(u=M,de++):(u=s,0===be&&Ce(St)),u!==s?(We(),c=Me(),c!==s?(We(),i=c):(de=i,i=s)):(de=i,i=s);41===r.charCodeAt(de)?(i=O,de++):(i=s,0===be&&Ce(wt)),i!==s?e=function(e,r,n){const s=null===r?[]:[r,...n];return{type:t.call,value:e,args:s}}(n,l,a):(de=e,e=s)}else de=e,e=s;else de=e,e=s;be--,e===s&&(n=s,0===be&&Ce(Tt));return ye[h]={nextPos:de,result:e},e}(),e===s&&(e=function(){let e;const n=40*de+25,o=ye[n];if(o)return de=o.nextPos,o.result;e=function(){let e,n,o,l,a,i,u,c,h,d;const p=40*de+29,f=ye[p];if(f)return de=f.nextPos,f.result;be++,e=de,n=de,o=de,45===r.charCodeAt(de)?(l=F,de++):(l=s,0===be&&Ce(Lt));l===s&&(l=null);a=de,i=[],u=r.charAt(de),Z.test(u)?de++:(u=s,0===be&&Ce($t));if(u!==s)for(;u!==s;)i.push(u),u=r.charAt(de),Z.test(u)?de++:(u=s,0===be&&Ce($t));else i=s;if(i!==s){if(u=de,46===r.charCodeAt(de)?(c=C,de++):(c=s,0===be&&Ce(At)),c!==s){for(h=[],d=r.charAt(de),Z.test(d)?de++:(d=s,0===be&&Ce($t));d!==s;)h.push(d),d=r.charAt(de),Z.test(d)?de++:(d=s,0===be&&Ce($t));c=[c,h],u=c}else de=u,u=s;u===s&&(u=null),i=[i,u],a=i}else de=a,a=s;if(a===s)if(a=de,46===r.charCodeAt(de)?(i=C,de++):(i=s,0===be&&Ce(At)),i!==s){if(u=[],c=r.charAt(de),Z.test(c)?de++:(c=s,0===be&&Ce($t)),c!==s)for(;c!==s;)u.push(c),c=r.charAt(de),Z.test(c)?de++:(c=s,0===be&&Ce($t));else u=s;u!==s?(i=[i,u],a=i):(de=a,a=s)}else de=a,a=s;a!==s?(l=[l,a],o=l):(de=o,o=s);n=o!==s?r.substring(n,de):o;n!==s&&(n={type:t.literal,value:parseFloat(n)});e=n,be--,e===s&&(n=s,0===be&&Ce(kt));return ye[p]={nextPos:de,result:e},e}(),e===s&&(e=function(){let e,n;const o=40*de+26,l=ye[o];if(l)return de=l.nextPos,l.result;be++,e=de,r.substr(de,4)===D?(n=D,de+=4):(n=s,0===be&&Ce(Ot));n!==s&&(n={type:t.literal,value:!0});e=n,e===s&&(e=de,r.substr(de,5)===N?(n=N,de+=5):(n=s,0===be&&Ce(Dt)),n!==s&&(n={type:t.literal,value:!1}),e=n);be--,e===s&&(n=s,0===be&&Ce(Mt));return ye[o]={nextPos:de,result:e},e}(),e===s&&(e=function(){let e,n;const o=40*de+27,l=ye[o];if(l)return de=l.nextPos,l.result;be++,e=de,r.substr(de,4)===_?(n=_,de+=4):(n=s,0===be&&Ce(_t));n!==s&&(n={type:t.literal,value:null});e=n,be--,e===s&&(n=s,0===be&&Ce(Nt));return ye[o]={nextPos:de,result:e},e}(),e===s&&(e=function(){let e,n;const o=40*de+28,l=ye[o];if(l)return de=l.nextPos,l.result;be++,e=de,r.substr(de,9)===R?(n=R,de+=9):(n=s,0===be&&Ce(Ft));n!==s&&(n={type:t.literal,value:void 0});e=n,be--,e===s&&(n=s,0===be&&Ce(Rt));return ye[o]={nextPos:de,result:e},e}(),e===s&&(e=He(),e===s&&(e=function(){let e,n,o,l,a,i,u;const c=40*de+33,h=ye[c];if(h)return de=h.nextPos,h.result;be++,e=de,91===r.charCodeAt(de)?(n=S,de++):(n=s,0===be&&Ce(xt));if(n!==s){for(We(),o=Me(),o===s&&(o=null),We(),l=[],a=de,44===r.charCodeAt(de)?(i=M,de++):(i=s,0===be&&Ce(St)),i!==s?(We(),u=Me(),u!==s?(We(),a=u):(de=a,a=s)):(de=a,a=s);a!==s;)l.push(a),a=de,44===r.charCodeAt(de)?(i=M,de++):(i=s,0===be&&Ce(St)),i!==s?(We(),u=Me(),u!==s?(We(),a=u):(de=a,a=s)):(de=a,a=s);93===r.charCodeAt(de)?(a=w,de++):(a=s,0===be&&Ce(Et)),a!==s?e=function(e,r){const n=null===e?[]:[e,...r];return{type:t.array,value:n}}(o,l):(de=e,e=s)}else de=e,e=s;be--,e===s&&(n=s,0===be&&Ce(Jt));return ye[c]={nextPos:de,result:e},e}(),e===s&&(e=function(){let e,n,o,l,a,i,u,c,h,d,p;const f=40*de+34,g=ye[f];if(g)return de=g.nextPos,g.result;be++,e=de,123===r.charCodeAt(de)?(n=m,de++):(n=s,0===be&&Ce(ut));if(n!==s){for(We(),o=de,l=He(),l!==s?(a=We(),58===r.charCodeAt(de)?(i=b,de++):(i=s,0===be&&Ce(ht)),i!==s?(u=We(),c=Me(),c!==s?o=[l,c]:(de=o,o=s)):(de=o,o=s)):(de=o,o=s),o===s&&(o=null),l=We(),a=[],i=de,44===r.charCodeAt(de)?(u=M,de++):(u=s,0===be&&Ce(St)),u!==s?(c=We(),h=He(),h!==s?(We(),58===r.charCodeAt(de)?(d=b,de++):(d=s,0===be&&Ce(ht)),d!==s?(We(),p=Me(),p!==s?(We(),i=[h,p]):(de=i,i=s)):(de=i,i=s)):(de=i,i=s)):(de=i,i=s);i!==s;)a.push(i),i=de,44===r.charCodeAt(de)?(u=M,de++):(u=s,0===be&&Ce(St)),u!==s?(c=We(),h=He(),h!==s?(We(),58===r.charCodeAt(de)?(d=b,de++):(d=s,0===be&&Ce(ht)),d!==s?(We(),p=Me(),p!==s?(We(),i=[h,p]):(de=i,i=s)):(de=i,i=s)):(de=i,i=s)):(de=i,i=s);125===r.charCodeAt(de)?(i=H,de++):(i=s,0===be&&Ce(Xt)),i!==s?(A=a,v=[],null!==(y=o)&&v.push(y),v.push.apply(v,A),e={type:t.dict,value:v}):(de=e,e=s)}else de=e,e=s;var y,A,v;be--,e===s&&(n=s,0===be&&Ce(Qt));return ye[f]={nextPos:de,result:e},e}()))))));return ye[n]={nextPos:de,result:e},e}(),e===s&&(e=Ie()))),ye[a]={nextPos:de,result:e},e)}function He(){let e,n,o,l,a;const i=40*de+30,u=ye[i];if(u)return de=u.nextPos,u.result;if(be++,e=de,39===r.charCodeAt(de)?(n=k,de++):(n=s,0===be&&Ce(qt)),n!==s){for(o=de,l=[],a=r.charAt(de),J.test(a)?de++:(a=s,0===be&&Ce(jt));a!==s;)l.push(a),a=r.charAt(de),J.test(a)?de++:(a=s,0===be&&Ce(jt));o=r.substring(o,de),39===r.charCodeAt(de)?(l=k,de++):(l=s,0===be&&Ce(qt)),l!==s?e={type:t.literal,value:o}:(de=e,e=s)}else de=e,e=s;if(e===s){if(e=de,34===r.charCodeAt(de)?(n=L,de++):(n=s,0===be&&Ce(It)),n!==s){for(o=de,l=[],a=r.charAt(de),Q.test(a)?de++:(a=s,0===be&&Ce(Vt));a!==s;)l.push(a),a=r.charAt(de),Q.test(a)?de++:(a=s,0===be&&Ce(Vt));o=r.substring(o,de),34===r.charCodeAt(de)?(l=L,de++):(l=s,0===be&&Ce(It)),l!==s?e=function(e){return{type:t.literal,value:e}}(o):(de=e,e=s)}else de=e,e=s;if(e===s)if(e=de,96===r.charCodeAt(de)?(n=$,de++):(n=s,0===be&&Ce(Bt)),n!==s){for(o=[],l=qe(),l===s&&(l=je());l!==s;)o.push(l),l=qe(),l===s&&(l=je());96===r.charCodeAt(de)?(l=$,de++):(l=s,0===be&&Ce(Bt)),l!==s?e={type:t.tstring,parts:o}:(de=e,e=s)}else de=e,e=s}return be--,e===s&&(n=s,0===be&&Ce(Ht)),ye[i]={nextPos:de,result:e},e}function qe(){let t,e,n,o;const l=40*de+31,a=ye[l];return a?(de=a.nextPos,a.result):(be++,t=de,123===r.charCodeAt(de)?(e=m,de++):(e=s,0===be&&Ce(ut)),e!==s?(We(),n=Me(),n!==s?(We(),125===r.charCodeAt(de)?(o=H,de++):(o=s,0===be&&Ce(Xt)),o!==s?t=n:(de=t,t=s)):(de=t,t=s)):(de=t,t=s),be--,t===s&&(e=s,0===be&&Ce(Wt)),ye[l]={nextPos:de,result:t},t)}function je(){let e,n,o,l,a;const i=40*de+32,u=ye[i];if(u)return de=u.nextPos,u.result;if(be++,e=de,n=[],o=de,l=[],a=r.charAt(de),U.test(a)?de++:(a=s,0===be&&Ce(Zt)),a!==s)for(;a!==s;)l.push(a),a=r.charAt(de),U.test(a)?de++:(a=s,0===be&&Ce(Zt));else l=s;if(o=l!==s?r.substring(o,de):l,o===s&&(o=de,92===r.charCodeAt(de)?(l=f,de++):(l=s,0===be&&Ce(at)),l!==s?(r.length>de?(a=r.charAt(de),de++):(a=s,0===be&&Ce(it)),a!==s?o=a:(de=o,o=s)):(de=o,o=s)),o!==s)for(;o!==s;){if(n.push(o),o=de,l=[],a=r.charAt(de),U.test(a)?de++:(a=s,0===be&&Ce(Zt)),a!==s)for(;a!==s;)l.push(a),a=r.charAt(de),U.test(a)?de++:(a=s,0===be&&Ce(Zt));else l=s;o=l!==s?r.substring(o,de):l,o===s&&(o=de,92===r.charCodeAt(de)?(l=f,de++):(l=s,0===be&&Ce(at)),l!==s?(r.length>de?(a=r.charAt(de),de++):(a=s,0===be&&Ce(it)),a!==s?o=he(a):(de=o,o=s)):(de=o,o=s))}else n=s;return n!==s&&(n={type:t.literal,value:n.join("")}),e=n,e===s&&(e=de,123===r.charCodeAt(de)?(n=m,de++):(n=s,0===be&&Ce(ut)),n!==s&&(n={type:t.literal,value:n}),e=n),be--,e===s&&(n=s,0===be&&Ce(zt)),ye[i]={nextPos:de,result:e},e}function Ie(){let e,n,o,l,a,i;const u=40*de+36,c=ye[u];if(c)return de=c.nextPos,c.result;if(be++,e=de,n=de,o=de,l=r.charAt(de),G.test(l)?de++:(l=s,0===be&&Ce(Kt)),l!==s){for(a=[],i=r.charAt(de),K.test(i)?de++:(i=s,0===be&&Ce(Yt));i!==s;)a.push(i),i=r.charAt(de),K.test(i)?de++:(i=s,0===be&&Ce(Yt));l=[l,a],o=l}else de=o,o=s;return n=o!==s?r.substring(n,de):o,n!==s&&(n={type:t.symbol,value:n}),e=n,be--,e===s&&(n=s,0===be&&Ce(te)),ye[u]={nextPos:de,result:e},e}function Ve(){let t;const e=40*de+37,n=ye[e];return n?(de=n.nextPos,n.result):(r.substr(de,2)===j?(t=j,de+=2):(t=s,0===be&&Ce(ee)),t===s&&(r.substr(de,2)===I?(t=I,de+=2):(t=s,0===be&&Ce(re))),ye[e]={nextPos:de,result:t},t)}function Be(){let t;const e=40*de+38,n=ye[e];return n?(de=n.nextPos,n.result):(r.substr(de,2)===V?(t=V,de+=2):(t=s,0===be&&Ce(ne)),t===s&&(62===r.charCodeAt(de)?(t=B,de++):(t=s,0===be&&Ce(se)),t===s&&(r.substr(de,2)===W?(t=W,de+=2):(t=s,0===be&&Ce(oe)),t===s&&(60===r.charCodeAt(de)?(t=X,de++):(t=s,0===be&&Ce(le))))),ye[e]={nextPos:de,result:t},t)}function We(){let t,e;const n=40*de+39,o=ye[n];if(o)return de=o.nextPos,o.result;for(be++,t=[],e=r.charAt(de),Y.test(e)?de++:(e=s,0===be&&Ce(ae));e!==s;)t.push(e),e=r.charAt(de),Y.test(e)?de++:(e=s,0===be&&Ce(ae));return be--,ye[n]={nextPos:de,result:t},t}fe=a();const Xe=fe!==s&&de===r.length;function ze(){throw fe!==s&&de<r.length&&Ce({type:"end"}),t=ge,n=me<r.length?function(t=de){const e=r.codePointAt(t);return void 0===e?"":String.fromCodePoint(e)}(me):null,o=me<r.length?Pe(me,me+1):Pe(me,me),new e(e.buildMessage(t,n),t,n,o);var t,n,o}return n.peg$library?{peg$result:fe,peg$currPos:de,peg$FAILED:s,peg$maxFailExpected:ge,peg$maxFailPos:me,peg$success:Xe,peg$throw:Xe?void 0:ze}:Xe?fe:void ze()}class n{#t;#e;constructor(t,e){this.#t=t,this.#e=e}#r(t){if("self"===t)return this.#e[this.#e.length-1];for(let e=this.#e.length-1;e>=0;e--){const r=this.#e[e];if(null!=r&&("object"==typeof r||"function"==typeof r)&&t in r)return r[t]}}#n;#s(){return this.#n||(this.#n=new Proxy(this.#e,{get:(t,e)=>this.#r(e)})),this.#n}[t.and](t){return this.visit(t.lhs)&&this.visit(t.rhs)}[t.or](t){return this.visit(t.lhs)||this.visit(t.rhs)}[t.nullc](t){const e=this.visit(t.lhs);return null!=e?e:this.visit(t.rhs)}[t.not](t){return!this.visit(t.expr)}[t.eq](t){const e=this.visit(t.lhs)===this.visit(t.rhs);return"=="===t.op?e:!e}[t.cmp](t){const e=this.visit(t.lhs),r=this.visit(t.rhs);switch(t.op){case">":return e>r;case"<":return e<r;case">=":return e>=r;case"<=":return e<=r;default:throw new Error(`unknown cmp op ${t.op}`)}}[t.call](t){const e=t.value,r=null===e.module?this.#t:this.#t?.[e.module];if(!r)throw new Error(`Module "${e.module}" not found`);const n=r[e.value];if(!n)throw new Error(`Function "#${null===e.module?"":`${e.module}:`}${e.value}" not found`);const s=t.args.map(t=>this.visit(t));return n.apply(this.#s(),s)}[t.literal](t){return t.value}[t.tstring](t){let e="";const r=t.parts;for(let t=0,n=r.length;t<n;t++){const n=this.visit(r[t]);null!=n&&(e+=n)}return e}[t.symbol](t){return this.#r(t.value)}[t.dict](t){return Object.fromEntries(t.value.map(t=>[t[0].value,this.visit(t[1])]))}[t.array](t){return t.value.map(t=>this.visit(t))}[t.ter](t){return this.visit(t.cond)?this.visit(t.ifTrue):this.visit(t.ifFalse)}[t.elv](t){const e=this.visit(t.cond);return e||this.visit(t.ifFalse)}[t.access](e){let r,n=this.visit(e.lhs);for(let s=0;s!==e.rhs.length;++s){const o=e.rhs[s];if(o.ns&&null==n)return;let l;switch(o.type){case t.member:l=n[o.rhs];break;case t.subscript:l=n[this.visit(o.rhs)];break;case t.method:{if(!n)throw new Error(`Method missing "${e.rhs[s-1].rhs}"`);const t=o.args.map(t=>this.visit(t));l=n.apply(r,t);break}}r=n,n=l}return n}visit(t,...e){return this[t.type](t,...e)}visitRoot(e,r){return r?e.map(e=>{switch(e.type){case t.templated.tel:return{type:t.dom.t,value:e.value};case t.templated.tet:return{type:t.dom.t,value:this.visit(e.value)};case t.templated.teh:return{type:t.dom.h,value:this.visit(e.value)};case t.templated.ten:return{type:t.dom.n,value:this.visit(e.value)};default:throw new Error(`unknown node type ${e.type.toString()}`)}}):this.visit(e)}}class s{static MODE_EXPRESSION=Symbol("MODE_EXPRESSION");static MODE_TEMPLATED=Symbol("MODE_TEMPLATED");static#o=new Map;static#l=1e3;static parse(t,e){const n=e?.toString()+t;if(!this.#o.has(n)){if(this.#o.size>=this.#l){const t=this.#o.keys().next().value;this.#o.delete(t)}this.#o.set(n,r(t,{startRule:e===s.MODE_TEMPLATED?"TemplatedRoot":"ExpressionRoot"}))}return this.#o.get(n)}static evaluate(t,e,r,o){return new n(t,e).visitRoot(r,o===s.MODE_TEMPLATED)}static interpret(t,e,r,n){return s.evaluate(t,e,s.parse(r,n),n)}}class o{#t;#e;constructor(t,e){this.#t=t,this.#e=e}withModule(t,e){const r=t?{[t]:e}:e;return new o({...this.#t,...r},this.#e)}withOverlay(...t){return new o(this.#t,0===t.length?this.#e:[...this.#e,...t])}evaluate(t,e){return s.interpret(this.#t,this.#e,t,e)}evaluateExpression(t){return this.evaluate(t,s.MODE_EXPRESSION)}evaluateTemplated(t){return this.evaluate(t,s.MODE_TEMPLATED)}}class l{static fromHtml(...t){const e=document.createElement("template");return e.innerHTML=t.map(t=>t.trim()).join(""),document.adoptNode(e.content)}static toHtml(t){var e=document.createElement("template");return e.content.appendChild(t),e.innerHTML}static isBlank(t){return 0===t.childElementCount&&""===t.textContent.trim()}static from(...t){const e=new DocumentFragment;for(const r of t)e.appendChild(r);return e}static fromChildNodes(t){const e=new DocumentFragment;for(;t.firstChild;)e.appendChild(t.firstChild);return e}}class a{static id=0;static uid(t){return`${t}-${++a.id}`}static defaultValue(t,e,r){return t.hasAttribute(e)||t.setAttribute(e,r),t.getAttribute(e)}static forward(t,e,r){e.getAttributeNames().filter(e=>e.startsWith(t)).forEach(n=>{const s=n.substring(t.length);if("class"===s){const n=e.getAttribute(`${t}class`)?.split(/\s+/).filter(t=>t.length)??[];return void r.classList.add(...n)}r.setAttribute(s,e.getAttribute(n))})}static toggle(t,e,r){r?t.setAttribute(e,""):t.removeAttribute(e)}static flip(t,e){t.hasAttribute(e)?t.removeAttribute(e):t.setAttribute(e,"")}static set(t,e,r){null==r?t.removeAttribute(e):t.setAttribute(e,r)}}class i{static from(t){const e=Array.from(t.children).filter(t=>t.matches("[slot]")).map(t=>{t.remove();const e=t.getAttribute("slot")||"unnamed";return t.removeAttribute("slot"),[e,i.slotFromNode(t)]}),r={};r.default=new DocumentFragment,r.default.append(...t.childNodes);for(const[t,n]of e)t in r||(r[t]=new DocumentFragment),r[t].append(n);return r}static slotFromNode(t){return t instanceof HTMLTemplateElement?document.adoptNode(t.content):t instanceof HTMLScriptElement&&""!==t.type&&"text/javascript"!==t.type?l.fromHtml(t.innerHTML):t}}class u{static isParsed(t){for(let e=t;e;e=e.parentNode)if(e.nextSibling)return!0;return!1}static waitParsed(t){return"complete"===t.ownerDocument.readyState||u.isParsed(t)?Promise.resolve(t):new Promise(e=>{const r=new AbortController,n=()=>{r.abort(),s.disconnect(),e(t)};t.ownerDocument.addEventListener("DOMContentLoaded",n,{signal:r.signal});const s=new MutationObserver(()=>{u.isParsed(t)&&n()}),o=t.parentNode;s.observe(o,{childList:!0})})}static queryChildren(t,e){for(const r of t.children)if(r.matches(e))return r;return null}static queryChildrenAll(t,e){const r=[];for(const n of t.children)n.matches(e)&&r.push(n);return r}}class c{#a=new Set;removed(t){return this.#a.has(t)}remove(t){t.replaceChildren?.(),Object.keys(t.dataset||{}).filter(t=>t.startsWith("tpl")).forEach(e=>{delete t.dataset[e]}),this.#a.add(t)}popData(t,e){const r=t.dataset[e];return delete t.dataset[e],r}prepend(t,e){t.parentNode.insertBefore(e,t)}append(t,e){t.parentNode.insertBefore(e,t.nextSibling)}replace(t,e){this.prepend(t,e),this.remove(t)}cleanup(){for(const t of this.#a)t.remove();this.#a.clear()}}class h{static ORDERED_COMMANDS=["tplIf","tplWith","tplEach","tplWhen","tplClassAppend","tplAttrAppend","tplText","tplHtml","tplRemove","tplVerbatim"];static tplIf(t,e,r,n,o){s.interpret(n,o,e)||r.remove(t)}static tplWith(t,e,r,n,o){const l=s.interpret(n,o,e),a=r.popData(t,"tplVar"),i=new f(t,n,o).withOverlay(a?{[a]:l}:l).render();r.replace(t,i)}static tplEach(t,e,r,n,o){const l=r.popData(t,"tplVar"),a=new f(t,n,o),i=s.interpret(n,o,e);if(!i?.[Symbol.iterator])throw new Error(`Expected an iterable got '${i}'`);for(const e of i)r.prepend(t,a.withOverlay(l?{[l]:e}:e).render());r.remove(t)}static tplWhen(t,e,r,n,o){s.interpret(n,o,e)||r.remove(t)}static tplVerbatim(t,e,r,n,s){const o=t.cloneNode(!0);r.replace(t,o)}static tplRemove(t,e,r,n,s){switch(e.toLowerCase()){case"tag":{const e=new DocumentFragment;for(;t.firstChild;)e.appendChild(t.firstChild);"tplVerbatim"in t.dataset?(r.popData(t,"tplVerbatim"),r.replace(t,e)):(r.append(t,e),r.remove(t));break}case"body":t.replaceChildren();break;case"all":r.remove(t)}}static tplText(t,e,r,n,o){const l=s.interpret(n,o,e),a=t.cloneNode();a.replaceChildren(null==l?"":l),r.replace(t,a)}static tplHtml(t,e,r,n,o){const l=s.interpret(n,o,e),a=t.cloneNode();a.innerHTML=null==l?"":l,r.replace(t,a)}static tplClassAppend(t,e,r,n,o){const l=s.interpret(n,o,e);if(!l)return;const a=(Array.isArray(l)?l:[l]).flatMap(t=>"string"==typeof t?t.split(" "):t).filter(Boolean);0!==a.length&&t.classList.add(...a)}static tplAttrAppend(t,e,r,n,o){const l=s.interpret(n,o,e);if(!l||0===l.length)return;(Array.isArray(l[0])?l:[l]).forEach(([e,r])=>{t.setAttribute(e,r)})}static textNode(e,r,n,o,a){for(const i of s.interpret(o,a,r,s.MODE_TEMPLATED))if(null!=i.value)switch(i.type){case t.dom.t:n.prepend(e,document.createTextNode(i.value));break;case t.dom.h:n.prepend(e,l.fromHtml(i.value));break;case t.dom.n:n.prepend(e,i.value)}n.remove(e)}}const d=new Map;function p(t){let e=d.get(t);return e||(d.size>=1e3&&d.delete(d.keys().next().value),e=t.substring(3).split(/(?=[A-Z])/).join("-").toLowerCase(),d.set(t,e)),e}class f{static fromHtml(t,e,...r){return new f(l.fromHtml(t),e,r)}static fromSelector(t,e,...r){const n=document.querySelector(t);if(!(n instanceof HTMLTemplateElement))throw new Error("template selector does not match any template tag");const s=document.adoptNode(n.content);return new f(s,e,r)}static fromTemplate(t,e,...r){const n=document.adoptNode(t.content);return new f(n,e,r)}static fromFragment(t,e,...r){return new f(t,e,r)}#i;#t;#e;constructor(t,e,r){this.#i=t,this.#t=e,this.#e=r}withContext({modules:t,data:e}){return new f(this.#i,t,e)}withContextFrom(t){return this.withContext(t.context())}withFragment(t){return new f(t,this.#t,this.#e)}withModule(t,e){const r=t?{[t]:e}:e;return new f(this.#i,{...this.#t,...r},this.#e)}withModules(t){return new f(this.#i,t,this.#e)}withData(t){return new f(this.#i,this.#t,t)}withOverlay(...t){return new f(this.#i,this.#t,0===t.length?this.#e:[...this.#e,...t])}evaluate(t,e,...r){return new o(this.#t,this.#e).withOverlay(...r).evaluate(t,e)}evaluator(){return new o(this.#t,this.#e)}render(){try{const t=new c,e=document.importNode(this.#i,!0),r=e.nodeType===Node.DOCUMENT_FRAGMENT_NODE?e:(()=>{const t=new DocumentFragment;return t.appendChild(e),t})(),n=document.createNodeIterator(r,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,f.#u);let o;for(;null!==(o=n.nextNode());){if(t.cleanup(),o.nodeType===Node.TEXT_NODE){try{h.textNode(o,o.nodeValue,t,this.#t,this.#e)}catch(t){throw new m("Error evaluating text node",o,t)}continue}const e=o;for(const r of h.ORDERED_COMMANDS){if(!(r in e.dataset))continue;const n=t.popData(e,r);try{h[r](e,n,t,this.#t,this.#e)}catch(t){throw new m(`Error evaluating command ${r}`,e,t)}if(t.removed(e))break}for(const r of Object.keys(e.dataset||{})){if(!r.startsWith("tpl"))continue;const n=p(r);try{const o=t.popData(e,r),l=s.interpret(this.#t,this.#e,o);if("boolean"==typeof l){a.toggle(e,n,l);continue}null!=l&&e.setAttribute(n,l)}catch(t){throw new m(`Error evaluating command ${r}`,e,t)}}}return t.cleanup(),r}catch(t){throw new m("Error rendering template",this.#i,t)}}renderTo(t){t.replaceChildren(this.render())}appendTo(t){t.appendChild(this.render())}renderToSelector(t){const e=document.querySelector(t);e&&this.renderTo(e)}appendToSelector(t){const e=document.querySelector(t);e&&this.appendTo(e)}static#u(t){if(t.nodeType===Node.TEXT_NODE)return t.nodeValue.includes("{{")&&t.nodeValue.includes("}}")?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT;for(const e of t.attributes)if(e.name.startsWith("data-tpl-"))return NodeFilter.FILTER_ACCEPT;return NodeFilter.FILTER_SKIP}}class m extends Error{constructor(t,e,r){super(`${t} in \`${m.stringify(e)}\``,{cause:r}),this.name="RenderError",this.node=e.cloneNode(!0)}static stringify(t){const e=document.createElement("template");return e.content.appendChild(m.#c(t.cloneNode(!0))),e.innerHTML}static#c(t){t.nodeType===Node.TEXT_NODE&&(t.nodeValue=t.nodeValue.trim());for(let e=0;e<t.childNodes.length;e++){const r=t.childNodes[e];r.nodeType===Node.TEXT_NODE?(r.nodeValue=r.nodeValue.trim(),0===r.nodeValue.length&&(t.removeChild(r),e--)):r.nodeType===Node.ELEMENT_NODE&&m.#c(r)}return t}}class g{#h=new Map;constructor(){document.addEventListener("DOMContentLoaded",async()=>{await this.settle(),document.dispatchEvent(new CustomEvent("ftl:ready",{bubbles:!1,cancelable:!1}))})}enqueue(t){if(this.#h.has(t))return;const e=u.waitParsed(t).then(()=>t.upgrade()).finally(()=>this.#h.delete(t));this.#h.set(t,e)}async settle(){for(;0!==this.#h.size;)await Promise.all(Array.from(this.#h.values()))}get entries(){return this.#h.entries()}}class b{#d={};#p=!1;#f={string:{unmarshal:(t,e,r)=>t,marshal:(t,e,r)=>null==t?null:String(t)},number:{unmarshal:(t,e,r)=>null===t?null:Number(t),marshal:(t,e,r)=>null==t?null:String(t)},presence:{unmarshal:(t,e,r)=>null!==t,marshal:(t,e,r)=>t?"":null},bool:{unmarshal:(t,e,r)=>"true"===t,marshal:(t,e,r)=>null==t?null:String(!0===t)},json:{unmarshal:(t,e,r)=>null===t?null:JSON.parse(t),marshal:(t,e,r)=>null==t?null:JSON.stringify(t)},csv:{unmarshal:(t,e,r)=>null===t?[]:t.split(",").map(t=>t.trim()).filter(t=>t),marshal:(t,e,r)=>null==t?null:t.join(",")},csvm:{unmarshal:(t,e,r)=>r.hasAttribute("multiple")?null===t?[]:t.split(",").map(t=>t.trim()).filter(t=>t):null===t||""===t?null:t,marshal:(t,e,r)=>r.hasAttribute("multiple")?null===t?null:t.join(","):null==t?null:String(t)}};#m={};#t;#g=[];#b=new g;defineElement(t,e){return this.#p?(this.#y(t,e),this):(this.#d[t]=e,this)}#y(t,e){const{observed:r,attributes:n,template:s,templates:o,slots:l,mappers:a}=e,i=(r??[]).map(t=>t.split(":")[0]),u=[...n??[],...r??[]].reduce((t,e)=>{const[r,n]=e.split(":"),s=n?.trim()??"string";if(!(s in this.#f)&&!(s in(a??{})))throw new Error(`unsupported attribute type: ${s}`);return t[r.trim()]=a?.[s]??this.#f[s],t},{}),c=Object.entries(Object.assign({},o,s?{default:s}:{})).map(([t,e])=>[t,f.fromHtml(e)]),h=Object.fromEntries(c);e.BITS={enqueue:t=>this.#b.enqueue(t),SLOTS:l,OBSERVED:i,ATTR_TO_MAPPER:u,TEMPLATES:h},customElements.define(t,e)}defineModule(t,e){const r=t?{[t]:e}:e;return this.#t={...this.#t,...r},this}defineModules(t){return this.#t=t,this}defineComponent(t,e){return this.#m[t]=e,this}defineData(...t){return this.#g=t,this}defineOverlay(...t){return this.#g=[...this.#g,...t],this}defineMapper(t,e){return this.#f[t]=e,this}plugin(t){return t.configure(this),this}configure(){for(const[t,e]of Object.entries(this.#d))this.#y(t,e),delete this.#d[t];return this.#p=!0,this}get upgrades(){return this.#b.entries}context(){return{modules:this.#t,data:this.#g}}evaluator(){return new o(this.#t,this.#g)}component(t){return this.#m[t]}}const y=new b;class A{static fromHtml(t){const{modules:e,data:r}=y.context();return f.fromHtml(t,e,...r)}static fromSelector(t){const{modules:e,data:r}=y.context();return f.fromSelector(t,e,...r)}static fromTemplate(t){const{modules:e,data:r}=y.context();return f.fromTemplate(t,e,...r)}static fromFragment(t){const{modules:e,data:r}=y.context();return f.fromFragment(t,e,...r)}}const v=async t=>{for(;;){const e=Array.from(y.upgrades).filter(([e])=>t(e)).map(([,t])=>t);if(0===e.length)return;await Promise.all(e)}};class x{static async waitFor(t){await v(e=>t.contains(e))}static async waitForChildren(t){await v(e=>t!==e&&t.contains(e))}}class E extends HTMLElement{static BITS={enqueue:t=>{},SLOTS:!1,OBSERVED:[],ATTR_TO_MAPPER:{},TEMPLATES:{}};static get observedAttributes(){return this.BITS.OBSERVED}#A=!1;#v=0;#x(){return this.constructor.BITS}unmarshal(t,e){return this.#x().ATTR_TO_MAPPER[t].unmarshal(e,t,this)}marshal(t,e){return this.#x().ATTR_TO_MAPPER[t].marshal(e,t,this)}template(t){const{modules:e,data:r}=y.context();let n=this.#x().TEMPLATES[t??"default"].withData(r).withModules(e);for(const t of["l10n","config"]){const e=this.constructor[t];e&&(n=n.withOverlay({[t]:e}))}return n}connectedCallback(){this.#A||this.#x().enqueue(this)}attributeChangedCallback(t,e,r){this.#A&&e!==r&&(this.#v>0||(this[t]=this.unmarshal(t,r)))}#E=null;formDisabledCallback(t){this.#A?Reflect.set(this,"disabled",t):this.#E=t}async upgrade(){if(this.#A)return;this.#A=!0;const t=this.#x().SLOTS?i.from(this):void 0,e=Object.fromEntries(this.#x().OBSERVED.map(t=>[t,this.unmarshal(t,this.getAttribute(t))])),r=this.#E??!1;await this.render({slots:t,observed:e,disabled:r})}render(t){}reflect(t){++this.#v;try{t()}finally{--this.#v}}reflectTo(t,e){++this.#v;try{a.set(this,t,this.marshal(t,e))}finally{--this.#v}}}export{a as Attributes,o as ExpressionEvaluator,s as Expressions,l as Fragments,i as LightSlots,u as Nodes,E as ParsedElement,b as Registry,m as RenderError,x as Rendering,f as Template,A as Templates,y as registry};
2
2
  //# sourceMappingURL=ftl.min.mjs.map