@optionfactory/fml 8.0.3 → 9.0.0-rc1

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 (50) hide show
  1. package/LICENSE.md +7 -0
  2. package/README.md +88 -0
  3. package/dist/client-errors.iife.js +30 -9
  4. package/dist/client-errors.iife.js.map +1 -1
  5. package/dist/client-errors.iife.min.js +1 -1
  6. package/dist/client-errors.iife.min.js.map +1 -1
  7. package/dist/custom-elements.json +1529 -435
  8. package/dist/fml.css +21 -10
  9. package/dist/fml.css.map +1 -1
  10. package/dist/fml.d.mts +3 -1322
  11. package/dist/fml.iife.js +5267 -2276
  12. package/dist/fml.iife.js.map +1 -1
  13. package/dist/fml.iife.min.js +1 -1
  14. package/dist/fml.iife.min.js.map +1 -1
  15. package/dist/fml.min.mjs +1 -1
  16. package/dist/fml.min.mjs.map +1 -1
  17. package/dist/fml.mjs +6 -8737
  18. package/dist/fml.mjs.map +1 -1
  19. package/dist/ftl.d.mts +430 -92
  20. package/dist/ftl.iife.js +1314 -809
  21. package/dist/ftl.iife.js.map +1 -1
  22. package/dist/ftl.iife.min.js +1 -1
  23. package/dist/ftl.iife.min.js.map +1 -1
  24. package/dist/ftl.min.mjs +1 -1
  25. package/dist/ftl.min.mjs.map +1 -1
  26. package/dist/ftl.mjs +1313 -810
  27. package/dist/ftl.mjs.map +1 -1
  28. package/dist/ful.css +21 -10
  29. package/dist/ful.css.map +1 -1
  30. package/dist/ful.d.mts +801 -252
  31. package/dist/ful.iife.js +3677 -1378
  32. package/dist/ful.iife.js.map +1 -1
  33. package/dist/ful.iife.min.js +1 -1
  34. package/dist/ful.iife.min.js.map +1 -1
  35. package/dist/ful.min.mjs +1 -1
  36. package/dist/ful.min.mjs.map +1 -1
  37. package/dist/ful.mjs +3666 -1378
  38. package/dist/ful.mjs.map +1 -1
  39. package/dist/httpc.d.mts +114 -19
  40. package/dist/httpc.iife.js +253 -83
  41. package/dist/httpc.iife.js.map +1 -1
  42. package/dist/httpc.iife.min.js +1 -1
  43. package/dist/httpc.iife.min.js.map +1 -1
  44. package/dist/httpc.min.mjs +1 -1
  45. package/dist/httpc.min.mjs.map +1 -1
  46. package/dist/httpc.mjs +250 -84
  47. package/dist/httpc.mjs.map +1 -1
  48. package/dist/vscode.html-custom-data.json +600 -58
  49. package/dist/web-types.json +1475 -380
  50. package/package.json +16 -8
