From 152d86b69d66827817cc98826fec96f27cc1614a Mon Sep 17 00:00:00 2001 From: Chris Reeves Date: Thu, 21 Dec 2023 00:36:30 -0500 Subject: [PATCH] add a data diff tool --- diff.html | 29 +++++++++ js/diff.js | 133 +++++++++++++++++++++++++++++++++++++++ js/diff.js.map | 1 + js/raport.umd.min.js | 2 +- js/raport.umd.min.js.map | 2 +- 5 files changed, 165 insertions(+), 2 deletions(-) create mode 100644 diff.html create mode 100644 js/diff.js create mode 100644 js/diff.js.map diff --git a/diff.html b/diff.html new file mode 100644 index 0000000..605f014 --- /dev/null +++ b/diff.html @@ -0,0 +1,29 @@ + + + + Data Diffs by Raport + + + + + + + + + + diff --git a/js/diff.js b/js/diff.js new file mode 100644 index 0000000..be8a980 --- /dev/null +++ b/js/diff.js @@ -0,0 +1,133 @@ +(function (index, Ractive) { + 'use strict'; + + function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + + var Ractive__default = /*#__PURE__*/_interopDefaultLegacy(Ractive); + + const escRE = /[<>&]/g; + const escapes = { '<': '<', '>': '>', '&': '&' }; + class App extends Ractive__default['default'] { + constructor(opts) { + super(opts); + } + diff(left, right) { + const diff = index.evaluate({ left, right }, 'diff(parse(left) parse(right))'); + const res = {}; + for (const k in diff) + res[k.substr(2)] = diff[k]; + return res; + } + string(val, comp) { + if (val === undefined) + return 'undefined'; + if (comp && val && typeof comp === 'string' && typeof val === 'string') { + comp = index.evaluate({ val: comp }, `string(val ${this.get('format') || 'raport'}:1)`).replace(escRE, c => escapes[c]); + val = index.evaluate({ val }, `string(val ${this.get('format') || 'raport'}:1)`).replace(escRE, c => escapes[c]); + let i = 0; + for (; i < comp.length && i < val.length; i++) + if (val[i] !== comp[i]) + break; + return val.slice(0, i) + '' + val.slice(i) + ''; + } + return index.evaluate({ val }, `string(val ${this.get('format') || 'raport'}:1)`); + } + } + Ractive__default['default'].perComponentStyleElements = true; + Ractive__default['default'].extendWith(App, { + template: ` +
+
+

Left

+ +
+
+ +

Diff

+

+    {{#each @.diff(.left, .right)}}
+      
+
{{@key}}
+
{{@.string(this.0)}}
+
{{{@.string(this.1, this.0)}}}
+
+ {{/each}} +
+
+
+

Right

+ +
+
+`, + css: ` +h3 { margin: 0.2rem; text-align: center; } +textarea { border: none; outline: none; padding: 0.2rem; } +pre { margin: 0; white-space: pre-wrap; word-break: break-all; } +`, + on: { + init() { + try { + this.set(JSON.parse(window.localStorage.getItem('diff'))); + } + catch (_a) { } + } + }, + observe: { + 'left right format'() { + window.localStorage.setItem('diff', JSON.stringify({ left: this.get('left'), right: this.get('right'), format: this.get('format') })); + } + }, + }); + globalThis.app = new App({ + target: 'body', + }); + // simple debug helper + let el; + document.addEventListener('click', ev => el = ev.target, { capture: true }); + document.addEventListener('focus', ev => el = ev.target, { capture: true }); + Object.defineProperty(globalThis, 'R', { + value: new Proxy(() => ({}), { + apply(_obj, _e, args) { + if (args.length) { + let ctx; + if (typeof args[0] === 'object' && args[0] instanceof Node) + ctx = Ractive__default['default'].getContext(args.shift()); + else + ctx = Ractive__default['default'].getContext(el); + if (!ctx) + return; + if (typeof args[0] === 'string') { + if (args.length === 1) + return ctx.get(args[0]); + else if (args.length === 2) + return ctx.set(args[0], args[1]); + } + else if (typeof args[0] === 'object') { + return ctx.set(args[0]); + } + return ctx; + } + else { + return Ractive__default['default'].getContext(el).get(); + } + }, + get(_obj, prop) { + const ctx = Ractive__default['default'].getContext(el); + if (!ctx) + return; + if (!(prop in ctx) && prop in ctx.ractive) { + const val = ctx.ractive[prop]; + if (typeof val === 'function') + return val.bind(ctx.ractive); + return val; + } + else { + return ctx[prop]; + } + }, + }), + }); + +}(Raport, Ractive)); +//# sourceMappingURL=diff.js.map diff --git a/js/diff.js.map b/js/diff.js.map new file mode 100644 index 0000000..2e906e8 --- /dev/null +++ b/js/diff.js.map @@ -0,0 +1 @@ +{"version":3,"file":"diff.js","sources":["../src/play/diff.ts"],"sourcesContent":[null],"names":["Ractive","evaluate"],"mappings":"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"} \ No newline at end of file diff --git a/js/raport.umd.min.js b/js/raport.umd.min.js index c2956d8..3f295da 100644 --- a/js/raport.umd.min.js +++ b/js/raport.umd.min.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Raport={})}(this,(function(e){"use strict";const t=[];let n=0;const r=[0,""],o=[0,""];function i(){return r}function s(e){return a(e?e.name||e:void 0),r.slice()}function a(e){!r[2]&&e&&(r[0]===o[0]&&r[2]===o[2]&&(o[2]=e),r[2]=e)}function l(e,i,s,a,l){return r[0]=e,r[1]=i||"",r[2]=s,r[3]=a,r[4]=l,1&n&&r[0]>=o[0]&&(o[0]=r[0],o[1]=r[1],o[2]=r[2],o[3]=r[3],o[4]=r[4]),t}function u(e){return"string"==typeof e||e&&"name"in e&&"string"==typeof e.name}function c(e,t){return{start:e,end:e,children:[],name:t}}function f(e,t,n){if(e.end=n[1],!m||e.end!==e.start)if(e.result=n[0],t)if(m)if(e.name&&e.name.primary){const n=e.children[0];if(1===e.children.length&&n.start===e.start&&n.end===e.end)t.children.push(n);else{e.name=e.name.name,e.children.reduce(((t,n,r)=>(tn.end&&((e.extra||(e.extra={}))[e.children.length]=[n.end,e.end]),t.children.push(e)}}else e.children.length&&t.children.push.apply(t.children,e.children);else t.children.push(e);else{e.children.reduce(((t,n,r)=>(tt.end&&((e.extra||(e.extra={}))[e.children.length]=[t.end,e.end])}}function p(e,t){let n=1;for(;~(t=e.lastIndexOf("\n",t))&&t;)n++,t--;return n}function g(e,t,n){const r=[],o=e[0];let i=o,s=i=t.lastIndexOf("\n",i),a=t.lastIndexOf("\n",i-1);for(let e=0;eg(e,t,n))),parser:e[2]?e[2].name||e[2]:void 0}}function d(e){let t=e;if(e[3]){const n=d(e[3]);n[0]>t[0]&&(t=n)}if(e[4]){const n=e[4].length;for(let r=0;rt[0]&&(t=n)}}return o[0]>=r[0]&&o[1]!==e[1]?o:t}const h=/^\s*/,y={};let m=!1;function $(e,t){let r;const s=t,a=t?(t.detailed?1:0)+(t.causes?2:0):0,u=t&&t.consumeAll,p=function(t,p){const $=p&&"trim"in p?p.trim:s&&s.trim,b=$?h.exec(t)[0].length:0;$&&(e=y.map(y.seq(e,y.skip(" \t\r\n")),(([e])=>e)));const x=p?(p.detailed?1:0)+(p.causes?2:0):a;let w=[null,0];1&x&&(o[0]=0,o[1]="",o[2]=void 0,o[3]=void 0,o[4]=void 0);const j=p&&"tree"in p&&p.tree&&c(0);if(m=j&&!0===(p&&"compact"in p?p.compact:!(!s||!("compact"in s))&&s.compact),x!==n){const o=n;n=x,w=(r||(r=v(e))).parse(t,b,w,j),n=o}else w=(r||(r=v(e))).parse(t,b,w,j);if(w.length&&(p&&"consumeAll"in p?p.consumeAll:u)&&w[1]l(t,1&n&&"uninitialized lazy parser")};function v(e){return e.parser||e||b}function x(e,t){let n;return n={parse:(r,o,i,s)=>(e(),n.parse=t,t(r,o,i,s))},n}function w(e){let t="";const n=e.length;for(let r=0;rr&&(n=i[e],r=n[0]);return n?[n[0],n[1],n[2],t]:t}function j(){return!1}function k(e,t){return e===t}function M(e,t){return e[0]===t||e[1]===t}function O(e,t){return e[0]===t||e[1]===t||e[2]===t}function Y(e,t){return e[0]===t||e[1]===t||e[2]===t||e[3]===t}function D(e,t){return e[0]===t||e[1]===t||e[2]===t||e[3]===t||e[4]===t}function z(e,t){return e[0]===t||e[1]===t||e[2]===t||e[3]===t||e[4]===t||e[5]===t}function X(e,t){return e[0]===t||e[1]===t||e[2]===t||e[3]===t||e[4]===t||e[5]===t||e[6]===t}function C(e,t){return e[0]===t||e[1]===t||e[2]===t||e[3]===t||e[4]===t||e[5]===t||e[6]===t||e[7]===t}function S(e,t){return e[0]===t||e[1]===t||e[2]===t||e[3]===t||e[4]===t||e[5]===t||e[6]===t||e[7]===t||e[8]===t}function N(e,t){return e[0]===t||e[1]===t||e[2]===t||e[3]===t||e[4]===t||e[5]===t||e[6]===t||e[7]===t||e[8]===t||e[9]===t}function T(e,t){const n=e.length;for(let r=0;re[o])return!1;for(;i<=o;){if(n=i+o>>1,r=e[n],r===t)return!0;r(o[1]=q(e,r,t,n),o)}}function L(e){const t=H(e),n=U(t);return{parse(e,r,o){const i=q(e,r,t,n);return o[0]=e.substring(r,i),o[1]=i,o}}}function P(e,t){const r=H(e),o=U(r);return{parse(i,s,a){const u=q(i,s,r,o);return u===s?l(s,1&n&&`expected one of ${JSON.stringify(e)}`,t):(a[0]=i.substring(s,u),a[1]=u,a)}}}function _(e,t,r){const o=t&&H(t),i=U(o||"");return{parse(t,s,a){if(t.length-s>=e){const u=t.substr(s,e);if(o)for(let t=0;t=s.length?l(c-1,1&n&&`expected one of ${JSON.stringify(e)} before end of input`,r):(u[0]=c?s.substring(a,c):"",u[1]=c,u)}}}function I(e,t,r){const o=R(e,t);return{parse(e,t,i){const s=o.parse(e,t,i);return s.length?s[1]>t?s:l(t,1&n&&"expected at least one character",r):s}}}function J(...e){const t=e.length;if(1===t){const t=e[0],r=t.length;if(1===r)return{parse:(e,r,o)=>e[r]===t?(o[0]=t,o[1]=r+1,o):l(r,1&n&&`expected ${t}`)};if(2===r)return{parse:(e,r,o)=>e[r]===t[0]&&e[r+1]===t[1]?(o[0]=t,o[1]=r+2,o):l(r,1&n&&`expected ${t}`)};{let e,o;return{parse(i,s,a){for(e=0,o=s+e;e1?"one of ":""}${e.map((e=>`${e}`)).join(", ")}`)}}}function Z(...e){const t=e.slice(),r=P(t.map((e=>e.toLowerCase()+e.toUpperCase())).join("")),o=t.map((e=>e.toLowerCase()));return{parse(e,i,s){const a=r.parse(e,i,s);if(!a.length)return a;const u=o.indexOf(a[0].toLowerCase());return~u?(a[0]=t[u],a):l(i,1&n&&`expected ${t.length>1?"one of ":""}${t.map((e=>`${e}`)).join(", ")}`)}}}function V(e,t){let n;return x((()=>n=v(e)),(function(e,r,o,i){const s=i&&c(r,t),a=n.parse(e,r,o,s);return a.length?(s&&f(s,i,a),a):(o[0]=null,o[1]=r,o)}))}function W(e,t){let r;return x((()=>r=v(e)),(function(e,o,i){const s=r.parse(e,o,i);return s.length?l(o,1&n&&(t||`unexpected ${e.slice(o,s[1])}`)):(i[0]="",i[1]=o,i)}))}function B(e,...t){const i=u(e)?e:void 0,a=u(e)?t:(e?[e]:[]).concat(t);let p;const g=a.length;return x((()=>p=a.map(v)),(function(e,t,a,u){let d;const h=u&&c(t,i);for(let r=0;re[0])).reduce(((e,t)=>e+t),0)===d[0][0]*d.length&&(e[2]=i),l(e[0],e[1],e[2]||i,e[3],e[4])}return 1&n&&A()[0]===t&&i&&function(e){e&&(r[0]===o[0]&&r[2]===o[2]&&(o[2]=e),r[2]=e)}(i&&(i.name||i)),l(t,1&n&&`expected ${i||"alternate"}`,i)}))}function G(e,t,n){let r;return x((()=>r=v(e)),(function(e,o,i,s){const a=s&&c(o,n),u=r.parse(e,o,i,a);if(!u.length)return u;const p=t(u[0]);return!0===p?(a&&f(a,s,u),u):l(u[1],p,n)}))}function K(e,t,n){let r,o;const i=e=>o=e;return x((()=>r=v(e)),(function(e,s,u,p){const g=p&&c(s,n),d=r.parse(e,s,u,g);if(d.length){const e=o;o="",d[0]=t(d[0],i,s,d[1]);const r=o;return o=e,r?l(d[1],r,n):(g&&f(g,p,d),d)}return a(n&&(n.name||n)),d}))}function Q(e,t){let r;return x((()=>r=v(e)),(function(e,o,i,s){if(s){const l=c(o,t),u=r.parse(e,o,i,l);return u.length&&(l.children.length?(l.children[0].name=t,s.children.push(l.children[0])):f(l,s,u)),1&n&&a("string"==typeof t?t:t.name),u}{const s=r.parse(e,o,i);return!s.length&&1&n&&a("string"==typeof t?t:t.name),s}}))}function ee(e,t){let r;const o=[];return x((()=>r=v(e)),(function(e,i,a,l){const u=l&&c(i,t);let p,g,d=i;if(g=r.parse(e,d,a,u),!g.length||g[1]===d)return a[0]=o,a[1]=d,2&n&&(a[2]=s(t)),a;for(d=g[1],p=[g[0]];;){if(g=r.parse(e,d,a,u),!g.length||g[1]===d)return a[0]=p||[],a[1]=d,2&n&&(a[2]=s(t)),u&&f(u,l,a),a;p.push(g[0]),d=g[1]}}))}function te(e,t){let r;return x((()=>r=v(e)),(function(e,o,i,a){const u=a&&c(o,t);let p,g,d=o;if(g=r.parse(e,d,i,u),!g.length)return l(d,1&n&&`expected at least one ${t||"item"}`,t,2&n&&s(t));for((p=[]).push(g[0]),d=g[1];;){if(g=r.parse(e,d,i,u),!g.length)return i[0]=p,i[1]=d,2&n&&(i[2]=s(t)),u&&f(u,a,i),i;p.push(g[0]),d=g[1]}}))}function ne(e,t,r="disallow",o){let a,u;const p=[];return x((()=>(a=v(e),u=v(t))),(function(e,t,g,d){const h=d&&c(t,o);let y,m,$,b,v=t,x=t;if($=a.parse(e,v,g,h),!$.length||$[1]===v)return g[0]=p,g[1]=t,2&n&&(g[2]=s(o)),g;if(m=$[0],x=v,v=$[1],b=u.parse(e,v,g),!b.length)return"require"===r?l(x,1&n&&"expected separator",o):(g[0]=[m],g[1]=v,h&&f(h,d,g),g);for(v=b[1],y=[m];;){if($=a.parse(e,v,g,h),!$.length||$[1]===v){if("disallow"===r&&y&&y.length){if(2&n){const e=i();return l(e[0],e[1],o,[v,"unexpected separator"])}return l(v,1&n&&"unexpected separator",o)}break}if(x=v,v=$[1],m=$[0],b=u.parse(e,v,g),!b.length){if("require"===r)return l(x,1&n&&"expected separator",o);y.push(m);break}v=b[1],y.push(m)}return g[0]=y,g[1]=v,2&n&&(g[2]=s(o)),h&&f(h,d,g),g}))}function re(e,t,r="disallow",o){let i,a;return x((()=>(i=v(e),a=v(t))),(function(e,t,u,p){const g=p&&c(t,o);let d,h,y=t,m=y;if(h=i.parse(e,y,u,g),!h.length)return l(y,1&n&&`expected at least one ${o||"item"}`);{(d=[]).push(h[0]),m=y=h[1];const t=a.parse(e,y,u);if(t.length)for(y=t[1];;){if(h=i.parse(e,y,u,g),!h.length){if("disallow"===r&&d&&d.length)return u[0]=d,u[1]=m,g&&f(g,p,u),u;break}{d.push(h[0]),m=y=h[1];const t=a.parse(e,y,u);if(!t.length){if("require"===r)return l(y,1&n&&"expected separator",o);break}y=t[1]}}else if("require"===r)return l(y,1&n&&"expected separator",o)}return u[0]=d,u[1]=y,2&n&&(u[2]=s(o)),g&&f(g,p,u),u}))}function oe(e,t,o,i){const s=u(o)?o:u(i)?i:void 0;if(Array.isArray(e)){let r,o;const a=e.length;return x((()=>(o=v(t),r=e.map(v))),(function(e,t,u,p){const g=p&&c(t,s);let d,h;for(let n=0;n(i=v(e),a=v(t),l=v(o))),(function(e,t,o,u){let p;const g=u&&c(t,s),d=i.parse(e,t,o);if(!d.length)return d;const h=a.parse(e,d[1],o,g);if(!h.length)return h;2&n&&h[2]&&(p=h[2]);const y=h[0],m=l.parse(e,h[1],o);return m.length?(o[0]=y,g&&f(g,u,o),o):(2&n&&p&&function(e){(r[4]||(r[4]=[])).push(e)}(p),m)}))}}function ie(e,...t){let r,o;"string"!=typeof e?t.unshift(e):r=e;const i=t.length;return x((()=>o=t.map(v)),(function(e,t,a,u){const p=u&&c(t,r);let g,d,h,y=t;if(h=o[0].parse(e,y,a,p),!h.length){if(2&n){const e=A(d,s(r));return l(e[0],e[1],e[2],e[3],e[4])}return h}2&n&&h[2]&&(d||(d=[])).push(h[2]),(g=[]).push(h[0]),y=h[1];for(let t=1;tr=t.map(v)),(function(e,t,a,u){const p=u&&c(t,o);let g,d,h=t;if(d=r[0].parse(e,h,a),!d.length){if(2&n){const e=A(g,s(o));return l(e[0],e[1],e[2],e[3],e[4])}return d}2&n&&d[2]&&(g||(g=[])).push(d[2]),h=d[1];for(let t=1;te&&w(e)))),(e=>+w(e).replace(pe,""))),de=K(ie(J("\\"),function(e,t,r){const o=H(t),i=U(o);return{parse(t,s,a){if(t.length-s>=e){const u=t.substr(s,e);for(let t=0;tfe[e[1]]||e[1])),he=K(ie(J("\\u"),_(4,ce)),(e=>String.fromCharCode(parseInt(e[1],16)))),ye=K(ie(J("\\x"),_(2,ce)),(e=>String.fromCharCode(parseInt(e[1],16)))),me=B(oe(J('"'),K(ee(B("string part",I('"\\'),he,ye,de)),(e=>w(e))),J('"')),oe(J("'"),K(ee(B("string part",I("'\\"),he,ye,de)),(e=>w(e))),J("'"))),$e=K(J("true","false"),(e=>"true"===e)),be=K(J("null"),(()=>null)),ve=K(ie(P(ue),V(L(ue+le))),(([e,t])=>null!==t?e+t:e)),xe=E(" \t\n\r"),we={},Ae={},je=B("value",me,we,Ae,ge,$e,be),ke=K(ie(xe,B("key",me,ve),se(xe,J(":"),xe),je),(e=>[e[1],e[3]]));we.parser=oe(se(J("["),xe),ne(je,se(xe,J(","),xe),"allow"),se(xe,J("]"))),Ae.parser=K(oe(se(J("{"),xe),ne(ke,se(xe,J(","),xe),"allow"),se(xe,J("}"))),(e=>{const t=e.length,n={};for(let r=0;re[1])));const Me={y:0,m:0,w:0,d:864e5,h:36e5,mm:6e4,s:1e3};function Oe(e){return"object"==typeof e&&e&&"number"==typeof e.ms}function Ye(e){return"number"==typeof e?e:Oe(e)?e.ms:1e3*(60*(60*(24*(30.45*(12*(e.d[0]||0)+(e.d[1]||0))+(e.d[2]||0))+(e.d[3]||0))+(e.d[4]||0))+(e.d[5]||0))+(e.d[6]||0)}Me.w=7*Me.d,Me.y=Math.floor(365.25*Me.d),Me.m=Math.floor(30.45*Me.d);const De=" \r\n\t",ze=" \r\n\t():{}[]<>,\"'`\\;&#",Xe=ze+".+/*|^%=!?",Ce=K(ie(xe,J("//"),V(J(" ")),R("\n"),J("\n")),(([,,,e])=>({c:e})),{name:"comment",primary:!0});function Se(e,t){return K(ie(ee(Ce),xe,t),(([t,,n])=>(t&&t.length&&(n[e]=t.map((e=>e.c))),n)))}const Ne=function(e,t){const r=H(e),o=U(r);return{parse:(i,s,a)=>(a[1]=q(i,s,r,o),a[1]===s?l(s,1&n&&`expected at least one of ${JSON.stringify(e)}`,t):a)}}(De,"required-space"),Te=K(J("null","true","false","undefined"),(e=>{switch(e){case"null":return null;case"true":return!0;case"false":return!1;case"undefined":return}}),{primary:!0,name:"primitive"}),Fe=I(Xe,!0),Ue=I(" \r\n\t():{}[],\"'\\;&#@",!0),He={},qe={},Ee={},Le={},Pe={},_e={},Re={},Ie={n:"\n",r:"\r",t:"\t",b:"\b"},Je=K(ie(J("\\"),_(1)),(([,e])=>Ie[e]||e)),Ze=K(te(B("ref-part",I(Xe,!0),Je)),(e=>e.join("")),"keypath-part"),Ve=K(ie(J("."),Ze),(([,e])=>e)),We=oe(ie(J("["),xe),Pe,ie(xe,J("]"))),Be=K(ie(B("ref-sigil",J("!","~","*"),ie(L("^"),V(J("@",".")))),B("keypath",Ze,We),ee(B("keypath",Ve,We))),(([e,t,n])=>{const r={k:[t].concat(n).map((e=>"object"!=typeof e||!("v"in e)||"string"!=typeof e.v&&"number"!=typeof e.v?e:e.v))};return Array.isArray(e)?(e[0]&&(r.u=e[0].length),"@"===e[1]&&(r.p="@")):e&&(r.p=e),r}),"keypath"),Ge=K(ie(L("^"),Ze,ee(B("keypath",Ve,We))),(([e,t,n])=>{const r={k:[t].concat(n).map((e=>"object"!=typeof e||!("v"in e)||"string"!=typeof e.v&&"number"!=typeof e.v?e:e.v))};return e&&(r.u=e.length),r}),"localpath"),Ke=$(Be),Qe=$(Ge),et=["if","else","elif","elseif","elsif","fi","esac","unless","then","case","when","not","gte","gt","lte","lt","in","like","ilike","not-in","not-like","not-ilike","contains","does-not-contain","is-not","is","strict-is-not","strict-is","deep-is-not","deep-is","and","or","end","with","each"],tt=K(Be,((e,t)=>(1!==e.k.length||e.p||e.u||!et.includes(e.k[0])||t(`invalid reference name '${e.k[0]}'`),{r:e})),{primary:!0,name:"reference"});function nt(e){const t=e.reduce(((e,t)=>(e.length&&"v"in t&&"v"in e[e.length-1]&&"string"==typeof t.v&&"string"==typeof e[e.length-1].v?e[e.length-1].v+=t.v:e.push(t),e)),[]);return t.length>0&&(!("v"in t[0])||"string"!=typeof t[0].v)&&t.unshift({v:""}),0===t.length?{v:""}:1===t.length?t[0]:{op:"+",args:t}}const rt=K(re(ie(ge,xe,Z("years","year","y","months","month","minutes","minute","milliseconds","millisecond","mm","ms","m","weeks","week","w","days","day","d","hours","hour","h","seconds","second","s")),xe),(e=>{const t={y:0,m:0,d:0,h:0,mm:0,s:0,ms:0};for(let n=0;n{if("z"===e[1][0])return 0;{let t;return 4===e[1][1].length?t=60*+e[1][1].substr(0,2)+ +e[1][1].substr(2,2):(t=60*+e[1][1],e[1][2]&&(t+=+e[1][2][1])),"-"===e[1][0]&&(t*=-1),t}})),it=B(K(ie(P(le),V(ie(J(":"),_(2,le),V(ie(J(":"),_(2,le),V(ie(J("."),_(3,le)))))))),(e=>{const t=e[0],n=e[1]&&e[1][1],r=n&&e[1][2]&&e[1][2][1],o=r&&e[1][2][2]&&e[1][2][2][1],i=[+t];return n&&(i[1]=+n),r&&(i[2]=+r),o&&(i[3]=+o),i})),K(Z("start","midnight"),(()=>[0,0,0,0])),K(Z("noon","mid"),(()=>[12,0,0,0])),K(Z("end"),(()=>[23,59,59,999]))),st=$(B(K(ie(it,V(ie(xe,ot))),(([e,t])=>(t&&e.push(t[1]),e))),ot),{trim:!0,consumeAll:!0,undefinedOnError:!0}),at=V(ie(xe,J(">"))),lt=B("date",K(ie(V(Z("last","this","next")),Ne,Z("week","month","year"),V(ot),at),(([e,,t,n,r])=>{const o={f:"w"===t[0]?"w":"m"===t[0]?"m":"y",o:"last"===e?-1:"next"===e?1:0,e:r?1:void 0};return null!=n&&(o.z=n),o})),K(ie(Z("week","month","year"),ie(Ne,Z("to"),Ne,Z("date")),V(ot),at),(([e,,t,n])=>{const r={f:"w"===e[0]?"w":"m"===e[0]?"m":"y",o:0,d:1,e:n?1:void 0};return null!=t&&(r.z=t),r})),K(ie(Z("yesterday","today","tomorrow"),B(oe(xe,Z("at"),xe),Ne),it,xe,V(ot)),(e=>{const t={f:"d",o:"yesterday"===e[0]?-1:"today"===e[0]?0:1,t:e[2]};return null!=e[4]&&(t.t[4]=e[4]),t})),K(ie(Z("yesterday","today","tomorrow","now"),V(ot),at),(([e,t,n])=>{const r="now"===e?{f:"n",o:0}:{f:"d",o:"yesterday"===e?-1:"today"===e?0:1,e:n?1:void 0};return null!=t&&(r.z=t),r})),K(ie(Z("in"),Ne,rt),(e=>"number"==typeof e[2]||Oe(e[2])?{f:"n",o:Ye(e[2])}:{f:"n",o:e[2].d})),K(ie(rt,Ne,B("relative time anchor",Z("ago"),ie(Z("from"),Ne,Z("now"))),V(ot)),(([e,,t,n])=>{let r;return r="number"==typeof e||Oe(e)?{f:"n",o:Ye(e)*("ago"===t?-1:1)}:{f:"n",o:e.d,d:"ago"===t?-1:void 0},null!=n&&(r.z=n),r})));function ut(e,t,n){return null==n||(e[t]=n),e}const ct=K(ie(_(4,le),V(ie(_(1,"-/"),P(le),V(ie(_(1,"-/"),P(le))))),V(ie(B(oe(Ne,Z("at"),Ne),Z("t"),Ne),it)),V(ot),at),(e=>{const t=e[0],n=e[1]&&e[1][1],r=n&&e[1][2]&&e[1][2][1],o=e[2]&&e[2][1],i=e[3],s=e[4]?1:void 0;if(n){if(r){if(o){const e={f:[+t,+n-1,+r],e:s};for(let t=0;t({v:e,s:1})),{name:"typelit",primary:!0}),gt=$(K(ie(V(J("#")),B("date",ct,lt,rt),V(J("#"))),(([,e])=>e)),{trim:!0,consumeAll:!0,undefinedOnError:!0}),dt=B({primary:!0,name:"string"},K(ie(J(":"),I(ze,!0)),(e=>({v:e[1]}))),K(oe(J('"'),ee(B("string-part",I('\\"'),de,he,ye)),J('"')),(e=>({v:"".concat(...e)}))),K(oe(J("'"),ee(B("string-part",K(I("'\\${",!0),(e=>({v:e}))),K(J("\\$","$$"),(()=>({v:"$"}))),oe(J("${","{"),Pe,J("}"),{primary:!0,name:"string-interpolation"}),K(J("$","{"),(e=>({v:e}))),K(he,(e=>({v:e}))),K(ye,(e=>({v:e}))),K(de,(e=>({v:e}))))),J("'")),nt),K(oe(J("`"),ee(B("string-part",K(I("`\\${",!0),(e=>({v:e}))),K(J("\\$","$$"),(()=>({v:"$"}))),oe(J("${"),Pe,J("}"),{primary:!0,name:"string-interpolation"}),K(J("$","{"),(e=>({v:e}))),K(he,(e=>({v:e}))),K(ye,(e=>({v:e}))),K(de,(e=>({v:e}))))),J("`")),nt)),ht=K(B("literal",K(ge,(e=>e),{primary:!0,name:"number"}),Te,ft),(e=>e instanceof Date||null==e||"object"!=typeof e?{v:e}:e)),yt=K(oe(se(J("("),xe),ie(Ue,xe,He),se(xe,J(")"))),(([e,,t])=>{const n={op:e};return t[0]&&t[0].length&&(n.args=t[0]),t[1]&&(n.opts=t[1]),n}),{primary:!0,name:"s-expression"});function mt(e){return oe(ie(J("("),xe),e,ie(xe,J(")")))}const $t={},bt={},vt={},xt=P("abcdefghifghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_$0123456789"),wt=K(ie(Q(xt,"op"),mt(He)),(([e,t])=>{const n={op:e};return t[0]&&t[0].length&&(n.args=t[0]),t[1]&&(n.opts=t[1]),n}),{primary:!0,name:"call"}),At=function(e){return K(ie(e,ee(ie(J("#"),Fe,V(B(K(ie(J(","),re(Pe,J(","),"allow")),(([,e])=>[e,void 0])),mt(He)))),{primary:!0,name:"format-op"})),(([e,t])=>t&&t.length?t.reduce(((e,t)=>t[2]?{op:"fmt",args:[e,{v:t[1]},...t[2][0]||[]],opts:t[2][1]}:{op:"fmt",args:[e,{v:t[1]}]}),e):e),"fmt-op")}(function(e){return K(ie(e,ee(B("keypath",Ve,We))),(([e,t])=>t.length?{op:"get",args:[e,{v:{k:t}}]}:e),"postfix-path-op")}(B("operand",mt(Re),mt(bt),mt(vt),G(mt($t),(e=>"op"in e||"expected bracketed op")),yt,_e))),jt=K(ie(J("not ","+"),At),(([e,t])=>({op:"+"===e?e:"not",args:[t]})),"unary op");function kt(e,[,t,,n]){return{op:t,args:[e,n]}}const Mt=K(ie(At,ee(ie(Ne,Q(J("**"),"exp op"),Ne,At))),(([e,t])=>t.length?function(e,t){if(1===t.length)return{op:t[0][1],args:[e,t[0][3]]};const n=t.pop();let r=t[t.length-1][1];const o={op:n[1],args:[t.pop()[3],n[3]]},i=t.reverse().reduce(((e,t)=>{const n={op:r,args:[t[3],e]};return r=t[1],n}),o);return{op:r,args:[e,i]}}(e,t):e),"exp-op"),Ot=K(ie(Mt,ee(ie(Ne,Q(J("*","/%","/","%"),"muldiv-op"),Ne,Mt))),(([e,t])=>t.length?t.reduce(kt,e):e),"muldiv-op"),Yt=K(ie(Ot,ee(ie(Ne,Q(J("+","-"),"addsub-op"),Ne,Ot))),(([e,t])=>t.length?t.reduce(kt,e):e),"addsub-op"),Dt=K(ie(Yt,ee(ie(Ne,Q(J(">=",">","<=","<","gte","gt","lte","lt","in","like","ilike","not-in","not-like","not-ilike","contains","does-not-contain"),"cmp-op"),Ne,Yt))),(([e,t])=>t.length?t.reduce(kt,e):e),"cmp-op"),zt=K(ie(Dt,ee(ie(Ne,Q(J("is-not","is","strict-is-not","strict-is","deep-is-not","deep-is","===","==","!==","!="),"eq-op"),Ne,Dt))),(([e,t])=>t.length?t.reduce(kt,e):e),"eq-op"),Xt=K(ie(zt,ee(ie(Ne,Q(J("and","&&"),"and-op"),Ne,zt))),(([e,t])=>t.length?t.reduce(kt,e):e),"and-op"),Ct=K(ie(Xt,ee(ie(Ne,Q(J("or","||","??"),"or-op"),Ne,Xt))),(([e,t])=>t.length?t.reduce(kt,e):e),"or-op");function St(e){if(!e.args||!e.args.length)return!1;let t=!1;for(let n=0;ne),{primary:!0,name:"binary-op"}),bt.parser=B({primary:!0,name:"conditional"},K(ie(J("if"),Ne,Pe,Ne,Ee,ee(ie(xe,J("else if","elseif","elsif","elif"),Ne,Pe,Ne,Ee)),V(ie(xe,J("else"),Ne,Ee))),(([,,e,,t,n,r])=>{const o={op:"if",args:[e,t]};for(const[,,,e,,t]of n)o.args.push(e,t);return r&&o.args.push(r[3]),o}),"if-block"),K(ie(J("if"),Ne,Pe,Ne,J("then"),Ne,Pe,ee(ie(Ne,W(J("end","fi")),J("else if","elseif","elsif","elif"),Ne,Pe,Ne,J("then"),Ne,Pe)),V(ie(Ne,J("else"),Ne,Pe)),V(ie(Ne,J("end","fi")))),(([,,e,,,,t,n,r])=>{const o={op:"if",args:[e,t]};for(const[,,,,e,,,,t]of n)o.args.push(e,t);return r&&o.args.push(r[3]),o}),"if"),K(ie(J("unless"),Ne,Pe,Ne,J("then"),Ne,Pe,V(ie(Ne,J("else"),Ne,Pe)),V(ie(Ne,J("end")))),(([,,e,,,,t,n])=>{const r={op:"unless",args:[e,t]};return n&&r.args.push(n[3]),r})));const Nt=B(K(ie(Ne,W(J("end","esac")),J("when"),Ne,Pe,Ne,J("then"),Ne,Pe),(([,,,,e,,,,t])=>[e,t]),"when-branch"),K(ie(Ne,W(J("end","esac")),J("else"),Ne,Pe),(([,,,,e])=>[void 0,e]),"else-branch"),K(ie(Ne,W(J("end","esac")),J("when"),Ne,Pe,Ne,Ee),(([,,,,e,,t])=>[e,t]),"when-block"));vt.parser=B(K(ie(J("case"),Ne,Pe,ee(Nt),V(ie(Ne,J("end","esac")))),(([,,e,t])=>{const n={op:"case",args:[e]};for(let e=0;e({v:e})))),xe,J(":"),xe,Pe),(e=>[e[0],e[4]]),"pair");function Ut(e){return e.filter((e=>!("v"in e[0]&&"v"in e[1]))).length?{op:"object",args:e.reduce(((e,t)=>(e.push(t[0],t[1]),e)),[])}:{v:e.reduce(((e,t)=>(e[t[0].v]=t[1].v,e)),{})}}qe.parser=K(oe(se(xe,J("["),xe),ne(Pe,P(" \r\n\t,"),"allow"),se(xe,J("]"))),(e=>e.filter((e=>!("v"in e))).length?{op:"array",args:e}:{v:e.map((e=>e.v))}),{primary:!0,name:"array"}),Le.parser=K(oe(se(xe,J("{"),xe),ne(Ft,P(" \r\n\t,"),"allow"),se(xe,J("}"))),Ut,{primary:!0,name:"object"}),Ee.parser=K(oe(se(xe,J("{"),xe),re(Pe,P(" \r\n\t;"),"allow"),se(xe,J("}"))),(e=>({op:"block",args:e})),{primary:!0,name:"block"}),Pe.parser=v(Se("c",Tt));const Ht=K(ie(Fe,J(":"),xe,Pe),(([e,,,t])=>[{v:e},t]),"named-arg");Re.parser=K(ie(V(oe(se(J("|"),xe),re(xt,P(" \r\n\t,"),"allow"),J("|"))),xe,J("=>","=\\"),xe,Pe),(([e,,,,t])=>e?{a:t,n:e}:{a:t}),{primary:!0,name:"application"}),He.parser=K(ne(B("argument",Ht,Pe),P(" \r\n\t,"),"allow"),(e=>{const[t,n]=e.reduce(((e,t)=>(Array.isArray(t)?e[1].push(t):e[0].push(t),e)),[[],[]]);return n.length?[t,Ut(n)]:[t,void 0]}));const qt=K(ie(J("let"),Ne,Q(Ge,{name:"reference",primary:!0}),xe,J("="),xe,Pe),(([,,e,,,,t])=>({op:"let",args:[{v:e},t]})),{primary:!0,name:"let"}),Et=K(ie(J("set"),Ne,Q(Be,{name:"reference",primary:!0}),xe,J("="),xe,Pe),(([,,e,,,,t])=>({op:"set",args:[{v:e},t]})),{primary:!0,name:"set"});_e.parser=B("expression",qe,Le,ht,pt,dt,Re,jt,wt,qt,Et,tt,Ee);const Lt=$(K(re(Pe,P(" \r\n\t;"),"allow"),(e=>1===e.length?e[0]:{op:"block",args:e,opts:{v:{implicit:1}}}),"expression-sequence"),{trim:!0}),Pt=$(Pe,{trim:!0}),_t=Lt;function Rt(){const e={},t=V(ie(xe,re(K(ie(Q(J("?"),{name:"condition",primary:!0}),xe,Re),(([,,e])=>e)),Ne,"disallow"))),n=K(ie(J("string[]","number[]","boolean[]","date[]","any","string","number","boolean","date"),W(I(Xe))),(([e])=>({type:e})),{name:"type",primary:!0}),r=Se("c",K(ie(J("type"),xe,Q(Fe,{name:"type",primary:!0}),xe,J("="),xe,e),(([,,e,,,,t])=>({name:e,type:t})))),o=K(re(r,P(" \t\n;"),"allow"),(e=>e.reduce(((e,t)=>(t.type.desc=t.c,e[t.name]=t.type,e)),{}))),i=K(ie(Fe,V(J("[]"))),(([e,t])=>({type:t?"array":"any",ref:e})),{name:"type",primary:!0}),s=K(ie(Q(Fe,{name:"key",primary:!0}),V(J("?")),xe,J(":"),xe,e),(([e,t,,,,n])=>{const r=n;return r.name=e,t||(r.required=!0),r})),a=B({name:"literal",primary:!0},K(B(me,ge),(e=>({type:"literal",literal:e}))),K(J("true","false","null","undefined"),(e=>({type:"literal",literal:"true"===e||"false"!==e&&("null"===e?null:void 0)})))),l=K(ie(J("..."),xe,J(":"),xe,e),(([,,,,e])=>Object.assign({name:"..."},e))),u=K(ie(J("{"),xe,ne(Se("desc",B(s,l)),P(" \t\n,;"),"allow"),xe,J("}"),V(J("[]"))),(([,,e,,,t],n)=>{const r=e.filter((e=>"..."===e.name));if(!(r.length>1)){const n=r[0],o={type:t?"object[]":"object"};return(e=e.filter((e=>"..."!==e.name))).length&&(o.fields=e),n&&(delete n.name,o.rest=n),o}n("only one object rest can be specified")})),c=K(ie(J("["),xe,ne(e,P(" \t\r\n,"),"allow"),xe,J("]"),V(J("[]"))),(([,,e,,,t])=>({type:t?"tuple[]":"tuple",types:e}))),f=K(re(ie(B(n,u,c,a,i),t),ie(xe,J("|"),xe),"disallow"),(e=>{const t=e.map((([e,t])=>(t&&t[1]&&t[1].length&&(e.checks=t[1]),e)));return 1===t.length?t[0]:{type:"union",types:t}})),p=B(K(ie(J("Array<"),xe,f,xe,J(">")),(([,,e],t)=>{if("union"===e.type)return{type:"union[]",types:e.types};if("literal"===e.type)t("literal types cannot be array types");else if("array"===e.type||~e.type.indexOf("[]"))t("array types cannot be array types");else{if("any"!==e.type)return e.type+="[]",e;t("any cannot be an array type")}})),K(ie(J("("),xe,f,xe,J(")")),(([,,e])=>e)),f);e.parser=K(ie(p,t),(([e,t])=>(t&&t[1]&&t[1].length&&(e.checks=t[1]),e)));const g=K(ie(V(o),xe,e),(([e,,t])=>(e&&(t.defs=e),t)));return g}const It=B(K(J("\\{{"),(()=>"{{")),K(ie(J("\\"),_(1)),(([,e])=>e))),Jt=K(te(B(I("\\{",!0),It,function(e,t,r){let o,i;return x((()=>(o=v(e),i=v(t))),(function(e,t,s,a){const u=a&&c(t,r),p=o.parse(e,t,s,u);if(!p.length)return p;const g=p[1];return i.parse(e,g,s).length?l(g,1&n&&`unexpected ${e.slice(g,p[1])}`,r):(u&&f(u,a,p),p)}))}(J("{"),J("{")))),(e=>({v:e.join("")})),"text");function Zt(e){return K(ie(J("{{"),xe,J(...e),Ne,Pe,xe,J("}}")),(e=>[e[2],e[4]]),"tag")}const Vt=Q(se(ie(J("{{/"),R("}"),J("}}"))),"tag end"),Wt={};function Bt(e,t){return t?K(Zt(e),(([e,t])=>({name:e,value:t}))):K(ie(J("{{"),xe,J(...e),xe,J("}}")),(([,,e])=>({name:e})),"tag")}function Gt(e){return K(e,(e=>e.length<1?[{v:""}]:e))}const Kt=Bt(["else"]),Qt=Bt(["else if","elseif","elsif","elif"],!0),en=K(ie(Zt(["each"]),Gt(ee(B(Qt,Kt,Wt))),Vt),(([e,t])=>({op:"each",args:[e[1]].concat(ln(un(t)))})),{primary:!0,name:"each-block"}),tn=K(ie(Zt(["if"]),Gt(ee(B(Qt,Kt,Wt))),Vt),(([e,t])=>({op:"if",args:[e[1]].concat(un(t))})),{primary:!0,name:"if-block"}),nn=K(ie(Zt(["with"]),Gt(ee(B(Kt,Wt))),Vt),(([e,t])=>({op:"with",args:[e[1]].concat(ln(un(t)))})),{primary:!0,name:"with-block"}),rn=K(ie(Zt(["unless"]),Gt(ee(Wt)),Vt),(([e,t])=>({op:"unless",args:[e[1]].concat(cn(t))})),{primary:!0,name:"unless-block"}),on=K(ie((sn=["case"],K(ie(J("{{"),xe,J(...sn),Ne,Pe,Ne,J("when"),Ne,Pe,J("}}")),(e=>[e[2],e[4],e[8]]),"tag")),Gt(ee(B(Bt(["when"],!0),Kt,Wt))),Vt),(([e,t])=>{const n={op:"case",args:e.slice(1).concat(un(t))};for(let e=1;e({op:"string",args:[e]})),{primary:!0,name:"interpolator"});function ln(e){return e.length&&(e[0]={a:e[0]}),e}function un(e){const t=[];let n=[],r=!1;for(let o=0;ocn(e))),K(xe,(()=>({v:""})))),{trim:!0});function pn(e){if(Array.isArray(e))return{value:e};if(e&&"object"==typeof e){for(const t in e)if("schema"!==t&&"value"!==t)return{value:e};return e}return{value:e}}function gn(e,t){if(!t)return e.value;const n="string"==typeof t?Ke(t):t;if(!("error"in n)&&"k"in n){let t=n.k;const r=n.p;let o=0,i=e,s=e.value;for(let e=0;e"object"!=typeof t?t:bn(e,t)));if(r)a=e.locals||(e.locals={});else if(i){if("~"!==i)return;a=e.root.value}if(!r){const e=l[0];for(;s&&(!s.locals||!(e in s.locals));)s=s.parent;s&&(a=s.locals)}const u=l.length-1;for(let e=0;e(e[t]=n[r],e)),{});o.locals=e}return i=bn(o,t.a),i}{const o=$n(Tn(e,{value:n[0],special:r,fork:!e.locals}),t);return zn(o)?mn(e,o,n,r):o}}function $n(e,t){return"string"==typeof t&&(t=e.root.exprs[t]||(e.root.exprs[t]=(e.parser||_t)(t))),"object"!=typeof t&&(t={v:t}),bn(e,t)}function bn(e,t){return t?"r"in t?gn(e,t.r):"v"in t?t.v:"op"in t?function(e,t){const n=vn[t.op];if(!n){const n=gn(e,t.op)||gn(e.root,t.op);if(zn(n))return mn(e,n,(t.args||[]).map((t=>$n(e,t))));if("pipe"===t.op){if(!t.args||!t.args.length)return!0;let n=$n(e,t.args[0]);for(let r=1;rYn(e)&&On(e)))||(o=Object.assign({},o,{args:[{r:{k:["pipe"],p:"@"}}].concat(o.args||[])})),n=zn(o)?mn(e,o,[n]):$n(Tn(e,{special:{pipe:n}}),o)}return n}return!0}let r;if("checked"===n.type){r=[];const o=t.args||[],i=n.extend?Tn(e,{}):e,s=t.opts?$n(i,t.opts):void 0;for(let e=0;e$n(e,t))),n.apply(t.op,r,t.opts?$n(e,t.opts):void 0,e);{let r;const o=n.extend?Tn(e,{}):e,i=(t.args||[]).slice(),s=t.opts?$n(o,t.opts):void 0;let a;if(!n.value&&(a=$n(o,i[0]),Array.isArray(a)?(i.shift(),r=a):"object"==typeof a&&"value"in a&&Array.isArray(a.value)&&(i.shift(),r=a.value),!r)){const e=bn(o,{r:"@source"});r=Array.isArray(e)?e:"object"==typeof e&&"value"in e&&Array.isArray(e.value)?e.value:[]}return n.apply(t.op,Array.isArray(r)?r:[],i,s,o)}}(e,t):zn(t)||En(t)||_n(t)?t:void 0:t}const vn={};function xn(...e){for(const t of e)for(const e of t.names)vn[e]=t}function wn(e){return vn[e]}const An=(e,t,n)=>mn(e,t,[n]);function jn(e,t,n,r){let o;if(Array.isArray(n))o=n;else if(zn(n))o=[n];else if("object"==typeof n&&n&&"by"in n)o=[n];else{const t=$n(e,n);Array.isArray(t)?o=t:"string"==typeof t?o=[{v:t}]:"string"==typeof n&&(o=[n])}if(o){let e;for(let t=0;t{if("object"==typeof t&&"by"in t){if("desc"in t)return"boolean"==typeof t.desc?t.desc:$n(e,t.desc);if("dir"in t){const n="string"==typeof t.dir?t.dir.toLowerCase():t.dir,r="asc"===n||"desc"===n?n:$n(e,t.dir);if("desc"===("string"==typeof r?r.toLowerCase():r))return!0}}return!1}));t.sort(((t,i)=>{for(let s=0;sf?1:0;if(p)return(l?-1:1)*p}return 0}))}return t}function kn(e,t,n,r,o){const i=Array.isArray(e)?{value:e}:e;if(!i||!Array.isArray(i.value))return i;let s;s=o?Sn(o)?Tn(o,{special:{source:i.value}}):new Nn(o):new Nn(i.value,{special:{source:i}});const a=t?[]:i.value.slice();if(t){let e="string"==typeof t?_t(t):t;"m"in e&&(e={v:!0}),i.value.forEach(((t,n)=>{mn(Tn(s,{value:t,special:{value:t,index:n}}),e,[t,n])&&a.push(t)}))}return n&&jn(s,a,n),r&&!Array.isArray(r)&&(r=[r]),Array.isArray(r)&&r.length?{value:{schema:i.schema,grouped:r.length,level:0,value:Mn(a,r,s,1),all:a}}:Array.isArray(e)?a:{schema:i.schema,value:a}}function Mn(e,t,n,r=0){const o={},i=[],s=[];for(const r of e){const e=zn(t[0])?`${mn(n,t[0],[r])}`:`${$n(Tn(n,{value:r}),t[0])}`;o[e]||(s.push(e),o[e]=[]),o[e].push(r)}for(const e of s)i.push({group:e,grouped:t.length-1,value:t.length>1?Mn(o[e],t.slice(1),n,r+1):o[e],all:o[e],level:r});return i}function On(e){const t=function(e){if("object"==typeof e.r)return e.r;const t=Ke(e.r);return"k"in t?t:{k:[]}}(e);return"_"===t.k[0]||"@"===t.p&&"pipe"===t.k[0]}function Yn(e){return"object"==typeof e&&"r"in e}function Dn(e){return"object"==typeof e&&"string"==typeof e.op}function zn(e){if("object"!=typeof e||!("a"in e)||"object"!=typeof e.a)return!1;const t=Object.keys(e).length;return 1===t||2===t&&"n"in e}function Xn(e){return"string"==typeof e||Cn(e)}function Cn(e){return"object"==typeof e&&e&&("r"in e&&"string"==typeof e.r||"op"in e&&"string"==typeof e.op||"v"in e||zn(e))}function Sn(e){return"object"==typeof e&&"string"==typeof e.path&&"object"==typeof e.root&&"value"in e&&("object"==typeof e.parent||e.root===e)}class Nn{constructor(e={},t){this.root=this,this.parameters={},this.sources={},this.special={},this.exprs={},this.path="",this.value=e,t&&(Object.assign(this.parameters,t.parameters),Object.assign(this.special,t.special),t.parser&&(this.parser=t.parser))}}function Tn(e,t){return{parent:t.fork?e.parent||e.root:e,root:e.root,path:t.path||"",value:"value"in t?t.value:e.value,special:t.fork?Object.assign({},e.special,{pipe:void 0},t.special):t.special||{},parser:t.parser,locals:t.locals}}const Fn={},Un={};function Hn(e,t,n={}){Array.isArray(e)?e.forEach((e=>Fn[e]={apply:t,defaults:n})):Fn[e]={apply:t,defaults:n}}function qn(e){if(e instanceof Date)return[e,e];let t=new Date,n="d"in e&&e.d?new Date:void 0;t.setUTCFullYear(t.getFullYear(),t.getMonth(),t.getDate()),t.setUTCHours(0,0,0,0);let r="z"in e&&null!=e.z?e.z:null;if("n"===e.f)t="number"==typeof e.o?new Date(+new Date+e.o):Rn(new Date,{d:e.o},"d"in e?e.d:1),n=t,r=void 0;else if("d"===e.f){if(t.setUTCDate(t.getUTCDate()+e.o),n||(n=new Date(t)),"t"in e){const o=e.t;t.setUTCHours(o[0],o[1]||0,o[2]||0,o[3]||0),n.setUTCHours(o[0],null==o[1]?59:o[1],null==o[2]?59:o[2],null==o[3]?999:o[3]),null!=o[4]&&(r=o[4])}}else if("w"===e.f)t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+(-1===e.o?7:1===e.o?-7:0))),n||(n=new Date(t),n.setDate(t.getUTCDate()+6)),"z"in e&&null!=e.z&&(r=e.z);else if("m"===e.f)t.setUTCDate(1),t.setUTCMonth(t.getUTCMonth()+e.o),n||(n=new Date(t),n.setUTCMonth(t.getUTCMonth()+1),n.setUTCDate(0));else if("y"===e.f)t.setUTCDate(1),t.setUTCMonth(0),t.setUTCDate(1),n||(n=new Date(t),n.setUTCFullYear(t.getUTCFullYear()+1),n.setUTCDate(0));else if(Array.isArray(e.f)){const o=e.f.slice();t=new Date(Date.UTC(o[0],o[1]||0,o[2]||1,o[3]||0,o[4]||0,o[5]||0,o[6]||0));for(let e=1;e<7;e++)if(null==o[e]){o[e-1]++;break}null!=o[6]&&o[6]++,n=new Date(Date.UTC(o[0],o[1]||0,o[2]||1,o[3]||0,o[4]||0,o[5]||0,o[6]||0)),n.setUTCMilliseconds(n.getUTCMilliseconds()-1),null!=o[7]&&(r=o[7])}if("d"!==e.f&&"w"!==e.f&&"m"!==e.f&&"y"!==e.f||n.setUTCHours(23,59,59,999),void 0!==r)if(null!=r)t.setUTCMinutes(t.getUTCMinutes()-r),t!==n&&n.setUTCMinutes(n.getUTCMinutes()-r);else{const e=t.getTimezoneOffset();t.setUTCMinutes(t.getUTCMinutes()+e),t!==n&&n.setUTCMinutes(n.getUTCMinutes()+e)}return[t,n]}function En(e){return e&&"object"==typeof e&&("f"in e&&(Array.isArray(e.f)||"o"in e)||e instanceof Date)}function Ln(e){const t=qn(e);return"e"in e&&null!=e.e?t[1]:t[0]}function Pn(e){if(!e)return;if((t=e)&&"object"==typeof t&&"f"in t&&Array.isArray(t.f))return e;var t;const n=Ln(e),r=n.getTimezoneOffset(),o="z"in e&&null!=e.z?e.z:"f"in e&&"d"===e.f&&"t"in e&&null!=e.t[4]?e.t[4]:null;return e instanceof Date&&null!=o&&n.setMinutes(n.getMinutes()-(r+o)),{f:[n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds(),null!=o?o:-r]}}function _n(e){return"number"==typeof e||"object"==typeof e&&Array.isArray(e.d)||Oe(e)}function Rn(e,t,n){if("number"==typeof t)return new Date(+e+t*n);if(Oe(t))return new Date(+e+t.ms*n);{let r=new Date(e);if(t.d[0]&&r.setFullYear(r.getFullYear()+t.d[0]*n),t.d[1]){const e=r.getDate();r.setDate(1),r.setMonth(r.getMonth()+t.d[1]*n);const o=r.getMonth();r.setDate(e),o!==r.getMonth()&&r.setDate(0)}return t.d[2]&&r.setDate(r.getDate()+t.d[2]*n),t.d[3]&&r.setHours(r.getHours()+t.d[3]*n),t.d[4]&&r.setMinutes(r.getMinutes()+t.d[4]*n),t.d[5]&&r.setSeconds(r.getSeconds()+t.d[5]*n),t.d[6]&&r.setMilliseconds(r.getMilliseconds()+t.d[6]*n),r}}function In(e,t,n){e.styles[t]||(e.styles[t]=n)}function Jn(e,t,n="Widget overflow error"){return In(e,"error",".error { position: absolute; box-sizing: border-box; color: red; border: 1px dotted; width: 100%; height: 2rem; padding: 0.5rem; }"),{output:`
${n}
`,height:2}}function Zn(e){return e&&"object"==typeof e&&Xn(e.x)}function Vn(e,t){return Zn(e)?e.x?hn(t,e.x):void 0:e}function Wn(e,t){return{report:e.report,context:Tn(e.context,t),styles:e.styles,styleMap:e.styleMap}}const Bn=/[><&]/g,Gn={"<":"<",">":">","&":"&"};function Kn(e){return(""+e).replace(Bn,(e=>Gn[e]||""))}const Qn={};function er(e,t,n){Qn[e]="function"==typeof t?{render:t}:t,n&&Object.assign(Qn[e],n)}const tr=7.4,nr=6.7,rr=7.85,or=5.9;let ir=function(e,t,n,r){const o=r&&Vn(r.family,n)||"sans",i=r&&Vn(r.size,n)||.83,s=(r&&Vn(r.metric,n)||("mono"===o||/fixed|mono/i.test(o)?rr:"narrow"===o||/narrow|condensed/i.test(o)?or:"sans"===o||/sans|arial|helvetica/i.test(o)?tr:nr))*i/16;return e.split(/\r?\n/g).reduce(((e,n)=>{const[r,o]=n.split(/\s/g).reduce(((e,n)=>{const r=(n.length+1)*s;return e[0]+r>t?(e[0]=r,e[1]++):e[0]+=r,e}),[0,0]);return e+(o+(r>0?1:0)||1)}),0)*i};function sr(e,t,n,r){const o=Qn[e.type];if(!o||e.hide&&hn(Tn(t.context,{special:{widget:e,placement:n}}),e.hide))return{output:"",height:0};!("height"in e)&&o.container&&(e.height="auto");const i=pr(e,n,t);if(n.maxY&&!isNaN(i)&&i>n.maxY)return Jn(t,n);if(n.availableY&&i>n.availableY)return{output:"",continue:{offset:0},cancel:!0};let s=0;if(e.margin){const r=hr(e,t,n);s+=r[0]+r[2],n.availableY&&(n.availableY-=r[0]+r[2])}if(e.border&&!i){const r=yr(e,t,n);s+=r[0]+r[2]}const a=o.render(e,t,n,r);return"string"==typeof a?{output:a,height:i,width:cr(e,n,t)}:n.maxY&&a.height>n.maxY?Jn(t,n):isNaN(i)&&n.availableY&&a.height>n.availableY?{output:"",continue:{offset:0},height:a.height,cancel:!0}:(a.height=a.height||0,a.height+=s,a)}const ar={};function lr(e,t){ar[e]=t}function ur(e,t,n){let r=Zn(e.width)?hn(Tn(n.context,{special:{widget:e,placement:t}}),e.width.x):e.width;const o=e.margin&&hr(e,n,t);let i=!1;return"grow"===r?r=t.availableX||t.maxX:r||0===r?"number"==typeof r||(r=+(r.percent/100*(t.maxX||51)).toFixed(4),i=!0):r=t.maxX||51,"number"!=typeof r||"contain"!==e.box&&(!i&&r!==t.availableX||"expand"===e.box)||(o?r-=o[1]+o[3]:e.font&&e.font.right&&(r-=e.font.right)),r}function cr(e,t,n){let r=ur(e,t,n);if(e.margin){const o=hr(e,n,t);r+=o[1]+o[3]}else e.font&&e.font.right&&(r+=e.font.right);return r}function fr(e,t,n,r,o){let i=1,s=Zn(e.height)?hn(Tn(n.context,{special:{widget:e,placement:t,computed:r,linesize:o}}),e.height.x):e.height;const a=e.margin&&hr(e,n,t),l=e.border&&yr(e,n,t);let u=!1;if(null==s&&o&&(s=function(e){let t=e.height||1;if(e.font&&e.font.size>t&&(t=e.font.size),"text"in e&&Array.isArray(e.text))for(let n=0;nt&&(t=r.font.size)}return t}(e)),"number"==typeof s)i=s;else if(s&&"object"==typeof s&&"percent"in s&&s.percent&&t.maxY)i=+(t.maxY*(s.percent/100)).toFixed(4),u=!0;else if("grow"===s)i=t.availableY||0;else if("auto"===s||"string"==typeof s||null==s&&"container"===e.type||r&&!s)return l?r+l[0]+l[2]||NaN:r||NaN;return"number"!=typeof i||"contain"!==e.box&&(!u&&i!==t.availableY||"expand"===e.box)||a&&(i-=a[0]+a[2]),i}function pr(e,t,n,r,o){let i=fr(e,t,n,r,o);if(e.margin){const r=hr(e,n,t);i+=r[0]+r[2]}return i}function gr(e){return e.reduce(((e,t)=>e>t[1]+t[3]?e:t[1]+t[3]),0)}function dr(e){return e.reduce(((e,t)=>e>t[0]+t[2]?e:t[0]+t[2]),0)}function hr(e,t,n){if(e.margin){const r=Zn(e.margin)?hn(Tn(t.context,{special:{widget:e,placement:n}}),e.margin.x):e.margin;if(Array.isArray(r)){if(4===r.length)return r.map((e=>+e));if(2===r.length)return[+r[0],+r[1],+r[0],+r[1]]}else if("number"==typeof r)return[r,r,r,r]}return[0,0,0,0]}function yr(e,t,n){let r=e.border,o=[0,0,0,0];("string"==typeof r||r&&!Array.isArray(r)&&"object"==typeof r&&("v"in r||"r"in r||"op"in r))&&(r=hn(Tn(t.context,{special:{widget:e,placement:n}}),r)),"number"==typeof r?o=[0,0,r,0]:Array.isArray(r)?1===r.length?o=[r[0],r[0],r[0],r[0]]:2===r.length?o=[r[0],r[1],r[0],r[1]]:3===r.length?o=[r[0],r[1],r[2],r[1]]:r.length>=4&&(o=[r[0],r[1],r[2],r[3]]):r&&"object"==typeof r&&(o=[r.top||0,r.right||0,r.bottom||0,r.left||0]);for(let e=0;e<4;e++)o[e]=.0625*o[e];return o}function mr(e,t,n,r,o){const i=hn(Tn(n.context,{special:{widget:t,placement:r,state:o}}),e);return i&&!Array.isArray(i)&&"object"==typeof i?t="content"in i||"props"in i||"properties"in i?Object.assign({},t,i.props,i.properties,{widgets:Array.isArray(i.content)?i.content:i.content?[i.content]:t.widgets,macro:void 0}):Object.assign({},t,{widgets:[i],macro:void 0}):Array.isArray(i)&&(t=Object.assign({},t,{widgets:i,macro:void 0})),t}function $r(e,t,n){if(!t)return"";const r=e.styleMap.styles[t];if(r)return r;const o=`${n}${function(e,t){return e.styleMap.ids[t]||(e.styleMap.ids[t]=0),e.styleMap.ids[t]++}(e,n)}`;return e.styleMap.styles[t]=o}function br(e,t,[n,r],o,i){if(!1!==e.report.classifyStyles){const s=[];return r&&s.push($r(e,r,"h")),s.push($r(e,n,i||"s")),` class="${t.concat(s).join(" ")}"${o?` style="${o}"`:""}`}{const e=`${n}${o||""}${r||""}`;return`${""+(t.length?` class="${t.join(" ")}"`:"")}${e?` style="${e}"`:""}`}}function vr(e,t,n,r){let o=`left:${(t.x||0)+(t.offsetX||0)}rem;top:${(t.y||0)+(t.offsetY||0)}rem;`,i="";o+=`width:${cr(e,t,n)}rem;`;let s=pr(e,t,n,r&&r.computedHeight,r&&r.lineSize)||1;if("grow"===e.height&&e.margin){const r=hr(e,n,t);s+=r[0]+r[2]}r&&r.container&&r.computedHeight?i=`height:${s}rem;`:o+=`height:${s}rem;`;const a=e.font&&Vn(e.font.line,n),l=e.font&&Vn(e.font.size,n);if(null==a&&null==l||(o+=`line-height: ${null!=a?a:l}rem;`),e.margin){const r=hr(e,n,t);(r[0]||r[1]||r[2]||r[3])&&(o+=`padding:${r[0]}rem ${r[1]}rem ${r[2]}rem ${r[3]}rem;`)}else e.font&&e.font.right&&(o+=`padding-right:${e.font.right}rem;`);return(r&&r.font||e.font)&&(o+=wr(r&&r.font||e.font,n)),e.border&&(o+=function(e,t,n){const r=yr(e,t,n);return r[0]+r[1]+r[2]+r[3]?`border-style:solid;border-width:${r[0]}rem ${r[1]}rem ${r[2]}rem ${r[3]}rem;`:""}(e,n,t)),o+=xr(e,n),[o,i]}function xr(e,t){let n="";const r=Vn(e.bg,t);r&&(n+=`background-color:${r};`);const o=Vn(e.radius,t);return o&&(n+=`border-radius:${o};`),n}function wr(e,t){if(!e)return"";let n,r,o="";(n=Vn(e.family,t))&&(o+=`font-family:${n};`),(n=Vn(e.color,t))&&(o+=`color:${n};`),(n=Vn(e.align,t))&&(o+=`text-align:${n};`),(n=Vn(e.size,t))&&(o+=`font-size:${n}rem;`,r=n),n=Vn(e.line,t),0===n?o+="line-height:initial;":null!=n?o+=`line-height:${n}rem;`:r&&(o+=`line-height:${r}rem;`),(n=Vn(e.weight,t))&&(o+=`font-weight:${n};`),(n=Vn(e.pre,t))&&(o+="white-space:pre-wrap;");const i=n;return(n=Vn(e.clamp,t))&&(o+=(i?"":"white-space:nowrap;")+"overflow:hidden;"),o}lr("row",((e,t,n,r,o,i)=>{let s,a=Zn(e.br)?hn(Tn(i.context,{special:{placement:r,widget:e}}),e.br.x):e.br,l=r.maxX-o[0][0]-o[0][2]+o[o.length-1][0];return l<=0&&(l=r.maxX,a=!0),a||o[0][0]+o[0][2]+cr(e,{x:r.x,y:r.y,maxX:r.maxX,maxY:r.maxY,availableY:r.availableY,availableX:l},i)-o[o.length-1][0]>r.maxX?(s={x:n[3],y:gr(o),availableX:r.maxX,maxX:r.maxX},s.availableY=r.availableY-(s.y-t)):s={x:o[0][0]+o[0][2],y:o[0][1],availableX:l,maxX:r.maxX,availableY:r.availableY},s.y-=t,s}));function Ar(e,t,n){const r=n&&"root"in n&&n.root===n?n:new Nn(Object.assign({},e.context),{parameters:n});r.parameters=Object.assign({},e.defaultParams,r.parameters);const o={};if(e.sources&&jr(r,e.sources,t),Array.isArray(e.parameters))for(const t of e.parameters)t.init&&t.name&&(o[t.name]=hn(r,t.init));return o}function jr(e,t,n){const r=e.sources;for(const o of t){let t=n[o.source||o.name]||{value:[]};o.base&&(t=hn(Tn(e,{value:t.value,special:{source:t}}),o.base)),r[o.name||o.source]=pn(t)}for(const n of t)(n.filter||n.sort||n.group)&&(r[n.name||n.source]=kn(r[n.name||n.source],n.filter,n.sort,n.group,e))}const kr="​",Mr=P(" \r\n\t"),Or=L(" \r\n\t"),Yr="0123456789abcdef",Dr=K(P("0123456789"),(e=>+e)),zr=K(ie(V(J("-")),P("0123456789"),V(ie(J("."),P("0123456789")))),(([e,t,n])=>+[e,t,null==n?void 0:n[0],null==n?void 0:n[1]].filter((e=>e)).join(""))),Xr=K(ie(V(J("#")),B(_(8,Yr),_(6,Yr),_(4,Yr),_(3,Yr))),(([,e])=>`#${e}`)),Cr=K(ie(zr,V(J("%"))),(([e,t])=>`${e}${t?"%":"rem"}`)),Sr=J("left","right","top","bottom","center"),Nr=K(ie(J("align"),V(ie(J("="),B(ie(J("top","middle","bottom","base"),V(ie(Mr,J("left","right","center")))),ie(J("left","right","center"),V(ie(Mr,J("top","middle","bottom","base")))))))),(([,e])=>{var t;return{tag:"align",value:e?[e[1][0],null===(t=e[1][1])||void 0===t?void 0:t[1]].filter((e=>e)):null}})),Tr=K(ie(J("valign"),V(ie(J("="),J("top","middle","bottom","base")))),(([,e])=>({tag:"valign",value:e?e[1]:null}))),Fr=K(ie(J("pad"),V(ie(J("="),re(zr,Mr)))),(([,e])=>({tag:"pad",value:e?e[1]:null}))),Ur=K(ie(J("margin"),V(ie(J("="),re(zr,Mr)))),(([,e])=>({tag:"margin",value:e?e[1]:null}))),Hr=K(ie(J("width","w"),V(ie(J("="),Cr))),(([,e])=>({tag:"width",value:e?e[1]:null}))),qr=K(ie(J("height","h"),V(ie(J("="),Cr))),(([,e])=>({tag:"height",value:e?e[1]:null}))),Er=K(ie(J("line"),V(ie(J("="),zr))),(([,e])=>({tag:"line",value:e?e[1]:null}))),Lr=K(ie(J("fg","color","fore"),V(ie(J("="),Xr))),(([,e])=>({tag:"fg",value:e?e[1]:null}))),Pr=K(ie(J("bg","background","back"),V(ie(J("="),Xr))),(([,e])=>({tag:"bg",value:e?e[1]:null}))),_r=K(ie(J("size"),V(ie(J("="),zr))),(([,e])=>({tag:"size",value:e?e[1]:null}))),Rr=K(ie(J("font"),V(ie(J("="),I(",|")))),(([,e])=>({tag:"font",value:e?e[1]:null}))),Ir=K(ie(J("rotate"),V(ie(J("="),zr,Or,V(J("left","right")),V(ie(Mr,B(Cr,Sr),Mr,B(Cr,Sr)))))),(([,e])=>({tag:"rotate",value:e?{turn:e[1]*("left"===e[3]?-1:1),origin:e[4]?[e[4][1],e[4][3]]:void 0}:null}))),Jr=K(ie(J("move"),V(ie(J("="),Cr,Mr,Cr))),(([,e])=>({tag:"move",value:e?{x:e[1],y:e[3]}:null}))),Zr=K(R(",|"),(e=>({tag:"trash",value:e}))),Vr=K(ie(J("border"),V(ie(J("="),V(J("solid","dot","dash","double")),Or,re(Dr,Mr),Or,V(ie(J("/"),Or,re(zr,Mr))),Or,V(Xr)))),(([,e])=>{var t;return{tag:"border",value:e?{style:e[1]||"solid",width:e[3],radius:null===(t=e[5])||void 0===t?void 0:t[2],color:e[7]}:null}})),Wr=K(B(J("sub","sup","bold","italic","underline","strike","overline","overflow","nowrap","pre","br","b","i","u")),(e=>({tag:e}))),Br=K(ie(J("|"),Or,re(B(Vr,Nr,Lr,Pr,Tr,_r,Er,Rr,Fr,Ur,Hr,qr,Wr,Ir,Jr,Zr),ie(Or,J(","),Or),"allow"),R("|"),J("|")),(([,,e])=>e.filter((e=>"trash"!==e.tag)))),Gr=K(te(B(I("\\|",!0),K(J("\\|"),(()=>"|")))),(e=>e.join(""))),Kr=$(ee(B(Gr,Br)),{consumeAll:!0,undefinedOnError:!0}),Qr=["border","width","height","pad","margin","align","overflow","nowrap","rotate","move"],eo={b:"bold",i:"italic",u:"underline"};function to(e){const t=Kr(e);return Array.isArray(t)?function(e){let t="",n=!1;const r={bool:{},value:{}},o=[];for(const i of e)if("string"==typeof i)!r.bool.pre&&/^\s/.test(i)&&(t+=kr),t+=i,!r.bool.pre&&/\s$/.test(i)&&(t+=kr);else{let e,s=!1;for(const n of i){const i=eo[n.tag]||n.tag;"value"in n?null!==n.value?((r.value[i]||(r.value[i]=[])).push(n.value),(Qr.includes(i)||e&&"bg"===i)&&(e||(e=[])).push(i)):Qr.includes(i)||"bg"===i&&(s||o&&o.length&&o[o.length-1].includes("bg"))?s=!0:(r.value[i]||(r.value[i]=[])).pop():"br"===i?t+="
":Qr.includes(i)&&e.length?e.push(i):r.bool[i]=!r.bool[i]}if(n&&(t+=""),n=!0,s){const e=o.pop();if(e){t+="";for(const t of e)(r.value[t]||(r.value[t]=[])).pop()}}e&&(o.push(e),t+=``),t+=``}n&&(t+="");for(const e of o)t+="";return t}(t):e}const no={top:"start",middle:"center",bottom:"end",base:"baseline"},ro={dot:"dotted",dash:"dashed"};function oo(e,t){let n="";if("inline"===t){const t=e.bool;(t.underline||t.overline||t.strike)&&(n+=`text-decoration-line:${[t.underline&&"underline",t.overline&&"overline",t.strike&&"line-through"].filter((e=>e)).join(" ")};`),(t.sup||t.sub)&&(n+="font-size:70%;",t.sup&&(n+="vertical-align:super;"),t.sub&&(n+="vertical-align:sub;")),t.italic&&(n+="font-style:italic;"),t.bold&&(n+="font-weight:bold;"),t.pre&&(n+="white-space:pre-wrap;");const r=e.value;if(Array.isArray(r.valign)){const e=r.valign[r.valign.length-1];e&&(n+=`vertical-align:${"base"===e?"baseline":e};`)}if(Array.isArray(r.fg)){const e=r.fg[r.fg.length-1];e&&(n+=`color:${e};`)}if(Array.isArray(r.bg)){const e=r.bg[r.bg.length-1];e&&(n+=`background-color:${e};`)}if(Array.isArray(r.size)){const e=r.size[r.size.length-1];null!=e&&(n+=`font-size:${e}rem;`)}if(Array.isArray(r.font)){const e=r.font[r.font.length-1];null!=e&&(n+=`font-family:${e};`)}if(Array.isArray(r.line)){const e=r.line[r.line.length-1];null!=e&&(n+=`line-height:${e}rem;`)}}else{n+="display:inline-flex;box-sizing:content-box;overflow:hidden;";const r=e.value;let o;if(t.includes("align")&&Array.isArray(r.align)){const e=r.align[r.align.length-1];if(Array.isArray(e)){let t=e.find((e=>["top","middle","bottom","base"].includes(e)));t&&(n+=`align-items:${no[t]};`),t=e.find((e=>["left","right","center"].includes(e))),t&&(n+=`justify-content:${t};`)}}if(t.includes("width")&&Array.isArray(r.width)){const e=r.width[r.width.length-1];null!=e&&(n+=`width:${e};`)}if(t.includes("height")&&Array.isArray(r.height)){const e=r.height[r.height.length-1];null!=e&&(n+=`height:${e};`)}if(t.includes("pad")&&Array.isArray(r.pad)){const e=r.pad[r.pad.length-1];Array.isArray(e)&&e.length&&(n+=`padding:${e[0]}rem`,e.length>1&&(n+=` ${e[1]}rem`),e.length>2&&(n+=` ${e[2]}rem`),e.length>3&&(n+=` ${e[3]}rem`),n+=";")}if(t.includes("margin")&&Array.isArray(r.margin)){const e=r.margin[r.margin.length-1];Array.isArray(e)&&e.length&&(n+=`margin:${e[0]}rem`,e.length>1&&(n+=` ${e[1]}rem`),e.length>2&&(n+=` ${e[2]}rem`),e.length>3&&(n+=` ${e[3]}rem`),n+=";")}if(t.includes("border")&&Array.isArray(r.border)){const e=r.border[r.border.length-1];e&&(n+=`border-style:${ro[e.style]||e.style};border-width:${e.width[0]}px`,e.width.length>1&&(n+=` ${e.width[1]}px`),e.width.length>2&&(n+=` ${e.width[2]}px`),e.width.length>3&&(n+=` ${e.width[3]}px`),n+=";",e.color&&(n+=`border-color:${e.color};`),e.radius&&(n+=`border-radius:${e.radius[0]}rem`,e.radius.length>1&&(n+=` ${e.radius[1]}rem`),e.radius.length>2&&(n+=` ${e.radius[2]}rem`),e.radius.length>3&&(n+=` ${e.radius[3]}rem`),n+=";"))}if(t.includes("bg")&&Array.isArray(r.bg)){const e=r.bg[r.bg.length-1];e&&(n+=`background-color:${e};`)}if(t.includes("rotate")&&Array.isArray(r.rotate)){const e=r.rotate[r.rotate.length-1];e&&(e.origin&&(n+=`transform-origin:${e.origin[0]} ${e.origin[1]};`),(o||(o=[]))[t.indexOf("rotate")]=`rotate(${e.turn}turn)`)}if(t.includes("move")&&Array.isArray(r.move)){const e=r.move[r.move.length-1];e&&((o||(o=[]))[t.indexOf("move")]=`translate(${e.x}, ${e.y})`)}o&&(n+=`transform:${o.filter((e=>e)).join(" ")};`),t.includes("nowrap")&&(n+="white-space:nowrap;"),t.includes("overflow")&&(n+="overflow:visible;")}return n}er("label",((e,t,n)=>{In(t,"label",".label {position:absolute;box-sizing:border-box;}");let r,o="",i=(Array.isArray(e.text)?e.text:[e.text]).map((e=>{let n=hn(t,"object"==typeof e&&"text"in e?e.text:e);if("object"==typeof e&&"id"in e){let r=t.context;for(;r;)r.special&&r.special.values&&(r.special.values[e.id]||(r.special.values[e.id]=[])).push(n),r=r.parent}return o+=n,r=n,"object"==typeof e&&"text"in e?`${Kn(n)}`:n})).join("");if(e.id){let n=t.context;for(;n;)n.special&&n.special.values&&(n.special.values[e.id]||(n.special.values[e.id]=[])).push(o),n=n.parent}if(e.format&&e.format.name){const n=[{v:Array.isArray(e.text)&&1!==e.text.length?i:r},{v:e.format.name}];i=hn(t,{op:"format",args:n.concat(e.format.args||[])})}return"string"==typeof i&&e.styled?`${to(Kn(i))}`:`${Kn(i)}`})),er("container",((e,t,n,r)=>{let o;In(t,"container",".container {position:absolute;box-sizing:border-box;}"),e.height?"auto"!==e.height&&(o=pr(e,n,t)):e.height="auto";const i=((r||{}).state||{}).ctx?Object.assign({},t,{context:r.state.ctx}):t;if(e.context&&!((r||{}).state||{}).ctx){i.context.locals||(i.context.locals={});const t=hn(i,e.context);t&&(i.context=Tn(i.context,{value:t}))}const s=ur(e,n,t)||n.availableX,a=function(e,t,n,r,o){if(Array.isArray(e.widgets)){let i="";const s=(r||{offset:0}).offset,a=[[0,s,0,0]],l=hr(e,t,n);if(a[0][0]+=l[3],a[0][1]+=l[0],e.border){const r=yr(e,t,n);n.maxX&&(n.maxX-=r[1]+r[3]),n.availableX&&(n.availableX-=r[1]+r[3]),n.maxY&&(n.maxY-=r[0]+r[2]),n.availableY&&(n.availableY-=r[0]+r[2])}for(let u=r&&r.last||0;un.maxY&&(f=1),n&&n.availableY&&f>n.availableY){const e=gr(a);return(r=r||{offset:e}).last=u,{output:i,continue:r,height:e}}{let e=Array.isArray(o)&&(o[u]||[0,0]);e&&Array.isArray(e)||(e=[0,0]),e[0]||(e[0]=0),e[1]||(e[1]=0);let p=Array.isArray(e)?{x:e[0]<0?e[0]:e[0]+l[3],y:e[1]<0?e[1]:e[1]+l[0],maxX:n.maxX}:e||n;if(Array.isArray(e)&&(p.availableX=p.maxX),(!o||"string"==typeof o)&&(p=(o&&ar[o]||ar.row)(c,s,l,n,a,t),f>p.availableY)){const e=gr(a);return(r=r||{offset:e}).last=u,{output:i,continue:r,height:e}}p.maxX=p.maxX||n.maxX,p.maxY=p.maxY||n.maxY,p.x<0&&(p.offsetX=l[3],p.x=(n.availableX||1)+p.x-cr(c,n,t)+1),p.y<0&&(p.offsetY=l[0],p.y=(n.availableY||1)+p.y-f+1);const{x:g,y:d}=p,h=sr(c,t,p,r&&r.child);if("string"==typeof h&&!h||!h.cancel&&!h.output&&!h.continue&&!h.height)continue;if("string"==typeof h)i+=h,a.unshift([g,d,cr(c,n,t),pr(c,n,t)]);else{if(h.cancel)return{output:"",cancel:!0};const e=h.height||pr(c,n,t)||0;if(d+e>n.availableY){const e=gr(a);return(r=r||{offset:e}).last=u,r.attempt=(+r.attempt||0)+1,r.attempt>1?Jn(t,n):{output:i,continue:r,height:e}}if(i+=h.output,a.unshift([g,d,h.width||cr(c,n,t),e]),h.continue)return(r=r||{offset:0}).child=h.continue,r.last=u,r.offset=gr(a),{output:i,continue:r,height:gr(a),width:dr(a)}}0===p.availableX&&(a[0][2]=p.maxX)}}return{output:i,height:pr(e,n,t)||gr(a)-l[0],width:cr(e,n,t)||dr(a)-l[3]}}return{output:"",height:0}}(e,i,{x:0,y:0,availableX:s,availableY:o||n.availableY,maxX:s,maxY:null!=o?o:n.maxY},r,e.layout);if(a.cancel||(a.output=`${a.output}`,a.height=o||a.height,a.width=cr(e,n,t)),(a.cancel||a.continue)&&!e.bridge){const e=a.continue||{};return e.offset=0,delete e.last,e.attempt=(e.attempt||0)+1,e.attempt>1?Jn(t,n):{continue:e,output:""}}return a.continue&&(e.context&&(a.continue.state={ctx:i.context}),a.continue.offset=0),a}),{container:!0}),er("repeater",((e,t,n,r)=>{In(t,"container",".container {position:absolute;box-sizing:border-box;}"),e.height||(e.height="auto");let o,i=n.availableY,s=n.availableX,a="",l=!1;const u=hr(e,t,n);let c,f=r&&r.state&&"header"!==r.state.part?0:u[0];i-=f;let p=!1;const g=r&&r.state&&r.state.newPage;let d,h=r&&r.state&&r.state.src;if(!h){if(!e.source)return"";h=Xn(e.source)?hn(t,e.source):kn(t.context.root.sources[e.source.source]||{value:[]},e.source.filter,e.source.sort,e.source.group,t.context).value,(t.context.special||(t.context.special={})).values||(t.context.special.values={})}if(Array.isArray(h))d=h;else{if(!h||!Array.isArray(h.value))return{output:"",height:0};c=h,d=c.value,e.group&&(p=e.group.length>c.grouped&&e.group.length-c.grouped-1)}if(e.header&&(g||!r||!r.state||"header"===r.state.part||"group"===r.state.part)){const s=r&&r.state&&r.state.context&&r.state.context.context;if(c){const l=Wn(t,{special:{source:c&&c.grouped?c.all:d,level:c&&c.level,grouped:!1!==p,group:c&&c.group,values:(s&&s.special||{}).values}});if(e.group&&!1!==p&&(!r||!r.state||"group"===r.state.part)&&(o=sr(e.group[p],Wn(t,{value:c,special:{source:c&&c.grouped?c.all:d,level:c&&c.level,grouped:!0,group:c.group}}),{x:0,y:f,availableX:n.availableX,maxX:n.maxX,maxY:n.maxY}),o)){if(o.height>i)return a&&(a=`\n${a}`),{output:a,height:f,continue:{offset:0,state:{part:"group",src:h,current:0,newPage:!0}}};i-=o.height,a+=o.output,f+=o.height}if(o=e.groupHeaders&&e.groupHeaders[c.grouped]&&(!r||!r.state||!r.state.current)||g&&!1!==e.headerPerPage?sr(e.header,l,{x:0,y:f,availableX:n.availableX,maxX:n.maxX,maxY:n.maxY}):{output:"",height:0},o.height>i)return{output:`\n${a}`,height:f,continue:{offset:f,state:{part:"header",src:h,current:0,context:t,newPage:!0}}};i-=o.height,a+=o.output,f+=o.height}else{if(o=!r||g&&!1!==e.headerPerPage?sr(e.header,t,{x:0,y:f,availableX:n.availableX,maxX:n.maxX,maxY:n.maxY}):{output:"",height:0},o.height>i)return{output:`\n${a}`,height:f,continue:{offset:f,state:{part:"header",src:h,current:0,context:t,newPage:!0}}};i-=o.height,a+=o.output,f+=o.height}}let y=r&&r.state&&r.state.context||Wn(t,{special:{source:c&&c.grouped?c.all:d,level:c&&c.level,grouped:!1!==p,group:c&&c.group,values:{},last:d.length-1,count:d.length}});const m=e.row&&(Zn(e.row.elide)?hn(Wn(y,{special:{placement:n,widget:e}}),e.row.elide.x):e.row.elide);if(!r||!r.state||"footer"!==r.state.part){let u=0,g=0,$=f;if(m||d.length||!e.alternate)for(let b=r&&r.state&&r.state.current||0;bg&&(g=o.height,o.height>i&&($-=o.height));else if(o.width&&u&&o.width>s-u){f+=g,$=f,i-=g,g=0,u=0,b--;continue}if(o.height>i||o.cancel)return $===f&&g&&(f+=g),l?{output:`\n${a}`,height:f,continue:{offset:f,state:{part:"body",src:h,current:b,context:y,newPage:!c||!1===p},child:o.continue}}:{output:"",height:f,continue:{offset:f,state:{part:r&&r.state&&r.state.part||"body",src:h,current:b,context:y,newPage:!c||!1===p},child:o.continue}};if(g||(f+=o.height,i-=o.height),a+=o.output,l=!0,o.continue)return $===f&&g&&(f+=g),{output:`\n${a}`,height:f,continue:{offset:f,state:{part:"body",src:h,current:b,context:y,newPage:!c||!1===p},child:o.continue}}}else if(e.alternate){if(o=sr(e.alternate,y,{x:u,y:f,availableX:s-u,maxX:n.maxX,availableY:i,maxY:n.maxY},r?r.child:void 0),o.height>i)return{output:a,height:0,continue:{offset:0,state:{part:"body",src:h,current:0,newPage:!0}}};i-=o.height,a+=o.output,f+=o.height}$===f&&g&&(f+=g)}if(e.footer){const s=y&&y.context||r&&r.state&&r.state.context&&r.state.context.context,l=Wn(t,{special:{source:c&&c.grouped?c.all:d,level:c&&c.level,grouped:!1!==p,group:c&&c.group,values:(s&&s.special||{}).values}});if(o=c?e.groupEnds&&e.groupEnds[c.grouped]?sr(e.footer,l,{x:0,y:f,availableX:n.availableX,maxX:n.maxX,maxY:n.maxY}):{output:"",height:0}:sr(e.footer,l,{x:0,y:f,availableX:n.availableX,maxX:n.maxX,maxY:n.maxY}),o.height>i)return{output:`\n${a}`,height:f,continue:{offset:f,state:{part:"footer",src:h,current:0,context:y,newPage:!0}}};a+=o.output,f+=o.height}return{output:`\n${a}`,height:f}}),{container:!0}),er("image",((e,t,n)=>{In(t,"image",".image {position:absolute;box-sizing:border-box;} .image .inner {background-repeat:no-repeat;height:100%;}");const r=e.fit&&"object"==typeof e.fit?hn(t,e.fit.x):e.fit;return"stretch"===r?``:`
`})),er("measured",((e,t,n,r)=>{In(t,"measured",".measured {position:absolute;box-sizing:border-box;white-space:pre-wrap;word-break:break-all;font-family:serif;font-size:0.83rem}");const o=hn(t,e.text),i=ir(o,ur(e,n,t)||n.availableX,t,e.font);if(!r&&i>n.availableY)return{output:"",height:0,continue:{state:{},offset:0}};{let r=vr(e,n,t,{computedHeight:i,container:!0});return r[0]="line-height:1em;"+r[0],{height:i,output:`${Kn(o)}`}}})),er("html",((e,t,n)=>{In(t,"html",".html {position:absolute;box-sizing:border-box;overflow:hidden;line-height:1rem;}");const r=hn(Wn(t,{parser:fn}),e.html);return`${r}`}));const io=/(\d)(?=(\d{3})+\.)/g,so=/(\d)(?=(\d{3})+$)/g,ao=/^[-0-9\\.,]+$/;function lo(e,t=2,n=",",r="sign"){if(e="number"!=typeof e?parseFloat(e||""):e,isNaN(e))return"";const o=e<0;return e=e.toFixed(t),0===t&&(e=e.replace(/\..*/,"")),o&&"sign"!==r&&(e=`(${"both"===r?e:e.substr(1)})`),n?e.replace(-1===e.indexOf(".")?so:io,`$1${n}`):e}const uo=/y+|M+|d+|E+|H+|m+|s+|k+|h+|a+|S+|z+/g,co=["January","February","March","April","May","June","July","August","September","October","November","December"],fo=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];let po;function go(e,t){if(!e)return"";let n,r,o,i,s,a,l,u,c;if("object"==typeof e&&"f"in e&&Array.isArray(e.f)){const t=e.f,f=t.length,p=e.e;n=t[0],r=f>1&&null!=t[1]?t[1]:p?11:0,o=f>2&&null!=t[2]?t[2]:p?0:1,s=f>3&&null!=t[3]?t[3]:p?23:0,a=f>4&&null!=t[4]?t[4]:p?59:0,l=f>5&&null!=t[5]?t[5]:p?59:0,u=f>6&&null!=t[6]?t[6]:p?999:0;let g=new Date(n,r,o||1,s,a,l,u);c=f>7&&null!=t[7]?-t[7]:g.getTimezoneOffset(),o||(g.setMonth(r+1),g.setDate(0),o=g.getDate()),i=g.getDay()}else{if("string"==typeof e&&(e=new Date(e)),"[object Date]"!==Object.prototype.toString.call(e))return"";if(isNaN(e))return"";const t=e;n=t.getFullYear(),r=t.getMonth(),o=t.getDate(),i=t.getDay(),s=t.getHours(),a=t.getMinutes(),l=t.getSeconds(),u=t.getMilliseconds(),c=t.getTimezoneOffset()}return t||(t=po||"yyyy-MM-dd"),t.replace(uo,(e=>{if("y"===e[0])return e.length<=2?`${n}`.substr(2,2):`${n}`;if("M"===e[0])return 1===e.length?`${r+1}`:2===e.length?r<9?`0${r+1}`:`${r+1}`:3===e.length?co[r].substr(0,3):co[r];if("d"===e[0])return 1===e.length?`${o}`:2===e.length?o<=9?`0${o}`:`${o}`:ho(o);if("E"===e[0])return 1===e.length?`${i+1}`:2===e.length?fo[i].substr(0,3):fo[i];if("H"===e[0])return 1===e.length?`${s}`:s<=9?`0${s}`:`${s}`;if("m"===e[0])return 1===e.length?`${a}`:a<=9?`0${a}`:`${a}`;if("s"===e[0])return 1===e.length?`${l}`:l<=9?`0${l}`:`${l}`;if("S"===e[0]){const t=u;return 1===e.length?`${t}`:t<10?`00${t}`:t<100?`0${t}`:`${t}`}if("k"===e[0]||"h"===e[0]){let e=""+s%12;return"0"===e&&(e="12"),`${e}`}if("a"===e[0])return s>11?"PM":"AM";if("z"===e[0]){let t=0-c;const n=t<0?"-":"+";t=Math.abs(t);let r=t;if(1===e.length)r=Math.floor(t/60);else{if(2===e.length){const e=t%60,r=Math.floor(t/60);return`${n}${r<10?"0":""}${r}${e<10?"0":""}${e}`}if(3===e.length){const e=t%60,r=Math.floor(t/60);return`${n}${r<10?"0":""}${r}:${e<10?"0":""}${e}`}r=t}return`${n}${r}`}}))}function ho(e,t){let n=`${e=lo(e,0,t)}`;if(n=n.substr(-2,2),n.length>1&&"1"===n[0])return`${e}th`;switch(n[1]||n[0]){case"1":return`${e}st`;case"2":return`${e}nd`;case"3":return`${e}rd`;default:return`${e}th`}}go.setDefault=function(e){po=e};const yo=new RegExp(`[${Xe.split("").map((e=>`\\${e}`)).join("")}]`);let mo=!1,$o=!1,bo=!1,vo=!1,xo=!1,wo=!1,Ao=!1,jo=!1,ko=!1,Mo={array:60,union:60,args:60,keys:60},Oo=!1,Yo=!1,Do=0,zo=!1;const Xo=["===","!==","deep-is","deep-is-not"],Co=Xo.concat(["**","*","/%","/","%","+","-",">=","gte",">","gt","<=","lte","<","lt","in","like","ilike","not-in","not-like","not-ilike","contains","does-not-contain","is","is-not","==","!=","strict-is","strict-is-not","and","&&","or","||","??"]),So=["+","not"],No={"**":1,"*":2,"/%":2,"/":2,"%":2,"+":3,"-":3,">=":4,">":4,"<=":4,"<":4,in:4,like:4,ilike:4,"not-in":4,"not-like":4,"not-ilike":4,contains:4,"does-not-contain":4,gt:4,gte:4,lt:4,lte:4,is:5,"is-not":5,"==":5,"!=":5,"strict-is":5,"strict-is-not":5,"deep-is":5,"deep-is-not":5,"===":5,"!==":5,and:6,"&&":6,or:7,"||":7,"??":7},To=/^[-a-zA-Z_$0-9]/;function Fo(e,t){if(mo=(t=t||{}).noSymbols,bo=t.SExprOps,vo=t.listCommas,xo=t.SExprOps&&t.noArrayLiterals,wo=t.SExprOps&&t.noObjectLiterals,$o=!1,Ao=jo=t.template,ko=t.noIndent,Do=0,zo=!0,"listWrap"in t){const e=t.listWrap;if("boolean"==typeof e)Mo=e?{array:1,union:1,args:1,keys:1}:{array:0,union:0,args:0,keys:0};else if("number"==typeof e)Mo={array:e,union:e,args:e,keys:e};else{const t=e.base?!0===e.base?1:e.base:0;Mo=Object.keys(Mo).reduce(((n,r)=>(n[r]=r in e&&null!=e[r]?e[r]?!0===e[r]?1:e[r]:0:t,n)),{})}}else Mo={array:60,union:60,args:60,keys:60};return Oo=t.htmlSafe,Yo=t.noChecks,!bo&&"object"==typeof e&&e&&"op"in e&&"block"===e.op?function(e){return e.args&&e.args.length?e.args.map(((e,t)=>(zo=0===t,Ho(e)))).join("\n"):""}(e):Ho(e)}function Uo(e,t,n){if(e=`${e}`,!t)return e;for(let r=e.length;r=e.args.length){const n=e.args[t];if("object"==typeof n&&"v"in n&&""===n.v)continue;r+=`{{else}}${Ho(n)}`}else Ao=!1,r+=`{{elseif ${Ho(e.args[t++])}}}`,Ao=!0,r+=Ho(e.args[t]);return r+="{{/}}",r}(e);else if("case"===e.op)t=function(e){const t=e.args.length-1,n=e.args.map(((e,n)=>(Ao=!0,0!==n&&n%2!=1||(Ao=!1),n===t&&(Ao=!0),"object"==typeof e&&"op"in e?Ho(e).replace(Bo,"_"):Ho(e))));Ao=!0;let r=`{{${e.op} ${n[0]} when ${n[1]}}}`;for(let e=2;e<=t;e++)r+=e===t?`{{else}}${n[e]}`:e%2==1?`{{when ${n[e]}}}`:n[e];return r+="{{/}}",r}(e);else if(e.op){if("+"===e.op)return e.args.map((e=>Ho(e))).join("");{Ao=!1;const n=`{{${Ho("string"===e.op?e.args[0]:e)}}}`;Ao=!0,t=n}}}else{Ao=!1;const n=`{{${Ho(e)}}}`;Ao=!0,t=n}else if("r"in e)if("string"==typeof e.r)t=/^[0-9]/.test(e.r)?`.${e.r}`:e.r;else{const n=e.r;t=`${function(e,t){let n="";for(let r=0;r"string"==typeof e&&yo.test(e)?`${t?"":"_"}[${Ho({v:e})}]`:"string"==typeof e||"number"==typeof e?`${t?".":""}${e}`:`[${Ho(e)}]`)).join("")}`}else if("op"in e)t=function(e){let t=e.op;(jo&&!1!==Oo||Oo)&&(">"===t?t="gt":">="===t?t="gte":"<"===t?t="lt":"<="===t?t="lte":"&&"===t&&(t="and"));if(xo||"array"!==t||e.opts){if(wo||"object"!==t||!e.args||e.args.find(((e,t)=>t%2==0&&("string"==typeof e||!("v"in e)||"string"!=typeof e.v)))){if(bo)return e.args&&e.args.length?Vo(`(${t} `,e.args,e.opts,")",0):`(${t})`;if("if"===t||"unless"===t&&e.args&&e.args.length>2)return function(e){if(!e.args||e.args.length<2)return"false";let t="";const n=e.args.length-1,r=!!e.args.find(((e,t)=>(t%2==1||t===n)&&Wo(e)));Do++;const o=e.args.map(((e,t)=>Ho(!r||t%2!=1&&t!==n||Wo(e)?e:{op:"block",args:[e]})));Do--;const i=o.find((e=>e.length>30||~e.indexOf("\n")))||"";let s=ko?"":o.length>3||i?`\n${Uo(""," ",Do)}`:"";const a=i&&`${s} `||" ";s=s||" ";for(let e=0;e<=n;e++)if(0===e)if(r)t+=`if ${o[e++]} ${Zo(" ",o[e]).trimLeft()}`;else{const n=o[e++];t+=`if ${n}${~n.indexOf("\n")?s:" "}then${a}${o[e].trimLeft()}`}else e===n?r?t=t.trimRight()+` else ${Zo(" ",o[e]).trimLeft()}`:t+=`${s}else${a}${o[e].trimLeft()}`:r?t=t.trimRight()+` elif ${o[e++]} ${Zo(" ",o[e]).trimLeft()}`:t+=`${s}elif ${o[e++]} then${a}${o[e].trimLeft()}`;!r&&Do&&(t+=`${s}end`);return t}(e);if("case"===t&&e.args&&e.args.length>2)return function(e){if(!e.args||e.args.length<2)return"false";let t="";const n=e.args.length-1,r=!!e.args.find(((e,t)=>(t>1&&t%2==0||t===n)&&Wo(e)));Do++;const o=e.args.map(((e,t)=>{let o;return 0!==t&&Do++,o=r&&(t>1&&t%2==0||t===n)?Ho(Wo(e)?e:{op:"block",args:[e]}):t%2==0||t===n?Ho(e):"object"==typeof e&&"op"in e?Ho(e).replace(Bo,"_"):Ho(e),0!==t&&Do--,o}));Do--;const i=o.find((e=>e.length>30||~e.indexOf("\n")))||"";let s=ko?"":o.length>3||i?`\n${Uo(""," ",Do)}`:"";const a=s?`${s} `:" ",l=i&&`${a} `||" ";s=s||" ";for(let e=0;e<=n;e++)if(0===e)t+=`case ${o[e]}`;else if(e===n)r?t=t.trimRight()+a+`else ${Zo(" ",o[e]).trimLeft()}`:t+=`${a}else${l}${o[e].trimLeft()}`;else if(r)t=t.trimRight()+a+`when ${o[e++]} ${Zo(" ",o[e]).trimLeft()}`;else{const n=o[e++];t+=`${a}when ${n}${~n.indexOf("\n")?a:" "}then${l}${o[e].trimLeft()}`}!r&&Do&&(t+=`${s}end`);return t}(e);if("+"===t&&e.args&&e.args.length>1&&qo(t,e)){return`'${Eo(t,e).map((e=>"string"!=typeof e&&"v"in e&&"string"==typeof e.v?e.v.replace(/[{']/g,(e=>`\\${e}`)).replace(/\$$/,"\\$"):`{${Ho(e)}}`)).join("")}'`}if(("fmt"===t||"format"===t)&&e.args&&"object"==typeof e.args[1]&&"v"in e.args[1]&&"string"==typeof e.args[1].v){const t=e.args[0];let n=Ho(t);return"string"!=typeof t&&"op"in t&&(Co.includes(t.op)||So.includes(t.op))&&(n=`(${n})`),e.opts?`${n}#${[e.args[1].v]}${Vo("(",e.args.slice(2),e.opts,")")}`:`${n}#${[e.args[1].v].concat(e.args.slice(2).map((e=>Ho(e)))).join(",")}`}if(!(Co.includes(t)&&e.args&&e.args.length>1)||e.opts||Xo.includes(t)&&2!==e.args.length){if(So.includes(t)&&e.args&&1===e.args.length){const n=e.args[0];return"string"!=typeof n&&"op"in n&&(Co.includes(n.op)||So.includes(n.op))?`${t}(${Ho(n)})`:`${t}${To.test(t)?" ":""}${Ho(n)}`}if("block"===t){if(!e.args||!e.args.length)return"";Do++;const t=zo,n=e.args.map(((e,t)=>(zo=0===t,Ho(e))));zo=t;let r=ko?"":`\n${Uo(""," ",Do)}`;return Do--,1!==n.length||~n[0].indexOf("\n")?`{${r}${n.join(r)}\n${Uo(""," ",Do)}}`:`{ ${n[0]} }`}if("let"!==t&&"set"!==t||!e.args||2!==e.args.length)return"get"===t&&2===e.args.length&&"object"==typeof e.args[1]&&"v"in e.args[1]&&"object"==typeof e.args[1].v&&"k"in e.args[1].v?`${Ho(e.args[0])}${Ho({r:{k:["r"].concat(e.args[1].v.k)}}).substr(1)}`:To.test(t)?Vo(`${t}(`,e.args||[],e.opts,")",0):e.args&&e.args.length?Vo(`(${t} `,e.args,e.opts,")",0):`(${t})`;{let n,r=e.args[0];return n="string"==typeof r?r:"v"in r&&"string"==typeof r.v?r.v:"v"in r&&"object"==typeof r.v&&"k"in r.v?Ho({r:r.v}):Ho(r),`${t} ${n} = ${Ho(e.args[1])}`}}{let n=e.args.map(((e,n)=>function(e,t,n){let r;"**"===e&&1===n&&"string"!=typeof t&&"op"in t&&"**"===t.op&&(r=`(${Ho(t)})`);r="string"!=typeof t&&"op"in t&&(Co.includes(t.op)&&No[t.op]>No[e]||"if"===t.op||"unless"===t.op||"case"===t.op||"fmt"===t.op||"format"===t.op)?`(${Ho(t)})`:Ho(t);return r}(t,e,0===n?1:2)));const r=n.find((e=>e.length>30||~e.indexOf("\n")))||n.reduce(((e,t)=>e+t.length),0)&&n.length>2,o=ko?" ":r?`\n${Uo(""," ",Do+1)}`:" ";return(o.length>1||!ko&&r)&&(n=[n[0]].concat(n.slice(1).map((e=>function(e,t){return t.replace(/\n/gm,`\n${e}`)}(" ",e))))),`${n[0]} ${t}${o}${n.slice(1).join(` ${t}${o.length>1?`${o}`:o}`)}`}}return e.args&&e.args.length?Vo("{",e.args,e.opts,"}",2):"{}"}return Vo("[",e.args,e.opts,"]")}(e);else if(zn(e)){const n=jo&&!1!==Oo||Oo?"\\":">";t="n"in e?`|${e.n.join(vo?", ":" ")}| =${n} ${Ho(e.a)}`:`=${n}${Ho(e.a)}`}else"v"in e?t=function(e){if(1===e.s){Do++;const t=Go(e.v);if(Do--,~t.indexOf("\n")){const e=ko?" ":`\n${Uo(""," ",Do)}`;return`@[${e}${" "!==e?" ":""}${t}${e}]`}return`@[${t}]`}if("string"==typeof e.v)return Ao?e.v.replace(/\\(.)/g,"\\\\$1").replace(/{{/g,"\\{{"):!$o&&mo||yo.test(e.v)||!e.v.length?~e.v.indexOf("'")?~e.v.indexOf("`")?~e.v.indexOf('"')?`'${e.v.replace(/['{]/g,(e=>`\\${e}`)).replace(/\${/g,"\\${")}'`:`"${e.v}"`:`\`${e.v.replace(/[{`]/g,(e=>`\\${e}`)).replace(/\${/g,"\\${")}\``:`'${e.v.replace(/[{']/g,(e=>`\\${e}`)).replace(/\${/g,"\\${")}'`:`${$o?"":":"}${e.v}`;if("number"==typeof e.v||"boolean"==typeof e.v||"true"===e.v||"false"===e.v)return`${e.v}`;if("undefined"===e.v||void 0===e.v)return"undefined";if("null"===e.v||null===e.v)return"null";if(Array.isArray(e.v))return xo?Vo("(array",e.v.map((e=>({v:e}))),null,")",null,"array"):Vo("[",e.v.map((e=>({v:e}))),null,"]",null,"array");if("object"==typeof e.v)return En(e.v)?Ro(e.v):Vo("{",Object.entries(e.v).reduce(((e,t)=>(e.push({v:t[0]},{v:t[1]}),e)),[]),null,"}",2,"keys")}(e):En(e)?t=Ro(e):_n(e)&&(t=function(e){if("number"==typeof e||Oe(e)){let t="",n=Math.abs(Ye(e));return Po.forEach((e=>{const r=Math.floor(n/Me[e]);n%=Me[e],r&&(t+=`${r}${e}`)})),n&&(t+=`${n}ms`),`#${t}#`}{const t=e.d;let n="";return _o.forEach(((e,r)=>{null!=t[r]&&(n+=`${t[r]}${e}`)})),`#${n}#`}}(e));return"c"in e&&e.c.length&&(t=(zo?"":"\n")+e.c.map((e=>`${Uo(""," ",Do)}// ${e}\n`)).join("")+`${Uo(""," ",Do)}${t}`),t}function qo(e,t){if(t.args&&t.args.find((e=>"object"==typeof e&&"string"==typeof e.v)))return!0;if(!t.args||!t.args.length)return!1;const n=t.args[0];return"object"==typeof n&&"op"in n&&n.op===e&&qo(e,n)}function Eo(e,t,n=[]){if(t.args&&t.args.length){let r=0;for(;r0?"-":"+"}${r}${o?`:${Uo(o,"0",2)}`:""}`:"Z"}const Po=["w","d","h","mm","s"],_o=["y","m","d","h","mm","s","ms"];function Ro(e){let t="";if(e instanceof Date){const n=e.getFullYear(),r=e.getMonth()+1,o=e.getDate(),i=e.getHours(),s=e.getMinutes(),a=e.getSeconds(),l=e.getMilliseconds();return t=`${n}-${Uo(r,"0",2)}-${Uo(o,"0",2)}`,i+s+a+l>0&&(t+=` ${Uo(i,"0",2)}:${Uo(s,"0",2)}`,a+l>0&&(t+=`:${Uo(a,"0",2)}`,l>0&&(t+=`.${Uo(l,"0",3)}`))),`#${t}${Lo(1,e.getTimezoneOffset())}#`}if(Array.isArray(e.f)){const n=e.f;return t=`${n[0]}`,null!=n[1]&&(t+=`-${Uo(n[1]+1,"0",2)}`),null!=n[2]&&(t+=`-${Uo(n[2],"0",2)}`),null!=n[3]&&(t+=` ${Uo(n[3],"0",2)}`),null!=n[4]&&(t+=`:${Uo(n[4],"0",2)}`),null!=n[5]&&(t+=`:${Uo(n[5],"0",2)}`),null!=n[6]&&(t+=`.${Uo(n[6],"0",3)}`),null!=n[7]&&(t+=` ${Lo(-1,n[7])}`),"e"in e&&e.e&&(t+="<"),`#${t}#`}if("n"===e.f){if(Array.isArray(e.o))return _o.forEach(((n,r)=>{null!=e.o[r]&&(t+=`${e.o[r]}${n}`)})),t+=`${"d"in e&&-1===e.d?" ago":" from now"}${Lo(-1,e.z)}`,`#${t}#`;if("number"==typeof e.o){if(0===e.o)return"#now#";let n=Math.abs(e.o);return Po.forEach((e=>{const r=Math.floor(n/Me[e]);n%=Me[e],r&&(t+=`${r}${e}`)})),n&&(t+=`${n}ms`),`#${t}${e.o<0?" ago":e.o>0?" from now":""}${Lo(-1,e.z)}#`}}else if("d"in e&&1===e.d&&0===e.o)t=`#${"w"===e.f?"week":"m"===e.f?"month":"year"} to date${Lo(-1,e.z)}${e.e?">":""}#`;else{if("t"in e&&Array.isArray(e.t)){const n=e.t;return t=(e.o<0?"yesterday":e.o>0?"tomorrow":"today")+" at ",n[0]||n[1]||n[2]||n[3]?12!==n[0]||n[1]||n[2]||n[3]?(t+=n[0],null!=n[1]&&(t+=`:${Uo(n[1],"0",2)}`),null!=n[2]&&(t+=`:${Uo(n[2],"0",2)}`),null!=n[3]&&(t+=`.${Uo(n[3],"0",3)}`)):t+="noon":t+="midnight",`#${t}${Lo(-1,n[4])}${e.e?">":""}#`}if(!("t"in e)&&!("d"in e)&&!Array.isArray(e.f)){const n=e;return"d"===n.f?t+=""+(n.o<0?"yesterday":n.o>0?"tomorrow":"today"):t+=`${n.o<0?"last":n.o>0?"next":"this"} ${"w"===n.f?"week":"m"===n.f?"month":"year"}`,`#${t}${Lo(-1,n.z)}${n.e?">":""}#`}}return t}const Io=/^\s+/,Jo=/^\s+/gm;function Zo(e,t){return e?t.replace(Jo,(t=>t.substr(e.length))):t}function Vo(e,t,n,r,o,i){if(!(t&&t.length||n))return`${e}${r}`;Do++;const s=zo;let a;if(o){a=[];for(let e=0;e(zo=0===t,Ho(e))));if(n&&"object"==typeof n){const e="op"in n&&n.args?n.args:"v"in n?Object.entries(n.v).reduce(((e,t)=>(e.push({v:t[0]},{v:t[1]}),e)),[]):[];for(let t=0;t`${f} ${e}`)).join(l)}\n${f}${r}`;if(c.length<=u)return`${e}${c}${r}`;let p=`${e}`,g="";const d=a.length-1;for(let e=0;e=u&&(p+=g,g=""));return g&&(p+=g),`${p}\n${f}${r}`}function Wo(e){return"object"==typeof e&&"op"in e&&"block"===e.op}const Bo=/@case\b/g;function Go(e,t){if(void 0!==t&&(Yo=t),!e)return"any";const n=e.type,r=e.types;let o,i,s="",a="",l="",u="",c=Mo.array;switch(n){case"object":case"object[]":const t=!!~n.indexOf("[]");if(!(e.fields&&e.fields.length||e.rest)){s="{}"+(t?"[]":"");break}c=Mo.keys,Do++,o=e.fields?e.fields.map(((e,t)=>{const n=Go(e);return(e.desc&&e.desc.length?(0===t?"":`\n${Uo(""," ",Do)}`)+e.desc.map((e=>`// ${e}`)).join(`\n${Uo(""," ",Do)}`)+`\n${Uo(""," ",Do)}`:"")+`${e.name}${e.required?"":"?"}: ${n}`})):[],e.rest&&o.push(`...: ${Go(e.rest)}`),Do--,a="{",l="}"+(t?"[]":""),u=", ";break;case"union":case"union[]":~n.indexOf("[]")?(a="Array<",l=">"):e.checks&&e.checks.length&&(a="(",l=")"),a&&Do++,o=r.map((e=>Go(e))),c=Mo.union,u=o.length>6||o.find((e=>~e.indexOf("\n")))?" | ":"|",a&&Do--;break;case"literal":s="string"==typeof e.literal?`'${e.literal.replace(/'/g,"\\'")}'`:`${e.literal}`;break;case"tuple":case"tuple[]":if(!n||0===n.length){s="[]";break}Do++,a="[",l="]"+(~n.indexOf("\n")?"[]":""),u=", ",o=r.map((e=>Go(e))),Do--;break;default:s=e.ref||n||"any",e.ref&&"array"===n&&(s+="[]")}const f=ko?" ":Uo(""," ",Do);if(e.defs){i=Object.keys(e.defs).sort().map(((t,n)=>{const r=e.defs[t];return(r.desc&&r.desc.length?(0===n?"":`\n${f}`)+r.desc.map((e=>`// ${e}`)).join(`\n${f}`)+`\n${f}`:"")+`type ${t} = ${Go(r)}`})).join(`\n${f}`)}if(!s){const e=a&&!ko?`${f} `:f,t=ko?"":"\n",n=a?`${a}${t}${e}`:"",r=l?`${t}${f}${l}`:"";if(0===c)s=`${n}${o.join(u)}${r}`;else if(1===c)s=`${n}${o.join(`${u}${t}${e}`)}${r}`;else{let i="";const f=o.length-1;for(let n=0;nc&&n!==f&&!~(o[n+1]||"").indexOf("\n")&&(s+=`${t}${e}`,i="",~u.indexOf("|")&&(s+=" "));s=~s.indexOf("\n")?`${n}${s}${r}`:`${a}${"{"===a?" ":""}${s}${"{"===a&&" "!==s.substr(-1)?" ":""}${l}`}}return!Yo&&e.checks&&e.checks.length&&(s+=` ?${e.checks.map((e=>Ho(e))).join(" ?")} `),i&&(s=`${i}\n${f}\n${f}${s}`),s}const Ko=$(K(ie(V(J("@[")),xe,Rt(),xe,V(J("]"))),(([,,e])=>e)),{trim:!0,consumeAll:!0}),Qo=K(ie(V(J("-")),P(le)),(([e,t])=>e?-t:+t)),ei=K(ie(Qo,J("-",":"),Qo),(([e,,t])=>[e,t])),ti=K(ie(J("<",">"),xe,Qo),(([e,,t])=>"<"===e?[-1/0,t-1]:[t+1,1/0])),ni=$(re(B(K(J("*"),(()=>[-1/0,1/0])),ei,ti,Qo),P(" \t\r\n,;"),"allow"),{trim:!0});function ri(...e){return e.filter((e=>e)).join(".")}const oi=(e,t)=>e==t,ii=(e,t)=>e===t,si=/^\d+$/;function ai(e,t,n){const r=n&&"object"==typeof n?n.type:n;return li(e,t,"",{},"function"==typeof r?r:"strict"===r?ii:oi,"object"==typeof n?n.identity:void 0)}function li(e,t,n,r,o,i){if("object"!=typeof e||"object"!=typeof t)return e===t||(r[n]=[e,t]),r;let s;if(Array.isArray(e)&&Array.isArray(t)&&i&&(s=function(e,t){return e[`${t.split(".").reduce(((e,t)=>si.test(t)?`${e}[]`:`${e}${e.length?".":""}${t}`),"")}[]`]}(i,n))){const a=e.map((e=>!0===s?e:"string"==typeof s?!e||"object"!=typeof e&&"function"!=typeof e?e:e[s]:s(e))),l=t.map((e=>!0===s?e:"string"==typeof s?!e||"object"!=typeof e&&"function"!=typeof e?e:e[s]:s(e)));for(let s=0;s0){const t=mi(e[0]);t.fields?r.push({type:t.type,fields:t.fields,name:"0"}):r.push({type:t.type,name:"0"})}return{type:n,fields:r}}if("object"==typeof e&&!hi(e)){const r=[];for(const n in e)r.push($i(n,e[n],t));return{type:n,fields:r}}return{type:n}}function $i(e,t,n){const r=bi(t);if(!n&&(~r.indexOf("object")||"array"===r)){const n=mi(t);return n.fields?{type:r,fields:n.fields,name:e}:{type:r,name:e}}return{type:bi(t),name:e}}function bi(e){return"string"==typeof e?hi(e)?"date":"string":"number"==typeof e?"number":"boolean"==typeof e?"boolean":Array.isArray(e)?e.length<1?"array":"string"==typeof e[0]?hi(e[0])?"date[]":"string[]":"number"==typeof e[0]?"number[]":"boolean"==typeof e[0]?"boolean[]":hi(e[0])?"date[]":"object"==typeof e[0]?"object[]":"array":"object"==typeof e?hi(e)?"date":"object":"any"}function vi(e,t,n){if("string"==typeof t){const e=Ko(t);if("message"in e)return[{error:"invalid schema"}];t=e}t||(t={type:"any"});return xi(e,t,n,"",new Nn(e,{special:{types:t.defs||{}}}))}function xi(e,t,n,r,o,i){let s=t=t||{};const a=[],l="strict"===n||"missing"===n;if(s.ref){let e=s;for(;e&&e.ref;)e=gn(o,`@types.${e.ref}`);e?s=e:l&&a.push({error:`missing type definition '${s.ref}'`,type:"missing"})}let{checks:u}=s;const{type:c,fields:f,rest:p,types:g,literal:d}=s;if(!Ai(e,"array"===t.type?"array":c,d,i))return[{error:`type mismatch for${i?" required":""} '${c}'`,actual:Go(mi(e)),value:e,path:r,expected:Go(s,!0)}];let h;if(s!==t&&t.checks&&(u=u?u.concat(t.checks):t.checks),"tuple"!==c&&"tuple[]"!==c||!g)if("union"!==c&&"union[]"!==c||!g){if(("object"===c||"object[]"===c||"any"===c)&&f||p){const i=~c.indexOf("[]")||"array"===t.type,s=i?e:[e];for(let e=0;et.name===e))||null!=t[e]&&!0!==(h=xi(t[e],p,n,ri(l,e),Tn(o,{value:t[e],path:ri(l,e)})))&&a.push.apply(a,h);else if("strict"===n&&t)for(const e in t)(null==t[e]||f)&&f.find((t=>t.name===e))||a.push({error:`unknown field ${e}`,path:l,type:"strict",value:t[e]})}else a.push({error:"expected an object",value:t,path:l,actual:Go(mi(t),!0)})}}}else{const t=~c.indexOf("[]"),i=t?e:[e];for(let e=0;e"missing"===e.type))||h.find((e=>"check"===e.type))?c=h.filter((e=>l&&"missing"===e.type||"check"===e.type)):h.find((e=>e.path!==u))&&(c=h)}f||c?!f&&c&&a.push.apply(a,c):a.push({error:"type mismatch for union",actual:Go(mi(s)),expected:Go({type:"union",types:g}),value:s,path:u})}}else{const t=~c.indexOf("[]"),i=t?e:[e];for(let e=0;e1?"s":""} in tuple`,path:l,expected:Go({type:"tuple",types:g})})}else{for(let e=0;eg.length&&a.push({error:"too many values for tuple",type:"strict",path:l,expected:Go({type:"tuple",types:g})})}else a.push({error:"expected a tuple",path:l,value:s})}}if(!a.length&&u&&u.length){let n;for(let i=0;ie&&"string"==typeof t),!0);case"number[]":return Array.isArray(e)&&e.reduce(((e,t)=>e&&"number"==typeof t),!0);case"boolean[]":return Array.isArray(e)&&e.reduce(((e,t)=>e&&"boolean"==typeof t),!0);case"date[]":return Array.isArray(e)&&e.reduce(((e,t)=>e&&hi(t)),!0);case"object[]":return Array.isArray(e)&&e.reduce(((e,t)=>e&&!Array.isArray(t)&&"object"==typeof t&&(!r||null!=t)),!0)}}const ji={record:"\n",field:",",header:!1,quote:'"'};function ki(e){const t=Object.assign({},ji,e),n=E(" \t\r\n".replace(t.field,"").replace(t.record,"").replace(t.quote,"")),r=J(t.quote||'"'),o=oe(ie(n,r),K(ee(B(R(t.quote),K(ie(r,r),(()=>"")))),(e=>w(e))),ie(r,n)),i=$(ne(G(re(B(o,R(t.record+t.field,!0)),ie(n,J(t.field),n)),(e=>e.length>1||e[0].length>0||"empty record")),J(t.record),"allow"),{consumeAll:!0});return function(e,n){const r=i(e,n);if(Array.isArray(r)&&r.length>0&&t.header){const e=r.shift().map(((e,t)=>[e,t]));e.sort(((e,t)=>et?1:0));for(let t=0;t(e[t]=n.replace(new RegExp(`[^${t}]`,"g"),"").length/t.length,e)),{}),o=Oi.reduce(((e,t)=>(e[t]=n.replace(new RegExp(`[^${t}]`,"g"),"").length/t.length,e)),{}),i=Yi.reduce(((e,t)=>(e[t]=n.replace(new RegExp(`[^${t}]`,"g"),"").length/t.length,e)),{}),s={field:",",record:"\n",quote:'"'};let a=0;for(const e in r)r[e]>a&&(s.field=e,a=r[e]);a=0;for(const e in o)o[e]>a&&(s.record=e,a=o[e]);a=0;for(const e in i)i[e]>a&&(s.quote=e,a=i[e]);return s}function zi(e,t){return{type:"value",names:e,apply:t}}const Xi={y:[0,12],M:[1,30],d:[2,24]},Ci={places:2,"all-numeric":!1,method:"half-even"};const Si=/^[^\d]*(\d+(?:\.\d*)?)/,Ni=/^\s*$/;function Ti(e){return!isNaN(e)&&!Ni.test(e)}function Fi(e){return isNaN(e)||!e?0:+e}function Ui(e,t){return e===t||e==t||(En(e)&&En(t)?+Ln(e)==+Ln(t):"number"==typeof e&&"number"==typeof t&&(isNaN(e)&&isNaN(t)))}function Hi(e,t,n=.5){const r=Ei(e,t,n,0);return r&&r[1]||void 0}function qi(e,t,n=.5,r=2){const o=Ei(e,t,n,r);return o&&o[2]||0}function Ei(e,t,n=.5,r=2){if(!e||!t)return;const o=e.toLowerCase(),i=t.toLowerCase();o.indexOf(i),i.indexOf(o);let s=0,a=0,l=0,u=0,c=0,f=0,p=0,g=0,d=0;const h=e.length,y=t.length;let m=0,$=0;for(s=0;s=n)return[o.substr(s,l),i.substr(a,u),d]}}xn(zi(["is","is-not","==","!="],((e,t)=>{const[n,r]=t;let o=Ui(n,r);return o||"is"!==e&&"is-not"!==e||!yi(r)||(o=!0===vi(n,r,"loose")),"is"===e||"=="===e?o:!o})),zi(["strict-is","strict-is-not"],((e,t)=>{const[n,r]=t;let o=n===r;return!o&&yi(r)&&(o=!0===vi(n,r,"strict")),"strict-is"===e?o:!o})),zi(["deep-is","deep-is-not","===","!=="],((e,t,n,r)=>{let[o,i,s]=t;if(s&&zn(s)){const e=s;s=(t,n)=>mn(r,e,[t,n])}const a=ui(o,i,s);return"deep-is"===e||"==="===e?a:!a})),zi(["not"],((e,t)=>!t[0])),zi(["<",">","<=",">=","gt","gte","lt","lte"],((e,t)=>{"gt"===e?e=">":"lt"===e?e="<":"gte"===e?e=">=":"lte"===e&&(e="<=");let[n,r]=t;return n instanceof Date||r instanceof Date?"number"==typeof n||"number"==typeof r?(n=+n,r=+r):"string"==typeof n||"string"==typeof r?(n=new Date(n),r=new Date(r)):n&&"f"in n&&"o"in n?(n=qn(n)["<"===e[0]?1:0],r=new Date(r)):r&&"f"in r&&"o"in r&&(r=qn(r)["<"===e||">="===e?0:1],n=new Date(n)):En(n)?(n=qn(n)["<"===e[0]?1:0],r=En(r)?qn(r)["<"===e||">="===e?0:1]:new Date(r)):En(r)&&(r=qn(r)["<"===e||">="===e?0:1],n=new Date(n)),"<"===e?n"===e?n>r:"<="===e?n<=r:">="===e&&n>=r})),zi(["like","not-like","ilike","not-ilike"],((e,t)=>{const[n,r,o]=t;let i=!1;const s="string"==typeof r?[r]:r,a="free"===o||"object"==typeof o&&o.free;if(!Array.isArray(s))return!1;for(let t=0;to.test(e))):o.test(n)}return"like"===e||"ilike"===e?i:!i})),zi(["in","not-in"],((e,t,n,r)=>{const[o,i]=t;let s;if(En(i)){const t=qn(i),n=En(o)?qn(o)[0]:new Date(o),r=n>=t[0]&&n<=t[1];return"in"===e?r:!r}if("string"==typeof o&&"object"==typeof i&&!Array.isArray(i))return o in i;if(Array.isArray(o)&&o.length>0&&"string"==typeof o[0]&&!Array.isArray(i)&&i&&"object"==typeof i){const t=Object.keys(i),n=o.reduce(((e,n)=>e&&~t.indexOf(n)),!0);return"in"===e?n:!n}if("string"==typeof i&&Ti(o)&&(s=Ii(r,i),Array.isArray(s))){const t=s.reduce(((e,t)=>e||(Array.isArray(t)?o>=t[0]&&o<=t[1]:o==t)),!1);return"in"===e?t:!t}if(zn(o)){let t=!1;return Array.isArray(i)||i&&"object"==typeof i&&"0"in i?t=Array.prototype.find.call(i,((e,t)=>mn(r,o,[e,t],{index:t,key:t}))):i&&"object"==typeof i&&(t=Object.entries(i).find(((e,t)=>mn(r,o,[e[1],t,e[0]],{index:t,key:e[0]})))),"in"===e?!!t:!t}if(!Array.isArray(i)&&"string"!=typeof i)return"in"===e?o==i:o!=i;if(Array.isArray(o)&&Array.isArray(i)){const t=o.reduce(((e,t)=>e&&~i.indexOf(t)),!0);return"in"===e?!!t:!t}const a=!!~i.indexOf(o);return"in"===e?a:!a})),zi(["contains","does-not-contain"],((e,t,n,r)=>{const[o,i]=t;if(En(o)){const t=qn(o),n=En(i)?qn(i)[0]:new Date(i),r=n>=t[0]&&n<=t[1];return"contains"===e?r:!r}if(zn(i)){let t=!1;return Array.isArray(o)||o&&"object"==typeof o&&"0"in o?t=Array.prototype.find.call(o,((e,t)=>mn(r,i,[e,t],{index:t,key:t}))):i&&"object"==typeof o&&(t=Object.entries(o).find(((e,t)=>mn(r,i,[e[1],t,e[0]],{index:t,key:e[0]})))),"contains"===e?!!t:!t}if(!Array.isArray(o)&&"string"!=typeof o)return!1;if(Array.isArray(i)&&Array.isArray(o)){const t=i.reduce(((e,t)=>e&&~o.indexOf(t)),!0);return"contains"===e?!!t:!t}const s=!!~o.indexOf(i);return"contains"===e?s:!s})),zi(["clamp"],((e,[t,n,r])=>nr?r:n)),zi(["get"],((e,t,n,r)=>{const[o,i]=t,s=Tn(r,{value:o});return"string"==typeof(a=i)||"object"==typeof a&&Array.isArray(a.k)?gn(s,i):"number"==typeof i?gn(s,""+i):hn(s,i);var a})),zi(["array"],((e,t)=>t)),zi(["object"],((e,t)=>{const n={};for(let e=0;e"string"!=typeof t?[t]:t.split(n||""))),zi(["filter"],((e,t,n,r)=>{let[o,i,s,a]=t;if(!Array.isArray(o)){if(!o||!Array.isArray(o.value)){if("object"==typeof o&&o){let e=Object.entries(o).filter(((e,t)=>mn(r,i,[e[1],t,e[0]],{index:t,key:e[0]})));return s&&(e=jn(r,e,s,((e,t,n)=>mn(e,t,[n[1],n[0]],{key:n[0]})))),e.reduce(((e,t)=>(e[t[0]]=t[1],e)),{})}return[]}o=o.value}return kn({value:o},i,s,a,r).value})),zi(["source"],((e,t,n,r)=>{const[o,i]=t;let s=pn(o);return zn(i)?mn(r,i,[],{source:s}):s})),zi(["group"],((e,t,n,r)=>{let[o,i]=t;if(!Array.isArray(o)){if(!o||!Array.isArray(o.value))return{};o=o.value}return kn({value:o},null,null,i,r).value})),zi(["sort"],((e,t,n,r)=>{let[o,i]=t;if(!Array.isArray(o)){if(!o||!Array.isArray(o.value))return o&&"object"==typeof o?(i||(i=[{a:{r:{p:"@",k:["key"]}}}]),jn(r,Object.entries(o),i,((e,t,n)=>mn(e,t,[n[1],n[0]],{key:n[0]}))).reduce(((e,t)=>(e[t[0]]=t[1],e)),{})):{};o=o.value}return i||(i=[{a:{r:{k:["_"]}}}]),jn(r,o,i)})),zi(["time-span","time-span-ms"],((e,t,n)=>{const r=n||{},o=En(t[0])&&En(t[1])?function(e,t){if(isNaN(+e)||isNaN(+t))return{d:[]};if(t0&&(o.d[0]+=a,n.setFullYear(r.getFullYear()-1)),n.setFullYear(n.getFullYear()+1),n>r?n.setFullYear(n.getFullYear()-1):o.d[0]++,1===e.getMonth()&&29===e.getDate()&&1!==n.getMonth()&&(n.setDate(29),n.setMonth(1));;){if(a=n.getDate(),i=n.getMonth(),s=n.getFullYear(),n.setDate(a+1),n.getMonth()!==i?(n.setDate(1),n.setMonth(i+2),n.setDate(0)):(n.setDate(a),n.setMonth(i+1),(11===i?0!==n.getMonth():n.getMonth()!==i+1)&&(n.setDate(1),n.setMonth(i+2),n.setDate(0))),n>r){n.setFullYear(s),n.setDate(1),n.setMonth(i),n.setDate(a);break}o.d[1]++}for(;;){if(n.setDate(n.getDate()+1),n>r){n.setDate(n.getDate()-1);break}o.d[2]++}for(;;){if(n.setHours(n.getHours()+1),n>r){n.setHours(n.getHours()-1);break}o.d[3]++}for(;;){if(n.setMinutes(n.getMinutes()+1),n>r){n.setMinutes(n.getMinutes()-1);break}o.d[4]++}for(;;){if(n.setSeconds(n.getSeconds()+1),n>r){n.setSeconds(n.getSeconds()-1);break}o.d[5]++}return n.getMilliseconds()<=r.getMilliseconds()?o.d[6]=r.getMilliseconds()-n.getMilliseconds():o.d[6]=1e3-n.getMilliseconds()+r.getMilliseconds(),o}(Ln(t[0]),Ln(t[1])):_n(t[0])?t[0]:0;if(r.unit){const e=(Array.isArray(r.unit)?r.unit:[r.unit]).map((e=>"y"===e[0]?"y":"M"===e[0]||"m"===e[0]&&"i"!==e[1]&&"m"!==e[1]?"M":"w"===e[0]?"w":"d"===e[0]?"d":"h"===e[0]?"h":"m"!==e[0]||e[1]&&"i"!==e[1]&&"m"!==e[1]?"s"===e[0]?"s":"m"===e[0]&&"s"===e[1]?"l":"":"m")).filter((e=>!!e));let t,n;if("number"!=typeof o&&!Oe(o)){const r=e.join("");if("d"===r)if(o.s){const e=new Date(o.s);e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0);const t=new Date(+e);t.setDate(1),t.setFullYear(t.getFullYear()+o.d[0]),t.setMonth(e.getMonth()+o.d[1]);const r=t.getMonth();t.setDate(e.getDate()),t.getMonth()!==r&&t.setDate(0),t.setDate(t.getDate()+o.d[2]);const i=+t-+e;let s=Math.floor(i/864e5);i%864e5>=828e5&&s++,n=[s]}else n[0]+=365*o.d[0],n[0]+=30*o.d[1];else e.length<4&&("y"===r||"yM"===r||"yMd"===r||"M"===r||"Md"===r||"d"===r)&&(n=e.map((e=>(t=o.d[Xi[e][0]+1]/Xi[e][1],o.d[Xi[e][0]]))),"M"===e[0]&&(n[0]+=12*o.d[0]))}if(!n){let r="number"==typeof o||Oe(o)?Ye(o):o&&"s"in o?+Rn(new Date(o.s),o,1)-+new Date(o.s):o.d[0]*Me.y+o.d[1]*Me.m+o.d[2]*Me.d+o.d[3]*Me.h+o.d[4]*Me.mm+o.d[5]*Me.s+o.d[6];n=e.map((()=>0));const i={y:"m",M:"w",w:"d",d:"h",h:"mm",m:"s"},s={y:12,M:4.3,w:7,d:24,h:60,m:60};for(let o=0;o=.5&&n[n.length-1]++:"c"===(r.round||"")[0]&&(t>0&&n[n.length-1]++,"y"===e[0]&&"M"===e[1]&&2===e.length&&12===n[1]&&(n[0]++,n[1]=0)),r.string){const t={y:"year",M:"month",w:"week",d:"day",h:"hour",m:"minute",s:"second",l:"millisecond"};let r="";for(let o=0;o1?"s":""}`);return r}return Array.isArray(r.unit)?n:n[0]}if(!r.string)return o;if("number"!=typeof o&&!Oe(o)){let e="";const t=["year","month","day","hour","minute","second","millisecond"];for(let n=0;n1?"s":""}`);return e}{let e=Ye(o),t="";const n=["w","d","h","mm","s"],r=["week","day","hour","minute","second","millisecond"];for(let o=0;oMe[n[o]]){const i=Math.floor(e/Me[n[o]]);e-=Me[n[o]]*i,t+=`${t.length?" ":""}${i} ${r[o]}${i>1?"s":""}`}e&&(t+=`${t.length?" ":""}${e} millisecond${e>1?"s":""}`)}})),zi(["string","unparse"],((e,t,n)=>{const[r]=t;if((n=n||t[1]||{})&&"object"==typeof n||(n={}),"unparse"===e&&(n=Object.assign({},n,{raport:1})),n.raport&&n.tpl&&(n.template=1),!n&&null==r)return"";if("object"==typeof n){if(n.json)return JSON.stringify(r);if(n.schema)return Go(r);if(n.raport){let e=Fo(r,n);return void 0===e&&(e=Fo({v:r},n)),e}if("string"==typeof r&&n.styled)return to(r)}if(Array.isArray(r))return r.join(", ");let o=`${r}`;return"[object"===o.slice(0,7)?JSON.stringify(r):o})),zi(["call"],((e,t,n,r)=>{if(null!=t[0]&&"string"==typeof t[1]&&"function"==typeof t[0][t[1]]){const e=t.shift();return e[t.shift()].apply(e,t)}if("function"==typeof t[0]){return t.shift().apply(null,t)}if(Cn(t[0]))return mn(r,t[0],t.slice(1))})),zi(["intersect"],((e,[t,n])=>{if(!Array.isArray(t)||!Array.isArray(n))return[];const r=[];let o;for(let e=0;edn(o,t,n,!0))),zi(["set"],((e,[t,n],r,o)=>dn(o,t,n))),zi(["similarity"],((e,[t,n,r,o])=>qi(`${t||""}`,`${n||""}`,r,o))),zi(["similar"],((e,[t,n,r,o])=>Ei(`${t||""}`,`${n||""}`,r,o))),zi(["overlap"],((e,[t,n,r])=>Hi(`${t||""}`,`${n||""}`,r))),zi(["validate","valid"],((e,[t,n,r],o)=>{const i=vi(t,n,r||(null==o?void 0:o.mode)||(null==o?void 0:o.strict)&&"strict");return"valid"===e?!0===i:i})),zi(["inspect"],((e,[t,n],r)=>"schema"===(n||(null==r?void 0:r.mode))?Go(mi(t,null==r?void 0:r.flat)):mi(t))),zi(["diff"],((e,[t,n,r],o,i)=>{if(r&&zn(r)){const e=r;r=(t,n)=>mn(i,e,[t,n])}return ai(t,n,r)})),zi(["label-diff"],((e,[t,n],r)=>fi(t,n,r)))),xn(zi(["+","add"],((e,t)=>{if(1===t.length)return En(t[0])?+Ln(t[0]):t[0]?parseFloat(t[0]):0;if(Array.isArray(t[0]))return t[0].concat.apply(t[0],t.slice(1));if(En(t[0])&&t.length>1&&t.slice(1).reduce(((e,t)=>e&&_n(t)),!0))return t.slice(1).reduce(((e,t)=>Rn(e,t,1)),Ln(t[0]));if("number"!=typeof t[0]&&t.length>1&&_n(t[0]))return t.slice(1).reduce(((e,t)=>function(e,t){if("number"==typeof e&&"number"==typeof t)return e+t;{const n={d:[]};if("number"==typeof e)n.d[6]=e;else if(Oe(e))n.d[6]=e.ms;else for(let t=0;t<7;t++)e.d[t]&&(n.d[t]=e.d[t]);if("number"==typeof t)n.d[6]=(n.d[6]||0)+t;else if(Oe(t))n.d[6]=(n.d[6]||0)+t.ms;else for(let e=0;e<7;e++)t.d[e]&&(n.d[e]=(n.d[e]||0)+t.d[e]);return n}}(e,t)),t[0]);if(t.reduce(((e,t)=>e&&"object"==typeof t&&!En(t)),!0))return Object.assign.apply(Object,[{}].concat(t));return t.reduce(((e,t)=>e&&Ti(t)),!0)?t.reduce(((e,t)=>e+ +t),0):t.reduce(((e,t)=>e+(null==t?"":t)),"")})),zi(["num"],((e,[t])=>{let n;return(n=Si.exec(t))?+n[1]:parseInt(t)})),zi(["-","subtract"],((e,t)=>{const n=t.shift();if(En(n)){if(t.reduce(((e,t)=>e&&En(t)),!0))return t.reduce(((e,t)=>e-+Ln(t)),+Ln(n));if(t.reduce(((e,t)=>e&&_n(t)),!0))return t.reduce(((e,t)=>Rn(e,t,-1)),Ln(n))}return t.reduce(((e,t)=>e-(Ti(t)?+t:0)),Ti(n)?+n:0)})),zi(["*","multiply"],((e,t)=>{const n=t.shift();if(!Ti(n)){if("string"==typeof n&&1===t.length&&Ti(t[0])&&+t[0]>0){let e="";for(let r=0;re*(Ti(t)?+t:0)),+n)})),zi(["/","/%","divide","intdiv"],((e,t)=>{const n=t.shift();return isNaN(n)?0:e.length>1||"intdiv"===e?t.reduce(((e,t)=>Math.floor(e/(isNaN(t)?1:+t))),+n):t.reduce(((e,t)=>e/(isNaN(t)?1:+t)),+n)})),zi(["%","modulus"],((e,t)=>{const n=t.shift();return t.reduce(((e,t)=>e%(isNaN(t)?1:+t)),isNaN(n)?0:+n)})),zi(["pow","**"],((e,t)=>{const n=t.pop(),r=Math.pow(t.pop(),n);return t.reverse().reduce(((e,t)=>Math.pow(t,e)),r)})),zi(["abs"],((e,t)=>"number"!=typeof t[0]?t[0]:Math.abs(t[0]))),zi(["round"],((e,[t,n,r])=>void 0!==n||Ci["all-numeric"]?+function(e,t=Ci.places,n=Ci.method){if(t>0){let r=(+e||0).toString();const o=r.indexOf(".");if(!~o)return(+r).toFixed(t);let i=r.slice(o+1);if(i.length<=t)return(+r).toFixed(t);r+="0",i+="0";const s=+`${r.slice(t-i.length,t-i.length+1)}`||0;if(+s<5)return r.slice(0,t-i.length);if(+s>5||+`${r.slice(1+t-i.length)}`)return(+e).toFixed(t);{const e=`${r.slice(0,t-i.length)}`,o=+r.slice(t-i.length-1,t-i.length);return"half-odd"===n?(+`${e}${o%2==0?6:4}`).toFixed(t):"half-up"===n?(+`${e}${+e>0?6:4}`).toFixed(t):"half-down"===n?(+`${e}${+e>0?4:6}`).toFixed(t):"to-0"===n?(+`${e}4`).toFixed(t):"from-0"===n?(+`${e}6`).toFixed(t):(+`${e}${o%2==0?4:6}`).toFixed(t)}}if(0===t){let t=(+e||0).toString();const r=t.indexOf(".");if(!~r)return t;t=`${t}00`;const o=+t.slice(r-1,r),i=+t.slice(r+1,r+2);if(i<5)return t.slice(0,r);if(i>5||5===i&&+t.slice(r+2))return(+`${t.slice(0,r-1)}0`+(o+1)*(+t<0?-1:1)).toString();{const e=+`${t.slice(0,r-1)}0`;return"half-odd"===n?(e+(o%2==0?o+1:o)*(+t<0?-1:1)).toString():"half-up"===n?(e+(+t>0?o+1:o)*(+t<0?-1:1)).toString():"half-down"===n?(e+(+t<0?o+1:o)*(+t<0?-1:1)).toString():"to-0"===n?e.toString():"from-0"===n?(e+1).toString():(e+(o%2==0?o:o+1)*(+t<0?-1:1)).toString()}}{let r=`${+e<0?Math.floor(+e||0):Math.ceil(+e||0)}`;if(0-t>r.length)return"0";const o=+r.slice(t,-1===t?void 0:t+1);let i=r.slice(t-1,t);"-"===i&&(i="");const s=`${Math.pow(10,0-t).toString().slice(1)}`;if(i){if(o<5)return`${r.slice(0,t)}${s}`;if(o>5||t<-1&&+`${r.slice(t+1)}`)return(+`${+r.slice(0,t-1)||0}0${s}`+ +`${+i+1}${s}`*(+r<0?-1:1)).toString();{const e=+`${r.slice(0,t-1)||0}0${s}`;return"half-odd"===n?(e+ +`${+i%2==0?+i+1:+i}${s}`*(+r<0?-1:1)).toString():"half-up"===n?(e+ +`${+r>0?+i+1:+i}${s}`*(+r<0?-1:1)).toString():"half-down"===n?(e+ +`${+r<0?+i+1:+i}${s}`*(+r<0?-1:1)).toString():"to-0"===n?(e+ +`${+i}${s}`*(+r<0?-1:1)).toString():"from-0"===n?(e+ +`${+i+1}${s}`*(+r<0?-1:1)).toString():(e+ +`${+i%2==0?+i:+i+1}${s}`*(+r<0?-1:1)).toString()}}{const e=`${+r<0?"-":""}1${s}`;return+r>0&&+r<5||+r<0&&+r>-5?"0":+r>0&&+r>5||+r<0&&+r<-5||"half-odd"===n?e:"half-up"===n?+r>0?e:"0":"half-down"===n?+r>0?"0":e:"to-0"===n?"0":"from-0"===n?e:"0"}}}(t,n,r):Math.round(t))),zi(["floor"],((e,t)=>Math.floor(t[0]))),zi(["ceil"],((e,t)=>Math.ceil(t[0]))),zi(["rand","random"],((e,[t,n,r])=>{let o;return null==t?Math.random():("number"!=typeof n?o=Math.random()*t:"number"==typeof n&&(o=Math.random()*(n-t)+t),!0===n||!0===r?o:Math.round(o))})));const Li=/^\s*/,Pi=/\s*$/,_i=/([\.\[\]\{\}\(\)\^\$\*\+\-])/g;function Ri(e,t){if("string"==typeof e){const t=gt(e);t&&(e=t)}return go(En(e)?Pn(e):e,t)}function Ii(e,t){const n=e.root._ranges||(e.root._ranges={});return t in n?n[t]:n[t]=ni(t)}function Ji(e,t,n,r){if(Array.isArray(t)){if(0===t.length)return e;if(2===t.length){const[n,o]=t;if(Array.isArray(n))for(const t of n)r?t in e?e[t].push(o):e[t]=[o]:e[t]=o;else r?n in e?e[n].push(o):e[n]=[o]:e[n]=o}}else if("object"==typeof t){const o=t;if("many"in o&&Array.isArray(o.many))for(const t of o.many)Ji(e,t,n,r);else("key"in o||"keys"in o)&&Ji(e,[o.key||o.keys,o.value||n],n,r)}else r?t in e?e[t].push(n):e[t]=[n]:e[t]=n;return e}xn(zi(["eval"],((e,[t],n,r)=>(null==n?void 0:n.template)?yn((null==n?void 0:n.context)||r,t):hn((null==n?void 0:n.context)||r,t))),zi(["padl","padr","pad"],((e,t)=>{let[n,r,o]=t;return function(e,t,n,r){if("string"!=typeof t&&(t=""+t),!Ti(n))return t;r||(r=" "),"string"!=typeof r&&(r=""+r),r.length<1&&(r=" ");const o=(n-t.length)/2;for(let i=0;t.length{let[n]=t;return n=""+n,"trim"!==e&&"trimr"!==e||(n=n.replace(Pi,"")),"trim"!==e&&"triml"!==e||(n=n.replace(Li,"")),n})),zi(["slice","substr"],((e,[t,n,r],o,i)=>{if(t&&"function"==typeof t.slice)return t.slice(n,r);{const e=wn("string");if(e)return`${e.apply("string",[t],void 0,i)}`.slice(n,r)}})),zi(["len","length"],((e,[t])=>"string"==typeof t||t&&"length"in t?t.length:0)),zi(["replace","replace-all"],((e,[t,n,r,o])=>{t=`${t}`;const i="string"==typeof o;return"replace-all"===e||i?t.replace(new RegExp(i?n:n.replace(_i,"\\$1"),("replace"===e||o&&~o.indexOf("g")?o:`${o||""}g`)||"g"),r):t.replace(n,r)})),zi(["reverse"],((e,[t])=>{if("string"==typeof t){let e="";for(let n=0;n{if(!t)return[];if(n){const e=[];for(const n in t)e.push(n);return e}return Object.keys(t)})),zi(["values"],((e,[t])=>t?Object.values(t):[])),zi(["date"],((e,t,n,r)=>{let o,[i,s]=t;if("object"==typeof n&&n||(n={}),void 0!==i){if(En(i))o=Ln(i);else if("string"==typeof i){let e=gt(i);if(En(e))o=e;else if(e||(e=new Date(i)),isNaN(e)){let e=hn(r,~i.indexOf("#")?i:`#${i}#`);En(e)&&(o=n.rel||n.parse?e:Ln(e))}}o||(o=new Date(i))}else o=new Date;if((n.rel||n.parse)&&En(o)){let e=Pn(o);if("string"==typeof s&&(s=st(s)),Array.isArray(s)){const t=e.f;t[3]=s[0],t[4]=s[1],t[5]=s[2],t[6]=s[3],s=s[4]}if("number"==typeof s){if(n.shift){const t=(+e.f[7]||0)-s,n=Ln(e);n.setMinutes(n.getMinutes()-t),e=Pn(n)}e.f[7]=s,o=e}}else{const e=En(o)?Ln(o):o;"y"in n&&!isNaN(n.y)&&e.setFullYear(n.y);const t=e.getFullYear();"m"in n&&!isNaN(n.m)&&(e.setMonth(+n.m-1),n.clamp&&e.getFullYear()!==t&&(e.setFullYear(t),e.setMonth(11)));const r=e.getMonth();if("d"in n&&!isNaN(n.d)&&(e.setDate(n.d),!n.clamp||e.getMonth()===r&&e.getFullYear()===t||(e.setDate(1),e.setFullYear(t),e.setMonth(r+1),e.setDate(0))),s){if(o===i)if("string"==typeof i){const e=gt(i);o=e&&En(e)?Ln(e):new Date(i)}else o=new Date(i);if("string"==typeof s&&(s=st(s)),Array.isArray(s)){if(e.setHours(s[0]||0,s[1]||0,s[2]||0,s[3]||0),null!=s[4]){const t=-e.getTimezoneOffset()-s[4];e.setMinutes(e.getMinutes()+t)}}else if("number"==typeof s){const t=-e.getTimezoneOffset()-s;e.setMinutes(e.getMinutes()+t)}}o=e}if(!(o instanceof Date&&isNaN(+o)))return o})),zi(["interval"],((e,[t],n,r)=>hn(r,~t.indexOf("#")?t:`#${t}#`))),zi(["upper","lower"],((e,[t])=>(t=null==t?"":t,"upper"===e?`${t}`.toUpperCase():`${t}`.toLowerCase()))),zi(["format","fmt"],((e,t,n,r)=>{let[o,i,...s]=t;const a=Fn[i];if(a)return a.apply(o,s,n||a.defaults);{const e=wn(i);if(e){const t=[o,...s];if("aggregate"===e.type)return e.apply(i,Array.isArray(o)?o:[o],s.map((e=>({v:e}))),n||Un[i],r);if("checked"===e.type){for(let o=0;o{if("format"===t&&"string"==typeof n){const e=Fn[n];if(e)return Object.assign(e.defaults,r);const t=Un[n];if(t)return Object.assign(t.defaults,r)}else"round"===t&&Object.assign(Ci,r)})),zi(["parse"],((e,t,n)=>{(n=n||t[1]||{})&&"object"==typeof n||(n={});const[r]=t;return n.date?gt(r,n):n.template||n.tpl?fn(r,n):n.time?st(r,n):n.expr?Pt(r,n):n.schema?Ko(r):n.range?ni(r,n):n.csv?(n.detect&&(n=Object.assign(Di(r),n)),function(e,t){const n=ki(Object.assign({},t,{header:!1}))(e);if("message"in n)return[];if(t.header&&n.length){const e=n.shift().map(((e,t)=>[e,t]));return e.sort(((e,t)=>e[0]t[0]?1:0)),n.map((t=>e.reduce(((e,n)=>(e[n[0]]=t[n[1]],e)),{})))}return n}(r,n)):_t(r,n)})),zi(["detect-delimiters"],((e,[t])=>"string"!=typeof t?{}:Di(t)))),xn({type:"checked",names:["and","&&"],checkArg:(e,t,n,r)=>r?"continue":{result:r},apply:(e,t)=>t[t.length-1]},{type:"checked",names:["or","||","??"],checkArg:(e,t,n,r)=>("??"===e?null!=r:r)?{result:r}:"continue",apply:e=>"??"===e&&void 0},{type:"checked",names:["if","unless"],checkArg:(e,t,n,r)=>t%2==0?t===n?{result:r}:("if"===e?!r:r)?{skip:1}:"continue":{result:r},apply(){}},{type:"checked",names:["case","switch"],checkArg(e,t,n,r,o,i,s){if(0===t)return(i.special||(i.special={})).case=r,"continue";if(t%2==1){if(t===n)return{result:r};if(Ui(r,i.special.case))return"continue";if(Cn(s)&&"op"in s&&!0===r)return"continue";if(Cn(r)){const e=bn(i,r);if(Ui(e,i.special.case))return"continue";if(!0===e)return"continue"}return{skip:1}}return{result:r}},apply(){},extend:!0},{type:"checked",names:["each"],checkArg:(e,t,n,r)=>0===t?Array.isArray(r)&&r.length||r&&"object"==typeof r&&Object.keys(r).length?"continue":{skip:1}:1===t?{skip:n-t,value:r}:t===n?{result:r}:t%2==0?r?"continue":{skip:1}:{result:r},apply(e,[t,n],r,o){if(Array.isArray(t)){const e=t.length-1;return t.map(((t,r)=>mn(Tn(o,{value:t,special:{last:e,index:r,key:r,"last-key":e}}),n,[t,r]))).join((null==r?void 0:r.join)||"")}if("object"==typeof t&&t){const e=Object.entries(t),r=e[e.length-1][0],i=e.length-1;return Object.entries(t).map((([e,t],s)=>mn(Tn(o,{value:t,special:{last:i,"last-key":r,index:s,key:e}}),n,[t,e]))).join("")}return""}},{type:"checked",names:["with"],checkArg:(e,t,n,r)=>0===t&&r&&"object"==typeof r?"continue":1===t?{skip:n-t,value:r}:t===n?{result:r}:t%2==0?r?"continue":{skip:1}:{result:r},apply:(e,[t,n],r,o)=>mn(Tn(o,{value:t}),n,[t])},{type:"checked",names:["coalesce","coalesce-truth"],checkArg:(e,t,n,r)=>"coalesce"===e&&null!=r||r?{result:r}:"continue",apply(){}}),xn({type:"aggregate",names:["avg"],apply:(e,t,n,r,o)=>t.reduce(((e,t)=>e+Fi(n[0]?mn(o,n[0],[t]):t)),0)/t.length},{type:"aggregate",names:["sum"],apply:(e,t,n,r,o)=>t.reduce(((e,t)=>e+Fi(n[0]?mn(o,n[0],[t]):t)),0)},{type:"aggregate",names:["count"],apply:(e,t,n,r,o)=>n.length?t.filter(((e,t)=>mn(o,n[0],[e,t]))).length:t.length},{type:"aggregate",names:["min","max"],apply:(e,t,n,r,o)=>(zn(n[0])?t=t.map((e=>mn(o,n[0],[e]))):n.length&&!t.length&&(t=n.map((e=>$n(o,e)))),t.length?Math[e].apply(Math,t.filter((e=>!isNaN(e)))):0)},{type:"aggregate",names:["first","nth","last"],apply(e,t,n,r,o){let i,s=0;if("first"===e)i=t[0];else if("last"===e)i=t[t.length-1];else if(n[0]){const e=$n(o,n[0]);"number"==typeof e&&(i=e<0?t[t.length+e]:t[e-1],s=1)}return n[s]&&(i=$n(o,n[s])),i}},{type:"aggregate",names:["map"],apply(e,t,n,r,o){if(!n[0])return t;let i,s;if(zn(n[0])?(i=t,s=$n(o,n[0])):zn(n[1])&&(i=$n(o,n[0]),s=$n(o,n[1])),(Array.isArray(i)||i&&"0"in i)&&zn(s))return Array.prototype.map.call(i,((e,t)=>mn(o,s,[e,t],{index:t,key:t})));if(i&&"object"==typeof i&&zn(s)){if(r&&r.array)return Object.entries(i).map(((e,t)=>mn(o,s,[e[1],t,e[0]],{index:t,key:e[0]})));if(r&&r.entries)return Object.entries(i).reduce(((e,t,n)=>{const r=mn(o,s,[t[1],n,t[0]],{index:n,key:t[0]});return null===r||(Array.isArray(r)&&2===r.length&&"string"==typeof r[0]?e.push(r):e.push([t[0],r])),e}),[]);const e={};return Object.entries(i).forEach(((t,n)=>{const r=mn(o,s,[t[1],n,t[0]],{index:n,key:t[0]});if(Array.isArray(r)&&2===r.length&&"string"==typeof r[0])e[r[0]]=r[1];else{if(null==r)return;e[t[0]]=r}})),e}}},{type:"aggregate",names:["index"],apply(e,t,n,r,o){if(!n[0])return{};const i=r&&r.many;return t.reduce(((e,t,r)=>Ji(e,mn(o,n[0],[t,r],{index:r,all:e}),t,i)),{})}},{type:"aggregate",names:["reduce"],apply:(e,t,n,r,o)=>n[0]?t.reduce(((e,t,r)=>mn(o,n[0],[e,t,r])),$n(o,n[1])):t},{type:"aggregate",names:["unique","unique-map"],apply(e,t,n,r,o){const i=[],s=[];for(const e of t){const t=n[0]?mn(o,n[0],[e]):e;~i.indexOf(t)||(i.push(t),s.push(e))}return"unique"===e?s:i}},{type:"aggregate",names:["join"],apply:(e,t,n,r,o)=>(zn(n[0])&&(t=t.map((e=>mn(o,n[0],[e]))),n=n.slice(1)),n.length>1&&t.length>2?[t.slice(0,-1).join($n(o,n[0])),t[t.length-1]].join($n(o,n[1])):n.length>2&&2===t.length?t.join($n(o,n[2])):t.join($n(o,n[0])))},{type:"aggregate",names:["find"],apply(e,t,n,r,o){if(n[0]){if(zn(n[0]))return t.find(((e,t)=>mn(o,n[0],[e,t],{index:t,key:t})));if(!zn(n[1])){const e=$n(o,n[0]);return t.find((t=>t==e))}{const e=$n(o,n[0]);if(Array.isArray(e))return e.find(((e,t)=>mn(o,n[1],[e,t],{index:t,key:t})));if("object"==typeof e&&e){const t=Object.entries(e).find(((e,t)=>mn(o,n[1],[e[1],t,e[0]],{index:t,key:e[0]})));if(t)return t[1]}}}}},{type:"aggregate",names:["block"],apply(e,t,n,r,o){const i=n.length-1;if(i<0)return;const s=Tn(o,{locals:r&&r.implicit&&o.locals||{},fork:!o.locals});for(let e=0;eRi(e,"yyyy-MM-ddTHH:mm:sszzz"))),Hn(["integer","int"],(function(e,[t,n],r){var o,i;return lo(e,0,null!==(o=null!=t?t:null==r?void 0:r.group)&&void 0!==o?o:this.defaults.group,null!==(i=null!=n?n:null==r?void 0:r.neg)&&void 0!==i?i:this.defaults.neg)}),{group:",",neg:"sign"}),Hn(["number","num"],(function(e,[t,n,r],o){var i,s,a;return lo(e,null!==(i=null!=t?t:null==o?void 0:o.dec)&&void 0!==i?i:this.defaults.dev,null!==(s=null!=n?n:null==o?void 0:o.group)&&void 0!==s?s:this.defaults.group,null!==(a=null!=r?r:null==o?void 0:o.neg)&&void 0!==a?a:this.defaults.neg)}),{dec:2,group:",",neg:"sign"}),Hn("ordinal",(function(e,[t],n){var r;return ho(e,null!==(r=null!=t?t:null==n?void 0:n.group)&&void 0!==r?r:this.defaults.group)}),{group:","}),Hn("phone",(e=>{return"number"==typeof(t=e)&&(t=t.toString()),7===(t=(t=t||"").replace(/[^\d]/g,"")).length?`${t.substr(0,3)}-${t.substr(3,4)}`:10===t.length?`(${t.substr(0,3)}) ${t.substr(3,3)}-${t.substr(6,4)}`:11===t.length?`${t[0]}-${t.substr(1,3)}-${t.substr(4,3)}-${t.substr(7,4)}`:t;var t})),Hn("styled",(e=>to(e)));{const Zi=/\s+/g,Vi=/[\s;,.:"]\w/g,Wi=/[^a-zA-Z0-9]+([a-zA-Z0-9])/g,Bi=/[^\sa-zA-Z0-9]/g,Gi=/([a-z])([A-Z])/g,Ki=/\s([^\s])/g;function Qi(e){return e.replace(Wi,((e,t)=>t?` ${t}`:"")).replace(Bi,"").replace(Gi,((e,t,n)=>`${t} ${n}`)).trim()}Hn("case",((e,t)=>{let n=`${e||""}`.trim();for(const e of t)if("upper"===e||"up"===e)n=n.toUpperCase();else if("lower"===e||"down"===e)n=n.toLowerCase();else if("snake"===e)n=Qi(n).toLowerCase().replace(Zi,"_");else if("kebab"===e)n=Qi(n).toLowerCase().replace(Zi,"-");else if("pascal"===e){const e=Qi(n);n=e[0].toUpperCase()+e.toLowerCase().substr(1).replace(Ki,((e,t)=>(t||"").toUpperCase()))}else if("camel"===e){const e=Qi(n);n=e[0].toLowerCase()+e.toLowerCase().substr(1).replace(Ki,((e,t)=>(t||"").toUpperCase()))}else"proper"===e&&(n=/[a-z]/.test(n)?n.trim().replace(Vi,(e=>e.toUpperCase())):n.toLowerCase().trim().replace(Vi,(e=>e.toUpperCase())),n=(n[0]||"").toUpperCase()+n.substr(1));return n}))}e.CSV_DEFAULTS=ji,e.PageSizes={letter:{width:51,height:66,margin:[1.5,1.5]},legal:{width:51,height:84,margin:[1.5,1.5]},tabloid:{width:66,height:102,margin:[1.5,1.5]},a4:{width:49.606302,height:70.15746,margin:[1.5,1.5]}},e.Root=Nn,e.applySource=function(e,t,n){let r=n[t.source||t.name]||{value:[]};t.base&&(r={value:hn(Tn(e,{value:r.value,special:{source:r}}),t.base)}),t.filter||t.sort||t.group?e.sources[t.name||t.source]=kn(r,t.filter,t.sort,t.group,e):e.sources[t.name||t.source]=pn(r)},e.applySources=jr,e.checkType=Ai,e.deepEqual=ui,e.detectCSV=Di,e.diff=ai,e.evalApply=mn,e.evalParse=$n,e.evalValue=bn,e.evaluate=hn,e.extend=Tn,e.filter=kn,e.getOperator=wn,e.getOperatorMap=function(){return Object.assign({},vn)},e.initParameters=Ar,e.inspect=mi,e.isComputed=Zn,e.isValueOrExpr=Xn,e.join=function(e,t){return{parent:e,root:e.root,path:e.path?`${e.path}.${t}`:t,value:gn(e,t)}},e.labelDiff=fi,e.overlap=Hi,e.parse=_t,e.parseCSV=ki,e.parseDate=gt,e.parsePath=Ke,e.parseRange=ni,e.parseSchema=Ko,e.parseTemplate=fn,e.parseTime=st,e.registerFormat=Hn,e.registerLayout=lr,e.registerOperator=xn,e.registerRenderer=er,e.run=function(e,t,n,r){const o=n&&"root"in n&&n.root===n?n:new Nn(Object.assign({},e.context),{parameters:n});if(e.sources&&jr(o,e.sources,t),o.parameters=Object.assign({},Ar(e,t),o.parameters),e.extraContext){const t=hn(o,e.extraContext);t&&"object"==typeof t&&(o.value=Object.assign(o.value,t))}return"delimited"===e.type?function(e,t){const n=t.root.sources[e.source?e.source:e.sources[0].name||e.sources[0].source],r=Array.isArray(n.value)?n.value:"object"==typeof n.value&&"grouped"in n.value&&Array.isArray(n.value.all)?n.value.all:[n.value];let o=e.fields,i=e.headers;(!o||!o.length&&r.length)&&(o=Object.keys(r[0]),i&&i.length||(i=Object.keys(r[0]).map((e=>`'${e.replace(/'/g,"\\'")}'`))));let s="";if(i){const n=Tn(t,{parser:fn});s+=i.map((t=>`${e.quote||""}${hn(n,t)}${e.quote||""}`)).join(e.field||",")+(e.record||"\n")}const a=e.quote?new RegExp(e.quote,"g"):void 0;for(const n of r){const r=Tn(t,{value:n});s+=o.map((t=>{let n=t?`${hn(r,t)}`:"";return a&&(n=n.replace(a,e.quote+e.quote)),`${e.quote||""}${n}${e.quote||""}`})).join(e.field||",")+(e.record||"\n")}return s}(e,o):"flow"===e.type?function(e,t,n){const r={context:t,report:e,styles:{},styleMap:{ids:{},styles:{}}};let o,i="",s=0,a=null;const l=e.size&&e.size.margin?hr(e.size,r,{x:0,y:0,availableX:o,maxX:o}):[1.5,1.5,1.5,1.5];e.width?o=e.width:e.size&&(o="portrait"!==e.orientation?e.size.height:e.size.width);o&&(o-=(l[1]||0)+(l[3]||0));function u(e,t){let n;i+=`\n`;let l=0;do{if(n=sr(e,r,{x:0,y:l,availableX:o,maxX:o},a),"string"==typeof n)throw new Error("Container widget didn't specify used height");i+=n.output,l+=n.height,a=n.continue?n.continue:null}while(null!==a);s+=l,i+="\n"}e.watermark&&u(e.watermark,"watermark");let c=s||0;s=0;for(const t of e.widgets)u(t,"main");s>c&&(c=s);s=0,e.overlay&&u(e.overlay,"overlay");s>c&&(c=s);return`${n&&n.head||""}\n
${i}
${n&&n.foot||""}`}(e,o,r):function(e,t,n){var r,o,i,s,a,l,u;let c="portrait"!==e.orientation?{width:e.size.height,height:e.size.width,margin:[e.size.margin[1],e.size.margin[0]]}:e.size;const f={context:t,report:e,styles:{},styleMap:{ids:{},styles:{}}},p=hr(e,f,{x:0,y:0});t.special=t.special||{},t.special.page=0,t.special.pages=0;const g=[""];let d=0;const h=c.width-2*c.margin[1],y=c.height-2*c.margin[0];let m=y-p[0]-p[2];const $=m;let b=m,v=0;const x=h-p[1]-p[3];let w=null,A=0;if(e.header){A=sr(e.header,f,{x:0,y:0,availableX:x,availableY:m,maxX:x,maxY:b}).height,(null===(r=e.header)||void 0===r?void 0:r.outer)||(m-=A,b-=A,v+=A)}let j=0;if(e.footer){j=sr(e.footer,f,{x:0,y:0,availableX:x,availableY:m,maxX:x,maxY:b}).height,(null===(o=e.footer)||void 0===o?void 0:o.outer)||(m-=j,b-=j)}for(const t of e.widgets){let n;do{n=sr(t,f,{x:0,y:v,availableX:x,availableY:m,maxX:x,maxY:b},w),g[d]+=n.output,n.continue?(d++,g[d]="",v=(null===(i=e.header)||void 0===i?void 0:i.outer)?0:A,m=y-((null===(s=e.header)||void 0===s?void 0:s.outer)?0:A)-((null===(a=e.footer)||void 0===a?void 0:a.outer)?0:j)-p[0]-p[2],w=n.continue):(v+=n.height,m-=n.height,w=null)}while(null!==w)}t.special.pages=g.length;const k=(null===(l=e.footer)||void 0===l?void 0:l.outer)?{x:0,y:y-j,maxX:h,maxY:y}:{x:0+p[3],y:y-p[0]-j,maxX:h-p[3]-p[1],maxY:y-p[0]-p[2]},M=(null===(u=e.header)||void 0===u?void 0:u.outer)?{x:0,y:0,maxX:h,maxY:y}:{x:0+p[3],y:p[0],maxX:h-p[3]-p[1],maxY:y-p[0]-p[2]};return t.special.size={x:x,y:$},g.forEach(((n,r)=>{let o=`
\n`;if(t.special.page=r+1,e.watermark){o+=sr(e.watermark,f,{x:0,y:0,maxX:h,availableX:h,maxY:y,availableY:y}).output+"\n"}if(e.header){o+=sr(e.header,f,M).output+"\n"}if(o+=`
${n}
`,e.footer){o+=sr(e.footer,f,k).output+"\n"}if(e.overlay){o+=sr(e.overlay,f,{x:0,y:0,maxX:h,availableX:h,maxY:y,availableY:y}).output+"\n"}o+="\n
",g[r]=o})),`${n&&n.head||""}\n${g.reduce(((e,t)=>e+t),"")}${n&&n.foot||""}`}(e,o,r)},e.safeGet=gn,e.similar=Ei,e.similarity=qi,e.stringify=Fo,e.styled=to,e.template=yn,e.toDataSet=pn,e.unparseSchema=Go,e.unregisterFormat=function(e){delete Fn[e]},e.unregisterOperator=function(...e){for(const t of e)for(const e of t.names)delete vn[e]},e.validate=vi,Object.defineProperty(e,"__esModule",{value:!0})})); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Raport={})}(this,(function(e){"use strict";const t=[];let n=0;const r=[0,""],o=[0,""];function i(){return r}function s(e){return a(e?e.name||e:void 0),r.slice()}function a(e){!r[2]&&e&&(r[0]===o[0]&&r[2]===o[2]&&(o[2]=e),r[2]=e)}function l(e,i,s,a,l){return r[0]=e,r[1]=i||"",r[2]=s,r[3]=a,r[4]=l,1&n&&r[0]>=o[0]&&(o[0]=r[0],o[1]=r[1],o[2]=r[2],o[3]=r[3],o[4]=r[4]),t}function u(e){return"string"==typeof e||e&&"name"in e&&"string"==typeof e.name}function c(e,t){return{start:e,end:e,children:[],name:t}}function f(e,t,n){if(e.end=n[1],!m||e.end!==e.start)if(e.result=n[0],t)if(m)if(e.name&&e.name.primary){const n=e.children[0];if(1===e.children.length&&n.start===e.start&&n.end===e.end)t.children.push(n);else{e.name=e.name.name,e.children.reduce(((t,n,r)=>(tn.end&&((e.extra||(e.extra={}))[e.children.length]=[n.end,e.end]),t.children.push(e)}}else e.children.length&&t.children.push.apply(t.children,e.children);else t.children.push(e);else{e.children.reduce(((t,n,r)=>(tt.end&&((e.extra||(e.extra={}))[e.children.length]=[t.end,e.end])}}function p(e,t){let n=1;for(;~(t=e.lastIndexOf("\n",t))&&t;)n++,t--;return n}function g(e,t,n){const r=[],o=e[0];let i=o,s=i=t.lastIndexOf("\n",i),a=t.lastIndexOf("\n",i-1);for(let e=0;eg(e,t,n))),parser:e[2]?e[2].name||e[2]:void 0}}function d(e){let t=e;if(e[3]){const n=d(e[3]);n[0]>t[0]&&(t=n)}if(e[4]){const n=e[4].length;for(let r=0;rt[0]&&(t=n)}}return o[0]>=r[0]&&o[1]!==e[1]?o:t}const h=/^\s*/,y={};let m=!1;function $(e,t){let r;const s=t,a=t?(t.detailed?1:0)+(t.causes?2:0):0,u=t&&t.consumeAll,p=function(t,p){const $=p&&"trim"in p?p.trim:s&&s.trim,b=$?h.exec(t)[0].length:0;$&&(e=y.map(y.seq(e,y.skip(" \t\r\n")),(([e])=>e)));const x=p?(p.detailed?1:0)+(p.causes?2:0):a;let w=[null,0];1&x&&(o[0]=0,o[1]="",o[2]=void 0,o[3]=void 0,o[4]=void 0);const j=p&&"tree"in p&&p.tree&&c(0);if(m=j&&!0===(p&&"compact"in p?p.compact:!(!s||!("compact"in s))&&s.compact),x!==n){const o=n;n=x,w=(r||(r=v(e))).parse(t,b,w,j),n=o}else w=(r||(r=v(e))).parse(t,b,w,j);if(w.length&&(p&&"consumeAll"in p?p.consumeAll:u)&&w[1]l(t,1&n&&"uninitialized lazy parser")};function v(e){return e.parser||e||b}function x(e,t){let n;return n={parse:(r,o,i,s)=>(e(),n.parse=t,t(r,o,i,s))},n}function w(e){let t="";const n=e.length;for(let r=0;rr&&(n=i[e],r=n[0]);return n?[n[0],n[1],n[2],t]:t}function j(){return!1}function k(e,t){return e===t}function M(e,t){return e[0]===t||e[1]===t}function O(e,t){return e[0]===t||e[1]===t||e[2]===t}function Y(e,t){return e[0]===t||e[1]===t||e[2]===t||e[3]===t}function D(e,t){return e[0]===t||e[1]===t||e[2]===t||e[3]===t||e[4]===t}function z(e,t){return e[0]===t||e[1]===t||e[2]===t||e[3]===t||e[4]===t||e[5]===t}function X(e,t){return e[0]===t||e[1]===t||e[2]===t||e[3]===t||e[4]===t||e[5]===t||e[6]===t}function C(e,t){return e[0]===t||e[1]===t||e[2]===t||e[3]===t||e[4]===t||e[5]===t||e[6]===t||e[7]===t}function S(e,t){return e[0]===t||e[1]===t||e[2]===t||e[3]===t||e[4]===t||e[5]===t||e[6]===t||e[7]===t||e[8]===t}function N(e,t){return e[0]===t||e[1]===t||e[2]===t||e[3]===t||e[4]===t||e[5]===t||e[6]===t||e[7]===t||e[8]===t||e[9]===t}function T(e,t){const n=e.length;for(let r=0;re[o])return!1;for(;i<=o;){if(n=i+o>>1,r=e[n],r===t)return!0;r(o[1]=q(e,r,t,n),o)}}function L(e){const t=H(e),n=U(t);return{parse(e,r,o){const i=q(e,r,t,n);return o[0]=e.substring(r,i),o[1]=i,o}}}function P(e,t){const r=H(e),o=U(r);return{parse(i,s,a){const u=q(i,s,r,o);return u===s?l(s,1&n&&`expected one of ${JSON.stringify(e)}`,t):(a[0]=i.substring(s,u),a[1]=u,a)}}}function _(e,t,r){const o=t&&H(t),i=U(o||"");return{parse(t,s,a){if(t.length-s>=e){const u=t.substr(s,e);if(o)for(let t=0;t=s.length?l(c-1,1&n&&`expected one of ${JSON.stringify(e)} before end of input`,r):(u[0]=c?s.substring(a,c):"",u[1]=c,u)}}}function I(e,t,r){const o=R(e,t);return{parse(e,t,i){const s=o.parse(e,t,i);return s.length?s[1]>t?s:l(t,1&n&&"expected at least one character",r):s}}}function J(...e){const t=e.length;if(1===t){const t=e[0],r=t.length;if(1===r)return{parse:(e,r,o)=>e[r]===t?(o[0]=t,o[1]=r+1,o):l(r,1&n&&`expected ${t}`)};if(2===r)return{parse:(e,r,o)=>e[r]===t[0]&&e[r+1]===t[1]?(o[0]=t,o[1]=r+2,o):l(r,1&n&&`expected ${t}`)};{let e,o;return{parse(i,s,a){for(e=0,o=s+e;e1?"one of ":""}${e.map((e=>`${e}`)).join(", ")}`)}}}function Z(...e){const t=e.slice(),r=P(t.map((e=>e.toLowerCase()+e.toUpperCase())).join("")),o=t.map((e=>e.toLowerCase()));return{parse(e,i,s){const a=r.parse(e,i,s);if(!a.length)return a;const u=o.indexOf(a[0].toLowerCase());return~u?(a[0]=t[u],a):l(i,1&n&&`expected ${t.length>1?"one of ":""}${t.map((e=>`${e}`)).join(", ")}`)}}}function V(e,t){let n;return x((()=>n=v(e)),(function(e,r,o,i){const s=i&&c(r,t),a=n.parse(e,r,o,s);return a.length?(s&&f(s,i,a),a):(o[0]=null,o[1]=r,o)}))}function W(e,t){let r;return x((()=>r=v(e)),(function(e,o,i){const s=r.parse(e,o,i);return s.length?l(o,1&n&&(t||`unexpected ${e.slice(o,s[1])}`)):(i[0]="",i[1]=o,i)}))}function B(e,...t){const i=u(e)?e:void 0,a=u(e)?t:(e?[e]:[]).concat(t);let p;const g=a.length;return x((()=>p=a.map(v)),(function(e,t,a,u){let d;const h=u&&c(t,i);for(let r=0;re[0])).reduce(((e,t)=>e+t),0)===d[0][0]*d.length&&(e[2]=i),l(e[0],e[1],e[2]||i,e[3],e[4])}return 1&n&&A()[0]===t&&i&&function(e){e&&(r[0]===o[0]&&r[2]===o[2]&&(o[2]=e),r[2]=e)}(i&&(i.name||i)),l(t,1&n&&`expected ${i||"alternate"}`,i)}))}function G(e,t,n){let r;return x((()=>r=v(e)),(function(e,o,i,s){const a=s&&c(o,n),u=r.parse(e,o,i,a);if(!u.length)return u;const p=t(u[0]);return!0===p?(a&&f(a,s,u),u):l(u[1],p,n)}))}function K(e,t,n){let r,o;const i=e=>o=e;return x((()=>r=v(e)),(function(e,s,u,p){const g=p&&c(s,n),d=r.parse(e,s,u,g);if(d.length){const e=o;o="",d[0]=t(d[0],i,s,d[1]);const r=o;return o=e,r?l(d[1],r,n):(g&&f(g,p,d),d)}return a(n&&(n.name||n)),d}))}function Q(e,t){let r;return x((()=>r=v(e)),(function(e,o,i,s){if(s){const l=c(o,t),u=r.parse(e,o,i,l);return u.length&&(l.children.length?(l.children[0].name=t,s.children.push(l.children[0])):f(l,s,u)),1&n&&a("string"==typeof t?t:t.name),u}{const s=r.parse(e,o,i);return!s.length&&1&n&&a("string"==typeof t?t:t.name),s}}))}function ee(e,t){let r;const o=[];return x((()=>r=v(e)),(function(e,i,a,l){const u=l&&c(i,t);let p,g,d=i;if(g=r.parse(e,d,a,u),!g.length||g[1]===d)return a[0]=o,a[1]=d,2&n&&(a[2]=s(t)),a;for(d=g[1],p=[g[0]];;){if(g=r.parse(e,d,a,u),!g.length||g[1]===d)return a[0]=p||[],a[1]=d,2&n&&(a[2]=s(t)),u&&f(u,l,a),a;p.push(g[0]),d=g[1]}}))}function te(e,t){let r;return x((()=>r=v(e)),(function(e,o,i,a){const u=a&&c(o,t);let p,g,d=o;if(g=r.parse(e,d,i,u),!g.length)return l(d,1&n&&`expected at least one ${t||"item"}`,t,2&n&&s(t));for((p=[]).push(g[0]),d=g[1];;){if(g=r.parse(e,d,i,u),!g.length)return i[0]=p,i[1]=d,2&n&&(i[2]=s(t)),u&&f(u,a,i),i;p.push(g[0]),d=g[1]}}))}function ne(e,t,r="disallow",o){let a,u;const p=[];return x((()=>(a=v(e),u=v(t))),(function(e,t,g,d){const h=d&&c(t,o);let y,m,$,b,v=t,x=t;if($=a.parse(e,v,g,h),!$.length||$[1]===v)return g[0]=p,g[1]=t,2&n&&(g[2]=s(o)),g;if(m=$[0],x=v,v=$[1],b=u.parse(e,v,g),!b.length)return"require"===r?l(x,1&n&&"expected separator",o):(g[0]=[m],g[1]=v,h&&f(h,d,g),g);for(v=b[1],y=[m];;){if($=a.parse(e,v,g,h),!$.length||$[1]===v){if("disallow"===r&&y&&y.length){if(2&n){const e=i();return l(e[0],e[1],o,[v,"unexpected separator"])}return l(v,1&n&&"unexpected separator",o)}break}if(x=v,v=$[1],m=$[0],b=u.parse(e,v,g),!b.length){if("require"===r)return l(x,1&n&&"expected separator",o);y.push(m);break}v=b[1],y.push(m)}return g[0]=y,g[1]=v,2&n&&(g[2]=s(o)),h&&f(h,d,g),g}))}function re(e,t,r="disallow",o){let i,a;return x((()=>(i=v(e),a=v(t))),(function(e,t,u,p){const g=p&&c(t,o);let d,h,y=t,m=y;if(h=i.parse(e,y,u,g),!h.length)return l(y,1&n&&`expected at least one ${o||"item"}`);{(d=[]).push(h[0]),m=y=h[1];const t=a.parse(e,y,u);if(t.length)for(y=t[1];;){if(h=i.parse(e,y,u,g),!h.length){if("disallow"===r&&d&&d.length)return u[0]=d,u[1]=m,g&&f(g,p,u),u;break}{d.push(h[0]),m=y=h[1];const t=a.parse(e,y,u);if(!t.length){if("require"===r)return l(y,1&n&&"expected separator",o);break}y=t[1]}}else if("require"===r)return l(y,1&n&&"expected separator",o)}return u[0]=d,u[1]=y,2&n&&(u[2]=s(o)),g&&f(g,p,u),u}))}function oe(e,t,o,i){const s=u(o)?o:u(i)?i:void 0;if(Array.isArray(e)){let r,o;const a=e.length;return x((()=>(o=v(t),r=e.map(v))),(function(e,t,u,p){const g=p&&c(t,s);let d,h;for(let n=0;n(i=v(e),a=v(t),l=v(o))),(function(e,t,o,u){let p;const g=u&&c(t,s),d=i.parse(e,t,o);if(!d.length)return d;const h=a.parse(e,d[1],o,g);if(!h.length)return h;2&n&&h[2]&&(p=h[2]);const y=h[0],m=l.parse(e,h[1],o);return m.length?(o[0]=y,g&&f(g,u,o),o):(2&n&&p&&function(e){(r[4]||(r[4]=[])).push(e)}(p),m)}))}}function ie(e,...t){let r,o;"string"!=typeof e?t.unshift(e):r=e;const i=t.length;return x((()=>o=t.map(v)),(function(e,t,a,u){const p=u&&c(t,r);let g,d,h,y=t;if(h=o[0].parse(e,y,a,p),!h.length){if(2&n){const e=A(d,s(r));return l(e[0],e[1],e[2],e[3],e[4])}return h}2&n&&h[2]&&(d||(d=[])).push(h[2]),(g=[]).push(h[0]),y=h[1];for(let t=1;tr=t.map(v)),(function(e,t,a,u){const p=u&&c(t,o);let g,d,h=t;if(d=r[0].parse(e,h,a),!d.length){if(2&n){const e=A(g,s(o));return l(e[0],e[1],e[2],e[3],e[4])}return d}2&n&&d[2]&&(g||(g=[])).push(d[2]),h=d[1];for(let t=1;te&&w(e)))),(e=>+w(e).replace(pe,""))),de=K(ie(J("\\"),function(e,t,r){const o=H(t),i=U(o);return{parse(t,s,a){if(t.length-s>=e){const u=t.substr(s,e);for(let t=0;tfe[e[1]]||e[1])),he=K(ie(J("\\u"),_(4,ce)),(e=>String.fromCharCode(parseInt(e[1],16)))),ye=K(ie(J("\\x"),_(2,ce)),(e=>String.fromCharCode(parseInt(e[1],16)))),me=B(oe(J('"'),K(ee(B("string part",I('"\\'),he,ye,de)),(e=>w(e))),J('"')),oe(J("'"),K(ee(B("string part",I("'\\"),he,ye,de)),(e=>w(e))),J("'"))),$e=K(J("true","false"),(e=>"true"===e)),be=K(J("null"),(()=>null)),ve=K(ie(P(ue),V(L(ue+le))),(([e,t])=>null!==t?e+t:e)),xe=E(" \t\n\r"),we={},Ae={},je=B("value",me,we,Ae,ge,$e,be),ke=K(ie(xe,B("key",me,ve),se(xe,J(":"),xe),je),(e=>[e[1],e[3]]));we.parser=oe(se(J("["),xe),ne(je,se(xe,J(","),xe),"allow"),se(xe,J("]"))),Ae.parser=K(oe(se(J("{"),xe),ne(ke,se(xe,J(","),xe),"allow"),se(xe,J("}"))),(e=>{const t=e.length,n={};for(let r=0;re[1])));const Me={y:0,m:0,w:0,d:864e5,h:36e5,mm:6e4,s:1e3};function Oe(e){return"object"==typeof e&&e&&"number"==typeof e.ms}function Ye(e){return"number"==typeof e?e:Oe(e)?e.ms:1e3*(60*(60*(24*(30.45*(12*(e.d[0]||0)+(e.d[1]||0))+(e.d[2]||0))+(e.d[3]||0))+(e.d[4]||0))+(e.d[5]||0))+(e.d[6]||0)}Me.w=7*Me.d,Me.y=Math.floor(365.25*Me.d),Me.m=Math.floor(30.45*Me.d);const De=" \r\n\t",ze=" \r\n\t():{}[]<>,\"'`\\;&#",Xe=ze+".+/*|^%=!?",Ce=K(ie(xe,J("//"),V(J(" ")),R("\n"),J("\n")),(([,,,e])=>({c:e})),{name:"comment",primary:!0});function Se(e,t){return K(ie(ee(Ce),xe,t),(([t,,n])=>(t&&t.length&&(n[e]=t.map((e=>e.c))),n)))}const Ne=function(e,t){const r=H(e),o=U(r);return{parse:(i,s,a)=>(a[1]=q(i,s,r,o),a[1]===s?l(s,1&n&&`expected at least one of ${JSON.stringify(e)}`,t):a)}}(De,"required-space"),Te=K(J("null","true","false","undefined"),(e=>{switch(e){case"null":return null;case"true":return!0;case"false":return!1;case"undefined":return}}),{primary:!0,name:"primitive"}),Fe=I(Xe,!0),Ue=I(" \r\n\t():{}[],\"'\\;&#@",!0),He={},qe={},Ee={},Le={},Pe={},_e={},Re={},Ie={n:"\n",r:"\r",t:"\t",b:"\b"},Je=K(ie(J("\\"),_(1)),(([,e])=>Ie[e]||e)),Ze=K(te(B("ref-part",I(Xe,!0),Je)),(e=>e.join("")),"keypath-part"),Ve=K(ie(J("."),Ze),(([,e])=>e)),We=oe(ie(J("["),xe),Pe,ie(xe,J("]"))),Be=K(ie(B("ref-sigil",J("!","~","*"),ie(L("^"),V(J("@",".")))),B("keypath",Ze,We),ee(B("keypath",Ve,We))),(([e,t,n])=>{const r={k:[t].concat(n).map((e=>"object"!=typeof e||!("v"in e)||"string"!=typeof e.v&&"number"!=typeof e.v?e:e.v))};return Array.isArray(e)?(e[0]&&(r.u=e[0].length),"@"===e[1]&&(r.p="@")):e&&(r.p=e),r}),"keypath"),Ge=K(ie(L("^"),Ze,ee(B("keypath",Ve,We))),(([e,t,n])=>{const r={k:[t].concat(n).map((e=>"object"!=typeof e||!("v"in e)||"string"!=typeof e.v&&"number"!=typeof e.v?e:e.v))};return e&&(r.u=e.length),r}),"localpath"),Ke=$(Be),Qe=$(Ge),et=["if","else","elif","elseif","elsif","fi","esac","unless","then","case","when","not","gte","gt","lte","lt","in","like","ilike","not-in","not-like","not-ilike","contains","does-not-contain","is-not","is","strict-is-not","strict-is","deep-is-not","deep-is","and","or","end","with","each"],tt=K(Be,((e,t)=>(1!==e.k.length||e.p||e.u||!et.includes(e.k[0])||t(`invalid reference name '${e.k[0]}'`),{r:e})),{primary:!0,name:"reference"});function nt(e){const t=e.reduce(((e,t)=>(e.length&&"v"in t&&"v"in e[e.length-1]&&"string"==typeof t.v&&"string"==typeof e[e.length-1].v?e[e.length-1].v+=t.v:e.push(t),e)),[]);return t.length>0&&(!("v"in t[0])||"string"!=typeof t[0].v)&&t.unshift({v:""}),0===t.length?{v:""}:1===t.length?t[0]:{op:"+",args:t}}const rt=K(re(ie(ge,xe,Z("years","year","y","months","month","minutes","minute","milliseconds","millisecond","mm","ms","m","weeks","week","w","days","day","d","hours","hour","h","seconds","second","s")),xe),(e=>{const t={y:0,m:0,d:0,h:0,mm:0,s:0,ms:0};for(let n=0;n{if("z"===e[1][0])return 0;{let t;return 4===e[1][1].length?t=60*+e[1][1].substr(0,2)+ +e[1][1].substr(2,2):(t=60*+e[1][1],e[1][2]&&(t+=+e[1][2][1])),"-"===e[1][0]&&(t*=-1),t}})),it=B(K(ie(P(le),V(ie(J(":"),_(2,le),V(ie(J(":"),_(2,le),V(ie(J("."),_(3,le)))))))),(e=>{const t=e[0],n=e[1]&&e[1][1],r=n&&e[1][2]&&e[1][2][1],o=r&&e[1][2][2]&&e[1][2][2][1],i=[+t];return n&&(i[1]=+n),r&&(i[2]=+r),o&&(i[3]=+o),i})),K(Z("start","midnight"),(()=>[0,0,0,0])),K(Z("noon","mid"),(()=>[12,0,0,0])),K(Z("end"),(()=>[23,59,59,999]))),st=$(B(K(ie(it,V(ie(xe,ot))),(([e,t])=>(t&&e.push(t[1]),e))),ot),{trim:!0,consumeAll:!0,undefinedOnError:!0}),at=V(ie(xe,J(">"))),lt=B("date",K(ie(V(Z("last","this","next")),Ne,Z("week","month","year"),V(ot),at),(([e,,t,n,r])=>{const o={f:"w"===t[0]?"w":"m"===t[0]?"m":"y",o:"last"===e?-1:"next"===e?1:0,e:r?1:void 0};return null!=n&&(o.z=n),o})),K(ie(Z("week","month","year"),ie(Ne,Z("to"),Ne,Z("date")),V(ot),at),(([e,,t,n])=>{const r={f:"w"===e[0]?"w":"m"===e[0]?"m":"y",o:0,d:1,e:n?1:void 0};return null!=t&&(r.z=t),r})),K(ie(Z("yesterday","today","tomorrow"),B(oe(xe,Z("at"),xe),Ne),it,xe,V(ot)),(e=>{const t={f:"d",o:"yesterday"===e[0]?-1:"today"===e[0]?0:1,t:e[2]};return null!=e[4]&&(t.t[4]=e[4]),t})),K(ie(Z("yesterday","today","tomorrow","now"),V(ot),at),(([e,t,n])=>{const r="now"===e?{f:"n",o:0}:{f:"d",o:"yesterday"===e?-1:"today"===e?0:1,e:n?1:void 0};return null!=t&&(r.z=t),r})),K(ie(Z("in"),Ne,rt),(e=>"number"==typeof e[2]||Oe(e[2])?{f:"n",o:Ye(e[2])}:{f:"n",o:e[2].d})),K(ie(rt,Ne,B("relative time anchor",Z("ago"),ie(Z("from"),Ne,Z("now"))),V(ot)),(([e,,t,n])=>{let r;return r="number"==typeof e||Oe(e)?{f:"n",o:Ye(e)*("ago"===t?-1:1)}:{f:"n",o:e.d,d:"ago"===t?-1:void 0},null!=n&&(r.z=n),r})));function ut(e,t,n){return null==n||(e[t]=n),e}const ct=K(ie(_(4,le),V(ie(_(1,"-/"),P(le),V(ie(_(1,"-/"),P(le))))),V(ie(B(oe(Ne,Z("at"),Ne),Z("t"),Ne),it)),V(ot),at),(e=>{const t=e[0],n=e[1]&&e[1][1],r=n&&e[1][2]&&e[1][2][1],o=e[2]&&e[2][1],i=e[3],s=e[4]?1:void 0;if(n){if(r){if(o){const e={f:[+t,+n-1,+r],e:s};for(let t=0;t({v:e,s:1})),{name:"typelit",primary:!0}),gt=$(K(ie(V(J("#")),B("date",ct,lt,rt),V(J("#"))),(([,e])=>e)),{trim:!0,consumeAll:!0,undefinedOnError:!0}),dt=B({primary:!0,name:"string"},K(ie(J(":"),I(ze,!0)),(e=>({v:e[1]}))),K(oe(J('"'),ee(B("string-part",I('\\"'),de,he,ye)),J('"')),(e=>({v:"".concat(...e)}))),K(oe(J("'"),ee(B("string-part",K(I("'\\${",!0),(e=>({v:e}))),K(J("\\$","$$"),(()=>({v:"$"}))),oe(J("${","{"),Pe,J("}"),{primary:!0,name:"string-interpolation"}),K(J("$","{"),(e=>({v:e}))),K(he,(e=>({v:e}))),K(ye,(e=>({v:e}))),K(de,(e=>({v:e}))))),J("'")),nt),K(oe(J("`"),ee(B("string-part",K(I("`\\${",!0),(e=>({v:e}))),K(J("\\$","$$"),(()=>({v:"$"}))),oe(J("${"),Pe,J("}"),{primary:!0,name:"string-interpolation"}),K(J("$","{"),(e=>({v:e}))),K(he,(e=>({v:e}))),K(ye,(e=>({v:e}))),K(de,(e=>({v:e}))))),J("`")),nt)),ht=K(B("literal",K(ge,(e=>e),{primary:!0,name:"number"}),Te,ft),(e=>e instanceof Date||null==e||"object"!=typeof e?{v:e}:e)),yt=K(oe(se(J("("),xe),ie(Ue,xe,He),se(xe,J(")"))),(([e,,t])=>{const n={op:e};return t[0]&&t[0].length&&(n.args=t[0]),t[1]&&(n.opts=t[1]),n}),{primary:!0,name:"s-expression"});function mt(e){return oe(ie(J("("),xe),e,ie(xe,J(")")))}const $t={},bt={},vt={},xt=P("abcdefghifghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_$0123456789"),wt=K(ie(Q(xt,"op"),mt(He)),(([e,t])=>{const n={op:e};return t[0]&&t[0].length&&(n.args=t[0]),t[1]&&(n.opts=t[1]),n}),{primary:!0,name:"call"}),At=function(e){return K(ie(e,ee(ie(J("#"),Fe,V(B(K(ie(J(","),re(Pe,J(","),"allow")),(([,e])=>[e,void 0])),mt(He)))),{primary:!0,name:"format-op"})),(([e,t])=>t&&t.length?t.reduce(((e,t)=>t[2]?{op:"fmt",args:[e,{v:t[1]},...t[2][0]||[]],opts:t[2][1]}:{op:"fmt",args:[e,{v:t[1]}]}),e):e),"fmt-op")}(function(e){return K(ie(e,ee(B("keypath",Ve,We))),(([e,t])=>t.length?{op:"get",args:[e,{v:{k:t}}]}:e),"postfix-path-op")}(B("operand",mt(Re),mt(bt),mt(vt),G(mt($t),(e=>"op"in e||"expected bracketed op")),yt,_e))),jt=K(ie(J("not ","+"),At),(([e,t])=>({op:"+"===e?e:"not",args:[t]})),"unary op");function kt(e,[,t,,n]){return{op:t,args:[e,n]}}const Mt=K(ie(At,ee(ie(Ne,Q(J("**"),"exp op"),Ne,At))),(([e,t])=>t.length?function(e,t){if(1===t.length)return{op:t[0][1],args:[e,t[0][3]]};const n=t.pop();let r=t[t.length-1][1];const o={op:n[1],args:[t.pop()[3],n[3]]},i=t.reverse().reduce(((e,t)=>{const n={op:r,args:[t[3],e]};return r=t[1],n}),o);return{op:r,args:[e,i]}}(e,t):e),"exp-op"),Ot=K(ie(Mt,ee(ie(Ne,Q(J("*","/%","/","%"),"muldiv-op"),Ne,Mt))),(([e,t])=>t.length?t.reduce(kt,e):e),"muldiv-op"),Yt=K(ie(Ot,ee(ie(Ne,Q(J("+","-"),"addsub-op"),Ne,Ot))),(([e,t])=>t.length?t.reduce(kt,e):e),"addsub-op"),Dt=K(ie(Yt,ee(ie(Ne,Q(J(">=",">","<=","<","gte","gt","lte","lt","in","like","ilike","not-in","not-like","not-ilike","contains","does-not-contain"),"cmp-op"),Ne,Yt))),(([e,t])=>t.length?t.reduce(kt,e):e),"cmp-op"),zt=K(ie(Dt,ee(ie(Ne,Q(J("is-not","is","strict-is-not","strict-is","deep-is-not","deep-is","===","==","!==","!="),"eq-op"),Ne,Dt))),(([e,t])=>t.length?t.reduce(kt,e):e),"eq-op"),Xt=K(ie(zt,ee(ie(Ne,Q(J("and","&&"),"and-op"),Ne,zt))),(([e,t])=>t.length?t.reduce(kt,e):e),"and-op"),Ct=K(ie(Xt,ee(ie(Ne,Q(J("or","||","??"),"or-op"),Ne,Xt))),(([e,t])=>t.length?t.reduce(kt,e):e),"or-op");function St(e){if(!e.args||!e.args.length)return!1;let t=!1;for(let n=0;ne),{primary:!0,name:"binary-op"}),bt.parser=B({primary:!0,name:"conditional"},K(ie(J("if"),Ne,Pe,Ne,Ee,ee(ie(xe,J("else if","elseif","elsif","elif"),Ne,Pe,Ne,Ee)),V(ie(xe,J("else"),Ne,Ee))),(([,,e,,t,n,r])=>{const o={op:"if",args:[e,t]};for(const[,,,e,,t]of n)o.args.push(e,t);return r&&o.args.push(r[3]),o}),"if-block"),K(ie(J("if"),Ne,Pe,Ne,J("then"),Ne,Pe,ee(ie(Ne,W(J("end","fi")),J("else if","elseif","elsif","elif"),Ne,Pe,Ne,J("then"),Ne,Pe)),V(ie(Ne,J("else"),Ne,Pe)),V(ie(Ne,J("end","fi")))),(([,,e,,,,t,n,r])=>{const o={op:"if",args:[e,t]};for(const[,,,,e,,,,t]of n)o.args.push(e,t);return r&&o.args.push(r[3]),o}),"if"),K(ie(J("unless"),Ne,Pe,Ne,J("then"),Ne,Pe,V(ie(Ne,J("else"),Ne,Pe)),V(ie(Ne,J("end")))),(([,,e,,,,t,n])=>{const r={op:"unless",args:[e,t]};return n&&r.args.push(n[3]),r})));const Nt=B(K(ie(Ne,W(J("end","esac")),J("when"),Ne,Pe,Ne,J("then"),Ne,Pe),(([,,,,e,,,,t])=>[e,t]),"when-branch"),K(ie(Ne,W(J("end","esac")),J("else"),Ne,Pe),(([,,,,e])=>[void 0,e]),"else-branch"),K(ie(Ne,W(J("end","esac")),J("when"),Ne,Pe,Ne,Ee),(([,,,,e,,t])=>[e,t]),"when-block"));vt.parser=B(K(ie(J("case"),Ne,Pe,ee(Nt),V(ie(Ne,J("end","esac")))),(([,,e,t])=>{const n={op:"case",args:[e]};for(let e=0;e({v:e})))),xe,J(":"),xe,Pe),(e=>[e[0],e[4]]),"pair");function Ut(e){return e.filter((e=>!("v"in e[0]&&"v"in e[1]))).length?{op:"object",args:e.reduce(((e,t)=>(e.push(t[0],t[1]),e)),[])}:{v:e.reduce(((e,t)=>(e[t[0].v]=t[1].v,e)),{})}}qe.parser=K(oe(se(xe,J("["),xe),ne(Pe,P(" \r\n\t,"),"allow"),se(xe,J("]"))),(e=>e.filter((e=>!("v"in e))).length?{op:"array",args:e}:{v:e.map((e=>e.v))}),{primary:!0,name:"array"}),Le.parser=K(oe(se(xe,J("{"),xe),ne(Ft,P(" \r\n\t,"),"allow"),se(xe,J("}"))),Ut,{primary:!0,name:"object"}),Ee.parser=K(oe(se(xe,J("{"),xe),re(Pe,P(" \r\n\t;"),"allow"),se(xe,J("}"))),(e=>({op:"block",args:e})),{primary:!0,name:"block"}),Pe.parser=v(Se("c",Tt));const Ht=K(ie(Fe,J(":"),xe,Pe),(([e,,,t])=>[{v:e},t]),"named-arg");Re.parser=K(ie(V(oe(se(J("|"),xe),re(xt,P(" \r\n\t,"),"allow"),J("|"))),xe,J("=>","=\\"),xe,Pe),(([e,,,,t])=>e?{a:t,n:e}:{a:t}),{primary:!0,name:"application"}),He.parser=K(ne(B("argument",Ht,Pe),P(" \r\n\t,"),"allow"),(e=>{const[t,n]=e.reduce(((e,t)=>(Array.isArray(t)?e[1].push(t):e[0].push(t),e)),[[],[]]);return n.length?[t,Ut(n)]:[t,void 0]}));const qt=K(ie(J("let"),Ne,Q(Ge,{name:"reference",primary:!0}),xe,J("="),xe,Pe),(([,,e,,,,t])=>({op:"let",args:[{v:e},t]})),{primary:!0,name:"let"}),Et=K(ie(J("set"),Ne,Q(Be,{name:"reference",primary:!0}),xe,J("="),xe,Pe),(([,,e,,,,t])=>({op:"set",args:[{v:e},t]})),{primary:!0,name:"set"});_e.parser=B("expression",qe,Le,ht,pt,dt,Re,jt,wt,qt,Et,tt,Ee);const Lt=$(K(re(Pe,P(" \r\n\t;"),"allow"),(e=>1===e.length?e[0]:{op:"block",args:e,opts:{v:{implicit:1}}}),"expression-sequence"),{trim:!0}),Pt=$(Pe,{trim:!0}),_t=Lt;function Rt(){const e={},t=V(ie(xe,re(K(ie(Q(J("?"),{name:"condition",primary:!0}),xe,Re),(([,,e])=>e)),Ne,"disallow"))),n=K(ie(J("string[]","number[]","boolean[]","date[]","any","string","number","boolean","date"),W(I(Xe))),(([e])=>({type:e})),{name:"type",primary:!0}),r=Se("c",K(ie(J("type"),xe,Q(Fe,{name:"type",primary:!0}),xe,J("="),xe,e),(([,,e,,,,t])=>({name:e,type:t})))),o=K(re(r,P(" \t\n;"),"allow"),(e=>e.reduce(((e,t)=>(t.type.desc=t.c,e[t.name]=t.type,e)),{}))),i=K(ie(Fe,V(J("[]"))),(([e,t])=>({type:t?"array":"any",ref:e})),{name:"type",primary:!0}),s=K(ie(Q(Fe,{name:"key",primary:!0}),V(J("?")),xe,J(":"),xe,e),(([e,t,,,,n])=>{const r=n;return r.name=e,t||(r.required=!0),r})),a=B({name:"literal",primary:!0},K(B(me,ge),(e=>({type:"literal",literal:e}))),K(J("true","false","null","undefined"),(e=>({type:"literal",literal:"true"===e||"false"!==e&&("null"===e?null:void 0)})))),l=K(ie(J("..."),xe,J(":"),xe,e),(([,,,,e])=>Object.assign({name:"..."},e))),u=K(ie(J("{"),xe,ne(Se("desc",B(s,l)),P(" \t\n,;"),"allow"),xe,J("}"),V(J("[]"))),(([,,e,,,t],n)=>{const r=e.filter((e=>"..."===e.name));if(!(r.length>1)){const n=r[0],o={type:t?"object[]":"object"};return(e=e.filter((e=>"..."!==e.name))).length&&(o.fields=e),n&&(delete n.name,o.rest=n),o}n("only one object rest can be specified")})),c=K(ie(J("["),xe,ne(e,P(" \t\r\n,"),"allow"),xe,J("]"),V(J("[]"))),(([,,e,,,t])=>({type:t?"tuple[]":"tuple",types:e}))),f=K(re(ie(B(n,u,c,a,i),t),ie(xe,J("|"),xe),"disallow"),(e=>{const t=e.map((([e,t])=>(t&&t[1]&&t[1].length&&(e.checks=t[1]),e)));return 1===t.length?t[0]:{type:"union",types:t}})),p=B(K(ie(J("Array<"),xe,f,xe,J(">")),(([,,e],t)=>{if("union"===e.type)return{type:"union[]",types:e.types};if("literal"===e.type)t("literal types cannot be array types");else if("array"===e.type||~e.type.indexOf("[]"))t("array types cannot be array types");else{if("any"!==e.type)return e.type+="[]",e;t("any cannot be an array type")}})),K(ie(J("("),xe,f,xe,J(")")),(([,,e])=>e)),f);e.parser=K(ie(p,t),(([e,t])=>(t&&t[1]&&t[1].length&&(e.checks=t[1]),e)));const g=K(ie(V(o),xe,e),(([e,,t])=>(e&&(t.defs=e),t)));return g}const It=B(K(J("\\{{"),(()=>"{{")),K(ie(J("\\"),_(1)),(([,e])=>e))),Jt=K(te(B(I("\\{",!0),It,function(e,t,r){let o,i;return x((()=>(o=v(e),i=v(t))),(function(e,t,s,a){const u=a&&c(t,r),p=o.parse(e,t,s,u);if(!p.length)return p;const g=p[1];return i.parse(e,g,s).length?l(g,1&n&&`unexpected ${e.slice(g,p[1])}`,r):(u&&f(u,a,p),p)}))}(J("{"),J("{")))),(e=>({v:e.join("")})),"text");function Zt(e){return K(ie(J("{{"),xe,J(...e),Ne,Pe,xe,J("}}")),(e=>[e[2],e[4]]),"tag")}const Vt=Q(se(ie(J("{{/"),R("}"),J("}}"))),"tag end"),Wt={};function Bt(e,t){return t?K(Zt(e),(([e,t])=>({name:e,value:t}))):K(ie(J("{{"),xe,J(...e),xe,J("}}")),(([,,e])=>({name:e})),"tag")}function Gt(e){return K(e,(e=>e.length<1?[{v:""}]:e))}const Kt=Bt(["else"]),Qt=Bt(["else if","elseif","elsif","elif"],!0),en=K(ie(Zt(["each"]),Gt(ee(B(Qt,Kt,Wt))),Vt),(([e,t])=>({op:"each",args:[e[1]].concat(ln(un(t)))})),{primary:!0,name:"each-block"}),tn=K(ie(Zt(["if"]),Gt(ee(B(Qt,Kt,Wt))),Vt),(([e,t])=>({op:"if",args:[e[1]].concat(un(t))})),{primary:!0,name:"if-block"}),nn=K(ie(Zt(["with"]),Gt(ee(B(Kt,Wt))),Vt),(([e,t])=>({op:"with",args:[e[1]].concat(ln(un(t)))})),{primary:!0,name:"with-block"}),rn=K(ie(Zt(["unless"]),Gt(ee(Wt)),Vt),(([e,t])=>({op:"unless",args:[e[1]].concat(cn(t))})),{primary:!0,name:"unless-block"}),on=K(ie((sn=["case"],K(ie(J("{{"),xe,J(...sn),Ne,Pe,Ne,J("when"),Ne,Pe,J("}}")),(e=>[e[2],e[4],e[8]]),"tag")),Gt(ee(B(Bt(["when"],!0),Kt,Wt))),Vt),(([e,t])=>{const n={op:"case",args:e.slice(1).concat(un(t))};for(let e=1;e({op:"string",args:[e]})),{primary:!0,name:"interpolator"});function ln(e){return e.length&&(e[0]={a:e[0]}),e}function un(e){const t=[];let n=[],r=!1;for(let o=0;ocn(e))),K(xe,(()=>({v:""})))),{trim:!0});function pn(e){if(Array.isArray(e))return{value:e};if(e&&"object"==typeof e){for(const t in e)if("schema"!==t&&"value"!==t)return{value:e};return e}return{value:e}}function gn(e,t){if(!t)return e.value;const n="string"==typeof t?Ke(t):t;if(!("error"in n)&&"k"in n){let t=n.k;const r=n.p;let o=0,i=e,s=e.value;for(let e=0;e"object"!=typeof t?t:bn(e,t)));if(r)a=e.locals||(e.locals={});else if(i){if("~"!==i)return;a=e.root.value}if(!r){const e=l[0];for(;s&&(!s.locals||!(e in s.locals));)s=s.parent;s&&(a=s.locals)}const u=l.length-1;for(let e=0;e(e[t]=n[r],e)),{});o.locals=e}return i=bn(o,t.a),i}{const o=$n(Tn(e,{value:n[0],special:r,fork:!e.locals}),t);return zn(o)?mn(e,o,n,r):o}}function $n(e,t){return"string"==typeof t&&(t=e.root.exprs[t]||(e.root.exprs[t]=(e.parser||_t)(t))),"object"!=typeof t&&(t={v:t}),bn(e,t)}function bn(e,t){return t?"r"in t?gn(e,t.r):"v"in t?t.v:"op"in t?function(e,t){const n=vn[t.op];if(!n){const n=gn(e,t.op)||gn(e.root,t.op);if(zn(n))return mn(e,n,(t.args||[]).map((t=>$n(e,t))));if("pipe"===t.op){if(!t.args||!t.args.length)return!0;let n=$n(e,t.args[0]);for(let r=1;rYn(e)&&On(e)))||(o=Object.assign({},o,{args:[{r:{k:["pipe"],p:"@"}}].concat(o.args||[])})),n=zn(o)?mn(e,o,[n]):$n(Tn(e,{special:{pipe:n}}),o)}return n}return!0}let r;if("checked"===n.type){r=[];const o=t.args||[],i=n.extend?Tn(e,{}):e,s=t.opts?$n(i,t.opts):void 0;for(let e=0;e$n(e,t))),n.apply(t.op,r,t.opts?$n(e,t.opts):void 0,e);{let r;const o=n.extend?Tn(e,{}):e,i=(t.args||[]).slice(),s=t.opts?$n(o,t.opts):void 0;let a;if(!n.value&&(a=$n(o,i[0]),Array.isArray(a)?(i.shift(),r=a):"object"==typeof a&&"value"in a&&Array.isArray(a.value)&&(i.shift(),r=a.value),!r)){const e=bn(o,{r:"@source"});r=Array.isArray(e)?e:"object"==typeof e&&"value"in e&&Array.isArray(e.value)?e.value:[]}return n.apply(t.op,Array.isArray(r)?r:[],i,s,o)}}(e,t):zn(t)||En(t)||_n(t)?t:void 0:t}const vn={};function xn(...e){for(const t of e)for(const e of t.names)vn[e]=t}function wn(e){return vn[e]}const An=(e,t,n)=>mn(e,t,[n]);function jn(e,t,n,r){let o;if(Array.isArray(n))o=n;else if(zn(n))o=[n];else if("object"==typeof n&&n&&"by"in n)o=[n];else{const t=$n(e,n);Array.isArray(t)?o=t:"string"==typeof t?o=[{v:t}]:"string"==typeof n&&(o=[n])}if(o){let e;for(let t=0;t{if("object"==typeof t&&"by"in t){if("desc"in t)return"boolean"==typeof t.desc?t.desc:$n(e,t.desc);if("dir"in t){const n="string"==typeof t.dir?t.dir.toLowerCase():t.dir,r="asc"===n||"desc"===n?n:$n(e,t.dir);if("desc"===("string"==typeof r?r.toLowerCase():r))return!0}}return!1}));t.sort(((t,i)=>{for(let s=0;sf?1:0;if(p)return(l?-1:1)*p}return 0}))}return t}function kn(e,t,n,r,o){const i=Array.isArray(e)?{value:e}:e;if(!i||!Array.isArray(i.value))return i;let s;s=o?Sn(o)?Tn(o,{special:{source:i.value}}):new Nn(o):new Nn(i.value,{special:{source:i}});const a=t?[]:i.value.slice();if(t){let e="string"==typeof t?_t(t):t;"m"in e&&(e={v:!0}),i.value.forEach(((t,n)=>{mn(Tn(s,{value:t,special:{value:t,index:n}}),e,[t,n])&&a.push(t)}))}return n&&jn(s,a,n),r&&!Array.isArray(r)&&(r=[r]),Array.isArray(r)&&r.length?{value:{schema:i.schema,grouped:r.length,level:0,value:Mn(a,r,s,1),all:a}}:Array.isArray(e)?a:{schema:i.schema,value:a}}function Mn(e,t,n,r=0){const o={},i=[],s=[];for(const r of e){const e=zn(t[0])?`${mn(n,t[0],[r])}`:`${$n(Tn(n,{value:r}),t[0])}`;o[e]||(s.push(e),o[e]=[]),o[e].push(r)}for(const e of s)i.push({group:e,grouped:t.length-1,value:t.length>1?Mn(o[e],t.slice(1),n,r+1):o[e],all:o[e],level:r});return i}function On(e){const t=function(e){if("object"==typeof e.r)return e.r;const t=Ke(e.r);return"k"in t?t:{k:[]}}(e);return"_"===t.k[0]||"@"===t.p&&"pipe"===t.k[0]}function Yn(e){return"object"==typeof e&&"r"in e}function Dn(e){return"object"==typeof e&&"string"==typeof e.op}function zn(e){if("object"!=typeof e||!("a"in e)||"object"!=typeof e.a)return!1;const t=Object.keys(e).length;return 1===t||2===t&&"n"in e}function Xn(e){return"string"==typeof e||Cn(e)}function Cn(e){return"object"==typeof e&&e&&("r"in e&&"string"==typeof e.r||"op"in e&&"string"==typeof e.op||"v"in e||zn(e))}function Sn(e){return"object"==typeof e&&"string"==typeof e.path&&"object"==typeof e.root&&"value"in e&&("object"==typeof e.parent||e.root===e)}class Nn{constructor(e={},t){this.root=this,this.parameters={},this.sources={},this.special={},this.exprs={},this.path="",this.value=e,t&&(Object.assign(this.parameters,t.parameters),Object.assign(this.special,t.special),t.parser&&(this.parser=t.parser))}}function Tn(e,t){return{parent:t.fork?e.parent||e.root:e,root:e.root,path:t.path||"",value:"value"in t?t.value:e.value,special:t.fork?Object.assign({},e.special,{pipe:void 0},t.special):t.special||{},parser:t.parser,locals:t.locals}}const Fn={},Un={};function Hn(e,t,n={}){Array.isArray(e)?e.forEach((e=>Fn[e]={apply:t,defaults:n})):Fn[e]={apply:t,defaults:n}}function qn(e){if(e instanceof Date)return[e,e];let t=new Date,n="d"in e&&e.d?new Date:void 0;t.setUTCFullYear(t.getFullYear(),t.getMonth(),t.getDate()),t.setUTCHours(0,0,0,0);let r="z"in e&&null!=e.z?e.z:null;if("n"===e.f)t="number"==typeof e.o?new Date(+new Date+e.o):Rn(new Date,{d:e.o},"d"in e?e.d:1),n=t,r=void 0;else if("d"===e.f){if(t.setUTCDate(t.getUTCDate()+e.o),n||(n=new Date(t)),"t"in e){const o=e.t;t.setUTCHours(o[0],o[1]||0,o[2]||0,o[3]||0),n.setUTCHours(o[0],null==o[1]?59:o[1],null==o[2]?59:o[2],null==o[3]?999:o[3]),null!=o[4]&&(r=o[4])}}else if("w"===e.f)t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+(-1===e.o?7:1===e.o?-7:0))),n||(n=new Date(t),n.setDate(t.getUTCDate()+6)),"z"in e&&null!=e.z&&(r=e.z);else if("m"===e.f)t.setUTCDate(1),t.setUTCMonth(t.getUTCMonth()+e.o),n||(n=new Date(t),n.setUTCMonth(t.getUTCMonth()+1),n.setUTCDate(0));else if("y"===e.f)t.setUTCDate(1),t.setUTCMonth(0),t.setUTCDate(1),n||(n=new Date(t),n.setUTCFullYear(t.getUTCFullYear()+1),n.setUTCDate(0));else if(Array.isArray(e.f)){const o=e.f.slice();t=new Date(Date.UTC(o[0],o[1]||0,o[2]||1,o[3]||0,o[4]||0,o[5]||0,o[6]||0));for(let e=1;e<7;e++)if(null==o[e]){o[e-1]++;break}null!=o[6]&&o[6]++,n=new Date(Date.UTC(o[0],o[1]||0,o[2]||1,o[3]||0,o[4]||0,o[5]||0,o[6]||0)),n.setUTCMilliseconds(n.getUTCMilliseconds()-1),null!=o[7]&&(r=o[7])}if("d"!==e.f&&"w"!==e.f&&"m"!==e.f&&"y"!==e.f||n.setUTCHours(23,59,59,999),void 0!==r)if(null!=r)t.setUTCMinutes(t.getUTCMinutes()-r),t!==n&&n.setUTCMinutes(n.getUTCMinutes()-r);else{const e=t.getTimezoneOffset();t.setUTCMinutes(t.getUTCMinutes()+e),t!==n&&n.setUTCMinutes(n.getUTCMinutes()+e)}return[t,n]}function En(e){return e&&"object"==typeof e&&("f"in e&&(Array.isArray(e.f)||"o"in e)||e instanceof Date)}function Ln(e){const t=qn(e);return"e"in e&&null!=e.e?t[1]:t[0]}function Pn(e){if(!e)return;if((t=e)&&"object"==typeof t&&"f"in t&&Array.isArray(t.f))return e;var t;const n=Ln(e),r=n.getTimezoneOffset(),o="z"in e&&null!=e.z?e.z:"f"in e&&"d"===e.f&&"t"in e&&null!=e.t[4]?e.t[4]:null;return e instanceof Date&&null!=o&&n.setMinutes(n.getMinutes()-(r+o)),{f:[n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds(),null!=o?o:-r]}}function _n(e){return"number"==typeof e||"object"==typeof e&&Array.isArray(e.d)||Oe(e)}function Rn(e,t,n){if("number"==typeof t)return new Date(+e+t*n);if(Oe(t))return new Date(+e+t.ms*n);{let r=new Date(e);if(t.d[0]&&r.setFullYear(r.getFullYear()+t.d[0]*n),t.d[1]){const e=r.getDate();r.setDate(1),r.setMonth(r.getMonth()+t.d[1]*n);const o=r.getMonth();r.setDate(e),o!==r.getMonth()&&r.setDate(0)}return t.d[2]&&r.setDate(r.getDate()+t.d[2]*n),t.d[3]&&r.setHours(r.getHours()+t.d[3]*n),t.d[4]&&r.setMinutes(r.getMinutes()+t.d[4]*n),t.d[5]&&r.setSeconds(r.getSeconds()+t.d[5]*n),t.d[6]&&r.setMilliseconds(r.getMilliseconds()+t.d[6]*n),r}}function In(e,t,n){e.styles[t]||(e.styles[t]=n)}function Jn(e,t,n="Widget overflow error"){return In(e,"error",".error { position: absolute; box-sizing: border-box; color: red; border: 1px dotted; width: 100%; height: 2rem; padding: 0.5rem; }"),{output:`
${n}
`,height:2}}function Zn(e){return e&&"object"==typeof e&&Xn(e.x)}function Vn(e,t){return Zn(e)?e.x?hn(t,e.x):void 0:e}function Wn(e,t){return{report:e.report,context:Tn(e.context,t),styles:e.styles,styleMap:e.styleMap}}const Bn=/[><&]/g,Gn={"<":"<",">":">","&":"&"};function Kn(e){return(""+e).replace(Bn,(e=>Gn[e]||""))}const Qn={};function er(e,t,n){Qn[e]="function"==typeof t?{render:t}:t,n&&Object.assign(Qn[e],n)}const tr=7.4,nr=6.7,rr=7.85,or=5.9;let ir=function(e,t,n,r){const o=r&&Vn(r.family,n)||"sans",i=r&&Vn(r.size,n)||.83,s=(r&&Vn(r.metric,n)||("mono"===o||/fixed|mono/i.test(o)?rr:"narrow"===o||/narrow|condensed/i.test(o)?or:"sans"===o||/sans|arial|helvetica/i.test(o)?tr:nr))*i/16;return e.split(/\r?\n/g).reduce(((e,n)=>{const[r,o]=n.split(/\s/g).reduce(((e,n)=>{const r=(n.length+1)*s;return e[0]+r>t?(e[0]=r,e[1]++):e[0]+=r,e}),[0,0]);return e+(o+(r>0?1:0)||1)}),0)*i};function sr(e,t,n,r){const o=Qn[e.type];if(!o||e.hide&&hn(Tn(t.context,{special:{widget:e,placement:n}}),e.hide))return{output:"",height:0};!("height"in e)&&o.container&&(e.height="auto");const i=pr(e,n,t);if(n.maxY&&!isNaN(i)&&i>n.maxY)return Jn(t,n);if(n.availableY&&i>n.availableY)return{output:"",continue:{offset:0},cancel:!0};let s=0;if(e.margin){const r=hr(e,t,n);s+=r[0]+r[2],n.availableY&&(n.availableY-=r[0]+r[2])}if(e.border&&!i){const r=yr(e,t,n);s+=r[0]+r[2]}const a=o.render(e,t,n,r);return"string"==typeof a?{output:a,height:i,width:cr(e,n,t)}:n.maxY&&a.height>n.maxY?Jn(t,n):isNaN(i)&&n.availableY&&a.height>n.availableY?{output:"",continue:{offset:0},height:a.height,cancel:!0}:(a.height=a.height||0,a.height+=s,a)}const ar={};function lr(e,t){ar[e]=t}function ur(e,t,n){let r=Zn(e.width)?hn(Tn(n.context,{special:{widget:e,placement:t}}),e.width.x):e.width;const o=e.margin&&hr(e,n,t);let i=!1;return"grow"===r?r=t.availableX||t.maxX:r||0===r?"number"==typeof r||(r=+(r.percent/100*(t.maxX||51)).toFixed(4),i=!0):r=t.maxX||51,"number"!=typeof r||"contain"!==e.box&&(!i&&r!==t.availableX||"expand"===e.box)||(o?r-=o[1]+o[3]:e.font&&e.font.right&&(r-=e.font.right)),r}function cr(e,t,n){let r=ur(e,t,n);if(e.margin){const o=hr(e,n,t);r+=o[1]+o[3]}else e.font&&e.font.right&&(r+=e.font.right);return r}function fr(e,t,n,r,o){let i=1,s=Zn(e.height)?hn(Tn(n.context,{special:{widget:e,placement:t,computed:r,linesize:o}}),e.height.x):e.height;const a=e.margin&&hr(e,n,t),l=e.border&&yr(e,n,t);let u=!1;if(null==s&&o&&(s=function(e){let t=e.height||1;if(e.font&&e.font.size>t&&(t=e.font.size),"text"in e&&Array.isArray(e.text))for(let n=0;nt&&(t=r.font.size)}return t}(e)),"number"==typeof s)i=s;else if(s&&"object"==typeof s&&"percent"in s&&s.percent&&t.maxY)i=+(t.maxY*(s.percent/100)).toFixed(4),u=!0;else if("grow"===s)i=t.availableY||0;else if("auto"===s||"string"==typeof s||null==s&&"container"===e.type||r&&!s)return l?r+l[0]+l[2]||NaN:r||NaN;return"number"!=typeof i||"contain"!==e.box&&(!u&&i!==t.availableY||"expand"===e.box)||a&&(i-=a[0]+a[2]),i}function pr(e,t,n,r,o){let i=fr(e,t,n,r,o);if(e.margin){const r=hr(e,n,t);i+=r[0]+r[2]}return i}function gr(e){return e.reduce(((e,t)=>e>t[1]+t[3]?e:t[1]+t[3]),0)}function dr(e){return e.reduce(((e,t)=>e>t[0]+t[2]?e:t[0]+t[2]),0)}function hr(e,t,n){if(e.margin){const r=Zn(e.margin)?hn(Tn(t.context,{special:{widget:e,placement:n}}),e.margin.x):e.margin;if(Array.isArray(r)){if(4===r.length)return r.map((e=>+e));if(2===r.length)return[+r[0],+r[1],+r[0],+r[1]]}else if("number"==typeof r)return[r,r,r,r]}return[0,0,0,0]}function yr(e,t,n){let r=e.border,o=[0,0,0,0];("string"==typeof r||r&&!Array.isArray(r)&&"object"==typeof r&&("v"in r||"r"in r||"op"in r))&&(r=hn(Tn(t.context,{special:{widget:e,placement:n}}),r)),"number"==typeof r?o=[0,0,r,0]:Array.isArray(r)?1===r.length?o=[r[0],r[0],r[0],r[0]]:2===r.length?o=[r[0],r[1],r[0],r[1]]:3===r.length?o=[r[0],r[1],r[2],r[1]]:r.length>=4&&(o=[r[0],r[1],r[2],r[3]]):r&&"object"==typeof r&&(o=[r.top||0,r.right||0,r.bottom||0,r.left||0]);for(let e=0;e<4;e++)o[e]=.0625*o[e];return o}function mr(e,t,n,r,o){const i=hn(Tn(n.context,{special:{widget:t,placement:r,state:o}}),e);return i&&!Array.isArray(i)&&"object"==typeof i?t="content"in i||"props"in i||"properties"in i?Object.assign({},t,i.props,i.properties,{widgets:Array.isArray(i.content)?i.content:i.content?[i.content]:t.widgets,macro:void 0}):Object.assign({},t,{widgets:[i],macro:void 0}):Array.isArray(i)&&(t=Object.assign({},t,{widgets:i,macro:void 0})),t}function $r(e,t,n){if(!t)return"";const r=e.styleMap.styles[t];if(r)return r;const o=`${n}${function(e,t){return e.styleMap.ids[t]||(e.styleMap.ids[t]=0),e.styleMap.ids[t]++}(e,n)}`;return e.styleMap.styles[t]=o}function br(e,t,[n,r],o,i){if(!1!==e.report.classifyStyles){const s=[];return r&&s.push($r(e,r,"h")),s.push($r(e,n,i||"s")),` class="${t.concat(s).join(" ")}"${o?` style="${o}"`:""}`}{const e=`${n}${o||""}${r||""}`;return`${""+(t.length?` class="${t.join(" ")}"`:"")}${e?` style="${e}"`:""}`}}function vr(e,t,n,r){let o=`left:${(t.x||0)+(t.offsetX||0)}rem;top:${(t.y||0)+(t.offsetY||0)}rem;`,i="";o+=`width:${cr(e,t,n)}rem;`;let s=pr(e,t,n,r&&r.computedHeight,r&&r.lineSize)||1;if("grow"===e.height&&e.margin){const r=hr(e,n,t);s+=r[0]+r[2]}r&&r.container&&r.computedHeight?i=`height:${s}rem;`:o+=`height:${s}rem;`;const a=e.font&&Vn(e.font.line,n),l=e.font&&Vn(e.font.size,n);if(null==a&&null==l||(o+=`line-height: ${null!=a?a:l}rem;`),e.margin){const r=hr(e,n,t);(r[0]||r[1]||r[2]||r[3])&&(o+=`padding:${r[0]}rem ${r[1]}rem ${r[2]}rem ${r[3]}rem;`)}else e.font&&e.font.right&&(o+=`padding-right:${e.font.right}rem;`);return(r&&r.font||e.font)&&(o+=wr(r&&r.font||e.font,n)),e.border&&(o+=function(e,t,n){const r=yr(e,t,n);return r[0]+r[1]+r[2]+r[3]?`border-style:solid;border-width:${r[0]}rem ${r[1]}rem ${r[2]}rem ${r[3]}rem;`:""}(e,n,t)),o+=xr(e,n),[o,i]}function xr(e,t){let n="";const r=Vn(e.bg,t);r&&(n+=`background-color:${r};`);const o=Vn(e.radius,t);return o&&(n+=`border-radius:${o};`),n}function wr(e,t){if(!e)return"";let n,r,o="";(n=Vn(e.family,t))&&(o+=`font-family:${n};`),(n=Vn(e.color,t))&&(o+=`color:${n};`),(n=Vn(e.align,t))&&(o+=`text-align:${n};`),(n=Vn(e.size,t))&&(o+=`font-size:${n}rem;`,r=n),n=Vn(e.line,t),0===n?o+="line-height:initial;":null!=n?o+=`line-height:${n}rem;`:r&&(o+=`line-height:${r}rem;`),(n=Vn(e.weight,t))&&(o+=`font-weight:${n};`),(n=Vn(e.pre,t))&&(o+="white-space:pre-wrap;");const i=n;return(n=Vn(e.clamp,t))&&(o+=(i?"":"white-space:nowrap;")+"overflow:hidden;"),o}lr("row",((e,t,n,r,o,i)=>{let s,a=Zn(e.br)?hn(Tn(i.context,{special:{placement:r,widget:e}}),e.br.x):e.br,l=r.maxX-o[0][0]-o[0][2]+o[o.length-1][0];return l<=0&&(l=r.maxX,a=!0),a||o[0][0]+o[0][2]+cr(e,{x:r.x,y:r.y,maxX:r.maxX,maxY:r.maxY,availableY:r.availableY,availableX:l},i)-o[o.length-1][0]>r.maxX?(s={x:n[3],y:gr(o),availableX:r.maxX,maxX:r.maxX},s.availableY=r.availableY-(s.y-t)):s={x:o[0][0]+o[0][2],y:o[0][1],availableX:l,maxX:r.maxX,availableY:r.availableY},s.y-=t,s}));function Ar(e,t,n){const r=n&&"root"in n&&n.root===n?n:new Nn(Object.assign({},e.context),{parameters:n});r.parameters=Object.assign({},e.defaultParams,r.parameters);const o={};if(e.sources&&jr(r,e.sources,t),Array.isArray(e.parameters))for(const t of e.parameters)t.init&&t.name&&(o[t.name]=hn(r,t.init));return o}function jr(e,t,n){const r=e.sources;for(const o of t){let t=n[o.source||o.name]||{value:[]};o.base&&(t=hn(Tn(e,{value:t.value,special:{source:t}}),o.base)),r[o.name||o.source]=pn(t)}for(const n of t)(n.filter||n.sort||n.group)&&(r[n.name||n.source]=kn(r[n.name||n.source],n.filter,n.sort,n.group,e))}const kr="​",Mr=P(" \r\n\t"),Or=L(" \r\n\t"),Yr="0123456789abcdef",Dr=K(P("0123456789"),(e=>+e)),zr=K(ie(V(J("-")),P("0123456789"),V(ie(J("."),P("0123456789")))),(([e,t,n])=>+[e,t,null==n?void 0:n[0],null==n?void 0:n[1]].filter((e=>e)).join(""))),Xr=K(ie(V(J("#")),B(_(8,Yr),_(6,Yr),_(4,Yr),_(3,Yr))),(([,e])=>`#${e}`)),Cr=K(ie(zr,V(J("%"))),(([e,t])=>`${e}${t?"%":"rem"}`)),Sr=J("left","right","top","bottom","center"),Nr=K(ie(J("align"),V(ie(J("="),B(ie(J("top","middle","bottom","base"),V(ie(Mr,J("left","right","center")))),ie(J("left","right","center"),V(ie(Mr,J("top","middle","bottom","base")))))))),(([,e])=>{var t;return{tag:"align",value:e?[e[1][0],null===(t=e[1][1])||void 0===t?void 0:t[1]].filter((e=>e)):null}})),Tr=K(ie(J("valign"),V(ie(J("="),J("top","middle","bottom","base")))),(([,e])=>({tag:"valign",value:e?e[1]:null}))),Fr=K(ie(J("pad"),V(ie(J("="),re(zr,Mr)))),(([,e])=>({tag:"pad",value:e?e[1]:null}))),Ur=K(ie(J("margin"),V(ie(J("="),re(zr,Mr)))),(([,e])=>({tag:"margin",value:e?e[1]:null}))),Hr=K(ie(J("width","w"),V(ie(J("="),Cr))),(([,e])=>({tag:"width",value:e?e[1]:null}))),qr=K(ie(J("height","h"),V(ie(J("="),Cr))),(([,e])=>({tag:"height",value:e?e[1]:null}))),Er=K(ie(J("line"),V(ie(J("="),zr))),(([,e])=>({tag:"line",value:e?e[1]:null}))),Lr=K(ie(J("fg","color","fore"),V(ie(J("="),Xr))),(([,e])=>({tag:"fg",value:e?e[1]:null}))),Pr=K(ie(J("bg","background","back"),V(ie(J("="),Xr))),(([,e])=>({tag:"bg",value:e?e[1]:null}))),_r=K(ie(J("size"),V(ie(J("="),zr))),(([,e])=>({tag:"size",value:e?e[1]:null}))),Rr=K(ie(J("font"),V(ie(J("="),I(",|")))),(([,e])=>({tag:"font",value:e?e[1]:null}))),Ir=K(ie(J("rotate"),V(ie(J("="),zr,Or,V(J("left","right")),V(ie(Mr,B(Cr,Sr),Mr,B(Cr,Sr)))))),(([,e])=>({tag:"rotate",value:e?{turn:e[1]*("left"===e[3]?-1:1),origin:e[4]?[e[4][1],e[4][3]]:void 0}:null}))),Jr=K(ie(J("move"),V(ie(J("="),Cr,Mr,Cr))),(([,e])=>({tag:"move",value:e?{x:e[1],y:e[3]}:null}))),Zr=K(R(",|"),(e=>({tag:"trash",value:e}))),Vr=K(ie(J("border"),V(ie(J("="),V(J("solid","dot","dash","double")),Or,re(Dr,Mr),Or,V(ie(J("/"),Or,re(zr,Mr))),Or,V(Xr)))),(([,e])=>{var t;return{tag:"border",value:e?{style:e[1]||"solid",width:e[3],radius:null===(t=e[5])||void 0===t?void 0:t[2],color:e[7]}:null}})),Wr=K(B(J("sub","sup","bold","italic","underline","strike","overline","overflow","nowrap","pre","br","b","i","u")),(e=>({tag:e}))),Br=K(ie(J("|"),Or,re(B(Vr,Nr,Lr,Pr,Tr,_r,Er,Rr,Fr,Ur,Hr,qr,Wr,Ir,Jr,Zr),ie(Or,J(","),Or),"allow"),R("|"),J("|")),(([,,e])=>e.filter((e=>"trash"!==e.tag)))),Gr=K(te(B(I("\\|",!0),K(J("\\|"),(()=>"|")))),(e=>e.join(""))),Kr=$(ee(B(Gr,Br)),{consumeAll:!0,undefinedOnError:!0}),Qr=["border","width","height","pad","margin","align","overflow","nowrap","rotate","move"],eo={b:"bold",i:"italic",u:"underline"};function to(e){const t=Kr(e);return Array.isArray(t)?function(e){let t="",n=!1;const r={bool:{},value:{}},o=[];for(const i of e)if("string"==typeof i)!r.bool.pre&&/^\s/.test(i)&&(t+=kr),t+=i,!r.bool.pre&&/\s$/.test(i)&&(t+=kr);else{let e,s=!1;for(const n of i){const i=eo[n.tag]||n.tag;"value"in n?null!==n.value?((r.value[i]||(r.value[i]=[])).push(n.value),(Qr.includes(i)||e&&"bg"===i)&&(e||(e=[])).push(i)):Qr.includes(i)||"bg"===i&&(s||o&&o.length&&o[o.length-1].includes("bg"))?s=!0:(r.value[i]||(r.value[i]=[])).pop():"br"===i?t+="
":Qr.includes(i)&&e.length?e.push(i):r.bool[i]=!r.bool[i]}if(n&&(t+=""),n=!0,s){const e=o.pop();if(e){t+="";for(const t of e)(r.value[t]||(r.value[t]=[])).pop()}}e&&(o.push(e),t+=``),t+=``}n&&(t+="");for(const e of o)t+="";return t}(t):e}const no={top:"start",middle:"center",bottom:"end",base:"baseline"},ro={dot:"dotted",dash:"dashed"};function oo(e,t){let n="";if("inline"===t){const t=e.bool;(t.underline||t.overline||t.strike)&&(n+=`text-decoration-line:${[t.underline&&"underline",t.overline&&"overline",t.strike&&"line-through"].filter((e=>e)).join(" ")};`),(t.sup||t.sub)&&(n+="font-size:70%;",t.sup&&(n+="vertical-align:super;"),t.sub&&(n+="vertical-align:sub;")),t.italic&&(n+="font-style:italic;"),t.bold&&(n+="font-weight:bold;"),t.pre&&(n+="white-space:pre-wrap;");const r=e.value;if(Array.isArray(r.valign)){const e=r.valign[r.valign.length-1];e&&(n+=`vertical-align:${"base"===e?"baseline":e};`)}if(Array.isArray(r.fg)){const e=r.fg[r.fg.length-1];e&&(n+=`color:${e};`)}if(Array.isArray(r.bg)){const e=r.bg[r.bg.length-1];e&&(n+=`background-color:${e};`)}if(Array.isArray(r.size)){const e=r.size[r.size.length-1];null!=e&&(n+=`font-size:${e}rem;`)}if(Array.isArray(r.font)){const e=r.font[r.font.length-1];null!=e&&(n+=`font-family:${e};`)}if(Array.isArray(r.line)){const e=r.line[r.line.length-1];null!=e&&(n+=`line-height:${e}rem;`)}}else{n+="display:inline-flex;box-sizing:content-box;overflow:hidden;";const r=e.value;let o;if(t.includes("align")&&Array.isArray(r.align)){const e=r.align[r.align.length-1];if(Array.isArray(e)){let t=e.find((e=>["top","middle","bottom","base"].includes(e)));t&&(n+=`align-items:${no[t]};`),t=e.find((e=>["left","right","center"].includes(e))),t&&(n+=`justify-content:${t};`)}}if(t.includes("width")&&Array.isArray(r.width)){const e=r.width[r.width.length-1];null!=e&&(n+=`width:${e};`)}if(t.includes("height")&&Array.isArray(r.height)){const e=r.height[r.height.length-1];null!=e&&(n+=`height:${e};`)}if(t.includes("pad")&&Array.isArray(r.pad)){const e=r.pad[r.pad.length-1];Array.isArray(e)&&e.length&&(n+=`padding:${e[0]}rem`,e.length>1&&(n+=` ${e[1]}rem`),e.length>2&&(n+=` ${e[2]}rem`),e.length>3&&(n+=` ${e[3]}rem`),n+=";")}if(t.includes("margin")&&Array.isArray(r.margin)){const e=r.margin[r.margin.length-1];Array.isArray(e)&&e.length&&(n+=`margin:${e[0]}rem`,e.length>1&&(n+=` ${e[1]}rem`),e.length>2&&(n+=` ${e[2]}rem`),e.length>3&&(n+=` ${e[3]}rem`),n+=";")}if(t.includes("border")&&Array.isArray(r.border)){const e=r.border[r.border.length-1];e&&(n+=`border-style:${ro[e.style]||e.style};border-width:${e.width[0]}px`,e.width.length>1&&(n+=` ${e.width[1]}px`),e.width.length>2&&(n+=` ${e.width[2]}px`),e.width.length>3&&(n+=` ${e.width[3]}px`),n+=";",e.color&&(n+=`border-color:${e.color};`),e.radius&&(n+=`border-radius:${e.radius[0]}rem`,e.radius.length>1&&(n+=` ${e.radius[1]}rem`),e.radius.length>2&&(n+=` ${e.radius[2]}rem`),e.radius.length>3&&(n+=` ${e.radius[3]}rem`),n+=";"))}if(t.includes("bg")&&Array.isArray(r.bg)){const e=r.bg[r.bg.length-1];e&&(n+=`background-color:${e};`)}if(t.includes("rotate")&&Array.isArray(r.rotate)){const e=r.rotate[r.rotate.length-1];e&&(e.origin&&(n+=`transform-origin:${e.origin[0]} ${e.origin[1]};`),(o||(o=[]))[t.indexOf("rotate")]=`rotate(${e.turn}turn)`)}if(t.includes("move")&&Array.isArray(r.move)){const e=r.move[r.move.length-1];e&&((o||(o=[]))[t.indexOf("move")]=`translate(${e.x}, ${e.y})`)}o&&(n+=`transform:${o.filter((e=>e)).join(" ")};`),t.includes("nowrap")&&(n+="white-space:nowrap;"),t.includes("overflow")&&(n+="overflow:visible;")}return n}er("label",((e,t,n)=>{In(t,"label",".label {position:absolute;box-sizing:border-box;}");let r,o="",i=(Array.isArray(e.text)?e.text:[e.text]).map((e=>{let n=hn(t,"object"==typeof e&&"text"in e?e.text:e);if("object"==typeof e&&"id"in e){let r=t.context;for(;r;)r.special&&r.special.values&&(r.special.values[e.id]||(r.special.values[e.id]=[])).push(n),r=r.parent}return o+=n,r=n,"object"==typeof e&&"text"in e?`${Kn(n)}`:n})).join("");if(e.id){let n=t.context;for(;n;)n.special&&n.special.values&&(n.special.values[e.id]||(n.special.values[e.id]=[])).push(o),n=n.parent}if(e.format&&e.format.name){const n=[{v:Array.isArray(e.text)&&1!==e.text.length?i:r},{v:e.format.name}];i=hn(t,{op:"format",args:n.concat(e.format.args||[])})}return"string"==typeof i&&e.styled?`${to(Kn(i))}`:`${Kn(i)}`})),er("container",((e,t,n,r)=>{let o;In(t,"container",".container {position:absolute;box-sizing:border-box;}"),e.height?"auto"!==e.height&&(o=pr(e,n,t)):e.height="auto";const i=((r||{}).state||{}).ctx?Object.assign({},t,{context:r.state.ctx}):t;if(e.context&&!((r||{}).state||{}).ctx){i.context.locals||(i.context.locals={});const t=hn(i,e.context);t&&(i.context=Tn(i.context,{value:t}))}const s=ur(e,n,t)||n.availableX,a=function(e,t,n,r,o){if(Array.isArray(e.widgets)){let i="";const s=(r||{offset:0}).offset,a=[[0,s,0,0]],l=hr(e,t,n);if(a[0][0]+=l[3],a[0][1]+=l[0],e.border){const r=yr(e,t,n);n.maxX&&(n.maxX-=r[1]+r[3]),n.availableX&&(n.availableX-=r[1]+r[3]),n.maxY&&(n.maxY-=r[0]+r[2]),n.availableY&&(n.availableY-=r[0]+r[2])}for(let u=r&&r.last||0;un.maxY&&(f=1),n&&n.availableY&&f>n.availableY){const e=gr(a);return(r=r||{offset:e}).last=u,{output:i,continue:r,height:e}}{let e=Array.isArray(o)&&(o[u]||[0,0]);e&&Array.isArray(e)||(e=[0,0]),e[0]||(e[0]=0),e[1]||(e[1]=0);let p=Array.isArray(e)?{x:e[0]<0?e[0]:e[0]+l[3],y:e[1]<0?e[1]:e[1]+l[0],maxX:n.maxX}:e||n;if(Array.isArray(e)&&(p.availableX=p.maxX),(!o||"string"==typeof o)&&(p=(o&&ar[o]||ar.row)(c,s,l,n,a,t),f>p.availableY)){const e=gr(a);return(r=r||{offset:e}).last=u,{output:i,continue:r,height:e}}p.maxX=p.maxX||n.maxX,p.maxY=p.maxY||n.maxY,p.x<0&&(p.offsetX=l[3],p.x=(n.availableX||1)+p.x-cr(c,n,t)+1),p.y<0&&(p.offsetY=l[0],p.y=(n.availableY||1)+p.y-f+1);const{x:g,y:d}=p,h=sr(c,t,p,r&&r.child);if("string"==typeof h&&!h||!h.cancel&&!h.output&&!h.continue&&!h.height)continue;if("string"==typeof h)i+=h,a.unshift([g,d,cr(c,n,t),pr(c,n,t)]);else{if(h.cancel)return{output:"",cancel:!0};const e=h.height||pr(c,n,t)||0;if(d+e>n.availableY){const e=gr(a);return(r=r||{offset:e}).last=u,r.attempt=(+r.attempt||0)+1,r.attempt>1?Jn(t,n):{output:i,continue:r,height:e}}if(i+=h.output,a.unshift([g,d,h.width||cr(c,n,t),e]),h.continue)return(r=r||{offset:0}).child=h.continue,r.last=u,r.offset=gr(a),{output:i,continue:r,height:gr(a),width:dr(a)}}0===p.availableX&&(a[0][2]=p.maxX)}}return{output:i,height:pr(e,n,t)||gr(a)-l[0],width:cr(e,n,t)||dr(a)-l[3]}}return{output:"",height:0}}(e,i,{x:0,y:0,availableX:s,availableY:o||n.availableY,maxX:s,maxY:null!=o?o:n.maxY},r,e.layout);if(a.cancel||(a.output=`${a.output}`,a.height=o||a.height,a.width=cr(e,n,t)),(a.cancel||a.continue)&&!e.bridge){const e=a.continue||{};return e.offset=0,delete e.last,e.attempt=(e.attempt||0)+1,e.attempt>1?Jn(t,n):{continue:e,output:""}}return a.continue&&(e.context&&(a.continue.state={ctx:i.context}),a.continue.offset=0),a}),{container:!0}),er("repeater",((e,t,n,r)=>{In(t,"container",".container {position:absolute;box-sizing:border-box;}"),e.height||(e.height="auto");let o,i=n.availableY,s=n.availableX,a="",l=!1;const u=hr(e,t,n);let c,f=r&&r.state&&"header"!==r.state.part?0:u[0];i-=f;let p=!1;const g=r&&r.state&&r.state.newPage;let d,h=r&&r.state&&r.state.src;if(!h){if(!e.source)return"";h=Xn(e.source)?hn(t,e.source):kn(t.context.root.sources[e.source.source]||{value:[]},e.source.filter,e.source.sort,e.source.group,t.context).value,(t.context.special||(t.context.special={})).values||(t.context.special.values={})}if(Array.isArray(h))d=h;else{if(!h||!Array.isArray(h.value))return{output:"",height:0};c=h,d=c.value,e.group&&(p=e.group.length>c.grouped&&e.group.length-c.grouped-1)}if(e.header&&(g||!r||!r.state||"header"===r.state.part||"group"===r.state.part)){const s=r&&r.state&&r.state.context&&r.state.context.context;if(c){const l=Wn(t,{special:{source:c&&c.grouped?c.all:d,level:c&&c.level,grouped:!1!==p,group:c&&c.group,values:(s&&s.special||{}).values}});if(e.group&&!1!==p&&(!r||!r.state||"group"===r.state.part)&&(o=sr(e.group[p],Wn(t,{value:c,special:{source:c&&c.grouped?c.all:d,level:c&&c.level,grouped:!0,group:c.group}}),{x:0,y:f,availableX:n.availableX,maxX:n.maxX,maxY:n.maxY}),o)){if(o.height>i)return a&&(a=`\n${a}`),{output:a,height:f,continue:{offset:0,state:{part:"group",src:h,current:0,newPage:!0}}};i-=o.height,a+=o.output,f+=o.height}if(o=e.groupHeaders&&e.groupHeaders[c.grouped]&&(!r||!r.state||!r.state.current)||g&&!1!==e.headerPerPage?sr(e.header,l,{x:0,y:f,availableX:n.availableX,maxX:n.maxX,maxY:n.maxY}):{output:"",height:0},o.height>i)return{output:`\n${a}`,height:f,continue:{offset:f,state:{part:"header",src:h,current:0,context:t,newPage:!0}}};i-=o.height,a+=o.output,f+=o.height}else{if(o=!r||g&&!1!==e.headerPerPage?sr(e.header,t,{x:0,y:f,availableX:n.availableX,maxX:n.maxX,maxY:n.maxY}):{output:"",height:0},o.height>i)return{output:`\n${a}`,height:f,continue:{offset:f,state:{part:"header",src:h,current:0,context:t,newPage:!0}}};i-=o.height,a+=o.output,f+=o.height}}let y=r&&r.state&&r.state.context||Wn(t,{special:{source:c&&c.grouped?c.all:d,level:c&&c.level,grouped:!1!==p,group:c&&c.group,values:{},last:d.length-1,count:d.length}});const m=e.row&&(Zn(e.row.elide)?hn(Wn(y,{special:{placement:n,widget:e}}),e.row.elide.x):e.row.elide);if(!r||!r.state||"footer"!==r.state.part){let u=0,g=0,$=f;if(m||d.length||!e.alternate)for(let b=r&&r.state&&r.state.current||0;bg&&(g=o.height,o.height>i&&($-=o.height));else if(o.width&&u&&o.width>s-u){f+=g,$=f,i-=g,g=0,u=0,b--;continue}if(o.height>i||o.cancel)return $===f&&g&&(f+=g),l?{output:`\n${a}`,height:f,continue:{offset:f,state:{part:"body",src:h,current:b,context:y,newPage:!c||!1===p},child:o.continue}}:{output:"",height:f,continue:{offset:f,state:{part:r&&r.state&&r.state.part||"body",src:h,current:b,context:y,newPage:!c||!1===p},child:o.continue}};if(g||(f+=o.height,i-=o.height),a+=o.output,l=!0,o.continue)return $===f&&g&&(f+=g),{output:`\n${a}`,height:f,continue:{offset:f,state:{part:"body",src:h,current:b,context:y,newPage:!c||!1===p},child:o.continue}}}else if(e.alternate){if(o=sr(e.alternate,y,{x:u,y:f,availableX:s-u,maxX:n.maxX,availableY:i,maxY:n.maxY},r?r.child:void 0),o.height>i)return{output:a,height:0,continue:{offset:0,state:{part:"body",src:h,current:0,newPage:!0}}};i-=o.height,a+=o.output,f+=o.height}$===f&&g&&(f+=g)}if(e.footer){const s=y&&y.context||r&&r.state&&r.state.context&&r.state.context.context,l=Wn(t,{special:{source:c&&c.grouped?c.all:d,level:c&&c.level,grouped:!1!==p,group:c&&c.group,values:(s&&s.special||{}).values}});if(o=c?e.groupEnds&&e.groupEnds[c.grouped]?sr(e.footer,l,{x:0,y:f,availableX:n.availableX,maxX:n.maxX,maxY:n.maxY}):{output:"",height:0}:sr(e.footer,l,{x:0,y:f,availableX:n.availableX,maxX:n.maxX,maxY:n.maxY}),o.height>i)return{output:`\n${a}`,height:f,continue:{offset:f,state:{part:"footer",src:h,current:0,context:y,newPage:!0}}};a+=o.output,f+=o.height}return{output:`\n${a}`,height:f}}),{container:!0}),er("image",((e,t,n)=>{In(t,"image",".image {position:absolute;box-sizing:border-box;} .image .inner {background-repeat:no-repeat;height:100%;}");const r=e.fit&&"object"==typeof e.fit?hn(t,e.fit.x):e.fit;return"stretch"===r?``:`
`})),er("measured",((e,t,n,r)=>{In(t,"measured",".measured {position:absolute;box-sizing:border-box;white-space:pre-wrap;word-break:break-all;font-family:serif;font-size:0.83rem}");const o=hn(t,e.text),i=ir(o,ur(e,n,t)||n.availableX,t,e.font);if(!r&&i>n.availableY)return{output:"",height:0,continue:{state:{},offset:0}};{let r=vr(e,n,t,{computedHeight:i,container:!0});return r[0]="line-height:1em;"+r[0],{height:i,output:`${Kn(o)}`}}})),er("html",((e,t,n)=>{In(t,"html",".html {position:absolute;box-sizing:border-box;overflow:hidden;line-height:1rem;}");const r=hn(Wn(t,{parser:fn}),e.html);return`${r}`}));const io=/(\d)(?=(\d{3})+\.)/g,so=/(\d)(?=(\d{3})+$)/g,ao=/^[-0-9\\.,]+$/;function lo(e,t=2,n=",",r="sign"){if(e="number"!=typeof e?parseFloat(e||""):e,isNaN(e))return"";const o=e<0;return e=e.toFixed(t),0===t&&(e=e.replace(/\..*/,"")),o&&"sign"!==r&&(e=`(${"both"===r?e:e.substr(1)})`),n?e.replace(-1===e.indexOf(".")?so:io,`$1${n}`):e}const uo=/y+|M+|d+|E+|H+|m+|s+|k+|h+|a+|S+|z+/g,co=["January","February","March","April","May","June","July","August","September","October","November","December"],fo=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];let po;function go(e,t){if(!e)return"";let n,r,o,i,s,a,l,u,c;if("object"==typeof e&&"f"in e&&Array.isArray(e.f)){const t=e.f,f=t.length,p=e.e;n=t[0],r=f>1&&null!=t[1]?t[1]:p?11:0,o=f>2&&null!=t[2]?t[2]:p?0:1,s=f>3&&null!=t[3]?t[3]:p?23:0,a=f>4&&null!=t[4]?t[4]:p?59:0,l=f>5&&null!=t[5]?t[5]:p?59:0,u=f>6&&null!=t[6]?t[6]:p?999:0;let g=new Date(n,r,o||1,s,a,l,u);c=f>7&&null!=t[7]?-t[7]:g.getTimezoneOffset(),o||(g.setMonth(r+1),g.setDate(0),o=g.getDate()),i=g.getDay()}else{if("string"==typeof e&&(e=new Date(e)),"[object Date]"!==Object.prototype.toString.call(e))return"";if(isNaN(e))return"";const t=e;n=t.getFullYear(),r=t.getMonth(),o=t.getDate(),i=t.getDay(),s=t.getHours(),a=t.getMinutes(),l=t.getSeconds(),u=t.getMilliseconds(),c=t.getTimezoneOffset()}return t||(t=po||"yyyy-MM-dd"),t.replace(uo,(e=>{if("y"===e[0])return e.length<=2?`${n}`.substr(2,2):`${n}`;if("M"===e[0])return 1===e.length?`${r+1}`:2===e.length?r<9?`0${r+1}`:`${r+1}`:3===e.length?co[r].substr(0,3):co[r];if("d"===e[0])return 1===e.length?`${o}`:2===e.length?o<=9?`0${o}`:`${o}`:ho(o);if("E"===e[0])return 1===e.length?`${i+1}`:2===e.length?fo[i].substr(0,3):fo[i];if("H"===e[0])return 1===e.length?`${s}`:s<=9?`0${s}`:`${s}`;if("m"===e[0])return 1===e.length?`${a}`:a<=9?`0${a}`:`${a}`;if("s"===e[0])return 1===e.length?`${l}`:l<=9?`0${l}`:`${l}`;if("S"===e[0]){const t=u;return 1===e.length?`${t}`:t<10?`00${t}`:t<100?`0${t}`:`${t}`}if("k"===e[0]||"h"===e[0]){let e=""+s%12;return"0"===e&&(e="12"),`${e}`}if("a"===e[0])return s>11?"PM":"AM";if("z"===e[0]){let t=0-c;const n=t<0?"-":"+";t=Math.abs(t);let r=t;if(1===e.length)r=Math.floor(t/60);else{if(2===e.length){const e=t%60,r=Math.floor(t/60);return`${n}${r<10?"0":""}${r}${e<10?"0":""}${e}`}if(3===e.length){const e=t%60,r=Math.floor(t/60);return`${n}${r<10?"0":""}${r}:${e<10?"0":""}${e}`}r=t}return`${n}${r}`}}))}function ho(e,t){let n=`${e=lo(e,0,t)}`;if(n=n.substr(-2,2),n.length>1&&"1"===n[0])return`${e}th`;switch(n[1]||n[0]){case"1":return`${e}st`;case"2":return`${e}nd`;case"3":return`${e}rd`;default:return`${e}th`}}go.setDefault=function(e){po=e};const yo=new RegExp(`[${Xe.split("").map((e=>`\\${e}`)).join("")}]`);let mo=!1,$o=!1,bo=!1,vo=!1,xo=!1,wo=!1,Ao=!1,jo=!1,ko=!1,Mo={array:60,union:60,args:60,keys:60},Oo=!1,Yo=!1,Do=0,zo=!1;const Xo=["===","!==","deep-is","deep-is-not"],Co=Xo.concat(["**","*","/%","/","%","+","-",">=","gte",">","gt","<=","lte","<","lt","in","like","ilike","not-in","not-like","not-ilike","contains","does-not-contain","is","is-not","==","!=","strict-is","strict-is-not","and","&&","or","||","??"]),So=["+","not"],No={"**":1,"*":2,"/%":2,"/":2,"%":2,"+":3,"-":3,">=":4,">":4,"<=":4,"<":4,in:4,like:4,ilike:4,"not-in":4,"not-like":4,"not-ilike":4,contains:4,"does-not-contain":4,gt:4,gte:4,lt:4,lte:4,is:5,"is-not":5,"==":5,"!=":5,"strict-is":5,"strict-is-not":5,"deep-is":5,"deep-is-not":5,"===":5,"!==":5,and:6,"&&":6,or:7,"||":7,"??":7},To=/^[-a-zA-Z_$0-9]/;function Fo(e,t){if(mo=(t=t||{}).noSymbols,bo=t.SExprOps,vo=t.listCommas,xo=t.SExprOps&&t.noArrayLiterals,wo=t.SExprOps&&t.noObjectLiterals,$o=!1,Ao=jo=t.template,ko=t.noIndent,Do=0,zo=!0,"listWrap"in t){const e=t.listWrap;if("boolean"==typeof e)Mo=e?{array:1,union:1,args:1,keys:1}:{array:0,union:0,args:0,keys:0};else if("number"==typeof e)Mo={array:e,union:e,args:e,keys:e};else{const t=e.base?!0===e.base?1:e.base:0;Mo=Object.keys(Mo).reduce(((n,r)=>(n[r]=r in e&&null!=e[r]?e[r]?!0===e[r]?1:e[r]:0:t,n)),{})}}else Mo={array:60,union:60,args:60,keys:60};return Oo=t.htmlSafe,Yo=t.noChecks,!bo&&"object"==typeof e&&e&&"op"in e&&"block"===e.op?function(e){return e.args&&e.args.length?e.args.map(((e,t)=>(zo=0===t,Ho(e)))).join("\n"):""}(e):Ho(e)}function Uo(e,t,n){if(e=`${e}`,!t)return e;for(let r=e.length;r=e.args.length){const n=e.args[t];if("object"==typeof n&&"v"in n&&""===n.v)continue;r+=`{{else}}${Ho(n)}`}else Ao=!1,r+=`{{elseif ${Ho(e.args[t++])}}}`,Ao=!0,r+=Ho(e.args[t]);return r+="{{/}}",r}(e);else if("case"===e.op)t=function(e){const t=e.args.length-1,n=e.args.map(((e,n)=>(Ao=!0,0!==n&&n%2!=1||(Ao=!1),n===t&&(Ao=!0),"object"==typeof e&&"op"in e?Ho(e).replace(Bo,"_"):Ho(e))));Ao=!0;let r=`{{${e.op} ${n[0]} when ${n[1]}}}`;for(let e=2;e<=t;e++)r+=e===t?`{{else}}${n[e]}`:e%2==1?`{{when ${n[e]}}}`:n[e];return r+="{{/}}",r}(e);else if(e.op){if("+"===e.op)return e.args.map((e=>Ho(e))).join("");{Ao=!1;const n=`{{${Ho("string"===e.op?e.args[0]:e)}}}`;Ao=!0,t=n}}}else{Ao=!1;const n=`{{${Ho(e)}}}`;Ao=!0,t=n}else if("r"in e)if("string"==typeof e.r)t=/^[0-9]/.test(e.r)?`.${e.r}`:e.r;else{const n=e.r;t=`${function(e,t){let n="";for(let r=0;r"string"==typeof e&&yo.test(e)?`${t?"":"_"}[${Ho({v:e})}]`:"string"==typeof e||"number"==typeof e?`${t?".":""}${e}`:`[${Ho(e)}]`)).join("")}`}else if("op"in e)t=function(e){let t=e.op;(jo&&!1!==Oo||Oo)&&(">"===t?t="gt":">="===t?t="gte":"<"===t?t="lt":"<="===t?t="lte":"&&"===t&&(t="and"));if(xo||"array"!==t||e.opts){if(wo||"object"!==t||!e.args||e.args.find(((e,t)=>t%2==0&&("string"==typeof e||!("v"in e)||"string"!=typeof e.v)))){if(bo)return e.args&&e.args.length?Vo(`(${t} `,e.args,e.opts,")",0):`(${t})`;if("if"===t||"unless"===t&&e.args&&e.args.length>2)return function(e){if(!e.args||e.args.length<2)return"false";let t="";const n=e.args.length-1,r=!!e.args.find(((e,t)=>(t%2==1||t===n)&&Wo(e)));Do++;const o=e.args.map(((e,t)=>Ho(!r||t%2!=1&&t!==n||Wo(e)?e:{op:"block",args:[e]})));Do--;const i=o.find((e=>e.length>30||~e.indexOf("\n")))||"";let s=ko?"":o.length>3||i?`\n${Uo(""," ",Do)}`:"";const a=i&&`${s} `||" ";s=s||" ";for(let e=0;e<=n;e++)if(0===e)if(r)t+=`if ${o[e++]} ${Zo(" ",o[e]).trimLeft()}`;else{const n=o[e++];t+=`if ${n}${~n.indexOf("\n")?s:" "}then${a}${o[e].trimLeft()}`}else e===n?r?t=t.trimRight()+` else ${Zo(" ",o[e]).trimLeft()}`:t+=`${s}else${a}${o[e].trimLeft()}`:r?t=t.trimRight()+` elif ${o[e++]} ${Zo(" ",o[e]).trimLeft()}`:t+=`${s}elif ${o[e++]} then${a}${o[e].trimLeft()}`;!r&&Do&&(t+=`${s}end`);return t}(e);if("case"===t&&e.args&&e.args.length>2)return function(e){if(!e.args||e.args.length<2)return"false";let t="";const n=e.args.length-1,r=!!e.args.find(((e,t)=>(t>1&&t%2==0||t===n)&&Wo(e)));Do++;const o=e.args.map(((e,t)=>{let o;return 0!==t&&Do++,o=r&&(t>1&&t%2==0||t===n)?Ho(Wo(e)?e:{op:"block",args:[e]}):t%2==0||t===n?Ho(e):"object"==typeof e&&"op"in e?Ho(e).replace(Bo,"_"):Ho(e),0!==t&&Do--,o}));Do--;const i=o.find((e=>e.length>30||~e.indexOf("\n")))||"";let s=ko?"":o.length>3||i?`\n${Uo(""," ",Do)}`:"";const a=s?`${s} `:" ",l=i&&`${a} `||" ";s=s||" ";for(let e=0;e<=n;e++)if(0===e)t+=`case ${o[e]}`;else if(e===n)r?t=t.trimRight()+a+`else ${Zo(" ",o[e]).trimLeft()}`:t+=`${a}else${l}${o[e].trimLeft()}`;else if(r)t=t.trimRight()+a+`when ${o[e++]} ${Zo(" ",o[e]).trimLeft()}`;else{const n=o[e++];t+=`${a}when ${n}${~n.indexOf("\n")?a:" "}then${l}${o[e].trimLeft()}`}!r&&Do&&(t+=`${s}end`);return t}(e);if("+"===t&&e.args&&e.args.length>1&&qo(t,e)){return`'${Eo(t,e).map((e=>"string"!=typeof e&&"v"in e&&"string"==typeof e.v?e.v.replace(/[{']/g,(e=>`\\${e}`)).replace(/\$$/,"\\$"):`{${Ho(e)}}`)).join("")}'`}if(("fmt"===t||"format"===t)&&e.args&&"object"==typeof e.args[1]&&"v"in e.args[1]&&"string"==typeof e.args[1].v){const t=e.args[0];let n=Ho(t);return"string"!=typeof t&&"op"in t&&(Co.includes(t.op)||So.includes(t.op))&&(n=`(${n})`),e.opts?`${n}#${[e.args[1].v]}${Vo("(",e.args.slice(2),e.opts,")")}`:`${n}#${[e.args[1].v].concat(e.args.slice(2).map((e=>Ho(e)))).join(",")}`}if(!(Co.includes(t)&&e.args&&e.args.length>1)||e.opts||Xo.includes(t)&&2!==e.args.length){if(So.includes(t)&&e.args&&1===e.args.length){const n=e.args[0];return"string"!=typeof n&&"op"in n&&(Co.includes(n.op)||So.includes(n.op))?`${t}(${Ho(n)})`:`${t}${To.test(t)?" ":""}${Ho(n)}`}if("block"===t){if(!e.args||!e.args.length)return"";Do++;const t=zo,n=e.args.map(((e,t)=>(zo=0===t,Ho(e))));zo=t;let r=ko?"":`\n${Uo(""," ",Do)}`;return Do--,1!==n.length||~n[0].indexOf("\n")?`{${r}${n.join(r)}\n${Uo(""," ",Do)}}`:`{ ${n[0]} }`}if("let"!==t&&"set"!==t||!e.args||2!==e.args.length)return"get"===t&&2===e.args.length&&"object"==typeof e.args[1]&&"v"in e.args[1]&&"object"==typeof e.args[1].v&&"k"in e.args[1].v?`${Ho(e.args[0])}${Ho({r:{k:["r"].concat(e.args[1].v.k)}}).substr(1)}`:To.test(t)?Vo(`${t}(`,e.args||[],e.opts,")",0):e.args&&e.args.length?Vo(`(${t} `,e.args,e.opts,")",0):`(${t})`;{let n,r=e.args[0];return n="string"==typeof r?r:"v"in r&&"string"==typeof r.v?r.v:"v"in r&&"object"==typeof r.v&&"k"in r.v?Ho({r:r.v}):Ho(r),`${t} ${n} = ${Ho(e.args[1])}`}}{let n=e.args.map(((e,n)=>function(e,t,n){let r;"**"===e&&1===n&&"string"!=typeof t&&"op"in t&&"**"===t.op&&(r=`(${Ho(t)})`);r="string"!=typeof t&&"op"in t&&(Co.includes(t.op)&&No[t.op]>No[e]||"if"===t.op||"unless"===t.op||"case"===t.op||"fmt"===t.op||"format"===t.op)?`(${Ho(t)})`:Ho(t);return r}(t,e,0===n?1:2)));const r=n.find((e=>e.length>30||~e.indexOf("\n")))||n.reduce(((e,t)=>e+t.length),0)&&n.length>2,o=ko?" ":r?`\n${Uo(""," ",Do+1)}`:" ";return(o.length>1||!ko&&r)&&(n=[n[0]].concat(n.slice(1).map((e=>function(e,t){return t.replace(/\n/gm,`\n${e}`)}(" ",e))))),`${n[0]} ${t}${o}${n.slice(1).join(` ${t}${o.length>1?`${o}`:o}`)}`}}return e.args&&e.args.length?Vo("{",e.args,e.opts,"}",2):"{}"}return Vo("[",e.args,e.opts,"]")}(e);else if(zn(e)){const n=jo&&!1!==Oo||Oo?"\\":">";t="n"in e?`|${e.n.join(vo?", ":" ")}| =${n} ${Ho(e.a)}`:`=${n}${Ho(e.a)}`}else"v"in e?t=function(e){if(1===e.s){Do++;const t=Go(e.v);if(Do--,~t.indexOf("\n")){const e=ko?" ":`\n${Uo(""," ",Do)}`;return`@[${e}${" "!==e?" ":""}${t}${e}]`}return`@[${t}]`}if("string"==typeof e.v)return Ao?e.v.replace(/\\(.)/g,"\\\\$1").replace(/{{/g,"\\{{"):!$o&&mo||yo.test(e.v)||!e.v.length?~e.v.indexOf("'")?~e.v.indexOf("`")?~e.v.indexOf('"')?`'${e.v.replace(/['{]/g,(e=>`\\${e}`)).replace(/\${/g,"\\${")}'`:`"${e.v}"`:`\`${e.v.replace(/[{`]/g,(e=>`\\${e}`)).replace(/\${/g,"\\${")}\``:`'${e.v.replace(/[{']/g,(e=>`\\${e}`)).replace(/\${/g,"\\${")}'`:`${$o?"":":"}${e.v}`;if("number"==typeof e.v||"boolean"==typeof e.v||"true"===e.v||"false"===e.v)return`${e.v}`;if("undefined"===e.v||void 0===e.v)return"undefined";if("null"===e.v||null===e.v)return"null";if(Array.isArray(e.v))return xo?Vo("(array",e.v.map((e=>({v:e}))),null,")",null,"array"):Vo("[",e.v.map((e=>({v:e}))),null,"]",null,"array");if("object"==typeof e.v)return En(e.v)?Ro(e.v):Vo("{",Object.entries(e.v).reduce(((e,t)=>(e.push({v:t[0]},{v:t[1]}),e)),[]),null,"}",2,"keys")}(e):En(e)?t=Ro(e):_n(e)&&(t=function(e){if("number"==typeof e||Oe(e)){let t="",n=Math.abs(Ye(e));return Po.forEach((e=>{const r=Math.floor(n/Me[e]);n%=Me[e],r&&(t+=`${r}${e}`)})),n&&(t+=`${n}ms`),`#${t}#`}{const t=e.d;let n="";return _o.forEach(((e,r)=>{null!=t[r]&&(n+=`${t[r]}${e}`)})),`#${n}#`}}(e));return"c"in e&&e.c.length&&(t=(zo?"":"\n")+e.c.map((e=>`${Uo(""," ",Do)}// ${e}\n`)).join("")+`${Uo(""," ",Do)}${t}`),t}function qo(e,t){if(t.args&&t.args.find((e=>"object"==typeof e&&"string"==typeof e.v)))return!0;if(!t.args||!t.args.length)return!1;const n=t.args[0];return"object"==typeof n&&"op"in n&&n.op===e&&qo(e,n)}function Eo(e,t,n=[]){if(t.args&&t.args.length){let r=0;for(;r0?"-":"+"}${r}${o?`:${Uo(o,"0",2)}`:""}`:"Z"}const Po=["w","d","h","mm","s"],_o=["y","m","d","h","mm","s","ms"];function Ro(e){let t="";if(e instanceof Date){const n=e.getFullYear(),r=e.getMonth()+1,o=e.getDate(),i=e.getHours(),s=e.getMinutes(),a=e.getSeconds(),l=e.getMilliseconds();return t=`${n}-${Uo(r,"0",2)}-${Uo(o,"0",2)}`,i+s+a+l>0&&(t+=` ${Uo(i,"0",2)}:${Uo(s,"0",2)}`,a+l>0&&(t+=`:${Uo(a,"0",2)}`,l>0&&(t+=`.${Uo(l,"0",3)}`))),`#${t}${Lo(1,e.getTimezoneOffset())}#`}if(Array.isArray(e.f)){const n=e.f;return t=`${n[0]}`,null!=n[1]&&(t+=`-${Uo(n[1]+1,"0",2)}`),null!=n[2]&&(t+=`-${Uo(n[2],"0",2)}`),null!=n[3]&&(t+=` ${Uo(n[3],"0",2)}`),null!=n[4]&&(t+=`:${Uo(n[4],"0",2)}`),null!=n[5]&&(t+=`:${Uo(n[5],"0",2)}`),null!=n[6]&&(t+=`.${Uo(n[6],"0",3)}`),null!=n[7]&&(t+=` ${Lo(-1,n[7])}`),"e"in e&&e.e&&(t+="<"),`#${t}#`}if("n"===e.f){if(Array.isArray(e.o))return _o.forEach(((n,r)=>{null!=e.o[r]&&(t+=`${e.o[r]}${n}`)})),t+=`${"d"in e&&-1===e.d?" ago":" from now"}${Lo(-1,e.z)}`,`#${t}#`;if("number"==typeof e.o){if(0===e.o)return"#now#";let n=Math.abs(e.o);return Po.forEach((e=>{const r=Math.floor(n/Me[e]);n%=Me[e],r&&(t+=`${r}${e}`)})),n&&(t+=`${n}ms`),`#${t}${e.o<0?" ago":e.o>0?" from now":""}${Lo(-1,e.z)}#`}}else if("d"in e&&1===e.d&&0===e.o)t=`#${"w"===e.f?"week":"m"===e.f?"month":"year"} to date${Lo(-1,e.z)}${e.e?">":""}#`;else{if("t"in e&&Array.isArray(e.t)){const n=e.t;return t=(e.o<0?"yesterday":e.o>0?"tomorrow":"today")+" at ",n[0]||n[1]||n[2]||n[3]?12!==n[0]||n[1]||n[2]||n[3]?(t+=n[0],null!=n[1]&&(t+=`:${Uo(n[1],"0",2)}`),null!=n[2]&&(t+=`:${Uo(n[2],"0",2)}`),null!=n[3]&&(t+=`.${Uo(n[3],"0",3)}`)):t+="noon":t+="midnight",`#${t}${Lo(-1,n[4])}${e.e?">":""}#`}if(!("t"in e)&&!("d"in e)&&!Array.isArray(e.f)){const n=e;return"d"===n.f?t+=""+(n.o<0?"yesterday":n.o>0?"tomorrow":"today"):t+=`${n.o<0?"last":n.o>0?"next":"this"} ${"w"===n.f?"week":"m"===n.f?"month":"year"}`,`#${t}${Lo(-1,n.z)}${n.e?">":""}#`}}return t}const Io=/^\s+/,Jo=/^\s+/gm;function Zo(e,t){return e?t.replace(Jo,(t=>t.substr(e.length))):t}function Vo(e,t,n,r,o,i){if(!(t&&t.length||n))return`${e}${r}`;Do++;const s=zo;let a;if(o){a=[];for(let e=0;e(zo=0===t,Ho(e))));if(n&&"object"==typeof n){const e="op"in n&&n.args?n.args:"v"in n?Object.entries(n.v).reduce(((e,t)=>(e.push({v:t[0]},{v:t[1]}),e)),[]):[];for(let t=0;t`${f} ${e}`)).join(l)}\n${f}${r}`;if(c.length<=u)return`${e}${c}${r}`;let p=`${e}`,g="";const d=a.length-1;for(let e=0;e=u&&(p+=g,g=""));return g&&(p+=g),`${p}\n${f}${r}`}function Wo(e){return"object"==typeof e&&"op"in e&&"block"===e.op}const Bo=/@case\b/g;function Go(e,t){if(void 0!==t&&(Yo=t),!e)return"any";const n=e.type,r=e.types;let o,i,s="",a="",l="",u="",c=Mo.array;switch(n){case"object":case"object[]":const t=!!~n.indexOf("[]");if(!(e.fields&&e.fields.length||e.rest)){s="{}"+(t?"[]":"");break}c=Mo.keys,Do++,o=e.fields?e.fields.map(((e,t)=>{const n=Go(e);return(e.desc&&e.desc.length?(0===t?"":`\n${Uo(""," ",Do)}`)+e.desc.map((e=>`// ${e}`)).join(`\n${Uo(""," ",Do)}`)+`\n${Uo(""," ",Do)}`:"")+`${e.name}${e.required?"":"?"}: ${n}`})):[],e.rest&&o.push(`...: ${Go(e.rest)}`),Do--,a="{",l="}"+(t?"[]":""),u=", ";break;case"union":case"union[]":~n.indexOf("[]")?(a="Array<",l=">"):e.checks&&e.checks.length&&(a="(",l=")"),a&&Do++,o=r.map((e=>Go(e))),c=Mo.union,u=o.length>6||o.find((e=>~e.indexOf("\n")))?" | ":"|",a&&Do--;break;case"literal":s="string"==typeof e.literal?`'${e.literal.replace(/'/g,"\\'")}'`:`${e.literal}`;break;case"tuple":case"tuple[]":if(!n||0===n.length){s="[]";break}Do++,a="[",l="]"+(~n.indexOf("\n")?"[]":""),u=", ",o=r.map((e=>Go(e))),Do--;break;default:s=e.ref||n||"any",e.ref&&"array"===n&&(s+="[]")}const f=ko?" ":Uo(""," ",Do);if(e.defs){i=Object.keys(e.defs).sort().map(((t,n)=>{const r=e.defs[t];return(r.desc&&r.desc.length?(0===n?"":`\n${f}`)+r.desc.map((e=>`// ${e}`)).join(`\n${f}`)+`\n${f}`:"")+`type ${t} = ${Go(r)}`})).join(`\n${f}`)}if(!s){const e=a&&!ko?`${f} `:f,t=ko?"":"\n",n=a?`${a}${t}${e}`:"",r=l?`${t}${f}${l}`:"";if(0===c)s=`${n}${o.join(u)}${r}`;else if(1===c)s=`${n}${o.join(`${u}${t}${e}`)}${r}`;else{let i="";const f=o.length-1;for(let n=0;nc&&n!==f&&!~(o[n+1]||"").indexOf("\n")&&(s+=`${t}${e}`,i="",~u.indexOf("|")&&(s+=" "));s=~s.indexOf("\n")?`${n}${s}${r}`:`${a}${"{"===a?" ":""}${s}${"{"===a&&" "!==s.substr(-1)?" ":""}${l}`}}return!Yo&&e.checks&&e.checks.length&&(s+=` ?${e.checks.map((e=>Ho(e))).join(" ?")} `),i&&(s=`${i}\n${f}\n${f}${s}`),s}const Ko=$(K(ie(V(J("@[")),xe,Rt(),xe,V(J("]"))),(([,,e])=>e)),{trim:!0,consumeAll:!0}),Qo=K(ie(V(J("-")),P(le)),(([e,t])=>e?-t:+t)),ei=K(ie(Qo,J("-",":"),Qo),(([e,,t])=>[e,t])),ti=K(ie(J("<",">"),xe,Qo),(([e,,t])=>"<"===e?[-1/0,t-1]:[t+1,1/0])),ni=$(re(B(K(J("*"),(()=>[-1/0,1/0])),ei,ti,Qo),P(" \t\r\n,;"),"allow"),{trim:!0});function ri(...e){return e.filter((e=>e)).join(".")}const oi=(e,t)=>e==t,ii=(e,t)=>e===t,si=/^\d+$/;function ai(e,t,n){const r=n&&"object"==typeof n?n.type:n;return li(e,t,"",{},"function"==typeof r?r:"strict"===r?ii:oi,"object"==typeof n?n.identity:void 0)}function li(e,t,n,r,o,i){if("object"!=typeof e||"object"!=typeof t)return e===t||(r[n]=[e,t]),r;let s;if(Array.isArray(e)&&Array.isArray(t)&&i&&(s=function(e,t){return e[`${t.split(".").reduce(((e,t)=>si.test(t)?`${e}[]`:`${e}${e.length?".":""}${t}`),"")}[]`]}(i,n))){const a=e.map((e=>!0===s?e:"string"==typeof s?!e||"object"!=typeof e&&"function"!=typeof e?e:e[s]:s(e))),l=t.map((e=>!0===s?e:"string"==typeof s?!e||"object"!=typeof e&&"function"!=typeof e?e:e[s]:s(e)));for(let s=0;s0){const t=mi(e[0]);t.fields?r.push({type:t.type,fields:t.fields,name:"0"}):r.push({type:t.type,name:"0"})}return{type:n,fields:r}}if("object"==typeof e&&!hi(e)){const r=[];for(const n in e)r.push($i(n,e[n],t));return{type:n,fields:r}}return{type:n}}function $i(e,t,n){const r=bi(t);if(!n&&(~r.indexOf("object")||"array"===r)){const n=mi(t);return n.fields?{type:r,fields:n.fields,name:e}:{type:r,name:e}}return{type:bi(t),name:e}}function bi(e){return"string"==typeof e?hi(e)?"date":"string":"number"==typeof e?"number":"boolean"==typeof e?"boolean":Array.isArray(e)?e.length<1?"array":"string"==typeof e[0]?hi(e[0])?"date[]":"string[]":"number"==typeof e[0]?"number[]":"boolean"==typeof e[0]?"boolean[]":hi(e[0])?"date[]":"object"==typeof e[0]?"object[]":"array":"object"==typeof e?hi(e)?"date":"object":"any"}function vi(e,t,n){if("string"==typeof t){const e=Ko(t);if("message"in e)return[{error:"invalid schema"}];t=e}t||(t={type:"any"});return xi(e,t,n,"",new Nn(e,{special:{types:t.defs||{}}}))}function xi(e,t,n,r,o,i){let s=t=t||{};const a=[],l="strict"===n||"missing"===n;if(s.ref){let e=s;for(;e&&e.ref;)e=gn(o,`@types.${e.ref}`);e?s=e:l&&a.push({error:`missing type definition '${s.ref}'`,type:"missing"})}let{checks:u}=s;const{type:c,fields:f,rest:p,types:g,literal:d}=s;if(!Ai(e,"array"===t.type?"array":c,d,i))return[{error:`type mismatch for${i?" required":""} '${c}'`,actual:Go(mi(e)),value:e,path:r,expected:Go(s,!0)}];let h;if(s!==t&&t.checks&&(u=u?u.concat(t.checks):t.checks),"tuple"!==c&&"tuple[]"!==c||!g)if("union"!==c&&"union[]"!==c||!g){if(("object"===c||"object[]"===c||"any"===c)&&f||p){const i=~c.indexOf("[]")||"array"===t.type,s=i?e:[e];for(let e=0;et.name===e))||null!=t[e]&&!0!==(h=xi(t[e],p,n,ri(l,e),Tn(o,{value:t[e],path:ri(l,e)})))&&a.push.apply(a,h);else if("strict"===n&&t)for(const e in t)(null==t[e]||f)&&f.find((t=>t.name===e))||a.push({error:`unknown field ${e}`,path:l,type:"strict",value:t[e]})}else a.push({error:"expected an object",value:t,path:l,actual:Go(mi(t),!0)})}}}else{const t=~c.indexOf("[]"),i=t?e:[e];for(let e=0;e"missing"===e.type))||h.find((e=>"check"===e.type))?c=h.filter((e=>l&&"missing"===e.type||"check"===e.type)):h.find((e=>e.path!==u))&&(c=h)}f||c?!f&&c&&a.push.apply(a,c):a.push({error:"type mismatch for union",actual:Go(mi(s)),expected:Go({type:"union",types:g}),value:s,path:u})}}else{const t=~c.indexOf("[]"),i=t?e:[e];for(let e=0;e1?"s":""} in tuple`,path:l,expected:Go({type:"tuple",types:g})})}else{for(let e=0;eg.length&&a.push({error:"too many values for tuple",type:"strict",path:l,expected:Go({type:"tuple",types:g})})}else a.push({error:"expected a tuple",path:l,value:s})}}if(!a.length&&u&&u.length){let n;for(let i=0;ie&&"string"==typeof t),!0);case"number[]":return Array.isArray(e)&&e.reduce(((e,t)=>e&&"number"==typeof t),!0);case"boolean[]":return Array.isArray(e)&&e.reduce(((e,t)=>e&&"boolean"==typeof t),!0);case"date[]":return Array.isArray(e)&&e.reduce(((e,t)=>e&&hi(t)),!0);case"object[]":return Array.isArray(e)&&e.reduce(((e,t)=>e&&!Array.isArray(t)&&"object"==typeof t&&(!r||null!=t)),!0)}}const ji={record:"\n",field:",",header:!1,quote:'"'};function ki(e){const t=Object.assign({},ji,e),n=E(" \t\r\n".replace(t.field,"").replace(t.record,"").replace(t.quote,"")),r=J(t.quote||'"'),o=oe(ie(n,r),K(ee(B(R(t.quote),K(ie(r,r),(()=>"")))),(e=>w(e))),ie(r,n)),i=$(ne(G(re(B(o,R(t.record+t.field,!0)),ie(n,J(t.field),n)),(e=>e.length>1||e[0].length>0||"empty record")),J(t.record),"allow"),{consumeAll:!0});return function(e,n){const r=i(e,n);if(Array.isArray(r)&&r.length>0&&t.header){const e=r.shift().map(((e,t)=>[e,t]));e.sort(((e,t)=>et?1:0));for(let t=0;t(e[t]=n.replace(new RegExp(`[^${t}]`,"g"),"").length/t.length,e)),{}),o=Oi.reduce(((e,t)=>(e[t]=n.replace(new RegExp(`[^${t}]`,"g"),"").length/t.length,e)),{}),i=Yi.reduce(((e,t)=>(e[t]=n.replace(new RegExp(`[^${t}]`,"g"),"").length/t.length,e)),{}),s={field:",",record:"\n",quote:'"'};let a=0;for(const e in r)r[e]>a&&(s.field=e,a=r[e]);a=0;for(const e in o)o[e]>a&&(s.record=e,a=o[e]);a=0;for(const e in i)i[e]>a&&(s.quote=e,a=i[e]);return s}function zi(e,t){return{type:"value",names:e,apply:t}}const Xi={y:[0,12],M:[1,30],d:[2,24]},Ci={places:2,"all-numeric":!1,method:"half-even"};const Si=/^[^\d]*(\d+(?:\.\d*)?)/,Ni=/^\s*$/;function Ti(e){return!isNaN(e)&&!Ni.test(e)}function Fi(e){return isNaN(e)||!e?0:+e}function Ui(e,t){return e===t||e==t||(En(e)&&En(t)?+Ln(e)==+Ln(t):"number"==typeof e&&"number"==typeof t&&(isNaN(e)&&isNaN(t)))}function Hi(e,t,n=.5){const r=Ei(e,t,n,0);return r&&r[1]||void 0}function qi(e,t,n=.5,r=2){const o=Ei(e,t,n,r);return o&&o[2]||0}function Ei(e,t,n=.5,r=2){if(!e||!t)return;const o=e.toLowerCase(),i=t.toLowerCase();o.indexOf(i),i.indexOf(o);let s=0,a=0,l=0,u=0,c=0,f=0,p=0,g=0,d=0;const h=e.length,y=t.length;let m=0,$=0;for(s=0;s=n)return[o.substr(s,l),i.substr(a,u),d]}}xn(zi(["is","is-not","==","!="],((e,t)=>{const[n,r]=t;let o=Ui(n,r);return o||"is"!==e&&"is-not"!==e||!yi(r)||(o=!0===vi(n,r,"loose")),"is"===e||"=="===e?o:!o})),zi(["strict-is","strict-is-not"],((e,t)=>{const[n,r]=t;let o=n===r;return!o&&yi(r)&&(o=!0===vi(n,r,"strict")),"strict-is"===e?o:!o})),zi(["deep-is","deep-is-not","===","!=="],((e,t,n,r)=>{let[o,i,s]=t;if(s&&zn(s)){const e=s;s=(t,n)=>mn(r,e,[t,n])}const a=ui(o,i,s);return"deep-is"===e||"==="===e?a:!a})),zi(["not"],((e,t)=>!t[0])),zi(["<",">","<=",">=","gt","gte","lt","lte"],((e,t)=>{"gt"===e?e=">":"lt"===e?e="<":"gte"===e?e=">=":"lte"===e&&(e="<=");let[n,r]=t;return n instanceof Date||r instanceof Date?"number"==typeof n||"number"==typeof r?(n=+n,r=+r):"string"==typeof n||"string"==typeof r?(n=new Date(n),r=new Date(r)):n&&"f"in n&&"o"in n?(n=qn(n)["<"===e[0]?1:0],r=new Date(r)):r&&"f"in r&&"o"in r&&(r=qn(r)["<"===e||">="===e?0:1],n=new Date(n)):En(n)?(n=qn(n)["<"===e[0]?1:0],r=En(r)?qn(r)["<"===e||">="===e?0:1]:new Date(r)):En(r)&&(r=qn(r)["<"===e||">="===e?0:1],n=new Date(n)),"<"===e?n"===e?n>r:"<="===e?n<=r:">="===e&&n>=r})),zi(["like","not-like","ilike","not-ilike"],((e,t)=>{const[n,r,o]=t;let i=!1;const s="string"==typeof r?[r]:r,a="free"===o||"object"==typeof o&&o.free;if(!Array.isArray(s))return!1;for(let t=0;to.test(e))):o.test(n)}return"like"===e||"ilike"===e?i:!i})),zi(["in","not-in"],((e,t,n,r)=>{const[o,i]=t;let s;if(En(i)){const t=qn(i),n=En(o)?qn(o)[0]:new Date(o),r=n>=t[0]&&n<=t[1];return"in"===e?r:!r}if("string"==typeof o&&"object"==typeof i&&!Array.isArray(i))return o in i;if(Array.isArray(o)&&o.length>0&&"string"==typeof o[0]&&!Array.isArray(i)&&i&&"object"==typeof i){const t=Object.keys(i),n=o.reduce(((e,n)=>e&&~t.indexOf(n)),!0);return"in"===e?n:!n}if("string"==typeof i&&Ti(o)&&(s=Ii(r,i),Array.isArray(s))){const t=s.reduce(((e,t)=>e||(Array.isArray(t)?o>=t[0]&&o<=t[1]:o==t)),!1);return"in"===e?t:!t}if(zn(o)){let t=!1;return Array.isArray(i)||i&&"object"==typeof i&&"0"in i?t=Array.prototype.find.call(i,((e,t)=>mn(r,o,[e,t],{index:t,key:t}))):i&&"object"==typeof i&&(t=Object.entries(i).find(((e,t)=>mn(r,o,[e[1],t,e[0]],{index:t,key:e[0]})))),"in"===e?!!t:!t}if(!Array.isArray(i)&&"string"!=typeof i)return"in"===e?o==i:o!=i;if(Array.isArray(o)&&Array.isArray(i)){const t=o.reduce(((e,t)=>e&&~i.indexOf(t)),!0);return"in"===e?!!t:!t}const a=!!~i.indexOf(o);return"in"===e?a:!a})),zi(["contains","does-not-contain"],((e,t,n,r)=>{const[o,i]=t;if(En(o)){const t=qn(o),n=En(i)?qn(i)[0]:new Date(i),r=n>=t[0]&&n<=t[1];return"contains"===e?r:!r}if(zn(i)){let t=!1;return Array.isArray(o)||o&&"object"==typeof o&&"0"in o?t=Array.prototype.find.call(o,((e,t)=>mn(r,i,[e,t],{index:t,key:t}))):i&&"object"==typeof o&&(t=Object.entries(o).find(((e,t)=>mn(r,i,[e[1],t,e[0]],{index:t,key:e[0]})))),"contains"===e?!!t:!t}if(!Array.isArray(o)&&"string"!=typeof o)return!1;if(Array.isArray(i)&&Array.isArray(o)){const t=i.reduce(((e,t)=>e&&~o.indexOf(t)),!0);return"contains"===e?!!t:!t}const s=!!~o.indexOf(i);return"contains"===e?s:!s})),zi(["clamp"],((e,[t,n,r])=>nr?r:n)),zi(["get"],((e,t,n,r)=>{const[o,i]=t,s=Tn(r,{value:o});return"string"==typeof(a=i)||"object"==typeof a&&Array.isArray(a.k)?gn(s,i):"number"==typeof i?gn(s,""+i):hn(s,i);var a})),zi(["array"],((e,t)=>t)),zi(["object"],((e,t)=>{const n={};for(let e=0;e"string"!=typeof t?[t]:t.split(n||""))),zi(["filter"],((e,t,n,r)=>{let[o,i,s,a]=t;if(!Array.isArray(o)){if(!o||!Array.isArray(o.value)){if("object"==typeof o&&o){let e=Object.entries(o).filter(((e,t)=>mn(r,i,[e[1],t,e[0]],{index:t,key:e[0]})));return s&&(e=jn(r,e,s,((e,t,n)=>mn(e,t,[n[1],n[0]],{key:n[0]})))),e.reduce(((e,t)=>(e[t[0]]=t[1],e)),{})}return[]}o=o.value}return kn({value:o},i,s,a,r).value})),zi(["source"],((e,t,n,r)=>{const[o,i]=t;let s=pn(o);return zn(i)?mn(r,i,[],{source:s}):s})),zi(["group"],((e,t,n,r)=>{let[o,i]=t;if(!Array.isArray(o)){if(!o||!Array.isArray(o.value))return{};o=o.value}return kn({value:o},null,null,i,r).value})),zi(["sort"],((e,t,n,r)=>{let[o,i]=t;if(!Array.isArray(o)){if(!o||!Array.isArray(o.value))return o&&"object"==typeof o?(i||(i=[{a:{r:{p:"@",k:["key"]}}}]),jn(r,Object.entries(o),i,((e,t,n)=>mn(e,t,[n[1],n[0]],{key:n[0]}))).reduce(((e,t)=>(e[t[0]]=t[1],e)),{})):{};o=o.value}return i||(i=[{a:{r:{k:["_"]}}}]),jn(r,o,i)})),zi(["time-span","time-span-ms"],((e,t,n)=>{const r=n||{},o=En(t[0])&&En(t[1])?function(e,t){if(isNaN(+e)||isNaN(+t))return{d:[]};if(t0&&(o.d[0]+=a,n.setFullYear(r.getFullYear()-1)),n.setFullYear(n.getFullYear()+1),n>r?n.setFullYear(n.getFullYear()-1):o.d[0]++,1===e.getMonth()&&29===e.getDate()&&1!==n.getMonth()&&(n.setDate(29),n.setMonth(1));;){if(a=n.getDate(),i=n.getMonth(),s=n.getFullYear(),n.setDate(a+1),n.getMonth()!==i?(n.setDate(1),n.setMonth(i+2),n.setDate(0)):(n.setDate(a),n.setMonth(i+1),(11===i?0!==n.getMonth():n.getMonth()!==i+1)&&(n.setDate(1),n.setMonth(i+2),n.setDate(0))),n>r){n.setFullYear(s),n.setDate(1),n.setMonth(i),n.setDate(a);break}o.d[1]++}for(;;){if(n.setDate(n.getDate()+1),n>r){n.setDate(n.getDate()-1);break}o.d[2]++}for(;;){if(n.setHours(n.getHours()+1),n>r){n.setHours(n.getHours()-1);break}o.d[3]++}for(;;){if(n.setMinutes(n.getMinutes()+1),n>r){n.setMinutes(n.getMinutes()-1);break}o.d[4]++}for(;;){if(n.setSeconds(n.getSeconds()+1),n>r){n.setSeconds(n.getSeconds()-1);break}o.d[5]++}return n.getMilliseconds()<=r.getMilliseconds()?o.d[6]=r.getMilliseconds()-n.getMilliseconds():o.d[6]=1e3-n.getMilliseconds()+r.getMilliseconds(),o}(Ln(t[0]),Ln(t[1])):_n(t[0])?t[0]:0;if(r.unit){const e=(Array.isArray(r.unit)?r.unit:[r.unit]).map((e=>"y"===e[0]?"y":"M"===e[0]||"m"===e[0]&&"i"!==e[1]&&"m"!==e[1]?"M":"w"===e[0]?"w":"d"===e[0]?"d":"h"===e[0]?"h":"m"!==e[0]||e[1]&&"i"!==e[1]&&"m"!==e[1]?"s"===e[0]?"s":"m"===e[0]&&"s"===e[1]?"l":"":"m")).filter((e=>!!e));let t,n;if("number"!=typeof o&&!Oe(o)){const r=e.join("");if("d"===r)if(o.s){const e=new Date(o.s);e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0);const t=new Date(+e);t.setDate(1),t.setFullYear(t.getFullYear()+o.d[0]),t.setMonth(e.getMonth()+o.d[1]);const r=t.getMonth();t.setDate(e.getDate()),t.getMonth()!==r&&t.setDate(0),t.setDate(t.getDate()+o.d[2]);const i=+t-+e;let s=Math.floor(i/864e5);i%864e5>=828e5&&s++,n=[s]}else n[0]+=365*o.d[0],n[0]+=30*o.d[1];else e.length<4&&("y"===r||"yM"===r||"yMd"===r||"M"===r||"Md"===r||"d"===r)&&(n=e.map((e=>(t=o.d[Xi[e][0]+1]/Xi[e][1],o.d[Xi[e][0]]))),"M"===e[0]&&(n[0]+=12*o.d[0]))}if(!n){let r="number"==typeof o||Oe(o)?Ye(o):o&&"s"in o?+Rn(new Date(o.s),o,1)-+new Date(o.s):o.d[0]*Me.y+o.d[1]*Me.m+o.d[2]*Me.d+o.d[3]*Me.h+o.d[4]*Me.mm+o.d[5]*Me.s+o.d[6];n=e.map((()=>0));const i={y:"m",M:"w",w:"d",d:"h",h:"mm",m:"s"},s={y:12,M:4.3,w:7,d:24,h:60,m:60};for(let o=0;o=.5&&n[n.length-1]++:"c"===(r.round||"")[0]&&(t>0&&n[n.length-1]++,"y"===e[0]&&"M"===e[1]&&2===e.length&&12===n[1]&&(n[0]++,n[1]=0)),r.string){const t={y:"year",M:"month",w:"week",d:"day",h:"hour",m:"minute",s:"second",l:"millisecond"};let r="";for(let o=0;o1?"s":""}`);return r}return Array.isArray(r.unit)?n:n[0]}if(!r.string)return o;if("number"!=typeof o&&!Oe(o)){let e="";const t=["year","month","day","hour","minute","second","millisecond"];for(let n=0;n1?"s":""}`);return e}{let e=Ye(o),t="";const n=["w","d","h","mm","s"],r=["week","day","hour","minute","second","millisecond"];for(let o=0;oMe[n[o]]){const i=Math.floor(e/Me[n[o]]);e-=Me[n[o]]*i,t+=`${t.length?" ":""}${i} ${r[o]}${i>1?"s":""}`}e&&(t+=`${t.length?" ":""}${e} millisecond${e>1?"s":""}`)}})),zi(["string","unparse"],((e,t,n)=>{const[r]=t;if((n=n||t[1]||{})&&"object"==typeof n||(n={}),"unparse"===e&&(n=Object.assign({},n,{raport:1})),n.raport&&n.tpl&&(n.template=1),!n&&null==r)return"";if("object"==typeof n){if(n.json)return JSON.stringify(r);if(n.schema)return Go(r);if(n.raport){let e=Fo(r,n);return void 0===e&&(e=Fo({v:r},n)),e}if("string"==typeof r&&n.styled)return to(r);if(null==r)return""}if(Array.isArray(r))return r.join(", ");let o=`${r}`;return"[object"===o.slice(0,7)?JSON.stringify(r):o})),zi(["call"],((e,t,n,r)=>{if(null!=t[0]&&"string"==typeof t[1]&&"function"==typeof t[0][t[1]]){const e=t.shift();return e[t.shift()].apply(e,t)}if("function"==typeof t[0]){return t.shift().apply(null,t)}if(Cn(t[0]))return mn(r,t[0],t.slice(1))})),zi(["intersect"],((e,[t,n])=>{if(!Array.isArray(t)||!Array.isArray(n))return[];const r=[];let o;for(let e=0;edn(o,t,n,!0))),zi(["set"],((e,[t,n],r,o)=>dn(o,t,n))),zi(["similarity"],((e,[t,n,r,o])=>qi(`${t||""}`,`${n||""}`,r,o))),zi(["similar"],((e,[t,n,r,o])=>Ei(`${t||""}`,`${n||""}`,r,o))),zi(["overlap"],((e,[t,n,r])=>Hi(`${t||""}`,`${n||""}`,r))),zi(["validate","valid"],((e,[t,n,r],o)=>{const i=vi(t,n,r||(null==o?void 0:o.mode)||(null==o?void 0:o.strict)&&"strict");return"valid"===e?!0===i:i})),zi(["inspect"],((e,[t,n],r)=>"schema"===(n||(null==r?void 0:r.mode))?Go(mi(t,null==r?void 0:r.flat)):mi(t))),zi(["diff"],((e,[t,n,r],o,i)=>{if(r&&zn(r)){const e=r;r=(t,n)=>mn(i,e,[t,n])}return ai(t,n,r)})),zi(["label-diff"],((e,[t,n],r)=>fi(t,n,r)))),xn(zi(["+","add"],((e,t)=>{if(1===t.length)return En(t[0])?+Ln(t[0]):t[0]?parseFloat(t[0]):0;if(Array.isArray(t[0]))return t[0].concat.apply(t[0],t.slice(1));if(En(t[0])&&t.length>1&&t.slice(1).reduce(((e,t)=>e&&_n(t)),!0))return t.slice(1).reduce(((e,t)=>Rn(e,t,1)),Ln(t[0]));if("number"!=typeof t[0]&&t.length>1&&_n(t[0]))return t.slice(1).reduce(((e,t)=>function(e,t){if("number"==typeof e&&"number"==typeof t)return e+t;{const n={d:[]};if("number"==typeof e)n.d[6]=e;else if(Oe(e))n.d[6]=e.ms;else for(let t=0;t<7;t++)e.d[t]&&(n.d[t]=e.d[t]);if("number"==typeof t)n.d[6]=(n.d[6]||0)+t;else if(Oe(t))n.d[6]=(n.d[6]||0)+t.ms;else for(let e=0;e<7;e++)t.d[e]&&(n.d[e]=(n.d[e]||0)+t.d[e]);return n}}(e,t)),t[0]);if(t.reduce(((e,t)=>e&&"object"==typeof t&&!En(t)),!0))return Object.assign.apply(Object,[{}].concat(t));return t.reduce(((e,t)=>e&&Ti(t)),!0)?t.reduce(((e,t)=>e+ +t),0):t.reduce(((e,t)=>e+(null==t?"":t)),"")})),zi(["num"],((e,[t])=>{let n;return(n=Si.exec(t))?+n[1]:parseInt(t)})),zi(["-","subtract"],((e,t)=>{const n=t.shift();if(En(n)){if(t.reduce(((e,t)=>e&&En(t)),!0))return t.reduce(((e,t)=>e-+Ln(t)),+Ln(n));if(t.reduce(((e,t)=>e&&_n(t)),!0))return t.reduce(((e,t)=>Rn(e,t,-1)),Ln(n))}return t.reduce(((e,t)=>e-(Ti(t)?+t:0)),Ti(n)?+n:0)})),zi(["*","multiply"],((e,t)=>{const n=t.shift();if(!Ti(n)){if("string"==typeof n&&1===t.length&&Ti(t[0])&&+t[0]>0){let e="";for(let r=0;re*(Ti(t)?+t:0)),+n)})),zi(["/","/%","divide","intdiv"],((e,t)=>{const n=t.shift();return isNaN(n)?0:e.length>1||"intdiv"===e?t.reduce(((e,t)=>Math.floor(e/(isNaN(t)?1:+t))),+n):t.reduce(((e,t)=>e/(isNaN(t)?1:+t)),+n)})),zi(["%","modulus"],((e,t)=>{const n=t.shift();return t.reduce(((e,t)=>e%(isNaN(t)?1:+t)),isNaN(n)?0:+n)})),zi(["pow","**"],((e,t)=>{const n=t.pop(),r=Math.pow(t.pop(),n);return t.reverse().reduce(((e,t)=>Math.pow(t,e)),r)})),zi(["abs"],((e,t)=>"number"!=typeof t[0]?t[0]:Math.abs(t[0]))),zi(["round"],((e,[t,n,r])=>void 0!==n||Ci["all-numeric"]?+function(e,t=Ci.places,n=Ci.method){if(t>0){let r=(+e||0).toString();const o=r.indexOf(".");if(!~o)return(+r).toFixed(t);let i=r.slice(o+1);if(i.length<=t)return(+r).toFixed(t);r+="0",i+="0";const s=+`${r.slice(t-i.length,t-i.length+1)}`||0;if(+s<5)return r.slice(0,t-i.length);if(+s>5||+`${r.slice(1+t-i.length)}`)return(+e).toFixed(t);{const e=`${r.slice(0,t-i.length)}`,o=+r.slice(t-i.length-1,t-i.length);return"half-odd"===n?(+`${e}${o%2==0?6:4}`).toFixed(t):"half-up"===n?(+`${e}${+e>0?6:4}`).toFixed(t):"half-down"===n?(+`${e}${+e>0?4:6}`).toFixed(t):"to-0"===n?(+`${e}4`).toFixed(t):"from-0"===n?(+`${e}6`).toFixed(t):(+`${e}${o%2==0?4:6}`).toFixed(t)}}if(0===t){let t=(+e||0).toString();const r=t.indexOf(".");if(!~r)return t;t=`${t}00`;const o=+t.slice(r-1,r),i=+t.slice(r+1,r+2);if(i<5)return t.slice(0,r);if(i>5||5===i&&+t.slice(r+2))return(+`${t.slice(0,r-1)}0`+(o+1)*(+t<0?-1:1)).toString();{const e=+`${t.slice(0,r-1)}0`;return"half-odd"===n?(e+(o%2==0?o+1:o)*(+t<0?-1:1)).toString():"half-up"===n?(e+(+t>0?o+1:o)*(+t<0?-1:1)).toString():"half-down"===n?(e+(+t<0?o+1:o)*(+t<0?-1:1)).toString():"to-0"===n?e.toString():"from-0"===n?(e+1).toString():(e+(o%2==0?o:o+1)*(+t<0?-1:1)).toString()}}{let r=`${+e<0?Math.floor(+e||0):Math.ceil(+e||0)}`;if(0-t>r.length)return"0";const o=+r.slice(t,-1===t?void 0:t+1);let i=r.slice(t-1,t);"-"===i&&(i="");const s=`${Math.pow(10,0-t).toString().slice(1)}`;if(i){if(o<5)return`${r.slice(0,t)}${s}`;if(o>5||t<-1&&+`${r.slice(t+1)}`)return(+`${+r.slice(0,t-1)||0}0${s}`+ +`${+i+1}${s}`*(+r<0?-1:1)).toString();{const e=+`${r.slice(0,t-1)||0}0${s}`;return"half-odd"===n?(e+ +`${+i%2==0?+i+1:+i}${s}`*(+r<0?-1:1)).toString():"half-up"===n?(e+ +`${+r>0?+i+1:+i}${s}`*(+r<0?-1:1)).toString():"half-down"===n?(e+ +`${+r<0?+i+1:+i}${s}`*(+r<0?-1:1)).toString():"to-0"===n?(e+ +`${+i}${s}`*(+r<0?-1:1)).toString():"from-0"===n?(e+ +`${+i+1}${s}`*(+r<0?-1:1)).toString():(e+ +`${+i%2==0?+i:+i+1}${s}`*(+r<0?-1:1)).toString()}}{const e=`${+r<0?"-":""}1${s}`;return+r>0&&+r<5||+r<0&&+r>-5?"0":+r>0&&+r>5||+r<0&&+r<-5||"half-odd"===n?e:"half-up"===n?+r>0?e:"0":"half-down"===n?+r>0?"0":e:"to-0"===n?"0":"from-0"===n?e:"0"}}}(t,n,r):Math.round(t))),zi(["floor"],((e,t)=>Math.floor(t[0]))),zi(["ceil"],((e,t)=>Math.ceil(t[0]))),zi(["rand","random"],((e,[t,n,r])=>{let o;return null==t?Math.random():("number"!=typeof n?o=Math.random()*t:"number"==typeof n&&(o=Math.random()*(n-t)+t),!0===n||!0===r?o:Math.round(o))})));const Li=/^\s*/,Pi=/\s*$/,_i=/([\.\[\]\{\}\(\)\^\$\*\+\-])/g;function Ri(e,t){if("string"==typeof e){const t=gt(e);t&&(e=t)}return go(En(e)?Pn(e):e,t)}function Ii(e,t){const n=e.root._ranges||(e.root._ranges={});return t in n?n[t]:n[t]=ni(t)}function Ji(e,t,n,r){if(Array.isArray(t)){if(0===t.length)return e;if(2===t.length){const[n,o]=t;if(Array.isArray(n))for(const t of n)r?t in e?e[t].push(o):e[t]=[o]:e[t]=o;else r?n in e?e[n].push(o):e[n]=[o]:e[n]=o}}else if("object"==typeof t){const o=t;if("many"in o&&Array.isArray(o.many))for(const t of o.many)Ji(e,t,n,r);else("key"in o||"keys"in o)&&Ji(e,[o.key||o.keys,o.value||n],n,r)}else r?t in e?e[t].push(n):e[t]=[n]:e[t]=n;return e}xn(zi(["eval"],((e,[t],n,r)=>(null==n?void 0:n.template)?yn((null==n?void 0:n.context)||r,t):hn((null==n?void 0:n.context)||r,t))),zi(["padl","padr","pad"],((e,t)=>{let[n,r,o]=t;return function(e,t,n,r){if("string"!=typeof t&&(t=""+t),!Ti(n))return t;r||(r=" "),"string"!=typeof r&&(r=""+r),r.length<1&&(r=" ");const o=(n-t.length)/2;for(let i=0;t.length{let[n]=t;return n=""+n,"trim"!==e&&"trimr"!==e||(n=n.replace(Pi,"")),"trim"!==e&&"triml"!==e||(n=n.replace(Li,"")),n})),zi(["slice","substr"],((e,[t,n,r],o,i)=>{if(t&&"function"==typeof t.slice)return t.slice(n,r);{const e=wn("string");if(e)return`${e.apply("string",[t],void 0,i)}`.slice(n,r)}})),zi(["len","length"],((e,[t])=>"string"==typeof t||t&&"length"in t?t.length:0)),zi(["replace","replace-all"],((e,[t,n,r,o])=>{t=`${t}`;const i="string"==typeof o;return"replace-all"===e||i?t.replace(new RegExp(i?n:n.replace(_i,"\\$1"),("replace"===e||o&&~o.indexOf("g")?o:`${o||""}g`)||"g"),r):t.replace(n,r)})),zi(["reverse"],((e,[t])=>{if("string"==typeof t){let e="";for(let n=0;n{if(!t)return[];if(n){const e=[];for(const n in t)e.push(n);return e}return Object.keys(t)})),zi(["values"],((e,[t])=>t?Object.values(t):[])),zi(["date"],((e,t,n,r)=>{let o,[i,s]=t;if("object"==typeof n&&n||(n={}),void 0!==i){if(En(i))o=Ln(i);else if("string"==typeof i){let e=gt(i);if(En(e))o=e;else if(e||(e=new Date(i)),isNaN(e)){let e=hn(r,~i.indexOf("#")?i:`#${i}#`);En(e)&&(o=n.rel||n.parse?e:Ln(e))}}o||(o=new Date(i))}else o=new Date;if((n.rel||n.parse)&&En(o)){let e=Pn(o);if("string"==typeof s&&(s=st(s)),Array.isArray(s)){const t=e.f;t[3]=s[0],t[4]=s[1],t[5]=s[2],t[6]=s[3],s=s[4]}if("number"==typeof s){if(n.shift){const t=(+e.f[7]||0)-s,n=Ln(e);n.setMinutes(n.getMinutes()-t),e=Pn(n)}e.f[7]=s,o=e}}else{const e=En(o)?Ln(o):o;"y"in n&&!isNaN(n.y)&&e.setFullYear(n.y);const t=e.getFullYear();"m"in n&&!isNaN(n.m)&&(e.setMonth(+n.m-1),n.clamp&&e.getFullYear()!==t&&(e.setFullYear(t),e.setMonth(11)));const r=e.getMonth();if("d"in n&&!isNaN(n.d)&&(e.setDate(n.d),!n.clamp||e.getMonth()===r&&e.getFullYear()===t||(e.setDate(1),e.setFullYear(t),e.setMonth(r+1),e.setDate(0))),s){if(o===i)if("string"==typeof i){const e=gt(i);o=e&&En(e)?Ln(e):new Date(i)}else o=new Date(i);if("string"==typeof s&&(s=st(s)),Array.isArray(s)){if(e.setHours(s[0]||0,s[1]||0,s[2]||0,s[3]||0),null!=s[4]){const t=-e.getTimezoneOffset()-s[4];e.setMinutes(e.getMinutes()+t)}}else if("number"==typeof s){const t=-e.getTimezoneOffset()-s;e.setMinutes(e.getMinutes()+t)}}o=e}if(!(o instanceof Date&&isNaN(+o)))return o})),zi(["interval"],((e,[t],n,r)=>hn(r,~t.indexOf("#")?t:`#${t}#`))),zi(["upper","lower"],((e,[t])=>(t=null==t?"":t,"upper"===e?`${t}`.toUpperCase():`${t}`.toLowerCase()))),zi(["format","fmt"],((e,t,n,r)=>{let[o,i,...s]=t;const a=Fn[i];if(a)return a.apply(o,s,n||a.defaults);{const e=wn(i);if(e){const t=[o,...s];if("aggregate"===e.type)return e.apply(i,Array.isArray(o)?o:[o],s.map((e=>({v:e}))),n||Un[i],r);if("checked"===e.type){for(let o=0;o{if("format"===t&&"string"==typeof n){const e=Fn[n];if(e)return Object.assign(e.defaults,r);const t=Un[n];if(t)return Object.assign(t.defaults,r)}else"round"===t&&Object.assign(Ci,r)})),zi(["parse"],((e,t,n)=>{(n=n||t[1]||{})&&"object"==typeof n||(n={});const[r]=t;return n.date?gt(r,n):n.template||n.tpl?fn(r,n):n.time?st(r,n):n.expr?Pt(r,n):n.schema?Ko(r):n.range?ni(r,n):n.csv?(n.detect&&(n=Object.assign(Di(r),n)),function(e,t){const n=ki(Object.assign({},t,{header:!1}))(e);if("message"in n)return[];if(t.header&&n.length){const e=n.shift().map(((e,t)=>[e,t]));return e.sort(((e,t)=>e[0]t[0]?1:0)),n.map((t=>e.reduce(((e,n)=>(e[n[0]]=t[n[1]],e)),{})))}return n}(r,n)):_t(r,n)})),zi(["detect-delimiters"],((e,[t])=>"string"!=typeof t?{}:Di(t)))),xn({type:"checked",names:["and","&&"],checkArg:(e,t,n,r)=>r?"continue":{result:r},apply:(e,t)=>t[t.length-1]},{type:"checked",names:["or","||","??"],checkArg:(e,t,n,r)=>("??"===e?null!=r:r)?{result:r}:"continue",apply:e=>"??"===e&&void 0},{type:"checked",names:["if","unless"],checkArg:(e,t,n,r)=>t%2==0?t===n?{result:r}:("if"===e?!r:r)?{skip:1}:"continue":{result:r},apply(){}},{type:"checked",names:["case","switch"],checkArg(e,t,n,r,o,i,s){if(0===t)return(i.special||(i.special={})).case=r,"continue";if(t%2==1){if(t===n)return{result:r};if(Ui(r,i.special.case))return"continue";if(Cn(s)&&"op"in s&&!0===r)return"continue";if(Cn(r)){const e=bn(i,r);if(Ui(e,i.special.case))return"continue";if(!0===e)return"continue"}return{skip:1}}return{result:r}},apply(){},extend:!0},{type:"checked",names:["each"],checkArg:(e,t,n,r)=>0===t?Array.isArray(r)&&r.length||r&&"object"==typeof r&&Object.keys(r).length?"continue":{skip:1}:1===t?{skip:n-t,value:r}:t===n?{result:r}:t%2==0?r?"continue":{skip:1}:{result:r},apply(e,[t,n],r,o){if(Array.isArray(t)){const e=t.length-1;return t.map(((t,r)=>mn(Tn(o,{value:t,special:{last:e,index:r,key:r,"last-key":e}}),n,[t,r]))).join((null==r?void 0:r.join)||"")}if("object"==typeof t&&t){const e=Object.entries(t),r=e[e.length-1][0],i=e.length-1;return Object.entries(t).map((([e,t],s)=>mn(Tn(o,{value:t,special:{last:i,"last-key":r,index:s,key:e}}),n,[t,e]))).join("")}return""}},{type:"checked",names:["with"],checkArg:(e,t,n,r)=>0===t&&r&&"object"==typeof r?"continue":1===t?{skip:n-t,value:r}:t===n?{result:r}:t%2==0?r?"continue":{skip:1}:{result:r},apply:(e,[t,n],r,o)=>mn(Tn(o,{value:t}),n,[t])},{type:"checked",names:["coalesce","coalesce-truth"],checkArg:(e,t,n,r)=>"coalesce"===e&&null!=r||r?{result:r}:"continue",apply(){}}),xn({type:"aggregate",names:["avg"],apply:(e,t,n,r,o)=>t.reduce(((e,t)=>e+Fi(n[0]?mn(o,n[0],[t]):t)),0)/t.length},{type:"aggregate",names:["sum"],apply:(e,t,n,r,o)=>t.reduce(((e,t)=>e+Fi(n[0]?mn(o,n[0],[t]):t)),0)},{type:"aggregate",names:["count"],apply:(e,t,n,r,o)=>n.length?t.filter(((e,t)=>mn(o,n[0],[e,t]))).length:t.length},{type:"aggregate",names:["min","max"],apply:(e,t,n,r,o)=>(zn(n[0])?t=t.map((e=>mn(o,n[0],[e]))):n.length&&!t.length&&(t=n.map((e=>$n(o,e)))),t.length?Math[e].apply(Math,t.filter((e=>!isNaN(e)))):0)},{type:"aggregate",names:["first","nth","last"],apply(e,t,n,r,o){let i,s=0;if("first"===e)i=t[0];else if("last"===e)i=t[t.length-1];else if(n[0]){const e=$n(o,n[0]);"number"==typeof e&&(i=e<0?t[t.length+e]:t[e-1],s=1)}return n[s]&&(i=$n(o,n[s])),i}},{type:"aggregate",names:["map"],apply(e,t,n,r,o){if(!n[0])return t;let i,s;if(zn(n[0])?(i=t,s=$n(o,n[0])):zn(n[1])&&(i=$n(o,n[0]),s=$n(o,n[1])),(Array.isArray(i)||i&&"0"in i)&&zn(s))return Array.prototype.map.call(i,((e,t)=>mn(o,s,[e,t],{index:t,key:t})));if(i&&"object"==typeof i&&zn(s)){if(r&&r.array)return Object.entries(i).map(((e,t)=>mn(o,s,[e[1],t,e[0]],{index:t,key:e[0]})));if(r&&r.entries)return Object.entries(i).reduce(((e,t,n)=>{const r=mn(o,s,[t[1],n,t[0]],{index:n,key:t[0]});return null===r||(Array.isArray(r)&&2===r.length&&"string"==typeof r[0]?e.push(r):e.push([t[0],r])),e}),[]);const e={};return Object.entries(i).forEach(((t,n)=>{const r=mn(o,s,[t[1],n,t[0]],{index:n,key:t[0]});if(Array.isArray(r)&&2===r.length&&"string"==typeof r[0])e[r[0]]=r[1];else{if(null==r)return;e[t[0]]=r}})),e}}},{type:"aggregate",names:["index"],apply(e,t,n,r,o){if(!n[0])return{};const i=r&&r.many;return t.reduce(((e,t,r)=>Ji(e,mn(o,n[0],[t,r],{index:r,all:e}),t,i)),{})}},{type:"aggregate",names:["reduce"],apply:(e,t,n,r,o)=>n[0]?t.reduce(((e,t,r)=>mn(o,n[0],[e,t,r])),$n(o,n[1])):t},{type:"aggregate",names:["unique","unique-map"],apply(e,t,n,r,o){const i=[],s=[];for(const e of t){const t=n[0]?mn(o,n[0],[e]):e;~i.indexOf(t)||(i.push(t),s.push(e))}return"unique"===e?s:i}},{type:"aggregate",names:["join"],apply:(e,t,n,r,o)=>(zn(n[0])&&(t=t.map((e=>mn(o,n[0],[e]))),n=n.slice(1)),n.length>1&&t.length>2?[t.slice(0,-1).join($n(o,n[0])),t[t.length-1]].join($n(o,n[1])):n.length>2&&2===t.length?t.join($n(o,n[2])):t.join($n(o,n[0])))},{type:"aggregate",names:["find"],apply(e,t,n,r,o){if(n[0]){if(zn(n[0]))return t.find(((e,t)=>mn(o,n[0],[e,t],{index:t,key:t})));if(!zn(n[1])){const e=$n(o,n[0]);return t.find((t=>t==e))}{const e=$n(o,n[0]);if(Array.isArray(e))return e.find(((e,t)=>mn(o,n[1],[e,t],{index:t,key:t})));if("object"==typeof e&&e){const t=Object.entries(e).find(((e,t)=>mn(o,n[1],[e[1],t,e[0]],{index:t,key:e[0]})));if(t)return t[1]}}}}},{type:"aggregate",names:["block"],apply(e,t,n,r,o){const i=n.length-1;if(i<0)return;const s=Tn(o,{locals:r&&r.implicit&&o.locals||{},fork:!o.locals});for(let e=0;eRi(e,"yyyy-MM-ddTHH:mm:sszzz"))),Hn(["integer","int"],(function(e,[t,n],r){var o,i;return lo(e,0,null!==(o=null!=t?t:null==r?void 0:r.group)&&void 0!==o?o:this.defaults.group,null!==(i=null!=n?n:null==r?void 0:r.neg)&&void 0!==i?i:this.defaults.neg)}),{group:",",neg:"sign"}),Hn(["number","num"],(function(e,[t,n,r],o){var i,s,a;return lo(e,null!==(i=null!=t?t:null==o?void 0:o.dec)&&void 0!==i?i:this.defaults.dev,null!==(s=null!=n?n:null==o?void 0:o.group)&&void 0!==s?s:this.defaults.group,null!==(a=null!=r?r:null==o?void 0:o.neg)&&void 0!==a?a:this.defaults.neg)}),{dec:2,group:",",neg:"sign"}),Hn("ordinal",(function(e,[t],n){var r;return ho(e,null!==(r=null!=t?t:null==n?void 0:n.group)&&void 0!==r?r:this.defaults.group)}),{group:","}),Hn("phone",(e=>{return"number"==typeof(t=e)&&(t=t.toString()),7===(t=(t=t||"").replace(/[^\d]/g,"")).length?`${t.substr(0,3)}-${t.substr(3,4)}`:10===t.length?`(${t.substr(0,3)}) ${t.substr(3,3)}-${t.substr(6,4)}`:11===t.length?`${t[0]}-${t.substr(1,3)}-${t.substr(4,3)}-${t.substr(7,4)}`:t;var t})),Hn("styled",(e=>to(e)));{const Zi=/\s+/g,Vi=/[\s;,.:"]\w/g,Wi=/[^a-zA-Z0-9]+([a-zA-Z0-9])/g,Bi=/[^\sa-zA-Z0-9]/g,Gi=/([a-z])([A-Z])/g,Ki=/\s([^\s])/g;function Qi(e){return e.replace(Wi,((e,t)=>t?` ${t}`:"")).replace(Bi,"").replace(Gi,((e,t,n)=>`${t} ${n}`)).trim()}Hn("case",((e,t)=>{let n=`${e||""}`.trim();for(const e of t)if("upper"===e||"up"===e)n=n.toUpperCase();else if("lower"===e||"down"===e)n=n.toLowerCase();else if("snake"===e)n=Qi(n).toLowerCase().replace(Zi,"_");else if("kebab"===e)n=Qi(n).toLowerCase().replace(Zi,"-");else if("pascal"===e){const e=Qi(n);n=e[0].toUpperCase()+e.toLowerCase().substr(1).replace(Ki,((e,t)=>(t||"").toUpperCase()))}else if("camel"===e){const e=Qi(n);n=e[0].toLowerCase()+e.toLowerCase().substr(1).replace(Ki,((e,t)=>(t||"").toUpperCase()))}else"proper"===e&&(n=/[a-z]/.test(n)?n.trim().replace(Vi,(e=>e.toUpperCase())):n.toLowerCase().trim().replace(Vi,(e=>e.toUpperCase())),n=(n[0]||"").toUpperCase()+n.substr(1));return n}))}e.CSV_DEFAULTS=ji,e.PageSizes={letter:{width:51,height:66,margin:[1.5,1.5]},legal:{width:51,height:84,margin:[1.5,1.5]},tabloid:{width:66,height:102,margin:[1.5,1.5]},a4:{width:49.606302,height:70.15746,margin:[1.5,1.5]}},e.Root=Nn,e.applySource=function(e,t,n){let r=n[t.source||t.name]||{value:[]};t.base&&(r={value:hn(Tn(e,{value:r.value,special:{source:r}}),t.base)}),t.filter||t.sort||t.group?e.sources[t.name||t.source]=kn(r,t.filter,t.sort,t.group,e):e.sources[t.name||t.source]=pn(r)},e.applySources=jr,e.checkType=Ai,e.deepEqual=ui,e.detectCSV=Di,e.diff=ai,e.evalApply=mn,e.evalParse=$n,e.evalValue=bn,e.evaluate=hn,e.extend=Tn,e.filter=kn,e.getOperator=wn,e.getOperatorMap=function(){return Object.assign({},vn)},e.initParameters=Ar,e.inspect=mi,e.isComputed=Zn,e.isValueOrExpr=Xn,e.join=function(e,t){return{parent:e,root:e.root,path:e.path?`${e.path}.${t}`:t,value:gn(e,t)}},e.labelDiff=fi,e.overlap=Hi,e.parse=_t,e.parseCSV=ki,e.parseDate=gt,e.parsePath=Ke,e.parseRange=ni,e.parseSchema=Ko,e.parseTemplate=fn,e.parseTime=st,e.registerFormat=Hn,e.registerLayout=lr,e.registerOperator=xn,e.registerRenderer=er,e.run=function(e,t,n,r){const o=n&&"root"in n&&n.root===n?n:new Nn(Object.assign({},e.context),{parameters:n});if(e.sources&&jr(o,e.sources,t),o.parameters=Object.assign({},Ar(e,t),o.parameters),e.extraContext){const t=hn(o,e.extraContext);t&&"object"==typeof t&&(o.value=Object.assign(o.value,t))}return"delimited"===e.type?function(e,t){const n=t.root.sources[e.source?e.source:e.sources[0].name||e.sources[0].source],r=Array.isArray(n.value)?n.value:"object"==typeof n.value&&"grouped"in n.value&&Array.isArray(n.value.all)?n.value.all:[n.value];let o=e.fields,i=e.headers;(!o||!o.length&&r.length)&&(o=Object.keys(r[0]),i&&i.length||(i=Object.keys(r[0]).map((e=>`'${e.replace(/'/g,"\\'")}'`))));let s="";if(i){const n=Tn(t,{parser:fn});s+=i.map((t=>`${e.quote||""}${hn(n,t)}${e.quote||""}`)).join(e.field||",")+(e.record||"\n")}const a=e.quote?new RegExp(e.quote,"g"):void 0;for(const n of r){const r=Tn(t,{value:n});s+=o.map((t=>{let n=t?`${hn(r,t)}`:"";return a&&(n=n.replace(a,e.quote+e.quote)),`${e.quote||""}${n}${e.quote||""}`})).join(e.field||",")+(e.record||"\n")}return s}(e,o):"flow"===e.type?function(e,t,n){const r={context:t,report:e,styles:{},styleMap:{ids:{},styles:{}}};let o,i="",s=0,a=null;const l=e.size&&e.size.margin?hr(e.size,r,{x:0,y:0,availableX:o,maxX:o}):[1.5,1.5,1.5,1.5];e.width?o=e.width:e.size&&(o="portrait"!==e.orientation?e.size.height:e.size.width);o&&(o-=(l[1]||0)+(l[3]||0));function u(e,t){let n;i+=`\n`;let l=0;do{if(n=sr(e,r,{x:0,y:l,availableX:o,maxX:o},a),"string"==typeof n)throw new Error("Container widget didn't specify used height");i+=n.output,l+=n.height,a=n.continue?n.continue:null}while(null!==a);s+=l,i+="\n"}e.watermark&&u(e.watermark,"watermark");let c=s||0;s=0;for(const t of e.widgets)u(t,"main");s>c&&(c=s);s=0,e.overlay&&u(e.overlay,"overlay");s>c&&(c=s);return`${n&&n.head||""}\n
${i}
${n&&n.foot||""}`}(e,o,r):function(e,t,n){var r,o,i,s,a,l,u;let c="portrait"!==e.orientation?{width:e.size.height,height:e.size.width,margin:[e.size.margin[1],e.size.margin[0]]}:e.size;const f={context:t,report:e,styles:{},styleMap:{ids:{},styles:{}}},p=hr(e,f,{x:0,y:0});t.special=t.special||{},t.special.page=0,t.special.pages=0;const g=[""];let d=0;const h=c.width-2*c.margin[1],y=c.height-2*c.margin[0];let m=y-p[0]-p[2];const $=m;let b=m,v=0;const x=h-p[1]-p[3];let w=null,A=0;if(e.header){A=sr(e.header,f,{x:0,y:0,availableX:x,availableY:m,maxX:x,maxY:b}).height,(null===(r=e.header)||void 0===r?void 0:r.outer)||(m-=A,b-=A,v+=A)}let j=0;if(e.footer){j=sr(e.footer,f,{x:0,y:0,availableX:x,availableY:m,maxX:x,maxY:b}).height,(null===(o=e.footer)||void 0===o?void 0:o.outer)||(m-=j,b-=j)}for(const t of e.widgets){let n;do{n=sr(t,f,{x:0,y:v,availableX:x,availableY:m,maxX:x,maxY:b},w),g[d]+=n.output,n.continue?(d++,g[d]="",v=(null===(i=e.header)||void 0===i?void 0:i.outer)?0:A,m=y-((null===(s=e.header)||void 0===s?void 0:s.outer)?0:A)-((null===(a=e.footer)||void 0===a?void 0:a.outer)?0:j)-p[0]-p[2],w=n.continue):(v+=n.height,m-=n.height,w=null)}while(null!==w)}t.special.pages=g.length;const k=(null===(l=e.footer)||void 0===l?void 0:l.outer)?{x:0,y:y-j,maxX:h,maxY:y}:{x:0+p[3],y:y-p[0]-j,maxX:h-p[3]-p[1],maxY:y-p[0]-p[2]},M=(null===(u=e.header)||void 0===u?void 0:u.outer)?{x:0,y:0,maxX:h,maxY:y}:{x:0+p[3],y:p[0],maxX:h-p[3]-p[1],maxY:y-p[0]-p[2]};return t.special.size={x:x,y:$},g.forEach(((n,r)=>{let o=`
\n`;if(t.special.page=r+1,e.watermark){o+=sr(e.watermark,f,{x:0,y:0,maxX:h,availableX:h,maxY:y,availableY:y}).output+"\n"}if(e.header){o+=sr(e.header,f,M).output+"\n"}if(o+=`
${n}
`,e.footer){o+=sr(e.footer,f,k).output+"\n"}if(e.overlay){o+=sr(e.overlay,f,{x:0,y:0,maxX:h,availableX:h,maxY:y,availableY:y}).output+"\n"}o+="\n
",g[r]=o})),`${n&&n.head||""}\n${g.reduce(((e,t)=>e+t),"")}${n&&n.foot||""}`}(e,o,r)},e.safeGet=gn,e.similar=Ei,e.similarity=qi,e.stringify=Fo,e.styled=to,e.template=yn,e.toDataSet=pn,e.unparseSchema=Go,e.unregisterFormat=function(e){delete Fn[e]},e.unregisterOperator=function(...e){for(const t of e)for(const e of t.names)delete vn[e]},e.validate=vi,Object.defineProperty(e,"__esModule",{value:!0})})); //# sourceMappingURL=raport.umd.min.js.map diff --git a/js/raport.umd.min.js.map b/js/raport.umd.min.js.map index 18e79f8..1d924ac 100644 --- a/js/raport.umd.min.js.map +++ b/js/raport.umd.min.js.map @@ -1 +1 @@ -{"version":3,"file":"raport.umd.min.js","sources":["../node_modules/sprunge/src/base.ts","../node_modules/sprunge/src/search.ts","../node_modules/sprunge/src/parsers/char.ts","../node_modules/sprunge/src/parsers/str.ts","../node_modules/sprunge/src/parsers/base.ts","../node_modules/sprunge/src/parsers/rep.ts","../node_modules/sprunge/src/parsers/seq.ts","../node_modules/sprunge/src/json.ts","../src/lib/data/parse.ts","../src/lib/data/parse/template.ts","../src/lib/data/index.ts","../src/lib/render/error.ts","../src/lib/render/index.ts","../src/lib/render/style.ts","../src/lib/report.ts","../src/lib/data/parse/style.ts","../src/lib/render/builtins.ts","../src/lib/data/format.ts","../src/lib/data/parse/stringify.ts","../src/lib/data/parse/schema.ts","../src/lib/data/parse/range.ts","../src/lib/data/diff.ts","../src/lib/data/schema.ts","../src/lib/data/csv.ts","../src/lib/data/builtins.ts"],"sourcesContent":[{"errno":-2,"code":"ENOENT","syscall":"open","path":"/home/chris/dev/ts/raport/node_modules/sprunge/src/base.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/home/chris/dev/ts/raport/node_modules/sprunge/src/search.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/home/chris/dev/ts/raport/node_modules/sprunge/src/parsers/char.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/home/chris/dev/ts/raport/node_modules/sprunge/src/parsers/str.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/home/chris/dev/ts/raport/node_modules/sprunge/src/parsers/base.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/home/chris/dev/ts/raport/node_modules/sprunge/src/parsers/rep.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/home/chris/dev/ts/raport/node_modules/sprunge/src/parsers/seq.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/home/chris/dev/ts/raport/node_modules/sprunge/src/json.ts"},null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["Fail","detailedFail","_cause","_latestCause","getCause","getCauseCopy","name","suggestCauseName","undefined","slice","fail","pos","message","cause","causes","isNodeName","v","openNode","start","end","children","closeNode","node","parent","res","_compact","result","primary","c","length","push","reduce","last","i","extra","l","apply","getLineNum","input","n","lastIndexOf","getParseError","context","lines","first","t","unshift","substring","markerOffset","indexOf","source","marker","len","column","line","position","marked","join","map","parser","findLatestCause","startSpace","shared","error","mps","oerror","det","detailed","consume","consumeAll","trim","exec","seq","skip","a","d","tree","compact","unwrap","parse","undefinedOnError","ctx","contextLines","err","getLatestCause","latest","throw","ex","Error","Object","assign","uninit","_s","p","lazy","init","s","r","concat","strings","outer","f","max","cs","contains0","contains1","str","x","contains2","contains3","contains4","contains5","contains6","contains7","contains8","contains9","contains10","containsFor","containsBinary","mid","getSearch","sorted","charList","chars","split","sort","seekWhileChar","contains","read","read1","JSON","stringify","count","allowed","search","substr","readTo","stop","skipped","seekUntilChar","read1To","op","resin","j","nlen","istr","copy","toLowerCase","toUpperCase","idx","opt","ps","not","alt","parsers","nm","lps","fails","overrideCauseName","verify","fn","e","cur","rep","empty","rep1","repsep","sep","trail","ps1","ps2","rr","m","rep1sep","bracket","content","right","Array","isArray","ends","ps3","r1","r2","r3","addCause","check","_hex","digits","identStart","hex","escmap","b","underscores","JNum","replace","JStringEscape","disallowed","notchars","JStringUnicode","String","fromCharCode","parseInt","JStringHex","JString","JBool","JNull","JIdentifier","ws","JArray","JObject","JValue","JKeyPair","pairs","pair","timespans","y","w","h","mm","isTimespanMS","ms","timeSpanToNumber","Math","floor","space","endSym","endRef","_comment","comment","prop","rws","skip1","keywords","ident","sexprop","args","array","block","object","value","values","application","pathesc","char","pathident","parts","dotpath","part","bracketpath","keypath","prefix","k","u","localpath","parsePath","makeParser","parseLetPath","illegalRefs","ref","includes","stringInterp","timespan","span","timezone","timeexact","parseTime","tm","z","dateend","daterel","o","tz","val","setIndex","index","dateexact","time","date","typelit","schema","parseDate","string","literal","Date","sexp","opts","bracket_op","binop","if_op","case_op","opName","call_op","operand","fmt","fmt_op","postfix_path","unop","arg","leftassoc","left","binop_e","arg1","more","pop","reverse","rightassoc","binop_md","binop_as","binop_cmp","binop_eq","binop_and","binop_or","replaceCase","found","cond1","block1","elifs","el","cond","val1","hit","miss","case_branch","branches","operation","objectOp","filter","namedArg","names","plain","obj","letter","setter","parseBlock","implicit","parseExpr","type","conditions","typedef","typedefs","defs","desc","arr","key","required","rest","keys","rests","fields","tuple","types","maybe_union","list","checks","union_array","union","root","txtEsc","text","np","andNot","txts","tag_value","tag_end","branch","min_one","else_tag","branch_tag","each_op","tag","apply_first","cond_branches","with_op","unless_op","interpolator","hasTag","toDataSet","safeGet","path","parameters","sources","which","special","pipe","lctx","locals","evalValue","safeSet","islet","next","evaluate","isValueOrExpr","Root","isContext","evalParse","template","extend","parseTemplate","evalApply","isApplication","fork","expr","exprs","opMap","local","isOperation","find","isReference","hasPipeRef","flts","checkArg","shift","src","applyOperator","isDateRel","isTimespan","registerOperator","ops","getOperator","_defaultGetValue","sorts","getValue","sortArr","by","dirs","lower","dir","cmp","ds","groups","_ds","_context","flt","forEach","row","grouped","level","group","all","cache","order","g","getKeypath","isValue","constructor","this","formats","virtualFormats","registerFormat","format","defaults","dateRelToRange","rel","from","to","setUTCFullYear","getFullYear","getMonth","getDate","setUTCHours","dateAndTimespan","setUTCDate","getUTCDate","getUTCDay","setDate","setUTCMonth","getUTCMonth","getUTCFullYear","UTC","setUTCMilliseconds","getUTCMilliseconds","setUTCMinutes","getUTCMinutes","offset","getTimezoneOffset","dateRelToDate","range","dateRelToExactRange","dt","setMinutes","getMinutes","getHours","getSeconds","getMilliseconds","setFullYear","dd","setMonth","setHours","setSeconds","setMilliseconds","addStyle","id","style","styles","placement","output","height","isComputed","maybeComputed","report","extendContext","styleMap","htmlChars","htmlReplace","escapeHTML","html","renderers","registerRenderer","renderer","options","render","avgs","measure","width","font","family","size","avg","metric","test","word","wlen","renderWidget","state","hide","widget","container","getHeightWithMargin","maxY","isNaN","availableY","continue","cancel","extraHeight","margin","expandMargin","border","expandBorder","getWidthWithMargin","layouts","registerLayout","layout","getWidth","pct","availableX","maxX","percent","toFixed","box","getHeight","computed","linesize","maxFontSize","NaN","maxYOffset","points","maxXOffset","top","bottom","expandMacro","macro","props","properties","widgets","mapStyle","mapped","ids","nextStyleId","styleClass","cls","inline","inlineStyle","classPrefix","classifyStyles","offsetX","offsetY","computedHeight","lineSize","styleFont","styleBorder","styleExtra","bg","radius","color","align","weight","pre","clamp","br","initParameters","defaultParams","inits","applySources","srcs","base","zwsp","sp","integer","number","remOrPercent","places","valign","pad","fg","rotate","turn","origin","move","trash","bools","tags","blocks","aliases","parsed","stuff","open","bool","blockstack","drop","frame","getStyle","process","flexAlign","middle","borderStyle","dot","dash","bs","underline","overline","strike","sup","sub","italic","bold","vs","transforms","vv","sval","styled","styleText","wctx","extendData","cw","lp","child","attempt","renderWidgets","bridge","commit","groupNo","newPage","header","hctx","current","groupHeaders","headerPerPage","rctx","elide","usedX","usedY","initY","alternate","footer","fctx","groupEnds","fit","url","styleImage","decRE","intRE","isNumRE","dec","negative","parseFloat","neg","dateRE","months","days","dateDefault","Y","M","D","DD","H","MM","S","SS","Z","getDay","prototype","toString","call","ordinal","min","bit","abs","num","setDefault","checkIdent","RegExp","_noSym","_key","_sexprops","_listcommas","_noarr","_noobj","_tpl","_tplmode","_noindent","_listwrap","_html","_nochecks","_level","_first","deepops","binops","unops","precedence","in","like","ilike","gt","gte","lt","lte","is","and","or","noSymbols","SExprOps","listCommas","noArrayLiterals","noObjectLiterals","noIndent","listWrap","htmlSafe","noChecks","_stringify","stringifyRootBlock","padl","stringed","stringifyTemplateBlock","caseRE","stringifyTemplateCase","fill","wrapArgs","isBlock","long","cindent","outdentAll","trimLeft","trimRight","stringifyIf","wsplit","stringifyCase","findNestedStringOpL","flattenNestedBinopsL","_f","stringifyBinopArg","amount","indentAll","stringifyOp","arrow","stringifySchema","stringifyDate","entries","stringifyLiteral","rem","spanKeys","spanExact","stringifyTimespan","agg","offsetToTimezone","mn","leadingSpace","allLeadingSpace","close","keyMod","wrapSetting","wrap","ts","strs","fin","def","l2","nl","lopen","lclose","parseSchema","num_range","sign_range","sign","Infinity","looseEqual","v1","v2","strictEqual","fullnum","diff","equal","_diff","identity","checkIdentity","v1ids","v2ids","vv1","vv2","_v1","_v2","ks","deepEqual","_deepEqual","labelDiff","label","out","omit","_labelDiff","nums","lbl","pp","isDate","isSchema","what","inspect","flat","getType","getField","validate","mode","_validate","_schema","errs","checkType","actual","unparseSchema","expected","tmp","legit","ok","DEFAULTS","record","field","quote","csv","quotedField","_parse","records","quotes","detect","data","sample","fs","rs","qs","simple","spanMap","roundDefaults","method","hasNum","isNum","equals","overlap","threshhold","similar","similarity","fudges","aa","bb","i1","i2","oa","ob","f1","f2","sim","alen","blen","aolen","bolen","matchy","_opts","eq","_name","target","pattern","patterns","free","re","_parseRange","step","app","namedArgs","tmp1","tmp2","datesDiff","unit","fraction","us","dist","nextDiv","round","units","raport","tpl","json","strict","_","addTimespan","match","pow","precision","amt","place","point","ceil","zeroes","big","random","triml","trimr","escapeRe","fmtDate","_ranges","parseRange","_indexPair","many","kk","where","ct","flags","proto","rdt","vfmt","csvDetect","csvParse","_i","_total","ast","case","body","lastKey","_last","seen","_arr","dollar","dev","alphaNum","alphaNumSpace","camelBreak","spaceChar","normalize","_m","c1","c2","whiches","legal","tabloid","a4","extraContext","headers","unquote","runDelimited","extras","orientation","yy","watermark","overlay","_k","head","foot","runFlow","page","pages","printX","printY","pageY","headSize","footSize","footPlace","headPlace","_p","runPage"],"mappings":"8OAuBO,MAAMA,EAAgB,GAEtB,IAAIC,EAA6B,EAYxC,MAAMC,EAAgB,CAAC,EAAG,IACpBC,EAAsB,CAAC,EAAG,aAMhBC,IAAoB,OAAOF,WAM3BG,EAAaC,GAE3B,OADAC,EAAiBD,EAAQA,EAAaA,MAAQA,OAAOE,GAC9CN,EAAOO,OAChB,UAagBF,EAAiBD,IAC1BJ,EAAO,IAAMI,IACZJ,EAAO,KAAOC,EAAa,IAAMD,EAAO,KAAOC,EAAa,KAAIA,EAAa,GAAKG,GACtFJ,EAAO,GAAKI,EAEhB,UAkBgBI,EAAKC,EAAaC,EAAuBN,EAAiBO,EAAeC,GAavF,OAZAZ,EAAO,GAAKS,EACZT,EAAO,GAAKU,GAAW,GACvBV,EAAO,GAAKI,EACZJ,EAAO,GAAKW,EACZX,EAAO,GAAKY,EACO,EAAfb,GAAoBC,EAAO,IAAMC,EAAa,KAChDA,EAAa,GAAKD,EAAO,GACzBC,EAAa,GAAKD,EAAO,GACzBC,EAAa,GAAKD,EAAO,GACzBC,EAAa,GAAKD,EAAO,GACzBC,EAAa,GAAKD,EAAO,IAEpBF,CACT,UAiCgBe,EAAWC,GACzB,MAAoB,iBAANA,GAAmBA,GAAK,SAAUA,GAAuB,iBAAXA,EAAEV,IAChE,UA2BgBW,EAASC,EAAeZ,GACtC,MAAO,CAAEY,QAAOC,IAAKD,EAAOE,SAAU,GAAId,OAC5C,UAUgBe,EAAUC,EAAiBC,EAAmBC,GAE5D,GADAF,EAAKH,IAAMK,EAAI,IACXC,GAAYH,EAAKH,MAAQG,EAAKJ,MAGlC,GAFAI,EAAKI,OAASF,EAAI,GAEbD,EAOE,GAAIE,EACT,GAAIH,EAAKhB,MAASgB,EAAKhB,KAAaqB,QAAS,CAC3C,MAAMC,EAAIN,EAAKF,SAAS,GACxB,GAA6B,IAAzBE,EAAKF,SAASS,QAAgBD,EAAEV,QAAUI,EAAKJ,OAASU,EAAET,MAAQG,EAAKH,IAAKI,EAAOH,SAASU,KAAKF,OAChG,CACHN,EAAKhB,KAAQgB,EAAKhB,KAAaA,KAC/BgB,EAAKF,SAASW,QAAO,CAACC,EAAMJ,EAAGK,KACzBD,EAAOJ,EAAEV,SAAQI,EAAKY,QAAUZ,EAAKY,MAAQ,KAAKD,GAAK,CAACD,EAAMJ,EAAEV,QAC7DU,EAAET,MACRG,EAAKJ,OACR,MAAMiB,EAAIb,EAAKF,SAASE,EAAKF,SAASS,OAAS,GAC3CM,GAAKb,EAAKH,IAAMgB,EAAEhB,OAAMG,EAAKY,QAAUZ,EAAKY,MAAQ,KAAKZ,EAAKF,SAASS,QAAU,CAACM,EAAEhB,IAAKG,EAAKH,MAClGI,EAAOH,SAASU,KAAKR,SAEdA,EAAKF,SAASS,QACvBN,EAAOH,SAASU,KAAKM,MAAMb,EAAOH,SAAUE,EAAKF,eAE9CG,EAAOH,SAASU,KAAKR,OAxBf,CACXA,EAAKF,SAASW,QAAO,CAACC,EAAMJ,EAAGK,KACzBD,EAAOJ,EAAEV,SAAQI,EAAKY,QAAUZ,EAAKY,MAAQ,KAAKD,GAAK,CAACD,EAAMJ,EAAEV,QAC7DU,EAAET,MACRG,EAAKJ,OACR,MAAMiB,EAAIb,EAAKF,SAASE,EAAKF,SAASS,OAAS,GAC3CM,GAAKb,EAAKH,IAAMgB,EAAEhB,OAAMG,EAAKY,QAAUZ,EAAKY,MAAQ,KAAKZ,EAAKF,SAASS,QAAU,CAACM,EAAEhB,IAAKG,EAAKH,MAmBtG,UA8IgBkB,EAAWC,EAAe3B,GACxC,IAAI4B,EAAI,EACR,OAAS5B,EAAM2B,EAAME,YAAY,KAAM7B,KAChCA,GACL4B,IACA5B,IAEF,OAAO4B,CACT,UAUgBE,EAAc5B,EAAcyB,EAAeI,GACzD,MAAMC,EAAkB,GAClBhC,EAAME,EAAM,GAClB,IAAI0B,EAAI5B,EACJiC,EAAQL,EAAID,EAAME,YAAY,KAAMD,GACpCM,EAAIP,EAAME,YAAY,KAAMD,EAAI,GACpC,IAAK,IAAIN,EAAI,EAAGA,EAAIS,IAAYH,EAAGN,IACjCU,EAAMG,QAAQR,EAAMS,UAAUF,EAAI,EAAGN,IACrCA,EAAIM,EACJA,EAAIP,EAAME,YAAY,KAAMD,EAAI,GAElC,MAAMS,EAAeL,EAAMd,OAAS,EACpCgB,EAAID,EACJL,EAAID,EAAMW,QAAQ,KAAMJ,EAAI,IACjB,IAAPN,GAAYM,EAAIP,EAAMT,SAAQU,EAAID,EAAMT,QAC5C,IAAK,IAAII,EAAI,EAAGA,GAAKS,IAAYH,EAAGN,IAClCU,EAAMb,KAAKQ,EAAMS,UAAUF,EAAI,EAAGN,IAClCM,EAAIN,EACJA,EAAID,EAAMW,QAAQ,KAAMJ,EAAI,IACjB,IAAPN,GAAYM,EAAIP,EAAMT,SAAQU,EAAID,EAAMT,QAG9C,MAAMqB,EAASP,EAAMK,EAAe,GAEpC,IAAIG,EAAS,GACb,MAAMC,EAAMzC,IAASiC,EAAaA,GAAJ,GAAa,EAC3C,IAAK,IAAIX,EAAI,EAAGA,EAAImB,EAAKnB,IAAKkB,GAAwB,OAAdD,EAAOjB,GAAc,KAAO,IAGpE,OAFAkB,GAAU,MAEH,CACLT,QAASC,EACTU,OAAQ1C,EAAMiC,EACdU,KAAMjB,EAAWC,EAAO3B,GACxB4C,SAAU5C,EACVuC,SACAtC,QAASC,EAAM,GACf2C,OAAQ,GAAGb,EAAMlC,MAAM,EAAGuC,GAAcS,KAAK,UAAUN,MAAWR,EAAMlC,MAAMuC,GAAcS,KAAK,QACjG5C,MAAOA,EAAM,IAAM4B,EAAc5B,EAAM,GAAIyB,EAAOI,GAClD5B,OAAQD,EAAM,IAAMA,EAAM,GAAG6C,KAAI9B,GAAKa,EAAcb,EAAGU,EAAOI,KAC9DiB,OAAQ9C,EAAM,GAAMA,EAAM,GAAWP,MAAQO,EAAM,QAAKL,EAE5D,UAOgBoD,EAAgB/C,GAC9B,IAAIW,EAAaX,EACjB,GAAIA,EAAM,GAAI,CACZ,MAAMe,EAAIgC,EAAgB/C,EAAM,IAC5Be,EAAE,GAAKJ,EAAI,KAAIA,EAAMI,GAE3B,GAAIf,EAAM,GAAI,CACZ,MAAMuC,EAAMvC,EAAM,GAAGgB,OACrB,IAAK,IAAII,EAAI,EAAGA,EAAImB,EAAKnB,IAAK,CAC5B,MAAML,EAAIgC,EAAgB/C,EAAM,GAAGoB,IAC/BL,EAAE,GAAKJ,EAAI,KAAIA,EAAMI,IAG7B,OAAIzB,EAAa,IAAMD,EAAO,IAAMC,EAAa,KAAOU,EAAM,GAAWV,EAClEqB,CACT,CAEA,MAAMqC,EAAa,OACNC,EAIT,GAEJ,IAAIrC,GAAoB,WAQRkC,EAAUA,EAAmBI,GAC3C,IAAIC,EACJ,MAAMC,EAASF,EACTG,EAAOH,GAASA,EAAMI,SAAW,EAAI,IAAMJ,EAAMjD,OAAS,EAAI,GAAK,EACnEsD,EAAUL,GAASA,EAAMM,WACzB7C,EAAM,SAAec,EAAeyB,GACxC,MAAMO,EAAOP,GAAS,SAAUA,EAAQA,EAAMO,KAAOL,GAAUA,EAAOK,KAChEpD,EAAQoD,EAAOT,EAAWU,KAAKjC,GAAO,GAAGT,OAAS,EACpDyC,IAAMX,EAASG,EAAOJ,IAAII,EAAOU,IAAIb,EAAQG,EAAOW,KAAK,aAAa,EAAEC,KAAOA,KACnF,MAAMC,EAAKZ,GAASA,EAAMI,SAAW,EAAI,IAAMJ,EAAMjD,OAAS,EAAI,GAAKoD,EACvE,IAAI1C,EAAiB,CAAC,KAAM,GAEpB,EAAJmD,IAhZNxE,EAAa,GAAK,EAClBA,EAAa,GAAK,GAClBA,EAAa,QAAKK,EAClBL,EAAa,QAAKK,EAClBL,EAAa,QAAKK,GA8YhB,MAAMc,EAAQyC,GAAS,SAAUA,GAASA,EAAMa,MAAS3D,EAAS,GAElE,GADAQ,EAAWH,IAAmH,KAA1GyC,GAAS,YAAaA,EAAQA,EAAMc,WAAUZ,KAAU,YAAaA,KAASA,EAAOY,SACrGF,IAAM1E,EAAc,CACtB,MAAM2B,EAAI3B,EACVA,EAAe0E,EACfnD,GAAOwC,IAAQA,EAAMc,EAAOnB,KAAUoB,MAAMzC,EAAOpB,EAAOM,EAAKF,GAC/DrB,EAAe2B,OAEfJ,GAAOwC,IAAQA,EAAMc,EAAOnB,KAAUoB,MAAMzC,EAAOpB,EAAOM,EAAKF,GAOjE,GAJIE,EAAIK,SAAWkC,GAAS,eAAgBA,EAAQA,EAAMM,WAAaD,IAAY5C,EAAI,GAAKc,EAAMT,SAChGL,EAAMd,EAAKc,EAAI,GAAQ,EAAJmD,GAAS,2CAA2CnD,EAAI,sBAGxEA,EAAIK,OAWF,CACL,GAAIP,EAAM,CAER,GADAD,EAAUC,EAAM,KAAME,IACjBC,GAAY6C,EAAM,CACrB,MAAM/B,EAAIjB,EAAKF,SAAS,GAAGA,SAAS,GAEpC,OADAmB,EAAEb,OAASF,EAAI,GACRe,EAET,OAAOjB,EAET,OAAOE,EAAI,GArBI,CACf,GAAIuC,GAAS,qBAAsBA,EAAQA,EAAMiB,iBAAmBf,GAAUA,EAAOe,iBAAkB,OACvG,MAAMnE,EAAQT,IACR6E,GAAOlB,GAAS,iBAAkBA,EAAQA,EAAMmB,aAAejB,GAAUA,EAAOiB,eAAiB,EACjGC,EAAM1C,EAAc2C,EAAevE,EAAM,IAAM,GAAIA,GAAQyB,EAAO2C,GAClEI,EAASzB,EAAgB/C,GAE/B,GADIA,IAAUwE,IAAQF,EAAIE,OAAS5C,EAAc4C,EAAQ/C,EAAO2C,IAC5DlB,GAAS,UAAWA,EAAQA,EAAMuB,MAAQrB,GAAUA,EAAOqB,MAAO,CACpE,MAAMC,EAAK,IAAIC,MAAML,EAAIvE,SACzB,MAAM6E,OAAOC,OAAOH,EAAIJ,GACnB,OAAOA,IAelB,OADC3D,EAAYmC,OAASA,EACfnC,CACT,CAMO,MAAMmE,EAAc,CAAEZ,MAAO,CAACa,EAAYC,IAAcnF,EAAKmF,EAAkB,EAAf5F,GAAoB,uCAM3E6E,EAAUnB,GACxB,OAAUA,EAAeA,QAAUA,GAA0BgC,CAC/D,UAUgBG,EAAQC,EAAkBhB,GACxC,IAAIvD,EAQJ,OAPAA,EAAM,CACJuD,MAAK,CAACiB,EAAWH,EAAWI,EAAerB,KACzCmB,IACAvE,EAAIuD,MAAQA,EACLA,EAAMiB,EAAGH,EAAGI,EAAGrB,KAGnBpD,CACT,UAEgB0E,EAAOC,GACrB,IAAI3E,EAAM,GACV,MAAM4B,EAAM+C,EAAQtE,OACpB,IAAK,IAAII,EAAI,EAAGA,EAAImB,EAAKnB,IACnBkE,EAAQlE,KAAIT,EAAMA,EAAI0E,OAAOC,EAAQlE,KAE3C,OAAOT,CACT,UASgB4D,EAAetE,EAAkBsF,GAC/C,IAAKtF,IAAWsF,EAAO,OAAOjG,EAC9B,IAEIkG,EAFAC,EAAMF,EAAM,GAChBA,EAAM,GAAKtF,EAEX,MAAMyF,EAAKzF,GAAU,GACrB,IAAK,IAAImB,EAAI,EAAGA,EAAIsE,EAAG1E,OAAQI,IACzBsE,EAAGtE,GAAG,GAAKqE,IACbD,EAAIE,EAAGtE,GACPqE,EAAMD,EAAE,IAGZ,OAAIA,EAAU,CAACA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAID,GACrBA,CACd,CClhBA,SAASI,IACP,OAAO,CACT,CAEA,SAASC,EAAUC,EAAaC,GAC9B,OAAOD,IAAQC,CACjB,CAEA,SAASC,EAAUF,EAAaC,GAC9B,OAAOD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,CACpC,CAEA,SAASE,EAAUH,EAAaC,GAC9B,OAAOD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,CACpD,CAEA,SAASG,EAAUJ,EAAaC,GAC9B,OAAOD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,CACpE,CAEA,SAASI,EAAUL,EAAaC,GAC9B,OAAOD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,CACpF,CAEA,SAASK,EAAUN,EAAaC,GAC9B,OAAOD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,CACpG,CAEA,SAASM,EAAUP,EAAaC,GAC9B,OAAOD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,CACpH,CAEA,SAASO,EAAUR,EAAaC,GAC9B,OAAOD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,CACpI,CAEA,SAASQ,EAAUT,EAAaC,GAC9B,OAAOD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,CACpJ,CAEA,SAASS,EAAWV,EAAaC,GAC/B,OAAOD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,GAAKD,EAAI,KAAOC,CACpK,CAEA,SAASU,EAAYX,EAAaC,GAChC,MAAMvD,EAAMsD,EAAI7E,OAChB,IAAK,IAAII,EAAI,EAAGA,EAAImB,EAAKnB,IAAK,GAAIyE,EAAIzE,KAAO0E,EAAG,OAAO,EACvD,OAAO,CACT,CAEA,SAASW,EAAeZ,EAAaC,GACnC,IAGIY,EACA3F,EAJAT,EAAMuF,EAAI7E,OAAS,EACnBX,EAAQ,EACZ,GAAIyF,EAAID,EAAI,IAAMC,EAAID,EAAIvF,GAAM,OAAO,EAIvC,KAAOD,GAASC,GAAK,CAInB,GAHAoG,EAAOrG,EAAQC,GAAQ,EACvBS,EAAI8E,EAAIa,GAEJ3F,IAAM+E,EAAG,OAAO,EACX/E,EAAI+E,EAAGzF,EAAQqG,EAAM,EACzBpG,EAAMoG,EAAM,EAErB,UASgBC,EAAUd,EAAae,GAAkB,GACvD,MAAMrE,EAAMsD,EAAI7E,OAChB,OAAY,IAARuB,EAAkBoD,EACV,IAARpD,EAAkBqD,EACV,IAARrD,EAAkBwD,EACV,IAARxD,EAAkByD,EACV,IAARzD,EAAkB0D,EACV,IAAR1D,EAAkB2D,EACV,IAAR3D,EAAkB4D,EACV,IAAR5D,EAAkB6D,EACV,IAAR7D,EAAkB8D,EACV,IAAR9D,EAAkB+D,EACV,KAAR/D,EAAmBgE,EACnBK,EAAeH,EACPD,CACd,UCvHgBK,EAASC,GACvB,IAAInG,EAAM,GACV,MAAMiG,EAASE,EAAMC,MAAM,IAAIC,OAAOpE,KAAK,IAC3C,IAAK,IAAIxB,EAAI,EAAGA,EAAIwF,EAAO5F,OAAQI,KAC3BT,EAAIyB,QAAQwE,EAAOxF,MAAKT,GAAOiG,EAAOxF,IAE9C,OAAOT,CACT,UAwBgBsG,EAAc9B,EAAWH,EAAW8B,EAAeI,GACjE,MAAM3E,EAAM4C,EAAEnE,OACd,IAAK,IAAII,EAAI4D,EAAG5D,EAAImB,EAAKnB,IACvB,IAAK8F,EAASJ,EAAO3B,EAAE/D,IAAK,OAAOA,EAErC,OAAOmB,CACT,UAYgBqB,EAAKkD,GACnB,MAAMF,EAASC,EAASC,GAClBI,EAAWP,EAAUC,GAC3B,MAAO,CACL1C,MAAK,CAACiB,EAAWH,EAAWrE,KAC1BA,EAAI,GAAKsG,EAAc9B,EAAGH,EAAG4B,EAAQM,GAC9BvG,GAGb,UA4DgBwG,EAAKL,GACnB,MAAMF,EAASC,EAASC,GAClBI,EAAWP,EAAUC,GAC3B,MAAO,CACL1C,MAAMiB,EAAWH,EAAWrE,GAC1B,MAAMyE,EAAI6B,EAAc9B,EAAGH,EAAG4B,EAAQM,GAGtC,OAFAvG,EAAI,GAAKwE,EAAEjD,UAAU8C,EAAGI,GACxBzE,EAAI,GAAKyE,EACFzE,GAGb,UA2BgByG,EAAMN,EAAerH,GACnC,MAAMmH,EAASC,EAASC,GAClBI,EAAWP,EAAUC,GAC3B,MAAO,CACL1C,MAAMiB,EAAWH,EAAWrE,GAC1B,MAAMyE,EAAI6B,EAAc9B,EAAGH,EAAG4B,EAAQM,GACtC,OAAI9B,IAAMJ,EAAUnF,EAAKmF,EAAkB,EAAf5F,GAAoB,mBAAmBiI,KAAKC,UAAUR,KAAUrH,IAC5FkB,EAAI,GAAKwE,EAAEjD,UAAU8C,EAAGI,GACxBzE,EAAI,GAAKyE,EACFzE,IAGb,UA4BgBmG,EAAMS,EAAeC,EAAkB/H,GACrD,MAAMmH,EAASY,GAAWX,EAASW,GAC7BC,EAASd,EAAUC,GAAU,IACnC,MAAO,CACL1C,MAAMiB,EAAWH,EAAWrE,GAC1B,GAAIwE,EAAEnE,OAASgE,GAAKuC,EAAO,CACzB,MAAM1B,EAAMV,EAAEuC,OAAO1C,EAAGuC,GACxB,GAAIX,EACF,IAAK,IAAIxF,EAAI,EAAGA,EAAImG,EAAOnG,IAAK,IAAKqG,EAAOb,EAAQf,EAAIzE,IAAK,OAAOvB,EAAKmF,EAAI5D,EAAkB,EAAfhC,GAAoB,kBAAmBK,GAIzH,OAFAkB,EAAI,GAAKkF,EACTlF,EAAI,GAAKqE,EAAIuC,EACN5G,EACF,OAAOd,EAAKmF,EAAkB,EAAf5F,GAAoB,0BAA2BK,IAG3E,UAuEgBkI,EAAOC,EAActH,EAAYb,GAC/C,MAAMmH,EAASC,EAASe,GAClBV,EAAWP,EAAUC,GAC3B,MAAO,CACL1C,MAAMiB,EAAWH,EAAWrE,GAC1B,MAAMkH,WAhRkB1C,EAAWH,EAAW8B,EAAeI,GACjE,MAAM3E,EAAM4C,EAAEnE,OACd,IAAK,IAAII,EAAI4D,EAAG5D,EAAImB,EAAKnB,IACvB,GAAI8F,EAASJ,EAAO3B,EAAE/D,IAAK,OAAOA,EAEpC,OAAOmB,CACT,CA0QsBuF,CAAc3C,EAAGH,EAAG4B,EAAQM,GAC5C,OAAK5G,GAAOuH,GAAW1C,EAAEnE,OAAenB,EAAKgI,EAAU,EAAkB,EAAfzI,GAAoB,mBAAmBiI,KAAKC,UAAUM,yBAA6BnI,IAC7IkB,EAAI,GAAKkH,EAAU1C,EAAEjD,UAAU8C,EAAG6C,GAAW,GAC7ClH,EAAI,GAAKkH,EACFlH,IAGb,UAkCgBoH,EAAQH,EAActH,EAAYb,GAChD,MAAMuI,EAAKL,EAAOC,EAAMtH,GACxB,MAAO,CACL4D,MAAMiB,EAAWH,EAAWiD,GAC1B,MAAMtH,EAAMqH,EAAG9D,MAAMiB,EAAGH,EAAGiD,GAC3B,OAAKtH,EAAIK,OACAL,EAAI,GAAKqE,EAAUrE,EAChBd,EAAKmF,EAAkB,EAAf5F,GAAoB,kCAAmCK,GAFnDkB,GAK9B,UCnVgBkF,KAAOP,GACrB,MAAM/C,EAAM+C,EAAQtE,OACpB,GAAY,IAARuB,EAAW,CACb,MAAMsD,EAAMP,EAAQ,GACd/C,EAAMsD,EAAI7E,OAEhB,GAAY,IAARuB,EACF,MAAO,CACL2B,MAAK,CAACiB,EAAWH,EAAWrE,IACtBwE,EAAEH,KAAOa,GACXlF,EAAI,GAAKkF,EACTlF,EAAI,GAAKqE,EAAI,EACNrE,GACKd,EAAKmF,EAAkB,EAAf5F,GAAoB,YAAYyG,MAGrD,GAAY,IAARtD,EACT,MAAO,CACL2B,MAAK,CAACiB,EAAWH,EAAWrE,IACtBwE,EAAEH,KAAOa,EAAI,IAAMV,EAAEH,EAAI,KAAOa,EAAI,IACtClF,EAAI,GAAKkF,EACTlF,EAAI,GAAKqE,EAAI,EACNrE,GACKd,EAAKmF,EAAkB,EAAf5F,GAAoB,YAAYyG,MAGrD,CACL,IAAIzE,EAAW8G,EACf,MAAO,CACLhE,MAAMiB,EAAWH,EAAWrE,GAC1B,IAAKS,EAAI,EAAG8G,EAAIlD,EAAI5D,EAAGA,EAAImB,EAAKnB,IAAK8G,IACnC,GAAIrC,EAAIzE,KAAO+D,EAAE+C,GAAI,OAAOrI,EAAKmF,EAAkB,EAAf5F,GAAoB,YAAYyG,KAItE,OAFAlF,EAAI,GAAKkF,EACTlF,EAAI,GAAKqE,EAAIzC,EACN5B,KAKb,MAAO,CACLuD,MAAMiB,EAAWH,EAAWrE,GAC1B4E,EAAO,IAAK,IAAInE,EAAI,EAAGA,EAAImB,EAAKnB,IAAK,CACnC,MAAMM,EAAI4D,EAAQlE,GACZ+G,EAAOzG,EAAEV,OACf,GAAa,IAATmH,EAAJ,CAIA,IAAK,IAAID,EAAI,EAAGA,EAAIC,EAAMD,IACxB,GAAIxG,EAAEwG,KAAO/C,EAAEH,EAAIkD,GAAI,SAAS3C,EAIlC,OAFA5E,EAAI,GAAKe,EACTf,EAAI,GAAKqE,EAAImD,EACNxH,EARL,GAAIwE,EAAEH,KAAOtD,EAAG,MAAO,CAACA,EAAGsD,EAAImD,GAUnC,OAAOtI,EAAKmF,EAAkB,EAAf5F,GAAoB,YAAYkG,EAAQtE,OAAS,EAAI,UAAY,KAAKsE,EAAQzC,KAAIsC,GAAK,GAAGA,MAAKvC,KAAK,UAI3H,UASgBwF,KAAQ9C,GACtB,MAAM+C,EAAO/C,EAAQ1F,QACfkH,EAAQM,EAAMiB,EAAKxF,KAAIsC,GAAKA,EAAEmD,cAAgBnD,EAAEoD,gBAAe3F,KAAK,KACpE4F,EAAMH,EAAKxF,KAAIsC,GAAKA,EAAEmD,gBAC5B,MAAO,CACLpE,MAAMiB,EAAWH,EAAWrE,GAC1B,MAAMyE,EAAI0B,EAAM5C,MAAMiB,EAAGH,EAAGrE,GAC5B,IAAKyE,EAAEpE,OAAQ,OAAOoE,EACtB,MAAMhE,EAAIoH,EAAIpG,QAAQgD,EAAE,GAAGkD,eAC3B,OAAMlH,GACNgE,EAAE,GAAKiD,EAAKjH,GACLgE,GAFSvF,EAAKmF,EAAkB,EAAf5F,GAAoB,YAAYiJ,EAAKrH,OAAS,EAAI,UAAY,KAAKqH,EAAKxF,KAAIsC,GAAK,GAAGA,MAAKvC,KAAK,UAK5H,UCnFgB6F,EAAO3F,EAAmBrD,GACxC,IAAIiJ,EACJ,OAAOzD,GACL,IAAMyD,EAAKzE,EAAOnB,KAClB,SAAeqC,EAAWH,EAAWiD,EAAmBlE,GACtD,MAAMtD,EAAOsD,GAAQ3D,EAAS4E,EAAGvF,GAC3BkB,EAAM+H,EAAGxE,MAAMiB,EAAGH,EAAGiD,EAAOxH,GAClC,OAAIE,EAAIK,QACFP,GAAMD,EAAUC,EAAMsD,EAAMpD,GACzBA,IAEPsH,EAAM,GAAK,KACXA,EAAM,GAAKjD,EACJiD,KAIf,UAQgBU,EAAI7F,EAAqB/C,GACvC,IAAI2I,EACJ,OAAOzD,GACL,IAAMyD,EAAKzE,EAAOnB,KAClB,SAAeqC,EAAWH,EAAWiD,GACnC,MAAMtH,EAAM+H,EAAGxE,MAAMiB,EAAGH,EAAGiD,GAC3B,OAAItH,EAAIK,OAAenB,EAAKmF,EAAkB,EAAf5F,IAAqBW,GAAW,cAAcoF,EAAEvF,MAAMoF,EAAGrE,EAAI,SAE1FsH,EAAM,GAAK,GACXA,EAAM,GAAKjD,EACJiD,KAIf,UAkBgBW,EAAOnJ,KAA6BoJ,GAClD,MAAMC,EAAK5I,EAAWT,GAAQA,OAAOE,EAC/BoJ,EAAwB7I,EAAWT,GAAQoJ,GAAWpJ,EAAO,CAACA,GAAQ,IAAI4F,OAAOwD,GACvF,IAAIH,EACJ,MAAMnG,EAAMwG,EAAI/H,OAChB,OAAOiE,GACL,IAAMyD,EAAKK,EAAIlG,IAAIoB,KACnB,SAAekB,EAAWH,EAAWiD,EAAmBlE,GACtD,IAAIiF,EACJ,MAAMvI,EAAOsD,GAAQ3D,EAAS4E,EAAG8D,GACjC,IAAK,IAAI1H,EAAI,EAAGA,EAAImB,EAAKnB,IAAK,CAC5B,MAAMT,EAAM+H,EAAGtH,GAAG8C,MAAMiB,EAAGH,EAAGiD,EAAOxH,GACrC,GAAIE,EAAIK,OAEN,OADIP,GAAMD,EAAUC,EAAMsD,EAAMpD,GACzBA,EACiB,EAAfvB,IAAmB4J,IAAUA,EAAQ,KAAK/H,KAAKzB,EAAasJ,IAEzE,GAAmB,EAAf1J,EAAkB,CACpB,MAAMY,EAAQuE,EAAeyE,EAAO,CAAChE,EAAG,YAAY8D,GAAM,cAAeA,IAEzE,OADIE,EAAMhI,QAAUgI,EAAMnG,KAAI2C,GAAKA,EAAE,KAAItE,QAAO,CAAC2C,EAAG9C,IAAM8C,EAAI9C,GAAG,KAAOiI,EAAM,GAAG,GAAKA,EAAMhI,SAAQhB,EAAM,GAAK8I,GACxGjJ,EAAKG,EAAM,GAAIA,EAAM,GAAIA,EAAM,IAAM8I,EAAI9I,EAAM,GAAIA,EAAM,IAGhE,OADmB,EAAfZ,GAAoBmF,IAAiB,KAAOS,GAAK8D,YJd3BrJ,GAC5BA,IACEJ,EAAO,KAAOC,EAAa,IAAMD,EAAO,KAAOC,EAAa,KAAIA,EAAa,GAAKG,GACtFJ,EAAO,GAAKI,EAEhB,CISiEwJ,CAAkBH,IAAQA,EAAWrJ,MAAQqJ,IAC/FjJ,EAAKmF,EAAkB,EAAf5F,GAAoB,YAAY0J,GAAM,cAAeA,KAI5E,UAsCgBI,EAAUpG,EAAmBoG,EAA+BzJ,GAC1E,IAAIiJ,EACJ,OAAOzD,GACL,IAAMyD,EAAKzE,EAAOnB,KAClB,SAAeqC,EAAWH,EAAWrE,EAAiBoD,GACpD,MAAMtD,EAAOsD,GAAQ3D,EAAS4E,EAAGvF,GAC3B2F,EAAIsD,EAAGxE,MAAMiB,EAAGH,EAAGrE,EAAKF,GAC9B,IAAK2E,EAAEpE,OAAQ,OAAOoE,EACtB,MAAMjF,EAAI+I,EAAO9D,EAAE,IACnB,OAAU,IAANjF,GACEM,GAAMD,EAAUC,EAAMsD,EAAMqB,GACzBA,GAEGvF,EAAKuF,EAAE,GAAIjF,EAAGV,KAGhC,UASgBoD,EAAUC,EAAmBqG,EAAyE1J,GACpH,IAAIiJ,EACApE,EACJ,MACMpB,EAASkG,GAAc9E,EAAM8E,EACnC,OAAOnE,GACL,IAAMyD,EAAKzE,EAAOnB,KAClB,SAAeqC,EAAWH,EAAWrE,EAAiBoD,GACpD,MAAMtD,EAAOsD,GAAQ3D,EAAS4E,EAAGvF,GAC3B2F,EAAIsD,EAAGxE,MAAMiB,EAAGH,EAAGrE,EAAYF,GACrC,GAAI2E,EAAEpE,OAAQ,CACZ,MAAMG,EAAOmD,EACbA,EATO,GAUNc,EAAgB,GAAK+D,EAAG/D,EAAE,GAAIlC,EAAO8B,EAAGI,EAAE,IAC3C,MAAMiE,EAAM/E,EAEZ,OADAA,EAAMnD,EACFkI,EAAYxJ,EAAKuF,EAAE,GAAIiE,EAAK5J,IAC5BgB,GAAMD,EAAUC,EAAMsD,EAAMqB,GACzBA,GAGP,OADA1F,EAAiBD,IAAUA,EAAaA,MAAQA,IACzC2F,IAIf,UAyBgB3F,EAAQqD,EAAmBrD,GACzC,IAAIiJ,EACJ,OAAOzD,GACL,IAAMyD,EAAKzE,EAAOnB,KAClB,SAAeqC,EAAWH,EAAWrE,EAAiBoD,GACpD,GAAIA,EAAM,CACR,MAAMtD,EAAOL,EAAS4E,EAAGvF,GACnB2F,EAAIsD,EAAGxE,MAAMiB,EAAGH,EAAGrE,EAAKF,GAU9B,OATI2E,EAAEpE,SACAP,EAAKF,SAASS,QAChBP,EAAKF,SAAS,GAAGd,KAAOA,EACxBsE,EAAKxD,SAASU,KAAKR,EAAKF,SAAS,KAEjCC,EAAUC,EAAMsD,EAAMqB,IAGP,EAAfhG,GAAkBM,EAAiC,iBAATD,EAAoBA,EAAOA,EAAKA,MACvE2F,EACF,CACL,MAAMA,EAAIsD,EAAGxE,MAAMiB,EAAGH,EAAGrE,GAEzB,OADKyE,EAAEpE,QAAyB,EAAf5B,GAAkBM,EAAiC,iBAATD,EAAoBA,EAAOA,EAAKA,MACpF2F,KAIf,UC5NgBkE,GAAOxG,EAAmBrD,GACxC,IAAIiJ,EACJ,MAAMa,EAAa,GACnB,OAAOtE,GACL,IAAMyD,EAAKzE,EAAOnB,KAClB,SAAeqC,EAAWH,EAAWiD,EAAqBlE,GACxD,MAAMtD,EAAOsD,GAAQ3D,EAAS4E,EAAGvF,GACjC,IAAIkE,EAEAhD,EADAI,EAAIiE,EAKR,GADArE,EAAM+H,EAAGxE,MAAMiB,EAAGpE,EAAGkH,EAAcxH,IAC9BE,EAAIK,QAAUL,EAAI,KAAOI,EAI5B,OAHAkH,EAAM,GAAKsB,EACXtB,EAAM,GAAKlH,EACQ,EAAf3B,IAAkB6I,EAAM,GAAKzI,EAAaC,IACvCwI,EAMT,IAJElH,EAAIJ,EAAI,GACRgD,EAAM,CAAChD,EAAI,MAGH,CAER,GADAA,EAAM+H,EAAGxE,MAAMiB,EAAGpE,EAAGkH,EAAcxH,IAC/BE,EAAIK,QAAUL,EAAI,KAAOI,EAQ3B,OAJAkH,EAAM,GAAKtE,GAAO,GAClBsE,EAAM,GAAKlH,EACI,EAAf3B,IAAqB6I,EAAM,GAAKzI,EAAaC,IACzCgB,GAAMD,EAAUC,EAAMsD,EAAMkE,GACzBA,EAPPtE,EAAI1C,KAAKN,EAAI,IACbI,EAAIJ,EAAI,MAWlB,UAUgB6I,GAAQ1G,EAAmBrD,GACzC,IAAIiJ,EACJ,OAAOzD,GACL,IAAMyD,EAAKzE,EAAOnB,KAClB,SAAeqC,EAAWH,EAAWiD,EAAqBlE,GACxD,MAAMtD,EAAOsD,GAAQ3D,EAAS4E,EAAGvF,GACjC,IAAIkE,EAEAhD,EADAI,EAAIiE,EAKR,GADArE,EAAM+H,EAAGxE,MAAMiB,EAAGpE,EAAGkH,EAAcxH,IAC/BE,EAAIK,OAkBN,OAAOnB,EAAKkB,EAAkB,EAAf3B,GAAoB,yBAAyBK,GAAQ,SAAUA,EAAqB,EAAfL,GAAoBI,EAAaC,IAdrH,KAHCkE,EAAM,IAAI1C,KAAKN,EAAI,IACpBI,EAAIJ,EAAI,KAEE,CAER,GADAA,EAAM+H,EAAGxE,MAAMiB,EAAGpE,EAAGkH,EAAcxH,IAC/BE,EAAIK,OAQN,OAJAiH,EAAM,GAAKtE,EACXsE,EAAM,GAAKlH,EACQ,EAAf3B,IAAkB6I,EAAM,GAAKzI,EAAaC,IAC1CgB,GAAMD,EAAUC,EAAMsD,EAAMkE,GACzBA,EAPPtE,EAAI1C,KAAKN,EAAI,IACbI,EAAIJ,EAAI,MAepB,UAYgB8I,GAAU3G,EAAmB4G,EAAkBC,EAAsC,WAAYlK,GAC/G,IAAImK,EACAC,EACJ,MAAMN,EAAa,GACnB,OAAOtE,GACL,KAAO2E,EAAM3F,EAAOnB,GAAS+G,EAAM5F,EAAOyF,MAC1C,SAAevE,EAAWH,EAAWiD,EAAqBlE,GACxD,MAAMtD,EAAOsD,GAAQ3D,EAAS4E,EAAGvF,GACjC,IAAIkE,EAGAmG,EACAnJ,EACAyE,EAJArE,EAAIiE,EACJ+E,EAAI/E,EAOR,GADArE,EAAMiJ,EAAI1F,MAAMiB,EAAGpE,EAAGkH,EAAcxH,IAChCE,EAAIK,QAAUL,EAAI,KAAOI,EAoB3B,OAHAkH,EAAM,GAAKsB,EACXtB,EAAM,GAAKjD,EACQ,EAAf5F,IAAkB6I,EAAM,GAAKzI,EAAaC,IACvCwI,EAfP,GAJA6B,EAAKnJ,EAAI,GACToJ,EAAIhJ,EACJA,EAAIJ,EAAI,GACRyE,EAAIyE,EAAI3F,MAAMiB,EAAGpE,EAAGkH,IACf7C,EAAEpE,OACL,MAAc,YAAV2I,EAA4B9J,EAAKkK,EAAkB,EAAf3K,GAAoB,qBAAsBK,IAClFwI,EAAM,GAAK,CAAC6B,GACZ7B,EAAM,GAAKlH,EACPN,GAAMD,EAAUC,EAAMsD,EAAMkE,GACzBA,GAaX,IAXIlH,EAAIqE,EAAE,GAGRzB,EAAM,CAACmG,KAQC,CAER,GADAnJ,EAAMiJ,EAAI1F,MAAMiB,EAAGpE,EAAGkH,EAAcxH,IAChCE,EAAIK,QAAUL,EAAI,KAAOI,EAWtB,IAAc,aAAV4I,GAAwBhG,GAAOA,EAAI3C,OAAQ,CACpD,GAAmB,EAAf5B,EAAkB,CACpB,MAAMY,EAAQT,IACd,OAAOM,EAAKG,EAAM,GAAIA,EAAM,GAAIP,EAAM,CAACsB,EAAG,yBAEvC,OAAOlB,EAAKkB,EAAkB,EAAf3B,GAAoB,uBAAwBK,GAC3D,MAZL,GAJAsK,EAAIhJ,EACJA,EAAIJ,EAAI,GACRmJ,EAAKnJ,EAAI,GACTyE,EAAIyE,EAAI3F,MAAMiB,EAAGpE,EAAGkH,IACf7C,EAAEpE,OAAQ,CACb,GAAc,YAAV2I,EAAqB,OAAO9J,EAAKkK,EAAkB,EAAf3K,GAAoB,qBAAsBK,GAClFkE,EAAI1C,KAAK6I,GACT,MACK/I,EAAIqE,EAAE,GACbzB,EAAI1C,KAAK6I,GAab,OAJA7B,EAAM,GAAKtE,EACXsE,EAAM,GAAKlH,EACI,EAAf3B,IAAqB6I,EAAM,GAAKzI,EAAaC,IACzCgB,GAAMD,EAAUC,EAAMsD,EAAMkE,GACzBA,IAGb,UAagB+B,GAAWlH,EAAmB4G,EAAkBC,EAAsC,WAAYlK,GAChH,IAAImK,EACAC,EACJ,OAAO5E,GACL,KAAO2E,EAAM3F,EAAOnB,GAAS+G,EAAM5F,EAAOyF,MAC1C,SAAevE,EAAWH,EAAWiD,EAAqBlE,GACxD,MAAMtD,EAAOsD,GAAQ3D,EAAS4E,EAAGvF,GACjC,IAAIkE,EAGAhD,EAFAI,EAAIiE,EACJ1D,EAAIP,EAKR,GADAJ,EAAMiJ,EAAI1F,MAAMiB,EAAGpE,EAAGkH,EAAcxH,IAChCE,EAAIK,OA4BD,OAAOnB,EAAKkB,EAAkB,EAAf3B,GAAoB,yBAAyBK,GAAQ,UA5B3D,EACbkE,EAAM,IAAI1C,KAAKN,EAAI,IACpBW,EAAIP,EAAIJ,EAAI,GACZ,MAAMyE,EAAIyE,EAAI3F,MAAMiB,EAAGpE,EAAGkH,GAC1B,GAAK7C,EAAEpE,OAML,IAHAD,EAAIqE,EAAE,KAGI,CAER,GADAzE,EAAMiJ,EAAI1F,MAAMiB,EAAGpE,EAAGkH,EAAcxH,IAChCE,EAAIK,OAQD,IAAc,aAAV2I,GAAwBhG,GAAOA,EAAI3C,OAI5C,OAHAiH,EAAM,GAAKtE,EACXsE,EAAM,GAAK3G,EACPb,GAAMD,EAAUC,EAAMsD,EAAMkE,GACzBA,EACF,MAbS,CACdtE,EAAI1C,KAAKN,EAAI,IACbW,EAAIP,EAAIJ,EAAI,GACZ,MAAMyE,EAAIyE,EAAI3F,MAAMiB,EAAGpE,EAAGkH,GAC1B,IAAK7C,EAAEpE,OAAQ,CACb,GAAc,YAAV2I,EAAqB,OAAO9J,EAAKkB,EAAkB,EAAf3B,GAAoB,qBAAsBK,GAClF,MACKsB,EAAIqE,EAAE,SAdjB,GAAc,YAAVuE,EAAqB,OAAO9J,EAAKkB,EAAkB,EAAf3B,GAAoB,qBAAsBK,GA6BtF,OAJAwI,EAAM,GAAKtE,EACXsE,EAAM,GAAKlH,EACQ,EAAf3B,IAAkB6I,EAAM,GAAKzI,EAAaC,IAC1CgB,GAAMD,EAAUC,EAAMsD,EAAMkE,GACzBA,IAGb,UCrNgBgC,GAAWlI,EAAuCmI,EAAoBC,EAA8B1K,GAClH,MAAMqJ,EAAK5I,EAAWiK,GAASA,EAAQjK,EAAWT,GAAQA,OAAOE,EACjE,GAAIyK,MAAMC,QAAQtI,GAAQ,CACxB,IAAIuI,EACA5B,EACJ,MAAMnG,EAAMR,EAAMf,OAClB,OAAOiE,GACL,KAAOyD,EAAKzE,EAAOiG,GAAUI,EAAOvI,EAAMc,IAAIoB,MAC9C,SAAekB,EAAWH,EAAWiD,EAAmBlE,GACtD,MAAMtD,EAAOsD,GAAQ3D,EAAS4E,EAAG8D,GACjC,IAAI9I,EACAM,EACJ,IAAK,IAAIc,EAAI,EAAGA,EAAImB,EAAKnB,IAAK,CAE5B,GADYkJ,EAAKlJ,GAAG8C,MAAMiB,EAAGH,EAAGiD,GACxBjH,OAAQ,CACdV,EAAMgK,EAAKlJ,GACX,OAGJ,IAAKd,EAAK,OAAOT,EAAKmF,EAAkB,EAAf5F,GAAoB,2BAA4BK,GACzE,MAAMkB,EAAM+H,EAAGxE,MAAMiB,EAAG8C,EAAM,GAAIA,EAAOxH,GACzC,IAAKE,EAAIK,OAAQ,OAAOL,EACL,EAAfvB,IAAkBY,EAAQW,EAAI,IAClC,MAAMR,EAAIQ,EAAI,GACRI,EAAIJ,EAAI,GAEd,OADYL,EAAI4D,MAAMiB,EAAGpE,EAAGkH,GACnBjH,QACTiH,EAAM,GAAK9H,EACPM,GAAMD,EAAUC,EAAMsD,EAAMkE,GACzBA,GAHiBpI,EAAKkB,EAAkB,EAAf3B,GAAoB,gCAAiCK,EAAqB,EAAfL,GAAoBY,MAM9G,IAAKE,EAAWiK,GAAQ,CAC7B,IAAIP,EACAC,EACAU,EACJ,OAAOtF,GACL,KAAO2E,EAAM3F,EAAOlC,GAAQ8H,EAAM5F,EAAOiG,GAAUK,EAAMtG,EAAOkG,MAChE,SAAehF,EAAWH,EAAWiD,EAAmBlE,GACtD,IAAI/D,EACJ,MAAMS,EAAOsD,GAAQ3D,EAAS4E,EAAG8D,GAC3B0B,EAAKZ,EAAI1F,MAAMiB,EAAGH,EAAGiD,GAC3B,IAAKuC,EAAGxJ,OAAQ,OAAOwJ,EACvB,MAAMC,EAAKZ,EAAI3F,MAAMiB,EAAGqF,EAAG,GAAIvC,EAAOxH,GACtC,IAAKgK,EAAGzJ,OAAQ,OAAOyJ,EACJ,EAAfrL,GAAoBqL,EAAG,KAAIzK,EAAQyK,EAAG,IAC1C,MAAMrF,EAAIqF,EAAG,GACPC,EAAKH,EAAIrG,MAAMiB,EAAGsF,EAAG,GAAIxC,GAC/B,OAAKyC,EAAG1J,QAIRiH,EAAM,GAAK7C,EACP3E,GAAMD,EAAUC,EAAMsD,EAAMkE,GACzBA,IALc,EAAf7I,GAAoBY,YNqCTA,IACtBX,EAAO,KAAOA,EAAO,GAAK,KAAK4B,KAAKjB,EACvC,CMvCyC2K,CAAS3K,GACjC0K,MAQjB,UAagB/G,GAA0ClE,KAAmBoJ,GAC3E,IAAIC,EAGAJ,EAFgB,iBAATjJ,EAAmBoJ,EAAQ5G,QAAQxC,GACzCqJ,EAAKrJ,EAEV,MAAM8C,EAAMsG,EAAQ7H,OACpB,OAAOiE,GACL,IAAMyD,EAAKG,EAAQhG,IAAIoB,KACvB,SAAekB,EAAWH,EAAWiD,EAAuBlE,GAC1D,MAAMtD,EAAOsD,GAAQ3D,EAAS4E,EAAG8D,GACjC,IAAInI,EAEAV,EACAmF,EAFArE,EAAIiE,EAMR,GADAI,EAAIsD,EAAG,GAAGxE,MAAMiB,EAAGpE,EAAGkH,EAAcxH,IAC/B2E,EAAEpE,OAAQ,CACb,GAAmB,EAAf5B,EAAkB,CACpB,MAAMY,EAAQuE,EAAetE,EAAQT,EAAasJ,IAClD,OAAOjJ,EAAKG,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,IACrD,OAAOoF,EAEK,EAAfhG,GAAoBgG,EAAE,KAAKnF,IAAWA,EAAS,KAAKgB,KAAKmE,EAAE,KAC9DzE,EAAM,IAAIM,KAAKmE,EAAE,IAClBrE,EAAIqE,EAAE,GAGN,IAAK,IAAIhE,EAAI,EAAGA,EAAImB,EAAKnB,IAAK,CAE5B,GADAgE,EAAIsD,EAAGtH,GAAG8C,MAAMiB,EAAGpE,EAAGkH,EAAcxH,IAC/B2E,EAAEpE,OAAQ,CACb,GAAmB,EAAf5B,EAAkB,CACpB,MAAMY,EAAQuE,EAAetE,EAAQT,EAAasJ,IAClD,OAAOjJ,EAAKG,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,IACrD,OAAOoF,EAEK,EAAfhG,GAAoBgG,EAAE,KAAKnF,IAAWA,EAAS,KAAKgB,KAAKmE,EAAE,IAC/DzE,EAAIM,KAAKmE,EAAE,IACXrE,EAAIqE,EAAE,GASZ,OAJA6C,EAAM,GAAKtH,EACXsH,EAAM,GAAKlH,EACQ,EAAf3B,IAAkB6I,EAAM,GAAK,CAACjD,EAAG,eAAgB,KAAM,KAAM/E,IAC7DQ,GAAMD,EAAUC,EAAMsD,EAAMkE,GACzBA,IAGb,UAQgB2C,GAAMnL,KAA6BoJ,GACjD,IAAIH,EACAI,EAEgB,iBAATrJ,EAAmBoJ,EAAQ5G,QAAQxC,GACzCqJ,EAAKrJ,EAEV,MAAM8C,EAAMsG,EAAQ7H,OACpB,OAAOiE,GACL,IAAMyD,EAAKG,EAAQhG,IAAIoB,KACvB,SAAekB,EAAWH,EAAWiD,EAAsBlE,GACzD,MAAMtD,EAAOsD,GAAQ3D,EAAS4E,EAAG8D,GACjC,IACI7I,EACAmF,EAFArE,EAAIiE,EAMR,GADAI,EAAIsD,EAAG,GAAGxE,MAAMiB,EAAGpE,EAAGkH,IACjB7C,EAAEpE,OAAQ,CACb,GAAmB,EAAf5B,EAAkB,CACpB,MAAMY,EAAQuE,EAAetE,EAAQT,EAAasJ,IAClD,OAAOjJ,EAAKG,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,IACrD,OAAOoF,EAEK,EAAfhG,GAAoBgG,EAAE,KAAKnF,IAAWA,EAAS,KAAKgB,KAAKmE,EAAE,IAC/DrE,EAAIqE,EAAE,GAEN,IAAK,IAAIhE,EAAI,EAAGA,EAAImB,EAAKnB,IAAK,CAE5B,GADAgE,EAAIsD,EAAGtH,GAAG8C,MAAMiB,EAAGpE,EAAGkH,IACjB7C,EAAEpE,OAAQ,CACb,GAAmB,EAAf5B,EAAkB,CACpB,MAAMY,EAAQuE,EAAetE,EAAQT,EAAasJ,IAClD,OAAOjJ,EAAKG,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,IACrD,OAAOoF,EAEK,EAAfhG,GAAoBgG,EAAE,KAAKnF,IAAWA,EAAS,KAAKgB,KAAKmE,EAAE,IAC/DrE,EAAIqE,EAAE,GAQZ,OAHA6C,EAAM,GAAK,KACXA,EAAM,GAAKlH,EACPN,GAAMD,EAAUC,EAAMsD,EAAMkE,GACzBA,IAGb,CJpIAhF,EAAOW,KAAOA,EEkHdX,EAAOJ,IAAMA,EEnCbI,EAAOU,IAAMA,GCjJb,MAAMkH,GAAO,eACAC,GAAS,aAEhBC,GAAaF,4DACNG,GAAMH,GAAOC,GAGpBG,GAAmC,CAAEC,EAAG,KAAM9F,EAAG,KAAM1D,EAAG,KAAM,IAAK,IAAK,IAAK,IAAKM,EAAG,KAAM,KAAM,MAKnGmJ,GAAc,KACPC,GAAwBvI,EACnCc,GACE8E,EAAI5C,EAAI,IAAK,MACbuB,EAAM0D,IAAS3D,EAAK2D,GAAS,KAAMrC,EAAI5C,EAAI,MAAOsB,EAAK2D,GAAS,KAChEjI,EAAI4F,EAAI9E,GAAIkC,EAAI,IAAK,KAAM4C,EAAI5C,EAAI,IAAK,MAAOuB,EAAM0D,GAAS,QAAQ1F,GAAKA,GAAKC,EAAOD,OAEzFA,IAAOC,EAAOD,GAAGiG,QAAQF,GAAa,MAG3BG,GAAiCzI,EAC5Cc,GAAIkC,EAAI,eL8Ne0B,EAAegE,EAAoB9L,GAC1D,MAAMmH,EAASC,EAAS0E,GAClB9D,EAASd,EAAUC,GACzB,MAAO,CACL1C,MAAMiB,EAAWH,EAAWrE,GAC1B,GAAIwE,EAAEnE,OAASgE,GAAKuC,EAAO,CACzB,MAAM1B,EAAMV,EAAEuC,OAAO1C,EAAGuC,GACxB,IAAK,IAAInG,EAAI,EAAGA,EAAImG,EAAOnG,IAAK,GAAIqG,EAAOb,EAAQf,EAAIzE,IAAK,OAAOvB,EAAKmF,EAAI5D,EAAkB,EAAfhC,GAAoB,kBAAmBK,GAGtH,OAFAkB,EAAI,GAAKkF,EACTlF,EAAI,GAAKqE,EAAIuC,EACN5G,EACF,OAAOd,EAAKmF,EAAkB,EAAf5F,GAAoB,0BAA2BK,IAG3E,CK5OiB+L,CAAS,EAAG,QAC3BpG,GAAK6F,GAAO7F,EAAE,KAAOA,EAAE,KAGZqG,GAAkC5I,EAC7Cc,GAAIkC,EAAI,OAAQiB,EAAM,EAAGkE,MACzB5F,GAAKsG,OAAOC,aAAaC,SAASxG,EAAE,GAAI,OAG7ByG,GAA8BhJ,EACzCc,GAAIkC,EAAI,OAAQiB,EAAM,EAAGkE,MACzB5F,GAAKsG,OAAOC,aAAaC,SAASxG,EAAE,GAAI,OAG7B0G,GAAUlD,EACrBqB,GAAQpE,EAAI,KAAMhD,EAAIyG,GAAIV,EAAI,cAAeb,EAAQ,OAAQ0D,GAAgBI,GAAYP,MAAiBlG,GAAKC,EAAOD,KAAKS,EAAI,MAC/HoE,GAAQpE,EAAI,KAAOhD,EAAIyG,GAAIV,EAAI,cAAeb,EAAQ,OAAS0D,GAAgBI,GAAYP,MAAiBlG,GAAKC,EAAOD,KAAKS,EAAI,OAEtHkG,GAAQlJ,EAAIgD,EAAI,OAAQ,UAAU1F,GAAW,SAANA,IACvC6L,GAAQnJ,EAAIgD,EAAI,SAAS,IAAM,OAC/BoG,GAAcpJ,EAAIc,GAAIyD,EAAM2D,IAAatC,EAAItB,EAAK4D,GAAaD,OAAW,EAAE3F,EAAGnD,KAAa,OAANA,EAAamD,EAAInD,EAAImD,IAC3G+G,GAAKtI,EAvCG,WAwCfuI,GAAmC,GACnCC,GAA8B,GAC9BC,GAASzD,EAAI,QAASkD,GAASK,GAAQC,GAAShB,GAAMW,GAAOC,IAC7DM,GAAWzJ,EAAIc,GAAIuI,GAAItD,EAAI,MAAOkD,GAASG,IAAcrB,GAAMsB,GAAIrG,EAAI,KAAMqG,IAAKG,KAASjH,GAAK,CAACA,EAAE,GAAIA,EAAE,MAC/G+G,GAAOrJ,OAASmH,GAAQW,GAAM/E,EAAI,KAAMqG,IAAKzC,GAAO4C,GAAQzB,GAAMsB,GAAIrG,EAAI,KAAMqG,IAAK,SAAUtB,GAAMsB,GAAIrG,EAAI,OAC7GuG,GAAQtJ,OAASD,EAAIoH,GAAQW,GAAM/E,EAAI,KAAMqG,IAAKzC,GAAO6C,GAAU1B,GAAMsB,GAAIrG,EAAI,KAAMqG,IAAK,SAAUtB,GAAMsB,GAAIrG,EAAI,QAAQ0G,IAC1H,MAAMhK,EAAMgK,EAAMvL,OACZL,EAAW,GACjB,IAAK,IAAIS,EAAI,EAAGA,EAAImB,EAAKnB,IAAK,CAC5B,MAAMoL,EAAOD,EAAMnL,GACnBT,EAAI6L,EAAK,IAAMA,EAAK,GAEtB,OAAO7L,CAAG,MAGgBkC,EAAIc,GAAIuI,GAAIG,GAAQH,KAAK9G,GAAKA,EAAE,MC1DrD,MAAMqH,GAAY,CACvBC,EAAG,EACH3C,EAAG,EACH4C,EAAG,EACH7I,EAAG,MACH8I,EAAG,KACHC,GAAI,IACJ1H,EAAG,cAOW2H,GAAa3M,GAC3B,MAAoB,iBAANA,GAAkBA,GAAqB,iBAATA,EAAE4M,EAChD,UAEgBC,GAAiB7M,GAC/B,MAAiB,iBAANA,EAAuBA,EACzB2M,GAAa3M,GAAWA,EAAE4M,GAC0H,KAAvB,IAAvB,IAAvB,IAA1B,OAAvB,IAAf5M,EAAE2D,EAAE,IAAM,IAAY3D,EAAE2D,EAAE,IAAM,KAAgB3D,EAAE2D,EAAE,IAAM,KAAa3D,EAAE2D,EAAE,IAAM,KAAa3D,EAAE2D,EAAE,IAAM,KAAa3D,EAAE2D,EAAE,IAAM,KAAe3D,EAAE2D,EAAE,IAAM,EAClL,CAZA2I,GAAUE,EAAkB,EAAdF,GAAU3I,EACxB2I,GAAUC,EAAIO,KAAKC,MAAoB,OAAdT,GAAU3I,GACnC2I,GAAU1C,EAAIkD,KAAKC,MAAoB,MAAdT,GAAU3I,GAYnC,MAAMqJ,GAAQ,UACRC,GAASD,6BACFE,GAASD,GAAS,aAEzBE,GAAWzK,EAAIc,GAAIuI,GAAIrG,EAAI,MAAO4C,EAAI5C,EAAI,MAAO8B,EAAO,MAAO9B,EAAI,QAAQ,KAAQ9E,OAAUA,OAAM,CAAEtB,KAAM,UAAWqB,SAAS,IACrI,SAASyM,GAAuBC,EAAcxI,GAC5C,OAAOnC,EAAIc,GAAI2F,GAAIgE,IAAWpB,GAAIlH,IAAI,EAAEjE,GAAKZ,MACvCY,GAAKA,EAAEC,SAAQb,EAAEqN,GAAQzM,EAAE8B,KAAI9B,GAAKA,EAAEA,KACnCZ,IAEX,CAEO,MAAMsN,YNoDS3G,EAAerH,GACnC,MAAMmH,EAASC,EAASC,GAClBI,EAAWP,EAAUC,GAC3B,MAAO,CACL1C,MAAK,CAACiB,EAAWH,EAAWrE,KAC1BA,EAAI,GAAKsG,EAAc9B,EAAGH,EAAG4B,EAAQM,GACjCvG,EAAI,KAAOqE,EAAUnF,EAAKmF,EAAkB,EAAf5F,GAAoB,4BAA4BiI,KAAKC,UAAUR,KAAUrH,GACnGkB,GAGb,CM9DmB+M,CAAMP,GAAO,kBAEnBQ,GAAW9K,EAAiBgD,EAAI,OAAQ,OAAQ,QAAS,cAAc1F,IAClF,OAAQA,GACN,IAAK,OAAQ,OAAO,KACpB,IAAK,OAAQ,OAAO,EACpB,IAAK,QAAS,OAAO,EACrB,IAAK,YAAa,UAEnB,CAAEW,SAAS,EAAMrB,KAAM,cAEbmO,GAAQ7F,EAAQsF,IAAQ,GACxBQ,GAAU9F,EAAQ,4BAA4B,GAE9C+F,GAAiC,GACjCC,GAAuB,GACvBC,GAAuB,GACvBC,GAAwB,GACxBC,GAAuB,GACvBC,GAAwB,GAExBC,GAA6B,GAEpCnD,GAAkC,CAAEvJ,EAAG,KAAM0D,EAAG,KAAMpD,EAAG,KAAMkJ,EAAG,MAClEmD,GAAUxL,EAAIc,GAAIkC,EAAI,MAAOiB,EAAM,KAAK,GAAIwH,KAAUrD,GAAOqD,IAASA,IACtEC,GAAY1L,EAAI2G,GAAKZ,EAAI,WAAYb,EAAQsF,IAAQ,GAAOgB,MAAWG,GAASA,EAAM5L,KAAK,KAAK,gBAChG6L,GAAU5L,EAAIc,GAAIkC,EAAI,KAAM0I,KAAY,GAAIG,KAAUA,IACtDC,GAAc1E,GAAQtG,GAAIkC,EAAI,KAAMqG,IAAKgC,GAAOvK,GAAIuI,GAAIrG,EAAI,OACrD+I,GAAU/L,EAAIc,GAAIiF,EAAiC,YAAa/C,EAAI,IAAK,IAAK,KAAalC,GAAIwD,EAAK,KAAMsB,EAAI5C,EAAI,IAAK,QAAS+C,EAAkB,UAAW2F,GAAWI,IAAcrF,GAAIV,EAAkB,UAAW6F,GAASE,OAAgB,EAAEE,EAAQ3J,EAAMsJ,MAC3Q,MAAM7N,EAAe,CAAEmO,EAAG,CAAC5J,GAAMG,OAAOmJ,GAAO3L,KAAImC,GAAkB,iBAANA,KAAkB,MAAOA,IAAqB,iBAARA,EAAE7E,GAAiC,iBAAR6E,EAAE7E,EAAwB6E,EAANA,EAAE7E,KAOtJ,OANIiK,MAAMC,QAAQwE,IACZA,EAAO,KAAIlO,EAAIoO,EAAIF,EAAO,GAAG7N,QACf,MAAd6N,EAAO,KAAYlO,EAAIqE,EAAI,MACtB6J,IACTlO,EAAIqE,EAAI6J,GAEHlO,CAAG,GACT,WACUqO,GAAYnM,EAAIc,GAAIwD,EAAK,KAAMoH,GAAWjF,GAAIV,EAAkB,UAAW6F,GAASE,OAAgB,EAAEE,EAAQ3J,EAAMsJ,MAC/H,MAAM7N,EAAe,CAAEmO,EAAI,CAAC5J,GAA8BG,OAAOmJ,GAAO3L,KAAImC,GAAkB,iBAANA,KAAkB,MAAOA,IAAqB,iBAARA,EAAE7E,GAAiC,iBAAR6E,EAAE7E,EAAwB6E,EAANA,EAAE7E,KAE/K,OADI0O,IAAQlO,EAAIoO,EAAIF,EAAO7N,QACpBL,CAAG,GACT,aAEUsO,GAAYC,EAAWN,IACvBO,GAAeD,EAAWF,IAEjCI,GAAc,CAAC,KAAM,OAAQ,OAAQ,SAAU,QAAS,KAAM,OAAQ,SAAU,OAAQ,OAAQ,OAAQ,MAAO,MAAO,KAAM,MAAO,KAAM,KAAM,OAAQ,QAAS,SAAU,WAAY,YAAa,WAAY,mBAAoB,SAAU,KAAM,gBAAiB,YAAa,cAAe,UAAW,MAAO,KAAM,MAAO,OAAQ,QAChUC,GAAMxM,EAAI+L,IAAS,CAACxJ,EAAGd,KACf,IAAfc,EAAE0J,EAAE9N,QAAiBoE,EAAEJ,GAAMI,EAAE2J,IAAKK,GAAYE,SAASlK,EAAE0J,EAAE,KAAexK,EAAI,2BAA2Bc,EAAE0J,EAAE,OAC5G,CAAE1J,OACR,CAAEtE,SAAS,EAAMrB,KAAM,cAE1B,SAAS8P,GAAaf,GACpB,MAAM7N,EAAM6N,EAAMtN,QAAO,CAAC2C,EAAG9C,KACvB8C,EAAE7C,QACA,MAAOD,GAAK,MAAO8C,EAAEA,EAAE7C,OAAS,IAAqB,iBAARD,EAAEZ,GAA4D,iBAAlC0D,EAAEA,EAAE7C,OAAS,GAAeb,EAAiB0D,EAAEA,EAAE7C,OAAS,GAAeb,GAAKY,EAAEZ,EAG7J0D,EAAE5C,KAAKF,GAEF8C,IACN,IAIH,OAFIlD,EAAIK,OAAS,MAAQ,MAAOL,EAAI,KAA2B,iBAAbA,EAAI,GAAGR,IAAiBQ,EAAIsB,QAAQ,CAAE9B,EAAG,KAExE,IAAfQ,EAAIK,OAAqB,CAAEb,EAAG,IACV,IAAfQ,EAAIK,OAAqBL,EAAI,GAC/B,CAAEqH,GAAI,IAAK8F,KAAMnN,EAC1B,CAEA,MAAM6O,GAAW3M,EAAImH,GAAQrG,GAAIyH,GAAMc,GAAI9D,EAAK,QAAS,OAAQ,IAAK,SAAU,QAAS,UAAW,SAAU,eAAgB,cAAe,KAAM,KAAM,IAAK,QAAS,OAAQ,IAAK,OAAQ,MAAO,IAAK,QAAS,OAAQ,IAAK,UAAW,SAAU,MAAO8D,KAAKsC,IAC7P,MAAMiB,EAAO,CAAE/C,EAAG,EAAG3C,EAAG,EAAGjG,EAAG,EAAG8I,EAAG,EAAGC,GAAI,EAAG1H,EAAG,EAAG4H,GAAI,GACxD,IAAK,IAAI3L,EAAI,EAAGA,EAAIoN,EAAMxN,OAAQI,IACT,MAAnBoN,EAAMpN,GAAG,GAAG,GAAYqO,EAAK/C,GAAK8B,EAAMpN,GAAG,GACtB,MAAhBoN,EAAMpN,GAAG,IAA8B,WAAhBoN,EAAMpN,GAAG,IAAmC,UAAhBoN,EAAMpN,GAAG,GAAgBqO,EAAK1F,GAAKyE,EAAMpN,GAAG,GAC5E,MAAnBoN,EAAMpN,GAAG,GAAG,GAAYqO,EAAK3L,GAAK0K,EAAMpN,GAAG,GACxB,MAAnBoN,EAAMpN,GAAG,GAAG,GAAYqO,EAAK3L,GAAmB,EAAd0K,EAAMpN,GAAG,GACxB,MAAnBoN,EAAMpN,GAAG,GAAG,GAAYqO,EAAK7C,GAAK4B,EAAMpN,GAAG,GACxB,MAAnBoN,EAAMpN,GAAG,GAAG,GAAYqO,EAAKtK,GAAKqJ,EAAMpN,GAAG,GAC3B,OAAhBoN,EAAMpN,GAAG,IAA+B,YAAhBoN,EAAMpN,GAAG,IAAoC,WAAhBoN,EAAMpN,GAAG,GAAiBqO,EAAK5C,IAAM2B,EAAMpN,GAAG,GACnF,OAAhBoN,EAAMpN,GAAG,IAA+B,iBAAhBoN,EAAMpN,GAAG,IAAyC,gBAAhBoN,EAAMpN,GAAG,KAAsBqO,EAAK1C,IAAMyB,EAAMpN,GAAG,IAGxH,GAAKqO,EAAK/C,GAAM+C,EAAK1F,GAAM0F,EAAK3L,EAKzB,CACL,MAAMqB,EAAqE,GAQ3E,OAPIsK,EAAK/C,IAAGvH,EAAE,GAAKsK,EAAK/C,GACpB+C,EAAK1F,IAAG5E,EAAE,GAAKsK,EAAK1F,GACpB0F,EAAK3L,IAAGqB,EAAE,GAAKsK,EAAK3L,GACpB2L,EAAK7C,IAAGzH,EAAE,GAAKsK,EAAK7C,GACpB6C,EAAK5C,KAAI1H,EAAE,GAAKsK,EAAK5C,IACrB4C,EAAKtK,IAAGA,EAAE,GAAKsK,EAAKtK,GACpBsK,EAAK1C,KAAI5H,EAAE,GAAKsK,EAAK1C,IAClB,CAAEjJ,EAAGqB,GAdqB,QAC1BsK,EAAK/C,SAAU+C,EAAK1F,SAAU0F,EAAK3L,EAC1C,IAAIpC,EAAI,EACR,IAAK,MAAMoN,KAAKW,EAAM/N,GAAK+N,EAAKX,IAAMrC,GAAUqC,IAAM,GACtD,MAAO,CAAE/B,GAAIrL,MAYd,CAAEZ,SAAS,EAAMrB,KAAM,aAEbiQ,GAAW7M,EAAIc,GAAIuI,GAAItD,EAA+C,WACjFR,EAAK,KACLzE,GAAI8E,EAAI3B,EAAM,EAAG,OAAQ8B,EAAI9B,EAAM,EAAGgE,IAAShE,EAAM,EAAGgE,IAAShE,EAAM,EAAGgE,KACxErC,EAAI9E,GAAIkC,EAAI,KAAMiB,EAAM,EAAGgE,UAE3B3K,IACF,GAAgB,MAAZA,EAAE,GAAG,GAAY,OAAO,EACvB,CACH,IAAIQ,EAQJ,OAPuB,IAAnBR,EAAE,GAAG,GAAGa,OACVL,EAA8B,IAAvBR,EAAE,GAAG,GAAGuH,OAAO,EAAG,KAAWvH,EAAE,GAAG,GAAGuH,OAAO,EAAG,IAEtD/G,EAAiB,IAAVR,EAAE,GAAG,GACRA,EAAE,GAAG,KAAIQ,IAAQR,EAAE,GAAG,GAAG,KAEf,MAAZA,EAAE,GAAG,KAAYQ,IAAQ,GACtBA,MAIEgP,GAAY/G,EACvB/F,EAAIc,GACFyD,EAAM0D,IACNrC,EAAI9E,GACFkC,EAAI,KAAMiB,EAAM,EAAGgE,IAASrC,EAC1B9E,GAAIkC,EAAI,KAAMiB,EAAM,EAAGgE,IAASrC,EAC9B9E,GAAIkC,EAAI,KAAMiB,EAAM,EAAGgE,YAI5B3K,IACD,MAAMyM,EAAIzM,EAAE,GACN4J,EAAI5J,EAAE,IAAMA,EAAE,GAAG,GACjBgF,EAAI4E,GAAK5J,EAAE,GAAG,IAAMA,EAAE,GAAG,GAAG,GAC5B4M,EAAK5H,GAAKhF,EAAE,GAAG,GAAG,IAAMA,EAAE,GAAG,GAAG,GAAG,GACnCQ,EAA2C,EAAEiM,GAInD,OAHI7C,IAAGpJ,EAAI,IAAMoJ,GACb5E,IAAGxE,EAAI,IAAMwE,GACb4H,IAAIpM,EAAI,IAAMoM,GACXpM,CAAG,IAEZkC,EAAIuF,EAAK,QAAS,aAAa,IAAM,CAAC,EAAG,EAAG,EAAG,KAC/CvF,EAAIuF,EAAK,OAAQ,QAAQ,IAAM,CAAC,GAAI,EAAG,EAAG,KAC1CvF,EAAIuF,EAAK,QAAQ,IAAM,CAAC,GAAI,GAAI,GAAI,QAGzBwH,GAAYV,EAAWtG,EAAgD/F,EAAIc,GAAIgM,GAAWlH,EAAI9E,GAAIuI,GAAIwD,OAAa,EAAEG,EAAIC,MAChIA,GAAGD,EAAG5O,KAAK6O,EAAE,IACVD,KACLH,IAAW,CAAEjM,MAAM,EAAMD,YAAY,EAAMW,kBAAkB,IAE3D4L,GAAUtH,EAAI9E,GAAIuI,GAAIrG,EAAI,OAC1BmK,GAAUpH,EAAa,OAC3B/F,EAAIc,GAAI8E,EAAIL,EAAK,OAAQ,OAAQ,SAAUqF,GAAKrF,EAAK,OAAQ,QAAS,QAASK,EAAIiH,IAAWK,KAAU,EAAEE,GAAKzK,EAAG0K,EAAI9G,MACpH,MAAM+G,EAAoB,CAAE3K,EAAY,MAATA,EAAE,GAAa,IAAe,MAATA,EAAE,GAAa,IAAM,IAAKyK,EAAS,SAANA,GAAgB,EAAU,SAANA,EAAe,EAAI,EAAG7G,EAAGA,EAAI,OAAIzJ,GAEtI,OADU,MAANuQ,IAAYC,EAAIL,EAAII,GACjBC,CAAG,IAEZtN,EAAIc,GAAIyE,EAAK,OAAQ,QAAS,QAASzE,GAAI8J,GAAKrF,EAAK,MAAOqF,GAAKrF,EAAK,SAAUK,EAAIiH,IAAWK,KAAU,EAAEvK,GAAK0K,EAAI9G,MAClH,MAAM+G,EAAqB,CAAE3K,EAAY,MAATA,EAAE,GAAa,IAAe,MAATA,EAAE,GAAa,IAAM,IAAKyK,EAAG,EAAGnM,EAAG,EAAGsF,EAAGA,EAAI,OAAIzJ,GAEtG,OADU,MAANuQ,IAAYC,EAAIL,EAAII,GACjBC,CAAG,IAEZtN,EAAIc,GAAIyE,EAAK,YAAa,QAAS,YAAaQ,EAASqB,GAAQiC,GAAI9D,EAAK,MAAO8D,IAAKuB,IAAMkC,GAAWzD,GAAIzD,EAAIiH,MAAYvP,IACzH,MAAMQ,EAAe,CAAE6E,EAAG,IAAKyK,EAAY,cAAT9P,EAAE,IAAsB,EAAa,UAATA,EAAE,GAAiB,EAAI,EAAG6B,EAAG7B,EAAE,IAE7F,OADY,MAARA,EAAE,KAAYQ,EAAIqB,EAAE,GAAK7B,EAAE,IACxBQ,CAAG,IAEZkC,EAAIc,GAAIyE,EAAK,YAAa,QAAS,WAAY,OAAQK,EAAIiH,IAAWK,KAAU,EAAE5P,EAAG+P,EAAI9G,MACvF,MAAM+G,EAAsB,QAANhQ,EAAc,CAAEqF,EAAG,IAAKyK,EAAG,GAAM,CAAEzK,EAAG,IAAKyK,EAAS,cAAN9P,GAAqB,EAAU,UAANA,EAAgB,EAAI,EAAGiJ,EAAGA,EAAI,OAAIzJ,GAE/H,OADU,MAANuQ,IAAYC,EAAIL,EAAII,GACjBC,CAAG,IAEZtN,EAAIc,GAAIyE,EAAK,MAAOqF,GAAK+B,KAAWrP,GAAsB,iBAATA,EAAE,IAAmB2M,GAAa3M,EAAE,IAAM,CAAEqF,EAAG,IAAKyK,EAAGjD,GAAiB7M,EAAE,KAAQ,CAAEqF,EAAG,IAAKyK,EAAG9P,EAAE,GAAG2D,KACrJjB,EAAIc,GAAI6L,GAAU/B,GAAK7E,EAAkB,uBAAwBR,EAAK,OAAQzE,GAAIyE,EAAK,QAASqF,GAAKrF,EAAK,SAAUK,EAAIiH,MAAY,EAAED,GAAQJ,EAAKa,MACjJ,IAAIC,EAOJ,OALEA,EADkB,iBAATV,GAAqB3C,GAAa2C,GACrC,CAAEjK,EAAG,IAAKyK,EAAGjD,GAAiByC,IAAiB,QAARJ,GAAiB,EAAI,IAE5D,CAAE7J,EAAG,IAAKyK,EAAGR,EAAK3L,EAAGA,EAAW,QAARuL,GAAiB,OAAI1P,GAE3C,MAANuQ,IAAYC,EAAIL,EAAII,GACjBC,CAAG,KAId,SAASC,GAA0BrC,EAAUsC,EAAenC,GAC1D,OAAa,MAATA,IACJH,EAAMsC,GAASnC,GADWH,CAG5B,CACO,MAAMuC,GAAkCzN,EAAIc,GACjDmD,EAAM,EAAGgE,IACTrC,EAAI9E,GAAImD,EAAM,EAAG,MAAOM,EAAM0D,IAC5BrC,EAAI9E,GAAImD,EAAM,EAAG,MAAOM,EAAM0D,QAEhCrC,EAAI9E,GACFiF,EAAIqB,GAAQwD,GAAKrF,EAAK,MAAOqF,IAAMrF,EAAK,KAAMqF,IAAMkC,KAEtDlH,EAAIiH,IACJK,KACC5P,IACD,MAAMuM,EAAIvM,EAAE,GACN4J,EAAI5J,EAAE,IAAMA,EAAE,GAAG,GACjB2D,EAAIiG,GAAK5J,EAAE,GAAG,IAAMA,EAAE,GAAG,GAAG,GAC5BoQ,EAAOpQ,EAAE,IAAMA,EAAE,GAAG,GACpB+P,EAAK/P,EAAE,GACPiJ,EAAIjJ,EAAE,GAAK,OAAIR,EACrB,GAAKoK,EACA,IAAKjG,EACL,IAAKyM,EACL,CACH,MAAM5P,EAAsB,CAAE6E,EAAG,EAAEkH,GAAI3C,EAAI,GAAIjG,GAAIsF,KACnD,IAAK,IAAIhI,EAAI,EAAGA,EAAImP,EAAKvP,OAAQI,IAChB,MAAXmP,EAAKnP,KAAYT,EAAI6E,EAAEpE,EAAI,GAAKmP,EAAKnP,IAG3C,OADU,MAAN8O,IAAYvP,EAAI6E,EAAE,GAAK0K,GACpBvP,EAPO,MAAO,CAAE6E,EAAG4K,GAAS,EAAE1D,GAAI3C,EAAI,GAAIjG,GAAI,EAAGoM,GAAK9G,KADlD,MAAO,CAAE5D,EAAG4K,GAAS,EAAE1D,GAAI3C,EAAI,GAAI,EAAGmG,GAAK9G,KADhD,MAAO,CAAE5D,EAAG4K,GAAS,EAAE1D,GAAI,EAAGwD,GAAK9G,QAahCoH,GAAOvG,GAAQpE,EAAI,KAAM+C,EAA2B,OAAQ0H,GAAWN,GAASR,IAAW3J,EAAI,KAAM,CAAE/E,SAAS,EAAMrB,KAAM,SAE5HgR,GAAU5N,EAAIc,GAAIkC,EAAI,MAAOqG,GAAIwE,KAAUxE,GAAIrG,EAAI,OAAO,IAAM1F,OAAUA,IAAGgF,EAAG,KAAe,CAAE1F,KAAM,UAAWqB,SAAS,IAE3H6P,GAAYzB,EAAWrM,EAAIc,GAAI8E,EAAI5C,EAAI,MAAO+C,EAA2B,OAAQ0H,GAAWN,GAASR,IAAW/G,EAAI5C,EAAI,QAAQ,GAAI/B,KAAQA,IAAI,CAAEL,MAAM,EAAMD,YAAY,EAAMW,kBAAkB,IAElMyM,GAAShI,EAAW,CAAE9H,SAAS,EAAMrB,KAAM,UACtDoD,EAAIc,GAAIkC,EAAI,KAAMkC,EAAQqF,IAAQ,KAAQjN,KAAQA,EAAGA,EAAE,OACvD0C,EAAIoH,GAAQpE,EAAI,KAAMyD,GAAIV,EAAY,cACpCb,EAAQ,OAAQuD,GAAeG,GAAgBI,KAC7ChG,EAAI,OAAOhC,KAAQ1D,EAAG,GAAGkF,UAAUxB,OACvChB,EAAIoH,GAAQpE,EAAI,KAAMyD,GAAIV,EAAI,cAC5B/F,EAAIkF,EAAQ,SAAU,IAAO5H,KAAQA,QACrC0C,EAAIgD,EAAI,MAAO,OAAO,MAAS1F,EAAG,QAClC8J,GAAQpE,EAAI,KAAM,KAAMqI,GAAOrI,EAAI,KAAM,CAAE/E,SAAS,EAAMrB,KAAM,yBAChEoD,EAAIgD,EAAI,IAAK,MAAM1F,KAAQA,QAC3B0C,EAAI4I,IAAgBtL,KAAQA,QAC5B0C,EAAIgJ,IAAY1L,KAAQA,QACxB0C,EAAIyI,IAAenL,KAAQA,UACzB0F,EAAI,MAAO0J,IACf1M,EAAIoH,GAAQpE,EAAI,KAAMyD,GAAIV,EAAI,cAC5B/F,EAAIkF,EAAQ,SAAS,IAAO5H,KAAQA,QACpC0C,EAAIgD,EAAI,MAAO,OAAO,MAAS1F,EAAG,QAClC8J,GAAQpE,EAAI,MAAOqI,GAAOrI,EAAI,KAAM,CAAE/E,SAAS,EAAMrB,KAAM,yBAC3DoD,EAAIgD,EAAI,IAAK,MAAM1F,KAAQA,QAC3B0C,EAAI4I,IAAgBtL,KAAQA,QAC5B0C,EAAIgJ,IAAY1L,KAAQA,QACxB0C,EAAIyI,IAAenL,KAAQA,UACzB0F,EAAI,MAAO0J,KAEJsB,GAAUhO,EAAI+F,EAAI,UAAW/F,EAAIuI,IAAMjL,GAAKA,GAAG,CAAEW,SAAS,EAAMrB,KAAM,WAAakO,GAAU6C,KAAOrQ,GAC3GA,aAAa2Q,MAAa,MAAL3Q,GAA0B,iBAANA,EAAuB,CAAEA,KAC1DA,IAGD4Q,GAAOlO,EAAIoH,GACtBW,GAAM/E,EAAI,KAAMqG,IAChBvI,GAAIkK,GAAS3B,GAAI4B,IACjBlD,GAAMsB,GAAIrG,EAAI,QACb,EAAEmC,GAAM8F,MACT,MAAMnN,EAAa,CAAEqH,MAGrB,OAFI8F,EAAK,IAAMA,EAAK,GAAG9M,SAAQL,EAAImN,KAAOA,EAAK,IAC3CA,EAAK,KAAInN,EAAIqQ,KAAOlD,EAAK,IACtBnN,CAAG,GACT,CAAEG,SAAS,EAAMrB,KAAM,iBAc1B,SAASwR,GAAcnO,GACrB,OAAOmH,GAAQtG,GAAIkC,EAAI,KAAMqG,IAAKpJ,EAAQa,GAAIuI,GAAIrG,EAAI,MACxD,CAEO,MAAMqL,GAAuB,GACvBC,GAAuB,GACvBC,GAAyB,GAEhCC,GAASjK,EAAM,yEACfkK,GAAUzO,EAAIc,GAAIlE,EAAK4R,GAAQ,MAAOJ,GAAWnD,MAAQ,EAAE9F,EAAI8F,MACnE,MAAMnN,EAAa,CAAEqH,MAGrB,OAFI8F,EAAK,IAAMA,EAAK,GAAG9M,SAAQL,EAAImN,KAAOA,EAAK,IAC3CA,EAAK,KAAInN,EAAIqQ,KAAOlD,EAAK,IACtBnN,CAAG,GACT,CAAEG,SAAS,EAAMrB,KAAM,SAEb8R,GA5Bb,SAAgBzO,GACd,OAAOD,EAAIc,GAAIb,EAAQwG,GAAI3F,GAAIkC,EAAI,KAAM+H,GAAOnF,EAAIG,EAClD/F,EAAIc,GAAIkC,EAAI,KAAMmE,GAAQkE,GAAOrI,EAAI,KAAM,WAAW,GAAIqI,KAAW,CAACA,OAAOvO,KAC7EsR,GAAWnD,OACR,CAAEhN,SAAS,EAAMrB,KAAM,gBAAiB,EAAEyO,EAAOsD,KAC/CA,GAAQA,EAAIxQ,OACVwQ,EAAItQ,QAAO,CAAC2C,EAAG9C,IAAMA,EAAE,GAC5B,CAAEiH,GAAI,MAAO8F,KAAM,CAACjK,EAAG,CAAE1D,EAAGY,EAAE,OAAUA,EAAE,GAAG,IAAM,IAAMiQ,KAAMjQ,EAAE,GAAG,IACpE,CAAEiH,GAAI,MAAO8F,KAAM,CAACjK,EAAG,CAAE1D,EAAGY,EAAE,OAASmN,GAHTA,GAI/B,SACL,CAkBsCuD,CAqFtC,SAAsB3O,GACpB,OAAOD,EAAIc,GAAIb,EAAQwG,GAAIV,EAAkB,UAAW6F,GAASE,OAAgB,EAAExO,EAAG2O,KAChFA,EAAE9N,OAAe,CAAEgH,GAAI,MAAO8F,KAAM,CAAC3N,EAAG,CAAEA,EAAG,CAAE2O,QACvC3O,GACX,kBACL,CA1F6CuR,CAAa9I,EAAI,UAAWqI,GAAW7C,IAAc6C,GAAWE,IAAQF,GAAWG,IAAUlI,EAAO+H,GAAWC,KAAQ/Q,GAAK,OAAQA,GAAK,0BAA0B4Q,GAAM5C,MACzMwD,GAAO9O,EAAIc,GAAIkC,EAAI,OAAQ,KAAM0L,KAAU,EAAEvJ,EAAI4J,OAAY5J,GAAW,MAAPA,EAAaA,EAAK,MAAO8F,KAAM,CAAC8D,MAAS,YAEvH,SAASC,GAAUC,IAAgB9J,GAAMmC,IACvC,MAAO,CAAEnC,KAAI8F,KAAM,CAACgE,EAAM3H,GAC5B,CAeO,MAAM4H,GAAUlP,EAAIc,GAAI4N,GAASjI,GAAI3F,GAAI8J,GAAKhO,EAAKoG,EAAI,MAAO,UAAW4H,GAAK8D,OAAY,EAAES,EAAMC,KAAUA,EAAKjR,OAbxH,SAAoB8Q,EAAaG,GAC/B,GAAoB,IAAhBA,EAAKjR,OAAc,MAAO,CAAEgH,GAAIiK,EAAK,GAAG,GAAInE,KAAM,CAACgE,EAAMG,EAAK,GAAG,KACrE,MAAM3R,EAAM2R,EAAKC,MACjB,IAAIlK,EAAKiK,EAAKA,EAAKjR,OAAS,GAAG,GAC/B,MAAMe,EAAQ,CAAEiG,GAAI1H,EAAI,GAAIwN,KAAM,CAACmE,EAAKC,MAAM,GAAI5R,EAAI,KAChD6J,EAAQ8H,EAAKE,UAAUjR,QAAO,CAAC2C,EAAG9C,KACtC,MAAMJ,EAAM,CAAEqH,KAAI8F,KAAM,CAAC/M,EAAE,GAAI8C,IAE/B,OADAmE,EAAKjH,EAAE,GACAJ,CAAG,GACToB,GACH,MAAO,CAAEiG,KAAI8F,KAAM,CAACgE,EAAM3H,GAC5B,CAEiIiI,CAAWJ,EAAMC,GAAQD,GAAM,UACnJK,GAAWxP,EAAIc,GAAIoO,GAASzI,GAAI3F,GAAI8J,GAAKhO,EAAKoG,EAAI,IAAK,KAAM,IAAK,KAAM,aAAc4H,GAAKsE,OAAY,EAAEC,EAAMC,KAAUA,EAAKjR,OAASiR,EAAK/Q,OAAO2Q,GAAWG,GAAQA,GAAM,aAC5KM,GAAWzP,EAAIc,GAAI0O,GAAU/I,GAAI3F,GAAI8J,GAAKhO,EAAKoG,EAAI,IAAK,KAAM,aAAc4H,GAAK4E,OAAa,EAAEL,EAAMC,KAAUA,EAAKjR,OAASiR,EAAK/Q,OAAO2Q,GAAWG,GAAQA,GAAM,aACnKO,GAAY1P,EAAIc,GAAI2O,GAAUhJ,GAAI3F,GAAI8J,GAAKhO,EAAKoG,EAAI,KAAM,IAAK,KAAM,IAAK,MAAO,KAAM,MAAO,KAAM,KAAM,OAAQ,QAAS,SAAU,WAAY,YAAa,WAAY,oBAAqB,UAAW4H,GAAK6E,OAAa,EAAEN,EAAMC,KAAUA,EAAKjR,OAASiR,EAAK/Q,OAAO2Q,GAAWG,GAAQA,GAAM,UACjSQ,GAAW3P,EAAIc,GAAI4O,GAAWjJ,GAAI3F,GAAI8J,GAAKhO,EAAKoG,EAAI,SAAU,KAAM,gBAAiB,YAAa,cAAe,UAAW,MAAO,KAAM,MAAO,MAAO,SAAU4H,GAAK8E,OAAc,EAAEP,EAAMC,KAAUA,EAAKjR,OAASiR,EAAK/Q,OAAO2Q,GAAWG,GAAQA,GAAM,SACzPS,GAAY5P,EAAIc,GAAI6O,GAAUlJ,GAAI3F,GAAI8J,GAAKhO,EAAKoG,EAAI,MAAO,MAAO,UAAW4H,GAAK+E,OAAa,EAAER,EAAMC,KAAUA,EAAKjR,OAASiR,EAAK/Q,OAAO2Q,GAAWG,GAAQA,GAAM,UACpKU,GAAW7P,EAAIc,GAAI8O,GAAWnJ,GAAI3F,GAAI8J,GAAKhO,EAAKoG,EAAI,KAAM,KAAM,MAAO,SAAU4H,GAAKgF,OAAc,EAAET,EAAMC,KAAUA,EAAKjR,OAASiR,EAAK/Q,OAAO2Q,GAAWG,GAAQA,GAAM,kBAuBtKW,GAAY3K,GAC1B,IAAKA,EAAG8F,OAAS9F,EAAG8F,KAAK9M,OAAQ,OAAO,EACxC,IAAI4R,GAAQ,EACZ,IAAK,IAAIxR,EAAI,EAAGA,EAAI4G,EAAG8F,KAAK9M,OAAQI,IAAK,CACvC,MAAMwQ,EAAM5J,EAAG8F,KAAK1M,GAChB,MAAOwQ,IAAkB,MAAVA,EAAIxM,GAA+B,iBAAVwM,EAAIxM,GAAiC,MAAfwM,EAAIxM,EAAE0J,EAAE,KACxE8C,EAAIxM,EAAI,CAAE0J,EAAG,CAAC,QAAQzJ,QAASuM,EAAIxM,EAAU0J,GAAK,IAAIlP,MAAM,IAAKoF,EAAG,KACpE4N,GAAQ,GACC,MAAOhB,GAAwB,iBAAVA,EAAIxM,GAA8B,MAAZwM,EAAIxM,EAAEJ,GAA4B,SAAf4M,EAAIxM,EAAE0J,EAAE,GAC/E8D,GAAQ,EACC,OAAQhB,IAAKgB,EAAQA,GAASD,GAAYf,IAEvD,OAAOgB,CACT,CAnCA1B,GAAMpO,OAASD,EAAI6P,IAAUvS,GAAKA,GAAG,CAAEW,SAAS,EAAMrB,KAAM,iBAEtDqD,OAAS8F,EAAI,CAAE9H,SAAS,EAAMrB,KAAM,eACxCoD,EAAIc,GAAIkC,EAAI,MAAO4H,GAAKS,GAAOT,GAAKO,GAAO1E,GAAI3F,GAAIuI,GAAIrG,EAAI,UAAW,SAAU,QAAS,QAAS4H,GAAKS,GAAOT,GAAKO,KAASvF,EAAI9E,GAAIuI,GAAIrG,EAAI,QAAS4H,GAAKO,OAAU,IAAK6E,GAAQC,EAAQC,EAAOC,MAC9L,MAAMhL,EAAM,CAAEA,GAAI,KAAM8F,KAAM,CAAC+E,EAAOC,IACtC,IAAK,SAAWG,GAAOjF,KAAU+E,EAAO/K,EAAG8F,KAAK7M,KAAKgS,EAAMjF,GAE3D,OADIgF,GAAIhL,EAAG8F,KAAK7M,KAAK+R,EAAG,IACjBhL,CAAE,GACR,YACHnF,EAAIc,GAAIkC,EAAI,MAAO4H,GAAKS,GAAOT,GAAK5H,EAAI,QAAS4H,GAAKS,GAAO5E,GAAI3F,GAAI8J,GAAK9E,EAAI9C,EAAI,MAAO,OAAQA,EAAI,UAAW,SAAU,QAAS,QAAS4H,GAAKS,GAAOT,GAAK5H,EAAI,QAAS4H,GAAKS,KAASzF,EAAI9E,GAAI8J,GAAK5H,EAAI,QAAS4H,GAAKS,KAASzF,EAAI9E,GAAI8J,GAAK5H,EAAI,MAAO,UAAU,IAAKgN,KAAUK,EAAMH,EAAOC,MAC5R,MAAMhL,EAAK,CAAEA,GAAI,KAAM8F,KAAM,CAAC+E,EAAOK,IACrC,IAAK,UAAYD,KAAS9C,KAAQ4C,EAAO/K,EAAG8F,KAAK7M,KAAKgS,EAAM9C,GAE5D,OADI6C,GAAIhL,EAAG8F,KAAK7M,KAAK+R,EAAG,IACjBhL,CAAE,GACR,MACHnF,EAAIc,GAAIkC,EAAI,UAAW4H,GAAKS,GAAOT,GAAK5H,EAAI,QAAS4H,GAAKS,GAAOzF,EAAI9E,GAAI8J,GAAK5H,EAAI,QAAS4H,GAAKS,KAASzF,EAAI9E,GAAI8J,GAAK5H,EAAI,WAAW,IAAMoN,KAAYE,EAAKC,MAC1J,MAAMpL,EAAK,CAAEA,GAAI,SAAU8F,KAAM,CAACmF,EAAME,IAExC,OADIC,GAAMpL,EAAG8F,KAAK7M,KAAKmS,EAAK,IACrBpL,CAAE,KAmBN,MAAMqL,GAAczK,EACzB/F,EAAIc,GAAI8J,GAAK9E,EAAI9C,EAAI,MAAO,SAAUA,EAAI,QAAS4H,GAAKS,GAAOT,GAAK5H,EAAI,QAAS4H,GAAKS,KAAQ,MAAO+E,KAASE,KAAS,CAACF,EAAME,IAAM,eACpItQ,EAAIc,GAAI8J,GAAK9E,EAAI9C,EAAI,MAAO,SAAUA,EAAI,QAAS4H,GAAKS,KAAQ,MAAOiF,KAAS,MAACxT,EAAWwT,IAAM,eAClGtQ,EAAIc,GAAI8J,GAAK9E,EAAI9C,EAAI,MAAO,SAAUA,EAAI,QAAS4H,GAAKS,GAAOT,GAAKO,KAAQ,MAAOiF,GAAOE,KAAS,CAACF,EAAME,IAAM,kBAE1GrQ,OAAS8F,EACf/F,EAAIc,GAAIkC,EAAI,QAAS4H,GAAKS,GAAO5E,GAAI+J,IAAc5K,EAAI9E,GAAI8J,GAAK5H,EAAI,MAAO,YAAY,IAAKsK,EAAKmD,MAC/F,MAAMtL,EAAK,CAAEA,GAAI,OAAQ8F,KAAM,CAACqC,IAChC,IAAK,IAAI/O,EAAI,EAAGA,EAAIkS,EAAStS,OAAQI,IACnC,QAAuBzB,IAAnB2T,EAASlS,GAAG,GAAkB4G,EAAG8F,KAAK7M,KAAKqS,EAASlS,GAAG,QACtD,CACH,IAAIwQ,EAAa0B,EAASlS,GAAG,GACzB,OAAQwQ,GAAKe,GAAYf,GAC7B5J,EAAG8F,KAAK7M,KAAK2Q,GACb5J,EAAG8F,KAAK7M,KAAKqS,EAASlS,GAAG,IAG7B,OAAO4G,CAAE,GACR,SAUE,MAAMuL,GAAY3K,EAAW,aAAcuI,GAAOC,GAASF,IAE5D1E,GAA+B3J,EAAIc,GAAIiF,EAAI,MAAOgI,GAAQ/N,EAAI+K,IAAOzN,KAAQA,SAAQ+L,GAAIrG,EAAI,KAAMqG,GAAIgC,KAAQlM,GAAK,CAACA,EAAE,GAAIA,EAAE,KAAK,QAQxI,SAASwR,GAASjH,GAChB,OAAOA,EAAMkH,QAAOzO,KAAO,MAAOA,EAAE,IAAM,MAAOA,EAAE,MAAKhE,OACxD,CAAEgH,GAAI,SAAU8F,KAAMvB,EAAMrL,QAAO,CAAC2C,EAAG9C,KAAO8C,EAAE5C,KAAKF,EAAE,GAAIA,EAAE,IAAK8C,IAAI,KACtE,CAAE1D,EAAGoM,EAAMrL,QAAO,CAAC2C,EAAG9C,KAAO8C,EAAG9C,EAAE,GAAeZ,GAAMY,EAAE,GAAeZ,EAAG0D,IAAI,IACjF,CAVAkK,GAAMjL,OAASD,EAAIoH,GACjBW,GAAMsB,GAAIrG,EAAI,KAAMqG,IACpBzC,GAAOyE,GAAO9G,EAAM+F,YAAc,SAClCvC,GAAMsB,GAAIrG,EAAI,QACbiI,GAAQA,EAAK2F,QAAO5P,KAAO,MAAOA,KAAI7C,OAAS,CAAEgH,GAAI,QAAS8F,QAAS,CAAE3N,EAAG2N,EAAKjL,KAAIgB,GAAMA,EAAc1D,MAAM,CAAEW,SAAS,EAAMrB,KAAM,UAQzIwO,GAAOnL,OAASD,EAAIoH,GAClBW,GAAMsB,GAAIrG,EAAI,KAAMqG,IACpBzC,GAAO+C,GAAMpF,EAAM+F,YAAc,SACjCvC,GAAMsB,GAAIrG,EAAI,OACb2N,GAAU,CAAE1S,SAAS,EAAMrB,KAAM,WAEpCuO,GAAMlL,OAASD,EAAIoH,GACjBW,GAAMsB,GAAIrG,EAAI,KAAMqG,IACpBlC,GAAQkE,GAAO9G,EAAM+F,YAAc,SACnCvC,GAAMsB,GAAIrG,EAAI,QACbiI,KAAW9F,GAAI,QAAS8F,UAAS,CAAEhN,SAAS,EAAMrB,KAAM,UAE3DyO,GAAMpL,OAASmB,EAAOsJ,GAAQ,IAAKgG,KAEnC,MAAMG,GAAmC7Q,EAAIc,GAAIiK,GAAO/H,EAAI,KAAMqG,GAAIgC,KAAQ,EAAEY,IAAO3O,KAAO,CAAC,CAAEA,EAAG2O,GAAK3O,IAAI,aAC7GiO,GAAYtL,OAASD,EAAIc,GAAI8E,EAAIwB,GAAQW,GAAM/E,EAAI,KAAMqG,IAAKlC,GAAQqH,GAAQjK,EAAM+F,YAAc,SAAUtH,EAAI,OAAQqG,GAAIrG,EAAI,KAAM,OAAQqG,GAAIgC,KAAQ,EAAEyF,KAAazF,KAAYyF,EAAQ,CAAE9P,EAAGqK,EAAOxM,EAAGiS,GAAU,CAAE9P,EAAGqK,IAAU,CAAEpN,SAAS,EAAMrB,KAAM,gBAC5PqO,GAAKhL,OAASD,EAAI4G,GAAOb,EAA4B,WAAY8K,GAAUxF,IAAQ9G,EAAM+F,YAAc,UAAWW,IAChH,MAAO8F,EAAOC,GAAO/F,EAAK5M,QAAO,CAAC2C,EAAG9C,KAAQqJ,MAAMC,QAAQtJ,GAAK8C,EAAE,GAAG5C,KAAKF,GAAK8C,EAAE,GAAG5C,KAAKF,GAAK8C,IAAI,CAAC,GAAI,KACvG,OAAIgQ,EAAI7S,OAAe,CAAC4S,EAAOJ,GAASK,IACjC,CAACD,OAAOjU,EAAU,IAG3B,MAAMmU,GAASjR,EAAIc,GAAIkC,EAAI,OAAQ4H,GAAKhO,EAAKuP,GAAW,CAAEvP,KAAM,YAAaqB,SAAS,IAASoL,GAAIrG,EAAI,KAAMqG,GAAIgC,KAAQ,IAAMY,KAAS3O,OAAU6H,GAAI,MAAO8F,KAAM,CAAC,CAAE3N,EAAG2O,GAAK3O,MAAO,CAAEW,SAAS,EAAMrB,KAAM,QACtMsU,GAASlR,EAAIc,GAAIkC,EAAI,OAAQ4H,GAAKhO,EAAKmP,GAAS,CAAEnP,KAAM,YAAaqB,SAAS,IAASoL,GAAIrG,EAAI,KAAMqG,GAAIgC,KAAQ,IAAMY,KAAS3O,OAAU6H,GAAI,MAAO8F,KAAM,CAAC,CAAE3N,EAAG2O,GAAK3O,MAAO,CAAEW,SAAS,EAAMrB,KAAM,WACnMqD,OAAS8F,EAAI,aAAcmF,GAAOE,GAAQ4C,GAASJ,GAASG,GAAQxC,GAAauD,GAAML,GAASwC,GAAQC,GAAQ1E,GAAKrB,IAErH,MAAMgG,GAAa9E,EAAkBrM,EAAImH,GAAQkE,GAAO9G,EAAM+F,YAAc,UAAUW,GAAwB,IAAhBA,EAAK9M,OAAe8M,EAAK,GAAK,CAAE9F,GAAI,QAAS8F,OAAMkD,KAAM,CAAE7Q,EAAG,CAAE8T,SAAU,MAAS,uBAAwB,CAAExQ,MAAM,IAC3MyQ,GAAYhF,EAAWhB,GAAO,CAAEzK,MAAM,IACtCS,GAAQ8P,YAGLtD,KACd,MAAMyD,EAAuB,GACvBC,EAAa3L,EAAI9E,GAAIuI,GAAIlC,GAAQnH,EAAIc,GAAIlE,EAAKoG,EAAI,KAAM,CAAEpG,KAAM,YAAaqB,SAAS,IAASoL,GAAIkC,KAAc,IAAMvK,KAAOA,IAAI4J,GAAK,cACvIS,EAAQrL,EAAIc,GAAIkC,EAAI,WAAY,WAAY,YAAa,SAAU,MAAO,SAAU,SAAU,UAAW,QAAS8C,EAAIZ,EAAQsF,OAAW,EAAElI,OAAUgP,KAAMhP,KAAgB,CAAE1F,KAAM,OAAQqB,SAAS,IACpMuT,EAAU9G,GAAQ,IAAK1K,EAAIc,GAAIkC,EAAI,QAASqG,GAAIzM,EAAKmO,GAAO,CAAEnO,KAAM,OAAQqB,SAAS,IAASoL,GAAIrG,EAAI,KAAMqG,GAAIiI,IAAO,IAAM1U,KAAY0U,OAAa1U,OAAM0U,YAC5JG,EAAWzR,EAAImH,GAAQqK,EAASjN,EAAM,UAAW,UAAUmN,GAAQA,EAAKrT,QAAO,CAAC2C,EAAG9C,KAAOA,EAAEoT,KAAKK,KAAOzT,EAAEA,EAAG8C,EAAE9C,EAAEtB,MAAQsB,EAAEoT,KAAMtQ,IAAI,MACrIwL,EAAMxM,EAAIc,GAAIiK,GAAOnF,EAAI5C,EAAI,SAAS,EAAEwJ,EAAKoF,OAAYN,KAAMM,EAAM,QAAU,MAAOpF,SAAkB,CAAE5P,KAAM,OAAQqB,SAAS,IACjI4T,EAAM7R,EAAIc,GAAIlE,EAAKmO,GAAO,CAAEnO,KAAM,MAAOqB,SAAS,IAAS2H,EAAI5C,EAAI,MAAOqG,GAAIrG,EAAI,KAAMqG,GAAIiI,IAAO,EAAE1U,EAAMgJ,KAAW0L,MAC1H,MAAMxT,EAAawT,EAGnB,OAFAxT,EAAIlB,KAAOA,EACNgJ,IAAK9H,EAAIgU,UAAW,GAClBhU,CAAG,IAENkQ,EAAUjI,EACd,CAAEnJ,KAAM,UAAWqB,SAAS,GAC5B+B,EAAI+F,EAAmBkD,GAASV,KAAOjL,IAC9B,CAAEgU,KAAM,UAAWtD,QAAS1Q,MAErC0C,EAAIgD,EAAI,OAAQ,QAAS,OAAQ,cAAc1F,IACtC,CAAEgU,KAAM,UAAWtD,QAAe,SAAN1Q,GAA4B,UAANA,IAA8B,SAANA,EAAe,UAAOR,QAGrGiV,EAAO/R,EAAIc,GAAIkC,EAAI,OAAQqG,GAAIrG,EAAI,KAAMqG,GAAIiI,IAAO,MAAUA,KAC3DvP,OAAOC,OAAO,CAAEpF,KAAM,OAAS0U,KAElClG,EAAyBpL,EAAIc,GAAIkC,EAAI,KAAMqG,GAAIzC,GAAO8D,GAAQ,OAAQ3E,EAAI8L,EAAKE,IAAQxN,EAAM,WAAY,SAAU8E,GAAIrG,EAAI,KAAM4C,EAAI5C,EAAI,SAAS,IAAMgP,IAAUJ,GAAM5U,KAC5K,MAAMiV,EAAQD,EAAKpB,QAAO3E,GAAgB,QAAXA,EAAErP,OACjC,KAAIqV,EAAM9T,OAAS,GACd,CACH,MAAM4T,EAAOE,EAAM,GAEbX,EAAe,CAAEA,KAAMM,EAAM,WAAa,UAMhD,OAPAI,EAAOA,EAAKpB,QAAO3E,GAAgB,QAAXA,EAAErP,QAEjBuB,SAAQmT,EAAKY,OAASF,GAC3BD,WACKA,EAAKnV,KACZ0U,EAAKS,KAAOA,GAEPT,EAVatU,EAAK,4CAavBmV,EAAQnS,EAAIc,GAAIkC,EAAI,KAAMqG,GAAIzC,GAAO0K,EAAM/M,EAAM,YAAa,SAAU8E,GAAIrG,EAAI,KAAM4C,EAAI5C,EAAI,SAAS,IAAMoP,IAAWR,MACrH,CAAEN,KAAMM,EAAM,UAAY,QAASQ,YAEtCC,EAAcrS,EAAImH,GAAQrG,GAAIiF,EAAYsF,EAAOD,EAAQ+G,EAAOnE,EAASxB,GAAM+E,GAAazQ,GAAIuI,GAAIrG,EAAI,KAAMqG,IAAK,aAAaiJ,IACpI,MAAMF,EAAQE,EAAKtS,KAAI,EAAEb,EAAGjB,MACtBA,GAAKA,EAAE,IAAMA,EAAE,GAAGC,SAAQgB,EAAEoT,OAASrU,EAAE,IACpCiB,KAET,OAAqB,IAAjBiT,EAAMjU,OAAqBiU,EAAM,GACzB,CAAEd,KAAM,QAASc,MAAOA,EAAiB,IAEjDI,EAAczM,EAClB/F,EAAIc,GAAIkC,EAAI,UAAWqG,GAAIgJ,EAAahJ,GAAIrG,EAAI,OAAO,IAAMyP,GAAQzV,KACnE,GAAmB,UAAfyV,EAAMnB,KAAkB,MAAO,CAAEA,KAAM,UAAWc,MAAOK,EAAML,OAC9D,GAAmB,YAAfK,EAAMnB,KAAoBtU,EAAK,4CACnC,GAAmB,UAAfyV,EAAMnB,OAAqBmB,EAAMnB,KAAK/R,QAAQ,MAAOvC,EAAK,yCAC9D,IAAmB,QAAfyV,EAAMnB,KAGb,OADAmB,EAAMnB,MAAQ,KACPmB,EAHsBzV,EAAK,mCAMtCgD,EAAIc,GAAIkC,EAAI,KAAMqG,GAAIgJ,EAAahJ,GAAIrG,EAAI,OAAO,IAAMyP,KAAWA,IACnEJ,GAGFf,EAAKrR,OAASD,EAAIc,GAAI0R,EAAajB,IAAa,EAAED,EAAMiB,MAClDA,GAAUA,EAAO,IAAMA,EAAO,GAAGpU,SAAQmT,EAAKiB,OAASA,EAAO,IAC3DjB,KAGT,MAAMoB,EAAO1S,EAAIc,GAAI8E,EAAI6L,GAAWpI,GAAIiI,IAAO,EAAEI,GAAQJ,MACnDI,IAAMJ,EAAKI,KAAOA,GACfJ,KAGT,OAAOoB,CACT,CCpiBA,MAEMC,GAAS5M,EAAI/F,EAAIgD,EAAI,SAAS,IAAM,OAAOhD,EAAIc,GAAIkC,EAAI,MAAOiB,EAAM,KAAK,GAAI/F,KAAOA,KACpF0U,GAAO5S,EAAI2G,GAAKZ,EAAIb,EAHX,OAG2B,GAAOyN,YHwMvB1S,EAAmB6F,EAAkBlJ,GAC7D,IAAIiJ,EACAgN,EACJ,OAAOzQ,GACL,KAAOyD,EAAKzE,EAAOnB,GAAS4S,EAAKzR,EAAO0E,MACxC,SAAexD,EAAWH,EAAWiD,EAAmBlE,GACtD,MAAMtD,EAAOsD,GAAQ3D,EAAS4E,EAAGvF,GAC3BkB,EAAM+H,EAAGxE,MAAMiB,EAAGH,EAAGiD,EAAOxH,GAClC,IAAKE,EAAIK,OAAQ,OAAOL,EACxB,MAAMI,EAAIJ,EAAI,GAEd,OADY+U,EAAGxR,MAAMiB,EAAGpE,EAAGkH,GACnBjH,OAAenB,EAAKkB,EAAkB,EAAf3B,GAAoB,cAAc+F,EAAEvF,MAAMmB,EAAGJ,EAAI,MAAOlB,IAEjFgB,GAAMD,EAAUC,EAAMsD,EAAMpD,GACzBA,KAIf,CG1NyDgV,CAAO9P,EAAI,KAAMA,EAAI,SAAS+P,KAAWzV,EAAGyV,EAAKhT,KAAK,OAAQ,QAEvH,SAASiT,GAAUlC,GACjB,OAAO9Q,EAAIc,GAAIkC,EAAI,MAAOqG,GAAIrG,KAAO8N,GAAQlG,GAAKS,GAAOhC,GAAIrG,EAAI,QAAQ4O,GAAO,CAACA,EAAI,GAAIA,EAAI,KAAK,MACpG,CAMA,MAAMqB,GAAUrW,EAAKmL,GAAMjH,GAAIkC,EAAI,OAAQ8B,EAAO,KAAM9B,EAAI,QAAS,WAE/DqE,GAAyB,GAS/B,SAAS6L,GAAOpC,EAAiBzF,GAC/B,OAAIA,EAAcrL,EAAIgT,GAAUlC,IAAQ,EAAElU,EAAMyO,OAAczO,OAAMyO,YACxDrL,EAAIc,GAAIkC,EAAI,MAAOqG,GAAIrG,KAAO8N,GAAQzH,GAAIrG,EAAI,QAAQ,IAAMpG,OAAaA,UAAS,MAChG,CAEA,SAASuW,GAAW7H,GAClB,OAAOtL,EAAIsL,GAAQhO,GAAKA,EAAEa,OAAS,EAAI,CAAC,CAAEb,EAAG,KAAQA,GACvD,CAEA,MAAM8V,GAAWF,GAAO,CAAC,SACnBG,GAAaH,GAAO,CAAC,UAAW,SAAU,QAAS,SAAS,GAE5DI,GAAUtT,EAAIc,GAAIkS,GAAU,CAAC,SAAUG,GAAQ1M,GAAIV,EAAasN,GAAYD,GAAU/L,MAAY4L,KAAU,EAAEM,EAAKlM,OAAgBlC,GAAI,OAAQ8F,KAAM,CAACsI,EAAI,IAAI/Q,OAAOgR,GAAYC,GAAcpM,QAAe,CAAEpJ,SAAS,EAAMrB,KAAM,eACrO0R,GAAQtO,EAAIc,GAAIkS,GAAU,CAAC,OAAQG,GAAQ1M,GAAIV,EAAasN,GAAYD,GAAU/L,MAAY4L,KAAU,EAAEM,EAAKlM,OAAgBlC,GAAI,KAAM8F,KAAM,CAACsI,EAAI,IAAI/Q,OAAOiR,GAAcpM,OAAc,CAAEpJ,SAAS,EAAMrB,KAAM,aAClN8W,GAAU1T,EAAIc,GAAIkS,GAAU,CAAC,SAAUG,GAAQ1M,GAAIV,EAAaqN,GAAU/L,MAAY4L,KAAU,EAAEM,EAAKlM,OAAgBlC,GAAI,OAAQ8F,KAAM,CAACsI,EAAI,IAAI/Q,OAAOgR,GAAYC,GAAcpM,QAAe,CAAEpJ,SAAS,EAAMrB,KAAM,eACzN+W,GAAY3T,EAAIc,GAAIkS,GAAU,CAAC,WAAYG,GAAQ1M,GAAIY,KAAW4L,KAAU,EAAEM,EAAKlM,OAAgBlC,GAAI,SAAU8F,KAAM,CAACsI,EAAI,IAAI/Q,OAAOA,GAAO6E,OAAc,CAAEpJ,SAAS,EAAMrB,KAAM,iBACnL2R,GAAUvO,EAAIc,IA/BAgQ,GA+Be,CAAC,QA9B3B9Q,EAAIc,GAAIkC,EAAI,MAAOqG,GAAIrG,KAAO8N,IAAQlG,GAAKS,GAAOT,GAAK5H,EAAI,QAAS4H,GAAKS,GAAOrI,EAAI,QAAQ4O,GAAO,CAACA,EAAI,GAAIA,EAAI,GAAIA,EAAI,KAAK,QA8BxFuB,GAAQ1M,GAAIV,EAAamN,GAAO,CAAC,SAAS,GAAOE,GAAU/L,MAAY4L,KAAU,EAAEM,EAAKlM,MACpI,MAAMlC,EAAK,CAAEA,GAAI,OAAQ8F,KAAMsI,EAAIxW,MAAM,GAAGyF,OAAOiR,GAAcpM,KACjE,IAAK,IAAI9I,EAAI,EAAGA,EAAI4G,EAAG8F,KAAK9M,OAAQI,GAAK,EAAG,CAC1C,MAAMwQ,EAAM5J,EAAG8F,KAAK1M,GACD,iBAARwQ,GAAoB,OAAQA,GAAKe,GAAYf,GAE1D,OAAO5J,CAAE,GACR,CAAElH,SAAS,EAAMrB,KAAM,eAtC1B,IAAoBkU,GAwCpB,MAAM8C,GAAe5T,EAAIc,GAAIkC,EAAI,MAAOqG,GAAIgC,GAAOhC,GAAIrG,EAAI,QAAQ,IAAMqI,OAAclG,GAAI,SAAU8F,KAAM,CAACI,MAAW,CAAEpN,SAAS,EAAMrB,KAAM,iBAI9I,SAAS4W,GAAYnM,GAEnB,OADIA,EAAQlJ,SAAQkJ,EAAQ,GAAK,CAAErG,EAAGqG,EAAQ,KACvCA,CACT,CAEA,SAASoM,GAAcpM,GACrB,MAAMvJ,EAAe,GACrB,IAAImN,EAAO,GACP4I,GAAS,EAEb,IAAK,IAAItV,EAAI,EAAGA,EAAI8I,EAAQlJ,OAAQI,IAAK,CACvC,MAAML,EAAImJ,EAAQ9I,GACd,SAAUL,GACZ2V,GAAS,EACL5I,EAAK9M,OAAQL,EAAIM,KAAKoE,GAAOyI,IAC5BnN,EAAIM,KAAK,CAAEd,EAAG,KACfY,EAAEmN,OAAOvN,EAAIM,KAAKF,EAAEmN,OACxBJ,EAAO,IACFA,EAAK7M,KAAKF,GAOnB,OALI+M,EAAK9M,OAAQL,EAAIM,KAAKoE,GAAOyI,IACxB4I,GAAQ/V,EAAIM,KAAK,CAAEd,EAAG,KAE3BQ,EAAIK,OAAS,GAAGL,EAAIM,KAAK,CAAEd,EAAG,KAE3BQ,CACT,CAEA,SAAS0E,GAAO8I,GACd,OAAsB,IAAlBA,EAAOnN,OAAqBmN,EAAO,GAChC,CAAEnG,GAAI,IAAK8F,KAAMK,EAC1B,CAjCAjE,GAAQpH,OAAS8F,EAAW,CAAE9H,SAAS,EAAMrB,KAAM,WAAagW,GAAMU,GAAShF,GAAOoF,GAASnF,GAASoF,GAAWC,UAmCtGvS,GAAQgL,EAAWtG,EAAW/F,EAAI2G,GAAKU,KAAU4D,GAAQzI,GAAOyI,KAAQjL,EAAIqJ,IAAI,MAAS/L,EAAG,QAAS,CAAEsD,MAAM,aCnD1GkT,GAAUzI,GACxB,GAAI9D,MAAMC,QAAQ6D,GAAQ,MAAO,CAAEA,SACnC,GAAIA,GAA0B,iBAAVA,EAAoB,CACtC,IAAK,MAAMY,KAAKZ,EAAO,GAAU,WAANY,GAAwB,UAANA,EAAe,MAAO,CAAEZ,SACrE,OAAOA,EAET,MAAO,CAAEA,QACX,UAkGgB0I,GAAQrB,EAAesB,GACrC,IAAKA,EAAM,OAAOtB,EAAKrH,MACvB,MAAMlJ,EAAoB,iBAAT6R,EAAoB5H,GAAU4H,GAAQA,EAEvD,KAAI,UAAW7R,IACN,MAAOA,EAAG,CACjB,IAAIwJ,EAAQxJ,EAAE8J,EACd,MAAMD,EAAS7J,EAAEA,EACjB,IAAIwD,EAAM,EACNpE,EAAMmR,EACNtF,EAASsF,EAAKrH,MAElB,IAAK,IAAI9M,EAAI,EAAGA,EAAI4D,EAAE+J,EAAG3N,IAAKgD,IAAQA,EAAMA,EAAI1D,QAGhD,GAFAuP,EAAI7L,EAAMA,EAAI8J,WAAQvO,EAElBkP,GACF,GAAe,MAAXA,EAAgBoB,EAAIsF,EAAKA,KAAKuB,gBAC7B,GAAe,MAAXjI,EAAgBoB,EAAIsF,EAAKA,KAAKrH,WAClC,GAAe,MAAXW,EACPoB,EAAIsF,EAAKA,KAAKwB,QAAQvI,EAAMhG,MACxByH,GAAKzH,EAAMgG,EAAMxN,OAAS,GAAoB,UAAfwN,EAAMhG,KAAkByH,EAAIA,EAAE/B,YAC5D,GAAe,MAAXW,EAAgB,CACzB,MAAMmI,EAAQxI,EAAMhG,KACpB,GAAc,WAAVwO,GAAgC,aAAVA,EAAsB,CAC9C,MAAMtC,EAAgB,WAAVsC,EAAqBA,EAAQ,UACzC,KAAO5S,IACDA,EAAIsQ,IACRtQ,EAAMA,EAAI1D,OAER0D,IAAK6L,EAAI7L,EAAIsQ,SACZ,GAAc,UAAVsC,GAA+B,YAAVA,EAAqB,CACnD,MAAMtC,EAAgB,UAAVsC,EAAoB,SAAWA,EAC3C/G,EAAI7L,EAAIsQ,KAAStQ,EAAIsQ,GAAO,SACvB,GAAc,eAAVsC,GAAoC,YAAVA,EACnC/G,EAAIsF,EAAKA,KAAKyB,QACT,GAAc,UAAVA,EAAmB,CAC5B,KAAO5S,KAASA,EAAI6S,WAAaD,KAAS5S,EAAI6S,WAAW7S,EAAMA,EAAI1D,OACnEuP,EAAI7L,GAAOA,EAAI6S,QAAQD,GAEnB/G,GAAe,WAAV+G,QAAqCrX,IAAf6O,EAAMhG,IAAqC,UAAfgG,EAAMhG,IAAoByH,EAAE/B,QAAO+B,EAAIA,EAAE/B,OAC/F+B,GAAe,SAAV+G,IAAkB/G,EAAIsF,EAAKA,KAAK0B,QAAQzG,KAAO,IAAIM,YAG5D,CACL,MAAM/O,EAAQyM,EAAM,GACpB,GAAc,MAAVzM,EACEqC,EAAI6S,SAAW7S,EAAI6S,QAAQC,OAAMjH,EAAI7L,EAAI6S,QAAQC,MACrD1O,SACK,GAAqB,iBAAVzG,EAAoB,CACpC,IAAIoV,EAAO/S,EACX,KAAO+S,KAAUA,EAAKC,UAAYrV,KAASoV,EAAKC,UAAUD,EAAOA,EAAKzW,OAClEyW,GAAQpV,KAASoV,EAAKC,SACxBnH,EAAIkH,EAAKC,OAAOrV,GAChByG,MAKN,IAAK,IAAIpH,EAAIoH,EAAKpH,EAAIoN,EAAMxN,OAAQI,IAAK,CACvC,MAAMsN,EAAOF,EAAMpN,GACbjB,EAAoB,iBAATuO,EAAoBA,EAAO2I,GAAU9B,EAAM7G,GAG5D,GAFwDuB,EAApD7F,MAAMC,QAAQ4F,IAAmB,iBAAN9P,GAAkBA,EAAI,EAAO8P,EAAEA,EAAEjP,OAASb,GAChE8P,GAAKA,EAAE9P,GACZ8P,QAA+B,OAGrC,OAAOA,EAEX,UAEgBqH,GAAQ/B,EAAesB,EAAsB3I,EAAYqJ,GACvE,IAAKV,EAAM,OACX,MAAM7R,EAAoB,iBAAT6R,EAAqBU,EAAQpI,GAAa0H,GAAQ5H,GAAU4H,GAASA,EAEtF,KAAI,UAAW7R,IACN,MAAOA,EAAG,CACjB,IAAIwJ,EAAQxJ,EAAE8J,EACd,MAAMD,EAAS7J,EAAEA,EACjB,IAAIZ,EAAMmR,EACNtF,EAASsF,EAAKrH,MAElB,IAAK,IAAI9M,EAAI,EAAGA,EAAI4D,EAAE+J,EAAG3N,IAAKgD,IAAQA,EAAMA,EAAI1D,QAChDuP,EAAI7L,EAAMA,EAAI8J,WAAQvO,EAEtB,MAAMkV,EAAOrG,EAAM3L,KAAImC,GAAkB,iBAANA,EAAiBA,EAAIqS,GAAU9B,EAAMvQ,KAExE,GAAIuS,EACFtH,EAAIsF,EAAK6B,SAAW7B,EAAK6B,OAAS,SAC7B,GAAIvI,EAAQ,CACjB,GAAe,MAAXA,EACC,OADeoB,EAAIsF,EAAKA,KAAKrH,MAIpC,IAAKqJ,EAAO,CACV,MAAMxV,EAAQ8S,EAAK,GACnB,KAAOzQ,KACDA,EAAIgT,UAAUrV,KAASqC,EAAIgT,UAC/BhT,EAAMA,EAAI1D,OAER0D,IAAK6L,EAAI7L,EAAIgT,QAGnB,MAAMjW,EAAO0T,EAAK7T,OAAS,EAC3B,IAAK,IAAII,EAAI,EAAGA,EAAID,EAAMC,IAAK,CAC7B,GAAiB,iBAAN6O,GAA+B,mBAANA,IAAqBA,EAAG,OAC5D,MAAMyE,EAAMG,EAAKzT,GACXoW,EAAO3C,EAAKzT,EAAI,GAChBsT,KAAOzE,GAAgB,MAAVA,EAAEyE,KAAczE,EAAEyE,GAAuB,iBAAT8C,EAAoB,GAAK,IAC5EvH,EAAIA,EAAEyE,GAGR,GAAIzE,EAAG,CACL,MAAM5G,EAAM4G,EAAE4E,EAAK1T,IAEnB,OADA8O,EAAE4E,EAAK1T,IAAS+M,EACT7E,GAGb,UAIgBoO,GAASlC,EAAoDrH,GAC3E,IAAI9I,EACAgE,EAiBJ,OAhBIsO,GAAcnC,IAChBnQ,EAAI,IAAIuS,GACRvO,EAAImM,GACKqC,GAAUrC,IACnBnQ,EAAImQ,GACHnL,MAAMC,QAAQ6D,KAAW9E,EAAI8E,IACrBqH,GAAwB,iBAATA,GAAqB,YAAaA,GAAQqC,GAAUrC,EAAK1T,UACjFuD,EAAImQ,EAAK1T,SACRuI,MAAMC,QAAQ6D,KAAW9E,EAAI8E,IACrBwJ,GAAcxJ,IACvB9I,EAAI,IAAIuS,GAAKpC,GACbnM,EAAI8E,IAEJ9I,EAAI,IAAIuS,GACRvO,EAAImM,GAECsC,GAAUzS,EAAGgE,EACtB,UAIgB0O,GAASvC,EAA+CuC,GACtE,IAAI1S,EACApD,EAkBJ,MAjBoB,iBAATuT,GACTnQ,EAAI,IAAIuS,GACR3V,EAAIuT,GACKqC,GAAUrC,IACnBnQ,EAAImQ,EACJvT,EAAI8V,GAAY,IACPvC,GAAwB,iBAATA,GAAqB,YAAaA,GAAQqC,GAAUrC,EAAK1T,UACjFuD,EAAImQ,EAAK1T,QACTG,EAAI8V,GAAY,IACPvC,GAAwB,iBAATA,GACxBnQ,EAAI,IAAIuS,GAAKpC,GACbvT,EAAI8V,GAAY,KAEhB1S,EAAI,IAAIuS,GACR3V,EAAIuT,GAENnQ,EAAI2S,GAAO3S,EAAG,CAAEtC,OAAQkV,KACjBH,GAAUzS,EAAGpD,EACtB,UAQgBiW,GAAU7T,EAAc8J,EAAoBkJ,EAAeH,GACzE,GAAIiB,GAAchK,GAAQ,CACxB,MAAMnN,EAAIgX,GAAO3T,EAAK,CAAE8J,MAAOkJ,EAAO,GAAIH,UAASkB,MAAO/T,EAAIgT,SAC9D,IAAIzW,EACJ,GAAI,MAAOuN,EAAO,CAChB,MAAMrL,EAAMqL,EAAMxM,EAAER,QAAO,CAAC2C,EAAG9C,EAAGK,KAAOyC,EAAE9C,GAAKqW,EAAOhW,GAAIyC,IAAI,IAC/D9C,EAAEqW,OAASvU,EAGb,OADAlC,EAAM0W,GAAUtW,EAAGmN,EAAMrK,GAClBlD,EACF,CACL,MAAMR,EAAI0X,GAAUE,GAAO3T,EAAK,CAAE8J,MAAOkJ,EAAO,GAAIH,UAASkB,MAAO/T,EAAIgT,SAAWlJ,GACnF,OAAIgK,GAAc/X,GAAW8X,GAAU7T,EAAKjE,EAAGiX,EAAQH,GAC3C9W,EAEhB,UAEgB0X,GAAUzT,EAAcgU,GAGtC,MAFoB,iBAATA,IAAmBA,EAAOhU,EAAImR,KAAK8C,MAAMD,KAAUhU,EAAImR,KAAK8C,MAAMD,IAAShU,EAAItB,QAAUoB,IAAOkU,KACvF,iBAATA,IAAmBA,EAAO,CAAEjY,EAAGiY,IACnCf,GAAUjT,EAAKgU,EACxB,UAEgBf,GAAUjT,EAAcgU,GACtC,OAAKA,EACD,MAAOA,EAAaxB,GAAQxS,EAAKgU,EAAKhT,GACjC,MAAOgT,EAAaA,EAAKjY,EACzB,OAAQiY,EA0JnB,SAAuB7C,EAAehC,GACpC,MAAMvL,EAAKsQ,GAAM/E,EAAUvL,IAG3B,IAAKA,EAAI,CACP,MAAMuQ,EAAQ3B,GAAQrB,EAAMhC,EAAUvL,KAAO4O,GAAQrB,EAAKA,KAAMhC,EAAUvL,IAC1E,GAAIkQ,GAAcK,GAChB,OAAON,GAAU1C,EAAMgD,GAAQhF,EAAUzF,MAAQ,IAAIjL,KAAIgB,GAAKgU,GAAUtC,EAAM1R,MACzE,GAAqB,SAAjB0P,EAAUvL,GAAe,CAClC,IAAKuL,EAAUzF,OAASyF,EAAUzF,KAAK9M,OAAQ,OAAO,EACtD,IAAIb,EAAI0X,GAAUtC,EAAMhC,EAAUzF,KAAK,IACvC,IAAK,IAAI1M,EAAI,EAAGA,EAAImS,EAAUzF,KAAK9M,OAAQI,IAAK,CAC9C,IAAIyC,EAAI0P,EAAUzF,KAAK1M,IACnBoX,GAAY3U,IAAQA,EAAEiK,MAASjK,EAAEiK,KAAK2K,MAAK5U,GAAK6U,GAAY7U,IAAM8U,GAAW9U,OAAMA,EAAIe,OAAOC,OAAO,GAAIhB,EAAG,CAAEiK,KAAM,CAAC,CAAE1I,EAAG,CAAE0J,EAAG,CAAC,QAAS9J,EAAG,OAAwBK,OAAOxB,EAAEiK,MAAQ,OAEnK3N,EAAlB+X,GAAcrU,GAAQoU,GAAU1C,EAAM1R,EAAG,CAAC1D,IACrC0X,GAAUE,GAAOxC,EAAM,CAAE0B,QAAS,CAAEC,KAAM/W,KAAQ0D,GAE7D,OAAO1D,EAET,OAAO,EAGT,IAAI2N,EACJ,GAAgB,YAAZ9F,EAAGmM,KAAoB,CACzBrG,EAAO,GACP,MAAM8K,EAAOrF,EAAUzF,MAAQ,GACzB1J,EAAM4D,EAAG+P,OAASA,GAAOxC,EAAM,IAAMA,EACrCvE,EAAOuC,EAAUvC,KAAO6G,GAAUzT,EAAKmP,EAAUvC,WAAQrR,EAC/D,IAAK,IAAIyB,EAAI,EAAGA,EAAIwX,EAAK5X,OAAQI,IAAK,CACpC,MAAMyC,EAAI+U,EAAKxX,GACTwQ,EAAMiG,GAAUzT,EAAKP,GACrBlD,EAAMqH,EAAG6Q,SAAStF,EAAUvL,GAAI5G,EAAGwX,EAAK5X,OAAS,EAAG4Q,EAAKZ,EAAM5M,EAAKP,GAC1E,GAAY,aAARlD,EAAoBmN,EAAK7M,KAAK2Q,QAC7B,GAAI,SAAUjR,EACjBS,GAAKT,EAAIiD,KACL,UAAWjD,GAAKmN,EAAK7M,KAAKN,EAAIuN,YAC7B,GAAI,WAAYvN,EAAK,OAAOA,EAAIE,OAGzC,OAAOmH,EAAGzG,MAAMgS,EAAUvL,GAAI8F,EAAMkD,EAAM5M,GACrC,GAAgB,UAAZ4D,EAAGmM,KAEZ,OADArG,GAAQyF,EAAUzF,MAAQ,IAAIjL,KAAIgB,GAAKgU,GAAUtC,EAAM1R,KAChDmE,EAAGzG,MAAMgS,EAAUvL,GAAI8F,EAAMyF,EAAUvC,KAAO6G,GAAUtC,EAAMhC,EAAUvC,WAAQrR,EAAW4V,GAC7F,CACL,IAAId,EACJ,MAAMrQ,EAAM4D,EAAG+P,OAASA,GAAOxC,EAAM,IAAMA,EACrCzH,GAAQyF,EAAUzF,MAAQ,IAAIlO,QAC9BoR,EAAOuC,EAAUvC,KAAO6G,GAAUzT,EAAKmP,EAAUvC,WAAQrR,EAC/D,IAAIiS,EACJ,IAAK5J,EAAGkG,QACN0D,EAAMiG,GAAUzT,EAAK0J,EAAK,IACtB1D,MAAMC,QAAQuH,IAChB9D,EAAKgL,QACLrE,EAAM7C,GACkB,iBAARA,GAAoB,UAAWA,GAAOxH,MAAMC,QAAQuH,EAAI1D,SACxEJ,EAAKgL,QACLrE,EAAM7C,EAAI1D,QAEPuG,GAAK,CACR,MAAMsE,EAAM1B,GAAUjT,EAAK,CAAEgB,EAAG,YACRqP,EAApBrK,MAAMC,QAAQ0O,GAAYA,EACN,iBAARA,GAAoB,UAAWA,GAAO3O,MAAMC,QAAQ0O,EAAI7K,OAAc6K,EAAI7K,MAC/E,GAGf,OAAOlG,EAAGzG,MAAMgS,EAAUvL,GAAIoC,MAAMC,QAAQoK,GAAOA,EAAM,GAAI3G,EAAMkD,EAAM5M,GAE7E,CA9NgC4U,CAAc5U,EAAKgU,GACxCF,GAAcE,IACda,GAAUb,IAASc,GAAWd,GADFA,OAChC,EALaA,CAMpB,CAEA,MAAME,GAAqC,YAC3Ba,MAAoBC,GAClC,IAAK,MAAMpR,KAAMoR,EACf,IAAK,MAAM3Z,KAAQuI,EAAG2L,MAAO2E,GAAM7Y,GAAQuI,CAE/C,UASgBqR,GAA2C5Z,GACzD,OAAO6Y,GAAM7Y,EACf,CAEA,MAAM6Z,GAAmB,CAACvY,EAAYmK,EAAgB/K,IAAW8X,GAAUlX,EAAGmK,EAAG,CAAC/K,aAClE6G,GAAKnF,EAAkB4S,EAAY8E,EAA2BC,GAC5E,IAAIC,EAEJ,GAAIrP,MAAMC,QAAQkP,GAChBE,EAAUF,OACL,GAAIrB,GAAcqB,GACvBE,EAAU,CAACF,QACN,GAAqB,iBAAVA,GAAsBA,GAAS,OAAQA,EACvDE,EAAU,CAACF,OACN,CACL,MAAMpU,EAAI0S,GAAUhW,EAAS0X,GACzBnP,MAAMC,QAAQlF,GAAIsU,EAAUtU,EACV,iBAANA,EAAgBsU,EAAU,CAAC,CAAEtZ,EAAGgF,IACtB,iBAAVoU,IAAoBE,EAAU,CAACF,IAGjD,GAAIE,EAAS,CACX,IAAIzG,EACJ,IAAK,IAAI5R,EAAI,EAAGA,EAAIqY,EAAQzY,OAAQI,IAAK,CACvC4R,EAAKyG,EAAQrY,GACb,MAAMsY,EA+LU,iBADIvZ,EA9LC6S,IA+LO,MAAO7S,EA/LR6S,EAAG7S,EAAI6S,EAChB,iBAAP0G,IACK,MAAVA,EAAG,GAAYD,EAAQrY,GAAK,CAAEsY,GAAIA,EAAG9Z,MAAM,GAAI4U,MAAM,GACpDiF,EAAQrY,GAAK,CAAEsY,GAAc,MAAVA,EAAG,GAAaA,EAAG9Z,MAAM,GAAK8Z,EAAIlF,MAAM,SA2L9CrU,EArLxB,GADAqZ,EAAWA,GAAYF,GACnBG,GAAWA,EAAQzY,OAAQ,CAC7B,MAAM2Y,EAAOF,EAAQ5W,KAAIsC,IACvB,GAAiB,iBAANA,GACL,OAAQA,EAAG,CACb,GAAI,SAAUA,EACZ,MAAsB,kBAAXA,EAAEqP,KAA2BrP,EAAEqP,KACnCqD,GAAUhW,EAASsD,EAAEqP,MACvB,GAAI,QAASrP,EAAG,CACrB,MAAMyU,EAAyB,iBAAVzU,EAAE0U,IAAmB1U,EAAE0U,IAAIvR,cAAgBnD,EAAE0U,IAC5DA,EAAgB,QAAVD,GAA6B,SAAVA,EAAmBA,EAAQ/B,GAAUhW,EAASsD,EAAE0U,KAE/E,GAAY,UADe,iBAARA,EAAmBA,EAAIvR,cAAgBuR,GACtC,OAAO,GAKjC,OAAO,CAAK,IAGdpF,EAAIzN,MAAK,CAACnD,EAAGqH,KACX,IAAK,IAAI9J,EAAI,EAAGA,EAAIqY,EAAQzY,OAAQI,IAAK,CACvC,MAAM+D,EAAIsU,EAAQrY,GACZoT,EAAOmF,EAAKvY,GACZsY,EAA+B,iBAANvU,EAAiBA,EAAIA,GAAMA,EAAUuU,GAAMvU,EAAUuU,GAAKvU,EACnF7D,EAAIkY,EAAS3X,EAAS6X,EAAI7V,GAC1BuB,EAAIoU,EAAS3X,EAAS6X,EAAIxO,GAC1B4O,EAAW,MAALxY,GAAkB,MAAL8D,GAAa,EAC7B,MAAL9D,GAAkB,MAAL8D,EAAY,EACxB9D,EAAI8D,GAAQA,EAAI9D,EAAK,EACtBA,EAAI8D,GAAK,EACT9D,EAAI8D,EAAI,EACR,EACJ,GAAI0U,EAAK,OAAQtF,GAAQ,EAAI,GAAKsF,EAEpC,OAAO,CAAC,IAIZ,OAAOrF,CACT,UAIgBhB,GAAOsG,EAAmBtG,EAAsB8F,EAA4BS,EAAyCnY,GACnI,MAAMoY,EAAM7P,MAAMC,QAAQ0P,GAAM,CAAE7L,MAAO6L,GAAOA,EAChD,IAAKE,IAAQ7P,MAAMC,QAAQ4P,EAAI/L,OAAQ,OAAO+L,EAC9C,IAAIC,EAEyBA,EADxBrY,EACI+V,GAAU/V,GAAqBkW,GAAOlW,EAAS,CAAEoV,QAAS,CAAE5U,OAAQ4X,EAAI/L,SACjE,IAAIyJ,GAAK9V,GAFA,IAAI8V,GAAKsC,EAAI/L,MAAO,CAAE+I,QAAS,CAAE5U,OAAQ4X,KAGlE,MAAM9L,EAASsF,EAAS,GAAKwG,EAAI/L,MAAMtO,QAEvC,GAAI6T,EAAQ,CACV,IAAI0G,EAA+B,iBAAX1G,EAAsBvP,GAAMuP,GAAUA,EAC1D,MAAO0G,IAAKA,EAAM,CAAEha,GAAG,IAC3B8Z,EAAI/L,MAAMkM,SAAQ,CAACC,EAAKhK,KAChB4H,GAAUF,GAAOmC,EAAU,CAAEhM,MAAOmM,EAAKpD,QAAS,CAAE/I,MAAOmM,EAAKhK,WAAY8J,EAAK,CAACE,EAAKhK,KAASlC,EAAOlN,KAAKoZ,EAAI,IAQ1H,OAJId,GAAOvS,GAAKkT,EAAU/L,EAAQoL,GAE9BS,IAAW5P,MAAMC,QAAQ2P,KAASA,EAAS,CAACA,IAE5C5P,MAAMC,QAAQ2P,IAAWA,EAAOhZ,OAC3B,CAAEkN,MAAO,CAAEwC,OAAQuJ,EAAIvJ,OAAQ4J,QAASN,EAAOhZ,OAAQuZ,MAAO,EAAGrM,MAAOsM,GAAMrM,EAAQ6L,EAAQE,EAAU,GAAIO,IAAKtM,IAGtH/D,MAAMC,QAAQ0P,GAAY5L,EAClB,CAAEuC,OAAQuJ,EAAIvJ,OAAQxC,MAAOC,EAC3C,CAMA,SAASqM,GAAM/F,EAAYuF,EAA4B5V,EAAcmW,EAAgB,GACnF,MAAMG,EAAoB,GACpB/Z,EAAe,GACfga,EAAkB,GACxB,IAAK,MAAMvR,KAAKqL,EAAK,CACnB,MAAMmG,EAAI1C,GAAc8B,EAAO,IAAM,GAAG/B,GAAU7T,EAAK4V,EAAO,GAAI,CAAC5Q,MAAQ,GAAGyO,GAAUE,GAAO3T,EAAK,CAAE8J,MAAO9E,IAAM4Q,EAAO,MACrHU,EAAME,KACTD,EAAM1Z,KAAK2Z,GACXF,EAAME,GAAK,IAEbF,EAAME,GAAG3Z,KAAKmI,GAGhB,IAAK,MAAM0F,KAAK6L,EACdha,EAAIM,KAAK,CAAEuZ,MAAO1L,EAAGwL,QAASN,EAAOhZ,OAAS,EAAGkN,MAAO8L,EAAOhZ,OAAS,EAAIwZ,GAAME,EAAM5L,GAAIkL,EAAOpa,MAAM,GAAIwE,EAAKmW,EAAQ,GAAKG,EAAM5L,GAAI2L,IAAKC,EAAM5L,GAAIyL,UAG1J,OAAO5Z,CACT,CAEA,SAASgY,GAAWtJ,GAClB,MAAMwH,WAtWmBxH,GACzB,GAAqB,iBAAVA,EAAIjK,EAAgB,OAAOiK,EAAIjK,EAC1C,MAAMyR,EAAO5H,GAAUI,EAAIjK,GAC3B,MAAI,MAAOyR,EAAaA,EACZ,CAAE/H,EAAG,GACnB,CAiWe+L,CAAWxL,GACxB,MAAqB,MAAdwH,EAAK/H,EAAE,IAAyB,MAAX+H,EAAK7R,GAA2B,SAAd6R,EAAK/H,EAAE,EACvD,UAsFgB4J,GAAYvY,GAC1B,MAAoB,iBAANA,GAAkB,MAAOA,CACzC,UAEgBqY,GAAYrY,GAC1B,MAAoB,iBAANA,GAAkC,iBAATA,EAAE6H,EAC3C,UAMgBkQ,GAAc/X,GAC5B,GAAiB,iBAANA,KAAoB,MAAOA,IAAqB,iBAARA,EAAE0D,EAAgB,OAAO,EAC5E,MAAMtB,EAAMqC,OAAOiQ,KAAK1U,GAAGa,OAC3B,OAAe,IAARuB,GAAqB,IAARA,GAAa,MAAOpC,CAC1C,UAiFgBuX,GAAczH,GAC5B,MAAoB,iBAANA,GAAkB6K,GAAQ7K,EAC1C,UAEgB6K,GAAQ7K,GACtB,MAAoB,iBAANA,GAAkBA,IAC7B,MAAOA,GAAoB,iBAARA,EAAE7K,GACrB,OAAQ6K,GAAqB,iBAATA,EAAEjI,IACtB,MAAOiI,GACPiI,GAAcjI,GAEnB,UAiBgB2H,GAAUzX,GACxB,MAAoB,iBAANA,GAAoC,iBAAXA,EAAE0W,MAAsC,iBAAV1W,EAAEoV,MAAoB,UAAWpV,IAA0B,iBAAbA,EAAEO,QAAuBP,EAAEoV,OAASpV,EACzJ,OAkBawX,GAWXoD,YAAYxF,EAAY,GAAIvE,GAT5BgK,UAAoBA,KACpBA,gBAA2B,GAC3BA,aAAqB,GACrBA,aAAwB,GAExBA,WAAQ,GAERA,UAAW,GAGTA,KAAK9M,MAAQqH,EACTvE,IACFpM,OAAOC,OAAOmW,KAAKlE,WAAY9F,EAAK8F,YACpClS,OAAOC,OAAOmW,KAAK/D,QAASjG,EAAKiG,SAC7BjG,EAAKlO,SAAQkY,KAAKlY,OAASkO,EAAKlO,mBAuB1BiV,GAAOlW,EAAkBmP,GACvC,MAAO,CACLtQ,OAAQsQ,EAAKmH,KAAQtW,EAAQnB,QAAUmB,EAAQ0T,KAAQ1T,EACvD0T,KAAM1T,EAAQ0T,KACdsB,KAAM7F,EAAK6F,MAAQ,GACnB3I,MAAO,UAAW8C,EAAOA,EAAK9C,MAAQrM,EAAQqM,MAC9C+I,QAASjG,EAAKmH,KAAOvT,OAAOC,OAAO,GAAIhD,EAAQoV,QAAS,CAAEC,UAAMvX,GAAaqR,EAAKiG,SAAYjG,EAAKiG,SAAW,GAC9GnU,OAAQkO,EAAKlO,OACbsU,OAAQpG,EAAKoG,OAEjB,CAEO,MAAM6D,GAAyI,GACzIC,GAA2E,YACxEC,GAAwB1b,EAAuB2b,EAAoEC,EAAmC,IAChKjR,MAAMC,QAAQ5K,GAAOA,EAAK2a,SAAQ1Y,GAAKuZ,GAAQvZ,GAAK,CAAEH,MAAO6Z,EAAQC,cACpEJ,GAAQxb,GAAQ,CAAE8B,MAAO6Z,EAAQC,WACxC,UAKgBC,GAAeC,GAC7B,GAAIA,aAAezK,KAAM,MAAO,CAACyK,EAAKA,GAEtC,IAAIC,EAAO,IAAI1K,KACX2K,EAAW,MAAOF,GAAOA,EAAIzX,EAAI,IAAIgN,UAASnR,EAClD6b,EAAKE,eAAeF,EAAKG,cAAeH,EAAKI,WAAYJ,EAAKK,WAC9DL,EAAKM,YAAY,EAAG,EAAG,EAAG,GAC1B,IAAI5L,EAAa,MAAOqL,GAAgB,MAATA,EAAIzL,EAAYyL,EAAIzL,EAAI,KAEvD,GAAc,MAAVyL,EAAI/V,EACNgW,EAAwB,iBAAVD,EAAItL,EAAiB,IAAIa,MAAM,IAAIA,KAASyK,EAAItL,GAAK8L,GAAgB,IAAIjL,KAAQ,CAAEhN,EAAGyX,EAAItL,GAAK,MAAOsL,EAAMA,EAAIzX,EAAI,GAClI2X,EAAKD,EACLtL,OAAKvQ,OACA,GAAc,MAAV4b,EAAI/V,GAGb,GAFAgW,EAAKQ,WAAWR,EAAKS,aAAeV,EAAItL,GACnCwL,IAAIA,EAAK,IAAI3K,KAAK0K,IACnB,MAAOD,EAAK,CACd,MAAMvZ,EAAIuZ,EAAIvZ,EACdwZ,EAAKM,YAAY9Z,EAAE,GAAIA,EAAE,IAAM,EAAGA,EAAE,IAAM,EAAGA,EAAE,IAAM,GACrDyZ,EAAGK,YAAY9Z,EAAE,GAAY,MAARA,EAAE,GAAa,GAAKA,EAAE,GAAY,MAARA,EAAE,GAAa,GAAKA,EAAE,GAAY,MAARA,EAAE,GAAa,IAAMA,EAAE,IACpF,MAARA,EAAE,KAAYkO,EAAKlO,EAAE,UAEtB,GAAc,MAAVuZ,EAAI/V,EACbgW,EAAKQ,WAAWR,EAAKS,cAAgBT,EAAKU,cAA0B,IAAXX,EAAItL,EAAW,EAAc,IAAVsL,EAAItL,GAAW,EAAI,KAC1FwL,IACHA,EAAK,IAAI3K,KAAK0K,GACdC,EAAGU,QAAQX,EAAKS,aAAe,IAE7B,MAAOV,GAAgB,MAATA,EAAIzL,IAAWI,EAAKqL,EAAIzL,QACrC,GAAc,MAAVyL,EAAI/V,EACbgW,EAAKQ,WAAW,GAChBR,EAAKY,YAAYZ,EAAKa,cAAgBd,EAAItL,GACrCwL,IACHA,EAAK,IAAI3K,KAAK0K,GACdC,EAAGW,YAAYZ,EAAKa,cAAgB,GACpCZ,EAAGO,WAAW,SAEX,GAAc,MAAVT,EAAI/V,EACbgW,EAAKQ,WAAW,GAChBR,EAAKY,YAAY,GACjBZ,EAAKQ,WAAW,GACXP,IACHA,EAAK,IAAI3K,KAAK0K,GACdC,EAAGC,eAAeF,EAAKc,iBAAmB,GAC1Cb,EAAGO,WAAW,SAEX,GAAI5R,MAAMC,QAAQkR,EAAI/V,GAAI,CAC/B,MAAMrF,EAAIob,EAAI/V,EAAE5F,QAChB4b,EAAO,IAAI1K,KAAKA,KAAKyL,IAAIpc,EAAE,GAAIA,EAAE,IAAM,EAAGA,EAAE,IAAM,EAAGA,EAAE,IAAM,EAAGA,EAAE,IAAM,EAAGA,EAAE,IAAM,EAAGA,EAAE,IAAM,IAC9F,IAAK,IAAIiB,EAAI,EAAGA,EAAI,EAAGA,IACrB,GAAY,MAARjB,EAAEiB,GAAY,CAChBjB,EAAEiB,EAAI,KACN,MAGQ,MAARjB,EAAE,IAAYA,EAAE,KACpBsb,EAAK,IAAI3K,KAAKA,KAAKyL,IAAIpc,EAAE,GAAIA,EAAE,IAAM,EAAGA,EAAE,IAAM,EAAGA,EAAE,IAAM,EAAGA,EAAE,IAAM,EAAGA,EAAE,IAAM,EAAGA,EAAE,IAAM,IAC5Fsb,EAAGe,mBAAmBf,EAAGgB,qBAAuB,GACpC,MAARtc,EAAE,KAAY+P,EAAK/P,EAAE,IAK3B,GAFc,MAAVob,EAAI/V,GAAuB,MAAV+V,EAAI/V,GAAuB,MAAV+V,EAAI/V,GAAuB,MAAV+V,EAAI/V,GAAWiW,EAAGK,YAAY,GAAI,GAAI,GAAI,UAEtFnc,IAAPuQ,EACF,GAAU,MAANA,EACFsL,EAAKkB,cAAclB,EAAKmB,gBAAkBzM,GACtCsL,IAASC,GAAIA,EAAGiB,cAAcjB,EAAGkB,gBAAkBzM,OAClD,CACL,MAAM0M,EAASpB,EAAKqB,oBACpBrB,EAAKkB,cAAclB,EAAKmB,gBAAkBC,GACtCpB,IAASC,GAAIA,EAAGiB,cAAcjB,EAAGkB,gBAAkBC,GAI3D,MAAO,CAACpB,EAAMC,EAChB,UAEgBxC,GAAU9Y,GACxB,OAAOA,GAAkB,iBAANA,IAAoB,MAAOA,IAAMiK,MAAMC,QAAQlK,EAAEqF,IAAM,MAAOrF,IAAOA,aAAa2Q,KACvG,UAMgBgM,GAAcvB,GAC5B,MAAMwB,EAAQzB,GAAeC,GAC7B,MAAI,MAAOA,GAAgB,MAATA,EAAInS,EAAkB2T,EAAM,GAClCA,EAAM,EACpB,UAEgBC,GAAoBzB,GAClC,IAAKA,EAAK,OACV,IAZ+Bpb,EAYVob,IAXI,iBAANpb,GAAkB,MAAOA,GAAKiK,MAAMC,QAAQlK,EAAEqF,GAWtC,OAAO+V,MAZHpb,EAa/B,MAAM8c,EAAKH,GAAcvB,GACnBqB,EAASK,EAAGJ,oBACZ/M,EAAI,MAAOyL,GAAgB,MAATA,EAAIzL,EAAYyL,EAAIzL,EAAI,MAAOyL,GAAiB,MAAVA,EAAI/V,GAAa,MAAO+V,GAAmB,MAAZA,EAAIvZ,EAAE,GAAauZ,EAAIvZ,EAAE,GAAK,KAE3H,OADIuZ,aAAezK,MAAa,MAALhB,GAAWmN,EAAGC,WAAWD,EAAGE,cAAgBP,EAAS9M,IACzE,CACLtK,EAAG,CAACyX,EAAGtB,cAAesB,EAAGrB,WAAYqB,EAAGpB,UAAWoB,EAAGG,WAAYH,EAAGE,aAAcF,EAAGI,aAAcJ,EAAGK,kBAAwB,MAALxN,EAAYA,GAAK8M,GAE/I,UAEgB1D,GAAW/Y,GACzB,MAAoB,iBAANA,GAAgC,iBAANA,GAAkBiK,MAAMC,QAAQlK,EAAE2D,IAAOgJ,GAAa3M,EAChG,UAoIgB4b,GAAgBza,EAAS8D,EAAa2E,GACpD,GAAiB,iBAAN3E,EAAgB,OAAO,IAAI0L,MAAMxP,EAAI8D,EAAI2E,GAC/C,GAAI+C,GAAa1H,GAAI,OAAO,IAAI0L,MAAMxP,EAAI8D,EAAE2H,GAAKhD,GACjD,CACH,IAAIjG,EAAI,IAAIgN,KAAKxP,GAEjB,GADI8D,EAAEtB,EAAE,IAAIA,EAAEyZ,YAAYzZ,EAAE6X,cAAgBvW,EAAEtB,EAAE,GAAKiG,GACjD3E,EAAEtB,EAAE,GAAI,CACV,MAAM0Z,EAAK1Z,EAAE+X,UACb/X,EAAEqY,QAAQ,GACVrY,EAAE2Z,SAAS3Z,EAAE8X,WAAaxW,EAAEtB,EAAE,GAAKiG,GACnC,MAAM8C,EAAK/I,EAAE8X,WACb9X,EAAEqY,QAAQqB,GACN3Q,IAAO/I,EAAE8X,YAAY9X,EAAEqY,QAAQ,GAOrC,OALI/W,EAAEtB,EAAE,IAAIA,EAAEqY,QAAQrY,EAAE+X,UAAYzW,EAAEtB,EAAE,GAAKiG,GACzC3E,EAAEtB,EAAE,IAAIA,EAAE4Z,SAAS5Z,EAAEsZ,WAAahY,EAAEtB,EAAE,GAAKiG,GAC3C3E,EAAEtB,EAAE,IAAIA,EAAEoZ,WAAWpZ,EAAEqZ,aAAe/X,EAAEtB,EAAE,GAAKiG,GAC/C3E,EAAEtB,EAAE,IAAIA,EAAE6Z,WAAW7Z,EAAEuZ,aAAejY,EAAEtB,EAAE,GAAKiG,GAC/C3E,EAAEtB,EAAE,IAAIA,EAAE8Z,gBAAgB9Z,EAAEwZ,kBAAoBlY,EAAEtB,EAAE,GAAKiG,GACtDjG,EAEX,UCrgCgB+Z,GAAShc,EAAwBic,EAAYC,GACtDlc,EAAQmc,OAAOF,KAAKjc,EAAQmc,OAAOF,GAAMC,EAChD,UAEgB7a,GAAMrB,EAAwBoc,EAAsBle,EAAkB,yBAElF,OADA8d,GAAShc,EAAS,QAAS,sIACpB,CAAEqc,OAAQ,kCAAkCD,EAAUvR,UAAU3M,UAAiBoe,OAAQ,EACpG,UCpBgBC,GAAWje,GACzB,OAAOA,GAAkB,iBAANA,GAAkBuX,GAAcvX,EAAE2F,EACvD,UAEgBuY,GAA2Cle,EAAM0B,GAC/D,OAAKuc,GAAWje,GACPA,EAAE2F,EAAU2R,GAAS5V,EAAS1B,EAAE2F,QAApC,EADsB3F,CAE7B,UAIgB4X,GAAOlW,EAAwBmP,GAC7C,MAAO,CAAEsN,OAAQzc,EAAQyc,OAAQzc,QAAS0c,GAAc1c,EAAQA,QAASmP,GAAOgN,OAAQnc,EAAQmc,OAAQQ,SAAU3c,EAAQ2c,SAC5H,CAEA,MAAMC,GAAY,SACZC,GAAc,CAAE,IAAK,OAAQ,IAAK,OAAQ,IAAK,kBACrCC,GAAWC,GACzB,OAAQ,GAAKA,GAAMvT,QAAQoT,IAAW1U,GAAK2U,GAAY3U,IAAM,IAC/D,CAEA,MAAM8U,GAA0C,YAChCC,GAAqD3K,EAAc4K,EAAmIC,GACpNH,GAAU1K,GAA4B,mBAAb4K,EAA0B,CAAEE,OAAQF,GAAaA,EACtEC,GAASpa,OAAOC,OAAOga,GAAU1K,GAAO6K,EAC9C,CAGA,MAAME,GACE,IADFA,GAEG,IAFHA,GAGE,KAHFA,GAII,IAiCH,IAAIC,YA3BqB1J,EAAc2J,EAAevd,EAAwBwd,GACnF,MAAMC,EAAUD,GAAQhB,GAAcgB,EAAKC,OAAQzd,IAAa,OAC1D0d,EAAQF,GAAQhB,GAAcgB,EAAKE,KAAM1d,IAAa,IACtD2d,GAASH,GAAQhB,GAAcgB,EAAKI,OAAQ5d,KAA0B,SAAXyd,GAAqB,cAAcI,KAAKJ,GAAUJ,GACtG,WAAXI,GAAuB,oBAAoBI,KAAKJ,GAAUJ,GAC7C,SAAXI,GAAqB,wBAAwBI,KAAKJ,GAAUJ,GAC1DA,KAAgBK,EAAQ,GAG9B,OADc9J,EAAK1O,MAAM,UACZ7F,QAAO,CAAC2C,EAAG9C,KACtB,MAAO4e,EAAM7d,GAASf,EAAEgG,MAAM,OAAO7F,QAAO,CAAC2C,EAAG9C,KAC9C,MAAM6e,GAAQ7e,EAAEC,OAAS,GAAKwe,EAO9B,OANI3b,EAAE,GAAK+b,EAAOR,GAChBvb,EAAE,GAAK+b,EACP/b,EAAE,MAEFA,EAAE,IAAM+b,EAEH/b,CAAC,GACP,CAAC,EAAG,IACP,OAAOA,GAAM/B,GAAS6d,EAAO,EAAI,EAAI,IAAO,EAAE,GAC7C,GAAKJ,CACV,WAkCgBM,GAAalT,EAAW9K,EAAwBoc,EAAsB6B,GACpF,MAAMf,EAAWF,GAAUlS,EAAEwH,MAC7B,IAAK4K,GAAapS,EAAEoT,MAAQtI,GAAS8G,GAAc1c,EAAQA,QAAS,CAAEoV,QAAS,CAAE+I,OAAQrT,EAAGsR,eAAgBtR,EAAEoT,MAAQ,MAAO,CAAE7B,OAAQ,GAAIC,OAAQ,KAE7I,WAAYxR,IAAMoS,EAASkB,YAAWtT,EAAEwR,OAAS,QACvD,MAAMvR,EAAIsT,GAAoBvT,EAAGsR,EAAWpc,GAE5C,GAAIoc,EAAUkC,OAASC,MAAMxT,IAAMA,EAAIqR,EAAUkC,KAAM,OAAOjd,GAAMrB,EAASoc,GAE7E,GAAIA,EAAUoC,YAAczT,EAAIqR,EAAUoC,WAAY,MAAO,CAAEnC,OAAQ,GAAIoC,SAAU,CAAE1D,OAAQ,GAAK2D,QAAQ,GAE5G,IAAIC,EAAc,EAElB,GAAI7T,EAAE8T,OAAQ,CACZ,MAAM1W,EAAI2W,GAAa/T,EAAG9K,EAASoc,GACnCuC,GAAezW,EAAE,GAAKA,EAAE,GACpBkU,EAAUoC,aAAYpC,EAAUoC,YAActW,EAAE,GAAKA,EAAE,IAG7D,GAAI4C,EAAEgU,SAAW/T,EAAG,CAClB,MAAM1B,EAAI0V,GAAajU,EAAG9K,EAASoc,GACnCuC,GAAetV,EAAE,GAAKA,EAAE,GAG1B,MAAM9F,EAAI2Z,EAASE,OAAOtS,EAAG9K,EAASoc,EAAW6B,GACjD,MAAiB,iBAAN1a,EAAuB,CAAE8Y,OAAQ9Y,EAAG+Y,OAAQvR,EAAGwS,MAAOyB,GAAmBlU,EAAGsR,EAAWpc,IAE9Foc,EAAUkC,MAAQ/a,EAAE+Y,OAASF,EAAUkC,KAAajd,GAAMrB,EAASoc,GAEnEmC,MAAMxT,IAAMqR,EAAUoC,YAAcjb,EAAE+Y,OAASF,EAAUoC,WAAmB,CAAEnC,OAAQ,GAAIoC,SAAU,CAAE1D,OAAQ,GAAKuB,OAAQ/Y,EAAE+Y,OAAQoC,QAAQ,IAEjJnb,EAAE+Y,OAAS/Y,EAAE+Y,QAAU,EAEvB/Y,EAAE+Y,QAAUqC,EAELpb,EACT,CAEA,MAAM0b,GAA0N,YAEhNC,GAAethB,EAAcuhB,GAC3CF,GAAQrhB,GAAQuhB,CAClB,UA6HgBC,GAAStU,EAAWsR,EAAsBpc,GACxD,IAAIud,EAAQhB,GAAWzR,EAAEyS,OAAS3H,GAAS8G,GAAc1c,EAAQA,QAAS,CAAEoV,QAAS,CAAE+I,OAAQrT,EAAGsR,eAAetR,EAAEyS,MAAMtZ,GAAK6G,EAAEyS,MAChI,MAAMrV,EAAI4C,EAAE8T,QAAUC,GAAa/T,EAAG9K,EAASoc,GAC/C,IAAIiD,GAAM,EAYV,MAXc,SAAV9B,EAAkBA,EAAQnB,EAAUkD,YAAclD,EAAUmD,KACtDhC,GAAmB,IAAVA,EACO,iBAAVA,IAEdA,IAAWA,EAAMiC,QAAU,KAAQpD,EAAUmD,MAAQ,KAAKE,QAAQ,GAClEJ,GAAM,GAJwB9B,EAAQnB,EAAUmD,MAAQ,GAMrC,iBAAVhC,GAAiC,YAAVzS,EAAE4U,OAAsBL,GAAO9B,IAAUnB,EAAUkD,YAAyB,WAAVxU,EAAE4U,OAChGxX,EAAGqV,GAASrV,EAAE,GAAKA,EAAE,GAChB4C,EAAE0S,MAAQ1S,EAAE0S,KAAKlV,QAAOiV,GAASzS,EAAE0S,KAAKlV,QAE5CiV,CACT,UAEgByB,GAAmBlU,EAAWsR,EAAsBpc,GAClE,IAAIuD,EAAI6b,GAAStU,EAAGsR,EAAWpc,GAC/B,GAAI8K,EAAE8T,OAAQ,CACZ,MAAM1W,EAAI2W,GAAa/T,EAAG9K,EAASoc,GACnC7Y,GAAK2E,EAAE,GAAKA,EAAE,QACL4C,EAAE0S,MAAQ1S,EAAE0S,KAAKlV,QAC1B/E,GAAKuH,EAAE0S,KAAKlV,OAEd,OAAO/E,CACT,UAcgBoc,GAAU7U,EAAWsR,EAAsBpc,EAAwB4f,EAAmBC,GACpG,IAAItc,EAAI,EACJwH,EAAIwR,GAAWzR,EAAEwR,QAAU1G,GAAS8G,GAAc1c,EAAQA,QAAS,CAAEoV,QAAS,CAAE+I,OAAQrT,EAAGsR,YAAWwD,WAAUC,cAAe/U,EAAEwR,OAAOrY,GAAK6G,EAAEwR,OACnJ,MAAMpU,EAAI4C,EAAE8T,QAAUC,GAAa/T,EAAG9K,EAASoc,GACzC/S,EAAIyB,EAAEgU,QAAUC,GAAajU,EAAG9K,EAASoc,GAC/C,IAAIiD,GAAM,EAGV,GAFS,MAALtU,GAAa8U,IAAU9U,EAlB7B,SAAqBD,GACnB,IAAIjL,EAAIiL,EAAEwR,QAAU,EAEpB,GADIxR,EAAE0S,MAAQ1S,EAAE0S,KAAKE,KAAO7d,IAAGA,EAAIiL,EAAE0S,KAAKE,MACtC,SAAU5S,GAAKvC,MAAMC,QAAQsC,EAAE8I,MACjC,IAAK,IAAIrU,EAAI,EAAGA,EAAIuL,EAAE8I,KAAKzU,OAAQI,IAAK,CACtC,MAAMY,EAAI2K,EAAE8I,KAAKrU,GACA,iBAANY,GAAkB,SAAUA,GAAKA,EAAEqd,MAAQrd,EAAEqd,KAAKE,KAAO7d,IAAGA,EAAIM,EAAEqd,KAAKE,MAGtF,OAAO7d,CACT,CAQiCigB,CAAYhV,IAE1B,iBAANC,EAAgBxH,EAAIwH,OAC1B,GAAIA,GAAkB,iBAANA,GAAkB,YAAaA,GAAKA,EAAEyU,SAAWpD,EAAUkC,KAC9E/a,IAAM6Y,EAAUkC,MAAQvT,EAAEyU,QAAU,MAAMC,QAAQ,GAClDJ,GAAM,OACD,GAAU,SAANtU,EACTxH,EAAI6Y,EAAUoC,YAAc,OACvB,GAAU,SAANzT,GAA6B,iBAANA,GAAwB,MAALA,GAAwB,cAAXD,EAAEwH,MAA0BsN,IAAa7U,EACzG,OAAI1B,EAAUuW,EAAWvW,EAAE,GAAKA,EAAE,IAAM0W,IACjCH,GAAYG,IAOrB,MAJiB,iBAANxc,GAA6B,YAAVuH,EAAE4U,OAAsBL,GAAO9b,IAAM6Y,EAAUoC,YAAyB,WAAV1T,EAAE4U,MACxFxX,IAAG3E,GAAK2E,EAAE,GAAKA,EAAE,IAGhB3E,CACT,UAEgB8a,GAAoBvT,EAAWsR,EAAsBpc,EAAwB4f,EAAmBC,GAC9G,IAAI9U,EAAI4U,GAAU7U,EAAGsR,EAAWpc,EAAS4f,EAAUC,GACnD,GAAI/U,EAAE8T,OAAQ,CACZ,MAAM1W,EAAI2W,GAAa/T,EAAG9K,EAASoc,GACnCrR,GAAK7C,EAAE,GAAKA,EAAE,GAEhB,OAAO6C,CACT,CAEA,SAASiV,GAAWC,GAClB,OAAOA,EAAO5gB,QAAO,CAAC2C,EAAG9C,IAAM8C,EAAI9C,EAAE,GAAKA,EAAE,GAAK8C,EAAI9C,EAAE,GAAKA,EAAE,IAAI,EACpE,CAEA,SAASghB,GAAWD,GAClB,OAAOA,EAAO5gB,QAAO,CAAC2C,EAAG9C,IAAM8C,EAAI9C,EAAE,GAAKA,EAAE,GAAK8C,EAAI9C,EAAE,GAAKA,EAAE,IAAI,EACpE,UAEgB2f,GAAa/T,EAAiC9K,EAAwBoc,GACpF,GAAItR,EAAE8T,OAAQ,CACZ,MAAM1W,EAAIqU,GAAWzR,EAAE8T,QAAUhJ,GAAS8G,GAAc1c,EAAQA,QAAS,CAAEoV,QAAS,CAAE+I,OAAQrT,EAAGsR,eAAetR,EAAE8T,OAAO3a,GAAK6G,EAAE8T,OAChI,GAAIrW,MAAMC,QAAQN,GAAI,CACpB,GAAiB,IAAbA,EAAE/I,OAAc,OAAO+I,EAAElH,KAAIuG,IAAMA,IAClC,GAAiB,IAAbW,EAAE/I,OAAc,MAAO,EAAE+I,EAAE,IAAKA,EAAE,IAAKA,EAAE,IAAKA,EAAE,SACpD,GAAiB,iBAANA,EAAgB,MAAO,CAACA,EAAGA,EAAGA,EAAGA,GAGrD,MAAO,CAAC,EAAG,EAAG,EAAG,EACnB,UAEgB6W,GAAajU,EAAgD9K,EAAwBoc,GACnG,IAAI/S,EAAIyB,EAAEgU,OACNhgB,EAAwC,CAAC,EAAG,EAAG,EAAG,IACrC,iBAANuK,GAAmBA,IAAMd,MAAMC,QAAQa,IAAmB,iBAANA,IAAmB,MAAOA,GAAK,MAAOA,GAAK,OAAQA,MAAKA,EAAIuM,GAAS8G,GAAc1c,EAAQA,QAAS,CAAEoV,QAAS,CAAE+I,OAAQrT,EAAGsR,eAAgB/S,IAC1L,iBAANA,EAAgBvK,EAAM,CAAC,EAAG,EAAGuK,EAAG,GAClCd,MAAMC,QAAQa,GACJ,IAAbA,EAAElK,OAAcL,EAAM,CAACuK,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,IACzB,IAAbA,EAAElK,OAAcL,EAAM,CAACuK,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,IAC9B,IAAbA,EAAElK,OAAcL,EAAM,CAACuK,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,IAC3CA,EAAElK,QAAU,IAAGL,EAAM,CAACuK,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,KAC1CA,GAAkB,iBAANA,IAAgBvK,EAAM,CAACuK,EAAE8W,KAAO,EAAG9W,EAAEf,OAAS,EAAGe,EAAE+W,QAAU,EAAG/W,EAAE4G,MAAQ,IAEjG,IAAK,IAAI1Q,EAAI,EAAGA,EAAI,EAAGA,IAAKT,EAAIS,GAAc,MAATT,EAAIS,GACzC,OAAOT,CACT,UAEgBuhB,GAAYC,EAAexV,EAAWvI,EAAoB6Z,EAAsB6B,GAC9F,MAAMnf,EAAM8W,GAAS8G,GAAcna,EAAIvC,QAAS,CAAEoV,QAAS,CAAE+I,OAAQrT,EAAGsR,YAAW6B,WAAYqC,GAM/F,OAJIxhB,IAAQyJ,MAAMC,QAAQ1J,IAAuB,iBAARA,EACwBgM,EAA3D,YAAahM,GAAO,UAAWA,GAAO,eAAgBA,EAASiE,OAAOC,OAAO,GAAI8H,EAAGhM,EAAIyhB,MAAOzhB,EAAI0hB,WAAY,CAAEC,QAASlY,MAAMC,QAAQ1J,EAAIuJ,SAAWvJ,EAAIuJ,QAAUvJ,EAAIuJ,QAAU,CAACvJ,EAAIuJ,SAAWyC,EAAE2V,QAASH,WAAOxiB,IAChNiF,OAAOC,OAAO,GAAI8H,EAAG,CAAE2V,QAAS,CAAC3hB,GAAMwhB,WAAOxiB,IAC9CyK,MAAMC,QAAQ1J,KAAMgM,EAAI/H,OAAOC,OAAO,GAAI8H,EAAG,CAAE2V,QAAS3hB,EAAKwhB,WAAOxiB,KACxEgN,CACT,UCnXgB4V,GAASne,EAAoB2Z,EAAelP,GAC1D,IAAKkP,EAAO,MAAO,GACnB,MAAMyE,EAASpe,EAAIoa,SAASR,OAAOD,GACnC,GAAIyE,EAAQ,OAAOA,EACnB,MAAM1E,EAAK,GAAGjP,aATYzK,EAAoByK,GAE9C,OADKzK,EAAIoa,SAASiE,IAAI5T,KAASzK,EAAIoa,SAASiE,IAAI5T,GAAU,GACnDzK,EAAIoa,SAASiE,IAAI5T,IAC1B,CAMyB6T,CAAYte,EAAKyK,KACxC,OAAOzK,EAAIoa,SAASR,OAAOD,GAASD,CACtC,UAEgB6E,GAAWve,EAAoBwe,GAAgB7E,EAAO8E,GAA2BC,EAAsBC,GACrH,IAAkC,IAA9B3e,EAAIka,OAAO0E,eAA0B,CACvC,MAAMtd,EAAK,GAGX,OAFImd,GAAQnd,EAAGzE,KAAKshB,GAASne,EAAKye,EAAQ,MAC1Cnd,EAAGzE,KAAKshB,GAASne,EAAK2Z,EAAOgF,GAAe,MACrC,WAAWH,EAAIvd,OAAOK,GAAI9C,KAAK,QAAQkgB,EAAc,WAAWA,KAAiB,KACnF,CACL,MAAM3d,EAAI,GAAG4Y,IAAQ+E,GAAe,KAAKD,GAAU,KAEnD,MAAO,GADG,IAAGD,EAAI5hB,OAAS,WAAW4hB,EAAIhgB,KAAK,QAAU,MAC1CuC,EAAI,WAAWA,KAAO,KAExC,UAEgB4Y,GAAMpR,EAAWsR,EAAsBpc,EAAwBmP,GAC7E,IAAI7L,EAAI,SAAS8Y,EAAUnY,GAAK,IAAMmY,EAAUgF,SAAW,cAAehF,EAAUvR,GAAK,IAAMuR,EAAUiF,SAAW,SAChH9hB,EAAI,GAER+D,GAAK,SAAS0b,GAAmBlU,EAAGsR,EAAWpc,SAE/C,IAAI+K,EAAIsT,GAAoBvT,EAAGsR,EAAWpc,EAASmP,GAAQA,EAAKmS,eAAgBnS,GAAQA,EAAKoS,WAAa,EAC1G,GAAiB,SAAbzW,EAAEwR,QAAqBxR,EAAE8T,OAAQ,CACnC,MAAM1W,EAAI2W,GAAa/T,EAAG9K,EAASoc,GACnCrR,GAAK7C,EAAE,GAAKA,EAAE,GAEZiH,GAAQA,EAAKiP,WAAajP,EAAKmS,eAAgB/hB,EAAI,UAAUwL,QAC5DzH,GAAK,UAAUyH,QAEpB,MAAMnK,EAAOkK,EAAE0S,MAAQhB,GAAc1R,EAAE0S,KAAK5c,KAAMZ,GAC5C0d,EAAO5S,EAAE0S,MAAQhB,GAAc1R,EAAE0S,KAAKE,KAAM1d,GAGlD,GAFY,MAARY,GAAwB,MAAR8c,IAAcpa,GAAK,gBAAgB1C,QAAAA,EAAQ8c,SAE3D5S,EAAE8T,OAAQ,CACZ,MAAM1W,EAAI2W,GAAa/T,EAAG9K,EAASoc,IAC/BlU,EAAE,IAAMA,EAAE,IAAMA,EAAE,IAAMA,EAAE,MAAI5E,GAAK,WAAW4E,EAAE,SAASA,EAAE,SAASA,EAAE,SAASA,EAAE,eAC5E4C,EAAE0S,MAAQ1S,EAAE0S,KAAKlV,QAC1BhF,GAAK,iBAAiBwH,EAAE0S,KAAKlV,aAQ/B,OALK6G,GAAQA,EAAKqO,MAAS1S,EAAE0S,QAAMla,GAAKke,GAAWrS,GAAQA,EAAKqO,MAAS1S,EAAE0S,KAAMxd,IAC7E8K,EAAEgU,SAAQxb,YA4CYwH,EAAgD9K,EAAwBoc,GAClG,MAAM/S,EAAI0V,GAAajU,EAAG9K,EAASoc,GACnC,OAAI/S,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAKA,EAAE,GAAW,mCAAmCA,EAAE,SAASA,EAAE,SAASA,EAAE,SAASA,EAAE,SACrG,EACT,CAhDqBoY,CAAY3W,EAAG9K,EAASoc,IAE3C9Y,GAAKoe,GAAW5W,EAAG9K,GAEZ,CAACsD,EAAG/D,EACb,UAEgBmiB,GAAW5W,EAA+C9K,GACxE,IAAIsD,EAAI,GAER,MAAMqe,EAAKnF,GAAc1R,EAAE6W,GAAI3hB,GAC3B2hB,IAAIre,GAAK,oBAAoBqe,MAEjC,MAAMC,EAASpF,GAAc1R,EAAE8W,OAAQ5hB,GAGvC,OAFI4hB,IAAQte,GAAK,iBAAiBse,MAE3Bte,CACT,UAEgBke,GAAU7d,EAAS3D,GACjC,IAAK2D,EAAG,MAAO,GACf,IAAIxD,EACAud,EACApa,EAAI,IACJnD,EAAIqc,GAAc7Y,EAAE8Z,OAAQzd,MAAUsD,GAAK,eAAenD,OAC1DA,EAAIqc,GAAc7Y,EAAEke,MAAO7hB,MAAUsD,GAAK,SAASnD,OACnDA,EAAIqc,GAAc7Y,EAAEme,MAAO9hB,MAAUsD,GAAK,cAAcnD,OACxDA,EAAIqc,GAAc7Y,EAAE+Z,KAAM1d,MAC5BsD,GAAK,aAAanD,QAClBud,EAAOvd,GAGTA,EAAIqc,GAAc7Y,EAAE/C,KAAMZ,GAChB,IAANG,EAASmD,GAAK,uBACJ,MAALnD,EAAWmD,GAAK,eAAenD,QAC/Bud,IAAMpa,GAAK,eAAeoa,UAE/Bvd,EAAIqc,GAAc7Y,EAAEoe,OAAQ/hB,MAAUsD,GAAK,eAAenD,OAC1DA,EAAIqc,GAAc7Y,EAAEqe,IAAKhiB,MAAUsD,GAAK,yBAC5C,MAAM0e,EAAM7hB,EAEZ,OADIA,EAAIqc,GAAc7Y,EAAEse,MAAOjiB,MAAUsD,IAAQ0e,EAAM,GAAK,uBAAd,oBACvC1e,CACT,CDuCA4b,GAAe,OAAO,CAACpU,EAAGsD,EAAGlG,EAAG/E,EAAG0D,EAAI7G,KACrC,IAAIH,EACAqiB,EAAK3F,GAAWzR,EAAEoX,IAAMtM,GAAS8G,GAAc1c,EAAQA,QAAS,CAAEoV,QAAS,CAAEgH,UAAWjZ,EAAGgb,OAAQrT,KAAQA,EAAEoX,GAAGje,GAAK6G,EAAEoX,GACvH5C,EAAanc,EAAEoc,KAAO1Y,EAAG,GAAG,GAAKA,EAAG,GAAG,GAAKA,EAAGA,EAAG1H,OAAS,GAAG,GAclE,OAbImgB,GAAc,IAChBA,EAAanc,EAAEoc,KACf2C,GAAK,GAEHA,GAAMrb,EAAG,GAAG,GAAKA,EAAG,GAAG,GAAKmY,GAAmBlU,EAAG,CAAE7G,EAAGd,EAAEc,EAAG4G,EAAG1H,EAAE0H,EAAG0U,KAAMpc,EAAEoc,KAAMjB,KAAMnb,EAAEmb,KAAME,WAAYrb,EAAEqb,WAAYc,cAActf,GAAW6G,EAAGA,EAAG1H,OAAS,GAAG,GAAKgE,EAAEoc,MAC9K1f,EAAI,CAAEoE,EAAGiE,EAAE,GAAI2C,EAAGmV,GAAWnZ,GAAKyY,WAAYnc,EAAEoc,KAAMA,KAAMpc,EAAEoc,MAC9D1f,EAAE2e,WAAarb,EAAEqb,YAAc3e,EAAEgL,EAAIuD,IAErCvO,EAAI,CAAEoE,EAAG4C,EAAG,GAAG,GAAKA,EAAG,GAAG,GAAIgE,EAAGhE,EAAG,GAAG,GAAIyY,aAAYC,KAAMpc,EAAEoc,KAAMf,WAAYrb,EAAEqb,YAGrF3e,EAAEgL,GAAKuD,EAEAvO,CAAC,aE4HMsiB,GAAe1F,EAAgBvH,EAAoBD,GACjE,MAAM1S,EAAM0S,GAAc,SAAUA,GAAcA,EAAWvB,OAASuB,EAAaA,EAAqB,IAAIa,GAAK/S,OAAOC,OAAO,GAAIyZ,EAAOzc,SAAU,CAAEiV,eACtJ1S,EAAI0S,WAAalS,OAAOC,OAAO,GAAIyZ,EAAO2F,cAAe7f,EAAI0S,YAC7D,MAAMoN,EAAsB,GAI5B,GAFI5F,EAAOvH,SAASoN,GAAa/f,EAAKka,EAAOvH,QAASA,GAElD3M,MAAMC,QAAQiU,EAAOxH,YACvB,IAAK,MAAM9R,KAAKsZ,EAAOxH,WACjB9R,EAAEE,MAAQF,EAAEvF,OACdykB,EAAMlf,EAAEvF,MAAQgY,GAASrT,EAAKY,EAAEE,OAKtC,OAAOgf,CACT,UAoBgBC,GAAatiB,EAAsBkV,EAAyBlU,GAC1E,MAAMuhB,EAAOviB,EAAQkV,QACrB,IAAK,MAAM1U,KAAU0U,EAAS,CAC5B,IAAIsN,EAAOxhB,EAAIR,EAAOA,QAAUA,EAAO5C,OAAS,CAAEyO,MAAO,IACrD7L,EAAOgiB,OAAMA,EAAO5M,GAASM,GAAOlW,EAAS,CAAEqM,MAAOmW,EAAKnW,MAAO+I,QAAS,CAAE5U,OAAQgiB,KAAWhiB,EAAOgiB,OAC3GD,EAAK/hB,EAAO5C,MAAQ4C,EAAOA,QAAUsU,GAAU0N,GAGjD,IAAK,MAAMhiB,KAAU0U,GACf1U,EAAOoR,QAAUpR,EAAO2E,MAAQ3E,EAAOmY,SAAO4J,EAAK/hB,EAAO5C,MAAQ4C,EAAOA,QAAUoR,GAAO2Q,EAAK/hB,EAAO5C,MAAQ4C,EAAOA,QAASA,EAAOoR,OAAQpR,EAAO2E,KAAM3E,EAAOmY,MAAO3Y,GAEhL,CChUA,MAAMyiB,GAAO,UAEPC,GAAKnd,EAAM,WACX8E,GAAK/E,EAAK,WACV6D,GAAM,mBACNwZ,GAAU3hB,EAAIuE,EAAM,eAAejH,IAAMA,IACzCskB,GAAS5hB,EAAIc,GAAI8E,EAAI5C,EAAI,MAAOuB,EAAM,cAAeqB,EAAI9E,GAAIkC,EAAI,KAAMuB,EAAM,kBAAkB,EAAE2C,EAAGrI,EAAGoC,MAAQ,CAACiG,EAAGrI,EAAGoC,eAAAA,EAAI,GAAIA,eAAAA,EAAI,IAAI2P,QAAOtT,GAAKA,IAAGyC,KAAK,MAC1J8gB,GAAQ7gB,EAAIc,GAAI8E,EAAI5C,EAAI,MAAO+C,EAAI9B,EAAM,EAAGkE,IAAMlE,EAAM,EAAGkE,IAAMlE,EAAM,EAAGkE,IAAMlE,EAAM,EAAGkE,OAAQ,GAAI0Y,KAAW,IAAIA,MACpHgB,GAAe7hB,EAAIc,GAAI8gB,GAAQhc,EAAI5C,EAAI,QAAQ,EAAEnE,EAAGsD,KAAO,GAAGtD,IAAIsD,EAAI,IAAM,UAC5E2f,GAAS9e,EAAI,OAAQ,QAAS,MAAO,SAAU,UAE/C8d,GAAQ9gB,EAAIc,GAAIkC,EAAI,SAAU4C,EAAI9E,GAAIkC,EAAI,KAAM+C,EACpDjF,GAAIkC,EAAI,MAAO,SAAU,SAAU,QAAS4C,EAAI9E,GAAI4gB,GAAI1e,EAAI,OAAQ,QAAS,aAC7ElC,GAAIkC,EAAI,OAAQ,QAAS,UAAW4C,EAAI9E,GAAI4gB,GAAI1e,EAAI,MAAO,SAAU,SAAU,gBAC3E,GAAG1F,YAAO,OAAGiW,IAAK,QAASlI,MAAO/N,EAAI,CAACA,EAAE,GAAG,aAAIA,EAAE,GAAG,yBAAK,IAAIsT,QAAOtT,GAAKA,IAAK,SAC/EykB,GAAS/hB,EAAIc,GAAIkC,EAAI,UAAW4C,EAAI9E,GAAIkC,EAAI,KAAMA,EAAI,MAAO,SAAU,SAAU,YAAY,GAAI1F,OAAUiW,IAAK,SAAUlI,MAAO/N,EAAIA,EAAE,GAAK,SAE5I0kB,GAAMhiB,EAAIc,GAAIkC,EAAI,OAAQ4C,EAAI9E,GAAIkC,EAAI,KAAMmE,GAAQya,GAAQF,QAAQ,GAAIpkB,OAAUiW,IAAK,MAAOlI,MAAO/N,EAAIA,EAAE,GAAK,SAChHsgB,GAAS5d,EAAIc,GAAIkC,EAAI,UAAW4C,EAAI9E,GAAIkC,EAAI,KAAMmE,GAAQya,GAAQF,QAAQ,GAAIpkB,OAAUiW,IAAK,SAAUlI,MAAO/N,EAAIA,EAAE,GAAK,SACzHif,GAAQvc,EAAIc,GAAIkC,EAAI,QAAS,KAAM4C,EAAI9E,GAAIkC,EAAI,KAAM6e,OAAiB,GAAGvkB,OAAUiW,IAAK,QAASlI,MAAO/N,EAAIA,EAAE,GAAK,SACnHge,GAAStb,EAAIc,GAAIkC,EAAI,SAAU,KAAM4C,EAAI9E,GAAIkC,EAAI,KAAM6e,OAAiB,GAAGvkB,OAAUiW,IAAK,SAAUlI,MAAO/N,EAAIA,EAAE,GAAK,SACtHsC,GAAOI,EAAIc,GAAIkC,EAAI,QAAS4C,EAAI9E,GAAIkC,EAAI,KAAM4e,OAAW,GAAGtkB,OAAUiW,IAAK,OAAQlI,MAAO/N,EAAIA,EAAE,GAAK,SACrG2kB,GAAKjiB,EAAIc,GAAIkC,EAAI,KAAM,QAAS,QAAS4C,EAAI9E,GAAIkC,EAAI,KAAM6d,OAAU,GAAGvjB,OAAUiW,IAAK,KAAMlI,MAAO/N,EAAIA,EAAE,GAAK,SAC/GqjB,GAAK3gB,EAAIc,GAAIkC,EAAI,KAAM,aAAc,QAAS4C,EAAI9E,GAAIkC,EAAI,KAAM6d,OAAU,GAAGvjB,OAAUiW,IAAK,KAAMlI,MAAO/N,EAAIA,EAAE,GAAK,SACpHof,GAAO1c,EAAIc,GAAIkC,EAAI,QAAS4C,EAAI9E,GAAIkC,EAAI,KAAM4e,OAAW,GAAGtkB,OAAUiW,IAAK,OAAQlI,MAAO/N,EAAIA,EAAE,GAAK,SACrGkf,GAAOxc,EAAIc,GAAIkC,EAAI,QAAS4C,EAAI9E,GAAIkC,EAAI,KAAMkC,EAAQ,UAAU,GAAG5H,OAAUiW,IAAK,OAAQlI,MAAO/N,EAAIA,EAAE,GAAK,SAC5G4kB,GAASliB,EAAIc,GAAIkC,EAAI,UAAW4C,EAAI9E,GAAIkC,EAAI,KAAM4e,GAAQvY,GAAIzD,EAAI5C,EAAI,OAAQ,UAAW4C,EAAI9E,GAAI4gB,GAAI3b,EAAI8b,GAAcC,IAASJ,GAAI3b,EAAI8b,GAAcC,UAAc,GAAGxkB,OAAUiW,IAAK,SAAUlI,MAAO/N,EAAI,CAAE6kB,KAAM7kB,EAAE,IAAe,SAATA,EAAE,IAAiB,EAAI,GAAI8kB,OAAQ9kB,EAAE,GAAK,CAACA,EAAE,GAAG,GAAIA,EAAE,GAAG,SAAMR,GAAc,SACxSulB,GAAOriB,EAAIc,GAAIkC,EAAI,QAAS4C,EAAI9E,GAAIkC,EAAI,KAAM6e,GAAcH,GAAIG,OAAiB,GAAGvkB,OAAUiW,IAAK,OAAQlI,MAAO/N,EAAI,CAAE2F,EAAG3F,EAAE,GAAIuM,EAAGvM,EAAE,IAAO,SAE7IglB,GAAQtiB,EAAI8E,EAAO,OAAOxH,KAAQiW,IAAK,QAASlI,MAAO/N,MAEvDwgB,GAAS9d,EAAIc,GACjBkC,EAAI,UAAW4C,EAAI9E,GAAIkC,EAAI,KAAK4C,EAAI5C,EAAI,QAAS,MAAO,OAAQ,WAAYqG,GAC5ElC,GAAQwa,GAASD,IAAKrY,GAAIzD,EAAI9E,GAAIkC,EAAI,KAAMqG,GAAIlC,GAAQya,GAAQF,MAAOrY,GAAIzD,EAAIib,QAC1E,GAAIvjB,YAAO,OAAGiW,IAAK,SAAUlI,MAAO/N,EAAI,CAAE4d,MAAO5d,EAAE,IAAM,QAASif,MAAOjf,EAAE,GAAIsjB,iBAAQtjB,EAAE,yBAAK,GAAIujB,MAAOvjB,EAAE,IAAO,SAEnHilB,GAAQviB,EAAI+F,EAAI/C,EAAI,MAAO,MAAO,OAAQ,SAAU,YAAa,SAAU,WAAY,WAAY,SAAU,MAAO,KAAM,IAAK,IAAK,OAAOuQ,KAAUA,UAErJA,GAAuBvT,EAAIc,GAAIkC,EAAI,KAAMqG,GAAIlC,GAAQpB,EAAI+X,GAAQgD,GAAOmB,GAAItB,GAAIoB,GAAQrF,GAAM9c,GAAM4c,GAAMwF,GAAKpE,GAAQrB,GAAOjB,GAAQiH,GAAOL,GAAQG,GAAMC,IAAQxhB,GAAIuI,GAAIrG,EAAI,KAAMqG,IAAK,SAAUvE,EAAO,KAAM9B,EAAI,OAAO,IAAMwf,KAAUA,EAAK5R,QAAOzR,GAAe,UAAVA,EAAEoU,QAC/PX,GAAO5S,EAAI2G,GAAKZ,EAAIb,EAAQ,OAAO,GAAOlF,EAAIgD,EAAI,QAAQ,IAAM,SAAQ+P,GAAQA,EAAKhT,KAAK,MAI1FE,GAASoM,EAFH5F,GAAIV,EAAoB6M,GAAMW,KAEX,CAAE5S,YAAY,EAAMW,kBAAkB,IAO/DmhB,GAAS,CAAC,SAAU,QAAS,SAAU,MAAO,SAAU,QAAS,WAAY,SAAU,SAAU,QAEjGC,GAAU,CACdra,EAAG,OACH9J,EAAG,SACH2N,EAAG,sBAsDWgP,GAAMlY,GACpB,MAAM2f,EAAS1iB,GAAO+C,GACtB,OAAIuE,MAAMC,QAAQmb,GArDpB,SAAiBC,GACf,IAAI9kB,EAAM,GACN+kB,GAAO,EACX,MAAM5F,EAAe,CAAE6F,KAAM,GAAIzX,MAAO,IAClC0X,EAAyB,GAC/B,IAAK,MAAMzgB,KAAKsgB,EACd,GAAiB,iBAANtgB,GACJ2a,EAAM6F,KAAK9B,KAAO,MAAMnE,KAAKva,KAAIxE,GAAO2jB,IAC7C3jB,GAAOwE,GACF2a,EAAM6F,KAAK9B,KAAO,MAAMnE,KAAKva,KAAIxE,GAAO2jB,QACxC,CACL,IACItW,EADA6X,GAAO,EAEX,IAAK,MAAM9H,KAAS5Y,EAAG,CACrB,MAAMiR,EAAMmP,GAAQxH,EAAM3H,MAAQ2H,EAAM3H,IACpC,UAAW2H,EACO,OAAhBA,EAAM7P,QACP4R,EAAM5R,MAAMkI,KAAS0J,EAAM5R,MAAMkI,GAAO,KAAKnV,KAAK8c,EAAM7P,QACrDoX,GAAOhW,SAAS8G,IAAQpI,GAAiB,OAARoI,KAAepI,IAAUA,EAAQ,KAAK/M,KAAKmV,IAE5EkP,GAAOhW,SAAS8G,IACH,OAARA,IAAiByP,GAAQD,GAAcA,EAAW5kB,QAAU4kB,EAAWA,EAAW5kB,OAAS,GAAGsO,SAAS,OADtFuW,GAAO,GAE3B/F,EAAM5R,MAAMkI,KAAS0J,EAAM5R,MAAMkI,GAAO,KAAKlE,MAGzC,OAARkE,EAAczV,GAAO,QAChB2kB,GAAOhW,SAAS8G,IAAQpI,EAAMhN,OAAQgN,EAAM/M,KAAKmV,GACrD0J,EAAM6F,KAAKvP,IAAQ0J,EAAM6F,KAAKvP,GAKvC,GAFIsP,IAAM/kB,GAAO,WACjB+kB,GAAO,EACHG,EAAM,CACR,MAAMC,EAAQF,EAAW1T,MACzB,GAAI4T,EAAO,CACTnlB,GAAO,UACP,IAAK,MAAMuK,KAAK4a,GAAQhG,EAAM5R,MAAMhD,KAAO4U,EAAM5R,MAAMhD,GAAK,KAAKgH,OAGjElE,IACF4X,EAAW3kB,KAAK+M,GAChBrN,GAAO,gBAAgBolB,GAASjG,EAAO9R,QAEzCrN,GAAO,gBAAgBolB,GAASjG,EAAO,cAGvC4F,IAAM/kB,GAAO,WACjB,IAAK,MAAM6E,KAAKogB,EAAYjlB,GAAO,UACnC,OAAOA,CACT,CAIoCqlB,CAAQR,GACnC3f,CACT,CAEA,MAAMogB,GAAY,CAAEjE,IAAK,QAASkE,OAAQ,SAAUjE,OAAQ,MAAOoC,KAAM,YACnE8B,GAAc,CAAEC,IAAK,SAAUC,KAAM,UAC3C,SAASN,GAASjG,EAAc9I,GAC9B,IAAIrW,EAAM,GAEV,GAAc,WAAVqW,EAAoB,CACtB,MAAMsP,EAAKxG,EAAM6F,MACbW,EAAGC,WAAaD,EAAGE,UAAYF,EAAGG,UAAQ9lB,GAAO,wBAAwB,CAAC2lB,EAAGC,WAAa,YAAaD,EAAGE,UAAY,WAAYF,EAAGG,QAAU,gBAAgBhT,QAAOtT,GAAKA,IAAGyC,KAAK,UACnL0jB,EAAGI,KAAOJ,EAAGK,OACfhmB,GAAO,iBACH2lB,EAAGI,MAAK/lB,GAAO,yBACf2lB,EAAGK,MAAKhmB,GAAO,wBAEjB2lB,EAAGM,SAAQjmB,GAAO,sBAClB2lB,EAAGO,OAAMlmB,GAAO,qBAChB2lB,EAAGzC,MAAKljB,GAAO,yBAEnB,MAAMmmB,EAAKhH,EAAM5R,MACjB,GAAI9D,MAAMC,QAAQyc,EAAGlC,QAAS,CAC5B,MAAMzkB,EAAI2mB,EAAGlC,OAAOkC,EAAGlC,OAAO5jB,OAAS,GACnCb,IAAGQ,GAAO,kBAAwB,SAANR,EAAe,WAAaA,MAG9D,GAAIiK,MAAMC,QAAQyc,EAAGhC,IAAK,CACxB,MAAM3kB,EAAI2mB,EAAGhC,GAAGgC,EAAGhC,GAAG9jB,OAAS,GAC3Bb,IAAGQ,GAAO,SAASR,MAGzB,GAAIiK,MAAMC,QAAQyc,EAAGtD,IAAK,CACxB,MAAMrjB,EAAI2mB,EAAGtD,GAAGsD,EAAGtD,GAAGxiB,OAAS,GAC3Bb,IAAGQ,GAAO,oBAAoBR,MAGpC,GAAIiK,MAAMC,QAAQyc,EAAGvH,MAAO,CAC1B,MAAMpf,EAAI2mB,EAAGvH,KAAKuH,EAAGvH,KAAKve,OAAS,GAC1B,MAALb,IAAWQ,GAAO,aAAaR,SAGrC,GAAIiK,MAAMC,QAAQyc,EAAGzH,MAAO,CAC1B,MAAMlf,EAAI2mB,EAAGzH,KAAKyH,EAAGzH,KAAKre,OAAS,GAC1B,MAALb,IAAWQ,GAAO,eAAeR,MAGvC,GAAIiK,MAAMC,QAAQyc,EAAGrkB,MAAO,CAC1B,MAAMtC,EAAI2mB,EAAGrkB,KAAKqkB,EAAGrkB,KAAKzB,OAAS,GAC1B,MAALb,IAAWQ,GAAO,eAAeR,cAElC,CACLQ,GAAO,8DACP,MAAMmmB,EAAKhH,EAAM5R,MAEjB,IAAI6Y,EAEJ,GAAI/P,EAAM1H,SAAS,UAAYlF,MAAMC,QAAQyc,EAAGnD,OAAQ,CACtD,MAAMxjB,EAAI2mB,EAAGnD,MAAMmD,EAAGnD,MAAM3iB,OAAS,GACrC,GAAIoJ,MAAMC,QAAQlK,GAAI,CACpB,IAAI6mB,EAAK7mB,EAAEsY,MAAKtY,GAAK,CAAC,MAAO,SAAU,SAAU,QAAQmP,SAASnP,KAC9D6mB,IAAIrmB,GAAO,eAAeslB,GAAUe,OACxCA,EAAK7mB,EAAEsY,MAAKtY,GAAK,CAAC,OAAQ,QAAS,UAAUmP,SAASnP,KAClD6mB,IAAIrmB,GAAO,mBAAmBqmB,OAItC,GAAIhQ,EAAM1H,SAAS,UAAYlF,MAAMC,QAAQyc,EAAG1H,OAAQ,CACtD,MAAMjf,EAAI2mB,EAAG1H,MAAM0H,EAAG1H,MAAMpe,OAAS,GAC5B,MAALb,IAAWQ,GAAO,SAASR,MAGjC,GAAI6W,EAAM1H,SAAS,WAAalF,MAAMC,QAAQyc,EAAG3I,QAAS,CACxD,MAAMhe,EAAI2mB,EAAG3I,OAAO2I,EAAG3I,OAAOnd,OAAS,GAC9B,MAALb,IAAWQ,GAAO,UAAUR,MAGlC,GAAI6W,EAAM1H,SAAS,QAAUlF,MAAMC,QAAQyc,EAAGjC,KAAM,CAClD,MAAM1kB,EAAc2mB,EAAGjC,IAAIiC,EAAGjC,IAAI7jB,OAAS,GACvCoJ,MAAMC,QAAQlK,IAAMA,EAAEa,SACxBL,GAAO,WAAWR,EAAE,QAChBA,EAAEa,OAAS,IAAGL,GAAO,IAAIR,EAAE,SAC3BA,EAAEa,OAAS,IAAGL,GAAO,IAAIR,EAAE,SAC3BA,EAAEa,OAAS,IAAGL,GAAO,IAAIR,EAAE,SAC/BQ,GAAO,KAIX,GAAIqW,EAAM1H,SAAS,WAAalF,MAAMC,QAAQyc,EAAGrG,QAAS,CACxD,MAAMtgB,EAAc2mB,EAAGrG,OAAOqG,EAAGrG,OAAOzf,OAAS,GAC7CoJ,MAAMC,QAAQlK,IAAMA,EAAEa,SACxBL,GAAO,UAAUR,EAAE,QACfA,EAAEa,OAAS,IAAGL,GAAO,IAAIR,EAAE,SAC3BA,EAAEa,OAAS,IAAGL,GAAO,IAAIR,EAAE,SAC3BA,EAAEa,OAAS,IAAGL,GAAO,IAAIR,EAAE,SAC/BQ,GAAO,KAIX,GAAIqW,EAAM1H,SAAS,WAAalF,MAAMC,QAAQyc,EAAGnG,QAAS,CACxD,MAAMxgB,EAA0E2mB,EAAGnG,OAAOmG,EAAGnG,OAAO3f,OAAS,GACzGb,IACFQ,GAAO,gBAAgBwlB,GAAYhmB,EAAE4d,QAAU5d,EAAE4d,sBAAsB5d,EAAEif,MAAM,OAC3Ejf,EAAEif,MAAMpe,OAAS,IAAGL,GAAO,IAAIR,EAAEif,MAAM,QACvCjf,EAAEif,MAAMpe,OAAS,IAAGL,GAAO,IAAIR,EAAEif,MAAM,QACvCjf,EAAEif,MAAMpe,OAAS,IAAGL,GAAO,IAAIR,EAAEif,MAAM,QAC3Cze,GAAO,IACHR,EAAEujB,QAAO/iB,GAAO,gBAAgBR,EAAEujB,UAClCvjB,EAAEsjB,SACJ9iB,GAAO,iBAAiBR,EAAEsjB,OAAO,QAC7BtjB,EAAEsjB,OAAOziB,OAAS,IAAGL,GAAO,IAAIR,EAAEsjB,OAAO,SACzCtjB,EAAEsjB,OAAOziB,OAAS,IAAGL,GAAO,IAAIR,EAAEsjB,OAAO,SACzCtjB,EAAEsjB,OAAOziB,OAAS,IAAGL,GAAO,IAAIR,EAAEsjB,OAAO,SAC7C9iB,GAAO,MAKb,GAAIqW,EAAM1H,SAAS,OAASlF,MAAMC,QAAQyc,EAAGtD,IAAK,CAChD,MAAMrjB,EAAI2mB,EAAGtD,GAAGsD,EAAGtD,GAAGxiB,OAAS,GAC3Bb,IAAGQ,GAAO,oBAAoBR,MAGpC,GAAI6W,EAAM1H,SAAS,WAAalF,MAAMC,QAAQyc,EAAG/B,QAAS,CACxD,MAAM5kB,EAAiD2mB,EAAG/B,OAAO+B,EAAG/B,OAAO/jB,OAAS,GAChFb,IACEA,EAAE8kB,SAAQtkB,GAAO,oBAAoBR,EAAE8kB,OAAO,MAAM9kB,EAAE8kB,OAAO,QAChE8B,IAAeA,EAAa,KAAK/P,EAAM5U,QAAQ,WAAa,UAAUjC,EAAE6kB,aAI7E,GAAIhO,EAAM1H,SAAS,SAAWlF,MAAMC,QAAQyc,EAAG5B,MAAO,CACpD,MAAM/kB,EAA8B2mB,EAAG5B,KAAK4B,EAAG5B,KAAKlkB,OAAS,GACzDb,KAAI4mB,IAAeA,EAAa,KAAK/P,EAAM5U,QAAQ,SAAW,aAAajC,EAAE2F,MAAM3F,EAAEuM,MAGvFqa,IAAYpmB,GAAO,aAAaomB,EAAWtT,QAAOtT,GAAKA,IAAGyC,KAAK,SAE/DoU,EAAM1H,SAAS,YAAW3O,GAAO,uBACjCqW,EAAM1H,SAAS,cAAa3O,GAAO,qBAGzC,OAAOA,CACT,CCjQAme,GAAwB,SAAS,CAACnS,EAAGvI,EAAK6Z,KACxCJ,GAASzZ,EAAK,QAAS,qDACvB,IACI6iB,EADAphB,EAAM,GAENsK,GAAO/F,MAAMC,QAAQsC,EAAE8I,MAAQ9I,EAAE8I,KAAO,CAAC9I,EAAE8I,OAAO5S,KAAI1C,IACxD,IAAIgQ,EAAMsH,GAASrT,EAAkB,iBAANjE,GAAkB,SAAUA,EAAIA,EAAEsV,KAAOtV,GACxE,GAAiB,iBAANA,GAAkB,OAAQA,EAAG,CACtC,IAAIY,EAAIqD,EAAIvC,QACZ,KAAOd,GACDA,EAAEkW,SAAWlW,EAAEkW,QAAQ9I,SAASpN,EAAEkW,QAAQ9I,OAAOhO,EAAE2d,MAAQ/c,EAAEkW,QAAQ9I,OAAOhO,EAAE2d,IAAM,KAAK7c,KAAKkP,GAClGpP,EAAIA,EAAEL,OAKV,OAFAmF,GAAOsK,EACP8W,EAAO9W,EACU,iBAANhQ,GAAkB,SAAUA,EAAU,QAAQwiB,GAAWve,EAAK,GAAI,CAACif,GAAUljB,EAAEkf,KAAMjb,GAAOmf,GAAWpjB,EAAGiE,GAAM,QAAQua,GAAWxO,YAClIA,CAAG,IACdvN,KAAK,IACR,GAAI+J,EAAEmR,GAAI,CACR,IAAI/c,EAAIqD,EAAIvC,QACZ,KAAOd,GACDA,EAAEkW,SAAWlW,EAAEkW,QAAQ9I,SAASpN,EAAEkW,QAAQ9I,OAAOxB,EAAEmR,MAAQ/c,EAAEkW,QAAQ9I,OAAOxB,EAAEmR,IAAM,KAAK7c,KAAK4E,GAClG9E,EAAIA,EAAEL,OAGV,GAAIiM,EAAEyO,QAAUzO,EAAEyO,OAAO3b,KAAM,CAC7B,MAAMqO,EAAsB,CAAC,CAAE3N,EAAIiK,MAAMC,QAAQsC,EAAE8I,OAA2B,IAAlB9I,EAAE8I,KAAKzU,OAAsBmP,EAAP8W,GAAc,CAAE9mB,EAAGwM,EAAEyO,OAAO3b,OAC9G0Q,EAAMsH,GAASrT,EAAK,CAAE4D,GAAI,SAAU8F,KAAMA,EAAKzI,OAAOsH,EAAEyO,OAAOtN,MAAQ,MAEzE,MAAmB,iBAARqC,GAAoBxD,EAAEua,OAAe,QAAQvE,GAAWve,EAAK,CAAC,SAAU2Z,GAAMpR,EAAGsR,EAAW7Z,EAAK,CAAEgf,UAAU,QAAY+D,GAAUxI,GAAWxO,aAC7I,QAAQwS,GAAWve,EAAK,CAAC,SAAU2Z,GAAMpR,EAAGsR,EAAW7Z,EAAK,CAAEgf,UAAU,QAAYzE,GAAWxO,WAAa,IAG1H2O,GAA4B,aAAa,CAACnS,EAAGvI,EAAK6Z,EAAW6B,KAE3D,IAAIlT,EADJiR,GAASzZ,EAAK,YAAa,yDAEtBuI,EAAEwR,OACe,SAAbxR,EAAEwR,SAAmBvR,EAAIsT,GAAoBvT,EAAGsR,EAAW7Z,IADrDuI,EAAEwR,OAAS,OAE1B,MAAMiJ,IAAStH,GAAS,IAAIA,OAAS,IAAI1b,IAAMQ,OAAOC,OAAO,GAAIT,EAAK,CAAEvC,QAASie,EAAMA,MAAM1b,MAASA,EACtG,GAAIuI,EAAE9K,YAAcie,GAAS,IAAIA,OAAS,IAAI1b,IAAK,CAC5CgjB,EAAKvlB,QAAQuV,SAAQgQ,EAAKvlB,QAAQuV,OAAS,IAChD,MAAMlJ,EAAQuJ,GAAS2P,EAAMza,EAAE9K,SAC3BqM,IAAOkZ,EAAKvlB,QAAUwlB,GAAWD,EAAKvlB,QAAS,CAAEqM,WAEvD,MAAMoZ,EAAKrG,GAAStU,EAAGsR,EAAW7Z,IAAQ6Z,EAAUkD,WAC9C/b,WJ+GsB4a,EAAgBne,EAAwBoc,EAAsB6B,EAAqBkB,GAC/G,GAAI5W,MAAMC,QAAQ2V,EAAOsC,SAAU,CACjC,IAAInd,EAAI,GACR,MAAMyX,GAAUkD,GAAS,CAAElD,OAAQ,IAAKA,OAClClU,EAA8C,CAAC,CAAC,EAAGkU,EAAQ,EAAG,IAE9D7S,EAAI2W,GAAaV,EAAQne,EAASoc,GAIxC,GAHAvV,EAAG,GAAG,IAAMqB,EAAE,GACdrB,EAAG,GAAG,IAAMqB,EAAE,GAEViW,EAAOW,OAAQ,CACjB,MAAMzV,EAAI0V,GAAaZ,EAAQne,EAASoc,GACpCA,EAAUmD,OAAMnD,EAAUmD,MAAQlW,EAAE,GAAKA,EAAE,IAC3C+S,EAAUkD,aAAYlD,EAAUkD,YAAcjW,EAAE,GAAKA,EAAE,IACvD+S,EAAUkC,OAAMlC,EAAUkC,MAAQjV,EAAE,GAAKA,EAAE,IAC3C+S,EAAUoC,aAAYpC,EAAUoC,YAAcnV,EAAE,GAAKA,EAAE,IAE7D,IAAK,IAAI9J,EAAI0e,GAASA,EAAM3e,MAAQ,EAAGC,EAAI4e,EAAOsC,QAAQthB,OAAQI,IAAK,CACrE,IAAIuL,EAAYqT,EAAOsC,QAAQlhB,GAE/B,GADIuL,EAAEwV,QAAOxV,EAAIuV,GAAYvV,EAAEwV,MAAOxV,EAAG9K,EAASoc,EAAW6B,IACzDnT,EAAEoT,MAAQtI,GAAS8G,GAAc1c,EAAQA,QAAS,CAAEoV,QAAS,CAAE+I,OAAQrT,EAAGsR,eAAgBtR,EAAEoT,MAAO,SAGvG,IAAInT,EAAIqR,GAAaiC,GAAoBvT,EAAGsR,EAAWpc,GAGvD,GAFI+K,EAAIqR,EAAUkC,OAAMvT,EAAI,GAExBqR,GAAaA,EAAUoC,YAAczT,EAAIqR,EAAUoC,WAAY,CACjE,MAAMzD,EAASiF,GAAWnZ,GAG1B,OAFAoX,EAAQA,GAAS,CAAElD,WACbzb,KAAOC,EACN,CAAE8c,OAAQ/Y,EAAGmb,SAAUR,EAAO3B,OAAQvB,GACxC,CACL,IAAI2K,EAAKnd,MAAMC,QAAQ2W,KAAYA,EAAO5f,IAAM,CAAC,EAAG,IAC/CmmB,GAAOnd,MAAMC,QAAQkd,KAAKA,EAAK,CAAC,EAAG,IACnCA,EAAG,KAAIA,EAAG,GAAK,GACfA,EAAG,KAAIA,EAAG,GAAK,GACpB,IAAIviB,EAAeoF,MAAMC,QAAQkd,GAAM,CAAEzhB,EAAGyhB,EAAG,GAAK,EAAIA,EAAG,GAAKA,EAAG,GAAKxd,EAAE,GAAI2C,EAAG6a,EAAG,GAAK,EAAIA,EAAG,GAAKA,EAAG,GAAKxd,EAAE,GAAIqX,KAAMnD,EAAUmD,MAAUmG,GAAMtJ,EAGnJ,GAFI7T,MAAMC,QAAQkd,KAAKviB,EAAEmc,WAAanc,EAAEoc,QAEnCJ,GAA4B,iBAAXA,KAEpBhc,GADUgc,GAASF,GAAQE,IAAmCF,GAAQzG,KAChE1N,EAAGiQ,EAAQ7S,EAAGkU,EAAWvV,EAAI7G,GAC/B+K,EAAI5H,EAAEqb,YAAY,CACpB,MAAMzD,EAASiF,GAAWnZ,GAG1B,OAFAoX,EAAQA,GAAS,CAAElD,WACbzb,KAAOC,EACN,CAAE8c,OAAQ/Y,EAAGmb,SAAUR,EAAO3B,OAAQvB,GAIjD5X,EAAEoc,KAAOpc,EAAEoc,MAAQnD,EAAUmD,KAC7Bpc,EAAEmb,KAAOnb,EAAEmb,MAAQlC,EAAUkC,KAEzBnb,EAAEc,EAAI,IACRd,EAAEie,QAAUlZ,EAAE,GACd/E,EAAEc,GAAKmY,EAAUkD,YAAc,GAAKnc,EAAEc,EAAI+a,GAAmBlU,EAAGsR,EAAWpc,GAAW,GAEpFmD,EAAE0H,EAAI,IACR1H,EAAEke,QAAUnZ,EAAE,GACd/E,EAAE0H,GAAKuR,EAAUoC,YAAc,GAAKrb,EAAE0H,EAAIE,EAAI,GAGhD,MAAM9G,EAAEA,EAAC4G,EAAEA,GAAM1H,EACXI,EAAIya,GAAalT,EAAG9K,EAASmD,EAAG8a,GAASA,EAAM0H,OAGrD,GAAiB,iBAANpiB,IAAmBA,IAAOA,EAAEmb,SAAWnb,EAAE8Y,SAAW9Y,EAAEkb,WAAalb,EAAE+Y,OAAS,SAEzF,GAAiB,iBAAN/Y,EACTD,GAAKC,EACLsD,EAAGzG,QAAQ,CAAC6D,EAAG4G,EAAGmU,GAAmBlU,EAAGsR,EAAWpc,GAAUqe,GAAoBvT,EAAGsR,EAAWpc,SAC1F,CACL,GAAIuD,EAAEmb,OAAQ,MAAO,CAAErC,OAAQ,GAAIqC,QAAQ,GAC3C,MAAM3T,EAAIxH,EAAE+Y,QAAU+B,GAAoBvT,EAAGsR,EAAWpc,IAAY,EACpE,GAAI6K,EAAIE,EAAIqR,EAAUoC,WAAY,CAChC,MAAMzD,EAASiF,GAAWnZ,GAI1B,OAHAoX,EAAQA,GAAS,CAAElD,WACbzb,KAAOC,EACb0e,EAAM2H,UAAY3H,EAAM2H,SAAW,GAAK,EACpC3H,EAAM2H,QAAU,EAAUvkB,GAAMrB,EAASoc,GACtC,CAAEC,OAAQ/Y,EAAGmb,SAAUR,EAAO3B,OAAQvB,GAI/C,GAFAzX,GAAKC,EAAE8Y,OACPxV,EAAGzG,QAAQ,CAAC6D,EAAG4G,EAAGtH,EAAEga,OAASyB,GAAmBlU,EAAGsR,EAAWpc,GAAU+K,IACpExH,EAAEkb,SAKJ,OAJAR,EAAQA,GAAS,CAAElD,OAAQ,IACrB4K,MAAQpiB,EAAEkb,SAChBR,EAAM3e,KAAOC,EACb0e,EAAMlD,OAASiF,GAAWnZ,GACnB,CAAEwV,OAAQ/Y,EAAGmb,SAAUR,EAAO3B,OAAQ0D,GAAWnZ,GAAK0W,MAAO2C,GAAWrZ,IAI9D,IAAjB1D,EAAEmc,aAAkBzY,EAAG,GAAG,GAAK1D,EAAEoc,OAIzC,MAAO,CAAElD,OAAQ/Y,EAAGgZ,OAAQ+B,GAAoBF,EAAQ/B,EAAWpc,IAAYggB,GAAWnZ,GAAMqB,EAAE,GAAIqV,MAAOyB,GAAmBb,EAAQ/B,EAAWpc,IAAYkgB,GAAWrZ,GAAMqB,EAAE,IAEpL,MAAO,CAAEmU,OAAQ,GAAIC,OAAQ,EAC/B,CInNYuJ,CAAc/a,EAAGya,EAAM,CAAEthB,EAAG,EAAG4G,EAAG,EAAGyU,WAAYmG,EAAIjH,WAAYzT,GAAKqR,EAAUoC,WAAYe,KAAMkG,EAAInH,KAAW,MAALvT,EAAYA,EAAIqR,EAAUkC,MAAQL,EAAOnT,EAAEqU,QAMjK,GALK5b,EAAEmb,SACLnb,EAAE8Y,OAAS,OAAOyE,GAAWve,EAAK,CAAC,aAAc2Z,GAAMpR,EAAGsR,EAAW7Z,EAAK,CAAE+e,eAAgBvW,GAAKxH,EAAE+Y,OAAQ8B,WAAW,QAAY7a,EAAE8Y,eACpI9Y,EAAE+Y,OAASvR,GAAKxH,EAAE+Y,OAClB/Y,EAAEga,MAAQyB,GAAmBlU,EAAGsR,EAAW7Z,KAExCgB,EAAEmb,QAAUnb,EAAEkb,YAAc3T,EAAEgb,OAAQ,CACzC,MAAM7H,EAAQ1a,EAAEkb,UAAY,GAK5B,OAJAR,EAAMlD,OAAS,SAERkD,EAAM3e,KACb2e,EAAM2H,SAAW3H,EAAM2H,SAAW,GAAK,EACnC3H,EAAM2H,QAAU,EAAUvkB,GAAMkB,EAAK6Z,GAClC,CAAEqC,SAAUR,EAAO5B,OAAQ,IAKpC,OAJW9Y,EAAEkb,WACP3T,EAAE9K,UAASuD,EAAEkb,SAASR,MAAQ,CAAE1b,IAAKgjB,EAAKvlB,UAC9CuD,EAAEkb,SAAS1D,OAAS,GAEfxX,CAAC,GACP,CAAE6a,WAAW,IAGhBnB,GAAwC,YAAY,CAACnS,EAAGvI,EAAK6Z,EAAW6B,KACtEjC,GAASzZ,EAAK,YAAa,yDACtBuI,EAAEwR,SAAQxR,EAAEwR,OAAS,QAC1B,IAGI/Y,EAHAib,EAAapC,EAAUoC,WACvBc,EAAalD,EAAUkD,WAGvBvC,EAAO,GACPgJ,GAAS,EACb,MAAM7d,EAAI2W,GAAa/T,EAAGvI,EAAK6Z,GAC/B,IAEIzD,EAFA9N,EAAKoT,GAAUA,EAAMA,OAA8B,WAArBA,EAAMA,MAAMpR,KAA2B,EAAP3E,EAAE,GACpEsW,GAAc3T,EAEd,IAAImb,GAA0B,EAC9B,MAAMC,EAAUhI,GAASA,EAAMA,OAASA,EAAMA,MAAMgI,QAEpD,IASIrT,EATAsE,EAAmB+G,GAASA,EAAMA,OAASA,EAAMA,MAAM/G,IAC3D,IAAKA,EAAK,CACR,IAAKpM,EAAEtK,OAAQ,MAAO,GACtB0W,EAAMrB,GAAc/K,EAAEtK,QACpBoV,GAASrT,EAAKuI,EAAEtK,QAChBoR,GAAOrP,EAAIvC,QAAQ0T,KAAKwB,QAAQpK,EAAEtK,OAAOA,SAAW,CAAE6L,MAAO,IAAMvB,EAAEtK,OAAOoR,OAAQ9G,EAAEtK,OAAO2E,KAAM2F,EAAEtK,OAAOmY,MAAOpW,EAAIvC,SAASqM,OACjI9J,EAAIvC,QAAQoV,UAAY7S,EAAIvC,QAAQoV,QAAU,KAAK9I,SAAW/J,EAAIvC,QAAQoV,QAAQ9I,OAAS,IAK9F,GAAK/D,MAAMC,QAAQ0O,GAQjBtE,EAAMsE,MARiB,CACvB,IAAKA,IAAQ3O,MAAMC,QAAQ0O,EAAI7K,OAAQ,MAAO,CAAEgQ,OAAQ,GAAIC,OAAQ,GACpE3D,EAAQzB,EACRtE,EAAM+F,EAAMtM,MACRvB,EAAE6N,QACJqN,EAAUlb,EAAE6N,MAAMxZ,OAASwZ,EAAMF,SAAU3N,EAAE6N,MAAMxZ,OAASwZ,EAAMF,QAAU,GAMhF,GAAI3N,EAAEob,SAAWD,IAAYhI,IAAUA,EAAMA,OAA8B,WAArBA,EAAMA,MAAMpR,MAA0C,UAArBoR,EAAMA,MAAMpR,MAAmB,CACpH,MAAMsZ,EAAOlI,GAASA,EAAMA,OAASA,EAAMA,MAAMje,SAAWie,EAAMA,MAAMje,QAAQA,QAEhF,GAAI2Y,EAAO,CACT,MAAMzZ,EAAIgX,GAAO3T,EAAK,CAAE6S,QAAS,CAAE5U,OAAQmY,GAASA,EAAMF,QAAUE,EAAMC,IAAMhG,EAAK8F,MAAOC,GAASA,EAAMD,MAAOD,SAAqB,IAAZuN,EAAmBrN,MAAOA,GAASA,EAAMA,MAAOrM,QAAS6Z,GAAQA,EAAK/Q,SAAW,IAAI9I,UAEhN,GAAIxB,EAAE6N,QAAqB,IAAZqN,KAAuB/H,IAAUA,EAAMA,OAA8B,UAArBA,EAAMA,MAAMpR,QACzEtJ,EAAIya,GAAalT,EAAE6N,MAAMqN,GAAU9P,GAAO3T,EAAK,CAAE8J,MAAOsM,EAAOvD,QAAS,CAAE5U,OAAQmY,GAASA,EAAMF,QAAUE,EAAMC,IAAMhG,EAAK8F,MAAOC,GAASA,EAAMD,MAAOD,SAAS,EAAME,MAAOA,EAAMA,SAAY,CAAE1U,EAAG,EAAG4G,IAAGyU,WAAYlD,EAAUkD,WAAYC,KAAMnD,EAAUmD,KAAMjB,KAAMlC,EAAUkC,OAEhR/a,GAAG,CACL,GAAIA,EAAE+Y,OAASkC,EAEb,OADIzB,IAAMA,EAAO,OAAO+D,GAAWve,EAAK,CAAC,YAAa,UAAW2Z,GAAMpR,EAAGsR,EAAW7Z,EAAK,CAAE+e,eAAgBzW,EAAGuT,WAAW,UAAcrB,WACjI,CAAEV,OAAQU,EAAMT,OAAQzR,EAAG4T,SAAU,CAAE1D,OAAQ,EAAGkD,MAAO,CAAEpR,KAAM,QAASqK,MAAKkP,QAAS,EAAGH,SAAS,KACtGzH,GAAcjb,EAAE+Y,OAEvBS,GAAQxZ,EAAE8Y,OACVxR,GAAKtH,EAAE+Y,OAOX,GAHiJ/Y,EAA7IuH,EAAEub,cAAgBvb,EAAEub,aAAa1N,EAAMF,YAAcwF,IAAUA,EAAMA,QAAUA,EAAMA,MAAMmI,UAAYH,IAA+B,IAApBnb,EAAEwb,cAA6BtI,GAAalT,EAAEob,OAAQhnB,EAAG,CAAE+E,EAAG,EAAG4G,IAAGyU,WAAYlD,EAAUkD,WAAYC,KAAMnD,EAAUmD,KAAMjB,KAAMlC,EAAUkC,OACzP,CAAEjC,OAAQ,GAAIC,OAAQ,GAE3B/Y,EAAE+Y,OAASkC,EAAY,MAAO,CAAEnC,OAAQ,OAAOyE,GAAWve,EAAK,CAAC,YAAa,UAAW2Z,GAAMpR,EAAGsR,EAAW7Z,EAAK,CAAE+e,eAAgBzW,EAAGuT,WAAW,UAAcrB,UAAcT,OAAQzR,EAAG4T,SAAU,CAAE1D,OAAQlQ,EAAGoT,MAAO,CAAEpR,KAAM,SAAUqK,MAAKkP,QAAS,EAAGpmB,QAASuC,EAAK0jB,SAAS,KAC/QzH,GAAcjb,EAAE+Y,OAErBS,GAAQxZ,EAAE8Y,OACVxR,GAAKtH,EAAE+Y,WACF,CAIL,GAHoD/Y,GAA/C0a,GAASgI,IAA+B,IAApBnb,EAAEwb,cAA6BtI,GAAalT,EAAEob,OAAQ3jB,EAAK,CAAE0B,EAAG,EAAG4G,IAAGyU,WAAYlD,EAAUkD,WAAYC,KAAMnD,EAAUmD,KAAMjB,KAAMlC,EAAUkC,OAC9J,CAAEjC,OAAQ,GAAIC,OAAQ,GAE3B/Y,EAAE+Y,OAASkC,EAAY,MAAO,CAAEnC,OAAQ,OAAOyE,GAAWve,EAAK,CAAC,YAAa,UAAW2Z,GAAMpR,EAAGsR,EAAW7Z,EAAK,CAAE+e,eAAgBzW,EAAGuT,WAAW,UAAcrB,UAAcT,OAAQzR,EAAG4T,SAAU,CAAE1D,OAAQlQ,EAAGoT,MAAO,CAAEpR,KAAM,SAAUqK,MAAKkP,QAAS,EAAGpmB,QAASuC,EAAK0jB,SAAS,KAC/QzH,GAAcjb,EAAE+Y,OAErBS,GAAQxZ,EAAE8Y,OACVxR,GAAKtH,EAAE+Y,QAIX,IAAIiK,EAAsBtI,GAASA,EAAMA,OAASA,EAAMA,MAAMje,SAAWkW,GAAO3T,EAAK,CAAE6S,QAAS,CAAE5U,OAAQmY,GAASA,EAAMF,QAAUE,EAAMC,IAAMhG,EAAK8F,MAAOC,GAASA,EAAMD,MAAOD,SAAqB,IAAZuN,EAAmBrN,MAAOA,GAASA,EAAMA,MAAOrM,OAAQ,GAAIhN,KAAMsT,EAAIzT,OAAS,EAAGuG,MAAOkN,EAAIzT,UACvR,MAAMqnB,EAAQ1b,EAAE0N,MAAQ+D,GAAWzR,EAAE0N,IAAIgO,OAAS5Q,GAASM,GAAOqQ,EAAM,CAAEnR,QAAS,CAAEgH,YAAW+B,OAAQrT,KAAQA,EAAE0N,IAAIgO,MAAMviB,GAAK6G,EAAE0N,IAAIgO,OAEvI,IAAKvI,IAAUA,EAAMA,OAA8B,WAArBA,EAAMA,MAAMpR,KAAmB,CAC3D,IAAI4Z,EAAQ,EACRC,EAAQ,EACRC,EAAQ9b,EACZ,GAAK2b,GAAU5T,EAAIzT,SAAU2L,EAAE8b,UAU7B,IAAK,IAAIrnB,EAAK0e,GAASA,EAAMA,OAASA,EAAMA,MAAMmI,SAAY,EAAG7mB,EAAIqT,EAAIzT,OAAQI,IAAK,CACpF,MAAML,EAAIyZ,GAASA,EAAMF,QACvBvC,GAAOqQ,EAAM,CAAEla,MAAOuG,EAAIrT,GAAI6V,QAAS,CAAE5G,MAAOjP,EAAG+M,OAAQ,MAC3D4J,GAAOqQ,EAAM,CAAEla,MAAOuG,EAAIrT,GAAI6V,QAAS,CAAE5G,MAAOjP,KAElD,GAAIoZ,GAASA,EAAMF,QAAS,CAC1B,MAAMnV,EAA+B2a,GAASA,EAAM0H,OAAU,CAAE5K,OAAQ,EAAGkD,MAAO,CAAEmI,QAAS,EAAGlP,IAAKtE,EAAIrT,GAAIsN,KAAM,UACnHtJ,EAAIya,GAAalT,EAAG5L,EAAG,CAAE+E,EAAG,EAAG4G,IAAGyU,WAAYA,EAAamH,EAAOjI,aAAYe,KAAMnD,EAAUmD,KAAMjB,KAAMlC,EAAUkC,MAAQhb,OACvH,CACL,GAAIkjB,EAAO,CACTxI,GAAalT,EAAE0N,IAAKtZ,EAAG,CAAE+E,EAAG,EAAG4G,EAAG,EAAGyU,WAAYlD,EAAUmD,KAAMA,KAAMnD,EAAUmD,KAAMf,WAAYpC,EAAUkC,KAAMA,KAAMlC,EAAUkC,MAAQL,EAAQA,EAAM0H,WAAQ7nB,GACjK,SAEAyF,EAAIya,GAAalT,EAAE0N,IAAKtZ,EAAG,CAAE+E,EAAGwiB,EAAO5b,IAAGyU,WAAYA,EAAamH,EAAOlH,KAAMnD,EAAUmD,KAAMf,aAAYF,KAAMlC,EAAUkC,MAAQL,EAAQA,EAAM0H,WAAQ7nB,GAM9J,GAFImgB,IAAOA,EAAM0H,MAAQ,MAErBpiB,EAAEga,OAASha,EAAEga,OAAS+B,EAAamH,GAASljB,EAAEga,QAAU+B,EAC1DmH,GAASljB,EAAEga,MACPha,EAAE+Y,OAASoK,IACbA,EAAQnjB,EAAE+Y,OACN/Y,EAAE+Y,OAASkC,IAAYmI,GAASpjB,EAAE+Y,cAEnC,GAAI/Y,EAAEga,OAASkJ,GAASljB,EAAEga,MAAQ+B,EAAamH,EAAO,CAC3D5b,GAAK6b,EACLC,EAAQ9b,EACR2T,GAAckI,EACdA,EAAQ,EACRD,EAAQ,EACRlnB,IACA,SAGF,GAAIgE,EAAE+Y,OAASkC,GAAcjb,EAAEmb,OAE7B,OADIiI,IAAU9b,GAAK6b,IAAO7b,GAAK6b,GAC3BX,EAAe,CAAE1J,OAAQ,OAAOyE,GAAWve,EAAK,CAAC,YAAa,UAAW2Z,GAAMpR,EAAGsR,EAAW7Z,EAAK,CAAE+e,eAAgBzW,EAAGuT,WAAW,UAAcrB,UAAcT,OAAQzR,EAAG4T,SAAU,CAAE1D,OAAQlQ,EAAGoT,MAAO,CAAEpR,KAAM,OAAQqK,MAAKkP,QAAS7mB,EAAGS,QAASumB,EAAMN,SAAUtN,IAAqB,IAAZqN,GAAqBL,MAAOpiB,EAAEkb,WAChS,CAAEpC,OAAQ,GAAIC,OAAQzR,EAAG4T,SAAU,CAAE1D,OAAQlQ,EAAGoT,MAAO,CAAEpR,KAAMoR,GAASA,EAAMA,OAASA,EAAMA,MAAMpR,MAAQ,OAAQqK,MAAKkP,QAAS7mB,EAAGS,QAASumB,EAAMN,SAAUtN,IAAqB,IAAZqN,GAAqBL,MAAOpiB,EAAEkb,WAWlN,GARKiI,IACH7b,GAAKtH,EAAE+Y,OACPkC,GAAcjb,EAAE+Y,QAGlBS,GAAQxZ,EAAE8Y,OACV0J,GAAS,EAELxiB,EAAEkb,SAEJ,OADIkI,IAAU9b,GAAK6b,IAAO7b,GAAK6b,GACxB,CAAErK,OAAQ,OAAOyE,GAAWve,EAAK,CAAC,YAAa,UAAW2Z,GAAMpR,EAAGsR,EAAW7Z,EAAK,CAAE+e,eAAgBzW,EAAGuT,WAAW,UAAcrB,UAAcT,OAAQzR,EAAG4T,SAAU,CAAE1D,OAAQlQ,EAAGoT,MAAO,CAAEpR,KAAM,OAAQqK,MAAKkP,QAAS7mB,EAAGS,QAASumB,EAAMN,SAAUtN,IAAqB,IAAZqN,GAAqBL,MAAOpiB,EAAEkb,gBA5DpS,GAAI3T,EAAE8b,UAAW,CAEf,GADArjB,EAAIya,GAAalT,EAAE8b,UAAWL,EAAM,CAAEtiB,EAAGwiB,EAAO5b,IAAGyU,WAAYA,EAAamH,EAAOlH,KAAMnD,EAAUmD,KAAMf,aAAYF,KAAMlC,EAAUkC,MAAQL,EAAQA,EAAM0H,WAAQ7nB,GAC/JyF,EAAE+Y,OAASkC,EAAY,MAAO,CAAEnC,OAAQU,EAAMT,OAAQ,EAAGmC,SAAU,CAAE1D,OAAQ,EAAGkD,MAAO,CAAEpR,KAAM,OAAQqK,MAAKkP,QAAS,EAAGH,SAAS,KAChIzH,GAAcjb,EAAE+Y,OAErBS,GAAQxZ,EAAE8Y,OACVxR,GAAKtH,EAAE+Y,OA2DPqK,IAAU9b,GAAK6b,IAAO7b,GAAK6b,GAGjC,GAAI5b,EAAE+b,OAAQ,CACZ,MAAMC,EAAQP,GAAQA,EAAKvmB,SAAaie,GAASA,EAAMA,OAASA,EAAMA,MAAMje,SAAWie,EAAMA,MAAMje,QAAQA,QACrGd,EAAIgX,GAAO3T,EAAK,CAAE6S,QAAS,CAAE5U,OAAQmY,GAASA,EAAMF,QAAUE,EAAMC,IAAMhG,EAAK8F,MAAOC,GAASA,EAAMD,MAAOD,SAAqB,IAAZuN,EAAmBrN,MAAOA,GAASA,EAAMA,MAAOrM,QAASwa,GAAQA,EAAK1R,SAAW,IAAI9I,UAOhN,GAJiD/I,EAD7CoV,EACE7N,EAAEic,WAAajc,EAAEic,UAAUpO,EAAMF,SAAcuF,GAAalT,EAAE+b,OAAQ3nB,EAAG,CAAE+E,EAAG,EAAG4G,IAAGyU,WAAYlD,EAAUkD,WAAYC,KAAMnD,EAAUmD,KAAMjB,KAAMlC,EAAUkC,OACvJ,CAAEjC,OAAQ,GAAIC,OAAQ,GACtB0B,GAAalT,EAAE+b,OAAQ3nB,EAAG,CAAE+E,EAAG,EAAG4G,IAAGyU,WAAYlD,EAAUkD,WAAYC,KAAMnD,EAAUmD,KAAMjB,KAAMlC,EAAUkC,OAEpH/a,EAAE+Y,OAASkC,EAAY,MAAO,CAAEnC,OAAQ,OAAOyE,GAAWve,EAAK,CAAC,YAAa,UAAW2Z,GAAMpR,EAAGsR,EAAW7Z,EAAK,CAAE+e,eAAgBzW,EAAGuT,WAAW,UAAcrB,UAAcT,OAAQzR,EAAG4T,SAAU,CAAE1D,OAAQlQ,EAAGoT,MAAO,CAAEpR,KAAM,SAAUqK,MAAKkP,QAAS,EAAGpmB,QAASumB,EAAMN,SAAS,KAErRlJ,GAAQxZ,EAAE8Y,OACVxR,GAAKtH,EAAE+Y,OAGT,MAAO,CAAED,OAAQ,OAAOyE,GAAWve,EAAK,CAAC,YAAa,UAAW2Z,GAAMpR,EAAGsR,EAAW7Z,EAAK,CAAE+e,eAAgBzW,EAAGuT,WAAW,UAAcrB,UAAcT,OAAQzR,EAAG,GAChK,CAAEuT,WAAW,IAEhBnB,GAAwB,SAAS,CAACnS,EAAGvI,EAAK6Z,KACxCJ,GAASzZ,EAAK,QAAS,8GAEvB,MAAMykB,EAAMlc,EAAEkc,KAAwB,iBAAVlc,EAAEkc,IAAmBpR,GAASrT,EAAKuI,EAAEkc,IAAI/iB,GAAK6G,EAAEkc,IAC5E,MAAY,YAARA,EACK,aAAapR,GAASrT,EAAKuI,EAAEmc,SAASnG,GAAWve,EAAK,CAAC,SAAU2Z,GAAMpR,EAAGsR,EAAW7Z,SAErF,QAAQue,GAAWve,EAAK,CAAC,SAAU2Z,GAAMpR,EAAGsR,EAAW7Z,YAAcue,GAAWve,EAAK,CAAC,kBH9ItEykB,GAGzB,MAAO,CAFG,mBAAoBA,GAAe,YAARA,EAAmE,YAARA,EAAoB,YAAc,QAAzE,wCAE9C,GACb,CG0I2GE,CAAWF,GAAM,yBAAyBpR,GAASrT,EAAKuI,EAAEmc,6BAIrKhK,GAAgC,YAAY,CAACnS,EAAGvI,EAAK6Z,EAAW6B,KAC9DjC,GAASzZ,EAAK,WAAY,qIAC1B,MAAMqR,EAAOgC,GAASrT,EAAKuI,EAAE8I,MACvB0I,EAASgB,GAAQ1J,EAAMwL,GAAStU,EAAGsR,EAAW7Z,IAAQ6Z,EAAUkD,WAAY/c,EAAKuI,EAAE0S,MAEzF,IAAKS,GAAS3B,EAASF,EAAUoC,WAC/B,MAAO,CAAEnC,OAAQ,GAAIC,OAAQ,EAAGmC,SAAU,CAAER,MAAO,GAAIlD,OAAQ,IAC1D,CACL,IAAIzX,EAAI4Y,GAAMpR,EAAGsR,EAAW7Z,EAAK,CAAE+e,eAAgBhF,EAAQ8B,WAAW,IAEtE,OADA9a,EAAE,GAAK,mBAAqBA,EAAE,GACvB,CACLgZ,SAAQD,OAAQ,QAAQyE,GAAWve,EAAK,CAAC,WAAY,SAAUe,MAAMwZ,GAAWlJ,iBAKtFqJ,GAAuB,QAAQ,CAACnS,EAAGvI,EAAK6Z,KACtCJ,GAASzZ,EAAK,OAAQ,qFACtB,MAAMwa,EAAOnH,GAASM,GAAO3T,EAAK,CAAEtB,OAAQkV,KAAkBrL,EAAEiS,MAChE,MAAO,OAAO+D,GAAWve,EAAK,CAAC,QAAS2Z,GAAMpR,EAAGsR,EAAW7Z,EAAK,CAAE6b,WAAW,QAAYrB,SAAY,ICpRxG,MAAMoK,GAAQ,sBACRC,GAAQ,qBACRC,GAAU,yBAEAzE,GAAOtkB,EAAkBgpB,EAAc,EAAG3O,EAAgB,IAAK4O,EAAiC,QAE9G,GADAjpB,EAAiB,iBAANA,EAAiBkpB,WAAWlpB,GAAK,IAAMA,EAC9CigB,MAAMjgB,GAAI,MAAO,GACrB,MAAMmpB,EAAMnpB,EAAI,EAIhB,OAHAA,EAAIA,EAAEmhB,QAAQ6H,GACF,IAARA,IAAWhpB,EAAIA,EAAEkL,QAAQ,OAAQ,KACjCie,GAAoB,SAAbF,IAAqBjpB,EAAI,IAAiB,SAAbipB,EAAsBjpB,EAAIA,EAAEuH,OAAO,OACvE8S,EAAcra,EAAEkL,SAA4B,IAApBlL,EAAEiC,QAAQ,KAAc6mB,GAAQD,GAAO,KAAKxO,KAC5Dra,CACd,CAsBA,MAAMopB,GAAS,uCACTC,GAAS,CAAC,UAAW,WAAY,QAAS,QAAS,MAAO,OAAQ,OAAQ,SAAU,YAAa,UAAW,WAAY,YACxHC,GAAO,CAAC,SAAU,SAAU,UAAW,YAAa,WAAY,SAAU,YAChF,IAAIC,YACYlZ,GAAK1M,EAA+B0N,GAClD,IAAK1N,EAAG,MAAO,GACf,IAAI6lB,EAAWC,EAAWC,EAAWC,EAAYC,EAAWC,EAAYC,EAAWC,EAAYC,EAG/F,GAAiB,iBAANrmB,GAAkB,MAAOA,GAAKsG,MAAMC,QAAQvG,EAAE0B,GAAI,CAC3D,MAAMA,EAAI1B,EAAE0B,EAAGlE,EAAIkE,EAAExE,OAAQoI,EAAItF,EAAEsF,EACnCugB,EAAInkB,EAAE,GAAIokB,EAAItoB,EAAI,GAAa,MAARkE,EAAE,GAAaA,EAAE,GAAK4D,EAAI,GAAK,EAAGygB,EAAIvoB,EAAI,GAAa,MAARkE,EAAE,GAAaA,EAAE,GAAK4D,EAAI,EAAI,EAClG2gB,EAAIzoB,EAAI,GAAa,MAARkE,EAAE,GAAaA,EAAE,GAAK4D,EAAI,GAAK,EAAG4gB,EAAK1oB,EAAI,GAAa,MAARkE,EAAE,GAAaA,EAAE,GAAK4D,EAAI,GAAK,EAAG6gB,EAAI3oB,EAAI,GAAa,MAARkE,EAAE,GAAaA,EAAE,GAAK4D,EAAI,GAAK,EAC3I8gB,EAAK5oB,EAAI,GAAa,MAARkE,EAAE,GAAaA,EAAE,GAAK4D,EAAI,IAAM,EAChD,IAAI6T,EAAK,IAAInM,KAAK6Y,EAAGC,EAAGC,GAAK,EAAGE,EAAGC,EAAIC,EAAGC,GAC1CC,EAAI7oB,EAAI,GAAa,MAARkE,EAAE,IAAcA,EAAE,GAAKyX,EAAGJ,oBAClCgN,IACH5M,EAAGQ,SAASmM,EAAI,GAChB3M,EAAGd,QAAQ,GACX0N,EAAI5M,EAAGpB,WAETiO,EAAK7M,EAAGmN,aACH,CAEL,GADiB,iBAANtmB,IAAgBA,EAAI,IAAIgN,KAAKhN,IACE,kBAAtCc,OAAOylB,UAAUC,SAASC,KAAKzmB,GAAwB,MAAO,GAClE,GAAIsc,MAAMtc,GAAW,MAAO,GAE5B,MAAM3D,EAAI2D,EACV6lB,EAAIxpB,EAAEwb,cAAeiO,EAAIzpB,EAAEyb,WAAYiO,EAAI1pB,EAAE0b,UAAWiO,EAAK3pB,EAAEiqB,SAAUL,EAAI5pB,EAAEid,WAAY4M,EAAK7pB,EAAEgd,aAAc8M,EAAI9pB,EAAEkd,aAAc6M,EAAK/pB,EAAEmd,kBAAmB6M,EAAIhqB,EAAE0c,oBAMtK,OAFKrL,IAAKA,EAAMkY,IAAe,cAExBlY,EAAInG,QAAQke,IAAQxf,IACzB,GAAa,MAATA,EAAE,GACJ,OAAOA,EAAE/I,QAAU,EAAI,GAAI2oB,IAAKjiB,OAAO,EAAG,GAAK,GAAGiiB,IAC7C,GAAa,MAAT5f,EAAE,GACX,OAAiB,IAAbA,EAAE/I,OAAqB,GAAG4oB,EAAI,IACZ,IAAb7f,EAAE/I,OAAqB4oB,EAAI,EAAI,IAAIA,EAAI,IAAM,GAAGA,EAAI,IACvC,IAAb7f,EAAE/I,OAAqBwoB,GAAOI,GAAGliB,OAAO,EAAG,GACxC8hB,GAAOI,GACd,GAAa,MAAT7f,EAAE,GACX,OAAiB,IAAbA,EAAE/I,OAAqB,GAAG6oB,IACR,IAAb9f,EAAE/I,OAAqB6oB,GAAK,EAAI,IAAIA,IAAM,GAAGA,IAC1CW,GAAQX,GACf,GAAa,MAAT9f,EAAE,GACX,OAAiB,IAAbA,EAAE/I,OAAqB,GAAG8oB,EAAK,IACb,IAAb/f,EAAE/I,OAAqByoB,GAAKK,GAAIpiB,OAAO,EAAG,GACvC+hB,GAAKK,GACZ,GAAa,MAAT/f,EAAE,GACX,OAAoB,IAAbA,EAAE/I,OAAe,GAAG+oB,IAAMA,GAAK,EAAI,IAAIA,IAAM,GAAGA,IAClD,GAAa,MAAThgB,EAAE,GACX,OAAoB,IAAbA,EAAE/I,OAAe,GAAGgpB,IAAOA,GAAM,EAAI,IAAIA,IAAO,GAAGA,IACrD,GAAa,MAATjgB,EAAE,GACX,OAAoB,IAAbA,EAAE/I,OAAe,GAAGipB,IAAMA,GAAK,EAAI,IAAIA,IAAM,GAAGA,IAClD,GAAa,MAATlgB,EAAE,GAAY,CACvB,MAAMgD,EAAKmd,EACX,OAAiB,IAAbngB,EAAE/I,OAAqB,GAAG+L,IACvBA,EAAK,GAAK,KAAKA,IAAOA,EAAK,IAAM,IAAIA,IAAO,GAAGA,IACjD,GAAa,MAAThD,EAAE,IAAuB,MAATA,EAAE,GAAY,CACvC,IAAI3E,EAAI,GAAG2kB,EAAI,GAEf,MADU,MAAN3kB,IAAWA,EAAI,MACZ,GAAGA,IACL,GAAa,MAAT2E,EAAE,GACX,OAAOggB,EAAI,GAAK,KAAO,KAClB,GAAa,MAAThgB,EAAE,GAAY,CACvB,IAAI0gB,EAAM,EAAIN,EACd,MAAMO,EAAMD,EAAM,EAAI,IAAM,IAC5BA,EAAMxd,KAAK0d,IAAIF,GACf,IAAIrlB,EAAYqlB,EAChB,GAAiB,IAAb1gB,EAAE/I,OACJoE,EAAI6H,KAAKC,MAAMud,EAAM,QAChB,IAAiB,IAAb1gB,EAAE/I,OAAc,CACzB,MAAM6L,EAAK4d,EAAM,GACX7d,EAAIK,KAAKC,MAAMud,EAAM,IAC3B,MAAO,GAAGC,IAAM9d,EAAI,GAAK,IAAM,KAAKA,IAAIC,EAAK,GAAK,IAAM,KAAKA,IACxD,GAAiB,IAAb9C,EAAE/I,OAAc,CACzB,MAAM6L,EAAK4d,EAAM,GACX7d,EAAIK,KAAKC,MAAMud,EAAM,IAC3B,MAAO,GAAGC,IAAM9d,EAAI,GAAK,IAAM,KAAKA,KAAKC,EAAK,GAAK,IAAM,KAAKA,IACzDzH,EAAIqlB,CAAG,CACd,MAAO,GAAGC,IAAMtlB,OAGtB,UAMgBolB,GAAQI,EAAoBpQ,GAE1C,IAAI9Y,EAAI,GADRkpB,EAAMnG,GAAOmG,EAAK,EAAGpQ,KAGrB,GADA9Y,EAAIA,EAAEgG,QAAQ,EAAG,GACbhG,EAAEV,OAAS,GAAc,MAATU,EAAE,GAAY,MAAO,GAAGkpB,MAC5C,OAAQlpB,EAAE,IAAMA,EAAE,IAChB,IAAK,IACH,MAAO,GAAGkpB,MACZ,IAAK,IACH,MAAO,GAAGA,MACZ,IAAK,IACH,MAAO,GAAGA,MACZ,QACE,MAAO,GAAGA,MAEhB,IAnBKC,WAAa,SAASzP,GACzBsO,GAActO,CAChB,EC1HA,MAAM0P,GAAa,IAAIC,OAAO,IAAI1d,GAAOtG,MAAM,IAAIlE,KAAI1C,GAAK,KAAKA,MAAKyC,KAAK,QAiD3E,IAAIooB,IAAkB,EAClBC,IAAgB,EAChBC,IAAqB,EACrBC,IAAuB,EACvBC,IAAkB,EAClBC,IAAkB,EAClBC,IAAgB,EAChBC,IAAoB,EACpBC,IAAqB,EACrBC,GAA2B,CAAE1d,MAAO,GAAIuH,MAAO,GAAIxH,KAAM,GAAI+G,KAAM,IACnE6W,IAAiB,EACjBC,IAAqB,EAErBC,GAAS,EACTC,IAAS,EAEb,MAAMC,GAAU,CAAC,MAAO,MAAO,UAAW,eACpCC,GAASD,GAAQzmB,OAAO,CAAC,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,MAAO,IAAK,KAAM,KAAM,MAAO,IAAK,KAAM,KAAM,OAAQ,QAAS,SAAU,WAAY,YAAa,WAAY,mBAAoB,KAAM,SAAU,KAAM,KAAM,YAAa,gBAAiB,MAAO,KAAM,KAAM,KAAM,OAC3R2mB,GAAQ,CAAC,IAAK,OACdC,GAAa,CACjB,KAAM,EACN,IAAK,EAAG,KAAM,EAAG,IAAK,EAAG,IAAK,EAC9B,IAAK,EAAG,IAAK,EACb,KAAM,EAAG,IAAK,EAAG,KAAM,EAAG,IAAK,EAAGC,GAAI,EAAGC,KAAM,EAAGC,MAAO,EAAG,SAAU,EAAG,WAAY,EAAG,YAAa,EAAGllB,SAAY,EAAG,mBAAoB,EAAGmlB,GAAI,EAAGC,IAAK,EAAGC,GAAI,EAAGC,IAAK,EACzKC,GAAM,EAAG,SAAU,EAAG,KAAM,EAAG,KAAM,EAAG,YAAa,EAAG,gBAAiB,EAAG,UAAW,EAAG,cAAe,EAAG,MAAO,EAAG,MAAO,EAC7HC,IAAO,EAAG,KAAM,EAChBC,GAAM,EAAG,KAAM,EAAG,KAAM,GAGpBrb,GAAU,2BAEAhK,GAAU4G,EAAoB8C,GAY5C,GAVAga,IADAha,EAAOA,GAAQ,IACD4b,UACd1B,GAAYla,EAAK6b,SACjB1B,GAAcna,EAAK8b,WACnB1B,GAASpa,EAAK6b,UAAY7b,EAAK+b,gBAC/B1B,GAASra,EAAK6b,UAAY7b,EAAKgc,iBAC/B/B,IAAO,EACPK,GAAOC,GAAWva,EAAK8G,SACvB0T,GAAYxa,EAAKic,SACjBrB,GAAS,EACTC,IAAS,EACL,aAAc7a,EAAM,CACtB,MAAMf,EAAIe,EAAKkc,SACf,GAAiB,kBAANjd,EAAiBwb,GAAaxb,EAA+C,CAAElC,MAAO,EAAGuH,MAAO,EAAGxH,KAAM,EAAG+G,KAAM,GAAhF,CAAE9G,MAAO,EAAGuH,MAAO,EAAGxH,KAAM,EAAG+G,KAAM,QAC7E,GAAiB,iBAAN5E,EAAgBwb,GAAY,CAAE1d,MAAOkC,EAAGqF,MAAOrF,EAAGnC,KAAMmC,EAAG4E,KAAM5E,OAC5E,CACH,MAAM/E,EAAK+E,EAAEoU,MAAsB,IAAXpU,EAAEoU,KAAgB,EAAIpU,EAAEoU,KAA5B,EACpBoH,GAAY7mB,OAAOiQ,KAAK4W,IAAWvqB,QAAO,CAAC2C,EAAG9C,KAAO8C,EAAE9C,GAAKA,KAAKkP,GAAa,MAARA,EAAElP,GAAekP,EAAElP,IAAkB,IAATkP,EAAElP,GAAc,EAAIkP,EAAElP,GAA1B,EAAgCmK,EAAGrH,IAAI,UAElI4nB,GAAY,CAAE1d,MAAO,GAAIuH,MAAO,GAAIxH,KAAM,GAAI+G,KAAM,IAG3D,OAFA6W,GAAQ1a,EAAKmc,SACbxB,GAAY3a,EAAKoc,UACZlC,IAA8B,iBAAVhd,GAAsBA,GAAS,OAAQA,GAAsB,UAAbA,EAAMlG,GAgLjF,SAA4BgG,GAC1B,OAAKA,EAAMF,MAASE,EAAMF,KAAK9M,OACxBgN,EAAMF,KAAKjL,KAAI,CAACgB,EAAGzC,KAAOyqB,GAAe,IAANzqB,EAASisB,GAAWxpB,MAAKjB,KAAK,MAD1B,EAEhD,CAnLwG0qB,CAAmBpf,GAC7Gmf,GAAWnf,EACzB,CAEA,SAASqf,GAAKptB,EAAQ0kB,EAAatiB,GAEjC,GADApC,EAAI,GAAGA,KACF0kB,EAAK,OAAO1kB,EACjB,IAAK,IAAIiB,EAAIjB,EAAEa,OAAQI,EAAImB,EAAKnB,IAC9BjB,EAAI0kB,EAAM1kB,EAEZ,OAAOA,CACT,CAQA,SAASktB,GAAWnf,GAClB,GAAa,MAATA,EAAe,MAAO,GAC1B,GAAqB,iBAAVA,EAAoB,OAAOA,EACtC,IAAIsf,EACJ,GAAIlC,KAAS,OAAQpd,GAAS,MAAOA,GACnC,GAAI,OAAQA,GACV,GAAiB,OAAbA,EAAMlG,IAA4B,SAAbkG,EAAMlG,IAA8B,WAAbkG,EAAMlG,IAAgC,SAAbkG,EAAMlG,GAC7EwlB,EAkeR,SAAgCxlB,GAC9BsjB,IAAO,EACP,MAAMrY,EAAOoa,GAAWrlB,EAAG8F,KAAK,IAChCwd,IAAO,EACP,MAAMvpB,EAAQsrB,GAAWrlB,EAAG8F,KAAK,IACjC,IAAInN,EAAM,KAAKqH,EAAGA,MAAMiL,MAAmB,SAAVjL,EAAGA,IAA2B,SAAVA,EAAGA,GAAgBjG,EAAMnC,MAAM,GAAKmC,IACzF,GAAc,WAAViG,EAAGA,GAAiB,MAAO,GAAGrH,SAClC,IAAK,IAAIS,EAAI,EAAGA,EAAI4G,EAAG8F,KAAK9M,OAAQI,IAClC,GAAIA,EAAI,GAAK4G,EAAG8F,KAAK9M,OAAQ,CAC3B,MAAM4Q,EAAM5J,EAAG8F,KAAK1M,GACpB,GAAmB,iBAARwQ,GAAoB,MAAOA,GAAiB,KAAVA,EAAIzR,EAAU,SACtDQ,GAAO,WAAW0sB,GAAWzb,UAElC0Z,IAAO,EACP3qB,GAAO,YAAY0sB,GAAWrlB,EAAG8F,KAAK1M,UACtCkqB,IAAO,EACP3qB,GAAO0sB,GAAWrlB,EAAG8F,KAAK1M,IAI9B,OADAT,GAAO,QACAA,CACT,CAvfmB8sB,CAAuBvf,QAC7B,GAAiB,SAAbA,EAAMlG,GACfwlB,EAufR,SAA+BxlB,GAC7B,MAAM7G,EAAO6G,EAAG8F,KAAK9M,OAAS,EACxBwN,EAAQxG,EAAG8F,KAAKjL,KAAI,CAACgB,EAAGzC,KAC5BkqB,IAAO,EACG,IAANlqB,GAAWA,EAAI,GAAM,IAAGkqB,IAAO,GAC/BlqB,IAAMD,IAAMmqB,IAAO,GACH,iBAANznB,GAAkB,OAAQA,EAAIwpB,GAAWxpB,GAAGwH,QAAQqiB,GAAQ,KAAOL,GAAWxpB,MAE9FynB,IAAO,EACP,IAAI3qB,EAAM,KAAKqH,EAAGA,MAAMwG,EAAM,WAAWA,EAAM,OAC/C,IAAK,IAAIpN,EAAI,EAAGA,GAAKD,EAAMC,IACTT,GAAZS,IAAMD,EAAa,WAAWqN,EAAMpN,KAC/BA,EAAI,GAAM,EAAU,UAAUoN,EAAMpN,OACjCoN,EAAMpN,GAGpB,OADAT,GAAO,QACAA,CACT,CAxgBmBgtB,CAAsBzf,QAC5B,GAAIA,EAAMlG,GAAI,CACnB,GAAiB,MAAbkG,EAAMlG,GAAY,OAAOkG,EAAMJ,KAAKjL,KAAIgB,GAAKwpB,GAAWxpB,KAAIjB,KAAK,IAChE,CACH0oB,IAAO,EACP,MAAM3qB,EAAM,KAAK0sB,GAAwB,WAAbnf,EAAMlG,GAAkBkG,EAAMJ,KAAK,GAAKI,OACpEod,IAAO,EACPkC,EAAW7sB,QAGV,CACL2qB,IAAO,EACP,MAAM3qB,EAAM,KAAK0sB,GAAWnf,OAC5Bod,IAAO,EACPkC,EAAW7sB,OAER,GAAI,MAAOuN,EAChB,GAAuB,iBAAZA,EAAM9I,EAAgBooB,EAAW,SAAS9N,KAAKxR,EAAM9I,GAAK,IAAI8I,EAAM9I,IAAM8I,EAAM9I,MACtF,CACH,MAAMA,EAAI8I,EAAM9I,EAChBooB,EAAW,GAnCjB,SAAclf,EAAc/L,GAC1B,IAAI5B,EAAM,GACV,IAAK,IAAIS,EAAI,EAAGA,EAAImB,EAAKnB,IAAKT,GAAO2N,EACrC,OAAO3N,CACT,CA+BoBitB,CAAK,IAAKxoB,EAAE2J,GAAK,KAAK3J,EAAEJ,GAAK,KAAKI,EAAE0J,EAAEjM,KAAI,CAACmC,EAAG5D,IACzC,iBAAN4D,GAAkB8lB,GAAWpL,KAAK1a,GAAW,GAAG5D,EAAI,GAAK,OAAOisB,GAAW,CAAEltB,EAAG6E,OACrE,iBAANA,GAA+B,iBAANA,EAAuB,GAAG5D,EAAI,IAAM,KAAK4D,IACtE,IAAIqoB,GAAWroB,QAC1BpC,KAAK,WAEL,GAAI,OAAQsL,EACjBsf,EAoDJ,SAAqBtf,GACnB,IAAIlG,EAAKkG,EAAMlG,IACVujB,KAAsB,IAAVG,IAAoBA,MACxB,MAAP1jB,EAAYA,EAAK,KACL,OAAPA,EAAaA,EAAK,MACX,MAAPA,EAAYA,EAAK,KACV,OAAPA,EAAaA,EAAK,MACX,OAAPA,IAAaA,EAAK,QAE7B,GAAKojB,IAAiB,UAAPpjB,GAAmBkG,EAAM8C,KAEjC,IAAKqa,IAAiB,WAAPrjB,IAAmBkG,EAAMJ,MAASI,EAAMJ,KAAK2K,MAAK,CAAC5U,EAAGzC,IAAMA,EAAI,GAAM,IAAmB,iBAANyC,KAAoB,MAAOA,IAAqB,iBAARA,EAAE1D,KAG5I,IAAI+qB,GACT,OAAKhd,EAAMJ,MAASI,EAAMJ,KAAK9M,OACxB6sB,GAAS,IAAI7lB,KAAOkG,EAAMJ,KAAMI,EAAM8C,KAAM,IAAK,GADV,IAAIhJ,KAE7C,GAAW,OAAPA,GAAsB,WAAPA,GAAmBkG,EAAMJ,MAAQI,EAAMJ,KAAK9M,OAAS,EAC7E,OAsSJ,SAAqBgH,GACnB,IAAKA,EAAG8F,MAAQ9F,EAAG8F,KAAK9M,OAAS,EAAG,MAAO,QAE3C,IAAI6E,EAAM,GAEV,MAAM1E,EAAO6G,EAAG8F,KAAK9M,OAAS,EACxBgN,IAAUhG,EAAG8F,KAAK2K,MAAK,CAACzT,EAAG5D,KAAOA,EAAI,GAAM,GAAKA,IAAMD,IAAS2sB,GAAQ9oB,KAE9E4mB,KACA,MAAMpd,EAAQxG,EAAG8F,KAAKjL,KAAI,CAACgB,EAAGzC,IAAMisB,IAAWrf,GAAU5M,EAAI,GAAM,GAAKA,IAAMD,GAAU2sB,GAAQjqB,GAAkCA,EAA7B,CAAEmE,GAAI,QAAS8F,KAAM,CAACjK,OAC3H+nB,KAEA,MAAMmC,EAAOvf,EAAMiK,MAAKzT,GAAKA,EAAEhE,OAAS,KAAOgE,EAAE5C,QAAQ,SAAU,GACnE,IAAI2E,EAAQykB,GAAY,GAAKhd,EAAMxN,OAAS,GAAK+sB,EAAO,KAAKR,GAAK,GAAI,KAAM3B,MAAY,GACxF,MAAMoC,EAAUD,GAAQ,GAAGhnB,OAAa,IACxCA,EAAQA,GAAS,IACjB,IAAK,IAAI3F,EAAI,EAAGA,GAAKD,EAAMC,IACzB,GAAU,IAANA,EACF,GAAI4M,EAAOnI,GAAO,MAAM2I,EAAMpN,QAAQ6sB,GAAW,KAAMzf,EAAMpN,IAAI8sB,iBAC5D,CACH,MAAMjb,EAAOzE,EAAMpN,KACnByE,GAAO,MAAMoN,KAAQA,EAAK7Q,QAAQ,MAAQ2E,EAAQ,UAAUinB,IAAUxf,EAAMpN,GAAG8sB,kBAExE9sB,IAAMD,EACX6M,EAAOnI,EAAMA,EAAIsoB,YAAc,SAASF,GAAW,KAAMzf,EAAMpN,IAAI8sB,aAClEroB,GAAO,GAAGkB,QAAYinB,IAAUxf,EAAMpN,GAAG8sB,aAE1ClgB,EAAOnI,EAAMA,EAAIsoB,YAAc,SAAS3f,EAAMpN,QAAQ6sB,GAAW,KAAMzf,EAAMpN,IAAI8sB,aAChFroB,GAAO,GAAGkB,SAAayH,EAAMpN,YAAY4sB,IAAUxf,EAAMpN,GAAG8sB,cAGhElgB,GAAS4d,KAAQ/lB,GAAO,GAAGkB,QAEhC,OAAOlB,CACT,CAxUWuoB,CAAYlgB,GACd,GAAW,SAAPlG,GAAiBkG,EAAMJ,MAAQI,EAAMJ,KAAK9M,OAAS,EAC5D,OAyUJ,SAAuBgH,GACrB,IAAKA,EAAG8F,MAAQ9F,EAAG8F,KAAK9M,OAAS,EAAG,MAAO,QAE3C,IAAI6E,EAAM,GAEV,MAAM1E,EAAO6G,EAAG8F,KAAK9M,OAAS,EACxBgN,IAAUhG,EAAG8F,KAAK2K,MAAK,CAACzT,EAAG5D,KAAQA,EAAI,GAAKA,EAAI,GAAM,GAAMA,IAAMD,IAAS2sB,GAAQ9oB,KAEzF4mB,KACA,MAAMpd,EAAQxG,EAAG8F,KAAKjL,KAAI,CAACgB,EAAGzC,KAC5B,IAAIT,EAaJ,OAZU,IAANS,GAASwqB,KAGXjrB,EADEqN,IAAU5M,EAAI,GAAKA,EAAI,GAAM,GAAKA,IAAMD,GACpCksB,GAAWS,GAAQjqB,GAAKA,EAAI,CAAEmE,GAAI,QAAS8F,KAAM,CAACjK,KAC/CzC,EAAI,GAAM,GAAKA,IAAMD,EACxBksB,GAAWxpB,GAEE,iBAANA,GAAkB,OAAQA,EAAIwpB,GAAWxpB,GAAGwH,QAAQqiB,GAAQ,KAAOL,GAAWxpB,GAGnF,IAANzC,GAASwqB,KAENjrB,CAAG,IAEZirB,KAEA,MAAMmC,EAAOvf,EAAMiK,MAAKzT,GAAKA,EAAEhE,OAAS,KAAOgE,EAAE5C,QAAQ,SAAU,GACnE,IAAI2E,EAAQykB,GAAY,GAAKhd,EAAMxN,OAAS,GAAK+sB,EAAO,KAAKR,GAAK,GAAI,KAAM3B,MAAY,GACxF,MAAMyC,EAAStnB,EAAQ,GAAGA,MAAY,IAChCinB,EAAUD,GAAQ,GAAGM,OAAc,IACzCtnB,EAAQA,GAAS,IACjB,IAAK,IAAI3F,EAAI,EAAGA,GAAKD,EAAMC,IACzB,GAAU,IAANA,EACSyE,GAAO,QAAQ2I,EAAMpN,UAE3B,GAAIA,IAAMD,EACX6M,EAAOnI,EAAMA,EAAIsoB,YAAcE,EAAS,QAAQJ,GAAW,KAAMzf,EAAMpN,IAAI8sB,aAC1EroB,GAAO,GAAGwoB,QAAaL,IAAUxf,EAAMpN,GAAG8sB,kBAE/C,GAAIlgB,EAAOnI,EAAMA,EAAIsoB,YAAcE,EAAS,QAAQ7f,EAAMpN,QAAQ6sB,GAAW,KAAMzf,EAAMpN,IAAI8sB,iBACxF,CACH,MAAMjb,EAAOzE,EAAMpN,KACnByE,GAAO,GAAGwoB,SAAcpb,KAAQA,EAAK7Q,QAAQ,MAAQisB,EAAS,UAAUL,IAAUxf,EAAMpN,GAAG8sB,cAI5FlgB,GAAS4d,KAAQ/lB,GAAO,GAAGkB,QAEhC,OAAOlB,CACT,CA3XWyoB,CAAcpgB,GAChB,GAAW,MAAPlG,GAAckG,EAAMJ,MAAQI,EAAMJ,KAAK9M,OAAS,GAAKutB,GAAoBvmB,EAAIkG,GAAQ,CAE9F,MAAO,IADMsgB,GAAqBxmB,EAAIkG,GACtBrL,KAAIgB,GAAkB,iBAANA,GAAkB,MAAOA,GAAoB,iBAARA,EAAE1D,EAAiB0D,EAAE1D,EAAEkL,QAAQ,SAASlL,GAAK,KAAKA,MAAKkL,QAAQ,MAAO,OAAS,IAAIgiB,GAAWxpB,QAAOjB,KAAK,OAC1K,IAAY,QAAPoF,GAAuB,WAAPA,IAAoBkG,EAAMJ,MAAiC,iBAAlBI,EAAMJ,KAAK,IAAmB,MAAOI,EAAMJ,KAAK,IAAiC,iBAApBI,EAAMJ,KAAK,GAAG3N,EAAgB,CAC9J,MAAMgQ,EAAMjC,EAAMJ,KAAK,GACvB,IAAIgZ,EAAKuG,GAAWld,GAEpB,MADmB,iBAARA,GAAoB,OAAQA,IAAQ4b,GAAOzc,SAASa,EAAInI,KAAOgkB,GAAM1c,SAASa,EAAInI,OAAM8e,EAAK,IAAIA,MACxG5Y,EAAM8C,KAAa,GAAG8V,KAAM,CAAC5Y,EAAMJ,KAAK,GAAG3N,KAAK0tB,GAAS,IAAK3f,EAAMJ,KAAKlO,MAAM,GAAIsO,EAAM8C,KAAM,OACvF,GAAG8V,KAAM,CAAC5Y,EAAMJ,KAAK,GAAG3N,GAAGkF,OAAO6I,EAAMJ,KAAKlO,MAAM,GAAGiD,KAAIgB,GAAKwpB,GAAWxpB,MAAKjB,KAAK,OAC3F,KAAImpB,GAAOzc,SAAStH,IAAOkG,EAAMJ,MAAQI,EAAMJ,KAAK9M,OAAS,IAAMkN,EAAM8C,MAAU8a,GAAQxc,SAAStH,IAA6B,IAAtBkG,EAAMJ,KAAK9M,OAMtH,IAAIgrB,GAAM1c,SAAStH,IAAOkG,EAAMJ,MAA8B,IAAtBI,EAAMJ,KAAK9M,OAAc,CACtE,MAAM4Q,EAAM1D,EAAMJ,KAAK,GACvB,MAAmB,iBAAR8D,GAAoB,OAAQA,IAAQma,GAAOzc,SAASsC,EAAI5J,KAAOgkB,GAAM1c,SAASsC,EAAI5J,KAAa,GAAGA,KAAMqlB,GAAWzb,MAClH,GAAG5J,IAAKsJ,GAAQoO,KAAK1X,GAAM,IAAM,KAAKqlB,GAAWzb,KACxD,GAAW,UAAP5J,EAAgB,CACzB,IAAKkG,EAAMJ,OAASI,EAAMJ,KAAK9M,OAAQ,MAAO,GAE9C4qB,KACA,MAAM6C,EAAK5C,GACLrd,EAAQN,EAAMJ,KAAKjL,KAAI,CAACgB,EAAGzC,KAAOyqB,GAAe,IAANzqB,EAASisB,GAAWxpB,MACrEgoB,GAAS4C,EACT,IAAI1nB,EAAQykB,GAAY,GAAK,KAAK+B,GAAK,GAAI,KAAM3B,MAEjD,OADAA,KACqB,IAAjBpd,EAAMxN,SAAkBwN,EAAM,GAAGpM,QAAQ,MACtC,IAAI2E,IAAQyH,EAAM5L,KAAKmE,OAAWwmB,GAAK,GAAI,KAAM3B,OADG,KAAKpd,EAAM,OAEjE,GAAY,QAAPxG,GAAuB,QAAPA,IAAiBkG,EAAMJ,MAA8B,IAAtBI,EAAMJ,KAAK9M,OAQ/D,MAAW,QAAPgH,GAAsC,IAAtBkG,EAAMJ,KAAK9M,QAAyC,iBAAlBkN,EAAMJ,KAAK,IAAmB,MAAOI,EAAMJ,KAAK,IAAiC,iBAApBI,EAAMJ,KAAK,GAAG3N,GAAkB,MAAO+N,EAAMJ,KAAK,GAAG3N,EACtK,GAAGktB,GAAWnf,EAAMJ,KAAK,MAAMuf,GAAW,CAAEjoB,EAAG,CAAE0J,EAAG,CAAC,KAAKzJ,OAAO6I,EAAMJ,KAAK,GAAG3N,EAAE2O,MAAQpH,OAAO,KAC9F4J,GAAQoO,KAAK1X,GACf6lB,GAAS,GAAG7lB,KAAOkG,EAAMJ,MAAQ,GAAII,EAAM8C,KAAM,IAAK,GAExD9C,EAAMJ,MAASI,EAAMJ,KAAK9M,OACxB6sB,GAAS,IAAI7lB,KAAOkG,EAAMJ,KAAMI,EAAM8C,KAAM,IAAK,GADV,IAAIhJ,KAbgC,CAClF,IAAI6O,EACAjF,EAAM1D,EAAMJ,KAAK,GAKrB,OAJ6B+I,EAAV,iBAARjF,EAAyBA,EAC3B,MAAOA,GAAwB,iBAAVA,EAAIzR,EAAuByR,EAAIzR,EACpD,MAAOyR,GAAwB,iBAAVA,EAAIzR,GAAkB,MAAOyR,EAAIzR,EAAUktB,GAAW,CAAEjoB,EAAGwM,EAAIzR,IACjFktB,GAAWzb,GAChB,GAAG5J,KAAM6O,OAAUwW,GAAWnf,EAAMJ,KAAK,OA5B0F,CAC1I,IAAIU,EAAQN,EAAMJ,KAAKjL,KAAI,CAACgB,EAAGzC,IAjEnC,SAA2B4G,EAAY4J,EAAkB9R,GACvD,IAAIa,EACO,OAAPqH,GAAuB,IAARlI,GAA4B,iBAAR8R,GAAoB,OAAQA,GAAkB,OAAXA,EAAI5J,KAAarH,EAAM,IAAI0sB,GAAWzb,OAE1CjR,EADnD,iBAARiR,GAAoB,OAAQA,IACjCma,GAAOzc,SAASsC,EAAI5J,KAAOikB,GAAWra,EAAI5J,IAAMikB,GAAWjkB,IAC3C,OAAX4J,EAAI5J,IAA0B,WAAX4J,EAAI5J,IAA8B,SAAX4J,EAAI5J,IAA4B,QAAX4J,EAAI5J,IAA2B,WAAX4J,EAAI5J,IADtB,IAAIqlB,GAAWzb,MAG9Eyb,GAAWzb,GACxB,OAAOjR,CACT,CAwDyC+tB,CAAkB1mB,EAAInE,EAAS,IAANzC,EAAU,EAAI,KAC5E,MAAM2sB,EAAOvf,EAAMiK,MAAKzT,GAAKA,EAAEhE,OAAS,KAAOgE,EAAE5C,QAAQ,SAAUoM,EAAMtN,QAAO,CAAC2C,EAAG9C,IAAM8C,EAAI9C,EAAEC,QAAQ,IAAMwN,EAAMxN,OAAS,EACvH+F,EAAQykB,GAAY,IAAMuC,EAAO,KAAKR,GAAK,GAAI,KAAM3B,GAAS,KAAO,IAE3E,OADI7kB,EAAM/F,OAAS,IAAOwqB,IAAauC,KAAOvf,EAAQ,CAACA,EAAM,IAAInJ,OAAOmJ,EAAM5O,MAAM,GAAGiD,KAAImC,GA6L/F,SAAmB2pB,EAAgB9oB,GACjC,OAAOA,EAAIwF,QAAQ,OAAQ,KAAKsjB,IAClC,CA/LoGC,CAAU,KAAM5pB,OACzG,GAAGwJ,EAAM,MAAMxG,IAAKjB,IAAQyH,EAAM5O,MAAM,GAAGgD,KAAK,IAAIoF,IAAKjB,EAAM/F,OAAS,EAAI,GAAG+F,IAAUA,QAvBhG,OAAKmH,EAAMJ,MAASI,EAAMJ,KAAK9M,OACxB6sB,GAAS,IAAK3f,EAAMJ,KAAMI,EAAM8C,KAAM,IAAK,GADJ,KAF9C,OAAO6c,GAAS,IAAK3f,EAAMJ,KAAMI,EAAM8C,KAAM,IAyDjD,CAvHe6d,CAAY3gB,QAClB,GAAIgK,GAAchK,GAAQ,CAC/B,MAAM4gB,EAAUvD,KAAsB,IAAVG,IAAoBA,GAAS,KAAO,IAC9C8B,EAAd,MAAOtf,EAAkB,IAAIA,EAAMxM,EAAEkB,KAAKuoB,GAAc,KAAO,UAAU2D,KAASzB,GAAWnf,EAAMrK,KACvF,IAAIirB,IAAQzB,GAAWnf,EAAMrK,SACpC,MAAOqK,EAChBsf,EAwHJ,SAA0Btf,GACxB,GAAgB,IAAZA,EAAM/I,EAAS,CACjBymB,KACA,MAAMjrB,EAAMouB,GAAgB7gB,EAAM/N,GAElC,GADAyrB,MACKjrB,EAAIyB,QAAQ,MAAO,CACtB,MAAMmY,EAAQiR,GAAY,IAAM,KAAK+B,GAAK,GAAI,KAAM3B,MACpD,MAAO,KAAKrR,IAAkB,MAAVA,EAAgB,KAAO,KAAK5Z,IAAM4Z,KACjD,MAAO,KAAK5Z,KACd,GAAuB,iBAAZuN,EAAM/N,EACtB,OAAImrB,GAAapd,EAAM/N,EAAEkL,QAAQ,SAAU,UAAUA,QAAQ,MAAO,SAC/D4f,IAASD,IAAYF,GAAWpL,KAAKxR,EAAM/N,KAAM+N,EAAM/N,EAAEa,QACnDkN,EAAM/N,EAAEiC,QAAQ,MAChB8L,EAAM/N,EAAEiC,QAAQ,MAChB8L,EAAM/N,EAAEiC,QAAQ,KACf,IAAI8L,EAAM/N,EAAEkL,QAAQ,SAASlG,GAAK,KAAKA,MAAKkG,QAAQ,OAAQ,WADhC,IAAI6C,EAAM/N,KADV,KAAK+N,EAAM/N,EAAEkL,QAAQ,SAASlL,GAAK,KAAKA,MAAKkL,QAAQ,OAAQ,YAD7D,IAAI6C,EAAM/N,EAAEkL,QAAQ,SAASlL,GAAK,KAAKA,MAAKkL,QAAQ,OAAQ,WADvB,GAAG4f,GAAO,GAAK,MAAM/c,EAAM/N,IAKnG,GAAuB,iBAAZ+N,EAAM/N,GAAqC,kBAAZ+N,EAAM/N,GAA+B,SAAZ+N,EAAM/N,GAA4B,UAAZ+N,EAAM/N,EACpG,MAAO,GAAG+N,EAAM/N,IACX,GAAgB,cAAZ+N,EAAM/N,QAAiCR,IAAZuO,EAAM/N,EAC1C,MAAO,YACF,GAAgB,SAAZ+N,EAAM/N,GAA4B,OAAZ+N,EAAM/N,EACrC,MAAO,OACF,GAAIiK,MAAMC,QAAQ6D,EAAM/N,GAC7B,OAAIirB,GAAeyC,GAAS,SAAU3f,EAAM/N,EAAE0C,KAAI1C,KAAQA,QAAO,KAAM,IAAK,KAAM,SAC3E0tB,GAAS,IAAK3f,EAAM/N,EAAE0C,KAAI1C,KAAQA,QAAO,KAAM,IAAK,KAAM,SAC5D,GAAuB,iBAAZ+N,EAAM/N,EACtB,OAAI8Y,GAAU/K,EAAM/N,GACX6uB,GAAc9gB,EAAM/N,GAEpB0tB,GAAS,IAAKjpB,OAAOqqB,QAAQ/gB,EAAM/N,GAAGe,QAAO,CAAC2C,EAAG9C,KAAO8C,EAAE5C,KAAK,CAAEd,EAAGY,EAAE,IAAM,CAAEZ,EAAGY,EAAE,KAAO8C,IAAI,IAAK,KAAM,IAAK,EAAG,OAG9H,CAxJeqrB,CAAiBhhB,GACnB+K,GAAU/K,GACnBsf,EAAWwB,GAAc9gB,GAChBgL,GAAWhL,KACpBsf,EA8OJ,SAA2Btf,GACzB,GAAqB,iBAAVA,GAAsBpB,GAAaoB,GAAQ,CACpD,IAAIrI,EAAM,GACNspB,EAAMliB,KAAK0d,IAAI3d,GAAiBkB,IAOpC,OANAkhB,GAAShV,SAAQtL,IACf,MAAM9M,EAAIiL,KAAKC,MAAMiiB,EAAM1iB,GAAUqC,IACrCqgB,GAAY1iB,GAAUqC,GAClB9M,IAAG6D,GAAO,GAAG7D,IAAI8M,IAAG,IAEtBqgB,IAAKtpB,GAAO,GAAGspB,OACZ,IAAItpB,KACN,CACL,MAAMoK,EAAI/B,EAAMpK,EAChB,IAAI+B,EAAM,GAIV,OAHAwpB,GAAUjV,SAAQ,CAACtL,EAAG1N,KACR,MAAR6O,EAAE7O,KAAYyE,GAAO,GAAGoK,EAAE7O,KAAK0N,IAAG,IAEjC,IAAIjJ,KAEf,CAjQeypB,CAAkBphB,IAK/B,MAFI,MAAOA,GAASA,EAAMnN,EAAEC,SAAQwsB,GAAY3B,GAAS,GAAK,MAAQ3d,EAAMnN,EAAE8B,KAAI9B,GAAK,GAAGwsB,GAAK,GAAI,KAAM3B,SAAa7qB,QAAO6B,KAAK,IAAM,GAAG2qB,GAAK,GAAI,KAAM3B,MAAU4B,KAE7JA,CACT,CAaA,SAASe,GAAoBvmB,EAAYkG,GACvC,GAAIA,EAAMJ,MAAQI,EAAMJ,KAAK2K,MAAK5U,GAAkB,iBAANA,GAA0C,iBAAhBA,EAAU1D,IAAiB,OAAO,EAC1G,IAAK+N,EAAMJ,OAASI,EAAMJ,KAAK9M,OAAQ,OAAO,EAC9C,MAAM8Q,EAAO5D,EAAMJ,KAAK,GACxB,MAAoB,iBAATgE,GAAqB,OAAQA,GAAQA,EAAK9J,KAAOA,GAAWumB,GAAoBvmB,EAAI8J,EAEjG,CAEA,SAAS0c,GAAqBxmB,EAAYkG,EAAkBqhB,EAAqB,IAC/E,GAAIrhB,EAAMJ,MAAQI,EAAMJ,KAAK9M,OAAQ,CACnC,IAAII,EAAI,EACR,KAAOA,EAAI8M,EAAMJ,KAAK9M,SACS,iBAAlBkN,EAAMJ,KAAK1M,IAAuD,iBAA5B8M,EAAMJ,KAAK1M,GAAWjB,GAD3CiB,IAC2DmuB,EAAItuB,KAAKiN,EAAMJ,KAAK1M,IAG7G,MAAM0Q,EAAO5D,EAAMJ,KAAK1M,GACJ,iBAAT0Q,GAAqB,OAAQA,GAAQA,EAAK9J,KAAOA,EAAIwmB,GAAqBxmB,EAAI8J,EAAMyd,GAC1FA,EAAItuB,KAAK6Q,GACdyd,EAAItuB,KAAKM,MAAMguB,EAAKrhB,EAAMJ,KAAKlO,MAAMwB,EAAI,IAE3C,OAAOmuB,CACT,CA8GA,SAASC,GAAiB3V,EAAW+C,GACnC,GAAc,MAAVA,EAAgB,MAAO,GAC3BA,GAAkB/C,EAClB,MAAM5J,EAAIhD,KAAK0d,IAAI/N,GACbhQ,EAAIK,KAAKC,MAAM+C,EAAI,IACnBlG,EAAIkG,EAAI,GACd,OAAK2M,EACO,GAAGA,EAAS,EAAI,IAAM,MAAMhQ,IAAI7C,EAAI,IAAIwjB,GAAKxjB,EAAG,IAAK,KAAO,KADpD,GAEtB,CAEA,MAAMqlB,GAAW,CAAC,IAAK,IAAK,IAAK,KAAM,KACjCC,GAAY,CAAC,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,MAClD,SAASL,GAAc9gB,GACrB,IAAIrI,EAAM,GACV,GAAIqI,aAAiB4C,KAAM,CACzB,MAAMpE,EAAIwB,EAAMyN,cACV5R,EAAImE,EAAM0N,WAAa,EACvB9X,EAAIoK,EAAM2N,UACVjP,EAAIsB,EAAMkP,WACVqS,EAAKvhB,EAAMiP,aACXhY,EAAI+I,EAAMmP,aACVtQ,EAAKmB,EAAMoP,kBASjB,OARAzX,EAAM,GAAG6G,KAAK6gB,GAAKxjB,EAAG,IAAK,MAAMwjB,GAAKzpB,EAAG,IAAK,KAC1C8I,EAAI6iB,EAAKtqB,EAAI4H,EAAK,IACpBlH,GAAO,IAAI0nB,GAAK3gB,EAAG,IAAK,MAAM2gB,GAAKkC,EAAI,IAAK,KACxCtqB,EAAI4H,EAAK,IACXlH,GAAO,IAAI0nB,GAAKpoB,EAAG,IAAK,KACpB4H,EAAK,IAAGlH,GAAO,IAAI0nB,GAAKxgB,EAAI,IAAK,QAGlC,IAAIlH,IAAM2pB,GAAiB,EAAGthB,EAAM2O,wBACtC,GAAIzS,MAAMC,QAAQ6D,EAAM1I,GAAI,CACjC,MAAM3B,EAAIqK,EAAM1I,EAUhB,OATAK,EAAM,GAAGhC,EAAE,KACC,MAARA,EAAE,KAAYgC,GAAO,IAAI0nB,GAAK1pB,EAAE,GAAK,EAAG,IAAK,MACrC,MAARA,EAAE,KAAYgC,GAAO,IAAI0nB,GAAK1pB,EAAE,GAAI,IAAK,MACjC,MAARA,EAAE,KAAYgC,GAAO,IAAI0nB,GAAK1pB,EAAE,GAAI,IAAK,MACjC,MAARA,EAAE,KAAYgC,GAAO,IAAI0nB,GAAK1pB,EAAE,GAAI,IAAK,MACjC,MAARA,EAAE,KAAYgC,GAAO,IAAI0nB,GAAK1pB,EAAE,GAAI,IAAK,MACjC,MAARA,EAAE,KAAYgC,GAAO,IAAI0nB,GAAK1pB,EAAE,GAAI,IAAK,MACjC,MAARA,EAAE,KAAYgC,GAAO,IAAI2pB,IAAkB,EAAG3rB,EAAE,OAChD,MAAOqK,GAASA,EAAM9E,IAAGvD,GAAO,KAC7B,IAAIA,KACN,GAAgB,MAAZqI,EAAM1I,EAAW,CAC1B,GAAI4E,MAAMC,QAAQ6D,EAAM+B,GAKtB,OAJAof,GAAUjV,SAAQ,CAACtL,EAAG1N,KACF,MAAd8M,EAAM+B,EAAE7O,KAAYyE,GAAO,GAAGqI,EAAM+B,EAAE7O,KAAK0N,IAAG,IAEpDjJ,GAAO,GAAG,MAAOqI,IAAsB,IAAbA,EAAMpK,EAAW,OAAS,cAAc0rB,IAAkB,EAAGthB,EAAM4B,KACtF,IAAIjK,KACN,GAAuB,iBAAZqI,EAAM+B,EAAgB,CACtC,GAAgB,IAAZ/B,EAAM+B,EAAS,MAAO,QAC1B,IAAIkf,EAAMliB,KAAK0d,IAAIzc,EAAM+B,GAOzB,OANAmf,GAAShV,SAAQtL,IACf,MAAM9M,EAAIiL,KAAKC,MAAMiiB,EAAM1iB,GAAUqC,IACrCqgB,GAAY1iB,GAAUqC,GAClB9M,IAAG6D,GAAO,GAAG7D,IAAI8M,IAAG,IAEtBqgB,IAAKtpB,GAAO,GAAGspB,OACZ,IAAItpB,IAAMqI,EAAM+B,EAAI,EAAI,OAAS/B,EAAM+B,EAAI,EAAI,YAAc,KAAKuf,IAAkB,EAAGthB,EAAM4B,YAEjG,GAAI,MAAO5B,GAAqB,IAAZA,EAAMpK,GAAuB,IAAZoK,EAAM+B,EAChDpK,EAAM,IAAgB,MAAZqI,EAAM1I,EAAY,OAAqB,MAAZ0I,EAAM1I,EAAY,QAAU,iBAAiBgqB,IAAkB,EAAGthB,EAAM4B,KAAK5B,EAAM9E,EAAK,IAAO,UAC/H,IAAI,MAAO8E,GAAS9D,MAAMC,QAAQ6D,EAAMlM,GAAI,CACjD,MAAM6B,EAAIqK,EAAMlM,EAUhB,OATA6D,GAASqI,EAAM+B,EAAI,EAAI,YAAc/B,EAAM+B,EAAI,EAAI,WAAa,SAA1D,OACDpM,EAAE,IAAOA,EAAE,IAAOA,EAAE,IAAOA,EAAE,GAChB,KAATA,EAAE,IAAcA,EAAE,IAAOA,EAAE,IAAOA,EAAE,IAE3CgC,GAAOhC,EAAE,GACG,MAARA,EAAE,KAAYgC,GAAO,IAAI0nB,GAAK1pB,EAAE,GAAI,IAAK,MACjC,MAARA,EAAE,KAAYgC,GAAO,IAAI0nB,GAAK1pB,EAAE,GAAI,IAAK,MACjC,MAARA,EAAE,KAAYgC,GAAO,IAAI0nB,GAAK1pB,EAAE,GAAI,IAAK,OALEgC,GAAO,OADlBA,GAAO,WAQtC,IAAIA,IAAM2pB,IAAkB,EAAG3rB,EAAE,MAAMqK,EAAM9E,EAAI,IAAM,MACzD,KAAM,MAAO8E,MAAY,MAAOA,KAAW9D,MAAMC,QAAQ6D,EAAM1I,GAAI,CACxE,MAAMrF,EAAI+N,EAMV,MALY,MAAR/N,EAAEqF,EACJK,GAAO,IAAG1F,EAAE8P,EAAI,EAAI,YAAc9P,EAAE8P,EAAI,EAAI,WAAa,SAEzDpK,GAAO,GAAG1F,EAAE8P,EAAI,EAAI,OAAS9P,EAAE8P,EAAI,EAAI,OAAS,UAAkB,MAAR9P,EAAEqF,EAAY,OAAiB,MAARrF,EAAEqF,EAAY,QAAU,SAEpG,IAAIK,IAAM2pB,IAAkB,EAAGrvB,EAAE2P,KAAK3P,EAAEiJ,EAAI,IAAM,OAG3D,OAAOvD,CACT,CAuBA,MAAM6pB,GAAe,OACfC,GAAkB,SACxB,SAAS1B,GAAWU,EAAgB9oB,GAClC,OAAI8oB,EAAe9oB,EAAIwF,QAAQskB,IAAiBxqB,GAAKA,EAAEuC,OAAOinB,EAAO3tB,UACzD6E,CACd,CAKA,SAASgoB,GAASnI,EAAc5X,EAAqBkD,EAAmB4e,EAAeC,EAAiBC,GACtG,KAAMhiB,GAASA,EAAK9M,QAAYgQ,GAAM,MAAO,GAAG0U,IAAOkK,IACvDhE,KACA,MAAM6C,EAAK5C,GACX,IAAIrd,EACJ,GAAIqhB,EAAQ,CACVrhB,EAAQ,GACR,IAAK,IAAIpN,EAAI,EAAGA,EAAI0M,EAAK9M,OAAQI,IAC/B,GAAIA,EAAIyuB,GAAW,EACjB5E,IAAO,EACPzc,EAAMvN,KAAKosB,GAAWvf,EAAK1M,IAAM,KACjC6pB,IAAO,MACF,CACLW,KACAC,GAAe,IAANzqB,EACT,MAAMT,EAAM0sB,GAAWvf,EAAK1M,IACb,OAAXT,EAAI,GAAc6N,EAAMA,EAAMxN,OAAS,IAAM,IAAML,EAAI0K,QAAQqkB,GAAc,IAC5ElhB,EAAMA,EAAMxN,OAAS,IAAML,EAChCirB,WAIJpd,EAAQV,EAAKjL,KAAI,CAACgB,EAAGzC,KACnByqB,GAAe,IAANzqB,EACFisB,GAAWxpB,MAGtB,GAAImN,GAAwB,iBAATA,EAAmB,CACpC,MAAMlD,EAAO,OAAQkD,GAAQA,EAAKlD,KAAOkD,EAAKlD,KAAO,MAAOkD,EAAOpM,OAAOqqB,QAAQje,EAAK7Q,GAAGe,QAAO,CAAC2C,EAAG9C,KAAO8C,EAAE5C,KAAK,CAAEd,EAAGY,EAAE,IAAM,CAAEZ,EAAGY,EAAE,KAAO8C,IAAI,IAAM,GACxJ,IAAK,IAAIzC,EAAI,EAAGA,EAAI0M,EAAK9M,OAAQI,IAC/B,GAAIA,EAAI,GAAM,EACZ6pB,IAAO,EACPzc,EAAMvN,KAAKosB,GAAWvf,EAAK1M,IAAM,KACjC6pB,IAAO,MACF,CACLW,KACAC,GAAe,IAANzqB,EACT,MAAMT,EAAM0sB,GAAWvf,EAAK1M,IACb,OAAXT,EAAI,GAAc6N,EAAMA,EAAMxN,OAAS,IAAM,IAAML,EAAI0K,QAAQqkB,GAAc,IAC5ElhB,EAAMA,EAAMxN,OAAS,IAAML,EAChCirB,MAINA,KACAC,GAAS4C,EAET,IAAI7rB,EAAOuoB,GAAc,KAAO,IAChC,GAAIK,IAA8B,GAAhBhd,EAAMxN,UAAiBwN,EAAM,GAAGpM,QAAQ,MAAQ,MAAO,GAAGsjB,IAAOlX,EAAM5L,KAAKA,KAAQgtB,IACtG,IAAIG,EAAOtE,GAAUqE,GAAe,QACpC,MAAMzL,EAAO7V,EAAM5L,KAAKuoB,GAAc,KAAO,MACxC4E,IAAS1L,EAAKjiB,QAAQ,QAAO2tB,EAAO,GAC5B,IAATA,GAAc5E,KAAavoB,EAAO,OAEtC,MAAM2X,EAAQgT,GAAK,GAAI,KAAM3B,IAE7B,IAAKmE,EAAM,MAAO,GAAGrK,IAAOrB,IAAOuL,IAC9B,GAAa,IAATG,EAAY,MAAO,GAAGrK,MAASlX,EAAM3L,KAAImC,GAAK,GAAGuV,MAAUvV,MAAKpC,KAAKA,OAAU2X,IAAQqV,IAChG,GAAIvL,EAAKrjB,QAAU+uB,EAAM,MAAO,GAAGrK,IAAOrB,IAAOuL,IAEjD,IAAIjvB,EAAM,GAAG+kB,IACT7f,EAAM,GACV,MAAM1E,EAAOqN,EAAMxN,OAAS,EAC5B,IAAK,IAAII,EAAI,EAAGA,EAAIoN,EAAMxN,OAAQI,KAC3BoN,EAAMpN,GAAGgB,QAAQ,OAChByD,IAAKlF,GAAOkF,GAChBlF,GAAO,KAAqB,MAAhB6N,EAAMpN,GAAG,GAAa,GAAKmZ,EAAQ,OAAO/L,EAAMpN,KAAKA,IAAMD,EAAOyB,EAAO,KACrFiD,EAAM,KAGHA,IAAKA,GAAO,KAAK0U,OACtB1U,GAAO,GAAG2I,EAAMpN,KAAKA,IAAMD,EAAOyB,EAAO,KACrCiD,EAAI7E,QAAU+uB,IAChBpvB,GAAOkF,EACPA,EAAM,KAIV,OADIA,IAAKlF,GAAOkF,GACT,GAAGlF,MAAQ4Z,IAAQqV,GAC5B,CAEA,SAAS9B,GAAQ3tB,GACf,MAAoB,iBAANA,GAAkB,OAAQA,GAAc,UAATA,EAAE6H,EACjD,CAsCA,MAAM0lB,GAAS,oBA+FCqB,GAAgBre,EAAgB0c,GAG9C,QAFiBztB,IAAbytB,IAAwBzB,GAAYyB,IAEnC1c,EAAQ,MAAO,MACpB,MAAM1O,EAAI0O,EAAOyD,KACX6b,EAAKtf,EAAOuE,MAElB,IAAIgb,EAyDA1b,EAxDA2b,EAAM,GAAIxK,EAAO,GAAIkK,EAAQ,GAAIhtB,EAAO,GACxCmtB,EAAetE,GAAU1d,MAE7B,OAAQ/L,GACN,IAAK,SACL,IAAK,WACH,MAAMyS,KAASzS,EAAEI,QAAQ,MACzB,KAAMsO,EAAOqE,QAAWrE,EAAOqE,OAAO/T,QAAY0P,EAAOkE,MAAM,CAC7Dsb,EAAM,MAAKzb,EAAM,KAAO,IACxB,MAEFsb,EAAOtE,GAAU5W,KACjB+W,KACAqE,EAAOvf,EAAOqE,OAASrE,EAAOqE,OAAOlS,KAAI,CAAC2C,EAAGpE,KAC3C,MAAMyE,EAAMkpB,GAAgBvpB,GAC5B,OAAQA,EAAEgP,MAAQhP,EAAEgP,KAAKxT,QAAgB,IAANI,EAAU,GAAK,KAAKmsB,GAAK,GAAI,KAAM3B,OAAapmB,EAAEgP,KAAK3R,KAAI9B,GAAK,MAAMA,MAAK6B,KAAK,KAAK2qB,GAAK,GAAI,KAAM3B,OAAa,KAAK2B,GAAK,GAAI,KAAM3B,MAAY,IAAM,GAAGpmB,EAAE/F,OAAO+F,EAAEmP,SAAW,GAAK,QAAQ9O,GAAK,IAClO,GACD6K,EAAOkE,MAAMqb,EAAKhvB,KAAK,QAAQ8tB,GAAgBre,EAAOkE,SAC1DgX,KACAlG,EAAO,IACPkK,EAAQ,KAAInb,EAAM,KAAO,IACzB7R,EAAO,KACP,MACF,IAAK,QACL,IAAK,WACEZ,EAAEI,QAAQ,OAAOsjB,EAAO,SAAUkK,EAAQ,KACtClf,EAAO0E,QAAU1E,EAAO0E,OAAOpU,SAAQ0kB,EAAO,IAAKkK,EAAQ,KAChElK,GAAMkG,KACVqE,EAAOD,EAAGntB,KAAIkM,GAAKggB,GAAgBhgB,KACnCghB,EAAOtE,GAAUnW,MACjB1S,EAAOqtB,EAAKjvB,OAAS,GAAKivB,EAAKxX,MAAKtT,IAAMA,EAAE/C,QAAQ,QAAS,MAAQ,IACjEsjB,GAAMkG,KACV,MACF,IAAK,UACqCsE,EAAV,iBAAnBxf,EAAOG,QAA4B,IAAIH,EAAOG,QAAQxF,QAAQ,KAAM,UACpE,GAAGqF,EAAOG,UACrB,MACF,IAAK,QACL,IAAK,UACH,IAAK7O,GAAkB,IAAbA,EAAEhB,OAAc,CACxBkvB,EAAM,KACN,MAGFtE,KACAlG,EAAO,IAAKkK,EAAQ,MAAK5tB,EAAEI,QAAQ,MAAQ,KAAO,IAClDQ,EAAO,KACPqtB,EAAOD,EAAGntB,KAAIb,GAAK+sB,GAAgB/sB,KACnC4pB,KACA,MACF,QACEsE,EAAMxf,EAAOrB,KAAOrN,GAAK,MACrB0O,EAAOrB,KAAa,UAANrN,IAAekuB,GAAO,MAK5C,MAAM3V,EAAQiR,GAAY,IAAM+B,GAAK,GAAI,KAAM3B,IAE/C,GAAIlb,EAAO6D,KAAM,CAEfA,EADa3P,OAAOiQ,KAAKnE,EAAO6D,MAAMvN,OAC1BnE,KAAI,CAACiM,EAAG1N,KAClB,MAAM+uB,EAAMzf,EAAO6D,KAAKzF,GACxB,OAAQqhB,EAAI3b,MAAQ2b,EAAI3b,KAAKxT,QAAgB,IAANI,EAAU,GAAK,KAAKmZ,KAAW4V,EAAI3b,KAAK3R,KAAI9B,GAAK,MAAMA,MAAK6B,KAAK,KAAK2X,KAAW,KAAKA,IAAU,IAAM,QAAQzL,OAAOigB,GAAgBoB,IAAM,IACjLvtB,KAAK,KAAK2X,KAGf,IAAK2V,EAAK,CACR,MAAME,EAAK1K,IAAS8F,GAAY,GAAGjR,MAAYA,EACzC8V,EAAK7E,GAAY,GAAK,KACtB8E,EAAQ5K,EAAO,GAAGA,IAAO2K,IAAKD,IAAO,GACrCG,EAASX,EAAQ,GAAGS,IAAK9V,IAAQqV,IAAU,GACjD,GAAa,IAATG,EAAYG,EAAM,GAAGI,IAAQL,EAAKrtB,KAAKA,KAAQ2tB,SAC9C,GAAa,IAATR,EAAYG,EAAM,GAAGI,IAAQL,EAAKrtB,KAAK,GAAGA,IAAOytB,IAAKD,OAAQG,QAClE,CACH,IAAI9tB,EAAO,GAEX,MAAMtB,EAAO8uB,EAAKjvB,OAAS,EAC3B,IAAK,IAAII,EAAI,EAAGA,EAAI6uB,EAAKjvB,OAAQI,KAC1B6uB,EAAK7uB,GAAGgB,QAAQ,OACnBK,EAAO,GACPytB,IAAc,IAAN9uB,EAAU,GAAK,KAAOgvB,GAAMH,EAAK7uB,IAAMA,IAAMD,EAAOyB,EAAO,MAEnEstB,GAAOD,EAAK7uB,GAAIqB,GAAQwtB,EAAK7uB,GACzBA,IAAMD,IAAM+uB,GAAOttB,EAAMH,GAAQG,IAGnCH,EAAKzB,OAAS+uB,GAAQ3uB,IAAMD,MAAW8uB,EAAK7uB,EAAI,IAAM,IAAIgB,QAAQ,QACpE8tB,GAAO,GAAGG,IAAKD,IACf3tB,EAAO,IACFG,EAAKR,QAAQ,OAAM8tB,GAAO,OAIXA,GAAnBA,EAAI9tB,QAAQ,MAAa,GAAGkuB,IAAQJ,IAAMK,IACpC,GAAG7K,IAAgB,MAATA,EAAe,IAAM,KAAKwK,IAAe,MAATxK,GAAmC,MAAnBwK,EAAIxoB,QAAQ,GAAa,IAAM,KAAKkoB,KAU7G,OANKjE,IAAajb,EAAO0E,QAAU1E,EAAO0E,OAAOpU,SAC/CkvB,GAAO,KAAKxf,EAAO0E,OAAOvS,KAAI9B,GAAKssB,GAAWtsB,KAAI6B,KAAK,UAGrD2R,IAAM2b,EAAM,GAAG3b,MAASgG,MAAUA,IAAQ2V,KAEvCA,CACT,OC/vBaM,GAActhB,EACzBrM,EAAIc,GAAI8E,EAAI5C,EAAI,OAAQqG,GAAIwE,KAAUxE,GAAIzD,EAAI5C,EAAI,QAAQ,IAAM6K,KAAYA,IAC5E,CAAEjN,MAAM,EAAMD,YAAY,ICDtBonB,GAAM/nB,EAAIc,GAAI8E,EAAI5C,EAAI,MAAOuB,EAAM0D,MAAU,EAAEwe,EAAKsB,KAAStB,GAAOsB,GAAOA,IAC3E6F,GAAY5tB,EAAIc,GAAIinB,GAAK/kB,EAAI,IAAK,KAAM+kB,KAAM,EAAEvqB,GAAQC,KAAS,CAACD,EAAOC,KACzEowB,GAAa7tB,EAAIc,GAAIkC,EAAI,IAAK,KAAMqG,GAAI0e,KAAM,EAAE+F,GAAO/F,KAAkB,MAAT+F,EAAe,EAAEC,IAAUhG,EAAM,GAAyB,CAACA,EAAM,EAAGgG,OAK7H7T,GAAQ7N,EAFNlF,GAAQpB,EAFJ/F,EAAIgD,EAAI,MAAM,IAAM,EAAE+qB,IAAUA,OAEaH,GAAWC,GAAY9F,IAAMxjB,EAAM+F,aAAe,SAE1E,CAAE1J,MAAM,aCZhCb,MAAQqtB,GACtB,OAAOA,EAAKxc,QAAOtO,GAAKA,IAAGvC,KAAK,IAClC,CAMA,MAAMiuB,GAAa,CAACC,EAASC,IAAYD,GAAMC,EACzCC,GAAc,CAACF,EAASC,IAAYD,IAAOC,EAe3CE,GAAU,iBAMAC,GAAKJ,EAASC,EAASI,GACrC,MAAMhd,EAAOgd,GAA0B,iBAAVA,EAAqBA,EAAMhd,KAAOgd,EAE/D,OAAOC,GAAMN,EAAIC,EAAI,GAAI,GADE,mBAAT5c,EAAsBA,EAAgB,WAATA,EAAoB6c,GAAcH,GAC/B,iBAAVM,EAAqBA,EAAME,cAAW1xB,EAChF,CAEA,SAASyxB,GAAMN,EAASC,EAASla,EAAcqa,EAAYC,EAAsCvjB,GAC/F,GAAkB,iBAAPkjB,GAAiC,iBAAPC,EACnC,OAAID,IAAOC,IACXG,EAAKra,GAAQ,CAACia,EAAIC,IADIG,EAKxB,IAAIpT,EACJ,GAAI1T,MAAMC,QAAQymB,IAAO1mB,MAAMC,QAAQ0mB,IAAOnjB,IAAUkQ,EAnB1D,SAAuBjb,EAAkBgU,GAEvC,OAAOhU,EAAI,GADDgU,EAAK9P,MAAM,KAAK7F,QAAO,CAAC2C,EAAG9C,IAAMkwB,GAAQvR,KAAK3e,GAAK,GAAG8C,MAAQ,GAAGA,IAAIA,EAAE7C,OAAS,IAAM,KAAKD,KAAK,QAE5G,CAgB+DuwB,CAAc1jB,EAAOiJ,IAAQ,CACxF,MAAM0a,EAAQT,EAAGjuB,KAAI1C,IAAY,IAAP2d,EAAc3d,EAAkB,iBAAP2d,GAAmB3d,GAAmB,iBAANA,GAA+B,mBAANA,EAA4BA,EAARA,EAAE2d,GAAWA,EAAG3d,KAC1IqxB,EAAQT,EAAGluB,KAAI1C,IAAY,IAAP2d,EAAc3d,EAAkB,iBAAP2d,GAAmB3d,GAAmB,iBAANA,GAA+B,mBAANA,EAA4BA,EAARA,EAAE2d,GAAWA,EAAG3d,KAChJ,IAAK,IAAIiB,EAAI,EAAGA,EAAImwB,EAAMvwB,OAAQI,IAAK,CACrC,MAAMoH,EAAMgpB,EAAMpvB,QAAQmvB,EAAMnwB,IAChC,IAAKoH,EAAK,CACR,MAAMipB,EAAMX,EAAG1vB,GACTswB,EAAMX,EAAGvoB,GAEf,GAAIipB,IAAQC,EAAK,SACO,iBAARD,GAAmC,iBAARC,EAAkBN,GAAMK,EAAKC,EAAK9uB,GAAKiU,EAAM,GAAGzV,KAAM8vB,EAAMC,EAAOvjB,GACpGujB,EAAMM,EAAKC,KAAMR,EAAKtuB,GAAKiU,EAAM,GAAGzV,MAAQ,CAACqwB,EAAKC,SACvDR,EAAKtuB,GAAKiU,EAAM,GAAGzV,MAAQ,CAAC0vB,EAAG1vB,QAAIzB,GAG5C,MAAMiT,EAAQ2e,EAAM3xB,QACpB,IAAK,IAAIwB,EAAI,EAAGA,EAAImwB,EAAMvwB,OAAQI,KAC3BwR,EAAMxQ,QAAQovB,EAAMpwB,MACzB8vB,EAAKtuB,GAAKiU,EAAM,GAAGzV,EAAIwR,EAAM5R,WAAa,MAACrB,EAAWoxB,EAAG3vB,SAEtD,CACL,MAAMuwB,EAAMb,GAAM,GACZc,EAAMb,GAAM,GACZc,EAAKjtB,OAAOiQ,KAAK8c,GACvB,IAAK,MAAM7iB,KAAKlK,OAAOiQ,KAAK+c,IAAYC,EAAGzvB,QAAQ0M,IAAI+iB,EAAG5wB,KAAK6N,GAE/D,IAAK,MAAMA,KAAK+iB,EAAI,CAClB,MAAMJ,EAAME,EAAI7iB,GACV4iB,EAAME,EAAI9iB,GAEZ2iB,IAAQC,IACY,iBAARD,GAAmC,iBAARC,EAAkBN,GAAMK,EAAKC,EAAK9uB,GAAKiU,EAAM/H,GAAIoiB,EAAMC,EAAOvjB,GAC/FujB,EAAMM,EAAKC,KAAMR,EAAKtuB,GAAKiU,EAAM/H,IAAM,CAAC2iB,EAAKC,MAI3D,OAAOR,CACT,UAEgBY,GAAUhB,EAASC,EAASI,GAE1C,OAAOY,GAAWjB,EAAIC,EADM,mBAAVI,EAAuBA,EAAkB,WAAVA,EAAqBH,GAAcH,GAEtF,CAEA,SAASkB,GAAWjB,EAASC,EAASI,GACpC,GAAkB,iBAAPL,GAAiC,iBAAPC,EAAiB,OAAOI,EAAML,EAAIC,GACvE,KAAMD,GAAOC,GAAOD,GAAMC,GAAI,OAAO,EAErC,MAAMc,EAAKjtB,OAAOiQ,KAAKic,GAAM,IAC7B,IAAK,MAAMhiB,KAAKlK,OAAOiQ,KAAKkc,GAAM,KAAWc,EAAGzvB,QAAQ0M,IAAI+iB,EAAG5wB,KAAK6N,GAEpE,IAAK,MAAMA,KAAK+iB,EAAI,CAClB,MAAMJ,EAAMX,EAAGhiB,GACT4iB,EAAMX,EAAGjiB,GAEf,GAAI2iB,IAAQC,EACP,GAAmB,iBAARD,GAAmC,iBAARC,GACzC,IAAKK,GAAWN,EAAKC,EAAKP,GAAQ,OAAO,OACpC,IAAKA,EAAMM,EAAKC,GAAM,OAAO,EAGtC,OAAO,CACT,UAOgBM,GAAUd,EAAYe,EAAYjhB,GAChD,MAAMkhB,GAAYlhB,eAAAA,EAAMmhB,MAAO,GAAKvtB,OAAOC,OAAO,GAAIqsB,GAEtD,OADAkB,GAAWlB,EAAMe,EAAO,GAAI,GAAIC,EAAKlhB,GAC9BkhB,CACT,CAEA,MAAMtH,GAAM,OACZ,SAASwH,GAAWlB,EAAYe,EAAYpb,EAAchR,EAAaqsB,EAAWlhB,GAChF,IAAK,MAAMlC,KAAKmjB,EACd,GAAoB,OAAhBnjB,EAAElP,OAAO,GAAa,CACxB,MAAMoF,EAAI,GAAG6R,IAAOA,GAAQ,MAAM/H,EAAElP,MAAM,GAAI,KACxC0B,EAAI8I,MAAMC,QAAQ4nB,EAAMnjB,IAAMmjB,EAAMnjB,GAAK,CAACmjB,EAAMnjB,IAChD2L,EAAM7V,OAAOiQ,KAAKqc,GAClBmB,EAAiB,GACvB,IAAK,MAAMvjB,KAAK2L,EACd,GAAqB,IAAjB3L,EAAE1M,QAAQ4C,IAAY4lB,GAAIlL,KAAK5Q,EAAEpH,OAAO1C,EAAEhE,OAAS,IAAK,CAC1D,MAAMwH,EAAMsG,EAAE1M,QAAQ,IAAK4C,EAAEhE,OAAS,GAChC4pB,EAAM9b,EAAE5M,UAAU8C,EAAEhE,OAAS,GAAIwH,EAAMA,OAAM7I,IAC7C0yB,EAAKjwB,QAAQwoB,IAAMyH,EAAKpxB,KAAK2pB,GAGvC,MAAM0H,EAAM,GAAGzsB,IAAMA,GAAO,MAAMvE,EAAE,KACpC,IAAK,MAAMspB,KAAOyH,EAAM,CACtB,MAAME,EAAK,GAAGvtB,IAAIA,GAAK,MAAM4lB,IACzB2H,KAAMrB,IACRgB,EAAI,GAAGI,IAAMA,GAAO,OAAO1H,EAAM,KAAOsG,EAAKqB,IACzCvhB,eAAAA,EAAMmhB,cAAaD,EAAIK,IAEzBjxB,EAAE,IAAI8wB,GAAWlB,EAAM5vB,EAAE,GAAIixB,EAAI,GAAGD,IAAMA,GAAO,OAAO1H,EAAM,IAAKsH,EAAKlhB,QAEzE,CACL,MAAMhM,EAAI,GAAG6R,IAAOA,GAAQ,MAAM/H,IAClC,IAAIxN,EAAI8I,MAAMC,QAAQ4nB,EAAMnjB,IAAMmjB,EAAMnjB,GAAK,CAACmjB,EAAMnjB,IACpD,MAAMwjB,EAAM,GAAGzsB,IAAMA,GAAO,MAAMvE,EAAE,KAChC0D,KAAKksB,IACPgB,EAAII,GAAOpB,EAAKlsB,IACZgM,eAAAA,EAAMmhB,cAAaD,EAAIltB,IAEzB1D,EAAE,IAAI8wB,GAAWlB,EAAM5vB,EAAE,GAAI0D,EAAGstB,EAAKJ,EAAKlhB,GAGpD,CCrJA,MAAMR,GAAO,+CACb,SAASgiB,GAAOryB,GACd,MAAiB,iBAANA,EAAuB8Y,GAAU9Y,KACtB,iBAANA,IAAkBqQ,GAAKkP,KAAKvf,GAE9C,UAEgBsyB,GAASC,GACvB,OAAOA,GAAwB,iBAATA,GAAqB,SAAUA,GAA6B,iBAAdA,EAAKve,IAC3E,UAEgBwe,GAAQtO,EAAWuO,GACjC,MAAMrd,EAAOsd,GAAQxO,GACrB,GAAIja,MAAMC,QAAQga,GAAO,CACvB,MAAMtP,EAAkB,GAExB,GADAA,EAAO9T,KAAK,CAAEkT,KAAM,SAAU1U,KAAM,YAC/BmzB,GAAQvO,EAAKrjB,OAAS,EAAG,CAC5B,MAAMmP,EAAMwiB,GAAQtO,EAAK,IACrBlU,EAAI4E,OAAQA,EAAO9T,KAAK,CAAEkT,KAAMhE,EAAIgE,KAAMY,OAAQ5E,EAAI4E,OAAQtV,KAAM,MACnEsV,EAAO9T,KAAK,CAAEkT,KAAMhE,EAAIgE,KAAM1U,KAAM,MAE3C,MAAO,CAAE0U,KAAMoB,EAAMR,UAChB,GAAoB,iBAATsP,IAAsBmO,GAAOnO,GAAO,CACpD,MAAMtP,EAAkB,GACxB,IAAK,MAAMjG,KAAKuV,EACdtP,EAAO9T,KAAK6xB,GAAShkB,EAAGuV,EAAKvV,GAAI8jB,IAEnC,MAAO,CAAEze,KAAMoB,EAAMR,UAEvB,MAAO,CAAEZ,KAAMoB,EACjB,CAEA,SAASud,GAASrzB,EAAcU,EAAQyyB,GACtC,MAAMze,EAAO0e,GAAQ1yB,GACrB,IAAKyyB,KAAUze,EAAK/R,QAAQ,WAAsB,UAAT+R,GAAmB,CAC1D,MAAMzO,EAAKitB,GAAQxyB,GACnB,OAAIuF,EAAGqP,OAAe,CAAEZ,OAAMY,OAAQrP,EAAGqP,OAAQtV,QACrC,CAAE0U,OAAM1U,QAEtB,MAAO,CAAE0U,KAAM0e,GAAQ1yB,GAAIV,OAC7B,CAEA,SAASozB,GAAQ1yB,GACf,MAAiB,iBAANA,EACLqyB,GAAOryB,GAAW,OACV,SAEQ,iBAANA,EAAuB,SACjB,kBAANA,EAAwB,UAC/BiK,MAAMC,QAAQlK,GACjBA,EAAEa,OAAS,EAAU,QACA,iBAATb,EAAE,GACZqyB,GAAOryB,EAAE,IAAY,SACb,WAEW,iBAATA,EAAE,GAAwB,WACjB,kBAATA,EAAE,GAAyB,YAClCqyB,GAAOryB,EAAE,IAAY,SACL,iBAATA,EAAE,GAAwB,WAC9B,QACU,iBAANA,EACZqyB,GAAOryB,GAAW,OACV,SACA,KAChB,UAYgB4yB,GAAS7kB,EAAYwC,EAAuBsiB,GAC1D,GAAsB,iBAAXtiB,EAAqB,CAC9B,MAAM8U,EAASgL,GAAY9f,GAC3B,GAAI,YAAa8U,EAAQ,MAAO,CAAC,CAAEtiB,MAAO,mBAC1CwN,EAAS8U,EAGN9U,IAAQA,EAAS,CAAEyD,KAAM,QAE9B,OAAO8e,GAAU/kB,EAAOwC,EAAQsiB,EAAM,GAD1B,IAAIrb,GAAKzJ,EAAO,CAAE+I,QAAS,CAAEhC,MAAOvE,EAAO6D,MAAQ,MAEjE,CAEA,SAAS0e,GAAU/kB,EAAYwC,EAAgBsiB,EAAkCnc,EAAczS,EAAcuQ,GAE3G,IAAIue,EADJxiB,EAASA,GAAU,GAEnB,MAAMyiB,EAA0B,GAC1B/f,EAAgB,WAAT4f,GAA8B,YAATA,EAClC,GAAIE,EAAQ7jB,IAAK,CACf,IAAIlK,EAAI+tB,EACR,KAAO/tB,GAAKA,EAAEkK,KAAKlK,EAAIyR,GAAQxS,EAAK,UAAUe,EAAEkK,OAC5ClK,EAAG+tB,EAAU/tB,EACRiO,GAAM+f,EAAKlyB,KAAK,CAAEiC,MAAO,4BAA4BgwB,EAAQ7jB,OAAQ8E,KAAM,YAEtF,IAAIiB,OAAEA,GAAW8d,EACjB,MAAM/e,KAAEA,EAAIY,OAAEA,EAAMH,KAAEA,EAAIK,MAAEA,EAAKpE,QAAEA,GAAYqiB,EAC/C,IAAKE,GAAUllB,EAAuB,UAAhBwC,EAAOyD,KAAmB,QAAUA,EAAMtD,EAAS8D,GAAW,MAAO,CAAC,CAAEzR,MAAO,oBAAoByR,EAAW,YAAc,OAAOR,KAASkf,OAAQC,GAAcX,GAAQzkB,IAASA,QAAO2I,OAAM0c,SAAUD,GAAcJ,GAAS,KAOvP,IAAIM,EAEJ,GAPIN,IAAYxiB,GAAUA,EAAO0E,SAE1BA,EADAA,EACSA,EAAO/P,OAAOqL,EAAO0E,QADb1E,EAAO0E,QAMjB,UAATjB,GAA6B,YAATA,IAAuBc,EAmBzC,GAAc,UAATd,GAA6B,YAATA,IAAuBc,GAqBhD,IAAc,WAATd,GAA8B,aAATA,GAAgC,QAATA,IAAmBY,GAAUH,EAAM,CACzF,MAAMH,GAAON,EAAK/R,QAAQ,OAAyB,UAAhBsO,EAAOyD,KACpChE,EAAgBsE,EAAMvG,EAAQ,CAACA,GACrC,IAAK,IAAI9M,EAAI,EAAGA,EAAI+O,EAAInP,OAAQI,IAAK,CACnC,MAAMjB,EAAIgQ,EAAI/O,GACR4D,EAAIyP,EAAM7R,GAAKiU,EAAM,GAAGzV,KAAOyV,EACrC,GAAiB,iBAAN1W,GAA+B,mBAANA,EAApC,CAIA,GAAI4U,EACF,IAAK,MAAMvP,KAAKuP,EACVvP,EAAEmP,YAAcnP,EAAE/F,QAAQU,GAAIgzB,EAAKlyB,KAAK,CAAEiC,MAAO,kBAAkBsC,EAAE/F,kBAAmBoX,KAAMjU,GAAKoC,EAAGQ,EAAE/F,QACnGU,GAAKqF,EAAE/F,QAAQU,IAAsI,KAAhIqzB,EAAMP,GAAU9yB,EAAEqF,EAAE/F,MAAO+F,EAAGwtB,EAAMpwB,GAAKoC,EAAGQ,EAAE/F,MAAOsY,GAAO3T,EAAK,CAAE8J,MAAO/N,EAAEqF,EAAE/F,MAAOoX,KAAMjU,GAAKoC,EAAGQ,EAAE/F,QAAU+F,EAAEmP,YAAqBwe,EAAKlyB,KAAKM,MAAM4xB,EAAMK,GAG9L,GAAI5e,GAAQzU,EACV,IAAK,MAAM2O,KAAK3O,EACV4U,GAAUA,EAAO0D,MAAKjT,GAAKA,EAAE/F,OAASqP,KAC9B,MAAR3O,EAAE2O,KAAkH,KAAnG0kB,EAAMP,GAAU9yB,EAAE2O,GAAI8F,EAAMoe,EAAMpwB,GAAKoC,EAAG8J,GAAIiJ,GAAO3T,EAAK,CAAE8J,MAAO/N,EAAE2O,GAAI+H,KAAMjU,GAAKoC,EAAG8J,QAAkBqkB,EAAKlyB,KAAKM,MAAM4xB,EAAMK,QAEjJ,GAAa,WAATR,GAAqB7yB,EAC9B,IAAK,MAAM2O,KAAK3O,GAAe,MAARA,EAAE2O,IAAeiG,IAAWA,EAAO0D,MAAKjT,GAAKA,EAAE/F,OAASqP,KAAIqkB,EAAKlyB,KAAK,CAAEiC,MAAO,iBAAiB4L,IAAK+H,KAAM7R,EAAGmP,KAAM,SAAUjG,MAAO/N,EAAE2O,UAf9JqkB,EAAKlyB,KAAK,CAAEiC,MAAO,qBAAsBgL,MAAO/N,EAAG0W,KAAM7R,EAAGquB,OAAQC,GAAcX,GAAQxyB,IAAI,WA5BtC,CAC5D,MAAMsU,GAAON,EAAK/R,QAAQ,MACpB+N,EAAasE,EAAMvG,EAAQ,CAACA,GAClC,IAAK,IAAI9M,EAAI,EAAGA,EAAI+O,EAAInP,OAAQI,IAAK,CACnC,MAAMjB,EAAIgQ,EAAI/O,GACR4D,EAAIyP,EAAM7R,GAAKiU,EAAM,GAAGzV,KAAOyV,EACrC,IACI4c,EADAC,GAAK,EAET,IAAK,MAAM3kB,KAAKkG,EAAO,CACrB,IAA8C,KAAzCue,EAAMP,GAAU9yB,EAAG4O,EAAGikB,EAAMhuB,EAAGZ,IAAgB,CAClDsvB,GAAK,EACL,MACStgB,GAAQogB,EAAI/a,MAAKrP,GAAgB,YAAXA,EAAE+K,QAAuBqf,EAAI/a,MAAKrP,GAAgB,UAAXA,EAAE+K,OACxEsf,EAAQD,EAAI/f,QAAOrK,GAAKgK,GAAmB,YAAXhK,EAAE+K,MAAiC,UAAX/K,EAAE+K,OACjDqf,EAAI/a,MAAKrP,GAAKA,EAAEyN,OAAS7R,MAClCyuB,EAAQD,GAGPE,GAAOD,GACFC,GAAMD,GAAON,EAAKlyB,KAAKM,MAAM4xB,EAAMM,GAD1BN,EAAKlyB,KAAK,CAAEiC,MAAO,0BAA2BmwB,OAAQC,GAAcX,GAAQxyB,IAAKozB,SAAUD,GAAc,CAAEnf,KAAM,QAASc,UAAU/G,MAAO/N,EAAG0W,KAAM7R,SArCpH,CACrD,MAAMyP,GAAON,EAAK/R,QAAQ,MACpB+N,EAAesE,EAAMvG,EAAQ,CAACA,GACpC,IAAK,IAAI9M,EAAI,EAAGA,EAAI+O,EAAInP,OAAQI,IAAK,CACnC,MAAMjB,EAAIgQ,EAAI/O,GACR4D,EAAIyP,EAAM7R,GAAKiU,EAAM,GAAGzV,KAAOyV,EACrC,GAAKzM,MAAMC,QAAQlK,GAEZ,GAAIA,EAAEa,OAASiU,EAAMjU,OAAQ,CAClC,MAAMkwB,EAAOjc,EAAMjU,OAASb,EAAEa,OAC9BmyB,EAAKlyB,KAAK,CAAEiC,MAAO,WAAWguB,UAAaA,EAAO,EAAI,IAAM,cAAera,KAAM7R,EAAGuuB,SAAUD,GAAc,CAAEnf,KAAM,QAASc,gBACxH,CACL,IAAK,IAAI7T,EAAI,EAAGA,EAAI6T,EAAMjU,OAAQI,KACsF,KAAjHoyB,EAAMP,GAAU9yB,EAAEiB,GAAI6T,EAAM7T,GAAI4xB,EAAMpwB,GAAKoC,EAAG,GAAG5D,KAAM2W,GAAO3T,EAAK,CAAE8J,MAAO/N,EAAEiB,GAAIyV,KAAMjU,GAAKoC,EAAG,GAAG5D,UAAoB+xB,EAAKlyB,KAAKM,MAAM4xB,EAAMK,GAGvI,WAATR,GAAqB7yB,EAAEa,OAASiU,EAAMjU,QAAQmyB,EAAKlyB,KAAK,CAAEiC,MAAO,4BAA6BiR,KAAM,SAAU0C,KAAM7R,EAAGuuB,SAAUD,GAAc,CAAEnf,KAAM,QAASc,iBATpKke,EAAKlyB,KAAK,CAAEiC,MAAO,mBAAoB2T,KAAM7R,EAAGkJ,MAAO/N,KA4D7D,IAAKgzB,EAAKnyB,QAAUoU,GAAUA,EAAOpU,OAAQ,CAC3C,IAAIwyB,EACJ,IAAK,IAAIpyB,EAAI,EAAGA,EAAIgU,EAAOpU,OAAQI,IAAK,CAEtCoyB,EAAMvb,GAAU7T,EADNgR,EAAOhU,GACO,CAAC8M,IACpBslB,GAAqB,iBAAPA,GAAiBL,EAAKlyB,KAAK,CAAEiC,MAAsB,iBAARswB,GAAqBA,EAAgCA,EAA1B,SAASpyB,EAAI,WAAkByV,OAAM3I,QAAOiG,KAAM,QAASof,SAAUD,GAAc5iB,GAAQ,MAIxL,OAAOyiB,EAAKnyB,QAASmyB,CACvB,CAEA,MAAMhlB,GAAS,CAAC,SAAU,SAAU,UAAW,mBAC/BilB,GAAUllB,EAAYiG,EAAatD,EAAe8D,GAChE,OAAQR,GAAQ,OACd,IAAK,MACL,IAAK,QACH,OAAO,EAET,IAAK,QAAS,OAAQ/J,MAAMC,QAAQ6D,OAAaC,GAAO/L,eAAe8L,KAA4B,iBAAVA,GAAsBskB,GAAOtkB,IAEtH,IAAK,QACL,IAAK,QACL,IAAK,UACL,IAAK,UACH,OAAO9D,MAAMC,QAAQ6D,GAEvB,IAAK,UAAW,OAAOA,IAAU2C,EAEjC,IAAK,SAAU,MAAwB,iBAAV3C,EAC7B,IAAK,SAAU,MAAwB,iBAAVA,EAC7B,IAAK,UAAW,MAAwB,kBAAVA,EAC9B,IAAK,OAAQ,OAAOskB,GAAOtkB,GAC3B,IAAK,SAAU,QAAQ9D,MAAMC,QAAQ6D,IAA2B,iBAAVA,GAAwByG,GAAqB,MAATzG,GAC1F,IAAK,WAAY,OAAO9D,MAAMC,QAAQ6D,IAAUA,EAAMhN,QAAO,CAAC2C,EAAG9C,IAAM8C,GAAkB,iBAAN9C,IAAgB,GACnG,IAAK,WAAY,OAAOqJ,MAAMC,QAAQ6D,IAAUA,EAAMhN,QAAO,CAAC2C,EAAG9C,IAAM8C,GAAkB,iBAAN9C,IAAgB,GACnG,IAAK,YAAa,OAAOqJ,MAAMC,QAAQ6D,IAAUA,EAAMhN,QAAO,CAAC2C,EAAG9C,IAAM8C,GAAkB,kBAAN9C,IAAiB,GACrG,IAAK,SAAU,OAAOqJ,MAAMC,QAAQ6D,IAAUA,EAAMhN,QAAO,CAAC2C,EAAG9C,IAAM8C,GAAK2uB,GAAOzxB,KAAI,GACrF,IAAK,WAAY,OAAOqJ,MAAMC,QAAQ6D,IAAUA,EAAMhN,QAAO,CAAC2C,EAAG9C,IAAM8C,IAAMuG,MAAMC,QAAQtJ,IAAmB,iBAANA,KAAoB4T,GAAiB,MAAL5T,KAAY,GAExJ,OC5Na4yB,GAAW,CACtBC,OAAQ,KACRC,MAAO,IACP9L,QAAQ,EACR+L,MAAO,cAGOC,GAAI/U,GAClB,MAAMhO,EAAwBpM,OAAOC,OAAO,GAAI8uB,GAAU3U,GAEpD9S,EAAKtI,EAAK,UAAUyH,QAAQ2F,EAAK6iB,MAAO,IAAIxoB,QAAQ2F,EAAK4iB,OAAQ,IAAIvoB,QAAQ2F,EAAK8iB,MAAO,KACzFA,EAAQjuB,EAAImL,EAAK8iB,OAAS,KAC1BE,EAAc/pB,GAAQtG,GAAIuI,EAAI4nB,GAAQjxB,EAAIyG,GAAIV,EAAIjB,EAAOqJ,EAAK8iB,OAAQjxB,EAAIc,GAAImwB,EAAOA,IAAQ,IAAM,QAAO1uB,GAAKC,EAAOD,KAAKzB,GAAImwB,EAAO5nB,IAMtI+nB,EAASnxB,EAFkB2G,GADlBP,EAAOc,GADSpB,EAAIorB,EADbrsB,EAAOqJ,EAAK4iB,OAAS5iB,EAAK6iB,OAAO,IAElBlwB,GAAIuI,EAAIrG,EAAImL,EAAK6iB,OAAQ3nB,KAAM/G,GAAKA,EAAEnE,OAAS,GAAKmE,EAAE,GAAGnE,OAAS,GAAK,iBAC5D6E,EAAImL,EAAK4iB,QAAS,SAEvC,CAAEpwB,YAAY,IAEzC,OAAO,SAAe/B,EAAeud,GACnC,MAAMre,EAAuCszB,EAAOxyB,EAAOud,GAC3D,GAAI5U,MAAMC,QAAQ1J,IAAQA,EAAIK,OAAS,GACjCgQ,EAAK+W,OAAQ,CACf,MAAMA,EAAkCpnB,EAAImY,QAAQjW,KAAI,CAACiM,EAAG1N,IAAM,CAAC0N,EAAG1N,KACtE2mB,EAAO/gB,MAAK,CAACnD,EAAGqH,IAAMrH,EAAIqH,GAAK,EAAIrH,EAAIqH,EAAI,EAAI,IAC/C,IAAK,IAAI9J,EAAI,EAAGA,EAAIT,EAAIK,OAAQI,IAC9B,IAAK,IAAI8G,EAAI,EAAGA,EAAI6f,EAAO/mB,OAAQkH,IAAMvH,EAAIS,GAAW2mB,EAAO7f,GAAG,IAAMvH,EAAIS,GAAG2mB,EAAO7f,GAAG,IAK/F,OAAOvH,EAEX,CASA,MAAMoU,GAAS,CAAC,IAAK,IAAK,KAAM,IAAK,IAAK,KACpCmf,GAAU,CAAC,OAAQ,KAAM,MACzBC,GAAS,CAAC,IAAM,IAAK,IAAK,cAEhBC,GAAOC,EAAc1F,EAAS,MAC5C,MAAM2F,EAASD,EAAKz0B,MAAM,EAAG+uB,GACvB4F,EAAKxf,GAAO7T,QAAO,CAAC2C,EAAG9C,KAAO8C,EAAE9C,GAAKuzB,EAAOjpB,QAAQ,IAAI0f,OAAO,KAAKhqB,KAAM,KAAM,IAAIC,OAASD,EAAEC,OAAQ6C,IAAI,IAC3G2wB,EAAKN,GAAQhzB,QAAO,CAAC2C,EAAG9C,KAAO8C,EAAE9C,GAAKuzB,EAAOjpB,QAAQ,IAAI0f,OAAO,KAAKhqB,KAAM,KAAM,IAAIC,OAASD,EAAEC,OAAQ6C,IAAI,IAC5G4wB,EAAKN,GAAOjzB,QAAO,CAAC2C,EAAG9C,KAAO8C,EAAE9C,GAAKuzB,EAAOjpB,QAAQ,IAAI0f,OAAO,KAAKhqB,KAAM,KAAM,IAAIC,OAASD,EAAEC,OAAQ6C,IAAI,IAE3GlD,EAAM,CAAEkzB,MAAO,IAAKD,OAAQ,KAAME,MAAO,KAE/C,IAAIruB,EAAM,EACV,IAAK,MAAMqJ,KAAKylB,EAAQA,EAAGzlB,GAAKrJ,IAAM9E,EAAIkzB,MAAQ/kB,EAAGrJ,EAAM8uB,EAAGzlB,IAC9DrJ,EAAM,EACN,IAAK,MAAMqJ,KAAK0lB,EAAQA,EAAG1lB,GAAKrJ,IAAM9E,EAAIizB,OAAS9kB,EAAGrJ,EAAM+uB,EAAG1lB,IAC/DrJ,EAAM,EACN,IAAK,MAAMqJ,KAAK2lB,EAAQA,EAAG3lB,GAAKrJ,IAAM9E,EAAImzB,MAAQhlB,EAAGrJ,EAAMgvB,EAAG3lB,IAE9D,OAAOnO,CACT,CCrDA,SAAS+zB,GAAO/gB,EAAiBpS,GAC/B,MAAO,CACL4S,KAAM,QAASR,QAAOpS,QAE1B,CAEA,MAAMozB,GAAU,CACdjoB,EAAG,CAAC,EAAG,IACPkd,EAAG,CAAC,EAAG,IACP9lB,EAAG,CAAC,EAAG,KAGH8wB,GAAgB,CACpBjQ,OAAQ,EACR,eAAe,EACfkQ,OAAQ,aA6EV,MAAMC,GAAS,yBAET3nB,GAAQ,QACd,SAAS4nB,GAAM50B,GACb,OAAQigB,MAAMjgB,KAAOgN,GAAMuS,KAAKvf,EAClC,CACA,SAASyqB,GAAIzqB,GACX,OAAIigB,MAAMjgB,KAAOA,EAAU,GACnBA,CACV,CAEA,SAAS60B,GAAO1zB,EAAQ8D,GACtB,OAAI9D,IAAM8D,GAAK9D,GAAK8D,IAChB6T,GAAU3X,IAAM2X,GAAU7T,IAAY0X,GAAcxb,KAAQwb,GAAc1X,GAC7D,iBAAN9D,GAA+B,iBAAN8D,IAAuBgb,MAAM9e,IAAM8e,MAAMhb,IAE/E,UASgB6vB,GAAQpxB,EAAWqH,EAAWgqB,EAAqB,IACjE,MAAMv0B,EAAMw0B,GAAQtxB,EAAGqH,EAAGgqB,EAAY,GACtC,OAAOv0B,GAAOA,EAAI,SAAMhB,CAC1B,UAUgBy1B,GAAWvxB,EAAWqH,EAAWgqB,EAAqB,GAAKG,EAAiB,GAC1F,MAAM10B,EAAMw0B,GAAQtxB,EAAGqH,EAAGgqB,EAAYG,GACtC,OAAO10B,GAAOA,EAAI,IAAM,CAC1B,UAUgBw0B,GAAQtxB,EAAWqH,EAAWgqB,EAAqB,GAAKG,EAAiB,GACvF,IAAKxxB,IAAMqH,EAAG,OACd,MAAMoqB,EAAKzxB,EAAEyE,cACPitB,EAAKrqB,EAAE5C,cAGRgtB,EAAGlzB,QAAQmzB,GACXA,EAAGnzB,QAAQkzB,GAEhB,IAAIE,EAAK,EACLC,EAAK,EACLC,EAAK,EACLC,EAAK,EACLnwB,EAAI,EACJowB,EAAK,EACLC,EAAK,EACLtB,EAAK,EACLuB,EAAM,EAEV,MAAMC,EAAOlyB,EAAE7C,OACTg1B,EAAO9qB,EAAElK,OACf,IAAIi1B,EAAQ,EACRC,EAAQ,EAGZ,IAAKV,EAAK,EAAGA,EAAKO,EAAMP,IAEtB,IAAKC,EAAK,EAAGA,EAAKO,EAAMP,IAEtB,GAAIH,EAAGE,KAAQD,EAAGE,GAAK,CACrBQ,EAAQF,EAAOP,EACfU,EAAQF,EAAOP,EACflB,EAAK,EAEL4B,EAAQ,IAAKT,EAAK,EAAGC,EAAK,EAAGD,EAAKO,GAASN,EAAKO,GAAQ,CACtD,GAAIZ,EAAGE,EAAKE,KAAQH,EAAGE,EAAKE,GAErB,CACL,IAAKnwB,EAAI,EAAGA,GAAK6vB,EAAQ7vB,IACvB,IAAKowB,EAAK,EAAGA,GAAMpwB,EAAGowB,IACpB,IAAKC,EAAK,EAAGA,GAAMrwB,EAAGqwB,IACpB,GAAIP,EAAGE,EAAKE,EAAKE,KAAQL,EAAGE,EAAKE,EAAKE,GAAK,CACzCH,GAAME,EACND,GAAME,EACNtB,GAAMtnB,KAAKxH,IAAImwB,EAAIC,GACnB,SAASM,EAKjB,MAAMA,EAdNT,IAAMC,IAmBV,GADAG,GAAO7oB,KAAKxH,IAAIiwB,EAAIC,GAAMpB,GAAMtnB,KAAKwd,IAAI6K,EAAGt0B,OAAQu0B,EAAGv0B,QACnD80B,GAAOZ,EAAY,MAAO,CAACI,EAAG5tB,OAAO8tB,EAAIE,GAAKH,EAAG7tB,OAAO+tB,EAAIE,GAAKG,GAI7E,CAGA3c,GACEub,GAAO,CAAC,KAAM,SAAU,KAAM,OAAO,CAACj1B,EAAc0O,KAClD,MAAO7M,EAAG8D,GAAK+I,EACf,IAAI2L,EAAMkb,GAAO1zB,EAAG8D,GAEpB,OADK0U,GAAiB,OAATra,GAA0B,WAATA,IAAsBgzB,GAASrtB,KAAI0U,GAAkC,IAA5BiZ,GAASzxB,EAAG8D,EAAG,UACtE,OAAT3F,GAA0B,OAATA,EAAgBqa,GAAOA,CAAG,IAEpD4a,GAAO,CAAC,YAAa,kBAAkB,CAACj1B,EAAc0O,KACpD,MAAO7M,EAAG8D,GAAK+I,EACf,IAAIxN,EAAMW,IAAM8D,EAEhB,OADKzE,GAAO8xB,GAASrtB,KAAIzE,GAAmC,IAA7BoyB,GAASzxB,EAAG8D,EAAG,WAC9B,cAAT3F,EAAuBkB,GAAOA,CAAG,IAE1C+zB,GAAO,CAAC,UAAW,cAAe,MAAO,QAAQ,CAACj1B,EAAc0O,EAAeioB,EAAOhyB,KACpF,IAAK9C,EAAG8D,EAAG+rB,GAAShjB,EACpB,GAAIgjB,GAASjZ,GAAciZ,GAAQ,CACjC,MAAMkF,EAAKlF,EACXA,EAAQ,CAAC7vB,EAAQ8D,IAAW6S,GAAU7T,EAAKiyB,EAAI,CAAC/0B,EAAG8D,IAErD,MAAMzE,EAAMmxB,GAAUxwB,EAAG8D,EAAG+rB,GAC5B,MAAgB,YAAT1xB,GAA+B,QAATA,EAAiBkB,GAAOA,CAAG,IAE1D+zB,GAAO,CAAC,QAAQ,CAAC4B,EAAenoB,KAAmBA,EAAO,KAC1DumB,GAAO,CAAC,IAAK,IAAK,KAAM,KAAM,KAAM,MAAO,KAAM,QAAQ,CAACj1B,EAAc0O,KACzD,OAAT1O,EAAeA,EAAO,IACR,OAATA,EAAeA,EAAO,IACb,QAATA,EAAgBA,EAAO,KACd,QAATA,IAAgBA,EAAO,MAChC,IAAK6B,EAAG8D,GAAK+I,EAoBb,OAnBI7M,aAAawP,MAAQ1L,aAAa0L,KACnB,iBAANxP,GAA+B,iBAAN8D,GAClC9D,GAAKA,EAAG8D,GAAKA,GACS,iBAAN9D,GAA+B,iBAAN8D,GACzC9D,EAAI,IAAIwP,KAAKxP,GAAI8D,EAAI,IAAI0L,KAAK1L,IACrB9D,GAAK,MAAOA,GAAK,MAAOA,GACjCA,EAAIga,GAAeha,GAAe,MAAZ7B,EAAK,GAAa,EAAI,GAC5C2F,EAAI,IAAI0L,KAAK1L,IACJA,GAAK,MAAOA,GAAK,MAAOA,IACjCA,EAAIkW,GAAelW,GAAY,MAAT3F,GAAyB,OAATA,EAAgB,EAAI,GAC1D6B,EAAI,IAAIwP,KAAKxP,IAEN2X,GAAU3X,IACnBA,EAAIga,GAAeha,GAAe,MAAZ7B,EAAK,GAAa,EAAI,GAC5C2F,EAAI6T,GAAU7T,GAAKkW,GAAelW,GAAY,MAAT3F,GAAyB,OAATA,EAAgB,EAAI,GAAK,IAAIqR,KAAK1L,IAC9E6T,GAAU7T,KACnBA,EAAIkW,GAAelW,GAAY,MAAT3F,GAAyB,OAATA,EAAgB,EAAI,GAC1D6B,EAAI,IAAIwP,KAAKxP,IAEC,MAAT7B,EAAe6B,EAAI8D,EACf,MAAT3F,EAAe6B,EAAI8D,EACR,OAAT3F,EAAgB6B,GAAK8D,EACV,OAAT3F,GAAgB6B,GAAK8D,CACd,IAEfsvB,GAAO,CAAC,OAAQ,WAAY,QAAS,cAAc,CAACj1B,EAAc0O,KAChE,MAAOooB,EAAQC,EAAS5kB,GAAOzD,EAC/B,IAAIxN,GAAe,EACnB,MAAM81B,EAA8B,iBAAZD,EAAuB,CAACA,GAAWA,EACrDE,EAAe,SAAR9kB,GAAkC,iBAARA,GAAoBA,EAAI8kB,KAC/D,IAAKtsB,MAAMC,QAAQosB,GAAW,OAAO,EACrC,IAAK,IAAIr1B,EAAI,EAAGA,EAAIq1B,EAASz1B,SAAWL,EAAKS,IAAK,CAChD,MAAMgE,EAAIqxB,EAASr1B,GACnB,GAAiB,iBAANgE,EAAgB,SAC3B,MAAMuxB,EAAK,IAAI5L,OAAO,GAAG2L,EAAO,GAAK,MAAMtxB,EAAEiG,QAAQ,aAAc,aAAaA,QAAQ,MAAO,OAAOqrB,EAAO,GAAK,OAAQj3B,EAAK2C,QAAQ,SAAW,IAAM,IAC7HzB,EAAvByJ,MAAMC,QAAQksB,KAAiBA,EAAO9d,MAAKtY,GAAKw2B,EAAGjX,KAAKvf,KACjDw2B,EAAGjX,KAAK6W,GAErB,MAAgB,SAAT92B,GAA4B,UAATA,EAAmBkB,GAAOA,CAAG,IAEzD+zB,GAAO,CAAC,KAAM,WAAW,CAACj1B,EAAc0O,EAAeioB,EAAOhyB,KAC5D,MAAO9C,EAAG8D,GAAK+I,EACf,IAAI4O,EACJ,GAAI9D,GAAU7T,GAAI,CAChB,MAAM2X,EAAQzB,GAAelW,GACvBtB,EAAImV,GAAU3X,GAAKga,GAAeha,GAAG,GAAK,IAAIwP,KAAKxP,GACnDI,EAAIoC,GAAKiZ,EAAM,IAAMjZ,GAAKiZ,EAAM,GACtC,MAAgB,OAATtd,EAAgBiC,GAAKA,EACvB,GAAiB,iBAANJ,GAA+B,iBAAN8D,IAAmBgF,MAAMC,QAAQjF,GAC1E,OAAO9D,KAAK8D,EACP,GAAIgF,MAAMC,QAAQ/I,IAAMA,EAAEN,OAAS,GAAqB,iBAATM,EAAE,KAAoB8I,MAAMC,QAAQjF,IAAMA,GAAkB,iBAANA,EAAgB,CAC1H,MAAMyP,EAAOjQ,OAAOiQ,KAAKzP,GACnBwN,EAAQtR,EAAEJ,QAAO,CAAC2C,EAAG9C,IAAM8C,IAAMgR,EAAKzS,QAAQrB,KAAI,GACxD,MAAgB,OAATtB,EAAgBmT,GAASA,EAC3B,GAAiB,iBAANxN,GAAkB2vB,GAAMzzB,KAAOyb,EAAQ6Z,GAAYxyB,EAAKgB,GAAIgF,MAAMC,QAAQ0S,IAAS,CACnG,MAAMnK,EAAQmK,EAAM7b,QAAO,CAAC2C,EAAG9C,IAAM8C,IAAMuG,MAAMC,QAAQtJ,GAAKO,GAAKP,EAAE,IAAMO,GAAKP,EAAE,GAAKO,GAAKP,KAAI,GAChG,MAAgB,OAATtB,EAAgBmT,GAASA,EAC3B,GAAIsF,GAAc5W,GAAI,CAC3B,IAAIsR,GAAa,EAGjB,OAFIxI,MAAMC,QAAQjF,IAAMA,GAAkB,iBAANA,GAAkB,MAAOA,EAAGwN,EAAQxI,MAAMigB,UAAU5R,KAAK8R,KAAKnlB,GAAG,CAACgE,EAAQhI,IAAc6W,GAAU7T,EAAK9C,EAAG,CAAC8H,EAAGhI,GAAI,CAAEiP,MAAOjP,EAAGsT,IAAKtT,MAC9JgE,GAAkB,iBAANA,IAAgBwN,EAAQhO,OAAOqqB,QAAQ7pB,GAAGqT,MAAK,CAACrP,EAAGhI,IAAM6W,GAAU7T,EAAK9C,EAAG,CAAC8H,EAAE,GAAIhI,EAAGgI,EAAE,IAAK,CAAEiH,MAAOjP,EAAGsT,IAAKtL,EAAE,QACpH,OAAT3J,IAAkBmT,GAASA,EAC7B,IAAKxI,MAAMC,QAAQjF,IAAmB,iBAANA,EACrC,MAAgB,OAAT3F,EAAgB6B,GAAK8D,EAAI9D,GAAK8D,EAChC,GAAIgF,MAAMC,QAAQ/I,IAAM8I,MAAMC,QAAQjF,GAAI,CAC/C,MAAM8F,EAAI5J,EAAEJ,QAAO,CAAC2C,EAAG9C,IAAM8C,IAAMuB,EAAEhD,QAAQrB,KAAI,GACjD,MAAgB,OAATtB,IAAkByL,GAAKA,EAEhC,MAAMvK,KAASyE,EAAEhD,QAAQd,GACzB,MAAgB,OAAT7B,EAAgBkB,GAAOA,CAAG,IAEnC+zB,GAAO,CAAC,WAAY,qBAAqB,CAACj1B,EAAc0O,EAAeioB,EAAOhyB,KAC5E,MAAO9C,EAAG8D,GAAK+I,EACf,GAAI8K,GAAU3X,GAAI,CAChB,MAAMyb,EAAQzB,GAAeha,GACvBwC,EAAImV,GAAU7T,GAAKkW,GAAelW,GAAG,GAAK,IAAI0L,KAAK1L,GACnD1D,EAAIoC,GAAKiZ,EAAM,IAAMjZ,GAAKiZ,EAAM,GACtC,MAAgB,aAATtd,EAAsBiC,GAAKA,EAC7B,GAAIwW,GAAc9S,GAAI,CAC3B,IAAIwN,GAAa,EAGjB,OAFIxI,MAAMC,QAAQ/I,IAAMA,GAAkB,iBAANA,GAAkB,MAAOA,EAAGsR,EAAQxI,MAAMigB,UAAU5R,KAAK8R,KAAKjpB,GAAG,CAAC8H,EAAQhI,IAAc6W,GAAU7T,EAAKgB,EAAG,CAACgE,EAAGhI,GAAI,CAAEiP,MAAOjP,EAAGsT,IAAKtT,MAC9JgE,GAAkB,iBAAN9D,IAAgBsR,EAAQhO,OAAOqqB,QAAQ3tB,GAAGmX,MAAK,CAACrP,EAAGhI,IAAM6W,GAAU7T,EAAKgB,EAAG,CAACgE,EAAE,GAAIhI,EAAGgI,EAAE,IAAK,CAAEiH,MAAOjP,EAAGsT,IAAKtL,EAAE,QACpH,aAAT3J,IAAwBmT,GAASA,EACnC,IAAKxI,MAAMC,QAAQ/I,IAAmB,iBAANA,EACrC,OAAO,EACF,GAAI8I,MAAMC,QAAQjF,IAAMgF,MAAMC,QAAQ/I,GAAI,CAC/C,MAAM4J,EAAI9F,EAAElE,QAAO,CAAC2C,EAAG9C,IAAM8C,IAAMvC,EAAEc,QAAQrB,KAAI,GACjD,MAAgB,aAATtB,IAAwByL,GAAKA,EAEtC,MAAMvK,KAASW,EAAEc,QAAQgD,GACzB,MAAgB,aAAT3F,EAAsBkB,GAAOA,CAAG,IAEzC+zB,GAAO,CAAC,UAAU,CAAC4B,GAAQ7L,EAAKtqB,EAAGsF,KAC1BtF,EAAIsqB,EAAMA,EAAMtqB,EAAIsF,EAAMA,EAAMtF,IAEzCu0B,GAAO,CAAC,QAAQ,CAAC4B,EAAenoB,EAAeioB,EAAOhyB,KACpD,MAAO9C,EAAG8D,GAAK+I,EACTpN,EAAIgX,GAAO3T,EAAK,CAAE8J,MAAO5M,IAC/B,MdyOkB,iBADInB,EcxORiF,IdyO8B,iBAANjF,GAAkBiK,MAAMC,QAAQlK,EAAE2O,GczO/C8H,GAAQ7V,EAAGqE,GACd,iBAANA,EAAuBwR,GAAQ7V,EAAG,GAAKqE,GAC3CqS,GAAS1W,EAAGqE,OdsOFjF,CctOI,IAE5Bu0B,GAAO,CAAC,UAAU,CAAC4B,EAAenoB,IACzBA,IAETumB,GAAO,CAAC,WAAW,CAAC4B,EAAenoB,KACjC,MAAMxN,EAAW,GACjB,IAAK,IAAIS,EAAI,EAAGA,EAAI+M,EAAOnN,OAAQI,GAAK,EACtCT,EAAIwN,EAAO/M,IAAM+M,EAAO/M,EAAI,GAE9B,OAAOT,CAAG,IAEZ+zB,GAAO,CAAC,UAAU,CAAC4B,GAAgBzwB,EAAKkB,KACnB,iBAARlB,EAAyB,CAACA,GACzBA,EAAIkB,MAAMA,GAAS,MAEjC2tB,GAAO,CAAC,WAAW,CAAC4B,EAAenoB,EAAeioB,EAAOhyB,KACvD,IAAKqQ,EAAK0F,EAAKZ,EAAOS,GAAU7L,EAChC,IAAK/D,MAAMC,QAAQoK,GAAM,CACvB,IAAIA,IAAOrK,MAAMC,QAAQoK,EAAIvG,OACxB,IAAmB,iBAARuG,GAAoBA,EAAK,CACvC,IAAIoiB,EAAOjyB,OAAOqqB,QAAQxa,GAAKhB,QAAO,CAACrK,EAAGhI,IAAM6W,GAAU7T,EAAK+V,EAAK,CAAC/Q,EAAE,GAAIhI,EAAGgI,EAAE,IAAK,CAAEiH,MAAOjP,EAAGsT,IAAKtL,EAAE,OAExG,OADImQ,IAAOsd,EAAO7vB,GAAK5C,EAAKyyB,EAAMtd,GAAO,CAACxY,EAAGmK,EAAG/K,IAAM8X,GAAUlX,EAAGmK,EAAG,CAAC/K,EAAE,GAAIA,EAAE,IAAK,CAAEuU,IAAKvU,EAAE,QACtF02B,EAAK31B,QAAO,CAAC2C,EAAG9C,KAAO8C,EAAE9C,EAAE,IAAMA,EAAE,GAAI8C,IAAI,IAE/C,MAAO,EAAE,CANuB4Q,EAAMA,EAAIvG,MAQjD,OAAOuF,GAAO,CAAEvF,MAAOuG,GAAO0F,EAAKZ,EAAOS,EAAQ5V,GAAK8J,KAAK,IAE9DwmB,GAAO,CAAC,WAAW,CAAC4B,EAAenoB,EAAeioB,EAAOhyB,KACvD,MAAO+L,EAAK2mB,GAAO3oB,EACnB,IAAI9L,EAASsU,GAAUxG,GACvB,OAAI+H,GAAc4e,GAAa7e,GAAU7T,EAAK0yB,EAAK,GAAI,CAAEz0B,WAClDA,CAAM,IAEfqyB,GAAO,CAAC,UAAU,CAAC4B,EAAenoB,EAAeioB,EAAOhyB,KACtD,IAAKqQ,EAAKuF,GAAU7L,EACpB,IAAK/D,MAAMC,QAAQoK,GAAM,CACvB,IAAIA,IAAOrK,MAAMC,QAAQoK,EAAIvG,OACxB,MAAO,GADyBuG,EAAMA,EAAIvG,MAGjD,OAAOuF,GAAO,CAAEvF,MAAOuG,GAAO,KAAM,KAAMuF,EAAQ5V,GAAK8J,KAAK,IAE9DwmB,GAAO,CAAC,SAAS,CAAC4B,EAAenoB,EAAeioB,EAAOhyB,KACrD,IAAKqQ,EAAK8E,GAASpL,EACnB,IAAK/D,MAAMC,QAAQoK,GAAM,CACvB,IAAIA,IAAOrK,MAAMC,QAAQoK,EAAIvG,OACxB,OAAIuG,GAAsB,iBAARA,GAChB8E,IAAOA,EAAQ,CAAC,CAAE1V,EAAG,CAAEuB,EAAG,CAAEJ,EAAG,IAAK8J,EAAG,CAAC,YACtC9H,GAAK5C,EAAKQ,OAAOqqB,QAAQxa,GAAM8E,GAAO,CAACxY,EAAGmK,EAAG/K,IAAM8X,GAAUlX,EAAGmK,EAAG,CAAC/K,EAAE,GAAIA,EAAE,IAAK,CAAEuU,IAAKvU,EAAE,OAAOe,QAAO,CAAC2C,EAAG9C,KAAO8C,EAAE9C,EAAE,IAAMA,EAAE,GAAI8C,IAAI,KAEpI,GALyB4Q,EAAMA,EAAIvG,MAQjD,OADKqL,IAAOA,EAAQ,CAAC,CAAE1V,EAAG,CAAEuB,EAAG,CAAE0J,EAAG,CAAC,UAC9B9H,GAAK5C,EAAKqQ,EAAK8E,EAAM,IAE9Bmb,GAAO,CAAC,YAAa,iBAAiB,CAAC4B,EAAexoB,EAAakD,KACjE,MAAM+lB,EAAY/lB,GAAQ,GACpBvB,EAAOwJ,GAAUnL,EAAK,KAAOmL,GAAUnL,EAAK,adkhB5BxM,EAAS8D,GACjC,GAAIgb,OAAO9e,IAAM8e,OAAOhb,GAAI,MAAO,CAAEtB,EAAG,IACxC,GAAIsB,EAAI9D,EAAG,CACT,MAAM6D,EAAIC,EACVA,EAAI9D,EACJA,EAAI6D,EAEN,MAAMtB,EAAI,IAAIiN,KAAKxP,GACb4J,EAAI9F,EACJzE,EAAoB,CAAEmD,EAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAIqB,GAAItB,GAC1D,IACImzB,EAAcC,EADdrM,EAAM1f,EAAEyQ,cAAgB9X,EAAE8X,cAAgB,EAiB9C,IAfIiP,EAAM,IACRjqB,EAAImD,EAAE,IAAM8mB,EACZ/mB,EAAE0Z,YAAYrS,EAAEyQ,cAAgB,IAElC9X,EAAE0Z,YAAY1Z,EAAE8X,cAAgB,GAC5B9X,EAAIqH,EAAGrH,EAAE0Z,YAAY1Z,EAAE8X,cAAgB,GACtChb,EAAImD,EAAE,KAGU,IAAjBxC,EAAEsa,YAAoC,KAAhBta,EAAEua,WAAqC,IAAjBhY,EAAE+X,aAChD/X,EAAEsY,QAAQ,IACVtY,EAAE4Z,SAAS,MAIA,CAkBX,GAjBAmN,EAAM/mB,EAAEgY,UACRmb,EAAOnzB,EAAE+X,WACTqb,EAAOpzB,EAAE8X,cACT9X,EAAEsY,QAAQyO,EAAM,GACZ/mB,EAAE+X,aAAeob,GACnBnzB,EAAEsY,QAAQ,GACVtY,EAAE4Z,SAASuZ,EAAO,GAClBnzB,EAAEsY,QAAQ,KAEVtY,EAAEsY,QAAQyO,GACV/mB,EAAE4Z,SAASuZ,EAAO,IACL,KAATA,EAA+B,IAAjBnzB,EAAE+X,WAAmB/X,EAAE+X,aAAeob,EAAO,KAC7DnzB,EAAEsY,QAAQ,GACVtY,EAAE4Z,SAASuZ,EAAO,GAClBnzB,EAAEsY,QAAQ,KAGVtY,EAAIqH,EAAG,CAETrH,EAAE0Z,YAAY0Z,GACdpzB,EAAEsY,QAAQ,GACVtY,EAAE4Z,SAASuZ,GACXnzB,EAAEsY,QAAQyO,GACV,MACKjqB,EAAImD,EAAE,KAGf,OAAa,CAEX,GADAD,EAAEsY,QAAQtY,EAAEgY,UAAY,GACpBhY,EAAIqH,EAAG,CACTrH,EAAEsY,QAAQtY,EAAEgY,UAAY,GACxB,MACKlb,EAAImD,EAAE,KAGf,OAAa,CAEX,GADAD,EAAE6Z,SAAS7Z,EAAEuZ,WAAa,GACtBvZ,EAAIqH,EAAG,CACTrH,EAAE6Z,SAAS7Z,EAAEuZ,WAAa,GAC1B,MACKzc,EAAImD,EAAE,KAGf,OAAa,CAEX,GADAD,EAAEqZ,WAAWrZ,EAAEsZ,aAAe,GAC1BtZ,EAAIqH,EAAG,CACTrH,EAAEqZ,WAAWrZ,EAAEsZ,aAAe,GAC9B,MACKxc,EAAImD,EAAE,KAGf,OAAa,CAEX,GADAD,EAAE8Z,WAAW9Z,EAAEwZ,aAAe,GAC1BxZ,EAAIqH,EAAG,CACTrH,EAAE8Z,WAAW9Z,EAAEwZ,aAAe,GAC9B,MACK1c,EAAImD,EAAE,KAMf,OAHID,EAAEyZ,mBAAqBpS,EAAEoS,kBAAmB3c,EAAImD,EAAE,GAAKoH,EAAEoS,kBAAoBzZ,EAAEyZ,kBAC9E3c,EAAImD,EAAE,GAAM,IAAOD,EAAEyZ,kBAAqBpS,EAAEoS,kBAE1C3c,CACT,Cc7mB4Du2B,CAAUpa,GAAchP,EAAK,IAAKgP,GAAchP,EAAK,KAAOoL,GAAWpL,EAAK,IAAMA,EAAK,GAAK,EAGpJ,GAAIipB,EAAUI,KAAM,CAClB,MAAMpoB,GAAM3E,MAAMC,QAAQ0sB,EAAUI,MAAQJ,EAAUI,KAAO,CAACJ,EAAUI,OAAoBt0B,KAAIkM,GACjF,MAATA,EAAE,GAAmB,IACP,MAATA,EAAE,IAAwB,MAATA,EAAE,IAAuB,MAATA,EAAE,IAAuB,MAATA,EAAE,GAAoB,IAC9D,MAATA,EAAE,GAAmB,IACZ,MAATA,EAAE,GAAmB,IACZ,MAATA,EAAE,GAAmB,IACZ,MAATA,EAAE,IAAgBA,EAAE,IAAe,MAATA,EAAE,IAAuB,MAATA,EAAE,GACnC,MAATA,EAAE,GAAmB,IACZ,MAATA,EAAE,IAAuB,MAATA,EAAE,GAAmB,IACvC,GAHkE,MAIxE0E,QAAO1E,KAAOA,IAGjB,IAAIqoB,EACAz2B,EAGJ,GAAoB,iBAAT8O,IAAsB3C,GAAa2C,GAAO,CACnD,MAAM4nB,EAAKtoB,EAAEnM,KAAK,IAClB,GAAW,MAAPy0B,EACF,GAAI5nB,EAAKtK,EAAG,CACV,MAAMqW,EAAO,IAAI1K,KAAKrB,EAAKtK,GAC3BqW,EAAKkC,SAAS,GACdlC,EAAK0B,WAAW,GAChB1B,EAAKmC,WAAW,GAChBnC,EAAKoC,gBAAgB,GACrB,MAAMnC,EAAK,IAAI3K,MAAM0K,GACrBC,EAAGU,QAAQ,GACXV,EAAG8B,YAAY9B,EAAGE,cAAgBlM,EAAK3L,EAAE,IACzC2X,EAAGgC,SAASjC,EAAKI,WAAanM,EAAK3L,EAAE,IACrC,MAAMiG,EAAI0R,EAAGG,WACbH,EAAGU,QAAQX,EAAKK,WACZJ,EAAGG,aAAe7R,GAAG0R,EAAGU,QAAQ,GACpCV,EAAGU,QAAQV,EAAGI,UAAYpM,EAAK3L,EAAE,IACjC,MAAMwzB,GAAQ7b,GAAMD,EACpB,IAAI1X,EAAImJ,KAAKC,MAAMoqB,EAAO,OAChBA,EAAO,OACR,OAAUxzB,IACnBnD,EAAM,CAACmD,QAGPnD,EAAI,IAAkB,IAAZ8O,EAAK3L,EAAE,GACjBnD,EAAI,IAAkB,GAAZ8O,EAAK3L,EAAE,QAEViL,EAAE/N,OAAS,IAAa,MAAPq2B,GAAqB,OAAPA,GAAsB,QAAPA,GAAuB,MAAPA,GAAqB,OAAPA,GAAsB,MAAPA,KACpG12B,EAAMoO,EAAElM,KAAIkM,IACVqoB,EAAW3nB,EAAK3L,EAAE6wB,GAAQ5lB,GAAG,GAAK,GAAK4lB,GAAQ5lB,GAAG,GAC3CU,EAAK3L,EAAE6wB,GAAQ5lB,GAAG,OAEd,MAATA,EAAE,KAAYpO,EAAI,IAAkB,GAAZ8O,EAAK3L,EAAE,KAKvC,IAAKnD,EAAK,CACR,IAAIoM,EAAqB,iBAAT0C,GAAqB3C,GAAa2C,GAAQzC,GAAiByC,GAAQA,GAAQ,MAAOA,GAAQsM,GAAgB,IAAIjL,KAAKrB,EAAKtK,GAAIsK,EAAM,IAAM,IAAIqB,KAAKrB,EAAKtK,GACpKsK,EAAK3L,EAAE,GAAK2I,GAAUC,EAAI+C,EAAK3L,EAAE,GAAK2I,GAAU1C,EAAI0F,EAAK3L,EAAE,GAAK2I,GAAU3I,EAC1E2L,EAAK3L,EAAE,GAAK2I,GAAUG,EAAI6C,EAAK3L,EAAE,GAAK2I,GAAUI,GAAK4C,EAAK3L,EAAE,GAAK2I,GAAUtH,EAAIsK,EAAK3L,EAAE,GAExFnD,EAAMoO,EAAElM,KAAI,IAAM,IAElB,MAAM2U,EAAO,CAAE9K,EAAG,IAAKkd,EAAG,IAAKjd,EAAG,IAAK7I,EAAG,IAAK8I,EAAG,KAAM7C,EAAG,KACrDwtB,EAAU,CAAE7qB,EAAG,GAAIkd,EAAG,IAAKjd,EAAG,EAAG7I,EAAG,GAAI8I,EAAG,GAAI7C,EAAG,IAExD,IAAK,IAAI3I,EAAI,EAAGA,EAAIT,EAAIK,OAAQI,IAAK,CACnC,MAAM0N,EAAa,MAATC,EAAE3N,GAAa,KAAgB,MAAT2N,EAAE3N,GAAa,IAAM2N,EAAE3N,GACvD,GAAU,MAAN0N,EAAW,CACbnO,EAAIS,GAAK2L,EACTqqB,EAAW,EACX,MAEFz2B,EAAIS,GAAK6L,KAAKC,MAAMH,EAAKN,GAAUqC,IACnC/B,GAAMpM,EAAIS,GAAKqL,GAAUqC,GACrB0I,EAAKzI,EAAE3N,IAAKg2B,EAAYrqB,EAAKN,GAAU+K,EAAKzI,EAAE3N,KAAQm2B,EAAQxoB,EAAE3N,IAClD,MAAT2N,EAAE3N,KAAYg2B,EAAWrqB,EAAK,MAiB3C,IAZwB,IAApBgqB,EAAUS,MACRJ,GAAY,IAAKz2B,EAAIA,EAAIK,OAAS,KACE,OAA9B+1B,EAAUS,OAAS,IAAI,KAC7BJ,EAAW,GAAGz2B,EAAIA,EAAIK,OAAS,KAEtB,MAAT+N,EAAE,IAAuB,MAATA,EAAE,IAA2B,IAAbA,EAAE/N,QAA2B,KAAXL,EAAI,KACxDA,EAAI,KACJA,EAAI,GAAK,IAKTo2B,EAAUnmB,OAAQ,CACpB,MAAM6mB,EAAQ,CAAE/qB,EAAG,OAAQkd,EAAG,QAASjd,EAAG,OAAQ7I,EAAG,MAAO8I,EAAG,OAAQ7C,EAAG,SAAU5E,EAAG,SAAU7D,EAAG,eACpG,IAAIuE,EAAM,GACV,IAAK,IAAIzE,EAAI,EAAGA,EAAI2N,EAAE/N,OAAQI,IACvBT,EAAIS,KACTyE,GAAO,GAAGA,EAAI7E,OAAS,IAAM,KAAKL,EAAIS,MAAMq2B,EAAM1oB,EAAE3N,MAAMT,EAAIS,GAAK,EAAI,IAAM,MAE/E,OAAOyE,EACF,OAAOuE,MAAMC,QAAQ0sB,EAAUI,MAAQx2B,EAAMA,EAAI,GAExD,IAAIo2B,EAAUnmB,OAwBP,OAAOnB,EAvBZ,GAAoB,iBAATA,IAAqB3C,GAAa2C,GAetC,CACL,IAAI9O,EAAM,GACV,MAAM82B,EAAQ,CAAC,OAAQ,QAAS,MAAO,OAAQ,SAAU,SAAU,eACnE,IAAK,IAAIr2B,EAAI,EAAGA,EAAIqO,EAAK3L,EAAE9C,OAAQI,IAC7BqO,EAAK3L,EAAE1C,KAAIT,GAAO,GAAGA,EAAIK,OAAS,IAAM,KAAKyO,EAAK3L,EAAE1C,MAAMq2B,EAAMr2B,KAAKqO,EAAK3L,EAAE1C,GAAK,EAAI,IAAM,MAEjG,OAAOT,EArB2C,CAClD,IAAIoM,EAAKC,GAAiByC,GACtB9O,EAAM,GACV,MAAMga,EAAQ,CAAC,IAAK,IAAK,IAAK,KAAM,KAC9B8c,EAAQ,CAAC,OAAQ,MAAO,OAAQ,SAAU,SAAU,eAC1D,IAAK,IAAIr2B,EAAI,EAAGA,EAAIuZ,EAAM3Z,OAAQI,IAChC,GAAI2L,EAAKN,GAAUkO,EAAMvZ,IAAK,CAC5B,MAAM2N,EAAI9B,KAAKC,MAAMH,EAAKN,GAAUkO,EAAMvZ,KAC1C2L,GAAMN,GAAUkO,EAAMvZ,IAAM2N,EAC5BpO,GAAO,GAAGA,EAAIK,OAAS,IAAM,KAAK+N,KAAK0oB,EAAMr2B,KAAK2N,EAAI,EAAI,IAAM,KAGhEhC,IACFpM,GAAO,GAAGA,EAAIK,OAAS,IAAM,KAAK+L,gBAAiBA,EAAK,EAAI,IAAM,UAa5E2nB,GAAO,CAAC,SAAU,YAAY,CAACj1B,EAAcqO,EAAakD,KACxD,MAAO9C,GAASJ,EAKhB,IAJAkD,EAAOA,GAAQlD,EAAK,IAAM,KACG,iBAATkD,IAAmBA,EAAO,IACjC,YAATvR,IAAoBuR,EAAOpM,OAAOC,OAAO,GAAImM,EAAM,CAAE0mB,OAAQ,KAC7D1mB,EAAK0mB,QAAU1mB,EAAK2mB,MAAK3mB,EAAK8G,SAAW,IACxC9G,SAAS9C,EAAwC,MAAO,GAE7D,GAAoB,iBAAT8C,EAAmB,CAC5B,GAAIA,EAAK4mB,KAAM,OAAOvwB,KAAKC,UAAU4G,GACrC,GAAI8C,EAAKN,OAAQ,OAAO4iB,GAAcplB,GACjC,GAAI8C,EAAK0mB,OAAQ,CACpB,IAAIv3B,EAAImH,GAAU4G,EAAO8C,GAEzB,YADUrR,IAANQ,IAAiBA,EAAImH,GAAU,CAAEnH,EAAG+N,GAAS8C,IAC1C7Q,EACF,GAAqB,iBAAV+N,GAAsB8C,EAAKkW,OAAQ,OAAOnJ,GAAM7P,GAGpE,GAAI9D,MAAMC,QAAQ6D,GAAQ,OAAOA,EAAMtL,KAAK,MAE5C,IAAIjC,EAAM,GAAGuN,IACb,MAAwB,YAApBvN,EAAIf,MAAM,EAAG,GAAyByH,KAAKC,UAAU4G,GAClDvN,CAAG,IAEZ+zB,GAAO,CAAC,SAAS,CAAC4B,EAAexoB,EAAasoB,EAAOhyB,KACnD,GAAe,MAAX0J,EAAK,IAAiC,iBAAZA,EAAK,IAA+C,mBAArBA,EAAK,GAAGA,EAAK,IAAoB,CAC5F,MAAM+F,EAAM/F,EAAKgL,QAEjB,OAAOjF,EADM/F,EAAKgL,SACDvX,MAAMsS,EAAK/F,GAG9B,GAAuB,mBAAZA,EAAK,GAAmB,CAEjC,OADWA,EAAKgL,QACNvX,MAAM,KAAMuM,GAGxB,GAAIgN,GAAQhN,EAAK,IACf,OAAOmK,GAAU7T,EAAK0J,EAAK,GAAIA,EAAKlO,MAAM,OAG9C80B,GAAO,CAAC,cAAc,CAAC4B,GAAQxkB,EAAM3H,MACnC,IAAKC,MAAMC,QAAQyH,KAAU1H,MAAMC,QAAQF,GAAQ,MAAO,GAC1D,MAAMxJ,EAAM,GACZ,IAAIqS,EACJ,IAAK,IAAI5R,EAAI,EAAGA,EAAI0Q,EAAK9Q,OAAQI,IAC/B4R,EAAKlB,EAAK1Q,IACL+I,EAAM/H,QAAQ4Q,MAASrS,EAAIyB,QAAQ4Q,IAAKrS,EAAIM,KAAK+R,GAExD,IAAK,IAAI5R,EAAI,EAAGA,EAAI+I,EAAMnJ,OAAQI,IAChC4R,EAAK7I,EAAM/I,KACLT,EAAIyB,QAAQ4Q,KAAQlB,EAAK1P,QAAQ4Q,IAAKrS,EAAIM,KAAK+R,GAEvD,OAAOrS,CAAG,IAEZ+zB,GAAO,CAAC,QAAQ,CAAC4B,GAAQ72B,EAAMyO,GAAekoB,EAAOhyB,IAC5CkT,GAAQlT,EAAK3E,EAAMyO,GAAO,KAEnCwmB,GAAO,CAAC,QAAQ,CAAC4B,GAAQ72B,EAAMyO,GAAekoB,EAAOhyB,IAC5CkT,GAAQlT,EAAK3E,EAAMyO,KAE5BwmB,GAAO,CAAC,eAAe,CAAC4B,GAAQxkB,EAAM3H,EAAO+qB,EAAYG,KAChDD,GAAW,GAAGtjB,GAAQ,KAAM,GAAG3H,GAAS,KAAM+qB,EAAYG,KAEnEX,GAAO,CAAC,YAAY,CAAC4B,GAAQxkB,EAAM3H,EAAO+qB,EAAYG,KAC7CF,GAAQ,GAAGrjB,GAAQ,KAAM,GAAG3H,GAAS,KAAM+qB,EAAYG,KAEhEX,GAAO,CAAC,YAAY,CAAC4B,GAAQxkB,EAAM3H,EAAO+qB,KACjCD,GAAQ,GAAGnjB,GAAQ,KAAM,GAAG3H,GAAS,KAAM+qB,KAEpDR,GAAO,CAAC,WAAY,UAAU,CAACj1B,GAAOqS,EAAM3H,EAAO6oB,GAAOhiB,KACxD,MAAMrQ,EAAMoyB,GAASjhB,EAAM3H,EAAO6oB,IAAQhiB,eAAAA,EAAMgiB,QAAShiB,eAAAA,EAAM6mB,SAAU,UACzE,MAAa,UAATp4B,GAAiC,IAARkB,EACjBA,CAAG,IAEjB+zB,GAAO,CAAC,YAAY,CAAC4B,GAAQn2B,EAAG6yB,GAAOhiB,IACR,YAAxBgiB,IAAQhiB,eAAAA,EAAMgiB,OAA2BM,GAAcX,GAAQxyB,EAAG6Q,eAAAA,EAAM4hB,OACjED,GAAQxyB,KAEtBu0B,GAAO,CAAC,SAAS,CAACoD,GAAIhmB,EAAM3H,EAAOgnB,GAAQiF,EAAOhyB,KAChD,GAAI+sB,GAASjZ,GAAciZ,GAAQ,CACjC,MAAMkF,EAAKlF,EACXA,EAAQ,CAAC7vB,EAAQ8D,IAAW6S,GAAU7T,EAAKiyB,EAAI,CAAC/0B,EAAG8D,IAErD,OAAO8rB,GAAKpf,EAAM3H,EAAOgnB,EAAM,IAEjCuD,GAAO,CAAC,eAAe,CAACoD,GAAI5G,EAAMe,GAAQjhB,IACjCghB,GAAUd,EAAMe,EAAOjhB,MAKlCmI,GACEub,GAAO,CAAC,IAAK,QAAQ,CAAC4B,EAAenoB,KACnC,GAAsB,IAAlBA,EAAOnN,OACT,OAAIiY,GAAU9K,EAAO,KAAa2O,GAAc3O,EAAO,IAC7CA,EAAO,GACVkb,WAAWlb,EAAO,IADG,EAG9B,GAAI/D,MAAMC,QAAQ8D,EAAO,IAAK,OAAOA,EAAO,GAAG9I,OAAO9D,MAAM4M,EAAO,GAAIA,EAAOvO,MAAM,IAC/E,GAAIqZ,GAAU9K,EAAO,KAAOA,EAAOnN,OAAS,GAAKmN,EAAOvO,MAAM,GAAGsB,QAAO,CAAC2C,EAAG9C,IAAM8C,GAAKqV,GAAWnY,KAAI,GAAO,OAAOoN,EAAOvO,MAAM,GAAGsB,QAAO,CAAC2C,EAAG9C,IAAMgb,GAAgBlY,EAAG9C,EAAG,IAAI+b,GAAc3O,EAAO,KACpM,GAAyB,iBAAdA,EAAO,IAAmBA,EAAOnN,OAAS,GAAKkY,GAAW/K,EAAO,IAAK,OAAOA,EAAOvO,MAAM,GAAGsB,QAAO,CAAC2C,EAAG9C,adqQhGO,EAAa8D,GACvC,GAAiB,iBAAN9D,GAA+B,iBAAN8D,EAAgB,OAAO9D,EAAI8D,EAC1D,CACH,MAAMzE,EAAgB,CAAEmD,EAAG,IAC3B,GAAiB,iBAANxC,EAAgBX,EAAImD,EAAE,GAAKxC,OACjC,GAAIwL,GAAaxL,GAAIX,EAAImD,EAAE,GAAKxC,EAAEyL,QAClC,IAAK,IAAI3L,EAAI,EAAGA,EAAI,EAAGA,IAASE,EAAEwC,EAAE1C,KAAIT,EAAImD,EAAE1C,GAAKE,EAAEwC,EAAE1C,IAE5D,GAAiB,iBAANgE,EAAgBzE,EAAImD,EAAE,IAAMnD,EAAImD,EAAE,IAAM,GAAKsB,OACnD,GAAI0H,GAAa1H,GAAIzE,EAAImD,EAAE,IAAMnD,EAAImD,EAAE,IAAM,GAAKsB,EAAE2H,QACpD,IAAK,IAAI3L,EAAI,EAAGA,EAAI,EAAGA,IAASgE,EAAEtB,EAAE1C,KAAIT,EAAImD,EAAE1C,IAAMT,EAAImD,EAAE1C,IAAM,GAAKgE,EAAEtB,EAAE1C,IAC9E,OAAOT,EAEX,CclRkIo3B,CAAYl0B,EAAG9C,IAAIoN,EAAO,IACnJ,GAAIA,EAAOjN,QAAO,CAAC2C,EAAG9C,IAAM8C,GAAkB,iBAAN9C,IAAmBkY,GAAUlY,KAAI,GAAO,OAAO6D,OAAOC,OAAOtD,MAAMqD,OAAQ,CAAC,IAAIS,OAAO8I,IAEpI,OADYA,EAAOjN,QAAO,CAAC2C,EAAG9C,IAAM8C,GAAKkxB,GAAMh0B,KAAI,GAE1CoN,EAAOjN,QAAO,CAAC2C,EAAG9C,IAAM8C,IAAK9C,GAAG,GAEhCoN,EAAOjN,QAAO,CAAC2C,EAAG9C,IAAM8C,GAAK9C,QAAgC,GAAKA,IAAI,OAGjF2zB,GAAO,CAAC,QAAQ,CAAC4B,GAAgBn2B,MAC/B,IAAI63B,EACJ,OAAIA,EAAQlD,GAAOpxB,KAAKvD,KAAY63B,EAAM,GACnCpsB,SAASzL,EAAE,IAEpBu0B,GAAO,CAAC,IAAK,aAAa,CAAC4B,EAAenoB,KACxC,MAAMpM,EAAQoM,EAAO2K,QACrB,GAAIG,GAAUlX,GAAQ,CACpB,GAAIoM,EAAOjN,QAAO,CAAC2C,EAAG9C,IAAM8C,GAAKoV,GAAUlY,KAAI,GAAO,OAAOoN,EAAOjN,QAAO,CAAC2C,EAAG9C,IAAM8C,GAAKiZ,GAAc/b,KAAK+b,GAAc/a,IAC3H,GAAIoM,EAAOjN,QAAO,CAAC2C,EAAG9C,IAAM8C,GAAKqV,GAAWnY,KAAI,GAAO,OAAOoN,EAAOjN,QAAO,CAAC2C,EAAG9C,IAAMgb,GAAgBlY,EAAG9C,GAAI,IAAI+b,GAAc/a,IAEjI,OAAOoM,EAAOjN,QAAO,CAAC2C,EAAG9C,IAAM8C,GAAMkxB,GAAMh0B,IAAUA,EAAL,IAAUg0B,GAAMhzB,IAAcA,EAAL,EAAW,IAEtF2yB,GAAO,CAAC,IAAK,aAAa,CAAC4B,EAAenoB,KACxC,MAAMpM,EAAQoM,EAAO2K,QACrB,IAAKic,GAAMhzB,GAAQ,CACjB,GAAqB,iBAAVA,GAAwC,IAAlBoM,EAAOnN,QAAgB+zB,GAAM5mB,EAAO,MAAQA,EAAO,GAAK,EAAG,CAC1F,IAAIhJ,EAAI,GACR,IAAK,IAAI/D,EAAI,EAAGA,EAAI+M,EAAO,GAAI/M,IAAK+D,GAAKpD,EACzC,OAAOoD,EAET,OAAO,EAET,OAAOgJ,EAAOjN,QAAO,CAAC2C,EAAG9C,IAAM8C,GAAMkxB,GAAMh0B,IAAUA,EAAL,KAAUgB,EAAM,IAElE2yB,GAAO,CAAC,IAAK,KAAM,SAAU,WAAW,CAACj1B,EAAc0O,KACrD,MAAMpM,EAAQoM,EAAO2K,QACrB,OAAIsH,MAAMre,GAAe,EACrBtC,EAAKuB,OAAS,GAAc,WAATvB,EAA0B0O,EAAOjN,QAAO,CAAC2C,EAAG9C,IAAMkM,KAAKC,MAAMrJ,GAAKuc,MAAMrf,GAAK,GAAKA,MAAMgB,GACnGoM,EAAOjN,QAAO,CAAC2C,EAAG9C,IAAM8C,GAAKuc,MAAMrf,GAAK,GAAKA,KAAKgB,EAAM,IAEtE2yB,GAAO,CAAC,IAAK,YAAY,CAAC4B,EAAenoB,KACvC,MAAMpM,EAAQoM,EAAO2K,QACrB,OAAO3K,EAAOjN,QAAO,CAAC2C,EAAG9C,IAAM8C,GAAKuc,MAAMrf,GAAK,GAAKA,IAAIqf,MAAMre,GAAS,GAAKA,EAAM,IAEpF2yB,GAAO,CAAC,MAAO,OAAO,CAAC4B,EAAenoB,KACpC,MAAM8pB,EAAM9pB,EAAO+D,MACbnQ,EAAQkL,KAAKgrB,IAAI9pB,EAAO+D,MAAO+lB,GACrC,OAAO9pB,EAAOgE,UAAUjR,QAAO,CAAC2C,EAAG9C,IAAMkM,KAAKgrB,IAAIl3B,EAAG8C,IAAI9B,EAAM,IAEjE2yB,GAAO,CAAC,QAAQ,CAAC4B,EAAenoB,IACL,iBAAdA,EAAO,GAAwBA,EAAO,GAC1ClB,KAAK0d,IAAIxc,EAAO,MAEzBumB,GAAO,CAAC,UAAU,CAAC4B,GAAgB1L,EAAKsN,EAAWrD,UAC/Bl1B,IAAdu4B,GAA2BtD,GAAc,yBArpB3BuD,EAAoBC,EAAQxD,GAAcjQ,OAAQxQ,EAAOygB,GAAcC,QAC3F,GAAIuD,EAAQ,EAAG,CACb,IAAIvyB,IAAQsyB,GAAO,GAAG7N,WACtB,MAAM+N,EAAQxyB,EAAIzD,QAAQ,KAC1B,KAAMi2B,EAAO,QAASxyB,GAAKyb,QAAQ8W,GACnC,IAAIjP,EAAMtjB,EAAIjG,MAAMy4B,EAAQ,GAC5B,GAAIlP,EAAInoB,QAAUo3B,EAAO,QAASvyB,GAAKyb,QAAQ8W,GAC/CvyB,GAAO,IACPsjB,GAAO,IACP,MAAM7nB,GAAK,GAAGuE,EAAIjG,MAAMw4B,EAAQjP,EAAInoB,OAAQo3B,EAAQjP,EAAInoB,OAAS,MAAQ,EACzE,IAAKM,EAAI,EAAG,OAAOuE,EAAIjG,MAAM,EAAGw4B,EAAQjP,EAAInoB,QACvC,IAAKM,EAAI,IAAM,GAAGuE,EAAIjG,MAAM,EAAIw4B,EAAQjP,EAAInoB,UAAW,QAASm3B,GAAK7W,QAAQ8W,GAC7E,CACH,MAAMvU,EAAM,GAAGhe,EAAIjG,MAAM,EAAGw4B,EAAQjP,EAAInoB,UAClCwE,GAAKK,EAAIjG,MAAMw4B,EAAQjP,EAAInoB,OAAS,EAAGo3B,EAAQjP,EAAInoB,QACzD,MAAa,aAATmT,IAA8B,GAAG0P,IAAMre,EAAI,GAAM,EAAI,EAAI,KAAK8b,QAAQ8W,GACxD,YAATjkB,IAA6B,GAAG0P,KAAOA,EAAM,EAAI,EAAI,KAAKvC,QAAQ8W,GACzD,cAATjkB,IAA+B,GAAG0P,KAAOA,EAAM,EAAI,EAAI,KAAKvC,QAAQ8W,GAC3D,SAATjkB,IAA0B,GAAG0P,MAAQvC,QAAQ8W,GACpC,WAATjkB,IAA4B,GAAG0P,MAAQvC,QAAQ8W,KAC1C,GAAGvU,IAAMre,EAAI,GAAM,EAAI,EAAI,KAAK8b,QAAQ8W,IAEnD,GAAc,IAAVA,EAAa,CACtB,IAAIvyB,IAAQsyB,GAAO,GAAG7N,WACtB,MAAM+N,EAAQxyB,EAAIzD,QAAQ,KAC1B,KAAMi2B,EAAO,OAAOxyB,EACpBA,EAAM,GAAGA,MACT,MAAMb,GAAKa,EAAIjG,MAAMy4B,EAAQ,EAAGA,GAC1B32B,GAAKmE,EAAIjG,MAAMy4B,EAAQ,EAAGA,EAAQ,GACxC,GAAI32B,EAAI,EAAG,OAAOmE,EAAIjG,MAAM,EAAGy4B,GAC1B,GAAI32B,EAAI,GAAW,IAANA,IAAYmE,EAAIjG,MAAMy4B,EAAQ,GAAI,QAAS,GAAGxyB,EAAIjG,MAAM,EAAGy4B,EAAQ,OAASrzB,EAAI,KAAOa,EAAM,GAAK,EAAI,IAAIykB,WACvH,CACH,MAAMjG,GAAQ,GAAGxe,EAAIjG,MAAM,EAAGy4B,EAAQ,MACtC,MAAa,aAATlkB,GAA6BkQ,GAAQrf,EAAI,GAAM,EAAIA,EAAI,EAAIA,KAAOa,EAAM,GAAK,EAAI,IAAIykB,WACvE,YAATnW,GAA4BkQ,IAASxe,EAAM,EAAIb,EAAI,EAAIA,KAAOa,EAAM,GAAK,EAAI,IAAIykB,WACxE,cAATnW,GAA8BkQ,IAASxe,EAAM,EAAIb,EAAI,EAAIA,KAAOa,EAAM,GAAK,EAAI,IAAIykB,WAC1E,SAATnW,EAAwBkQ,EAAKiG,WACpB,WAATnW,GAA2BkQ,EAAO,GAAGiG,YACjCjG,GAAQrf,EAAI,GAAM,EAAIA,EAAIA,EAAI,KAAOa,EAAM,GAAK,EAAI,IAAIykB,YAElE,CACL,IAAIzkB,EAAM,IAAIsyB,EAAM,EAAIlrB,KAAKC,OAAOirB,GAAO,GAAKlrB,KAAKqrB,MAAMH,GAAO,KAClE,GAAI,EAAIC,EAAQvyB,EAAI7E,OAAQ,MAAO,IACnC,MAAMU,GAAKmE,EAAIjG,MAAMw4B,GAAkB,IAAXA,OAAez4B,EAAYy4B,EAAQ,GAC/D,IAAIpzB,EAAIa,EAAIjG,MAAMw4B,EAAQ,EAAGA,GACnB,MAANpzB,IAAWA,EAAI,IACnB,MAAMuzB,EAAS,GAAGtrB,KAAKgrB,IAAI,GAAI,EAAIG,GAAO9N,WAAW1qB,MAAM,KAC3D,GAAKoF,EAYE,CACL,GAAItD,EAAI,EAAG,MAAO,GAAGmE,EAAIjG,MAAM,EAAGw4B,KAASG,IACtC,GAAI72B,EAAI,GAAK02B,GAAS,IAAM,GAAGvyB,EAAIjG,MAAMw4B,EAAQ,KAAM,QAAS,IAAIvyB,EAAIjG,MAAM,EAAGw4B,EAAQ,IAAM,KAAQG,MAAY,IAAIvzB,EAAI,IAAIuzB,MAAa1yB,EAAM,GAAK,EAAI,IAAIykB,WAC/J,CACH,MAAMjG,GAAQ,GAAGxe,EAAIjG,MAAM,EAAGw4B,EAAQ,IAAM,KAAKG,IACjD,MAAa,aAATpkB,GAA6BkQ,IAAQ,IAAIrf,EAAI,GAAM,GAAKA,EAAI,GAAKA,IAAIuzB,MAAa1yB,EAAM,GAAK,EAAI,IAAIykB,WACvF,YAATnW,GAA4BkQ,IAAQ,IAAIxe,EAAM,GAAKb,EAAI,GAAKA,IAAIuzB,MAAa1yB,EAAM,GAAK,EAAI,IAAIykB,WACvF,cAATnW,GAA8BkQ,IAAQ,IAAIxe,EAAM,GAAKb,EAAI,GAAKA,IAAIuzB,MAAa1yB,EAAM,GAAK,EAAI,IAAIykB,WACzF,SAATnW,GAAyBkQ,IAAQ,IAAIrf,IAAIuzB,MAAa1yB,EAAM,GAAK,EAAI,IAAIykB,WAChE,WAATnW,GAA2BkQ,IAAQ,IAAIrf,EAAI,IAAIuzB,MAAa1yB,EAAM,GAAK,EAAI,IAAIykB,YAC3EjG,IAAQ,IAAIrf,EAAI,GAAM,GAAKA,GAAKA,EAAI,IAAIuzB,MAAa1yB,EAAM,GAAK,EAAI,IAAIykB,YAtBjF,CACN,MAAMkO,EAAM,IAAI3yB,EAAM,EAAI,IAAM,MAAM0yB,IACtC,OAAK1yB,EAAM,IAAMA,EAAM,IAAMA,EAAM,IAAMA,GAAO,EAAU,KAChDA,EAAM,IAAMA,EAAM,IAAMA,EAAM,IAAMA,GAAO,GAEtC,aAATsO,EAFyDqkB,EAG3C,YAATrkB,GAA4BtO,EAAM,EAAI2yB,EAAM,IACnC,cAATrkB,GAA8BtO,EAAM,EAAI,IAAM2yB,EACrC,SAATrkB,EAAwB,IACf,WAATA,EAA0BqkB,EACvB,KAgBpB,CA4kByEhB,CAAM5M,EAAKsN,EAAWrD,GAC/E5nB,KAAKuqB,MAAM5M,KAEzB8J,GAAO,CAAC,UAAU,CAAC4B,EAAenoB,IACzBlB,KAAKC,MAAMiB,EAAO,MAE3BumB,GAAO,CAAC,SAAS,CAAC4B,EAAenoB,IACxBlB,KAAKqrB,KAAKnqB,EAAO,MAE1BumB,GAAO,CAAC,OAAQ,WAAW,CAAC4B,GAAgB7L,EAAKhlB,EAAK0jB,MACpD,IAAIxoB,EACJ,OAAW,MAAP8pB,EAAoBxd,KAAKwrB,UACL,iBAARhzB,EAAkB9E,EAAMsM,KAAKwrB,SAAWhO,EAChC,iBAARhlB,IAAkB9E,EAAMsM,KAAKwrB,UAAYhzB,EAAMglB,GAAOA,IAE1D,IAARhlB,IAAwB,IAAR0jB,EAAqBxoB,EAC7BsM,KAAKuqB,MAAM72B,GAAI,KAsB/B,MAAM+3B,GAAQ,OACRC,GAAQ,OACRC,GAAW,gCA2djB,SAASC,GAAQn3B,EAAQ8P,GACvB,GAAiB,iBAAN9P,EAAgB,CACzB,MAAMoC,EAAI6M,GAAUjP,GAChBoC,IAAGpC,EAAIoC,GAEb,OAAO0M,GAAKyI,GAAUvX,GAAKsb,GAAoBtb,GAAKA,EAAG8P,EACzD,CAEA,SAASolB,GAAYxyB,EAAc2Y,GACjC,MAAMla,EAAOuB,EAAImR,KAAaujB,UAAa10B,EAAImR,KAAaujB,QAAU,IACtE,OAAI/b,KAASla,EAAYA,EAAIka,GACrBla,EAAIka,GAASgc,GAAWhc,EAClC,CAEA,SAASic,GAAWr4B,EAAUuN,EAAY+Z,EAAcgR,GACtD,GAAI7uB,MAAMC,QAAQ6D,GAAQ,CACxB,GAAqB,IAAjBA,EAAMlN,OAAc,OAAOL,EAC1B,GAAqB,IAAjBuN,EAAMlN,OAAc,CAC3B,MAAO8N,EAAG3O,GAAK+N,EACf,GAAI9D,MAAMC,QAAQyE,GAChB,IAAK,MAAMoqB,KAAMpqB,EACXmqB,EACEC,KAAMv4B,EAAKA,EAAIu4B,GAAIj4B,KAAKd,GACvBQ,EAAIu4B,GAAM,CAAC/4B,GACXQ,EAAIu4B,GAAM/4B,OAGf84B,EACEnqB,KAAKnO,EAAKA,EAAImO,GAAG7N,KAAKd,GACrBQ,EAAImO,GAAK,CAAC3O,GACVQ,EAAImO,GAAK3O,QAGf,GAAqB,iBAAV+N,EAAoB,CACpC,MAAM/N,EAAI+N,EACV,GAAI,SAAU/N,GAAKiK,MAAMC,QAAQlK,EAAE84B,MAAO,IAAK,MAAM73B,KAAKjB,EAAE84B,KAAMD,GAAWr4B,EAAKS,EAAG6mB,EAASgR,QACrF,QAAS94B,GAAK,SAAUA,IAAG64B,GAAWr4B,EAAK,CAACR,EAAEuU,KAAOvU,EAAE0U,KAAM1U,EAAE+N,OAAS+Z,GAAUA,EAASgR,QAEhGA,EACE/qB,KAASvN,EAAKA,EAAIuN,GAAOjN,KAAKgnB,GAC7BtnB,EAAIuN,GAAS,CAAC+Z,GACdtnB,EAAIuN,GAAS+Z,EAEtB,OAAOtnB,CACT,CAtgBAwY,GACEub,GAAO,CAAC,SAAS,CAAC4B,GAAgBn2B,GAAI6Q,EAAM5M,KACtC4M,eAAAA,EAAM8G,UAAiBA,IAAS9G,eAAAA,EAAMnP,UAAWuC,EAAKjE,GAC9CsX,IAASzG,eAAAA,EAAMnP,UAAWuC,EAAKjE,KAE7Cu0B,GAAO,CAAC,OAAQ,OAAQ,QAAQ,CAACj1B,EAAcqO,KAC7C,IAAKjI,EAAK0B,EAAO4I,GAAOrC,EACxB,OA3BJ,SAAaqrB,EAAoBtzB,EAAa0B,EAAesd,GAE3D,GADmB,iBAARhf,IAAkBA,EAAM,GAAKA,IACnCkvB,GAAMxtB,GAAQ,OAAO1B,EACrBgf,IAAKA,EAAM,KACG,iBAARA,IAAkBA,EAAM,GAAKA,GACpCA,EAAI7jB,OAAS,IAAG6jB,EAAM,KAE1B,MAAMuU,GAAM7xB,EAAQ1B,EAAI7E,QAAU,EAClC,IAAK,IAAII,EAAI,EAAGyE,EAAI7E,OAASuG,EAAOnG,IACpB,MAAV+3B,EAAetzB,EAAMgf,EAAMhf,EACZ,MAAVszB,EAAetzB,GAAYgf,EAC3BzjB,EAAIg4B,EAAIvzB,EAAMgf,EAAMhf,EACxBA,GAAYgf,EAGnB,OAAOhf,CACT,CAWWgf,CAAa,SAATplB,EAAkB,IAAe,SAATA,EAAkB,IAAM,IAAKoG,EAAK0B,EAAO4I,EAAI,IAElFukB,GAAO,CAAC,OAAQ,QAAS,UAAU,CAACj1B,EAAcqO,KAChD,IAAKjI,GAAOiI,EAIZ,OAHAjI,EAAM,GAAKA,EACE,SAATpG,GAA4B,UAATA,IAAkBoG,EAAMA,EAAIwF,QAAQstB,GAAO,KACrD,SAATl5B,GAA4B,UAATA,IAAkBoG,EAAMA,EAAIwF,QAAQqtB,GAAO,KAC3D7yB,CAAG,IAEZ6uB,GAAO,CAAC,QAAS,WAAW,CAAC4B,GAAgBvd,EAAK1Y,EAAOC,GAAa81B,EAAOhyB,KAC3E,GAAI2U,GAA4B,mBAAdA,EAAInZ,MAAsB,OAAOmZ,EAAInZ,MAAMS,EAAOC,GAC/D,CACH,MAAM0H,EAAKqR,GAA2B,UACtC,GAAIrR,EAAI,MAAO,GAAGA,EAAGzG,MAAM,SAAU,CAACwX,QAAMpZ,EAAWyE,KAAOxE,MAAMS,EAAOC,OAG/Eo0B,GAAO,CAAC,MAAO,WAAW,CAAC4B,GAAgBvd,KACtB,iBAARA,GAAoBA,GAAO,WAAYA,EAAYA,EAAI/X,OAC3D,IAET0zB,GAAO,CAAC,UAAW,gBAAgB,CAACj1B,GAAeoG,EAAK4S,EAAMnP,EAAK+vB,MACjExzB,EAAM,GAAGA,IACT,MAAM8wB,EAAsB,iBAAV0C,EAClB,MAAa,gBAAT55B,GAA0Bk3B,EACrB9wB,EAAIwF,QAAQ,IAAI0f,OAAO4L,EAAKle,EAAOA,EAAKpN,QAAQutB,GAAU,SAAmB,YAATn5B,GAAuB45B,IAAUA,EAAMj3B,QAAQ,KAAQi3B,EAAQ,GAAGA,GAAS,QAAU,KAAM/vB,GAE/JzD,EAAIwF,QAAQoN,EAAMnP,MAG7BorB,GAAO,CAAC,YAAY,CAAC4B,GAAgBvd,MACnC,GAAmB,iBAARA,EAAkB,CAC3B,IAAI3T,EAAI,GACR,IAAK,IAAIhE,EAAI,EAAGA,EAAI2X,EAAI/X,OAAQI,IAAKgE,EAAI2T,EAAI3X,GAAKgE,EAClD,OAAOA,EACF,GAAIgF,MAAMC,QAAQ0O,GACvB,OAAOA,EAAI5G,aAGfuiB,GAAO,CAAC,SAAS,CAAC4B,GAAgBvd,EAAKugB,MACrC,IAAKvgB,EAAK,MAAO,GACjB,GAAIugB,EAAO,CACT,MAAM34B,EAAgB,GACtB,IAAK,MAAMmO,KAAKiK,EAAKpY,EAAIM,KAAK6N,GAC9B,OAAOnO,EAEP,OAAOiE,OAAOiQ,KAAKkE,MAGvB2b,GAAO,CAAC,WAAW,CAAC4B,GAAgBvd,KAC7BA,EACEnU,OAAOuJ,OAAO4K,GADJ,KAGnB2b,GAAO,CAAC,SAAS,CAAC4B,EAAexoB,EAAakD,EAAM5M,KAClD,IAGIzD,GAHCR,EAAG6B,GAAK8L,EAIb,GAHoB,iBAATkD,GAAsBA,IAAMA,EAAO,SAGpCrR,IAANQ,EAAiB,CACnB,GAAI8Y,GAAU9Y,GAAIQ,EAAMmc,GAAc3c,QACjC,GAAiB,iBAANA,EAAgB,CAC9B,IAAI8c,EAAKtM,GAAUxQ,GACnB,GAAI8Y,GAAUgE,GACZtc,EAAMsc,OAGN,GADKA,IAAIA,EAAK,IAAInM,KAAK3Q,IACnBigB,MAAMnD,GAAY,CACpB,IAAI9M,EAAMsH,GAASrT,GAAMjE,EAAEiC,QAAQ,KAAOjC,EAAI,IAAIA,MAC9C8Y,GAAU9I,KACgBxP,EAAxBqQ,EAAKuK,KAAOvK,EAAK9M,MAAaiM,EACvB2M,GAAc3M,KAK5BxP,IAAKA,EAAM,IAAImQ,KAAK3Q,SAEtBQ,EAAM,IAAImQ,KAGf,IAAKE,EAAKuK,KAAOvK,EAAK9M,QAAU+U,GAAUtY,GAAM,CAC9C,IAAI4a,EAAMyB,GAAoBrc,GAG9B,GAFiB,iBAANqB,IAAgBA,EAAI4N,GAAU5N,IAErCoI,MAAMC,QAAQrI,GAAI,CACpB,MAAMwD,EAAI+V,EAAI/V,EACdA,EAAE,GAAKxD,EAAE,GAAIwD,EAAE,GAAKxD,EAAE,GAAIwD,EAAE,GAAKxD,EAAE,GAAIwD,EAAE,GAAKxD,EAAE,GAChDA,EAAIA,EAAE,GAGR,GAAiB,iBAANA,EAAgB,CACzB,GAAIgP,EAAK8H,MAAO,CACd,MAAMoY,IAAS3V,EAAI/V,EAAE,IAAM,GAAKxD,EAC1Bib,EAAKH,GAAcvB,GACzB0B,EAAGC,WAAWD,EAAGE,aAAe+T,GAChC3V,EAAMyB,GAAoBC,GAG5B1B,EAAI/V,EAAE,GAAKxD,EACXrB,EAAM4a,OAEH,CACL,MAAMge,EAAMtgB,GAAUtY,GAAOmc,GAAcnc,GAAOA,EAC9C,MAAOqQ,IAASoP,MAAMpP,EAAKtE,IAAI6sB,EAAIhc,YAAYvM,EAAKtE,GACxD,MAAMA,EAAI6sB,EAAI5d,cACV,MAAO3K,IAASoP,MAAMpP,EAAKjH,KAC7BwvB,EAAI9b,UAAUzM,EAAKjH,EAAI,GACnBiH,EAAK8S,OAASyV,EAAI5d,gBAAkBjP,IACtC6sB,EAAIhc,YAAY7Q,GAChB6sB,EAAI9b,SAAS,MAGjB,MAAM1T,EAAIwvB,EAAI3d,WAWd,GAVI,MAAO5K,IAASoP,MAAMpP,EAAKlN,KAC7By1B,EAAIpd,QAAQnL,EAAKlN,IACbkN,EAAK8S,OAAUyV,EAAI3d,aAAe7R,GAAKwvB,EAAI5d,gBAAkBjP,IAC/D6sB,EAAIpd,QAAQ,GACZod,EAAIhc,YAAY7Q,GAChB6sB,EAAI9b,SAAS1T,EAAI,GACjBwvB,EAAIpd,QAAQ,KAIZna,EAAG,CACL,GAAIrB,IAAQR,EACV,GAAiB,iBAANA,EAAgB,CACzB,MAAM8c,EAAKtM,GAAUxQ,GACIQ,EAArBsc,GAAMhE,GAAUgE,GAAWH,GAAcG,GAClC,IAAInM,KAAK3Q,QACfQ,EAAM,IAAImQ,KAAK3Q,GAIxB,GADiB,iBAAN6B,IAAgBA,EAAI4N,GAAU5N,IACrCoI,MAAMC,QAAQrI,IAEhB,GADAu3B,EAAI7b,SAAS1b,EAAE,IAAM,EAAGA,EAAE,IAAM,EAAGA,EAAE,IAAM,EAAGA,EAAE,IAAM,GAC1C,MAARA,EAAE,GAAY,CAChB,MAAM4a,GAAU2c,EAAI1c,oBAAsB7a,EAAE,GAC5Cu3B,EAAIrc,WAAWqc,EAAIpc,aAAeP,SAE/B,GAAiB,iBAAN5a,EAAgB,CAChC,MAAM4a,GAAU2c,EAAI1c,oBAAsB7a,EAC1Cu3B,EAAIrc,WAAWqc,EAAIpc,aAAeP,IAItCjc,EAAM44B,EAGR,KAAI54B,aAAemQ,MAAQsP,OAAOzf,IAClC,OAAOA,CAAG,IAEZ+zB,GAAO,CAAC,aAAa,CAAC4B,GAAgBn2B,GAAWi2B,EAAOhyB,IAC/CqT,GAASrT,GAAMjE,EAAEiC,QAAQ,KAAOjC,EAAI,IAAIA,QAEjDu0B,GAAO,CAAC,QAAS,UAAU,CAACj1B,GAAeU,MACzCA,EAAS,MAALA,EAAY,GAAKA,EACL,UAATV,EAAmB,GAAGU,IAAIoI,cAAgB,GAAGpI,IAAImI,iBAE1DosB,GAAO,CAAC,SAAU,QAAQ,CAAC4B,EAAexoB,EAAakD,EAAM5M,KAC3D,IAAKjE,EAAGqR,KAAQrM,GAAK2I,EACrB,MAAM9F,EAAKiT,GAAQzJ,GACnB,GAAKxJ,EAeE,OAAOA,EAAGzG,MAAMpB,EAAGgF,EAAI6L,GAAQhJ,EAAGqT,UAfhC,CACP,MAAMrT,EAAKqR,GAAY7H,GACvB,GAAIxJ,EAAI,CACN,MAAM8F,EAAO,CAAC3N,KAAMgF,GACpB,GAAgB,cAAZ6C,EAAGmM,KAAsB,OAAOnM,EAAGzG,MAAMiQ,EAAKpH,MAAMC,QAAQlK,GAAKA,EAAI,CAACA,GAAIgF,EAAEtC,KAAI1C,KAAQA,QAAQ6Q,GAAQkK,GAAe1J,GAAcpN,GACzI,GAAgB,YAAZ4D,EAAGmM,KAAoB,CACzB,IAAK,IAAI/S,EAAI,EAAGA,EAAI0M,EAAK9M,OAAQI,IAAK,CACpC,MAAMT,EAAMqH,EAAG6Q,SAASrH,EAAKpQ,EAAG0M,EAAK9M,OAAS,EAAG8M,EAAK1M,GAAK4P,GAAQkK,GAAe1J,GAAcpN,EAAK,CAAEjE,EAAG2N,EAAK1M,KAC/G,GAAmB,iBAART,GAAsB,WAAYA,EACxC,OAAOA,EAAIE,OAElB,OAAOmH,EAAGzG,MAAMiQ,EAAK1D,EAAOkD,GAAQkK,GAAe1J,GAAcpN,GAEnE,OAAO4D,EAAGzG,MAAMiQ,EAAK1D,EAAOkD,GAAQkK,GAAe1J,GAAcpN,GAC5D,MAAO,GAAGjE,IACuC,IAE5Du0B,GAAO,CAAC,iBAAiB,CAAC4B,GAAgBniB,EAAM1U,GAAcuR,KAC5D,GAAa,WAATmD,GAAqC,iBAAT1U,EAAmB,CACjD,MAAM+R,EAAMyJ,GAAQxb,GACpB,GAAI+R,EAAK,OAAO5M,OAAOC,OAAO2M,EAAI6J,SAAUrK,GAC5C,MAAMwoB,EAAOte,GAAezb,GAC5B,GAAI+5B,EAAM,OAAO50B,OAAOC,OAAO20B,EAAKne,SAAUrK,OAC5B,UAATmD,GACTvP,OAAOC,OAAO+vB,GAAe5jB,MAGjC0jB,GAAO,CAAC,UAAU,CAAC4B,EAAexoB,EAAakD,MAC7CA,EAAOA,GAAQlD,EAAK,IAAM,KACG,iBAATkD,IAAmBA,EAAO,IAC9C,MAAO7Q,GAAK2N,EAEZ,OAAIkD,EAAKR,KAAaG,GAAUxQ,EAAG6Q,GAC1BA,EAAK8G,UAAY9G,EAAK2mB,IAAY3f,GAAc7X,EAAG6Q,GACnDA,EAAKT,KAAaX,GAAUzP,EAAG6Q,GAC/BA,EAAKoH,KAAalE,GAAU/T,EAAG6Q,GAC/BA,EAAKN,OAAe8f,GAAYrwB,GAChC6Q,EAAK+L,MAAcgc,GAAW54B,EAAG6Q,GACjCA,EAAK+iB,KACR/iB,EAAKojB,SAAQpjB,EAAOpM,OAAOC,OAAO40B,GAAUt5B,GAAI6Q,aDp2BpCqjB,EAAcrV,GAClC,MAAMqF,EAAO0P,GAAInvB,OAAOC,OAAO,GAAIma,EAAS,CAAE+I,QAAQ,IAAzCgM,CAAmDM,GAChE,GAAI,YAAahQ,EAAM,MAAO,GAC9B,GAAIrF,EAAQ+I,QAAU1D,EAAKrjB,OAAQ,CACjC,MAAM+mB,EAAS1D,EAAKvL,QAAQjW,KAAI,CAACiM,EAAG1N,IAAM,CAAC0N,EAAG1N,KAE9C,OADA2mB,EAAO/gB,MAAK,CAACnD,EAAGqH,IAAMrH,EAAE,GAAKqH,EAAE,IAAM,EAAIrH,EAAE,GAAKqH,EAAE,GAAK,EAAI,IACpDmZ,EAAKxhB,KAAI1C,GAAK4nB,EAAO7mB,QAAO,CAAC2C,EAAG9C,KAAO8C,EAAE9C,EAAE,IAAMZ,EAAEY,EAAE,IAAK8C,IAAI,MAEvE,OAAOwgB,CACT,CC41BaqV,CAASv5B,EAAG6Q,IACP9M,GAAM/D,EAAG6Q,EAAK,IAE9B0jB,GAAO,CAAC,sBAAsB,CAAC4B,GAAgBjC,KACzB,iBAATA,EAA0B,GAC9BoF,GAAUpF,MAKrBlb,GAAiB,CACfhF,KAAM,UACNR,MAAO,CAAC,MAAO,MACfkF,SAAQ,CAACyd,EAAeqD,EAAYC,EAAgB1rB,IAC9CA,EAAc,WACN,CAAErN,OAAQqN,GAExB3M,MAAK,CAAC+0B,EAAexoB,IACZA,EAAKA,EAAK9M,OAAS,IAE3B,CACDmT,KAAM,UACNR,MAAO,CAAC,KAAM,KAAM,MACpBkF,SAAQ,CAACpZ,EAAck6B,EAAYC,EAAgB1rB,KACpC,OAATzO,EAAyB,MAATyO,EAAgBA,GAAc,CAAErN,OAAQqN,GAChD,WAEd3M,MAAM9B,GACY,OAATA,QAAgBE,GAExB,CACDwU,KAAM,UACNR,MAAO,CAAC,KAAM,UACdkF,SAAQ,CAACpZ,EAAc2B,EAAWD,EAAc+M,IAC1C9M,EAAI,GAAM,EACRA,IAAMD,EAAa,CAAEN,OAAQqN,IACf,OAATzO,GAAiByO,EAAQA,GAAc,CAAEtK,KAAM,GAC5C,WAEF,CAAE/C,OAAQqN,GAExB3M,WACC,CACD4S,KAAM,UACNR,MAAO,CAAC,OAAQ,UAChBkF,SAASyd,EAAel1B,EAAWD,EAAc+M,EAAYkoB,EAAOhyB,EAAcy1B,GAChF,GAAU,IAANz4B,EAEF,OADCgD,EAAI6S,UAAY7S,EAAI6S,QAAU,KAAK6iB,KAAO5rB,EACpC,WACF,GAAI9M,EAAI,GAAM,EAAG,CACtB,GAAIA,IAAMD,EAAM,MAAO,CAAEN,OAAQqN,GACjC,GAAI8mB,GAAO9mB,EAAO9J,EAAI6S,QAAQ6iB,MAAO,MAAO,WAC5C,GAAIhf,GAAQ+e,IAAQ,OAAQA,IAAiB,IAAV3rB,EAAgB,MAAO,WAC1D,GAAI4M,GAAQ5M,GAAQ,CAClB,MAAM/N,EAAIkX,GAAUjT,EAAK8J,GACzB,GAAI8mB,GAAO70B,EAAGiE,EAAI6S,QAAQ6iB,MAAO,MAAO,WACxC,IAAU,IAAN35B,EAAY,MAAO,WAEzB,MAAO,CAAEyD,KAAM,GACV,MAAO,CAAE/C,OAAQqN,IAE1B3M,UACAwW,QAAQ,GACP,CACD5D,KAAM,UACNR,MAAO,CAAC,QACRkF,SAAQ,CAACyd,EAAel1B,EAAWD,EAAc+M,IACrC,IAAN9M,EACEgJ,MAAMC,QAAQ6D,IAAUA,EAAMlN,QAAUkN,GAA0B,iBAAVA,GAAsBtJ,OAAOiQ,KAAK3G,GAAOlN,OAAe,WACxG,CAAE4C,KAAM,GACL,IAANxC,EAAgB,CAAEwC,KAAMzC,EAAOC,EAAG8M,SACpC9M,IAAMD,EAAa,CAAEN,OAAQqN,GAC7B9M,EAAI,GAAM,EACb8M,EAAc,WACN,CAAEtK,KAAM,GACR,CAAE/C,OAAQqN,GAE1B3M,MAAM+0B,GAAgBpoB,EAAO6rB,GAAoC/oB,EAAM5M,GACrE,GAAIgG,MAAMC,QAAQ6D,GAAQ,CACxB,MAAM/M,EAAO+M,EAAMlN,OAAS,EAC5B,OAAOkN,EAAMrL,KAAI,CAAC1C,EAAGiB,IAAM6W,GAAUF,GAAO3T,EAAK,CAAE8J,MAAO/N,EAAG8W,QAAS,CAAE9V,OAAMkP,MAAOjP,EAAGsT,IAAKtT,EAAG,WAAYD,KAAW44B,EAAM,CAAC55B,EAAGiB,MAAKwB,MAAKoO,eAAAA,EAAMpO,OAAQ,IACpJ,GAAqB,iBAAVsL,GAAsBA,EAAO,CAC7C,MAAM+gB,EAAUrqB,OAAOqqB,QAAQ/gB,GACzB8rB,EAAU/K,EAAQA,EAAQjuB,OAAS,GAAG,GACtCG,EAAO8tB,EAAQjuB,OAAS,EAC9B,OAAO4D,OAAOqqB,QAAQ/gB,GAAOrL,KAAI,EAAEiM,EAAG3O,GAAIiB,IAAM6W,GAAUF,GAAO3T,EAAK,CAAE8J,MAAO/N,EAAG8W,QAAS,CAAE9V,OAAM,WAAY64B,EAAS3pB,MAAOjP,EAAGsT,IAAK5F,KAAQirB,EAAM,CAAC55B,EAAG2O,MAAKlM,KAAK,IAEnK,MAAO,KAGV,CACDuR,KAAM,UACNR,MAAO,CAAC,QACRkF,SAAQ,CAACyd,EAAel1B,EAAWD,EAAc+M,IACrC,IAAN9M,GAAW8M,GAA0B,iBAAVA,EAA2B,WAC3C,IAAN9M,EAAgB,CAAEwC,KAAMzC,EAAOC,EAAG8M,SAClC9M,IAAMD,EAAa,CAAEN,OAAQqN,GAC7B9M,EAAI,GAAM,EACb8M,EAAc,WACN,CAAEtK,KAAM,GACR,CAAE/C,OAAQqN,GAE1B3M,MAAK,CAAC+0B,GAAgBpoB,EAAO6rB,GAA2B3D,EAAOhyB,IACtD6T,GAAUF,GAAO3T,EAAK,CAAE8J,UAAU6rB,EAAM,CAAC7rB,KAEjD,CACDiG,KAAM,UACNR,MAAO,CAAC,WAAY,kBACpBkF,SAAQ,CAACpZ,EAAck6B,EAAYM,EAAe/rB,IACnC,aAATzO,SAAuByO,GAClBA,EADgE,CAAErN,OAAQqN,GAEvE,WAEd3M,YAIF4X,GAAiB,CACfhF,KAAM,YACNR,MAAO,CAAC,OACRpS,MAAK,CAAC+0B,EAAe7hB,EAAY3G,EAAqBsoB,EAAOhyB,IACpDqQ,EAAIvT,QAAO,CAAC2C,EAAG9C,IAAM8C,EAAI+mB,GAAI9c,EAAK,GAAKmK,GAAU7T,EAAK0J,EAAK,GAAI,CAAC/M,IAAMA,IAAI,GAAK0T,EAAIzT,QAE3F,CACDmT,KAAM,YACNR,MAAO,CAAC,OACRpS,MAAK,CAAC+0B,EAAe7hB,EAAY3G,EAAqBsoB,EAAOhyB,IACpDqQ,EAAIvT,QAAO,CAAC2C,EAAG9C,IAAM8C,EAAI+mB,GAAI9c,EAAK,GAAKmK,GAAU7T,EAAK0J,EAAK,GAAI,CAAC/M,IAAMA,IAAI,IAElF,CACDoT,KAAM,YACNR,MAAO,CAAC,SACRpS,MAAK,CAAC+0B,EAAe7hB,EAAY3G,EAAqBsoB,EAAOhyB,IACvD0J,EAAK9M,OAAeyT,EAAIhB,QAAO,CAACrK,EAAGhI,IAAM6W,GAAU7T,EAAK0J,EAAK,GAAI,CAAC1E,EAAGhI,MAAKJ,OAClEyT,EAAIzT,QAEjB,CACDmT,KAAM,YACNR,MAAO,CAAC,MAAO,OACfpS,MAAK,CAAC9B,EAAcgV,EAAY3G,EAAqBsoB,EAAOhyB,KACtD8T,GAAcpK,EAAK,IAAK2G,EAAMA,EAAI5R,KAAIuG,GAAK6O,GAAU7T,EAAK0J,EAAK,GAAI,CAAC1E,MAC/D0E,EAAK9M,SAAWyT,EAAIzT,SAAQyT,EAAM3G,EAAKjL,KAAIgB,GAAKgU,GAAUzT,EAAKP,MACnE4Q,EAAIzT,OACFiM,KAAKxN,GAAM8B,MAAM0L,KAAMwH,EAAIhB,QAAOrK,IAAMgX,MAAMhX,MAD7B,IAGzB,CACD+K,KAAM,YACNR,MAAO,CAAC,QAAS,MAAO,QACxBpS,MAAM9B,EAAcgV,EAAY3G,EAAqBsoB,EAAOhyB,GAC1D,IAAI+L,EACA5O,EAAQ,EACZ,GAAa,UAAT9B,EAAkB0Q,EAAMsE,EAAI,QAC3B,GAAa,SAAThV,EAAiB0Q,EAAMsE,EAAIA,EAAIzT,OAAS,QAC5C,GAAI8M,EAAK,GAAI,CAChB,MAAM1M,EAAIyW,GAAUzT,EAAK0J,EAAK,IACb,iBAAN1M,IACT+O,EAAM/O,EAAI,EAAIqT,EAAIA,EAAIzT,OAASI,GAAKqT,EAAIrT,EAAI,GAC5CG,EAAQ,GAIZ,OADIuM,EAAKvM,KAAQ4O,EAAM0H,GAAUzT,EAAK0J,EAAKvM,KACpC4O,IAER,CACDgE,KAAM,YACNR,MAAO,CAAC,OACRpS,MAAM+0B,EAAe7hB,EAAY3G,EAAqBkD,EAAM5M,GAC1D,IAAK0J,EAAK,GAAI,OAAO2G,EACrB,IAAItU,EACA22B,EAGJ,GAFI5e,GAAcpK,EAAK,KAAK3N,EAAIsU,EAAKqiB,EAAMjf,GAAUzT,EAAK0J,EAAK,KACtDoK,GAAcpK,EAAK,MAAK3N,EAAI0X,GAAUzT,EAAK0J,EAAK,IAAKgpB,EAAMjf,GAAUzT,EAAK0J,EAAK,MACnF1D,MAAMC,QAAQlK,IAAMA,GAAK,MAAOA,IAAM+X,GAAc4e,GAAM,OAAO1sB,MAAMigB,UAAUxnB,IAAI0nB,KAAKpqB,GAAG,CAACiJ,EAAQhI,IAAc6W,GAAU7T,EAAK0yB,EAAK,CAAC1tB,EAAGhI,GAAI,CAAEiP,MAAOjP,EAAGsT,IAAKtT,MACjK,GAAIjB,GAAkB,iBAANA,GAAkB+X,GAAc4e,GAAM,CACzD,GAAI9lB,GAAQA,EAAKjD,MAAO,OAAOnJ,OAAOqqB,QAAQ9uB,GAAa0C,KAAI,CAACmC,EAAG5D,IAAM6W,GAAU7T,EAAK0yB,EAAK,CAAC9xB,EAAE,GAAI5D,EAAG4D,EAAE,IAAK,CAAEqL,MAAOjP,EAAGsT,IAAK1P,EAAE,OACjI,GAAIgM,GAAQA,EAAKie,QAAS,OAAOrqB,OAAOqqB,QAAQ9uB,GAAae,QAAO,CAAC2C,EAAGmB,EAAG5D,KACzE,MAAMgE,EAAI6S,GAAU7T,EAAK0yB,EAAK,CAAC9xB,EAAE,GAAI5D,EAAG4D,EAAE,IAAK,CAAEqL,MAAOjP,EAAGsT,IAAK1P,EAAE,KAClE,OAAU,OAANI,IACAgF,MAAMC,QAAQjF,IAAmB,IAAbA,EAAEpE,QAAgC,iBAAToE,EAAE,GAAiBvB,EAAE5C,KAAKmE,GACtEvB,EAAE5C,KAAK,CAAC+D,EAAE,GAAII,KAFIvB,CAGf,GACP,IACH,MAAMlD,EAAW,GAOjB,OANAiE,OAAOqqB,QAAQ9uB,GAAaia,SAAQ,CAAChR,EAAGhI,KACtC,MAAMgE,EAAI6S,GAAU7T,EAAK0yB,EAAK,CAAC1tB,EAAE,GAAIhI,EAAGgI,EAAE,IAAK,CAAEiH,MAAOjP,EAAGsT,IAAKtL,EAAE,KAClE,GAAIgB,MAAMC,QAAQjF,IAAmB,IAAbA,EAAEpE,QAAgC,iBAAToE,EAAE,GAAiBzE,EAAIyE,EAAE,IAAMA,EAAE,OAC7E,IAAS,MAALA,EAAW,OACfzE,EAAIyI,EAAE,IAAMhE,CAAC,KAEbzE,KAGV,CACDwT,KAAM,YACNR,MAAO,CAAC,SACRpS,MAAM+0B,EAAe7hB,EAAY3G,EAAqBkD,EAAM5M,GAC1D,IAAK0J,EAAK,GAAI,MAAO,GACrB,MAAMmrB,EAAOjoB,GAAQA,EAAKioB,KAC1B,OAAOxkB,EAAIvT,QAAO,CAAC2C,EAAG9C,EAAGK,IAAM43B,GAAWn1B,EAAGoU,GAAU7T,EAAK0J,EAAK,GAAI,CAAC/M,EAAGK,GAAI,CAAEiP,MAAOjP,EAAGqZ,IAAK5W,IAAM9C,EAAGk4B,IAAO,MAE/G,CACD9kB,KAAM,YACNR,MAAO,CAAC,UACRpS,MAAK,CAAC+0B,EAAe7hB,EAAY3G,EAAqBsoB,EAAOhyB,IACtD0J,EAAK,GACH2G,EAAIvT,QAAO,CAAC2C,EAAG9C,EAAGK,IAAM6W,GAAU7T,EAAK0J,EAAK,GAAI,CAACjK,EAAG9C,EAAGK,KAAKyW,GAAUzT,EAAK0J,EAAK,KADlE2G,GAGtB,CACDN,KAAM,YACNR,MAAO,CAAC,SAAU,cAClBpS,MAAM9B,EAAcgV,EAAY3G,EAAqBsoB,EAAOhyB,GAC1D,MAAM81B,EAAO,GACPv5B,EAAM,GACZ,IAAK,MAAMyI,KAAKqL,EAAK,CACnB,MAAMjP,EAAIsI,EAAK,GAAKmK,GAAU7T,EAAK0J,EAAK,GAAI,CAAC1E,IAAMA,GAC7C8wB,EAAK93B,QAAQoD,KACjB00B,EAAKj5B,KAAKuE,GACV7E,EAAIM,KAAKmI,IAGb,MAAgB,WAAT3J,EAAoBkB,EAAMu5B,IAElC,CACD/lB,KAAM,YACNR,MAAO,CAAC,QACRpS,MAAK,CAAC+0B,EAAe7hB,EAAY3G,EAAqBsoB,EAAOhyB,KACvD8T,GAAcpK,EAAK,MACrB2G,EAAMA,EAAI5R,KAAIuG,GAAK6O,GAAU7T,EAAK0J,EAAK,GAAI,CAAC1E,MAC5C0E,EAAOA,EAAKlO,MAAM,IAEhBkO,EAAK9M,OAAS,GAAKyT,EAAIzT,OAAS,EAAU,CAACyT,EAAI7U,MAAM,GAAI,GAAGgD,KAAKiV,GAAUzT,EAAK0J,EAAK,KAAM2G,EAAIA,EAAIzT,OAAS,IAAI4B,KAAKiV,GAAUzT,EAAK0J,EAAK,KACpIA,EAAK9M,OAAS,GAAoB,IAAfyT,EAAIzT,OAAqByT,EAAI7R,KAAKiV,GAAUzT,EAAK0J,EAAK,KAC3E2G,EAAI7R,KAAKiV,GAAUzT,EAAK0J,EAAK,OAErC,CACDqG,KAAM,YACNR,MAAO,CAAC,QACRpS,MAAM+0B,EAAe7hB,EAAY3G,EAAqBsoB,EAAOhyB,GAC3D,GAAK0J,EAAK,GAAV,CACK,GAAIoK,GAAcpK,EAAK,IAAK,OAAO2G,EAAIgE,MAAK,CAACrP,EAAGhI,IAAM6W,GAAU7T,EAAK0J,EAAK,GAAI,CAAC1E,EAAGhI,GAAI,CAAEiP,MAAOjP,EAAGsT,IAAKtT,MACvG,IAAI8W,GAAcpK,EAAK,IAOrB,CACL,MAAM3N,EAAI0X,GAAUzT,EAAK0J,EAAK,IAC9B,OAAO2G,EAAIgE,MAAKrP,GAAKA,GAAKjJ,IATK,CAC/B,MAAMA,EAAI0X,GAAUzT,EAAK0J,EAAK,IAC9B,GAAI1D,MAAMC,QAAQlK,GAAI,OAAOA,EAAEsY,MAAK,CAACrP,EAAGhI,IAAM6W,GAAU7T,EAAK0J,EAAK,GAAI,CAAC1E,EAAGhI,GAAI,CAAEiP,MAAOjP,EAAGsT,IAAKtT,MAC1F,GAAiB,iBAANjB,GAAkBA,EAAG,CACnC,MAAMiJ,EAAIxE,OAAOqqB,QAAQ9uB,GAAGsY,MAAK,CAACrP,EAAGhI,IAAM6W,GAAU7T,EAAK0J,EAAK,GAAI,CAAC1E,EAAE,GAAIhI,EAAGgI,EAAE,IAAK,CAAEiH,MAAOjP,EAAGsT,IAAKtL,EAAE,OACvG,GAAIA,EAAG,OAAOA,EAAE,QAOrB,CACD+K,KAAM,YACNR,MAAO,CAAC,SACRpS,MAAM+0B,EAAe6D,EAAarsB,EAAqBkD,EAAM5M,GAC3D,MAAMjD,EAAO2M,EAAK9M,OAAS,EAC3B,GAAIG,EAAO,EAAG,OACd,MAAMJ,EAAIgX,GAAO3T,EAAK,CAAEgT,OAAQpG,GAAQA,EAAKiD,UAAW7P,EAAIgT,QAAe,GAAIe,MAAO/T,EAAIgT,SAC1F,IAAK,IAAIhW,EAAI,EAAGA,EAAID,EAAMC,IAAKyW,GAAU9W,EAAG+M,EAAK1M,IACjD,MAAMT,EAAMkX,GAAU9W,EAAG+M,EAAK3M,IAE9B,OADI6P,GAAQA,EAAKiD,WAAU7P,EAAIgT,OAASrW,EAAEqW,QACnCzW,GAETuN,OAAO,IAkDTiN,GAAe,UAAU,SAASzZ,GAAIynB,EAAK3O,EAAOmW,EAAMrH,GAAMtY,eAC5D,gBPptCqB7Q,EAAWyI,EAAaugB,EAAc,EAAG3O,EAAgB,IAAKmW,EAAe,IAAKvH,EAAiC,QACxI,OAAS,MAALjpB,GAAa+oB,GAAQxJ,KAAKvf,GACvBigB,OAAOjgB,QACQR,IAARiJ,EAAoBA,EAAMzI,EADf,GAAGwwB,IAAOlM,GAAOtkB,EAAGgpB,EAAK3O,EAAO4O,UAGxCzpB,IAARiJ,EAAoBA,EAAMzI,CAErC,CO6sCSi6B,CAAO14B,OAAG/B,YAAWwpB,QAAAA,EAAOnY,eAAAA,EAAMmY,mBAAOnO,KAAKK,SAAS8N,cAAK3O,QAAAA,EAASxJ,eAAAA,EAAMwJ,qBAASQ,KAAKK,SAASb,gBAAOmW,QAAAA,EAAQ3f,eAAAA,EAAM2f,oBAAQ3V,KAAKK,SAASsV,eAAMrH,QAAAA,EAAOtY,eAAAA,EAAMsY,mBAAOtO,KAAKK,SAASiO,IAC9L,GAAG,CAAEH,IAAK,EAAG3O,MAAO,IAAKmW,KAAM,IAAKrH,IAAK,SAEzCnO,GAAe,QAAQ,SAASzZ,GAAI8P,GAAMR,SACxC,OAAO6nB,GAAQn3B,YAAG8P,QAAAA,EAAOR,eAAAA,EAAMoK,sBAAUJ,KAAKK,SAASD,OACzD,GAAG,CAAEA,OAAQ,eAEbD,GAAe,QAAQ,SAASzZ,GAAI8P,GAAMR,SACxC,OAAO6nB,GAAQn3B,YAAG8P,QAAAA,EAAOR,eAAAA,EAAMoK,sBAAUJ,KAAKK,SAASD,OACzD,GAAG,CAAEA,OAAQ,aAEbD,GAAe,aAAa,SAASzZ,GAAI8P,GAAMR,SAC7C,OAAO6nB,GAAQn3B,YAAG8P,QAAAA,EAAOR,eAAAA,EAAMoK,sBAAUJ,KAAKK,SAASD,OACzD,GAAG,CAAEA,OAAQ,wBAEbD,GAAe,eAAe,SAASzZ,GAAI8P,GAAMR,SAC/C,OAAO6nB,GAAQn3B,YAAG8P,QAAAA,EAAOR,eAAAA,EAAMoK,sBAAUJ,KAAKK,SAASD,OACzD,GAAG,CAAEA,OAAQ,2BAEbD,GAAe,WAAWzZ,GACjBm3B,GAAQn3B,EAAG,4BAGpByZ,GAAe,CAAC,UAAW,QAAQ,SAASzZ,GAAI8Y,EAAO8O,GAAMtY,WAC3D,OAAOyT,GAAO/iB,EAAG,YAAG8Y,QAAAA,EAASxJ,eAAAA,EAAMwJ,qBAASQ,KAAKK,SAASb,gBAAO8O,QAAAA,EAAOtY,eAAAA,EAAMsY,mBAAOtO,KAAKK,SAASiO,IACrG,GAAG,CAAE9O,MAAO,IAAK8O,IAAK,SAEtBnO,GAAe,CAAC,SAAU,QAAQ,SAASzZ,GAAIynB,EAAK3O,EAAO8O,GAAMtY,aAC/D,OAAOyT,GAAO/iB,YAAGynB,QAAAA,EAAOnY,eAAAA,EAAMmY,mBAAOnO,KAAKK,SAASgf,cAAK7f,QAAAA,EAASxJ,eAAAA,EAAMwJ,qBAASQ,KAAKK,SAASb,gBAAO8O,QAAAA,EAAOtY,eAAAA,EAAMsY,mBAAOtO,KAAKK,SAASiO,IACzI,GAAG,CAAEH,IAAK,EAAG3O,MAAO,IAAK8O,IAAK,SAE9BnO,GAAe,WAAW,SAASzZ,GAAI8Y,GAAQxJ,SAC7C,OAAOwZ,GAAQ9oB,YAAG8Y,QAAAA,EAASxJ,eAAAA,EAAMwJ,qBAASQ,KAAKK,SAASb,MAC1D,GAAG,CAAEA,MAAO,MAEZW,GAAe,SAASzZ,IACtB,MP9uCiB,iBADGvB,EO+uCPuB,KP9uCcvB,EAAIA,EAAEmqB,YAIhB,KAFjBnqB,GADAA,EAAIA,GAAK,IACHkL,QAAQ,SAAU,KAElBrK,OAAqB,GAAGb,EAAEuH,OAAO,EAAG,MAAMvH,EAAEuH,OAAO,EAAG,KACtC,KAAbvH,EAAEa,OAAsB,IAAIb,EAAEuH,OAAO,EAAG,OAAOvH,EAAEuH,OAAO,EAAG,MAAMvH,EAAEuH,OAAO,EAAG,KAChE,KAAbvH,EAAEa,OAAsB,GAAGb,EAAE,MAAMA,EAAEuH,OAAO,EAAG,MAAMvH,EAAEuH,OAAO,EAAG,MAAMvH,EAAEuH,OAAO,EAAG,KAChFvH,MARQA,CO+uCL,IAGjBgb,GAAe,UAAUzZ,GAChBqc,GAAMrc,KAGf,CACE,MAAMyL,GAAQ,OACR4W,GAAK,eACLuW,GAAW,8BACXC,GAAgB,kBAChBC,GAAa,kBACbC,GAAY,aAClB,SAASC,GAAUv1B,GACjB,OAAOA,EAAEkG,QAAQivB,IAAU,CAACK,EAAI55B,IAAMA,EAAI,IAAIA,IAAM,KAAIsK,QAAQkvB,GAAe,IAAIlvB,QAAQmvB,IAAY,CAACG,EAAIC,EAAIC,IAAO,GAAGD,KAAMC,MAAMp3B,OAExI0X,GAAe,QAAQ,CAACzZ,EAAGo5B,KACzB,IAAIj1B,EAAM,GAAGnE,GAAK,KAAK+B,OACvB,IAAK,MAAMuT,KAAS8jB,EAClB,GAAc,UAAV9jB,GAA+B,OAAVA,EAAgBnR,EAAMA,EAAI0C,mBAC9C,GAAc,UAAVyO,GAA+B,SAAVA,EAAkBnR,EAAMA,EAAIyC,mBACrD,GAAc,UAAV0O,EAAmBnR,EAAM60B,GAAU70B,GAAKyC,cAAc+C,QAAQ8B,GAAO,UACzE,GAAc,UAAV6J,EAAmBnR,EAAM60B,GAAU70B,GAAKyC,cAAc+C,QAAQ8B,GAAO,UACzE,GAAc,WAAV6J,EAAoB,CAC3B,MAAM7R,EAAIu1B,GAAU70B,GACpBA,EAAMV,EAAE,GAAGoD,cAAgBpD,EAAEmD,cAAcZ,OAAO,GAAG2D,QAAQovB,IAAW,CAACE,EAAI55B,KAAOA,GAAK,IAAIwH,qBACxF,GAAc,UAAVyO,EAAmB,CAC5B,MAAM7R,EAAIu1B,GAAU70B,GACpBA,EAAMV,EAAE,GAAGmD,cAAgBnD,EAAEmD,cAAcZ,OAAO,GAAG2D,QAAQovB,IAAW,CAACE,EAAI55B,KAAOA,GAAK,IAAIwH,oBAC1E,WAAVyO,IACcnR,EAAnB,QAAQ6Z,KAAK7Z,GAAYA,EAAIpC,OAAO4H,QAAQ0Y,IAAIha,GAAKA,EAAExB,gBAChD1C,EAAIyC,cAAc7E,OAAO4H,QAAQ0Y,IAAIha,GAAKA,EAAExB,gBACvD1C,GAAOA,EAAI,IAAM,IAAI0C,cAAgB1C,EAAI6B,OAAO,IAGpD,OAAO7B,CAAG,kCV7sCyC,CACrDiO,OAAQ,CACNsL,MAAO,GACPjB,OAAQ,GACRsC,OAAQ,CAAC,IAAK,MAEhBsa,MAAO,CACL3b,MAAO,GACPjB,OAAQ,GACRsC,OAAQ,CAAC,IAAK,MAEhBua,QAAS,CACP5b,MAAO,GACPjB,OAAQ,IACRsC,OAAQ,CAAC,IAAK,MAEhBwa,GAAI,CACF7b,MAAO,UACPjB,OAAQ,SACRsC,OAAQ,CAAC,IAAK,wCA2NU5e,EAAsBQ,EAAsB0U,GACtE,IAAIsN,EAAOtN,EAAQ1U,EAAOA,QAAUA,EAAO5C,OAAS,CAAEyO,MAAO,IACzD7L,EAAOgiB,OAAMA,EAAO,CAAEnW,MAAOuJ,GAASM,GAAOlW,EAAS,CAAEqM,MAAOmW,EAAKnW,MAAO+I,QAAS,CAAE5U,OAAQgiB,KAAWhiB,EAAOgiB,QAChHhiB,EAAOoR,QAAUpR,EAAO2E,MAAQ3E,EAAOmY,MAAO3Y,EAAQkV,QAAQ1U,EAAO5C,MAAQ4C,EAAOA,QAAUoR,GAAO4Q,EAAMhiB,EAAOoR,OAAQpR,EAAO2E,KAAM3E,EAAOmY,MAAO3Y,GACpJA,EAAQkV,QAAQ1U,EAAO5C,MAAQ4C,EAAOA,QAAUsU,GAAU0N,EACjE,2MJwBE,OAAOzf,OAAOC,OAAO,GAAIyT,GAC3B,sFAkYqBzW,EAAkBgV,GACrC,MAAO,CACLnW,OAAQmB,EACR0T,KAAM1T,EAAQ0T,KACdsB,KAAMhV,EAAQgV,KAAO,GAAGhV,EAAQgV,QAAQA,IAASA,EACjD3I,MAAO0I,GAAQ/U,EAASgV,GAE5B,2PIrcoByH,EAAgBvH,EAAoBD,EAAgCzV,GACtF,MAAM+C,EAAM0S,GAAc,SAAUA,GAAcA,EAAWvB,OAASuB,EAAaA,EAAqB,IAAIa,GAAK/S,OAAOC,OAAO,GAAIyZ,EAAOzc,SAAU,CAAEiV,eAKtJ,GAHIwH,EAAOvH,SAASoN,GAAa/f,EAAKka,EAAOvH,QAASA,GACtD3S,EAAI0S,WAAalS,OAAOC,OAAO,GAAImf,GAAe1F,EAAQvH,GAAU3S,EAAI0S,YAEpEwH,EAAO4c,aAAc,CACvB,MAAMv6B,EAAM8W,GAASrT,EAAKka,EAAO4c,cAC7Bv6B,GAAsB,iBAARA,IAAkByD,EAAI8J,MAAQtJ,OAAOC,OAAOT,EAAI8J,MAAOvN,IAG3E,MAAoB,cAAhB2d,EAAOnK,KA0Bb,SAAsBmK,EAAmBzc,GACvC,MAAMQ,EAASR,EAAQ0T,KAAKwB,QAAQuH,EAAOjc,OAASic,EAAOjc,OAAUic,EAAOvH,QAAQ,GAAGtX,MAAQ6e,EAAOvH,QAAQ,GAAG1U,QAC3G8L,EAAS/D,MAAMC,QAAQhI,EAAO6L,OAClC7L,EAAO6L,MACiB,iBAAjB7L,EAAO6L,OAAsB,YAAa7L,EAAO6L,OAAS9D,MAAMC,QAAQhI,EAAO6L,MAAMuM,KAC1FpY,EAAO6L,MAAMuM,IACb,CAACpY,EAAO6L,OACZ,IAAI6G,EAASuJ,EAAOvJ,OAChBomB,EAAU7c,EAAO6c,UAEhBpmB,IAAWA,EAAO/T,QAAUmN,EAAOnN,UACtC+T,EAASnQ,OAAOiQ,KAAK1G,EAAO,IACvBgtB,GAAYA,EAAQn6B,SAAQm6B,EAAUv2B,OAAOiQ,KAAK1G,EAAO,IAAItL,KAAIiM,GAAK,IAAIA,EAAEzD,QAAQ,KAAM,cAGjG,IAAI1K,EAAM,GACV,GAAIw6B,EAAS,CACX,MAAM/2B,EAAM2T,GAAOlW,EAAS,CAAEiB,OAAQkV,KACtCrX,GAAOw6B,EAAQt4B,KAAI+J,GAAK,GAAG0R,EAAOwV,OAAS,KAAKrc,GAASrT,EAAKwI,KAAK0R,EAAOwV,OAAS,OAAMlxB,KAAK0b,EAAOuV,OAAS,MAAQvV,EAAOsV,QAAU,MAEzI,MAAMwH,EAAkB9c,EAAOwV,MAAQ,IAAI/I,OAAOzM,EAAOwV,MAAO,UAAOn0B,EACvE,IAAK,MAAMuO,KAASC,EAAQ,CAC1B,MAAMpN,EAAIgX,GAAOlW,EAAS,CAAEqM,UAC5BvN,GAAOoU,EAAOlS,KAAI2C,IAChB,IAAI2K,EAAM3K,EAAI,GAAGiS,GAAS1W,EAAGyE,KAAO,GAEpC,OADI41B,IAASjrB,EAAMA,EAAI9E,QAAQ+vB,EAAS9c,EAAOwV,MAAQxV,EAAOwV,QACvD,GAAGxV,EAAOwV,OAAS,KAAK3jB,IAAMmO,EAAOwV,OAAS,IAAI,IACxDlxB,KAAK0b,EAAOuV,OAAS,MAAQvV,EAAOsV,QAAU,MAEnD,OAAOjzB,CACT,CAxD0C06B,CAAa/c,EAAQla,GACpC,SAAhBka,EAAOnK,KA2KlB,SAAiBmK,EAAczc,EAAkBy5B,GAC/C,MAAMl3B,EAAqB,CAAEvC,UAASyc,SAAQN,OAAQ,GAAIQ,SAAU,CAAEiE,IAAK,GAAIzE,OAAQ,KACvF,IAIIoB,EAJAR,EAAO,GACPlS,EAAI,EACJoT,EAA0B,KAG9B,MAAMW,EAASnC,EAAOiB,MAAQjB,EAAOiB,KAAKkB,OAASC,GAAapC,EAAOiB,KAAMnb,EAAK,CAAE0B,EAAG,EAAG4G,EAAG,EAAGyU,WAAY/B,EAAOgC,KAAMhC,IAAW,CAAC,IAAK,IAAK,IAAK,KAEhJd,EAAOc,MAAOA,EAAQd,EAAOc,MACxBd,EAAOiB,OAAMH,EAA+B,aAAvBd,EAAOid,YAA6Bjd,EAAOiB,KAAKpB,OAASG,EAAOiB,KAAKH,OAG/FA,IAAOA,IAAUqB,EAAO,IAAM,IAAMA,EAAO,IAAM,IAErD,SAASxB,EAAOtS,EAAWiW,GAEzB,IAAIxd,EADJwZ,GAAQ,OAAO+D,GAAWve,EAAKwe,EAAM,CAACA,GAAO,GAAI,CAAC,2CAA0CxD,EAAQ,SAASA,QAAc,IAAM,IAAK,OAAO1S,QAAS,UAEtJ,IAAI8uB,EAAK,EACT,EAAG,CAED,GADAp2B,EAAIya,GAAalT,EAAGvI,EAAK,CAAE0B,EAAG,EAAG4G,EAAG8uB,EAAIra,WAAY/B,EAAOgC,KAAMhC,GAASU,GACzD,iBAAN1a,EAAgB,MAAM,IAAIT,MAAM,+CAEzCia,GAAQxZ,EAAE8Y,OACVsd,GAAMp2B,EAAE+Y,OAEN2B,EADE1a,EAAEkb,SACIlb,EAAEkb,SAEF,WAGK,OAAVR,GACTpT,GAAK8uB,EACL5c,GAAQ,WAGNN,EAAOmd,WAAWxc,EAAOX,EAAOmd,UAAW,aAC/C,IAAItb,EAAOzT,GAAK,EAChBA,EAAI,EACJ,IAAK,MAAMC,KAAK2R,EAAOgE,QAASrD,EAAOtS,EAAG,QACtCD,EAAIyT,IAAMA,EAAOzT,GACrBA,EAAI,EACA4R,EAAOod,SAASzc,EAAOX,EAAOod,QAAS,WACvChvB,EAAIyT,IAAMA,EAAOzT,GAErB,MAAO,mIAE8C0S,EAAQ,WAAWA,QAAc,eAAee,iDACpFf,EAAQ,UAAUA,SAAe,aAAae,kBAAqBM,EAAO,IAAM,QAAQA,EAAO,IAAM,QAAQA,EAAO,IAAM,QAAQA,EAAO,IAAM,uEAC1IN,6BAAgC7B,EAAOe,KAAOgE,GAAU/E,EAAOe,KAAMjb,GAAO,iJAKzEgb,EAAQ,QAAU,qFAAqFqB,EAAO,SAASA,EAAO,SAASA,EAAO,SAASA,EAAO,qEAElL7b,OAAOqqB,QAAQ7qB,EAAI4Z,QAAQnb,KAAI,EAAE84B,EAAIx7B,KAAOA,IAAGyC,KAAK,QAAQgC,OAAOqqB,QAAQ7qB,EAAIoa,SAASR,QAAQnb,KAAI,EAAEkb,EAAOD,KAAQ,IAAIA,OAAQC,QAAWnb,KAAK,oBAC5I04B,GAAUA,EAAOM,MAAQ,yDAAyDhd,gBAAmB0c,GAAUA,EAAOO,MAAQ,kBAC1I,CArO0CC,CAAQxd,EAAQla,EAAK/C,GAyD/D,SAAiBid,EAAczc,EAAkBy5B,qBAC/C,IAAI/b,EAAwC,aAAvBjB,EAAOid,YAA6B,CAAEnc,MAAOd,EAAOiB,KAAKpB,OAAQA,OAAQG,EAAOiB,KAAKH,MAAOqB,OAAQ,CAACnC,EAAOiB,KAAKkB,OAAO,GAAInC,EAAOiB,KAAKkB,OAAO,KAAQnC,EAAOiB,KAEnL,MAAMnb,EAAqB,CAAEvC,UAASyc,SAAQN,OAAQ,GAAIQ,SAAU,CAAEiE,IAAK,GAAIzE,OAAQ,KACjFyC,EAASC,GAAapC,EAAQla,EAAK,CAAE0B,EAAG,EAAG4G,EAAG,IACpD7K,EAAQoV,QAAUpV,EAAQoV,SAAW,GACrCpV,EAAQoV,QAAQ8kB,KAAO,EACvBl6B,EAAQoV,QAAQ+kB,MAAQ,EAExB,MAAMA,EAAkB,CAAC,IACzB,IAAID,EAAO,EACX,MAAME,EAAS1c,EAAKH,MAAQ,EAAIG,EAAKkB,OAAO,GACtCyb,EAAS3c,EAAKpB,OAAS,EAAIoB,EAAKkB,OAAO,GAC7C,IAAIJ,EAAa6b,EAASzb,EAAO,GAAKA,EAAO,GAC7C,MAAM0b,EAAQ9b,EACd,IAAIF,EAAOE,EACP3T,EAAI,EACR,MAAMyU,EAAa8a,EAASxb,EAAO,GAAKA,EAAO,GAC/C,IAAIX,EAA0B,KAE1Bsc,EAAW,EACf,GAAI9d,EAAOyJ,OAAQ,CAEjBqU,EADUvc,GAAavB,EAAOyJ,OAAQ3jB,EAAK,CAAE0B,EAAG,EAAG4G,EAAG,EAAGyU,aAAYd,aAAYe,KAAMD,EAAYhB,SACtFhC,kBACRG,EAAOyJ,6BAAQxiB,SAClB8a,GAAc+b,EACdjc,GAAQic,EACR1vB,GAAK0vB,GAIT,IAAIC,EAAW,EACf,GAAI/d,EAAOoK,OAAQ,CAEjB2T,EADUxc,GAAavB,EAAOoK,OAAQtkB,EAAK,CAAE0B,EAAG,EAAG4G,EAAG,EAAGyU,aAAYd,aAAYe,KAAMD,EAAYhB,SACtFhC,kBACRG,EAAOoK,6BAAQnjB,SAClB8a,GAAcgc,EACdlc,GAAQkc,GAIZ,IAAK,MAAM1vB,KAAK2R,EAAOgE,QAAS,CAC9B,IAAIld,EACJ,GACEA,EAAIya,GAAalT,EAAGvI,EAAK,CAAE0B,EAAG,EAAG4G,IAAGyU,aAAYd,aAAYe,KAAMD,EAAYhB,QAAQL,GACtFkc,EAAMD,IAAS32B,EAAE8Y,OACb9Y,EAAEkb,UACJyb,IACAC,EAAMD,GAAQ,GACdrvB,aAAI4R,EAAOyJ,6BAAQxiB,OAAQ,EAAI62B,EAC/B/b,EAAa6b,cAAU5d,EAAOyJ,6BAAQxiB,OAAQ,EAAI62B,eAAa9d,EAAOoK,6BAAQnjB,OAAQ,EAAI82B,GAAY5b,EAAO,GAAKA,EAAO,GACzHX,EAAQ1a,EAAEkb,WAEV5T,GAAKtH,EAAE+Y,OACPkC,GAAcjb,EAAE+Y,OAChB2B,EAAQ,YAEO,OAAVA,GAGXje,EAAQoV,QAAQ+kB,MAAQA,EAAMh7B,OAC9B,MAAMs7B,aAAYhe,EAAOoK,6BAAQnjB,OAC/B,CAAEO,EAAG,EAAG4G,EAAGwvB,EAASG,EAAUjb,KAAM6a,EAAQ9b,KAAM+b,GAClD,CAAEp2B,EAAG,EAAI2a,EAAO,GAAI/T,EAAGwvB,EAASzb,EAAO,GAAK4b,EAAUjb,KAAM6a,EAASxb,EAAO,GAAKA,EAAO,GAAIN,KAAM+b,EAASzb,EAAO,GAAKA,EAAO,IAC1H8b,aAAYje,EAAOyJ,6BAAQxiB,OAC/B,CAAEO,EAAG,EAAG4G,EAAG,EAAG0U,KAAM6a,EAAQ9b,KAAM+b,GAClC,CAAEp2B,EAAG,EAAI2a,EAAO,GAAI/T,EAAG+T,EAAO,GAAIW,KAAM6a,EAASxb,EAAO,GAAKA,EAAO,GAAIN,KAAM+b,EAASzb,EAAO,GAAKA,EAAO,IA2B5G,OAzBA5e,EAAQoV,QAAQsI,KAAO,CAAEzZ,EAAGqb,EAAYzU,EAAGyvB,GAC3CH,EAAM5hB,SAAQ,CAACpV,EAAG5D,KAChB,IAAIM,EAAI,2BAA2BN,UAAUuhB,GAAWve,EAAK,CAAC,OAAQ,KAAKhD,KAAM,CAAC,GAAI,IAAK,GAAI,UAE/F,GADAS,EAAQoV,QAAQ8kB,KAAO36B,EAAI,EACvBkd,EAAOmd,UAAW,CAEpB/5B,GADUme,GAAavB,EAAOmd,UAAWr3B,EAAK,CAAE0B,EAAG,EAAG4G,EAAG,EAAG0U,KAAM6a,EAAQ9a,WAAY8a,EAAQ9b,KAAM+b,EAAQ7b,WAAY6b,IACjHhe,OAAS,KAElB,GAAII,EAAOyJ,OAAQ,CAEjBrmB,GADUme,GAAavB,EAAOyJ,OAAQ3jB,EAAKm4B,GACpCre,OAAS,KAGlB,GADAxc,GAAK,2BAA2BsD,UAC5BsZ,EAAOoK,OAAQ,CAEjBhnB,GADUme,GAAavB,EAAOoK,OAAQtkB,EAAKk4B,GACpCpe,OAAS,KAElB,GAAII,EAAOod,QAAS,CAElBh6B,GADUme,GAAavB,EAAOod,QAASt3B,EAAK,CAAE0B,EAAG,EAAG4G,EAAG,EAAG0U,KAAM6a,EAAQ9a,WAAY8a,EAAQ9b,KAAM+b,EAAQ7b,WAAY6b,IAC/Ghe,OAAS,KAElBxc,GAAK,iBACLs6B,EAAM56B,GAAKM,CAAC,IAGP,sFACYu6B,iBAAsBC,qDAA0D3c,EAAKkB,OAAO,eAAelB,EAAKkB,OAAO,UAAUnC,EAAOe,KAAOgE,GAAU/E,EAAOe,KAAMjb,GAAO,sDACnJ63B,EAASxb,EAAO,GAAKA,EAAO,kBAAkByb,EAASzb,EAAO,GAAKA,EAAO,gBAAgBA,EAAO,eAAeA,EAAO,qCAC5IlB,EAAKH,qBAAqBG,EAAKpB,gGAG/BoB,EAAKH,MAAQ,uVAKDG,EAAO,SAASA,EAAKH,YAAc,qDAAqD4c,EAAMh7B,OAASue,EAAKpB,6IAE1I6d,EAAMn5B,KAAI,CAAC25B,EAAIp7B,IAAM,MAAMA,YAAYA,EAAIme,EAAKpB,iBAAgBvb,KAAK,wCAG/D2c,EAAKH,WAAWG,EAAKpB,mBAC5BvZ,OAAOqqB,QAAQ7qB,EAAI4Z,QAAQnb,KAAI,EAAE84B,EAAIx7B,KAAOA,IAAGyC,KAAK,QAAQgC,OAAOqqB,QAAQ7qB,EAAIoa,SAASR,QAAQnb,KAAI,EAAEkb,EAAOD,KAAQ,IAAIA,OAAQC,QAAWnb,KAAK,oBAC5I04B,GAAUA,EAAOM,MAAQ,oBAAoBI,EAAM96B,QAAO,CAAC2C,EAAG9C,IAAM8C,EAAI9C,GAAG,MAAMu6B,GAAUA,EAAOO,MAAQ,kBACtH,CAxKcY,CAAQne,EAAQla,EAAK/C,EACnC,mJJodiC5B,UACxBwb,GAAQxb,EACjB,mCA/asC2Z,GACpC,IAAK,MAAMpR,KAAMoR,EACf,IAAK,MAAM3Z,KAAQuI,EAAG2L,aAAc2E,GAAM7Y,EAE9C"} \ No newline at end of file +{"version":3,"file":"raport.umd.min.js","sources":["../node_modules/sprunge/src/base.ts","../node_modules/sprunge/src/search.ts","../node_modules/sprunge/src/parsers/char.ts","../node_modules/sprunge/src/parsers/str.ts","../node_modules/sprunge/src/parsers/base.ts","../node_modules/sprunge/src/parsers/rep.ts","../node_modules/sprunge/src/parsers/seq.ts","../node_modules/sprunge/src/json.ts","../src/lib/data/parse.ts","../src/lib/data/parse/template.ts","../src/lib/data/index.ts","../src/lib/render/error.ts","../src/lib/render/index.ts","../src/lib/render/style.ts","../src/lib/report.ts","../src/lib/data/parse/style.ts","../src/lib/render/builtins.ts","../src/lib/data/format.ts","../src/lib/data/parse/stringify.ts","../src/lib/data/parse/schema.ts","../src/lib/data/parse/range.ts","../src/lib/data/diff.ts","../src/lib/data/schema.ts","../src/lib/data/csv.ts","../src/lib/data/builtins.ts"],"sourcesContent":[{"errno":-2,"code":"ENOENT","syscall":"open","path":"/home/chris/dev/ts/raport/node_modules/sprunge/src/base.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/home/chris/dev/ts/raport/node_modules/sprunge/src/search.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/home/chris/dev/ts/raport/node_modules/sprunge/src/parsers/char.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/home/chris/dev/ts/raport/node_modules/sprunge/src/parsers/str.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/home/chris/dev/ts/raport/node_modules/sprunge/src/parsers/base.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/home/chris/dev/ts/raport/node_modules/sprunge/src/parsers/rep.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/home/chris/dev/ts/raport/node_modules/sprunge/src/parsers/seq.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/home/chris/dev/ts/raport/node_modules/sprunge/src/json.ts"},null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["Fail","detailedFail","_cause","_latestCause","getCause","getCauseCopy","name","suggestCauseName","undefined","slice","fail","pos","message","cause","causes","isNodeName","v","openNode","start","end","children","closeNode","node","parent","res","_compact","result","primary","c","length","push","reduce","last","i","extra","l","apply","getLineNum","input","n","lastIndexOf","getParseError","context","lines","first","t","unshift","substring","markerOffset","indexOf","source","marker","len","column","line","position","marked","join","map","parser","findLatestCause","startSpace","shared","error","mps","oerror","det","detailed","consume","consumeAll","trim","exec","seq","skip","a","d","tree","compact","unwrap","parse","undefinedOnError","ctx","contextLines","err","getLatestCause","latest","throw","ex","Error","Object","assign","uninit","_s","p","lazy","init","s","r","concat","strings","outer","f","max","cs","contains0","contains1","str","x","contains2","contains3","contains4","contains5","contains6","contains7","contains8","contains9","contains10","containsFor","containsBinary","mid","getSearch","sorted","charList","chars","split","sort","seekWhileChar","contains","read","read1","JSON","stringify","count","allowed","search","substr","readTo","stop","skipped","seekUntilChar","read1To","op","resin","j","nlen","istr","copy","toLowerCase","toUpperCase","idx","opt","ps","not","alt","parsers","nm","lps","fails","overrideCauseName","verify","fn","e","cur","rep","empty","rep1","repsep","sep","trail","ps1","ps2","rr","m","rep1sep","bracket","content","right","Array","isArray","ends","ps3","r1","r2","r3","addCause","check","_hex","digits","identStart","hex","escmap","b","underscores","JNum","replace","JStringEscape","disallowed","notchars","JStringUnicode","String","fromCharCode","parseInt","JStringHex","JString","JBool","JNull","JIdentifier","ws","JArray","JObject","JValue","JKeyPair","pairs","pair","timespans","y","w","h","mm","isTimespanMS","ms","timeSpanToNumber","Math","floor","space","endSym","endRef","_comment","comment","prop","rws","skip1","keywords","ident","sexprop","args","array","block","object","value","values","application","pathesc","char","pathident","parts","dotpath","part","bracketpath","keypath","prefix","k","u","localpath","parsePath","makeParser","parseLetPath","illegalRefs","ref","includes","stringInterp","timespan","span","timezone","timeexact","parseTime","tm","z","dateend","daterel","o","tz","val","setIndex","index","dateexact","time","date","typelit","schema","parseDate","string","literal","Date","sexp","opts","bracket_op","binop","if_op","case_op","opName","call_op","operand","fmt","fmt_op","postfix_path","unop","arg","leftassoc","left","binop_e","arg1","more","pop","reverse","rightassoc","binop_md","binop_as","binop_cmp","binop_eq","binop_and","binop_or","replaceCase","found","cond1","block1","elifs","el","cond","val1","hit","miss","case_branch","branches","operation","objectOp","filter","namedArg","names","plain","obj","letter","setter","parseBlock","implicit","parseExpr","type","conditions","typedef","typedefs","defs","desc","arr","key","required","rest","keys","rests","fields","tuple","types","maybe_union","list","checks","union_array","union","root","txtEsc","text","np","andNot","txts","tag_value","tag_end","branch","min_one","else_tag","branch_tag","each_op","tag","apply_first","cond_branches","with_op","unless_op","interpolator","hasTag","toDataSet","safeGet","path","parameters","sources","which","special","pipe","lctx","locals","evalValue","safeSet","islet","next","evaluate","isValueOrExpr","Root","isContext","evalParse","template","extend","parseTemplate","evalApply","isApplication","fork","expr","exprs","opMap","local","isOperation","find","isReference","hasPipeRef","flts","checkArg","shift","src","applyOperator","isDateRel","isTimespan","registerOperator","ops","getOperator","_defaultGetValue","sorts","getValue","sortArr","by","dirs","lower","dir","cmp","ds","groups","_ds","_context","flt","forEach","row","grouped","level","group","all","cache","order","g","getKeypath","isValue","constructor","this","formats","virtualFormats","registerFormat","format","defaults","dateRelToRange","rel","from","to","setUTCFullYear","getFullYear","getMonth","getDate","setUTCHours","dateAndTimespan","setUTCDate","getUTCDate","getUTCDay","setDate","setUTCMonth","getUTCMonth","getUTCFullYear","UTC","setUTCMilliseconds","getUTCMilliseconds","setUTCMinutes","getUTCMinutes","offset","getTimezoneOffset","dateRelToDate","range","dateRelToExactRange","dt","setMinutes","getMinutes","getHours","getSeconds","getMilliseconds","setFullYear","dd","setMonth","setHours","setSeconds","setMilliseconds","addStyle","id","style","styles","placement","output","height","isComputed","maybeComputed","report","extendContext","styleMap","htmlChars","htmlReplace","escapeHTML","html","renderers","registerRenderer","renderer","options","render","avgs","measure","width","font","family","size","avg","metric","test","word","wlen","renderWidget","state","hide","widget","container","getHeightWithMargin","maxY","isNaN","availableY","continue","cancel","extraHeight","margin","expandMargin","border","expandBorder","getWidthWithMargin","layouts","registerLayout","layout","getWidth","pct","availableX","maxX","percent","toFixed","box","getHeight","computed","linesize","maxFontSize","NaN","maxYOffset","points","maxXOffset","top","bottom","expandMacro","macro","props","properties","widgets","mapStyle","mapped","ids","nextStyleId","styleClass","cls","inline","inlineStyle","classPrefix","classifyStyles","offsetX","offsetY","computedHeight","lineSize","styleFont","styleBorder","styleExtra","bg","radius","color","align","weight","pre","clamp","br","initParameters","defaultParams","inits","applySources","srcs","base","zwsp","sp","integer","number","remOrPercent","places","valign","pad","fg","rotate","turn","origin","move","trash","bools","tags","blocks","aliases","parsed","stuff","open","bool","blockstack","drop","frame","getStyle","process","flexAlign","middle","borderStyle","dot","dash","bs","underline","overline","strike","sup","sub","italic","bold","vs","transforms","vv","sval","styled","styleText","wctx","extendData","cw","lp","child","attempt","renderWidgets","bridge","commit","groupNo","newPage","header","hctx","current","groupHeaders","headerPerPage","rctx","elide","usedX","usedY","initY","alternate","footer","fctx","groupEnds","fit","url","styleImage","decRE","intRE","isNumRE","dec","negative","parseFloat","neg","dateRE","months","days","dateDefault","Y","M","D","DD","H","MM","S","SS","Z","getDay","prototype","toString","call","ordinal","min","bit","abs","num","setDefault","checkIdent","RegExp","_noSym","_key","_sexprops","_listcommas","_noarr","_noobj","_tpl","_tplmode","_noindent","_listwrap","_html","_nochecks","_level","_first","deepops","binops","unops","precedence","in","like","ilike","gt","gte","lt","lte","is","and","or","noSymbols","SExprOps","listCommas","noArrayLiterals","noObjectLiterals","noIndent","listWrap","htmlSafe","noChecks","_stringify","stringifyRootBlock","padl","stringed","stringifyTemplateBlock","caseRE","stringifyTemplateCase","fill","wrapArgs","isBlock","long","cindent","outdentAll","trimLeft","trimRight","stringifyIf","wsplit","stringifyCase","findNestedStringOpL","flattenNestedBinopsL","_f","stringifyBinopArg","amount","indentAll","stringifyOp","arrow","stringifySchema","stringifyDate","entries","stringifyLiteral","rem","spanKeys","spanExact","stringifyTimespan","agg","offsetToTimezone","mn","leadingSpace","allLeadingSpace","close","keyMod","wrapSetting","wrap","ts","strs","fin","def","l2","nl","lopen","lclose","parseSchema","num_range","sign_range","sign","Infinity","looseEqual","v1","v2","strictEqual","fullnum","diff","equal","_diff","identity","checkIdentity","v1ids","v2ids","vv1","vv2","_v1","_v2","ks","deepEqual","_deepEqual","labelDiff","label","out","omit","_labelDiff","nums","lbl","pp","isDate","isSchema","what","inspect","flat","getType","getField","validate","mode","_validate","_schema","errs","checkType","actual","unparseSchema","expected","tmp","legit","ok","DEFAULTS","record","field","quote","csv","quotedField","_parse","records","quotes","detect","data","sample","fs","rs","qs","simple","spanMap","roundDefaults","method","hasNum","isNum","equals","overlap","threshhold","similar","similarity","fudges","aa","bb","i1","i2","oa","ob","f1","f2","sim","alen","blen","aolen","bolen","matchy","_opts","eq","_name","target","pattern","patterns","free","re","_parseRange","step","app","namedArgs","tmp1","tmp2","datesDiff","unit","fraction","us","dist","nextDiv","round","units","raport","tpl","json","strict","_","addTimespan","match","pow","precision","amt","place","point","ceil","zeroes","big","random","triml","trimr","escapeRe","fmtDate","_ranges","parseRange","_indexPair","many","kk","where","ct","flags","proto","rdt","vfmt","csvDetect","csvParse","_i","_total","ast","case","body","lastKey","_last","seen","_arr","dollar","dev","alphaNum","alphaNumSpace","camelBreak","spaceChar","normalize","_m","c1","c2","whiches","legal","tabloid","a4","extraContext","headers","unquote","runDelimited","extras","orientation","yy","watermark","overlay","_k","head","foot","runFlow","page","pages","printX","printY","pageY","headSize","footSize","footPlace","headPlace","_p","runPage"],"mappings":"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"} \ No newline at end of file