@@ -1,2 +1,2 @@
1
- var ftl=function(t){"use strict";const e={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 r 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 n(t,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="?",y=":",b="?:",v="??",A="||",x="&&",E="!",P="?.",C=".",S="[",w="]",T="(",M=",",O=")",N="true",D="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=ve("{{{{",!1),et=ve("}}}}",!1),rt=ve("{{{",!1),nt=ve("}}}",!1),st=ve("{{",!1),ot=ve("}}",!1),lt=Ae(["\\","{"],!0,!1,!1),at=ve("\\",!1),it={type:"any"},ut=ve("{",!1),ct=ve("?",!1),ht=ve(":",!1),dt=ve("?:",!1),pt=ve("??",!1),ft=ve("||",!1),mt=ve("&&",!1),gt=ve("!",!1),yt=xe("member"),bt=ve("?.",!1),vt=ve(".",!1),At=xe("subscript"),xt=ve("[",!1),Et=ve("]",!1),Pt=xe("method-call"),Ct=ve("(",!1),St=ve(",",!1),wt=ve(")",!1),Tt=xe("module-function-call"),Mt=xe("boolean-literal"),Ot=ve("true",!1),Nt=ve("false",!1),Dt=xe("null-literal"),_t=ve("null",!1),Rt=xe("undefined-literal"),Ft=ve("undefined",!1),kt=xe("number-literal"),Lt=ve("-",!1),$t=Ae([["0","9"]],!1,!1,!1),Ht=xe("string-literal"),jt=ve("'",!1),It=Ae(["'"],!0,!1,!1),qt=ve('"',!1),Vt=Ae(['"'],!0,!1,!1),Bt=ve("`",!1),Wt=xe("tstring-expression"),Xt=ve("}",!1),zt=xe("tstring-literal"),Zt=Ae(["\\","`","{"],!0,!1,!1),Jt=xe("array-literal"),Qt=xe("dict-literal"),Ut=xe("module-function"),Gt=ve("#",!1),Kt=Ae([["a","z"],["A","Z"],"$","_"],!1,!1,!1),Yt=Ae([["a","z"],["A","Z"],"$","_",["0","9"],"_"],!1,!1,!1),te=xe("symbol"),ee=ve("==",!1),re=ve("!=",!1),ne=ve(">=",!1),se=ve(">",!1),oe=ve("<=",!1),le=ve("<",!1),ae=Ae([" ","\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||[],ye=0|n.peg$silentFails,be={};if(n.startRule){if(!(n.startRule in l))throw new Error("Can't start parsing from rule \""+n.startRule+'".');a=l[n.startRule]}function ve(t,e){return{type:"literal",text:t,ignoreCase:e}}function Ae(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(e){let r,n=pe[e];if(n)return n;if(e>=pe.length)r=pe.length-1;else for(r=e;!pe[--r];);for(n=pe[r],n={line:n.line,column:n.column};r<e;)10===t.charCodeAt(r)?(n.line++,n.column=1):n.column++,r++;return pe[e]=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=be[r];if(n)return de=n.nextPos,n.result;for(t=[],e=we();e!==s;)t.push(e),e=we();return be[r]={nextPos:de,result:t},t}function we(){let r,n,o,l,a;const g=40*de+1,y=be[g];return y?(de=y.nextPos,y.result):(r=de,n=de,o=function(){let e;const r=40*de+2,n=be[r];if(n)return de=n.nextPos,n.result;t.substr(de,4)===i?(e=i,de+=4):(e=s,0===ye&&Ce(tt));return be[r]={nextPos:de,result:e},e}(),o!==s?(l=Te(),l!==s?(a=function(){let e;const r=40*de+3,n=be[r];if(n)return de=n.nextPos,n.result;t.substr(de,4)===u?(e=u,de+=4):(e=s,0===ye&&Ce(et));return be[r]={nextPos:de,result:e},e}(),a!==s?n=l:(de=n,n=s)):(de=n,n=s)):(de=n,n=s),n!==s&&(b=n,n={type:e.templated.ten,value:b}),r=n,r===s&&(r=de,n=de,o=function(){let e;const r=40*de+4,n=be[r];if(n)return de=n.nextPos,n.result;t.substr(de,3)===c?(e=c,de+=3):(e=s,0===ye&&Ce(rt));return be[r]={nextPos:de,result:e},e}(),o!==s?(l=Te(),l!==s?(a=function(){let e;const r=40*de+5,n=be[r];if(n)return de=n.nextPos,n.result;t.substr(de,3)===h?(e=h,de+=3):(e=s,0===ye&&Ce(nt));return be[r]={nextPos:de,result:e},e}(),a!==s?n=l:(de=n,n=s)):(de=n,n=s)):(de=n,n=s),n!==s&&(n=function(t){return{type:e.templated.teh,value:t}}(n)),r=n,r===s&&(r=de,n=de,o=function(){let e;const r=40*de+6,n=be[r];if(n)return de=n.nextPos,n.result;t.substr(de,2)===d?(e=d,de+=2):(e=s,0===ye&&Ce(st));return be[r]={nextPos:de,result:e},e}(),o!==s?(l=Te(),l!==s?(a=function(){let e;const r=40*de+7,n=be[r];if(n)return de=n.nextPos,n.result;t.substr(de,2)===p?(e=p,de+=2):(e=s,0===ye&&Ce(ot));return be[r]={nextPos:de,result:e},e}(),a!==s?n=l:(de=n,n=s)):(de=n,n=s)):(de=n,n=s),n!==s&&(n=function(t){return{type:e.templated.tet,value:t}}(n)),r=n,r===s&&(r=de,n=function(){let e,r,n,o,l,a;const i=40*de+8,u=be[i];if(u)return de=u.nextPos,u.result;e=de,r=[],n=de,o=[],l=t.charAt(de),z.test(l)?de++:(l=s,0===ye&&Ce(lt));if(l!==s)for(;l!==s;)o.push(l),l=t.charAt(de),z.test(l)?de++:(l=s,0===ye&&Ce(lt));else o=s;n=o!==s?t.substring(n,de):o;n===s&&(n=de,92===t.charCodeAt(de)?(o=f,de++):(o=s,0===ye&&Ce(at)),o!==s?(t.length>de?(l=t.charAt(de),de++):(l=s,0===ye&&Ce(it)),l!==s?n=l:(de=n,n=s)):(de=n,n=s),n===s&&(n=de,123===t.charCodeAt(de)?(o=m,de++):(o=s,0===ye&&Ce(ut)),o!==s?(l=de,ye++,123===t.charCodeAt(de)?(a=m,de++):(a=s,0===ye&&Ce(ut)),ye--,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(r.push(n),n=de,o=[],l=t.charAt(de),z.test(l)?de++:(l=s,0===ye&&Ce(lt)),l!==s)for(;l!==s;)o.push(l),l=t.charAt(de),z.test(l)?de++:(l=s,0===ye&&Ce(lt));else o=s;n=o!==s?t.substring(n,de):o,n===s&&(n=de,92===t.charCodeAt(de)?(o=f,de++):(o=s,0===ye&&Ce(at)),o!==s?(t.length>de?(l=t.charAt(de),de++):(l=s,0===ye&&Ce(it)),l!==s?n=ie(l):(de=n,n=s)):(de=n,n=s),n===s&&(n=de,123===t.charCodeAt(de)?(o=m,de++):(o=s,0===ye&&Ce(ut)),o!==s?(l=de,ye++,123===t.charCodeAt(de)?(a=m,de++):(a=s,0===ye&&Ce(ut)),ye--,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 r=s;r!==s&&(r=r.join(""));return e=r,be[i]={nextPos:de,result:e},e}(),n!==s&&(n=function(t){return{type:e.templated.tel,value:t}}(n)),r=n))),be[g]={nextPos:de,result:r},r);var b}function Te(){let t,e;const r=40*de+9,n=be[r];return n?(de=n.nextPos,n.result):(t=de,We(),e=Me(),e!==s?(We(),t=e):(de=t,t=s),be[r]={nextPos:de,result:t},t)}function Me(){let r,n,o,l,a,i;const u=40*de+10,c=be[u];return c?(de=c.nextPos,c.result):(r=de,n=Oe(),n!==s?(We(),63===t.charCodeAt(de)?(o=g,de++):(o=s,0===ye&&Ce(ct)),o!==s?(We(),l=Me(),l!==s?(We(),58===t.charCodeAt(de)?(a=y,de++):(a=s,0===ye&&Ce(ht)),a!==s?(We(),i=Me(),i!==s?r={type:e.ter,cond:n,ifTrue:l,ifFalse:i}:(de=r,r=s)):(de=r,r=s)):(de=r,r=s)):(de=r,r=s)):(de=r,r=s),r===s&&(r=Oe()),be[u]={nextPos:de,result:r},r)}function Oe(){let r,n,o,l;const a=40*de+11,i=be[a];return i?(de=i.nextPos,i.result):(r=de,n=Ne(),n!==s?(We(),t.substr(de,2)===b?(o=b,de+=2):(o=s,0===ye&&Ce(dt)),o!==s?(We(),l=Oe(),l!==s?r={type:e.elv,cond:n,ifFalse:l}:(de=r,r=s)):(de=r,r=s)):(de=r,r=s),r===s&&(r=Ne()),be[a]={nextPos:de,result:r},r)}function Ne(){let r,n,o,l;const a=40*de+12,i=be[a];return i?(de=i.nextPos,i.result):(r=de,n=De(),n!==s?(We(),t.substr(de,2)===v?(o=v,de+=2):(o=s,0===ye&&Ce(pt)),o!==s?(We(),l=Ne(),l!==s?r={type:e.nullc,lhs:n,rhs:l}:(de=r,r=s)):(de=r,r=s)):(de=r,r=s),r===s&&(r=De()),be[a]={nextPos:de,result:r},r)}function De(){let r,n,o,l,a,i;const u=40*de+13,c=be[u];if(c)return de=c.nextPos,c.result;if(r=de,n=_e(),n!==s){for(o=[],l=de,We(),t.substr(de,2)===A?(a=A,de+=2):(a=s,0===ye&&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(),t.substr(de,2)===A?(a=A,de+=2):(a=s,0===ye&&Ce(ft)),a!==s?(We(),i=_e(),i!==s?l=i:(de=l,l=s)):(de=l,l=s);r=function(t,r){let n=t;for(const t of r)n={type:e.or,lhs:n,rhs:t};return n}(n,o)}else de=r,r=s;return be[u]={nextPos:de,result:r},r}function _e(){let r,n,o,l,a,i;const u=40*de+14,c=be[u];if(c)return de=c.nextPos,c.result;if(r=de,n=Re(),n!==s){for(o=[],l=de,We(),t.substr(de,2)===x?(a=x,de+=2):(a=s,0===ye&&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(),t.substr(de,2)===x?(a=x,de+=2):(a=s,0===ye&&Ce(mt)),a!==s?(We(),i=Re(),i!==s?l=i:(de=l,l=s)):(de=l,l=s);r=function(t,r){let n=t;for(const t of r)n={type:e.and,lhs:n,rhs:t};return n}(n,o)}else de=r,r=s;return be[u]={nextPos:de,result:r},r}function Re(){let t,r,n,o,l,a;const i=40*de+15,u=be[i];if(u)return de=u.nextPos,u.result;if(t=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);t=function(t,r){let n=t;for(const t of r)n={type:e.eq,op:t.op,lhs:n,rhs:t.rhs};return n}(r,n)}else de=t,t=s;return be[i]={nextPos:de,result:t},t}function Fe(){let t,r,n,o,l,a;const i=40*de+16,u=be[i];if(u)return de=u.nextPos,u.result;if(t=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);t=function(t,r){let n=t;for(const t of r)n={type:e.cmp,op:t.op,lhs:n,rhs:t.rhs};return n}(r,n)}else de=t,t=s;return be[i]={nextPos:de,result:t},t}function ke(){let r,n,o;const l=40*de+17,a=be[l];return a?(de=a.nextPos,a.result):(r=de,33===t.charCodeAt(de)?(n=E,de++):(n=s,0===ye&&Ce(gt)),n!==s?(We(),o=ke(),o!==s?r={type:e.not,expr:o}:(de=r,r=s)):(de=r,r=s),r===s&&(r=function(){let t,r,n,o,l;const a=40*de+18,i=be[a];if(i)return de=i.nextPos,i.result;if(t=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?t={type:e.access,lhs:r,rhs:n}:(de=t,t=s)}else de=t,t=s;t===s&&(t=$e());return be[a]={nextPos:de,result:t},t}()),be[l]={nextPos:de,result:r},r)}function Le(){let r;const n=40*de+19,o=be[n];return o?(de=o.nextPos,o.result):(r=function(){let r,n,o;const l=40*de+20,a=be[l];if(a)return de=a.nextPos,a.result;ye++,r=de,t.substr(de,2)===P?(n=P,de+=2):(n=s,0===ye&&Ce(bt));n===s&&(46===t.charCodeAt(de)?(n=C,de++):(n=s,0===ye&&Ce(vt)));n!==s?(We(),o=qe(),o!==s?r={type:e.member,ns:"?."===n,rhs:o.value}:(de=r,r=s)):(de=r,r=s);ye--,r===s&&(n=s,0===ye&&Ce(yt));return be[l]={nextPos:de,result:r},r}(),r===s&&(r=function(){let r,n,o,l,a;const i=40*de+21,u=be[i];if(u)return de=u.nextPos,u.result;ye++,r=de,t.substr(de,2)===P?(n=P,de+=2):(n=s,0===ye&&Ce(bt));n===s&&(n=null);91===t.charCodeAt(de)?(o=S,de++):(o=s,0===ye&&Ce(xt));o!==s?(We(),l=Me(),l!==s?(We(),93===t.charCodeAt(de)?(a=w,de++):(a=s,0===ye&&Ce(Et)),a!==s?r={type:e.subscript,ns:null!==n,rhs:l}:(de=r,r=s)):(de=r,r=s)):(de=r,r=s);ye--,r===s&&(n=s,0===ye&&Ce(At));return be[i]={nextPos:de,result:r},r}(),r===s&&(r=function(){let r,n,o,l,a,i,u,c;const h=40*de+22,d=be[h];if(d)return de=d.nextPos,d.result;ye++,r=de,t.substr(de,2)===P?(n=P,de+=2):(n=s,0===ye&&Ce(bt));n===s&&(n=null);40===t.charCodeAt(de)?(o=T,de++):(o=s,0===ye&&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===t.charCodeAt(de)?(u=M,de++):(u=s,0===ye&&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===t.charCodeAt(de)?(u=M,de++):(u=s,0===ye&&Ce(St)),u!==s?(We(),c=Me(),c!==s?(We(),i=c):(de=i,i=s)):(de=i,i=s);41===t.charCodeAt(de)?(i=O,de++):(i=s,0===ye&&Ce(wt)),i!==s?(f=a,r={type:e.method,ns:null!==n,args:null===(p=l)?[]:[p,...f]}):(de=r,r=s)}else de=r,r=s;var p,f;ye--,r===s&&(n=s,0===ye&&Ce(Pt));return be[h]={nextPos:de,result:r},r}())),be[n]={nextPos:de,result:r},r)}function $e(){let r,n,o,l;const a=40*de+23,i=be[a];return i?(de=i.nextPos,i.result):(r=de,40===t.charCodeAt(de)?(n=T,de++):(n=s,0===ye&&Ce(Ct)),n!==s?(We(),o=Me(),o!==s?(We(),41===t.charCodeAt(de)?(l=O,de++):(l=s,0===ye&&Ce(wt)),l!==s?r=o:(de=r,r=s)):(de=r,r=s)):(de=r,r=s),r===s&&(r=function(){let r,n,o,l,a,i,u,c;const h=40*de+24,d=be[h];if(d)return de=d.nextPos,d.result;if(ye++,r=de,n=function(){let r,n,o,l,a,i,u,c;const h=40*de+35,d=be[h];if(d)return de=d.nextPos,d.result;ye++,r=de,35===t.charCodeAt(de)?(n=j,de++):(n=s,0===ye&&Ce(Gt));if(n!==s){if(o=de,l=de,a=de,i=t.charAt(de),G.test(i)?de++:(i=s,0===ye&&Ce(Kt)),i!==s){for(u=[],c=t.charAt(de),K.test(c)?de++:(c=s,0===ye&&Ce(Yt));c!==s;)u.push(c),c=t.charAt(de),K.test(c)?de++:(c=s,0===ye&&Ce(Yt));i=[i,u],a=i}else de=a,a=s;if(l=a!==s?t.substring(l,de):a,l!==s?(58===t.charCodeAt(de)?(a=y,de++):(a=s,0===ye&&Ce(ht)),a!==s?o=l:(de=o,o=s)):(de=o,o=s),o===s&&(o=null),l=de,a=de,i=t.charAt(de),G.test(i)?de++:(i=s,0===ye&&Ce(Kt)),i!==s){for(u=[],c=t.charAt(de),K.test(c)?de++:(c=s,0===ye&&Ce(Yt));c!==s;)u.push(c),c=t.charAt(de),K.test(c)?de++:(c=s,0===ye&&Ce(Yt));i=[i,u],a=i}else de=a,a=s;l=a!==s?t.substring(l,de):a,l!==s?r={type:e.function,module:o,value:l}:(de=r,r=s)}else de=r,r=s;ye--,r===s&&(n=s,0===ye&&Ce(Ut));return be[h]={nextPos:de,result:r},r}(),n!==s)if(40===t.charCodeAt(de)?(o=T,de++):(o=s,0===ye&&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===t.charCodeAt(de)?(u=M,de++):(u=s,0===ye&&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===t.charCodeAt(de)?(u=M,de++):(u=s,0===ye&&Ce(St)),u!==s?(We(),c=Me(),c!==s?(We(),i=c):(de=i,i=s)):(de=i,i=s);41===t.charCodeAt(de)?(i=O,de++):(i=s,0===ye&&Ce(wt)),i!==s?r=function(t,r,n){const s=null===r?[]:[r,...n];return{type:e.call,value:t,args:s}}(n,l,a):(de=r,r=s)}else de=r,r=s;else de=r,r=s;ye--,r===s&&(n=s,0===ye&&Ce(Tt));return be[h]={nextPos:de,result:r},r}(),r===s&&(r=function(){let r;const n=40*de+25,o=be[n];if(o)return de=o.nextPos,o.result;r=function(){let r,n,o,l,a,i,u,c,h,d;const p=40*de+29,f=be[p];if(f)return de=f.nextPos,f.result;ye++,r=de,n=de,o=de,45===t.charCodeAt(de)?(l=F,de++):(l=s,0===ye&&Ce(Lt));l===s&&(l=null);a=de,i=[],u=t.charAt(de),Z.test(u)?de++:(u=s,0===ye&&Ce($t));if(u!==s)for(;u!==s;)i.push(u),u=t.charAt(de),Z.test(u)?de++:(u=s,0===ye&&Ce($t));else i=s;if(i!==s){if(u=de,46===t.charCodeAt(de)?(c=C,de++):(c=s,0===ye&&Ce(vt)),c!==s){for(h=[],d=t.charAt(de),Z.test(d)?de++:(d=s,0===ye&&Ce($t));d!==s;)h.push(d),d=t.charAt(de),Z.test(d)?de++:(d=s,0===ye&&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===t.charCodeAt(de)?(i=C,de++):(i=s,0===ye&&Ce(vt)),i!==s){if(u=[],c=t.charAt(de),Z.test(c)?de++:(c=s,0===ye&&Ce($t)),c!==s)for(;c!==s;)u.push(c),c=t.charAt(de),Z.test(c)?de++:(c=s,0===ye&&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?t.substring(n,de):o;n!==s&&(n={type:e.literal,value:parseFloat(n)});r=n,ye--,r===s&&(n=s,0===ye&&Ce(kt));return be[p]={nextPos:de,result:r},r}(),r===s&&(r=function(){let r,n;const o=40*de+26,l=be[o];if(l)return de=l.nextPos,l.result;ye++,r=de,t.substr(de,4)===N?(n=N,de+=4):(n=s,0===ye&&Ce(Ot));n!==s&&(n={type:e.literal,value:!0});r=n,r===s&&(r=de,t.substr(de,5)===D?(n=D,de+=5):(n=s,0===ye&&Ce(Nt)),n!==s&&(n={type:e.literal,value:!1}),r=n);ye--,r===s&&(n=s,0===ye&&Ce(Mt));return be[o]={nextPos:de,result:r},r}(),r===s&&(r=function(){let r,n;const o=40*de+27,l=be[o];if(l)return de=l.nextPos,l.result;ye++,r=de,t.substr(de,4)===_?(n=_,de+=4):(n=s,0===ye&&Ce(_t));n!==s&&(n={type:e.literal,value:null});r=n,ye--,r===s&&(n=s,0===ye&&Ce(Dt));return be[o]={nextPos:de,result:r},r}(),r===s&&(r=function(){let r,n;const o=40*de+28,l=be[o];if(l)return de=l.nextPos,l.result;ye++,r=de,t.substr(de,9)===R?(n=R,de+=9):(n=s,0===ye&&Ce(Ft));n!==s&&(n={type:e.literal,value:void 0});r=n,ye--,r===s&&(n=s,0===ye&&Ce(Rt));return be[o]={nextPos:de,result:r},r}(),r===s&&(r=He(),r===s&&(r=function(){let r,n,o,l,a,i,u;const c=40*de+33,h=be[c];if(h)return de=h.nextPos,h.result;ye++,r=de,91===t.charCodeAt(de)?(n=S,de++):(n=s,0===ye&&Ce(xt));if(n!==s){for(We(),o=Me(),o===s&&(o=null),We(),l=[],a=de,44===t.charCodeAt(de)?(i=M,de++):(i=s,0===ye&&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===t.charCodeAt(de)?(i=M,de++):(i=s,0===ye&&Ce(St)),i!==s?(We(),u=Me(),u!==s?(We(),a=u):(de=a,a=s)):(de=a,a=s);93===t.charCodeAt(de)?(a=w,de++):(a=s,0===ye&&Ce(Et)),a!==s?r=function(t,r){const n=null===t?[]:[t,...r];return{type:e.array,value:n}}(o,l):(de=r,r=s)}else de=r,r=s;ye--,r===s&&(n=s,0===ye&&Ce(Jt));return be[c]={nextPos:de,result:r},r}(),r===s&&(r=function(){let r,n,o,l,a,i,u,c,h,d,p;const f=40*de+34,g=be[f];if(g)return de=g.nextPos,g.result;ye++,r=de,123===t.charCodeAt(de)?(n=m,de++):(n=s,0===ye&&Ce(ut));if(n!==s){for(We(),o=de,l=He(),l!==s?(a=We(),58===t.charCodeAt(de)?(i=y,de++):(i=s,0===ye&&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===t.charCodeAt(de)?(u=M,de++):(u=s,0===ye&&Ce(St)),u!==s?(c=We(),h=He(),h!==s?(We(),58===t.charCodeAt(de)?(d=y,de++):(d=s,0===ye&&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===t.charCodeAt(de)?(u=M,de++):(u=s,0===ye&&Ce(St)),u!==s?(c=We(),h=He(),h!==s?(We(),58===t.charCodeAt(de)?(d=y,de++):(d=s,0===ye&&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===t.charCodeAt(de)?(i=H,de++):(i=s,0===ye&&Ce(Xt)),i!==s?(v=a,A=[],null!==(b=o)&&A.push(b),A.push.apply(A,v),r={type:e.dict,value:A}):(de=r,r=s)}else de=r,r=s;var b,v,A;ye--,r===s&&(n=s,0===ye&&Ce(Qt));return be[f]={nextPos:de,result:r},r}()))))));return be[n]={nextPos:de,result:r},r}(),r===s&&(r=qe()))),be[a]={nextPos:de,result:r},r)}function He(){let r,n,o,l,a;const i=40*de+30,u=be[i];if(u)return de=u.nextPos,u.result;if(ye++,r=de,39===t.charCodeAt(de)?(n=k,de++):(n=s,0===ye&&Ce(jt)),n!==s){for(o=de,l=[],a=t.charAt(de),J.test(a)?de++:(a=s,0===ye&&Ce(It));a!==s;)l.push(a),a=t.charAt(de),J.test(a)?de++:(a=s,0===ye&&Ce(It));o=t.substring(o,de),39===t.charCodeAt(de)?(l=k,de++):(l=s,0===ye&&Ce(jt)),l!==s?r={type:e.literal,value:o}:(de=r,r=s)}else de=r,r=s;if(r===s){if(r=de,34===t.charCodeAt(de)?(n=L,de++):(n=s,0===ye&&Ce(qt)),n!==s){for(o=de,l=[],a=t.charAt(de),Q.test(a)?de++:(a=s,0===ye&&Ce(Vt));a!==s;)l.push(a),a=t.charAt(de),Q.test(a)?de++:(a=s,0===ye&&Ce(Vt));o=t.substring(o,de),34===t.charCodeAt(de)?(l=L,de++):(l=s,0===ye&&Ce(qt)),l!==s?r=function(t){return{type:e.literal,value:t}}(o):(de=r,r=s)}else de=r,r=s;if(r===s)if(r=de,96===t.charCodeAt(de)?(n=$,de++):(n=s,0===ye&&Ce(Bt)),n!==s){for(o=[],l=je(),l===s&&(l=Ie());l!==s;)o.push(l),l=je(),l===s&&(l=Ie());96===t.charCodeAt(de)?(l=$,de++):(l=s,0===ye&&Ce(Bt)),l!==s?r={type:e.tstring,parts:o}:(de=r,r=s)}else de=r,r=s}return ye--,r===s&&(n=s,0===ye&&Ce(Ht)),be[i]={nextPos:de,result:r},r}function je(){let e,r,n,o;const l=40*de+31,a=be[l];return a?(de=a.nextPos,a.result):(ye++,e=de,123===t.charCodeAt(de)?(r=m,de++):(r=s,0===ye&&Ce(ut)),r!==s?(We(),n=Me(),n!==s?(We(),125===t.charCodeAt(de)?(o=H,de++):(o=s,0===ye&&Ce(Xt)),o!==s?e=n:(de=e,e=s)):(de=e,e=s)):(de=e,e=s),ye--,e===s&&(r=s,0===ye&&Ce(Wt)),be[l]={nextPos:de,result:e},e)}function Ie(){let r,n,o,l,a;const i=40*de+32,u=be[i];if(u)return de=u.nextPos,u.result;if(ye++,r=de,n=[],o=de,l=[],a=t.charAt(de),U.test(a)?de++:(a=s,0===ye&&Ce(Zt)),a!==s)for(;a!==s;)l.push(a),a=t.charAt(de),U.test(a)?de++:(a=s,0===ye&&Ce(Zt));else l=s;if(o=l!==s?t.substring(o,de):l,o===s&&(o=de,92===t.charCodeAt(de)?(l=f,de++):(l=s,0===ye&&Ce(at)),l!==s?(t.length>de?(a=t.charAt(de),de++):(a=s,0===ye&&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=t.charAt(de),U.test(a)?de++:(a=s,0===ye&&Ce(Zt)),a!==s)for(;a!==s;)l.push(a),a=t.charAt(de),U.test(a)?de++:(a=s,0===ye&&Ce(Zt));else l=s;o=l!==s?t.substring(o,de):l,o===s&&(o=de,92===t.charCodeAt(de)?(l=f,de++):(l=s,0===ye&&Ce(at)),l!==s?(t.length>de?(a=t.charAt(de),de++):(a=s,0===ye&&Ce(it)),a!==s?o=he(a):(de=o,o=s)):(de=o,o=s))}else n=s;return n!==s&&(n={type:e.literal,value:n.join("")}),r=n,r===s&&(r=de,123===t.charCodeAt(de)?(n=m,de++):(n=s,0===ye&&Ce(ut)),n!==s&&(n={type:e.literal,value:n}),r=n),ye--,r===s&&(n=s,0===ye&&Ce(zt)),be[i]={nextPos:de,result:r},r}function qe(){let r,n,o,l,a,i;const u=40*de+36,c=be[u];if(c)return de=c.nextPos,c.result;if(ye++,r=de,n=de,o=de,l=t.charAt(de),G.test(l)?de++:(l=s,0===ye&&Ce(Kt)),l!==s){for(a=[],i=t.charAt(de),K.test(i)?de++:(i=s,0===ye&&Ce(Yt));i!==s;)a.push(i),i=t.charAt(de),K.test(i)?de++:(i=s,0===ye&&Ce(Yt));l=[l,a],o=l}else de=o,o=s;return n=o!==s?t.substring(n,de):o,n!==s&&(n={type:e.symbol,value:n}),r=n,ye--,r===s&&(n=s,0===ye&&Ce(te)),be[u]={nextPos:de,result:r},r}function Ve(){let e;const r=40*de+37,n=be[r];return n?(de=n.nextPos,n.result):(t.substr(de,2)===I?(e=I,de+=2):(e=s,0===ye&&Ce(ee)),e===s&&(t.substr(de,2)===q?(e=q,de+=2):(e=s,0===ye&&Ce(re))),be[r]={nextPos:de,result:e},e)}function Be(){let e;const r=40*de+38,n=be[r];return n?(de=n.nextPos,n.result):(t.substr(de,2)===V?(e=V,de+=2):(e=s,0===ye&&Ce(ne)),e===s&&(62===t.charCodeAt(de)?(e=B,de++):(e=s,0===ye&&Ce(se)),e===s&&(t.substr(de,2)===W?(e=W,de+=2):(e=s,0===ye&&Ce(oe)),e===s&&(60===t.charCodeAt(de)?(e=X,de++):(e=s,0===ye&&Ce(le))))),be[r]={nextPos:de,result:e},e)}function We(){let e,r;const n=40*de+39,o=be[n];if(o)return de=o.nextPos,o.result;for(ye++,e=[],r=t.charAt(de),Y.test(r)?de++:(r=s,0===ye&&Ce(ae));r!==s;)e.push(r),r=t.charAt(de),Y.test(r)?de++:(r=s,0===ye&&Ce(ae));return ye--,be[n]={nextPos:de,result:e},e}fe=a();const Xe=fe!==s&&de===t.length;function ze(){throw fe!==s&&de<t.length&&Ce({type:"end"}),e=ge,n=me<t.length?function(e=de){const r=t.codePointAt(e);return void 0===r?"":String.fromCodePoint(r)}(me):null,o=me<t.length?Pe(me,me+1):Pe(me,me),new r(r.buildMessage(e,n),e,n,o);var e,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 s{#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}[e.and](t){return this.visit(t.lhs)&&this.visit(t.rhs)}[e.or](t){return this.visit(t.lhs)||this.visit(t.rhs)}[e.nullc](t){const e=this.visit(t.lhs);return null!=e?e:this.visit(t.rhs)}[e.not](t){return!this.visit(t.expr)}[e.eq](t){const e=this.visit(t.lhs)===this.visit(t.rhs);return"=="===t.op?e:!e}[e.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}`)}}[e.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)}[e.literal](t){return t.value}[e.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}[e.symbol](t){return this.#r(t.value)}[e.dict](t){return Object.fromEntries(t.value.map(t=>[t[0].value,this.visit(t[1])]))}[e.array](t){return t.value.map(t=>this.visit(t))}[e.ter](t){return this.visit(t.cond)?this.visit(t.ifTrue):this.visit(t.ifFalse)}[e.elv](t){const e=this.visit(t.cond);return e||this.visit(t.ifFalse)}[e.access](t){let r,n=this.visit(t.lhs);for(let s=0;s!==t.rhs.length;++s){const o=t.rhs[s];if(o.ns&&null==n)return;let l;switch(o.type){case e.member:l=n[o.rhs];break;case e.subscript:l=n[this.visit(o.rhs)];break;case e.method:{if(!n)throw new Error(`Method missing "${t.rhs[s-1].rhs}"`);const e=o.args.map(t=>this.visit(t));l=n.apply(r,e);break}}r=n,n=l}return n}visit(t,...e){return this[t.type](t,...e)}visitRoot(t,r){return r?t.map(t=>{switch(t.type){case e.templated.tel:return{type:e.dom.t,value:t.value};case e.templated.tet:return{type:e.dom.t,value:this.visit(t.value)};case e.templated.teh:return{type:e.dom.h,value:this.visit(t.value)};case e.templated.ten:return{type:e.dom.n,value:this.visit(t.value)};default:throw new Error(`unknown node type ${t.type.toString()}`)}}):this.visit(t)}}class o{static MODE_EXPRESSION=Symbol("MODE_EXPRESSION");static MODE_TEMPLATED=Symbol("MODE_TEMPLATED");static#o=new Map;static#l=1e3;static parse(t,e){const r=e?.toString()+t;if(!this.#o.has(r)){if(this.#o.size>=this.#l){const t=this.#o.keys().next().value;this.#o.delete(t)}this.#o.set(r,n(t,{startRule:e===o.MODE_TEMPLATED?"TemplatedRoot":"ExpressionRoot"}))}return this.#o.get(r)}static evaluate(t,e,r,n){return new s(t,e).visitRoot(r,n===o.MODE_TEMPLATED)}static interpret(t,e,r,n){return o.evaluate(t,e,o.parse(r,n),n)}}class l{#t;#e;constructor(t,e){this.#t=t,this.#e=e}withModule(t,e){const r=t?{[t]:e}:e;return new l({...this.#t,...r},this.#e)}withOverlay(...t){return new l(this.#t,0===t.length?this.#e:[...this.#e,...t])}evaluate(t,e){return o.interpret(this.#t,this.#e,t,e)}evaluateExpression(t){return this.evaluate(t,o.MODE_EXPRESSION)}evaluateTemplated(t){return this.evaluate(t,o.MODE_TEMPLATED)}}class a{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 i{static id=0;static uid(t){return`${t}-${++i.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 u{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,u.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?a.fromHtml(t.innerHTML):t}}class c{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||c.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(()=>{c.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 h{#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 d{static ORDERED_COMMANDS=["tplIf","tplWith","tplEach","tplWhen","tplClassAppend","tplAttrAppend","tplText","tplHtml","tplRemove","tplVerbatim"];static tplIf(t,e,r,n,s){o.interpret(n,s,e)||r.remove(t)}static tplWith(t,e,r,n,s){const l=o.interpret(n,s,e),a=r.popData(t,"tplVar"),i=new m(t,n,s).withOverlay(a?{[a]:l}:l).render();r.replace(t,i)}static tplEach(t,e,r,n,s){const l=r.popData(t,"tplVar"),a=new m(t,n,s),i=o.interpret(n,s,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,s){o.interpret(n,s,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,s){const l=o.interpret(n,s,e),a=t.cloneNode();a.replaceChildren(null==l?"":l),r.replace(t,a)}static tplHtml(t,e,r,n,s){const l=o.interpret(n,s,e),a=t.cloneNode();a.innerHTML=null==l?"":l,r.replace(t,a)}static tplClassAppend(t,e,r,n,s){const l=o.interpret(n,s,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,s){const l=o.interpret(n,s,e);if(!l||0===l.length)return;(Array.isArray(l[0])?l:[l]).forEach(([e,r])=>{t.setAttribute(e,r)})}static textNode(t,r,n,s,l){for(const i of o.interpret(s,l,r,o.MODE_TEMPLATED))if(null!=i.value)switch(i.type){case e.dom.t:n.prepend(t,document.createTextNode(i.value));break;case e.dom.h:n.prepend(t,a.fromHtml(i.value));break;case e.dom.n:n.prepend(t,i.value)}n.remove(t)}}const p=new Map;function f(t){let e=p.get(t);return e||(p.size>=1e3&&p.delete(p.keys().next().value),e=t.substring(3).split(/(?=[A-Z])/).join("-").toLowerCase(),p.set(t,e)),e}class m{static fromHtml(t,e,...r){return new m(a.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 m(s,e,r)}static fromTemplate(t,e,...r){const n=document.adoptNode(t.content);return new m(n,e,r)}static fromFragment(t,e,...r){return new m(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 m(this.#i,t,e)}withContextFrom(t){return this.withContext(t.context())}withFragment(t){return new m(t,this.#t,this.#e)}withModule(t,e){const r=t?{[t]:e}:e;return new m(this.#i,{...this.#t,...r},this.#e)}withModules(t){return new m(this.#i,t,this.#e)}withData(t){return new m(this.#i,this.#t,t)}withOverlay(...t){return new m(this.#i,this.#t,0===t.length?this.#e:[...this.#e,...t])}evaluate(t,e,...r){return new l(this.#t,this.#e).withOverlay(...r).evaluate(t,e)}evaluator(){return new l(this.#t,this.#e)}render(){try{const t=new h,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,m.#u);let s;for(;null!==(s=n.nextNode());){if(t.cleanup(),s.nodeType===Node.TEXT_NODE){try{d.textNode(s,s.nodeValue,t,this.#t,this.#e)}catch(t){throw new g("Error evaluating text node",s,t)}continue}const e=s;for(const r of d.ORDERED_COMMANDS){if(!(r in e.dataset))continue;const n=t.popData(e,r);try{d[r](e,n,t,this.#t,this.#e)}catch(t){throw new g(`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=f(r);try{const s=t.popData(e,r),l=o.interpret(this.#t,this.#e,s);if("boolean"==typeof l){i.toggle(e,n,l);continue}null!=l&&e.setAttribute(n,l)}catch(t){throw new g(`Error evaluating command ${r}`,e,t)}}}return t.cleanup(),r}catch(t){throw new g("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 g extends Error{constructor(t,e,r){super(`${t} in \`${g.stringify(e)}\``,{cause:r}),this.name="RenderError",this.node=e.cloneNode(!0)}static stringify(t){const e=document.createElement("template");return e.content.appendChild(g.#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&&g.#c(r)}return t}}class y{#h=new Map;constructor(){document.addEventListener("DOMContentLoaded",async()=>{await this.settle(),document.dispatchEvent(new CustomEvent("ftl:ready",{bubbles:!1,cancelable:!1}))})}#d=new Map;enqueue(t){if(this.#h.has(t))return;const{promise:e,resolve:r}=Promise.withResolvers(),n=c.waitParsed(t).then(()=>t.upgrade()).finally(()=>{this.#h.delete(t),this.#d.delete(t),r()});this.#h.set(t,n),this.#d.set(t,e)}async settle(){for(;0!==this.#d.size;)await Promise.all(Array.from(this.#d.values()))}get entries(){return this.#h.entries()}}class b{#p={};#f=!1;#m={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)}};#g={};#t;#y=[];#b=new y;defineElement(t,e){return this.#f?(this.#v(t,e),this):(this.#p[t]=e,this)}#v(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.#m)&&!(s in(a??{})))throw new Error(`unsupported attribute type: ${s}`);return t[r.trim()]=a?.[s]??this.#m[s],t},{}),c=Object.entries(Object.assign({},o,s?{default:s}:{})).map(([t,e])=>[t,m.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.#g[t]=e,this}defineData(...t){return this.#y=t,this}defineOverlay(...t){return this.#y=[...this.#y,...t],this}defineMapper(t,e){return this.#m[t]=e,this}plugin(t){return t.configure(this),this}configure(){for(const[t,e]of Object.entries(this.#p))this.#v(t,e),delete this.#p[t];return this.#f=!0,this}get upgrades(){return this.#b.entries}context(){return{modules:this.#t,data:this.#y}}evaluator(){return new l(this.#t,this.#y)}component(t){return this.#g[t]}}const v=new b;const A=async t=>{for(;;){const e=Array.from(v.upgrades).filter(([e])=>t(e)).map(([,t])=>t);if(0===e.length)return;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;#x=0;#E(){return this.constructor.BITS}unmarshal(t,e){return this.#E().ATTR_TO_MAPPER[t].unmarshal(e,t,this)}marshal(t,e){return this.#E().ATTR_TO_MAPPER[t].marshal(e,t,this)}template(t){const{modules:e,data:r}=v.context();let n=this.#E().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.#E().enqueue(this)}attributeChangedCallback(t,e,r){this.#A&&e!==r&&(this.#x>0||(this[t]=this.unmarshal(t,r)))}async upgrade(){if(this.#A)return;this.#A=!0;const t=this.#E().SLOTS?u.from(this):void 0,e=Object.fromEntries(this.#E().OBSERVED.map(t=>[t,this.unmarshal(t,this.getAttribute(t))]));await this.render({slots:t,observed:e,disabled:this.hasAttribute("disabled")})}render(t){}reflect(t){++this.#x;try{t()}finally{--this.#x}}reflectTo(t,e){++this.#x;try{i.set(this,t,this.marshal(t,e))}finally{--this.#x}}}return t.Attributes=i,t.ExpressionEvaluator=l,t.Expressions=o,t.Fragments=a,t.LightSlots=u,t.Nodes=c,t.ParsedElement=x,t.Registry=b,t.RenderError=g,t.Rendering=class{static async waitFor(t){await A(e=>t.contains(e))}static async waitForChildren(t){await A(e=>t!==e&&t.contains(e))}},t.Template=m,t.Templates=class{static fromHtml(t){const{modules:e,data:r}=v.context();return m.fromHtml(t,e,...r)}static fromSelector(t){const{modules:e,data:r}=v.context();return m.fromSelector(t,e,...r)}static fromTemplate(t){const{modules:e,data:r}=v.context();return m.fromTemplate(t,e,...r)}static fromFragment(t){const{modules:e,data:r}=v.context();return m.fromFragment(t,e,...r)}},t.registry=v,t}({});
1
+ var ftl=function(t){"use strict";class e{#t;#e=new Map;constructor(t){this.#t=t}getOrCompute(t,e){if(this.#e.has(t))return this.#e.get(t);const r=e(t);return this.#e.size>=this.#t&&this.#e.delete(this.#e.keys().next().value),this.#e.set(t,r),r}get size(){return this.#e.size}}const r={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")}},n=new Map([["true",!0],["false",!1],["null",null],["undefined",void 0]]);class s 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,i=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],l=(s.line===t.line?t.column:a.length+1)-s.column||1;e+="\n --\x3e "+i+"\n"+n+" |\n"+o.line+" | "+a+"\n"+n+" | "+"".padEnd(s.column-1," ")+"".padEnd(l,"^")}else e+="\n at "+i}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 i(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)?i(t[0])+"-"+i(t[1]):i(t));return"["+(t.inverted?"^":"")+e.join("")+"]"+(t.unicode?"u":"")},any:()=>"any character",end:()=>"end of input",other:t=>t.description};function l(t){return a[t.type](t)}return"Expected "+function(t){const e=t.map(l);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."}}const o=(t,e)=>{if("self"===e)return t[t.length-1];for(let r=t.length-1;r>=0;r--){const n=t[r];if(null!=n&&("object"==typeof n||"function"==typeof n)&&e in n)return n[e]}};class i{#r;#n;constructor(t,e){this.#r=t,this.#n=e}#s(t){return o(this.#n,t)}#o(t,e){const n=0===e?t.lhs:t.rhs[e-1];return n.type===r.symbol?n.value:n.type===r.member?n.rhs:null}#i;#a(){return this.#i||(this.#i=new Proxy(this.#n,{get:(t,e)=>this.#s(e)})),this.#i}[r.and](t){return this.visit(t.lhs)&&this.visit(t.rhs)}[r.or](t){return this.visit(t.lhs)||this.visit(t.rhs)}[r.nullc](t){const e=this.visit(t.lhs);return null!=e?e:this.visit(t.rhs)}[r.not](t){return!this.visit(t.expr)}[r.eq](t){const e=this.visit(t.lhs)===this.visit(t.rhs);return"=="===t.op?e:!e}[r.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}`)}}[r.call](t){const e=t.value,r=null===e.module?this.#r:this.#r?.[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.#a(),s)}[r.literal](t){return t.value}[r.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}[r.symbol](t){return this.#s(t.value)}[r.dict](t){return Object.fromEntries(t.value.map(t=>[this.visit(t[0]),this.visit(t[1])]))}[r.array](t){return t.value.map(t=>this.visit(t))}[r.ter](t){return this.visit(t.cond)?this.visit(t.ifTrue):this.visit(t.ifFalse)}[r.elv](t){return this.visit(t.cond)||this.visit(t.ifFalse)}[r.access](t){let e,n=this.visit(t.lhs);for(let s=0;s!==t.rhs.length;++s){const o=t.rhs[s];if(o.ns&&null==n)return;let i;switch(o.type){case r.member:i=n[o.rhs];break;case r.subscript:i=n[this.visit(o.rhs)];break;case r.method:{if(!n){const e=this.#o(t,s);throw new Error(null===e?"Method missing":`Method missing "${e}"`)}const r=o.args.map(t=>this.visit(t));i=n.apply(e,r);break}}e=n,n=i}return n}visit(t,...e){return this[t.type](t,...e)}visitRoot(t,e){return e?t.map(t=>{switch(t.type){case r.templated.tel:return{type:r.dom.t,value:t.value};case r.templated.tet:return{type:r.dom.t,value:this.visit(t.value)};case r.templated.teh:return{type:r.dom.h,value:this.visit(t.value)};case r.templated.ten:return{type:r.dom.n,value:this.visit(t.value)};default:throw new Error(`unknown node type ${t.type.toString()}`)}}):this.visit(t)}}class a{static MODE_EXPRESSION=Symbol("MODE_EXPRESSION");static MODE_TEMPLATED=Symbol("MODE_TEMPLATED");static#l=new e(1e3);static parse(t,e){const o=e?.toString()+t;return this.#l.getOrCompute(o,()=>function(t,e){const o={},i=(e=void 0!==e?e:{}).grammarSource,a={TemplatedRoot:me,ExpressionRoot:ve};let l=me;const u="{{{{",c="}}}}",h="{{{",d="}}}",p="{{",f="}}",m="\\",g="{",v="?",y=":",b="?:",E="??",A="||",x="&&",w="!",P="?.",T=".",C="[",S="]",O="(",N=",",R=")",D="-",M="'",$='"',_="`",F="}",L="#",j="==",k="!=",I=">=",V=">",q="<=",z="<",H=/^[^\\{]/,B=/^[0-9]/,W=/^[^']/,X=/^[^"]/,Q=/^[^\\`{]/,U=/^[a-zA-Z$_]/,G=/^[a-zA-Z$_0-9]/,Z=/^[ \t\n\r]/,J=ue("{{{{",!1),Y=ue("}}}}",!1),K=ue("{{{",!1),tt=ue("}}}",!1),et=ue("{{",!1),rt=ue("}}",!1),nt=ce(["\\","{"],!0,!1,!1),st=ue("\\",!1),ot={type:"any"},it=ue("{",!1),at=ue("?",!1),lt=ue(":",!1),ut=ue("?:",!1),ct=ue("??",!1),ht=ue("||",!1),dt=ue("&&",!1),pt=ue("!",!1),ft=he("member"),mt=ue("?.",!1),gt=ue(".",!1),vt=he("subscript"),yt=ue("[",!1),bt=ue("]",!1),Et=he("method-call"),At=ue("(",!1),xt=ue(",",!1),wt=ue(")",!1),Pt=he("module-function-call"),Tt=he("number-literal"),Ct=ue("-",!1),St=ce([["0","9"]],!1,!1,!1),Ot=he("string-literal"),Nt=ue("'",!1),Rt=ce(["'"],!0,!1,!1),Dt=ue('"',!1),Mt=ce(['"'],!0,!1,!1),$t=ue("`",!1),_t=he("tstring-expression"),Ft=ue("}",!1),Lt=he("tstring-literal"),jt=ce(["\\","`","{"],!0,!1,!1),kt=he("array-literal"),It=he("dict-literal"),Vt=he("module-function"),qt=ue("#",!1),zt=ce([["a","z"],["A","Z"],"$","_"],!1,!1,!1),Ht=ce([["a","z"],["A","Z"],"$","_",["0","9"]],!1,!1,!1),Bt=he("identifier-or-keyword"),Wt=ue("==",!1),Xt=ue("!=",!1),Qt=ue(">=",!1),Ut=ue(">",!1),Gt=ue("<=",!1),Zt=ue("<",!1),Jt=ce([" ","\t","\n","\r"],!1,!1,!1);function Yt(t){return t}function Kt(t,e,r){return{op:e,rhs:r}}function te(t,e,r){return{op:e,rhs:r}}function ee(t){return t}let re=0|e.peg$currPos;const ne=[{line:1,column:1}];let se,oe=re,ie=e.peg$maxFailExpected||[],ae=0|e.peg$silentFails,le={};if(e.startRule){if(!(e.startRule in a))throw new Error("Can't start parsing from rule \""+e.startRule+'".');l=a[e.startRule]}function ue(t,e){return{type:"literal",text:t,ignoreCase:e}}function ce(t,e,r,n){return{type:"class",parts:t,inverted:e,ignoreCase:r,unicode:n}}function he(t){return{type:"other",description:t}}function de(e){let r,n=ne[e];if(n)return n;if(e>=ne.length)r=ne.length-1;else for(r=e;!ne[--r];);for(n=ne[r],n={line:n.line,column:n.column};r<e;)10===t.charCodeAt(r)?(n.line++,n.column=1):n.column++,r++;return ne[e]=n,n}function pe(t,e,r){const n=de(t),s=de(e);return{source:i,start:{offset:t,line:n.line,column:n.column},end:{offset:e,line:s.line,column:s.column}}}function fe(t){re<oe||(re>oe&&(oe=re,ie=[]),ie.push(t))}function me(){let t,e;const r=38*re+0,n=le[r];if(n)return re=n.nextPos,n.result;for(t=[],e=ge();e!==o;)t.push(e),e=ge();return le[r]={nextPos:re,result:t},t}function ge(){let e,n,s,i,a;const l=38*re+1,v=le[l];return v?(re=v.nextPos,v.result):(e=re,n=re,s=function(){let e;const r=38*re+2,n=le[r];return n?(re=n.nextPos,n.result):(t.substr(re,4)===u?(e=u,re+=4):(e=o,0===ae&&fe(J)),le[r]={nextPos:re,result:e},e)}(),s!==o?(i=ve(),i!==o?(a=function(){let e;const r=38*re+3,n=le[r];return n?(re=n.nextPos,n.result):(t.substr(re,4)===c?(e=c,re+=4):(e=o,0===ae&&fe(Y)),le[r]={nextPos:re,result:e},e)}(),a!==o?n=i:(re=n,n=o)):(re=n,n=o)):(re=n,n=o),n!==o&&(y=n,n={type:r.templated.ten,value:y}),e=n,e===o&&(e=re,n=re,s=function(){let e;const r=38*re+4,n=le[r];return n?(re=n.nextPos,n.result):(t.substr(re,3)===h?(e=h,re+=3):(e=o,0===ae&&fe(K)),le[r]={nextPos:re,result:e},e)}(),s!==o?(i=ve(),i!==o?(a=function(){let e;const r=38*re+5,n=le[r];return n?(re=n.nextPos,n.result):(t.substr(re,3)===d?(e=d,re+=3):(e=o,0===ae&&fe(tt)),le[r]={nextPos:re,result:e},e)}(),a!==o?n=i:(re=n,n=o)):(re=n,n=o)):(re=n,n=o),n!==o&&(n=function(t){return{type:r.templated.teh,value:t}}(n)),e=n,e===o&&(e=re,n=re,s=function(){let e;const r=38*re+6,n=le[r];return n?(re=n.nextPos,n.result):(t.substr(re,2)===p?(e=p,re+=2):(e=o,0===ae&&fe(et)),le[r]={nextPos:re,result:e},e)}(),s!==o?(i=ve(),i!==o?(a=function(){let e;const r=38*re+7,n=le[r];return n?(re=n.nextPos,n.result):(t.substr(re,2)===f?(e=f,re+=2):(e=o,0===ae&&fe(rt)),le[r]={nextPos:re,result:e},e)}(),a!==o?n=i:(re=n,n=o)):(re=n,n=o)):(re=n,n=o),n!==o&&(n=function(t){return{type:r.templated.tet,value:t}}(n)),e=n,e===o&&(e=re,n=function(){let e,r,n,s,i,a,l;const u=38*re+8,c=le[u];if(c)return re=c.nextPos,c.result;if(e=re,r=[],n=re,s=[],i=t.charAt(re),H.test(i)?re++:(i=o,0===ae&&fe(nt)),i!==o)for(;i!==o;)s.push(i),i=t.charAt(re),H.test(i)?re++:(i=o,0===ae&&fe(nt));else s=o;if(n=s!==o?t.substring(n,re):s,n===o&&(n=re,92===t.charCodeAt(re)?(s=m,re++):(s=o,0===ae&&fe(st)),s!==o?(t.length>re?(i=t.charAt(re),re++):(i=o,0===ae&&fe(ot)),i!==o?n=i:(re=n,n=o)):(re=n,n=o),n===o&&(n=re,s=re,123===t.charCodeAt(re)?(i=g,re++):(i=o,0===ae&&fe(it)),i!==o?(a=re,ae++,123===t.charCodeAt(re)?(l=g,re++):(l=o,0===ae&&fe(it)),ae--,l===o?a=void 0:(re=a,a=o),a!==o?(i=[i,a],s=i):(re=s,s=o)):(re=s,s=o),n=s!==o?t.substring(n,re):s)),n!==o)for(;n!==o;){if(r.push(n),n=re,s=[],i=t.charAt(re),H.test(i)?re++:(i=o,0===ae&&fe(nt)),i!==o)for(;i!==o;)s.push(i),i=t.charAt(re),H.test(i)?re++:(i=o,0===ae&&fe(nt));else s=o;n=s!==o?t.substring(n,re):s,n===o&&(n=re,92===t.charCodeAt(re)?(s=m,re++):(s=o,0===ae&&fe(st)),s!==o?(t.length>re?(i=t.charAt(re),re++):(i=o,0===ae&&fe(ot)),i!==o?n=Yt(i):(re=n,n=o)):(re=n,n=o),n===o&&(n=re,s=re,123===t.charCodeAt(re)?(i=g,re++):(i=o,0===ae&&fe(it)),i!==o?(a=re,ae++,123===t.charCodeAt(re)?(l=g,re++):(l=o,0===ae&&fe(it)),ae--,l===o?a=void 0:(re=a,a=o),a!==o?(i=[i,a],s=i):(re=s,s=o)):(re=s,s=o),n=s!==o?t.substring(n,re):s))}else r=o;return r!==o&&(r=r.join("")),e=r,le[u]={nextPos:re,result:e},e}(),n!==o&&(n=function(t){return{type:r.templated.tel,value:t}}(n)),e=n))),le[l]={nextPos:re,result:e},e);var y}function ve(){let t,e;const r=38*re+9,n=le[r];return n?(re=n.nextPos,n.result):(t=re,_e(),e=ye(),e!==o?(_e(),t=e):(re=t,t=o),le[r]={nextPos:re,result:t},t)}function ye(){let e,n,s,i,a,l;const u=38*re+10,c=le[u];return c?(re=c.nextPos,c.result):(e=re,n=be(),n!==o?(_e(),63===t.charCodeAt(re)?(s=v,re++):(s=o,0===ae&&fe(at)),s!==o?(_e(),i=ye(),i!==o?(_e(),58===t.charCodeAt(re)?(a=y,re++):(a=o,0===ae&&fe(lt)),a!==o?(_e(),l=ye(),l!==o?e={type:r.ter,cond:n,ifTrue:i,ifFalse:l}:(re=e,e=o)):(re=e,e=o)):(re=e,e=o)):(re=e,e=o)):(re=e,e=o),e===o&&(e=be()),le[u]={nextPos:re,result:e},e)}function be(){let e,n,s,i;const a=38*re+11,l=le[a];return l?(re=l.nextPos,l.result):(e=re,n=Ee(),n!==o?(_e(),t.substr(re,2)===b?(s=b,re+=2):(s=o,0===ae&&fe(ut)),s!==o?(_e(),i=be(),i!==o?e={type:r.elv,cond:n,ifFalse:i}:(re=e,e=o)):(re=e,e=o)):(re=e,e=o),e===o&&(e=Ee()),le[a]={nextPos:re,result:e},e)}function Ee(){let e,n,s,i;const a=38*re+12,l=le[a];return l?(re=l.nextPos,l.result):(e=re,n=Ae(),n!==o?(_e(),t.substr(re,2)===E?(s=E,re+=2):(s=o,0===ae&&fe(ct)),s!==o?(_e(),i=Ee(),i!==o?e={type:r.nullc,lhs:n,rhs:i}:(re=e,e=o)):(re=e,e=o)):(re=e,e=o),e===o&&(e=Ae()),le[a]={nextPos:re,result:e},e)}function Ae(){let e,n,s,i,a,l;const u=38*re+13,c=le[u];if(c)return re=c.nextPos,c.result;if(e=re,n=xe(),n!==o){for(s=[],i=re,_e(),t.substr(re,2)===A?(a=A,re+=2):(a=o,0===ae&&fe(ht)),a!==o?(_e(),l=xe(),l!==o?i=l:(re=i,i=o)):(re=i,i=o);i!==o;)s.push(i),i=re,_e(),t.substr(re,2)===A?(a=A,re+=2):(a=o,0===ae&&fe(ht)),a!==o?(_e(),l=xe(),l!==o?i=l:(re=i,i=o)):(re=i,i=o);e=function(t,e){let n=t;for(const t of e)n={type:r.or,lhs:n,rhs:t};return n}(n,s)}else re=e,e=o;return le[u]={nextPos:re,result:e},e}function xe(){let e,n,s,i,a,l;const u=38*re+14,c=le[u];if(c)return re=c.nextPos,c.result;if(e=re,n=we(),n!==o){for(s=[],i=re,_e(),t.substr(re,2)===x?(a=x,re+=2):(a=o,0===ae&&fe(dt)),a!==o?(_e(),l=we(),l!==o?i=l:(re=i,i=o)):(re=i,i=o);i!==o;)s.push(i),i=re,_e(),t.substr(re,2)===x?(a=x,re+=2):(a=o,0===ae&&fe(dt)),a!==o?(_e(),l=we(),l!==o?i=l:(re=i,i=o)):(re=i,i=o);e=function(t,e){let n=t;for(const t of e)n={type:r.and,lhs:n,rhs:t};return n}(n,s)}else re=e,e=o;return le[u]={nextPos:re,result:e},e}function we(){let t,e,n,s,i,a;const l=38*re+15,u=le[l];if(u)return re=u.nextPos,u.result;if(t=re,e=Pe(),e!==o){for(n=[],s=re,_e(),i=Me(),i!==o?(_e(),a=Pe(),a!==o?s=Kt(0,i,a):(re=s,s=o)):(re=s,s=o);s!==o;)n.push(s),s=re,_e(),i=Me(),i!==o?(_e(),a=Pe(),a!==o?s=Kt(0,i,a):(re=s,s=o)):(re=s,s=o);t=function(t,e){let n=t;for(const t of e)n={type:r.eq,op:t.op,lhs:n,rhs:t.rhs};return n}(e,n)}else re=t,t=o;return le[l]={nextPos:re,result:t},t}function Pe(){let t,e,n,s,i,a;const l=38*re+16,u=le[l];if(u)return re=u.nextPos,u.result;if(t=re,e=Te(),e!==o){for(n=[],s=re,_e(),i=$e(),i!==o?(_e(),a=Te(),a!==o?s=te(0,i,a):(re=s,s=o)):(re=s,s=o);s!==o;)n.push(s),s=re,_e(),i=$e(),i!==o?(_e(),a=Te(),a!==o?s=te(0,i,a):(re=s,s=o)):(re=s,s=o);t=function(t,e){let n=t;for(const t of e)n={type:r.cmp,op:t.op,lhs:n,rhs:t.rhs};return n}(e,n)}else re=t,t=o;return le[l]={nextPos:re,result:t},t}function Te(){let e,n,s;const i=38*re+17,a=le[i];return a?(re=a.nextPos,a.result):(e=re,33===t.charCodeAt(re)?(n=w,re++):(n=o,0===ae&&fe(pt)),n!==o?(_e(),s=Te(),s!==o?e={type:r.not,expr:s}:(re=e,e=o)):(re=e,e=o),e===o&&(e=function(){let t,e,n,s,i;const a=38*re+18,l=le[a];if(l)return re=l.nextPos,l.result;if(t=re,e=Se(),e!==o){if(_e(),n=[],s=re,i=Ce(),i!==o?(_e(),s=i):(re=s,s=o),s!==o)for(;s!==o;)n.push(s),s=re,i=Ce(),i!==o?(_e(),s=i):(re=s,s=o);else n=o;n!==o?t={type:r.access,lhs:e,rhs:n}:(re=t,t=o)}else re=t,t=o;return t===o&&(t=Se()),le[a]={nextPos:re,result:t},t}()),le[i]={nextPos:re,result:e},e)}function Ce(){let e;const n=38*re+19,s=le[n];return s?(re=s.nextPos,s.result):(e=function(){let e,n,s;const i=38*re+20,a=le[i];return a?(re=a.nextPos,a.result):(ae++,e=re,t.substr(re,2)===P?(n=P,re+=2):(n=o,0===ae&&fe(mt)),n===o&&(46===t.charCodeAt(re)?(n=T,re++):(n=o,0===ae&&fe(gt))),n!==o?(_e(),s=De(),s!==o?e={type:r.member,ns:"?."===n,rhs:s}:(re=e,e=o)):(re=e,e=o),ae--,e===o&&(n=o,0===ae&&fe(ft)),le[i]={nextPos:re,result:e},e)}(),e===o&&(e=function(){let e,n,s,i,a;const l=38*re+21,u=le[l];return u?(re=u.nextPos,u.result):(ae++,e=re,t.substr(re,2)===P?(n=P,re+=2):(n=o,0===ae&&fe(mt)),n===o&&(n=null),91===t.charCodeAt(re)?(s=C,re++):(s=o,0===ae&&fe(yt)),s!==o?(_e(),i=ye(),i!==o?(_e(),93===t.charCodeAt(re)?(a=S,re++):(a=o,0===ae&&fe(bt)),a!==o?e={type:r.subscript,ns:null!==n,rhs:i}:(re=e,e=o)):(re=e,e=o)):(re=e,e=o),ae--,e===o&&(n=o,0===ae&&fe(vt)),le[l]={nextPos:re,result:e},e)}(),e===o&&(e=function(){let e,n,s,i,a,l,u,c;const h=38*re+22,d=le[h];if(d)return re=d.nextPos,d.result;if(ae++,e=re,t.substr(re,2)===P?(n=P,re+=2):(n=o,0===ae&&fe(mt)),n===o&&(n=null),40===t.charCodeAt(re)?(s=O,re++):(s=o,0===ae&&fe(At)),s!==o){for(_e(),i=re,a=ye(),a!==o?(l=_e(),i=a):(re=i,i=o),i===o&&(i=null),a=[],l=re,44===t.charCodeAt(re)?(u=N,re++):(u=o,0===ae&&fe(xt)),u!==o?(_e(),c=ye(),c!==o?(_e(),l=c):(re=l,l=o)):(re=l,l=o);l!==o;)a.push(l),l=re,44===t.charCodeAt(re)?(u=N,re++):(u=o,0===ae&&fe(xt)),u!==o?(_e(),c=ye(),c!==o?(_e(),l=c):(re=l,l=o)):(re=l,l=o);41===t.charCodeAt(re)?(l=R,re++):(l=o,0===ae&&fe(wt)),l!==o?(f=a,e={type:r.method,ns:null!==n,args:null===(p=i)?[]:[p,...f]}):(re=e,e=o)}else re=e,e=o;var p,f;return ae--,e===o&&(n=o,0===ae&&fe(Et)),le[h]={nextPos:re,result:e},e}())),le[n]={nextPos:re,result:e},e)}function Se(){let e,s,i,a;const l=38*re+23,u=le[l];return u?(re=u.nextPos,u.result):(e=re,40===t.charCodeAt(re)?(s=O,re++):(s=o,0===ae&&fe(At)),s!==o?(_e(),i=ye(),i!==o?(_e(),41===t.charCodeAt(re)?(a=R,re++):(a=o,0===ae&&fe(wt)),a!==o?e=i:(re=e,e=o)):(re=e,e=o)):(re=e,e=o),e===o&&(e=function(){let e,n,s,i,a,l,u,c;const h=38*re+24,d=le[h];if(d)return re=d.nextPos,d.result;if(ae++,e=re,n=function(){let e,n,s,i,a;const l=38*re+32,u=le[l];return u?(re=u.nextPos,u.result):(ae++,e=re,35===t.charCodeAt(re)?(n=L,re++):(n=o,0===ae&&fe(qt)),n!==o?(s=re,i=De(),i!==o?(58===t.charCodeAt(re)?(a=y,re++):(a=o,0===ae&&fe(lt)),a!==o?s=i:(re=s,s=o)):(re=s,s=o),s===o&&(s=null),i=De(),i!==o?e={type:r.function,module:s,value:i}:(re=e,e=o)):(re=e,e=o),ae--,e===o&&(n=o,0===ae&&fe(Vt)),le[l]={nextPos:re,result:e},e)}(),n!==o)if(40===t.charCodeAt(re)?(s=O,re++):(s=o,0===ae&&fe(At)),s!==o){for(_e(),i=re,a=ye(),a!==o?(l=_e(),i=a):(re=i,i=o),i===o&&(i=null),a=[],l=re,44===t.charCodeAt(re)?(u=N,re++):(u=o,0===ae&&fe(xt)),u!==o?(_e(),c=ye(),c!==o?(_e(),l=c):(re=l,l=o)):(re=l,l=o);l!==o;)a.push(l),l=re,44===t.charCodeAt(re)?(u=N,re++):(u=o,0===ae&&fe(xt)),u!==o?(_e(),c=ye(),c!==o?(_e(),l=c):(re=l,l=o)):(re=l,l=o);41===t.charCodeAt(re)?(l=R,re++):(l=o,0===ae&&fe(wt)),l!==o?e=function(t,e,n){const s=null===e?[]:[e,...n];return{type:r.call,value:t,args:s}}(n,i,a):(re=e,e=o)}else re=e,e=o;else re=e,e=o;return ae--,e===o&&(n=o,0===ae&&fe(Pt)),le[h]={nextPos:re,result:e},e}(),e===o&&(e=function(){let e;const n=38*re+25,s=le[n];return s?(re=s.nextPos,s.result):(e=function(){let e,n,s,i,a,l,u,c,h,d;const p=38*re+26,f=le[p];if(f)return re=f.nextPos,f.result;if(ae++,e=re,n=re,s=re,45===t.charCodeAt(re)?(i=D,re++):(i=o,0===ae&&fe(Ct)),i===o&&(i=null),a=re,l=[],u=t.charAt(re),B.test(u)?re++:(u=o,0===ae&&fe(St)),u!==o)for(;u!==o;)l.push(u),u=t.charAt(re),B.test(u)?re++:(u=o,0===ae&&fe(St));else l=o;if(l!==o){if(u=re,46===t.charCodeAt(re)?(c=T,re++):(c=o,0===ae&&fe(gt)),c!==o){for(h=[],d=t.charAt(re),B.test(d)?re++:(d=o,0===ae&&fe(St));d!==o;)h.push(d),d=t.charAt(re),B.test(d)?re++:(d=o,0===ae&&fe(St));c=[c,h],u=c}else re=u,u=o;u===o&&(u=null),l=[l,u],a=l}else re=a,a=o;if(a===o)if(a=re,46===t.charCodeAt(re)?(l=T,re++):(l=o,0===ae&&fe(gt)),l!==o){if(u=[],c=t.charAt(re),B.test(c)?re++:(c=o,0===ae&&fe(St)),c!==o)for(;c!==o;)u.push(c),c=t.charAt(re),B.test(c)?re++:(c=o,0===ae&&fe(St));else u=o;u!==o?(l=[l,u],a=l):(re=a,a=o)}else re=a,a=o;return a!==o?(i=[i,a],s=i):(re=s,s=o),n=s!==o?t.substring(n,re):s,n!==o&&(n={type:r.literal,value:parseFloat(n)}),e=n,ae--,e===o&&(n=o,0===ae&&fe(Tt)),le[p]={nextPos:re,result:e},e}(),e===o&&(e=Oe(),e===o&&(e=function(){let e,n,s,i,a,l,u;const c=38*re+30,h=le[c];if(h)return re=h.nextPos,h.result;if(ae++,e=re,91===t.charCodeAt(re)?(n=C,re++):(n=o,0===ae&&fe(yt)),n!==o){for(_e(),s=ye(),s===o&&(s=null),_e(),i=[],a=re,44===t.charCodeAt(re)?(l=N,re++):(l=o,0===ae&&fe(xt)),l!==o?(_e(),u=ye(),u!==o?(_e(),a=u):(re=a,a=o)):(re=a,a=o);a!==o;)i.push(a),a=re,44===t.charCodeAt(re)?(l=N,re++):(l=o,0===ae&&fe(xt)),l!==o?(_e(),u=ye(),u!==o?(_e(),a=u):(re=a,a=o)):(re=a,a=o);93===t.charCodeAt(re)?(a=S,re++):(a=o,0===ae&&fe(bt)),a!==o?e=function(t,e){const n=null===t?[]:[t,...e];return{type:r.array,value:n}}(s,i):(re=e,e=o)}else re=e,e=o;return ae--,e===o&&(n=o,0===ae&&fe(kt)),le[c]={nextPos:re,result:e},e}(),e===o&&(e=function(){let e,n,s,i,a,l,u,c,h,d,p;const f=38*re+31,m=le[f];if(m)return re=m.nextPos,m.result;if(ae++,e=re,123===t.charCodeAt(re)?(n=g,re++):(n=o,0===ae&&fe(it)),n!==o){for(_e(),s=re,i=Oe(),i!==o?(a=_e(),58===t.charCodeAt(re)?(l=y,re++):(l=o,0===ae&&fe(lt)),l!==o?(u=_e(),c=ye(),c!==o?s=[i,c]:(re=s,s=o)):(re=s,s=o)):(re=s,s=o),s===o&&(s=null),i=_e(),a=[],l=re,44===t.charCodeAt(re)?(u=N,re++):(u=o,0===ae&&fe(xt)),u!==o?(c=_e(),h=Oe(),h!==o?(_e(),58===t.charCodeAt(re)?(d=y,re++):(d=o,0===ae&&fe(lt)),d!==o?(_e(),p=ye(),p!==o?(_e(),l=[h,p]):(re=l,l=o)):(re=l,l=o)):(re=l,l=o)):(re=l,l=o);l!==o;)a.push(l),l=re,44===t.charCodeAt(re)?(u=N,re++):(u=o,0===ae&&fe(xt)),u!==o?(c=_e(),h=Oe(),h!==o?(_e(),58===t.charCodeAt(re)?(d=y,re++):(d=o,0===ae&&fe(lt)),d!==o?(_e(),p=ye(),p!==o?(_e(),l=[h,p]):(re=l,l=o)):(re=l,l=o)):(re=l,l=o)):(re=l,l=o);125===t.charCodeAt(re)?(l=F,re++):(l=o,0===ae&&fe(Ft)),l!==o?(b=a,E=[],null!==(v=s)&&E.push(v),E.push.apply(E,b),e={type:r.dict,value:E}):(re=e,e=o)}else re=e,e=o;var v,b,E;return ae--,e===o&&(n=o,0===ae&&fe(It)),le[f]={nextPos:re,result:e},e}()))),le[n]={nextPos:re,result:e},e)}(),e===o&&(e=function(){let t,e;const s=38*re+34,i=le[s];return i?(re=i.nextPos,i.result):(ae++,t=re,e=De(),e!==o&&(a=e,e=n.has(a)?{type:r.literal,value:n.get(a)}:{type:r.symbol,value:a}),t=e,ae--,t===o&&(e=o,0===ae&&fe(Bt)),le[s]={nextPos:re,result:t},t);var a}()))),le[l]={nextPos:re,result:e},e)}function Oe(){let e,n,s,i,a;const l=38*re+27,u=le[l];if(u)return re=u.nextPos,u.result;if(ae++,e=re,39===t.charCodeAt(re)?(n=M,re++):(n=o,0===ae&&fe(Nt)),n!==o){for(s=re,i=[],a=t.charAt(re),W.test(a)?re++:(a=o,0===ae&&fe(Rt));a!==o;)i.push(a),a=t.charAt(re),W.test(a)?re++:(a=o,0===ae&&fe(Rt));s=t.substring(s,re),39===t.charCodeAt(re)?(i=M,re++):(i=o,0===ae&&fe(Nt)),i!==o?e={type:r.literal,value:s}:(re=e,e=o)}else re=e,e=o;if(e===o){if(e=re,34===t.charCodeAt(re)?(n=$,re++):(n=o,0===ae&&fe(Dt)),n!==o){for(s=re,i=[],a=t.charAt(re),X.test(a)?re++:(a=o,0===ae&&fe(Mt));a!==o;)i.push(a),a=t.charAt(re),X.test(a)?re++:(a=o,0===ae&&fe(Mt));s=t.substring(s,re),34===t.charCodeAt(re)?(i=$,re++):(i=o,0===ae&&fe(Dt)),i!==o?e={type:r.literal,value:s}:(re=e,e=o)}else re=e,e=o;if(e===o)if(e=re,96===t.charCodeAt(re)?(n=_,re++):(n=o,0===ae&&fe($t)),n!==o){for(s=[],i=Ne(),i===o&&(i=Re());i!==o;)s.push(i),i=Ne(),i===o&&(i=Re());96===t.charCodeAt(re)?(i=_,re++):(i=o,0===ae&&fe($t)),i!==o?e={type:r.tstring,parts:s}:(re=e,e=o)}else re=e,e=o}return ae--,e===o&&(n=o,0===ae&&fe(Ot)),le[l]={nextPos:re,result:e},e}function Ne(){let e,r,n,s;const i=38*re+28,a=le[i];return a?(re=a.nextPos,a.result):(ae++,e=re,123===t.charCodeAt(re)?(r=g,re++):(r=o,0===ae&&fe(it)),r!==o?(_e(),n=ye(),n!==o?(_e(),125===t.charCodeAt(re)?(s=F,re++):(s=o,0===ae&&fe(Ft)),s!==o?e=n:(re=e,e=o)):(re=e,e=o)):(re=e,e=o),ae--,e===o&&(r=o,0===ae&&fe(_t)),le[i]={nextPos:re,result:e},e)}function Re(){let e,n,s,i,a;const l=38*re+29,u=le[l];if(u)return re=u.nextPos,u.result;if(ae++,e=re,n=[],s=re,i=[],a=t.charAt(re),Q.test(a)?re++:(a=o,0===ae&&fe(jt)),a!==o)for(;a!==o;)i.push(a),a=t.charAt(re),Q.test(a)?re++:(a=o,0===ae&&fe(jt));else i=o;if(s=i!==o?t.substring(s,re):i,s===o&&(s=re,92===t.charCodeAt(re)?(i=m,re++):(i=o,0===ae&&fe(st)),i!==o?(t.length>re?(a=t.charAt(re),re++):(a=o,0===ae&&fe(ot)),a!==o?s=a:(re=s,s=o)):(re=s,s=o)),s!==o)for(;s!==o;){if(n.push(s),s=re,i=[],a=t.charAt(re),Q.test(a)?re++:(a=o,0===ae&&fe(jt)),a!==o)for(;a!==o;)i.push(a),a=t.charAt(re),Q.test(a)?re++:(a=o,0===ae&&fe(jt));else i=o;s=i!==o?t.substring(s,re):i,s===o&&(s=re,92===t.charCodeAt(re)?(i=m,re++):(i=o,0===ae&&fe(st)),i!==o?(t.length>re?(a=t.charAt(re),re++):(a=o,0===ae&&fe(ot)),a!==o?s=ee(a):(re=s,s=o)):(re=s,s=o))}else n=o;return n!==o&&(n={type:r.literal,value:n.join("")}),e=n,e===o&&(e=re,123===t.charCodeAt(re)?(n=g,re++):(n=o,0===ae&&fe(it)),n!==o&&(n={type:r.literal,value:n}),e=n),ae--,e===o&&(n=o,0===ae&&fe(Lt)),le[l]={nextPos:re,result:e},e}function De(){let e,r,n,s,i;const a=38*re+33,l=le[a];if(l)return re=l.nextPos,l.result;if(e=re,r=re,n=t.charAt(re),U.test(n)?re++:(n=o,0===ae&&fe(zt)),n!==o){for(s=[],i=t.charAt(re),G.test(i)?re++:(i=o,0===ae&&fe(Ht));i!==o;)s.push(i),i=t.charAt(re),G.test(i)?re++:(i=o,0===ae&&fe(Ht));n=[n,s],r=n}else re=r,r=o;return e=r!==o?t.substring(e,re):r,le[a]={nextPos:re,result:e},e}function Me(){let e;const r=38*re+35,n=le[r];return n?(re=n.nextPos,n.result):(t.substr(re,2)===j?(e=j,re+=2):(e=o,0===ae&&fe(Wt)),e===o&&(t.substr(re,2)===k?(e=k,re+=2):(e=o,0===ae&&fe(Xt))),le[r]={nextPos:re,result:e},e)}function $e(){let e;const r=38*re+36,n=le[r];return n?(re=n.nextPos,n.result):(t.substr(re,2)===I?(e=I,re+=2):(e=o,0===ae&&fe(Qt)),e===o&&(62===t.charCodeAt(re)?(e=V,re++):(e=o,0===ae&&fe(Ut)),e===o&&(t.substr(re,2)===q?(e=q,re+=2):(e=o,0===ae&&fe(Gt)),e===o&&(60===t.charCodeAt(re)?(e=z,re++):(e=o,0===ae&&fe(Zt))))),le[r]={nextPos:re,result:e},e)}function _e(){let e,r;const n=38*re+37,s=le[n];if(s)return re=s.nextPos,s.result;for(ae++,e=[],r=t.charAt(re),Z.test(r)?re++:(r=o,0===ae&&fe(Jt));r!==o;)e.push(r),r=t.charAt(re),Z.test(r)?re++:(r=o,0===ae&&fe(Jt));return ae--,le[n]={nextPos:re,result:e},e}se=l();const Fe=se!==o&&re===t.length;function Le(){throw se!==o&&re<t.length&&fe({type:"end"}),e=ie,r=oe<t.length?function(e=re){const r=t.codePointAt(e);return void 0===r?"":String.fromCodePoint(r)}(oe):null,n=oe<t.length?pe(oe,oe+1):pe(oe,oe),new s(s.buildMessage(e,r),e,r,n);var e,r,n}return e.peg$library?{peg$result:se,peg$currPos:re,peg$FAILED:o,peg$maxFailExpected:ie,peg$maxFailPos:oe,peg$success:Fe,peg$throw:Fe?void 0:Le}:Fe?se:void Le()}(t,{startRule:e===a.MODE_TEMPLATED?"TemplatedRoot":"ExpressionRoot"}))}static evaluate(t,e,r,n){return new i(t,e).visitRoot(r,n===a.MODE_TEMPLATED)}static interpret(t,e,r,n){return a.evaluate(t,e,a.parse(r,n),n)}}class l{#r;#n;constructor(t,e){this.#r=t,this.#n=e}withModule(t,e){const r=t?{[t]:e}:e;return new l({...this.#r,...r},this.#n)}withOverlay(...t){return new l(this.#r,0===t.length?this.#n:[...this.#n,...t])}resolve(t){return o(this.#n,t)}evaluateExpression(t){return a.interpret(this.#r,this.#n,t,a.MODE_EXPRESSION)}evaluateTemplated(t){return a.interpret(this.#r,this.#n,t,a.MODE_TEMPLATED)}}class u{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 c{static id=0;static uid(t){return`${t}-${++c.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 set(t,e,r){null==r?t.removeAttribute(e):t.setAttribute(e,r)}}class h{static from(t){for(const e of t.children)e.matches('[slot=""]')&&e.removeAttribute("slot");const e=Array.from(t.children).filter(t=>t.matches("[slot]")).map(t=>{t.remove();const e=t.getAttribute("slot");return t.removeAttribute("slot"),[e,h.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&&"text/html"===t.type?u.fromHtml(t.innerHTML):t}}class d{static isParsed(t){for(let e=t;e;e=e.parentNode)if(e.nextSibling)return!0;return!1}static waitDomContentLoaded(t){if("loading"===t.readyState)return new Promise(e=>{t.addEventListener("DOMContentLoaded",()=>e(void 0),{once:!0})});if("complete"===t.readyState)return Promise.resolve();const e=t.defaultView;return null===e?Promise.resolve():new Promise(t=>{const r=()=>{e.removeEventListener("DOMContentLoaded",r),e.removeEventListener("load",r),t(void 0)};e.addEventListener("DOMContentLoaded",r),e.addEventListener("load",r)})}static waitParsed(t){return d.isParsed(t)?Promise.resolve(t):new Promise(e=>{const r=new MutationObserver(()=>{d.isParsed(t)&&(r.disconnect(),e(t))});for(let e=t.parentNode;e;e=e.parentNode)r.observe(e,{childList:!0});d.waitDomContentLoaded(t.ownerDocument).then(()=>{r.disconnect(),e(t)})})}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 p{#u=new Set;removed(t){return this.#u.has(t)}remove(t){t.replaceChildren?.(),Object.keys(t.dataset||{}).filter(t=>t.startsWith("tpl")).forEach(e=>{delete t.dataset[e]}),this.#u.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.#u)t.remove();this.#u.clear()}}class f{static ORDERED_COMMANDS=["tplIf","tplWith","tplEach","tplWhen","tplClassAppend","tplAttrAppend","tplRemove","tplVerbatim"];static tplIf(t,e,r,n){n.evaluateExpression(e)||r.remove(t)}static tplWith(t,e,r,n){const s=n.evaluateExpression(e),o=r.popData(t,"tplVar"),i=new v(t,n).withOverlay(o?{[o]:s}:s).render();r.replace(t,i)}static tplEach(t,e,r,n){const s=r.popData(t,"tplVar"),o=r.popData(t,"tplStat"),i=new v(t,n),a=n.evaluateExpression(e),l=null===a||"object"!=typeof a?void 0:Object.getPrototypeOf(a),u=a instanceof Map?[...a]:a?.[Symbol.iterator]||l!==Object.prototype&&null!==l?null:Object.entries(a),c=null===u?a:u.map(([t,e])=>({key:t,value:e}));if(!c?.[Symbol.iterator])throw new Error(`Expected an iterable got '${a}'`);if(!o){for(const e of c)r.prepend(t,i.withOverlay(s?{[s]:e}:e).render());return void r.remove(t)}const h=Array.isArray(c)||"number"==typeof c.length?c.length:"number"==typeof c.size?c.size:null;let d=0;for(const e of c){const n={index:d,count:d+1,size:h,first:0===d,last:null===h?null:d===h-1,even:d%2==0,odd:d%2==1};r.prepend(t,i.withOverlay({[o]:n},s?{[s]:e}:e).render()),++d}r.remove(t)}static tplWhen(t,e,r,n){n.evaluateExpression(e)||r.remove(t)}static tplVerbatim(t,e,r,n){const s=t.cloneNode(!0);r.replace(t,s)}static tplRemove(t,e,r,n){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 tplClassAppend(t,e,r,n){const s=n.evaluateExpression(e);if(!s)return;const o=(Array.isArray(s)?s:[s]).flatMap(t=>"string"==typeof t?t.split(" "):t).filter(Boolean);0!==o.length&&t.classList.add(...o)}static tplAttrAppend(t,e,r,n){const s=n.evaluateExpression(e);s&&0!==s.length&&(Array.isArray(s[0])?s:[s]).forEach(([e,r])=>{t.setAttribute(e,r)})}static textNode(t,e,n,s){for(const o of s.evaluateTemplated(e))if(null!=o.value)switch(o.type){case r.dom.t:n.prepend(t,document.createTextNode(o.value));break;case r.dom.h:n.prepend(t,u.fromHtml("string"==typeof o.value?o.value:String(o.value)));break;case r.dom.n:if(!(o.value instanceof Node))throw new TypeError(`Expected a Node, got '${typeof o.value}'`);n.prepend(t,o.value)}n.remove(t)}}const m=new e(1e3);function g(t){return m.getOrCompute(t,t=>t.substring(3).split(/(?=[A-Z])/).join("-").toLowerCase())}class v{static fromHtml(t,e,...r){return new v(u.fromHtml(t),new l(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 v(s,new l(e,r))}static fromTemplate(t,e,...r){const n=document.adoptNode(t.content);return new v(n,new l(e,r))}static fromFragment(t,e,...r){return new v(t,new l(e,r))}#c;#h;constructor(t,e){this.#c=t,this.#h=e}withEvaluator(t){return new v(this.#c,t)}withFragment(t){return new v(t,this.#h)}withModule(t,e){return new v(this.#c,this.#h.withModule(t,e))}withOverlay(...t){return new v(this.#c,this.#h.withOverlay(...t))}evaluateExpression(t,...e){return this.#h.withOverlay(...e).evaluateExpression(t)}evaluateTemplated(t,...e){return this.#h.withOverlay(...e).evaluateTemplated(t)}evaluator(){return this.#h}render(){try{const t=new p,e=document.importNode(this.#c,!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,v.#d);let s;for(;null!==(s=n.nextNode());){if(t.cleanup(),s.nodeType===Node.TEXT_NODE){try{f.textNode(s,s.nodeValue,t,this.#h)}catch(t){throw y.wrap("Error evaluating text node",s,t)}continue}const e=s;for(const r of f.ORDERED_COMMANDS){if(!(r in e.dataset))continue;const n=t.popData(e,r);try{f[r](e,n,t,this.#h)}catch(t){throw y.wrap(`Error evaluating data-tpl-${g(r)}="${n}"`,e,t)}if(t.removed(e))break}for(const r of Object.keys(e.dataset||{})){if(!r.startsWith("tpl"))continue;const n=g(r),s=t.popData(e,r);try{const t=this.#h.evaluateExpression(s);if("boolean"==typeof t){e.toggleAttribute(n,t);continue}null!=t&&e.setAttribute(n,t)}catch(t){throw y.wrap(`Error evaluating data-tpl-${g(r)}="${s}"`,e,t)}}}return t.cleanup(),r}catch(t){if(t instanceof y)throw t;throw new y("Error rendering template",this.#c,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#d(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 y extends Error{static FRAMES=3;#p;#f;truncated=!1;static wrap(t,e,r){return r instanceof y&&r.depth>=y.FRAMES?(r.truncated=!0,r):new y(t,e,r)}constructor(t,e,r){super(`${t} in \`${y.describe(e)}\``,{cause:r}),this.name="RenderError",this.#p=e,this.#f=(r instanceof y?r.depth:0)+1}get depth(){return this.#f}get node(){return this.#p}get html(){return y.stringify(this.#p)}static describe(t){if(t.nodeType===Node.TEXT_NODE)return y.#m(String(t.nodeValue).trim());if(t.nodeType===Node.ELEMENT_NODE){const e=t,r=Array.from(e.attributes,t=>` ${t.name}="${t.value}"`).join("");return y.#m(`<${e.localName}${r}>`)}const e=Array.from(t.childNodes).filter(t=>t.nodeType===Node.ELEMENT_NODE||String(t.nodeValue??"").trim().length>0).map(t=>y.describe(t));return y.#m(e.join(""))}static#m(t){return t.length>120?`${t.slice(0,120)}…`:t}static stringify(t){const e=document.createElement("template");return e.content.appendChild(y.#g(t.cloneNode(!0))),e.innerHTML}static#g(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&&y.#g(r)}return t}}class b{#v=new Map;#y;#b=new Promise(t=>{this.#y=t});constructor(){d.waitDomContentLoaded(document).then(()=>{this.#E()})}ready(){return this.#b}async#E(){await this.settled(),document.dispatchEvent(new CustomEvent("ftl:ready",{bubbles:!1,cancelable:!1})),this.#y()}enqueue(t){if(this.#v.has(t))return;const{promise:e,resolve:r}=Promise.withResolvers(),n=d.waitParsed(t).then(()=>t.upgrade()).finally(()=>{this.#v.delete(t),r()});this.#v.set(t,{upgrade:n,finished:e})}async#A(t,e){for(;;){const r=Array.from(this.#v).filter(([e])=>t(e)).map(([,t])=>e(t));if(0===r.length)return;await Promise.all(r)}}settled(){return this.#A(()=>!0,t=>t.finished)}upgraded(t){return this.#A(t,t=>t.upgrade)}whenUpgraded(t){return this.#v.get(t)?.upgrade}pending(){return Array.from(this.#v.keys())}}class E{#x={};#w=!1;#P={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(",")}};#T={};#r;#C=[];#h=new l(void 0,[]);#S=new b;defineElement(t,e){return this.#w?(this.#O(t,e),this):(this.#x[t]=e,this)}static declarationsOf(t){const e=[];for(let r=t;null!==r&&r!==HTMLElement;r=Object.getPrototypeOf(r))e.unshift(r);const r=t=>e.flatMap(e=>Object.getOwnPropertyDescriptor(e,t)?.value??[]);return{observed:r("observed"),attributes:r("attributes")}}static propertyOf(t){return t.replace(/-([a-z])/g,(t,e)=>e.toUpperCase())}#O(t,e){const{observed:r,attributes:n}=E.declarationsOf(e),{template:s,templates:o,slots:i,mappers:a,config:l}=e,u=r.map(t=>t.split(":")[0]),c=[...new Set(u.reverse())].reverse(),h=[...n,...r].reduce((t,e)=>{const[r,n]=e.split(":"),s=n??"string";if(!(s in this.#P)&&!(s in(a??{})))throw new Error(`unsupported attribute type: ${s}`);return t[r]=a?.[s]??this.#P[s],t},{}),d=Object.entries(Object.assign({},o,s?{default:s}:{})).map(([t,e])=>[t,v.fromHtml(e)]),p=Object.fromEntries(d);e.BITS={registry:this,enqueue:t=>this.#S.enqueue(t),SLOTS:i,CONFIG:l,OBSERVED:c,DECLARED:[...new Set([...c,...n.map(t=>t.split(":")[0])])],ATTR_TO_MAPPER:h,ATTR_TO_PROPERTY:Object.fromEntries(c.map(t=>[t,E.propertyOf(t)])),TEMPLATES:p},customElements.define(t,e)}defineModule(t,e){const r=t?{[t]:e}:e;return this.#r={...this.#r,...r},this.#N(),this}defineModules(t){return this.#r=t,this.#N(),this}defineComponent(t,e){return this.#T[t]=e,this}defineData(...t){return this.#C=t,this.#N(),this}defineOverlay(...t){return this.#C=[...this.#C,...t],this.#N(),this}defineMapper(t,e){return this.#P[t]=e,this}plugin(t){return t.configure(this),this}configure(){for(const[t,e]of Object.entries(this.#x))this.#O(t,e),delete this.#x[t];return this.#w=!0,this}settle(t){return this.#S.upgraded(t)}whenUpgraded(t){return this.#S.whenUpgraded(t)}pending(){return this.#S.pending()}ready(){return this.#S.ready()}#N(){this.#h=new l(this.#r,this.#C)}evaluator(){return this.#h}component(t){return this.#T[t]}}const A=new E;class x extends HTMLElement{static BITS={registry:A,enqueue:t=>{},SLOTS:!1,CONFIG:void 0,OBSERVED:[],DECLARED:[],ATTR_TO_MAPPER:{},ATTR_TO_PROPERTY:{},TEMPLATES:{}};static get observedAttributes(){return this.BITS.OBSERVED}constructor(){super(),this.internals=this.attachInternals()}internals;#R=!1;#D=!1;#M=new Set;#$=null;#_={};#F(){return this.constructor.BITS}#L(t){const e=this.#F().ATTR_TO_MAPPER[t];if(!e)throw new Error(`${this.constructor.name} declares no attribute '${t}': declare it in static observed or static attributes, or read it with getAttribute`);return e}unmarshal(t,e){return this.#L(t).unmarshal(e,t,this)}marshal(t,e){return this.#L(t).marshal(e,t,this)}get _registry(){return this.#F().registry}component(t){return this.#F().registry.component(t)}template(t){const e=this.#F().TEMPLATES[t??"default"];if(!e)throw new Error(`no template named '${t??"default"}' on ${this.constructor.name}`);const r=e.withEvaluator(this.#F().registry.evaluator()),n=this.#F().CONFIG;return n?r.withOverlay({config:n}):r}connectedCallback(){this.#D||this.#F().enqueue(this)}attributeChangedCallback(t,e,r){e!==r&&(this.#M.has(t)||(this.#R?this[this.#F().ATTR_TO_PROPERTY[t]]=this.unmarshal(t,r):null!==this.#$&&t in this.#$&&(this.#$[t]=this.unmarshal(t,r))))}async upgrade(){if(this.#D)return;this.#D=!0;const t=this.#F().SLOTS?h.from(this):void 0,e=Object.fromEntries(this.#F().DECLARED.map(t=>[t,this.unmarshal(t,this.getAttribute(t))])),r=new Set(this.#F().OBSERVED);this.#_=Object.fromEntries(Object.entries(e).filter(([t])=>!r.has(t))),this.#$=e;try{await this.render({slots:t});const r=this.#F().ATTR_TO_PROPERTY;for(const t of this.#F().OBSERVED)this[r[t]]=e[t];this.#R=!0,this.internals.states.add("rendered")}finally{this.#$=null}}render(t){}declared(t){return t in this.#_?this.#_[t]:null!==this.#$&&t in this.#$?this.#$[t]:this.unmarshal(t,this.getAttribute(t))}get rendered(){return this.#R}reflectTo(t,e){const r=this.marshal(t,e);if(r!==this.getAttribute(t)){this.#M.add(t);try{c.set(this,t,r)}finally{this.#M.delete(t)}}}}const w=/\{(\w+)\}/g,P=/\{(\d+)\}/g,T=t=>"object"==typeof t&&null!==t&&!Array.isArray(t),C=new Set,S=t=>{C.has(t)||(C.add(t),console.warn(`l10n: ${t}`))},O=new e(100),N=(t,e,r)=>{const n=`${t.name}|${e??""}|${void 0===r?"":JSON.stringify(r)}`;return O.getOrCompute(n,()=>new t(e,r))};class R{static t(t,...e){let r=(this.l10n??{})[t];if(void 0===r)return S(`missing message "${t}"`),t;if(T(r)){const n=1===e.length&&T(e[0])?e[0]:{};if("number"!=typeof n.count)S(`plural message "${t}" needs a numeric {count}`),r=r.other;else{const t=this.locale??navigator?.language??"en";r=r[N(Intl.PluralRules,t).select(n.count)]??r.other}}if(void 0===r||"object"==typeof r)return S(`plural message "${t}" has no "other" form`),t;if(1===e.length&&T(e[0])){const n=e[0];return r.replace(w,(e,r)=>r in n?String(n[r]):(S(`message "${t}" wants {${r}}`),e))}return e.length>0?r.replace(P,(r,n)=>{const s=Number(n);return s>=e.length?(S(`message "${t}" wants {${n}}`),r):String(e[s])}):r}static date(t,e){return N(Intl.DateTimeFormat,this.locale,e).format(t)}static number(t,e){return N(Intl.NumberFormat,this.locale,e).format(t)}static bytes(t){const e=N(Intl.NumberFormat,this.locale,{maximumFractionDigits:2}).format;return t>=1073741824?`${e(t/1024/1024/1024)}GiB`:t>=1048576?`${e(t/1024/1024)}MiB`:t>=1024?`${e(t/1024)}KiB`:`${e(t)}B`}static of(t={}){const e=t=>A.evaluator().resolve(t),r=r=>(...n)=>r.apply({l10n:e("l10n"),locale:t.locale??e("locale")},n);return{t:r(R.t),date:r(R.date),number:r(R.number),bytes:r(R.bytes)}}}return t.Attributes=c,t.BoundedCache=e,t.ExpressionEvaluator=l,t.Expressions=a,t.Fragments=u,t.LightSlots=h,t.Localization=R,t.Nodes=d,t.ParsedElement=x,t.Registry=E,t.RenderError=y,t.Rendering=class{static waitFor(t){return A.settle(e=>t.contains(e))}static waitForChildren(t){return A.settle(e=>t!==e&&t.contains(e))}},t.Template=v,t.Templates=class{static fromHtml(t){return v.fromHtml(t).withEvaluator(A.evaluator())}static fromSelector(t){return v.fromSelector(t).withEvaluator(A.evaluator())}static fromTemplate(t){return v.fromTemplate(t).withEvaluator(A.evaluator())}static fromFragment(t){return v.fromFragment(t).withEvaluator(A.evaluator())}},t.registry=A,t}({});
2
2
  //# sourceMappingURL=ftl.iife.min.js.map